(cherry picked from commit 0bd139b061c735d79d6e79bf1d2adcdf39b1eb81)
(cherry picked from commit 9719c1a3b04f77f4f9070ce7bc66cec9732dc153)