(cherry picked from commit 352fe1b7bfe5b0320c2de0a99fee3155b5f1b55f)
(cherry picked from commit c7b5bc59e5baa8ca601aa53b7891bae9026be9cd)