(cherry picked from commit b77f5dfef89e28a53bcc711c4009c32ec9c4f7a0)
(cherry picked from commit 9e68a6a7b7bea127f5b3d0e6f8d137495178e194)