(cherry picked from commit 6b56f05b9ea3ee45abd5d00b14fab93a353b1332) (cherry picked from commit 89f484e4aa0a8db779a02999109dae212db1054c)