(cherry picked from commit 1e472a6c) (cherry picked from commit 82fcf663) (cherry picked from commit ae2ff72e)