(cherry picked from commit b6ce3d2c) (cherry picked from commit ed3f97f9) (cherry picked from commit 77dddecf) (cherry picked from commit fec0bb6d)