(cherry picked from commit 4d8a7590e11044963093a98095948d9820f34efb)
(cherry picked from commit 5f9eb6b9c78239ffb586eea98feaf3e6c30981f9)