(cherry picked from commit 6510c9a6524a221986c246c780a64c79897c0360)
(cherry picked from commit 4b249e2087fce1f7cda9ef99ec98b6ddf3aa1608)