From ebc21c9bdd1a311544190cad157ecd4b19754671 Mon Sep 17 00:00:00 2001 From: Stanimir Ivanov Date: Wed, 5 Nov 2025 18:03:53 +0200 Subject: [PATCH 1/7] Added canary rollout page --- .../configure/canary-rollback-flow.png | Bin 0 -> 56750 bytes .../configure/canary-rollout.md | 368 ++++++++++++++++++ .../configure/canary-success-flow.png | Bin 0 -> 237005 bytes 3 files changed, 368 insertions(+) create mode 100644 content/docs/administration/configure/canary-rollback-flow.png create mode 100644 content/docs/administration/configure/canary-rollout.md create mode 100644 content/docs/administration/configure/canary-success-flow.png diff --git a/content/docs/administration/configure/canary-rollback-flow.png b/content/docs/administration/configure/canary-rollback-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..49d0bb9bcfa101db7f0dd494e77808dcad774a26 GIT binary patch literal 56750 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 literal 0 HcmV?d00001 diff --git a/content/docs/administration/configure/canary-rollout.md b/content/docs/administration/configure/canary-rollout.md new file mode 100644 index 0000000..fd35ee1 --- /dev/null +++ b/content/docs/administration/configure/canary-rollout.md @@ -0,0 +1,368 @@ +--- +title: "Rollout Configuration Changes" +description: "" +summary: "" +date: 2025-10-21T09:30:00+03:00 +lastmod: 2025-10-21T09:30:00+03:00 +draft: false +weight: 315 +toc: true +seo: + title: "" # custom title (optional) + description: "" # custom description (recommended) + canonical: "" # custom canonical URL (optional) + noindex: false # false (default) or true +--- + +NuoDB DBaaS manages NuoDB databases at scale and automates certain aspects of the database lifecycle. +A pre-defined database configuration preset in the form of [service tiers]({{< ref "./service-tiers.md" >}}) allows users to have control over fully supported and well-documented database properties only. +Such a reusable configuration provides convenience for the users but requires extra planning when a configuration change is made since this will affect many databases. + +NuoDB DBaaS supports delivering configuration changes progressively to domain and database resources. +This allows any configuration updates to be delivered in a controlled way defined by NuoDBaaS operations best practices and enforced using rollout templates. + +## Canary rollout + +The `CanaryRollout` custom resource is a job for rolling out a change progressively to a group of `Domain` and `Database` resources. +A [JSON merge patch](https://datatracker.ietf.org/doc/html/rfc7386) represents the decired configuration change to resources matched by a label selector. +The canary rollout is either created automatically by the system, manually using `kubectl` or via REST API [/cluster/canaryrollouts](https://nuodb.github.io/nuodb-cp-releases/api-doc/#put-/cluster/canaryrollouts/-name-) cluster-scoped resource. + +## Canary rollout template + +The `CanaryRolloutTemplate` custom resource is reusable configuration defining the rollout strategy. +It is referenced by a `CanaryRollout` resource and together they describe how a specific configuration change is delivered to selected targets. + +Each template define steps executed sequentially. +If any of the steps fail, the canary rollout is stopped and marked as failed. + +### Promote step + +The _promote_ step defines the target resources to which a change is promoted in parallel and the rollback behaviour in case of failed analysis. +Various selectors and filters limit the promote targets such as label selector, number of targets, percentage of total targets, etc. + +{{< callout context="note" title="Note" icon="outline/info-circle" >}} +There is no implicit _promote_ step for canary templates. +For a change to be propagated to a specific target, the target must match one of the explicitly configured _promote_ steps. +{{< /callout >}} + +### Analysis step + +The analysis step defines the type of analysis run to be performed on target resources after a changed has been rolled out. +An analysis run is executed in parallel on all targets promoted from the last _promote_ step. +If at least one analysis run fails for some of the targets, the canary rollout is stopped. +Multiple analysis may be defined globally and executed after each _promote_ step. + +### Pause step + +The _pause_ step defines duration for which the canary rollout must be paused. +A zero (0) duration pauses the rollout until it is manually approved. + +To manually resume paused canary rollout, update the `Paused` condition reason to `CanaryManuallyApproved` using `kubectl` directly or through the REST API. + +{{< tabs "approve-paused-rollout" >}} +{{< tab "nuodb-cp" >}} + +```sh +nuodb-cp httpclient PATCH cluster/canaryrollouts/acme-upgrade \ + --query-param updateStatus=true \ + -d '[{ + "op": "replace", + "path": "/status/conditions", + "value": [{ + "type": "Paused", + "status": "True", + "reason": "CanaryManuallyApproved", + "message": "", + "lastTransitionTime": "'$(date +"%Y-%m-%dT%H:%M:%SZ")'" + }]}]' +``` + +{{< /tab >}} +{{< tab "kubectl" >}} + +```sh +kubectl patch canaryrollout \ + --subresource status \ + --type merge \ + --patch '{"status": {"conditions": [{ + "type": "Paused", + "status": "True", + "reason": "CanaryManuallyApproved", + "message": "", + "lastTransitionTime": "'$(date +"%Y-%m-%dT%H:%M:%SZ")'" + }]}}' +``` + +{{< /tab >}} +{{< /tabs >}} + +## Monitoring rollout progress + +NuoDB operator creates Kubernetes events for the canary rollout execution trace. +Use `kubectl events --for canaryrollout/` to monitor the status of the rollout. + +An example canary rollout execution log is available below. + +```text +LAST SEEN TYPE REASON OBJECT MESSAGE +22m Normal CanaryPauseStep CanaryRollout/acme-upgrade Pause step (1/13) activated: canary rollout paused until manual approval +21m Normal CanaryManuallyApproved CanaryRollout/acme-upgrade Pause step (1/13) manually approved after -1h59m59.509203822s +21m Normal Progressing CanaryRollout/acme-upgrade Step (1/13) completed +21m Normal CanaryPromoteStep CanaryRollout/acme-upgrade Promote step (2/13) progressing target Domain default/acme-messaging +21m Normal CanaryPromoteStep CanaryRollout/acme-upgrade Promote step (2/13) progressing target Database default/acme-messaging-demo +16m Normal CanaryAnalysisRunSucceeded CanaryRollout/acme-upgrade Analysis step (2/13) analysis "ready" succeed for target Domain default/acme-messaging +16m Normal CanaryAnalysisRunSucceeded CanaryRollout/acme-upgrade Analysis step (2/13) analysis "ready" succeed for target Database default/acme-messaging-demo +16m Normal Progressing CanaryRollout/acme-upgrade Step (2/13) completed +16m Normal CanaryPromoteStep CanaryRollout/acme-upgrade Promote step (3/13) matches no targets +16m Normal Progressing CanaryRollout/acme-upgrade Step (3/13) completed +16m Normal CanaryPauseStep CanaryRollout/acme-upgrade Pause step (4/13) activated: canary rollout paused for 5m0s +11m Normal CanaryPauseStep CanaryRollout/acme-upgrade Pause step (4/13) resuming rollout after 5m1s +11m Normal Progressing CanaryRollout/acme-upgrade Step (4/13) completed +11m Normal CanaryPromoteStep CanaryRollout/acme-upgrade Promote step (5/13) matches no targets +... +``` + +The current state for pending analysis runs is recorded for each promoted target in `status.lastPromotedTargets[*].analysisRuns`. + +{{< callout context="note" title="Note" icon="outline/info-circle" >}} +Since canary rollouts may run for long time before complete, it is recommended to collect and store Kubernetes events in external system (e.g. Grafana Loki) for long term storage. +{{< /callout >}} + +## Use cases + +The canary rollout resources are the main building blocks for delivering any change progressively, however, let's focus on two main use cases described in this section. + +### Changes in service tiers + +The NuoDB service tiers and Helm features are versioned resources, which means that a configuration history is maintained for them by the NuoDB operator. +A new configuration version, called _revision_, is created on every update of the resource's desired specification. +Configuration revisions are referenced in other resources, such as the domain or database. +If an explicit revision is not pinned in a reference, then the _latest_ revision is used. +A revision that is not in use or is not the _latest_ is automatically removed from the version history. +For example, a new service tier revision is created when either a service tier's desired spec is modified or a referenced Helm feature's desired spec is modified. + +Keeping version history of shared configuration and explicitly referencing these revisions allows decoupling the database lifecycle from the configuration lifecycle. +NuoDB DBaaS supports both manual and automatic revision rollout to selected target resources. + +To enable automatic rollout of service tier revisions, set the `spec.updateStrategy.type` field to `CanaryRollout` and configure the `CanaryRolloutTemplate` custom resource reference in `spec.updateStrategy.canary.templateRef.name`. +If enabled, the NuoDB operator will manage the lifecycle of `CanaryRollout` resources, which kicks in the automatic rollout of new service tier revisions to all Domain and Database resources that reference them. + +{{< callout context="note" title="Note" icon="outline/info-circle" >}} +The _nuodb-cp-config_ Helm chart allows you to enable automatic rollout for all standard service tiers by setting the `cpConfig.service.type.updateStrategy.type` and `cpConfig.service.type.updateStrategy.canary.template` Helm values. +{{< /callout >}} + +The diagram below illustrates a successful automatic configuration rollout triggered by a change in a Helm feature. +The example is simplified and has one Helm feature, one service tier, and two databases for demonstration purposes. +Multiple controllers in the NuoDB operator are responsible for progressively rolling out the change in the Helm feature to both databases. + +{{< picture src="canary-success-flow.png" alt="Canary rollout success flow" >}} + +In case the analysis defined in the `CanaryRolloutTemplate` fail for some of the target databases, the rollout will stop, and that database will be rolled back to the previous service tier revision. + +{{< callout context="note" title="Note" icon="outline/info-circle" >}} +Depending on the canary template configuration, multiple databases may be updated at once. +By default, a rollback will be performed only for the databases with failed analysis. +{{< /callout >}} + +{{< picture src="canary-rollback-flow.png" alt="Canary rollout rollback flow" >}} + +### Example: Service tier rollout + +The below canary template defines a progressive rollout strategy for service tier change to 2, 10%, 40% and 100% of domains and databases with _prod_ SLA. +After each promotion, the rollout will make sure that the resources are _synced_ and _ready_ by running status condition analysis. + +```yaml +apiVersion: cp.nuodb.com/v1beta1 +kind: CanaryRolloutTemplate +metadata: + name: example-tier-update +spec: + analysis: + - name: "ready" + interval: 5m + checkStatusCondition: + type: Ready + status: "True" + timeout: 15m + - name: "synced" + interval: 1m + checkStatusCondition: + type: Released + status: "True" + timeout: 5m + steps: + # Promote to 2 PROD domains/databases + - promoteTo: + labelSelector: + matchLabels: + cp.nuodb.com/sla: prod + limitCount: 2 + + # Promote to 10% of the PROD domains/databases + - promoteTo: + labelSelector: + matchLabels: + cp.nuodb.com/sla: prod + limitPercentage: 10 + + # Promote to 40% of the PROD domains/databases + - promoteTo: + labelSelector: + matchLabels: + cp.nuodb.com/sla: prod + limitPercentage: 40 + + # Promote to the rest of the domains/databases + - promoteTo: {} +``` + +### Product version upgrade + +Canary rollouts are used to promote new NuoDB product releases with confidence by progressively delivering it across selected databases. +DBaaS administrators maintain reusable rollout templates for minor version upgrades. +The operations team references them in a canary rollout job for a specific NuoDB release and monitors its progress across a fleet of databases. + +{{< callout context="caution" title="NuoDB protocol version upgrade" icon="outline/alert-triangle" >}} +NuoDB [database protocol version upgrade](https://doc.nuodb.com/nuodb/latest/deployment-models/physical-or-vmware-environments-with-nuodb-admin/installing-nuodb/upgrade-to-a-new-release/upgrade-the-database-protocol/#nav-container-toggle) is not automatically performed when rolling out a new NuoDB version. +It must be planned accordingly and performed as an additional manual step. +{{< /callout >}} + +If the new version is promoted to a domain and its databases by the same _promote_ step, the NuoDB operator will ensure that the domain is upgraded before the databases. +This reduces the number of NuoDB processes that are shut down at the same time and reduces the risk of cascading failures. + +### Example: Minor version upgrade + +The below canary template defines an upgrade strategy by progressively promoting a new version to 2, 30% and 100% of domains and databases with _dev_ SLA. +After that the rollout is paused until manual approval. +Once the approval is given, the version is promoted to 2, 10%, 40% and 100% of production domains and databases. + +```yaml +apiVersion: cp.nuodb.com/v1beta1 +kind: CanaryRolloutTemplate +metadata: + name: example-version-upgrade +spec: + skipDisabled: true + analysis: + - name: upgrading + interval: 5s + checkStatusCondition: + type: Upgrading + status: "True" + timeout: 30m + steps: + # Promote to 2 DEV domains/databases + - promoteTo: + labelSelector: + matchLabels: + cp.nuodb.com/sla: dev + limitCount: 2 + - analysis: + name: ready + interval: 5m + checkStatusCondition: + type: Ready + status: "True" + timeout: 30m + + # Promote to 2 DEV domains/databases + - promoteTo: + labelSelector: + matchLabels: + cp.nuodb.com/sla: dev + limitPercentage: 30 + - analysis: + name: ready + interval: 5m + checkStatusCondition: + type: Ready + status: "True" + timeout: 30m + + # Promote to the rest of DEV domains/databases + - promoteTo: + labelSelector: + matchLabels: + cp.nuodb.com/sla: dev + - analysis: + name: ready + interval: 5m + checkStatusCondition: + type: Ready + status: "True" + timeout: 30m + + # Wait until manually approved + - pause: {} + + # Promote to 2 PROD domains/databases + - promoteTo: + labelSelector: + matchLabels: + cp.nuodb.com/sla: prod + limitCount: 2 + - analysis: + name: ready + interval: 5m + checkStatusCondition: + type: Ready + status: "True" + timeout: 30m + + # Promote to 10% of the PROD domains/databases + - promoteTo: + labelSelector: + matchLabels: + cp.nuodb.com/sla: prod + limitPercentage: 10 + - analysis: + name: ready + interval: 5m + checkStatusCondition: + type: Ready + status: "True" + timeout: 30m + + # Promote to 40% of the PROD domains/databases + - promoteTo: + labelSelector: + matchLabels: + cp.nuodb.com/sla: prod + limitPercentage: 40 + - analysis: + name: ready + interval: 5m + checkStatusCondition: + type: Ready + status: "True" + timeout: 30m + + # Promote to the rest of the domains/databases + - promoteTo: {} + - analysis: + name: ready + interval: 5m + checkStatusCondition: + type: Ready + status: "True" + timeout: 30m +``` + +The template is referenced in the canary rollouts for different versions. +For example, the below canary rollout upgrades all databases in organization `acme` to NuoDB 7.0.3. + +```yaml +apiVersion: cp.nuodb.com/v1beta1 +kind: CanaryRollout +metadata: + name: acme-upgrade-703 +spec: + patch: + spec: + version: 7.0.3 + rolloutTemplate: + name: example-version-upgrade + selector: + matchLabels: + cp.nuodb.com/organization: "acme" +``` diff --git a/content/docs/administration/configure/canary-success-flow.png b/content/docs/administration/configure/canary-success-flow.png new file mode 100644 index 0000000000000000000000000000000000000000..a2257b02a92f3455b757403ff364d622927212a4 GIT binary patch literal 237005 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 z z99p*ppvrEn59pGWgWMUC`x^qJbfsP))Nm*Ok6%3x(Qz{ufY2@_B2@Mgm(u0+g*)%B zyWxQ7*vTRg7z%vp4i#V2q4fyBG3>FB@gVACetp%tE>kgNeES`D>?3(i&=F~M2z8_a zZS?B1&hIbU0A~n7Hk{p=`Z~2Or97~NY>e8=Cm(hQT-b#=<&jC#KFWGF>Jt1D6rnZY zNP*-b!+DJG9~LqNKX(8hT`CV8l~Yj5sRGUiulUSH)uGz=4P4IVte1=7zVuP;rlWCJ zv_rqzg|Mk^$vY*41?w8Qv)ERnY9SzK$p;{8@}&0JXKggwxSbXef+T6%++D6IBbW zQN!OurSh zbCzDILn!tZNd19G=wm{RS48+pD?B>l^N{k_LiJMgz_#q!3DMDn{sWH4Mlr@o4+o@s_}De`$|7Gy}n1Tqv?##^ciwqKpifKkR$ zmS;fxn@|CrI)bf4^HJ=}L&Dv@1yRh{#uFfJZ8ZXB59%`M^^I9=cq^Dc?XwUGy2a^h zVP;Px*FvlK3hkxn8ne0_K$8V^%r4t#BJ9ZWci{7!XF~JKdUBBoTYmQd{huvy9zdQ{ zJWjPoWU&wb!U}e-qEnvPnDJYOzuUXGOEkEVAPmZfks$B+<*Az|$^{X~CG@^r!GeDK z{E;n;7QN=C6TgQU`5f>ZE@=L9KQkHeyO#J9wsXZ%o=3aI&b60TkKUcYxp@ zK~eZuKrsv!12iX8!P=lVhY0EV@yibqJRt1x>W5;H9p9NF*cFKDT(O!_o|9K)PKSyz zjP>W+MKI`*Ef_;gm1yn?x}NV58-b-ap#+;^>f;k+tjZp6!#kO1Aw?)j#g`rrI0||= zTmNqUbP6;iyuvtjhTgeTmmv@fIR6d7GPsJ!Nup*uQyHGFCCPs!gEi<$vud6>cBExv z+AqXY@SLg^L+Go4sR?;a*r+0d2_oE*ECB`^p501877@r$P*23c`+-pR>$ z4Jl2?5Z}kv#@Qc$*bS4mPb+XNIU|X2xPkvGMxJN7!m7*nu`q&4aUs#$k2$f zcHYbbNPo{-0L>+p8 z#?emqyqtE9s5B>0t`6`pI0yz;`_c%H{5?H5S6qxav-ik?m$12Z^j_w=|95j0@N;_j zD+&WiDCR+K*EN!&;t%DZj$0$Y@bs+#J&Fy);4$y-vFwhG}q(4XfXCZuh z6JMoD@9yEGH> zqt8pR1W>8D)PjEN?n!L_UqT~vg(lVOzuo?sXO%eNfifkzDHagbt0MQ`Rhpd$E1&vh zrmKz%eMkqw?C6S;(5$tT*aT`psa>NX0N_%F9E)AF`U7}znud~w=j>~E=5?y>-mSQN z69k@|9KD{+=1Cx){Sm92KjZxUR7mQ2;5b&kB^4SIv%s1P=Eu6g3lEn1;5?yg_C)Nf zR5V4$V=2e`Q+-&#pD1@MX7{U)38EZr|=IV^I5C~Z7dE2KJu2*Zu^3K%$JV=Q`$WXN zLKC(k&l7IfUt%TyAZO?igFC@DzTP|9pET#^WV7>P721RhJTr1Re%3FSSAMboS;ADW z$4)9@Q5(}vkUX?LBFmW=>B&@f1WAUApaKE?_tnI9>{-czP@u70pK4&VT;*8S*2&M! zaqMK1%37y1MaF(Gs%4fY*5@v4NFjuTCoBO3VW-A8G@!r_4-zt{%#Y=kpr=hf(i?f?R0n|<$iHY|4UbsFra3l0%okE^1UE(0GapOqtDD!3d$Aoi=@k78@Wetf=1i(}< zZ`P6~-0fGApe^d%7J;7sqxWs~0}f$n!(IZf6+lzdYrZ>oY3m`2GVot?w)tI{zb%Gu zBDm8DNnI1Q9=%J-#R=FgA{Ye-6P~A^E3?ZMEB@2pK|1*9|2NC|!vV`Vsm3tfp0Im% zhZun3-+lz~Gl=C2YHenBAD2=R7Hn;KWAQtA+Bb5Y4ZR4oN_(;)5ygORNFsavZ?Aax zqSV{}RL`r66j(nEHDR0DAZ}uHU@KcV=g*L{w#xwyFHvoW#b@9Fys5%};LW ze9`+~p0b@M%8AY5hCPhJIc)Ta7Y8Or5fi7Nmt81zbB$w&bxB_@kasm18rbUOnN>5! zoCDy0#OFbccO8_VkBiPMuux;hn?Fer%GR@W!vC^p%<#Gl0v=`f$8sp-i@k}%fMq1QT{*qR*f_0SYd$wqp$M)9$+g#rVqI=&y zLmzVtvG5!xI$(jX2(r#*+&qW{^k*4F@J$jDpyN9$@2t!`%^x=7{1zdX3)x@;9Ok}U zGG3{IkxIWG)(%GB^BS;{a+A2@FR=OivtZ7LVD**xX=)3Vnj{ID{DsfrwCB(?CDS;K z@!(z^+vs)+{YW~Nz}b?>)t^~uaeag!Jd~G8tmG^*8;4coB9O+FyuynAjEpjW3XFwO zynz4&#prprKrJ|oLuKO9Mnh(Ya~FpgCHW-EJ!b5ru5qMhlmew#$sJgpZEJk)aqhh# zaikN@U(J6=&%u^4cym87=Y&-e;)E!QSBTN_@^+pN<2DHAo7`P~--333kKD|QZo2*T zxF3ZwAVnjfBP1q%{E!1uO;1&_MBce_I!EwC+2@ftp9ejcsE;}Fhh91AF_CQUwzw00 zJ~&^4;ZxuettyPQJqp3VXX$&XizifGy_q}&0td#^y;>oMzQF2R+us z7)^S@!Ac!~+_PV32^X}OxNnx|xQlQ`H-Q)`N=uDAO!HYJRTn&{PuNE%(O z{`hF8O*zol-St(LdhIYxxcOqY{c#+vm(ks(Sj7U(2$R0ueK?l>%Bf;xv* z@3N<3#46w?8SIM^F8z3qvwAHhO=VKO>ep#?>cGMFQp16?e&GlkrJZ>TTd65nRu%ho zUNd#fB=^ON8+n)K(WNtVZ>;bO50Cm>2{dY|w}@4#FLzKDFz%TVa>99<4m-bidXND1Qu4$|V)Tu>l+ibkivFWZk8 zuzA&Zj3nZ-+Yjr-6E&}W4H6q(o2Bifd$u#dPW^5yd2oG1zmrp+DuEQudLbX5cX2?2 zLGl&Pa|(H(XD@?jwqJhLVf$I;EEn4L_>#-S8<9jBRf}JzzIB&!mO6gs_$abnH6x1p zLi(rQlIH*)e5Osv$Y*d=J|$;z1*_2dG&#ZB8>3}>49)k9Tg;Z~qptTE4lLbKm}`}Z z3J`L9u-Rh75%_qL;7+RT`k7XWZF)W584pf=KbPZp-U7ud810UH5+cnhbmYy-&2>*^)HaLsE&6Jd8k2Q<#dSp2LQ4Us+!`yV(WMIt3{xwpG?qTd0( zT@n21qOIi~tWv2TQQsTMYx&K8`}fc|2@sHrewLPT8GG+@d9XnA+(3Z|37u$n%(Ini z)rz!dO@sbQC&sr}y+#9>i=F(j ziPVEF19YND(WK8NKgwp!xe*Z&^8@kHtKo1}%$L0paalg+n8lc@e<|JjX>-{8b1!Ji z4X2gY3g)iwT*(sSVV>lp6YvzJU39sA4S+ZWVzA=|e7H|%)*w3J?R?{A%j<^EW5U7X z8nFRQ*2`uuRC9(>aH|B4`LoJsleyi`7PEjuAn4l|Eks~dm6CPnnrWG?&TJZWTitoF z*zGG7c%iU7T%%H{JAN@B+jRAx5sI)6t%3qS zn~7GmPlZ-oTP1Zq7Cqr}jp2wVI+%@dDND^}{K9vO$@T^hLmZ=AA*RmkYx zWWo`YKjTY;#(y^9(u7nXmuncY(Zy@oV>!9Mu9};@a~*)CZ#n-_68_&bkJBv4;8jyE z!(3AjFA)%}7+Ru3sD3qS@uRL-^#MeWDw(;rQzm)pyP`zs{jA)uP9Ob_KBn4_H9Ly8(p4kQruCUChVuBSzIcyU7m?$!08HT>D$I*b zL2~2)>5_z(wsqh2uk~E+%^|aoUf^3ddA4MjqMC#^Fr{9qJ4d;oV|H07WE)AuM9*Zc zA58>+0x8|#6$%Nh!iGn=yf|%_-DYPU>m(DQ_#RFjFpbfeB^WC<*}&70eW!4|-e8gI z#_6eNmgoeO&14w@(LMIP&loMIpXG!Wt30&s0!Dig75>MXNPIv0AC*{3CKm=U;@&I# z?kYLYH=Dw0W|pR}!^V)e95lW_nkA!1CS<=AR(eS}8&}%!+Oh578-^u)OZR$1rd2yy z`LnDQ&M9Y5W?n4vjnAPA-g(o@kBwoilisHHcgI4!dgltpIoXbD)>Dh^L~Y-j@R~01 zMxW~=GRVR!TReO6JqUG-p1Yrqd#Qv{TW9EoI;@m>wm(3$Bc1Nd@!M8OC!|S?a_2R# zz8yH5VaO?<6Lwu2=XrOeRZ`rj;c%qtTc%4F1H<~N#+#IRL*~se7s;3L#TSEiMEhP)Q9xq+(a1=xxxz+d&!d#eEo+CZV*=@eDlLtAu8)Sh+-Ac$6jhDWZ;yrp7+*`( zg+5{_tNRajIP>%=LoaQ5yOo%?;-a*);k^4wYDW%4chEm`oGfcw*A5Az7vHD&1zaDV z`9v5e&);}KkqkY(sz@-l|IvG)MvH$mp;q)Z{rR-O9qRZKe?8`dWmV{U$*1b&fbGv` z|MxR`|0fs)cb{COJSYF}2pjwv))A|2Uv791! z=4a>DLKW8pHSM>@wwMqno!fV{8#i>6kdhJE!RvdMx!OWF0fqxP)8Z4>#1D52g8U-bgor4}1dE0r+@_i(feiPOr-HhOGFnkfcaUBkEB+JrRV(So%-y+E4@~&| z(bv*MZ@Q}#>$)IB_{Pu8pV-GzQbMgZq~n((a4ZPXc;IZXFZTC0HU_hi&=wty$>`2W z=`hwUJ*nN}Wnz|{SEb`0Za1>$dFOa9M7IAfTdJd%8Z~F^6;dv?!vlWwvBmpmd%Lj~ z5`~#FKQ!>E%+zZ?%z=8wI+o{7u>3+}VsUSp7anZyG8v!Qd7)RFzXZ(I-t9_{J=_+` zlt{L4-x9!wMqu*2#@>?&M#}lV-@w1E-7XHxGCP8jHzoOP-uZvQ7ZJ{GJMK zlM%(!<~UQ2iHkQ1y}5VrxRW4i*j zTBmK7HClHH^UeH|#A$EC0(tlG-I#rMuOiCHbQk%MOcJ9WOY3__Sng!(b;;*)pJa~b z<-D1de!H465Va6gSq$TSV`U2XhQ`Bi_PWF_gi6G+6*z`_@XPmHzKuFlULb2Ney$ zO=SVswYYF;BIk(f%7C^6`qvQ5hx&1rLksfbhZ7UIsNqnUIfw-SW@lI14;#Kh$mHyP zF~R-VFwso`^vm#|5_|Y`CjH*+zu&*R7d6qxw0k&JA+A}@qxUC|WJZv-SPP>qm8c;G zn~YK@-ZR+YQoI@HWD^yS80>U1&Ot2t@8gX_oY+1B%F8W3Ug*$ZhZpA=(X#7;t1Zt4 z5&th<#RK&R^W1Iz+=HUu`6XOZ_eba3#pgwCtbN4^AwAM3t`A2#&xq5!0D zv&ehTHyOTvxLbzuUp7^TbXeA{-&3|2tqgx(V{hxe`54T13sLl&*?N1oKrG_JkEKuAS5pz+_^+H-8dcnlr2tNAn+$rcq2a^aD zt9$JK8jrg#h%Es|`>FWlLj(!5yHMilxO7mY$iRNg~C;pWf!dg8J7In<2n}9b)nPZUt+w9mk;LcLnFSJNM zf)wFpnZMyPv63F7Nj+3@w!5K860G}btzHE|PTfbKfHlYf;T!*I zxHmu?0eycs1Xt0ZNy0fb2NmD3#AHyZhp&Wc3LcYF44lAAt?!Akw zo9JFHf19-1-vwb#pb=MtjEJ?)uiF25Fd>>FL(KO2VFmO5PK63d6caJz6fMh)?=v0R z?eM}=wB+mUpz7r>J)bHMZGJG8v8?f(^B>U%*z=I=*O@;21i3&(Vp)4v`^rrQ{Tnm8 z*LndD_|keFQKtXA%I!kMajpMJ)QKXSY^hRrVPtpA$>cou*vyZ`Pie8|o+rW$`? ze+&%jW3HD6YMI1_mKLzxIvW2U8EZXRr&S^&0Xua}@BU)Mo#*5*~gjTnsS8P{YkounktE z{NahCX+9?`eMXrI-t5k={Wsjb7Kn1{9%DjmG$Oq_Cl9B}ZlhmeY$nKnjV#OCRE{=x_Zs$PPm?#* z(zsvt_0^9)9jO}zo9`XViH!dp@>snhB`e~~RDFAFnWGJYYhpiW>`XQpcH;}#S zIb<#sSqPJS;kkTdi0nUt79U<^_?VQ^>p-W8zkq}N;km1@pSyB{Wsw_Q@81>%!7l`u zwBhG;%=!#kU7ETQ_9XM25v5=w&bf@H)b7A50K3f=&JO;xt@NOb^Jb__^zC^I^x&Ym zXu-OBVZkFkxOQ8%0kT_x)zX(m8+1V_ep zD)DZ)80{LiHwAlH0s#%5=@T){(Z(qKGC;1LCL(M52GTE*dDMb7VyCA$5N%e*Xsy27 z*w4U>V_mEuExo&dO~R-SI2!f~@^%8)m-2Ur23ICQs&~7?Wa%JtbQm6?MZeP0R^v?Y zLx4X&zU;l1A5)YWwQA3}tE=meWVK?f6;L3#a!uM0Y6Tt?m5$r2{Y8S&>WRT;!_fnoYaB!fCi}6tI#8CNdc!pit=bn7)Xy>W+Y@sC*#W%k-S=YH z=9BGspkm9Z+moq}DYVHENibIKPEgFC21L?1-~@^10PQJ!_4mYCs5=D+v!}JmAie`- zU|xv2oy?KP61!|N=I_>b{-KP)Pp?vtzu_; zMR=G^F@^T&Hv&97uICnTOdy$SBnDwLBDpk|Fx(cF^^e znLZ*?QqnlnS3sWY?rLIxssMmcxs!DtqKhRgCR*7?;%)_2R*WAwLGy^mxC;_-Kn;R& z(+L`}ahv5S${)kPzCu)dkdi$h0dq>4hyWYA6o5qZ&2#k3%(zhKqzdrN0RTRhjlb8) zF$0hWEKF(7dt#(8`RgSSKBQHwe zd2_}XK;al8$(XbJ9I~Q1z*gb_PcCs^fQqj}eO3eFAU=dTwE+TBFX%*Hh86&xL59R5 z)(ojCoeH%L%gmYtF&$)zHW%)2e*cE$K(2x(ooUe1j@$Udt6qeA8>t%GXjc^$@<1QI z#D|jeB!ZF#IIp_Qtub{9%pbfdD}dqCgqqFuL#9`txc6fsSBuSU4t8;F%=t6i&pd#) z7rp>vvhfn4a+3oRCk^T212VikB%R&| zPJ$4;_Vg+O!GijxH*goxB7*6Jtee6(tE5e&<*gw3miAd ziHTjJ_^pOq351RTi>n0FJ`X5+1%hz~-dq?1q=zPLbEYCTI-(N!yK38EX+)Ac`u1 zqzO*9Jl?5+;sM+|6Ipd213v9cc}MgIAv!{#ZQRB@jrMAT(OJrJq!t+R^B2;{Huv(( zK`ekM=hZQq_qh+k8;g~JTYc&FD~yW(`Ma8L&%X`*M(%=+FvVjgkh9HPQF?u}E!Jk2}&@-(%9O7o3`BurEBhM)C z&zVl}9_RgD#TnJ7t!f)B_iE28f9-1ZA_#bB*vNoyztmIToUMk`g;Wbb920cVSYHhGiHyGwUw<8wSt(jG$M=8@N z=-E%e-XDizSCiGcl;kS*0O=M7#CpR?iAbR{#KdLHof*0$P?y_?`5B_p4Z8j>fz$CG z=)2lyF7Z4Vej^*$X#(8+b*d1e9VY74k|y27NSr#|1U0*Paj^o3gVJCdr+99S)}O}F zoM~;Kq*jh@_(VH{E6qosEx0k2&fLgcHF!f$DeVcn!&o^YnqAQAZBpWd2IAJPYmH_T zdHhRZ^*_!{4d6X&$^BQI=-YRN#84`?9MG2~ud-ek?mq>E%S+9-?FXPnR0iHJVs3n_ zJcjCNoA)fT0rZ0>!58JBW%5J{R|}Oa5cnEs&|~7V^dz?rm2+&7jzx0U>Ob@e<4!Y^r%7ztJYM^G=ox0B z4zv3-sNwY9jWqa`^wW-Zj8RXrPAVv8`L%8rk5I*8cuV7SUTzo(OImJkF~lv;~W6eI)z=>`EM6_kzzNVjyK zdl_H+&+M5!bM~Gy<1p5$_kGs$+;v^QjEsTR3laXZR2VVPe-8jH(bw27=-rJ?FtUB{ z8URf)74#Jbt>x13O~nJN^l#<|OZYJM^dl+l%R3P2)J?Lv8c4o{J{mS+KbJ_4^#`07 zK{dF}h}r}WDW{3cwzVH?R=usT{o+m@?yq&OA;{iiJlXZuT!MgeAbi|msjk4{3oErP z({@F@Il%>;FN^kC09^f2WTmyXNmET1(0LIfO6e~RRf1SVMSrODiwCZDj2uA<#%?*L z?@z$=d0P`%dj19V~^kNqts!*0+5l(2y|+pO7P+Ew7~8g8+Zo@OtKy+wB9MkALp zVm}f~VH%E_hoFKVTxe>Sf3q>)I}t#@$j|xmG^&80j(fgi`5Zwn92rRsDlAdBhV9M# z)$E_g@CXh{wON8i%{xC2w5`m{nMe%-!J)2Tq5U|WsAbm~>MKt=M}q+8#tgcx%JPWG z!5$ke8#6kLqWB5Xnd+1t%bxm!liMNK)&2fKi{M9P{7&1m{(xn>vKH%*bh?&Kf!9x~ z6!pkM95=MkA->7gyYL!FHrh^Wg2MiusKp~*Ci7Jv2!y6=5E#p=*3aS-i!hds7A%KD zE3n2GVlgZ~jcqT>-q(e8RD>(-wwYRgr6|`Fn8BM8jccvBAt3dFAcJ#daijmqymHvC z1Az>feP>8XXc8wIwW{J6*=% zJpHjphN;Mu#mzk=bcbn^PwQ{+Gykrs$z1Z^lY1vb^9}W*y-KrmDxtf%%p7-uyLJ4N zxGMQ{uw>r;5Y!rC0#7slU%h-QrmFF*7qCBM(tB zx(-l73TfB+*)&Am&q8s-CT8f{DUdMTFL$4h+$85@7roCPr;X2E)` zZy0h4IH^k7&xwqheXjCy>%OnrTJ1O)UZ$FKp@_06?MkGeZ}q{0F$?1oL!OVbW7k%*G&J%@8Kepu zpwHo9`1Ks+%5|I}&9Hh;uk zIm)0My9KJr9!VZ@sH&X11qZ+&(LU%p(9f(@8>g)HwhyhA&KSJa5m~u~^nS}Jc4{J9 zw7(ZdUIO;S>|=zNezb2HDQ>l>wGx+jV_YU?hAYJ4Ly<3UTvm*W?v!R>VL>A)`^c*A zFC@8*U~jn@A%V$x8`*?q`?RSf^PP`lwNh=E_2^==^CXY_ac#Gf3Gu1Y#*lA82 zLye{%4P-{VJ4~7c6gxF4+Y?v}n@iFt|+a8|4cbcUD&`dC>N4oUo;)mIn+;O-L^v@>JFLF2Bs^X3#|Nh84`3?SZ z{1vFuLuK^dr>A&B2p-35pj!s*qIS%hS4qLzr+=iP1EtzA{q!T{mq`=G@{b-f)4Wr$ zljSn$Pu3Wq4B${5*TRW&sAAOj&KNCuhD%T4;Gyt;iAP>}euC!H(EC?c;Xv2n46*4i z2>$d4<2F-AX{B1DQ*e(+HCf8Co{b3-UBn?vTD+O3Oq-Jm&D#OUr7y*>tJH4Yi{&#M zsXThRBXPgI4r@tsw@25`7{(@V96mAA0YGLzA5;obg6^Zf)i1NX?eT6TBbXCEADq{i zuf(mM>R%@1GWSekkbtbX?9>p3X=hP%cLx>wX_Rg0`)U0u5NhIN1Uafl9_Q%k1uD== zNo}r%`Je3m7j|>)yElLX&jd27@_EBI>t1p zty5mA!?VB4DI-bcuMa8&Z7lILjiyoxb;eO+lhoV63)xHR^A@tSnJL~hz32ld z3;eWc?N$2HWs@Y!q6vHvqs;Mb9?{D~G`)JQ;j8l*E5Vo-6t@o;HFFaPz zb!aQ`(%Z=S_epq?83{M(!D6TM4P(7Fub6(C+;mi@(i%Ki*e7D&s``0x&9f zLBfpQLd|DO+!_LKvq88Q?~VL!`w0aDCnlogzw%ufOgZtA8u+STBXqxgHkMX~R5I)K zjatWU{_tC>%emTx>>z^n)w&7rn1+J-&i67-(r0^b|M-7~6Ay6*FHZe$qKRL>hg}|> zJ4};~A3T9x$UsjvoNGL9s3C8aZyJ2eQn4%Sh^7YBajmt0;iF4;TLX~6Lo8hBnS3GM zy)Sw-?OTK-j!@L?`@~MFN5hxG{?q~_%{^S*^9-umE{VR?!FUE`L^uvyaHGv|L5&T~ z#(R|F@6{17A>8=P#F=Jx%E_h~u4>0&ZrTtbIHTG5LvEF%G?v;61hG}{!VK)yJJkg` z!k7oGD&lC@sW!ShJ;NRf%-*qo(2JQ)5%Xv9!s}aP^~JK}NN-w?1n!_j(eQ zhcn(3woe*y_0_RIy9pcSOBSdh3V-fJluij|%_iqMJ!pnJ(G|ZWr-CV*rxnK#NtrA- z#rC$#+aenE)KvYMB3VWXhA!NogxTv5thLLm1n;-Qd5>G}E$TOxZQ+lGt0szEB+)jpTH+B#H~`+bGR~(5l*uKPuLqY(%0HWz6u$m2BD;q8N*-s2l3 zfzH2sx&iK(CaBm&T8u{)9Kb>fT?PAl%I9xSG(|SnH%>Df%le%ArF;Vb@ts&dS@S!w zyLQ?FLMtW93f_C?{~=w&%IB;3*M(u-E+Bj~Dc6n>&kal%=+Y!I_Wo6uyK&*sM@(CvnoUH!f8P2Y80G zYQ6s5SdyzGvhQ6G7hlUdH<`U8Mn8TauYvt5#wP;Jg`_-x)}L0%Rd*ckDw^RcJjMV! zi46{cB@TECL`T;&AO8CP`Jn$}IIVO2&v?wWtDxdI=`4LpEmV(6VC8NP0C&%hDQe#O z)u*`(R#B3~od5J7QDaNp{8a~pruswcn z#BD0<4RF=~d3iE4FuH`aB7eQBUq263YfJGG12S{`gh>YHNf^V^3l#j?f}o z*k0B6-5UPAZei6i+ixtKg?Vo({cGXW*m)S;9Bs+9$iGG+FwYY3frY|Vn#78r6QRJH zr#LnLpinZpDXTzVLn~+pHTohO2K@aS8LvSMEmwB(J)J}qBh)=%cnpKEPL ziailkyz+iv{h7`2cM{x@E*fSXE z&G(PDei@tmEWVbi`M*pY_uTIqi7(tdk1BKjaL{(03&)n?PM^o4Ya$!7YM`UKmP5}^ z3j`H@V?c}4J!_Wz0OtJhy-TM7zSZ-xlWVY|aTAn{B*HRZRXDSf*@UQ1JvrK!C==l(`M$B(iOkXvs2zU)-kAkJFEb{Rzq z>K3Y~yg{oUPA%I*#iPu(c7>bnCS_Y2bI(W(e9smweJ-KpTSMd+#}}A$_6Lj8m>#<_ z0p(S8oYkz`tda)X&wh_`)i%a>y_;Va_(k!B#h85AXmLsV9ZxS+Z?dzwcOg$g#CKta z*8g83Lb>s9Yr8WqMS*5Y^>diyX-Yr^6JPlK@OeM;b=+aR&^}kOysn2Zax5)m9FEwzh@}pzzFJy04AlXNV-m6Th}9*s>R2aSJG4M z9c-ndaC`5S^ve(~Zuvbd7@i-WX-T4dIh-tbsJj@Do|D2jXW4RLz1LMy6~3mUtmqOD z9onXW=#UivD8|O%GlI`o)uV8{mu7%uZGbFujP$);dz798q#ZrLf)o?EXO-)K zRCKrHZi33;T*SBvqv#lPN%$xUS6+8)Up4$n3g2yU3N)?@gygGme12dlF~28K?(-sF zr`wUoVUcd@^4k?v3}MuMvW2$LWZRCcwWwm;vuEH%YLR5YAVg?00FpNSHS6PhdwXZ1 zWQdqB4sn7kIVzsGW95HG*r;ralVymIim8RpqdEWz_J6eUCHL2!)H&2RM^T)bf)w>)9h z;I?mu;Q2!9DN;KmYG|Ta*U=~7fp;P^Ck{{c)p}}48=a; zIMHk&RU>9GY=-F7(>ne2XA+%5}>w&x($gYxT z1O~EK)S-(>g)!kUUby_>s+6<=T3q_sMG4VZD{$0dj$Qz)4Whi-XYXYmsuS}Gln4Xb z1@FXW_$lne7E#S4U)FMRjQ(`K&GfgQ+cJiG1x@>&19hv*&=;ZMzVmtA3);X_df@gc z1NSY4+9NVswI~>yM5z3Vdo+k7IRWUa`~`g8Wz9W#itTw#7cpKzN# z02-2sGT^e(jU?(w`FHPV>}4MPi-gv(bp=#tHq;vhK)42+kEa^^X;C(G z2JIeYFZB8;n8rZJs%ro0oH`U&auL_#cu9#r*98#-<5-(&< zX4V!T0Nqt2zn#o?*EOuJ7@|t7&{*4s_xLHs z_YSpI756AhU6%^pfr}gF^&G!v!Ryts10uBSea?y#3_R57HlX?=R%l5ain8HHw&$5DiCr$7a8JJA za?Y$XxxKYw=*^9^wr8^ytd(cv?n+A7KAT&o!P%7#+fh}w=r+CPx5aGIR`&cNG_;KV z3)E*YgI)n`O)p*8lbs7=%{T2#T1(He?{5!CH-%TOzhzQM)@~0S{~8+#cp`r2_3e;+BX1DUZ47${Z(uT+epCXz%h9=NU&anMK0KmO6C`Cw6kQh5$d1 zjP>y&L@uh*pR{3$Wt8o#`uv{i6>dA1u-VgEmm(i`fKK96ryoHbnem=h^eUmWA6_q? zVMDU^yb-tu#EiNCMxN}nu}v>+#Pp=Sh)$59>T`}?0+j&C{ezV(Hbc%H zvSgw|rROZ9KV)5*aBjX%-72o23n{FKGVcBQ?aii#6+$d8uu;E8ai%f5)O|%*@I(jQ zlh{CHa<=&r&7A9Au3>p#hVL8zQVYjZd}9)5bp7sx4|n&bHm#hv;pD7{>i3|bw=nv? zQ^oP_u(gcyz>`OFFXybNPYH!$>~ig_P3UTK1RH=7JigL*Q)2K{`($im@6PZeQGfYO z?r~sOo9pCCJw?h}%lLHMmAtf>+IR1k4rN%ZoOcaDOA3F@*)Jn!6vF)pC_e%=5Ej=N zciw?FI31E7R@+aDQ3}2yZE?*DdW2WN0w|>PMlBR#v0+)-^S^y51dq2ZQG8cX(b2Gf^+!9j zTH7k3-1eM$n&J5TY1qvpSJxi1^3$r7E>WPTSi4^Q3)$)XKZfl5?QprmibFHtJPVVR zGr5_WFc^Cac9b(X0VHIUHYbqhd=hotug%{GRn_p zHPqKXX1DT;8NDn{R$QuzJRj5GHtpA4t;>q)b+v~0kfCQ?`=pzl+x~4UEb*ctkF+1o z9)*3^RD6uZ>g~sBuYG?@PfwW)n%$}0t|x`S{D}14|BdX3I^>g}UIWu*U zpa#QEbt}0y40tbM zBk1ub-sF^coIj!XLg)3$!GT>u<~P&@Rb!8-8aDsQj}PLHCL!)Ww|?Kh%%-~OO<+>H zDjEdwfw9w0717A{54lOCC)P@oj`0mbF{`8@0N^!a`FsN>U&!QsN1`>?iKS1+pP6Rp zF|}27U0g7|+*>WEpIpC5)LNgBCo6O^cs{o7lL|qt-_S?W(h7s{J;-trJ)4g&hX+N7 zrfq)crKA;`Nin1#T!}Eqiuq@4g7vXIVn6*=Xn9YaNlHo74Bx@f%A>%wPhS|mm<=)m z*MT{U^uA?>d{L`E4$9b--4=0svLU_r1kdd)vC}UFQk|!Dz-ZSKdcD)L>RSf6 z%5FuSWmSK|Q=wxcB8xeqr6S4t+qqmplXzm;_i{Z5x3s3tau#UYfzMFtr><&rx&=F| zoHG>YxT@P3{~k2wAUb1{anqFKLH0)bQt=sPQ!Jc9Q+qLwN3)zCEWbqwyvRnx2G=g+ z+eK$?#lCU7^}hZ9GfnI_WWLcAO@z`D!ogr{qh+7YmH(;&)ljL|DAcM!?6&tQ^0wGP zTrE-P$Jo=@Y9{EKl&c$35=0~i^9~<97=ym=E5Cs<4h+d&2$#DEdH~g{iRY9MQt^Ky zH`yHj1G%|Dgk~51d*Kf}pYi7p06vox`NP>jjFq>SgcTXH zYYg-+-g(coX7fAyy*m5(MtH=rITM0O3<5h_vibM=bp}t*7djo%W{bUOm_IPlzv3;Z zuC8&Xd-Z~hDOVmL(BzR~c1?Xlt#Ntd>j_R694NxPBf0r?s}@z7MV#qPWyuID1EDrk ze1$N70;+#hpLliSUb{1DIt|nfnbzM6FZJH1KlI%?!99QABv>T(ttnAX&>XJ*)aleY z1*m;4jCc|97|aBV8QKLi%==vmS+`vMG0$}6q4BqY_Pzoeu~T1tNQ}jXk;xl}wRR5s zA7(jQoj5*A__d#UuB@$eWH7DToiNtUBLV{YiK+LD_~Q5<4jE*asL$7!=X4%b%Hl!p-`qs$m+0)8jd7>C#=?XK z*Nr<8M(1)-<^B+# z0xs_HcaCruj;yHp(jHV49knDx^!-?qE%n~T0hT3aTTpXV}^Y9{+jf=$c{XduYHz~H9An6y>Q8> z7I$01x#HW))PCyQ z8KD8V7r70}W*Bm-y5o$FD9s->!b5U4*iTCBD4bv;N6#PPVzsUQ~ zmlZ2Aj*cB>YgV5Li9~%+qP}t{OiSA`60x^@K0HcISjbZ9T^sJV7FL_YuaBVyJ9}PlSR}4|?xL%<`Mg!#Rmv!!k4K4wQ7K zMJ4{jdH2T5CaMH1zbhM`c@9%y2k^`jTQofB7nyyQvQ!C&=JTY%{YR`k=Z#zQB5u4= zIQuw;n=8==b(UxM7WGjBZkRHO}|c(;^JPmrpXr~ z8ZmmQ=jP6WwbO_U*Gq#{(Qh~2XnPE8IqO@~Reb!usy^AS_&Bczn2dtHvwhmh>IYTL zPu@CXJ1u&a>h8t7zCJeaD!S1$Di0Jan?;hWUYBdh3B7+TDY>uq_n4jA2vL#zT;gWV zW^1_I-T2BOd}|_F%A)5AlawaVhsi4944I$ zeq-Bg52(~+usq*&ieFyO_uCpz4%uqhF{BK=+IiwOu~P-9kVcahS$xRpxIBpy0*s4# zWO=1YR|CAiu)G2xyyerbsi^G=6syfS>KX^OsmXh*rZuzbp?#EuU0qcD@}3hS)|92E zaqxaj3x3;LlDyaPeBN0YV1~!-9u-dW8jS=_5>|2W&Adq7Z8p5pciYLmEP|%Ru4Sz@ zb2zU`nsBT;^yR`qV*<@tI3_+TgYmDF_A}=z1!kWfY{@W$wC#Xl_-!w4?dlF?QuAb| zzH%S((vcXALAsf$^pCtZa+qc2wpcxDWUzLYZSJS%JC&C?=}%jEHoGlL%%GgLe!>hF zaw)P3$SFTxDygWT+xL;nUx+L%_WE(AfSg_&D+J_UFAT8|y##p0GsW;Acf`e~qp>6? zLH*6(kQq;-Fd_y~->BP8Bf?EIzNM^SL@+XQk^Giima?TvxlgIA5nXm(cd!zM>=3CRCo>@VoW>!toLNkXf3Ton z1G@%-23vRg=7OV9v)j=_qiU!eIvLaS*8q7%=A4;!%F7P;MI~3+#zo-{) zV6VzhVk4P9t(LPhZC-e|_at;~yz7fXyo@nLX%jMVuq@Zdr(yL0%3x!Ehn11LZ`RGJ z11ZLryg$XhWVadB+x~S~r1Pt>^fbo7o!{QvEEqXuti7i6^?1kQ~VBdIZyCRr{0wLNAKJv#Uwqe#u!E?Hyp@FU2 z<;gbUhosam2ZlVuvJgDJ==uV3wpa|OFz4)=abt!?+gC@e`Qk{!@Px&hD_09BXl!p# zCJ+yAJ{~k(`^NjwriMp|ad9nF)p(vS;z@;$faKsrf>nd|h)IAhotw$gTXyInog^B1 z{V^)vhZY)mghn`~K))rK?Y@idHL;)VqAk2#;l2YzY@xdtLSS3jkj|gJ?NeFb^r^(W+>;yt!(KJ@m;jZGVlWNJ_ zbY%1wLO>hx;>N+;Ng2=ZKZHP^Q9A4Kt=rx-Ui8WCs%P`GtMu;8cWflMqtOD%>T@F( zr|45c_mEpc^%A0YC1v)sbXh5wFbCukrx{R^!tZQevG$_s_xSN0y8+z3gXBnFT-toM z^QRW@;zeq0dMMIhv4SmcAfMG}IF{sfN@i#!`7?gWP;zpgPu5bm-yWGfX?NfeVWTOO zk_`2d{Cc_ETf0qjl``0i^>stHex;4eG%M%)%2V_6&zWj^=A!dyN90;aGFNLAZ5T{h zrTSuN9bC^`-jSW2eIZ`%sP*jq$E#BP%P;0X+B&mCln5EbChi#JTskMN_&$2k;CCqzC9-0%cVx6OeI%dI)u=q$UufENN#*|Oe59n7Xw2r~7Ij;h zZYTMT_tvc+(Yph0p>%qZvdVXYOhe|wEcth2o=hZ@?>++x$Dl-8Olshz%yt`jvV3j`Cc-nFH}R-5_8+<( z4IV`8D)+tfAmH5Yey!4A5r}xWh^WiDLY?5xSU$|K;+xr-BMh!{jQsY6KRO0tg6-kgf%O_pOHR6iB z^r1cT`={<#!q-q)?e6KUWwr0Gq$Mj(GaNFvDzVP`=dWXKcYWCAPW6?eRqJ)a{Cgs3;6gX!Ly*=o#q4mi*$Cxz;3fGwrq6J zWvDz7x?JfmL~tDaEtx^ySZXtr+~IKLB5FjI$tlAd*VeWvP*2fwY-O~`wpeMb-FbTV zQQ=Ws`5Ms$6Qa{+im7AsbfOJ$Vrf_3wHL5=;Ye)Z>N_(7I7bwC@?Q$OCmzmCv*2N8rpeF-vL}`JndP) zUbOTvoc%(XKkqc{y!7nQI_`GV*AIJq`AP0M-!z7ZW?twH^?PV&+#M7;OS}jM+V(Bt zjm6VXTQE)_;QeF2r)$x*o@by?tAumTwFD6og(CJlCi^HMAQbtnA>Po8ob%j&^H7SwhTSCy#rRvAZh@d`I)h~7a=ky03CYXC&!J>Pa z8JqB)QJ3Vl2K8faswItB+1$AVjj1kN-uekx_#WFm3mQGuK^foKgDuZ(;vqPw@Y#^e?9X! zMn2gwqxtK3F%qwQqBpX?=T83d&VS9sz?-Ic{Aa4g2;R|Y5@=Nas*FHUAeHKK>96q- zsu-Anx!ZLc)w^>;$$%?Vy3eY8TbGCAbPr5%gi@0-Xy0=&i#FL|GLcn zUhsaF%C^n3a{f^z{rv)fo&(RAa9Q^Yy;uLb$-iHK`6S#if(HGblWA%OZ^%;Nt<`5)OgQH9F3$)mV%*?0%<1G(i%yA+VFjH8E*X3M)W}bho zikq0)*Y({wU07W4gcdpfd}et$Sbl`I1tD;6nQ^{QtLOfC7<^ngZ}>h%@jbo&OXtme zNc2YG@9PK-#Xp7V_kKSFjFM>oerhy^5+!-=`k!ya(OKr!zplqq%mSpU*ZPAGq|ieM z>->IZLT`B50KaIFzwKw@2{{dauc>j2y_!^jrVuN|C_zm$EidB< zXUwNIJ0IO~?_^EyeEx$CR)wNHVSE}-j!l5_SeqgJsLxgsWiJSt9xyD(4>}}kCkMEk zG^ZoBeQ5Jk{U1xX;!NrsTykvKxFqFl^9xJU#nZ2*zngN=3x&g@wzx0kgD4m0-%D7| zi0bnjSUTfC)N$RnSMIt!W12pl7?>CsUoT!wdKYPpT)b`_6NuSM|NH`H2z4=5G^X@; zFy}gK$&Dvk)wiyrK{%?->Z{R5&?vfhZ*+CAT<6c7{&fNUSebPd(5i4R-2_*WG@f}} zu3YbC8&#DX`Z@N}NPlnhe_jNP7bvh3p5B8Oi6J={c2RavGPa2ruCU^t7PKuII z&1WjPt@&&A@2}kjmNR1a&e?*46|zAbB&%3vdj=^<;)Ud|ZWj;!^&Rjh96B4|p2_=! zf$t=B9%Z<;XEc{Jbzbj`*Gr!F565M9pSJubjVz#+{V_kQC!l z)JA0Ve0}uygAo{S7}?Thnz!&`Bk>ic&Aj%+;z44Q($Dh;v8A4u3ME+;CY-bTxeSh| zFiyc3Tnog_tbjF{@`UbtSf?MbVH!bgGEsP~#&UkKWHh8IS^*HL0?_mqA7pH!pCD18 z{r%--#)gfNgL!ECej@AOU@_;Tnr&BvI3B9*mW9x$zHaX1$&$gbT^qHHp`yl6?EL(G z{nG{+nW?auR8nJx%Rq(+n)7o;gT*#rH^7e((hA@IN(i;*sFK4gk*9)zFVn2+b@=r& zOoKQa?7El;c0NL0r6;Rv6Cf+q{5jqUD;P|~0W`^0T|vfqn@fkT((++_Um1$$eWb;q zEkbW?v4C4qpxu$=(V&M^MN`5Q*GD9S{1rvY6)hau{S{nB?-hCP?XghIqzO=2AD%F9 z#~$@NlIGPb^#@ylw95~vX8H>`fL@B{S<2NkyVDUbzy`xDfk22sj$y2-fjfFJ00*zO z5_l#US$aB|U(J`813)eXu{wbiG+nlM2OJpUeU;gGL-}gZus7U5`^|AwM}8D{z>66l*Et7gTE4!6O)*Ja`SH!350J6qzc@PLN<M zlyxinB}}yd876_UkQ<;XOzX>|Oh;RON1>y>d+mtsux{h}2SjMic^KQd3n{GoVo~oq zqdFY-xzJl~3w;66vWF*W*1XmE-B*k>rUAcf@hyuM!(UM?^98H)RT$|S1FHma&-FK! zDXTC5lnUMh+mmsIeJIKqnlbvIYo#vslQ*+8xz?Cjm14Q$Wqitwn={8yboSXT3>-40 z_FBpF;~+CSshzwErV%4`0tNoOf1RvPF)Y)kFSc?`!mWvKFJH$c7a?3Lw#aE|EY|ld zw3NJ*bK&L~Ge_#!9u9VR3Cy82TC{Macn5-5>+=?pVfE%KdCa#Me2ByYmjnj-EH$U*Hl5h=C;3K{e# zjuhefbgoxB6oJVn!+59u)B>C~Es4wNt$D!#q8Ypjh{8R?=Rtj+@KngGjo-W%H)Fgx zU249<@m}Iz2Z3A{CWz2E{IaRqscel9J#Do_(Jw$WKCW=FuGZ1jNM9|$v@bWqTWywR zAo<5LUL0RV<}ebdK?xSyjrul+iP;Q106FL7bfP~%%gS>t+3^~IFtQvB{G zu)Ef8>;oi|$Sb9|4k>1gyF{e=^fUM4FCR~pfm%{3p*C}ceh*fUe4b?02rN%Ak6Z!} zFSUdcx{hYve2rsHsE)4aF_sdY92U5Dn)t5}1}xuLC1;oAD|O}Ml_?ho_`7$VmmkRt zv*NV&k5#Dcm2CtTlC_o=PpY8E3Aa;gkp<^qR+YjHXH~xtH1<^HO z;V|KUX6tZvtIJi?Z%UC-j?;8Wl+i16nn}9cAi`) zu11p9ol(tG%6ZSzBbr0vTf+VAC@|9ScIW%H6vY75Dr~?2-y=^9`Yt{ze7$~VO~eq; zR)}5+r?;ZLmKfb6Xp)3ZM>u3S7K;Fk5d0V#H8W1WE}i^pwWQbalNT76++8OD8dT>C zU*GDUfGI{1(HmjijJax2xl9>zH+Z2!Y&kw8k;G`8yJ{A=)_~WvSZg_fBJSu-bhuuT zv^3imO4~NEYZLV(Z}w$q3U~a{sh8(dcyvXDB>l-5#SIDy<|UopcRT+T%3r;J!*Z>+ z$WxUQho&jlM#HEgy(~h*LgTUIblD(byM%1H711I)}K*v4*(5;Oo_CB@E@Mc& zIiFXPsM5{3An`oWsu(_^4dSdq1=oyoYI9`czDvjLOk z_op1p9jd7wC0pi3r^g|Y!45j>Ac-I2J_AAU-RBkF-E3{Xr5X}=dBZgozNMm-P;$$$ z#hF-trs1uDD3o2=Zcl3V@csTov9|s5NikYmhM7pSn#IAAn&(s--=mHx?1LW&$>{;B zM);TKohS(*&ME!*E?@Jg+?`cgElJFt1tp^Gy#Wv&Nq#Ee zF4Sfh>-~;97QZmwV7!z$HcLwG>cdM{zF0fs^WBFTD-L5bAj#A#rNF$x){hU{95L>-&)IlKZp?DNLp@7=QwoDS~k#*UG^^K zKJQv={}3ncIM`U>!2mI?So>Pw`)~+q5tIRk2YW$CQ^zacFuqN8oBZQQmeLY@b8dyu z@Vls;p`54Yc$5HNd$>@lzLs`D;GwD7rPbS)y|U~wDv(Q-)3ZOFhz~FN&nH*7E!!Gw zO!A5DWhV_WN7sA8RJNJe9?<6kS)``tA_awW|Pl4>)au`7KD< zLT5vecW!6i#9Q~&$}?cVn5KYPh7q61OY!N2GoCr%V(<_!vnQk7VZuM(@5r|sA273T zb&3QRg>44DS`)Uc&&++%P$dT}B$|;8j$nf9cz$4J#$2g@o!7*G#Zu6j@G4|GGM>6+ zj7S4?d|Sk|%gu3jqCSzS?d%6{z{Iwt&_kqHqa2C%t`K_G{Lbv*HUH$3eq@qvO9*pP zdmC>kA#=XtdQa!RnBvw*@HX}uD;VEwyW+_pCiyoP`h$SZI39e$pccF(iA%@>>i+B@XLWt{xrCDmP#(u#O8DgRB-kasu_~1J{&y1wu&bo5|5a zjGaHa`n2~vo>NDxx}CW%n@CSYs>Sd&H^djMmbnBh6}?CH+?pppBBxp%#2*4OQYqF*K(xY;^h zyWt0PKKAnnW>{EQrI|F99d+L-+S^<13Mu#gpy|6Yz(;=yIi>l_=}-=_6fPHk$w<Ui%|+^8*@JO_YVpc%h2Z9QHIx(nFJ$&Zy4L*z4T-9_kU%h{4S zp=_U=+);WF4X%P@C@(q*s_^lTVH1HGO~W1;4BBq{N8=TgZm-J1HzkQL$1tn83fn*X z1w}-QU=!QyMXZ3A0*hU7?~EqD1tDTot}|IW;#v%QLVy#7hI<6(#SCy+wb$A#(d^x` zwXcOAIiA{q14Eu%q}Na=(#{Q?U<{s9sd7^r5V?EcjIN+FVdlHHwrKn(0x<&O!%<~< z!*@mjfWpPcC!-GoT5J$2auyN*(}Igw5E5>FLAG%9(7bUFh}QV1A1qMS{e{Rzl`Eq* zo!M9V&G@S1Z z{SI90-xf)mN`js^9wx8Bnaj*`>XeP=W4bZnMZm@eT4m6gmsgGK0+CT!FksQqj)mCO zGh?>D1hiaER+CT}+w(VDkn&xMdDmQkibdC zRQ=q6c7Uck_ijSNtItcDDZWP45PqpZN;~w;81`;oYuw&a_qFT6eZ|>7el7C4YZxyU zW!%>%29tg1P-leiQxe+ZV4%>YQxXulr`8@W`yE;NJ1-5<(KM`cI-OXB&_AZy_rP=I zc>$f^z1jyv)Q`51E;BY$yEAYl1M+YuPFWK>-hQbLR$s*Sv1y^GSy(@wo*+kvd^gP= zxqioQrHWJYW$K+eE?dD$##=@A_G>ARNd45qul>H`!hO(ko z=#Fb@m|0k+)L>-pqaVN18fF1PkUH?+w9v5TxRNq=2@ZKNLX?CPdkgYH>E0F?fDn4- zT8@FE6mAD%a>_(6yIqA^LK+1eUQTta=4d8@j1Y20sgsc2AQXh%u#e#IY*QV#PMLqF z9ok*S)iEnE-7yC7rs)aBc?SZgaIfOd3-1>r#YXsDX7Z=1sk{$P*bG*B2rUp`rTgy% z-8_hgI$`vv)Zxpp$cHqY`CQ93{iW|)2@u}uXd9+;|8@j+Q}Wkn=4mZYOQ7Mp8PCwX zND@8@X>|XMl4)RO))u@hrqz({ap*l6ENuo3suSTWb|AJMU>x*3_s2@~3nd{4o{|@4S|G;5TsP*cMB5+Voh|VB ze#KodDA|bkw%ShaY%WfM!`_DOsLufTBgh{r)wVijy59;d6y#3EcRJ=1QT6A)cwO*o z(d4t#W{yKEC++v2F$lGxhYKHOw0zvJ)gI3p@hmK(F6Bw*dc>8ORN)vo=#gV?xYp(f zoe}G1krY!YJQ*4zG%k*sDWq1vp7IN2s{a((cy7RKPBSSOP z=rGwwsL*Wh=DLmg^j02b`|NF^YrxJ9n8lFTceI5VmjS^T4OVt$qT3w{pr&~Na~_;G zULwfo#r?Gl%>wd%-0g>*CQ(@94gsY-rr?Y7K`U+DObANEi@7S_Y3y?ci*YC1hTo)N z4_paoM~8W?8JhmS;I(Yn#AbF?{WKHsnZut?51KT$K$#XO4zdU9)Umw!#Jqg)%@0eM zEC8Uq(-ay6c_C6BKT-j1_VMZ2W9e!sQ6St(19u%vQ4A^s(U=km;rh~WMNslGl*PuL zC^8C|^68agsY;sb60@SgReSJx7UF#Pyo77WZHn6BFTD#9Rnl3%Y;V!W5U}l0 zOc4t7*9(#eJlCj(%WqFn>anKx)y4NuEr1;kv0w;~k)tdisgnaMPW7BS0=TJ~nKv65Fn_pQd-+oq+N5(G!UcK`+$C9c0cs}y^348>;sW7 z`+OJ%>w*OaJ1iim`!2lt_%Y!QIA}1kC0=`|QO{>kX_4;NEvX^^ee_x_JgB))0iL=J zqC^3sS}b9U&$T($;N$p%Y|y%L(d@O$Swpu_k^vbi$m1BtSd0pjOM_i%r4|>hI6mVQAAMmaPRZv2t!@$8v2!7;<{7W1|n_G_~=PM)NX)9&wRg{^%ecDb+DAQlUloo@z_yUyb)r8w8u|0E=@I>+wrcBIQFqZ2~%yM7A%tq6G zU>kfU1pqW|-%?_#jj>qmNRlL|Zpw!9)GX*d><0laAm(iH%x$0IonUvI|6F2cXrH+K zB~3Bkto>9W@80cLRaS~%*vM$;59wa?O|CoWq^RFTjwjl5N2n}|?A`PGnfX1YL3}m0 zr%HX}>Z@{Mf~4-+r8FoMtb}0o-s(m!>hz3!el&}^*wNm`eLia|(IYpYyAy8BQesXi z;bquF81O><6gj>18$}x(^b{53Rq~3UNmHACLNeDT>t}-%A&yPT7eJ)0IVf+ifCzaz z^=q>mhi1B@YM*z-)55-Vb!h7JnHdd{ZE`M%cXFE?voa{;A-2MQXobAjT~WcjaZPwuj!ll@ISjuHxT;#=^q_`;&(zx#pkL1-v4GclI-&M$H~(bUh{vx_6ZH zV#0qF1?2)M)f;{tMXVHZkSpNMm|YR00as08b4m59LVeJ-y7KbEg{R4D+Z~sKkx!PR zX^w4iOZf#pW5Y=%nwkD|(5Z3Pel`<643* za7Efn;a^=P%+D1YoPu8_H?@k;i`biqe4_pPeLxlhoXLAX8I%8N_5W^|Ajq*Jf0}nw z1;CwWmAif7?+3zTDHyOP!I%O8?rsaUWpSq-{@rJR?dpRVb`gXl6iRSnpIn zjNPG_YY%C(d;SWzrCo$C^Z3^uFjxh(tCh*e7p$~DX+I#2!u=N&DQMW<=x1>lTDBX&n2-01WN(%}|=hEH1AS{w1 z-KAh4ozmT*pi6gmv-Eo{>ivJ7=e+0a;ULKFudcafzBBWgiQg}c&Iyr_e8P!tu#Cx- zoj{M_yZiEYxvfVC!O(Yvb=tGg=ke+xv0~)W7WnMDV^)Q;z`t4IYP!kA#FdPeKrat%Iw8$^u5#!XfPXZa zYkiw(?g4Tw#ctbrsbYRp?(bJ0Z%ow*S^my{YuFN;Bq$sXau;_VsyBlFZlJuH{=^V< zC3*``JpqE+2z?yTbiu2l0x04MtW-=v zk_{$ybxsVrvUzNZSRtWBav=BRj_QYrn1Mxu#6ngawYTJ}6f1Whpis`t%uUclEXKlGGd~%Hd>~kpma!1J$jQs{C#&jc-{k>1Lu-xHkSHQ z=D`v0H7DvRgc@R}19H1RO*3#fW|58ucfybhhjYT}f*H@vn4~m*bpx@lm(lh{sE-MK;KH75?@zOfr z-zVMV_9l~bsI?yD1PpV0k{*&7YgeF>%s|fe2gLYF?~mYjbP6vwYSA7P4Qcm@pd}vv zlxK$;FD}P8^!Imy2%Fbt486ZN3DBGM zsSJD1FJ=cETn8Lj&k$}pf)4#3HZvNCh}Zr6quacUT@&maW_K)N>J1Uzte*3b@NWoA zGgm63pYC#T_o>N#F7}5%?dxHbtq$P#o4JSB?k&hc%y$(kXvd`Z27syOoaBJ0(_C*{ z>^6mYesMaWDY9~Oth2;&UHR4-S*88V_XBh810;B!yV(GTIGL()2^YMj3Sz3^X%I!SsC@RNJBVZg}@T&>KOQ6G9F7sUi0De(yg zy6a?_VM5rdf`lv3;Z$mie05>V@2y-m+4V4R?uLK9wb&s(6QeB3F|<|9LK8HH*q!g= zL=#OMt+b;>&;{!IZ?Y##Q$!Mx)u)9mZQ6ftdu-z~}EPuR+_)vhkK{g`uau z=pVqK-5OaGa0<|W4X{_%@4;O{&*gYJ+gD1>Z^kB%~A%vqYtyd{tV+vMDl;G`uS=X!~_5rv9G6Y|;Y+0iAi6pQxM;H0j$!TL9%xL$9V z@~1|$G??bMaF4Y$)E!ls3+ecbx|a`Z3PH)0ab?Vh z9L>2;F?4F&e4frk3Ojw`^}#(LC09ktr|!{+nihb{L0#7u4rEPz}ora7a!zJ zg?}R(c4|psDW2swU7swkZHq?g#9=eazpd?5XU=;D8k)|*^b)WkmxF?cq|Y-I0>DtS z1474J9;@GE>|8?v7%BQxWX!Ku>dXY&?hd$S9!Kh#hDPI4Gx%DJdI+o0siy8ELyg|h zYZU01t?`dTW-zS*BGHhj5S13&-coR#6ItBit=SmybL57b(y|u)7W&HPiUu8ETgZ<{ zh0i2pG&K_~Qn?rrJ3$2M3IVXd%0qXtQ7N6@dV4rr>%RMae3>_LJHi|aqLz}fRI;85 zLyhO8B|6Z^$JcuYh=w*AGw$eVe0v@DK&3S$O#7y9Kf+__1&%MxDjp=>N=RWokUsqc zBdtO)T{uY<$>UE2qbZ51Vs2otKpySdVLAzzrgCL4i=R{m`86PFKDus>6(!*ALO?Og z%Nev8;ANyV@Z|TvYIKaGiu?HUvi2cye)BK#lp->GPj4Ne@m%69pz-z(&*qcGLo%OK zu=cR3X00q+v-D@r1&VKxH*1NdYDq`&_0(Wq`g#GauMaaamA?IwW#Z&4lB=0NEZBwr z5zKYhFyQe@HEt;I0A{w)Iq&ov2EVIzw|(~*I)|AX$jVXSc` zwiY1iCq<;*!4ddLkt5ghoT*>2XGvIugli0!Q_l{2L)MJ5q(1AP7El)n8Y^ZI-|I5n z+0Tq5O_&p@O})6AKh7`PTdvcau*G)_59qM+y)aV`h~sm1H?Cz;GT)>b^$AcA^8Hlo;ufOp*DQ-tBR;hE=$G(#q-6Y&o z;?4=pP}Y0*U_eLt`8ab)wV1?@Z0V$Yr2P-RG0h~w(KpS}yJY=HDJ}QL;sEFI^OLEOwQSz^-F>r3rDD9v8wbOP!_ZtDoPHMphv@PMF|tR!kWBv2lym&Suh$-pS`BiXU+mUb`NbJems`LH}aafY{g6}u7Y)I z-G2-(1lEGsAld4SzU1u+r~{PqPu~dZ=r>ZRt|tR+qzYae@}+0TU41uu&AEbQLY#;l zsF*v2Y{>odj(vl$eUfK)N;adB2rkjjT@P}#jtTA@-<4IoAcZzEAcK_S7_|Xr zL1t%w-m&~`tad~7)6drJ`ZN5AwzzaO>>IwjGYPkPzCWhYjD%X5oO}$h`OyN}=^8DT z!398X*Z>J33i<)vE|$HMwvgsP{aA!4Y_6r6t?&dR7y=jHM#)58OB(DD>X44S&AVKk-&4oB4E!8S zDMT8C_YLv$-1o+GXCM))B)>^IQ=7X6m>NbnMJk{f`eV(jpYyG}$~^iEly5CYE~i@B zdL<(;Mk|trR*~uO@%;fj46S&*CrTC(N(-d~7(`fRs7JX_?@mx46Z+y(XAcs72D5KK zzsy&|6>^%JzSEv|6}*#0pBHci4EYS}BhM(U;3kjwyL_(~&~*BjW--HiE7AOJ+II^k zJlwToq~#oIa9be<#3=6@y$!{#)XQ8~1&&L&)9pkZ8Vo)@uQEtm zQGp0%WQ+qi5Ovhgr5_}Z&TulZ7EBtmq=umzI)xZ(sceW9|k`vn@RJdbUJN-rVonn5Ah;B7DXSj74~u>ZmG zdEkK94tH#Ga;D>5C=6J=%6Ofc`@XH3^R z9l5E|i{~%e@T>MCSePo~etC>=~)q{h-yX zwivIcLVAI?V&7 z(4MrVX6P5>xL$P1zQ4wMaXbyV+n-8UP~$#XtU)_L(EDgzsoSE6(Ims*UxK4ZD8{EDw}DPCuy$ z>yf?$cfWI*I^Ly57=x3Rm2)R~Q{ZNj0d4{h*&)BuB3Adqr^?}zwjfRy7=F{LzzR8#A!`If@GP}yphQv&ID z*}>{iV8D1e%}`Z)AJ61Ce?#J6%9f2sTv*bLAX-{8e!r~w1hL%R*<0J>aFUq z)Ib|IHNB5BO7xUDhiOOt1n7#r*0`c0S@1CO1G!RGHz`Oe!F#f0o(B82tjUg!u{L8E$LQ z@Wlag+D|WZN==YuSm~JFnmr#$&qwFO$u2K5pFqgL6ar_xeM7pQJ;*z;E0QJF0q@Hx z19CRVoTn|exoH04wotCq{?qt*9<(6#dGD1D*kJ10wrP~}i?*9V`5nAk!9L!*ZKMW% z`8__Yi2Z?SwR4dUhmlp1=`yHQvsQv>H4Eital+4{`~WNj7c`dq1*66ygIU6M&Q}K4 z^CkC{w*}`iIK68Jc=hZ%3>Au+p+ypD(ZY()&Cp(9ZTQ8T(%+NjRh0=8M+ihFf0VDMc9g`sjC(Dll5UpEGu4@FjNcb{9?LMPOWsq` zxSDl-+g4*RkUr%N7{>vW!V(6)N6rOp84s{uFPE(pXvMn-$AR01UsV>=Ag1TBct^Qy zB6r`-zfPgm1|>nt^PBGb-tfnwn$C*LftF_yxmM|OZzcWZr$&arv?TWzph-9~V;RPD zEU|2(pUg6q+MV`Uj%~C|w z&g;hXF%Z5%uabX~ARu*YD$G*!Nf{{IZ|)BQU5ASpR%*5aRT`NZ{th~WIwP-Y;)HFU zS4KE)x~%1|PA;_x{-9r}mY|?o)`Y*rAle}YI-sv(j!7;Sx)6%e^a6>8=kLI@poDpi zYqBhsIch~G{)&X9J&@{r!Nk#Vc028f@FmQbeiw%t`49E0?3;Eof1vVJc${rkHboQ} z{qn~~rpg`$OS+6}V&9xs49N{EtyOiOW9GR)%5eod=FQLy%$V`66= z;6if~gZwE&M}6;)32Fpp_|UDDkATFN=`!l;G=6(vFoln}kp1u;DjV?Cbo~*p4|>=e z(DkF*8q*RjrXwi%20^Z+)PtDM9^l0J5T5szTtNETTZ2jY%k*HmA;n66-H*; z0Pn%52lPPJy!VDy4W2sH$1(;|du{LNB^!^u_u`mI%DfM;^q(~!fRxl7?`8IJ5PIKC z?1wY&igbII-(E)+B>`oM*Jg*{b`M8}DTq2O#`KGgFsh14rnS4>*!SzQz#(To2H_*R zew1)jkT3io;ZL^@2H_`@kellN{TZQLGRHMQcz&m2S+ax;oG^o zySu+1$x`xxH3qfhah!eLRsoH&WqQN3@It+oY`%_@NNCADbD(3N?R*3Ef}F3*%u%ox zfL3X|)SJ{9%R<}^!0h$3iL2hE9Cg1)dXH2Pp~Us2u_;o!7cC&@m7J>eXo5%V5U7Gt zISN033_*@8nE0Ym7zwI&p#k*{^X-|i8c_Oy01Bj{030odyG^7HB;_x-t$yS7XQytn zf7Aqw{st=-WK!umr5%m+DMkE&cn1n(7sw_(y?gTt4LdtK;Wk#_T)7@DV-c1Shh zNr}5%uk{rV8;y{a^~e>RNx}B?R`8+^jd6Eva74}}=c=s6Ca2y)P+=s8i&+_UI5Fk1 z@fstVLN$;6boy$Q-=&N~{uPvkucoImQ^kz&0WVEsA$73JA zYM%GI4;6^$jpv?#?(j7UKdG^^0YAT{zI8r@I^7`+${J1BJP=1dJcHBo-+F_-Ty$YP zybdpvEw}u|5MeV?M9+_xnr?(`EEH&pME-$3h@=l-Xjl>#0munQC_p9zkYGru>d)ls zAa)&X^_UTQmeg+rHz-`+0=cAx*h4UG%n%f3MN8w5FcW%w`$sw_L?J~DZKs5S>}nS9 zGjc`JL17p0hB8-PVab9ACf5GQ`i%7UuJO{CcjG{E8BM8O}MsLR0 zpB!MMj=Q09rIUpZ<}MDJAK*lKY7|?}IPd6(9(;aRsKf%I#rBm=`+ZEMZTtlt7qAcyKOe#=e}H({?LISV_|yprU{e>@c&lR{vm1kYlg z$i7Vxxf0ov$7Wz#Y3Tnuh*(<%6Iq0_i3Eval-taKBuL{szxjSm z-DZvx3H>3*HgUq*`<2lkG`#sKngwj+-$@87BIcfW8 zh2Kv4SbTIy8G;s0`eOhlzsObnsQPIVy(i1K%{Y)?Kd{-*`7BB~IrAwX#l z1No4Exnls-1-zRH`+Q(>5FkTT0uQ+)`f{S52PRHyCy9BuBt^1lyJM5iTe3YwK{hb&m+#`#C05)Qc5X)lPujmMDT_f3S_C{%CDUbXbyI;!2g^3+)P;OtRubxI|P#hy0m?|Yv7 zA6!G`HjYWf;b@Wy?v?`@?$%A?ojR;hFbbtEdN*IVLdqjzrRhDn(uL8wj)(`s9?7xc zGPlw<=4C82`t_trZ`BPNwk$J`RIySiqcg0(wmnshyI+@d+m2MQbp2EH0=KhMmgFE2 z)~)YEXFvQw^@Ek`*-~;6$P3PbX=^CbY|=b#hh~Ckc{ZR7Wi;FxY?L#!q(J2$TgJ4A zl;5{x_f_>f{H4*iHBBw(Y*2CwWIoa1{NsgNRu#S?LdCa&P|kJ4@sc15nU}<-*Ux zTpK9(CWyXQ5%e*&==yN7WqdbSBeixHdjT2nk6^r;h={O)_l>4Vrr!*mA8GI^h8#7R zp%sHT&PXOjqRQcrqRK2K<*jbR?c(Kke4C43)qdu~mx8VNsA-n)T9%R8U9P2xS3*wz z3U`tcO#VSX(EU|Z&W9xHe11CWG~B*O+!JhfFlkdN(l5Z9o-t^$*je2-b+Ob+XhNp+ z3AT9MF!DxRc;Z%Z3s!%$o#4b7ji`}(mTZ=frFZk^IpyuevTS<`uIR`hn{ua!?eD<7 z(frXXj?dLWV>hx0F8vliReL<;woUq4n@W)?`MLY_S2IfM%tbT=r=<>g+SfgcIQ5wkvt7WP7-ets z0cZ_{2F9?%=F1bxL6Zr2`wqNQQWEs10YY^8qbQ-&mOk}Kst-DOqsDZni^O*3B&ELKOV`yV3PUbO=nKvNGx^F3=zYv+_)NRC% zM7aTGF>50%qS0b*6YdlG%4r(CZd_qNwIDO;X*!ea@Zs=;P3lk&SMZVn$H=ZikYh4G zfGk=b8u`6T(r)h`Llc@S-lXCtgJ||eG8QFanfC~9$L9RbL^^SeFf0`vcCC`ujq`^N zo05DoxqpqQ9G!IV@J?C1Kzny3_M3YI5+Hi9Yumb%npG@xP1P=8{m_5c%S)l5QpzXw zEV4Ko8-WH&Vg0J)O8|p_j_wwJ*gDX)4MC0;ML-Gf8W?bW|FN*lL!v?Wz^J^6zOjhE}$RC^LC2e;2;pY%OJGW zu73T=Qgmjh0DOVwwmXo(uHPGE7dK;d^ySqzY(G4ZX>0{mXbQ+Sz+S5^=Bm}vdLF5? zxoGh%w~m>Gww_|k;^Wx1;)jLJ$Pbvog8~=SKyzw2r?z3Nd@Aeyc(3hL!D>CI(wY{J zrjJp*h^|yEb)qf-uks+i^5r9)|I%PnJ0L%m76P1X!^uH0 zMFGn8Bwbk!(G3wDQ5TdR(M#$CrPP+g9u1-?V|1Cj+csm`JOjmno|+cs}_|?fGM7 zxyf8teviLE=gz;+%Wv=QC#Z_r@lvhAY2x-EEwx*H3e?nK)uN^}-iPr|JuyOg?)oJn z``Z_T<>8l_KmAZ2*8im95wnBoa=l7nvS1c`J!vin?*{4K-|hlct4CR7!9-{EtFAuFuk|Wpwg=0TYBHpd-$$UUViHr z=n#O5+5>@d1K|_2>q%;-jfUfSfmPEW%oEC3o&tw_6!yTkIHr=gblA6l>|?3ZA5Bg& zr1i?WsW|y#wC}pF`idxF7n^QV(hH1;nf?-QF4&DwtKT9o3$XBc3XED04~JQz8NJK9 z#5U#lNC6QA^b}c>(uJO)qKtw{PEcW;-gK`*;5V=gMxZ(S9iPzYfY0&TeF=6hk--cw zC{Iy#cNKrT$EYKrL#D-SCTZ7?-s}5td&_1g=T*m54RK4nEicWA-PLGF%QBl$&yOLj zNAGX0zF?9KR%Z$4S59JWja`N|*Qvfems{EyBk4)M#S#NEn2%QLefrDGk-=rpM2_Zm zKrQ)DGWYdO$hd*w3<}JU+xp1fx)F(m>aCNtSgC&OAbY!-n?;b{4Uy|AA9`ZQ&zkwj z=!BTqWq-(iO|&|ju@9IB%uoLH9mnO*dbl=s8({e#v$vE>d|pV^&Dng(Q7PT4+Ft!W z!s!}4iTf<0=~u?f zTR%i3lx`DgLdr(JK8MFYaj$tQ)#(*o^}K{xfAu4WFFL9^y%~%pT?$rifTDA0FjphQ z%MAenTU_I2!NW=Dl-Mad1!&bZP?#4EKtg^aVd= z`W{@WPBs)(S>OiEFkudW#R2)`zE?1-N`6PLm$GaUJQBRWIBB`YB#>n z%L!#p6T-0+SYsP=Axi-8){{r@#?|FKY8t9n-(BZ1H6f8Lr7i3&LXjC5lC#$2iJOG* zcmaJk_lhWf^crM>jDc_moiljqZW4rQYGD%}rSJ0uZjWecxJc<01}o0}bnhDn1{n?^ zE5=t_Z6bKvu>A%G{OEM{e3B(sO0(SXLaHZtd~EtoY(~Ok)l_;8LeZ#K*^+Y8Rqe82 z;=pz*yb3M*+I*#X0lWCH}j53A6}GOJ9+; zS&M#X8OwXwiXWwB7QJI7v^x416RizDGBrgPy5C{eSxrZM31kvNKe{KpX#PNLEmp>R zNPcRrK0q#smHfFM$5j3(&3J*WNlN@3`VzM^;V_+x4ymIYAa?*x2I2ej3KO{)M#k>? zK|);uT#l@k_JJRk{VAB@v#>`2YR#(=YzHbBAG%3g+Iz~wG*nIw?;4~5mxn^4-s0e? z8eH^4UtE_0PUU=F1vRF~0(}>w@0GnxSsH1|{-HJj9m@x;ZIz)fn!I1wUlD8>Hb;M7 zObkbRY?bV^JK)E$oMT9|%F>@ITTO~dUU+*&=A(KW6;XX&M&AbC514n4 z-N`8RJXjrV4rkrQ=;f2unUh5rnOtoBrP)QpdFr&YUN@zhk=0oywC|-qF8;3Z$eu!w zcv%ciwSFoLB$pTdR;397d#gNlURHgxJG|w)DxbYHNu*0mTl)sSCtD%SK|q+eFYG}w zWu!ye;o&2A(afT%=F#juGy@<<^3 zc|tfy<^%QL{0L9B-rmB5>(<08%Dw)>V8YJ^1kFMWQ~3s?S60nY>T8mCuP*j^()PLlm#En-Wa7qmhJ6e z$#MzoVMz}~v+b2XIJ|35M zB~RHp&GIj#7q>cuBQhAhdC02H+@(Sz83=)m%SimR8v18;-M#xzy0!5m6DM6)LOgBB zYkW)tol2H6*D%eX=+EB^7HZjBe9Bq-N9;c=_HS@se0;#)HqO?F*To+P0^yJgdj4Oj zy9&~dP>To|k*I#5OHwVqm+{W{$}Xy9+GlSq7=k3##Sj;zD`hU3w<2U3{A0<7=s+@v zOGIS;+u^LMuv%6Kx!?w4nT5bm@V+5@NO5=hCq2JzuD!`#@tEloG4C69`_IvFt`KBr zuVKcUqdy!mmI7@Z~s-Y8@G|l`sCx7 zravFgV4reh+G%ok*`DOYooeiYn_!ZOwbdshiVx1(cC5vBWyqu%SvW~?e(c#h?Ldg* zO4aN~mA;y@%nr5i_R%;j^u1Zvo$t1BZaQ>#+{g9&sr&6Ig>4RtXp4r%GvgnI*8H|l ze*EZcPJ{i}xiTXg_tmW#ibiFf@*RPt7P0VtG0B$auHN?@bNC9T+*jj48pTU(jPb$4e@Q7suI825DLy&W;1-+ag$?X_cgx{ zOY_jBb{-~kx=0L5PT;?LCYbYPEZb|G?CA}M0<&!QUoJbJD z>DQ^B(|Non2zIGVc+J{OS9@4rxD|eMzY}m4=zy=al7GHvl*nc?OZSArIZG8nHyZ^nJfjQPO^1j4y$7>^IA(~d!-r$bRHpA z@|6_M0*aGWH*1vAdD8c`X$x&?f5E9YOGY?h8t2WwtVTRHxPJ;tdAq=ue4#xDkxeO7D&16}+do5uz2}zyb*QvQbp%{Sw1I%r_zRKb+kkgdbgfcJx zE`%92tPjq&N4iqqIE1v6_L*rXJPzMZu#uUx%bPv>sGW#j;8PGQcC+f$86v1>Mfc2C zotm5cC8lDtT3i^T@t4@#)S8w@Y6*>=E}ABpq~2Gn`=3Ni9@1PnuyrqVtr1QxGkgv9 z;lhiGNDjLy|780U3~V+0?djBanD}zMci2U{KcOq-4#}qJO$DjrTR6L(btSp|J{ii5 z4L8e~#v6B*1Fex1J}4csE#@BI>y|&GGqDsl<6yrCy)!JxhBhp!mFYGE*48ZV3OQqp3{c*vH~phBBXeluRpg11b=iWo>kQXNnb5U%3WWFn$R1FQ(dW6)qH)fT(kMo ztzS8Tv)YNf+a;d+^E+WFebsDn)q9$^%qM{P@|6?!YdYV_?J}9Zr}BBzj5$O?Ap>Rl z{Gj{c-{&*rF-jbAi0O5k4mq*~@_HBcC!QIzwpF-0)8Z^7T;HA2WRr`ukLM}=`J~W$ zpxY#^l}~)~ObiMdxFtb<%^CU5m2$ldAr`t`axGSk(!|t<4ciWG&qdyS&w?6@JYbu1 zJ-y3JDIA>;Hj``+##n$LMW^sZ;N_v6O;Ew^8$=R)^< ze==5>tgqZubU#IrLVx-fFv@iEezMso1f@mhaKo5-?`e)Q3W1wkeA_KEL6iz(|69li z(STK34UyElAUsv2CLtZ{;XmVRJo_tHr<{flT)rlC4p|MwXCFp6IZQ9lD_+h`$`;M; zJX7z@pq4I$a1)SOlJ-a3Ig671J&R#udpsnp7Bw&CxW&L;Q+>zZfVn1Pj z@B4b74X#6Ykb>4#iXSiMvp?84Iwkb;!uL`YSCd>?*R%`p6u2qQ5Wwhc9qoMc?XedA zr?uVOIiL~pyS3f>8fpO?)qF^bKf`Wg5)M!hIJ=kof*CKyaui3K$-bM!6dSM1DY}0e z7UB0>q)^hU4KKf`JaZxNwfKK*5Sr7vDY;N>7^!6}r-mf$SMt$#z6$m3j6U~|il%vJ z>t+gRKWmNhl{e3J{qVhxfh44}IwTd}9nFRp$=^FmJd)dG{^JqFcnTmOghr$@9;g)KI}T%+A$StkZ3av!2C7`Uv9PhAeg3Dm!Y{tlQ4pj+D~vB&s~>4_ z*quqJxK~nfP~v)vkOpz}eeqOQ`k<7K8x?=6EnM-eXmf;|kzZR#if^C1f=VQ!h{2-~ z?yQ>V3$~T>%^lAgtJ3*_+0I{n;h<{2@3g;(QXBET5Jc&M8ez4z>I@ClZ0`i9*>r30 zL$~%LIg+J1pm2eo9|0BlLch>lFNQGreqGKKkBMW*p>ZS(_vKAxUOj6w$8M2<0-rZR zh+mK2!^1NQpLrE&iuO*GWJn{clE5p#-=95XgRU{3{?G7YDcMZWILhR;*d4c&-!e&5 zr z5I8euuv20SwlYyF&=~EahjsvqHTy%=X|Uia(NKJsJ(cC1ZkycqYQsNk`YeV__e>nd zmp)Y(@}DaS5p(7$&3?ignTsQ`vv#0iT<3?8(5p7A#rCIR?7LBM(ztm}didD&_ZE$g zxTxI=du_MYE;8b>#~NQhj5;l*M+srq$2c?ffQwSx9f>szixvX2&*_R@(A2& z&JPmXW5+pbnO&ba&2OiF(V@CebtqC!uJyw~0@`0b0a8QLl-kU`o4d)+EAc@M)T^G* zDl@MPp2C14yWFf^QsP~pHgs+l!OdE}u;`*!VBj2B@6SqY(yQ$vqMTHjlwZMCL~r(# zXttq)zhql+r~C2k^)vO;>3bw+2vV*%(R_OvHJO{&MjP4)sLY#%$C}qzR`DA|pFo2d zxuUy!mB6~a8#*?m$3G>*g(rev-|dqoNetE0>Z^}9Xa3)1IFg zeJ=C2PdJvkzAt?@ZZp!{b(9AzOT6@NcX$08&04N^>kXC#TApvXq6(c!q7l1CSHN?; zD?CkQE3@2Ev7 zi{B;_Br+2J+nJV;g=OcD-$NPRwW1H#Vcolp;#o=ypqAF-6?mYn9@!5VG5GsncVyb% zc$s~6-or}x6;+)hrKhsi2FJ93@zpBM%3crZ^1XkU6fkWbdFT}U-GG#g>~&?^L2>{n z|0WSQtVfRYV>w{a`jk8a~0{ z&xF_hh0&fS3)VXJAHIos-}Vz8BD*^BAeo@|-ujJ(P@d%cM3jufKFn;2e(*Ugp}68W zhipfsT#n%Qkdkj#t>$~;k#kPx=fy(!qp*%Gc9PM&|HpzfLb3pldes3h1sSH%V^vwi z{5c$3Oxt&NSwYXqr+`YsUGJH%mDpy_qRx|k8V-DR>WmY`OZE{Xj<~eLte_P`vsGUT zcN~gV`=r6mj=;{}J1Lnh|8A=2TJGhTtl@g6E1pPpKw3dQPfj`GVNjQwNdA}~RrP5U z$82ErSKZP(|52=~r0EuZYd!cEv*4hnzDOUT|9mPB%4TA{N(?&a8M7;?g#tmu#|RAl z49WJ+ayO5Y#e2&-j!d+MW5pN?J<2eW(1X1gT!Q|p~E zNDK7B-kZrX4-zyC;p5uCOK_Tw%gS_dV5}l|h=oK#1O|B9=4c4! zqY5H+4P&}Hw|2}k+$+&A%RfbOv%H_Lk+qtmmAy=!`nDr(&Q?~aGMqnPh6d#Oj-+Fu z-PKNTG0V~2bUQ$eOPaKGMa_|Fe~W&EcgICnw3=Ct?jlV3eot`d~+ zt~~{D&j&fz8lBg&B6)x-KfLlc76X*riOcmA|FlmQ|I7@uhEaTbpOoNbU5(6~N(yCu zga;=pKF`bhZ0PEL_}YzENMmv(GK}@lx`1(;W=qXsXgy=}-{-oXvhG_xsp*Y&B5iWB z8+S+x4EDza#l7HYXTTb_W|#P!`1d*?7@$8MRT^$K5hFKgq_dnj-Qs_YMP1Uv`rOT7YVKeNl=T zcJ|jc`Q1*wc-ZmsiH9kgZmINZIHq|PGGYp=-*uEj zrd95T6zzqRZ$U1x#r@lZZ{s%IqcFmrr*Bh}6c0}OD3_=wfV9JXC?qsC;W5W5np#5v zp*Bh{L>YHH;C}9X`jw>+DM2?MD0$!W-Fx;na}RS;MEvN)3Ta!G&d3VmEUC-JMzdX%IrR)@Q(o{1P+Kncmt}B zx5Jw7`l}wD%ml5ga_GC}yH|hA*$^SCGN7LNq>oSj;$veW^;(X71#Tj|E@@T%+9L>o zpjraAKOJ1&>FK96E{`%I_`SEXpH&i&%z1F-mgfi}<3sUx zgo96{8--Ab{7mZ}eSPugW`eJxGX83Hg_Bj}7I)h0fW)%nvHvCUP=Q!jwE&9@f)Z++ zzWI(*i}Qng5|z(-ymXSV)(_JO)RZICpA$b{{mICLfzN|eUpOQ<2o;oGKY-%5 ziB*n8rGcuLXA2AeTL=IhA^HU5hvcg##M)6Z?q9XMidrOX3P017T2k_VOI?j`%Q<^8 zGy4SrIVK9%EvFW-if_+iGGcf;E^v`VJqhRa1i8ws0 zs&Td(+N!9py!Zr6n)n5J`W*M3v3zp6 z)+q>m<#kH?01d$qOo*4U<^r9r#rHu3uWhueruXfi$1p%dR_B=FahM>~QZ=fz%HCen z^Sq3E%W}&2Cj-gZ0;&4dnp>%WcD74FB(M^w$&KgQde&a=NG26Z=LN&Wt$`fd5&TLe z_7~kBV;B%8{`E|$Fk9 zX3JL0vdaECi-EwBmz91K>ng|2tfgEuE4l|~Zd-6mp8et}UX4~7@(O?uf2G*hCyfG%EblUXFYZTLH`vcBuxPnIzcCfj_78AB z&8>6)q%MK0dz=0ZOb~rn^5YhV#{+h~c5D!Wcy8Tha`q-{p(zX+N+_5ci=Z6wI~6Vv zl-lH)ziOU|2Q7fI1G=qm{M?eiU(pCc@32?4_Ck_pHj^IVzK5^JwHY6ia>9?GHs_m! zh#s$sRuQC~a|wS7&_LLD$}s{uh;P9Q*GTVN_5%7l|ai6XCA zN&k&{_%|{Eodvpv;l%KA&xC)C@WZ2HTFJs`(!iE5QJvNY{(Z&jc zoxF9FRuHxcT>w^(jE0)$=H^2ZiSMypS`+A=B}4ps@P<7yumL{)`KYhg%gIEhdx3t$ z`+&Qui!U#6I^hvcX)iZODLM1|tYWk2)Gfu{c1RlAz2UD>TpZ=|8~DccK4nblg{q;y zt|Mi-estynawAKBQ!=B6dEP`tz$qBN_Xkgm94kY31D#4~sZ$l#RtpWe{aJnL$R7(9 z4BAhuEqEz!0QUTq*Nb|@l?0}HW^Ka}UX6#pCaDkk7svaJYXV;ni^Ga%nNPd;H-vm> zM64!n=8l`D4zMfhh115%=*DcO4p`Z3o*8UC9MTto4OZw;V+IrBEAx+EPo02{5N1Ng z#^KJz`LzIU_qF8q=qc{C*`OtQ_ZeAC1tf>SbgLTcmbsIifiME&ru{ySLN6{8#guN7 zJD@6pPi);X*Ox2HCn(#@n8UMLi|uc43+t%ie_CpCLu8z_!(~cd-xA7G_j(ribI~j= z&x_dVrg{ew1u^<-r{5-!P37|HdDDG?SDPP&YYx@KbuBk(pUITtaUK0M6B;o#6uJ%p zf$s=dM0PzxF?}hutS{7V?jCFwPWNfDIWYs z$_Z(-K?PhFGEr}S0M;PAf3OZG$jZvviJkte){0BLl7ZEV9Jqoh-u+MPLTAhj{$nTK zzwrkEz)zbhc}mobB^K{$yyJ}p_wPv234$a4@k8|*7X_|1ItvOO80GTEZ2)zt_e$p5 z70dtrTO9p;u)pWOSr!>c&d^Y$Z2O;-CDPUqplJQ^8R<}g{~?O;-=@MqxPs0t`o}ku z0#m@#%s>5#{=0!)-{VIp*Rl=WAXqau$Ebg~|M!vLo4G*$F<>1Cp-9+SBr)&H|25_Z z`hg+S7o4Rx2(&BMr>RG;6Y~FkG*AO7!1Xhq=kme)pKl7jN6qk;VMcu`EuOy7%J9wi z|NK@83>bNS>j}6%D6Wz`NJ7~EdWF!US_1bPT%f0lF8}vW!Ig^iCpczBax-Of|GPlf zr+RIbNr6v&^CWDT5RXX(=Ta>1IU)ku=B!Q4~y&kZvTDRFG~Ylv+YM{?AbQ`ToxNpR-3-VRmQk z+`0G3_e*|Yo#56<oC%oWVJy@FEbt`Oh6d%OgCpao6j^+lGlf(d&Q6B>)70F4QpU z5G$pftA9@P+TicOSPrWV35^L;p^TxLkNQSwJjx<2^l2Ebh9`A zKB(|Moiak^f4%hm$p={<;rlNk4VNI?^J8~-{~k}kjrL>ARdSK>)JH!+XH`Z*8X$HPjE!dEWQm<&-mXLnwga%gjFiYF8%&LB{~Szl6lP}(5!W`f%IldQ&u)5b`vb6)aH#AZHnaQ4m=mz$hVGYGBb7k#JfnK; zLw6RPGWMh$k7|23PU67F68ODk-<`_?c0{lL;<~mF<+*-Ojy=lOzZ^LVG(sM$!8zBt zf1aE2@}j%X2T&W}(9pGrfvfMYXW&71g>tT4FRLOnK9&t&ss#@b+eJw3UOn2FCCOpu zID%tvIyl9>R6h<;HB)`hLHR6pTABnR64B*h^ESiA3~iq#I)82ZpxfsUx_Y6z&-x~E z&*WN8+I~CUmLs2nN{QG6BuYqL+Vu?9Nn?5|&>M6oY%{@_bLO4OIe&KVF;`-Swncj6 zPGI$r8{j$df^M28jVp}n5!ZWnhEFe-1cGe|bE<9}>3*5?cfR)!2=DCr$ZEOZwayxC zXyK8@^_nY)D`dDEmGdR1Gwr{iEWdEd2t>F~7A8SAhn-?iD9}@>;|;Az2J>=%8mKQS zWHf+UrR%55|J*#Fs}bLtWTj9;7VKra7Ekqzi)eK|mz!h(-kEY;Wm)?)mF?kJX2Ff+ z!JE~9Y1S9XuHjFWOVyUsp^h<3UObyFYCEvt5WMj^f4ACbe_Q&T;AgeU4O^33kz-C- zO0Bxp{B3;ylrWAz30hnGcNcjRagLx>JsZv?xoX%mmMUw3QKw@y*f~2uRC|3bSUqzm zmbw3MGcOY@R|J8`@gT3;ZTthGspdMZ9=cVw8E>*GzfH+)u;LHfkyf*Q%XuJL{UR=S zZ|>|Z97r0EITPP11XqA2_}cyD>;5uTESU+<^Qsf(Z#t@XFH`uji2m6ZUEg1Q@dEs| z9!$!!Fx5F|8F%*$UB9Z{I)s3)tWtlg{ddO#`{5qkK^Pu- zYl%%MN)>dGN}TI`1>)x|BMs~a_Liq}ba;G4SiAz4DY{qlfSIbu z9PmV~eYOqiBMP1zzu43Gihpycn{t2(bzkqSR3^?m8=D68Um6xBE~w~drC&$K30>{K zqLZ^{5$zxl7j2J8b#gV2t)8<9Z~qnmvUb# zKJi!Bi?}}PlzIDA(2i4=B=63(uL0q(5GbjR!vcv3ZTqe8V!H4!)f<46;rB~c+}YD+ z{H~@1irN;8O3V zx`5t1O_fxsZMP_*^C#{wL?FIsS`%gh$e8;N&2`ylmim3gip9G@829|JcW%v>joa6Q z)NYLde+kH3Br#aTa6g8i zEn5i`zqImDCPj-~)VO80QsZzrG0oPJsgB;iQ)W($y8D8;Gg&;(C>O`R@<0|3I%~S5l@9W&A!DP|TWic6X@( zi)nNI+13F1Afr5_x*QfKbs?4|XHnn;fVcA7-()-%_*Yzvs2)+ZLB2|uaRgd?hiW6) zY5^twJyp~G9&y0wDvshV5Y8_j4wtjLCtQ`t&WYouM|wPbw4_Wk0;BCO?m${NWS8z7SgZ8 zN+C^QsVHQGD?s2ewy;ox2%8Di?J$pp16vU zbS7CKEDW~sc-=V)4^6|Ub$vhR{UO@1>@_q+Z=OlJ-wB`U=o^jcy4_nK0(>`)VfU0= z8Njw_cO4=oE^mFKQ$7p6{HHE>G#~Oj1{rQg^+-G369+X!I6P}!tu%?&2aw5X`dLrW zf($|vx{00#-#ZR0cJh8klFKANI^t^o!C0O6ogoo?+v7t5=|_f~G0fVA#R7rdELo4FQk4QTIc2bqKB#odh zO?Rji_89}Qb`n@iTvT;WEz6?ed0_(-4v%|M^P=}d^XGhs)jU#oRJEHk#Ngef{}0A$ z$3n$w;(_f}GyW}k7StAF8wxo?etk$Ga$=+m5U*lw=hwO3QrFPBL!YuxL)={uDI0YIvfXu_3j_D9 zVHbGU>C_-mspDOjsV0ClE(g_>XWEUqTh*j}&v&$RJm1|A(1JF7H5QlX;32x=kparY z5>Ihd!cGutq&G#Kp^vE%xZ^KW7yPjt_~6>7xrQ8(pczyXU>l`o{4AddT_Rio^VEi^ z*uabK0{VBT`-1TNCp{O`v8uGbUol-yXEeXr<=Q?owNhN!ww1~VT8qGxKSTf$qLwZT zDILX5zmAMHCXfc-8ndEm1Mr2IPHFx(+Ih~?`P_>jKHgy0)pID6K1g5&VOv-y0N{>b zx~oBSMUrRK8}x_89Y+s|e~PP!>o*@C9I@-^nT=<(i*h8x_-K$zq?&Inm2OqN)=pN- zNnKsga9ove6%;#QK$iUmtnbJ-iCr0_s4T&pXi?i6kCmDvhrKr1Kxiub)y3$zc8|z@ z1nh%4)ade^zA^C72{xHkud*_(A+uVS4mtXq;i}+crkBfAi6%kU!)CRnx4)9X&?eZL zkV!z(Vp#w&9ZTGW6J9Jmv{&`3=ps{dC0o#tsxd8a5qs5R*Db5lQPUbWhxi!G;>5RF zSqJn8@;t@FPS2ZN0a~bn$#|S5xfn3J)Gbe}t&;7<0`$@*qNfA_a=?GKH7pBLC_3qt z*z)o`zNUH6nli`|Ccm4!CtYuT!}Ae`uS1ANFi8EIv^Q zKO?sBH9;yjmGy$AF<#WGe%z?1d53^JYIg6_nKZ6~U-^u(UU{+XjC6EyWv&Jd2N4Vv zPH77Qp{iWkflzg)r+tK!#;z|ag?HhiKHh@9V-}xB;?Z2oKkRttRsC4wUK9ZFDCuJ& z7)cU=0Rg8Hw0}!5BR0pl?JIB@{!4=D8NU}FhBA0mp&o>$85c@w@{`5)S)#?p_xC1l z9_Q{ABOZ5E7~0|;2wTbdn9`h*mx5hv&}FzW{CR}h&>0;6b?>Q zfH{_atInXrtCNQbRKWGJN1kvY5sKZcknHuuyX_Kr9=Z9tx;FJLXEf0auQn=fq#vPA zJiQmmK&$!Pbt%7lKwFIOViIo4nkQ_rGRP}k9Ji#tVclmB@;KR|Yv)x=vxdl9t9t^mrV5Hm)FsC7l|_o%z4*i?&KQ+Q z3wnY*g~*AA_D)XZk0n+jc%&u0`HlXNt;KG8)R`Kms4RLw`-O)bhD&AwYsB=?ZK0_% zT1kGlpXmc!#CQ%Mx@fRNVisU&@lO{rtp zT1nMa(i$wT$Ep`JR5`LGUSaU!@Al+t=2R{MqxH;Q{Aj?400dZxOM;pR-VS8z&rf99}oh2v>@(LFTkPtH*F3i)N1_((xunHS*YU2g`{%BHJ zw&dgrEZgkc)Z;Cw_>jjrgrXRlgjz>t!`Gf^XoC8v7k zRFjkV_3zWbgiE3ntVv?DLp-hi6*-~|n70uA(bx)Cz=)`oupz1@R4;oXF)yO=;w!wt z-MH2II&zj!hm)L!zl^92cHFx&3@PKlZ+SWEwKZ4AhcGW4COZV0QvfRW0-&Qwt`gGH z>tuYAGT(q~R)x53py-Vl$wAo@Rn$hp6$JqHOB%z>;HSD`>_yK%lawvOh^dc&=7911@v2B0Q zkv{>%=1L~t_3|NH3Sk0>T6G|y!^0nxcrT(aJg1AdgK$Sm^1DheDJ>~6D)#uHU&y%pmCd7|ldQPN z`FE=TqhVBX^D9e?PAyE++lPLAe}&&|DpNgG1W%JdFbJ|A{nc8PvQokYyh5zq_2N@DFq#5hvAA$FB=7%J5on4@g_L#F*=jp6Es2jl}Z; z00WRR`;5|*N4qRN?6|Zf{$OmeahCVt(WQ(0dS_uW0B*t|;Rb>L`veoEZb6@U%C_x#<;)jV9E6JvkS{%fa87Eg_8xn@TFo5?}4 znN?uu)ZcKrV@jLWlEOgMuHWDHLYefXdVHJHmp8N7Xf*i=#72IcricP`yMOeyJ?kl( zZ@$B_YG-j^6DDkTY8Ri#JmGI`XfsUJku8(+=Q1$EcOpB?KE%!4UypMw=RK!xX961t zgm;WHuc0SC=HJ$x`}w7T3PoZUe9rFmRglGQxql`CU|+;wp>gM_#2T9UL_cRXmsA7< z13zF_glxS)J>5bl2XvqLxi2KuBp5md-ykve3|<3~wK4(JVUe{FMVv0vQk4*w?`-PN zPZ&tJEP~@Z2x4azG7@!nE=Z9+Hqj1W=VcB>ZrzPDGnMNM3;rhdRY zYC1@F=zU#6yE-oPaOM)##t|SL3}t>ZIqn{Jxvm%6)?8s0vMcqO017YK!PWN9uRdDu z0_Xb%ZJ$oe_x^autIjGVDfx9b7>xeRBComl^8DknhA-m|BPs?xN$-JfG%E9rg+;)Z z0l^vMEylGZAq+(XgQ}CQsHmtA`8Bj;ynHmyIt^_hF)gam#4E;<+}^(8i7Q4nOy$_6 zlJQksjKuL&MM4u-Z6{%sbh`>rUtO@HyhGrI3s{%0;P|mdpT*dsLdA=}A=GP27y6~k zAk`E20z;nyM)FrRld-VT9;eV@1n8}Mw8Z0&mC&bz{yK5Py39idHIm1kI8DE8XQWW;U0J_SSZJ9w=dozpNBlK5f3iS$5rUj%zvzqDci%i06xR^5diLqZmsa%N}hv@T7A|SN*J-w{V1#EcJ7CGfRHuo|L zb28XN#RVTxi#3x)j zbC-}4I!AmGgdi`~yNXSAcx26_fq|>!V`_pbHe=iEV{ulzBKfULtNQ18i zw=aKuq*IpA?GP$8R<#%>`n|2AO~?H|c?gJv6A>VmA&Qzo^m}{*Vpph6PH#Grh_~Bz zqh|}P1zw2SCYM3mefC*v z&a&oK<~Doh?^!TwA!hPm!btWck~J8LVikLHzf7bfTLDk%&9pq;!n?gx$KHug2m2{4 z8Vp|S`kIsXszY7vBIo-~j;az{#hZ)iC3heDsq7m_+tVD99IV|;)0c!r@B9|8vV(+1 z1dXBXq6w+ZB17oyuSfpLX6%`rC&3LkN44pxkWu$*_=LjQ2e!f1IqH0(#qE=iHvpYL zv@D4GpY(M^2a>vqcf(s$9h^9w!xc8%b?Sgfaa-e19A13ld|u8Q59EO}CPMTF_FlNq z*Dr-*|NcL4r{<~ufjh-C!U1SCdDFjXEp#Cyw7kU@yo%D!MA*)VHoQXR;8%(HGmOQW zUk`V-F*)O)ej2eTStEWDnC*HlFx#0Bi^)Hpii!P_xR923H~MTGBx&jekNlWb(6>b{ zUY?(_`TG8Jw1Jx_O1xdav_1BC;eIN6b!ZPDLM9c7ekb*JDl+5lgxk?&NHbi_(v{@D z`G0iY5iObRUqu%}znC{Q_VT}}Xl4Q8*V|b=tT%jTiEp^s^S!4NIelo6^+qlS1(S90 z429%>67}-TklBU#bOiQAm!Y|^$tjQ$k8DRu`2W7p%qNpr9?Hu@eoW(Yx5vh+Gg6fS z(P;&6XSI{$aTk970Qpb-b4uLPlU6->4j*}7ZwpN?UZew|S{KU$sZS&vM`IlLe<2Y> z$c(wsrlP>wLnOl--oCrAe^Ze+6utzlkBA^iqvX=lSyeEKM18>~qXf6U3dC~xO)3a@ z42wF5rml+}4?kwtSM&e^qIX%NP5Mi`mm$oF1!=vTP@VT}(Fq)>TCbeSgT#@<8AS-B znjbug>ur|+%J$FY!Q)2vwh3tkeW~X(P=?EP9Wj|11t&HI(#ARF)M($3(sB$Ocee+P{Dz8goK~tivYz!2l4Yj9Xz?I+vL(68mK5>K4-ObepJV}4WGj}erl$n{04bm*C zsB_q1FuT>5Aebs(xu%tUOIsSKMdxA#U(KSzndBHTB{BeG2K_f$1jIUiCS}=7vdS4k z@z_=!%|YOYUkCl20@s-^xF#mmu0FkHDA2$p<3R=EBrxSV-i!-zlS&9L-<%tF zNFhqU@#*aYodL(+V)$#L!i!+hZX+01WIPv@K!%myd)4U)pAjQiLZ3m}Njl5zc~wFXhh@~;D=@N&vB|YVMBgU?thTpLFQI7 z^VM?L-s(I5P;}3|M*^`_y!tetYg$#j)K_9A6G8Am&P#H9NLVk#nEbT~iG z0!}uE97Dyc&IskR$4`8g5ZQnx6#<>bUj~+pQ^vBXkwUuw zNWS10%L0a*I(_b5F5Z8asolM$%!rsE1Ul>KwccLlG93a3q@hz5Wh#*7ol;W(nKg0m zRbe0oIShR!ZcbK9&oU4_`LnUR>Q4vYIv>w!JpN<+Zp}snb=$U zH#G({evHnr&B?5VDlc4eOwIs}SoB09m#~D$`iI=UvyeDxSU^orHmFyfzWmw`Dc7Cs z$gofpZt)AmuM$tyZU3Ox{$zm8P6JKJ?fNNM2-iY((swYQAx3P z8}H~>Hss{vi>F4nXrvSpYUo*`H{2hKFO0dQp&vVSpe`l%Wa4fm_*hPHi14PL;^ z2tLBu1wKUlqY(gKO%iEP)~SEtsS~_QtFZ;~+4{y&1}PV%bLWD-WboA46j`w5l41HZ z!WSW|VCN!}y0iw)vY>TJenuCBG8AT{17<&*uGXmj^=0vL38W)$L2|%tlxzYsWY<2n zYHv7?CP@7-e*^5SJriN)&H4lRAUWEJnVdVPMf+unz1Lh&aSMqup7MhiGQMPpKE}mL4@{Y>>Ej(%L`FV`&A?l(hS~PbDi264H8Gb;J_wY$Sd<_5g%W3 zAlVQPz>y59IP;7V0rdz@jb;i;J@E%A5{+q-`S+of3?-=@9-RV41!g-Nc;~K{vv}&< z>Sk)O&k168%BJ_GAZ%2Lu&jEr9`*Z$32Sh@)1t`eSJ@JQBe4IF@4Pv86Sm~@Uie3{ zJf~?IMFt_^aG~DrM>G)*1q2xW-G#{D7t0-cY#^YO%Qyj4C%dqt; zdjykL zFL&dKVvjSNeqGA8`ayzZDcz9}AgHs-^SMBnFax;lAN!DqU_R`n2vkrUHGl)@;9F^( z*B}GcThdnNbY}t~1Ag=_lMgIGVmX`1of{UZV zVuF1Ts^XJH!KnuviTns>)&n@GIx|B`?f>^I)7=KG` zLqHvRBpk%RA-=~9sZE zv~Vxy>cl@tCfs)`B|*aR{+A>W2Tp^nLA~dA2m6tR@_bm>+0SW-glY@x@W)1r1gL6=@#h`qUhi6`B?a73H)me#Jd35-{z98X@^$Quy0Y3^PJ zqhT0SX_3NXq%t3F6z!V$k2RRU7Bwi3NG=cc`+@lFF3%tj3;Nnc$x2|GH7sBe!}d=P z#;)<#K%$apT}!g8`By5`*etLylOSha-6%zOZNF+seuz>_bLacdBmT?zS=D|C*C|FZ zyA!gT%cer7yvCcKTQG>GT584#6Ek@)M9x~3LL?WuX|rcp^`b^Hz5!h@Mp{EEb*Wp) zj)6|pCdjqVy@tq~#M3TY)N|2BD@HHsnEU{xDzZAL?b_GWkx!I}u4;?_EwJLFh&T*G zZwC%@VbzOmA=`h}U*A*Ah04ra@I#JM-hck<10(fl!fnimQU`&UuHwI?h{z|P$B8+` zN?+nWhGVb(}Kvo5&PzwEve+OZ2N5MXV*&Utal@Vj}*N@!);TgnFbe6-bq6__> z8a61Pgd<(F`WB5Dv#WXk`rA7f^tS~thynNM{{%Sz)(&wCUs4eq%5!dbzyHUgfcCi~ zoqZ0MxZoD`pJaabcMM=rDocg&TWg()5P{C9gnf4B;yF$@U1H^{Q-9~5 z{3P+~?P65`2O%{D^Yonaf6tQHf#@~$&cXJGQK5L={NKUZU#^*u5R#&p;;u~b&V>*h z#|>417}+u$*~kMuI3Un$DgO-Dn{a{lpEu0S za`<#c7`fqA_2*<8PSkUC_HQqktu=gj^n7=O_8)p!cQ1Jd!t9*sA>D08+y5EddllyK zYPLuQr(Avf|CwHJVmL?cqm^7LP*>jl@24UOKxRWF7m7PA5r0Q^-yR$w!$b3C&d_{3 z^6$v*-Pz|bb{tflG~HMJnRPqkK!KKr<%HputFUZ!vgrRkc$YGMnd=SFYoq^+ARLc1 zhnY~~OjGa00^lLfIQI_etdb(;RQ`{d zju!&Ys$Z|xVQ7D5_91%xAKQ;I2uaB2Y3VQ^=XFjJ@Ar-#+|Hmt2L?PE*oMgMPH{+v zntj-x`tSxCTkvYB7;98XL9kFabL*9YdAZv$fv|kp}-W=ir|{s>}pfsd#f}x|L_8L>T3|=^{2A zA8Q#c8{*8rgUK9PE9^=Q^}Qk^P}@4e+iltfHF@d)PACw41EDO&iO)~UQ?mf^EChiz zN*(PHSgAih!tpJEGT`HNH%{;EC+Lf1xiX#TIs>+&xTVZxd`-fwvh!VJ)88kh6Q{h^ z>V@s^8kD%r4vqJh`kJ``mb&Q8bWT0gyh40Na{xP7X*d6r6Sh`QJSZAdE%n)mKrqpO zx`i}b1u0*VAA)Z$$+%_Z1vrz@^6u>0Eibr6BL^F&+92AI+w zc1lR4I`X0*g?paiH==(T(eS4v5Vh&>gW4K|EB{(Ii~VYvK5gWnlQaZBEMiRBbGJ9>9)`ZwR&0^d*Wm7P}*#doE40%N1+_%lq!>D{o^K0qzk70j=RO zG`<@^&(wR{4LuL9S8PHkfX4GUpP|in)est!AxK(_Me!O~r6J%bHaba{NuuBf5P9qW z43Hcgk6D0@TmAkG!ps*2fEFx5UT)R;8V!-RBjmEn%*#ShZoyQ|{RnKuBye|to)M~3 z2!4d9%c84vb{$}hZu?IOH1?~4_boD&dg1BUpTG8|nd?Q6;kF}QHT2d!38nP|;5HsC z4H7JZLYK%Xh*Z*ob8^FXd-GF^Jmtg^aHz=cQ7I-i?8dfLkQyi_uWD(8AudP{1JP z)6?O&x$gd0gZ%iEDJEy$16-tYkl$Z^B!!eTGKA;e zm?&d?AF(>6SAISoX!-&LtmceP0{(Ij6B#uC#?>i}Nv4h^?_Bmwg3#KiCC2&Jr&0Vo zN;VZ^@El{H5^$31mlsWS;4QC@OV~WPKzlAsG_HU>KLJ$F-9MM(GF41KzzGP`2}X>z*26%kI>zxwBX$d1K1>hj6sq= z7}_Y~g~)A|y6sB?7~p^Ijjuu=mZpN?rY~UTZ*}LKxieaSTS=~os@7(H7x(N=YYH{g zl_0<~3(ORBqW#qYYHyg0f=Vd@1_}gsBXJIJ)-)8;FFRHTqP&8t0`=9#W(YPX^F75s zLF@)Q_6NLX<8QUP{JxtjsSmPveP>$VUIEf`^#r)ov8R|Y0+oTc0DmTGE4{fqY|J>} z_Pa^=_uxl}3e7i%k{imqA+jiRH$msZ1XT1E4cl-Ol+E(@=Nnbib}%*BxB`r)h(N{# zDYIZYiRvmi-wH$U1V`q}!fCNv&1DoZGM+i^#?`u9YS_`iR+zI5kI2$OEf|8kge)8V zbiQ$Yd`QJr@w2upP(P$u5meOA)tED{$1bGEwT1Gc{FO!>Q@+A@1%adMXXxCRVj<%Knk#$OgcM??p_Pb{nn174IM7p~n;(B*2qFfYWwhXPntwMS2V9Woc@`GRQjhO1 z&zlZKna5_$qupVl31GOCqV`~XHLLxGqnM+{%zG&LaC98)I{t&IQ7sS3Ej0(69H37+ zDJCZwQ~h-U4nYt9jP~^S9+QHs6@FRj%UPeFxd%5xY@<(FemGW6r%xJl8j7Df2z_%_ zgruNG1SLum+r?;R*j?_^>;k1<@h3eJR#1EpXTzq*>2SqWPWKk7^IBG7%UM#xgwW)x zZWbSHM?dZPxOr?8v+C^zVc(H$pVBc-=ZzY$knyLGJP(HfPf#N%0 zC_PupCap|78A#ldj2=V0_EQWHCw{o@O=aNw{;0vg4VzKNEh1U1d z5N^c7kj8C{fk@~CF5olNxI}1Bgyn;TjABwBLYBs^fu9-r=s3189MV6 ztdF3xe(}Mx7da2`woA@Gg&qPVMOWV>otoy^^6brthVso~1$)VM15c-z)B*c>sl|#&wGC#A1)S*s2xY)5Q-%PJyw{+Cj|0@+P zAL7*Do>$&JAyS^LfeuFYJ4y29bgms1n8LL?hfm2|>%qK-tb!V$QDNnsXI^u}c`lLd z7>foqJI>E}8&+pva$trqEh_Hn=>l~Hgqj=Qq#ERsFsC)7#v5)*W&0P#I;uK!)f!Z; z1YqJ{XYhz!8S1(iHPW$sDzP2oVz<=LfLVSOFBLxTY_?$I;PEzr>0K7dL#TptgO0md zsCcBE5%EnE*SRNWzhI;DL}dx}H9>1+hS(K@fw$k$^!p`LlIp@UaaQ>-mLfUV;cRSX!=VYikoM9LvC2B=Jdl9dwD{ zz=4;pCz+Xx&qJ)y@a*z*?8ia&muJ7831rHWlKK<7)pv4fQb@?U*FG>kJ-ySRr;|6z zdGqcRhFTlbqO?*Y^+Fng7`c>5<6gs|Vpv#X;(GH|D6C*GICV2$Dp3BYCwlVQ}ZtO4ZKQ&(Wkp;}QGyaUAEo^Y? zp{&nJ$&qSjyA{lDm%!;6J$xE0r_9bIfwvx*s-*_8{+L`! zs6DCXQ5+7*eQhXXwe%{>@(6ae-sJXWWWySWBQSeP? zSt+k)4&Rt$etHp6m)IhDba`aBve%PEFt4hMuR$N!f$5eq-7|}ovH;B;ImM&OCuZ3` ztImN&qb(jQ!-W&|XWu^h@E+l`K&37Zn@R}(Z5y$-9z8^l4oE15k#8=SMJC!d#+fok zr_74@e=Gj|#Fo>I5bDvJ^1|r?5dTM-2lvNb8+R^CStpNhRC@bQ8xazd>D&r)CX8gG zbmN7=P6;dvgVEO5*jQk#;mUb?;R%q*lXi@~e)*61yTFlg+_6m2#v&7jV6PO%uM$iI zSX-i^QAvlyW70_Z+*qGps2ahMr#Pu*>~C>@_xKat;@sKDSt+7$me9r|$|9*=j(ks{ zttP&G#i5CCR2N~gVHg|FsTr>1LwnKj17h-KCv{TPg5EN=+qGCXoZ?#uYw?sZF7x9w zlKJZLpDzl)F^bd%yADNn4NQHC6DLmCyA(lPu7#^fT2nR;slFVoeZm_P%Ag>>??WMe zjP+Ht7er3tFc|0aMw8$|kj&XNoAG|LN*kyP^lw-UWiRsj$dKKQ;;{Tt_t z?M5jC?$2bNjY?CDgY!#VVrZE9mq{872E&xYNCe1{qkyeUC`;`s+gDVKUL0Uv07si)E`nY&-Acb1fM zJ041gw=P?LaKdGv-`U4?VCjIW=yF6@de=|8p>>&?r6PX)xIA?g&}>=WZlf)%`sZsC zq;1G2{mJffUrQT+qPzj#L7+pw^;own7o+${hF_}6ADZJ3DmpbnXq&B2I()8b-amYd zTpNjh1YN}QQYSC2_A;o3dXsu7mMJbh{mRe3v|W7H{hfZ+QmzRu)N}m=(MN)IzFG3P z(o#8ak?upPga!>+S97h)S$J#lGM=L12Oh@9VQt0)`pMQS&(CU<*Qa)1xZ?2iYpM@pX?- z-xn5u zKGxZ-!Jz&O_uS@nm2yX9XKyTSJ*UL1KzxW^^pIEJ$pG$DxeUkYpdLO&UKsyYSri_{8XF%)#i@m(Pg>P(3@V?YRcc5HO&LcU#^(>z2n-(cU#6NOcfl!_Tg@==|#SQ9-n@}>LaOk^G( zI%HGL=awj4=R)81pV7abIQ*;v=d23(L;>D&heeuYgpaU z5L&ojax~hZTQJRYh}v>3uH`*voG&!rp@fbQPB-5kYnlHnUV3YOy~8v-mZJdz6oNY0 z;(vmFd97M|)=D(Q-(I*re?k^ZDrz)nqRXQB@Z!_c0bu9FiRkt`cycp-Y706{2A&AE zrEiWuDM&&X%RC(Ob9brDH0RghQS37u9z zp%+=5;x$;*1(=O}DankU7@-oX_)0&nuB@O7{qDRKtAu)&v+o=fDGWO*;`?rUJf$69 z`3)iBta85L#pr1$xri0kONu8=RfMFb0^idFrEd)eD*23S;Mi8?ISiNmxwPQaZJrnP z&;>MJ$)WDmJGZ#8hc_A28p2@-O4 z{CGp;#*V8|dIIEW#s9>`hhwkM_h9`e5++*T;1f>c(D^JZXv|-nhdzPwb`eiph{#-_>cx;XX82Hl#LdU9yfxpFIb=zsg&|NKsPdXnsjQF))ow?kQZxmWkqW^`?pQpEmr$(g%jwgY|DzoMLs6i~J*HT!u5xAC`!cEpkkhsFdBVpJ6^u zaQQMp1)Lk1zapZrkfxFZ>|G?5sNcZT37JibKmyL7m52$2_-xpw6_|7Wbf%yAZK`)| zJLOg;Lsa|qGuT84G_5~Ui9Y+m?(vc5fJerS92>6VkzU7dVzn<(?uPq=p7@#nD!h+G zz?B=Azmqptnz^A29@vnVjFG{eCM!x=!f1m=3x(y4)l}Vw^I!Saj6$;hp<@{ z14B&K(E@yo$~ko*+V^+D`aynrM+ee6Nj}xT%l*u9hsrPh^m+kmcLs@QsXNepX;j?42vT=|(h| zy7f3J;ipFu{XF(FKS6wWV!ZlQAL`nN-?@L{#v?|O&*fV0*pM35*CV>dI!7$J|+ z;%_5QJP@p3t@_i0mU%w6mQ%fU zd4+Xg4v7P99{(bbd?v~sFLS2{r|c7PPl4BA>rxDQAYK7`{^s*(K0ekfVTUpVSD}sJ zTwRcrA(RB++Dv<-eO!23I@l*r#fTY-9AtOhXoDLRXsB z{oZl##w>hbqc(Lfon0>WlB=JRu75cjA#G~K4>ae6b@i{T*0ElBcNR`$p&Yij>fKlM zTH0Dwo(=!(@@7wPP>EXHUJTa}qxV_F#@p$5xNF4TNaMdhliJe02|o}|&nB}uDc z9(C0^Rs2|fJ;Y-?Q&I~hLpbZ0`{OOqXN-JjU#R*ZosqNBSDRlbpD}^qA0=MPJQlf3 zB&90mTE3IqLC2aTl2;=r<9~eA+Z~&f4#819yzI-Hn`q{K1%Bm!Me>9pl`XB~ig+ zb)iD>8 zrjEqp$aJ=A7**s6dJCkr>cy8^?^W0uLP16)} zy_n;2cDGJ-s_=SG_8+~@Ty;Iw=qabxR$odi57>x_&T=Ajlvpdg^78UL@3kB~AtJss zuI$*+HvdPn2;WhEa!G-eLMxgTizT>ZrWVQ*KB}CXT&d=^IFRdR^=0jOqUE!floyG) zACP}tw7PfVDTztBqukJ91M|tIh_5uQw$@V%J1IllR(F||+^gj!>ho6h6n!qr>j&eyt}PBPgS5Ai)PkR*$BH-Y z1qxg-7K*u}Bka{*)wWlVpfYGiZboth;Fwc_vl93DQ(ZqR?YIg-&&Cp({&|?Mj%g=; zl}Lc|Gg)tb)PVdUsF}O>%x9IDWJw4qN4D!NFz4jB7?0P<#7#6k=WXR(8`fW+#Ic&; z)4-ozx3nx_Pd=HLO@gafzJuQ4fDAoPKF#+*E#lopR2uA;-4+W_^snbH!&6(}httO@r)_ z!Q~G(jzO*`JKrVRKPzw3z8VMP-J^(ETU;|9nN1L{$(!~kZ2ujO=7*t z@FhV?OwwuGxB~K`lC(${lylk+L_bq>){-Ws?dz%RHAXay_zS;q_a@7V zs}~KA@-^QXluB}qr`2~fFx663QRl>(xn~=#J%C{F*V1pF)yOp;OC6nS<3*Fv%P9t` zKZ|#qwZv1?4t89Oot~zfSv56Oc}lJq50U17p1J`R0`XUn8cMic;KT(fCz<87wPdI$ zJolJAl(Gk!C`64S#Ct$R!1!|zWk?*q$HJ{A+|-%#LY8pB?sso5#Z*Uzsc}-fib>L}q5F}8eR}t~xaAb}335i>$}#n=u9aPx z36$zoMmIcL1Ha*}FE`TpxiHhu1hPS*gD|lIsRL-jMWEFU`{&PL$9IoYf|qAF+YM7| zpRlWS9xOo-dDwvl?h3kFOPLbo0M9V5kH1+WksCf5{8Dfl7Rn$w^AY4&5ZuE75~?!D z#o2y`dwL)G9*2=0y}NVZy&`#}^K8$WIcAGc{-|HyPqD?A4(E^3*^?#Bfe)9EN6}&9Zwruupxg~v)StD%--`~x;s+KXmX58ax2JJHn)Q)R38b>K{721z z%;N2rP+0&=aq*a;HN4Fvm>X@dwvlogkC2dC>@c-hbxYIFmscpb^^J9TW#u{Kl@KYW z6wPO39{Hrld2W3z>_#&#;aw?UjrWxgQMX)CjXxy6EU$9tNC!TD89tLBwogzvy_MR5 zvg2xqoYRBL&D}msCy!W!{}KgPg{lL|8ymv(3#Y{pK0*<+>R^rzG>sx%@Y=~LRqox> z%}Gi*Qaz`@Zei45zWx2B#XTr|7PRzuJJXYoPpH8Ge`TGY`TmL&$!b6Y?+d7*XK!F2 zM|vibL)QWc0#RWPIzU1C;yL%izTT{5Y)=2d zG#@$rPFatPe9<`3xv@S5+5YS+ENCL}64jGhnzLP@g(4*oan#aphrA^^EYNt`!dJf& zgwC&>`~l+8Wr{~Rp%1V z!y+SOuMi!1Io>%gf8)oOIpMaQ&0_IpJ;N(F)siP=J6-4bo~IOaG$NUD}bl z6Q(1-hY=_RJ!^0pTodd$sc^Gf-R?A<{~> z0wU7gN~x3xQi4cJcQ=THq!@GH*pQ}=f7_x*myIcJ>n*KZ8Q z9&00Ot-02m^Lg&)ey;0tk@;!T`%};6t?}|>Vq+!!Jn_}`AMe=VGn{?sr+hq7_x^gy zW#;hW{BUPq9ko0y=C$u*xyE>-5`)`U{ALOJxDKSC7HU6R;d|!tzAFFn@YF{e-NStf zYYJZ0{xQGtBMdiN>?F?va~p2g0)keD={b?OmFy5?LteBUpz1qgrrmg%=|krgs%99bE7#m`MofMDTHh-U5IZlkZ1;?vf}&vI zc!Q~XRn+XE#l*K~x3;EAw2#)wM$7Eay&z0$UfPzK7?6r#6jQSgB1Vb+6fJom2EY3cssmi~1DnbUjVV>VX=b?Y&W9dd;^Z z+gSS5QKxISq!&gh3mj1w&NputC>GeYi1r^BP%lI-MQwVi_!Cmad(78aSRcC5-K^E5 z7pPeYy;6%gxf}jnxO9r*yfbwadKY{8*xQvdhhz5hHNxlws_5@LG-Ar4hL)WbVrh$F zv!6m+ivk^*d;ZrZ`EZ=nUzXdSAF<#)kW<$kVj^-v-`9`Xtv%yTXyn_f!OMg`x*IXS zVG?)k@DY?o8T}nD^-lHYqbHuo(2SS+V8cA0u9qf%J&BbR>P)+cvXu)DE?19#3f-)7 zxtVy#q^c!zoH>n3V!`UR6^ZcS8wgtM;tSQZ;%g&FlWu)HN7Mo_SI2(eQ zxfa5s8IxjHVh+|{vh7{7iE}#oc@Y!)yZjf8_AUX!8@C@;VT-ph)_KrMY8(|y6l$@Z z+V-nw%uGmoXKC0^eMD0DtRq^ZoR{I1U-zw5(M?4cKXfcwqr|B;4Gy6^8nF-zCqX8g z8Vax;+StOIe4_e_7eNBbA*pjngVSvOT zUh16BR&*2;a~sz$7Eb*^>Gtnf|4?ogexgi>`Q*e z&neZFBz14=TN4v=&5H@ zQ$Aho{q9tI)S?0cL6VZH#iS=_77gA4 z*6R@}wlX@5{3B^gRM<__SIaXQC{KKnEt!mNIR+L?ntN?)&E3|Ln0e)#N0u1QgKLzD zDqf9b6N^HWH$1iKc zKI10wMXADhE@J&5t1>0ic7j<*+tQT0g%Fp%%+!tQUW-Mowt;kh8dc0C%MVO*LLM#r zW;d(!=O&NUSw30Ju}m_CK;zg5ltnCcr<1?sBPy`oGOEtwgkC4HDwuoWk0MqDS9W%PDN>;jYG8LN`Qh z|F_%{ntr&#G%ds)c21g?BD}X0Ck9CD60^T1i>erU_zpPKIci+{dE%(S{;+jlps|W` zd}_8zqEiJ0_jh3G?BfHKgsvvrdpN|KJGy5qMqn1)`4aGBUOi*x#D(XYk5Yk9UG`jb z_4iJ)@*iuQPELhM!rC8XYOwC!wJtwH#KqYqV* zuLAi>Fw8YCCms$E5evDu)t(BedxLt@o4LESxvAJ2Tj00d#TP6n6G%m*Y%clv$7Nv3 z*ImSIV?%Df-#?*#=%!u**ShRPLtLAzY~AJSb=*wcoQHUDXa#+usDeZjiwqih(@&Wv z>W5JW+&LAG66czY^D@#HgAeu;gjEBG^4Y zJ%3nO7(e8bJTSj$&Nnbxe>j98^VxPw;eq(N%Y~l!;n(JupsQ{@zf#mQG*16^wq13G(j#NSz zQ@A2}+XK+i?wbZTjQ*#jW#im0ztsJc;r_#agtco_=rtDV424@=Ji(~Ae(X!UZ^A6r zA9SdN_PwLEsc*y6K7ZRJs#+p*yz-@FVWxyYO5h9iGD-^7w+@9|r#%ZPNpi;L_G8bh`~b%bc}81ePOf|C4lO=|w>QjIG32fnzL6tI4P*W`enmCc9nh5!K?I`xgd zN+fIv+dM0g33VP*MNGD&!M=_K{uPXSCP#;MxX`|fj~!VX^Zs+F;Bb@St~Fklj6d8#3gDehl)MnCBq<2q&2_A6&2 zbB6N-d045&cZF;}y+f4OT8tl-dr9zNBMvnU zbv-_Ax<1c)cT|FW?xS0sKf?Ld)S!0XpS&7z_Y1jHmmjW`t8#Nj-(4f!uf`p)pzn;h zV&0uRlN+>1f)3m52AVZBdfjYb-s6#tPbqz{bp%Hy`h)RbMqAquD3- z?lEvh>o7sD9>mX+1y{HTOW1eVz5K_NP9fo_AchwldRTCXbd*fpFVFi^G#lRG&IEP4^mu-m;H zFNDgtn5CTb2zHT^J`30k_b0p9>!VBF;OIY^mV5mvmhm<-A6a(*m5Nxrf-W~PUty1a zr1z_tNu%~d;X7Fz8%Lt!4`ump=!Y=ZWl!QyJRzOF%_OGw;hj41+CB6G0vfpk^Mi@V z0a3%9mP^;;L@(ZRU!KAV$knMmH{!Y^Q`90rYrql2%t0!-9@OL4kli=iz}mVyT<%*v z{7m_-;>mZSseMBAwOUFHet|>7Q#rOuIAwa263&lzpDP(`3RpY%93I+Yey^c)xXPtO zD{RjI3r1|bCD@(zVhnglyYVgdaY5C%`{BJB`WaWc)53J2M>|v3l-_RCtV`w}-siO) z$8VUK@Jn(maUtJHYiRN(bR-gH`nwn4Fm-q*_t=^$FReOaM97wL?W-Ea^7u$`sc$bw z-`KQ_`3HwNJ@qY>HQL+*&rAz1q|!F3lf~4p#qw-A$(1~Ha`d6D|BZwg>!H=c8h3ej ztMEpTt9;|b(YWX78|oOSldZJ3l)cndD%GnLpK5+amUEsQ4qUH1ipf@=`I_OLyP37- z5D|i#@WMvW#i?5xZC6|Pr?ZWsA(W`Z;_X&7YZMH|=ezg+z zTq2V^-XOOgt~$fDwU6(oZ17{3&K^6chBhSdO(Lb&xce-%J-+o)(bZQX{lme|svnnnfjhIbLzPQE3EARpj9^{OrW(pcq>O&*_X;=1?N)BNOK zZNmze`5nL4p{OmL_HKRooFLX%^9Cl&H#Y*Pb@=>^M5l&Rg!QX0d|46=bo`FZ+`g4m zrY)XEJW4t6&^lMap{ruHgRE)&^ts5gniM9=!qc|g##N~6Ld2joq(MuwANcJjypD@0 zmdd$0>O=H%sb)u0XqWs`h}rT!gL2~2c%dyZ4c{d-XZIETHG|;7W^SXOWb(=sMwyPRA7;rhfjVYHdBmZujF|i@D15wPP#K^h+n({&qYI zA!xf^GlbeTj?BJvd|Ng9OZg?QPF$!GwDB z2KQ$1$gDNdV8JC*;<%?)4Dl+-J88@-A^jqJD0`HqasODh)vdR8^Q7!;zDGsDKx2vYM#%cM6WtZ>2k@WY$K6Z z(G~5-ueI`+M;cs&4Kj)HrrW88P4<<&)F!_hbZ!N7Z*}Tm6XPJh8*ySp$R?|Z+9bRu z6HPuGpWT1AbX9JAOh2;Br?Q8SB~rcWZmD}iZlt8^A%Ayrwg1rOiy({cNWb+iio@+$ z8th@uT|@Ni$yH(T`6FUm17R>sMow z+u|8%*_K8m?htNSY6+UAtq!C2nRDUVSRQmAwIxWLIZhC3aPMp!Ft6`S__AptzRf~{ z9RgnD1dEA+bv>s@!Rqf5jj$PBe_!W3hhlx9_+zxyD>4I<knKHqG@4gZvpGwx=6q z=m8&N;fi0{yfwXO{>sLwd*6=dzPCSa_biaI0zgQExAu^Th{zw@B8h9D5;X)mB{XI* zkhUVG@J6~Ht~^7^xJ0bS=LzMpDWYD;!2YlwmyJ~2!pArnZGB&*3Ag1!LM5STE`EDe zP59*U9MOC^M!50BW9H7M>n=fNOuO2;(uH@Of6tU<%Dk@WLNSYsDM!?4}<6OE|%Xfpk~p&_N} z?&!iYFCMX%j6J<~n{iCqNc}gW-I_iLBsqjcwM_}=l8==I{KyeY)MHxmIZ$%Gj8JM7FQAnu9) zGm1=Q_(DCkV z!1{PxC83inE5_`H`>UJU5}90r_B#(n(6O{tKiC1ie*f6P6rj>b4&L!O`Bd08f6 zz^g-{XHw}a35x+Xh!*Rr)8a!NpRpiYyu?Hwg1MSGi+X5wsogm9cnoLv+vg6QjagoG z^eJ;&ER35CyJopYDp3&{9FJ2}9ZYa@B>p=-v_I;1>`dgx)SFVS zU)CFl!WK)7S#@#$y7_~^3b242xXm^_!z<$zo1CPp|Z@ z)x-d}!NmR{Z2KfC*N-0QeYCto#-ZJdc^d~GzX@bQXHq?mP*(-$A4$`NuqIMRIizeY zCtcOv*r&)nzF^{^{is1CCR^J!_sFOsL6@#3?K`QKp>69bDy|6|EAg4a{^5@J57(hl zfpEhegLjb%2cOnA2e(@Be!SHi?2h```Ei1SUME0IlCg01c7cLYtkQ|C+`>`o#LlL* zeWYul(+j2jc2U!=1obx6en0%H7V3$M3cmWMDwRsG7T4xZ9=)2&s{N(17Y~S0y}PUN zD}7oTALprWG543u8^QJCk&Ro6LS4ExCxurE+zi?@?C^%l&zv-OmMcQy>EH!7{F8An znYF2tEsWaa)gdYlT3AkW__Ydyd* zHq>t@F?;{a?V8C?qzzE3aRcjuR1&~du%$p5AOSmY5mW*T6LpoAHd-G$Dp)CRN*Yj? z=bYma3yJ>e)nzTN>48$ucwmvPIuxWLApHXL+?CrLNm_h;(VF{w9!8JVQf=0T^`w@DUNOHG^bG1`MyGb<* zQ5S@4GjfhOU2jquDH818DD=a6TyYMu>80hFkC>-d&V7Zaf!!8pjVXkH@v#&O~_&gyrH!PQo zRD;dF!S@%GpW%P3@jI`-;~m5)b~*!8>-Cq$TqT7rOlfSqcFQt%$`Q%$Bkv^0{7S#c zTd{If+gs7jm+9)Bb0(uPvqzbD|6SJG{XtiEq0fM=A&$YVsG>1uS zB3lw7rQ9|R44r#c4<398wHxQN8B{M@c8XeJWD+k$LjyqV(9E~n<(&$74_tjzx2^ll% zDR^!*@j}qbn>DivC!c#oCj%9mxT5)!LU2a73_jA8BKt6gNpR8fnO(=0aQ1R<={Bmg z@4i`(D1W?GUFmuT4Gm5H!KP9GY$QGy5FBiL|LT4wgKvx>i}J+dxrO~q6@o_;#V2)g zwh*3a`{?u$X@D>binMh(TLjt*To<64DKzc+u`70N!&EGf$X zMJ82TDY(fEsTbO-4eYXSXG&KTXD6Ivd99Q%I!Md%*}-sNwtIf`(owLvuIO#jmD(oP zh5}7hLKS2PNY+=fylq|k42e!-H&J7y zx9l#aJ3RJ(K|~?xd3yB9A+N1qsI@&+!}&pNK;nmE6Q> zn$G!rC|ah@ zL?b!uT(G!&duvgy?Cx8=9n;Z@6f#w}18y~IyP|6K3ijJA9uTJnD7Cu93 z7OWmV+ff~Ut(^VQx01AOeaCCX@)KxZwp*bJ&v$oF)zplz#5WC0)No zA?wib^de~Da038^%LwMr*dHx+j*0vhF``>X9V(Nh10UY2KPY{F%!p^gMK9QRCSO=T zxiM2H$@~`&4uI}FE7zFBTHb2h!W@m0h6b{xJ6c{#orIKf;qZ6dDqR~!=v4(&`sI-{ z`i3nvrRPaP%hc#5!-Slx(iL^&iumVeHEn+P?_NNtKe*2^Z#@OrB#IZlz7*Twm&jQ6 zUq5Ty@Ne{w?lpY9^B0ol-+y6?a6ix5KCwz-Tl{y+`S;_$*p?FiLR$WLGA_cl3_#eH zea}zL3Jcg;T#1{YMTG^8Sj(!{^m2(k;2P*P3nI|xSW6epbY;Gs;k3*7K-nE z=bV3i2Bw%^%>Fc_L0TpXW+1IvnL^dSpNSkNEl%4nRswRy&z}AphV=Wz>(p@{=)qCo z!uKG?Xz}0ifB{~ZWTa?>$axD8x+C*nEE#uU^qec`gn%+SxZ0lmcf9H!IUzVFx8^31 z^LBW;UHqS`_4k!)Pl#Ul1pe{H)&C;JAcyRPdjZu3yBdX^n!Cksme01 z{zWtT`{e^d7*JQ?I%0bZ*U^7y8`!4s%Kon_@9*<>4i2Y!Qcywi`t<+u zR9bjynQ`{>$>;vacG|!1KalVt)FIbWrPHjEXgdGnrHSFBMa4h9EmtRj+Xj)9|9*CW zEO>8H-tK-a$8je_i~LW*Z&d&ou7pNSBR^mHEeynMsCzF`IURCWzBRF~*VHAQ;q+&p z(?&=2x3P%riL}Rmn*Ua%wkpV-fTEvC?ED8%^}=OD0#u8CAGN&@$XixiTTSv?Nwtg2 z&H_WCBrO2*r2bY2?lpLb@oZp~!1pxCkH&13(bQ8?m+|&fh(~(-NBq`EADjZh4W{n* z-(S)Ne6+29@rlBaD~V_R-Ctx6JEru4f9?VJ`mMRj+Noatb#7#prOW@^0}hChG4FcL zFJKAs9R-xJrXxDlUw2yrEKrht$^;8C8 zxT9E^yj}jqbsCeCeuWT1(0U+Yb$M?``(Ka~5VS`5|ITlTf;Vj?zAo^eT&KT8qh(0I z?au!QxYY~xN083{8i)UVJ)pWVO)7CN(80yjWSpP+&omx<_=6_z? zp>-I<_LQ+l(%;@a`R4`y{9PFl9PXUmqnm$z^Xq{E@du7G&)?kFF}knAV~$dj!dw@o z2wQT0NPVLG4*Nge{nsTAHFxatO}EB4>(AQ%3~sRbl3E7_x!;$v-f_^9(dnBem4jzv zMb=fNCI0g*VQ%n7SYcd+mRgv=ZxQ(S>o76KaOziZFSbDhM--vdAras~qF=XEn|NA+ zd?gxOKjVrK46cjcuJkDY&y}g|4v>ZshEAt2Xb;>)(9Zq}9R2;0dO>wS=~(}E*Dgak z03As|SqHX=tkqys80qI4AFpI#2c}PjWK$gANbHOY#1TinBkYFEn{YjILZ0=X<90tA z0B{sa!z1V*O@Kx$0K8$oM_XD;-zx{WDFm%4*fn!;JgeVnWCu1sCZB?>QuqmJ&k{a? zL{I5x7qI83ft;_Gc?{%{G$M{oPbUJ5kc5cL6ktP4fb35xs*p}%`ltWh=fNZwZ{F`t z7Re+a1WA>EMe#f6WC^=0kj0%7hdHMtWK8=kV%=WHZG&dR?_nrlmpO*t;x@u>$P5B< ziV=|Q+^3&u*&l4%OntmpV1#wgYgyof9)Jv#L{j^*RHMOdhz8K#tKfrQ178!;7Tc{o zIgnC+6asx1LpWeWyOdyrm@N53zIZOBrEY*KaVm&VvJUodK7*%9ugo3|x~2-?Y*W?+ z>()BtZ=e#)Q+bx>Q3=TPzgc7X%WX?^4sH7H*<69B?dhdBN^A)PIwF7nJ_CztY6QR+ z1Mb;{o2HI~+E9H3{JXNSwYLt~V#Afua^U%u5jS=gS5HLn-Fn@3w|k$gMd@+w7{t)T z+lcr7)QqN+7!GB%CJnb5ox8fg1>~#xXFP#2Oa%or znoN6mgV+l?V&=26m_1RNO_Nl4eR#-jY z23Qu^xy}50zco}9-ST&YdEFZvy$WYs@Y3=KI@kyf=puP4b0eks>ugR`W$h3cLY?G5 zwFln0u6~=mS~Ft$G_NlYfS)PPz~=)51aU?XoE=hrA-N|deuVJ-%ztDE3r z#tw#zpW3r|A4{^Vfir^#T%bB|1)n{i_c;?gfn3k4+J54i{W5=kf^B{b_VDc!Gx zRItDl@RXInUsG6A*Pa|xC+DeT^tepkd8a9`j9_MAA;r>dv6TG8R#nUG{8pwv0XV&w zMvQIWoc?;5pJIwGXfR2 zuPCK0JJ?}O^G5f~6M3#c=Yfe(meiZeHN8M1k}2+n(*tpja9?AnoTV3aW`pk#JN&^4 z`Y~d%PiY#G955{MQJKvY&YDdY3jyzYqQ0zdv{=0QXpzsi3>!dJ@VU$ttc=&zdK{4p zJs2r4R(R_+Le^V9g|q8E8p_Y`_gDazxj8zLrjE+Mv0o@N)!F$tvAAgEN>j?m<_i!M zYXf=r?nHriLx-Ird=;L#Q+i`j>Y;st2fF6}Scv~rHvz&I(_4Oj0>+HjHjA>$V-?av{=g8&NR(EMwoSCcFKAq9l5rs7s5({K3N@5SUB_;8zYyU?NxAUJekfU6sZ8dgXx-FVlhZ6G$vUsjCQG7t&QTm%hH! z>MC|BnHIhJybKRn2b7ckkBDLwoL(y*fGa`vDmL6igOzSvz&{Ue2tJdv{g|99%I9Ev z0 zqfGZmhVHpG3h4cFF~Qkhb4CY;C$>Zn+*>?-m55G*TFCYx4R(=Ms-`OT4Ec-oiCZ8cc7Rt0$yk z{uTduUlE6Tp_6sN(0eK?68O?+;7`TO0!>UXL?=#yTmfZOg|NSDV_YF+hTD0rx1OT$ z;}Aq9a626Imf9KEC+;E|d50TSJ{`IWD{6lk6G4TlpU0Z`!=FX{y6+r!&@C*CqKa%r*~5 zedFkq4Cwz$sR;`kXdF!B-mCIIHJkOvIgQ0o}?DE%s9860rm zy8Zhyc!5wE3QOf5{VISCh+~@ntd*Eh%ka$VBhvKsUk*MuqF%Ot?goadux??+F?0EQ zK#e87Rq>~;XGQ#huPd_=n-KCNtw(a}?w?mKfT$>1E0df*ix$Xd>HiyZSjLVFEY*C4 zP(=P7H^KYShSuQhfdm#`0Yh~oWKo+> z!dw!e_Pq`7d$|)fSlU}*Kym=1L|>+9@W;=E9KGFb!=dkf4n|nO&AAIj#8i&eZ@8|l ztaN6$zZGej!vwpne$C3T{3lW3P-Iz8Ar1D@>(+?fs^uY|KPbV()C8GK!H`)#37K(C z0H{{FrxB8#p8mFwp3M%JGU>ZgkctfyF0-YVHZUG$R)Z`jsTjb1Nmg3IVE7<|S-k~z zlJ)Cph5#O{>`yqnyGc)9YhZ-;NRYd!SiD2zg)|F=(#ib#Rt*Co1r)-93Wym}kU}OR#sCA~JuImF6{2WFP>YL? zAvi-pn^Tf>ud=nZ6&oK+5NSI|)(3} z;gDDBut32=p#{nM0GK$X+Ce8@PrTLhFb-L*RahJjmOHUptL{T$W2ZoEzghbe2!`jY zwN84BLqIkMwS)pp>{LRw$mTR71H&npKLrAxFGC38DUKrWm@r4dZz6%x=x>yOp4>$T zImVFtNLT~elFT252wL03XYKbkOs5R9N-IF!z_R#p;2uV6;+4CCPAQNh@S`(<^sgn9 z!~RbT#H0Zs<=9M?eHw^7vyKR{U;#``WYc~Dp+rjcASvolmMHsPqu+HpI9RO>s>Og( zVv)@}=N9JRwn*!8aeV6DeYFl1qnnD;ld;mt0>7JM?oqg0V!pq(LO||8Rd46Dv3v;2Kx3#KP=l#H+d5A< zbiSCZqoHAma?MS%DCS+7-GW(Jx}Y~#htK}~J_K zNI1f&SLP4Z{gv7mT*3b3lE03Jc!))a(Xqcd}jtVlaoFfP?_#uCmchoPhMx zpU-@d-n@9Q!(Ny=3#>$$1bq(%VEJbl{kSAa3Cwz3xKEeA4@RW7Xwk;<-W5$A_vm#0 z$VD&tcxXAKAzzIW+06rC8G6>UB5t|eZ)%FSauv^#S?a{zzyX7d!tqcP^NDq9KzY)K zmnX8x!}fLkvrpGO^!@zp7JjrCr@Ytm#BpYxWB@HA$>Q1{O z8Lt@2gynm%EHp^izq=MeI9PW0u*gU|HJ}0Ll|{0_FHfM`(F$AYok4X7s0j(7fU|6F zmh-`Tw{F}{Reb&7P@MxT_wJvNtsMHe&2&=QpFg{3uSu{x*@$_!7e! z$@d8VSOhhd)ZgSWDC8s|j8&zb)f!tPE%?;qy`-z^y-2ZoxA;iw=}oaOzm#b+iAm3| zz?QmMDXme}SQZU>Wph<&EJ!JmhrDsfR^NE_%M5$#+}i)TUk1h`Fc?MQ2RkM1Q{v4^ z7dl^3tFk)#!%nyRb@SfUv*FU{z>82h)dmISWcVowVZD$Ce)B)%A6So^&xYp0)EnZk zpXd7)jYyb8WVNFE8g!l+aC*!XTc)O9)TWCXghZ2H*6h3h^9?TCw`dZB_`u%bpBG>2 z;O}w$aPTodr6+l^%W5R3i>s=t1fyCR)+bm4zME$b5#wbcBmr9HS{jQiiJnYG|fArU?AlB9ch<%H-tZZ8#e!D1_^ ziu|5C8sdetu|FSi1K$nRd2YD-I7jonWoE;sCt&X~F9;=={DAU7JV9U%LH_{K=y6gJ z80oVy=h|yr_eolw%|CW{Gu8lp8lFnOv=N7Xe32A`P+=kRC=4u*|95V4l3Qyua6_d! zaS4!cG1Xc09A3MjwhJSEfWbYHLsiMWrrd!{@<#(83Yfn1g-BoG?n5U_)}W*2XJ@}` zcJO6sIfb)M5eGwUpJak(g=Ye3M*CL21p<@>;`T+1!wvJTbG18m~?uBk>2mPTrx@O#UUlN zpmqF^TY%IeSz~uHTb+k8aVH-JJ(VN-E+od(nX>()<4XxpG;%jX$v=h`qtJnpJ%)Vd zP(Uq)uxZKx$E~M*R<#(IT$DB(8(oSynGYaQ9F27D$ z+e^OL%{BAW-GTPwvRYw>LpXa@TA^yVhYGFf7<3LgU%30O&pNBC7*9KIpkbVjKl`{ zmgaid=zgmf&I(JD@cLFY8Li&5M-)|Cxm)+d#>w?@b=9MzjUD=)Z6(?kxHeL7wcTo2 z^&}lRo!Nz3|WzLC%&smRP+k}d35lCfn?+vFV(;;-e+wX zbzijs{VP;^y$$^ew&e3a%vYZ@SY~$;2z%gh1T7NrS+*+83P}g zX#NgI1?TgxLlOoeHqQu6{p1CrIn9}aX^Kn32`l0(lDF>DuCR3Ta`d=rw-j=04s#7l zXLJ>Mv(*d4(=gMY0w36i8wk6M4ac5JFw1RoHli=*Ql3r~U?a`SVJOn7dqaLWG!;Q{ ze4Ng0P6-4_=axP07}GtzwlqIHr|0I9es&-5$0_QzM#*~hTpPySlx8(2d$<4Y1#MyHx_Voa=_I=0@t%D7md{M?WpIvN6l^ox%4XO0gycgXyD9B5ocn}uvp ziT2-2b!SV#;5?8AQQ zhA8sZ((m5q@%99f$9<_b{Ismahm5G%S##0hTEAM6#Wf;K8mS)TtnI4<-^b%GjU|6d zskz@a^9UwX?5r@i(L*dgk(Qo>QW{3=1qj z%reC_ASf8tthE?$L5jC*-B%obyRp&ErU@kq&vgAR$)PxRXc$bT`hZ`R$@-~PzPiax zQp0<>q_lyl)UWFuqFnTWQY{4A3`ccBH_t&Yf#k`lEIY?=afwCTq5S>7;CIUCC2g+C zivU1{MHrH0(o~uMZ?#1TDXLM6zyT&YafE*s>feFDt`hD}&^~(b^iPk0iHIE2T6G(| zoart@4p;jdhs&H=8&AKUC?kc1uv^95LIFwKw>E!zAwo>jv0XyfZr$G$h_f}RP>NJQ zS9q~f_tVV4SawD01At@7Jl1u^w=*;47?8v@Vkfm69N4t{C$^0!^^}~TL1PocVFZ&&kZXtrB$P8lF%bAuH=niOuE*4~jd(62HRT(rWGk>lMm^8*X7S_Wtfre8?Y7!**?y3#ZT+BT}C z>tOX$f29@bHfU}jS2(3hu3~+U5;}4lC04!bR{<5S{XFm&-mLqSw72(Re`W~jhuk(P z_2+NIJ4i4(3dIkz7&ayxDulBl`C#m)$lpc`vsy_;cNv=+VQ2)}Ia3G~C#%AnYiwJN z`fGY0nvKhT5VgA5j$f^d;ba@gBK|Vd{t(LgB;A1&Oq(}5cPSlGOI2>f8T^>HY#T48 z0R~Uq(3Ow^yBW{dolnj;i%LWRnJFVerfMa%ipni;mBD7Lli=!D%Ts}~Az~WdSy+xz z_sA|9ytQ%6ORM>@rak`0+rGQ;kRjxhP^^7OPFjh=HXfGJ2|0~X;!t_cdHL$kT#NvY zy8i4k2JikX{#G7et;P=PtzO1Vktn5R$Ei;RPQu*g%wJ|Y0ypdguXg7gzumPxldM-s zNKX4Q*@dhs8a97+zB@%~BP~TH#&i?pwujwTvO%z~W6&@q^|d9;)G#~JcJv9$7TZL^ zGSjWunpe-sy`1&yKF+JhKU+3RTSLeka7^UcUdLtLY+(a2Y8c0xjRaxB_Ai;-*Ai2$ zRV3)OGV>GUB{#F}>=!p&LdW?CEZTc?}W1K{;i=`qChWy*0`oxs&vXsc-t3 zS$wy4v7EluAHdGqc#MD%ap+xiB#y8#MPF6sZvq`rpXvl`j~3XB2(HoeiPGtGD`GeI z;5DXjRsKV%dn3hZHc0lBY=CSS?}+$ZP_l>26X9=#-dpK@-sopUKl>|6zjkbPBw;zw&QR;N$?8Y%s6<~ zmAAaN=;XpVEDCJ;Nt|eDoJW$49ouxe=(A459tLfm@KJ}_(A5wXjSyU2d(U9sB`8E% z>BGmy0<9YGQ}Hc+EN2{{4GHmBY-?s4tO{&DW3$?F#ff$ZfNhuCbXy3?PJZ56O(;BF zY9}v|sTbvdTy0A)tQt#2we6|A6Gs!67Uk#ZAj4;*(eA?|R@iL3huQFW5t_z2=p)s( z8JBe~-$nY{sEPj*tm$)UT10E>;cAvK$UKEQjY&W+i9dp%zD^4%K_Wfc9oXWrC;wwb zPwewxsZ-mQ89I%hEfGWZi|{NLLn$*>Otn8e=-yudoxL+gzC`jKN!#|)!Mo4M5ita$r!(yC?=!ir zjPjJ^0ig4(M)s4DN1zul1nwBiA+(le7%{MfBu021r3dn`#7qS_2)ixIM|2e3U!A|~ z4s9c1h^V{wMHMiO@_+Feots* z(D!cHL1^eKHotqjnNYDV3yc{}*a2nMeXL=@6}45N8X~;1!`5Kvxz%Way?Ol%%eB+= zB$zd#cnRS@(A}ha#*3?nhhe6@foawM<{x^hG^Th|9Rw8FJ>&~!t?uU`9$CRdbT%k= z%H6s;I=-w0%PVqpGBl^>f>gw z=wOQgFdxmMP%*S<@YtUNUbigWfpHY41?#*?gld^FAPOn2y#soFU77 zb>x+_{f#iubhy%c4quQU#VThEwiH2tO|MRxMWB%(iS1&Fv)6GBKYB>9OFlWbnQ9k0kn^H0;qm~F z-z@Qxs1Mp@1Di*ycQrAZ3!Jtx6id^+S2(l}Je~MCw{hm)k2x=KNa}t-TfApyIIQb3 zN0yqe(XT;$tl<)Iw{}EH!2I|`;2nPW=13G*wRzsC^pIYHgQK*9Mq3=^;|d``7iYM1 zLHj#EJL$go_9EN2H>dGF=7#$4eKVe}yTNuMPpWZ}g8^)$``1b~_6okLtvsJ{!wOqU z`-qlJJ7zUre8~Y|nV4b^cT;OMgVgh>RTqLS(>}Hi=bNGWTY>#_tX5r!ZCvN>t;k zY1&UIMG3&(+D|h80#&SEpB#6_ThNT&pBOw)edT#fLs8&}Z7I^^7%Z;ClXVv(!mHx^ zhWX9M_?O~>srueNxaa)-)}VW?RIUNtMJJP{si=yMowT~G^pUd3H4caUz2HS5<&<>P z{SV!N`U=9#WL`abycyCn#Vk_UGVXkiBNIcC^F&L(a)R6?1As0jgZ;mlf$IuyK~0{H zeehC7)=6}Wd5bQ1vo??*HdQRWY)Cdjy=CBRVi=10YPVd3f>>qaWn0$U3wt1o2>nm<+of5N6`L1x=#3vu04Dp>%H`JM&H_OX0`haj~_q#^8xq# z4uaz|Uu%QCpG_L{NQ&wj@+ErmXAvvJtZyVhyeV zO|7v}6Ld3U_N}#2J9qh>56RtecXnr+t*~R-7#>qcvQJM4)GNLBKu^`jj$$IW93G4zjHFF8n&q%(HVJYV-6ZHDXoOW;1)fA7Hnt9}#bl+rjynB7; zy!~v4?eDL~jks-UP1dQAC$Ff+hYv^b9(@pyNO_2OfoKA2DC1@FzOH`9xH;!R35RDx z2_vjwgn0ayqkrxdiB3O~bsAtZ`zB#9=!C8nmDZXkrOBW$-N2ZjMpG`BJpGEzsL;sj z1YlhSYr$!#@e*Dz<<-lDyhvr7vuwj>=z9z4c~R1b;Y;=@^SA#}bu^HEsQ#%NN1LkD zG@x@ktBi~JO`})J1-w<21(Ths5m(dk3zGNizWX`fE=s9@uT~;Dc8tZCUo=gdieaqu{ z;p(^)Tplx%9&58x80%i;zSo}%V&(V@cdM~9#o2&CQ{h_t$(dB@DD}ndkQ-;J-Ej^G zIS27ow8ljYv5wykOYzg_7GEs(fS4)q052(?2`BMG-NxUY3;VO^C9Fw{h5C(5I=}0= z`=qddE*P5Ys6j|)mOdvO6)StE^{3? zY_d1WCXeh*(XhAdExYWQk-f7C|N9s{J>TE|x;|HZigV8UyvM!o*NYEV(^;xtfoKWp zbryy;g+r4R02m&r!+CI>#cIgdkk5*%YIL68{;Q$GC85={h|kOGV+U0`Zt?}^xnGdx4jE%n@R)5H5d ze#ElQ&S&}1sEt*pHGaN5GA}i1zN?B~me6MRI0kw*rji{42-Rv`gY|@72q9LUN!v4j zg90}xKHRB{Au)G+3#sSLs$Z6Pf?Gb<ByQ!5^J<$;@RUQZ?JO!P z_N3UX)?NRn`(@gkTRU47!UlFfO*_}6$J_~c*~Z5FqguOekI%?coh}^?c`d`KVyJ`0 zE5_I6?=vY5hJ`HceLl^B$#LDR#RmPg$owjs)R~xJ#~q4!XTp8Pdy^JFTO^9joX3B) z-~|~CsE0wJ;E~6q6yXv`PfRm_{HtODv*8-P=`GZ|q_=yynzAXa+X%ZKuWHwq3&z&0 zhWNaaX-lTX#V&KNCrxzN-oH>t_Hw``lsE17_m-$Tvlq(V7oUI4-_mP^x7()77W*si zc@N9*>_C8(qG4V&z0>*=Jgb;8mq$4GsJl+amZz>cqq;jgSg(G z9hvIlm!0#B*s|@Cp>{QhqyPE!MfZ!iBD>S21_D0!M3WQ8-q6`>usXlHAKU!acY3+b zFC=rA1pn$Zy0G~u_KR~-uHEHKVjrU;ND_C=^}1Y^bjLojo?UTn`4pa;(DFGlZ&=Af z(0I?7-Et^&^}V?^s<{2kt>ABt-yfDJ7w3MIANzcFYbm^2i}=d%p8u=X4CZ(+*5wRd zAR12T0GXnE3X7oWkmWZ+A}NP%i*-3(Rj$sP;TQN1dg@aBV|$Bmn4CJ%i5^l{?^-sE z*&N`|#tNRc>!S7M6pYdo%?O=Vd4C0LD}$1+$v};vvP{s&KDJtS(G0Yl`t5++k5Y>1 zr7FM7FBr}b5uEq=d28yIN7hI*-|z5YZ4bmu3PSe`N37P?$!e^#LjS%n?ae;kqE2h?%iso;-H_Kb=O_8?~z zPm7t1s=+vCQ{hawi2wL~%FxCq{;3q1(9Uf(DFMyKpLb@HGHBJ~r;j9Wg%Rd7bNImE zO`_RZw41pDD2MzKBeQXueN(s5w0w?42K@OPDH&@TpiVj#f)FP%HR9r?_BFa6E4$xH z>QZ^3E|K*}#uQ$Hlt#}N^6a|vSgDFRXRtN!ppA~$sZ%=}gTTgU)_h*r-Xu8NlXR@t zvbbfgh%7l~xI-a)7PmL_Bk|B^M$4|;T9a@Pxbat}GI_uJYCPt5`~Y(3gY(QNtc%$zZMLP~*7`fZSei8Trrr1yPJ z(`2pJ@V;#eM)$~m$BujD1!040o}`RtxB4qC>n)?8kM%2YB@Qi8jLw#g=GAmdlI2Mq zORkt@78v;Jm0YiR>ux8f9_*D5g#Y|M$xm&;7ohv zzdx(C)wrOOS*>6w2{ztHW6QPZVyn|p0Wr0bXSvjd<``L)wqHL5$M>mlBA4`OYut=S zjK&((ai7TgpGX;gd_$A7axbb;2BTX#j3UCe_G#SJz%d%nQcq^3TN@m7qW86>V+d$S z$8n`i#WrG#Ucopc?QGfKnPKiz;_PO)@aJYYwABEjx$nG)a3OcP&tKpWbVcR zQB=cHlrxuRTZC^w=(=z|+M`2mjlm$7K>n+Y$Lu2lz6e%*vkQ~TTRhfl1S2fqhk|13 zz&DQ<|LUN}qQTYgze^luGF+7?ST8a<XmQXTh;g&Iz$g&5jgkiv$qKbHL+3}f|AQo;MqU$diM zFZ%kPXv$S)E_U9D*r{blG`_8_o8e7k7@FyflGD~J7t`xVRq#^p-T_qZRVdPusriubitXxj?9;O zJ-%$SPoi^^SDdkQAeu}0rfwbP07(baDViN?mg~ycs**+(moiGcyct_HwMeH%h!-6P z5MOkxwBElyM#Z|$SEuPzl)rKh_ubx%JM8(SHTxD}nX`F1TSb=VmA;sroe!I+-jr(- z2D)tC7yVR-$rA6Cgd6%8&vlC?o(x`x(8i6dth)zM*`d6oLOkZ?LnoRn@_VQ{Y&VCbSW1=E^ z_%A5oWyc-5c@af$aOmcx32nWGSgsp(JvM|PucgFmugfpbYwpvIeIQqiO1MahkNq-z z!b+^=AiVeXia}t{qc8TEsrLELp4^FEaO`_Wfm#;l{ZREmo#%QJrDwHD)cMcUXK6AS zpT_G(;nMt9C9*LzX9aSa9CJdzExp2CIp5%G%q zV5i!D_3vguWOhXeR%fbWNBHF{SM*x>1V~&_BRa-f!-k|NTUTTz&Z_%V^ABZfIZ-+& zUJI%AZBfoY{jUz9PMR9O(God(F+<3k{P|;Rue)km16L(jB2fcGM;T_Mg==$kO_fkc zn=V$3(9lQO{N))AeI{hr$IsJei^lO)ec{&P_{>9}KGCiX zdbFVC@0?PwAcPYi5XaV?v{sYd5fSx4nsK$X-ZCAI?M*ydT>$CX^cFG*lp!Pw(9A=l zcQDJKfjanVzUKWK=}ro!ghwZy3oEL(VStzw#g9{#%!k+G-F6wC2Ye|FsGy(j&7uTu zdc9Zq$$_5B-YqL2&9@A{)!q5*r(8f>nv&tg@q>4~!Q->dWZ;d~yFQ0a6^Kd{yLIhm z5UDt)_L0i)5*fTOJyeV^Zn!{25yE02p%+NZjRUY_9Ij->CfLw(?0l`kzD?!!NUUa1 zcc}%3~sCRk7mf41~N@WDXf8OlkQjDC&q>}{8?#6@;Ah_~ag@HoUI1qo?yX?&w*_~DHD zgYkz?RDt_SRn4K_)w!ci{e(TWO+<%?{~K)1AKx48rQ<11E78EP!MD1UA%2sRXGPy< z?l%X)SRXcqUj7DW5L@e>@1+}ic*}cIkM^wiragx3Hz=lOlH;B9f3bBk|1&5NGUwF;&+3juF-4)Hx zvs*nu1xFvU4f;HRd{Mv^ng8)-_?7bpHd<1>Cb<%n8 zc8S;G84kf9M3!>U&weCHuY$^yn|zL_erD8{eCES~NcSgPw6M7IScS zj`#uT2Sr3am|jO^6Gs~iJyqJK%ANLhWW&Ne&+GvPl}-7q?D4A(hCm%c@i1>6phS$Q zqj8Yn+t{EE4l*RCWu}rQehRLsXUjN~(-d9eaGu-bhkagnOgfNN9)%J93-%%=Au_`x ztv3H<^1?6ahfxr>#`%kbiGPRb>ew$3* zG~_iSQ>JF%+Dqp#C1{as;Z~U{&`qn$dwwgtP@f!$ve=}h7z(L1_F<4W-3~G&YMxl& zujFwU#a4;V?d)8d)wB4~cYjN3^o)|Zmu=Y@!>NyFX@AwmC6^#cu%nMUIBK2~3G^rO zni!Sy>`yU&RNiIrai2SJP(?#B7G78WtH<17Fw?DiZt$Ff@fr2*4beh})l03a#oqF# z`4Y{t@E)w44c@;6Hif_1qM#9aVI`6E4e~E9&o)lAy5(hXTfcQga}P6=DCg6D!&St* zKmP~=oh_v{anZjo1W|&AAIPv0^o_bqp9DMyBPzc6Djdct%)KT-$nppbPG!OwW`B2c zJNvrrcdBJ+f?rby1Cx*apE^O%oU*QI>Z?Yh^luY#iPU~|fgi%Zi_g@d)OV3G3GW;l1RZGF0XquIXfdVd%l zrb^DKTGlqJJE2rq4{7fEl;zz^dekaqqfw z!g*bPx&L!)j|^R-1E0ei9(&LYQfnc=OID7(2NG1xR>6Apb+3BKf(w;(w| z8_r9*=+M{lZU%6qFUSIo4;J7T6EL{bFQ)G=X@Z*>L^?0JO$>i*$I>_>!q;}+6;5HjGJ=pn}&0bz95XU2(Z(&*GMZT=DpgZDHp5gzyi}^pk#+W(abz22N40Z z^p)QWKW{@MGiiCsIUfAr=1D`W?jk-Yt~6CgWs?RNdJsYeL%513R*|q-Uum*k@`d@GP#6yPpJ4(&*h>g+a8tSK?AxL*9Qj2!< zVzE+cW66#mHaiU8*;{iY8w$Bx#E?nc{;*AZ&_Y-uXut_T(ul9E0a3Iw)sfXH-^|xg zn}^J!6?oKIIL1YLOoRKL7tx^OA#motBjF(lI?O3DH@koe@!gN-Pm zt^SM>^1T3Z1w(G_gA?;&V-(!c5BozeGf7r8U#OP(>9cHoZCr+6V)V>I^*QfVNXGXX zKhZsu4X#h|WWQ}e+drwZVORFia$-_pyEbu~5G6Rg5Rv3y3cZ~1JCB5%JJqF2Fv``< z2Bd`EGXe6~8Rzh;s!81n^;aaNhKmfiGrO;Ud7xYta5pBd!mB%QylVY9CN@r8&{+l3 zrt2@_;KhIb}l7DNwPT0c|1oV@Op%(>A=G55w+(CKH8uY9&|Z5pXEGt zEbt2BL_!?;-U#RuM4MxNx0IAg>dCzrZ*AA)ZP5#X(PtsQs^=Fxr5$ENPwUBl5z(XM z#QrJb`_DGXgl^JMVfn3Z#=46_7WmxmZgK+lXSSYRx=PsM8!>GV-APt&?l-*c!7qOSWV{U0=_1XQGeQsd#%&-_i!_Lt@9Saj_eiqgc zKtvOAg0xjYA(D09-QxXybnJfc9;yU9J&PP8+$Q-#OddkM^h#PCgNUa&dJv!D!%N(* zvGZ>OelwZ~ctE7o)9!tQB8R~ls{6CB|h4h_i#%9kw&&ZYWtdOWyq6)%hZR=3wb(l0lC$~4H1StSbm=t$12WU}*l0k6M1in7AA zdlXBT82eZ*jNF9tR6UHPeC!3d3|yFgR!P35G;sRkR2=cKSaTB}BBqr8^ppCtY3N$v zsx~+KdK4D;fo#OS-UpCh)a5W}9qQ1V2d zC?P;$^n)H(`r>aNk9pY?Ejr~@{kt3KDKfJcwiP_Qx}Vj*8v>Hv?y`n{xs!hIxZd}y zC$Ru3YS)GXbL!;Bvje4=4bP4@?jNHJ4+TM4QERU}28}y@(2;_F^9H8q!aw;t1V^B8 z|GD@tD4iqFxc^+b91oY0zm1-S*+oF({>HWgFeRi;uh!&EGbHm6(6|$weYAh?h)_fk z9ugP>Xq=wb-}l9WpYfxpe?GQ2bW#8H>L4496fl<9f5JanQ2_>&t`lPkY)uS6yxVgb zd30h26S%wV{Ncg{+!CmSa&*>;IhIX@XHoi~gzRV@Mv&5Rm-vG}BZ-v~(L6?8bA1I; zEygspEBN?IP%N)*#2*hZ5J5UID|mGJRM3R14N-ApF$p2?D3wXQq;n&`lpjOxKP%?VSb~A ztlzmjL>c|H;s^+Q55{`1clf!K=EUWS3Xi6|!l>wjk!0X17@08lf`M|c0d-=9mz0CmP{(9|#g;>Ew; z_vrhw1FUhZb6^s2!XXme$!LzQ9`k}rNn9VXA0xpX+XqKhf{Q(DEvt;(8wScpNO1qT zyDKKlkmM=xyA(%AaR0efWDG8q5!jejL_?6^pta+~c!n=zfW|*CZjyBdjt7DS_utzV zLgxl4H%ZrFk^+$6@^1chF?5SS`QohA*QdzR0uo%d*k2Pe;so!y$u4)C->|>%X8qsi zzR^Rr#raacBky-v2=!{#pD9j3IzZO=Q&&!cBT|?j{7!x<5)HY8fD3*v{yghi875F? z9F5zQ1|GWjvOw$e$?v<+peE0I7b%rk*5+d)Be_vyQ$*)Hj2PVFM-w<*}k|K;q9Wy=>s`{eH z_V};KL8yUTQo-~6iwxoKH7gWG@rMYjH*5$BSA~MVZwudt?}{XCAaJR%j?SEX|2bDM z4PJC8A-<>Kr)H<*r2oF@(f1k}luiBT6a$WnAq@Wm(t@laC+g^YPy-HzSlItO6!|BJ zRHeIG!qZnC{S5_rvWu16V7Pw9?${^l?9Uni8ps+fc#`hV{u_Vf+h0RFY3H$htta-s zj~y|BD@zvw3`(ft|Jt`lzqWE4gt1EICpml@S=3KZa{c#jz)^txxxM(+3jfX>)Y(7a zB1hxB_6(-z8^td_RH$-A&_q@M8RzwD0PJ$9DPpi zorcjRrq`jUBu^qwCI6ItKYmiykUf(z|9X}*Hey+<$cT{sHMhiwyD=W68zsZcF4#lZ zNmxTzXQiSP(?>m^V^1*f4w=*ue>9F`xD{kKc?G~izI>%55QiG2VrZ8}_iB7VY2#KF z^m|!5Y^H1+&4`AWh{vCaQF;YJ*muwigVh}<8I-XN?Xt+<`D3J23n_+iEhC-Nhadb4 zvY(E3g$;sp$zA$`uz;{TzgOB%z5TN^F^^-khA^w4Y~1leE?1yEI&nY8z!`s)Q_xcEXqeG?Tc3G@i!pXfZA8=peSl&_Z*Hj*$?r$(S zu_IxM{$Tbhxx;e|20iuC;%&6Od^vkNNGS%2s+W6OZL_>PxP;Kuyrcy~{yJ!Z)bW*Y zKx{4|uU|Ao*qdL_8zPBA86L=xC4D-R7pNf{HCVfV7-tFX6XdguWpLpre(tdwF@O zWEH1Z<>drIkqb}+G+#8-e{mc2zXGDb$Xo<)4j?nRR%-ar(9ww`_^sx>I?)s|*&mL- z4SIvt8HQQNh>W_>lCY1JGq`GNj$Fc3zJjRgtkI-o=aVh-lKg?uorQ*3@y<)+XKLyu zz4~P%kC(fU%@w*~WFJXtX==^jhiG4I$`Pzf!bV_V0O#!Df{t)w5Z($#d|)zOKfokIa~pcgPNa;taOlzblhJb4{{MO1xW zsr6F71jhjn_UP(DHiIN()I>-(nRF>1o z7!)$qZv6&q#8fis<|uC5-(ihybf`4)zE3d z(Nep0wtUB(nG~x^q@3ow8>L8Opapx$PaSc^P(j|5V)?5S1`~ilIjm-JC8HYi4 zvrQtMm!#hnSM}=G2_PTCg`J&fVO%>dmb{G7&XUesqZq&UHh=NAdE$upr@!Ojz@m=9mqelm)Kfx7!UShs$dTQ77iQz_nrADtDJ?+VS8LC zrRSblIPI|lWY~UfLc7hFTK(18qYED%zV{&_7w4J#Re7qk2Vj2c0Y&K+tFT(dsqt^a z0J+znZ{!<5${+bsm;bBR4-Wtu#a)~Jc6zATx*nRE&QbRBs#l@ODh0RYvP--JMf)3c7i9gw|NZ;-$Q0&E*8{`;kcNQsX=1cZ!VH9|tP5ZChg`xh`9Ch|&2OSv z&5gPKg!E(PiPXY#J=j}v{s71ykofTe0G(05E#mBWKagjDA>-?`-lZU2Ca8sd7kf^l z)`uw2Jm0X-^w-b3KN~~N0%bL;>NUDYbV4&-OpiYiJ}WRbdc{$jGKAB{P``5y&@t8j z!6N+rtqVco@c&?$u6vUoC!>6yPsM3lThm%=L3Shuut6}QruNfJMVx}aHK<@^aT?D!y2^;$Qu5NW>93KyvJ)~2S^>J`@~;A{$!|r zBVcPz8EKoYn3IejPngu4<6g=Xg&HH@N~8lwd3BV=VgA!3!8_4zq;ks1(AO47GajN# zMZu5sSyz9nZeh)MUVsCb7}_iCA`iHj0oKnbIa%Hddf@^2k7e9>KC6D7s`|~06)L$9 zODhJRz>hM=C>lgu19Zg?tXJ1>`fgqUBWh2~TT zs-E+bjn2VodSyaS-Qyrqfq~9S_nGZj8jr}J72-tBrNkHw7nsBqIs6QgY>vQi+8&P> z3pDsdCp)8WHmp35UT;|!-QV)DyVz=>YI}9+mWioNkTfpmKs2X8XrF`swkIxm9l(^; z|I`zenx&DBk6I z3oqDgadr|m5%%n(|E4es(1=tqm_jx5T;NTqAWZ&U6Cmc4jWrRzJTa57v8>aKC=9Y3L6=F;@z&64*pDOX< zx^2-Kc#|oC^djjo1aKj}E5LQ%=|4 zYvU9gUlUnb*8tjT)0-%MWP(?tRpNLpbXWp4f1c3|y{O?1j3CvIzI%XNQoxHZ)B))$ z0z?;;IiJrdQ4Bm@6yxFF$_+*3R5E`Rw#KoV_uLAT*{9k*h0?Hwj`iK|QZyf{VxwIL zW(C$`|6y4Mm6Y!#3%{NGyh^zfDT2@_p38n7dk#SL!ax2Poc6ON3>mz*3#gtt+(yQ) z>(1ANLsnWir`r}1$s_4QhQS%t8p8lcNDnFy9gw->A6;`@5HU1=SV08cN{7z=*F}fta^os^D|)B&G(Umk4v5D zeBhK5LG|M%-t@8tu$>lue{&;SdB#}4g^{q-VUyD%kF<(gbm`?*?uT^B$cM%SMsalW zNiQf>Ry$A7IicBqak$05k%FBLP%-0K&c!{z<>nSU8`qj&m7$v7^iDde8&hsKa)RPT zb?X$bcH>*GR4J+19RKO6>fGutBo>bx+k>UAlRhRwwi<-=p`%s*wd-k&L@;r#u&B8Z zF|^?`aOSca$3|90YFAL5BL1?)%+xMSTQQTN4L9^X z>$A`+PyhYsvU*J~DQW4i^_q8N0Ft-Z6S0{UsfuiYxm8`otAR+nxGlLmU|JEY8~Gae z7~7=-HkE#|_wM#~?W##|FE?`#slATzV@kd(l0G$!n~9X4O;QFjx-&B@WjIi0kNlTw zC|KlCe*fr98IvwKMpvvXMfUcg{_-kC4T=HtcuP4RK;kPc;fUrN4}O z8JDrd`#d77FIQ1(2qNMf79b7IL-7H+W|9vv_>1|GkF z89oys+L6=l%L_Bl&<5RH{E(=cs~CkWpr4I@y!&oZE=xn))FS`G&XkT8n4GsBiA#|+ znYvS0Bp^K`m^KK50B+$|!jjhOCDu_19hWvozFHaV?4IMs1PVVt+v=9FJm7Qo_)Df9Rtl9 z_utZ@Y#_a?0OmW;`#t{F>A^3SO>zX2kJZ-vI_mf=XI-MsM4SUbQ_1<0p#zMw!Q5oQNHg4y9wjOThjT0`3P z>a8caccX8Usa)ycCk<(zd~1$v2=W=H7iYjiM*fguVKCSw^%Af(us{>&^3pmWk+_lx z+Qoxu9L}zbTv)b{5n91L0jD${p#)IeuE5GH|xf?bP~OQlzjQO_1=zUu3;YmsK8pN3i2CC!JDiz z25fB6SOME*Fp(*<%`Y>nXtCF^t7fPOvZKf3%ZacjJ%|%}-39u&F6=CgTthO@`Q|-TD?2AkdZL0K^Iw8fUYK~Ctz1}nXSq`Hfmo=VCPasZl#V)2^jqzOnyAX4(i+Kgeb1bVMYtum}O5Fj9&H2$(pORS}YHcA&L_fE%0gg`($J5s)I>3AuUEhp*p1br8HE zMG}T4vwzx}n9I-ENAi+O$v$1Zjv{!_m#xh{Y%l-SEFMDuD5>KyQ!pH0&U?RD((BO= z{1o*Bb5tD+(17npo(_+XmTyU|+;_W$4Vwj^?R6CXk!u9#+ ze~c&sPM4-CkuQMN*{ab^^@_ipz6A)t*jBWXAIoz9R(ZFVrObHpv{rAPL0H5u=?t!N z^7gsrd(kp7-x}AymL!K21D{o0lN3q}cn8!`nKmmL?e~opLyIO|hc#n)m7{fKEOk}= zIxL#YC)TdyqybnXD^YH}*dkdXy){7U7T-_@ctxI7*V_PqSGhhmzXbYBXNPxSGSWyU za7xq*2nJkn&lC<1PS$XaGt^gDjw)Ry?{}p@EciDK;2B@oJ|os87^lI$jH~}>B6_v( zb^msxnenT-3Y$l+mWlz_Kbf3rfRK5PU-}Xpt;iGgV-n#09 zut>My*rz_N0MZ)yC0a;1S&FDRoVD7Jt&X!7!27F!DpXp?dLzFStYH%_eZn7pvdiC@ z>TLJtGRm8EG}cTlp7Es^u(#n5juOr*tx8qygB)_Z9k)G*=RXBv#7!gGpxw4bx@+r{ zYgM@Rm2fgS-eg!yLWe82OgK_}IxHSsZ*eLdj>>O~=DmP87Vw~!x61%3={7$3%-A@x z&Z>}=q$kD#TM(URV108FgPe^;^)T>#lGLL$9O=;9UkOOO6P~(^8qu>cSK#zp~+Q3a7|KDv37LmNp(lL#a;>OKuej|ePOq+K4@*i=XH zdaMQ*wUV4ANF+(g7nFxF2m(JkhrUbDSvx5;&S`x$Wi!fk_(lHxQBvT*h49WY0a7TP zzwDOiI9lZqj}fl10k`8Wwq>V(p~5jqu~s`O5Hx4SXPiH;RLpGd<+G-F?V zY)v1XV6#oU{T*Yrr)>eN&F0YdX-MNB)FgIk%QMgw7n6cM>E($*jfP5CN$BD5{-R)} z!~08uC1qu0I`=pQb4gMhrL(>oOjUerjh1Q28zih5M33GceB>8vXy-kHGFhh{s!bHg zmU34#@fSr*_{t4TNun>c@)4F3E)JSS zlNtBlG2w0l%HW=VNQIq9fHj2G;1eaiWN{x?>7HTShFoq3+M=w?s0=fI>30(0($40j z>Ewc_Ju^lwat)T4sFW<#_CbxlkDj_|bFOvrmr?!=w7Yx46FZ!dRn_&jU!8UEaAwtW58 zmeq`9vj1oYV-uS}`NCR5BWoO)etugabS~f%<> z=*NfI6Agrm;YlGuim72~pSPy=oeYO76_BB-5|un20usFzMm@wTyNDz&$CSM*sC}OJ z^k8Od#MID@w1!lv@=w)r$q?%s7|wkxIS%U_#!WHs+hxTne38q(wxn=JjRL&4gPt!h zdh}fWLdBe?ap$*FMoASqrb@FX$mK`z)tao|u<_z*XP~P7GmQx(1(7f;2&Iy1As5=idXvths@b zcM+jz%1W4^(5BO&GbADypz0TKm0pSK&Hr#R|M2pMA7;uCw`#D%E29Wv?nZ}}0@$C} zrk=(5d^D?<*7vvnjxodcVX=x!eZw3&fkdAd1e1HE8*a%x&3WMCIPm(_ysG2>$>n?| zFg+c#@M&79nn{K|A@6!&pa`PBhKy+|Kp*|Ky_tkgPDqu(B@P9(Z`OS}F{VQ!GT!pR%{+)20%Q-BB7C zIxej_-0epbLk8@i1LMXsr6_%hG~gg?%0aJDg2+ofurHCV#$Au0V+^mm+| z#T4K{Dx7tvo^aAd6VXO5h+J<`Q(bLlBj{qXG0;A#**n@W(CdX5!@dJll;RbZSPg9d z?q1}rk6&3<3T(CZ9#x@J5u&XB_2Wf^n~`+!AH$>DnrfqFpOh&;yze#~3eUtly$#@{5af%l zAEnwyJkU6f?IjrWD`**xaj7x+QRWY5q48>!ZosQ_;n!q~uS%)iC`8z?^lJB%rNdcJ z5D5R=m9&E4+p@Cldl#c0USfEvR#*9M^M^AzbJ-R}5-y=koRB{*@B+Keemb7IDEv1? z#}hG#THL=mvr zuX5LlOUzq%%b2J6iif@OS6YzTBPb$>0_Yx%s#;dO;N8cgx@J zGhbKC)~c%(1pHFdosG_q@(`iJaR6T-z94)oc!sd2ODWB}yn7X_c#lUOd3fqceX>@;FDt7Oz_F)DTP) zNM!N%n+>|SNF8n5OxURdRAbu?^S!L>HwLm(@7QBwVphOXAub*z7vdXt=g^yCZ(evH zpk6X0#Scz2k^+K=Z4x+f4H4`#H-V38)=`HjUwow>IN1dD);e_fxWxGd8wtDTgC~Fu z?iIq%1FQym!zH}5nRFxDvMw42e^cCGepZ8w$|T7?-oUTaIKbc~q?J7dA+6gGD2aIY zm$bosAi{_U1rb!l=D0RO7(iG%%FSDBHhu=I@6&dnMMV9c4-oMVIq%|9az z(=SYQu0i%Aif(ExojuTsC9b2v7Iw3FXSy=KU%2iUQVscGTL&x0n4=^rvU4hkG4=f5 z;Kd>gjIN6Y0KzH#z+$SEQ+Kz*zqW8Af@}_W$u3@IQW61Tg4S5UvvzN1ECGyhYtXs4 zkZc!7*V)Ntp^+tAf85G8)(F3ar?e(oM@YMo5WLP|oAQW7l7Fb~qAn63ijcUCiyT$9 zK|WgkRSttuV#+{UTVU9x$A?CXb0kU1-tzqmg{^;!L#A6I5-@!NXs)}D2ShoNKLuTg z4~r!Bx19NouCytY@b%;9Qt2icpk?bOds^t47~gyX7X18=a&jb^-G|5c>xp^|Pl{sC zr^ii%<5!JkPIF(zC*d)Q?r5EPKl$hvrjN_*aQ=7;(k<|NTL@oOZ+)&5lsG;Nb_`7=T1lr-L>Hm0D8W)aqbefe($`l4Ym#6K9drIY(LSyn12f+MEWV&6eQM3g8B&cp zEgalWi21D;rejiA^5+yowfo=E@Mr%5+xJ!!mr(_~_0uUr>%qPH^&ft}T+vd}*pDp0 zKa*_?GwoBMj4EW^#&_csicIZ3j6GAgjm$K14U(9*M(<^PT?9aGFCboV&nSn`3EuR? zP`3722S>-syrzwv7rT+g9uRblP_6}`VNlZV&~mxST$Cd{4Po@_d#M*s6G>45Sbqun zK=XmVdse!Tmja z^!*jk29bt(HYo$~7B1kwQvq{}?l5zUg59?}Ws|;3-*xP2eJ*Ah_OVfGc71xR*Oz@m z#c}<21z zmP^1{bAgCmrv}>NW%CUcm%EgJPwG_4%LA|&3LUoDfL~Jcl`$l>D-?8qRs|RGua#hd z;FkGDPSCz8wq7zG&Kmmkn0`5?4@tuJK+pzjT_s8;1}B;gG9-@6mTI}Kdrn)Up2=uG zP=p{zX-Z?U>)20C8H@Ykuo3!?;)O2+QBb|2@xzsNC*`s|+;0nVymFwC9Dvsl$)bxe zZy*FX5Ky>kCaBeb*U<=s5iJoIK7$Z=aznKP_Q?_c+_QwVYQwjbbM@pdvAU{EfnlW% zhKQO_k0Ayc+6ZudoGKlHz%1)T6**Gj0m?LDV{dQo7E0U4X<#r)rd`l}2HBdHyfAVO zgemav4>Q#IEmU#a!Qrgq^LZ)(`L0)BLTN%7iNwfcYfRMFJAYBC8Q7ITN`&YtcMv8H zLl~dsi(t_0Xl$; zAo_1jF49E`Xwv`akQ8W_w?%4%N?Y990J-bW9jTARP}!yhC%+g73kzEqoi((;udOUn zf%t=;}Tzrq>PvbQ^;DH&8j!n4Oj6DJ@AFc1V3MN}56U8}Sh#{Z{G%oyr<2Ruxk z0g>Y^6No$<_(8}<<7Y$A70wrgNI8TiXNsLFG$zhpkzr;N&-m)~vm$Q@qRI7O3op_m zrWm`RL!}$Kjv#kRlm(xS7Dd#=j2!GMzQWb5_*?F>1;)ynQ;z=hx6lOqTwecWbA!kT zg3`MDF71-sgAfRL1t!`nr@s>`08JHukW^4d>xGUIVSDCZ56@#9s ze0oF|T(1wZJ<7M(6KuZ(=YxF-TKQg!q&zTW+^YrwikzL~021i8X$76SA<|0-Xk_-}CbC!7`)X19DQe zOzRcM;!{Iw5ZzB69#sn(v(Smwu{A#aFbl$31Z$WkGGlj4M?ar-N=J`y3oIVgl-E;` z(Xah>NaMz1eIdnY&6wR?BWBndaQnf)xc15=;NNkKkir%i8WHMGE^;SrB3>^11aDf72l=KD@jk-J z?f&?=%a>5ErW`#*0YSR(8A!eLZxyM?Pqep3i;icFZ0~^g&;G7s1|;7Xho06TRNdtd z46zX%HG3SXmN#2yT8A~(V#w-fF#V4r*`&Jm8B8?-=rXiQ98;M3cODUKB#6fG5P$g$ zyvwj@80R5d`@cut^#dmD1GF)uH#$1uk?4P}gp2Wd&^lv_k(%QIero%F&B4R)g;>Q! z%!b#PV8}>%iF^O=rBEV%?;7huXoHN@&QT}p--1xAA_-HBGF$LPs?>U4)JZJh>YoDN zzZ6dmJ<8_Az7-#F|38h>|LP@?d3bz%tYR+bqoXnX{bvO~{LsF~u}ANJM=pXk7KGFh zRz2>>x*nhXzhfWSNA|@50K7psXW@SzD{>BbCf-{gZ-n1V`hPA?hv?Km-l8Ye^**>B zZ}#s{kylaxjEIfKf%IFxfNn*uo?gG7m-_xJcPGVp0#SYa?!~Rtlzfox7M&9jFcpiO2kBgQM+msOfAcogt8zB9y85 z2?izbXcZ9=(USm$HMEJwh*-a=`f@jz`p!R8SWsj83h41Dj@@L)g|AmUk##`qe@JO+ z=@CQXM-n8eXvPILHmBb+9m+NCnY6AgfLTySEU$OwocR zne$3exqvjeL)F#tbW&iVZdw%0|WdAu&U z!rt_Kh_Te`jA8+)-%wvHk3-?oP{5KsJO9+)Vrg4fDY>ZCjsFD9M6y91$ed{gRmoaq2Oi-E)p8+( z__}0k%$HWBga`Dh?^VthBM>n6Qg{H=Pp_cJ&c^TYZz$;UCaDLJOS!kQ(*6ugCh_WI zNQ>A2DJSx3k)Ocwz<2~H#l~v%;E`$!p^7cYHk!2wZjQj;_26?aZs-Bg*eeU-R`mk@ zIUR`y#havG7&HDh?8p(PbIkX_*$v7-0k`G|c1_TgTc8D5Urx*VU16<~B97xSikv}7 z%e#L4dL4O~JN>K?0B~Qe!UZMSAIcAheLRR%foYerI@D7>)qZ_e8@{a`o>dtTbG#NaeWSnkM;qg>Hn`EBJHLHB_WF(P+mTX+7@=Y;1Y*# z0y!hw=65KP8|Tmo_5T`l%hZ%**lv!|qC87F-CdW+dXaq6x1~rPH%zw1iZrQsQ`10o zhD=IC`CrwDLJp>0OwDCBDyo`XksxgWCLDxnEQ|13ou)9@rNR(8dVF$f`Eo7No!VIw8@v&uli*B*E++acJoy6hS{4TU&g zVmwiYzm$>KmpN=#c%EMj=;I)4x=uxf2Cg0}`x(6(lchoQ3QX+O<{HmghlH~pEm;W~ z(&W!w87d`zP7aVFE7#*s$^=2+;#~%1YnE`az68W0yTSXS4L%kYmj3TBC){&}MYerF z0-E%5oKH(8B$+cJ^fC3r4=Yl)#0)6+a?Q>CZ|(&IM7dio4G)RQ6+-ziK9qZ$Ww_P$ zaVRvCBVr!o85_`GdI0&U`u^|jjVof$nx!jhUEPBBQfkAaiiaFGhoCMs5`PtTyYEA{ z#E46a5TX+Iw#E@yskwkS8RtZ?AEt{Z_i7Onx(t3CD)Qr37ZOt|gIbnwvn*zEr>*O> z`(K0fvnH_4pRWZ|v?(>5)8NvR3>Bl<9dM1LNf^_jZ&g_89H6T){ZDu+lh-gQQYhu=3m*#uPl?q>@F5BN&RyJ zjVOLSMwi~-iBBd&Wz^tPjTsgtAN;o_bc1X2(;yU$(o*F5iZ@nYEn+szYMT*29y$T#^PcqO_4`gvUN1e$qr3-f zu)PqP5!(KFK@)58t@X3w@rN``?9Na_W9##hgx!NnJfGjTa5&n7m)`~VJV^}aeKn|2 z*TJxr(ND>o5=BvIgDmycN+Z?@z_BIE4_pRz#emNsZRgbr3#{b|O`l2RDj)ET|)a6dfleh(B!fkzt+U|0C-vpsMJ)sK7(Q zKoBLQ#6Uz+x|OgfMUYNukQPKFMY=?hc!W|)Bi#)mskGDsq(oY}{xe{H|5|S;_2$jo zxpVJ1`|Q0Bw*O98Kag{ztsu2+?p@HTy?tGEA)G_+eaV9uKHPziQYM*W1;XJAIo#GC z1-57TRYD5+!W8ftdri3^Upfe$H$3v06xS@x{e!g)SX$&i8VTu_!6vcz^>bl}=SicJ zM+phByLANk3HA926~|wXMP*pVEu$^bZmpg;j`mtYjus3=(^g|Tr?OKxKGpKI7G?IR ztorEkF|{o0SW4ObsLzeAp$gFz`MQ?@$exca+u!up4k8y=7SPY;BV7XAcELiMoF7zD!502JF<*2_LuG4gMspJ%n$An{dDWj?Rte)NoZW$SF3LP_iGI7vk_G?yR5gD`` zP0b!xF=;$PBS@}xt2G>3ZLUQb4{(k8_!}V=p3G`EE&iVi)=zbN6o)Wa9gv~1tNVWU ztjrZ(iK}xl1sx$Bx<1Db=(*h+YD4QrGT}ZRpG3jlY=6DBB=x$*3Ah zZ#OUB&U;q`G^TM=YD26Ees!iMuEA7y`mgE5vmBp7Pkee$8gboI44yJ+FOx{4+uT^2 z!vOP;U)J{992jzJ?%??$E51%yf=-i7m#)v8yr5 zdV3kdmCAvR7^owKj6z+T6F82c48Y&Ounb+Qp}==stHh)DPBu-$XLYtfCQ>ItH`ay0 z6J!RF>}(>V%3V={ru8qa4VuzF7M^;gv?{Ci&C*UPYhZIW;P(2@?2hgR{@Xh+Z^{8E zj5_=(I@DCf5fDWp70tpfd#DG+CWKrKGIFd9vA%bqsvy7)LZ!^ljKu+Ynw# zUgGbrWMdv9_3v-_sKK#k7@jfLU=47U zA6WmA0lbl_D8W=FI=Ycj<0y)W*|0~f?9Qew?~e+MkJ|SaI-~n6juxv17VFYC!aSXVjFT^NX zq>qkCs-d560W?@ilB%dLb4yGfsek}x)UP6BRz`a2AzkMm77wZ^(?lH$UF$hps}`V`dVKm z!42GK!S6BFB=sXL+trH!X1tyQY4zWl-w^%60tVO%i&mpH(|>7hAbBR1GmxlYfGn9| zNiY6Ge8EMf%-B9=YZX(-0(F~YwX2GBKZ*~3aDZy_DS7Td>CrDHvn(y|#@TH-pnEH( z$k>EoWpeR3o`fLJ*qb2*;kx?Jdi`wI?vTjX!en<#?#LtGMQHQd9GZCz46kIu( zJhW?4+*w06(6i6d+D*f3pY7jVpvd_6JAd}7FvDK-cG*M#1A_$g{!;PhUyL%US4utKWgr?=PI`gV=&+WaBv%fB)#u7hWDNtv=tC>V7dB|NI89pzAgeuX+b?b`ie( zOBDU{fv&g)XvgNHhyPIK-91CFe_$LsguZh8s;pi}pvymi)*i&fiue`alHE}M0l3;P zM}yx(rvz_hCV^t~9C4f1KSvcsJqO~(Lk^sK)-aT3>Hd}UmLWArtZs;qOUa>>1rZND z!@(jv$1$2VUK`eFnl_=>$D*q)vseQ-MR+9JG_eofINfyFT8wx@(yL+puH!abyfZ`W z!r!&0SV_GJxbyFIo@7$v43v8ECL2KG$vp92^NTM5xkB6 zH8J2DK!akUZvIY%&$9lZBJAt+S%dk1L+6-vREOB_PXWxc^2%RqsCj8@%00Tim*{)= zR2jv7W1yA%#>y(_WB0UGh@F~pMo_sG`;k;k+C4wtv+2#K88e@%^c;GIfm6$1a4K51 zisZV&zr`NX+)`&^O6x3s@M6~0b7CMP0ZfeTL}nH=fwQpK;2MxszzK4dD@ zYaqrF|IW~I;`#N3oA)=j&UGF5jpF{E{yGdnynL`+d&U`q>BN6#$}z07-XBih`~M#k z&tJpdIsblpfzqVu&j|cFp9XPQ;lf4h2mP%6Jr(54>;({Tx!kSclkiVzsQ$DcdpG#$NN>h=tl|9m*c6K>e{{2P-GJJ3S(cLiquimqRT z(YYa^xD2zeCd%dJzo+#Iu+EjmLvLp{XJriwNBDde*S}2uulN85}b{cx;9KEhy z`}mp+O6N=))O|mAUs0QL?U`jtxQ3)b7+AmU45bl>0!1E zR$5j4+!3d8+*dSHJW(|U&w1j7(rVQ4tAVa>>7K_hrDu}nf_i4Lhziw96Hoow z_~8CJ)5Ws?-c{^*;3mwKIeja|Kg;L}s9d#vwl4(ely&6b$Ew zQZmZEUF7>xkfxd+VZ|NE{IT$=2jQnsZ{}fOqpbmbgB?)8p7$4#x$l6@BEPoI|7bD3 zkyGN=r->jtUVRF*p>v5ut&N5&r(NC-wLW2xuwa^?YEV}=n!0u6%9Yy>l@YGW0OKr2 zDF|$e0|3taE4uh>=?OW(wXc5;`UL<1Hon>gK_gCQ-+I3Px3n0Tw26l0c3bHa_=;888lsIi~ z0BOSNK8-_Fb#>O0&4*AOz=kHhv2qESdc8;q18NnqUc!%8E@hv}2Np=1gIVG3&L$Ci z?lntUCQ4lPv@X&%(vPOBz)4S(i8itou>JO8suc!TN|0IUJ8kuMf$ca+|Eq~o;Z1>y zkjxJ^^9+dtEGv3w6WE!7h(pDD@ZByafohK%g#!S&NFBs2CIm4J5S-M(7V-Tgg#Pv^ z&hruPH6{+)_Y03>!8&*Ra?AT1l_jix$bhpz61o&|+TLyV5jC|My5zAF=Vc@r`nK6ODqEsGgs8+b%CoH}75nMM>NL~{UYsw%%h zuj8yD+&H(F1fa`D)dkW90$R)N1veB-&r?_7k#idhpb_#3`-0$`SHJ5x10FUB#fZhP z4Z7kYt)w4PtwEqP`6ZXBG^+^2$GY9=>PXQ=w2|kK(%f@cf~@aTjgE;|&=SbGSoQZ8 zyT)7=emW|4N%*UdVEOU2Uh8EGV_<8UP!-cBS)0D^dxcsE$(cYS9!eysiMLMO&iuDY-Ttldi)EXw5tQ zOd@KtY3_1e<2eE>g}n$_0|`h{SY!BEu^Yr(MBWrCMzq`(U8-k%JU{kI(@mb4j~cBl z^J%=d_cnf?DYslaNApJTN7~`Ts-b5$p!{eg&f~#D&3unN_tiy(i)VWH5^}(uqK?1C zLC1=UsGYh`FDzhYp~=DSd(RbC!>qff{TJqY?>({gux*ps%c$kwDSxuuueFDZKiid+v5j%@|F9Ne$r!d?>)6^v|*;$pF& zlsfMbI*CxNNHI20>fu^w@dR2__*)kjuZ(DzT#=d0`j-vraoPzJ=H?gk31Tq3RoGS99XoWn@rW zFAo?*&S%%O3QA1E^fIA|U1(~3AwZOLQ6U-CRoTidk_}TB*B~zFo!*tiA*(L;JSf(L zUr>o!w_tVN*|JCylE3h*y6nlO)J22p`O4Et0hir~HtZ9#H>AqZ`1Yh&wvrIG>f(!U zeO?ZmeR~FGJ17W9Vzz>tjY4x+ETg!bEf{Kfb&Tf#fk|ut%C1XjB8Vu%*^*oq>p5_8 zu0yQ}-)_K`%w7ND##4gh6}Iu`tA;CRcNE*+cSwV2N~YW;>R(uZmudQ$Z9wN!??*{g zuoBD;veP&J6pFYy0tS~)t!6x8|zLE^=UJtPenky-+ z0kA6}sL;<27dlR3kHJdSDE*R_T%o&ZPA^mI#zROzK5;c4idMZ*g%ivc6 zYd`lXD$5N+&@U>ZfO{kf>^XlAGmw~uahp+6@;vYZ!ETsQY`>Df{8efF%}RY=!=YLK zE!l+%+ATD9>$^;J-A4KDHY zl%kXaD*Zcvc&=X+;0f#M5UP-3G*i2JzC&I%yj3tMy|_J^k*d0KV=$I0$|Q5Ww9bjo ziI#7L?^*H-C{;kS`qXekwVQRNWW0S(iQ3m!pTN4no>z0u)RB(dpDyrDmodZ5co+*J z*jyG|66xtNtf)1dP-lxvhmO}vyM6@ZwwcXtb&T?+N_qibFBrwt8_wqnG_AsZ=3+uN zHNk0e-b(EBv$T6A3-uh;q!VcFn<8m-P1E1sm;`ni?O=`FwOn!Uy4+RmWWi%Sd!a?x zs@r0RZsNRgQ=|0Df|ciw__%kxl49Ch((($!k2~8~Pgs@(_=Pgd$mV{wJ&EOfwyoIC z+z~7V>KvL|PZ;>jFG)6XOBhKJC8-f8ILXd?URM5mvn4xwl+#l9`-mw;*^~>>;M#gZ zX5c%a6q*$E$eERD&Xvxa6YfP23~oUodVITg3oRSLNuVaI^D=i4k(2~&p$f#mg4Xz8 zIo@OsPK)4h_$dY}9LXL33DrYur8R2+-p-?h4JS>C#zdz4d88cO7k z#4*(mQNx6|Y%V(-NxY^y3CnvT`KpD{vBne`={kXQ9El1Bo;1OM_kyoFTN>{#$P*y<ueq*QL@tZb;-tv|XTl z+JoDmwe3sOTG$s|{sEAUR}`f-pQPXc?#A(J!L4)dP|H2T$=Oj-ojkG6`hI}Je@CyrszM+=`4&%gK#;vB1U9Yp_0wDR#S zxDQ=kT#i7eNuF-nRxJ4LE?*yBr_3lQz%Lv>I=$<2lG$fcWBrB+XXCsXwxD&mlGGS) zisw3%UEXuIlxS1TrmHVsG zNRN?46%e87Z{2QY9O}Q70Aa_tty6!ts}XmkKf@@m5SqqLW4+LBPD3A;M>L)R>>|A0 zQFT9PH*P-1niJ6OKutwOHJWlwIRiaMGS3n`Q`~*!%yFz3=oEGT#f970=sGULHoB*t zo(#P`2s0tOn62C3iz&Co_WkEvi9Qf)KY!su({zqeLxBZb_zDL6KyZ>Ymdp;~96ZdX zJCgG~MLNt}fcv7nQ?NNZ*h!-7BhF$9bCh;n17yJpAQ@X*%&gNXm z;Ums3mKr#dEVki;E+}PcJvpxQ-;FoAkqfDey?`so22P=$ zH^1v~G@~7IZjP#%?o7ceGY-i(VfHzmU@ciXz!s7R%+8Viv;M`7OF}*DrHk$QzL}2s zAb3a2oRpqLzPT-4e>b4~alsAxA-@Wzc?Dhbl7)i>(?I9`HNvBb3(M49lnjaOw+)v9he1wG z!HFFs@|&oYO$bervE@N}IboAouWaq89`mTUyT=PbMHnQH-I zv~`dVamov>e>~-sf7UWP8F_8RWrnfoke|&7^8FD;s>VD7-ank~O84SxX0P^sln;$B3bN~?2JuLDE03ft>lFPPJ{M}Ax|QQLC2 z0aZQ|`J-{t{YvAjH9Tf;)qpHk64DGmQH08RAz9gFrWs5h&~CNT()M|u!yfSM49D9i zX^qR9%FIOYS)aeqwcZhyF*w;5!QKMe zQ!FR_b=@T}#$X>J+xotMcgZBDObjtqcyURYL=C&j)AmxeP2+;LstwVq;pq{Z+g*)# zmW~(dr9G6c+04Ax*r7AvZ!B=IuNOoR%0US_hd{dQHb)3mcRv8#%he0A{<{ zq4}cF<+sqsbuQL(*tF=8kF$((tNxf_4@A!)EYv8Icfn`RV|AWjas^QxHmsrtJ(!Y2 zvJTiS*ldkn6-jF(?UafeCDI&E7){|s7*1u2ZuH@ip`@%DRBDH6kz}7E(h^~Xtkp!c zXF$5kisrZdSR+6SUQ35}PRE7mJMDx`L|jnGh0xY6$9#weQk!cKzEt|(P>PmKTW50- zcnL|uF%XJbuV0IJGzPoCh@?x5v+&)~)RRs$M!Dlm57%M?vhS>^P^HuXra&p z{`tKD0pR?_!)-!w=;vb2=VeoHtP5Q&1O75G^( zidP(uXh!p0{+uLhUUap5p@&FqwT8CkVa9r^ks@jHkmJ&k0ty0ZyGc&(6&z;SmE&t- zkrT$9$>9vmxP+u^@;SWAJ`1GHp&sb=5{hfST&*nuBAM%iM3KxRMu^kMr&Q(3+2?%) zg727S@4ygYq3_f!=GqOfdiYi#w4pzDkrbGp+GLr7G~^C^%a- zG%UAh*a`BFrqj$?QlItUFsP7=f5ohN68+361z#;!!0Zd>eDM?#J~S?!rZFh}{w25Z zV&X3%#UD6+jTLL!GxIpsJYIU-+89w6qW>>;u}bC{0M!G%ucg?rgO`S-r#aI;+T=J2 zfq+ozptGNvMcA zH+KeFJXX+e=OVP3Rcf;B%(-g@tW@;Tn~e(Y2akjuLCbv1MIW}n;RZ*svy+3R0&z%K zLK1#}R-f-)L&7P?WBRq$ns`oR7Vo@I7(_9{o29yX^=i`udOC$qq5q~` zCrho+tG7yz3Kr(kf{3=3R$A`VO|m$5``(iHUIK!K&M z&9{!JfK+Z(accN&c$YzX($_CHcY+d?Xo26x+u3)qY1O^5!Ot{(HZEMlY{d_d$%P}mG z^A&UW!la{@$W-#y`CtdgK3&zy!ox7?&U2i&*>zLcV%Gz*Gk5wY;H?pS>&hEOY^Qsc z4!nH{%jovD!b@NX$gktGkFI(hLdqU(cQhbuvFLt4D1XR9H_Yvoh$5rLdIX`0uUQ`c zX|u73@R3*Td`8OpVFA;L%Fk?rFNx|W#aPSONz=CW{RHs zmKdA3?9hVd!`R%GQJqL1$qBd|EkK=pxLfNL)4ikprC|$OS6aJmd1pmG=52j4YN8J! zM?t}V?f^W3-<23>9f0_7)Sr?Ids~f?1K6q|9*xp#6*DlMGka$*nQ-(Hp*^aUFK=Cv z7tB7)!d+@vNyg1c~xEMBmIwEiE0aEA|k1+F7hl{auYOKj(d+*3nubCOT)8q z#HHoA{q-}+Y@=50arI&l>eP)$-{Pem zE$_z)WV(Cgd^&O zCw~ImCHE#B*Ur4VF0A?s3wZsym%yUosTxi;lRby^d@}b;zR!-YOCM@2-<^fqGQozx zVh{)3)?Ze+B^W237c+E#vTVOhGI1Ou5Ic6YsW?;Y>Qx)=!?Ry8>vr!Q_DV!Mh&PZ( zdbZ@g**=Kc-9SsWYFw-wble?q^g$*YMyHe%9JmB}%mh+?*gDuYzh7e!e05-GSjx_> zvgr5UMnArm176rj6Ksqa9P7!Xj`0QL$iH78FS#2D zf24*~fnSC#{-@Ft51kBvI0*GSU<{D|mni_chqv832+&rZQ7-wLcCvqPj0lSJ^L;4H zM;#98eEM(wNVEx+9#!nu=6g@KCH^k$d5nNq$bJa%@2R5+o_c!d&Uo>~en@bZay77c z(4EEGnfSuF7rwdCYJCjRhrphl_;P%r6Kv}k)IPCqu zm&8hpUuut=A`;;-KMh^W^~B=lqOU%4>>c5(0W^gENqW;{-ujtQ{tODAZy6$fM>Mwr zsLNRbv(h7Zs@_f9?!fS?fwn=iS$=w;6MFAZBi!? z*I8eXxl5{eB+@k{i8Z1?%r{@>8_t}znw<02;1ZLX@WYlG^K~co&?6fZ$5RehZPk~t zSqjECM-$sn%+Qzih`kId)*)8ocYJn(w|o^fF0>K;&ctDf$ii`%=D4hg&@IgO*l)_9N}j{LDm4Aw9DIM^ok`wylzULvmj)KoKZ(A?TfFU+WvnS^PiZX> zc=glxiBDha4Tv9}>yTnH(D#{V)_oN#wd!!8H;+H=*h4N-&z&#&{blQ?G9Bmdqm}Yo zUrfAMz!fUH`pwVCzm{KiOlK{7ZZ%P@lz5=2u&Zw-IN#XvKCAixW#2J&OE?i8q#E-h zC2{Ak(k)Cm5|R%pg8A=+RON(G@kcqGXjYmuOcGsQO+BQ2f3nrxrZ;#UQEspgy?no3!ipyjyoroYWQc7n=j5b0;>qCCBLt<%SE- z7dU*QZ<*!wF-=&ETE@_ulPbVhp;RJRS`$qN(hnzlap{m|~P+ zLz&eg_W8SxCyswCck2ywG=8`%yfmbJdGeCP88G35=q_a7$)<&%CFb&7nl|iu#Tg&c znXVTLM$N)(w%d27xa7Ns%k%qgfpN`;sr)FF~&jtU6#X=i}l6>VO|HW>Css?|&%-vOg z%u!6FBrAt}Wwls!7*$+0Zjan*+%?MwtCpE+0q;G6_~rSFcZvE7PWr?#*$sE|SHk4~ zO1<2M-7+<1clN?nRLN7(8itRz_){K0dVBUXmcp-Ex5iDEQ1I3xoCdSQ5fGzPf<2ud zlTs$#*V+3)AooP|lXM$#B#8|gpQ}(WlTG#SS%}QXX8zQ9Ft^TaR&%7U>PeRM$D19r zy*RE@?Q9g8xD^`)*}cbt_)k#n>M?~Az1-lbPk!Cr+%f-5Q^?g!gr#=1R-@vLM%?Yq z(xVs$Gu~}g9^hF|RW&|r$+f5J0hz>t-Y zju^kqr&OyFTmE>GXS9(T^x}8NeD%i*7IKLajWgEyy(G_ za8v1br-?1VU{GL%&55-jW|8O{Uufb)=3b z557?veILXBT$d=*p*y8Cuh8Q$ZgdNQO=S2i{YZkeS!^$j~JMgF6 zmOsYMyx}=^pDfS0oS*nLSvvjqkG9{VijU^q#WMUcAkSMo>P4IgYn15BD!)$W<93Ug zem%8+ccPiGt62|gsOB}lNg3Uq-+7EY#_st8%@*jsCsf4-sgk9#v|@5eUz9%2;XTzT zdUngRh0Y|aKll-20Y$+>?qs?A4YG&p7bA8$$S4l!*ZZ874?EH4q~;@(-4#3BUD~#` zDa>0uO}-ZE>P@y1RkP80GPY_-T5c{Ry=O}uKY(S(`|>VzWfd$ACAJEjG<|s8EgE%i zlIjkqkja=jO+iey`2JT{y1h8w)d#s)QyhVf>(rV?n=+;y0l&e$f}@RqLA!A9u& zqmUy`Dt|L5*PiBXj&FCA{JmlQHR<~-=ysM50%0YII!R*7-L#UGo3nMLrKciZq%g4d zFn94B3maZpbiF%uCo+c(oQ-Lc#Aa3n&X{*XM{Mhd?9E@Xb8o#~C`bxUvSPn~A?Qf2 z`{Ff~?r@E=R`(0qWbIVf0yuCjr#?`8kIbhD_x*bHr7O{C=NY=Y&ZF8?nx%LXGjGs( zU$+8b>)chh_W!HdNJ)@O5&8~_qgNuQ^C83q=H9)W1v>dwvPSbPbuVWF^)j}pf@@iV zrd|gfZ3=p(5#R8frtl*fyA#dl`!WVkIhlLW4#KZTQuHa;zh4uUfIh$v8|St4eLv}a zc-0x7RCX@8y1F`;`>~|_;MpFc&;pql245l4!Fn8)e!FW-Xwe%;w0k$0U!t(~}rBM1KCFiuH?{j+EJiLugQPcjxzvW>W zIJbK^@Y1705M~4>J{7a6h6COB8e&+<)o;>X_K##qdrscU=>@-ZM zA~ogtKvh^WIPrv*GriUc_hyM=qih2X`H?iKiPdN}4H+>W8fvKUisucfTOIjpq=B1( zf3}l1BdXLindNf<)#tH~erdX|!Yu52j#xjO2r8F3CIhb1+vVn*r@YK4OYyA*0>teN z$qV!&BfSR-XvSp}&dXMAHij*K=?|Jo9H=T8+pN9tDKYtmZ|a=NTY_tL1r8e|R`)Iu z`Z%k+wUgc?<4La2Hztw`!boScde+Qm|8i#+&TH|I z7r!4I&rl$ghjnq>=w3h zZ^0w6XJ_fX*VOckWUP{}4{z=|-CE$OLM*$yTb7!SL=Uyk7TnpkFkCpv8Tms{&C-2m z9oO|hIeEgt-;K}qQbGNrPbvp!Kd_gq?48^cp4=I-u<4!0`gUZ_xJ4pT z0foyuntHV#KXv6Xbt)Zy28}VdxURTInRJEGh&s;`uRLE3ytF>QR`o2e@T<|nb{)$d z{owS|m`&Q;Y^uL%`7HZnqi$7y<<`QJxHhBCVng zs@qbd{((1~Q(LT|C9Ak3_W&e1>iR!HUw-ZLjuZ$W7J;y2JY{RwW6GEvd=U z(b%oCp$nak!2Z!U1Z4n^0rlRKco4fG`s~jgIR3CJ!e_8zY^@kbk-aT#S!%g*tW7<~ z*UYZ*VhnzbWGqzof^I!Jn5E88|0AWFRjaG~%=}`(%{ATX{D2!yQ@enYHWiq3m6Qs1 ziBHmD-?)M4nr?Xho}hE)6sn)Bw~SrGAKFP)xZ^9$efE2I>t6bd_iN2xSb$n(_+o^RcZ}v_ z01`Oxd9L0QSY4U)iPGmWpRkuDh*2sg^Npr-XUC1H-Aa!ct)Pt*N-+86=}9tA5IpnR zv=bWZxfV)4?Z`KxIbPG_IuPqE%JIR|TRHKw;R2W(iz$)=_i5q)E*y2eoRqgVGb@AwrTCw!Y z8`|H4PK&XD8J?UL5jk505rKVo5YC<6w#nk8pwpUph62%PcZEBwdnyIL_%Q}mc%n|X z`bz|S#;u@k^UY1wdAgFD{pwCEkMUb$%X zw%bEi(Hz;cwoEUTyd0V(oMHd?;sZ6J>cmgZVUCInEptMy4a-B7aPC>gJ%`nVo)Gh- zd$_sTLP{?`^kvvu>IoSUx@zP0lJuv@VVO%O}EomjtpVb}DG1>TPlW~Rsu*$0AJEf701 zL8PDlc1;2e>y;%#1uZXP>IYI87pO$(fFe}#0`yiQMF@ppN{|KgIeAOa1+#;t!RUnc z=lB~Kn?~rBpwnMqiLmT|*X0gOsuAEPJ>+AKRQwLK#VmW$dd9B^6Cl(quMe!Ise~QL z5l1u7j=O*)o)T#svTau(y`-Be?oE^lM1Z%v)jN>x9@_m!>x97CxwqY)s>Vj-BUR=JaH8O-jG7$;cDQ zYnDi2nq%BaXw;rqYm!lVP&q4PqUsKnIYlu_uc%wBA+Iybpi3o{oC8-u!vWt`WY(?J zx|`w^00gF46NgG|nr%$y(6%4KSWm%f7nt1_NY~F&W4E10h;|szxhc{?(M6FW676w( zdiBirn}%O)7H33QaU>jbyZd5SHls2P#wk;&+3^Y}0<4Pzbyxj5>%LKUyyFi2v5BSl zc-;i=bd+zm!MU7W2#%^sODX9TzI5oT3C!rmGTbZdG3aKGK|7P+&$nuubkInPMlC5} z=bQ(NO6r{NW$WXS_=JQUiux*Xj0J^Q(x7LS+69|#A81ZNEtb(`qUcSJ%rB|@ooahpY==` zC2qjoh!or+u6ySJWhZ~)LDHe7R$4I!nbVR&vz;{;Ec_GF$$O#jlc?(?$u z!@}DfFpNGqn_e)O?Wp$ku9f_3*E2(?#$!>}U*JKN)wy(sKKSCJef@BK5y>cxKJ|t$ zokxvjj+*L-LuY_dmZHP@#v^p0{nw*pl$3-;fN50Tqw?UQuI1_;o$JZMVOGuK99qb7 zyYo!^j3}1+!g?YE9T)RS`2+>?NSgbskDg5q1$-!(Ho&9eIVt!EEweK^@ZJ3F=e z=6>S;e1bQ)sE;Gkp zg>%v*m+!C<4%+d|&I|-yQ4@Mpi8d*1r{SBkWp+HCvU_c(*EIo$A$D*+{dy#GoY6fz zVhahn3Waz?Dy?>0&J^Vedj11XHdnah-xWr0bl%g%t!0Lqrm?jTkMm(mGfwA@80aB_ zm=m5lDbaDv5;$N)3+=KZ!@#W#^s?Zc9W3p8YRJw*81a{ss7#<2PgD z5{6ApNcf(Vfc4J5wgg-(F*)YrV|6#Tvh)>l&HA{%w#E#l4ky<37YZ(oHHC*T=w|Um zi}PAk(-4l00^nlp&y8D{9fupk!plouX(e0__lJcY#XYU1?rm}C+PkYmc(*NT_$uby zU)3wP35@t4$L6L%3lJ4%@DXhpNkgMRRWb!GX+uzL@s~rv4z1bt-P`R-hCSAj; z=h!^oi(h_nJPfy=jyYrC;sc30bedU*rsgvv&tDWPOC3k^i>X+TUG5-o(=})fqtTfeEcHbDD(^ zVI(ctMZU_&pQY&ZnI(MX~DyR;V5rmIDpBCoeaiX0inA5s~i9X>|)yUp#Mf)YTXlHsv)K?qU=uKxDm-afm1sNy4=cl zoh?RS_Ci(gECPEQD5Qq%iT;iLpDv^_e(h!DA5Y+VD$+#*f?2gvhZ7)S#pcs&ucuk%x8&5cTjJ0aR?c%BEXlL+KAowI zH+|FZaZlFKCqQiSDvlu%t`l}XxjNX{Hd7TixGJnv*Sqlg40ZXOW95SR)8+8-!{?nQ ztZ(4czAZd*i{f~c=;`8f4x91L6}DYG>7LpRzN1;jhBX{`vn0^~6Q}N2B!;WZ_OG=x zFg3UIW4*(cE3rLspEwW zCBT*T^*+uZ>0`NrNm7WICW+)Ua)b4r2K~8(YY2#7$vFDwJb zC@PEW%O;{9+uywVs{26$_ti+ZUg@l;x72ca2%+-FlOVP**4%L8r`BpU535vuY<(u} zBJHpV#pq`+=A7a*6wOexBF-ELJ-jO1dkpv63vK~VXU!jvvKN$^PX~&xoP~9EG%1XW z#3fw%I^o>Xj#i|AF-s*Keml{FvTgU(y?cRVT&5t4n1 z+o$i#+jr*8mgZWGAzCS$=cd|yI;`!Xa*N}<>Q6S~$JP>7FxTxctbJJX{)UG#Dw{ z_{L;CzL^A!d#Hah=iex>#k?@~nQV?cv*U$}>fb4H04JV>0lT4a#&27%Yae!}sT$mT z&#Y1;0zMT>0cH=>>bUyAQ=}T`ycKxZ{V)8l#$1hl;{d#POiHnmtL~#`j32^Tb?f5$ zFf}iG^!u#nF%5e~V=Oq!)H(N>LKTv}PuB50i5}5>hMkFVnk+^HP%x-6{h^mj5_b9s zrQWES#17oMg_dXASUtNVsmA#ynN+@hPMbe)JhP4O<7GPl`^ z-@{wBHy{gjZHW28l1#gm$5S*%uB{eA8zTV)4&osGm*LUTV_h2-Oz2!C8uwDYca^?aqy0!JlNCv5gW$#MlxmtxKANXKDibZz2tl36K>ivp_Uxj%7_FwMnXNi?8;I$71`{ufP})TDh;vyboT^kH3O{(`ci7i55Mk6G`7U7T+z=V>VG7_dgs^36W|vvN3I<*wQ8QLx#LgmlYkAMkK6ojztj=Nh z#lAYTA_bA$b&lOJ_*GWfK_!zp9k%kWq_dpf#}h)&skYZ{uhO)Akf;cOd-`~>^Y#z| z3+%t>SWqwa23MS}7Ji$wc1{lO&u=SM2@Id^0kf<~0e$SI$v=Aebo>iImjWuzzK`Ku zy`SZQeefqp33V6IcJ5Uz>rxVhVdG>yoT2p#3;0C=#q;qu=;1)zJSjEh04EFp)|w0{ZLew7+rOt5{Vr6Aw)z9Db>PuX;@ z6mgaYi#7EIecvJ0h@!v!8-HHGd(;~fbs*Jn{3O-v7f*iv>&iE5qD zpNa)iE#id%q_MlvaT4J5q};_m$Nznq7rc7LS8Nr+-Ohw07E zuTxzEIIQ$)sNX;`}J(WZcY8xqptjcRSVaFJ$1`iy(5(@@JHLcA|fs z)}7;W+w_?8@LQfMjFF(~ca=Ah6q7luQ;hd~v+V9;Mlr21*M&WPi|dO*fzIUoy2lsvuI<6XF}?0sp>R=fbpUOvWhtKEdbHxuh%8axECV_c3FReh`Poa>?Ne1IeZLrCNU9-uydG`w#LVEX|X>4cK!2 ze}?GKT|yi_>4Q@ZxPEnp*uS59H^CR?!;^*N^Y^7Lf);51!T{!N3zA804PYz! z_if+%l;73bM>tr^zcuc^*4D#tYuv9uVOas2^3}hmENX>3sWM-T!7&8GjrGflXaAiQ zc*yj{NOT4vORJ=4!k=dX{(!Cw&Uf^d48qA3r&}j@EAi)ng8pZSynUGL`oJDVbB-=n zwIRcpLqJIn%hQL2*=5hDkGd~R0Ig0u&p?xQd2gdY&bdMr|Lw0n@mg@YW}dOTe})~?h~ngi zYV~g=H`c`Fb?t7rW_9b^d!`mY@2}|R<8p@>#kBzHg*jd@h{I@8?4X_vx@o(Hj$dVN z&34b{TYS5`9~w6g*5zwW^!_%3`SaYgA1iy z>UJcwF#&F?AA&@Mtpc<9ypW(^KRRS0R?!h$9`Z8OZ~Onf28p5^Ux-3iL%&QwAIT9q zI0_dRgpf`Z&M{Y(>Z| z@FMv)R@!?!-<%7A9)Tf}jTT^%eGKAL&}+Q`&?&YvQYU-@BoXajPeC_Da8C5OM)L>- zh($fP_W6_RztKCA6ca!n)nyf$#HO!iGnTGaSao0bbz-gqTxDI6%oW)~JjWTo8QGc- z6y*{x*9X!X;(dBE%e$0iRz7UBSlHUuP6ha?LUg{pd5 zXVXL_4sQ5MX$#Qm-eFk+gp^op`39{oliz!4&43o%!dL%|4y8vvEF5aX`)+CwKU-cRj>oRi%oOS#gE_{=q0)j!&|enfXkl@K z>ul$LmTl1R8Qyk6y!n|HgjV};2xq!A9v@LNF_Z3X2|A4f{s10`uJx#uKR5G-!xl5k zz`n1@Z9jZ@P{sVo`l22n#twxPl(+(E?K!3}AB4VGfoK(vS3T-#%yf+jG%^2n1AK|U zb!V7wq3c>0r@CxxuiZB1n8aL0wvzEX5w1`d`}<)Qmd3!`LUju!fkK$H2UJ7PD9i(C zghbh!x*aUZ77(O)4e{53l8HnB7qh?A1;nL z!s4Gtq;a>E>bb+e9wiG52!GC^D1WSAa}_eqD~((xrPJxfnGVawmle<^xu76A!t~4>C^hoyB`(4MprQ*8IR=++}R8NbZBcmhUu`3 zY<^g8e+SysKcvbhx!?q|!w6SB8o**RZV_uKzci{w-tqh`(vk0xC%Ss=kganzxATLe zi_5crZvs6=9d1wQw8Oi6dJH4#|MYxh$Q~nl8?l||IW9N!@1{EjOLP*|W5nqjV~*lP zNcDTK|MB(~P*rvBzprdTN~J?ulvYAI1QZaZ5v9AkyF;Ww1PMt&O1isCL`u3Fl5@S8 z^ZQ2%)PtiOFcD7Z%qj=0TD==IR++m2wk8%N8MXBmm~K$fWe(90Jm5_u0!gUnAWvoiHw|Y{ zBS{hY^h6u5ph+NvIkfp+1QCGNJ7Dj{M?hrV5$yw}=ZU~CGy?!c~nE4xDkZ~eeuZ`U+;<5YPT`z_}`a~NEWDapt{s1rp{-Y4CX;Xte~k)B>|e#OFFDUkeUBqtqz1GIO|CQ`0A4w?hFPvHJJF zmT0OJp2ZwIO;Yl@KVzVR(+tL=HUVXsP;>{J2FZbppuqQn!-|=OvYWOVh&^FHRt$gk zRWe~B*5N|QN-pQN;`cw#1q6UfhHN)^r!^;rIfxQgUkd!=l|fW*1fh$14z@@&gP)^@ELR zAbJ+6khvNq>54(-;aeHVdp#L*xyr#P2^c~^qqvwg7jG}avIoVq5091DAQU5zm=J<+ z&T&oUs!m{4LITD0JPg%4n64+A!dh`){!RLYEl_rjcFqPZvJG*|`QT(T`ytde{ME$z zIv0@cjx>Y}KNJV%0{-nOOJa1ZpTyh{+6E_noxv;s)i*-Mnr0FV*?_6TW>BiDAG9w9 zmFzLHRd8bymw%-Mz_k_+kLirTn-W7pHs+rXfbWs#dg@q6e=Pe^0!;gZZHG++S~LIk zPW&G+rRLjSx-Wk-=&&{YHPRip8T-7m+`hZa?C$|J&*C)D2tD=T~ew}{|*}PPw z{64x@8I$jETq@?-Oa6q+GMAhtIxuGAD$BBPfaQBs?pNl6O?9^u3WgZZAJK%aCJd@1 zO9;ZivW{W0^BG*tG!tU?zm9AX!zQdlGIPQIRQb(qSM}l}5j;et zsQ7VHk)K}U_K64SI!?u08N17uI{+D1=1<@yj1H)IjB`z7B~En@Ol55vmXVrl)o4^E zpH?AOt+mMd$b|C)V)e5{G+0kaYm`2klznb@%5U*yp&(Ihr=I55a{pl@A>aNO`CtzT z9D>J3hSvW+0WZH_!+iP98Kh!vNWcA$yMOs4ZXiGW^j&xSdT!?5)_Y10{zOXqxPP}_ z{lDK5xb2srOK>rb&VTrn7aM=W5Cm|lE{7j;w+;W(+lTBPz(xRZPUhElyC@SU{zrJ% z3MB)gM85Q8=7b21Z@Az%Djr{RNyznLS_~AW@(oH&A~x{S-vs`!7!) z>PE=`W5grEF&($|m@Bw2>3He26!SF^c#l^Kn+z3qecdN9r|jy$rUmCngy!ub#ELTO zI;PrWK6)Dv{e$cSdYSFoljjVo;-7!K%|v<#)E`!~-({ylfgmt+;yrrt4z~dHydEl9 z1G4sPMp}Hs)_l9TqL>f2D|~DCa7PhT<(^64E9m|DO6#b(raxD0vacH`zcfJFLbwd9iez42_d(190N;kl@pJ8wXu!p70Up>#mq#Zgw~>%;#C7NjL_AV} zbO)ya+o@+y2Xtyvo&%SXQN8ZQn9ZO{&q5H*G%(lpz=&)9NMga*poL9qOv`g?-lewu zLn}8O2^HY2m|-zA01YyS%x$}J8-GaATZ zasXo94`e1G9B^|b=+Q{jsREc*%5~5^;0~H)qN)PH8BH?bdTas#tspsNFdIF!Gzm2a zfS@dfE6NT~hAEYRGyc;7P(kch@>>JlK&t^6gXJ=S8fiOGN+W{slpE<0APoVQ(7VGi z$c_V~0k7C7;9e6ugguyn7_%UF>H%W!&RcC%OuT|tMatYqvm=tOiv};mlrv~*sj&VZ z266gyTvLB7{s=UU;d_#^{rOA!*-_)rM)Ug6rqRz^9{)9l6Fc%&7h^*Z?1y;!w|!Iq zjaXM^F?*q6^reltP`b~OfWu84M31>pV1-c(mCYJ|V#Nhyj{)dR9w1A}N9=$~MHJ&> zVMuJfe@iSN0=bMsDv|vkAQhyX;2N$5`~oD!0a7BO+Y7_hPNf*FpnKyvKu$l)7lZ3G z++Uvz0X1|~a3k|EhO&ILv_B_T+HWT1=k+R%S3B8-?SSp(rPTq{B$3lV=?V-lw_cHq zzz_%~@PTi-WmSIb#fDj9!eQiLCDs)sK+%cy>PSD5GQG<5ejSj2f)Wgc&hOB24#YNO^_3cTTWw6d9Uvde8X(XU1t;MGejErWuG9Ic&i|z_e^983_Ra>+z7@mZh6lD zid)cIJJ8(5VZT8J^}BWd5cGKUB7#3<@>76WIq<<|0p^S4EtnGTKIvwI!$aKjaY=sb z9D8~nE-l>Z&OT_xdtl|Z-N8PEwhv%bF&t<1dPFy|CwP>CwN&%e;eaZH27IkfTj?(_ zJ`liZwcxJh1js-ZphxQS!!z?Vem!?t(}KCrmhVC146@>!VyWq!oVR?gCmhMu-!n4F zKRClvzXalOKkd+z=EFCs5}bb_De|&Zf(*j5OxtS5-3_40$cPGZ74Lw%T zz%_DH!;|7S@Qsxy+x*-Iu`Wi(1pY6NjtTMLvm=A1w@4^sUVxgqcEk>+nEDu10*LLX zD@Y%BMQDRiwhIe@rrv?GObht7ltkn8>mPRx$UrQGfWj_j$B*HO3Dc)zeJrRE+y%HE$=* zY>VevEzyqMu5Htv%Xs~hWDuKTq*ykYU#8>zhatD(uWt^lsm%KjwKq=}t)|*V?Uz}w;V~q}H208sfa^fy~ zO0ZbUHrDQ^j)L+Q-)lv5h|SiTpCv&DJVzE$^)mK% zI9<%7We_~<5!@H*#eFppRz|@qwv>0>-1jg)>16UNy$e!_tZ2JH77@P2#huv{h)`)q zq--2}d&V3~$)l~v|0KBC+Lj04NVIT@1-Y?R?#MW5&CsOK-h+hC6`%77Q-+Ll@+l=?8C{kg z4Ov_P*&yDa_zU$3$Q|;dV)*casr5qD7#ZSwsrZYWTzE>HqVKFu9|FzEO!Ca6`AE34 z?+aWaM=G4lt@PfkZXYb;9uBJYI?mC$8C#q%b=8>Pq2As?Wb2A398j@rwUS^>`xIz^ zeM2^ZGwuvz?O2Q&quFeh-Y_zxeYPCe7b8zNoEIeXL${d?8Id|3oZ*B)Ge$c>qt&I;KCM$K0V?8J7Tyo^-I@VIJ>c zikE3RG!G?@?JWn7OQ^e`gLMFVdkp`VZly|EhwW&W!3;Q5+000%uq|Bq;BVdXoJ`4z zL7T{m<})re>_^Is+eHtx07pjv{4bp@U*&m}%5Hs!$sDPcKs7bZ#LAy5n>!Zv0|jKA4<3Z^@s`W%1IG#9B(_60z;XfY?HPXB z_Y~iGM~NJdg|#V4Ef&O>$4MlM+7c9tXu4-n3tWaqBdMQ4mifzD!c1QOv~r>B1=2-& zk93N1EX1h>{Vlm1%+2$LrGohCKt?cI0qBxyV}RfoIBkN0<^*hMc2)wpK9!5(rb@7b-{IFbp7`+%6 z1z6~==~ik83tA*xu2f7v*B>Z;<`nRjspgD}o78yJ$`$Qn0(pL+Xt1)T_mkp4dIgb` zz>+8{Y!iEO<>nyJTb?bWAw1UV*wRqt!~lG;5~W%!dJ--yPMp};HZ>|FDt3~(vq^SO zZg(?+>hEF*XlQq|ECV}n)dj{ucS`wqYrQ4s58UTVVt-c7_{?V&se^OIyw#TBXB*DK z?D_;yInp90LlcoOHZWm1ZVpbb7W>69Ht=BBt|u0Y`mA5Py)B$2S>1RnXGtUs=E6(wco%m2$t2 zj=Y(_&IM??#Kw22?CG>`W!m(BwQscYZ8P#MYmh+PqvK{?DSZHf6xl%JZT(I<3|e#bK0)ziK6>7; zap*BMhwi)=t1A^}OY@wbYJ?ws7l`fZ71*7pTKCn3BhlzF%Y?mHy_$u#h^3v)e-pLU zY;t#T@`5(Myc(^zUeHfv_5kY2n#-1LSlM#XG-(Q+B)a*3Wtf&<3?A^!(AuNGXhr}~ z4Wd@-o&R=wbQ(=f&LC$d3gqEUzSw@^tKg6j(i!bZVU8yse+%x(t(^L=DFKJS4<2w; zFg;O$U^nwf8>~*wQY}8#Mf_>Xk~5P9B9wRFmcQt~eEISh%ammC$T?d{Ebon{wyuV$ z_ExlZ1DFnXJWyO>+n?bEk@3Ftc7 zgZU<@G7SZ51-{!VY|iSP`#XX5dEyqGY=vWrv*X$)%;~!lPOXMOl_wVv!B^i#ipJr< zom14wZJq$9Bav)R4TYc_%GErig?md0lSYEqeThY3j8L}6r4lSA%c!AOnYeh%ATI$+ zHdG|QeG!ya_r{Ep<3T*nfj&j>N+L8(XZ*h6Rn9iyA^LIRf!+N*TRI$f%`Bz z^WSAu4|vSH)Bv=5Pab-(Hs_aJfDiZ|fdfGc?yL57>K95cbWzl?4qL~MHqI?aD_WA7 zZ>I|It75!V1yNL6yHfVQGYSu3;CMQGk0eWB#71LZBwEr*ta?PMTXF`kg~A))Eg9Id zyDj%I+l2KY44QNgcn1-C{(h+nk%8u9>`^e<14zny-)b@o{UrbQ6SrUG30@Z<0g}4k zN|W9}}!8L2{L!4kfbX`Bhp$@<2=D4hJqR5Uv*r}|^_{-bJJLVur?Qv5RtykbE z?;p}IS4M5rC%E5(f5jPj<=)I3%Pn^(Wp9tVU3ypcJfiw6z#wup0l*QyzE`=^yj342 zUOix+&HLEZf@dHo7H@dcZQ=ld-RxbArPE>-^Qq>&;Mrf(%#^&(5OMYtVQ{LWRyN8& zvG+#Wx3)VT_)S0S8cmgKT1An5Tj6Xkia3)W*tf05{vQ8IaSWn#bKFq?%)X%ltUSg< zJ(uvbIZ#O~&1vqJ!ONcxn3PU5HDEcMzV{%abhvpZ$mq+9mv~unx4@G3AgjzfJ?{5I zsy4^bkjv3pAG66zLE#4sjD}%i;Xua6{WZ4?YX>nhCt}_kEz-}<)b~b>I$-;=<@!?c z@ftDU`4>M}a6f;oClcVfKY6o8AZGfd9W&9QEotl8y-ex#-d6OhX^Ah9In%$sFn?Ek zWT!2QVtOklE{L`-`^;OV#y^#BSE$8vIA8NSwr+C?X{2UX7OVb&4Fk(r4O-_K*DYRs z^%-v$s{FG;g!Bz(tiI!~bZl;Tp2_WYGe6yg^YRAuvCUL)f?D@3rf_~|Fu9-BXmhGr z6Uh987W+c-8w~Rp_cMD$;lo+tEK+8AhcXudnq;u8x)*7N<`-$?Cz++oIL4m1{+U1J z|03Qaek1m|M4AsH2AW1JClI`U7d2*iXc#UCdZ;}XG12525h^)q9A+t(LRNx*-2D8& z>I>0#nUtuEnY1I{nmD zZ!TMr$oM=~MU1(efAzIK&ziwphVt!uDB1#hi6@~0HmQ;8+hig`%`B~;;I!MJ(DH!_?3&*EyMYs#S)iw_8nhx;`+_WjyQq0Gev>h~jnUk&Joy=yz?reEY_IA;kU5wxM>#Y?5NcVZ zb&K3o;{_Zjn+-k~9KBE0OJEI4kvBrH0hap5vx_bykSs2D@-i99g9GwowDz{8fm?@n zAuJDbMW5F-YiK)8lD|Rtd8TciE>9hf7st~N`NL~v_)wrUs4QonLsOAO_&$PJ^@+oQ zxmSFh5-j5Ew=!2Hb?4h0Mn~eahO*XuxA(#kRo(zkA}lv&>-_JL;o1LBBg3$?CZ%XF zmZnh^``(m?>wp+87YlIKy;;=3XRCe44~8W{|AiTtKe+`w1U<|$+r5H6 z@}VvBAL!+DjfpFp-f`-T+K+L}(4=QqKB&VwXBH49=6P;G$_Ni2#HE@EDBW`r;&>gWOjRU?`B zx^|)LytkDc@dqP2Px6%Ujti;vxfw@=@xcw?kgzT$bMID+v&=$^(KrEirj7NUh85P=UWc4za8?f%3w*| zYzlf~Y6{v`{SPwDS2e7al z!{%c|;5?j{brR_CAf@|4QoLXiP_L5+rsGjUP0RAesGzN7%yS4Z@=1+ zmCG%gSMYhYzoVDY<&+~6WRFiQ4FTw5UTmb=^N{tL*=1dxn!=^TtHRjKCc@&y)46iYLkvHNjoIFI!FOzrGxB*&2FoSa~t%H_Ceo~L^B zAu_I)x`nk55~-qqp1~})`d@9Jb@Hia)gY5g2l4fVNnQF@RY6;ZF|pl^(@XC-(jM>_dEO{3++Z=hwY z)6&iax;F?wp_|F5o2JO1f3G|s7XGH9+X2frXRbT_!V;}F)w=4Zw<9f1UvPNhWieTF z)W(H0SB3~098Q&s+8h3OEtAvwwRywPNA~hEdHKCrMR* zDW|wD$zw#E_mT+9%0;tzubd19P*~1%=?kiu?zZnIFajff7kZ%RH$B|nu(2Gi(P)2< zd_1BIQJS9m5dTc>h=L(IzeL{}lb@qjxiJP;E#FT2LSK#Bi3Y(jnX(#GLQ6`OX?8)g zUfm)R7_j<*q=zD@m@$qq`f|d}Z$J@n{^~b>ZF+dH>Pkc}zS#oL;Gv>Yjbe{k%wE!w zN_qZNo34G0sX}apHBPM=-#cQeE{$fZ>`k3fu0#%7qVx2W80i#s`YhM{JBs1us7117 z9F_#@^vXW047|omiVjoo@mUt7G;Bwq6;XM%Y0-wAJLknY$o|`e)9kCODgr4mP79tg zx^K8Y{P>QG7^{J8Jc6nCgTRHJHzJ!C%pVf2Gr`Kkft!{9p)&w9*Xq=`Wrv4T` z-tYJQO8VP{M__EAT5P8`5Vc1$jNw|D;Q zOD}crtZTSi2}apX$IXaO;-?_sW&|DmbvR&q$i2b7;5mTWazogFfvEja!B9z_qSk^u zqzMd3V2D_5uec2#_0ei&{Vd{l!!CehUqxCl=2kDIB^3^1vf7-RtNlQy#icb}LKS@; z#=ce`_38W`>WAhZfa;uTP7qMxtaMZW9`KKqoTHpVQlK16J zPS#5-eE00ut|!Q>Yd^fKJu=Yo(cNJRPog*=K7ez~jpogWd{L=Xr>Eh@O2kgO+06j- zA~m1lBeg$EKg4YpXW{S-yAju^rdt%__}NNa;oW>Ti)tmh{FagM&-{SRYXS|M?0TX^ zasJmyw7ija;9C7ruJWvo&%MqC@X~!b?NWY-x3=1UBV%PUvg#KY5uW0dD{tTd8Fj#C zpx45=WKMiofqyjpM^ZCJ3&>XUq)No0B;@N-^~4E08_!XeCURJo?t2`8rX_pgbIUeg zxme2d=W;(b7Kw?wCg+m}N=GcAPxW2xGM|8oWl>UuX|LUeSqMefmCAgWbIC zEIG2bt4pQY^v64IA1@u;H4Z^79NUBnb>+?2XmQ6x75iSRMpFYWQ@oWOh_rmb3y1O> zpx1=_*xu%!4$f2eRM4VKsNHg)#cLc_SyDgu46=2T*8Z7r2T`B|pR6+NJmBN%H^N$* zJi>a5(-R!!Jf-sOL0a$N_Q_|#PAH0P3spvng5`<9#Zp;96yYvOa3zw;y1(q9q8_#V z)4>VT7!4&YcI0jEDQ_zYed1IZjGg9Ds5 zAdwaRV2ZlL;7^KZ`NTt$cA{mF#zIpp1hmDEB}@#t)h#OJn=^s)>70hQT*vbWpJpO_ zafohcaa1vAGD|-`6st_(WPkGYZXnSgRGal?&sCqg-F`{QQ^Ft-96{B}w;68Lmg!8E zT;D=s-?y&rYKup<_?juUDMdc^WXX6vJt0XM!#avp$>N*U3qYL}`|;)ORRWawwUAY- zkt7rC84LB|F)O89FF@6om`_z=wdUG8uffQ3;|q5!x~pH$YlhboE8!wHYiWKW*FgUZ zb)dG@n7oB%*64lLi-Tgu)<-Q#af7BfrQ|dpa)-RF?eQ1aZ`|9`VSSas{FQal{J8Pi z|9O5EWF5dD2TC_2A2q5{ZYk}SZm%CX+yB_#7+1Nxw6~X55VPkRrNxAIM)~^SlMwuaZ);w4K^d@QNJc=4f#)#N8@!mZhP0|hJN!@eZ zU2CpoD5|e;HK{lF9jJV=BQV60Nc<#4{7z1Xs*Yq@f0ax#rdZ29@$#4Xr*`+;{9+Z% zx06*{5?&%gN@Y{^@GzK}==+`W!o-HcpbOZY&FB%+2)*<8PK|vg?NqqAVlp5_1QsbI z)6*eWS`zoG8r_M=V4q=n@V)f3tS`Ly?!7Ht*4~Efjp4XfepEm;X%gTa`z)=MQfVcj ze;xurPUXbH1Rg49(J$6mGI(4iruL{>x}NDDK*!INA3Sx@ACSBK<2NoE&a0rs?Q&$D z)VH|&Y3@hVTJZhUQl;GT_ea6+lrVsmn%ElWO_9L4!8LZI$Nt=7cMOF9jL_%`7OL&K*`+Dxx3R^0#-Nxtux5Z)%s zFR6oWrfOV763>=XGdd{a4H#XAa!~Ms&n~ye9EG~VA9mBRsH!_a5^}>921tYt@!&>H z+RWF(?noy}7!+C^>TY*&db<%HvJRapLZp2NR>_yzUC`c zcyaYxeuvYd=yH&}f8scaE|$fE1hM$y_PK|*1?3A&N_-2SlK(h|l0kl~PRUI|w=lcU zPf^)DdizTy6@%3b(SofJ&&G%ps(C<59rOq|g)}ZM6oAEU!6GPPmJ7nZaI#KQ!kJ3V z>B{P0fkZWRgB{Y1qW}TR!Is6&&@N5IIXh8@n*&_zj7f@>z!M1yG%?bA3Q#(x8T5YiguIMzzm^0nA=a)2t#QA=9|Ww+P*AXf|0b$DCi)yI_uox<8)z`ToMGe|=Fxur z{n#3HHeM?UC!IYJ=YpZ?dx*1g>-^`@?Qxmr_s(4VZSzbc{rs^#nkW)SF#T>IFe6wv ze?t|EB*_0H9>?_f_l!&}w+`knH@hV{l5?mDb8=8E`Er12Lk7l|JL(-U_*^BJw>*0Y z!|7J#ia)tfT?mqXI%I2}gZ@OhoUbjH0L!UJcwn)DTV3xy^V10Ho=@Z3>LB1!5?W*773hZL+#<#O<4c_#^KZJlmF{@8KA zqHy)h;f6-Q5{KnkfuGX$Or!jUHggt_Iqb{ybRq}ouQHU9JH}{=)oAgRbCy#+U24x4 ziZb$N$_IuR6CbCVO(5?1MT7G(_})`OE!SM#-y4nO;0)_bI5oL9VI+%_sj43&I@rjl zHwvfAYPwq=#$mBZo656C)>2f9wwUume#C8g0_j;f`9zS>lckH)XDQO}hp_mU;L%{^ z`X61(U|5hzm8(m@4;fR3vp!hDZPyc7=nTKRxJu4$wy+abV1cH8=WHieoU&u{U#<~B z{t56&UlOCcCyptEcB!)2e7h0e5lOt5TkfhNK45LYpJ^8)-5Z1xW8*U{#MRZYP9F#y zC8;NJxV@#~!jf7YU&4N~YnA8A_i|Nl&pF7SQ=gF5l=?n3q304mxQUl5>}#A!D$5%O zrCaMzkwm zlS{r5VGiKvmkoFi-QE2uSwX7!D`nQvRjQZ_8TqRP`cMYZI}7*mf(~8oH`Kvqa;HAG z)H+&9=}MVVl#e0*$vk^6qkXWuR+Y04pOYBGJdLyco*yVo2*SGhr&AQ@)CoB#fAyfa z{vM;~JJ!SpHqNQw8k?W=+=oPE>-xFgoQekbX09kec*+p>k3?~TPb%zilkR5!P|zOdKGiY z3FF^#>#8Tm&k3`Z2XS2tKRwGQiVk8OexuFTjiSnCX6xLY#AWK*N9W%j$?4VBUOXro z?|`&?Tq@N2%X>rq(`)%7W6{}xJ*T0j;mqf=iJmRrI;-6F3_OVL{Ypwx87f@6ZA-^C z`#j#%rXE%Xm_fl zr5De7-zP{#fL|cxRN0xjpnnLQw?hKU{xR`Gfe+rra7A)I0E>9)4BPZub-Txz7(XW5&Vr z5TvLBeY8=Jr0I4){xF?@|6TR9aw+w4G2=nKB%T2&^p0#EKw2D39nOHEy*-uei9=M6 z#WaS-iQZCn8qwcnZpwwdRq=H9cXtxX$FL;>E5wB8@79`(1XS`J;T%rHyCd)MR(?;S zzBf zJ{-MxG_37U^+F|;JgxCC^UH7Md9$CcRmf#+BfT=`EzL$>B+9X`v|c?9AbB@F?oT`V zu%%1sSWregduslxiZ?)}B_=r9XX!zjS8l&z#bP?m3(+TP$8Yzyqwx!8_^?_B?O3lO zZ#0+E8(^O@Z=RFz_?67!YM!|vG8z8C#bRGt@1Q=N&Q0GPzU^E~JJYX`v&0f@M$D^* zD_sIk0qG^nx1IS6P~>hh{*7{L=f}z?$V`Tx+84Z1t6AqLA>#I;^|t&1yu<}K0bq~w zj=I~vKiSFaQgJ=%4WB&-QLEBSjo@Q9iJpFQFz)x8jR}65-K^m)Vb(0_vHbV&`Pvgb zx(js#@Q_d5fybMmtbeE13n`uMVoAZlFAO7C6jq{Y6swRWl-c9RkT{`hjZFGj*@~{W ziOMnA*BkzHO+v=qF}>yA)VRnn+m~XL{)UVy7|~9s6{VTUv6+qeV^4c2v?Rd(B=zZ+G;%SV}_c6Pq{j z-A6GLDg@j9`Ea{GrU{+gz=`s%D*Bi3!jCwnr@^DGr1v!TS9opUI@aiof8caRw9y}+ z4IjH9k9~0g$%T9kekHNVDzxKH<#(BEwy``uk`cx%F66b6=Ogb_(mF?t1}d|=nE=Aq97)H_RVrpxivj?XtX?&Ch|WwPoqXdo@Ke~Rt4#sx!JXVY>+Bv$JZ znik`_3YNQboTYz`+oE$z#7odrjl2HEAt&)R6Do zO!FZvP_o+A7SR(Vdp!I{29Y3hbt8gxbKs;uU4|tW<5RCAOGA~axO9fP1a^LaxGX-t z`YbYb$kT5T&nq`kdr~ZsWg=hYk*?82bcs=$%PEg?c%VjR}ntbz;z{mRy)nSKZ{_ zZ5>(-3GE93?glPXr*6OoUOwLk`)|7U-keUdgcIxqM2o1^+Pj7cg9c*gIQ+M&^@bcw zm1PYK`$bRu_z2L-2U0wGx??Blkr}N$li4D##0r(tMkkbhBB|+qS1;AHid_AWrlj7L z82nqB)wjofy2h#F^U{1*al_#1(n#~e4VPBO7mS~8?+IimD~NON&vodc!Ku(iHu=i3 z2Gy!nJ8iC`n&joEDeYvuZD}h1*87ly2$$~^o$Zc3UJAY3JkjxMay{H$G#|r2JF(;A z?u7~RmdPUP`(pM*9-Dl!DcG{LL$@kbmwhK#ACRES8%Iso5yokV-*>BZVBOGo9xwJM zsMzgASBw1CPXYPK+Q;&G)+SZTwN-6}v;B7u4!#h)Ctbc0q}gzR!PW2yUM>W|x?UuX z{Y5~eVwb)|YWDthxGUkFUEH=}ih?L_*6h}0U1XlK=VCdcfJRG!_$RbyrM;pE}2Q;_wKOY=eE7C ziB%l_$3yX2*L@udMpXtyt1o_#K+z2}!^|T$K|lTspr|zi#UE$etXEI-!Xk4thZ2^P zO%_^NxqI9ew)A_6vF-w4i1^w^7J(JLx%gKHEV{=_U@t5QS|g(pF#2m{Kf z&0zSZ=j$shP-bXES_LjaG9a?G^fatWu7Qcd(5zI`v4B*q1&`d3q?i(egjdHPoP&a# zgONE1xMD>e}0BFqFSI?tuGTNUKxn9)F;Bk^DX$f z&3!h6xbM!+-Tt6ih)C`Go20+$iNuT?#Gx6X#XX<6j}_=-*2A@^?JY#+fRv5{EsPBq z=$q&kwz)(Y0DOj&ac_aRaF2NFonI%-pr4lR$0xOd<8+K3a0s^6TSb1LWW?cU=AQe5 zdr)o1Jl7d@w@50jVA%Ze%6pn){x;78qb_N4;=Ls=st#-mO8C@*P3-2lN=M>IfySgJ z1vr!)Ew4)VwOvG7#U3sYAdQhHUJOafgQxcx6Z#3*IQ9r|5;XgGc=-7E^PgjDobNQh zmv|o6r8iT$79_#$!6%rhE?=@o!5n=$XZ5<@9C}?3yn&5lN=EfPRMxy zJj0kB!wLaW&RI2w3ulc|`S{z95SOqj(%li%i9SG$4q^AoK3|@u=pF}{`f6YB&zw@8 z-mM9a>G<3#NVM&1t9pEdOh4ZrJ@>L<8X622(O@!rX}xoJ~banKrH zQ{$%8NAnpESVxxSLWO6*LFYI(wR7AACiJ(`BFQXBzJj;@7!T0{CZW#Wn8CNnU`7FY z1Wd3Z-cfZB$m!p`?R&JyEn3lsq<+hXiCJ>#P3g8yUZmB_h$~PJB}@d%10KEXbdVkH zQ#z!qaPb8|C5gL-VG*n!OEB_bnMe2a6jfDdU5Jsb zW@BjYkkbNe?Nqy9R6ze=*I3)difF6)DV)LtzMg6atIg~Le!Cq=chDwCG$s-IX#PwS zyfQ``k6>-1gnlb?^VtL7VxTWFY2=eCQ#^WARD?7etD8k-Z#s#89E#)=uJgQ~er)7k z8QNPxtU}z&zTWr^ZzOSe+&j5F$^QEFoM0Bf8IlyearJ5dLi}jL1zyyaw7I=dPIEiI z@HekP{-5zJm)0KLmGzdTlabiBWtar-+X(j(H`%R%`W;77T__W5kU-BTmn0ijl?5{q zVwXyTj7-Gmt*0wCYn(1{0(jY=jU{T)sIDY|!{-<2nc>#*rS$=SqJMJF^<7C%etm(2 z0he*&UU%9IlC_)82YEs^AOTL`voaIa=(<;`W1p+=wz9vRm0ks{G1dgpeAAJ-Q?)!8 zt6rriN$ed(#eR6Ll*^p;gQ(*!`Maj(Eh=rokH-UP5v(+J158#N)*C>%lkvBQ|Myrn zR@c?N8~%$w13{HcUFM$&ItlQ|;@ls)O0iyHK=`*XIGoR(3=nbox!U%OS^wmz^gh0A z8_#3LC6)P-h4gSvR_BW~0h%@l?~D7;ugG-k~(6eeUQc_(Y4Z;A>+}wGE08f-P-OZoL{lSV9@~ zLiuWAf}2Ojkv=r;$yooleN3sYi(F4KQdNICX7JrL&lk@S@()vl#U=?xPtSKuyeYbP zv{Stnzke7ojlTP2z$C2Rb?WmHq6kjjG5MLEWCHG(L6ubsCUrC&YU-~3JDokQfqk=p z&q7;KVvCcj!M8JRN(0Xc^4$D@%#L7PB{I>W!JW%-&C2zyx%Fy6+bw3f0P+ul@Ncq# z38=+P+^}J_l|Zn=SvOUF-d;Hx455l1^8FK|KRl0HiUV>^PK!1&xk7c7Na>|l=>{?w zi4a-NjL0FycLy~4KJk_MxX|x=Qvu02&`UgpD~3`MydE*7`*K#bQkZkM_rrr9)(^c& zximlfz$w@}GfIchPzRK7K_c)U;~@L+SgOv&vO-UEbU z-WUxwJ<*buelWy*VZzEFN|LzLk4s9AI!5=f95M*>vBzF^^dF$;bohE#$5e`ll#~f^ zqiGFhpboL+Jq0FM$Bk@5vYHS|2x^oZr>#`}LT^X`buzWo{tm z3CO@U_n^vkyZq7&J4dS=a+zA@q+EUL#WRZ)3L_wgy#i=uCSeHpM1e4@9EIc;$V&E6^X|5d~!fmmG+=)JhE z^3luiAFZ76a(xKCIFpyrDTdPo>bWVs-~ar!`5T_1m!~}lYV{o?F#=UF?!OZrMX+dh zT6x>3DpXJ3BEHAjgHLw zK`Q1-yMI4HJkXaL#mezKx;Bk|Vu`Y$JTD2OP^eZstuNE5oceJS&MT1l39+3I&|E9= z+R-{%aQQ9u#aEuF<;#&#JXx;t&@3b=Q?Pqo8qS;|PS}paAklGkxZx4-_}4_4!=WZ{ZF-{uxIX!KhKAR4Ls5TA$tZ ze#IMlxK=yO-j8v-He_tIJ4o+Kv+fyu(si+0?0nDS0e7(8#AzO8Cc(r2DuZD^SxiAS zDE89(A<`tT`m=&|<99&0oAhxj8=yK6sugDj=owBn&RpB=DGOk>pRRpO7r5G+AIxF4 z53IB)l1KVlpreSj4{Knp37ji2MXIbKTHpx&{r1!ptK{xH>Req`_Hq4gzst%z$NZ>> zR`mm=!55`|_o)x-9}@A{Av280;Rcp&am1^|)(}l*2UbvyGR3*t9q&&h6{l9exBX&5 z$Z^X$Z8gGtAaq6I&h@du06{M59@CQXli)N7}v)cFG$9Z~E!g)1G!_0*3Y}*!b`#%d2C7s<#VWm@lbY}7?`&smLEl=yL(4PS5%LPQbL$hrc%QpKm_cgIj5B}iJhAz=z6d}3>v(rZ$ZmcH|7t|CXPSY9%{&OLh8wwo@E`@>s{HCBlhX0k_yZ%k^SIijq(tfJYRTDX})Bk!`=##?3 z=#PQ>i5WotUvCP%64@F&kAQY-^(5`3^|{``mzO{S=!D!6qDlYJ2Y>Z}%t5SMQu&pK zA;IywTJz6!Pia7_dd2hLg&hmZ)h}G#MQ}xuz+|5}jGx-|UH1B4`Lq|u0?;?}TY2~{ z^PA8=w93Dq6(9#d-_|*6ACe$h26Fnp@E8{_&JO;y5?N#zd@!C+cThw+d#1jVntUny zcz(d59}Zn15OxFCb`AnR@VAMV{4Tg2f)5!Tdoe1%M-*~6S6Jfx&dTe=*na_-VBbV8 zJykepJ=~BKy6^%Bk<+^-1TM5Q0)8Z_RN7KYCEgH;c;pAbBK{!(PEAgrk@F%|;2Z|- zk(sI-I3d9`0r9+}6+wO&_qRIA5HK^V1rRR)8UUk}&7ux{9J;!bA${SigM}n$`$O#} z(2#^4QQa(Zx>r2EIzaEqgDwPn)lyU9RLKO>llX4-zn1I~xTUzr7ZoY!R|t_0q!U16 z2fC&m(H0oXVKNyh`p!5z2fZHj?^vL7)T!aE6zTO35Ro4)e9*5h$r_Ta&Y8(#xqcMWH4EgKgNzExUvM*x zh#YcV3T}cyM`*}@RZi+J@sgB^UzAnFx>1|Jn{CiQI8u1ikDvbv8&L-F{2q(__`AqH zV8ZKX*s2Dsj-dhVI}?S%xV8gH`3Dy(UlPipypj`exsr+n0pXWg7lZ!*LSAujy-i zo}Bu>`88j6R2VOPfl8pf^gkBiuVDcWEV!LW###Ne|H_^xv5)^uA zdan%d0r=NoQua?G_h5!^FIMv9dcOFR2Qs|EY9uzDPDtr#|NYK4UTQDXgIXe0;^tLu z>oSlApOO%KN^OA)k1`gS`tSO^xZ;`@VD$~=q_;o|0U!R2&p&quTyj$Y*r`={85ch7 zS8TX{b_rx>+8{e~xRh>oVRgje`{e#@2~C_+ovwD{HF)>(9(_=T6yxZB8D4Y!)*dGQ zP3ggrLU=|kyf=;4V#rPR6BVy^F+co_05I6ReQ#b|-yAUUm9BI3wj1iu!f>|eWBq#_ z>*R?OSI0iMd29c=*&x4qAyNpaBu~Iym!Rx6{QIJi1;K%9zPOKO&;!d}&gi**g3t|m zhzr*bZWtMC6DZjdqv_KEslv+-ckw69D}EEO+U)5;&tz9M+fwv@+*Er)xLtsN0Ybrl3VfPu8XHwF4;g8@chG6v3**0|`_ z$V84*sZ{k;`JC4&D31GULC}D;n%k+(SFPCjEc*owqLp*`fp3i@m!PY^2Oab}*f5e& zG(Y2zY8H$2D2g1KJen+;D4KYh&-ZLgUo7a{i_jr{M3pa&a_tZP{kZ7N9ygj|bKWrA z=hqMy_7Kw$3yqam(NoC^+kIsm=6RW7zFx!No|jQh^+XsCs>o(NfNOV*!=4$*Cq5!> zWyv*kn~U#5py09qRg6hgn64nrI?hESfx6^riloJ=&wuMI z`|@i7YLCQi|F$=XLXVms37I^P8LM$(&^;y5RDQm!>9FV5J2))-ejYQ(o%TOmIq+b} z!KJBM=TqmE<9_Zf!un<6zbsip5D;w}D!$(~sD<@9j;5VA-)tq>ue%-%N#FP1cLIFh z2{w0}pS^z6Oh0A;@+!G^u@>>D-Kx#)mQl&j4&Gl$#Ooq&q~I~V+?W2n9?(4iAviSd z`PA&lBOx}Stjc)~;<526zvvK`xp0e$rYt!CuFgg8=J>m%!8gtjR~1irvJA!8i0eRx z0r5eNX3RWCP^?W}O__R9w{F7h>lY5dNWYGC=lZ*Vz&9U|z*S^1zW3QPTE`*PJauxI)88O$Ju^QqHMEd-U|E^6g7H{HlugCj0sBIjdJRiT;$M%G z1TrA5*)!yMoY*Lu@x;X5Y(gwu5$3jHr6-S!<_l-Cn0u*fvdxY4P)zoomN)~T5BTj| z%EV48ZV%AUKa({Mq;&2Kuh0*3C*HdD9B{#_=HC$cqmA+wMb_>Z<4sa}rNV41Lweb< zO<`AocI&4tml(g9 zTwSrin7etjV_vCB_u#mbNnYdHrMbcHNhYP<+v6`DnfT+)wGaQ%9hh=Ve(@|?8Y!AL zv#&|BJD89)QH)Xv_urs7pK9b;F!@<6=u}($LEJ7_2Lc=n*V28+6nS>*s#$8a6K}!* zL&-{F%**gP!~6~^pKvrj%)HM_9uwy$fiCkBEf3WwwU;S(o}@sjjwUrbZ+4h7S4&aM z)qf@G*C$GVJ||;g!Ny}y75ihF?gDNfJMz1C@5q|gIK*Q+J2Y!T#gi`=)CK|cG@LVL z=n7O;;Uzr8?-Tc$)1;~(ua+6xFUa!=v9(U&Q`I8bgJIN$&uk|CEC#>G08uf~4G=h9 z2D{lT4?smFP2(jnylsEHTB`MPmevBmiw>4^YsFpzh9jfxiu|nPQX?3YmM$~b=ndqa zWxkip2_%rzD-ysxnZe3S0$TAijJQ3ppIAs00p+hKJ?7!EI4UJ{ubw-xV=O z)($pj^G(Mqz8}qDKr4@6c^4waTIHzK@&X*q7x6A@qcQ=0hl|S;f_z-0y(W{Lu-sP9 z+=+r%tJTh=Va{<*G3hn@)accpmG-}J_umH@QR*=+HIadH(?gwf7mwFTn{OZ_SZuYN$hX@uddDmp33i!BJ+o=jGt?d|Mym^-~aWh z`>Olg=XuUK&pGEi&U4-$B`-kjN|U>TO2%Jl*N9tF#6|f=@B}NpQX6K+;hHSpTgpOD zjvop3*6Y+gHK<$XEo{~JtvB}+pj#cb>gUlbyu+P90QE|xiCfrP8+2rSLOTUKs)V{a z*hKwod^mXvB9X&kbAhLfE}M;B&6qHycfK3My$`?n44kLtlYr9;O;WD+IcxRNccHZJ zT=(QM4NSn{kJxpNE~cjvN}K6cuu!pv8P=R3;ebEDpr z5H?}N$&7+W<5oIF7}Tqr_3SpSv94}po6lHo)HAj1_@5UdGL7IndUo+HSq-d%ipbIJ zPlQW`-Hg6OCmCn~5HI~&Vb)b=GEj!yQh0!6({rb2i zrDqIh&ptI4=9N$L@>@@vWScS_h>lbLu)i@up(>?r5Pnv;i#l1<4K1vGbbY3~iNv1F zBzW*KqbCV$Q)~htjuiQ2e!ftQ4w=!^w5Rn4{jhFKxg9nDATPZ^W>cA0E%(`C_|2RB zsu%0dbWS=`zs@U$-K(j_*@58{B&YlGZ%eZ10GQK8b_GDuU(n%`GZGu4hgM;^7#i`K zl0jTwXXA%Xn6{=}###wQR*J`QUrx+xk1zn4`ntS4NrfF!zsyd~;9vh^hOj)|_JD0} z7+>%DHzZai=SI1}5YH0u>F{pHN&u9d=Glg?s6PVDwjNZltjAFgsyFj?!Ypn1`98o{?GQr* z+4^WP6y7yC6UNQGX{Min_PW}iFVR$@C0flW?peQFJnf$U@w+i(l#()}^k;*bWQ;B) zA+m#=Tior$$9o*61$x>ohLQ*DqeHkP1AXj7qxD_>GVgAg-g%%f_LlO&KW4^X!o{>v zdNfIL3l(w+m}vmwjwpR>OBO9ZF$jr+|8l6<2L867uQe6+;;aUnc)B*8Y^46gv-v^n3IzA%na#ba>6&(9-@ zV!nW%3W;#C4v_)ta}*CugoBNnSSub4@SaT^iKZFMNt`B7!3Cj$o9|1ojUIZ?OyVJn z3?yATB8KW3DtS65#{Q@>o(|QoB95bGYrr<*$*r&o&s*)?-JoQ9W#Ws=5N9Z62po3P z@%K;etlw)Y8e$90r;_OCw?=rkMS5k>x zVQ1i|oQ1)uT|EBqJFq7K_%m#NW8*K{XnWJ!TzW(41qcT-XdLR_;o4)qM!^|djCZ-sBu4Mpr z*Tz*`Od z)nxdmc%SLh<9Oc~DNO35&abCtSgJ6`DRds1o3j$V@}BmFe-fa=P8VZA^r$nTjkc5_ zv5l6!RoB05N`$HVEJKqFN10g?$D6h(BcFDQiIxjlJLWRHi$jN*G+ru1eh>x?vtRE0 z5*gthJ1GBl$=-i{O`u_V_*p=lsYuljb(c!**`p$4wo{oCQ7d0t;#R+SWhjOTruf8y z0#5iz?>K~z-MDSFw|fwM!XKfq)Q?1bq*`a#0-k9`ofGszG*M0mT>3L+`2KIBn_%PL@tnPW$&JZ1J8@{KwHKtRwpK6auiuNl)BCBVZDT0)Cz6@BHEW|xy&$sK*V)eA%OK5LWkcTmR*Rf{Q3!R7UB%{ix7ii>h) zyHrRT#JV}?uzI2db1zDGG7XX-{Sbr)A5xm9kmi;fR9dQ<#-XM038Z32-H&p=hW1*6pE#(Rc!SUVaUleuF0)i~`%=@(6gw_5 zRH2}zzmAEB$kirK2c28egL7>2#M(Y%dpZ~!+iyhkI1ChXkNRy4p z@6D~fJ0bUmoY;iebpQE7ir!3-cTNnCw$5uP(;O5z{z1qW!#&zYU)LEd7ogU& zXr9wVnAMiG%$`lw7c+VR+m3+Xnk%6@)+winUc(SS*H3{SMhXCDQ4YCVYczr(SuGTh14dh zP$8mZJBc(uC0%gsSMQQS_~)?Ii!({89>=i$+bf1X4@ zbcwq@o(4v)_D~rA@1FO)DqS2A%i1jFmOCuz{y$stVEDxII8_BcobNvF{m0n&elVgy zO77A8!^KPFm->NpOk47t_5XhIo<*uT?8Ya~w62RPDJ2S#tXR+hb^uOTxgt+(4+NH$ zAhV(TYFJjqsKP0YSla1Bx*%|YGhD${xtDvp)Fyi5F_}27M_mvC6?-kKO^84j;w@8N zf38e=c<}VTj|uYtc-)~XV`+~Wi-d;V-%YhA+X7v_1m2UxR=LcHSzR1{8r+8$xzK}v zR+(A*6ND3X;Q9$d$mInQSqo|d54)epx$(Dr(0q`y84%LerV<@Lc+fWfr?LE7Paw^+ zXLRR>D!UKO0elq&(T!HF7T4TBY3}21fJE&FxsU}w5HnWvz5{>6zIvf-P-*(LP$k6w zYY_2x<`;%_ypWXaS^+R?T-Xt5%Z7GEF!2+u3frzcASZH*g5@ zrVPT9@DgmXzGH3gp*>(N!@H#RzRB_gf5BLtL>W!+|Esr9jo4) zXmGSzfb%N0IOYrBSfzL65SZ9NG*$}hTZx__G!mt^$2`FcTLZZ506?zo0X8dm?;m-u zHLT?VNOG)7iTm!j=ljAs8mKjL<^!*Hv77^4(J<_@ZYY_>Xc@Q!LKy9DI7V&1meU&Q zzv~wQf-$H)WHT{|y5>Qqxg&<>wgYIHl$>#>ciG@;O<#cc;&ScuS;6J!irmX>A>38XeInTq&#!?9k!L^VZtcIQv}vQ%B^mL_ zK#u)<6RgcUP()D{pYpt6Fs5|`cdKles_*kEVEnftoN?&6xPi0@dO7r>fK5*U#AA#1 zB-aoKGK_+(v_{g2sZvRUadsx3zsEN7_znHm{$piz!DQb|wY^&w~F;)i(E9j`Ln4Fs`ApmU&8v}R&YcXDiOcK(H! zm6kci`{82>^j(Y&#d1g!f=j=xvQ+AG;+t7zHyuD7Yil=QY}$t+LMi^-{K5g=YC3MBmcAQuXZ+9{M7*PiA!Adm9lq!2j;u zsvPFk*5#`D1}`H&9ifaptf)yf>ic^{-je}~{b4%KEki&d-d9mira|D}a?cnVtKO#< zQ`{TySrn!%)Mqi{dc-yW!*|znUBpNTQSCa^0|H_Ok`SnG5;MFFl{OLDyCnH`}Yc$o+Ux z`|*f?zPpi8O2?%=$j)t2I`6i|w%A;|QmZfSI4q{gpxZ-*qV$Dq;Po}&$~E7wZ4OHh z1!D9-{$Tob^0~qC{MWI%3*8_gO39P?q`$$rSDk6^ZED_%H08$p%q&VvzlVdHLNn_H ztNIuEHAeAP!zLZD-lvEwEPr}FQpjy^tfE(2=|RkECN0e28YNLy%IH_0Lc83$Vq*1U zBN!FO8Ous^)ohMVj(EmXPZZ7YgH-eIEjr?mx+v{B$bh;+vhh^(jw20`|9Z@R`C~4; zhj574>g2(+r1}WKTzxbyr$YZ-;SG>pnPtuoUT+frK9=H44q7vs1FX2geu;H{j#N8>upeGxgc!_wE1djwth=&ttQSMd z(-JHU_|sukyk~@EA4sU?F!ffLYj@36ykk^b0YM zE=&5p$}O}2`OixHgGRW8;Z3k=6;$Sa>{IME80SF-w;>ZCf|o(pPVntg4DIglrlF?Z z*n{-w0OZU{20_T(ad&&Y97Jz63fC3}2O&wRRND`7I-oFH7T*r$B{_BuTbvEDBLlAA zhOA+C$(p@kE{F(Z?&Zbae))AGQbmHdmnlY@LFA=wD>xALTMB5%1RGYvv;1k$?vpw( z;5|Aum_egkZtpd!BwaNjtKMSgBp!fi7YlY{{$ePI89=(&@>48NId}sJz6rJ7o+ zVT&yG4AbiJ0RKSuW->-!N%BaR;Mc0iiz;hn3ty`HKpV><;iEUm&eere9CWzvB}Sft zUPreR)f=)4;P-y;L_oRAVGXFfU|!!r`#`RyES}%evm%Ap?9m7?$2h!E6oEsqZZJ%p zS`HlV-W<(huxNTfbwVj83SJry@l0+42MZj2+=Qp4C>Xpf<-|L)3&V9j)v+9Vg;t&C zY=M;4|E8tKkfQMxr^)de|Ozf*S zX-rH1dgJSJM&$l0c(dZ;AqS9nD;c!ud1V4`T@--H-f+XY-*$RS{LFrYZBk~EyJqQ{ zWO|BqpzXfeMkgo)G^qS*@=x7g^D>j`^H?(|aw$NlHz-$Oy4hqxXq146m|o%Ucn28~ zfw;&LVGkzesIRHZY|k==z12oWrU+nh-)cJt+(0F7K@i6{S36fzBeu_Y*lu5~{l@*u z!^i0RK^u*Uo#F5fEtj6`+I7cQ-XOE(&3EM(J6>GN?o$jG2DJ8gvQnH!Mi2dRzro99 zuQ!A}B+$JzVp{t>+64OIJQJte5-njPNjW5}1|cJE1Igg^!#1zhL1M)FgA?u?$Lf|p zpTw%eI*b52PzbtklN$Q}(h^i>b9;#10X;Tq5oi~!9lmvh$=f)=V<$7#sK}_+(?e8I zqy6}wokBhX5u1beT`Xo_Ob#TJdVyZR8mz%=M=U|}ZF%+6r_`E%JekO65xi~_&LlZZ z%c(P3+l+T_Y$30_6Za@NcYW{;wa@CeFN3VNlDyak6jBd)q>L0xw->R!I%78LgIQXFkuVr4H2jt8 z8%(;3Bc-;n)})rpbu(FsO2tpT(i+0QE+!}#SO^qXcqV6jqM;0(R>VI>{;Rp!aoibl2R6#Ij2+O?-@^6LUvFc zDP#tIzQJ9!ItqtWU5F~E4$2P3kOW(~(Nl@Hh{$r{3a?*BETC*rooc*4Zm>+I%J}no zMTX$8ET}}RvHXY&j}xH%e@17#_!5|=Q~oTJc@ARXM^K84gc8KBUa>kbC>j?Cz7gXu zh&%!%5Z?G)Y4P*U%`ODrn7$v;gc4|cRO9)1HK_0oVG{mU=9Tb#J~1KNzQ_JQk}%;2 zZM;b{g>bDYU6$^k8t@gLwqFc0%xk1OObEpOex_Ix9Rh(kjQ4O4Au8n<9Q_ Date: Thu, 6 Nov 2025 15:58:29 +0200 Subject: [PATCH 2/7] Fix pages ordering --- .../docs/administration/authentication/basic-authentication.md | 2 +- .../docs/administration/authentication/token-authentication.md | 2 +- content/docs/administration/authentication/user-access-rules.md | 2 +- content/docs/administration/authentication/user-management.md | 2 +- content/docs/administration/backup/_index.md | 2 +- content/docs/administration/backup/data-protection-overview.md | 2 +- content/docs/administration/configure/_index.md | 2 +- content/docs/administration/configure/canary-rollout.md | 2 +- content/docs/administration/configure/service-tiers.md | 2 +- content/docs/administration/troubleshoot/_index.md | 2 +- .../troubleshoot/databasecomponentunreadyreplicas.md | 2 +- .../administration/troubleshoot/databasereleaseoutofsync.md | 2 +- content/docs/administration/troubleshoot/databaseunavailable.md | 2 +- .../troubleshoot/domaincomponentunreadyreplicas.md | 2 +- .../docs/administration/troubleshoot/domainreleaseoutofsync.md | 2 +- content/docs/administration/troubleshoot/domainunavailable.md | 2 +- content/docs/administration/troubleshoot/undo-tier-deletion.md | 2 +- content/docs/configuration/_index.md | 2 +- content/docs/configuration/backup/_index.md | 2 +- content/docs/configuration/backup/backup-policies.md | 2 +- content/docs/configuration/backup/database-clone.md | 2 +- content/docs/configuration/backup/on-demand.md | 2 +- content/docs/configuration/connect/_index.md | 2 +- content/docs/configuration/connect/database-injector.md | 2 +- content/docs/getting-started/cleanup.md | 2 +- 25 files changed, 25 insertions(+), 25 deletions(-) diff --git a/content/docs/administration/authentication/basic-authentication.md b/content/docs/administration/authentication/basic-authentication.md index c5cea91..28bb36f 100644 --- a/content/docs/administration/authentication/basic-authentication.md +++ b/content/docs/administration/authentication/basic-authentication.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T13:52:09+03:00 lastmod: 2024-08-14T13:52:09+03:00 draft: false -weight: 210 +weight: 220 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/authentication/token-authentication.md b/content/docs/administration/authentication/token-authentication.md index e5b89d3..b8d58d3 100644 --- a/content/docs/administration/authentication/token-authentication.md +++ b/content/docs/administration/authentication/token-authentication.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T13:52:09+03:00 lastmod: 2024-08-14T13:52:09+03:00 draft: false -weight: 215 +weight: 225 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/authentication/user-access-rules.md b/content/docs/administration/authentication/user-access-rules.md index aee2d6c..3350f2a 100644 --- a/content/docs/administration/authentication/user-access-rules.md +++ b/content/docs/administration/authentication/user-access-rules.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T13:52:09+03:00 lastmod: 2024-08-14T13:52:09+03:00 draft: false -weight: 205 +weight: 215 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/authentication/user-management.md b/content/docs/administration/authentication/user-management.md index cdd042e..5a399f8 100644 --- a/content/docs/administration/authentication/user-management.md +++ b/content/docs/administration/authentication/user-management.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T13:52:09+03:00 lastmod: 2024-08-14T13:52:09+03:00 draft: false -weight: 200 +weight: 210 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/backup/_index.md b/content/docs/administration/backup/_index.md index 938b3fe..dbb969b 100644 --- a/content/docs/administration/backup/_index.md +++ b/content/docs/administration/backup/_index.md @@ -5,7 +5,7 @@ summary: "" date: 2024-09-24T14:22:10+03:00 lastmod: 2024-09-24T14:22:10+03:00 draft: false -weight: 400 +weight: 300 toc: true sidebar: collapsed: true diff --git a/content/docs/administration/backup/data-protection-overview.md b/content/docs/administration/backup/data-protection-overview.md index 809f0fc..cc85a31 100644 --- a/content/docs/administration/backup/data-protection-overview.md +++ b/content/docs/administration/backup/data-protection-overview.md @@ -5,7 +5,7 @@ summary: "" date: 2024-09-24T14:22:10+03:00 lastmod: 2024-09-24T14:22:10+03:00 draft: false -weight: 410 +weight: 300 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/configure/_index.md b/content/docs/administration/configure/_index.md index b47bccf..43c54c1 100644 --- a/content/docs/administration/configure/_index.md +++ b/content/docs/administration/configure/_index.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T13:50:47+03:00 lastmod: 2024-08-14T13:50:47+03:00 draft: false -weight: 300 +weight: 250 toc: true sidebar: collapsed: true diff --git a/content/docs/administration/configure/canary-rollout.md b/content/docs/administration/configure/canary-rollout.md index fd35ee1..4a5af9e 100644 --- a/content/docs/administration/configure/canary-rollout.md +++ b/content/docs/administration/configure/canary-rollout.md @@ -5,7 +5,7 @@ summary: "" date: 2025-10-21T09:30:00+03:00 lastmod: 2025-10-21T09:30:00+03:00 draft: false -weight: 315 +weight: 255 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/configure/service-tiers.md b/content/docs/administration/configure/service-tiers.md index 1d506f7..33e9763 100644 --- a/content/docs/administration/configure/service-tiers.md +++ b/content/docs/administration/configure/service-tiers.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T13:52:09+03:00 lastmod: 2024-08-14T13:52:09+03:00 draft: false -weight: 210 +weight: 250 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/troubleshoot/_index.md b/content/docs/administration/troubleshoot/_index.md index e02fc3f..4613742 100644 --- a/content/docs/administration/troubleshoot/_index.md +++ b/content/docs/administration/troubleshoot/_index.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T13:50:47+03:00 lastmod: 2024-08-14T13:50:47+03:00 draft: false -weight: 900 +weight: 450 toc: true sidebar: collapsed: true diff --git a/content/docs/administration/troubleshoot/databasecomponentunreadyreplicas.md b/content/docs/administration/troubleshoot/databasecomponentunreadyreplicas.md index 95dd01f..550be9a 100644 --- a/content/docs/administration/troubleshoot/databasecomponentunreadyreplicas.md +++ b/content/docs/administration/troubleshoot/databasecomponentunreadyreplicas.md @@ -5,7 +5,7 @@ summary: "" date: 2025-06-05T13:52:09+03:00 lastmod: 2025-06-05T13:52:09+03:00 draft: false -weight: 100 +weight: 482 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/troubleshoot/databasereleaseoutofsync.md b/content/docs/administration/troubleshoot/databasereleaseoutofsync.md index 995f80e..ca65870 100644 --- a/content/docs/administration/troubleshoot/databasereleaseoutofsync.md +++ b/content/docs/administration/troubleshoot/databasereleaseoutofsync.md @@ -5,7 +5,7 @@ summary: "" date: 2025-06-05T13:52:09+03:00 lastmod: 2025-06-05T13:52:09+03:00 draft: false -weight: 110 +weight: 481 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/troubleshoot/databaseunavailable.md b/content/docs/administration/troubleshoot/databaseunavailable.md index 949409f..062a235 100644 --- a/content/docs/administration/troubleshoot/databaseunavailable.md +++ b/content/docs/administration/troubleshoot/databaseunavailable.md @@ -5,7 +5,7 @@ summary: "" date: 2025-06-05T13:52:09+03:00 lastmod: 2025-06-05T13:52:09+03:00 draft: false -weight: 103 +weight: 480 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/troubleshoot/domaincomponentunreadyreplicas.md b/content/docs/administration/troubleshoot/domaincomponentunreadyreplicas.md index dd88f89..cddd86a 100644 --- a/content/docs/administration/troubleshoot/domaincomponentunreadyreplicas.md +++ b/content/docs/administration/troubleshoot/domaincomponentunreadyreplicas.md @@ -5,7 +5,7 @@ summary: "" date: 2025-06-05T13:52:09+03:00 lastmod: 2025-06-05T13:52:09+03:00 draft: false -weight: 105 +weight: 472 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/troubleshoot/domainreleaseoutofsync.md b/content/docs/administration/troubleshoot/domainreleaseoutofsync.md index 97f4892..8f3c5dd 100644 --- a/content/docs/administration/troubleshoot/domainreleaseoutofsync.md +++ b/content/docs/administration/troubleshoot/domainreleaseoutofsync.md @@ -5,7 +5,7 @@ summary: "" date: 2025-06-05T13:52:09+03:00 lastmod: 2025-06-05T13:52:09+03:00 draft: false -weight: 115 +weight: 471 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/troubleshoot/domainunavailable.md b/content/docs/administration/troubleshoot/domainunavailable.md index 7106f70..b91c93a 100644 --- a/content/docs/administration/troubleshoot/domainunavailable.md +++ b/content/docs/administration/troubleshoot/domainunavailable.md @@ -5,7 +5,7 @@ summary: "" date: 2025-06-05T13:52:09+03:00 lastmod: 2025-06-05T13:52:09+03:00 draft: false -weight: 107 +weight: 470 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/administration/troubleshoot/undo-tier-deletion.md b/content/docs/administration/troubleshoot/undo-tier-deletion.md index 4a8292b..5f041fe 100644 --- a/content/docs/administration/troubleshoot/undo-tier-deletion.md +++ b/content/docs/administration/troubleshoot/undo-tier-deletion.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T13:52:09+03:00 lastmod: 2024-08-14T13:52:09+03:00 draft: false -weight: 905 +weight: 455 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/configuration/_index.md b/content/docs/configuration/_index.md index 6d79cc4..6413638 100644 --- a/content/docs/configuration/_index.md +++ b/content/docs/configuration/_index.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T14:16:09+03:00 lastmod: 2024-08-14T14:16:09+03:00 draft: false -weight: 300 +weight: 500 toc: true sidebar: collapsed: true diff --git a/content/docs/configuration/backup/_index.md b/content/docs/configuration/backup/_index.md index 699c846..3f2df7b 100644 --- a/content/docs/configuration/backup/_index.md +++ b/content/docs/configuration/backup/_index.md @@ -5,7 +5,7 @@ summary: "" date: 2024-09-24T14:22:10+03:00 lastmod: 2024-09-24T14:22:10+03:00 draft: false -weight: 330 +weight: 520 toc: true sidebar: collapsed: true diff --git a/content/docs/configuration/backup/backup-policies.md b/content/docs/configuration/backup/backup-policies.md index 4a652b1..f2ed855 100644 --- a/content/docs/configuration/backup/backup-policies.md +++ b/content/docs/configuration/backup/backup-policies.md @@ -5,7 +5,7 @@ summary: "" date: 2024-09-24T14:22:10+03:00 lastmod: 2024-09-24T14:22:10+03:00 draft: false -weight: 333 +weight: 523 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/configuration/backup/database-clone.md b/content/docs/configuration/backup/database-clone.md index d819a0f..16acdef 100644 --- a/content/docs/configuration/backup/database-clone.md +++ b/content/docs/configuration/backup/database-clone.md @@ -5,7 +5,7 @@ summary: "" date: 2024-09-24T14:22:10+03:00 lastmod: 2024-09-24T14:22:10+03:00 draft: false -weight: 332 +weight: 522 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/configuration/backup/on-demand.md b/content/docs/configuration/backup/on-demand.md index ccad0d9..5a282d8 100644 --- a/content/docs/configuration/backup/on-demand.md +++ b/content/docs/configuration/backup/on-demand.md @@ -5,7 +5,7 @@ summary: "" date: 2024-09-24T14:22:10+03:00 lastmod: 2024-09-24T14:22:10+03:00 draft: false -weight: 331 +weight: 521 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/configuration/connect/_index.md b/content/docs/configuration/connect/_index.md index 1900623..58f3a92 100644 --- a/content/docs/configuration/connect/_index.md +++ b/content/docs/configuration/connect/_index.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T14:18:36+03:00 lastmod: 2024-08-14T14:18:36+03:00 draft: false -weight: 320 +weight: 510 toc: true sidebar: collapsed: true diff --git a/content/docs/configuration/connect/database-injector.md b/content/docs/configuration/connect/database-injector.md index b03a42c..4d478ec 100644 --- a/content/docs/configuration/connect/database-injector.md +++ b/content/docs/configuration/connect/database-injector.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T14:20:07+03:00 lastmod: 2024-08-14T14:20:07+03:00 draft: false -weight: 321 +weight: 510 toc: true seo: title: "" # custom title (optional) diff --git a/content/docs/getting-started/cleanup.md b/content/docs/getting-started/cleanup.md index 1337a59..02ebc6e 100644 --- a/content/docs/getting-started/cleanup.md +++ b/content/docs/getting-started/cleanup.md @@ -5,7 +5,7 @@ summary: "" date: 2024-08-14T13:44:13+03:00 lastmod: 2024-08-14T13:44:13+03:00 draft: false -weight: 990 +weight: 150 toc: true seo: title: "" # custom title (optional) From 3392f63cc2b72c1a52e95b023b3fd71d47c7df0c Mon Sep 17 00:00:00 2001 From: Stanimir Ivanov Date: Mon, 10 Nov 2025 11:57:02 +0200 Subject: [PATCH 3/7] Added Helm version upgrade example --- .../configure/canary-rollout.md | 89 +++++++++++++------ 1 file changed, 63 insertions(+), 26 deletions(-) diff --git a/content/docs/administration/configure/canary-rollout.md b/content/docs/administration/configure/canary-rollout.md index 4a5af9e..63b145f 100644 --- a/content/docs/administration/configure/canary-rollout.md +++ b/content/docs/administration/configure/canary-rollout.md @@ -15,30 +15,30 @@ seo: --- NuoDB DBaaS manages NuoDB databases at scale and automates certain aspects of the database lifecycle. -A pre-defined database configuration preset in the form of [service tiers]({{< ref "./service-tiers.md" >}}) allows users to have control over fully supported and well-documented database properties only. -Such a reusable configuration provides convenience for the users but requires extra planning when a configuration change is made since this will affect many databases. +A pre-defined database configuration preset in the form of [service tiers]({{< ref "./service-tiers.md" >}}) allows users to control fully supported and well-documented database properties. +Such a reusable configuration provides convenience for the users, but requires extra planning when a configuration change is made, since this will affect many databases. NuoDB DBaaS supports delivering configuration changes progressively to domain and database resources. -This allows any configuration updates to be delivered in a controlled way defined by NuoDBaaS operations best practices and enforced using rollout templates. +This allows configuration updates to be delivered in a controlled way defined by NuoDBaaS operations best practices and enforced using rollout templates. ## Canary rollout The `CanaryRollout` custom resource is a job for rolling out a change progressively to a group of `Domain` and `Database` resources. -A [JSON merge patch](https://datatracker.ietf.org/doc/html/rfc7386) represents the decired configuration change to resources matched by a label selector. +A [JSON merge patch](https://datatracker.ietf.org/doc/html/rfc7386) represents the desired configuration change to resources matched by a label selector. The canary rollout is either created automatically by the system, manually using `kubectl` or via REST API [/cluster/canaryrollouts](https://nuodb.github.io/nuodb-cp-releases/api-doc/#put-/cluster/canaryrollouts/-name-) cluster-scoped resource. ## Canary rollout template -The `CanaryRolloutTemplate` custom resource is reusable configuration defining the rollout strategy. -It is referenced by a `CanaryRollout` resource and together they describe how a specific configuration change is delivered to selected targets. +The `CanaryRolloutTemplate` custom resource is a reusable configuration defining the rollout strategy. +It is referenced by a `CanaryRollout` resource, and together they describe how a specific configuration change is delivered to selected targets. -Each template define steps executed sequentially. +Each template defines steps executed sequentially. If any of the steps fail, the canary rollout is stopped and marked as failed. ### Promote step The _promote_ step defines the target resources to which a change is promoted in parallel and the rollback behaviour in case of failed analysis. -Various selectors and filters limit the promote targets such as label selector, number of targets, percentage of total targets, etc. +Various selectors and filters limit the promoted targets, such as label selector, number of targets, percentage of total targets, etc. {{< callout context="note" title="Note" icon="outline/info-circle" >}} There is no implicit _promote_ step for canary templates. @@ -47,17 +47,17 @@ For a change to be propagated to a specific target, the target must match one of ### Analysis step -The analysis step defines the type of analysis run to be performed on target resources after a changed has been rolled out. +The analysis step defines the type of analysis run to be performed on target resources after a change has been rolled out. An analysis run is executed in parallel on all targets promoted from the last _promote_ step. If at least one analysis run fails for some of the targets, the canary rollout is stopped. -Multiple analysis may be defined globally and executed after each _promote_ step. +Multiple analysis runs may be defined globally and executed after each _promote_ step. ### Pause step -The _pause_ step defines duration for which the canary rollout must be paused. -A zero (0) duration pauses the rollout until it is manually approved. +The _pause_ step defines the duration for which the canary rollout must be paused. +A zero (0) duration pause the rollout until it is manually approved. -To manually resume paused canary rollout, update the `Paused` condition reason to `CanaryManuallyApproved` using `kubectl` directly or through the REST API. +To manually resume a paused canary rollout, update the `Paused` condition reason to `CanaryManuallyApproved` using `kubectl` directly or through the REST API. {{< tabs "approve-paused-rollout" >}} {{< tab "nuodb-cp" >}} @@ -98,7 +98,7 @@ kubectl patch canaryrollout \ ## Monitoring rollout progress -NuoDB operator creates Kubernetes events for the canary rollout execution trace. +The NuoDB Operator creates Kubernetes events for the canary rollout execution trace. Use `kubectl events --for canaryrollout/` to monitor the status of the rollout. An example canary rollout execution log is available below. @@ -125,12 +125,12 @@ LAST SEEN TYPE REASON OBJECT M The current state for pending analysis runs is recorded for each promoted target in `status.lastPromotedTargets[*].analysisRuns`. {{< callout context="note" title="Note" icon="outline/info-circle" >}} -Since canary rollouts may run for long time before complete, it is recommended to collect and store Kubernetes events in external system (e.g. Grafana Loki) for long term storage. +Since canary rollouts may run for an extended time before completion, it is recommended to collect and store Kubernetes events in an external system (e.g., Grafana Loki) for long-term storage. {{< /callout >}} ## Use cases -The canary rollout resources are the main building blocks for delivering any change progressively, however, let's focus on two main use cases described in this section. +The canary rollout resources are the main building blocks for delivering any change progressively; however, let's focus on two main use cases described in this section. ### Changes in service tiers @@ -139,16 +139,16 @@ A new configuration version, called _revision_, is created on every update of th Configuration revisions are referenced in other resources, such as the domain or database. If an explicit revision is not pinned in a reference, then the _latest_ revision is used. A revision that is not in use or is not the _latest_ is automatically removed from the version history. -For example, a new service tier revision is created when either a service tier's desired spec is modified or a referenced Helm feature's desired spec is modified. +For example, a new service tier revision is created when either a service tier's desired specification is modified or a referenced Helm feature's desired spec is modified. Keeping version history of shared configuration and explicitly referencing these revisions allows decoupling the database lifecycle from the configuration lifecycle. NuoDB DBaaS supports both manual and automatic revision rollout to selected target resources. To enable automatic rollout of service tier revisions, set the `spec.updateStrategy.type` field to `CanaryRollout` and configure the `CanaryRolloutTemplate` custom resource reference in `spec.updateStrategy.canary.templateRef.name`. -If enabled, the NuoDB operator will manage the lifecycle of `CanaryRollout` resources, which kicks in the automatic rollout of new service tier revisions to all Domain and Database resources that reference them. +If enabled, the NuoDB operator manages the lifecycle of `CanaryRollout` resources, automatically rolling out new service tier revisions to all Domain and Database resources that reference them. {{< callout context="note" title="Note" icon="outline/info-circle" >}} -The _nuodb-cp-config_ Helm chart allows you to enable automatic rollout for all standard service tiers by setting the `cpConfig.service.type.updateStrategy.type` and `cpConfig.service.type.updateStrategy.canary.template` Helm values. +The _nuodb-cp-config_ Helm chart enables automatic rollout for all standard service tiers by exposing the `cpConfig.service.type.updateStrategy.type` and `cpConfig.service.type.updateStrategy.canary.template` Helm values. {{< /callout >}} The diagram below illustrates a successful automatic configuration rollout triggered by a change in a Helm feature. @@ -157,7 +157,7 @@ Multiple controllers in the NuoDB operator are responsible for progressively rol {{< picture src="canary-success-flow.png" alt="Canary rollout success flow" >}} -In case the analysis defined in the `CanaryRolloutTemplate` fail for some of the target databases, the rollout will stop, and that database will be rolled back to the previous service tier revision. +In case the analysis defined in the `CanaryRolloutTemplate` fails for one or more target databases, the rollout will stop, and the impacted databases will be rolled back to the previous service tier revision. {{< callout context="note" title="Note" icon="outline/info-circle" >}} Depending on the canary template configuration, multiple databases may be updated at once. @@ -216,24 +216,61 @@ spec: - promoteTo: {} ``` +### Helm charts version rollout + +The [automatic configuration rollout](#changes-in-service-tiers) updates the service tier revision reference in all promoted resources only. +The NuoDB Helm chart version used to deploy the NuoDB workloads stays unchanged. +This means that the new revision of the shared configuration must be backwards compatible with older versions of NuoDB Helm charts. +Optional [Helm features]({{< ref "service-tiers.md#database-configuration" >}}) with Helm chart version constraints can help with this task; however, sometimes supporting backwards compatibility is hard or not desired. + +{{< callout context="note" title="Note" icon="outline/info-circle" >}} +NuoDB Helm chart version is upgraded implicitly every time the NuoDB product version is upgraded or when the `productVersion` field is omitted from the project/database payload via REST API. +The `nuodb-cp-helm-versions` ConfigMap allows administrators to configure the default Helm chart versions used by the REST service per _SLA_. +{{< /callout >}} + +Canary rollouts are a convenient way to perform explicit NuoDB Helm charts version upgrades across multiple domains and databases. + +### Example: Helm charts version upgrade + +The rollout template is similar to the [previous example](#example-service-tier-rollout). +The below canary rollout will upgrade all targets in _Acme_ organization to the most recent version of the NuoDB Helm chart. + +```yaml +apiVersion: cp.nuodb.com/v1beta1 +kind: CanaryRollout +metadata: + name: acme-helm-upgrade-latest +spec: + patch: + spec: + chart: + version: "" + rolloutTemplate: + name: example-tier-update + selector: + matchLabels: + cp.nuodb.com/organization: "acme" +``` + ### Product version upgrade -Canary rollouts are used to promote new NuoDB product releases with confidence by progressively delivering it across selected databases. +Canary rollouts provide a method to promote newer NuoDB product releases with confidence by performing upgrades across selected databases. DBaaS administrators maintain reusable rollout templates for minor version upgrades. The operations team references them in a canary rollout job for a specific NuoDB release and monitors its progress across a fleet of databases. {{< callout context="caution" title="NuoDB protocol version upgrade" icon="outline/alert-triangle" >}} NuoDB [database protocol version upgrade](https://doc.nuodb.com/nuodb/latest/deployment-models/physical-or-vmware-environments-with-nuodb-admin/installing-nuodb/upgrade-to-a-new-release/upgrade-the-database-protocol/#nav-container-toggle) is not automatically performed when rolling out a new NuoDB version. -It must be planned accordingly and performed as an additional manual step. +On NuoDB major version change, the database protocol upgrade must be planned accordingly and performed as an additional manual step after the update. +It is stongly recommended to take a database backup before NuoDB version upgrade. {{< /callout >}} If the new version is promoted to a domain and its databases by the same _promote_ step, the NuoDB operator will ensure that the domain is upgraded before the databases. This reduces the number of NuoDB processes that are shut down at the same time and reduces the risk of cascading failures. -### Example: Minor version upgrade +### Example: Minor product version upgrade -The below canary template defines an upgrade strategy by progressively promoting a new version to 2, 30% and 100% of domains and databases with _dev_ SLA. -After that the rollout is paused until manual approval. +The below canary template defines an upgrade strategy by progressively promoting a new version to two, 30% and 100% of domains and databases with _dev_ SLA. +After the promoted resources are successfully upgraded, the rollout is paused until manual approval. Once the approval is given, the version is promoted to 2, 10%, 40% and 100% of production domains and databases. ```yaml @@ -349,7 +386,7 @@ spec: ``` The template is referenced in the canary rollouts for different versions. -For example, the below canary rollout upgrades all databases in organization `acme` to NuoDB 7.0.3. +For example, the below canary rollout upgrades all databases in organization _Acme_ to NuoDB v7.0.3. ```yaml apiVersion: cp.nuodb.com/v1beta1 From f0540086ed55e99a9489fa07f30f66d4e7f30429 Mon Sep 17 00:00:00 2001 From: Stanimir Ivanov Date: Mon, 17 Nov 2025 09:55:47 +0200 Subject: [PATCH 4/7] Address review comments (round 1) --- .../administration/configure/canary-rollout.md | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/content/docs/administration/configure/canary-rollout.md b/content/docs/administration/configure/canary-rollout.md index 63b145f..b195887 100644 --- a/content/docs/administration/configure/canary-rollout.md +++ b/content/docs/administration/configure/canary-rollout.md @@ -15,8 +15,11 @@ seo: --- NuoDB DBaaS manages NuoDB databases at scale and automates certain aspects of the database lifecycle. -A pre-defined database configuration preset in the form of [service tiers]({{< ref "./service-tiers.md" >}}) allows users to control fully supported and well-documented database properties. -Such a reusable configuration provides convenience for the users, but requires extra planning when a configuration change is made, since this will affect many databases. +[Service tiers]({{< ref "./service-tiers.md" >}}) are a small set of DBaaS administrator-managed, predefined database configuration profiles that expose fully supported and documented settings. +Because these tiers are shared across many databases, any modification to a tier triggers a large number of resulting upgrades. +A change in a service tier will be propagated immediately to all databases that reference this tier at the same time. +This can be potentially disruptive even if the configuration change made is correct, and catastrophic if the change is incorrect. +To manage this safely, cluster administrators control how these changes are rolled out, using canary deployment strategies to introduce updates gradually and with minimal risk. NuoDB DBaaS supports delivering configuration changes progressively to domain and database resources. This allows configuration updates to be delivered in a controlled way defined by NuoDBaaS operations best practices and enforced using rollout templates. @@ -25,7 +28,7 @@ This allows configuration updates to be delivered in a controlled way defined by The `CanaryRollout` custom resource is a job for rolling out a change progressively to a group of `Domain` and `Database` resources. A [JSON merge patch](https://datatracker.ietf.org/doc/html/rfc7386) represents the desired configuration change to resources matched by a label selector. -The canary rollout is either created automatically by the system, manually using `kubectl` or via REST API [/cluster/canaryrollouts](https://nuodb.github.io/nuodb-cp-releases/api-doc/#put-/cluster/canaryrollouts/-name-) cluster-scoped resource. +The canary rollout is either created automatically by the system, manually using `kubectl`, or via REST API [/cluster/canaryrollouts](https://nuodb.github.io/nuodb-cp-releases/api-doc/#put-/cluster/canaryrollouts/-name-) cluster-scoped resource. ## Canary rollout template @@ -54,7 +57,7 @@ Multiple analysis runs may be defined globally and executed after each _promote_ ### Pause step -The _pause_ step defines the duration for which the canary rollout must be paused. +The _pause_ step defines the duration for which the canary rollout will be paused. A zero (0) duration pause the rollout until it is manually approved. To manually resume a paused canary rollout, update the `Paused` condition reason to `CanaryManuallyApproved` using `kubectl` directly or through the REST API. @@ -106,7 +109,7 @@ An example canary rollout execution log is available below. ```text LAST SEEN TYPE REASON OBJECT MESSAGE 22m Normal CanaryPauseStep CanaryRollout/acme-upgrade Pause step (1/13) activated: canary rollout paused until manual approval -21m Normal CanaryManuallyApproved CanaryRollout/acme-upgrade Pause step (1/13) manually approved after -1h59m59.509203822s +21m Normal CanaryManuallyApproved CanaryRollout/acme-upgrade Pause step (1/13) manually approved after 55s 21m Normal Progressing CanaryRollout/acme-upgrade Step (1/13) completed 21m Normal CanaryPromoteStep CanaryRollout/acme-upgrade Promote step (2/13) progressing target Domain default/acme-messaging 21m Normal CanaryPromoteStep CanaryRollout/acme-upgrade Promote step (2/13) progressing target Database default/acme-messaging-demo @@ -130,7 +133,9 @@ Since canary rollouts may run for an extended time before completion, it is reco ## Use cases -The canary rollout resources are the main building blocks for delivering any change progressively; however, let's focus on two main use cases described in this section. +The canary rollout resources are the main building blocks for delivering any change to multiple Kubernetes resources progressively. +A typical use case is updating the version of sorftware deliverables such as NuoDB product or Helm chart version, configuration revision or a combination of these. +This section describes different approaches to utilize canary rollouts in your NuoDB DBaaS deployments. ### Changes in service tiers From d285dbb57a81289bc41c4e434c336cd2af1722c9 Mon Sep 17 00:00:00 2001 From: Stanimir Ivanov Date: Mon, 17 Nov 2025 10:01:40 +0200 Subject: [PATCH 5/7] Update some links --- content/docs/administration/configure/canary-rollout.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/content/docs/administration/configure/canary-rollout.md b/content/docs/administration/configure/canary-rollout.md index b195887..7b2d9f9 100644 --- a/content/docs/administration/configure/canary-rollout.md +++ b/content/docs/administration/configure/canary-rollout.md @@ -40,7 +40,7 @@ If any of the steps fail, the canary rollout is stopped and marked as failed. ### Promote step -The _promote_ step defines the target resources to which a change is promoted in parallel and the rollback behaviour in case of failed analysis. +The [promote step]({{< ref "../../reference/cp.nuodb.com.md#promotetorolloutstep" >}}) defines the target resources to which a change is promoted in parallel and the rollback behaviour in case of failed analysis. Various selectors and filters limit the promoted targets, such as label selector, number of targets, percentage of total targets, etc. {{< callout context="note" title="Note" icon="outline/info-circle" >}} @@ -50,14 +50,14 @@ For a change to be propagated to a specific target, the target must match one of ### Analysis step -The analysis step defines the type of analysis run to be performed on target resources after a change has been rolled out. +The [analysis step]({{< ref "../../reference/cp.nuodb.com.md#canaryrolloutanalysis" >}}) defines the type of analysis run to be performed on target resources after a change has been rolled out. An analysis run is executed in parallel on all targets promoted from the last _promote_ step. If at least one analysis run fails for some of the targets, the canary rollout is stopped. Multiple analysis runs may be defined globally and executed after each _promote_ step. ### Pause step -The _pause_ step defines the duration for which the canary rollout will be paused. +The [pause step]({{< ref "../../reference/cp.nuodb.com.md#pauserolloutstep" >}}) defines the duration for which the canary rollout will be paused. A zero (0) duration pause the rollout until it is manually approved. To manually resume a paused canary rollout, update the `Paused` condition reason to `CanaryManuallyApproved` using `kubectl` directly or through the REST API. From 3f8d86015f9c3596dda5bc2b24430e4b18e6e11e Mon Sep 17 00:00:00 2001 From: Stanimir Ivanov Date: Wed, 19 Nov 2025 11:19:41 +0200 Subject: [PATCH 6/7] Modify figure shortcode to add link to the image --- .../configure/canary-rollout.md | 4 +- layouts/_partials/figure.html | 302 ++++++++++++++++++ layouts/shortcodes/figure.html | 137 ++++++++ 3 files changed, 441 insertions(+), 2 deletions(-) create mode 100644 layouts/_partials/figure.html create mode 100644 layouts/shortcodes/figure.html diff --git a/content/docs/administration/configure/canary-rollout.md b/content/docs/administration/configure/canary-rollout.md index 7b2d9f9..ca07688 100644 --- a/content/docs/administration/configure/canary-rollout.md +++ b/content/docs/administration/configure/canary-rollout.md @@ -160,7 +160,7 @@ The diagram below illustrates a successful automatic configuration rollout trigg The example is simplified and has one Helm feature, one service tier, and two databases for demonstration purposes. Multiple controllers in the NuoDB operator are responsible for progressively rolling out the change in the Helm feature to both databases. -{{< picture src="canary-success-flow.png" alt="Canary rollout success flow" >}} +{{< figure src="canary-success-flow.png" caption="Figure 1. Canary rollout success flow" >}} In case the analysis defined in the `CanaryRolloutTemplate` fails for one or more target databases, the rollout will stop, and the impacted databases will be rolled back to the previous service tier revision. @@ -169,7 +169,7 @@ Depending on the canary template configuration, multiple databases may be update By default, a rollback will be performed only for the databases with failed analysis. {{< /callout >}} -{{< picture src="canary-rollback-flow.png" alt="Canary rollout rollback flow" >}} +{{< figure src="canary-rollback-flow.png" caption="Figure 2. Canary rollout rollback flow" >}} ### Example: Service tier rollout diff --git a/layouts/_partials/figure.html b/layouts/_partials/figure.html new file mode 100644 index 0000000..f926576 --- /dev/null +++ b/layouts/_partials/figure.html @@ -0,0 +1,302 @@ +{{- /* Based on https://www.veriphor.com/articles/link-and-image-render-hooks/#image-render-hook */}} + +{{- /* Last modified: 2023-09-05T11:48:34-07:00 */}} + +{{- /* +Copyright 2023 Veriphor LLC + +Licensed under the Apache License, Version 2.0 (the "License"); you may not +use this file except in compliance with the License. You may obtain a copy of +the License at + +https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +License for the specific language governing permissions and limitations under +the License. +*/}} + +{{- /* +Renders an HTML figure element, in multiple formats and sizes. + +It resolves internal destinations by looking for a matching: + + 1. Page resource (an image in the current page bundle) + 2. Section resource (an image in the current section) + 3. Global resource (an image in the assets directory) + +It skips the section resource lookup if the current page is a leaf bundle, and +captures external destinations as resources for local hosting. The build will +fail if this partial is unable to resolve a destination. + +You must place global resources in the assets directory. If you have placed +your resources in the static directory, and you are unable or unwilling to move +them, you must mount the static directory to the assets directory by including +both of these entries in your site configuration: + + [[module.mounts]] + source = 'assets' + target = 'assets' + + [[module.mounts]] + source = 'static' + target = 'assets' + +Add this CSS to your site to enable responsive image behavior: + + img { + height: auto; + max-width: 100%; + } + +Add this CSS to your site to remove small gaps between adjacent elements: + + img, picture { + font-size: 0; + } + +@context {page} [page] The current page. +@context {string} [src] The path to the base image: a page resource, a global resource, or a remote resource. +@context {int} [width] The display width of the image, in pixels, falling back to 100% of the viewport width. +@context {string} [sizes] = "" # "100vw", "75vw", or "auto" for example +@context {string slice} [formats] A slice of image formats, ordered by precedence, to use when creating images for the srcset attribute of each source element. +@context {string} [process] = "" # "fill 1600x900" for example +@context {string} [lqip] = "" # "16x webp q20" or "21x webp q20" for example +@context {string} [decoding] The img element's decoding attribute. +@context {string} [fetchpriority] The img element's fetchpriority attribute. +@context {string} [loading] The img element's loading attribute. +@context {string} [alt] The img element's alt attribute. +@context {string} [title] The img element's title attribute. +@context {string} [caption] The figure element's caption attribute. +@context {string} [class] The img element's class attribute. + +@returns {template.HTML} + +@example (required args only) + + {{- partial "figure.html" (dict "page" . "src" "images/zion.jpg") }} + +@example (all args) + {{- $opts := dict + "page" . + "src" "images/bryce-canyon-national-park.jpg" + "width" 768 + "sizes" "auto" + "formats" (slice "webp" "jpeg") + "process" "fill 1600x900" + "lqip" "16x webp q20" + "decoding" "async" + "fetchpriority" "auto" + "loading" "eager" + "alt" "Bryce Canyon National Park" + "title" "A beautiful day in Bryce Canyon National Park" + "caption" "Bryce Canyon National Park" + "class" "foo" + }} + {{- partial "figure.html" $opts }} + +*/}} + +{{- /* Initialize. */}} +{{- $partialName := "figure" }} + +{{- /* Verify minimum required version. */}} +{{- $minHugoVersion := "0.118.0" }} +{{- if lt hugo.Version $minHugoVersion }} + {{- errorf "The %q partial requires Hugo v%s or later." $partialName $minHugoVersion }} +{{- end }} + +{{- /* Validate page arg. */}} +{{- if not .page }} + {{- errorf "The %q partial requires a page argument." $partialName }} +{{- end }} + +{{- /* Determine content path for warning and error messages. */}} +{{- $contentPath := "" }} +{{- with .page.File }} + {{- $contentPath = .Path }} +{{- else }} + {{- $contentPath = .Path }} +{{- end }} + +{{- /* Set defaults and get args. */}} +{{- $alt := or .alt "" }} +{{- $class := or .class "" }} +{{- $formats := or .formats (slice "webp") }} +{{- $decoding := or .decoding site.Params.thulite_images.defaults.decoding }} +{{- $fetchPriority := or .fetchpriority site.Params.thulite_images.defaults.fetchpriority }} +{{- $loading := or .loading site.Params.thulite_images.defaults.loading }} +{{- $process := or .process site.Params.thulite_images.defaults.process }} +{{- $lqip := or .lqip site.Params.thulite_images.defaults.lqip }} +{{- $src := or .src "" }} +{{- $title := or .title "" }} +{{- $caption := or .caption "" }} +{{- $width := or (int .width) 0 }} +{{- $fallbackFormat := "jpeg" }} +{{- $stdWidths := site.Params.thulite_images.defaults.widths }} +{{- $stdSizes := or .sizes site.Params.thulite_images.defaults.sizes }} +{{- $lightbox := or .lightbox "" }} +{{- $target := or .target "_self" }} + +{{- /* Validate args. */}} +{{- $validFormats := slice "gif" "jpg" "jpeg" "png" "webp"}} +{{- if reflect.IsSlice $formats }} + {{- $formats = apply $formats "strings.ToLower" "." }} + {{- range $formats }} + {{- if not (in $validFormats .) }} + {{- errorf "The formats argument passed to the %q partial is invalid. Valid formats are %s. See %s" $partialName (delimit $validFormats ", " ", and ") $contentPath }} + {{- end }} + {{- end }} +{{- else }} + {{- errorf "The formats argument passed to the %q partial is not a slice. See %s" $partialName $contentPath }} +{{- end }} + +{{- if not $src }} + {{- errorf "The %q partial requires an image path, relative to the assets directory. See %s" $partialName $contentPath }} +{{- end }} + +{{- /* Capture image as a resource. */}} +{{- $r := "" }} +{{- $ctx := dict + "page" .page + "path" $src + "partialName" $partialName + "contentPath" $contentPath +}} +{{- with partial "inline/capture-resource.html" $ctx }} + {{- $r = . }} +{{- end }} + +{{- /* Process image. */}} +{{- with $process }} + {{- $r = $r.Process $process }} +{{- end }} + +{{- /* Process LQIP. */}} +{{- $l := "" }} +{{- with $lqip }} + {{- $l = $r.Resize . }} +{{- end }} + +{{- /* Determine widths for srcset generation. */}} +{{- $widths := slice }} +{{- if $width }} + {{- /* The width was specified; generate 1x, 2x, 3x, and 4x images. */}} + {{- $widths = slice $r.Width }} + {{- range seq 4 }} + {{- with mul . $width }} + {{- if and (le . $r.Width) (le . (math.Max $stdWidths)) }} + {{- /* Do not enlarge, and do not exceed maximum of $stdWidths. */}} + {{- $widths = $widths | append . }} + {{- end }} + {{- end }} + {{- end }} +{{- else }} + {{- /* The width was not specified, will be using $stdWidths. */}} + {{- $stdWidths = $stdWidths | append $r.Width | sort }} + {{- range $stdWidths }} + {{- /* Do not enlarge. */}} + {{- if (le . $r.Width) }} + {{- $widths = $widths | append . }} + {{- end }} + {{- end }} +{{- end }} +{{- $widths = $widths | uniq | sort}} + +{{- /* Create fallback image (fi) with the smallest of widths. */}} +{{- $fi := $r.Resize (printf "%dx %s" (math.Min $widths | int) $fallbackFormat) }} + +{{- $bi := $r.Resize (printf "%dx %s" (math.Max $widths | int) $fallbackFormat) }} + +{{- /* Create the image map. */}} +{{- $im := dict }} +{{- range $format := $formats }} + {{- $sizes := slice }} + {{- range sort $widths }} + {{- $sizes = $sizes | append ($r.Resize (printf "%dx %s" . $format)) }} + {{- end }} + {{- $im = merge $im (dict $format $sizes) }} +{{- end }} + +{{- /* Render. */}} + + +{{- define "partials/inline/capture-resource.html" }} + {{- /* Parse destination. */}} + {{- $u := urls.Parse .path }} + + {{- /* Set common message. */}} + {{- $msg := printf "The %q partial was unable to get %q in %s" .partialName $u.String .contentPath }} + + {{- /* Get image resource. */}} + {{- $r := "" }} + {{- if $u.IsAbs }} + {{- with try (resources.GetRemote $u.String) }} + {{- with .Err }} + {{- errorf "%s. See %s" .Err $.contentPath }} + {{- else with .Value }} + {{- /* Destination is a remote resource. */}} + {{- $r = . }} + {{- end }} + {{- else }} + {{- errorf $msg }} + {{- end }} + {{- else }} + {{- with .page.Resources.Get (strings.TrimPrefix "./" $u.Path) }} + {{- /* Destination is a page resource. */}} + {{- $r = . }} + {{- else }} + {{- with (and (ne .page.BundleType "leaf") (.page.CurrentSection.Resources.Get (strings.TrimPrefix "./" $u.Path)) ) }} + {{- /* Destination is a section resource, and current page is not a leaf bundle. */}} + {{- $r = . }} + {{- else }} + {{- with resources.Get $u.Path }} + {{- /* Destination is a global resource. */}} + {{- $r = . }} + {{- else }} + {{- errorf $msg }} + {{- end }} + {{- end }} + {{- end }} + {{- end }} + {{- return $r }} +{{- end -}} diff --git a/layouts/shortcodes/figure.html b/layouts/shortcodes/figure.html new file mode 100644 index 0000000..17ccc44 --- /dev/null +++ b/layouts/shortcodes/figure.html @@ -0,0 +1,137 @@ +{{- /* Last modified: 2023-09-04T20:30:30-07:00 */}} + +{{- /* +Copyright 2023 Veriphor LLC + +Licensed under the Apache License, Version 2.0 (the "License"); you may not +use this file except in compliance with the License. You may obtain a copy of +the License at + +https://www.apache.org/licenses/LICENSE-2.0 + +Unless required by applicable law or agreed to in writing, software +distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +License for the specific language governing permissions and limitations under +the License. +*/}} + +{{- /* +Renders an HTML figure element, in multiple formats and sizes. + +It resolves internal destinations by looking for a matching: + + 1. Page resource (an image in the current page bundle) + 2. Section resource (an image in the current section) + 3. Global resource (an image in the assets directory) + +It skips the section resource lookup if the current page is a leaf bundle, and +captures external destinations as resources for local hosting. The build will +fail if this shortcode is unable to resolve a destination. + +You must place global resources in the assets directory. If you have placed +your resources in the static directory, and you are unable or unwilling to move +them, you must mount the static directory to the assets directory by including +both of these entries in your site configuration: + + [[module.mounts]] + source = 'assets' + target = 'assets' + + [[module.mounts]] + source = 'static' + target = 'assets' + +Add this CSS to your site to enable responsive image behavior: + + img { + height: auto; + max-width: 100%; + } + +Add this CSS to your site to remove small gaps between adjacent elements: + + img, picture { + font-size: 0; + } + +This shortcode is a wrapper for, and requires, the figure partial: + + +@context {string} Inner The content between the opening and closing shortcode tags. +@context {string} InnerDeindent The content between the opening and closing shortcode tags with indentation removed. +@context {string} Name The file name of the shortcode template, excluding the extension. +@context {int} Ordinal The zero-based ordinal of the shortcode on the page, or within its parent shortcode. +@context {page} Page A reference to the page containing the shortcode. +@context {map} Params The parameters specified in the opening shortcode tag. +@context {hugolib.ShortcodeWithPage} Parent The context of the parent shortcode. +@context {text.Position} Position The position of the shortcode within the page content. + +@method {any} Get Returns the parameter value for the given key (for named parameters) or position (for positional parameters). +@mathod {bool} IsNamedParams Returns true if the shortcode is called with named instead of positional parameters. +@method {maps.Scratch) Scratch Returns a writable Scratch to store and manipulate data. + +@param {string} [src] The path to the image: a page resource, a global resource, or a remote resource. +@param {int} [width] The display width of the image, in pixels, falling back to 100% of the viewport width. +@param {string} [sizes] = "" # "100vw", "75vw", or "auto" for example +@param {string slice} [formats] A slice of image formats, ordered by precedence, to use when creating images for the srcset attribute of each source element. +@param {string} [process] = "" # "fill 1600x900" for example +@param {string} [lqip] = "" # "16x webp q20" or "21x webp q20" for example +@param {string} [decoding] The img element's decoding attribute. +@param {string} [fetchpriority] The img element's fetchpriority attribute. +@param {string} [loading] The img element's loading attribute. +@param {string} [alt] The img element's alt attribute. +@param {string} [title] The img element's title attribute. +@param {string} [caption] The figure caption element. +@param {string} [class] The img element's class attribute. + +@returns {template.HTML} + +@example (required args only) + + {{< figure src="images/zion-national-park.jpg" >}} + +@example (all args) + + {{< figure + src="images/bryce-canyon-national-park.jpg" + width=768 + sizes="75w" + formats="webp, jpeg" + process="fill 1600x900" + lqip="16x webp q20" + decoding="async" + fetchpriority="auto" + loading="eager" + alt="Bryce Canyon National Park" + title="A beautiful day in Bryce Canyon National Park" + caption="Bryce Canyon National Park" + class="foo" + >}} + +*/}} + +{{- /* Create slices from comma or space separated values. */}} +{{- $formats := slice }} +{{- with .Get "formats" }} + {{- range partial "inline/split.html" . }} + {{- $formats = $formats | append . }} + {{- end }} +{{- end }} + +{{- /* Build the context to send to the figure partial. */}} +{{- $ctx := merge .Params + (dict "page" .Page) + (dict "formats" $formats) +}} + +{{- /* Call the figure partial. */}} +{{- partial "figure.html" $ctx -}} + +{{- /* Returns a slice of strings, splitting s by a comma or whitespace. */}} +{{- define "partials/inline/split.html" }} + {{- $s := trim . " " }} + {{- $s = replace $s " " "," }} + {{- $s := replaceRE `,{2,}` "," $s }} + {{- return split $s "," }} +{{- end -}} From 79985bfa9e1a55f14c0d97a37a2dfdcf6defbaea Mon Sep 17 00:00:00 2001 From: Stanimir Ivanov Date: Wed, 19 Nov 2025 11:24:53 +0200 Subject: [PATCH 7/7] Add alt attribute --- content/docs/administration/configure/canary-rollout.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/content/docs/administration/configure/canary-rollout.md b/content/docs/administration/configure/canary-rollout.md index ca07688..546dd1b 100644 --- a/content/docs/administration/configure/canary-rollout.md +++ b/content/docs/administration/configure/canary-rollout.md @@ -160,7 +160,7 @@ The diagram below illustrates a successful automatic configuration rollout trigg The example is simplified and has one Helm feature, one service tier, and two databases for demonstration purposes. Multiple controllers in the NuoDB operator are responsible for progressively rolling out the change in the Helm feature to both databases. -{{< figure src="canary-success-flow.png" caption="Figure 1. Canary rollout success flow" >}} +{{< figure src="canary-success-flow.png" caption="Figure 1. Canary rollout success flow" alt="Canary rollout success flow" >}} In case the analysis defined in the `CanaryRolloutTemplate` fails for one or more target databases, the rollout will stop, and the impacted databases will be rolled back to the previous service tier revision. @@ -169,7 +169,7 @@ Depending on the canary template configuration, multiple databases may be update By default, a rollback will be performed only for the databases with failed analysis. {{< /callout >}} -{{< figure src="canary-rollback-flow.png" caption="Figure 2. Canary rollout rollback flow" >}} +{{< figure src="canary-rollback-flow.png" caption="Figure 2. Canary rollout rollback flow" alt="Canary rollout rollback flow" >}} ### Example: Service tier rollout
+ + {{ $alt }} + + {{- with $caption }}
{{ . }}
{{- end }} +