(cherry picked from commit b3579305268bffc44a8041c5b75f15f01ebb9ce4) (cherry picked from commit 19db965c2776e86095ecd31d7e582aca07d1e789)