From 8a7f4c5fd0b350982422a10fa64e3e97b856f37f Mon Sep 17 00:00:00 2001
From: Luca Cattani <luca.cattani@eurac.edu>
Date: Fri, 29 Sep 2017 10:04:28 +0200
Subject: [PATCH] copy of https://gitlab.scientificnet.org/kube/helm @ 724824ff

---
 kubernetes/helm/dspace/.gitignore             |   2 +
 kubernetes/helm/dspace/.helmignore            |  21 +++
 kubernetes/helm/dspace/Chart.yaml             |   4 +
 kubernetes/helm/dspace/README.md              |  79 +++++++++++
 .../helm/dspace/charts/postgresql/Chart.yaml  |  18 +++
 .../helm/dspace/charts/postgresql/README.md   | 132 ++++++++++++++++++
 .../charts/postgresql/templates/NOTES.txt     |  35 +++++
 .../charts/postgresql/templates/_helpers.tpl  |  27 ++++
 .../postgresql/templates/deployment.yaml      | 114 +++++++++++++++
 .../postgresql/templates/networkpolicy.yaml   |  28 ++++
 .../charts/postgresql/templates/pvc.yaml      |  23 +++
 .../charts/postgresql/templates/secrets.yaml  |  19 +++
 .../charts/postgresql/templates/svc.yaml      |  26 ++++
 .../helm/dspace/charts/postgresql/values.yaml |  91 ++++++++++++
 kubernetes/helm/dspace/dspace.png             | Bin 0 -> 80292 bytes
 kubernetes/helm/dspace/requirements.yaml      |   4 +
 .../helm/dspace/templates/apache-certs.yaml   |  14 ++
 ...rvices.kubernetes.eurac.commul.dspace.yaml |   7 +
 .../dspace/templates/dockerconfigjson.yaml    |   9 ++
 .../dspace/templates/dspace-deployment.yaml   |  77 ++++++++++
 .../helm/dspace/templates/dspace-service.yaml |  19 +++
 .../dspace/templates/postgres-service.yaml    |  20 +++
 kubernetes/helm/dspace/templates/rbd.yaml     |   8 ++
 kubernetes/helm/dspace/templates/secrets.yaml |   7 +
 .../templates/webserver-deployment.yaml       |  44 ++++++
 kubernetes/helm/dspace/values.yaml            |  51 +++++++
 26 files changed, 879 insertions(+)
 create mode 100644 kubernetes/helm/dspace/.gitignore
 create mode 100644 kubernetes/helm/dspace/.helmignore
 create mode 100644 kubernetes/helm/dspace/Chart.yaml
 create mode 100644 kubernetes/helm/dspace/README.md
 create mode 100755 kubernetes/helm/dspace/charts/postgresql/Chart.yaml
 create mode 100755 kubernetes/helm/dspace/charts/postgresql/README.md
 create mode 100755 kubernetes/helm/dspace/charts/postgresql/templates/NOTES.txt
 create mode 100755 kubernetes/helm/dspace/charts/postgresql/templates/_helpers.tpl
 create mode 100755 kubernetes/helm/dspace/charts/postgresql/templates/deployment.yaml
 create mode 100755 kubernetes/helm/dspace/charts/postgresql/templates/networkpolicy.yaml
 create mode 100755 kubernetes/helm/dspace/charts/postgresql/templates/pvc.yaml
 create mode 100755 kubernetes/helm/dspace/charts/postgresql/templates/secrets.yaml
 create mode 100755 kubernetes/helm/dspace/charts/postgresql/templates/svc.yaml
 create mode 100755 kubernetes/helm/dspace/charts/postgresql/values.yaml
 create mode 100644 kubernetes/helm/dspace/dspace.png
 create mode 100644 kubernetes/helm/dspace/requirements.yaml
 create mode 100644 kubernetes/helm/dspace/templates/apache-certs.yaml
 create mode 100644 kubernetes/helm/dspace/templates/client.fs.services.kubernetes.eurac.commul.dspace.yaml
 create mode 100644 kubernetes/helm/dspace/templates/dockerconfigjson.yaml
 create mode 100644 kubernetes/helm/dspace/templates/dspace-deployment.yaml
 create mode 100644 kubernetes/helm/dspace/templates/dspace-service.yaml
 create mode 100644 kubernetes/helm/dspace/templates/postgres-service.yaml
 create mode 100644 kubernetes/helm/dspace/templates/rbd.yaml
 create mode 100644 kubernetes/helm/dspace/templates/secrets.yaml
 create mode 100644 kubernetes/helm/dspace/templates/webserver-deployment.yaml
 create mode 100644 kubernetes/helm/dspace/values.yaml

diff --git a/kubernetes/helm/dspace/.gitignore b/kubernetes/helm/dspace/.gitignore
new file mode 100644
index 0000000..8f2ea6b
--- /dev/null
+++ b/kubernetes/helm/dspace/.gitignore
@@ -0,0 +1,2 @@
+config.yaml
+.DS_Store
diff --git a/kubernetes/helm/dspace/.helmignore b/kubernetes/helm/dspace/.helmignore
new file mode 100644
index 0000000..f0c1319
--- /dev/null
+++ b/kubernetes/helm/dspace/.helmignore
@@ -0,0 +1,21 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
diff --git a/kubernetes/helm/dspace/Chart.yaml b/kubernetes/helm/dspace/Chart.yaml
new file mode 100644
index 0000000..f4bc22a
--- /dev/null
+++ b/kubernetes/helm/dspace/Chart.yaml
@@ -0,0 +1,4 @@
+apiVersion: v1
+description: A Helm chart for Kubernetes
+name: dspace
+version: 0.1.0
diff --git a/kubernetes/helm/dspace/README.md b/kubernetes/helm/dspace/README.md
new file mode 100644
index 0000000..2ba3894
--- /dev/null
+++ b/kubernetes/helm/dspace/README.md
@@ -0,0 +1,79 @@
+# Design Document
+
+![Schema](dspace.png?raw=true)
+## PostgreSQL
+PostgreSQL is deployed using official [helm](https://github.com/kubernetes/charts/tree/master/stable/postgresql "helm").
+Additional env variables are added :
+- dspaceuser
+- dspacepassword
+- dspacedbname
+- dspaceutilsdbname
+
+Other changes:
+- added adapt_utilities_sql.sh  to Dockerfile.
+- modified commul-customization/init-dspace-dbs.sh to add env params 
+
+### Kubertes cli
+How to show **pv** (persistent volume), **pvc** (persistsne volume claim), **po** (pod)
+```bash
+$ kubectl -n dspace get pv,pvc,po -o wide
+NAME                                          CAPACITY   ACCESSMODES   RECLAIMPOLICY   STATUS    CLAIM                             STORAGECLASS   REASON    AGE
+pv/pvc-e38405df-97b4-11e7-ba35-b60483de6a40   8Gi        RWO           Delete          Bound     dspace/dspace-postgresql          auto                     7d
+
+NAME                    STATUS    VOLUME                                     CAPACITY   ACCESSMODES   STORAGECLASS   AGE
+pvc/dspace-postgresql   Bound     pvc-e38405df-97b4-11e7-ba35-b60483de6a40   8Gi        RWO           auto           7d
+
+NAME                                    READY     STATUS    RESTARTS   AGE       IP            NODE
+po/dspace-postgresql-4284405808-xfx5w   1/1       Running   0          6d        10.12.36.39   10.7.2.234
+
+
+```
+## Tomcat
+configured two cephfs mount points, so container can scale
+- /opt/lindat-dspace
+- /opt/repository
+
+Other notes:
+- installation is done manually [1]
+- tomcat is started manually [2]
+
+```bash
+$ kubectl -n dspace get po
+NAME                                 READY     STATUS    RESTARTS   AGE
+dspace-977584178-m9wsv               1/1       Running   16         16h
+dspace-postgresql-4284405808-xfx5w   1/1       Running   0          1d
+```
+### Kubertes cli
+#### How to enable port forward
+```bash
+$ kubectl -n dspace port-forward dspace-977584178-m9wsv 8080:8080
+Forwarding from 127.0.0.1:8080 -> 8080
+Forwarding from [::1]:8080 -> 8080
+Handling connection for 8080
+Handling connection for 8080
+```
+now you can connect to http://localhost:8080/repository/xmlui/
+
+#### How to connect into pod
+```bash
+$ kubectl -n dspace exec -it dspace-977584178-m9wsv bash
+```
+
+## Web Server
+- Substitute Apache for Ngnix.
+- added env variable SHIB_HOSTNAME (pod's hostname is a pretty different concept)
+- Web server's certificates are injected via secrets
+- Shibboleth config pushed into container [4] 
+
+```bash
+docker run -it -p 80:80 -p 443:443 -e SHIB_HOSTNAME="lindat-dev.eurac.edu" gitlab.scientificnet.org:4567/kube/kubernetes/dspace/apache:0.1 
+```
+
+# To Do
+- [1] [PostgreSQL] we need/should automatize with a entrypoint..sh script
+   psudo-code:
+     if exist /path/file/installed, do nothing
+     else, install!
+- [2] [Tomcat] write a entrypoint.sh to start tomcat
+- [3] [Tomcat] use env variables in /opt/repository/sources/dspace/dspace/target/dspace-installer/config/dspace.cfg file
+- [4] [Web Server] - use config map to supply Shibboleth config
diff --git a/kubernetes/helm/dspace/charts/postgresql/Chart.yaml b/kubernetes/helm/dspace/charts/postgresql/Chart.yaml
new file mode 100755
index 0000000..f799347
--- /dev/null
+++ b/kubernetes/helm/dspace/charts/postgresql/Chart.yaml
@@ -0,0 +1,18 @@
+description: Object-relational database management system (ORDBMS) with an emphasis
+  on extensibility and on standards-compliance.
+engine: gotpl
+home: https://www.postgresql.org/
+icon: https://www.postgresql.org/media/img/about/press/elephant.png
+keywords:
+- postgresql
+- postgres
+- database
+- sql
+maintainers:
+- name: swordbeta
+- name: databus23
+name: postgresql
+sources:
+- https://github.com/kubernetes/charts
+- https://github.com/docker-library/postgres
+version: 0.8.1
diff --git a/kubernetes/helm/dspace/charts/postgresql/README.md b/kubernetes/helm/dspace/charts/postgresql/README.md
new file mode 100755
index 0000000..e213b2e
--- /dev/null
+++ b/kubernetes/helm/dspace/charts/postgresql/README.md
@@ -0,0 +1,132 @@
+# PostgreSQL
+
+[PostgreSQL](https://postgresql.org) is a powerful, open source object-relational database system. It has more than 15 years of active development and a proven architecture that has earned it a strong reputation for reliability, data integrity, and correctness.
+
+## TL;DR;
+
+```bash
+$ helm install stable/postgresql
+```
+
+## Introduction
+
+This chart bootstraps a [PostgreSQL](https://github.com/docker-library/postgres) deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
+
+## Prerequisites
+
+- Kubernetes 1.4+ with Beta APIs enabled
+- PV provisioner support in the underlying infrastructure (Only when persisting data)
+
+## Installing the Chart
+
+To install the chart with the release name `my-release`:
+
+```bash
+$ helm install --name my-release stable/postgresql
+```
+
+The command deploys PostgreSQL on the Kubernetes cluster in the default configuration. The [configuration](#configuration) section lists the parameters that can be configured during installation.
+
+> **Tip**: List all releases using `helm list`
+
+## Uninstalling the Chart
+
+To uninstall/delete the `my-release` deployment:
+
+```bash
+$ helm delete my-release
+```
+
+The command removes all the Kubernetes components associated with the chart and deletes the release.
+
+## Configuration
+
+The following tables lists the configurable parameters of the PostgresSQL chart and their default values.
+
+| Parameter                  | Description                                     | Default                                                    |
+| -----------------------    | ---------------------------------------------   | ---------------------------------------------------------- |
+| `image`                    | `postgres` image repository                     | `postgres`                                                 |
+| `imageTag`                 | `postgres` image tag                            | `9.6.2`                                                    |
+| `imagePullPolicy`          | Image pull policy                               | `Always` if `imageTag` is `latest`, else `IfNotPresent`    |
+| `postgresUser`             | Username of new user to create.                 | `postgres`                                                 |
+| `postgresPassword`         | Password for the new user.                      | random 10 characters                                       |
+| `postgresDatabase`         | Name for new database to create.                | `postgres`                                                 |
+| `postgresInitdbArgs`       | Initdb Arguments                                | `nil`                                                      |
+| `persistence.enabled`      | Use a PVC to persist data                       | `true`                                                     |
+| `persistence.existingClaim`| Provide an existing PersistentVolumeClaim       | `nil`                                                      |
+| `persistence.storageClass` | Storage class of backing PVC                    | `nil` (uses alpha storage class annotation)                |
+| `persistence.accessMode`   | Use volume as ReadOnly or ReadWrite             | `ReadWriteOnce`                                            |
+| `persistence.size`         | Size of data volume                             | `8Gi`                                                      |
+| `persistence.subPath`      | Subdirectory of the volume to mount at          | `postgresql-db`                                            |
+| `resources`                | CPU/Memory resource requests/limits             | Memory: `256Mi`, CPU: `100m`                               |
+| `metrics.enabled`          | Start a side-car prometheus exporter            | `false`                                                    |
+| `metrics.image`            | Exporter image                                  | `wrouesnel/postgres_exporter`                              |
+| `metrics.imageTag`         | Exporter image                                  | `v0.1.1`                                                   |
+| `metrics.imagePullPolicy`  | Exporter image pull policy                      | `IfNotPresent`                                             |
+| `metrics.resources`        | Exporter resource requests/limit                | Memory: `256Mi`, CPU: `100m`                               |
+| `metrics.customMetrics`    | Additional custom metrics                       | `nil`                                                      |
+| `service.externalIPs`      | External IPs to listen on                       | `[]`                                                       |
+| `service.port`             | TCP port                                        | `5432`                                                     |
+| `service.type`             | k8s service type exposing ports, e.g. `NodePort`| `ClusterIP`                                                |
+| `networkPolicy.enabled`    | Enable NetworkPolicy                            | `false`                                                    |
+| `networkPolicy.allowExternal` | Don't require client label for connections   | `true`                                                     |
+
+The above parameters map to the env variables defined in [postgres](http://github.com/docker-library/postgres). For more information please refer to the [postgres](http://github.com/docker-library/postgres) image documentation.
+
+Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`. For example,
+
+```bash
+$ helm install --name my-release \
+  --set postgresUser=my-user,postgresPassword=secretpassword,postgresDatabase=my-database \
+    stable/postgresql
+```
+
+The above command creates a PostgresSQL user named `root` with password `secretpassword`. Additionally it creates a database named `my-database`.
+
+Alternatively, a YAML file that specifies the values for the parameters can be provided while installing the chart. For example,
+
+```bash
+$ helm install --name my-release -f values.yaml stable/postgresql
+```
+
+> **Tip**: You can use the default [values.yaml](values.yaml)
+
+## Persistence
+
+The [postgres](https://github.com/docker-library/postgres) image stores the PostgreSQL data and configurations at the `/var/lib/postgresql/data/pgdata` path of the container.
+
+The chart mounts a [Persistent Volume](http://kubernetes.io/docs/user-guide/persistent-volumes/) volume at this location. The volume is created using dynamic volume provisioning. If the PersistentVolumeClaim should not be managed by the chart, define `persistence.existingClaim`.
+
+### Existing PersistentVolumeClaims
+
+1. Create the PersistentVolume
+1. Create the PersistentVolumeClaim
+1. Install the chart
+```bash
+$ helm install --set persistence.existingClaim=PVC_NAME postgresql
+```
+
+The volume defaults to mount at a subdirectory of the volume instead of the volume root to avoid the volume's hidden directories from interfering with `initdb`.  If you are upgrading this chart from before version `0.4.0`, set `persistence.subPath` to `""`.
+
+## Metrics
+The chart optionally can start a metrics exporter for [prometheus](https://prometheus.io). The metrics endpoint (port 9187) is not exposed and it is expected that the metrics are collected from inside the k8s cluster using something similar as the described in the [example Prometheus scrape configuration](https://github.com/prometheus/prometheus/blob/master/documentation/examples/prometheus-kubernetes.yml).
+
+The exporter allows to create custom metrics from additional SQL queries. See the Chart's `values.yaml` for an example and consult the [exporters documentation](https://github.com/wrouesnel/postgres_exporter#adding-new-metrics-via-a-config-file) for more details.
+
+## NetworkPolicy
+
+To enable network policy for PostgreSQL,
+install [a networking plugin that implements the Kubernetes
+NetworkPolicy spec](https://kubernetes.io/docs/tasks/administer-cluster/declare-network-policy#before-you-begin),
+and set `networkPolicy.enabled` to `true`.
+
+For Kubernetes v1.5 & v1.6, you must also turn on NetworkPolicy by setting
+the DefaultDeny namespace annotation. Note: this will enforce policy for _all_ pods in the namespace:
+
+    kubectl annotate namespace default "net.beta.kubernetes.io/network-policy={\"ingress\":{\"isolation\":\"DefaultDeny\"}}"
+
+With NetworkPolicy enabled, traffic will be limited to just port 5432.
+
+For more precise policy, set `networkPolicy.allowExternal=false`. This will
+only allow pods with the generated client label to connect to PostgreSQL.
+This label will be displayed in the output of a successful install.
diff --git a/kubernetes/helm/dspace/charts/postgresql/templates/NOTES.txt b/kubernetes/helm/dspace/charts/postgresql/templates/NOTES.txt
new file mode 100755
index 0000000..cb511f3
--- /dev/null
+++ b/kubernetes/helm/dspace/charts/postgresql/templates/NOTES.txt
@@ -0,0 +1,35 @@
+PostgreSQL can be accessed via port 5432 on the following DNS name from within your cluster:
+{{ template "postgresql.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local
+
+To get your user password run:
+
+    PGPASSWORD=$(kubectl get secret --namespace {{ .Release.Namespace }} {{ template "postgresql.fullname" . }} -o jsonpath="{.data.postgres-password}" | base64 --decode; echo)
+
+To connect to your database run the following command (using the env variable from above):
+
+   kubectl run {{ template "postgresql.fullname" . }}-client --rm --tty -i --image postgres \
+   --env "PGPASSWORD=$PGPASSWORD" \{{- if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
+   --labels="{{ template "postgresql.fullname" . }}-client=true" \{{- end }}
+   --command -- psql -U {{ default "postgres" .Values.postgresUser }} \
+   -h {{ template "postgresql.fullname" . }} {{ default "postgres" .Values.postgresDatabase }}
+
+{{ if and (.Values.networkPolicy.enabled) (not .Values.networkPolicy.allowExternal) }}
+Note: Since NetworkPolicy is enabled, only pods with label
+{{ template "postgresql.fullname" . }}-client=true"
+will be able to connect to this PostgreSQL cluster.
+{{- end }}
+
+To connect to your database directly from outside the K8s cluster:
+   {{- if contains "NodePort" .Values.service.type }}
+     PGHOST=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath='{.items[0].status.addresses[0].address}')
+     PGPORT=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ template "postgresql.fullname" . }} -o jsonpath='{.spec.ports[0].nodePort}')
+
+   {{- else if contains "ClusterIP" .Values.service.type }}
+     PGHOST=127.0.0.1
+     PGPORT={{ default "5432" .Values.service.port }}
+
+     # Execute the following commands to route the connection:
+     export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app={{ template "postgresql.fullname" . }}" -o jsonpath="{.items[0].metadata.name}")
+     kubectl port-forward $POD_NAME {{ default "5432" .Values.service.port }}:{{ default "5432" .Values.service.port }}
+
+   {{- end }}
diff --git a/kubernetes/helm/dspace/charts/postgresql/templates/_helpers.tpl b/kubernetes/helm/dspace/charts/postgresql/templates/_helpers.tpl
new file mode 100755
index 0000000..b652839
--- /dev/null
+++ b/kubernetes/helm/dspace/charts/postgresql/templates/_helpers.tpl
@@ -0,0 +1,27 @@
+{{/* vim: set filetype=mustache: */}}
+{{/*
+Expand the name of the chart.
+*/}}
+{{- define "postgresql.name" -}}
+{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Create a default fully qualified app name.
+We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
+*/}}
+{{- define "postgresql.fullname" -}}
+{{- $name := default .Chart.Name .Values.nameOverride -}}
+{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" -}}
+{{- end -}}
+
+{{/*
+Return the appropriate apiVersion for networkpolicy.
+*/}}
+{{- define "postgresql.networkPolicy.apiVersion" -}}
+{{- if and (ge .Capabilities.KubeVersion.Minor "4") (le .Capabilities.KubeVersion.Minor "6") -}}
+"extensions/v1beta1"
+{{- else if ge .Capabilities.KubeVersion.Minor "7" -}}
+"networking.k8s.io/v1"
+{{- end -}}
+{{- end -}}
diff --git a/kubernetes/helm/dspace/charts/postgresql/templates/deployment.yaml b/kubernetes/helm/dspace/charts/postgresql/templates/deployment.yaml
new file mode 100755
index 0000000..743679e
--- /dev/null
+++ b/kubernetes/helm/dspace/charts/postgresql/templates/deployment.yaml
@@ -0,0 +1,114 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: {{ template "postgresql.fullname" . }}
+  labels:
+    app: {{ template "postgresql.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+spec:
+  template:
+    metadata:
+      labels:
+        app: {{ template "postgresql.fullname" . }}
+    spec:
+      imagePullSecrets:
+      - name: gitlab-scientificnet-org-registry
+      containers:
+      - name: {{ template "postgresql.fullname" . }}
+        image: "{{ .Values.image }}:{{ .Values.imageTag }}"
+        imagePullPolicy: {{ default "" .Values.imagePullPolicy | quote }}
+        env:
+        - name: POSTGRES_USER
+          value: {{ default "postgres" .Values.postgresUser | quote }}
+          # Required for pg_isready in the health probes.
+        - name: PGUSER
+          value: {{ default "postgres" .Values.postgresUser | quote }}
+        - name: POSTGRES_DB
+          value: {{ default "" .Values.postgresDatabase | quote }}
+        - name: POSTGRES_INITDB_ARGS
+          value: {{ default "" .Values.postgresInitdbArgs | quote }}
+        - name: dspaceuser
+          value: {{ default "" .Values.global.dspace.user | quote }}
+        - name: dspacepassword
+          valueFrom:
+            secretKeyRef:
+              name: dspace-secrets
+              key: dspace.password
+        - name: dspacedbname
+          value: {{ default "" .Values.global.dspace.dbname | quote }}
+        - name: dspaceutilsdbname
+          value: {{ default "" .Values.global.dspaceutils.dbname  | quote }}
+        - name: PGDATA
+          value: /var/lib/postgresql/data/pgdata
+        - name: POSTGRES_PASSWORD
+          valueFrom:
+            secretKeyRef:
+              name: {{ template "postgresql.fullname" . }}
+              key: postgres-password
+        - name: POD_IP
+          valueFrom: { fieldRef: { fieldPath: status.podIP } }
+        ports:
+        - name: postgresql
+          containerPort: 5432
+        livenessProbe:
+          exec:
+            command:
+            - sh
+            - -c
+            - exec pg_isready --host $POD_IP
+          initialDelaySeconds: 60
+          timeoutSeconds: 5
+          failureThreshold: 6
+        readinessProbe:
+          exec:
+            command:
+            - sh
+            - -c
+            - exec pg_isready --host $POD_IP
+          initialDelaySeconds: 5
+          timeoutSeconds: 3
+          periodSeconds: 5
+        resources:
+{{ toYaml .Values.resources | indent 10 }}
+        volumeMounts:
+        - name: data
+          mountPath: /var/lib/postgresql/data/pgdata
+          subPath: {{ .Values.persistence.subPath }}
+{{- if .Values.metrics.enabled }}
+      - name: metrics
+        image: "{{ .Values.metrics.image }}:{{ .Values.metrics.imageTag }}"
+        imagePullPolicy: {{ default "" .Values.metrics.imagePullPolicy | quote }}
+        env:
+        - name: DATA_SOURCE_NAME
+          value: postgresql://postgres@127.0.0.1:5432?sslmode=disable
+        ports:
+        - name: metrics
+          containerPort: 9187
+        {{- if .Values.metrics.customMetrics }}
+        args: ["-extend.query-path", "/conf/custom-metrics.yaml"]
+        volumeMounts:
+          - name: custom-metrics
+            mountPath: /conf
+            readOnly: true
+        {{- end }}
+        resources:
+{{ toYaml .Values.metrics.resources | indent 10 }}
+{{- end }}
+      volumes:
+      - name: data
+      {{- if .Values.persistence.enabled }}
+        persistentVolumeClaim:
+          claimName: {{ .Values.persistence.existingClaim | default (include "postgresql.fullname" .) }}
+      {{- else }}
+        emptyDir: {}
+      {{- end }}
+      {{- if and .Values.metrics.enabled .Values.metrics.customMetrics }}
+      - name: custom-metrics
+        secret:
+          secretName: {{ template "postgresql.fullname" . }}
+          items:
+            - key: custom-metrics.yaml
+              path: custom-metrics.yaml
+      {{- end }}
diff --git a/kubernetes/helm/dspace/charts/postgresql/templates/networkpolicy.yaml b/kubernetes/helm/dspace/charts/postgresql/templates/networkpolicy.yaml
new file mode 100755
index 0000000..92f3b71
--- /dev/null
+++ b/kubernetes/helm/dspace/charts/postgresql/templates/networkpolicy.yaml
@@ -0,0 +1,28 @@
+{{- if .Values.networkPolicy.enabled }}
+kind: NetworkPolicy
+apiVersion: {{ template "postgresql.networkPolicy.apiVersion" . }}
+metadata:
+  name: "{{ template "postgresql.fullname" . }}"
+  labels:
+    app: {{ template "postgresql.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+spec:
+  podSelector:
+    matchLabels:
+      app: "{{ template "postgresql.fullname" . }}"
+  ingress:
+    # Allow inbound connections
+    - ports:
+      - port: 5432
+    {{- if not .Values.networkPolicy.allowExternal }}
+      from:
+      - podSelector:
+          matchLabels:
+            {{ template "postgresql.fullname" . }}-client: "true"
+    {{- end }}
+    # Allow prometheus scrapes
+    - ports:
+      - port: 9187
+{{- end }}
diff --git a/kubernetes/helm/dspace/charts/postgresql/templates/pvc.yaml b/kubernetes/helm/dspace/charts/postgresql/templates/pvc.yaml
new file mode 100755
index 0000000..12d8dc2
--- /dev/null
+++ b/kubernetes/helm/dspace/charts/postgresql/templates/pvc.yaml
@@ -0,0 +1,23 @@
+{{- if and .Values.persistence.enabled (not .Values.persistence.existingClaim) -}}
+kind: PersistentVolumeClaim
+apiVersion: v1
+metadata:
+  name: {{ template "postgresql.fullname" . }}
+  labels:
+    app: {{ template "postgresql.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+  annotations:
+  {{- if .Values.persistence.storageClass }}
+    volume.beta.kubernetes.io/storage-class: {{ .Values.persistence.storageClass | quote }}
+  {{- else }}
+    volume.alpha.kubernetes.io/storage-class: default
+  {{- end }}
+spec:
+  accessModes:
+    - {{ .Values.persistence.accessMode | quote }}
+  resources:
+    requests:
+      storage: {{ .Values.persistence.size | quote }}
+{{- end -}}
diff --git a/kubernetes/helm/dspace/charts/postgresql/templates/secrets.yaml b/kubernetes/helm/dspace/charts/postgresql/templates/secrets.yaml
new file mode 100755
index 0000000..6dd4c7d
--- /dev/null
+++ b/kubernetes/helm/dspace/charts/postgresql/templates/secrets.yaml
@@ -0,0 +1,19 @@
+apiVersion: v1
+kind: Secret
+metadata:
+  name: {{ template "postgresql.fullname" . }}
+  labels:
+    app: {{ template "postgresql.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+type: Opaque
+data:
+  {{ if .Values.postgresPassword }}
+  postgres-password:  {{ .Values.postgresPassword | b64enc | quote }}
+  {{ else }}
+  postgres-password: {{ randAlphaNum 10 | b64enc | quote }}
+  {{ end }}
+  {{- if .Values.metrics.customMetrics }}
+  custom-metrics.yaml: {{ toYaml .Values.metrics.customMetrics | b64enc | quote }}
+  {{- end }}
diff --git a/kubernetes/helm/dspace/charts/postgresql/templates/svc.yaml b/kubernetes/helm/dspace/charts/postgresql/templates/svc.yaml
new file mode 100755
index 0000000..6446db5
--- /dev/null
+++ b/kubernetes/helm/dspace/charts/postgresql/templates/svc.yaml
@@ -0,0 +1,26 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: {{ template "postgresql.fullname" . }}
+  labels:
+    app: {{ template "postgresql.fullname" . }}
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+{{- if .Values.metrics.enabled }}
+  annotations:
+    prometheus.io/scrape: "true"
+    prometheus.io/port: "9187"
+{{- end }}
+spec:
+  type: {{ .Values.service.type }}
+  ports:
+  - name: postgresql
+    port: {{ .Values.service.port }}
+    targetPort: postgresql
+{{- if .Values.service.externalIPs }}
+  externalIPs:
+{{ toYaml .Values.service.externalIPs | indent 4 }}
+{{- end }}
+  selector:
+    app: {{ template "postgresql.fullname" . }}
\ No newline at end of file
diff --git a/kubernetes/helm/dspace/charts/postgresql/values.yaml b/kubernetes/helm/dspace/charts/postgresql/values.yaml
new file mode 100755
index 0000000..c092fe4
--- /dev/null
+++ b/kubernetes/helm/dspace/charts/postgresql/values.yaml
@@ -0,0 +1,91 @@
+## postgres image repository
+image: "postgres"
+## postgres image version
+## ref: https://hub.docker.com/r/library/postgres/tags/
+##
+imageTag: "9.6.2"
+
+## Specify a imagePullPolicy
+## 'Always' if imageTag is 'latest', else set to 'IfNotPresent'
+## ref: http://kubernetes.io/docs/user-guide/images/#pre-pulling-images
+##
+# imagePullPolicy:
+
+## Create a database user
+## Default: postgres
+# postgresUser:
+## Default: random 10 character string
+# postgresPassword:
+
+## Create a database
+## Default: the postgres user
+# postgresDatabase:
+
+## Specify initdb arguments, e.g. --data-checksums
+## ref: https://github.com/docker-library/docs/blob/master/postgres/content.md#postgres_initdb_args
+## ref: https://www.postgresql.org/docs/current/static/app-initdb.html
+# postgresInitdbArgs:
+
+## Persist data to a persitent volume
+persistence:
+  enabled: true
+
+  ## A manually managed Persistent Volume and Claim
+  ## Requires persistence.enabled: true
+  ## If defined, PVC must be created manually before volume will be bound
+  # existingClaim:
+
+  ## If defined, volume.beta.kubernetes.io/storage-class: <storageClass>
+  ## Default: volume.alpha.kubernetes.io/storage-class: default
+  ##
+  # storageClass:
+  accessMode: ReadWriteOnce
+  size: 8Gi
+  subPath: "postgresql-db"
+
+metrics:
+  enabled: false
+  image: wrouesnel/postgres_exporter
+  imageTag: v0.1.1
+  imagePullPolicy: IfNotPresent
+  resources:
+    requests:
+      memory: 256Mi
+      cpu: 100m
+  ## Define additional custom metrics
+  ## ref: https://github.com/wrouesnel/postgres_exporter#adding-new-metrics-via-a-config-file
+  #customMetrics:
+  #  pg_database:
+  #    query: "SELECT d.datname AS name, CASE WHEN pg_catalog.has_database_privilege(d.datname, 'CONNECT') THEN pg_catalog.pg_database_size(d.datname) ELSE 0 END AS size FROM pg_catalog.pg_database d where datname not in ('template0', 'template1', 'postgres')"
+  #    metrics:
+  #      - name:
+  #          usage: "LABEL"
+  #          description: "Name of the database"
+  #      - size_bytes:
+  #          usage: "GAUGE"
+  #          description: "Size of the database in bytes"
+
+## Configure resource requests and limits
+## ref: http://kubernetes.io/docs/user-guide/compute-resources/
+##
+resources:
+  requests:
+    memory: 256Mi
+    cpu: 100m
+
+service:
+  type: ClusterIP
+  port: 5432
+  externalIPs: []
+
+networkPolicy:
+  ## Enable creation of NetworkPolicy resources.
+  ##
+  enabled: false
+
+  ## The Policy model to apply. When set to false, only pods with the correct
+  ## client label will have network access to the port PostgreSQL is listening
+  ## on. When true, PostgreSQL will accept connections from any source
+  ## (with the correct destination port).
+  ##
+  allowExternal: true
diff --git a/kubernetes/helm/dspace/dspace.png b/kubernetes/helm/dspace/dspace.png
new file mode 100644
index 0000000000000000000000000000000000000000..b0f02a4527bc702db500509184db473791bbbfb6
GIT binary patch
literal 80292
zcmdSBbx_q`_dg1V0wN&_2uMgb(j6j5mvoDCHwZ{8g0$qJ5$W#cP$J#kAYF$>`tF0z
z=lMRr@62=O&Yk<ub>8C)hxgfg?Y&pL)@!XzkfOW<#zVq~2nYxmQj%hC5fJV{5D<{O
zP#=I#c;B_>ARv$-NQu2t`JlIxjPl{BIMFYfP-ICmN~f1k#UrS(e>`(%Nk<i>bh@S`
z*S&u~I?yle=_a;23!*4SV*n+gyRy4dUOKWUQtp``Y^&pUCzb0|ZDV8Ytx$Nlj*ZJa
zWP!gPc4KQgZ~u-*1OXZTh-4rKT;b@kf6hF1ad!DwZ`RWA1qbJ?^d@(ujO9Y+v0Go*
zlg52lqNT-7oH*Ms3;at)Iu@A`rqpw{HhoUMt3gI=1Vn5EUn?BD&NVk4jJrV*kQt>H
z1LW7MK5mxA@aiOaetp{MSZ^`)-g~7RLecg8jZ!T=GP6#j{_@%O8H1o(Yy^8~<~7f1
z`9;18>mv#>1SIg}Vf%Ed+-DE*K|lphy!5;F9~mT`9_lPVMrteM<mHZ>>>Xq|PjsTo
znUEBod~;muTRp7ye|<P!{jg5AvT!`3^6xkus3J!1t^ST;79esjxxaRLC&Ob)jm|m$
zJ%pT_bL1sQ`!e#W*tPxPU>>YhR8(|7!|$hg+ughxu?S*W#^>K%?v{zjj`}Fs%dAO#
zUI*rEzFGe>WJFN~0m;%e`PloIacPCcf9vc?8vh0oT;xek#6a147hygu_;RLS>`xUe
zG#v3{@0v}diPpF_%??zKuvLg*Acd!N)Z0#ablkcP2jBJ)jWdd3B$gn;zeM(q00|os
zyYyA-)!lLRQeyuY;dKd>BI<Ht`~u1TUPFfLBB4{@d|r$aW%|gxLO+5zo#^h1amZwB
zyTiL19B@(0!kfpS`c0W5wN7JtJ%i+&XgoZW#iBT5oI!1P@E7)J5F)!$=`4`JSt4S0
zKJaBl_tqV0vX9YrbF6LX?AYWHe~Q!}R^Ri1{~b(L=_<$zzCbGY0-gBzFzyyeE~0Eq
zI>2*iHYnljHKf)vNLY#1tA{^y7T0p}HP;&d^smbOdF<1<@(YL4_ile_$zIxQ9#H9O
zsr{^?did<C-Bv<!wzStwzPs(?3qK(+i;qtuj!$QW`as44d|_#<U`GfY17i~IMVeFX
zzeI=6{Txli$l+5^-rpI@6c(jJiiBijEF-Q7?XpmjMNgCHIPyFy5y_A5d&1Qf(Sr&h
z(!4lD0t(+(5ks(7oNL&YoWF(+6d_2MUkZ&$T>kEO^b??k{n(svK@d>w$X;5v)skLq
z$11ET;^vhY16ite1S^Q)YEKD%c!mm>5dkTI%!d<_VCO$Z<jV<Bb44V)`}8Xilm1QM
z!@pvF01CeHYUp$utj?44JIdWRBZFA)UL{LI1H;{ofEa1+jGu-G|8-hC(8l+la{k(`
z4+<jX%@TYB5f{ywvls4n-vmP3`$q_b$XqmT4d`RZD??AxwEK5MM1UbgeR%Ff7V*JC
zG>Tho8(OpU?W}Oa|Ni%z|0#q<6nu!r#~M-pT?)&fUbhjN*hDsiV~MO&gYj19qr~d-
z{gm8Q>vSERS$5OfWD*j$w*^xsfwGpvU##Iew)h%>JPJ!<6zNXS(;|E-#nyW1es>T2
z*{tu+;_|+@;%q6Lc5Sk>a4U=p4tsdEHQm(m&cbxcm0owc0rp4B)YLS&avCGjoawOS
zP6@7np&uFsCH&ppr`RQG%c;3fnsPZ@FFu83ad~bvjG<3|#J2l2dZ@*M?|dBL8Xgvk
zqQuY8xb0!!sj>3F@~f;-+}K6nt4sJ0WR~CnG}%Sb{#rgRs)meF$1h>mufd_t>CAlf
zby?!i=e75P5$A3tQXSX2iJ@k?ldWvFO-EO&J^1p+)gR~2qjctGhu@P5I!rYg?-IGf
zu2z>e7IS(a{OS(B*LH2<81(7nN%3Pm@NQKS!nS@ZU)=W;st_))6BYGyv`>9Iu+3?K
z_j*BzpFDhr1^Z~xtG`t|n2N(<?UsyU$LYrRn*ZT1!O*^?<>dsmt-`VaiwX06+KjSa
z-^17V9j~g9Y8_Uk`<K>YwJ!P`2J#x!`PHC1v7!0FJ=dP~I-h%bxb_wnm-Zq>JylwE
zixWkbN%P-*QMx-EDR4M6a-;X}4kyAINvn&Qh}d~D-}3U!@UapO#Nf+7KmDHa;b*U3
zYAnh67CW7Yg6vyXaU|ER9oGUhS~oU_pOj+O6;elig}5zGS|T?(+hX1ulCDQVi}iY7
zqY{D_sejgjZ*=u2+t*`n^$I=&&E!{;XlYi&56GO`_Tcq?IQqicR!20Q>2f1rx!Ju|
z$S-LrE*0o?DwT~lr1ZrTqsM)v>(c7<n_Q1%{3)i{(BVdUBPT}Bv(pzd@_qe5kYHJ?
zj>)GT8Vfrrp^krbV)O+t2uxEA#J^t7&!=+Sh>%Oh`@-xEx#Qf|`&7R^4nfsT=FCS}
z?QTbT8Cr8gYAuCMwyh^CoW=IL3q3Y%gV*I4j($(F)Df1;SkE=APbLi;cXzm&sb!4R
zveVE%W7yu@JTZb5$E|;SKG@*-W|hxt)N!DFGnk@~)hx82i_)I=E9)t*A!E!jlymw)
z;$KV60zQ!=^ojIepQsV<!xSjn-MXa@b%52o-q63{k(~78HEGTA`y5OyoBT4X>m)yJ
z{s(luGm^soyyN=lqh-TwyP}cH&aj7T<ab+vL{4KJ8qXhNmScibYyLit>@?mBTL!)U
zNXN-Zf$QQ|jx@Ics(PjT?z7PmGSJi>==%dJ@7ffhR8NBG-%-AC(;Ruz3SQdMwp26D
zTP~~nzR5q=<u6Tla~V@eXQA6w6i&N|4#eWYjrOLU>c3rL7*(nJ?X(I%&!y@$`gTVD
zTz%Q`Ot3tn`6_{xOSkZ}858b2eSFS=pY1aZVE=m>j3Ui=VkYfNjprWDHmr(x-_R#^
zP>Xc4BP&P_m)hc=TN5_SNZ<t?Mk{+pP8AtWct))=3QMojJP6GxGuw+kJ+@6Ctmj`o
z`&of`xHwOI|I)>h-{(eNS=%*0Ki>0ti^`Rk7wg({?{KhIE}=SR+zNAZCev#&_5@>d
z;rM~W;`&0$#d7&x-;o<`V9)mE`SKUK7Nuj|l}OKX6tCf0e7UYM@7ErO8quac-pT1I
zSq?E<>)d-c*8cZrEgfQRzse>Q$=Wg-+e3aYJS1W7Xpk#<bpLPAC=f*;AEBQ#cnS{-
zHIHA;T8K6k&&)1ZHt44oJ`}`m50&L&=(egWXnNOcRv&J!k5$AB#qE_eI^E$n+Kz{1
zr~Js;oXAWa<D|IE4wG=hxUJA8<r^3*GFbk8b&gJ{R2!ihEc2YNq}=I`@7&nQg!{1T
z1-bG<3SQOAbMAV^Lf1?q*|(z9jTF(Wr@k!<R@S|yjz-HIaMLa!hR3Ym3>A06eWHF>
zxKkFOD2EFnus(Y%;P`eb)%)4l=dEaHD!*qd|DjOQ1)6gR+IYxLv3~6alUrg;K^1}2
z$MfNXHnmEA{RX?Lq*BBT<H)WXsjJtb&u!U0H!TnGf{7wQtoyp7dkhevh!fIr)!X>X
z8nv<>6Kb{-@gE9Z!_}>rsoGi4v0s6{jaQ<t)i^SJ<AxG@cfR%pwt1j;bp<?H;7Sp8
zWE;p7?swzk;oC4{TFw0(d7t`0sH6h+@vH1T4<ha}s9tZj(??i;pT~%n91%9;%WdO_
zQflSn`ezp?NMvM`hz2C`pN=v4?i?B93AVJ+bZdg_^-1tb0-7>D<L2neZ|!5)(YpL9
znw2&*Re)19g)slNgRP$YXfIitchy?8bNu+erN4INu9G@W`7U9F;Em-6&I|6sF2*%w
zHZ?ED=~igl5+qm@bJ$g#ImOjh^>&VBW1&Ngx{+$Gf`+d>0Y4>e%J_4gS|P8{J0fI}
zW-bt>rUOz3rQxU18R(;kRa8aBru_EpbFI<b$)oX51}ft(P7ik)XL{=2T^)*-C-fjG
zd-FdgA!oPM8(6_}W;i{+Y-toNlYIX2INut-Kbfw<awgz`gLc+{{*#XfXO8oSqgvf~
zL>%U)vDpeF_40(=Wra!68>yc}*G=&0br^?ULX@(b6;3&AkCvRLB}NG2k{?IXasO01
z>w3DSRoPMFBL`%gAqNmi`$p9A4kD%gOHQ;VuTyoyHv8rhR-ypUlR38wy`awMv-0EK
zI2N~|Svuq6>=wf5BDjzL8j4c2H(OP@v47+H_FGzSSeK(3qtyiK{^_o;?V6P;^ibq_
zMTBschCP4J?Ajx}NVTx-4LtM~C;;=h5E4QE>nF_kOz+T~j5mWR6YYia`_0gW@oSoO
zyfeCUQK%pY290kpwkOnXL#aI#Y+phNFOLG6^{#C?S5L&LcMW-$XM#*O>Zy*r-7H(H
zQ(ZH>q58%4$7K<M2FJE-Oyc9afs-3MJB-HYdR6Z_5`{wu#^)k1tV7xCJC;#vXIDty
zr~*BFi*oJY`M`_7eNC)F!D-Y$|Dv8zdNauu`drbl@9?~E<?v#}eeARiI%S;6q=U>y
z#&+L<x(<Mw2#^Kz77(N(|8;>6kt@jA`Zl+MHab6I8Sd5d^6+dpth*@W>Xq*qUW<vW
zjT&2MPM58GFsgCQV;+0K%iDFZ>q;-kq*^EIw{(uRw_xAsy6z%xq0O3#!*aOJLTPRN
zekU!rxwKT_2h(eTS;4oAb66P|=QQ;NNq>H+Fwz1$fFs8j!0ZVf9wgl1EfXB<t=&Li
zjtQIhp03M*V9%{IdiP=;9PbkIKJtU(U2Y`NAlbr#u9Y=nm1rg;P0E`twPZpbsT@ny
zdjdnqKuJQu>!UUPg93NT{0Xik0Do?aA&@`$eFsvlQUToDy~GxTyB>WY!zln;9+;7I
z1(rjs;7j~)EtBYfqkgAlJ;+w92jQ`9(-t!ky5nksUtIiw9L?S!Zm<&m)dr4N2;|C7
zY)ZT+BL4jPM@d9pfK22wf;}I6lQklJ6i19Bb;rL_NXcZqV5?lgsJIXJ#AV_L<m}p$
zb~y02%=~;5$)5yybFgL=%%c``Rn(ymBEVOnC<`WF6$NP>*f%u_ARg!OODj4cdMtUc
z`<<AA;D@c!04n(Fi~rg^Q)lque?|HLTai4qhGH7URsMIVe?sKjE<ApQsC75>LwK@)
z95@1>vH2_Vrv&EUoierOQd(>nk-1d1X-x2AjbH+^PPGO^!8b?b3G%1MkXNtxe(}Ke
zgRl873x|<4Ia)1{*S?6kxOm4O+9)cvJ<aFzgBlnVsot0=Qh=Bo2=-R|nEnD8B%3VA
zpWN+;x!A9?E<13maZmb>+V!3XdNoNeD(QUp=q!qo%X(Cxtoo8mR5#!6{J|W+Q6&gq
z=g~#PWA2m;2Qi&QM>rL?sj$g*69pE{d=)2s_3n)!a;t)FvHQ|iV}tU8am$?2EIR8j
z#fiMP&v;0I*dM_fmM@<P-X))jWdE7s%5gjkU6EhB8uJi8BZlJedPuez&oWfoe8z^1
zuVQV3N$KGVOTg3n7dkzov0JrqI5O(E(n)%*+|q@K_9N?BD=VkRhJS~*?h*V*MFG}&
z+MT@d2rNGNG4|eWXCSY{jQeUAXPM!M>)9lPWw)u`)$o0?C;f*|mes}m;XMO{yX<e0
z2dtIIl`H`y^zSB+KRtmYj~BbT|9+KzEq=J}Y`Ks#EMI?GMC|N!<m<>pD&UUC@Aj?{
z&(B4>#!^*LI9(geo&>zV15%I${JfeUB7gd5M=WseQyiRl^kc1ZfmbQ7M%@p$ruBz3
z@;Bv?B+;{E^P4}KA3t6N$N8^&PF*!fXN_@DtW@T4iA~=7-@*J58tV0;`|E5+ncBFw
zw_9@(g|H3*2Bmb_gPwVkq5;-NR*B7x5(9#%9Y5>i7*sd-WTg0O-yPW&)!xWsKC#l5
zt*=wF_7MAi0_2P(1B#E9m-7T}I3hkozP`}skL;XXwqT1J5#gDe4#(&@mvpL4<}gTA
zkQAL>Svqr}XWTL@#2nJLppa52B{Ray&&!``2fOtWiSU0-Snd0L_v@#dSCTUuLwvw+
zEJ5~L@xXcVUyK8uZ(5pvzaR9V8xLQbmyT9){n=9^?$%+oSwELMU*rmuWH$1<=$(m%
zBFu;71P}(mWxIQ1;rTp0T{PGe1jJo%!lNk)gXAE*A{42Hpo7oq;eJMa?~N%iCu9mA
z6!n(pU-wXD5GL|Uio}0`LD;|xLH2j7OO*@)h{@ah6|+sKi&~W|-Wk<o@6Ldo?0TX8
z)db)_e0)9w1J!!=G7kk2dk_z3hV}Wq!oQgXa0~xDiPT`;k-gWy!Mr<3K<vqL1d%hi
zO@l`y7z|pufm?wF|4|n1YY1tgkq|APG*?<!V>JtbS@OUusy{Id!I_XX#~_gC)Gmt|
zlf7d_s!?MKz{3Up(JT_USiD9*F1QK!m?Q5mTKwORa_3!KBteYDOb%oA_YnjZRACCs
zfWfEu&!-uJAVzJPmV*hGPKDB^nu5MHfbQQ*8v&}E(1DiuzgD70<70`NfdtgM2#$1O
z>W4JJS6WaPTU1|u`Oe>p(_Bga*ZKQ~fEV8D+->GAPP2dh?gb`OH49kTZqLF76Y8WO
z*wuPcB!qtp_09lj0p5d<EwF(Vz?&;;--uYk=l{>AISU-jbj9W12QV)`4G`N!2w~9k
zUvdwUgF%_x?^`3m59!})Xr4y4E7Y2~R|0H1jUK$BYTxz@9w+RmfU*?vC=sA)gaBm<
zP8a_PHc5*TWRl{=X>#xldq;>UP;<8v|8<nRH4?*ltk>BYJ!J0&;Mz2Gxxo*g;y)id
zpf6nnw0U=mjElCo8~C-v;Nd?DY~}##&$1W2JB0sPiSGp3qSntGpmQY*;02de8z(%V
zT`!S7*x~l3Z-kYAwLRR{a(V<<4GQqWGyFTT>*1<W-}Jg?HyEt!@{rpd9mxfbz4pE!
zAWWkBHhErFnS@;19<FpnB_}1(+f0_U2$Pey>hIk~(<wJ)c*AC@Vadt-t}a!j&~0jk
z6di7b6oJR5%L>Q9Z8T@0PJZs(8OaWZ`un%h1hR8+at&!<m!N{p4Spw{NtVWhbbWDB
zpEt5O@8s+}hC#sAo-P?lE}K2Vih?o&y-!I+ReH2OP;N1n_xKp)Xsxf_@%+$ufL#1*
zG{(b+(nGN{gM{!y#g6jXuwR?4b?lv(IE&#q`g8ER`n9O&+n>j@?)Q<pQ73PnWR>0g
zw!+3v5&8J>WBtMJU$$n`6}gU~gq)vXFjDWU7PTTB$m#OWV2)(@2|6C059Q6tRl(I1
zNS9c;_Yhy8Dkec*8u&dmo%etVzPO0iq}gHYM};Xk4YGk_WNO2$^z#`*JKh}0Ze@X9
z9SRvT#!DE!efxGYhCy9JODkb$Yj$o<GYE(3L%gB%ZeJ2_6!?XW*5&E$7f165E(YJu
z(JcKzdhC~!WGj^kb37TxH#S@QWfjEyLF`$}Z+Njkd<KU202wt<sySUB>J>!H=VX_w
zoQ)Yr((&t8c><?p84<V5v%-Oaf$-hg+9+OLUb?ETA-zkmC$>tnWY%hAEB^UhN*StT
zX@Nd=6M6F4jvEV5@2cfTzb-wp<du3b4P{q&GRzi#8(qR3DYQvq;6C+Wu|9Oh#>PgR
zS~h;MGe40<zsac5V(k4)wXLb1p5AbR{JEX8vvIy!;kPF3Y8zrlCl#C6xJJ`~l)2lR
zOIUb6ggyHS3m##fL=B2MMya^6hz||oQjsc^eZa)EAOlLSvBW-46t2lfEF=P88STw*
zFL4Z8fWFt#ny%fOtMBQut2tK09RGqz{5~ZmrFe{hkg$8LKe=aDj+(^-pIPS}IzBU{
z(oXfe7C%Ymmx^d`ONy5ep^ePt=-;n{nyw;M?kFDCiU;GBj*gD<1>-S^#vT<s_lNEJ
z0hg&;Ly%m-jdXBua7JMG`NL^q7O`rfR*blWgeff>xAk;8IR(WOQ2pBYRdd_pjUjV1
zG_-6#fB$?(^XK$;j-H<;jk15g0cyJT08B)LZMt*iCvv6_{CLnSL?pk*A5M25sZmiQ
zO7nByKMD6Ga2i_AR2loDV0mR;w6}|m*Ew5`*Sp$|S6ZqwXSq#hm^VPLPiIQO(SD89
zQ_rcU(0PCfpQ(fgG1ER^{aUcRKhOBfw1_=5J^j`s&^2<cq|!eh{192;$@ZrDad#M6
zZz8v?bt0EF5?jJ>-cy+mA9yT>zJI3VxQB$KkuLgqGS&O0>rL2mI#tiBKlZW0-d>p|
z!vpJ9#ol|fwd;<SNnG@PoudJygAcJgzxpUnY_)zySFf;|Dogyv({_Gi6AjgJxv};M
zw5QH54TZfTdkuFd&&bH0!M(+n*VTc<+S-~)WXcfXFJKQcL0&6{fA*J#XZn!tKeVgv
z8k(=JbzHwm@wiv0oeq+PadEV5vUf^I08l<P?Fc6wa9HimL?wi)<*p)JE!%lAI)Cv@
zdBI(JF>J{36`JCHDwlP_Pmj2S1o~a$&7GZI<DPE?gaxDXB?fI8c6KFZX956)mJ{Cl
zLxOA-57s~r`)g7)B^AW4euw0KP{KskdqFmR4}TW!@O)hNCr}89h<e_H68<dGYos@h
zq>8LH>cVl^9%mZQQ)N)Aw$UxRa+`j=zrIDN@&Gt|65zw`=?TDKkXlhD{?P~R1V_vd
zqwx}fR!!cB!*(J>baZqgGBSQ^%<E<&Kcu95f`ju+?$^oDQ50KO7%_kB$<9<1lXg`|
zp<ZJ`rR79eu=)Hc_El}o{g}I8piF4`VPPS(R*Z?i%(I<9=Q-IvDVQ?k0XBAs&+ww{
zBb3HQtKlDL{GJyT6`#>|h2MxC&DcU?KCQO+qfi}4+42B?{Zx6?nuUpJmmdo&oa`sY
zh}wP8M&cnnt%?W0IX{DI)Y-KzgT2fkk3Tx%e<Vj{am{}B(NB>dJm6ZLYwd|+k?Hc3
z6yxLJkyJLa9L;IzPZ4A=hBUezWkuU_(bIqB<>RC08kk8*Yau09K9GEUpDgVmBFN_N
zCYXyy87rfh!RP4Daqw*p`~V#0&m%f_qjhA)O6n-FA5f?;zw_2pM|*n%ewUrJzU)kE
z8QOC!7&oM07me`hv%6j8kqrJEej+%>ykVZU%NrZ3jT~bXa^;<1{Kg(|5WPG0ZJK0h
znn=?A(9*E35kuft8RQZ%9zBW{TaRZooE*-SnQHdEH#M58tO@nHt|?ivRv4^g6BVp+
zAmGVCMy`+&0ST>n(vqk5g!C*9N59$8SJ8Y95D1lzm__fsY8C)Pdz*~QC-Jmwjpfte
z(y0|Z%aAK-Y-rF(=5wC>Me5yqalF}PoL4aWAO##_ACUwtD2V~ICYFULpK|6}*v`~W
zP&Dy~zT6&|3)h|q2PyI+G+MdN2wbIZ=EV5;P5}XdALeDTLLa7H?^jo3D+&W7*NDA{
zYx-esp?tY0mbe{KAm9tz4FW?7x)FI+q9Zl<L0>RVKXDw%l6yN$YADg-cV834(^|VV
zYb;B)+8Xf_>42-}dh9=`GOH8Il_BK!kDkj*O44O61j3>E@H!{I{Bi4o^(TJ{8J#BH
zyt$|vF@-NGRaR^37~ZO$?^@Exk)(e=f?d{^_U9N&RI!*PDRHRTm0iP8jQ&E#x*v{W
z!pXohJgwKSkq)oUkKS|*#Zos^y@YS?BFpGgfi_=fkc?<I9Zz;YXYLpJeB?2kt5);}
zR_m}PiE}($nQwFLwQHM-KC!13=6On<-7m#`vwq_|fr|OR4g}T9{JTdi9Kq9-<=`V1
zh&6w+WIL%Bv*ldxOZ?@sJ55#C_G6%>rG=4^F=V?=b}H+whu;Hl;028J!{ePsGi+g7
zpPl&Ps=9K`Q<&w$a@FdR-i@~+r%+R__a^qN+M;|}DYV6Ps<$w3952wzv5av|QgZj^
z9xIKlqA*Kh#bxRCZDs(f%Sr}ERSo`7R)K);Z!zZ^=8XuaRW1IdPTvMD`-S(GQ=UWX
zZDP1>RT-66vfjnf)J38B3MzRg2~=#Il|)4Jli%c!jaGK^_tQ2)6Wt9or^C|hJ5(9~
zQFB+iBV$9HZ>hgnjrgY*VBuN*T)k_#`AC-3h@p8h^?ewKBBeir@lES&*z0#<fL|J5
zc5@ye;=3OFSlm!Mzdbzc8eA7^&^L`dz9%$wVXzZCGJ-O(ZMj>e(JUlpLai7xzaV!K
zm$^&UAHRhbU5<kEA<7&}?+xkhSD)cekFr|7%M~%G<TP{H%yvpg)3($(Z&UBaOo33P
zoc}UE>8%Iqjmc7#^wNOI^;+^TUd{qt|F04aN2^{oF>ji4#!v;^31LkJFoN54DV7^<
zTa9wmd`{$ma?0krHJeT?dZTMhV=jl}rik!*z!S~Cb0feOS=urfJ<s;$3~d_@0*+~t
z<$sy<Cv`R5Tv%?x;o2mS<e72&s{MWy&4w01`g|Djrc;=%;qV(a;+_`6N9mX|6eax2
z?+bgp1>*$_B{Qz8CfqO0OaD5KkOnOmqf5UIf=hzQ4LWtO-8%N)*|1B55HmGzLr%zq
zg!FJCnwpxd+5;aK$S3plj*LVJdfy~bQBkq7u&@**uit5QbZ5iGSx+_4ry?B`9Qtxz
zBuvb%d}LW9%F)U^06dzYmQ*%qgr-(|Bz_Mp{ei`DUHPcN*|b=lD7TX>)hf3m6E2q>
zjod~-_v3e-7smzw51RD%_s?FCske^+N2;HLGGU8%U6-YsL0^5i=HS-i`7&K}=EdSp
zO?^nUznO>WL+8T7Kz4Wp!mxp359CnxDo2=z3@1D*Qr;6W6cOP?Bxw=OSNjwYP?jkZ
zCvD3~BbU$)kSNvCRF$>1TEmBf0(tIB50X=4T?UF?e+Ic2PmZJg-z|vF*$_byJ3mEa
zlj7iw%brE|pP#m#8n)`>ui&TH2mHF8i!S{h0FR_}ACw*->-`(<ED~IWrl(iNam;Q0
z4i`4Dx3{<Ijc2u5YW-ZGQ|rLU$Cm(*seNX58;PH=dYs0OGJBbDmd)WZ`YNVURNa|e
zr@nq=D(J5292-G<!52jG5mXP7Ggsx=ya3{M0%ZYTwo`arMNc5qYZ?PF6OBL?vC_B)
z5B%#O<S-+nx(NyjGEmJ^iM-i`!EB{*O=6Y|uv!)vSJdbpMVjO8B(T%xbdEkZrNUSy
zF#RyQAh#Jz=z?u3dw|?Mi4LNx#{tKMIXCi$2i~vEut<fBl$4YhX=wv>8$KvqTx6$u
zy)V?Ne4i;Dv)mt_E%<7p8}-Cx<zIaU&7NfGqKV|#W$Uu(N^|)bCAn{AG!5O_2~y6^
zdiV1IW+O98DlH!h-8%$ctSgvu3lT9C8}2?exXs)dcY~#DnKmb;0Wv6)j-l72T*9jK
ztrmRcFD#bzrih=zp8`?h*K6a4JkQrOGVt<nwzO35074~BH8^*z8n3|zL?9tG_m_Vi
z^@@xgDOM{=>N0dlyEjiYUpmOkYz9X{LSk)kvDp)Y`Xn4aFce^~5w4`m7O2g+k<OBf
zJUrOl6S)h5+z({oumha$+Aj*i964Yo)5qvq_mQTk(>VT^8vg;l-s<Ylfz|eS;ikAm
zI7#2d8En9_SeC81Cne3&_!AC9BMLG$W=gt%UPrAAys3K9lC$@~R<~jgaCOuS4FH(2
z0eORb;UIYt_lmu>%zB3FbV!1<^mKQoJVnrhjhma>Wxb!6ZV8L{@#Dt@8mwOYSo;-U
z7K^WaF(Y$5Nppup17$gB8OmEI?hyDm(O(1}9m<fz1ZQJPuY%@%5UlBNRyH<xV!0nq
z=Y1M~cXM?#P@tSGU#yY}g0B1VMoU9u<J8Vnc_v+jG!`6!#kjX0uD>?YN-1U1z*aGu
zMskmu$+<IXBFh@M`v_#G#(MFz;vQ0WD)KG@P8}*zm6(Y6KKJ+p94XC2CGk22toA~V
zD&NO3>wf!WVq`=a$C&`YOr6@B9J&vk%$72)gguqGQ^ricV%7WpMp(7w*ffw8mAn#k
zc>`3u|9RNnR|OICacHlfGsu1>K}HZC9Nc61vq-nT1L@wq+OM)Hr^pyLfH&12KAm_?
zc{9{75Ys_`0|6dED@YsoxV~@+4#h+evnn_7D;^@3$@%=!f`o*ORAfw7TFOXyga6O8
zA|dRiWf>CTWt^7dlA5M5B!58{4y2Pg|2XgQ%Ev(2KK{4=Pqe~BLq2Wrhtv};*F7Dz
z3Nt11{74{c+3rlW40%))&yw?g#hu3%qaHUptaGrcCwVnt^lvBjSLB(d^t6+I823j=
zu`ik_{+N!Jjbtm7D`mVXP4&76QZ3MkR2n9Aub0v^1^YeFsNAsg;*X;%#@WL{Dz<gG
zR1KT%PeY`T>2yu>i9Xx;wKk8e*y_&?_Vxowt1j*zR-{Tz5?`<tN-c2AG%P<VzVuKl
zRO`W9mQ_n>K05_vi;<Lu(5C78aQ7ni`O{*t=YW=sQGXI!(N#!l)3z0T`sUFDa<#?6
zc~S0ar5-aM{VeE-c;KI#Y`l=`WPa52+cG&hd9yE374wyNma2wUH|?@)htXqGM$To$
zVkS6r5-(2gBa1*ol)3NiZpiDjp@>IHnrb5mm=mCfrkkned5kejrJvDkJ^YGd9$P$2
zsVwV}Pu`cytR10o;yCGGbDrP2Z!LscV|dpY!{^>vFY&9xKPNe6{-m))h|$5HQ=Gc2
z$HKGy<xg$ngC-~uMOG~FR8yM$o6CDROrw;*IOOW?ha&mzJb`<l_|-TTeKuiXVLE>+
zkOO9#mvLCT%+}cV_VfhrPL)e&rPjLaYB6iagP3c!|E06{Ci9z@$;T_l?3zgpI^(kP
zd`m4*#J>-HHhArQ%xhXSdk{SSnThdejekJD>En`^ch7pVaMxHL6VvGsMcl6Tc$58E
zzdlJAW>{TPts@n;&HSEA?P1LFaiaKY%1_~#tc;64(O$1ov39W-k|H7&b!M|ikK98O
zeh#{hhILY0qPGjwq?X$ay+;d8I2Z2B@%aC;6K2I{;))(rmOh%$r>6f$FjpbbeM$2W
zY@Lz-=zVL3B7Z21VMUh4x({bWfQS0lDJv&u48X%?D&4_Afo8dehQ_nFow9!n>c2M7
z+;En<Z(hAMl)&78425RPgnJqM_DXre<jw8Yn$vxht*|AMnpk<UDCxAaBwbn>e$=&~
zUcBnMl|gc?@bO6emYD@-*|Eo)MXjNIcT5|rkWs65J@cyC7~Q1dye-~f4rBK%zjsQd
zlkw3w@sG;ylw!h{Ka_(va@v{#j0F!@Jh?o&vWzKZJy0sl+>Qt569SAMU8Zeea5+Y9
zwmeI0eYTx%kr++%<e!kk{sdyt!31K%;ZQi?&Nl#VbnA$d@gN{8O;s%sa@xQ?IzBc!
zeC>DT1`-oS9-jF6&K2W-0c0&pxvZu5iBzG4$WEQ=_piEG^^ajOQ=UKMel=e!uNR<Z
zv#k}Kj}})OjEp~SVW{5AgfgXY7xso5LN_dWnJb--QVboX<LHPM(ltZn*ZY%l-W3#N
zXHP^mLiJLP>_v`F31YVYC=Ccc$z}<w=x7}7OpwKi%Xns(%HHu->Q+0$`k@u@IrO3I
z0S9ew4?uQ(ScA>cPy6hYXDkKIFqEGSxxPT7g*#SJO!UN!=>OG+qbT+NrVr<rO0nvh
zQ6d&ne_zs-XZ{yftcQcH4&*8L2Ls7hL~3q7_crX6MVYU?m~X%SEWciLzxa4+Y!<HY
zK+j?%$3pnrnyxX%Y9e<grVYgfFO`2cwKBWxgO}ZH(M;H2rERzKQ>N37<QMv(Gpc1O
z5S}*kN(&6~dy#a(Jq97H?j|pM&p8dP>a=#3j6l|m^+Rh}fr%d*l2nAFLh%$Rboy*i
zzmLx$fc;-(r4dw0-o0|UJhhHx(HE-nx^}O!TN15uT$i`8WHV2Qx}sLj6})OKxXy3;
z|7YtCr$i5wJSvM}BvD3FXYEh5TsVQ@{J0gV6+<|Cz_P+7oDe~`f1r+ndL;pB*cphR
zSoAJ;r|ej9u*_HnkC2dFE-sT&7;v1%G4!hMnVFe)7F+xo0Sn@JeKMg_)^i9?Odugu
zkO<gzz=HV=jB~ztK<zULYS}3jWXeg?vn77Wh4gn5iH@!pLwscC&XjBCIO~Ffpp@rm
zv5auO<(pFl;_ySl8}n)*r<8Qvws!IJBYes44lnZY;&`0inQrditIyvqKKTJV7SC!D
zWU?|iv~|(cf=PG9|M(>P2D2}G(|d+#wmkMO=ShKds<6Y8k*5paP~><u82W-v931W4
z^Cf)+B<}jW)u%HnVQ()QOnwEa$G%vE-6{@KqDaKnFmjZ6?i~GSz|6Ip>K!1uvEWhs
zRDVF%grkUv3JRehV`AG9qB_deET=v?Ra?LBN3{dzYZClS3z=je{c6Z1XV2Ib@-vmE
zzdXXqs8dWnJaf!e_#iR=MOipKjI|{p^7@1Uzmdwe{2Qof2C?Y#c}?cItOw)w$FjTd
zkCb&9-BRAXc)>iJC=0kGD*FzcGgqc|CJTQM$A*-LFp~SN&xZ{e9BX(kpVBRQf$nnd
zo6Z>aFUPN+Va`z7EnQsWc<a>bA9Rg;(lIy3d_s+tSFQz>0KHGU`V}M~Yk3#M3E{x4
zGH44Z5J5DD#Q(&SnS8?W2mNF*FJ`9<5+v*ScvHFTxUi&cJ$BRfg!TP97U*CEu3V;m
z>TMreJ_~g@0~-Y<jERzli0$LdhnwCmfw&u<_07eNw2aDV(6)sa|BQoN@YNtnavjWi
zcJ|htHFfx)k)InTXUS<TVnlLt_QszRf(QMbU@Ib(RN8(mm_Y)FmW3)n2V5bxJ|kk?
z%#m1_A4A`CVz!P_9ud$@dTuVriHV3NASc-m;g0KB0Ewse0{w=I>K?gRmQVkixSd3w
zZ;Q4e&+l&oGP4u_^?alWoVx@sy0hXlC*)!qfAf9(OXrqv^18xJ;<rNHdnzf-RVSBS
z%F3&`r2=AWbNtl~-7|R+g`4Q(52`I@Hj5}tW;o3}t|s;^j%~G~G<&m+3a-{FK6`&@
zW5@se{0FQ^M*udTcT=xF2n`LAb(g6#S8xiX$FF-#0l==@Mb?xWjwz$PH#argScvxM
z0}wmR{Y8saBIMVfb6<9*@Ttx>sFun`CYq@GJh6&xPRS9LC(%05)sU2wq!-KTt9y)r
z;v0fSiw2xB7k3^gxGa|S&KqU@_`y?=qg=XPNTe>^oyC9ubbfbL_odhQcg;Ry-&|-i
zDpn+fyV%qrxDNO7>UvS{g(fBDvx~7R^!5Iy^Oe@G@6|GmtQVs-{ki0|b+ceH4#r5}
z@aP$#3D>0wC7M!`mp)byO?NCu$7PN+i|@@*UZlB908Pz&yBX$)4Vr4^Vn*HT2C2P_
zXj)A^-*`YXy4$VBOlt(e7r(}%mAv`POc<VJ_5IT^suGv8u5s4V15=YnHiN(g>z<Z8
zK*FO*<9OkZ=k>U%{dHg(^d(3+7Qc2|q{?3J6nFGuJ>xQID=BW`S6E<p3_0|QO*ucL
zVoBi747uUZcs(;_d7i9QdeA(cJi~=YJTI&$jT1e^>em1D^Df_m`KIgjzNEq}b&{Oa
z=aT-HMkZs#AB)Km{|^)DD2P0nD)5|lOLBz$`#M4&AHiqql;(`=gFT|tlmqXS<7IEK
z=P-FE1Y|v`G|E3jhPmUfeXSP$(Wp`BWzuW9(&G->?VBja;LGTb>E51V62zy3oCW&Y
z*W3xmf{iU#7CQq(NFFEkFXATfAr;}PfwnX$>9E+|+tos}1+V$gn`^Jej-ejW(@#TC
zjOwSF)fDeD%FD~6nLbSU5!l|mG|_Nvvy7>F1K}~W|D<Dch?PM<kjk6u?^P>w5Bf;Z
zk$jqlZ>xmmS{E<VslQquGpE$#{7TKi?Yc6<V!`mXkD0-G$?tU{a&$X^%<MuXIothE
zb`y+NvgH0!OWA43EW^X9*Cxr~tyK!|T-$$Y#ofBUBp@F-^$a5M0i<8F(KUMjs7k~X
zxE-zKQQee&`kR->6yH7>iaaOjn00luvm0FP-%WYjXfpTfBFKkvNZ`M9aHSWboWW}5
z>mB)NDhuNkg7ATJ@8-y$kh>oi>Pc=*ungL<-*0+7Gd@yq(d0b{r^43CkpIX3orOHl
zizW7)0oh%7QCz+^^rK9+qm+Vx$#@qn<0C{sVya?8T5FyVBl>!y(rPjohAai+v&1JR
z63NKRoABwr(PqDK%qlNucXV)gyYuir-Q8D|m-LDt^;9Mh#_b38x^h|X?|-k}{RDXL
z0pZM@)ni^}=CGl&=&mFo2Hw%Kdy(gPaZQ@ol||MWuD0%V^-ZU3aX8+~Iz$wJqtc$j
zwKBXGcYM`Mf(q;wau5_AZi-8<@{X02^-Zwz&SWH$Ze29IZt$iL)D7+^0|1coKkR=;
z5=SnRyvoS2VMt*FBq>F|)oe}V$;OcXSfO^@&^#ntKKcF0)>xE|N}dXx%VIO48UQRm
znU#AmIaLOE49l?0@^*ehBuKCx=CJpzL@6ptB9%{wAAjzAI$XICE%;>d@fG`W+_!J7
zfX#n_CW()aUuDuq2m*VzT7kxk##Nnqm%`)xW56@k1j^3Cb8Jv25H*@UO5TPxy*9G&
zeoh<84rhm`q@&-xc=4h@HD7J`5oEkjyS&V}r!0~}qKwtBqol#@sEkfIi`Fkambf+&
zeqbMcE^9PvJ~7Fj*$2uR%ms%{F(6W*5%d~Vd0x73S&lQpQI@$@)D^@la_xY6q=ZQt
zUI2N))<;l5Yxx8j85hFUGC%qTfLA~)y!Z9>1%#TG*89hxaP<|Jf%-Z^vq*;*aN(Sr
zmz|xG;xaGqPHCajx0B<99;g2Kze-cl@cI!wm%Aan!eyTDBuLslpBE(UQci~&apsel
znWrVxBPs)0#Yvz&P%9jP@d>ygGIqnGNN6f~HKa0?lS51A1t&S+WvgUi@08m5dPiJ{
z#bl%)HK58ZMV5tZ@R$wIM?B%pz|JguCdGF)^o2n1>G95#vb$s_gq`N{;1?;CJ@5N=
zRL4Bl+Je7y{k+lgQu|8Js~ta}0dBWorH6?!b;Zz=acwx?v;!*a!w$h9TP+*PkdO&l
z1JrOXEn<Y03mMxjQCUs6<;|gLwr^P27c#c7R~QUrX@rQGmd3KywD)0r&RZqx1F7u#
z`ubIt6U=Z1cD%w|`CoK4HUv&*8-V7#hc3GWpW)3zkF<Vp^bZpDF139rAIn!SH|a|#
zl}qH3+GeNo0?iL^x?k3N-+HN)z84o~yxZv1L_1P-4x^vE1mw!k^}o}Qkv&l)yy|-)
zC55}Ow0LuUIqWYA2*h6Axt%iU9Rs<nsTx&bL`ydni6SX~zoM?E7UPKFJg>XvHu|Wn
z4Mc@i-abnAA2)9T1z|W3-SbBUsJI$X@mNwjQf~CPlFy*eS!3e6;i;^T#Qwn71yEQ0
z;dGRno7+1xlQ>qO83hcEHh-k-S`h1B#gGHLZ@V&LIZr@KBut*fo|=wMD#kNz3~tN=
zH9tLdE+>i!nLc%@__JC0_;e#jQyX;_)P|D?z9;>-?;DL65k{|?C%J955zk?cbGcJK
z@U$?MwW4o?L@cZO9xKt>zTGzrGo%#q9ME2;40x?we_4<BdJP|jXz@udne&Y$_C5h*
zQ&1ZG*AO24?E&?GlZr%!5|-NVDuXfN54tjr<e)H69<OrVRvXV(XEFE0Fh*Sgl>Zk_
zh(N>pDZYr8tz{prGhKjQHf2Y55J>O+USI!}C70N7xY|QgxC<N3MAvTmSj)j5@V>h%
ziUt=}UjP^oL%10}pxpayvV>FhvaAQ*5!0K3M%#B`8ZrmESSSso=+<On=ufm*-FY->
z9jL0AWIxQnAt9$O9v02%$MxZDew<q~FEZc)C~wR#yg_mOXn#L~t*hy5-eWVh+G>j2
zIw;d=!MJiq#OQ|G$ewiKYBgW}UgRGM;{FmOBnzCyQZ?#~Q@y5-5a+#F2(d7*Bz}IV
z+R9pAA|n|Yndbs~rYET1kt^p)FnSA>;Q$^|P6KqaH6(&{YF>fH4@v2L!#@y{9%K|0
z$0v~3DsXrU5#aES;)?k&z~OyiFYxh6K#qRkZD>t3v<`!@fQ-eH6(bz<N=PPJDw~K*
zvnX%2{B^r-Q3OwaIEEZyLMNf+3-p<WDC;v^zUMC@ljlgY8i<~bzWiC`aVWk0xmGP#
zUHW%O4!JVWz;WY1PGB)$6UUAI*+h(+j>#@d?FSfyl!eeyVKZIo!k-^+ug|8c7rc7z
z3j;Fit{(TLPr#wj^SAWOSNC<dR%7gRoJ5L!TIL}^qlqqR&>Na-;TSs5&;r^4fC9}e
zFsK(XUeik1veCU#*c{HB0(FcZ0~M8B3c}Yv{z%AF?sOJ`%5uCjT>=H0sXT$YSBJua
zGxfcc6g`D1QX&3g#U=8f<MWFcnc90-+gB`Hr}jb@v-Plu!i=U=_qR5^-)oh-Wgig^
z#R%au=q;aC-J^+fUpe8}{F2)q$3i^A?NKbV^IIZ?uB)p*-6Q-yKIk}aEeQK=mj$l{
zihzGe(ofio0zQooRG1C<aheZ*^6E0VkB(>LeSH!~$!I%UW8l<i;=+1V0jM+lt(KD`
z&83;G%UG{{`OQ{uW7pnAff;ISuPyg6bamKjGFyq>>zTcv$wGBPQ!`liXLS5B&<0Zu
z+IVD2mY0`*oIsogWn(?g_DU~Kwi%FeV~GQMZ)c6dI%o0fiY7suz31@f-wDL!;M&;Z
z*Qr=LQ+hf2XD+GT3#x#CSV>^|Qq`S`a?O&~Qe;g;IJmx5c_m*s`QcqYfCN9=8N<I|
z89G#$@7tup8H$zO7=EFh{V7dw3GO|6J|KEDYZRX$TlwEHJuI7XYaqUrsOH}!j{Vup
zPL-aCGm6Hh&A%wSNQo0H=<5AiaRS8}-h5u)@gvlTFShNX@D+N&tN*i;cf15EG3#-O
zQxa<-?lc1x2p{Mbyg}Z_KS>A(URw1A80dStrrZ?X#zqN^B=*Bep5G9_RW=4$DHXpj
zo~gF^Gw7O%K~!$A0bPd-Pu66Y_A_m%?Hrx?dweEilY3#}MPL-inM%-)fY=A;I$82D
zhdahAys0uF*&#kfMMVVENZolP%FuPdP=S(lqAcMP^*w5C1(V)^pIxkDqpW@oNRK7u
zE-Ph~;^vS}B=^4Fbs@YSF|-^npzHHtb#dAn4Pw%3hzDTC#DfQ<Z#HSb$uZun1<K~t
z{Q4rNE%BN3L->C}+{-hw1*6+NYiFb1ybddpI`vE+<umEWQuS&-%r_eLoC$kIVzV?p
z&~Mz`KR&Y<mC`q{XS^_LV*lmMAhLi<t3umy*2ouryr8lbEE_K1mP-8Rq`Q|!fwVq}
zk7V_lZRs<(Ifyf`%AJ?x;sxtx`dqBrw79vm@-4PUP~p&{^6Gtebp9WKjH7Z3(qzZW
zfka;Y21z>y2dB{(W@YA^juVDja?D-29p%Hmnq}K)SxGq=$212aDruUUy4uVx7x-<)
zAh$owF+v_S>r!+&1%G7D`7>Sm-utx+XJHb94&0d+X-<W*CW4tige&&SWFc%j?Lkj=
zKp-sub?ae{DOl5G7zQz4bpGOsIZN=O{wI_5mmTw^#0oM@xLYkTd>rrlhpP14971;{
zkLLur*3dcBU-;Iumi7zbHgv=}*hzZRzSYQ#mB+v1B+UpdRaBxW$u^<Fw^vb~M}6E@
zL*K=RvEo2WoY6$FzIuZ~)*V8qAMNd9Ci?dcCyR&$wY6RdyXvi6rq1Q3T=ZC{t&4*~
zx$QV8tAip;VFPyF@KE5Pu(Kl<8XUCOV(w04o*(G9<rC;#>AD}I6P+C;nO)R3by6N^
zRT~@`Uiig!t9+O^Yi%8ysahG(r==?=k^(nHieGrvIi=@T2dqkR3}`hNgnyABF)z%?
z-OVT?P8i#8+UpH^c$`%!k?LE2cVF^mKFe_NX8*cAugg+Z`26^Yr4{!3pI(4I{rlHW
zT2*uWY2rN@Urxt=3~*XZ2$xzM`C1F?xLoC|rv#1QOC)?${@lqyfcwzTrw<#TkWlAn
zug68|#VOH?U$Q!e6MGTwJtz^r`Qz_-@Dtx^r8BZXAyvq#GvbAg#zB>-ksNhUk6cKp
z)-9LTh4EkjCg`IG^2k2n%jPC|KBZ6TO;UXtN)M}ep`Vuf5Y<Y^u4wgIV&HxDqk;+1
zSDacxs(1Ypwa(jk+Y`m96$51;lbC7p<WJ<Zj9muY5Xz^_UDUeMg@WzwBu<FR!8tq4
z(Z|7^#-(H1b8BN?q|Z-g!1crMPb!(No-9|++i#REsu`dD`Zy0=tBXO`>i%xIm4v&*
z@wsa1a#g6-W4-u&2O%R3)-XN<;#{=DAH!@t@A|Q@v@#`N#FITQSS-DEH^cq-=XbBh
z_C*+q>rv<T_&)_$!LuUP999FLa*yIFb|-gPlxvNQ)$um79)Y_c9G`KzeSAV6FA`s^
z?kST8U=s6{fT|%Y$QI~`$mCqVZ_097j7C&(o&WhAj%#|aB3jUYQ9qisN=ZTI+mzzP
z!C=QM)2M%buh;&{y(VUx{-}fruXVB9Wj!>mwI>`CkB~qkihTNIKZo}fqtMN&WA>|Z
zXr5zB$cS}r&RxHnBf#-^&z{BKxI~?HC2`xPQ1ZE11yNx=m6`GFH0srfgnaw9Ja~NV
z(71XMvmlpHxl>rSn(AV`VD|FddZ!)IgWs1t?bB4OlX-FO%umkcVx^Qn0$Z1l$%d^~
zCmv-f&~h8Ma+7v7?akRv;w>b=7O+xSyI?z;zi~HVhZj8!Zh}#(oDhd|lN(~pi5%6l
z0dT>)YS5d3_aBy_f5RjrwI*;&ug>cXDfO)_RR}42#rWx9W$4E9bGhwr=gJFQm7W}x
z+!T?TIc5hQyZkPp^x8{v5)Q4D*PNLsXM41h)!H+NM(X|JM0Gac3V{ps8T(Q}F1K!=
ztg=-4bJR&}L>VfhG-QF}*ta*C5HV8#!Y4sfVP^CZx9z+UA|m1@7MgVALDiY<ezraj
z#!o8F7!rhX=)Q!xX}Nb3sBi~7v)OR6p*wrKrQdj&b21liN<|+{=QTCc#@WWnJS7px
zK1OW^nhFQ9?GN@=rE%-}-ww+&PhKTj7D1!hkZ16ftqby|e-oQxk_dFddmG`ogZae{
zh`yP-vStsN2HJ)}^3jJ6Sy@nOyHV#iI{CJCZ0oMPuKZnP=LZb>kP@-dP2o5R_Uloh
zgtCYf50fU;Ln^iCW)6eB&Bc5otx!O&O8FgZ?nxF?$oGqlLSuI5;kD5ckLOLoVjV`}
zbs-Cz_8(Us0Y|0ISM&<og7;=Puf$Tq@`U@w?HIRcXuemM=z4fp<r}cy3ZvuFA3A7n
zOn>WVmLJyY^73!0n`|_U;>xNjR=w<Z1()FpiF9k+e=S?U#=>GQe=K-unuTAw+nwMB
zn_emt)GDmmb#)i<P5>&Aw?YvQ+3FL#A;<L+<Sqqjg<6~69e#er4Y`T(HrFe8hX}fW
zNwv#OLcfb)#Fm}G5_(Iymftugm|H4;?AuIKaam+Rxu=tye8JE2k|oQK`5I|U+I*LL
zS8#-jmF}lZQ3?F7i~Qj?)LPqLJSeZK<4BH*3O+(RyMdt~^YZ+lDR}AeZgL(iV1}V{
zqNwlMb2LZE3iRMko%+aU8~zF-j;dmEySb`W!KXq@;CE$a&~Iv}z-Qm>l2tZ~d2TTk
zITP3}90E!F^JQ`q`j}BacMB%|70+9C<kf1mPkDA&@k{t01)$`+=W)7F55G+8lyYSf
zmG#wYG|T1^@H(nS`h(g~8m!w>2L~6a$S25M<flEXPvpDF<%H8CKJNYd((1r2pUWJ#
zTmNAOL1<e}#+L>UCo2Kk449dq(WU%c|1ja(i}|F}p$ZkxNMJf;fS_~nShdb;dTBef
z*7lkmzleYIhgz*(wT%v))ae@I97nNvkIR|c4Cjfvn2Y8=b^z~Ba*n~F9VCH>e|;MH
z?RxNaGiYbbbdD$HcQNuf-7)wV6`^BxXAW3+J95<c<5enBii59A8xG2-!W*Z@)5wwy
z6(e-fWM-VzsF~mxv-bXOIU{KWhT89r(5Ww^UbNRi@B2U!HF7rC%Pe-6#jL0A1opy7
ztBZ-^VSO(T+6ijYM9x_S<(sB~W|r3yAK4E==qxE#9XI-ZG<E){{>0xl(8sJ&qw!tm
zjW9uEQ$(NHb1%-7-)G!Ky5qf*&k7f6R9D&wg0Z?T9ZWc5SGlt<$fM?)hPB^ZI|4er
zZz10?*!P$_^;@RxHHYKW+B_oDjf9^T-n#w3?<BXGzP#(r1&V|4t{g>dWUBxKSS8y9
zadx2$tv_R7+&O6P0Q9_h<0C4w9PMi6qmz@>?x1WzfBkrI&8V&zZu+}x70Rd}fjg#H
z23>WK@bHR0gNw+7gl-(rqI;b>u0S73XEEj5c{T85%_J^nV058d>_&T_>2+1ux!0Cd
z8<Wf-KJC-jBl>Z+v;5^Q$#24Q8g7XAZ?S~<26NnIETw{2k~jEWvBHfmyx+bpGgMtj
z2*;Q(V%91*thzaUele5XY2CR~$K!hOVg8<n%hPb4iuGM(8ZXa@62>uM)9DYw=W>>6
zyX-nqkjT!_1%~MP4z+_qPa!~Y9%E+-|D1TvoHfb0dP5cih@Jll@#Qm0(pRr7&G=mR
zlIG}p`37`6{7m9Fg9#qOZ%`s&A;ku=SI``SY&g@%0krJD2aM+LSV?*4Kx_r5LQH8#
zN!_r@&c61J`WfT3rjhXAa&d2${J3gw@gUz3Tu_ZWRT<a!Fsli3nB7QkqLY%6m+F#|
zpA$OY5k*UVi*{j2xcaC>W#EJ%&cXFM&49%X!_<V_@sH1*bG5b3Tzo&##n{=l5E0iF
zmb6iYVbAn?{YM+;!fvxlhiR2P{`p;&Y~>dEKc!VujZdhfwo;yPeE%xo952+ftnIy^
z=vWhPF%j*7I&PF8ie@a*+<~e={wLAz-CUjX@bMI2yNad|LZ`SU^zd31z$IpmpPaP!
z;8&S+(Dp;v@mchuO@4)t3hP-IMp4WCur8yu<fV%F?VMwPLe73keza0bJAiP@_uAO|
zHtKl&?;ms+S-5bqoH+)6R>14<?4rw^4JQ{Pu_|mof8x)ZjQ~|umLy)KS3<UJ{W<2D
z3m^ICU)C4chMp;?=P$WZ7_EMPa9A-HGH$sQE^%F%s8R(>E3Q&2KELsI%no0j7}%(@
zI7%m=$!J60x@9UqZPYI8P*xVpx;bTWsDD(g%lZ^1u#?~*C;C6Dr9V(mdsYSL1uAP)
zboAff{(PwxM7}KuT=sxpfO#3}GtBcE&27Va6(H@*Pr{Uppa;6g0yxfwhG9oH$auW0
zG`MZ?f6;Z84^;(S+ZO}@X#wewZX~3;q&uagySottq@=sMBm|@zNeSuh?(TZ$_}ou?
zdH;ZO_Ut{iX06|KjScjg%#~Qd(}nz+X0vFqfGZ(a+r;FMtP~2nb0<eU^=;%}N-a0S
z!R0RUEo+O=L)NS(6gE>DgQ=B7pQM+JPS@;DX|PrK-cm_hiw9@FA1(@~zuVzap8sep
zi=M1ft`obLzImv<bMB{a$c}Ws*K|I+YVdvW2csNNK*O(kqE!n0gR~i`C@Bk`$7E8C
z@reLBK@TXA@TK=kuRZeNY(4w#3Ma@Qvd|YWPw%qWh82V}USrW#CMDsBC-(zXocyqD
z@E(9<3pT%#4~!GzZzJ%Q>eTv5#29uQyG+W+{MD@%>3j>@;PO_r<Qk9=CQp}<Dq2BB
zK%E6`Oshvo&kJMDx34JdIegi4`00}Fx)l;Zs!RtHUvk&$AC3hDX`0deu~aiW>-)k7
zD~@tBsp)Ggdz;oXG*3Wy*);)AoH@p{V_Q%=qHr*zL&RMtd0vakViD#OL%R2;Cq3Hn
z4>(>8sOcqCrea|mB@Tt6wZcK+lV`E*>wyUYc*uip#9iInfoL9An_9zOl&fK$V>_&5
z-otk{^DCdlV}Y`bP15gU8kg@A?|id+b&UWe;mcP@QNK;Vj7<i){5l`N6XJz)=E@kI
zId~l8eq{80u&0#&WKnVv=C(<D+zm1qGW|cEZf>^aILh_<(_`W`G%D?)6UD-Ao7oEa
zuzdx#PpP+BEr+#_XzYLf<Qj;pI2qI+oHftnvSwCOQ*DxX=;|^qdI=PEe%qgL9X$#z
zcdOu^w%jm`A-ctOPAEWuR`ri%Bm+&BAyEFrhbz5xoWm>q^vhylAqxU)_Ee?nB&6ml
zMnlXFEV@w5VBt^5+gWc?#~B?lPLq^f#f^u41^;4^3R(ApjNqGKzx=hqu3*$zkU*b-
zq>R$i(`Q34sOV!PhLr%MS=B~~F`b|RQ%R{z@0-Ix@_BS66H9ka>1zRnGYFMSbF^DI
zrU6!peE@)dFm&jF&BQ3b`<dvcZQI>|LeQjdGSZRiTE)bq<7&KtF8+SF|MHsym<av2
ztR@o4P`lI$SugH^Zb?&6@Wmg{47I}4M?NM9>YUq)0MW}uy@O~b-ZU|2*GJ{&;pkDS
zLpZmHf*2779tV7MQxcZ=aP{b6P-^H;-9dzZkOo-b2+~Ha_5937VsG;N)IyGgrKP2V
zNP(x%WFNm90hH7rPM_U&sd>SxW1MJez|Iko7N`;{9RYVg2<SFVkmzU0*C<w^xLR~w
z{uy4CoEoYJp5=*VS`&TKJ8}BOA%V>Apen&IEJdi@0>;hg@lVkyz;4HgOaRp9bGW(!
z!sQ<zZT-V$v2k}kjT*Lnp2)vVDRSk1zj}DtxmX%7f4XEIEPDh!k4ypDFoagAA{+#o
zQ2n2yk8yn_Zdr8RPz@OwSp&JniZyD79;*l@GDMtY4-H7V$0Uj5{_ErA5hZ11&1h0F
zjXwzt5IF)?O9$KUQlMV|nV4Uv(y4mq?^tesipr8?VL=oO`o0nu|H*`E58TyxUfb-h
zexCZFIXF5Rt<&TZ0sHDz6{tAuR*wbL@%@Nb+(S?M=ce|Iwt{ZTs9oP~F;Vnx@){(d
zsz9+@TEM_&xi$S4$i<auH^cx8Q<>QTaG@gTreNTl`eEfk|LDj39li4ke&=5$h*YW#
z2I$C=bQ+yPu$XkytmkSZ=ccW;httPW{}}&CknHyZ6_su=qqExJmB{^nL+b{ds7<Ng
z$pgG8IWse}Mkk~-36y&%&#$jd`8=<T^n7mfb6$aTw+;Ckl4wB=6y4u`v}9;53>_#a
zfJuEtN{-eB$>|G0v^Q@^5B0>A)27OG=!_8v_`NtG6aHeQeSgIqwIef8T>%v$0|9je
zQ-~~yA_~ZT*Z^MTg-q3*2#)a7x;~)11X6(7od5AqYcW5b{?>902Kmy*7k5nLQ28Cp
zIG6)tAKSR~n%$UN;2-CjLD`39b)-l!R|AC64a}QBEn-~X@Cpm4hiACJ2=B4u`ua}J
zBUN(VfJO)MfQH9!tiV8QyDsSBh^&cT92y>8qCH0Q*}%{+S*}pJaBFR?6JX^G;?aeC
zFuq|82oO>73@-SqElAQwG~~?zn9+t<bZTA^O8{}60d<`5L_;I&ihp^T^S|*pI^GEh
zQzT9NUGDy9z$!tAAjHPcj|ft|5e-C$rYSKUWdh5@FNBkCtg%$`Cg1>I3@V!@5Fnd~
zh-fS_sZ_lpfhB$%?-}sJbVn(lT#B;4u>y$Itvyr;O0<AFLsUR;MF5)D-&dS>eSKXM
zXz^wv@HxWQjwXs@FWTF|d)azw#D<jqr;EYpl2Bj-MM`7>PK8g)dZlU%l*`w>;kaG=
zcROT^5vrgVGqtoXqYyRBJk0Z8@I35OTF;3ZKSTd7droLoduhfA?<W`p;|B8_PAexV
zDXB*+LV7kL@NBf~b&jl6V}|Ys#FPI?QkepjdYzQTeZKm7CGyWdvkEu#6<pJpm>7-k
z1YB+(hRpaZW`xr8t#$^<ruogZ&9xMddFAPkRB-;1fB9%1a`diAjveSo^F04jqxAtn
z1EAx7c|r7R6?y{ZL*W4d0X22Fhsn4AmKQU^s}(5*U8T$y=J0P}gLHdP?OR-Kr=p83
zC4Qjy?E(yT!czl~-YVgSGR^W$RFT!8+6Vn)+9Fugt*|J*hj=@vyF3P+Tcrx#6z{7t
zX}2VD+^d&cUlW(XLFq#nx&nUyj^ZIAA<6hQnb+GE6kjHNk}C$Ym^q$p;Gb6ASgat8
zFU>##V5hhtLIVo?HVd3vo15KN2eVyf?1<LUV)yS&uOXW~KiE_Jow$3;na#<PziU2S
zI=R5T8m^}Pa;|=iwdndFMJ`$(#+>VbrjY43_QSWJ_6A^C2SAx+)Z}s)v!q?F*Omb$
zxnzp4WyrsGmv)172EGC_WRO??O<dLy{_R_osELIIEjTpDJ`Y-&ghNKBUd!w91zDSn
z!KBQvSi=%NU1FEz?TH$_KbX$5z<TbQ4C;j_S-WFdI6uBrhTXvo^IL4}-V6cXVev>J
zhW|O5^6pQTV&k)!MX?1Y^mfb>iBh6gWT8MdzRz)wsz7R5W0f1#y__u)oK#py#rhz_
zY6x_uSWIm|0x7yxDx&{8E!X;dv;TH7Shn<F_==<>gk5sQM&?JgJZ!~jJ^_I)s8Hu2
zj+&vpmxHkAYOH1HG#Ztk@1_AWO=G!G&wPK<g__?6Sr{4gTD9*~Qy|Tl8aO$5y$4zW
z@$fJ-d||&u%mQ(=IJ<2+Y3*Eccc`^hF{diWy(g)>ZEr|GCE^Q9=dIL5++!9k@V+5z
zsUd?-c#~YizXggEgT1}mSSf5nH1FOC&8>%TgTMC|kU!311b+@G@eSj&>c{!2G<)B(
zgKZ_V=D`5SLX-@+@&Q-)sr;d5Ldj+0ryu9}vMRIN8I&G2$F}5<Wt(G;ihTu)XREI0
zv8RJYit<h?>kzR(SfsqP6d{|nTP`A6a*ikAW3@DN0yzET*v{8lE3v#XglpOTq1VQb
zebfx1Do1<7|5EFIVn>H)0oa?UC5%8U9TON7BsFfl>*ITMps5BnS;#tOhU}xFf_Z<p
zUx8(u2qw8`!D+PJ|JPBYn#aX1gB^as^J0PZYS%H+b&1|9B0n!(yYiM}THBW@7#8+}
zjIYG+R2l1=*JUrDZ2pzykfS;J3!IZcGR4sKXhD+cQ@#|I%iV?f*7kPcO`>Uo(h?}a
z$IhdPh=IxJA_v&8Z0mB1sUQ77tH2<o$iQ=#E||uAH1@xa9PQ0X-y8lJa>OsyT+7V=
z&ckH79sECr9Fdv7WTg$|7>B=)Ht=5}B7r3OpT2WorO?uy{oiw@=M%lW?Q2xj#DboI
z%t!*RPBULt-4HyZd&oyD6?m(U4lD&^przK3WCN{dD&Ns5Wci7$LZq1EUL3Dr37w{V
z*NuIUIlEF|{QaH23kl&ON<X>?8GRa;u0)1@O9CkhsF9A3&Avbu1M+R~a2%_mHz1y5
zM4%1<^;EnM7C?G2Vyox^Ieym^;VU*EL!2q}x3hOiqR^ozIs{mAEDHU%A@WB1mVY`~
zV$huMe?aS<D7xuQIMW2_D=?OsAHM1O337v<ENe$=HaHl+B_w2^u&JDI(tPAdmI8`_
zb<%$VZhi<9^y_yfWUAkW(@c;;guSO;p+vJ>5IBQH<YS0iiCS3-BP|97#%v6Qv<A?o
z<+m_P8kK8S2bF2neTP6SSJ1ZLbwYLg{~3D<k^)h95ycaP3J3{<hG7AY4k6JHrHjIw
zhiYMTut0bV3=UeI)qr}oraSgB<bV!rJK}yP0~uHqs03^Ao<@Fhxd?eToW$;<Fu)J7
z(Fo2QmF5BeysxL01UBATuz$}0E+M~6%FLG4Bh~$XrOJyxO5X2#{?nlfM|MKi_s?+v
zP&;4iMg-FA9?0V4#GS5)4~kDw1IE`;hvZaLrWU=kv&lf6WjsAdxBYI|uH%~&3@}Ti
z`9?O1j249eV4_&u?wT4lNeN1F@=9Qtpa_(wV4tu$nECkw(6B%tZfpg(oF5=)(@y(0
z`LXM=-uzqQKqZ$Um>Mic1>}F?>8Kb+6i8q6%LTs1(vXn}SJZ-Ju%r_iH>(C;+P}j7
zzu+wd4CoTFWlCi;@082rXP~&tKBypP0~&cPNev=iH-$Hu7eUJXfJn;(!C^n9RaPz!
zcwaR#u-yEm$7$>>EGS@sgM$;dC2VrqB@Joux;<mQiymEEOpm8l6jmhe9|lJZa;V+4
zHPTIFcw}T_I<+5BOEEyWqGkbCp$+|wHFO~`78VHHXp%%m3ICN+(3`z(S@3z?D#=NA
zv;7MCriv5;(!pj4Xp3))&F-<VFff%MVr6WDKZnGOmM<a4ksGuXLQ^xTeb3{T-p;Nr
zhQ=dba6-2Nf$pxo%o73Flqqc94WHoZ6^S7Mxs|~UddrJ1PS8?sKyf+xzeUn<7hxxm
z@M&i>cNTb9;Fg)MK2pYlM1Ze0Ii#E0gI^qT8rCzhWU965BDVa@<Ats&%BxFp+#cR!
ze+g&bqm&`iQVa2YdD{}i9w0~w;|AwD8^_C6YrEV!Rx{h)E-2~r9hX%+WsS{lMUdTj
zPX!V^Fg~sR3lZ!8OPlVO!yv=bN!8X5*)VH=S54S&4dT)SzZk0T2YwGVzXK9n!*Q7X
z!z6#>GU6zPkbp`#tUY-n6f_GIh30crj)bMwKM^(f)Jbf=`hmz~vRFCT`{A?~QiRej
zAm~4YM85)b$Nx9EVM#&b^LI{~Tf!*j1`!1%q2Q0w)GV+2nS`>LJ5k)vv^6Z_+RMvJ
zW3byB00RUQaOT-Gcx4}iD6T>ZF&z1?h*HMy`V+25Rh$kxGqYj}sWi>juKMS@x_lH}
zp!{Okd^Z7nWIx-&0MugO?o+jitjl^2a_$awDp$o<-aBz3ey=`uU<+}y+%^I{H+n#D
z)IH?=jdejGhZG9T(bp@YPEarxkkChSG(0>!j%8rXiR=~!#P#?rM(}?!1$_T=rqrM_
zWcNq|UG@SvUx4!WPnavvNs?T!)VXDKb#>$pH0FdOFYSYX1FP{q_<+`n0cHa5IB1nd
zpwQvl<a*4QpHld|JrExTpmV)&QA$EEC-A4U0E^=<z=#Ezbt@u%>S^v5JJA<v(FJ8=
zsog*d$TC+~B^2-q9M*~8W^YykQ1i-Uc8ZkpLu;_G2|;SiAk+H_mqQE4N_m60Mc=h=
zzkVC|>JADT8k`2#GVAL()tX$aufP+l!3=2?4lNi_BFzGJER{e-=72B**(VU+*N?)2
z=gUIQXVeHI_s4Bam%%<odCpH4BAcLYq6thmW<Xo=TIk~mYHF)N`XJmYI?4O~ur7a(
z+QfRXF&-=<VZayR)7*Y??-$Ol0Mb1);D7R;7+&vR4FBGIS?W`p!|oWx*52OTr)UV<
z((h~LL02}e;sHP*kXhjKKZj&1R=^gqjzn>14uYWb^K(NXA)$)jn4!!=sT`){GiJC!
zG3&$WJTaBLAl*WzS~6j&3Ie1w$mwzZE#)^>spddOG06N+`8Z141eo3ZOlCjK8#sWu
zv=rxsSHZr<bjzncw8TY2BPpA7a&l5RfP=^gv6^78AUl*F&<3V8cwCl{zh}~I?gOdy
zYdqCC*W1#HR;7nribsuEfNfnorXeGreg_}EUJ!ChVW(jcNO#KmA&nAz#HFpxO_^Vi
zAR{fS%$^BN)@cAkkWQetW#`bC9GBM2%q3Z8aMUNBNN<9KCH+s7^ji}5wnV*R*ucO5
zAk^@=gT8lg#!w5D`Y-FO{2+ZazXj`m-(r2oP_0JBIMXT*(GB|6)CzEOb9W^(HUB1_
z&3;TXZv?7TbGN@pX+(S;IM%@p8NzA(NjOLATi?kK6FD~dZ5&A*cfz~QHSqRzb`MEW
z^20ovHm(PUv>i2U?qLp_H0K#)WTf;_4cBKc=ObfAbXp4yzgzV)1?*o>yOdftIYaCk
zmd0C6YUF}^z7%+O)2jWTw$>5$U2gHLyRc*~%Qs(a{D2KwtY3zNU03u8;pn<#O>GEg
z&EKMk!9)UlR+qz+8lqT}A8sBVty6MyBIjXDtqKp6=bL{L$MBU?0!8+jE>S-vN?I}(
z6UH&8gTZvpEw<3>9!`HasXySoU?RHJF6kNCxH<f*P35N-|E1URAgq3I3sj<Nn3*6E
zmp#L3Pdb%vYq-1_ucc9SlV*Cr@emjTH~7_@U~vSQ8{R3P3IP(C&goF^yWK*owcjBN
zSA!cMJF@)n)2NKquC4B^`{f}iW6?-juvor5B?E(O3bM#Px$oUB)z<22^b-9XPc>Mq
zV%{HsTKU>m%;$V!39#P@vwCX)Lx=nyJLL5J2|q7WW|_k|&xt=orn52pHw&=PTg~ck
zbxvS-ZJ&ystT)Jg_i@re>`#mOXfHdTpIRXXr^}PP%ih{zSS;L>JDkQ1KwzReG{UIA
zKvP`MXxG1Qa@Y*5NeE(T2c9~qE%!%FKaBcgw0XK9p}YFEMh(ltF+-?&Y&;pG*%*U3
zemB|h-#87RqfPkyH!=<g^k4CKUeRj-V3wR8P=YC|TEhoXIUEJb1v1erQv-0bd56+0
zQt)wv_)aKmgT5Pf#3M)4Rg33H$Ls9xSawxClR3^@Z9g?xG0uxcChTL(;5*Z-4(Oq(
zf8L{iw(lUj!M9YkvZBw8JLv&uU<Zku*y(?1vXiq=<Nc1ur7Evq+B|Fi2`%Rq^KRYA
zU%$ebH^5p`31558y$V~hQ=)VXrD~4M%Oe+0wx$u`X1HGQCK-MZ!MwI#BKzaAH{KR$
zscST5ps%i8Se@xql>AcJ$l5f@cv8vZSF72$tz<|@aeOoqHQlEz?+VDgw**c>KL7_h
zc0p?R5m;;2Qz$_4V9U++MiFE6%US`AE>@(BX1&;&zrL!cWq)|`eY&NxoT<#NX=54s
z?tZ!!7}o;mX+E>X&A-_qdXkKy0$-K9q9ehgAZ@GUJ|mK*k92LHpF34MGTjzQ*XGYK
zXmC;!AkeH;JM*n^QmRQ~2D3yxS@5QRzu%N`@z%VjGRRPcouLLCqKv~kvSD6Bw20CP
z^!k8QA3BMkv`&-7w>al?n+L`<t5|=gzTCGM-_8jienYHXq2SjX<gi(wHg*9~EF&T!
zqTzp&)i3^HPQ8Rfk=Un-Cm?4r_ZA=|Ck3WV^79pyK!q#W8OxFn@{*rYa{d_lnu23F
zz+PDlx;fQb|9#H1qp8a!8ucHab(#Bev3FsP9v<TkInUsxOdN<X65b}qi3$lwzTDm_
zRHq7)(Y>lv15wGEI@8hhgT|bNENIy(7bF)^M5~x1dgr21gA~9Lo5-M*5JA8d69HnA
zJLcFa#WP-z&!jLGeg=CH#c0ES0BXsNvzcXF`ygg8#lLIJ|B(LIB9siD8?j7Oi$?vD
zAJ!-}gP&w8Ca}LgT{-kb-BsA?Qs}y>?neV8`bT!v4iAto))^rs3xSBIL+{tSBx{lS
zWmEk0_f({eGeLA<p_KZK0jP}DX8$R}G5RD7D!KQcT!ggJ{$58%M{6&=A5by(u$eB`
z8Q)*5F^`S=;0-c~+6N@V?}P5^t+l%ntn$5xr<?l-I4`qo>^|#AR|zhvk-s-|=1l$2
zoW0eXjfI|UouV%MN~DYYjux<we3(Wx70I*6Lu)XQUB%t=o3D5M^0}!+*atAumMy{7
z79x{Ei;smx(IUj_xD{SwN?}d4c64OJ94+axBTED5?pR4reqhuV3Gp5KlOpr4$EKey
zOT`g)`O9yEJ(1Kt1o>ZDt?2s;c;<Hq<i1t>e06#nJynH-^Ip&czH&n!!4m{5l98vy
z_}8BN1lBEYf5RSnDwwB5FKdsrJeAcg8Lan4nik4unt(Kx;l;~!5TWMNSMvT|2FbcS
z?qdEq{8*FqsQSELNf5IOA0Hp9la&tbEV5zXg^4QxtpXiQ<A-70g6NjCaxA2)`Fx=z
z?ir>i<vwsz*aMyp|777NmyG;P#`r;$3*TPoK0^i6u93G+R=Z|FESWzeJg!EA07=Md
zCbJmlAywaBADe=7qY6wwRi9dsg3w%8EJ~<807k~RWo}tR<aF<OA<w48tAtJm7;+S=
z^)EWevmq0S#bOi^rsRr8XgodK-g0mT;4uIj2|cW78W!m2V))GWRA4<^j^|yIk&+6%
z*ovure|mWt|C^GqhJ5|7Zh5PUKA`FkIGscRWq@o7N-C8+k$L3cbG0j>f)b{D8wz6-
z>&FE8e!)2EZ_oqL)zGvgl7c77n9P1KurK>XQJ%y^qq5-PV_^D8grcaw#lVO<G+wmm
zRkxu0IXXPBxjq`yz4YW=DKBg)C@CoQ)ybAm;}oLij{{C#_H~XyNEYS#raWCF<9B+t
zcGN~uxCH#?^fY#U92k3(B7vu_`BHE@(z`>>gS`zbd(N_#-;h{T9Var@f9h1WE;!BL
zu4^#?TPmRblq2@J$&S&MlqU!*6N1%B#>b=Ho*jPQholnRx#|8Yd6iTWzYWfoasp94
z_;ecT4#%h@v1Re2QIxqWLP>V!p+6q~9)VbJI`dd*<6bG1F1<#jAEjJcpL!Ct%3IxD
zESB*e5$3*{pC_GxPD?UHiAGtlxC@HENt9dC+<rH4wWnfCy|(i^^uN3m1b@={q0<Zu
zuyU9O;J7q!cu5ZC+t-I@pg{<&)M=$sj#xV7E)R-yAr2HOSfs#tb#ZPY+=Awe^9+hR
z-@>W_RBt}^dZp3j>Q1Xf_N8J>68zeBv%>ztR3~_d^!iK%*uH%y;@dkl*7{{3RtfvX
zPhb!OA3v2;M0Jpi>N8K*YSq-UM}Ww?fWeiMWK+p6FPoDUDu}+QJvx3I{b|@s4Jw$J
zgoLtnHj6o6(f|0Mr#{Y1jPI*6ro_P*AmiLzb1ngSS_^nu=o88In{GF4{DVPIH4qik
zz#{5td%BZ;p*r0#Rv=5)qgQ8>9^-yOWMztD^yzsY86^;jC7{bRBT&dh!CBC>9O;Oy
zR53S*nz;?Edy455z!zu@`tY4d&|eV#NWcpzO{xs{_UOf{Ttsw{C==Trvatln>`O}*
zrgzNy0wQ}YC7MDy0cNBBqDOL)D;e?_kMV|yGtXDa#bRS`edIxJV1H*^kF10^MJNO4
zs>t<tDUQ`t4$L)dVCWDD>^|f{NfHfP>w14$zF)dHBeL{~20d&_2*=36xWf9CY13zK
z#oa2_vmw*rG)cpraP;Zq_VuFDj#w^_3$t>@(x{H+?{r255y1vg=7y_*h`Zo>GD+(6
zJcF$51PH0-ej37wiHSuI7ALb?<MCbm6@jTR1iMb0^=p-pUNA<=i;1E+s7kmjMowoK
zHS}ys4v>yY2U9-K0Ydz{Tn4Y?^@3xh+byt;2&)MP>Ma`mphEYkCv;+BrlSFs(V5{&
zD&;_;z%CplmM)=C%H`F8O=+jS4SR?NK}-S0cqk+N47<K};!)XDE;Fx9K2x+DN=#f#
z(JI3$j)%RXKUw*xCl!Ihs@X6~5Rt_#X9pOJbxJol?J8w+y!cYj>j@VAwXp*TV+lTD
z;en{erI*#i<bKK?I<8U4RuNyXA^1iO#Z|1|!g1Nm(2Pei(&uW-a}T1%;sZKTf)9~E
zpZT_QWdE%tIqzDn7|)Yma{ZGZp3I`0yLDJ(xUH+wxbU)Ll^nghcR6Qc!-!eW$w}t#
z)+PJs<^HtU+|4N4(PQ25UJ9!^z4uA~w#t6=olWrU{XPmFSG|Ds(#g0^n{Ttdw8!QU
zx|4kLn(Kp2_n2+5`nKAdDPhw^LERE=DrwZ_&{qzGyC+Z8o@Hl~G<x+?wIKxBwwpD?
zPGUc~udK2eyvaZ{C8Xzl86QJ{H+gPf9)8@2c|au$%cA~pLU_41F?O-fcw<i&-_+*6
z`{c6o?WM%5uyq%t%M4X!lYz$)x*skIElAsz{?D6-+mf6IA8#uzmmhwue~rZ`zFf8-
zH`AM&{=7~9E2LD?myn0_>3MiZa-zT+yU@({Q$t*%vl;1=UaOMooxzh-Xo#fg-n!(s
z$ij?~+N{{#=RA-Q`1`P#N@F>7P>``Hx5fEcD~fC57xvB{-1U~$%@uTF#o*zV<}1XS
zmzXuqU3*R|b$STxhrySg4B0=jO1-N;?o6l8D|vN)vGo;9_k3C=^lsNXnbo>?n&VIr
zC~v4vweN7N5i-1Ux@*Qfr*UIljp%B9=Kovbn_(jQp`9wjO;{yf>?bjf^+pv5Dh9=h
zB8?p=d0=8=Z}W`WWGL`~rGmm>lv|=mu)uzi<=p=~(YoNC=!a23DZ|~vZSS#4#U~me
zx~anvlR<R{g^lAs)jB7MjvbzI@#*ec$)-D-iF#8gECC--=W&+>DX$94GK#iT7AP!z
z^WR)2pg#-L+oFCb*IK&ec`>+}OUX@$P3+4VcLG;-shr+@JgDpH_y|nQE=8TWy-ql!
z59b4}VfQopYe^hu@R`Q2l?9l)vsJZF6gxaaQ}*_4sY?9^#m?Ju5<U42y~^(Ys22pu
zYK@-?JZEXLQZAe}_Mm!p&Bad?AFjJT5M}&1!zvxSV%SG0eCnyaDO^;kQqepmQ;*uU
zuI@}l@clJ>?pWeryfEZPfU6P(<YcWgIL)U$_-klTsxQC}q+g;UdDx@1`QMXA1eQf-
zTFUnL!*Q_e*Go3-IpU8fiUD|a94_{<^M7{`^ir07?5;q~!xCz%@)XeWV9=jn|8Sof
zzInwG@fj75+oUs*6mQg7Amq7gyy2!$Cyr6aLrO*>3x$C=U$52*&AV4FP0W61E=A3u
z^k`nT%@3J72)57bHo~>YGgDoxo;J>Aac^^CyMbNq%9q8N@q^h!=dJJ8$fKFY=-~%%
zskERx`OGi0D&^u0=k;yps7H6+o-PQk+;S3Un@r?#nqzq7=I<LXR{Ous^Qj;4Vq#$(
zrd?kYuV37EJQ|2(@W|`Z>Q*7?G~Y0FFE>)`v^$z*9q+~eSzG3E*edw?)oreNA3JBm
zsN_ZgdD|_?@p);{zx)E1MJd{Vg4(v#-?eBFpUJtfp}HU>6Pe)bo%7LY&iQrkGq2Q0
zt@}gU`>%=^#j?TM@Wfv8J>Zb?7Fi!Lb3{iDRi$Xn>uURhfKnnAKKHZjg$7F>(qm%9
zz)kRz?1WN#1B=CNv0;tE7nzwz{OO7?^-e5afCT2V+t*EN{TOn5`z+I7aQ;U4$6pqs
zK58pJO;3NHI-4c55tIIubeo0xBkeZF-mPo{3MoXM7u=tz7_~X&LHao-CjU=^EJwRr
zrSx>UF1q`f`#Dxtr<ip8VVFYoGU_2VKI=?g^DUyn7h$m@wB>TWTF&L`Xb*cfn=y6L
z!!EOJr@r~|B(OX7TR(3p8JqfJ_2B)dv$MT>c0>(R;w>!*u5zWPj^5s%RGZ2vkAI{a
z6WAVxht+Mk&3cht)$fe@Jd(gig~echOo$#N9u?AZUWME?8nHjUvvV9QdidsGHUHz}
z0k%IM*VU8;$4@3E-Kv`2JBp>9uC#KT)#dZ;-;Knn90JB8(c{TEiF}^JJX02A-vw{%
zw&*ow&%5WFTTjU81q+&@G|1{%o_xmdK3vF@de~gTKF+y%EScv;>v4H^;^1*@Og7z#
zj1~@mq8H3$h8vw3#c|kRyr}t9)>yN<Jvl5Jj`Z`<W{G}p`5yQ5{F*;Se4H{I-LJyo
z*Qbl_=6L8GAFfAMyt})_Y0(<1YkFk&XJu2F#?kft*R{+~+pz*Uze;_w{v<LgP3u0w
z;<zHq-#DyVlqempHo2V~a_EiGd1p93dEMSE7fGCYs(P}ZCkcdpYfOFYYaouMT|XZ9
z1J=;jOq3-90|^w;ZyTL<W6qyJ#v9FhL8tPt)JkP!yZffP{Fask`4KWj^)_clyHwgd
zcAKV54F&WLLhN;pFMVy%cneuZ;0;M9N*Bi$i?&&Z(o-oP2;9Y$O&AL3HLJM_UHCR)
z+g{*g+)cir^?W`&VX<Oca^I&&VRanPiRmoZ^F8;;Bkh)oDeTMooS#~+OvXeK+op=V
zoKYcCQpGCq%MIj1Y1GTLb37W#>7@PtEr>!}1IA%Hx2Co{0eN*Sv@Cll^7#`Zn#<+c
z1FDvzOj;acv9dPDvOll2t4tC(?E+%A7KNC22<gRJ*pJR5NH9F_P|`EnN~ff|D9g-$
z&(OrZGc3RqK%EKO&a|cxw$;HGJh!xMJN_|gkiZ{)Zg5>_*6-@rEks2i_6EQC;m$7Q
ze3PvZ8JEk3R{xnP)n3+i{wE#svz@<rYaZLNWx#SF<4Bv4M=?BN)b01KmsHDmE0wO>
zYQs@-=G1jo+R}ttyeXuPx_F%79#{C(cl6*!oy+~Jyxu3YJJ(X5?1+6eE?C<GdZE>8
zM3ZHx9&NZdA{hi0zRg#XwyUOwOZGikO=KwguZVr_1Xh_p_*-8DR&ji@l<PibSU+{@
zzFF!)opxqSEBZa@)86ndhD$1xH+e?1Sx%G*Ly;6cpQCJYAzB5?$j*2Z;1We3`!Uh#
z?WuS~NP?Cc0P59BATuK>M|nmKYCvThx~!Au?(d&|SiZe8`2o!mv6_2ycHsSss&&f?
zPt5;iyE<G1ra))*=jp2m<r-;tsy`WI*pGUVR|WxV#r;DImflVEhuix>!ufdaFOnb1
zN{k%*3_*wl4%E3jJ7(xYelKNI)kErAiOQEcZ-4+h3+Q*kEbBjao!G`l9EKm0U_|@;
zqFeZ09<?+elU${6ey0i(B@F*u(Nr7e`-kuGxxh=NYq?oRTJ&fU-F&RPzl&z-U37Oq
zI0-Aot!F928s5>q4ZZJ97bgwjiwti21%%KD8kF*jc14wJr4Qp?r|cC>&NiLUMpr(&
zvU?M`neaSf^#`u!rlW9OHZR3$X!IBgEItrt7p6?v(-N^Gzc6_Jn;6MAV(Pi3vv?s)
z?U7VC1aPGv|FmW@`Jfoy%S>a7_Mtmq<$L;cKEDlBm|x_n<)+hKeJLd4{^TE6{FhHG
zEu<R<?i}U*GjBSlk4)P8KPC&m>*vGcXgvk^R9aB@9<{-Bo=6#oQ}<XFb0vI_^-k}+
zFFMe+-QJww(%Cl9w(>T(=lKw*{!r>l_BBis$X_7v%3|0P*x+rrUFHyY(_9VZFVhgx
zK7hXZA_;AaGhUozp;yWHLFX3cZ}46fQ1D=bTS<P4MhDP5gTupe*uo$<Jy7>=EAeGY
zmm}?`zzV?d_{n@#x;2njz-V{Y`S|k}?=50ztc9V7ei$V~=9_5RGZk&|Zj!hujXq=-
z!-b7mr;Wcpco%!Vut!VJX54&NqRQK^kk<_j)wX{I)i~apc<kPOH;^)SWz=gHJo!Gr
z9A$aeQ^_1hW!u`+X%Udm!U!h)<Y(rkV0Wik+!t-2`k(~D?f4mVPNE=GVmY#pOZ-Jb
z_&hH3E$72LPN2Gv?j8`JL@-!tW@YLHmt0R&;eGxw?KXZ!ev3|_4_DSduFRgenZXD3
z<3Q0!YnIPqrqj`AzU%mhs*^?L*y00kEVHvh;=gNwddokL-gyhYJ&1FF%P6`~kX=Ri
z;6bs?I4g*%=G9l`frE&xFZ*b+`zm^m-EfQ(kJTZ{O`IE)`83v=y`co;L-<u1o#9v%
zC!3Wcv5PfAl!pB!#gV?KMD|4TQg6jidaNSF*73t|+g48z%J@?1L$N4(Xt|R@8$FAb
z-HWO}Sannl3GbMd7ZLa1*qCZMzxF<P-m>NnweW}6f$bBe9(##Jt30}vFPb42)=T`R
zO$29b%(*SpJ-oArGfeG}<b^n!VgEy%V8Mgi@ADvG{xM}*Y;i-GCf?nSHSXQ@YqN<a
z+kzrY`2G~Oa~^b1nfU_u&3m&9-6pep=H;DBL7<~)=<*+~N0?+yf(&T{Mq`$J_k%zg
zOEy<b0tMB}k@)mC7iF5&;wsQij{>1kvMFqmTzx7ZGP`cb9`JM>ramD0FuA-){)lpX
z-Jh|tF<sA?^Ib3!`xX4r$n%|}N7=ID+OkHlDT6kdaBFz2$Q<SdN&gye`PD|OVpkem
z1Sh8TWGia~&V=3sUS9@Z@J!t2A^y92A&<sQ!_FYw!{Ly&r>sU*DR}P65PUwLf|w{*
zU)4b<mRZJ|KkX#Eg@1;B_x37-%&q7Q{eeu@A+R=A$r6OJ$NALi<*o=tc$*AFUiomu
zUJ46CT>70bpiHHfr5pm%9ycf~9d)}Hy<^`x9$``8T6p9L>@M9JlQjxk^{QigA_;{~
zbfG!D8|<*0&9Pn8jWy(*CA8B??S7LiFT%6jH$S|+^fs<cBDOq?m9^mMQdE{Ad|!Sz
zbKS;lRRg~*7Wz_&mULV^lzIPymALKY@oueLD9@cAM>q+F%S!3-6esGFHs8-Tbc0XJ
z<lA4ey{PnV)~t2)_+u*JlB?$8>MTEm3r7!Z;91b(hADr2dzgXV&Z=xOBlxD<bwNkp
z0Ey4}^0fzTrd8hLFO5ih5r20m4Mmz-iP1M-c^Hfx)At8=V})ncpX+DbQ`SqUS!O+E
z*KUV-!jx!@Q9mzU{FE9V&v?;gT!F3_w;svFJ?On?mjy(~Y$k&^o6QIqQMa%6QyeB0
z*gt2EmKNLIH#xS)%YJsqit99f{7Kbg8csu$LHcoF$oHU6U*Ghv_O!`#rx-Q&ms;!d
z5mF^Mb~*7CiMKdH1@`=iI{KY19eJ%mIa*mRuZX0zzrZ$;rVegCgIZ;gZi~m)w&RxT
zT9Ni;i1CN8@hm8ugalyt$@vXE-YX)}rJvZX*}Ac*vcdJqOuF=BIxp;?|F(V=7#4@N
znq>#i@MvBKzuRk#pi#H-5Ebk=R*f)=;`OtXvpyF2{!-vO(Oa>R@O|Q|+p>9A`=j{?
z*uahI6Q6-1iS>@G((gFaa?{K2h~J>l`pFTT-3k+<P(_e94zFFVk&MlRw?70v1;A&$
zaW>spyjm`M5L<znJWqL)1AB!qmr;XZvzvobOwrfZA~bY89*9sMC<&$gT+VKO@|09G
zvZ%U=CfcG0V(@+$jNAHf9)5c9JKf*oO^to5ADV$-prDnwom4=M$c^7dFck-ZrTWuK
z^OdNZbepDq@3~`Jnv?+JV}e36bjaM<?F%8wOpVk>3)u^0)u;|<TJ@-qhlH6K4Q`(Y
zPDqXcC|*TCeI^^ENoW!Hz#2}b9^^dq6(z7FjF30^X(o14`Yk8wF)-0C>_c@W8Lwye
zY%+n_e?rumUvgfIQ!HnPY|KG>B5cgIpo>TxK_Ykfb+ULCE(V4OB>nY~$o(sk@5Au^
zgiMsn$3%d1BepjJw~c{VDpc!*dc_A~m%T4=L};%3ZJ^*ZzzgzE59da@4PGHBlcioC
zh1lTVprE<2>l}~A3Hv;+<3jf(_eaEy)cec0At?S*<Np44<QpP+l(Q?Gsg#)TrWbX>
zc-=FJ#bRa9{F-1nH-q(8bfd<m)L9(WfJbg6in-sDnD-92IbnQl%q*<=$Gr#5CT$&+
zFOtgxeHU7q6*U*2sMbRQ?O(oFUAc=I+E*W6&>TNj@^NRTcW_#8XNkavpLSPFxd}<x
zJbJCg!oR+k!{NcAID0juZ@4oxl)4sgI96B)AKfDn_d$zY(PkOvHA!h3-mRgELc{9K
z`OdMcc6eCY)SR;|(^-ZCZ$zQs68q=!v(*Ls>dewxpD%d6@~lu7AFO7g-qLH3bS5cm
zm;%Dc3GB3Cq^|+g`u3IAO8XZn;X@E%D@A=dZyqdF`Rg$UWprmK&s(<N>L-(D*th0f
zz9f!0%y~PVDT<Cxns|27;XTX^g+?UzWI0j(k;`$j0A+|6tCpT3>UQ_ST?!@iL6x8u
z@yUVFZ3JZLN|s-cWP$jNbfg;40Xc$%f?J_jb(Z#V^qOOu>Vn-1po?B6M~(me;*C(p
zjFY;s-lVIkw6;_QUD@AKR!X+j4JER(+87z;!C<yKW{Tzu<Q*V#2}3+Cu#dEArXzX`
zFE%u>>nV=)9sO>dYBm%ZmTqp;bKUNJrYwNJc~Rq$JMw{QoUo5=35%A{rYfbL*?M@V
zUxm41_84+@N@m&b@xplDo3wp%U5t?<=zq~CluYDvVXrvxN`Q5%U%S~ZqbCwya=a(<
zEpLKqp<QA=x>5O@hsHwN?w)vJ=<Dtqw~6<{`5J8UT*>9fCWHOICD~&#^Apc{DG(9x
zk-z>_E5CZbsI}F~!=F`{xi3<IdV7LWk;g3gDPu!a?Bnuj+G&Q2N?iA=?q4$1%&z10
z=Fn&vypGXY-lB{&1Hz72LjO9m@ij|QVS5T+!(QfxO@q7v6q0duPyhR1Rlh;R?PvS9
zoi9eVn3jdF`4ki@N0OGlqzyg<zUJX8EN>A1KwR&gSw$6vFwbJLMo$4J_GCdY59`Z?
z-MoEZWNJt9+76+DGITOq>J9+?yUV`MSd%995+x-+(@#;2{GX4?Vd7Q>G`QaCS4yA<
z)Y+V-q!07#^6BWozj%ED+lww}s$E?h$MA8O=c=*(ZQecN%ioQ`o;y6XZi5ZevIs_U
zI2``sk#5pOBZcFw*?0CsVv3?}y7TNMyDD^;sL;q~M;_A>V(NEi8+3Lb>woY>(H!`_
zs~~<(T$y*XEn@Ow=BY?NrkM1TQ7QMRb@nz*V@V3|`l#ZEcY8(W`ZYY~fd^9*&)}k)
z(4>eFQ7oP7P`NOsZ|tnx#^bm6It(oSi)n`e)M;zMw#UZv?>BbUB;#(b_&c2%BQE>W
z^%D2%sKMOE{Kiw)D)*yQW@{hGj;Zeg+%tUbvx+*KPPZq&N~u@9b0LVgJ^f;>(WIm@
z`k^+(c`t;vrpJBbc+=~qZC2^A%5Jn!&o)b5x5RTE*3)(U{_mhyKclx3uCKdo{?FIM
zC4+d!L-bm;^nA|`zSl!{LapcMljjX8kB$@(&J1Y!G#*p``V*Qb7uu*Xqxp};=Ka-C
zqoGcZ2@I@HRNL1ei=SjYa#+`S`ql4H5hC6hly`^gx?^OF^onvzP~$Df;=V4wXD_7X
zdASmt!~5|&0eV9;sMBI`#opwuwHh~LSs|2U04$)8bPfc=uD~NJ!|O~k`Y0RH$;3vD
zL@W9cT^R(H)N}VDdbu>2-aBf9jw%1m0$|3UzCadmf-RoORrkG7yfc|%vuDV*vaDVH
zzF}9!81{*-o&xG#+dcAUlb396IS$#oQEc_RI7UwaLN2G3@1f;%?1X67fALG33q<vv
zps$mllY92{$aTu6%WpcdtItzzb*&It7FCrluR6=)br&ytC&^gaFr>Cn6mT<RjU%A=
zGp)x3H@F5Ug(jYsU6jM_RC!|($M}+unrnJQ^;`q^m6*Qwj3hDfCVaE^Ezu-YykyU(
zJboA?Or4%R{Ii=m8ui7y<)`Wc(a4B)WlU%yy&;~_Kx8{&AKM23*T&eFjU`Y0!pKR;
zJ;YQUpsM)R)fn0>$3pL?L3i9@Y_SJFQ%~k(A2dPb%RZP?uU}LqLIp_5AH+NQ?&(1g
z-I(y&X;si^CKzL<PS15A`f5e8W-JJIoWn>DaVgdu3fcG#Ih@K&awPwqM4tKvpdnHK
zf`Q9olm%{C7zbuk#UK*Q`NZXCN`idP>emm9Swc%?fKxj~xj2{00Zs&teUnG);53pE
z(JlQv?z2z<^8?0%DBD8fxjGlwN%*MOO-nQPNW16Wc)oLJ!%o$=$XNn8ZH~!??ZbP{
z#SiMA56UAKjt!QLKnh`<feOPrYq^IG`;?U|q2t;9eTj!I>vE{IP{AqN%aHP+`6d3J
zms2YUUgw)cu5N6nNP=%V1MD&jtQ4*^Gv(2QU95K^6;#tM27>m=>K{G@E#g(+bVzpn
zwm;@F9I~%^7;9f;bLgXke&KOu<l(`wV16Z)X?k4pcIJ7=b+;jdX%YQRSgD#_==u?#
zpyxGzg;E{=BaLM(fols@Cpr+s`C_;IMNh?DXrPqurt&#um@HfFW9y3xnaCW}&5WTM
zPnEd6w&6tkp^b~P3&c;{rB}tRRO6SE(CLv8ZI=SrrG7H&Jy1k#VwNsw4o2Za*q#P3
z$vw{AhkM2om&M`+8k(#4_~_GgVxMh|MiG8I>ttBDCBFaZF1+V|a1D}GuX*&XsAIl_
zR<qc`?cbazVsvMZ{=i*7=G0(|4b73xZFXaEmi@DS*Zu{R+ol{vTl-4I!j&_*okQ_B
zY`~)<5bH@sz&$zL8byq$WWDM41YbvUP5^x9P0h$S99(z35Pul{OoE}^{TNeU_-5!5
zk8gc7qcm~6-t~FU7o%IJtLGKdIvnu`ntDhU?lDh~Mtv*H^-z;qw)Jwqr_t1L@YN{d
z$S+5&iC*VOWGnq3{=a761?kXqevN2QwWp86KROTY9|rtn=)1TwSn~0G7|C_oT@%yS
zFdXatrqti_`bW<;)Y$Nox0IU&5H85=vKo=p$MOZ*uQ<U_A>yE3uam^l$fnFEKD=f8
zq`i<C5~Te%m=5#pGrPZxZ4Hk=-fvN1Snc0QROIAJOJ1<QTX-|@?$Y_))5`TkRNZoF
zz%?p*Pr{^3V_IEU)Z4=u*`TZxQi*|?@PfMg<K056{ly0B;&IW*zBTXqu{-N3V%^{+
z^2AMQYM`i(G_a#L>k2|%yKm=9uD6v@b=FkphE5+5DG#5W-t-Y#@lzEnV5-;)<2yB8
zh`Tf3dtUF;SCl2h-}Higt#n1uaO43qN`Io%sSD&)UHcx9D$!aTwt6(^goNv(j3pkZ
z^6Qm4e}`7vdr>EbS1h7|{Av_vdKTX%cTSSR8y<qmDEJ%tAHVN&yNMn8Jwe^>nPY>l
zqFETw({F2vz!@L<WiqXiA9JPa^Zkasl$6{Xk+r3vq@=i(H4XKVOde^35QI1`$0^L~
ziK87DwR*4HoTP0~r2`2DpGd<Sk<8aiFpf(qh%Bn`1A{o_Hcn|Ob^9~%K!Qaomt;Ix
z*A!Z3(t{ez52;yp3r4hQhJr?lK?<T-Z&EeBl4Tn#1L4UJ`otay>8$ggryO*%e=n=a
z`j80gI$cd_5vLNZvs|_S^^?QG)oBb8t8!e9TbN7{L$`qL{c4K7^zi~AZ}oGt&*L3*
zW#=nQhEFOJi=2Q@1Q$lhXzNwE9_!L7<w=l?b7mUz7$Qd%ize|(2oijb!bQ7p7C2y3
zn_E=wu@r8O#M9+-W6jphD0$6NpNlkkWA{tK%ZnEokL?=(kIC989GIIxxwGWz^3ako
zae6SdG!0Bp-0#7)r~!k2&z5Pct92?v$$7`KJBL?RDmAN3KrUsri4u?11j+e$Ne6)p
z2=D{}D3LRoYrBj@f=@eSKm@XOKhyQ2ilq_{_)!7|NhHw9&9&WGAjQZOWc@0zMZUw_
zmn@3_JOV{U=S@@YYgHpag>NsQWof(=4(Gq!z!)WbhTBnbCjH^TKOC=EVOav8g5s3i
zD}qQs18f$I4HF3XXuG|&cT1*GrlbWbgc~j6fM85^3Q9_Gq_DrUf?=;4aw8!X)OZie
z?VmVCuM|C4>M(S(`ub|(C@ftD;(6rJXezf<ARUN}rTV;}7+9GLV0vXB$q?hTN}$*L
z+QDzX1_M0dzQ4w1l$ot^A4a^olvN$+?O9ewfN2u|9KiWPC~K8YWsb^Go@8J;@bO0j
z*r7aEmeVFtr$KaLNRZtu_+lY<P=LkC1y)(#25L+2=5b#ompJtwt-tT9X@cqU^MTab
z4YC?oo)o^uoYw~<<*%3yCawOk+a1v`$v8FTXMZx`#Gm6wViEb{TRJ%G(m@+@BJ&ZP
zymY(4sV=%#uf@aJnu(qaEF<^U9vjgg!NrE=q)u<M>rwe{NG^{SwIq)Uy`XAYkyw7w
zR1du}i85#X5=hnndG*PEV|S%R`<De4@MBV0undCSO0zfjt2Cig;L9)|L`*2~8-2jT
zdp+rf23<O&#_Z(7Uh@Q$N-0Er{5VsRhc{_#Kbi2u;Qo5qS9!8Tb$43NHy@Ieor4Bx
z79}-lzyB#@M+uqO-3(UewL^h-R!7C^S;kQ9vz%>oE`|Sachqz&S_hn%L!|ubH|EAC
z`JY<z2X1F>?&$(o_<BiL-I{C9WB@@ypFUr+Tf<7btgEZ<ANmX2&~gC?V`XqNkmv-m
z5-+#Qfdl{)3dJLAmeuji3;_qjszCTUaU0htD2&|tfe7;2yz#KO;S=vNaV8CcURA!L
z?WytoV4v;iBp?fV^b+$XBL0vl6EYq0zL|&JmzFO~-<_>4?289LH&POMC7JWyMD`mB
zsc)r9K}fi3;msW@)EaQ@$yAXkc(@Rj;?<8DeU=vigYVJv()9wsFwZaibCZjP%Gi?u
zd`iG5iv(VjqNscqQAIFCxd5GTG<K4ZJOpK|$+PkDTnLA=0n(a&odfZ7<2hnsafAk>
zlLo+}iOuK14c+}5SX_jCO9T30_!lK-m2v;y@2mQ(l=Ir14T!A@!Cn`(FEfzHBo73+
z81E#2L7mEzaLJb8dWAOI034WIY5BDTQDAm;zb#4^63PIJVOSrIyfv8a1GH^Rjn2|v
z2iAsV@|;&fF}3UR?@BNs1FG!#@>Q_#tK^PV){#yU)*^1SL2X<sw5^d$`QzsE?{2*S
zmjAZrZ9bMadN%xJ5PaM)i8z!25@i}5YaSfHH-s@N@We(%2?A;?7hsxoOkq5%=xd<@
zUupr@qXagYMHE($W7?Z4ORe&N{`YZ9Dpt>U0|xD)^CFfZA2$%Y==3_6H0_P;Y*paZ
z(ITBxS1IF*4XIcG2#g>QgM0)U8t})qbhyW*qa@}wvRq*X*SDVZ*zO4!Sc1w0ZzAAl
z@`2Cbx2V~k2z<oKu=`9^HpuI#?kIAGcaX3W<e8njt_*$kfZAhw0t|{&^k<yoa9mbe
zPnvkJx~o&ZwSLLmH_`J+3mHt2yR|WMQ<c`oFE8Olqq$#5xuUc8P5%BsTf~u-^KW4U
znjC#3fKQQ#rMA6<;8P0fLa*H2U8FD}RHYjm6#Gl-l5N9v;v&%tfe{jAfyl%6FCill
ztTNz!5L7<kytyX7-0IyeT>&8ZJZ*4eW+su>NrxY<JrI%6>NazN6l_q5O0h$)+YMnk
z<L$+`d@+#bLyZJN%>aN)B}YR4{Wk_dlVy7Wo#Uw-i^im#c4^JvFN2+XST;*iS^bFY
z%Qr=O=@<H!2Jd`u!AxDGBd4Ss1LYpxEv>a{5ErAlMi!fuY_DtMVkwRCysEhNxU~!(
zon@R6k`nzghf6>T{DR^^8pwVRT>o0#Nq6*16l+E@mJ(gCD0HBLn&e`^aRi|Ui13v1
z97*Ic0{21t#6VbI0Bjy8!cBQZe(%@6QLVZpaUhJWywkdP-q`kzut=oQAz?3_lr+Bc
z+Gr19#Wp{k^S&22P%aIRjC8oh<U})@6kr_`gCg3{%Q1WDpdB@mvzNi_dS03Y+1L7m
zYEdh$vp3tYOaPw*OXF7fPJ!p;d&pf_bFJP@-@Js5Hh?lY5DtUnBoJE{ZK)e*-`%Ks
zL?hdtpHf|bQqT9{6mB&Ib0PA!{UxdbSm5HO&_4fbD?%XBIimw%9dF+OkICf;oHUl(
z<!WemPNz0y@zLefqXW6m^cRd{-wR*oWf^Ctiqk;nt%0lu9=Wf+H><%-ODiqcOSwxe
zo^&5(XhGjsDDGk+5AC;*iqE;>)FNJ?>1Mfz`ws&9JVhg;yn5X{u(Oc5vH+M8+6r7y
zDUG@RQ`zueL(<vQP|N-`#OtX=HQ&Hs?8v9wc+w0dc`_F%8wacWqWGL+xzU~V^vmf>
zB0jX&c%9C}U>~4r1u8IQAP6@H#Wprz2TZHHRr~S|h|y{cx?kJV@)`CZ*++zg7W~_j
z-(j^Fo_JIwwy6=PANo&HTo8MInM(#sjWW<~h<!K%QV~2Jmmeoa&?=<Zj=)zA+Ae`X
zYl>fHHBIInoo=sne$_z8hw}9VxMa6`Y=Jv-;eO$UjB>pel~<b!D^MbxUx+z~>Rom!
z9QDEvwF*ro;NjOLUw(MX&~OA2Tm2KovI=nJtE)3aMU70%pT=%Ala+T8xp#|WG$*p_
z-clEw=A_W?A_S*?8D0#6m-Z^)hVL)9p-bxe1}>?uTlCj7Fe=@7r@LNcWopBkIBg#x
zWpWB?sr3wkls6$b$FK9x6U!Zz`QDl`#coHu)Vh9<<hjb+(3Y_cKRdtv^492tt<2Ib
z)>2@ju?E;6gM0FJesV@JRpfbq9lO;|pvK$11(o4hgqdePP{D5TnM-vR7t>7y9a6BQ
zll^t_JOu3-b2#Yxu<p$JUZ-k(ynMgjTF@l(I$>Krk-2Li2exWixk>31iGbTu;4%Qw
z`|xVHf{^d@IFqAX*YhA23R!OMnBj-~Pf(k`D;TSG+vr2D6Z27M&sML{9pFnY*#c8@
zf4@90YTEO@k5)lymJw#4<1a69QM#mrL>AcdQoyPzeS5x*IwWnD6c3srv+1lI;IHW<
zArEOv!3Lf7Nt|f<aT|x8=udyHTnFPn5=fj3CC+`*P4R-;jN18Rz0V=fmn+3aQX=DA
zqG}b*&}DbqA>7Gi?q?g4in^^pOE6pxRBjjzNx-Kk7euo(?n0B06_Yd}3#D`4TVa;4
zrhkSJCSr1q^7X`UADs;U^MfN;xMJA31Nh$0CpU2o@4Hq0de3>Dtl4V~$I`(~j`dOO
zBQGH#*5sa=fkAZM?>wgteVUOqI=HbsSw}K%>p20N?%t8Gw)h8F?Az1$fYxjEXu5Ut
zDc}~M1ORul+q2CYhfOI(1ESPG5I`wnnt_{+;uzB#M-(B9k@qwO9dE~e3szoM!mC<D
zi(A~#QKz|Nh33c-uG!)GZSsos61G9^^(4?91eUTc1BN(q4D>%@h?dH|Ssm}6f>DXz
zzN_xb73#{Ls&|!9S7s*O9@vSIn~C^idE!fItot?HqtyK!mdmU7{zQ6BVIa>g?%VuG
z2i(gzE4|M8sc3+gm&G^aHEJtU|2`{A`EE<909<JcYPtf7ZUf>R6&zoAThE=p*_dH>
z?O~drcx61O#0Bs%V*`Z$$JbRxRkgO;O^0+zr!*29L^@>CT@p$+f^>s)cS(n|h?JnD
zASK-rB8{YUhj8ERIp==&yWhC?2M&gevDSL)d7qebKIeg+*p>-odqUI)*C@7D=0aVd
zz9p@Fq*1JZF&FgX4xd2={R(hae(~Rl8?QXVX?K@laM^vtH;0d!@p@ACsghz;w-^jX
zKjF(nRzGDX5D@V;mjOBnHb8h+p^{r2j#9hcbc|sA`6yk|GD3UwY68vHN=>xIX|<=$
zW`e0dk>M*9S4@EfsLB+J`CUZ_^X*Q~4A02x>)TiechG9S3%V2*U@vLQUfn=OLj<RJ
z#uM=C5`!-RYFeZ6dE+K<JG9zf`RP|12bSSPC<FrNDZ#R;Kq5}vA2$gxRj%ACciI@>
zRApv=`;CF<UcwT{jBKSDy?V2`x!K(7`7>3g44^$%^f`ndedKjddi_*?HjcY@vfTI<
zXE<t$YvV%jOQ6KNTQ8&xAmI82uvQb11CQ=Nm+|}BR@%Wz+F*Nb;C4MggHNT6hPH+S
z93Xte<0Kc^qUd=SMe<Ogf%h0Fjew5GQ1A1351ajkR;?mA{AWBFyD{&(ij#FeGGIa7
zw$m2PKA2t&3BAIjMCa29lVsXaXWM{OeZhiiUNSHJKGmMd0Gzc^z~Z$As&*bq5$wu6
zF=S=~@00-=cRELFJa`v9SV^&5=wA!(;jpvaSeM0|>|*h&u#>JN1wIpWPbGI$tHy`h
zgCkGw5g|R<tmuDH9W*5Wk@w4bgT;m!nD>dK{=O(1`I?z<meiibi>V{AK>*i}#$yf`
z48x`v_gM5}u7qX?x|9g`E!0{>*LH|E0AC&)hTVUE3$PuMPBd$W)9;_@teu1_nh6tf
zCShHO&VUKV(v5V*YL9vw{O+ywAOOTRn0*7hHWq;V4Y_6m<X&aqse8CdZ4w^YIr>}X
zD}M!#M@m)rU&|R&L4A9<kv9kBm?B&Rn7w!ECg+rYwx^cuKikvxX1;X`cwb=VWKx7Z
z_VT%(z=7R_L}Q_y4_Z)pd$G_&r><~>e#JZu3g#1-%b?}?el<}|Ws+bc|Inhlu1NQn
zlvX~7`C7Mti2WvLIY_LNhFrJ>Tm*ma2lq)_4#)>-c{zymHWZO<trA|2<x3)!gI4Qs
zQX&Z1nR}%lIsM3)eItd&rd5_OtTPJbpCfx{SHGHXCkyb}8V-6q4_QgB@rbP}K>&K)
zo5}jE1Hmwu%-mMJ!jYU0cpM4f@>c$m1aRWvAUno{!vo4@3Lw-h`Cv6N4wMv9i;R$y
z_y3^U6i2$<LnKQWiBpItl1yuG)dR`z98of|+0AIEaCnOU47UbT-~UQtHwHQ5;5l$u
zQs4<Az|ZE9hQT7(J^*rc5$H{z30RjEBUnhGc2;(boH<>!U_Rbzw%t%?5l=Ww9R@E+
z<oD$L$0kLp=RLx#fcxSgZ7}aLB3k!yUZ`BRrXbxH#3LzmQmET=pQ=1eIVOW8OF~2N
z^)>$Nh4-l5={bLYun;B`pt7U4r>kh{I>d!Q$l>sxpS~kH(15rz^mwrdIJoz!EJ2EH
zACfb*(QA)6J3J$;@qNo2Za<onE_o5yOT?eAT4htBPhK>eF=Fzh0B%q%khCFE*+~bX
zR1kfWV|obuWGv@@)n5c2UNE~7SSi{)?cvuCv(OW%`0Yr6v*i=C_jtiG7!`{&e{I;}
zeT*Yn_O23lqy1JRd<b<#LA9p(8XRYIY;X|o0+ENYN*2HJ+MuUx1B0eE4mRfwpwYjI
zI_~c2iP{daB&YD_eZC?F>w3W*taOXl;wTZCgD~3ldjK@YBvyw4Qc3}Ej-nsY+<i1N
z6E>55Yx5=pe!d?@5pU*Kqz5{4r;5{9SH>`((Y3q<<}-y!nf!1AnC}&$tIyYag}~rU
z0F+A^@M2aTkhkI1nTSDpf!2^GCFVB_5H{Fu*JZ`}=M%_38aak<-)}6<ZCvI3!w_rW
zhihvk8+`T^6a|Fe+a&YIjhSKHCs<EugWw;)zPW6`SN+#e6;cn+&w5y<)PNjC;^SmN
z7fXkEq+8LJOhP85d;rCj4A8ytA1{)x1GBA}|Jua@kwns#EZ~nlmY)9oN>$rk=4r<6
zVw*Tn<Vux^A(aIFDNlXLwQ@@j+U&5kd1Y&u<sW-QKJd3a0=V)yie{3R2UFssi_Jj_
z7(zqd(Af(#wm_|8kw3;Vw)XnEp!}DTsVP0^>>3HKFQtofK%P|q_ya~Ff4G!L+gj)^
z!H>LjX06|t{yg7Sh;`HCpOcP4Hu%}5T5=sU=dcFiYxE){g2Ipta2$>@nb{V@LH4e%
z<mwgtBq^QJ1U^QEA9|N~g<1e2d;{(ky&}D}!HndD>qXG~nCCZ;?qbp4{`LP}YnHPS
z&&k(dD^Pnaw8{C~i&b2}<e~(8<9Luu;^5qo(bWcMC1vHIMrg@QS5C)TJ{Q?fp~lb<
zBz#tF*?Sn$+sxRL!w{v<7c0>ro&6v;s0Q>Jv%d|fpP)^rPl5yjC{7gQdd4!;=8W||
z_rV_W0d$;y-QaJ_t~U07jxwqi;>jdXjo;j<YMV+@4Hi8HSxF_p>?4{G2ZRb!PObDu
z6EhcC%Sm^Bq>~pt!t)X#KbNyaw9cj;K1;2;5`N7l%-{lgLKtze4SjE|$*E~ZP8}P8
zzpOt+{-;DmI$L7~=2wkW_SJr&kjHPXj1<C88e|C<l&N;XO<oYiq0*3?l*9r`U1G|e
zJ&Vllmp?KjV;wjquwlB?pZlaN9Oi4a<=?fzA$}2Rmq5d-t0@lAS$BHB?d}zuZgqZJ
zQRoSLWi8rLnKoKQz;@j#OeXpJCU^_IWo<nKo~#1s8;=)Co*)}cZ~{)JZ094^U{q`Z
zZ99wL$H1iKrm*X9PG~w;#@IZ){FVql!0takpqiJ)?<A2I+MOB)GFUl=KD&=Jr!_CH
zafEWsgbRb;eWXl2Kf;1OeA`fw{+cM-FG9oQMznPoD2_`#)UV42Ij3k&kp3$LW<1Kj
z&=Cofzf4K?iBlfv8l0Kyz0G>)0g^?Vy@?Eb#_bRuW;TLMluvdyr`z1Y<ck;YC?cvw
ze3Qfb7n&^IB|Y{33Y_7k+@FXjn4{o=?wU^r+XZA<$;UwO5Q_a}<Y|@R!*Tlm-h@Bl
zGxHvEeSfJU{nj}ykB}0*jy9N?pPreZ+Z|-48QGc_fbK*AJEnjy@K}IsEVH`%XK)EA
zJaD=^vM4uf6>0^Ddqi_`iYHcC{Pqd}8$#lhX&LYk&Pq5GK>xqKky5}hAlGZ1?0bV#
zA#XTMH@u~+EQnEwjS1Tcy958v51hb+0?ry;z)zqtRc1X_;Nf)be|McXLz>?DX*{a|
zXf4Zu9CiNUt7~OXZUc&Tz<HbRmKSh-)cR;R^|0qn`>T=sp2xRasPr7Ti)(LcKfRnS
zFZ#AvgNTv=C}Jfm-O<t8YrtC2tyzM=EZtc4z(p(7Z>u=14Afh1lSq?*2@DC@eVUyD
zU(@$xX}+o@jK!u51zOs_UHmKp#Im`8kWef=1H=9bIzNU$D1WXJS_l6i8ZMJFbUskd
z2%epZ;A;^d$nO!3j}di6!hap^aHKZ-?311L`1Zao+b^v0V2`cwZh1s{9Y?v#wPe+C
zu%|gO5iN!?zZnro9Z}9@Bvj8wB}01wUrxFe{3HK%CZbHj#X_W&O@c-xb6HX;PwcnB
zJUpe<ktY)P#7NH*gjH;MwMDWcto$rMLo9ZST@z$T*$@`5c*_oBjhX_{2Ra{nmHm4E
z>?51asRxHPfKVwvk0vH2mIh=<qBkFUf6J!o@!H_sj#uq~bJZm9qS=Yed>c8#ZprRk
zGKA{O+b^Tdgqa|w6yoO`>N$PD)p8Kj+s4PgW<h`d1K5ED1Qq2|ZT|j=`|yrIz^r8-
z<gc)$f=UiX6&vTFObt43tc%5<W8a-v%lb92C_9Az{z(SzJx1OYVEAP3<mlI2xxw(s
zoEgm#`J8DVkzN@GDGi3cfaQ9wU;qJw+}`k**x2Gf+&IN-8K3^?6P-bp10*%TI{(!i
z<_TOy8{me#l=7G#0(p5O)^wjZ$yh<LKEtMI=6_!hEa<#T+-^)8IkEc)PcIf~FU(hT
zZ=y3tmW{k;4xWKdlwuqJ2xD8IIIz3W`pokYp6U6~09SJkW|oOv0{-3xXXzl#)sprX
zVjPxFv5xU-^`HH&qtpnuOpdxdPCBK(f(Z9mZX28&m>3Kw+bFfFw7vR`uDuL2SnbRG
z6@WvZMvm1gY={cNt1LWqVn?87eFA7ZLd}Q=%U1**D1j}pR_o{R_;FFdl^2X~#fM#^
zC?Z2P#}6!W7iXR@e332wV`xoaSgxU0*RaW*f3N^xY2UmKuvoWBAj3+Cd_p_pTMnUB
zql!Tbm@JgVMc`B4C1^C3BmG(elJ<A-NUh-;^oF|oi6diBIp{^q6|e`Y-mHK}ULJM|
zYK8{QQL&F(#FA9^E^s~r9ZJ99S9?r|?OmsM2MS&TkqtoH0`du1Lf)UlIdfJ`1~h8&
zMz-81Zy*`Y!$92w|3n<rWoAKg<$B2&U8mI37Q~Z;3tIoZQ?P7(S9A7GBmeF0AqiGG
z&o&cYt&$0ycL4!auo8qTp#9T=cQoGF+4j3C%!figXBCiKz`!QLSh%<hLb(Sc+ffy}
zggyW4b93Qz1+u%F0B1()*?+db$VJe>vjDCNHVH-v%Y_!N?nMF7j(I--gu`D*!60Oc
zaKi6N<1v$|QJ0RO5#dfJG{g@%Uyf^?HuO;*jd($j5Q5`C?%Xah0^(d`md;~R3c4U`
zBj3YNNK08v*b52(6lE$eFlc*~gNj4RVhz{P^TcgoZ^^FQ4<3kEcI$3Nq6B6w-Fba5
z(gz1+9_SYmQ&`_nH@>t+r+{@2fr~jCsL3!w_COtzKH#xPe7fS%Zy*wY2nmP-Gd?YN
zzdxvuhEoVtp!?@puLA|Bz%ep1M%FmlBkz?Wwy7--)f)k}GK%N{TkuGp|E-|k$(Zbl
zvqeli5A7oGBcop>;9uyMs!%yCL0$!<LD-r$6|ut>=4&eow)0AVQVT_wA$yX%**{nV
zW$+wOhLiy+q9;Hzj{O6XK>GnIZ6bs1Sw9i~Z9i<)ofh@c=R=+ItFEI1WokB`o!9Rb
z^nX(Ue(7Nv6T8S)_a01*YGmv`i}u5x&+Et>&Ks=<f@=`(rClj$IZr|a5`>g$9+Z3_
z%~cHXfe3(~lo@lx?B(GHKf=QgOH^{$q5>cd5Q%~xr(A6}^zFLfUV`NTz(r*AD!8fD
z5ngdquLpU&JY4A>esw|iL{wb_*|-!;VZmYm0uu5lCD7Y>Q_j@lla5BAAM(q@CHfrc
zz<%*_E2JKx>iH3*2oOnETj8!v0BOG?#Uk482LUn-To9%`I#3Nug}8g>f%=(53$Mga
z;CFWk<RjcDDk%|Vc^{zcW8>x{XC&=I+8|$mh7n#%&?o$Tl-ngg1fsU9ZFYni1nVyh
z5Y!VCu7k%Ch0U+fwZqZ~e;*hwJ-+Snb@+T);z`pYd=X3k5I7Ea{=psz_?xJBXaZBx
zM!>D3=ct)P&OkS4gbD-%3@^7^cSYc@P+Wk82(19(JbF%}kX8u<T5W7J4S+dl3OhwY
zBOJX?St;RBytgELGBtDIv#Ms?W~H`DaR;s?)_4hxr$35Sic)G#*FWn!Vn}xx^Hv+u
zB7W68W^_YRSEybTNRW~9W663s8+J6m_M_=n4DrH4Jo1@g<c`*A@7IzgFB349f}>p#
zK10eZ2h-^!bU|6ByM)Nt4ET76DPN)+00|kt1cSk8?}wmC$P!QD0+yg5u!cFbgiF}8
z*j{-MX|Q$$AV-9uj1m!gPOxf19gqtwkCC0qa(8ekc9xDv^mF9^>HvWNh38|CeMW1P
zUXawuLht;&98OaPQZzxFA=_V)F;$r%v=a1{o{;K}<AW|D_NPh#`lB|!G#GXG+tD{_
zYe|TsU*4g|)3;<Ch^>QC>{<c|kmO1@4^tNN3`ed04YEw*;3#yjKMPXQ`OKwXCpQ{{
zy3f9L2<juz@0cJR_($j?9GsG<;3OTZ(mh_w48l?UeL%T@LGc^ZhtR3}J!EHq<WTVz
zC^_DjK+e?&@Zy8$4ThG#0j?jj!HKkt4769P!BT4DP*jrZK(yEP!$A|0?h_A)*pN4g
zA0sxJ=mqKlHlo&wBg*0d5R>b=`)`k?ig2=QaOeEz!#Ar9GH8ihVAnm(^sl0bkn=)L
zs$Jo9qc2V&{?HP-+x|U1n03Zqbtr8T8#TkSv8sdym`Y!B;X;|V4r3zJ3?a#N0E9?F
zfI<=+7x6_5(ccG$<1SY~oFUfG8%;JMNHKB-r07VCAV4_|O@d7{LnZ;^!1MOT%jz?o
z2o0$js4T7AiiKR#{UU12*t^1};8zNu58!XKNfitl5k1dFKS!>XlJaC1aX%Pbc|fv6
zl4SrfxNH%5A4-Rk({ql{i`?sO4|#{4fzk_bGT4SPqqt@wKq<#0dyKmW_`_@>?F8lp
z2k~o!9YH*$C$y_%A+3lpEBhcOSM_{j9_)c%*IBK&6gL!5`icd@5Y34|8H_rLxX|Yj
z9)6z>p?!exh5V<J+wB4_Ae)H=C9a&jusp<uz*Zbl>1xsK!*kdBl4aL~&5)X$R%JBv
zM|8&X(;~<dR*}r(Xv7!z$}Cp**}wYj{4?S2jX&Ti2f3new)Edz8wV(vZ6nj;{U{Ei
zEk@$+dGrmzP=0z6gHos@r8Y>8l5%fFfuSh2y$8;0pi}@-1PU|$lmvABXznOyIPODs
z+hIE<1UM2-=vY~iy_lXdHCF9k-Z!TZ&M>RKg?fJSSn!e^4Mjq!cnBJ~;ce4z1m*<q
z`UB~!?$4;KkM}eTT?eM_Q%!wKlVl23GH4=ZT7~vbVn9J(xuh5r3JOV5D^hCDWxUEr
zW%?(AH8x$WJRJh~>xldJTY~l^m|_wsaZv}UdXd|M@e@M*mb?O&5g=Vm2zTL!5K^~Y
zw0)Ki=fpe=24tjrs!SqT2bLX*Xq_kl_x2h1MUO&AmoQG2sSxVcjv+k<OF^7E2^jhJ
zxUgCRAkOIi-8Q06be8c^AZThxyGs<FVZunu#9ht#%c92ZfFhUms*gDUGPu8u-7^Bg
zq`fB+&6aa;WU3jU_N*5rpZpG0;A9flq;*Dwc8yp9znxShftC=8Xx-g|%GcMT(IR~G
z44BPyx3M&R$&$(-EJ)(Pq?Br+<~>}|&-Eanh;)$p#7u~$fljvw^pVqXg+eIReeYY6
z2P^SDKWf93DB)BKM#u2%17syGdWGr|dLbmV;D#PlWAq*TDN5CR`Sox!<z#hYh>q^S
z8&!xL^bvyBx<EiMmBh)t0F+zO<NX>jA4L0}n`<Bi7Tqc4D{QU%!f6zMA!h1eDQn_i
zHD3`NCA=lneIZ&LB)7DgxgF3;59<d@6Ck<j$y!_iS^Dzw3-yWw;n-t=A21^9HM9lO
z-|gQ6U9ouIQdCl_ZX&Z41BE3084{S}8<RUo^Css{<Wm%Lg;*YKRA`TW*dx^NZaFG1
zfZu?b<7|@~=LMaj9viC$^io1BC^r!WnoC+>($b;75lT6Q3wJ;xga%L_=(ZUc0SXVy
zy}rBk(@FRWk=^&PnLBjrOpFoi@JcYu)Jl}d5H5_(0Vj$x2B{^F+gE0U29iLD+cQtq
z+qI4mMv$cz@)q$1@`Ek~cRI`1j*rxH`W3ogD37!!TZh2%w_r(>3uN8SEp~oVAY@P|
zFoY^vR`UIWl`6s-q~y@Q1#J_;9r~ubM0eesd=ZVpjpz$Pd(SbtPPZj!ZqREK8rXx1
zS~>#B<#y!mhrAZh?jFH!(rxi{vTERH=j?dNn3o`hRv72e-pAg~#rCD3fuNmkLFb5E
zFcb1IpDG{s4z0TTx@iaPm8l)6#Q`}jA@dJU>dUm=>#lWN8FG<;^LvIXpfvle7w0Av
zAiuWqab1g0rS@NDe6zT*@Z{i+8x{2=u5k*JrFnBOBVyW#w%-;N_6RAov3fapfmW6r
zJ4>Fjjuwh=+!T%O_*i_SzbqkYgU2<Pyy8Xgba*(%iw6+8aRSGKumm57iszhYAXA03
z?ufbd<Ea;$1QN7UPB%0Xg!~Y+2nfM}MxUde$bP2(KBvFYFxL)7dvN$EK{z+$J;b1z
z5L}rPm@r!03?X&Utky&mm=}mZqoP|tYohui^u(_wHJ?(5E1Dq*NBP8y9CleE=n2OZ
zxW*=r2a8_PhN6xMT7z0Mf#5A9<cN*&7qhYE;bUt@Wx>XcT%Qmsk2JPmD+vm7+<49@
zipi*U6V$c1PK_1{95s{Xn(!}gP^QE@Sh)bQX@c!pt5I#^nA<Fw3y|HrKS#FH&(xa&
zpbO~GiPVSB&V)!zA@^t1-V#$kB<1iVT22i4g5oI^EQv-MXo4h%5P`51IE_q!C74@d
z4H1c!smgNd#5h1&4IN?uOvjG|=H%BVypZbfA>;r&NP-;!pGo2Mj9Gl7G7fnRzXa(5
zF15&-FR=9IGoJYfqsx56xssl2hb~*n-TMfXKmAgd&?Fw_BFMd7P&nzdM5FuU>0syF
z&M<o*3{hPx|H6(Au~}<IKH7{w@7fZ75>Wj%KoYfG774wZhDaXK0itWtYtr@Q@$@V1
zm2@3)T?}X}4G%v8$Rpr6hlP_GBDFB{hY8H~Y}IgH9Z>sSpJDreoiaA5cZ$1!?L~#p
zZw5dpgeGRA_LM&)@`l!AGxdJe;D?^0EZ!GUE<3}bk{yQP1gUA0?Sy}N;lB3V?q&#-
zb;X(_vF#ubrW4i5$GtSNpPNLwV3Q~<imX4wk#zgH<;YBs4gy)oEA({tA=Y>%h)b*!
zbWn@_wZXQuZz-aI{ARbJ^pFI4#A*y56aYo=S@b)%G02NyWv?dd(ZZ3_D+vnF+0&ph
z&kR?}k@)G#3;vLLRB0Qa<mtA2iZtVzrhw>Blrf3DcDO15!A2WT5N*jC59>c6ogsn=
zG?Zkw%LGw-yoC~&cYIcO7VhOJfrTsR+Hv}FD@DT))L9F(Ki>KmZ|6?hSWT*v-6R69
zFK>e+CsDEl5aHD{N7CjRt&vImJkd<LoQhFI91l3I=9YdU(Mp91dQhlk`*xtyDPd|q
zt4ZWO>pZ>?J$fjaYzK)tdhqR(48kgc7J!xzg+~z*XMz-h9a(DYAz<Gv+_@SRTW3d#
z%eQ0&nePd!HVt@`&4<*`CnBeM({Vw1&$wLxZ2_(2t51-j9X(`o46UuR2U}eAZC*B^
z47m(tU4U%9YCj%?`Yuf{0}_xgA0`MKfqHMK+eW{{$eX-`x9WM0S6rQpzkj<M<OSo9
zZ*bpI8+xvxtmbzsf!afu;_W#GNf|=5qemG^zmq^@C+~;L<(?Kl%FI6D*Z8r43L6o1
ziL`{_X1PcE29jAkwkRcdv?$^9)f8pkIQzP;u60joO_lV%G{sb_c)X>RV|7Z~4hW{4
zvG9tBMq+YcWnX$DoDf-0t@Er;O5SXlCcqKg0J`@MD9L{j1aRP}Sa@R<1UL$?OP0Lo
z$H2*U>fPbgmXRT$o5WwP7Qh0B_ZK^kKF?!%?@?~CcIGpzh&bo8BLYIg!he>^9xN64
z5BO50Et2HMN|tC#SXQSZ)4BKhqyRmio7zl{4m(HsC}or<DaK`kuiei>Ndhdi@>40$
zjB>T-?{}w~<I_%ipybTx(s7~ZQ@`nfpraE`&1y&;qIlfgOFfi@A-2TK3~r5jOnZb{
zp)NPF44PU3Am-R*edG$uu!wI?J}Rwdn2aga7do<*jfe!vtAG>J#`SQ9VuV}=&yqF2
zN{Hye8iK@f0``IzEH@vK{{)j-0+vSm*f2;5g0<<XkUxYD{o+;;*y{ijVCs-^YJcnF
z2Q8_9TzDy<d<je})k338=%2*!om<d&DiWwvfgN!xX^sbZcoB%XvBZcI1<Yc@LPm5i
zjb|~KPx{x~xOVuzs(_o-65p&v)<W?MA9Jfu;kb8BI)uRW-WFFnuqJZ&0k=!E9R~gP
zB!Ea38L9cU!AlNdp*gaFD5jYZo?fN*w1gByq*Ez-8%H`6PE|BdDvbs3zoSVNvH6as
zGG+guM<Zk&d-L+3(lj}|<(bEVncaA`P4IoJtb2MPQq1#BkDY{UaLs=Kjf{{?hUas?
zQt1O*7;?KysFss0;R!<);6;e(!spH~F{BK==n3S($_6AhqUYc>P27R*2~xllQvPxe
z1}elYY)EDV0fM!p0y5^5@$VoV)%8WBgCgYb&n20jSR{r=qT)qs;SB9e7_hSEYDj7*
zxIqL$b6|YfQ*K}b3S0y#CoR{av!WazHH26Zo#A2U8U*m%P?}}Q&pV1Lg@%)|Qjd3{
zHwXDDZbAY|z_cB-YnEf-R6Ll^Ck)3t&@kno6zc7zh>4~&E=u-P@EYTI)=E>`Hzs9a
zrId8P_NATGlOFGP%7bv%qb{?~9)`<a5*uP6t>H#&F40Ts%#A<1_r2QWYtKCjSvx*$
z%8Dgg^kpyWJseIo7?#N<d^W1Ip9Q1Zt}WB9aUCxnTJ~N_b-@(!L2RW+PpPq9kHo#S
zC>JfUK-*z&A+_)zs<IDHFC?7ec%P@O`Noed=*3_g8toHmp_U5BQ*?xBY}k+DiUvg#
zdDd?TE!-t4$mNny(XK}*UBDl2zDzs{ltV4bCd~pPb$AOEXleh>`1Oga2B^1pSC3Nl
zj=52T3$n?AqKr~Yq-tQeEdODOS#=Hu<N3o!kN1C)nd>XiG4lMK_a6tY1s%2LsOY1R
zbUI1{;$GOPObAaCzunD}{gdHry@b9-sJEK{QNGN&3xoO7^#C6v<t4<9GXzq{)Z`k3
zYT7)S%bnb9L`VxQGu{yBp~hZnVaVhx_VbjrDKKKT37xfAX!Be8QhX)5cF(D@>j3{n
zcC(KR$eUvBlb~Y*Z2PjIuIRv@ijS7{-=&bPiYqjSl4jHqtaj>-{=u*+)P8lNP76>-
z>px7%`-E9mLv9`9L1WSgsbaYZ=2qgHm*}bxX@S2fb1ANpSG(te35@@FWn-RlX--YY
z^`#=x92sDrxsMzg=7RcjYUbbN+&BHHlB7!^7=*BkHyKYv0-YzPJH$aL|7Qbv!dr^T
zP3lD*&J`h|HHMX!dPH%F%8&7Q?m_+hX!iDVkeV!Zau9!uKC!SmY10E~h#ZU<f0Glw
zKQpY6^H15FZ8bhf=YX@|B0kDd&w*0bLftcLEhl{8%B3>qF%HU^4?Ov#`WVl|>w*b4
zwbgClDdYRwIAS*8Rj$@A-f_E1)dKdHUY=Yd0QaEK|972nzK2Ffg7yYi+QU&4H|ls3
zIkoI2vOFGWmJ@oIX13OLX`BAv)tGU6tD9o>$&s2IjCy1aUhzL4EJGF>@=x8=LlRYI
zH2ej%YtSHE&<g7la>gxOfvpM$p0aKGkG%XmNP;&#`3-6SYKra9<74;~Tcm(nmr>e8
zwZN6)&KM3v0q|8rKTD9v@pt>*^@YE4zW>Ve_R&s2`+LEN3#ysbo8H~NMf9_5d}j+s
zj|=V@iNmK1EXBW1S@GQPg`!Sb9)NKWVemaDz=WMthR@PRmWkl+(ieDg5fRfD&_q}x
z<1eecQ-682s0#ZUxoJe-{{+?@X&s*CWFTqDOYa>Qkx7WpNs)FeCI{OaILopsP82&<
zMR{Wd!&_fs^<9PJy}Ib(+S~0wm~VuZOXTT&d5f85vFh-8_4d>Z3~up1iYNaXoMdAA
zH0*>G|NSZVGa~$X`hp6WYu`O-s)#al{NIwW*~m@8$G_W{3+P~V-w?Rl7z(Z<(68N8
zhp2jeGa{&+0+a;zg)s#zi&VcjZig8syp2mMmoZIv8<qUll@jcTv_4$Ggn(KND}hA9
z8^EowZmop_D^10S$T7{~H{P`*_y50uWV-|qM-e#~BNcV~r-;o*^!hR|h!a|bwGh7B
zg92q3auqWtGqo(tp7OWhgM#02*2Bbc8~u1=oiNw12vowc=k(h$FoOu|y44Lx7-=a7
zek@}F4{S0mLPg*zAdDL3I*1^VM_*7CVV&EF<lVX4*Cl2&+?*Vd>w1E8>`gcZqgQYp
z<qeLA!pFBpg@mP%7*5kr-QB&8xE+x+5=GOc-rkJ&u#tpO)G2m%A_E+Mx7Tqg%~W9m
zYb_s|D~11$aJ?E+Y4r#z(2L^)WXxAgz3fH4Xfpy;YrOn3pv4D>$PrkFtu=?|IaZ%V
zzU24Ze~JH@%#Q}!U7)XzHK+DkhU5G!5`MG^c`}7|KJsSvPKf~q+%88LGu{#|ErG<Y
z5dJB10TT?l-Kz>IV3@uj7sp{^1QsHW9_kkuL5??u1S8tH5Nt_`rEEWPlfB?*pC>|N
z$&rWU3AeAT!uTR0zT=Ncqb=pgz&fcGhBI-vHXfldOX%p+>&wAhBGB6jO&asjj!j!o
zU|Q1%O4E4iRP>0n^GdLXRPBcp^qJd`4|7x!=Rib5?su;w%|fFvzV?Fxortn9q?Q%Y
z5!<wwEQ~txMzt0-(!svmL2f)#79%<$6f)5J2c}m`t1W5&tjU$N{^fio=+dMJKush%
z8Iu)y$#5tbXvO&kR94f*OTW?;pZD}E3dbXEfk}G2_aC*%Cnms%JW2;fWNg^p^Aa+H
zBMey(g`K2zcA^EG<sv=Uqbp#8X$3?a923A?XYmQH`SB5yI*!rQF4*wv-2-3&s-E}=
zdqRRD@kRt=*Ks0)1#y>&$B{gVBN)}_)zOa6JmnB{@%5uO5LCvNP<9ny@q!SZbt(zi
z2P#8(h(2F{)!Hk5#)3Ag01|ODbm=?=SY2)egxjKlyQMfu3^F_zcP=aq>%F|0;3;um
zZcu5b<=x~s7orPRs^VC|VRfRN>A3^=c%YQ|=zEhJyR<YN@e}1{-^<zq{Z|KH&_eL$
zL9JZ_&@syZo<0R=o@R=8L4k^UCbjn_ohBhDzq9gR&PRgsd&Pg0-%;SE$f_EcqQcZw
zGAde}cGglP^ClH^E@qK<mMhKJh!sjhSv^PDGqhX1H5Td+M-5L>{MT$Q5AgNp1`se2
zR>WK(vLRa??;<*+SRj0TV`$yJ<M{Y3G5H7*Y9urr+0G)6XCVy**7(*xb|G~apK1^|
zI(BUBKw_)e%+6Eeli;gJN^SW(<S&o`YxECP`@QPl*eE@M0h&x`pj8D}R`%!yDFw<=
z5H3o<^Nt=NUlFl-y1U1$^891~K<X(|HUL)OMPY%z^$9MfuxheEp-F03=>CSD%P8eq
z7-&8V6cqmZBA7*Jpq$=N`oBy5fHZJZ+=mI@A8aU|OpA_dWUuK9@+kA~b^Ae%Alt7z
zJUI})kJ6NmvJhwuCw4|AuzQjs5UJBW^%hvR8GHelj0C-~8MY301n9E1G)_Enh7XnD
zm=UE()%YCx2#W-RNJ*REdgwVJ<i23>JId^Ls<6jYx&5)QlZ;NqtWNcO^i|Wi6p3{k
zv?Y{Y!<8ijk#~{~0E9N|Ttx`&J?W?4OCUgV{n`J#)jQSH4FCInV=R#T_CAqV@LAdg
zLcCg4hN2)fglo~Cf+1*0fA;~P{R<#?5Nl8e1*Di^TSf-BF^%O%ptp<nC45o7^?qP@
zCMOW^k`(Yz9F|y-B~sqJWobcDrB=yWo<&NBEmL`-tDmeFG0@;Imqt@bJ12aK*w7br
zCY5wmpe0<cJrFac4tN%$Ij`PIA{_ytP1M1_Wr8qtSS2P$F4A#9V;TI3T>X9>*ao5U
zg$x!nsA<z9CLqh921wJ<uW6f7uf0-nY~dBDL`MO%Nl$%A8fP&CwnMbsQ7jm8eiXL>
zYKFe{gjnzg^-u8?9P)2fR{ggpS>sd92?+>bhD?w*QK)L53k$;)s4Hv&VWd)!DIe7_
z@{<Pb8Az6E%Y=kM4-NeC7bV~#C*yRYkv&8a3ut|hX%~Ny>^Ojs<K8pOVI^Fs><uL%
z7K}ZZd_z}-kK$_X^Btcp8nfbno4&4`8(*8L;Afl)I*^D{CqmCx_r^n5IHC~AI1r#0
zCxF!E6)xdGXexyQ(@wIHiuPQ*%!rP@Jl7S*pTZ;`Q<FpA4`@+aGwJt2Kt{kx{2F-{
z$dE_S9R!g>cs{1a`iTeMzzwo{h9h(!td%B>0w|<jV><jXzbgt868M)r$<wiIM)mgG
zp73uQ>UB|RtVjru-MyHu94nGfwgz2a=*3+w4wg@rg5~6Czc;!t!~35&ufuG^{xXCO
z;Y$GSddG@*93+nUi4vVzxKN|Z&PvO9Vp4YumNMi-!^Bog{w#*!gh(7I9jRAJoywoh
zf#NG71UW(amf?sB!M6q<As~gXx1Mm>2oiRYtPyO*pBqux;2PvXxZ9Gp5qq+{xFnB=
z|Jy7oI#URwvASj;VHSndkmC#W0%Ia`$OT;AzBfK5F7D}it1Gj(ryOVn%fZ(7nl%`m
z;0|E+?k-+q=B+%s5P!qVrLl}=yq+3tVl_BwQZHs_Rl$V+{=`@+Xw*P2aY}%!Dkm;l
zu3jMk?K}giB3<l53=OxlMCqY8U<qPVi|B^DC#Q&llY)9&Ulnl?NO4-j$#6ghJ0yDq
zKsvA8xR^KkFFH=O=F|S*<*typkB@|QV=^w^e-Gb{(Pk_R<@BUcw?o${YVel*16eL`
z4aDh>B4a_*ygUZvcZ6SWyg@C@LRxzo0E5u0LFXtzeL#PJ%l6ZU)SJs|T|Av$BWC5b
z8eR;Q_WcJ7P;}qOHxc9yY=*N1R~D3vz^IKHQp>N8;4ndLe~6`_VOkCk@2Ax3>YSQd
z*B}K7INnxLTi`=-jcMjjqH~u41W=7^&?o|ped_Gz`0<%`zQgr@!E)#0P^lFu8$`#)
zm$GS>j{?<fRsi_rdojfUxCIn`K*L1q6XzZ?|1<!ZtrDKEWGe;ZREw_Q(wDjS?ESJ7
zHuJz>E6kf#`FA|oI0`f#)SuxrJAj#s-mdHkQ>X^Nl>&N<CIEJ&I8sq7#h{EZiWC7f
z6HRwlmm2V1Y(VwfG!At0(fAt20@-K<ht7lA3HJ+t-ri{<ucP=AVL|;y0S{7)o4uv^
z=sWP3lgNkv4i5}y2_=q-(+ml|8RCDu8kNGuk2(UZq{bu`NS(z1N&jnX=^;c1QXfDb
z2%(p1pmEure4Fy<#nX-U3%^JLMy2~mrmHj!N*aCWe{h71<$HH8wrhEBHO*t0XNPsA
za7gn1pe^r}EzdvrSJV&&(EpJ@_C*39!HeLxXRG%q{Pu(kAou4|c^%k3)6gJjy}jDu
zbKO)!F#m0Dck}z_^KzfKKYK`J%g@gQ#1cB*72|ne4?Vzl7W#v~Z6s)72>1to8+!-l
zPP*5&`a3{dh1@6fzdGAxFEMEKegtr)u?a|Q`-6N^xEuZH%NnCs7cQ!LqY=kYb=#(^
z0UT!q<)iBU$9O64YB`Q;#qc`Zd(bRHJ#-cZcmYB-?8D!%QJrt%T4}KWsRPQ68lVF~
z9WTt#;OJsCUK23t%dFLZ_$av^EJ>1!ziL6BLqSg!KbOIy@OPlZ+}`)fxyRPr=?<ML
z#EX2ImV+_2!;<xSHwOCjyC1D#7936;{&!pm7<#CJ2?z8*n0#SlN9tyoy4@V82HOCB
zNeaKczLR$UU(_v~(j{`@0D}+T>}D^n8Bpv;4unc$>)+ZM!(Z|2|9u59XOB^kl9xq4
zfNH4#-a{d1jG%FKvV}5Jq5bZ4neE?}9OXT3m5ZdAo33h?Hxd0|Sagp1kl06FAVocQ
z=xGo1tmS|H12eCV6&J|{*Fi}XF*}>ZIH(f8^*-I6Z1wSoijFP>y5X3rOcH>F9gamt
z53vG=TX|@pXOSo?=v(A;qp_1v%Z7<4W}<Jfz15SGOfl5~_a3X)p*u(|{6IIo=;c52
zZ?#P0@jL<?LQqj22eiYK`zQd2cmG?Nx|CA%j{yLwp7_z|BF$+DDp0;n$;q*8#jfeo
zf{KxyAG@llL*-n*0Enfxa$c#0@G9>>$0@>JGymzInIE|5G;0L4)DFLlT2SI12l~=m
zp!84(UKMrItCRs{HJbv07+szX?7S}PgY@?&7JC4p*;!@4rDfR0<V86}$|(zse%b<z
zLa4vQLbxy{)tx3{nh6eCHTfrnQGUhzt`)SJnPlLFw@ws^Vav?M^>FI&(E~k)czyv?
zrZSvi|IGrlQ8e~u<G(G@BaVq{8Ab^nSQbayQI9aM7#I%ObW2elaF-!t-xb5FQicOI
zJO57HV5U9K0L?blz`}05EzK<eoLE9kNGhvlm<rI(ho3-jcc%iDAL|phAwCc|HxSi{
zfyc*wGZDoHkME-3beDN_Ju_UkUS|JwwLTJ_7D@a2lr5XyAV8g@`v6@IZfFY*aBpMr
z4C;WIQl!Wbs3~R<;D8fms#z^`D0H7gCH!2ZLY6Mcp<#yX+b`hsW)^;=ivKeoT8973
z2j6XPVm6N%Dlvy{g8rwM57UF*$*3881R`hv@y>4%lSJzRh63b^g_gg;(mD2qVV%TG
zphL7-!rPctNveqH#{61gJ7zPmfvnxWXW+FaCE1XfvzeF)V0FA81k{pkp1-Ljt{`i-
zoCidzgI@hU)d7vINJP(O%z{|q%wdv;`f5O_`p+=~0`QE3&>*FNX}6uJ$V(?Tj3{i-
zm1DfrQIG#tp{u|a&u~M_3F;Q#3C_jkPA%9}R2CDpIqE$M&A45Ey_5T&caq%!>{$+Y
znG8UOI6w83z5v)eHw;J}0E(P++~ZOMfY%i6d$b<_DZI}33u0-wE4Wc7KRFonXFhrd
z$-ouAsorW7(COiO7c`a#PK%@9&4w`;Y>eA17;Idv&FnCXS@AsD%Ab{TOaFVNz)iYL
zJqQFPCIBk}XlU>ukIt5Bv#Tedc_l&o0CSCp>NB}rT<sw)|5wfI`2TrKntmxo7|PDp
z*;%F3jPD^Ge(wTzh|u6acSs`?i0eNFK+71QA3%S^09U?m^*JvY5xb57z$L~GEBtYN
z5N#_$qrnO6>e$IH?lO61svH00fslba6RfJxPX8lszpf47as4qPRF;2X*i%$i@4o36
zsRLqW&LFAyD-j^X8V5jas$8unNe#BJr~dWiU%^ah5G=b5Yphg1<N=$DAV)=*us}xx
z`f!en(GDwI@~>x#{`1V2tMNW;syRZ^0IW!`Tx0#%VW9|cZxwkX;UCxeKR<3B{&B<y
zVBCn7CJk8af2}0+pOqvr7x-KIfatd78K|+aMji@Tu{zDXCWYHvl~Q2V*;zAyStsBR
z>!kh5cv1gjywVQayieHxjba?w$TDCZ&rBkMHHK4bQhGgeKBNfPDPn=c2LsZL|IgVT
z2Vt2>EiiPYu3O`?;dB7h%ffEBQNcodJq9<@89*|C&YO{O0>E=RdK^hZ{<1x0|D3hq
zR6*Yh?)RWYEKswhZ-*lU--1?wE2=P9hy_`9&!R@bzfJ8+FtyW|o?y8UK5#!rUHWT_
zW&G>P1?|3JARa6Nc2^VhRb!C~!>aQ<G!^nbDQn<$0UV0gr_LZE{$F-jXcufS`9Amt
ztLC9ZUH<df6HfwsQDs;a{+IxLQq*jGgbcyhec0qYK?)TA<5B?Usy|@FvOW7)abVi<
z!p0805Qyy6Gz=F3;>YVXLW;YDsL<)ggj#VsCM(g}2o_NMjc&<ZG_TG%%yM)0Pnc$U
zOi=gIE^GeVkjU?h$W0o01=@lgSW0ljFrm6Pebj@3Y><w)as0ts?;@ci83snB272sS
z|8?(vZ=MlxUXx3#ngzg8#i)Q-f4T0Co#%41H2ldQsP$ke08b`uIN|^WWUe8hX7OJ5
z-Wk|FK&SVPj3~e+TA(i&gYk{lYVn%9UW1PX;L)4zZm*>q?0{+ptCdQ&KOVdbH~?Zu
z0ze|1WjOXV3P6mXa1tACJmCzgrVTjlMKqnXu;MtdMM!LSXQDlu{cU2H_549^uF{J#
zJ{5^!g2Y4q>nvDGR%`kcUP4Y82;v>USprEMULhZnZEq_$n$m6m<$Ui;{#&|f(|>!g
z4S2BktK@d~9*3#W&fq`0w}P5NRbnREMvq4?uiAL6AIOnp59f)i9v&Wo!2d5rlDYoa
z*fz!@aF7_gjD6_ADd*@gp2@&#D=?b)kaHMqzkC8NC{&wT<_V#4dl3W^t`fI3Q(*;H
z@;j+;9QDt>mmIh(^B7>L9B=wthV`CcePj+gW$B^^wb~~)wg}22@S%owcK-cEtH=PO
zP2Sy@{yH`BC&q-u4bTQqsHv%ev$p}lzv<`Yk^(J-|3E~{wBSHQ$5aTo`PF=ZNkcc1
z@0*10xUs$9gYRnzv_8=H#r+u!423Gp54tvfK395y(W5fC$<Z4CR6iv7K@(+n)5!eP
z*ftB;Ye7J`o%lpR=#}#!M$S$ieMcR=yJTWG<e(lgH*;61odYWz0s0kID(ZJkGA97y
z3bl<-bAyq?nk+Rxjtld?2W~OpW(%|P@YKBg-pi-+;j87mUh!?PxVp1*7~_OaJZ)6I
zxk6lTlIZG!(8F>SrTn!4_O_eL*tNB_7qB|6+ovnJhK0H0aZXI`a5)c+_zT(=L{$?8
zoa#dlE)I~veb?pky)JS%#r4DUA1(V`LZ50^H9runtnSFj$QlkMwJi-_&xu}YBCCge
z+sFCJ%B2tMnVD(TZaT|O&(8Ms>YTw{kW(pnK_q#-QnffUagY`IX}VD%wZPkMad;=&
z@KDe4#D2b6Hs^BV#IHj3HGbr?C!n=RPR+-#@={K(XXj;$!#6HQjSXHMJyg24gB3+x
z7fm+wg_V}Q+5T2voZtHwnD<xjZ=C1wb23TowRW?KK2A(Z=A!w|w-;Mv-b9iZcE-5S
zR8wkKDA>_spEV;|?i?>~VzUaG?MzE;L=YNXd&@X$I3KTdt#Qnne#ov|DC_8sh=?HY
zrxqY1^JmC)ChnC~=K)+j-pZ~A3Mwik5fO9r@=8ht;4DS>8;N*i4Ce@_s&5r+e*c*z
zU(7}<n9ii!<*=w~Fc0`k-!)-<>`5zxX`<rgooVDo;o%=K(1Hw3_dzCb65xO`p%$3Z
zGAp(^FZfY2yw_@5q~^#{5++3idFT|^gF;nwe6MDsi6j|S_AVHq%U5pwh83jJ#fqw1
zwHD1TIf^PJK&eV$bu?q3RAsEqpYl!F3E5^(=skJqok>wreEh??ZIAGJB|<7cwjlba
z59XWde;qoI0FPcag^nuql%?p`xz~~L99bR)))*3~N_Kh1PV7CKazbTf=2ulw7)%mV
z44jar-gHciP<SrT$_}Ml7P9Dnnldg^Qds7y=b)LGt@PmRs4pcuMGoKQ<$m<b=Yq;Q
zoHvq*iCe6<>)k~^LSN7nMMNx~z4xiIfMu3x;=|ZkSWWb{8mc;bdU$%Ziqi91q0QKg
zjA{Lu!Y+rI%4|8&wBElq7gmYKEh0*MrA?RfwHA_+leQ*ltTv}&J)2&guD>1Ej`Ei$
zs&PG>)c%&7Y-5tgvwO~#mx5L&f)<p+4hW*4V=+9oCw{0uS$kswVoU4SA76fF!Y*b_
z1<GA3sX}go_Y=dYuU`zj#^eDlVfMz0slpx|c*QV0U}hYf{e8VTRsX_uXS`dpdwc2{
znnC}%@|B16DPKz6L8Mo-XO8B8^KM}cwT)HH8Ag!3Rb5*`0mjTQi>Y};*zC364nMxl
zM2bQlkI^Ch&pa_%{F9kW!Z~)Bv{k`i<DN7m&bdD+IeGJ_5h(@FKbGL7ff(_#wL~sf
zR@1G|d9qKz%<Jn`Zi&o&7dZW)G5l%=SK#tgFpE{N@%iThFBYS*nV7~SD_qvGwwD5q
zr&YnFX7mgbzZ%@wO_cW4ciS*oB}Kf{1oMGt&Vecb8Qa|5{-$2E0#Y=SAoG;}xoWl#
zI6EArKhB?Bo@izzCnpX3<kSo^9e6#E-YS>aj*4}#6)eut=<U5RoX$5kCJat4>4f9L
z6T=O}H5+bfD^X0;w9}C{1H+r8&-bzHtWJ(}Ha5{-i+{*qX?(u^yqHC?5(>ITu~)bV
zRhi{o`CWdC_TP^K=}b#m-<wmO^GBIx!W3U=C*Gycdyw9Z>ll!G_?;{ktrgu@r4rQ?
zHX73vmmNQ!=_|Bi@gJM1x1k@8d8oxdg6PM4*!y$^+;VyUL-M8yNZu%>u+ZJ=)_@|5
z0o#Cn{pL~cGl$!(l$4W|S-)%Budi8mu4yy#1dit%Qkv~D>VcjP8HMI&f-0BH%iWQK
z3fWu7q3<J`wY*cWUhGc-vB+Tt_S2c>BKx%3dej?5@R(v3K-BNk{;sfwq0gB!r>f_i
zs;`)0X$K?mnFUr^tb8IQt*tVLDDgyUDm#NSt@61D|D>Vfhqb$#`H#FhoX>?b(i8Yp
zNpPUo9OobIqczY5`*;Cev#PHH-#=C;_w|XJ_a~n_*EGfVSblOOtvh`GQ8mkXeOvr4
zTPZF+@4TVVG2!yldTzO3yLVA$;S?DV=K|<6>%#q%n~x3lyTD-4m_oY^;~r`-^P7Df
zm03^s3odLH6L;C!zD$<yJ3Q{^Z!r+)?FVp|_;Iqk{$DQ`saaBP7oxg-eW54w{&T(&
zw<3<)3Z_pwA`A<KS}44u(h;dBjaT<`-vP3;;oR#_FWla%osw@wPgR=T(nX($w5-Sq
zoerF_M`9c@<X)^l1GhfQec-S{jgG-}I5TYhl;?ft{<Eve`fL;$g}mm2PW_EBo{L4<
zr(>aQ9)`e#lB#pQj4QUM3|6AyTN-ICEir6%E>yfyI%{T7`@DY2{+Pv}#C0MnW#Bv;
zw`$nHz6-%X`%Z1C6hwtufQbPoMZguq904cn5!|!c9(@Dk+qHUYvq2I;h3~Qdtk~&Q
z@jZia3n#69-t+Wg@A(GL#Br-3=))3Ixcl>f416z-nA`-&HA&JN&GFe;)zv(mZSPC_
zs2bbmRimh-L}Fov>XUzwmBzxxbX*s~G4;_23#x406M|qg!lm=x{L*LdxBuB5l2ExR
zF4Dy(dAR`OC!6Cw4sXtxsHB_tQgOyPSmYAR<r10XFwn=}X%$BXAVz6z$?ZQ3IWauT
zxjW!zGDnhkf9&INyeqgb(zhV&vHm!@_0oMW=Q_+iZCL4vu;KT$ld5;PG~3t88_Ru*
zsXo?v?HcF(a=jIrrE#`R@$tBzU039<*$=B-k%XIIQb3n`IGJFrKUFbVMC7uq>Digb
zR$Z~~v1O{W&PiR?h#-~Y)j>r@cxHv+*O5l8tM_XH3XIn5G(8#{WbBUz);f<x%%E?&
zF&kPwUBCVzO|H|Q^sZn&do{mv>z%)!N16GD)J&1DJm#M*1-M8*pVi57o)^?V)A=}G
zB|>1cdgy26*GhA73*DTn+}Hc{DHEl%DWF*8HY|aaHw`%RPpqw3K%8HiyURA>3FHXT
zfaq8Rpjj4sXC*sJEF@<%jOWJLt2S>8=u95}&UHT*^mx_jy}0rC<;}S7@zYnsj6d&p
zhu90mDYbv7F?i^fTf-BE{OzZgOqQsp&2)1qulcZMom%LgyGLBJhtmg#gvDK>{<`N?
zjV_c@>+G*+NPIt5)_;heC}%R*@$97;KfAbc+r@9IPKd~rvh-Md8NaI-ZC^XtXY>R#
z>v(hss6`S_lO6(<JbimO?<L9$Brki@c^Ck-v_#%L_a@e3AXjDgnXr{yTlti1-puaC
zkFnVgH}q0cJ|AaVQuAC$u6EZ1YVj&$qU$HUWD19ro$Ebw<)PZ;_MSGXrBf<6WIDuE
zJY7icSD$X`+cqwxWkOCl=DdSThMmqbvIqHG_j5mIeHCZ<CAn^wF{o8=7Uku-!&*t%
zcBwZaziVk*<zAt#fXq=(8%$^3uVe|L=W6d$+ZZZgk|R5%jBma>??0`C4yR1cCtV+`
zIXr)Sak3@yCZ0yjaUf?d>E`Lfx$Az59{`;A0aY>W&}I0E=ocq*I^9^37jKVaWU{i>
zY!5|}&C9js)b{;^RCU)1(YEI6yx8LfX%TaO-`me>^M6_qnFc-<E2C<2UidyuEE4w^
zC6dIdMGTkjS*$#H6~ntU7=mKXO>l7V^43-)5YKp*z?#+zwk;WGIjQ*w9zV#$QDVr-
zetj^-=k|ED724C<shUSws*057B4pg6__O>b`@?7z)z`#O<45`x#lyVh_Ais(bssAw
zz16Un@>}Y28Z8ZM`{_nnHBj^(EVLzkr|*}8NB0yxNo=0|_>l1XRqLJ692W`4wM?Vd
zb?inU2b*!9_T2;PrlzKzcmBr4`Au9CLqkIayU=>a+#5p7y{(Jkjt*?{`iHuumGl0?
zTdob8D|%oxOK$1OX7g5i5zENA#*;S4Vjurb{kG~Q^Q_gwMrR{b5Oc~tOVr=KS^TSH
zcyyD}cOh_4n2xTiH;>)ock1829(bsDBVJa2x?`66{o)#VWhAGx5<7dWKEzAGoOOyw
zZr8`6prBx~yf(~-_x<dd4pkQOU5Jp6@F)N0^$vH>D`!8vsGl2rTGjqF-pTUk(Tky}
zyRH$z4{txSM6C7>=JTsPx6QM%3xH`SZjjlZP8J&&P~U(1gFQ{L$L@Q1I*KhJ$qDkO
zk@ugUHgyXPWv`M#3AZ*;I;Xdvoxd~>G|3;L_t$gBTOM1c&KunNSvo{s`&6D-Za2A&
z15pbg&u;*A$I;12-u98EpYQ^Ea)Phw*N<0Wg<ng&jdXVc!b^NZM_D}U0Q)!3#qt+&
z90RZEcRBU9ez`UHBnKje?{k~#-hKG&I*<RoJO$;2%Vn=?NVu%0=f{a2!8p2PI!z3@
zUP`_X6kmf;{4X`%S%Xbu(Q^cdhZ^Um<c2CLDz;-FCw^rN$e)`Ft<9EPSwH*o=ro^L
zMi0$h2wJV<7S@qMC$0o)C%t+GrFg$ZuX-_k>of9d2md`#_q{B`CEJp%;Jpb32X!M|
zgL-KunE_Pb#d}-JDpgNwWSo~b>~`%ZoMeNB0{4{M5ELKw(w>`5m8m1a6-Mfmft*eU
zV8>~+4#^ABs@`Ixp1JK1JwNXJLY8At?<a1radqxC2SY|#o(Z}%8Jcof-}tdpopkw`
zTowt<%600(Z?@0w_1KVLoME-@wuo7rSgj?Q$cV0{_;L-`{ucG~3fsFFmEkl0oo8Aw
z?w8rmDW8^i>;JVzmwpKY7VJ}8vA*5E?hKc&r)gHFLVa|+V{A0_pV8n}C@Ua)9zCw?
z@v$Ii0v$%*eww58xWr^7v*oWJSv}rxyt`P`*?!fQ4pwDP5Ufh@cL^tvkpmGkq)sAe
zaz-hPy<wy7?$P2+o?-hj8gmtq4Yv{RhCtY$PRL-Lv+8;x6?5V{i8E~Frs-|ddo<(~
ztM5=6wrNyv<$qJjE2atN>YpLirg1dBSsRVN6ik~$Nb1@Zh)Y7Zkj*+2={$~kh_zAY
z+W70e|5JL+k1G_;DOBYd;FvN=l@Kh6W_&zw%BU0SZ-oN2!hj!Kebe_48sjIwezmd%
zExcvN*2Dwrh;WL&wJ=XW3&GKYR_b%6Ze)bCf(M_;*y&?t6mZ?UJIGbqjqOB!bY-*m
zxl=nUrHb9*xu6$PaXCqSpgwa|l#a>*>}|O;DKz<O$>n=AEK<DrV#WL6z>RqEx$>>{
z7tp%I1Q>iCpmgP~^xo`yhm%SiwNu0Mufy9ed+T42SjNk09%>2exy8(Jh7FpJF?yNB
z6+Y0M9SRc}dGJdi*Q)Mu%RUW-pMXQg**4|*$=QCdURmH7n~iB~?!qmS;Jt4;#oXqZ
z5gGc;i$ZtCLBYYD7iGOH*+P!^Zvx+xEws=>Eyo9c*RhtMW8-u#Hs1xlSdS^2ti~D_
z6n0|b?aur@=LA|AAONk-{*$R^4mMTJPs_)Eq>d9P-7Nve@!TEe<34U2Q8&~7V(+cL
zs$Bl}VL^}-q#H!KWg|!<prVA*9Riz>4(XOuTFOl$(%l`>-Q7rccRjO@p7lMSU!K3<
zz1BJF9Nl~0GxNG<UOm_K`CSGX6#->PpoY8H_Xa9v`whQiwPM;-d~*v@%153aW4W)}
za@FLj%{6$dey&NU`&NHl>JTd=Wse3@O@K@FLGIjL3)1?hCH)`G)^~^YFa54kUrfGx
z6Ek<(ZymmfQ0bz3KYrNd@%zq-#r5T;u&g?2<J#ALVILjOreM>R?x#HJr)I`1GEdd}
zGXog6HEfZPCF{Lx%B0#XY|rNXySK_fTSYoqdsjO;5(<jQgRnqa4kUV+Sp1!>Etk3O
z?(PWsJ2c`ZuSJFm>^m<3iO?Uvh|1lRihNd6OX^$6q6FoB801Vm5aD;QcUnwzgP(mJ
zME#}p-6RP)58C!{SQfVuc|X@djXq$M9|VNSYqhnt%%<6?LskZu)Wa|Kw|C_PYdkR1
zOt33HMt#q;y1qJd*zeH7sS4x?G!L9#vh5a<JRa-e3ps<*LwcZglPYZ2wi|m}9f|Gt
z`HqZ+uU|ZLr1ZHOr%aU&*2~VPMo8)S&UYJ>n_H_^={koNYl+G7oz`n%VW9va=-p7;
zM}2@e5Aey%I5-N7KBiW^HC@@-O{=NDQ*p#+4l--icC|OYAUHl|qD&G9)RT$LHu1Z>
zeB$jdQOmq_a`}ZMTXAVE9wzYZ9~CbTR))s^71*BO+40$ki{({>N@x7faqWQ`?WNb~
z*r$H;5l0<L%dO^YIJ)ju?oO|j3z9Nz$NPYe<qF3+$qpmICH8Ysq59o+QDfB~jTS{3
z>9r-5B7<@NWJ;vs;5ZTc^L;Vd!cW4HxthF#CY(@{l=dDK|4?v=X&93PA`Pd8Qn^E*
z^z-qF1gK>a$rnC5sXtYGy`PGR2=ZTH@7|s;%-F2GhB-{pp_;49R@yE<b<Nk2=&+?)
z&XXtbC8KpOLlaLoa1Q$CFmr&z>?qW76!ZXPJ4ehA`d#EYG2XlXrXhTejp#7aRZ7b_
zyKKC~#pB8P#lx3AmrY9#-!C(&avU&2peA`&LE~$7Trj^nSIUbg(_|bERz`;_9xW4L
z)=@Gl(pzr#v(5ev*nfj0jNOzcg`GT%phVi>NI6h~(w|~GK$k_SsWmoK7rD8z1+a`B
zg+I5{&RA?VzbbyDux!{D|HT}ge*fQI01#%)!>=e$*Z0lh`>1SRRg*9_gT#OZjnpr(
z&7_LEbBbU6iK0}g5_2X>iwAc}8kt{<T3`G5JvraNn-Q@VbIXr1pO>p!bJ?O#w)K=q
zAv$px4aB&seaC39XG@;e(~EWb+v&l*ey%Bs&VsnkXCs0WckG(87?~c<^Fp8ZA5p!a
zx*sa2q~~F=q5N9H?}=awSwB_c=WEWS0!0nGjt>pf_dZ$m%I}vcEi{P~&<(XcuvUqY
zF$os)ZrZ>8BH~JU`Gof=ewlh*<&Bgf9@YGTUu{yx8}?<6gSJ4gB`QP)BZl=){JeYu
zO}~DL-e`(tv-+}~z3-y3VJAt@??%H8ZfuTwANGq)h<Su9&7E?cEC|Cx`xW#h?N=p6
z)KJac&70*~pkGrB$fmJ~pMGHU<b&hbihDmet@tsu<*W;e!H&o4;gpT-+S=Olbrx5p
z=k7B~q7hTKh4(zp=j%}Brz=M2vJ&^|3hbjMTa50sy=s$6KB?8pWqrGJ3JArH*VIh5
zwen02#2_cXYiKOc#&(m&T)usK;bBxkWD2>^Z14+M_#jyK31@?=CKb9xgrSP;;<B`v
zI2(YDA?`I*wwTBvGE`H;P&Q>E0F=1(ze;@8@8gXim-*B)LHFzL;9!MpSLSrnmwhcx
ze)p!)4e4rD6q?C_uDqTOpVx~d)37tHHAY|7D(1{22_Ip9@6^D{;^Dzg68;2T92cSE
zOX8OjuQD4qm$ykZ-YG(#BGwi>PLQInm8(s=baL$A60EPs9+cDVNNk{oK>PeZvBM(N
z&C4jn4T~#tD-OCb?!L?8!FDjQP+Ny<gsu9**m=mch21HzEd)iOjz2G>e;D)=i7qVm
zX7FCM(-H6_3}=W(<lBw(-*-i{zB;^*bm5zsY=WATKGIvrA)d~MU#8Lq9G5PDB$mSq
zE^OZ3I?Y5}NK~DwN0yR;gmkA7xH+&pI5@Zju(0^)KDwmU<!Ngdw&Ejz7lO087HBk{
z|BFw*ZNkcNsp7`bW)bm8vl#W65iy~6_#-E$HLS<<4>lmxKTaj68h8;z+=Eau-aVOE
zBbm#Tm1CRJ&nFU3ucBRwX|{%vsAw=nt&sp@$*-)Vecm4FoIOCYn$eW5UyWI`xWADn
zzJFF9u-@@h$u*0gBcBpuzdp!c#Q`C}OTRjZQQNKX(n)my?_8Kact32d<6Dkk@v=LP
za_@m&$1{ID=1ASXFc|tM_r)V{sG(vqL<>7R2_FGKWq(3^JUOU{<d{yEvmLJW7i{n|
zl-Y1{a`HOtk^|!MuK+6=Wh7h4)cwty4#hd|3ujSVKksp>-b)QDJGJg(g!XU)P4hg(
zL?g4j_U(rHRZLiUa_gvpc}fg)YK=Rmd+H6>H%%G#>j)@w+^iKa({_4#daDAwypf-*
zt<gZ5x2qOZ2iq5${X?HW1Jx$8Gf<?jlfE?<7olP}v9q#54gB&2wzaZiFx@ZnrWGf8
z#AQRiNRm(ppXjy-ljEP^i$<Q=B*NBKR=9@<uNd-1`LfQSQ^6SE3&Hu&j?!RvJvOER
z08Z2n8dF{=Jh?!`MCp9KM2UvX8^X)Ht>w8!GQF+qC%tt_My2~Lz(XAa1{|vDh5$i+
z<Xq~ou_lDQ&e9&nCEns77OAv*$kKRkOsONzps_sK^5%Pyx$JQ!Q6-ID#1J;mt|v^%
z)?Sgh=-CJKb;Zt@u;>k;5Ss4FVnuY>#%JIIcGD@Gyqf3Y>2@~}uE(Y2``F@!-~1mu
z|LHl4`m+pK13ZN56JH4HQkOi_3xr{$p{XVjOjvqwjN-IFp09L17)v}5<%g#s(vUju
z!e((ai8HxGw6#GNezNCB#E)!H8#}e(HmU5Lgt6Vu<;~(Oo>Irh=*F)f=gmsBj~cLX
z9rOP8;X*L*jP!@!N2cPaxypVzk%MWf1M!S~t0-8qA)i$7DCWj5Btn1-hZbne77;KB
zz-uzA^O7<FaqQ6>(?!oSsJdaKHMv?_RGPdeVmjK-van7UhzuD=R{3-A6K)gA07U%4
zZ}(J?%W!KGD594-`uHPzQ#=z;!4BH8r!|7$9Xwxa5^=wE5BU1^Wm`~w$9L*fI~T$5
zR9kw5h}kAdxyB!eAI*Oe_JNUj|IbLi9=s7BrySpw)%D^)lCFf?8B+az4=mm<I=Qu3
zetEn-NA@n{9g|7-sg}mU@dn=U7T?oXR}AHNDlyzF3>c}NGC=57jc~cJ{zvGW<N2<a
z(@az@$~l^^36|HW0u1*s{XAYgy5+0JB7syA3pJLJISd-@L&>Mgh_SG+(v_aTTu_i6
zEVcDs?dPgOU@nN7T0E1`vB_T}E)eg}h=axA3L}~7cu80kUfXIVOKo|k>vI(t!rNTD
zt<=`j{Td5Y3;x*ECp;{e|DBr4MrC!bfgc@wm#Z-&Gk%DD5$Jqz5<&0r5DixEj$k}t
za_{qJF{{me6R356r17Fk{#=`XlB@T95suIAVycPU<|^%|%;#>vVVMiN*0%+l<AJov
zj=4!k<WpYTxliQh7f->}C?bs=eTLhn`ujDUr$=b0p{VT+7)JWPhMbILGpO4_zI)=f
zO8y><kT};(BeGd@z8{ehtg`3ErTgG;wG#!_DQLZE3GI%huqEtyxwUGkKh<Ix&ZJ-%
zVN48>`MuPKU-%Zm?|$4iPp?w!(i>Z?CUiMZ#Cx<*aHZuT^5NR+SwpwQa5}tGi#Y7@
zAd*LvlwQA@GjvZ!7CV-sIp-RvM4Zyg_pU@Wq%Z7AVjI*j0#`%CQV^XYw-!bElh+#2
zDxIznR;9^8sBh+9DJtT>miZo<9&D=DvHwxE>=VRYvktG9biC!9DbRYOOU6v=ifyWX
zR5r?bt4|!0N{CFufwE-)VNdTm^A`2tLy04M@sV;W>`gzIf^b`cODLXM3|o!>qPN)7
z-JDn7OFppKtafB~<!jYlzf5o`LsQ?l9tmDk|7eH1scX_fetF@aDO;}hgDcv(j&k<$
z(`#VZfk+P~Jglfz*<*v}9VlMOT0J5y&-U)ysnMJ84CUOqBH?wqL~@^XM@6}v2*noJ
z@W-JF6>F{z=5#%lSRX1PbGF}$@KL6#N89Us_9aw6p^+XLe)xr8(In~rIs6o{L}Lx3
zr*5pO#b}|4g3Y7D8u}dJ4>1B?SofFno{c*@LOX*h@7!0H{BaX^I5Tw^FgK^sY>D!l
zE&W55n&!!@Z-?wgjE@n@b73iBM(t;>ll!ms7KW*XWYgTS2_6ykQTkS>kGujBqBbzs
z<Rpl>t4nKIjZ%nHN|jXF2nZG4{tQUiK3qq>a@-#vtMRzRimSNud#e!hq4}$&Y^jxS
z>U1aOR*zE-z)&LSIp3tYcG@PdKBWw%*_sob&7bCu*m<UaGwc_BamHh3H;J?4m#Vp8
z<Je%zks4KFx0a6n&Ev)%-N|N6RPhu3+)c8O@U{TbD-5FMtDBlEStjZckw&Uu_3_rw
zK;@-dZ<p`f9uH0}1nx<oNNi6wV8oSMG=6jHmZ`Rgryjo651^BOv4yBfptvOjB|8DS
z{U0k4Hik4+!FczfJMoAkoeIJ3!Zh_#Y1Bh1Ggq|+BZT6dlLtzA%l51ARZU8z%_hT7
zsWqR4Fj;)2J1qA}K@=(X89z<F61}1CM5d|a*GsgQSg;@k|MBE^!*i;<R~RD&3Tjat
zDYk?0a+xaAc;Vr4j7n+V=o#Y{GtJ-M&M*Bwkg>9{X=#?2>(D5svq+pz=`x$P;{{rW
zP{dp$Y~8+Otw62>rqG7nMpjj_w0)6->QacqEnqn;T|O-Rs+4D6M(f<@I<lxEkqyNU
z>zq-0xHd_sby4K*h3_H3!K%gy-ZKq$w>-H#!g}I6zA?7xpP%&|9eLFqO#Ia5T~W|7
z9QI~|+0J6>1d42CLyM-<N5ZMO(rjiz5zAS^#t6+8rPB@CnE#(P@?^bM$Tb%3Z?$dz
zu)U0|TJM}uJ<cg%A3E;WQ;Bg$jJWi*6|c}{hvR#Nqj>Gt&XsJVJIz3TnX62aj_gE(
zplF?PXNHs89f8n+jhk>ZQitDXQC9uiej$6oEif9>LWA~SFDtsExdYKt0WP@0N{2yB
zu;jdGD^J{i_X;=k*4c{Vb;uQ_$M!9rg~i>hX6?TJ#rel8de-kdzU)E*dV6E@BLH#{
zMYGxl0r`+f>_xK3<-;9cw`r_4zaDyX(gpuLm4%_Gz_4T!Rjn~i>WG}~SP#sim*~b?
zkC_%9KY`%7BY162kLB*}#+rN^k*U|UxBBE+6E|(T)i!FNBNh4MA#aF$OIrft3j_=d
z#S>OH-OgH$ZslxQ#9|ZEyyq?{VpV#oCC4l;U%t$O_0U|o%cdw0KKLf3x?-aY>ol7_
z;ffb2*S?`(ryhRvXazE=KFX5WZJhe!$HB}vRmGmL*vi*5y$UC-j_b223RdlM<SPf(
z7f?m~AF29QtJ@8kN_B#}GcNcw#XHr#E_k!Mzi2F%`(O`s7Z-W$e<P~f5&NA4ip)(K
zG{*A~8p_xlV8Xu0!kpiy>)K5|@eS1Ls{FXW-|=-G>*gzU(!-V?d{S~XueI#Zwp#{u
z7I&ie7Oq=u9dm4Lx91N8;^X5-(n_^$V^W+VqE#!L9ul&`GT4)%y7k#`AXWSCzj+u{
zQX_A_Ua&hGG8eGArzK2=Gd)*ZWuw<#>%^#$Yy1_n>B$q>omuvC{npU^j_b|VuGjrH
zSS8B2(pK>z%B&J6hbsp*;969+?}h&Bln;p$EUCEL-J=EyBjyFOUzXO(Ue0&|m*Vq_
znNfq4{r2}-if0P>8a&9B71{pi+%+F&h;9bzY^7ZJO$d3+F1UH10JmNwFEPa4@_7?B
zOT|(gtb0@l#xiyrL}IG~in!4^YVBTB9;t}gk!ty`*Jyj8T{{*J)lU@=D#WUOtCqPF
z36pW5RB&u7QkU4Zhbms!B&8SaSR~AQoz99#<gD5~HTyv1<KvfgPsqfvfKJOLc-Ioy
zB-J1Ip0XX0dMme`_2SOI4@aenBn~bu_+lF-#cr;aVR-8UOAQ?4tI`Rf_LdH^F)flE
zL09T!P@&Cni)7`P;H&r^tt<Dou>=v_gBdF6Y6g%7W@-4Ai-IiwenDyR!)(6RI=4M}
zd0&FJvl4TTrACbTtY4N?%<sdHosQkb@a?apVyi`ErVFvu%`9hBydNQ&@d*cuH3>Kb
z6nW*rU%rUm&Q#$%!uR=RS@uh~pfyuFMG(>Z^HaSs^7vXu1S1~H&k?DqgT*9}h*^WT
zQ(jAqZ>48|FZag4OZg%CI)n7Jq)=1KKDeDHQKpwWgYC54;`Hfu0pmn@_%*lHX;Yaa
z^>ATmuCR-7MNDj7q|!%!cj5a$M`q9EtK|v0&pngKQ)M~(kbkqtqR6V#w7yboJ+D)(
zM|Sz}MluSg;=294t89_I3ba4^6`N$K>j_rs^o`pgq6yC~$#j0-PF#~|-+Dm_zVS1j
zC>Wj)ytMHwy${;PHr79nEhiTayay6?_5-SGQWBCZ_E0<9Ui_=MV2yE3=ihJalF|y2
zIA%0wakq_j5n5azy=+~FjLB|ZElr|U#*EqayPuh;Jbdgec|yzseCq0#+Vma!v1RKW
zt!Lc#AJG`~ww-#TaAtPb5DO$XRR26(I9THK*x|Pjar8vqdcJU^EyS6vqjT~~HP1rm
z=?@1EY4u9f3Q9p)>T-j+YP3RH=oq68W!+Sn%>G=6xBt`Cn!Vr1T@1p)-;1G4>8{UM
z2k&*efJlJ;KTaw8&Sox$)>%W2bx;(2;93XKcL>YHp%lCR2{!6y)3#$!d<Z!^wVl6r
zvX@KA<l&P{F7V`uJcWkETh7|$%ELGK&764C?+^=;Ji?|_C{1lZg(31|nH<;TJ1zoF
zb7Gi>r2=q0(_W8TYBx8AUbW>vHkDL+I~zmIl_ftDf_O?3Hj$ltH&-7_?{>8`6W#ko
zdu)^Jkth0&fZm&NcH{Y<X!IQFJ}B?&ipEWGXp!v6IB_u=$OESmqekc|aB17!cpsh2
zUEK?Hb1nS1T2X1ghV|OxdH=dKCKt?2pj727zJo>l@|aO2mv~puHPaB16V2vLJzJe3
zpY@F~RzzfokFT!S79Jki|3@ghf78ln4Xw}eRC{-O!?Gsxzvyr(5Z!X7!45lc)sQj`
z%ccf4<kwv8`AI7{2VKcG@*v}C6s}y()&NrSJr?oR=$i)J>$CaxK6>H9)7OiuY}N*A
zSl4d1g6<+txbvYTdBV-NRfimNln{J|v4U6KUfzX{*D;&*l2u3*&M_9MoGUDfjB-yX
ze`gFEWvUHS7L0)!)^M)nXwbUv)_4*0=)G#KwZb-icSEdCex5qr6bXn6NizQ9x;fwB
z;Uy0TKhMLTo{Xa&etp>$OFc~b62$7Hn}YPnxh!F-yp>LO!X}?~43FoeU}=$R;;@~_
z$*ve336+AD(P@XrTnRR4d9|1+N@9k??l;y}lh~Vy@2Vt*OT-y+6HgyzM_%kDl1xe%
zLRP-b{L-qS<@JkXD~a7mNWh`M^Ue?!R;@98-qv%2MO1Ds3h-`&nm{1g9rXM^!D}fY
z<c2ayV^{8ngXQo@Pldy#bOfxRK1=x<-(IJ5nPi;RWA<x(L`sJ=&tP;~dyWJjk*ZuJ
zF})d=CvMl*VHMVR9q0wmcW2v&lFC1v{kY@!MTzHKqH_Bx7=5Maq~iXjdpE~rE${ej
zr2}^FC3fS1o#|kq%H9O9uSAd)$b?sd0K<Tr$A~cj?aHA>v(#=@)=-tyHfvT9`(l$w
zG)d-v1p2m$fvbq7qwbsNuN13D2`EXG&Twh0nz3b_`;Wf5DI|=j#BDti2p%<;N=H1z
z7DC9O@o0~cpj)ZwTrNU3O`f|9(LBL$bg3?h&D8!xTDl)S3Wt(1#G$(MYlT=|ZNrCX
zA`|7DsBNtGW+;BrC33}&(I<icA|i5>S{tF=W+tpNKPl8RG)d&0<y?S=<?L(lPOLsm
zVw<#C?{L&SwK*l%yfI*~rxN~*fXDEAzl(q|{yB$m{58Q)P34ENfc_<+CfYRWqsIC6
z!Odn-lfmTlGE-4P<|*ri$HEDm_t(m=eV*GaKb=B>@1)rOES%{fOv9f1g+JvT8}Z0>
zue$0p2YhsbH`h37>7&Q3bBBN{z3(pY>x$%Kt!kA5&ajTRA=Ja<6uKLb9s-C&5Lrl%
z1#F<ig$j@pXPNBXo)EEKSaV|C+9372xeZh+*qW&q5m2fLJ|ZFba=&4(y|&eMl#5G?
ztNMpsh9NQkzP@6fqD-B~@dQp#BCnWG`OjAoEqfx8Avj=%gb-GwdAgz2GLx^LIA2$q
z*PsXZsraYMJT+QIUG9igx-q^OGcVdRvgr+Qld4@%%f?@J@2!j(>N-V<VS80SQ-$Xv
zt!6$pAq4Yoi2dAUAer+1>J+Uo%_8u*c~iSWMteO&`~3b+g|Q~hZH&FO!zw&Ls`#&L
z&|tumdbwz0ZnYoNx_Lm0;3Y~d?2HwXRGm!eg6lw_I&2bSwb#+X$ZM2?c8AhHV@p2{
zCF*y9M93H>Q1p~l=lV#)!ndc2T+GCwx=H9|l39;7mY037gywz?>V(pWUlR2PAGx36
zE0HO-=rkmV@r0Tg52bsdM;b^*1+(c7mp?qWSTwt?zIim1@!k@GE1urz!|I91!vNQ<
z)?~Q2gnr2jkIHOv{9T&TrtW)-kHqM}W@q%0-d9<STb!dHXG>|-C5fn<>8R`BaPirH
zunNo8kPrD4_7O(i1<xTyOCq3urw{u!YEW_Gib~V&M#Lf8Rl>sXUgzsZgn!nWF6HeJ
zrZZN&XIur<hrZH9;-Nb&JGGtE_Wu3B4$GpCTkaj(8MP{vA1H%jpHj(?jkkm?4j1aS
zK4(<OMx}qRf$n6OVfNg%i-A$C_OY`YFHX+$ZTUs}v*^9BRw0GrdmzW%YET#4Tecqx
zF2?$P{n3AQ^9YCJ%X%i`wm=~f*Q&esy#1|LMt@>9tmlG@uxWOd0tW{NxLCf`()I@q
zB9Hl*)qQ*RjM!fL78B@;TFlq^p3bhsMbm(=zygB*AAx;lOXq=(h9o#H>`=J8PtRI`
znR@t1+rDk%@Q2q<Sfdc}pUOO@15pUDB}(kxp(qaCM!w$|m1#Y;S8{;U_%ir4)ram_
zlFh?O5O2IlI-CEMA?}>~dI?*$LYWSeYU=(Gp?PEd{dTMC0ZB#6b76L^sxQ7J5-DzR
zuh*wsFd;u3epTpr1SQnm$$A}a!tyHZm)NUMNW5R!zD`wJitVh2MpF-$9(*%#iDQ9=
zBtZy8@-L`G>)PFgDQ}#yTJi**4;Cs>M6%002)XlkwB;+cCihrJ)J&&AN{ii;724$v
zxo?sm)(QMxbK`>-_ya+nX-!_af@G99;R{8yV-~zBF=f)&R{zPo(L%d$`gLkUUUj=S
zeWtq;dSW{I?d|%31q<f6F}lr4&)2v5+N^>O`=Jr*0#Jy%y3qaJ>4(2gN~Xg)*=SsE
z5TELPC29-a^uO%A(p}u<kZpKpKtL<ySl&J>)$rJ(UUO5p$1m?vf0=<Q`BlUeqe?2*
zyX$)9S25lHW*yD@Tp&klY@Q&M^*Ps_n1aH$cbZ4<Vl%CX3x-R0H*v!-GovjXh=Pp#
zLnEngeJTrOs$q7}xTDs3i=V%4zR!$00^{!I)WB~q#$*yNm076_m}G3x6V3DXpzqdS
zfBz=~+bIOY#Tun49ulD8=YQ}%@$$oo-|QytRE|-3CP|l5;F3r)pHWEecR~Bd?sK+C
z(_?jx(ItxngoIwjqXJpo&>ZLJFArfH6=t2aMa(VAxwFXaSl6hbtZ0_+o$?;2#JI7A
z)AKwv>R?r=CZF4zVky_M=CF(M_0YzG6)$F@C8fSe`C%fWe+KQlz17&BC?ja-a!Uwd
zQuW%TGw_p^!4y#bjF`pT2oC6sz01=OnwlMTo*+aXwy<wulVxYd_#Enw?bGG&LBD0X
z_OhQZUU6_bEb@<JYa@7H+RK-O^}F3zU+vQP`1t7V?`IXA**pN*#ddCi!Bi<0#hg2B
zvyNJu6CTpi?a&gBeDT$ue5(PzOag;I!ajd#i+pBi`X_okkc#KjW+Q<t^@))x$7rpT
z5mN4|rT9~3^u;%>>9~Kj>*mR7kMGzlzJG=JTB+Y;Q@i)R$9DUOnvVW(mwBdknxEPW
zr}yb<#A>L>W|EKdeD8zIFKn^%zltWT>TbdMnVZogxI53*g-4G2HBSIrZ(@zhYGvg8
zM9~&@&-WT!kDGE$Arae!_W4XHeFJ)kQF!`9kuIV7^Mb(1`2yeZLpEMJ$A`>go48~U
zgK2ps{@*nlNsF^sy;hq^-I?llLYjj0ILH{aUhwE{YsykCMe_jqJP}l&<9hf7zMI;q
z!NOU!ilu8|J!|#-qua~Jom_I+jvGk*ouBON6fh9DEe2ZFZ6V!JOrdf~A+KiDPkQ~D
z!#?sz623%;!+Fz{oy;@*omLSvv!lIXn($d-L^huB1tDhT3rXdeC<$n1-FI=}z@q@x
zilB+&RgGsK6)6@MafmN3FoAu{$!^F+V)1&Wq3m$&yl?r;#i;PIN>i-Hs9P|SU5!|2
z^Q>`-s$Q)1kZ#09A~fL@$am^ZTUO317`~pirw9=VNo-4y5@ERdrsgLdh|P3F-lz%c
zTp2vk9IwRE^*<yZ-77!{j}{>feSv^(EZQiKQEr@K-nRLen#*M@zE7#H78Lp0-u>o<
z(9j3|xQE<BA2#Ic@e|QYlo}NkRi34GwIgw#Q?uXgzM@cxb4!B*g!UPx4OO~Cv~+>%
zCzY2kX|J#Ehx0|mRo`*#N`1}^l)6r$Lw+S@_@<AwPbtS_i9AC}GHv)bj{}FuZg%Kk
zfeeOuO#4sGyS2VjL#mOBCv2rL=0EQtYoq!k2@fh^YfYWU2L`p&(MY66k>2u&to2-D
zG+ILqWeFvKaeDQF>eCMvy`eTfc6xqXVeH%Z=#m+$KfOF8ZGo?I8|1I@y69$0==MZ2
z4KMNv#i+5YSQ8t}`nHsLpJBg6Kv#YHVXuawK=C5k=xxPJRi2`^qHwOZilAE*^L0EI
zmjLK-5LF`w$#O!kZkK8;CdCw&&SQ(J9{I#oj6sR0fvWM^^eATtlzs>g!>?dAyuopo
zpI|epFFUHQSW)P@_P&LpnQHO(v@WA6P*mYTws$b8p?UB7)lRb9eR@}94UtNyIz07c
z8Z_QD%7XsId(44g_0oiul{rTttbE<$oeDqFW|Nl0yea29zOS*#B*1&gNSZK2bf&4j
zP5sn@`A1nl95RkOBB1cx+Huf6&b?choIN$J&CaC+(|+wGL@{OGu@G*c94soneQUcr
zadx!li+p|t3^WT6C$Ha6MtG-EF)ygrup-8secBD{n{-ni%)Y;UOYU&9{KEw&<@Tn#
zeC{W_m1vd4@8Ihf4S$|()gytDpijYsHfvq?HP4Ssj+0@t(jF7(uctdqKuZ1#207_~
zi*YZ4_x7dj?&5|*WwnvRr#}s3DLM~AXfS>itAZhEy|x-2604W0i_{3WUkKl#yl;Q=
zZuZ|^fc(8c_F0qEKW&dB)eh`}vFH@9W1lr~SC_D!+kRNmaSvaVs}s2{-wG`IegQV@
zQ2dLDjR*w<ft&cifW{)^qnjV%-Y(ClOA|ngDETb81YwK8Ab#?TugJ#;r!FB8$R7Dg
zn#)8Kz*&~=mWhS;5!M@aY+`RF@FY!cY1KKkvNBQ5s?W-WDj?U|j*oB;z4}=8HJ1p;
z)(PR}m-jmc`<>(bfwH(8w?2dn&FlN7o21;o*W!KsaX}lUmzp3lW7rdfy4&R8*#>(T
zBF6E_+dgaOc(K*SSpI}lcsu7?;(V}E=V6=*m(R&c3&N?<;-*{ZRo>4!%T}v<eZ7!e
zJ1Y8uUh)m>pI6B4J44nPfiBU{bFhhxpC{Q?c!(S)LwB4B?6^(#ZTo(tt~E6Ag~+4D
z`lsAO{zhlz^u8itLvv=HRXr^f^cL6dk-LYbe%Se1-7^L6EvDBEa2L@{B|}UltTM7Q
zRV*+s6MQ@IswB<_*?(!hKjXUTb8`iD>||bsAxqa+@LIE&tqK(wDxSKv{E)7);m)4Q
zXpr&f^F={gIR3igj^pJu9cMY$2HKs;-;zsY1@wx8-@GNPbS#V@6SE71RIVB;PL#yR
zBrQE@zHhxY!`#rZpS)wBZa%UN@0#gsK5F%=;1DGJIlOoU-A(_}dsBOVe>|UyniJfR
zc+k5&r-T=!M+fqvy=XoOf_$i0<rjQJ=lj&}3e<6M@hHktS5|kxQTn|OtosvTY#9V}
zTIS?45k6F&%L-TH1)3SY3ig);p;L0{qp!gvh#?C5Qk9>!S5HVZwMYpV!x@ac<frZ+
z%ah_d(C!F>oCxu1j&hD0?zIKjY{<{#Nw^+=BaVpTY_GHTJGyF+EHRPq$WeLBwcE{d
z_OnDvlg8ruaqF)FhE=mF`0;u+U`j4Q3fSAd!0#UK?-dA*XV`X*FiP!8@(J0fjMT~&
z&YM>nGL;fo0Y=`G0^4ZwlD9|jjzD~@9MCV?;~*K6UuPPPNwQh5r4;cTSEPC;I48s6
zfv@k&^OK}0J`eP`u35$xUeA~dGnNF7C=#@$jCvA<#G?}HxG(tD+*TkKH@7abFJ;4Y
zBDl9M_%ePKby@%X^-ebm2vPGg?Z_2{VeOQiq}YH_aYINZap|9KV*!8fA5T8tNOJ2K
zD1gaG<9T$}Q`MJmP1liXjc*;#_TM>`S+3^7G%?iO>=n-T2X`3!`>8G}-n@J{a`B6+
z=7h5dHj@CB+>BTwP`Y!uI&m<rulJ)yXSO7#KqFr>--%hJsJx@uD29WgzSu=2JhO2B
zh>gc`Wi7tUWtqEujd#cqrN|loO)6rHgTt<R_G#vpRlx4;`c!@W#;i@X^Kw4aJlG$h
z|5oVw{4(*$pxojbXgoExg-@32VG1%0PxMIZOFN`bI{dtw$D^@|m2qsL5@<}?1>@ow
zC75=F9;mfcg6+Y!4o{xY{Lnj$>JUh`OL8vh8DS+9M?jZ-to*?tgNKe{VFITy2J79s
zOPd7#*%L;^<<>P#Y0OVpScHS<2M527;+|Wd6^PLMXl~ZCQ9349SPUEl+b^Je1!IM`
zxRw)cWNCF4x^~~u=^tZJ*zvn&4fAarMVWhykJc>!1hi1EcSbN<&6n%8NEdUTK`$1K
z-j8N|$Qq*v{reRTvs-c_*mA_Rds&XqYOrdI(fV;dc0q!BWb-6n`YK1a$Nb{L!lMMC
zBnd0D{wMjnlQZOLzi#^xmG0T~#v@?83$gm-%IUabbV)4qBlQOk2~KbjY$zvb{^pFD
za>nt8gN;2Vt3us`+;|U3s5q6a$=+t_4!BXN7f+$zb{03cRIjC5%n8&EJ@TpD$B2x{
zOA74!@00q%-%%+Y4Lnz{Uni$XEg@vW)y&ksKQ3Kmo6}#_C=r@G-u~EILYX&R3I&BB
z<4$<(M=A~lh}!n8e)b>!mQ0f{>RagaJ#ub8X7_5HH*+3oZC-N3JkGd{<t}mir0Q5&
zGN&t+%BFG7m(eK~el4k{PyWi+x4mVZqOIaLucW)bH8%QB950ru>Sd-;vm4NszCk`9
zF<R@oJWau$pkJCJvA95vyjhv<(4E$2tt%QjI=|CLQr!59n&J}{N1ye;7EWrYpD;Z-
zr`#gwwA8wp*gH@=chMOU;7!NwQTw?lM?@65G_dhrONghy?USOTH2+UBo!U{-8eX6=
z)0;TDf8R0;zpB#O!b%W!-S4s3qKx+ln-_UjyFX~o5cBHwO9Fe)X<|B%-xh=k8<N=i
zWHnK?J>ZxX-6uz+Uh3+FOvgebNKTRFQSEV~(+v2Vj_z@4R};5)Q}t~+(-UO(i_3zF
zgkxS~=k3j~(3#tm5dVWkHjk-t_T}q?>&5r?F_LbrJBvFC_nY`p+6!ZEP<pIR_XGU2
z_x7)z>x9POh4l?`mcH1j#y}s<ap8Tvw|`tPIgb^Hj?tSszEP*AcO0W}Q|g^$TQFLY
z1WHZY861<i=o1m1x6r#!Dz*2kY3S)|KWznX9aFa-NgyK=);rm^7Ju*9ZyMn9BgmRE
z^(!fnc$Vx?>H4Y7(GDlIkLj7qEh$FvT7es}vwwz4Xg>uZ1xd6-!MKa)nq!q&&WXKC
zh<-<D#{9i<pg)uEAp_lm4qs!kXB09qByR>m5SYn-|L&iUU2s2uAIw2D{_kI-tEzcY
z4|h>CHY>n?{{Nm-$N<_(TsCF?H^Bcy^v}-v-!A&^@%Z0C`=6@#pEmuU!TGOF`2R7P
zw9w5oEay7+&nfKu3GZ$yv<s4m*Nm2Qrru=?Z(xdWnPr5Q6hx+oZA(pOE!C|O%WKP*
zOT9}79(~2#|3)C_hSg#^sEW3tukE_jYNq9qjZgV4C%41hZ37D%KYg!x<KgWcLPX2_
zub)9IvFY_p4Y{R<U*i2U{+v-`nHOhwR#{C?bpFiN>nHm9Cyx3Wsm)VRI{y22rPPgK
zFrG_T9>|t3en9j3;+G@OD#zOm|0CRy0Cibnh<VApswv#jP=EBHV?>Oj5bN*ygV8cw
zAScdtF694?v5fi@N-q&O4Vq5j-x&(HCvHf(VayW&-!oOnj_=c}Ua5hE%0JH*Mslpm
zbvvff5QT>dqhKV3gm{#{Lr?hJ6Hk}<gvSE1OR_H_5NkD+|7kn@^Wa>T#;}iC9-!Y9
zJeLjQDRjzauW0x0v@p=X?W#X{5l_UAFFdKa9)5zvz4_xSy~zhtvT3ap`ezc12y+pg
zUjMpGo}38U?A_Mz>3AYC0oO?yhs*&aL*Ub$r~~tvb>Jj}Kc`U-%x6rml=b@`L4K$~
z1c}{ghg?4RcTK^3)N4>2UH>{~58&&5AmFP6f7AyW@Kv56xm@}`Qh3abEKd%BUpC#_
z!zLmkf&w-)?yVmEv=^Q?QHalW#SqYI<v~BMjpx7i_=EK0xs_sFU0pzm{s6#@5!ILj
z9KHd-SbV%SjvW#b0y=h^0NeRKAXjg<7_N1)WmPXl1;|gu*@po*G=+fGTgd|(8+)eO
z4g)}9{Q`)Aqy06XHoh6(V44@GmobAoxritz{)(1?6SpVhI#zaeuK?6ouZ^q1<yIg^
zePg;zoE2avUFihbn-^Y{U_Ip6e?^Z@%K|;!7?wb0L(@DYeQrTc|1Lh@=ISgJ038}n
z7SqkSooQ*-I^uw<b1%Z5ys}zsLWXvP{W2K>q&eUpGQ~_xOw5;nX=}uTL$&Z8;Gte*
z*`lK^0gzgmvMGoFl-X1@RzztUmxSbte3~S+<y`GKKx6HdM^U&m-Cy`M0T`puw*a1l
zv=Rno5J(oIfj4T3H`^llcSp*rG_FghBP9S>yPUA2^+6hLvh(dpF3l<%WZShqCEX*y
zx|^w(^({NE=P@P!CsaT@-3p+lMssxm{$LS6brN(se2J`xmUcK*VM)~%N);Lw_K4e*
z`Bx!$#AY1;O#0B|gBB(w00?FR-;3PfBV!P@00E2&gZB!W<qiz|PF7+fPr5l87S@tH
zluM!^sU*)oNb(g2Bdr6FvK*TgVgQXM4k)V?-6%!eG0{|}D=by0l{O;)1f?A#XZWeq
zEC3k{2^GF%EWfd=J@Bjkr24sh<Rs3rUKCu680B=o+IbFOIWcwIFVfIW+oqN_HnL7}
zSe)Pxoy^2kBJP^Kq<2UCBI{FSInFv_#-Q0SnqBKFfV`l7_6#3@SN#IF$b-NJYSRzD
zY{+ha`aw7yiejHzCT7PtR@T(yECD<v0Xb~WM@IkyjR<fJDR|WZ0Ie>?HeYh7?Vt4!
zuG{Q`u<8bMK~j*lLqq^sm}G0BzlWg?qosyn*s3$rM;Z+U7jfADl`P|3f;^Wuc<Ey4
z(y*tl=T?CA8XFF+R>z@WSikJ%)Jc~FsD732ZotGEdwXSWq(6rt3GjjVi3<RC|13A1
zC`@5i5eq^Z!=;nV?3SRD?Xq4e)<TOt{Pu`uuicGg^W!<phaXMXZycaEj|d;F^{b>v
zh?O9TUQ{5xZ%%8HM}dU{`f{c@_bYR=*=i-^pKyM<Q4x>ZYvxaHWxw5{zj{lyOg9ba
zGPR;u3IHBX&H|G`XRa0CYNqx&Tse&w@t_2^!<)hV%u#ontZX02A_5MkGk+>~S*|wR
z<&|?G=i`8f+mJZcm}f3dPOV&=#}axsbX@6eGX{R@h?PFlPH&UC(n<j4sDgRa64}xD
zZp~g~Ad-yJ+u5|8!*6PO&1n<hwZG2Stiq+hme;8VdZriX8I$@zRnb49eX)r_OA4V=
zB-xdE=2HQvQj-B%<2hg>#`S@vi2Lh}<*H4To5!Kkf{Sr9!siS3uP?U>ObFi_HUdn8
zOhXdDr&eHC1wh%5(eiOm+d?REK7T=Cgk8YNRjtnVb-4u?xO4!Cs$7aa*Z{`hUo%-(
zrH;rK6^6Z}ynK9Fy`T<feP@me6BQNBez!54p>h&g-Pw?~3+Z-R?!Y0)G*~?X`YO8~
z&Wjnl5w$=oD#^|f^_0cJ<}TX@0?Pyci*S<QFvmHSczbgtzKh1)LmNuUEs5MO<Z_y+
z9|Snnv|?Fr3SBR3R?4gv#kiN4xf1E5q80CM?yi0+#u<#ADBaMN6t&IJEq4cj#sIW<
z+*rEhz=l$_-Dd7pYVG1A&2rZ1&Ytwrw}#FJ<r?hsQIp0+kLFw2?(ZSU++g3Q3`guF
z0A1Xj1WTuXRGL>Qbr`%0&In>K_WpB#4_ou+XT`<aqd6+p$Ln(3aSSC&xb7D7^?73H
zJtG9{n#6$kO14A?g2zx2hD)iEtBRAu!lmW+;R%-?ZpZIFz19Sh;AuKsV>&?+3>f&&
zc318s&^e<)n(|`lGZAVz%52<Aj2?m{O=X(DnM!Q^CMBCW({}wD=@zH0I5MbfCHVlK
zRWOl-!D-*q;VT;#P+w-v*QHkrvHXq`RFj9)6%c@G_qJ$}&JfU8D#kF8xzLU26o+y;
zFo}n7?7i*iiRUZ1tniV5*+p|;1v#}mgdNU9Xjr-GhUhPTiy>CJ{(4NUU|5od9UP3}
z*He0c(4st54s4(K8I|e#KQ^>5(sMA3=}fe1CF~Hz$L9?imklg^hKMoc!%|x?v*z1?
z$QU0Mn0XKx9NRa&$#?OaBAUC6WonPKq*b`f6FSAto(TYkGJ5kBmvLoih@8(R^C^w4
z%;w?k)n3j5Lrm!9`FW-bsX-hd_hvwa6({vP?Yg6#=#XNs$^(=QpJCEfFO>`_m$cbg
z+9NJI)0%MeRr1t*0V}Zrn+^V>NB2I)Xr8j@s_#-nkw{iSCm#KPo}MXjrQ=E)_>HQ%
zK%*6UFug{tCbP&DLTJnnPfnD$qKgX$flU|{N`x!{#%Z%r<pUn1XLZ^I>?tz24Yavk
zK_#3H8w@Z$g7@Mu4u5HVN{A_w4lVJi3m>#A27Aa-kDX<nlnmQ?`a_mizYVx2RD!y1
zqgL{?_|ad*=Y~dmiHZj^mx^IeKo2{F2qL~Tq*)n~N0S0~xs^ms50^Vl=oJusdhEOE
z4?$U<DaN5IXdIC9j<^(~_C~X5C<a7yzcz?gFzi|`9s{s4SyGS{N>Q|ET(gy888kW@
zope?`nyaq5FY+8{3D!D(kD#bb#rp$|UiU{ip(#($jBQAAMq~_mSBl?d9d(~UyTk-+
zoHBYmyH0Uk>5!ycpdw7~#WJoNdZH!W=;FJ!H@3vmeN55T+NOYJBLj%<T3XI5zhn)m
zTHi?1ewTD>k)L9S!Rme@F~ot(4=Aj^to0}5G_q4q>^p0Dbf#6d%{*)mAcH*2>FsjS
z)9n#AtdIyHhdqXpy8iZ)wzS-P+3wvFfA|X2PqjU%6^^u8(Eqj3I*sc>FzciUrWoBW
z=5$<}Wx5jm;=`;N?~jgejU$jvmj~(F*e#>fq%V??XkmPjG21kOzdOF>;r?F6m1G*;
z@4$D`+4YF@WMT>H67uwm(M)6!9VmPnzPRSsE%30vGw90~xieqMS*WrsVOn^%nL&E5
zEK2id!Qz0v?tauL{th=E8<8J9<ltZ-X*Sm%CL+CV-cCg_K!ZV=8BcgL*;z^wixU>-
zzm!RwMl~|@lSfTT!`PzlLQL7to=VC_si{^yQx=O`G;rkDeF_%_bJ>@whU*!*iweyt
zW@?39TcC`TtvO1fd=q|O5{sp)cJ$+sVFO}ynVb0sKnLOfUoTbm@k7)W3|QyK0v|jP
z5fQt$d79NGs%CAEAS*-aFyu%Vl$AjuznE(c!trn^{v~!<eMcR`3R?26-~4{aF3Uob
z??V_cI$PK{`0RMhSYn(c&%;~Yg6e*xrjDi+;TA59iIzttbu-smPse}bugw-ZO!N`|
zm{SWqpyZ60tc%%VEh#y4m8rtNSgCHyQ_;IQ;XfNM>s1UL5B49YNZJEA#4$XeG{;KT
z!okLe?{{^=0EenvK4#_;CkTsiCH4@xK{4h(2Vo!)=#tY*AMU??H7K5MQ!B6&M0M+|
z9N<H0+TczlaJTdBam18O=NmM`{{(l(iJrQ2NINN2GW_}cJ9td69dVA-AC>gxp%?yq
z1dKFliSwTyych;<Y3weg^50PB1BI6&&~yRVPCxx}OPNEL!rIkoPo1yNIRVCWKBYf(
zPCk4qf`O*s7!OmM*kgWweEVbqFU1;7xXIfbBs+|ks<Ko_%wy_r?@1Ez5X4Y3SDZ`Y
zG7524Y=dJA3ueD$aRklaz%MRk1)){6OOpBDc#M|)5eIax!Gj8ekX5#y{dzq$RIwwX
z-4ByWm|Ua6LaAQ?AWPOdw{!rG5r2TNoUQiOsq=_trReeDQH;)E2e#90N{@8c=NE^L
zAwV1a21EpHfU{-E+<j+?`(z!@sk4M{JWrz?CLQwOpLO6btQ1de6ODcS8>1+Bf!^;&
z`+$`^tH}`fnELmP+CwOm8eR7n5CFhzD1bRi1ru2xFGzB>fJQMZJq0|z&n#vpj5{LF
z!14nDW^4A@iW~#L@RjF^Yh(A1I{S&$aC1r~p04DNiv13V@39=nA7f$t^QJ-khl>iF
zJq4gfM5{EFKCgliI1PJ<?bLE2BJe1MT?1;Jj(&r`<aIivrI-Hh2|VzuyRwhN4^#@Y
zUjf=ST=Hdr-3t$MeqI9`nR7<>Qj$?-+eXz-Iz$;hMl2BsNL`7FKL54VBSdc=K@3ji
z*&|N&_hqR|fM!KAvHRVEM!<8l+<9Lu*$4zOsF;{709!7oym5S7r8gi^*o~CWW;x&?
zOui4GiU;pDhruqry(HjqXc#$&4`JkN7XR)t0Yo(Rm|!x{usa4YEONT_X=rG0C@6vf
z4u3MhV0{zAPEq}7<1?Tp*98E^n{%DuE-i5sm*%?~XeaJSzLthLm)XQq(6l(S_i?*5
z3}*j;S_8BPPNc&P>?xTksI-D*;TM)RvWTZ6bv<}Uy3hg0*y-h)mI3$3gQ{yK_Q0t9
z$<mJs1nm8ZLKv2ombt1$Vr-9=H#bQOc8kNnmD-F#hdpi0N-G3z(=neOD43SgsU%n6
zy?exWZ(oWkYVoshWq`Qv%d9{3@Q_yjA^gaGXKm~@kfDbn{Eg$T@Sc)FRuX%F2bnbn
zd~8LwT^f#yN#I7x0<^-DJx|Yjj?T`%w+b4ROJZ&M4Q5~im72wQz!ix0v$;CnNWHBA
z<Pj!*3QbvyWq>pMgcuL>A$xd-uz_R0{TdV>EULdf1hsYeVg3I8@thFs3jxcSM%NL`
z?Ck6);tM9X&Xw}_iGp(dbv*!SUNUge{hz5NKLi`h{P@1<pCBE7Ao9gGvGjD4o-VlD
zK#dIv#M<=LUQvIG8piM7!E$U41<T8SL>o&0c8uA0q2Awx=AeUEJt_$Wen>wI!=w82
zn$W1fM^+U+(LZgA$uHo^4{40L9-hBe>KjwoLSj#QDAf{(yyRF~0rHM`-Z{XyR#w`+
zI9lVh+f+Q6_eQ}Eaa&DW{4NnnsT9ijak@P3a`0fO{Qyv+=lHsVYu91IZq8+%vN_6m
zvLM1mQj*DaRdX~3NHSrEE8z@>#8H4|g4BF7XOlzVjZppdp;QnlH@by|Md$MG)qmFT
zNWzmkq8Sv%|5>pY65@eaI#LV3{z?JI$q|qy9Do2hCz-LoEK*4qAfE?;$<ctg8949>
z&b4oV$2OWO4JC6L=}Z>&R=gJ#<I|MnajS+bhW7pN9M|bKO;AB0v4-S~u7B>Cvir^D
z$zY+b_;P0i3W#-E00{jfa`GTRr$wu}ajJ9@v*rwl8;C%xtPlzU;+3z?JPdzwLtzm3
zQGz_*{i9{^3mv>1W4d?e8+4FcfJ>A$DS;LWj#PWS+Z9~z5FoY(k)%ok<s1TDe|9pH
zR{=Q8n`^jY52?A>6SWIe`iIP>N|^w^L0qGfyJ4;?S~W;yv;)7KT9lKO6%!cKR=`mq
zm#1FlxKf*a3l9^xN<h3O4j|h}AUkf*5;w44T0z!{?Oo6Pe|FD3WHb54+8wUP>o|bM
z0}i&6)7G&K1wq*;<^lkW_f;=5NiphA+!TVLnGGZ(<m)tqz)wihTiN5|<7cE0fUBL0
zxCxdKENp7q=!x*Udmdo(SKDn7)+A9wEhY*@wfM=-PO>k7tE6Mje3GY-fd#T$SSre~
zi1-8F?{UP8s`?l5|J|ExsI=Al{UBl*1pXI5GC=}<m_mu4=~%94nq-t>-AZCFcyt?v
z=@(yV9UYxWW+imoXIrB=8K(_k#HQxvQ4cU#Eo5c=6)HX(Bs$5+M)3WCAFnXVf=Ax6
z*RiP<K6Z6=)$0zk!7QjeNfK~iCnqPz&8r~f|7-`}O&`305#^cqm<##moXR#1A)*o9
zR(aeB1C07Sb{1ena@1QS*zL@RexiX~2zHgk&?Csa^H!cCSHu_Jo){y}v|3=R^!DcJ
zvRTo-fxRYGdJW!V3IMA+U<Hwjv?)L?9_cqoS2C0g9u?UQX=^G<3s)0{k0$_*YUyx@
zLCIeaARX=lL6#U}lI_<A5F!}f`vnF{nN4!cb5#Ki1Hu|Se=Lfx33Sg0ArBEw>dxi@
z>qeB(AEKejEh=f}=jU(APgkBnNxSBY^iiO4k6~z0lN}u$Z_13rt~GawqCC2#Hkoq<
z=#@Rh#lanE684!GaHbkP5NjDCQvW?(2>OTz>@iU!5^ALqgag+0_R7>xnVHdF1roLb
z+^=lqP$B#6@9Ip-hCCwI`{H&R*^36OP+^x-OkiPTG0xsFN^jGp460s0BACw<y1tg$
zc&q~~#8LDj6l_YxK)hDBy6oFx<1m0rauEpkdm0778(6i5GX32WE_eY%kQg=%KY%Mn
zYn-YXtDYuF5Jb+03leIwduO||WB{w=;PYIeZu8@u$~G;nQvkUX)@`yfq%1zb<;UnX
z2F7;b1Eeh{X3|cbU4^)x491RD#&b3;RcYTCzA}hX6K-mm^Mg!-_6=20&zNp?garS;
zDOqsua?sZUH|Kmf<NYXI_F=BHR4p!x4*N=QK){P~v&o?Rccx#e3#I=tVUB6{#OYB`
z|7;vjL^LE^)@yN^e?CfnfeTJu1Zr#V-#7d5Ey&Tbo$yQpQz+XQ1SCEj^quuzzeNJE
zvtDy7WU4RykBUbFBB5WfR{8TRPYQVU*Ltn^BV0tRa686^+4K9aA6m``^2C94ZT#>$
z_kbU;vOJewW&hd+Nsw1H$rey0fj^3e4t!N%wzccuC<N$LF1vUqeE5g<42>?3oqVau
z$A3pvgXgaQ>B5D(dJMqTJH3o&OaEigXkUS!GD*(-@gRfHKp+@`@#lwdpXe#nM)sej
zypV+FyqVi?{>s6g6+TL(?c_7~mk9~M{(t&3@UJnN_yK0mc1pS>4TSXKJ`j?^{e(v5
ze;#xX`57ZvIQIloE-qZ+8o*YS`fBS@{1rnM2bkdHs^Am&hb}n4F+3fLFoV0Pe*}&R
zGi-s%!38)3{AxqeEh`@Q<_D_@!-uPFd^!twJC7$~8xk>ukNxj-K`T~cSf}W}>2lyU
zGwCh8`@2(Xh`=cJ^Q~r&;iGheMXUb-qkw;IrUle&t^E!uxQg!$5YT`9`bDihjfjY7
zwbb?yI2KR9nYz0^!e&;^4FDkju+{}&Rg4FJAol^Ehk=2?^>|QX9RR3qju%*#UQ>Bo
z<AAJ7<9AMdtJ`a*<?a}4N=i!A3JVIjj|osr7^<`jOdP&pa1Q$wm{!2B^yN80vRNGX
zf`b6oTB#2xd+XI65|Ce-GOpsVOp5ew-<khuW@#1&a<71zg0vD?GEy>ick}sr3UILR
zmzz&VFF5Skos12gyJ=}%)X&1-am|)I54eg67u$#G7oWo>i}WQ39^c(PwA;p^{ZJ14
zS|WB$S?b}*NfH2R(*g1@8)f$jLGtVkW7q&OIeD&F4}hl%qmjT$UFj}QNl9VUs(v=-
zyu}toB|-_@Nrjd3%S*kEFzUDYF+O2{6XOvI7WtcjU0NbNzlRY+7F^_Q%TIto%&GrC
z%>OBqd27~Tz7>QBcsF7TD?1VLUX?d-kvluoP+$Rv*NFrROdEWpFY2O_?+#<c3#McC
z6dGRw?+Op0O5pF#phW&X8^Pp}+hz6}c;N#DIwITxm6r3uP(b?zx3+0gF^@~+g@uKg
zdq#8B6nbl=<9K9zLvUzbGs5|FegL4<fvpo&K&c2wqzc^YO-7kN?agT+^Ih!as+Ifz
z%pxW=07vb`ZAZRh7A~M>N$G+Utih`b$D5-V@D$?8n~8*HA8~JQuPh1ZEoZBJ;YoEq
z+tn73Ayh&Yc0Dh=JOfa&g8)i~Rjv5t4u_~Q0FTZVT3lQ#x^oBd9bl)zKof`OEzPw6
z$~HOyb7XRVD3wS^zE%x9_+W<0e19rhwgi0tP1VCAu+j9vuIvD2%Pav(ulji(%v6zV
zMRjg&&V;ZK;A3p^a#T#?wsR8K<qOMmOuk0^S^N7|W0Re0>Nk_lvq(lcM2Nknrsjxh
znElr~;6n@oZ+%p``4q0=?+7!1J<qxAh+qia+{#fY_zl*`YqyCne6ftDWDoqNC|J;|
zEbksG_oLqD=hsL5i|gy(jqd{LD#3J>!6oSJ^GfTbr$&9`O3#~#qm~i{9Nq<|IvuSp
z!YeZ|I__V9zxd?o(?>cUH)SRfK`?kEdB9T8(&iOOQ?f2!AB0^LR!!^z=r6Q`>0m`f
zrX;C{SNNcu0*WS?&K=eU_S)|6aRu_Pg-OK>rKN-T)3?E`wl^oO!9|y~+X>%D6kV=g
zK;yo#0gYk?*@Y_*c);S}g+#4@=<P!XlZzBtU%|cwWGH&@Y~YMJ@OpY5+i#7@Aahp5
zD>WIasuIHibj6~2o=66Sbt{9?6E2zTa;SS1e#QS+)|E#?`L^MRk172Ml_g|m?1@ks
zWEX=OLMSDbXt87nmBuuZHDei??8#ELnHXs-S+X>iBsA7i24xp97|Zue^_}xO=bQiD
zGw=I8&$*v_uDS2)I?r<fT1%-2=ufu1NuXlRkCW$81A@dP!Zx<RzVO-YpCj`N3r4^?
z$^Kg0ed#Pig6vrBVuucJUgP5s+V=9R%(IiKmu$GH=ercMOpU0CvUnqv^u#ss%?+UP
z_*Zjiv#s~(I*v)MFJdo=p05pdo`Kh&H7YAZha^b6M#jTHiTN0`#f3(6P{x5_*6y)q
zUURf3P}%1VNJE`liF@GRoQ>++X385eIjTh4Oi7&p1s90lLIM~@^7v5;oJ9nQm1~V#
z9TQoqb$v(3$F-5T7jhqla-3)i4HUETK~JVMZ(c`|Ug@^h&%bN_HNi3r)JO+{PKd!d
z^Z>h}sw&&Q&_OA#Z6$)8u&LxyQ@ta%OJ99aMO92yJ!~|38{{T#bM^U-K%r|ugkklm
z!mbFk{*>)(A@MBeNE@DNPU+#8>D)jepJ;0Sb7dM7hZdh)j50%YD{{`c(`84SvF53=
zFM->SFgQs|3DtHcL9^BE9jCP?2s!1xQJ31eSK;C>n(fu(NYb$Gs?j(I@+8ZlrrNwn
zFAQ^ip6p1;*uV{xJaiWU!0#^ahW{V%??L)hcmn#MXF9ySqv_4__a8o3Z$Op7ropjN
z0J(O!A8l?_p>1xD%|lWyIoNVPY}YgYIt0ulTN4$tK~^wEKV<4lWemm2;Y8aGE(>ku
z{IkGE<$<lbo^^jRD$BZH5upKatHH(ny37%J`*WUT07ZrRv$CjGR4<1oJ@fdb^ql32
z8rT?!O~P3Mg+ghpRX5MKzaZ3f6|V0c7w<b7>!)a^Vwu<`JQj;9N!TJil~qknO4tMY
zHUbK!pObL^q>IX2$H<h>DcVeV4<;uAgB2=_g`N?c^-3xit7e9^b8Y|63k=jn6B)7p
z0450|{q7D}2Ts@Lw)G`wE`R<r4dZ(3oIJH3(D0${-mUGKo;PXotTCoJPIPuPkqI~s
zNpRr39d&Y{HAA;bT-Elbu|5*lDk8qHWm^uI9@1`(x~EMD)f7whT?g4%C>Ahb*Kj5-
z*}h*BG;p^UMj<j0EhJ^3qcKa?pkw?bBCs$P5^4b%E2Z4~22)MeC6U%I&`DCh605$A
zdq&1Ac_A#0T<4!KEOzIxOU-#_u(|CNeXg~QY5lgW2fb!!RJ-0mtEk8y=7qF2Pr?Tq
zm&&89H8f%WC(eVvH$~hFaqg7!+=^741+z*XwFcQcVB4S)5@|s6k=Z(o@Akpv@$80V
zl}5z1ySIeMEhMz@jm7#Tw`f$$JgVMU9#k@*PZLAcwFo_i?h3MT^n;@dQRgygP^8Ml
zI?$YYbd%MEWpF)h2YVM1#GuK%#JUx57-V2Q+_=*jSSwY>DdLsAu{rnhYum3hZ&X~u
zL2`wPm<+SlxVE5NGG-9YrBV`*x`+@eNU+T$8M_bhCJ6v(BhoDo#hu!|!{RA%xwXi1
zh;%7v71uCU7RJh*lYQBO%KJqOy$G4d7`va>=>Kpkqp+|rrGnTC`oCOv{V_`}S7y_^
zY~-UucQz<*bdUsC_%nqYbN9tO!!I@#R0i$jnGO}xkSoGN4*;e?^0{_!IMOlsZDKvS
zGRmiqrk>RG$vT@fXW4RcY%?;J;!?X=TXRcN7}niKK;FtgkQi@bwr2|Z5A}ILi*jp(
z>UVIpq>s5*1~L#>P~Lw6HeG=wYAoX2VW4#T;az}<AZ}}1o3M1>4B8B#gMLraGgi+B
z>G;KZgkm3a?-7p$3HvD9HWju9&u=2ljeAn}B?jldJ-(PO0o8>0rL_yDQ6I?L)a90x
z$7j1@4;*i5Op!hx82pNya7qjVOaI7|d`cQg%Y%zLUY(4ipKof>zH=~MD;4tI-^@U`
zH_eti968$ITkIfjr(L+bLPm&ehneU<PiKbus%zCUw`pJ9*9dw9#xFLMLfsb|K0w`<
z-OPKy^*AgxRpB#fXMU_nT+er4)j8exI(%o^RqnVtpt`Plr%OYxzd6KmQaa3<QHif8
z$LveK911T$UizfD`-r;)zheGSb0ob-#dYdi#NN{*H`#mYY9mjuwte*UQs_M^;O7x(
zC%|grax`;N5xG#6Q(s_q<0Vtgrg2Ar#9F^@vd+XXqhz4nBIT#&-D6gHY?JiC73zao
zpn(RS(0wug($wL85Z<_oqAT&yWc=XfRFD+O`bx$-1S6UgMZt(VbI6brv0~P?B1(E9
zgi!$0<B6yTGRG2VU!Niu%gWp25PIK(gF!heFNI3c2W5(7p{xQbEs|?CDN(QKt~Jq5
z7$bZozgR+y=z9IN+=s4zAib(CHPdKPQi#PPpKu48<5qb`O%BZVtv5L#ykUY`FgtyI
zNyR6P@$cPoP729OpjDLXuc_bchUPyGc$Jh#cOIdy>f$e=rOhlpuPwvlC$#&lYL{40
zG8L^+WBE(S_RIuvS5%I-kg}#r%IC|u55$AiTpPqfA{*p)ErMgtt1=_4W?%6Mc11yC
zI-d8~W98QQl}k*nyr1%8g!8gZ#w)94h6Fp3v<u!7FC5yWF(u63CQvtL24APo!>5~w
zF)8B`Z|yB!?}}`sVfF?NC^Roc_kB68cRBpXl5|5w7hY?+>zUT3N4?>};@wRIQIhwR
zHY4~Svq!o=Ivv)RogKwX`3xAOC>tG(pcSa|`l%qmmTyVU5jXAgOD$n>^y-|CWQt&f
z0T0M!IAlmD*<;{G1Zo)Fj-D>YQt_=QTJBz<vznA-SbE%clPBcNv(cuZYkEcx>tHZc
zftI!0FKQSHE7wchq$ec|T!W!=I@m`b+|O)2Po5bjDt?OVJaR`K=0$$ix0Kj-_T+e(
zOQn4M<<goRURH1}bA-ZxD|3HUxYLvwN|D-KjJ{SrH*?-j|0+7~sD(h@ummNXMyT;s
zaMWWDFcA-h(M4asecRSNbZw%OhYk9OK(b8Mi;LFE=(~y^i(CjKDNoPHjMX7yh>NXZ
zF*XeY8*%U+yw#s?El|vRd?}{e?4CKgDXH`51-nLkIA0?pW#q<mgo($En0neQk4)B&
z`tV9x^dQ3LX3@{e=8wz4W!|J8O9qDVciY`$PkgpRm>W7oU|nd_(L2fOcZanD7=%gY
zkiJI{gZ->GLt?eJw82~O8rt1Z@HZ}ijMn2G&TZS|k3X&Jo!w*7WGW}OJfzJ1;k#T>
zz_#>}K&sZxtWxaOxO1<}Jikat=bgslW4GB~_+A|DCRa_4KE)6inq;q~0RgKSXMaKd
zwKv5LS29IO`zt@Af0=o*u$xt6zZYK3-d`Tx^~8;*84F-%4e?81qJ#N;?w0QuI03UI
zzn|qyxGAEWe2lUWI=N1`EjL-Nb_3P><nfN;o2^+t1zl}howv+3e9=qjbPr`GzL;Hn
zeuu-!K@smilzkVikrc*5<LJu!|6-lsid%dIg`4ONbhFU__4Pu!mTA{fEscPoGCRfa
zHt`Az9xKDTanuD3^(o+rbk*PFYY2a$N|50LXGi!SxO^wHqA2g@lADJ1P|2;5V#-Jj
zzSJV5<_8<qiR*c29uh?C<I1m>=;$9?I=$pz&7%@(09!QrPo=jh2P6!5g2U<pJ=AgI
zjf9xrX&WsM(s*SL|L+Taldqb16L*_GE5L$vrnCoLn#%bLF#W<SW4HRL@~8QJ&*h>j
zxE24e#foenf&Ct1*7E7Ces;oC_1_1@gppS=etu=V;#}`WNyo3&-7nPpeJgB!FQiOv
zQIX)}MF3NnNASz2AAE=CiTe9!Hu#m@JKbR8%8B3!N$%p7d)lt{mVbj$OEj1$ttAHZ
zMuBI2OnHQouO5BkFZ<`sK1SS;?ZR)13OKJ4F$GiFd0@Wsz@Owogn_V#T7dQ8e9H!-
zM*qc81D=0pAq!Li)v6U8(SPETriK?x-a;LuP$*jqi@@+eF*wi<i``&BrmD0t?1H(;
zNi_}HD&>xROp7b~+_c_oU*AT{nsLcTf05<j6U;66loJOmID@jJ=T*u2Nc76FOzmyp
NV}8=gglu#%<iD!j<M;po

literal 0
HcmV?d00001

diff --git a/kubernetes/helm/dspace/requirements.yaml b/kubernetes/helm/dspace/requirements.yaml
new file mode 100644
index 0000000..4f6af4a
--- /dev/null
+++ b/kubernetes/helm/dspace/requirements.yaml
@@ -0,0 +1,4 @@
+dependencies:
+- name: postgresql
+  version: 0.8.1
+  repository: https://kubernetes-charts.storage.googleapis.com/
diff --git a/kubernetes/helm/dspace/templates/apache-certs.yaml b/kubernetes/helm/dspace/templates/apache-certs.yaml
new file mode 100644
index 0000000..24bf332
--- /dev/null
+++ b/kubernetes/helm/dspace/templates/apache-certs.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+metadata:
+  creationTimestamp: null
+  labels:
+    io.kompose.service: dspace
+    chart: "{{ .Chart.Name }}-{{ .Chart.Version }}"
+    release: "{{ .Release.Name }}"
+    heritage: "{{ .Release.Service }}"
+  name: apache-lindat-keys
+data:
+  lindat-dev.eurac.edu.cert: {{ .Values.webserver.cert }}
+  lindat-dev.eurac.edu.key: {{ .Values.webserver.key }}
+kind: Secret
+type: Opaque
\ No newline at end of file
diff --git a/kubernetes/helm/dspace/templates/client.fs.services.kubernetes.eurac.commul.dspace.yaml b/kubernetes/helm/dspace/templates/client.fs.services.kubernetes.eurac.commul.dspace.yaml
new file mode 100644
index 0000000..b8b134c
--- /dev/null
+++ b/kubernetes/helm/dspace/templates/client.fs.services.kubernetes.eurac.commul.dspace.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: Secret
+metadata:
+  name: client.fs.services.kubernetes.eurac.commul.dspace
+type: Opaque
+data:
+  key: {{ .Values.cephfs.key }}
diff --git a/kubernetes/helm/dspace/templates/dockerconfigjson.yaml b/kubernetes/helm/dspace/templates/dockerconfigjson.yaml
new file mode 100644
index 0000000..f8f9103
--- /dev/null
+++ b/kubernetes/helm/dspace/templates/dockerconfigjson.yaml
@@ -0,0 +1,9 @@
+apiVersion: v1
+data:
+  .dockerconfigjson: {{ .Values.dockerconfig.json | quote }}
+kind: Secret
+metadata:
+  creationTimestamp: 2017-06-23T13:05:27Z
+  name: gitlab-scientificnet-org-registry
+type: kubernetes.io/dockerconfigjson      
+  
\ No newline at end of file
diff --git a/kubernetes/helm/dspace/templates/dspace-deployment.yaml b/kubernetes/helm/dspace/templates/dspace-deployment.yaml
new file mode 100644
index 0000000..47ab197
--- /dev/null
+++ b/kubernetes/helm/dspace/templates/dspace-deployment.yaml
@@ -0,0 +1,77 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  annotations:
+    kompose.cmd: kompose convert -f docker-compose.yml
+    kompose.version: 1.1.0 ()
+  creationTimestamp: null
+  labels:
+    io.kompose.service: dspace
+  name: dspace
+spec:
+  replicas: 1
+  strategy: {}
+  template:
+    metadata:
+      creationTimestamp: null
+      labels:
+        io.kompose.service: dspace
+    spec:
+      containers:
+      - name: {{ .Chart.Name }}
+        image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
+        imagePullPolicy: {{ .Values.image.pullPolicy }}
+        command: ["sleep","360000"]
+      #  command: ["/etc/init.d/tomcat8","start"]
+        env:
+        - name: dspaceuser
+          value: {{ default "" .Values.global.dspace.user | quote }}
+        - name: dspacepassword
+          valueFrom:
+            secretKeyRef:
+              name: dspace-secrets
+              key: dspace.password
+        - name: dspacedbname
+          value: {{ default "" .Values.global.dspace.dbname | quote }}
+        - name: dspaceutilsdbname
+          value: {{ default "" .Values.global.dspaceutils.dbname  | quote }}
+        ports:
+        - containerPort: 8080
+        resources: {}
+        volumeMounts:
+        - name: cephfs-repository
+          mountPath: /opt/repository
+        - name: cephfs-lindat
+          mountPath: /opt/lindat-dspace
+      imagePullSecrets:
+      - name: gitlab-scientificnet-org-registry
+      volumes:
+        - name: cephfs-repository
+          cephfs:
+            monitors:
+            - 10.8.55.201:6789
+            - 10.8.55.202:6789
+            - 10.8.55.203:6789 
+            - 10.7.55.201:6789
+            - 10.7.55.202:6789
+            path: /services/kubernetes/eurac/commul/dspace/dspace/repository
+            user: fs.services.kubernetes.eurac.commul.dspace
+            secretRef:
+              name: client.fs.services.kubernetes.eurac.commul.dspace
+            readOnly: false
+        - name: cephfs-lindat
+          cephfs:
+            monitors:
+            - 10.8.55.201:6789
+            - 10.8.55.202:6789
+            - 10.8.55.203:6789 
+            - 10.7.55.201:6789
+            - 10.7.55.202:6789
+            path: /services/kubernetes/eurac/commul/dspace/dspace/lindat-common
+            user: fs.services.kubernetes.eurac.commul.dspace
+            secretRef:
+              name: client.fs.services.kubernetes.eurac.commul.dspace
+            readOnly: false
+        
+      restartPolicy: Always
+status: {}
\ No newline at end of file
diff --git a/kubernetes/helm/dspace/templates/dspace-service.yaml b/kubernetes/helm/dspace/templates/dspace-service.yaml
new file mode 100644
index 0000000..c919cf3
--- /dev/null
+++ b/kubernetes/helm/dspace/templates/dspace-service.yaml
@@ -0,0 +1,19 @@
+apiVersion: v1
+kind: Service
+metadata:
+  annotations:
+    kompose.cmd: kompose convert -f docker-compose.yml
+    kompose.version: 1.1.0 ()
+  creationTimestamp: null
+  labels:
+    io.kompose.service: dspace
+  name: dspace
+spec:
+  ports:
+  - name: "8080"
+    port: 8080
+    targetPort: 8080
+  selector:
+    io.kompose.service: dspace
+status:
+  loadBalancer: {}
diff --git a/kubernetes/helm/dspace/templates/postgres-service.yaml b/kubernetes/helm/dspace/templates/postgres-service.yaml
new file mode 100644
index 0000000..1aa7bed
--- /dev/null
+++ b/kubernetes/helm/dspace/templates/postgres-service.yaml
@@ -0,0 +1,20 @@
+papiVersion: v1
+kind: Service
+metadata:
+  annotations:
+    kompose.cmd: kompose convert -f docker-compose.yml
+    kompose.version: 1.1.0 ()
+  creationTimestamp: null
+  labels:
+    io.kompose.service: postgres
+  name: postgres
+spec:
+  clusterIP: None
+  ports:
+  - name: headless
+    port: 55555
+    targetPort: 0
+  selector:
+    io.kompose.service: postgres
+status:
+  loadBalancer: {}
diff --git a/kubernetes/helm/dspace/templates/rbd.yaml b/kubernetes/helm/dspace/templates/rbd.yaml
new file mode 100644
index 0000000..217ed30
--- /dev/null
+++ b/kubernetes/helm/dspace/templates/rbd.yaml
@@ -0,0 +1,8 @@
+kind: Secret
+apiVersion: v1
+metadata:
+  name: ceph-rbd-secret
+data:
+  key: {{ .Values.rbd.secretToken | b64enc | quote }}
+type: kubernetes.io/rbd
+
diff --git a/kubernetes/helm/dspace/templates/secrets.yaml b/kubernetes/helm/dspace/templates/secrets.yaml
new file mode 100644
index 0000000..f5a62cc
--- /dev/null
+++ b/kubernetes/helm/dspace/templates/secrets.yaml
@@ -0,0 +1,7 @@
+apiVersion: v1
+kind: Secret
+metadata:
+  name: dspace-secrets
+type: Opaque
+data:
+  dspace.password: {{ .Values.global.dspace.password | b64enc | quote }}
diff --git a/kubernetes/helm/dspace/templates/webserver-deployment.yaml b/kubernetes/helm/dspace/templates/webserver-deployment.yaml
new file mode 100644
index 0000000..c812f66
--- /dev/null
+++ b/kubernetes/helm/dspace/templates/webserver-deployment.yaml
@@ -0,0 +1,44 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  annotations:
+    kompose.cmd: kompose convert -f docker-compose.yml
+    kompose.version: 1.1.0 ()
+  creationTimestamp: null
+  labels:
+    io.kompose.service: dspace
+  name: apache
+spec:
+  replicas: 1
+  strategy: {}
+  template:
+    metadata:
+      creationTimestamp: null
+      labels:
+        io.kompose.service: apache
+    spec:
+      containers:
+      - image: "{{ .Values.webserver.repository }}:{{ .Values.webserver.tag }}"
+        name: apache
+        command: ["sleep","3600"]
+        imagePullPolicy: {{ .Values.image.pullPolicy }}
+        env:
+        - name: SHIB_HOSTNAME
+          value: "{{ .Values.webserver.shib_hostname }}"        
+        ports:
+        - containerPort: 80
+        - containerPort: 443
+        resources: {}
+        volumeMounts:
+        - name: apache-certs
+          mountPath: "/etc/httpd/certs/"
+          readOnly: true
+      imagePullSecrets:
+      - name: gitlab-scientificnet-org-registry
+      volumes:
+      - name: apache-certs
+        secret:
+          secretName: "apache-lindat-keys"
+      restartPolicy: Always
+status: {}
+   
\ No newline at end of file
diff --git a/kubernetes/helm/dspace/values.yaml b/kubernetes/helm/dspace/values.yaml
new file mode 100644
index 0000000..f1b62b8
--- /dev/null
+++ b/kubernetes/helm/dspace/values.yaml
@@ -0,0 +1,51 @@
+# Default values for dspace.
+# This is a YAML-formatted file.
+# Declare variables to be passed into your templates.
+postgres:
+    password: "xxx"
+    repository: nginx
+    tag: stable
+    pullPolicy: IfNotPresent
+    
+replicaCount: 1
+image:
+  repository: gitlab.scientificnet.org:4567/kube/kubernetes/dspace/dspace
+  tag: 0.2
+  pullPolicy: IfNotPresent
+service:
+  name: nginx
+  type: ClusterIP
+  externalPort: 80
+  internalPort: 80
+ingress:
+  enabled: false
+  # Used to create Ingress record (should used with service.type: ClusterIP).
+  hosts:
+    - chart-example.local
+  annotations:
+    # kubernetes.io/ingress.class: nginx
+    # kubernetes.io/tls-acme: "true"
+  tls:
+    # Secrets must be manually created in the namespace.
+    # - secretName: chart-example-tls
+    #   hosts:
+    #     - chart-example.local
+resources: {}
+  # We usually recommend not to specify default resources and to leave this as a conscious 
+  # choice for the user. This also increases chances charts run on environments with little 
+  # resources, such as Minikube. If you do want to specify resources, uncomment the following 
+  # lines, adjust them as necessary, and remove the curly braces after 'resources:'.
+  # limits:
+  #  cpu: 100m
+  #  memory: 128Mi
+  #requests:
+  #  cpu: 100m
+  #  memory: 128Mi
+dspace:
+  dbname : 
+  password :
+  user :                 
+dspaceutils:
+  dbname :
+cephfs:
+  key: ""      
\ No newline at end of file
-- 
GitLab