From a54d8b8a64d97e467acdc00f580d68f9a66e7cd1 Mon Sep 17 00:00:00 2001 From: Tapajit Chandra Paul Date: Mon, 28 Oct 2024 20:34:27 +0600 Subject: [PATCH] Add druid reconfigure tls ops req Signed-off-by: Tapajit Chandra Paul --- docs/guides/druid/reconfigure-tls/_index.md | 10 + docs/guides/druid/reconfigure-tls/guide.md | 1539 +++++++++++++++++ .../druid/reconfigure-tls/images/druid-ui.png | Bin 0 -> 46148 bytes .../reconfigure-tls/images/druid-with-tls.png | Bin 0 -> 99499 bytes .../images/druid-without-tls.png | Bin 0 -> 114409 bytes .../images/reconfigure-tls.png | Bin 0 -> 37055 bytes docs/guides/druid/reconfigure-tls/overview.md | 54 + .../yamls/deep-storage-config.yaml | 16 + .../reconfigure-tls/yamls/drops-add-tls.yaml | 23 + .../reconfigure-tls/yamls/drops-remove.yaml | 11 + .../reconfigure-tls/yamls/drops-rotate.yaml | 11 + .../yamls/druid-ca-issuer.yaml | 8 + .../reconfigure-tls/yamls/druid-cluster.yaml | 16 + .../yamls/druid-new-issuer.yaml | 8 + .../yamls/druid-update-tls-issuer.yaml | 14 + docs/guides/druid/tls/guide.md | 6 +- 16 files changed, 1712 insertions(+), 4 deletions(-) create mode 100644 docs/guides/druid/reconfigure-tls/_index.md create mode 100644 docs/guides/druid/reconfigure-tls/guide.md create mode 100644 docs/guides/druid/reconfigure-tls/images/druid-ui.png create mode 100644 docs/guides/druid/reconfigure-tls/images/druid-with-tls.png create mode 100644 docs/guides/druid/reconfigure-tls/images/druid-without-tls.png create mode 100644 docs/guides/druid/reconfigure-tls/images/reconfigure-tls.png create mode 100644 docs/guides/druid/reconfigure-tls/overview.md create mode 100644 docs/guides/druid/reconfigure-tls/yamls/deep-storage-config.yaml create mode 100644 docs/guides/druid/reconfigure-tls/yamls/drops-add-tls.yaml create mode 100644 docs/guides/druid/reconfigure-tls/yamls/drops-remove.yaml create mode 100644 docs/guides/druid/reconfigure-tls/yamls/drops-rotate.yaml create mode 100644 docs/guides/druid/reconfigure-tls/yamls/druid-ca-issuer.yaml create mode 100644 docs/guides/druid/reconfigure-tls/yamls/druid-cluster.yaml create mode 100644 docs/guides/druid/reconfigure-tls/yamls/druid-new-issuer.yaml create mode 100644 docs/guides/druid/reconfigure-tls/yamls/druid-update-tls-issuer.yaml diff --git a/docs/guides/druid/reconfigure-tls/_index.md b/docs/guides/druid/reconfigure-tls/_index.md new file mode 100644 index 0000000000..d97e1eee6b --- /dev/null +++ b/docs/guides/druid/reconfigure-tls/_index.md @@ -0,0 +1,10 @@ +--- +title: Reconfigure TLS/SSL +menu: + docs_{{ .version }}: + identifier: guides-druid-reconfigure-tls + name: Reconfigure TLS/SSL + parent: guides-druid + weight: 46 +menu_name: docs_{{ .version }} +--- diff --git a/docs/guides/druid/reconfigure-tls/guide.md b/docs/guides/druid/reconfigure-tls/guide.md new file mode 100644 index 0000000000..5cd0080298 --- /dev/null +++ b/docs/guides/druid/reconfigure-tls/guide.md @@ -0,0 +1,1539 @@ +--- +title: Reconfigure Druid TLS/SSL Encryption +menu: + docs_{{ .version }}: + identifier: guides-druid-reconfigure-tls-guide + name: Reconfigure Druid TLS/SSL Encryption + parent: guides-druid-reconfigure-tls + weight: 10 +menu_name: docs_{{ .version }} +section_menu_id: guides +--- + +> New to KubeDB? Please start [here](/docs/README.md). + +# Reconfigure Druid TLS/SSL (Transport Encryption) + +KubeDB supports reconfigure i.e. add, remove, update and rotation of TLS/SSL certificates for existing Druid database via a DruidOpsRequest. This tutorial will show you how to use KubeDB to reconfigure TLS/SSL encryption. + +## Before You Begin + +- At first, you need to have a Kubernetes cluster, and the kubectl command-line tool must be configured to communicate with your cluster. If you do not already have a cluster, you can create one by using [kind](https://kind.sigs.k8s.io/docs/user/quick-start/). + +- Install [`cert-manger`](https://cert-manager.io/docs/installation/) v1.0.0 or later to your cluster to manage your SSL/TLS certificates. + +- Now, install KubeDB cli on your workstation and KubeDB operator in your cluster following the steps [here](/docs/setup/README.md). + +- To keep things isolated, this tutorial uses a separate namespace called `demo` throughout this tutorial. + + ```bash + $ kubectl create ns demo + namespace/demo created + ``` + +> Note: YAML files used in this tutorial are stored in [docs/examples/druid](https://github.com/kubedb/docs/tree/{{< param "info.version" >}}/docs/examples/druid) folder in GitHub repository [kubedb/docs](https://github.com/kubedb/docs). + +## Add TLS to a Druid database + +Here, We are going to create a Druid without TLS and then reconfigure the database to use TLS. + +### Deploy Druid without TLS + +In this section, we are going to deploy a Druid topology cluster without TLS. In the next few sections we will reconfigure TLS using `DruidOpsRequest` CRD. Below is the YAML of the `Druid` CR that we are going to create, + +```yaml +apiVersion: kubedb.com/v1alpha2 +kind: Druid +metadata: + name: druid-cluster + namespace: demo +spec: + version: 28.0.1 + deepStorage: + type: s3 + configSecret: + name: deep-storage-config + topology: + routers: + replicas: 1 + deletionPolicy: Delete +``` + +Let's create the `Druid` CR we have shown above, + +```bash +$ kubectl create -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/reconfigure-tls/yamls/druid-cluster.yaml +druid.kubedb.com/druid-cluster created +``` + +Now, wait until `druid-cluster` has status `Ready`. i.e, + +```bash +$ kubectl get dr -n demo -w +NAME TYPE VERSION STATUS AGE +druid-cluster kubedb.com/v1alpha2 28.0.1 Provisioning 15s +druid-cluster kubedb.com/v1alpha2 28.0.1 Provisioning 37s +. +. +druid-cluster kubedb.com/v1alpha2 28.0.1 Ready 2m27s +``` + +Now, we can exec one druid broker pod and verify configuration that the TLS is disabled. + +```bash +$ kubectl exec -it -n demo druid-cluster-coordinators-0 -- bash +Defaulted container "druid" out of: druid, init-druid (init) +bash-5.1$ cat conf/druid/cluster/_common/common.runtime.properties +druid.auth.authenticator.basic.authorizerName=basic +druid.auth.authenticator.basic.credentialsValidator.type=metadata +druid.auth.authenticator.basic.initialAdminPassword={"type": "environment", "variable": "DRUID_ADMIN_PASSWORD"} +druid.auth.authenticator.basic.initialInternalClientPassword=***** +druid.auth.authenticator.basic.skipOnFailure=false +druid.auth.authenticator.basic.type=basic +druid.auth.authenticatorChain=["basic"] +druid.auth.authorizer.basic.type=basic +druid.auth.authorizers=["basic"] +druid.emitter.logging.logLevel=info +druid.emitter=noop +druid.escalator.authorizerName=basic +druid.escalator.internalClientPassword=****** +druid.escalator.internalClientUsername=druid_system +druid.escalator.type=basic +druid.expressions.useStrictBooleans=true +druid.extensions.loadList=["druid-avro-extensions", "druid-kafka-indexing-service", "druid-kafka-indexing-service", "druid-datasketches", "druid-multi-stage-query", "druid-basic-security", "mysql-metadata-storage", "druid-s3-extensions"] +druid.global.http.eagerInitialization=false +druid.host=localhost +druid.indexer.logs.directory=var/druid/indexing-logs +druid.indexer.logs.type=file +druid.indexing.doubleStorage=double +druid.lookup.enableLookupSyncOnStartup=false +druid.metadata.storage.connector.connectURI=jdbc:mysql://druid-cluster-mysql-metadata.demo.svc:3306/druid +druid.metadata.storage.connector.createTables=true +druid.metadata.storage.connector.host=localhost +druid.metadata.storage.connector.password={"type": "environment", "variable": "DRUID_METADATA_STORAGE_PASSWORD"} +druid.metadata.storage.connector.port=1527 +druid.metadata.storage.connector.user=root +druid.metadata.storage.type=mysql +druid.monitoring.monitors=["org.apache.druid.java.util.metrics.JvmMonitor", "org.apache.druid.server.metrics.ServiceStatusMonitor"] +druid.s3.accessKey=minio +druid.s3.enablePathStyleAccess=true +druid.s3.endpoint.signingRegion=us-east-1 +druid.s3.endpoint.url=http://myminio-hl.demo.svc.cluster.local:9000/ +druid.s3.protocol=http +druid.s3.secretKey=minio123 +druid.selectors.coordinator.serviceName=druid/coordinator +druid.selectors.indexing.serviceName=druid/overlord +druid.server.hiddenProperties=["druid.s3.accessKey","druid.s3.secretKey","druid.metadata.storage.connector.password", "password", "key", "token", "pwd"] +druid.sql.enable=true +druid.sql.planner.useGroupingSetForExactDistinct=true +druid.startup.logging.logProperties=true +druid.storage.baseKey=druid/segments +druid.storage.bucket=druid +druid.storage.storageDirectory=var/druid/segments +druid.storage.type=s3 +druid.zk.paths.base=/druid +druid.zk.service.host=druid-cluster-zk.demo.svc:2181 +druid.zk.service.pwd={"type": "environment", "variable": "DRUID_ZK_SERVICE_PASSWORD"} +druid.zk.service.user=super +``` + +We can verify from the above output that TLS is disabled for this cluster as there is no TLS/SSL related configs provided for it. + +#### Verify TLS/SSL is disabled using Druid UI + +First port-forward the port `8888` to local machine: + +```bash +$ kubectl port-forward -n demo svc/druid-cluster-routers 8888 +Forwarding from 127.0.0.1:8888 -> 8888 +Forwarding from [::1]:8888 -> 8888 +``` + + +Now hit the `http://localhost:8888` from any browser, and you will be prompted to provide the credential of the druid database. By following the steps discussed below, you can get the credential generated by the KubeDB operator for your Druid database. + +**Connection information:** + +- Username: + + ```bash + $ kubectl get secret -n demo druid-cluster-admin-cred -o jsonpath='{.data.username}' | base64 -d + admin + ``` + +- Password: + + ```bash + $ kubectl get secret -n demo druid-cluster-admin-cred -o jsonpath='{.data.password}' | base64 -d + LzJtVRX5E8MorFaf + ``` + +After providing the credentials correctly, you should be able to access the web console like shown below. + +

+  lifecycle +

+ +From the above screenshot, we can see that the connection is not secure now. In other words, TLS/SSL is disabled for this druid cluster. + +### Create Issuer/ ClusterIssuer + +Now, We are going to create an example `Issuer` that will be used to enable SSL/TLS in Druid. Alternatively, you can follow this [cert-manager tutorial](https://cert-manager.io/docs/configuration/ca/) to create your own `Issuer`. + +- Start off by generating a ca certificates using openssl. + +```bash +$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./ca.key -out ./ca.crt -subj "/CN=ca/O=kubedb" +Generating a RSA private key +................+++++ +........................+++++ +writing new private key to './ca.key' +----- +``` + +- Now we are going to create a ca-secret using the certificate files that we have just generated. + +```bash +$ kubectl create secret tls druid-ca \ + --cert=ca.crt \ + --key=ca.key \ + --namespace=demo +secret/druid-ca created +``` + +Now, Let's create an `Issuer` using the `druid-ca` secret that we have just created. The `YAML` file looks like this: + +```yaml +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: druid-ca-issuer + namespace: demo +spec: + ca: + secretName: druid-ca +``` + +Let's apply the `YAML` file: + +```bash +$ kubectl create -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/reconfigure-tls/yamls/druid-issuer.yaml +issuer.cert-manager.io/druid-ca-issuer created +``` + +### Create DruidOpsRequest + +In order to add TLS to the druid, we have to create a `DruidOpsRequest` CRO with our created issuer. Below is the YAML of the `DruidOpsRequest` CRO that we are going to create, + +```yaml +apiVersion: ops.kubedb.com/v1alpha1 +kind: DruidOpsRequest +metadata: + name: drops-add-tls + namespace: demo +spec: + type: ReconfigureTLS + databaseRef: + name: druid-cluster + tls: + issuerRef: + name: druid-ca-issuer + kind: Issuer + apiGroup: "cert-manager.io" + certificates: + - alias: client + subject: + organizations: + - druid + organizationalUnits: + - client + timeout: 5m + apply: IfReady +``` + +Here, + +- `spec.databaseRef.name` specifies that we are performing reconfigure TLS operation on `druid-cluster` cluster. +- `spec.type` specifies that we are performing `ReconfigureTLS` on druid. +- `spec.tls.issuerRef` specifies the issuer name, kind and api group. +- `spec.tls.certificates` specifies the certificates. You can learn more about this field from [here](/docs/guides/druid/concepts/druid.md#spectls). + +Let's create the `DruidOpsRequest` CR we have shown above, + +```bash +$ kubectl apply -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/reconfigure-tls/yamls/drops-add-tls.yaml +druidopsrequest.ops.kubedb.com/drops-add-tls created +``` + +#### Verify TLS Enabled Successfully + +Let's wait for `DruidOpsRequest` to be `Successful`. Run the following command to watch `DruidOpsRequest` CRO, + +```bash +$ kubectl get drops -n demo -w +NAME TYPE STATUS AGE +drops-add-tls ReconfigureTLS Progressing 39s +drops-add-tls ReconfigureTLS Progressing 44s +... +... +drops-add-tls ReconfigureTLS Successful 79s +``` + +We can see from the above output that the `DruidOpsRequest` has succeeded. If we describe the `DruidOpsRequest` we will get an overview of the steps that were followed. + +```bash +$ kubectl describe druidopsrequest -n demo drops-add-tls +Name: drops-add-tls +Namespace: demo +Labels: +Annotations: +API Version: ops.kubedb.com/v1alpha1 +Kind: DruidOpsRequest +Metadata: + Creation Timestamp: 2024-10-28T09:43:13Z + Generation: 1 + Managed Fields: + API Version: ops.kubedb.com/v1alpha1 + Fields Type: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + .: + f:kubectl.kubernetes.io/last-applied-configuration: + f:spec: + .: + f:apply: + f:databaseRef: + f:timeout: + f:tls: + .: + f:certificates: + f:issuerRef: + f:type: + Manager: kubectl-client-side-apply + Operation: Update + Time: 2024-10-28T09:43:13Z + API Version: ops.kubedb.com/v1alpha1 + Fields Type: FieldsV1 + fieldsV1: + f:status: + .: + f:conditions: + f:observedGeneration: + f:phase: + Manager: kubedb-ops-manager + Operation: Update + Subresource: status + Time: 2024-10-28T09:44:32Z + Resource Version: 409889 + UID: b7f563c4-4773-49e9-aba2-17497e66f5f8 +Spec: + Apply: IfReady + Database Ref: + Name: druid-cluster + Timeout: 5m + Tls: + Certificates: + Alias: client + Subject: + Organizational Units: + client + Organizations: + druid + Issuer Ref: + API Group: cert-manager.io + Kind: Issuer + Name: druid-ca-issuer + Type: ReconfigureTLS +Status: + Conditions: + Last Transition Time: 2024-10-28T09:43:13Z + Message: Druid ops-request has started to reconfigure tls for druid nodes + Observed Generation: 1 + Reason: ReconfigureTLS + Status: True + Type: ReconfigureTLS + Last Transition Time: 2024-10-28T09:43:26Z + Message: Successfully synced all certificates + Observed Generation: 1 + Reason: CertificateSynced + Status: True + Type: CertificateSynced + Last Transition Time: 2024-10-28T09:43:21Z + Message: get certificate; ConditionStatus:True + Observed Generation: 1 + Status: True + Type: GetCertificate + Last Transition Time: 2024-10-28T09:43:21Z + Message: check ready condition; ConditionStatus:True + Observed Generation: 1 + Status: True + Type: CheckReadyCondition + Last Transition Time: 2024-10-28T09:43:21Z + Message: issuing condition; ConditionStatus:True + Observed Generation: 1 + Status: True + Type: IssuingCondition + Last Transition Time: 2024-10-28T09:43:31Z + Message: successfully reconciled the Druid with tls configuration + Observed Generation: 1 + Reason: UpdatePetSets + Status: True + Type: UpdatePetSets + Last Transition Time: 2024-10-28T09:44:32Z + Message: Successfully restarted all nodes + Observed Generation: 1 + Reason: RestartNodes + Status: True + Type: RestartNodes + Last Transition Time: 2024-10-28T09:43:37Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T09:43:37Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T09:43:47Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T09:43:52Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T09:43:52Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T09:43:57Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T09:44:02Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T09:44:02Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T09:44:07Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T09:44:12Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T09:44:12Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T09:44:17Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T09:44:22Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T09:44:22Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T09:44:27Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T09:44:32Z + Message: Successfully completed reconfigureTLS for druid. + Observed Generation: 1 + Reason: Successful + Status: True + Type: Successful + Observed Generation: 1 + Phase: Successful +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Starting 103s KubeDB Ops-manager Operator Start processing for DruidOpsRequest: demo/drops-add-tls + Normal Starting 103s KubeDB Ops-manager Operator Pausing Druid databse: demo/druid-cluster + Normal Successful 103s KubeDB Ops-manager Operator Successfully paused Druid database: demo/druid-cluster for DruidOpsRequest: drops-add-tls + Warning get certificate; ConditionStatus:True 95s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 95s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 95s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Warning get certificate; ConditionStatus:True 95s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 95s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 95s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Normal CertificateSynced 95s KubeDB Ops-manager Operator Successfully synced all certificates + Warning get certificate; ConditionStatus:True 90s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 90s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 90s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Warning get certificate; ConditionStatus:True 90s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 90s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 90s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Normal CertificateSynced 90s KubeDB Ops-manager Operator Successfully synced all certificates + Normal UpdatePetSets 85s KubeDB Ops-manager Operator successfully reconciled the Druid with tls configuration + Warning get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 79s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 79s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning check pod running; ConditionStatus:False; PodName:druid-cluster-historicals-0 74s KubeDB Ops-manager Operator check pod running; ConditionStatus:False; PodName:druid-cluster-historicals-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 69s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 64s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 64s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 59s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 54s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 54s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 49s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 44s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 44s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 39s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 34s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 34s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 29s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Normal RestartNodes 24s KubeDB Ops-manager Operator Successfully restarted all nodes + Normal Starting 24s KubeDB Ops-manager Operator Resuming Druid database: demo/druid-cluster + Normal Successful 24s KubeDB Ops-manager Operator Successfully resumed Druid database: demo/druid-cluster for DruidOpsRequest: drops-add-tls +``` + +Now, Lets exec into a druid coordinators pod and verify the configuration that the TLS is enabled. + +```bash +$ kubectl exec -it -n demo druid-cluster-coordinators-0 -- bash +Defaulted container "druid" out of: druid, init-druid (init) +bash-5.1$ cat conf/druid/cluster/_common/common.runtime.properties +druid.auth.authenticator.basic.authorizerName=basic +druid.auth.authenticator.basic.credentialsValidator.type=metadata +druid.auth.authenticator.basic.initialAdminPassword={"type": "environment", "variable": "DRUID_ADMIN_PASSWORD"} +druid.auth.authenticator.basic.initialInternalClientPassword=password2 +druid.auth.authenticator.basic.skipOnFailure=false +druid.auth.authenticator.basic.type=basic +druid.auth.authenticatorChain=["basic"] +druid.auth.authorizer.basic.type=basic +druid.auth.authorizers=["basic"] +druid.client.https.trustStorePassword={"type": "environment", "variable": "DRUID_KEY_STORE_PASSWORD"} +druid.client.https.trustStorePath=/opt/druid/ssl/truststore.jks +druid.client.https.trustStoreType=jks +druid.client.https.validateHostnames=false +druid.emitter.logging.logLevel=info +druid.emitter=noop +druid.enablePlaintextPort=false +druid.enableTlsPort=true +druid.escalator.authorizerName=basic +druid.escalator.internalClientPassword=password2 +druid.escalator.internalClientUsername=druid_system +druid.escalator.type=basic +druid.expressions.useStrictBooleans=true +druid.extensions.loadList=["druid-avro-extensions", "druid-kafka-indexing-service", "druid-kafka-indexing-service", "druid-datasketches", "druid-multi-stage-query", "druid-basic-security", "simple-client-sslcontext", "mysql-metadata-storage", "druid-s3-extensions"] +druid.global.http.eagerInitialization=false +druid.host=localhost +druid.indexer.logs.directory=var/druid/indexing-logs +druid.indexer.logs.type=file +druid.indexing.doubleStorage=double +druid.lookup.enableLookupSyncOnStartup=false +druid.metadata.storage.connector.connectURI=jdbc:mysql://druid-cluster-mysql-metadata.demo.svc:3306/druid +druid.metadata.storage.connector.createTables=true +druid.metadata.storage.connector.host=localhost +druid.metadata.storage.connector.password={"type": "environment", "variable": "DRUID_METADATA_STORAGE_PASSWORD"} +druid.metadata.storage.connector.port=1527 +druid.metadata.storage.connector.user=root +druid.metadata.storage.type=mysql +druid.monitoring.monitors=["org.apache.druid.java.util.metrics.JvmMonitor", "org.apache.druid.server.metrics.ServiceStatusMonitor"] +druid.s3.accessKey=minio +druid.s3.enablePathStyleAccess=true +druid.s3.endpoint.signingRegion=us-east-1 +druid.s3.endpoint.url=http://myminio-hl.demo.svc.cluster.local:9000/ +druid.s3.protocol=http +druid.s3.secretKey=minio123 +druid.selectors.coordinator.serviceName=druid/coordinator +druid.selectors.indexing.serviceName=druid/overlord +druid.server.hiddenProperties=["druid.s3.accessKey","druid.s3.secretKey","druid.metadata.storage.connector.password", "password", "key", "token", "pwd"] +druid.server.https.certAlias=druid +druid.server.https.keyStorePassword={"type": "environment", "variable": "DRUID_KEY_STORE_PASSWORD"} +druid.server.https.keyStorePath=/opt/druid/ssl/keystore.jks +druid.server.https.keyStoreType=jks +druid.sql.enable=true +druid.sql.planner.useGroupingSetForExactDistinct=true +druid.startup.logging.logProperties=true +druid.storage.baseKey=druid/segments +druid.storage.bucket=druid +druid.storage.storageDirectory=var/druid/segments +druid.storage.type=s3 +druid.zk.paths.base=/druid +druid.zk.service.host=druid-cluster-zk.demo.svc:2181 +druid.zk.service.pwd={"type": "environment", "variable": "DRUID_ZK_SERVICE_PASSWORD"} +druid.zk.service.user=super + +``` + +We can see from the output above that all TLS related configs are added in the configuration file of the druid database. + +#### Verify TLS/SSL using Druid UI + +To check follow the following steps: + +Druid uses separate ports for TLS/SSL. While the plaintext port for `routers` node is `8888`. For TLS, it is `9088`. Hence, we will use that port to access the UI. + +First port-forward the port `9088` to local machine: + +```bash +$ kubectl port-forward -n demo svc/druid-cluster-tls-routers 9088 +Forwarding from 127.0.0.1:9088 -> 9088 +Forwarding from [::1]:9088 -> 9088 +``` + + +Now hit the `https://localhost:9088/` from any browser. Here you may select `Advance` and then `Proceed to localhost (unsafe)` or you can add the `ca.crt` from the secret `druid-cluster-tls-client-cert` to your browser's Authorities. + +After that you will be prompted to provide the credential of the druid database. By following the steps discussed below, you can get the credential generated by the KubeDB operator for your Druid database. + +**Connection information:** + +- Username: + + ```bash + $ kubectl get secret -n demo druid-cluster-tls-admin-cred -o jsonpath='{.data.username}' | base64 -d + admin + ``` + +- Password: + + ```bash + $ kubectl get secret -n demo druid-cluster-tls-admin-cred -o jsonpath='{.data.password}' | base64 -d + LzJtVRX5E8MorFaf + ``` + +After providing the credentials correctly, you should be able to access the web console like shown below. + +

+  lifecycle +

+ +From the above screenshot, we can see that the connection is secure. + + +## Rotate Certificate + +Now we are going to rotate the certificate of this cluster. First let's check the current expiration date of the certificate. + +```bash +$ kubectl port-forward -n demo svc/druid-cluster-routers 9088 +Forwarding from 127.0.0.1:9088 -> 9088 +Forwarding from [::1]:9088 -> 9088 +Handling connection for 9088 +... + +$ openssl s_client -connect localhost:9088 2>/dev/null | openssl x509 -noout -enddate +notAfter=Jan 26 09:43:16 2025 GMT +``` + +So, the certificate will expire on this time `Jan 26 09:43:16 2025 GMT`. + +### Create DruidOpsRequest + +Now we are going to increase it using a DruidOpsRequest. Below is the yaml of the ops request that we are going to create, + +```yaml +apiVersion: ops.kubedb.com/v1alpha1 +kind: DruidOpsRequest +metadata: + name: druid-recon-tls-rotate + namespace: demo +spec: + type: ReconfigureTLS + databaseRef: + name: druid-cluster + tls: + rotateCertificates: true +``` + +Here, + +- `spec.databaseRef.name` specifies that we are performing reconfigure TLS operation on `druid-cluster`. +- `spec.type` specifies that we are performing `ReconfigureTLS` on our cluster. +- `spec.tls.rotateCertificates` specifies that we want to rotate the certificate of this druid cluster. + +Let's create the `DruidOpsRequest` CR we have shown above, + +```bash +$ kubectl apply -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/reconfigure-tls/yamls/drops-rotate.yaml +druidopsrequest.ops.kubedb.com/drops-rotate created +``` + +#### Verify Certificate Rotated Successfully + +Let's wait for `DruidOpsRequest` to be `Successful`. Run the following command to watch `DruidOpsRequest` CRO, + +```bash +$ kubectl get druidopsrequests -n demo drops-rotate -w +NAME TYPE STATUS AGE +drops-rotate ReconfigureTLS Successful 4m4s +``` + +We can see from the above output that the `DruidOpsRequest` has succeeded. If we describe the `DruidOpsRequest` we will get an overview of the steps that were followed. + +```bash +$ kubectl describe druidopsrequest -n demo drops-rotate +Name: drops-rotate +Namespace: demo +Labels: +Annotations: +API Version: ops.kubedb.com/v1alpha1 +Kind: DruidOpsRequest +Metadata: + Creation Timestamp: 2024-10-28T14:14:50Z + Generation: 1 + Managed Fields: + API Version: ops.kubedb.com/v1alpha1 + Fields Type: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + .: + f:kubectl.kubernetes.io/last-applied-configuration: + f:spec: + .: + f:apply: + f:databaseRef: + f:tls: + .: + f:rotateCertificates: + f:type: + Manager: kubectl-client-side-apply + Operation: Update + Time: 2024-10-28T14:14:50Z + API Version: ops.kubedb.com/v1alpha1 + Fields Type: FieldsV1 + fieldsV1: + f:status: + .: + f:conditions: + f:observedGeneration: + f:phase: + Manager: kubedb-ops-manager + Operation: Update + Subresource: status + Time: 2024-10-28T14:16:04Z + Resource Version: 440897 + UID: ca3532fc-6e11-4962-bddb-f9cf946d3954 +Spec: + Apply: IfReady + Database Ref: + Name: druid-cluster + Tls: + Rotate Certificates: true + Type: ReconfigureTLS +Status: + Conditions: + Last Transition Time: 2024-10-28T14:14:50Z + Message: Druid ops-request has started to reconfigure tls for druid nodes + Observed Generation: 1 + Reason: ReconfigureTLS + Status: True + Type: ReconfigureTLS + Last Transition Time: 2024-10-28T14:15:04Z + Message: Successfully synced all certificates + Observed Generation: 1 + Reason: CertificateSynced + Status: True + Type: CertificateSynced + Last Transition Time: 2024-10-28T14:14:58Z + Message: get certificate; ConditionStatus:True + Observed Generation: 1 + Status: True + Type: GetCertificate + Last Transition Time: 2024-10-28T14:14:58Z + Message: check ready condition; ConditionStatus:True + Observed Generation: 1 + Status: True + Type: CheckReadyCondition + Last Transition Time: 2024-10-28T14:14:58Z + Message: issuing condition; ConditionStatus:True + Observed Generation: 1 + Status: True + Type: IssuingCondition + Last Transition Time: 2024-10-28T14:15:09Z + Message: successfully reconciled the Druid with tls configuration + Observed Generation: 1 + Reason: UpdatePetSets + Status: True + Type: UpdatePetSets + Last Transition Time: 2024-10-28T14:16:04Z + Message: Successfully restarted all nodes + Observed Generation: 1 + Reason: RestartNodes + Status: True + Type: RestartNodes + Last Transition Time: 2024-10-28T14:15:14Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T14:15:14Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T14:15:19Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T14:15:24Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T14:15:24Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T14:15:29Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T14:15:34Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T14:15:34Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T14:15:39Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T14:15:44Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T14:15:44Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T14:15:49Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T14:15:54Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T14:15:54Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T14:15:59Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T14:16:04Z + Message: Successfully completed reconfigureTLS for druid. + Observed Generation: 1 + Reason: Successful + Status: True + Type: Successful + Observed Generation: 1 + Phase: Successful +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Starting 101s KubeDB Ops-manager Operator Start processing for DruidOpsRequest: demo/drops-rotate + Normal Starting 101s KubeDB Ops-manager Operator Pausing Druid databse: demo/druid-cluster + Normal Successful 101s KubeDB Ops-manager Operator Successfully paused Druid database: demo/druid-cluster for DruidOpsRequest: drops-rotate + Warning get certificate; ConditionStatus:True 93s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 93s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 93s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Warning get certificate; ConditionStatus:True 93s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 93s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 93s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Normal CertificateSynced 93s KubeDB Ops-manager Operator Successfully synced all certificates + Warning get certificate; ConditionStatus:True 88s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 88s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 88s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Warning get certificate; ConditionStatus:True 88s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 88s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 88s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Normal CertificateSynced 87s KubeDB Ops-manager Operator Successfully synced all certificates + Normal UpdatePetSets 82s KubeDB Ops-manager Operator successfully reconciled the Druid with tls configuration + Warning get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 77s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 77s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 72s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 67s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 67s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 62s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 57s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 57s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 52s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 47s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 47s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 42s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 37s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 37s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 32s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Normal RestartNodes 27s KubeDB Ops-manager Operator Successfully restarted all nodes + Normal Starting 27s KubeDB Ops-manager Operator Resuming Druid database: demo/druid-cluster + Normal Successful 27s KubeDB Ops-manager Operator Successfully resumed Druid database: demo/druid-cluster for DruidOpsRequest: drops-rotate +``` + +Now, let's check the expiration date of the certificate. + +```bash +$ kubectl port-forward -n demo svc/druid-cluster-routers 9088 +Forwarding from 127.0.0.1:9088 -> 9088 +Forwarding from [::1]:9088 -> 9088 +Handling connection for 9088 +... + +$ openssl s_client -connect localhost:9088 2>/dev/null | openssl x509 -noout -enddate +notAfter=Jan 26 14:15:46 2025 GMT +``` + +As we can see from the above output, the certificate has been rotated successfully. + +## Change Issuer/ClusterIssuer + +Now, we are going to change the issuer of this database. + +- Let's create a new ca certificate and key using a different subject `CN=ca-update,O=kubedb-updated`. + +```bash +$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout ./ca.key -out ./ca.crt -subj "/CN=ca-updated/O=kubedb-updated" +Generating a RSA private key +..............................................................+++++ +......................................................................................+++++ +writing new private key to './ca.key' +----- +``` + +- Now we are going to create a new ca-secret using the certificate files that we have just generated. + +```bash +$ kubectl create secret tls druid-new-ca \ + --cert=ca.crt \ + --key=ca.key \ + --namespace=demo +secret/druid-new-ca created +``` + +Now, Let's create a new `Issuer` using the `mongo-new-ca` secret that we have just created. The `YAML` file looks like this: + +```yaml +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: dr-new-issuer + namespace: demo +spec: + ca: + secretName: druid-new-ca +``` + +Let's apply the `YAML` file: + +```bash +$ kubectl create -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/reconfigure-tls/yamls/druid-new-issuer.yaml +issuer.cert-manager.io/dr-new-issuer created +``` + +### Create DruidOpsRequest + +In order to use the new issuer to issue new certificates, we have to create a `DruidOpsRequest` CRO with the newly created issuer. Below is the YAML of the `DruidOpsRequest` CRO that we are going to create, + +```yaml +apiVersion: ops.kubedb.com/v1alpha1 +kind: DruidOpsRequest +metadata: + name: drops-update-issuer + namespace: demo +spec: + type: ReconfigureTLS + databaseRef: + name: druid-cluster + tls: + issuerRef: + name: dr-new-issuer + kind: Issuer + apiGroup: "cert-manager.io" +``` + +Here, + +- `spec.databaseRef.name` specifies that we are performing reconfigure TLS operation on `druid-cluster` cluster. +- `spec.type` specifies that we are performing `ReconfigureTLS` on our druid. +- `spec.tls.issuerRef` specifies the issuer name, kind and api group. + +Let's create the `DruidOpsRequest` CR we have shown above, + +```bash +$ kubectl apply -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/reconfigure-tls/yamls/druid-update-tls-issuer.yaml +druidpsrequest.ops.kubedb.com/drops-update-issuer created +``` + +#### Verify Issuer is changed successfully + +Let's wait for `DruidOpsRequest` to be `Successful`. Run the following command to watch `DruidOpsRequest` CRO, + +```bash +$ kubectl get druidopsrequests -n demo drops-update-issuer -w +NAME TYPE STATUS AGE +drops-update-issuer ReconfigureTLS Progressing 14s +drops-update-issuer ReconfigureTLS Progressing 18s +... +... +drops-update-issuer ReconfigureTLS Successful 73s +``` + +We can see from the above output that the `DruidOpsRequest` has succeeded. If we describe the `DruidOpsRequest` we will get an overview of the steps that were followed. + +```bash +$ kubectl describe druidopsrequest -n demo drops-update-issuer +Name: drops-update-issuer +Namespace: demo +Labels: +Annotations: +API Version: ops.kubedb.com/v1alpha1 +Kind: DruidOpsRequest +Metadata: + Creation Timestamp: 2024-10-28T14:24:22Z + Generation: 1 + Managed Fields: + API Version: ops.kubedb.com/v1alpha1 + Fields Type: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + .: + f:kubectl.kubernetes.io/last-applied-configuration: + f:spec: + .: + f:apply: + f:databaseRef: + f:tls: + .: + f:issuerRef: + f:type: + Manager: kubectl-client-side-apply + Operation: Update + Time: 2024-10-28T14:24:22Z + API Version: ops.kubedb.com/v1alpha1 + Fields Type: FieldsV1 + fieldsV1: + f:status: + .: + f:conditions: + f:observedGeneration: + f:phase: + Manager: kubedb-ops-manager + Operation: Update + Subresource: status + Time: 2024-10-28T14:25:35Z + Resource Version: 442332 + UID: 5089e358-2dc2-4d62-8c13-92828de7c557 +Spec: + Apply: IfReady + Database Ref: + Name: druid-cluster + Tls: + Issuer Ref: + API Group: cert-manager.io + Kind: Issuer + Name: dr-new-issuer + Type: ReconfigureTLS +Status: + Conditions: + Last Transition Time: 2024-10-28T14:24:22Z + Message: Druid ops-request has started to reconfigure tls for druid nodes + Observed Generation: 1 + Reason: ReconfigureTLS + Status: True + Type: ReconfigureTLS + Last Transition Time: 2024-10-28T14:24:35Z + Message: Successfully synced all certificates + Observed Generation: 1 + Reason: CertificateSynced + Status: True + Type: CertificateSynced + Last Transition Time: 2024-10-28T14:24:30Z + Message: get certificate; ConditionStatus:True + Observed Generation: 1 + Status: True + Type: GetCertificate + Last Transition Time: 2024-10-28T14:24:30Z + Message: check ready condition; ConditionStatus:True + Observed Generation: 1 + Status: True + Type: CheckReadyCondition + Last Transition Time: 2024-10-28T14:24:30Z + Message: issuing condition; ConditionStatus:True + Observed Generation: 1 + Status: True + Type: IssuingCondition + Last Transition Time: 2024-10-28T14:24:40Z + Message: successfully reconciled the Druid with tls configuration + Observed Generation: 1 + Reason: UpdatePetSets + Status: True + Type: UpdatePetSets + Last Transition Time: 2024-10-28T14:25:35Z + Message: Successfully restarted all nodes + Observed Generation: 1 + Reason: RestartNodes + Status: True + Type: RestartNodes + Last Transition Time: 2024-10-28T14:24:45Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T14:24:45Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T14:24:50Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T14:24:55Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T14:24:55Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T14:25:00Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T14:25:05Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T14:25:05Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T14:25:10Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T14:25:15Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T14:25:15Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T14:25:20Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T14:25:25Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T14:25:25Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T14:25:30Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T14:25:35Z + Message: Successfully completed reconfigureTLS for druid. + Observed Generation: 1 + Reason: Successful + Status: True + Type: Successful + Observed Generation: 1 + Phase: Successful +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Starting 92s KubeDB Ops-manager Operator Start processing for DruidOpsRequest: demo/drops-update-issuer + Normal Starting 92s KubeDB Ops-manager Operator Pausing Druid databse: demo/druid-cluster + Normal Successful 92s KubeDB Ops-manager Operator Successfully paused Druid database: demo/druid-cluster for DruidOpsRequest: drops-update-issuer + Warning get certificate; ConditionStatus:True 84s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 84s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 84s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Warning get certificate; ConditionStatus:True 84s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 84s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 84s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Normal CertificateSynced 84s KubeDB Ops-manager Operator Successfully synced all certificates + Warning get certificate; ConditionStatus:True 79s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 79s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 79s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Warning get certificate; ConditionStatus:True 79s KubeDB Ops-manager Operator get certificate; ConditionStatus:True + Warning check ready condition; ConditionStatus:True 79s KubeDB Ops-manager Operator check ready condition; ConditionStatus:True + Warning issuing condition; ConditionStatus:True 79s KubeDB Ops-manager Operator issuing condition; ConditionStatus:True + Normal CertificateSynced 79s KubeDB Ops-manager Operator Successfully synced all certificates + Normal UpdatePetSets 74s KubeDB Ops-manager Operator successfully reconciled the Druid with tls configuration + Warning get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 69s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 69s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 64s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 59s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 59s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 54s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 49s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 49s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 44s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 39s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 39s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 34s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 29s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 29s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 24s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Normal RestartNodes 19s KubeDB Ops-manager Operator Successfully restarted all nodes + Normal Starting 19s KubeDB Ops-manager Operator Resuming Druid database: demo/druid-cluster + Normal Successful 19s KubeDB Ops-manager Operator Successfully resumed Druid database: demo/druid-cluster for DruidOpsRequest: drops-update-issuer +``` + +Now, Lets exec into a druid node and find out the ca subject to see if it matches the one we have provided. + +```bash +$ kubectl exec -it druid-cluster-broker-0 -- bash +druid@druid-cluster-broker-0:~$ keytool -list -v -keystore /var/private/ssl/server.keystore.jks -storepass wt6f5pwxpg84 | grep 'Issuer' +Issuer: O=kubedb-updated, CN=ca-updated +Issuer: O=kubedb-updated, CN=ca-updated + +$ kubectl port-forward -n demo svc/druid-cluster-routers 9088 +Forwarding from 127.0.0.1:9088 -> 9088 +Forwarding from [::1]:9088 -> 9088 +Handling connection for 9088 +... + +$ openssl s_client -connect localhost:9088 2>/dev/null | openssl x509 -noout -issuer +issuer=CN = ca-updated, O = kubedb-updated +``` + +We can see from the above output that, the subject name matches the subject name of the new ca certificate that we have created. So, the issuer is changed successfully. + +## Remove TLS from the Database + +Now, we are going to remove TLS from this database using a DruidOpsRequest. + +### Create DruidOpsRequest + +Below is the YAML of the `DruidOpsRequest` CRO that we are going to create, + +```yaml +apiVersion: ops.kubedb.com/v1alpha1 +kind: DruidOpsRequest +metadata: + name: drops-remove + namespace: demo +spec: + type: ReconfigureTLS + databaseRef: + name: druid-cluster + tls: + remove: true +``` + +Here, + +- `spec.databaseRef.name` specifies that we are performing reconfigure TLS operation on `druid-cluster` cluster. +- `spec.type` specifies that we are performing `ReconfigureTLS` on Druid. +- `spec.tls.remove` specifies that we want to remove tls from this cluster. + +Let's create the `DruidOpsRequest` CR we have shown above, + +```bash +$ kubectl apply -f https://github.com/kubedb/docs/raw/{{< param "info.version" >}}/docs/guides/druid/reconfigure-tls/yamls/drops-remove.yaml +druidopsrequest.ops.kubedb.com/drops-remove created +``` + +#### Verify TLS Removed Successfully + +Let's wait for `DruidOpsRequest` to be `Successful`. Run the following command to watch `DruidOpsRequest` CRO, + +```bash +$ kubectl get druidopsrequest -n demo drops-remove -w +NAME TYPE STATUS AGE +drops-remove ReconfigureTLS Progressing 25s +drops-remove ReconfigureTLS Progressing 29s +... +... +drops-remove ReconfigureTLS Successful 114s + +``` + +We can see from the above output that the `DruidOpsRequest` has succeeded. If we describe the `DruidOpsRequest` we will get an overview of the steps that were followed. + +```bash +$ kubectl describe druidopsrequest -n demo drops-remove +Name: drops-remove +Namespace: demo +Labels: +Annotations: +API Version: ops.kubedb.com/v1alpha1 +Kind: DruidOpsRequest +Metadata: + Creation Timestamp: 2024-10-28T14:31:07Z + Generation: 1 + Managed Fields: + API Version: ops.kubedb.com/v1alpha1 + Fields Type: FieldsV1 + fieldsV1: + f:metadata: + f:annotations: + .: + f:kubectl.kubernetes.io/last-applied-configuration: + f:spec: + .: + f:apply: + f:databaseRef: + f:tls: + .: + f:remove: + f:type: + Manager: kubectl-client-side-apply + Operation: Update + Time: 2024-10-28T14:31:07Z + API Version: ops.kubedb.com/v1alpha1 + Fields Type: FieldsV1 + fieldsV1: + f:status: + .: + f:conditions: + f:observedGeneration: + f:phase: + Manager: kubedb-ops-manager + Operation: Update + Subresource: status + Time: 2024-10-28T14:33:01Z + Resource Version: 443725 + UID: 27234241-c72e-471c-8dd4-16fd485956cc +Spec: + Apply: IfReady + Database Ref: + Name: druid-cluster + Tls: + Remove: true + Type: ReconfigureTLS +Status: + Conditions: + Last Transition Time: 2024-10-28T14:31:07Z + Message: Druid ops-request has started to reconfigure tls for druid nodes + Observed Generation: 1 + Reason: ReconfigureTLS + Status: True + Type: ReconfigureTLS + Last Transition Time: 2024-10-28T14:31:16Z + Message: successfully reconciled the Druid with tls configuration + Observed Generation: 1 + Reason: UpdatePetSets + Status: True + Type: UpdatePetSets + Last Transition Time: 2024-10-28T14:33:01Z + Message: Successfully restarted all nodes + Observed Generation: 1 + Reason: RestartNodes + Status: True + Type: RestartNodes + Last Transition Time: 2024-10-28T14:31:21Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T14:31:21Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T14:31:26Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-historicals-0 + Last Transition Time: 2024-10-28T14:31:31Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T14:31:31Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T14:31:36Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-middlemanagers-0 + Last Transition Time: 2024-10-28T14:31:41Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T14:31:41Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T14:31:46Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-brokers-0 + Last Transition Time: 2024-10-28T14:31:51Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T14:31:51Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T14:31:56Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-routers-0 + Last Transition Time: 2024-10-28T14:32:01Z + Message: get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: GetPod--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T14:32:01Z + Message: evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: EvictPod--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T14:32:06Z + Message: check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Observed Generation: 1 + Status: True + Type: CheckPodRunning--druid-cluster-coordinators-0 + Last Transition Time: 2024-10-28T14:33:01Z + Message: Successfully completed reconfigureTLS for druid. + Observed Generation: 1 + Reason: Successful + Status: True + Type: Successful + Observed Generation: 1 + Phase: Successful +Events: + Type Reason Age From Message + ---- ------ ---- ---- ------- + Normal Starting 2m12s KubeDB Ops-manager Operator Start processing for DruidOpsRequest: demo/drops-remove + Normal Starting 2m12s KubeDB Ops-manager Operator Pausing Druid databse: demo/druid-cluster + Normal Successful 2m12s KubeDB Ops-manager Operator Successfully paused Druid database: demo/druid-cluster for DruidOpsRequest: drops-remove + Normal UpdatePetSets 2m3s KubeDB Ops-manager Operator successfully reconciled the Druid with tls configuration + Warning get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 118s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 118s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 113s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 108s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 108s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 103s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 98s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 98s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 93s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 88s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 88s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 83s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 78s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 78s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 73s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 68s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 68s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 63s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-historicals-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 58s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 58s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 53s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-middlemanagers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 48s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 48s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 43s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-brokers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 38s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 38s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 33s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-routers-0 + Warning get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 28s KubeDB Ops-manager Operator get pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Warning evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 28s KubeDB Ops-manager Operator evict pod; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Warning check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 23s KubeDB Ops-manager Operator check pod running; ConditionStatus:True; PodName:druid-cluster-coordinators-0 + Normal RestartNodes 18s KubeDB Ops-manager Operator Successfully restarted all nodes + Normal Starting 18s KubeDB Ops-manager Operator Resuming Druid database: demo/druid-cluster + Normal Successful 18s KubeDB Ops-manager Operator Successfully resumed Druid database: demo/druid-cluster for DruidOpsRequest: drops-remove +``` + +Now, Let's exec into one of the broker node and find out that TLS is disabled or not. + +```bash +$$ kubectl exec -it -n demo druid-cluster-broker-0 -- druid-configs.sh --bootstrap-server localhost:9092 --command-config /opt/druid/config/clientauth.properties --describe --entity-type brokers --all | grep 'ssl.keystore' + ssl.keystore.certificate.chain=null sensitive=true synonyms={} + ssl.keystore.key=null sensitive=true synonyms={} + ssl.keystore.location=null sensitive=false synonyms={} + ssl.keystore.password=null sensitive=true synonyms={} + ssl.keystore.type=JKS sensitive=false synonyms={DEFAULT_CONFIG:ssl.keystore.type=JKS} + ssl.keystore.certificate.chain=null sensitive=true synonyms={} + ssl.keystore.key=null sensitive=true synonyms={} + ssl.keystore.location=null sensitive=false synonyms={} + ssl.keystore.password=null sensitive=true synonyms={} +``` + +So, we can see from the above that, output that tls is disabled successfully. + +## Cleaning up + +To cleanup the Kubernetes resources created by this tutorial, run: + +```bash +kubectl delete opsrequest drops-add-tls drops-remove drops-rotate drops-update-issuer +kubectl delete druid -n demo druid-cluster +kubectl delete issuer -n demo druid-ca-issuer dr-new-issuer +kubectl delete ns demo +``` + +## Next Steps + +- Detail concepts of [Druid object](/docs/guides/druid/concepts/druid.md). +- Different Druid topology clustering modes [here](/docs/guides/druid/clustering/_index.md). +- Monitor your Druid database with KubeDB using [out-of-the-box Prometheus operator](/docs/guides/druid/monitoring/using-prometheus-operator.md). + +[//]: # (- Monitor your Druid database with KubeDB using [out-of-the-box builtin-Prometheus](/docs/guides/druid/monitoring/using-builtin-prometheus.md).) +- Want to hack on KubeDB? Check our [contribution guidelines](/docs/CONTRIBUTING.md). + diff --git a/docs/guides/druid/reconfigure-tls/images/druid-ui.png b/docs/guides/druid/reconfigure-tls/images/druid-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..f81925c59cb7bf238315c7de992eaf0092caeb9c GIT binary patch literal 46148 zcma%?Wmp_R^WYbPYw+M9xVviz?(P!YA-G#`53bANF2QYqKyY_=cXz$b``-UP-E+^) zr{0h7A}o~r6!M<^*sq9PF>0RRA0X(=%k0N}$P005c@0UC0rQCNuq00;m`i+xq| zFgRJg*Cd?p5PrF)7Px=bS8N%-f39#0u!+I$6BV7W9_rd|vK+)xDbZ ze|&f_gY&0Aj z8#~bC_!x6{*5)skPi%eeb1=NY8!z%;$u)_kfF$%gI0JLZ25F7tav`6+6ISa9&;>8#{X)N&AF12Tbp9d%lp@>)9#7 z1iUvd50B5o=Gl>u+lepc;N05Unh~|6!#mDvXuRzj|6RxJ9Z&GY&zCjp&;MHf<1pvF z40W#D>}^-Q?h-)dP`o4jb{Pajc@1-q^L?O(4*kOZRx9qH1eW+v$qo0f3V>(l?c$6y z;?tqy@_~)d>)Zzpuf?Us_V>3ieqY`Ti52&?Z|CkJ?g;;61IXcfTin;ZK_WdT>mpuM z-vZV=7nk{8B1C-77oPn+?icu%@d^G(0*H9eUp5!o&R;KI?}aHA7r+sX`#?OH1CT+Z zo7<;Q-v_eIS9Bq)A~DUvIP8p^Z>xo>#wWl>-Trtp3j$1|Gg)C?EXIge$6yU zhW+0g7i^zJKK!Tn8~tO>f29`S5hnio^yCAK<$p_eP|zIzEjm_5 zoSbF7@n^?8sjt=vVQD)9EBrYB6_uQ$hqW}8p)|5jWN|RNgLZsCsWF2YuA)Xnq0kJx zt)C;xT4bX6p^NHIQkMDWO#3ivk4cQwOz^&3>P4JR7%jIhWxl> z@oQRBd1}S7^!_FcNxQtQSyi&|V5H2j@fTZ|8rw9+j_^2>t$s6oEq>_fR#NC0-k~FO zqDddBA$j9+-utEJK~X=$T;mrDQ_H@5r@gNX2*`&z?c~43;2wnfa)o?bcA8aAokL-7%kcph4 z5kr|`RO9JEEuz`A+*kkzXd3o|<{&2;wh@&QB_Gs}PLKSZG-MIQ+~;yw0KhT$z{eKh zN*$hPLqXb`jV@+1KP!tlFagU}&*5%l|JB!~|D#Nw{hCTy`RBCKYgDz|=;K3r|COxh zwPtVGNuGlk#Qs)J3PVBMXF^WPN;82=1L!FOP-@r2dj8Aad4QivImE6dhi!o%Rp@Xn*gt zNiDzm1&(DZi$w}Sz8+L&1VCz>+iJ;j5Dz~AnAx`zzoVu1|NhiDXhz2VdqA$@ znL;`_n0rnq?qXmJmT1J>-I^#$zbB2AAW7V z0ZbR2@rs5y-7I>#-p2UGjJ~EMO>Ne+{LGVZ`AEm;ATP&cWlu;`X_@aGUS`vFLRyHA z1k}`;IyoaR^o}e)ZY9p*jpeBN!cbEWu59ovX{{PIWdi%|f2GlVXXD)Kg67z~?xcQs z^%q9JyrF!-+?h^Xm=;3`RHk4jBWlbzxw*c+%gFuk!x-Q1hnGP4`a6G()h7o#-#KNZ zLMY+v$>Er~Y81O~Sk9h&)I)1ZTezR_cbHeOm~CkU2z>oP?{e_y6Etj3^fd>zTO-{yjnPE+`Z}Fi1=a*gChoeRmxdp z@o8C3dhwSQWe0KlhGqtbSn8y#FD`Kx1*s{Q`4AUgeo!w(O`Ue}vPRr~2xfkZ+->>= zE}#&G9aJ?I+;7CT2k^^$7QdCt0)ZCZP-oa16>Kf|?mg)@0l$MWx2Dv)Z}YmDIl4|WTZ0c-FCc!`uB zQ>u+Z?3QD6<&wZP6;IT0qi1VVfw}38u|}R+#vZ0mmuEE&9gngqGWbZ}+|PXlSQ|d! zXX0Qa_G0wd8i3!Li)#&)7MA)_9F)?;;(xce{v8Y{MpP8!Y|2R1rB|n-C`wWo&3e4- z@AP^;w>$MK3W7i2H^i#)m1w@~B?n<~ontYrh%X*%LuK^FF&rP@J6IptS>m4^og}gp z-l=7m6ON}4S#S3gc_W+-pb%2WwpDj8D@sU6!m>r}F%`7Rf?sw>*0z9+xRGILTi_<` z8?(vBo%z#?lvb$(;u}P+Qxv8B~ z!;;3Gf<2S!J1wurW316~c%IMnf-sBQ)U6)`J^9OL`r^g!Q@o#tO^~VS6H&1VGLOhE z(UiPAkn9F+g|*F{vU=AIw?vHEJY*(+aJ#<^XWgARUi|xlSU*STv-h0Y2~tP+)}@t( z|JWo+S^Z5d!v7#1%aC@0~aZEU}f;ls1-t4a18K<(~>6 z@k3%ZOwVVZ4jn1*9K0yJ7Q4(a+8u~pIX$Jf z;D&v7x1_3MMO06vKN0pY479SXkDM6bU*6hC2UJ>+@}{UnfVlKtlYZY~(EaUU*9?Cg z9Y0+D`w`#9%Ud!t<4K1g<7ay?)7ckEBpsOgL)bBnSmNaKt&X~xDd6TEhtF35uz1Oz z1*K*VZm3n=y+e9u*Zu8c6;moc_`76tGs>dYHe|~Zzytj%NK4$nkF8#`5l`dbgzBb8 zlP&BlByMkyY=JiTSz;Tb+BbBU3qvwB!one+7&nT($J=zWd7Rho`@>aYZIq4#Zgo{w zhE17+X4I_<`sJ8$!lW@@Ey;LGoyE-`5yS7{n5P74eDi@r&evVsq%mW@kBw6nKlV1- zs6#?-Gtl)?>C7>i8oT41; zrtXk3h@CoS92#G$$7ew0UcAJ=%p8-ZEqRjl#ZAtbF~7M8qrxwM$Af@9bz>eWn`Ci} z9$eNs`QF_GMDLhhRGl27zrVoD2M)M-kLCbf)`x#KGL-qajhRk(yJUI2yj}hP{Lwuc zg|Q4frBamTb$r`W;32=u{=yX}uxRwT`gd-*#mc3!%eSyXMIp~mb_16;$?NU+5i*(e ziG}qTR&~xcaafo^SdK>51hewtwVXqv*nIxh=Crg8H;!=@H7hp|e=pDEdhO9O zu_OPQJY@sYd3{(8x18W!vDmGUqrH2)zo@z!P%ldJ@S-ezM8gynZ5F%P8IyerlU6}a z(m`HDh6Ff-`jN8GeAaYVtz3)%zO_3^*(jQMY=B{Ku==VXAE7rwu5t%X2F-~@f}UCc z_~V(roBLfRtuq||idCOaW9lpT@z=$+e=dc5LfYNjts=Z7JYEDFpRiyt6MLO#kH!K& zn|4`rQbooJ*cwAs!7bT(Tc*y*dXyLFod5c@4Ju<37c(rpGo3}N29$=N7X9%*+=hhC%2y+T{p~XM`klU*t%6fT1FjM=@ zW8!=5q;4k2Ek*D}T1KXNh_*x(kyDLS-$%#H&0b!wesNZRK&61nLe0WLQ?d*d+oFTD z@C%DbWbFD@i72ZkPQi$R+PfxL5$3Q*7m}KQR)%c@%}OFDD_g@>no)6_K{MQCtm;c37jm+NT0l##Q}Lfq zvMOJVb=0lB#I21p$_eMQtE3d@ztgkF#8VlX*Rz(QB!eCf#PBr9B;zxZv=h_y3sw83 z4xqK=;#q~5$;;I~M@oV~KwUyY3`O@vciyg37)uwbI9y?o5XzLT;cWG|-n~u1=*oV7 zu~cEDl%&10K1$x&pJFLJGeh8RK19V+3?efrx^K&0n1)UcNyDHyR6pj2k0nNtH(Sz9 zmDkqNrG-{+e zee-avQ>%r5RqEp3U z2e*rpkSVi9n5DPOh7Q2EBvi8{_fV!#6{{B&;?|~R9DuQ|RoM#{A5kJGg<1sYoA^{r za$1PMtH1>T8IK3_2hJLYH(39mu?ywGoBQ{eWRm{sFabffn9QZgl`2)S{P*zt-JA%D z){2>tqv(23^YE20Vh4_0ovC50X`2KTTzB-2e20RrUwPql6JfnxPqdUzCo?A*9I~N` z0SVO#lHSH%UJ<|Y@67P!2F)y~W0VLFp38pzw8tnC$^oT}NaX{xj zE0q8M91^*4bBIM*ooS7>=M-c~vKi=GLAHCmoNWa7iMP$Y@p8L*E3I8PJuEHp`^uFpE5jGLV}pN@+OtO%M4c>odGYdRI>!#VPjq%yjsgsZ{8$9Q!Dpe`U2B| zA2?F9qxSb|71V}J29rJbQ^LZ<(0U2k_POq1ED7IxRO_bY{MW|hR2E^6i(5b3%uZKw zR;l5}7!eQ2&XD`Yb&j7G=_3$c5wP!F(x>u1%p=rH?J?y?nrm1g;(e)yYz0+{>? zo!FMv?1XyW88}rp6TA<{v0n>=jfL3MAr?k|LvL^>%sV&@wPdKxv9Mm9M97)acsT~w zN)IX?Q?g-%t*o>2O#f;`$)5j>O#qWpuzfUQ=Hcrr3_ed9j`%|v-@Ao$XTG9^wMpwY!-LOId}6Y;#J!3~ zPZsW|ps$4SKORktT}juTaI!m!Ert`JGQ{@oN2|&omqY@!3A1fS&e9L<@6e(%GIT#8 zbQ9Ck=uq3ZN)O`X2XPi=r7h)-#V(|wv@k5u&n&EQ$A3(wnB0q&SEz;V<_q03gRX4H z;x4rw!Ni~+KhXt}a7$?WK-bT%syg5rMdhtgLwH+|<i|1lwIs9ZY5PtnzV-1SQy5r_5TXigN&)M^ZF`|bID9%T=2 z>f1&6Nkte-u5Z@LrC98Q3S78*M+v$a$GRwe3@sc(v-2!G0tp&xnuhA*XtRats7W|# zVq%4LpN2jd(){t+=~>h6K4eVbiPf5xY<~RM$@PWRD0x*&BIcIM>1u9Q<2EUIM)DBL z*H^47qxLNuOFH6F9jFQ`tzC-q*9>1fh2DTxrqm%Oh(N*;1L~GWzOoncpZT zc!_PDZU54FL*md*tPKCF)6OmK<>pi0frQE^wmNWK9+;Ji4iPx~C|&FQ9Gb}Jxl7Dm zXoYVSnlU+dUWb^)eMMj!5OH6YqQ(r^*h>@u^1CPOlGG_%%C7 z;M7gfdpb``?BM7DjrhY3JlJG6n?ErdZ6e`jE%rqYDcNj4FH=|$?_-{-gsE7c={{E$ zQ3);5u+XGtQV^OzY}QC=?ivu+k`T}8wdYFVb1ajfHqiJ2EoMU8T)c0uAzFVRYLb51 zJM(&KLM@w2x%Hqz%4GA;R-s2t(upbOJF`mwAV%C2^XwJB63WNhRi2!NC+{E{8nS|h zxvw-G;k}s#H0BS%D=?J@D{uYAuE!in2Np|u3;1+PS}4H54-)H%eQ~uGlhbgzoN%!K zqW7z5OzUeYVdZkxs)c;e?{9Aph6J6rJ=QRq%bc}XIi9o)+tTqgBKL0C`>m}`cCYfU zK_7m8k09oq$!0nfY}ZcL1b&As_rSRj$^zWR)MPHIovn_w+@a4u;2$TN4lf6P$OF+l!+;0?fs6Z*Zw{ z0IMuInun*9zc0CNZqOM$Yc8Q!uoJD-LQ8w z!@_!}^w4Gyp9cXk)+qJS9Y~n;(6ZHC%em}F7nzckZR~;=Ij8y*#_~u@&4-+cg0p5m zp4Rr-{6hN#`NbedTQ}F;7Y*y^bcyY&ZsZ}lWp;KMalKo}XKm<4O9n?{MZx%JQkvh< z7>6DAd%SkAb5n!~y$Af6;C3QDwqlC_U1y_BD+T4K9vADxY+|~y$^?r}re=}>uT~0> zUfrB)j{EngvXQ6F9*6_wu5JET>?hYx3A1FE=;PVN{xCcO>kLLK9O58q6ZNOsH&w?W zErJk??Db?D8JzyvM(k9WrwFj;AndN4r)M&OCxxqUt~2_GnwTCq7&N&43>Tuj0<69i znwaGEZdE@0;gT5n*ST!DkIv~T|GHK38Scty$hi!jFf#H65tVUvHu`%yv3!!cu;oO? zu&(4*x4gBiuC|7Ov9yDkd3GndpXK+1@~|gKq$@i1NH0F?$2Ia5?>s~ zii*T$Pjp~pJ|HI99gBI5+D&dlezLGX0`F{-+d9m$vKSfwCPpL3akpP?3Qb^=VLuqa zPL~HiV3ZwSen{pZIdAWe>vf>Nl-#H~ zm&fr7_J49tNnw6~E7e;O|2lHffu)+LYHw}8~YKoo$gC*r&)A!5XIP}(WlnIJR@Me!*WY@_t^F7i`4>oH3 zu7$@?R8gDm2VV*@BiOn`^4zaA+sMb-R+Mn6esaO-dxWckUMkoG-5u;wdpGD7_NJ<}(WDYIqSNl|i@32i1WYSBsNxIj4}drL3gHLP#2G zcb8n&#-K``Gt|QUo~z;D20vyQN+)H;6AYf1mn1Ueno&_NjuH?Z)XuhT8Fs+!ES^FL|O&-B-RcVqG0QERFgQ3)Wmv)0cIenScBOefq3Z7? z1kV=a-NvgvGdQcrw90VW5{kZVe0~^<^tF`^TFh}*cgd6O*tdUWlVR119t85qM#mMm zuqtp4o%keijd!dihXNymGZE-5DQ(yOE)SMHD`|C2m0xCGHg$gCLW_S%(m<_|%P7VM z?s~z6rrtBA|DB-(PSZZYFgu7#Y@2EuBmJG=SzjL8wtS)BT?GPJBT)Yak<$nfY$J0- z(%?Dz8QPeHR}ahuViYhPSsvm8({|v7A!eo#frlx5NyqS#J-yfnP*P`^@ztY1xJQY! z=MloBiW#*d;trGKQ%yI;GXl`FeQ7D}EYHOI3DP;yF99_W=Un=&30?J%uk^sw^h}y{ zFQL}k93xLSg7bRr`8hL~SnOmIN>Fa? zDVLlX_mhmHP#vWK8_(0TedZC&IimTMNS7+BGYWJ}g`Ix{d+t*x+aI*lL*NI0F}=Oq zh9Kax3rQs@i#ofjdqVRW+8hr_(Z@!OCtftj=^t)vn9ACKXzA8wlT$VLEu*D!TBO;J z`s9x!q4*fu%Y5@1%LcQwzK0K^Twv|GDvA#qX8}KLdeVp#Bbt;gmD@aIu~?v60qBQ* ztxnF)^dKb=pU5DHGFWz1!*1S_ZE%z2Oi0^;L}Vf9eeL_e#{P4@KW#k2D4dlIx2)R4 zzWT4c+Gc&h&@Ecj;Uy*Xw5TXazXs$KT;$Ev$9p13FcitT8gc-{nX@{&YGgZy0^r^* zBT9YXheuu<$IC|o@#s|0mtQzIz(8i?R5Jg^M3wqL7FVR~geFjEgeGm*10zh^-*2wt z6>^YRChP;OB{RNsiinC%_SfWK&C5m9hf(Rud=GRM0z4aH@>qt`Mn8Y85G(=iFo+VCBQJgx@d6V~JWrZ&Q+Qr1#zn*M) zE*`^zDJxrhh~73_kwFyXW`3xrIsPC^RR&3Z)^1bC)8S?Z{+bzl_!|`TV_A`^25ABf zrKqT+w1t|!trhHP>th*?M^S$tVQ+sP6(hsG?;dyS>eUuu;-s8i!9|^npSJ}RbX8~c zwS7Om6K9)N@wfK1rudWT@VXP0`m_62G0gexa7^D-MmTB^j0<4Q>hm7QR^8JGJTp%% z=8*+~jE#!Q@Ro7nhsDsT)~ckWyo%bjJPO$Wj`GR|de)leW}|u`?rFiEg$2Jalr1!E zCp}W`@&N+(9>bTPfP+cv z+WI<#AiYW6#!p>X{NP6>qBNnPAFs||_)4WJyA$XyG#(Y-ej2iwO9-4JPN1zV6=g?& zMI2Ssq{GnSz23Lm<1bn+Dop*Y!b`EnsYn_sPnbT#w@K*S^@*gfyAI;fEL*$)y z#4Q?Al4q!klfqkcN=sX7D}*QuIl7Wa{-DIM;e5i1EX#OS_X+tM2&xy^H4gQ8DUY4A z--sjC?))m?nF84#5#H(YLjC2LFz_-HJ(P5^w0CFV_gl=$ie`*9Dtfg1JbREeEy#pm z9&hiecIdk7DQb$%C+HTR($14Nd63pjr!>1yzMPiv_8v3m=hwR_byAR3HG}*8#xu>8 zY^@W|Rl!2AkE*rnH+^TR0IJFz4-E~7t6^hiWED`|owSZoI-#7EE|leA;$z@rt?w!> zAKrN&0+kUpb`(Lqce#&X=isjAg{rX_HH&WSO3h-o#Lizil&CXhGFs(=2DB=*Ig*p1 z9V{iTq#xL)Pc+%S#+=IdpV(siop045^#>dDor9;eMaW2l9t= zz}HxnJmC$Y#j1(c*}BmlQHxH%udyL0KUnhXn^e^uiov%~pjR9$VJPK~H)nZvl!G;6 zeM=yB}@&O zL37F`XQpPK9!G(odA%g(?#A-%cJ_NMLQ*X#3fMySUTW{MR*niDTnr`TtiL)N7|1(W zmr9VtI7q4*i1O*AY<+wYN^ECG1OVpHFmsfxDbN_V+-r3S4JqX+FsbLm`R#aV7R7cy zj;(j))mFw0+4{NoDVscBZr+?&uZyVvEJUExf#bd!Eau7Qw*Bg&Z6>MPuT;+}NfVB&gF<4!P=yi7xS*95@)Ui;pa7E&Zp?N*@*Ed7(>J2(skHPJ z8h^t;a{cba%w!pp&+OgHi8ivEH57=(@oTe^v?@BLY~NV;yH}GN))Rw+U@UW?LVAG` z{rcteH6>Z?uUgsPw?|B5M=e82I8%OoUc4&=6mgTwYA_=3@#8&WERbUUami_|l(BjeYS$j(2FtW+fjMC!JgqL^1Xq zC+xWpifT6oJ8b$|%epcorN3-v!zt8eCXve{Oc#cWW2h0V;RK!)W0W(<+XOp6# zflCNU&fO($BCrK&MJt`5k6JB`D~xS~Xrt-bG&`v4S;YS;wfIRS|9<_AFlF9$6@F<= zd;~XBtra_-CLtD&9d1@PBr=_DdR{j5+ZZ(gh-oXlsMsYa7!_&m|-T)^E%sDqzBz7ZW%Ux0K;F)YT6BYRQ}`2c{2U1Ay$;k^OK;5?<>GwoKyAH4l3 zX~m+Xw`(Hp!OF$<0RNu2+xoCSUC=kogV|J3;mjK09MyIDJ&GZNm=)QoZfe97B0=+` zlbY0frRZ;9u8X30{Ijlj49Ad^9pgd{C&Td!k7*WC-lF=A@qj4iZqi!XSbkdzHV8j( zItyK&iQu21>xcYC#EnDA#Htz<)Z4Po)7@Yw$P1Z-cLK{#Os%Ab}=-=pP;%W>*Vg zH^po>`ECdILM{yiqygV{7Q(7DW|^_|f4~Sd9r$fHohaJRZGX7fBgzK6ntHiOd_&-R zqX_$$@Qnr#rh?GL1(;n@bUR(J3VXwXR4NJiXsa|?sH@(6BfR+VbrLoV*PQgH_58ii zLT0Y=>a$Q+q9vZGAR@qFEEjP?v0z`A$XUW0VP<<{0-5(N_n9=-4sQuK zv|udb0A1J^6~2*vM_C&RmjWx_hJ<(3}YL0QV6K%t0}qLyq7k z@LnmPNOznb5QbVdwC;({T<^ayHUVit*@!r29WsGpp&>PY@xVYWl|4S*LmprRmN}{E zUDgTx(-;U5p!p~8aQopV|0a4p;Fd;&zx`ea#_|UY(ep+Gpndrn0h)sc`m;z7ITEBm zfu`-4ud~%Uw5y`{@2@kp&z}F`Y5Q7A>#aN0~S)i?DPuolXypks4rPSn^1@& z%q0^E%7=z1$%AP7w)GLtvUt7o7y%-S=n>$D2Wv?Uk+u9ked4Ky$}ktK1`u)mk4j}o zf$Y)-{-F5mb5C{9IoyG;XaJn#AMbNv{2X`CpMR?S{zn)yj8)`))$c<+R@6T-?_&Tr zI_yEGw>}gBjtO0=n0E$yn3(wqF;;-)T?RxbQOxL@Hf$&0pEY=%pq6AKOB1AiYGEeV z-75mXM%9cW`7dM~-&tGIYBp#w(kV!J2Qi!wJw^>I0^H0K#U$i1Wv)`bhQc`zKx`*P z^ax2_kx;KZC3u{1NfX^iw=Ty^JK_A&dl-M1P8>jqY+K-#Iwh^RyGrI$NuyvJ?)_$Y zpS5AExT}1qM_9hO(X`h9Yw3NL#d7WGcAlV+bZ_cptRs2`U5Zizy~wrmYsK#8bvL5Pdb37G?4 zOZ|{+iL-(C`Nqk`MQLLZ8mp|t-OMhI=93rFDKM?%WQmXMl-AapIt7(?CUnHK>>4vB zVypzo&2&LotC61{J>4j7&0+jc;I80~W{HGjNN21Loi{SHjVtUK2y72Ok%u_Vdoj>T8rztZY zhW4rsb2k^OwyBL9;OJsrn-N~s%-v+Eyb0-QJaT>2Mm~AV9Aa$?(>0Y02$J}>)#sD> z_l-eDA#*TLR=Gg64>kg?J20Y7F_fvo%^Wl+spYk3*MLE_39O;iET`{wljM{R9=>7`FTuf(Q_3WQS*QwqMRc&@<{@D4zQBxZR0h87=++UF) z+k4m_C6K0mLC;bU#O+j5#4=)ayrXyH`S;daF_(-|4z}M5KO0+na>x^CUd{zEDeEf_P{y$dQ(5t&UcXd|Y&tG)lB;g~2c~N}dgl@dGm{ z0Mfw3Hi&yEvQ7VYB=F6+Bz4`mnoOkb%kMt23V$?y*7smounzYQ1XS4Ug<6VDueqK4 zyL*@(TJ)Bk+Z#16ltFrei289^^|1@A6+$Im*}#G?W8t1om483|JnyU;B`(0Ys@wI? zcT_8+>sr?|-S4?WK}!v$3^`2b-Lh<@pC3y<9*#_~QR(KebV|-=kJ_qCq1hG`Y-!w4 z$^dCFaZjzn1cG@wKFfUOrk_PTv)9uUZcvI3_YbE@kl3FBC;NEj>7+7XOHAnTps9WR zIG!_6RKkIaCM#d`@)C#y=7kK$0hE@@{fRq+r%k%~g>_900*xln|4w05@#u@v&G+4b zwMji^9A|QKiAISY!z(uR@VKxNqU%^8Dw5y3{;P}uiA8+zQiRxWeK_TJqU(;?u&qPyL;5uXB5| zRYyqKtv?=io{svGM~9o9%4Hj@fZRgw$Dqy!9}_c1K{AK8p}(Ow*zhiSgK}*i`(KqS zzM5I_);YSqo+QuCMycbMDkSZ{8UC1Qw+?VKH7@$HwS>A=2rt~?0lJtK#vET4$IrM} zjAO>g5iXZuQ!QoCMM5v!;V1P^abWRc+sb&}8?Ueju7f?DaulmZ@%39?{~EqISzUWc zdZx2Af*pK3&0dE>Dvwvy3$p{`IenvS2sP)pnZ_05=t7phTS@FMEDiM~$2iX`#G=rL z5V)zmE=Hxw8(B-rl+bi+FZD%=e$t<6>hLmu9a$=zEu7{n&CRj88d=({+piiy$^I2? ztTLo9!f2OAY-H!TSi${c7B;AOtP<4T+Un={yJc-y^?N(d2HtfURK^fx4Y^~<56Cvg zjtoO5ekWe9qO@Lz%){CGgcaEu<&syoK1yTm<5I&hYzhM@Ggl5MjdauLoWO($>r@gHeQ~CF!r$_qX;mneos_LpZ1qPrFkGtFT zo|q;)x7ubeM@o}C$e^X(4?>PEgo~EMjF9RrHiN-FnGPa?G$N&soa88_)DWM1FAVv7E8jEceYAe4vu{wJh(lrQxN3LK6>;Kkw+~B#)9y zu+HAt>h$Vr=#kwC$GIG47hfH5$P?cRfr@}&*d(s@zE*QA(J>TxQckzek z_qE$e_nt-htsA(@2a2+}N@`CAmI@cwELih|^PhWH6C% zZyF%cIrS1#TN#sh}a23T(MLlu}hsD|{V_(T&iF z!J;^x@AmMuv(s;Dc4B4Uke^hK}X z+LD}XxM+RS5gQ(}0iWBM6~ z$CJ9&d*f>@wN6z0l!nCG0*ybcyle#+3nxCM;u94Fe7p(;3qob=3{c#SV){Lduim_D z`x|+VdK`z7U&9tBv<=9GvXxgI&-4{~YmVFX47vU+I3pEmr$hL-%!_6G<0OSfAK3S5;f>eV~vU`i2oZXFGc7W~?sNepC_2Fvf_A_-mniHnC~G z9L5rI?x0)qUF_jRvYT4?M0EC^`~7EnB!UfhIL%KnGZRS8K6ev#_394pAmE^d-VjA2 zB^1B>sV`-`LQlZ|u?s}%7jMO4UHjbG>}r5n_PZE~d|Fr1f-6OXNx$X#)*YQm8fI^9 z^7eY4>CW}0S3Ki2P1)r5zW<1RbyfL?1y1$?A2+}K&_RorGq;GWazF=|Fo$_0hW&+- z%e1l7{B3M;TA;|O?GO7+2o^}_Wp8ZMJC$j@!)v>1>OsUsWp!q%FnM}7COHO4xjFyZ z84u|N+JIHWBvQ=yoygH8okI2x1=Us`V|V|$iS{i8DJ(89s8Az+(?giA9MNCY+@p5O zsSIv!zDj?wRV^bWbK2wRt>191!`1)z>ePmtWCZmFXGR{l%%k}$0WW#YadT*PW6NUi#?SC&2+VwL;3#`|*byR3c=h(#-%+vVtGYRlSLzD}j0SOhONe?uLbqiCE$ z@5Qn>HwMB8V)bv%1Ne)TIiu2L5x6@R5Yc-EU8Awg1Rt5${&KRg(RMmpUrz1H&L2g| za$dUD#eHybdF{&ww0k(|FwQRXIid8DA0s=v0wJGK-=~dyMP|bm=iMhsUD-M>+1HV$ z+p{A!f9BYr;-WkY$0xB)+ICOBZ54F|1<}cfmX_(1=KA{Dj_GpU#QbSqt4A^h)#Hbj z!H#X8(4-v-xsp$YKz=LQgEYf+>mlYVH#2^(61FnQl)1*f(7vgWbf^yFgYL^vus9R} zWkRTaJ_Ym;8d zXqCON=V=$HIAhp70o8-PT_!+69D8=Yr^v|IY`iKEwj1;gOK(YLyCND9+%vO19@v<1 zA0mb2DVI3H~zHTx8Obn-Ut;6S%v&Fwan zK1@1#cYov}{n(!>-0AvtWWodfIOZ_sn{%qYVOvthFTqwfht|rjaZNEd42@_#9S}ZO zftx{#C%-sptY|2g#ZFi9C=k%jH5n&C9>3T()S|nex&vK_mAoyrEsh<%*5X_)P$yN& zHvBh%LbN?Il|s#Su!^S!d^_12!YUB}!<70SX}~FRomW$}L-rBC87_p7&p-|)h&C_*&qpKAv)fyR*p-*te6EKI6HcapY~&wV$AoywVPW3u-+ND)Y1;3`h}2ww z2R?B*151H14IzswTiGGIqqQS0=-ja*D{g+Lwq=Ou6XnR)tVf@a^leKs^fEz})|uM8 z-VJp%jC!dQs@kTtpO_u*Zk~4MwxCJ5am&PKONpa~3E87k#~DW?O7j}DeQ888$+y8T zNs$M6p=;Cg_NxvI4#YgJe%8M=`!so{cC8ww>5I)Vub1{U$JNbtTBo%j$DcI)8|KvJ zxaz%L`$lVT|PGLeJ5-bTEDvF)s{3(-!V~r|b zK0Wx;b=<-rORG7tU6<_E%lWW*wkvwgI~m-b!OosPNJ1eC9$CIZTD1GTIsQXvxBR-z*w5QB3)LSf);XjJSSrm9M8e1o@2M-VHuh#ky*3s#>K}7@|GU z0{?cR;$_tYDfxO`D>%5O(|~<;r+|H1Un0Kby6tRfHZhk|KuA}3IQFu)p@vL(vj*i! zZRN>QCzIKsImlTa2rWF47CdDMR4y5fW;M0C!7p4LZfeq?AVcCW?}h42(?p$M^$aFN zM+ChDxPLMe|32IP32EX8TSerP;~~=Kvj5*Bc!Q5$rO-w`JE}l@AvQkpFI6s5hcCBSmBeu0G;Bpng&0CBhd|5Ctb$zHDr%MU>ApTX^5M#eTqPAkST^F2F#1a%GZ>AS!vO-;pe3a{n`--mw- z4JTdS6qdIFrqC0vIIP;}*7(wX|HkMz-WkT*3o}eonX=cN|JT*wi_IQ!{A&~Ax|7dwnTTa@JGBx7K0n)Dlc936h($=yGjQ=9o(`ZJ_Tl~h{#0fMCfK&?N!q=sMH_mH6im*(gB3rH)6&I;MO8w)D*f?jmcn`YEbTQt zokczEwqK;AilLbZ>ju@>IS&5fdhLOl>r)TJTK43dn}*5(eG}DP1Yjv$`GzpN-)82g zM|*p-4Y$K3fbnSgzF={FzPcGJp!2ZqFnuO_9eug1h5Ql?dP>XrPD?{W6mbKi>#Fmx zO=?QYxS~R3wqbg*C2}Zr%H+UsIbLxnTrW{F_xzN=@8)J7N3++dn~9w0@;t9{WF2$d zu`I}85MkG+t=VK)R%W(hGyD4d#bw#>y`C}g>}3{DuidSoCEPbM==Rba3%A3qBfh1| z#-r;i6kdJRI*Zhccc)Dc^_H-H=ksWo&H%_Pu7&w`=JSP0I$6y4C?cpB@tC_NO)sGu z`Z%qJ|8t?nw!5*md~?(YCcd?#qJ4#(o`HTR_=nRP-N>sl7_m1 zpNr0Q`gK!d<3Bk*_f45^%E~Ie0|OCI_=@6}DjII%+&C#uUdUj|MXYIO#7!#D#6ovp z#PqO7sjj{t2pfYqeU(#yr2xB(I7`X%H1p`(gnf1sA4ol}rv;51y*z~|oD+fYbP}#3gtUR+{9$EAtyI*=Eo%_Xvg#~Zn-LLi&BG-qkk`I?J zi{FoQtHe^S3QMKxO$iJ7+uK8_$Kf$CfmkId_Blok+HSvJcPH;Q3=bnmr5t$RamVxJ zy8ZAnDb_f#DcLTm`4pP1T=bVe^Iy ziLC5>oQ_bw{F>Fg)pyy_i(FC*BnEN(FZTYjEskjG7KX7vaEIW*-Q5Z91a}DT?lc-K zcyM=@hM>XSwQ+ZMcY8W}pZk5!FF2p>Z`G?;SM{}OO&Md%nq_J7)^F8L&dz&fKEb6sB4B<)Xpd5fQk7hBkwP2<*c*UqE)YQ}_1v%`~*GB(-^G7kqOn6ASo6gEZY;{C zkJT50F^us&{2KK)uPrynqVf}@ZQIyoh;nxKl!6ICq-ugya@%EU+r-f*?g4eros8{k zvp%6N0(Ag39u^I?YAQ+<2AA-3ub8EjIZw+O7CUAbK}-bRno{p>aBGvZ-H`lW2*!+p zA`s6#Q$Ct~l*q3Xe-5_t1Fu)<7W(&Jk|$3vVdE8WmYImC;A;5@rfnWSW`>#rigy}I zNuKu~ekXA`p(xLOQJ(`D3>es9KhbAi8l)ppbIW`#e=8jLk(@m`(+Z$v!&l7absLHQ zP5Jwam}ufkLCCU7lfgH>j=tb>4PjyUWkk^?<##^}xRNu$Pf05N$WmxW=S+XxJ{LU& zht&422}+#58`;L8&mE9<%Tm9dqr>*=htlZ=^2~1-Mz}))T6hu(wsy!HJxmw*Y6PJ; zXo5H0+#ouFw3wkh8P~HRq78pOoo`(6Lk}by-j3Trv2GU zv|bSUk`A0swO;-bE4jL9CqT^!^Snoq$@!K~+y?Q0S(3>w9EsQ61Ga>D)@Eb`k6 zQY3qHjLA?yRG)(p3PfkVCIX0qDOo3c<6dX(MX&$tQ8oWzCdrpey1s4t|jz{EwAqb+A2P~HT`uRT^B3L@_>i!1Sa06{Z~E& zYw3=T|0B`;N6&+V#19Dir&RtEBLAHY1s>dmgOKq5oa8@elLm|No16cmLHFBz`KWfLWG4iv&G+V*pY#=jK220XMIfSnWSdr?XPfQ}Id^qd+?0?W8ZHVv$5ZGc zth~GVD`Z8JuLSmZo1g-uDt_H~zWd|oXeu%Z18M5HGW8w-3j}H3imzzEJvNe>1${2M zxQ|$1EbAi(%QCYZE*sx5JIo$*%ex)Aj6Q?7OmXnA*L=_al&Y=l6nXor2L2tWCeBrc z7vH;|LXQZS-C?iT;0`iUGFsv5*hhjufrYwd0&s^&XN!0&9XyyTH_3+&KOJB&j&qBa zDJ0P_ik8u`NXz(bJ)+oOcYS?Q;-^UKjvr8^X=RtZnR)hvH@xT$I?Y4+{JW!Obr{|_ zgkQ*4_R5@A`}LB_fK%bg<-OTgqEYd%qM9JUf3xqoNcT z3W^lmxZ{#Ue>cu;MKm}joQ&HM?^TT~$QT<`lJ#4n+e5A`xgMJ6)U$(je?5j=o{}5K zC205UE5&K>NP-Ox2Fsc!Q|m~{9zVW}>p!ZrB6;?H6}kBF7_Kr?M-amBX_?ZNke7+r zxIE+Yn`{2|27tG}FmNCx$0|bM9)3C)0Rt%<`}AuWkUV3bNz_E;NPt>%O0lE91fGTiXPKARwjqmr zCb03%P=L}Y&CR}kP00m097R$&z9(<%L*n$bXKgKRNIoKCXi0r{n@Jp#Z|0K6Om6GD zzE@)m14nIL#;?#1ejgtxP4sbvU*-_ewiiQ=*Hg8r2yk?`Ig}jfVX2}!xx>RuP#obE ze^=*J+h$JfPR2H#U|cT?THrxtf9eQ2{%~j#kKBU03$W`SZj(9}I(vk*UfB)l#Vm^C z)m)`58L;!yBaH8!3wZt-ip3;O8%OJh3$xa~mKSr4ugl;N$on~ng1T8UK%iP$f97CG z?b4Jk5Y5K)+bl|M$VKeK8=%9VE?qdTFl=M|bbabqHnOLQ3W_nnS2uOi@s9gTeNh6< zo7UX^-tX7eXXz^tGC(n>()XfR^{*KCya+T;F~- zEH8yiYOpWZM^l!oa(3FXwytE((+aP=Wo<*L<5ndll0e)nxK>>GZj^KK;t(wXjzIe0khf=|-6NWBF^`tMC}6uW>`i?>n)~ z7-?PeLs+9MsoPJdEpWHNROm{K6B8tj%iDmkDsgNT$2yzO(ZlF9N)e%W+*ugTy1X(A z2F%hupm%DOW zFo}E!7X)*YvdsbS#ZW716>lnX$?{y^5$*Ia#PJNeH zsBono!5hh`LkUc_5$JmJdY!WP-?!O)0HqNYQvd6(xxC~UKdXp;{dVd1(WSVGv2h-s z2!s(-I7l(xIt}hCa7sx#HLhyJLuD~hfhyT&>o?;P1ac-M^{e8!b0rxv;S^&d$eWF_ zKbbZD87tONS-Q_Q#{zj3H_eeecZrtF5^5I7j=NEP(4 z?UUB5ZO(lY(CzCSXG1D$uv@ufDmesAQCGd?ZP zMb0&!hpGGR7Ah;PLVjb>ipi>hCT>kdmold+vPh_gHDTC&Y=TfHb)4CPji?C9B|$$q zOKERkZyiHdM}j~}H3{B|NA;+jBX~mH*jetVM}?0cIQPi7)okoUyr$n${}V7I$R9st zD1acfeR8ZNwpc?ZJ$V%sv8e7XFQf*o)b7{4f*Tr1=C&%N*I1N`g`Sq z1=<<;t(U{J&u zepS{SM>g6mgV*$OZaQSoHIJYRFPslYdZOmZzOhOE2W?uMQJpG2cA)o9I%b>MZ<$B= z*!f`rQ=-P^UT+g4#vLE7iCIEbxvUHitdQ-cwgiHL!h1~ucEVTp4WjIU*TSok?{qGh6WV!2umaJmrvzLc1b*P0;SOa-Rfrs2Ffx%{2%S;hf}Siu8kRtu5X^p!JIut zx6Y%?Q|xh`bCx9qrvh2}6jM3!h?G3|`RL{-(ORKa$H;jQoMO21@ncB3hub`n20hx) zc0Gm@yTz6E^Vrr!pdS+x{Q5EtY4Fq*05RW*J=tSI2{z8yY-@Njl0wk9CP=JnE0;>> z8t4Fm`)nCAt75HCrM(t%Jc}NgoeE0P)a2SjuoX=xcSAYkXp+wXWnfZ$jM>^qnlm<1 zYa&1Y7XJo@vJL$+!Gd)0m?29E?!G)4Lg_^|l7JQg-)WQebwMA>T;gAxYC3s_Id;eKDC9 zT9&+wlhWt(n``sDDkDy@8lACtRGC8IytL%#;IIfrK`X~xJ+I}hwbYrNdW34}pQJ|T zB0dLa+>wSVMIw=EVwZ#rZv`3^-k1Sid_M%24wVyp1?BMgFRI@gCP;q{@j{*H*eO?_ zoC=r2T=u!4TE@_%GI?x}fSLxx$;t*uJGn89Q+8?)@WYIGi!U45U6I@47g`8tTdZ%m zr;lXXNpZ%3TkCpxHF%K=l^wEq9ov5fn(#z+sc%NNEaz+s3L}2!Xq&6rwen|K5%mZl zB^h2}Y6n&P9#=XUr%>m|7?|3{8|LB`>#mfSDv}*#lA>GS!3tL!J9jQ?+3kxA8G!5= z&6SA)RUS5|qEg_t%@)Ygz4X#fjyAJdrs?5{{hO}13EVW?P`ax_~wlVMR| z(-f z&L_VXI(%(Oa6x6;Umju#HBWM~%IgQ_(uT{_i=f8a*1vCkA4>Ux4X_(V=4v4V=~w`# zQl+%Rvz3n{xvkyrMI1iWOA}GjoMT&1q<&i&e#43XUhFnzwTUt`6V}>qO8lvQL>rjI zPm@b9lYxO3>NjJ2klKwFm4v!=4ujxL-<%%7){+%arD5K$veCpgoy|*=99DNm-Yr5Z z%?wksdrxc}H<+^$^~1Kf=BSn;K04uS-ka{PmMzg;E1CGcbdOR@q+mg906$yW2=ml% zxfTvEKY(jGaHtl&`CR&$89keSz;u^kD8P8zLY51Id6^s&mepL=(wvA4*h7^t87_q z?h0=U>?ImA^fEbjO-=L?> zqIJDjwvz;#9+@oLpkBh+a+j}TH#(5|q-H*`^&=sP{BB>8s`I-w5tV@2Z|&T8M*n&R zDmqzx4&^mR?Xqxq0c|bkmUv5)!iZ4=%??&TzShQ%+BI3b;TYVh`Q@=1CwNJXg)Exf zBLfkKc6QizJx_EHjh2EbLtP@B1C~pIVq5x%ysm9HdJXe$ZPLri`iF@>;u)8N{D-t` zn@YM+SriDCVj}hv)3z(eMymZ1DfFCF*PCViKmH_D5SRZ&HNRdn-U-+k{L^1WFq(Iu z8W$>CSRDT7N;k)){e_SF;JOB%o{4#+0mW2GP0=)#3uT`DwiZ!bvTbgT63n?3 z{f+CQc&7}if`t7;%4RKV+A5BaXIHE?Y8)lggJgRNM_=08;g(aGIOi)hRBU9%frh-n zy~%ocVpidNm8=6%=gYghwZtTHrf0=5@mTj5rp;NlETWv^YVQjl>Af4=Po1~A=1 z@#*jdH!If~!XJt<=hE+`2|`8})G}kWPFYISwdMeN7#q}W&U(+DGgZO?Wt5@ix`ea| zg0ykoe{Ri@Vq;wfaWSmL^e%=P_G2xR!jESmflTebD+R^dDDCMF!#s!>c4OzQFdLVMNkhQa8tA9`0TyD;sZkq8+t^v{a3_L~; zaVhXh=^OTtTxM%B{YJU?- z$9iaYG}2vD)+R!MrcBT56ScGD>q%4`E022SpeG(kNHagf9AAT9f*a+NPnw7`DRH&7 zZK5neBEL@DdC*J~3rUjj>8%6e6C^>dT5Nqnr_Ij{@z*dq?fi)(! zVl_qno}+afg$;_wh-pEg^Vn_1Xdsnf-!wKRQiZV7Lzr7?ph3%suoHx z9S*;aoqWC=Tff9fcECNwK4wjNH`?>;L>DYc05v3V=F{%HPltN;O+PFrm3>G(}>vn~y`Hia*YII?a#Q?;@o7a#gvgOHGC*)02uY7(=NYv@*AvvnK! z%IQzIi*MF^?8r|os1oDE{RA^Erpuo68d;gT*RGm<%s3OWrqZ_6tYj$f@}KyA>((4Y zsrW`PRhr6G*t*No9xzE&%z5jKPndVqYLwgkt|1$VF~Un4Rv6jUGoq;sk$0l)9xE&l zGkFhQHIR-kaw^-v&KgchR(-NBXs?QQvAD|%LGCWg7pZG$zKhsBa;>33OH97PO{3k$%3+?HK*> zmg>D^nbM3}u8%oqZJq`&^&E=D%huyb9*2@iHKs-({HtwkF|s;l#%Vp)e1E0Q7fPjJ z-zEoYM`;sL)}0&cd-ib-r(vJN8qtxdRwPoy#k6b44&}!FJlR*ZojOqtnE5H$rVo$B zo%#S9%GKf8hP~kE;AL{p`U5rMr|s+s5YWQ zZ&W@N4(CjQQ_D2Y*d1+f_-43nHoj>W3-8gfV2v{nnG7|}&!0wXr)-y03YTX#m!;qO zp_nHJGi1fbo-@X1wwOGuSV9Mf&=7RE#MsZ_`kXua8)?R6H8b<*OEfy!Iv0N`aKT&_ zz^bc#-BjjOBmBidOV7%q^xHv8+IIfrXf7w*@R2Ke^qF?6U|!=sRA8H=RMam=&C+2< z)If>Yuuwrz4$tR9RF*3G@p_8^;f(@?b9;3}yDXu6j^gWRXq>m4YS~Z0xRA(QIWf49 zzFASFR*ftd_bjsd42cFPkE-$O9Y|k4gF&eogGOP&dZrmwleU8z*66Wjyt zC|!>}>7b(Nkp3@oGJkHc)R*4G(f{DWaG;e=x`~X6cJCq$%MTvnQ3=|yg$%kYiNm%% z;K5sZeU)#B!oh&j`FAdni;A^PlW+k{1kqxY;ilNqSG~^U$IoaWkzAokNWn2*5oV?% zU;fHpFI~>58^ODE=pf5kg(1gB#c$t&0$_9f|1_f7k<*{UFH6Q zj=_5`<>x!~Ymr(Not)&Eah14?j{{+Y9K`(D^6Ph>&xfpKhE*sr51h#Nc50_jmrs|y zo_(^$ddIE%mHecrxfapFR&V4OdX-&+ef$Z3hR8M0Of=szehDnRHsZ!@_ zA{TAyXE0Z}b)49VT1-nyrZ$>M20?7?wAgDnK%pqW=&;9QUlSZk<>EgF`~{0gIZO`D`p~HFIEGCmRTlFm6?Vv60%h5cy+L+ClW> z&G&%0H8Q-q(#V3=wdOvw$$X2w5askE|M{3+jG(fuxHRj z(oFDd+f7@|P8w%Wwzbx}esiLiR*xReiy476x4b#e6(!5!@TYLv`GwP+TfQ>9to~bE zV#bPx{}PaKRlkIY`AA{vYQ1x89%`lYWx^#Gvck)kHVtY;2k0n=4~2gT1H&O@VlvnA zyC>a2kz}^~r~J*AttfgVc{^vZiYte(+S%&5DJrRvfMNjF(te>{cxE81>wMy!(J@$y5V*eD2clAuw@j!t(ALM>}1#+J%lR#Z~H`2n~g(;m=t~y1-#k zMQH)@+T5jV4z2h@DtsajOjoH@h05LYb8BB$)*PBBIab#sJbg1cS?toac4uFxwUJ{} z3O0@%6MXjQD!0dsvw@yqEHPCUomelMUU8aA%yveZ1{|eQ?3GUPN7a93({c{UI6b56 zZ0)@N6=7yAfLIgeE}0@7mGc=beS7!0DK2B1CJl-tX%ipQs=kD9J#&gs9bbl{0pC`p zjWR*PtU z5buq_0b1Z^mQJW_NM% zvlIvwuE8oCY6;sAEF-7G%4&&?NpF8Tmin#XCjHdN_$-R7by_6Cgfv zR_jKsJ1CGW?Qjq%wNs{1`Wo9CX+Cx(i{e>lheAK3zkNtrb!z%WDlYv4ROwp- zjB`arJEr;A3d||jc4>45sR9G$`|+oRqBZR~p7gmz1FmIW0p=EUbI{@6z4c_9M9*LZ z^|PB<55q^sn%O+gLK{o%Jd&9xZh)Jr3hzlV6p zTxQtA;!V}7u3awPW#BV2C$W-KPc!ETrIaW{VlS zXr{PwqKT9iW$Tvj`tHj+JI3dKB_Z{51QO{PYWtC0J9SJLRJB=`>cUrL8=Eps`MBWZ z)WKTYd@QR*+wlHW=dfr;?e;^_?BSh=Nu8EHr6ZTRfeT;;)`M1EOXdKFEHAT18nXr` z&7gcX`Lr>WJ`}12oDl8Hj@r6I4ys^0kpQB|szpSgvjYOwx6#Y;N!@vIOeKyNcTbI! znR79tP5f-?aY3GK-aljh(D?>iXMH{0f>$RKcAHs!C9TUAQG!mmk)lA5Hy!aPM%5Z; zZLi~5(nddtSPS8#O)pFwKHhB^#!}Mc{_L+|v$<}0^2zmQIT3ObW&v3&Muy$KHJPqm zaeL|Smw|eYmT--Xp*e0x2H=#`fXDhBc>xF><=l@9pPDnt% zXj1+BMF_4mBC=dtEJGq#jI%`jmiMJ~eyVC0Zz(bqmPQN{Dw(!2X<~qDp5pTLWPYRt zDgTTc7Jz9Deqn=jr%bBMU^HcM`HC+s5qVN0qR8}s_fvIPOJ=7Ex6Up|sHp+cSTKQ} zF;#wQ9p(_dLe$w#>ws=AvX09EsFlr`O4fdc#Iom>!%P{EA#R=4rFwNug~y1eP$O+m ziDkWOeIkS#lFj++)SRKq{!{(5&WPy>pO~fE_T>D6U5s9F?fz9U6~#Nm%AJXfi~}nc zsChMU_)GHPp{>!prIIt`+0ft&Vw`2aWlXr4A9phvg843jVSQ8J%d~O$U_e8f>D;!R zT16y|9FmI`c+lta`aY>r1LoD#W)mf7k_?=a@u}3QDKz% zj(E0Ipdm;MBpGDH(&zsPz}Uga>ET{u;_AECspBF~cpl&wmbDOL>@92&|7BpQWT$f* z2!uXrgj$v$8S0xMD??QW6g1nq;Y8knAA!}(YzK-T_>6VCUg)Teo$ddWH`H5h18V7u z5hUjmn0o*XauVn+oxDot1mVLRZ;_$!KVyLjCPBLHy9oh(zEl~`KabnHr!}&^MB_T( zOy6oa8J}SFeL+pP8r8e0cuW@CFG?TvnWk)3p)mPXiz!|Zlr5xEUImT;H}T!8vJj)v zMMAz1pIo(1%5hzY3Rv4XcVv)`Y>g&N!<`1z<;133Q^uK#=`&Ol=oS6x4KrDF@(;_= zoxc9#oywfx&n=Rn{F2LwtrUovG&G#|s&MJ+lGJ0_X_L3#Im(~T#CX*1t@+ltzVz;} z{R9H}33{qXS`Q!mkDW~GfyS1QVM7+r0|$2xPV5zCmU^11{d z9xH++ueL1%fh%N?V9{TS;p3?QaG87dCivwb zy(t<|D!2l6YGsQT+bv)Tp1vg$(KzjClC0UfbxHfKPkL4Q+sxc_{jg$KQ4wTzrK+iO%epL z>FYU=Dr9?et<;!cQ?UoVxZqgGRv<>Yruj4zL?w>9%jS{kUGe^umcwoeGq?vxhtEb+ z9{8>&Vmq*$CJv_5G--t(Jg`MJaWlp}yS}@Vsi^7RG;g;J*7+jcmXZ-px{Br1&JEK= zGw5{Y47K*E?p?PnWfxz|1%4miHr*YeNlWwKk--9eX$W|+lqwaQVT|Rra|1cM!4&N8 zgqM#e8R=4EcGp*G4q#fx%TI2JuO9<Zg@B?z~BxGOfkJi!^z2?xrvkhMz9ZR~r!kR$d#%=G%%a&>Q#o@3<#m=~atK4WB^E<4^t2p@+uv&_C4JC@k1 znEnQ|wZc}I4H+N}W#GT89mdG`{dk)lKl~*ftu^|*t@}&XZ%lIs-hr`rSGf{I{Ps@; ztX!n`BaBw9S&1~C0lCC-v;QE&Fe95-ytHflY5fvb!&VZHAm-H+id{*n)KuAG zK1s3F5L}LDQ0bzD<3V)sAL)H5L~0e6aB=+#L>Uez!}_G$647wlR!XvX+c$UOkZ|}u zeu}jk?Wy8tB2R;84YF&e4C@H_+lj3VP#g+3SR34l_)RcMQ%}mR{QVF^@n^<*!Bx2i zE|v|3xDVUrZ>uPk=3~pogHMBJ27{75E}k`5I61Db^7zy1m0 z84eN|M)n7oVnF%7e}@HT2x$Iy;QzOd|GOUlyB+>7v-;od@c-Wq7m=Uf4v$dZ7R6U-wQ%W5KN#pPj%WUi4=7Dm<|0Bg@IUqKK=vWez}5tn1yL%W{4M@ zhv*qi(9+)gQ110eFIN192;D_u`O9zXA_)*?@4!vy0WmEcrS-s!+EsG!40oG^y1fX% zlB&+@yfibr$oomt=nEg`@T3bNWY!uKP2kxY^oN^aYExWn_DVAd?qi!d_O0Jv;2ziC z>vhA){rz1N;&Oh%aqr#laO0!lL^#@3{WJctZk_#PM>BrFi8(;ax!`uRwxVi{F9KR& zg2lBv2a^Qa+lKmf!{^&;&hJjlH%^P~>W}0bO@DrrF1H#^sOG#!4>At$HCv^96!<$*;h{P|%^7&HG^uEkFq#70P?k2t=|90iXbR`lU4c>PT>DJyipL(`1AzysXx z9)JlK5PNaV+Q@nD9=1I%wLtU|`OzdS4uO`x^Ko8Xm7NT3jOD}Q2XhOqU;(U)t=b(L zNE$8?Aa}W4bMqgyxovN*2M9fMzFp`Jid+!uAb@Y`H$+Hqx3RY^84-G+(!9Sh7V&S$ z2ghPc5KVqfM&YmrHG*M|x%Th;=Y5y$2cghiHZ=Io)VUADL*1OW zxE+r6W=D|LiEQL z;sxU2+1lg?r2XN!Au&X@BXX3Eve*TpC1twX)(QWN$cb|Jc`FHkMd(Nw^ugGGV`!UqR+f6H93K?!Y|iMYffgFkzK z$7`8=)xli+<3%Lc5>vnCLMnl+5LAMSbjS>zOS(t`G7JuY6$P8|f9QH4FcG=+fAjbM zj|P0%AQ^kZ8n%oOIZuCt>Yx5$=d>*di@q{)bJRL*_cnqMA|;{ERqr+eI3&ul+9!^% z*ncsUI3~dHs_GzxAR+kYeYW80`v#Z%pGs`iPBDkCls!Wq3148KbRv+8EW#AmIUi@0 z;0)g9x|rWby9h3jvjHxb9n@j-il_iK5NK0%+FwM@C+LP6j;SL^^5{<|&*=nG(LpGJ zoTi+6s9T&;LEd1|WAH5ZHEku{XQ=;P(6y46kj4cWh~f;mM#J;FV|0eZIU0r`F(7} z<=yXt$^gppsBQNd75bil(t3f)OGDoqeX^X9FDVt5%2OQ`LJ^a=IkNGTA;(IY2i+E* z{{8!IxZBN}YUKAF_Em%5(JP_g6>{CK+A=**T6W;JuHNw4FcJ1SJd(;0_~=WpAO;^^ zd~A0A#wNi83>J1cl{t8D-;{oN`xPzIMo#AO=Q(;b#W4SkRE^lOW<4aE75=Y4%T^8! zt4OMlp9m^{YPafxBl6p`1FYXWGj!)8^g-4Ja@%V~ci04qx<=R@$vTPP&at@P{=S3X z!_>>i)!@eK^4}#b9f~`Y3#5Kv9zWT2{uM9XeT>Tv9>I#0**S*9pQh`xoi)nn(AEN= zStBgFNADU5VDy4$>*X)ZXSomXj+)}&_k3Cl#9b%OFA1x?2|D?ULj1n39*U#r97Z7{ z78?#gCJgOhWU*Ce^#^W6cg>sM@~Aes6iK{@52 zB8LHInrPfJkwb?UuSBp}i#X5HeUo%U2+Dvi#TrVevn)0W=B>s0AnGBhx%XuZ2{JGf zU#HXUaPv%zhX40oM%cVPk$~^UW*MN_L+yUen%UvJIH%)kl;q=bOSjYS!*|2qr)D{k z)-i+??-wWLaPeRk)~F8~Ic7wno+oQ^rhIXU6EkOEt>iAdS0s9^)Al=VPScBf9Vg-(F!j+gsLM7WP9=GyA+JC>X8x-C{ zP3-+v1b6X!sA-MVWT1yg*ynt#S(B;bb|Chmb;T^aZ>1!s_44=$F=aBd-POk^+1mF7 z$jy8(Y-_iZEyw)kn#bjG7(>n6=J@pbq?zq^J#5U-(3*qlqu~n$sjo%odGG-J@oEUS z{(iRE%nh5`?yPaE&%lXyWA@_x$!bEnsU6&4 zY5Zf};cbe2veRd4+eS(7_6J`&75?8&$E^^loF>or?UU;EyLFR|<~4hS=!&6&4d3@+ zl2!k~f@(ph1v_&WhV`baFeN>{kDdyP96@$fTgk{UlE*7Aj!kAg&!gG>;$GFo*XM%C zEWlGwh-S9e^_3b6uM@C06C%gAGC<=~GxRM`#{MU^S5rH-?m_;k8}JQR6Rv*927YqY z{X%szt2GLCtM|b-Hm2BY*|Yg2IxM^G7Zb1l`}A;wTV1$76x8!N|Iyg#m4op64#|5i z58!#MNRFUECTaB~my5*jcvarb`FZh8Nf>anbigDCxZgX-@pG>c+WWf9y>Zu5OUk_xM@Cm!bI(Kzmn%0 z(IG=rGVs~ij~<^vZNI)1G;~4Bf}8BTd3<}os?DO{-y4wic-sZC#|lpC3wV#VTWt93 zZEyD+u~)yo^8a1aVPMptbK$dtaNmU20eibEL3sR5Ry4t!<& z`CwtPf@*|AWiy{0U8O9*@vx$AHUpveYslXYzzwqN(@^ZBUdPM)%Hr(qwgPJV^K^)J zi|=+eyOQwp4uFL3<5el!x^Q%P@whpKnZ#b9Y|jAK<+hBSnUSOTz`^Hoe8G^PrF9pP z!@+CwRf)LG;dxX4fT`W*HS!UrvLMD^~YuFLraLH_tiv-;m6Yss!$tS ztMNHe&(-M0$H~R}9;(IpON&N0vRwY)1;5AB-a?1R!CHf!7(8{84~h>Iq=Ev<>ut*F zla}TjyX>+5dv(wTz*&oA&A*~T3o5I(#NTtjD5w3p=V|Hs_L*q1^I`pB!|z42y7MaX zum8PL?7Ejt3*e!`p>5t&t7f*K%RI+-?@Vb`YHP$+soU1|4?6;53se`@33(n?V4Zuy@yp=^j`_bb{#ed zbF~D)wlnZ>9Es>@9|V71-;+09?Lt!fvh^bB&E19pB3Ieom)h{!ImOg29&okyI!Wm~ z-=_yxo5?W|ehiR1w7)Q;X7Y`>pTF)2f83uUR)3t%;Ud<|Hen?Yl*yljwvu!_Rv5ll z>N0e{1m$><2AYPgAc&5UJpmfW zcwgS)jAUhDx}&vi<|k?QyeP}iZ#)bZa6CM(i~ZPXALaJ>I9jj#8?)Nlf-KWb{!EaM%|Bw;?re@9|i^RNod-{}uo31C) zdAo`!FTfoC6bbin)ohVn&O%wouc_a(7dF}Uyc}Y2ZMv0C(g5@LKTeag-FFOt#EI%i zQgl0U0pPt}|L$}|UhF)P9YCA}YwvrCi%a7BHR-r=?YR$d(Z0giaCB|W#E+dxQ1i;Jpr@RyDva@0heCEj!b(XH^kBO{Fc6 zyzetM_wzG%KHW2h#pEN(or&3IBD*&QFxh>&4d!2cevWi_-~W5@Zd|aGY-17zfV4xE zU;h}Zi1oWTceY|u)r%5O-|)G;PNOEaTEJC(>NmGpA}LL_k>i+AG3L3Fz>$ZJLp_e$?$Ai+kc=NAvZI+g6A#WLx9ugw!-zx%5}bN@5BC^N%f=s@QduHtB3P!y{BiB$@WNc=;&p|Y` zNsZ3KY;SePv-w|K5P1FW%f@$(UXMM9n{OB2JPu^nM4g0&<+)IN9{S~Qi(Qb@uwegu z1p~6|M30S-Xs46pOJ68jgNPu%B1FMS@0kjA1x z_x))CT&A|yMQ}tH^mn3LIA6cMOmnHu?7SRlX2)%r^Dgvx9!opG==c*Uba^W0u99Kn~7r^pnN=XF8T z-$^vRX-6}{o~KaU4cV=(y(8sQsakw*LxO*E?w{G_qFZx(wuimlYXQB!vBEdoE|Z4d z$4im86Z*Eex^>hfZLiCd%P8(`GZpe^Zh0)iKDzfPhSwL@)zY$rCJ!EQs0pLsj)T49bZ&+1A7>GL+20 z?0Sz7(7=&nr$oMBv4ki0{mRrkCyM*w?hk)cL!~)DQiYM1KaBN`*@+MFc^aIqki1Zc z*6PQ@@GPO}ybE!$yPz3chcVlU0w%n{*?f(`f^pYE~T_3$Iw7Yf8Ccwjwoyt3Cp7 z0Aaf8_XCTih1{2-X0f=80Rw+DFQoZ16Sej+t&EBDEo;P0mwyqBzKBtVfwLiJYu`$* z)9#yCVI8K)Jj62;3`PMa)YN9$mTlBsZ<4TwJOWrx6mVu3yb0~?cs3vS;?H*3HA7-_ zIU&^){@z>S4Doyk4|97i6AZ@Q7o(Q9I~VUOn{P_`Cuk@T&$Ip_^uNG(6bv&jTR((2 z+)OWb^`XJo(eq94T&<^lqCMPz#Ng)ZyHd!aA^&SoUF7NVq7~U(A`5bsaSHF61Zn=o1J;l02(L#{q{WpgAdTj0)BI|kD z{L0$u2*2z)3mWY3P0E{_>8-luoDg_Q1S^Qo_pJ^e=?e;?BL4UPEnk7nRmu_h_jJlH zmlD$u8?n8lyfSjJXlSvdxjd1h=hGJG9D+A+g3fMB6*lc6rbTS987M6LKf=#Z0=y+e zRoFW;m~;e_xBqJCAbi33Sr0hm|6_Ci-wjykDN4_MOXH(SHqq>8mfa=7G~8L~lrr-R zM_TcJs&euYVR#9+*v3zI+@!A!jv;|OOZ$z<=C+w`a+f|(=x6^LS=Hgwi4M;cw?m#^ zagJ^$BT`Hz^qzc*kN!e|@KL%*FX?aK>!C@2?p584wD_;03M-l$?_TOXC6Cry^!UXD z*1})1FZB?b3l`bxBXw~UnX$$qc*UI1Za_UUdieFQ(F8-DVo>tqS9k1u=)ldQ+f&TI zB+P$T^4B17Htj6e2v7{Km})s2QjkpW%(0K!)N=klci2fZG*+&O7FEH2hs`ISd*!&t zCCw5?A>Cw}ey_#@lD}E<6DAF?9bGK~f$DjIj2@gIa)~O>jlZDik)M9vb}e<43!m;$_OlqT?4w`Lq`o9D+V5Lcj2>C!AABu6FAmPgc-}fk^ ze^ueMNQuK333QGPt*3)p9M}I}d*>O|)4W{hqV;d%oRqKiqM@>@Uw6;~80b##m#n zwSIHX^`EQd9pd5y#L{V$WN+)*tIDpLD)AE^;(9s5JZt6u?IHpBmU|?rccXHIkp+M3 zO@7JvX99zy_jWMR;O|sL7z5pn$|kdX-m?1#An=C)Oi9z;yZ3kWG3$=qU8KbD?hR-_ z?bneLnvt#$IU&<1NPsRcJ}BsjTZhN%ozkn4ZpZ-{r*XyqJmr#K9=_r-S@XBC? z_%y3^OQv}CcM)KJLTas2FW`33&Ds`G7yoaYuQz6;B`iMk-f9$Iq%jVCX#2A=Tu7B6!bX=gH zmK6k(GA}gmm^cmeD}stN7LwNP>E^JcaT?wCt<`v3cS>bm>j_J7$ehs;h`eaP-GLz( zBNe=SM@6J7%=PfhN_$G>{(_4>ZzzK{Gc{hLv;&Ju#;(LzH+LmFf)E zQwZHBe#M{sR1qG8aDwGKJk&xUz6o&8cQvs@qKG#(K!H&^)m(Ht3eHl4F z=rs%^>qMJ|w;Ha_y%Vuf#PaL3E9SRQFdGOju1ymn#sjh+7_%lZSI|SC$wERmIvW8& z9FWSNhhRATZan6FZ=|x9rsMPd6v_Kku~NC?%@rlQmi5U$y$2gx-5uNH0`;qC%48*7 zv9F?K^UA%NA#amJK1D*?^`RJPKqKiOV8MO7SXLqYr>BDCCY^~W=Gq_Wa0-_xqv(|0 z(q6`>2tpS$g4O6HJ(eTc^KPAPOTE4D4{~kE%(ate1D?)Zo7!{zAUVszdOV;wAHG~4 zX(1XU{hUq&^8m)fD!?kZ;4+UV1m}@q zs&A|Ks_O*b;tjU6SQoRRZ42)e;QBa=Y!{&c8))j z$J1WNqF&VBbwQv-DK|}TuKbx&A)P?ox*J$*`H8>s9xLehr>>C`kDjwySMDvr&yaA#n)y)MRHrrEfaD?e<@@58;N_pz8Y zv&vX-z%n%6@U^C+17DR%ydWl{_31sR%sB>hmXG>fd?|tH@aciI*N$FMgdgWaSZ}>? zLcC^CRrxjd(E3T~4bb!M9}00ci8ss-lno+%H8Z<0WCOrkR4b=^WCGvGu>;)Qz+1!- zT|snG&Px*0Ww`i|4*gUuSn@W8zhoX5lgOzyF7WvQj7f-{K04v0M-@gVezzovf=!|z zq-*NlVte1#rEApOlX^CxcH0y;XU~UL-}DptY)j)%sd2a1J-Q7(`Nt&ixr->c>w(S7 z8p{W~R~W0a({5-)ngvzMd7LgAbJ9sl;|EsPIzu}+cD{(ch6@`X^=WoP&2cTN7guS^ zmNg8+$}tSj?>(`yse3~f`gy1RUQExgZDC^!y%!AIqV)AECK_%lQV`+dPcCDDr&>wn zPD(+A$~f>c33-H8k#w5(mn%zuHuH9WN%J(#QYHhISQkXTlqxfJKqyh(XfS2NWbweB zb&b(Q?p9{!%+LTJPsIx2xx0%asSY-0yU3Czy5`6{p;GSV|40Y?>NQ@ z2!Y3;Xmvb%WiXS2yZM6)T~MDw))RoF&z&0$0&V8@Csn%*W3c|Jw4Svvol0A^qR`!ktN!$q zTbwDuw6WXVcQ3;5@gu@5fV$^XEwcx_%Ejy~DeLa?sUD>B!$}57Lp_yU%1q_t6T~tt zEJahl$+FERH6VP+J}$q6%2Ru;kqZH?hYuBqJgbTEbp&ovcDZt0I zE6R@aURIu&G0O&fq}mCV&R&xFSR!Xoxpeo91I>TsaT=mB!O}@d>Z8|Qbk>>K zfImw((OSB#`aO86D;=;+UHXfj5S;j)Z(GOAEPHh}`B5@TUgJvb>JgkqNo*1+UGHn4B z5tAFb=KLsmJwXh|4 z9UpCfmoF~(F8k=q5yjpImu^b3@~3Zhi_IDP@@@-U?rzPc=IpiXwSVyhmeFR%XQEO^TGwpI ziC5RiXd<8FJMT`f;6sktvo<0N1?HnuEc=tXz~H&vhobniAh!uNmVuf}>A8f!!ce6Gb#RNQobRM!?#r(;tTYs5v*u;P?E=oS zpe3*6!34qZl-rAvjdf1*6^5CSg?RmDuiB*`v{i~Y$I#-(Z8I$!Xbqm(y89k7V6_cB zDW2goFp}Dnol03IF1JoM=;wf++rc-t)}BqZ%uPCJhR8V&n{U!4Z0u#V<=v}ObNMi9 zAvUs4$qQHNz{|#VwHhAQ8?dfymMpEPX&x4xcIvv$%<*EnC0WlvcFlx|ZJHs+7_ZV( zhj3m>aDgncaZ(hMl(W}Gqx0OhRpU9X>k?%cc1JUgp=X=?((vmWT&0j)Zkv$rq}Ntt zA(FTwc(*)&p0d$lXy;__2c=?wl5BD`a?n6|jq*DU3~CLqbMl#gqsi)6rt7L;D=(Dh zD%<I6WGfGC^kdLh{^QtnDL5^x?Ny<~d*yzn9lFPc|lxM4>b;_UB40I>d{?5s!3&v;zoZg#lF|7hF)nBYRcsXxn|y(ayk z$i;CjKAu>F3Mh2+S-PEISQnbcx6xN4o>#-|?^ETUG?*~gm2ygm1+sD7t^ODhrF>^t zgvWA{Z#*Hbk2-q3Q}GJt#4Vqa3@k!s@NblfUh{4SN~q=}8B~KZbPsQLXAIgLx4=BI zK1wS1O|oh#)BC7Lo%X%^vbK6~H>GLOPXN{ZtGeXV8Bcjxcyk3rPTnl5Rj%ueOK#0Z zw13}Fb^i4dBTXd_qbXTm$SjPy#T-7hI%ms|3z4G$qph`nUfY{Zj$Nnd&0}2d3myU3 zcxV%!3B-p<+bn+#2x+0Q8T(bqxgTqc@HV%_?9R#w?C-IQdSqpYjt!B>JIU*b{=pB1 z!#@2hw~RHzOGw4|NpBW_{m5R(2$%TMo!O>;p`434_K&d<(q)aYW9G4Sq(VGQmX)Jf zg0r_IY3R`Di<{nMpJD-pEVoUXSj|T79B(wxq%A^w5%^jxS|*q$$*S1UCcGIa%+;ig zg&c@6SG(W7H8BX1S1I_U#(=@1Y`wR3@5u!0eV}X@v`A&03E=Zd=Yuvbsf>Ebba?oe zrccD7wWjI}N`+HYe6$!ugV+7k-HjNIRdIXjJSk-lhX#^Yf0rV>$Vkq-v?&Pq%qPfh za2k0>ve`Z6oZT#|#d?)y^Q;Vw(;DgLPkkIkZ!^EAjYSM3VaL=O66&W?(zg$R=?6#e zCG|&G==T6%%5@5#z6b7^{i9K~dp+vAPE)hq&C`KZ;!V#sT|h-j#lXfAo!km^>VyTg zZFny$K;Fx^T`EcPr7J4h$mp~xEV#9qqodw>&wXgV{C95LSaxz=yZ!F+v;2ZP*Trht zORgW#z4T&kak$E%o>6`mwi9tlos4KovcKqjpt1W*T}kEXO@O^>_#zpN$=Qn=4YCq% zr0Q8hVvZ-?{oDHf_30+y>qH_?{;pZ%e_oK3xvA{`^96F|HB}{*lA8eT>tr;QB%2Mo zJFL$`&P+w3I6l&kNL*$7>HoTGctdGSSe_yjUL6ZuDfGx1D)V43T(7MTh2IGg`f_g= z^@9FFA^c%LsI-^jvo*$EeqzTX831kW}8$U>voTk|tYa|W@ zIiM`T!7#n`+5$aKK!^0Uq!c*~lIJq?h@O?_Y5t;KD1|zF}n_0pQ9!>H+$tc=uwb7%>$@#s1~au+_L>`7v>0 zgRrSx6@J3*0F<_#$3_3%{3xe;@yT=$<2{zBA7{IzvEF@-lcxO-{0ENuK_Mh3S}wsP zuuWd@wbm83ebX0tUkH*rbLBH;7D8Nff)usL%EMar6Fb9z(hBodQ42kQGgd(D9==^xV*vyo7DUru!uVc5iqt%RjItyx|BaqBwDA8RaYp|FcUgXEj<1=rb+ zr=2j8s`vO@9ffZW)Huqj7PVS<<}?z`4BOz&+Fh~g0|e(P1xZE+kkVOG?AA~2>`i7! zqk|FQGYVW^S5l0D-ODI_QCEm8k@ginzSV8QM0TT28VbS@K?TFWZagcR~a? z@_$yO3WDu%$$JFk#ECnWK-U@Uj)S5fdW`4gm`+T-I?ITb{$krZi6MY znUe_XhWrh%-?3SjaZjU7qdC3bD!579a*NR?p4OF%LLCS?kU$vKNm0xAl!l-Cidd(3 zug4n(?wPAFA3`_x;nP`wrsl#g2cwHQbE(qw%8l{ z>scCKkLr_or&8Fi5vk*iGcS#%g@AwsHJ;$}2i~A7`>XEN&Hkh9kjsiGJHnV+_I^$M zV$tkE_qt|qy=&*-^db~zgY|v4y;w)Zas42PY34Gs$16S-HtI?#eUNj;Yy zSSt5jvQxWuI=zC@Zhju#ytgpO9GN>HnX8+iWBO`+bLiMkt*A|L0I z7-T$Kx_gwR;dZpNAK~@b=1PLM<9Z0BcP?^jhAHnHZUT|XVX^{y%gDS9rusI$nvZ-F zi74vzg$Lr@1hki&+79cdtWP>GzRl@K8TTF#1pS8K7pe+pp>(8W^!~rWvD0qF2idj$ zxnm_kXeq_<1J9)t{@x=xmzu1B&~#Dc?Uf^u{E2B)1U%B8A;suIWyvd(uV>j?JdrYB zg$f2$Oi)X299;Z{+3u`1uJ9GbAqR?OK~~XwTt%xk;jr0^mN99&QEml1893|Vbuk!K@VxTqs(1T;^3dcx$oY>q$ItjK2)z z)?WzT+0IJ7hA?AUiQg6X@D)ZLN*SWaOp#EhwXWXQV={=M9Yuq`99~|;Jh^%dyW2Zu zx?Ko6Tl5V0HJF=_MgM_kcVHPuJc`H_5Y&N>F<6Z(ZRps$N@XAqf<;-f0AE37y%N4r zD_KbKENhCQi;GxAYvg$-zxni-8Z%|b6dvi(Fto(g(f1sO-GX}76XRjzJCC3KwOG)4 zPp%_-F9MF-!-&yl-j^BaYl&xGY_xW|>bzztgy~GF+#?qmqfthzqD@X#Q!wn$;Ny5! zGP6%u7%{aoH&ALp44vDd!)2vwhusqNbaS+XIe|@x(RN+rs;BU8w){F_CYou;)7YK} z!P_&Mbrs`Z25G}hE?ktjwC4R+A(h>q^X$$!+l=7XDfc^Np>G5E8%Hc2LoNm9UNs(t zLwW~#V$ULkj^B8K`&e=Ea&3*~Qm~!Yl7$E_vmhDA4QiDF`F8xRw1YJ5(lcIqK4+r$ zUT@Y&PMp{luIn8}G(%etSY0Vz&q$N-p#UKV78oy<4jZo7R=5s+>G}#767>F8(~Sed z2ohy9mbrg{MM_St>w1$G!c(%X12?ElJr2!zIuE#-Y(-B&2*nlYotFgzxqWmq_eE5O z{JOSy+~W=FebW$Uzw9$HeH=HeHt_CslYB5DL+Oc+zS|?oX#WyxtL?AH zr9!YsinnC&7Q3xTrNwj+GZPD=ba35L7a4S3HM}^ELFE(Pl8CRhOQT5}45I-j_`mFknI+AYfYywl%HGG4T}x^Pv5T35%8Z zjovda9*%sP64R^6*Ln(%JzmGK8Sev0<*E{a-k^~!n=u))53}W%tcK_^2*ItoVaBS> zVZomeaK$ofi1gCSx$t=x6!MP>FR{6_#u;|<$o z*_(R@J5j%nGNt!?suWrtK%qvgL@iaoHhJdVJW2Vo8|RBBRs%BWQ_4X__zCphk8 zA(1kkY-@X=!XSzpwdyWD4+zu&qXLLa6mvpaJY-cds{^BD>Km1can(J!VTwBoPj{tM zS;Qwvg2zGoSBly(fPN;ZC||hClrTSK;<-lEi%Vfz`aPsanq^T7SNd_;jEmgumPE7V z&pj<(r<m2Nog@bgSkZ@X)1lc#qnaz{#kq7CpG!a|7_NuYT z0c*OQeu@uyyjN$qHV`i!>w?9iPRc~Rm^q~D^MrO{9@Wf_>3eI2-QIPDr?h(M`OU+k z5*ju!(kD)kZsxtKd7wSM5Z#3r20|j=c((zbKm%qKPo4IQ*H8C8h~gRQ z0Kj#${`hmFcog<@+dZ?|lKZ^DtC#U{2V8flk8$I|K?)S+}SpS;M#Cb4i)VL3_{u9i+6(l)^_ z;15#NwHR!i{_J}Jf*z(djARi;yCe?s6bugD4m5TzI^Px$i_6Yc1@{Lvq3_R32~OjhHC1O_!jLlkoe$H83fkjwKuyCYg#%{qjv%%+|# zt!s_?2l_J6&A82YzeUAuquuV6U-1J;up8?5UML5g^j(84JJo~km!hzv!h`-&mYkY>vNYn(_4^S=Mxa05pTjm`8( zi>ii%SI@LAZM54uxkjwZ8 z*2l=HTdCp+Yk(_YfNYKU1Fqnvhw6>8p|kjEQ*}_y1h~|=^vXnF2FGLVx8?{l0jV87 zMEgL`p5{Y*0|^0b&inq9XqFnji)LgAw#H{9Yy7j9?o2T~O%=yP29j3Fhq=h9!8xwl z#rx>{cFj1~HmJ8^{Ep6{UCA>O8x}M;b4I|8c1eK}!D6P~;1j+q9Gy7d;UY7O=scT0-mU zVZx&$YquSdhk_mgnX})l5}&nJ$6TkLICPlGQ`nT~4l)YSVF|vu0t!BoIeDYBpT)Tr zw_!R}c6fBUxJin=Ib1%?XG`!o*_e!4Cc|gX1h%!%XqAh$98RLMiTwfF@St&w1Nva>-DghniULp z=&3^q3kIzcq*Dce@a=ef(vaWQ9`;?QjTjbGvODE~a6UHX>aha~9V>NwRCR}MW??u( zgF$M`OQzR3~Y}W99sC4N#R)_>X06hqb z_3w4+xx12hWJ_@kv$i8RM-o*%_QpFqH1_SZn={HZW#f@G4h70j{KwZ>T^9zxE=~P` zEnR5CiN(}B?k2bL!|r8PNirI4@_&0F?;iXKN|A;@ug0)8s%SUYWF3rn)Ym~YZ(0;c zEPX9lO}%QYedV^dRaI!V4oHm?KN5c*nvERLT&@>IRGDyb`g~_*TpktJ+za^zs0($0 zmmF3HwfJDBkSI-oaQ7N6p#q=LEjuY2EMWI1TV;CGaXH|0b(BfO48%%pqQHtPNTP~Y zX%$6!^(}f(`o%UBr1Dl>`_PzC!zPpCR@7v%Y3olhF)$J;VK9;jE5~6$CTC{&rD*^v z4acRX)wi)dj+nUEjnxeF6mFj(m|yfS_W=QOF{AG$(x-$q3@?5-4*gNDzITs#0PS-8 zW0OZCbsp#+WJFK9kih=#z0eCF%>s?IH*NL%_V>menS!>7r9zZNT6tXFhyJ`ME(G+8 z8bxr4K4ePqG-PjH=`Tp5snp;hyZB%!>Qs-BhpHNG?|xff!U2v)mxY)ru_4E%pT@=6 zs((9q_IE_+&zRWdTXS^D9t1kLQ!3vE^rwBCFqY`)y5ID7=!3%arIHHrZw7z&fV8~} z{jXi-y4YCke>VNQWHg8WbS0@|{~4ygIPm|wNhsHm0Ru1V$?h*&T_Y}&?Dbcm(p64G z6fZ$Dd_GC@@qSt>Ijx1GU;;!{$@1v8wu!czU zzx@_LDi=v={uG6i8uFU}(o=~fLnSpgNitPZLn^gHdOnHxr_(xgKioI|DVj|y{3zry}66Kk&_vMg`K^v8Jn|-lbM;F^H+P96C|KGe2|glXH6F= zCo>}#OM5%o&z81k@P`Nps|Ag#g^{ZT<*Nmys|D?=1(meig0!mz!K(#HtA)|41%SU^ z!{5PQaB}m~a&ifC@(OeF{Lh%*@aKO`Yx-+&uAHz*0RjRog1q#*&mNhFOP;z(W>2uQ zSs}F1xaqg^Oq5ig9OZQ<24BxIrKmbjac5Ok+dyY){a7-F)2rK9Su%>p`9}ts^2zEb zZOKMZQWiNsKTlGs4E(m^ki0^JhKFo=hG2ZMv%!_H2=y($chArw*ne9s<@orx%icu(gNX^x%*+4Xu<=Mq5Ne~xMV zuLbkoM}&uWg25^|75`l;OitkiHFb=NGYOq)+|X8+9Y?1*N9UHynp2BolkSLK@_z=` z;>qOV=XQP@H|;UL?zOq@{rZ_EFLTqag^LtxL@#8v)@u4gPDLiwhYyrQFS0uHRVNnn z|1(_D<4^~(oJaf+?!$OTAAx2u=nf;ws64%U(=}qw}uWarN zLLg-r+&+Oi6y6hyOI8@t(wU1ko zl>(_0ipVI=%uNtIEJ)~36HTK`z*W%$l92qvp2*c0XH4q&`jW3RPTk-w0gDI z1T!%(Y*&ov1wHUZOxvbef<6( zX3Z?Y+7+FVa&m*k@W_b-zeKB=z%;gK)( zva+({Z8`xOqh}kVOO(PcjiY@HwKVGgoB)2@-Kj2GsBJGF<>-dg@)+SsIIbzss zHT3bN@Hdw;&SiPVhqac1`fivPab3N;54v&X#EKXiI zE+L6li_Ti}eVz`s-d@&O6Xn9naKsF^tl)J2Vv-F#Bq3PIz!`nC`7mUEtZHQup63lC zEu|1h(4SiDoni>P=|sX%(CKyGyLz0zX5_CDF!H33D~6gJY$#e0{e3iX&D^9|t8Rc# z+ZntLv>N)iXkA@h2r6>7C;qU|x`XyJ)ubyP(^Er)<)?dzR^jqa!=FV(sWWAPt-{B7 z@(HP2Ca6zOPt(V^xVSr^Y6TR2J6Z0j68`P8R&U-EEhM_L-*%57E(+T|Q`X^PNI)ut zpwW0!mr40J+yxnTgq7tXhfaofn)a-{foqrUewGlf`~3H%S~`y|V6&z6WddsIQSXzs zP{@(_`R2gpwwD0ox%RI2q>_M9m8Qp0-E1r0CfVL{n+SVKWR{3KzYaD-Lb&4w$PxaE zfP!LZJXdzU#hrsfz;3e}S7H-HVQ+eOxu@$g{$5Fa5`{#!;{q(9qN_`ZfPsPWu*KoO zwgd3Dt95SHwL7GbVTNq53)19PohOc#Y1bLwoUZls^i*0-GVt3iYVKT+M$3#!NYvZq zR5YcQXVvKHFH+D}uTUMvX1j5*n&3VI^di8`DpD~%vPPosL3dP8aIo+-Utot4KS4BII z=T;yr-)QaGR#ZQ9xi|8U}bnBU!jdFQ{(3DZlcOWmJ$ce z8+vSeei0fPdeMc+fk#6F21QfcUPJ7;GDcoAFgQV%+<81s4OP|DGHMHQq(aZy- zhXH{S*0beh7foGV3z)+hRQWLY<^7S#R20)Wo*e&LxTi4l&b)$7;TG;)%roD4eD zWGyq5=Pgo+0u||!VKm%{h-XGOB9Z-bPkb!E``b-F80j4rnVhjMDI!sPLVH?;x*h$b zdf%g2VfemeCVj${rNsijj{~(T9bW{QCrZ>wCD)urlt?{laKHc6YzHb#>co8B~e18FZ;n!lY2e0rq8sEcu5`8d@yWY$mg&D z061o6Ek$@yqb8XS4KFX|95aLaQ6Kbe0ysxCmjSS zeIBo7Eku`#M+GmlL_N9PS9}E&QrOLo7n_!g23YEC=AXRw$&4>+DzACa7k!^i*P_ckCPV0SDBi39k+-Qs=%+HxANu~3;Q*Bhd+Z~bHz z1(twiZf z`4--f_=;@2Q)X~*i?X&SA(1y?{5?&w+xT4qr!mnZTXCswbA%5-?hcn`c(+rX*sqC3 zr|f8ByCL8T*$6#!_9vSWa`Ks?!doQ|9rlwi#7Q9*ig^i;G*e%q4 zTS*%6000>6#6N6u&vYU$9AVh^T1fonRI1tiWU$hxJDv5Ck31TSocD((|$fDRE?PXAj(g_f&g(*#j;q8qN))?Y{TF#SA<=G^r$4tWsMXMsjg^ zoLy9m+4v`B{0DhrMF)OMncYL2M{;YLTwPRzHE9_))TpTiBEO)R-z`DKE0m8VH90kT z+-lCZ&^&Gu9zW9nbmUU6-TfLxk~vHB%3wd{p<;c_i_KHx$={)3-K7JMyC1#Ep(p9X zi+b6P3E4|s-z^Z`&W6WIJYUsdnlRwLrrjc32JcE1eq@2Hz_M#8X`QL8O&~ntblE== zM>aFonVWrOO(1B&Pdmp>E07bGPM0%iikVVm{4unU$gZdqMHlo~ zcf#R)S0J~(!MbVlp|F1{d%VF*ST-f!tDS>wsgJ7-m}G{jp70J2Lqq=^VD4i866=lN z^MRqc!C3=4hHg~6fmI3+e)2hcq*??54Xe1gG`*6EIl;H2BN{ei-zh;mxnZ+Ci5ZW5 z&R{$MZ`c#nON{!teu=tQ^Ha&k-J#<^Da$^mm}msRq)UBzz%HjDX9`0Po>f5C16Aq6 zF2w}KOTP}zJ4R^&tLnIvs*E}oAcr1FWBrafLp7K)gb{>Kj=*otZ~(kXOr!+gT2VJN z-&uLKC*9!9SUj8Lz-IWSW_^BWFR<=r9)lp*wczig7*V(HEEM0IrdLnu)ze2nVAz$M zFu1Teomc;jKJ)$GQiA*|H}~eaX3!Wb?anf`vP2+$RG4jSLu)FTnUJbS=$wA1m; zO-xW|C?O@0^v92!ot^J$Z6V34t1}N!pf%iix_s~#^IUzp?;jcIwPO4Evm>JJ=eNT{ z8&$OuFz$ZW+UXN(=&YVQRc~)^>+N=iK21y0l!ez0XrjuO((cvGO$+<0pW^Z zxz!VnTFQY>UKN0qt#a}^R1_5T`E3V5%|-`0wE{&tCZ_P=VMTG+Vh#0M*BpDLfIy1s zelNW4Y~QS%cqdQ)W2DkL5a-=-i^r87ra!q*B=$9Jh}b_61;2yx&^OO2{1c zkqdi0g?yXC6{J;~XOVgMV?-!5oQ*5~jekFDb-cwDU5*rG@@EwbdsCY?qnTx!NP^b$ z1`N#EILVa!`7aQR>U{K`g+)aKM1Aq8>VDqoc-eNTDuX+^Q^o;Ro2*#QOf)N9{DO?b z7_81H{bkXb!LDC0q|f|(X%^trgD<~AheReO80+tI%cJ}dPUDCz_0n1H){6|y7BPta zvcNx@FFl;X2|HJ0Ztm#_sAY|!@GaV>Fs*TImh+bs9g}rR%?z<(;S+q3<(>&BkZw|I z$T{+`FAULW)2A*oDb3AC@}WvgCA(tVv83e01>Era*KnCnix^r4eN4Oj7l{?J6?P-r zW+Y1f(wXN5g_m$5hMvMPWgq_+|hF#y3qdNGml8FFPAZQ-(L)P?%9?k&!7dMiAfgt*LZ zSWewir+>qPoVq!=zV-`fEhv@-ckGSAHh3DL*N<5-2lF+Ia8E!lp94Lbo}IlM^rO1!#HvW%(XmP+#u7cHWS?>uZf+J#{BPFK z>g`vQH8n}e$jGKg0s0x~An~$P$3;%js4Ep+@GBY*ZEuaE=jOc;)=jRLH8z?OF%%(a zHBaFZPAh1kzeOL$LSFc&-ko5#7?VDZu)StTy*2c8Wvq#-T2m9(s-w|V(!P(pv3mG; zm!VO~e0b@)Xk)EVIWkzDbTC)Bf__wAN}j3UcSZH`SQ9VRXH^9N`G#6XE}RKs`FPVsPoy?#COJpgwWxL(VnGhK@w> zaZfyH>a>M6iwQd=o{L_hE6l|efn8CbRVNj!pNn5z9Ca9t&@t{zp$S)RC5op+QS!T5 zsi+z;L)64NowEH!vru~oK(Tom_pXG0yEt(*18|7{$D^U~t4(bJi}yW3moPmF+^?^$ zwz{a74V110qI83w8Qbz;`(nv9UWw%bK-~#ffayi$r`aOUJ^&Nht_Vy2GV{(N>vrqy){=C2)B+>4Id@2`7M1E)iJ zpOGauXNj2jv)8X01{{1ub6zpCT=21byp(wDcgB9Pa{I&e{-6=ndEBmDpR9YA&ZMyk z?Hf{PH=0e$o8KFS!vvI)-`EnSjzWLxp(FQ==j!3@wLIUirFj`{Z$T$PA5EVA)A~!Q zeXmi~s(k>tj;{(MZ#*6V!MJZlSu&rB4Ee_68tqiM} zkxH0~I1^dnWkm?+^OD^NZOvC&$2hu=BP)_g**YNg`W;=RiOqv>NL`W=Q_Dc5@PUM# zEw~{WY?PnAKdfw&L#XyGxLR#4!bVV$m=*i6IsET1qFjP@lhX?x^Tn>sf!XtAZ<^C_ z*+@hc8Q!hC19S|GttEF7zJ=S1^K*~$fx^avQIV#DQHWOaCE?Q}ASo$^Ox%Z*@JTQm z?j&=c)Xg%ni#vjL#4>(y*jH#AD)A|u=*~QNTup2IQJ4Hr&JHaO8=$Y8p3SvN3{EjG zYBpE%=Zw#remgL+TX4#%%-!-GBEOGOTs&6p3GFpG75bp-Kw~UfEg$w6{Qlxvz^?2C z+?H3w&i@>9?+ie>xxICS`%MW+Nxh|7HLZFYZSbG%+WY(KBLxo+L3l9BXlFDlS|1E| zUK9(Jv#i99;RuL%tNX4ma6P|EmCY0)stg|Y_|Hc{GiF+c8S_fNpIx7*!mRr8jZq*R4n*)ADs%J zs%%AvnM^$Orn9fO?Rz~;~*-X`Q@EhMP+ii&^8vinyKm)3~9HV zEPrvxq_W#9kxawivn+8nIN(}-PaBvG3R6=2PK27l>{QU<>kWvCR=R5QtT{b+qN4S; zaLL)Nx`*AUV!O@*PVw2&-Xv5N zZ~Q3TBf@XDFnr6>ZVHd8>=CVmV^i?sEjIIE=r!X}A8R#ph>K^_P;j}!S)kJy4D5i3 zUD9gko`o{!oFr-Jc6J8ti9#PDvD1ZWg=GTWy9E;ldY0T*u%~RP7P;Y(EDe3n-jX_x z$vt6TLPA2%o3&7iwh*K}3BqLt#8)!PjghC==-sRRjO9w`fxlF>YG!4CwEnDp*CxPS z0v(6s+pUyEU+5ARDd#tP;A8!Q2|UyytEh+t@Vm22 zm~#1DEyA{c@oe%VJkPMhKJXeQyz+|QhyUv2La{8V??AZaQ|`E)BH$A(Fh^`2oKjqDs+`%CAMRNC_`BZml>*HH(wwz_`_-C@q4OP{P1QFI z^=-DYPycY>=m&t`H5nStVW9;$Ti0zqKPV{Z93J?nx=c{H@eN(!aoS93TvSeGyKf!0 zauCi!M!u=BUlB(L!KQlF@q5~!O2C!Fk)+3y?G)w2-S7z>>_u9of!)Yv6}qABt^k1= z2dDLu!R<@Ut|irFd3ikte1{SaVUb?$-Pm*3^oL+QDQoXHXcOFLx1Ka0K+O4YI4vp) z@sGW`;Gh|jRjZT0UgMm`Q+S>NQz8Y!eFo;R3Ghtu&|}rA&Kn1b=hl}*baFV%pa4hk zZvreFkK$g*p6}+ya$C=^^4rXPYzG@xIV`!(I$n$j)L4M2#o?iIhLVz|o14@(j)Kg# zLtqJYKgN&m&(6-G$oYOx@TUy*!rAQWQZwH@^u%JeTrX9T;SSEqCF*5wn154>Q;BJZ z-rgOlm#Sk@g+%AA47$%dd_}p?Snkq+f-P|Dt0&02cgftx={D5N{XZdGtK9Z2NL=hc zR$SPeN@z6=MbPu7W^#zr)3XI;t{N$}`%}(*vD9SKL$6;=YrmPg*ql<;uyu7I>x+`6 zXqj-TL~*C%8V=y=ju>grNaUsHu4qX(;8r)mwvMztk}VxP=}H|y!jQWSf(mRIW7sLk z$)SIuYMx}IBY<3Q`DCe+Hw#V5&zqU~z>IXY8^f^x9;hzRoql(Tc#Izjpt!E%*9=z- z{=UNM06YTrXvU7_KrEJznnQjs_ohYx4@dVbibt7J3!Rb#-dM&CPv)v+I1jlGXO^d% zVAqd{g9WvIQPd86-M;XYKq2~r6#APFW*Q+>5vud43!zo=8a#^@NZ!sic*G(31sX%u zXYu9cm6k}Bw>UllzLm#HW+qk=AO<}p0tz`6EC!>u5?!S&n(6AH?W;eoU&{#f53qC@ zg}>(RK-2NVAN_Ty4XXR}^@6TkN;J+=XQ1@x_D|{I^*_t^x*)Wr= zMab3sU?EG}#FvKSA1_6T-t2&1wO)Nhliz+hpmWvyvglK46odHfWsQuG|G`Wd1}3IS zUkptXtlfKWYG6`urbL6oZ{Q{vo^I1dL%S%M7MV@*_1UkR(aZ8V?L=!m15xPHKyB*W zPnMY>zSkbTzVFo+c;292MdA@I#Kg0#k=$j z??mM+VRa$5+w(0}gZ9=1$9h``h;LRm5CEWoXDSZoYYIQCV*W@_ONkjTYlVTF;;Gvr z)8qk8M`%r@%_lO)Sv(nOP+*T~WOQvJZWA=lV%`v~-|SXTz&P!KlgDD%+y@@G;y+a# zEVP+BrNjl}n#|nHKU|<<&XsPO9$K`$Fx1()U@a>vpPa=ff+UQ)$8LP*#GG@I(}A($ zg7u=QG=-rr;>Au9-@h-SUhJx>qrh)^hSg6`X8U3B&dp zl@r{Fd21$eF4_Z&RhgTK6Ynx5YMkb0vB(xf*ETqM1EO1pKgR>-R@11P>mTE&_V6;n z*R>Jvg$6WR0_qS0cX>RB#C#|PpGWo&4Chti81#lzCDfm*#V4SS1HqgG&wQjX#hd@G z1#lqR{&B4*+)|0;Hlg9yMG_p?R11EQ{a7zqDtnz^a1?7De1@v~4i`@Do=-*(yPuAdC9%Z*SRG;b z8mjQr79^p(kPCw$0=UDRL9z#wvHIG(4Eg&Vs z>pZr1Wk`;RL8}7}4gn^N(W2~YOc&OAXf5#UTMFxkQ`u>lu_E_#9cqBPy{Hx7*N5e}41A}t7 z!(X77Ci(d@5kg-Kl?fbYv|i2VP>Q&f%J0Jw49y%o!V6C#6~HC$k9162j`AH{6l5+w zFhlMxmGhJ`#=N2@f&TskgoFeA{f5)Ozhnx2YFZK(5ebE7DXeLV&iwl1vAg1*hBq5O zKQ*0t|MnC38@Pvs$>n|xI9QuiX^(jq$i9=HB2Irh0B;a$iCTrot9*DRQl)W=OItotPQak(iiR>9VJq%wAU4Rx=Ji(MbI^uW4^UL#nTD6@c5|K3l99 zj;G#VrPKI7-d&X%0NWRQ;rMaMTlGLNUUj8lIynfZbMt7atmEIpl0137r>j%wGVJF# zs2-x=aaa+Xkn}|;k;PH)#%3OP^W+aRS?w5Vbz(Q5p{Y>W60u(vwQIlK7T)26$1;aA z1i&SHnL`u)qo!;3ETp`2Apjh^ZsW6^uYSahIbRGB{GQk|d(()7hJ)_2epaq(L_Ak9 z6s&lqeE&(@%l>`z_lgEzxDTY5!H*r<-8pOEe{^-$HnYd#Bn+=IRvLY zD8ufK5DYxWU-6su;X(DzfESu@s~WYE<6ba9Q|DK^-z+(`m-hMKzJ83q|Rf6L6rl z3%`WLj;p6LDIe*xw(lkQL!2#Gn>9d4`@wNgl zR28(d8C#JX`i+l|nB2S2|L!1narc=A6}E)z(mI)N)=mK zcS98X44ry=83pwuRgFTHersAo1{^&F4<0DyxLwUq3ZATiAs8V%8Trqp^xJFx&+L?rxBd^>T7T{ZEwFQ}D91(t+Xo(F;U$D`1P&BSQG&OQZvG|b z<;&<1Lry$OqHptuki~pCq&KH!*;RkO$6hm^^5Y`Fa(b|I^H zx8Eeh#S6CC-?#Qq(Ag^Bda&v%*i%ZHh6wSC zH+Ao%-u~?qZ0eful5>$`kt)fsni~w88$`({`FWQ!x9IBt_R@6jK95d+f){HI9=Vxt zlAl%8c5PaN40#E@@*0mtR)l5dFS4iXm=mR7hAxGa^u!G9iS9hT#rr$RhHojq?;L%t z+nQZ6rjh<$Yt9-23$%Hl;P{EoQ)r$D@TQ>WxMRzS-#z^0%V}&GR@dSs#D2;mM&gZcx|160w)WQTW;@NU*=``$^l|Z0TVDTFPGcq#js0l{OMXoss z!P#{noRA-`2SUcbzGh{OnxV@PJmmin@qCRkll*VO;lHE$e{589Mhp6_?VFQh?B}30 zhxlwiyc9L6wwF$Joau@^dU&A&eL;_n&3^ynfu!^HzOH??B(Q6sfHSZVXDVFM<^k6U z&kXQ|3L7((uTNBRi;B<{K04eUWdFlgVR9z$qPOUB)|*P?x`Mo((YRNk(~k@9d^C& z=eUghE4aDiMHzbkl9o4qW3!MvxyaWqG<@W?=GKCa51){(p?)A;%`2T4Hz! ze1{6BQX8!M@A;9Zz?G16_9#Do+=?*RI!7P(KiBX0<}wMC8zm*(BUKUlpO1$T-Th1B zpTn#*gda;>QNEIN9&;Q2f8Igi94u4tO-fq2BKSWGr2bzE{QKcQ+tcO@ZvS`2pB`JP zq`|+!0q?~T55v{mn~ijCeCX*A#e;{GIgY8B$z1#7#fq&+n?~lp_YCj#Ywed}_%3yG zgod4lNQl3r+>P+Q`FU;|l4Q-vuKi4F-a`N9|2JV5K0yg89&+DRZowPUBC8RG&Oy^B z=7Tqi*fmQ03&PLX>j_mO$6%_w+8^aH@E?Qii+3johRQ3Gfj_ z`78HjD&M^szwJ|%er$BibBk*ecYG?UQ3`wCIk^}AIc_-6GvVfUM~r4*q1bS~;AGWa zzis42wo@FBGl~{|+M^WLh5Zl`ZeE+T1YkdFi7{L+gF3^m9ytZvxu$eug{oN|Lt>29 z!=#^OlnMX$tc5hP#Io9>=~y5 zBzW`~7eT{DwyS+E%YODqo)%_e=EBOJ0VyDvcl!sWO3G^{OIv$pg%&?O=<;{#L1aaU8~-51 zc=hOfLHa^dF_@k$I<0&byj`Dj7E}Nn1yJimx5dO_DQ5N$Q}m4it%+>E<$B)FReRxA zz*&OMK*bbhpG z74yeuO2d{=&wG!K+s)_tGNkAYC#jX#Vx`rHkZVGGSXgG8E_C_RQ~U7EqG+(2YWe#6 z6sz|^8|>aH{ze*^Y78Fiqr3NVe+lb;@w#^`^NG~Uu8b!!nP4+hm8E0qV^5k*^Jk`J z0(a-tuG2+170%-izjN%=`3smDp1FD;Y0=~lG&_#RTS-)f*otu3K*Hgi+<4r!5p{wW z7W2G*dM&7)v}tL-mi~Xzmp%9)y!ox$a5Lt9Z-zR0Kjq{(Mvn;id>vwD|$FfF0#XFIU;NB9WmZdI8b)uchBsP zyfB|&DRNoNb$bSp9=D#eZCz%INt@iMq^m&ei}-9ZoXV9+;zNDH?$faF=%0OO5u+7b zWiwyRP%^-0N{iJ->Ep9cbk__Q6M1-*cV_g%Z8haO;0GgV<2*%mmXxdnHS`g@uV`6UaHxQf*qmOmYb)2EFfg zaf4L-X_n{SfyZi!&lj5o=6#1$?_IUkbZH!X(bVUtl&0zGug)I=6$RM1Bh4;nIbPJY z!lkm_?tx?gz(IR!fSD?G!2T;&bj{Mm#Ulyf>PTSQVY-M;S~i%+dq(fIfBUyG3Ro}1 zewayu0Y19XYU;;iwumru=B7W}Pn8q9q)U5mQwc3>FM8~XHfqyv)bIX{pT{)%yU6J+9_bL8pB1A_%YstLHid23{yo}?V$IOYrMs7w)Y3DFDczk zNskZ2RuGPv2pufUG(2;)+GjpWd$ehH=H_;#J3Pz#oCO7x zt-kS;ozQ|U6AtU?HPy{>pJL4T!KC+OWp8$`NaMhrKp;vzCJ8v~l{^;D}I>@z+uiukJSAwq8c>WQyzndn}Mv z%&l~Zkoqon@)KR>!e6paOk(?(K0a6d(Bg6=qETtJVtcudV*5+-yGzk*)yrv}YEukx z1{zQdRpjK_W+1Kv!fLa11-y(><80mnP-Qw0uPt-N-mP)KS$azxxONHEnLc2zR_jsp z40+-1D&Ev-*_WQtn_UJong3<>`h?A9tZ^a$t_sP;(cz}OB+IwA@oP8<$1s}1+RZ_e z??bQd96NGk*^k9sV5LPj^LATfx|pk;$!e*QdH=?R$8M|H!(O&2j!;HRc8%N~G+yK- zB~pIPedh13LvekR<4!3WiO!zgNy-ZaZvXU42FU2;{m5cqsJLGuW&(}jM8-YXp>jnK zc0uMi#9M%~H+-^y`u3A}Qz-O8>YQ8u#!v)hL=Q04?`xzH1s=I*on_Yn{$5vl_F`F$ zqW-9-vdzVm^F&I)3W1zqF~Ks>`o&N$SJHFGrVGbaY#;tZg*o%UEwT0Vni z3M7ifE_JT7+dBeV|5Ep(UdL-GfQO&FH)Yq2OoXD7j2d2tv|oqqRwhpCfBindJn2EG zbiy9pp{{Tl84-JMS{!K{wa=~CgS>{Lj6WcVzvRK#v(6fttc-ZnK6YU~{jqNhdL)qj zT39$!fY_%8jvX{D4YX)QP44o@X$**oV;jA^l6<$+SW{3Y_=@b9%~cR|ud3{UT%mBe zsIk1ju}eRb%lEZsy$LIk!7cuLBGka{VED3O)H|;DEI9!Z@GI;@B3YJ@aPMZ-MSuAt zd3JgWx0(LdUN~J?(T(83+|aX`kL%5Kx!C;ApWCDc282bZ81El?ED$N0jfSX6Lee!C z@XQcxvi%zl_~K;^!n#Bs-I5=5R~9x>Z!RN;54XuGS9d=hZomDtE<&JfMz1HT_L_#H z#n3TPw1sN8jg*Twn-&upn^FPRG5s1X?d(!~fvL#FcLN=5GFGyIAGx;||G6ou8yj|* z?IENxzssxhUK6(QsQ^@$qvWIUOH)=@Rw!Nr0eQR}CPx5kPe|N&`_=!>9r+C{pP7ND zuPfY;o74E*AetNSz+>w9J!>6bzg3y^RU6+%oZ~eX3rcuk2I!bn)^>gDz8u{;Sjj5> zb=2wxyMHj`F*(DfZI-fNrx1!STy9Q91dDdU=x6Oe!0Iy;U+HkuZEDb2|B-<{aNoUt(}*MoVglGjuoPKnqOX z76K&(w8|GXL&x)}U}gt;WW;QibMIr62~!2!xozFqHtGuNo%@O9AQuqlPXL7BUW;p= z{X|1(A(SNY2m||C^>qy&hh~ zOBj4KGnlUhBh;7!b&qbgI&E#O5dr4R+Y#_U>an`Xs*d^zocZMd`g-8;7y}+Xd*3O- z^aY&i^?9w<#8%vU6sa_!dwdY6!DQl*N6Y<)QuWYWc=;}j@wAT0X!?QC!&2+HCo;i2 z7tVE3`@l*=DjEYD!^w{5;Wr_tH&Ea;@~hlmq{8(Q&H|<75R{TjaHHj&!l9@gBj=gA zzK;>}Qh*niqm4##TWgJ99on^pp#bK`js>9v56*eQ%k))W4}Fs2ra%cG@`RUa`s-mgAw74M74)Spjp zCw#h*MNnro__QGm94R}5&XCpY)JT|t2iO}8g}Ln1xh)2Qru`Kvz;$6S*6q^1DC4mF;w3C zfsN-BYF=z>Q>zUiYmNLr-o_M;HuUt}G`rT9WWHn-j;y5Uz2&~a6^bvPywq%*UGB4; zb2zl-v+Dvl4z+zNb(&+tn)Ng}Fh7=H`V3Kuucw`Rf-dEgn(c;~ovponq>`cyK53zy zl=c}29hnRT>{ssFvXARrT| z&Dxop26I}-f3SSxl{uXC0%(8U|8To0dp$hOsx1~Ar?y@t?e;ox`g68o6Kegdt)==t zHR38kvzJSEI$`^Bac|w6TE*)Mi3}SMlWEuQt_nBqOs}`Ti}AEIi?5JxR;|rTaP7}O z&xonmI2lsilc3KoGEzCUgh2%3(cb0cWEYnq+PHyveYSs|mmA(Q&1xN)*>-(5AM{E- z5+UKS7=QcZsUyJpsf|=9KgB|}GqzN_K3{d|N=QAAp3|qAG7unvN@IW}W3r{Z5?0CV z-{Fzj17b(w$-osNcDjv_oC-JIC?&wGctsUKYK4 zGDw|cM@a1r8UN;tTk&{?Nc>=2aItHtNCU~j1jqig#oMG_e0NS^f8OP|fgSyQPoda6Qcu_HP)hIg4B+0V6wLm$FBrN7VT27Ew7)@C zLq{r5GPw&AcZtFI7T|+ptKHQW`?_WYBXc&b*j>qF-Rvm*jD=3XmJrjxCm~n|^WZ^u zl$;N_z3}Oijb;-n^fzD9v9yay+BfH$tu6oBnG|fRqunE)p-3NI;b;-i$Ohy&P=vkJ zn%Z8kJ}rZ>t(%__Iody9dINglk7;x`_4*Ek`qq&c@^rza0<5l=WGqZe%}MawEqHxb zkNG{oU@rARoTK#`cy1B^lIYwY_r94lA&c@g zRPAJ#JshQ(UK4rZ6h9tlX?+A*vZjh)9kj$c?1t9T@g`Ce8xEmhU!p}eCn-~CzBHnW? zjsC#_Ye6NmSI7OjpbX{sb{5!(*01E39vAx<`_s!0oK^R-i^BKFLdTYeb?UmMWnp#! z$>&;6&;(MkrIHV{AJn{C>?*wQx;R>LKW$i)I3Je?t-628@NBj5+PM(sIV&GfZ0)&d z_;v+1uF0btqYY3G2B&@AMDJtD?j$iV<6PQ_*23y7^tS#I{Bmgi+Ut`S{%;%pTD2ti z8;u5JX|~wEqL0Ox8f@R~>SoLL=Z5D$^0k2-#Y7;^V!1Z{y?dF~U)L=UwXL0wgWF$x zAvsL89s2D%*i<5ejktQTRafDvF=MM!bx_Z)*E+2P@wwYzjxx9#`OMY$$Jqk-pM5D) z;|Dma38!G#%IZ=eP!uy2KD<3rFfxEEHWU>67bGb6%#<&AcI&1#TkC+xDQWes zzqe1wbYh4r%JRLix44UgG}^AeZI+Q4XP*F#54*(RseHzpJO2=9=KXGOXE>_q+*Kf8 zkiBRAXp2s1cWl1Z1FpF0KZ|>xyUw6qTO9Vpz3z22*~hHFzg%_MPF7CR1DL#5-T|w@ zhWkIg(mFruBgN+QYc1SpC~on^Zh;ze>TtrN#W@`LS)bvy;5ZG07#dss{3iy6D*ga$oq4(t=K*$$?l?i4_D$efHxh%~@< zf93r2G28!^SeQo6d|B#3@FUUNogBi{r&(D`Yp-vxdlf%yl{|CXTPaxO-?adQPyH7# zK$~}LWb-f#1|$8kmJv`)8nzv99ANXaz>=CDcgsj3vW})yiCOI;!3~e4j=N4Yxxm~! zKh4tmJ=(afS%axS@Q4&mk|-@RduPaxm%k_#X}Y5>Uh?2Ia58Kc2*1b z*%eBVtFq~2#O>jbO?OsK0*3d7=P;}$D2!)XFs0zvFS2$KVB0l)&EZ|72$0Pe=INjQF;mN7O{oFUQzWnifb6CcLin+EdJyh>JX{HzaO*dOc*GZFJa$lxJfw zI;T)GSJf!ChC8y8fZ6c{bKC8emU^J~v5c$NilZtu2E$=~TpsX+(mFj_@b7Uq$Y2tz zREY~0t`|}97k7BpaY=w$(U&y7XnLbmbj+jA^oA(Gb6LeD24)c!FYz?Nd5CgWHERp~@K$3fy360J?=&l3vl=&OFR;SAr*1-Q?<({E*n7*UIKHKC6ekH9oM6Ed+?^o-f=h4+?(Xiv z9fCVU&=A}P2=4CA;O-6s400#`bDrm%_kOyc-*x9huU_5LyQ^#0u3c5T>bEN)N7l_B zX45gWwa#zPCnE)=7-YdZzjc)0nmBqt9}dO3+xq9s3fK)R({X5JQ!Mm-%F$~Gi~v*^ zjM07EcrVE;A>@N_;ZXT-kX)UVO|I?vWeAWNd}Ao&!j|?LSCn|Re;#yt*6}m?8)ss= zcBT0!SSW#7gM-s)r#{S&J0OMvx)qbY9rWc0VrKHg7)56VmMi9Tg3LYjGbrrD-P& zwkYE(2wS8_?pSQXhk4JvPQ6pPM-K#TmqIA0)(-;Z-?TT%c*XAK1S-C;9BAE7V?9i5C>>cbuO^6cX{~WdG8-a?y{&?pbEM zxQz{nSd}xv2nwwbZV3l+C(c9m^t~snX>i3__?{-2a@JIr(R{MbB7vOSpXqJ~sV|#$ zY@+LZV`-mXt$Jrv<8?(SE`8Kbr)@k6Ck7M2>+SBJ!54*XiZ9hHg1jK zj%2WhztvL`$Mf|);xNK)WtP-@v}M^@(qm=)vz#RRIM(Xpp0}^Z@7812e4;1&XhCq* z6?IyV8{q>y>`K8BOM8HlfztQjhz?enQ#}(?RBA>*)r7i28_OD#;$$pd&n4CnD`%ya zqL_S_N(_N6Zf~s0@fz9jhi()AF(ACD0eM~FP0{a)Vls_2gH@lW&&!bV-3a$cGZTRZ z``h`_nnH(2-Is6DP2v?Ei7Zh-lg-2W=%)=Nb|t~^a3N8d$@f%Qr5Ac_%TaHibi&up ziIqz3KLOVK38Y65onM{T8`M}2-|g@LTkz%cUazAo0nZFK&-y>ln9ZFuv~G;h=Y=m& zbk%?nZ4iI{Rtei&&vyo}!|JJrA* z7t)cQ&iE1VS{;COs6xq%OqethpFX9uP?XuCWMb zySUii+wYik+f;U#WSQcmEIo|k(A%zPaB%vq{nO(zyqrma=_fq~V*F%g0=`fsK*c8% zZL^i}f&X-Q9ij?4H1^|OY2Fk$ecqC`NBfvr*fKzCTwB}aWm2HN zE78-dbYXZfPM4#&I3aEAnC$z5mhv_~#D}GmwYY%Kpj>-5WdvdaUPQsLI+NzF<+L%v zsMBx`H|L#T&F&g1{8wbWv42BpTSsJtfz2?(kzcTFwR54`n3#9$Lar`!`-5q?iU-nI zKE=E~Oyi$CjV|+d`pMa+> zEiPHUj&7|jskjj@lcMe~r!HlOIvGKmxv@cbT=>49-5SZI)!uMKXx-o#lYi?vOw;*; zq_`WzI(KPi0ag=_o`sK{xoVF^P{Rc_BnGT2YaA}w5QJpx zS=#2?*1U_BuWqw##m)fmg?eFSPtD=gFOe3~G<3U6E99BusH`DuoAb5|{=ON%^FAZP z`1S$PZ#lapQMQ0zQ*+f>Z*dU8P+=Z12S4Iz%mFW*>1lWnU|rjlxpBi_ryu#EO8-i~ z>S{Pan-oDZ}-H89;0^VhSiEFZpc zH~6jCgqO7PSVXO9N77v*QVENY7`nKFl7IayA?kkl?{u(|%gEuM-eLub`5En1Ac!G7(SL!QtBhF-q%ad~I#3&*iQ;yG~} zxnuGp1>-aMDmn%R9Tk5_>Qc2@r=Sy(=QA#1-fu?gBfO-1v45KZJ%oM49g}6 zZ>&g2ZaLCha9zjL^#cr1AW0igSk+8Yu^peR)+R)BurP)pByq9Z9-6$gd1w`^Vpr!H znj|w`c;N7@J|$2sYS_1=F7{8e$*rlQzc#CUrIELt35N+ESbM zkSW7FBbeRmgsn?OB@H3#dG+FB#6#hjWmW$^L@~!dB5C5qY|~eY2b!@#V=WYqa2LgMN%JmccT! zhm$l75Fe zf9dPGIt){Z0Jo4Pi11MO!e~#H^H0bEc4%WUc6IwToOW$**SM*OU`62l?;tDumvbP{zjGP~)-#nL2C{uo< zz3BW;&e3mWyYy-*T3-!JzT@URznTc*G5s>1_a?g`34Zl8S`I@e*5=*rt|htZWoKKE0EWhGC8CO+HR{PpT5*o88PwrjKt6aqXrxN|EUg zj7InK3Nv3TH-*^>Xr%J?yUB_<%8fq3mH3>jKSeP}HhEa! z?daj+WZCVj_a;LoX3T#0kYPinRbbo!M`LpXYrC^M@A6>3%WDQwi!Ga;)?=eh{Cip~ zPThkAOoxdQI}WY&Wfp?*7^*^@@9ec7KIsiM9b1cbW{;rpwO3W?tj`NP*p>C$TIVLc zxf782tde^4QwJb6qpcJi?UAr54E_{C2A0sV=STr!93P7IXTm{=y-$|bV?*$84TidX zX1gF1W9B!{HIO0vnlV-GDr(?a8-Mh{&1WR{7^Ag;&o0A&j>83+9QS+lHCw%5_e_yo z=sC8TuwagRYInEdmjt`t>w3<1LCu0`W2(hFL-ZG!<7tpl^G28~%@8MQU4saP{sa&F zktUt~z@WXCs?adwYxOnGkjdMd0KT91>cM%KKPe-Qn3`G-8g6=POvl)iLyM>x>pO&d zWH1L+tT_+a5~}O*`}*nXkDfZ~xUyCpI&jJM2;W5G(xg76tAzO~9kC2kq=P~a%Kg;b z1zDW+WHrZWI@a~7%1W+UIm`KOTM@J`lt(Y*|AGg&6}(>5B@#!*Xyj9@kW#CW80c(ax{LQ4Jj

c!tSP%m)D`w>%{sXWmC^-HVG6{dB^io$Ea?oKCfxau_;191O9z z2F42kPfvD}fv+vCtuU}wi!ug%k$fy;a$uk4S>kqZ7_N2uXiX|N+T4%h#LkNSq8Hl= z`E}!woP@C!`C=D}v%3&$ z+`AEG@4R2*)TpcKo>gZfi=2;-SK~LDh$YsrXz?7=NnvU+v#Xh}!&MKs80|C`gnY+o zaVIR7k<^oF-`>5nGC!%c`qb|6yaT;ZTos+#Xixa|70Lk1j!tq`;U(7-N~K4sW90rZ zNNCUjClS{SL|yfdpl_G5&wAiyCvOLKbXC2tY18R??n!(T8a041`ZqZ)|J03dVh$Vl z-Eh7Ew6piFK))KpT`qfgD(uP89pv38_=zGEb*;bP>FjEK+27FW`w|yQ+)v1bL%ZE~ zddS&RBsDwllF940@g#|Xu(4yfXBT!v@{K+^f8vNBtE)jBI;^%qA}e#24;xD!q~uEU zuH|UzrOEY2bB@#UwrO0BRB-zKPxt@;pr!f}0}k}G!)gNt!4_U`xWz)zcR*{ab1gw_ zY6B55?}b2zPV%4qtQc6j&Ch#E7Rwg(JDC(y$Ix@Gk+%Hz!ir@92gPnzlYQg->NsRv zQ}oBqpb&VPYW`!>ydiPSCvvT!sC*yGHIz%%g3ESbrQz1IRVX2&P#fBl{=&eqTfCe% z?G!=TwP!T9ti3Vhcu_nD@q8z~A;oF0IyL>mk)hGW>~4nsRntnGHVhW@LKBaog>bNB zGu+);B(PY4w!oivDRKB?BXs2lRVS!|QRbv61M2=UEsO1B0&K z%cEcL^+vADmi5`&>nSxBDmT=P|X^zcyVzEZq*4>kD@? z=Xm;Zu0jj1KfIWD94AZP+=1*qu6==Z-aF5n`~<~6uea>Z^?Tl_@qw)dSiI3sJLS8| zC9^*3NHC~^t>4^`KXTuChx5lhfKhgK3!Q0hQI%PBJ7>Fb*VgWET}sjDAr!XN@cM8n zLzc?S&v)OZ_&vYD>%&AS$MQLno?D51t-sgH!QZ7d*oxQX3uPj|(*TOY6 zxbk6@ViFy2Z9AF?0YcjVudn*TBeJ$F)JL?W zZ7^NlXpKd__Pw}p>z}ouqCWWmp0A`40*xrVGV0UEVnh6%U)IPQJ&>gk>{pdd{F&J1 zwRd>KR>q~KGupj0@S^V})_ih?I9f)pr^3l`VQv|4V`_HW-ZM5n@323`jPCCs#5%@V zV{t1qNpDE+i#o?wwY*4m&cTu8A ze$hRS%%T_I7SQIx?zX|RHYc9bjLr+)@RtQh_fG}PT?0YkC4Pf8;Kn4H$JgmxIm9Z{ z=@++@EYq=_oO)(8_5y+cJ!w%t!AF!h!{~0W`tI=tvilNgH%{YHFF&>Z2L4v#k7p-s zNSci!~_pwEY)1Ab+RzGTrRx zlSb-0z$w`>;+nS2P7SNx`;RQKD{FlTCNK9MiS$9I&2f{6e>S|GNvgJ;SlDBA{h{>D z)5o`qPXP7Nc2s+FG)bPeu0vlpa8~pAxizbUJz*8;b1?l{MEB(@Ukzj>uSZ zm^2o8u6gn84+x@u+Z8~+cp>MM+ye`14IK8KLQyDMV_>Z5)8R$_aWt%CLt)aG8ma^W2|MDiRvY+7?Ya3%LIxKc*{Q08czrr&gH4etyZs{b7DdaAM9|vIs=G{6>FT2 zQjg_$HbovGLTntb))Y?I31Ix8jBWS3NVZ*9BPMS>-PnMlOk8Pvf!-gWV*1?R>-XuB zczml-?N)p-xd5`V@3)_AVz%cw|4AE*UwL8Tr#FVc3*GKNErZA1aIz%vkx=1q?LM7utA zHvF5Zd!t*MIl81%YlpK{jJW7Lp4_>1<4gYYXF<~Q=hl;kFQ|kA&Em?-fVSlaGHFbl z^Vwg*GB1QtspN%Mh!DrK?{*$**Dn?;VE>MV0ElL6GZGphBSwP$68}DN#Hy^ZxU}Cy9a1(zHy*qjhL7hB<$_VPyDiM z**O~>DPfFY6et7#fZb((V-L#%mihN$K;8*KzTj$~&6Gk>Kp4gIb9Wl3C;3>KGeW@L zUmUlDK5?)bjwXJRshv!h^2Xl!?)a9M=tYO^b!C$DnfKM%E8^wY;5dD=Efz50y77U8 zdIdUV!Hao|R0k#z803mS8{I`kR?us}0IgU7g|T zS3>X0-W4Hk{6L@#L*W;kLPvjmPJ=ghz*ZHSz42@HVIJ|pfpuMfWO6( z6MniEB!$%Ew`D}iq;B29HnHVHdwMKa;F|X7B8-v1$m;&n_UUt{og3k?8=Y^dX1gER zUz93-j>wy%dCz5Y*q*R*8C`m4S7s^4Ft zp`I@nAA=i5kz&P3Dyef3E-z&j%ZGLfaBS#04bLj6C9(!S3&OBb&T#&f>> zNg5y!)!F@%vbtM6_5M4ATJaBt$>E%0vGsvy!?r!d^~@a6tXQk%6Bw|?I=Mr-J`l+9zLrOCeey7W8+Tki;%`Uptdpb5gpqBL z=WDQlhokXs@nngRh&y?tB);dvPqWI1A;a2NSn8Yh^Vn0kY^Y?wnf;W<43Wp>*4Cch zyv(f5EMn`sN_rk6q0>elwW`oG3k-}kxeY9P6Sj|y=3!sosgea3to3HbnPYD}&>GCq9>jwnt zeSeZ7^R=(`y1v~Z&W;B%qC0#!8#{m6VotYFchSoTxm^EKqasnmUC~VFt7s=fJZf86 zz74O7z)6p3K1?tl>`I%N(~?^6sGY_>x;VTntQcJsG{8Z{WUICE=~Ar_R(#- zQo5Um*Wxum!};C~?F}ZNk1pxkp|?FE&+w-&h4{GJXyQHCzqx9QP1sZ{e2I&KV=+@v zQv+_}h}R#O!;aaBE`&^)17#%U@Yob0DaAm)j9&vEI+RwM7Boj5 zu;y#m=a74jHpys#&EA-loW884t<;_4pVneSqRQQd)!kU9e_|oo2F5xJl@taAg-BSL zDQ2 zfT75!+Bg$)@9sB0@#EhRB*o*VC#HWA&y6*`!Wr)h|bZP0nGh1pa%y6_kn zPV9_<+mCwj`nQWp?E;<@c-)#e$PY|f2c5SGw0 z^6`622I3bVr8)FxvuLw(;Gd*oFPt{!oozq6f=j+&asBQdP0r90g8qHzngDpw&J2=5 zdOPd7PLVm1rS(lTkMr(Cj1Ci!5@cI7&k~Hi*RA$W(gxuUL~h@`XIGp1=fNe%o9si| z_hDQ(E<*-xF&OYVN27gp{9aA89jE6qlHx`~oFGmc=o>YP*jxOQHW-6`q?b_|9gch2 zY*6~8tHp2_0w87rIBneb)*jx85ulB4yG)sqUUfL%B0Y}c7LTDtq+o91*ez76@T&C1 zRwwFAtTalmH^V9BxfpT=7dp9EIp{&$d6B zqk4;7D4^f(aD51zC>*EqRmF}NJ~QhL0C08$a*HoyvfB-qi5c=^$Y3PyvKl#xV!y2= zsP=HCwD$!?_A|PUcw3N1bpNFE$6&R0rEx63k(AQ8F3T5dZOvF&6kO0)3*h(~{PVrv=rW>Ut&5b zR?ByNsU9t+Hz_GCUY7u>$u=nm2UIIbdrUE@GtIok$?g<`q%T0kF)^}Ch2C+8@WV0B z9TNC%C~ zyXMucX~18_PaO3hyYnV!X>x^gx_7T8)EI-YMO0xbDBxVLK7}P$8wl9Pbf{#F+W5r2 z^5D{Pc*uI55pG@t0;PzBVLCz;?e{wMMS|<|gL9D)V6-~@NK;O@bF zaCesw+=IKjGq@An-QC@FaK5=8dB5}iJpayG18a46Rd>~{s=co*RhviAb3!O9vw78H zZv($%^A2nBvTQq$C(|oSo;WWc`TBCl)HFI%$UFmvo^s<^9X^-UjD>_W*zo#?s`ct6 zi(3O;FJkpowdG=$H|%(o$I6d=e%@z=xGdL?9~qnTLZB+Bgu8TR0jSQ$2RS3e>0S!c zdwQ?s>Z~t!zT#Q>Z08|NKY#o3p_Y*d!#8l$V0QMNH?@b2yNLgMP@ANxop_k%dC_u_|M8>(;yimnWHt4o}lF6IeG&aet>>*}rgW|@qLUQlU(&nZV7 z?>WPaNI**ctCT>7w*31c@3QF-Nz<55lHJ&v>`Z`v5~-f&7B>e7NnBT5@|^ag*Jn5J z$W&IW%@oG|I@afb8a+Gpx1Rwy37C{b=RzLi!%lO?UBiAIr*!%) zAk@gzp}Oa9e}ymbC$DR}my7Z&d*bx~Vtjp(Ey1X=Y^Z_0xn$8xUn+Lq_03eKF)C`y zJsjqBW$}olR^%41)PU3HE0&Gz-PL;ZCs8&pBLO%dkl4}J*hu{9?j#fPriEmwiA1W3 z2Fe>JuMz9A)UGw|({j3yL6>E1bdL&7#uq7ww)8#`6or!8lsRQS)e1|X zvsc&w5=8@1CLB9EcN{U%e`7F!UvUbOHUtbx54v# zc;a5h8hP{mpR{;l9~pPVf}2CMzqRQcUf^xIRLCichp z+}ZV%+F=W2Ur24KX%2e*y((w#eQxfQ3aVGm8!S&3Y;lJh;W(Rig6M##u-=EttNg}l z^!tZeFWYD2)0~#&9!)1TQ$4WW(1z$*=ezD19wGBMOUrmW6@bEQF+)CBp;vrQTxIqa za=QMIcr%fl1kQzAr`-$EW(^O?#%m^f&7)H{$USdnwJ2A1x&i1($=*aA#W(bcMt$p> z#Qth2oKeW~)7Nq`iBU5nbpp~NmzDYVd20Xg8ArTO3S)Pcn2vXx z)~M_n2boyFxq-HX9c(DaHlD;-ZR%2njpHc}Fwush&77!pSXy}C7^j%dcvEu|JI9sE zu9B^Fvi5#94}aI(tG7yF=;6;5bm*~Wb;P$BqGybFB1aDu?y;vXyq>=@IY?0yK8AG1h<5o!_Ox~%Cdk1fU%rJ( z?Go-^U(eR=L^Ww_JK_{(vpxh$pyyu|8aA^gHE45Pq+MA9r(hoQMfbJjaetXciiPM1 zr1O?AYybLIlYHB+mwXxhKxwI+!R*?+!W=JM3NUKVCmd<^Xm911-Cyc_9!!!7 zuR`e&v_LrSMPw#`6_=ynp8&=<41S?GbJvhJ{Bv#594&h2q%r>yMlbEz3n zi1D9Hgbl_{*Ws#lFCGg0#2TkV`Gbj$ppKV^8*mC|qXw;1K|6s@Rtpu}epGhWImmDz z6e=BfmkA<@vzfbUPcR-~#86eUM;qfXrfMVPo}4_qmv{NL+M?IOF&+oRn8tQDn^SAUP3M@I z1C@6qU%u3T2pxj9?m$()bt&YIW-kpq#wj0Cc;Uhkg_qN(&b=5FZkxix$bu0#QYYRb ze5FUo^TeY+8|)3m(rMKEDWM*`M8u-oGyjPR<_fICEt#i0UCJ9zGmdKT`bYFJ$H1?5 zO{VQ?mA$9hw_;^Fx#IJ)@U||_j;uO^wVRuh;ek1`=Ui|Z3SIr1W2*o&nxRqt64>yo&LAHdZHYvp+&={%KU4kKP?2hP`0 zSYC<-WL@pdS9jlOkefT*3-pQ+w6`GI9pQARy)aZG|BM#1c&(P*GH2X6WDWuC$ zaVfJkFefuMQVn8B7DwRR58nSrfAOE34fbF7vVD*eeZ;&J2m_9ypkv4ymXTc@27$j*{C+?6YfwTJwM zuiT4w9X5st?;6ZlU%BHt6QRGd(~(ko;|ZqYOE_e+`y_5}e}=LVD|dg7QUF3sZ#T72 z`Pf9UH9~+R;jKb?IiV80iR52);u+`f1a{87HiZpKaP3zGq@%-L>2Q=C2kU*H5Z6=q8N00&IRMlX3LeKL-)8DwLY7 zj(}3_CxtKEjd|G89~TiXr1YgX4jC_Dfjfhsn=u`VB|5fLT55r52-U0V`!<|5Zw5p= zrmMTg&Mp*Z-<Z1wh&{>n?xcE~O75E0V#h}Feztm(){hk9EQ?*kyeo3A{rs^N& z&^~`_l2~?H+ZEsNG^9<;k`7p=pZn^@)NCafQU(QHEO>|L0j<5l3g5$y@AGhRo(t?^ z8f%4XM-YZRRYZ1rcs))I;R8RPXf%?iBKy^6yy`Gc99+}I4+1p6)`|0}t0y(bK2|aUptUmoKI&J z=%2jP1f;4VMntmdwL9Q@Eir=UFHu=t&|>)G!WfuB?@Ut34?0Xqohnd*S$*g8 z27cT4u0UgLCEq(D+3_uFYH_x(Q9|6GW@9YDEFrCvHoluS0#ISZKWLa8jE4WZ&(F{L zv@&WO8WubT83PFp?-%tCuLp_EHeR1}a$6xAwB$5X!#r*eATpeGIJYml>aOJ%)hoQO z2Uzs{$YN5vWXR6L60P;LBIvm??ENqoMq=E3R3>@4f?nS;A${-65x%3mW{x-gRJ2k- zLtp#5vOlW%(==};?YHYneuek>U;<$iIy&J-F?8bBuRrZ$ID+d37ymRAApeBh<8O%+ z#P%@1x+1=gX!DZ|N60%BFj>Yo`D0Iovc?gQN@+y9G;xV&)3@%*2^x#^x1fp478pvp zZS}TCCg$_xC3g2bB#v=<5!BH;Dj@;+WmAIu_=!vNtr7j)?ME#pTz<#-wf}|sxO%nq zd8g$|+x)nM$|TOQ-tVB(IQE>9<7>5#4;lDkUlHy3Q1J@orS@>!d0IrFJyh+7^%etI zy7|$+^&oiuB;)?lx%$%X`s_6r#?sjSNd30{)(M)~-Lzb~e|>~u@4q~Bl7G{ikZJ{I z>dr4H2n5^Y@BqMAltsUxN<>>R?CRa);_RZr`B+W8CSOABCR>+Pb<=0P)~_;`MD{|; zi!-awm%o}t17E2F*v!xuo&QQ!lA`|b3)fJ2?_SAX1GSP{vYWjLR zQmju=-n6ST-t7BeNxd>+C8q5`s~X|^?wvHQ@Xe?>sejbW@Nr%|nw`tk5RI#c8E?Ik zs@Ej={JKa*yeV5acffDSpt`u&AH0|$puyrmapnxjTA16tV_uw%-pN4TWH)usO0k-PXhHdN{q8=5trWh#Tk41gYEXzQ9#cR)BlrcV&&=*@CG3@i|X(ir-vpW=5ooBnittb2H70v#CQ;r<2D zO^5aG^*}d0@xfAa+FGJrT$>{%b3Cg?yET#1KuMUSeqXJE+tt{Y(pK_7RFUo%BTgY5 zjbi%s*UBg3;$9Q$kK~u-1}kjNiPl(LR@1BF;#K#Zk9YltvnS5mgK@xc9L1rt_fJW# z?d_@$BRC}*i`P3T-|KYtz0_z{KAvC$JZ4+3OxR1GEYjr9mg_~EHLt@l)J*I`;B)C~ zwx`?)(h;b=La6i~Lm6po0u^Kp59--=0%BCOpP&a;;$gpg9fDpbIWUj|QS*__nk!>F zF^4<}8H;k7A*|BF7&}W`+SN4wg7I-hgTA7og;S?$VClHDhyz6bA^SFMusC%3!X=gY z0pS=@$C3@Vc4r@bbLJ_1OU0yM0Bn#GDh{gT>ykSp6eL6_G5)6Z7p>6S@8lL}e$BMY z)7|T~#d&UFEg7;jF8#8gzO%tC?6gvF8Fp#Sho(xq|*akXQ zg>Xw;R~OanjBe8zZ^kGGK~N^{Uzrh@FbN%K#CWg+nT5CR1+tn?O zJh$D5Hg8zGFFZW5oTfldkL3EozcVkFyIrd$ne&}x9bY8XcCYPR8i5p&>sX~tk-8SB)dtRW;aeW3e1RM)WDuS0jbBw#RNk>-{a8FQ42BiLA3C`&s^@LCho3Ig0kqy(CUr1e)y)NL zhh2l(%&aXLgTk(JXJ&6%pzpkk5%yr)Mf263SvrGW2!r0@%L_OJmj5qFLHjLeq3Hlo zV^~;9^i^~Q3L+@&&y}PzJVt5)YFHQK-=0plO_CStU#a1ih>^;@DM%OTUJ2ugs4SGJ z{Sn2eJKIOdriVPO`9(GE7bJrZ+tO)eV@q(t$Hjo_8>AK26cU}$4CvdGIVukVW)Sm6 zh9Mba)1Lr|u{jRc9HdzmGe^Zqsgjxi8@n&*qeV4z@^U*jgYFzm>Ep0ts1;&eT(b^Q zDa^*aW@f2!swqFPzpSKV(4I%OhQEU_j#_hc3h zNNE&G;BhfW`vNua7WjKdpR#M7hLGuq3dxNw-r8~N6Qfo~ErjGAsp-R{Fr>&sKHANY zk-$zi)E%Rvwycii?OVjeT<+oj#sX-E4Kw<0R<*{bkcmGeCaGv|%8Jw>n@E1$Eiz>? zO90e`cZjJj@s=#LWA2_69=-mS^xFfqbD7cx8?hqIqB=z-^%)a(2QfOlWJfN2Rq6}m zWy!bU&?hA&gFr?Da;%(;r%0Etn@SCb5?28-rJ zEHZ!R#+n_ab$_j^dt|ZX(d z2<|^_|E~H;+*h#QWg1u9v@*We`9|Znrg%;lV?yFKE1yI$Nh*#T_TCLnD`&eFdHoA{ z-F-3khLB*4zJQc99;XoI?QP;b2K#0#b9s;9k^NbbedWpRI!`8ODh-NKb+>^*%2@w3 zzhO+X2q3@7u`-TRE8svba89}LlHG8Wr7vw{PkualLAq`OKrE`@^r$prYZ;eZ5R@%g zFYNbIg;98;4=C1YY;0Ine9qLo9t%gdyIOfHb~krKeZR)72%WU&?J|TiV7*@WsGv9i z$)tWQqonj9LMa4sD=y>yW7yY$tGYhcuG`JFI(%xP!tS~%yRAVTcnYzmPe0U)+7E&)M%^wpoaren?(0g+BDM}$(w&PG;19)l%j7F`+niW1 zCw*y9_jszy?I;SSx4Rm&%GxPyiKP~C8S9b>@j|mf%u**K`V7|H2`RB+rt^^G4EirI z2&%CwcdA|4(RPb#++Pz^Kvr}{z#1bKjIWtAd zPSrrGc2Z+uiMPTLwN^r65MamI*xrAn&Pv0V8hX^^WAjaVX>15;zcYH+%FayqVLr<` zU6lQ-rtQF?sl1{IR_G(a3cY#NOta7S4bjcCb8<9Dt3&UktO8zsx3Ry5ah}m3F^oIW+2r{V zUwZTn^D7&F`|t{oC@^OiV~J;NBUhOAV#Fvj`=LeL^EglAy#lAF6y?N}NP?9I-|7=h zZ?D!b&Q)owm+(%RG4Y4jYXk6j?P31$CX2{jU#U=;-TGP$Sf#(zrGO%;r#toop=CnE5`Si6!WzmIY+5Lf>&y|6(;XwAeEPU3~QX32un(k zf`X#Mw|JA(Ve)|>bQT?W4n+3EeH=u$+T5cv-Za`;z5TA&3*-I@_xfCEYkJc!Sj7E` z_2IOu@lpgBQld3@6dWtyj-4<6Sa?}JBkFs;1*_ksx6idW{WERHo{s{9ai4uK+TX~% zC;b|JAhu|h!`aCitj#M0TK&FKhdjr!v>atVxFomI{Zf<^@0D@x6j^CcW;Z{Or!bF> zQ4zdrO7rDw-2DX}l7!Cg=+t0-@T6OS zi6HbHSepaO$RKXx%8d~Ll-+5*O>#2)jR|pX0O_uH5IXu%^F{EA<-_@7U}CvjR<;Qd z*dz`+a(cpCx{lq3wrRG$zV7Vi28JqP28v7lHW9w9Uc)v2c4+%f%&&{Nsbjl(!RDfM zCSc)Dj(UJ=D|1rnN%+XYA_Ot&ZEU!Ec<7%|X66;Pe6cfIZExpGZt0x59<$|oVc5J} zje{13BY`YBsS5?^XG=u({AND=nWe2ODyHxxRhX8tSIGAw3&V_n|MGq(bFu0C zd=Cc}$}hG|*GLQT32H=JNa{?V{-_ac)2DINhTbBR{kF&jD^-MPG<`KR*?B3Uq7Ut+65 zE_=Z$;p8YVBz)ew2m($C46^wG!u@bc&1-V+h<}W+!yjQ!iWGmcou@6 z$YgR4u-prc5RU5<{F=4E^SQNp<{QQ-_@0iXr$iVcNg!%+%Z2|!VV7tOzpAxYQ|-18 z3pl`R+H|A8Je7!}mb1=opVyeMWosM*+!`!(x}2LEwyv)3XP6+}wMHH6O>MO?uve+Q(It`X;t|J5-rGH|DoDWpdJ*IjVu zw!iIX{@;?zh}s<%m2;Ql!e^_vASmgaA@j^Xtq?%$K} zP?}Ke77SMJo(@F%kXa=YLJGQLo56uFn~47zU@j^$$xe?iJga&F z&xb#>zz6^lvYIGLJh&9RAh{&aR1WP`oH0C3krNvAn{Pd%0hKsSrtttChi$wYs4b^? zb0fx`&$c9i&5AtZA>a9l#780>KI@$g=wOjwAdvKd{GCw{{+VQ#A3N9{H-K{(Yd^F5WHv)szFAN6@dftm=1Ne zyG4(myy14EL*jnPk2JN9OBA|#_YAPmo6vor@%;YO0NGX;cEfn{Xsu7Ukj0^sEUwjK z-V>lYIHPeBIC}}sOHY!XnK%6W;@@zNv#*c!rwK%jWrhJ|*Br%LT@HBT z^-yi87j(Z-(9GlSNdqA;K?z)^t~u$_mveG5+nUm}4t?T@;JjX(jOK}Er3te5uJyh< z^69It8eJ4+qhErAChxEC&;qt1UF`E_{Yn?_pMM4);))_z+qB?FIzueqJ5m#&E9;#D zV>ymUb|CtS3jP!zi(sJsLZFRmpg3D;jHq3R*M9nJC6$@e$UT@Kc&BUH&zCU9|}MbJK>P2%t+#6i`8fa z#hiAOulMt6ifQbywon1H&LE*NDD``Xei<6r6r60iBEkOPWXII4xZRjbTWX+>nK=*u zG17-I$99)+`?u_T^2k0f97)Xp9dr8%$V%eMh}PWl_HGAQf3%0<(SD9@3lp1_$bayU z)ZdVRG2m_v>$2tLSrTjnuL<$ArEIr9SJ?%Bn5*JqzBFdJT4ird7s$&P$*NLY+R-Kf zB$%5?Ga|v80|>%|1^NAByA`uu?5a{+p*DS<-D+iY%x=o2 z)^D_kz;fX6e*+jrq|85+@1VbU2M+^Q)&5 zeA{Kwh68Ir#h-!O5tMZF_n%6{P3%v{^MSq%*uBwObOI3O!e=R~grJ|S9t=(Ls*0_< z0LQY*5`gm1<21d__4S2$(D=lc}e2g@R zlF__C)IP!NA_i1(MUMWvnR`;>@WWGA%?Qv-}$%wRPK=Ale_^- z&2ceWB<>mD(K)amY*y?1zBF*6Z~`prk?inbcutL)s}ekV^eV{&T`uW4a(K%IxKU%w z%ru)+WzJhgc=8VT{H9`h39f!Tiw8X&rC`n{0#dKzkyvK&JKESHfQ z$)cA!9iTUx&}(--+_f{?BXMK+U*i@Kjr7($1IE-a(;RS(Cz^w3c{a=*vZ!L z^zIjkqqqhgC157IwoC?V=xND!x6VpDImaG2JWy5tRiRTC0H!hIEi%1|SY|7hRHC@~ zALN>Yx!V|{>uX19_QC#o6Kv160sH+DQcf7%L6=fsB}Kv`1W=xKl6C$P1E|82kxNmD zYvvID@w7N0x}Ugcf1X&Gu>W&L>eFJOPDHCGwv_-Ux6v>VvazJM*~t-79ot*hVpG8D z((p5^P;W9t!aR?uBRf&~uJI9)5a$;2&&YNjq%VH5hKc!P?RAbQFEoP=DjJ^_qIr@r zvT~fwAoeGu08#y73F}OFy0^ZLofU50#OBrcR|f21xJrR91O#2NF8@auqj_3@VW24_sm+P1h*ReoXCUCHH`eB!0$+id}bmdKr$Dn>}{WZ|Zi;N>O zp(sHS#7#Ly_(^R{|DeWaZ?gHj1D$^nsTK@oJVA)EE<4igbHko$Ho?-YV@X}Y=$Qd&ksuuW?mD&zKC;>A%#{%wDOLK2(!Yg$!Y zq|_ZpAyuHKE8NJc8RhmVt%^_0&-rT4Dcx;pYC{kVL4H;IXBKWh1!JJCg|)P!Hw~UH zA}JE7@+@E#S;mezNUYRyelZ&?fqCYD33#$7kXt=_-eKIR*`a=cGbf2 zHOf056RcN-&l}~c2niNQ9Yg+ z-F5Cms23e@ZejKWU%D@mD0=y)!m+xXIpw5D_nku|(g`@Ror|oP9k*E%fhBhFL$fpc z^cJ2J-fX4k84A*LhmPWaTtTjsxyq@iUi`)LRPNG4@Ivf zn;aa+qO{XY_|5pkkD@Z7>_1F{tspb>L%f)pu9c3sfQE`dyR%pwuY0CLT8PN$U_*LF zhZx3=bM8o>*0>AjX1IU@Tepv$t_BX8fLsFch01&DHPe0+4QZZ;uHM;R`VKnCzg5KN z1I#!+vCRHUMcL_T6Al`|*IIp%2Lf+&Ltd=FVVP2$h6F&g?$2czC_SAt-j=Weat7Au z!x-Wi4kn*051RynMh^F=T_VEHP_(8gbQNaqRwXm_6plM}_uf{4detMB2sK)dRdybg z(HP!~`@NVn#5o_ef3iBwU0t<+cjv0j!t0Z7_Cyke!uy1>Hwu@e)Az`B#DBv_@Ffmg z!E6Ch0W+L|8(vqI+TSv9w@yE|CnSpolcq|s+wDBbNhjd#vwor)E4}XMd|7XTYoNpV zd^cNKqtYyN$$W|TH_~&nHNkloL1ORr%9O;cXp3UX4-vI=3`r^3tt4J$psG)QReNRv zQ62Bj?5{z-A0AK4MY`ESj_!m(4Qi^}@Uo%7W#wD!&}M&}o+FoPAV@1-q0DBeA0 zj+1Y!>l@eC{^I+?=BH1OL-u|oeJELlTrs);TQYzrjsDO5dyl3MuK8u#e(6t^f?O`n zC!d)2ocVkh++4F9ecR@xi(^n|pmPYkGfu6WGFH~25hC|FSOz1--}Zmd{m2h%8xi;D zp7z~w!g%=rCIz3OOX4PX6P8-c5v=q+tOd+zbW0S9`(w&@ZN3pqdeJ2A^8TO_N=61> zdpUjqDZr74cKug2Sl2-v@m5>&(%zKhD2G8N(t*N1%r0LLy*aM*eEAn1 zE`j;7Kt|r zU~v`unaOZMr>GPKz~nu&=n{Q1@Q*IQ+F^!IyQ#U2usE?c7`F>78$ zq!$D119I?zmz}GNa)T9Ab|Q#dCYkW``aRmR`1-WN`pL5zkn>XuuMQh203=Z4{AbX5 zxeYqtK+SaXA)DN71(E7GP(0-wd|Sz^PZB zeRwkheAA={>U*u-@U3?vReVoWb`oN;5ing*!p4b;!${sPb_1lhx4%p6myB#ZH|Hyt zUmw>SG&p^6xG>f(?=1WK3^pWV*#D_+&|*vKwXWuo``u8NSmxuQdcG=UaOPelr?9_} zZn*y(P_IG11n)xLw+?e(rda-W#oDDM`AzJjuH_%$E-x|Q^)C%i$9zF+Y+OK8RHB7S z?5!sZ&hbeXqhGR1T>8VOhI1Pc;&Y5*%lYE+d{_)<_$KZX1X(Yfb+y5zo>>pJ5T@)^ zjqgm2E>+1BOGtaQ^=HxGTo}CalbS~f^wnbWB2QJMv?{>d9M{U+vLSTgNG!nxJ5rP> zPJmHmVbOF*=#u&5KGkWo@+|Hz${}e0ApWK60OOF$39O3uY2Lz{7&jx_c0)>^%KH+* zhCH_Qm8w~uYAHn#$hixW45<*@4tb``IEGF|Q@W0s&)ri>dyS|&6YQsZ!hInO-cQh& z4mUyV&a1m-YD4lWxj}YI7$!Jlh7xDB-Gg_n^i5aS_e$?-e<9HhKe7}64-8|L(r zB7v|gj?0D(P(}2^N;529Yv9*eeFFCN^@MaY&4`k1>j5=8Az3IP;nX3I5e}|(VNsbc z6Rf~;qsm1#n0?ie{M#xNidYr)CYG2ZM|K-*&h`W1vxKEoW@ew{VsvnlnpP`hD1NaR z23w?%92~I4}T?h&!o%8DpwB z!AG^9@=p?1TC5=%91@%mM*81C9E!@#1poxkC`ehOkkX+st4}HSGfdPsBWs$}SyCVY z-ImPZ9;wW{(pb1Tr7V(Dg4P4BxabTLdNrQ4QYvNS2gfuwO_X*~3Y?Cb#xuLTVT_e`U!Smu)e+JnKUhiIbI8Q! zuUaIu{&eZQ(`ckapIC4nJR+GIZ}i?*`fj2aPRR8Ha_9V>sn5`;I0OSJ_yc*sMSv|| z03aHUVoALlvwK@KFa!;aNZS67<&bpwytk52>LnM8UtBl?2T~MeWGqmNQda((>#q^w zVsrDn!c*xgIf5w4Z@;!aX`ZXYUH2Mpqz`rud?M{xhb>M6VJe4X`Iw?RY=bHLh0ONG z`c8|Qp6l20?lep|iK}JV$v1C;@6!{vPeFOm40pT^F1#Td{nZ{S{j6@3h={)ypOO672Yv=EdMKA#P1 zXo&70zJz`b15i$yomH?YJ*;a`KK`s-+|v_S*2)@8^Q(_biu>j3`-$dKz9NazQr7GH zy*nFkrZ02Bm@KKrIaH>a)(P$M%Oqc9QaABzaba}Y1CV?o6})%F+bkcxR~)MFP|Lq% zT=c<{w^SugGK)Xj#>+V9zp(&9i71)pl_}*iOD;wG3|c6E>c}FOzq4vO64n#Ernm`| z^9{m)t#&4PbC=2XzCR%H47sV&J+ni-+fd z!-eWW92uLutT2G#ulpGrzN@oi|Igi_W(LfLkq~(++Nhrt#&)zPg!U#3OMM~dr3I8H znk)bu4ee6?+6WXU6dv^6V)m;yu+`k*;9qun{wvcRYZo`S+4XfXb#-k2ABIquSNzl9 ztN-|YKC(MrP-0r!Z{I#LhMA!DVAJ3zsYN3ct$U4aGfKjjfA~S+=7@^y>)k)YeLCkSoId$e3^oq86wmd9p~Rk7$sxDaM_C zxt88XrEijrA{#N5fPSKc2O-X-rzn5 ze1g@$(D*!4!KQz7Ij6dGmXjJ-p6(aI#OMm{$e9N)R7#H zJdX6XgBR4kw$)ev{yoUqL;&irzHYcb`-Nwgb@Xw0wi+~*4?$jf>Ea>)4%@ta-`9*I zmx?3*4qc$n_q+WOi-QQ>8zL?AvdR#gn23Zpix&Lwn2q@^@t;ysJkZxGnQX?924^Wc zFvyZ*bBw~Ct_=Cr8N$a`Z|zS-<=zzFVwpq&v+DnP?eSOg#;&m)?A*JX(lte%Kaziv z4vECeHDAsgIXV~T7Ad5`#hyc%{`-0gxjq_oV6)>-eQZ)GX(jEC)5BL8eQXjb9$K8| zlZvllqBuNvkmz9|?H}(iY#ba9F8{RZ-#_JQrn`AfG8`lp@V+GhpM6pBC_JfesGqjR zIXAZ6Kkh&79bAaTQzEyY0s-k^=clJy|E(G4Tm=8%0->xhgvS;N`@RUZ<~dp!iN_w- z)YLf+K8AYo{S8)fa_H#vMj+7J^kdagjV@y}>S_DS>e%D7)9bdI;NigU=#`App097a z7_SFzqaKeZDy1Ea&+mp-N&o%IiDuQ^&k_8DdGyCG9R}2+>U4+TFi=y_#rh{>Gqc-8 zzqiG&SXjzRO4Cqoi1E5?@!ED7(hffaJW|ni?v*&yldfNX>(>|E~2-Gr117w ztGVIUgxzCu@=KQY4Em$92=C#}qN z`o29w*dI;h3RH>yhjs;7W=G`-ZiAec21n2$PfwG66E~Qns{}9OJ7&0k{g~dDUZATx z6$Pb+mT-{}ywb82Zv;1lc)#_Sr{N5Ty-%pcot;_srbI#gtcJaLdhk99We)5yYaejw zxA_$sPiU(jPmi4;5h<>t=VN2#-x>`dtX^6>0YSHuYbz6uxr(8F&&7U_1{>`j?i9Bpg&?^VcAcDE=<;2U0$yw1dYLUUf(u92=$*v)IU9r z7IoQQzJXj{^tSU>-5(nr_7oNR^E~+2{3zyMe%UiXV+^8Im0S#0xyV?blVW*`s`PRA zxHXx$hU_-|IO44(ppNe~ba zJ}or^GwghC(<2GB`#8Iv>s6KRtPXE|gq zitP+1=x1?~vqhSjM-FQHU+<=&>viGQ=3Q+}yr1=ax!v$QTuk`f2Q%rssFIgI8dJD~ zl(04&_+yed8+BezR#TjM$-^b~h2A(u)F;d?@@Y#g*59}RJvM7z+NT|*X8Pl%Sp3dr zZL8pPRPHG)oY7>0jPa7~S?2dJSb`ie&=L>S6Q(_a8-tboPkV=^@wj0^?a^fo5$?tt zz_;O|tyb=_RNb+mcBZIl%RJFv?#20=4wcI`FM1x2k-`VB2VJR9e_;;voM2^)oGo*=$boal`oGxYr;`+TH3>eN)_Ek|Ager~mQHiQ~PoRkcaY z7aazjDnwYGTv=2nmrz&j`%8bUBWy+qmu;XCjV!%Ks_Aw&dreG99JJc-9k3TQ)&ZvF zH4WB=AMxnMaX~O_Rk5>b3V2JC5<{N*LBQ)>Hf0>dAO1vGV)GUdcsIMMnt16XoQTiM zuo-|WzTKX19urfwzh^IsX8!^90$_Qujg=ZnLsP^gh++hefoVje2vNeYGrNFd9kR7a z^y}5}Uyqz`D0CU-}!2jK5Tq8*UE39xNo(t$f-8%z4=8 z3hEb=#!6lVg!uhEtyZ`1f24hUXzG&F($dlg`y&6t)MD%ltCbi2LO|g#*?+sV-P}01 ze}nyUbyhdo=r!?M|1CVm&zmitO3vt}Kx*x^$xlW^1UoArJyS%FQYfM9M80Rh9<6CZ zP5O&Vh3C%`mr^5#^08FTm?Dm+Max>Oz;5^+Zv4k(BB6GHO7w}hnB}Ej!3v7HgkM|px zJDy^UeWx>;X+}z-=WUFpp4|NSNmOYaxVHSdH_RPLn=;V1MnM-Qw>7XFWUM?G{$jWD zp2++ypj6N^`X!vV#e>tzMrl0m<q#b;wGD84MWvXqo9K7QoSav zDI?F!Gp)3@&vYE?PD@K7A<YJ~ z_txVu^JL-nAy$@hxy?*rQSAw`@1!IGDwaTeKZIoA$4PRg2&IruLMtGRZJ~b&cF$xl z7UJyGvW-lFbZ<{cW@k;FYgrGOyO8fu^cX&bmBl}eV$JP?nyB51X18d3JJzBJ2)6bU zd748cQXxsfKrgP3>NX{?(A3>(H~rjfg>p)f#2K2fZknW;uhin5PITbj&Zt`OE(6S| z9G25Q-y`0xUwS9YNa&B0pX%+$N)TVSbpDsk*Zt0|R@M?Tfd+H8SWWm>M5E2g8 zFM2y0i&;~!sCvEncqQ(E2Db2myJJN`%EW&YbrmF4!wC*7{&1zl^s|YNQO0Py2*@Idl@(h zgPKdco*h&}wOK{W!=&eocyl0ft9XMZtIisyZyGCd-Z|%cjKS1-dAn&`q;1WFJxqvG z*YCeYOahYNQGJ|fw}3ezHtglm(i{Xg_mj=@TA>PW1-qy4D%U5&o*jymO)5o~>O9Hg6uuD6v~ zvnN|`8$de8KS#>8ZN3n#YJ>9)-^y`9UA-cXwmKB!W%-pw@_e&f@c|#G1i38nyN#(u zOr6z`Tv2x*nEDTA?6Ue{6A^>KgG;|Lx|x%vhfK=qyz5{IqhBEJhXqSYBEIF=P%;gb%RRd%yt+*0xdvPT+%6Sipze-VDK< zjAAog0>$XGYXeOZ@7HnK@?Cz4`)7o$dFpl#FVGU_pEk_kkg1{kk?1bjjdleSs`7v# zN{OoBehH^s7cBbQE?Og)0SMnWHEjQX8k{!IsDHQV4Mu*w-cNqIOH{u}Wb{kb7kn~q zJKylMV*RB5*n^GZ_QbVNtv^}Bxp}tG@lcsD*be{1$8=5_Zs#3%SRJ9#Wk+nh_XpSi z=+*^1c8*wljp0%#3Cfh($>28Kmkdp2Ol@jUh?uG#wxay7x~*yHHJ@vVJZ3F!wI=8m-SvA z7LQFfuqi3|fU3Lp>@y%75PaPI7pAkj&5N~3FI?7ErTH6Bs`Tc*lT2@80pNWRu7f|OIbe3X+{uTt z{acX?;rcUnr}awj{rUytHxplQr&GD!V=bI_@zpHZ*&3Xs&s{BKTra5BsD}PrxE0ig zynmL@^lkipk^u21(#&@@nysHJIoiam*RE$h&t9pk?b6WPQkMm*lrHDadUU_+i;!ik zpDro{$BGIjY-D0FHu%?@tyazaFzcP0^}Gcdync2`Efv;B6DY{50mDUU8&}ao5}@f; zd07mxRDspQ+Z7;pv%n^5!yvm${OC!2%GKX*ea=_ zATv&T4rtbcSxR=h`Ik7slKKfW|0z^7UCuh%DcI}O!RTJvUK6gt!9jGv-0Kf}*0Bn_ zG1j&@d7D^%fv3i*rmu_V?G8NrE~a1T8(*!h$kO5f+k}R_u(Nv>OJLLyBu^ybP1I@- ziRrqx+PW{=5l$}TSxF%)XzeWiOvsIl`b8n-M}tVQ#eqwYeBpYlM^zI9kC3Nr;3{du zw6b~a7YfnNyubRqQHCs{v$%9LHn>h$s@*2E3^!1Pl7!q?U%!5>kj5DY>|DxPyNdH= zO~PL7rx^$Ymj=#x+LROhJ04)#)zHB%>Wpk`xeX1bGYeu=EeA{OQ>8S0UnO?!$XWh- zF1wD)Evk&5YP4;u>i+(x=C-Yw-BVGB%Or4-h7wJl}>uI zL|;TQ5pq^@&UCX!X~xdmNVq?mWWbuOf9YlWT;wckSI!ne0)rgU?t1FjjgS81h@_Q; zN&^D@w=gr3Idsm^Pk+6e0a{G*A1>Y6<$jVo^yS#MqKS2P0DB<&cwGct@F#fi5_l0- z$q3|zepK#Q*H-c9>$4k5myg&BB{){Yll^YrV_ptXc2r`ZoF zD%`AgYgM0PkRWP0xWs>5Ve6(oB)zP|a%l%K`BYbI4_@l^WM3dH?TQph00MT4UPAvj zO+>banj;&0>c6{N?Q^hod2H{J(Cfzym-yI~Y`ziNFkM$YN-}y9m?rNj8pOAgeVP{5 zP_v9-H26XhDylx9mVrPf%;3X%+A#^L4M+gxnJL4ULeNb#9T>BXS!soYU;UaC?)_$! zcxxgs1$f^vDe9#SKFD;&N4-jcIgLE;3Vedg0=(rI2sj)M#Guh(vN$L-}JyZM6`8e=VKPnZnkUxcEJr; zKxmo${QzFk?Z6|bg#FJ2a7_M(09e97IsQIQ?U$foC9?KTzw#igT*H0Vs^%Ncei+PN zf!GEep~-<8BF%BtzyeKP;qLgM+31d+f+_a=3|E2W2Du$ILtfpJL=mHYvd$2nt*ChE zZeKHWQV1O#ByKpe;8DjJPClp`YHC-qVIOmh9XpUHw&XvRg}Sm6tX_J0#-@5GJ~sLa zfnm0D`+Vt0-jR5`I9OPyy5#08e^S#)A!Wc@PDJ(9(n0)TNaH1n)epg6nxxnPAW&aN z|5F$d4Ps)uK>J#-GEm5I$lbPP>DBzzFdxxz?_uabKQ)f^x25YB1z-oY8SNR|KBHrE zIYx>!c~@i-qy5s&IJE-7E0C>Tn($88>#HBugppm5{c?;iNW|v_u=y)80yJY4P4hL! z4jh2D>>f*?-h<6{Ro^q(KL5F5I{x764tA^p888E=F%+R=2d(w*VhariXQXfEKRwBD zx-?bsIhkecQegUe;LCy&Cx1S*kK6szq3leYWGXX+v6dy{>y%bj^=aX91Y4Qe_RUk2 z%$Oz@_i%unhX?}xSU%v6*F(M3jUI%hU>kkqozJ6K0}SR^2d#(ZrW~hEszm)#@wa9I zE`iip842A7p(rHUNOLkij4*w!&jB!v!vVOZMzQC7aHu>$)yKdIPvkYk$Wacn+fr6-(KMK`&>LI&0&%9aYY%+9Wpy^O0(8I zL>HZD%BXl|oQUYe$svFpoc9aqe3qf?jMa)EMzjioJWn5P`T7y-X!i{eD_&WuTtwLm z#tO&hWq8LB-foL(UWupncw{V=>(_kVyrt>7T2L#`J$gtX%ATZC-1}{3fe=3JBg4%n zZh{;mD*9181q7Utn?{D79piN4Z$de_V7N$nF{$Rg38x8at_@#D+`}- zUzf>Ol^Bh5Ao!r<7r;aKD!4c@?3K^3s*GW&QLEsZ)}VdN&NaXO&V!o zQH=Ha7Qyi>%+0SX2qSG9ZkvI_p7PK4pj8@qv65DA6BQ7s#adF&`DJL&a3;h zD&6tDlE-wmZf8wSuaAf)_H8y|4K+9$xf6cWq=Hr6%CFGSDO4AIGyDRc0f3VaxV`TQH3>j|Gc2t%=&T2`A(>E z%c*0$-Q?@`^t6`X;kn%_@QCDdnzWoV-ZF2OSYbu2(5qu}#*5jw@f#z7l$pzCp+g9I z+32kD^uN-Z(&6h3Hvf1_>q>j2d#XFTBrSAEw)LZlx%ixwU5UVSbWx|scf-pl6fHag zeK~}emFD^7kNDlMqR)-BJXx!~e+0?*fech%ww1^`8up_V%+2FO)Bn&n1)mV*teRnq zzH>VE3H+f|Zi!Zk+ydflMxazC5VVu#Yt}c?jmwQU4b@c_8>~O9%_@&UF_0N`mqN+c zMCcNytlX=2xA5R?w|j1MRpJ=0LAf{VGk>+h#9J9KbBH4FdBGh^l5Q=v=v&nZyD2{=55@aWjCuB5Ij6Pol!#v6+T?4U*SF7@!Agv`M+t&= zO<9BmBRfDIaUpDJLy-+E?sjbG=lr-`>GC#H#aeZH_GKPBlSrTVHBWHlVdNC;dIdN8 zx>7#RGD6DxzRzKN4e91G)J*-Hn^1n!7>{3B8kgUDvxVNJ&ztx;!40SGS20maW5P)@ zXsBy?!c#OKlLmOzo%%j^_0_W|{<=PQ85Itilzh!AU1A*_B$(!|(lXL*z-9*1x1B;xqd;j9 z_)F^IYQ53^Qs&8zMGcsiuovc2QMWUl(>#zR=(aTb@ykgv8*>&VC?B9r)8>@Udl-MK zRp+;ZLQ}`c}q&!6WL&_ zu21i(qBFMswgZzpn%}YT>CXJCPOnYf(+f6^iz93kx9P+QhmX@Qbn0$WS35u?PiY_d zYj^YWB|Q78XAQ1z%r21r!BE#|6NrOx8O)bE+6?KxHP?@n_mtpC$?UfNni^D=$tr$& z;TL>wO2R34yt#XVm$@+|$Tq^YCi=oYOhN+Ch-)<@#yXQEA?(}`d*Bdd9-HRyjujir z-JbNbdEvS`V(lt!5#*>Fi`}Y-=4%w46lsnVM6UvoaN;rRb-yM-J8KX14TxuErl2IO z{ABle@Q!XkE+yR22?M{F5|*)&)_3{EhYe#ea-tO{Ty;C;xAG|Z6Dr@NVfA5udj0Ac z6N*zqK@g1fOuV77(8R*1n|b&kf13I;8=KMkARV_gB!(v+WHyGXI3k)R^C%#GzC+X- zF$sV5$=AWM{odtN-3bys2zYg~fn-8zMe^t~Q3~daM)M5)I|W)CvX@Pt*6DG2hdkqz zZtr9DrF87xvgZv(y?JD`lzGb%{ay*nZeN=LW5~7iP?S)`O$)ozxM+Dj`mO8Lnwt9U zl8b9<%}9l*u5ZbiSa;Osm%CN5^C%!a;kBn#utn6!Xk1p5OnN0hR~iae3Xk;>FJB%WZ`){meZbun%vT+d z$DL-MH&XJp>DV6|5MEIWtoif=sJ^wa^Dq4j1MOgwlDJXvUrICWOKZnmYVLKcpc zg3fIOT)O@16a!DoQDsCEKiIE+qI~oy`?btAEtYZz>3bu4As#822r+NBtHgUJtCg`Aq2zp96^k06z{cxNq?vg+9;SqN7^y6yf zW!ineo#jpM%_Dly?v317tKQWGFKHm#SW*nY=Az~j5#3A=|*weFG= z9BfiGtH!klH&rWD6*l_RRsMkKZ|c?D5MP*r+1M{6^vvr(jKruui2Ty(Y(5?fjmiqy zIAGU&u-Ip)`D%OkqPJPJz3eFYY5Bn3l)Q5{h)gl^JFTK|y2ceg! zoXzrivBp{F{Pl-`Q0p?>?ubFw)A8!r2Hv_D_X&S=q1@eC309)n3pro%{j!xeLOkhC z*zIL2JCi;rpCSRD=WtrSz_UE60L@VrRi>(eL&8Q7P*3}vLAsI3pcL2`(P`<+SEX)K zqjT96X-$|YoZgcLlQ-rQ4VBwH3vnYJe#GNHA-z_`c6V{3{95SmKzmk1og~lp1h^$3 zB-j3DE6=+f1@>RjMslJA=3~$wPpbli6WW-iTf*J)!gd)b$YkbCGYn+Ll;%V4?__`5 zQS4I67#NT+Em(Nho}R-EEl1&^6&hME1N8dmVR8l6W^T)JIMFoQeQt+?7SL&x)??2t zSL^4-@bCGFHxD(-4bdtwuw;j+8Q9WgMnA&Q)C+Slsfl_70z`T0r@a+8h|xLNT{OC zkM+wW+qvO0&vr;nllzkxQdo)YCFqsk5%J~bWAqCHa{t}8)TLUtR*QB|HCCZwH0YpHpXf=^qNEY>@~0l1_c^Z7<|WiEJ1 z^(ABZu=p2CNl0|Dx*|!WB0|8MRl!Y-0p>Rco~R$)_pK}yXfB~RPvpyjK2eQg8GHSd zzdDUeo*)p?Ix`}cpvUKc=N!_CXm+>hC#cMn_?s$A^v10ux$nB8Wb=$-c_n-{9WGff zRGsL`h|p7}bbvO2n2oy{sJhkU1k$eUMgp_sGE!T7zb7j60VYNt6?7mPwbh zR8#e*j6(P7;{4dGu^eVNF@G-Lom%Uq4Ud-(H9$Q6B(5nRZxTjOu{HUJNk7p4K)+mX zHCZYo{(U8I<1Td{9d7vRPvjaQ+2G26K}E*E2Sb)|VB}v068QZ#@$U-y z-8h^5ZwJ4hlr#M6n%^~xj%`B+|4YLG1rq-Lh`M`ue6!%QxzJ|sm-n_|#T!etm}d^J ze?$6>#{OLe!shZ-i2HV7^#|JaKnzhuw?Xr+2%ol8-{4Y7-V9`&MG?K+lT%nN6FaezI9^rhsx6VO$eXhh^%lLnb24L zfF?osoPB$kbrAv$KhDm1ay>6s=hXtRshq>m7bhhRi+@8u;g`_QZqO<(GVa^Rd84Az zTDy_nez0`WaO3%~*v1>!mB;}K|<4U{e z`f1yvH_Cd>luJ8gtV}GX3tQdV)7(YtQJ0j4PCl{t%xB^?K^E1sLjw&@jL-;5s=B@A z6_>8Uw>Nht53i%&iZ#Cp`V8#4h}g^(w1yv#DLcS5?ABAoH%iJ~8TOTER%yhaxG8|HMV*2VX*| z!F*;xk$@H?Yu?Fv@shInrt;&TC^4|OvWbBz3t{-c*r!)O#WY;ow&}vmhXW!qR$Lpv z2D#{$p7y>#YzvG}_CPn{9s6OnhHVTCCGLlI?muE|^dn%JdcEuCv|VeugJ4Y9VGj+O z=CzVWwP2CCPN$hs*gZ8#9r(abKII}IW^A;C@XU`NRCaisT$HQ1OH#Io8%w1c&(n7l z-i!2~xmG0ed9mga#9e)ewn*ze8c(+cE=t=uiPhdI7>bNbSF5ODCS4G6ST64l41V80 z*s(rCF;PzIXWM&0AILxY;|VXHS)}L@^^=gVRB#n_KG%85ylOJa^H=@q!)Z1TU;JI# z&?G=8F}_GrI9iQSb{wp*Amg{k`e2m<&+7>QK-7~i*f>bB-7{dVDWYjagI@Y_qsU8boF z+tC~z!?3|#WI%%Jlu$ye-ceYM7b8KQPf-`Q&ys&%%5f&9c{S&X^;mj~4g!xWPQ^O^ zx3FTje8GAj#&I8f%(Pph`iL8T7IKWF{c2fkv15e+CUc_d=D2&}2JeBBPO4|f&evGX zUdQ-ft=2`&HS79ttQ>u)d!i0ojTCjHy%6{bWOgNJGaP7UJgDp|eBYBjPaT}~GUGBd z=>lp3lz%X07LWw3MrIHOTm|E;{Yl`9`_2Lk20Gx=zj(rBHn0kuhAR5(AdP2R@J_Od z{80ESu(B|_0s8MFwu^K1n|;uUMkqhHkWOTbtSdu2@juAWzIy&5tl0aaKNs(Yx2Zh& z^+K~B8|09F&&!9@fs@#+e^+;Iu7Oi1P~k)BTMF;x1eQO4gagEc_c?odtT$4B=g*CJ z$4%ex+dPeUc}S)#;!X3AIM=Fb z?2c2C09+eKaq#8I_&3%1!=}N4tBnhV)N`sBPAA5mz_>UD-Vh`#dhe@OGn(N3(mGBb z#N?B2HcxqR3g3$|hW+0qzu&=%V1~jB0uwf+f?FR_Q@xMc-i(PK%oswN^yiUY%SiL^ z@{;_=2t(QdO>!37AaLBa*&sF9Qy~2hj`&*ZadkdQ319TXtg_&9T$O18Z&XiW7cRXq zmVa=um0#?7Ew%K39z>pFX?hWLk1NxFjE3v}sfy~tkU$uR(TNy{;$bG|Vj5UFLM=fB zyQb0=Y{ZGxs7SG){bgFIE;xr}> z@|5FBO#2Be=OGz^6jvhn_;FWP8@E!NNvos_=R!}=(7qQGn6!Mj2_;tTVJ~+h5Y&s{Xcgl`($V1O zwf@@ZQRS7R4>9gOlNl5Vjj_pwbky_F#%iRNK!jCu`BBGg_4}u2kar5+PCPtehGlT+ z=*N=z`I9isdH-z}b!GEzr6sg6%^@}l9q~h?nCGd&37zFL7GqivrKR|PN?Vpv4H%pU zAYo+hRLtaYg5vQuEJ8~kfx~4El2=i|Rvc8k8;Tv|Qip(5yXUJ!Akp>V=+1Owz87B} zsCOAZ36C(GR+KH`k;7J|T5Q6L<*4p>?Cr&hK{%z6?Wx|ZpaULZSl<^BZI3LQ!RY#0 zmj#=F+OM$=fCOb?Qv&P7_HB8#rPfUHDUkoV>7+fgY6u(eH`xD*uwiC+FL!&Tb8z6IYj z!*4G4ks?#PL?D-y#c30lArm&)5y3^$^F712yRJ`2H5|^4_e<*hHm>A^4G}zJNjz2r zNPwmG_RDVSp_jMj|7Afh5dRp7yFgDJ z0|HG|MMLIy)uKPOEPw=mC@J6555RF=XAV4+uMO#E;iT)~R#|mL;ZmGE{mntCGO0HG z1S)2W`Jk%f+H4lEt%ZKVvwwQV!thsqITVxPMqEGP0GlvCljmm`O>h4&4Hr%>t9I+> zI5c+?pNrsO=Kso6p^ShnJ&tx-dO9kkdHG%+_77IH^QjP=g5~)?vI418&j0t;Gcn?y zj`+Va*YiOHzqTLHZlW)qz4{CP?LJ@_70c7d&|*t`@bFL0w7pf%5fTqN!`&Tcdq4Q5;q^6-hY)QTfhp~ z68?A(dGU=g7jaS&STBq=&2X#wE=BjoQ3PC?H$FrRJuy`Tdl(>}KM+4C6RS0cL*nLOGZ z-v9VddEJ%kg7B!Y9^pJfmgRnRWq{irpf?M94Zy3npX}x@X%6oAx*E0bhw@*I)w~hV z#K}Em$~z&Agp zqSbNbe}oJT|5ro~cyu6~t?dWSRaTD$eLouX_syH&Bpbqpq}s0iR?$TwcHoYa3-%xU zE=l>_f87g1#k|+s^g<_E5RZzCLhQEZ9!gd&m%-w_2OsZwx$)tMj?C7zRiD6sx+;?Y zn9?%>U?x2(EUL%Ik8l*wDn)kqTE4pDy6jWZ;`!bnwXdR6$gtzl#u89raZ^P(o5}Gq z$a2$JC~-R-i1{{_@&_Zon3>G=4@Yi#F(X*t_s`)RzXWPCv@1SQh(AE4dUXE*H!c;{ zd!Se`DF8u#x~pjK?r#V6Z;A%qgyx!UpMjyu%A-|@G`|c3W{Ex0>_0XYv;n|OlYtIN z(X*ngG326q*C+IQ;}>Kps>{nai?g_1e;K4is_>>1BD+F)ApW2=UX=3br+?0?Ao(2< z2c*l8u z{a2av7{DNapX^>W_%4$E=ks>s&Q|>Q3kU#@|3Ax!e~1CC|G#qS|96M~&Bp&G>0h=4 zDDwXt2m0Sk^Zz^32)}rMjHpAFjTXe>UvFlx+601`f~o=;KztHKFJo96sF4P~O3tMW zkE{NlgLK4*bk>jef+dahHJ-`7B@LFOL9RPgbsI7VO6(%xNq1J(?q4e_RW*5doCY1N z>=%FL3g~q(Sno5ftWCv$;zw5SQzwxa+O)h>pin>IsDC#X9y`Dpl6D;N1%I(`)q1s?nw(%Kg`A}(hOqF`H=i{~4dpR;{EObDn@7`v-S03e7kAs>vR48g_fRqgAU^>r6Fcxq6X;@Osbo2mXs1$XWu5x1y2HGo zVj9uoXb-v}B~QcvB_&pJf~5H+`=_kW)euldIG*qa&-CQs76HZRaW_v#0NUddm;00t zKZ<=YDLY{}@D<|>6Qg?E8;_|QDC&AKkwANrLjxa(!qju#MoPS+jKbm_l}WuPFACP) zZE(xJUDyh~P!I<8f#nuJJYx}~ilj|Kueh<1aXo15&uEFE1rw2jzgv1-PZp}x!S5Gb z0zhONTYr}|p4-ExZinaRx?g)NT--n~khqq6!k*K(NsaPz+_!tgjin+!tMCoAOv(yJ zr*LftHIW`@ zS+5E`%Q<{_DGl7pc^oQ?vcSV;>u4kS-<6g7eABC4Z}5m|6hHy&&$j3fnZT!m08sy4 z2xdC4-SY((dapQo0_>>0U)swPup`*d)nc4x>i@3m;OHhkNjIr8SI4X);65};-DBE7 zJQFTi6wxoBABMmOhV$pzRE|B~b~48w@Su+fQ#Bx*+SN-9?borDZ({C_iX}`fhVax*^o_GJ%Up56A534|{ zb*4$zNUgOuChCFv2r~Uh%AX#xz_+BKje;7_tZylI;J*Hu(}~#Q#`{G{6H~cn4*|}o z_b&8g&I=a*AArpOKp{cxq3Ye9??VYU01I!rh)bU_eFz3d`sX@ElS8;_dA(R94-0*p zUkgBY5ue!KHOTn)0C0y~4sn|GCDZ%o8-S+Q5+xSt_+9^XB8d>81J{4m*9&}FKt};FZV7**Ty8r$M)o0xF^83E23s8u;ll_0--n^DwAeB-T z0vg;p4F0dspmu=3nDf35sh-B$0Txu0$N;QYzLWcZ+BV6^F0gL-I8~GMy#^%K+fbbU z{{EF+cQ1JwyL0_NiH1z?qBr~D{eSl4D9m}m{g@c)IvRseU-SX!QKlzA%c4rz@6h7j zInJ_S;?L&&ETntw!GipoEhXj|w+nNZp7~V(k+|91(HDHBuQ~EekPPKDj$PyaKwBlq z%GwXhGJFf*x^R9^!cJpZdk~GH-F&z?c@ZPWG{Y_tU#8tWV|}4W$`wF^P6Ie)uD#%# z;H4b=oV%^*b~(;wFkwZFkXT8OJ=S|xg6EHPjJi>hy%T<$W7<54Zry8Au5XrsWn#;e zA$&V+gA2VPk5dvnXhJx4lP3!@k+K7Cm{>m0`h%0LmG;;f!AeS`6nxmn+r>Gi!fwQb z;QA)v>JSsCPfaRq)FZ{lwiqrsZ&C{fXrN4Fw(Ht<#;M=-f@CICef=u`R%`cc*wkQa z7x8CSj*&<R&ZU&m}dqnMNFRfY^iBMIw1 z&h+oV?hWN`s}&d4tpeCSu_T+>g5I44EzWSWk5sgek2C2q?vz3Xdzd+~%0oa23q^uDVhY)U*4;qcyW+QKc=us9~D_W^21Jr=x*vADv-K+s%x` zEPF}>qbqkwKIqKNb<070{iU10(squIzQD}W^e)p1c3QeP2jdvxx3`R>Pv<|#2mabw zVhXRZ33aB-{U*nu2AC59n+L<(Dn}empUz2P7czg@&`S<6zl>ggW~f<*xo~%ynJ~e9&bj^F5?i*vtR@tfnncuJ zt_276oRFGjU-+9Fwq|PJ)CUN|SXCG0g90C0oCj!K2hTsgf4DC-XpIdVHMnw3<2`JP zAYVYJFrE~i>Xc^J1!#Bm*(CmZGghV%nH`T!zO)FjCp+T); z+)$fsyS1Bd)H_;vp`lj6h22aS&h7M{`@{7a`C<{iqUyt}sS4{v%o5Z~y6qO0;XXrE ziYZfX_8yTe0F2_nKu+XoVUb3<<%r&^WNH%na5ik5?DjM>sZN8n>Xs+1Coc^M^9p$PZxrxbMAc9Ep>1ap8d{U zqIf^@Dp%{O{Xz7D5YmU6TEvs)imekNs=9#Y#FS4O_y+MvZd0)_lF=5t;6l@cmutA2 zg2leg#P+2UHg}h+78GXWcTLwoJn#E6>#z9VKDV25_!0NW8s6Nkyq=5uaJ&E#23yEq zhLSPUNYnbkWZ%u4_$d%XYv<$_MOY>kA^PwpuvxA)O{7q|T2%6~%$2*+uTh2@kMB!2 zeCX|J%V1m1JN#&cc9~#bBij67YAPhD{`>LtIood=z%d5U|0zdPxl3rg2*O2^xwsR| z%jj|;5!3x7bn8ld@4DR2G%iXCy}%YovEpwP1kudR-&|P=?8QDvPhL|Vnb>DG9n4ut z?QDxw$ulv_Hbi_M&-l`4CcdP3q_5d=mecV-i7CFJuRs5XeJ-BAdOBccr_W}TpRv!1 z5=7?+52*@)R`^n;DGTx9u94X)Y2R$0+2oj5;h%JALgAFOkasLe$|CKmUN=#&vxlLP zBs@v4K5%tUsjG{J^*;z`okSZ8`rJ(D<%&GRt0(MZ;={{}yC^)=b%I}mOVLn8-DN^> zv*_3cQ&harpR5}G=oN{tqb;~zn38wk`n3u5ZPJYSaFfBJf%>o zoU#i9>}_}e&FhhnKte>oCcBpNmY0kl!-4mRa-fSKMq%kJ zBXhlb5W(CWL|`4;Sp<+_1Wt`N~O2vItgwz8>PjS=*o&VVacU$l}mlR$UPI^&}!GGt$b!7vfS~lZj`=&0h`{MdWy`znRz& z<70eupeDG?jFIK^^%{PgehK1`W;G8CiGXiGb88`QI6b)bmiaE3wDohVLN$C2NUT_u z69nFKO5|ikQR4PrkL`6<s;TTaV`OVDArU>=Y&!}(aFgcDcf3bM^t{M z3Y*aTzTc{eqoX}<#mllr*qm<(ZtQt9J0H2Ah8?BjYxjy|Q1tTfXU6UrJB!{FLW|iT z48gkDsZ^I!K)s%IA%vmE>g8{DTXZC6p1Vd@esKnYq#nzVI#CRoT`2e2WA>TN511&l zOp)6i%!*cpetW2?)dj!3p>~qes)6kJWfkkm0SAH_QZwFK_?+tUN`%_G4(nWv$y4fv zNyAnaNkBfEFPL=(W+`#oU`6nb1p%0)MtZTZj3Pf|#^9?R;_2gt1-wowFQm_@q z{4;e6U$TminN>2&7zdgOXPz_5`cb#MH;Sw@?J4T@eQZxzwERmzh6GQ3DdaXqd>ovzQy_8?-}zFs6W9-*BS4DL-ZwYo};N4 zb0%`p`w5^ampkq1G~CR*Wg5O8wK$T1AWzTkzd#}XZo=dUHBQCxDG`tV6~~Pe6R*v35MR$KK}%0)z089H^)fTl zl23Mo+uMa-j=rZ{apTfZ>UHb~HVhw~$uUlC=)n#6lA5C8NRwrJ>q(Rbejg(|+rX56-Q$+7MN| zX?RFBRhs0MP-yfseGHZw9cu<}u6fg2FVCy$l?K=>GQ%9H->tN|&k+5!QCn^e{g}-s z_i4%*RL>Xjj_9XkK8MmdO^jW67R2q}wClXnEYyJ2hXEE^Sz22tJ&L#(^o(2jDQ}g) zFB~1w^H>tE`?4IHleyZ@wYEEWg-KJe?KR#WjUKwPVu`;sD!5%sGA6Tlzfn>&4)aP~ zYu5d|3+ykSK@>80!_PKl4&P~Ylv8i&kB(+igfLQ9lP`RtlHWovN8F}5>nzH_FR;FL#+6N*b8lBX)Y632q`# zrwI7xCQo94hy`r0#QI^=W6`~qv>(}gl4YLb}*Ob-7 zb9B^>AzVB2gf9Vr<{}cx}9PtPCrOyd58# z?1w1HVxFvU64UtF*j(^^Tl;BIb={45j+j7A;>*3~<;o;MU1&n^g33voSKjCNNi!oR z1?3+X+m@aVoE`Txmr!Vv%6hX8MD&oXwWi>hc`We7#Rg2%XXi)+ZDm@ZA6x*i4~zMQ z5pxn(h`Z&DUsiW#bnSt|4rN1I@`tVfgreO6X}5&8of4;t7Mdn^bM!u|MOx2pMZ>9- zEMTd-+&Oa&tz6tQxvl3Fi(wnPo1J-V7T-;NvZ*`RojR>za&jCEy;Gp%bDTgUde-;L zWP8oUeFocFdtH4tu3*YJRRA8%5jIRODiqg%eNU;%=iP*$!>kmz5x1n}ODnAu&P%w? zLM7sX{T@GQJd0U-barU!yOsw3az-+%XNiTK_C1Ijm6)6`ze|k z1Cs^orSLmc#A?j*lpfUf(sr7|ug)m597j>Vx=??vWdH6r=eLYvyzHL8#gJW5u(U0# zc%78*lE-!nu$Jf|-y!dg(|U=$5{j&!^?=urxLng^ks#0SFo;Ys+V<`fnT4g4$ce*a zqxJ&s=7XKV{5SVv^0KF9W@NwyXs&H0dz3RdvM-^p-Yw>!J#{U*^F@rxn-6D9Oihfo zRV~kAOU(|g8fu3z5@j-O$&^hco$Fr$p#}j!O>zvLT6}t;Cq8+m-%+zj4A3I2L_@!O z1WMfd=BV`6r9Y!&zd2}Bq#LpW#Rq~SJIPXK6l1(f$e+mvM&iM&XLS4;twZfM8G#Dm z$Zy!KedWx0(7y?K}vc z;7BazMkW~EZvlUae!^FC_U?_x{gzkj3ntZ|vhKuC;e~bOiuAm1%l6yLv-;}5A=RW; zGhR2V*6&Uq5DdyULOHf}9-7NTCtkg?-gd(6o{_P1TVFC$u~?F z?!DQf$dc3Jye_QOGNt%brb30^jrXj2v(AR(l0QVhLgiAHc;=LRLq?AVU2f?{;6O$h<5NTG|;qz$gc$@xoWbE=qXA^jr2p3b|h!d>aGF$0r2%w>h!n66NMYEwWPX zk$G#M3fS(`Oodr`XANWa6JzlSN-{XJI$O?C37c37}qa0kn zp=Opi%2=$VL^rz#VA@ht=QJNOn|H?r{9V-j@}C&GF_JE2@akqGkLeH=GAnBE(%8$& zedz{}&*QU?OyTZaCB!iv2J?Q_=dTw5iSg*(dOP@!}l<8i-+<0HEGg2FEoHh>DY zUJpIm7c4Wx^_q+1w!;p|t)Hs-IzYKW%4#TAqQaj?*RH!i^88QsViPy^I8HqjEq#-H z(<_r?KuGmcg@cshn&Q+Qtx7-{zLlDPX?gn2h{6ueV4#z@{I(XN&U7|xsS}+-v){O_ zkHj?j{6}VI!x1H~&$XX*Ko;J?6&(LvBcaiq4Q`B4zFe-OGb}gC%j$yHZc7EHV%}7J zB9nn*T^!RFXLpdo3BjrM*)2Y=t_Lk=YxO2Bk0rsK1)ZiT7UDv@$YTqNSMw_RF=n3f z#=dhF!GQZaf^JPYsuDsTt6Wk5vRq#T55A>6d#J9KpSJ3 zG-F-NPAUv3WP>DV#J{VeY-W9Tw4To_b1RD0Ll)cDK$vc@;YLutYrvRaMNslyjz#uD z`QY-3;enFlN|Qkw-W2F7eKh@`*=W{OVO1R_0X)PsVH-z${1K@?+8Cp?R~<~e_vkF{ z_;)BZN<>_CK_?MdE;!3x6$%n;bYP3;D{&C-FhuT#0cFNOqzs?=cDU-{XnjM|&o1Sg z;h$N>mj;Z@dPZOEqcL!5F$7j5D(!0}q=dY!hL`yHdzC!ll zoiMdKhgPgHb`@h)0aO0;KcIW@ZeR+p~3%mD3{kn>1?AVK#k172b$BprpRYbWH5USCt zN}@?K`vydgQ~>FKvwU67JV!l?8sf2+$Fx4c_Kkg}OC~>iO(4%VEMNU_Jz&CW&9TUL z;i^62yLUy<)YyJ!JdQk`(pH38sSTLJu81YKDu#baM00>SWbEP^jaV`pujJRolcp1> z*~HbV=`0$hImkzlrjS4Z1PqCJs%jm)m3tR^XzkC}tc-1(=v@s{rnkUKwc%IlWS~3% z-ppmvHXHapb->yj%tj?j6Bjk1sX%X^;b6ZiCP2rmQR*!nIXdzuQ_RAM za-erp?6>;@a_N1)p0)WDo9n!b?P}|VmWxC`AB&#sBov?Tm;_iMPH7ee5B(reStJzJ zVNnZq-Si;nJrPO~@AKpoJGqx=t9pq1blJVCg8b*y)YUm$xyo1s1OcsB1X%6b@C)yA z??G-pK3v=sd)2LOF^xeGtY~i3&5fK6Lii^)^|SzJSc-i{QZ13{moCSDUkvDA1&s*0)E?B za&(b@%r9iXzKzGNa;5_^3XRW9NtMP8HFG}wh4NgR&YO+Ytds8O+X81bj8 zJy^|=v*a9Ji2RC=P562+SA?@V*zOVHtMJ+@GVlusINBA?4y09oSY{LgePZF176Ol*!- z8=#A-X$cB!xK$HzE>^S2D5ROw{HcX|o;mpI`wxvumNrqGUW)gq#<|5dnvTb>YCKs) zC@744-@i%K%=+jlZ&0Jlpv~vwo4_ce&7kvSb#-I1)5G*Bg=s4VG5MZ;wGo11exC0c!~TO(;B*azLo+CaIAO83s*XeM6bO`--oF7wz=-wUx{=lODEH1L6$Oy7iqXN zOl{uKnQ~x*E=h?HZ&6Z@xfRwFbC1C5_#qvpPYsVp$=U!KeeS~LxgYgd8u>1nQ>SJ( zxF6B~Yt$-JU|ql9qi=E2-A1B#`@j#!5QbA+80M=T_zsnk?m|u=7vmi@`o%)l-^igeReKlammTNRwCEZrJR_DRiA=CaPzh=YzN!m3_{;7f1iVQO+`@uyP3mkqTI@O0JAvPS?ESJ}ofJ4ROQbYT1 zNVm`aR%U-R3qJEK|2bRMr~|J2Ktg*h)Q^NTQY*ZZLh(07NM_?IVLVfQ)?HteS_6WC z%($|d1y(XYID>mZwJ`?~Rwc$X+AZEbF1o+(x&a%@qcS(%1qSy;)p-a_>{y5vc#

*(5D{^Y!StGY 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 IeD)vz3tjT>3;+NC literal 0 HcmV?d00001 diff --git a/docs/guides/druid/reconfigure-tls/images/druid-without-tls.png b/docs/guides/druid/reconfigure-tls/images/druid-without-tls.png new file mode 100644 index 0000000000000000000000000000000000000000..07aacd32a0fae485d1d55a8151eaaedab9c368e0 GIT binary patch literal 114409 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∋iINQ2Um)1sc|nrv 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

D3m?9b7o~O5+4UuIpuXy)k%!I#% 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 literal 0 HcmV?d00001 diff --git a/docs/guides/druid/reconfigure-tls/images/reconfigure-tls.png b/docs/guides/druid/reconfigure-tls/images/reconfigure-tls.png new file mode 100644 index 0000000000000000000000000000000000000000..316d1a0aa5205216be4643b758eaa68cf96ec07c GIT binary patch literal 37055 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 U~!XWbt|Jej-R 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 literal 0 HcmV?d00001 diff --git a/docs/guides/druid/reconfigure-tls/overview.md b/docs/guides/druid/reconfigure-tls/overview.md new file mode 100644 index 0000000000..5b55da583f --- /dev/null +++ b/docs/guides/druid/reconfigure-tls/overview.md @@ -0,0 +1,54 @@ +--- +title: Reconfiguring TLS/SSL +menu: + docs_{{ .version }}: + identifier: guides-druid-reconfigure-tls-overview + name: Overview + parent: guides-druid-reconfigure-tls + weight: 10 +menu_name: docs_{{ .version }} +section_menu_id: guides +--- + +> New to KubeDB? Please start [here](/docs/README.md). + +# Reconfiguring TLS of Druid + +This guide will give an overview on how KubeDB Ops-manager operator reconfigures TLS configuration i.e. add TLS, remove TLS, update issuer/cluster issuer or Certificates and rotate the certificates of `Druid`. + +## Before You Begin + +- You should be familiar with the following `KubeDB` concepts: + - [Druid](/docs/guides/druid/concepts/druid.md) + - [DruidOpsRequest](/docs/guides/druid/concepts/druidopsrequest.md) + +## How Reconfiguring Druid TLS Configuration Process Works + +The following diagram shows how KubeDB Ops-manager operator reconfigures TLS of a `Druid`. Open the image in a new tab to see the enlarged version. + +

+  Reconfiguring TLS process of Druid +
Fig: Reconfiguring TLS process of Druid
+
+ +The Reconfiguring Druid TLS process consists of the following steps: + +1. At first, a user creates a `Druid` Custom Resource Object (CRO). + +2. `KubeDB` Provisioner operator watches the `Druid` CRO. + +3. When the operator finds a `Druid` CR, it creates required number of `PetSets` and related necessary stuff like secrets, services, etc. + +4. Then, in order to reconfigure the TLS configuration of the `Druid` database the user creates a `DruidOpsRequest` CR with desired information. + +5. `KubeDB` Ops-manager operator watches the `DruidOpsRequest` CR. + +6. When it finds a `DruidOpsRequest` CR, it pauses the `Druid` object which is referred from the `DruidOpsRequest`. So, the `KubeDB` Provisioner operator doesn't perform any operations on the `Druid` object during the reconfiguring TLS process. + +7. Then the `KubeDB` Ops-manager operator will add, remove, update or rotate TLS configuration based on the Ops Request yaml. + +8. Then the `KubeDB` Ops-manager operator will restart all the Pods of the database so that they restart with the new TLS configuration defined in the `DruidOpsRequest` CR. + +9. After the successful reconfiguring of the `Druid` TLS, the `KubeDB` Ops-manager operator resumes the `Druid` object so that the `KubeDB` Provisioner operator resumes its usual operations. + +In the next docs, we are going to show a step by step guide on reconfiguring TLS configuration of a Druid database using `DruidOpsRequest` CRD. \ No newline at end of file diff --git a/docs/guides/druid/reconfigure-tls/yamls/deep-storage-config.yaml b/docs/guides/druid/reconfigure-tls/yamls/deep-storage-config.yaml new file mode 100644 index 0000000000..3612595828 --- /dev/null +++ b/docs/guides/druid/reconfigure-tls/yamls/deep-storage-config.yaml @@ -0,0 +1,16 @@ +apiVersion: v1 +kind: Secret +metadata: + name: deep-storage-config + namespace: demo +stringData: + druid.storage.type: "s3" + druid.storage.bucket: "druid" + druid.storage.baseKey: "druid/segments" + druid.s3.accessKey: "minio" + druid.s3.secretKey: "minio123" + druid.s3.protocol: "http" + druid.s3.enablePathStyleAccess: "true" + druid.s3.endpoint.signingRegion: "us-east-1" + druid.s3.endpoint.url: "http://myminio-hl.demo.svc.cluster.local:9000/" + diff --git a/docs/guides/druid/reconfigure-tls/yamls/drops-add-tls.yaml b/docs/guides/druid/reconfigure-tls/yamls/drops-add-tls.yaml new file mode 100644 index 0000000000..dd3654967b --- /dev/null +++ b/docs/guides/druid/reconfigure-tls/yamls/drops-add-tls.yaml @@ -0,0 +1,23 @@ +apiVersion: ops.kubedb.com/v1alpha1 +kind: DruidOpsRequest +metadata: + name: drops-add-tls + namespace: demo +spec: + type: ReconfigureTLS + databaseRef: + name: druid-cluster + tls: + issuerRef: + name: druid-ca-issuer + kind: Issuer + apiGroup: "cert-manager.io" + certificates: + - alias: client + subject: + organizations: + - druid + organizationalUnits: + - client + timeout: 5m + apply: IfReady diff --git a/docs/guides/druid/reconfigure-tls/yamls/drops-remove.yaml b/docs/guides/druid/reconfigure-tls/yamls/drops-remove.yaml new file mode 100644 index 0000000000..af42b8d00d --- /dev/null +++ b/docs/guides/druid/reconfigure-tls/yamls/drops-remove.yaml @@ -0,0 +1,11 @@ +apiVersion: ops.kubedb.com/v1alpha1 +kind: DruidOpsRequest +metadata: + name: drops-remove + namespace: demo +spec: + type: ReconfigureTLS + databaseRef: + name: druid-cluster + tls: + remove: true diff --git a/docs/guides/druid/reconfigure-tls/yamls/drops-rotate.yaml b/docs/guides/druid/reconfigure-tls/yamls/drops-rotate.yaml new file mode 100644 index 0000000000..f0be918f6f --- /dev/null +++ b/docs/guides/druid/reconfigure-tls/yamls/drops-rotate.yaml @@ -0,0 +1,11 @@ +apiVersion: ops.kubedb.com/v1alpha1 +kind: DruidOpsRequest +metadata: + name: druid-recon-tls-rotate + namespace: demo +spec: + type: ReconfigureTLS + databaseRef: + name: druid-cluster + tls: + rotateCertificates: true diff --git a/docs/guides/druid/reconfigure-tls/yamls/druid-ca-issuer.yaml b/docs/guides/druid/reconfigure-tls/yamls/druid-ca-issuer.yaml new file mode 100644 index 0000000000..d6298c972c --- /dev/null +++ b/docs/guides/druid/reconfigure-tls/yamls/druid-ca-issuer.yaml @@ -0,0 +1,8 @@ +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: druid-ca-issuer + namespace: demo +spec: + ca: + secretName: druid-ca diff --git a/docs/guides/druid/reconfigure-tls/yamls/druid-cluster.yaml b/docs/guides/druid/reconfigure-tls/yamls/druid-cluster.yaml new file mode 100644 index 0000000000..6351c2ddda --- /dev/null +++ b/docs/guides/druid/reconfigure-tls/yamls/druid-cluster.yaml @@ -0,0 +1,16 @@ +apiVersion: kubedb.com/v1alpha2 +kind: Druid +metadata: + name: druid-cluster + namespace: demo +spec: + version: 28.0.1 + deepStorage: + type: s3 + configSecret: + name: deep-storage-config + topology: + routers: + replicas: 1 + deletionPolicy: Delete + diff --git a/docs/guides/druid/reconfigure-tls/yamls/druid-new-issuer.yaml b/docs/guides/druid/reconfigure-tls/yamls/druid-new-issuer.yaml new file mode 100644 index 0000000000..ede5d5177c --- /dev/null +++ b/docs/guides/druid/reconfigure-tls/yamls/druid-new-issuer.yaml @@ -0,0 +1,8 @@ +apiVersion: cert-manager.io/v1 +kind: Issuer +metadata: + name: dr-new-issuer + namespace: demo +spec: + ca: + secretName: druid-new-ca \ No newline at end of file diff --git a/docs/guides/druid/reconfigure-tls/yamls/druid-update-tls-issuer.yaml b/docs/guides/druid/reconfigure-tls/yamls/druid-update-tls-issuer.yaml new file mode 100644 index 0000000000..e876f4c3b8 --- /dev/null +++ b/docs/guides/druid/reconfigure-tls/yamls/druid-update-tls-issuer.yaml @@ -0,0 +1,14 @@ +apiVersion: ops.kubedb.com/v1alpha1 +kind: DruidOpsRequest +metadata: + name: drops-update-issuer + namespace: demo +spec: + type: ReconfigureTLS + databaseRef: + name: druid-cluster + tls: + issuerRef: + name: dr-new-issuer + kind: Issuer + apiGroup: "cert-manager.io" diff --git a/docs/guides/druid/tls/guide.md b/docs/guides/druid/tls/guide.md index 7beefcdf60..0997f37f4a 100644 --- a/docs/guides/druid/tls/guide.md +++ b/docs/guides/druid/tls/guide.md @@ -3,7 +3,7 @@ title: Druid Combined TLS/SSL Encryption menu: docs_{{ .version }}: identifier: guides-druid-tls-guide - name: Topology Cluster + name: Guide parent: guides-druid-tls weight: 30 menu_name: docs_{{ .version }} @@ -219,7 +219,7 @@ tls.key: 1708 bytes truststore.jks: 865 bytes ``` -Now, Lets exec into a druid broker pod and verify the configuration that the TLS is enabled. +Now, Lets exec into a druid coordinators pod and verify the configuration that the TLS is enabled. ```bash $ kubectl exec -it -n demo druid-cluster-tls-coordinators-0 -- bash @@ -245,10 +245,8 @@ We can see from the above output that, all the TLS related configuration is adde #### Verify TLS/SSL using Druid UI - To check follow the following steps: - Druid uses separate ports for TLS/SSL. While the plaintext port for `routers` node is `8888`. For TLS, it is `9088`. Hence, we will use that port to access the UI. First port-forward the port `9088` to local machine:

OARi)?=J8#vuzjj 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