Description of changes:
Cherry-pick of 34c19511c581e097a55d6f08d4951141396a19c9 3992e950b3da5fdc1284bff4a272855c4ceddc88 ec021fdebc4b4fbd761abd033909c2cc61a497dd from develop
Testing done:
Testing done on original commits at #4037
Terms of contribution:
By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.
Description of changes: Cherry-pick of 34c19511c581e097a55d6f08d4951141396a19c9 3992e950b3da5fdc1284bff4a272855c4ceddc88 ec021fdebc4b4fbd761abd033909c2cc61a497dd from develop
Testing done: Testing done on original commits at #4037
Terms of contribution:
By submitting this pull request, I agree that this contribution is dual-licensed under the terms of both the Apache License, version 2.0, and the MIT license.