(cherry picked from commit d1e683924ee022b98b64df66902341b6fe40b80c)
(cherry picked from commit 222387cff33f323c0bcf789ccca08e98bdb22b70)