From dd27c236d2aa11df17abeafe9622546cbf5bcb34 Mon Sep 17 00:00:00 2001 From: taylorrees1 Date: Mon, 14 Jul 2025 10:58:36 -0700 Subject: [PATCH 1/4] Update manage-oracle-transparent-data-encryption-azure-key-vault.md minor grammatical changes --- ...sparent-data-encryption-azure-key-vault.md | 42 +++++++++---------- 1 file changed, 20 insertions(+), 22 deletions(-) diff --git a/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md b/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md index 85d1978403a3a..bd2969ee81bd0 100644 --- a/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md +++ b/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md @@ -4,7 +4,7 @@ description: Comprehensive step-by-step guide for integrating Oracle Exadata Da author: jjaygbay1 ms.service: oracle-on-azure ms.collection: linux -ms.topic: overview +ms.topic: how-to ms.date: 04/15/2025 ms.custom: engagement-fy23 ms.author: jacobjaygbay @@ -19,26 +19,29 @@ Exadata Database Service on Oracle Database@Azure now supports storing and manag This integration enables Oracle Database@Azure customers to meet a wide spectrum of **security**, **compliance**, and **key management** needs - ranging from software-based key storage to single-tenant, FIPS 140-3 Level 3 validated hardware security modules. -## Step-by-step integration guide +High level architectural diagram -Integrating **Oracle Database@Azure** (Exadata VM Cluster) with **Azure Key Vault** (AKV) allows you to store and manage Oracle Transparent Data Encryption (TDE) master encryption keys (MEK) in Azure’s secure vault, enhancing security and simplifying key lifecycle management. -## Prerequisites and assumptions + +## Prerequisites Before beginning the integration, ensure the following prerequisites are met: -* **Oracle Database@Azure provisioned**: -You have an **Exadata VM cluster** deployed in Azure via Oracle Database@Azure. This includes a delegated subnet within an Azure Virtual Network for the Exadata VM Cluster. The cluster is up and running, and you have access to the Oracle Cloud Infrastructure (OCI) console for management. -* **Advanced networking eEnabled**: If not already configured, complete the delegated subnet registration as per the [Network planning for Oracle Database@Azure | Microsoft Learn](/azure/oracle/oracle-db/oracle-database-network-plan) guide (This ensures the subnet supports Azure Arc and Private Link capabilities.) -* **Azure Key Vault private connectivity**: Private Endpoint for Azure Key Vault has been configured and reachable by Exadata. DNS has also been configured, and endpoints can be resolved from Exadata. -* **NAT Gateway**: NAT Gateway must be configured on the delegated subnet to complete the Identity Connector setup. +* **Oracle Database@Azure provisioned**: You have an Exadata VM cluster deployed in a delegated subnet within an Azure Virtual Network and you have access to the Oracle Cloud Infrastructure (OCI) console for management. +* **Advanced networking enabled**:If not already configured, ensure Advanced Networking Feature is enabled as per the [Network planning for Oracle Database@Azure | Microsoft Learn](/azure/oracle/oracle-db/oracle-database-network-plan)guide to enable Private Link connectivity required for Managed HSM and Azure Arc. +* **Azure Key Vault private connectivity**: Private Endpoint with DNS configuration for Azure Key Vault with has been configured and reachable by Exadata as per [Integrate Key Vault with Azure Private Link | Microsoft Learn](/azure/key-vault/general/private-link-service) +* **NAT Gateway**: Outbound internet connectivity is required for the Identity Connector setup to access Microsoft Entra Public endpoint. This can be achieved by using an Azure NAT gateway, Azure Firewall or an NVA of your choice if you already not have one in the same VNET as your Oracle deployment or in the shared HUB if using Hub/spoke topology. * **Private Link Scope and Private Endpoint configuration for Azure Arc (optional)**: If using Private Link for the Azure Arc agent installation, the Azure Arc Private Link Scope and Private Endpoint must be configured and reachable from Exadata. DNS must also be configured and endpoints resolvable from Exadata. * **Azure subscription and permissions**: You have sufficient Azure permissions: * Azure role **Owner/contributor** on the subscription or resource group where Key Vault is created (to create resources and assign roles). * Microsoft Entra ID **User Administrator** (or equivalent) if you create security groups for managing permissions. * Azure **Global Administrator** is not required, but you should be able to obtain a Microsoft Entra ID access token for Arc registration (explained in Step 3). -* **OCI privileges**: In OCI (Oracle Cloud Infrastructure console), ensure you have permission to manage the multicloud integration. +* **OCI privileges**: In OCI (Oracle Cloud Infrastructure console), ensure you have permission to manage the multicloud integration. Oracle recommends an IAM policy in your OCI tenancy such as: + + * *allow any-user to manage oracle-db-azure-vaults in tenancy* + * *where request.principal.type = 'cloudvmcluster'* +This policy allows the Exadata VM Cluster resource to manage Key Vault associations. (Your cloud administrator might have already set this up; otherwise, it must be added by an OCI admin before configuring the database to use Azure Key Vault. ## Step 1: Create and prepare an Azure Key Vault **Goal**: Set up an Azure Key Vault to hold your Oracle database encryption keys. If you already have a suitable Key Vault and key, you can use it, but ensure it’s dedicated or appropriately secured for this purpose. @@ -48,21 +51,21 @@ You have an **Exadata VM cluster** deployed in Azure via Oracle Database@Azure. * **AKV Premium**: Same as Standard but select **Premium SKU** * **Managed HSM**: Follow [Managed HSM Quickstart](/azure/key-vault/managed-hsm/quick-create-cli) - Ensure the Key Vault’s region matches the region where Oracle Exadata Database@Azure is deployed (for performance and compliance). You can choose Standard or Premium tier (both support integration). Premium is HSM-backed. If you require a dedicated HSM cluster, use Managed HSM (in that case the creation command is different, as shown commented above, and remember Managed HSM requires private networking). + Ensure the Key Vault’s region matches the region where Oracle Exadata Database@Azure is deployed (for performance and compliance). You can choose Standard or Premium tier (both support integration). Premium is HSM-backed. If you require a dedicated HSM cluster, use Managed HSM (in that case the creation command is different, as shown above, and remember ManPrivate Endpoint is strongly recommended for secure access and enhanced access control). 2. **Create a Key in the vault**: Oracle TDE requires an encryption key (Master Encryption Key) to be present in the vault. Create at least one key now. Oracle supports RSA keys for this purpose (2048-bit is typical): - Alternatively, you can import a key if you have specific requirements (BYOK), but for most cases generating a new RSA key in Azure is simplest. Make sure the key is enabled and note the key name. (Oracle later refers to this key by its Azure name when we link the database.) + Alternatively, you can import a key if you have specific requirements (BYOK), but for most cases generating a new RSA key in Azure is simplest. Make sure the key is enabled and note the key name. (Oracle later refers to this key by its Azure name when linking the database.) - **Why create the key now?** During vault registration, Oracle’s process checks that at least one key exists in the vault. If none is found, the vault registration fails. Creating a key upfront avoids that issue. + **Why create the key now?** During vault registration, Oracle control plane checks that at least one key exists in the vault. If none is found, the vault registration fails. Creating a key upfront avoids that issue. -3. **(For Managed HSM)**: If you chose Managed HSM, after provisioning, you must activate the HSM (if not already) and create a key in it similarly (az keyvault key create --hsm-name -n $KEY_NAME ...). Also, note that Managed HSM uses a different permission model (local HSM roles). We’ll cover the role assignments in the next step. +3. **(For Managed HSM)**: If you chose Managed HSM, after provisioning, you must activate the HSM (if not already) and create a key in it (az keyvault key create --hsm-name -n $KEY_NAME ...). Also, note that Managed HSM uses a different permission model (local HSM roles). We’ll cover the role assignments in the next step. - At this point, you have an Azure Key Vault (or HSM) ready, with a master key that is used for Oracle TDE. Next, we need to set up permissions so that the Oracle Exadata VM cluster can access this vault and key securely. + At this point, you have an Azure Key Vault (or HSM) ready, with a master key that is used for Oracle TDE. Next step is to set up permissions so that the Oracle Exadata VM cluster can access this vault and key securely. ## Step 2: Configure Microsoft Entra ID permissions for Key Vault access -**Goal**: Allow the Oracle Exadata VM Cluster (specifically, the Azure Arc identity of its VMs) to access the Key Vault and perform key operations (like unwrap keys, create new key versions for rotation, etc.), without over-privileging. We achieve this via Microsoft Entra ID Role-Based Access Control (RBAC). The general approach is: +**Goal**: Allow the Oracle Exadata VM Cluster (specifically, the Azure Arc identity of its VMs) to access the Key Vault and perform key operations (like unwrap keys, create new key versions for rotation, etc.), without over-privileging. This can be acheived with Microsoft Entra ID Role-Based Access Control (RBAC). The general approach is: * Create a security group in Microsoft Entra ID. * After the Oracle VM Cluster is Arc-enabled (next step), add the machine’s managed identity to this group. @@ -85,11 +88,6 @@ This way, if you have multiple database VMs or clusters, you can manage their ac 4. For **Managed HSM**: * Azure RBAC uses a different set of roles. According to Oracle’s guidance, for Managed HSM you should assign the Azure RBAC Reader role for the HSM resource. Then, use the HSM local RBAC to assign "Managed HSM Crypto Officer" and "Managed HSM Crypto User" to your principal. This can be done in the Azure portal’s Managed HSM access control page. The security group can also be used for these assignments. Ensure that the principal has been added as an HSM Crypto Officer at minimum. Crypto Officer can generate new key versions for rotation, and Crypto User can use the keys. -5. **Double-check roles**: After assignments, you can verify: - This should list the roles assigned to the group for the vault. There’s no harm in completing this role assignment step now. If the group has no members yet, the permissions are not used until a member is added. - - At this stage, Azure is configured: you have a vault with a key, and a Microsoft Entra ID group with appropriate access to that vault. Now we move to the Oracle side to set up the integration. - ## Step 3: Set Up the Oracle Identity Connector **Goal**: Set up the Oracle Identity Connector. This automatically configures the Azure Arc Agent to allow communication with Azure services (Key Vault) using an Azure identity. @@ -328,4 +326,4 @@ Finally, remember that this integration bridges two cloud services – so ensure * Learn about [Azure Key Vault Overview](/azure/key-vault/general/overview) -* Learn about [Managed HSM Documentation](/azure/key-vault/managed-hsm/overview) \ No newline at end of file +* Learn about [Managed HSM Documentation](/azure/key-vault/managed-hsm/overview) From e092c7405b97afb1b2aacb78cc2017cc76334530 Mon Sep 17 00:00:00 2001 From: taylorrees1 Date: Tue, 15 Jul 2025 15:36:15 -0700 Subject: [PATCH 2/4] Update manage-oracle-transparent-data-encryption-azure-key-vault.md updated from copyedit notes --- ...sparent-data-encryption-azure-key-vault.md | 48 +++++++++++-------- 1 file changed, 27 insertions(+), 21 deletions(-) diff --git a/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md b/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md index bd2969ee81bd0..3460abfb0bbbd 100644 --- a/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md +++ b/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md @@ -10,8 +10,8 @@ ms.custom: engagement-fy23 ms.author: jacobjaygbay --- -# Oracle Exadata Database with Azure Key Vault -Exadata Database Service on Oracle Database@Azure now supports storing and managing Oracle Transparent Data Encryption (TDE) master encryption keys (MEK) using all three tiers of Azure Key Vault (AKV) services: +# Integrate Oracle Exadata Database@Azure with Azure Key vault +In this article, you learn to store and manage Oracle Transparent Data Encryption (TDE) master encryption keys (MEK) for Exadata Database Service on Oracle Database@Azure. You can use all three tiers of the Azure Key Vault (AKV) services: * **AKV Standard** * **AKV Premium** @@ -28,23 +28,26 @@ High level architectural diagram Before beginning the integration, ensure the following prerequisites are met: * **Oracle Database@Azure provisioned**: You have an Exadata VM cluster deployed in a delegated subnet within an Azure Virtual Network and you have access to the Oracle Cloud Infrastructure (OCI) console for management. -* **Advanced networking enabled**:If not already configured, ensure Advanced Networking Feature is enabled as per the [Network planning for Oracle Database@Azure | Microsoft Learn](/azure/oracle/oracle-db/oracle-database-network-plan)guide to enable Private Link connectivity required for Managed HSM and Azure Arc. -* **Azure Key Vault private connectivity**: Private Endpoint with DNS configuration for Azure Key Vault with has been configured and reachable by Exadata as per [Integrate Key Vault with Azure Private Link | Microsoft Learn](/azure/key-vault/general/private-link-service) -* **NAT Gateway**: Outbound internet connectivity is required for the Identity Connector setup to access Microsoft Entra Public endpoint. This can be achieved by using an Azure NAT gateway, Azure Firewall or an NVA of your choice if you already not have one in the same VNET as your Oracle deployment or in the shared HUB if using Hub/spoke topology. +* **Advanced networking enabled**:If not already configured, ensure Advanced Networking feature is enabled as per the [Network planning for Oracle Database@Azure | Microsoft Learn](/azure/oracle/oracle-db/oracle-database-network-plan)guide to enable Private Link connectivity required for Managed HSM and Azure Arc. +* **Azure Key Vault private connectivity**: Private Endpoint with DNS configuration for Azure Key Vault has been configured and reachable by Exadata. For details, see [Integrate Key Vault with Azure Private Link | Microsoft Learn](/azure/key-vault/general/private-link-service) +* **NAT Gateway**: Outbound internet connectivity is required for the Identity Connector setup to access Microsoft Entra Public endpoint. This connectivity can be achieved by using an Azure NAT gateway, Azure Firewall or a Network Virtual Appliance (NVA) of your choice if you do not have one in the same VNET as your Oracle deployment or in the shared HUB if using Hub/spoke topology. * **Private Link Scope and Private Endpoint configuration for Azure Arc (optional)**: If using Private Link for the Azure Arc agent installation, the Azure Arc Private Link Scope and Private Endpoint must be configured and reachable from Exadata. DNS must also be configured and endpoints resolvable from Exadata. * **Azure subscription and permissions**: You have sufficient Azure permissions: * Azure role **Owner/contributor** on the subscription or resource group where Key Vault is created (to create resources and assign roles). * Microsoft Entra ID **User Administrator** (or equivalent) if you create security groups for managing permissions. * Azure **Global Administrator** is not required, but you should be able to obtain a Microsoft Entra ID access token for Arc registration (explained in Step 3). -* **OCI privileges**: In OCI (Oracle Cloud Infrastructure console), ensure you have permission to manage the multicloud integration. Oracle recommends an IAM policy in your OCI tenancy such as: +* **OCI privileges**: In the Oracle Cloud Infrastructure (OCI) console, ensure that you have permission to manage the multicloud integration. Oracle recommends an IAM policy in your OCI tenancy such as: * *allow any-user to manage oracle-db-azure-vaults in tenancy* * *where request.principal.type = 'cloudvmcluster'* -This policy allows the Exadata VM Cluster resource to manage Key Vault associations. (Your cloud administrator might have already set this up; otherwise, it must be added by an OCI admin before configuring the database to use Azure Key Vault. +This IAM policy allows the Exadata VM Cluster resource to manage Key Vault associations. + +>[!Note] +>Your cloud administrator might have already set this up; otherwise, it must be added by an OCI admin before configuring the database to use Azure Key Vault. ## Step 1: Create and prepare an Azure Key Vault -**Goal**: Set up an Azure Key Vault to hold your Oracle database encryption keys. If you already have a suitable Key Vault and key, you can use it, but ensure it’s dedicated or appropriately secured for this purpose. +Set up an Azure Key Vault to hold your Oracle database encryption keys. If you already have a suitable Key Vault and key, you can use it, but ensure it’s dedicated or appropriately secured for this purpose. 1. **Create an Azure Key Vault**: You can use the Microsoft Azure portal or Azure CLI. * **AKV Standard**: Follow [Azure Key Vault CLI Quickstart](/azure/key-vault/general/quick-create-cli) @@ -59,13 +62,16 @@ This policy allows the Exadata VM Cluster resource to manage Key Vault associati **Why create the key now?** During vault registration, Oracle control plane checks that at least one key exists in the vault. If none is found, the vault registration fails. Creating a key upfront avoids that issue. -3. **(For Managed HSM)**: If you chose Managed HSM, after provisioning, you must activate the HSM (if not already) and create a key in it (az keyvault key create --hsm-name -n $KEY_NAME ...). Also, note that Managed HSM uses a different permission model (local HSM roles). We’ll cover the role assignments in the next step. +3. **(For Managed HSM)**: If you chose Managed HSM, after provisioning, you must activate the HSM (if not already) and create a key in it: + ```az keyvault key create --hsm-name -n $KEY_NAME ...``` + + Note that Managed HSM uses a different permission model (local HSM roles). We’ll cover the role assignments in the next step. At this point, you have an Azure Key Vault (or HSM) ready, with a master key that is used for Oracle TDE. Next step is to set up permissions so that the Oracle Exadata VM cluster can access this vault and key securely. ## Step 2: Configure Microsoft Entra ID permissions for Key Vault access -**Goal**: Allow the Oracle Exadata VM Cluster (specifically, the Azure Arc identity of its VMs) to access the Key Vault and perform key operations (like unwrap keys, create new key versions for rotation, etc.), without over-privileging. This can be acheived with Microsoft Entra ID Role-Based Access Control (RBAC). The general approach is: +Allow the Oracle Exadata VM Cluster specifically, the Azure Arc identity of its VMs, to access the Key Vault and perform key operations (like unwrap keys, create new key versions for rotation, etc.), without over-privileging. This can be achieved with Microsoft Entra ID Role-Based Access Control (RBAC). The general approach is as follows: * Create a security group in Microsoft Entra ID. * After the Oracle VM Cluster is Arc-enabled (next step), add the machine’s managed identity to this group. @@ -73,23 +79,23 @@ This policy allows the Exadata VM Cluster resource to manage Key Vault associati This way, if you have multiple database VMs or clusters, you can manage their access via group membership and roles. -1. **Create an Microsoft Entra ID security group** (optional but recommended): +1. **Create a Microsoft Entra ID security group** (optional, recommended): * You can create a group via Azure portal (Microsoft Entra ID blade > Groups > New Group) or CLI: - Make note of the $GROUP_OBJECT_ID. This group remains empty for now. We add members in Step 3 after the Arc connector is set up (because the identities that need access is created during that process). + Make note of the $GROUP_OBJECT_ID. This group remains empty for now. You add members in [Step 3](#Step 3: Set Up the Oracle Identity Connector) after the Arc connector is set up; the identities needed to access the Arc connector is created in that process. 2. **Assign Azure Key Vault roles**: We assign two roles to the security principal (the group, in this case) for the Key Vault: - * **Key Vault crypto officer** – Allows management of keys (create, delete, list key versions) and performing cryptographic operations (unwrap/decrypt, etc.). + * **Key Vault crypto officer** – Allows management of keys (create, delete, list key versions) and performance of cryptographic operations (unwrap/decrypt, etc.). * **Key Vault reader** – Allows viewing Key Vault properties 3. Using Azure CLI, assign these roles on the Key Vault scope: > [!NOTE] -> If you prefer to use Key Vault access policies instead of RBAC, you could use az keyvault set-policy to allow an Entra ID principal to perform "nwrap key" and "et key" operations. However, the RBAC method shown is the modern approach and aligns with Oracle’s documented roles. +> If you prefer to use Key Vault access policies instead of RBAC, use az keyvault set-policy to allow an Entra ID principal to perform "nwrap key" and "et key" operations. However, the RBAC method is the modern approach and aligns with Oracle’s documented roles. 4. For **Managed HSM**: * Azure RBAC uses a different set of roles. According to Oracle’s guidance, for Managed HSM you should assign the Azure RBAC Reader role for the HSM resource. Then, use the HSM local RBAC to assign "Managed HSM Crypto Officer" and "Managed HSM Crypto User" to your principal. This can be done in the Azure portal’s Managed HSM access control page. The security group can also be used for these assignments. Ensure that the principal has been added as an HSM Crypto Officer at minimum. Crypto Officer can generate new key versions for rotation, and Crypto User can use the keys. ## Step 3: Set Up the Oracle Identity Connector -**Goal**: Set up the Oracle Identity Connector. This automatically configures the Azure Arc Agent to allow communication with Azure services (Key Vault) using an Azure identity. +Set up the Oracle Identity Connector. This automatically configures the Azure Arc Agent to allow communication with Azure services (Key Vault) using an Azure identity. When you create an Identity Connector via the OCI console, each VM in the cluster is registered as an Azure Arc-enabled server in your Azure subscription. This grants the VMs an identity in Microsoft Entra ID (a managed identity) which is applied for Key Vault access. @@ -108,7 +114,7 @@ Here’s how to create the connector: * Log in to the OCI Console for Oracle Database@Azure. Navigate to your Exadata VM Cluster resource. (Menu: Oracle Database > Oracle Exadata Database Service on Dedicated Infrastructure > Exadata VM Clusters > click your cluster name.) * On the VM Cluster details page, find the "Multicloud Information" section. You should see an Identity Connector field, which likely shows "None" if not set up yet. - Click Create or Setup Connector. A form appears. + Select Create or Setup Connector. A form appears. :::image type="content" source="media/oracle-create-identity-connector.png" alt-text="Screenshot that shows where to select create for identity connector."::: @@ -131,9 +137,9 @@ Here’s how to create the connector: * Oracle’s console shows the Identity Connector status. Navigate to *Database Multicloud Integrations > Identity Connectors* to verify the connector exists. On the VM Cluster page, the Identity Connector field should now show the connector name instead of "None." ### Troubleshooting tip  - If the connector creation fails, double-check the token (it might have expired – generate a fresh one) and Tenant ID. Also verify that the Azure subscription ID and resource group displayed are correct. The user generating the token must have rights to create Arc resources (Azure automatically creates a service principal for the Arc agent. Make sure the Azure resource provider Microsoft.HybridCompute is registered in your subscription). + If creating the connector fails, double-check the token (it might have expired – generate a fresh one) and Tenant ID. Also verify that the Azure subscription ID and resource group displayed are correct. The user generating the token must have rights to create Arc resources. Azure automatically creates a service principal for the Arc agent. Make sure the Azure resource provider Microsoft.HybridCompute is registered in your subscription. -3. **Add Arc Machine Identities to Microsoft Entra ID group**: Once the connector is up, your Exadata VMs now each has a managed identity in Microsoft Entra ID. We need to grant these identities the Key Vault access (set up in Step 2). If you used a security group: +3. **Add Arc Machine Identities to Microsoft Entra ID group**: Once the connector is up, your Exadata VMs now each has a managed identity in Microsoft Entra ID. We need to grant these identities the Key Vault access (set up in [Step 2](#Step 2: Configure Microsoft Entra ID permissions for Key Vault access). If you used a security group: * Find the object IDs of the new Arc server identities. In Azure portal, go to the Microsoft Entra ID blade > Entities > Enterprise applications or the Azure Arc resource – the principal Object ID might be listed. An easier way: use Azure CLI to list Azure Arc connected machines and get their principal IDs: Each Arc machine has an identity with a principalId. Alternatively: @@ -148,14 +154,14 @@ Here’s how to create the connector: ## Step 4: Enable Azure Key Vault key management on the VM Cluster -**Goal**: Activate the Key Vault integration at the Exadata VM Cluster level. This installs the required Oracle library/plugin on the cluster VMs that allows databases to use Azure Key Vault as a keystore. +Activate the Key Vault integration at the Exadata VM Cluster level. This installs the required Oracle library/plugin on the cluster VMs that allows databases to use Azure Key Vault as a keystore. In the OCI console: * Go to the Exadata VM Cluster details page where you created the connector. * In the Multicloud Information section, find Azure key store or Azure Key Management status. It should currently say "Disabled." -* Click Enable next to Azure key store. -* Confirm the action in the dialog that appears (click Enable). +* Select Enable next to Azure key store. +* Confirm the action in the dialog that appears (select Enable). :::image type="content" source="media/oracle-enable-azure-key-management.png" alt-text="Screenshot that shows where to Enable Azure key management in the OCI console."::: From 006551ecdc30988ceb73c9897f9522b6e46efb97 Mon Sep 17 00:00:00 2001 From: taylorrees1 Date: Tue, 15 Jul 2025 15:39:29 -0700 Subject: [PATCH 3/4] added arch diagram --- ...ansparent-data-encryption-azure-key-vault.md | 3 +-- .../media/akv-on-odaa-architecture-diagram.png | Bin 0 -> 56106 bytes 2 files changed, 1 insertion(+), 2 deletions(-) create mode 100644 articles/oracle/oracle-db/media/akv-on-odaa-architecture-diagram.png diff --git a/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md b/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md index 3460abfb0bbbd..6275225c0d022 100644 --- a/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md +++ b/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md @@ -19,8 +19,7 @@ In this article, you learn to store and manage Oracle Transparent Data Encryptio This integration enables Oracle Database@Azure customers to meet a wide spectrum of **security**, **compliance**, and **key management** needs - ranging from software-based key storage to single-tenant, FIPS 140-3 Level 3 validated hardware security modules. -High level architectural diagram - +:::image type="content" source="media\akv-on-odaa-architecture-diagram.png" alt-text="Architecure diagram for Oracle Database at Azure using Azure Key Vault"::: ## Prerequisites diff --git a/articles/oracle/oracle-db/media/akv-on-odaa-architecture-diagram.png b/articles/oracle/oracle-db/media/akv-on-odaa-architecture-diagram.png new file mode 100644 index 0000000000000000000000000000000000000000..a59b689e914bffcdce9d7abdb2be002ec8c138b8 GIT binary patch literal 56106 zcmdRV1y@{6(`|s@I=B-cxCi&(4grF@ySux)y96h=+u-i*K3H&fyX1M_=ezO`?pi(4 zb9%b_)TyfO+O<3EhpZSP94_3aPoEGa#Dx_;eS)z0^a-pM2I}J%hl`i5A0J>23Sxqv zDkty{KPsP11Y`t0eX5Cpf6;^dsKeTdt2uo7gw*@@1vY3?V)*IPN~eUdz)x50lPpMG z{K4h79HCz#$yRANsNBw|t6&s05J)UC32bACO;i**Bd3dZ7S9Zy(~GQTzOOPCTczSy z4vt0ETKe_7zWC%UYaBYZqAh(BclWt7bulq9**4xxGYP>5fQ9E#{-=x(M=`hlL>H0& zPeIcA38eb>;?1Z3Zz}QOP2zJ-!k!%K3s&pa0!>aDO&Xz_XQ7qB{7b?l6;*8h)h~t2 zc!G{?j{}Yxe=j?=saUb2b*_7He63?DjvTym6i%tRh<${|%rlh3!Kasc=OkJ92CAn2 z+2oY*r_mbiqi57kD-%n?V))q@K2!*3B$idS(>M^1S7fk(bf5?mGEZdPrQvFSV z7lOmaAZv|3|9KOUTPDA$Yb1?^@z;MJj3kH|7L$g^tl7ScDgaeL(l{8A5d?7IBL(h- z61|@IFqtm>*u6cEsSdzN#GuA+XIpPfZndIwT2()4Y?!mMC|&iXK^-_U8olgip6nWS zkgatV4ui5tVkLYEyo~95!B}Ot?pXo|ZNsj*Q68qb6ns4DuLDomIG8oYR;z)18!3wm zJqI^itMAwR;^!&rRz;mspmFlA+CDGWyd019EtJ@7Ku#g$4~7Jcdb5|D>nkovd zHKaaf&#RYlJSQsRF;ZiEK(FcDi#Rki5|^c%>Q#sas-Oeo1UUn29AtSRAbUe3p;k#w z{_0|3UG@IysfxBa*~W=)YfN6rSd{vPZNs1rM-Qo3y zhr>r`Y83ibG1xau`!s~#Y9MzyX2|A^j(KKx`_Jm8)?5VsYWW=!x6g9Kc^Guog9V$8 zelK8{rkA`^`ebFbST>8x>Bzmlj-S7_N-gmW#kxRhWHgh-9f0(zU-BWv6Nnm|v{^GF zv73CGdqX?uU|}5lIvvMYO!&%G*^j;tTU6aJGsJ>5mLC_sju71?RjOq4YX**5|0(@z zZdzX(2Yyp5G@r7L{aGD8!T6AGc2~EV*V3h0TF$_JDHC`+=|2re-oEfXAI9}L(p7g% zjljLukNV|NO2!PDle_7jK5A#lh^73G$#PaZ(r!@B{Ve}$w$P~?$*)TU%l~wZ_}tR4 zxM<~*cgpsUK=Eo0p8pEKodWvWATyl(L&$r%x^jjq8dH+2A9LvdC!6bzlc(PJ+xnlv z1q;1)ZaVe)s>HllyY>1H)h5ecUCjTPJfIib5#oSxayey9qufEPHe@3q?146 zr#byU-eo;h*6;UUsWEV2+WbsvFOl=NFX;hzsEeM4RYfR7RCb4@vyqb{y?p*nDXDP+ zta0=1`}}p};1KQjIFYet_40YgELxFbR%NBo%cFz;*}-Bw!+z*HSmF>0ng%}E>ZTef z=A5!a`1ufvVSy{WxT4wO*KNl_m7&V!IlM^PYE6IO1Aak14BOR zc|$w28seB$vP#Y+FKujkO!<7q^>d14#*O;SI6Zv)EfhXRNDL5-Pp>o-s%>W`L_M`EKZRggy_A)!f!6!RGWOdz^1l4Yfn5L)W>NPc`Vv;WI)%E{pI{r(##=l~Y+G zGD|4!N4#6FW>8;F8GHuzW$?BVyDkNVcQfsV`_P#3M1eb#NwhpQ7GwIo*q0b^Tcv}9 z{Z^aL^l$d}IX|=;Lp9v!sx!wn=5*5DJ!x?bAg!SRbY!$1;tke$Qg_{04RBqSiTb0m z>5BlHvi>9HMps-|=!OBck2@_Z-uO`_0tDTtq%34$^ zk{7n|j2H|e&rijnoIO19*CK@!xgZ(NhtLODG5?av-`~ID_pRChqhtA}Xn){O!0@>q zSXrt!VZsCfU_}|tZ&Y6n`cv$B$`gbeFD$aiq*dWf=GTTr9Sa8b)ww;0MB+~jKrX_4 zri1l0Hb{6*JR1*UJ2C4vAixr)&wXVUHj^huG~biy?!ms^ZEb%lqd7;TRgF26hAF_u z>6TTs!;_P~Cx@jjs7 zHdzT(RsqyVb{9IH38~A<>@Hn8EqVx?S2QixfRJV+7vC(7W3?3_T&8S5vM;|__qj0k zP`YoWh+8+z9=N>Ne85DbaRSE5@sqz`7**MYsv)qjY#kQo^r)F+h20)6?xY$-i#cmY z!=OWZMj<}%OB5An+kgAr50hiJuV&lU?s}Z%5}TbJeNs*v*#FS+zR~8oSC~@cx=jM` zq(?^}49)8yNWEV+QSEdl*l>MyYR*DJAY_3#Z>Q1Ial?Vf9P5U=Rndt;-tZx6;cQ7| zw2MD+(BCOSbUiyX*;VI@yB-&sp2))Hvn)~Tc)nZ3=JWijpr|1HX#teQzA4ywLVHci z_xeW&5HI5TI=@(B-Y*%6%_%61ckw_P1KL66?>VsVjI+h=6*j$EK58q&x8(5bN=7`6 z%SnllCk+SI!%y9N4_tvFMXzVz5|0I;s}E zIE0K^98rtje1%vp}W&n*VyoP~5{i)HWcZE#KZY<3NTp_#UzKDd39~n|8 zn1l}H`%dyW4D`!T79*^Tc8qa|WK$1`vWx+#q=mU%-_7AgQ9+{w$RlFm!^@*5kP`&2 z0eJwFHf;BP&$~Ow^2*BoXmUINS&HNG9@CPtZl7!q%%Ih#j5lL+C5H9~qOnva2sEUO zK(`$4$g7!emYYCW{>Scn5$W+kCjDJ#MEua=Y)@3=H6NmAF8klGoyNE3o(FjB`M-*A zbHW~4UR~aiLkOI)MWgY*yf0^Sa_!|fp%Ae{ zYYYZ)!B}5Y(^B2mYEr)$g~Nzb6v<=+4<}IIZ5!XpM=az8k%~6&?eFL5{$U(TV;*FI zs3G9)cYfYY?i~fX#O|Xu`F(^&9@B~c}Ck<07brN zWS`TbR)|`iarde7PLhgtk4op05^3tvE@(l+ravzT{^Cx)I-w>;v+Co#ej9f;Fvtg(>uU}s};4n-X9+)2~SmiegVghyB@V$ zn+I~Qq1ryi_ZK1SOg9p^KK7?nyYEpe9^XA49+7{c!jvtFyY;qpQeYptX@4N4~=UuZOebuNS90AB!n%05p4{F|kP~%wt|SWw#nZ+}%E+)@CnqH(g(XKINyhiR zxwmV71}9EL$BGcQ#}1IwYizfLwtqfITcLA?Xn#IyW3tudJ8OMK`l+m({$?m5A_4>H zDXJ>}850vze=1i%^ansg(=Pl6Y53Uf2*#ihHhyFfYea7dGW&t0sd?b&X@6weAn4U) zBWUwLNYQ|o&<7;HySKNsVo}AK7ini=WR&J4^mR^>1C_=hk8&^H@e4CE+UxWEV3x~< z^~B>=05a}iI&k0h?^eGMx+|t~Xu^+_7ZH(+O#J#emekESxf9mZ^1Fx~>=QB(SV5s) z7eMicvP#5OHry^N8?hMvL7)_~BBUx2->K*7o3C{Joebxk{NLT;4^!-J;)z51ZO|ya z2qXHyfK0|^kVA)I5Wvr*CzTG5Vutw}qxl>q@NR`B^z%ze+3&t}mvucTlwSb0!3$Mb zZe3l!Ql_?h2A`m+j)_2@t7$Q5u>%IrZTRMQzvqkX=X3p`ErC=HyF4eTVl;^y{(Vf2KzEn&OdX1h`lf}7pS#bIGyebtWzi1T!LNF<#~%!ZA`MKs*g?Juk9QPPf{!yUe6 zx9*Ey)CtItp@E$BjCbQ;KBauYUgJ~N{!IxDPuKntlb~CokrNuHlh#rhC_B?n@VBjJO0jv35!R?mZQXdWIn5Dfo{f4E(u0ZKc8iC`#(LCrc<@rRoYQbr z4R4m1#7EKf*xl=4<**0onl_BnRlN_TbiVmll(@2MKTJjp4HNlZPx2GR@IHQ)<=>%Q z^LU3SI@ffTC7j?mw$!w}6nWTh>Ih<<;DDIqd**qw9XuT(Vwr-OEMLQqjK7xu6PF*I z?Pv2cSy9viYTCtK*jOIZX@+5r;U)|rVro#Ut{q$%s@btEz`s8#tIBU~M!&s{df0dA zpqboq)bxJbQ*C!=4MxKA)39!V^l3eqv?nmpyUR?lTi#O%_dSIUnT;YA3L#ZF3t$w& z<+0?*_TJ~TTmnKC=Xe|6xFPkl=4G! zrSU4<6p@_p|kVVf9 z4xfn_(O~6rI0(;>IzcqyGZ?8pt-SzdoF*x4hJBNl&=G4iu;Hc*&4oV`mbaiJ+URqV zHi>E}hr8bS#WH*G?=^tN zq|~lcW2}rN0(vz1jZP)koj;2pBKQ~!0%iPH{TGADUIB3ubP3Q2n1m|Y5{bVn?V`rS zEWXWLKicso?e9S0MNALxGn)>dv%1Bds!dfGu1hp{R1bvS<>$YSY3~OGTaKaPAUQyH zegpkyK~e5EGDs!DDzybSp7DH1C@p%HP{uOU_p8L@R~gVIrJgyEkOm0HUKsL=N}1De zE2TO*ly&R0w_rVMcs1VNSf;WYQ;Mx9c=Y7#?0RLgaPK9n7mmm$i_Vdi?=R%R$#s5VQw~Y~ z54^|y6ZJ-3buevXaygynPc1ji$T5K8>VE9QD(?pX^*2EMkbuJf0}A)g#rC&WqHR({ z$MuP#cUJtjUHFXKPhkJF-L=GjN0Lv3hzV~hVAWTS(mdGCpBwxK>iXz$J5{a0vs6NmZ}kgP0jRi#xuzxdxS^FUTPVWBAbQh`FnP(S{A3xyd!E*H%5SdI1K z%%|Zv!y9u)gM4R~X}9z(WXn?vLZe!x&FZxUp z@QJK?sJ{r_KgCE#{xTUIu11w2hHuLp%U(W9U;eKh}ZaHa1c^tr4IR~}QMKR&9hrlFoND*7kvPINFPK}z-i{*&b5 z-+|hSDhi?KcWv`Fviu3&7?l^Nl#&pOh7GeQF#Jr%)m1fP^(eRS&6czQeeqEk zC2%cUSaDd%Uc)=ufuQwpG68d$L8g^sQ;sv;WJo&>OkYx z6WBE6`W8dY43s?;0~!8SQ3B;v6)CqY%sCl!Y0dS48o~=ku;Hx8=Kh499eV7^R#w7Z zOHnAo7dUo*A>MyVt;@}$aRQxx6bbE`Cf=ZX1(XXMTL`|Y@_L|p474|_)Vp%%h(Se$ zjCeG1sBf8r;m-AK|I*KuK=+U)H#k493Z}Z4m?1f_e-&49^Sji$yuQWyQclH0f`48v z1P%33_26Fc&H(|r1Wzn7!hnKTi3UR zMQTMvCqj$rJOlA#I{!8N#14rn3>$PMN2J+7+B-I?aA7tPRve2?)i&j0*?u-3>|=A! zl2BRLDV)fma1I$6wJ-SK?;@Ee*W}<6-NuPL8E68{@Q4a$3vpSvY<(7ColS|Knm;@{vQ?!}A)) z(WsI+Y{m0wAPZ%oF_jncQM8whqckjtMf{8n;MrqJYR~~D^b6G@;HW+&YRxr8QTkC0 z-fKvrOXcwmHb}FYwe{0sF3DDdN1!jB<=YObtS&W6thWC(k37nP$vNP%DrkgQaD+;5 zJOC~RJ|dz_9@RN-V@D)VP*U(mZc8tKbn4Gc0GQ!t@F9e!STcPp+i-YN2dyCqIf37c zkX2Z=+{-@|gf%(7*nKwS4YloKFfod0{)2Ce#Ga0?eNqy&m9NBIU4~?8Ta9LX*Ki3F-#yGHNe%`~jp^TiNKQrknk8}S8i z-&x*_V9>qk z$I$Oz20H9Hq=@oK%yF4V`F=dz@1eQYG%!ivlJ;s~ zmQ&P4MC!G${}75@5~-k7>|hXaDIvn-g>E8DL)NZJ60?n)Hm?&>CK5K(sje3 z_!hV#T;R4Xf*0;zrGwGb>@^$lb7mPZ(r~N|L%XDIt9gxl+jqAT@>8rBx{u)-^<(5J zN0am`{|RRQ&V?*nn_@%XVpSD>5U>8VnE-Qf_e!^z-#<#psg}Xt&zfSOplGWafq}fJ zg=qyI0Sk=nN6-F9O(A?@sx?knd>R^|N4b^}zKV$u(26Wt`VVJce|MkJ5)hon-Un4a z*KCUI>3-M1TZI!m#8V}bdPW($H`tF`*Qs6;#6oUI?KGx+ym_*@9wGj;=|*6C-Zjg< zVO?wlTFRmOTDh?pc=ekaVQ9QR6iACOD&74BV9|m~t#QKGukOz1?+CC&x6)pyu0a_o zS=p6Qc#z&Q;l8V^)BH|PYC1pGA~ZB)OUyul5dgiXzt!cpB(ECSGXobaSdDf)`Zq;3 z@+%M%gkEUV?ZWq#AGPB5Dp!SNvkzZgKoj2hT{tkV+@!#jiI@USNQBx55?mb3ZeSs@ z2Aq!Xa(eP%)cquTNqALxNv&RXsj&pU7cwWbR~q{^L}wU+CKE{^Acrc$A}#yd%Q zcVdMiMtVsg#_`Z^r$DWp?NtQIZD5b68}LDI0_Gp#kCd=Zl>zJ zw(Gg+WwQ1JqxM4bY;~qkJ}DP$hiT63B|WH(J}p5h|GNl6<38^gzSJ_*vhM}liQfsR z$|GUaC!cOj!S`j{22mZRXosNjrQjKvA$e*a_ZB1Sd1_9Fk^t-h$c&WpK{c-mafDah zcu11?3yZIn2mF9QgXi{sy^i!SQv;&5xlm*Xd>Iah71c~eP9lg}KPR%T(TFC4w?=YL zUgHu0O90ljZJ zGA_>v+PYc^7)M{_!&nUx0*Y*5j$M?0QKASJvJTb5t_k_7*pg|vHMn42?b zX1>Kk0?H%-q2dU&;Rw+Z%!k%Aj??wf(Vd9-xS;G@IoLjh&HiBgf-%q9)uZHbF&$4w zS?Tg?A};z03L3LqHHMc}#-9FoqkdoJ!;Nqz)?ABmcj~_xJ>Ozr#nW=f`Opk1_^HL{ zsM9xc;2-CVE$7is^En+MW!BBu=~R00|F{9aG>(&AtLB%Z>o%;blr1H)a{KCv&< zwKIUp`N^)=u7gksKP2a1VEY@*4FwDf&bPt#Qhvp1QX^K(w1e^6*OX)n*aH?c@8XaQ zMtXLPVp-g9#Uez%RfzH>%q|Nlm!0cz))J(GA+>dwYl9$7=1$Fr*UYWe9%3xn#pf;F z+kxjJs;^I6#y%BR%PA+XM_is%>h0fQw?nwEFX^Kj-|n~<)6d$p3uzo*)(mEqrJfYr z*_3}py{c3+Wq6GVNy8hj9xblWXtA_AwC~|K_AgJC+&a`|=j`dfCbU!rDivG%aKkkV zvpi=2mgnEj;gRHr>hZKl{;%koXDI0F^RAUmz+!*j%+^)z++Kh30L+5Y;xF|^FC=+6 zfA$lxXqYx8!jRB1X~UYNyn@oFPe0bTm>cZDLNq}7d6tOG#a3;2)pk;GCl14U%Ea+` z;|Ss;F$;8d9;AHIc&5qXrbrdj z$}sO5Zi6H+WmBGQa6+_V$-)Agg78-(F+x6A9jjHq!2c30B6VW^8^%{~6v^S+JSp58 zkEJ+2(y3Hw1&oZ0lvHK$op_w%ttv0VE}MJv#|Om}J6sYqKRB)mHqmiyGzQ^}cGmSr za~DYCA@`SNaI3nbfj>7D=8xA%}UTIE2n=ilbH(AiBtU%XcnD=t+ z7TtBoGO%nTls)7mCKS38$iyed;rkPyP3pjt>b=BaXu>Uj4!v-Kptt;VT5@T3^@+hB zkfK=-==8wI$Qy}c0HwdOgkKOuN8k~-P1}Q!0^qnE#C^hj!w9b;myeyo0|upK2R-!;Pjy9U~==9o6p*}J5Run6xpDQ zqgT08G$UmNPYl{S+a){?Lsb-cdHaK-2fvkAX;sxA(;z`af*iM!H?#L2edP`J2UCqP zvJsk}z+21I1B~Rvt>uI4UXDjZvkWwhGuo#kXCABGYp?D6x{ZwF*MSb4HmY-gmBE@f z{CeY*RRl!m_)nZ<9=C3joNbFm?T=Jfh=yPVaz3ac<3hsS!oE1K=dh>s=}RN)gFKa4 z)%0oH*FV8xeai2?$fOGE*coZzndkt0drd0?Y(zgs&v>fUakNy`M=ib4Gk43CRw-0^ zZZn4wKa{md3SLOGV64#5z(qv#q~IF;S$a!aF|TJ&MW%H%Xi2vSlpB)Hrvsfju1FsUDqPhfO$U>HD>q!emn}Cf0|Wf$n&Kwq$GQsFI@3qiejQ!Uiqqgd8=mo7TcK!nJ;NNeu!R9T znY&rWmBCA^dT6}x_KyAQ!8M(e*W)`rORx}{aR&X#tP zWW|1snBd3lXpsKcvnLom$GPTy;52W%LSC6y3yRn?Hj~46BM&rv)-M>KXR#qaBx4R~ z4%YLk$Jg;G{$2Yp{?~G^eOt}}_xHT>e9N}4VV4NXFM8K@jNqR>FpySQZIiBT!LCEm0Q7I+5X6?hZ}p@Skd;c) z26FPK=&-+MkNN=)OH)(#7#nQ$d_LczR%%9?GpZX5wk$QGtFhYHHg6*a#h#k>1$Mio za(I5Jtpie8fG=3vbhTO;m7oByZCwjehgTX=X101SBEQI{vmudQX%3-`t}dFdg5aI* zzR7RfxYz+U++SJ$LY@}|MWHrQVBfS^{@9Ro=U^N;SiC9BR748@n2_zJl z>3nu|SNLTU&<%kDl~-$ein%u}OYuY0n$#m3`d+lvGl1)(+=3>G99M7$`+(;&7mNo(r&0SpA77!_Nlq{cs9`Y`0}J} zRUNd7o_4Ztj>}q7Sf259?`P3%mu;JyWNARLY|dxLTJbLRBXo%z!bdyWZV`%ps5<_! zYGa)BXs%!rU}R@y2kbrn1w-O#DJDO=q$JJ7#g3f*&Vrz(>m}>M`RI9SwZ)=Mzs{Kl z3I;3U!~VT@D9&J(|BhT{L4`|ED;!zR(orz-w; zd>|sCLNv@T$7AxB%f-%aIqNn=c>c%Fe(CDK_p4Eu`MIGQz?_QG_HA*FUtOc@2nliE z@zKQ}uX|FG=Q0j^r^PTbcjzC=zvbVeAP5o^R8NA+2pB;MJU>?dR8h zb}2`%qdBLAw0pkv=!Y|htR*R<_vxK}Jb3t13~bbKb^!(|?=L|@_Yr`sc(_dY*Z``$ zfh*xIH&Wtj)|!!>esVEtKFW&z@F&I*GLfP%yyP^0&9JY$U-Rf@0zKtm#E>SsL>!RB z1n7S(fAVY{j-lY!3^`RoViBGxWTXmG0k|JVLq$$RZ-LZyZ1(}2*k4Qe=++F)SM%s- zq{)|*>u+SGiL0|TtaSSBN^Ov#6G8Fz5_ME0_5MrEcF->Z(8(355pw$sgEM;>@|)=0 z`{UeEDDa<2N$MMa)eMIbaMM&S{-0>NxLAK|Rq_cBmfHyr?07XJ4tIUbu|)jC8royRDb5>LCEd>-Lnwqks~D~oc4D^~?uOcK(*TnK4i-DX@Q@W111c)y}tv38S^ zjN`$j@6^pQPwQBk-bSAe!F-l)bmA68p#QGAfHjd3Ql;%d;O+T*n#yQE?vE&gy?fWy zX~CZEj7iK)*&`3qPmmE=R!I#%Nko4>n`Myi$aN%Y@3_I!c!-%)UHip2BV4}sfX9R{ zfS;8TM(V)KB)!1w&o^tG8IYOit{_9Vc2&!T&IW~Y!!^wy1(#c@jUagqY9=Mu8%UHF z^{m)bk3q(?8l)(5&Q%xINC@pj$zTdR{t=7WS1uuBy8*kyM70@23$UWv7G>JEBw1KV zy~DU%z)*+fWLs5ejao9n1Kie`jUq{BvS3h5a1zj{*nDT)?W$ZSOMQRT=XpJWFR8fR z2`kPP(UXTg+RJKwe+#K8u0>*aIUobRjA&4A!5qIAQl?7&94p?K<8$#~$BXET<5{DZ$p;%_HGM@M1(UaqNY?kSKY!*}BhkA5A^^K(6 z@hI*_w2_V2lQ?@yNUseq=!Wsr-eLoOV!pDXB63%tK6{ojY}dAP+N0^HGe++Yx)0X# z94Xf}JHKMX66=B~Is#Gj?-ksiC$xczAY6{-PpnZgrf^W(wzW9i&;m6*R}bAJNM*un z^UBISG@vL52~!-QLpJHMlw@FYZ+-v8v_WEf{$NB?^dIRW!Rfvt1T!#xd(S9r5`U{F zUq}3`oFIW;pKARV440$mk?)!nYHFrqMEaE|F}sy14sA}O$zKjmqg0#9FfsgCSb{{r zM3=^XfkCtjjAij5VP*3mkv;{*?U@R?_nAC3F89!3vX)eAUr+gWzmdwjmz9=w=Y234 z2l*fQI-GYJRDq^^;SmuvPOC`e>J4xdS&s29o8EgrZ>=ADP(qSS>iGV?~N$6 zb#- z9v%+iaeY=|oeyRCNL2-r12i+!gGgcoBZ-7Lrb20$At1yM24@PTruo^C0Zq^ok&Y~n zUN8?8)4zM8qF@63ji*rMtl6Fr@qHUC7I9a{EUJqfeLoWN}Eq1mK!`WT3Y6U_f z!BNj*RSw5cX+z7N=0ulnz(56h4t%L?{56pfOgDiJ)H>-c%Q(I~3eTc6zxi&613u9D z6bC5npYENt+pZyHGI6A??MHFgU@xZC$VuTBaQyVi&Z~VY;g8F-|ASwlp$j0Ie;?-M zU|H+}1Rt|?QYY8{6qRwg=s^VDCh2*x(N^-iyel$4rU%c)%hx3PiT(F)>aQ3YGC0dV zvpZ0t2tw;Qm752j%Iy8ACQ5Xf054sp3C!#jML>6GbdgCM%m134yH4Q0E>ANWbzyfDJAcx z;-dC9Ixe1;8??s1mgwnPt>nt*%PT7d6`ps-?1A9m;o~UuExQ6?ZB2~yHZ*K>_u9_& zhsB79r18v7$!euYP5k|(x8&U>TWx)K$%-Ech0xBXOzqIJ%~ zB9b$%;~Qr%@TCqfq=VdW++6_yATl)no3kmlAk2cwdK399td2KxT zPi1JCoG&5hfp#VPAMHVfm4^%ZLi@k@y;0Th%Q$>R}a&WaGd) znidP&gdm`K2(d(?@cq2gsID?eu{pjFJw8G(8lR{lP+fMyc ze|Ric1R`}`|L#ZZ#7!b9Dr*E>4wTp0Ct_Y+$j6p6Y{qK-H73$wWPC;xG;-O#IZ~v6 z#oi8lq)2>DTu2D0FElg+VzL>LX0tXyw%$q2h1l)<(M+o$JqMUG~e*wareD9x7pT!zWO<~D>P(Key| zb{R$rT$r2JGm!_7k3O%ZL>M|NZttsndFl_%39@QVj*ANezPatI6-H>`aUR+lhS9-` zbCUYlg3a{(C@Lz{AM5L#mfMK%c5@RS9~Vd+ry+w%_L!Yv?xRN%c-IpGBv#ADKnwLb zw~7qau=d7o_r`JCqSS^Uh@?Mwe0})?AY~LDvC0O%!L&YIG0baSEVAUFqRo6fVSU#s zd?WY0ktA#~vzXV#iUlJtEWU*F0nx;TIZ)`~?6!==X=C41@xI$JHIRY1DZH0Xe>_N? zik6wqVm99ZDU|JO`mz&U$?z` z1JLr^<(kx(3~mq%$~>^@2G?|?r#Nifv}Z1x|q@| zBj;4V==FNxXG@Um=`a-&yOwJyh}QJjQTsh$LPZAHF@HXY-Er?aWbDkCiDL9Q&SfjL z$~Fu+9}-pF?wMBCWM+9MhMHBHIvhZocH8(++T{c2fo-nc^DBmbk-YuZQ3Y*o~PD4CW`1 zd+<{D9VPiF`8%y%<){9j6XO&_d%~wu+hb!;`T)7mGY<8-NRFHYy6L6PZ%_@qpXF2P z`SlKC3`AX>qOGO-XM@ZJ4mVFWdOqi`#!(kvRQlAZEmoy}#pho%d>5LiGFeD5<8$|l zOA?9@4vG>cDY4=RHcQKyl086r6j~&_yrgIiHcWLH32fRZuEa09SRG5m zO%p+&cHX3cZ#ZP@a|52doAfC>41msIVDhL4Jvm zFcvj2Gj8RQ{s^`V!?()|%}YIQkMh5Ci6UN)r2%CT3med@!A|w!sga6hp}p;vjj*1L zxtJQ-k)yN19~w#fC!nj8GE9;R{n1K~I_pADVaN-mZBQ&czk=bqb@2vaR_UQ)VgML3 zP8(wvi+R+qd4Hu()g7N2Wd_%D1HLTOtMPp$!Ej{U!Sf z)Z)e!+(`%GhMd?am0?!2NKn>Op7e3L#w*L*pf1iic98#A#^SopY~lZMsCyc1^>9pz zY_J|p07{YWQhT&e$UFQl|AB(%z8X^K@1QQppjrgt1PhMi?f;4A16YGGt)1-5a^agr zb9c|2m6ub7fL{hdd8}$X)0V3b#?g9uTz;i({`y6YV}QVC{cpA+;_l>!ises}UUIla zoYe|PhU998JSzNw8CHuL%U-B4-t*DgwNR(k#wOA&^g@H5KoP;E8Y}q9HV~Yq*D%?` zz@m+yj1!rQuogN%UDP%WOnk-rQT%7X;Keon^XF^6H<;Uo`G@{V?{FIWmL-m-wy(Zn z%;A`9Nf0r&g$#VJqWCv;Gj7L`{Ff=(utu6vJSU6Yej=9TueIz)meO04HRnlAT67Zw zTpfGq>VtzWLmMg0U4os$Zy%HQkkE_@RkCebKwJ4GdlzRe+QT)~irg*&^s1l0(m^xT z;Jw~X-QKBGS>}$PZ~hiz$c?_xOs8H4r7=olx8BqlF+0gkbfDu#wvl>|lWe`RU+1tUJ(d=W;0@dFSobLH4(D@;Y`1BGbL;k@IRCUdvU## zWmWRX*9TbvOna^x=T&FR4XsGL&R2q6WCAc*M=t9T^p{Pdx6pem&*%n?CK1R?q{c$W zC_aXblSQM!Xad*!b(b2)$8Qg>-fLcir$yvvzatn1&V6oaKF&CxPx9X*WV^n|^IXM* z*d7ph$5d(g5P0A15N*$=X!kW)0|^(k>~P+$irc1^ewcs^*UEz!b(HgTq#szxdGm=T z_}@JNHc|kX&(f+N+^(t592NV(iYuhi&g;}U>k3>@Ow6VYnoneum!~Jsvt;e@2dU@~ zcbwHys~lj)M~^dXK9F~?{p*x~FvjXu^)2`K=$1OH1`d8 zHY+nUG8ys6n>92xIoM?L%$IDnGPedjft!`-R`W(LIcQ1^cmT~UEb58r0q#zg4PJos z>>W?@Wfw!e@4_-N7*`J0wly#gToH{x>viyl-MjVt86v` zT24t}q=aRhX}3er$b^=WHk9bA_0oTH(uvv9SNo1x!u?7yfkqOYv{+T@QS%y2+aq{Y zgP}D$|&Cv(?_E#OvA(uS52wEkZe(xnOB?bU|Mbfarkl=%<(HyW*cj$N)MM5wZr0P6s~(# zbR>GNDj&TBe*RSX)fg>9o*$zG+FL|>e)!l6Tduca(5O`Qai4qn?!<5l{D8o-O2=hqRef5%g}K*V8&;(yqC*B@?eQ0?>z zDfQc_b`AUJM76}pmTRih$7gqUcdN8GyC)%r-|y(iTsrL=lZtN=7w zj_#Wfje1kqB3W*@N63IZSN0+zW;E^(lr-VM|FaX@5y zUPWi1Zjvto&$<Z4)iYmlo+lj}k6zdMvlkk36=qyVT%*5s~N2l-D z$E96w23R!Ni1i(Q1Fxj3h*5c>j~>!yDMuUvxU6|08&76M`2Ql!Sp9SN^C2j*_im6c zyc+les_igf{f(!C>N9s*@Z*#E8y%~Y@`EbG=)*eFC_lQFDevnt0p$bUDLs9UMpdVu zR8=!N)dqr>GcWFQdvzyKzYPs9*h&+bRB~>!Db~ajXxWx)P0O1>D~@r)dyh;SpBvXf zHWlOcw0r24$Lk$J92Szv3*_3o%#x4Qs~*zxkxkI4{)Cm~QHgGnlVs0!EJEqbkUA;w5_f3tN?1K zprR$LmYlEAX6|ehMfQIX>ykK9kFkbxh6ic5QJU)CwpjF?hoXjtd-cGv=g{QD&zNkK zMU+dHV*ESJgwLr<=--Y^GGV?2*L|=Dqem%g^jcyLYJxKC|IB70m|A2 z0dj1+7LCF+R<#f0F^{a_-Q*yD*VPflx?DR4OeVF#k;c)*7j$X;Ph;Ej(Jz5<*r!LXVIEOX#0y99%V*G?mulfdLA^c zGP?HJE}NYm)9YW0ti)?+G;RIzIP11kEY_VF+O`enwHvu@fOCQAx>tjyHABo9e#5O6 z?qBsDlm$|6+(F__LeOvQHfc1P5^uQeIB7Z^8jYW8MojP8Sm3-GN?GLM0^Fv@e&t_W zO7UtZyL%Q#y9`O8#--#9AN0;L@Wj}7onsc57-`s@Q2Ydveec(BlzUzZYUk&7<)?4I z`(I3*byQSwzx5>)1tg?f0SW1DMnyqdM5Vi>J7*|q7?AD`gBlu%k(e1838|qQ=^A2) z_xRlVtoyDt{KFy+tTVs!js4kMvDoq~W^W6B9Za@5xA{$wbUJ2v(%AJY)d{K8@|bqW z2^C>jwds7o4nH^Yp~)?WA{3UTvS-8kq}<>qv4H%sC^S=$ghDA+bbqQ{?Wi3D=!>bT zoC(OW^E(0pd@f4(4^QjA0$byt;JZjo=C9NCfiM`MPG7rQbvHUXjHudrP33Ac&}qcv z-4^+{#D&X7-fc(>e;YBkp5C*05>Y^7?LWiG-Yd+twRVGI?h@F)qPzQJyZJiug)tSKN;9Sm#f16#H= zvfXxsBtOlb+m4;v_VZ)?NP&&!ObrNu?zlzx3sO?bG&&+yNN<^Zd@)rB-D-ro2x=YA~C@0X0 zo5dBm(xOD;LNF-}f9Fp}^dS4ZwcoQ6%|dtp!P|T~n#t~9F^BBw-7uS6Bt^VzY~1!_ zri)|j^IEFvoI*y)<*Yt{+g?nAUp?jjxyfqiJ}9e zjCyX+;#EOOb~U*1?Z=O+>RMswp)9Yw~)#W|9%(R{j8eZ+UM@R&%+$Oa-&;{E&L{UmBB=C4PCEPuN&THLW4 zp65&b2l3SBB#)FH1R=6hAC_=X*$<){v9D?i59qyfbG;wP&>`-&`ldGC&c7$&39XD* zIl0cjIQ(MJdAR}Y)RimeAKPOQyliiR&E%$hucNba2ET3V{jGbyAb|~l+oqb`IdlE~ za?kp0SG)mGxj`;*W$Ur=am!Z*>gsV1u=D==OAHI=;oNlxKGdenK8rZ+(A%pG(7GSb zvu7?FIo|Yen>_GDx4KpjZtueF&Dr`f#%{bDu*EPxTt>LG%=zrVP_f`_0E*?ds6J4~ z$~w(THW~7l>(wHs%x2!rEbXEjSAgGw;A@;U-!XM{6}q_?4qQ%DTBe1qJNM2f z`|0oZIpFyVMe*{{z>GEki(Wwf!%L4xs>+hy1PQZT9dwZ%4$15<*7Wmt(PCU<3gimv zZt)#G=!0VfI$GCws@+yNRDZn|u)59Bks9ATUalx9jSbW{jDd$K7?WWU`Ok}5u$tca zpESRne?IJs5imat87?$?^gt5L-4=>BZdk}*h8z$m`L_hj9lPoLkNCm$IDO?FjGhXo>+K-_?!{s0$0s zgpZEgvICBKC3ow_1}=7wXHJ?2`o;Ccm7PHIx!ipPcZhP3Qc{wdxarmu#c1|=GAu&{9K!&(GAHxEx2uxnE@@q-8!`N*uqiX3DuTp=0H07#dPL3tj0W|Zx_o(Xf_)QuBnWV3%GrvG{tI0)NB(-pKpXObd22Z%g*ken^=a{LzeU?yzAD5< z-mrv;Wh>p5OIb3GIqK0-xIuN4GXKE-8yDpKHB64HT(`yR=3-+d@b)Zl zP^iQ7_x;9i+GUv`ci_k)BG-=}Q}t#tsE8iQrVgs<+M`}R53ug84!!sAp9z80vh>aQ zih9B4rS_ZCDvQgLEk)g$aA?K`DdYez8;qGQl_DR`N=mZ8pmHZm`!h;`5eYfDW7}0q ziBU{r@Rg(@IhASvEu_`&Vl8bD1=|NsrBW(fM+uN2tQ1-pSMN$0#Ldl3E9sI?9#RK< zJt|WuRjaaPPue2MxBV67OM@pemTtX>*?ygt0Ko|A9?9ESjHqwfZ%0RpH6)n!$IQ+e z9=k#tnm8$L)y}g&R_I$D@kg7iOZ1xNzA}^W?X$dEiVqaLD1HcfSL2lo_f&dYUE7ai zCqQbi!KOiTFUIutMgS80bbG?$8pCv7I_JLfbiL=ZcYZuzA9^IH-DGL(Dc)0darh5N@{AR zT6DD@>FXy2E&#eMvdxZ><)xiJ9?^}6OVUBB$O^@_+95i>rv zyU$*W*b7r^_?tB=ZC`-*fqN9i0{L7Lla_AN%l{zoreE&s*YBbiT=5&n8zN?qCf{T0 zvAaQY52sMsVi^vQzRV#ebc02I>7X@BR?*Q}bjfMGq|ht;*)YH#;wgi;=`LnB^3{gQ zPShGjiT!3(R&r{UIZS|fQtHuIl)DD9B+V#TAot8_Ko&yH-+Ce(a8XDkXuD|Ym|M)4 zD2Ug7b=0qJav#!W72Z+Rd|2%WA|e^^nKF#P%S<>Y&KP9lo`BpO=VcA#RqxNT+#C>4 z+@hV~aVt=np@6o3k4^h_{NotD0$q!Hy;W@veeUC0N_4kAQ@qE$oOz<^?o(Bv^&vZH zN}vhChRJUL(6RP5L_FCla=O-r0ey-PfRJxwyFduPm z-vrU=h7B&*P5R1$T48H=yMp$o%UvkvGyL?8LuMLYUDM2b;XJ#2`5mx>E28zNx{E}F zMQVCA4=+nF&=T&n?z@xL6QAa=-Y4s@+#RL(OWU*-8CRd}aM>q0z3)F$XUD;qHQb=o zz0}G6Ko#cejPlBv(HCyswb}g?c zHfz@U)j&=Y?c@!DzUNC3u75u0r0WkX++e&F@4MZhjh4Z1TAtxSd{&=}btw`{hk_kP;9&Z*W_lAAYEqLhmktRV)wbms(Q!QL0_8i}+UBLjH z6>J~E;#F?Dt{hpru-tL|mfF1qt#k~=n*%b+G-)>W?~+a!&p)1FBn%uUgP&^AL0O~6 zaH@UT!VJpF@FF?hihEm*1u_6r{;|>6SV+y9=%6|GfbKSOi%IgGuoBMNm4A6jmee&Z zG5uT9&coTAF`tziZb!Kh5N5=jJU&;pvcp1n)ZXcvo2i^ zo6eVszGP)NzIu%Ha1Ww{{u%)50K>MFhzp9@jED?oqK+_Zuy&8&>&sT`n=>L?y|zSek}i`RFmcLlsqjdl!nT@^6zTI zyjktusz4Z&bu)&t6LH*lrcgDV?SU-bI58_yQw9~`c8xSDL3SMfzw6q`L$=%O#Ct7( z&oZSouN+lk`I1}e#ACmfp)|8(^f7RqelTv z@^Jqi0+eH|zyW4$Vq*&in~l9c`WA5$);dnfDB}2Rb}66oz+iIO^E5YEf#(1Iu+Ta#^Zo+tIGpb(6h!_gFYjiHmks$>Iw-ET zU1QMJ%#HD&8(N^OEF^cM^rm!yZIp~hd%|>=%2@-zR$>spZO6^LW#plD*<Qiz}o((pgBf37K_kC@ix)V`1Y~3wOfE;$VxPBM z{{7*4xmC7OoTTv*s0FuJ&c^a?#>ao>xb<{JG2sn3vHR8Bt6ij^Y?r26=<8AW zgoBw*uDN==_}N=;HD)$dxv6xZR%?`i>Kj+uFmc{)4vlZ;x}|O7dfL_UqwJdD5=5r>&8AFa4s8f zwDUI!6Xr2<6;)fN@3 zip(~J4Uwb;Xd0wq7z1{M{lL7N_MZan_M6-QEs-$Bk3JYv9avO-Rps2Hw;^&BgVee5{P(2B2r650ON=a# z9dGoXjOg_2pUtwxo7y@tuMcEDh|d;jN2+i6pZFY3pzTZj{09r&5|&!VIma-(ibF}FLYvb^Q)7WNlgn$P`mJ33HbnLZP8lpb z-n$)%f9$JucQ%j27`iJfB^o??zdzJ%SDDbMM81PnZA&->4Wlllh0bQ`oT?W0U*dT0 zHE(1V+)Bj-@kLq$f=1_W(>~ugqU|>54(A2w+vZh7Q zrsVl5vrew|PvQD+_2Vj@(0EC|L-@kvmb?4D-{YM#iY7F0+rCc>%2S+Ew4|@EM4@ICSkUQzwg?TE(%*urgChjlJDG zFtzv{9M*DXx{^z1VKGUqvz(%tx(wgvqinn*0B?LV8^CJ_dmt9~L{uD~jHEG=sAPNU z!gNOz*WqP`Epro?yl3Kz+53I&u3PMdrXb+kX|0}TcIsNY;i`Qp`|oKRH3~sKUqY59 zQaT;~4d!fozqGJ@W@^wA{IeP_*tDmKW5i61oJPg63|)A`I{iy45WEtl3}aIVTR3Y7kQM+7?@56s#Qao^3NM9{DV3 zC`WMeF@3YU{w*Lg*z!sq+pyJT@TFLg-og|^m*`XpNEWuSKe&X%Er@l=W-;Z6!QZ~%?qLjL} zqkA&y-xhGGEQC=fh&O0_6xaDvz`OYz+->(c6IO-{E2^}T8C?7IO-Zer9BZ9~e!Z_l-oHM&@z7Y#=!a=*oYY4!^Dg=8_=(#hS$6YSyv!JWV) zNzg0A6J98r3N;m#8DJ6y_@~JZWZiO858M(1lbo(pJ_E8ZO_Gj5zyWR&e)lBd%I=`{ zPspFlC!O*i%yn|=>XFE3`$yPk;^M5BKLY&~291T~P53+?%LN-eJ6e6ucWQ^LJq}-v zkB_HkN>q5FB@*R8m|$$5PP=(2dDGcEy#ILpJl}|2n(5cVUK5^@W@hBH2=qnt{oQkV z3FA;gm#`E4L+URl>XXz%fi<^i+ozyF19KDP`3hqV`8FVN>Trg9TfS#)&H5TYZEQng zXl@+8u?lCN11(0sk&JsEPFywj5q~&A>#HhD&|Q0P)A^b~B)Gvtj+)mfE>n@*7dlb; zRb8=n(23WdF)~C=XBY;m|$Wblo7(*@472DC{x%F%g$ z*oK1PtmEb(2}1PuANys2)MurF!`tDL3+&?WUu8|{#!pQphx-+a>x+vcI58g__+P#t z_k)!4@hHutcU8AZ2Wh4{BW!rYE!vyTXv&d4D_&Q#2Q{cK(9HOI=V;gf!^&Wvy=I$% zapD}s#QSATVqMsZ&^K{nrC+72?9bY7cno{0}B2#ska z`>1uioGpHlkuLR^q3ds-VBvS#u4mq6wjUmZPb6Es2j5kUWSDpxeD(d^iT!uP*BdD= zfmvwjj7luMFs+3WaYyUpu(dOc6EGLX?fo$fXEe|HX}I(N65 zDacti=4Jb*BzIO;(%Nva^38Qdvi|*0Z~ayiGr8R`H>!CbW#EtiSs_bhGb5 zS!uXRX0uOBh@HqXW4V-S)uL4-@=1!h2?9y-Z7R;}PYJCtOFhioBx3wSp@}-3n*xM* z=nZ0TaQn-8IIN<`4!Ar-@nMmW&+njXH)j?5sn18*?n52(wzYE)rT3*#z_nAS?rCLtf%xPrNY6Y7+NSoltsR06^Wt8*n<#=6ZZldst7jv3MDy zfqc3#(3#LmDcQyNNoCq($_}-CnrVmsPFwpBSnwc3?VgfPq|>218GuuC;pWPQR_-w= zClgroT@iRze^mB$Hlb7rAGl`SG0+U|!oimCr&6QRks)ZxhjQ)LsC2Du$~~(TT>jUe zKfcIkzGx9QH@qNWH2(0p*V9U}6~>r^`$w`IhFfH>DkL--IZ}B?*q$e0w<tB`{vsIbI@Lp-4&HIC_%!=dW{{^X-WX7DrRA?#E%uX( zqvtL{e$#qAZKrkx#AM;36JNbHPPtV!@|E-LeKm;{0qujwb+uBD^b14HC^(p1vrNhB&ujb6}DA|5kt zopWU>mVqjtT$y*V%P6tlg4HFMjEI!IEp9i^O=y#O zo=uIXd7i!V5FLvSPd9Zmt5P%^r-R7=w$kNYeFYjeTT>mjm}3yIxR$B17{fXjc=WQ4 zJI~+oR;QYUfCAK?@EWx|WD%JAECJGwOpKPsf65{kdo*jEh#|*MJj%_wL#e}2LP%=I2bpsnULsd;zK>ZGn^R>Aq( zL2cZUh_Pw!${!nlq4sEo<$cbP>*>kVO?nysIjHRzuFTEUx;&<)%?3SvyyI+M6}p|H zPP%Ir&qu|eBl+`_0L942MYF(7v!_R!*Lmfv&XtryBBJBBEC+^520GQ`)4EG$XLR+( zYv@&XM15n6TRb)zT!|U#-B$53QQl7zNKDp|xr(VibIp^7YwkWU=dJk6n zRHngn>}Nd}fD6pFIuw`Lm~ZyD>ehVXdpBAuq_*SOz2snJl5(xO<6au{Z;_OcljF#7 z#F2Ou=Ys96Xv`1Pe+Cs9!)a2Z`yKAe*yB-tqUIOpWB;x96VdgB+gml?&KIs`#h*iv zdT7J4yf(Ny+F0-B>wpp0IW!}@p1CE5xBb1)XhTo!T}EZ`pO*e-fJ+{Mx`O|DNAONC zp3wF{t>9_*wB*jzir`hXGOgq%(R=Ys5jbop)2q57*G@W{CxP8>xMOr#Fw6}2xQXiI zAheNr1Ya=bG=oVrth}-E7(_4IdaLbnUMt|#I>}fhN&cjZkGY&iKO%oDJ`f;e?TAyb zXsvrF0iFEiQnN4vMe=ReSztUH4B=Gj{a%GwJMb-R$-Hsp8hsq&*#HMu>Vjlq+XN=W z_G`Ohl7+Sm2byHRtnZTLlrw;)mEie|)Co40&JnARyf3hZQOnh5(@^&4uKBbc0X^BzKZLUQst@*D%x1}z%-8MQUC&)> z1rImrxM)SFLlxshp1N40&pLB!9%Xx69fEhiGzMq9b4M;acOJ#d zcbBg9lL6ka@f0W(Gn_;S7y^2yhvvA&yx-|4U4ArPW@)~*UQx3USD@&R9va|cPMb_@I^^TH~(sVFW%-SD|*I?H`{BcfTs%A?*!jR)u=_)FgQG}NoV&4f-muLC4WIt!x;jw` ziTK;|mH0TaiXT5j4qcipP$aeS8>YHLj!FeTwH)xP!YG>Em^og;J3{$OBWQR( z;01Ucd?e&nTl@CoyJ#G|BN*h`PXt6Y+~sp_m?_>Y*;^Bu6DeKcsbIj$*K0c7r5AAR@ zi-!+S*O?og7tC@szpR?<^w;{G($}hI&Hnx!`O?qa#*y@YghUh>yQHeu_kLlD#NJ$0;w~3B_s0ifU!SKKmv7iwjy?Tw%B&`^W0zt zE)vLQEEC8k4@_4tdv;bXE^Y*`r}5qhI?2nlZwCaP%ZSJwGX}I@Jv{e!VOap@CYkx} zw=##XTsRtZcyxKEVr@mzNp`$5?UDvJ(uaKZ1BR|IPel&*r?hM<`PkUz4AZQ(n^;+! z3W@h`u~NWPBus!TB=4n~S55iwf)wD29CrkDPIObV)4osj$a?GhDebfUfDgV8T89Mh zt)3*+ktLpFgpU*{Wu3jAhIg-j_>9&r(?AUEq7SMF_E6_$3b8ICEW2xyv7`&yQ9X_a zY-D3+T*{$!Iv+pnwj5-Pi;5S%-#H~8E9=Ti>T<5=Qi$+8^xPUbC>4Jay|T5Es))?Qj57z#y1wS2V;BbMy9bBnO<7&Tfk% zN%Y1jpb*k4S<9jJ3$bv)KZ??P9-3v8N=3B2r1}!Ex6Imldih@pYHEKAT4;{wysO*d zcNY@SUom$&1V}eUvo}liuNFm6H#g{XoSk1%G(LK-5iK#=1UcPs;fD zC{peg!P*N+?5{xsvQmAaW;{mX+9Vpzpq}UIWPR8d#3a(+O7;qO(5GqDxpUz$h?7A8bjw?+mKnrWOtt_Itei$!Z0#)M!1sRz z;|7s9q%*WJkVWI2ZiB?l(`dYzkwnvU1b><+{-+z-4p(q6vo-V)qcYzw=>DSm^K zyA?LMW2$a@0@?z{1i>_!M{)Iy+Qo%NElgjcm-8Gt)K(@vwj}32N8mwdhT2VhaAnXuKZI6ZG0dh z5ldvgy+WI;oKQefWXf1d=e7sh*nN)`UBrQcsTBv@50U^5b~n@U59&VAXAHwo7beVlPO%g?7ou#>~^ z<7orfK{bj0=J~8mX4+@G#1OnUDc5`WCQOfV%JhX}-U$tvv|Pv2if_Ch_c`6xB|1tt z*Gc>q-H7)_bW3HVvia9^Y^%0yxzbvQrWV}mscgHVWUJkMVYymCE>-GM-R=Vw9JYj% z7$d#Vw|r*h&?&wHx|TT&wM@|mfVaH!hbBjNP=n?tHzByT=0|MV~y%gqvGQ~-84n$vK7-xzz zeH!&?VrPk(8}^hz*Jr5-kw%5xz?KqsZE`J~DP#<78k5NV_n@ZCAGugR-Gtn2+MIP? zf;LZJmhY<+5=zN6?H{5Jeze?tuA99Xk&_D*hx^Oa(KPJJ18To?E#r{ow7dv|&;HM4 z4d3w}s5VtMnLg$XnT;TBB!G~Y*87IO<@Pmi>*pCxvA{KOiMA297#bWzeoD55CUiecSY4SIR=4+*VT;<=9>JotlgtQ}7Imqvc4a~Od@3mONcjDm;F}(vDg_Hakd&mp z%$%VvOtH=~4hNonW;MgJ=o!{V?rao1X=}p}p!6uJaY~S>Wx zii6i@)0s9iH3WipulKlD;nhy@)&f%BQQ0PLZEZ?VFD|xM$$WN4n~Y3|CIPoD?sT<6 z|G6}_u{yAz8y;H&%J=c#gvto|BS)UiU*5-Rw|Y8PLL!$eJKm=9njXA93}<_De6d*m zl~RW!jaJ^CuEpqqQi;RlWbmUtK0AS~-Pf6x%65q(>~34j?;daSla6YSC9vM3d_=Hf zF*{N76oL(q)%^PX(Z!bC;^Sw~w+kAZDx@8hcUZrEvi)`0`LY}c1M2@+g~%Mtf|+fT zILsPHGQCSj>l?CabZ13MMpmmPd9$e#vTkh|YQhZlGwoEmOI5_92%!=5Ic>A)px*N9>a%QRwlVxSH2X8KgO48UVE=lb>2CIz0I6kmaS80ByyPaF=lGp?8h}Eqxtb8a!B@>u2ByW4`%ivp@;eZr3^`v}-r&?SK~&#Hn}W#lPv5+{F)FBy*vIu~8eZdD6P2)F^T2g=#yF9{4b=)vLMRJBa9}(0noT)%BpPxB$5!63X%$xks+m zSW{)%O7msM=O{N~1OB@9##H|`g0%E_{?^IO?{14`nOjhRmo!S;AZbg8?6S)A z!H;!MU;k1XRs5sAh^4Duw4aEf7Uk%*8E+&mGwlqI-8r)uTJdP?-uCD&H@Jaq*g3kT ztae*I@9PNeon7fTuz(_V?5j}UCg+1{E1Q|i34DQ~7fKraj`-VfSUdPUyr4tQUj6>D?Pd&a<#+ z?pQl8I(F5|1?p_>cqUqIeA=hq0q-)|=gE95_H4K}Ge4QJZIk|LN!r~(78teU&QPTH zM#{-gA1lAo>E!5?m)DX#*>0&9uJtgJf)=(OLyN*mh_7LmLAMl+O6 zgsP`{B2Hv`*>da6VfwL4)3}QUNr+o+st-Y3xzaUT^Yzj|Z_07gppc4;hk2*<+Aq_4 zOlE$kJ~+PKf}dms4_*4>^6=FpiPJ^tXytG=LB9zn2gAZb_0Bh;?kJj&GXf?mk{KSK zEK(JrG#dCEIn!Jg*a=Hd5w<^YJUxl~w#I#D+c{~+$Jnu)4R-eX4|aNTdxy8T(%z&p zXJ=4|APWp$kJ`%+YJh&2C!HuRDaBJzyt7g$p3>miDmgRrKs(5+sCeg#)dLA;3#Cr& z?(A@u!DWJ&cO=YmLUTM3)V=Qe#-FbX$Hhd=N21qs+nw-I%MIfHNh+6+r{@7Himq8% zbA=BXU@oWn$shluuQ2;ByUJo#DSS@8p$;O;K}X5;H|N^%i@lu89U}3d5F5bTV_5!B z@FRbE#7wkXxiOqtb<$Z7x?z@`=Ug)+5;$hfJNsB;sKxS{qdE8VK4R(*Udj`mzIoFU zO=`;7ceV$2c2>4Dloz}6usIGMv$bmK{u%b(maWP}X9Qf@8yBS3IE5`k;IA`%&^>39 zefW>FwyNQ8BB(|h4zGpzd4C(Iy}&@b{PAAl82m0MA!=7td_3tFk{&dp`=G0u=~YXW z-SaK^lg7806ywM9K18s_kp_+-+TF-8QHmom@dD*nj7ps=S3EmEYFoaMe;}dxj(9uK zSMy{!TwsT?B|SK{PHkLgl2%9OgX6mGH{ONN#8KAwDQN}m#rM@)h?daxcsE9`4?gO! zc5Ns$HQ?NY`$_5KNNGC$iXXkl($_^U72%otGcsGXvWmMivtv`v<@$Gz1qt8knYJJQ zVFp#wc|rC7y5I232I-$KdUe**&3nBG)5-YN z`-goUf7L6?IX6RRRpDFlgO3!mPG#{rlxqp4n#qxlML9Vmq_xmoXc317nZyHa&ZsQ$ zhve}zG)BH+mCc9SO?%;4uGbGGmcqB;(5y=M1Cy4$djZ!o4CQO563h0JCK0tja*EwN zWwu}EVY(DV7Rm&oMn%dvWv?~KfjcD`<;-xcd!$Nxo1xNwxyInTb+tp{8_gI+srV*) zt839H0rCiIYxim`^8Z+j8@*Pgj2@NQ40~!e{|=4*l*|8XU+I%J#b_4&z$oJ4U1tr5 zmH+;9stb zsbh3HfH^{vq#f1#CDT52V8d}6J=Jle|D8+OPPw!KcAc~vpSapp4J>9^3O#)hPqtH4 z9azq0oRCxI^)1n($96y5{GNC{q}~7*9j9~O;VR|@5kW7xmX~G|s`JQq}pSv$TJ~0@tmZ$$KGm+I<5EVe275 zjNNq0dlwF!WXHNUje>j z_yeO>p3P=H2&cBb5|W_(Lg9#Rzsu5k#;=j?%03zpw=Szl&@Z&~wa4Yi$G48$=GEtX zqK8fb^Vlo*feh^3SSAqj9@)xrw)3xb_oV&tmve0Vwe(*RnFCSLOBbx% z*$IKw_(>6<@utpQ#2NWnMGMmEsHP~O! z4Wzknd*|KD7ixK24edD>Cw_Q4{YJWmu|VANVj;j_usoJgc#~-LcC;TH4+=M#JLN21 z!^H1tN!#0GX@&atXq$Y15;((|+^sc~Ad0Cl|F#FII-wd8xjxGe1~SBmiWH%ue6yFr z0UTj#RJtFUh|(53*o14`e(o~u0=I`8*LPvuCjlqvk&S@y-8IACgseou##v#3jC$j^ z0FX7@yAoK5qzCNL$leU0mC%Z;z>V3;yBXtG2 zQDI?Vu*M&i3F3WPd>(rfjn@J30IZ)#3ZMSQtkF3T%+{jy5Jq5@= ze6{p-g;(CxS1mH~PsxE#2>%BKR6-aS>~Kzw@QhEp@U7w1w-7K;IfF^5oc)zseHd6- z?MAE3-grt=WD1KLB@>v7*?Tlqm$-2DZT}V87$1vGk48L+N*sLh1JN=*`I+OeHaE2U zNx$jTBSvvq>4Co;_@ps|LSQF>(mdCD!bs@rB=p^gR(zn>Q~G2LO1i@fo2+r5TkQ6e zT0T1~Eg1yxwnHRC)i)oR#~$9LRbi2MVbP7D0MZL+!-3opYHY9P38ANW_RO3D!N1Ft zPr7~zc$P8@M%a*jN!s!-wTvdf`@1dpwc%c1W49-0DZ`2;5&00L(=aW-w|H1Mzx$$s^X?yG zS5}hda^+L~?d4Cc%a$$SSUIPa*u33YCs9AygQzCU7n5(On%Cb3fwy>fs-|J8{yFS3 z3kIo}pJCRoa;$b|>YLUx?OlLWxn&@{?X|M9vWMoz`DRi40g#5J*!WWe7#8OS94X_k zf>{Bvu@8VEYU$}knOrT?_-vJ=ktLpu%zL998<+mEBky*pX8{5F6wE?t9939XM+v&U7#@_n+R_XZ<}(B| z!-t#m-5$u&?{gmj$&vv7gU0uhGm72320X#mTzlq5vWjl6v@AH z-KzQKbl$Q4*x>E_@yHd%RnNros$<`A-myoOl}Q zl{iK`m?behrNvxp+JOs@cJ4;|?O6Vg<+^4&rjCvk)5eWXMhvhw9pV70c(rYE+xbrE~HQTCA>< z$29DXK~jG;C_w%!jk^{OsA~&kY?N_ZAvzl;+5h;DR7{X+o% z`D6erDvh!Ku2^lhhz-fVpiH*X^xlPl<3Y)-;v_X|4M3kA`Y)%AGcQ1RNbby#?dyNC z@tOe#ZOy<-ZCT8e#Xolu<(0EJ?>z2T2>`#x2svN!*>5{jdl5!=6-y^FP_LdVJ8gNj zJy|7Tk{=TtEeO8!a5v-y_DWq+8`+^DA-Ko#hAtg^e2MW-;Yak>L z38ay-un|xD1$$*-(i)=cKQ&aa$obX5EUpd^r22K=*p#53fy7;4(KTbdS0=|SWd2!d zC>-@pc9h@R+IpGC=aeH_&gT6OkNO3&WJ50= zoE=KT55fd!10k_1p1+-r*|G^GUvDw{!F*~j-@ppvhH%Jj3Lc9mrXn(44lPNU*qf+tR2J@o zo3;#$_z2`v?8R?KHl(L?cq0MJlDu?|g%Pu}Hl%e;HNXF94sNngI;V>CnjQD?ugnWR(d>+W<*@&w;zc5veS>NLLllvTJ)w z$3LI?Zv61)luDt9pgf_5xJ6mqHBzG8OgmqcB8#t zYhj?qyz|AToQo;$BQkH3+ako?4;)Nih2w?~+MR#E#7WExnwU)od+d$R8{H4H{EI*_K7qE?j&f%7GrK zKX_pU4_{MeT^*>3Rz+;Y(pa<-P=}ktx?Jc?XiWj#X1u7MdKgd9gfP#TA`MJk!8a+0+>@u#DoI5t?C-=ANONkky(s@|w0v z7qxrzw`8_M-ilbp_V?psp(yd_CA-imP;=nzM3ECU4Gn`o3~qE|m&r-kjx1uU-K zysoj%uDfALHdQad|b zi;#t8C$yq*j8@HBMI)kq?DR@d+j)|HKV8BffMJVFjOyF=vPV=OQfyDeG9dC-f8Rg5 zF%Wk|rVcXjac*ZxIDM*D|9`x_V{~0z*f!dzQDfU`Y};mI+qP{rY17zjY@@N;ps}6C zcJi&=KJWP6GtL<2=h-8_ve#Z~%{gz+dtR4h$fSTw28XRJgX721uAcFfM$>Uat*ZfH z;RXDN37v%!qnToP%883H>KXium73z%m(ly8ThQUPFi1EyM4nzpbd~D@WRvip#XNk_ z@XT~l{aE0dnug{Iwf)t#QI1_Uqh;nIwPr$**7MM0#6E~#1uOgNtAzX0un!#h56V@Y}+Rp zF!8Bt&?@hlFxVmWnOa!j@s1?uG>GD>g}(UG9K+aQoe=4eFL0zRfM$bK-j?>5hcEGhVOe7=&HV=M;Vs>oskC1V!Mw}UoR7zw$w~9Ea zpHiHS;h7!`Tdrwl1`&$6RaKZ7;*N4@JW%%EJi1GGy&kC-KZWv}QE(mJZ{OV=-ol#4 zyBFJu{^*TOO=FNG*$$+z<>-6G8gF60Zns=7~g2O60=|W~Q6dH%s7DonS ztpn@;?b*dJSpwVq4}Y%{_K9OF$Y2uRCPOevMQ(8WD-8d)BHb>s=W{ixLyMKri=_7h z*zOmundqit;WxuS#|BDK`hd-bG#K@f_RaWEW^x0#n$C`m(dV+_Dn#A^OgYTr z;~9NP`j}B0+`HrT8`3rpH8ZNYHF=eVS!M`0VR&|w8FF=69Cl-%Q`!>?zw$)o$KLVW zA`}>!2pTLYE)n@SQl45QJ1@z@u`F>f4U}Yik1hx-84Q{&`}h-Y53#23TGr#F+@^>m za>T#d&P{qA3s)GQ5LAB?Ng^7#SB{xrw<_>DiTwtV_3O4yiwc^iK?JSY|QJ?(wA~uy(x|rmH zeHQuMF$9uvX(GM?aHcR`^PMzht0@F`!P0Ff$yD743Mf5MDvJ@ZedlQHf{R_c?T5>h zP7!^=vmCQ{+x*7;OeS&}e=1Q5m$1t%yPNK%n@&!YxC~>B`ZtB8;^A96i?z%RB7S=R zBalGQ^&TkVk#5c>7p6KC7#@B(AYUaYNOq<5gUu>zKl@>kpX_=DF|O;&z?lvtDXE_+ zJ4^SUZGmXJ(<%1n*;eEig{y&M;4mF~me(SBFhLS`#{($0s6VcF0?sBGTMOTcsM3y- zz)H56BK${ASm$sJej)MMByQYtzPK@*rMYs}4%XpJ5x=UwW~Ar7)&!tpCw{-TZ?qR% z!2ED7&9<&3qKPE$70*;jzKupJl%^OOwiFlxZa}xQ8ePl{t;~>ofj8y0x|l0i`Pm zuvsmX1`p$?B!}JwC-Xw;CRGa^$J;X_B0L}eW>2iMpAYq1q{Pd`%P(P%*2|9n9UoI( znzrf3d(vt+wK1|IFaK-<>k!kvAhZd2K`|Jg(P#?bv`j6r9M!7$F79()wTO$*H(J%% zKmR+%3d)s)a}KWN_^72y764qhJl8k>bqMo*enhPCO|O897=yqNuU8N&IS}>xY;(P- z9Z$Q1Fj3?@5t+vY{yX;v#F@3%#uw(l9n)|d6jsb-5eWKtOq!M>F6zVMMAH>{Y=d!V zl0G{W%4|59Or+L%e*SOirs!JE6EC<*~<=61>iyAk4nV9 zmE<_3z}^+Pbkl7rL~ye6tjE=(op5060!%CR|L8Pbkvc^>v8K~!{>rRlBsV8-l z*(I~|&`Q~HMoFNP3#C(R-EGOK;RTSR5 zBc~wj)RRs@j*mP47VkDof5w(&E0P$Wa{&fE_9ASsiCweF<_CkTa{y`HY)1~eEg}`T zg3}h3YfId=JJTO-7kNYw?1qhlnc|)djy2?^7-4ydhFymAcN)Vl|#12Yy4A-%F z5^AnjR=#XXep8Emx~9Z8TT+~MJ4TxKhb@H5`xBU%92fJ2)X*8GRw^^!|DB4y`?Wog zp~uuwCT2=W!z8MLE8XTNxvyl{7za2bzVN33!sDe{0`ahAWerucN!6|r zwJl>++43l|tTJXF_L<3Yo78kh=A5GX0@gotvL0 zLx;<&s+z2L@)e*Jx-N+L`vw4wuea|Zje5W1s%?y8IW_G7XSX{VfH@NIV|`(kE_y2~ zZV|KW>u?%uqe(Bv1Mc~d;4^?&wR-0CwthA+O%YRL{@c3aVd)4a0(=kKg8a`;&t8l1 ziWYRr{ly|jg3=Y zd&%5dus5$wZnaM-1x>|pNN-mpUrs;vLfpL~ygeloZPy08pym90`oO8{g3Pa0co0LS~4qF`8}L8xJ7 zZcI@DuBbS-W?@lLURM{&+vAX6t;v%+-{V2SLW5Ou8q${|)e5}TP~s|G0KP~m&vQxf`PgHDjE0R$q0ZbzF} z>{|fJr)jHmL5Wo43t9|mvG!^6xdm_R#R>n3+ade`Q5p9XUlmnJhS(;W&Om+ z5o71I$_H$w9$VV~23s-|!#U$HzQ}S8V^ivWM%O!;#jC8VYx~$)snhvBPYAilXH;o^ zA#i4rYZcBWK93j`>m8!lbrl-gMK`T!W90Jss3;QbGzUmG^P2TldG<%QTb z>Q%iv(h+%W`S@4j*tb6?1_)6?4Z07_eP3+Wdw}}S&X5)T9C{HI$W&*tS#aQA+T%O* zqj25KsuuYCXCgZDG-f*nfT(=;@#cux(Gjf4ei_U_wa0dzb9Sq;d98P6B$?T8Lx`+N zleY&99fX=={d;^kF;WxFq&>5EZe#7~w2$>CUr5gLy~Xgz2s8L(retsW6iF-kg{6G4 zyx?a?d}fuoEPE_Uxzs?P(^hCjep;vJ9V%=-Qy5D5^iU+hhuLGDPH%SgD&44pcpf+q z1=K8A$!7K4>x6De8YG{$fv!i7+1%HV1P(2E#GDUVRAdm}{7#Nw?#2cwI0MiYL!im9 zSO4R(b22;4}NT5VDbhtV0|=5Jfng#B8L-v3wI!n>r_*&`?#EIZ%ek8 z>Q4#yKMruSGe@!8d^nQ-2j`$1*Un2&XfyJ%?X)41DB+C7_;JCnq+E4*oEL6v82IE& zg9$i`+Y3+blqdR%m*PSB$)O+8ktjak+Z^&A3lfrFGfgH@V51DAZnYZCD?XE5$dkqe zj6Z1lV8!_9P3+ezxctg_2@1YzZ*PHd=zM+8(7B~j=*fEf)Op3}w>K4W@mS8dS=%b&F$U^fHOR6xON#lcAwCocV{zUKr`#w7M)(g+qT_T)&o=Y#+y| zqHkmrwB?KD$4K|_=Y5+0^=%C>w6#C$xApIJzKqJIa=EkZWirwJSq}O9X>Wt&3eflCSZ_b!`I*JBo&r6pyvFIZ&vW zoXRf-n3|gA8g%0jM$dh_J28ja)x0`thcB|CXT2+-cFY{NjqUnXHFpo=x z<3i!Z6F`8@z#oq!BdWvmsp621bt}CM`YXvG=VkYGoTNq!3x(>?lwSj+oQ`MER`d)>&+cEz- z_IRw37Qj0&u3$zMQe^@UAciqude^<~u=nZ1eTd~{gjqM8Uj>kEIK2MH&7PH~5ealB zaf!ckQy3@5l&Q2i<`LcUJh1qkzQ}ID(J_hnv0`dn=N1b; z&^aLh3E?059ArLpQo|Jy*2|n14~j(Tf;!K^NMS`9FT}fs4JjV*PJ!tNz^}H_DN+;zEY)r_po& zg%S5?wm-AK0qvIcLekWT;Xf_uLuF-(7cDsxF~6m)1vLfUPq8QtDwlodlCXLY|Eb5x_URsPMd zV(PzjqEqVt%8Dte9~rCa5_FVdTFy>HI$HBk8z)^++)=Jw*f#sgD2cms%;b_ZBDL7P zDC;a&7@X3!6nJl`P22k@yCgJtQjV?rI~^*9td(QXJw~k8|E=I7E(pd!8ZLvOZqUvG zyX7j)%rn4`**Y`LQLK0P!|%<0*bv9X!-7O{iaDJ03^Q%`>J}ICxSmB;N>aw@cNXNq z?=9dkPb!Aa2=yZ65weaT{(1drETxNL>gZohis`FEl}cY`4D^?y6g{An_Q#oe>1lOi zw!6_6g)R@O;94T_#s7N_9_TqTwA6{m$`tV8cYM#M>b^C3kd0OT<^kPO5DIB**vy?{J+zPDS zx!(egh*4Sp;)){9+#+0YYkbSvMw9FL|H$D+HqBj^UTj49xUvKD_}muGFQ z{*e|=(T;n*9D!vNv!4Dd!*2sM@2dN+)tSyv2By*vH=0^jYSC{cT1@BVvBjLPwcpQ2vfX4Hy0u>`L_m4gVJ zvnk2Ww`y%RE(iQhVt;V$pZk`-XBbzeX05Fn3=-^a0W1HLJl}Kp{IC3RZ4QXI3=tKn zd7zt7h0`)k^nt;dZC^$?oN}0J`5?VY!Xn!H?F@tL&`tY5{&niQrHzdZVqp~fM$N7# z6W^9gDBEhiXzibvYV8~*yOVe47vJCV={g2x#|MzCQFS0VHCN^*31b-Li9+}+3ask1 z&ZIcysfm1D&^Vp~abXJzl>WM*>2Dx$^204Db21^~HFE1-o|Ep(t z1MtiMY)zkbGpe%Vo2L^yCdOR;=vS!j8HDD(gprVGr>k#Nh83kvDFXJD8GI^gTD>th z_VSwTUN|2!+zTj`q92QK**NCL>M#+yKF+?EttqfYh(7X=xo?uElD0)yQL0ta$YDku zQv4XGQK&t<$x)zhU+T8`^Ji7>E$-1H+7Pfc2AHzx_P%A+zC8q}`|) z|85XrZ17E&8Ont3;;MyPyrQcLe;W9=(8DC45e1B0`i1k_a?}Dpypxc|Q!Ng--)kf4L9x2c)E_HdxMc9B6* z!L`#uLfp$D16T38Z{yj)tnv6^nX|~?lT05w%Tl}B5y!-RKS^OD+M>?f*I>+rF6iUC z-NRxF-cxhoIg3>kk*R#M#{a|enGip;b;u9raF}`1DtJpWs{vXm&vBXhv@ffXI>k}m zInOE^S%J%zX)=Qu6X-dRa#_WHVEK#~BW4B!CcrewIDq&sfI0HEgrp91?$--&CG6s( zK@iRK_w4h($45L4hd=u|yLr`u+tL&~Li4slT6*bpQD)Fb6JZdWSEiash#k%s+jsxG z?RXl+xpAOeA`@$SYMGXEPnjB-fcboAtbT;q4Q+%)) z)D)e=gyTZGRF&L}q0$e|V0ZxQy88V#&|LM1Q`NrV!)3lzCdJ-pZ)Xu5Q|;tqb46&2 z#HDn05t;ZQKOh&D724d$obs2!ZHeUZ6ysF!?f;lcArRKoJVi)8e28$g6-G2SD9R9J_tB13(6`^2fw_#T;R{zZPfC*P(cje$RAddta}C-QmOP1;)Qv z7(X4P^+gy>Jw`-abFT6j6dt{aav$J0(kQ=F1kpMbZxr+bYYYCJ{DaLTsnhpTvduwU z&Z&S2cKb71nxV-^)li*i6nn2%iShBX2$LE5P0Gj0)9TW~U4t9IDEskN~GYl=i72FlVsPzOAVIp&+ z(I3)_46IzRHY@2FQccyc|JiT)f030NYFKhvQ1aKszIvu{oF<7p*Vc(=n;3U>X=DqLxq1x z;0u%rO6(VuAn)j=N$96^5~djvmp1L(dY4foUL-O8=syQx{P$(dsB5)H zDm3Xa^|br%ifm-d&C{|f%xqlz|79ftf8hyv`tA4bFNTOrdP8BUv2_E>tGeI-NWH;z z^Vfa&^WQdI(c$6YrHVtAIUN6fHkk)XMX1Ir0feC5xbtaQ zMw|;b0MpnQ=&bTQ$cs=iFi40X^2c`QxClqF2SE0_FPghwCTvv;m1q3`cwbPT4j~8& z{|(eYxaPG_K=$sRN_@fmJ8y_=DD>u}$S@$#^L_xDITpa*+JZN@55CCZy;FNWkQD5R zR3<}ldI$7Hh4*dt4#weKygr=)03DM;>gt%F&O`ASOrXlo4sd9S$z}8503@embuKRF z*Y!VvRy_fx-ncCWbhxw@9W(>h(tlBm$KO1mXuHroQ)(a=;>xR`}x1DdzCj5C3HX|due2!Ng|TlTLF z5x4qF1;yM@WmPZDRw`v9SW;%?5{Z>Hw%co>AoN z9lPZPip9((gCFVz0FY{3rvVJ}b)XUA0sz5(4|K-hPtVLaO>*z27AH#*`LO|v0(^zV z#aqC)#VC%8i;FEMP0O)4Klg2#yLD_4fL_7>Ysa&~<%y}}(;-Xh2V9kY#o=>LSEy!A zWOC0`?C$ z(j&9({Hy;;8m|Au%ZBF^zS&~}KN(g4Blxd2U7LY~qHew)o;A8$%wLZpZDXeR%m4Z+ z2^|q%MNcnobW}#|(U1^1xt*e8FZ{P#*7(n#Kj#2eES{N}nRz=ayIE#`#tbw$YBTt zbdQkK{#YItDw5U_^0d~gmHoB-Nz?Ad4ptX5G?OH0-6Xjr<^sz3sHb3MbY)>-Wyr;O z^CPH(#(Na7Tdh$ z4R7$YH19Zop^@s-X5~4P(#Y>~YdBw}XWnh_dijkK9eB-+m%DY&W|Ut#@Rkc?q@<*y z?jIb)W~n*_GuC|U*1P;XfxhAi`35SvRKqrvKd#UB7Yp41-K~VDfCdc!>N!5q`gINM z6eN!`4_Esc45@A1r{#CiGk%SY^jT{iK5HFbdjby7i1TDY z);%)}pS`m(ntH9^)2G#W?38Ebco6~s@Dj=$E7^>y8DXUcyuGMjn4QTuok_rNEx8Om z$?^pb8*Ks}XL4#BH$`ShZvh=6pLd;_V>|f+6t$bTLH(LI{3=l3V0@PV(w-Tfb+UI!%!g-4=Q;OajaSZanr{WT~QRvD^=k)dO`b zf=RJO9+oE8n@_Ohoe;fU5XoZ=4a8t=pER!zf@?cP>t;dQ}gqFuo{=3xu-#-*n81$m0lPS}LmAMRIQGgGy^a#P@ zb4*#)RaFvZW<@xjp`fW!AOL+ad{Mul_)hX?#hSrJ$=HsYc7 zIa{V`@ohIdG2p|`+yS~H3JL-k@a^A^=sVyxpwAR?&$-0kf3ZO_{r`H|Y}{A6&hsSI zO|SUp`5TK;#Yc_3o16K=qL;8~n&~^z^#tIx`m!jfl&E~)V|?THcf8}*Z1H6NIHY#t zBFJD#CzW30PHK@z#E9!8-4CbR$TW{6C?w$ zVETTfzqFhV;u-4vKzr4F&xbXZ|4&;)7kk6(JKr$1zD0!WOz$eqPyKI2u2r%z`lA{YHo;TYvzi+NY5_W%sw-(f}%-BfJ`;Gyj!~ho2d6yWf^y8GD&Vi_EWsg_{E4mH!Vb>gLe z?pBo*K#%t|iZ3ngw-9*Z4khI-xpC<|pMwu?-bsID?oj41@*ETR;PB;UQo>W!+xa`a z{o`|uE;s#@`iJJLt8b6zn%Q)U20y)6s{=d$s}6LBzg8FT+SMfFoLtp_JFbR?7B?V; zRLuMg_jkHq&H--KY3M0ibx72QXNDHueC)#0w|w|wPKCR5y)&PTX38&oSlKc%&CR&% zvKCMg;K5TJ5b${Kx$N@VzmJBSbDVvqxO(ae%?aot&(-~jf-C;gT3#ire`0c3CVs}y zA%!1*iMcg+=wu1uT`fUL3732qQ6ol`jn?IaEJ%Rh`tXzmuW>6~Q%dya>e^|0qJEtg z7mt+*Og^`drmWqna3TB6)0+(?I35qCjY$Tw&egsU1 z!aL}Y1A|9)P2gR2WRYy2KL;y7{nNcEtNtE|kg&}-K&>a?vVWnXWMPN@8z-H{>)Cxm zqvT>5wPU-YVuRz`=?ofupWRzmG0wmo%@lEMM{Mq{3YUmF(rH8=m?4;f$e{Lg?{iFXmgg+!FhZTQ| zDOezt1pRsza0Up{AKbQPkYQHbKOa_evz4N!{>;Ep5%SNL4<5L^tXQIMHp5j2lno5R~J-LY2|?rUGYG>Xf- zvf5N!@y2eD6Ph!I>_uK*-aGP5<~&_Jo>i*8@U>OhXs_~dfV@{(ou&s%-@8e?EXD=St@rop5drPiAB|)d@#V;^P}A#maxUV$SicHF z`u`GXy^^+)$j!J(lrm0bK?h0h#re^m?kdWco!aVTSp`MEbgSGax3Fd)qTVbKe1pp8 z=C0$L=}FjEWJPclRDcfnGs8%|8{piY!rB42ePwq;&!a=v@a8H9?fiO~?(>AJB8L&H zAc91sQ2LStD+>0XhZ~BlvP8>=u$d{>yXN}QuNg&z7Ab4DM;_@~@7stJ=rfBJS)pOrQ$?f2O6cD9RUmXcxh z$LZ|phWErSK;h>ko7P{|F!CfDH6G#xJM-yeIM!zVH3h|*Fz+IGVm@V{0bg0CX$P#X zvip`6GRjSXkJOQ(!MC5;{br4S#T_0n&vYq^m%rQa87DYq=Gi z^&aCg+|*=PS zX!!g(E#BRG75naf&Ax|9m!DVoe2?c8b6YCL>EOjkTf7cc)Z%eyhYr8HdlP!(KF@<* z@{7FZt*BUtg3b;@n8*8s% zYWy9*87r&%wyXUEsnjcnf-?l7EYux((W>o}b|Y%-HK3d3!QARzrs9d0IvrVhioO@v zGX?^)9+~tvEKi%yu`-;={cW_H|7o;~jBst$>qB)%C(_UECWN2eb%fPj7d-BEUQh&* z>mm$mePPMC%7&frC5QCKORpc-e2+fybvqMeYc&$k&Y$)zRZ7;huL&2RiMQjc>TD-+ zl>QCGA3Vdwz6^NlE~juim_J+hHZ+h#wh#>Fali-YYebZ&&u{GB#cy zY>>8W81-GT8`~b0yj%bIpXYd z+uqV&=3f?YzD5=BTO{#)NYPz+%mdfe#1WGww{Np-A|)!P=-_WRCu$;mzqG@B{owPStFleg z4w2kqLTk0+vw49cdx z+ffiFRwI>^CN?Gbdg39op@WF;i%W9HANzsBWKC@27LTE4XOu6>8ZmttLbJX0Jzf*h zSK=}-hFP0=1(0d61!bG7Z6rLX)m!@LK7VupHbt~X`NZKbJ+skFuUpZusX7#`a(h9z zu=Zn9-uF(Bt9GcB@gq)Kb-DpYGl5@UWiuvuUq$o4=pxm{ItVQJuPryN`4O{8f1*8CKP1~0y;Jh~I`s|f2p2K+&m&HFVGNeCdE7qhC= zdL2%3o9IdR@W>Y~Zo=p<9OYYa9?+CyjDXd|Yyyj;ol<|YScpPGmI#4tc3(7bIG_ic zEQ7%17=C7;;VrcNcCs!>s!sbgp6J+?mU6QKOxOY|9kJ`f*+z_cJ0F{|F-nc;6!v&U zRiYg}+mLNXtr5~KzP)4wfwX&$+#8SKCka=MLhJb1FFY@2VBdhEqJK4?Y=jzL)eh&ID`P0;4mn4G*Bfi(nZHPi?PsQi$T}v+)fG~; zgxSyZyEHod9XCJx@uMEVR3SosxE*oQ=v}?5 z%Y-=nwl8aF%TVJu2l-{k`jgrA#uS(PaRQ0G)!oRB&6$jYm@DRae=HDogJKJ7z3wP( zb!28(u_KQ84XJX7WoIT6U$8y-W)x-}Ht>rZ%Ss=Vly*F@_Nj)JvdN9T#n&E}%Z1pF zR-D8;$C5CTg~L;Nou~41GWXMehCV2LTM^h`mnB{ao9n9{QMF5MT)wF!5os zZQQFV);r&LHIysHk|aT&3$+H+3;G3wl-gzTMN?W?zP@p5n~KuIE^0@gwAAowqd1$? zpw-!lREH&hq#{}FFLIwBs>19pM)Gu8Yy#7_MbftB98DrqF&_T zP}>a!E8DJG2S>)Ue4Si2P+vsIT=2WDrp8p&sfauv<|g3FZ-!adB~9lf_g+DrA+rRc z6+a|Q2L0Gk=1+2qVxp;QobuIfynA97*XbdsvA8Ig_`1yHxUvigWCqR5I`$Gzr$q1U zs!0y!NDK!Gy>AVD{556S*!og@&84wtFuA^JbskhO)SLZzPq)x2tT`3=23fa~JU{g( zUPR}>`HS8qjg|lu?3eV^7IWzHCk!2wD-moQs~=QVIYGuc)&4fWHH_jFMHPEoYM)1j zm@BcfdOgfrz_OhleMc7--;pbRRP`7iI*pUG$@ zN4Km>Ty?znI=^EA=h(Dfehp%%>4@06tccBzt{X;&W*2eAQ6nfhS3>QJ# zv6A5!{9!05+1%Iw*~ajQE&A=-r#fRFj!s{pTDFhp^GFp3~EF(eXRP zVls*=k32v0$*PmKwG9wJm+Y9MPqchWIgsyypE&c5Q_1$^4Z^T#?)!XF^6BeFdd!%z zW%HkG6-#PkPrN0z!b8ThJ+kqm)yO&t2f<&K?1r)gQYD-nwZ#;p#>JP7whgj+KKD|r zu6&F{*)14Ur%UmNXlzc&O=3g@~~uJn*|*^}tP`ejksL_x;Sa%>#rd9x9G7oXYW zQPt*=rB6rto%i6_iJmq$mtR{2MnJDuXCD^QFLYhfPa`Ts&LU(yt_8@GI13 zDl3)cGu#X`OFI|2fG6Q{l&FKyLWQ-4-?|}O@bI$k=sF76ZH!0O@@MU1dBVPRtn` zW^VyzjJW}_fJ3B?4jGo1{K_Ae3_Xez9Z~w-mu*U&Rlw)j-BRy-(}P3Lp^}ZhDOGtk zxL}h~AI`4>7yQLO#Pe%*i9wiQpam72(%QS@hwl@X`94bg~iB}ex$!NQT6cd3uLa5VHCF?0dMd@ zo5~(e-XJ&nh%6?o1?xN-{aIB%R!SQ-fm%#0MRHUYnTA%pu;JI2%xPmW_{*XcBxy%l zp?1h-sY5=IO!KjHh>8I-#kxUe{M&UXB=t@k)(5pgn)B_c7%3YRjcOpZg zn#MUM|27&repKt)o(tLR+hD?$Pw|aJ)2$J*&0337BsxInTn?A0;Bsp`@~d-ZXj9Xn zlm;I&5Wwft^{^7=)9p!X&KUGGd>)mKk1m<7x_^)XSJytwN0HH49(-3cPs*~T4eL;_ z*`}<8`K5#McQl#gFVcjYrgv>}XK&^rDGK7fF{FEOBBiE;y`MN`7&1v@Z>pR-)nqT9 z+tlu2LqnWlkYI;`$bx311FS&lY#%ld!CP_s5!Tt9mc^>%Xt1i%q*O(zc!s%@WDv>V zBqXp0)1{&wx{5$P{oua`oAhG>j_h;)zwNq1NmhF^ zg&<0K+DxxS)d^taPKT)Fuob5Lkfw9(-%8qGQ?trVCTm?1p9%VAIT+MQ)Kj@mb+jY> zUdSNAzO@_E()O!~HUr#M@bK6an5?eLi%v0Er#|RGB%z=OS>3~W!G8I+M?!@jxDCFH zh%fAyv2I!1rd|7d+ajRTXxds;Pf@xUFOc%C2>ODYl#)mXh6J4^oIpB`X;ILR(r->( z+JWd;AeO5a#uHKED+Vd<>~`9%@M;6m>k%a=tsVu^>bh+Bv1k)9BXo)fVYF~Wf}@_M z7omuX-^agyM;Cnx55NoTI!IS*VV%!U6WWL7Bp8{76I0@_;!)D1q`gURezn?(mR;09 zI_6QTu2$bN_@FwpOKf;*=h(3U+D>ER12)slxC!i7h$$H1fFq}gjHWsYsGWdfetMjR zhIHmtN;jhUpp&M&T6bC=T=&to(^{ow1p@BhdUeGpnm3b#{Te}&G|^YPrB!Pc zI@>Ek-`Mgz=Sw5bL>Zi0&iCoTUeI~1sK{n!XABCrIR}O?^zW; zZPvzn$X|0QWU8HH!?+aNm8=u%MM_KYLmUSz7rXAZ57uy35J!?y?zT zdv|IdU`8;D8xzT7fXcTrCMZ*IE_+vKBn6?XFgy_ZT_twdiK0Sl!M_IQXNNxkOQuKf z$gjONoqA3wEU&Xn=aTX6trph4Do&^d=Erw0p$3`k+3sfDX#MUKYbTqe%dO=JPY;iJ z(_ZAuUIueToG4|erM42~r1>_Gopb+JVBENF0y7z<8y5&*a}I%xb6sfJrzU*4@}HG4 zXQ6jQz4z{KHlF`4d3k#eiThY1VF` z&ma36?{4fW47q8E*~J=)GGR=7I66%S3K@8$86FVERG2@qr>}e+*H@t-PYgjEFC85U z*4qAz6)T$yXEO7u{=7WHTT_n{nb!H-V@7`WscF)3Os6gtnM&LN5BUo}IKf2e>LrWg z0l^~A+~Q@)kgVHR-}@r(3ZQ7j%orQ^wFe3cnS=#WAP88S_lj|dX%Y`{A5U?aBQB{pqO<>`XN zQmhsVsw|Kl%nSMA+NJ*Q9Y99E0q#H_!BRF=zX0=#REh(Yqp};bfU7@ubb%ABx$v>= zyVn|PEJCjvYK~d(xVi*E!vHD7PoY8$y$!QaWZX3nsMBn-t*GZ6@0PNBxjtWDbKhv^ z+NSV{GN+sUJaJAOQs>+j)L#m@d0L`C)`nTOOI6j2gxYJp(RbCmbCq?V0afruF@fN0 zr`go%NE275_cP)L74-kp)Vaqq_5X1^NlUd#80E4OS!p7dxrE%S#iDW@k}sn%7Q=|8 zz9M(Y{Z@pcXsNjqVlkISZVhw4r6O_X!j0B!g~rUts~d#){Yhob9Q;f&Dm zs(@E$ez$Y<6WY)wk)eZ8bqC?=qVqVu-L+QToj*Fv#yPR|(c5>>`!mBbu7QfTek!+R znmzw44mw++b!xDGf@_loxVfesi%TY0H=i>CU;%0sl8_CuS|wPRT0 zF@X;ZLFy1`FiI0T9J7aB8mUQIrK_&{&VQ9x41q6B=Js4P&eW1%@zXvDM6xEDVZm#g z_B*s^OXG>~_ID_uA4&(}puP%0KF4s@YQjoJyu=U#n@F)|+zD`J1d!mo5&+$GSSp@! zz(Vj&qShlLE2&O+&io6tl0qS(nYA2$39p&B>){cON)>AkgBaf^vRSrY<@Cpw?^6j; z@1Jdtzl{Ks{7ZQ^bZU4})f7PnmO*zBNy#;h2a3?+zXcWko>*!$lA9b&t$xpeMXRP_f2~pWo7nTL z`$SPI^H*72WEweV!KnIYxo8QZqdsPx?&`DpX2I?3i^no=AZRuD@N{kEV|{3J%#k8J zSfs|G^rGP|U<4a(7XZum}ihRMeZSLAwq&wBFFMED(n+R!3#nMN~HsT2}1Jr!!0Y}(XS)X_Lb9KWq~ zC4B7qQL_?Z-I}0lvAwDm_kcDwxOz@1$21_?cEfS=Ys5_9`AQ?=+AW&ZkM6}+60l>M zDT>VvVV8eU3CT%Lvy)CNvfTOcTxf+T!a+*};Xn|;Su2B)kf=tsxA9nOWP}3t@d;s~ z(*rc5;vKe;YFkEMRv0cj)Ib+^eCgiw~cymV_M%R5YlDOyux2 zy@9+kbb`^4_YHLSIrBNbnr6Ug8@ICrjq#s^D=Z=hwCBG{jcma^EXtCAbu=A7+~!f` zR+DKa96Oc&TdVP|%j<5=Vu(D^E^RU;Nm=X#&d_$QGE~`is_WQ5=_CrXV|KafvMjfo z0hj?mD(ScrpfKsoip*P3d?qV8DV z3#azE636YN_M=|h8vn}$knEeB7B+{Lf}e>b>4c?e1-5^_d&C+;wA23fEU`E$_QH z=qA~bssz&XosS!t7(r(5iRYt=n+MfP@%|)m@G1?oyq=D2V|y^Sn)}F{XVIHX=8i_v z5FVtx(MO6tu38))vl|2QAMQfb3xK?_tJkqh{3n_^f|80kkxD~BQ>>m z@o2T6!@+?56Tet*aZ|}+l?b`l#r=0VkIpXLZpPJ9sU&g+jj<`349d#!pbs&M0bs)P zC{T+8Cz~>Hks|vbzCODka6T$EA}G-BoPZ~_Zg&pFTFu@)0B|Du*4C%o7bM+ms5=Sf zU_8r83?h#Xci7wN%h#M3i$#Z&1hI?M0@eU!1ZFXcKKs5POV8LCbRLy;$y+sxG-ZwU zujgz6l58P>rk_A`v@x9yX{4WH`#Viu%m5Z>3OA72?cg?tzV6oX32p`z7MWL!MArG5 zs7Pu(x3sqjF_t7A(Aj0hvKqWQbKcL20`%c0=j~&UeOk=bl7@%?boSN_?`*9mE0PS~ zRCpl4FRqOa0|--t)d(*(8}a(ln$;fvOI-Er`KVKx5Nz*tt7f;-df;2X0mAS32^t%D zbE#89jfLc|M(&gS`w$-8uq5BA2NS-dom( z$z5myv>X7IG^qP(tS_y4T2@EDRD4{C^!LIbpjw!s;+e%<>7~u(zqtX*x89u?PqEMv zh=jDE(l1200Zic?B_m*{G!d zOe}RYQ97W(RuyiW@vqu&yhWT>2-ou-6b3jXJm_%Gl~&!sdN!N4H<>A2d>xZ zFbHv(&ovHw0g;Qlp|auOup+gU$rJD&`oX$pWzb5LFwn~-ECa&D!td_8)dLQ=tmd$h zV1?X%R&Y-@%RQNMb(j27DHGG8j6NENS_%{f^ zWEy{+QnMQ^6^^haoePZ2=5E1VcP6zJQ4AM3Behztje6RI~l z0=_6Cq=p3=7c(_STPv-wV!rOohdB6aTC9qA{YLFyiJk1F;Nw+(^Ya2Lz!SpXaghND zOP4-lRKB61;kyqXUMW!QKBqskbg&O;jX3PisOH1k+lEqiHx-8c2{JLgeWMti3J{B8 zA>LmF+Spl^m;SBUhCdxEq3DR4j`8R(#g-KiDEo*RBX z{by)sXZt(frOvvg^q-uy7pBsS^YHxk2JDFz`z<Hv>kCtfdK!E2n5IKu!L$^?Ve|4bvoUbh%pALB4i50-?Wg=q!8Nq+!-`# z9n!%#ytbbH%HF9U)D`yA&#Ti<5g=6&Ss4u1+0x;@JNdf1@HC9RflrrFlxWDx$|FEP zdBc%4hP`DacM)C>g>Iv+0_!eJ9c0j5g~(Q*;O#09YvNAlHx~NB?y~ghel7|h4Rvp* zBrI)$Ol~fz{+IcdVd=50Ij7n`m3@=E=4U zEfB}h5GJO6l1veGX)E97J>5x7!H+A{KHPtjUnJQsSbYlp=tAN7TY7o(mKr%nn`H71 zJ#V-I*CjSx?>487Bx$+(_miEKTBX-eqB`;wK%Q@A5F@kKCu^tjqd+++1D5IKWRG6o ztRLFAKRVX*Xum~b@6e0z&+(^Zu6&fd4&Gjp5!=x8AAHUGs@-DqI{>_*(NEA! zRm1*-*mcBp-$ZF6b>RH21fqI&_U_h&dw*y>t3E!7LVZ5zU1JUcRAPsBaCztU8h(Q_ zObMGKq?hGc+-SF5IrFtfy94b>xlug5vz&pEy9D(1Z$~%N5JR^BNkk#!>^ZqhN}yY3RAU+lstA`qEkn&vAzSp}+ypjNoSuP}Av* zbI11tY$=}lXM~h#YnH#(98l_jIhMs3sJ3Bi;{I&;U!*Egy=oGM9q_@f?Z(e|9?v^L z8^0Iwx5#k6&GdxBp0nnf1+`)7OXJnCtJ)pgYQRnj*1if=m{55%9WZp*3_btxWbQ+O zH&1PtFyy)r2FeGHzMhPRy8}es;_^!-5>l58TuWO{=NbsWn?IyB$%6!TI^MR0pn&aX zKHFjL31CQnQfoVWCD~>7drP+Viy37{_DlFdzy)C*2X3n^I4n*)k=%7Q&n}_^6P%b| z`{0iGoKiA?#{tERx!+vMyunwkyGSZ=?t4dF31JF^&v?}s>tqqdm;Qk@%YBd@B#CM)-L6^?~9=U%XK zwE(6*fI=T>^**gw8FV~rm*w!P;!6_34c=7U2b3FzrUu1&_n-a;=x9Q2 literal 0 HcmV?d00001 From c4ddb4d82fd843bc97652839a61ab09428c1e7d3 Mon Sep 17 00:00:00 2001 From: Diana Richards Date: Mon, 21 Jul 2025 15:20:03 -0500 Subject: [PATCH 4/4] fixing alt text --- ...manage-oracle-transparent-data-encryption-azure-key-vault.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md b/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md index 6275225c0d022..f9e76fdd97b5a 100644 --- a/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md +++ b/articles/oracle/oracle-db/manage-oracle-transparent-data-encryption-azure-key-vault.md @@ -19,7 +19,7 @@ In this article, you learn to store and manage Oracle Transparent Data Encryptio This integration enables Oracle Database@Azure customers to meet a wide spectrum of **security**, **compliance**, and **key management** needs - ranging from software-based key storage to single-tenant, FIPS 140-3 Level 3 validated hardware security modules. -:::image type="content" source="media\akv-on-odaa-architecture-diagram.png" alt-text="Architecure diagram for Oracle Database at Azure using Azure Key Vault"::: +:::image type="content" source="media\akv-on-odaa-architecture-diagram.png" alt-text="Architecure diagram for Oracle Database at Azure using Azure Key Vault."::: ## Prerequisites