(cherry picked from commit 35597715018e598bf24f0b708cbd32b039533a99)
(cherry picked from commit 1be0e114b32eefe14f94837ed3cf78aadc14ca9b)