(cherry picked from commit 77ba5add0d9cb10d45ca9122bca48baa7c8fb3b8) (cherry picked from commit 6874a142d8a9be25801636db7ade3d3216fd6df8)
(cherry picked from commit 77ba5add0d9cb10d45ca9122bca48baa7c8fb3b8) (cherry picked from commit 6874a142d8a9be25801636db7ade3d3216fd6df8)