(cherry picked from commit a8f9993913b1c4a42eb58506c4b350ec8dc4252f)
(cherry picked from commit c78992dbeb0c7261821fbc607308af2bb4dcc779)