(cherry picked from commit 86a4a68acac178bf6f8f43cf6b2a4d41355b9047) (cherry picked from commit b7c86f0e0c5b3074449e32ec6053d7d3e026b1e6)