From 1d1f9b94a45eefab0134149414460db88cbe11d8 Mon Sep 17 00:00:00 2001 From: Aleksandr Vishniakov Date: Thu, 30 Apr 2026 21:29:22 +0200 Subject: [PATCH 1/2] Correct information about custom apps source code & dist placement --- .../how-to-register-new-app.md | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/platform/developer-guide/docs/custom-apps-development/how-to-register-new-app.md b/platform/developer-guide/docs/custom-apps-development/how-to-register-new-app.md index 306da85f89..a3c19759c5 100644 --- a/platform/developer-guide/docs/custom-apps-development/how-to-register-new-app.md +++ b/platform/developer-guide/docs/custom-apps-development/how-to-register-new-app.md @@ -39,7 +39,7 @@ To register a new app: | `description` | A short description of the app that gives users an overview of what the app does and its purpose.| | `iconUrl` | The URL or path to the app's icon or logo used to identify the app in the system. | | `permission` | The permissions or access rights required to use the app, which are used to control
who can access the app and its features. | - | `contentPath` | The default path to the app's content, which is used to specify where the app's files
are stored and accessed. In this example, the ContentPath is set to [VcModuleWeb]/Content/[Id],
which means that the app's content will be stored in the Content folder of the VcModuleWeb module,
with the app's Id appended to the end of the path. | + | `contentPath` | Optional override for the path to the built app, relative to the module's install directory. When omitted, the Platform serves the app from **Content/[Id]**. | @@ -49,12 +49,23 @@ To register a new app: ![image](media/app-menu-2.png) -1. Create Content/[app_id] folder in the web project. Virto Commerce reads the manifest and adds binding to this folder. You can put any web content here. It can be a VC-Shell or any other HTML application. +1. The app lives in two locations: - ```xml - vc-module-power-bi-reports\src\VirtoCommerce.PowerBiReports.Web\Content\reports + - **Runtime (inside the deployed module package).** The Platform serves the app from **Content/[app_id]** under the module's install directory, or from the `contentPath` value declared in **module.manifest** when present. It binds this folder to the `/apps/[app_id]` URL and throws a module initialization error if the folder is missing. + - **Source (inside the source repo).** The VC-Shell source code lives in the module's Web project. The Virto Commerce CLI (vc-build) `BuildCustomApp` target looks for the app's **package.json** under **Apps/[app_id]** first, and falls back to a legacy **App** folder when the module declares a single app. It then runs `yarn install` and `yarn build` in that folder (Vite emits to **dist** by default) and copies the **dist** contents into **Content/[app_id]** in the module package, satisfying the runtime requirement above. + + The content can be a VC-Shell app or any other HTML application. For example, **vc-module-news** ships a single app via the legacy layout: + + ```text title="Source repo" + src/VirtoCommerce.News.Web/App/ # VC-Shell source (vc-build runs yarn build, emits dist) ``` + ```text title="Module package (.zip), produced by vc-build" + Content/vc-news/ # dist contents, served by the Platform at /apps/vc-news + ``` + + A multi-app module instead places sources under **Apps/[app_id]**, for example **vc-module-pagebuilder** has **Apps/page-builder-shell/** and **Apps/page-builder-designer/**. + ![image](media/app-folder.png) 1. Build, compress, and deploy. Use the Virto Commerce CLI (vc-build) to create a module package. From 266d436954660c7158d5eaa5c750870086eba648 Mon Sep 17 00:00:00 2001 From: Aleksandr Vishniakov Date: Fri, 1 May 2026 05:16:11 +0200 Subject: [PATCH 2/2] Split app registration guide into own-app and third-party flows Replace how-to-register-new-app.md with two purpose-specific guides (register-your-own-app.md, register-third-party-app.md) using Page Builder as the canonical Apps/[app_id] example, and consolidate app attribute reference under the Apps section in 06-module-manifest-file.md. Co-Authored-By: Claude Opus 4.7 (1M context) --- mkdocs.yml | 2 +- .../Modularity/06-module-manifest-file.md | 32 +++-- .../how-to-register-new-app.md | 83 ------------ .../media/pagebuilder-app-in-rest-api.png | Bin 0 -> 88265 bytes .../media/pagebuilder-compress.png | Bin 0 -> 50849 bytes .../media/pagebuilder-in-menu.png | Bin 0 -> 10418 bytes .../media/pagebuilder-web-project.png | Bin 0 -> 27701 bytes .../register-third-party-app.md | 122 ++++++++++++++++++ .../register-your-own-app.md | 111 ++++++++++++++++ .../Essentials/composables/useApiClient.md | 2 +- .../How-tos/Connecting-to-Platform.md | 20 --- platform/developer-guide/docs/index.md | 2 +- platform/developer-guide/mkdocs.yml | 5 +- 13 files changed, 258 insertions(+), 121 deletions(-) delete mode 100644 platform/developer-guide/docs/custom-apps-development/how-to-register-new-app.md create mode 100644 platform/developer-guide/docs/custom-apps-development/media/pagebuilder-app-in-rest-api.png create mode 100644 platform/developer-guide/docs/custom-apps-development/media/pagebuilder-compress.png create mode 100644 platform/developer-guide/docs/custom-apps-development/media/pagebuilder-in-menu.png create mode 100644 platform/developer-guide/docs/custom-apps-development/media/pagebuilder-web-project.png create mode 100644 platform/developer-guide/docs/custom-apps-development/register-third-party-app.md create mode 100644 platform/developer-guide/docs/custom-apps-development/register-your-own-app.md delete mode 100644 platform/developer-guide/docs/custom-apps-development/vc-shell/How-tos/Connecting-to-Platform.md diff --git a/mkdocs.yml b/mkdocs.yml index bf25c9e3c1..cfabb32e50 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -540,7 +540,7 @@ extra: - title: Getting Started url: /platform/developer-guide/latest/custom-apps-development/vc-shell/Getting-started/creating-first-custom-app/ - title: Connecting to Platform - url: /platform/developer-guide/latest/custom-apps-development/vc-shell/How-tos/Connecting-to-Platform/ + url: /platform/developer-guide/latest/custom-apps-development/vc-shell/Guides/creating-custom-applications/#initial-configuration - title: Deployment on Virto Cloud content: - links: diff --git a/platform/developer-guide/docs/Fundamentals/Modularity/06-module-manifest-file.md b/platform/developer-guide/docs/Fundamentals/Modularity/06-module-manifest-file.md index 1d6c3ab1b4..0f8e3a09c7 100644 --- a/platform/developer-guide/docs/Fundamentals/Modularity/06-module-manifest-file.md +++ b/platform/developer-guide/docs/Fundamentals/Modularity/06-module-manifest-file.md @@ -132,12 +132,11 @@ The **module.manifest** file can be configured using a number of required and op -## Adding new app +## Apps section -To add a new web, add the app section into the **module.manifest** file: +Apps are entries that show up in the Platform's **Apps** menu. Each app declares its identity, icon, and permission inside the `` section of **module.manifest**. The Platform serves the app's static content from the deployed module and binds it to the `/apps/[id]` URL. -```xml -... +```xml title="module.manifest" Reports @@ -146,17 +145,26 @@ To add a new web, add the app section into the **module.manifest** file: PowerBiReports:access -... ``` -You can use the following attributes: +### App attributes -* `id`: A unique identifier for the app, which distinguishes it from other apps in the system. -* `title`: The name or title of the app that is displayed to the users. -* `description`: A short description of the app that gives users an overview of what the app does and its purpose. -* `iconUrl`: The URL or path to the app's icon or logo used to identify the app in the system. -* `permission`: The permissions or access rights required to use the app, which are used to control who can access the app and its features. -* `contentPath`: The default path to the app's content specifying where the app's files are stored. If the ContentPath is set to `[VcModuleWeb]/Content/[Id]`, the app's content is stored in the **Content** folder of the **VcModuleWeb** module, with the app's Id appended to the end of the path. +| Attribute | Description | +| --- | --- | +| `id` | A unique app identifier within the Platform. Becomes part of the runtime URL `/apps/[id]`. | +| `title` | The name shown to users in the Apps menu. | +| `description` | A short description shown next to the title. | +| `iconUrl` | The URL or path to the app's icon. Typically `/apps/[id]/` for assets shipped with the app, or `Modules/$(ModuleId)/Content/` for module-level icons. | +| `permission` | The permission a user must have to see and open the app. | +| `contentPath` | Optional override for the path to the app's content, relative to the module's install directory. When omitted, the Platform serves the app from **Content/[id]** and throws a module initialization error if the folder is missing. | +| `supportEmbeddedMode` | Optional. When `true`, allows the app to be opened inside the AngularJS-based back office in embedded mode. See [Enabling Embedded Mode for VC-Shell Instances](../../Tutorials-and-How-tos/How-tos/enable-embedded-mode-for-vc-shell.md). | + +### Registration procedures + +Two registration paths exist depending on what kind of app you ship: + +* [Register your own app](../../custom-apps-development/register-your-own-app.md): For custom back-office apps you build yourself, packaged into a module via the Virto Commerce CLI (vc-build). VC-Shell is the recommended framework, but other frontend toolchains, such as Vue, React, or Angular, are also supported. +* [Register a third-party app](../../custom-apps-development/register-third-party-app.md): For Apps menu entries that hand the user off to an external service via a static redirect, for example, the [Power BI Reports module](https://github.com/VirtoCommerce/vc-module-power-bi-reports). diff --git a/platform/developer-guide/docs/custom-apps-development/how-to-register-new-app.md b/platform/developer-guide/docs/custom-apps-development/how-to-register-new-app.md deleted file mode 100644 index a3c19759c5..0000000000 --- a/platform/developer-guide/docs/custom-apps-development/how-to-register-new-app.md +++ /dev/null @@ -1,83 +0,0 @@ -# How to Register New App - -Using the Reports application as an example, let's look at the application installation process. - -## Prerequisites - -Before adding a new web app, make sure the following prerequisites have been installed: - -* [Virto Commerce Platform 3.264+](https://github.com/VirtoCommerce/vc-platform) -* [Virto Commerce CLI (VC-BUILD) 3.12+](https://github.com/VirtoCommerce/vc-build) -* [VC-Shell framework](https://github.com/VirtoCommerce/vc-shell) - -## Registration process - -To register a new app: - -1. Add a web app in the [module.manifest](../Fundamentals/Modularity/06-module-manifest-file.md): - - 1. Add the app section in the **module.manifest**. - - ```xml - ... - - - Reports - Power BI Commerce Reports - /apps/reports/power_bi_logo.svg - PowerBiReports:access - - - ... - ``` - -
Attributes description - - | `id` | A unique identifier for the app, which distinguishes it from other apps in the system. | - |---------------- |---------------------------------------------------------------------------------------------- | - | `title` | The name or title of the app that is displayed to the users. | - | `description` | A short description of the app that gives users an overview of what the app does and its purpose.| - | `iconUrl` | The URL or path to the app's icon or logo used to identify the app in the system. | - | `permission` | The permissions or access rights required to use the app, which are used to control
who can access the app and its features. | - | `contentPath` | Optional override for the path to the built app, relative to the module's install directory. When omitted, the Platform serves the app from **Content/[Id]**. | - -
- - 1. Open Platform. - 1. Click ![Dots](media/nine-dots-icon1.png){: width="25"} in the top left corner. - 1. Find the added app. - - ![image](media/app-menu-2.png) - -1. The app lives in two locations: - - - **Runtime (inside the deployed module package).** The Platform serves the app from **Content/[app_id]** under the module's install directory, or from the `contentPath` value declared in **module.manifest** when present. It binds this folder to the `/apps/[app_id]` URL and throws a module initialization error if the folder is missing. - - **Source (inside the source repo).** The VC-Shell source code lives in the module's Web project. The Virto Commerce CLI (vc-build) `BuildCustomApp` target looks for the app's **package.json** under **Apps/[app_id]** first, and falls back to a legacy **App** folder when the module declares a single app. It then runs `yarn install` and `yarn build` in that folder (Vite emits to **dist** by default) and copies the **dist** contents into **Content/[app_id]** in the module package, satisfying the runtime requirement above. - - The content can be a VC-Shell app or any other HTML application. For example, **vc-module-news** ships a single app via the legacy layout: - - ```text title="Source repo" - src/VirtoCommerce.News.Web/App/ # VC-Shell source (vc-build runs yarn build, emits dist) - ``` - - ```text title="Module package (.zip), produced by vc-build" - Content/vc-news/ # dist contents, served by the Platform at /apps/vc-news - ``` - - A multi-app module instead places sources under **Apps/[app_id]**, for example **vc-module-pagebuilder** has **Apps/page-builder-shell/** and **Apps/page-builder-designer/**. - - ![image](media/app-folder.png) - -1. Build, compress, and deploy. Use the Virto Commerce CLI (vc-build) to create a module package. - - ![image](media/vc-build.png) - -1. Invoke Rest API. Virto Commerce provides an API to returns list of available apps. - - ```ps - curl -X GET "https://mycustomdomain.com/api/platform/apps" -H "accept: text/plain" - ``` - - ![image](media/rest-api.png) - -New app is ready to go. diff --git a/platform/developer-guide/docs/custom-apps-development/media/pagebuilder-app-in-rest-api.png b/platform/developer-guide/docs/custom-apps-development/media/pagebuilder-app-in-rest-api.png new file mode 100644 index 0000000000000000000000000000000000000000..368650b05b357b31d22b53116fa722673cfd861d GIT binary patch literal 88265 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%0A7BJA9rudnhWUeo%<}pck?ioj%u$HFL8 z58e?Lg}S$x&EN@)hIXw`lLbPlzKjRj^1Eueos{YXt*aT24jJ+XeydJl=56Z3BRNu< zI0kXb8NJpnq4dIW?=@~AV4=s0$RwZc@$h?in_us!-kD6z3b}Et=kq#KA+}r8I5;uz zFoW=t9afe)*Rb2TGs)UZ&wK3h#KrQg?Nj8Fc1z1xW?^DI zQTzT}>%4|e?{I&Ykc}Ww5Azy+=2L>~vEN;Td%mh~n67@uQ|sLX*}!R~6XV&de!<;7 z)#`vR?aWe-o4X9J(IUgbf@-loC#%Io_;lnJ4E z<^yGeK<4RTS-cK?z{jNy0E*va!P*6$h_O%e$_HQE zQ|Csre&?09t$yJDhqUxR>EzdpZ?XEsnH2xw0{qW%XEvFq#Q-gQGG7h%5~Y3%{Sl~H zB^rtRHWQ<_yPuK;LZM^vP4>_IYCLY00;ZoE;Sd7FzC;)Dmy7-$HFdH?)fry5VUfk< z0bB1V?(gQ373xg2-~)W)e+IN|MSzyI_D_BsNAaKE{~GB3Jh=awbg`TT0o0R*mhE2z zf)|G5LOF#dT8vDPYM1?je}pVyqakffP?eGJ7(Okpb#V%`%4qQPd_PNH`*8+woahw6 zmm3H+{*%U!4)lwbN(#Gb;aQ}Qa zCkoJ)C)yITtA5_it-Hc*Al78m@71u5z0vY5f1x>qfjd1hW?#5G-Rd`mppKd_sJ~yT z?3Ew9GGT{qMLW0Jynp?sJtsG}+d`G?ze9muXC1sNXZ5+`oUgYGi4jBo_~*%6CY-!k zz2iS2eDg;?b##O?xJeZ--IQe4MGXImlW@5}``c(3`f|uLpN~4LNlStgM6&@1(n6A3 z?)J^>X&ji~u9njq%@*3J+hISdh1yzF7fXI_ta%Db_c2oaG8?wh1LO6^{?oxS&XCKK ziSpmi#>dx3Gwdogx%w7H$9*3FhvDaMc8p__HSj_{s*_#(?9(>8T47*-i1t_mkN(!^ zGfT3_i0sDF`PH^vX*cLL+7D4)c+g-lDAjt=U~SRt_b5wMB$$%g+LQ@n6Cd~lk|^8Tzn)-DnZ)! zLXCd@CSE1rpSe!9mgndKk8jN>W-;CN{HFVUfJyV(4~8BzQOMH$E%Y;~E9%T~SIg~< zW`$gi>OUcml!IhE3&9GPi`!Fe!HEq2~^28L63G(A?^Bv7k<+KAsB&9O^vDD73-?Jn%K9|(DUDSh)+WZL}vbQRmdlz;)y z47=6pc>BRk`TPbcM6e;Hc-OBQG`k8C+27$69hZssEQ~2{_%Ds!9(O3#`=Vq@gX232jQ5)=5@{_H~Vhw z3!-RL$WDp(y9+bS-rdkv&kK7%#ujzcoP*;7X2IDJGIdjRA#4Y++jf~@UkeW*q+Ava zVI*&-?JOkn650HGWFq}we!5HWUTNfMF1G2!3pwP#;`y2p&`g(Y>yAl%MMt@wv%Nz~ zC=k<}%F*nmfgfA0D@*siWbWp){8{$RlX-~)TTIfq`!%o#rVMUQH6e8Jg$LVf4<%SbBA2(! zodg^n!2)mh`C={)B2ynmWh!cCzut_P3*XP#yky^Ucn9sL{6EXeY@EuM1i&II zq#U*m3`j2@b}8-ZUY#FIA~n6Oiw5LTY$Q)_Ily(~#jQ9bWQJcrwRYui$y(Le{Xnnq z;&!pK5NU71a)pO;CitO6$F899 z>BGEXGY1KT-m25=u<(VrF{EXt?)m9dfz)^rf77R4|FBk#e|khfSV|oSCKz5aX<`8U zuM))<|=5k?i3Y?z?TD#HSw$CwLiXFQ2E#a;|*p z5RdY7#(>uwxC&IqhmKIS{I#f!TwtPi@!sV7XWyLHYMvcpTvOPxJ>7qEo4-9+w$_TP zPbH(c*O8CjZs1P-OgqCJI_aOiCH>@cImb>{#|z{Ec;h&C9(`W7N zw0Y)6Qdv$DIte-aNTgn%Cgii`?kFQw7i>sUg2%W=S9pCDAo~NuwZ7)>*Dow6It+kt zOsm=Ehlx0MqCm8Jq0LyTZYYGUu=NA&i?49kJ@knR!*yUQoi?<-$a>T31j-mO;Tl^J zU%W=_hj6nvtFlLnka}J7Q{Tf;_#Ei9;kcdrg8eC`{?oeWs^rmtIGEWo4()E1^&L#M`UG2J45P4N_u=~#2Mc`ZPF*501=MbA~? zxSOs6>fFi0z~`mIcJK>ZDYgh9vu@*i+$bF_o*7NM!2^V!7Q7u}<7@bu*qGzu+@*{S zjT;&}|At0RSG6~^DOrkDm{s(cN1)UN^33R~tAewRnY?tch@qpxafLs(|PH+;C6uev3E0e!2w0TL+vF34bvvQqu7`%OQ? z)jHJSQ1tZ~y@F2dc}&_TWC2g7Nwp9XJEVSeBhXF1!^07n*ydJfJxjkiJKaWQ~-gl#< z1k#;to^!?*D(tqenVt>5O;1a zzN3v~{#y+ivGzYEnojWXVlLBRsA|)N<>|wT z;;vTng`)rh(I*H@O2K<6e6ICj%$9w zglbc1-9h@;XRm5zejeFZm_lUv#85%Iaf~_kubnGw@D&x5J-SyAZnBF81Gm@--o^6xJC9#RT+CQKkPEvJ38C(1a)5-x#r+I5QWmk|Y^dD7>nZ<;`kPlO!@!uNOo?%QG;o$J z_<<4rt@8Iy+we7 zg|c-m2tXy~(6KMtEF8Om+yvB16Jrj!%l}M&DrDCITDw1$j|wH}zU(C%F-Fk~`wRu) zY8R~kkYbNt1{+(e%F%uoU8zokbJ)+0LGAheM}QMHqeXwUn_*o@crKNo`_-DT(EBpqrgP;10t0(d!$s+pzUfRjK1dMacy3Wyvt?iLn z987<1|0)u(Oq~J0v^){t*!m4qsp}seZ-rD&|2ju%W1m93_)`%RvD`minP{xuZ)WlT z(^dOlG!~qse>|A~&JFrc0`p_gdx1Df&my=fO@>0VS9@)BzC=XNZBe;BWZGXC;*4S~Y#KVBH&(XFTrheHeT z8@<+~DOMZwKaMDaYBI*!mr=2ieMep>vn{NZREAW!K?ebH znhSmt|90`{DYTr#CQ=z7aQ{$LbR9Sr-n?Fg6DiwHWs z)V3K-58N=TzC_(HXx+D3_Uc%_@#2eIIo|O&B$K3#GCHi|#JML<`E;apx~;gZ}#W6NT;RJO$46Hpc_X!mcY(6IhmphAS9b7Ty86 z4O=X6?v8(;$?-$@h+-l`hArE(!5_oPvPs%oG$|40B#q-|&(5ZZe74ok@s1Ae#x{Iq zalTjexbG55UYvu~-6A*gvLZbZj(aW08XZ0foQSR)TSTvQBY6J`DbIY2&R6qwMG>z` zp^(g%=Jec~G@R-U>W$C@8L~`ymAYt?fv&}8w-Z7_*-N1Wt=miE0?gR&iTy6WcM?m9 z0rylpW0y$NTZyf=_l@Y=9em%=^6p+G(A1MR38#LZKM3c|MZ$hhI}1eW;wZzLQ5d5dKCUCgQMM9^4jlFDNKV70QxNcHaYkcD9- zl`MpWMFoY`HdunO!%Gv-rlESA`8E`_@9lQ#ei_|+nh1}ykk)9AmD!Ra^7@mCw)R-o z6b`o;eoeg%_po15RBQd!pFO~nSvC2<9Ai_J!nCP8s15z$6d4B1>&CT*9=Z5D3#AWo z_@U&W58YQAH5WZ4n{-|D;t`t7@P;01!0fVBS9z?6T^K_3@Y;}PS4jwWPxVl0c-5>R zm`|&ABVz=aj!flXivHL`&E^9bVY$dyuV7vg>gM#u#-)&cT<6`icXr-hCByT>BJQ!N zdr=<3fYZ1ddq9Yl=I%gx_L0sz;zJSt(yzc&ALNA={zzMC8d>7>{-|I%PcJW0^jEFL z!q>FFeg_M23YeWKk#r?eS>Ix}-pH@JV0MHe=ZRi|4MBnicM1BLfBT~07K}cqpSzUthI~KbJ zmG*$r2cLS-BIX5^fC5||7{}Bs7oIP#?;Wq*GCBc0{!2Jc2AXn{9sGjeWMwtoKp`uv z6LoWf-|NJj-W>Dv=!$zGTlHsxQlNd-*O4+>q~=m*O~|0O{5%Yf3c1k%W`aa4n^o{C zSJ=Y6IR29yM!~4URNcUkj1w#d-H$a1tzGs4J9sZN!`>9m{`-qX_rXALg|o)z^$rW1 z;y$JLr)jhrHU~__4alV=w_SP8eTpoYrOqAcB(6478UC+YtFemxwQKBcy&4=km_-zrGZS8I#neC~C&Kg}UK(f;F4 zOX?>Vxvx7z`YrBYAc|hW@6$n&6)^vxESw~MGqkgOr&wLllfg0O;6E@ZvpD$wxd_|Mj4VBS? zJ0YvX#4GFwf%ah+RzlPHZrn$^BW#HN{C8F;xZR*4e7!)p4^n{|m@apAw&2h}J(msR z;8qvJ7opN0_%U-?oD}V^V|n+T zj6W_jpL6^!%NNS#E<&;Oq%xPpNfC%iNbdHFD!%?+n{`K9+}%${Z@XbUVtqb9&jV(z zO0C@K6_Akd8M(P}{Wf$N=_BAOY*335G6@L_tNXywqv*=PJi?!s#|ae&bXmygVn>OA z^pX5Gaz&BQ5XA>w{*x_<8~ev6p*AXZrhsB&+e4v!es*d1Lif^2q=lBro`@2Lb&TU{ z<`uqu;t>h@g{@Y&`*!GjG|xW0iic)*`yQ-L=K`mN!hXz9u$h4UN z$+fUZSU&{eL=GlO254?a%nuGo!*SM)q!q&XJl?&+5^mM&5m{Rc4WH*Z-IRvPJ_5mo zLxZbqrQEeXV)*$3FzN8g)3NiaLvyniMJ0M&xt0+&fh@y%P|ZfPD7(9>!*9G}wXs;_{&Q{HZFV(+&< z6o@jOyUzCYyPq^?A)dM2&J6q%@s;`n&Jw%|v=0BdT|bX`VXW|VUrfmJc6qfqFZtE9 z#d&f~Ufb=7tY9HbY2w1N_u1*XT`zZg$DV(z$hX^KtG1BP=eJ)_=DAL_#mHCy3t=2J z^qmUFVlx)PySBXDnIcUwV1Ag2jg3&d%`qM!#ubw7u^eUyAA~r!r8`bZ#NtRG`|KA4 zX+*Jt9UHsZE2X~m&62fvBQJYF6x9-n;kqKBl2_Ugxi#8Zdw{wW!5zjiCG=EG!|~Pn z(e7XVMuG4*9Bt_?xy6wBwi+{@hm!V`Rb9!x*9mM#V)6H!%4vL&@0Tf!E-Bmkpxd;( z(O7)y>#OFr2Nr4rbVTDghE-P#a)l!=^<>M7uBakK;i#6e?p}K?<;i(j zwPeaqt-@RNX;LeJUbP--?q1U}uE%=|m7O8r*H;@z5A-7pY>sP=WRVH2n+UgU*cnLf z{WrTIA*zoy^N7D*p`D+_A&ne?2)p8FcAv+As{=e*GyJU5tba*DLcUsX+jK0?E#x6MJvv&LOrD9UnwoCIFIdyF3;#w%ulvKKRltXC zIHPjYPM6WoRNv}k73BB9v3PHkKZtz@@L8)&X0eQa=%~A{ODQ|xUy#L`2wdaiM`!m{Qqn>zlsrV?YYrp>ZUzB^} zGNzZkYEtkU1^8Ldyg`))e#{StFgA6n?FHcmKBWDeK3JHqbcpzzC~2%I1*YY3j&1bj zd*LZU3{w(4aYs)*;gSFYDS3~cDeiOkL_#*KstQ#4zNO(B67aX4T9-Wr{jn%eR8qZZ|LXh71!rk0REMCQ?a6#(;xew%+GzzMcE zV3hHG+~9O+z*@7DBfAo_)!*9BgIRW~(6OVZHw!asec+~Y!{90!Ay)!3<88g6u+l03 zyI6=>M^aH5x`7wAt}?B-&hYgfgUYTh3ggUoV>w~4fp=%94HH-;#SK4nVDF~42Fhz=@>)?18_9>ip zmK~B}MEYwt-u}UgUeybk!2e!90RL6kLP>(gh_dY-yFzdEu2~9FzvmoZBgMuKqay-g zPhO8TQt@t*mWV$eV6H#5SETZ! z^V3d_-&Aug#9qLD7U^FBBJ9s&2R%$ao$NgDkG(>w ziS9De?wQleK0l~n%}d~iaM_ev^wD6Rnp@K)uX@nD4`nKuU7Mls&q3sII_m3TJI1U> z!j%}Wuez|ubXZm;`OJlG_V|sIZqIitVm5o~`Scw5`fwRHPE~TaCn94K$H5e1Q-B5? zYf(A{LCU<4)ml>|OzMnNIshU5`h5|^n`G8jiY`{x_&oW3Qlu_6Gr(=%!t_#^hK|zm zmJ;AR?Eq1>F{>l`8K+5v?+kh_R^Osp)(C>Vjx9Su-WaC_p~3V6)-f+2Ya&|)@W|{Y zWx*gZlQWt|Cd!**-LG+z709A?vX4zo(YoTW`Y+Ce z%h{o^Gx}Id-nAx(R0HrC&5YtHYk9Xr{;&(iTN@UdAU;gb5Q(C}pC$H!aE?*b1k}Xp zuTRno_fc;vZ_AzalR5%*D=~DoP0X>D*J5i>he0(uQS3&qy#jEgcOc z+dMgI1LpCE`^W^&$rB^|hXvvGhD4r&^=(WI`~ZR6kpOnL~6d&!(W}?UX8| zxD~S|*hjY35jH6y0)Ej`9QAzdW7m4PB4NLI!m|x$*Zd&$G9$aT-i8+J)0XgKvTw!h z>HUv16+XXfo>W0RK|k-f!XzKKJi1L*vC_Tig*R`o`AT2c)z{Y}2a26&Cj6>IZ8c!s zGqql8jCJ50ab@AooN|Jq!FyeAfrnh9bM0pW|K*d%_Y@j3P|!EyalT;y=P+#RZp@x4 zv+r*8VCknlHI_$kOvT3bQRtt~7-av8-I@QTVd(zLJ!$%vhT&Lj5AP@r_gXafV5Y+E zPpq_1pOtXAb41V(CIgABYTP>vSH|$OQ?`c0Z!qTdk(JPJxF8l*MwUz-4y9UgO4t-M zJrxiHcxrM1!DM+V31miw$viG~(&s@jj9>~Y+s!wy$V#Gcxft9;rGbdk7||f+Ir4hl zm5JeVM_Jr&0CqWbl@$l*X>S%s1ui&8}l$R<1@N_@f>E}lmBSXD> z#`lo>@w&cI!aI9TUQ+VM4K2(g;nGzs6gOwA;^0tHr4&+4qoAM= zq9Nhn;II-$*MXO%1^)87oRS0{QT@fC;r5JC92|_0O+fWC&OI+$k0n-E4h^0==P%fM zV@l}m$?+E{Bb+`HvMR?5+Us!9Mlhyy8(6Q(hCZgv5XdSnbgkIA2WYYUjtRvH|BFN& z|Bdf%{`K56qS3|8|eUNI!vZut-#hyr1$O%P&6xy{*~&TAYc8bdsuzwpD+& z>o@&zk>(YTzgi{)J3AFR&IY}9o1dM=5z7Bp%0#O~L963;_ogdVb-@d7e2u2lhBU&* zMC@((XSzm!H+A6hq1M?Z_^xx78B*Q26&8^CxISrcejH`~fub$@l|kAN;zt7Ocf#8V zbf_kkO>wQ2oiME^KcDT<$A#;IrkDgQQ6!v}nsr$pq;?GwWpSdv344h6k$7^g-TI*W z>3{57(_!+tI?`Z$PBQMt__CVlw-ZjFah_v69&o>eN^m-&#BAuWj4~%M?GmB$Cl}P> zbO>KP-WOV-4q78rtf3kafm~Cg^3XXR`-${jvf*p|`>TlOO=G`hDvEyrKHeH{I ze7sET`C^Lq0-RG~ioWLqPG|JE^iFa6AIyDaP+m(DW+1_WySux)ySoQ>cXxM(1ef3h ze{px$;O_431oq8M?zdYjwOh5dReSzW1&28^(>>iiJx@PVzMU|rXMD9NgSOk9j;>e0 z;*AKM-4ckS<$vbql_s9t))fiWxw}GaIOx~3Ym#`NJN_ze*SFphDt=DAbvKUA$i^;k zl=#h^eC(jUcp$;}Q2P+hj;| zP*7-?V~>dLLppX}5fiM%zn6p??=mbyHzGkg%$AwiW1-DZk|1xH0gtEWPJC0<;SbQ0 zG`UQf+{-Lr$eo|;)+eHb^5)i7X~wcR<7s<|n%DYcqMx<@)u>7L*JCHfde-Z$#6gdF zRe6rjA|LBcVK;SNAZw-I@C+y0)4`0CB(ZK~&zl*?YNhcuTjRnQ3$sSSHktyl_qF>t zKekep@efOq^;A>@uYjJ~2JIHSWo63~4S(|6SdmIC$X98~7hi~T1^6!>`)NMI_MoJx>6S z=FndF>dUzvY>&1}v7Qe3A79!N4^rBOYK6tG>#) zV3WXFtTh-bs&nvu>BQe#aRa}!UFwP~l-9Ui+4H`eN+Z|3$h*yMO!?D;+jQmD5f*_j zWSn|%%Jt{UUtlSt$MNK>`k8cBel7y+Ra57ScrVzc*!`|;GRk8W| zTiM6XX{{*M47S^*dL^-T3Cupteoa=ILy3iT(ru3{op*L*n>WYX^tEcR;_4k?dte zBpXAo`l~{>70R6@$&^_DiXW@nmTyeRrho<^-sO-lJEe#wmkbB0bRr|phZ4{k; zUbok5_y<=UOYDioHajLeDXyQ80#-BRuV;lw=POM~4EpcSF*HNcU>~)ee?2_zZf)Eo zHT#`$bSu!c`0|Nj@`m?LeZYUar#ttq;JdHw4&*h$N%5^p1q8{Y$~CS3v9*p|66RJ` zR(3Wvd-ro_ZcX?J3|i2o)ajXO`?mw{U=2ni{v;~>Hr za#fCoUx|OFb;yCM_v2qeq@f7TJEw4YG-0lp3!T2(j>@pV!cPE3e1AUt|CyOShKP@k z{{RK$qw^%)MpJAqTO|AZ-Gj1q&&XlVI`JEN@ zNn__@hfK2tEWFnxDzS|_=1RwO&x)2mdWMAW*%;PTk?n@}0tU@5XEHF}xeElaXgWV= zi?P3cgUI>PKVe^${0GoNIPJLUapOC%8nkmI+)l>*U$yV=OECue1uYU3AXx9aF&r>6SH3~$R+fp7a4XRB$E z<%i;M^)0bD**R`RerTIE|uvC36ER?HYhfe-S@@5RROJjYK==NtW?3Z(6Q|({W zfWqi(ZD4wbV5flm6M9L+1q%`KX}sWJ&-)A^Px5V)1qp^PlJpPzWeRd|CAYT8Tlg_PIR7W%GlP2y}+)HQL z&HNDmbZ@izydqn7``zV_5=Tg6b5kil%mnR108L~p6amrMP|!dtGpoe!y+z6mg?;6nV;f^$&oMKg8me_ zEn-5g#MWMgk?oXd)5Ru+@^G6T#mPl$zC7875uGzxClr*w$kFwb#tIhL0G>WHighppTpeB5ZNXq zo88#qJ~`w{QIlDm`}7?&8w2Gd#|9l=-u@?I_xCF9pNZ!G=!_%VNrr$mR!={_NAOD( z7D#IY;CyF|B(5o5GB$x z-OrTrg8i0-P7G2-O>rJHCOha`U36ViGH8HmJur>PgF%E4{Bfr}X=doz7v!EmBwr9q zU3F)9G0Cx&?nXn1d%os0->Rv$Bz~+By+(59&q3ra%{+O)BG0ZjT{aJB`o=+r7FzWf zE~qlo@BkV^%;A!x(2D!fRG8-D)v%+S23u!uZT2>5QPc`v}p)CKJjYi{l7X^afW!9kJ?~_G4oM zh}_V&lMQ&_+m)j{MfM*rI_uN@`0N=&-tW=b?!@9+|5+?U7I}7_;m8#*a^O5Gi-1<* z%@8efsE+4+S5xUD_pRdSSirXm9jp&uBc6 zA0?;2ibeu~p)`eQGjqGPoAK+bWnEetsxGTc_>OAr>6WtyPG~rze|r#XEZ2j z{b!GvFeABP-HLKs+X{xk6^R%$F3y7+`ysXK!*GN+-$sRbcrrz*>~Jb9FTeG|ikq_g z+f(Mo)kY(po|}H*9wEAKlvNR&!NN1rx}C&+kDcDA%Amvi2?L=W@f(7M7&kz)U8Pec z$n651Yi}6Qxz_W^v*%rHtUrz1titw>?$0RZ+#-azR+!yEa8tA$3+?mUdQ&) z=ZxYTY(49+urvq^P|(q}WK)72B*EM|U)q)w288Meh!Hlf|Lm%X;kNf_i@+TxU(Cs1 z%C_@qOhxQ=;kg<^Zp%p49$!p_^u|5m={!XF~KquH?MNNK$(8|B80Hseazq9_mbVM?cIx$X#+dR&eH6GES;m%_hQSO^yUNd z@IJ}wZ6zZ=Xn;R47JhV-$~-X^+o+poJWA*KmCo>JAAz{CDSMlKItc4_r{%&#*S8?@ znGJg)f~~|!vAHh0>)=HXB||uqmpkKhiE~#*deEE7*5FikvZm3Efuu7Px>H~N&!&3l zh$^?DqJkI5C_0#~;;WNtuO!dsGx9`!=k0i$n$^GhFy~^XhidDNg9yf7!eGuF8)O5sZp464q^`xb? z)ex*GuA+7}1&q<`E_*RAz4VN}ni$NWKYN*Hvt?P~j~#3H@cN%*_kV43LK>tlSQ&0^ z_s?u|rrC!)Cr7I_jL_@k{w%lO8obVs6;#M|c z%qHkJTjFeYT3WLP>w7$MPR^H4NRutVv|sLV9LZhv3}?@ZEG<~;UC1#MaWPRkT(BG4 zGsAcbqddK7!&U>Gqh07qQ`8h&S)Gr2?D6Zo)W@2iv|IPX##)NP?igaeKQ54d<#B>d zi)h#32F_=~x{KN!LQZpZf$V4x;*VnIii>di-F<+jaV(6YS5=sQDBVLxG8t8sPvS^N zq=i3(v_$_`ma8j_F*~9|2EoIHv7e zB;&jJ`$wqdKEx8+t3;Jq7pLyMuGe~xgipaG?S71QUNw*NwH^g-x5p-{F1U?rU~lZY zdwZhb*EzIg)KgI_Mh1_mB0?Eu6z!d$jSv`_V)uT#%zTppv|x*8x!dcgDr)EW^A>$f z%W}&Kkk${=vp@UQH@aQLWTnk6yhblsaPBjQ19zrjfT$Xemn4J&?zA^;M$Ij%AzgNbV zl8^i-g)w+}quF1#%zp!!G*PzlgH#WRn=Gc-yR0@&#&?dx};k`4E z-Ae_#gu?AHIYGE^ z-rLS9w7lp{BZfcs&R*YD)JasOt?ZjyYMv69V|TUj;=Pye^Bmt9Np@Q|y%6 zn`cFl2U{D`uQyb-Y#QR9HtSLL#V>6k^>H&|o2O*^iAhyd zL%R|rr*1-wop1Zt@Jxp4uG$ohW1_Zw$71*)2UdCZ`4Xb$&IYV%b|fG!M%*YprbGA_ zeQr_*O%h+)t(nM{0qMez>~{IrN1rXV#hA{sq^DS<2VcfaCRUmeZWUZ_97}uCQ26*e%b-a_V9)T^{_AE(Y>^|Y3zmlmqd&WDDxcrIN#vR2Xp{I@q0gzul zV6ev)tLO;qYEZG#FUjHg3uK&p@kHHBb|kKLmNt7i$fAxqN632-ImOZtU+1(+yw^mH z+_H2d*h0xK3}$+iM)V$#V4fX1HAP)K%8Ti@9h7gRP`}yDA;Y++=h%)M>bE;{)t-+G zFmePxd}Qa#$34)X77I$Kv-(WgGB0Tug)XlXd~5N9LO;~Qh0qnggwt2c8fcUEu~!W~ zz?nSF<44#k829!vGe&g`z-UcJde3g8xO zppR1c^@e!}v4J(38c4%zQE!OMNwL3CAXpdN$5@u?I!rZjgO0}l_W@YygR&7_19HMe z$Tr6BW{6KuA&y7w8Vdt95cVT?q?=JItL{bK^vGIHw0m*i6tBdH3t+zAtUxw5DqcBbs$zrkUi`3iP^>XT zE*kFFenqtzCj%OCvr6XLFb=G4JvHGw#ca588iOYzUncx4={FBH@Inj+yYgJa)-da0 zWbwqf<$kLlTnySX!gn*eShh7uoTdmd7b;5ko`WgR&RVDMg7B)))FrkzhS=&N1B+XW ziEE#@Y+!I47L=}}=C1DANLGe2IdRyMaXICu^~r1oFivUf%OAhz^KE^I!EOsSrKo~5 z$kG{`gAPsNWJFw$g3o^Dah$}CwUHo>K%Qo7U{UIP!dMF&R?BQY`gvM(8*4I)SwrDz z%QX?pbf(NyjR`u-b4yiNM#N#8(_6lTX&hbgy&>;~>EqsB%oFFwJ5V@<2wlegjJ*+H{H&eYQb(m9FuGD9 z6LwjcKA&Q6FMls$j9D$-k7s90LhSVx2v(@TRwp%%W>xMiMO*nqZZVwoHsa=TCMw*7 zPB(}v?S{cFunp>F zeIn~p^n(ey?06U->XMS^)6BO=@^lBDOx#wBtCr4{4B|IcleT9yl6yBgV7YH<*|5_x zfK*+vwI=aeo~e453&7U;!?OkSB7iBwo>p6Wrp;L_wsxxScr)H&$0Hwuvs=d4iL>gh z;BzN$RGwM!4h@Fj@ibX_tSc@_ae~(xRD+ijvZ@;$>9oVq0+1u`*SgH<0jc5Ys)Ke) zXHeUkFBxADVm=~_*!RMKbn-Hz_SGy_HpSMuh#lm-tss-O_lpPn{#zNfd0U~6#iAl` z2CTq)3jW*?AhIjtYzn?@1j!l(DM~ETdbZ3XH|~4SCQg9UwE$B9)0K(QeIv$sGJwWp z@dYnr<{D_67jLa8QK`ArN?{@F*REFbE9Y@C@No`3eJ>TbHNk?+wKXFfuQq$%#%?eU$?QN`;Mm- zsM-dFDEFnQJ?2FJu2;|4L(;`Hi_IGwJtQ(suv|z%ZIc7J7WXcuS z!qf{y#XZCFIYyl=imw1n(<7SJ+>hg?(UILrn0;sg9&K+k)R#dJ{d~iyI*(a z^k3ds15OYK%-@8f(lM2g0I7t#cgUXwjT>{?#|08mM+MB6^>XrcA;^E853`A_e-)oV zfjH`gyKfTXhB&J9g@9ds@2TWZ`WZ?!q9K(>XMnxX6@>G?Wqri~xn zS`D4A`E>!Up(Zm{vEDqCDAdH12_PQ>M4YTK%pk+Xpjg8E5$Zds^9S1bDMX+=(!)iF zS!^#ibFxBe2|kW)LUyq8giT<}HYBpSB79uF-(EY7yZZ#rJt6}zlno^dqP=q zD3D-)&|r*-8KR>zEXqy1dNXB#@KmKJ18{K`c9WJoSdWmK$kA-zkRSu*Z2PT4f9g{Q zDSfEQ5x~9_RYTyHYSl8^Wp;^07S4(q*>JyvAJ5Z|{q@tR^%-{-Ji`8Vk_4mY*J2q@ z=TPWP&DE}UR?N-F6^!3Z&`Fdnu-X4EJ9XGy?*4mkH6!H>wk`2hK>E`dTjq?|Ha1pY zXMa#t{sZeQ5>a5gwpg-rUCh_prrLxZDp2M=*BylX`<%6xU{qy6&={nHtvM!ZY3d_34byV_}jZ#p5- z`WzD|`s@g>TRK`%7t=U3zAU)c-M#==EX$H#Bxn?IUy6pKZ31ymHU$?GKO}*@h>#(KDsH5#OBb30;>Mp_Dw7T6|JLEU@=?Zrd1F5xjLGUyKlRiJuP@p*-yot>a zuq9h+L}w&uOqd))i?09nm3AqpbxeAKhup&r-Ox^s)F?VZpg9T`7Eug0zf!#Y9!3mC zpzox+emcm*m293E^m|CcO_6e{o#~?p@$B5rl?VgZOf@$xiRl-{4hV~Htph4NLCD3<^XUvDHHKUiElNE=VF=t3}9mbf>u=??|Ipk50yhLXR2T>nh^k!Ml{>R@Q=Yho%tD zMGL>CyfDfS^`&idyYCQv&b|Ju#-kDwwq-ny6Wd%FI-Qe(uTA@GZUW~J?`6l>|9}?H z2_sRLxRA0PeTKD7QRbkG`ZN+|NXxnKD}bo*}*N zffyL3=ckB&E)N5fV>)>HqwqCCs;xDqU?Oz{6&_ugV<8r?S}saQSagA_dePc=%o$-# zLHJCOZ|CR07tjfr%vgl=1!+n>k4v;*KUJ_jJ9nsiF-{<^^Hnh!zOwL{LK_MO#44NNzT z=?z-qHV=?*Zd96$gu!>$hLv8vR1?7Ia(m(~*=eTZNB+JfPcSTbekO{t_AQKgIP4?@ zwn={ea{q72nafnk`z=1nS?RYaR3`slr3HNq-`T{cEOpzP%ZEx5>nM?-!tsIw}A7c?`<8|TFmKShUcpe6b6Wg?tg zA=80r_@N`QfTlQ+h6SbiUlj7^wmo;PJ8R&iu^i0Jw;kFYHGUyFd8bd`6InaUPCPEQ zhpbI`_56LTFrzL?V#~1M*L1zwm5JVJEUDy85{h$we`BKZPFmC5(QY*o*nB3EnIeIl z>2%zCSI-5U!Clo`mX}lyutZdPRS(7VNWSVIfweW(C(;0r8!pQfzMIxmR(iAWpIJ>RDt3i4=y5$yv z=5bOhjg#-`5e^s{)R#m@vbRHo5n#hC4lDxBD+{mLO;mggyZDH60y$ly!5LyFiY|dS z9}J{I*_QXun0LRia-$K)8GF zf0mNa$lE2U6oSNd#K`(6G2VZ`(%d;%R_CtYWQ+g3&Rjq0=U-dDUXq1^C zA}&mzwZm@^w^6szKYnY+P@cx*LrP!QkX|A}2WEjd-xCHUAP}H7byP*~xbb3FPc7fg zZ2PC%f|kz|%ah0x*z;$ytEULEP4>S2>JF)@7nl8mQ7HbwTouOQ@TuQzeUNphA~oP= zWj)Pne^R+E$77@g;@5Du5fQ`>++&kKoUb(Q}=(D zrOOG<9?bPCnUEcIih#JoNcCfUxPe#Gf8BH@vi!+por&B z@u;Sz^d|%C0K!#u&!2B(^`cRSk$;^vTX@c*yiPL0^V6AR!2r zqNnur1tP(S3GZj0;De_nq{ZFk8uUQ|U1UGqR~h0&BXoyz@**;eo!(ULhuy%Tp-VOz zvOOB|v%D;=-~`xz&|{8g`rt%lU+&{7e=Wovib9RXoJuZ#(Bf8%@119Y5HSpReq=xI zYUNIf?)K%uPB-lB_Zs41iyBJ+vAnp$X_mT$sta&fv?p6jmmUaav8H^Xze4y3jun7s z{em2Gt%(ut8tf!Ix$y^Yk;ysHCV=A%IBZ3)ISeO{WsJT5ggI!;cqhKJ*sE))ThcR= zDRu5=Y!swnZwZIcEp;qGEhbDbAGJt0jYRN4L%hg<(F@XLd6|3`hXnLdJy}t)gS{bK z1to7>_OaIjfKIAaO@d8m9RXVl=j(cj^8$T*jm-1L*$08UG>2mYb*%}BbW%#8wM|(4 zPTKuJHpYKgXyAc7i4mhq>b?y}8+-KXobQ+to=MYQJ3FATGCf_s1+r|dUht7Q&)?xY zW>9Xvqzqc-O;M7Te)qc|>YkMk2K4ptC~qv;Ker+#G}-TiZ7YxK_k9p)!_%hbO*Jz! z>k8C_K3eNV0|+qA*v4|c?)c>I+z!h*qRR{-)&qO|`t1&2upsb1Y%ne$L;mc$ zd{0f1Y0sYSC3BMz5XTDShY9lg#k+R;wbY|dl5nocO%qthaWdXBm>{+4lBbW!Xr7XW zax6&easwS7B#I{SXTgxOb<60ft(@$bKd(1Q^+CC(yF0(A@NRG><)ZHt%Mk6D~HRyIZl6x+N>_FzM$c z$lmV}1CYXF8f@;Bo^JM3zCKmUj1j$z&}0S?2L~eja8mR%gPL23;V?B$0-pSqJD7sP z<_2lOv9??VpBc-^^mXPYPK(w5oqqA9fplJ}5APdoF2l!!)7x(Ey&$W@pLX*Rd>~k*Dt)Ps=W82*;>&D#V-=ezwGl zE|{Dk_YxZXaAQi(YS#iqvJ5mELhG zJS+1_6lEhLsu!!P-59q%28{_#d(`E@)XR zt@hppp9d33+D^4Odhh%4;=Jm5|FS?O>@@JhykE&z z;WF|(*YB0N+dNSzDV4w8@^?r}Mb^`oy371$WIdHH=c+zBA;`e`-GA^wMC7{%54>yn z3odwkK3xB45_w*A@ytTu-0HvnXDpg;6>yZmLApd*IeFKe{RQG?R_m?Z5c|4J#-%>r zt$vKtap`AyqxHHC$dO;bGXmC~{Ug#LC~lrpSGeBd7kkTp8Amw{UW6}Nt*AU6+NIJT z8g3n8JmvnyNT2PG%=pW2o;ey<07JXM#&m-jX7nu9K5ijT@gu?4aMX&+3=<56USg+yQ>=sDdH zUO_|!&j}r)7KLK>!puReK2o`NV0khwN_=`!`^ zSXdm2H7BSqw|D;*SPg;sc)n6_ulofZ`@R0k3v>_`{y6vk$o=~_@^SdE!qA;uvT1)= zm+1FqcEp$Jfrr+%1Ek3Fh=x)9NE6$CN`Q8$(9UHr=LJ^z4fHvp{<3J4X*4mLXneeS zgut7n_zRl!HbILDxq|1xnCI%j3a@f|FdT-aPjtVLM~(j5QXmZ)bOihRS5o@6p}TWk zg9_?X^tqPxwJ1IQJLjgdf6Ol;;**r~${&VVM2n<<3y}(B|5Go<_Mi2;O!BX`{9nHK zLx%&Joto|H@pkWVtTvnFROA73XmJ=B1IZ}3_L;tz(4U<<<5xCRbX;Rj?NIq*-;Vq# zfx)`9Se9*>2@ zus_2q3X@Fm^5VEo2Gn23~lW z)mPH4`r2>9&2xFIKIrMPRdx7J$!#6x`V}nb{3?N$?FcQ`TVOrzIInVRw9H(KEqszr zN~2|KGS8t=yM>T#5ryfO|83-zbnLl{BzJB^X5>1Z-p+G`P_4tt{p9@w}nD z%RTY<6>1ewn_h#6jvs3Eo;W(j*ld=~aO$o^#%yEk7X7>(MWy_YI}zzQ!OmoYoeL?` zOxF>*jqi5X22Ty6xJp)PZcI&cGt1E&oQwJRVnu1Skpg5M3Y|TC>|U*QP(E>)!?ysm zZR+?OO*k^;z##Y;`Pm+_W^%tc_nULfI(i^}AY;jV@b3L#5+f&{#s>O0-zl)4Q%*wq zK;FWu;Ma}!*WrwA0>5vwDbp5K*F|Ldi!TFjVRDy^Tz@elhbu#qxW(YZ?5C2-M#EQ= zrxg0<)2?M954qNW0}FPORyPHWrmSxsqXt7VXfaL=tK0XkT;j8iiii^gF5821xV3(`U{ zvI(}+m0E^^Q+$m4r2c#jZt9fJk)pcH)`lercQI-HtUW|-bxvon9evAKD^xx!sUE;DJ%ci^ddgFKJFLG=+O-7oBp!B+_U}5w4+VR@-K_I&3|e& z>m>j6xYK0++Ifi#l=~>lU-i!X)Owx?I-=Z=AwpY~zi~0Zr&1qilHZ^{V!n3;X3j_%ug`a4UzhB3L>9eU(nFiMg=ycdhpC=YQAr|5R((Og9oC zXc-Q~H_u6TODEa8HLX@yl+iT#B})c0`j5S=YS6hk(TN4e6fAkTw|k7?9s^%!-qxtZ z7T58bqvnG~YRjapi~--?5YPu|*|ZP&MnDK`$vg(r`90BGr$Q;KFL zQ~_Lj@-;j2rK(=`eLW?t;Aga065p*o+adOR;CBpz;dbNMI1Z*~EuJaA)PCBSVC*9! z+kAQ+=MI}14j2c0>(SQL`06Lw@IKly`|F=tl9b6t%izW7;a=gOQje0~J z=Ab3o{`M~xVB}_)md_7oOla)8$~G+iQ-(AY7NCHy7S&D=&cerrgW9kjtcl!x^O#s`$m>rEv#~nV(p;3}wdTWbBblSy6huYT}MF+kHBhJA= zyMxzPo{fn&ub;2k*v~IAfBZUf(<1|0SzzQ{2StOophw@lvn4eufF51)sh){)v%-@u zCfj*dQud?e*q*c=ork5?xUBtzBWBduDqd7eRP~{%(f>8&fT^hJ?Dp$L;P{C~Bf!6+ zijLICV`l?;A_sG73}AMWA@$76xoh*Vz1IA#ZBKU3G2lT6f;}lYhqb-AkaFf=!J-K( z&ccq5I(d)fd>{K+ zjFy1zmZowMcV8mU*{qj2^+|TRNZ`!$v%}?008A^)FW=)-I(OD2RP2Ur+C`~}Q{@~% z^f&L{zAmBaLJKuKLas*^Rn-NK2gs~8VANZFpYSe4r*#hoa_Mz5tkapi+T$3=s*1A9 zDwhHSk~;$GxKKrU5JU8u%iQ1Mxk52MI=Fx!eeEY>CS!-qk%YnSf+IOW<(M<6KP>&E zqKUI8Cm&F^iN%%`Es8nzuF0d5o`z)+Axl=@DL93#RRWpaSe+EMi-0ec(uO>DD&|Qu5;H^Ajh-4Ce@*6nUjv-lGsqep^%T&BpdTz1_bq7w#3`HupOU zPyRuTz7$gOHBn?~*VKw|`FJ2L7f2lPYX_**D?Ld;iIUw=O+b8r*5KrcJl@z9y#a6Qg!7L=JIDDE(drqK>r?tC#&?*qpbQ?j?`z%FA-^N@g?~ltu#`4tA&K8 z2wsmOxxfJG;L{a7o);Pp0IJWWM1NFTdT5M#(A9_vULLnsQ)l(nYwITek*&(;ETcoM zn7z@vjr)?Lbm;v8G;m6?fS2j2hd0X7tr99a?H*xxs;)zxk3aHa z+-29+hG+c;4UwPE%vTF*l2>cG8^2_Ml<#qQH3)#->7mETo1opNL6DT<4f$^#Iyml5 z!&MC7*sNJc@7!pkVEj41&FHSuqpNIMrN-#0IMY@Ks`1-cKv`K#e4~Hnfwy~6ljOM% zZK0iM0wDKjl%aaB5XL)bMiK)j3c#H*CaQJG{z1c@y}jr-Mkbl&261JR>;{DW3J;xA ztJ{%kHq|%s+HsiEGvJd)10;6#igI`vrM}!&+I{ABxV%Br2}4FUwWXzecLP_B&6jsU%z;er6J5Bf})#H&ybr zCe}z5e9pI`WJi+lV@zU<7;dU%zB;co96Q6~;jiAhIO#^+D%LlH>Ygu(7vs1jA=~Vc zf9qk{zi?(eZSwujD=8O{^ZRxpV{8&ZJdmT7>yY@s3zAvifMdirETdz9{*~Dox3fAmz^vcVg)0e zT$seb60yk2=S>^x2Mq{PzFhqNx_2bw-4U+;QNx-Il2Zc9nHhlSdyURFmN`x)$*f-O z?2I(bKSG8MiTeQ98}D_NjNUWfB8$XIymYQ{;DToLIt`)N;K`|rAryl39}k=I0!uPn z?Q>bfhWiaa5lOZVwPSc<0eI55e_kW z1EBGEqRbg6xPTjNiq>OS`#~OYp zOmf!adh=;6cejMHdeG6AK&$5136FAR{bgcbQQ<&RV?>UPCR6%$PHqm)seME)Vnooe z)cSJ@w4u*=-bS8ZS>tCwzHoeA7T+sz==Rac)?o}lBld-2(XH;z2i2f=t6K1oVQ-F5 zh>$<5EbwQe1E8V|Hi+P@^Mw&x=o3HPAby}#D+dF`_g%wd9`X3nxFEgfyW$CDST$TS zjKKJJ2Gv234B*u&9fg%~4Am~j;UNTj5O6sii^>!jpLzrGm6h>Tz;e6$^gL1#@Nnd? z6F$gRvCIG3P}%?CKl=(W>%QA@;JFp}e09D!a1WAMH+6Mu?h1VYM)!(mb?0sespLW; zL1C<YFyJ(%P##Q1#_1yPk2g5fXTfJEM1}SiHS?@bx1rQY23y#At<3aF=(9a0J z6_;ZI^NY>E`tr8Gn?-55EsinzY|(|8+2VlCS}RndO^%e)#Hm zq2A-N-APuDM4V(dwiZ_JIc2wF+q$EW4lfD(-DX~7o{p^gAg@PYzF-%oxOEDBHUMWe zOZfTFSWGTWetzH4x?Q>1N&}~uT(@BnLNF37hJ=r=<4Etb6Wa?&67pbBFhez`wFXgi zk^kxt3^*sEB~JTDYL?t{zU;fHnW8gE-;|H&BPiN7QWEC!j97IYw}Y8(`8u)c{4M3DbY`K5m8j0FmhUl0q+3zmIZ`J&2@nqXzm3~^Hc}nalBh8rS+i-FzedP+!1reR_koJU@mBB_8 zLer(d3XwyCXLz;{&T??sE>1+dW6_1m$(cGL)4MC3$|ZOs_<8ij z5Zes{K!+Xt`Z$@;9bQp~)dCYRF3!Ew}k zQbx2ZWB7dPz;SQ0_v@N~TrOri>#bwc83~s-T|Qttn~9O;nI(&?g3!ar&l* z2e#T^nA*W9nGcw7=(XCypt4~=2!;03S~4zz=50lh^Gch-uj3&m&y1R=HAI0FfO4WC zn*p@ew0OeWul8bawVT{nJ=2uQi=h=`??1&$mc!ii;&;0#Nf3G(OT$ZRdpmgp9O6vk zmkWc-DJ_iAAaV&Mp6Kx35Qht7vf}n!u_b-v#qDFC*%Vc>M6OGm(VVIJ!{rC26yzr6 zrw1rEY3D7v=h(A3ieVdT8NaoxN|Njh>K(UVqIU4ZZ^46iBT2tjql{$v!d=`bebMYo z-X_QfBAs6}XjEfKkgN&4wV)~ZzlEo-$O(P5n;c|kiw%C+Pu!x(<1y}@+9bYNs()Pf z%DF}~l1O7i2TyYkZT?P`LyHeq(zyj{V{^60jO7QzsTunaL;LkMwNFQ`BmOnri~c8N z@+Wy3opfLSYUfB&0|lna{Jlr-y-(bAj%^<|2`sL)_u(24@a+OV^0oQdoqkuSj-=wZ z*ZFJ#ua@v)z**?UZ}Ge}AU}Ms-Jn9oz&kL&NjyS(mUOI^XI&i}Xv25z$q*57v%dq? zgt5FLWdAZ>n?oM!b*Wm8%7F-&4 zna-2vH#0T!ep2<-+g1EQRoAWC_wKXzI(x0Nb|sWhcSyQu0$t}&?E7*fUKD$X-#L>_e9J*jsbSx=vb znpaSh_%&>#UtZ?@MtUw%7UC+$k>R$-5rYJ15oeN9EN| zE?5}>F|?DfpUobI=TLXcMQMc4r^kp0N@!*}hBr$$)+~-{G-OAz1WwMRL_$p*u~i(Y zXqAlqcMBW`%&&US!|eW>P8G|pCIw}8ygziNQ-lTqO}5OONyjk-21;2h4d}FFraGLG ztOSFML`jVKL$RE+7_Z*`IiM!!B3zO<-47w7RLk0TWTG3u7pfyTNFxH)P9AGdnuzy9 z#kVAwi%_tIjY0(>PmyGM%kRL-Ay965qG1nco^$1(cS=u5w%2t zRU*|JRVcm;^&mES%&n`zh;PQU8ovrYY1d@Z8gKM+7+K#roNuGW8~USlFsE>odsa$8 zSf6xxou+a*KtB~i05KjmlRahaBeWO7`+3^9dJ6_2fr4niVd8!~<4f~zHeA-Jh22`0 z`LVW?YpR&b_hQe>>3TfQdU24T}?d0`T0o(^$= zz$>FY(td%z(JQAVx>-RtExIFksJ#!Og`uYXvYs;OFXGU8+Ln*j5icar81P$6SAPSQ z3TtTUbSC*;+#+iZso-e;Y22$7iitce@e@$;#F22jb&$=axJMG0zaw8C`TqJm{uAZ?Nid(q!X?Se@dL^WINvN~-^X z>k@TOUH~#W0Or$&(bYBxKBr@gLXnhDL_;(3YKo*uPZ7O0BP*@iXOZ8uYl89?id<_9 zl8!LPOd*D)yiz4XwBq8dCDa2hzp3FBQxq(QHW!o*o1>op(0#wl3i)4^@$cf=$CqBe z&B@NBONDo>U})P}@+5qhvGl~_t_d1Hth>}X;?^~LTW(K3d2Ny>{PT#k8mo4xfCiF( zKK6yMhl$5Dzws9agb0y%l270ro`fx&DDB$2sul`=c z9v#-D2+o3t0N94ZA^W!nssF!xidO7^0rAyA zPTlVy%+}2fnhK{zSc_xk;NAZ(Tk;=^hyOzo<{s=00$swZKgn<`ZPOkNBuF9F*BZY%eHLd@7iNqqjd&ZP`^?+Ec z+UJbHmn;^wQSiIk*5cVF70rfcqt0Oz!01Oocr3Z{Y%*F4ak+1NbMg{W!Xh1c)DxM- zo$l&f<9bhRuI2n$`O|px2KG1S&-uIOSgA_Zn$nAe&hpx-F*|2Nq0kTZnp59LRVECt zthpvXIE3$t@3!%VA4?x%k4mh%2q3{cTPw7l5IjELVaacNe|>%Yj8fq{#VGCYjkyLA1 zAFY7aTU6=`-MZZM(b&()Esf>KPGuY)?+|~T>2=^4bboFfm zF}(w2LDj_G~|`M5yA;f(wh4H?M=locgR(`^Ix|c`r8pRTM!nM#zItUB3~Fbb5HJFl>d z9|HvX1MWBcXOd0z#clLF&VbzKkbv*DV3fE2H``OXxDa)cU>$kCab)MEn#ak?mh7(b z1RtV7OW~@j+g6`BP667#wVZ?N4u3ewtIa5b7YJ~sFyp6{N9K3*LBV%JyLiLpD_IY6 zdo$v$8g$R!gPgVKbH7(AjQ{@SKKreu$CzK3BF|?Ty3B$RZzH2}=(aMyo$7eeV^%e`eMht5$NWo^+sCvBc6!v2U~8I zosY%xIy3y2jFeIi;djkB36B4gaWcpCl|@we&E*fBs@%SedL$~CLpVFJ7aWhD$ZRFH zov(dnb0kBr8iJ7_r@8LQ)ABrg~MKl?TuUlA1myBw`H<^{K+|lJq zKqCuQ66VO{JgS!|%7`UD?_TfbDaqo813J~>XdT7KkOwdh_d&4pMQUKe047FWrVeu@Zt-Zk~o6S8EdG4Go z{xrF7J(bkg9WW4Ml{Z9h%2XCYPXAYJp#|+7_aTdch%o(AD1>1v2)q@tt2VE@j_rHM5D*#cJpsi zcsu0Oy9SahE8PYVOiP46mwpe>;w`}MDX{+Q5>;icPe{x<##-xoe`C4s73ym?Kmg9N zP}tFUraG?E6~Qmmq6ze0{qwmN*@5prAl}r8i+TVP9+1^LK1r(3dZAW#2%hWnt&1vm zD<6lm_|K5ybW|XpX0q_L>73=Km+qh}o=glS2&kziwV_zX*^{oFD<@m$W52+rMt62I zY{ZJLatu!qp^Hq~IAzS6l9>`fOZFgK+O_<|&fS{0*6X|#J)6?la1r2k_ona}UL}vG z51Y@8Ic!FC$mk@!b7ed;O>+O(6z+`C8bwjm;UTnZSu?|XQ*P{?F5}XBHmN@@Amd&{ zQi^(MYH#OkZ=Dk$e!*Iw)}+TJpYPK*8)hvn{g22au3S(J)XvJ7BZ(YoBkLl%-XL)% zsozdfocpfXEwmY9YLCOl@K;p0KmPzioeAMCp+h#2m2Xyh=c${0kNYUjua#oHnRl0E zIkVnUR~467c-cwPF;jz<^?siRC>?-%b_I8Dg~*(^W1xd%x4P(*QV~!o1ot7<(MX;W zHHIJ$P#bR$_86mK0i$%Y;ITkxvqNZ=BZAm#-v~X$7CF3!_<^MRPwZC-?%)%@SD1k{ zcQ!6Wm@eS0PY!N0Zexu{1|c$j!J%gRYH)DV?&@*QwSIsdt=GcsBoeK-#`_ko8Y>={hc zTr5CYz}Xdk9{G%fo+N8pd6S}oGHmpPt2N#*zKc7h$GyDDJ9uvDAwfriF`LZ(@fAyj zPI63jMS3~}Q5o(P=>^$&wl`im^*}Qp|DhpyW;0+s{M?96bE4fNV-fUBsOV;$9 zv!uKTreM>xTx_>?bw9s>@SjtNl~{vNJEXa}TyU^}m4T)%SNE27LCDK+$@{7+j*WD8 z3N6-2KUM^YXD~r|81tsBlnZ(-tgm7q+pvvbcDn-f+wSRez>?06(gUH4p~nG|4{TV+r-9m`h|E>T#4x>dm^3m)oaR`^#VTgjh5x^u2Kn0Jh7ezV&RdsqNrpops%vs_F08@!zKiFoRL5s%_<`tT{>+Bj@tJ3QN7K%^nINMl)w>c9gd0uv} z9Q$sqcJG?`a_hckYPxZx;gxd>!Xw>jbHzz}%<=x6Ule0kLA;~IqAZH+{#Z|h{Gn_;*q2F{wfA~AAQ7fvKQ!sKS zN|Qpy=dg^!Lz1L$Xq0-7}y84^z> zSC@xV6k>*-(AmR9UR_h-5-UE~+3m?3dV4w7%=uPNvjb1s*r;6-BuT|>iyOO8UWVw> zDZ=%AndONMwx}Z*KhIE^#HBSye^ZRPAAPn3{t7dU_W7EOzPRdcR^xmFKxVdbLp(HQ zztQ;gN;z5KZN)Zk&Bx*GZ-Tvc5*|-uI=p&*cHex~^sw%};7aN8pWG0~OAb8sSwLZb zcA<`81##v!EWW-3Ds}KaVL5v<*AP~PPL-6tbVq4=&qrnRb!FdwEXORh$HZUfdzt{o9>t1mCC3+# zLnmbKFYnh1!J?BD9xpsBY1YMZh1je+_Pj4-TeAVq@5DUan7Kv|1fCv}R4b~ZKS7o~ z$ff}y&RuI4Owwb8e2o7*-?@V9uZiAQCX9i0zM z1`zP3-{~o~I8A1) zr=0G8x|6&yz+C^27N9`d9CNa_+1iUObKqYosIv9ZbWU*PSq;RlEvwc)310a3>2%`1 zHirMbdt7tO3mEg!rh0Nyo;7De5af4ZiI$GK(korlbW!0Ap;s4{sVWPvwqv(_et8wcpDn=$V(wBHR6Ijpa>Tvo3O6 zchmoA5+z$pTS^*KPH{ASi&kH=-}a!hB~rZ^yQAF_8dt*n6T_Ij`t2Hb^hT!4VuY-1 zbA4(>vFZ+dVB^2r>sg3E7NjMmvtJ&x$+e0X#EeBWGoYe3mv3Gi_nTaanZCX*s5Wo; zxGs_HK{}IF{U2*!qOD~s_nXA#C56AwUD%i181}?&2afF>P6KE97d-iQyvhDmA_MK- za6n!028uT8ktT`!k$n<21xI+0T69Ru2gT$_{lr`~Vt(&xdmy<78!V=!PGg1R z<~B_RM#l+@GV3P&eW$}I$nVIz!5W?%*tB#FOwOCAQaE}xp1i%e^?fi-2kLVo+r62$ePp zgaU^V_qyxw(kklx^Rv4|4oC;h%)8#Cze_Q+fh6(}X~};2<ch_!R>bag{f)HjeMUgrJZLMrrrQGMpic(a8@3R?VR@lXLR-(8jj<` zdrFn$!x>}BJA~l49(!TWpn1s1=bkosVZE=n^lb+4*I(6s^#7%;gV#3J_=*p-x0}eA zD8T|{C@rNv+{h#|GIl9ms zKeDcq;nPRL=Zg<1UiY74pwg_*WI=yRy&pdtMCves9!u6t%eD_q0%%~roDTH6R17q~ zKcGEDZ(o5peHw2mrOn(64wt6&c83o3Vr_;{xmovFVmMKa5O);VU!%YL4SV|ZUJdAx z;PLbAS$2!S-sPTbDn6_=G30aqg3&BDC7|-vCuW$@VHj^7ow~XH?D$Z9&JAJjB@ z0_4*R7{SK^e??M;+H1zXWn@}kX!;#pgDG>I+f-eVIaYnP%+Q5T$UuFHp>xP^Y7bnP zcZgL`2-deIu11fhy_b}Cskxw)e~QH_H~22i#4**JoOVlk;R=~BB6j4Ev9DVwiVang zM+6W8-={fgZ9r`C%+vE3gA>-4qO%c@4ALhiJ0h~pqhDuE$w+rSK0*!>ci8@&;Ol6g+!-Ne0D>1lQ5WIwb$6GUR;RVEw1$PowH#++noXA#%Ho)lY!)C)fN2e zVzYme$M-eV#TO*W7HnaPtv>uol*Nio0irw_JK!mjCPqw~MranumB(8+6S_5lr;zg0 zJ2isF&S0kZxRr4%^aypgz*UItxd34F>3s(7oA1He;-(Kn9B*2F8bOlz4X%DBJU8$W za&d3vY*@})-90$%Sx6yp;&MH&R4~UOs$t3)@~Mr5Cu`KD?0dZ>3gSYPpPSDn>CVzw zYJc>WJP&KletfJ_@`xy9^-H(!Xh)QHpyqaQWcp1Jhjw5|g2V;9YiqE9CX*YyC<{ytwipXJdwVFn1EeU#7mxpeGD4bNO&kSMXjUD9g{@yd0w~; zo6DF%CLb%3(!6tpyQ?srKg!Qki?ewU3v1@#+dy|Xe8gdG5i5VxvC;5+$ahD6b=Zm8 zwh$IwSvH!4A_%qC6E}iMSUE3}@cu9+Y^V39K3{#c(v^$}R6vHX#`!G{6A)*>MW!aN z8vYs{S#SChppIBM6beF00znGgOzf=+n53hi;Yxg z5Cnft?^}c-kEIUKe2-ZXe4fX{W6B_q&7Mj=sa9>+y9fVGE7hZwFz6K#4&}Xq&ei|z zA`P$TfsV|<9!LG9cZCmQ9nq-HpbU4b9yRSn@ieN^LBHaR70Xvk{% zG^c(wuKno47WY)xr@ngY`aD*s^@`D$e^bEKYAOgu$Q?iAM;N0w9tg$jYJ~5zdiT^y z?=--0){4g2eFv%Y;*)dfb_4G1!0A{pRXt>@*q@`uy_-$O*HdRj zT29Eve-3{CqKYyXGLIQDQ+ds!BKziRIAQI<#TkP;!o$}cEF`H?XLlEN31I3A_juBiHzQ!3%FB0Y>a z_fQOLS(M~&MKL6^rwVUBk1XvU7Qy6dLekH_41Jf?}>KW7; z7Bb?_9yPwPO^`O|!y6ku1l|J*{+l~PU~&?6=yvg$sQdc#Ob9l5^U5`IoBnRMye)A^ zh>LU66O=Jo;{8@8ml4FVGZ>frEpRiSZKe@+UIj1j_5pBJ+#D_NG03o7o97=BWf6J- zLuj)q@jj~{BMf{`E~U4}myGC1Ds6Wc{3VZ|tn`nl=t=x3z_l<1xzkFOKAGj4pY(cs z74`Zwb!aWyo^5w~yv9E;hn~s45FKtX?mxBww@DhF0K9rPzNm_VK_ehL? zv}WnMh|XOc4S8zKrKM&Q-;b*eG>x8q_p-xcJQ(uCI~#wfddiH^T^rA!SCX^P@g!_m z1PA5@`@0z+tvU=`?63EMI}m(inoIHZKYg$DE-Qu(JHM{>H7-0EeH}Hj(nnYGuwOa@ zFMxO2{;-7wFWkoFNdZ@kx79id$&s-}sbac(V@x2Uw;tGH@nf7LAmPA?zF3o(eD?J8 z_9g0?Xsyt$Pxc2D5KP5;XGqC}*QDg=_VPp7q`&WD`6H0juN~U4Tg#n|c;H7G+CHXr zcZ9Q+pjtlJt07Hm2yzg2@(IGl$=QO$)KhsG)=ubK^b&*4zI(jQW^0SR-TwRy!#I|8 zc;S}xSCFSni7P!}#m3N2Qev5GZ%>`&QzHuNN0vb6i+z4YB+I2znhp0~6h59gR_cZG z&QU+Nrfl-WZqpW4?^+<7&-DRYBrOM9!QXD9qfL|C;IjfCAGbSE)qGx2gJs$f%4eb{ z`ylOZE-mzya+Y6jJv=Yxv&=bn_^}z;9ukCVJoICUDLoq5^rY29 z5QcPcNUyXa*YS{%7Sy{pl!Ktl^hE(bvd{%COO{~gdsdRgyBAhKuuI1_Cwvm*a=r7^ zao2m@>fQO!G&5TkSLSwt1aRl!d9XBr#U?~ZD43H9)XQ-F8lvEuJ4|t5IKnt>4HDKB z8anCh_yGPAxyR!m^Mbw0pKxzmOM0aoy>ZhIEmg()lKY zcxFNuqf=XJZr3AJvuO+a`5pOoylnl{qL@grnrw41D>FD(146q=(aSK4Cw+zMpG*w8yU^+@)qEy64l&aN!&wYlFR00Nb8r%$?jL9}!wOYx6yY&X$QnD4zQG*^H)5#e1b(}O;#IEwx*x(qq zLIgSQ`KM46IiZV>*BN*E;F#Mxa+`ECQUiGhRK?5+m!&0@tUaz_a^wRtc>7 zaFuFkYjYU{W$z*y-Z;_<`C6mapQLmTCy8$%c#d|D!jMmnewKPGbbHAW9-$r3HpWSX zb^$tvqh*2yVyeIR>_Bf^ITKp(oeT1r_jwNuXk}K#TJlBl{utk?CO7ju)-_Tx6_l>5*@~>uWw}si5~5kRxAvPUrxZl!?(b*W2oIBUi$Bi(rlueeHjL28)lqq5s<5yClJ%8A{NHL77 z9a3RtV5o-FKsYEw9yuDS56vKni5eooGkt?8(DIE(>w9QtZR1rHoMe%tYBiy%B__Pc zInUi&xZ(6KG^+Uorrlf*NRY?0FlvMXjigG*^W@WUV z&6gFIfm?zPoMxW>Od81i9lT{YbOx+|L;WiLrX@Xo&XFJQZCz>Bs??BA`8zMMgXb*o zv@AYS4z+f;e>OX@ZlD^o%n^Sombfnh84ol#Px3;u-NQ+kg~9O%C8`Z}?GBRI=7UG+ z&|@h_!Rp}VVIorar|HucA`!?qhMzm^!pwpp%#UbuOHU7 z!;P_(ZOv|DTMw9*$WLUOW1Xxx#Wc8}I&6Nj@`#orXAuV)h>H@78Yz)JtqQ`7ogLkK z9KD9cOs~_zjM9SiM+eUs#9E4r%7aK!kL)qt$VWYp_)dzMY9snx{k*e_lC#P40p)u} z$Mw1Gd2^ZN4P}hGTlD)X9ztN!#jc@6iUHY~mz%*{NW@!)EF`9o?ypn)vw(7lcf4^1 zijnBnoCe=Y3`O@#KQXU+>U2T4?DHuG_Rqsf>D$al2cgV|d3H*eaOmk%c?EJDX6>w6 z9uKo;U9SeZw3yQaEezd+pwskD*LUuLJS)4X%Q!4bQH445OX@G0XnN1e3o_-1fk=W- zb~01O3pp?Nhd2Q%s35A)PJm)!f=-MY{*Jj{h4RL*2fM_G2DZYN{nN#y}AFpj~ zBhYZpiCvig6o~C!AM+_E%Co&Uj5y01Xk@ZPmcNqqC7-dzBh=QBHp9FwK~p)B&YGAM zUN8$1Oa87P89kxC5x+Y2f&1SZkx5F36Uyff~kvLdREpt1i^N#{@j=-Z@U;MSRw}WHGt> zZpdKR?~Pp{9zMQt*l;dK(l8`{=ASoEKH5mgsRx=>_@BC z$8TKDB!OE9w#$T|ESV)9-WX#lAxCRWz0=tsKl$*tYfSp=vmz>7gvQ&+(L+Dk^=7@f zhMXIDZU&(e?m!*Ul~Veclhz!fF)hkR{kj0r=*p_d(8gOyky!LMDx;nb`VyJro+1Z!LL?1Y+R<5DX9Qmj#GMg&B?_tkM%L_RzZPmfnY?$(S z{&<51=7z)8Awr)_4?w4j%1JUXlp2%}@3zVWUsg3nVI`>~KSS+$JL8_H(H6MjlzNPc zFQkN1wl9gO*MvEhmznuAW#0!Sq4C_(iu8E51uL^#^VZ~CoJY0Pt0vqO-u;dQ4qDkb z-;EYylQSUTn-O{HW68a%->-r>aaVrzXv3PdMOEJeWcc8cMszfaEcq!`5bTH@UrstE*CidM(Rw zA)i`^3cli98u-=w`CHiqks-UUjatC%UiH#F98we4NR1ho_nO37IdRJmS|Wn$-3X20 zQE8Hf_5^&*!6tGXPJe6tui)T@Y*&cW_vL=V&dZ4sgZ8*r8(h44J*8Me_#xstCttFN zxt+Ld0dt{GT*sr$HMbFk>uy$|zjAu}2fNd;;HMSmMhCXWhtwHzfUlUi9GncHpXIY= zb3Kp7FJ-oI)0zFSn8E2u)?TLd1M$-?G~I~%w; zLgE)9DAl<90p~~s6bDE{4<5@`M1kF1k>eJaKaW71LOZK1`q>u{->`meHP7ry<=MLN zlI6f}-wb?jjKt3>n{|y4cER7JY4UpYRam$ z{4gJ#^&IWuK?F4G7E~JA4>NY1&mIF>%XRA#HGSeEt}M?8X(zb@kPm$}1jH|(@LjsU zn*wMnUo7qAYfGaS%;+lG%b%H>k)+UIxT&mkr@s9%h&$-i2lJ@~Lqf9S}GRzGTv^29AQ04vZsjC6^ya!?XwHBxT|IF#}rV3i&1-|fg8Rg zv=-BL2|uCZ(clL`9S*C0mzaUt%!2s`+>Lw6F>ufAnZ_H14wN#oQ@-q|l$}i|ZD_|l z`PE*lmYMNV)I}b$&Lt&TzFk#<`E-SwPua6ZC(-0wWj<#L3w=}PYl$-O;G^H16T0>? z+^=rRZUiA&T}>6~K@g=6?Tg}&}M zrP%p=hXQx`_BWLZ9j|-Wr}VCxxS|#75a44Xo-A3>;6F9`LWDs`v&zqduDXH)iAJ+zV?I<2T*1C%T}!OhDYnXMTkYsq#lzg=Fe0?~u}31=lf2^i_VMoaI^H+C z`u#Ykc|dcW`<@DQ)%OaOa;GH)Z(W`MLm_KvSc%e>_RPF7{8V(g2Nt=vOVM;MoPvEh zZ&`3-x33jc{527DTN<((RYc*HiRr~l2`TX{vLAEhCCki=O0%9K97zw!iY>q3-oN6o zEh#*tLn_cFKGf;#c@~uN;K7sYkJr%Xn)-QQ61?7R=w;6v$PUb+mPF_hmw` z%sQ|ur)xZ;TaxxiA+5Ub`;vq0SB73Wkf~~oA1@Ol%@QcUCkkA*S|kp@fCz&;wlT|n zFLZ`bc2aPg<)BJqpJ!XSA7nV787H83Y=?;)|L0Pro8XIr3zvySa|>w7(6`2taH` zCv?z;6fPCzEgh#R>hy+loqZ|&+$ zzS9glTxS8M0SP6nF!DUu9p@8;9QyO_erB#F22=f$vS$PgN zR3EOvcgOeo$;l>4WSJZjy_|Xe?YyH6_8KGoXmw`1Fa>CHPlc5y(3V|2(AkbB)&;v{ z7o{wRW^4(Vri65{{<(wgw417LfT%RFCba>pDL1snc=FTE0bW~|A;G2auEnFMH93I| z6C$TNZ+FOAYDu~Nj!Og$owF2x4?9L`jpMB&mY_@ws8tweWg^cC$!$)1rbr*UU}^Ql z*~JO*SsU58T1pt(^Rwy~n@X^mwOKHH5x~G)i#$?rG(uCGj&WbH^C9&Tav1i?i!7AP zWIu2_B5Y^A4MA8v={1^YPViBu#whb z*l^jF^qD_)Wj)W-@X!K?kEK_KxVzT` zJ5L2hBUJ0VTv?Pu)|su#O!jC36u;UUOR(wllRYjG&9nsLV0|g+DKs;I%fW*U-J>qU z2x<{U<1d!78xlugQS|a+U0~w!IM}t@jQD(2OIwM+fW?^ZJA*7L`iZXhJ3nY~T!Hw= z@$wATm20G{XGgvh<*_*BQEf$6RJ*DyCmRp8NX*&!zrkaMf)r6dWHex@AP2YDzrLPN z4Sz5q6PtR_hM;Svpsv?ace_k<;7eZ1 z4`vB8h867=Jd<%5CJ3UHWFei}H2s_m?}u_n{L%cQL2A|lR|X?Y{b)pmtzBZQ9Fp+N zFreFHq1l^dYq@{hW<3^iIbhogzQ(mNtMF8!CK7nU>@&{}D`Ehof!;?h?4B^^%N4@f z$YTdA1#d6%w5Edm`@E>0tm|`I3|-zq(LD|NyvLXDKb@37Btm@X(18_)lB|m#_oW!GeK`Mrlx-fVIEjSI>p^qsqcvEo-i2ML9rC7Qz9gg7__g1kxYj0yjJQ_l-3jKUtSQN&XN|1=-7mzTJsajzq-+n}$c062=u$~qASB+U+K99dTv?}lSvD02@cYWFm0Z!mjxgPme)4omes6>_e& zua&lMaO}&S+P$lmQMNv-n7ee@JRHp#d}nnyOp$bLH6d#!pf^M8>d7dGh_ zH2rL5lD_949F4a2W8RA?=S9qP)9PB&)E!0R`A)_wEeTOZaZwfmLdF?n%+e;gjsr&@LzssCV|q5Ff4CH}iUTr(AIB_3t56%pwQ zO=anaUh^ie=FshW^omu-*gOE=*mF6{`i4LSEE6MqWBuLBg5^r#ZbyA|rAs^3#f9LQ z?auU*nRi+G$%k|PV9$Sng;)?q{TJrn@;)!gVQM2oel5l(TOMyKQyq4@4M|)b#PRlm zmtFz|y{mYZpxXm=d)rtm@#=^$)UTNo-t1c|p_;$6P#HI8(=H3(4iOzIqAqiZ&T{z~ zPzSIn9!v^;USu`zQWUG#4fp~{W>NOI8pWZOpakK+87O6`ciap!`PP6~9_*Y&GC$j=$|W2GIY6^ICTbGK6Pjr1+@doTyat9Bx#7 zE$xWpDuLO;un>%NclP8VU;lpv(x4NlR!CYwdq?r zNreXAh7DoPmU4w#;+CfP(>KVXmYgcpCb{-f#(`E-LdtxdxFI=rdFCQnI<0Wg!`}AUEbM`8y|%pZT*)N^hWA4 z`|FMK;YrB`?~2{T%U&P_kBa3jof-eWW_&eYk8ow6c3XR{`6<)*aW ze$w((zX(pwy_R7+gpcOc7+(iYj^+WKgiB4Op3AU&Zo*C$QfFhOcb7x~_teGlwV!+F)aodle}V?|YU`7q+#ofW>`7qT1o_{O$C_KSf;t+ZSmeVX> z+G1Cs@m*N+jruE;b-fUgv4SU*XO>l??|g^(cBE)a=O6{=#>&xpw*#+)mJWSkR-f{NQBQvW3Nz{k+j>X0%YV=~&09O~g>sd) z&xtpkD!vM6%WP_4d3J?|6SgyIt4=He(Bzel3cOWqN$O9nenW0m@_1X{d{p*$IiYi? zaxru)eBUsf02}h}xyqHd!;n7#5=a46DeWNBq8rTJ&an-~2*EC05~|#Ys^QRmuGSp0 zA{#0z{4$RXRW*U6K&Wv&-N-fYSD>7xZ6w15F1$+z;S_dI8HKoG@`CDR^6EfH+#O& zSUeAnfB2=sx*0DvBM2LCfQJ_@`k|<-WO4}Pv$g-n^fc+J<#2nRgu@1h8F=#v)eg6cXsF>vEfA` zS1-!LGJ{4qQ;6nZZvyi_5_5g9lBA@lU`jF58FEoxEngM&DQU6^BSGTuk7|MWl2HL&q$pv2%eF63M&MFoWy|-X3&K2Q*!ALmJ7&TBVsFfw zs^9mR0TYp4v%XAA1KN^wv>ms3VUhJc3|9B*Z(|?(hm|H5^pDIgUQcuDg+a?tL)HWy zbfHxHf>K9nEqQ_XG~`t?@lmOcz`e>p759)9h!NF)b}7p)(5=;&q{z8Ta_kQju4}CK zmrwCCL+F9vr^d^mgda(%%}G;+LzgdrtrC@S5^z(cR+>mb@R?ZPkTcKAMO5e(y+V`Im?Zcc)EG#AiZ1K8nS?r#*K3G)mR_@s5nHiK z3h+}JCGj1Jq=HU_l}<%NiF4KxQO?gzWk`d|Wz%aj@|3eivr-ZPeWhQjE1bxIn%v8c zy1!ZSp%RJ+;4nUe{hYvoTp^8tIQyyw9`!|K31S-nK*3WMVBAZ!@b{7*Z<3S`Md4=l z$5EZBG5D4t=SV$5Rb<#>tfUNW7TeVA7d7QfIM#;xhmv~p+*V8z;zpnAkgadJWulD) zcRRo1ZQGLGZ^GpbFuWG8b?YufAzId;zuV z_CSe~vc0u1G1rN@@`LVmvX-{)pXA2QCeHt-VVD#TxmcfRo!*X^C(6t(6k(1eZsapE zT<~Lnx{7*u5Dc#ywlb}wy2A8r0cK?d2Cn7!{j}ZIZMWpEO=2+vLR>Q$8kue5q8mw0 zxA0VsK!i=DmUtk5xE;#DGxiw+v4?%m1f(%PY@3d$JT(4P&-Mq>gJ!@`G_Wa)DO2(7 zO@fpOW=e{q!o3DZl{S4`m^0(I)yhK`d4Da2I1z`_{ki1@ndC?J`Q)0gG@@1HJ@^lYS*9mPn z^RHS{K8Q7IrPhxuHvCn3n3((rFR%F97Y+!Yra7bkIpN-@@^q&{l;hMN3B#-B!Qu998 zALIXbON6uV!@DS(dyP7LF>z+=RE&#P4APG8+&ZWO{VQCT^9jM0#1g}oqD%8zz-??( zMW7Uf*{YIcA1^xHrtrl7#n(57SJrf2#-F)<@~Yxi=VXg=zCILK3z(-O7TBxDX- zS>9Owt|>b>MBu2TF1gVY)Fluc$JYUtzgPOKqG_zDD(S3Et|tp1x-f4k7%Kg7eWrx? zhN#%0aoWWT9Dy+z@|k~uHfm%*@|7?ifOIN%e%Rj|GsduPghWT3q{#Xa-D5jb}OO2_w-k^McGQ12ZS@70(OHb=H%z=Vu8B$KTo(gI=cOYpZMJuZgJO@KbXYBV&_AJEDkbi%IS6 z(H&cwqqF1^2Y9r3f~rTmdW`(=-q_26uu1My);ArLe}K3nLy~_=M1!QOs=GIbYr{tD z?Zih{r)KM8E8*Y+;`A*kW2*h~NV?!g<{BX=MKBeiRqR{FMi$1uSr)(OpBGG{d9sq&H?zufVv1!D z#~2t@lcvHSe6w>zXZ!(&X|^t%0wQ$Pl+RHb$~X6PbRk#gkYkBoB%0qcZ50V9%$n*v z&eir9~|%U62#1+lOR4L`a~H|UT)AE?+>WDbv{Lg@K0 zOzz}u^r}Rqm9ocpgsN!0J;~e*hiVVIwcJ#^KB7d9=L=-zytxjxVw^yqUl)+~){R#4 z@R#d%Mg}pO8#ah|eENA=tsNc1fyVpv!`Qu=LDcCn7O=r$R0K75r06SZJeDt7G8uJ{ z=9PS!4I8Nu5g7e8?>THbL_k$7y#O`cCV}Z`Lp$um67|Q~4jQwi^45O7fA__rRaa3@ z9UsZ|kxk`Oh4q~h!vDXK#o?2! zJ;MLVSNCn!by->yR1}bG@tlA3K{GdQ3V7i>I2uTiI#u#{KGh=2uJYcod(GIm-OxJM z6$c8C=Xl<3UtMk%yGDgMwC4jmHUmzf9AU(=^^pXGGsuu zD;TNe)0WU`4>e&loXApcep6#4zCc2UXO@2tw9Q8OyfA2@>-P3&IrOdE0zc>MNtzOL z(=ya7Pa@~#8$(LRXF+_EN=+L?2;EcD6Ke=m>@D&nlBS)(pnv1j(hq#{HuM+*A68uf}ZQnJO z#14u*2Pq^GxH**EZB5QWV=M+2_+F)E22wW7PV%s}w%z|rq9)KBufdh@{9Ytt^1%ng zkQX*lN?BVIx76L7rinI99bLTAdK~IP$MFr68hcsAV6QFB^V*!W_`@9A)U+Jv=*%rU z3av4R*W-CxKm-EzS&-5AdiJ^ab2jYKf@SgtijyEG#w?<@rFSE|y@QIk-yMm({};`> z{uDGHhMC-tasrkg$QDOLwcg0(8Y{Kqjm|168IRngaNf&~_Nbdt7>@5#u(b&u2i)M; z#VjI<@}#!-s9IKsiDZ2CVH7V<_Z)8X2uQJgb)DZA6h2yR>f*p}SMzu*Ul z124%Y(J)kFk!=kn9)$#e-HU&^c8NNJZqsyQSkr`NokkSkoNkVn; zx{c>MIJSfEkVaWw8eJEUMLWm*EH;?-2c!4u>w=e1IV?-$d4L#}h&j41(M5o8H!DM-QB@d;6^^anJu^)3V#vB0qiL>9p@zFcm_(k6qr=DOy}pUd(4 ztDyQ9ACZ=n(`e(3Q=7r@{4_b}AM`Z$K)B}0VMe~A;$di}2;>mi;|G5|F>->94sm;! zemH=73Gzuj02zpgu^IrxV>mOoY|+ho#-gppRw0jUQmb2{r_KU>*L9!?OkrUGBT)SA zc7=xnZdd~O{MX1NR(P{U0Rqf?nq~Q~@j7aQB+Ng<6=wRMgk0oBqku5U0j3m644Pqb z<07Es`vHsts@OcsDS*a9AbE>_&>Gm|xH+{ZX?!hxFr(*!<0@g~;eSV>Xe&MVVb6fE z)eQ9t&v5X*88-abJ4GOfBM~KBPmV1POjk}eWitML{1Et0ylnnYyo`N_&cGnwu){>I z$6J3(&=b~IXKqbrR*fQ2jc3TJk->X zVeoWz=75)(z?-woq4`DVZ}2nD13+}xW$6uVyEE{~>BIgzg>Tz9(=RJdOWMsJ9%2I@A1pG8d@ z_*fr~jY(6wxfeJ2YD_lGD{^)-FBVW5JAHdDv7qNw;%5)&_VIJG%jIoIvC@}S^XK4vhF50c0V%)pwk(3)ms ztk7vf9*fuPgcAJ`5`SF`?L!2=_ZWdr#fyB(uJpkQ+4P2~v2d?5X6TmgQTy&H$^UF$8qIxpo8Vm#q z_<=>#VSm99>{j0Wv)9sH|9>Il@YGYYY@6g!t2u6tw*vcG8D-O(m->e}52W9nH4d)G zoIZ(Jir=V;-Mciy&|;eB#TuyUq~JenW|{d?wQiYD)k_O&N9v@n{O9j5jUG`I6@Uif z8<(l{sEHc7Q5-(;ICwE*L%~ug)LGu>P|r?Lnfc_2QR;+$9BGkPG%TyslBI{YqzUog zyhZqJGT6W&J8E^u>9UtOg?4RTYMzGbd*UJ71fWXiXpYWgZxxj>6!h-B@mp6}wkd{r z4nv0L5?39l1+fo2ujT7I)J^PPFP5E0MkG*E4%gk8;A#cvuPj5|RuUeHPq2P+r{QNK z*6(q#6@B=nIwoZKH7{$$yL63gG7&2*&&FUbsbK@*pAfS;KH!P3%&Wr!2gcFT5IV!s zOio&^Qk(8?^a0318Ruo6LxejAb8wisP^{I%{1X8V37Qh`}=W-m(;OdzHLUBEqYcz7sFi4c1?GeHMP9E(q(;^byAO^B?oB8Ya7$7k< zB{YB8%a0_+YdF%#!ik#39{JjXYw;-U_ZKyYKwV!G17CY8+`G+OfIB}}S>-ZPuGx{S z>W=+*J;9C+;FuN?ckH*}RQ+eh#FJdm;o?SXC5)Rgxw=KCD?H6j-4TK;Ycc-_EC9bP z3t|M!gL)u~hUGeUCqg>G!uGGZ90}spO2LnM^FfU=D@o}8u@jfQln|ZLY>vsQ+?5>? zI|=b$_yd45Z$zS{Q`Qtt7aKAg=LpjfmQU({mUImO^z&yXJAB00fF;U&URss={fPKz z4W3;~+hv<@%leP`i~cSP-=gd~gP!etPKi#TlKPhor}V$;5I{jef(;jDBLL@@;`(<7 zap?o*0u&SfqxYNoxEWy4694ru!tTmG#di~x>nM!Bf~L%KiN9MLAk|qRuaJWkGQKLI zu{(F${>3C(OXzRXyhir#WX#h55e3%5Vd=&rvYHt{wB<=#ambF#qNd25_&55WOf#Y!@N!<}80=9-wpiwi?C z5T6l&f6RD@fz3kyKT+EgG{slMn)M^4+K z?IwmG!uGnqq@?|pgm|;7$}`(zIty9S{gZB`Z#htwtqM23R9)@elC@R`?e*cs(nayv zT2$SN*)i|;=cv|l(?Wi0_w`r#^4V1f$3cuUY-i{T?%r^6CO$H>JDw#SDGB7kUGbv>~~204Vaw+-zwzB z5fc=6SwUYX29pOw+2&uScjokQ{F)*rYB=ye8vyDwmzQaVthhn9)YUiQBgU~p4_$!= zSkb3dK8sTBWf+#LkJ7k)NyY0@5cE&0p7fno&GGJhX< zyEJ4{VqFal*(U^Vxik)G$HQ!M9c&FJ1P}Ntr+v{~6inbGaq^f=ap?fmTYVsA*>@fD zrua;df~||+`e|2Zd&r9f;n^+ zW9;Dyfir7zhA?ry`bwu_oh~hQ&%yH+p)78@|_nx2F3NLU5*5K^3MA1-;Ml8 z{6|nmw)kJlD=OFjQeJuQM0lZj^Bh|W?eVk0qjkW`s)T=h&dID@N+>btiwTQklvBf` zuEA)w(_z1bL1!EoX0TPRr2C`O{=hKYW&*8(gev16tzn=ztw+4xP)|gb?asL)gE}V^ z&MLK6Mr6IpB6#5uWvu}vnvk&DS2+{TiI ze)@HsyZRNKF75dG-3+oy=LIYCAS$x;lZljuY^ydX>%*E_OEzhy0;g{DHYI7cZjD_c zl*m&HLAFL-TyXcnNAtg6I-PLypOa;vO^5}c9T-qsXI$7O@aJ#Cvn>07=B)0>Mx$>< zo3aMz-l&oHK%Ta~mp#y9qQgdxWb+>9CJ1NdRsWA1S=q!Djb=mCNJhoBpB27Z)<&%Z zyK5Hh2!l();%tb&2B>Stkiw%pO`bZT1>T1(W!SL3B14@0VfKN^Anc@Z8eCUfUV-xT z$MmnLnt|{^;3UHLpfydamUyr7IPSJ%rW4cQ_n5OK)4H9*!DV0<7-tw3DbtYLOo>$< zwnTe|{pKH@Txn$6p1f?fi|V8F2a`)fuf3vU_8=CH8_7#dJVA$}90+uri3wSJ_iaf> z=eOzRpj8biTYSrsZ<*-pbqu7ASA}0#VCas*_&OgPP(g)Bu}?MXcWxE%Za45Q@Oz>{ z-DOd$;8|gZjO`z1>V=7WNW!9nzDB}2joMo8KjJ<(dGJv!g1GSAkoa1HuRjFSF*IY( zlu)U*m`{~M)^1M<@bC=lJyE3mqd=-m0_fY}u$U&~``Ma3)WW@(S6*<+q$5I}lG&A2`qSTY(tH z%QVzBR|NQ?obgl!;4hJ#+^v>X$imCF#)Fni>&vB+_}-M1w&umekgYhmYJ{=RXu8rA z%=Y1Tmi%2p6I^8|=qtX%jLUgKboJkT^`~fSXPuS6JDbiCdr4_GA4`sEI975-LXGX` zrxU%->RZGUC&H?Q;77)Qs<|`5b*ef9g}r%-nW3YpfPy#Hmi^k12d>TjGnZ<>BU>X> ze4<=EG{UKhw7fJQ>^0Z6GW;}_M}127bz9XnSEjw0v)67>*!8<%K)fHAadlFOEK98x z1k~_O06`8xtCFyw{Opql^Nu8N4nmjk)Dte22K#1IFf%!|qhONb4nOaYYdx^(=cCF~ zVy4Y4K&?#;1fiAgjr6Rl^g|l^TH6PPOpTEy74}UVbiwK}$33^-r4m~)m_h85;_d5U-cI@D?jC`6wBODki z0*40ne1m>73{dJNIU8%3b|WMXB`BI08L7zx01N>r)iVXB9%e`tIukme(7q7K-4IYi zqw(IGXF4Yp3`1oK5uPqz1dNUZGIJK5-ym7=uj~?i-9UjY?BSMp*OCSi@JlCyosV7t z3GcuN-iSz7`}G#m7}dCUO7VfnC_0!i2-}wUB&P_tT4SVCuUnw~;KkZo{au1TN2u*~ zi|HJcU#j3X*LKO7iYZ;SAYgES{nMAf5W3GbnPVySNAw(;*V(v+ck`3NokJtxm_`bu z3mar7itZoq{Hn6E>QNEyI_x(Y_~*+yju&ql092%QNVX_%!geSMPCNvBp_XV)AvgBb z(OZn1g&Hfz&)O#|blYL%lJBLa-lU9gBriovlLfJr=Z;V1xC^q>4g+C8gX}gM8A=Wa zWTO}+vqKxEbu%)83=1bEv?c^U7Hj@Sss>ZUug&j2(t@?+L^?g$puXreoat$Q+nw}0 zap@Kjf7Qq_yO$`{Rh>A|Q*L(azbu{65q>XNQ~H9LrJ0KG{k$>@X`JS4b1aKqfGMs1 z7<0kqRT(>j)ND|6gN;vDvO<#VbCHI?*N2spQA)&#vwnYA$HFCIS$2%-QysfxMH=p@ zk5yaN{{Zgg_-%_HOpO9>YJDh^ou?QXn2BM#+sza>Vrcps>Se|B=T z6?yFh&q;lasZ1&))C^SymnprrYO+_|Lm;Fek(I)(3_CVp~Ld{fJhQ=p?-QffO+bW_+T|%e44mt{+%MO7?;lR-s;d zGso=R5Zu9D!|_yn-o+{h9|7>~DvCP4y2zwPDEo@)M6V4m1JImhEjrr2g8^Ef$N6Af zuyBS-aMd5ZhxUDT|01rBEtyW&rL80XO3Ro@^+pc6*@Kd|=W>A8qm8%Np$?gTfBvmJ z@_G2j%2g7?3xh_i75G2no9sw|=po?($J^H7-V`V4Bj^ZyxF*hT4bv|pVXqi8(u zrwudxRAszo#}D<}W0%W)j+w%;DyUg=%%@AGk?2pqZ}_J#3RdH?o_E*c%uUpggay`1!|<{@O0}#cex1#&hX^6#J^zcOJ%3e?2Y1LC~Hvi#}Hg92`-& z#94pMD4wpuV5{NlUsZV5o>k7x<*>Llh+eYpXF+<(i9NMFRubSi_p;4wXJYJ(&2ihx zGi8eKAB%o~D}fn(yCtPgx}kh-V&|R3_@laF3q$s*-p#_u@{=B_56!QJOrQze4 z#KtpCT2mz=od9nsPt@J<^|k~J&5~iHnEc{;dS&{XH%9NU0BhpCW`&)R@2v#KMNiVb zVwy_rS9jpuWN7^J(s%f!^vh>1vrN#spS>^d?v8Uj{F#oXgUM3Df5&zn`aZwpwtkoc zXHyG9;RA^VZQE&iXY~ikk{5S8G>`W&W(`RZQ5Z@C#4{uykIta)52Aqi&WvALq7Fld z7UAJO!-^Z&+!B>DsB6Bocv|XQ0lAAPuURhunW>x-UT%b5Vtpq?=;iSI`vo!hxwFTh9C1q22#BDFbVyP^AMjlC*AT;Dn&oaN?eDJEA`ugE>?9 zv8<;17R4g{q!{kw%=HqFRj$}Y8$231#;`4-6vtT3Gu_k0U8t;Qk!qqm;MQ0E4#`#+LyPH`dsHpdf z)0!Dh7YbR4>O)rAvQLiK<2LYY!(kD8WBog)&UbIdh*^D`!-G-pRPSKH{54@te$Vc!jBo)kGeKX+ znzVCO*0fD1HlpJVJLRMslb{EzDd&+iYxy+&*FkzUY_L$`o`$`W564*#f8ONQ^$1!~cgsrWMDs!hu&ct@2oSPqA`AzJ}^wzWE5 zMsB3r6!=R`y|~}?i=dut{|we@a&d@5eD+kRzPhS%HuMLAc1M3PgSMF2%}QqV z{Fz*F@LIWFVQyD07PFC$OJl;z(xa1+j4&O#_m8+zPHpI{R3*wDBAvl-2Gv)AM;n;h!H3 z11Gpt#dS@hl4YbRU!R*6QwpDb;f$%7Z@7FS+IHMmuH&TsM&2SQbHBUrg=f~>Qih%s z|FocCn~M?@WoG84tf@-G3P+*=>RK^=asW9I-o!-sQwP$b+!>iUeYC4Ao(|Puvd_^S zVaOyRKvE))bFx#tg7UCejVtoNp?xgoRg|e(Yw!oJoVhPi2DD=?_ALl|NU+aYmhfs4 z>C@JEv2~m~-Qb*!)T}{UQONo?oSjXe#F=QvY|qZ2x@0vqZmi?s4W~q@Nc7=U6r0=0 zkJ9g>i=<6Wb8lg8>#X}ksU&xgp+dGs$Hts0Ukruw=t$vnd~+zKLVjV2$#BFs5U0U` z8Z@iCNg;DIg!Bx?2>uv;=(qo^S>ugzQ`B7)vKo;@YWG(jDXH^+JWy0*A+b7_ z;ErLteocw@p2t_M4x&6C)DT2l5Evbr@gIrLD(H_*%Z+I@HV zryTWky+1WX1^xnf2*>_a$uqkZ)ZYGj*{>COmLXY7T$#1Io+&x`M+1sSg-=n(q zu(eLMa|m6Chk;V0m<9*rE8wx@Nhp)((-VnXjWK!i5DI(BvTvMx3$+`ttz*MoYBO{Z z?~!C!c05Y6*Zb(;7(L7th)ZUZbet*MfTTS1Ee^$MqSN^&*qNdIMR7k!xsTE^nI_$w z67NmE76l4pPCT-2KRY3C3aExe45ZIR(j7t1YHfr!$cwa;M(g}wsXZun^yMr@m?x}Wt-@V+-Aq@p{KwBlmH5a=kx`e4))$k(CqQcwdT^$0OgJ3ADFe4vi;1DB z8BpWmEQZy>A=pVkh9Y%ZD~u|6R`NyBxalRsmj}S7zPT zFOmKfY0-^*#QE5zB^|mkG>&c3QQzh2!h)VACefAlaeM7k|aT5IBB8m5)qlSgczDd9i6&+Q?B?>@=Z)*$zs9F~Pbm%ExzL>s<5((J4qfY$TLO+m!GVJXOz8W$fvE z6mYEPY!YcH<=Q5K1z{;|UmaMA%GuPYc{5^@E*j%4fzeLNByGuEQK1Bl>&zd82M~S^Bw+`(PKf*nHuhbC=))K zVKM}`IP*K~slSccTp?1`q+K5&rQW=89Tqc@j}Ku-9Kd}n!1KLixwI<=a%dS{qOMtF zPS&$hqn~P=f6Yl$DCKa>ZnJ*gGgejTVs`GHcO-lO3#+=HpV^<_I3H(!aw8381g&k;rL`j)jvVG zX+qg}Me$p_Wi$y2^9|?JPZJy7Jzc(&*(yP|`~rjw0_o-8EzdPhLMrm*t~E?(Il8MGwI3g$SS@`^e8*}W1K`fhy=^aJg(340mbPA2{V7bDqsWmHgJLD+fz27B$wjw?)z)T|Mx~cXu zYBlz5MhOIa^#tDuu+xnYVki1EG*f=nhnDh*J$>G#=+5K}1_I3lweV^v4b z9Upz#CjZT>@O8X%gI7^Chf9iIm}vn1;YpLfMq=uLI5#}K9e|?!lV|4>dX}{wmDr^y zzjqvBJ^}3rXm^OGR@Nu&*_J#!t{r1BALE~tUQei}t~Z6;5DLmXJ0u?uC1^sX8O>`IJJ8I;5v0=Am8TEqG1`d8CUWlQ3XpBPyeZ zgc7-!4nXn6B_mlGqfnmaxRmnNVxp^PlkL`68yq%3$2@#-M#_w7dkmjyt2|2m7j$<& z`5XgU+kb{j6unt|s=Za;$)rXDMYC z*bDm?$eykX<9VwlKwPAx)Cx4uW1}{hzCS0{3ese!qEw%@098f6)I^zf!jn+)x1Be|7km22I=j zb?j|4{d-MBywQM)fdU?YSMhWr)RkmZJkT!4k8ffJ52x=~zLp|+pW!Y*VOHDdldmW^ z4NSANOc1J~e2i$~sz;5JeQr&{cXvg}{&GM#lZeZ$bxYFW79#M9*KLMtI+YT??O4CN zS^mPk;;Q~Dmv)fPW`@wl!eCh4zwi^FlLoUVVnlvwNelF!xg^L;DXH`y_;rj4z(1=W zjC#2T#~1gQFu=Q|P02O*Zi!Id7TsM51XHHx$$w1OhZ+6p*v6ZG1y257*j+Jm_fdt^ zsLPhODom%mYatTKqGn^DA`D^fE=y&$EJB3tzGpZV6W4<8DC;fc&XlkHlu14=Ex{6p zR#D@y((CJQgZGb)R?8fMiPoF4Zl!XuX!n}^NsUM*Y>JBG2FZrb@cYYT)p$xFHnAms zf0MPQHI&cpO(ADd!CCOuMZb%9(x*q4*{0#wshmj*s*#8#o?~vVi1OFA$-tFgKU(a{ zY|hE7Usy$n&SRTw_*^I})K4dCBB!=Lca1sPM_ zZ%{|HzuK%nwP9}AiepmIH$whcVPDJ>hW0B@-^ToAd-&?uM%*zL;1npg)2>;nGjV(w zKlEQ5XE&nF6b1AQ_*f~XX`lb@ny#UZ6xZUo6U>+^U@5VKvZ*gP)vO=)sw3C8H67Zs zF_bNWik(*FoR(hT_qFNW1JG}sF_%avcMcD#n7+j@QE}FX=m~tDC)POf9dl)4fY6;2 zDP0fvKUx6YZoeGJ9d?dNEtCt%PO+Dg^2>Y7Xen7t+jG5QPc1C@v<}X{j#FO@El_hC zC7=9r^L*Zqm(`Jrt=B}mWYEi)9C2Melph}=wq^Fo2Y&7GIetEauA?hberuePpIR=j zA@^i!Y0goGmAKzi2XSCry5ES_){OiA;J4bCh~ufYH_1_39{6%Y-#rPGt~C3MvXC#z*Pc z^}EzPYq z(2UGz6nT0K%SVfjh1aY+)oA!`hLckhgWJYt^k*i@qFo)yxrKpb456AbbPJyuDKSCF zkX)&`2zk7^o`~f)bX~fDVfO91Ogj?yT@@G@`0#6_%?*W2>y3zcnNbOtJchELSOd3# za;xkRY$Ea1kT{c*ko+sFnh9~nUGTSj@E|O`8xw5m9auBZ(4!PEdA|m;!9Q{)I&T{( z4MhZW{TU#rB@P%l9bW8XJbe3obL{ZtS{@SF(ieHD-a@gB+o7(JF3PqJa`4|r9FcCF z9M*HZB;J=9nnYhH)2-S;kteaV{J*-E65A#+VD$WA!uFW`*3e^nfn zrw9R*QuUlNPbD3_%#1a1kq><1=HfuuLd{FNFwe4FLlwy#wKB=%0I-ggTSnqf(__bI zq+V+O5+cXCC~UMcnjM1@KJKLOJvT_oxQ=|f3U-lU2bWU@+WZUcd^ASy3-rktV3r-$ zl;^`(u1Qx*XTK-#iRS_T{GA=HgouZCZ+aP}<|9ju!0Yw6bIl*d^(x~J-6Te%UwwZ>tPWdSrvH-j z;@ghny7J(XvgJo@I?~F(GWP@XLzPL zs9__)Kj}S}ej_2n9T^GwXhE1(IV3S+O7d1D*4kww6-h;ob(y))|X z_Fa}QV+}Dg1Rg}kV3P)UNkK@hX6sAf$ZX*`=A$W4$RJuS7h_S^o_ST6W))`2X_QZa zc?ThF7v?85>#K1*cM`FukM8{wxsgMuU;v^i_|1B zl}fJWWP>cu4ttLs5Y`uqfS=g#L+s>S>XVh=QQjLa>@G2r_cqA&&eYY7g&JW;k3p8# zT&#vwx!I5!+fn5tH-a!3pcXKXyk;wk$Z$}+=@8QGPTX-F9cRI!USStg zmMajH8Ei8j`sRjR5UcN#5_EADt?7an>q#x4eND7sTW~!ME)Tl}3@o*twFoLK3f8Pa zE+>O<`ijVPDv1p&Sde6ANFsp0)Dt)Cb&(!0vvUTUp_&GCd?;rB!xKegk1vy6c3guA zr5O{`V~5bOVw=Us=3sqjvI1EBF-<7{4npa9F-~l4JT7yf6Sx=^GK>3r!+X_T88)ATrSVd^<;$$KT?~W4f!lTBF!>>%K>-z8M z|0P4j&0LRyO`G*ubJl$6&qHm~QFdv*GY(>z?a%tGWSa?Fl%R-h6|QkS(mk^-9%x1(+% zo+PEiPEtA+Le36P-)K)t8k%FOS^e%-Dr&zb1?rs=lf-(P-nLqLSKZFx;3r|P86kg; zF}zSdoyxBs;M(yu+3#SdUWAawKgb~ufkVtwvmAhc!g*SJD3f;4;8x^P_sSW4wG_v= z13Rv?8(5(z&`})%5XPFf^Q{8WP7Cd))LQ&+h1js$KP-7ESbbp{CYawG&_VPX8B=Pa27hC)A`G0D3g=~ z-^Of7l;2qU7W`_c(JnR2}vU>zXe!x;Fn}3bsQdxclW*W|XXI4QL%3@<$@+CqEXh5vZiJq-CYh#TyoaqecQ7AdP( zR0>51T~df*eo0B^0s5RHs$*BZFwzo{Mex&Tx@e;a_dY%;DWjlf1ge(eb zZld?w*|#3~1_TMEh~g^E0Om8ZB^#g6CJjSs781C}GRk;~UetZG1Fg|Fcf>MS`6H;A z+tVDjmZ-fCKl<3SZSJvVBMzb3f`lA)zYu_j@EwRO84>dCz_hH!9-hKWS4BCLy==CZ$*hUJK+?=L)sWMm!UEg0RhoWIOWyg?1+od{F~Ti=QE4)! zL8QhJjU1jtSVzn2gL4Q{qJ)3C%4tgnO?2Sz2_&D=ALqfoUEp_Xt^u@Q6!tR(PW@(i zlqA_)Gk~rE6TNIT45^5kLgaU1OoCEOZmm?VKCGs6F(WniOj- zGpesAb$lbT7m#*Q25_$YMu}W!m^7XiFKcD*B9ykOXwo`bBRdNjSPd@GCxA^U6M3ugC%(cXiKkZ#8{l}3qRm*E&k%0Uh772X zM?nohdlrq!RfbYr{tSXg+y||NdR3e^!Q9c1f1w zs$0B~BRWZe%AG|9a@jmr--P;kMeW2Dgcem4Nq(XRou64Qh)IP+`SyhrT5th5P?S9J zA%=Ppn5EZpG55}oa&l>wO3S$aIvie-ExfGY+X0VYp>RxiK-~_;#Sg60V4G=T7&&}H zK8(Kio;9Wt#=-VxFhEk6WZ2uH!mhyFq(;8((@ZQCH7+{=Q4=UAfJU0kc947-cCIQo z!JGRG5`US0j0;TK_#GMnSS2}MAEW}}9uJvY9E@6ui6{_^xCd+nh~^)<(jJT&!O=fH z9L!l|9*QPDk?pAA?kH@jj;~l6>Ta%y+s=N>++@cw!^0<4`E>{71JpOfZiIL)AtE^; zlxeTm*QFE@bgoABxi~GUi>1^P8>L4mQKMpZI-Hq?-tIc5BixT@ zU@k_bJ8^OoP|hh%r!5QgOBC-Y5e9a}Ldk^s-fdv{Ne_Npb0xMAVqMdg`V%qX*|0^ z!L}5{DG&sbvo;dk;4%%eZ>-&|u>}CJ1XaBNTTg^Ve*P!^IXJ`851;`7Vgx7+iXm#n zrz^GNvtaETf@IH^T=4E7kEv=F@S%`Iii`S=`CMy1~J`FH&pZvA3CvTF{DIF z!D2iPEMb@BCSD8=S+^a6SX#sw=Mh-!4;{Yk{AVwI^+{Bz^IMo)pguOSLLJVCO0A`H z4(NXT>e4ya`?G0`>Q$M2)mjlrK}P(n>aZ?NVS06TVxoo7uz#xA;FBw72b=^TLAAJ- zA+v#^G{5TacL__Y+gr41W;_yYT$LV_JoWYsF&x57yaMDhlxy`{V&S`_@!TF~-gBb@ zvA-P~67F=Ig=~4I!wcH?xmUN@Q?i^?oEmKSd)P(&WMu1NA+STgjjl85e69c8}kGR8+L+0KDJ{(+Pk{HOH5fXaS1IQJ+ zqSE~8?VJsD*<)h?!AT1J9VP$dZN9iHe-?Kr6)<86m6J#`7H(?FkV?Wz0#}BNGHrq@ z%^Hpc7qP%%o{P<@OhWi_{5Xmfi-ZSOZ$noNHRH@C_4|9?^eg3YnjBV5i}9;>c=W!P zgx<(*m)+OP!<~@^LmdVbtYl(OgqPN=gX$0LVPSIB!R)ZKsGmtK8l2ku~esek)X6N&S1Aqs!nYL)l!)5c?@2fDEIcA-reEB za_n9{3Gf%Yha!ee3(qO9;4M=`WwL*-;`#CuodWe>ABUv-_Z_O>2Hw{ZJt*8V zeaKNuO%1FB1P*y9tfBeGm*rs(?YBMkbZVbgwB2bnO$;cpY=)N)S`bME6fMg^ZLOeM zk%4Uf2OMPXgFe(+1A5v5vNl5IsYnWf{4R1PUz+ACHrw3fGT#SKBH8Q*apI|vE|N6G zhbQO@F)<86w6Z?o7?e{2(Jv9MOj0{EkAByIfwSMJ}Z zy}L5msQeeiNF2sAv^y`!NG~Oa-|-bD&F2WMwbC}_Cmw0a-E}*eV*UmONqcM3T=g3{e7o#pH=gQfNi zMJ{^j-3Qt~{I{g^(NxMTRZrIBH&oRdTha_af8di5R{8s7z666doHXoN6+dv(s%_~> zJo~!+g3R>r=*P(P$$K9QH)uBKP#^f*ffgXRtiX->y)qNX+W{rJ;6)eg*BOi=2SrDU z?~2N-Qu_qav&%;>42HZ+Sa@DfhnNkk{v`pC)Q|Sxa*NCZ@TXA<0 z-qHnQElU!=V$WXzs!2`MWBiTmnObUkKjmxoQ20(LaVU`ox&O+^GE`&=`Xg6%2L+3J zp^(C)#(?#_#R^+VAlIx|f$E39nOnI1@IFq5q#lc0K^y)Y5_mXA5Qba7KTntcrb+7r zjR#8{cSM~upMI$+KHBF;XSaP8fdr3&zi9v@!I_oR5wJHnd!RnG;%s)aowE1}{v1q@*`h0cyuq!RYJEirOTsv>Xjs7n4w4;w9{HDQ2EQp`HJ^MV#fiBo zde^w_m}S(x_@I i0_V>wtwx!wYQWwKJNCB$9vR*v$|pI-8*lQzeS{L!XDg+R%p^ za-FMmM&)eTbC>;=HYy0dkz~2zt4B3o1GBwzvCV}odOtNee9XZlSeM>z7&Ixki$IyT z?-|N+O-euTGvxYwcb{q1^cJq_e;9Lu*|lYRYdkDW_w$b=gJ0CIB1{W9y7fH#b_P)4 z^aWO*gXF0mZr(V^P=HcO3RF%6SWuT8D5{MMs!xOhq!aGc7g>LJW78eL^|FV)wog5b zDm>AK|0D14^fiHu1OOua7bixgeOv{-!TwiY-yC0OyKUPxcGB3kZQE*WG`4M9jcwab zW2>=k+jq77_BngsbM9ULzQ6V2;e5uJa||K+fRla}w^o|U0Raaj1qGI1u}wtaJP30R zp>>$CbQF;-`(PVlU?c-S12`} zH0j=l-JEIQ^I6P*glU}w-LHf$nCd3HHl_sQvO;3?`s8$^u%K_ZTrJU+d37s4I=htR zpBE$-SpS67vcK2q15pK%y{+&Tx2&R8>xXcg_0+3&MV-P8#cqVi8WddzWDf8|Scy(-!#k2Eu85CG`9q z@Rdb6by=bl-)S|S+O1MMJ1v=LUk@;3;W)!dL(M$NLxT=m5277B8!ITt06)!7fV{-Z zC%xjdfudH^4(-9X8-x&Jf>r6Wityr&N9HWdB)4?b5u5dy%}lj@>W*I#y8+x@QS5qM zWPQZ#U0#`%T{sU-$pKwCFy3vE?13ZJkzQ0$D-xEw2 zAq1HQV%rbW?BiP~_Y}V<6Ji@PvaK#HoVPXO%Xawx%!Fk2x2$Jl%}TS@5lt~bNGXB8 zcc^oBhiSNQ5&PgZTlCU-uSOY`*~`)>AsSoPSsmGD?OnWBlR0Z*L_~&(WK79yixB-M606@K=z7PRK?HSbvtU}z^o{HGhy|dDetvk8`DZ~= z%)|3(R0BL|pqpW5J>?1YpbisBt`i#pl*mtqIbEXvnYK72nGAKph4U&dA_aPRu`W8x zf|^4M2L`6_a^=EoNF@izY|DR|ZWMw{PGGV-2YfUW@pUDvo2k1Y>KP)z4CKwe!D!UZ z(lI^~@|5?3$h>lD2+q~Dcp`#7ML=0)=zfrwp}fDVC4LL#7}_`n8uX@XS!CkJ8U9xg zdd}c&FsK@%A>eg5yM6)0?P(P4cX?ENhh$cy9aT$_szh*{QtEQ-0=?pWVrR`=OZPqzLU*G zt0*3cWfibj{0C->7|^j>mfSTH;!teN)E^gPfkz1SyuraInGqh+BX!OlXqYlUgIF73 zlOLY>p`Zuw-@alUFnx)OJnXgN$iQcUf+DM|&KCbVRpn6aP=F9sKixhjejpFwI1*s( zkjJhkJ2mUo_>px^N$_TUw;6d-vo0Uu>HA6C3>xZAOtg*tGT4br9w_kwC0?iaa|O=I znq-YpXn>nP_>Gi7i>?yEz(qo>SqJ*`Nsl90h>PXtGMvWv!i+g!LK?cfXi)I>k%!92?HIwapUa(aWM^uO~2KFYEa{$(~u z<690%m=D3anss4H&dFa(;wF-sg*L4->RH{`uyIu0UqF79{F9DP8~mTSl^(8KnIbqZ z-(f0xO9cB)A&*haAaKhIk4a%}iT4!mG^zK(ll0csN4lBFMe;jUN}j#A6`-;-SD8j=MW1^yiHonPw(n;+%l`g%<3nS4!JM$!;X-X&ir^Il%10)wOE~g)_0})Iw zax95B5}h?&u~NA(=Wp>UNe8bJM>28NpZHPjpyfh=6{S||mwl#*W;nU}udig%Wg8Jk z5b3!S1(yYYQvG`cw0}t&TViS%zaG}9=(Uglb<7J2VY$B!;jmg(ITFZ9&6_e9Xi#l? zFEOVc*avK$1F>b@|Cf%uqMSy=sz2N#4;Lhj&{YG8cb6mnmne|N+-*W9Pp&SQ=%K%@K zS=!jNZf^&>-P4*gr=7scl?u!t^Yi%ok^kdR2M&k%YjP<=O>z;pBi5Hza|SWQ@2`&5 zbvJ?V=t@m;PJ#pvH8j>dM*b09m7%OzXTiTCy%FD*p^(CU?t8udS?STLl?j=Xym`F} zih|A5tw}0>oOE92?JHjiVm$EduRhh$nU-2YB%saL4z(wuXVs1A*LU{G2Ji^_M&;}T zGd)I5+`kwLnQ6yGKxj1^yEy8U9&|v~-8A}?9LI5Wi50&-{|dn$*QYBUvW79;-?vpx7TQN;;(Aj)(`FexXk$?On+O z;i|-R`(^H@7CKt^-2SfsP7P{yiZq&wfvB=sL070X3@(#|g8%i`pb(Lm|2!JkY*a++z zri9Q6aFHNh0kY2UNW!z{;vGftTO_5?W(FM&Y%6^JK*YOn_~Lj^{sBZ&KptxTB2f9N zYIm)7<%tgD6nIf|D$zapxbI~lR(|^~Gwkp*(%&?cYD4(aV_3tm!Vx*p`9)xg;bF{# zfFqEbY*hLenQQrj*_=jWzy#CZf3+e_y}Dz#&0c!Sz~aMV3W{AgZ+lQj#xb*CMK9V2 z`MY4Kn^fK~Fi5at@rU)x_kVSkB=#|LS?}*BUTv&0EHAml`lZe{%wF+#39v!`-EEUd z3e%*?7GKDgfW*ge3>gv%CUT$*Bd1}_J9eCY2cyktVF6IWpN5PH#25}E zID`=Bj;AAs#*B%0LcdVZo;74Vib|dA01`|?pYE(ZV=Xm`GP}eN_>81ZD!%+s5BxMM z0>vBN9DoJJk0c+-NE-zwK2$7M6ar2GL9d48nJg(NZ-`gl7RYjN)E6AU)))K?5ozu+ zvxfpROCv4;qFW)FmJ&r5lWV`cT$0Z(84_33$L~QrLzFoIEURZ#G~L+Y3g;2q zhCMx9JRSF`VEa=m5eJUWV4=#h5v{Ite{of1xTh$I3A56_<(DD~bLjEY^uwLRj43;a zHAe%7^aVAPs562n5hrhpP?5u%@ru(?Wz*93#G>}tcTbWEhCXlC&~sN?)nJFu%MNC~ z%io+`9jYM7=fdPtGV%S2e(;2NN)>X>8w7*}us5ucPxAvEUhN;m24ghYyLvzhiOAza zVlrSh4ZzhEta=*g!l!S*ag}^o?+|MpUVe2``ZDQ2ld+#-XW==B`4bUFM>MH~jfBwV ziy=*FBlFRPpo99%QWz&AQpjTA-fmwE!9~AX8ZW78BIF*J#B|H^<~+#G(5BF7TMynp zz@v}e`9SxD)@OAynhabsb1JtB<>H~;g2-fb|$JG35sxHI9)4eo@( z;R3wk?5Z#qURv0$Efy2QfkD5EW%~1+7q(F9?PBpF6MO~9%k%Nm{%max|1qumlUu)( z9WAwW96_2cGsHbPo~|QO?hd+@mo->(@tlSgICoteYkJ-UdZcIT0c# zC^+1xKwMeu^1=N~aK`luPQmlRiCR8p{#}8ax@r+Lw-XA9adp0*&h`F05O`7#IaZ(s zMDLwdsgb-DMVvfYGuDZU@8b+81wmIZ;$og{CGMrM=bx!lbQ_U0F%8 zLwZRP=}!4yaIotI7&jV~NgsiWlfwp#Nwsv|euYrEFGn_fV@948p$@rD{O5-VvCltJ`~GpZ=I!upujTTsDucaFaytqi z{bzh^`UKK(e!dhuq9*)Le0s@XJG0l6hlYWBghTR@3Zb$REsQdl`}%3K%LLF0-J}6G zXk|<;F$X;X7<@{@2s)(HtAL4mp!g&@2))LX=E0QbcX|kjZ{pB+D3z1yR2ReRFY62I zgfvx}4{+u4Xx!c=g|6n{1o*8dPSaaMx9|q|Cycz?3fsom{T3h*# zsH3XQWLqv{fZ|jS9>RHzFxC5Tg4(W9__em+{h~IA@gbw(W2%Ji!}(bbwUslBp-yR|>)(5EIV6?|@phw`L7+Hf>>g;{))xgTW>(g+}YG z{@~UfjnfD*%ylR7#$c7swl_uU%zUb$qTL+yM;y1n#KxN8v7tuEBdl`QOlsO7l8jyS zD%I}s59X}C=y0ucRH}t?y&Xaj;Q6GQXLMEtyx%HU6B+mS_u@Kbo-RfQ(rasv2+`C$ z5&{B#0OiSTKVt!q$s5bl6?>xx)y&4+kU&P>%|)NsKK42> z#>2;ZSh#WI15|(Xl|83le2jNh?nLOnAJI1$7oeK1k^u0fwxAlU=?a=@JGqpxX+CkG z(y7`H%tEm{T-r;h;GCq8j^%edcAmDc++m}UFnPh@F;Xd>H5St!P;x5&9R1;exLADo=xt?tclYiEz{gIyjBxoyiX zUV1BoxToA=2Oqb(A5I*M<)I!nYYY;dmf1Iz()AsTOGr!-AJ#g0Yu2RBXR$>mY7e(W z)_+x)COG5Z!*9aYwM3V;TN&4_H}4=JwRv~e{!!4Hz!wkcPhstd8QJ)zm_8*O%nLDi z`i<#?-#g}ngEvbg3Gc9nIukrogRjMzkhhbMIb3N7|a56fWC5?c0F z&mg$h2`{-gcs6lb&umZ5QH$ZWQLjIooOAcjum()>Hm=U+@^cQ`p?Z$CP*6;)XN+gb4l8tO_Dp_I23>alyjzq$C9| z6>^Zearnb*Jx`bhYnLe`PRe=f{IT_5ciu%BNn!V*s8Ugu8C#bx%)0UHok|G|wamXv zy+|R*$26Rwp6=H2~%<{A`+0Vm?;O2hGwIMZn!Ru8<^jC|FN7itK zn4Y}`Piy?{SI2Ug%IrY>V0wIdsPsxtVbcqpj_*Oq2-=d)8N zF<(B?%jI;{42%goC)it6R^r*nJ?V5sj@s9PN@pPnpFZHw!>;(enyjoPMch0-qf!!V8m5 zOf5bJ3zCq_;;)(a*o-M%w5*=v?8%>oF_bk;akz(ddpsP#q%VZ4si+E0Qy+QiV|%SI zv`h0`y>XY5@2|eOmiosbHU^~*Ip@y449Yk$Ke81@ns)K-V+no@1=4Qa2#>9&O9D|T z(q%$RQ9d?YvQ++BkMjzao3Hgl)>arr9Ks-zb!{jXpipRru{3%>PY6@JOzvU=p{AUX zdA4>Npg8or)fMlpL;x?m(H1@N{DyTp2Z3un8lm;4fv=wMkoD==>0utq8k$9UqAjC$ zt+!y0=PSM|F8Y6$Ar6evq%}Fu=qL20=>8u(SHnoMbXq7Wa$-LxGczN zS~e-cCNeMl@j9x|Otd66lP*{9p5*iC_KB(l1Bd=JOffq%Bc{Nor3x6Zlp>RJW64S&pdvhAm!P~>wCQ56 zvKEi3&`9y*nWtVe@M|GS6_ZwYg9;*B70A15>ijkU+b(Zy!8b3MNps9%``3_}T;y*k z71`U>X+e%k<(_NqBOsN(n2-@Mdb&VD`yA?VX!)^eq?rw#f7%FO%}(8d_c;)J0^LL6 zjT@PdNn{iKK_sdCUNynofWtAE(&( z461TE%!W-&r3$vN4l(TB3LBZ#@@L#m{$rtnM0i+BOL1()3+EJUlY;v}!!NZPRX2Nx z0@giw4^JGJl@1q~8q4_kG6ep93wi?vV7b}g1JVbO(API6px;hovcwES*`WD_F}VV= zM7{|QAh%vWF=C#Fla7J(a`{Y7oR-z2`kQFO_$@ZUa~N9!e;aKAddJw82;c%IZ?E>A zM}bu%1vw7CIMega>uS2LAz(D2P)V&|^Ke8q%wkbvRO-|=cyWW69A~*}v?PWtBk{u! zv*jsJ^|`&d&EZ;Er4|WQx>C?Y4|{5wkRx07!<&M95@LFJTZ9v1avPv+j=rL)z&XYbn~x7Xogt}dsTT?I2eDLtbp$<}{tU@2WzATrbd|!d4s-H1QjESl8Le60 zvc0XD3qbl4h&}<^c2z@AkK|MK6;`cF?d=d_W$kg6C5MTI_2^6Vw3tg}9qKUX(?boZue>Wl}0?MHgHlnHs+{22a`_vox zjaQe%4zSCNrUQ1F_bm*TdN6+W@qouVr0^NVg&`Eh&map+!wg5aopV3$Q#}KI+LZFI zPXpmJzJY^wb;XR8)yYHq%#UWWI+C>V}SQavAOMv5J$r!As_(w zx6_#IdA@d{|M+IXR#)2Jcqafpi(MR`5QfmkeRCS=9w3&X6JcV|2cfLhY9`)?l*LC}A0Eeajz=y{xxb;G6kSXu=;(yZA` zHt6N(_dUyMMW@ob%-w^&N-LK1!h|eP4-00lL{MNZ3%4=&@h~ z<}gv!5j?}hsYfHLQ;~Z~W5DXbb_lR!J2gtsMTGm-E_2=+EuT)0_1G}Sqz&b;Q1i;k z909!x)661&BLp@$tLrbZ{+3ouGX-&oGL{++J1&wbUF50-qQn_InWmq&dyrP*l%Lzt z7J8gDKZ7)d-xFm29b}`82UXH9sHwyEcj?0Q5gB@5xmUHHez3$w8;u`?&FerZAf2z2 ztcwKk6}#Dh6c(7}AVIiDoxRKr^0pIi%lDBze)g(ARMUt z!ES7tg(!p>pp2TOcroe6Ro;(&HY)hljiCWi^Wu#%U;h594`qdxTKMqwz>^NdleRG8 z=$W<=axD|VNRUGpPax(Kj7zD*2MEahC3dz#!Ks~}*l6CwX7NiSh|aWl#uBgg6VeMa zc8bsd2i@kfJs>K3MztT-#Dl2;rCrg+I;gUp_g&2cl+fOKkWf$uwPwB`?qLw`?>w9z z)&5`_QMsQ>=4tDm-M}Q@9U-BCT@BL0NmrtBGtRw!{h86*<#G74`gZ#Kt*Iv^?hVLQ zfN%(i1S+s8Nj@%b)3qh&nDoR1hD1*$+2p_oYyVTEw~6rRP~K_f9_d(C!@67OnrXQZvRt2zTA#8z()bTC z_FsM(SweDBxJ#3O#BN!fc^RS{5@KH!oAXp+0#!=qEio96`*L0T!8>L@25+&A>a09d zzAklUJ!1PQSz&l=ScsVKO?FhRZ9`vt8v7i-FS%gxHV2 z?ko0^U-fPGh1)GWoq*UA86d4I@Gj;d{a!E^A8#;@fe@Q{3K0(HrtZLfeL&g8i;u-T zz5MDK6#H2(|uD<@-n)!BPLI8Bw^T{_y_CstPbwt(c zI>yvztB;-GTK1Da#COBf{(q0l6~{loZu)(ehEvC7<|A5U2kH$YAiDKvKTC^7gMgd# zA?o{wrCRve#PDSW;lO@nEB8h24&dNMMg|!iiDat6x*40LB_>uAruRW%3n)A}3W(`vB-G7=--JRnkWuF64PedYrxKX*2FC{5KO)aBrGP~E;tiE6%mn-7 ze+YPzqZx%bWHA)w;;mEvp(higk&T%uu!pC08nbEo0^><~@m(lVW!PD2gaM2C$ToPIS{_gbeGL6)j9U`(4Ld>7y z;D6&&0v=Z40#p-_XKNf3R?7jzgW^}x1qmp~_V)6G8d?5gNZr7oa)>-6$n?dkGvAPe z`}O7dA976zhvWU0^hKCK=m5U9)6<|1&&-kF6h`6b@%TQeJY3E#v@Tp~+y#e29g{;l z(F)XnGfux@PaHI~DHiu~Gz&1agItpp;(06;XQ6E|X3S_Q47mX<{ZfLmw(;G9=GyA@p0c#r-$V}--POY9SNwA zmM(S7i%sapT$;&RGJkWV%Fet;MK$>W*>2g-WgS<*n8Mcyb@Cj$Lgd6>G+HJ0pGYPi z5Xp=&s@be-3@d0dwZP^CI`WA|AHqkec&Gdj->TiCQjhb8OmF^eDR%Kqp+yy+RMgjs zwX&-N&VEOfdLcov#7$f)8A6Yh=0WFZx^c#qE&AsPrE2_XPl93y`+h;?k|5ncGcuni zS!VlpBjoLN(Dn}P)eE<1+~`Ss8Z@o%&v&3C37I7=R3GxlQK}??M&MRQ-R@J;2KJ~E z)_dEptwC;hAyy0qbtX()&s^9q{z#~M@^+r|NhBLmG7MM34FsMJ9kYRrY)J*IKj0Uw zd)Z%Hof0zvwz`p0wd#cCJj)|k02&A_nV6(sD!$Xm31{kXY}C z73C4FRQIQrET8e*d2T&oZIASmaNtlEyb@pZtv``6=zh5+3^qLl&)pyIvzwuSR6j)X zl2UR1OAmj z^sB3VbbYI3Y!KD)W)RifJ}Wvr;m;&_Mf?qEy4HYu1`{q?(dJ!0KSujiaU(IYy7@(G+!ToC*Pb1e{rtO`st2$~;y<=!{9sX;vtKJQlJrBKeMLH0XD|_`>&N;U-&{xbT8p26F}*7&-$`zcJmJiN z-p&qY^_q&rQ3p#q4QEIgM&+Kb=%y%TxGjzU<~wL9Zbi;?m0)(%agjy2nwr#; z)@Kf`&&fRPUsCsT&PkCEH#DS8`RR!vKJl;8S_p(^9!D7mJ6+Opt(a|X5vy_8dXuc5 z<9T`?1oZb4aC?9E%u8_(D_?c!C9uM{yxLr5N!`FDN>1*tU{%{8^+MZ@4Dvk1@&V_; zamA=V*_VrXK}PZNebn5a7~&0>U~7md1~qBb?s)05@6o!*_(6qBe)@!3Auh!Ktxlb+ z&v?*o9D{{Nflt>Hy)4U?5af>qrl!gA$_lAx#r;-F#)6CUjwn~-BN+q)#6PxTpp1>9 zXT`oo$2t#U41ZMduh%N#i{ z^|(PaJ2ge8ay zA8h;qb9w{w@MOB)lY#^_^L&%GQ}&0d5D1w>E`bjpre7j+twmqhmw;p(s4vPA$%_3X zP0PI5A7l^(GWuiB!VI9|qTz((z%@xjN=q7DE6c69EH)DM_1xtJ1w}JfnK& zJ_`UZay#I%fyF!XGRh0It(`vm2WR?vb8)P5%IzQ6udF!R2%18M8Z4tubP@lF_EB-3 zyt!@fO{~nU$8+vA2W@lMtAkY_@6#{y4t=dSypIUqg3-rP+1FE7KH5Q>0J%3wxNo&7 z`Nrukrvk2Ef9|2b{Ttr!l{nA9EP0#1Je~$J2$rJ!kJC|(M=ATYv6J=kj$pz~-fcUh z*v!I=oSSF866;KhWN^Jht;(3O(>wHxg5H!f{G_#piF;j^$(Yy-E6UcZ7s^qHz4NlS;$ zym$u#`i=5r{*NFxZCCn%cAbp@KL^}MO3cgKLb{7kjiD^e4|8l!V~3&JW`^=zUbz5+ zsMskhUbin;S*K=nao3T;R8LMQ=qPAhHa-)nC>+i(Ut%2A7&@PJ)Px?M!3zrGt>mXR zmL@I++MJJ>YQ1Bk4fsLHhxxLy8iO0F%@+=xOEp=dF}3R$#(zzA>R9Rxn&ap0^b!6= zK7@v2O#d%*{WAg9@*3Y-nY2Sj`fI^{_3JtEt{R>VUWl9PdFaYImecH|0`~aJ%hW)9 zbdgxE`>Zmry0lv7_tm$+o!mqBhiSF0EdLIUt(~(PL1RR5S?-ZeP+Yg5AFtO>`9*&8 z?2+hY>y zpiy5t4v&;);s@JPUWKX3hDb699jtkWbW1Z{O9^UeIIkW|L+ur&R-9_ix&T}wrnO09 zY(l{km3k`dMSaa#61Btmyto*5$s{EM9q{vX{Opi6Pc*tIV)Vgm*xj?ug7fCn4c>F| z{S()a=5KUyTY&VxkaR2^P;(2+jP4c3U+pK^7Ebsn2K&fmjhc3heC9f%$L^R@;iWEH zJwK-@eb!BSJ*?rT z!FA;hWyd#zPG-a=<=B$B!Xpe1y=|eYUR$#ga1-PdzUoX3>o(|5Do;6E8H~QYfTzq1 zdzS{dLK(%~Yw*735S=2+?0Z|X6jDI6BnwfZJDPE$0z zg#mM21d422rBPdy9U0Mmc@gn4sfqiD_bBfjZhtQVAYo&IWM9bgKAu9KTTNd)Nv9V> zb6~724R2@#7jfGH|Df&62m_(UwGbA+4vZ(OUVF0!8vm~KPZD4CuTm7gA@_e$--J)C z%)^C+kMQM~h9&rnaZZ!HB?X3pxvN?Q>y}{POQ(4y{Pi1NyIX;zym~mz6OV}@y{&8 zaSV)s30t&m95Er&;6k~#UGoBi3+cPs4WAB_phE7SZ9m*FEj2`6et|jMswSvfuqnPL zg%18RC0zikSr)n0?397742uE7r_vPJq=Sqt_C7-B&?_NHdYe$<&j7p|mrPX!iQZeB zASVM*iFr8KOq2z3^I2aA%t4=wNbM_qs>4^txG1=-C^J2tDf}%y(iNRsMmB{fXgIrk zRPcvc*B1^B*{I%Ih^xM52y=R|$S)$$pFlzUk9J{Ys4=3xgrXr4MnDTKINkz0wZ7=2 ze<30xN)3V=)Q5&W^pSa(U0GsfK;l3Ve86R|!Eje_ME$hEgAsP`IrcfbDOk&yTe655 z=q2(d**gz;(2?c-)pnA!iU22E1}~GW2ESXk+l1k#IP*@l=ifDa+Yf+fvfW4-ohETM zGtK!)M|wBz?aG@#ZNHiSXI#l=)6Nt9fSo0%*|I1!m{*X{waYC?E=|Cwg0wZJl587@ z0E^Y7* zyb@%Gr@UBaK!Pgk$~{(!Cf7R|pbX8woA`#&wwT;d4PEP%f<5$>ot&spmRSC?!Sy!= z6g7yuyV*9@0G!a=hkz;ZUiDfZR|oq(=K!2Z1P^ZRM)20vPUvy3 z(j7Dw<^EMq8uu;k;Z_JOq{mOrMN0d?KeK{H2*5)#%FrL!tn`}Oq>6fNXWzb?O#yfW zGiFTO4WF}41&ND>Ek{>~ZMLMXf&S;Kx8d%Hf+MnbD|Iuc>DfF3j~f4TcFANVTTB2b zclmG>gVIIxeBf!J!HInEP?zGUM8NI-5;`FriYn3I#er*vci-V*_dy+g3+%)HO6&AB zO>7_eWbh%=@2=DV`m+vKCXenU&azjQ%yi_9YRqzPEYJ3wCf}18i*WS#j*B`EV_I&h z#ig^t#~O;;Gv2K-Cbf>FVb4O{kT)Kb=K_n@L$Bv!=DLWnI>L=ITT0`GXqVF~J^E^= z{|0ZqVl_cp`APYe@q_CnjEAPUOK$FA#~|HU%48gIFE6CS?6n7L4qcHZmF21n0SDNL z`eFU+3v6<_&O@r|KNetX_Qv;n8t1F#u8(pM)Aev^?xf z`LqG_weSpzk?t?|BX+vjNbkS@gg;0<74+a&v|W`C9^K1rsEJ};SRrk$szTF~k~W@a ztsQ<3%5ZR7d?>R#O>y|4_SaeIN-YlZ3PifM?K?G`iHw8_%1(Pp%(ErV>hhyXCM$uz z%eh*#F~dTT;OSG3+kN^`@}GSkz*s(#1)9ljpNiYko^Q?sSXA4 zVCh%eIY5lW(XKbuc0x{B%DbTVFB>&$cm-wBfpAhjzKq!ZS|rfJsNWKZ6h8 z&+7z0V!E^SGfTUD(gu<+P2zH<|6U4#@+oJa?gl3Tf}i`2Z2Fg3?gJ70s_z?TM9L@_ z_~37%Cm#B*jspGjxx*digbhv0d=CmA@f@1}ZT$5GA9))pRb;`O`5X7Fn97*QRfS|t z*#QU1-`fT}T8IgF_|CR!n7UX2MZP#DIB+H!?r8@9%Zuyx&;b#`{~GRtK!p9*I8Q*6 z46sZ2$cWAAg@M#9IaK;1{PW_I0f3$*@N`*T1O6d3;x#LE@~mJ1alk?L&%@Z-41bt@ zK6KHk*fdH48l++bZu{LNQvcl~fvQ+VPiyrotkbQm-D(?=s*ZB^eozaIW?_sZboT5$ z6Jf?0wk?{?nl$QJ8oqB|%JnH#IMtRqQ&&c2_nOrH-YA^}kbtwBY>~jV6k%>p9EfhP zJS!?AXIoy{yJu!}cGoD|pqljGJedXByIwt<^A5@J#v$HgiNBIf`Kp-t3CV~ZmBDgR z%U}X|XgR5J&GQ_wp<#q+(dXeKs>d}m<)*=p)vJNC1TLoNhzR@m0TS&qL!}op<*piN z_n_Fmtv!)gwxt(Be`at5S`=%m_GPPOR*Xv&|DUzM6(6u^?)(}ZE!OJt z8{0az0#H#V9k^f8C{^FZz#2JO6kez`UN`v=m6}v$HUa5C(Idw53hDH#)Bnb1H8&`3 zETk(+JY^Ihjj{A@(O_hi74Cm$Rk!%UpEkBg>ugipdYkCoG%ZrC7h++ zLglpY=?FkEXp5P0R_g8aWe&xu9fg2HhD_dv2WYmkI!C9Fjtw4LIt($cnuZqdgM*SB zg5&MX-9&B0cM=sukpR7EuWoarB3}b3B=GS4?&ESGTr^}Lf=DYv^4(HRl~%G(EaAOk z#iaNi9uiYrJ$3XaCS%QnjKH+u?dhW6sJG+HEL460umfhCe-3F=wM9oapBG zhu`Lqikxcnl+YX8Nn;QO9o#+^hby@|ux1^2&`i7F(yQHnAoQn-s8dY6d~SseioQUg zi>qbI5|*5W=$IR5T$5MWFN}{d3!rCgL#!IowQ=TsUS+CHn(STZ#MZfR`FwKgE=w(kvm(_TZL4V*1r01#fgT!IywgW z_u6E=HH}`+Poms+9D!r#nRwsMt%FgWzS=O0IM|1&4lPpC%8XYEkT)=m%i^MtgKrz5 ze-~`h*Z@^28L8ekGwSo$NrROw<>O3;9o6qeHunWC>x+DMW$Qafnww`FX6ue}ENwAk zM+VQ(?f~~PjE8MVJJc1rjupPMJZa#;3V=XNvhYy$MLOg``-;O}vJd zSUz{|hO^$Hm%)136YRr(%Ona>Jfm`7@_LP1#|AsZ_PJH$nK;xLEv`yy+;INNeS{7D zf1PHQz&mypM8V*0^_v;e>U(iopJ!^+eFKn;sKo~tPqqL>OGmII3}x3SiEnAxD^jfZ z{s?&p&?0CCsdVHcSADC>qWBO~0!m7WZAr(@m2t&R(D6>w@6#j!k_ySI79$+#Ea7B+Ye|KWG zPyj~Fr7Mt;8OG7>qI@$lP568(2{7Z^MWl`5TosyYVE>kJG^LO4VeNJVH#oI%VziOQ zeORMNO^;IW(SX9yxli;^3c^;U&R4$>{j#uPvVy_kmB^EwH<;U}kBAP(v+P{{fCuJO zh;V*2!~30$T2_iko;b6;%Zzs`EdLvjn+7R$SC+_hq}ncTg0NRJuFjiNqva(d8k^Wb z5VzEe7t7Kfx?$4EZD&LHS=VX4F`wRY7p?A=Bg>32NhD2qAq83y^oD(QRt%{8^U(!R z8RTpDPhwL@w67^Dbz!as+v4e&A?r3_E(0%_|3qwnUG(aSQQ`2l*|wh^n;JAsT$tU9 z%a12J2gsM2*}?>(?`8w-5J(G{q&E21Qo3Nf9_QLSJ#TpQ8A!wx#Q_q?&Z6y~`2^F};j-?yV{V<#oGhuw zPcLa}Zvq}i#q!M==G+-*CzvyZy)Pa)oPLo}EWtGYLj$E{cqyNfunUYXPC-HF9ohfU z>GraRj|(J9cw*a5UY$1ctiy0Ek$--MZp0U^`&L+i3U`xdN^poH+Wg%bA1_FCiHgE#hjmYcSfl40lh2Q=BmLloSZ6B;G!OaB9T$8@g0HKrYjt*~^^mhXGD-i>eW z3YMb^4cIbpyP$`*->)+qzC7}^QqQ~~LE2Y5JK)lz&&Z5STf$QNnR{Xs$Ibel6*x7K z__(_23-6CQY5Wcs9ISZq=Hhh++u6(a6K^YrXupDtfYK`_bEB!oI9i6OHM$X$a#Uj9 zzE|?*aAQr74OG1M;ns3dM6xs<F5T&z1co0uW|yGU0aBL{y& zK-9+Ypr9Zg$l%`9oBMA#&e{%@I|xN`^<)Q{!FYX3u|@@lCHl4c8SU3=D6gJ7It*%w z=JVB8v0uKNjH!6(1(eZJk;*t>f- z_TNs-M0a#&RcBXb)tqxWJ5*j)3=s|&4g>@QQ9@i;5d;K`2LuFk4hHJ;$Qs>o%;yHe zQBXn|=JVqTV-x}cLJT4y{6pC_{cPRM6J!6a>w0qRtbJKV5D6^64g%&8(V@gw4;1tC z=VhLSre-+3tM0t6re&FGMdQMP#k~9G*KA@A7>CVA%!vT9y$uf+Zyzf`Fft=>Sd!7l zH}`X?HD2HtAk)p{foGDJr3{1~v>`|hPY-1Z-VBrsRJD|9jy{!H5QZcG1w@o@^vMrw z3#J-L9SI+zXI>X>Dzy|s44l~y4|o_`D*Fg3qTTaDnkpPfrW%Y2%7oTIo5Uoib8VJd7kHIa!OR z)+gA3pLQg&noQVz$4-S7sb5sjT!4=RJTCY<_wL3IHGj_;I` zoA|R|q~J+$`O;DY<`kwBX;ULNL73@u)+9p*$55p{{;bKOWDF6BGIOxnTq+1K&@mGh zdX4%ni-wt{rcAsbzs<{{{QLktrjUMvnBi$bm>;)X6dXyM{Vlyr2=P$_JPS*tG?mV% zL_|J?yI|SP&B-@64r3;cadf&cBoh?l`^jrsI~a#w8VWi5yNONeT86o4zk7P}QpAPI zQ_UHDgCXf#&ThevOOs09SyM8s%{%30NII1sbO38wr6*8@v7fMH7~DHRE8={ds3!1mdfsweSJLon*sOPRB#MQ z@MZJ3DsJKZzxoZjFCUdOG**s6lluT)C0sru7D8p78nk-OUvT)WUZKh=llM7D11~=* zLaR(<1U9JtW)XN;Zu$+DGkM%_!0Ne8yeYDTC*|`RHKRg0H+g1d9)p2=VUn@!n4YE5 z>qY5G*sX1AV9ifA&+8++@>o2qfDmevx|C3KN@kNW?3E^4FG@wSe7miktgVSZ4gkS|cC%S## z@0T;c;qSdYBOR}Mm6!X|L4l8FxyrU1$-h4xk8?ICB>bVWst(D|8L1S!T%J6BP<)sy z+-uRme&ml#-VtZ{J0@dnOqxP2Q`*FYf<3Kb!GS+3`ZI5@df*wW9S z+533!&WB(5jd9r}h%y=Df2Q6VQexXaL0JYLm8gPGfbBdh*W$fq=iVUIL&&f{RoOuI zej?Czvq1xwmoaEUG!*cSUO}=$|78aa*VsMNm`rZmHPqgi$l>?3z8Xv8 zU@UbY6^pW(<2>21)6U_$blAZTBSwK-;O6Vu+fu6@g7k2@dgt2(GgFo|Gj3Gxeoo9-sz^X%2=)@ zh$j!deQ-^16JBg;`*87gtd=?cDQE3*Kx%De9@d@9ZMl^*ByB;PQSbG=%JsPY$j}La zaI)Bl>ct&ON)oSv`UFd?B_m6C8tIUE`BIkEen&<7Qo>$3} zw0e%F^IAUMftC?D{MT$lkP#CZJS>I-2w~yjmfB{V_=TU#3=WIQREy(bkop-l)AVhW z&vic_T)okqpe$+PU>D1KVk&RZo>e0{y>B#Y!gx8gpGa>#Hld z3oVs{HGuu7ro>wBH^q%Vd6r~I^a&(Q0^_SJU+O&fk;mT7hUhKwr5s!>H7s5S7krrj4wDgjzmi;Zsq^Ke`f(u*XcaN5?HnyVGsVkCN=LyJ&@IvbTeM{VT*f~QmZzZe;j+djC;K+l;C~b zX!7iIU>n8q?52H0pxifGkfov%kgbP8#`k$7r4_3EwsVd?s7Ht||R_B3kR@C$^$|I4sh z)#h99u2d^6v4M4m)n5l?7nVF+-?wY}XtN8o$3OUhETWC{ruTP~&lVdLl2Ve?2uU?g z7Y@8j#~jVbsv!OSzTN9g$3XQqJs@lnx<%FLlEcPZ+0Qm7$h0{fK&BF z!{iz4$GOopp01vYXd=BEJk6^eqpdxk+h}U^naRUMfsXDvwZc5y>H5$} zP=KtyU=PJR*RzBw@+;qm`zy`Lq4Z(Hq3$8H56=sNjNzix<8==*od3lub*}~9F#=Yd zdq2{zpkECl%=Q=X&F)%Kb6cYCZ&!6=%a=Uv#}bU|y%R#--@B)cLE4qH>Tx+k#xxkP zXe+n19DeZbO>U>{XO=eF+LHRr8+@^$BX`?klXg2|V320eJD)+suK^g$O=jtjh^wuy zmYvr8Ox#`{&#mg%`wWlK%80*8(q2?FX{rlT0gLBOKf;O8{#2OT*w6aRGi~T0 zl?KbfM(foRx+dpSRc@yvJE*S~?=)E_tJt_ZBoX6$9mlgpw`-1*_LuFC4$u2ZEc!hV z7p<54I_}5h9j`Z|P@z={mjkIBwi`d$g-hyoGdAs3dEipVgO)uBqh&l&MuEs*NAKuq z<5qv0s7x(-kIZ&@#GP3r)h6^isvi^dU*(V<>1*`Stm-jfn^Ah2fjTy(b9z>$=U3+a z+PvM-j!VI*o-!RVZM&UCLcmMx-sHHfl*|+ybvs|2A9dP!)jxi{EqgA%i8MHxLUm%H z*NX6qo5%ig6fO!2$yXRX4^yB@EAgY1%%7MPZ;4IMFWnn=L~A&+=_>f`DHQ|f^NBt-%Z^TIxCH`N1L%X3%OxaH zyHUt&4MGaWL0DP?0zP~xDSlzKC5v+{Zwn3SLm5d$d0!^>u1_xw-Mz7a%~&|Aws)c9 zPFim$#vj}T?7V@K_?Kj>-DcX+_fh(h_LkQrW=M`MxVI%!h%v=|f}XQQa$*V?h0-Zt zUAL10K0U@2v!R!3f9|zHi!No5Z@aAXj+bXbEsg>d-fErK00{fD#-OCNN=BAQj%^biMoeuC>rx4OvJU4!Lz(ZUx-z7e`Ct3E{1}gtu>~h z;M9wo`}JJJB}vE#QYQ~KjkY5Yd6Qr{d-%yjksyS?$MHBbqzO7#olfhcj567@;oPN1 zyWP}OEva3f=Qtlr0MZ2Qmgx@mL^}%kPEBjKy2gzfPedQd64-*}HYhAs>Hd%fE!R3A z?n@XRZ77m6*}|5MaOq1=*O?->MC7YjG;Cv4&^L9oCTd1^=%b80M`3MhMG1I|i{RWp zrEfKxtWNGkZ&bcrN`56BL?&nO3}Ni}8QEFLyshPO$w0bR1t}3qgYp&dXfx95B_S?d zZ0vg1eBPfKC*pR)DLaD%3bmlF&AMu9X!0dP21Sb{81nhPje^MfqtuDU+Ew!0yA8d` z-<|t(9pMv71(%o8EtLOsoN@U1^XJ)0!zqG@N^9L|fO=o4s08%kcp89Jv+Dh_&;;)V zPsepjv3A7dcFhZLd#l^o^-4M)HS&(w=6=eyc6%mP4(q%>qsuo4yyP1TafOT!Jn*TD zXJ+#c_hwB-H55a!HDb9ZBoFfLn6I)U-~i8byX3i{XJ&fvqPus)07Sp6k>gR#~oiJ@G)U;TAFk6hwBHO zNqNOvB?cb`m~xa2p>}k6-k1G{uyT}`qI6oy`U{C&P6?iLqjA}rraW2^7|4FBZsp0i z*J9w}w{V`oziFK=KX|>m&AQOa^_Lwi>UdaZ>{qrN;F?UNyZv4CaBqW|@pdHoYfyCe z@iUTi+(QpDJuU*cc#H6K^T>GSDfvZsU{9n&Y&SE7*~U69H+I%-zf`+U)6|Ye^L@w5 zfUxRz`)=8O;m2pV)k?TwDhAbv_S<=F~Z;I zvWmSBbz(Pdb949{@S3i>`GLXM&J%o&NopuM{ndn?agfP*_kr@_pe^3w+#-y!J%RSd z+17k~%F^Z_477wT0;HtA&5RfPT>oJ#y*p^YyE<1vR-(lZZ85gK`DC-!xz9e%V479WtCxGlQvH4IUuF*&;E{4iE?B}U)%X}hlEtkf89;isAqmFAF#?%6>s zkNY%UM#jf`7#pasUB;<~cC#MIB>xr7`o=rk;X2U6M%NziV}(0%QJ_5(lq2Gx1bOo? z7LjlU8Zp0JacqZU!%%x4>qcTlcyfI_(;;%Zz10wCN6m78Wp~|t+HAVR{NC6jL!0!= zKqAMw$j_<$8O(}jb2kn5KwuvKPQSzbL1e(iCm9v|@<5=@W@{@`C_bQqtYMhgei8ol zsqjOQ^Fsgqp>=v`)Ln`D#k-@7-&V}JKl%EtItajgnnoY_F_t=|s#-;R_$QoUtGnra zTx3}vExgd-GOi4lH|lEpPg7P5M~0eCXIRJM-S)(yspH|a+#=?Wx0l6biqd=b`vX%S zub@?C1a{8Kt)N9fj-__g<8K%L7jg@ZGbrjTo7BLeO$GPDld1H)ll=UakLMHMg1 z%THi8bUASN?T$L7pGOH&KEN&O~?r-jmo8KBGd>j&vr{P|nvBT3AS=WTNBH8{FO`5R0^;&wySR*YN_I%ivQ=i3WnV*sbVflY;F z=dBlocGCDgV11+ywf%UihJ_y77=J=%BBFo!2-~%>!oaXwZ^cHV|6-S7&+HhBB_|rv z3)tjY_lCfm*H5*R*2yagIK-&LW=e+F#HusxrbA=KB|*w#4Ld(H?zI%y4@nS6xE=PM$QZJ{GpHT;o3vnGv9O*uy5NDKp8PS@K$x)~)t-eD;=Zn=Ud z6Z5PgD|W}*-Z#MSc%QySOTVzxA(`d7Tu5tra4l=r!4|sY2>r@>TXp$;$&(io1BuU_DaSc2DHQ_b9`bWpXdFB;KY;6Hw_A`=uts<>%Fv;Wtqo1cp04F9h070 zr4~wSyj7&cyh0~q`7EdSSP@S)p!^sGw{yi~%U*(-j(%?t;wQh$E)n874HP7K_4e_9 z>xkRDw5=8fBkTB+uH@)q5VR0`S56m%5Fs|HJr4AFA*iaXx-LAf`<_fHrF$?jYHB|{ zzi78y4Bvd+lQq?2POh9e*x~$PIPC#H%+;%4o-z2XvQE_Q9>FBzuCfq2O2{5{WHYi# z3=rfL+Ka&{_z)ZYw3U$bbf-5~$bER>zPMx6qS?qrMNcm>TR;20e<4pLY;NBB!4TP} z);ik}F~79OoQSfcwWt*}JWf6_n`4e^(*%s~tQN{a`IPe_U7!>C)avToadSSEU3>Ov z=ZxIkudnYf(S^V_@362i+Jv*>T*h5u;$1u6LYdE%&!m$(aqI!m^U`l+W2OUD^~Huy9c-@A5A<%are6e5}ja})d?C`0 z5GZoe|G0BFVxfQU{bc^<-W~r+=J-MfXCdmO|ClkG{(EF)ME{=rpA7l`HYWcy1J2ck z7Nm}`;1!&5!9&=n%nHp?`Zve>zn`Nk>f5 zg6oG8>?51CYj)-==Js?(f4va80;PV-Zi0LWPU9AwCI-7Y%)AOE@_towJ(9$}!&u`c z&{>_D>lR^r{9F~o3!?->Ov=1>4+$=Ok=eU*1=WcH_Mx}O7xlk?Iv5+&vtHHZv)Glp zGsJXLh*CZjh;>n{QMv-={c7q8pe?`ZUO`LlB-nVz5G_(Gn?mR%3TSHTvJfceM)>f+ z5_Ku2ahPtc9`*%L_(3JVbgSi*j@n!DgN>H3#)L>LEc`A8<+joS>j*>lZBt?LFyGSx zIa#dAT^7i#ki&z~h1PdOp+FAvTyP>8gB96Go9irM5Ec37KhQDp<+RO@o zD6n6x;evtAv0`ikvOG}`Vc@+!9f$)Li!$=~D%p$#is=AO7Jf*b9}4ueC%)l?!5`Lv z2|DVvcslPaPEy4*xnw=sm)*g5+d#!7lwS#4R|l3;JT={^S|N3jB{~Issz)1$^&k*V zc8$MC0N<-*?dC;(SBQ-muR}e)p7kk@q=1RS27vY>#vS&^dH5UnQW8nh|4xT3IoIze z(x34D?jL&DJ*y^y1owlec$jGm>WByIf&ixOmRKGFvPI9uZxs|G=LtqRAfWSzHC3Vy zf74_LNe~Nu4T#wMfz1DkaPvBtSSHsQX7XWneRQ5fHxMFrTVOI1(GZf+~GR-J8ZgX7r!f{;U(9k5QVcCvjeegHrt|*8iuq&5P1+Q@eHRLihe8*`^N};JIcVNo;8W>POa{y z=O0;Us^nHpYE*Q!}dU2R`DM%^SqG zpxlI=6ky-^%<1W8TksG5>4jnxFq~q0@4K14D>HkHHanSx!u2GGID?Oa7TG8>|L8Kl z3Zq2(03wS#kh1#6XF>@9v8iO%CuHupxlIRc?WBOEkHH-p_Es8(zl}@9c+l7FD{_E8 z_NC6vt||qX504%NxUVlu1lZIG*_SYwpH2y&LXrF*)bONl#iHUaWkT^O=Mnq?G$(Ec zgHRM{-Or48<;ZweH`rP!Gk2@9IyV*pYHy-05g_$1-?Uh;6?eLbAmp%PmBl3>8;R69 zKoZ9TwK0omHIvldDo)+>6u#>s+D`g{utl@nXTZ=a!zBH9k-2KcBfX?N)uWnf@!4~9 zN6f;^RfQ^lA(egtt9)bAa^y40?@ET&f8u<4hOBPO&s14({4hh&S!&0MpgX$Pe2T;C z@FYqs4E&$TmUYqcFFY=(^t<|}76AHC8%h>ZaCEDmBZmngFsp~B z)0dLr7vV0+an*0#bCw^B0iM-+e4MTvM#&_k;6s*APXT5I)08}t%)G34HW!GL(%@4+ zN)FdR9Q$3%QGLH#LlZ#8D$)iSYxX>4WvcfXg==k~?I_3F1bn=LZFr&#@IuJ(f=IM) zCvo%;RHYM*y5^uWU*PYoz$sYBOuDx0DfvUn$_)&%RzQPX zz-7Pz(Ado1V~G?Z(QVvuMIRtFMSf+lA_S?dZL8T`EuqHzc~S9tjQ(>n``FD-l-+ZM zm(xHXoro(6FU|DM!Box>;L?L7*V_*G?gBF>e6-v`f?JlNM9dHG{Vaf;fQ>W!bW|}^ za9O;{C5gC>OcNOWy^<2mG|T?C5u_T=(KC=`8pte4^C7q0GRdub^Zu_PMB>xJ zZd9Bd^ux-d&UfUApp5q+yQ2?le-YqT>ps&K#^vDxplc8I>iH`btluo0$AVg`NB&MH zBvF^Hsc+@?&f%+TZ*?Ny%ew7OqF&;`n){0sWG?qTn=0r5DbfDtMV`=97_W1?k!Y z*3+cMQx3jrVo&Y!R5!#6$&RKJ4M0Byy2Bf5B`xO++Vx>`S~nK+E0jpq z*^%XTW|`iK0q0I|-@@-$i2dbi8zd`kt&ajMZ{+B7WTCSu4%AAI@)I}8%$qR5A5U9w z&AU3u?FeuqB=}HrgjO0L`-9{>@6UFdUeykG@zBJ3ey;OcScC4*E! zj5^!bW-C>VJG$ZfCGdx?I8zH9f@Muz=V${-sp_!nMis^=hbAS1{|vn%}iu_Y{ety{A#XxTle^{tJ~yy{x-${4Vd^3jOdK1+j%K zmaR@DT})Ezgpnef{)_ATjxGOCw>BCiztI~Jf%SuiVbyj9f2<)1d`LCuoBRvpD=j)D z)%*pfBoiPlIGX=8mhfLgr2jq7kPaddi2S4wxna3fG6cU+5GDVC!+UCze=B}aXN~@Y zg8ZL%{y&nK|9ubOnN}ynvXV7B%?1ecw%F1JXSNag*Gg_|* zVL6^yZpOJiwv|&DCdE!QeTzsVf19m}BaHng*wJer)E={lT5cS{F=1 zRgLhXT>|zwyt?;iDFUY+QuLP^Q1+`jd;J1Clp^x<&G>5V8X9t@a38mfqO1gzKN>L+ zg=+K&Ryh{yHPz)0g9~Fe3_)*I*g^Smw-ivEXM)$b=4ioMcKypU!O|} z`<(4^f<~^ZRt39*%cunk;e5R^>;+uPau>-%atZ69!zfuny_a zQxWN9LHmOYzthIEd3>X*2szya!C-AVkEc;(cAvS))Jcx?yjisBQCh3^Ba#~Iq$M&G z#*2>^rZb76;E_Bfqr*jE=xJKrO#UG(qT3X@a}L|b6(wI!ri+$Ak!SEW?Yg3~iK_y7 zN4%XKw7?wMOa^}0bb8I|9P+iWBm*kOdlRHwwTr21XMo*_se*@-^J-6!_x{XRVct}V zaz9i`T)c$czk3F3P~8Aw4MtYqdIUK<8>9Lh-ZO%UZ zw4QZmut87-;a7O4;YS(|4AgfC@$Qt8opB!cm#`4+F!;y$_8JYuJLk>14pamoGwnEw5)LhLt@#E2bd#R4JZ0;J!QNY9& zn*OKk1?95xxeMHhFTA~6=&Tfr~x_&eklc9Bz zFIWHozYkE)jHxuqPbPO3R+oo2e}z7_A$Pnu%2`{OZ&6R)L4FaVZRcVeSP=;yHye@r zYx@yZ>k%CKy(1<2$DYH`l^QasvHyZ`HA(k^vbi8jKW+w9W)KnJcU zKwACfF{l5DfpfJ*UWo8j6Ci)rZy{MrD_Vp>8znVS)bDFVS7L95gbv{a0XQ!_$}7M) zFJ%wI6!AR7uS1WM0__QS*h4GlOk)eXq0;t&c-T;)4m8orRK?)x0LeDM`4+3X2cA?c%v;w8fgn)H3c%#`Ej2G4ZhV93jRjTy)V1@U%7u7eQAbpt7#Y}Z1R=g^7pQqtyL zp6^6*9;474TS`QtQom}*c!;=&d7 z&@kgO*OiTU!V+WPL zTl{taNQ5%Hrz%;f1DvVC)XC6*0TZx0G*6Gzcg0SW$nJplugkCm19fZxz+dmpGTi%? zj!ZM4tqm5exn_7=kJe(0cZS$-7ORBy?sgEe0Nl!V8@M7Y!*b1`3tdLxVcZ|UU=Mxv zD7(F5InLUT=4<$VztaKK7;tYlhQLd@LNgiuPZAson;eRgzQ}OI9Dg^= zSJT(fKffwE491AkRYwACXa}WXf@^XQ;`fA6J`5KSy|t`GSTeAjnSaV{py>b9k=fln ziG-rK-t6s;QxVi+uN^DWeZmG&Hi?XoB!BbZ8Rp^&gGV7PVKX=5k2xF%>(R+>28Yd) z82ff-0Y(DJMuMt|2kBG&^(D;Zhke}B(tW;DrE#sZ0hVH=tXMDcQ?DmdM|(zg9RYPG zfskjJvWC`X#*9EExm~?I!kx%wEl|Ki!2^Nxt?AQqs%H{HoFV>PWB*CL`;B~1%Lk{}SrP6^}cjzB~3p9E?8m8d6{!}$W+6y>zzuI|UwQFZwH(QE$x z*zN}?Tc&Qj$MhRXgv=^6Yu9{B9v1*E43HLsFz<^RO}vTfb%U?V6Hf_ivrfGE|S zKn`Sb%9t9kW~-O#9l(<6Syik3=w9!OJQL{|lI7G`sX;mt)0jk{oAmkdp6E`-JNA`*!H_ zkZX>sJ2Y)m2SKQS_W!a_>ay&2>lN0}PFJ?xkRbOLC%@lvF<=H24e836dGT6+L3R>dD#p8&LM=eA~y03M5IRF zfku9IO@vfgsFl^o^V^VPK<)7@by^L?XxDpvTLYsD04+2LP-u2KaAe9Tyqc9qhh;4g zS(*Opq+awzWhmG?w$&5&55GdVgTNoq15Rj-XF>-eS8$Mm)90AcaUFq|Yk#_+tggm4 zM8&KHQ(=|dIyW3>9j(YJ^Q;jP;XLM&1jC6iuxHI-FL%qmkB0i8Zs~718h!!NXpEAA zQdC>S?;UvJ=Q={Uj(54$ijIWJ2O^80;{gQ?@T&8>6aFg!;aBDK17=CS z?P^$pKkfBgsdP2j{8+UJL(+4CZmC^g(cz*x+gxZ~A>-SwsSAiG4K8Ov7pE$l-3zxm z%)um&q470NDhSC$_c@MWf99d4EE@Xeax?YQ%G;~`PTY%-)@Ak#I04c{xc391n86?t z8F%eOd6*e&{bra!>)=R)DDgq$pHfW zCE;0n<(i02p#I`cCMa22Esi%;TjN`y#*~31E&9C$+iUY>EJN{I!u~Gb9?$(tY-`NJ zEg@#;gd$Q~wI~_^>aB7=Zpw|vjy8s5f3$=dl?minVOUF#{#}ovAR&PevVMRi*O1#= z0OEIN{mYn;Qfew$jz&W27}!o@Aoc1O2xY4z9pRG@)-hQ`49x!RzSx88Ohb|H*dHtH z0X=XBB;X-(YB^MCwdX2gh=zkYygJ{dzHUF{G;?z*uwl+)1~+IzH9oyCsPwz**sk%# zP2HjKhO5Q^Z?wW3d$QGQoI?a$_z;M4dWf^LO-%Hn7v=F8tO(HMF=1>c22R226Unru zVZ(a^R{pRIf0nA{`qr@E$+Z)H)t-Esz%e;9oFvV$WiAZE7Y&u`o$n0 zXCanqQP@f&&#rB;yXZOpC)WdPvZ`z|NN%-TKX-Jxn|74mc$u=%x3WOWEw&(erD z`z;z<2#7k*e=@#51Wco`0oay5O`t|Keg*?sP0L3yk|{_xctq-tKJq?G6FLky#1-AT zkeQyTG_|(*{bFT3w}wPRB1`Vsq{s?0zo1hYF(W5p|5U(kxwNIRw)x<)X*+x89NGz@oM*7W~Z}g z_D;^i@78jZ`;SdAihSia=X<=3*wJfV3sR5^Da#Ena$VQ)jx%v zI(6mTGNCvBc-plxwOE_k;H9d7%W-x4ySb`e=3Ch|ClS4#L1r5Ic1Tyn zyN5CY9Qyjyro3WjsvJ&q8nq3tmRdJ0n2>!6aFOe&i%n0B6gT?|?FMD3I^}ioK%u_q zE2>hib<)cqKvv!Mg!vDU!0uAWe8St9LpvyfI5uQpK^m4{(y{9BORw729<%1r1})Zc+_Q= zmK8ULUjZ*~3uJ%Q-;91edF=~^5A}P3CD-eU126fYocu!$^x9HuUmk{$<6hkTQxp(3 zv-m^_JtS=kGffCoMW`Vq+KW0ceqzb-3=vnb4k*;lfnl z1HZXS92+((S*H#^i=gpeWc+ax+WPXUF!% z7BKBwFdg?i)TxbxlQGzGyE6a1=-?Pg4*F=lYtFSMb5%Au^v)_LOB`sX7ZcyV5&NYx z5y3g zAsPPMltv+HlF`SsGp z$Z$v4<1b_9v-X^~SEn)rg(!&9Ql#Emw95U&%}+cJoh|-)An^eh=_xcDyj)FRBE>(K z_{ClEi^EEGw(l_0>e6H`U+tUWVYY!gnhvIzst7smuvY7`Tk)kT-|o+ZZu%-YdHyIM z3Ur^n#e26$kXlNX2AOF(lb%=db1D*;$+AFrLI6yaUZ0UMZ0PfW_Q|UPh417wYqkN3B5)}0s5osY3(VR$>es%5@$4?Jh#wT_f3Rm2v zheOoXJyVR+Ll5hE&|F&KV|F|B|XZ|9xW{ltG_MxF%4 zlJGf`m#WRvi^Dii??Xk$=k>))HBJK5v_CZol$qJ;G zfDJ#Cx|V9<&x+L0VW^8?Lzh;lo@i}d!(Cc&6dnXf3?hz?0*q8D*twqPs54e}ooMv} zhzsB)np~pVF4>t7*-!=m|{mb`Cg=6>#awBUbEY&w!-R)X&Y5PNN)BAB*?fK=LT39%xr*MzWaJHMQN z1&=UAK*S??i33vtclvp#R@Hq?4OL2tqgxZHfF&s31~6#uet{-`!de=;r@I-bdFyED zW~H;GiPNz2C$Lml5pY5FbPnnK`F;sD=_!^F1djP07}N(G-(Loi)3f6CCazKP>|XrF zEQxwJOIe9c5B(RiU$1W_Fs#?b=X4EiC@IkO0$}iI_|E^P^>l)ge8$4iu=HQDu{wtP zrz1J1MCCR{@|G&2H7576?mCI}fk0W`Q+I-l!-kBSRIvu}INDm=M^WmA>dk?~ZF4^t z@1FDD>HDql>H`0D`(dfxDBVj7V}hn+msCGuWVQ*{h7=|V`l~70wkI6nN5HSQ1~R$O z6f&Lo07;a~!`b0y_9XePAFo~s* zMDg(D6U6G{UoX0Us?|S+b1UL2he_wu!Fk`oBsZSoXQI(-9*=!3&D6B`lMQ_qvp7S(SpN#r(iA! zO?3&|DTaiJm_T|}$a6{%;31N`kKtB_U|n0(5jhWX$LA*q2)cT)Tkw#&Zy#%RSXF4T zU+DImAtk%x7F=xDwqrgVHJEUA!z3l5yzjE*bOHLz0FhTyTyCVM zBTn0R#T9y;k0Bv=NRL#1jn(nsyg#5zBP|naHDd)HsOXMV7KJJ5LlBFcE8=$4!}{Ep zv?t)N^w)gcgSD7*?B3sB8gHAfN|u2~g`aOPoqysD*7VC|$y@pg?7HwckyyYxv_IpQ zAJHh!Wq2X=Cj}l`!w9ON_1Q%0)YSYhAY$IUAsF60x_?qu3U>BRsq0~4I^UUMRPC8B zJYQYnNA|7rwl&qzui$^PGu!%&Do7ffA(Z&E1pAc~^u3U${k&>Hicp#Wdx$7F%q@u< z==`h*!TP5bpc!A+EXrl>15WI6>Bj~QN9CA{aEg6T;N!um`HG?nx2QSk{ zmr)|pl|sMxp*C1qvExUpqU6`$tZ%OtezhMq@w#%D1+hn6YT|?9d;-4vc6q_PM+^jT zTw{6Q`I)B_j%KmP;0(1szHJ13^G9L;SR&JmMu5jy9QGe3!{>ybIEVB|6#0+T>UcgiQbg?fyv&IiQULnn0Q{8*74!DdA+3JO+q92|RAIhUEh zyvn@HtLYJ5WOqDZ7$*P5AE zQTGRaVm!LU$#B^Vdmed13#KkzLj?A|<-6Sd4j;Xh*V&IvA$#UPVtIbTBWtCoIZRnK z4^Kk>NhIQkM|l7a+xy*-XQ~`KbTG<567)~dflDq>>&S+{0VgcjBjxEhF5+C8XfuuZ zKL+#{jJ*HX&qt48xyqH29ix?>JD=ZJ0ucoa5e1qwNte$JhDeDS&GO#^7zMc{MxSp< zi73Q}75-zC`u`hsb`D2f^ucg$T(ryowch9Dd8|UfBJ||YlDI#ysP~eyzoUG+EHC;3 z$JqUGO=7|LK$_(f(EG6hTwU)peuz?WyJ5pI zrCpu>eqY2mu!)v$cd3oguD%?7s(V;F{L~k*K-!3d!R1(MI$tYY}mAhGN zO?EZ@b$i?AfLJjSYyva!^n%r%c*1D)b#71Sk!RW|lrM$2^O6a@b4jH3W88V~WuyQ? zV+{ruwlbV~gYDFdyPsF}Yq&76r%nBHex4}I>A$hdUeW_#Asq)QB;4@>)I z8kHO}%F~$hTqmt>vTH^MBd^SXXM4N0!iH!noovQU#WF!F1m16oT06o3Nz>zbYfq%3K3fzGN2(CGjM)E2+FM4&@vYn55Fl7^cemi~ z?ruSX2Dc!MyIbQmCyg&!;^UO%>ZkBAEQG4uHCz)4;1Ff-i;a7if9w$we)w61I- zaN{m=ZY6{kw{@pKc^@E(4o}?0{(xy^EJ^G6Mbga!2-bkIU?JOv{p5Z~G&Y1T$ zUeTf7kbdBCXLr*Hyw=R@aGg(_(I-#_MqPPy#`G35%X+BqGg#*v&kaNcPd23O76$N8>e7RmJNeW6Wm zlekvf4uhErK*dc`eLtLawQ4;OfJV1R_i#`7eJ;KQUBemHW}KLC8XewP^vh2}oGWEtyAt zT?+YW6WA4SKj|?KqhgzXr%gnTAB#@dn7rm8u~|OS%T3^tFcF!oTwg&LlIP3)ga7i* zc$W@eAi@{y`v_S#deKp1IyS}aP+cR-dmGhTuvw{(y#QeMR|CuTPzB?DGv6+HC*}(Q zVpU&CqX*+-1VV~e1b-X;x}+7L+@kk#0+Ondl|3DgW719)PhyL@n%8Hvhxu4OnF^Pu zxV->@jI(E_6wyCfd~Ge(QJj1H6R$qctL$*_g`wqpKU8DiJ?qOWY(By_Lo9M)JDs+a zBt`nZ3Git#IHWNO0me7>7sQq-84(b znuPD*JB|@SYS_(@bTWa<;SRm_mP;ZRyIE*NpP|B1DQ0{QS0PEKJ#-NGaeFbUWL=I- z8_Zk7N(6O6=HZ>^Wk0tpD_57dCbA^p+mdP6=nl+9Z28v?^}t zQGIH-+0Z<23lDlDr0E+(T71xErSaUqw z#GsfG{&D5W&oF;bOx+aeZia53n;mZF)^QlGlm$GdIZFOzs%Plc9>aVY(!;HrtwI4&$CE>EhbyDINscZM+4PhBCO2Jm0ZAL|4WP zk0MT8th~S`t$4mvT^XM}VN_Q*V{Ib@UFx^vyhGRQ=r1e2v}KS-ja|Q4G~HINfC{;^ zqLIczmSfqbW%>p_6B_}nX0VhYLv}}%_eCcz$q(r5@x5{18gD=#(yp^3?K}OwwC!aF-cDgn;5Fa0Eran%Q1zG)#e35?wo>&Fpt`r%Hg7ij)|8ZDT^E-Bzx;2-qcP*k*{y$ zR~jISPEC{p8^BM2)+6)abBMzf!$ev85>9p^gl;_`4Fh*m1>H$LwH)D70ADr8|9~fv z#p~v?6xBQ6@Y(vYfGse9$vq~geO-Zv`JPeQv~~f?@1kkq6V{qlC9(aDfyBM>{#%!= z-{`@hqyO4 z*iCP$6+=U`j57*1NVtU}} zR6OF92Z1+X+=?ie;{;`!|lbSVucgr!2)O)?ETBlzljrwbu)u{cz>7pnP$ZiM^2pljO+ zA@f^c$uZ9lu8XG?hu?cDHm|g-6)Sh@dODA{yE@55=@LBA6rG#*xkb@TFTLjw#7Wj- zSVA1pPD81&d_e(TwmE!$MqX6j?O?QW5AZ}(kTB5=jxK_Yfx))wDDQWS*n+w0{+|`-^Dxp=raHyW$K4UTc7ww4xxZMKnO<1hq?%5M(~jfg zxBW#87EMO}{-53?PRClsk1vToe6Asjfvm=iz2t`k5DOZ?lig}uFG5{i3<*)n*NG01 z#$?f1!iuA7rhQ+F!s8bXJ!#z7UbwnG^vxXQG>BnR|E>#&or9{=(}?^Dzdg~BVDjcQ zT<&Aim$45<+;t>9 z=p`&8PQIPVCsL)m7ZY)$V^4m){pyk}`Eqd7c_jliC1p~bA3UiZ5X&QTB;@xpMuz^X ztb$tV3f}<*qy#1Ya ztDjEn6!qwR-%`hc-BDN6oJXrJb3(0LRYQhmL@MWj)Rj9B6gX}qG2OrL{>ez zS3S&zE!aaCTQC=GS5pPDYt495nhG!Qwa|s_3k((%m@iN9> z$O@jT@jpny4XhhD=NXEi@`k}`Q}j*;g=YQkz%6ekX)3y8}SR%-M=fAMUVIf70m{{ z#}k=dhOlZvP5AS$o>>i}1Bu#w-x(SDu}UajQjTF2X(jI3yC!*^W3pDGY6E)Stf|&` z89G}X32x_+04EhW7K*lW7b_0{9-DMMO}~{qk3n=WIAc97e>VWM#3&2yn>P*u6~sOl zar}vum*z269%p&(<8o_nYXV&$|6_mfAlZfRr@3 zxJEOi97es+WB*}IyM2>_EcloJ(7)a(LlLC+^{B4=A{Yd%=mB%-`DBccZtE6y-suKz|qJPDIAO zE!>^b=Rrz*t|cowF1ElNvcSj;8RY|>uAN_0IBulQxp}bxuf|lmTt_bldJz8%yCWL1 z18?A0>c|=aM5`1rXxqm3cX8g+jCY!aH@q3Di; zG~b-I`%Q4}7wpcJZlu3}m>NSEfrs|bLzT%dHFuSFzOF1Q)9?efF@Uh9(`d; zJo&TXe|XXM??im-qPJ_j%V)!$_G_5xiWEf@Oe|~DOKXDZHE4?JOwZ8nbwTI5BK&6D zpKmw458D3dXRYBmSm9>R!MW768OP4~O9i>q=Sm;l>1Xv9#C{HjoVny4qI$3hd#@W% zdRK=Vzo#8n-6YDw)-|HAq3U3n{I;?)MO7U!qNtIA1nD4Yic2Pe7iHFc)|x+_PR3tc zIVy53w?$SW!5zDM@UbbcU#xlvkGs=fDK{N@(fV3y2+dj*Hd8nUxkFR*@(LQ~K=o=07*!B(s#l4q?p+y*Tq$9g$I$g+*`W_QV2pXVat zhM^F61oQo?_`#M$x-uszzqHN%am4B~Pt%TenTNY?hgn75n=W`y&+(1drUeV-hPK3X z!+PX7+iUrWdlZ?^_0r3l{!i+5h);od`(2j!Z}F9Yxss9#9cPqGHI$zBHws|&~fi-Rm&a@Gh;jhb$y^d#hS`r`BUDwf>L{TSvz(BGx*AEitQ+Go#W?UZ=) z)BH1sQo8}>K0U91ksY_CiSOg=%hTCyG82>)SXHzu0C=Z;6lIDA% z99#JZ?=H`?qA_@K+R#w&^l|~S_~pMpGZpUkR9E3t+9td_;?BC^0h6E}EZKGr$W5JK z`iI0_S3{(C*UtDoLZ**lTPwlkrNWkd#MhA!mFaw8<~Ov8lBCm~+ z7`n78G_Q9(p50G4s?t9BD|BV>;w(LyGK@m@wN&K49Ssx%5ry`UMY9Ciwk7{ah!0JO zj#mD_XGFu2lFBdHDFG=-L3EhZ&bKi*O)!eIFwuE8zm!^o59S5LoXF4#e@CyiNW{34 z)vrGhZ-(YybhO^AvBKG!FpM2G<^|gPjwo@u<-&&=>7+Bfn>i|RE@40dqilL6GI_Xs zn7OM#M|1>ikrt0^$0#+A0v>zCI2gM?`pP_oGpTgWKC;pK9cs#qjze^=So_=8-2V5k zC#DzCL}V68-m7EvrNwK_kn8?nsVO8r8^~z)=cJR`&A0h3dUC5y){SYR2Ml<%$JE@V zxS)}op1*4+n$XPA%)P|U&&Y`uakcQ`1W^S`S3JJ}R=-8T^8AY_6-cpY@;|Dd<+6Om z7J#_IfrCb31)LAd5e|+sR;X}!VuOP({E!T$QBXtXW|lchv;bTeGlKbP`GYiBt!3ZR zxd6)VWv=Nf*Nn`+%kOu9`DI)Pc@FH8NDSTcm}2p6VXa=|L@S*Sr9g|*VvtU~H0eg8 z$ek$uwy8hy92%L98$8OtDt<;*{(%2cVgj7CFXvw|yjrz#O-z*PwxP~oC-{fwtnft* zj2S*Fr)BZegrOq|bAw?2gC8evdOr2}_oB6?+5Z#x<))C+o{Cro*CZp)%;JI;t^Q!N zZJPRS4&Dq#ho*gGu4b@OfxL7nu=#L_i|AMhzOZn}H^uYlR?IkUXR|0XOqD9T3y$33 zH5oKh`MvA1L6FLMK+MXbw}H){dZ*f&Dr)zX>pL1Rl2*Q7N!omjyEX4ucw}%-EHPx~ z)RAM!0asNqEeKbQdD1(=EVA8>re*}&=b5hqNgJ2jS`Oe&!?;XsZi3Y|4uk-VTx=>q z<89l?ixoTi$hBk~pDm^)AgAC9m1UCBdw~mDsGQ)o)xjing>NLqJ{r}3qdt6p1epBF zbI{MU*P4>ZJopJ2<6(<^{;nKwDVyqs+%q$W4I~8qbyCy9gFBQmfGUyo)ju zlvX30OFXe4yY2JCWmo~8=0m&sX3Tbkj~CvySM6PnB`iCUjfA9%=OxX@x7zSrTX6QQ zb-AB8Nk?hwF)vGJ#bd*i?-LOC$4AB>hjHSbzdzQtDAd!4Hm3xpBAXa58QG?@K`CGb zc`=Xjv4iPuRybk|GyQ3!Y}pz0_%MX~#kL=Lbogh>tIUU4_Ajed34`y~PjyxUwLNMw zX6BJ7@0-J}HZ9n;)DiDbqYr{H6z@ykTlc5r0LM&?#xB{7J%j>CN`AQ)Ns!gz6k&*1 zSHgtIo#>m4x34X=)5r0tTM1Jy_a_s{D(Ssyoj&NOMm@N2FyUo@+I8sR>Q%A+S(0F ztiNXZLaXa5f7ZFq^t945c-mvQvyVfygtY|^7ehHiM`CX!dAKhOOdw9pYjk89j;I~} zF1c&duyU19i-K)cnf>Tf(Q%ld`K)ieA<179RW-nO=+hp)R%A6XZM5@b#@?gEJ1J-` z#wv;PdbRPW-U$AjMRLE?h$|-fw+Fx%SZuda-tX}q8_dD4X+Ia0!k=}m0PR-v z^+4q~B);y0%HaJ;ZkU^n88~L%Aa1}__?#;)EX-!##puvfR5ZX!i^eCdxmDR6Js)Bm zN|hFfSyr%1qz=K;jELOXG9vH!;3!>^&lLx0*TT^LA(Glt9 zEDiN}#)=@~7BI};bk~4pfWST`am)6%QKlWj-y^hRpp-tx?r39)Agt)xghs`52A6>y z_*#hrhUfPC)!Yo%vRZM>mYYJsu;`j9{zsMXG+jW0NASQhJm6T_vlOC-NO7c%`Y zpkK=KoiNTtWAkfkXvdQYB##x0_ttCZjv|hyfffs3Yp>;p5k?^0=y5DD8>56&$4pE$ z;iWtU3-`$4_}oCB6n|^9r{~Q~&(P2A22acP44Vj?5W@|rIH~EESg2_zvFpG z$fYfHJ`#dWgbf?`@evDSLaQmd-g?FkZIgtpCE35M;uW;N^L){X)8GUNVxUiaN(SK_Yo37Ch@5#FO)PZFts+l(nJ@_|j%zcBYy1$JZ zO^hP*^x{>h^qX4{zG;nw0k3IE9yxiT14LXB@eN+Qwib;fqKwMB`hOS^mT12i$N# zDm6Q%#<1Ok+{F`A=#QKhNQAPFKBG_tqmFUggxTvQz-Avde|R=wOaGLfXa3KsfQ(?& zUygc`IvThVd2KC{l`fvU5taP=0ynG80Yaa5Z9*Zv8dv4-RB??3sp5?09yLnom;Ty^ zKQ_G+{pPs$kBgh=5a(E*Qz(1&l>Qv3OKV-lI(Z11SU0rvs43@D^c1gc)+jARgqTQK z9c8MuXrG9?XhpA>W7CUY{Zb0}#y6RWE1aC$pm=5wUZEE^@5qBstFUs{O?c%r8ul=* z-9bkW*W<$_e>Dw0f#eVj>56ZIUd(Bhvy>HQ^?`mRq}btSB~z)_D=?@uoa^*4Yz>;< z^nsP_F}^f6XI>#_bjEq<#J zv|H&&V-HCmXk}n8Sz3vHOWZfh+q!JhLEiU(PONaHzeXvLzBwXa+0`$m6iMA507Eeydm_qyif5wVG zVW@~KT^~?4zhP$%BPt1l$D5ct;S@M%t;ljEb|MxK_wOYH39@JC0c~L&1aHS=A%%$e z)n(bIdSyBf^>mQW&xMgJ6XUTBQ>>e(`AZyN%ek0>RM}Z~e)Qr2ieT_Kkck!j?#$@KLy-lL zUnk#c#J#B|Q1)ue)a0{d&9d3&U_!NKmoyT;dZ6(;Tqq#wWKHp8aWcN4^o01WREvoX z3x8R1E41Tp>I*&&NfyTh{|67pm>xx+(SvIs+Bo`W+6omI_^%TazZo1W(MAh|Ddjhn zkkAC({3i*h_NNnc&*RDR^{{)UbPA+*2_gI`?v2;`Z@1raYzwPtRvZ4o`8nx#<@}k%yEnpwGbs0?WpczD*NkJl3 zmV9aLF^~b6Ef&(RNxzUGBIT6Xs$PpX0e=cp6PpW0zM}?uAZBXnmQW|kFx^*0sL%vv zT_oESIu~Kyzfl-}Mx-{~H;lu1O!Vgj#0TfnDkKF#NIs zl4ivNOO&y#xBnpX_zLuCV<-@p=UmRR zo_1ji2bl(bIa?=``P^g)A2eC@yAuRQ;wv+neO^&jhr_5n@PP~ zxEiR7jmaa7Y9B!oSZn6QGwwuSe&egg&Fcno?}t!3gtlJXMP;X;(sW5up^I*;4SVUb z)$vJ}eZ8>R;h*odv={UAR8N`w_+EBfph8CtrP%;VLDcZfHLlHvJ9M@=sgF_5zog$sk zknr8CI;~UCJ0kz=#>Ie_LU&(UBNIyHMb>OYFgD*2=vSL8rXzMY(y$DtgBS zH!|*kXVlgi*5Uh@K$tyYf6f<%5F|2UFudylre2Z5etW}&8QSTs8{Ay|XXM#PCD#i9 z_j6p~qsSTWoIrRvQmi*>jePR8B{O_pU%kIp(o?AoZ zMJ9bs{~~dWQNaDr_Il43AE@ljl`3Fx+7c70Byjc7iZbf!H6!CfXoDI=3dw7aFdP&f zVylGbJe2EPi(RFqh!34#0grG&SGtpb%|!1EF9l@OFz57DaW6K{w^XUk&Zhi;fh>-V zha&4wt#MG0eSM>B?~@-K!8Iv=%}kbbHR_Vo701K<6>ed}2T8qE)zfbIPFL4cx~2&G zN#%8(xlLaP!N6CrbfsR0DDi!s9SlQc&`89GS#pWA`~ajjN7yTbpT7RE?ARp?QJD+_ zT#0hLVIqtp%ugM7rCd@W#-~+{y{%3ov&;T`pK5^>E6loNzcEMG=nw#Wpkb_dxl>n9 zzd(7psh`o^qOn$Rx1+lmaYEm34=cxN=(E^1z(C3AnXJt3UNHj2_fz# znVNV46Sy3GTq6rZKOwZV<6&5k-~B%r>7T`yI~)wqn!(%-pxoQr!u@F`y3`ueARmjN zaP99|Z(asjL;sb(8E8t9l&&{T9m#vKvJ5u_Td1Efm98I0192^j+bp04D_bQDo?du) zg|`H=47Zd%YU5(Z5^LFi%j^fNdG8PL`msyAgfMP5of`hmVR}2}+BcYO^Dzx7Qoq(Av+o?&a^>YwY#cHTb zn>k^HzBS!O?tp%G8;?il1RZ2VMkVn1oolbXa_Ahh&L#c%{3LJKXWPXeXXdUp_GsoxcHRUj+@#4`pu8fF1do^1bwe(kWp*f zf}A)IubYZkPcLVeNV4hq=ZnH{M7;Y0jY>3M^z~N#%xd#TMJAD1CjvQqSAy#kiUde6 z?2p9qZ~=o2_@LdTXH>|3)G2T_-m4m`8ruJ_oo>3-it#-~c^>1;uFkdw%}n`CjrM#- zH&9qa&zJTnPz=S|08+Gp#yR@uBae)DYBerx!>LV_b!FjMsWz+{r;?LA{2&n_D11=_ zUqH+I55#kxc6`JJp0A5uoqgsj#X`|+j}S6L=v4eo6#GIGz$ll7=CIXQEtJj@_*wSa zog8K~90irBUPdDNL58e?B_xHe-D&KYD`B0eMrgBuAfk>T`?lFqOcy)kV_{ttJlKcP zeZJRw)x{}3=+%xzY~PHcuhOa@Ywz|;0!~rUbwRjCcQhH@x9?|-e?R+oCb-1m@z=EY z)K&$-WY_wRtF`32g$>;A zoB4oHK$_9)OgcNfpxDAZX{Q6gnLRD=lp^Gjp@cs`>B`bk{1%HOKR@xoTW44s5YhuA z)lJqDs$%uGp%~z6iQlvp?A(b#=nC>sHs7<}{7$I-K?`hr=rfxxv8V6~trZjG!n6C} z9>_|*xIN`+{itOGJ$cVT3ON8O@vb##zPc_{IS|_fkyd=DcKq*PXnKI1Q5zipeE_rVJu?Tog9~B=!6gz(%NleSdGu%GQs2y;S77Ge;GR zxxf+>IhCQh^V{coikzojz#Y5)UhtTt9{3%OI|t9SuXJ}f z(16{@a@1}(5EPYNL3s2{IZVz-Z|mzsF*+W7)&IM>-S7v7Gm~&Y?tpDuCWtW$j1o9h zELCND=~doeAU|Q26c{99F zrss&{#T8G46vozsz!Vv#x+3Qw1b5(gSt3xsL%O&T%>};CTX}n=Yh*K^bz&2ZZF;mV&+hJx2m^Pd_3FFO443 zVOT{C&IS6~?#a<46`X(OI+Lg+&u0&^rRblNrKKLnn1F!!3){c7aXoSW9-1DDK4VAz z1!NbH-c%wgPWBl1q&VBT15=Fkv6>C5c|2&38F^s=h~E1~GQ}G#Lls~1r;hp`Qq%u8 zcJN#&!4N~G4T&1oQ&q6U;E8L-0#cUoO_QcYpsw=gFNY{Rf4RNX7&5CS8h>)m|9vX@ z|0p`$wi#Dt zvv$Ax208tv1fg&|VX{sq<-V4WW|Yjmo`(pBFrf3{t|h*Y#ujU{r{0@BmOlKF?Rk<7 zjg~{fMv)T@>6C<3Z_}a%rK|QAPJ@BL(Rs(!=S(5}=CA_<+Dk^b>=cWumV314MTV(u z+f53!F{aM4dbc7N!#lVs~NS1vUfZ-(SqXc08lWWU5rpc*yz+eTF_c<5ZcytDf7MY8n=y(<% z1gX?40jKhG&YE6DIxzUSRokMexS9>u9HTm%$6c5IEtLHEfbdIuWxAr)GX>kaHwpt5 zF$GsZ<9uZvAU64}l8^OTJbO1WwAvGcy+KDLdk}mimI+qy4aqj!y~*fETo_fEp!a@F zzA?=)%KO+U?8qcr28spw-}|l0d?gStOINuORp)(PR{k63Wa@N~#;6LZ zec{5@foryP*1E&WVSLAY_h9cyRNh-(h|w>KhOYQh^Pg-`3ymCS++q71<^0BH>OFrB zzMLjbYnM}#vg4ih>y{^)H(>~d(MUoredsc3TSn3U;BR&V^}3r(Xz8=eB?Mz#A?@@X zNp5M=>|RdCfdnj*T3VO%k;HIr-t+H6J5v*A&Z^`H&m{{~eQgmEtL{9sXC`UQ4T0#!39#!9Z+s(xg3f4a=_ z5R4Yh*Zq;854g_bB zoB??`DWCF|LXd?>g1Fs+nIlUmW;`2l2&6B2i?AQY8N%A2W<0%FbAq)>Y_){1tXhh2 zv*h1$pt3uaVDSBn&CV1l+f31*4Yd;A1ku8ZJ$z+ zh===3ibMe_$s+1=u09~_U@C{T{Z(<@F8pOPxK$vqq@!x5?zlpYS(x(sw4 z|1m?;kNN`@Bwm(JC^9pU9Ee?mP1{N?|5r|+iw%-y9b*p`I~ulrbw)YY`TD z`wHrIyqIKy3;&kr}HBQ83u{tpxi!pq$8oMfA_h#B9XyE_&T%@-LhsX zWz4A2Xxm1d8yxiW*y!E%GtNW%eE<_vQhDK8&m7(ocX#0g^q%CYLG7Pzrrmn<)~g|5)C(`;xn6C#3~ zg#i{A$UJp>Ixnix#LULy!h@)~W}~$jiU5tMVJzD>j&D2S@|qnBD}cWlx=n*QfG|w1 z-}SDkY*Vcq#CCP_xmLs>Tj+{7&JO?Z*Z3qg{HA(V8j{8C#a-tQun`Q{n3YU@%BkCV z*@6+7A0@y8{qBS5XY|wqHqkfiHqEug%&i;QvTG}ozavf@!|1O^OLTROY@%)&xPC?_HN;;oof?U#+%ILqQfsY>f+KK+t?9hUzu^aN_inr0rSb7i~~Y;|5~}O}dboAVU$ryD&M7wxO0?J8Mi9mt5-I z&nrsSiRhPW=!A!ps#kw!?H@v~ydI^0EwOuspz+;0PJa( zFKSC2>;_g;_HG)_5Y7P^6eCDHe@Kabyb%#0%8VW^%9$N0Fm|FD;*hrCXZucpnXU71 z_5h=L-kg+5v?jI-w>~&qs?(S}vsHXy9Br`Mq1^5}A%{@K%-g;A6-s0W2Wp|@J7(g# zCb0dWXKu)5eQ2|NQK)OiPS1^u!e+X>dmr=sx!nVOBNL(tC&f=J?Dj`IVZz34)~(IZA(~u{yK(C012GJ5N4kM3Upz ze|Z~LgZyp$Zki-QU_nhb>iD+m{-kZvl{+BFb77s!FQ#V=S`BAXln|u(6ho$nmW$~v zDwY|54gX@kCn9!V5MjIn;nYvLh?%if$M+YvCnQr3-J51^^pSgmv&G(yOas}*M7(j6 zTUYq4p3G%&&k5jj-1S8w^~sn*oHE2}URCoF%=-H$-O5bYcD$B?#C)6{wL?i4nv*xZ zE#9=ywn?XzhhM8xGE;C{sch(2u<;8{F#~f9a>IS!SH?HiAcsH`Wf9~jWGM&g9Ff=8 z#LBki))}?Zorii9EX?(=n&*LgQ^c4QvlCM9UgMMXmkXY_E#*NEzVMPwM5|WWWuHvX z!HR=TNh>)~kFlRrh)&3Bau8HOM%b>$Cv;48E|KPfjDtRB7WKc5N>g7-zRMXEAz+L8 zF6Wtmnm1q;i_$4OXrNC5)$7iJS}~&c%z~tuF;b5Z6y;SO6pl+<&%WMI3k{M~P*V6- z=a<_s zvgYe+59fLIF%~0=O+3vWsUVHQkGpr9*%P9pMdhmwg+EIGr*p6j{b|k}`up$AJ+78g z@cK~ywD)kuk{bW3-^bP8`+W>p{k`8u<=^{#{D1FB1r%}$!2p6AKhr$TsJyTXgMuSM z&&2|iCb`3)m2zPX8*P5mJSXf|la?`gt-ljB-(?i;7r4S*jFonL&53shU{!;Eg=Ji$ z7y?@L8ir{o_N$&sPP6>rZzXp=De`$mG;DSAro$!S3oixWQR2MP(J`LW+pFQ|C$z32Cq}9bdcgIP=duIl@5oV9`^y>}2ClO6|y&X%`?Q4GY8whx?D)XayxOr;m0hJZ;m!@32K+^GhCxSq@0*{H zm9c}Olk?yMG-cUx_tFq`D(Z?pvMB!ISq?BNF{^9+v2oR7{zV)Gks#DL#@uOx$LC{3 z#p@>y$8TCD*cjqmPEtfo3)A5+WyReX6U0iglS3JwR+ioAF6+?52)$F2BwIr3A*tWq z>OlR~0Q0nBnFIWbm+}PI7CqBtQYehx#vi*yMJ%bnd@w$gFW(G1YQt ztME7`ZUV~lS>VdEkzEo=x$A_w*WO4Y^<7cej|~goMm_PJ8CwN4Wo>J9R6T{}>DZ5;}5cxis{dJvoEfc}}U30|1K5XZDA`>d96C$q7oM7i+gIqB8Z(Bzgq>4K$ zbj3KTmrxiBIMf-^m#0pP_W>Ng5K5XMlMyY3$yYHuf59tFV=7%*P(d(qBD>XwETk1# z3kG6yTCJO=w$Fw7?0Ukfk9BCDb=DiBVBE$7-nPjc&v8KBNqL{(IFu&&9KY;5ZT}v> zCOS|Y%6ww_@8cK4rFrKo#TH+JN8FN znVgVMzI*x>3MS@Cwn*2JuVuIg4WM!VspaD{^z--{$Fm|mjD2mg9f_@DU2kZ3UTA4r z8$aDcg#+}fe$?1u1w^+=%@grPIq$;*`g+}gpk+~Fsq}iA9GQ0;7<n0)a6v(~hvR^3&S3TId(sFqC-i+=y#02`S&|vJ( zaVHl(d_Zn{{B?ym_tMAJN{vvy7>61o@mkr*#98@q&iScp=Wh8y!mfM1o{fMYS4=sw zDnkyxCl!C9S1`*9?W3W-=76U0VonlxZR zdk#^r*RfoMum>Nf=*ldW2tlBgui8t&sb zIydRNRSQt8YrukxBygHPI(rZuqBXCkbD1U>h&2NnGIYkrq-SZx2nXC8=WMvd=oFlR z+XS>Qa@T*4ZH*bPjMMhU>`10_Ao7)t7kx8;?NdU`6TyJogHrM(h%)gYE{8c}KvTlLb$XEf zG*OR+b}hvk+c4!D{G3Wl-O~60lqD<30cFWB)=mIfpaOSa`>z6*TwaKg%F&A+kt#3q z6-_r2Tl9e`Hu%#)P@n)GQL>_FX^QONkxGJf+=~0b1BUWY(0Noe(`|)S@#Ciamx_y4 zUeKUMh2H(qB6`h?$|3ZQG2-`lRPgl``F8-wyP3zHQ zCT({Oozox%I~Z1H-o19pBVV5b$d0S2@yEA$qqI!`*Pon+O%Ye?WAjt2bfQ2zx?fi$tF{_m%&v6m7$WpU@~X9LiG5Q=)FilZWO_>5y4i@M{-(UYBhF-M47$m;qDWB8CkZDNQZA$4j?_N#pN;8ij3htmI3 zdB~&ukr(*gyn99m^m(cMLIwswWck`lK%4JWM!UFwu1l+QY4?5aEflIKL!#z&zZzCe zF9Q{5t!wlFBnZMF|yqY@0Vn+VKJkv5AEW2^hWRwBD?HD>ie(Hi>{AnW}B@`uZ8I~UA$E$qSJpC@i`Vpe08Z^QB(fS+4N7Pq*c*_ zYY2z}VMr)L{q%${bxUb}US+p9R?(N4CpfCY2aJC&@Np2FbCvnRpmSZgk&-)b;*&<@ zRv77OR8 zVFSY0bTrCy_L8I**Tny+GWFv_QchP`iZJ=I-UOKpUuA9gAM4Uaq5!K#(62=ho65KCov1a6bes=_!QM$qo-gU(utsC#;HT zs!s&e;GC@f1&rX&1WjY|2B(-G?bE;$tBuc3OU2P?h+VVZH0bw<0-T|WaOz8KUcuo< zp{M+Mm@G0PvIX%G70ld5rGxLH?0W#ObRS*lY2ouB_k(~+u+^q9{_(Rk(W{9S7o(o^ zE`2@rrs&Pe>!;U{(fH4bf<90b@O&``+0P;EMGew>>cAJyJ2@O(vNZjL1uD1L(xIXM z)!bLc#j$T&1`iep8r+{d#|DdCbO(k4KryyL^)zx^(7&9WErpZpi+zVZcG_^k2R?>%cb& z``jD%=0kaM=4znW+qbmDFR@i$(^58(w9;=pwz1-(HB>K$58m-53>z?@O=P%Y`Ill0 zDKE@)@&dfGFWx@Qai*|bnv~TE@)UbXtwbY2&>g9dSX)zp76_3V2$h%Sn}^Gj2I2_C zAH!5tL)61v%=Qtk$f2zde>;WDsnt8tz}z-MO#7XgC$HW%yL^jPz`p};QzPkE&M1cC zdDyUT1v}NyT+Bw62G2~F6{}sn93E?(8lVjWlJ75?Sh>5pzv>@T?NsLfVz8#oJ|5^Y z$}s6SEOXlARA**&}*xeDm(L~(xz0Ed0NtBOtbF-G(4S`oXO;u*62lGa^; zYmS+2f#7@FsQ_-Yn?amHLUveuUScWM+3``Q>ukXhmrvHZg{?qqN|+9U74l>Hf(wtR zBNz>+SdsDmm&#>r?0>0T?lk9LxcESKS}I;QBtFnAz69o!i$0&zGC z*8a2FE-_OW!2Mugp65b6(6nH>0YQ#Fe{@A;CSv0q{M4|^!`W?Pyopwkj+e(U@}sIj z=V-h^ATc<`@#lQ*vcTU!(jl9GqR|WfM6E#yac6LLJGdvSq} zND%u6{=lr-)@e<@Si#*!#8LO~C3^PWpuC)*GJ%80l?=>f8c+dF**I4wz*0K2(@S#_ zqBlZv+$vs`j!5G`XgCv$bo;sybI6UvID(qh*5R&We>&L3=bHG{+_8MExB`fB??+7E z?^50~Xr%7FH$1C4PCds|mnB^fTFBJ*Xx94TZ143@9!cC79A@*zogZy6d#SU;l;J&w+m=Od=n?ZQwm1~%qi6DWaw(sm@gcVD>nV1 zk!Ikq7?@>!fVZr+54 zYXOQbOj}3%72=wm5+VD@d-ApZ6$~0pJw`cd!{Eu#f-zKkGxm?;taGlpT*_W?#pvdB zs|!k6Z)bF=^WGmGou|E9k{z>8%QaznJ56t{(*7M9Zt*co7G;w6m~u~qntfobfO!MQasLpYgW(VNa^jx8 zJPhqiJ1j#yZCmIyJbAe44ns)LvpyEBVL0bIne2G(78ds+ale7_|3Tkiu?W#6wVbbk z-WIRBGI0t+lDM%ulNnfMWy{H6$6ty%KD`y-QB#s9_pUAGMyQnODEA zx?XDXc5}F!NQ)rpXdOoPFTisiaJl+^{{d|B0&;Xi-^j#HnX@ujSsX^;AzCV`)(BZV zjqGC0=Lz?;rfoKS3k5bBu|ejy3>r;TG%9~LU2=o!x(oDJU3uHvwG;q8!remtqI!Nn zK>JQ3XRS6v+})Paa_=3kUEX6L-)fWM;5TiNU3VN5WI1+^+bTi~6sq_nY&byjuTtw`QpQg}VpzdAkW zJO-5tc$kH#R7u4X1-7J`4@ExtAq=-fJI;@l9P00ptQ4-pdjSrU+|+(i5iwoaf;0Ja zlztp9ih6(-li5xhakgQY33vTmssd}-(mP-Z@iQaa*Ja8nRxb0Af+0Q^yT5%dFjUpr zZe}h?Ca1aO?%m`WWEmo?lStNzswoUH+TLI+ExWGr)cuCBQMSJmMjf3|b=F1h6X>R= zLhFh<^H2LSyEMIte0Kn&c(nl*Skn$OlVG4Zm7nO-%&$f}EwHzKmx6otxVMc;SN`mM zu<@4HkU$ckO6?{me%U(Jp~R5}Uqf3OCiMUzq$^{G!knG?PXl|D$O)F;bN(qqQqj`d zdVP@UmQS!Utkp8Olpgztx0)q#|JS62Nsxj(0_a4spN~zX(vkWg=P^<`nx&QJ9%{TlN1VzRq#>{dDSdEC__fEq|8!4nw3UdNf|*`Q3dkV) zpp4mJ?Vj+iTKT&`Tho^x>sVfvucW6UNBU)K{gW&G{X=`~GRi3~l2-|Ie#g~$D)Qz0 zPLNAn_$voa@2@ax&%biuesTVpcKzRM;Mw1Ve)h3aE=s5Y%U>~J4l-c-^7-MI{&%|8W!?*12!~2j_rQT25 zQj!QVHlE3+;Tx2!>A<0OkI4~get=U{=M$8iSqo&wz=3FJZWxwG_eywPVK2ruAH5_v z?C3k^+$tNQB9s|ELq$QF<|a#Hq;N~{V#c~e;zB*%=(kR1L}pxrl}(gwy_#&<+4g#$ zM@gd{p;w&$2Emr={Z(0frLC#1!e;{?T=)76J55D!P5yGjmXh^m=WQsDIUX%;XO^Zp zW{wNV*2YUDAdUY=x)Py!8R(%^My@LE2e%j8*IUhex~!{F|H6As)I#+*fS}v8BcZp4@^qhdLJG#>x7bPXD6W4(J&^e21O^Wq&xeg5LgZQYc2uX|UxiHu z&U7nL%h>zJrsked+rn79yGEvMvE%AoCe6&DT$>x)Y>mCLLnb*I`KY9W%T(ks&ml1H z=dw14gqCDwllPdG6(Ko@M>8S#Z(5KyE`Mu5=%_Zpq>{;`4X5rLf>V(d%K67b3#uwM z$zCq~??v-sHZ$Qua5T5+FZ1Y->#E}W%d+;hRwM?Am388VoGbsK3*oVvqe6nfPduX4 z@cub4V|ouHtFmlnqBh)X%9A~}iEKK^G&@=w!gG~S7XR3UgzJWWR#lh{mCC%j5jQEG z+eVDlsFA$@ZOmSUgbL1qlJ91PFh~F~lZFPcM5NDm#Yet z2v{(i2zhYlwsTnL_&#$%6h=4z>HA~37!pCT$(Li<5-T(Hi=LKu6qQ;jE5U{(?`>a& z?&N=*^Ks$}dt<`3I1=n^Ml_)Ry&p8&P;VaxgS3&M-Z-AO-_eq7n$O?I!@lD)E68c17JC6<9j7 zL5nK|Oy3vTax#*S+7;(hFaCHTFJo3pYdT*V{hYi?3J-Q3-e+S(T5y87Y3>@QJdntXZZW zz&D9EieIlr%U*v>RdpHFf$!?_-Tzf5Q|X`5_js7$1=P7(t8zG}c^l>59HwH(TA4@g zS0Da!@M(63@NU=e!?n%GS$m9#DqSe|gwZC+x_}!Mia{tMxC?jRKEiMbUdj>OwwjZl z?IcSMG~V#;b7p@ljfHP>Xbi-H5oBH3{$6JD@Y9ven$$AeIpcRRO#^P5yaNPnSyQaf zqGYG^k{A2XNjf|Iyu-)EXI*+jmjgu};&6BNTA|=&o?-5rsoOTD5VTnKtdDxoO?ugi z2Khu+YmaQtE3L9LA`Fb(hG@DnzaS7A=y;g5(&|lUv>>EnF4tEc?ITj@Nce8gH0d`@ zl=vrv40JYKNtGe2s|7?&G7c@_kv`Y)6r+Z%gmMYsHp0tt3|5yt)AEZNfx8iLi~r;k zNQYuo-XXJ?%}CP}7$HT%~xR4?3SbqR=wM@Bp zYNciz(WZtn+OQ*pmk}^`im9_2b+igt8tf+d%*rmJnUeUd)$%jT+LIgs1|qgjvWQ(P zJfT=)rBK7;m%S1u$vaRk+Ml+=V2Z?y!XpW-xl{Wt%#T|#JGgp@UvbMteBz5mzVR-j z)8nR{4T9-oyTrNGGhB5~$uTjA6@#^6mIwymQ=E+Nq)gLV!s&DUiOQnRvFMC+Ahghno?*OWiFu#@h{9?)wsXm??!V`_B zVazXUO>fun+jYlRIb0gCjhe;< zBMI`%wST4?bIkV9;P|p8RF(y>uPiFLx20FOLGJ{T!ILod*BRgkV%H(grC~hnBd7%5 z&Nh+>b@Di#)~OeA*%mrqU{UMqhtRWhe-$0%s!@9dX%Pt@f&bWZK`wI{;m(!C#iFEQ zV9@FG&R>Mv@r~XLHBY;#$9Il=MVvf`Fz7#VI*qxug8xjhvS z?qwK84r=|=C6}y=#QLm-y@7!yQcB?M;Cza%R@Bx9h#cx$j+BL?Xrs8fJ0=J=FHPN{ z4<%a<##W7pN>fpcuKJeyEkOoNDBA2}8SucP@Zhe6dr0*gL=aV~(j$wdrx6Ez+($$? z#Hu;*CzFG?_m50Y!H#S5gmAopFKa6v_00?ppWg)`%n1%H?y2S1uhZ?2+e*vuf9%BW zkcVm!Td~R3OrenqI^Xz5Lbaym0J(GuGk$1WiuC!8W2flq1oo8##Od#3ccnq^L zFYNFx@LX2>JZ7T2auQou*mhvELOYU3qZvdOQYa*Y@gn<*HaWCAJ7u+}R@;hYnnl?} zjNgcXtitT$?h{h#t}8!|W}ojAdPd2>b*|Tem8&oMi&Pg(9U13g|GpXl5&S^q^IMMe zEhcEvCnCrY%I#4j$=-%^8jPchHow)`fIl=)mhJ_r&htR%0M|v=qsApKzP1I)6+aJ| z28_7HuCS8(FUng9IPdnNx(KU;KQ<1(b4C94G!bOTpJ;Y|sy}=48NZ&ilaqnAbiTW> zCK=DcEDgfyMVy?D$2IOk?iq^f_(*nI65U!Gn{Timu|5aZQJ(!{3POYak>S4 zEm$KjHZ$Ieb>ItDqR#xC{_(#-+wuT&&Q;d`O^Za^&%cuO45iFjwDI_^sE?bWHU6ee zkD9t{QW7v7Xpeb9c45U(+!ssyn=p`}`ax(#bur>+gbJh87~2AVHQk5fRYTGTlrS|a zbUQ761WwNSzelD0cT%K2fst6?Y@-_S-?RX=UhQy>Mw2JxLi_!`!=86?SZ?Mt!`}i= zRkd_&L(creDmCNRCdI!f7MXRP&0cXY+ZE;Z-&bReeuHJ2juckvMg4DA#r zM-%26P|W=(AtF&|N&@^mIomNTFQt>T>kQJywj5GJuysZD0WJ@WuzSB2c8x%RyAys-(4-kyY%WajqUMVtXj|2`<+exzx7AvcJJhWzqGAO zD#-tTNnHJxq9(J&Mge@tZu(i}O4&OQ#S~}{mVW1{OXww+0RD*Rs*?Seg;D>EKKn0M z@pn1aQtq)1h+xsQ@05ZCv(tS(W1Svy2E?){I69l1wa8gVtj%E+BpvI#Nxno}D#s7(~nZd5l6ugAKx44Mp+u@}Op zOWdAyB$g-WR%It-{U<`53*ITKt@X9)MV{dx$R%R@`ms;{88-E?yRoh+D%4?x#W0LO z=-J)?V6yc6^{Ee*(0lB`k*ufaE$`dDkFG;TW3aHCN}Wbz6MFDnI*46_4-1(M=gQn- z4|vTF`0o+`SY#pT4nLvp7OHxVVa`{}ri%JXhyz)4P=NmMhc7TUCQA7RsFg3gPxnDJ zm_)vOPkorxwOH`(y;c6Olb!Gt2!KOYp;CEYYst0wpx-wdTzx8OnfrJh0S1J)E=o2*yd&e5?QleK?%#zhZx*zG3a4&3uer5eV(?X%z|ACX zTm;3YTS?r1XsSKy&HjO~hRGP5Gf?C!E*te7{Z^22_asRG9h)0thzHC2JRihWKj%it zQ|~u!@%x6;M_W7o@REM%elR}!PpVNF$Q#c>caNJx?%mpvn8x+84m$|7*ZoiD1v%$e zN_SntVVx&7i1}e`eo^U!@>0Jn0pU7$?7@WeoePKS^0NCqDO`hbo2PA$-Wy7 z0WjZFRYt-pl>T!WW(m4hxPi3w4fM=$*vX?5R$hjX&#TghtdF>RQE9UV!7 zlDrH0yH(*HcQC3D2ZE7?Tb-OKt^DgmV7ZoCk)@G^UtAk;CkTd?WSV28g&(KBOYJ);qxo|g&GoXu zz1znj+;w<-@!7Im^-UAPJW!#MX(?`2fqV-2XWUt@4nLBY?K#Ws`eGUdc!YIE{>VlU|DVSW}gqXqz6vE zwt-J@X`O%{l}Pb@dVmYz80!Q_8Ez})lA>NU{75@`IyACbY)8KuJ63-3HhP|XDU0oi(DEFX*Sp}0*6&1HwyCeRUCgq~%Gs;oI++(`(WPhTg|_=f990fH~FoOcBMTn8Byd=MSC7u)LS3cTcg^ zFQ)s7Vq287Okoz7HvTwnu5sTs!iIzqgni$&<{K1!bth@>l=gB9K?mX#5D|O7yCDuq zM=Z?qr4e{wYTo5r6y6RC+EZ!<3hl>szesO>T~O*gt=I@r_J!j*4ZTz0e>vXhBgze6 zKKS|eUN&*u>yK>9i>W^$0;j)C@uOnNd9PZ%3GNonO|l%&z2nUF56!oSJ)%PKakM5nN3V$(^6QjOgfEj) zY;J&`3{!#jxd*Y3v+Q^}Z3R^2VVBLP@`P^^8*1>v{!)fi^SM<bG#|Nw^DkYKVp%5| z3CG`~*tH%|3q3APUIe1~1gOyV0|dRR8Ij@4*KUx=LU?fR=;>Z&26%G)lWsJ7&3}zb z=sVzX>Sso?x92vV35^@r6Z;ie`a$PDlYSW$Cqn_c*47>e;F^_Ms|kG`yqI( z^Ccsm?%TEO;#79rEbpv)AJ+^ugI^w%jVG0cQRrW8yyz>lVwU{_JkCI+-#*ty;emnl zazf29+XShqK7DFPNc{U7_nfn_X-X~{Yu~nZs zR=(XYvWbP}T-g)xw2feHuO-EyZ_I=r?TsR4j7y+(jp_%S%BJ`oko$DLe-`%5?iAl^ z(+0Nd{RYh%Px@{oJy)OB?N-Ea;CIK@2 z+>GC3m^7_yb-BJm{c!7E`63u&H3GiJ7bA0hdi+WHEZiPH(P7L%{juS$jHB9Eg1Z6W z!FlxW35>bx8_jm(loGLBSdB@VdKZid3~qWp5u?#87vU%B$et}K`u|kHZ-|T6lIDJe z8)7`6AO;!WsbCnyi<)^{3*WaD3YC`=6xp0zPj&V=24}b_OZkiJ7LcsUj_4e{G@SX8sypIeWCV+dv*e*L>K|z*jF0Yqss;Dj(Z0z;M-E-pH~ zW_lLabRENW<($`Gf98R2b7HstoZ5L}3yKdIRqafz)0vr)?-d*zoN=dl-YQQC&el1J zHBWu7m;f$w4|~_UYw&ZR!|ffKuJa=^{0;Wz?ad6>>J|~9tK(S`zw4a*8)>NfnwVt{ zegh$y62Y#7GaW?eCWG-P(`QIkJ=iWX=fG4kPzvLV0HNY|PuYzpeB|u4rSe9ge$8OS zssh?FXY6$qMGvam#Cf96^&AoBXFE8+Yf>2EwryO-c=PVeJ-g601lbU4jZ}8a%(PVd zE*VCy&Wl&)DQf4D^C`^8U*obfQzK6WLlf${CLuy4^PqG zUYrD#V5)6iV{NuviG8>7K3jCziE#yo8ltmaSJ)HbLoQK9c(Ma zXgEP{tiu39v*b+$pRytWNX^N&rsWa!G@@!B-f1;~V^EITSJuLlzP=@DDN1wAWNf;(Cxdq%MvM6+<2eGv0CP|9cgM1R>KkEGxI*Bds zpQ+lMSl=kSGU3czzTI3 z%L-fY4UjRS?FLFN^l;h6To!LT5|Rtm;pqPu$En#9m@ zv2m<|lH-3dt-?*pJGlGwn6-c5WV)%-9+1z;4pKzSGc}^T<(dNj(CAeZr%8thjUO2{1*M68;x|F^(VhgZh@^jTkKhfiB;K&af%!!iKmEDC@iz9%K=4Zo zPl2jXP;P73g(={;%l0>?rA~+b7j4$q!@;iA7^k5Xu!1edA8DxnkuN#QzCB(9bZ+m1 z+EECr+0D0Hy^B-gpi>`}sjM_K6{rBO?ddR4UT`P>g~zWo^=2Hjy5scntmxv|GUHIG zCq6D+R_BlQ3c5LsG2ciJJFd$=1`x)v+1+Bmw|>y)=iZ6{Ty0759f-YdQpPwX(H|el z?N}b5EjW*p2f1BiY&3$w_Gg{Jbv$RVasIh$zHRHbAEhxcUI)H6kfVhc57=xT7*x8Z ziaVi9W3%K=&YpCSvmcbD9;Rwh7~!2LyxU8X-*(31zZ;D7_OUa_(nCqN`;ZXgQKY$h zV!8o*(Sk~4e; z{o+w~&OowJoSm+(#A*64{zL;uH`AA!-Hxh_UEKWF}WDyEqMe<92ohG;*#Qc4-@go z)V89;Px`(Pr}^t)5C^Jm!;lS!9disTk>_-nIBzo2cTc4!IPxbmO$R~^$AtlJ_|tv8 zH{#hOpK5Rq1d{Ye1Wt_|zXR3k`(fDRFAhp9J@bjaZ}iRCGc_r3c(R`}0-~5jh}RT$ z(A*Lykm`HMSJmN4ee8`walt2L6|mGll@@}lW;@z~6)@`a#RzLx_@+)$FXz>qtck)> z$?oUs>V>AoG>|vJtK%Okkv8@H@p9VSl0l1%-1B=kb!|Frpkw+>#U-ZseHk`wy`t-Q z=^uB+>TWe)Bbp6O!z9w*`xZwCyuq98^us%yq7o&wM?}=AKcX_t*Kw8?4z%I?@C~Pro--#GMke*vXpa8|)c7yiP z0P%G5AU+y2R@HsiM1u(A+>zY$0OQLYqK-A`0p}P5Bd+_fCM9Kv<0;CJ(b;4#v?g0{ zM|`@Pwhpr>%&2G$siU_h{^?79&X)P04M{ z0jyo{CF@cnumZlrN;g;_@lVj!Y3T12jJ%b|%b?;Jx=!b7GS5S#NeO@Y(a-KtT|Z%E z41d0M#V=USkz&KcBziYjOM!{#WcgPzTh>ptnJbj99hi4{MQ`_A)gi8OOHz~073rTy zv5c=OQmHcNc%c0%)(u!8niJt|CWXG*7jUv~8UF~@;@ ztQF8;&S=E3i_KOuB2xsCueK}QFuDr4vOQR+POAAU%Y!~a4YHh>Hp`0C z?JU#X*|$Nh*3<*}g*Q41%8X|Sy$8}XP6lw%<$O3L*`#;V7yPMmqVxpl5|GC$Lw)2mm&-zrp;Ov$(#O&buOZ@ z&W8zxr=`hV6uG>7>u^VRH>dcavno4(l9|fwmUa?ED9x2SMbT(*h{7!HS2D|# zUUgjU{BCoVPSE2BRmyExgg{H;RP@RHbqRtG#B;9>!c`kHm%s`9BuYQu)ME{I-c#9! z7i-d)H@D_UX2 zt?QRum>nRWPSL9 z-Felefd-v9oby~epylj!M>rwR3L55FpqQc-`{HWQr5|~2b%?Z4SiTG|T!FwVml*lE z#E4~V1xVmawpU!gcziaI4f87O*#n0<&LR5xP-GhyMsA*?L_TA{*TCbLn4^Hp;q3ix zm9xPSi3nR;s@qPnt6p+KIFTw@W>gJmw&RXZxr7&2y8YEBCA@{aA9!V%Q)|`S3SLQn z4Nz4G7MA{=yuM*edg1XFAjy7Sl^yKwhZo3iCm}&xWa|uFIQ}4osR3@Y+bqB6n;?Ua zTVza&E~-dP(Lu=Bc*4vP7nqe;WGq=(^>a(J<^~AP;BQcgTIj{(1tefAvw%L~N@P&- zN15lx$nl94Ym3!{IlSTHxMF)6h1N)$o!Dy4wyDLea$&~SZ*4#8ZOuppFZxb|eg>c< zvqB~ThuA+-{7i>|jr+8_kN+cC*F@nF6fyLJn(9u6XJoBL71N#yu|$E02HTo`SG$gf*Xta@i(^kmS(2PJP2C6|%^&gyr@xjpN!-FblCq zrKK=zL|2`Tr^Y;CrV2gWP4;cPYwuvVz6N^hQ7xC9<>j1;<3RJhnSKct|2gRu+VC72 zxHnSQxnmlH0njn#r*ozTeEQOS?JkoYE;>?MkQIZdq`R4|7b8_QKT?XjQ(pfNZTc;I zEJX3mtb;BWoZ>H;_GDluN6au_|5fl{`2oJz?6e%iYdyh=vx)a|TyK8mn}|`9zTaC= zSFzIC4IeQ!NwU#|N4H=v*+M*gT}9%qyVad7Rs7z&R-@(9EC>e=@=b&H(xGggrb3zQ z?kgYRg!50nGx|0SM#}eHuxrOuot88wT^<>LWL|XURra8tl0WTy3uq#UCtl&7W>psZ zxc=5C|B)8R@NjBmo0=@06+u&7%;xV#^@1nFp(}ogyP3(4>b?;?cbr<+_B_ZB&~1T< zrA*Rj?~NbpJ>Z=Ben{8Ri9{wsY)uIOE373V3IiCvJHkCOW3(bKe2GR>m=(z^j6)Sj zjKFif8+mNaZp~LzBUS+Qd1oWgCi+&UpT`jpB_Xk_;2Y`VOtaI%sU^e}1*}#>hMDK=wypQNn)rCe%pNy3}*Uvme7O zW$uQw0BQntXG`F5tyfGf?}rzgH($(=JLUHoBL!*RYfebywgw#PGgb?ouF78u+aIQd znn#=o1h%xl>97(~_ZRXvXi2u812X5px_kQ|+^5=joOiHZQK*o$>lHr((h@vX zR_^Qj z;TiO%)RSc@(*G1Ijo?JBwr_rzz~7k_r}=2Eg@3y1`ctbY4xU`xmA9fj?4ao*1$qQD zL;4O3w`!9TdE0vNHNUoOCfCk^qzBNW0_^>r?s0uX{pZ;Nn_EcoZKsj|!B_V_y&!j% z!3GEHS^tI+dQy?b4#gpcHP1nL^yg7Mwae7a@1MHo9&xgnFoooR$P@yoUgaFZrx~4{ z%y?*kPon)@7Kv7`UcsZwN{D{Qs;L{Tf9zPQtQz0ld#kMd3}xo$_^_n=Qz60Qlxi7Z zG3lIH-JPy(>FVkhF6)}3mqmC`{9Y}U6o~<(@j8E^GnL!-JkaA|aqjK&WnkhV|J%W~ zP?`nBvuH&u-><3N;d?W#4rj29->woJ$>Z&Mgq=}4MG$)?*T$A)(~?%Fi9+-M-xfMv zXKON1si5pt`d$GDADdiDAqW&ao9LlK#1)6IRClPEj8o0Kj6tsas?%a?>$|ZxmUbI5 zM5t5o-+$*}RSlkv{c^Xl%4 zP6o6qG_US6lO72?wp4h$v5tY$S`+LM^%Z#(Mm6&X2CMPD5 zY^TuX1?^B4k>p5=>b_E>mg(|MKQCB`bWwIl%g3X>IDU&H^eOzUCH0flWA|m$$sgqb z6L-7^+ZWMd_4KdrhhbtR^ms)IEwR=ldLzx1O6Rv%W_UM0L82lM4s-#+_ z6fX`sR;M}n?q^2`*ePUAVi#qgj;^BxgULB6ZYVy+vwfl{W&c&$9I2Zm9=79>cj@y& zD9?V;QFuH${$b81Tv|ZBj>{m(_8{L4asHNZs85#9?+$Bg@RE1;Simt=^(hujjZZ$w z<7qP6!^&pImD)Q0^1KhN>j>Di=C*6_xzn6_BQKV8Om;N>L%PfZi~bn7f3efjG?Iz`S6 z%alhdl#>)))(rSwR|}UOvbu7k6NwG{c#)*zQ=$;JcO7v`BloFp zw&mvkj9eIzJZpC~9`+&bhKgYAdeQow%z$O;v9lg)${je&&8qhMcS*e1%Nuf?-#@9Q zAdCJLb*W(Wm#wL(8bSJTgqqN;LI~4FGs-h`MZzDUm?Iu)On=5XC|LOp$3^3DuZ;#* z*=$Rn-PT;KWLXN;1_S*c48MQiEBu}QFd{kj>RkUB^QCo5W7+SXWz`FalW7beIt#38 zuMSkY=J5Vw0nA45JfB`_;?5S&YhkkNg zAX&UpqTna)3_mJqVZM5x`{P|=hBI0;4))UScNgpoCgw8A9}g+|D<6oJJ3#2UnU%%H ze{ALi;-g7UtdY`ttg3QeL)`#YT%cXVyN{`&z5DQcZ@c-NCUuGzKlI+vbe~)soC)sz z@#eJt-Y5<=hZB#@boT<2?I5m-4(iI8C7tVC`&zw?zIg6qDt;%zKd(WTEPQV;M-JoT z#k0?@`A1k?d^3AYZ!Vz$!3F;`1h-^vrZYt0|$G-ECX^oDk~nG@@;leYwh ZY4tREKSZ*l^9u4ME2$(=DP|D#zW~qt^8Nq- literal 0 HcmV?d00001 diff --git a/platform/developer-guide/docs/custom-apps-development/media/pagebuilder-in-menu.png b/platform/developer-guide/docs/custom-apps-development/media/pagebuilder-in-menu.png new file mode 100644 index 0000000000000000000000000000000000000000..73e76e462c71448ac58699d8c513fe274352d51b GIT binary patch literal 10418 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 Soq+oZK?<^}@5-e=e*O=f{qf5H literal 0 HcmV?d00001 diff --git a/platform/developer-guide/docs/custom-apps-development/media/pagebuilder-web-project.png b/platform/developer-guide/docs/custom-apps-development/media/pagebuilder-web-project.png new file mode 100644 index 0000000000000000000000000000000000000000..36108a256a3a3db88722fc0c052cdffcc56156d3 GIT binary patch literal 27701 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 D1+N>> literal 0 HcmV?d00001 diff --git a/platform/developer-guide/docs/custom-apps-development/register-third-party-app.md b/platform/developer-guide/docs/custom-apps-development/register-third-party-app.md new file mode 100644 index 0000000000..54f2cbc128 --- /dev/null +++ b/platform/developer-guide/docs/custom-apps-development/register-third-party-app.md @@ -0,0 +1,122 @@ +# Register a Third-Party App + +A third-party app is an entry in the Platform's **Apps** menu that hands the user off to an external service instead of opening a custom-built application. The Platform binds **Content/[app_id]** to the `/apps/[app_id]` URL, so a tiny static **index.html** in that folder can redirect the browser to a server-side endpoint or an external URL. + +The [Power BI Reports module](https://github.com/VirtoCommerce/vc-module-power-bi-reports) uses this pattern: its **Content/reports/index.html** issues a meta-refresh to **/api/power-bi-reports/redirect**, where a controller reads the configured Power BI URL and issues an HTTP redirect to it. + +If your goal is to ship a custom back-office app rather than launch an external service, see [Register your own app](register-your-own-app.md) instead. + +## Prerequisites + +Before adding a third-party app, make sure the following prerequisites have been installed: + +* [Virto Commerce Platform 3.264+](https://github.com/VirtoCommerce/vc-platform) +* [Virto Commerce CLI (VC-BUILD) 3.12+](https://github.com/VirtoCommerce/vc-build) + +## Registration steps + +To register a third-party app: + +1. [Declare the app in module.manifest](#declare-the-app-in-modulemanifest). +1. [Provide the redirect index.html](#provide-the-redirect-indexhtml). +1. [Build, package, and deploy](#build-package-and-deploy). +1. [Verify the app appears in the Apps menu](#verify-the-app-appears-in-the-apps-menu). + +### Declare the app in module.manifest + +Add an `` entry inside `` in **module.manifest**. For example: + +```xml title="module.manifest" + + + Reports + Power BI Commerce Reports + /apps/reports/power_bi_logo.svg + PowerBiReports:access + + +``` + +For a description of every supported attribute, see [Apps section in Module.manifest](../Fundamentals/Modularity/06-module-manifest-file.md#apps-section). + +### Provide the redirect index.html + +Create a **Content/[app_id]** folder in the Web project and place an **index.html** in it. + +Use a meta-refresh to forward the browser to your target URL. For example, to redirect to a controller endpoint that completes the integration server-side: + +```html title="src/VirtoCommerce.PowerBiReports.Web/Content/reports/index.html" + + + + + + Redirecting to Power BI Reports + + +

Redirecting to Power BI Reports...

+
+ + +``` + +![Folder layout](media/app-folder.png) + +The controller behind `/api/power-bi-reports/redirect` issues the final HTTP redirect: + +```csharp title="PowerBiReportsController.cs" +[Route("api/power-bi-reports")] +public class PowerBiReportsController : Controller +{ + private readonly ISettingsManager _settingsManager; + + public PowerBiReportsController(ISettingsManager settingsManager) + { + _settingsManager = settingsManager; + } + + [HttpGet] + [Route("redirect")] + [Authorize(ModuleConstants.Security.Permissions.Read)] + public ActionResult Redirect() + { + var redirectToPowerBIUrl = _settingsManager.GetValue(ModuleConstants.Settings.General.PowerBiReportsUrl); + + if (string.IsNullOrEmpty(redirectToPowerBIUrl)) + { + return NotFound("PowerBiReportsUrl is not configured in Platform Settings"); + } + + return Redirect(redirectToPowerBIUrl); + } +} +``` + +### Build, package, and deploy + +Use the Virto Commerce CLI (vc-build) to package the module: + +```bash +vc-build Compile +vc-build Compress +``` + +The packaging step includes everything under **Content/[app_id]/**, so the redirect file ships inside the module zip. Deploy the resulting package as you would any other module. + +![vc-build](media/vc-build.png) + +### Verify the app appears in the Apps menu + +1. Open Platform. +1. Click ![Dots](media/nine-dots-icon1.png){: width="25"} in the top left corner. +1. Click the registered app and confirm the browser redirects to the target URL. + + ![Apps menu](media/app-menu-2.png) + +You can also confirm the app via REST API: + +```bash +curl -X GET "https://mycustomdomain.com/api/platform/apps" -H "accept: application/json" +``` + +![REST API response](media/rest-api.png) diff --git a/platform/developer-guide/docs/custom-apps-development/register-your-own-app.md b/platform/developer-guide/docs/custom-apps-development/register-your-own-app.md new file mode 100644 index 0000000000..bbddd647e5 --- /dev/null +++ b/platform/developer-guide/docs/custom-apps-development/register-your-own-app.md @@ -0,0 +1,111 @@ +# Register Your Own App + +This guide shows how to register a custom app you build yourself, packaged inside a Platform module. The Virto Commerce CLI (vc-build) builds the source, copies the output into the module, and the Platform serves it from the **Apps** menu under the `/apps/[app_id]` URL. + +The recommended framework is [VC-Shell](https://github.com/VirtoCommerce/vc-shell), and the steps below use it as the example. + +If your goal is to add an Apps menu entry that hands the user off to an external service rather than ship a custom-built app, see [Register a third-party app](register-third-party-app.md) instead. + +## Prerequisites + +Before adding a new app, make sure the following prerequisites have been installed: + +* [Virto Commerce Platform 3.264+](https://github.com/VirtoCommerce/vc-platform) +* [Virto Commerce CLI (VC-BUILD) 3.12+](https://github.com/VirtoCommerce/vc-build) + +Optional, depending on the frontend toolchain you choose: + +* [VC-Shell framework](https://github.com/VirtoCommerce/vc-shell) + +## Registration steps + +To register your own app: + +1. [Declare the app in module.manifest](#declare-the-app-in-modulemanifest). +1. [Place source code in the Web project](#place-source-code-in-the-web-project). +1. [Build, package, and deploy](#build-package-and-deploy). +1. [Verify the app appears in the Apps menu](#verify-the-app-appears-in-the-apps-menu). + +### Declare the app in module.manifest + +Add an `` entry inside `` in **module.manifest**. For example: + +```xml title="module.manifest" + + + Page Builder Shell + Page Builder Shell + /apps/page-builder-shell/assets/images/logo-only.svg + none + false + + + Page Builder Designer + Page Builder Designer + /apps/page-builder-designer/assets/images/logo-only.svg + none + false + + +``` + +This example, taken from the [Page Builder module](https://github.com/VirtoCommerce/vc-module-pagebuilder), declares two apps in a single module. Each app gets its own `` entry, source folder, and runtime URL. It also shows that the registration mechanism is not tied to VC-Shell: `page-builder-shell` is a VC-Shell app and `page-builder-designer` is an Angular app, but both are registered the same way. + +For a description of every supported attribute, see [Apps section in Module.manifest](../Fundamentals/Modularity/06-module-manifest-file.md#apps-section). + +### Place source code in the Web project + +The vc-build `BuildCustomApp` target resolves the source folder in this order: + +1. **Apps/[app_id]** under the Web project, for example, **src/VirtoCommerce.PageBuilderModule.Web/Apps/page-builder-shell/** and **src/VirtoCommerce.PageBuilderModule.Web/Apps/page-builder-designer/**. This is the canonical layout and the only one supported when the manifest declares more than one app. +1. **App** under the Web project, for example, **src/VirtoCommerce.News.Web/App/**. This legacy fallback applies only when the manifest declares a single app. + +The package manager is auto-detected from the project's lockfile, so yarn, pnpm, npm, and bun are all supported with no configuration. Projects with non-conventional setups can override the defaults; run `vc-build --help` to see the available parameters. + +To bootstrap a VC-Shell app, run the scaffolder from the Web project's directory and pass the app id as the project name: + +```bash +npx @vc-shell/create-vc-app page-builder-shell +``` + +The scaffolder creates **Apps/page-builder-shell/** automatically, matching the canonical layout. Run it once per app id when the manifest declares multiple apps. For details on the scaffolder, see [Creating Custom VC-Shell Applications](vc-shell/Guides/creating-custom-applications.md). + +![Folder layout](media/pagebuilder-web-project.png) + +### Build, package, and deploy + +Run vc-build at the module root: + +```bash +vc-build Compile +vc-build Compress +``` + +`Compile` invokes the `BuildCustomApp` target, which: + +1. Detects the project's package manager from the lockfile and runs install and build in the resolved source folder. +1. Copies the build output into **Content/[app_id]** in the Web project. + +`Compress` then packages the module into a zip in which the app sits at **Content/[app_id]/**. Deploy the resulting package as you would any other module. + +![vc-build](media/pagebuilder-compress.png) + +### Verify the app appears in the Apps menu + +1. Open Platform. +1. Click ![Dots](media/nine-dots-icon1.png){: width="25"} in the top left corner. +1. Find the registered app. + + ![Apps menu](media/pagebuilder-in-menu.png) + +You can also confirm the app via REST API: + +```bash +curl -X GET "https://mycustomdomain.com/api/platform/apps" -H "accept: application/json" +``` + +![REST API response](media/pagebuilder-app-in-rest-api.png) + +## Optional: enable embedded mode + +To make a VC-Shell app open inside the AngularJS-based back office instead of as a standalone tab, see [Enabling Embedded Mode for VC-Shell Instances](../Tutorials-and-How-tos/How-tos/enable-embedded-mode-for-vc-shell.md). diff --git a/platform/developer-guide/docs/custom-apps-development/vc-shell/Essentials/composables/useApiClient.md b/platform/developer-guide/docs/custom-apps-development/vc-shell/Essentials/composables/useApiClient.md index d6da9aa2ff..535c7283c0 100644 --- a/platform/developer-guide/docs/custom-apps-development/vc-shell/Essentials/composables/useApiClient.md +++ b/platform/developer-guide/docs/custom-apps-development/vc-shell/Essentials/composables/useApiClient.md @@ -81,4 +81,4 @@ npm run generate-api-client --APP_PLATFORM_URL=https://api.example.com/ --APP_PL ## Related Resources - [API Client Integration](../API-Integration/api-client-integration.md) - Guide for generating API clients -- [Connecting to Platform](/platform/developer-guide/latest/custom-apps-development/vc-shell/How-tos/Connecting-to-Platform) - Guide for connecting to VirtoCommerce Platform +- [Connecting to Platform](/platform/developer-guide/latest/custom-apps-development/vc-shell/Guides/creating-custom-applications/#initial-configuration) - Guide for connecting to VirtoCommerce Platform diff --git a/platform/developer-guide/docs/custom-apps-development/vc-shell/How-tos/Connecting-to-Platform.md b/platform/developer-guide/docs/custom-apps-development/vc-shell/How-tos/Connecting-to-Platform.md deleted file mode 100644 index f0aa7d13a1..0000000000 --- a/platform/developer-guide/docs/custom-apps-development/vc-shell/How-tos/Connecting-to-Platform.md +++ /dev/null @@ -1,20 +0,0 @@ -# Connect Custom App to Platform - -!!! note "Prerequisites" - [Create custom app](../Getting-started/creating-first-custom-app.md) - -To connect your custom app to the VC Platform, add `APP_PLATFORM_URL` environment variable to your app. This variable should contain the URL of the VC Platform. - -This variable is located in the **.env** file in the root of your app. If you don't have this file, you should create it as follows: - -=== "Option 1" - - ```title=".env" - APP_PLATFORM_URL=https://your_platform_url_here - ``` - -=== "Option 2" - - ```bash - $ echo "APP_PLATFORM_URL=https://your_platform_url_here" >> .env - ``` \ No newline at end of file diff --git a/platform/developer-guide/docs/index.md b/platform/developer-guide/docs/index.md index ede858a2af..8e36974db7 100644 --- a/platform/developer-guide/docs/index.md +++ b/platform/developer-guide/docs/index.md @@ -13,6 +13,6 @@ This segment will help you learn how to set up, build, develop, and maintain you | ![API reference](media/api-overview.png) |
  • [REST API](https://virtostart-demo-admin.govirto.com/docs/index.html)
  • [GraphQL API](GraphQL-Storefront-API-Reference-xAPI/index.md)
  • [Interact with REST API via Swagger](Tutorials-and-How-tos/How-tos/swagger-api.md)
  • [Interact with GraphQL API via GraphiQL](GraphQL-Storefront-API-Reference-xAPI/graphiql.md), [curl](GraphQL-Storefront-API-Reference-xAPI/curl.md), or [Postman](GraphQL-Storefront-API-Reference-xAPI/postman.md)
| | ![Tutorials and how-tos](media/tutorials-overview.png) |
  • [Create custom modules from template](Tutorials-and-How-tos/Tutorials/creating-custom-module.md), [from scratch](Tutorials-and-How-tos/Tutorials/create-new-module-from-scratch.md) or [via Docker](Tutorials-and-How-tos/How-tos/docker-modules-development.md)
  • [Debug VC code without source code](Tutorials-and-How-tos/How-tos/debugging.md)
  • [Perform health checks](Tutorials-and-How-tos/How-tos/health-checks.md)
| | ![CLI tools](media/cli-overview.png) |
  • [Explore Virto Commerce Global Tool](CLI-tools/overview.md)
  • [Explore how to interact with VirtoCloud](CLI-tools/virto-cloud.md)
  • [Install, update, and uninstall platform dependencies](CLI-tools/package-management.md)
| -| ![Custom apps development](media/custom-apps-overview.png) |
  • [Create first custom app via VC-Shell](custom-apps-development/vc-shell/Getting-started/creating-first-custom-app.md)
  • [Connect to Platform](custom-apps-development/vc-shell/How-tos/Connecting-to-Platform.md)
  • [Generate API client](custom-apps-development/vc-shell/Essentials/Usage-Guides/using-api-clients-with-useapiclient.md)
| +| ![Custom apps development](media/custom-apps-overview.png) |
  • [Create first custom app via VC-Shell](custom-apps-development/vc-shell/Getting-started/creating-first-custom-app.md)
  • [Connect to Platform](custom-apps-development/vc-shell/Guides/creating-custom-applications.md#initial-configuration)
  • [Generate API client](custom-apps-development/vc-shell/Essentials/Usage-Guides/using-api-clients-with-useapiclient.md)
| diff --git a/platform/developer-guide/mkdocs.yml b/platform/developer-guide/mkdocs.yml index 7ff154c035..1574e08e2c 100644 --- a/platform/developer-guide/mkdocs.yml +++ b/platform/developer-guide/mkdocs.yml @@ -913,7 +913,8 @@ nav: - Useful Tips: Updating-Virto-Commerce-Based-Project/tips.md - Custom Apps Development: - Overview: custom-apps-development/overview.md - - Registering New App: custom-apps-development/how-to-register-new-app.md + - Register Your Own App: custom-apps-development/register-your-own-app.md + - Register a Third-Party App: custom-apps-development/register-third-party-app.md - VC-Shell: - Overview: custom-apps-development/vc-shell/vc-shell-overview.md - Getting Started: @@ -1043,5 +1044,3 @@ nav: - VcWidget: custom-apps-development/vc-shell/Essentials/ui-components/vc-widget.md - Extensibility: - Modularity: custom-apps-development/vc-shell/Extensibility/modularity.md - - How-tos: - - Connecting to Platform: custom-apps-development/vc-shell/How-tos/Connecting-to-Platform.md

If you are not redirected automatically, please click here.