(cherry picked from commit d9079439) (cherry picked from commit d1a19f83) (cherry picked from commit 1bb6acaf) (cherry picked from commit 01980d45)