(cherry picked from commit f99199c2fcf1767bfa2287c220ca341a555ae191)
(cherry picked from commit 16699d68fa52d5a8dd450c68c64220def1d6a142)