(cherry picked from commit 89215d574a9069b160fd0c515d01e84fd1398a2a)
(cherry picked from commit 3037fb149ec6d6a9a898b0e5625cbf3ad2709be4)