(cherry picked from commit efce008f27963dc69bcd7812a88ae037893e5717)
(cherry picked from commit 6d2f7de68beedf582d2125c5c3f675593eda027b)