(cherry picked from commit 16699d68fa52d5a8dd450c68c64220def1d6a142)
(cherry picked from commit 35fb38a1ed860cfa65ee57ec6d1e5e715fb1b7a7)