(cherry picked from commit 72c5eaae31fd37dcfcd016224351237a9e2004d7)
(cherry picked from commit 9f9e0f8bda0c19afbd6bc1d1290062d8f5ed9d3c)