(cherry picked from commit 5f0b238a118f3992bd149d8c02e6a1376dee96d7) (cherry picked from commit 6681e7238b15835317365fab10fc50505a7f04ed)