(cherry picked from commit 8626bccc4c7258a3676ef6174de3262a8f88397a)
(cherry picked from commit 90d6f4da9f2077994751580b81d9bed74a43fa66)