Copyright (c) 2017, 2022, Oracle and/or its affiliates. All rights reserved. Copyright (c) 2017, 2023, Oracle and/or its affiliates. All rights reserved. Copyright (c) 2018, 2021, Oracle and/or its affiliates. All rights reserved. Copyright (c) 2021, 2021, Oracle and/or its affiliates. All rights reserved. Copyright (c) 2022, 2023, Oracle and/or its affiliates. All rights reserved. DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. The above copyright notice and either this complete permission notice or at a copyright rights in the Software, and any and all patent rights owned or AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER