(cherry picked from commit ac29248e10d6e2364138d11196151a9f445b379d)
(cherry picked from commit bf1ddd1c9137578b86895577d5b80e0c5771b605)