(cherry picked from commit b4a52513915d5a39ac055fc38cafed70098eb698)
(cherry picked from commit 0ef327bbee79c01a69ba59258acc6ce3a48bc288)