(cherry picked from commit 55a961e86265a1c2b37874dfd076b60935de6964)
(cherry picked from commit a6eab3cc9a998cff2120a6db82f6938ab1c2f206)