(cherry picked from commit d169d49830bceccce1033c959bdb6b3951f9c1a6)
(cherry picked from commit 45c7edfafbe30c58663c0643a179895021fab490)