(cherry picked from commit 8f55dc4d12184c673c32aeaf2948aaa787bd556d)
(cherry picked from commit 129412ec913d5312f0d351a7faecc185cc348427)