(cherry picked from commit f86850b544dcb34ee3c9336fad584309e886dbed) (cherry picked from commit 0586386472dddf68826a8d2b6aa647c86d1f18ad)