(cherry picked from commit e1a72779d4f29455a83837495317e74ec9608a84)
(cherry picked from commit 3802fee661b59cb43f07b3b44a8f8e94a500d111)