(cherry picked from commit 1769b12a773dc6c83f13663a77da33fa78878730) (cherry picked from commit 86fcb8a66ccc0a0cd0c41073bb3a49315033aed5)
(cherry picked from commit 1769b12a773dc6c83f13663a77da33fa78878730) (cherry picked from commit 86fcb8a66ccc0a0cd0c41073bb3a49315033aed5)