From fb53cab781e889f1509b44e22b52d4fd2a86e495 Mon Sep 17 00:00:00 2001 From: Benjamin Balder Bach Date: Fri, 9 Dec 2022 18:32:21 +0100 Subject: [PATCH] =?UTF-8?q?Docs:=20Split=20Custom=20Domains=20as=20Explana?= =?UTF-8?q?tion=20and=20How-to=20Guide=20(Di=C3=A1taxis)=20(#9676)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Diatáxis refactor: Move Custom Domains to the How-to section * Proposal: Split up Custom Domains into two articles, no new contents added (step 1 of 2) * Try to make "Custom Domain" feature description more self-contained * Update cross-references to match new location * Update docs/user/guides/custom-domains.rst Co-authored-by: Anthony * Update docs/user/custom-domains.rst Co-authored-by: Anthony * Update seealso:: box with a better pattern * Remove redundant section label * Add custom-domains to explanation section, add a "What to consider" section * Replace "central" with "reliable" * Remove the example, there's already enough explanation * Add mention of canonical domains * Highlight **canonical** at first apperance, then emphasize its importance * Try to simplify explanation and adds CNAME to the equation. * Fix language * Remove "by default" * Apply suggestions from code review @ericholscher Co-authored-by: Eric Holscher <25510+ericholscher@users.noreply.github.com> * Use Dashboard term * Fix up the canonical domain explanation * Change to use :guilabel: in explanation of where to add Custom Domains * Try to build an SVG diagram with sphinxcontrib-mermaid and mmdc * Start a real diagram, only build with mmdc if in a Read the Docs build * Disable SVG generation with mermaid-js * Swap direction of diagram, add some more icons * Also illustrate the build process * Sketching: Move contents of Canonical URLs to Custom Domains explanation, it reads well... * Tweak text, sembr * Canonical URLs again in separate article. More cross-references in Custom Domains. conf.py Comment that :doc: isn't supported yet * Make sure to mention cache invalidation for Read the Docs for Business * Replace "See more" with a better caption * Refer using seealso:: * Text tweaks to Canonical URLs explanation * Move How-to content to a separate how-to * Updates to the original Canonical URLs how-to sections and further references * Revert back to previous phrase, it reads better * Update docs/user/canonical-urls.rst Co-authored-by: Anthony * Apply suggestions from code review from @agjohnson and @benjaoming Co-authored-by: Anthony * Update docs/user/custom-domains.rst Co-authored-by: Anthony * Apply suggestions from @ericholscher code review Co-authored-by: Eric Holscher <25510+ericholscher@users.noreply.github.com> * Downgrade cross-reference from a seealso to normal text re:@ericholsher * Add a cautious message to anyone that would want to define html_baseurl. * parenthesis clarified * Add a shortcut convention for referencing issues * Add example code for MkDocs which unfortunately requires a bit of elaboration * Updates diagram and intro text to be easier to digest * Add a bold text that a project needs to be rebuilt. Move the note about ANAME/CNAME. * Turn support seealso into a note * Apply suggestions from @ericholscher code review Co-authored-by: Eric Holscher <25510+ericholscher@users.noreply.github.com> * Convert Mermaid diagram to SVG, remove sphinxcontrib-mermaid * Add a closing backtick, remove image alignment (causes wrong vertical margins) * Update docs/user/guides/canonical-urls.rst * Manually create a PNG version (not as straight-forward as assumed) Co-authored-by: Anthony Co-authored-by: Eric Holscher <25510+ericholscher@users.noreply.github.com> --- docs/conf.py | 12 +- docs/user/canonical-urls.rst | 49 +++---- docs/user/custom-domains.rst | 161 ++++++++++------------- docs/user/glossary.rst | 6 + docs/user/guides/administrators.rst | 2 + docs/user/guides/canonical-urls.rst | 58 ++++++++ docs/user/guides/custom-domains.rst | 128 ++++++++++++++++++ docs/user/hosting.rst | 18 ++- docs/user/img/mermaid-custom-domains.png | Bin 0 -> 125580 bytes docs/user/img/mermaid-custom-domains.svg | 1 + docs/user/index.rst | 3 +- requirements/docs.in | 1 + requirements/docs.txt | 4 +- 13 files changed, 312 insertions(+), 131 deletions(-) create mode 100644 docs/user/guides/canonical-urls.rst create mode 100644 docs/user/guides/custom-domains.rst create mode 100644 docs/user/img/mermaid-custom-domains.png create mode 100644 docs/user/img/mermaid-custom-domains.svg diff --git a/docs/conf.py b/docs/conf.py index c85f38f1281..3e91141d6b4 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -32,6 +32,7 @@ "multiproject", "sphinx.ext.autosectionlabel", "sphinx.ext.autodoc", + "sphinx.ext.extlinks", "sphinx.ext.intersphinx", "sphinxcontrib.httpdomain", "sphinxcontrib.video", @@ -159,8 +160,11 @@ hoverxref_domains = ["py"] hoverxref_roles = [ "option", - "doc", # Documentation pages - "term", # Glossary terms + # Documentation pages + # Not supported yet: https://github.com/readthedocs/sphinx-hoverxref/issues/18 + "doc", + # Glossary terms + "term", ] hoverxref_role_types = { "mod": "modal", # for Python Sphinx Domain @@ -206,3 +210,7 @@ # This page is under login r"https://readthedocs\.org/accounts/gold", ] + +extlinks = { + "rtd-issue": ("https://github.com/readthedocs/readthedocs.org/issues/%s", "#"), +} diff --git a/docs/user/canonical-urls.rst b/docs/user/canonical-urls.rst index b75071e8045..4a0a5156887 100644 --- a/docs/user/canonical-urls.rst +++ b/docs/user/canonical-urls.rst @@ -3,10 +3,13 @@ Canonical URLs A `canonical URL`_ allows you to specify the preferred version of a web page to prevent duplicated content. -They are mainly used by search engines to link users to the correct -version and domain of your documentation. +Here are some examples of when a canonical URL is used: -If canonical URL's aren't used, +- Search engines use your canonical URL to link users to the correct version and domain of your documentation. +- Many popular chat clients and social media networks generate link previews, + using your canonical URL as the final destination. + +If canonical URLs aren't used, it's easy for outdated documentation to be the top search result for various pages in your documentation. This is not a perfect solution for this problem, but generally people finding outdated documentation is a big problem, @@ -14,10 +17,20 @@ and this is one of the suggested ways to solve it from search engines. .. _canonical URL: https://developers.google.com/search/docs/advanced/crawling/consolidate-duplicate-urls +.. tip:: + + In most cases, Read the Docs will automatically generate a canonical URL for Sphinx projects. + Most Sphinx users do not need to take further action. + +.. seealso:: + + :doc:`/guides/canonical-urls` + More information on how to enable canonical URLs in your project. + How Read the Docs generates canonical URLs ------------------------------------------ -The canonical URL takes into account: +The canonical URL takes the following into account: * The default version of your project (usually "latest" or "stable"). * The canonical :doc:`custom domain ` if you have one, @@ -40,32 +53,10 @@ thus avoiding duplicating the content. Implementation -------------- -The canonical URL is set in HTML with a ``link`` element. -For example, this page has a canonical URL of: +A canonical URL is automatically specified in the HTML output with a ```` element. +For instance, regardless of whether you are viewing this page on ``/en/latest`` or ``/en/stable``, +the following HTML header data will be present: .. code-block:: html - -Sphinx -~~~~~~ - -If you are using :doc:`Sphinx `, -Read the Docs will set the value of the html_baseurl_ setting (if isn't already set) to your canonical domain. -If you already have ``html_baseurl`` set, you need to ensure that the value is correct. - -.. _html_baseurl: https://www.sphinx-doc.org/page/usage/configuration.html#confval-html_baseurl - -Mkdocs -~~~~~~ - -For :doc:`MkDocs ` this isn't done automatically, -but you can use the site_url_ setting to set a similar value. - -.. _site_url: https://www.mkdocs.org/user-guide/configuration/#site_url - -.. warning:: - - If you change your default version or canonical domain, - you'll need to re-build all your versions in order to update their - canonical URL to the new one. diff --git a/docs/user/custom-domains.rst b/docs/user/custom-domains.rst index b9bd1e6f6fc..259a1b3ac3b 100644 --- a/docs/user/custom-domains.rst +++ b/docs/user/custom-domains.rst @@ -1,126 +1,101 @@ Custom Domains ============== -Custom domains allow you to serve your documentation from your own domain. -This is great for maintaining a consistent brand for your documentation and application. +You can serve your documentation project from your own domain, +for instance ``docs.example.com``. +This is great for maintaining a consistent brand for your product and its documentation. -By default, your documentation is served from a Read the Docs :ref:`subdomain ` using the project's :term:`slug`: +*By default*, your documentation is served from a Read the Docs :ref:`subdomain ` using the project's :term:`slug`: * ``.readthedocs.io`` for |org_brand| * ``.readthedocs-hosted.com`` for |com_brand|. -For example if you import your project and it gets the :term:`slug` ``example-docs``, it will be served from ``https://example-docs.readthedocs.io``. +.. seealso:: -.. contents:: Contents - :local: + :doc:`/guides/custom-domains` + Information on creating and managing custom domains, + and common configurations you might use to set up your domain -Adding a custom domain ----------------------- +How custom domains work +----------------------- -To setup your custom domain, follow these steps: +To use a custom domain, two actions are needed from you: -#. Go the :guilabel:`Admin` tab of your project. -#. Click on :guilabel:`Domains`. -#. Enter the domain where you want to serve the documentation from (e.g. ``docs.example.com``). -#. Mark the :guilabel:`Canonical` option if you want use this domain - as your :doc:`canonical domain `. -#. Click on :guilabel:`Add`. -#. At the top of the next page you'll find the value of the DNS record that you need to point your domain to. - For |org_brand| this is ``readthedocs.io``, and for :doc:`/commercial/index` - the record is in the form of ``.domains.readthedocs.com``. +#. Enter the domain in your Read the Docs project's :guilabel:`Admin` +#. Update your DNS provider with a new DNS entry. The name and value of the DNS entry is found in Read the Docs' :guilabel:`Admin`. - .. note:: +Once the new DNS record has propagated, +Read the Docs automatically issues an SSL certificate through Cloudflare and starts serving your documentation. - For a subdomain like ``docs.example.com`` add a CNAME record, - and for a root domain like ``example.com`` use an ANAME or ALIAS record. +.. image:: img/mermaid-custom-domains.png + :alt: Diagram of the process of adding a custom domain on Read the Docs -By default, we provide a validated SSL certificate for the domain, -managed by `Cloudflare `_. -The SSL certificate issuance should happen within a few minutes, -but might take up to one hour. -See `SSL certificate issue delays`_ for more troubleshooting options. +.. + We have generated an PNG version of the following diagram using mermaid.live + Firstly, we generate an SVG, then we render it in a browser, then we take a screenshot, + then we paste it into GIMP or similar and make the background transparent. -As an example, our blog's DNS record looks like this: + If you wish to sketch diagrams locally, you can add sphinxcontrib-mermaid to + this project's extensions and keep using the below code. -.. prompt:: bash $, auto + SVG does not work because it embeds fontawesome from CDN (which is blocked by CSP) - $ dig +short CNAME blog.readthedocs.com - readthedocs.io. + PLEASE KEEP THIS SOURCE CODE UPDATED + .. mermaid:: -.. warning:: + graph TD + subgraph rtd [On Read the Docs] + A(fa:fa-pencil Add docs.example.com as Custom Domain) + end + subgraph dns [On your domain's DNS administration] + B(fa:fa-pencil Edit/add a DNS entry for docs.example.com
making it point to Read the Docs) + end - We don't support pointing subdomains or root domains to a project using A records. - DNS A records require a static IP address and our IPs may change without notice. + rtd & dns-->C(fa:fa-spinner Wait for DNS propagation.
Usually just a few minutes) + direction LR + subgraph automatic [fa:fa-paper-plane The rest is handled automatically] + direction TB + D(fa:fa-spinner The next time your project is built,
its Canonical URLs use docs.example.com) + D-->E(Visit https://docs.example.com) + E-->F(fa:fa-lock Correct SSL Certificate
automatically used) + F-->G(fa:fa-check Read the Docs knows
to serve your project
at docs.example.com) + end -Removing a custom domain ------------------------- + C-->automatic -To remove a custom domain: -#. Go the :guilabel:`Admin` tab of your project. -#. Click on :guilabel:`Domains`. -#. Click the :guilabel:`Remove` button next to the domain. -#. Click :guilabel:`Confirm` on the confirmation page. +Your documentation can have multiple secondary domains but only one **canonical** domain name. +Additional domains or subdomains will redirect to the canonical domain. -.. warning:: +To make this work, Read the Docs generates a special text that you are responsible for copy-pasting to your domain's DNS. +In most cases, the ``CNAME`` record is used. +This is all that's needed for a web browser to resolve your domain name to Read the Docs' servers and for our servers to match the right documentation project. +You can find step-by-step instructions for this in :doc:`/guides/custom-domains`. - Once a domain is removed, - your previous documentation domain is no longer served by Read the Docs, - and any request for it will return a 404 Not Found! +Read the Docs uses a :ref:`hosting:Content Delivery Network (CDN)` to host and serve your documentation pages. +This final step isn't changed by a custom domain +and therefore the response times are unaffected as the delivery of resources happens through the same CDN setup. -Strict Transport Security (HSTS) and other custom headers ---------------------------------------------------------- +Considerations for custom domain usage +-------------------------------------- -By default, we do not return a `Strict Transport Security header`_ (HSTS) for user custom domains. -This is a conscious decision as it can be misconfigured in a not easily reversible way. -For both |org_brand| and |com_brand|, HSTS and other custom headers can be set upon request. +Some open source projects have seen their domains expire. +Even prominent ones. +**It's important that you give the responsibility for managing your domain to someone reliable in your organization.** -We always return the HSTS header with a max-age of at least one year -for our own domains including ``*.readthedocs.io``, ``*.readthedocs-hosted.com``, ``readthedocs.org`` and ``readthedocs.com``. +The **canonical domain** feature allows you to have several domains and the canonical domain will be indexed by search engines. +The domain that you choose as your canonical domain is by far the most important one. +If you lose the canonical domain, +someone else can set up a website that search results will end up referring to. -Please contact :doc:`support` if you want to add a custom header to your domain. +.. seealso:: -.. _Strict Transport Security header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security + In a URL, both the domain and the path (``https:///``) are important. + In combination, they are referred to as the *canonical URL* of a resource. -Multiple documentation sites as sub-folders of a domain -------------------------------------------------------- + Most documentation projects are versioned. + Therefore, it's important to ensure that incoming links and search engine results point to the canonical URL of the resource + and not a specific version that becomes outdated. -You may host multiple documentation repositories as **sub-folders of a single domain**. -For example, ``docs.example.org/projects/repo1`` and ``docs.example.org/projects/repo2``. -This is `a way to boost the SEO of your website `_. - -See :doc:`subprojects` for more information. - -Troubleshooting ---------------- - -SSL certificate issue delays -~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -The status of your domain validation and certificate can always be seen on the details page for your domain -under :guilabel:`Admin` > :guilabel:`Domains` > :guilabel:`YOURDOMAIN.TLD (details)`. - -Domains are usually validated and a certificate issued within minutes. -However, if you setup the domain in Read the Docs without provisioning the necessary DNS changes -and then update DNS hours or days later, -this can cause a delay in validating because there is an exponential back-off in validation. - -.. tip:: - - Loading the domain details in the Read the Docs dashboard and saving the domain again will force a revalidation. - -The validation process period has ended -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - -After you add a new custom domain, you have 30 days to complete the configuration. -Once that period has ended, we will stop trying to validate your domain. -If you still want to complete the configuration, -go to your domain and click on :guilabel:`Save` to restart the process. - -Migrating from GitBook -~~~~~~~~~~~~~~~~~~~~~~ - -If your custom domain was previously used in GitBook, contact GitBook support (via live chat in their website) -to remove the domain name from their DNS Zone in order for your domain name to work with Read the Docs, -else it will always redirect to GitBook. + To learn more about canonical URLs, see: :doc:`/canonical-urls` diff --git a/docs/user/glossary.rst b/docs/user/glossary.rst index a2b83cca532..d022eeb4f41 100644 --- a/docs/user/glossary.rst +++ b/docs/user/glossary.rst @@ -31,6 +31,12 @@ Glossary and hypens. You can retreive your project or version slugs from :doc:`our API `. + subproject + Project A can be configured such that when requesting a URL ``/projects/``, + the root of project B is returned. + In this case, *project B* is the subproject. + Read more in :doc:`/subprojects`. + root URL Home URL of your documentation without the ``/`` and ``/`` segments. For projects without custom domains, the one ending in ``.readthedocs.io/`` diff --git a/docs/user/guides/administrators.rst b/docs/user/guides/administrators.rst index eca54090f06..1afabab5c51 100644 --- a/docs/user/guides/administrators.rst +++ b/docs/user/guides/administrators.rst @@ -12,6 +12,8 @@ have a look at our :doc:`/tutorial/index`. .. toctree:: :maxdepth: 1 + Manage Custom Domains + Enable Canonical URLs technical-docs-seo-guide manage-translations-sphinx hiding-a-version diff --git a/docs/user/guides/canonical-urls.rst b/docs/user/guides/canonical-urls.rst new file mode 100644 index 00000000000..7fc3d1e976b --- /dev/null +++ b/docs/user/guides/canonical-urls.rst @@ -0,0 +1,58 @@ +How to Enable Canonical URLs +============================ + +In this guide, we introduce relevant settings for enabling canonical URLs in popular documentation frameworks. + +If you need to customize the domain from which your documentation project is served, +please refer to :doc:`/guides/custom-domains`. + +Sphinx +~~~~~~ + +If you are using :doc:`Sphinx `, +Read the Docs will automatically add a default value of the html_baseurl_ setting matching your canonical domain. + +If you are using a custom ``html_baseurl`` in your ``conf.py``, +you have to ensure that the value is correct. +This can be complex, +supporting pull request builds (which are published on a separate domain), +special branches +or if you are using :term:`subproject` s or :ref:`translations `. +We recommend not including a ``html_baseurl`` in your ``conf.py``, +and letting Read the Docs define it. + +.. _html_baseurl: https://www.sphinx-doc.org/page/usage/configuration.html#confval-html_baseurl + +MkDocs +~~~~~~ + +For :doc:`MkDocs ` we do not define your canonical domain automatically, +but you can use the site_url_ setting to set a similar value. + +In your ``mkdocs.yml``, define the following: + +.. code-block:: yaml + + # Canonical URL, adjust as need with respect to your slug, language, + # default branch and if you use a custom domain. + site_url: https://.readthedocs.io/en/stable/ + +Note that this will define the same canonical URL for all your branches and versions. +According to MkDocs, defining site_url_ will only define the canonical URL of a website and does not affect the base URL of generated links, CSS, or Javascript files. + +.. note:: + + 2 known issues are currently making it impossible to use `environment variables in MkDocs configuration`_. + Once these issues are solved, it will be easier. + + - Support for ``!ENV``: :rtd-issue:`8529` + - Add environment variable for canonical URL: :rtd-issue:`9781` + +.. _site_url: https://www.mkdocs.org/user-guide/configuration/#site_url +.. _environment variables in MkDocs configuration: https://www.mkdocs.org/user-guide/configuration/#environment-variables + +.. warning:: + + If you change your default version or canonical domain, + you'll need to re-build all your versions in order to update their + canonical URL to the new one. diff --git a/docs/user/guides/custom-domains.rst b/docs/user/guides/custom-domains.rst new file mode 100644 index 00000000000..9c9961f37fd --- /dev/null +++ b/docs/user/guides/custom-domains.rst @@ -0,0 +1,128 @@ +How To Manage Custom Domains +============================ + +This guide describes how to host your documentation using your own domain name, such as ``docs.example.com``. + +.. contents:: Contents + :local: + +Adding a custom domain +---------------------- + +To setup your :doc:`custom domain `, follow these steps: + +#. Go the :guilabel:`Admin` tab of your project. +#. Click on :guilabel:`Domains`. +#. Enter the domain where you want to serve the documentation from (e.g. ``docs.example.com``). +#. Mark the :guilabel:`Canonical` option if you want use this domain + as your :doc:`canonical domain `. +#. Click on :guilabel:`Add`. +#. At the top of the next page you'll find the value of the DNS record that you need to point your domain to. + For |org_brand| this is ``readthedocs.io``, and for :doc:`/commercial/index` + the record is in the form of ``.domains.readthedocs.com``. + + +**Once you have completed these steps and your new DNS entry has propagated (usually takes a few minutes), you need to build your project's published branches again so the Canonical URL is correct.** + + .. note:: + + For a subdomain like ``docs.example.com`` add a CNAME record, + and for a root domain like ``example.com`` use an ANAME or ALIAS record. + +We provide a validated SSL certificate for the domain, +managed by `Cloudflare `_. +The SSL certificate issuance should happen within a few minutes, +but might take up to one hour. +See `SSL certificate issue delays`_ for more troubleshooting options. + +To see if your DNS change has propagated, you can use a tool like ``dig`` to inspect your domain from your command line. +As an example, our blog's DNS record looks like this: + +.. prompt:: bash $, auto + + $ dig +short CNAME blog.readthedocs.com + readthedocs.io. + +.. warning:: + + We don't support pointing subdomains or root domains to a project using A records. + DNS A records require a static IP address and our IPs may change without notice. + + +Removing a custom domain +------------------------ + +To remove a custom domain: + +#. Go the :guilabel:`Admin` tab of your project. +#. Click on :guilabel:`Domains`. +#. Click the :guilabel:`Remove` button next to the domain. +#. Click :guilabel:`Confirm` on the confirmation page. + +.. warning:: + + Once a domain is removed, + your previous documentation domain is no longer served by Read the Docs, + and any request for it will return a 404 Not Found! + +Strict Transport Security (HSTS) and other custom headers +--------------------------------------------------------- + +By default, we do not return a `Strict Transport Security header`_ (HSTS) for user custom domains. +This is a conscious decision as it can be misconfigured in a not easily reversible way. +For both |org_brand| and |com_brand|, HSTS and other custom headers can be set upon request. + +We always return the HSTS header with a max-age of at least one year +for our own domains including ``*.readthedocs.io``, ``*.readthedocs-hosted.com``, ``readthedocs.org`` and ``readthedocs.com``. + +.. note:: + + Please contact :doc:`/support` if you want to add a custom header to your domain. + +.. _Strict Transport Security header: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Strict-Transport-Security + +Multiple documentation sites as sub-folders of a domain +------------------------------------------------------- + +You may host multiple documentation repositories as **sub-folders of a single domain**. +For example, ``docs.example.org/projects/repo1`` and ``docs.example.org/projects/repo2``. +This is `a way to boost the SEO of your website `_. + +.. seealso:: + + :doc:`/subprojects` + Further information about hosting multiple documentation repositories, using the :term:`subproject` feature. + + +Troubleshooting +--------------- + +SSL certificate issue delays +~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +The status of your domain validation and certificate can always be seen on the details page for your domain +under :guilabel:`Admin` > :guilabel:`Domains` > :guilabel:`YOURDOMAIN.TLD (details)`. + +Domains are usually validated and a certificate issued within minutes. +However, if you setup the domain in Read the Docs without provisioning the necessary DNS changes +and then update DNS hours or days later, +this can cause a delay in validating because there is an exponential back-off in validation. + +.. tip:: + + Loading the domain details in the Read the Docs dashboard and saving the domain again will force a revalidation. + +The validation process period has ended +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +After you add a new custom domain, you have 30 days to complete the configuration. +Once that period has ended, we will stop trying to validate your domain. +If you still want to complete the configuration, +go to your domain and click on :guilabel:`Save` to restart the process. + +Migrating from GitBook +~~~~~~~~~~~~~~~~~~~~~~ + +If your custom domain was previously used in GitBook, contact GitBook support (via live chat in their website) +to remove the domain name from their DNS Zone in order for your domain name to work with Read the Docs, +otherwise it will always redirect to GitBook. diff --git a/docs/user/hosting.rst b/docs/user/hosting.rst index c37aa89ea07..355b0ea8737 100644 --- a/docs/user/hosting.rst +++ b/docs/user/hosting.rst @@ -16,7 +16,10 @@ If you go to ``.readthedocs.io``, it should show you the latest version of for example https://docs.readthedocs.io. For :doc:`/commercial/index` the subdomain looks like ``.readthedocs-hosted.com``. -.. seealso:: :doc:`/custom-domains`. +.. seealso:: + + :doc:`/custom-domains` + More information on using a custom domain. Content Delivery Network (CDN) ------------------------------ @@ -25,8 +28,7 @@ A CDN is used for making documentation pages faster for your users. This is done by caching the documentation page content in multiple data centers around the world, and then serving docs from the data center closest to the user. -We support CDN's on both of our sites, -as we talk about below. +We support CDNs on both of our sites: .. tabs:: @@ -34,7 +36,7 @@ as we talk about below. On |org_brand|, we are able to provide a CDN to all the projects that we host. - This service is graciously sponsored by `CloudFlare`_. + This service is graciously sponsored by `Cloudflare`_. We bust the cache on the CDN when the following actions happen: @@ -49,7 +51,13 @@ as we talk about below. we offer a CDN as part of our **Pro plan** and above. Please contact support@readthedocs.com to discuss how we can enable this for you. -.. _CloudFlare: https://www.cloudflare.com/ + We invalidate and refresh the cache on the CDN when the following actions happen: + + * Your project is saved + * Your domain is saved + * A version or branch is built + +.. _Cloudflare: https://www.cloudflare.com/ Sitemaps -------- diff --git a/docs/user/img/mermaid-custom-domains.png b/docs/user/img/mermaid-custom-domains.png new file mode 100644 index 0000000000000000000000000000000000000000..0dc491d38abec981deb25846b3359235216ddd9c GIT binary patch literal 125580 zcmb5VWpEtJ(k&`mmSl@;F|)2W-skM^-uL6axNjmR zCaStCySj6-D|4+?Au>|JFp%hwARr(xq9OuvARym5KtMoGzk`4Fh=V$Meg1qi=9T0H z0jZ9HdesF30r?VO%Fiz&%FmB$V`pt-YGDWhLK5Q{!zt3sgW0bwUr&Yv#~#dLP~@w_ ztI#J~D&r5Ctz5t@B0qVVXI<4+vz3w(~! zyJl|TsMKoIO@t8R6y4=MjJ}z)hHh5?OW$>kn1>XH(KJ{HPIHCJ>j3LPO&2}C5gn~G zCO)#gWElhPXd3zzqOHoD!w8BTc4>Mei+Mj?=|)^9P4bj-VzZR}cUlU)AMgSsB)Na^ zEd)&FM608--b|oAvQCnQ@}o;Zgd)M>vv{4}HoY%f)ydgew+O*`NAJ>7q6R2(DLaZa6NHh z0gx&X50JpBx^H5iJwI$jRP8}PVEg`lza)^uVtjT&IEYFLLhM8TfcyT-qcs=s*@fmH zsN%qHZE0y}R^H^EGj9Z>;sDe0)h)7D!{AYvV6K`tb?eC5xC{< z#N3Vo|NRG}!*|MCs&I(`A40eaG|vHp3#_M7&9 zt$fO|Buao<|qp9@#B9k6U-s%OZ`8s?=i&xcNhI2Qe*30QKBjNFs?J5_ETeQ zy-_QbcDWeUe%u*yq|4_63P%_Vb~0a;&!@q?*lRVf0XwQP-znX%o(osL)4%1z3eCoD z&0e1gT?j770NkVO7MWiyOP-tt78>b0Iy8%vb|}#qa0D)-jcRq&QAK~cBHUf8xiMml zj*v&a|2j$|mRV_}ujl6Gd0z8Qa|xM4=*%5FxsWLoQZ}3S44T&zqA?i2nlDxr5iR7@VzE;RJrnQhHSyfe6zaj<>r$6P5J(>2_ z+u>Q~hwwIbIAPr`kJqyk0v<3rzo>c;b;bDGP7>BZk0Sw7h14P`n#NBUy}{HSjbZbn zAh(DeVSG`k@XgDR6Cj+z{;zH4(4zR?QaBwVZO;~O=ga5XM;}7m;FZlj&y5auh_Cxz z(hKwasy3pY!}V~k8DDToNd&w+!MgEDaE3xYvjC{pPF1{Y>tC7*>s+i%@oS`Y#$*0zA581VQCz36VI*v1LO2K^J zjj4k{c@4FiWX8&zG&c5AK$B18=HGDoGwrH;*ad*!rbcH}&@ zRxO1JrFcBgg4&Z;w+?lUI6)l5@eEJfR?1qIj}vGkC5+KcGU@Nz5;2(Ea8aVwS-h22 z&Dkh_CLp6i?+z7dshOI5?GubVRQ8@44fbVI&fmyC&LBz)NJ&OITbb~!TRkU=mCAAM z@3rLM{&6GS>zlDSoB(!A|CJ*9kKr#T&sZ*%sb~COLFhx`3VQ#rkUO7Myw-cO+8UpMOB zk7y~hT->Q$f9de>M0b}!LaTB5j-`Qw8+4efu6ntG4V&I9#Mkg;&{wc{J`e2Twuo2O zeD8jf+3F5e3&$C~R!O_&O%iAs+=#-A z=W&&gV#P5g_|ZaR19fDi(le8TpX3ERD3R)5;qFU%Ya*=Ed3>cd=)-Q%#$`^vf3543 znbJ86zl{XA3cGw?A!OylDNoRdR3n76+BG(KV{(7}d2Y(gHhSl4U1T|NjtGrvbfpL> zy2J6<%Qyu~iwWasBVeD;fz6Fr+C#m)JFA27vgM>VZQF0DMUOn~K9lIs4j+xp{2GZ& zC<58?aHbp{yHU%W1DMAwRP~$gA&}}O6{qT|kcfr6@!psSE?G6~3W!3vLe6!bQu6iu&2O}~fM&?Tz z)J)>K8Id1cBO`mQOP;s*c(iCHO0X`86w+~2SVvP$xbr`s(spm$RcVar*`>4ysYcU1 z*7r=+XwzOUI40J)Gmrs*t@`1OnU$sh!2bEZi3tAEKCDYZxkRgT>olG>>gc|;!OfOV z1(8p?F==Ysn%{dlRGj;w$?q}@;gc!iVerX=+?6rFV_PUTjjh?S&T|D>*N2jqM6n-v za`S4`4BW7RdW%enlm0V|nK>mb)<-^)-&@k){S;{AR zEUV{SKqc|3PzdeMU}9lUiVpp|Ty7`m8W~Xv{&MxZq6>P9l|ceU!cgcwlGXR-*F~ST zJy?h~*MM!}DN{pjOzRwJu1dkXu)@dh4oJN_mYYBwuWt7_)uM^ntkZqHcXh>f?mHA; z$aTHC8-rx+X^69yElyo(=k1QkeJu1dELWR#miOeo`JSn`O zwrgn=in;dpM45I3K-67lAla=KaKWA0b3AEr3kyb~UQ8oq@$KN=+NdX69}|Nvz1kAW zrjU$?>f;L3x?I99r(@Q7NAmS(2b0CymwOUm9M*<7iL6~tM}>=HxewZNcCKbC)>Vgc+h%7 z=eSQZ{3#nhtg}31G?xzC^NUzg6(36Kz?NcblSU6U7=EoI&rsPPVL2&`wVzYO8@|Lpu~~X?{)*UC;M` zzMF$a?HcMOk&fj#Q$?bT8;Cd7v&Oh#V(H5?NjlL)LQ|Q_FG$-HwHG|Nqa84WVlSB? zm906T&=XpZ3KB%ua;OV6*w?IdQq?+>-{mUu!>OK?~xs)H>~#gz)&;KUITDMs13ZQQd-&3^K8 zu}BsvGafVD{C=%L$T(ifPVUL<*mu&JHPb-5yA-9$SCMH_LlR@%A3!05O3mgdW*RVI z@}y6tWv|d@u+K7SrfWjiZ?-un36lcoXm8>gK^I4+om0=swJrafd~O4>^M&A@_`xzT z`ooqv_MNCX1KKzz5duibLP-+X{g~z9L%`gwMtu|GYlheO297q4)||1jF_>x_ty$H$ zte7GyaL3gUjo+n{7TeD#KuZ-{$Tdbb7c*z_^msFf6m6AoUv9+$-yA}}`Jq^cKI@p-(vt#`8p&T zfXcy#Y)MfJ2b13bwO$mzBwLQXj%dAC=y`vm9fcRmf(UC#)3jAIOXbE1y{_Q5(@d5y z#RTEW@skM?)$y@`n_gK7w?TGirFe88K-+tGNK>>gZRF-|8+fR~;#`-GRu}HPp*h|^ zjzx?E$q+82q_Y_c;P`!?Y4d5wha zG({|q8uqg40Hdh*$D$+FNLh!W?d%uS<~A2Z&H_!Hg&NRX>sj=u7k)y08g(XZJoW0_ zEoOwrb4O+99Iao$0Om6!V>fAYGOY zyOKW(9GoY;Zr9iS%E8KUh}oL9gt)iis+iWMbbawTX9&9EHL+c0h#LJxCNByCCN1|N z1TaQBIV=-aLlVCd_AJo4-MH`z*37w>ki3MmfmKs167zBpBK*Y2?7=*G%vVq1?(!Bn zxk?@73rnN95Ch&yV6yF%?wiJ*n~`iF_0u1v06PR8%BOGoE#APE8+FyK4>o@Dl-yBm zfUf#CVq&)vaNLPP7Ge&ejkM=cAM!0T8#t!Mv_&~tt{ z^oz@vmwBL(UcH>h#_HBY^F66Ksg@+2w)8(WRj@bPqnH$-AQ&RX=@~Y+Z(~*c0N)o% z!ic(7;T1MvbVq9^_S>&jWa?qy0S+c9+37H@)AT?G7p7uyF#6yX_h@}*Zd#f%=+>wL zKSkHn`C4JT4A4<08&=`&Tu&VE4d`|d2iW|h8&mtxW5t|Cs{@{EdoE$|3#p*)GXU4^ z*V!t|v1J#~xtwn}uakfVLQ5-H55&_^<~&i-H_ytA{#bre6D1@U@1gQZs4i%rQTtO> z2VYvH051*u&?0i;?J#8}7 z($Amd43v#;mRJ^64Y}A!Bjbl^gGc?)sGo_l3VBwsfsp|>D*Ta#$g;I?t6?>)ov;RY2O*cn z9qH?1M~NZ3?*y3NnajaW7~_d(lCT+=`FRl5U?G0P=lm6|zvJt;*;1~294iXqjep0@ z_KMblLR!@G6UT2F&%{*jpi`)_#~pmMP%KICcHxtr{l<-r76E&%3q^2y$^g((Sh(_z zA+=C%`hP3;$HB@GYsz;IbC}%0d^R(y$DEm~=;}Ss6-T1ZQrKAr_&5NE#SBuB=xE8l zNyy-m+pg4gg4ZjFuv}M*8s#wynGSS6H!h6gg+RuF7^lrjcD8_^$Ia0s9hEKJ<5OT* zsHCaKD90$L5SjA*lPxVonOQ>?{}eIji6jBlCWWpLO?)LU=)+5B(c-pxEsIfdlif4? zkL7l-&d%M?cR12uy{Ncc*g6Y3Ivfd;8f*U=?;QX|a(g`5jWe9ySVnf@FThx>K+sQz zFDNJ)Fpz3ekReAumtwoq3M8-fCu5hc*P_Oj9T}PZJ!3wN(0>u^?wLN#rbkCQIQHPG zqs2BYOyRNvMX9Y9_ToDz!AhxnCEovOE$oMnoCk)Zd;ZapGg#Fwu*)$TnIiHX*5Ky4 zek`Rrp4Hnw+A8-?qQq)>-~_bZf{%ehJ4AV_!oZfQQ6i^-pz~Y#yY0pWB8EHWI3hz0 z_A+;7LpyI&X{-GC=|JD?U=Sm9_8E-fsQl7CtNA}BmY4Q1J~k(r|TH*-R=-AXN= z9Jh${n*-LQyRYV??{m9K!v6t8-gVjB-7%5CBt-iLN@X-2hN6iWxxjM4L))?LrC-t2 zqq?Kn7a2ImizIFHbj5KBFs}|a=RsmI=DM|pxBJd{Vj0QNnc7(|fnvBsvY;7I*ylfg zBsxSkHIw{`hKQHe*ab8I6J))EH%$#98_AnL{O@)T}s^B znz@skPmao1Ng*G`VU)Ws^;mb-9c8&}>om?MB)KGg*w7qKA@A$T$&ty@+ly!)+pK?3 z^LXi4b532Q*JCpBmW}S2FnWX@>WU|ZGSj(=(4Aq-%dvsG5#0(XAjZC>ZaG7`omWyJ z11jGf=!Qn@1cI|Ac_3D~3}Lsh?Bsw_5{E1zMyyDCxSW3m&0S};+}D5ozywCB#sgsn ze*j!_85{dbkTfBzBhW1~gaAbGVyxU$X~cFs#l0Kih5c<7jn;S0KWx&##Zc^N4<2B5 zaQ72u$E;|1NBip9#K0Ks0-v+eaLx5 z^_(nKsv?`O?d_K69~Ndzv*YqCA8v9+@-QGQ@mhtrZva=+A(e>da8LMoL-`%Q~*Dhk$G8M zCU&_VETupbrq}z7YnNFw4y8mD5d=GHPOIU5DkqDsyiloQ=?_P~(U?M8Og`?hTE)De zZ*>tq<7qxj8hOuh$TJ$bqn4hiEX^amcE7C6<^?FQeoNN$K6`+4)_-%ecc%=ny$bTgw|=hB%WdBG?-6H90+k0U-aM?tiH9nzU3t_M}f*ZKrgg+jU_fOyOxx9 z58jQZdt?A!aB4_YjBw}O$HMHG|7&3lji)->s_@z6Q1TnKdRJxPj8&9o#KKz&oh|cJNv3akn(WH`K9jhcyhdfT{qZmM z^VHZ}B5i}MpWg5m9c_9j_eo^IZ{P-FRd>_75+)ADl z5f}9y)(sm;fa#=j;E%Xa9aav)fYr+2R?mBXjQ5-5<-!rMc>%~fM zUlE(e@tuJUeNf?QVrI@7mw^mrE5vbzqsI@>kH&BqFXfO?g{d0(@9XX1c=C~Pftg=n z%w*;-AKznu<3GR)!<0d1*o+!J%??$J(**C;>pjs{?4aQnXjc4}kYEG?s z9pnJlqJ0l-YOA|ubB^eYBxbdTvG`%hLyLK!9+K*|liU(0#hGg# zw~5}9l|Zbi&E*KF>^fgQbDjo#Z`XE+7+CTCKS7Sj8Z_ljAojvgeC_gvOA*M4*=98SG%Z7U5q`y)%3 zs~iDV*?UEYhEjHiu2O*~q^cuGo-!0)Fdlx*Hz5g*J0hOle*t~%Fub1nmFUHo>}Ul> zdaf&JWPpmtTr;(Kp&oUHW9kleFhFVgG-^68XrV9j!Xt)UO~^@?Lbf4gC=x;J`D|Ry z`iHQdjXC>p!qNZqF=WDcL4I{u;Fj?xc==QKK2wxerJS{Q-=8j8iMy4)E?8j_)dA3# zF;w3PZDK{nLV+YNkLe*PrKjhgG2!z6U7?`trP-vChkRwROjY|4nAz!X*+3hfIEq*6 zD7AsFF|Gh5*X$Ds&U7EUJF@K@P>1_j(`~;y(4$xw#b+4fEoV(r)!~q_(Ss{)qzJVv z%<>oS?w+HJ%jTDA8#dxp7@Y3I%nn5PiYntXSf})nyjgWX&E?>}OZy}+Z&TwybARIL zPvbF4_c*>^QM65kLDTeM?w2j_7%zD;k(eC(B8d>?otVSE&D!*B#)2HRpeoG-_klGn+lVyc_$(ypF7`i58okp@Yu)5~@0WJIWCXyR_lwDP@}me%q>aSVN|NZ_p@5fK zIX*p?KJRv}F;f)3Dp9YSDq>qZV^G|(jg_5}Ds-T0a=!!;(znWdk|@dtSLphMozjCN z69xg9TbonAVpmJ(b(UTB-*0K((2;vyPhpufTT-G^QF2zI^iviqxfI(hrnU*1QPHDZ zpOB$H+PEqzEqt$UEh`t5x5A2Xrj{14O2;t1L1+_<55SF{jup0G-KChrsysUAk2s$d ztIr0epC~t>X8OB&kxL9qy9kfsw=ueM$U`s{v=j=>rr=5i8g6TJAbWOTjiv+1cPNS% zyhCH-5z8#smJJ3AGsgBQKM6`sT}X4y|u6 z`%r}gm+l+g60i*G9WL^>;AN*7mlU$GsgkMFXLmJCZ&2srz)uFR^<6!Ldc|)KYFYM> zlv=I+R6$OHX>p_TyPsQxpeL8ES~O^e@#~m!hxbOG!e6S;`6VMO%}^N;tUaIdi33VL zTL@;^(NqBDClo7_|0Bv$yE{um17VStr@uzedYze~<@jJB`}#U%KI%3rwQ$2^<(tRX zQ*>HWP48nhQOUn78Tx-|+Eiw3Jo*lQm!kh0Hqg7bg9H-X9uz#>;J3y>&c+wy2%LU( zoXP`@eR36bO0dr6jhXs88Dx#;Myj7BS%>3QHPr%u46)mMdW#oJF3=W_;mLaCp?Cs; z?|6OQf6$Y7d`mVpDv=clZ$G)@tI$}+4*w=VV&KN?1!^lLdTs`@HT0qA0}Aw`J`6%(w&B)C zWE+^DAwQIB7tG$CbfnJ&C&blKM;5fJ^~pkODbiUXY`=@QLt&(}k%eMrKxA}aj4WV{ z$_=eUXLNr($k{XfIFd2)lKbLLm?kccTuZdQH=#Cta@Pz+eLPl0trA;s;XN|BkTGR0 zG=am$-$rD4zfF2*wZ@QN+t+RZ;}(HEUZ>SxC4;cYX$r@lcge?7rSjunEx>oYYg|SP zgtxSI{!*^mrC%kv0t*jE>irs!1b-oZ!cR{&2_p|GpZ)#~QFh|I*>2YG({(urO>q5C zs&LL&^_N{pgnGr~*;~({RfQy@{MpC_eF?(rD7@DSwt$HRveAT=g85ns@5PhcW%I%w zU7<{j$6+wPq$Hu>&b@D{nH`HdN~KYMB)vwc6off(+lWGzXkmkcxy-MV6&xV~!bcMF zqzj{msWAUOgDh3nP1PC>$rgt^;T_+fR61co*H7&f$+an1#Fg+#hEiM?*9_&!<1_15 z#erox#t()XG+za7+yPdvUbO}FohkjZPWKP9>f%ub3#aw39jwt%3$@i`GQNSD8wNZF zu`H__GzGt<%GG;&>IYfS(4`9|z#H+`XU(QUGc!CcUDnN=`cp$M?sxAfb5-HafFtG1 zCf5ZkXVyRK;%%6y)y7A#jK4nm8TB$V|mvYwBrl{2Y)41 z=$^V}udkULOn&OL?qpgGZ@AASw3gCfCH$AYVc3%w_UV+}W94YrjexzC-vW#lTw~#_E4( zZwW&a{#l#5QYi6JCwGn@A(8atd5E|lkSueHyvV+kD=v+H`pC8a?VHWC`_9=4X@nx?RlUIQ z5lmF=2hsZHMHwkw^sG+Q(DkZv8F0ki59-p@=IX@YyOf9uXmE6g+7mA}w35daICBY~OklGMn=vz=BFR`k-n(X7@^CcT)`_^l<0-TjFVy&*iiFWCBISi zQz$Evo99UKLuu^GB`-qtyE*E8=icK7Z5*IPTF-?O1JM(X?cQo2qN(KeT;>Zk1{Ny9 z72ttDn}Q{3HC)9UnjIZ3DYmy8e`?&puLZ2*YqbRS@bv@?K%-XclYPR;a#H3%&2JBUm5 z9@WYDch!0>&}FG6W}MzVS(yGPueM^Io*wbXlnGhzGZt3>W7W{n7Jl zU)%ZV0HtnDfjB8QEz-(0Ye|>LaI8-JYh*r;8j?&qk{f@tr9&{CK;znV50wq{Y3eE?eHJ2~i1oqO z`URR}$Z5+lo|ZMpc95}*qREmkiq^;qGj<#D*4BgNMsyEF0uPaf0Q>o@&!A~FH0(M) zB0C}lSG&KQVNL}V;_YY3a7?9 zFOZi((O^j z1Ug`V)fsHVTV)>7`7Ju)qA6-e&ufzHTsDGzut6I=w5L#U2S6R;awPZ*AWg<>JEwP1 zz);AuRJ))R;+PbYgtLLkdqBq=p(~yO4nR!|42=%n3sYE;LxnWDRC~g8iZuMd&mSz+ ztNR;`Y{#53wnvV{f13!>V6t}?Q^4@2fY()CHhoEF?HDhOvp&$Oc%{wImGVSgY{t)2 z3dJns3+4b?hY2aQ@ZChU(=^6kmAQIBBv*)@(?J@Q#vjgCiM$CYA z*0?v)7!A?JCi~IMQ~?76a5A!mw}z^&3)vMpn#P9hdH>(?W1{TXKI@5Vy$)=R8b!NK|w}9JV?@{ma80HpZfQP3e)N@+9nWE)GJ>7pXS#4SY>=?b zdMAbW(LZk7>Yt`EMS6yXPCk}bcr3P)Y0(|=evc9E7c%>HE?>OR{Kx-qy4J^?Wu)%x zMA0%b+)kE&-uC=~EPhGYw`Kt;SNA8_`&^}}|i!#=Nz-e1Y_8Lk)3 z`vxzVa*Rw-DCqH3UWb1ftutDRjZP2=gF3j~e)M#4GlR%iS>G_K3n^{obJ=J{5M0hW zDmXMDJ@knBU@&{JvH@G0KLmneb1bP{?`$~VbVuaoHpqSvR1-cavWEacY` z14_SuC6FgoUhV!c{68X>ad+)FLbi2-ybx+mm zHeZuJ6t&A`OS-_iqMVvJDk_X$8tUozX{g$fP!SBG*ouJ)#BnfDT zZ_`)gZ0;zfZT);{O>i)%_uA^F&5KczxxEOI!gZ8R8QBzTK@c@O#Nmwa)zX0EMRPVpJfm^2K!T8UEs!A!bqz8=X0c2^|J zj&?ULB-Ow1Lt(Z~#A#e>WZt|{N)7U9HC=|rmXIWTSDkyF?#EhF^2XP29@yeyX8zxv zw99qmk%UX>shk1BtvS|QXz()fEYA4pv&O7A$LS=yh5=IIgVwb;3)V!YYEH1;gbmY3 zmSZasm@;-$Hz(1mWu3`R#Od<#O;xr(pkVVjb~1{DYHAdD2#6^oZ`>E?U)yb8?U)cK zpl;@s&qyqtYB>neuZ57v>kzq(B)KFM?#tbbY;=z>_rVPOEWz07?*$+Z+c9R^BeBHp z3HQA?gCe?}&njtSX3V_~m_Jq_F@TmvJ?Xvvzc)MrQv056Y@5wPn^}gs$v)-Ah+wKK z|7eP-t-`4Ze{H{$TdA9Q-y>-cL~I4M%US^F63^t35P4c%tuu3Kvrp4NpE`u`#@_GW zYIEO(*NW_Ih+d>Bb_Zb?lc(2%q6Qx}kBK{N4L0!CEo&3`)}L%~14{80M26%@l9f_~ z0Eq*boa>hAvi5rxuvVFTjgxi?w{*m;w;aU1ckvW^p{ z&MI8#Q(n=ygakcdc*JT(^G2q=rV0>0kQ&6hu*><7aI#9~JLoMXQC@}9cR=NZBTXK= zo_Rg#s3W(zp?09ELuZN(10}9LeWem=cl=|jrRBnA^4nk7hH=>6&`}v(*)^gF21BKu zBQYTilT@w;ChW0PBV3HXmQ1P;)^JY+=|4K}VB+Y{Kn|jP$lLJ`iC?PmAvAwu!S={_ zWPlMjb{118;R};0cWEyf9n}Lz3TVX=8+#BA@+$-j*|iB7R58?iTF^a!euDHh=MC`fH^g$e+DLG9Va=&F#>8X8R-6DFa5kQQs{KNm9siD-3;~*&BN>+w?8jVKTfxdwln; z%sf+4Bd(=(H0 zhz8tCy0TI^TEz~xmbf$GV8a0?)Xfmjk1KsbQ2+dcJQTJ)0BZtFOr~MPoWXh}k?e^Q zXL_G9#hN{n^sPkyrRqAx_i?Y+Sp``&nYoZE-#J7bizKY5H|)vs4p~Yg^f#$`_w+gz z5Pr^N_6d~jvFX*EZ{GM^nc7-f1Zusj5-Q1N)8d;bk@;##8?b0gljN4VS^EfZ+_~M4 z`O!V0`ShMdeHl}<$xR^5c$W%L#P?$qQyTUB*3g`v?(_K<4Q|!^3EUidHu1u;%-IoU z(|{UjL%!0E9-k}keRNwEh3sU`u;zMB$@b`54D#1jQ=>DLc5Kb{&6(k(tD8K@++mwV z>@MEf%KPo}aU`-{Y8HjfBmP@wxN%GaCGuj3+okh#MsvhGv;OdmYthjR0wGt5Y*;EOl^uVi>CTQujmQ3R|3ifw+)n`R;B^(<9wLqv&c& zp~FHMU0slX9WOcV2RZZ^IH2@nOdA}P>Bkkq&Jq1^MIzq9nE#~6SZvK3t8o0 zlIyiD6?<}6+!)IA z2sF1V(8(LcN^6O+o8=b>?)mt zBQDF<1_M3bd-8allJJcHQC7VZl~mfp9)I+z38AIL_Ik;1vP5zBm0)2um&%8b^M}rP zov(5_fqeyP;1l)xH+y=8##@V&TD6;QTYf}a7T6nZ;3HSA^YNHKqk$7cCYTE-j)n_+ z*d)wuN>V&ovc5kdE)sWb^m2me@h;Kvuw2ToYG z^STzI*kH?BkUq@wq@JO71!BA`HXWeDEN{GJfnqtqI^{h|>rO9+hM%b1R{N2T8;q=# zb^p?R_mahYqke3oI6?RO_M%Ew{~jpH!LauD&5nH z7+35#yn2ynuutN$#a<{a?N{gl*eso>qAZOebLJnrhbiKHzYTNjNd%6_DyMeuq!=iU z!m%gi{1$6WkWXO2?HFkx#1Hi1OEdt1mTWV5c{B8@R4)#1B=jceejO?jP0iGA1s@Wv zzRt%6Z8h9u!)Ors`Hn9ri8f_j$ zbNild3{}5%`aR|^*oAB)$lL~V6f9n;JX<>hgPz_zi6DWAekNwiqe`8)IWveB8euXG z11Ap0%Rbi=z+bM(+pLX-c%P4>H{}w;;ONxmiY&-F*UG_49@P29n8TvpfbW4y|E_`a z8@M(h9+t&TQh{DMa-HcyAY_FzQ&GN_!9u9^ViOQhg<-0b@w1Z7(RBU^OD)m4-Lt~g z_AYMoB*FfTtO=FZM78|kprP`H^Y(M@=nFZ)Vq z#2Ggzv9Ex9NO5XoQ-@D~1j+k?VmtA{vOqkR?LOT4E+&p|(>)ljfhN#WFgTJ=Blx*- z5>&YgUtG|Avp_mw(QoJR`NdIV_^Y4gmo~_i7%a~}NGLT^nQk;WF&;MXxn9enWS`_I zmTlcA9_v1)@H}A0g@+}#&_iku#TKVfknmW+*=S}!g$n#z^zwus`)Cf@<@qh4U_+F_ zStY?!uQAnHJIa8Y z=Oe1H6>Q@%?JrL@s}F5jj}^QQ`?86!C*o=f=m8}Qd-Zll{x}<>#hNo{UUNgc!xwU^ zmt}8agjYi@9W1WcLB}vAhiH<)*;tn9gmzAfxISL$SJIX|Z|=)@X<7UbB9qWA3+`vM zVO=LxPSpI(HA)&#%>ot;gjW6Hu|Pg)FXj{W7u~j=$O~@0>vs|faAU}X68~D#)abBQ z6|ZxUAisgjwJf0~GU@dTp>t{2_RR7RBlwzq`@jiSG5o|PL`q?>6^RNkfWg8x2rSN7 zcd#vv{E<@7v>Z$0E4dIQhmdc9&X&UW${b{a_3sC}_s!{$VuPLoIwNVCM&m$M02%Z5dfw~w?Hog)q74ZEAKy*N>~Stsu;z0mMg0ej=LIqcX=u4 zBURl8ep?P?R_`cL(ge!$p1hqA!<%z|)Fek^Y^=Dwx*=4U?^s??FhnGrbM(#@Ow@=% zyZD7!UI#zEizW}ysTWku_9m&_X$=xn#)c6`*&3XEi^RI!*|`{)>X|tm zz8h}od$#pU@nisx>-KpK5R>DHAf~$o!Jxu2xaj`*=;VMiqQbo=n~u~2K;YUs@RLQQ z9qi5}5nQti?nED2-y>$ly68CtV(1k9L2isX`oQQZxTLtf*NUgm{z}M|EH3=9Y5dWi zj>+Qp!AR|(?Cl=&Px!%MXb#thaI@8qCS-?C0&^jHN8mrU1tF+Qh`fvFau5o6%tb=*)6d znp>z;q*{Jn!o5{KA#eJyuGy6<oO>QE7b? z?2Yrrik()_hO46q1RA0(d$A=tpCI?heUX3F-S@m9H21B&Sn4<$q3cL%iX>-+Rq!xp z0CXxsG1KD`Uw@otID1GPybNv}xMrSmmP3nv$Afnl(7%9Fb4L=4P!lXKkyS5VA~SP9 zEq|6%%WX)e#pmOLUvj^A;y8GH7YU{$74zo2SRnuSO?;rW;0dtzoN&};HeQg_>AxDH zyRZLKJ&5~UR~hd3fak)NmKz|TwF@XqYYm>6dU<+!up-ede7s;sAP9pw9a_Q%xk z5S`niOykKv+46xl=Fd*|Wvc>fa|lIm>2EHOFW9&4);Quoq3eTJygo;q{%EcY8(Q+H z4g44{UDhz~d%{LO_5om~D2g!x;-7ewkz(t@+Wkk@hO%}3wMyXmB{^oa`xNoxW{3Uhs0*^vnSU{`%ZKj zJB{No$MVV{2)wJVyDF1AVNw*OZf+~Py;>T#9u%QDJP&y5w|=ZO zr>5gSsJ5|jKCD^tfEWy>$rUM#JPAH2Z2X1-Ni=(ugoVgkTPzL)YJl{jwxi~QK<49Jnh!SxO8>apAmj$`cCb$?Xx{Od}0(BqrE4EX+h}$YZWQw zv~9;yToVF$uC;-;8Fp6sCRVNa(82vO!7#A0l=UAc5C!VLCaRGDRr{}K9qOGp4~Cw_ zw>|xMD4mw{iw=Znao{^Ctd75|_WN(@aNjXkP=H%q8RKQEbHNb=YuqN$jsI!^T%LCD zKL-J>#sgTY%*Gdi+=HbBrdKLRga|I@kb*Gkh+)T{vzw>hv=P87fZ_h!PzPF6Kn)Vm zm!Z{HmLU9zyuo?TK1F6mrC(k?KVNiqe}o~U?2SH&8vOHlr&2AhIV8OKP`Op3+e*nn zA)&Fu>P@nL`Q$>lz{HE}V?`yx-TxoP-Z8khpo`Z$$%%7f+qP}~W7~F4?Bv9@ZQHhO z+qOM<@4fHLow`+1vp(!kySln}?e1Qyf6rR|LB;MIfvroY>%kI^ekFIR;M!&GkqIsAIWf4r5;?~t;Yt%mfaISUUQs*ml`dVffv2%T zww;Q4IAbyrv@Ii_WB>kim(g7tDC6-(PHoh`Ag04zCwX%@DlS9V}II&KCCO9^>+kZ%U|Zb*V6? z?~E5J*l;pdpe}?Lrt^yvMU(z)zL%Yxc_52tXp>P&o8ng187EY*vP2>}Rd?>*_XIS@ zI8<`IswEYfO)G+Z-i#{Xm%}4dcOY|!Dr{4y2nWRcEZISOYt54aUk19xxPayJ2 zg+AkHbl#_E^&wqe7~LMb#D``xY~#XMKn!Gw5q$>H0yvIglDC-1Mb@XQWqad9=^v_$oHvyzf(eOyd~#pp|3n znSAthA@9@Lvk1aa(!|kP8xJRvRgaJf0GaKDNGb^}DzFH`XE}dPR8q^w$f%fr5gtbR z$r)Vhz%lKb3rw^C&@i#GcN?}DXp0>4%M0^X!06oLiOqNC@*X7#ZN_pog?0P+MErBs z;iH3OpVEQP+ahZfw|2a1@B~0VYnHs!J9YCv%dYp1vm;At@@743WUZ-GIG6`F_rUw& zum6%M2|g|2& zE(^1C>2JZxh%~bO*x<-M^vL=r2q{38so8B!d{YV=!A}GcV$Lvd3~0fCq|*|rv(dq? zkrPzzq{`HO&~de1yF3>z5jb57GEtFzDA)7z@Iq5M_6mXQkPcG%UGG!!ZL}*X`d>TJ zM(r$vF}m6dRf_iRI%)jdD{g_&b!sNYB99PjCTE~q`Nrp=VKhrK z%xH6M(4RJ$5j`d1Ifpl=kiUfd&B#U>VT6$I#De=WKZVfY|Y-BNlrQ5MUrbvH?|pOd&)G?(WGMdXAKAZ?VaUS@C)! zG6xFgOmo6i2&(gYs@CI?(7W|;`0CKIwABqZQdbY%K#=*CQ2Y#k>I3n?kMLo3*{e08 zPywagCr|VP%PXH>c6(=4yJ9@7-` zJ^FzGm)Pbtby74vLh%GQF>MelmN!ussps2T`YSHzVZo6&BAe?NY2QFzGAEQ{*tUI| z=R4^Q4BZTx?nmRhCd)BB9|@n9g$Dp6L{qHS=irz1<~`Oeeke=d&zkzqk*ad34H`^GOJg_q>ilrl#&A%8w zwM7yl}pt!q9k>3~dS5VpPGmvT*8vFY*-*HELOs+szy9Kb{>UgXqJ;c=tNbEwxtvn9?|BD58=qqaO&>P_Lcx;)f8&Z(ElY>iYr(vxj>she?l z7~d5HLq^DT{>=4X#i=bI3tcud^Nq8FSS%QCEUHq2K%+P5PG*^3-OS)xjiiX%zR96KIEkol zs7L7JxVFK*p^zHDA%I%qL;^K&eXFqAUkdubkmh^kEX_NN-B)cAq^ypwo<#8;%=u-l zyp)N!MJ7WXGJx8XFM+SNa#4j8`R-oHrjWdzx<@I}h9=VYBY_UX@f8{WwiabYzXUNs ztubgKdXRgl6lnay0HpNiB10A(6ID9Vc4smTC54=>XS6MbzyNJ-v5FFDnrRia&L9f1 z6m>(|e<@kQXG{+~3=B!a2p~9;)R8)qlRv4X7U~A(6~7n)4-!nZssZ@C0FYi_Ne2?Y zRAoC&g}hKYa)-jdR<8{8-LH|xpJzG6q5FMBwyiOrcLMM0&PvD=U5n|hiaEilskop( z>FT%rF!qJbOnl>k=+aUdU?3<*Do1qiydV=aGzc*x(UJJCiN&e^QVU6d30om&qYpbg zoL5mH#1D#yd5Ls$#4S9z1LJP?Ae2%Wxg(9o*nI4fAfVgCv{Yg@F#bDrY*APQhMyd& z`Fm=1ky)v6{2~PfC&md?X?UK--lxNLeouv&JWOk?p;Jb?6o78b_N~NDiFX;*&@L) z0IIdGW3XlT{NdrOBtEhwa?z0?>@#2md8Mzp6t=ls+UJ7^pEju}VrvUF7abJrG zk_c@>O9BoGA!zpr1x@aL@TzyU6;ehCG}+mYP1paXq9M*L(EJhNwnr4+YWdqLF$a>n zuax`|`VgHdxow4sBvM)595>ikc(zW z_Q&952Z;KUDTKS#@W1}l7Hpbam3FiU@*ne+QRrX^=M@cf!;dKba)f za#CeBo_T)Fz?fhtJ}Dw%hSC`X+K|27y$bEIB>rKHBH|i>(i#78kSIB`{>ODW$p=c3 z^4ZH#&@NuWN6UScW3E^6+KC*0k8F1Rs~|F5ArwQV-nX9p*vTcd=#rWlwD_t3$Y26z zVcJ6Z#oI2#D4}?(dbC(>!tQ2QjT{K^LThM%)>|x!B3a$B4(*B3vHvZeg0%9|8;jvV zg7->kKyk(r5fy2j_qX{KiBWEn@ExMp>;1VKcE|$$$zrkF?|C$6Pz|Tk*>+yA1AEK& zKVA1x)R$sm;+>yVn$Me_EZGGS&dOlsP{T==rDY08&Soq=q9JDOP5G&Vmi8Qt=ku+K zEDZ&&UvFQURmD6hl7y+vto8an5SW3WlkLs@d&odBa0_w^Gc|pOAB*dqJP<4rZUlB|xH#51V1}IH{!r*Ns-oGu0<2j0 zFU2iOXjsq<{-dbo9DoPs0OADikxaX%W_J1(lp-*4YrAq8|Mh}d+&aCL>XrJkDlRIk z(O)UX`NK-a>qJV!L)qTn=M`f67Xx#xFFWV@-t4Aq5oAoZG!7oEIb`M4 z|6RYn$qhb?tHjLV9nWW1wDAJ%T)JLLvCPSe7z_^8?YBx!NDy01$v2<4->chbl5fu^ zmdr3ZhC={&e{E-Ng|$A?WUFoR?Ug+ykST;WqDkAefLPy{Z{B`!UE@JKXN{M5@EO>a zky7+##jdN)XyC;#wzwY=a&W?!9p3thW90(Vcr+cWe)nsw)2A?)o*UZ6NLuC4<%&ct zl;llrrtr()KKs&3}UQ?g+Jllk4$qXgDYSsrAv9fb<3*@~ATT9hLuG>w|l z-Benfr?LI&iAv?>zE^ ze;;}_;HE?zyeV*p4f%dt7wYx?JAybCf6_5C%i18QSB}L!7qx~~M6-1F^Yfq6SaugfcvZJiS%|itsL~$D|O{Nx^Mzu8f{s9$} z)_j%su252&ap*Jb0_I;yZs^PTI0oUG7E4NWg*B|u?Jz{hGat>iZt~|cLSF?oTC;-# zgylQ%Toi>jtZ*~R%%s}^(2&w;gT67_>MU2}KV>oHN5zSGj(F`-Ega93d*&*J}KK_$mn~89iASakV zKU2plOucGBWbEp2Hm?v1WT2ty# zi9BHqT}`=IXI*|m?Hy@;U5PgRrnqLv@Iz&3>MNzGs_Dc?1Rfh(G_5bm{ZfqHcvNex z+dye?{G#k)s}LtLojnHxWb>`T%;MI)x$BhuzSj>=jk%8OkrFVl-PwCN!abq2#-#Vg zsuK0sbK!)drt^*xQNr|~xip0#jipKjm1nbuh90Sw3v?OeHP}XyUsCuz!bd?hZ*c~@ zG=VN)sjBJdkPit7MJnGgRQURfH;Xk$Gzb`-Id^&lh}or9h>tBIC&sm=N-Ui~x7NZU zc+MRH<@O^7d{O!jef47Yb2<;fucXzeJBW?ekk04u8T+@GTRbJY$Rq?Q^N(BXw)K*c z&QBaF?>nMv>B(uv`~ro0AjdLearXo5zW6ZuhElO}AZYb^3r=ZV=?IdPeGWIG`S+$G zQ4ykmKEL2~12 zX=tYkVsEo28|jBVp0IgXed3Mu($+O@NX;i^fU1%0Q8Zc3Q)=EF9dh4}P5zF&PsY zk72)0uWBqftJkf56qrD+u;#X3n6kFr^GT4ZsjSuGcjayiVePO9qenenQm1OI>%Vi! z`|A&FXF8}{J2B8mu1~J_vxn24giDoTyL~tN3n$3;CpU2$8~+lO%KPrRukUqyeVx?? zscR>)qei{ML+*q&cXFsZa%zNhkU(D6to>BpQn)FwI`ff{k9g#abb)M=Vmaol@hH$u zhQ#8W2`mBWog`kVSDK_UA#aoZowGXjhqPP1^fBverJ?FCmnSO=3wkoysUpMS&N`D@ zPpD8{*5K508v{Q3-@2Z6FxmHz;n@V<0FG4SDfye8TmY}jKPq_v@@m;4c?Y4^c4MQj zdU2zzwTa~LCOa-6#gAL{Tw(m^iUK*{xW3R?Yl-KhDBA{9g98GU>eT@e|LE1PLbRdp zvScNoz$9GvHA2ufYlfs$V;W>;$Mb1oV%;o~~CX=O#t8%;_+M-8zV#G8gpfK(Wwy#+k5t^c+ zN16PnU0M5o2e7k;FPw@23X;UOxYL5HH-jyY6LCZJ4}VXH_L33rMQO%RE(6hfM-97> z!z?^y+~ZGYUv-a+#zsauXrTnX^}aqTH%3wDt5(zX@n8x>Xfz`lgzprHAiC_bT-T4# zJ9gd8@~U@m;G^4iyKe-JI0LPzz~uyfmEs5f?MA}hXbsGNrmeXQ$1tnZ5R-lP(TvFd zDOEwIuQbR%q4_kR;Vn8c!X3}r*%pIl7$qqro5t)oJS6wEMMreMG-HJ5Yy)lS-4$rI z5!DnaZG5Z#GqBAYv;$h#ID=Wsr8Fes5`pO=ghnU-)?5CMH>2N719sG0m@>HqJp*3M z4!kxpZh0q*&#-nMU6>#vo!$Y^rI{yI1bnDJ$G9GJA-ULU-GTqGAwM`F9RoAqR*~S7P38+wz`5NF$1=`l{_LFpk+SX0_tZBiR>kuc{rNLI9e%-aHE- zjU`I*W4i&Ld@E^6U$N%<@!9%~P;pXS^AM*+cUMPT(d;MM=@1LWc+?lNZ?3;7RL%Z? zkr6R{1F^|BYqRA}w#tl2d0@9#pIXb|>5N-wf<}HUMJ%)p%*K3&=&Tm?r2X+K(!`#8 zu9w3T3>z_G`5gMbz9v=}&F5m-W>TdY+A75ZTf>x>PCU%wSkF#(=EX+Ich=VjYSIdJ zk)q3ANmZ}NY+gXpZ#Yxf8{?sps*qtaq`LG28$*F$mEa6Hrc9LFh-QSwI0je$28kcu zvJxwaR_hQmwoI&!z8guXb+d^VL z-pqBIz*6T7PX0=LK0EBn5U0k`nkZY$=RE#;d%nrZbLP-duk&Z`bm0P@)+VB6z#u)ttUA5b~L-tncV|+d(v;iSoB)9HIIfd(p z%^pOn;=)m5iB?>-O+c&IS7WcO@sQe61XMuJnu2lo$Pbmnd)f9-+UPaW_6PKm*q3aEW5U+Yx0M z;3A?-aC^}MLtY3H8PVrZ%=zPvj7@NFR32S%v=kR+`@XL{96Zqps1z3tRWVIaw-)%Yq%UZ%F<*JEZpPJkLwcx`#ia#g%O=xlVn*Y~91w zQLw0eA@S@-i}yCLjD_V~JERgBdpKHoH9}VA%W=`gF_3*l`g_ODuo?U#gzJp;*sg;d zeWUVM6$nrFWtEvAj(U5nYT^^}BzDOXzxE-T(0*r@0Lx*h^et_L^u63)bgG6ZWdYII zuAY(0P=5z3Zq=G89jz>ugtwAry$ck-u-tGb1EbbjDOgem21CL7c2DW`MwJ%;fH_T^ zS2#~%vXOfy_cdEkVk84?$rQQH>2x%Fb zy(ICgjwC>lV*z2#Q%Z=6p^!Y&xjWDqo%CsRXx;(gT~O^=_2{np?CZcjN9n&W)mE1w zQSeEz4K|173(ObwdJ^nfPNDgMn!VGe#`q9pKxiBzC+Sh^#bG-qVrR;=+Pgyt({`_BgPv$>U$i?W3Uy8F_^e5= zcpp8r_>to|nhklD8a3xCI=Nl}0vmTf4OgnRxH@r%cTuOO*MqJr+ zT_^zog<5?_PNa7G_h18kLb3cUEt6DH!tWAW-uJjg#H0C2<6V5jHFqE+>%yHVtRSSu zYRt2Kv=Xe!BAR*rm2R7Dn(d9L&S}GJxrUOwkgj#tI^bLV8xZ4dpc5QM=LH#$2wUeq zYhi=(PjDClNs;G{DG%c2E4IgS8K700Dlj$J7n1Nn`J_IuDTyYI0;*KSb8_-R+O!8S z($yY~pnFEDmd~+0{MRYNS?f#o$|DinmdR5R0Zf(L` z+V4b>{r+Bj`+7uGkRKi>WPOHygoI`vugLdme>$f3Lt681igjH{tZrFld8Ti85^eBs z&gPOwU?o>Oyf3(b=xhhu$zZa(&oxL}+xtyBoGx8kWuOSC=H|Kmmj#$zyFRi0K8q$R z^rA{zwIN}qhT`jHFR);>ojzjj{jgoNat^YDPjE+1O(8lcggM*qk|@+(-Ii8`A-f;2^&a^bvKXC!qsQ~sm-q3i}_uqR~y%@_ah8l zaVau4hn53Q&P-&cQ0{R2;;(lvlMIQX?ya}R$ z9Zl`QGp^heRI+_szr_VR+V)#9c_P0v5*9xettr{KUe*3}1(CI_ovFBy0~pc#IJy3B zFx;s|lw(RwLhWV74B9V>>;X+5JF#Y*Do(^wvabO$A>l*zghbuwVG&vWG3fmdJeLxs z&WfY-@a-lHtG2iZfdB181}6mDy+Lg5|3PicsBqkV4eV-Ve9*YKR3A(qZO`NzF#A;K zj4w)QYXwak>rH}N#KB(i1kE9!T)w&FHYL&mgA!|LjCT}zKyo#w3U#j0SG?^D=Bml@ zALgc~ZdW_svZ_*ZQJ>SR0KMuebQPlbM3C4UfOg61l;Y z@*RO6JvaEc?xl0yGGm!cADvW2R&1>YJPKKKxaO7nzc`H&$_$?E%(-ANfq5uk-{g@l z+H#Gf+V);Qi&#}YLo24CcW$JrfZv|)fqtN<2LL)}Co)(g+>-`BD@XtA^$i+XIG6nU zCBBNbQnv>V?C@xJ+8qXp$4ZW>u>jE8WDE`L)-@b1!&%s*Pnz3Jk~>bBb>4LsU8Hip zDy#^vNWY;7-d7lD#2FtG>6avASbX51_r2ZL9z6ExMp|-aj-rD^M6PI`IsR;KS;iKO z7L7tL<)47sc}B^uTP6GF;U9V79E?T zB3C;vu_XO8ApEZ{ARN1`D!kq1*087b*t1A;I(IsgeL$Wv&tX zl+zN&FkP7+R6N!DLW@2%v)QH2LJWyj*6fbn9uh#T*^a@a;v)lnzV|f(_m)JFZFB5x z!db+#Txa08zgJg4EJKGo0ClZ-!RP9ai-g(zHkvP?c~M>h-xnqx5-H*jGuCYEFm~p6 zx}1K%Ec@nSBW3IbTB3Nf&f-t!vOVCkEW2U#%>m;WX8re06{qEM6Wp_j?{>A^(S{L> zXQ|#m{4=hWlJKm#*7L3t?-&l-c*Wy)DLK{uBXu%<`yrig2c0w;^)ZRi$>|+%2GJcq z4ewry2N{5nMZYPOI2H|hD9e*yn5``!B$6gD75~QD4pTdr?#iByjbex#@*HHJHrR#a zH{VKuowUkE@35-6*y_#H0#&&@Vm$6goQ38uhniexp?H_?JEUnJi53F4iKk1MGgy#X zTjh??19`x9XKK>bZYXs0gvBER0ROB;wf7*Uaj-1lbcPD=|7l=maBVYuiRD3ZLmHBp ze;tGXi+atbnw8SmHOcpO-2X} zSpSrnYScBi<=5Bt@7;P^gmqh!eBEcHq9W@jZ&c-es7xpZ;rwt-BypXKa5(L;p2tx~#1yl$CKVa?bb3hZevR5G&jVNaV|+ z1dp9?yIY<2@5?&7M3UPyAS;3@nQ$RC|}J@GwJrVdGIkJek;c{7s) zXt6sbek4D$uA(*HcgJ{wgilFj@!aM9pe)SJMIvNyVU1j|3H9ylnZ$Ya*b@Z=FcSIU zN-E5lys=HFPzwmb>}TICBjpvV{%~hWq74wDFy?BC;6OAM4Yzr3{h!8^Wer!t)+iwi z&k*Bu{=E>Q%(%SKy^~=gKcJU9jeEq2zrO?_-40kUrp_kspyM2)Fn?%Z;v$wt1c`9% z%9~OUDco_YGbo(9Q)#qL>UDhN^!0nF0#(V1IVWCnh|Vv+TCUIGhhCXdg3|}yDkI70 z%G4%nu$hgv1|~q4YpViB6w0i%<-(UkQkIw5JRqE`1&D{2qX8fI8bux9>uiQGgBeW|C?~ zgnv{JCl67gGs{bYP-?`EGREcvl}dY6scE?TNyY$vTt8uiNz|Dp4`|MS4tS&W{#p%z zqQdMveoC2v%CR>KYafIQAlu%RDG5@siH2Q_H>RLqb=oa$6fw67i~aTb>NZGr++{xy zCoJGifS*&CA9*9Ql93isW2yDrEoNl_i;fv*iqCJqCPdIs!L3fxyMPIu_)jT8z$6QV z(|+VXk;DJA2_Ll=cfp4;)|l3CG6kNu*SzIEP@+=f7Z;pR?vE&35)~!+dXe+sJ>NPD z=rpA*8P^Gb%vx#8HfDjm2$>Ox4g3jAq67& z1XUt&h)*8|Q}dA2uTt{B1uFywf;12W5GwEs9s9L#z01J{Iz+WP18{F2n*DmF^^!#s z2%+GIq0KsKtXyHl|DAB@ruO>%rva}t+FANd27MqNU}cx?U9-zX@jPDWQ^kl(cy1z~C`{9>MCfs`ESV zbClUB#+|~XsssrwFB$>~tMaApMW5s;aWN`EZcm$Fps6soxxS5l7(e!DDMbi-ryw{l z^EKnD)X=52m0Er3{cLN9>{oOWW@C|Bq8rJ(61t%kIdXDxQq(~D$SASih9l>_=y8qF zy84uD=D^{0#;vE%A3X0JfN^FWZ8Ct^I4q}xU!>eLqO1>Ck_jko4j`@i{V5hM$0=7$ zvLh)$%%JWc0L%mpjcmJm#0)@NZ8gE@){dq@eZp9#1#~J15H%9T$@&B;~I?r-xbXB?v%3{ZHkqOqZSZ2QY{LI5+~4 z1pYBnPU5hRC6(xKJ_SNkl}P>9R^kThHHN+X+y-ZtKB>gO@26SMF21|Vl$HX4O4@Lw zN`ZW!nWEciPZYQ9bhJl=Zv8l zo2-Qrvk=l(d`Ui?py-#h3q^S#O)Ref4|QSiEdojVpX()<73qIG9SK%9t;3Zq>kA&| z$a$`!JqL4i=%k238TBQW-9v{%Uw-lqA&SL9YM-lsasm3jE(;Xof=-t7_&U1#%?Wet zu-F<4<~W4kon|{mkuqOi-sx-+c)*8fi2n)Q|A(cr_4+UlCzINvjW45$xl<@nCMZx2 zqdJ+4JkZz*KLE!jICSsF(-5L;8qL=XIbN*P928T;`-BS$6VD$*s4|l9`~KeyPpC1v zxS?VMXbcpRxHyvTDDjwPlb%Ur>n{U$#M0>zG7{3EIC8%n!_dN5;NFR{m$wA7J?OEM z_Vd;GhG{JopYFt1m`VIkO0Fhs!rQ{NsDG_L;0xkwEyCd#7V!|C(Pz@V5#=NUlM<4h z9xoPMF)wOp9^_kK_7s_)xh83~nv`yIni_^#?i|BlpYU-d;Fp2~vE3^oIdv_gYKPfP z4fC=fzmSy@^IkbBb&9^Zif4B~3cC)vBVmexepTQa8Po+YYU{13r#84mJ$HG<^9^VN0l(L>N zQBFi1ysIP6+nxf@mcAP~c&|_VBlCvDJVa{}LI_l~G^*{` zL>=O<1)!>90EGLa*+JPmsw7H1g)8HLkF`a%{OIeHoUBJRHgr{zBFD@Z~0-OKicf zT+Sk$4WB}Mdb#SlkZQOw|F2Gh$3hczS(3ao>nEg=KQ&V<*THcFfvG))wWn&vE-V1G z8|O=i7*0Ua*4nVlr7;WPc1dZcL;mUgsRj~_fY1O;cCj#k;+_!g6FLT2WueUYeVSV3 zf5V#c6{mcBa=m!HSV$+`=YKdCrN80Y=gtUE6<>()5U?_y?8TrwzaM^4kojMbk+qSA zS0qQ|Mp?53IXa0_l!n4W9_hzQph)nKNsyhF;S%lbym*gCcZvNp#0z z<>Hg*ED@M$blANsGsZFTaRnpk56Q`r=b$S4_UClCL4=CqFHM@Ci-8eyz$bSMElxVU z=Qz!Ru@40a8Pj_zul8)B+r!yHOcm2pS5g1JG447e>`d|IsKU>!QU|0Cccbh^%r-xnE?Ascj`Pn@qQT{cBQ)hr9N~aFKgT*3h&H3v_Zh-cbhH}5C1s4=fnis zhHE7(94LsFQwLVv5K10jSt+s=zLX5cDxpJK&34{QE@dIfu;c3M?nC#qqg}sDH%lh0 zr{ElUwV4hNF6w~2^G^4+JTcVeCMnbLKyr!f$Ux$^D}!@9l47l+*BaCQ=$C<`qy%+g zL2>w0LXGo_cnjLjR15XG>0QPs# zChuu<13+j3PjbbX2s+TqXXx2suL5xnqnk8p9_i5U^QlU`guOAo)+ce zkr;{NDCP9thPod*ajQQJ#RJ0gz}r9tzSw7FY_MT(M6^7q)7*kkZl^ob7A`nx%}Rin zjMZw#peew)@%dCs@*GbCfu^=jjxZ!N0E8^D%L@5_gTC%}a&=VRJ#pWpF}UksP@zJt zx*sP}YBTt}`bWu;5ulkuq1pSQ+#`GeR&Cz2e*wMN4g-$G4VurgXBLG4-a`P?z6?4 zFY;nV@PwKfmCdj5cv-7f;{zfL9_nGKg zsCk5%TT;d{wYvbW_iz+^Il_$fOjMCcA5$h_y9rJ0CWf$U55m;YLvD2>%jJ;QP~!|} zM)-$+^>C(MdnHn0q;Q;|zxV`F_6!Zm%45c)Sl9lFBhkN4Xb*>lIo~prKO@oIV!{$Y zh{oJ>QslO)lx2^Z(_%pTt9$L~9R0GpCsxt&-pm5MwFlyD?5>lChH&w5+8PoUTe>3$ zH;|rQd#vxMPe(O@JkCpC$RxoCu?dkz8@^{WX!74jKu@2qXzD)R(aMV!YVfkIu83}a z43C{{yAL@6|0g9AXC^QX84f9%Hbv(fto}Jl;ayWHD)LD7lw}(=HJ^kcWp413;twi|EXYIU4R`xbAt%rQ&5avs$brU$q#G#{yg5W5jMyS{BHAsKJNNrR_wL&=H( zX?$DKQT%+>eBcsF^k4cXFh1|KP{q#f{dNSKk_RlNz5CFCN$ugs@$ytgBXH%iH9aXX zI|TUxGzg`M`<>2NC%iD?G;%)Rx-eN1DVQ4~(Rr}=xJ6-ltEm(9{Lt*~P|ai2yVFD( zrMl)}rC5NLFvw}31a=~g8Dk5l#JqDvre|bG;d^U?H$2{zOYf|Ni2I6l-+UPSL^^}T znBG?{KH>jAa4lvnWO>Xin+{%>T65Z1UIoa3%`G0eCE1DTxlRZES1GZD9DlhV(;6mA z4h$t*+p|T_Z6xncrE~Vu

gZ0Ue&^^ZF05~B)y&UPhn*q3wDFLv~4JP(>0r-}$? zcl6v_b@8^wlcmD1eg@?g=R(u`&5AbUo~lxwTjvr#XOlk)=S~%P8c6>?*f1`ME2kV- zwc(Jfb9o5-P!dfRP?DfU4~EnGQf4L^ZI{4i0|yCgu7~1YJjol5M~-|VOojG3SoK)8 zR-DSd(Ne;(9FULbZ-E1k&)WI_q>dc%`S&%!#gkgLr0mNqw`p8kc@=c%Rp~$xYp?HS zA`?ukNgdWl5Dl!m9P{+6x;A?L?5E}%?T)b_6=BRD!yT(@f8K4dKCOQes<7kwsvT^u z-MzW7L`S-eKi;-*MHgONT07ECs9eDZ@@-zOmgEorzmi@&;P~6BbDvXN+R; zbv_U>3MZ4-BwNJQ9EgV^s5(P$z@TM~En6f&M@AMdONGUKYJKWMU%Nzc5QKszV`jvt z!Scy?Y=t%@IUn$|l@6!Ep?>t_#qyM@0tmmZU~I&W^pEDUfaaTP?JK~e&ArFQ8q(VQ zS(rp;))rAWH_Qb6`~b+6cILeQqKhMQV{?Ho)4b4Un}0i9Op=GSOa8S&C}Po=cX>1E zIx$hzfcrdp_{hOUeJf&b#1ky1j9!+bw;8E9ar%MPYhp0d~> zS(-Syc}gbg5Q)-g_r@$al^Wy)w$(f^W$8Q$P_NX)+UfjU81aLNGRM@ka7Scn?mynD zQh&^R)(QbBRdt>$*Fb>Utq z-K}T9HjId%;_FtQTJh%2>&2r@KLNG-RLMnLS~i!nUQDgt3`H00qW}s|f15H{m-^dW z4rA|Q+JOfj!N0Bl)!>mdX(~%1{j6vJdutjeQqK9^lfa$*r#9bw(4gl^Ertxr#Ede< zENe|pn51M|q}HHIy2{KZ;Cr`DyYSsUN%}&_KMWKklc%RPT!8#6%4Bv8w87IePk;Ff z3CzVTBAEl*7=|t_1Dm z(-f!kAc-SQ!&)YSKU9ALJF-4y;QwFriTNO@=pu_>h2_PI37?()O7cXzQ5^;b!CbB3 zr`ftQLf%|mq%s8ix7uf*lk7R`J|q5^d-|CB zn1f@%a@SY4WVoBQ-AGt+D4S9&=I8*%b-O}f^eZewYgn4JSF6n2_U5Zym9fx9>fmfQdTO7Dh zW=IxmC`UQriW@N~*K--O***Jj@C~8Y`}z0^BCD@^)uZZ{@JTz!jIp}CGxfkVU+t57 ze!8>7hV~N=vDz)O@pPsy$?$q<#zr*Kr|FCv;0{X`T8GUpGK%+ zR{MX;1ZwLV&9E^;TKBk?G(4CrKIk#En=-RU*F2Yp4-P(#T~Fp8wHS?48)2ipUU5Dt zbzT)zm)Z~>@EEckx4~W4zS+lr9ThU}LK6Q_WT|5-#*qiA@<7Y0Zc-!d$ z)#J(Pjrw7uG8z7s&&14h(cOq+;bquA&%jt0TVE4{@jQca(Y5l-`Tonj$Jnej+ImW* z;8J6?X1rGssXJDqY;jenb#_>Lc1w_Xl+fLz0hB_cuYS`kt$m=g+aY$2XLs9_Qe&+~ z!7Ux_Ebdd0@@(E*n3~u#zqxpSdC{IXUlLJ_`|cTgmLP2eW_exZU%3t6He%m@vkQHc z;l0=m5$3tz5lm{tNjPclUn37aD1%e1dk`XlFLn1l8P^?svUb!HUdBNmp;m*VGnu11 zRUYHW!sr~ugTs8iIFVX5T@bA*#7V$h8~5~(K~T8ZeVE53)x@dueNWVtSYt~x?VjlP zT0Cmb)-M0jQ0-15YfsP6U=9Gn3)X+@95{%6Q#{Jk9b5fmnTAUnv8ktg_IYE9R%&i< z+JF6+V{gj}Wb!r@88CUmH>OE4=W-{KjXu^{kQmLR; zK4&HyGzcc5AKXkQ{Mf0Q{btoU5Hh1Q>M4VX9!sk)9No+$P`pMLESUSO{yn9nq+Of_dB2l2!Oufi;9fKm?B$&&Q(XF^Oll*YfxwH zrD+$tT;#tZoD)3&q5io$YxP%F<+)1TVdAt~u6k;{7eahO3Z1LNfs2(S%U=r3@HOQO z@u+RlhdfB(;L5{Vm*LssASU#|o3hn^oUk4tk$kDs%}0MW2nm59k9`HC**JcAPP*cwd?!2*?;Scqn9C*{nnx_rUZDHClbL9Bs1H22HCw zr#`$eR#2+NC*4`-5nT|QuT;O#TH_-9`HmZ56KyKu)8hI2aC$<%J zjTU5QGlqbk?-omr;(9}0y49I@f^HJa-QGIkPBd0`-=f^^k<+_y21d41|kG$XAtw7wZ^yS}No=Ko|!Di>L>fKOp>3QgPrtiCK6 zV(Gr3lQk0Cch`F_D4X-l2LTsbNYh2q!Sv-GhFasdo;F_jyoLuJd05 z?;{Jblp*A1&CgQ!zFxccqu9mSj^f}uTqU&nKLmfEELC_2VMxJCo@|Dh`TbK$G44#U z#o;#G*?UP*fu7iAH1V>^<(pytW$mN+k+--!O}f*6EWzE`;c1A>M5>vwT7EnBK;2f* z$i@|+jHG43UB+e{qzq?U1{*oGNx7@vLm{~+_B_2TbBYg+)HXQXRMf;rUK{N8vKBSb z&0PFGjAL^|yXg9jRqm$9l{C8#abqp?PVQm<;CyF}f^j{Qc=~FqxPWkZn6DFwF|_=C z@1#KT)v)pr<7MXMuhLJKsWGiwsH{lN>A;aj%#kx6lw-ya~sA&brnw?r(a#S&OcSQpphqez8g2AG=f~S*6-P zl?FLa3vitG@QZYGylr6Ni8$(V7i}L-PW7qezG^&SOKM-t7@i9}bu;;WFklt1z~PBP zY~sp3FhKfv1#vt~kiKU#MGa;3fMQtdsv3L05Z~>i(rS48us^f$@woly_)Ah?T|BrC zlN3(p54X4)I7Gv9{Hv6O;y40z{`jdb+Ao9H>2X_EQ1#7qzmWUOi< z+ppSK(2*Hz#K(ugo2llaw{$$BhS(%^Ukp?%(B8Rnu3oICE>vq7pOcMz1}29kQup{L5@}e);e{^2a-6f);{7tE^fQ{H z(=Rl{iAXK>0faV7D+k5OWv*?$tOXp=mzkD~w`KWa8}Q0Od};(-j$s51rS(~BxC4SL zH`|RVetc`63W?r19*j)>vKgS;VtJ!iFsqWx9(6$Cg5Do^2@et!^k26%}nAv zbD$FB)8oTi1#6Ysz0GSA+o$)7uEwt$)!CG{$)CMhIDsv!h;Q%FrayE=+~6sGT5tJt zGtEK6Q!RO4sWYYe?X;fJ(U+|oSytN|*(Yq@Z?c0nve4|`ifkEV&y9hI`$7IIQcZj| z_@Xhvn_e?6jE!}tt27TewsfB1nHYo47kvngP>Cj0>BcY!Mz`!$NBvr&EOvaRX$mDX zHzQ{wRlm3rs#W{#R#%GHO5@|qLIau(WUpBy?mpLEJ1sD@N5wblWU1J>42MS&T1UTKwq_TRYR-7-8C;$zvA{EtuNY!;nmC2t1P3ryRvRnOFu+ z76I4Fqr{~7U^euo04M9IB7iIa{rX&#caD?;JTmy~b(-5)0L2Y03iw)XkCu1MY^bOvAx@T7H1 z^g1`zGUQYou15rhNTEKzsL~LF0-e8O_19AB*ywHj`IaqYg%G=wk*zZe!#;*mMrXn| zcS%UW)sK2*h7jT-KAS5PAx$4AOKGs>&>*14k^xYbg5CYR*1vp%!(H z-Qw+7MY@R?4YiJI(qit5$BRVO8q#ocjkQv?JbR_ozRvFNE80Ht%Frx(7};Y|-)OgE zTh`a3-(MPfX*Ifh-E|sK$0z^#r-ps9dD2FA4ofDkvgoi?(}*2{hVqT#Bn7%F*GNFy z`9>{Xh1%!EG_p5pDFc4NC4mNy|Iwt@{o5UaQYbE8PFq&|JWkCqrj$klTvL=ST`Nn$ zD`o9!`fsJPI=0Z6o{~2bzgU-ha)o3PK2t+@_R>T2Su~k0hu6A~=(Xw<#4mNTtk;+I ztdAR7zdu_Dow3BhwuR(jHU!elQV`1PGq@`9ZR^reJD0K0?v44*;1Aq8HGVx#Lu;QA zmJT=-a_xwvl{C_SsD9E$ZQqG=x+$T77_~;ng=}5akz6t>%+!9RC6j6lE{10NQd$nfxwMhc>Yv!iZFN=1gysJS?S>_A(`r?@i1vp1FdC+{~xTHi*X z$?B%hUIbGx7fjE*;9@tcUiWNcmm%N@@%Pp@?As`3K%D25SkwLBJZcqTwrs`5v86gJ zZDAQk@W?(K6yNXf<-%otl<2@Y8$$MN8rJ9%S^2(h4gSCsTQiY%%5fke(SNDk3V&Lu z$j;r!-X(-0(6bZDjNObP%+61++gz8Yb5ek^`~tr8yJV?82S4*5Z{NroSFGxLwLA>0 zGrZ8P0y5;363@;AYD~hXjsC=(s~#L}&IkA>4ZNXW4u=r?&P`j~W7>yL`73EqQuLf{ z!a~ol(eH>eyZ7V{ShfXU@iSBMO zF!>b6f_J*GH}wnWs7yWy0xv2F{ihq^oW@9v&&>X@fQ_Y+8+bIp=ZcPCHO92P-0^lu z-rw&hlNEU+H{`*;#`QioqHnL6cTPdjEQZu0f+xjpjAZ5GmQ(yVYE~19WTh^qf^YY8a}FlMXTdF%e4Hlq{4255qGS9!Jo=>y2P0l_`Q@6eg~FMGKM*IV=?D z0dyCxSfj;tgT+s!XyhdvE%y5)-DVs%#IYRi1ze8uc{MO*aAKUXS}jrD!R`G=y!j=Vh4S-x6)aMObfj)TwPG5Oj^&iBBU!cE^i@ z31zM)&pH=-^p<=s2%5L^2gdY%c7D-S=gn2fhN6&e2I}IGc)km#^$_{OP(&sEsyQU0 zoG(!tn^I>}Z?bSf0@+?MPvfc1QnK>bQLjRyn-ybd>Hc2vv@PsDHSC|?6@*42WFE9U zeg_o9XEGBHIVO;>$dVru9Bbk)?3JwpnRdE}dvpt>4Fou7tH>rFYghMwUctOGI4XAK zW{bBSLmr-VdrhU+Qb{yy-^7};6`;rS@j9Z!bl%;ikJT-n=;EN&{)bk5hykf}5iHu@ zwA1UmqUi{HZ9NaW8TVyKGuPMHapbbMJ9q7u_`Ky>tj8bw z$f?n;QYFi?(;B{tM_p7KBL;)M45}d98}6&>9Q)pkyD25)AE-TYX{*dj-` zQ#+l3{LGByR6P2a&3(z?;jz?XuP&jG+JJz?;=P?o!|86%k)Rg$1=@b1&bl}S!Ke?u z>B;$xZ}||W6g3Z|Vfa@p;(M%~#)G`Y50n$hCXGHLnLh}t0C78=qWdzk-xOZ4$GaJ9eXxVE>_ZMgVc~ZU6}TeXf}!7xE~ixG)s&#BN&Yw3CKzA+9#)_hF4lY>`ZUG2+|=Le(rFRnG_ z?hR|`L{|J%y1!p|X`TNMKHSrNtiOi^In~{KYDH2FG?(tQLfe88X3hEtfzC63B(;un zx3M|gQ}niDdEC59eeloI2}I-aok1;+8q>DR*>CV}go{4u?s_qP?9l8AY0@W7-sMWs zQ%H|xwt73bSQj(OVg8sTRrOT)>l&TiD9FuoVyL#%UvFAZXCP9-{a}0YfQWjj$81Vj zfZO5BV5B41?0)wnk(wf*>>4LrAj)$2(`EL6lB=yu8{(p~BMhc%gH=EG$NNXGj4uhQ znh!NknUJsBuIyq~mi;UYLS;t}aRo_?-+dvIUEO06qsespd~x0@BfmV`i84$+p08Vc z<z){yjZ1%+rlVk7S7HU!daq6MzXgEdAe{xNtd`Br)9stKB zT3x=@LSF0k}o=_cQn8>V8#~ys3meT+SKaGDG)t#bg5UG zjS|I|)Wg{n^B@}8YXzU`ntx(TZCJZ$u*lf==W-^-f1WQu>28bZaE4r}NHzG>f<5G5 zv2}zMe~NjrL;gg&4(@Sax>6(VR^LHcrSNjxfMJ`5YjG{-zA0~?>G09YplnQu zQy&RYoPsCyBGGgb*TCboLB`6^;w&K!k^Fw10E^3BHt(X{ODt%qxfu;+BpyxEbNwEC zhSBqeY*o#@lYP}YDs2xV221zScq9Sd?ssF2IjX(r-7LN{_#Q#Fec{tNNW(Xs<*t*( z_f4kM<;}T56Y!m!HY6d?*=DMZ^?%r=k)%(^ojg>iU;d5$TFqFwr_whKY`-y;2tvx( ztdW@D5KZjxTWgqfPA0>&$LVY$Hf-9(8dtYCKbH?Pa>sCR5Xk)MHws^~Kk1$tdu5YuBwkho%^|shuavo{H+ekDsnV5NZq)O3-Lp)%qwFw6y9o0MIMW-{=AJnzsZu%Vc=rZ~`U6>jYhYTA1 zOa1vN?!9LV8lPt#ajX*3XWV8nQz%dvuhT7Y7wdTKIU0~)En0_7XnY5KnN%w31pB)to1iQKufwSy)4KIij15D$~4TvZR{xUs-$VR!H*7-M4sq z^MSwxdFylSfh6LNeX#5zYv1VRhOA?in;Y+ejLo-U`Vgb~H52Kr+b)UOwS`A5e!?p( zH;wW3G3y_VRy>?x`$AF6M7*bcPmWo}rF%3cfh?Ws_ZLbd zBQK+j$9G^BA9Qho1F0?}&K?V7l4gw`PecV~E1XbJLh-z<-|^$e3pQdAU3)u!4Gr+~ z)AULaJtE8T^8Ov-UG7=qdZSTOH%apT>reF>h;#~({$#Ph_uUB|%)X11lQ@4-Cx^Xq#4V5Em!7JJr3rQ@NaerjD^rvi z+K~=>n5n#<5@2Eq$&}Q|7W6g7JNa7&lX@q{iKx#CujwI*&gVNUC*NAAn&l=+NsN7& zA|-Wr3-d49$@|5T6*`4d!twX3cvx(9)N0@jvJj|Wu{9TP1siWkBN3|%-n=8V#->J# zoQt8(R*3cU>#6LM8YU!^OReksBm~cN#%PND(0O9eJAiY?S8w<)pyuy4?;Rj?ys@eG?TZec`)mq;S{1q-F<7Wfn(dbnei-^9T-?ElB2kzu z*9IFpX7f!k2BHe34BE&`6wHOlwwO;PeNZJUUw;tkFrPOA7pi}oCO0ceN?I)*9=n#Wm*c%k z{?>H}^+4`*gQR}T?rwOW67+h9dY@wF!oU#{Zs%f$5ox@pzXDy~v4EVOBXf$Hl$36Z|)OT~UpOez3I_ zQK|Ts*9i$7%E#YJ{4Ef`p8&G|3=h66Peyh9FNFbflZv8zTHDeexVo*|4~S2oxR+FHK4=({oh%`d3+q~IGxA@VcvqI zil3R>mu3s|-{Krm3BKZ^;Zn?F=G2H_@j0@cuiS_=e(m;Wu?K7u=o#3(kM+?PC_{+8R^;aL9o$KHQ|5d037nnd^cL+wu*x2~lf1h8q8^9~YJgw~Q zmES%u2?E1B9qa{upceICs0H5X1#C{mxD|RmTMh}${V(>yHJ(EcBUV0BV&fq(EbRBc z!~!*3qc4y2pYR{@wbmOADJVp|IpBj@;n6YK$ixC?6(Gx@3}lF4_)hKbaEU1DjfVoT z;<_@^bk%`FmHC~PFbF+T2fn}J-akAbd3boBFSmF?19gXM{8j=DUFih)PeK-f*(vVv z0|QdjDn$c+sP7bkeKexpuNeH@zM-Y1tgZu?$) z-g`6?KZhSJd`>2EE>O(V>HwV*2^bqXJ=j=uTRoQE&|VqhUyBX@fE)V@!&ku`-#BH{IaG0u_wMCa(v;R}dI~Uf#0dM8v?w#Rba!@dmQGx{Bfc49ytU=#(<7 z(k#_#Q?)jbXGxjlet+lbMDDp4;y-yRVJ$?dtiJT1%IwTxb$REI^b$0p9|q9{2%+ zFs}L>7gR#G7kdz+FJGXJd)|fSe0ZK@=nAa38GH+mh{)RB*7n~XUkdsn51Mvg>`lp< zb3QBl-u3RF+9^0IOFAK5qsmOKT^x*EM`m}wziznHxVt z+0@k3&7mY7%)e@z_cR(#PMWenc=LwIVShT+J^_5Qrx};m@fcsj(csCS|v1E$$GcXtVql(Nb^ z(n5!hJ^>$u4q1o!t`c#Hh?1|KCJQxKj0SKfRGufV?oAKnH?df3;HpM9#z7?FjrApV zS3O{P-r(NJgo=*VH{nvqaI%rB>%Ap4?(^Fk;JW%uDID>SA3k_vJLCgy1oeq%p&J z)So98^g-Myw_Iv!n5whe>v~29kH5b4y{3lqtgw1fzdMA`shG`TKGq+dGVg($)H{Tl z9+e8i2N75Q@nTBH>4`xu?G>11rRnZaf$y)9B3(~=DK~#nDfIOA_PP|BP89_aaLJp4 zVZRie{KZn491b;Y?ypbC$jLVvm8&hZL_!GsLqkJ%|J{FuUOTMKdQUh3=QolgHUm0To*0$wQ@k;><|-E72cuJ=av4h=Q^ZoLEnhK7NW!7cN=DCrH1HW3jK zA|dxL;Ai;{WTe6Y)NH6!=a)xI%_ieHa&+t#^Ny{1NcimQ{*=kTjmNU`_MQh8#po<= zp!oz}|L-io?rxtK3V#nk@d<4-K-;1c{4j7?AVaK_GKoFm??mYx7pA6SvXh+yqUkj9 zhR}g$)XTVg#zaPJ^LHr!SWfo5$NHhkgg!y%?$BKPS@*WnBu8?l~7M;xX}hD zn+Z4Igz_1kU0w0bkGC`)_a|`RdLXA_9xkqtVjTfk6rzI5Fu!?B#TkFGa5kGwDVxy@ zaRP4J?H^#0Vwq<5hwYj2?A;H*$*AN(IGH~_-W{1O)Ls0TA|xQ#p2){$XgrUY6##Tz zE|Zc}co6{ffMxSTG&CHt=5bwqKFva%T{>{PF>2+4X%)cxNlCrsp8XM^=^l&ArJ20E zJiTMFkU!e_{!AnQ25mP1)LNR{Q}poquGP-KK^^xS??B2{xYuvqq=I=WzK(plNP7lF z_-AEp4X4Q3+Mbgiv6)SWEjGH0NO8T5T>*uSN z+)ZT?*n`tWL$#0Vyu6?b)hp8^W9V5;C#CE%fjIN*9#0R|wYse@vFOx=@KG zi9LGnz&|qF?k;V2$KMDD2wVU+q8G%>@au81KbSQfievGGLBI-&jdkq3Yieq;-5K@1 zJ8IUs$bJ?^ajx2uBZgM3ErMKfy4mB2{OH->c}g_g_WL#icA%0886gT?#e%d3;h$8y&5gnj~_p_$8*uO>TKl_1clb| za#t}>YvC2LW!Sa`;siA{=gE(1YipkunXLp6+4Ai5ItSCG?~d5J`n|OtA0I2s=c2); z^UdFqT0<-P2Y~8&dRo=yaK4sSvj!Y%mC-tNKUwVrE3=u;RgsgC3E35Z-9P~{p;x3{ z834jGJS^-RxUr+X{VQ15(JX0v=ga+E_Md(|(rNHYLhIagYGoaXJP!1FdV14lRg#MU zvV^o>Pl5*cL^V*dLtJMdb^?t`(U-w^wnTon+lZ?|WmE0xiF8qvN=%U6zEi89h9~IW zp6_e|-}4U$=;L^0WORG=826Xv0;I5fB7mjMqp= znJUHFd67UUcu$ZI;!GzC-U7}7d~~xusJfbiPNOOVybn~hOTa*Cosjbq3lLAE!FWU9 zXV+zKaXx_He1n8U&dT}=hk!Ec~6pcz5h!NMA((3ALfcigw{`^y*#eeX;g>U?M+$%(&rij@ZjzH_kMsr@uu*Af~BW94CV3F|F*(QNma-FpSdr${fc6wI_5>)TNz<>jnii*m!9RaY3 zh7xf*1o&aR%^Md6Bx`&7tIfe|B@oePdV0E_UZu`sGhv~Oo&*+%jP|tM z>3T2NczJm`Q0*%?ICKI6sdSNG+Yk)!6S`t+pdZEy1T0#{sRA`YM@LR^aq$~^gHqMw zv$OsL`~rX>+;E`2Os#gl*lqZ2dUd!EqgABe82~04%MeGGMgqkHwwyQEUN0bva=I3R)R&8ZXN&&z|ky?em( z9e#oZSx8BLfEWUaRSZns)Sr~Fbvl0#c(FS%Rx2eW1gNmzytMt%Vv++-j}H>Qn6z}` zei@s|I41{Q5U3{hT!AlCcYrAe{rsLQLcfrZrv2JJMnqRPw>OB0WQ>eJvVW5Df&8Oq z-hj=mA68neiP${cUKD6l9|lwhsun7P_=v&&X^f@|LPYHnq$-C!eMQA_!>znm$0sMx zP6hmaa17)(6=6yQRMcJ@iyzB?%$5UE)K9;)zc1D9gLGC@HkGR&x&@MXEj6gDb}QT; zZeg}W><9(i@5}m~U0l%r`R9YKE(sxz{dld2kWf(^cnA`ywHmNvPd(e|bg4m%*3iU6 zR97(mmYs~rWP$N~pWXg^ZTS!cENpypy0KYEM8^hb7Yj9YKu*qkWFlV2nGJ~;`XmQA za!yWF^ihzBkQ78go2RHRna|}^#7kI2MBB=}1dUu``RGU%EdJufi|gxajOiPS_wRcK zdV5nHjusm(XHB__{Q=RQvurjWO6J1{AOs=;p`r=kZ4uxUy+HLvIJQym1oR7PD%E`$|P*+Jts7p&rZmlU zwJuh`U-8&Xa)z)_!(V2i2ZLOQ!Q*hqnx38x(43T;`!>L)>KC2Hqo5F+qEXB_ew=Xa{#zr=R`}bzYZ?L&wQ^9sG>P5}SPVPJ&1c|KQa(PyghBgO z7f=vvMauHm=5bqtDq#}wzsZ8Yn7^ zR@%Hb!Mf8WdeAOchmHHzDmD`fh<; z%tcb@5F_GV+-!0R}XP&<5&TMroF%4PIW}A#dGh%K_?v zcXD#lYzH{naI>2zD1ty;JB~T*(2X`KpjG|e>Q6FV?kp9kJM+|waasxa9@$>u|F1;Q zXgNE0g#!!HGHeT2co0SY?QMb+5pU-jav1#3@nme4+=cW%ibun{lzRuZmNQ<0-(LDeoA z)vxdF&@nKC0n`N7cBNC=s)vBDl8 z#%f&6xS1+g`}b-BUwBPWdot0W&y;b8Z!SoVe#dM3!+EF9aP6&rOD<3a zHTZ_k+YIyV(mca`c4Qpj&UhmuBTnzyKmZrtTxn@)f~trVkjSpmpXah3xab06si2d^ zF6Ti2ksUBjezatR24LJqz-~4TBWuy1zD1Fa^7{2}P_gggKldopBSCS6Aps(Jb7S*W z{l54xBcpVrinbHXmck$xxc^)TG)*p}aK`6esp`_NtL}Y@wq%`ln8a@9BZicv&1iw0 zpFlZ&3;kTGs40Sep#1beGT&UqjM>z^3wr|680*cl7s@ogO8`8ZmQpOK{5B`2T8?@% zXMGjn8VHXz)bI~wCk6j8hRQxcw`=jaVvyc}%&pd0nqdW;{4D-LD zxu8-dN;q@r_gb~Ks?#pr9-83zw2o#$H|;7`?rzVimmrpa~--RG<*O$oP2YUehgsr2YA3 zdV2cn+uPNnqtNDN0gx?WKYW^Jwb^_^&LI)b_yfH6)gqhbDMf84z$XCO2Xob6bi4|& zIxW^SZG6)O+D56LFhI7H{<|e=z`0m`k?>(P@$8+PozXzn2L$Ql>Z*HcYD%@ynGH0H z6k9<#=RiL%K*`QN859ukT-*zZh*)1AuQXiIVj-|61ScjEuv;#gO&06uM9v2S(f>A@ z;iCYX+IX1Hk$d-?9f6SncY?YUBeZWj=0Lc+qR*x0_H z{abH;Ag|{SCdzzn{lZ6qMh9o{J8VqM=Z;^k1SYkjBeCPt>Xgg*c4`|SR-}@k%LoYV z^XtFW*NuAk`)udO;0T-o#R z4Ox{co+s!r&-~k-<)Ai)Hcg8tiGyO75oLfVX9Q-kX^SMdC@Ls zX#L|yPF2@!wpEXs!NE15PpXk}p4tW;TfN*<-|9GI|GC^@3DPi-tygJU7JphzBwmS& z%N8%KUD>qdYt`mH$!}VzH})v8IEFcMj$LZHv_^p9KD;}LX4hk+xnazDJKI1cQr&s%XjK|9*~ z#q$GW8mgRzXlL#0s2-$I1g1<9&Pv%9VwSMyma^oO59XM>__^7`%bN3SOZiP|JRa*$ zi}4+vcwUZIh1!Z`3jRP{7?^*5uC$ISLk|uA@;DYQ!|$FrQ2ta+GZQ8ginvuP>ax0J z<<)4^E%K9(^ypjGT&v)z8tcn) zE)(M3Y-PdjL$yWAD?KU2XQOvZrA7|0$#w~-s@c?)rnmET zfA&ayIs?*emz@3p)c*8GFU=RI`=a#QHr#(QRZ{K8j@Tat@Y z@su-7>_Kk5+OIT+DGV+3F2~st%dY=CEco+Il)S3GF!~$_M<_bH2IB!o;yW(rQSN@? zaDRMfVn5^&$srBlC&Ku2g5Xd-YOWpYh8ti_5(?-6JA=!ED&@nvOsEObf~DODU7 zt|ZgiagJK~p!mZ($b%MUMdDApf<@=p{eGevSn?yM@EBRT^=}(RtPVi zE;Ok4GWzAeep^Mta%zi?{m#&_By!K;sSI3dC}fGOD&JE@_JN?QkJGgL*~=6CjEmD% zTUnB>T6KQFv?Oyeq80L_?nm&z6ECO+bI%r{WIXbucFS7m=LN3?2%Fe*FB>)7l-nk{ zrQXQ@O!e0%Th&*_Mi%eGa7qIXW<1AvTttRv@Vk5r zxNzt_Sx;Kx!T2aG z9&+*!Lh@NGt06tUJ@MO#uRSa}9<6TLSR|3@_*o}s=S~Ho3$pUjeB=!#BPE79w^wz( z5<^@3ObO=bcZ~a2UXBiUpXw8%?n~Wid=-!aqKZBxEf<|1PI);KZE?^PU)J=`<%25< zf{C-GD9top_Oe4HR8F#mzgeYuBy{hDjkq#5&=J9g+5H^!cpYmyg9~YxR6oPK$k7 z2Uc;F7Ox&ei^#7Fjd@qNQ;s|md+P|{#F(_GG-!SuhN7fN7OrlWVn265qD7t)&wW0D zJhC~Y`%#G5a@&TPtJZ^tCp1I%u39)a;+n(!JG5Gdh)9I1#dkS%GESiW7${LnnGA}M+%^&P2fgvw4e468;1%l-@HtKTmBlG(J55&kXGA7fXCl!Q^?1K z$?kK4uv)un2CeI;Wb29>0s%$3K9#51wQ<-QiFrZ&;K*D$XGZ86WN~RdMJLio+38@i7FP6&u!ak?X z7yK0){?&@R+~XmB|$oC_~c{*%@Qa@?TAxuS&i_(8XxaH-g?(r1sy4fWF}l zkvt>wa64mVXucs&$Q3TPzZ%U5hL-3A z#R3sqYKX|efDRoBJ^k7J%IC2p@M3S(vBKVbf8d>v@F7|Ew>0fYT}>p$KHDtWP*uEZ z{th=!{u;H`=!U2nV&sjz3yrwPe&)JI9m)WF*rHa3W4&b}cU)J2NQb0qicF2O>0{~| z#HJL!dfwOW*Gc&v@)>eIlY&hY=gXmp_}6dd0;^Z!LbWqjoSH4N3iMWem&y-<5GwCN z4aeIbYg2_TnMf&+SCVGJT{$j!@Z2vEw}!#pZE>Z8ratgr>yuO_S}t_HpNoe@;FiEPLtq+GHy2{ieCm4hARZ@EU4y~?y?_)i(-j=5;_R9qk zFNQO3T?%$-KVBbmbv;%7V4xhxX!W?0Ka3CIS(d_Ca^ny6;yQfAd-t@z0CB`n!tXkH z+RyUEKtq#wo%Dz2)oZl63Mf*N9FjCuD1sS(TwC!8`nPU+r451(p|2EnpK}>vIyCn?^*CbM%L|GDb z(AE;equpSEzp;J38&jcifw$l@SidcTHZ{c{U8aw;+i;5zI)yTT`!#`ymcUtnxJY|= z;Kt?a**9|AF)@%qJwm9T&m9%%51kj1aY-?{0Qz7k%$1hq|mEvSV?b9nF#huqF()O#%?FbXKx&1p!krVsQ*JreA zS6+TsfV#Nl6-4krsA_L!vb-a|u#aA?aM@o;z;k|~I?re0l`F-}Ty*Sk@`}tJjht+ayKp< zkGuN>J?v3$_G&ao+*}ipXT-%mJcGvx`~-HN{%>U@{8pg9cE?r3^8_wZ{DmE|RJzy83!RV9Q>H@rpDm{e9S4uxA{Y|E?Br&|1RTsFiRQlNXl#FML` zj2Z_c^LAzYqWQ~O$d?dvjh_8n9VWfDt@|=IB5Xv0+!HdRg`vqo-Kl88FLBBeKiM+Z zGcy@2*m4vmklIm)i+a+rrBT^;#XBlJpB25ieA ziC(-)di7#>s5y%&3)xmZDxt>uJRNqn@myPIlWPs8F^96VmI(#9_G08p2`|hh~3N{-C`!srIH>q8?2OKtW#d zq;rd7w87DtdW`q+sFvG;qF#DHw5)RVd?y^`=7m<}L1kIuqw+os?F#mhnb&TUJha)BB5 znGvh9nUaOCF-;-vH&^d0vJ>-odiSQEocX+UwOWOoB(==+P_khP6D0+%ufppK!N8RI&%^U)Y{iY2 zm~wG2xz@u7=OJIEyh&k7x(D?;*50XIS*n}P)mY1~aPqhu62IBnCz!2G!hll^jLBYK z!u-YM`^WB2q!}KkPi^{Aw;TmZu<=ReCmZGh{{Ni?xZ}W$Kpl+KG1og<72uk@L6w;Q z@EuaFW$?>-!pJreA@6j2Gb>oqVMYBm$tIK0#Cb^XW@PEcP*??)<4woQFNZ08`-N)D zi{B|yy{)f0hDw)U!9^*R8IFn>c26&CEi}DW7h&JziyRO5aglBIyHf#TIwkqsP3mcm ztK_}dgF89<)mWeghjmoNnzv&07~deq(nb?(xK)K|230_gkE(vZzq$oc<==rzV@`a3 z*CN_*_Br!xZ1(=)xB_a5z%?$G!zM3!C9pY#1y-%2yKCil3;6`wPDf%ucgLqzs3(nP z5y4s5O*;M{LYme}{C{ktux+VFytarm+F6Jh^cQy;kPB%sa+M?7qUi`ixnzR8@LxBX zCGxrxz+t)GL!VZCZL)a_@1#NU$ZC~M`1w2nyE4rjV2puazL3 z@5Irj`wl)1HqKW?!&Sq||9BYOJ8(8f6?P$%+Gc_OTUze;WR`Ho~q<48M&;_^s^q%VI>~S&+|I_u0 z-{ss}0rz2h+JWw2= z^Sh0E^Be0*_qFUVd{<;PcAXkDepkL!qH)&clmS;zdiK9e2qKi6j@@oqRg22YEGAkv zJd7U>_{!s>K%S>^S`z~9bo#AB%;z%CJLX;ZJD$nXhtIH`hr8_v=^o2b%B@?AF}NOK z?|PAG`BPc*4x_5oX-tP$+f6le_EL6ZkRw9OjOLnD%g%|x+1&N$=TmT`5u#NGI%khR z1*Y-cg52_(HXDy7!)~gF#UKw3mds8U+A>0-W#@Bmr9v7mCkB$Jf1>YN!n8-K2k)*p z_2xEwZjV;9V``C){R4|R@4+D`T^%t*FTsQkm8;YX>> zDp@DsZtczNQ$#Hestc6EJ|(?ispEWR{IKJ>y!{ZyC(zXXf!qa4jN%6)H|8|3Kf>pPl$ ztAx8u@zeMfM8{LB$17VDpCNydy+zQaop+7j1t*&$L@(E0$q$@i7aIG&`66f`92mU5 z?Uu+KC{Nu(x%JA_C_FaI`B8sTiuCObH`au8k%(6v%#E9xU7HDJ4R80c3HOBPzuKS`oe`PMh9h&2tV~4G>$0-Slbg@tz z6eSw+;qsq2GsNa+UPqZ}xtY_6I{f3UwCYzTMk#dB!+YuW%=Z^ANLwCSeKvGfK5`{g z53q~vMI1(2$8#9$14*r2h7i@}eSAi1WiMuFbVLO0sJqio#p+H)9p%J#Q5;0-pFYQ} zIvS>IZij!BH=~GtIZ^ZE?LOY%lR#fHwcm}f@DBI%jH1b<3H_{JDJ@n5P4se~oF1At zpSSCYsLpnYpo4)}WNA=Gq3)-E(W+dC5M`L*57XQt-l<}kCfF9XOP)LTN!mHdPi<8E zL{-Tzm7$>9SA$$yb*a7WR+6!zPT0S{bQsAsr<#1Mi#$r+Ywg;_JT6W7a&##c5ulir zafggdsMB#zha%q;!T_uL#$uT7!d-uSSB!$s1EpUQZY9E&pnRs=b@Z+{|JK5-+4h_M z6uZovG>QKL&!wKJ3L@ko9~{1~&HYOg*TYQ@4sCO5e25(=Jw=7N7sfcVZ~LV5=6@-b~Yj2E|z<|-*C1!^ccD5$S){iaF<9&(!lm<HX0rGR*%hC-$TL4Hyk76{dm{;f`~(2$fC7)MKb8N1XjU4xvS6oZrZ9X z#I#j@+~4oFX{g0Ge2tRTcNmDQ&dUJr&!zV0>J`SK2We9_b28Ayv%|-l*#}bGS3D?r z3wH#3K})KQ<|rc&c`MGle^krx>=Nvm|_)kH;4Z(V}Q>jL;}4q`&O@T3&dt@SQ7PNzxdqUy!<9;7n%yAMCwVP+ifpH<$zq z9)ddw?(Pjn22jo7eRb+%h$ zS1GPzV%DsVA4_lpe8LKpDhaWcYrWRyzP1V!(1zt&^6zEFDsmdJ>^=~ROb%-b&es|s z6<+P#0S|bHLN|AKXBfcxi?2Yh?Yp&BpZ14dam}6}{fE5|&)yRN1;n!-&-6uY4pd)+ z4ivyWc~vmMIY=(6vE^`A%n|TBgwkL*DdddLL$7*Q$(PJOgJTpNax*N>HzX&f8&r&c zTDWY6B@-5=?b3v8%i}B$+!ahX_NLa8rd`)QsHh-l7J3f>CS7Pc&?zwg=$C?BMOr{P zZE3KB)FBt4jcN_p6?<1qDO3@g+Lq)l8T0##?{8V%v>{cfPv`U>iZ7~3Ou4%1S*)`> zA~h;3sNa24F5nRM_qH@JwxwP4V6IQ=tvMx?>4RlHY2qWeFPKo9=| z2{e@aZ;8J8wa<}=F3Ok4U0Cb1Pd|GJxA?nmm8A&Rc`4uiKn-Swmlv6kXDHSmZ( zr2d22Jg5#WbS9ltQ)a9+r|}LoawXb*sdZqX=l$A^>nLNVNnCI}7U}E$0Wh)pBg4|& zViq}Hs+lT*K1Dagl8jQ`GAvT|o6CsBZT?#TeP(k!cCY7T?HNVG(se30EN5sUW9A)? za%sD{xNolGmB$hi(U9K^u#eCk6Bxbiw~CUCKcGnydGYG+u$(r4@LFBZl7VY9651sf9h~6M80)SBXuy0 z_}OwXDpbVyf<34h0h%Io$d*_4^wg-&MSi+RuN2BOL3ViKMWj6T zx*;3Y;SMAaG>MPnE_LkPPpZR4l$q7hdw$~m%;RcT6T0{e&;N3Xd*p&o_H7yJtcyvh zg0Q=Nl}kSV5BexcQpa={%E%PO?3E|q3A+Eyb2pK3KW$=Ahb82r@s= zKav4Dig0Wd>a9d{Vc|xZJqw_lv-Q;e1(8d{jhz_x~$USc5Uy&n>u|v?yLiP0^KS6{eUN$a=GH|wddw< zPn_PrRyik2l#Qf0so}Omd=0BMcqlR z0JnkI9W2bV*@q@{*4u&lLM42%z2Uh$if}qb-gc5E- z^jxeoK~GS?UE8O$(${*hb7F<=A9r|VWm>#hRcw27L|Y8z_USgJ`0bM6ZCPMHsFOMu zHLNqQGNxFI^>S<0VC>&N3s0!)%JennYqQt)RyHe=-FA9+hHb9OQSBq}URr;5VyQPS z|LI_^^chM3KBbykt)3mXmpbx%Da*H&vbX)SG4=ePU%XNAPq+4lmM!UdWpBSQL!|fe zR{cePm`k*feQ7_EH6d`$H(6!~SBF!m5P-L^))-GROm#~%7aP-)Md+$G_(6d2bIfS@ zF5qF~PBA5z*=7yu!i5CYRS(e-xy-cpweexUU*%qxRGFnsLZMp1*&ya*Tg*SqbTT~Q z+Hs)Rsq0~5Ov+?0Zx8#i*CfuayHQPj*u%)-abHG7W_dgdw=u8rGquOLpfYI|dw6SM@AXpPACqB+4!ov- zIs|%)zae$RZZ7hBSpXvO7xm#hDA5)b1-!`~nd1|nNLAIsCCv__dn6A%5#mYj1 zEfz3N4mjrX*bT4LUuF+-g?{O~==*UP*pTi2LZPWrX}lvFz?s07RQ+4VSP+pMOI z6OvzLEKOoc(_i#eg>?^0JwmZ(%O8v0Ym$GdaGx=LL!yJ2xnT}JiPHL&>R)su`N z8*(-GR%eP9B4locH+CSSx5Z34?(lRgB8--{g`M2mY1iiKy)miSZH22BQ8{b8zQGVs z$UZm@B?n9&B~?)`cNLmbTj-GHSD|$#WAZoMd9li^M6sBVX})DlP^Jfcx8~c}@{77) zBs!X*@>$*&L1h0mwZf~1)z8%ienO(WzJvdc`Gp*;uZbf7gJyWmS0F4uF& zNC7^N9dKAtr?zfGN^_%+ct^1`&}fUt9S8)Ri?|=b6a=6p2e)xND)&G*2FGK2@*Dnj z+*$-A{5s<$yjVlc=3HhnROfjXSkvr?I;drvJUEccDF2@Z_pR`w5$;WK1h44H+*ZYL zV$(t<7w?{0da3Pme}MXn9)6mxV<9Vr+z|?N^6ggrO{|quv3O&5ubG{>ah5f`;+lK9 z@MMKji!BNLt(6pt>Id8lO(3(wy{c8_1Kaw{W2(SS=GEW%cfG@9QX3x}xA@8`CB?jV zeSC0|`E-(i3RUWouV|Ki1c)|sLs>HY%!|7lsPh4%a@fhE4mUqjYKoX0#klje-388E zI$n?ZHrKbx=nM)a*geg;v?10Sjim14MtN^VOp^7XAqBQnt)3aRw-FJ<`g$

R*-;1|zaUD~PNvm{9v+f50t$KM@>g`05s$0T0FjXrCvLwSUA_C_Gw#8$tX zFoeN79Yx-o+)?Fud?m9TTW&QmA-!Mr#A36VXJ zWFYz>4jnjUr=?-PWz}oanZ&ZGfZ?BBm)(Qhx>)b6iKPNF3nqbxi-ftCzMAW3*j_`tWH~UtmUIZeV3%6~?571tZ+)RD6B6 zbfMaTM{=($&$YhAN~<9atk{_=f{QW^^%p5$i2QHCA@{O zWu71a+nY0?qYM47kPGA+*7xnff26Zbzq5}{MdcW^&+~Si%}p zWy7XIHkv(g))NY)He|S})+D_YLJ{XnD@m5Vz45<2`8Fb|Zbku*w2FJSdKZCv>Wz>3 z!5z~v7VK%4DU3AOHza3t5&ijYk_6s)>|+)Q`F|9dmVx};rPDDh8F!$ntq(K;$QPjG z2{}soT=qsT7V`~Yk2|+oy$L%(dQzNOxma?;tQ|eUkEas;^To6S8s3ENf+$KXC=FB{ zpd_KzhvS8l4|IVY3^DrUmk#sOnk)YnR*QMmdz4Q4c-K%rcJBvf5DRQHwXPO<24?^S zgem5{Bwbl1g<3JOcZl@v$UL{=6lXl~)!JU6wR&^xY3)~^honoHfaS4Q3DXw+pjE^$<>rGXSPfdk4~HY&AQzMAvr zEc0C+PIwH_mHghB=RX4K+EE{@2KeZ-zYVigmSYTc+?jUhqCj-eV%@LVox+!j{VHUZ zspz>QhkI%t|dl_=fBUR`-} z9j!{-5BPT4)Ya|{simE^1zL@PiH+WC&OXmsuH~!> z%XQ;#ZzFoqW1kiDNq>Kl@#@Qp^`L@}NYN+DqQM|Zvv`lURpA9hWS*6eqF=>}lN)3( zD2LROLo`(^W#}hlhz@EPCZmSyOF$M2VLEIP*5>mU4{s42?-6_0i6IpC+tX2q z*%?_Lc%sL#wWUe4m(yZpETMsD6$`KKbLd4Imf99Y33%xfSPn9M{2vx;!Zah{+QSiB zwRnC1R0)fv#Ry;O4j(ASs_MI#A**QqPR8D4Lfuk7Vsog@F@8JseG@m<9CK}YG4+A_ zGnH5iv}}1d=L}nw4v=cBLr_^t@sU~$+pAZKevIK(AR|p=dsD>##tk#T=M5%gyuc`W z`Z$6s2m(H9SlIA82ylLObqU~be{)8SMFU)^Z&)yH?`8RDYm*UO;HZ6V;LJYbtQ z{=vls%|&WTQPK9fB6^(lV5XieE3ex6Il`;s`7`$3Yl`%9G^H1_HT*#`-$Xt%2oa+C z!`z=+AuYA39gPT=@)3~Hul_kf%;vXcTxKGa+PUpqx{7dF3V9*(;i|Y0nbtX{BzIqU7@(SCz&^_R z9sg?sQ~sVX!a;Jp3cblz&iA`6;Ybp5`n~bC;B%ZNqqB=dCP*c%72q8-=hwV0$ca?t zHZbvAHp!}wi;bW_Og>I{Z&IjyjkGCR^DYiCPiR{k0any)YwoMWs%5=X14`omHUWH|^hMss~`JPzQ zK*E^?QRfVp=Ec1|_D5=$K7^a9>^YI5a3SpU#+Ehw!tJzp zlAMGdLUi|j>!z98cg3%e$&|s8JpxD>QUgwRfR;O_!sGDD&@|Ri)9Cs9K@JkubN@=Yga>$V#8X}e&= zosTq;tAvG2q>5$_%i!=z2$Tx=exSc{BP5-1^&ffRBG>=!=cL_K>A$jy$(OIV663>}iuw~VehST}U&(Np4^yOwAY-N5 zJuryHV|fd@nbc+2Ox!cqSxeq>EU0B}Eb1>_$wlzAB(k+KPN%6PDe-GL^xvyfxnVT_Chu50ampVDe@}T{PRV(&9DH8$L9?Mgww>Z3I08+^ zLXPKu8K-#QL1~$u9|_*j+D8lLr%v=`LB&b$iH#6`!q5D7EI{m0;ky(UvWc|DMa}Y#HiwBDWI}8!`+ zap3m!^~%s^zP01xga|R$yRns82QFV*c<(2)9sJMO7>kQ1J+m`Zxp%pZh#*?R z#~H6KTSEEohTW;~>h~(%uQ>Yuk#g#PhoKqV0`PT7`cD}DFICaJ)zqTNCr=$J<|EhE z7Lu(3Hi$o1zFRi7qfzBnPOyK?^jWb6hdz^MawZmwfd3tWc(2t#luBtd=pI$w;xo#F zESDowe2($T>=$rbRI}d)Yb=aa;Ou3tQw!BZ5^7*y1p@xo4N~DP>+t&Guh&ckh4!xJ(*wLa}JJ*RcQ- zli&a@SIitIXIoZqK$hi+HlV8^|H2K^Y10o=(gKX#{vHRz1;!T*;@ck7sW~oRLVoxp z*|Md%fUfF_E*vpIy3Lq2R zh~lZ`DjAPk>$oRl#fDo^QK3|(CXe`?orGvG@uvVCBxJLX!)-;~`w+AL$7Nts15Rj? z4n`#=P{{iqOcz?Vfu$}Ozimbk^3PKMe))gvUHIQO=-@R3zW#3<82^72;KBNL{Xckm z{=ZBprhhJ(@AIe4ds)n2FtT@lXMcY`$c_V?_Z?biLdbm&xS1X^g2}v{Lno)W_=U>nlQeXJ&zu zmYU|d;{iX6(p>)^SDIEKI2+P4`bG|Aq%Ze*jT)Ut*88Ga(fH5Ws!)`Z`y1M(;;pTA zf{up9^0S;AT(rZ{f0%3YNB8nat|wRJe}J@S$Nv<$@~chBJM*QzEjE2y;{WobP_l}5@zT4n+P-CcAESBOqq&$d#X=Q` z0vti1aZay$2A5X+(%CR@8j>Obq3ug}#@;ZMa-Y99DPWCkH;)XQF3zX87&tV{C0%Wh z4Q8vHg>u;r7LX_plH%f`VNp>^f?$UDPo}L9*`DcH%z6kRz9&O-cR1ewym$Teo5t3A z3;tdIJLJdv@clO{5qsScBj!4!uvfQ$d;c|-J2pNIoWtr8U?o$Y4lFb*VC1JlOqSri zH+gOkRGS5-iveG*U*9D`TxA~NV%Hs^?*y`Bt~j%!PqO_z#iYxBh#tD4|NcR&V?&H@ z)Zdnz>2~iVW0Z;hF+E>R-XG25eHw$+mw&Nm&y9*_M^b^EihBaocxv{&DHGN|&pfDuv-y5U()6nTMR zs#^F6S8pLB?|tI}WST~*wK({=sU7|XTn`ISOrNj5FvCHgJ$pB!|6BWmzI#l}4-D`F zvfI-`%bc-^z&PRvLQ;t)N7EUz)Rcnm&U&J;W;I%ZV_ivn^;3$&J21r>|1GwMyIS&U z!`%t5`+k5GzxPFgNQ9|5*R^%H^IDA5dc5<4lc*(%1bSz^F@`#M1B3mhl#gad%vP}s zq*9Ua9=Yd*oLTn>)fk?5Nb1{5rPPZdj6C^tS1wU^V##EUrKkrBY|mCncH&TK>e=7d z@^ZB^g1%#*mDIfv*%cc;Io(*IiLLMGU~9XBKcDCKWfK|Gp2!<3&M&gT{qbE2J7x<7 z`0Xt!g()KsDKiL#nqqZ&3d@E_uiubF2JH> zBdR-vpHl?PN77-rPHD)P>mqmg^lhcrs4cO^Y_E0Rs3Cx~>FrWLhD7}azE*6j=Ut9& ztKJIz(U=wWQrrU|V5lDxP-p?;+;-DvyzGG9+Af z7l?nX##&aE_jHz2uX#EtHA&9anG*n8!{;;GARev59^RU28zJAUv?QrnKg0VLQzBCz z?{uUyD`I#eOYDH2q@8H75$)UOYvQB(izCia-Snrmmk5Ps0Yd_}JVbp=yrQxlL-VU1 zq_h~H!gFVLj`eD=q)vL~k-RS*rP?yyp&cto`I!4wM?J^XLyH0jO>P_ldaLfsRZ zX-&BsCY?-u71^~%9eVwE1`DsoL2C9z*h29XF_z}G##C8;_)f{t^hS>s}ATFv@!W3 zCj$mfkA>xm70_Hs9E{G$3Qm{${QFn2d3SY6JaIS-k{Gv#s%fHO$j^QZC)9lLbR)m= z3C)#@$CyE?lgslE)aW}l8k$p+dUFVzN9x07c$QE+w`k5u2V*6ve>-1)crv8d+NOv& z*;?B@fDIX9)1p+O!m6B6Jl5&>{c`KzWQCCd^rA@2Ck{S8GRJ+*_oqi=L|tS& zQk`2Iv-}JI!{jo$YAZ*LUDNzTe=rUQHT`zj#7f_jHk<~Os=e$UwYj@?H4~8@oqyNC zJtvKjUFzZtT9lf|9lv1xjwO8knI@oP7 zb*!|dS_gz&$)8nec;_giF`?PP0YP#-C(n|>co9E07(^}xikh{3f_lJw$4 zn)77jLj!X5{1g9pIh=JGy1`t6AdQw=!dgu7b`RDVN^LADw>1`Dy_vFZHdw3srwlfm zGez5MJjJ|O;L}4SZ-}&U74V-#kTduWiVawgwQX+RCT$Sen0F@=Llu_rJ{;~e%v?AA zR6)2}#~H@GioP6~A8GbIUPWv8uo!ZGnmCc_ITK{j4s&t4!jo94u|VQ z03^>Qyc98<;Mpc7Q|E3(aa@;_^2p}uz~udwiD<~b-MeE-v2ZRB+=(J^@{_ahd2}Dq z>v0PBTxU!r*jYRvJCQ(c-mjpN#b^)L98%fg^UH!jLULI0;xEY~h#qdLKxR=mK zdG*3ijf=zc-Q>1i-C8u*y?T1w>YZLwH-o8zE8nUU!?l%MBWxWO?-yPX7m7es7a7~v zc>XDiUH7LHbrMh3?Rv)cup+q+@Ttd7?r1Nf)+WHaY4x=obqzP{U+~VJD}pe+VWE6c z#qta20W>+uJ`-1!qvVG%#Zo8gfY-#bWV}sgH)r3(3BuCIN~o@Z?6Z)mt1Vudv^M|O zu_eXPIMl9k9Nuu*dGakKri^3}o}WUYCGa0jzbueS{fC#9o6$J;hud$Fqw&0cIZ)F##V`P4|#iOi?{DB zP_#8brs4#=@fa1}|8*HH<-t7+fMSSmV91&O?8BS&!(xZP>&D)c$`k8XCNY1z^aQeN z)g_RBalV54n@X2PxF=yp`ogrcTazQJKQFDGq+aiQ?)`dWtNPs-&73fgfFOI#Px;PLzzSvXofalivCrHHPJ)R*mE`i zuLfg>$86bYr0ej{d18&xbw$Sk@MPvN$xH?td!yXXFuJd6SuMzD9pl_8oQk>Dg8l_# zn_YyZ3r}X^8TLj63i1(|jkt{$vN6HydwVd}tKc zY)H<{^T&SjyCMVjGb@~8Wz9jnpv&pG{q z(#88;k}+%rsmyqk8(XPQ)*0w;8m`mr^4)F73N(Cm-lz6lS?P~^63rENlhuLfqQf?9 zr@Xq>hLo$p^EwvdV?7nkpd9%Av=!NPG6JmIc&oLqz7MMp870&06N`W0yTZQG;wmf- zk$9f*-5TvQJat2Py?W9h&0q3d`1o=KyX~IF__@v&)Rq07r!-%*dbQ^|ipwmzT_Do2 zQha`P;)%daJUar`j`4hR$GuV^(KGnU>`E1%Yo#XHxR(h+Y0k#{g=@?msJNwJ(uZD`R<@0R&krE29@h|p`N*TQS8+==AJ=>=^r2VzEzPNh5CWt7$-+s5oErtq7 zne&GQC6P|}qdW@Qm*3x|1q6PivE<*yefb3WlPE9#r^m$U_!F_ym#=9XtpG=!v$m>M zX2-qp@#oXEhcRm7*(&={{_FR`N%ik$THsyE^$eHWY;=+ zr>OcA9y_+#CbU0QLH@cTOt8gNYWtk7_jr^dPT^lMmXwzD2?WNJUO?@I-JNVmiF~>9KDRf!(r3i{%%~vic^89`)flo0! z|AAoy)Y<9_lhg_m`>tpjAY&U8EcJCWUf$lF2M_tZsI7K z#SkaE!zZKT%TSaO#GFiV3N_ro49V9TKg_uA>i2+-pGhUzLb+*fyjUU;Q!^D-0|l$% z_kdQv>RsN(UcSv@B#rXRL0`o(t7>+6Imep8L8WG2CQb-gfj!PsR4Fwr=moV{oBUsC zqhpXai|q1*qp^k;SS)ihXA1O<#4N}&k!sH|fZjI^uwA}@;}CrmJuxy+C@xCxr4Guc z9EMiYy~+UOe0$n43WGjk09SO;aeOx-VqYd(YhmKx@b%~Ci>0`pHSlBAWyiXW=y(Lb;1}VdwR5G8X>x)J?PB3^Ed&PTNSYPi%B3 z^V#W=a6Pm*A4D&xGk}_ktCd@HL9Y)d;o+X%~B6wfE9w~w5hUZe76m-nik=Bsa{tX+8 z5FxbqWBWJV+MT^j#?<`I4OMQYaQWi;WxRh~SOf*v2K{$b-R}03A7h27s&G&(yMOTCU6(Vwe_j z_ql^O179a8&4db8RMvqFHDhTeJFPh*J@CuVwvN1W(!ej9iI=a9f|KK#z=5qvqZI;> zd0EldrZbB^;(4o7Mp=&Bbj zxH8Nu7+G~_e3+Jh-)SPnvE*ZWiGKwN@tn87I(hxuP6j!-=#C8IDYmhW+C&Jk4>{3D z(s29Zl|bWR0G7sW)TfgQWr{{qR^X{{^VdP-rLn>L;TkFt>}^u4H;)bF)ma zTWsNmLdRKah6_$RG->pM)HE=2{I`cG&KpRZ9ia6 zl4n`qRLj;Q;X2%{b>2wf+O(+r#hCW{oM)6Wzq)%(1!BM`C#N=xR?LFQmmcgF4^E1M z7-05QQY^u!@7F5q9bSBmZJefTWcoQ~t56ifud1R^c6id5Cu`D;&$SK%_Q-h z_UM6FDMt9FgC^yLjF!5^z_O%&W)1~r1ZWzP28d#J?CMwfC`bc}m0jpe^(oUhl#Sbz zNluMVxi>Lx%cNzPOa<*5MV-3OzOqEKSSu31v&IUxK8s7<8onJ!vCz$$>nuWo$-U`J z7W9woMEK+A=~oxX>);av=Dnt;Q6+^*`|ngmqSgiNT-Kmd)BK?*pCuv}M~jt8Np{2i z&Uv3W;%~nv=Wl4W^Q>_}z4QlIwZ^?|#u{u%SNh%9&zBhKHV@Y?8#qjXJw6=Z9Alc7F9c-^W~P0_qMVs&07=Hg zx{^0gebPb};JW6j7(t@f;_68l0O!x(bc zM~YoFb*euFu?d$O{*GeeLp~gJT(lZZ-26-4qZGRR@TmQRv#75^{J%d~3+v?|cd7&NjxcRmeDXbsqO z^7VPNU>5CRvVD=3HTv;6OhoSZn07|h^sjICRLRq4Nl0<@&qL3M->~GwCB=P*4buI! zb9Y%>C-p)XCn70*Hvx98gr>qeef(4Re~nXeYiV&1v{pI-6zv;zZN*>K$|=pEVLg2f zj$?d;OdTgoGmUrJIzP8etC&dK$V5?=1Z)eIrZjEiF}mthlFyO<`rT%eu=%Ss0=ge- zBL9~sT+AZl@tX}q2$PcBw0N`j!ZgMoDRW7dU^S%E4xy#Yyy0&Kce2k_^e@?)kp>4c z@|cL*S|)qr6g9RdA;-sfKf2q6sc|@eB%O(vSi`kGB}|u5H2Ag$zfkIFlyKTA&G4=p z&dh#~Kru=s-z-n`f{mA%gt*`QwpzPJOe?TC%fZ<+fZLxnEPESx(>j+z4rs+YB zU?0{GX-Q&bZv`1Y1JjsXneLSR-ZRY}0uO@<1I-{6=W?PQ1b&)xQsphFt=;_JE$<4$ zysr>=+5T*Up4rCwel=^7*Ii!3T{)aF8m=rH?7J9p9^r;b^#&sx(P}6P2U5)y z8&sf3PzfT-mEeE+p;%qmzkm!I{+fiohjb|nK&7EkN${WZ*c9xAm7U3@wv>r)(LSFk z%ENm~*JZ=|=Dr2J(iX8XEbZ^VDXv;pJe$jyZ-b7^N)WZLZp*ERtYy5|+I!y`h-)G~ ziKQ83dIO{L(0MY7H9lU?t%l!}xxS0>#|=eNL9h}vsmMT~j&T)Njc>juSv)bRP5qRJ z|K8TLFWpaxelO608FJmRdLi+m>)R=gxaeIqd&{Tt)k|GQ<+4&HtDo@WF^gmMFVt>( z`_SQTn0?~$gR>)(c|1<4=}8LUoz7*WGo;qqK-DeG0f!|DV3xhRP71RiCQ7d_8F;SF zl{tR2a!zFuLdP1t@!M@m8Mi{E2)GyJNC-01$fk~m)-vj=q0Z3YiHh!Q*-##Zy-EzKB0C(HPF}AlV%Q!@^*lo~#c8M12upJidPHSv`tP$eL8^p9 zIeRt~%&e`$s@6uOUU>Q%u<}8Nj2OKGvC2is_ zD?Hs1a@K5dd+1P$=6^3B(QWNp{6b4A$(h@Z6>`?_0?BR}QD|;cJzA}fyF_zm>bP&i zcYG{5WH6T}N}_mkb%qTF{j2^hGeGWm=I}?U9k(->WZ`-_jw~!BHZiZ(LKG*0z}&Q$ zGjY1HxIWej?X~p3zsQW?)EPsC5ybn*CqRNh6P;{Kr79>}wPOS`JX0;;E+s?Rplmk( zH=4K=m4o35RpV^Gx1=ARqM%vxcj;;kT!SzEcSe-DAd9K8HU#wdY5bbECHc-0CAxEr zH2DC$DX(Mgb}Zh1gmTO%v_@YNxhB<<%qKEtdYc04w!jPh^vwk_?XCORE3GjqvDQh&d-EYR zvUcsTp2d#mSJf3oS8vWa+`+j10QXXTMy)ZX&^DZ(YQfCX!AOQb5p%OGviAS$Y~ZMH*eCIjh0Nkrv7eb32VyP|22JP zDTg1UZZb%9j<;0(E>>6C#jSf=;3vM;*qwbrgyA(A%_U5<0t_+SvoTQKLhR7sOC;<# zmQ8133$%HJ@6^YA^V#+G$blk@aeTjWeN^PoQrfPQK8Rf43Y@I%ad?jle{@ zyFd!SA4;c;H`L;iMND21x2+Mc@7QTH)CThU+eA@-`D*Z#=-E-~9!jjGrM*ldQrzJq0a2yh& zS$a5IY?J)~2ac^++C6pceIoiA%n*UKqGEhrE|J-zEwjIR{*YTx%)!?BdUvz;M~h+S zTdmlLhb>9T=*8^L*E2Y4Q%+Z9huoyVIsn6gE(Ulv=)u6;D;3Yp_qSzE@7Oiq6s`S( zRA$7qg`T|z;y%!M{lj-_2|3Ad9dNO(i(!4FxRV&g;#X4&*Y8`&b)x^Ma8OZ_+R*KU zfwQERX`RdQY{G9Kw1Vm!wfaM}_}{SKgb0d_)|$G47bO=kO8Y(Kyd_2`1m3$Gm@)Of z6baC9OK$Ncl*7PZc=#WGU|a)+Cj5$xO7&Em$+tW`2Zg%8TFWc*e|AXU)Um%{g3nOP zlVAYTt8>&$vO%5PLe;r1R|%FX!GZMUcWiv+;2|fbLY4F2i|)IsX)XqOCo#ScOjO1~ zaa`uNYOp+eL#EreTHb>C0*5K6TTck~+Q{aM;8-*$Fx38TCky=Y{p??T{$&XFp5?KY zuT)v+*5@Tg5$);N1-lNl5#SuwI9uK$-`m*`9 zvIs$iA|QfuOF<<3Pf4axbVRJ@Zpmhzyqw2L4N&;}O=#_3r(P#ASB&$F5Ire9V7~>r z?WCqz7EKRD4VE@H?!klmF8lp`i0=6@Fu}11-mz0EUlG8+Rzj&F!38L$9u8w^~jQcd#_+vE_ac+9Jw}zTu+I$ zY>hwmL6LitO12F1KUMNT9o)aq%)`NR&|s=iB-O82qjm3laEfote+~TBr}(cop~ju==3lRzwpB#IpXf9B^eCBq z7K9Q|J|h^lnA;~ISB4c2L{!B4c9~q+R227{FBGHpXMxCZSTB&tZc_&icqY(IBwj8& zQ`MZ2<2|Hz@}@Gva80MWw%@!$im^!w&8zF#yu;aX#U*8cJ#&w-oeevX<-4`wBcT+G z83*w#3QE*K;2R8a^%EG)w!2l;#tRZV0TQEvF+k zktv8BseKF1a5P}zCATH7ox)NXKaReF5ADsJ*CaLH3%Sm6M6lkfy!X~pl)7|(h6DGj z5`r`2eOwQ&!N~?nTwzow?d^@$AKx@WhU*Ua)3PC27Us-VDRi4HSO$yu}j0 z{(A972>o+{fS8HZue8uB%v;@+r8MmRl_|X28@lQ??c1Ae%+=QDETjT)3<%f4%{u3W z<>+O5OBFm2ZoFc^cRe(Dyv%}~3!Q(sg}S&1W3BE)jj$9`&Q{@=o6%ab@CoJ@rKV$R z^Na+7Mnekw3gIiFm~^bSljXi-vft zevvIL%G;a%&mF#LtmBOk4kc*{mslj;duuygEW=21DffGjlQA_*F2$<>%k<-0& zCESU_18qAw8`m9a@|Gh76IR%rdE?TBJ;I-Hlb;H|qZd#6eDTIf-D>s0)dUT|2n?3-sr$Y6xfHSXr)(Ys|^%nJG1^+cSE zdisd5PJ=J}08^1QlaT2(dB+@$V{ruvZ?3Z+jj}Mg_hBnjAMpW5u81+}?W!fj&1y{N zgInjy-dcP1wE=nOq`8p6T}W$o!8!8ajrBDNKeff>E32~}f@XKf*#!CEg>*;SeDpcM zcO$0vRfxm{v|vLZ88Y8@OxUm^10;6d=PiTmUUqS$+a}{IKx*<-Ez}SB=v02@E?Z&Z zczlE*^}-!8Ow7hGWsE!Gvlu>6Z#I=M>{aFVEpvsnnekSAVhM4X!<{mr4-fTtMN+<5 zAKAmjT4Iu$(2V3Urn{~7FXl^mr9BVHkeI@Pt3^{ zu9asdqO_#5Qu~;6>VCOUFId2&6YR$sGoLPIM$f!*8)!TJ4Hs|gX62-5*Xu}aYBjm64Cj)qGY~xom~n$ZW9)Y9!GCi>P5jPi72Y}b zHv;vaM66VygLs(X=+4^*Pi-~gpAk0;)aBb&bT;xvJP4D#TVm49UC^k&;S)DFppV>Y ze3ZZQ4o0w*CNEDVb6uD`H!+V9CqyiFWKb$UQBa};-dmY8PY@uvWDP}jJ6BIgvPY+N zf%4BBIq5zb76;E*%BSXa5##YUhCyxR{v8EKwthpAaz{5`+t>pNdycW1hLrhBTZtE%f?B9k9o z_94&FXLrA}BRx>CEj-dn`*T#f^u^Lx;g(}q&8GT-+w2bqWE!;2(%KPJgYvGQQY<*V zpv{9|%1DIWLd73QTmsv2INb2xH8ypsQH-Sno6wSf7jB@|KPd7oB*O{g$QKB6qI^KG zXFg!e=-}`9G0TNAjbEtLKt(q!wB>ruG2nwcFdL*k`d0Y9ei$Tyh&ksqI+N`!-jDVa zu;!*|V$X8&L6rU8@wt;|E&Bo;pXZemx2{ifx^clm1@e5i^Fcqc!pcL}pM1=e&<9&j zrH!)=A5DO4)|Uvip!CZZ>8`0VG-F^|0t$xT`MCQ%0dGI|wCQwPP#=qmaYd!iCDL=k zutJ3n4Nxm0$F0TUP3^k*t!+S!g&`KD4tKJ)HtRmN=Kk?qukP)Av};CR%K1#^Ub_}s zyxX%RAFn5LOL~-<);*M}GstW!|2=b4^C2oZE#Ft-Jr4Ke+yG~C`LCvnElVke6pxJV z{dUyLlzst4hW5irEIAXv-K9FQY66WWubu1D`RufbL~MRXDrI5ILy66tzR7$MyO$Y} zfaeeLdvv)ib(pg_GktcC99>0wXysanwwjQ?HnlrXpragctYDPCYZZMi*M%lIU4sjI zO0eYvb;k*zgQUL#F(w^Yw&0$8I{Xb+Wt5!8w;Q&Dl}DS*{A)r#1%qsnFwi?M#@=Ug zIYbgon@+VaOnVu=UU~3OU(kRRiN6Y4keeKae+PnL_iznqi3yrHcc6L??p_&^ldk*$ zxoEp*OodBud>Mz_1?WNQSOK_&Rkcl@ET<`d||Eydg7fI%T859cQHYxxY|@-MtZ2nv7fJ$5PNb zw$cdOol#kTrKtsj2_bjio_31)Y6qN#K-6QPy6#KAaxTDnK+06kuwumq-w?%Lvt#3m z5V6vBZC;7~jgAh)wlGJ~^&~CBXnl_0qqP_U?6Jtn0!?I&bzx~OF?+ckuM`YZW!2(6 zazbJ{cQNpUe2^AlDi0MUh=}BpaLMX6n-6#DKnh-Kp&=P?Zq8;*~Ngp zuFBN7B+|9w8w1*^%DKOON^}dMVKNM0cs)D6nC-r!G>)5q5LZoZXxAKECM&hs&5aZ4 zAiTG_r2gRh7LcUuYpjMo@&pq%FZ*fQ?Sz`odS|?iS8DOSUYq8Nh~~aK>Kn zQ{j-$GqW>kN9J3wt?G=y#cvI@?;F4D;B*141&*g(CljVJCGr{fCjApy5)FAXxCz*R z@6eE=4h>Yi&y=48VWvg}Bfg=oVQa&UAh&&PKN2fz*JUiU(sA{RzHHlPDbYRy^8r>I zOUW}A#)n8rxGH=`(|IGAF<>l27(*MhzYFlWRBlZLAZN$q))m0Rh$sZQR(s8Fo$m@(}JG{|x+PvokPL}w+pdLPF!Sq}v3 ztEc&&uq(D;rf=I`9~eB|o55_Uj~-^ zfGo;fX$@y=gSwl`#daz=fc(ColC%G`N>$8;)M5)kad~al`Ml@EzRylS06;G-@$EGY zw8d<5Xc(%t^VXQZ+7gx#tjO6LFEgTi4ZM=QX4~t~Vh4LpZ`dWc?rkWwr z52-lpFq}lV3vSHH<0RmjyLVbkLEKC(D8bUe5ePIq#sT!Sc-=BQa3f@o8P9Oy!GA7WbZ0U3}QfKP%~1@ERL|W z{e`)iFq47fK?{Z>YW7=Q6BDEw5Lh{3z{ws%8!|<$jH%i!uV-(BstJlDjT;BTuW6eN zh}lZ$5gKDf<|Xg2KW6gE)))8H*ckErz*@tFh{W$}=nctExf&tqH!(LH*UW>5U=w}LbFMcf3I%m}t?bOB} z+haD`jR|Z6WgD+&_E`#U037aI7`go+8rGV7E_&@dc+RDh@ziq#oY;+#hmN$^QxzoW znb{LQ@>&{`?c+Q$r!w8^cPNh@v%9L6U{#BFUG@4;kBxk%`#L{~DyDJEol?zf_RAED zEz1N*G6L1geFibZ<{8dfAvECXxp~1X8UTcf5_unq1%9(HgjU6R!u&bbol9?C_TN{B z2eTzlFf+~{I<#0vLczV`lo#s5?n>?LTODb-Pn~Z2nKa7_VFDQnMR;-Muju8-fedo> z<@0G_#;9-y?qUon+1#OH=k_$|e^e$Md|m(W_7H_5NjsJuD+FY5&X_a0NDItda!pKZ zrmK=?{>|@^i8c#tjyl>M5C2Jyf|(r%gi-}Gh@w$R**R5<5&?VfGqBu4x>JJDF(x?g z*luMOsA4nS5`;)rtk0+P^v!SV^jW!+7mP^ER_t8edr8l5C^GTU!lX(0f$-=nsMYawkRn@{W&0TY{xoZ-;K?_~YP#X@&ILft$!}Sa1`Qd3CM5U) z9M?Yhe)NyALa3eo2iZsPKROt&69{mixlQ%ZJq{J@&Qxj$owzb)J;ryb3RejrueB{Q z7wIAoxMG-QnAR3I?A5DjiDYzPJ0Tou>X60}ttfy(b*FD>O0QYxXET@^ z0?1_z>q33+us~B6d*&v{u~BbM2WsTmVkY=veuEC0nDLLf7q=Ac9tq?{P`n;&y87-@ zGM$BchMrd$)8;7-x-l4Kx9h-ksFvZtw5C!viu$shd3f%|Mn`tT7{aYKY{!GG7aj>^ z7@!KpD%kJ`wwZv6z(W4>1>Cm$r%ZflIYuOGjOYtv`sEo&3Qc${lFu=t6GEnk_Z8{= z{l^}q_;{1#g!&hyvmg0QhN+a5vwe7HTeQ^}oaZ^3Hw*nduDIf`C)%Na&f4j7)uKZj zL+yruq2|hLMR95sWlg!&M-_R|s)3=&kB}r6RrWE1p>PH{+wzke8(WEH zl8+GCKV~i7Cne_XJY(L}HZ_vt)&{9RYN%CmQF72YPV7b?)?mu&;(xoq?3;Xa2$I^eUg+-+rM)p9}4R) z=GoNAA*|#I>b1r_}+CwTiq{Ni-3}dm{VN<(3OoUAD`t<6LzBW63DKrSC0av@T+k^R3 zX%~X-3Oc#O4;qYGPZ@1r8$`D~s%vx=bTh?`xtvRY=!cn_d?CW2-_G5OO%N{j=c}xG z7C&X_+`E~eYsk;53*I&v({dtxnsYW+8+&Z`vNNBFT5^F=e;rZ(4c@o>eN zUTmQ848N2(26`JBZJ{O50Eap7;sM(!TouNvY`T`7Zr2?RBX=z1E?2!l=tD!h+iEW4 z@KO@L>b-AT$H;yzD3o|>uCPLtzcEEPzjx(VBy^1>gKa=6v9PyYi^5T1_)>tbY2kb* zB@c?r@HAyK92@e~sfb7RiLIk~CB1YRHqWF|`h^me4m@9f3U9e_WuwR_Kyd6A_W^YP z6XFgV>Ul#Cz6-=F%bhsvON~s^hhO$lu%4dbIaB$cq;m(J%8N*~wMpU!!8;O#TjFYrALt~AUQ85>-?zvbrKt@je9#GfCZ43Au7pf>`cy>X{sUJmhq zY{Y+*3E)5BISe2ovN)xivkg{Ws*5b~jGH_mDC9DX?`lLXE2v57(h6Iv?};p!!>KC9 zzerY<4s}A4gr&2lung=o9)b5tQmbHT#)rW`lQ2nk@#fOsd{XV-;bd6O>wVV`4{Nfu z(!p^zV)tlEB~;ZNZ8mL-go7aob*sfN4V-i?6OisVeSoVM#i=T054y`}`SEV4d-eX{ z1r;va+mCl$y5M=m*6gtOJ=)3fUEbkR!b#*kXaWjvprjHW8-P;8;Q>KX%;#gtD!eq= z)UVOb>k`LC=(-ncN+gv)B9}30tkW^odQX+cie|;1B>PR|_sy-ORn{7amtM!MF*O0* z74$0=4Q|hwYT=%HiDUPoL0}rlTD(7AFO5w4)1uOHF0(ipaVOB*kq;}|-5Bb>VgcOK zV;KPURywwiHq?PB5z)OHS6Z@zU+qhKJaZrITHZ@2=0U6;l^O1JZPQ}i(EB*k=%t{C zyoDPIEu;0zCkQ=XAw<0rcSKu^oaOY{vrK$p-{G>yhWf>!aJo9=#E^9-DHJhG_F`n^Cf(>!wnTnM%Mb$po&<2ue+%%n%bupfPkKnBaDPNzHR|(<|cn`|Ps9+#qdT zpg1qchu*N(z3O!63~l^jPX?h z!Au*M#mY&y)%F}kTbRqKtUoK5V)1S4-B!$O&j@o8(mKTbPY(G`6+t(G<&V-dwLin3 z5bA{-3|Ym#)|j)dEEbS_Jp!OI@i=zoIuoJ^G0 z^DND|S%Crl#jGGMKqriV^zO>#`)k~LcER=2!B9!rU5r6A&7;;yd!}ipkus z?pmyXCLglcFf>QttViIhq0dGjmx`anWl_`U3(JRGW9LWs)5w;+vt2*Ss|z^G9T@0P zwd*mQ^7W&1d8?y~u39RmLZ#1FqhbLSp$Rs-k?J!23HvYdD`vNccW~zF$e7m5ab2q6 zlgox>BVO)~Kg_j?xUI0)V+e(6E`=E-p*M$<^iWuZ3#Saejj3WpCG2FUi+omvsXah7`7~=RpaJt*>n8(;w``a$V+Y9)ULq|G%Yod*pGkk zbog!{80-Uk@3W2HBzk>)t}#Yx<|_ zeB8C1#e*QB?0DrxyMSc}OjgXi!)vR=HO%K%eZ8+Uv=)J{du-*w6na}0QA{`H)e2p; zPOeb5X5x^DpB!@N?a7!wJt;^ZFnKU#*D<6QL|FILBM6#~?YF5IGexy@Csn$k?O)Cu zb7iSJnoi{x9(q407xt)*;!T1q&eT5=+y`olLQEi~hGOWZ(NU5=km?Ex}+14=|o#=a1T;R2`O~x6l1u1rXhLI+c6T0 zB$@-(LsT58(cjGv^N4Zf zCzfktVjjA?!|x*1xpJ-JQ;T&RLQqky&;HTdXNf|B1i*T4iC|a06QaoY3DFO5c&On4 zPJfJ!pRNJ92_l^7a+J8UB|F=KxB*YDB=N_)tp=X!!%FYG8 zm72t6roR}dekB}Rq^n80l~-Lm(ui?6J(_9~6V9bQY>+PEx~?LFPY$Fj}I0<-mWH^TF;>VQkfQ)^NredzIqEA#9U0Sm4S>DANG!W}q&j#LSDZ z5476|9jiEFx4e)Se-!%D9rS;P5b=6o&2c+LQyh+L=bb%x;Dq9{) z_t#XE{ilb`9sqWO9(*W$h#d>vr(Ahi69v+){a2HbJ(Av6Q-iX2kKK=$+lt}5o{`@p z-)vN7?!jnfuKJ(Ov#bFp}X|M_&gjJg(G9hQRO=Qgh(7OEsF z%SYYtx&XoHmpD9*9e~+Q)IegzNm#`Q!rqZpakI~YOOx`@zL9G zr-H-KAJqyxinbIKzk$O}h}S6)8=9R?b??X+*dkyp+l{VnXwjZL;2u0MPGK@uv?(kB zt;Nn=#~m0}EV4M)c$b6|l<-{EHjv7b>YEy^M5}zxWTzhdb6SW4`%<4FB-|x4!1E*c zArHPS2>-32B2u5`{`bqn$0J8sqQ0jJeH{h{Ru4i9xO=}brltfrZJoI!_K|mJv>Dzb z&6Dstl8<74ZDf%*+`^l+m~ScP#F{~WXa;L5113hGZrgp(PhU9zwkQ6 zEPnIVTQ3eHXFCS<{``^7E#KL~1eT}(Yo+0DyCnzJ73s>w<4 zlA=0y9sb!ACdTQ&ra5FzLJAj{k4|Xf%N+le-zdQO>ML&6cKT#?rY}?;>(X z6CGW?Cl;83e3rB)b5y*j;;9e29f(l#BfL3n7NC?4N29v|1& z^sUG-sGmH+a7$>i+S%;aqx913O~1y_`Q6G@ME0NI{WsW!0c5ZTbX^4Q2x)CSj(M6~ zOmWDyy08@A<84{FVX*5s7i#swKr+&t#%oqG>X=R^BC4HaL*+-KT~hk-?cwmX1d7qE zq?^c6dKqW(b}l-h_f@l(WuOgiZ%{@!mWZ-gYO)p^1T>XF)c2!pmE)TZ)G21Rb48sG z)OH@OAu6JBv|fAD4+!hg&c=GsQ753e1#R!MSLu17r9U{Dt8TbJlP8p9@acDNp^_Rz zCzx_ltC^ypJ0-W3cyqesASRf?6;wyXzfGu?+A*kySLb(W!AQE9ja&n68C|FLPY{OQ zf#}MGTQ5lc2Wg%boE}(__beY;>u`aaFu11C`zgmzXl0P>F42_O0O*^igzT3XBt|Dr z-C73Vt+FJ$AjhUWlw56NV+(KJqcL)&0~V@J%eQC)e?w%3(rJ>E?&nX@aC=t_Yd<2537C0E{B9IQe<#>} zDDKC53ee%m=yf!om%YbPCg2g9$@rAUZ^N@JSp91W1$3gyLDEzS#E{!G5kMPyj4 z`QigmL{IB(Dvf!83De${^a`U{rPD=k4{h9_U&kVziO4RyGgayU($W97Gg)=TjLC>2 zltF5HXI%Yx$_PDhSo0lq_<-rvYV_yC587A{U$Z+q3`Vwan((tYcUJ>Jd%0kz{f>N^}HECnJ@o3wZgbieO9^Em!m z&tZ)3MnXU2rP>$pX(oJ%CeNckmC(z6(ga6fh-Tn)-6-NhU&0EdHAE5+EEPOvd6r+G zf=Bj0+SO0=cCBUR%Z%hq-I-unK;Meu{bkBz%Fb?cR6Gk*Q~1Z77pyB)AX zzW&~x6>((?ig&r$X}_lM@jXz+-@3Z4n-_TZ>*HH@UAcVtqc#Un?H9mI*M%5Q#YraD z4&zmh!OKI`hwW|yld__&ZdaPig?*}vvViKJ&?e|v5 zK1Fx!d?6is(z_F}RwrO5PAzmBrA^VhMWNG-{zi3fj%qucWop_S$FI_S4z#Ep9j?e_ z^BZd(7>=UsoihF>2f0?fhB9PVt!EYgC-1Qx0OHsG)q6}?ev17#uB(;l8CeFaI%zbn z2P`exT- zVyjYq$Cm6p?Rj-^KyLpY0* zq-81-DPp^0Ot07N_qStD>BGAnKYv~&Na|Y5khiB@u%t}UQQh<#^~0NedtbBSEQ!cJ z+!Y(ZdNuf><5hg#w2#gIM@PmUa>53Wb{&LVWORY5-nrYkN|CCcZdYrpw9k3dadEvt zAC=H*qiyb1&+d9rwI>N8@z#Pb>Gv9-Kqif|*x$~V*eOHoo*9I$Hl+2Jm~DUM<{z)> zhN7t+u@wW048B}Cyc?nxpr!!W5=&KdwcVIOt>VD#*{G0tw6BA5G$5*;*zLCbm&Y$} zAKo~O$ZifC*rAMbIO_Cw?p@E(NZ-}glbJ6x)0d~W6nO0CXEPUDp02#-_ZttFXyf~y zR)b-fL-_h5#1{a7d;ffSfeVMXlJFH`X{t_BmHfpeSt-Gw7LPM|Z(P=~DJQ46Y1!7; z(vxP63vbvpS5bO@-ksHbaK&N4jdkL@2KX#eZ zi-o3O2qE{aR#$8Vo+1;DBdUt2^}uNin{$cee7*9O8*Z7zQ5Cus%y4&czZiMDW6MEO z%LLy4(a+mZKV3G91*KH?)%V8KXTdEMbY)^ssUvzppm?C#b=f|$`b-Fc17tlF=ACcp zK+f=-%@4?hs_irT)$Cz22_<0v!=`3QjamdHumb6B*J4a--slzk{b233PjpFr0(hlLB56OD0wRxx2;=4%zp_CIsoCpX}b z8Htn`zRa!m7VHKz03LLp^70b0%)5WKE>2PtG0;V~){?yGZ7d#e5qLiPG>3Y;w8aij zM(XfdGVKpwVRZ1v>Fs|Mae?nyZd5v5CidKhaY0kZBEYsvdtl<06|X_qV1*mK=0Lfk z)5yAb1ti=nM=a`o$if$8X{^s3-KOwf_CQGVYjY=T{s=-N#Zfk!t%r_ANA5jc5y@AM z;oY?{%&LV!q_BH9?;Z2W5?3bJF5lEH+*FVIhFL>G9Dp}1A}~qs1H$k;!XVwr!5>i>qgt1@`TwaUDuY@tJq$=`Ore$02v3^nXzlv#t~X4f=-;@M?r_qoTC zlZ%!80ci}-a4k2RhRV)HjIS}pWg6$xvdMy9UcKaMD3W~FUHsnCaR zq1vN3-CkJ?*$~f>87_Gpuo}JlYWh@4hR!>oUHS;lW3Bt9A5O4P1Rv9v|OT;Lo#%|g%To{bj&Pc+fCkswe6+d9IDs-zD2wHp@&b=D(DAbZNjI$3*1(e{DyUaWDl^aOISU(iqLscu zVvXX2TXQUq$8P#Vzjw2LfW&E&b$8T^W6Q^Z&dJz;oL0%|2S|lJztTu0=J8}+Op4f8 zgMhT5=m*6``{a?wVI3Xg^>O)30fS=bdX1Sf?S2HV_5G$RHGXhrKL=flVsHjShpL4@ zPsep`YwX5n&GwgD&1Bo>WY-2-nnWEO`=(m@}E!CPH&~-d3G2i$1S*^1% zg2?qYR(+Y*`Q~2m_L!8a_p3)&1wZe;L-d&K<%|p4%d8A?QK&vrMjB4|OO z$T+V`H?BRMLq8gWYGM$2NcGoDpOIA~O-n-EPamqTZ4^)mT|b@ieZ5!aBE(mQ2yMX) zc|R8yM^gaJ&O9~E#AN5lkb5SAwCTDk9WjiNM#HanbTsOS_kOFhW618z<3f|q)8wP` z3QTy~6BJ85n)3Irsyo9+Qm42didFhLbH2QGa*i7s^)vt(pvZ?pdpn64 z*uoVN*%E4dg@CjWngU3#x4_yeL!JO`#%KSShpisd18l2U%m;MBm)3@pJKR?#cuH;E z=PtETn3L2<<%9>juOIHAwj_xo);z=Aq4$LOpkC+H;{)!orf4f6RY*3hRCmt4etcZ& zj3i-i-&s*Tl}{3|#Z3+GrQmu4OgMtG4(`YON%6^PDIJv@JZYuAlIA&BzvT;vG2hj z^#YR)D38=9uQuO)Rph#ZTu!d!o9^A4&D^^g-+yN*n_g=HY}q6=S;TWe&pNG>F~~*S zsKsMFm`cF8O_<7@p6TS!BCn~8-MYNZwVWebfEsTMrd^1495yJ+WP5Jns#|F=U9yPY zS(A^lZ-`gFUM#R0=O%P^BxxK`6RCBAU`g_R8itXDr&cc4dQ9v+IZ4p5j7vyxyuHhw zYA5=x{OO1bF0*C7Qcri1(<&mcl3e;XqZIQzy`G}YVv6Uhw1(n{&E`s5`WOX;t_rcG z%4ugf=$8pyk%3ZP6eyo}hG2M1mA%_038}>uaiF7(lsBGE^Dg0#r%D=NJ^cZ(NBp^Z z(TZySwSEfo>M+z%oZW)iZHqMv8##p65i+~|K{p5Z_R3@@uQo)h+Zz3CBt&<*K4>YX zmJ9bM$zya$dM>oJ=Di*ZiyE6R^x^L7D7iWl?qW3{4OJtfjj1f%(=fHDRHrfC>e%;! z2b?d~;q_07uehsTnH!BdJC;n+ve!U5Q4d8EWMMMDq<&r9_O27U&}f%#7=#njd?dIY z!Z&K;$X3SUsi$&J^IgLpDfLnA7~a9e;0*CWs(uHIcy~KGUoYlp=$J^;%kGa-oh*!4 zgt#1r^)(D{YNm{ycMZ?`cT)xPyZd{uZS7#zYQYb|LK8=nm#Yk~4wmBs2MLAbi-&<4 z@%j^`a{v%QXaBB*yKqAK8lieS@+Em*_bnNOJ=!ym$T6~746YI&vHEdq|SdP)L>~kwkiB??|086Zb%LdDYwnI9-6Eng! zRzc5z(@}is0ymrQ3J*3u6Kf40Ya!Q!Q)H=0{w*CE4!+8e{JEE6-8#3j+nG5$n?G%0 z|NP6goruNmnTc#BDjcBr-aQ4Ie%5;Cvuls|3=mR?Fa>W%^lk9d^t|J@YmMkzYuL8* zNo@#53F3#%bp{sOH+%o|w4pUfLS_=;Ts$_w??dJQ0)Lm$L|ymuG3*l_dU0y0mBH~| z)IcN87k#b89A=eqlzi{{*j|#Z*rbs)!nZMiCTv#;gz9ZYXxTSwIEh=YflyrrQm*~q zTw_YNXPiOd@C+S(xeZPl;vJWlZ2+c=i{qxZGGQZ)fh8xs`?Bi_n*oXE@CKcX@#yV2 z(_P`3t&$kEOs5rgbt>AYd-&u$0lAKW#xk%KedQ9*5XU37;{{dc$zpnwf=uNatMT2a z+wCdunHqH@g~3sRlzKL-4Lmk;?aQY4_US$3y`kKgIX6* z6+Uh0JKG9}-GU|eKEp9WpoK3(IxjGYk!_&^12LPyoEHOgw)a!!JF`JtQVN)D!zI%s z(VAJpJ}1m3UYwzBR|;AC;6#q&gfFZlV968iuY1RIorc`C(wN5M_+-&-@erGx`gJ6{ z28*ycOxO20D{6h*K;tGPNQH`&h#Kfr5Y?HLdx)-eYs(a^F@Je|rQZ5`3)4zEeB%i~ ze7{BsQr{aqO$sr^T8lQw^wW&6Y&-(;r#3r6y)~QCl;NoMBx4NCfx_=ut-^Gd=$Yro zO@tjpy923xGGuFP`WrD+5rTJg605Z+NX$2=K9&m04R8UYUR{+4o+=|^DQgR1l#zFSl zPQh9>%ig{ENCf89QkYDu%hJSjW(%KBKtOhf;a>aU^QAE5&9~OUh-E>o{P5g4xe(_| zDiS}I-{-@YzKG{}nj=SQLz>}gH8B#iCHf?@*&imt`BGpg3X?SW6>@lS;h-}Am zUF*ri{@ztPnLMlmpY;d9o4#+tQ`Gq0sLs>@!6MEOcI2nz%=D-QxfpE&{6pV+o(i6= zOA)yDz=?iMC@z-~{bvwL!aYUMo=|J5cruus#FlfrQm!^kT#Pc*F!D|pq%vy|l@S26 zxej2u_k18J&lAD1s;o)(m@bM!14g@1yxqnZ>|m(btCp#kwYf(9`09ISKAkK$|ptk%WVU1yFX+v&-1eOt=@|zYuO}J zu0iG9ZL5$00(n9V;iNPab5+Uw0A436z5!+X8?Ma2LaCOlB+suJMb`^7MnvlV? zM-|a-x%6lT0lu4rA?_e>2u&`qmfhR^d(r?I_XK#Ik;%}Ett+&Hx8iPkw=c~S!{zMp zO2Y5Eq7$}kI+e7YQ?i75_GO6&_+$ve%Y z^cmafnEJXBlnv9|FBBOkwSm0^!+p6Pu+2I*Sg7Ymf_6_5HNH5+ZW5+bb#)E*&CVe{1YRg`2R4BpyTPhup03_ihlto>$5J6t9wqanELsC0zodhHUvsdyv(@a|l1+5*3Wn6uco*kweyvl1 zIM4v^j=dH#$R!RJ|I;SP=BU)pUVD-v-xa)X=sJ9Q1X{g_l6MAk2VH~h(v;en{+@EU z9(NYPN%3Hg5n@~_lB@>8eMtR}k?-7%?rNU`c&)M4RDTsoBQ1WqtMol5Kp@}WKwe6) z>~9;qpFF(?TOP_fcZ4Ca^>_~!_7AiJ2*s1RMu7`Vu(lM-&q!PWYXBkzD zugRTrXBTs;7j@kN-fVH3>&)xgyxiJ-YMMLZuF`1Fz@W^c78ktD+&dEWwoX(`vG^pr zr?@ciBpUv^>AH!Vsjb18EplG^&mT+XZ!7`k++JuPL2n}djLcHft*v;<%VNPRorcSe zT-WLTiWA8%J-k8n+Ua_-QA8%^Z`r7?`>j=k(ttSHXV}U(`uW5=2RV~gG?LuU@CI=KWXYA)wdy^48wh&9@}m@ z0-`PlYU)XP1UK|la0J#SeniFa*MU#eUk6c*oMJ_h^^lIw0An#Uok5dQVYj(i#;Y-n*Bn< zef7c2dsj^39@~`PCxTd=$CApvJ{hjPp3~&o=C+SiaR*y!RRyBSWd(KxRVQ@2hFwzt zmkV%14j@ar9!OlSfP*?Ywony^0L5|z%DN$I*Bk(s3jcx0 z7^7T?SPJ_LK>W^RGL!4N#7OY~zf70EZmv&I1APCmI0Y}6e^8L1Q5xTj)k@TB?f`SO zqjl>E*j|vfU*Tgc#uY2;n>ZO45`Gzayvb(rxYoEC0GG-*_J^eP&q4nm)bK{qKMCCbIkw{e&0PN{Grgok zA$Y9}KK4^KSt3(>aPz-`ztu9p`Ttwae~`%k=PLehUodDq+7|zl7|cT8m$5Nn3i-hW zhMh0|xi_u;fNv6>@Yta+%5dOBpaWw3N@8VD#erdAiPGT2(}TvedH(jb5McVirL3Hi zUc7zb=j?Y;8W_lN)qi*mO`~;3=7ulNMnD)TbU|<$`2Dhn8zjD0D1Ew_B(Q;@`f&N1 z&<^vweXM^d1??M=&L(&T{4Bd%&l9z<+H~F0)tMWA1TNh84T+wBc(+56v_SY)je@f<10^=@#h!vZxCSdO$+&~!V)|vkcOiQ5tn@RiKPm+%E)@c!mOksyiVF@kdA^UU= zwVm_9u`$!TGs<_x%CMxQdFepnOTayp0Ek9H)J++F@-&K=Si$}edSU0IvY-Sv=FjVr z=E3zUYfYZ>*WVw&I9CUBl7ZDcaC^Z+;zRoXpfhOw2W#G5{2y+`A8bP}+5dnEA*cN1 z&j0yZNa%lE@V}nY|J2YxNCHDSgz~nkYaE*{`oj|w6EiOxwzdr4*d6zH_Qth+mW(3_ zeNh8H-N`Zifxplr{Ug|X12ZxL@9#-zN4SoU9UQNQ#>V(J*Wr5Jbxu!f2mi&x_&Js2 zf(P>8`o`hm*E$RTg;N)}p2AsqQpC--k9$e|Ko#&0<>4ZKSk z+mJ+HsnSb5NlLWtrdavu8sx|aettrqX92c2$pJ>GZ#V*C-hr`DAu!;_m4g1Kd0Qy# z3@qv|pY*Wrm9M^QfF!7aS_*7OkVT&_`H5cSh?Z5+QJ5NnJjUQ3SM_=X3&g;<8>zom z65rPK0yQD)8nZPLKa92yN?^nMbl56rb{Cvi9=FoNE2z4jtKSgofSJ_68H-i~-^MBEAuT}Be zzr+}j<2t&Q*S~iAM1g0Q|NSSJ%U{#D!a}c5Z$11tdA;W4;Lf$T{#TgND+WIl`-g=! zvj0C#-2d(Q6Fh|e9RH{W4(e)`4unwfC!MnsFCrn%A(-mwv_3_EKqwcZ(PdxxcWUm( zX^(oobU6nng*&!>$#^Gj)K=!$(>foigP_VHbbpDq)kiVHUw<7Q2PFs@6v0 zbJn4;;muM_z1@T)#cTc!22dQK!(FV*%GIt+rZEO>AiwTG-$qdb_R^E2 z(uLFr;}Qw5M(g%LW!PlyT#|yq2OZZi6Wmmm5V~W;SWr`nv*vbmu#5^6Zbw>Y8(?)j z@?{*h{nTW%qLodbqoK7bEOXkXS$s-2;h}>&Zq18_6_9Ob5i4~}3RPmGm z?~YNw!FO$O_TI1T){MYoVQ6?oMQd@XEMUF5tnut(ps01|YiJ1$A*^|+lS_rhkpIb1 zZO7;3vqbSAv4~A6_ z*FMdrzp}yjFD6QhfM;p4z|(o}CBC!XSW*m|C;j_&AQDZ4^9adc!^zAElV83lGks5J z$jkX_hJP&l8%A#9&){L-b~Kxe0iY2seCSQCiu(3knb507b@&!F#Nq0kWFOe>kK6?J zN8-ed1aV70UFYuE>LNFIzo$v4*eu>K912f*!5jhX>MtHo<*Ksap;aB-yte)}rN_`y z!Wm@YZ~fNLXq;Npqp&9CaLj*+ovx5SG6ENl&&)yUCGj5<`WV?Mn{~BC1SmOGG*!}Mo zY5=J9$1l0dAMvwBzK3da#^VKc|1f zb5+;Ruio8{x!;S~J&B&^zb+PO%Lg4U*|G|@%nppaV-$ZlhSzbkMW7o=*mmmg_P6jO=4D zHvjYR5&onRnrgnrb{1U6%hwPe0yc{;nZf>hX5i`tJVLH{!H-BhZ}hR}Q*@q!#Mt&LSD$Bh1j|3o zGkIT6{e#tJIn<{|WU@uRvr0Z|oYiF7k~TyAWg;U@kr1|rz$B(>o<&rKtvY6?l@HjjrIv~eO$eJ?!X9UHSn{gFM7j@ zGmUl0l5;Uw^2`4fP^T$6JzuY3UP5eh8mgRxKlF%(;GMB*8dba`L_J{KHoqJyuOq14 z2i1OGM7I|@=M+1;xcD}Vx90Zj{yJP~cRxc~TMwFPyrIoX6BC#(F;hoBdDUmNP8R8Y z6^n<7X`BCzkgFY2&M{v`PCbyIQPv{AKK~AHreah6RmN)wDxar4b!LS+Xa?bDb6xfV z$d~bEQH)tPZJ3vi27)~x{racqu!o9`Z0EJDND2lK$GZ$)!{UW^&*s0H7_8Z8O%<(( z`1G~Sw3lHaew*PrDKzeonw)Wu7A|Jd^M*_^1EL3|E!AJHj!R!?0xlACjOFM6-(x}3 z{TCJIw{liW#NS=8*4*t+w0R@UOckMAN_-n*!)c!`Oo>^5M2=AW<;`jA5HI6efvumD zOJxSi7FV50R8&rk9qbmph{wK!T-!tp90v3(EJ}G?D!)olzX$MJ%#?}$%=D&x@gO0? z*l;l@Osu&v%<_4ablJmEDtCdDKJtk7wxht^Z=dK-DrwwKYQSEtoSM8TsCe_+*L`7V zaiBd(3M@ijdgm#FH)-i>biOARc~@X(4T`^7qpF>)uxv+BYERcrM}k(R5|upch7ybL8P<(|QN}{#Wtw z7brB*D*YRedb-D;|Bb!(42r60!v--RiiAfI5D*Z_S;CNmf`H_lnE@m-B*_d(KtVu) zM9Gq22m=f`E0S{<(hwxW3>k(z@D0!Vz2DaEkFBk(t=ihEJwK*S^>m%?(|vciuj@K} zXP|AC($YxGB{$~^sTzFsD(w4t{jOH;L@Z)IYkH_POK{JKhQzF(##{T}JecMGI{)NX z(%SfRr8PS;^XzL_6MnM)oWYDk)-@aNl^3I7{fa(Z3d2bm2XPS(9GvY#<@ZxvqQFEY zE1;ood}$er(!U;?mNU=u@9&f5drFcL#*tRo{n~Jt`L0kCLs!s1py3+(1t!_Px^^H! zd*?G~G!@V0)#WS71MCoa>Ffc2JRM;n^kZom`R!gyKaG+F!U4QvgYTB37Nq^*^Ljr5Ld^srLQU1S%46EMTjrp>e>&?(LBkXN-T0=u9Ss&AfE?1^lA4!yH{JV{=f;nn z{b-F1r)i}Bq>+M@-2w@ob;HkgDw|uqrQ1|*LY{D!GxWHOY@#+&o?i*(*0E}6-B8m7 zxQeinK%w2A2tax3tc)`+(%wbwKa%iq%n;$vjRryVPB|wEe>%vC@gmnjlobhLzR8UW!&xLe! zvf9$(u?oj~!}}8i%8HT&3%GYM-;qsW95P(T#D8^8>9zgyy&yTGG06E zFMmPzPl@|v&dnF5o@=`65l@B>R(F;r_SuMw4nOEuZNE{yn5>lTUB``-()HMV0q52e z+RK3pBA;dQ-7Q*q=6kON!mlvQpeuLw$i={n$-%`BZ**x|Gw3ZH&Zt44V}dL-8kPQ! zw3R~s?W?9aE)R&!ug=~ofF16Wnje1!R@?gt=zBcu=)PlpLK5JEeIgY({j1cOl5acZ z7i%qNKT~(hV|A5lN=Z`Tq~M;IANxHzCstN}y)aG90nXiHr#SjGU`-xm+WIBS+W9Z^ zfL6Wd#ZHa?Tv|%31J1V*L+sh8_Z+BL12K})(A+d4oG(WigovaptND+ItwT_sv&b@j7jg)&cR@4clMGd(#?U(9` z$jB|;sKDW1L6Sq-F*URP<%P!kl`@b}j{><*#M>TQd_~yGp92qbz>7mVLMr?@C$X+$ z@d{B;^N9n=-6FweJ3-XPa=X8wi8bGR0`tu>$|TmM0LmN&2law%GDM2Gy~KKyEs{LSttdp!0ItJJ%tgn5G?ql}MkUSyS0 zkH+`AzMecM@y1bZ9QI4*6LqJvV>JsI=Vjv2m29nvk4r) zzl=3{5IcOY+@7IQ?2UanbUdIdV9pFCP59IiwW_Oq<~mq>c^XUX!V(*+bJt@yfGaJ$ z#L%na{+u{}QD6%kq>@&No=!#m*>_N%I$@nc$h)AUKhFwRI1gLDdJJQn#-3ed_?1p8 z-D}dm#s%Pl5ehwJ9~hSQeTYM$T&e!W1(GQlzdHGg9iDetz2m-&-vnc4>ilT&>&F|t z=!5&8h&=z*;j^70+kA16?2suP-kp3ER^acnKAEO43WXw>=Y(j4((e5DVeK;(a#XYM z=I#|yMY?64mDv-eBjm#BQYq`%{xHJtXbf|u)g&(K+?<7m&V(@Ap%@H^3eakS4xWGUB5U3NFzVAN=}8`0ico z>-R4ixyj)oA%Aqp9BPV;k-6W#_-6W+MUcIJ&-ZJ;u z=Z6AgY!xDI`yOmb@5oBy-Y5A{`mD>%a%j)Mx6>E~WGi3r|9S{ju%(I`RZ)J0xNH1| z7@EPNE^s&aK)9VljhVaq^QSgrse3p#Sah5`76-*yb^cV^cTDLO}u`mYv1e)6=wS;;<8 z!}SoWyNlVpnRcHw6%8{KC^$gQTKS3F5pxQ+{RWesy!!bH>yG}1Guh$ibe(hyGEp*6 zbE)>c^gYggd;?|F(=488nwW_BwzTBLOQkcIy&hyN>&JuNFSNSjxxMDov(PZvC)O;b z@ObyafiPE=qeAn`qj#NaAIz6jW(HdYhKc!mC0<$`kY4L zp@f;M%S^?0KavY(5)%@R3Z%xvA5F_RE$s}`<@GjzuymkIb1yUDzQ6@hY^wk%fj?pS zElm6DUt%hmwxf{7U+mo6jn3>>nD&eTUg9i~*hf(AAy=UmtyoMzQm?7XQu)bsY-JL! z^i5)(>mu0QGN3T>4~MT{6vj&`mP*+qn2dToI++ja zt-ro;%aLDBhvPiz-1}`q_w2NbOZ7M4R=rQPb_O>QxhGq^?%z1hE}om^$0wL*MAPml zn0=yoz+%_S{-e;)W-MEf%i)Xw|HDy{($6~Lfp^Pf{o*TQq7!|RU*DM0{P_5%D_Q4f zm5&1!Wfky^=ND2M&v(+)?__=I9c`NuXU5w2O@HQH0t_rLS-+d4(26@y;)RnA2~j&b z4yc$E`~4B3OIxcjV&KknV;&xZ%yPNu!5rPFYa(4l)fdEk5D1cf@`+(EBt#)6*a*y24Al zyfxsTw?dK2Sn+Un0knw3)1E#Sfy-Aaa*kdJQdn;BkZpnE%bk4suiFD$9AcjeT{a~2 z{)qFvP_>=OJG28W$-5+1ezV$W~kYwKV@n!8l{d#F6K$?R#{-n`9 zP;VBP|8gu^GrtE*l=sXziMW(EGw^V{KW!AtVw z(t90yyq3s7r;W@<7CxJqm40HPxe;n;CmZ+e4`a3!5|rLaxf$+$BjJXcbWFN?NC6p{BxY9{p#;My>)|n z;pe~p7C4#xAEaXMd8G6@uBNR9&Rj_jSjdYKf#~yaVCVJT3*n7ZmWe@F2<9U? zc`ful{w&`B)5)%)6a_VTC;Sl3UdmI^-p4Gw_nR14t#wi%jhznTRYbOv!dkkP-5(oc zIH@M{m9{Fur@R^9p>O6h+j2~Fc7;x54fZ<5%{>S|WS zB)nSnw3eu?Q8cl~dVYiK{0bKG?8W@mt2iMwn?7f8@faXT_%w8GC_PaK2P@bX`=v`OZi(bEMu1-woAt8-ycHHO1WI6d7%S^#}| zZh3Q!|JH-%pZBjuM|)RkTB~WL5-zNU&^jre9STny{isL#v(|R!O*Ok=pI2o)>cJ@V zXML%*H2V^NW__<8zl=+8!GcFi3_-m2PfJBg_fNfVCcCEj_R&(IQUb4j&3D}B$q#&&YM0-w-C$;qeY1)2*Y+vfFzx}W*z*g0syURw`0OJjKV76;>Fucg; zw&)&k{we{&09x(bVc;46qX}l~5IawJK(5E(>-i$D=Puz%g`+x&-jBscckVRT0>TkY7cTTzr zv_E8cCt99iR$9ZRKK@;lu0&yJ8rBL~KI4n_e4Ukdhw#b2q1?@MA;XZgb?5fBNO+hE zss}cw6Prr5JHnyb;(`xjn&0J+vS_~{9-BR03!)(C*XLAu>gmLQu)AZpJzJX`#{h^? z+uWVp_so1j**U()ZP_op(%|U%&;yKbHmuCFZpMFp_GI4jC0P?BD6uoN7`g8~4!c}b| z-#BIFX2|Q}<&HdG@2{^1uKdEca_hS8f!A>{FqKkBbr!$)7S3Au=lA-2Fq*z8W>Uc^ z5FoQT38NM8gfRsC(w?id=ZR7AiN6jIvM2Em>L!usLAUKKC+o|@U$T7@dz<;J;2l|f zLew~%6X4s{@wdIB?NL^Z3&IIiER>Y!u$UC9pkN3 zfPd}h+pM6^Vt2RZn(ig`VWsY!cI7r4&EBalT2cS_o9E;Y<%*Y_$duaEH=EGVBy>L_ zx7Pp!xeyWyz0inj%)(Y~)#LkGtebpF`5k3{?0*H^r5}lV=}U2-dHJ5>paZGt;(kA7 zX*}u@6p(3NCbQ4=m6by*NdgA-enuadmYhL7Uv8tJ?acqd^GSxuH?K0G&!#s|_nHCU z)vm+p<{lOxqfP~?Ey$n^`DC;W$?kPx)l^rnVa-B8wV<%3GkFilx8{gY-R6h3Vxdof zxU+GRD{Qvzet49x0JFBbHnOqevFW{#kU$b~`L+t>@~b*uf9+MDdppbmDAw`&dhar~ z_i(2NqaIZVM;0fm+yP$4)GY*Lf_(*liTm;*YaLi;G?P7L>6Z|v3m?2&R`zhT=I)5F z_sw8oeSxoAFm1|@->6h|fgxfQllO_3z|LSK6-P_%m@seInT9@jsp`rnlUkTsP1#;8U=;X#3 z{uzB6RcqE5o%Xv)eO`8Pz2=}tsy$OuGY@G$UT~A4;*Bx9AfWSFO+pCm0JgB3$<0T9 zGCm8#qHI81zKo}_mJi1BkeIonX#+8D`hYM6M)}s)QOSFasX_p*r(TX`#wt?Rsuyn9 zKR5g9{=fr$6prG(wD@>}4EK!hhn|h*=zog%_%^ZP=x9{s2bKDK+D$)! zFyK#lP7l6b^SWr4#Hl!bS*F=+-lz^j7wwbi{xVCtE!yJGJs}zDqIybWor$bc(;KQ> z1(@!E98O8~FIS7(;p49VYf2W;TkXyhcC>4D@4WOu_dN8oiG))I$ZT?sQs*J=A5qr- z7erN87E}-N=s9#4a1?b>QTzRuc|qA9aICNLtv2b^jX@3d8~Ix?&-Vx=b*?;n)h{@{ zfBE88AkZVN_x@hbARB|HS9t`(D=jrSe3qsuYYo7=8XQ;tUw&JL`uPOdsp4YlPj1}~ z&JmiCyGr^Rq!{xAMTjc}JzkfAU|O}|2eI_G#vVzbY2bI1^`CYI-=ESGibRRN&r2%OQRLjlCNZt$A5^MhoF6x;U z@%D)|Y}9$8j)VPhfsgUbe1vrNaq5RxuHm+>zPFZgd;Nb|5Op4SvMVkT0dZV8lWf{z zV32(C{%-au$uzD(9ITWDocGY&O2u%SY^a z$@4xpFLmC^yvIx4+h}a&naRk=@Ua#;Ut6#VxQBOp{f&Lt`tQyEfA@d0HPYGc;NiWQ z;WBMKNRR36WbPAGRUFHfRonoUt7W+8mQlZFz-8cg_=^&kjmpwy1J%pAn3NaKFx9{X zYF3M+gkAQpgqm-r*zAsuWc#zR;IiQ}oZZF4W4q_&H5Gs3{9Ha|a=zJmy3tTF3O`Wnj#lrlv*%s3NOBN41JY4a_0f=t=`~XqMezo zCw@J^x(~HlDs@WG&pMr$gC`=ZQQySm^<|TJEq~UM*|7M( z9da_OKLXpJ(0hTCsTtvYHED56Ot9D_)UqcYI!aDDi&b|m!m`|3|7&OsqtAUbU>!|Mm24~}VeV>$R@8H#MM^xX0*Iy8@t-Xjl&vFp4^r}CU)EZ0|Nun$A~&)qK#6h@@Gg4 z_6@12sVZx^{eZNH!cD*uF}JiysYMzKxT^~UsVY-2Tu>Cfq_jU#cdJGX&nv0)YklvO zO}r;dK3dVzNK~&nkJ3qEJdIEJ(w*RV8kdah+{yQGXj%`H)OFK$Mr7xTR*Cxb)hRgw zB3_h=hhlVoAj6p-C)BSi`vbs1LftHE@R8UwuL|gtU2eH7-Nc|OHfE~MyF{wx^v_CXd+j|~1(CAmRu4|TE zZ!%zg6XB3=*mtDWhf*sh@IvR&^kG)?R1MNY1gVj4KY#o;jklcCvnyyTS z0^qvS_?dM}<1nt%T`)PgN$FF6pUzN$+-!nHvZZd%r;itH<1)O8u8(PcveLC`UQ;NZ z@OQ1TIf;ktf8W4#I)iIY--jML7Hoep6r*mFrJ)EY>*T{HFaJikzs z6uEL5oU>`FPcGmdC&;BAQGn~)?u~x%IXmwk@6oiMv*ymK(|WXyYoqGZux`v*$qgdM zks#3mlh_th62ZSh4iAVcy1xvZ6tg~`TVQJsq=IrEwYzT!yhn{0Y592oyjcl2i*p@pDUie zDO;r+=A+GtSu8iDM@@0L~WxDDIB z@5t75^F^q?OLH4i&V~ljhgteJ}hW#vmVyj>3`U|!sePm_o{%CQA3Kc}<8q;JLRhv!8?{K}gB5qRjI)TBILYb&s56W_D@1b-? zPIkt(!?mjgx)T&S2msfEzPhKYR>^t|mvTjRrw;)w91(Wko#THs!h2_8C^>mNV+d7Q z0lOnWh7F|vAQ-w*akJ8mTcYYMZ>L-nwF2Nt{8U>C|BleikcU;`PW9ss73~6Ge)`Y$ z0?8w5Ten(Z67(JbRX#2Qd)z9hI{LU^3yI%f&B&vBKB+_q9hLd+FK_=o=0Raux6XQS zw@3G9K$WMDvFW^Ko^xS9IWv-kjeA&?wrgnYXsX-pu!YoC&)#uf^kZ_%dP>{oqHR@FL{Vlqn% z;Tv}ICkC{=1IhWWKTvheZ|5&b^^zL{_(@a{xuk(PlAUqSVDt*6h4jpdJob{1a?sw+ zr7%^Fs%H}uRh1al|JPvLJsT0xUPwxC>y@;Py_!nUs*ZjLUBglJNXfH8kmt7~KWSCB zBNDTiGmX97d;cp)G>?Gt5~*QDluJr}uk{d&g5xc3AIyr?LDWp6>6sSC zQQ-AXyB%Ir@O1A!q#m+jyjVHHu1+XJHh$0bjdk)Ba^RWX^K6j%&Es<8NtA_Cj@xy zh|t?5vcG*GVyslr8GVVU>|?8@-#e??nG%kXL!~`#uJvBD#G2mlu9?CLL!~bgAXA4T zfi4!vk{a-eWxOt+aUri@H-D~uS@vROCk$XNm*b!oKv*(m5>VSQO9MApl!HyAX28&8 z-Ax>SONDFcujQPh4Po{68HjRa)lPaMowgGx{%87CD-E-JJ5T(ZwCyQofIt~9_QIVv zh$Z9gdj;>lr^#iiZX25;9v#mhnLe99u#iTPNAU^W5147)98|$b_c-cqL^XJjBY%ci z6hK!5dXk^@vQ5M;=vs0Yz#Yw-fPhEHFhcu!lr-knvjC1qGTd!j+${%Yd46h(K}Ro| zW*3@x3`|R$KT``SX^*u&XU-BzOkW}|zlciZU=9c)vHo#bYGk?;FysoQ^7hLV@6gso z32DnFV`n|su&~RI-q})+16?d#GOMT$CtG!rJqIwnQu%m%H%iGRtytfeKv`kk_BWdB zneIzNlNOzsZs2)JShZUxWyC_gV(*^HB&`Q9##!5LI62s0&}Ze5f8*{~2em|9=F)QL z?07pZkDL>|2s zV_|%DabbjYFxAdPzis?Ct@f9uDRz(c`~HU-O#)B^ zr4Zwlw%MGyzq^pt1{*}3la(P;iqB>B*$Ur<*^-iK%6?Sp&86BGBb9uZpD|3;6h^f1 z5aV~ODml@TBtfKT-5Qr0Fhx?gYroCWTT`-2r7cSrGhcx9#ZK%FO&!1K7$fnKKzNS4 zMt}t5_yW~NHd#GUlj3{2H?>QF4YE1Rem_G&H@OQYo*HhZblG{=r{F)a3-*7}CVZ^l zQ%e0W$E=d&5Hv#H1MQ9ym!JEecA<^ZH=z&eTJtMA#Gw)BgOG$;kJJTfX*uJ-0HC(9 zUkNMHCu4Hnz12b=6O1XF*nQM8Zr#@Evn`~G^qp;oFG*70T)UJ7w$*{IB-Lvkv=r76 z+|PihgB^+e0;(>`=?WQOJR&~S8FMiQu+7sDIq2N-Tgl7g_caeiKwxC$^D?6h=!IlR z42-h~7CP6gJcx=JX%~8O=o+_eD2_Q2&jt8k)v#xSA25O0G0nui57`FK<4Vf1q7a2> zE!_qLBjlu5d}3nn%$M>7sN8O)+wLT~7vd~WY@S?(9n0GM~M}S}6$+|00opn|&5)YVEAwx|FMSDqXUR04is`UIn>T&{5Bt z@K}dV4jbb{mQLEX2V2=qd-h(}{p`f7h}Jbl%wus*!iqh_991COU{Q8jS8HhiZhOl_ zwfh8h((@ccSY7n;L>RY5Bs)~%JVxmR>qhAHe%-NmOx%ca9FZ_SfaYg8Mxt-cpkbm# z9oBLZTVAqUx-EGmh{-nwEN5316VJ6 z%_bR{T(f?cl-)|{-g|(ee{RtCHobToFpe3|yz5izBeSwA`UIjF7k`yHUs4!Wmk^nf zqZ=vA)+X4!8}T}^1(IsL)0@1ssGu(4wb+ZRROx~TqSz}hSS|A%$lmui;h?LL_Vr?Uzo5E=O=6Av4ydZzd7?H~h{~yqd}j8tv>(GoXuqIm zK1oKCU;JM!z~C%RlP({=EV=t^v(}_o8RBg3kR=zIDpYoz9NU#yZA7yi!OUutUz!5l zLSHv#DR9L(C@LxOB+dJj3DI#Rnao1HVp7Q^K2`PaZxyxW??4-S#1Fu|s0u0a-FR?qCZFED+T#^iHb z)-~)qe>_gOI-N~R%9=>on7dg>7cE@BGx(~d@;_D4?0l4tKHz*`uLaz&4hIa^$xVCbAEW@7%J zzXJL1f;qNbzYq=u*-szwwaj7Fb~10ATcmwjmy=qHPf>!Cmvx`B^b8{hXH;xh#Q z)~=b>ih~* zjE8*JduCeVhJIwCByMeRJi%Q=-_uaHMc$j8XQ_tM?UG3K!mLWKYa`QBHk_=x)}XU? zY=Hw&zMA)rJS~pfydmI6!_`%mG^x5z<3AAGE*Ef%g|r7fr&}U?TwyP(1@+uhN@!7> zmUG`u-yrpbTk>BYrZ>(z#RKD*SJkk-hZgoOK~EG9x>ovWCi}ezI^(&dpk6Ee5O!(J z+=8p(AIy=@0*@pK#TCqfC7xqF$snzZ5Ow>vsHfaB7vE;(8xzMp?{ii+hJBkijEGst z<`R%e5wRBIp(_Y`XYs#=^yfEk@ zh%QHOl9+6J1Dp_YnGtnj*IuT6i5*q`O z)6Ah}=-~^-QBZ0~37)hKRTcYzhM(wwfW9V%yEEX7ZZU@Ok>Uk%t6{*s?8iakhocM~ zbS){StLTos(Y$`S+R)+tX?)?@htuv@(>I@pQu@@tX+wKssPOQv6>ni37d9vRg}OGG z45As5fZT9XN6iz_YYk!ehiCEb66A0_=W_X0ij)T9YCD^2LuCr^O)9xk1(jj|V#>1nb_hx$+jOnpCRqCk%3cnW-<{QdMw4cur7a9_ z7=2eBsv6$E!NyV7T$|sF_FXz^dnfGGk z0tRP`LgN{byFNzsb+PmUcz9PKx4_+Bvvl-AF~Q~MKE?A0?DZo_?5@61o3!q^P*a2( z38yteu;qNhA98_EuVGY=Q&z@o0gZ>&&9T>QF*WSiKlIn0w2`T$iqbpZ2bW<38<%h*TlH8{o(NYH>mecE?Mv)Qgp@KJkNCWo6>};>x+i{3z`%+diml zpL9w9IfqX_kt!Bo#7Z;Cb%(Hcogp%%j5{)kqlU>)Ad=7{J8hTz9adqbD==rVZd)4? z1hm!+J%L@kb5=1dHZdfBF{A5|&Xf`cxXI`iJSb$I^=DGZ zylPs=r_(LvC%wr#UChkRpehWe6*&E*7jRIS#AIs8JIy>%S1LQ%P7_+9{8P8~%=vgo ze39*<8e3u0Y1_M@T_e`A8eMR$M|EPk6Rs*s4y9nR$E+3`r8z5EN4u)E$!*}DbU*cs z4}Evh%N9L)>fBnscw&`7Xu6X!3*VPcZIF@`48hGM81rZxxb-4xsZ1|dYD~K!W-FwV zpeAsX0AfB$z)vL0%Dcv2dg!>z0Pjhd%h0);O!gQaQV_K2SBYx!t$c+F?dOyR@l}TR z@y+YFwMRl;R=J9XicsjHPa`s;eO2}b=JT_u_k;TqEbDdjrxdcZ_kO}#EvgIcu8*d`zeE?2hC7+5 zg~?66H;(gn8(WK};DpD^g`5dbu`N=N6JJ#c>~vqOn+vdEI)b^OXWzEOH!Dy@kvAYu z70kNX`(&J4E4Q&Zu{f_@wvX+#4l}RTl=Sq~tMzgYus`oob@{|w(rffv+JJLyxiUZX z+$mK}#JXV~q68g@l&3Kag9k`2jd9WTX?thUonkG3Z7>lM&IplbCjPqV2Cbdxl05mUa9rJRd+!}5t>t zol@rr6*}gDLo^|d>Dl2~*gR>n6Fbw|S2BUxYQ$<+6aYu3AD|L@};kE$&nP#TOo1)Nz^ zi$SbYC`EbXSoS^fMASC-&Hf2$v>@4Oo06e~NH^L~%~=witKOPgQsl^)hyns@jOWTI zo!WrhgzMmCf-Jk8=B(!eoklEQvoUxTX$l=39v1{3*zc%K=No{T&vhKjc_f>l z`Zu_*b8v9cm-od`0$F%{CIJmh1CdL zAJ_mo%o3*X5o%Nvo>(Qd!r|6G1?wlC;2?{iyI;d0$Qw6ovyi+UekZdVUt$tN2P*s1 zg`|7`UnxSy(_3U*>C3;K>#u#?5SlEF5E^zI)`jQN;Bre3++Hu9-qHa7&)l);cN(Vj z3DBA;3`o%S^GFQGdoo`O$ul}{A(Hrtdc$1JZ{+HD~FnCQ1F2G?1UAdM`?^p zhQE4|>-rIAy2wQewg!SRsMGp@Vg7SG9Hk?0ySjZk)U1$&cgKwEUoK2d2D;-}=pRBK zK~6FQARj?-+Z!eY8U(eaQ%l=|a?anh9{Au!Tf1&=IF2*>bZEBTY2T4*YgIpS6}A@+ z>_sNoftHzi;rC@ z-1E)KVQ>dm%wz3&y%vD&v_?(&GQ?F>08QEAjr68%SPO)}&~N<(Fps%sC<;}YnyzHi zp#E(Hg3a)>T0d!B97s2k$v9JWF`)x@Iz?TJJ81xtwT&J6r?d0jTBqp2LToHjy65uD z=eo{6^?-XLj>0wi6-S1b84mGGJDHHk3zbABS-Sa!DK87LUWjcY9X&viud_Q$t43jH zIlnEYB8_8!cnCh2DzlW0Va?6 z(co3qaRAqL=?wS4yTJfR#dXuTEU+6}T1hK041cA)^>2F!^)y)CWT*!Ut%*m`o=4aE z5RGsOnCcj_;)sQaRBUByW}8eC8Qk&|CsYlcVz0XV2ZPp7&g?4o*y!XP-%b&z@z$=6 ztJ-$OJkl&H08U&ciBDi&TskW+<}{f47x;j45@PL=eO>%(cJ++yJQdyNadzeQ@|NkM zHm6I;eFVcDPZMPM5u;^A@3m$_H#S6W$_80sVQv#J^qTPC9&gMjsnP51alkfs7LIWv zCfKSfuZR^VQG`b#4fuTvC*fT!62MW>P>Eo4@mpeHE82+3Bz&?OD-89#!1W@vRyVd9 zK#3k19^TA0jZw_bK(s0_;&f0W7m}Qqqp-Bdepa#?z^2x{~%I-;e;!H*SO^TQpk2?VG6S}P1jvFwOleg<)Ixp z$a!qz7u5V}w#28XkVvr{bICE3*WGshZ>?eHwUNBg8ki`ayiZXt$DaCgwThIKf$ zDX`vt(pA&xFu>86Usscp(tbtzW^^0~%_MpjxxBGi7TA)l+uIojkAY4Wv7BzV7@e$9 zkf)7Ng}=a&!H@oB2A{}lm=ZVmB&Qi;Rndv`*BGOjcaQ zX3k`(68G-tkJJF_I`cxI2EnOVJ{YPI9{f8u-60$a=2X*+alb%DY zO*aLWcAhvsEi5_D3)9)CeiG60^9^D*wKO?QNNj=Ik_9}9?!YYc30h5yqrT%n<1SP; zvWf76)M$LJ^!Ng^DR^t2g!&)L@2gPjdwW{EqQ#dLt@h70S!D6Ws@7#&j@M6T+x)5m z8rB{}m0Bcn0T4$^`no%9A=LmWL)|8+;=p<8fc5!L!564-FJJr1K!UB5thnL1?!2ty z-P_(O4@1pg#a(-N>FatVGBvrb=!1Ps03MI)^!5*8nJ59x*iR{dh+c8F+~BWRQah{{|WZr9B}WLlNS;-0!bCdm_NB86CxvJs}Uml z_;okZ^B*&kiHw_TcSLfO+xRT9bF5XzlN^e*(4&y0Uu4-+2Moyy7&M|u_D^wF9-$PS znul+(Taj+9Y@n^(fL+~;V2nK$#YRrmYLBd}nd`@hr11}~T%xyjfQQ5-@qRRpk8$z_t(; zJtMA!qf-wxqB8vvUtz9y@Y>J2-rX|h;BS)32goUV^zJ>S-pbyN(;p_5J(=+Z1HU7v zX;(QfhIcpw%b-*07l!W|I{#&$iM;Re}H z)fL{2;`Ea!^_a*91O3G%+RzYal9N# z;2rV&*~5EypCX@UYT))S<>a1LPFdNC^eU5mXC^blLtoM(bsYqB8Q`DOsFYMW)hwB%((wWEAO3g zD2*-UdiH7o0Wv^X@QS&n?ZyK16u~10y8t5h?20MM3;2b(5GQwKTZP^A$)*maMx5*= z4kaZ&I+R|+ZOd8%c7(7mAT1a32Z7YH4M`H;Ry>rHYLrh@cCP$WJ+B8}BRa;lDUb}E zos|96XPh~D|F})xzLm_aa0HNJc6uY|H218N;tV>fs*WxXpw)#bG0$jiYz`7Ej6p7~ zX8&248~xIPM$LQdNqQB7;YNoZePgwDq^R>OlBD6w=}0R9 zRYg6+GX3s@*HCx;DS3LZ&4d{W)D~UoJ$sUL~QKifo9F-w{mjbHn2K=#oGPDDJM*7;)9_z5%w})zf)Ym&}Wl}D{rwL1pfwvG3 zCpWWh;Gp|qf*+G=0oNh%G4Ir!2<~-b{|0`;!>t0=1uB>^Bbsw$+)%At>JYYlQOB3& z!zaE+{qjbMqBp=GJj`(|K%(!@!!e9-by8YNL5;F7n=rUc&v`KZ$%r8>O+$h!tvr?5 zeb#fK=RYq&SowIf_8h-&KZ;Q2;_1A^1zSmGNZC?S>)n78 z;o5bm*d|l%&Q4Q_dqXmVuotNzk+z&+ir8gEs%Uotwhrc{r*Wy-*ia0& zl!mtWYFmi`H2PUURnr31>!{vez$~p<2Vk34xK_zX2WeoqdNBzSM^ZhFG@xynFX-E z3*~*Q`Y?_^iyY(%cD>6X%naX(bAHPxQs8^im7+OlIHrYE>4%Yp@h#%`1eoqTMWYPI zzWkFx)c8n)iP!v~^m`CRucu4c$$EzOM0x4_;wHSIvZ_}Hq&8%CX`!2lLaaGVCp3Gu z=BP0loXC)014H7L$~;4yw0^_`6)4-Xg{@2V`+AxBbU;_GgXvQ0;V1krNDbFkHaKNF zBhFW792GgGb{w&57641>TCKLL+CAQ-geAmVppmcQOg~`f2+_v}Es`xP;BZU?f&n`9 z2#tfGFGe3%by(9<$n*E4GK;Y`6MxG8EVA16?TII99@eM8jVm7s^}6U;WhupR6z_1$ zk}uhFxUDroR{CoS5sDllRq~6f86L9`Afj1a`in?PALuk_;R4d4rOsoTm#b;)-ZP|t z+t8%bxZTPqxL*e&&I{-+oRAWZ>4GM?Ni{n4Hsw!q>ugOmKcl|X+v>|yQ{2>Qx5x`7 zg)L=I3KQ#=C2Btt-%ymKSOk{IW+YHF$%DPfIbZhx<(Cbya%!p*UT?^_e;gKGU%A)I z^Awf6Vbl#@@Uk58_AFcXuSIw&wt`P6?FWHDqzRsCcZ-# zp02>Ers_1>4mkpFLkcnj&C*g4q)E)&^2i+0{t`9X^Sm9c^-xixlrcTvy|Or>a}#M5 z;QjnREZO~E!b z*CFP@CU*{nR#VI$yTBtQ>GTl0V+u9vDtgei%Qy@=OQxE8KQ-9(ifkF{V?N z;+^JXd{xBKDsGa^+PWavJONcE@G1KN8&K)hs)3ioOfOtUpU#?wi2D`RCBYEg>I;Qs z-&J)Q{>Ijp8Rs&B5NkHQI%4oa4WglQ$P($m_GC|kUeWL6x)?2X6E3WMhc zb}o+k!#t+c5zpu-n3A_ecEZ*5D|?G5aQ&T@_!Orno%h|t@FI5_2ub(e@s+B6(BIN}W?r?66Hzmf1rfjcX2}259CzlrLdM3M@ zpb)WiSDl$oIzmD_Xe}*G|I~*b$?A~C>S7+N{LP+h$=SfouY?ldqAg;ttx+5K66GGd zsYUWG+uoS|1haQI<>D@(wBv+Ug-wukSyXbqJn8&w<+|OyR6pD{sAiIhns850E8}-* zT&HPNIhZA;8arF(Rd>Ri2d&VO^l0=?&pdDY1vReL=i^IrA1Nt>ByC47Q5R5@K{+?f zzL799vttZexe`l?^&)reb^ix@Zy6QW7Oe{s2oT)eLa^Wv+$}(GcXti$8mzG3?(XjH z7Tn$4ox-JyoOAEH@AY`2dvy2f{?qlNYS*s4YRR5^%D29`)~XWVM11YO4D)O#%KBPk zrXko`3?X$#p`oR@9zHrLt^8(&l#GmElCdSBc=kM#P)NjV!ZGWrR{Qy~^1g1u5rLYL zf<^c+Ne$MNO>jO?jjRWRhjD%FO)rkEWhSsU&rJ7JAKI@S98P_)3`wd{wG~!YItBWl znW1Su)_eB|u`D^snqH!i;V)#JF6YF>p68HziXI=LY%Z}_*F~ot7aebm!B(*kF3(F0 z4a?tF8IqBbmP{~dhHxELLxJ!v~1S-;<;Ppl(vPD|EH@>X&9Jc zyFQRQqJJ7OB)`0-`OB7e=+8n$Zm!hh>r<~vArzS6%~xzNS>qCw2$s-Lh1sg@YxHeg zW{YU8zCNoX)-V408%M^WlUPU*6Z6nQ%scDrhwYEGqFQGE4U@W?n9qKB!ZMrAAH@A; z2;m*^fgf_48bnVuBB0!GiNJQ_$dg&v29M@LufD?)qL1!wu1rZ^||gG<=KNJ zi5(C?wxQlV0dg8TQ9y>_aXSZ;W@bRejNrPS8yQv`qDkt@qWo+{!V2IvEj{j8J zeEygf;b>MJ!~_LFRhk-qY0CI^vGeLVuWULwg&#rQ2Vn9P@gLAC@cTQR`2F?&!4W@> z>ysP=m{E*ZF8^3LQ~(H@^L>YpWJNv@%iC!Z27uX2P9b4^{p_Cwih?l0*6ZI%y}Exc zt-^kjK%zr*3XAb37Gxfg|Cf@)bqJ7(Otr>iC?Ov*XXa9 z+$|#*;Zx2m>3r${(^R$7Os}u_p|Grt3F*%;0CHh4M&EHSS*H)gfaXrSN(KrZROjArwRx$I741@DosQ_qxvJ153b z^qW|}P(dWMyWphm5Rmy1)cLy-gGsV~9(RtS~T}*;S8A zNh#23xs{0a^?SiUMU|8**9%+1f&IkcWtP)G1Oy3&-8*$W6F*>v6O%z2GN){hWJS`Ktm%fZMSK=K26{Sx}iHUD38q@%?9`9HV-@521Qrk4NzpZ_o1 zL%VFy0}qBpPfacAyuv8b*VpImT3&cCW5D-(k%CF1YCGo0{diylJe-cw2i-YE&70s`t?+FuI@}hq)w6|BXsq6ryTfp}; z7QRWF&J-dBfT}Fyf9HdO88MsB$S$7Veru~Y8V10^UgZRV&SC_;&*x$K0y!L z+co^3sv`cj7e5S_MKRwj{Sy0ceJW7z_3?8Yt#_0>KT~C(c>R+IV)Qo=B(^5S`poOf zZUEH5|B{T+xf_$LYrgKJPy{3IMYqn!L6zYvfI9`64tu-11W_nwdTo=6wFeaWgR+A9 zp>{z%rV@IOd5vTvDazhPXXcEYI9k+q&`ydsY@A`YJB#Pwb3e`hx*>rKS(VQP!ogx7 z>ldE$V1hI&sBz_(@7+<}Sn?VY)R5FKUF-DL*f_)z`Ss!^cGEja6><3LDX^%a$TVznqhfUsJgWyv=CHbHXvUKHS zykuSTRev>k`QLY{#8A8rD<2CvWn5>ck6;_(2BiPb+P0nVpw8Mb^l=Q0)D0~!OZ7uy z)l=@(fS|Dk+v+%OebrJsr)xQWpqu$he#7JXjD}-dh41-L2&UO{W|g{?(}V&OpR5dh zjv_r1Tm8Kp`N{{Z6oR6ZZ?w0}Y1!DVo0tl|gvPDodOH;n8!IL1BVUw zf=NRvmX^MjJSFj032j;8t83H08Pj&DT428+n%w~wAMK9de@bZOQ!02Vv?N%?p7RyO z3`owOv6NsWC<&KU%>AsrFS zacHqwoC~hV{(;F5n?jzpgu8@QX`X9++TWIqvRA$I{=xb)&>8Q0a6+W3^)Q3|#Yf+_-ZYYYb|4p3IVKJaTR+ zOe6?FB#mk1w8yZC&RdopuWF&e@{<>do8wfST66o@EqQyx=7$pVvbm#$H!FlQRfV&C z7ZZ&~%+Z%4rcn*FJb%fS6~E&W$A%^G8i~BbM#)iwXhN(;yY2Wd{a_vdQms20F^Tk$a!kSLac>bvbyp=oZxv5)Co+~WtNhsX-nmsyoeLD@3 zP-?G>_BF4SHOz>@oyzIbX}Eh^Y&q{tK6{JU9=Er?T|@m6^$~+wr1W!daa1u?-mGvD zVxFSJoIb%8L@*wFN8-sZpXCe=NE}$##6R%S@AE5u zaZN_RNH-O3m|r8lfoaibZeq}b_NGxE2`4f6G038Swj&G#5FDv%@XH{dAf(zl+6jUCnYh`PWQvLm&S0E zJ*DR4;^wAGMkl7$;Sxts$llcm3TP8oLNZhj7|<5M5ezJzTsmR+qX0a?3K>%+fj8u_ za=A!!(R^4=cO)v+g#1r{9nh+_#^B4SA(I*{3XAg)WNcB5B-BanhD7%U2jRXs^b|o~TD?=!Wq>ZhMKS&Z>6w0Fv zw_cw-KYWEkXbj{zz`)bNt%vV+G38@)#dMjo2+v3ZPu$qo^D-#R-mN|_@hKgq>Z+<{ zi_?k;mg4Sxv|cAK-w@3Q7JI!!3s06NKhyEyH~LTZ5;|8LxfCXmYA^I09kiXSa7A9C zJ#Jb9vF6FCZkf$df*#Jw&{Ns}s0oSUCV>N7>Loo>a9Uy*lG!(b-+5AhQ>I2N^`A$% zFF3n>Q2_XBu4}d*a3AL*?54DdVKel!XCv`ikr|SIue`o9Nd4om7r0qgIjA~davou1 zT@MKUDcnkRJotlqSmXN^3_0BigtsM1=sJ|a+SpwA77Pd{)9#B8~`df zaO)$yV%jrJSR^$4mgJ5HdhkP6#9Ty>nj1BF0>!)Ml<>I{02<$QirHET8_XA57IEZ$ z>9416fJs~-dJP3#4vR4!RoVf&mbp`M|CE*fW-HJx_)IlqAo_{e-zE3Q1(`px;B#mp z4z$|CfV5o+uT(^&`3i{NIPH8f8))#FKT+aeT2u0%_iA;;*j2KsFvAE5FZayr`eiwK z{WD;{qP#jv4!W$carAl~GCC9#kFxR9m*SVlyv3AOb*e^(! z1iRxNTNLYMr0O=u%!LJwl5?BKMN{zL zP5`46ice<5l_I&7+h^Wl&3GXPBidv--gy8i$5V;R0Uf!&f}I;CNQp zNSR(4lKV}5&RYa%#;Z2o8AqzH-Vk{wM&~JP<<#W98{x3~a&N8Iqh5M@86v8K&$r^> zgB(+DJA;NaM3TmFK)D12?>Z0<2# zEdFew5&0Gffm6GsWQX6+IQhkN8R|ns_I&F6_X`v6+q-Y*p*F3HGBJ89O-3oXi+MV2 zs=h|+P{2Af!T#RFE&p+hp#C(1yOb0a074{`05QLo!LP`8f9opR* z$ZlcLbzlvEdT`)0J2>yM!EJ6BLI1wHxK2-J(fR=6afFWA{UV;n)iULk^|iVPizkIn z1nwvxR2Yf&rn&kW?Gfl1?gQa|ab-{3%3%0yIY#LOd~NH6*O5V(#Cn}OK7+cud9vmA zp)(6;vBoaS4HiJh0vHo*Slcq9yejLAjoCGCPx?=F(8`jD>}VIyDYcH1ImV(kTU)bi zbj7*WDSaV{s5jc<*PDNMjX-O2VkmJswy&Hw>u4~iK3F*O#J>iWsrU`9;*=8e1Q?UM<#2orRXlI)36A*e(@%Ta(2H}?nhQzd@X<9BhYU{d=2WHg zH~4WDrI5XzN%wSMq8Hkh)vqIqiOC$E7{U z4ao=;Ap*8pX2Vd43cZ7s40c0a-XY-?`Wo3NvQ4P%sRU-`YHHI94ac8^L*Pbz@pQuh z#qnN$di!71FD#XbgG{*C?x)>APe1b3x|H!>v+#z?$z43#shl7fp4@Z!AcS4=6k^L` z5x>lIY<|EJ0<;xIvdvEbsK*MK%S$(HDP}JI3T~aQ;~gUhBTGd@0?jXMDtZ8BuhFb{ zB+Pm9LqsO?K7Lawbf7h3j6|~!>Y*5mj&+5!wESAB{Fx`T6dz;4FMc$uEs%0XvT(MD zg5|Ahk;P3?(kfZK;JSBO2nmM6aKG@E$k`-MD&3syNDW8(4c8ZI-Z0!iIXT%HR58kl zLW`&QcrJ6{fY^4KPI!AJSu{l3FFir}C_iL3M%{G}ZA#{`>0eOBL`9L6ZtyV&Zc)`r z_2kRo(w@)J7r(Nz9PxXm2>FYS>P^8@ues$N*R^$=Mfl`88YH!Eei12AzVT*5zk6z= z9Zg-WRQSxqmZFJ(A1C-FA}v>SdK+y9_dI3X2!+3A3A1!PN^IxQW#-X~o%N^aD$%X& zMXwX$K45B&HQ^#m<4-2)Pr(x8_A@X%R-H_VjN*fDPE}8eC?WRLz7`2%>2RN5x?Jzn zQB}f>LSAehoqqxX16q|8-gUF0*gv}2;=sm?D;x%=2b<}fAz{|?%N`nzaPsGEU51951)Dj@Uw;huS)jl4o6_qWI}N=kAdX=8R`sSB~i_#U}JBi3Fu z^W$0Pjfb(PyH)RZ(c=lFvk&%gEJINIs!sTDw}T}ZG7nQPf%e;PEatN44xIc7a!MGo zVp7uGnLdoRSQ1$0%`c*5rB$p?$9Zh|1(D^x`e(mm(hymA-*0FLd_L7!Bp{ZwII`1*0VT)97pKm!M?P)?R9Q;OEZ1oAlvQ?dQ00 zW3s3m@Q1*~YOdhO3Guu3-p<}!hYq&cAQb*#a-N!x2n1FbRL_I1lD2kE{KQEoBk+pP z47R2MHowTAk?@VrH#G&1tPHk&h7XF{d#@`V3>3@;aX%e`Sg^aT(HYzePMSOUtQIPEcog2Q}l)e=r-K5$(6cpHPI*j znZ2M6&EZ2ZZnYveP}kZjkRz%-0}VafZAd=e6}#PzCp~Nl)7)Jujnm=ov3x3PV9&zS+I)Ri_ch z&z#0HFIVab=b5t=GT-}n_IGbOXvHd6w{dfqb!3Ot{8<)^vXybA92D7!L#Z?3?=yNj z)}Iyj9CkXBAD$lv+@!7VeWRY7nRKtzv`6!(%l^-tu!<% zId3bD?ws6E?B2$QVNvXyGKM4oz1X-z5pT)ed+U0R(tfVgFXa`($@=Z-eehgj{}Aec z+|S;Q(b}7z=0&+r{1lNYtL31GSAtGF;;3xs<<~un$z9dy&n_;(l#pPs-LM zrR4npEH{x8TVoFe29v3NY#pAdvYuG#_)>37p19b&rR%EjD|5lXq~uq;u(|rCP-z$- z|7BOYYp@RzGORn7eX6eGf$$GsFW}S`dvbd+lQPaBlf8K}_g8Y7$X>BVB7$V%#D!<`?G*&hNz>EUs}O zS`8#NxM-&RFa^OetHp|x1SHArq@$v$3QzuaacLOIEgB&z#m zt&$qEAM-AYK~ew8Vl(CQ)XcDxh-mxfLn<>(UPCZ@f zUF=9ieE+&G>qmP@I&X>xj=(EK;v4rSN>*_~6h804TL&9N*MQqIx7yfU4_-%=5t(*d1nhxkq2eTLTKvFd8P|`F$1fex`h+`qp_~;~H}H0XjNhwv zrh_e8Bi(sg6ztg>9`G;&P3*m0(*RkG9}y0(fuf+4pb8TEd`L-oZk(YMJYgc$X( z)Id2LsbVP521xOF4R4knTlchjcwjOmWb_o;=RYW%+9>m%PluV{E$5(T>?8zdRCDBO zx+36wFV7exLNW4D6kzWd)8u!N_gZ8m)8xeJGeSUjH#s5FbhS@0AWU8Aakl zd*N5hLY!CTF*UD{b%JBWIpN-F&n6=^rAjiax!dgoBxBVL{ujH0cksgifrGqX~ z?`Mp_yK&tGiR(heJ~S@7AK{@CEkC;2J_lh!9P5P;t|PXYH5z~0Toz$spo>(;7#(bL z`5gm8e*e&v6VcooJZjOnkjDflEw%8LQ0|Z(! zCPOh0TAT(f?mYCJy+?l4z+E^oL^=(oyxJF_*mYQkDW;kM$4K?3c{dvVIF7iu<6Tp$ z^nsQzE6v4@wilmJX~=ceS4tHlW@QZn?+b_061tq` zTX@-?GG?H+gx!DIhI{Y=#z?x?552s>ve#~pIwPUn9opS`t_CI~JZ&GF3p$O6>DP$M zrY1A$E`;8%IOr@eTZ(3mDkILF2`q=OIR&|%o^c;OL3f}xWEss~5z*}32i0n)j*rF*h9FI{{>8o6D5S_x`P8DHR^%rv;+^>Yze0+!uI1n^Nozr8A$xTRM)a-zoBIkxglBT_!3W+5Y&P^Y}C@v z&38nQytW^HwfAbxpf^&&d|TZYY3l75j)5-}n>F<~edt7ruC(j_} zyhVlDcdI>n_<%NW({wj+oKKuoRL7J)>t{OuBt$;`n07fn+jqN{q`WtK$ZN%m_T-$? z9w;)DM3UO7`YXrVJ^gKiBEJL2-=JyyYq$XX^Ro%>*>arQ+HGvE2#O=I&zBZlW(3dB zO^A$MB{_zY$(Z@{V}1f_QSs<;RE zKKmmh(a~7?8#CliSMQpd!Cw{_BeG20=7~4DYKR+rx+JQ0+2X+EE6TAI#jy(2=LI!zKDTBY?wK3??e}B7F{l~%j_d9ny>HWJ_`1kh+GMM)Nyp*`tKaUV8%)p7U@5-v4g=A7{bEzo^RIW&iY?-308%Mnsm>0|Xco zcwo7azUY7jM?gGQUp<+A7ByqF`%^a%Oo$IgeK$O*_xT-TS0md)mg| z`l)?zXoTY6?uFY;iLT@NJB(_EkOTP%3{2+jBEz)8T!1rTyLy< z7Qe|Rm|C1?Efq*0)3R=L2MZBZGem zPJjZqY<0Md;Cx)zFN;^PWw`gy-j=lMuW|jPVCiAD@a@xf)=Te>+J;&MhnEwqu5U)* z18{=c0E>wazi+AW%Z*c9k#-BN_#Q_#(sMsspp%{DMT5tE?z|Qhl<@a4qTYk`Y)UyA z+v1Z@DX%a4w{HTaRpc_Pchp?cWYiu|2D~p}_K>jgV{7;KNl_WNJ;A5;?CmB@foo5I z%`zUV70X)EWU`FbzTnhkX6skdIC@frItzMSt}>(TZn%?WToLVUr-fL!GT88PBN;%5 z+NjBaYFX{g{|PMG3eW4%2I=g_sVmBNf9oAtZED|PomhSTOIEx8-~vboo)SwiWtk7N zx*UNCacktakN#d2!p4I>OEN?{+CjEl`Bl;nlh*EFNM=0Z?JMzdMkMwgmw8H!`ylyZ1tt@l5}l{UBUF|*&0%Xp@I>E`w^|3cYoj}CWmlQ!YD%$! z(TUu59z#)0JBa_bpU<$>7vGpb&SEGsVl3v7e?2=hWc= z=LYUBh_uV>ntb&;AN4kIOx?WIS?>e`qweDj9^9P2C2K&hr98u&@{E26^Gzg^#9>K$ z!K1j=;s-MjOnvPhl7grT)Hmg^`*7Z1C+e+}F}sb=9Zt`85VSnIobxq4Y!DRt`62EerNoK;eJEj=_OXmp&0_ z28iiGBcMs-0S`{QMo-$f(fs4zi==}sOB$7L>u0-+X;bT(N68oL|#80hIPDE zJbz?_NM7!agRta^^l|Db?2Q?N&~BqN{E#OI&B<0B;A>NVCf0I`Lu&!8fw-I9SWChD z2L&>$)$>}_tNhck$oaSY_1TG%+EnQe6^ze)P>E({C#z18-CRmawz+0M6iS=ACr?}c z(5cAwEE3@VP?=P*5DgXQ{2zf*LJBfWehw00{dvn8EFG00HB3l6eJN0thu zJ3U|Ouu1lw(!s?X7_O>d*Pzl#W8oUJ`1AFv%K~tAYOcz~le^d+3*d1-R5tBCejVSi? zA5Paqc8CLuhODGxsdZP%+mFl_1BNo}!BG^0lj)s@PDwsuwCa%V)mDqb_1-TZtorpF zkgnSF4v7IZ{zTHkN|v&8<(vDi4e2x#%jmV#n&RSJLC19yf>ns0Gm{s~=9Tcx=9*~7 z^r+dJe!@|v>2wOoHPu?sq6E0Lw(v=4+5bY74h)PbII^MQ?KygYX{ZJD+{T z*``AkKtFx-GH)Hlbr^D+feO}K`3of^l~VXAS+#0Ut~wUygT_!rKz60uNX`G%VS0SU&uYIpgKXd9F>^#insrW7BcpSim;AdqV*DtUNczCds2hQ&!a~g=~a!0e{M^a=Dy@aPs?H%6gpL z$&yDpSk05uxm2AKLVTE%V;7c6WGdoyY%8asrQWwF4?)=(F0wRvB0mX@iQWW5k530Xci$<&U_*S^Cx_?QMnoGN@x|;s1 z+DYKut92&+#~u@9eQgMptgYVlyF)HYe3@5a*HPAt3QO@X-+xg@=QZEqAF-34z8>6=|M3-hcgk17JY>j0pWLkFXI)C^zA>Rp zu(%I6MLVlk_HiSz=pihSX))B{cg)`yx+XiQUk2WWN+Z&{mTQAT@pug`FZCJh`xd34 z&A-5i0RlM&lcqr<}eD|>TeW@fZEq{e*MB9mq&=d69s!RPh7j(>pC zzda?NEYwwQw~41;BOn*rDhwj@7vkMd^7kUCATATONt{W`CN2t?P%@1{4#e( zCnQ(!OGJ@Tjv-xZVDGxmnXlbRi0ZftyD9zW(tfkJY}1%i+#za5erUM&0BE$d-7z z_Z<7CPiXorkp+R%v0I2ymqA^=VpzfD*b0A+J+M{K-I+&y$c{IoIcR!u-jAP_FP;ak z-N^muWdw41d%2iLNfN%dG`(wy9iwLH)O1httlJpjV5W*HUmZ5Z>p8wht>5C*@!_7v zn2s+{ZeQ}cU}>`y%#FTSsZOAP++J7oMXzp8k%1lp%`=-Im5*1hH5 z9ro9RoyvvCTn+ciEaEGixd=f;9h+Q<_5x=Vs!AovOn9)vYdn{Q#fO%1avN3C3I597 zuamzB3HMd0=|UZscFR6m%aZ|As@AUtKc8BOwVMpCFys<(2f}Z@Xe8v7?$ckj`IrNb zlu{Y;)5)k9p>u*M%GMtu!>ycQcxT`&buRHF#_9EUBed@otI7EolY8+o(8guc&GkdU z6P1sL1O4=|uV*pC={*8fRFtwq3eX;((dqgN*(n}xluBX(e z^Wv6i-MJ~1!(4yf=tlFshV(p{Fr4JMDi&`A6L63Y^u=i9ZfGNa5A^|_RVU1V)VtHi zr;$w$2h0Qv32+Ul^_x8jv|?Vic&`Fz#-{`Q{+m?*NJ1^)(1Jpww?d44WacAWdH%GQ zwkm&gIu2M*U;JKy+rQ!O^ii3Wn8}UkX&l?evF5uNmFu6oAo0Dk%NxE&5?<{wQ;thb z$)S8zh-)ey>_=k_{4>}3^>?X9H&Jh63SOv1x~H`xU|L)2e;!h@ZJ;8irUdMyqTbBX znh`D_(Gz4gPFnr>NSEvR2Q)4B@LYy4Qgjd)SSIeYg~m@Clf3!R{!=1Mui~)N4s~N`tD!mQyIA(!( zo$R$@<&>U$6&y)N@%PROxP?Y~--B&i-Ccn7G@Zi{kc!~tT+f@LFKo|q?TdX6X1Lam z&#Y893eeU^&Tb*v^tajRz}b&o=;Men_r>DK5?(s}XWRQhVbTNLV_{TM=~-gOg#N5G zUX>w7t)|OOFkIUid6Pe-_0-Ccwv8Wa&gL@~8~J?i;i3#xIk%K~{5OoXT#D^Gc>=Xn zDi#}qk>Ij(DNXW!N;K!D&o77C!PxR8?{6KWT_abZ3e?uqWfXZHk@>NA~i zAEQlVbBzOCP<2wCB)!jS+MV0#PQYCqkH%-zITDPPyV+A*0H$pSh=f4XRbqdNj3W>c zK#OOMF~}$5O>!0ETD8f5Z!%c!d!Cx^xw>C|S63~9=hYISW#&N16LUXKKBGk+q5gKx zp9ZJ?Rjths*n{1Nck{(Pw!=jS!l2-~yG2Z)gg9w6!sGjqz0LPzNq*`S`=>PIG53>{ zn$CZ6lU@UqUk;4m-OYH8gg?F+f3|ay0nkci4@q<|T=$v3MQ}uj^d~pC?jHLk*1x2# z^L=XX0J}n|`9FZZ{?3De+<@HZxF{bKiK9Am+YEXz@N`Cp>4VF6XBKbQ0a$XYp^rYY((F4f$Dz)YFZ@8Kn&G7x(fB z{sWK&X_y-RB9kkE(qdy4RHgSM(D{&{*qzuG$KVB0pKy8Uf!&>Pf$k46rDPv!^x zpNnGAPM@X8Xz}a`k6mix4Yeuen9Dun)KyXYjp?D^?ktJH{>9kxy6qTPWG9hO$`v%2 z@kd0h;ok7@uXi@W26J+AuUBZtw*(Z7qJ7nZ2;j@gWC{U%TmpLCh_9-(i3Fl!k+C8{3*;gzV=zLoYEErP2b-w&5aTXNmXpKBZ;5k@ z31Bm|)<%Cf1lBOFrf;BxV$Uw^x+#T9fAe18$JD9(Y;ytL?_BJE#`_2f|9$Li&>io^ z<-7&SW{o!n^7s}xP5IYa{TDAF*Yt55)`f)D;1*fQqBm#!2`V+!%%^;d^)3fsLx*yF zG(^V4Q%oKDoQn?|ZhpX8lF`qqOt^ zX({w9DgIM!`_nUaGwb^==AWtUXort+->2}exYwof|{8($he_d1HQ%u0`+a`=LcBT7UewY z3%J&)7MOq*udR7UE_Rd@k*FlR0vhZhNdjQ%N?@U{N7wG0|Abax%$X zZkQxEjf;fco*b{ksjSel9PAdv1ZbH=K~Jmas^*l}hx`15pE2%E-U12fJxCD-2|5 z_Lw!Ls^8F&7}M-4+7a$qc_}*8WipT@*9PfG=P8_wXQ+)oFh5_KvtKcpchY zK!>GWDbgH-oNjf=mIEBGLoK+cVq9LD5*K==@z5QZZz7;7dWyvcE6Z&sqE-o^XQV@E*j@A zzLz7e6E@c77MVU9y_SZnFewfVfd7ISru)2QfUkAKG_VwrpT+T&j`-#&6IR(TgJQ20 zO-ehx^O)t_09)1}Iv^&$k_|yK8Nq0#rLE{N6Z$Gx>j@>t_>45iV=Ss6VR3p7Ey+5- z`+OYd&Q9pW@fUHJUriu`-Y)T;CvSus(|T?)jBe1@o!It*L)FKpM+h8_XQiW-Sb%>2 zu-plPM1e>k>{kGZ<+_uPexFZfRtH0~9~U|HAI>IUtp|aHb%Xv)vI^bDnRWJx$4S>- zQf=$g&^++M|2=}}u)snvf=3LU*!Yu&Z{+;@szBIe_^4t35cco#G}ryK@W!v86$R(v za-&V=exopnplQbUqKkMAS7zCBcyr(dTD=)8b@t~mrPVUm%N+I8t`4ZRAAOSPm`=Q^ z%3G^}Mr(J;0Ngg0qzTMKBVqHfrAob}2>30wzAA=mg*=H%CSZyUD5ebSW-ng%Xf9AVTRk=#G_ zoVg@H#70(nAp3c-kHlHpFL^co(xY9SfKXraGDgJhPHr?RWuHh;FSFcL`||GM^#4oL zM0sU8o7(dP@GRFdYkpv`CEs{pGds=}9Sz^;?F+1mY7>8~S1S#o6gUTR6NR5BfY3u# zxjZ2g^Q09QkNz=XOBn^mOV21``nUjXF!FNdBd)~yF-~~fl0}#p<(ypvem2t|Oik6zR?ALLhT6NBx~iOz(ydPHB8KlnII1k^M9ULpxBDpJ zVJYF-z#RSu#1Sf!9hF&^y)2E`sK){GYNfun2d`&+2ORGiIT3}WjPLSi;`9G{E~NEnMJsz zH8jk9dh%>xbziN;6fQ{|qd5#);-GHPEK~Jy%4q_c`>;6Ys~brRU9q#Zl>xH_rWLUQ zQ$c^I0`^op%?-FLjSbv^_#ZUoyf?c4ff#z2>6<5mw05F|#6+8N;g}*utpk(BG}_Fg z^p42NSLvZq9SYc*kHw6xl+)VFT7sKRj}W9OcLrQv{wX1R_x1)-M*dEF61qa!=_A_S z_o_vItN0a$067PnYZ4WgbCuxCI#JD0d&dxv3{%Gm%+2px<(2)hQx$`5;pXA1zU_Iv zOABtQy6g+&`WDPh5TV}jt)RQ7Df_4h`58X!LB2uvnB;Nr2f{<}wW(k>dW;Pj2l z-F@Ob?wZwl>C-WmaMJ^gn*%4JJ_lKZ-pK%B+MexZeIc&}r zyOzE(b31J4ZFpUM@uhZ-5iT2xH|?np{f5yB2(o=A;R(tLxAtGxz>LEV7eG_;eljeZ z$Q0jxf5r6q2)VXW&be~L(l6ode?5uv9Rt`sTI%t%>hMii1$SZf3WC51@%G?HR$=DG z7;)yiPf6(dA6X6t>ez4{sohgOVtF6_AiQl`_v(6ldegA}O+nZ7E8o6)9fYW8}3@wYVS2TK`Na<7W3 zH3{I*PsKN++u=F}(UyS?k*>)>n1E1pLlgNz+oz3Vd2mW9Q@~fJXH3T@g`?8S>c*$7 z4?ubF1Vvd*&x`6dd+4I1B16+m`>V|Ej2*L(7`$*;Q!*UGy`qhq%u$LbtG}oX#=qVF zN^8xx9)Ul0^c`VdI(oczR>J5DHXdPyk-0(_i@o|XX zZWu!~8t^V>;RYWZyAy_Mu>jDxm+?6qjrt z;7O3Qxj7eq1MPGS${D+0rQO;BjH`OI-k%Y%{5Mqc$u!7AnkMm2wJHQ_xby-2xzXHB zMlhupXybL~Z;{c7K_Q5ECMsu&@O?$#(y*pDRiqftKpel29BOIULL8V}^wm?O*oxA#!0afqOMI#pu<9i4aK}rHsWsA*%R?G_5zYPHT;Ci>eO8pBp zt_{SmxmiD#Eayza1}`*)mbMrZW6l(6K`8Y7Sc$sOVAYwY3q*0s{v@?8KAIdispsR( zFExTrg5_McEjjs8>qludy0($joDYfuUOgVdmX+vqxQ8z7%~m3%{wplGBIGH)%*?mN z)vk%-cQldQU_7$3n;egx`sh;x7am>l66f{sWY(l-$rBk?tSVnq?!9OypXVT$t}H2c z3G_XrhDP1U7NzFw?f)rOc;^vCO`5^myEub)H#((a_2VZ6kGdYahEv{J70gXKuyD6f zXqazkbDAx%^uGfycPQWK3_&e1f60w5-{1VXTAJUfpGWXbD$^fnGeT3|2By%+_)%2K zV?#Y0=oE`h1Ehzy59SDR6UcDY#TcE_?+m5eq_Y&iP5$A!AXC5u#Aw?AO~?%K`NUh@ z3>GytfSE;Yf|J2b9xZ3!^Iv{vhgv3a#8h%4)D(|T6y=*8UjEe1tt%lk=&q1VxuuQ* zVT&9rY$2!D`^fQmAN~`<9EL5^;*fC2MnP9NA+RiG{n+$Gae0eZasA5GhSNY-q`9Fl zv~A+PX;B_kv(H5S23mnM`Z$lixi(^bpN1q~Gsn~wI_ar{jI{Wc`S6aAm~htBY2ovc z240XBYy3HqVSL)#hsRyw>8YHiNXNDdzz7LV5@+108ZPG@9rx@=yF*sy8VUt8%0pH4P7c@jo+~|y@eiG!;{&p8~aKQJovI#8cfp$JqlW~)<8+J4xRPoo;I+id<~i^ zA!1yA@5&zAag5o!m|(1WN$y>G@Az;3F;`-49$Yv1o5_Rz)_9|xjr`_H%oKN9jMC(w zEUx`<-Xl~B){0I2&^4E&52}-u7S63s;}lMJ1MuuEVAjwOW(lo_e9pMU$_*XKW?`@J z$BzDtp)z(S`wgx}uEMQtD-6S-+nR!yP^bNJ0b3K{Z0kJVR|?%8aixPYzsW&CcrR0ILGnWU>1%E@zH2Ic4wUBJ z$e=wor%G#mR*P9(y9fJM0He;&&HHX=&;n0n#V(v#<1(B29=MR~$j5J_L?6}soRUcF zDQZ~7`kFU2S|`iFK~wW5T@!4G7h_mli_g2H=H5UYf)&DC9YQ*T?r*$auF!EFJXN%V zpI`M+U7--tqzKZ9Ude&wXZ;n5*{&@B8eaEbxuZD;4b~7s`;rB1e&Hcm+t`F`iDnk# zm3HzntSygQr{)53ZZud5_KfNu<*I-Q4t8`;h)TnsA04>+aAmPa2M@TJbpor~C$@nj zAJ@V>1L^BicOqbTRQFH95>i;m4jFs%cC!{8Gu2DPJ}xKA0-LICxOjpVMX{Lj&sjZ6 z+zm7m`4t^dRhZ#Cn!QGj1#YW{-`OR^XSOpmAocCj_CE`R5B8NU(=)|9RqVENnr!Hj z?`ye7+I(G|CS2AIae`d+Nhb@WbC^%0JrkyWb@$eNkn#v4)o$dU%2TYqR|ESX0WYj^InZpC3d~&yQ4J^IhnVyiCZvQ1&$>_0Xo+N1u;p^Rf1#Q**M>!-mtqgot#!7zLsq zF()g{u54tk-KUYlQr~$8=gXMJBxx>P`0d>^eWaHm44%yX7V<>em}6Rn%zz5Lt;?+W zm+Q2``8+O1{PMeq>vAM2)2s+QY&3k1e1mB1g`a2WP|%-$SKJY!9p13 zbqAxJn~-7P(zH9NxO|oAixdC1me;QjyfRrobo+pJVD*>#-nXB9F)#derFBQ-O~Lc; z>&@gMe{48AW8as;IlC-Gr{?}ns(-uDDX;Ozztyt?-|D(<4PW%QuJ>4kk5A8$3m4WO zU&9!n^Zy7#cfq?m6Q8}k9enZr|7C_h;??i%5I(;*rq?%G>)3*T`nmQ}`f`6w^1jM; ze(&RV+rD~F>eqwT_HMcUmRZ%cf_L(B-gHYyR+_W1xBqou;CdzrI;VnRi3;!t0tSW& zlfdWUICvcbZm9>}V7YY$14F{s?7NjZb~bNW3xOw3KRp7G;l!tn-jX6~>@4$HBAoy2 zDK%G8TD5l@L&HPL_ zpT9SMJUQb3@ya>gjhWu6x2&TV@4XyvxF*fKZeI7XCp9s@6V>u!=62tjS9IlDR~*BJ zpdGi^8dNWQF45%M8`@_U&Jlc4D?iZ$psct~Os2087cD&kO za>o4b8NZfhibOoMGMkq4*Ug&YfR}0w;{l_L)h&}1fk*ln@PiM-QBZvdJmP|(VM+_| z{0at!AR*v=7Yqy@p5XIkhPGsuA>)BZS6+uddUNwJ@Ms9R6K~#35oDOw@qu*%M{KP1 vqMLh?IT#)^u8rPqXJxg`?Z^g02Ci@BRhI5M-P83>gMz`+)z4*}Q$iB}OoEvz literal 0 HcmV?d00001 diff --git a/docs/user/img/mermaid-custom-domains.svg b/docs/user/img/mermaid-custom-domains.svg new file mode 100644 index 00000000000..2b0ccc6dce1 --- /dev/null +++ b/docs/user/img/mermaid-custom-domains.svg @@ -0,0 +1 @@ +
The rest is handled automatically
The next time your project is built,
its Canonical URLs use docs.example.com
Visit https://docs.example.com
Correct SSL Certificate
automatically used
Read the Docs knows
to serve your project
at docs.example.com
On your domain's DNS administration
Edit/add a DNS entry for docs.example.com
making it point to Read the Docs
On Read the Docs
Add docs.example.com as Custom Domain
Wait for DNS propagation.
Usually just a few minutes
diff --git a/docs/user/index.rst b/docs/user/index.rst index 4b90db4d4d4..b688ebd4787 100644 --- a/docs/user/index.rst +++ b/docs/user/index.rst @@ -77,6 +77,7 @@ to help you create fantastic documentation for your project. /choosing-a-site /build-notifications + /custom-domains /downloadable-documentation @@ -144,7 +145,6 @@ and some of the core features of Read the Docs. /features /config-file/index /integrations - /custom-domains /versions /hosting /server-side-search/index @@ -178,6 +178,7 @@ and how to write successful documentation. :doc:`More guides for authors ` * **For project administrators**: + :doc:`Manage Custom Domains ` | :doc:`/guides/technical-docs-seo-guide` | :doc:`/guides/manage-translations-sphinx` | :doc:`/guides/private-submodules` | diff --git a/requirements/docs.in b/requirements/docs.in index c2bdbfb0941..441a07ab423 100644 --- a/requirements/docs.in +++ b/requirements/docs.in @@ -15,6 +15,7 @@ git+https://github.com/readthedocs/sphinx-hoverxref # Docs sphinxemoji==0.2.0 sphinxcontrib-httpdomain==1.8.0 +sphinxcontrib-mermaid>=0.7.1,<0.8 sphinx-prompt==1.4.0 sphinx-notfound-page==0.8 sphinx-autobuild==2021.3.14 diff --git a/requirements/docs.txt b/requirements/docs.txt index 52d9616a075..c43d05412d2 100644 --- a/requirements/docs.txt +++ b/requirements/docs.txt @@ -2,7 +2,7 @@ # This file is autogenerated by pip-compile with Python 3.10 # by the following command: # -# pip-compile --output-file=requirements/docs.txt requirements/docs.in +# pip-compile requirements/docs.in # alabaster==0.7.12 # via @@ -405,6 +405,8 @@ sphinxcontrib-jsmath==1.0.1 # via # -r requirements/pip.txt # sphinx +sphinxcontrib-mermaid==0.7.1 + # via -r requirements/docs.in sphinxcontrib-qthelp==1.0.3 # via # -r requirements/pip.txt