(cherry picked from commit 0b7b8a377611b2a3041a2995504a437c36dfa6e6) (cherry picked from commit db2d96b378d6a4ba9a504b4daaca5d8ff6f5f227)
(cherry picked from commit 0b7b8a377611b2a3041a2995504a437c36dfa6e6) (cherry picked from commit db2d96b378d6a4ba9a504b4daaca5d8ff6f5f227)