(cherry picked from commit 5cd01903e418648f51507df05ca63794e253fa93)
(cherry picked from commit 3a1539009026fc71de16db0ef72f24d392479d75)