From 3b8087b8779980596ff9ba28edfc427bbff539ce Mon Sep 17 00:00:00 2001 From: Manuel Lorenzo Date: Thu, 8 Jan 2026 19:01:42 +0100 Subject: [PATCH] mbp-1024: Add Automated Secure Supply Chain to layered-zero-trust Signed-off-by: Manuel Lorenzo --- .../patterns/layered-zero-trust/_index.adoc | 4 + .../lzt-automated-secure-supply-chain.adoc | 272 ++++++++++++++++++ .../lzt-secure-multitier.adoc | 4 +- .../images/layered-zero-trust/quay-web-ui.png | Bin 0 -> 56395 bytes 4 files changed, 278 insertions(+), 2 deletions(-) create mode 100644 content/patterns/layered-zero-trust/lzt-automated-secure-supply-chain.adoc create mode 100644 static/images/layered-zero-trust/quay-web-ui.png diff --git a/content/patterns/layered-zero-trust/_index.adoc b/content/patterns/layered-zero-trust/_index.adoc index 08744f265..e76a2e1c4 100644 --- a/content/patterns/layered-zero-trust/_index.adoc +++ b/content/patterns/layered-zero-trust/_index.adoc @@ -108,6 +108,9 @@ The pattern consists of the following key components: * link:https://docs.redhat.com/es/documentation/red_hat_trusted_profile_analyzer/2.2[Red{nbsp}Hat Trusted Profile Analyzer (RHTPA)] ** Provides the storage and management means for _Software Bill of Materials_ (SBOMs), with cross-referencing capabilities between SBOMs and CVEs/Security Advisories. +* link:https://docs.redhat.com/en/documentation/red_hat_openshift_pipelines/1.20[Red{nbsp}Hat OpenShift Pipelines] +** Provides a cloud-native continuous integration and continuous deployment (CI/CD) solution on {ocp}. + [id="architecture-diagram"] ==== Architecture diagram @@ -186,3 +189,4 @@ The following technologies are used in this solution: * *Red{nbsp}Hat Quay*: Private registry for OCI images. * *Red{nbsp}Hat Trusted Artifact Signer*: Facilitates signing and verification of software artifacts. * *Red{nbsp}Hat Trusted Profile Analyzer*: Enables SBOM file analysis and vulnerability detection. +* *Red{nbsp}Hat OpenShift Pipelines*: Enables a native CI/CD solution on {ocp}. diff --git a/content/patterns/layered-zero-trust/lzt-automated-secure-supply-chain.adoc b/content/patterns/layered-zero-trust/lzt-automated-secure-supply-chain.adoc new file mode 100644 index 000000000..18cfb6abf --- /dev/null +++ b/content/patterns/layered-zero-trust/lzt-automated-secure-supply-chain.adoc @@ -0,0 +1,272 @@ +--- +title: Secure supply chain - Automated approach +weight: 40 +aliases: /layered-zero-trust/lzt-automated-secure-supply-chain/ +--- + +:toc: +:imagesdir: /images +:_mod-docs-content-type: ASSEMBLY +include::modules/comm-attributes.adoc[] + +[id="lzt-automated-secure-supply-chain"] += Use case: Automating the secure supply chain + +[role="_abstract"] +The xref:/patterns/layered-zero-trust/lzt-secure-multitier/index.html [Secure multitiered applications] use case describes how to implement a secure supply chain for application development by using Red{nbsp}Hat Trusted Artifact Signer (RHTAS) and the Red{nbsp}Hat Trusted Profile Analyzer (RHTPA). This use case demonstrates automation of the secure supply chain for application development by using link:https://docs.redhat.com/en/documentation/red_hat_openshift_pipelines/1.20[{rh-pipelines-first}]. + +{pipelines-short} orchestrates the application building and certification process. The Zero Trust Validated Pattern (ZTVP) creates a pipeline in the cluster named `qtodo-supply-chain`. + +[id="pipeline-tasks"] +== Pipeline tasks + +The pipeline includes the following tasks: + +* **qtodo-clone-repository**: Clones the `qtodo` repository. +* **qtodo-build-artifact**: Builds an `uber-jar` of the `qtodo` application. +* **qtodo-sign-artifact**: Signs the generated JAR file. +* **qtodo-verify-artifact**: Verifies the JAR signature. +* **qtodo-build-image**: Builds a container image and uploads it to a registry. +* **qtodo-sign-image**: Signs the container image. +* **qtodo-generate-sbom**: Generates an SBOM from the image. +* **qtodo-sbom-attestation**: Creates a signed attestation and attaches it to the image. +* **qtodo-upload-sbom**: Uploads the SBOM file to RHTPA. +* **qtodo-verify-image**: Verifies the attestation and signature. + +[id="run-pipeline"] +== Running the pipeline + +Start the pipeline by using the {ocp} web console or the CLI. + +[id="run-pipeline-console"] +=== Running the pipeline from the web console + +To start a pipeline execution from the {ocp} Web console: + +.Procedure + +. Log in to the {ocp} web console. +. From the left navigation bar, select **Pipelines** -> **Pipelines**. +. In the **layered-zero-trust-hub** project, find the **qtodo-supply-chain** pipeline. +. Click the **Options** menu (⋮) and select **Start**. +. Verify the parameters. Most default values are correct for single-cluster mode. +. Configure the following workspaces: + +* For **qtodo-source**, select **PersistentVolumeClaim** and ensure the PVC name is **qtodo-workspace-source**. +* For **registry-auth-config**, select **Secret** and ensure the secret name is **qtodo-registry-auth**. +. Click **Start**. + +[id="run-pipeline-cli"] +=== Running the pipeline from the CLI + +Start a pipeline execution by creating a `PipelineRun` resource that references the `qtodo-supply-chain` pipeline. + +.Procedure + +. Create a file named `qtodo-pipeline.yaml` with the following content: ++ +[source,yaml] +---- +apiVersion: tekton.dev/v1 +kind: PipelineRun +metadata: + generateName: qtodo-manual-run- + namespace: layered-zero-trust-hub +spec: + pipelineRef: + name: qtodo-supply-chain + taskRunTemplate: + serviceAccountName: pipeline + timeouts: + pipeline: 1h0m0s + workspaces: + - name: qtodo-source + persistentVolumeClaim: + claimName: qtodo-workspace-source + - name: registry-auth-config + secret: + secretName: qtodo-registry-auth +---- ++ +Verify the values for the PVC storage and registry configuration. + +. Create the `PipelineRun` resource: ++ +[source,terminal] +---- +$ oc create -f qtodo-pipeline.yaml +---- + +.Verification + +* Review the pipeline logs using the Tekton CLI: ++ +[source,terminal] +---- +$ tkn pipeline logs -n layered-zero-trust-hub -L -f +---- + +[id="inspect-results"] +== Inspecting pipeline results + +Verify the status and output of the pipeline by using the web console or the CLI. + +[id="inspect-results-ui"] +=== Inspecting results from the web console + +You can inspect the results of the pipeline execution from the {ocp} web console. + +.Procedure + +. Log in to the {ocp} web console. +. From the left navigation bar, select **Pipelines** -> **Pipelines**. +. In the **layered-zero-trust-hub** project, find the **qtodo-supply-chain** pipeline. +. Click the *PipelineRun* link in the *Last run* column. +. In the *Details* tab, view the summary of the pipeline execution and tasks. +. Click on a task or the *Logs* tab to see the output of specific tasks. + +[id="inspect-results-cli"] +=== Inspecting results from the CLI + +You can inspect the results of the pipeline execution by using the CLI. + +.Procedure + +. Verify that the pipeline completed successfully: ++ +[source,terminal] +---- +$ oc get pipelinerun -n layered-zero-trust-hub + +NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME +qtodo-manual-run-p46f7 True Succeeded 7m4s 2m12s +---- + +. Review the `TaskRuns` to see the results of each step: ++ +[source,terminal] +---- +$ oc get taskruns -n layered-zero-trust-hub + +NAME SUCCEEDED REASON STARTTIME COMPLETIONTIME +qtodo-manual-run-p46f7-qtodo-build-artifact True Succeeded 7m44s 5m17s +qtodo-manual-run-p46f7-qtodo-build-image True Succeeded 4m55s 4m4s +qtodo-manual-run-p46f7-qtodo-clone-repository True Succeeded 7m55s 7m44s +... +---- + +. Identify the pods associated with the tasks in the `layered-zero-trust-hub` namespace: ++ +[source,terminal] +---- +$ oc get pods -n layered-zero-trust-hub + +NAME READY STATUS RESTARTS AGE +qtodo-manual-run-p46f7-qtodo-build-artifact-pod 0/1 Completed 0 10m +qtodo-manual-run-p46f7-qtodo-build-image-pod 0/1 Completed 0 7m21s +... +---- + +. Review the pod logs to view the output of a specific step. For example, to view image verification messages: ++ +[source,terminal] +---- +$ oc logs -n layered-zero-trust-hub qtodo-manual-run-p46f7-qtodo-verify-image-pod + +Success: true +Result: SUCCESS +Violations: 0, Warnings: 0, Successes: 3 +Component: Unnamed +ImageRef: quay-registry-quay-quay-enterprise.apps.example.com/ztvp/qtodo@sha256:df6506e93a141cfcaeb3b4686b558cddd963410a146b10c3cbd1319122f5f880 + +Results: +✓ [Success] builtin.attestation.signature_check +... +✓ [Success] builtin.image.signature_check +... +---- + +[id="review-services"] +== Reviewing integrated services + +The supply chain results are visible in the services used during the build process. + +[id="review-quay"] +=== Reviewing images in Quay + +If you used Quay as the image registry, you can review the built image inside the registry. + +.Procedure + +. Obtain the credentials for the Quay web interface: + +* *Quay URL*: ++ +[source,terminal] +---- +$ echo "https://$(oc get route -n quay-enterprise \ + -l quay-component=quay-app-route \ + -o jsonpath='{.items[0].spec.host}')" +---- +* *Quay username*: Use the value specified in `values-hub.yaml` or `quay-user`. +* *Quay password*: ++ +[source,terminal] +---- +$ oc get secret -n layered-zero-trust-hub qtodo-quay-password -o json | jq '.data["password"] | @base64d' +---- + +. Log in to the Quay web interface. +. Select the **ztvp/qtodo** repository. +. In the navigation menu, select **Tags**. +. Verify that the `latest` tag is signed and that the `.att` attestation file is present. + +image::/images/layered-zero-trust/quay-web-ui.png[Quay Web UI] + +[id="review-rekor"] +=== Reviewing Rekor verification records + +Use the Rekor search interface to check verification records. Search by email address or record index. + +.Procedure + +* Get the URL for the Rekor search interface: ++ +[source,terminal] +---- +$ echo "https://$(oc get route -n trusted-artifact-signer -l app.kubernetes.io/component=rekor-ui -o jsonpath='{.items[0].spec.host}')" +---- + +image::/images/layered-zero-trust/rekor-web-ui.png[Rekor's Search UI] + +[id="review-rhtpa"] +=== Reviewing RHTPA results + +The RHTPA web UI uses OIDC for user authentication. If you are using *Keycloak* integrated with the pattern, use the following commands to obtain the credentials. + +.Procedure + +. Get the credentials: +* *RHTPA URL*: ++ +[source,terminal] +---- +$ echo "https://$(oc get route -n trusted-profile-analyzer \ + -l app.kubernetes.io/name=server \ + -o jsonpath='{.items[0].spec.host}')" +---- +* *RHTPA user*: `rhtpa-user` +* *RHTPA user password*: ++ +[source,terminal] +---- +$ oc get secret keycloak-users -n keycloak-system -o json \ + | jq '.data["rhtpa-user-password"] | @base64d' +---- + +. Review the SBOM in the RHTPA web interface: +.. Log in to the RHTPA web interface using Keycloak credentials. +.. In the navigation menu, select **SBOMs**. +.. Select the container image name from the list of available SBOMs. + +image::/images/layered-zero-trust/rhtpa-web-ui.png[RHTPA Web UI] diff --git a/content/patterns/layered-zero-trust/lzt-secure-multitier.adoc b/content/patterns/layered-zero-trust/lzt-secure-multitier.adoc index 0ea740da5..bdccce461 100644 --- a/content/patterns/layered-zero-trust/lzt-secure-multitier.adoc +++ b/content/patterns/layered-zero-trust/lzt-secure-multitier.adoc @@ -1,5 +1,5 @@ --- -title: Secure multi-tier applications +title: Secure multitiered applications weight: 20 aliases: /layered-zero-trust/lzt-secure-multitier --- @@ -10,7 +10,7 @@ aliases: /layered-zero-trust/lzt-secure-multitier include::modules/comm-attributes.adoc[] [id="lzt-secure-multitier"] -= Use case: Secure multi-tier applications += Use case: Secure multitiered applications This use case demonstrates securing a common application design pattern: a frontend application using a database for persistent storage. diff --git a/static/images/layered-zero-trust/quay-web-ui.png b/static/images/layered-zero-trust/quay-web-ui.png new file mode 100644 index 0000000000000000000000000000000000000000..070075405aa41738fba367bfbc0bb3b484b03834 GIT binary patch literal 56395 zcmeFZcRbdA`#!ERiqas3aM_zOL$V@dk5EQQvPooQ6se5L2-$liDJz>)%1&0<5m^;U z+4>#V`|f>zKfmwe`}^nj_t)cbcfXD6x?Zp6^L(D?aUADyzJhhMPVS;)pd=w7*`=m> zLXU)me4d14%f0Pe@sswUu0Z_X4i{CEDFsxTEGf3^9T*F#NgoRsE7;{=Z&Ao!VC+KX*5m$-hwbs5tyi;neus2^ zrQ|6v&h6a6>Lr)B6vwT-kFb^Xo4@b;0j{Vx(M#6f!#uRkKZuFZE4p5P&ZWXsEmrY) z8g;`7n}!hcfuq8DTe;Imb#7Y*5ZGB<*chnYdAPQVENuDTe)zHcVWiOYT$f%(`~kIi z5XXD_g#4y+hi^Jn*OQUzj*{CR?M^#NXl&dyNZ55-nwEl;zTyUBCf<1LI)Po%B~a|p z%(Kf)@`}Zy3hMQ*5(8Ljjm5`y3+!5tzkN$S+?GHl=ToQ{9aYCb5I9{`?dQGudmo1g;wv?DH9e-`5a$=-1UUHMbj#s#n;1zqUUgHJS zc)^~4Fk{xn#x10Avru(wQ41N_-XiGJkkU7>Qp7$MQwo2yBOq)nJg~(up0%-?R6*r(WBmkQ+a4=B z?5km>P#P~qtY_5dV}66A%+xOzsoGgtENlKqaE86(r!GmYU z0`EVZ4Bvt!*q-%J;mb9A1lHvy{x;}DKo~8j*#7lJDo%CzQP+y)BkBS1`3skc(WQg! zUQ`N?V9ixh2%)$7=y0{pZ-YzYAz?b;4%XvVDm59eb$Eo}b`cR$cOL9_yqdBi&15YX z8#yi6eVGOC4W4CNN7DuG2(d!}VLao%R(0pQ`pd_EvDqGN*eSxTmFW3v#?Zmx>rj=4 zvWbQHQx++iCy|^_52(Gu`>vS(?{C22zM(plDNj?==At9jyLZ;zv!86wh+ej>fi2tMu^bMWjAZML#qLDhDu;6W~xl@6hLG|9d><5R8 zE?&Io?d`3stej*oa&YIBD_4}1UUBip=4MJXT3x*8KGPkXo_lTSdtZOQgyDOJu7^i1 zjD7xmH!Msdr3r=&AT(SU-3lYVyR)qG+xdb1O_o1Ys z%F&3^)6+}O&d$!uJ2Sa@h&m@Tb9{dEm08u*B-v|MqaGAen+i#Ca!$MqqEfm|?e6C0 z&}{a>%gDUOJ32jg%Qo^m7Ys74OtxobWwphNKQ3fwZPpBz!m1@mI(PT<91u2N|26v| zH#c{AdHLjh=3i6qGqUghdpXHg455ik?H&=!H%?WP=unZyyByCPoVXdXbqCg$kC)f>L&4D7`z&(7pITytsSXHb^332pBZb!d=aS~sd$7_tfjd*`M59NSTp5*E3K5{8>_!&zqBR%`90ul)s$!W z_~1?z4UN{%Z|?{Bkt&eevHeI;93$Hkp-2|zEgya(UUfY?+;hu`n*@ECCi1xK@2*0% zx5^C-4e^3Hk2!NUx5XDXws9Kovk{4u4)j@bjJMwr`}j`gWN%Dzq z6JPaXk@IV{E@t#C7RgCZXA>3u`OQBwCnqYjeqdmrvGGoRSJtTmMn)eHsrMKq+ws=@ z{r%0&d5Emjr%%Vk#PIR)Aw{WrC$nVcaOgPy^WRR6)4V&n6RZL?qMmoq&i<-&8GSiW z=4@nSq@8?hr7c0yy+HV^$GwgcNx$on`-ODw~yt5Ulr>VD;BOSq5*!R_G zsM6%@S^p0dYFoubMD#SsW=HDkRGthD4yxwt*|lqznb}ZtvwBFnkB?7d)%o-1aR3+? z7^tbK#lNxf@rC49UzyYjNw>Ukp(*9Zj~_S!Vq$KM;jCDz-ku)Ek=mNrSmK@CbjpdL z3gi$|Uh$3f++43HEAv?U{mtFoT~JW)WZ1#W3*%~?&>(CuNrf_ z7pD}4H?mV0*@aOlpgtD@wr*)g&lkG`^gQj$$zkYmv8^x{td%A0~ zidi`%G*nGd=k?|nocy`29Bog}Wu%@yhpS#*D|Z+c(#qE1NJw0DHG)zoPT&@_zTi>~JMKZ0(1q7JuePx5c&?>gm}HJpcBoJ`nd+<-7L#=j6MbtgN_) z59bR;O6@;jEmTgPq#z}2jTdieXvi{re0nE&25y0!ogMX4TKY^rSwZk11wDP%r;+Mi zH@N8)JR@zJw>DCe)$uamq=ml@Z1qo}^tvJ(|&5!oAfg|s9m1qY+d^6%mDpuN>1vxCQL0$$!@Voy3Ln3RE*+R2VJ|zl9~wwk4t@FZWs2V_FF*g| z_H9qgP_Lgm4nzw4MwEAUcD5%<(IAZgrl81&d&t&5S&tXm(RcW@AJ3nGs_U2gQ$Tr)x9?yJ#x!8)&>TpKUUXlnHg z4Gc8mM6&RUrMVG{a+gsg)?>$xDJm&#+q#vS`Iu_I{=8*z-`LTD6#vb>_Vxn5l#TgO zB_}7R3A!_JCj*#K;R!g+8Dn1MfTe7l4s9y-@a|= zpEX52)qL^$+rZpNowoH;F0*#~AFp=HmDu&3E0gngfzn;S_} zqR`aTymIAd)~VP6i@M}Yg`n)3o86(0j>FX}O;OxFLHWwY#s{0Mg-nX9T4Dq<_wj_x3|9OMrs4Kp`mVXU?MF5*U?Fda zo~~|iNXX1UnQ&idbaW5$#I4;do2$RTL)$#+%yu3c54{?u1|X)$J{TZ)7xWol{)P>`IA?8gShx#4QBp-T6)wYj>c z6l-g1L@T|VUv+J*pRO*BUiAI@_bVzY3JZTA=LngWr>3PT#OoRu899G^mWC7s4giQ! zxAFU|tu1d~;{#rOF70F=)bF!r&-(gq)cUS*adAbKP5F(TiV+xPEVJ*)Gqg$~)(RY; z#>QOa(C^>BXATSjB1m8Ts=7HT?_K!gs?^hI4(4N?&)jEwadzc4moskMP(X&f&m{BP z>{s?P(m>}|b$f%H()@IjH}hf|SZZrSeOQ=yM5L%iGN;+5kD2cVm;*7;?44Z)GTgFd zOXl1&o^2I}5AFnNKzXb46Z|;4-u+0QR@v6p_AY~X$ebW97>E0(V4}D^oh_5sbSLLt zDvf>d=}VH_D+-n8c^z@0-BP@D!zU>a-H}(uvobSJNLN9|5RvAdPSIlSxwVtNGh36f z_Wt$_lU0Dy%wJh$Ws(-}oI=vccQIJm+n*9TTwD9?ZcBH!7#COeg}3)sR#wz-`-p`4`}c3Gor#Hw zS*4p7a!RglM%dlEPtB_67#R_G;+C)PeEsUM(7K9a)7{-IdZ~SJy6d(F`=$28xZ}R7 z$jU6oeLO$CxPgTBE=eXfJr_v}x!>dK#~-+MNvFYQg@yEzPNqsKE*@8|@FOt`3htt! zVn5~J;Glkr_*LhzCky#=c4lUQY5Nh>W{{N#x6HgeJ5|*?Po4-mV0FVTMaUQAl{r$CXVPQcniYvnWRHoxgFyg?#Krczd z7BvH1U0xxf-#>rKxJ`ASdUI(dmY=KNxtTiPbw*W{#bYckR{zG#7CG)qEmo} zr~K+ShNh-YrAwWONl9d7PjN;f-H_1tU3B_^GaPa3DUayZ=;-Jg-?bQxIi>r7YBYsi z()E^ws#n^XWxcmEMQyxg@#hepTC}jUg8Lp3*4b<%t%gP5w#kw)|8 z=4QKiwMT^q85!Tce*N*|N1wIdj@`MsrD243v)EjmE9*kzK#JY>!ooP%qty4WKwzNI z7D+w2$BJXC0{Qs-qt!7+7?OI!$F24L(#om6FRq2+)VEGT6q`tnsxVX56 zh6Wlg4U}soq%)-2jP!KXu5D^*+j>zp?Pu0{E8XpdVo&v(@u6xydbF{*Hix=laQgJ| z%VV!06J%>9SYNzY>N=q=lD}{C+qa~|#A86D0Qv_G#9sdVrs3_|t~ok7I;W9ZGYbog zvuCe$W~!mc3-I%Q9(q(;TZ@IpS7c=8_n|7(4Z!}iUHkQFO(yeDcpiTmU6Gzvs#*_kR2|{U=DJtpLw;Uf-aO%=18IQ<5(V_4*5S^7 zfb~k8N6cSqyMO%{;l$TiwcZ*hiiNMH*EUa*cHdW7+WX{eR2b`Au1K|~@Vr2cFyS%}!|?h7Ie=fwA8yCPH~z(;5*17c$6yiNmjah#fBt($J2cK@D~X<^?- zHPjh39J+k);6c+`pT6PY+RRL=uOACJG%Z4r53hN7f#XH6pG=l^SARY3NfTa2U{}hV zna%$9HXvCM9#!tMW96S9jen3RG9jJP9u*l02t9R`w6e0&vA=}X?0r*l_Pu-5BPa77 zKaPru@>-*ml92%z$JyV-D3Omy0_ab{rh-LRxzBQ~-v48%NFji=t}i^gqbSj-x})Zr z$3j4ZCT&95L_E?>U97*poZhYA{vohc#%s`hRJ*tNB>3I8B?ri8$&RX;K# zb*MdzUKHeQ`c?^~6B%qQm|js)QRAOb)r{Rxq2liq{*F@BH2`H>R%cUeQwuZjeH)%a zAGB$}V<}~SMt@OIOegAF?&T((!i!mn@=c8TtOm2SQ?%|6n(aot1K=6b&?tYG z{HU;RCtYYdPeC4^ky6H)lR5n_QguUW90w%y`jK*WXe#u+?CKH~7ypHXfnX!@3KP}U zgfiPM6&sH|3;PA`Y(^B7mm5Dz5g*xqYBhm~yPh>V8YAYkva2#wNW)>=l-*&n|FxuN?mN$&(Rus?wFv^c7GG1 zoljjja(3taU_}ZeK4D>?ZdAyD=Z>GvHgO-;ZSgo|a~}&oBgM}4K0(p$xwVV2QAdB@ zC2Q-e8>{YVZJ$Q!{GX!y{SgjmAB~BQzFc8CoMSf}Z(8m71GW4fv+T_Hcz3>usGOXf z_j8?)bkeo>9W`8Fv-@aho?6stJ!RRquL$QE`T9Piq}HiZ{H&}BE{BAUm!_NuNneiN zq1x2L%YV~PtxHMsgF(vTS@E8$QAuRAg%_+QzP6}KZDG)A4`>B+8HK$R9r;l_NrO9d{c}l*yQBultbynWqF~eLJHZxKN>}SXfoo#gA>`D zJzZS`&(15M?zp-x;9S*IS91*4#~lg<`N7FiR1Ek;87pMAPr7KoiK65YLbQ^(OT}R5 z0pZQn*{7gWR_z_gkv`7#5aiZ3HjwkZxcTKgz9)u;wg9v>mOM;%c#e-JBO|Lm)u^^U zyr8;`*LI*aCwugq-Jh)m(}HSD8KgPu7uG38BI8dxy-XLUHW4U(8QC7ic}YQKQ3UYt zO-sux&^)cOtpBDD@~u&Usjk-_b58aQ!?ulm*b6>-dcHr??@jL$^o@;=0>?@uJju?! ziUbwUaJcv7>(@6+K4e@=I*HBLX{LEs){BMP^Svl#uLzTbR16VWNQ9;DOl=wAhUDU=X3@nu{S@8vFDqJTcK!S65*(Q#*Ys=!Ud-ukg9f4)Ijpob}He)6sJx zU+i06t;HCJa!?l;TZc<5&{~~vR+IGKTqjaYwKtNE{j_`c>OOp!yI5B@UbDH#yZGj= z5`M(7Os`)_Ea!K)X}sO^b`8_xh2{z0wkzIdkGYYW)KL90cW{0v#P4dB3w+ z6f)^cTGZjY6WZtwQ52(Aj4NwiQ`6Sw7Cyl;UozTg`rBtmTW6=9w<#eYpK$a?&0=^C zA&@&xg*)^jxosdpUv9eyiTHV_zh_(s+}H{5F?>NAfFyR>(6B8@W~t|~5d@W1*Vo6+AA$6T1A)EOh!=xIZU$h0L$_;1SRHcVYyV95 zbB7NSs|-XzBnPM;#3gz7@F7&DNBTKH3T}Nx7nN@9+`FnEDOuLo*oZWXGEGKK-uZ`9 zM_0G7tZX+GRSQ%$b#=Oc{`#U6wGCnP)o8wX{A&63hnVA_yJLBa2Y#uw@ZCz!B=Gw^9&#!juprU5koc#Swf9d;5 z((#&O0{H>lp_z*lRHED`UvKTW__54+q~gkCqtUUs!+j(6c&(MqS8!pgOP7%MQ_^$K z)cQ1)OZrejh*v!czLC(cEgM)**rEA;Ey3Q_He&iZfGx+ei=MHuYO??()`XjzJ0u;s ze?>ZI&tmnR#l$ZVmBxcQcwagXme)&~uqo?8a^n=9`q3QpUHRn6+giRMXRltBSYb_M z=8bN!{08oSDpm-jXLNLQ@y?b^?N#Woq*a}#7;&d}%YAiEhfm+$5+_ux81eiX8gLpL z&xM;QMSN45-A4C^EDi>0T)K3rJ|c}MK0-o7HRa^yE^{3C4Uy;1=9+WLaoNL8oaUwD0IFF++$|2?F-t5=T$RHAr*eSqgfeP(B4o7v#^24!CL z@6J$?6xQ=Z&Hxh+J0!ILK{1L;lkJH(5DlWpqKg9Q*UZdpvMu2QfD*tC3k!>g^KNBb zG|Vm@J}B$G2ps$dLK8F`$Mffp*mR_VuZQSm;)aWi^8w)cH{T*qc|x!aUO?)2GX#u- zwe@o>A>>a%^Xg?NOVH&JnYK_LAfrQ+wbiviGyyYFa*>h@0uY>GKM6M&62- zWE-(Uw|5SOQSP&P?mV(NSNA7+)a%2)UI2uU9;7z3{l4FkVZQL|8$nE5{N%ku zYTnL?a{kFJ6M2sw0crJ=lmZgnzJ2?r;4z)^3?gQ%GxLHbr zC0?ZF@&OA|`usUp58JYs`|6^th;%*5-ibJxN4nuD;gFpmpP|mbdik=_efGISUlF9w z)>aL)6d+dOmx5YAUbM9Oy|K+^HxW4=Y zjPl;Sd)NUF50A+t=J4`sOF}D8-VYCNHiRDV^YcUCc6N2~3km{xE{E*r2Wk7YxJb;t zYvti!S4m>FNT8j!ce9*eQHb2B@XE3fQiI>04G-K4o!}X?wm=;LB`-k4VUN4W!^<1I zxgy2KX9p>mRvAL66MDBjJw51h-MV$_5cQ?y`BAH}j3BB5?J062t*!ac*N+_eu{7e3 zb|js$E);6>YR@AzOV6G?gQTTT3qk3z;MwPkvmfp^S#fc5JNFeqea?ck5*!??qM}kw z{{lI?qO#JpVh|Y@skySe97^r@moLdjFTZ^E?rC-PU~B8w(O0(@*YA!!#~(wKiclEc zSYKDQ@B}wxVMzgO#rj2D%?7Jk{P{CM+#Wj3X=H$;Y1>C^R}{$QBSzK8NnWex1%#>Y z&`jfu`FbAJd^eNyA_SEH=N_3flREa*&k*R>f4-}^w$$I(C+oZFwz$|WBkqMi*o)W|63wy=@DerQ!&bzog1HtQ<-etd+fkE2iyJ`Ju zoTPJdMa2pheR*GeP*4zn>=(xe42KRKyF7M6L?^qdY7Mv7=qfHQP8X`YYASj#407%! zSbnwKSCB-UQ6@RRMCT7slh8Z66CAu__wEl}U2AB;%vGUJlp^PU+*Y>PN`$z`=H^<% z=*c*uGo??RDuw!ueFfNxI=+UM8Bs_7RyI;nTH5q<4qcU#s;b-RwWIQ%qm8+r|FoFN z4uundeL=+Kj6#=#_#b!nN6k6cf5{Lx(~GQWN5fB0ETKup_RCV<$X-DlbVz*2vRB>Q zOpC4WmX(z~ed@eHNm3e>_q^@J$wg+mqJ37c6*ljww&T3s#myk}@|j;HyB#>VKcZ!V z@5rA?wOdW+bZ8q^My}n}J;P@i{^+eHae2HKZIGt1EWnW71Z71NlfI#$q-rFH0^fzp zg0XU&^RIRTL>uYq9+8wxIp(zhKsnQD9hn_EGBA?(P~@VzqTFXCmQ(Rm;js#vbV$%$>3aVj;;*=*Y9{99JX-m4iasnPK8NLjXZWaN zT3@)-o!93PKOnK6?bCKt_k#i_B+O1vS6H_(P*H`R>Ggqp2(c5bpl)CuNNQXH?AUyMKVS@OnHbyLLZaZ)^^LWWMEqdF0B3QNx>&24 zbrQYp3b$hOV_D?&P$zbtk8%oKsFywsr^4z?SI#?+C(icv{LhQ79~@Qt&!17UHqJ-> zT2P8wNr}jDd7rwERzqPKdNOR$7r_O$ovFkFSxAI7GS)!NbqHBHjUY@YK z@HwydNrNdHFMLP@>hfZnTuPG5FOrm%4CRyT5@=PW2Ob2Z*Sqs*<02_Xr5^|yLJVPK z3@x%QEj%*NskhF#HFsM;*s=PkovN&+w-;an$qer{zwPcO^;DGiUcMBG7-_&xlI}n~ zrvgX=&vgf7dW94{=&x)jvIkWQIaPWlz9Pd3LzXZW6Y2 z+}UGAN(>=3QhEi@*E_uBcUmTTFEnaDV&W{(b@>yxq`h#acDHGfPT2ySY_Oo6NOhXn z9}ouXV6gm9GygxY+jpZf+Gx8-02E=x=GoJ#ip73jPC=S?e{LQpAz{NuG2tU+35|EC z706SW_gI~{P1vRbCuF)(xUTU_nt0N{`rM!K;Vq%r%oJJA3YGG89=q;VP;o0~dcCET zZ;AMV0fj^V#~)@^pH@zyy;J?E#pl#Y;g;+9SP>E!E&sY5@2YK) z91|c1+++#&c8L$(sL|hinc9HEOn%b*@8jfb|`|oxX zE01tjJHPj*blff&t67_n{9r_i=$1Y3H)5;gHTGCx=W@x;*z`i@`_O!(VdqGy z4OVlz0y*uLfG}*)bvAkEsHF5dq!4^KXcSab6=@Fax}hFUFsSvxo9gV?ce6Pb)*Vtl zg#ewEgi0pU}?0Sl|mh`#Cc<~m9_t}297NTc~NPw|V zk64fviS8-fK)OQg71kM#A^!I23nU%THvUHh6Jwb`IRU*%K{ULB^uOQ5-MGp1-)|as{yo~npU7Ji(sum! zS0dYXX#V$`aC%i6q67J#umAf||8oH^svY=uVdQVDUpba&X4ZD@Fo#+AoA+7z6lw<) zOi}LP%2=jDgJfcSTs8NEtFq0nkURAgu8dX3{(UXswcOiR#c~(xd^R zuUw4GY+<82M9t05AKGNKz%>NP{OF;3K|y3u!CLQjv6Xl$-|naQ`yMuIUuR~Fgp;pS zn3C_#4m-C!+|4~?Z&T?H@i*{NC`c6RZhvC_KCMOS@88SQoIiZ9x=%yxz~ov78P{#X z>|Kpn4zbI@4%QcJRW(C6)0!*`p$M`s3PRb`*Y8S}Mf=`69zx26xv|4&R6-GEmU4al z=8a0{#T6C^me9uB3nZ*t4_a7^aPjW_`$65ev@SMVYDIl_pe87cp}?cr3P`p34u&wi z1+*PF4$5G|Q&3RQ($caNyuPgQ@NoU$pbtPmq@W6LfEP_X-rJ(i@1jT?w3jinwihqt z_htPX{(jYMqF#TZ{Wzl4`mNcX?AXUKd^0;G#RA>R6}nm=CEzDCj31wVA`Sm2{BOoB z9XtSyO1ck1LMT^?tE-QRigpnx*F-wpA)bG#LF%C}fZ~Aua~kpdy_4L#Vbn@$>Y)Z) zs)?kP8^9iZxJ29rG=(a3*18U)GQ;(RuW6p23lpcPZ+G#WEhs2JfA4M)@835G_w(6k zBfHceVO=z!&paM%#YG0TW{Z;|`6UJPDU z(+);gU|v%RLycCF^tX{ZIbPmJnVGL&ym-;jaIrVv#OIqVlro49$&rzIIy$M@+19qU zQZ^j~G|_Qs-buJ%xCx-kpp}Cz!1T-vOm`4HI(vGeYvsJ&c5pm}k>T>^TNxSbwg=QC zjM3s?X7+=^m7kxF<{Fd`8JQ}y87rWiEq?d$^#yIOKL3gwu8!2yR1nj()m3s*QV>~O zULDrb$9>}S=PRGz>;g9jzAR;R-von!AP2Q&e0&_NYj$>4Mq1k2%ge;rcs_|p+=j5G zsi`kII$XetM6Fx5Lm8o_{=KjeFXJI(A_x;E8Xd4oHnp{(0Vr|!FyV9hg5$2gtGwLk z?HZokt=dVprGc~1q+PA}1Q@2bnu^LBP$+!iOsa$()Ya3AeDI*e|IcQ5c{%)gXs|@~ z#EaXj=yqf6(FujM0*x42x=?pWk!Z(pb8<2r_j&mJAoKqHzt8}7IeLhK;x_go8hU1x zhco&JfbEFrjHpbo(z~Id`bI_`Zf@Q0-#4|ioYK%B`YhDdo1s{co`Mq~`QgK57-gxb zs16)Bu*!qOAc2oWWMPvwmp|Xf|3TlZKxfs|G%+P*glMXK+mxCP#x-2&{x~h|JVZ~p zO>R*$F)%Utejk*oy~)KZs;mnE(Mi>@4#ul5t#L3cAnI|rG`N03BYsd7>t2Skw<~<5F9^p|0+GTpxH^1lQvnt)!6P z;Jz|v3*0NCp26Q`C#z4Od$74qkiE|3ofP<5jVmoKDQV;Px3eMXM5jm$Y&sz76JNem zR#ZGOt%%eZG(Ua%IeJ%+gkUxG{ru*xmF7Y(WTIFB6A{}^jv^OOEOd9^mb-KB-tYPO zRGt|~{OEkas7fH5!@;mBg%24*@^OgfxO#ZM(s^c(QP5&RqXt3N@!?ft5K!aSL7R?Ju>^b^A3vYVE!^4r1hRGAGM$rm~DFPSM zAD;fV`ZmheE@qvR=mO>G=_$n_!G0nr(M0lIS-9906EV|QJPGpYN!66_c6_avju^hK zArCPCNXkb|Y1IMJ}{SULoyGiS~)(9?^n zOEsL>dclU6dZD!o(6zjLId+@Hk3a?Hnv$Gc00-oNb6rFjqp~gnoT%RD>4n_A+xG6= z{relNi@}>uUJ~UE>Fn+0k}8J}@wAaqR5zcp zEXC5IDQZv!S88*q{8ywRInlviI^g0R~T6*T4I~_xw^safIdT}5&FKNFoGfc zO-&EYSvN^AemsWT#s1pjHAKVxY)q3C9NqWQb00jQ^)7`|F(e%lvqDiEt@8BjENnZ^ z^Yg@z!6J+Ae`M79Lm4t(6?bo>8vAmr1wTZ=-b^n>Psb_Y>-Ft1r{Pm&oP9)>Bv zeoXH!y{L-I`HkmaW@c8yZyOiK?JKkYAVeOxcmIBOWL)G^_LKJpYp#`D_V|HgL2TBW z6mtm)eTOLocMaWxt0n}8rSrvI5Ptuag{N-=l3bm{GYSyFm#fmv0g1MkXDsA06q z?|10OM@7-t=B<1ml7R~Zrb)O?;mG*Mjcim|ReA1JYkyXDc2S>$l9EzA^#}M~y>aM} z?9k595Jtb3!}p!-g*Rb4C@G;!9bytDmVOwAaKLsmh)q>dvNzV(->5!UXp9|#a__b_ zPwcCoR#4bdVZI^~ef8>9Tq8%YS_v8e*h^S(C663QqiBPQ%H~e>HwEoF;_~SQTozMP zHVeeF0Mk=TOABvEQCS(RQ{||My1IMSj{TY&89~K2F{yy*4jojaT)e-8h)AW+%EGJL zyD4@aJa_(l8Y*5!#w+V$B}GNV6G9SJIXJ0WtwgZ-D%K9qi;Ed$y-V`)W*~CjW08YL z%S}_W4S4}3pfc><`}>6@CEc%HvGefcqFlmhg2RT^kZFy#I}BE6I>x~kg&jbb3PP;~ zbkd_oAGTR1JbVa?&ijuam*LMv2{>P9Ol)`nipk5%1J4u}7k|h%i9$)hYf+SoVu?PP z;TpJKnp<0uc-%4Zfs^;{9lDtfA3r|)E;(3^L7t(ZA+`RukQK$m4A8KtcK@^K3$YZz zY2mlh(9#l`PMlxaMnV0o&jIxuHv)G|Te9q0XVxiNWyijv3FL_S`g&SrLAW*HV{*%= zK`#z~!tMKDT-ctYxK^xdNIJlY@)?`qI)6C=L0(M_Wm*s>$)iWhVQ+z2CAU7W;%1dW+zY5BDFbvnr=>!hK8oLN0p`pV7sVD1k+C1DaUnbftB8rok1}; zTVnGAO904YY+@3Zknk>1>L;4}n5pTjxRR5Rkr5T8k91R4w&ifs(vI)j*-$rQpmPE^|f(AI8T(W#%PL|0te2hm$f2f0UW2DJ<^qAyLEZdW0zh zLm-G6peShSFzJ=RCWNyt8rOHQ`=kMZjxM_6= zp1z&TQ*(1HOiZ#K-v{e9S04jQ0*v?ra}f7%7h_Cp?Bwk1wW$tPq$G3~(5XS#Cj(Z( zXp2^dps+Angq2U8IA*Z)L+?bV%v?vOe zb?doZ55(>nv@qnn7kL8f(V7c|p%z72wMz^(kCGCx;V=`Zsr>x>==j0X!vo*pKSW7? z)r|UfG2k#*5SEqYs0%?(&H|QCHMMC34z521JBc~K`alZYk1zNQaj4+9Z+v<#mL0t- z%#=NX83L0jrG3!7w1Gjm0i))TnEi!?}O|9cr=Da5ZA_+Lu;( zq1YV>*KPt)Hl{@co^oSdmlrxnh%(wIcb@P+|Z43xj?!Zr6Y_gn4*6a4-h4H>y)CzU0K{ava2ajdQo9~748*jMdG*xi&s}JrAiIZ`tuD=J@1uh3 z5C0P*%(y;2$84v2@I8e4h#mlYmHrE*jsr0qn=lt0bL zkd83&fu{zVky*r>{V2AE-FV93tO0w5xCJ$w(MfrH|-SeYe0ohgqRd>l9wpcq)T zS<-!H#WuL|*~SQAR*`PzZg0W|U2)|CbfLm`Rl})2RP(+^`p0D^wOM15hdAklBm$xr zhu+eO6F2W%NR52bQzWB%#so885?owg@M|o68|am~x`?=VX<6BUERs^s-(O9D9HW}h zAR$y_1tVzZ3si(GDh(xsYmbPjg>(TH!2N`ZgQg>ZEkbb>!#79_4c;~X0`8i~$bFSj zBEkql7+e-A^YTI(EFq*otfvt;{lb&gODN7K9f46Wn(jiZD>sOa90;J+;L~~LRP?b1TgC6Ru(ag+DpaorJ<%>ui z)eY8%$LTXj_t<7QVCZ+M05r|HiI);CwxcbZ zpPxygB_J$}<8|<;ODb{`4rp(InGC!aKpAh^!n)!sj|@S=z$c>sHh;JpZH`M*l(ub&{TwWOy}U@;?z>A30R58wyD7wCe!(_O6##JRe0 zr5w$K7=#Fl8|{QnndQEgI_-f2Wj62G zFnh+zdLHkNqnvc)f{NhTuHN44YfF*Y+3;)Q08Rd3hqv+{vvh*fMziD=_YCCja-S8E zxaT*Utoq?|uB@!}{-r+E3{}oeg-C+a(-kc&Qc5~B)YWHtpCq8_0b#kiij0(SzDtqI zxm5F^rzc7Dl9sYEnQVVrb~cx@;daL=m2iUv*i%4E;e=lqp7<8nGSGWBGY_f)K-Kij z-TU{6HH?1CRk&7g?EfrI>swikd-SH{#!IL5s=LY;1T&_Cs1y@1O8PNsGC_ zYQ%ls-u^LuBKhr$+3oc(xR004@ZVxPKstSnnUV3@MDu>~K;rO%w45P#XISD>nPazK zp({NpO9{y?vTibIDKV_8J|S0-kFU~gdY^2m6lanyrTa6N7H9x3*2UUM(im}9mK+k5l;lpDZF(@_Q*8H>Pe8!oLjhA%lMiwZ z#3j{VU@K9HPch*c$CLxX;P5L-){kP0-_hEIXhd#6PID$FF>8MN#kj`0-{?P;gNx0AM+c87nLF z3=ENrU6Add!IgUdvIA6r0|yZc{yjfG4?lzBV0j@ZAS-KHbv5xB1h^a<5WrXWry$d4 z9Ygp5t6zcPV8n0jZh9`f9n8{hcfw|DoSo$`qXV{tPhFfF@yA>bs4$H5K+gcF-+|N7 zYG-#lK%4``FG1G9?O~sTjT)9BScaCs!!h7>6o03m90~FFX&~7FZT{{sPFjRk&`g+6^0I@Uzd(Z3(Q0`;ukI?Fc*jh3|ui z#|pTZtVW^Eh=_-DzK72TQJO}5*8aA$oh%}^lKs3Eg4BSC8fv*Q9M}qCg zqyMuzb1N)I24@4LuJFQ1Os@mrBKKC5mwTcGf*RZjd9-amPTlXBp2t`wkg+5of2a&6 zPP|64Iv`+7DES>DVB-4oi)Ki=gu_Sq$jtOA>;XC?=;L@@TLfdb?IPN&TG52SKv9F` zP@O*pSid0mAn|O1Qi3V@FOS~Fa1HFJe->JVQARQ9h(lmmXbfEF>f+MT(}TD8iW&8p zZ{IX^4Njamfnyrm@(n?ZeJeNpj<!mw7EkH5NLW8NpByAKy>Wt*M}HR#b$jT8#_~Ca|CP-4}$n{bF zFpeHY###aE#l_dSj4EEfTnK)F*;&#S3o4PsyvoW|AokiiyCC?Yp%D@12XSZ+hcE$> z?`HN{oYIw*t-(1?h>wS28^8EKQe1o&H8u0$bMpTYO)W6{Ju$JLmiEL5xm6%~K}Zc> zftZoF@lXi>2jD?sYEV=RZ~F_N!uc#UA4*7H7OU2m*U#1nzIQL1X9hqW4!q8|Hizwn zB^|Wo2BQI1LN;DOH?wJR z?g7R@)fq&rh`p19S`uhqJ1HscAalcbM=XXreUTGT6EH)I9BjYJ_TQHMyrQB$-|M$; zp~kKtor7@T_?XrDRGbJof`JNjpkRteGIqzDf~Mv->J1eEE;8Z-a&XB(vj5y+_%%}@ zqtjo$MN|YE%bPb1XUhM*a}tpd4a(Q&4o`XAXmp)^XWL27;jKbI>L`!es>Vv6M5}uG zoF3udKel~4z#Nsiy(y)r^HZ1=o)Hwn^>WnZrjV6LTqMuE>b+-b*k1nEQeeZ@tga6C z{JF!Mbu9u$PVr0@`DTv=vvMTwn7_hYKqVa9uMi5*}wPyWqjzEIP~wO{$EeTe@tA&_4xnk^te@Y zRN@RCXM=_wo&$2(p}G(i{v~YV(09;g{kzh(7?B0N#ID4<=0MoMqk%LlP9nA8uaI`U zeNJ@!--sKYb6eSdLWGsS=&~OOikC(E%Bb5V5keSzIyff zBC&16#@UJ~*$)LtnJxdmbEFaEz{Ng|V8UBt9i4Ly4(nzt#6Rj=`17&qT{%~g-|kOQ zr27bN5nKdhxxE#y*7^z=HcJVx%FSCichRD1eOL%kss-{%NiWCLi>V`%TOHh`S*Bq=-~NI zj-sPfzN5M~umAUDBqa>n|CjSe{_&0f?_a$aahB3Pb!sgv3v-?csRIALvxPdxKKNds ziNIfLB?8oFEO46U3DnZFJhYMfAsT%S`aJL4C9nI|IWg^PO@NA+!wxyY7Ltx*2RgL0>*}#G zbcaex9>kl-^q>hyTm>lx}d->lJ48oc##FR-ngz|Z)4Ng(jxgv9pM12NsUknQiv&ASf1&72YB2i zPG?mmM%`CTJB)@A$G#0bu?7GG6#+aFoEG>NyM=GDBzTe&Tozkzq=NNubDu1Vt%L>> zr({XwYsaMbi{zS23-lt?fyEK2iwLV4u!| znE{BbklDZFaV#GiF`Z}r8;7-;0N3c$*%`djIOE^|`_LCuTr?6u*r1~0i5G-u6#=>w zX?Hse9APj6TM7U4eR;wj${?U$aA~%PMhs`5HSD$ueF`cSv_F^u;MpH(Y6^b)8IPp! z`Eg4^(cN8qs4)K3Xzrs&;sbfm0;ZC`VDT2WCqJPIZD2TJNvf=izFA;&v>_(lfiQu? zATXDJViU~|_<_}U$Ks+Jo{523Br%QwP%c<~FxGURK^%0Q_|z&|Wk5NMYN1>42ex$w z2^m4byJEk?U{ox9nLt$ZB*W=vWo40Rw zv4Hb7wZ7{we`lbhL!b+7awDRtD?R@_*aNM$$a|B3P*4Q`+S*KSJ)MPMf<=SAnpyF< zwDcE33oV4kbBB>kUcIF`h!!kNT%irOsa1_cD zFwz(v6@^wf3>2jwM(gUA_H8yu4O-ocnqp3E+e0FL%%92m7xs63xiU zf+o~4HXeCqH8~s0#a3?Epy1s{qr`%)6AT-vjP>^I+bu11MIYa-J=A-<`-4zZy`gz} z|9+v${U8*~;2zcB`N{is*I^|AjGz<>Gv?W4Jeyxz9r!Xz;vtkj3KGaLGwh43tS`n? z;&^0r=;gTuOp3mn;%bOjW8o|eLo~E!-%KxJMAl*e`FNejl^!5#-0I7rY~>&XA)4;e z7n``B+!02I_*BW`n`SPwvH1oBMm5ms47Q))wCwTYt>9Qx%#FLO=KjS_l=4n$Me(tYOFSLb&cRfOvZeEu z>yXraH#!`3>+iIXTh3CsB}HkB+Wv zY!%ZQIbsAJD}cPy3njlt?@=mx$e@Cw1xExg4==C9&YPi?T+W`Aw2%siK4ThtJ45A< z0Zo3lbEVL673ORGdq-NV{h&0{KjCUK5*s#j=yDU29h*1ju|}6E$cUd~TGRRbthm_g zg^=o@xV5LBbEXgrc^GVl*r9Jg_nkF;-==jEL|{ssnvEiCT}DIRbH0RtH0ajOKB*VArQ~E}#=q2)j=PmLA$14{voIe=n^e;VAeQPm za15fm<1H-*2AS>y(=z1oW#)6=!(5)kB*>K#>udG%gPpBy3BLC7 zF?0@y1dx?b?SOLVIJ!V0L!KuPofeSe*zz^Vv<;M`6MER_HD)|VS__vlq5-b~H6q=e zVd;i-9rvmddW+DK(3x;4M)10Gw>|`d{C+@PiN=E;jgD_I-?59~o}ZOhRIICxd|+j1 z`8h}(_>T*PJGCVLWSgq!xilU*9UYy3;a;;ufCs@bS0+>k%>yqbui%S?P1iNtyjIf=JO}OV}Ur4 zFJyoQW@kTL<9$P{+y7|W1D3HSbE^8CoS*;g?Slt_ox?{S9%kg16@UA-&q0^6KL!kN z;fB++AQNEY0W}VKw^sIl+8mL&<2*8VybK#)fB238feur4I8PsGe{!IAQEqPFeZvJE z{4ZW>6UDxUrUcymAGQ7M-elqYoFQ<6*RE~PFN9G*{dv)Xu8avsdi~f3cf-;?{zP#+ zH69Y~_sc0J5;g%KLelMY@HHshurCJ`#LqQ0HfGK^{%~HnMaytYZzr?mNiqM8tbw5! znVCF~r_(-~t?`PER`3SDnIaxJvZ(i0{fE8(lRJrQ{HyVa_{jb}7ri*)IQ#tnk?`N> z`M+06Ov{jpqAn2=x+G8UfVxD7EQ|M_9A<^T5RA|n6yT8aFB`bTA+s4l3CN9X1K9_pQT z4f%H&ecg#|9kAX3NA;570?wDBWjl4fQ_gJ$ukv!!v%yccC~6t@?@1CDTQ>waR5?j9 z(jE!crD~a4IA({A8r4>rH9E+E4woJ|2L(*rnkdgVy@lJ-A_16XhM@Pc^ME&T=F94K z!7|WeF%2tWB1LVQ+emq4xpl(L-deN6(ozlVoaQ&0IELxd4di-(8|3C1w0#1Z1`LHy z8#a7+x~Y=v**4;@R6(u{3z#0DU8aejLn?t>#+$kbegsBaO~9(HjZKhD4Kw-=tymTz zx+wk~xk`1+OyaDdarryqVq)5!n{f&Xe21#XrN6FU0W%JfvE-ANUuBjg#sWnj$hpq! zb>gn+q`e?B7e!0;tadFNRm(Q7?Z(`$=^Lg0@XCN!-Ds1eoanfvc}Sz#|i} z-dAh#ob4@p9h zy(`=&I2au{BDm6#8t{(5n+Ka}RInoSJpK)Wo(Z_6wG}mZTT4rBb>@It{xUp}4O-@i z?z>>%1j_Q(*o{JN!a_;6@+%Ob`rb+vTw6X8>qlA{EY%+OISoFWNe5Zd@ZIHMOsIk< z9c%CebBJd&n^%aE4WBSs9RDbCRx-@oVnUWq10ii-9Re`?)8p%)DZNv%qflZWM99I-@}~AofoJr&~{yg?OV4tzFel6w}-HbFAWU@ zE!{@{ylhzx4Jk9vlCgz+9^jvB7LmJ$$D}Gqp`x4|*Y+Ky$a~Qd2g}goaW|-=#Y4YZ zw2eBp>S}z?84xh@r1#aowV+KQ%B3xmXN{W2hoGCIh$}TR_|ZX+g_`;2%0Mr$y6GoB z*VUEIU-!G_b@hdRWtgPhp%F4B>n1_*5F@_(q$Q-&Ccf(5yV zk3dvg8EJjz9zM9-`e5WYZr8D6-RP0OD=H`~l{>#Qdp^Y7C}p$rG@}}t6DNKGaizRQ zPu^p^SV+IGc9N~*e+ls^v8G(hrA*LF;fyn>^tK1P%@w&_G%7c0@!q|+(abW!=;`$z zn+uy_yJyeUE=QmnIPkZ@X~I_H02xb13XB>`Tr}^DRh-w*9^r-D2Zf=I# zw_gKDviMkz+1%o#w3=BJP!)V}{v`|8Z-IxIZ5vV`CpK(YXi+B{S;P#K5QzJZmyZ$6 zouQ~W;W;9Y?UYvp(oDVaadE#!A-zIA1p2KrUT47qA(W;`b^Z%{B-z>i(>HgESVZB1 zsphNpKKaO5b=J09Ye;isCL`mGM1fY*Hf9Eh_A>SrmJts&WPaS8JD$4C-61hCISimy z@hHLioSc6)7*3B*C-@}X(I6I~I|tp`@Rjn$2#%QD;oHZPrt@Atd^kZ`dJ$qF>mI!Z zc=`Eh@Fk7xP##f|SFBiZ>2eF>J;)Whx}EQo?x+tu)kqEoP;1$vN0O9>SFi5zG#FX@ ztrvzG;2&XZNH-sMEMLf3gye{};=ld;c3N2INc5DEmq#S+(e5i^zgu+paQ5Np`5)&f zD(2&TH5Z7FozAs2xOjJ|DS5y68f>5no)$Al~ANXyrw);UWa?WX=Q`VS~m z2*jMkIR@=aMCBXjF~_Y+t)y{VPkp5g>dLms0k|)H`xe0(-UIEW{p>`~ENm)X#u!6j zazW4r-{j=O$P{^k%aRXG7Cm#%L_uR-kG;h2D=1vhgQ-SGr7dxrN{y3C!|ORiD;6;~ zlU&MVM#g8V|Heou>VqI!#60MY6JzDdv@N%&yF+qM^lW=4@i6V_Q-p1(rkKlj?j*#e zp|%!_hOGFx>c-XB)mE$!^WK1$N@Mn%X$5}m3QDI2Sy|wREFTW z1c0$4Ard8FM%A`lo3Or~1HVa&pQED_vU7cWgnNQdA_M4D?e5nY3oY3 zPF6_;e&7oINN0f+Tg%PD2Y9d~JG&klJHBzU{w~X^vUXY_#{4oG6qp*=a^7tp%G?u6 z5&zJ-Ee$UyE{5m7IdA;-O=7Wk5QMlNvOPL)6B`u*24~e8ey%!wI_AbZ@$o1#qx>Fl zS_bqEPb|Ayx1$eu)YwF+$SiGt@zM0PXk3vhVGMon;5{8l$bF3uwY5SghOP1K7?mQL z0N!%&xN(l8ArCzDi5kYbFEMPOrRB+5>NDd^=ju=yykf%YzpBX+$=BGqE(X3y=ZHz- zUfHn@wS|$zs2gYyYt#+2B(X^vQG4o^>$9~~Z(vHA19(j*HgX_~p=#kC z;oIO*(ED5}JUf%TA&DuM&tKPbuI}BpZ}7Nksyrdu^o_KjG&_qIE`*Z-;Da^Kd-<}_ zBhOOgyomU&klO@@pJ5cH?o=#Yr%H9 zXV0xQSA2a(ljk$Iw{|Z_I=+&v+d-=eUe{havfyO-jUL`%S3MblCi;#M6DvT=_B5q3 zjaA2U*R(euHwUkYf7Jj%V-gnJV}^!qNo%ey1!b0*HqG(d$3M^Lem$U`=_Kv-oDJyQ znKMDX)}HLSW%>xX310LvQ>O}Z4b_#<-;289g9mTgxpS(Dc-{Wl&Xq`WEnS0jE+hit z!*dWzg$C+a{U^O%@*@SHs~I(pRr)s+wtTdVt8R4O*woI|7f-Y5uP^E+Sb`n%mL;aI8vz` zJa#~i(Cczc1w9gl^9QLqxO2TJNw~j2$Z4md0VsSb1w5Jk{K=DYdQx|9#Gx}KCFieO zM|hL&^>jth%f!~G(ygVhUng{i&ET?^uS|1y(OB0bASVasX=RY1*p?0=-mQ8v=ID$Twur3kx_sJ)BY2YCz|!5`r^d z=H%p{8_UjKYWwvq#t*?{Q8wjlFar*$r>HY0E$auD8I=?1w#At|dhkXBPs-g|6V_3#10r+8qTa zf9qkKrm#3^XF@d(9ymZ0Q=gNMn8FAp@OnW+ExApLwr!i_nhv6ipD~_I`}o6qwiSJ= zU0+{Q88~A4ds-!YJ*ujz;oW_>dxWNaV&0&Fs46+qW>QoS z^0aege8t?fNd^6Y#c}gy^cJwyh>32*#B9uwWc?#O&H=yvATRV2{6vl1b zWxaX{Vfx=aIY4Yd&*NmVLj6j5yV3_j%uU+(6Nw(a8OFKef7FgzDkIkUEqxs0q}{%K zo*o|ZGBT¬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