(cherry picked from commit 6647721d3893b38bd565620104c8bd9346b0b143)
(cherry picked from commit cbff08286333b084ca6a375cec7c3f917b512bb6)