(cherry picked from commit d1007092b288d8551d71589560ae8cdd2bb4ebdd)
(cherry picked from commit cefcdb18f0433d3d5aa281ee42964aca6b37876e)