From f7e00849c3233ce3d90f964a5b34bbc24a050b37 Mon Sep 17 00:00:00 2001 From: Peter Matulis Date: Mon, 2 May 2022 16:05:48 -0400 Subject: [PATCH] Update guide to Jammy Yoga Update the install instructions to Jammy Yoga. Remove the worker-multiplier option for containerised services as this leads to too many processes on highly resourced machines. There is already a default maximum number of four. Instructions have been tested and verified. At the time of writing: * placement charm needed to be installed by force * ntp charm was not available for Jammy Change-Id: I7282604f416ac7bf3b3ebfb6b9cd5ed257847b66 --- deploy-guide/source/configure-openstack.rst | 67 +-- deploy-guide/source/install-juju.rst | 37 +- deploy-guide/source/install-maas.rst | 6 +- .../source/install-openstack-juju-status.rst | 191 ++++----- deploy-guide/source/install-openstack.rst | 397 ++++++++---------- deploy-guide/source/install-overview.rst | 11 +- .../media/install-openstack_horizon.png | Bin 2215297 -> 63997 bytes 7 files changed, 342 insertions(+), 367 deletions(-) diff --git a/deploy-guide/source/configure-openstack.rst b/deploy-guide/source/configure-openstack.rst index f77264e..b58c796 100644 --- a/deploy-guide/source/configure-openstack.rst +++ b/deploy-guide/source/configure-openstack.rst @@ -25,7 +25,7 @@ command line. Install them now: .. code-block:: none - sudo snap install openstackclients --classic + sudo snap install openstackclients Create the admin user environment --------------------------------- @@ -65,7 +65,7 @@ Sample output: OS_REGION_NAME=RegionOne OS_AUTH_VERSION=3 OS_CACERT=/home/ubuntu/snap/openstackclients/common/root-ca.crt - OS_AUTH_URL=https://10.0.0.170:5000/v3 + OS_AUTH_URL=https://10.0.0.174:5000/v3 OS_PROJECT_DOMAIN_NAME=admin_domain OS_AUTH_PROTOCOL=https OS_USERNAME=admin @@ -97,13 +97,12 @@ The output will look similar to this: +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+ | ID | Region | Service Name | Service Type | Enabled | Interface | URL | +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+ - | 12011a63a8e24e2290986cf7d8c285db | RegionOne | cinderv3 | volumev3 | True | admin | https://10.0.0.179:8776/v3/$(tenant_id)s | - | 17a66b67744c42beb20135dca647a9a4 | RegionOne | keystone | identity | True | admin | https://10.0.0.170:35357/v3 | - | 296755b4627641379fd43095c5fab3ba | RegionOne | nova | compute | True | admin | https://10.0.0.172:8774/v2.1 | - | 682fd715c05f492fb0abc08f56e25439 | RegionOne | placement | placement | True | admin | https://10.0.0.173:8778 | - | 7b20063d208c40aa9d3e3d1152259868 | RegionOne | neutron | network | True | admin | https://10.0.0.169:9696 | - | a613af1a0d8349ee9329e1230e76b764 | RegionOne | cinderv2 | volumev2 | True | admin | https://10.0.0.179:8776/v2/$(tenant_id)s | - | b4fe417933704e8b86cfbca91811fcbf | RegionOne | glance | image | True | admin | https://10.0.0.175:9292 | + | 153cac31650f4c3db2d4ed38cb21af5d | RegionOne | nova | compute | True | admin | https://10.0.0.176:8774/v2.1 | + | 163ea3aef1cb4e2cab7900a092437b8e | RegionOne | neutron | network | True | admin | https://10.0.0.173:9696 | + | 2ae599431cf641618da754446c827983 | RegionOne | keystone | identity | True | admin | https://10.0.0.174:35357/v3 | + | 42befdb50fd84719a7e1c1f60d5ead42 | RegionOne | cinderv3 | volumev3 | True | admin | https://10.0.0.183:8776/v3/$(tenant_id)s | + | d73168f18aba40efa152e304249d95ab | RegionOne | placement | placement | True | admin | https://10.0.0.177:8778 | + | f63768a3b71f415680b45835832b7860 | RegionOne | glance | image | True | admin | https://10.0.0.179:9292 | +----------------------------------+-----------+--------------+--------------+---------+-----------+------------------------------------------+ If the endpoints aren't visible, it's likely your environment variables aren't @@ -120,20 +119,22 @@ Create an image and flavor ~~~~~~~~~~~~~~~~~~~~~~~~~~ Import a boot image into Glance to create server instances with. Here we import -a Focal amd64 image: +a Jammy amd64 image: .. code-block:: none - curl http://cloud-images.ubuntu.com/focal/current/focal-server-cloudimg-amd64.img \ - --output ~/cloud-images/focal-amd64.img + mkdir ~/cloud-images -Now import the image and call it 'focal-amd64': + curl http://cloud-images.ubuntu.com/jammy/current/jammy-server-cloudimg-amd64.img \ + --output ~/cloud-images/jammy-amd64.img + +Now import the image and call it 'jammy-amd64': .. code-block:: none openstack image create --public --container-format bare \ - --disk-format qcow2 --file ~/cloud-images/focal-amd64.img \ - focal-amd64 + --disk-format qcow2 --file ~/cloud-images/jammy-amd64.img \ + jammy-amd64 Create at least one flavor to define a hardware profile for new instances. Here we create one called 'm1.small': @@ -232,7 +233,7 @@ The contents of the file, say ``project1-rc``, will therefore look like this .. code-block:: ini - export OS_AUTH_URL=https://10.0.0.170:5000/v3 + export OS_AUTH_URL=https://10.0.0.174:5000/v3 export OS_USER_DOMAIN_NAME=domain1 export OS_USERNAME=user1 export OS_PROJECT_DOMAIN_NAME=domain1 @@ -264,7 +265,7 @@ Perform a cloud query to ensure the user environment is functioning correctly: +--------------------------------------+-------------+--------+ | ID | Name | Status | +--------------------------------------+-------------+--------+ - | 82517c74-1226-4dab-8a6b-59b4fe07f681 | focal-amd64 | active | + | 82517c74-1226-4dab-8a6b-59b4fe07f681 | jammy-amd64 | active | +--------------------------------------+-------------+--------+ The image that was previously imported by the admin user should be returned. @@ -277,15 +278,15 @@ project-specific network with a private subnet. We'll also need a router to link this network to the public network created earlier. The non-admin user now creates a private internal network called 'user1_net' -and an accompanying subnet called 'user1_subnet' (the DNS server is the MAAS -server at 10.0.0.2): +and an accompanying subnet called 'user1_subnet' (here the DNS server is the +MAAS server at 10.0.0.2, but adjust to local conditions): .. code-block:: none openstack network create --internal user1_net openstack subnet create --network user1_net --dns-nameserver 10.0.0.2 \ - --gateway 192.168.0.1 --subnet-range 192.168.0/24 \ + --subnet-range 192.168.0/24 \ --allocation-pool start=192.168.0.10,end=192.168.0.199 \ user1_subnet @@ -309,6 +310,8 @@ passphraseless keypair (remove the ``-N`` option to avoid that): .. code-block:: none + mkdir ~/cloud-keys + ssh-keygen -q -N '' -f ~/cloud-keys/user1-key To import a keypair: @@ -329,20 +332,20 @@ We do the latter by creating a group called 'Allow_SSH': Create and access an instance ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Create a Focal amd64 instance called 'focal-1': +Create a Jammy amd64 instance called 'jammy-1': .. code-block:: none - openstack server create --image focal-amd64 --flavor m1.small \ + openstack server create --image jammy-amd64 --flavor m1.small \ --key-name user1 --network user1_net --security-group Allow_SSH \ - focal-1 + jammy-1 Request and assign a floating IP address to the new instance: .. code-block:: none FLOATING_IP=$(openstack floating ip create -f value -c floating_ip_address ext_net) - openstack server add floating ip focal-1 $FLOATING_IP + openstack server add floating ip jammy-1 $FLOATING_IP Ask for a listing of all instances within the context of the current project ('project1'): @@ -358,7 +361,7 @@ Sample output: +--------------------------------------+---------+--------+-------------------------------------+-------------+----------+ | ID | Name | Status | Networks | Image | Flavor | +--------------------------------------+---------+--------+-------------------------------------+-------------+----------+ - | 687b96d0-ab22-459b-935b-a9d0b7e9964c | focal-1 | ACTIVE | user1_net=192.168.0.154, 10.0.0.187 | focal-amd64 | m1.small | + | 687b96d0-ab22-459b-935b-a9d0b7e9964c | jammy-1 | ACTIVE | user1_net=192.168.0.154, 10.0.0.187 | jammy-amd64 | m1.small | +--------------------------------------+---------+--------+-------------------------------------+-------------+----------+ The first address listed is in the private network and the second one is in the @@ -368,7 +371,7 @@ You can monitor the booting of the instance with this command: .. code-block:: none - openstack console log show focal-1 + openstack console log show jammy-1 The instance is ready when the output contains: @@ -377,9 +380,9 @@ The instance is ready when the output contains: . . . - Ubuntu 20.04.3 LTS focal-1 ttyS0 + Ubuntu 22.04 LTS jammy-1 ttyS0 - focal-1 login: + jammy-1 login: Connect to the instance in this way: @@ -392,10 +395,14 @@ Next steps You now have a functional OpenStack cloud managed by MAAS-backed Juju. -Go on to read the many Charmed OpenStack topics in this guide or consider the -`OpenStack Administrator Guides`_ for upstream OpenStack administrative help. +As next steps, consider browsing these documentation sources: + +* `OpenStack Charm Guide`_: the primary source of information for OpenStack + charms +* `OpenStack Administrator Guides`_: upstream OpenStack administrative help .. LINKS .. _openstack-bundles: https://github.com/openstack-charmers/openstack-bundles .. _Reserved IP range: https://maas.io/docs/concepts-and-terms#heading--ip-ranges +.. _OpenStack Charm Guide: https://docs.openstack.org/charm-guide .. _OpenStack Administrator Guides: http://docs.openstack.org/user-guide-admin/content diff --git a/deploy-guide/source/install-juju.rst b/deploy-guide/source/install-juju.rst index 54dbcba..4d42a8f 100644 --- a/deploy-guide/source/install-juju.rst +++ b/deploy-guide/source/install-juju.rst @@ -22,22 +22,22 @@ Add MAAS to Juju Add the MAAS cluster so Juju will be able to manage it as a cloud. We'll do this via a cloud definition file, such as ``maas-cloud.yaml``: -.. code-block:: ini +.. code-block:: yaml clouds: - mymaas: + maas-one: type: maas auth-types: [oauth1] endpoint: http://10.0.0.2:5240/MAAS -We've called the cloud 'mymaas' and its endpoint is based on the IP address of -the MAAS system. +We've called the cloud 'maas-one' and its endpoint is based on the IP address +of the MAAS system. The cloud is added in this way: .. code-block:: none - juju add-cloud --client -f maas-cloud.yaml mymaas + juju add-cloud --client -f maas-cloud.yaml maas-one View the updated list of clouds known to the current Juju client with the :command:`juju clouds --client` command. @@ -48,15 +48,15 @@ Add the MAAS credentials Add the MAAS credentials so Juju can interact with the newly added cloud. We'll again use a file to import our information, such as ``maas-creds.yaml``: -.. code-block:: ini +.. code-block:: yaml credentials: - mymaas: + maas-one: anyuser: auth-type: oauth1 maas-oauth: LGJ8svffZZ5kSdeA8E:9kVM7jJpHGG6J9apk3:KE65tLnjpPuqVHZ6vb97T8VWfVB9tM3j -We've included the name of the cloud 'mymaas' and a new user 'anyuser'. The +We've included the name of the cloud 'maas-one' and a new user 'anyuser'. The long key is the MAAS API key for the MAAS 'admin' user. This key was placed in file ``~/admin-api-key`` on the MAAS system during the :ref:`Install MAAS ` step on the previous page. It can also be obtained from the @@ -66,7 +66,7 @@ The credentials are added in this way: .. code-block:: none - juju add-credential --client -f maas-creds.yaml mymaas + juju add-credential --client -f maas-creds.yaml maas-one View the updated list of credentials known to the current Juju client with the :command:`juju credentials --client --show-secrets --format yaml` command. @@ -74,12 +74,12 @@ View the updated list of credentials known to the current Juju client with the Create the Juju controller -------------------------- -Create the controller (using the 'focal' series) for the 'mymaas' cloud, and +Create the controller (using the 'jammy' series) for the 'maas-one' cloud, and call it 'maas-controller': .. code-block:: none - juju bootstrap --bootstrap-series=focal --constraints tags=juju mymaas maas-controller + juju bootstrap --bootstrap-series=focal --constraints tags=juju maas-one maas-controller The ``--constraints`` option allows us to effectively select a node in the MAAS cluster. Recall that we attached a tag of 'juju' to the lower-resourced MAAS @@ -96,19 +96,25 @@ Create the model The OpenStack deployment will be placed in its own Juju model for organisational purposes. Create the model 'openstack' and specify our desired -series of 'focal': +series of 'jammy': .. code-block:: none - juju add-model --config default-series=focal openstack + juju add-model --config default-series=jammy openstack + +.. note:: + + Due to Juju issue `LP #1966664`_, a model's default series is not honoured. + Consequently, the series will be explicitly requested during the deployment + of each principal application. The output of the :command:`juju status` command summarises the Juju aspect of the environment. It should now look very similar to this: .. code-block:: none - Model Controller Cloud/Region Version SLA Timestamp - openstack maas-controller mymaas/default 2.9.15 unsupported 15:56:13Z + Model Controller Cloud/Region Version SLA Timestamp + openstack maas-controller maas-one/default 2.9.29 unsupported 20:28:32Z Model "admin/openstack" is empty. @@ -122,3 +128,4 @@ the OpenStack applications and adding relations between them. Go to .. LINKS .. _Juju: https://juju.is .. _MAAS: https://maas.io +.. _LP #1966664: https://bugs.launchpad.net/juju/+bug/1966664 diff --git a/deploy-guide/source/install-maas.rst b/deploy-guide/source/install-maas.rst index 20274c4..3536501 100644 --- a/deploy-guide/source/install-maas.rst +++ b/deploy-guide/source/install-maas.rst @@ -59,7 +59,7 @@ The MAAS system's single network interface resides on subnet .. attention:: - The MAAS-provisioned nodes rely upon Focal AMD64 images provided by MAAS. + The MAAS-provisioned nodes rely upon Jammy AMD64 images provided by MAAS. .. _install_maas: @@ -73,7 +73,7 @@ instructions`_ for details: .. code-block:: none sudo snap install maas-test-db - sudo snap install maas --channel=3.0/stable + sudo snap install maas --channel=3.1/stable sudo maas init region+rack --maas-url http://10.0.0.2:5240/MAAS --database-uri maas-test-db:/// sudo maas createadmin --username admin --password ubuntu --email admin@example.com --ssh-import lp: sudo maas apikey --username admin > ~ubuntu/admin-api-key @@ -115,7 +115,7 @@ The web UI URL then becomes: **http://10.0.0.2:5240/MAAS** You will be whisked through an on-boarding process when you access the web UI -for the first time. Recall that we require 20.04 LTS AMD64 images. +for the first time. Recall that we require 22.04 LTS AMD64 images. Enable DHCP ~~~~~~~~~~~ diff --git a/deploy-guide/source/install-openstack-juju-status.rst b/deploy-guide/source/install-openstack-juju-status.rst index cc43b47..54dd486 100644 --- a/deploy-guide/source/install-openstack-juju-status.rst +++ b/deploy-guide/source/install-openstack-juju-status.rst @@ -12,107 +12,102 @@ installed from the instructions given on the :doc:`Install OpenStack .. code-block:: console - Model Controller Cloud/Region Version SLA Timestamp - openstack maas-controller mymaas/default 2.9.15 unsupported 22:00:48Z + Model Controller Cloud/Region Version SLA Timestamp + openstack maas-controller maas-one/default 2.9.29 unsupported 18:51:46Z - App Version Status Scale Charm Store Channel Rev OS Message - ceph-mon 16.2.6 active 3 ceph-mon charmstore stable 482 ubuntu Unit is ready and clustered - ceph-osd 16.2.6 active 4 ceph-osd charmstore stable 502 ubuntu Unit is ready (1 OSD) - ceph-radosgw 16.2.6 active 1 ceph-radosgw charmstore stable 412 ubuntu Unit is ready - cinder 19.0.0 active 1 cinder charmstore stable 448 ubuntu Unit is ready - cinder-ceph 19.0.0 active 1 cinder-ceph charmstore stable 360 ubuntu Unit is ready - cinder-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready - dashboard-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready - glance 23.0.0 active 1 glance charmstore stable 473 ubuntu Unit is ready - glance-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready - keystone 20.0.0 active 1 keystone charmstore stable 565 ubuntu Application Ready - keystone-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready - mysql-innodb-cluster 8.0.26 active 3 mysql-innodb-cluster charmstore stable 88 ubuntu Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - ncc-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready - neutron-api 19.0.0 active 1 neutron-api charmstore stable 485 ubuntu Unit is ready - neutron-api-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready - neutron-api-plugin-ovn 19.0.0 active 1 neutron-api-plugin-ovn charmstore stable 46 ubuntu Unit is ready - nova-cloud-controller 24.0.0 active 1 nova-cloud-controller charmstore stable 552 ubuntu Unit is ready - nova-compute 24.0.0 active 3 nova-compute charmstore stable 577 ubuntu Unit is ready - ntp 3.5 active 4 ntp charmhub stable 47 ubuntu chrony: Ready - openstack-dashboard 20.1.0 active 1 openstack-dashboard charmstore stable 513 ubuntu Unit is ready - ovn-central 21.09.0~git2... active 3 ovn-central charmstore stable 68 ubuntu Unit is ready - ovn-chassis 21.09.0~git2... active 3 ovn-chassis charmstore stable 86 ubuntu Unit is ready - placement 6.0.0 active 1 placement charmstore stable 64 ubuntu Unit is ready - placement-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready - rabbitmq-server 3.8.2 active 1 rabbitmq-server charmstore stable 440 ubuntu Unit is ready - vault 1.5.9 active 1 vault charmstore stable 153 ubuntu Unit is ready (active: true, mlock: disabled) - vault-mysql-router 8.0.26 active 1 mysql-router charmstore stable 60 ubuntu Unit is ready + App Version Status Scale Charm Channel Rev Exposed Message + ceph-mon 17.1.0 active 3 ceph-mon quincy/stable 106 no Unit is ready and clustered + ceph-osd 17.1.0 active 4 ceph-osd quincy/stable 534 no Unit is ready (2 OSD) + ceph-radosgw 17.1.0 active 1 ceph-radosgw quincy/stable 526 no Unit is ready + cinder 20.0.0 active 1 cinder yoga/stable 554 no Unit is ready + cinder-ceph 20.0.0 active 1 cinder-ceph yoga/stable 502 no Unit is ready + cinder-mysql-router 8.0.29 active 1 mysql-router 8.0/stable 26 no Unit is ready + dashboard-mysql-router 8.0.29 active 1 mysql-router 8.0/stable 26 no Unit is ready + glance 24.0.0 active 1 glance yoga/stable 544 no Unit is ready + glance-mysql-router 8.0.29 active 1 mysql-router 8.0/stable 26 no Unit is ready + keystone 21.0.0 active 1 keystone yoga/stable 568 no Application Ready + keystone-mysql-router 8.0.29 active 1 mysql-router 8.0/stable 26 no Unit is ready + mysql-innodb-cluster 8.0.29 active 3 mysql-innodb-cluster 8.0/stable 24 no Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + ncc-mysql-router 8.0.29 active 1 mysql-router 8.0/stable 26 no Unit is ready + neutron-api 20.0.0 active 1 neutron-api yoga/stable 526 no Unit is ready + neutron-api-mysql-router 8.0.29 active 1 mysql-router 8.0/stable 26 no Unit is ready + neutron-api-plugin-ovn 20.0.0 active 1 neutron-api-plugin-ovn yoga/stable 29 no Unit is ready + nova-cloud-controller 25.0.0 active 1 nova-cloud-controller yoga/stable 601 no Unit is ready + nova-compute 25.0.0 active 3 nova-compute yoga/stable 588 no Unit is ready + openstack-dashboard 22.1.0 active 1 openstack-dashboard yoga/stable 536 no Unit is ready + ovn-central 22.03.0 active 3 ovn-central 22.03/stable 31 no Unit is ready + ovn-chassis 22.03.0 active 3 ovn-chassis 22.03/stable 46 no Unit is ready + placement 7.0.0 active 1 placement yoga/stable 49 no Unit is ready + placement-mysql-router 8.0.29 active 1 mysql-router 8.0/stable 26 no Unit is ready + rabbitmq-server 3.9.13 active 1 rabbitmq-server 3.9/stable 149 no Unit is ready + vault 1.7.9 active 1 vault 1.7/stable 68 no Unit is ready (active: true, mlock: disabled) + vault-mysql-router 8.0.29 active 1 mysql-router 8.0/stable 26 no Unit is ready - Unit Workload Agent Machine Public address Ports Message - ceph-mon/0* active idle 0/lxd/3 10.0.0.176 Unit is ready and clustered - ceph-mon/1 active idle 1/lxd/3 10.0.0.177 Unit is ready and clustered - ceph-mon/2 active idle 2/lxd/4 10.0.0.178 Unit is ready and clustered - ceph-osd/0 active idle 0 10.0.0.158 Unit is ready (1 OSD) - ntp/1 active idle 10.0.0.158 123/udp chrony: Ready - ceph-osd/1* active idle 1 10.0.0.159 Unit is ready (1 OSD) - ntp/2 active idle 10.0.0.159 123/udp chrony: Ready - ceph-osd/2 active idle 2 10.0.0.160 Unit is ready (1 OSD) - ntp/0* active idle 10.0.0.160 123/udp chrony: Ready - ceph-osd/3 active idle 3 10.0.0.161 Unit is ready (1 OSD) - ntp/3 active idle 10.0.0.161 123/udp chrony: Ready - ceph-radosgw/0* active idle 0/lxd/4 10.0.0.180 80/tcp Unit is ready - cinder/0* active idle 1/lxd/4 10.0.0.179 8776/tcp Unit is ready - cinder-ceph/0* active idle 10.0.0.179 Unit is ready - cinder-mysql-router/0* active idle 10.0.0.179 Unit is ready - glance/0* active idle 3/lxd/3 10.0.0.175 9292/tcp Unit is ready - glance-mysql-router/0* active idle 10.0.0.175 Unit is ready - keystone/0* active idle 0/lxd/2 10.0.0.170 5000/tcp Unit is ready - keystone-mysql-router/0* active idle 10.0.0.170 Unit is ready - mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.162 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.163 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. - mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.165 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - neutron-api/0* active idle 1/lxd/2 10.0.0.169 9696/tcp Unit is ready - neutron-api-mysql-router/0* active idle 10.0.0.169 Unit is ready - neutron-api-plugin-ovn/0* active idle 10.0.0.169 Unit is ready - nova-cloud-controller/0* active idle 3/lxd/1 10.0.0.172 8774/tcp,8775/tcp Unit is ready - ncc-mysql-router/0* active idle 10.0.0.172 Unit is ready - nova-compute/0* active idle 1 10.0.0.159 Unit is ready - ovn-chassis/3 active idle 10.0.0.159 Unit is ready - nova-compute/1 active idle 2 10.0.0.160 Unit is ready - ovn-chassis/2 active idle 10.0.0.160 Unit is ready - nova-compute/2 active idle 3 10.0.0.161 Unit is ready - ovn-chassis/1* active idle 10.0.0.161 Unit is ready - openstack-dashboard/0* active idle 2/lxd/3 10.0.0.174 80/tcp,443/tcp Unit is ready - dashboard-mysql-router/0* active idle 10.0.0.174 Unit is ready - ovn-central/0 active idle 0/lxd/1 10.0.0.166 6641/tcp,6642/tcp Unit is ready - ovn-central/1 active idle 1/lxd/1 10.0.0.167 6641/tcp,6642/tcp Unit is ready - ovn-central/2* active idle 2/lxd/1 10.0.0.168 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db northd: active) - placement/0* active idle 3/lxd/2 10.0.0.173 8778/tcp Unit is ready - placement-mysql-router/0* active idle 10.0.0.173 Unit is ready - rabbitmq-server/0* active idle 2/lxd/2 10.0.0.171 5672/tcp Unit is ready - vault/0* active idle 3/lxd/0 10.0.0.164 8200/tcp Unit is ready (active: true, mlock: disabled) - vault-mysql-router/0* active idle 10.0.0.164 Unit is ready + Unit Workload Agent Machine Public address Ports Message + ceph-mon/0 active idle 0/lxd/4 10.0.0.180 Unit is ready and clustered + ceph-mon/1* active idle 1/lxd/4 10.0.0.182 Unit is ready and clustered + ceph-mon/2 active idle 2/lxd/5 10.0.0.181 Unit is ready and clustered + ceph-osd/0 active idle 0 10.0.0.160 Unit is ready (2 OSD) + ceph-osd/1* active idle 1 10.0.0.159 Unit is ready (2 OSD) + ceph-osd/2 active idle 2 10.0.0.162 Unit is ready (2 OSD) + ceph-osd/3 active idle 3 10.0.0.161 Unit is ready (2 OSD) + ceph-radosgw/0* active idle 0/lxd/5 10.0.0.184 80/tcp Unit is ready + cinder/0* active idle 1/lxd/5 10.0.0.183 8776/tcp Unit is ready + cinder-ceph/0* active idle 10.0.0.183 Unit is ready + cinder-mysql-router/0* active idle 10.0.0.183 Unit is ready + glance/0* active idle 3/lxd/3 10.0.0.179 9292/tcp Unit is ready + glance-mysql-router/0* active idle 10.0.0.179 Unit is ready + keystone/0* active idle 0/lxd/3 10.0.0.174 5000/tcp Unit is ready + keystone-mysql-router/0* active idle 10.0.0.174 Unit is ready + mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.163 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.164 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.165 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + neutron-api/0* active idle 1/lxd/3 10.0.0.173 9696/tcp Unit is ready + neutron-api-mysql-router/0* active idle 10.0.0.173 Unit is ready + neutron-api-plugin-ovn/0* active idle 10.0.0.173 Unit is ready + nova-cloud-controller/0* active idle 3/lxd/1 10.0.0.176 8774/tcp,8775/tcp Unit is ready + ncc-mysql-router/0* active idle 10.0.0.176 Unit is ready + nova-compute/0* active idle 1 10.0.0.159 Unit is ready + ovn-chassis/0* active idle 10.0.0.159 Unit is ready + nova-compute/1 active idle 2 10.0.0.162 Unit is ready + ovn-chassis/2 active idle 10.0.0.162 Unit is ready + nova-compute/2 active idle 3 10.0.0.161 Unit is ready + ovn-chassis/1 active idle 10.0.0.161 Unit is ready + openstack-dashboard/0* active idle 2/lxd/4 10.0.0.178 80/tcp,443/tcp Unit is ready + dashboard-mysql-router/0* active idle 10.0.0.178 Unit is ready + ovn-central/3 active idle 0/lxd/2 10.0.0.170 6641/tcp,6642/tcp Unit is ready + ovn-central/4 active idle 1/lxd/2 10.0.0.171 6641/tcp,6642/tcp Unit is ready (northd: active) + ovn-central/5* active idle 2/lxd/2 10.0.0.172 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db) + placement/0* active idle 3/lxd/2 10.0.0.177 8778/tcp Unit is ready + placement-mysql-router/0* active idle 10.0.0.177 Unit is ready + rabbitmq-server/0* active idle 2/lxd/3 10.0.0.175 5672/tcp,15672/tcp Unit is ready + vault/0* active idle 3/lxd/0 10.0.0.166 8200/tcp Unit is ready (active: true, mlock: disabled) + vault-mysql-router/0* active idle 10.0.0.166 Unit is ready Machine State DNS Inst id Series AZ Message - 0 started 10.0.0.158 node1 focal default Deployed - 0/lxd/0 started 10.0.0.162 juju-c6e3fb-0-lxd-0 focal default Container started - 0/lxd/1 started 10.0.0.166 juju-c6e3fb-0-lxd-1 focal default Container started - 0/lxd/2 started 10.0.0.170 juju-c6e3fb-0-lxd-2 focal default Container started - 0/lxd/3 started 10.0.0.176 juju-c6e3fb-0-lxd-3 focal default Container started - 0/lxd/4 started 10.0.0.180 juju-c6e3fb-0-lxd-4 focal default Container started - 1 started 10.0.0.159 node2 focal default Deployed - 1/lxd/0 started 10.0.0.163 juju-c6e3fb-1-lxd-0 focal default Container started - 1/lxd/1 started 10.0.0.167 juju-c6e3fb-1-lxd-1 focal default Container started - 1/lxd/2 started 10.0.0.169 juju-c6e3fb-1-lxd-2 focal default Container started - 1/lxd/3 started 10.0.0.177 juju-c6e3fb-1-lxd-3 focal default Container started - 1/lxd/4 started 10.0.0.179 juju-c6e3fb-1-lxd-4 focal default Container started - 2 started 10.0.0.160 node3 focal default Deployed - 2/lxd/0 started 10.0.0.165 juju-c6e3fb-2-lxd-0 focal default Container started - 2/lxd/1 started 10.0.0.168 juju-c6e3fb-2-lxd-1 focal default Container started - 2/lxd/2 started 10.0.0.171 juju-c6e3fb-2-lxd-2 focal default Container started - 2/lxd/3 started 10.0.0.174 juju-c6e3fb-2-lxd-3 focal default Container started - 2/lxd/4 started 10.0.0.178 juju-c6e3fb-2-lxd-4 focal default Container started - 3 started 10.0.0.161 node4 focal default Deployed - 3/lxd/0 started 10.0.0.164 juju-c6e3fb-3-lxd-0 focal default Container started - 3/lxd/1 started 10.0.0.172 juju-c6e3fb-3-lxd-1 focal default Container started - 3/lxd/2 started 10.0.0.173 juju-c6e3fb-3-lxd-2 focal default Container started - 3/lxd/3 started 10.0.0.175 juju-c6e3fb-3-lxd-3 focal default Container started + 0 started 10.0.0.160 node1 jammy default Deployed + 0/lxd/0 started 10.0.0.163 juju-df2f3d-0-lxd-0 jammy default Container started + 0/lxd/2 started 10.0.0.170 juju-df2f3d-0-lxd-2 jammy default Container started + 0/lxd/3 started 10.0.0.174 juju-df2f3d-0-lxd-3 jammy default Container started + 0/lxd/4 started 10.0.0.180 juju-df2f3d-0-lxd-4 jammy default Container started + 0/lxd/5 started 10.0.0.184 juju-df2f3d-0-lxd-5 jammy default Container started + 1 started 10.0.0.159 node2 jammy default Deployed + 1/lxd/0 started 10.0.0.164 juju-df2f3d-1-lxd-0 jammy default Container started + 1/lxd/2 started 10.0.0.171 juju-df2f3d-1-lxd-2 jammy default Container started + 1/lxd/3 started 10.0.0.173 juju-df2f3d-1-lxd-3 jammy default Container started + 1/lxd/4 started 10.0.0.182 juju-df2f3d-1-lxd-4 jammy default Container started + 1/lxd/5 started 10.0.0.183 juju-df2f3d-1-lxd-5 jammy default Container started + 2 started 10.0.0.162 node4 jammy default Deployed + 2/lxd/0 started 10.0.0.165 juju-df2f3d-2-lxd-0 jammy default Container started + 2/lxd/2 started 10.0.0.172 juju-df2f3d-2-lxd-2 jammy default Container started + 2/lxd/3 started 10.0.0.175 juju-df2f3d-2-lxd-3 jammy default Container started + 2/lxd/4 started 10.0.0.178 juju-df2f3d-2-lxd-4 jammy default Container started + 2/lxd/5 started 10.0.0.181 juju-df2f3d-2-lxd-5 jammy default Container started + 3 started 10.0.0.161 node3 jammy default Deployed + 3/lxd/0 started 10.0.0.166 juju-df2f3d-3-lxd-0 jammy default Container started + 3/lxd/1 started 10.0.0.176 juju-df2f3d-3-lxd-1 jammy default Container started + 3/lxd/2 started 10.0.0.177 juju-df2f3d-3-lxd-2 jammy default Container started + 3/lxd/3 started 10.0.0.179 juju-df2f3d-3-lxd-3 jammy default Container started Relation provider Requirer Interface Type Message ceph-mon:client cinder-ceph:ceph ceph-client regular @@ -121,7 +116,6 @@ installed from the instructions given on the :doc:`Install OpenStack ceph-mon:mon ceph-mon:mon ceph peer ceph-mon:osd ceph-osd:mon ceph-osd regular ceph-mon:radosgw ceph-radosgw:mon ceph-radosgw regular - ceph-osd:juju-info ntp:juju-info juju-info subordinate ceph-radosgw:cluster ceph-radosgw:cluster swift-ha peer cinder-ceph:ceph-access nova-compute:ceph-access cinder-ceph-key regular cinder-ceph:storage-backend cinder:storage-backend cinder-backend subordinate @@ -160,7 +154,6 @@ installed from the instructions given on the :doc:`Install OpenStack nova-cloud-controller:cluster nova-cloud-controller:cluster nova-ha peer nova-compute:cloud-compute nova-cloud-controller:cloud-compute nova-compute regular nova-compute:compute-peer nova-compute:compute-peer nova peer - ntp:ntp-peers ntp:ntp-peers ntp peer openstack-dashboard:cluster openstack-dashboard:cluster openstack-dashboard-ha peer ovn-central:ovsdb ovn-chassis:ovsdb ovsdb regular ovn-central:ovsdb-cms neutron-api-plugin-ovn:ovsdb-cms ovsdb-cms regular diff --git a/deploy-guide/source/install-openstack.rst b/deploy-guide/source/install-openstack.rst index 9297d39..14f801a 100644 --- a/deploy-guide/source/install-openstack.rst +++ b/deploy-guide/source/install-openstack.rst @@ -26,16 +26,16 @@ bundle ` for method #2. #. The entire suite of charms used to manage the cloud should be upgraded to the latest stable charm revision before any major change is made to the cloud (e.g. migrating to new charms, upgrading cloud services, upgrading - machine series). See `Charms upgrade`_ for details. + machine series). See :doc:`Charms upgrade ` for details. #. The Juju machines that comprise the cloud should all be running the same - series (e.g. 'bionic' or 'focal', but not a mix of the two). See `Series - upgrade`_ for details. + series (e.g. 'focal' or 'jammy', but not a mix of the two). See + :doc:`Series upgrade ` for details. -Despite the length of this page, only three distinct Juju commands will be -employed: :command:`juju deploy`, :command:`juju add-unit`, and :command:`juju -add-relation`. You may want to review these pertinent sections of the Juju -documentation before continuing: +Despite the length of this page, only two distinct Juju commands will be +employed: :command:`juju deploy`, and :command:`juju add-relation`. You may +want to review these pertinent sections of the Juju documentation before +continuing: * `Deploying applications`_ * `Deploying to specific machines`_ @@ -50,23 +50,23 @@ This page will show how to install a minimal non-HA OpenStack cloud. See OpenStack release ----------------- -.. TEMPLATE +.. TEMPLATE (alternate between the following two paragraphs each six months) As the :doc:`Overview ` of the Installation section - states, OpenStack Ussuri will be deployed atop Ubuntu 20.04 LTS (Focal) - cloud nodes. In order to achieve this the default package archive ("distro") - for the cloud nodes will be used during the install of each OpenStack + states, OpenStack Xena will be deployed atop Ubuntu 20.04 LTS (Focal) cloud + nodes. In order to achieve this a cloud archive release of + 'cloud:focal-xena' will be used during the install of each OpenStack application. Note that some applications are not part of the OpenStack project per se and therefore do not apply (exceptionally, Ceph applications - do use this method). + do use this method). Not using a more recent OpenStack release in this way + will result in an Ussuri deployment (i.e. Ussuri is in the Ubuntu package + archive for Focal). As the :doc:`Overview ` of the Installation section states, -OpenStack Xena will be deployed atop Ubuntu 20.04 LTS (Focal) cloud nodes. In -order to achieve this a cloud archive release of 'cloud:focal-xena' will be -used during the install of each OpenStack application. Note that some -applications are not part of the OpenStack project per se and therefore do not -apply (exceptionally, Ceph applications do use this method). Not using a more -recent OpenStack release in this way will result in an Ussuri deployment (i.e. -Ussuri is in the Ubuntu package archive for Focal). +OpenStack Yoga will be deployed atop Ubuntu 22.04 LTS (Jammy) cloud nodes. In +order to achieve this the default package archive ("distro") for the cloud +nodes will be used during the install of each OpenStack application. Note that +some applications are not part of the OpenStack project per se and therefore do +not apply (exceptionally, Ceph applications do use this method). See :ref:`Perform the upgrade ` on the :doc:`OpenStack Upgrade ` page for more details on cloud archive releases @@ -75,7 +75,7 @@ and how they are used when upgrading OpenStack. .. important:: The chosen OpenStack release may impact the installation and configuration - instructions. **This guide assumes that OpenStack Xena is being deployed.** + instructions. **This guide assumes that OpenStack Yoga is being deployed.** Installation progress --------------------- @@ -107,8 +107,7 @@ context now: In the following sections, the various OpenStack components will be added to the 'openstack' model. Each application will be installed from the online -`Charm store`_ and many will have configuration options specified via a YAML -file. +`Charmhub`_ and many will have configuration options specified via a YAML file. .. note:: @@ -123,25 +122,25 @@ The ceph-osd application is deployed to four nodes with the `ceph-osd`_ charm. The name of the block devices backing the OSDs is dependent upon the hardware on the nodes. All possible devices across the nodes should be given as the value for the ``osd-devices`` option (space-separated). Here, we'll be using -the same device on each cloud node: ``/dev/sdb``. File ``ceph-osd.yaml`` -contains the configuration: +the same devices on each node: ``/dev/vdb`` and ``/dev/vdc``. File +``ceph-osd.yaml`` contains the configuration: .. code-block:: yaml ceph-osd: - osd-devices: /dev/sdb - source: cloud:focal-xena + osd-devices: /dev/vdb /dev/vdc + source: distro To deploy the application we'll make use of the 'compute' tag that we placed on each of these nodes on the :doc:`Install MAAS ` page: .. code-block:: none - juju deploy -n 4 --config ceph-osd.yaml --constraints tags=compute ceph-osd + juju deploy -n 4 --series jammy --channel quincy/stable --config ceph-osd.yaml --constraints tags=compute ceph-osd If a message from a ceph-osd unit like "Non-pristine devices detected" appears in the output of :command:`juju status` you will need to use actions -``zap-disk`` and ``add-disk`` that come with the 'ceph-osd' charm. The +``zap-disk`` and ``add-disk`` that come with the ceph-osd charm. The ``zap-disk`` action is destructive in nature. Only use it if you want to purge the disk of all data and signatures for use by Ceph. @@ -149,14 +148,13 @@ the disk of all data and signatures for use by Ceph. Since ceph-osd was deployed on four nodes and there are only four nodes available in this environment, the usage of the 'compute' tag is not - strictly necessary. + strictly necessary. A tag can help if there are a surplus of nodes however. -Nova compute +Nova Compute ~~~~~~~~~~~~ -The nova-compute application is deployed to one node with the `nova-compute`_ -charm. We'll then scale-out the application to two other machines. File -``nova-compute.yaml`` contains the configuration: +The nova-compute application is deployed to three nodes with the +`nova-compute`_ charm. File ``nova-compute.yaml`` contains the configuration: .. code-block:: yaml @@ -165,15 +163,16 @@ charm. We'll then scale-out the application to two other machines. File enable-live-migration: true enable-resize: true migration-auth-type: ssh - openstack-origin: cloud:focal-xena + virt-type: qemu + openstack-origin: distro -The initial node must be targeted by machine since there are no more free Juju +The nodes must be targeted by machine ID since there are no more free Juju machines (MAAS nodes) available. This means we're placing multiple services on -our nodes. We've chosen machines 1, 2, and 3: +our nodes. We've chosen machines 1, 2, and 3. To deploy: .. code-block:: none - juju deploy -n 3 --to 1,2,3 --config nova-compute.yaml nova-compute + juju deploy -n 3 --to 1,2,3 --series jammy --channel yoga/stable --config nova-compute.yaml nova-compute .. note:: @@ -187,29 +186,29 @@ MySQL InnoDB Cluster ~~~~~~~~~~~~~~~~~~~~ MySQL InnoDB Cluster always requires at least three database units. They will -be containerised on machines 0, 1, and 2: +be containerised on machines 0, 1, and 2. To deploy: .. code-block:: none - juju deploy -n 3 --to lxd:0,lxd:1,lxd:2 mysql-innodb-cluster + juju deploy -n 3 --to lxd:0,lxd:1,lxd:2 --series jammy --channel 8.0/stable mysql-innodb-cluster Vault ~~~~~ Vault is necessary for managing the TLS certificates that will enable encrypted communication between cloud applications. It will be containerised on machine -3: +3. To deploy: .. code-block:: none - juju deploy --to lxd:3 vault + juju deploy --to lxd:3 --series jammy --channel 1.7/stable vault This is the first application to be joined with the cloud database that was set up in the previous section. The process is: #. create an application-specific instance of mysql-router (a subordinate) -#. add a relation between that mysql-router instance and the database -#. add a relation between the application and the mysql-router instance +#. add a relation between the mysql-router instance and the database +#. add a relation between the mysql-router instance and the application The combination of steps 2 and 3 joins the application to the cloud database. @@ -217,7 +216,7 @@ Here are the corresponding commands for Vault: .. code-block:: none - juju deploy mysql-router vault-mysql-router + juju deploy --channel 8.0/stable mysql-router vault-mysql-router juju add-relation vault-mysql-router:db-router mysql-innodb-cluster:db-router juju add-relation vault-mysql-router:shared-db vault:shared-db @@ -235,18 +234,18 @@ status` should look similar to this: .. code-block:: console Unit Workload Agent Machine Public address Ports Message - ceph-osd/0 blocked idle 0 10.0.0.158 Missing relation: monitor + ceph-osd/0 blocked idle 0 10.0.0.160 Missing relation: monitor ceph-osd/1* blocked idle 1 10.0.0.159 Missing relation: monitor - ceph-osd/2 blocked idle 2 10.0.0.160 Missing relation: monitor + ceph-osd/2 blocked idle 2 10.0.0.162 Missing relation: monitor ceph-osd/3 blocked idle 3 10.0.0.161 Missing relation: monitor - mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.162 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. - mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.163 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.163 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.164 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.165 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - nova-compute/0* blocked idle 1 10.0.0.159 Missing relations: messaging, image - nova-compute/1 blocked idle 2 10.0.0.160 Missing relations: messaging, image + nova-compute/0* blocked idle 1 10.0.0.159 Missing relations: image, messaging + nova-compute/1 blocked idle 2 10.0.0.162 Missing relations: messaging, image nova-compute/2 blocked idle 3 10.0.0.161 Missing relations: image, messaging - vault/0* active idle 3/lxd/0 10.0.0.164 8200/tcp Unit is ready (active: true, mlock: disabled) - vault-mysql-router/0* active idle 10.0.0.164 Unit is ready + vault/0* active idle 3/lxd/0 10.0.0.166 8200/tcp Unit is ready (active: true, mlock: disabled) + vault-mysql-router/0* active idle 10.0.0.166 Unit is ready Cloud applications are TLS-enabled via the ``vault:certificates`` relation. Below we start with the cloud database. Although the latter has a self-signed @@ -278,10 +277,9 @@ File ``neutron.yaml`` contains the configuration necessary for three of them: neutron-api: neutron-security-groups: true flat-network-providers: physnet1 - worker-multiplier: 0.25 - openstack-origin: cloud:focal-xena + openstack-origin: distro ovn-central: - source: cloud:focal-xena + source: distro The ``bridge-interface-mappings`` setting impacts the OVN Chassis and refers to a mapping of OVS bridge to network interface. As described in the :ref:`Create @@ -297,24 +295,24 @@ The ``ovn-bridge-mappings`` setting maps the data-port interface to the flat network provider. The main OVN application is ovn-central and it requires at least three units. -They will be containerised on machines 0, 1, and 2: +They will be containerised on machines 0, 1, and 2. To deploy: .. code-block:: none - juju deploy -n 3 --to lxd:0,lxd:1,lxd:2 --config neutron.yaml ovn-central + juju deploy -n 3 --to lxd:0,lxd:1,lxd:2 --series jammy --channel 22.03/stable --config neutron.yaml ovn-central The neutron-api application will be containerised on machine 1: .. code-block:: none - juju deploy --to lxd:1 --config neutron.yaml neutron-api + juju deploy --to lxd:1 --series jammy --channel yoga/stable --config neutron.yaml neutron-api Deploy the subordinate charm applications: .. code-block:: none - juju deploy neutron-api-plugin-ovn - juju deploy --config neutron.yaml ovn-chassis + juju deploy --channel yoga/stable neutron-api-plugin-ovn + juju deploy --channel 22.03/stable --config neutron.yaml ovn-chassis Add the necessary relations: @@ -333,33 +331,25 @@ Join neutron-api to the cloud database: .. code-block:: none - juju deploy mysql-router neutron-api-mysql-router + juju deploy --channel 8.0/stable mysql-router neutron-api-mysql-router juju add-relation neutron-api-mysql-router:db-router mysql-innodb-cluster:db-router juju add-relation neutron-api-mysql-router:shared-db neutron-api:shared-db Keystone ~~~~~~~~ -The keystone application will be containerised on machine 0. File -``keystone.yaml`` contains the configuration: - -.. code-block:: yaml - - keystone: - worker-multiplier: 0.25 - openstack-origin: cloud:focal-xena - -To deploy: +The keystone application will be containerised on machine 0 with the +`keystone`_ charm. To deploy: .. code-block:: none - juju deploy --to lxd:0 --config keystone.yaml keystone + juju deploy --to lxd:0 --series jammy --channel yoga/stable keystone Join keystone to the cloud database: .. code-block:: none - juju deploy mysql-router keystone-mysql-router + juju deploy --channel 8.0/stable mysql-router keystone-mysql-router juju add-relation keystone-mysql-router:db-router mysql-innodb-cluster:db-router juju add-relation keystone-mysql-router:shared-db keystone:shared-db @@ -374,11 +364,11 @@ RabbitMQ ~~~~~~~~ The rabbitmq-server application will be containerised on machine 2 with the -`rabbitmq-server`_ charm: +`rabbitmq-server`_ charm. To deploy: .. code-block:: none - juju deploy --to lxd:2 rabbitmq-server + juju deploy --to lxd:2 --series jammy --channel 3.9/stable rabbitmq-server Two relations can be added at this time: @@ -392,62 +382,56 @@ look similar to this: .. code-block:: console - - Unit Workload Agent Machine Public address Ports Message - ceph-osd/0 blocked idle 0 10.0.0.158 Missing relation: monitor - ceph-osd/1* blocked idle 1 10.0.0.159 Missing relation: monitor - ceph-osd/2 blocked idle 2 10.0.0.160 Missing relation: monitor - ceph-osd/3 blocked idle 3 10.0.0.161 Missing relation: monitor - keystone/0* active idle 0/lxd/2 10.0.0.170 5000/tcp Unit is ready - keystone-mysql-router/0* active idle 10.0.0.170 Unit is ready - mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.162 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to - ONE failure. - mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.163 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to - ONE failure. - mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.165 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to - ONE failure. - neutron-api/0* active idle 1/lxd/2 10.0.0.169 9696/tcp Unit is ready - neutron-api-mysql-router/0* active idle 10.0.0.169 Unit is ready - neutron-api-plugin-ovn/0* active idle 10.0.0.169 Unit is ready - nova-compute/0* blocked idle 1 10.0.0.159 Missing relations: image - ovn-chassis/3 active idle 10.0.0.159 Unit is ready - nova-compute/1 blocked idle 2 10.0.0.160 Missing relations: image - ovn-chassis/2 active idle 10.0.0.160 Unit is ready - nova-compute/2 blocked idle 3 10.0.0.161 Missing relations: image - ovn-chassis/1* active idle 10.0.0.161 Unit is ready - ovn-central/0 active idle 0/lxd/1 10.0.0.166 6641/tcp,6642/tcp Unit is ready - ovn-central/1 active idle 1/lxd/1 10.0.0.167 6641/tcp,6642/tcp Unit is ready - ovn-central/2* active idle 2/lxd/1 10.0.0.168 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db northd: active) - rabbitmq-server/0* active idle 2/lxd/2 10.0.0.171 5672/tcp Unit is ready - vault/0* active idle 3/lxd/0 10.0.0.164 8200/tcp Unit is ready (active: true, mlock: disabled) - vault-mysql-router/0* active idle 10.0.0.164 Unit is ready + Unit Workload Agent Machine Public address Ports Message + ceph-osd/0 blocked idle 0 10.0.0.160 Missing relation: monitor + ceph-osd/1* blocked idle 1 10.0.0.159 Missing relation: monitor + ceph-osd/2 blocked idle 2 10.0.0.162 Missing relation: monitor + ceph-osd/3 blocked idle 3 10.0.0.161 Missing relation: monitor + keystone/0* active idle 0/lxd/3 10.0.0.174 5000/tcp Unit is ready + keystone-mysql-router/0* active idle 10.0.0.174 Unit is ready + mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.163 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.164 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.165 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + neutron-api/0* active idle 1/lxd/3 10.0.0.173 9696/tcp Unit is ready + neutron-api-mysql-router/0* active idle 10.0.0.173 Unit is ready + neutron-api-plugin-ovn/0* blocked idle 10.0.0.173 'certificates' missing + nova-compute/0* blocked idle 1 10.0.0.159 Missing relations: image + ovn-chassis/0* active idle 10.0.0.159 Unit is ready + nova-compute/1 blocked idle 2 10.0.0.162 Missing relations: image + ovn-chassis/2 active idle 10.0.0.162 Unit is ready + nova-compute/2 blocked idle 3 10.0.0.161 Missing relations: image + ovn-chassis/1 active idle 10.0.0.161 Unit is ready + ovn-central/3 active idle 0/lxd/2 10.0.0.170 6641/tcp,6642/tcp Unit is ready + ovn-central/4 active idle 1/lxd/2 10.0.0.171 6641/tcp,6642/tcp Unit is ready (northd: active) + ovn-central/5* active idle 2/lxd/2 10.0.0.172 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db) + rabbitmq-server/0* active idle 2/lxd/3 10.0.0.175 5672/tcp,15672/tcp Unit is ready + vault/0* active idle 3/lxd/0 10.0.0.166 8200/tcp Unit is ready (active: true, mlock: disabled) + vault-mysql-router/0* active idle 10.0.0.166 Unit is ready Nova cloud controller ~~~~~~~~~~~~~~~~~~~~~ The nova-cloud-controller application, which includes nova-scheduler, nova-api, and nova-conductor services, will be containerised on machine 3 with the -`nova-cloud-controller`_ charm. File ``nova-cloud-controller.yaml`` contains -the configuration: +`nova-cloud-controller`_ charm. File ``ncc.yaml`` contains the configuration: .. code-block:: yaml nova-cloud-controller: network-manager: Neutron - worker-multiplier: 0.25 - openstack-origin: cloud:focal-xena + openstack-origin: distro To deploy: .. code-block:: none - juju deploy --to lxd:3 --config nova-cloud-controller.yaml nova-cloud-controller + juju deploy --to lxd:3 --series jammy --channel yoga/stable --config ncc.yaml nova-cloud-controller Join nova-cloud-controller to the cloud database: .. code-block:: none - juju deploy mysql-router ncc-mysql-router + juju deploy --channel 8.0/stable mysql-router ncc-mysql-router juju add-relation ncc-mysql-router:db-router mysql-innodb-cluster:db-router juju add-relation ncc-mysql-router:shared-db nova-cloud-controller:shared-db @@ -471,25 +455,17 @@ Placement ~~~~~~~~~ The placement application will be containerised on machine 3 with the -`placement`_ charm. File ``placement.yaml`` contains the configuration: - -.. code-block:: yaml - - placement: - worker-multiplier: 0.25 - openstack-origin: cloud:focal-xena - -To deploy: +`placement`_ charm. To deploy: .. code-block:: none - juju deploy --to lxd:3 --config placement.yaml placement + juju deploy --to lxd:3 --series jammy --channel yoga/stable placement Join placement to the cloud database: .. code-block:: none - juju deploy mysql-router placement-mysql-router + juju deploy --channel 8.0/stable mysql-router placement-mysql-router juju add-relation placement-mysql-router:db-router mysql-innodb-cluster:db-router juju add-relation placement-mysql-router:shared-db placement:shared-db @@ -505,17 +481,17 @@ OpenStack dashboard ~~~~~~~~~~~~~~~~~~~ The openstack-dashboard application (Horizon) will be containerised on machine -2 with the `openstack-dashboard`_ charm: +2 with the `openstack-dashboard`_ charm. To deploy: .. code-block:: none - juju deploy --to lxd:2 --config openstack-origin=cloud:focal-xena openstack-dashboard + juju deploy --to lxd:2 --series jammy --channel yoga/stable openstack-dashboard Join openstack-dashboard to the cloud database: .. code-block:: none - juju deploy mysql-router dashboard-mysql-router + juju deploy --channel 8.0/stable mysql-router dashboard-mysql-router juju add-relation dashboard-mysql-router:db-router mysql-innodb-cluster:db-router juju add-relation dashboard-mysql-router:shared-db openstack-dashboard:shared-db @@ -536,25 +512,17 @@ Glance ~~~~~~ The glance application will be containerised on machine 3 with the `glance`_ -charm. File ``glance.yaml`` contains the configuration: - -.. code-block:: yaml - - glance: - worker-multiplier: 0.25 - openstack-origin: cloud:focal-xena - -To deploy: +charm. To deploy: .. code-block:: none - juju deploy --to lxd:3 --config glance.yaml glance + juju deploy --to lxd:3 --series jammy --channel yoga/stable glance Join glance to the cloud database: .. code-block:: none - juju deploy mysql-router glance-mysql-router + juju deploy --channel 8.0/stable mysql-router glance-mysql-router juju add-relation glance-mysql-router:db-router mysql-innodb-cluster:db-router juju add-relation glance-mysql-router:shared-db glance:shared-db @@ -572,41 +540,39 @@ look similar to this: .. code-block:: console - Unit Workload Agent Machine Public address Ports Message - ceph-osd/0 blocked idle 0 10.0.0.158 Missing relation: monitor - ceph-osd/1* blocked idle 1 10.0.0.159 Missing relation: monitor - ceph-osd/2 blocked idle 2 10.0.0.160 Missing relation: monitor - ceph-osd/3 blocked idle 3 10.0.0.161 Missing relation: monitor - glance/0* active idle 3/lxd/3 10.0.0.175 9292/tcp Unit is ready - glance-mysql-router/0* active idle 10.0.0.175 Unit is ready - keystone/0* active idle 0/lxd/2 10.0.0.170 5000/tcp Unit is ready - keystone-mysql-router/0* active idle 10.0.0.170 Unit is ready - mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.162 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to - ONE failure. - mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.163 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to - ONE failure. - mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.165 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. - neutron-api/0* active idle 1/lxd/2 10.0.0.169 9696/tcp Unit is ready - neutron-api-mysql-router/0* active idle 10.0.0.169 Unit is ready - neutron-api-plugin-ovn/0* active idle 10.0.0.169 Unit is ready - nova-cloud-controller/0* active idle 3/lxd/1 10.0.0.172 8774/tcp,8775/tcp Unit is ready - ncc-mysql-router/0* active idle 10.0.0.172 Unit is ready - nova-compute/0* active idle 1 10.0.0.159 Unit is ready - ovn-chassis/3 active idle 10.0.0.159 Unit is ready - nova-compute/1 active idle 2 10.0.0.160 Unit is ready - ovn-chassis/2 active idle 10.0.0.160 Unit is ready - nova-compute/2 active idle 3 10.0.0.161 Unit is ready - ovn-chassis/1* active idle 10.0.0.161 Unit is ready - openstack-dashboard/0* active idle 2/lxd/3 10.0.0.174 80/tcp,443/tcp Unit is ready - dashboard-mysql-router/0* active idle 10.0.0.174 Unit is ready - ovn-central/0 active idle 0/lxd/1 10.0.0.166 6641/tcp,6642/tcp Unit is ready - ovn-central/1 active idle 1/lxd/1 10.0.0.167 6641/tcp,6642/tcp Unit is ready - ovn-central/2* active idle 2/lxd/1 10.0.0.168 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db northd: active) - placement/0* active idle 3/lxd/2 10.0.0.173 8778/tcp Unit is ready - placement-mysql-router/0* active idle 10.0.0.173 Unit is ready - rabbitmq-server/0* active idle 2/lxd/2 10.0.0.171 5672/tcp Unit is ready - vault/0* active idle 3/lxd/0 10.0.0.164 8200/tcp Unit is ready (active: true, mlock: disabled) - vault-mysql-router/0* active idle 10.0.0.164 Unit is ready + Unit Workload Agent Machine Public address Ports Message + ceph-osd/0 blocked idle 0 10.0.0.160 Missing relation: monitor + ceph-osd/1* blocked idle 1 10.0.0.159 Missing relation: monitor + ceph-osd/2 blocked idle 2 10.0.0.162 Missing relation: monitor + ceph-osd/3 blocked idle 3 10.0.0.161 Missing relation: monitor + glance/0* active idle 3/lxd/3 10.0.0.179 9292/tcp Unit is ready + glance-mysql-router/0* active idle 10.0.0.179 Unit is ready + keystone/0* active idle 0/lxd/3 10.0.0.174 5000/tcp Unit is ready + keystone-mysql-router/0* active idle 10.0.0.174 Unit is ready + mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.163 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.164 Unit is ready: Mode: R/W, Cluster is ONLINE and can tolerate up to ONE failure. + mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.165 Unit is ready: Mode: R/O, Cluster is ONLINE and can tolerate up to ONE failure. + neutron-api/0* active idle 1/lxd/3 10.0.0.173 9696/tcp Unit is ready + neutron-api-mysql-router/0* active idle 10.0.0.173 Unit is ready + neutron-api-plugin-ovn/0* active idle 10.0.0.173 Unit is ready + nova-cloud-controller/0* active idle 3/lxd/1 10.0.0.176 8774/tcp,8775/tcp Unit is ready + ncc-mysql-router/0* active idle 10.0.0.176 Unit is ready + nova-compute/0* active idle 1 10.0.0.159 Unit is ready + ovn-chassis/0* active idle 10.0.0.159 Unit is ready + nova-compute/1 active idle 2 10.0.0.162 Unit is ready + ovn-chassis/2 active idle 10.0.0.162 Unit is ready + nova-compute/2 active idle 3 10.0.0.161 Unit is ready + ovn-chassis/1 active idle 10.0.0.161 Unit is ready + openstack-dashboard/0* active idle 2/lxd/4 10.0.0.178 80/tcp,443/tcp Unit is ready + dashboard-mysql-router/0* active idle 10.0.0.178 Unit is ready + ovn-central/3 active idle 0/lxd/2 10.0.0.170 6641/tcp,6642/tcp Unit is ready + ovn-central/4 active idle 1/lxd/2 10.0.0.171 6641/tcp,6642/tcp Unit is ready (northd: active) + ovn-central/5* active idle 2/lxd/2 10.0.0.172 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db) + placement/0* active idle 3/lxd/2 10.0.0.177 8778/tcp Unit is ready + placement-mysql-router/0* active idle 10.0.0.177 Unit is ready + rabbitmq-server/0* active idle 2/lxd/3 10.0.0.175 5672/tcp,15672/tcp Unit is ready + vault/0* active idle 3/lxd/0 10.0.0.166 8200/tcp Unit is ready (active: true, mlock: disabled) + vault-mysql-router/0* active idle 10.0.0.166 Unit is ready Ceph monitor ~~~~~~~~~~~~ @@ -619,11 +585,13 @@ The ceph-mon application will be containerised on machines 0, 1, and 2 with the ceph-mon: expected-osd-count: 4 monitor-count: 3 - source: cloud:focal-xena + source: distro + +To deploy: .. code-block:: none - juju deploy -n 3 --to lxd:0,lxd:1,lxd:2 --config ceph-mon.yaml ceph-mon + juju deploy -n 3 --to lxd:0,lxd:1,lxd:2 --series jammy --channel quincy/stable --config ceph-mon.yaml ceph-mon Three relations can be added at this time: @@ -652,20 +620,19 @@ charm. File ``cinder.yaml`` contains the configuration: cinder: block-device: None glance-api-version: 2 - worker-multiplier: 0.25 - openstack-origin: cloud:focal-xena + openstack-origin: distro To deploy: .. code-block:: none - juju deploy --to lxd:1 --config cinder.yaml cinder + juju deploy --to lxd:1 --series jammy --channel yoga/stable --config cinder.yaml cinder Join cinder to the cloud database: .. code-block:: none - juju deploy mysql-router cinder-mysql-router + juju deploy --channel 8.0/stable mysql-router cinder-mysql-router juju add-relation cinder-mysql-router:db-router mysql-innodb-cluster:db-router juju add-relation cinder-mysql-router:shared-db cinder:shared-db @@ -689,7 +656,7 @@ None`` in the configuration file). This will be implemented via the .. code-block:: none - juju deploy cinder-ceph + juju deploy --channel yoga/stable cinder-ceph Three relations need to be added: @@ -706,11 +673,11 @@ The Ceph RADOS Gateway will be deployed to offer an S3 and Swift compatible HTTP gateway. This is an alternative to using OpenStack Swift. The ceph-radosgw application will be containerised on machine 0 with the -`ceph-radosgw`_ charm. +`ceph-radosgw`_ charm. To deploy: .. code-block:: none - juju deploy --to lxd:0 --config source=cloud:focal-xena ceph-radosgw + juju deploy --to lxd:0 --series jammy --channel quincy/stable ceph-radosgw A single relation is needed: @@ -718,22 +685,24 @@ A single relation is needed: juju add-relation ceph-radosgw:mon ceph-mon:radosgw -NTP -~~~ +.. COMMENT + At the time of writing a jammy-aware ntp charm was not available. + NTP + ~~~ -The final component is an NTP client to keep the time on each cloud node -synchronised. This is done with the `ntp`_ subordinate charm: + The final component is an NTP client to keep the time on each cloud node + synchronised. This is done with the `ntp`_ subordinate charm. To deploy: -.. code-block:: none + .. code-block:: none - juju deploy ntp + juju deploy ntp -The below relation will add an ntp unit alongside each ceph-osd unit, and -thus on each of the four cloud nodes: + The below relation will add an ntp unit alongside each ceph-osd unit, and + thus on each of the four cloud nodes: -.. code-block:: none + .. code-block:: none - juju add-relation ceph-osd:juju-info ntp:juju-info + juju add-relation ceph-osd:juju-info ntp:juju-info .. _test_openstack: @@ -755,7 +724,7 @@ Obtain the address in this way: juju status --format=yaml openstack-dashboard | grep public-address | awk '{print $2}' | head -1 -In this example, the address is '10.0.0.166'. +In this example, the address is '10.0.0.178'. The password can be queried from Keystone: @@ -765,7 +734,7 @@ The password can be queried from Keystone: The dashboard URL then becomes: -**http://10.0.0.166/horizon** +**http://10.0.0.178/horizon** The final credentials needed to log in are: @@ -800,33 +769,31 @@ networks, images, and a user environment. Go to :doc:`Configure OpenStack .. LINKS .. _OpenStack Charms: https://docs.openstack.org/charm-guide/latest/openstack-charms.html -.. _Charms upgrade: upgrade-charms.html -.. _Series upgrade: upgrade-series.html -.. _Charm store: https://jaas.ai/store -.. _Deploying applications: https://juju.is/docs/olm/deploying-applications -.. _Deploying to specific machines: https://juju.is/docs/olm/advanced-application-deployment#heading--deploying-to-specific-machines -.. _Managing relations: https://juju.is/docs/olm/relations -.. _vault charm: https://jaas.ai/vault/ +.. _Charmhub: https://charmhub.io +.. _Deploying applications: https://juju.is/docs/olm/deploy-a-charm-from-charmhub +.. _Deploying to specific machines: https://juju.is/docs/olm/deploy-to-a-specific-machine +.. _Managing relations: https://juju.is/docs/olm/manage-relations +.. _vault charm: https://charmhub.io/vault/ .. _Infrastructure high availability: https://docs.openstack.org/charm-guide/latest/admin/ha.html .. CHARMS -.. _ceph-mon: https://jaas.ai/ceph-mon -.. _ceph-osd: https://jaas.ai/ceph-osd -.. _ceph-radosgw: https://jaas.ai/ceph-radosgw -.. _cinder: https://jaas.ai/cinder -.. _cinder-ceph: https://jaas.ai/cinder-ceph -.. _glance: https://jaas.ai/glance -.. _keystone: https://jaas.ai/keystone -.. _neutron-gateway: https://jaas.ai/neutron-gateway -.. _neutron-api: https://jaas.ai/neutron-api -.. _neutron-openvswitch: https://jaas.ai/neutron-openvswitch -.. _nova-cloud-controller: https://jaas.ai/nova-cloud-controller -.. _nova-compute: https://jaas.ai/nova-compute -.. _ntp: https://jaas.ai/ntp -.. _openstack-dashboard: https://jaas.ai/openstack-dashboard -.. _percona-cluster: https://jaas.ai/percona-cluster -.. _placement: https://jaas.ai/placement -.. _rabbitmq-server: https://jaas.ai/rabbitmq-server +.. _ceph-mon: https://charmhub.io/ceph-mon +.. _ceph-osd: https://charmhub.io/ceph-osd +.. _ceph-radosgw: https://charmhub.io/ceph-radosgw +.. _cinder: https://charmhub.io/cinder +.. _cinder-ceph: https://charmhub.io/cinder-ceph +.. _glance: https://charmhub.io/glance +.. _keystone: https://charmhub.io/keystone +.. _neutron-gateway: https://charmhub.io/neutron-gateway +.. _neutron-api: https://charmhub.io/neutron-api +.. _neutron-openvswitch: https://charmhub.io/neutron-openvswitch +.. _nova-cloud-controller: https://charmhub.io/nova-cloud-controller +.. _nova-compute: https://charmhub.io/nova-compute +.. _ntp: https://charmhub.io/ntp +.. _openstack-dashboard: https://charmhub.io/openstack-dashboard +.. _percona-cluster: https://charmhub.io/percona-cluster +.. _placement: https://charmhub.io/placement +.. _rabbitmq-server: https://charmhub.io/rabbitmq-server .. BUGS .. _LP #1826888: https://bugs.launchpad.net/charm-deployment-guide/+bug/1826888 diff --git a/deploy-guide/source/install-overview.rst b/deploy-guide/source/install-overview.rst index a3559d1..b4e74cf 100644 --- a/deploy-guide/source/install-overview.rst +++ b/deploy-guide/source/install-overview.rst @@ -11,11 +11,12 @@ MySQL, OVN, Swift, and RabbitMQ). The software versions used in this guide are as follows: -* **Ubuntu 20.04 LTS (Focal)** for the MAAS server, Juju client, Juju - controller, and all cloud nodes (including containers) -* **MAAS 3.0.0** -* **Juju 2.9.15** -* **OpenStack Xena** +* **Ubuntu 20.04 LTS (Focal)** for the MAAS server, Juju client, and Juju + controller +* **Ubuntu 22.04 LTS (Jammy)** for all cloud nodes (including containers) +* **MAAS 3.1.0** +* **Juju 2.9.29** +* **OpenStack Yoga** Proceed to the :doc:`Install MAAS ` page to begin your installation journey. Hardware requirements are also listed there. diff --git a/deploy-guide/source/media/install-openstack_horizon.png b/deploy-guide/source/media/install-openstack_horizon.png index caf568e079b848b995bffac38e17e0910d3fa758..e820c31858c28c204f181cb5058b5b423ac9c10b 100644 GIT binary patch literal 63997 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

4{6Su1NLkW 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 literal 2215297 zcmeF)34B!5*+1|fAu}Nxi6lV@NTNa@!62A|EGkhjXeHGOZlEt?5Ss*)^nUMUSGh1eonXD5s%kTCx%w5kt z=X=L=?laFl=l|~g$@tKq=pX>0cilPeKEVG9z%QbkR@VIVyWdTgH~)FJ-!-Y5Ouy;& z^Jir_eEuB|&7b(+Gv@!#^rs%j#9u6!KmYNkezxpLAP|eY#@#mQ=`I+!EOSYhl`B`) z$^M)uKmiI+fC3bt00k&O0SZun0u-P?lLCHCZskS_P=Epypa2CZKmiI+fC3bt00lZr zpu2WSe@iYvXVt;!c^Ob}O2Z8lpa2CZKmiI+fC3bt00k&O0Sed(FoU9?L^NE*WeQM$0u-PC1t>rP3Q&Lo6rcbF zd{CgcxY(}Mje-dG>|SBF0~aVj0SZun0u-PC1t>rP3Q&LomqDO7=I>LP3vd~r+j@#u zlV;i-%Euh+IJiIo3Q&Lo6rcbFC_n)UP=Epypnx+01`(Xea6JVmKmiI+fC3bt00k&O z0bdaK=O6EWg}DH}aHU<}#(~Q+moTc}dRLZ60SZun0u-PC1t>rP3Q&Lo6!1y`1`)jS zva(SWpa2CZKmiI+fC3btfcpw;D%tW5a{=7<`mkm#6<|Q2rBd9F0u-PC1t>rP3Q&Lo z6rcbFDB$A)3?lgW2Y}6|00k&O0SZun0u-QtuL$hb&G;>I0et0Zvz?bifB}Weq0Dno zfC3bt00k&O0SZun0u-PC1-wAO-<{gfwPzoMOkD!?Ua|Rqp+9lRovP;a2rzWhg)a3Q&Lo6rcbFd|lwk(0`UP7r@s)1#G`}3b2X%3Q&Lo6rcbFC_n)U zP=EpyXoCPBZD<2pQ-^31Zfa_CySF(CAgDqMUzmf+1MeFH31JI1wEH|PfC3bt00k&O z0SZvSvjuj(^s~jx1@P=^$l6oD?F9xd%Ur^!f{QLw*ustI`PMfGdhkgXmDso#m9}9? z-Kec7Md@Gvg#X+Xh3rY!;gT$O4GA+Iq*4?DZ=2M(0Is0`1t>rP3Q&Lo6rcbFC_n)U zv_pVFgm&QB9;%)@=;%q4Fv5C@g4MH8^TT(z_Jcz7-TW{3$@$CnY`1RL4&!qoRt(Ni zfC3bt00k&Ofy*I~UHrP3Q&Lo6rcbFTq59By)L?>MLtl- zrHT@uOP9tiwOi+4d*dUxh62t7!movYc!2Zm4Yt%(p2MZW@&;?$xTv`a!H*|E_wpvx z7}{7y2Oicn`F9A^uR+Cuq7FQZhZpVU*U-atS$zsnz+T`lxqH81E`YrWmnc91X97_} zpzR+eJ*fPcx<3*JNkP*pAB_VueimE!3~( zP3@z`h73(!W$aN<4N;(`ONBD_;g`En`PT0p4pU$$SM6Jp_ON-O%z#eckQEIVY{ z65}SzI@|p$^OiDfjcUF*i6H6WvFE&X`2LwkQT(UH#>@oOZ$k0L-@sqYER$`!EbI7A zftCvRjrs$wcrq1TTY7+TKOGEzeFzt}9ck534tLgE2hE@axM3_os;h-x|1r?yzT~j# zTxk|?>uboXL;(s=fC3btfNuzB;eYQIgiRS?{$8uYr7xGEbj>!`{%9370-9Lg8Ai|L zK?K#=pK-GLh1~uls#5fg!yPoSPpFJ{*ld%WZg|&9a|) z%tW!ivfZ-IW;g4sWgpw@ z1H;Kfz}?f0`=~%dx%7>oI$ZP%3PsSUAEWyn^??)pSG%ocafSk|74VCbKw4`LLV*17 zyiSgCK@g$U=e9q<@5kG5#pt~#UHm81*l+UurTzSkUmBN(Vagt}?JLb4yuFT5L< z3eLIml*Y0w=dG122vxpDf+Xr?Id|B?4LHBxZikr>ssNR_&~Q?1Xz!#lGIU?KesA7vA5R)JCP02v8G$YmL~xfMQ#|dvYh%+!$epu7J$6v__gAea zSC18_W%X!+%2-f=1obFG>2ouz`?zXG-SAhwxyD+YI=7nCP><>cUS&sglYoY^8+F@b zt%bN~rfmIubeHT2RS(?P7gYeEBTQ`1#d+Tlxb%;QP`vpZx@rq?NgpMT&e&)1 z*eU4Gp?1(lL=3ZATfZRB&4;AP=QhgJ_d@OImr%aOrXPgpJLJFT|3N@p6uRika4Gv7 z{4|yTVI;JVZ$!wjKJb(1F|<0=o_HHor~62j&G{lEOcAvqx^t5q8yciz)^cq zm98=*%*PMugDx8BW<+8nb=kX6zW#rqZ_%&%q459la*0?=N}Swu*Oi<_jb7@JTi?7c z@=RRlw8x-P?K2djX3sK|zw-rZjk~m={;|^$zTlVWD)j}*P?NqG<=ZUfB_QD55vbks zo&-r+-!{MGjR>1Drcu_3U+)xz%HKFh#@EGcW5wpp=|RWvs?Sx2~DW+dfPX`v{Yx1K#6-kH{+4ig z`95<28me%a0u-P?GXiy0WyYXE!ymosDoyL19^T~lGRbrwvJjz@CqdIQKz?LChnhn9 zuA{e<)`staw%=n_-&2c!i*C`d{$>Dby`J$`78(U7_;JvP@ z1AZ(TxGZyt+eQ@{KF44IQFrozKYmP772-{I_|i#0N2DiM&S(3sI)Jd;&HJk{8av_V zfAy(XQG)=9YIKulK2*wvdVazn9XjaJ-*y`5ux$tDDbOMT`AgMx^l#C<_p2z)o`SH+ z_2ZH@IzCVK`MlBE`W1%5s9Zi46;<*lR&wmS&HW2P@0Yx?ZJDw>1R)ET!#{lvF04>@ z&TsQNp*ZY0vG=UAwyn5Y1(}GiC&K`2}=+@SE3R}WQ;ozeIDKQQ&IB1igL7}{<&LGGIx{d&Nuv4gr+S=@R1*z z+HX0p@x7I8)7*;S$&Dil)*^#PAo%_Xs9yD6<4}FOuA%B=Vkq#r7;RG~a*Zc%!4>y+ zNBN2$%jZk}A1?e3Y3FYdJY+A*k68b&*j%+%wlj7idaU}TgP$VI#T9JDg}J|h!QuZK zTQxXC0SZun0u-QthYQqw`6{aASB=1)HVx6AMfKlz+pKUf+thcl=;;Xi)fgE5_*0Y~ zk?(#%*FrmGt^B%VDW?tJ{Va#7cjKl&Uh=H6}kUK=z7LGsH__qz`}d?v&1$A3Y@ z^r2283AJC&L6Lm7bLHfbV?kES&9Y@uH_?}CvJFEP#u1B2;AgIZZi|Wr$!q4*G?x4pI zpnuior~Go%e0ivGxYcsQXUN3G-G_{!Ull-5Q=L4|pevMTpkl4J_Qv&g|5%Pk5e)Ba z#iiI3_#1!vx7(}1f&@J77z)GIWu^dv+N!$z&93iN$N!Eg@INA{2r7VJ+`dnGblnZV z6iHREE#Gqfmek)M?Xv7&atPH~l7|;-{eLFYd2Ii+?Au)1q|MqZY!7Ta@7F)YzTVbd zTyPDo0Uo)=@9&bE_%hVynnUCzdvWoE4*m&E{B3P%JF{Ox*;e`7TI+5zqd$qNm;a9e z1RE00wm{%_FF(dyfEGA$7Ya~-0`4jheiH(xOp+fo{tp+wJd7H7hP@_h7pmUcjV>wj z(|s;*~NoPImIQO8MmwG>WAYM&=v2p{M{dVg*H;`O4NH&ft%XHINh+2c(blY?QU@Y9(KWYq1gB-7J z_$_~+9qp@;o>!yJN!E|EyfEo}KRnkazj>!leloCi5pPq}2;AuePm^+-RE;6k2?A=kMsG{_0VWxpU#STRrM=M1myZ_p49P()dV|?aDogT5;;? zFc@S$vhZx1hclZ66xd0w?!B|xa zP=EsNDUdJ)-HgEmQ}z6M4n=_NqYi4dc7$}q6_1PRv0K}z!@id}`5tI{ZfElb`2kOU zh;ceK2r6`BFhSLU0R^X5f*UA6fv$H*Z+*Sjpyc!~(c^K)=~PNdWhIoRJM+2@nrIyi zn|B$53C8{9520nM%{~i^8X$Tg}dZYg1OKPb@qQkI_P)5 z?ch3i>NPY66-uPvgo2k)&1{6mp9!v^00k&O0Sb7bfO?#^C1ad-jZ=LLWZFNL(ByY9 z^LIbhZ(jO7_mVRP5*|X`-D6Ofz6tu0j;o%^j_|n2wx0sk0ik7b#dwRBvO4PBG9*Mt zmCtf1(0&2)&-)VXtlcve=Qpdq5@w)i+F%qqc@?Ft!6l7tbk(*NsykchcxJehj$n?w zii-vrp5^fg=3xuuSQ%H+JtpbbL7qqRmris7ZJwc1!$DZ4nmt=lGeia^9@g8mN_DvS zxTMhSezk4S;~P`;uUs{bhCJ?7R2aq5fJNw>iAe4VkA$ojRWIZwWZ z5=cmYjsb**m$ZrHm-E)eG8do;Aa0@n1t>rPj}q`}YA78~K(viKWl~D?!ZfiyDWROLj1Rokt<+6S;v@)J) z#OCg()631Q>U8fbODC$Cs9H4#c>K2re|fp-kFgpXQpS#~ZK@xG#wY5KHFaOjM~OxP z1~cAAaJVVZp~i;PePs@27H&h?`T&GZ`wJpx$*=t~MyBEYIVf{@W8Q))8up>`<=s-= zU!^=5U&!cH2>sUj;Asm=alT8*9+WToDRj~~WZ*Cva5-H1nj%I_XytNe1 zzJ}IjaE1aDpa2CZKmnf+s4Z#P_a@6&k#;D}eHSa-fwENrGN$=P^q6Mu_es77*Svqu zt{87#=(2L<$~xNyK9;e;cCpp-p>m@Tm^{&VT!{=)?&wB7{F%QPJ1tb57pjp5ER(wN z4^P|Pm z%q1>QP0-1hjh3i_y2CGBHM3D8`tfwAsDNdvYH;VThI6Q^ zDn}P7U)AAK_6exyg6;DVmSbK0ektdqwaAdEOHlU51=jPbp(gyK{+0-f8rL#p+7jdb z%BXDp0(t1V{&;IaoS^^(C_n)UP=Epypa2CZK!Mf?lq zh@fti)s4HliB~uNmQ;h**3Ob*aH-IgC(<>_e!%f^xkmG zS^^kB_s=yx*P&7*qU2>esT2dfISr%g@2{d;@+4z=f(kJ7SoL??T{%wy3S2IM@W}{U zE5Lxl~{Z7Ff2|s=>z1Sp}AL4Fd`4#$071I0`1HV^n5>%7jpX zgr+)exKx-6bv{>3D)XWAxfuvsxY6Nx8@A&@+C#=VS~57C)uZMcW-BrP3Q&Loz9QiA4ikI@j_srX1t>s)HVC}(`CE@M7oZJrJcI%i zpa2CZKmiJLzCgnc6FhQU$j)bE4JbeX3Q&Lo6rcbFC_n)UP=EryC%_rP3V5jig9u)FVc9GS_@=rP3Q(Zq1sG81cw?S{0u-PC1t>rP3Q&Lo6rcbFDBu+W3?g{N zWn?3KQ{Z^C?oZ4G@Xc$_R#Sii6rcbFC_n)UP@wY#{2Nx`yQkl7xQfdZpa2CZKmiI+ zfC3bt00k&O0Sfq{z@9yJt!@-VNK8z$+kp!d@CAX|+FGbrO-&7SI-T*AmzRg(!-qF& z{tw^mn9E#%Ml4)G0SZun0u-PC1t>rP3V6A|o(2I03|yAEgwHy7`Bi80C_n)UP=Epy zpa2CZKmiI+fC8=(U=YDok}Rj=1g3Yp`I_KvDa-|EnHBe<00k&O0SZun z0u-PC1t{Qi0t_hl+$Cp&DL?@VP=Epypa2CZKmiI+fC6n3U=X2gZXI{j>*ptY%v^wu z^JU2tpa2CZKmiI+fC3bt00k)E5`jkJLhjqQ&m{%35DHL$0u-PC1t>rP3Q&Lo6rcbF zyi1@_5aHHaZ}qMgwyZV(Skt{Xa{*dr<@I~j*49G3YHDhr)9H+_yu3WGZ#NrA0SZun z0u-PC1t>rP3Q(X`0t1(2F5$Bdts>*j6rcbFC_n)UP=Epypa2CZKmp$s=(HfhrP3Q&Lot`T4m!8ML7g#r|y00k&O z0SZun0u-PC1t{Pef#nbWsMu*PfNM_Sic%O*aD^hvpa2CZKmiI+fC3bt00k&O0Sfql z0D}lVaFN+W3Q&Lo6rcbFC_n)UP=EpyXjWiOR`Mke$OUM&9hYqf1{5wEHBUqV3Q&Lo z6rcbFC_n)UP=Epy@Nj{F%QBZRlHlPNk=3UF1t>rP3Q&Lo6rcbFDB!6A#hV^o!(0GQ zy?Oux3Z8rISaS+cfC3bt00k&O0SZun0u-RYWffo$;j(h`WE7wP1t>rP3Q&Lo6rcbF zI$PkKzW2(VU@Yz$ciW`St_#oa$pRi0P$P$ z6XxUS(R@@@!T63J^=nsYsN9F;vo|8s5Rd8W7GrF9`-JyF2r0R=;8sX3USK~NB2s47K%<{`Y7nSsor<#;AFx*bmOxNpWI z&>RH@r?xYgV5x;U@L^fxyQc{hA}22hG10c6Do5))tzE1y1t>rP3Q&Lo6rcbFC_n-C z6L5JD!O}#{h*{V;`$vF24+l3shxLbwaQ2fAaVGUK^ve7Yn|AKQnVftSRT-cO>xElp zEXQLvXra&9hu2@eP??8M*6oDm(S>+4UVTXNuNn1cy3vEa`3WWTs`gIPBUP=Epypa2CZKmiI+fC8N;FmPGsk`7Bvu(YeP z@C^3LUA*xzg0M)afPrPwB+ar(1JL8^4ZD!3q6_hlVEKYO5nXijQo$VD2y9sXBKD76C{ctM*nG@9t~snQ1t>rP3Q&Lo z6!36?A%F0Dm$?8Qei2!H3baI^!vYG1Lu>HJA=@ehAwG31R5u4XwyUl4Mff(S)VLIX z%Pmm%{m>@imUs;^4jGUm&pu$J_2C55QSuDKSy?SP56DrP z3Q&Lo-YM|Gzr)ut7r;BOEn7taHx=lxfP!X(^kk@dU~KUuy)DK_hX>!5B6I(KjerV1Kp5Yw-hyjubY=0d|`&{q-_GNtE*D$QWr`OpofUKcA1QGzJrd{Dn=Xg)1P z)zOb|s4yP4Mwy;(sMH4|SOOl>e}WX7hco$l85fet@n%`RQGfyzpa2CZKmiI+fC3bt z00kNebXX9f(V3cEp~VfUsklyhSv;HhIu_1+0~*OXFoqC%-Hy~G)kS|vgHrn8P8qIY z|0d~C@zYh9y+25T0tQsc&=B#{H(>GDV1y^#hg%|-79`_B?o#7I zO7=mO24RucAu`CE!4Mpe$E0J$sMr63PmZdgBMb%s5rp6e&s;jGWamg%>0u-PC1t>rP3Q&Lo6re!M1^oQ{ z;P3Bme6{>2$9r~JxpJl59nMovJ>_^$w^(}yugy)vM@1TAR>8uNP9h6#QCC*NlLTsO zYoT81#$Tt?8DDvMc^E!?c$=D`GGEk-69p(h0SZun0v#mq^xyurh`9hAgv(+nKmlJ6 z(8@prDzMO+>DgzWwcEXQN825Gc^5KYU4V6mROW!3SJPJ>Phc?N@?HU+tu+EFFu{oe z6rcbFC_n)UP=Epypny9Gs2@FB8$@VS|AEUgmv~4dp%Rr<(zBv^HbI_UNP2K4?u=^G z9rP3b?O8|Nd_* zWiEjGULV$s0u-QtFAFfB;LBH^ZKnVQC_n)UP=Epypa2CZKmiK0LV!VpR$y^g3Q&Lo z6rcbFd_~~FCHMS-xd6U$wb@PzP=EpyXqx~73T<=aQ52v61t>rP3Q&Lo6rcbFC_n+9 z6JQX*=Po%LOaTf|fC3b7Ux9fE-@MFR0QbEy@&Ifq@trPB7uU6Ekrs6zGE?#QI5!{sm z6zEWa+qeB>1#y|QeVcM5!e7@wUu@1nNpkn_bCIIU}{ zxR&hG)bS0s=}}Txg6b|^8*cEhY~dQh)*!pa2CZKmiI+pq&E#4UgZq zZ(qYzT&4g8E{i}pKA8U~4&VO{7Tt6?PWU}O+q4zhr8l8}uln;9e=r|E``{M5^oM)U z3y$}x-@BD_`ZAQ)g`iir=8h{z&e1Fs=xSxhTGZD1!9Oq*J)-*}CNcvNowvl8c51lKilKOS{%Op7b3O){i$VDZnE%Vuc>eV#ENdLR z>rhr+hmht|5*!@s2W{w8=y&ybWE7O3CbB2|s|s-HOfD*PHIlag`1gpz(Cfm0no^uQ z^9_C|H^_QF1cqOYYp?5xAag2%p(G#Q2ZW<%sOisNO?e*9e)9t=3{s9?AbRxehwCEh z!yKmV`6x4HNJx3T2IBfYU4Xhu^Xbr^VQ+pNUnk--HO1%kly|v-T>yBF{+#=)T9{Z~J1-Yk$H` z0dkBk2k$OkfR*p|!yoQ3hZH1;F#Y#`!2Q+;gQaYn_eT5V;QNqwaU=&AWR5xD%n5wo zubF2vbmc94#KGp=P0i{qpv=EFk_Pv*dF-JIc_+`HM1l)93=D;TZ8eI|W+L-+S0oOI zK%-oS>H=h)DM5H#A_mCw3bktaL>A5k4o06KIeGQ>$jT~0;I)Yuc7-}xWv-|QLKV;@ z7`+o^KWpqkj{*rM7_J(GVLjDKwXeK!q5uUbKmiI+fC3btfENj6+lo^ zKn(7=e+a(+;-rKd+B3yq_;5Y;f0=JBBu8%CdkjsmE<2jhm6yq54c%MtSc9XZYfxR9 zhcn+*BCKaP>Z6|x{)Cn0Bfs`aT-!$i2&x#rZiu)p7TqgyQB>Wy+^Qe)P!n}6qRky1 z_;u@vt9x9+`4ZF4RX=jig6(?P}RU`gibeP`^e;_{@q4 zhksMYTmYZB+-xWXC_n)UP=EryB4GLE>nrVLJ1O8H0y=zq;(PSFtFQC=et!brp8pbS zfB6_T*z8q-ev6HWASgmWYb|-fBr-SqTJ3LM0Sf zC%;gH1zyAj*<>HhkWm;aFXH0Gf8$7zb#HlmK^~5XQbSg%?K%Wr8Emt$saY+0#$1W> zSzqI5(Us_Z^;L)n;-A>2#JG(D6rcbFC_n)UP{0EP1}@87!mqg=c;Q%O3K#`cCkR*F ziKVap0{tD4IEf}`jh!brI-nKn`j5rU6|3=C{yn(A#}RySJ^}YTtc1BtT`9_>!-iG` z5)g)KB;CQ(>tZYF)~a3o5E?TW36YLc2vj!=t(*Kq`{4SaJyBYei`-LRBUhfYxL!I; za8!EhN^bq$k#mmS%3OffyYUDLP=Epypa2CZK!KJEbjJ7Gme-DZQov^g0?>C*Uz|C7 z#<{>%{c+XzCvj4`lWW@~&q2s=3Hl}j49@oHk9+O{K6v*ubSJ;SxBYIBgb3%8u2hmC zLc;7b1Dx;P<}KP_Nh7E%SKS%ZPqpPJl_4QQ8)X&NeGT6*&Zz0%T!K7 z!^sa_{c3T^(Sd$ic^=~$BqYW_Tksu<*l9vTJT6m!0u-PC1t>rP3V5&pg9sjc@mO{5 z7Kpi1IzRYqHCB9*151K|&i0N!bU5z6{d;U({Vq;hdO(n#8S^dk&GPg>-@fPZ#h2#t z<=A4&iLA#u->28@_n^mTZ{h7v&Y<7eA+YqzU_I12qk}1i;Cv73uI-%(>xEu^Kj1&- z%3-{BH}<-ijk4fqL^^o1BKXQHp(*(W-xOC{0|_B=Lwg&@<0(J^3Q&Lo6rcbF zDBwN>XC+s+c9Ox zCM@`D2$s)jB3MveDjhV0pm!6y*qyRn3qgoZ=!e=fXL0xoo!rp-Be2KS7#J7XcnAk| zo}g$X!~th>P9WoqLrP3b>a* zmz675O5fV`(^F49RlmSF3iyaXZEY>ot40Rz)9G}^S6*J83|BC`O#)R_cFFZ^D#H^F zD*s?UetBX#UYS40X;wmY!GDm4-nh1B$3+qT{)@?5EV%%!aVtNYft=t(Tz{4Go*Y|K z9`~gH1t>rP3Q&Lo6rg}72?Pb%^;h0()t`O#S-XAQ==ZWp6lVSt`##x+%o4jga)AOA za7TgSFR8+w_h&*<_NNiE}?693f%EaxyYeWH10n z&!9*G3el}Nn!8ef0xc5=9lHpxk8Rn$=++b0UfaTbJ9xLyYla}{nhrh*i>CkuC_n)U zP=Epypn$gv3|yAEq{E(XsQl+H?3XBlnhcpA;=>%%e8>H(#oz~L;lbO-WBOyaGm6l0 z&~8?8A#(B>j@9RAotss=ZPn?v;h1!25{tXW-8QLhCGaQ;P=Epypa2CZKmiI+fC4TO z=%CbuLLAz4R0entLwtM?GBfkBf7jQzZ}ts#&mR>2^EGUIV?WO18=#2{gT}7Yx=Lj3 zT93c%%RzooDXI(_g!PKYh+F%j^q+@t^xIMxG?9qErP3Q&Lot`g{&tc09T@Zni`&LA=g4^F=m z*J*&#jE`{0rZ+|Xnb)v<%}2=0m&ieo+Cgsg?OJ6(-qE8tn=b(bx%m&1-X%-(kK&^@ z-ov4@vZowksLIFDkJe!0KAVDV%P7sn(adjAR4R4Rgh?q?D9Zd48=rdvXKeT5yypr8 z-+;#!rlRV#=kVIsXUqYFnOJbA3!iTJ-G`qKVlIH^enwbx3Q&Lo6rcbFC_n)UP@qEu zIv}8+N9HH{kuTNlHDWCKMJHiwKXvz?iBAp{nj4|V(GT}SJp~aocm`hFxDgvS%texu zAt~Y?c@FD0F2{p?O^5fIupApVuEQ+j0S26r4icK2!fwIBjq4?l@Q5+Efual??C{4f znye8wx>6wgN0_OC3a`H?*$66_5M!79;>uI8EDBJ70u-PC1t>rP3Q&LozAWJSAc9^6 z3sinVFC^U>Bk$ozx+Pwc2n;y;$tN(~yB8rpM?J@&LBCr@n0jN>YE+^@6H_$$#+afE z27@{_82#c+ea2VGV+#$RmUmcCR6oQRyKI;7;G85fI6RIkJ44{D?_R&PZMgs{sIY21 z7BiU88P|>HqyPmdKmiI+fC3bt00n$Rz~y}gKmiI+fC3bt00k&O z0Sfr8fQz#dN|3Q%b+jlq_(73~jI4i!8Snp#aOjgv=n-knFgWwcr^wO!?genWmj7(` zoLRE71R00k&O0SZun0u-PC1t?$?aK(L!YqJtcGO#~Wr3ggg zmW6BZm^J$VDEx3K7QTKKrAPN6Qy-5TQd7}4;|+X!_6;naxy#tOqCBm@i2`0B;P3Bm z&baZ4=CBbIpa2CZKmiI+fC3btfENg;`;>N11D9nkacOEo;h}vvV+3=2Xv0y-MTkko;>FW(i*$ORhF2(6LoI|!%0hfR;*Fgew7Y#CQo!^P1=lba zz(X!po2sdi2XVS~?b@bec@PCCKmiI+fC3bt00k&O0apvCh=RILY46l!<;srP3b?7jWey_5Up23qxd3kZSzxs&KmiI+fC3bt00k&O0SZun z0xcG}%mIZK*NZz+fC3bt00k&O0SZun0u-PC1t`!N0_$#n{%0-71zrP3Q&Lo6rcbFC_n*s7GMy;ov#k-Mga;?fC3bt00k&O z0SZun0v#rhv*xB)&&mbpFp4%6%z#3h*mw{HC_n)UP=Epypa2CZKmiI+!1n|gMDV?9 z&K6UE0u-PC1t>rP3Q&Lo6zD{Ox`Ob}m6rcbFC_n)UP=Epy zpa2CZ;N1fL4V$-b-@b;cxJ&^GP=Epypa2CZKmiI+fC3&au>I+7yO;~$;TO@(s^2J} zFmBv9H>)D6Ljej6rcbFC_n)UP=Epypa2CZK!FwsFo@71ChkN5 z3Q&Lo6rcbFC_n)Uc!@_7r;X<7OUym0t_g4_Vr`!DL?@VP=Epypa2CZKmiI+ zfC86IfI)=IM$HpZfC3bt00k&O0SZvSiv?c1qjn8*0lfGEvuPA)EWm(5V-v2S00k&O z0SZun0u-PC1t>rP3Q)j-0D}k)P`HW$6i@<1IIwyqQjrP3Q&Lo z?k8~9-WP6XE`a-87uJXZJ|Vz>f=^s#Hj)CZ7tkG8heg{nkYAxkMb1I2OWTNJtuKa0 zP=Epypa2CZKmiI+fC645;O|9kVN)pJUIMyf*gStFc4XzDxVQp(yV_}?4GBd=bT7ol zCSv566r?04A~L{kr%qka7Z=;tS(b}+QYE*jV>$9pWg#o;6pm$O0ZFqlCpofHy?Am8 zP=Epy@G*gpx2(LIxd1+P(b-%IP@s{(z-5_BIwh)5nR@~!PUpf9JsP9qf*VzgD=6R< z0{T2;WMm=VKAd1~njZR!V&rG3*Kr)&y&W%v#9_j`rI?pG0HJOG5IS-KMn)XO-eOZ_ zdZkQ2l3PR+q(0d@Fn`KANIbzfUEgbld5&)spa2CZKmiI+fC3btKt~F6LJ*-6Uu|B2 zKYndM|EWV<8bqip$wi?)9I-uZ0u$MPN80jj$n8BDi_`8#tkTq1q9CsX+SuL*??_#i zO@Y=3RAk}3XQs=~?Q5}NUQ*`=5+cWA_1m#Hke-F|h(wGU72ElBYKeR0t%XRq|NvvP8t&M^NndpVMM`d#hDHkxPCS^rKKQ3tInfG zd2t@Hj~&GB9lNkMr^0-4J+ii^VQuo;SmX{V0HFggO0pz4QGfyzpa2CZKmiI+fC3ay z0^ZZ>qQPPQIKoFy!>{hS1NZ#*G$dOB1`<=?X<^psYKTk{n z3Q)kU1zet$;Hb6w+;qJB$G7lRb|DNw(Fiv*zN4?qPRHiWvd?MRM-zqEVfWziX(@;` zKCzIEzpr{3d$J2qQc{H~IXo;n0i!2Bj%mYt+MTj=&og*nk6IOt$uF+Ky(NFg)_3=! zGz=Ir`f=3fE1bliXFPyE%buEHl0k9LNzD4q`zX{T;8&8ZkgU#I@OLbpy#=SyUose$ zGlM~~y4|FL32Ttv|5x}G-olzyz=8$Iu>VxJU8NgTC>rB`Jp()Uu0)1;i~e|q^aC&+ zNtQizML2cvAPyclhz#j{T%Y5xoW=aa0N>Oq_sGvCcX`IDkc?p1^K%tS%(w4@h4z%2J~S?>gjVyoc>O zcH=*Q8t~`t z#;UYGRyLukrrxS0Vhl zRk*jeO?k3CDp+#IB@hv$v02|}RwL&Mhl&+w!e#%sVMqvjAA3u)apZ&^$-}j%JbeV& z>bRI;7-Gq2P|KX$M4$kls{lg6EG)V^7Fr4R%z9@9R;|)VAYrs;1rj3T5F?2R8O3JW z@_ZCohfFBPuK7Q~GY1`K-sp?-ktMJ4#2NMh1i4|}^~^l1+?``T90MwlpCe;D%4_%b zjWPnl^LTz*qQjf>7F}rFDePD@AFKD~+n+}-=gB&V_tb0qPRxG(c}z=m5=kgJfVGRC z!4@lk`OFm+a-*Mx;+!mGoYG>HlORG%>ZwzmG|pU!gBD}+L3*iYagKC)sa~f-k<1`M zOE|d?1t`$r0>S0KPi8Jahcoj86rcbFD9|o}4i6}leDyxQQo)3%F5M22=R?Yf7zWRC(J}*ed-90V)M&thFl4%f?jm--e z;{CiFe08Ki0t(h05H@-)*4y-zfI`c$4d44?@^ah067(27Bn*3{pNA7)od$;Y$7y+& z7zUz;4D+m;(}qp;+GXiz^Zo@`6x&mR32M?J_TEL9E7>oe7yoG(EHJgG{?awvUcbdO zr$yZLu{JBSv19%;tUPGxgTZE#-E1*3*3HDs@(tKDC(%A2VYi>Ng=}nlVkTb5Xy!b{ z8CW-GK0>!`z{KbVWtAVmikb7VGpFe`MkFPhI!|qIc*_<~VdK2U!30T3kZvpL&l{4M zgkCKxkb6;p0u-PC1t>rP3Q)i&1v)&4kgJA!6xyJK(Gox~8EZ8vT|li>lVl)dt0;ra z$zuuA_ZVl*{}ez5T0o;acx@~aVl@&(FrcK+(GIp{v~*sJgwaC~wpSj5IC%hBdW}40 zQ6&dQW7z24EiHumT~+}tdP@Moep2f^@Oot*!*SbR%cWn1NM}zRgp9=Ov>6x~8-Y-D z4_us$Q!<=nWK#Vv{@L5ou-Z0&5Rrt3XHUh1#ApQQig9fBW^CMk&^$z?bn>_*4eOG( zVP2xMliDj=mehIH*#r(Y_3BH1Pb zq8#ZfpRo%dXnT#s#Ay?eB0-S|X;OK9HnNUoK%W$6Ic=l&>!11?HcxICov_*M*n5!V z4C@pz<|#ZsZz2+-P32GP^#fqTA6(V;N^^iA>V`Yy;q4&nA&?)K2RZqT**-F%4l$Qp z|0|CsX8C8(ct2e5g|@%rZuLXz<74U!TNYuP2%*a5-FxOteecrS{L zt8=hxb2?_M9&dBUZ`t3;d&Bd@O~r-{b1=XXn21h9>Y}v>t(b)QyG>`QNZ*A6<;fT? z(E{Tn&mU|wZ!<2(+=u5kFTyCxcC|8EdaIPQgmz8RQG}@ms+0(foIF_~3iTz1MvCcp zdDXAt90e#q0SZun0u-PC1t{P^pu>X*vHfGA+4D83j_g5t?hvFj`qelJ{Z-%~uL>nq zK^S)L6vP=*7%EXvqCrn5L4<~F(VBZls4C1wiS(`L^e{<_2sUO$z@|*dFsM5>g!TLL9#H2oD6F{inIdc3wOx?a0FB~_mt2ih{X@GIf5E$A?5}o^fsm+$Zrw%B5moiYOa&lHQKgX~8Vr>V4(W-MU;RqXCBrfn`;W9l%$TynYI5>im-)7PI*#(a$KuzUFd^4P|&G1AsThKJa@ zeI=flB$*h~(y%R~sJzoc6ldzLRy#(U!PCD@(U@rO?X5+P!-~>_n`6`+9t|c_TLN*lY7>i5|tr-@^+t z)3JN%YOI};)b>YA+FeT)KmiI+fC3bt00k&O0rwVgc@V+9o7+U~vbSPE+8z`dsvt=b zl96yf?jK^)k3tiNauWqwBA^|)6d$ck?eH7ah+gWacT=wbGL{0eRi;6#;~M5==hrPpBCu&#~eI_S6?E51ob~d5TX+9!GgIdjfSK2kfyMjJ}wYFK*m$F8WbZV{g`#h zekL0S51KmD$4wKi?@p0SZun0u-PC1t>rP zCBPtp`E#Hh@;KISeiLuLxf$!zreKKEAt3m{p@5qUT%T&!CqVwLb=a2OxXwi%t;Kd3 zO~Ep0lceLpR{R(rkeGs``X~Z&cC5taQ<7HDiYYO9q|FU{1$M99h+{2@BZNvugH2*W ze#UX+wc@<>y9OXObsCcEqX?*wz9w2yh59l$=K%uRvHu#tTmTQaP^=;aC_n)UP=Ep+ zCNOYW<`O>Z;9(by)ulkQ0s%>wG4*=vmH{7){To(fNM``kkUe7tQj?+)s>{Q%_qI!? z0S9e{dx*ir8Oe4(_cwc<(2gj{!C%Cr!q~*Gp#w$IU%4=4{8zX?d79ITb0AClMk0mY3%tKRX*4+0mFf zCmE6I@Bm4ph=V+*U@A+0d@UBO4#B*Mi4twlqdY$w#}5=EcG^VKh!J_auwwNwM9Vm@ zBNO8!B_a~WYUt#dhuzz8Am3Du`d1qf+B%2&LpetQ3Q&Lo6rcbFC_n+P7hn*<>n|}I z=!*i;lUHEg!O2*8u)@^*;^Wx4@(Jv8h@nN?)U-B?KN*0;*=d-XF%w&|%s~KsJ`T#z z2nV-2I#CQFvL%Qxz;;_KCa2BD-f1r&!(3H;&R%R^DKFdI)O<(^MoOT=)H7u?l2eng z?s!IhX9wFCW4hfz5x8%Z1QC(|UDiSD-n$zWdv{`8!*cDGBaobuWC}3Yt>;2(1%mI} z{#WJ#v{sG#Q-A^#pa2CZKmpGZ;Ij^%b-h?y3barl8WW%2jHM|tuz4iF!Lbn-IeSCf z$D#~K#GDNq@YI-I&74P_Iv?5j4xWXGos2(h_%+7FG+k3v*yMZ1X zHm?|2r}B&|volWFjZN8bPt$S;;vQa#U$gf`$2?q10SZun0u-PC1t>rP5nxsVKL!-= zR)K(6q^{V8krQ`g`>x$Mn307%dCZ_f`bv!GH2_JYQZV7+2^bX}&_03CL`+`&Hc~Q7 z=gByhCBXtYk0dH+LqZT55iO4r$fF2yzSJbg=L#4w5vzBM!LeQ2v19i^WMt)`xVSHiH}*fw(xE z!4sP=jC)Xk0u-PC1t>rP3Q&LoUMRpIf)`#?Hi-gl6F82IGiTzxVh2aZq+p`m_>B(s zx%{hQ5@gheSll)4wn>-&s#35;9DkjgEh$PeK2HM-#%UF)g1@N{j&-PG&0u-PC1t>rP z3Q(X;0*wL+K6L}tCNdsG0WTGZRbw+w^wP$$SrniE1t>rP3Q&Lo6rg}B1o&u!D->A< z1v*lo?31fLXD&cT3bSkqP=Epypa2CZKmiI+pbY{HD6|2Mhfsh56rcbFC_n)UP=Epy zpa2DYQGh`NU%cvUb4vt{F8cZ`a{*c+#eFD10SZun0u-PC1t>rPpA=v~!6z>}8%+TU zP=Epypa2CZKmiI+fC3a~y#RvE`mt`(tRKYctEQJCTpa2CZKmiI+fC3bt00k)E^#Tkcc>N`Au7Ph{bK@J#1!zu* z+bKW+3Q&Lo6rcbFC_n)UP{3Y*0R?*xE>VC26rcbFC_n)UP=Epypa2CZ;6#8y1Sc>Z zz54l&hV@`BKu0UHdrP3Q&Lo6zC`c1{69rP3Q&Lo z6rcbFyiCByf(TvzdVM}~0le%p%;r#l0u-PC1t>rP3Q&Lo6reyS2>4h)p%a98N(xYb z0u-PC1t>rP3Q&Lo6rg~Y2wavR!cXo@dxE(DUh;`yGblg-3Q&Lo6rcbFC_n)UP=EqT zVBoUMCH|zKfK}j!&+*cqK0vO)yham<9x?G4oqQ*5iVd>vcG+is_!uv&%|`OVpX0{v zm;LN*I^l&27us|j5264CC_n)UP=Epypa2CZ(2)XHTycei;%kThBBAxU01PNNp!C^Q z7k|L{&~bS3sboYb1Vb6lWu{}-mR0!IxL@GsqpyUfGjMtgMDks|5#u4j1V!ZdKhn;? z<2fln0SZun0u-PC1t>rP3b;;yK?K)XdS6MJ?&vf4C-`OWEAi5cTd}v_Qy6!pshNgz zU*OF*KSbtvNnz0RK)-Ph;DOP7V9H&nLgvm_u=CgtxG0-zYJeUC$6-utF24Ny41TzH zQI6?}#Gn2g4-U3O2F~H*7hb{VC#Fuh30E4U76tg?<4lB(jyDE3ivRTn zwtVn!oL7ZI3h&+z;~todWOL?3S>{e`+4(R0P@|EcM<511@FX6L@09R|_kAYVA_`D| z0u-PC1t>rP3Q)jh0xv)G&V<(I0=Vq-?JkG`g?1DAKmidq;jY9FvGwzF7M{zeo@ZX4^Jf<^CRq#FJ_+sM$g9Y z%-hN`-@w`}yU=^lgXoV;?0hp9iN9EiImT#26{;ja!HEJCpa2CZKmiI+fC3bt00r7F za9Mg_Y=1RbLT3x~jO~f?^94|O06%>BF@8wA5BI46f||Pb$4?#@it_ZmIA>ZT|7zfG z2~lYxaO3EH@DJ>PD@|z&(DWIO8++v9Os@3+Xsq}8-4TCN49?3&bv{Rv$~Uk~-Q&k$ zbm$pK5`;_!)EN8`7--oZgdoeTH9 zEuZ_;h&6F@0RwWg&*RGBz3uDSr$2gLOh;}Nj9CZv8zsCD7zm9#-k<^mru+LqbPv2( z-_fJt9KP7O3wzHL;9`wG{85gJy$3fe#>sMb^yn^SmCNQn@kqVvOZ@r8=a4yc9L9~i z(P4d@6vWjOpa2CZKmiI+fC3bt00k(}gaCsGP2g}-y+A>B0YZE9w8;gi-`1izN0|X? zopg1eG6_z<`3gS9Pw|U|gApO?4M#WQnJ-&ZvS}xOjX8rsgDXe>9E*pZ!@oZM7~58T zjF<;zOJ51*bcj|I$z3Tx0SZun0u-PC1t>rP*9rVEV8s7pE`aMi-Jv8t=HL!j!QJan z`~^NZ7K)psb48U?&^xvVez1K$LDm1mH$;mPJ_Xl61xb-FQ2ntYu0u-PC1t>rP3Q&Lo6lf?ga9QROMiLsTaJgQ< zP=#|x|Av>=eF)q&1!K%ZI9xe=9IiaJ6FW1@O#7-{7vDULz~nJdv4+-9-O;nhMP&c$ z9OUtcc1~3&F1B>DU_jY+Ib=#P5}x~fC3bt00k&O0rwVo>Fp=v`*|$x z8h6_y_pT{x=b-|8*1YrP3Q&Lo6rcbFC_n)UP{5f0g9y%KxSj$Opa2CZKmiI+fC3co9D&rP3Us^xg9sgO%rj7c0u-PC1t>rP3Q)jX z1*R9|e#2YrP3Q&Lo6rcbFC_n)UP{1rOa9QROMiTgO zpa2CZKmiI+fC3btfCmZ89&uL=a{)Z)g0ZR;@L~Z56ukK2vS}2c00k&O0SZun0u-PC z1t>rPR|+tQ;7U!FMF9#>fC3bt00k)Er2rP3V5l&*|{@& zGZ(;1FD{!!0SZvSWdi;UORBD}Zn%oe6!2MrZr!^1Y}?sz3Q&Lo6rcbFC_n)UP=ErB z1O_h4T+%3#&}c8Npa2CZK!M9DP+3`tf`S6*^?FoPR9x0`^JMNL5E2pstyYVkJ$oWJ zIM{tE#+r1Lz}8`t#xNJa#k%TmXklTY$NxRG{5^<@ih`PVGant&C7^Dqb8~YM85xNl z@}=36|At!r2B`Kp`WxU)ZSAbjizlDAsn3TBAQWxiX8ip7Y5dVOG}M!u%DTHipiXaq zAumrp7h4he@FNmP=+mxJ8ANCo9}lJg1t{QJ0hNuQ0to8MFDKs?P&Ypj5fMfN^|`p_ z8X48T!Ngx78-TQBv3$tdgUkhJi(IE4)7&qyDjPus6DBs2#U(@V1w|0R6h1QC3e+p25 z0v#xz9&J$B2%IQj5m3RUqM{xoFMNJo-9|^BkJ|E5sB8oV5L~V8`Q`aZAfdLbwA~G15TV_K zEPw(Opn&TH)QzDhr{cO!f+bl5)aOBcE*ehiSIF+&yBmLX_4oJpw9n1R^LM<=T!4lb zmCLOXP^sOj9})H6h@;FMZ~S}e?C*g$wzX9s2JUPWaP;}8xp0AxHt_S|P(THlF3IPk zy%Pfp?G@zl6rcbFC_sTu5KzBJ_U_%=*g<0_oSvtoK&J?(8z$8$sd{|jn{U49lsfRF z6rcbFd|klL*8$jm3Q&Lo6rg}73aDQpHIky(s%gpjK9S4?XcZZEc7Fl&-+`md9rv#} zYe)eKP{8vA7*O#1YseN*fC3bt00k&O0SZun0u-PC1ul=kz-5_B7)iK1);tRZC_n)U z_@qE}Oxn+x3*eKNo{gpe1t>rP3iyBk0}4KHk=aBFP=Epypa2CZKmiI+fC3btfGY&p z>!K?ZSq23tKmiK4mB7`*6D~0qz^yI`D?uo{aPfZ_9ghOAm6gpALBkb|X7B6{8##mAx60C#{3-;Z4{! zFA=uY)qOM%w>=Yp=MSvFC?}H&)$uV>lR~ROCje9k8Uww?KLd$sr(Dk|- z5pwfS;8(dB7c$N5v21S1d$oM#PM$(-Wn1f1f08cOjl~r==};m81$UbmP;j>^(n<9( zoZ5-i+cI#W+Wdj{?}jU)qS5z;n{nsOgV3XuLyy@vqW~vPT|jj;aOzY6(C&aj0sgUO zH9pMuN5X%lVd|iERnESuT%v$S3TP1;n}|`PV(V)^DjCuF$1r{OE@VkS!Sq$QeslA4 zp-7rM2T9HE*rGig{o-eTUKvOJ{;coe7xgHD2E?LE<_U)ZlO~JTe}}41ziV=r7H^cm zj=N4S;dj@@v0kkZxOl-DK=AL@4eE~n|Fd^4a8X_7+J97LyZ{=;D0l&>5EWBHqmqmC zi_jW~r(hCHtjal>R2rkz#)QO%ctJfHjD|)-ipNxIwDnT0qzN5~^8I0e%_sqZm!yS~%v;5)g%ewy8-g~X}u6Mnw587=n=E6eOQ= zLCC9n@XCaXNPR0FZ>Jr@*)lDLj0(b2G0~W=Y9-WO=5QT(sc#|v?PMG~Yl3#jID{;U zL3F6MwJUiYr;_9G>vz)drE-771Wb>P!Qx4$#m{OSlS~|ooQPvDyzh9~gmx%GUI@Xl z)o)|fo*?n#?T}H~sbnPl`W+nk@+^u?S`3st&y9(}>~S&@C`-oT(1Y-f9);6NK8k^X zAF^AsjnZ`a7g zsd$7(?#0C#7cD0)VWJMbYEs=h*RP|#`M%!0+hZ25ZWefj1W2GY1TNHA=1>*Wu~!jl zT^{kviN`Q&cQT?!H~gJ+_#K{fi@pP<%P^n6Y#kh3N9Dh(N`mjspM>dOGUco~nUz&$ z+AYn8^_qOg-dQHXgnQxq>OMFRvtE{;zQK`}lk(4C{LO2)_Vr18cU3<4cZ9)pQv&+R zDD=kZ-6(tKcQEIj!%b%qNIbRR3q;RIGXt*Uo<{@wlSrT~EMe$x8Hbv!!7| zq`sGE31NR=o$D{v40q8SW z)=*r#0`uwr#g!wca07S4?PtMI9#icT&q0&*dlYA0LcRW*wM5`LzN>1u2g7yFENIUC z6BsE=Dx?QcwqF?Z8V%RU52Ekzf#?Y%D$kun>EHer*Ok|(_A-ZFI`o-51+JrpK;~<4 z<5C{VKRzt-IIG4(ufga$IS4Mc`xkRy{9CGMVTWRH==UUkK(}}Z%K!8Z%F2D<`s4qH zJ{|+4t|Z;UT$H69#x>jPD}Ha4liH&r0XqUN_hbHw2za3a7e3jAt;uIZ!uScYFHJ#{gyD=p^9218sYY@tC z`lAo=_X6PZV1JB$Ksx*4DlUA6t)RUCZ$+b2 z!7r8jF$su$&=nU`;t>7fD;Ow^Ui|wpm_Ka~Ms3}L=yCOTm|aKDLd>i*JpFb&lBHu6 zUMml{eiZS)jKi0cWASF}1h|^cA|w74{Cd?pm~e10Mk`r1eT9Pu$KmxIsj`gXQ>=RW zMZ7rsQxTdZ;Qe@4oQ|I_<#-z*$*;&PqXFIMB2D63{7XULNHfBF zmc$$4a80##ptq8G4fk#GVoY28sYCyY$AKbvcwYn$^%JQP9ZyJr1lo&$$t0ToGElBD zaPEx;<$M!f!TYZlBY2f7UQb;GMHbN5cT&lI&F}E7dizUJvGIqZ-tTzy_uWVH@$ZkS z;r4v&FBlkU9dIj`O-E4i`FZpVOi)%cICiF7nEsKAo)U}GL3y{H?FLE z4L1W&g3#&zIrKrX%S2AHPEXX9nTB&o`lb z<4k<_$_KdPUdeB5*I2$T{RvlAy@VUy&%*ho$x=SikkI<5gG4nd(VV#BnaLJG#~rsu zfKa;#xN;oDhkyZLy>aEB0j@ul!RxMnq2DtPx2&zYF2bvFC-lA3P0DozJx2Wmy2)<1 zp7|GC$ty+A;rC&{+cQMA3XxykFMj} zk7W79PG{&M?}0h_4=6h;Fckhn*m{%{)gL-ZR`iOM62U_-es zHXOu;Mfs7xp!~)Sn6G)Gf8-O0m@o9$fBt)PM#6rm%LM=zR;&q-dc@_2hI67^qZ~7xUA>~iI~wz z)Edql!-1_LV*JG-{BW=mwwAl}33hEw#u-IG;Nm86m7w6*yVzRhgcn5(!d2eG-1oQQ z?aa$+KqWmV@l)xfNCec(SguQ0S4A<+rLTwxCCs6nNY0iVI=NubpuVUqDM5usWPfxd z(3S+od3s3)$s1Fr1V7Q1@wQ1^CY*jN62WiPjBMcdXCd~5AbGc}ZbTRs&7Nc#eSe#b zUuOUzufK}f)~T_ft6oLk^rx}s;3-UBY~S1c7HNAk;1a$AtHMWHA`5*5F<*U(`Evc+ zpa*dz=~Eyq0WskgLk&Zpip44%lvYrB39go|x>jo+r!7Bau+&hQw-emWn^(v;lQblOo7h+Ra9LQN_>BZ1pR;27c_2}GQI@DO z0$vyEg4Vpqb{9P^h;-&aGAi$lRL7f2NSkXcUzNhbteuSk%YKF4mS)i!)XLj=xRle! zB2}aoSr%?MhXma(K4XJ`2v{hT!UFI`s4D1Jhqq<-YnLqWo_e=s8h( zoV~5(lhWT*%cxUThHjRZ<3{Nfe0Spt$_`z{wce%mOH6F}Xop`46xso5SBTPFaS3PA zzd*iP7*`BZ^vrAvokR`bXNnqt4B*YuBvkz4U3{Vl6I{mP$zROHMAu9BWb0-m7Ze~p zBNzA2s4Y=2<5WhvDok*j@C=@t;e);v|G>`mdvWsgXUH~8#1A#caOm%fFu?_5XZ-@R zf1pzZ24=I;1la@%P8bytZD%l{0$-FU;tpwV?w^O}rVX_;Sn3u2M*>}&z=*JQSXHG@ zAO;kMc*9#ANLQCzJJcIhLtrtca6x1uVWaFj3ZpS$oECfY@}$ilT^$f-@nxO~XOBIN zNeAsNE7N&HPUE7)dMZ!)hGC;@U25?(6hTidws^L^vUWl1J?uRW&%6?WjQPJ7A;%=d z+Iw^zhwyM$98D8-hc8d#!r45WK6P4zoFR6;TrqH{tMyz|Fr=rZ?LAPmVy#XUWLSC< z-{zf`H4zo4vkaC_-P|DuHVX5)=W#>s!Tie68qhS>!JX zkie}b@O{jEGa5nm@1$Zxp;_5z>^o_Rtj2e^S@E~VvohWK1N6Kg>kDkrlz%G&YU_#U z+4qn!i{g4f{E9Jz9+uNq{$Gm9yz@Zb29!Lxp=MlTt!pjHPoVtm*ThPltc#E_R8MCa zahk+zeNEqXXHAIH&Ue+JtR46^(srhmbrj+1Itq0#ZyCGUZd!j&O5RQAB}Nu{Ro&?? z)*3}+V80^ds4YZjEMLm~Gr(QHf<{{vVb?!Urv0UxaZ^-(AbS2zZZh#WBm#rS+7(?4 zHS{zNhEp|Yx!Fh7oeV(F!S`X{qVe{g(bK6|)<(!BiL%-?!M`%BsN=5T+9xuAS0_c~ zrdXA{VYn3^CcLq_9(Mh>QW#ihnb`N3cDU|)q5_Qe@@Di?`$U~nWKZ3yvekf}j#6U&v zDO~;Ml?L9I>MXYP5rqhCO|-MeXZ$;U^Q*ttD22<|AWYQBC7TeT>aIo|r01Wxph^h) z_&flA#h*y+CQS4aA%bWyT*#MTwS@>JxNyNT*e^LI3!;xzMJNX)xFomCWwNG0d4JvR zMzAVCQ2a=Gsu){2cI5hEj#2%0nt&y?+zwF`EBWVMI%U7F++g$eDzFuc0;8Hn;i4W}Jg zyPR^{doB`oht=%E*h0B_+m34e))XpeN6C7Ltw61c4dw65?TCzfg*y!K7c zS7YBvwDFg+={Zwo+;z$I3^Kr16b2mBVT1l1vXi(j=fPxefzg4#@9eHM`25!@mL*s* z%0Ku3S8GkK+!X5yH~S5>i@EW`8~XR~?b#vdJ$ej!kC1&t10O{{zt3U#){iu_w!^U z_WAf!mO~_nB))dXpkeH;n6&5xOpaWJxOWD^WZg{S!jZkm5DkRacUTrDD{*{#FkZA0 z1~wdBJ$DCs%i_yo(QZ&QC~WQcw;70!%fP6`s}Sy8D`4+C;XS%azoFL6hE6Sl1lI}2 z;2IL%%7IEl>F^#2kihLD(Aal!!tKjiYg5)vMsG1ZWy;usYmdE+zKW)5lU#rF@*V~p z6^(;IKSQ574Z%sV1bH330++z~UWV!I!#>DZIC*PD^Y#R8goIc%6G~;4A^fj@zB zudi|C<2<_(ir~Rej-De1qlZB(H;RBkaXm%`8n$DsC|PP5mJ>c^SBpdr5MB z51j54iO6NEW`bC4)Xlyd=9IlKTFb2l>or97*7OHX%HEYHF5=n=g~uZpG|d}*`il^u z&cv@8s@?umtU=O|Ks5nbw(yJB)?wZ16?l2kJVgA^r_p^NhmIVoeoU|BD$5ciD)S{A z`@*s)!e!`C)NO0r;5F1@zo5+A7e9D-8m3KC{vO5;fA~X;*2%YYke8*oC^?BwzP3pe z%&0IcS?!Cys%)VWmoL`TQ!Qg1GLy>*0 z^yKu;P{b^H5Z5mjSKV`U5y3&(X?%L@f>@jU7I_&7SeEdWdSB6?Y_97qS`A^N^6>U6 zuOj(Ng~3t0vn)>RCulKrNONOr%>PhKnoeOtW0ZKG1UeM~u><33l5bLmeD}&4`%ZSM zlGVy=fAoE7oqWnaLfO)pxbl}|8O$8Pwa=4b-0>oeU)TQu?j5oKPUQz-T(<^SKmQEZ zzZPqbX@A0Xb?hXz0YnqwhGN<9#0l9-LIezX_5(7R43a_pjgOT3687^y$#xH-W6@xo zwX)vgQw-7 zkvuwy9SVH&I~dcC;QEPV88Dt}an4&6uvahia1sHB^4nW}MZD3YcO#Q~wglaVqtB?( zmOsDoVnuKkbmIrWbmD)lHU$h)kN*OEgWwi8TKfHip&b{B0b)O)XPF2aZ1JeSl`wtz zPneuXW5Cq=(Az_n1B|>6cl>BPv`z+8Dg*6G#YTcNG$Une5LrIasQ()AxBTR0?r~fz zm%h)`DYA`&^@dY#IUY1xtWXBYHV!)U zbd$J7%a$TW15Ea>P0NectdLE7Dw-81J$Ew#eeZr4_YXRQ%*!Wn;I(B)cB+J`b>QTQ z;2`-(RI3jr|0BPnIBi z*IIn78ehByC;w-#LToE|`G|D7;4&^}{06aKh;X9P3y&|4z_mSV@$Ll|xVg&0hO)~d z=~JYigB=Jpx>+T$xFk@AfXw{IZbfW-oD8C89>rs2f-)=EfNEZR{IQh2EB?mW8(1Zw-)1xizc{^co4G^UdL>8wtoV`Lxy72 zTe77>@m3^9kE@%2gDZ-`!o?|1Anr@cP1n$9#2$MEZ@oATdrdBqg$bAyJr~zSi{Ps~ zAk?N=;24NoIfU zL{D$oAMw8Wg$NiHi2Hn#HcvAFT#uKn_fftt0}U-q#t_!d@}mn*HD~lz&81>*L`AaamgB#?G{18 z2iGloK`z-RdqLLXrDzl=uEDa}-G66`u=pPfiyy3n(|xkX;KM7?@9P&)@!O|l`JC(# z`EUaI+&kRLL5;nA|Faq`!~lN`l&VpjZl>i|JNJ8*gIeQb%f;&doqU7g=4(9{1MN3T zFXP%@_t)6x@jLwoF!cE``u|`GbOF+THx`SK;XPbAq0C6u8kS!E93{!JrGzY}xnt)4 zL(fX1jJaj0!(YF)2pnW9r;6Mwvh`vZ1~?tWw|{HIe|1({cVxH*n||C!gcrBT-8J{wzfu?A zHo@;G$sRj)3=<|y=m6Qt!#lHQBO~lj^4si@dI!jV*UEyU=R&zQe*Ad!=+UEV6_%wT zfhG{RdGjWYA3t8_d+F$1X+m@z-ixDhIl9*23(}P`czz3tU-}a?>;8)V)-m_(Dqihp z;oN_(LNC{5EK=5b!gXc@Ty(Vt^;HF`#EqQ8_%_8ln6J9dgE|EIi^0e_vR~z&-$CiQ zMx-!x0^gboH_FN|e8s9}CANP3`WpW0ds1q6;z`#hp!vZ(y!L}e%IPx$D_)!7*psUd zf@d#5u%o-OctW-mgW(2|FV z4!rXc36MZD2q?=2P9KG=Ai%(Z1Dg?$UP*uiNPq-Lpo840m^o5hOt+DLqlaN!cJexb}vAW{)3_M5d)>7TXLr7E>2NC71Rajc=f^@-ChFMkG+NYFQx(GWXpj` zRQkWYwZYU$fCNZ@1UeLf%gHEP_1~y;{sH>@VkP>@5{<6nZpxYmx|R|Ui<1+l!ELN; zM{?>gDsHhw#Fpl|rQs-0Xel{{YXX4^lwGS3LkN|!Ou-X(KQaUNw{Xot6B45r5+H## zBG7x%Dx@A=)kd)~8WJD@5+DH*=t2aB{S3N2KkGsTVo}LtLL=6ca|+Z*-Gz785R2*t(4>L0Zey6xl9?Fz0u>&kQg?YG}z@ZiC9 z%HI{gq4j+Ox?)-DR46YrO2EeV>8aC9iMxRT)eSA3hwHE?rUwS4N|{0dMW#JSTxJMZne7 z6&j5Oo}Qj?c6P2)wyyXMt?wJq70X(uLV2N40*;=Kp8W@)vZxR}BE6s4a zv-Nv^Q=ni^mB%DN0wi#o2`IB{=g*&4bD`7e(4$9>+nggNf4c}MGfhh8@bcx$>VU~n zK9oV!_rCW%N4I#51iB>wMO&wCZIy1FFcz5}_RP#2)}&kAE80TQ?k1e8(Y zuwlbE-FzF^ceErMn}Y3V`DK1cpd%3IN-8^zeFM5uSv$hB)7kRS(DR`k?g`x!GjQc^ zf5lB@kM@$1&Q?6;w~YxX>l=FXcg27yAex!?)2B}j4?H0O5+DH*AOR8} z0TLhq5+DH*AOR9+D*_4kq{%K!-k3Ti_=&cP^Y+9;t%TddovD%l36KB@kN^pg011!) z36KB@kU*y+Kp{e>t1@Po1W14cNPq-LfCNZ@1W14cNT9g{-v9Zc!mgnU(A<)@qyI5$ z^eZS;Xh*<|ngmFI1W14cNPq-LfCNZ@1W14cx)K2j5xP=svMeM(0wh2JBtQZrKmsH{ z0wmB;2rMmo;#=whbd=g?mwZs5&@NaRDG87O36KB@kN^pg011!)36KB@bUgwTB6Phv zWr;|D1W14cNPq-LfCNZ@1iCMQUb9o5q%J`Bt^ZqEatah~DQ+f40wh2JBtQZrKmsH{ z0wh2JBtQb4mjHzbowx3oa}po{5+DH*AOR8}0TLjAjzZw+o=YcD7oelm2J>-?2vDGK zi$F6O5+DH*AOR8}0TLhq5+DH*AORBS>;x!8=@*8%$YNtD!i1Ufc>kt0X8DuWa#vs zH%8#x`x~$abFp-qdrhzBlCW;S4$r<2gn>2hbeS`qPS<71!h(*F!lKb7$CaP1?Ywq&mxlm2{efSmpL>E6Fs#n0doZ^o%*A%ZQS3lpQ4)ph;Sg| z%fSebP=pD}g?{j!8iZjv$C0C)s!oHNQZX|s%}(fB9U1!B; z6#WyQA5Ov>hjj>lRtzR6L3HU9;3pdJ##`S9SeXqmt`9r!5LCt z#*@*>Xz!tWVde%rJ%2Cq>n-$2Bt9L9O<5+34}B66Qw!?#%^M^@0wh2JBtQZrKmsH{ z0&PQpwi4QgBV!?fW)dhzL7^w2cC1IRixSi%6YH7Sw><`n)1wf-JQ(W22#)|n%=Cp{ z2U#Vd^9#ou7f(yxnpxr|c{k=Deb*N3%QlEG#j}ARUI>~w2WB5_1Acgm1W2I65m+%m z|1;_Wbhv6^hDd+}NPq-Lpv45ntkJKaRH4QA7?1?ol7JSvvB6jv?}LMjqp=~?AL~OE zQ9=RI_hmyD9smzHGh}VUhQxFfs59~|2wakYg#lU^(l;S?S0)OrdJS4d8nIv@rjJ!c z77j9+gT2w~kWy%ZN#gPdn1h#=gu+XkgKhIS!g<+N%<{4YE0jE~1C}LVdWlFrQUeeg zsN6InYuj3EOV5SDsv+Rw6N-gPqYz*x1u2v~CvHoJ-s(x~;g2~lEk|fo{I+y}oXj-j z`Yk|wL^fh$t&vvWwmUK*H!TT8lAgacEu*M2L`Eu71}!|omLYzYVj7|lnTeaQE2{uT zVWab(iRYGt!&k*pEB_{`gMbLk^e;e4QWo-!lD^gp!3&pRVW3@s>~g_F5+DH*AOR8} z0TLhq66kIOC`9OPHO}&OZ~|TkpXrZ%`$QlR8mY)uwz=7$Cs6oz8?!~%wF)+m?*a-vFTh{-4FC;KCQx-TaA z8L>-mkZ{(4vq_I^qYu=mi|petp-^80|J4VuP#LdFeopRL{$97)hS1SW^n{&a~@Cf+mGoe>68Iis>3qDaxM0jAY9Z?;^7P4J_MF5kO z>4P~76=8znB!6=v;F&EN5)KpeKyawPc+*+676hqpC_+4PkzK##28S{6A_2U-0PHI3$M`S*b$h6%;bI8IDa4fm&A*$gys&|O~_7+!9FZR+}1#Ni0s0Y zxfYSB)&#Zw2=z~tEhP*xOAqK}#lggdO|=!Eu_#BV0tF>L>v^5B+=2^A9y~&^Y-^Nd z=|oeK)YxlTG$jE2kN^pg011!)36KB@kU;k$z@-h{tG-#<4o@H-$zov9Crk$S_2t#Y z7lE^uBVm~zvi7CcyDy_5HwOlHUkC9RkdrIM8kIDx$`4vuBT=mfp@n}~07}vn1CDxR zmHQ*0j#@)~nX|v{4j+#KWb5l&Tw(9GmB-3D4aIV#z4P#ayJ#ke*$29AL*VU$^EXo$ zpxab83rYecKmsH{0wi$T2~ePL+pB;XAOVGd>PB~q_{7{Qg!!++GLC{$c_sZ zC;kfzFlj_BU%eoP1hbW02dsDVQ<1o@2*DBlmisc`)|w13sP}d7ayKG7E2r8Xf&{b0 zti~`l3?ZfzBqgV#$Zt~9XZ0<~TmSbEp@k2!WjRHbb@v977*)(Js*zHS5G_9O^norn zQktOET`pRj76Xz136KB@kN^pg011#lHzvTP4c)l% zS@hdUz!^H3u}^$D5{VWI1<-lau=^aL_HU*8WU6} z-err%&5O4oU%9XILugbSqQ=_P4rE)%h$O6AoCxh=!_)g@bgc*&?_!ZA&>H<{Z-~kDc011!)36KB@kihLBz_kvyhdWaxfsRR_Fc~Xjl29P4 z9y~*y!_q*9t1gE?hii&Bf}4ur0x8azyk<0wh2JBtQZrKmsH{ z0wmBO2vCU7A*z9yAc58q@Rg+k@vV!(651miYj%XUMNDcOy1=E7?Iyd5%bnI!L?Pao zIwkmtu2LqJg9J!`1W14cNPq-LfCO4hfXf_OjE(_GfCNZ@1W14cNPq-LfCNZ@1W2HJ z5ugyEd(}5fO9Gvb!0cc3T|-@f&R1{DF$s_W36KB@kN^pgK$j;#fkKzBViu4DNPq-L zfCNZ@1W14cNPq-LfCSox0EGx`!;!I&KvyHMDSN?hs0+~5YL(?70TLhq5+DH*AOR8} zfwm+tW{rLYr3!6HlyQ*&36KB@kN^pg011!)36KB@kU$qEKp{dGu3Q$aa}oHlZ?ciP z0G+GOm|GGc0TLhq5+DH*AORBS&IBk>=+3pzvXcM_kN^pg011!)36KB@kN^pgKr;wX zh|mmJ^x72(Z2k19LDU84iZ#nJkpKyh011!)36KB@kN^p^F98Y^+Lte5Cjk;50TLhq z5+DH*AOR8}0TLjAE<=Dqgf3H+ovR=p=HEO>U4YJ2XUr`LkN^pg011!)36KB@kN^qT z6QDrBo(7LefCNZ@1W14cNPq-LfCNZ@1W14c>LuV*?;YOgf&`|oU%a_}bOB1g$w2al znb4m%pu!Aj`VYgHz^RCs;)niSkR*#l0wh2JBtQZrKmsH{0wh2J-JZahHTo5lDs=nD zpk)Ax|GoupeW*d;j3|Wrx}(1aFc;^ERKW>-TNWilkpKyh011!)36KB@kN^pg010$( z0u&;&Zv~Bl(=Xdc7odIf-SpT?|Bn616_~tu0fOACgJ}kOy=##c1>39(;)cYFr_r4e5Gp51Mst-}BPr}Zm<0z`sKqKOfF*BaWPyIyV zK}P~4KmsH{0wh2JBtQZrKmsJtDgqQJvPA;}r2<8HrSN-ptu@}OIG4Ex z+Y|nX*-L+lyP!wX{_`03Y%CVLD}sZoxN4>Vp$Z=lNPq-LfCNZ@1W14cNPq-LpcMqV zrq#tkgX3bmwk|*`s=RH37Kwp`{=7^^;B17ue~H7#uZj;dD$TOgqOUD?{m{>LSQVZJBtQZrKmsH{0wh2J zBtQZrKmsix&@}}LEg``$%_2}+IA94Z8U|b5$2axHWXAbC1KfRw)$}p^E)1?H!g)mo z&?46lBYbtZly^y%O86msss@MO*noH5KaO)PjVIUG90TLhq5+DH*AOR8}0TSra z1lm%F@aV;XmDC03(vM5s!s&+TU^sV4wSZ9LuDJr2&R$Ztbf|H?Stp8p19_&J>8ceE zG;j}$!m^iU;~xAIdp2&sAN7rj+)zGlF4-{4YTcMMZ3F81wj4mydu z%JmzL@zb8d^Rq|b{|$HStzW>t0_MV zsRy?qF*TuIc+M+(XTO0!eF(aq~ z$qDZu^P6Hj?Sx9ZW5-b3@0$YmFO!g@w@M=vxg~L@87u%!}W|SJrWa)#V=|D#Uorr)b8;SED z#ni}^NUg6I>D z30UK@9=l>269 z^MeoJ-FM$Yvca+|qmz>>bYp^`YiQWse>~>StB}1Q-@x*n6{zg1!Hhu&B5XA`*A`( zduq_ZVn8ACJ}5GV&gM);BaEh+V?s+Aw9x8Y;BqSpWJpHzjLpc__+VyyJfg(5uH{7P0(r_S{?{EC})RxZtE=tZ;(I-CD5VYr`CUWOzA7}=(?kTX9(8B zFGWDrcQ6wxr^e!_*$rWD9>9{$*euxkCk`I1s_&(Pd)@7lA@yZEz3~f_!yRGqJFvvR z3H=ELk}(x8Ke-WKnEmnG{&<8}Jv*&`F1uSD*p+w6b{%FD!LPnvUq&iYpNq$ua4)%j8=O}-o_nqY8Ag9Z1T--R^0+vDV*D{@ z=>ll8fWVoZvDesC{&nlKq)3l1Qsgg7kJVe3BCy3WA}s=3B6On4Vph8Y0TZ&eZ9=yH z8XVZ_U;l^RkcAC0qrPj>?prsTP;wNT*6oE){4Dr7YM=9yv2xu$Wak&5+$=Nvo?~Uu zx&TW;ebs@uAu|yh_GKYg^zTc`&Cs~{ATTrp9{Cwa&(49t+HxGCPFGSqJ081SjbC9}i3-)E6 zM1gYOQwH|S)?>OZ3)>P!pHZKKd=Y3!K={s#L&B^g>`P3N8KZ2tiAK&WuN)+=+>E5$ zd=x5z4-tB}`-=9&oG8qy%_4U@el}&h`m*>xw;%E0qK&X`3z9^GB-b-o&K0qf357~| zcBPBfgS9+ibFgrhO(>{0n6+1)n-t4?0XO)BE(q+?{}8xuxV7P%US<(+q9VIiv&oZDeqHLznhltx$>R%92<;~iNF_W znK&tHnY6mG@*RB%OMvNhTFB9j%%|#dkbPW z`65BIpd86l4e1*YBYONwTV!ivA{H#cbhSY?N*lKU+tPC7+i7Xz)ixo_ABLl8$Ua#J zql*XpLl+|%ZRMR7$m0Wps++5I%$Kw{6i77B+5>M zLt-_`Wum_TJHuR(iwqg)?mMcNp_~lB%q7S@DjlB0 zEbHvLbYM0uM$Go3B1~|ByDaT6<{rhqm>7w(eafx%@W=G!OAzENSvKpDmY%QX-H^T( z(XmPRLWBt}o-!bp+3t)jFC+G#<-Som1}l|(mT2Mb<0V1{>Fk-Dt(~@f9E@3vjVaj{ zVS=+(1Q!B9>CqKrA~ho$xvDThG$UkjB3vAG^@?Pvf*u8`KR38(%OwjL*e>y|&8$@$ zim<_5>cHI-?k?2>TeTq8|CI79mhv1`q#v>@$)uELdkhwD%Cgq2lAe;U5}33uaC0`J zq~HrAtz8Fek?o`Fu*WWALoi8Q?;-gY!H57ydg@W=MXI9+6P)FlHAwm7$wHR;tYwJs zL3u!d5_#5=VxzG(z4lU3YjI6E*cKg)Eg8!5s}t5n6nv3{b=bO@ zE&@dvG-_qxT6s}6QZ~qU)Mf~$k#@6o=4|a~QHjJS?WjZuecEOb6xhDqwL@6XHPUW~ z_kxtQ*p%t`o2HfTV4+b9owOgeHfBq#e9zS8R)p$bDBn)Yw@iskZ40}~e)INpstSEf~=^NQ4*EWYnWFAbHcs1~kcnNcY-6UE)Qj)Bl zGBpvCEV+wD^p-Sh+b8`H;UOJ4yDVtnX6;jWdDLjVs{L5&dUIMfEKR88+20r)i)2eT z360f7!~Ll0q3TS7tjV z;gPSYInzg; z#}XXfm1KDyYn9QMxeEt#rC!B0MZy8$eP9Qk^B0LsiD*EmQiOc$+m@zU>hcVW!+v=; zl=OBl38=AL#w~cc)Rlzav8LuTQ7gShPwPCljfS8H5+H&42-JC>n*ZH=Z})RhJ_$0- zD{Iu1_dgzLvnSuttZb|Bw~6g$?QB}wQE6wEO;Ti@D3PrO8f+DH!C10X`OZt5u|bwj z7S`=OxCF0}JRZOfwGCelOA{k`tu%WL!<#!A1#(x=$E(BENhs_NQp z5|;hpkUS5+!vcTJ+nP7>s&xU%v$0E<**|&p)k{NtDu)^1#oJDR%N%Zd6)*!N&^ZWb zJwvf{X*TA^q#;dIyNha#RgF0Zv0>dV94%0W*455bQft;+y`_b(zYN$?ieMHalS%{Q z;pZc&<}!0{G^m4fQ*JhLWW1)T*!`zP#ZC<>|CJPpN+lZ6+^~6W_OE?&CxMN*G83aj zA|0`HGvv=M!oosz!078g2|gMxbrUydNcF)hsRmBAMBic27}FYhJrqw+K2P zKWR5bBTfXUs^V3xcG*6JTi_Bbi_jxl*3KtxG{ZyvfZ2SA)H-;L24rQiOqrfoc&w&Wmg2Dr&qh#kieVX0K*@bTS(2$Kx>nx0ykEdcl!Rp^lr23)ov!C2{_JjBU zd}kp(!2|nt$$n7MiOSd>i_D`7WR_#PG^|wxYB=3y->s*iH`V9?HapgO1E>|I^fub7 zJoTpBf*Z2`tEh|WtUEZ&oEh5aI^yOgQdO^>lMrFGr(lc2eXKkrRlBd$Q%}w9rP(5{ z@3;1ITc1B(Cjk;@oIsuTsfMC^2@Q+%Gu&ijAS+T!f z1eu^0rxT-uGW#wY1?1?ri9o^LPxFqoo_;dZF0(D=GJE3_ChPn>R3U=NAnP)9mgDBd z*qCowH=mP#Gw9@IY8J1GlS9(}x6l500uEx{+UA>(laZyW zNy5Vmo=Sg2Y%C}f4<&|tbr#*LzS$`$kDo|EvSqeCE#;&bk&?>FN|CKGl`?zDteO0F zYS&yNhB8?wGkd-o#ZE$|sD;kNSee4fNz1TwDm`UeNe3)Ft@Ua)m_&#+6XB|XDS3v( zz?zG?p49f-2xnQF8oJP;0b-J=F0D+T*({73tutHpa;oOxujjdKUL^EQ0wkaksONps z8QbBz+4k*bqm?KcX47Aqj*P|oM0jB5Th{6qD(BAr2%j#q*jlk4kkqh1!7jAJ!^Xdn z4ujp&iw4^gMV}DN36~{r(%ncE!AiYO3=AfvSr(MI`}nBsztJK!5_3<5P`W`LjrLtk z@b$E4bY!O_BPX~XgVyzCq6s%nrXgL`rW89@?k;u{Fp7;WF|L`NhD<{!!fkm~+P+L_ z`(!dmkq{Xbn?7PkNUKN@%!Q(zCmj!6{ellKe?RHx9JTgy#Bi}rc8(Cc35s*`8LM)# zP0gqm9sSopKgz4djFO|kymng%j9H^!K}o`GLC-`I&{gzDS*m3a+#hjod#AX!9nu7ln9Yn<{q3qXaZvIHoE>;JJq7OfR zDt5`HM^zmwjXQ#tzGU6^a;!{QOhl?|&RmcZgBht7YklRiw}Jmle@1+$3-Xg=@UvZo zaQDzj9u1ZezL?im29&zMSqK%8N=m^|Z2Zqhk*HW$lIe(m+cMn#kr0kOGE{7iStOX|_Canl*F*A_vEEYzUy(?rX@}xNtD&HDLDddh$ zdViLB{Q{exeN5`r`h4ob@aFC%7%TrGX8I#_vrGXd{SuEQTb>(}ZaTK^h=PY$R(0Da zmbS7tBl5{zaFLE$z?uVCT321Ro?2+^xveJ{FOvWXI3Up2`_vxa&30%v9h9v0C9Urq zJQtpcU&^*LRnE%~%5sIGa@jL-egS-?*(j`KD51)46Av2yMm8~`M!n@?m(qsY`O~@t zWBGxls(}Ez%XJPte0{`JKrTwY*o66u)8L^sSk}7Lo`)|<#mXl$W!;)s>{XkFiI@{% z*<0De%T)BPB<_u=Q-YuHlvYF5H0rlt{z@HotZA$tBl{}OnF+s4W%fbV%00RdZqmLR z+fc*sq--IgP89er#Mbyw%j}0j!jz2-k;7{pHYt`W6=oVg%#=2< zetAT7L=E++s(taOBN6D?kut-)kN^oZk3dsC%*~6jX}(`}8dQZWj!JOObtC&ABM(kd5Wf;83cGOu2Hh-}M6^L}M} z0*P1cHz)&Yjbf_U4--QcVD;7=Vu7f7WbF~U1_{d|Fww_Nav=GT#@e<~d2n*IMgt|sw1TahD<1sJD50+vmQ`5>;4=ph~pb?>kXe3H+L)lkz z(!BLpX0zBR9jGPCXJVpEd1%T@P$H@iT4ziCYID(v)jzd7o^GlzLFNuHY36FgFSYJt zSvx?NKX*aE(s=b*^HH`dQR{ai!j>h-b5PIICTc25y)KYNp`NM$qFhXw%X8pat=r)d zE_-}hpBs(x+{ko~ht5saDAme-l&cqrp$#Ryk`frjY_^NCjYp%d>CbJWQPBelbbA6# zf1ld^yV)M?W>YFu);!Evh!FYwS2=6@F-h7uQ-L1YvH;$ob%Up$wBh#tssc3Opb6i| zCdAStFJ`3;xBDxvY3-oiIJB~UbM=BC>0@YN5aR*avL%JGFQT8nKje}e`yoJ#J1K3q zNxswNB7X3h7=dL8YpfFvqS_W1g{2V_)pkHDDuO!s*J$6xYZl_-pF@b~0=h}8CF-^u z(tb#~HP%zsoAU;4h@c?FqH8GYGpmjDs3F8?M`)m>LiK6sV!c`Nx-{H5gx^LJPKJ&Iin7vbQrmC}wyRQ!4@u=R74zM6jso=b?s^d>G&Xs{pE zKyi8N_7Uh27Z-QaKKYkle%bz%$0R@kEg*2_%o$m%UC-d7!T3zb-VlimSc3S4^6{@n zN?;N*!5d=s!DICfEL5kY8;q1UJ3WC+tehH)qiwE{(doh5q5_E7ZFw(a(n{bQ5{LIh z*g{7FBtQZraQg^&jNd%jrVDWUa>0~Ipz{+j7z`LWa%8g#vVQ&g8veP=p#~0~kihLG zpoRZJkpi#XfccME_8N4QBaO4CsK&`=!4xJq!ozDM&}IZonQIZLY}~FcD{+Q@fM1)% z&4@^V1W14cNPq-LpfeJn5TP^H8uQ$>35Y8Eto6Gwt815%r6Yk(LBJpzteF%6f(Y&= zhAzaC8k=r+iXt$RBtQZr&_)E(^U@De7od$`G8z)-G6X14=rUEwf{*|SbX@|0Saaxb z*DYQLE}2L8dc0THzElU!F|$SjBtQZrKmsH{0_{tH1{d3xFJmVG5+DH*AOR8}0TLjA z78CgD&6fvK7of%X7?1==pq&X&pwP~M89fP*011!)36KB@kN^pg011!)33M3(W7g!20wh2J zBtQZrKmsH{0wh2JB+zOC6e6@5AtN9G5+DH*AOR8}0TO5>fwG4V-a%b}RzhTO5+DH* zxYYzGP`K5^nH~v{011!)36KB@kN^pg011!)33O5d6e4ueiet7(fCNZ@1W14cNTAgO zmLEK~p1J_7#>farfCNaOyAq&4p}W>R%S{3#KmsH{0wh2JBtQZrKmsH{0?j1g)J*^M zP68y*L;?nbp@}}}jRZ)51W2Hp5xDo<3@NcUrcMcdqMH?+#U%j}AORBSN(3lS=t{N8 zvUDf{!-o&=Q2AkINPq-LfCNZ@1W14cNPq;oH-U5K&b1!Em^JzpT;I@oj*Ni>NPq-L zfCNaOgA*`#zxXfe0(9_7V)jUY1W14cIvoKD6gpj%F~cN40wh2JBtQZrKmsH{0wh2J zByf8OP>67QxHHw}5HRbJwB<1JniGb8Nq_`MfCM@Kfx+*ZM^hJ|15^aFKmsH{0wh2J z?LvS8g?7QpNZXWvxfDg0ieYZkNEsOkkN^pg011!)36KB@kN^pgKywMu>SA+=(SP#@ z6lG$|{~W^kDhYrFI`44^3J=G4cTMx+qHhu)0TLjACJ`8QZb~|J0h)x0o=AWMNPq-L zfCO4WfC7b9z+=!R5U41E!F39re<271Rqv%Z_xB|1OxOl2U4ZfZn-B-RkN^pg011!) z36KB@kN^pg010#m0u&;2h-&Cgndpz<_eWytmn-mh{Z)*=zn@xo^SQrc|Nal5H;DRz zMhD+1GcY4?I4pPT^0}Iqf&EFDI9pZ$vy(fQdwt5+H%LC9vsX&jRWKv@KJ{Mgk;20wmBH0v9e^!1e3bVKf?B6Ai<*BLS^e z3zNyzW+^y3JEKpZJ{UT5Xq&~^P(&0cG(?B@+Kqtn;8ogUFFlT(+cTk)f&W@RQBx@W z2Jdg%j-6P91%VbJfz7M>Tl#nG+^vV-+~@Js@P05COZc~TBE$U!1nI<3wg!f&A1n38Aou=a;3)qMV}u*Mc@nsi4;L`nt|i-$i0;~t}m7|Gb+ta=-byO zJ?MviwnNo7|04ks=t2Z`pTBaNx&U3MLRl0NAOR8}fwm)X?b=7)oT3x*Q z%^&f`{t7#-ftJA0z&HGPM2&Z>Zr~mmg=P1i!|}t1v1j99jF_=V3?|fPdZ8uhGYkoI za{|Afd-!kE1?c7v0gF!pBtQZrKmsH{0sxme@F}>Z1p3_-fk?j`?0HuYQ8*B%!7y(f zigM1^%*VNJaH+35hSiY+XfSxNE6#tDCkq-HaQ%j3{IsX={Ol3-krm|)SBp!n$5&BYY!fe-QEDg?Ifb&F z1Kq75AoZ|s9ZZ*RO={gNmG?gW@R(y=fU|$WhChDg5J&OHn~?aKya#l*oxnw@i{Ia} zx+uf(-*3W47jJv9yLJW|c=tMf!8^e-a{Vkm+VBg^j0i(m#7u1X?7E6od6%A_8-cK} z2+Umh(QTS2D8pwR`5o)j&t}JedzeEKAc1NET;@>Cf=9QCfW{l)5yPR z<1u$$h3pIY2A1!vKxJPY#!Q}zdA2Pa#QwpQ`wnC08%c0o7J<742I1K#$i9$oVfAiB zcp$q!4x5a*3xY8GY7P!>-;WapKzX<|gT;12M*+bkkWp^u}JiF`~D+$KCB=Z^YS;Pr%es+qeeWg?4(N7%d5qKsO~o zAwoB;_*+(N?+7e=p>AsZ{GLLrU-fm(@IXYq5LkVo#*t_;OnU*b)2c7_^A5sOVt=8I z>vs=+x>Ww^+~|xKuA{8j2!}&KtqTUa-kvU0yOO-{HplZ)6 z{w>?_?q}b?VA4XX8-aTt`Y$Y5@(|Q<*dIKXOC5M)>XhIoszSBJK_Ncg{(ETGh(Mte z4*1Ug{^wX(wj4Vbj%Xal+27;m&wqs(zkLl4JJ{Z}@d%phqYPiYyBS;l_!+)2n50hc z!jy%}vE(5;&=)_(rVZQi@mWPuVxa*+>SiaQ$ zzQyBpnfY7!{0Dg8x4*&T%`98-yT8EnEoY%~(OM$Y-i3L;c@00Y#&iAjU$AlGc6@eG z%HT2r56oMN=N=wm9k@23j8$c6!okJA;8#E22;;ni_>H52TtAIJzOV>eT$Ur_HR}jU zW{m%`Su`y^R^A;GTt+;EdCOnIPh^l+*U1cc;v&58!QJ?E%2JH4<>BJTYw`T{5qNFq zf1$<`RrVGBxOO9cf8ruc!r-BKFX5%1jH(*E7a#vUHg9WiIa5rfZB*P2W{#4cB9pH-`ro zKiYt`+dsxx$&*%gEBddOUc%#}TrGaT+Jw0;e*k$r?3@Xv5&yrvdx5X2JoCQ)M@b@> zP@7aC1q~I#1Ah);u75MRI!Xc4gmte`xA4lxRX<^_dN1zt3C~Qw!A#e{aS9q&u_zkH!JOZlDRHZ+4;q)u+PWX(KEDo@iYzdRH10wgL*Ktu=e+q z^IDknytXeK7O>3v50>lD?o9pC-fPy38Zq~IEgbEwceG;{J^^yjDyf?C4FhBLJ z?WeHbsQrIyu4ISf2;i9W~HR8(2jWP=)0l>McSOQPNny}pzY2n`^sYNUiP4tZ5yPQ zr@6bZ#XFX1MgC|#w`HvcgOJsDcRvry$#k*eF@Y`T(Cm36j8 zE!d*f6FfaK|BWj5YR$4NMJ8|3>k0OJ$zG*B{HQWwH)-K8>q#|vjQ)i+aofsXu_8w? z34LmJ27Q~E&&u^Gj2o(G>*RTt%0dg$#LvgjKfvAVpa_zrAviwR4=Oontg%_3N78 ztBl~f%Y@s&2zR+(=OSNC|u=b2f@&v=0^7GrYft$zk@)R>|m9`|rD#GPw?~{ypZAngW z1#;r1y`b0qqxO{tmHu$1Vkb8@fZ)9MR%qYQ8JhdtLQk;3TNw+8R7J@fWAi>*Szakc zM*0Ft-p51kZ+m|(wkuGal4i_ORlM^)ZR=%_X3VvW*36wM8a=J%Q^c}YGIHWI_vPB3 zMr~ai$`5gYzr3gNon^Z0#}gSAeIZRbIJMvjA_*5F#<~c!hd}X8t=TNi+VZ9*xX;G~ z*sJBqZ+ln|uFKZwwG(Pi!v$FL;vTA0_2#KM^PlB9UtOtg-yW~ae!4{AS9(i5s;bRT z>Z|`K(0Tif*X`Sb)$L37*b>(o|GizOe*Tiqeo=0B?U!KKcNKQ$cy;^Ft*S0Mrt>xl zMzBFB#3dXV99Nt(BGp?qh^tMZlk;1q3hRt+C!zkX8X zbcV_g?a=!5+jOwlIo%qs#CgfJPOFz6+@>}5ysIwZu^Jj@zrMp8O1Q05adw&>+~z** zr^tAXxANvWl_=Sv2j>)O?)GH)`T*s-wa6ZuwRK_5V@~}VTbyzpF4hA7-sHhFP01W; zM?^n#^(XQT3-U>VBQBKd#`-{^~5ifdBg>$!RVQc&Vj2f*O^J*#_HEfc` z$8XcVBDtdqcDgpN+}8090*HuJ(u8=e-(6%m>&~hFBJJ2&tfa*=Tu}+x@6-tkr)lS$ zEbX0TJvys)Wns4VR3vKY^Ha5Z&ib02`EFTHdiNTw&)n-dtsJlTaBEM$^X?_ZQk1KE z=-a5~#{O*Wjh$+}Irl3`F{3qiYOH4N+;33@dr>xZjINT(wLf!_W)>Ez#7>`~#+1$utkevACnI>&CW&uneW8>U&m zv511RQB0y1%-XHHx8_n5Ly#M8VnK z+IigE$;w)^TZg9AjeIyOI2Ly4A3HT(d;C%3MpZ?7v~rH~*kJc=e zc^S$mpQPu!pJ7erT#eI zMNW#=v}C0=>-()rg?qA896vz`&KtpF7jCImOD)aFn`-4e*zzT6^jyudG?~mC z`y`G)JQbJQcX8}!&GP#!EZLi`7500|NddBVni7*= z@}$SKyiOsv<*8lz%baz(^vU0=m*3mz>-XpDFE95})XOV_B9d42%J=ox|6Zu*B@MMc?B4f!eYrIQ_Az|5#?nI;DAw{VBv@G?S;dJ~e^>y}xs@S|+-5;J{*MPBL!#~Z| zSEuId@^u?^sr|M)SF~NHpWEcC$@wqd*V&%))hm61y4j=W3RkLPnDblmViwCI-&11g z9o`?`fyyf0r@fK0^qcMD{Juzww9QTx7EW?beLAP^tn-<&NGtlhY#n5$B_fnC_a)2o zb(XXhKGaS-zMyITzs5@}Sg~@iMlX3;ORXnXX~Bz?i0!Ja}Aj3Gwc>wIADs#qpZ# zj}SXTLnE!jd)zt=wvE$)wlng!90~|hp0iRZS&>S9;WrxXynjoaJpB~q_|~peX{mKe zETD2%Y@8C3rfJ3`3$i#b71!eaA@9BC{EdpU1K3mC!27(;F?z~~v>(^0&S`mjj~3^w zSIVL_irVBkwQcJZZA-IL_sLpo9hE~hm2++F{8xF<(k~89vNG()exC2)z&9$aZqc!> z*O_mH^1T*FsnU#9iWHEgS+c3h5J<$XYM`|rz35hS4-6@(zpOY zu1b{@mn(Ltx1l|qA^(D7V-;JPr=m&=boiC)tWv%=Q#)g3=y@mg!*6NIND;9bpSnt^ zPUATpwPnkc628`x{?JrAR_fro6s;@0N2|Bkd(_!=dATa>y;|thA>9ANEkd#JF*X4a{Jy`kzyTH?_!f@X!^SGj^}HhwGZVLiGsLNBK#y1tKG`=9LHzxzbRoQw)B zUb{(4ofoDB<<`xy2`olz_XH0c^Qx(u>sB2b+4tHq3od01+oS*#bvAC!T}v}sI9WR% z%~0N`WDPCKR7TNw8woV#VoD=xA^r4Kjd^;iIo`Ay+ z)b(0y&R#p!I;Xy{lSQBEt6%NX<-QL3Cpz=1w{-5*O*-d%l=*)gbd?mkghy@GJJI+J0MK>{5BWNX2pSHD})%D6rmlsbvT3 zh`h%F5zdcATO#5#dB$iJX6IS=&9g+*n8hY0DbD$k?|m-7-y%DcQ)+|0y@R47V#n#8 z#46?3z+q=8%HFBsqy?Jc9XJpXqXg>}`$+KdWZI?=^v?Crh zs?y4?K`hEIRE!0vytS@ZTnIi;v?D|NEGK`G?>D@i>0X+oJR2!+kd_?^&s=Y4i9iwZfiXZAZBX2Dl zo47!;hUIBnj;BoPgsjUMt%aWP9iAQ4{IQ-}W=65b+e8xXpXD`A)xTxq3fAvb_>38T z9evBax5-E}%^a+Qe4$HuNx7`d45=NHI1!#pKvL?e%>qcvq_bx5@7X z`>xttWkJws-p_*=jb5-o3HEq)&BwoA0LxBPj2~}flcE*tO(C)O(|9}MpP%oyK|@~k ztLXRHXHPocYe|*b>-XIgV3P}bC~lG#C+6D(D!Y}ne!oq;G0F3tZh@?A_TFA#pG}_6 zp%}}KnH0HC*@v86RM~hn%QA`de&9!`GtNiV6z2IakLq0i+ZBE?L#L0q*FLxZpY&DO zEegA$%z_HeV;`&H@&B#=nRA1_m^agg+&LY1JHfMmiAv^;)E6^v(8)RD_2oOCcz(wP zUSFs7t0HZ@{>Rq;V&+Kw&&pRlmty-uU%hgdm2YL$D#x`O`>)KhStAto_x)70^DX!9 zPaV})yFa$aM(Mm06mhK@xE%j_elcgVzI@?+PrXN~^p*EKRkTkN>%N?-@VS9|E<65{=`+Ii~jG_ z$NK7>U+Z+;fA4>ya~ECs#TP(U!o?d>0s@^_z^?O{{j|RN{U2RJ5)@Wt5$x}|j`w`= zA9d~<-_@m;U&!G{>5|LK^tJ0l*t6Z`-%__~`?9jT&Txjtmn(J2H>&it4W($Z_uqIy zEq=D7ut>-A^YqZnU;33{y_-HmE%nvONpR1Mm$~zx>nvz^M3v1>H@bfR#kaL{cDztU zg(;f3$M>N15Ny(h$xexp_I$AhSvu&&EHO?>uAL1$Zb`X=Z0Jb&`n@WiHrY~@t-g6x z8alV>F5|`Qzx}o~PaDL)%sR?TR{3`h?F@bXURBwUhZ!~!y~xhSR}}5Dnfu1sq$5u4 zoL-uLci=*6Tx3}dHhX8Y1`9_hCT_GQr><4ioH=%_NIR3}jGc%Yr=_W-HiTu4rdSU+ z%7R6GA}u{Sa(tZ$JQ_O2Ky{AL&=Ij(XRll5O_P(c$Cbw4(5tD$CWOczy-@SqCrJYp z=y}X0BCw2$oqZN-)datloghfDWi+@_jT_m#6`pcUim~Rnrmjj=O;SOuxhC6>)is*4 z%|WydorOw^>`b@ati2RvYiCuG?1Zh~ViOKDVdS@R%}twFBCcw)oC!ULHPw#C?X$rG z53}ml$4ZMxSfEuiY*@&{QdefUu}(X!CtPChsi-Oo(8Yhx6(opo z1?%E9%9)J8SvMlqX4RZ*Lm@2t$HvU~?cI5{9hOEuudSVqTOiPX$WGH0inNYtx$AY{ zTQ@RV;da~s;y}JtYHnBuKE{R!G&)<7v$pfS(fId5i4AX3ymulE&mJO%+GkXe{?$GX z0*)-PH%U}Qsq4GUTc@a)NL5*I%Ax@FuMscr295lUvEWKYvA3*7R&4fD5gKH(vW}Sf zkai?Ir!Bq@f+FQx0Cw-nnexwlvaeN*b{ZmLl;+LNwpnNAXy4?ix@Xe33vB0RS1`C& zJY^m9D{j)|BfrpJckk8Z_YY9zp7+#!(gt1nt0gw9)T;l@>lFF)zq!7HTtgnRcB$u6 z($zSWsC9Cz-jW4N(@3*D%o3WQJoitaMzGVA2d5e0UvOq`m57leT z$NKVJcTl6Da>D)Uc`o;Um1gx*uXQge!iIHxnQWO26K-;Uzg|9Cm#_Jm?f0n8q)k@& zuSO_(dZjAX{aTkU{JpODj$Kmb6?;5uqQZY%sk29V>9RGySL9Vr6Thb~pZ-FZt^B}s z|9q>pdYJ`ImguYh_W$$<*QMh(DdNTft+tnz7DN!CrE+YCK&uG+V$Jh6HkAv|Dm%L9 zLeBk1icbIQwd(okzgUFYe*T@>Zqexju5!DDwPd~mE5k2K;le9;vD??|F``eLqKmB~ zZx3DQkJ#wMWNm67-M0Mg6{`c}k7Q507H_gK%l1G*LZZzRuuL=4c4+hqlNDn>`XeiBJh*dA)@<&@ItC@y zA&v3gZ|blAmwr?0I?u-{K0e&q!5xZn9*MG{6sa~Hzjry9Hbuu{y=N7jM;kdt??wUs zy7(*em2=Q$ku17jGd=56mK3Qp+~!~@UaS`^im=z|1RggR*Fbe=cf~d|BTsW4E!NW2 z-kHuUn6S)(3Go(8m@&*fe8*E>(OwHw+3`F))0+xzSsiv+jiNa=>>+ij%>@&na()j* z#Y8FGIxi*mn2)`*RHbz?MqD!!dV&ew=`Vc6*!&4IR@*<%1LfAvcUO(5H;kufcecWl zR@IJ8Hfhwzr-fhhH`!TEcH_yP21*yx1hwjz!wgfc1;CSqrsxlU)|as#j_L zckcGv)Cns1-IXir#JO}z`!9`uUi*L8HMeedS)c%`)^4Q$EBGF2{+hl`TJ=W#+WRF< zsBy2RE8>(DD8r`dEgM-QVwe&Jg{!!3W}VGBG~>C3F12GB7!y*pHSv&5Yw=61v=am) zlATM5w4}`&saudgb^f$<#(VZs_c1?F_nrTw%0r`d#yaeg-|eUB-JX*_RUhlr3rlpS z(CN6_$)B+6Tql71Q{20KXSBLsZW#m4$(}0$t^cvA@_Q*_i3JlpCf!_r?QH%Bdu<5p zC;D>UYR@xQy36qkD4er^LboeM>$0(xDtmjsF8%U7T{3Q~?Q@;FSy1GheJ?gxj;B=T z&!zFBb!oL_3^*_I@Db{MrETlf+4j{f>`KoGvVOLo(W=`PQ|%^sig(!~TACzry!u=-e1I zK@%btS&H#24ZDCds4+Hny=tdTWN4F*1v;}^WP|Zz$J;npCxGBA_N%GpXPI-`Jqeln zN#}q2F%uW9!u|QG9Os@Uz2-U3^ERo$p*%aol-NiIruIhl?v>={t2}Oo>;$bX*7>j* z%u;q7(xlNg*;agFy$)8r0_=fu%khtl^Bj#$sUBHzT*vJ@weI-yK-)$}Myd3;O*#-z zEzlMh{#bdAjg8H=Y=r0P1Q48}iV9U6J)+ixaZ&L$-$=0yaj~ak>@0D7tWBWj&unA) z^DAr|xErmB3dPwZn8n(cU#SU+e(#e;x3bQ%O|%v{qUIG+YjwL0VdmagJL_BXN^A5O zYi;bkQ?7hVC5}t7G9se1bo+Mi6Ry9`b<;9ppVL~;wIC;~-d_6>2YD+rWoM#mY_)qs z_c;Ho=*4=jP5{Aq-kIWmdrb_)esjI8NAKRRX)o8m7NonpI{(LyP@H9pCatyWjKBl6?%x=EvY zyKo*T%2%OHY&tbiAEa(O#tl;+n`7XRogsDRGHGln&#`OPYO>91QG2b*{2aTSh7EIZ6J=)TJ^Z_ za_oDfiSGp`6U}BHwa>RwT*;BqZ(}nH1QLhUts*TsS0BvlM_S+?yCO7u| z9yLgbGg38bM4Dz=Hd3)&62kkkY~uu{S7%Q8sMzHI@7>YwO}bjup}^Jur!i_OV3X@{aG z)a{si*R|kim`pRL<9jyye(m=Qpg?(Y-js zW-I;fdmpd!_wrj5mHxAua|^Dg{c~NM2d-3)MZZ_~{Wc8YwaF^|_n+yTmaWk$9sSF1 zvOvNn>B;%3zHWnpC4k@@b>Q}No?$_t6AQdQAwD`Zash&;5iW`Ar*j`>>ubNWZNA!t zCn+M)#-=^LN!3nN*R=#%(feGm{f*Pq#Yrl%$*9tHA5w{Zueg@V66?I%{f4TWFx6%g z-=;L{r1;jcY5Bd|$J%Uv#W{9icyD>N%89n%flYvAXMSBz+rFIb22HjfF*ZqFhIRbB zn>n3#@9ntpQx#{Ox9=*O!^QPpvd^@=>(^_q zJ#H60Y0=WCSBpw)tBq{<%%q{pOJA?IeP71*esm4jaQ11zT=xsmZrh}|MK+sCxc|I1 zZB?(}D)-zedlPz26oudN6YI2(P>-?wtddTEz@9s8fdJ>tYgwpH7J)1H(8M7GUjI6U z+u8iexAwc{COBvF8=P}>>}?K&?~c&dZ)JGqAh0WUId!VFRN9;k*7KHa+x_Zr-XwlZazBw5DR%-c8Cp%%y2Z{-jYy|Itkd@$-;4cCQ)DyTQ z@k#YK{FqKHeAXtkalTZd)GcnN>&wJhx%*uk)$_MDm%{RwblSdboDcGDadz2Aiynu< z5;1I^UV7neWu&jvob{ICZ4)qsTZ((Uotao*6Oz^adF(!>L7Mkmsy5q?u{pOpm)5ex zgO~&xPHdNRjJ31dmX^FQe}xv^X=nB9TwJ*QFo}wv<|!+}E`v2!*(ncdqVmW9)b!pws{C#mt3<;$tBFts>P$7 zSGH?$E-kmT*oLOuz1h;NolB<8)hhpKxi?UHOZ)4yvdL%5=cCTiB&#j5Gw+SNcFwJUenc$=6(qcq8`*fGw3pmtNoXgiD> z8mVn5w`-3zne+OK9cowdcwwI3TmlVLzPS(E)jslz_A2Fe@7M=t!*C@m*kqSeZH>mX zGulg2RlH)2?!Lv|U-p_BJ!6%Y_yR4*?X354?cY07xBFecGCbBU1^2QYr`6`*<_EQA zxAppBhbd|DYQ2;g;IeZztm$}6oZr5+-MJK~`@P}RG1WJ2qltF3 zS6o8!S}nB83qE>xhMi%v&k1{-%(5%4ObEAG?jO#yYlOtuReHv2v5j%?&a+xmLkmC^ z6)Sp}#l`C_P5Cwb8Y!|2spC2Mc6@$?TblT+7uNa(w4Av?{H~DVTh%_}79=Zgg$*a! z?0habpMkc|$&);5$-*OgQI9FAvu(1mjzGjI^=h$Vzoq$8%xsBE+ z@cK5dz7lrXIeS7&-1#)RZjO?Rx0w?KdRg&J9I9@*zLPEpTeSBYR>3e$KAf0x?`w2r{#+m1ccMRNf@{q$4y>*s`bTd>#^;t$Tr)@b`RFg3oR zpDq>3x9b8fE1aY)YbUhLDZ&<1olQbZpnUft&B>o-lRpge{NiuL`a2Uv%*ofRt;rWW zAw?_Jf}#*W009IL=u!e7ee{w3=5PKcsE+x(MJSwWPdO;>%Ngvi+mden zVdp;5PJ49D^ukN^vi)O0ptS{@X}ITP9<*ZZLgNcl{c@LEX-_4VtNmbx4%(cK(^9)& z?r1A9QVaqJbZvn{HfCqp4)=Jv+7foHP3KZV3lnNT%sm8xSRicjR()%75Lb|@U9bQF zg$pKQ0|XF2Aan(y#x2#>acx+CXAp0j?w}3pPSFS;fIyH444UzRwt6pU8YFe18VDeO zfLDOaICv#m^Y4_k&)Zx~#d3UsC*LjSOP{};Ic!TVaHW(XjF00IagfB*srAka<%mtTIlzW(~_ zcG?@e2_^xj-JSMtkEJsO6xzd!eIS4U0tg_000IagfB*tPDR9|km+7<5J|mD2l&#Zt zm2v_IpMU;@@YbJwPsiKPk5nKmY**5I_I{1Q0*~fsPmW z_P4*S;^JZz78dH%sZ$+aA!-m%AUr%=fB3^60zTK02O}dRz86d;Ju2^*C|LI42-5I_I{1Q0*~0R#}}V1Zvg^$)Y#Bp0BAkIQfO z1Qh%*xQPG)2q1s}0tg_000IagfB*sw3lKzT*oJ2iKmY**5I_I{1Q0*~0R%!zU~$>9 z`#O0pK=3pO0fpdc3u=M@0tg_000IagfB*srAb>zn3lKz5netx!XXTazbvp%FM zx7(E$EN0aO+MbcEBSEG_br3)R0R#|0009IL=rRHy+&Jqen>l>f@R| z#Q*UQs$>gx8yy|pg00vD0R#|0009ILKmdW}2u$4mVkx-*&5>fAzyhVE_5!-dB_sk0 zN8kNO(Nk|yX>Oj%;zy~){ru)&MGw~4+xjZ54R+F_{}|oYqqo|sn^}GIUA_2XuA-8r z>Y?fJigEhkr%$Nh@EP@J&ans8I#+4b50X^fH#CC@K}AVr5I_I{1Q0*~0R#|00D)E# z2>u{~4TgX3oo8r#38hviL6IAOYxDWKC_GK3+YRnMNS^N@xxIIg|@{Z|@vrdm8n!0GZ zZs=L9f^BP+^`|qcuC7*C^!1uNbDD1Oo%%nfH=ch=?>XCakJH3O_bH+DBmM6Ev%2vH z?*WwA!~fMd6>Ahoai?FD%n)Ps!`pJEaZxo!=8QWElfj4RD z)UomrR+lJm`)m5$M~*>v_2}JSJ<6ql?n3Q<8_KaSOIg{6ReHu6B6^5^Fny{VMNz{b+1|d0W}p(z}!uY}cmkc{*{{vN9}uGI*+GvxI17gZG&DivR)$ zAbaEKA=#Rm#Z^FrdsDdOucT5R`$Dvx@lUxuS0$2 z$PwwLMOrb|-IFgX%+{t&&+F{0WF_@8;ObHpp14X=mnX~Br>s7qysV9S@zw5HeBTWL zJES$uQmrG~U(}AWBt5Wvt~&s6`n0NDz1T1foU%yE!twe@#5>iMiZ4V;_cDYLJB z@X*8ZRI8>)->qsL{q2j&I(d_oJ=@B*PPqj~Homw`J(8!%HJYRJhz|Ei(()CfT*q5o zlBZXnw~l?^WZmH$oBwijpZ1ksuj&551pnuq+tnvkaKz8T^}KV8nR=soq8>;dqF!OA zb;RnmX-988K7EMow_1f}u|_L4E~ zc0XOHZEIiE8v~bUN?iwMHpZ-Dy8eOXn(qo|oYrX@?!kfp0tg_000IagfB*srAaL;l zL4FwrI~$&7llqNtk246fVGVtc<*MLx?E`ntJ$sj4@kyGQ)I;ySS76;=&te_@?%q|x zdMjb-R1Gf5*85FehQKL$40s8h~dx=R<()D%*|8V_^SD!qo@~isms;2hqZ{e)# z9OFk_!}-5f8x2X)n5e`0=tRx)P2ch>p=Z2CSxUsQqOt&+RqJfEWlr?) zHh53<^xh1xHV+|y00IagfB*srgo42L<}K|@E6m{%c0>Pb?U}^q&J#N$kzFhYH zx^ZBsc70T)8%DW<41t=fS6pB9$UUY~4GBESVOW2~Uv*L+9)XHoI(GK{-5uKXzLVN-$@wN(UTwYH<}R+X`|7q@htX4U1Ecl3BPT72(m!BHy?Xc3 znG?>ihgMpw9>>ZKYx~+XU!cUvvN)r@HhjbOVb7QL>f3;UQ->2ea-v*^v(nrF2v4=D zt%^2Mp@F5BqI;duvGN9<4)CxuspPI5*($J&&Kh?2GvzkiBEX7aLp1TW_qEZEr(i^q zl9CeCFJSux*p`P7KmY**5I_I{1Q0*~0R$Qq22j5BdccNp)C!0+QI@5NI5CRmEl2gc7k8*M=>aX8-P`ge zY&gcYH0=twv1NCRnXM%wjw&xZTd%FjR@~HwY_0?%2?4oy5CH@bKmY**5NJf;<0*QB zT!2P^cnX28E-*N?;EA^Hez#QFa`1Bx$7$yOd!KHom8*V2*=d`!|HRl@Gco$_rtDae z&RlgKAwl#+ssf_fxc8lk(W+RI@Jsqx9Prv6)xo>o-4j(zKu@|ym|02S=>#Q?# zqhE4_|I<2sOvla))Ywr@M8R47#;(*_(eF;reoDCGK3zX#o1WhFzDkBP7KQTLj++P| zfB*srAby0ucjCE!V^ekuWdWePI%Q%#&@VDFbCkry%=*o|`f%su(RPMbFgm)X~Z`k#^>H3q} z_1ZpP`8r)@v-sJS3i?K?wBS!V5%BzaFZGTt(}x8o+^65G%T!i(Jv_Gp??}!5>=Fz|3y<2g1`RAd?b?^um+E(~ z=GGje)wjgEfz>nV#xu&^lr1ClEEXW~-n0afgt7f~WJi|rd>A$hWr?RjeCsuQ<0_Zs zN1i&KR+$6rzu2WHqQj2p!TX=n8B zm}ckyZ7KgqS!;ILH3QG8dsLhfCO@Dl{r$U;XLT(5MLnHaY7+tU&{czP(#)Bo>Tm7R4NvV*`PuG@ zvH;5D2d20$;ZSSc=G_VFKShfk$kQ&XZ`zI%a!&Mz^{}jgfnznfe?QOh)-9{2hS*qu zsjg%EogJescHPD6C)@Y{SC&DT`rYw>ew3Z19cxoulS4SyZj8F>dQEg6ta>HP)C1Mq zwPWK`+U_nu(KpW2{5$#wY`=OnNSLUbKH8+T6dS$Jqlfw@&DQKO{x8k`nrQ9y+N)_w zvG_oD8z&LgBT9p(c-C~(9xeFP9d z009ILKmY**5I_Kd#ss=O^UO2n{Z~jyN%6lM^tX?0U#T6@^EJPr(fZYS%6Pg!Nz11z zKIo5z3U(HOPe1)s(b2UcQXP9}RR^?j#m5?(dbb94Y)#lZ0tg_000O}%kU9LnzCkWP zFt!YJLI8m_6DTb$)wS1NdqL%|TD7Xy`awI)p;j%qg8%{-Cs0+Y&ptV!Qx{iC@NQlD zv2qU_58nDwGXxMo009ILKmY**I*9;5gig|s97d=Ke5@_=r)&E3>H3F%_y_wpT|Z4p z)0W)NRN;RppKa0n>C5zv4b=#SrS#1d{lg=>)YjegEYbYN z>J^rtxyut8TZ88i=m3FJ`uzCSn*GWu-5lxczDlJZ=W1)_W19cYY(2a5X7?3H`i#_+ zy9R1Vkc^m!9x_q)Mqb^>)ln{zvf{Ab`9+4d9w@cI%GHe&c8$i~b+4)igg3GdPa%K+ z0tg_000IagfIw>tgnSU8wLvHkfsPRfSM+r^Yu>X1^qcvQDDBPRT6L=vIrv=fY(1dp zi6hm=?v;M9QEBP#=yTV}_(+XexIyzqhO6|Qbz1(5TpjnMG=w|Bhq?1~=XI_KMSw#( ztSyhM)a%EqRApuL8F{Z3FT7RPgdf(%pRUp6OMb4qukmhn-0HMaTCzcR{>1_vZ;sTh zW1J@|^ufjz+W5{VD)l4>L=L!B^O9$4q+ihExYap*<2x$wtQ6j7xb9uNRJZ!d_wGkJ zocoqO88TPTPC20E%RPnGJneU@N}s&7T_UomS4>uFXr8yW$b8-!)v%-Z@ZzKcqsxC@8hhtlI$Fwp%S3h4mMo!1Q>cBcZmR_N|p8B~`uW>!1ca}}p2Y*q( zsKUTo=ecKyJbu7`N6oq&IVM@JCXe)6w@M#xT&}HEv-Qj?BQ2f6>bKFUUmyM4)(f|E zkmCh^(MYTRY*+n{>&<2Jm7aUAp4qU_6?v#SyhV>JPgm~9r5fX=_A8&82q1s}0tg_0 z00IbfJpm?6=z49=5eK?Op%e^-fX0NH=XChy^q@|`0MW0 zlDoq7`qmGus~mW#Sv^`~ZXKY{3O;eIIB?8xeV%*3y4;@S@Bw{(^>7XF-mmpH+&bgl zB~sVfHBbi>+w9 z!zG%t%P{{ei{@;=ItU;T+yXEB&-ioX0t9y(Q9A?>KmdVI7GRh|D7PMU?}P%MX_w8o zIN)~c=r?q9kpng6?xotWWQac4`euXIXe|BYuu6Lm3{Xy~4u4{^H#+<9BtL}Pc!`=k zh;R+ReWd>KmNTPcfj&4jTqEnHH8fN?|Hpf4K%dWbprE0F7XIsAa`k$AoD$G*xT@Tpgfd`yR4|tya>`kR_J)xVY40k_oo$TGs}0jQ?0H;f;JwsEi}%Hb2q4g; zz$0J&Xb-snO){|p0tg_000JQ|z%Yl9Z$b_rGzBhKw4Jd}|M7ICyJsj+^fkjZcFHr_ zVAos>IB>x-1b(r6opL>$^T=z)X!e4eT@wqsPQ2SS8`sa@sL!0|qlf6$+0SV9b>6fC zyH4bk?OHiMUAOk5`{dlYOw4Gps{k!J&+x;>VuF*miwxBOR{3Wr32%1RQD6 z?5dO=*r>hFT$j00Iag zfIvG4)C(wdxeio2AhQbu+FD?sjU9NlHFnZxqEcU(*cv6d%7`A5EW7k13jzorfB*sr zAbv<00Iag5WE5e6oR*Hs2KtX zAb!G<0tg_000IagfB*srAb>0R#|0009JoN`QbuP&EgYK>z^+5I_I{1Q0*~0R#|0Ab1732XED= z83Lg#P+D3V+6U0?wO_rMT!3~*XNL$NfB*srAbLx z83YhO009ILKmY**5I`VA1sK{8q76s25ojHO!at9Gn_Pg_v7{6P5I_I{1Q0*~0R+01 z00D)r)!rN}0tg_000IagfB*srAb`bg2q1s} z0tg_000IaEfxzI@f+vV71VKYk1q2X4009ILKmY**5I_I{1VTZ8AVMg#5_P(P2q1s}0tg_000IagfB*srAkZuUf(XrG zVx<-eq(6A}47mU;#A7oA5I_I{1Q0*~0R#|0AeaRRCVL1Q0*~0R#|0009ILKmY**I-9`Y)Pg67By_e`<#-T4 z009ILKmY**5I_KdE+mliq|fG*SAL4TkG6oS5qs2~Ce zAb&_KW}m2q1s}0tg_000IagfIw&o3{EY0f=EJWwHdWV009ILKmY**5I~?S2>klJ zgKsb|Kv!sKjxnSK2q=Vf^HF&O5I_I{1Q0*~0R#|0009KrPko70tg_000Ibf1%Z>_e(Fz<2@p^St@fg}2q1s}0tg_000IagfB*srbeI4^gbt%;#|R*R00Iag(76SM z%)k15asfJb8*_9BAb>#E79gO|wcDSgM*sl?5I_I{1Q0*~0R#|0pxFWh5t>cKiU=Tp z00Iag5DEhKZF}T6xd5TiQq&Ov1Q0+V)CCAAgnA27e*_Rf009ILKmY**5I_I{1lmhr zaB9I5L=xIdoBbew00Iag&{+kpnx}in1?a4;%W)xq00Iag(4YVTg$8MO0s#aNKmY** z5I_I{1Q0*~0R;R72qO4va2o*x5I_Kd&=L5*JGLAl7a(-ni<%;U00Iag(CGvSD0I3e z<$w@C009ILKmY**5I_I{1Q2K&0fGo^<4UOrAb4ei0Xl2za$E=?fB*sr zAaDT!1Qad+i&YUo009ILKmY**5I_I{1Q6)T0t6Ada_e*K2q1t!=mz^+ zI-kH3SDl(qE z2q1s}0tg_0Kt~D?Q0Pc~_Kg4n2q1s}0tg_000IagfItWd5JU)}#-gerEU@{rg&E8X z5W)>e)e%4d0R#|0009ILK%lMw0fo9E+(!Tb1Q0*~0R#|0009ILKmdV&0t68PvhZLh z5x9EB7jKXY&`BDT!$1H51Q0*~0R#|00D<5VAfOOj?Llo2KmY**5I_I{1Q0*~0R#{T zS^03qCfR2=~X5I_I{1Q0*~0R#|eT7ZB;(?+a;00IagfB*sr zAbv5I_I{1Q0*~0R#|0 z009K*2s|G9R8ITl0@T@g2j3;2(7_GB?h!x$0R#|0009ILKmY**5C|0kf(W6~Qq&Ux z1Q0*~0R#|0009ILK)@rgEi-&(SIq?oo)-ZDh2UumYJva)2q1s}0tg_000IagfIv_S z5JU*-=Am*3Ab00IagfB*sr zAb{_&Q-{U*5pEo=QJ&o6J;hHTYb z0ip`cm0~>v5I_I{1Q0*~0R#|0009KLxBx+fF8%`G@DV@&0R#|0009ILK%kyLkH5~G zO)fw^79K#Lwg3Tz+8*3P009ILKmY**5I_I{1Q0*~fd&K!A~XQQ!w4XN00IagfB*sr zAkfYNe@;vK0l5I}jLz;5Xt@9Zg_hf~B?1T_fB*srAbz^+5I_I{1Q0*~0R#|0AmjxI zB7}SsasUV*fB*srba8=y$$js)tkzHlM4_84M7zUKmY**5a=iY0ty`^&wdd= z009ILKmY**5I_I{1P}-@0fGo2)?ic@0R#|0po-KqU}B009ILKmY**5I_I{1P};*0fGp@-$v9B0R#}} zk^;}?-1@)B1?ZAZ&p{)A00IagfIx@{5Kst_hN7AXAbm5&{SyfB*sr zAb>z92oO~Wg;t`D2q1s}0tg_000IagfB*sr1c3lSgdk`Hs(?Tj5;(Z|s=LSq=t2$7 zp(20)0tg_000IbfUI79Mowsc{G6WDn009ILKmY**5I_I{1X@*qAVRBhQWye3Dv%#D z;{kF3g0yj{76J$$fB*srAbAvD{KS|fk}0tg_000IagfB*srAkgjt1QFVu zoE>%{fi*w-^{3?J=6BNw34H!}x_00IagfB*srAb1yQQ1HXxCISc`fB*srAb#Y3lK!OVAJKhCfR)U{dHT? z%|E>0joAPJ1Q0*~0R#|0009ILKmdVGAwWQ(Q#2z7fdB#sAb