(cherry picked from commit 0b043daa341acd446c4ea536498ac2f52c82329a)
(cherry picked from commit 41741dc3366d1af5f0da541d723860cb96eb27db)