Copyright (c) 2023 Oracle and/or its affiliates. Copyright (c) 2023, 2024 Oracle and/or its affiliates.