(cherry picked from commit 6b310afb07efcb38841220d9ba2b30ce25e57ffb)
(cherry picked from commit e66264aacb7c41ec4df121a236372edd9a796bd3)