(cherry picked from commit 1d406dce) (cherry picked from commit 409c6a89) (cherry picked from commit ff298cff)