(cherry picked from commit bfe4b3009fe917e126cfae0f5c4d8c812b536a81) (cherry picked from commit 508f8f480287ac81003c68e7e8a9f2d6a719f1c0)