(cherry picked from commit 80182809aed76fb9522d25db9bf5e445395dd573) (cherry picked from commit ffe01e05cdfe0c1484de0f2116014a63cdc51364)