(cherry picked from commit 539700890f32d4bc305809f7f89f6b0591d9f2e4)
(cherry picked from commit b1814de140f6346c00ffc2ff0d3006dd3475578c)