(cherry picked from commit a7de6d440d04118cb6bbf86fac0f88ff8d4e1cb1)
(cherry picked from commit 4726a80fc60608ea0cfa4fd335d47acaa5d59a92)