From 06cdbfd68d7b76aa1fcc762e5bfe1b7486183016 Mon Sep 17 00:00:00 2001 From: wongsitu Date: Tue, 10 Oct 2023 22:44:48 -0600 Subject: [PATCH] feat: merged django guide changes --- src/guides/Django_Guide/README.md | 313 +++++++++++++----- .../images}/django-initial-page.png | Bin src/installation/django/README.md | 225 ------------- src/installation/django/django-admin.png | Bin 17564 -> 0 bytes src/installation/django/django-banner.png | Bin 104843 -> 0 bytes 5 files changed, 222 insertions(+), 316 deletions(-) rename src/{installation/django => guides/Django_Guide/images}/django-initial-page.png (100%) delete mode 100644 src/installation/django/README.md delete mode 100644 src/installation/django/django-admin.png delete mode 100644 src/installation/django/django-banner.png diff --git a/src/guides/Django_Guide/README.md b/src/guides/Django_Guide/README.md index b9873d0..b756b33 100644 --- a/src/guides/Django_Guide/README.md +++ b/src/guides/Django_Guide/README.md @@ -1,8 +1,5 @@ - - # Tech Start's Django Guide - Django is a free and open source python framework that lets you build awesome backends for websites, apps, and more. You can use it to host databases and build secure APIs for them without writing a line of SQL. You can also use it to create multi-page applications with dynamically served content. It makes it easy to get started building complex functionalities by automating a lot of the boilerplate code that you'd normally have to write. We recommend that you have a basic knowledge of python before using django! This will help you debug any errors that you get. @@ -13,93 +10,229 @@ We recommend that you have a basic knowledge of python before using django! This (Img src: [https://medium.com/crowdbotics/when-to-use-django-and-when-not-to-9f62f55f693b](https://medium.com/crowdbotics/when-to-use-django-and-when-not-to-9f62f55f693b)) +#### Table of Contents -## +- [Requirements](#Requirements) +- [Setup](#Setup) +- [Installing Dotenv](#Installing-Dotenv) +- [Installing Postgres and psycopg2](#Installing-Postgres-and-psycopg2) +- [Creating a Postgres database](#Creating-a-Postgres-database) +- [Connecting Django to Postgres](#Connecting-Django-to-Postgres) +- [Writing Models](#Writing-Models) +- [Run your app](#Run-your-app) +- [URLs](#URLs) +- [Views](#Views) +- [Django REST Framework](#Django-REST-Framework) +- [Serializers](#Serializers) +- [Django REST Framework: Class based Views](#Django-REST-Framework:-Class-based-Views) +- [Testing your API](#Test-out-your-Django-REST-API) -## Setup +#### Requirements -Before you get started with Django, you should set up your environment. You should have a recent version of Python installed. You can follow the directions here: +First you will need to install Homebrew, Python, Pip, and Pyenv. If you have not done so already, please follow the instructions in the [Installfest](../../installation/installfest/README.md) section. -[https://docs.djangoproject.com/en/3.1/howto/windows/](https://docs.djangoproject.com/en/3.1/howto/windows/) +#### Setup -You should make a venv for your django project. +To create a Django project first wee need to create a directory for the project. To do so, run the following command: +```bash +mkdir +``` + +Then, we need to navigate to the directory we just created. To do so, run the following command: -![alt_text](images/image17.png "image_tooltip") +```bash +cd +``` +Now, we need to create a virtual environment for our project. To do so, run the following command: -Video tutorial for venv windows: [https://www.youtube.com/watch?v=APOPm01BVrk](https://www.youtube.com/watch?v=APOPm01BVrk) +```bash +pyenv virtualenv .venv +``` -Video tutorial for venv mac/linux: [https://www.youtube.com/watch?v=Kg1Yvry_Ydk](https://www.youtube.com/watch?v=Kg1Yvry_Ydk) +Then, we need to activate the virtual environment. You need to do this every time you want to run your project. To do so, run the following command: -Note: if you're using Git Bash on windows, use **$ source venv/scripts/activate +```bash +source .venv/bin/activate +``` -When you're done using your virtual environment, just enter **$ deactivate +If you want to deactivate your virtual environment when you're done working on your project, run the following command: -[https://docs.djangoproject.com/en/3.1/intro/tutorial01/](https://docs.djangoproject.com/en/3.1/intro/tutorial01/) +```bash +deactivate +``` +Now, we need to install Django. To do so, run the following command: +```bash +pip install django ``` - $ python -m pip install Django + +To check if Django is installed, run the following command: + +```bash +python3 -m django --version ``` +Next, let's create a project. -Get Django installed once you have created your virtual environment. +```bash +django-admin startproject . # the dot is important! it will create the project in the current directory +``` +``` +Good to know: Projects vs. apps +What's the difference between a django project and a django app? An app is a Web application that does something – e.g., a Weblog system, a database of public records or a small poll app. A project is a collection of configuration and apps for a particular website. A project can contain multiple apps. An app can be in multiple projects. +``` +```bash +python3 manage.py startapp ``` - $ python -m django --version + +This creates an app within your project. You can create as many apps as you want within a project. + +Next step: include your app in the INSTALLED_APPS fields in settings.py (just the name) + +```python +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + + ... + 'your-app-name', +] ``` +#### Installing Dotenv -// Checks if you have django installed +Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology. To install dotenv, run the following command: -Next, cd into the folder which you want to contain your project and run the following command: +```bash +pip install python-dotenv +``` +Then freeze the requirements. To do so, run the following command: +```bash +pip freeze > requirements.txt ``` - $ django-admin startproject pNameHere + +This will create a file called requirements.txt that will contain all the packages that are installed in your virtual environment. This file will be useful for when you need to install the same packages in another virtual environment. After adding a new package to your virtual environment, you will need to freeze the requirements again. + +Next, go to your project and create a .env file. To do so, run the following command: + +```bash +touch .env ``` +Then go to your settings.py file and add the following code: -// starts project. cd into pNameHere folder. +```python +from django.core.management.utils import get_random_secret_key +from dotenv import load_dotenv +... +load_dotenv() + +# SECURITY WARNING: keep the secret key used in production secret! +# Copy the secret key from the .env file +SECRET_KEY = os.getenv("DJANGO_SECRET_KEY", get_random_secret_key()) ``` -Good to know: Projects vs. apps -What's the difference between a django project and a django app? An app is a Web application that does something – e.g., a Weblog system, a database of public records or a small poll app. A project is a collection of configuration and apps for a particular website. A project can contain multiple apps. An app can be in multiple projects. + +Your .env file should look like this: + +```.env +DJANGO_SECRET_KEY=your-secret-key ``` +#### Installing Postgres and psycopg2 +PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. To install Postgres, run the following command: -``` - $ python manage.py startapp yourAppName +```bash +brew install postgresql ``` +To check if Postgres is installed, run the following command: -This creates an app within your project. You'll need to be in the same folder that holds your project's manage.py +```bash +postgres --version +``` -Next step: include your app in the INSTALLED_APPS fields in settings.py (just the name) +psycopg2 is a PostgreSQL database adapter for the Python programming language. To install psycopg2, run the following command: + +```bash +pip install psycopg2 +``` +Then freeze the requirements. To do so, run the following command: +```bash +pip freeze > requirements.txt ``` -INSTALLED_APPS = [ - 'django.contrib.admin', - 'django.contrib.auth', - 'django.contrib.contenttypes', - 'django.contrib.sessions', - 'django.contrib.messages', - 'django.contrib.staticfiles', - #Add your app name like this! - 'myAppName', +Then go to your settings.py file and add the following code: + +```python +INSTALLED_APPS = [ + ... + 'psycopg2', ] ``` +#### Creating a Postgres database + +To create a Postgres database, run the following command: + +```bash +createdb +``` + +Remember your credentials for the database. You will need them later. + +It is also recommended to install pgAdmin, a free and open-source administration and development platform for PostgreSQL and its related database management systems. To install pgAdmin, run the following command: + +```bash +brew install --cask pgadmin4 +``` + +#### Connecting Django to Postgres + +Add the following code to your .env file: + +```bash +DATABASE_NAME= +DATABASE_USER= +DATABASE_PASSWORD= +``` + +Now go to your settings.py file and add the following code: + +```python +import os +... -## Writing Models +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.postgresql', + 'NAME': os.getenv('DATABASE_NAME'), + 'USER': os.getenv('DATABASE_USER'), + 'PASSWORD': os.getenv('DATABASE_PASSWORD'), + 'HOST': "127.0.0.1", + 'PORT': "5432", + } +} +``` + +#### Writing Models **Models** allow you to define the content of your database. If you don't need content in your database, you won't need models. @@ -112,7 +245,7 @@ More about models: [https://docs.djangoproject.com/en/3.1/topics/db/models/](htt You will define all your models in models.py, located within the folder for your app. -``` +```python from django.db import models # Create your models here. @@ -136,15 +269,13 @@ Each model should correspond to the structure of a table of a relational model o Django can convert these into real SQL tables! - - * **_Good to know: Primary Keys_**: In the above example we didn't specify any ids for our models (normally, with databases, you want an id to be your primary key). Django automatically creates an ID field to be the primary key for each model and takes care of auto-incrementing, unless you specifically override it. I don't recommend overriding, it's not worth the effort (and its doubly complicated and not worth it to have a primary key composed of several fields) * **_Good to know: __str__:_** the __str__ function is Python's default function for string representation. In this case, it's good practice to override this for your models. This will help you understand your data if you login via the admin view (I'll show how to do this later) * **_Good to know: Foreign Keys_**: See the Song model class for how you can reference a foreign key belonging to another model (in this case it refers to Album). You don't need to refer to a foreign model's keys directly, all you need to do is specify which table you are referencing. Also note: if you are referring to a table, it needs to be defined above the point in the code where you are referring to it. There are more options that can be explored about how you can define your models, but this should be a good base for you to do your own research :) -Now we're ready to convert these into a real database! By default, Django will make a sqlite file that has your database. +Now we're ready to convert these into a real database! By default, Django will make a migration file that has your database. ``` @@ -152,24 +283,26 @@ Converting models into your database https://docs.djangoproject.com/en/3.1/intro/tutorial02/ ->> python manage.py makemigrations appName +>> python3 manage.py makemigrations appName Creates migrations for the changes you made in appName ->> python manage.py migrate +>> python3 manage.py migrate Migrates the changes you made into your database ``` - - -## Run your app +#### Run your app Whenever you are ready to run your server, just call this command! +```bash +python3 manage.py runserver ``` ->> python manage.py runserver -``` + +You should see something like this: + +![django-initial-page](./images/django-initial-page.png) By default, this will run the Django server on localhost:8000. View the django documentation to see how you can run it on a different port. You can now access it from your web browser by visiting [http://localhost:8000](http://localhost:8000) ! @@ -177,8 +310,8 @@ By default, this will run the Django server on localhost:8000. View the django d You can also create a superuser (admin) to view the inner contents of your database. To do this, you first need to create them from the command line using the following command: -``` ->> python manage.py createsuperuser --username yourNameHere --email yours@email.ca +```bash +python3 manage.py createsuperuser --username yourNameHere --email yours@email.ca ``` @@ -187,8 +320,8 @@ This will create a super user with your provided info (it will prompt you to ent The following command creates a token for the superuser that you can use for authentication in requests. If you are not using Django Rest Framework, this is not applicable to you. -``` ->> python manage.py drf_create_token yourSuperUserName +```bash +python3 manage.py drf_create_token yourSuperUserName ``` @@ -313,18 +446,15 @@ Both the above docs and the docs for views also show how you can interact with y Once you have defined your views and given them a corresponding url, you can test them out. -``` ->> python manage.py runserver +```bash +python3 manage.py runserver ``` Run your server, and using either a web browser, or preferably an API testing tool like Postman ([https://www.postman.com/](https://www.postman.com/)) access the proper urls (ex. [http://localhost:8000/myApp/hello_world](http://localhost:8000/myApp/hello_world)) to see if they have the expected behavior. -## - - -## Django REST Framework +#### Django REST Framework Django REST Framework is an add-on to Django that makes it simple to develop REST-compliant APIs. There is great documentation here: [https://www.django-rest-framework.org/](https://www.django-rest-framework.org/) **_<--- FOLLOW INSTALL INSTRUCTIONS_** @@ -339,7 +469,7 @@ Before we define any endpoints with Django REST Framework, let's make some seria -### Serializers +#### Serializers Django REST Framework uses serializers as a way to perform **translation **of your models from your python code and your database into data formats like JSON and XML that an API might use. Read more about them here: @@ -356,7 +486,7 @@ We should define some basic serializers so that we can make API endpoints that i Here's an example, using the Song and Album models we defined earlier. Here's what's at the top of serializers.py: -``` +```python from rest_framework import serializers from .models import * @@ -379,7 +509,7 @@ You may be curious why I also included an id, when we didn't define one in our m We can also create multiple serializers for the same models, if we wanted different behavior. For example, what if we wanted to include the album id of the song? -``` +```python class SongSerializerWithAlbumId(serializers.ModelSerializer): class Meta: model = Song @@ -392,7 +522,7 @@ This would include the album's PK (in this case, it's id, but if the PK was diff What if we wanted to include the full album info when an api request was made to see the song? Here's another example serializer that we could make: -``` +```python class SongSerializerFullAlbum(serializers.ModelSerializer): myFullAlbumDesc = AlbumSerializer("album", read_only=True) class Meta: @@ -406,7 +536,7 @@ It's using our album serializer from earlier to serialize a field, which must (r This was just an introduction to serializers. If you want to use more complex behaviors, you'll have to do the research on your own. -### Django REST Framework: Class based Views +#### Django REST Framework: Class based Views ``` @@ -423,7 +553,7 @@ You can use Django's Class Based Views to quickly create views that can do CRUD In views.py: -``` +```python from rest_framework.views import APIView from rest_framework import generics from rest_framework import status @@ -435,7 +565,7 @@ from .serializers import * Some class based views that we'll define. Right now these are just the generic create, read, update, destroy views. By defining these views with the classes, Django REST Framework takes care of the default behavior for us. It's that easy! -``` +```python class SaveSong(generics.CreateAPIView): queryset = Song.objects.all() serializer_class = SongSerializerWithAlbumId @@ -459,7 +589,7 @@ Notice that we need to make the create and update serializers include the album Before we can use the views we created, we need to hook them up to a URL, just like you would for any other view. Do keep in mind that we need to call the as-view function on them, though. Here is an example of the URLs for the previous views. This pattern is how we normally define CRUD endpoint urls for any entity in a database -``` +```python path('song', views.GetSongs.as_view(), name='songs'), # Create a song path('song/create', views.SaveSong.as_view(), name='Save Song'), @@ -477,7 +607,7 @@ What if we want more complex behavior beyond the default predefined classes? We In this example, we added an optional way to filter songs by album, using a query_param called album. You'll need to read documentation and tutorials if you want to know more about the custom behavior you can define within your Django REST Framework views. -``` +```python class GetSongInAlbum(generics.ListAPIView): serializer_class = SongSerializer def get_queryset(self): @@ -491,13 +621,13 @@ class GetSongInAlbum(generics.ListAPIView): If you have a view that isn't necessarily linked to CRUD actions, or has more complex usage and needs more custom defined behavior, you can use APIView. -### Test out your Django REST API +#### Test out your Django REST API Compile and run your app with -``` -$ python manage.py runserver +```bash +python3 manage.py runserver ``` @@ -641,7 +771,7 @@ It's easy to access query params within Django - see the getSongInAlbum view def -## Authtokens, users, logins with Django REST Framework +#### Authtokens, users, logins with Django REST Framework Up to now, we've covered the fundamentals of how to create a database, populate it, and create simple endpoints for creating, updating, and destroying. But what happens when we want our system to be used by real users? How do we store their information and their interactions with our system? There are a few important issues that we'll need to address: @@ -667,10 +797,10 @@ By default, Django builds the User models for you. You can see them after you _r We can also utilize the User model to build new endpoints in our API, just like we could with any other model. Here's an example: -## Models.py +#### Models.py -``` +```python from django.contrib.auth.models import User ``` @@ -678,14 +808,14 @@ from django.contrib.auth.models import User … -``` +```python class UserLikesSong(models.Model): user = models.ForeignKey(User, on_delete=models.CASCADE) song = models.ForeignKey(Song, on_delete=models.CASCADE) ``` -## Serializers.py +#### Serializers.py ``` @@ -712,7 +842,7 @@ I highly recommend using Django REST Framework's Authtokens to handle informatio To add Authtoken's, make sure the following items appear in settings.py: -``` +```python ###### You will need to add the REST Framework part. ###### INSTALLED_APPS should already exist. @@ -732,7 +862,8 @@ INSTALLED_APPS = [ # There will be more here Note: I couldn't get these to work, at least not with authtoken. Leaving them here in case some enterprising individual finds them useful, or message us on Discord if you figure this out :) To get REST Framework's default login and logout views (prebuilt), type this in your project's root urls.py file: -``` + +```python urlpatterns = [ ... path('api-auth/', include('rest_framework.urls')) @@ -746,7 +877,7 @@ Your path doesn't have to be api-auth, it can be whatever you want. To use REST Framework's login view, include this in urls.py: -``` +```python path('whateverPathYouWantToLogin', obtain_auth_token, name='API Token Login'), ``` @@ -754,7 +885,7 @@ To use REST Framework's login view, include this in urls.py: Include this at top of your urls.py: -``` +```python from rest_framework.authtoken.views import obtain_auth_token ``` @@ -852,9 +983,9 @@ I did a login request to the login view I made earlier, but here's what I got: Whenever you see an error like "no such table", that should be a clue that you need to rerun migrations. The app expected there to be a SQL table, but there was none made yet! Running migrations will ensure there is. Recall the commands for migrations are: ->> `python manage.py makemigrations yourAppName` +>> `python3 manage.py makemigrations yourAppName` ->> `python manage.py migrate` +>> `python3 manage.py migrate` In this case, just the second command will be sufficient @@ -890,7 +1021,7 @@ If a user makes a request while they are authenticated (using authtoken, or some You can access the user within a class-based view through -``` +```python self.request.user ``` @@ -900,7 +1031,7 @@ You can use this within your views in a variety of ways: to filter, to make more For example, let's make a UserLikesSong endpoint that is limited to the songs that the currently logged in user has liked. -``` +```python class GetUserLikesSongs(generics.ListAPIView): def get_queryset(self): queryset = UserLikesSong.objects.all() @@ -914,7 +1045,7 @@ class GetUserLikesSongs(generics.ListAPIView): We'll cover this in much more detail in the Permissions section. -## Permissions +#### Permissions ``` @@ -929,7 +1060,7 @@ To use generic permissions with Django, all you need to do is: * In your views.py: -``` +```python from rest_framework.permissions import IsAdminUser, IsAuthenticated, IsAuthenticatedOrReadOnly ``` @@ -937,7 +1068,7 @@ from rest_framework.permissions import IsAdminUser, IsAuthenticated, IsAuthentic Now, on any class-based view you want to guard with permissions, you can add the following line: -``` +```python class deleteLicenseType(generics.DestroyAPIView): permission_classes = [IsAdminUser] queryset = License_Type.objects.all() @@ -950,13 +1081,13 @@ class deleteLicenseType(generics.DestroyAPIView): You can apply multiple permissions to the same view like this: -``` +```python permission_classes = [IsAdminUser|IsAuthenticatedOrReadOnly] ``` -## Sessions & Cookies +#### Sessions & Cookies Sessions/cookies are very easy to make use of with Django. You can use cookies to store information in a user's browser that you'll be able to access in all subsequent requests that a user makes. One example of a good use of sessions/cookies is to store a user's shopping cart content. @@ -971,7 +1102,7 @@ Some great videos for learning about sessions & cookies: -## Deploy to Heroku +#### Deploy to Heroku ![alt_text](images/image13.png "image_tooltip") @@ -1007,8 +1138,8 @@ These commands will help initialize your heroku repository: >> heroku create ->> heroku run python manage.py migrate +>> heroku run python3 manage.py migrate ->> heroku run python manage.py createsuperuser +>> heroku run python3 manage.py createsuperuser Important: Your database itself will not transfer to Heroku. You will need to recreate all entities, config, and users. diff --git a/src/installation/django/django-initial-page.png b/src/guides/Django_Guide/images/django-initial-page.png similarity index 100% rename from src/installation/django/django-initial-page.png rename to src/guides/Django_Guide/images/django-initial-page.png diff --git a/src/installation/django/README.md b/src/installation/django/README.md deleted file mode 100644 index ac17bb6..0000000 --- a/src/installation/django/README.md +++ /dev/null @@ -1,225 +0,0 @@ -# Django installation - -Django is a high-level Python Web framework that encourages rapid development and clean, pragmatic design. Built by experienced developers, it takes care of much of the hassle of Web development, so you can focus on writing your app without needing to reinvent the wheel. It’s free and open source. - -![Django banner](./django-banner.png) - -#### Table of Contents - - [Requirements](#requirements) - - [Creating a project](#creating-a-project) - - [Installing Dotenv](#installing-dotenv) - - [Installing Postgres and psycopg2](#installing-postgres-and-psycopg2) - - [Creating a Postgres database](#creating-a-postgres-database) - - [Connecting Django to Postgres](#connecting-django-to-postgres) - - [Running migrations](#running-migrations) - - [Creating a superuser](#creating-a-superuser) - - [That's it!](#thats-it) - -#### Requirements - -First you will need to install Homebrew, Python, Pip, and Pyenv. If you have not done so already, please follow the instructions in the [Installfest](../installfest/README.md) section. - -#### Creating a project - -To create a Django project first wee need to create a directory for the project. To do so, run the following command: - -```bash -mkdir -``` - -Then, we need to navigate to the directory we just created. To do so, run the following command: - -```bash -cd -``` - -Now, we need to create a virtual environment for our project. To do so, run the following command: - -```bash -pyenv virtualenv .venv -``` - -Then, we need to activate the virtual environment. To do so, run the following command: - -```bash -source .venv/bin/activate -``` - -Now, we need to install Django. To do so, run the following command: - -```bash -pip install django -``` - -Now, we can create our Django project. To do so, run the following command: - -```bash -django-admin startproject . # the dot is important! it will create the project in the current directory -``` - -Now, we can run our Django project. To do so, run the following command: - -```bash -python manage.py runserver -``` - -If everything went well, you should see the following: - -![Django initial page](./django-initial-page.png) - - -#### Installing Dotenv - -Dotenv is a zero-dependency module that loads environment variables from a .env file into process.env. Storing configuration in the environment separate from code is based on The Twelve-Factor App methodology. To install dotenv, run the following command: - -```bash -pip install python-dotenv -``` - -Then freeze the requirements. To do so, run the following command: - -```bash -pip freeze > requirements.txt -``` - -This will create a file called requirements.txt that will contain all the packages that are installed in your virtual environment. This file will be useful for when you need to install the same packages in another virtual environment. After adding a new package to your virtual environment, you will need to freeze the requirements again. - -Next, go to your project and create a .env file. To do so, run the following command: - -```bash -touch .env -``` - -Then go to your settings.py file and add the following code: - -```python -from django.core.management.utils import get_random_secret_key -from dotenv import load_dotenv - -... - -load_dotenv() - -# SECURITY WARNING: keep the secret key used in production secret! -# Copy the secret key from the .env file -SECRET_KEY = os.getenv("DJANGO_SECRET_KEY", get_random_secret_key()) -``` - -Your .env file should look like this: - -```.env -DJANGO_SECRET_KEY=your-secret-key -``` - -#### Installing Postgres and psycopg2 - -PostgreSQL is a powerful, open source object-relational database system with over 30 years of active development that has earned it a strong reputation for reliability, feature robustness, and performance. To install Postgres, run the following command: - -```bash -brew install postgresql -``` - -To check if Postgres is installed, run the following command: - -```bash -postgres --version -``` - -psycopg2 is a PostgreSQL database adapter for the Python programming language. To install psycopg2, run the following command: - -```bash -pip install psycopg2 -``` - -Then freeze the requirements. To do so, run the following command: - -```bash -pip freeze > requirements.txt -``` - -Then go to your settings.py file and add the following code: - -```python -INSTALLED_APPS = [ - ... - 'psycopg2', -] -``` - -#### Creating a Postgres database - -To create a Postgres database, run the following command: - -```bash -createdb -``` - -Remember your credentials for the database. You will need them later. - -It is also recommended to install pgAdmin, a free and open-source administration and development platform for PostgreSQL and its related database management systems. To install pgAdmin, run the following command: - -```bash -brew install --cask pgadmin4 -``` - -#### Connecting Django to Postgres - -Add the following code to your .env file: - -```bash -DATABASE_NAME= -DATABASE_USER= -DATABASE_PASSWORD= -``` - -Now go to your settings.py file and add the following code: - -```python -import os - -... - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql', - 'NAME': os.getenv('DATABASE_NAME'), - 'USER': os.getenv('DATABASE_USER'), - 'PASSWORD': os.getenv('DATABASE_PASSWORD'), - 'HOST': "127.0.0.1", - 'PORT': "5432", - } -} -``` - -#### Running migrations - -Once the database is created, we need to run the migrations. To do so, run the following command: - -```bash -python manage.py migrate -``` - -#### Creating a superuser - -To create a superuser, run the following command: - -```bash -python manage.py createsuperuser -``` - -Register your superuser and you will be able to access the admin panel at http://localhost:8000/admin/ or http://127.0.0.1:8000/admin/. - -![Django admin panel](./django-admin.png) - -#### That's it! - -You have successfully installed Django. Now you can start building your project. If you are done working, you can deactivate the virtual environment. To do so, run the following command: - -```bash -deactivate -``` - - - - - diff --git a/src/installation/django/django-admin.png b/src/installation/django/django-admin.png deleted file mode 100644 index 950b611734b6e5533bc2f7174da98a7b1cb1f565..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 17564 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�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 diff --git a/src/installation/django/django-banner.png b/src/installation/django/django-banner.png deleted file mode 100644 index 49271101d5c331b83d9ba82c958b092bafdf3cd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 104843 zcmeGEc{tSH`v;C!N(+f7rYsp@ipbc?nr&pszOQ8r%D!i>M3zA^mLXC@vM<@!gu&Rd z?`?tsMqKHyRPp)-~YeYRmyW_&biNh?&Wbm&V43OMM?JJg=-g1oH%h&?xD2W zi4$jrPMkQkcO)cZdCNXHBy~5lyO&9KG*H=`_rdaP>WM? z53#~e>>-7y-PQ%M!`1g5AKk26!cfxrKl#5uWyDNs!!27AF!po)o zD-?*6QbHd4fq7HxAu6O8W+*hO@dca`EmN{}9v%SR$VEbU0hgApg+o%<{>o@zyL1^!T-E=K@EZJ@NDiJJNm2aySdb?tlhBlq#n%_X zV!@#3h?1k__x4GjCJ+}xln)9uz@G$i=un}GAK!pNRlxeWUIG;aAxsHE=t*ZdO9-vq{!_J3%$^{R{V@6t|#sW~H_j9->* zq&!X1N%+-vt&b<(65 z`;W<7D+8~9x@bs)nVtL%JgBLUb~&8$VqL#AD?u-}>kL@cxnO1sf13Hfd*|}z3Q+zN zEKxm=d0w~v6D{dxxSTZDx}z2Sq?0snaHEL+Pd1_$U`l3A(pctW4H0+hGy$e=3XB98 z!ae^V5VhjJtIu@}M1ge@?eG=yT1arCPiU_k8IZK}v3WF^_7zLtAiLn({u7=x_Mdzbrtc$=pX{zmlZKu& zIdRRxf8zJw*9v8^Hyv_CWfRe-REgH|g6;)rG_yzPKi4{PBJfN7W1bmuJ}C-)&SQIi z4b1SbHIN3Jw6KFXy!db3iR9C}P#`0{Z(Sm9G5P&({|}zWNg7{`B6@W|K*RQ8*=fR0 zPNKTbg;tv+LM%vumL~k+`n(sojJV39oHtPuQ|HAEITUv)RmPtP8Gqf<9W}Tm@<--l zCHvuxf*a#%V@rY;l0QJb?=J^G6W7_lR;%2;#j?zjCVu&Y{CL>Ldu|o+uX8NF=G(WQ zX^zHjY5Yp>IGFPnZ@N8-tK?>8Sl{IG%3-a#*UdpA&Q&S7%rnP?+ba1L7TWaq$f1Ef z3UGy!1(E-G+4`98?nM|28AcWPX2W#qoLb=ByB_ zvcD!v@wYFn`|=B{JhYc66_Tp(mM%Yt_9pb8Uwz2BGUp*s!1=JM6rV=9+*z>6CFfOr z!aTs|=I|0rGLzQ_R#xVaE3hfAu)2eX7poW}yzM(^vvXkx&zubhW@5;Ik<`KvrfTub zH%P;)O&VC8{HsJkD8_#~$u*FY|E0G2p~Th=&3dL(h>VAGAb#ayYRcxpx1HRlsG$uQ1FN-h$Nj3&;!B*I{R1q+)i;OB zl6KVBPnN1#{1E%z^ZmENFY$Ehs<%6X;bKNqgVB6SoJu>D7GyDNj3YuzC?$GI1quo~ ziQ^#q68V$P!6tT$8-fL?3zy{U?aam8p29fA@G5|f6Jv(IU(lwtXJ$|GJA;$hk z_L}L{b=|5$;TdgbO*Svlj&%N6Zlztl#TpG9*S1(y#%^OEF|ZhrfuLN2XI0B+cyKA{ zdF)vBwfkU(@fViJ5Md4l?x{L)LJP-E;@YyBgo>AR>E(&>)mXkn`!b7lChHbhvD4x2 zPZuLzKI`IMlFIZkdwL&xk?O3p>nn#^h5{^jXi@+0TQm)SAB zsKli_jES5I~QvcUuSdF;p<>9%WLQ9D2AHRqJOZjdWf%6?VFCmFxj z3#~n*@v%v>l`Zvc{MN(*1qp?i-$3?y36fMb%7Ey-Z+=7DEBV9L)Qn3nNTu8exTK>0 zVoPHnCgEXGsO0_r$<;x%Awwtzc{Fj!;}K=zJUL-yjt~k!_|Cj)8agV?l73z zIAPAyc%6mUF^Dm>MGd56BJ=^X5*<~7cjj+$f=UID%kJeV`WqOUQl2*HChxBYizQ;V z6SPE(Lrf^enV0FMII&~g9RC4B;4pNC@;oxax=L(tgFD0pNr13>gfgh6UNzifB}n_i z9S{(%E0mCX{)rF+g!eJjF+c(pfIVgX_!kG+K@9Lu4M>5t6*sd1V0EZ<=#Fie>@13#a(Pu$clma21Mf)!fI09pw5zNy5#N9fUo@l-Qwh%;LgPMQO z!=Ef&ZZbU=&iu;ke}L{wBKpFTGs6L<{0qsXk5e-+hL^|y(}%o!GUg=zCM2TY;|amo z^pwZTK8AJ;=VkDaEWC1=ozDM^lnY?wOFazTRgxbM{?ijPytN#`cEL0J3gOQbW4LN* z!wc@2|30LomX~}Iz~&>gszWa1+w>1Bnc4#Tq$J{=le#(ovI}v`&H;x(XQ;B_$Ce96 z+*FC+53vZmChi!W*N(7`2P?UhcDhMGMtWG_cI5GR)IZ#K>R4Swtb6bOaK$+=lM_)9 z4MPxUX6?JjpuX=EY56ep5_RnfLdUKtKUB-r)G7mrm6)JBW}%s|v?(SPRk624&QU`Bkt^~(Y3 zd+!*i5(^3{*!ZU=Q?kgLi5`07)Sz%FMw65LeF~HYY9Hc~q=N*m0nv#N@ksrD6$&OL=Nb?CYw52WK$YWY zPfvJpizv?oCl^wC@$U@SA^yg0RW=#hqlMf68!-k~DkDAnZ%AN-5~d3(I+8Ab8Z!#& zZ8Gj{^}eg9;@;cpEh*zVW3!Fmd|VT)F23Wrva>42W6myPj=rRPW%WW3?e)UBtsjxH z1wsPPXFo~=U$U6aok-kDN%PMZ61xqPu=3QId;LdaH0G;!?(`|K9g_h(x4HGc%gCZa zuy{rJuW#M_ve|Fm6M__5HNUY!Y4=_?-NXLH&r~oLePFp0&M=S;{Wya+4+N~owa05Z z{IkVoD`y@oVatSetSxv1@~YqRXKxy7RP1J$4=8yjH5Q+p3xnxe=2Vl;5^7o_Glla_ zR?l-gC2Zhd$b|TxEm#lzeWe)Lu)ejG*4u@V20Z6En5nmA)5~OO_^OU zlUB~{h0U3+K~S_5npBgxpW~QJ5hrWKhYlVeE*UL|m01lx>0zNmN+UkQ za9`oh{$0Nhy>Z^^yN^Pa$-;~sx0FFVjJCh^*H#?p2oG)p5yut%@T0MG*mjp+JLUsh z{fbX8rHc3m%0;m{EB)?sw<||JDixg{uILRhc6>gYB3_>~$pSyFI*H3WO|Uz%gc;b( zR+W@CWA^$8Tt6$oz7++ZWAv){+J#Eee4e|V{u|-+M{lZNp|j4zo3F*9IEh{5pVbm0 z4bcx<+2K#l_ZwM`&lhLI3_ZSh-NC0uHGWBJZ&YR?SgfhEXxSLz*JEfFs9kPvZ8=N( zABC#FrVNbQo*ARN)i@bi$t2qK9PP`A?~iH>5bf_6e259xN>kgXy|!s9?Aaa@xvRZ+ z$Pi9+GE7^=mZ8Zp%QHW9R;sjd<@T%U-u}up4;a!ocmV&&;g>X zr0%3=WGZi?^F8y&R$MhZZ*m|Ll{jNKhB`j>O%qJp{5XsqSFeeRJoMuQ0ted^Cs%&b zvC}{zT<%`c9`0!C_9wS`kY}2!iRrFR-17_&Q>$rKPgLK}DiBx3D&4p`^t)?Gf zosJ_7QAsNJTPkcq{61C>gBI@NAu3a;QPi1G_%+S6(e(MPZeGFn;}gntt zxdBP^|H2*dvwo_0U7K{8;_bL-_m;?u_4me9!AGB`hB(V02EMMluWgX&mu{MKZOI*w znFdYL)o@Wq*#-YI<5thBXiZ5?#nP$*xtDMXBQ~68sIJEXA~-i3K2B#2eou2RTNbzs zdCFY`fxFk4hu^wyu$Lap%j0cQ$RToTkS_RqVB2LT2=*PvRiLVb7zT&i3KH|gWdXVX z3N70qgCUhM#OfaT#7N?N7$1Z~JluW-1vk+YQp_!A_>#V*S0)z0(nG&Z?U`%yB`CAE z;Wg_>kWy2po5$ywuJWAM`p=@nSGVDuQOEo0aF_4^u(2?fnjZQJ)ltU+&inZ7=*9q| z7k4>c{CxvHN6_+4U;nYqv0?20`0lm)?^)Cr=3>5d4c3ha2n+EmJAe4xFkx`@f2wd0 zyV#I$zNZ|0~9U3x5TXN znIuR{GL8lIzvsl!{53kT>M;OF@X0b@ORL&4hLeXxF2+18SX|mnC@`0-o!zLs4pdQd z9qF22Vjix#`FOo(lx*+Dz&H8RH%Q}ib*UQf`}a1`aKlshyIF+z!v^mX0mpI1Am(RX z+G{@PV?SINPC-8ns+Tu@s&WK#Yw)_qI0HDOKQ>%p)$%81XwN6qWuHT!2p>Rc1x*15r1DA@1||`CL*2a$sYZCb*i9C#3n=y(&Moa0pX^O?g9% zH-Q_53~iuc;OMmfl%ayi_+|N9YoUr945p<#I>MShe8@4}NP>EQ230Hxc+VpQ^qv7V z@M!139X8e>|IqVtJVvIq3XBetJ9PViy$Ls248D}Bh^K(EZ0K~h!=)j)tw`-}JU`G3 zDtIA}=>LVPQH>2BSv`EXN53_7dE9y0WnzH#QpMMlI0&ZZX^uuQ6EJBSK2!dVcI14> z%ui~z^U{#z@kI3ezgPkIgafvoM6^0i(dn6YOM+vP37lsRoeHLw<`CcIim-o*amz}5 zBSPDxVGX~*CVDBn8f6s(=b7E^IdnKmfq*sdtA<0^Wg!%p@Og&lB$E|DY(g+003Y-aD-SOlK; zt4iZ-zzP&Cx3e%*t9l#f>3y5}EOy^rR3(iLXKf)?fB+;*0rAJ1VbnQe3I#DD{qA`X zC`->XNqQJkFr11*-8|>L>Qu5;LI61*?jh#>#iPQJii$|G5n-#az^%EFR@~KblV&Nb z`M{%s-pp*n@W)OY4VDa(3veG85`=U%_cC@zj%JuryvhTprPs5JT5G?}~``s-Go8rh;g(!cZ0CR4JE~{UEolS%Dy+Ax*}W`C32U(>*D)X;1!&p|B7pX8O%%VA zW|Mka;@>2lGI`(OEOqd4ULC<(c#2TIwO{aV|4zb*FjkW{Kcw^y3 zB?)-++#wY7onyW#+fA`1Z`inj4mEQ6IId%erQb=^nr7+7um}4^L$~kbm|L3W_l{=o z7E%rev-dyc16e_55l&HgHi9=R@feOAC(&?wPk?ftDK1}-=NtF#6Y!;z2}YNBxmU)2 zXjYw?9WWfDv%ufxqK>swzmEDIk@wGPPZQood{Rt{cwI$j(LGkx4dZ3IS*L+n4iUXX zxF>H~d%N<^rmwexxVAXkolC(l%{XPT0LKi#s6B5}19^$%;VINN+WE6!7dM`^vqysw zn1AI%2BWPw0ju(n(0v{1h@sMVoVh@hy$=y9;cYR1DD0hG1miLTuu8z`oCTPq7LGtQdWycW7a$k5Q_oFi6W64oEcRp zB%)o$YdX7N;-sTCpDtLJ}W z9SOmL&vRXlpRiSDc-JzS96J6GM;U=P~x&Pux>EpoT zVLRrnpfc4eQI&|Ukwz?}x-T`*qXsS-2Q)n3?Qy^Yd0qZuv6t{5?tyn|1}w>UgPa{j zF|(qM(X4~fo+c8IvtZ?HzNVq@kX>azq#cB#RPmwbRpFRpE3>?DL^{6zs1zZn=kOzY zbcZYeja2>Yu=)f@sTVKH0xw2iF+@y@#`INB)E@0mEx!N=%86*pM8#N+9tVSbc~kk~ zi~Q4z3OwctU5pow%p|RVfyEKymfQazWh`dhyqR+mESDeC?v_E!C&zLFxS?cZswVMT z$3$W)zSf6Q{Ck)mkc$+f>J;Liss2&1gcJvYeae6m(XdEFCwpX4p^kV@Kh?XP4I`+v zVLIX4>xJX0_%oF3_^U7Bbreg(fd=#@->KKNq>nIiOO0~ zVG9XL1%T=bL1egRR0OlE7k!S9qlUMmk}EO|hCAfYZ7*8A;~>nGpH%-Z<34l?HsLIy z3t{D5FoWKYaxiY6fOa-cx#dG(OLZaUX#n2W;|f9qu@d_;Crz`1E&6U)00;k(T!_ie??SIl+VUj zwDc7E)IEd|AB%W&`x|(W$UN;adY}l-RsHw*i4XFooYL4H>fW;3gkoPfp3ikKI*$^P zY>!4;Aedp);qQsw1d@Max5>K&Q=T8>M{bJ4^u#v+*Noeh|Eg+cs&Wc8{w1yO+ASXp zwq)#mjf~ko#Qa<|kKJdqn(en^0y*4KA1!sm|Et;Yp33BV9%}Lvx>gM=1qfUCcy3h> z7>JB&lT$SlVepgoPbp|1(?98S=}9=RN4L9evK}LtbHO}H=1wOcCFLiT)nBr_>2=ww zO$ty8^Q*B!;{)R|E>$R+Vh7}0bpv`pGr}UeN|^I z^WTXR&<3SvL+uM$c|)bJ04sRGa9zA8Odve>Nc>;))D-m=^;&Gl1OP@Pnn4w(7;MiI z6@ZRWUbwGFE>FZFA`dt@Ly=Clx3 z-E|ctcgc2e>jIIWMH=82gHh!4FqW&4?$?j=%qwIu$B}QbsF0fSRBVVb4N+mC)K7WD z@HvHax|8l9v-1sFrcH z5IU%H4S5(F5}G4K*s4wNC|QzZmw~vJXqHrD@5vyVy*6ZtV6UW!t{76N1KgCIiWsf{ zHrBa;JS1_qrq#zDZ3MGd_x19DIT)@~bVKSd$3cja%K}hBRisZmZ7@1DO3u&=* zzD=g@r!mIKC1{4w$fK+aPAAYN!AGTvy%|PAr#a2N2rD27$*pb*a{xu4M{dpYXcSHJ3d-kwgG98=f2&bCQd zf0*DVm%90v9q$g4D79Y#4k8#VNy%+Zh zt-MgeKB%a*HAkn5Q>@c7G^9k?5$A81ppR@gJ#Wl5F0yHOWU2lE`|_MvW_AQ*(aO4t z+Gydub@Q)%2JyA`xj3`z`^lD6|`XLg^PE=OnozN zO-lj+H;FW!5&GKmZ8AjG-z7FL)%>SY+oWtA{!Pku?fdTN-qP1Vk8AHszAAi+La<29 zksE0yTmJM7slV5Uy4@XJ)u2O*qP&WFziTO)9Vp+Z8H^T-wlC~7?W-onFKHK}8&aVc zqH~qoqoO4N^{>hXXw3cT-(Fc2RsEE>Y&Dw%evj5!UdzoP!)SUgIF($<90|(m4ZPBR z`u7`n!5ghP${(IqnEH;Ilh-Q^3J>KK^$rfQ{m{mK9}cc&4b$Y=>K}SJe7rG4xN^{Z zxpG_GVtV&UXZzSi|1%{Q^_Dw?S2>)?pC`@g33XueP6$!|U&oXRFMO{xovO?+HHbda~kQD8`hZ zK-X(!Wm+>fZ*)DUSibk$g%E^pC_Hj-xAZFEF-KOu4x50exX5x;VS`06KsZs7JY2|b%>{B|Z}Gbu-lUN z{Xr?}d9SdJJ^MVqEHir3@N&K?!uVNg>U>G5URb}`-A5r@>NL#o9!ZEs9XNcv7apio zky+aN?g{3+SR^DqYC0cUlY8WoriKC4CW(+<8OYVl7jO_nlXtVqyF9W^2D^Qn&!}`1 zi>GtO3vPJkUO?WcDkfv;Wh?JfukUp)FWD?x6(_WNfl~A}yIIP>7)f9kP;A*% ze^hYoLU*RB5y&#-(I1|%1;18fvAVygIm zc^>fc?)wch3S0#j!t)7E>fL2- z?1qSCsA17nf(5-|r&-4i-smI0d)pmt+kguwd2Mep3^Th9C-QQAfFJuvkmH%qWAOqU zp9J{v0%sf_A{JpKn7EXwi|^*hm&BKN;~da@*@?9s&ayKjyxnd)U160u3Wo~vX)71_|;G3{=ckTO-er?q3`lSrs8M<}rD8UK&n9%W8?dZSc{Ke-@^pZ*&Ff3!bFcb-zH5ax+Xv}|4sJ1uCCy_SZ=&_LCYJo+`|`x7Leok~FHkZ!2+F$!gHXCDc=tsPb@E zSI2FJdo>}YuYcWdG0eEs=qBea@wh)4#)nTGG2uO|j}^kcF+4)}iFQ5ylA&tWUq56Y zSO-^&4wP%+-B_S&JcaFB+uKz<8*LwQe9myXo>GXI@LK)h>0t&$j@?&$r**sQ0E(-W zQctGnTq|iNS(jbAFa(KuYi)>`<@Jc}Qek{L^_$wG^^bMrh`!U$+^Z4f`ijy zpSw#C_tT3OOPlQx)_bM_@R4d+T{hpQFG2Dx7Zr-1UaqH!zY*cCzbVIegbOHhbps6y z%uiecRH!PH&~?3B582c)^V3u|5WN$CE%oiCD<CgdqASSvC@a5Yu=z7ecdrrROjFX@sH8pb`mS^uk|N_W3vapvvK zcqZ{>sqmcUk>!eI<;VzgIAJZJ!sFYkwyr~G!W-Ig_=P*VVx3<24T=ask-;a=8s*m~ zZ@|rP=uA!MOznFAU=`$g>^+OdN=Dwod@S9tMQ!Ykl-3t_4-LDNTTC1AUz;q48}AEO z1uHe3L2=&NaPpRRaCzuy_UBgTJw&N7v04FCLbSmR5>d(rB!pr{LhU_%0-EemxQQ&* zouz_>m!1PYC$wwJ^Am2uy&fwJ&RMl2uv*lg3fz+GwqkOhq=JZo4tuz1V4u+8Kt+FVvf`E0|^ zzuBL<65|gyOtJPdZ>_(^(I1a3~v)v4c8E%u^AQcsbWcYNNub6{G$? zUh8Yat+%EeJ9USd4i~vUem$Hr{Gh+xGOgJ& zYn4(r{VfiKhleuthRH1nG9Qe3wwF7rXg)TtkZ5P_8o92wR|#+1x`X|gZ#y^bL;K5z z=9GYU>PEP@;#kVU;43)}UH=S`&#PfB-pok{Ci}d;9;AzQj>bl5^6J7k#cw-&ai0_o z5C?fARmuU1v;2VPLZ9klQ8%4|{;2@#ws)i-Ac2ev)`*!eQMNMY{}R_6FM zWZZXYLCzlZ?zC{&cKhAMYo~1_Qh3kf)Epl`X3bc6@3D!@M*Uq^amEo*47!gtjC65a zaNT835&s0BKNmZ&em?lBz8_m?n zw>?+*9v?LB>gE0Elh!K!>HLHgz} zeaS{`+!7b3rpH?;P6Un+zaPC&hHk1&Xzdjd#s@&(eRXz3x5KE3ydxkSKs(8oJE|aX z;+|vVzFKlSVL$q#$I_J>RRH;IBUG({3GZlL+1CyM2LbH*kGcwDQU#f!2%pJo&^0o+h&ol|iQ5QH8#WtslYJ*N+PC^k7G&P_(B>FQdw0c$gd9!w-L~C~ z@rg&>rB$|!^+T?_sX|h5VSxr)v)Of(Et!9!dPPH1d9A*^@~W@o7E0-9xSwuLrmAC7 zSf9sowQ^fzD5#9IpO1;%i<>sc3-`A@1Ma>n}5w2ZNBMP~n`pEY_ z)erNsof#+v6;k*j=yHLo?gMtgqg&vjWzZXRE?)cR@gjt6RB5tDs`m zSlKk3V(Xn3Sv17?Ice~LGiuIVF-R^jAOJ8fWmG;7g*U7tw&t1nV6L?)iDdg0w4KA~{L@ zsn5!KBHI>sKRo`1sx4I<9`f2LtdI53S2eADrEDZf0(gJhi^g6VAi6pf(#b8N<|qY58=J>hf8z!u=WB$fA(?;4u>*9`~d zcrFReY#FKFLFo0nC-4gR%tB$*k+GJ3IL{;Y<0K07L^_zn6Z3tF1jGx9{DSe=_F2w0Y*ZX#-C<&&2AVG@R%m~=IjZ*3^3 zPv4CB_&S-#ooUaGnwvFY*D@_Kpo){_J{upi!YZQo2(W>&-!*KV)j=2BH+cY&`H0?n zr#Mb`2Q$m(rrxNRkj7SL@S}Cw=5|Iq2RwVt@TP5Wdk8#DzIP)-@Hy&dkL{!3jHK0{ zkxB<~u1_;pbQ~A_x9oG94$ox?e0BA--FO$poi*f<@JjMY=Y0j`2wmXJLaJup_9}iw z>y&Tig@e<*XR4y7?tH?objMxw7^~R(8EMlgAU;&9;7vbnBU1k*y`x_oI{TR#rzq`E z7`{t9D&`cGp~Kj3Uq2#tKwfBlNGw2b^cWs>(?wY8WKcb*E3w`+SZ?a+h(- zI_}a@gBZmJ5NC!IEBXBA9_=2%6izFn^s#pH*>RHIAMLi8o*dLyeUUZ;0VazLKHsK8 zfFUI#v>6X9m(8o5S_#9sfA``fqa+k4g0fwvr(emzaA~_}>oC4+HlzfR4LyC5=%G$Q zul~mkX=(+c@}(Em)=oh}VxMQK(-Ge1u3W?B)W)$fG5I#Zm{3*{M2SInaX4=W@hB5^ z8WkkXR@b4$v|of7q`X4N$L3c*$Efy>*n(YPBv4^ZR1n-qZcjUh z5MB;50PMDLpUFDcA&XOdq2_heXWJcl&+7V0!Lz`nPX|WbdI5D=c^4dp>QQGexhiv8z}D&%6$X>W%0n|1~mk@ z$tI{S8D1+SW~Es^RQirctg!O0n?MN~!($}0Od@}r+wJeNJ(75N7Y>uqHwEyDQyA5XY}$xW65rt+x8}-=Wc6Agq1l*e9P|@@$W;1;?G9ccIL&G7zzWQuP%YcGJDF)AAaA0o5)sid}paDcI;sBDB5#fN=x4L7SuQG zT0b{r)Z~Tbfvw7yeS8*bZ(N>jvT9#?4>0|R$hch-b4hT7!ntd$d&DCh*Gon~MvL1*WU+y&)8HJe*AEU)!AeA}ebdJcN7IAV-E}bUEE#?6 z%zki1*s(v$R)x&(Q#Z$98I*oc@0>z0zfW5mQc8WNc|^U}ah*ET>(Q?(!WwCdIp)HO znUj^}+r?j6)de>J_1K$Xcug3c5dcrKmj88g?`FpR9am|!jqVJObPw=x>-%7b?>oxY zMNwbGq4j%nRZ~kqyMgzo$Rfs2(CZE4)d-;obPYwKf<%Y3JzuQf$D70lCU^cd%3H6^ zaxSYNuEHXop~9&=N?Rt%VCv>c%g}M!&28S_pJ!TMuP)of(tJ!U@ zTt!9qgmD>A{vJ0tl*qRu-ZW5R?JnOnIYqcff%>GL+00||@qEdgx;IDRdn*ybT3lJ% zxo}lM9VH>&h5~w3Sn})|~O`#G=8)+xk8LGvE2WP?frwVaWEF z;IkfE;#kxF$=5m0;Wg9YRW17RX9K)+^*o@$1qp=vzMD){=V}!h_lA2_m*aX`rD%>? zuqwh4%^Qr?DFFpMLrIzeCQzyD4%rchrj5YnsBateQA4Fpx4czTK}>SrHox^M(3A`= zW!?OfF7pgrOQf%Xd*hRy;2hbN0?&+{-+WiL zV%MKIQT&!Iud?-zYcQwk)M5~w$3fHM9Y*Ly7|;50RF`e5`7@|n;l2}6#jG#wISAn! zA9;xlbfHa}Du^`R>~-TVB!0uDvv7bK<=#3pM(tttdwE_;o8c?D3Ghe~>kzm}g}Jr% zFB6EDpy7qUw*1E7>?174gNAo#F%XPB_)HC) zr#G1*I!X71K1f?lzWgNXUpKwV7@wg@1C=rz_v4*GbE@E9`V1%ciEw;U44W11hOaaX zMxZ6I+PilOP7-F2*PI6kCjbgYXcis>m?5F=EkjQMK?gEhwyv;8+X(A{xkuHd>*V_S z$@6G6=QnzCPbLE40(-ZW3$S$2;o0{vpg*`P5S-$=ZCpJ*yt5jfliD6TU#`v`EaPu! z2JLCRCrr4PkZ{Eh{@Y973qz7de0W_D+IVQ%g$lAtDJ!gONM`o{(klsZ=67%5@i!}d zG&sO(C%dFuRtxO)&OypEc8x)~`MA&vj(~S47;HX!J*@CzWdj6db>Ig;grqJEw-jJp z#<+NNii;jrL1_NS^`zjw0j_7a2U~oyDxp}kX}r3>G~AQjsRcuRNanef*AN8j^mM{t z1onQ3xq>@2H902hd@-O~_6kOo>HOaFCb>CA%SFS|#k;xh3f{#05djACQmIN2p?S7y zogfK`_lTCH&ZB2J4n}>Mn&8|F+;DX0K=J!Wv~ghK8t9xoZG+TNG8i`xjUPzMXm4OSi+qmYwA5JweWW_F5<5`r`DdHWQhO?+4!_%nRD26RV2^h``+(e58cke-% zL>_7}wT3->bv@vYg7nR*I{bug63WN)}fbaOZ8ojy<_A@rR&o&2LcK)sCDh7x^$t|MkRs?YC2*H%T~930A)^5oQQAVnXVri+>z0mNVMUt||&2 z2Hjx`)SRPCOmh$0)U4QReWks_)wMWTNtW+18^7J{-W;`Ikn*(6CFb^qQ`xPsf*6?A z$M!F0M^|p^_Y%9mz*)UX`_q!6Z1(~#FN6KW%KK)e=JErGxw!o5!PZMk;x)vWVa%n< z9}lqY)v4~v+nJ)LFg%jxq}KyEC$Bvh?QA`atR%Zmq2KFir6K&`Qkmj#hu6-=$XAz5 zY=x}i-WyPq1u_8|K_AdEbMDQ3%=_8+u122-&1dtgFLmPN=Iaiv?lVsTp^bi5%>c;J z<6yifU?CGqm^Q_K%cD-G(fuY@M zJW{>~qSs-47d9>lQy&`FrZ4?;4s%|)^vn^x1VdUhqMMbmfxpQ0j;;=dOOT0g8z3#AY@2heS!CLJj3Ge20NQF$DFbQMMpegJ=a;ysm~M#Wsnx%z*H>~+ z{HT3iP+0}Bh=syUKt%|?TO&}ejd&Fcm_RruHt_7<@7^H4lJLCD>Gu;gOzL>97CUH{ zF*=Pxrz(nO>yc;|ZVvZZP9-F~ECY(}Y4lN;7Iwb1BJe`iRbfyiFH~) zGVxCO22&M*21Vef!%?Hy5b-1^a_x^JKWK$_oMZEnzaDClIN$ETmMOB-U3)rb zEe|^Nv=}O*{zTZ#yYMVM2Xq0n<^_zW7MpRAB}LwMk_5U+{>+b6@-=|e-&KyR9k z{1;*4iEN1ETeQSJN5TaZ=OkS`49C6x>-dV@+Ay!a79Y4hXn#xTG@;=%%AItvD+k@q zoH_u`4f!r&+WWt@;6WK(|E{fv)>2FWe;G4NRczTlGMa5V_q+xh$4$S7h$)*-2~>q7 zG=*)%mRNqKsi0rxI^X7s>!3gkZl&|2vzBHim7a2a2^Y~ zuD0btyJqt+*x2qI^vGB7b_7&skF}?yxx@-R?++I>wy4x?Ddt4$cn}aUaNg<; zT54yF*abHyxhr^;1z@~Cl2yzA{TlQDw5}S&!$3FHxE&_9^%SJZ5HYLp6znwq^BIPw zOUib9#P6snl>p}$nzA+)I(SQxC|weiNPJn!2;=??$M0^?^={JUHeg;)*SQtYSv6F= z^c(eD&1V1OJVE<;#%tZxwe&k8QH%$p-Ma~nt8QcQ_nA1>bgkF=N4@lOw}t zdC_F)-(zCAw4gas(^9llBiUaqoXV09+6;&Us^WPZ?`B1=LFwVMWKu7A9V9_a<>Ta5 zOt8<8$I5)s=?{HhwZygXdV=^u0yG*#`Y+QZrL$jhgcvyhy=8r#@Wnm17x4E6dU>ss zDtNIw+Y8zXJd)#Kd`R zxL?wT*NNkTh>ZK&E5fTS;8L3QE_X%`@+u7Z2KvtC_8Fo^ojxf(@3_ORdt>}tH(!T` zgA_=m9Kil4t`19>iMy*rXFcPG45pw7^kaF<#OD zmlX#@byHI0-ZY@Y?s=_Nl^KjSTpif))JW5KT2ro;r?|Zmf{*h2rO9hCwVYNE#Z+Dt zKijt{nXOw!WG6w{K85HCSvI^b%WbWQod!QpIFWgQXHX0gHr z27VwY;DVb8k8a%=smJVhHwiQCh3Nv?eJ@Z4eol-uQdp@A~F%ye`ju&e?mdwb$OKRi7_|oK9({geCHR!*Jj7N+l3qL)s{>sa>DAVRwap2>9vt)?M6aqi+}cyvz|#IG%O zCj|W44~6&V=yXU3<{K5bU7IcOi-!O&kfWK;I<~f%yi9IiWT@r^Hgf7)u@Raj7x+9E z)><97+o;=9X^_0b495F|{*ZG4pp>1n%16g?%s}+!-$s2QhIZLCmDk5=Zo!6ywdHQg z0cMwE0C;RJxdMPi1Z{{e%gWsfx&m>IC{aD-d*1JuU$as-DpEinT@hvLfv#tL%fj0lG40l2hcz*#&DSlfpHj_re(7$Pn4nP| zOHH;nGzB)tm!9KZF4TSM%KX%~@}=942gClt9OyS*{;5859Vl$sJ#y~lpLtY0uY#)Q z1k7Wdj43`p9NX+lL*Zq(NZq#3PHi?Q0u~Icw^mn<6x$M*n{$p9P2&D=rB*QcWjSmT z{_kQjprIwgW!db@3}Ak3B)n{WHH}rHAz!CR5f=w&^olyH1p2*Hc6?6#`VI*Tm6F-> zcbQdcP8Yn-_6}Kf_&(3P_+ILVL?sGPW;FOa#m4psX8x2~3~T!=W`YHHQ!-mGgBT{h zQqaT;vI|$<-?RXNz;CaKaxK*YtNjK*ou)mrYx}$uG_fI2sF(s8^1valx4B;pa&N{Q zLK2D#Gn^n=no!55QMY9@KE;t2H)Dc7k>pSMSCF5#F;pL2aJ|(FDt)w z*0JB7us*|knhguKfbLZ2%E{3)7ywlIK_(GiCoSxht((vWMHhuV2?4M`77hTVCaA9K zAQ{=}TASh)Dd@=NKVFsCIgr)l+(;5cRT3pojW5!T2UQ(?@;x8khw(7Xw$JR!6s@r!{?(d!{HP`I4C!KrU{jIz6 z2h?}KejAMwxi1mqv|f~+4#NVxpdXP&R?o3{mpY3*((mL$I+#p0eF}|77277P`yz8^ z%2_TGhJh+i!s-j&{gq{*d84Y;k85sL3#9($L*yY~Ao-MA<~N!{i}_0?dVr2sZIlqV zwBCbD+QGCE7VX%{$P=SR@Fx%G$cI(eT{(}4rg`*6#bDtnv4+co-CyATFSI^%%LT7f z6cxW7@r?vJTAuycwPV#N>IQtMGc8g(}ul zI@9HQ#bi#SpH{~x%F>`~r_27DbXi8Tyn$5r4@$#$!OT`~FdR!DGhm^JHv% zb*a5Ki3}@qL8XV*$-`Y75h&ez3wO3N7++}+9tbw*T0D)+Eodk344pVoCxOz1x_Z88% zzHxY1?namM$OH#F(|v!kxcc}8sD74Zty#3KJ_;HclccsXSE5`h6)=P)pij;K?)h>= zS%3QK_jONZIW|eApWfEv)#AFFz4Gh5=|5&i1w?0QF&cvNMx*MqK=ot(Ks#4_e}8kO zt?2FF7~r$u83$Ur%O|MpOt+UVaL)LNaOWQEK;PWR-CgMPp$Hwh-P;$sA6ky-yHiIy5Z>hmZAPv7=#N04o#+gUz8PHk$dTtT9QIdFawQ?1WI9 zeN#Xtf{A79k78R|`fb4C0l4}BEdLA0Omf7e_`?J)H7ZY#fF9U&)p{TCT;PQrxI^gd z<2Y1bS$7|cRbxx}+5 z)ar`sUUZm)swtayvWV1r4#ZNs02_jlS1{~Gt(!r()2ssa3+{@%c8HUxkcu!go#rG3=>zNE?A?-xI$*ug?o zrJf&Qyc$4>3UoKbr2{?g{5xQ) zg%<{g*p|;-{g|bdtRz9uEL66CRomdFdA(Pi`Hw}QOKr0qELam%Z2D~4?(AcSHy*Nu zV3JQ?+3WpYYK$6XtXRuFLCP33#RO93m#I~sKW0OQYwhz+HmI#l1NJa7z;3a92Brn? zDdBye=QaLC^dg`j4gMd!#!;RV8-5VO)QP2ug&?m{8VWVUk^DA z`v7J>wd8PO;!fmUt2a4*cjNIQMh$CWWA@hreY33h=soTvZZM@SWarE_JvFnqXQ35$ zJ*BP(rVf$$j1Z`580 zsqdCV`632D5jToL_R-lKG`GdyE?Xjm77XZS4Vd*(6)00QTSS~ci^uyojlB6i+wF8u zgiH$34VX5$s2Y^~}WttB-m4JO+Y*Bh2yAb!40ca*N z#JJ<9h{j32^VFtl1Oft3O#l?TaIrJ}*Mmuk$h%YlW0M+_FevDZSV{$f=jue$)&NrQN>8-XJcDbv2 z=y-OkGY)RbQ&le>3|Dx_T*rggnW78k2zF)kGp2_YTfsX_s z=0K4!E%RA#-{tFnlz|TWoWJ|{{)Pn_4jJb4xpiXsbo=4cK>cgvr*3PB-!m#$OtH;k zYLVd9N-}$&rE)Zx0`p};E5Jy%PT>wfu*Cc17r{-B>jLYx`c45P4HP8nF5+DlH;d0B ztG#YmTV`}Z9b$D05TSmMLK?)G6*O}*|#8y zpc@W&;EgQeM)GUX?{~f&-!5rP)N^68S*vnD_r{oqADlf0Lsia6L!vRuJzk9j08=;2 z%-X%ItIQAJLYj2nRyWGuOz~d@}f&<2 z9s)W_O#?<0^yF0Y{eC^n9~i+hHFimNhzK=erWct_4FCpZG*kVXcQl~niu_3&wdZH# zj===#4U`0i2mq_hY6N*f3@^T;0aQY@*miCn9o}DAaW{0HM*Q}|P0MdA^4md$^qaaCT!J=va zP@C6>-!433vJ}LJ2VE@DoClgLoz`MOi`_HSfO2O+10-DyP@R2;X391g0tEom^6y^W z?RWFaH6op2#JZvxj1rNf@Jo~5WF=N!n}5;t z(;#=%S%Wd1C(-uRge4HZ6&Rs06BK_^cxdCcPjr;doGbO42P~xWZQ8mF2}QPzb^!K- zEd9hV3Y^7ylW0XCM;;B6tm`u8a=+f32%vI1deQq03mE)C4$UIf+xLD91#FL4jU_ov zDJgG797CxZp=?E_yS({#L)JiT>p({4gYLT}DZs&nBvDg85JBt zbElVc=fQ{uV135d`0v?;D4AP+N?hKy^!_-X1J;*XbNlM|0A=mfC-jmZM=`&{9<0*> zFfdR_FY_78C!Gg8DuEP09f6x}a#I)@a^+#%{~TyQt+|G1sLAbAGBW`47r0E9WmycE zb90h6el&Zat1(|_T0wlp0iIAD{LpkzQeRlKaeq7{8_)59SCsQg!Qfn%^l?A^|2n~9lTUnEtK>8@wAfcBbWUa zSwcdag!^=K=?%zip7N~F(D`8l$J0@MhvUGDmbMgvFD;dihlCA%p4A^}J$3x#hwZ6_ zVIt1!JqH>Gk%xmDGcrkT ztY~WJ=y$6oEK-sXs@4xbtW=VWMn29-)ptZWnjaedjB;f4M_WpS-Sbe|cTMXB`z;@Y z?O>S5yd;3S^Tq^w4b)_oePzF-X@15@WGeft_Gn5>qlq>yf|BQnq3ki% z0S{(ef&zrT^LoFn=ZvsU7)cG@)c=m=U5eT zbSh(ck>J_5P|QNzQ-JvDUe`{L4R9VnhDX7m2rPydnJbT{xvP0f$s=Jg z!gvaN1W;OJ`^(dmAmNG?c=w0wyRW(}S-2T=gJL?)xpZ4F=X^!Au_wIbz=rHVe}+~A zoz-W6o_y(;LPP&vnicgMD*6x&@rC zh-5(IYaYzTQ|{<7*8I;i8Jp3te~`~HP+~@K_wSLLk*LGsJU-0@g|jm@Kf$cR!;t}b zFdIoV4$b5yvTFSH7Nm}^bjHa?sr+2ZG@Y~divXNiW`m1e0cTxnY8YqDM@fB7_a^CT zf5yXR9MB2;QjhU+MZ6;91Nc~`S&#QOP8pG@B2VJOmS&W8ga)0G*zZp>MkV^Z%d7_~ zDdExxD``@27+8M?TlLIQhoY3aBr3C&!tD@7?jCNRVL9FWV(Y zN|hGw5U{{ZoWlo^@A$tdelU9;E%vIzZN&nse{@&$^V2jW-#vynE~@l}Y?7W`2supo zCj`Y^?+~Pp4gb_rfP;ji)ZimX1;{DHekHj-j)ZsS880+$wb<0j|HZ922)NT@p=-sW z?&vwdM{jvSx<^ORp{{*E=i70Wk2N_<`W~`B|tD#$3yF2c_;cy>$VPZF@S$JL7vo64jm?kgNX&duSq~{~#m0m;95$YKdm<_gI8?1}Litw2-_G|~ zzf5u(RRO_4FB2cuZ;oIJw5{Tjo28Ruyt9@4k=#of@iD~h8`qy*TvWlJBs>_Hwmg@i z7a3J%;JkLv1;V@;xMTeT*mo8a$(60kYhq_j52J-cdDbjQQ6ZcI_B0OCiHbx zgCEcuW~=CbdrNL)ktWv0Y)AO{HIvqB8B7&e#Wu#y!Q)&9uCT?NxnT{{_vAgxz&^Ov zHQ2NFYYG&;iNze1vFbU~Ju2QGVJVS2w_Qm==N4lmgoc*0>uLFVp>*PdZ*>;8l>Ul; z$q!5W)kOR%h;pB;y6Qdwt>ElU*Og*zShWSsGK}8kTAkJx`=fcv3sVL|hHuywI{Uoe zH=Tu!#P^RY7JgWMANfJtFe?$|0xxo^RmX(e^4rj1v*s!%rhW<84|j&)8Q=(f#a!6* zN)Bet)!`5-q8IoVB{!hl-(NMEnraU2+4$eOnvXaNtA+u8;`=3JZyPo+z9HIRtD_V_ zKQ{a)UtX0RT;n^$(59IkTqzSzM`}vn%Ji2V*q^p@ytbA>0*t{?>A5qju0a;DZWOij zg=cT+mrlXVfa}$;FG@?Xm+EcqyChb2L0_B^Rtys-dMhe{Y^x0uS&)V!5(4Cbb-mKm z&YVlNXE&an%Z1nS<%wE>`noM=7Hs1Az=`qSB9?r>Olh8A2&8>gOZOIq3Mon81fe6_ z7ddc%U+)rO$a&VG!q0S$jyJD>+n8_RC0uB}t~V0{_GnUOHOV$Veiy=&1ql)NnpYwP z#p!4C%1eXd{1*+sq9${e2)GS3(se#J5qnbTH4@?b3^aHFn=sgczv2o}_%-0AXCljM zZ{q7>!7=IU-@BV4o=_KJw&gTao!`P5AoH~QVrFXPY>l#Z_?7IP?^KV)G$Cl$8G)R$ z-fun9Ti^_(*w3RGHAHWgq(w@?)pBTXWkCKRos{IjZ}-<%-C(cBoSDHR%vg(>RA~EE z+B~^mDG(8>NS*&ecA4eGy44EyRC`O;=kHm64lZ=sxu>%q{g#tX8IVN$SZ_;iy}MP} z`WEQWb^MY3-DD_El{jSQGG-uCBa_2ffs+y%zH9VC(ED<+`draz+I_8tG#jF-z4uFYvy8YLJYN5;Ad_JQEZoUJ&t~%yN3f!vtmOvC&Qld}*zBX_ZfFG<3 ztCLl>cai*!_)krP31q z<&QmW#`b}jzF#62t)$s7YpEACVS{yyNaP&Vq)d|?4g z85$=%qoQ|v(L*6nAoIZgqxhGAOifMQT>{5Qf_0jmZ<(L*1OIg!%jL~U0Sw*u)JT5& zxhN`oAzn9l4~MkQlUk~31uB3toW})&w{wk&$Rhtbj;jTH?zwerUE)Vlwdu_aXlL&d zJ9K4xW>(_WXUnoK2QE@KtY-$9b|=V5m$#WU_nT~XZGHZy0 zhJWsK>Em^cf;J}xwl^q65=8{D-|6uCZ%#dVZG0rf3Eocpbiurw;(3v|Fj~`u{9kkg zPH_MhblN-9vhU%`BD-E~TE~ifoe2gzu;`S}#ZlRMrB-Rw_7T|f1#*x;uXx01mj_8> zvb%pm(;dTqck|O!#xxlPUV3(&?#{k0$$EATj}^QAIOiLc|GIPVPq$QcrG*f0+c^Dx z-bd;biNtA8wDtC-m&L@_v|29TY_H;9*(JZM7pPi;=lr>{mqH`K0D80~L|!naB%}GT ztX}8e{Q=#wsn`<{dvCqRtz~P%IrA5YgrOVBUHC=Ij18kYcxnjraS#EU-R!?iiP&1= zDXCY<7vSnqbj$hneM+zH`9tmO9`0`N!%uBi|D9jiv$LKhF5BiMS&3!3Ka%i~?-zxb zat(5>G*AliSeCHqpvm`+=58=xOj*OV;!YQhv2SD?^H#_kHfrQ?lyy8)8!bM)@7k*9?XuGzmyN3Z8dR7c9oSp;3Tm@u zV`F~&Hi`}imyuIr`C+<6eK@JW=nSLT2m=6~Vvf4Z#Pn!$x7B18NOSY4HS>o;KF5sx z`AH)kP8b1T%;NViiz+k|cbtRL5}c~Ob$??86Givv2uEiqWC6(>UoevjHF%=PDUpl<{U_lV<=%Sn@?0cgw@hY87WMFb=nW{f9nPR7HI2J}g5sqEqJ zj9`pQyr~QjPKo}oe|wUF2mq< zeHgO?6Nhl9Kq1`9c9XNDe)UrU>^7&=1xbVL9ny|q*;fSq3#0!Q|D{m4b|7gtx>rT zY{*KM`9peQ5>fu!XnF>HafUBBcn^69*5ev%3%~pl`;?Kr7QgbG;5pQl=A9Hg*sMW` z8^;)&`0UZs9GGzyPCN+)`2C4N4|P1R4PT{Hx8lmnrtXdC$Q(%K=WA~d(Hg4ih`|i9 zYhw;Xo*T((z3{lB^_!io0YlU{_s5d>N4A3YZW`Z}3!WDcVw&-HxflBSvovsz1;ntN z9_1STn$QmhbM=(4oQqroKA0aF^|F>p`P_V7Ap_NkUc938(s{o={hIj;#&X7yubIcL zGxEk?m6ZcxYj`fq`lpvJvvi6De zW~Ng^^SV<|^hQ`~7Ea%M{eHmOwd)h;H?F{r3BO>8Y!<%S-ZJsSCpR3EdZA^{_`l8O zkNueACtTkv7l3b{o3uk+oH5yK!yn&;h`QLeFIhC#R$p_!rbmMYHb7F7#)^EIzkhZq zwO%ss!*C(RppYI*dMcZrLUT*HKZylLR5FDAS#O8H>~R@duTEFE$n<08fD4d@XY%Wg zv7lc{%j~-gOrG5X(IC1*Xi2t8+B30ZY)jnB3asNC{T)H=R|So8c1;54Css5Ja$f{? zot`9uvHR>104QK*Jq&Vx(V9>|0L6#XRoR>LECeLmP(jn&sUR_c!=MRok=fBqg~8EG z=5?7rpVzbaUCx?D*e>s67&CH;dXP@sQX0&Q7UKG6CDd2Un();n9X_8|cuo$)A__O? zv`RqF~Z9~TG+xK}X25S3WR<8arD3wH@O)8b&mY{*<)fazn z(|-iJ8uW)3cBh_xF=RL3jiNIjcC0$R+a5Mt=>ZZ&4os1%^V493rg%tsSq5@ubmkwP z{+Arg*e`xURMi306g{vLeJ$Q~75ApemO=)B4AN%kol^EyVYaiBkEbJYCP~@_D~FX5 zI^lDco|ht|ozKdd{9x<8Zo?EfI7nH`@cUB-Xt8Fw4kv4iB{=Oz(g~bhuCs_oZ!<+nblGEHN(*dtINhK6$DXB!7=g40kgKp$HGOG6!x>%d7=k&q3D zD|UfZsW0cx zf4J@7uu=b{@nsZ22wa|r-2jf0?srXca%$|0Z=nD`Wno3D;!%ESah)XL$Ekk)C;uyy z0(oNeV_}?|72q*3U|Py|tqH&g2df?4N)b64sAS9>>*cpoNZ&e$+_{%x%bn`7y54eO zZLd}FDOpZBPBdv7badFCS~=h^ZGq?8h_o%!*%Sx8>F-T~I%5L|HN=*N4(~dgkMFMh7-TgLhnUh^ei0NvNDY z+9n(j(Ye*`&4xaf4cK+6>&JB(Rn;cc5DMao{Q;o5@u@eUmapJ%V zs@`f~TS*swV9m|;X1YnOSTwAeSK^;lU9&-FCWK0^?Yx7BgDw3`uekYs3LIGk_80E5 z)+JH}hc4Wg5Z+f=Cus+vw)=g`ZhlH_x~j<`#+O<= z;iM;zXd3s+<{{DehW%2Y+K^3(%gEa2VE3`|ZY<%Wd#+N91Bu*;VrnS!cVi0aLH)GW zU9dap=cV)`4XOuhx$(L0Td)Or62&RWc$X5^XQyXX(<$gFUEEC_!A~9n;LDdUQH*kb zGoGlS%b5W4tDRgI$4gV*<5#JnAvMd#!l|r;wgeO6;GL8CIS^BHD=QjEP>ua`HyFER zEL_FlV0zB+=v}n5^d%O_c~5dlF#H(3+BrNY5(T6zbU8P64@)M6#oYUp2P9(!fSA@04k4sK1n1Z^;rM?((xaR| z)SxE?TbovZ4=^kF8YC((w=HClmM~`DgPB45S7t)L9)rN7F>3s3=qp#pqfv1j_`>>} z$88Ju{znb&61y>$QKpe2d8JHTfvir!utq7RZA7ZNcXf>jQ}bO{)i&Y zEwG!9B>Hnwrlq7*o*3};Xq1PXA0c2XA5Pr7a~T2Y-b7<*xW_lqsBReg5;@&pal6O3FnFHXYy=qwZv!d&-AyX;RG= zy3>e2vmxgZbCLuj+F)AglrZfb;mk=-tG4?X_DC>;;o#_7gza9$_;%bHL#;Cb6h$4< zCx+r`r_dLUGDWuKP9~v@z;(Iv;@+2Z5%ki}2OhF8A8RL7?+4BOx+$(5-W8JkH7v~f z3DwXRFvvMyE!4s?Y*sYau_#-O^B=2yIB&lEMEBcZV342=q-=}I!j248hs#$J{jx4LvO(vl@;dj~wb!_y z0I_tpqSnNx7CMQm((^e|r$4g+XX3`Q2rWM@p-PbsQsluQd0L~`jjAuT>oLiCB=qj0 zX>hwd->?2|#qAI)<;se~=d>}rq-or9iS#f+sVWMpYeJH)7W2r~e6#uZh^3DM$Mf=3 zfqR%2PAA;MqQIX<_Am1NJ7xPA8-!I4!?zHJ$>H8LJUZ{wNNHyqLFQR#Pl;IR$G#_r4l1cLatAI)?G_D3 znmcH)9UeXxi<00sBBun>r_4qrLl5L-#Q1Ea+$$?-Z+s#6Z|H%?C z-z7qZ|0XdiEYWjd^HwHlrilAfPvW{_;ld)@_3ZJES||06qYsdu%AVaTNI3++sM+jz zb0@z5>1^9&wU>S$qA~l79r+=3`faFna^Rh>AzO*vRGNc{jer$K1D1yxZ*7;5!4lDA z0O^ahnhea*AQ##T6Spw=YX*ET!>iU~*Vfa!S$D&Nh~IKotY`^WB`2!>_Yqq5qMsP( zHG=+1ZGE1g&(yU2t~a??m*rSjIiB27B^xSV{#1NN8(GoGOCtI%M9Jhk`TY-iBd)|p zPBVdQRl;)EGXG=P4@s^5wP0xQh~`-jR@1$d79iC1PWxZsE-)Vqy}(ZT(mLMgx2Zm? zRgCo(Pqx#D9#G)cca@W)!7Pq!6M8*==vFRpIoZE6`k6-on^VM!W^PATdAsCw#Bg!! zRdT;%!I^~85d9A`Q5YPpS6UPxvP(e!q(zMCGK>00aBF|wr-s^}{j-HBm~ivk;2 zU-fH~$DgE0#ZnMj=Y51NoaP)X8jtM$7qe}Z+>dzgD+8BzX{c7uLK z<$Lac?3>7Hk*Noi<%4X`?~MQ>&JxcDPwOe-wd5?rQ44-Xf=HZNJnd&t$v;0$Gk{2-xk?U0v9Pk}XxPP5pa*_8-~6#unhl5T5|0EFfp_6AgI-q%8*)xKjM3 z-sIxts6g{s`|9i5e)l84q~evhCfnJ)F8pcNJ?daKmX&N&HV#Z~KUMXk{!PM5LinRc zDT4)`giG9fqo@8G(N#3PBD%dr^GWPFTAxYmYBwZoHFkQNM`_Yc!bLE|5_j3U6sKrI zlAnHtDiVN10qg0z!WDLi0>m(a{7A=yM}Ppwa1L1hD9|!y?3Qo^xMZ%zF5SojNLP$E(%{PMhV+AyTUMI{z(l0 z2l!vUpMi_%JZY`C<^f76Z-HsB+G9`g-a6syHt&~z#kS1F@#vc?OJO_QZDsrXr09vY zIUrKy)m`JR&3?@iRhm-9WCb3o>hcA}$<8BG#FH*n2XBM*_S?qXr`C{K?>S6)OVQ5_ z+)td-Hs0REf1i?{bgSZpZbS|%W{?3Hv}D+9FEo*cF%qY*ayxY=6D=@4hZSwqZs#oa zGXIq!W4k`gb27Z|g_n~049x6@1W9tvi$KE^Bfo5BuZOH_Oj z4l$25!2!L48$-hy(`~WWPReL)(r`(gcV6*A|(aGy(3ipz=`bM7lC; zq)I0ZUnIfqO(c>H?d#yT&)fEi;I^=$vGv;se)j7F?wg9`$;$k|I&>avN7KfMitF*2 z(lFq%YvkHaiteIt{eJPL{pIc1&6$mu^jc83aE|T!$?O!9JC;?q-i#)LfLILRE~+Cf zCEHVgsGiFD0Zi*ZOFX^?mWbm23+{1i`9`KAWMYAf%3#XD(X!Tu>8Z3U0-xhV7TxmT zNSg5hUL?NC=anfw)32Wr!ZpXzpl6s@lxva+Jsc%xl4VvHh=fk9QT{*Z4oGYxrspQX zG&^_L0Nsa7U*rQ`i?)$_iTk!|PG+Dq&;({33tBNey3-ys^KV*yYnz2Cjtgt!WR}U} z4^1mFAcg`&IU;?kB*S*Jbq*!&8t-N0&FsiqY!5&u2eQ^^124p#-GoPIJpn79rB672 z{G*7zgb=WQQw93k`_+_wc~?Y#xi0%d1XijD%_PpL6X}B%+f0SPKLrW(fXqtp9Db zS#2kG$}%nx$Wwq9YM@qQTg0(%n`CQ2b(Nuq{99A$65XNA=?LkU)bNP<&!ysrFejGZ z=6$F?@$8h)oKHU%DXt=UYUu?87>ou*sC=G#lU#o(Z-0B);x)Cm@lm8{^w$o9jXvrF zQ?KZ|(_%4i5;`z#qF^^t5+UEfYC$>S6B;YymYvw}VpD#4AU&z~#j*FQ?rQ42R&mvm zDf4Mc>s4e;dUJG4Uz{!2{!}$R*T2c4z!RATEBT!=4&{~6k1=lIJ_5m?qm#9hX4b4^ zoJeyNuq|#Iu#Ck}$b^POTLFXPg#$4E-EKLxH7tPXH&zRkS$5b9!+;_a1MgXDrNEYe z<4l1;ZgNKPM2V1n*>`yrkS!~5Aa)e0hdAkTDP|Cdj-{m4E+jDum^@Z!YB6C5PEz2b zweln+p6KN~>({5en-Idp9&8_+?-|WB$BaF=7xu-S4diuNtz>Z%E7KRr$T1;98{Kcq z4fPiqH4ncjAM@Y7ts^OeS8^nF420zW{yE&wfBxy`5;%pm62C&xp{I%w>;Vh?+Gesg zDR%R%qVEHsQ4ZC;VkQFK<&l;}1idZiz~1X~{W~M**{XSt^b(*~f0$@Mu zGO;xEr&yELjQW7NqM^pZ~~{UMe`Iiuz;UOScr8kzGJUGOu}i}zExf}B=!#Q4$F22 zkVpTHys2qDAY`aCu~(89(4Nw$ zf>#>tit?W4Bq1`Vwtom)-R_`7EEz%`Jw=mbWUmND;(T$*d-1@Hk2s?;%h9 zQ+nFlol7j4wg2Nzr{!+9p+QzOpb7f%sA8<}89hFbcveWuO*a&=n)vPyyqslJTbU@L zK^mUJDsAaxKXTzQVxQ7~k``29*feeF0a@P^mrf1~|6@HdsM$}?;Lee0scBiIu5hr{ z%f#yyt_nBZ!t<~-uUTABGuTdVj2EIf(s6oy8a#8AGBqFAxfA>P+mw3+5tT-bu@Xn& zH;jGRptbLYs8P1jxVGXKCLs8x$iiD-kgcu#DpqSte14Q%u|-cw#K}Z06QW^ZOs82A z{gcMd(|P+_4U!7-#u~maL?DMvT%3O@t9CBr1}*gbpH8<2M=`c1fXMf90KDeiE+p%% zl@V^D;oFna6IH(id2Z~G7sDXMqW z$wT_o@`eKsU`$>y^);~j)Id?N&@i5EgYm|St%mjaL6qlPGRO@101@y8OVDt;4JjSC z23-VSpOo>?5r_bAeYV7C2eC{J5ER)6$YF)QsOf!qgs0r67O#XcLb{*v7F?C~=*^ew(zZqGbUU+y&ET+I`9@ zjn$3O$Sj7i65lyrJZRrTZl*VGvrV|d|61fzA3t@i?M9@k?Kx0nz;B?_rT?ri zm5xpt>nG&4zPk0wt6cSM;6EPf;{u49qEV`rq`T{yz}@rChWB= zd+QU&CTn{N3(iMIx};~-x<_8Y+u!2Sb;H>F6h%TQ#KWuU#4^+fp`wtv?AoLx((3{j z2cqZ#*BxfpRbIPFaGqz#+TV=qR>T-<-8Yx*p`FOfoGv1zr6}X~{>X$af=*bU4Jp+9 zp}PD~^2~h%&yK10Uw-=6fE?yUMb-PWeM7&UMaVD-Q_g~w!Je{+zw6s4Ftl8+RLq<) z2Nfi)_oSdN!*bkuG5)IH{U*c&T!XtnZImU0fO+dFs-oA5Z{1GSq-c@>11hEOwrrK( zT87(;AM5!q5fQHcwT{fe0ckW<#Ftt74PwXbf`7fW=k@>vA^=P)zQ`LooZ6aU!n*x^ z0jol+@~OH=fjy4x1}cu^t>zn0uEJi4KI&d{XrpO(5)cN+tM^Ty`_H8vubl5s_Q+XBzsnzhwd~%6raRnkTQSodAl#KNlSwuA$_@ z0E*NX=;arueD**a#dB{{GgH$kR>T|AejJ#n8afVUJBdVnmnNb4_y;hM)(#yyxu{f- zq=pfT18|CL|+hzbY&El7bLUH|n}0m@>Q$;yFaT9j%p8FuA%y8bI+z z$?C5qee$dByv3BYdCVpwH?Vi4sTbdB zn3qCzZ1*9W4|_mI->z54m0U_v-aWVPwz?NW^U%-+ZVj- zz!MH$IWllWv&dH`O7Y3%G<)E&6o#ZpPwmfm#}_|zO2s{KE&8F~FdKq*Be)D-IQOE& zrO*L{zNQ@hfb-S&nb*L_XU2))V1vOxD=g@dGRNy{?Tr^xG&y9F}phOvU zEN5ZXH!7KV=6bh%o8^)^wFV7skrz3nS%+pXsoo%D{x7U4!k=n!d!j~O?=+x=!HMifZWC3-- zFs7@hAN8MF3EqOrKbiNa_TZ^Z>a`Np&_o0mJHXO!E0_^{rLwl-jz( zEZ>exV%e>$~=5^aSEqbHdLW%aq#*7?2|y+_}}6-z*Nej;_{|> zCOFl^aLeA^3nO+UN{QXYwT zQm0qY$;nuv8(~H<09tO0dbm1 z7b@R7|12^5Jglwh7uBk#6>7%qJ-zW>G|vI#0&^)tb0yJmC!M~19XEne_IQzV%-NxX zdDl^t;j``k5&{4p+laBza=U|>02$)hczq&QG~!JGKGS|)DN6u4CJAapIQf~kCrIW- zG;N<7>E_<{ZSBf^xVI7NxA;41@mJ~i-1wDe3v7T&u~$=#JYHTJa9eY~&IQrpa!r6G zlp}^L@2G1KI)zFioqK30FM#?TGz3jKK%?*|!+I<%Rl;vj=<6=8+gnsE_Wr5c(``SR zVJ8U$&Db<`t8}X@Y{A(DK8p|_TKvNwJ$C3>}8A?6JQP_(6N2O zAZ}}ux83lphHT&ikn0eQl(%=UkbG&F>NVvVU9PDB-ATt?&}?L-*1O1k)h8!3J>a`F@(&67k%v_s2 zs%XmY{-u*I?a>}e@tS;1wP01(3pgUQr9F*6Z7`czutSd6>j+kW$(Ll!FFUi7SH|c0 zZpzupV~SyyJF=lnKCi^|*Qn>U!zNC_Bc)h~N32KN0Vonj$M;tSo4`CoR+<|)0pZ|- zDr261ZWK8$MJu9%uOH)-Xp!Mha6~LsG)C#+hv95lIjC>41`)GdI$r^ePi6i&3mUYi zJc=1`&km2$UU66N{uDaRMFE9t6vewoUFf4IjVNv@^^xOC!&~Tc zf!n@vVF?BY-SACyF{g?H(xCW+=TE#G+6^7&tfDDf?c+smKu$wVlQdoKP~IALh;HLv zy&1)t*l_?}5w@S4_0Ng!4L#^RdT&{8#&5U>&LyGmWSst=5A2^0NA5BKp?hvfH*--+78G}ouC7+lX{o}FbpNs>>qci6$NQdJu0ru;g7#ai zp)MILvuAL&$-pz!bk(gC7~lz*%Cg3cA5TbXiw-5`mhSq=n{a2z)Y*DmM8J@6FR*jy zm)Ocg4DV7e-Nyprov5^qEgI6D*|4D3FzAYP%z80+p^1lk!OU~61CN?{pT7xhfUCV~A!~gvE0FE6c?ZLxP4{bN^l@fAz7c>717?7K z;P}B)hA`O`*7pE4wms$h+l#dsD(drL;c)NNVep(=e`Bk(GQOQ$XhaG9vr z^}@0_q@M56^7UQS;{c3k+~Re)Hb$IWNNM+6-b7YXbM4r7a-PMXjgz6HV~(TTz?3YC z^rqprpn)X9^mlE!)#0&0X?Txu8$O;6lt-4DmR>PSR*;ztuN2xGD9ccEvC@JKlPDbY zN+Slk!GAJ4{=Z~x7j6BeodfR$206JW8uuHZx};+Z5e>|bV)%RpZ;^-9p~meF@FT#~ zS9mOrR84C{yvKca2htJr#PJboK#gGkGHfFkRqv7V8wNIxcuWWs&F9i35!`(KjDr4~ zO&iX!4cD*Uo!axxv>d8lH};I(Ilk9wu)SA|zCN(?;B>OVxogrcbeXfh=7tQxJioY8ehNzq`39w!z+U`xC^v3~jMPyDy3mj=S)JP2oB zt#qA=z?gE=+iKl8w7T-AQ>8*1mrWbN?w6!!vT|aqxv%K|RnuTZB60N3`XvX~XnD`$ zy29kIG)}JEUL$x$c62U+^2FaP(a@*t)2r#p|JCY}s66rG`4h_8>3_zA`LUc~-8HTr z<6`X5*UuRH|A(fp42!b+zJ6#)rMqir8A2MQ6_DQChl@?v#e18>AcQ z?s#v1|LeW@#22{kbM`rB@3q%jd!jIN99Z5Y#EN&g zxcb_&mBad2yw(U2OJabmbqioVH9{ltw z?PJ=cW17O6`0;~*PJ#*QqK31m?$74tYZs5uWTu8m>8VbVL3)RrNABY{1x2_((A$0chPi9KqO7;~e>FDm{^20jmbWFYzq4-6DYyDCeSFT(gzta-_n;a=Nbjr{K?~9X z{ca~V1Mt=xPXYXZY)TTUnn17@p9kuu(c6SpSF}NoSaEvlbCoY4kyg@?zvOQz0t*ST zgcGS~`zz?uDaFHIt+TAtKL0-H=&wRQyq-fmd{BN|4^C8)czE?n9Jw9(H zL)2<6)wSZMD=xoC#8bPUO`*hZM4xq7acw`N$-g1-AV=u9aS=l`;uCZnhxL18E4^vF zSH!zzeAT+C<8y~xfVpu@uPnZ9rJ5aZ=fZS@hPuK!wwv{k_-0J!)PY8k!Y`xhbq=(= z$5?HSB;!5l0_T+H8VMc*{=H(2P#eo($%`{7FY(U1BDyr(Kgt4T!|zig*$b8{2dksd zzhjFNk8eB%aPe`yu2JxJp)u;lOA=ol?kaRX6!E~Y*6}ENP|AAgr$MIgVLP8a>8Av%maK4A4Q!_J@iQGn-%N|h#ro;-NQadJbxZ2YTYKB-YkFqM@g&QhRUXyG{YdKP zO$T<`BqVjMR>pvnkc^NuUJCfaoCNOWu|Y0xDH9Pu!M}n_uIe`HGS1{~dV&0vZqW>Y zw5b{|lOvTtx35#T-(qA#x8VZ?-TdRyDMYyqCBI~41!3zmN1tR;_9zM7JgO3hiH{7MS9|~#AJ3%8z*L+ z6`j_@?E(ZWP0F46u}Rc_SRGs|eTBVkk6mApeV$3%zL1-43cNKW3~F%y;1@FYg%(uM zroSQO%BAa^W8$+B4>+_A#y7cS3~r_@Th@0$q|EHn$Zs zb6J%MFWv#W$_xZB1_FTSWpWF(&xgQco`lCE_RYGqUY=CdsssP8N(Mqo zH{dFC(jA}bAuLDIyvYGGd*7*7%k1w_u4GbZ3cC*F~f^;i&^=u3KYpu1VUc4`G;OMtI5acoestZ=4-eh6fT9Qqpy17YzS$m*6P96^c3BPz;HJh$$ zUfCiPuei(5N7uasJwTltQI6>!Z!+W4KEHMYzfFC=RA|;Os8lxVV)dOdk~_5#kbFp> za$v$Zz}@M&K8Yw;M7^Lao{eoD2#2Nb^u-7AvHHx~I<+K0kz5;*+`rPSZa-W8UbakI z-C|(%l98eNarGR(iZ;VBf()4@?~({)N2=pz)H*aLigX5o04oZ_+%tp5n48<_{j)Tn z`u3hqI>}mkpYrrU{t>Cw9zJGP9+%j;kaO9M)fBtrUHJVCeY@yGNZ9Jucqi$Bi*aQQBDvKODqjgH@Ha4TBI$AY)GUcd&a$W_E~;M;WF`B042(7;s)lK2jq%h*DdH9y3BmElAObXif@@VMk`8SA7(il1DmQK9)42-2*B?H#$QZy0JR5kA25$$cV!|4T!D_ zjjBt2fp(6)FDHH7qRn`9Re)9cF(?5u#e(n({hZhh_*@1h29YrA^@ZgsrkcqGV1iuM zaoXQNXYJP-Ge%TV>2ps062RXqCdL)z>{6*C?4B0-C^9#+W+wY5Ack*f@ZWETyNT2S zX}`HP?pWhwfK%gY1^@3gIzj_lT;6~*g>-l%acoiIX{jhh0L_$qS49F-d-F=McI&N7 zb{TpzutxsE*M)vFUN80uss&BVvMMT;qsOi`ASAH0?i*hiAUGARp>v_ZPOD~&HH}xr zhOkr66WGH6aYNq^^Cf-g%Kb?Z2lmL^Kov=Wp{z{2jYXAg-VhfqewxVwXw!)?GiLDP zIVG*k8s51Dbn)-3d4tBDfPQ`Nx3fmIojAv)G7cx;R_mP1%r(`e2qgi5(>KVee{_vd z@v7zhFQQ@?FHz60(>`IZ*AhU~ep<7s`8-5YDusj8tJ@yJP>eKJ59So+yNFstP?|jj z&W>h3!=5MPJ+6{z{+I^JI@g)_FvN8HUCOfv49b63hH!!ly!&e7?4@DAKVNtJN_@ z{zFNw`=0aszT4d>^sv2`XdYgDqR7iujGkCzAnKJLivNri0T?mcJ>C!5vW0NFysB9F z`p3~M?R|a;M_;49kW4(te49YCIY^D!CD?gerad1}ki-b2J*<@>JVoPugu3TQKN zS5^7p?2AeH_*n{9|DOvG)}-KVb^$0$s9O)^+h}7yNxF|q{0Rnk{jV7oXy9Ft7Ay#4*Y{M?q?&T0QDPR9vZR%5W9oK&F?fP$ z!G5Ftu72LqV-MGiw92)uQl4;gjj-e*K@*i<7u!4@Hj34LuKN%)2wDA}G)mA{+Sf(K z8EtGz7Ptoi(|G^7iL}@dptNKph2#Yc{HV#)Jfztqy8dX74=YR0DRGbg%{?8{4=7!i z+%WrJwcGE#N}9S-G$6w=&})~JSyGVx;&&XO=gUi$9Zx5<%>2`957pu9(q>C; zthtH3u`Q<2`k(7Rmp!EZbp+1>J|7=y3kfr5;XnZ5Oo@F|d0g%yNXj}$TZD&eUbG4^ zjxA_;BFHcaMVM>7=~=Nqj;bkiId5k6rkB`IfW}5yB{mD-BKds%WHsH|&L^jL0seXI zTUNwr()IwpDs>B|j!+Z^*Tl_Js!KE~J`8#@<|x*+Ur!1R$WMO@H6r~OJ$!~`*LTgZ zv)C!GJKKD9ODSU1w7O^iQo7K!MC+4$F(@m_{8BKW)uCD8#l+b-`lb4ftXuQgH6d{d z#+5gK1Tslkgteqw_@qwusXG?fwJ&-8IfgG2y+z@k7C;kKLxKD*TwZjXuOqgWu6K~c zx|mA6EZkHC{~yhumbJm?;5-5+2U-vX>2j2WvDEak@G(Oi**BbID%r^TlPHOi7e_Id z#=iIQ=$+oSwMPs`bDh7=atxZC8&GNJ2?rIb$R@eUsvqco&Zr+(e2K>_rg+=i8FxRU zR4D%8@Kue-+9w?*B3R%I>3$baDoX;ue9Hf%l@P*YdA*MNF><(k&j+(#Ud!t;s&`tf zOl_IJgQfAzV|)KP^(IYCzfKRE99z#|&f+^!lVZ&}Ina#9lS|p5=ZAA9>h67wiFbM! z-E+hgnY!n|DB}Aah8>Y@IdE=Hck-BNQ~RAZ$}EREE4<=wb+1JHdi(UPwTps@4M=L` z70}{>+J5JXV%ThojoWJnknutmH$^iYU^EusK@kf!X}QDG+)F-aWdX>Rbe|98hkhDk z)U>g8Mr^6zozp5COQYHq)@*00>Naa$qEQXsEmC|XJ<3=Jsc_85%YE|V3kTB^+2u(F zEVwf7Yq#Mc@8HDa8TP^dPS3hDg-=%P&^JV6DK;!TV`O6ubh?Im-|L->nYth48CU6$ zE(|y?JCglj)hz#$ce5oVl~ITIPeL$h|06D9K;zD8oaR8H-7o?=PtpAA^2;(?)%f+e zJ!bfL!H-hxKT5l#O8AySi+61g{>DS)jhA&2`^;S}tqD0madMld(1&;zmgttNkP+Zp z_r=CO0?e4Ew@9)7d4p>2`G0{>-(bxB0`$8e_37^t#zNYhBIK~dC~f*>CiF;b1QVcJ zPt(-jI*t6^`{He-%T(QbJ!NN=J^i3>;6_?9`o+`G{%zQq((HNr+sLJnvKhHz3Ctq1w5`?$jQLWt`?QQ+0Gl&aX*|fYfB(8UHr5pI?be^Wo7)qy87bW{hqFd3x&L9 zCx}b{)#BUL8O99RQ^DU~KA|ssfB95ZQ@J&~743r1I7RiUOqJCvN*bsq{Lf4m=%&0) zf8SSzM~!~c!+-Yay1zJLcBq(!{3LrNYewWz0O;6*=ngy4cxA<-fLfq38vKXue@vS_ z%}-W5im(5HO)3p^2yS#p02xr+C0oZD6~(Ol73~fpM`-rW7rb*u>Z#HrgV=OpT!97G zE9@g*DmNNUOoIYxs|0~U9#*%Qi5bqf!+m``KZI@_EvMDDaE7k8$8E3y?%!z^q`$KR z&bROt(_2Q}VpgUd@>Q474EOUJm+(_t%D(5md?oZ$)xrVZYMt%|Z08{!2{`(wpHR~~cz$z9JS z%4S!;M;=$vh} zg*T6fPn*6N&m2T7nO>xfUCybh3Dt)m4{j%qr_CG0xoXWd^SeVUzd-i{0Rxy{9DbYo zTJ2pgWH%|FYUTjmLBZ43GTuY)0APq%h3&BLIRwgGZ{-ts^{m)FQWaJ(YMYiSEgtr$ zsVruS9#_Ta_m0TZSU5*o6>2o99YmKq2f)Fy6{<`|atRl*#(lp9;CXCrU(AkqV!(nJ zuZvufAd{KzVYtiZnA|69ADyux`XQYy6<*VFVe_2J-(Bb!MQ5MP@xF)J;=@&3Wk>3G zdUzQfV;cfKOxGR8JlUA2SPEt@Pk7P|=|FY8V&=q@#nIMFXLb#-dujzU$I4PJ!)f8(3EGGRRis&bl7Y=3u4l@exMay zN7d3K*{|CHxHjN4Dc*fzyeMQU6MxNSe5q?8fFLxe$2S+rR}63%rBghR!}8OIXLH|E zN|RzcxUWdU;wv-SBSA4>ccX)hfz}76LdBhVzC8J?hyHb6s-46lBbaGxQq-3brWanf zeY50xz=tRbP*wBnTd!`*7rcTCpoyE4Lw=ww{pkCb#48NA^gZ+@3x)*OQnbWia+t$b zZ29d*GQ3iZE^dZ&j6VRW|H)SZ>LrI>}AZixfmoC|? zWoyEPJ@cFY@z-j3+avG6P9JPwO^B*t*+&r0{Y)%XS=W{uB29;5wM%>CsTypVs^kY} zBe6KK{h`6cN0J#^Sp0vy#U+~Kd7DWCVuN~(MhQRQ3JGPk-2BvXhHx7bf9U6tZmV)-yEO7Iv}IyRpEZm(v{+5v$L?PXE< za8EM=oU?e7ncUA9DzoE3MmH{;7;j94mlB!d<#O!9_8U=+mxYBrK@QK4Wrx`!)z_wr zufA839f2)9A;6f`(OMf{fk=C+*E9g!B6OQ99C^*ejG^$eQY+tDHw<-b<6B!Ue?hr`!IR8x&2_AOR{4-Sj{*+avz+klLAbQga|I45NqHkxo-pA+C%q+I}OEBYj7EjjaLSjdBq5V19p~mM| zdd~1+_W&YAd;k}=j&rS9jAc%2H=B0hL8I1YeI3OC&a*v_DcWtEtdxBTN&VD*LWIMJTFTT3S8Pk4PsV=l!?NPdqoye^Zr7=l%3SYY`=XlQjvS+i676u;=b>2K{< zkihw4Mj}4&|2kv+%^VnsIpuE2y{}MF6-<`Ac_|k%p&mm^Y%dI360EU^XRjw3R+HsY z=>JAh=Ia!wqCy`DeG3xyvav`og3w;|MG+sbg?kxSmsrVLFsTji>AxXqv_*#e=DDpQ z(M~?p26;#-Fa2IePml78tad|!Rv@Zh)slPysBMFQx7^x6LGfu*2OF^K*iW7(4!+L zr&oq`0-h>WyLn;QP#8gA%ge$FH`s|gj)wNN=nMVS*>^YZ&*$3znF@HTa7zk$E#4=Y z*QC#XrHBAek3^G4Wh)@iWAM2qvf!DFiLINHEabA(VUG$1f*VL=fg~lJyj)aD3Vh1+ ze)uPIg>#C}VSGxF?9ZF@xxID)@gdI2u$z=AXUO^O**3@GRw5Bwx^DvLL8Rqw zKnZ(zxd<7s5pgk0)Lb)m%0O^;;P;X0?bv5+TO@qGX}Ldu?4N04*P+wV^eu7Q&6gCd zU?SP#IDh-h7Q{zCgkou8CEpM{z)zf)LpkhrX&4-z2RDerZKOJ zQ02RM!QN8Iq9>B+x}bE(qy*fB7Bz1*6eT=Za_7;eJR-=mUN19r5=I%bdz&=f8!^*?rHeZaFrk7`+dRJt;TO+O!h868rk_I^hoE0X zm4Xz2HH%@Ndp;YZIVUfD6wXuaXo~qY8#%5h<f`B&7iCmMFqC8?49v4Chdu(_0AWo>6E>N=ZTn}HCl9N{e47;3l&Xb0rds((DX~_ zn>Jv`Hifd<^4*3D{amHEOW%2S+z8txxwS5ry9bKak;878qTXpvyHxKW{dqQ|;B!ly zbu9KAhCzt!mHy}Kz2~>I-{7oqQ2mk(x>%VKX%#HdS9*l35r_qX_A@l!`GC1rcbFs z$@{*)T0X7v^c~e6Wv7c)-Pw5}XaHCnP&U|3lh(J4{R2|EeI$9_Xz8n3idb1<0U1u- z!&o%eZP$nX@{$t`!DRSWvGZMdea`TTPG|X$2j=(1iWKU{-5qn@_07@GM1R-Ug#qim zKxaB6=X)k|YHji8sv>q23<;k^9lNuKfJil1jUc<2(}y_K2=F*WAOd{kt*?f5!FJsT zI+JR}2Ve>RRiB-y`yzK5{W0G&C>LUbFm)@AU%~f_5Bw^9&JYHAB_GdiwmM+Q@-_jZ zn9?A@%hzmwQZCpI3tchyc;^y#dRZ!JLDeo+MNsI6M$i@;Ktstlva^t;*ZgdIvlrS{A+4;H!nX4_HQ zDpBP+^bt!nT@vc(|78nBTsF$O6tn>7R6X$6>|=!jDQD#mF`{| zdLG=TdVi$+UTl{q9DHLfdY$|Ln6s(9Uge=Wi@-h1x@;8f>PkDGLxhgH(w>&$&Kfn| ztmZ6^v2lT+xr!D)5S7(EnDjA2I>x$_y(aR-%?}2>&(W`x{+W=5E&FkQ^uX|s68*{` z{xx5G`6U00c<7E?IUrNe!}Coy=wb+>u|*ObrTItsI?L@epJ?FUyD(|bsid4;kTBt~ z+4O9QV=9~IMml|zv)3?p!k62=U|SMdOLk!N%aaRYVELPFhPI$Q(q#&eC_xw0yazr8 zyG=3LM&t2uZ3_>ZX_^9rwq?8d)b|Rn#}>ZVitT?lj*?&_zm$wstyz|cpKy*31YKZ4 zOu8j^y7rB~yR5vud#4`(&V$}E*zVXZBtctE%R7G&We@+!?T<2@`tZ-0q>v-4M?@xfzu+R3$#*G$+u?a;}>Y2 zt18_#Rtw-_R#1OvZ&KeJ-%G~$(Gn(0dP)wQqd)VuM<<56gB*dXhyeIk3u)&YR_Qmo zcw};H-lDi1XD*g+(Z6tBHLI1jz08j2)1D(o`X3TEh-_6^=QVUtG5<_}oP)Iq%I(}E zhkNwVw&b8Jat%y|A1D&10^AA&bmxKY&FVFM1U9Zk;>-y{)@ZC6Q1A^b`xkBdhk?zw zGL!zJ2CNQ^-0B6}3cq9i5@Exyv~bV?*gy(k>y}P)`xHLYlS-$=NAm|}>dsg*kb~4q z=McB03$!xxCk6VZkEH>klgAa56pwV<5H(NsVI6y9xkzQwYl&Z`W%$u(`=nVa!-hYa zHrmW~-3%P#w~yndGOa?Q>-85X#D$a>MZK4!E#|XHM5}^XSV5$jE5vn+f z?zxvj(O_(14y%?82n#A9{PG_13c@vc%rZIN*73jj?mYvO*^#}JIx$Oz8G%fS4aQj%?FxCa*5~Ac9}Y-K z6sdLeriNPz=)X)|O^$4>dH*=PtHcNF6w3jBK#?ATzWe(2XZRz&h6`?~_Da8y3e(XWcPermLFePrnHajHvv1iSO3|zmHQ%zu9EsjEb(wo3UgPFZj@mN#=D>6+qx#a_T%l0jhK|Q>W)MzUP*k`k z)2m@UUQ@NLmv2~5HS=eO{@wG;=g8{qx78u}vK`w|oH5c*tF~=PZmHFu^Ax7f1K8u( zR&^;tq@)5Vx^EwuBDb=!zvPzI02Jsoa?jO`7ITzgTe-r3dZ-J`HCg zCD9<4OIBwvc}!DWfw+{*N>-eBPK9$--0Io)01Onnwr@70A54KEe4Fvh+|EL`lTfSL zHNM=TJp#|qU zi`k}y_Q;c+WfXC$7an*l$YnW9xhX;WwQR+k&{uTaQ*Gm;*k`=BG+#mXaVj17EE7`< zPbDi{Z(OKp8zmYiLJN5GG?g|nRb`cd6GEcv*&~sv%4FgSzpc60z|@BWXxi5E??PP` zUPRy%r^R(mjKKg_)+Z_fP#wp_a;eWN9Z@{k@cA4IYivZX*%WgXhYgt&B;5=NL@a8% zF~xLunCLd=+AO_TAgAOh9EqkxkT)<+?huQ&FQmHczektMZe;F{$uGFdhm(q4OOqbC zl5&*zsPdKv>Q0+Jj(^}+%pNYA2_K|pv+tyb&|MM`ezv&h5G#8=ehbZ84+z}~`Uofn z`Gfv`vRhvO;088XXCBVcAoPWF?Z;==9w=1fjT1AuTOH~ZmM8QM; zKts?!?at+1AEBNrWjSg0*WB>Q^^|gvKiC4dyeug1inIF-9KaKQRGf-Ci>$WCF^)LG zyq#J-7Fo{w-O{#)O!5I)*n7aoqo2*{n1nOlT=7WRHN9S2-O!sfGW$%U+Nj_zB8Kp# zOiE-wHEbk}B<{KGi6Jsi&FUM60w+B#z?ajpu5?+_>sby_3#FV5Wk!a zHFLL3Y@jB8B{sHj1W^95!eNup%4IBM;ya`(i>*PqFf=3}C#_6-B~2QeHQcFzEJFEL zc>(}@J~6(EaEewDUZps#R=yjcj^?a zZu5R@vEBh-&O9J&0yOqm-avT&g7GTM$Q$-0agsmJIF3#mvm4^9()ioW@OP6)rvRjV zz(nQP;im5NXfO) zA1C;y$X}*DiP5Z@&xt;6W$qbMcWT6O zaa=xM>8?-sD@A9Q{-E$JH+duM_#ktQS-WxTGL;^L{EVociRCUi5^&z*%drTJLacT7CRRRK!B;P?D59XVqLP1hgD`*fePmgJ5*7(_tl3%F85(eqOIoy z7ZV=mKf5@=^Qt==JRkoKcuIkv^OMHA8O5@0sV-hJ!aC+0`QPV;qbPT3o+5&RF(J~F zo}r768QM;SLj)W~dY6^$_|K|KEU3hQu~lt!@PIWrVA@3f!|mj7zOo{5>_uf<96ozw ztG_TeyrQ59t12EZlPtxR*?-MCz(N2jzkxC74lt8VeY%bYj#!#k_GD}WqP@m(@ysgZ| zG6K=c--`=QC23_aQEmQo_PC3r%^JpMeL?1Y!LDHm^|>It(C1AWeh4`~K{2jA^>0s3 zB$vR-g8pn8u018;w}l$e8LIyI|6G7-YGQcf%qeR!$&4KZC(P!pfMmV{m=fvr4@co> zg1A=n|I{ofhMCMHzSe`D6iKG%KaeJ(Q^X<2x!wPj9WLX=<}MAA``@P1bs{9bn<> z^wm8n?V~j8R6E^kWiouMSb)_YFfe%9-O$@0>#aWv`DjQyclWhU?uC!f>*?>bX}P>9 zgW9kDYOzEu7OH-)1~whWlCUJMTg;xkAFKRl*T4UmQzp0Pp~EAZ#mjK{k-~?(6JT91Ry1^qLL$v{!rJuVHw}N1YpSQtOv*>F`b$II zxk`cb(SP}TV9RUlDDBS&Ycnm97qs8?;>yRp(tR(ud&y(pCKV8ksO3F>b5`mv^58;M zisC0ZoV0b7S;ckxxjaJI8q#t!YZd{aL z%rsrtLkF1)g}zN4;o0EY&M1ut8xiyC*pN&SOAKBxo3uQ4Xjd)xc#}_AaAH;XG~Gt^ zBn1SKYW9^*IFY$MITrp}AMp}yB5}WV}{2KgYBYqXWB0 zMKcbN>5xFVd@xh48HSUSa@kDtIhMoj!xslqK{&%cKD=isx3VE;{Lc@m@dr-gFN&wS zk}D;{Ua?>{W!!gFLdALg>v`HRY zPOu?Gt@x;stnC>XGn~SNOdlU*NQ92Olbdv`{g#um{gnC|lh^$LMdv*_JF0YF9^C3b z2o@ovr~EKi$w6=Gj669UVc7WA@jtjV5@a0ZCf^EGm!_NQ__!@E#2gC+;$Uic8J+@m z`EX5@Q?V&ZK;1s^c?{1dYgn}ml=vK`#(GG;iGB#Wpx0KwR4DA|elcC~9^A4de_u-6 zs^sbUu|d@z*#1!aC}8{fR5KaK+D%eAx1K*&iopH~Yz8R8(33qIU5EaLMS~qOdi45| z=O`Iw7T#6p6ikV*jjdn*V$!r0u9BNcPg!eSz13gwhg>)=_1b(&y&0HR1eHw6~S=r z_tviskYNb02{~9w@9 z=_9Wlil70;X_+7J{NXcsU-xsU^v2+L$?0d%*J6Up15K{{5?-0tEhaZ#QC#8=moZlU z)>o$4;GzWW*8sdY6CtsKkPCC!{$8sUh{5Q@~k0Lwls& z_vcJDGdB7{`sALn-T$*%?!;W1qFYmOC1>%~HT|N%thy~HB`hECh%o(OgdtM27Hham z!S=^G=qF7ySu|ZX%vNlW!{q&yNKo<8(Q9<8D#v$2OI>PI@KaT$;CjuMwuCu)%icla zLrQD1x389vrBS8B++p17TAcx4z4xSAA6iwcpw(_+ak3q%?g)@unUv}NJ{qv~!+p1h z3eywEC^4gO(u(`1YbvIdZXeK!e|~q4hoI-Ncw7zh*+m>&)$&N!h!s*>Q+Zj6HS8UW z(_8N%!iw%{HxXG__AWN>n~a@86zbTr>`NdfB#dK;QLr0yN<-|a`c2PQ3oac_=MeLK zr2*KjSU;C5LWn?<;`d_(g0CyTwrGI?Fb(Kk5n#^t%@ooPmOJDLF56eflvO&1Gbh4~ zBp>wx%uT?s(E>39_2&b!z1#k412bOKzEUY+SxD7TvE~z;X`0+jTW!Uel zo%aljt8d;Syo37;=XK|L3Ys2^%I&O`>U-Yl3c^EVap$#-CB=i>h<-dny}2DP1Jaw< zC6q9-pqwfNwrxZ?oi*+)VvT^&{-CxR@0)=tI$0x;ZQlE@#{!u{%fcv>=cM(W5{9x> z18+y%$**9ZUxqo@`NB!iIu^P#_Uq?|moP-_1Pec6gtd>f;6P5gp;uLJ7hegW{@ay~ ze_J9XMe3%#ww8I|OXBKg*z@Aoe21YD#syn|Nw&XO@-mr=fbhv=L^}Vx3He)}$nO1m z^Mq`8U%`87z|KedoGDoEtKJ|_m^9uVevCW4{QVYoRF#KVG~;@d zA2>jw61G@pSNhW&W2Z@@B*sY)>(Ux85sGL@xsC*B4KLe#rZKdn=2*2X_;e-%fjJ#r zwn#lJeEeq!oPt)U;i=7z0+xh19kfc^R#J^15kUQh1hp;Oj)TUN$Hrd)7l5?vyY@sg zJm9E`!sQhm%*c?)E$@b7FK*=!$HWofr=j4%xXTuzfmCiW0*w1P>tw@X3!?U^p_U2_YuLG`MTMC9{OVDTJEqWjg-9=Nuw3EO_d-lR z%&dwnp0?)ZsuzsNw!Ym?Zwy0ji5nt%sg$pMLEtB(xhm~JUGf(sVz@``9vuR5-AjXB zq8X_tX!D(Y=Et}xr#^(2-@%NjO5CrKipM>()#Bef?Z4G_OIjt1`J!atjD5S@RSQ7oDy|Q;R=AT*V{(H2JtO!GTRhOBNZ0f&%F{mo$67?z;ejsKpAaUVNc8BA>Ez|ef zOC1QHC{VZQV+~`>%H*)y#nhUE@9fIwtGYn{VaT| zmw6aOe=^Xs)b}DxbI;EOs=@z!)!*;vDh;hBEhvmcb3E&Y{E>?C#)ZgZWy{_TrnC?Q zK7_ViCrBcBNB}vyIg;HL*o!)|6Hh zd*BD_I;tVe8B(~rFv*pfmX!+dt3Xs_D@rme-&1CZ3v4Uj`6dWun)tAZ)6qxx^5)14 z)A8=lDso-f%; zv7bu0BqCb(#0Kh-31#wWWG+3izXH*w8dH zCucWj;$Kl4#{Mv{HRd1KD^W8V@)()`@V}o&G9@EQB^~y`vf5u$l1^f?+I}}NE6H6$ zE9ZgW7XuZ0>RVtmva;76>u9K5i2l7W>pfK+qvp0YLR;hO{~)*0DO}=Poa(-(h|jAC zO$==>BG06X`uGD}w^{`7;R5#p(CVO+2rt(deEo77tiUwa$Mzy&|DoG6OPVmcg%c4t zlY4bTx7TFMWRi2|Hq2*+brlH@>|*qZ=&8`9vY%LUj@T0-iB1U4cxen109*V!)fCr!8UVc zLf7yNjdh<>Wqj!ATT>%$hzWCCI-t;C4iC|@;y0A@D?$5$ zOv!A`0MtIx84s<$syXhXq4`$6*_;f@aw>V9_FG9HgHY+K^YT?ekLc9i2pHJ&^~KJD zR%JtjI;t^}?o3*lQj5z>2bg~RRmZ2wM0+QmWc}Seh3%2EnbGCJ1I!*P?JoBk4{t=V zQ1W#&m5)ANd`9#Oiq|EA3Mw;vse7*d(i_M3vRSqQF$-%I6uk0dZ<9+~$Yby3Q83Yn zIQR~$p7zIWL`9rHzh=(tPew7whPasW%I6TRJ)hDwq_0WgJ3ZRQDk_UWv4)Z~vE}SG z*y(yL;kE5wQDwk*V@#!#crkXDO# zFK4t5^WmPz!I#3UV9N9MavDmjtldA_U2O`*B^;&C)wNz@+l@pbYAlRHP4aGc_JYzg z4((u>zNM0)J#IPnmHaG^>?RMXlpo7-0mKqe9|wX6DAn}bfAC}sc+vgMJYnH`n87iaE{Nl914iuMS{^Of4Cc0 z9kITjl;dJs?ba-eOyfGG&IHo%YlhjHOf|ty)oMf341ciSnm^yz5(13-M~bwUF?;SH zq5T>7Iw$b5XNLLTI_UcJIsOq#0nt}hYS|1jWGB~V)@$Eqj}!A{7BH-X5qMrV-Hwf| zY6dpdNg1}xPT5{Rmrk5w+cTe>ON}KHuc8Z+Vd?3YFX-?b;Nf{gY(DSKTblqcj_s9h zwpxdgl3HJOjzzvAT8t&f_L!lqxZ!00e?4OtKDg-}j1=t1_6-5ZVO9S9^!;|eL+3JY zO(MPA(U2eo1}yKfMt*kdz8Hh;9Qgs)hir;+O4KK(2IKSdz^79s2Y1seJfhHx%B_YeRhW zmu$t~!`+C1O^2F+h(slSBId;RvY=O$Ga2@I^AMHPxCK_nUCm|oC>W<^ezAG(GojFE z8OhsfTeJB(wqCxhYPqdz0lDi$S=)giub^xUYkO#+$^_oO1J zeHP-;vQXdbQI};#)VzQFzvq=%&?UISeP(+Xc9yN!g#@5^lBDp*@QRbToo$8TkVcP< zmCq8SRH{46+A@g{waGg@3ehWsd|B*>r9a=~huK1N8xV*e=D)*-(6QS$xa+24FkP_K2c23`aEZUz2|6ImrTK#x=FGT&~U4Q{x-P57Q z&qq;tTE)>2Rs*ZakQ`{SfQ%tnP^1oLB$M4GF6bj^?_$S07)6eUV(_W*>fesB;?LaZ z7S`-MD8ZyUKbekO5n=1NknvoW-?5w8clV761T|QRVaGJ^lBpidGM-;_j?RA?>h`v8 zyQ1}bm-@bZN%l&~FjdV!* z9`E1t{=e`!@jWwh#muZroMadSJbH7{z@U|rhrH9U`L8E28LT)J~1E3jP zX5*YX9ZC3Zd(keZTG52v`(|+OYFX2!sY8M?(t^Sr&9JDml#J8^r_Vm`6AmpUz5%= z-bB-!HGpv&`Jx|(yN*(n#$Q&D&X~yngN$V~#yX8VxBPW<2z!@~ZjGSne0xlV*u`>u};ua>k37H>b5&r>Y&WKwtU-KM^55s@*YDJCaf`j!Qruv1j+PMnQYsh5Q=QavhVfq z)@I4vy4)5SeS)@jxmDa`F*1LN84r=gPok|BjBmJ$Og8lW6Bwj`_u~^cK1`y>;CqC% zfXJ5}X9K2Sv#n$LF^1t%`w$BM#%%E3LVTNgSs#c!8$%&Y{_lEOoT|BdyqX%b?yB@< zD2OJmXyM^w#2Y@=kHXqqRZr%B9U`dk{7}B3Aio6AnapcU>lct0kTWY;&>d~qTJmwH z`k;Uc0}AV)1>V&&Yh>md!{xOvU9ShF=;Eolhsp6Y`w}{=!kbf6EEN&ITk-P2ydI4P z`m?m9rI&8)%Uwe7_o!!kGVxBFR|?kU+Gc;yFyHsnW617q^R*du%)6pnzCh?B{xjSuG$v+w~hiT59w@-n@24*8@TkWobT5!mzSQ!q@&~}s=ydV@-R4%fjc#m-SCbT|JR0#|GKRr~;@0y%tvQoxc)9 zQ{n+JHS~0yLUdr+$Ug_mm^N`Vd%^?e1$CinW7TJbNP@hGrW9QsFl(Q!Y`{NJtGWJ* zu`itxvxi6VFNDS-6;xgC^=c?-^Qidg_`btz>i5MwvI^oPf?WJ~%KhkTj>2x2zR@15{ z30IbQSvI6Or($7GVOK5muqjRQT9LJuY)~#AC^B$;L@gH(dL)-oOHo=<=4viYQnD@P z36a|J_8O2VY<2$QaOmgzT0!*&@n6m|1%0EJb7yTAfbk-f5VgwO;bb=NTWR`4kO!CM zpvCUE&}9EiTq-H@zf!{GwD#gX=%bj5-k)E)*jK-kr&nFJ0SYE>v{Y2GG>SULfF`Tu z`>WCl{X-;z!Z$hfg#H;GqL4|S$!Xu$6fJUJhBoc`%G>g@wK*D~ra8ld2^CVbwq#4V zM+s;Kzy_aQ;0H12KR%e4jzA!G2Q$fnV}hl8FbNwG=kE+O=9Z3{WqY6&Z1wS-dI#)> z#&khotn(R$uJ96U~P~ZZ>OJ&@xVb#c#0?)DBg$}4s};>dI5nF zL6i>|I&(e%Wy40=jZw#5R#A7@bYRK$&FkTw+{wU>wY`DX$Y0aDtf*p4)lre2 zMy#wh*0sR2ib|2K87pEzGXUX60}f3Ve>jbk?R7GO;Clm4Fhwi)M2>;Km;1GHNCy3^ z6iDK)4w0h05}o_^IO__>)@)F<*FxAO%Z*FpJyf>-K29>LO`<$P!$HLUs&{B~$1b^T zZ@ihagH*=*Hyhd8Dz(+dNNbf=lQB$8#>Xh&Sj$w15d=%0lTth)VKG5)B79JWh4YnQ z2S32c_)dvU?7Q+7D#wc>7PtNY_oeOtbG8?hG8X{QFDiysZ9n=pn z7q<|%cmcU010IKt$dwq{t?Sv1_uuHYha?5R57KMjmDh5VmvdwGP@cAi4OyNM+%`zu z9x$)(Uth}lh!#I-N|Us3U7e7%J_W^FwOpll3RM}pk*WYqFuS|2ckZ#>lluRZr%jzE zQ(cveO($SYKk;ka>mM%29zJPD#>Rf{c0aGQWvb?jlSROB+_1Vx19Vsku^Fk`vGGsW(Nav(TyWnnB=kswe0~l?ACwS9!tr1?W`{^9*EQ=$72z43H}WAeTok)M$p(M0gK(exLY7XO%b6%MZc^X6bIu)Jo9^OtH}F~Ib@coY zntn03odZRP4|`^$i|qd+kv4sE_pN)50LI0l2cIL5Nz`Y{^IFf*b0%qp@1&aHB7|qayjwtsfje(#&PDd%9npQVeXv z$+ky`T25s+24DmK$Pr?*`h6J*)nuZcZ^Ij96D49;$%e7dD5MSH%@We-IG3nGd1La<55Qv_Y ze^=8YWwynkFCtS}Cmui!8VAo|SEIM^8nyEmZjztfP01=LdDXjU=wDWPAu(o?gfoBi zn1ny%|3k0hy!}A!P%_4FwdcX7f@&T{R3q{%=Kxl{fXaFvb%52bmN=(d=QI=q-5yyQ zg%X#^$6SeUZ_v>q%tD{i@WMs*`th`Z3ioi7^>ByLehd601y3xtGQ>E)dA-YQNuDKm z6NAQlI6?#?t%y;!gxGpL#7jGgVR<8RnEwDCM95EeT`k_4=gU7lP$t?|_xRzFCIdH= z-#&`72MkS+uAHM9VGsFz5Mqg$&Y%T(Wue;CUz>RqKwA za{F4f!7H*W@Pu2KfrbQ#fgdUVV0x=`xyF!j zO)#hktKqO~u^J#$)KxXERT${vJOp zzZxZC)h@aX@+ZK0+l=wo5S-nzSPqeZy3*iEn7(}r3gzNQ{|8lQ21EJ^LBr}u5K1${ z$Ui6gJ9*5m(GTmbIBhfmpo=<~E5X&qnRGlTdaT477>8V?NP0@`eIK!yj(!P!0dWmx zZUB-A%fx=u4kzt-E_CeYH92*jeL@_F$o%tpRxCusUP(nprQxdrllk6^qN9hAZ_)8@ zR1Z+qx^y==3GT}r2#9Y5=H(O+`|FATbD0K$}R zJx^DA;8SREN=FHJkL-8G0)C4KB2{kr551EWrjjH4bVGW*)TmTYfdwL|tVPacIp}t$yREezSWUGZ35- zj?8VO>$h9d7()MGR9$DF774oJNI-9UfiTN`M%dZJR3ovM8!olWi;FAy>ObHVeJsb| z@@k7}w;Q9xW8YHTAi2`UY!2N%ORxY#Yd2ix=!f1dZ z9B1UYFMv%2IUFZpl=kAcwBs&ns`n-ww)Jyu(^Qkovdwg2x0 z*kGf(p0wGO&{QqdS|d=OUV`EXkoQunKp%T6=2xSoF@)S6T?jJvOb*x!YOPi0qR zcH*?hDqY3W9Q|&1{~pNB!0o^s@NE^NSWr(2(4k3c zYs+uTNoxN0olk-{(YRf1`=AuuUERHejubFkR2@N5qgUg_{!~n=F*0p&n?x5gsW+dZ z%Pvz`&;@1Ynslmuf3L&90oT`A;w7g2Au{dp$bs^6vTY6HrnP11IX16Jy5J5e&Mv$R&s}{ zC3FNWcBztLuH=hr8kF#xtd;nWTlOH+^6XzC>byYc;C72M)q3&xUKSLC5v_{I9RP}7 zQlOQ_76IEfamQW~!y5BDf0_58TqqKbQpowrIeQsd;+nJV#))M^pL2(i_^zq%>$q7D zYpqgqF$Uuld%3tTr#!s(q_gqDRdc}W_dx_P4vMgaZ|Nny!N^%pG!jK1%3!j$ z$~;);5UD=|V-lu|vT%mHcLZvFQy&VT>eV^NRvN%y;SQ%HuJSKD7AMsqnmB2w<|wsc zxxC~ps+3iaZkw&YhM|6aVsAuM^+=I8kN_YWxA2xGMQRrVn{bE;%0*rL5(r5$OY+L! zp>AG8nyS0&d?36d<3;ny#B3lSlaMF={qX29@?&;E6#?RS762l}I+fNXDgk76T#q?x zBJ-w4Sm%XzMuX+NdTX2IR9Lx-pfTFt3%tzRJ}P%H6jyed(uXOpdG*>kDLlJT&|m4l zGR8O@rp=Tuq@yO-0f6-Q^Cz3Zc)goT6)D!mToKlPaxJaxcxbd_Mu2XZ6uY4>kc zziX!7e2W|j-;F^u17~q>aZ1MgqUH%j;%ZNalUDTV(9X4?yB)V46NrhjJ#-K+3CEut z_h{r;E8(G({-E?_a^Qr7@dBxW-q>1{M=X7||X zBFZht-;|2xv3Utal>hkWU=kY4)+jOl+3&n(dU=+Mp-^=1H#3eI7~=N(ZyB5Bs;-G8 z155fuYQN6X99#bE?xMGF1q}dW)eacTR$btmKAOi><4v%rVT!sMX4QsgosDIBiQhRV zenC463PUI6^B(pyE-l5F5V{~#r?-gY)eG2&oC%dTrKZnG36E2{n<=j;d9~1^>GAEN zLjPf;iDvR9@h`)?Zm@{9j~fn4=W7lF=bBQ8JcaT6Da-gDeV-laUQ(&ZtR~&4sQU?g zNqo#Sx6hh&!D5D1EapUQ-`aOQ^dAd-M0Y^Rp#Qo<*U3EIVYR~q^@ZUer7|HJE}s?i zfLDx#8yQlOy895oZ+RSF9qZn=l!Sx7MEEV?Q zLHGE9CNusO0xNNv9c{5 z2y{#X!4dPdNx&T^`Ed8adEwq8Xl)T4H(WTBZwd>vpv|iMr6OJz0Z;siN9C< z{6Uf9mrWhX@GbC!L%5MZnC%S=hk-3d2aCzv6)kFji-&dp9mryJjRo))uiScb2p2U3 z6m+cDk}8DN1~-qLT_aS#Io}3lSW&PnS?f@f>o+zb%v-UeW%Lwnk-HpiUS!oLj6=wu zb_MJHu2epKfZ4W}#sh{E2aYy%U7D`$1*bqT?9O4-{f44s+M!&{%9vi>WLKMXN{aF) zak%OG(aIO1mg6O%6p*hGZDsB3mU59X?TW>Qce#zDTz*!YDN%IF z*a^2D?5;%RZrq2!7ySu;%C7eh0|~rgNTYN{g?IJFaW3qLVyb_^XOdkQ^-g)2IzdrN zVog&ViG?>6Cnfnj&Q}ogJy0=qY5MC1L2d==9uj%R`s1Z%hfD5IEuP|h}=BpH!iH>y`k!EbNWu*UQ)RqA0H2wDyQek=K00_7SwQ$T%l+w zT79Sk%kTJunvKI<5)7tNn5Y*N2}kuh)?~fE79S(`+v*NLqJSI@dHBlw>IAQfrCyod8{y; zkDu_(d2_rT;hVB%nDI1=B+ECV@(_40l2tB06P9dt;Ipw2U7TbRjNlG}yydSVuBeJ6p?jGX4 zn+h7#DxHT=yC*w4@MI2E6LB2qE%)e~SQh-TykY;YkO%f!gM%^(YFf!2+NNl5XY^g= zZN?)Y=BYUEIzj?44-)&i6i?|vbGXGadw`aGi3j;5b;V$61uu?P{P^SaeGNiw8a1dtq3yx;8}B7;*t1aFRKUXYKjTbKn2>$A zx%Dn!yw}P3cr>9X44efyI_G21-F>x@Z>p%}JU`07Br6=ne4fvX9szqdA07P+}764sQFFO6CN zz9gA!xp+8fHrv*yk+Qark-1FV2AkoA^NM?a zQG_P+!0q!6bBK)Jf;SIQK>j{?5XoQvp~5xa0;l$zQIP^b+J0FcFT}ys!@0~l|8XVf zRjI(Ize-<@ut$#G(m2Hf9*%|k)UP_5ktcpam2D^B+ z|I_MfzaHK(Mv8gAinZL|*w9CBMfOa_mE?4^eE0Os>b6Ia7_Xes7Fa#Sb^nUBh@?Y9 z43}_(EhYL3dIlS7Oy*S=zu@j063RTE81A<)=9CfSNz-)>Ji;_nN7I4SbWqxBV4-`B zWH@Mv6O@&Q;NQb^a--I3WlhcQh&V)pm^K+ivokJ+eqhFGTv1~8%eR)1RX*P~mcGG# zcz8J1A}<1@TBuQNGs$#$baj2)>{GKJYHVRK0adXYcgz0iE_2iWxW@*Kwz)gC-5u^S zwaq_!YG=mWe<{#QCndwHF7FV7HkBq1{)e#cGXaNEri(?V$VG=fKo;HW6P9IcV0tH= zzIW}#y7yyvq6u!g3~f4tMk;*=7%F!|8h+blt@UNRVgC>9=j503WYKyR!Ud~-Ij%FP zDTB0Jyo+OhMxpF$7AhY_RqBn@lCxCgZwIRD|M3CAME(BbiAv-+xINc+VOl-}J%Uxkk%tneIzAoU8;g9CG=Zv!!+>kM_CO^XlrhPN~r6`&| zIEGu5RgufLbZff>Dbot6%m0>_qB}p;yg2tcv`eZhRC~^*YW+T*fGT_Vx{v7tT#kZK zM;U+E67kP3wSn9ajdN?g@xQgjFO!?+>){+yaP#_ylf& z!p8pT{nq8qLgez+&kh%9;5Z59O+IB(2x-m9NSjaAfN84xjb@x>&9`tV)PUKYGVYhs zf^R{+bf7z)#7*AK6fQqo*8k9;6(0z_njzk1_R}K^JY9M9i@b=pZ0kMPZ`k5FH%8`^ zkmsZCeu3f@u~jfxaaz0>XM4(AP`P9!+4gbh(X ziAk?x??`=4#m30bgerazWij#2cj>PuWTf4)SWG&#sf>vMU9_qm#yi!D+e#Px^q;kD zGaIEgHDX0)z=^<(=@U4htTg-}aM@ z74@AK&5_{Whx?6L{t9`bhM;GJx9FufT~)_UM-yo*8(#cEX;inbW56YDp3lBr>h+}f z)?H@-+Cgy9X?tGZ@gTWxoLp0>^pGpG9S%4&qq&}g1nrDjA{ueOf}s%$hKZaReL1e& zT;dct|5sD1-d>97{?#WfnukPcIyl&J&|;@F-;ey5cgsojvq0RH}Er#K+YCUWU6y%#v^#FE3IS+vY-Xg#?93`#BA zrr{E_I=p6o854_A1l&V}{W749Be0q5{CxEyEcAHKSZMo@FaIIK-J08O?>>jnL`8uo zjltHAUZOY{bQy*1w;Gg(UiicJPw1V)a35~_ z>K9W5_`HO%*EQVxIRZ#gI5j>MMQNNVK8Bujx`#nVAwR1_?-+!URAJwk%oGtTS)-Tz z1BE@~?v^teWHOtSpM64vT_dEj3_@!Jgx@rA%3%5?NR&lP?wBrQf@N0BSSH4;_RI_K zXZ+z_c(*5Qmdeh36`(9y$y8s9S3RJ+IKDJA&z`pimU>dWKILOC804k~d))8PVnYZkO%#)6jxH2T_#sF;}z9>5k)ProjDw{? z#P$F-xgMB*YiWpk*(^*K+PIwjr97BO?$`l(uAHmNYz-!GPdZR(=8ie|%Yt#wf3M)l zi$mHoPx9@hR6=^kBHI3ftb+fS8YQ&u)k`pf$uv9YT-0lW+wB_Q$O+s|F|XIzulGgp zuCT7!J&d^51aHHOSU$Ym9;g2-i%x=5LY2rF7n))6#?+FBJ}q-7pTr#y_1Rx9h4-$y zrMhbPJ}65(NC6tYOozPrdZZ2t6JW|~%PkiT0ekXPvzVQ(l$a&o@jX21mYf>T_^_8; z3{e4ArLqa1_xHwEJ?Msn0=&o3&Q-sH>+N*5{}B$voCr8-4jDdNoIpNkn&wtKPZZ^zXuB7UZ;;x{HzTOw#ZRb}Nl* zinfa@BI?2EE62VsUvpmH6zdWtm}uaXW1(mu(Bv_i-v8N+F5^9=$cuij^e<~*x1hz) z(BL+fy&DWo;V~GX6%O?b@yS_^UE9ZW=5h@qb|@F=x{GUkgat`PETnZhV$D=Ia34% z2o41z-tWC`bzRSTQmfY%uGJ9(*T=R_c~h$_40yW?kiG}#0;ZlOXXwvZr!TJ-Ca3@n z9Pp9s6cc{&F_qIS9tt3?eRlU-M||GNGx80RVCYV{TxVB?MYPLyQfq#T)|x+%F1Qy@ zPB$)bZm_I{YmfLa?wpq-djxT4|2h*Kz~~f%zjTIFo?Xc!5X{hLyOn4@d;VGGJ~Hi! zLgAh~2Gdu6uJi-w+=H@+&@I{k(4rKa$*pR))ZK~)Vem(0lhV@y?Oo&2*q*79a=Vug z5Z&3gQy!;JI6uIfp0pIxMdad7+8;|1lerflDXvun?D`YAC$B=VdB8M|zk`t7S9e%u zWj#2J7TeO*39e%0?M72S@EZfl1*HP^6dywcuS}|WzDj79J;U!}%+-Gtju#VB7iD{Lvje97LY=1jhm%st|FEs0Md{+Nw|cCHtBQX z&xsq6v}Z;F71Zf2>xB3iFA@7}>=duB0Mf%5^+aKvs2^T)R^@%gsa0$+bI%U>1kL!~ z7)(S4QK9_u&H0V4>vp4SH1rkZG57{4+1ivhENeU_&vvMZecz? zla*l&?Er!3PyeFzW)EXJRl4FwCcGM~DQUve-A?Cs>YhQ=iNh&~gZAKoT6Wdm&f=f? z(WsV|;6y1?D<_+OO?Y5Lh?cBhl4#gAZWSYUgh3&=D=>he#St;k>wrOBLjsPNTr_VV zuA@yFTZbs*bo&PHLvA%RTb$v8zC@ng)c~S%KtJ@G$t)ueau=-YlRB|5O zHLq0Yx4uJczQ<)YDvSQrDkdaCNS^G)(0CJhLfjB5Viy6hfiD;EEKIuE8sAam=Jw-{ zgX1P0Z_4?kupmdXV3WOQwfd=TKGn5o`xD$#-h^RuJDucQI)7H;p|6zD)o|+T6zA0xMRIJ~SrBsAg^FU_=6dDp1*TF%srpc}C1!9a}L8 zvlT`Y33>&IOs>KM0;Zi^7ryw$K40P{omqg^3=08 z1m@8GiA0?bpS%?j&(Fz>Pglu2yFto%eH}gc!b}3Nn?Au^E*q+wfxyYLo%vDbYeByxVED#@ z6V#!IZL4#=qeKTY{h{cJX|EBSDY(sXYaam`ClfO)K|r2fU( zgBAVX@LT!NLSwL_aVaHR00p|G;Kp#A_NRagUVFdqP%f?61_3`hjQd-JBB+ZuRUS2_ zBNjw96>d88mtAw{W2*UAX5+amkoSyF_x-TY;aW-4clf@LfVM$U zqvHJuZ~nFH=>Gh^DCnHkQhG)w08u%CuZ7XF+k$J5;> zb%7R5Ks!DU_fEGQ$jN)5=h-uJC*Y7grEVgNK)`4a6YHE6sZ|>PZR@QvpFg<6JptBG z(1aPiVI%UBV6cK0;2fXs7?tYAn-`&kT&Wfd?PD!I z!zzQ^oei_s1Y}8bcJz)S)?Y;lixP#oolt9F}7wQ-M+-6EsVsI(JL#B>kR?`hoT5<80-)WtV z7yQ`6p+V@RfO}Dbq~TN8Bf!;dPU1!8*POTcokyU@2AaR=fP!*=%f5N~BSPR8wwyHF zQd!Ftb$Eq&Va{Njm3+JQ6ee4+E-fEE2`sX# z_b1gG`vg&YLd!0^2(*{V$}23ZhnAyz#u@s29%(5M)B434#d zFsT>LOdGthDlX_V9&iPM`5OfjYDRRT^T|e-ZDFX$wX? z>^bD~5ZKAR!f#Y%suDUqNL%lm+VdwV)wn(Sr}+D~{?SJy6$?HwkBo`SaD@|P+6k-e ze#k{PAL#y_*9i_l%U!cbmQej`>sA4PJ{x+q46DSP)m@ZTaOcmeKWCD$0cf@^P%Z-B zrs|h_ZwOY5{c{olk+cf0qA}fp!J&<23bOpS9`UR6%t*0yk(nso_It%6G#}Xz!(AFs zosl^mK~;ogwZ7R|$Y zZTU}M7M~uw7udW|k9=GE6eEpfBJgK?2uZs$m%Cy`SrrUXcqd_H$pf@3+5P3AnIPXg zrBlJx!I3vLHX)D16BC`tk>lv+`vPLI@YhDJI@Ske6u zm4ULr{#qF_0hyA6fxl|P&Z#PisExX3A zH2QEuAWajzIm;oZ3BxIr>(LS^bi#@l2uk86B^agS!9YOIi|e$Wvj&S>$o;NJ!UP=D zNUA)l_5HWT%)i?Wv%chi80$O_bEmwI0^QdE^c;ehIK~(x_caY$`hsD1%?bJy9g=W-F_}M!dyXPoWb`ygqI z`PyoB51~e$32F_uZEKbwL+{()`C3@Zk~n4!e)k`CC6K*P?T*0*J(W44R$8C6P`~L% zLS*W4dpL_WB15_|iQj1d8#SvUlk&~FaBKM9qSXcOImv^9iqzb=omD0Vr!e;;KQG9m zWP_PJ7t4sC4+mm<`xLbW-@AC-bXgia$+0!z&u9HQxy)6X^HQ+OKNp%Zr187$0~2V! zJ!F~Q`vq2$FlD~qCuSk506d;a=A8jr# zkwD%9>`7@6jgrs(6ANdbtyqAf0Qs%bL2i{`<>slc~C53)=2{>&MSjqV6YTEVp#RF22}E1eDhr$CZlyYs8i#Tg4=7w z3uqEjvcgccdbh(o?ERY+T23}XT-$#J?6v;ys%u$d%ObiP!={%w7ai#@H^`novY-XM z_$~aCk*(JnFfS^in;-&xW70BO>`;Y)Ik-mN2l$NDYAx~4U&E^jjKE1h;+bEqX7$Pb zawl!%HRQ6x1a!lIPQGXVCOU}Wxp7Zvn{&EHXtxOy0t*FAdhMd|u*Ff zUCOM?0t|Jn<@tA9xay@x(pzLipTu`;LoCNryvSTxLfk0>KrCNuXZyO2?EX*~;cu62 z$nwCL$Kg6FbEDRy+&B?yKHxQr-?K2W7>P>Po4c*~s4qh_3rN>COODwIy=DA^s;H2j zgWF;QQ%iLA(2U)@zX-l@^^JAJv{Sl~e3|deACThuv%@RGM5HX)4&U(C*O-d6rG0dQ z*R#!;k#fLrCWfy@v;!@Fa(*wv+Tls-wxVN>VRnHA*5#n7SE&70C@*^LbIEch#IBwT zW&7R4EfQn>J2$GPLk#;XdnTLlfYV49Pm%XsGS19sc9hA6Ed%N{C~Y!amGv*HeqWY$ z3{G#s%syWI!Rs;W8}Zig+gGluo)-~#gY&h(K+TV{={31MH2oV8t+ufQM3$jL`wR2fKcI-f0c>&Q_d~QadLE^~! zew-^n{RfwHsPspfQnu((4i_}M!PgH03tS(7Eoz7nSls<3cJ>9=% zgh{{~4yqKa@|pEdyw`(`5m^6)J3_tn@u54u*< z^&Hp-G)T7vlH%q`V%ecOM;q&El!eHe;J$ISdmj6lz(bRU6l6C+7E1v;X=^QX2#+? z!ReAXmE|83BWEVVM)nmcllS^PgYdK69-65Zho~MN34YivEy@X!fzSwECTn?XE()TA zL`hu09r6GHLRz0W^Q!N8NfclwYF|w^u6M@T4M&W8q0(jCJ~ar>Jn~P4KbF= zdn_WXm^o{S>$Vr?e_Nh~fjZ~sPPspAOpK?njpLOOOq3F3R9OH43KL&Oh`UySgf?X= zzXcN$Yz+Dg3sm%f>TeRDxgfl|c`aScH{JR-bTJh<3>`5|SQTJcSC>4I_^dGO|9eipWR3u;)zDDj)<`)Z=6yKnMD zH>Au|X7{g`U!vJ!4blc|FdgA(2ub*j<@oEzZSw!-VwDBV^awOtlhy&?IFc5SW?_H! zd@cNYO%7DQy5rcYvZjh~`cVnk$n>O2sI2tIodg!oC+M0{W79JbyUrkJN-CmFj7^e< zPXZUQmI?u4R&h3l!6!)#d23$hU4}bBNtD!q!GeUTfp68Hu7LJfmXEhlVFzEl8^q(! z8^JY#+^)%Jnj)r^;33nv=~qLxmiD51vketV?@@ae%Zl8dBtGaLfF8c>w{V|TSl?ue z(45QGQYz}8^L$e!Mm0l?dK;QiRkrIpqV^kneJ8Zyq>H!&5gZlJDmD^RCxm~V(Fe-J zWJ0)TRIW5Kk9i+b1XCS>DZpG1u=WV%|S~En@rvGW`LrQf9Gw z(swNwl|=6Njp$=p4pea{=sr2llsQ*DteX@Z9qMo(eAEE;k4rY*%}~Aey=DkLsTP=x zg}1@7lqLGghUVTW#Z|IvFBAq|(I|8^4GU6Za_0j3)g_C{U{2hcRg~XNsW^arS`)~? zKj*T%S#=Xq$|TQ3$3Woj7wtf`;`d(g_%Hb87Gz5R9zqSR@?)_K`oaXeY;jcJMBU#! z;$43v4F`;#nN83)3-lUd7klSpWnraNpRC!KPT5I>PP1gT2C^pReXcDu+aBxI$60UC z@_k!__)?IydS0@9+~fc;S)S0=6-=f!1Fd3smRdbvB@4FF$Rrz@yhLzX#KSg0|EnoG zQ<$25TuSrTx=y!k_D~TGnm5s5b^x!6rZn@kYkAjj4fXM(mD?4VFVnKeU8B@Oq} zY>~RerGa%~FJ==`;R0S@29g3VIh=oT)CyL{Y_|6;vt72b@3#XZg$f$vYeLGZf6qGT z_jgLdSHnu^kaWEPY&ZjLoqSDfoD5vBJ+w&BqbS|Q4dMaxAU|mF)Wm|A+})b>bo7>z zn3mespgj*%F9gM}nqa-JcKHv~*ZxPQzQM&&JXWB+O=sk1_%#vmV(>?`$esA__7^Ci zrlYq=9Okb$@+9L(S_M1WzHkx<$b^oDcXAXI^-*76IznX{SId=T<%kFG`pm52=Y7n8 z32nYsMUfyT2Zj^vExH@vpfn34wNk220b6ZkEez6PVTAB|q*;{TzCg1z!>2t-p4f@v zQN!Z#pD&Xe6={;0bsvZ_8laM`j+VPg;FTn}?uumwW2rC!<;VSevht+Pg|}bxtT)d1 zc#|+95`|aF;shRga=+ztqLy@qYzLTQEJL937WwV3{uSJT;$RAh=ocQkm^+xf>j{#I}vCniL znIXmX94Q?ZmX;kg*P06uLUP~W9?0@TC_JcNU>frqA^cE8D?&;}0zO>ha66OIY;nXL zKsLBN1+{C|6_g;s@4H{=Nji5gU$pBy)cg)M%V3~x{@M-d#3ffM6;&*aq|uVu#PI$# zqdH8R*Jnk}n1o%dBoGe8iGW@-_Z=AiM~7mE7wrx56fWTutnGm4r2YTM^sUm*^&tUD zS2<@zWi|#a=qbqrn}nXDD<-+c={-LcqXc6Q>BnTzdSqk@BK^F+2Y>V@$d6(C8}j7G z@ZL=jfe(xA4{PRK8*D>Z_w#PZe)Z^;=Yk}*<=F8|&QDx9GzQ6uF5Z_fn>W z&n-_5mhPGWT_FV{`ACNuCv*mdTUU7yvREF`IBuT$8ar;?P8EByk30R`oxlyL&onCb z9RBSs5R{>jZs~=;=be>IHnlWQWZRn)`!vz!YFHPniesjg#fK51nz~*cYQ?+p7UaG5 zzc`ABa2?Rd4yxjVhqp)@`N@bp$@xv0-3J%Y^gc>QaqG?;@!ozZnP!WB_79}M7hdA9?JVAl zD<#klwbv2AR0PMLz={TvG8EhIKCJjD6^P_2uh4nqcOrx_%Y`-)#ve2ecdze9){+61 zcfo1fyb>E=&|KAq4%}?g$tGyH8oTK&p+0f{iuNdzp;w=AR8yY2akg_K)S+Ouw|ZF( zPad!GhnV}|Y%@#Zz`q1m**{;K!p7%O#CqHFlU}Xq0DmPHBeKMbsGzT|Cc`e-^mQ_o zU(RJu;<%if60`%Xv}se0Cun{okE7He+BYsVAzlFBP-H}a&^CS7%_HNo5AwPYB=L`J zxqzO-0ExL6)AqX1oufQYS~r83$pirco`+yyLoDqDjHjAKNHO*FbdxJKO1f6LLH7^u?v*lAzzd&0x>GsF zbLb7`WS>Svmu2t1tu-vv**eh9+;E1E@_f`;@*|^;khI`$TrsyvgkuCNn^o8o@uOE;_9+$S(EUOq35-pU{rjrYEu8Es z*;qVh8Imr<_WVc5FZs?*UU&&os-Veb9ml+*HaBSw`}0{*Ql_l6w75Up^9oB_WzTF^ zbhy}>q^MD`%D7KH&C&UQZEN1Ua8xxE-nYHc_Y|41ODH%JSw11IRT;whGE9Bf*R(cYtjHrW8!$B(tqF<0khKECt+G%G1)Nokg1#^mLH3Vhuhi)SldD9hA%1bl>lTsm*i`(gw+LjrW|po1h+B*IBIO zgY3z;dN%v1d4HAhP>sjxqzms`R9U2sPn*O8=>w;Po0*om|^NKHu!(JVH zg+$0~q$d((+UMWPUCXJoz_G>u`=|dpH&2NfDkEr@@ZC;qV986oY%2bgM((E6Hpt}{{Vy_#lMPl-6ltSi%Ni#qv zu)O*i&Oi>#e&~Ix@_$#VM}zf*#p}zxJD@N}T1WM3H>HJ{x?FlC6_6_C`Tu0m&=>Ks zsc(Gv3?wHayUfG)Dw-j2qu(_5c%9+TLwHYx6oiFcSF}Leo^&EkPlj*b=>~x=o4rD@ ztIu~W_3r!rY062rQTb~rREX5RGzydX0e9!}Wa!f|gq&r_CCSl6*-<&iU+gUY^`MS7 zwC1xz0iTyDIpgiS!&Y~|7*M+}YI`#qbqH1m!3$tD!`zdmf)kI&gry~dq}IH7^s@i} zT{Ss-0X%bYN}#U$1pk=@zr5x9xV8$s2QzE!-kkW_YNH5nM@pS<0ylc-?Cfd+zA>gU z@EzLkMp;<_`*tB4IrR+&z=)qGU@}FEs>cKKOMrqoo^<9m9%8H|Rv(;^Ok9eE@W)Bm z2zj+H0tlMQQ$sas?VWo5E{9w4t)-6ZpOIaBLAG~cuYpzsYaY!9H|}{u27g;4C8wAW z9uw|VJtzx#UVx2Mlwe42ys!2Y(+r-UD&^MyeW1udYIwl`e4>w1a2*=!tq^baCPf#F zspr{(rbJ0e5!P=5RDDTBQ%dIzi{-z4d$fZ&#ijstESIVdfb?uk>U;ine2p@RpWuY% z9s}ey+WRfgqC&WPgZg@9C&bQ#h$OkU9YAfY2Rcz(zcc)v83P%jWgpAt4GR#+c)Ue?GPnm1~m!t!Pfp<}uqQb#lkeJw85sA;?%I@M)x^1eps*eRY z(fi7kNBWp4wY85b6%J5x)Gy^XDdfLQkwZ#_8Na0(Iw>}QyK?mDUe3F_387FPeG3CI zJ@dq{F#S-KwMfMvBy5?VIotW{)12xsyc|{~UAP($4kWk4*-j>Gcy&Dn``lvha zWj1BCxIBu^&&oc;Nu2N3Cz)45)i1e;t*C8?d3>DuNR=vE8ty`P;*2{tvyGv>gkAi7 zkHf~LrTzLoLUb~x0l>(Df`2CW|BjXlR(Qm0%hwO%&f%jZ_YX$(q(+hGRK*YbR)J71 zY1VqeY4UtemESz}C6li^sY^y9#{BP46f1`pgi`+>Q-9$X_4mAw!&o38ol?>vwF^i} zcXy|-bV|2?^n%0^OG2^_1{`iIt4`Hcm9dT+1Muju?I!+@+X%MQr(kAnRK0{hj z*8>M%DvMPr$Sg0|;oZyBKc4C~1a?)_-E9K@$jpDCZ}S90WoJ%|!<>v^Y<&krMT@83kc<*jQTW~>g_Zx0+Z%z0gLqz?=6_^x zW5ThYIGu!43Xu0$>#(aYwRz7MB+Rv_Ros~8qni+&6YAFi^De2`xWT|=^M>|#{BT*g zoDi+kSF=4+< zn69Tl>K-8mwHbDF;4>gj{ImFXSg(6ro4bkM_k3j|8qcx z_XC@O_D|@AE`Ik`YL)M@!y#q63_16VNj%wbLxwNX(B*y_M$^eUarRHwbpM|GjZcfr z_T$3lK%+U3eopDjEDm=ql+VAG|E4NZbRcbX8??dXB zR!mE=ja;D^wy9X5`iU;LtHS9g{h`p`TAlvr(AKGv7}fIrsuH$I=i9gy^wHZ<-UY91 zXD@0Rj3&`jy=Bec#GL3vS^mAGisr28wDkpU&RM5g^^p7%M(h*;Fz{qc6ZNN4dyA7l z|DI~5gIO&R8O>9lzMB7(?#?`OXyFGZM1v0!td1GYwuQ>92!tPsVQbS6XtR?=2$c?W zn~Wx7TGcBd4cc}IeO8h6Uzr71-poh5zg9Vrlag^W7aL~l5`HZ z!zYAte|{fM|2X>70PoR5-3~dyFob`9L=TsAw0-b9sOg^#5a?qFkQY)~3s?u>G+0C$ zJ1-*2NimlVrhL+aAcY}Ji+0tT z{zbBve5EMq95s!CYS!SAVS!k)$m2}YjB+w4wF^!VY6iOI+paa&+6x=`0{q$`=0G43 z0-*ODcK8q0uP;l2a&@7@6Dg8Dl=UY>=K47-e?ckviFJm*W^T2KXlNh@u9gI@jB4?T zg`9jwgh?g8e=#HB;JZ`iRSe(C-)DZ+2aI^I?o6hnX4Hxv^9Y_vH>=g7vd5MJmiE^Z?j0+7CV*#0lH(-sngwP7^z z8e&!_sDzgEo}C3=IPeLX8up9@=?r)y?APC++06 z35|Ltf#&h<#OLSI)boCU2axQO>()=)@7@GxE`g;?&r~gbXUTe28oJ1OPZTVcG+_vc zg~S0qX|nMu53?>Sw-EEj6k+ zK^=^X?W(Zf7fjGI?GZ$n+UpeMglsG>>P2ti9(`EK&EE55VOT4%@dXD@EFP+2>S_t{ zRnSsn27lu3zQ_ReDRm$}=lR!@`t_fq0}i$PA^e$XX9zgz>f;$DSEV_hC3mR4WK=Sf zYH>)W#}z>@A|EbEUg7qB5bLKAVQ9blq1n2|w7&Iw<9s&tzq567?8Y@Nr_Bl>Bl16U zp~Fy&X08{d1K+vc)=O^xsJkGxHr3Q9tBZ!iHIJTw9q)GrN5QHVI)C_XDl;%(OlzD< ze+kuBGo4C30fq%AL4j>9}BST(!&Pn~KiFj{{6gxX&;J%)kMBCEX-Huc- z&dbhlQD(&ObICEyd6J^ELjn_+arZQ_H7Fh^jF=ZWyrXYt?9+E9vu$9_>s16y`FOhR zsVoD~HE!ad@fYFaJTY;v`4?<+BK~;ll%uKuL!w`34+20Qz+pe2ra1~@1ySYRP$6f9y>7Fruf(x1(j@dW;P@l zS^TS3R<2OK4HoDvf_=~U=Ghd}y9)*;wj~?C&XqCeAH7dzh$Cr#Y#O#?nQ=-NF&XiP zv#^v8!&B)8^)Zd$)XL^6TGAFJ8uT;@#r*AmR_XhsnSrh!y9|<+-?76BaDs(Vl84A_ zCn#gUeiL1l5m#=Y9FX4qyI#OKAwj1a$8LmH5gU*!@Wqm>vVf?thB0`3&@xt;O^j zmkiFg{!Kiyt(B#`3>1@UVAG&t8Aw~FCD*mM?oPjd_qzP%}`4Y>8O|K_be6C%*q9MgD_`uZ5>Uyet-*@iZ$(x4J~EF@AZQ zhbwXqA*F7SUGXwT>d>yHaLJPPb6niE1f1_x$BIxSio_ zHOfv0duf#vZUJvLG|g4YTIpq?pyESJ6Y@XPKnB$AHKOkmc=E^OXq+fZLWeZ0c*KDz zP$T*Rs6;)CmTz~w4bk={wMO#2hcXkS9|-F1+bR1>IPUeJ6?~zC#X*|~3T3B}P%Si@ z|HopQ#-kLWyv!M$jNuZ8PZzdh>Nk$oxH)o7ZSG*rK3Sd!cBJy&A+3C^`b&@cQbP1< z#b@JX1GtRT>7rN~Pv4a+t>>jd;cls~+T~7kkYS z+7ale@@W8Am=l<5$iJq>oD7yACHB}=Rc?qIpV^w_$;Psgzmq2VPJy=)ux#;M3b~Ws znGBW5j8qsQ2FtN5Op(ZKB<4~$2P4)C#x~jLxZg9hd)oGnGi<*%p35`4;0C^2(wqo% z=T&rUe=-+Ae1Sbfs-pNV2x!}Th?4s7SwlcsdK(jS?$pFWQdcEm;De=hG&H6W1n39NmxwCkNM9 z+8uxKPcTZYdywZO09`Z@TO1H8YLVL-`NaS1Rm8C4f1!q)hk^9v3<(f=3&Qvr#Q9-) zm)})X#0vLYf9~BMvz^`j1*-lk%r^QY@Z)?gsunAgEcuT_3Ew%h5vn=^=u!j)U(Fj} zz);b=L;Aqg@kup>3s&48FkQ_R9teCq&$%}PLc3)b%D!2CaAElFURRSQQ=X_`uDRU# zWKW$$AB;T{z{8;($Hz?0u&s5vh@tl?o%<##@ z%i}unx!x3}rH!QK$7OG$ivGKG5idY|Bn9~-U9aEYaH2dcVH(Yzw{K5sH}-5#vifTE zX#IXfS5U7gN{JpfX3(y8w>C^Or;r)6$Xk$OOK2t}fq^qb6E69mMwOXgJ-f#QZ{|VG z_RTklNxtS~r*Rp7DWxT>`|$!-PLool?eOBJ(tP!v?QY9){^V&u=uX#tmu7x@NH1Su zeJpuUmgHq+Pav}wC{lF>ItgMnDwuV#s5?ww>YkKqiY_8;J{CI)yj%JV+O9O?kWbel zPtfKomsH{}+$`o&w9Ing?Z0y9jAa5I=8HSUzjGNHNh#w@I-Q+P5wUrYH+}chK+bYB zJ$y`E$DH}}X|giJ`lp#kjGcGDRHy*CcbPdX4rh?z5IUxffDH@Dut~V$gcKWf-=8`{ zq8ChMs)v_Xqls2m9z|y$w?eHg3bT7ayARauevV0Bm?stHECc`Q{fuHSfg{p52c_6t zvh^&FWWz?#pL)@SR3DM2=}5;4k?`WooMtrb;$^3a-0R)Z7qSc;5;LLOOGz0wv+Et6 zwP?HLOEZN2aD~Q2V~E-Y8*FO!r)pCs{KYbw1@~9&VYu|Z(M(i)2LX)cpXwp$>?EI6GRC|IOPTajkWy#J63WKb^Y^>69O zWaQx&`}Q^@B!+}qGnweeb&<6&U6;c^koeL$(59zkK+OiZR^`Uy3HZcC6Fk4A9j_L+ zu(o<)E<%JzD6(HdL4o-AA2gh2ew}=dUMi14A){Z!x@XycQl<##eBvJU^&RM-NnUWIyaD*P9Zub zo*aPs+=#da@?H_#SmtvfFMExNnOj45?Kp$diV2_D&hbQ^XGiCGKLq`D>; z1{0Cz_Hb4g=JzFXc}P!!vKia$w!eEdZ?|04c{LM{fo{3VbX{8Na1mwAuYzIY%#i=t z8ImVSYe_;ut7m?#jjoJXU_OERBh>;sb(jna$zr3b=7A%#1T<)zRJcl>c(jO%MD~_r z>5#abdGqELeN(I_Oxe61^SETT#%dxHvEcG?hoU})Qd$hrqv62i|GoLVVAzRCz3#CI z6pbNvQ$5ML+Vm^*dM8@i-mxvD1MK_mOuH?EXpajVc{#%>o`-SfU4qXh74hyfEHQv0 z(452q_3hs(-1nqAJ338vin_@uGGo4bWIR!|AD1GFJ!XJmVut7V zhA4|}pjHg_3Y!**-oTyCcLdn@%y#n%^{@e^R9pp|jlC37+GxdHIT+QbpErif7XSh-a2d@T5UeN9LQNuON8Zmip_bB{mB}#K@eX$>7nz|wM55X zX}Xt@F{LWaVmkgiLj>m0xva-$kOV@(?^1pm{eT%mO@`zv;6!k)kFD5UE-S3NmNlgx zXP6*OqrO^^8CK>+K3yWaG$34LhgAqt1O51&62+RSH1 z!N_R^^WrMiOGTN?koaHF`u9$->?nv&05RB6T1qyt!C1OrG|tV{?G1uzY|`Vn=#2+g zG+;957d!2{?;*I)tEJ%*h0ca#iua+N2RcD&Z?W|pOi+}c)1xY9NZTh4@NE+ zRrw9EdvGz3pc-}dJoWT-e5(4|75K5gjB?g#khi8m(WtrS6M3$+`B>0)>^&ie+!zqJ znErVRBn+#^t^rgzdG}>*BAi?Uhm}Y7c&-dRT8~2|1)AWFWPIX$Hd$e&jd&e1T&7?a z=WXKY_hd`9iE4;WVHghk60cMNO~wDY|rZjhq2`&v^TjfvBF zh=E`Kz7NY^m3jJ!T2N9R9u(ndT6<=HM6RxgJz6%8Q6xjX2Vv>m%Y5cM+G+DE_s7LS zO6L2{QK3^yprTM|Xln(anGzrJhr^#9>EB&4lpGr^Nw>Ar$4=jHx*Z`aRno4s$~ zCu^NNw7P|8rz2UFtfI&_=N<9hQqlTq>scRDT~jf{de3S?Uq&$z+UvMTNXT$<<;FLcOVs*wmpcb+X2OF+nk0n<{+^^>w6opYri3w%XRY| zZ->#wK-(tfD()7SAg?f!4H=S6(!l?xU5FPjlpP(v>&jDGWmn32Mwa5azLkhqD4|K? zv;0$1kJp9^Pz9N%$Vh;Rgi}n>P>&gjt;FP){ioNyo5CfejWZWF#)*#9*AuoY5U(JgV*MXHcN)2879JFF639D{yiZHTr;iCDrlgP0>&#cAAs3_mn&<%#fbbR)V9_Ryy*mM0UQ1 z&)+sl+b47Vu{p!s@}wc-$4Lh2B5tTrKH10_v@SnG(-Wiq^0is zT+Nw=34p=pLEn~ObaX&+aMR`m8+b&5=057rqCH z750$Jiadebvht67MYay|(iT>5pdTulml2)|WHi4Z~SfO{QSU zD}}8a?B~cI;LBg>b6JJ-7Fo63*aDkvpo>p#QlDMl2QJcx>o32giRT zoB4%>8K~<@Yr?`Go|F#O4v1r89JwY+>eom~HXZGAq*QpDQ$Mqtk#cs4FyRUOdDY!5 z`R%vebQGoLijJ-iVL}@)?!m(_GL^L)?W_)LQD&Ak0Fx>JTsFP^4J-y3bPKlGu+N8~ z4iIl{k$zpcsWhN^N?L7vROlBBCgP5fKp|mm^`F$;fCy5{mD?G1{KVFssmJ8L>=)^; zS{x{-C<2l1i|1qsQ{1;HCZa0XxR~F?z^9 z1qB?NY#Qu`d};?a(|Nz&d>(7oHq?up%4=?WIBwAl#Q{oOCFFB~xycIkI}QGa(A$#t z8m@WSeZ!U4TI{tU_2a=R0;`;5UoP$v<+h4J`Wnz-`5p7Tv;nJiLiNG7Ou@g&mIhZe zUyg(fRM*y%uR6iqiOg)sUr0%DdLaL#ANXaM-`Fed>f5Y`|KCgfOJ9-Z;>Z(Xg}>OM zAg#vYw-IITRVk*2SDN8(ep{6+dMHHQVcUX&3=q5pN+3Z4-yOd?GkAJQI6fiXJ7TuUiC?9J(SobXOz(#%Nz{LB#`u`sJgx$c z9@ADMn#%UNsWfl(uA#jYNRIm^!7uLaQk5%>!E<%*od`mLT&SwkKlVgj-HYYMfa)?p zQIBAL{t+@T9pJ)bNMga?1^+{+Db6P=6x?-MAKVSlA0DVbpGr!Z>*6U5swqy|zZ$J< zl+j!yO8tFDJ1?P40wf1GG?^+m7fo_G8jce8--%B1F~r&>`^9g|W?*0dh5Wk4IpJv^ zvS{_6WwU;Miq9acL3O4?Zr~e9e^O8xfl)GaB8;VP?Boi;vpHYn^Lo7ba!OyC*6xaqNA?(pM2YG(z!UCpqRIXJK*<Wz*U*4jMLV2dvZO}sOv37iuOI4 zru^Y}zjj7TZCn4Bk%fn#O|=$(0#*oNn~QP)Q||OgW1f;(7EJYB%svL7J8$bZKjJC| zL~H}|h|o;T8My$TWt9w$-Teobk*4-j3OIjF%l}=N6L4moY4G^$fsW`?CDzJ@(9A5q zQ>){$*&q*_VwxI}0lOXHKH~3Z>$9n2gB+S@#oy4JH2)zMWuFWBj#PF;7jb++L7faF!EXH@t#y3gJzBI@)S-F}BJHaQ7)AcyVuMUf*kiTmIgT~Q? z%3Ck068X0i2@4#aR98dWu64pEbPpgV8Xw{ujGwK&j}a^|>gN!)-L4`rJL9L11)sh8 zFI7Vt?i~U`V|Z|2TOsej4Evi(Du+j3$Y4B}NQ!hkk#sM`P?695_Lt#=E65(sbnfvW zBa4Wr@j#iri|2C16J^T%?s^sY#bGFRb|V%XaeVE*^9Js7rOoNKqgohiBb(BzJqZM9E@ zJ6Y)*yE(4cY3|Lw@pfWc$L_Km7M8;bS7AEVwDR z&9L$&>`e<;pM8)kU!mWhJvPn%SBg<=(uQ!=;7UH54)UDPMw~j z`DguKZTvQ)Fxl}8$0anA2~o7O_wD7#Pto|8YObzd*t}Q>pd12HrP0_c&_W9|pCitZ zYHTTIg-Vx(XKBK$8uuB6P|{ITh{Nf@;qux_JF;Oq0|A%=4UkBkvI$g2gSdbW_Y|=!=Q?MZ|THZ;Bk53f+5qd zN}Q7ulFPF~l}QtfJz@D~1J7Kq^^2{Jb|h4xG&#;yS4?w>Sa?@*T7XWLQb`Fh?ESzN zGJcqaW&XIFv<`bm5?*CUyDjB*g*nx5$sQ92Zqj~^fH1H^ z@XWZlJ@eSW5$!+n#wD~F*=u@&2JV}K7wF#_`kNv>diFkiRJqb?+KIj9E{P@JKCOr$ z>wM+}*(hiAv9H1~^`>vsRfZ(h=K);tCR+SXjL1~FilZoTp*)qFKlBn6T)+)z?0b%I{W1XtaOio4ILEf}lsllnK-9Dfh1E*7?55%6(y z+6$b8co+*ZNG5iBN?j(&y=j#T6NY_~gChudipX2@MAC(m=hZ^JooTQOBB{|tdWzVH z*dsvR2#&Hl_RO(B)c=S-z{X}?AZ>M;WPVap`4A$2(*mT7t-?llB!#ubw;$qEu~z~< znl;~iA|;Wf-;zRJyVr(=#GwDZ*S=ht=W9%4{U|AhIBc;V8@fI)hBr=%wJGOFn>Xwt z3L+OcUuP7yDr#3lm60APGH-5qvL0E|F8d6hADOkKwmqa-FPAh@iz-6g}Fddxa^R@H2rvH;#1>>rV6t)MJsWZL{u6 zsjS{zw!I1_x`%cZqx7a$FMV89@1VQwYi!orC`8pn*8J^~^~R@lqV~08tw?*grp5kLiF&_IS#++Zqp3Z`imY zQg~_PTr&Fe>g6ks{Z@gwI(hcY#Bp=xXxw18K5vMjwMU1J6uz<_qJVW~oynS!~~ zeuNpDp~WA7JW)dir2cY=gv2iwrZBWifWoI%{Z;sH>Q2Ih<2WiVztp%~AIL2dHSIFK z!0?z6kUUa6K$ZBT(&}U4ez~g?f&W>8f-yVir)6&3)!PgK@J>-%NfWKtwS^{Aa4h%} z`j(m$u3>l${Dv^-?%RTq`MLUhnsz==xp_IwfNwGSeN)N4HGFx?Yg#6voyyBOSefyhlm={qNV0T1CDtCxmz0izjJusA5p^d6U+DC82Vjgu?I|d z4>2AN2KRf%xVJH%&;(D=85Xn$$AizzNf53I2W*#^?|W7!>QE@NjgBrI^Cvy-CB_C6 z7H(VjYwY=zJMC}RiR@^CIqV+7_TNB?YB|?i_|o5Y>)?~ zmnwo7m3E){hv_5#|B*H$))!}}zDxR+deR}8pV;{y&2YEP->H52dC|jT)7nMDF`x=q zwl76}kgUE?{)aF4M5Wv!vJ~|sH{B;svC%pn(T&MJPg^Mz%`IA;iEeO3`-K=CCp^YM zFqr6Tmhx%iHrm=1hZEXNZMC7jkFpUicVzd`toyZM=a46FWi5|g5Dt@i&00-;A#+9k zCPk~C{B5Kh9*HLImZAS1vvIX@dQZ~lJX-OpKeDIMKrNn~(`^#vyICWLAt@pmc#JbZ zeUN~JM++xI7qL!kh)-;PkQ~Y`Y5*=sAg#?~F{s8k?ypq>^*AdOWs4)AUTc_j&o;j* zQkJghN-IAVD(iFgtb#Xva4x`(xTGBy$0*g=wrtu{nZ;!SQSnUmN1wR>5<4qI+Ks+l zP~PU9Ye#*u`R@~Zif;{f$bC@(%!%Z;BK${nPwVpVvjtm3;euCm5GidU!Zx{9mPB+3 z|27XJC^0~&u;A0iZ=98kn&p5nmN{EN^6sf1`hV_cHxc}s>0i#nh}EGm-=UFo^q5pG zp3G8i??-d)#vBh|(!sh*ZWH7WHF+4qzTvtu@RP^bQ`VOy4UMM?wxEfuzmS9m|Ij@- zl`{TYo=1p6Bd53%n^4N&{&c zu~UpYKWIvgCw1LHDVMVNg-TKm6j2587YuIOiJt{>XyPySGw=r6sudjk+4^p#Q)X6_ zI`&dcs;$EtDEVL^{SH4f5o(nxH?a;4VlnnFZn={4I?Ao|;{Cr~0PYvI%442=c=P+Y#`kBVD0-E1o2LzH3y+H3;Dphr#yXx%$a4XS+G&lY0SQ<^+pdlQ-X%zOIHkH zAoY}jft_w&{lBL$0hnwZLYP34H){7;L`vKgj{ci*PlUXeAIj)RfgZ{@9w;q=n#KM*9A-@vhshtB$R8>OV4iI_EHIZF z2?z?nLt&V#k!IDDWmg86XNGt@$6;0DFimFL`7F=S*{TIDCzLgoh}hziCHZ__csjcy zJme{uxiI`)ez$+=zO9ZNgT8ylNL3wG*__=VmO7y5EX9SOjtH?eaBj@JUy*ANVY&Vq zAi1$s+d{;c%np*JoOXQNh7)+a2nyV@{LWUT^(t4A+hsfqtVz?3;)N1M8+gz8xEr>Y zi1a4SvB@TPCRibd>kL(nW89DzHM#sQ5(wU(QP9IrRg``AQtjL9w*NU@;9&qe|MCW= z#cHM*qaecHDUrB7=o7Kk^_v8aSg6@{FyB0{;tYkW-r!b$l^rczxhNa2v=-VPy(kKzVT}Q^;jsnB% zANUIKUTcI4i8N}V{Ts8C-d0n4@)jj#F~AZ#fZkyE-!YKJ`gAwe7O7Gd*BS#fgz}}f zuLh(5`@87-%Np!mErO^WB8M2MSpXKH@d|IdJ5vtg2vn!u_AtKfJZz>(`?1j<*<`!0 zgoc*MsC?;r@Rm>rrgNj!yCW5BzhWvhVvG2nxw?%i)i z>MrX3xALJ0^qi1ItiCv~P%({SDt)&VI}j_j!;|4P8>C|(7Nyw0J%G>nefZ{oq3$r- zVKqRPFsj*Gwx~$2$#BwDKH>vY0>?ESAy8revUJKN3oowp7nLUVdJrJlZ)^7_cZ5v< z=%)5!z15)po>>$+6ndZF|XNXgdAoB@I79ew51 zY4^w%)h`Qnl;VneYicjI~RTS%FaKSd_r(;EDGCSo!g#*|=7#v~5>=DdX}48_{L_lc2# zBXk86<_~743PO9O3Sy`ME0tn`h`juVevkn8`DvmF6JpFufejC)c_-!2Xx|7UsavZT zN6^m5ko<*>Bi|)cr3`y-uqnowpS+Tu0_WZ5xcU#SJ|W&J%MRIACd7gX+<30neW%qO z_LevoD4@RRVK7}-dOjTvpZCa#=5w|(O~3mn%Y2RH7y;qmzYI%+ z@8@`>q*m1F-N_334DtG<;(IfS=ax&giE9cmLYw)zT<1Vg+4o^nNdHh94CTL$lWl4T z%HB4orIo?xoqSD^DXtY-usUj1rVG}OzJYf-(r*f>*^$K&EIubZsnmm$#yRg(+zlBn zLfTgnScU(De@#9;X;ad4$5-Top8tN7uT-Ii_%7^?pAGWlyl&Qa>iIJ2A3sgun|Eun zxT&j#NQWLq+p5{K`s0LFw3=}-1)GrSD2NNm$N${Gn~V}rqc1$c9|MKHC8;-`7b(E- z$-_ujeFoeuQq{N61gsmv=UP&mMpRx4FD0IO88EoOxjb!-I4Z;ROya6Pa6@6m!WRsF zoq0Z0dU#7gvM3P&N9+NEAJXHsW>#ra=qKAO@%F>hv}#D7O1qHla=xR6x7JWZ`_ox3 zWJ*t2hlI#~-w$4GlZ40rd{U7^&`CntD5J$MFw+!S9=Xrp_Q$3 z2?c9K>kFq$#Cs0iB`U2O6X%^o{FQL^thKu9Wlt#!1)AK6gIQWlvEfAU3b|S%4TN7} z=S$35V@z>aCRl=yEbSTcgl7{;_L|1|EwHLt=|km5D$8G|+tdAex^5aV^<0vhm9hQr zjDrNl@ltS*kcdaCLL95PsT-<)Z20t=@xM-MR1GDDtCBjL`^L}HLRvm~35^h`Ae6zx@O_XIXhTP)^g)Y~0NFoy;#&xzg$lYy)mR&9fDW-&Z^l zd`MYK-^xt)S(&Nu2p6rak_TT~PD##DdcA z1n3Q|RvY}o)p2ClJYN%PnOzQwL;fE^-^7rhKoxkY{D67pH9plJ^CJ|0B)p*qNE;Stp-1I^-E= z21ty3$nQ!&qfQ?|BeUK}2Z`n0sjC$2A4`OENB-jubXXzp5QSj{oXVt1Je9&XWtrh# z3zF=j>L@{gnCdl;J?%*|^@oqiYVuU>8LFq7A7kk!=^N|<~O8i@O=a;M;DwLV`Bc|m8|pBqK{?{WvrPk_tLSA*v&7XhlnfBuz9`Fhq* z*Xk)5mBO`Ga;R>5phzAL{N6aoSisg5sa0cVG1e!=AyR$4-^muJd)1jQ{P->PAYj{t z$^S@gCZ*LCk&LqtyE$s^F>BOXWt;p&_E$^q@7poZcQdEANWn1cI50ML8fkRl)&k_0 z^9@$=3_ihC6K+BxFL@IBTQ97)bDxnq2tR-mFDk@!DPia@sDEUHD4!L*X}IJD4|ab@ z(?r8iWuh4-6VHO(Y&kB7BVZ*B8jelUR@xKFm%l2($z_r~qfLZeQxxYT>xt~ep72c^ z$9=b0_j6R*>cNi^qI&4bpM0_@SdLT9So$p+aP;nhJSm6aEgd&9E2O2y(#gIN7tzcbHCibo0s;!xjD?18rdpsy#M8FEKkav~{Nw!$@Z57iGJS>^?Kk>6?6Kh19{4 zh|+D%d)hJ68G`Qovz*fX)#RT#?Mv`KCqIe@N!7Q;r2-l-G!!#JNN&rHQTd3qPsK{} z)PQ3YsPCc`xERNJWkwmxy`maD@L76ud>#~24<5}^kX&{v9g_=EKKPxbWbSkB>AT}T zKR2x$`0BZQ-K_+AU}Cvr2{>Z=mu;xgO>>jp{m9BqDU(g|rdl7^8z0)KwT_p5L&l&j zwkFbdc{^?U74KiJ@eaZ(-_7JzE%iVpc8tXF+zn+*)9^q!DB~Fb*BAH-DQS}1yW_qK zzC&&fDh7(80NdZXLkSv90s+7u((|1VE|yA&j`u;q)YLPZTh0!*;4M|2@2$r6Z#LD| zJpioi-qAW5B%b-A%aD1z>Z+~aR5qzi>{R14w4^9>KaO|wteA1}>}PT1{QZZl&RGy% z6Dw~yu;3#P#I4%_LoVKA<{(~omMtYp;}%wCxdv<<;r?k&L90OB{gmAAX8!>BnvL5; zs@d7OuncxzbxVGm^_#p=04ow#3Z^J~$}z-9Y#w*Hr__t-@EWr-ZKUweLl=6m!%h;u z$8U)M$#rE@SoOQJ|<7fWs~zK%#W! zDR?ZgITA>cVh@pW^j%%jyH{g}knwL86H%_^b=PXqn(7m?uy4#lqMdUPP2$Qj+8l~= zXBlfdMyAL2{_<=%r(i)@%jLpdr)5_ES4lHh@fh}l0#_B(t^ssq79I70lE#l>XQ^4! z)9W5*rK_Yr%u&S=*F?Ww(FDIk8x4p#AL^ZSoLl$!CDOn9)w(?3^7((Q6L_04-wtK4 z$+lyt{R%qq_c*`f0?EX-j8Xe(I$HmWoHGvc{#ecA*KhxIe+)a9;o=D9`h4OJA?ZY? z96@*FTME^}Q{&M2df_+7tGdr#657-cjA{;!=)0%var)M%~CKdMBac zyx2gHt|?8&7T!pEvj0|HOt6sNx`))Y_FD2ayU%=zqPd1uA~;jGrei?oI`6w4y0cdZ zy$Af~CFdB3ehei2P92E0Uv!II4Ki(>@dqdFaYi05SRmq&anS2)@RYQJ^XOWI+gJN5G-E?Cvma8Jl>G?fmQ!Kjb*KjDRi2&{GEq}v}Do^XISy?B*W-@K@H~M zMgT4y;9mAaN$KtHKAGr6ceTG`P?JoUHOG%HJH3#FJJcwVuvWD^$ynI$lzC4!5A(*{ z3~U!x505);kV9J4Z;rgre8J(Aei>%S)_3pkI>eyD$*zPwid#1Xx#w@YT=NF!_Y-{3QBrd6n`b$|IP z_@}3!Kkz1(VU&R}*&o{hC6XZ-ap#bHbblD!*5pt`RZ-5;^~%fV;m{#Q`pry3c(iG8 zA5Es{mFb*1k~7=V&7ZFTG@TYW^vkQXF`gS&J)qP3>*DRjgH36Mk__}9qjV=qC zUu~IbvAV&t-PpK|VUvDW#b*l#kfBP=spTq+efd8ZcR({oCl(~5kkT!pWJ-|u{gXiL zll)~^mhWA2OGfm1@6x>%;YTOi1DaO6ql}Nv^*`*VoYKW;ZDs50T1ofid)8h_dahlh?g^5X-1gd@Kz8$W6>4XIA3X2lT zh`KH!LWhX#F^t^$Q+{mK&iZ#%n#9XN=vRYFg13G>Dmmn@c3@|B{5VU*nAuj z-opYLaUXPVzVw(@(n!OMkFEW-q=n-#bzK;W{vu~)R9$ABvL3y9%%EMKd8b_GxhiZa zl)U2e&S$3{-_b(d9B2Qi`Q~MbFtQ`VX3VPeAAZNyJQ_uM+hHS``pe#KPFwoIdDg zY{Lx7P|QwVqGwHsQ||kFQ9c%R57-IPY)C@Ey<>D3EYu}lLQG3QX2GNcgu-B;iN*JM z7tzT>w6jY!l_&rbaR{&RCt3wJ^JNP+QLG2TpK;Wf45<2u2>nEjOhfw8`?CM@t+C>( zB(3L^80_lx7x-;3)PwdU@3r-OSGEXOTOwb(+~N}Lu2?W$y|3lwA2kDmO7BTS-;KOc zvi^0yzjcI<5*VdL&Dl2QKv~Hz?)M%K;PY@+7W$v!tjn9ul-zOLr)t{S`z)~CN@j1s zD~%<&?$)~t0`ytUd6DuGl!->|WHz@4q^nqV=)et8=K@W~+YOI&d<&>=AA(?@R+ydX*5@Jp^L+i*CAP&q#c_fsf`3I@-xnz21#1(G%O{dm=lXJoy6A zhW?pp8Wk!&dUf4=XV{D*f7a-sG^Dw@SG`^#{yiGWBCEoNj@Ie9=u)NjNA59OP;Y2d|G?-(f z6RS*jwrC3cUOqS`U=5U9&fZ=K{+t_m?u@B;Jo1ZoQOsnIG=A-OR{4Y*9f73V29aiT zmNvJ4XoUUoESgK;$1mcJjK6sDE4ze{ zU5iMk4!0}^s0fJ;iZlXDl2rV!9rTWx-MVYvsNyuCFE2^hc8ULiOQ${^Ddkl)gTDS~MaH*<-+Xn_J9mpWq+9Q(B)DtQOu8(lTkqK z7zdu?&12;l_RAwij#lgAE@SX7GXF*O=%i>;UjDRDK5BwQ#)YF-Tl|wb4pp&-M6M)XA&<|=n0ckB?NQ&bP@A86zT%NHRZn7aR-SX4cl6eXX= zlujulcK09()R0uAL6y5sfgFMD&S`F+AAuqAXiENaCjz(I+9ab4sFNxkvAi$1VzAUAa>KUE-6Zav1jg8WQ| zOyZ8E32JR#lGgTJEFh0#a_G7sW{huU0h|55UhxJ@K7^s^$>tg!cC@n-fdy>VkiE3E zKu+@E&B1`_Eyb7i+r*Uyb-^PJcOEj;rq(o>+;+#*HBy?ox4CYo^+Ws<=KRXSV)`dW z!7Wf*jQ}MQl4kdt@7gkzOaAJ=YM0qVJNbZ*b9op$`3f7>UTRG(Ov5-{)cgmdJ4nfa zfL++u%I7w@=ni_W*q^LPnT9CTapWQjO?28yJ}2?@Nj;j*Y6K7W5wRhNwsMC$?_ z`7sk}!py|!)LUME%zR|FX(JUM!QWUAy#x^DuS3)^<9J^@-G%r4{d^|?uV36DQqR$? zwq(jPG5hoXwfB~PQFq-ND7OfLf+!#`lpr}YLpRbf)X*RxF?5JXmr?=_J#Aw@ zGc-s`cX!wM;(b5A^Bb->!@dO5 z=r?{sHZJd91QNrlja8S*U1tW>>NRwIQ*Z0W&2pd%!pia>i@no%Egaodfa-%sY7f2B$)6 zxI@Sw^PwQV84~Kb!=T=tm?stketdRLRI)+)HTdgTIGN)Tif8zqe_IMi zBHhn*%wvNEx`lMfKkx4K)VjFfGUvF|GIpB2yajM2RCB3QgF8I4r@!j>QfWVQ2l6?4cYeS1z$5?w3qxIq~|z*G&uQ<$+kLJL0M*XoCs{ zirynXV*0uqNmCwV7_IimU#OgD4(2Pq{3A`FqnbhcSb<2Eu=@C6=3%oH0S}-a!pt92 z)??!U8|sT6GVGwXXHf!NOGo2%7`CL6+5*0;c6v?Xo5R;btX2>wn=#Qm=A~ZbJfro%`;SQ)g{JtYt4|>HKpDU0B*$>@d#A=bDb$2q z1s!(7&YOUFExFQuZCU$=0p;XJul=uEKH`u%EehXM={S$# z59u*Jr|UtK%q3Wfv)~|NrHC#Ai1fZ#Mv?NWWqI~DedIzX%RFmQ6yD!%okW#87`;(*E$RF@^4nME!Qls&7*Nv%SyuISpkdR)1y6=ACZ6u+oga;<%ePZS zv?y)H`qWNace{bwV16XTVx^A5CcHbA1c3N&B}3E|@kp1Q`Znl)tqBCZSDkU}^36;` z3Doy-Q{{HIQ}O4rZ#Nw$@lvSINGOdEtGy_NakfpJ8_G0k(>*gEoKnR!ZmuZG4dcyX zt}TrCqC7x)RAat?FEO6jDgW{#*mn|E0MO6F5?m*NQMy&x+`YvoKv(ej`h>Pxtp0uu zLcjkNjf(oKPY%D{D9b0-5OGl(cx8pMvJ{I0_#$qvsS{3Y8opGOnTJrz!NG5&>EwOJ ziPn4xnl4(G`znA(5<*<{@lPNo+=OQIaW0W+UQd}IS6GmH8aCle7H{Ec;n4K7jYM_}gPyiE* zO@?7wC&@j1J9Yh!g)@%qJskuBGrs}5zx?N1Rs(Hb>#~;%h+0Jv-A7>3fsgvX)G2YK zhQf*KTpvF{|Js(Ye4J_@o>>;y99nUd?V9xcD9P{%+oCoT*z@x6CbX~cp}Y~hzi6Jj z%vn}xd#T@XlqZzT&Kxndw7pRDjbjX;^qo_eMu{HWUK7WbUUc4dpZ_z%;qcAK7Vmhi zy}!QV_J;(D3d`?usJuWbb(1r!H|`0)6$DYqMFbSKJwf?a!#21^E+3PtMJVT6|HlPT zH0LY{DO>=~50-o)u0{Gc5wHXMLtG3U_g+l2=qf_NYC%$IO5EC#M_g90Yc#Q`DRBx8 z?2VkIUQR-ncL%TTR4)I?Q3ibh(6xZYpWDN!WT`j3fX!u*4w?=xV_KfG(L{6EE={U@jDPjx@MR!2!`*;0Ft-JFXd8|HybInsyy?W|T_23wLe;|0N- zIw|Pk=PChiyTT;gbZdn~Z2eu>Ok=zZc_&gWeIIPHLJU@N#?~XQ%3fB%#zk(sE&rCnLN3 z?eGGy_|`FR38`QCFg4d6uBQIps}s^?IPC__MjT|ZzX;fl!|TusLu?o2-9k?mAgfJ+ z(Pz(n$&UCw-juVAG2pdiVR!bMiv#<_*b!$-U(HoX6ZPGUHN#4_jzP<=?jz-oWh7@r z8nr?d7ODI!_aLY0h}654%P0okG)oGfM;xDrqqh1u2~V+uJH*JR=%E|jJLiDWw{qTUkaZp#cwxBXJH@cj z4m#2v^^mI6BFk0M;4P|0>7OgcTuC!|zjX~63_EnwJy)vR5}Kb2;7hwR#;WY^6=BD&pR089WnG;)b!7W%AyhxbU4c79O#^i}i;Oq)VgGI6 zjrWHAagkS^z|ySNZ#K=}20ZLES>p5YPYyAxld!%~KRJ8f*IovGEt3Z{Jx6{}@nH5( zpf!uD`(I1wdH;0Zk#|>CQtv5ac*d#lymArC7N4tiXtZ;C@vXeux7?E8LbuUpG%>>0 ztXvyUVoa*C;;W5no+EHto>-7j!&w65&(#Vq zIDtb|mV2LT$(#{YM=!I9?PqLMZP(==tTNv7hd;UihHb&^7i5|9jSvzHVz#r?@aX%9 zbf>>(k&~#*P+#ELOY8Mb5%g`TRGW|4nmHT5TCFaU?NUu~r<-lDLz%h7zy!J(?u6S7 z^IscZ2xH6FRfNt>M|TKmB0 z3+0Z;6T}v%LLMd-b_{s*i#eou8(WImT)@NcXHJ1^8<@xTsX%ydlE2r6WPC{d#8rmw zSv+0?@>=q+Iz406_rXv{9UHoZAKDKlxk;UHsRKpp{&e&-V4IKiMxAAGwpm(Jdr2$F zMjzg{ThY+ol=Gf^UJ*OfZ|~!Bt-RH6YTa1v;8IEM7uF;pN702Z3as?6AcS`?F2cLc zqz#)l<9r9A;-@4Y<2)kau&W1|qX?}jDI~8P=o#PuxxtAjU0nnFQ8xH4RSIe zlwD02{f)f%uk()N)$w({3Y`(vbHZ;_)bN%^w#L^VXh-BgpE$x^3bydWIs}|D3ncnv zRR&?047x#U`Wb6*+lD-J?LQf&n7n?js)Cy%#v7EOlXKdi3>FFXEb^J(g}#J00x}@@ z9ybz7F=@=1@2I|$oPz%Li-5(THIuMRUBzF>C+4#y1-0<{6j~>fyuvZM3rU2QD07F&5yFA*Nlbssnxocu~B}FnV zdo(g+H|A(3V?G~B_5txrhAc7Mpl_;+%8l+RdXa>tQj8H)`y13muk15Eg`})vlIH55 zO;93*#a~j^{i;mom)Rht6WZjH@*}!BRWCnU&lSZ?ye>_QMRFF#M`>q}sG)2jy4oOJ z@ovH2p6p5QyHL!qo%COyck}b>l`lODS5NZCK!`{v{kfMK*jWbZI z!wy!TITlb!=-bw6%sqzecFV*<0AdfPX4Ry{5C*UgeV^*1<1A|tngEJNEcJdPJeZF< z%NmyrC$7Z0+(Zke(zM7&K{Ipl4uK`6aYkxy<2inj2rl8tbv$m07D!5#6@G)$V z^S|!VbyQuW$5R1Ki-J0{5Cxtul zR*{X=cx~cxEvY{0b(u;E79@~KN=Mp-#SlJXXzUlxnFXF=KF0WW*cPo>c#0bRGSU#z z(VGp`Vd#yqc8;N}R%|pF<1j=e^!5bfKT=D?l5FmoU>Jy0P$IB1ypk!roK-KHgH@gE z@NNZcemlZbTJy|XC$Gxxj^x>kanoc^iL&;TXml;CRC%^3X-tCv>XHDLG@#vic~yUl zPe#PWM{Z&UnL*q9^M`KR>e&GG` z?%g+eko!)wD`{$LVc&F5Fjt5An~dxYIQQ?~Pk2zikKGIg7qhYGK$2A|@bJu%Ice+J z64`ii7n&{M)rqgsooF2PD;Z#6b2HQ_NU5@dk_TbcN#M{Ri?d2cCkL zVqmzUfO+bG(BE{pPB7vD>O+uKzFhbqh4=SJ1FxW=p}nPKnQ?6@dk^SUT+75+$3WUf z%$PRqhlPui9AC&^zQ~js`Yn|E_%qO&N%mr@ah{+G1cn5heofX;{+PWTbNL1^I;70s zGM7KulzD}2IlC)XWhasMR65BtNaQeXez}W^-@I2d9#WML`ox&}vLhM_@?Aesj75fQ zT>)MD((on_5kACXoD&p7WD2B2$^y0FScWS&uQVn_W{c5iTy3O2wG+MLlio8xhK zk`-!W2~HL9u2#5bj4Ek2{`T;7>S$DNye?#7!_FeC4|kxBj4+J=581Q=P<8C=3XNsSsd{1$U!rR46WA>quxh}h0=QL;2STP%XX%7qFsS>BCmHvqRBA2wTw$vT|G4$ zmlYQDQtM`goj#cNbLo|8T_DreHvkOX(ZxryuC1?TO?VO!X`OzOZp-OC@0(k{@`!76 zHQH*UE6(<>N~(Q_fWmK_pU89eKeS;gnysKOlR-_iM?6ZG=o^R$@ELG?fAN{Vl>e~H z%nly@{^|N(=^ayE;68#>J@*~cL)eAByCr&-6)B-`bdNH}=pjtMxxM>S1r%uaI&!A-b8?I#Qu}`w39Qw{-~P~n_FEdFcC}~{q+aBf#i?pQIH)4K>x>M*4t=nkWNh}ZPg-k;Oh~; zOs*yB^$vT)V(QWh?GAb%N<&Nj$$0?lh=fy@C0#En{Vf`Zqw?iISXuWIpv@e)_LsDf zEaK!>26g~Z=@fIeEyvA9>K&6C$Ij?-BK`zkXc$I`aEoDmRX#blf(RQ2eIu5inH2IQ@5x5^F4(Fv z1udnw8Gvc-A~9t~DSi%+Q?ybyNve^N-q)}1jnhn(Yj?|CcZ4N6=VxbZ|F8xLD%(y9 zm!DuY3-?Gq>GSATOzg$33fCEypA9%e5Lw6|9kdz`5Nh?+1z`X=R+)O{!t2u}{c-rN zwENC5K$GO)2^B{!%&&gAB-}4Cc*g<*&Q$$(#{kbc)iNjYMcHyzb$a4#9AI{}e9!5R z;RT#40YXWJK-`9X`m0fOzp9FMg`)oUWt_L^;c6_7v^B_$hW)Sob&8{5=@%}BxG)*A zu_zvy1fMW}Dr-Qd3Gv*_@K&MlvV(c^n+*Z^P23x#Yf8v&;ScQ8hUudQ^>IeWNNX=VRd#Xl0V9OyShA4ZQ&UA+qd7obkJGSgeKSl z{cPd?zqohFc@}o}f%IpaBzfB|$vEEw&ub-sd=}E%T4OmL^CYH(XE2p>fpRGMjlZEa zxU|7MfQrj=dm6<@saiplhs9`hzSU(~d{a?ko1%G^X(Vh|(d*aXyLlC@u$uDQi*h{j zn=s|nH^C3vlhO44c4h!@wA*f^2JvjiK(J~K<@KqwaAF|X4e3kQhtHgK8t*9ANidzi z4q@Jpbl;opEtW_px9+syd+O$sFDxAz3^bP8m3$sQxH&jNTY&B-XrKtK}-UU z|KKy=CjcIZSM-z}t?O5PfKTAt@=q!Z^OOIMC$Ph5nzLJm?HKS7WyU|JlgCv1MdN5~%1%qKip!W&hhP75Kyqv#=os z7x;n1=SmpB_2_+2WRi~zVg83EO9ueWy&1t9j3Avi$NynwG_+@5GfXJ+B=qGqp64Rv zODD5Nx^Q%F{^9Fn+SsLEinmMIqkNu?UPlW50aqik6wyo48LnDKiC=R`Zg4whSCGYt{?rv)_$vl z-TwCjUtSd!Eh?Cjiqj_b{=g~!lv7Ph3vMu5&Zra8ru1%kO4EAD%l&_|s`f#w0$tUE zTKKwy@2vq@ngHt3qRaTg4i%n_+GPlNOchQmWgEbSwyEf?8owP`6%7Ezo{T%1lN?A* zuJ;Q?Tk?RHhyy*uE$@ise-?J@H%ZPsSF=o8UELGjd3SNhT#`@Bra5M`bhVoJcFj!b zZ4t6O9E2_g!f9jw!L?3;@Tv{?>h9q61RK)pfP?cNZbw^x+bwkVM)-!G0p8-2M)7ep z8!9zPq+y821tyYr7=JSxE5APNBkyDcn-YkvOwScWu)Y+F!fugeER}Sd>;dXc(&|r5 zswAIE#+wE&UFM6v-I9i|7rSjzSF^D`2l_X2bdJ#Es3BD@!2KqfMd-?Cm20A?CaU)y znzTRjqIvxK*IPC+&$UBPY0`L=?Kf^r%)i5KK)Fg;WUZS$x$l?G7&|vXrB{K0yuWz^ zz5*&c;t#sF8Ak&`X&FmK9u&|&60SuUj3LN*nLB4;i8aic&xhz zmXdkSTzcKUY?$DC##6}Gu1OwrUlDKNfDEiR>=(9WiNpNaEyP#67vi zuxMX>s&m=DmtjhhEc9=l)67YRh97AIi83mWZYU?>~_k;eUgvAwlA*x1$5qM$_Bfn>b3K4@&}Zs0I{ zmvea0?&!^3>)kTAGiCl(d(5bEQ^!0hoLbj(k`>@U3~F^y1^n80Yq%eu?AqLhtKBDw zBG18bDlmU=Z!Mri0Q{rWZD4TZ3OKPM4g%)(ab-b`jpNb$q&%=8>!~+ z19w7;v3dEsvr=H5{13utCXk{`_9zIi({{HgRK4Q?KfTpr6eKPYhG{$`=AM=B(w`o5hB}?103y%(GuCEQa2c8Vu>K z0ouT3wE)ORP~wWc#JQZrfA*w5a2~ZS-~v>D%%|W%8Eu^P*8h#W&;J27F?giGx};k1O8baw205hWG~PI)|k<%{kiBAPgJS|f!3S&g3FwDC){pX$yE zptS5Slc&BzD%He2?ds(#J8^ftuNoZ(Mkm>xHzewD7Cs;nL*PdNnu z@ehIz2xY{PfjCMy2J+1P9!q}|1b9EiBG|%9p3I6HjJj5Q*;IZPBpCD zsd!DjB8CUQcF93~+0ZP*aafQ3X~jlOK_4m|Pr4G{_s8R4Ba6Wd6>m!`@IX=jgLLcq z46qPyqExO?wiQo?p3h&L!~s9w|4*$%<5r|Ll^YShp?Q1eqoN3&t$-2%o?a_5oWD8{ z%Rsh)hDJ*3O4)yqFbb2CK~eeItR6*MUKrYU<5)6g_4K$cvtC?LUqrsY_~ffuYF3J2 zQ7wO;;cUg`F28!LW;0<0=K|=}u7-@CWxE{$F9bZmp zu`dy%rf(-j0Pu*Szc8dLz+J$VQypX&Cu&6odOp%GYPSO~apOZ|h{T)t#R+*)t=-)le-NQIlS1^MM?k1irk`@|CR4Ts;gAPk=LS6@zMi6cn8rVjB&h!m zjAy4vD84R@46yj8sjLg=tBn4RpL;}MI#u)kYVIXXq2tYXO}(yS3TNyPMgvlZf1DE` zDf={~ z>vL}jb;#SPqGx%p6!8OD;Y?c&u&MR<8^aDdM{d)tSPuCjK*;{>VUdwpVJ%u-y90n| z8y!TutDc{jfj-6dwHVwPI9FY4@&!c0c?}}Jx_qxL@efpiMY!hyDV6k$rn((j`uXEs zV0W;OFX@=~=4)d=+4N3TzBPuz|4-ln4d+^rULq0@-+ewI0!UKTAxzC=xV=n}|BRY1 z!2#3=nw7>%O&hj_$hHX(001N=`msZzQfDWE9&Mp9CQVYN;m@_k?yGZD@GzHZ3&@lcN)>XT+ ziDy4!Rabj~`7w@gR3U5Jqp+YpLzx7Q$cr0qp7Kx%-$QkYsAYdyh>tkmN^I@^9!%HQ zAQ^ekrEk(@CqdUUAyhX`asEg^`b|R-jqd6M11!uCKW=RCcU*6&4L=MhgKgzP%NC=N z<-z$27ug@phKScPOwR4#^A*nTblsPqj~gIho$Ccwe+jPlTciq|{h0VHlPT^qKMAlV z{)=ZZ**GH+Q2dl2Nbf0RHn8XJGG31MLgyr$_UUwHNir0knyJe$t0tmaU*&bFwcNYE zIB5?47Kcr?|7!Eejl{^x0Jyg~{j)*Mb%oXN%Lj-2a5KX1QpXtGU)gt!XMjywu-R0s z6(}+7qVE^Kz`xg3Lqp4;oSS#UQi;8D3wFnpds+7=t7(s`a2ZBF`JKaKxyJL5-~6fG zD~XQ$nRDZ84JM}^-E0pbRGfhfZnGAQ<3Qx`p{x{jVSSZ>)Q`pG{Sybhl3rjIl)JW8 z{VngIZTN=Me*N{Sq1zaDU#9wJCsourT;(CKptLBFzY7}t!}q$A#OVL6#aYHRxTZT$ zf85uob4xo&viO*=R?7)RaR7Z~EcFX$s*h46kS=y$(?s}w<;9*B^eTIQTuon7Zi?HK zz4%=;-$2m2N4D!?q4|;CXO0sikLM?JhSBfZE9r1%!r9@E=^HGfQ5z1PW~6Iibl}rQ#ool~+)y@MpLT$>}C5sOy_j zgvHXQsfm`d2kn)y{URakZ~%3Ke5Z9T%->rBp7so}L8W`#&ew={T?p|yA*oX+HEjCO zJUQF^Kin)%CP}>ac|wCVld1}hMqkvot|kbgVTLN({7KtQ-Zycf&{nRL=DsC_AUUj` zgA1o?j81E-x#ErjGMOD+21tX^fLZH6Is2Aa*_Skr{P*sf%OGFQW+Zp4g=G0+FLuX) z#3nvvu_%` zyg-lZcb5r*DElDh9qA2Bt+DMZ$`64JP4f)SdHL^F)cfN2c#YB3>hcsibY8ix=)dM0S-QF?CMFPeWR5oIEL% z#(RK&)l$mTI=-&S032=sfa(b}%Yg$WQ~7}7c`H%VBfwZ&VJ@5r-!gMIxa?q<7tFja zpQ%mFw$Y#T0aIrU&^-)`*niAMtiYR0)qwmI2SnHORMk`Vjby#G76(t7#G^AH(a5N& zQW38@ln2PTfhCb?@`=jocrAbEXoN_c`~(04#XvSky~?^uK>DH&DNLC{{)6oRw))81 z!S^O`LgS{G`4uy~xrg>k3}(3mD&IZvU?7MS`-}DH<=*8Bt&Gd7VfFfKJKoa-9*fBD zcLR^?sCOG4LDFIgrnrKLYefAyBxQj&7USDfHxW%E!mv)qvi4H^+NuKJ+nJ3*KSxav z7UwwJnIFnD6~7Sw0kOP4GoS8DY``eK6LOmt|o4}WekLd&#Qk-P2o}j zBtOPqBbUg_1Mud)i5;&mY6GG8&c29~o~?QUsM8cxnIUQOHSLyh6T+qLTzwsi%Jh8Z z|FP!MpBCJ2z$Y}K{9XUN={~aYq;a%%dG?ByeXN`@)9|>-{bW5PiE4BCJf|MSJ}9xP z+yiv$O5~+pYjDyRzkdLxF?#0r7w+K`tB7H#XvX{d2Ibn5{8&YQkO+Bm1~If++SqNf z!Dlh;XcxYFyon-&dZ;ANh~I|h&N6#7ir1-0e^TqBUhc;Oq=b2a=dmNQ$JqC3&xOqa zktA=TG@f7IzagyqU1HQ0Db=4AN=IxcMoI5`qV}s72hlkoG7tzU9{PVtAKLHW?p?fv z0zJI&vR8dsrtq6EAVcOTu)joF&A2E9!lh!Luf77k>|E|nI?JDnelnGfa9S1qkxS?- zr#4gc#pO<0;NwO|Eu^n+dstNQAdu+RfT;@l28M4?H+c>N-~diM8A`m=2tQb&V*U(x zEqgb-RO_X~7%2Bd+zgiM=oBsMvOFpb zL(n<|t>Tgb<&&{jRF@u$9Ywh4l-#asQ4xSRdU~M6kW9yj%0*!LK$D+?8BoMMym=gE zYnI|y|E?|>F+6m>GJrWML0;-|aBm4s0UMzw9}tO!|=177y9^Q_9Nv>aE`Pl9%*5L78gXw4LX=(0}dq7)N5 zRm{Bd(2kYEyVQM*=cL#6bD$A*3`(l?NS?SOm`u3hCgBM)`YHyV_DT3SaA!W2AvHTG z{lou?&HS5D(qM)50U)BpOCBCj77Y;J0lC$pU}FTSk{v!`cxC+IBXi?j+rF#Cw0gN@ zBsQb2WKq|1^nTPM)zRnHCwoVmCsRH%i+rRbS7nuD%1TE?-6;AKRg+(w= zEt{ht0JH}2Bu&v`anUE35*W?E=&NOpa@&OOLdT}))Obr?Njg(<%t@3jg}y;$Yc*u5 z)zexf3#8U#&2`;-F)x}W&`f8QX#`22tS#LHksns^Hn0ZGp5ZAiLXt$jw^NHEVxRss z25@)LpfWq3d{h6-&rwdty$>zJuSZS-txFmQaF5<;^ah~ZiSk-wwqkt~O4bRy%bMX} zGaKNY0L#4_{_>$7Cq2Qi(9^lQ(esS5%Z-SazgiK4V6HtLvSZo5`>RbmO|KnU_nW>` z%#~?^=<7bqd_3Vw52{17c5WHN!5dHTf6jFNZf8dKoyK@-=Rx#u30CYK#oFJS_VQS^ zJC@pta=24EW&zKmZEHvnkpWQ;6U8SQ#5sgWrrkPzx!C5t`K6nJ*a^k%>79t_e#oV% z?jMs-@bkO5XKHVDh1>S$*9Qoe9}W)rdm?9PS2w@+)C%O3wEG2`{#=PkK`%S{%a~K+ zw3e^RByAT^R5?)NIrociuu#UhYiXILGd=eDxKnB|p6IOVOkXkVl_wed;p6~+ z)B(>R$-+0M4lyGYlhHoZrEeCrwuhe7qQ^pBY#H*pgJaZ1ERQ`)U&QELW-K;YWn7h& zj81b~a+^0ca=M*6C~ApqT|G8bSdABRaKQBexr{C5Rk6bl$(mkWzp^%)pf)h&pF3@us=9<<*7X)yLE8lSJcn*<+mHkqzZ%1eX^P2 zgQ&9`S1UjM>8F=oPRNq$gq_$s{GwQODj_+o-hQCA|IG~)MV!=jDujd}Apy@Mf*o9p zt{G{@`zVilU@{w8+kI>H7)$pCl4O=3BBYoCf?7<~4-ZV1gm@T#PK-;@vrN5a|DE{;B7qCRY&M*+h^y>93^ z2b@eKcZ46d^MK!~eM7~Je8$S$scdw?oiuK~Rlj1K`}d&9C67p{=r-I;CM4*bCfzQw z9NY#;nTuR6kMCORU#(Rb>-r-<)^Y;;+$3D2yh3H5+r_sQvI-=~Z4;e3 z%WRjtaAbEY$5#!iKvU@>nOA0v%Zy~Krm(>{hG^6MYh3b5Y-)Ag#tkg}-nZ-@C%or) znKp%9<|EygkHt_Yg0KJ@Wu|etv94^sy~noO^&Ukwr z*XuRW$#;jX{Mr$~rVNep+86f}RzrV&(QTq${N@?CBA@ZC+H=6*%F8_8lo8Gd=Qkyg zzzX5dWAm*sv*b(enTM>h9~3YZ^TcEki)!`89lez2qo?;Xb@^nWQvuL1cxGrSU^2>+%MDz(6hE#BvGY0tJCTeBBtzrp8oFX;&0^p zV_H-1Es-ljU*pC7YX)?!a_UQ+e>E^WlrhA}2pFP4DJ7ZnXf3&>k+U*N*LN|fumE>)=q^!@TI?7F^G3%FXs;(;KS13zC>cx>r z{VX7vrQzVE>)#XWmzqCKZ)ND$HdGfeMd$YZ%cf3R!1U1}>n4c;NC6Z+3EbV?%%}@* z-6QmE`c|M4L3B0#GI`)8hD{Ols{yKT^BtN4O|xKGPXGD-PBR_0di#r*`#e8}>(I~F zVJ6m9WU2Bpq$$nb>_^jSc-)!c6~pWhsWvb42%px8%mpyDinaaoo|t!vK`t|r4)5(< zq6$!%$P0CF>sShKi-0kGF-MNlv8Jna-$Q?Kyq-3q5{LymfsIW#IMzBBDzl>6)#Nc$ zvv-Mv)O^b#^_m*1oBY*Oi=nRK=6!Kw6LE7x47?+-fXCflfWN=r-V$rYe8?{PlRykd14Zlkl;nVS zYm%X%N~HqaMEwZ$C&Y9TI~|z#E;aI35#r?GYddrK6%80=?Q&%Kw|N# zqhNewIbQ@xap2HCad0(H1@A^%*O2SK=NWL&&qzTpbYoyQ`VrB$Yd}!=_Nbrq{+l|7 zs^lwR^c`d5mlqj+;U}FAP(BEm%Ixpek*5Oc9VQM5lO?wNj;2f9cm$}iFTPu5zaBr1 zFEhV!*;%2;5tnD%HM1KI35^q78s!{M_%9kr(OA6dF6c>TJAPW>{gaPVz*$sw@%)fA zYv4|SvpV7@z1RG=$nVp&J-@qj09F3$)|aA}l^ZbgzL-6mBdgCp@g~;F<8c}6mp_n? zwK`7C^qWGA`!7X+dc?kQQH3E9eM4~sC#R=jqx63Ph;s>)92rcSsJE+^6xilRbf7S#^d~Cx=#qrzu=_b$(18@ zZ_eiuDv|OIDUk)pa?i8CyV}wTC-@V`|RTa|F^<{>y8XMeNyMkjw z$!3nXV3R~CXi62OiULk|l<-#LEz@*c{yS~wiG1^V9YhbxcTY^`S zu|cb2cqI8q#~NGC(<`YdF>qx7OhzDlxSa(mSaoyEvzZW_R-cK?L;@yxk5v8RpEYZfn-T=4IPa6hBoXuZ7~Dc3t0dI%S4iUm-0}X2ASKM~ZpKuEB6N zvV2T=u!)hrNB37tn<7-E(Dd8ECH`ON6aznN*B{H);0+!!VK3GarhViE%gyMq%|VRR zs{?7MVn`YGZ$>q_dUM>m^AQS!{*;;WfI3r`>+M{%%U=bcH>eJ$B4X)jt^$Ux`~ z($fFlgtm`$q=G6xFG@EAlxu?2kjBg!!jz>#KBmVlrPnbNRpYifP?w&k-3o~a6t%bS zsygsAqGN-a0w~^fSc;fIx)j;%Fe8Jp6r^2Sy zTZxu|a@V_QwTeh3;}3MSIgFHu1_B3g9Hf7C#GDzvsu3=yg`)i~baGdow@Sq9V_MQ} z^~2iC#4c=X^EsGZ&Sb3gG*N%JwJ_VlX~ZewdS0yePkX@Ks~7jkav?zpD~dI*)T?Gt zs4H9*7r4#0vWtJdWrgNIS1#kBqg`!6dUQ5sxh4)z?}%uP&p>q955GNkKK5MYv5maF zw2n0~`k7AD!BDg56GxlM?6521xx)o`|3p9{eES5OI$&M2hwr61dw#UQh0_cw4|&yAA*z#h&z{pz57)S98rOhCG~myoyESbkWnhkPqd+a8P;k9{v`@*m(_ z?oQM8iHbzFu&IjF<%oo?9kH%CsG$J2rl^IQAm00O>|*`T8K@7BS65P&#)mje&da76 z)3M5t^VGmmlifld5^(LVna6e){=aAtd@XRh>#!5JvVEtqlCQxA_c$}iM1n12c0_G0 z&NAg3^2S63VvE}1A;#pHBcwIS7Hp-0l|CS5C++v4*1FM%uXZQ={|8GiMyjsWTzssZ zwAnR<;~2(v_SxY-2^QKQ`{F+S78IkyT(*eFcAzo}Rag zt5)30#=9pPnvhtYYgS1M>WZTg%MSnV7Mg6Q;3l1T8kr8{NrTl#U*t!VxNZ6mt@#RY z?LO*HC`6V+m2f~&1@Vrq+he}qrDC#SMKHnlBu5X|!NOk1!IRqLDqpqBB;7;dV%d&p zWb{Q_j>;=aHq-FeAaBBQz6DQ#P%4?JI zqRM~#6!g4c1cVMNyeL~q!xQNbO1Hg7kJ!7mRp{`MCo z7NtIyy(a^$AqD1xe_hl)`Y>HPUJ?7TTVzq27v_hNX-}o+Sh&|*t@)^w0pq8VZvV0d zE}+2IYpV#-Um`+BLQc>HS>d-$Nnp!asr0YA#YRW55De!x4Q6tRe3bV#s*8sO?T7;2 zO2lH4Mx|n41kq47rJva57-6oOG zU(YckqguQtDuP2oD8xLyYn%}is;K+`-1~^&ziQ)qi&ySQbn2eejY^ii!=D%3#%7h> zw~l$}n)i=F;^nBC8%(BJh92${5pW|nSr)nMakjrWOzens*Nwno;$hy~Kf4Y4zXOLO zaIrKu`J`uJ!OF^B@9E7KlS5)9YcHN?qH><(9Hd%FlA|Zw7b?>V>wpQ!P#j6aDrSH! z<7qPQK7NfcV-rejC(7P+ah@ zdMMg)Tdr|M8KyHxL5?>!)|Ml07-_IpPXI zI|X~UJzPw+OoF9+_5_8IGk3KK${ca)Bysd@k#o<3bbLn zCs$z_o%sa!5LyC@8ndUce8hI?VMY8|LYWKpL0OP%eE^_pZy)wFF**(cQX-&l`lXkX zt&NjV7bX9$rV^){=MBC2cAIBz$$vkxVvRJ4qjUB`>Af}4H2gxzAqnD+H7Y1= z6!b!lAM0XMYDPBw?EK(xUGTI?~?6_SmABkC6VT0;Zf?`QAUtt4QfWv=l*V+fg< z+D9AGKS3g)YSKNE%)ZGUYOu3#RnG@!oKp4~O;p(s1CV9~ z97m*E%+WU@3*MOgSzx!O9UG(7r#Z?Kq{=K)oEMMVkMWtS_{fftZH|2r`#6d302b{L z!a7HqJZ{@BLtj)J&m(7||Mado;J@T4;Mok_U|0y?Wa45wV+jNq;Y?F?(Wl>%Rae<# z_c#*^CPac5;U+suj*d=*O+{9^PpO+=_B{`ILJPZ#Ng*5ciabaNq>?_5;`&r9x$r-4 z8!Tpi?+U%Qh_@$>o86l}zcM%9uHIUN*LWhOk_eoDJ`F@{7GW^^{3ZO<}3gQa