(cherry picked from commit 52b77577c44538c26fb9d0144f0b280be3593a38) (cherry picked from commit 3905435d3d592b980425169bf1355d3d2b5c616f)