(cherry picked from commit ed10b63fa0c161cac7e0a2084e53785ab1798208)
(cherry picked from commit 8fbbe21d814ccdeda7727b5fb83f99ea81f5b225)