(cherry picked from commit 1fdfca4d) (cherry picked from commit 18babc7b) (cherry picked from commit c3dfbd10)