(cherry picked from commit f3be36dfb6aac28a12cf179f4d615789bd72ad55)
(cherry picked from commit 756f28197d39c4d2230f2e02ff214cbfd1cd032e)