(cherry picked from commit 6e5082fcc1ce7d3315a36bb2df270f9afc0e0484)
(cherry picked from commit b258171e633566d5e402b98b02598754fca4e27a)