(cherry picked from commit 7082a3925058a21ae3968274d533a475f2f40bf1)
(cherry picked from commit 1231d1bd6ea4a1f3c85bed4fe7789de5799aa60d)