From cc42132a3265f0e5e9216dd326869c8505eb158b Mon Sep 17 00:00:00 2001 From: Nic Crane Date: Sat, 10 Aug 2024 22:23:31 +0100 Subject: [PATCH 1/2] Updates from the plane --- materials/1_hello_arrow.qmd | 2 +- materials/4_data_manipulation_2.qmd | 95 +++++++++++++++++++- materials/7_continue_learning.qmd | 6 ++ materials/images/arrow-r-pkg-highlights.png | Bin 0 -> 339155 bytes materials/images/dummybookcover.png | Bin 0 -> 33512 bytes 5 files changed, 101 insertions(+), 2 deletions(-) create mode 100644 materials/images/arrow-r-pkg-highlights.png create mode 100644 materials/images/dummybookcover.png diff --git a/materials/1_hello_arrow.qmd b/materials/1_hello_arrow.qmd index b22557c..9954dba 100644 --- a/materials/1_hello_arrow.qmd +++ b/materials/1_hello_arrow.qmd @@ -210,7 +210,7 @@ The contiguous columnar layout enables vectorization using the latest SIMD (Sing
-![](images/arrow-r-pkg.png){.absolute top="0" left="300" width="700" height="900"} +![](images/arrow-r-pkg-highlights.png){.absolute top="0" left="300" width="700" height="900"} ## arrow 📦 diff --git a/materials/4_data_manipulation_2.qmd b/materials/4_data_manipulation_2.qmd index 015e7a2..6350610 100644 --- a/materials/4_data_manipulation_2.qmd +++ b/materials/4_data_manipulation_2.qmd @@ -38,6 +38,11 @@ nyc_taxi <- open_dataset("data/nyc-taxi/") * Implement your own custom functions * Run in R not Arrow + + ## How do function bindings usually work? ![](images/udf_normal.png) @@ -66,13 +71,29 @@ nyc_taxi |> ``` We get an error as we can't automatically convert the function to arrow. + + # User-defined functions (aka UDFs) - Define your own functions - Scalar functions - 1 row input and 1 row output + + ## User-defined functions - definition + + ```{r} #| label: udf-define-1 register_scalar_function( @@ -93,6 +114,13 @@ register_scalar_function( This looks complicated, so let's look at it 1 part at a time! + + ## User-defined functions - definition Step 1. Give the function a name @@ -115,6 +143,21 @@ register_scalar_function( ) ``` + + ## User-defined functions - definition Step 2. Define the body of the function - first argument *must* be `context` @@ -216,6 +259,10 @@ nyc_taxi |> collect() ``` + + ## Your Turn 1. Write a user-defined function which wraps the `stringr` function `str_replace_na()`, and use it to replace any `NA` values in the `vendor_name` column with the string "No vendor" instead. (Test it on the data from 2019 so you're not pulling everything into memory) @@ -234,6 +281,18 @@ nyc_taxi |> ![](images/joins.png) + + ## Joining a reference table ```{r} @@ -255,6 +314,11 @@ nyc_taxi |> collect() ``` + + ## Traps for the unwary Question: which are the most common borough-to-borough journeys in the dataset? @@ -270,6 +334,12 @@ nyc_taxi_zones <- nyc_taxi_zones ``` + + ## Why didn't this work? ```{r} @@ -281,13 +351,18 @@ nyc_taxi |> collect() ``` + + ## Schema for the `nyc_taxi` Dataset ```{r} #| label: get-schema schema(nyc_taxi) ``` - + ## Schema for the `nyc_taxi_zones` Table ```{r} @@ -300,6 +375,14 @@ schema(nyc_taxi_zones_arrow) - `pickup_location_id` is int64 in the `nyc_taxi` table - `location_id` is int32 in the `nyc_taxi_zones` table + + ## Take control of the schema ```{r} @@ -314,6 +397,11 @@ nyc_taxi_zones_arrow <- arrow_table( - `schema()` takes variable name / types as input - arrow has various "type" functions: `int64()`, `utf8()`, `boolean()`, `date32()` etc + + ## Take control of the schema ```{r} @@ -326,6 +414,11 @@ nyc_taxi_zones_arrow <- arrow_table( schema(nyc_taxi_zones_arrow) ``` + + ## Prepare the auxiliary tables ```{r} diff --git a/materials/7_continue_learning.qmd b/materials/7_continue_learning.qmd index 9911292..b6f91c5 100644 --- a/materials/7_continue_learning.qmd +++ b/materials/7_continue_learning.qmd @@ -12,6 +12,12 @@ editor: source # Continue Your Arrow Learning Journey {#more-learning} +## Book + + + +![](images/dummybookcover.png) + ## Docs ::: {style="font-size: 80%;"} diff --git a/materials/images/arrow-r-pkg-highlights.png b/materials/images/arrow-r-pkg-highlights.png new file mode 100644 index 0000000000000000000000000000000000000000..c81e9e79a88d9570827f8789f3cbd4ec09ed6e37 GIT binary patch literal 339155 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 x`gq00!9-enYctLDFE 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ßUAu-)hVNa| z|AR>Kh@0MbV{7buQUppqS~@xf;H>fp2p}ZiZrQ%(6Z2kHaK{^%l#LB+O!Iize7v9u zAz}`aNaY!b5$c}%wog~Nz16SZA6~8a;yEn|JGXp4;My-^Wi!66y?r%lq47#y-rL`* zfpv-n#Xbki^>9T&p)q-9L9S_TG3Qn2>7`>~;fmX+7K~p_icrpYv|I>SH1O_zJPYgV znhQ?m)0H=83svt=p+Xu+i+AxQCJv6ct|&tM4S}}XMQE&KaY9MGLDRHlNdR z9^g%t!K7Yy=o%2U^`lP%a2hkhCM_D0r(V!T&MlGZG&iH@9WV4B00VRfb{z1`eS?k- z32h5&*OLJ=AXs+)AKI%?_!M+p%pp(7n5*<-(Jx{y2`U?Yq zDHS? z69P+P>5zF;?UV~cP7pB1%zc4q~?5Vt; zm7B<@-}#}1NbZO6Pn#k}CVD(UxYeN9Y?fhfL_nsXafLdKvseH0^)-*FTCK3js;2@u zJJmx?B0xGJgQy@#JoxHxQ$kJcHk<-Gi%B)dD{Xkz{X$NA>#_gVie=8f4U7D%(U%P9 zJ1f{yQzEq&uDH3K8bqz&+n{l#IHv?unGUr8iNS}6xHpXiHJN@EiBwQ_bS&Enm!NjX zg!^yC%*=9TYtpc5$3uV7Sy5K{$?NQCodc1g0WwJhVZF5a8V)DE$Nc1rKMQdf;$mZw znX~|kR@)vh{p+qbH!TYack2EQufZTb-zmVTp<@SWu9omplBRFx-$}7#E{Qq|8GsB~ zQ3sF+v0-BT-i%w|?-2I5Cs4(84P=Nl*VvYd!n=S|peJrAEuD*RzB!abq5^uGUT>-jwfsko`U6H!Dq?bOBBoh3 zd+&2`DLH%W{QfHGA$1JXve%YV6KAv2V#>E5<r*i=s;ko|Lmz;X8nVsqBAS8y@E_u&mrFrK z;81a4!i3G?(V{nmvIry)r2ewG^i^kAD{7Vk?`JX(Iy2VJ~42WmS;l;Cl}bPI@URmXl*TRF%ap@FXJDkNuYaINOz2U`oqE zw5j@Fv`9uzC>6J2e7@1_mZKqU>6 zZ}`Z_$oAnOPi>N7PX2)#?0z(wNtP4kH6sRzA00DnJy7m)aQs}cgU)1%>eID4xFJCZoP)?7m zAdTcwf3>@tvGrao@7myfOlWEVkx^uliuSZxC^yLDeV6|D{Zl#S%R!|5( zvDDU1UcyE&5t&;pWg9{#jMS9y^Gj9-@z^eIKNv>&nrm* z(*#B~JeDQLL9F!CNX;XUcP}1rx<0u)8nHNT3={20$}+?*sg52^OtOK6w_WvzDvJ#%|OS) z9~OQ_Pp(ofdiYe5pvgy$T~638C_<<11qB7QBxNmEs3zxIrM}H|oFw5B5V-NK4f-x} zE1-O_+)M0l%O;thiW>v@L$oS3?9u#REx=zuzhM%Y0-|>6=sE^Yb{($xuqFnZR^x}N z8P}|i9;@%s&s&KY5_v4X4FsQeeNyW1JU5i zRF;*{dULd@D8h5D)jtFX75r%F`=Bsj(|Uw+Sbw@JvofZ@`}ZfX1{_BTCw%tDn7g~X z3Jfv7kAsMuH%~}y)~hYK3MurG4QB)5bUdGT_1vcNqzdniN2V2F((M9M1w)ET z-YhW*3hI4~II8$~so%L(e@2B%CFoaL`Unc+-(aOc@)fG5OQrl$(g6Vhzc=62c4qW^ z|GxcOrf4o)WRwoHFaW3ntkT&jBiwRE%_a$B)ibJiIqr&*-Kuih5_Yfp;|96m$ku_4 zjmoR=3Y*iguk~wBoQCiJHF$H(0c&`HzPO0?Ry$xDM)tPPFNkrNRSLe1 zSWLnIxa&}d%fzwipIkL|*!4F70kBT85r@!H4~^4tCGck3uH7!E+JUu3xBKlTjlnZm zW=Lfkl0&j%uUFOgE&;vY_V&*u{yn+lLhf6GnA=#ozyAb&9Fnhy zii)zP%YR%kvfyZDMSn0py0o<9d^9aFwl}LSxVxf{1gT(vQGj{@dK$Ln)%JoMpRKr4 zTP95BL+`u;f+zMk59IyRtaZOFaaMG#&TD8%gTAnQl-nxR;$X z*8|>MO>he)-P~buy}FL5P5T6!Q5R#qM_!jEZbWKx6`tzR$SGL`unO`7gCiX$+Y_VJ76-(t^5#`K{w-ZM9FfwqMt$c z*A&Dy-bTwpzDu`=>@N<_)X(7`DCn?Sh@fPsKW^PaB7&6`SLM(AD=JG{NmD(1s%Bj9 zYHDhbv;Zva+)7RG6B`OWB!ZQs9p%Nzk}m?*Oi;_9BUV(}Rt!aX2ic+hdZWJpE-m#E z^I46-;w-tu007LMLT3l;7E%=jA~sMhJlssj*cnND-I7u@tBDCB9H5Q_>JO^x+~!1aZa*TE3a5H%WAm_4wH8N*Ma!@_?0-ZH?q?g)_wGHYG(Hg$ z+@$GRvURU}b05HK$Mq>>Scn)4NgG&-N`nU)5J*)Gfz3^LRJ_Ny0HXf=mHFm`7oPMv zketT{RkM1Ah9HOX$D8rO1Dq`XMbY=zY z8PM^l{1&5$Vf%Wslshb@v%J3kVSU{^ogE7Yv-vCpC)`ERB(mkPsG=?5|9WYIG*$zJ zRrgb#ASxf}(!nKB5}6g}$7Rub9$yLwK6Z=c`1Cpzlr2;V!Z({P&od%?EAKlyJI|eQ z=RMp?$ht}8&&tdU9rn`cI6TGf&S+dDK$i?sI_&Vb&901U^ zgCtHj|Lj6V@R0|3eM7x^`5y?GUCuNLf@PS@H%#j;^vd9W}u_=Ht}S?C+_Tn`1zG=WxPzP;L2#AZcBHt z{YL9epYIO#c6M#i-BC#8&O_^Fgx;dDOd^j1)`)u*7SxxIs)H16n^%^Xx5q!s*cnar zQo`n0^Xfczk)trzH_)iBxmf*`Dv0mBy)PzXT+q2OG9$Y>F$z3wyudQ!`N1+jC^i(w zny~z@0aXYPg|)SH^ZWTW2nWY1HyiDnJA+(I;CFTBFTgtB@<--hG1V*kWtcj4@)~eL z_@va~=k@N@HFY%i_{eZ^aV6tam}0=GEh*`WK16=AUQh^Ph@5+T1)$P=_^G2q3?MDH_l};z%NAAe3eG87EAf`W!D|h!hkl`R@F_?Gff)63TvJ~A5>_Sc=_w4t3uMFt45&ChIc@Ff$(wO_ z%@l(iWDiM%*7mmIqRR+p*Ac2`sgE`Yz-Ilqp-!OkvZ1EqRY>_CIB_iLZ;p?Ga|!NS zfLJ=n`m7r)i?ynq3BdCNO1_16k^h>{Pg)@uNpP-o?L$$7taSdDlF2arKT27J5TY_n z_`4I0R*hOW5a5GbV zSfJnGjWDes?+l}ATjid;j!3#g`4F^KEdSB8($*S~SwDcnOy6;REC@sjoX3f<9W<(4 za!*uQ^wBL3h1P`CMiej((a zzwkj`!+*aX-2f%=|9l(V$9w<(H~xSB=CtM)6js+p3xxl#=e}u9I5|=wd}scDGY|Yf z>M0w**1|2|Kqi zdc$&aLzP2Zob}n4Vbcl=n~veHQ!W}DfkpV-k5f~P}VK-0qYQaR9(*HvwzA)L>g z^}c5iS%qvcu|&`^GNQF;`RaDx<*$IijnroUUvbuZdX_6)Eh`=>a>nKA;!=`rGcC9? zl=WukVOz0Rm^CkO5zh0WClSx?v5Zari0L8Va}&JtwZq`2DK`fvuWwWy(I(cKe?(ym z!rRA3?7Ykd1B*FKKZd1%<>6IK4eJPfX6Bc4Pysz@dFM0~s*!?S-mC8>lYDm3U?cEx z;Ufw{|G@|GxVgK^d?~ZMnBfOicoHs;9WACq7muS&Q+qufAKam&RDC9HKlyR2vhZLY zbD2b5U6E<(qNwuvk6vf`NGPrvws!#+E)(3r$VXP;LJH z{iDDkkL{rnUtel1Lp`a?y`QFBKTY2?gFMJPbgl9(CpQs-L-&~oPBr}pG^fB5t5HvJ z?Hau?6^7Scy+8aV3j{39%GJ#^&v@T{HF(`=$;p|m#N_O_ZCoO}(_Zq5&*@wcF=v{E z`NGAV*6Hr_PNyR+t%tzXB`M>LoZ+z1%EL+=9wLGY4)i3A=F}#0ag(4OnsMl}iz}-9 zeWQdXYU)1Ede?zNr_CornfX+b1u>mHU@P%>Q1RD5$*Vx+hQ854$=^Ry=)O&+*E}}g zFxTBO#-JyqhtZYTg@t`n;}#J}>XGwx%O8}dZTLLJ>`>K~J}LvnKX#~c$ojsyUczy_ zIC|0+$GF;fwatBLXX-I-MDq0u`FpHllCC7zeE6>;*ixGAp(a{vSUg-R2?8sTpAwVA z(%ebx3K7v8LjTbO6E%AcCv*LIAnzA^hQ!z)3)~J)~RE}C@m;mz2C1RoE>&eU$y+9 zRyhv_p(m;XcKf!%QORz_j=lhaf*CP&l=t^U!*^N&ZKM4d-fZl=sSK7v%YVh~mvx(K z{HJ+MG4m~Qah>51@96m2)!!}kMw3uU`W8H$FlxRVc6OYQ9+C|2S6EgS#vefuY(_>C zOw4^=@(9+CBTJ3$M)vG!YwfHbL@2la_<^%PFM>%SFpXBA`9Mlcv(=)+!pXKv z(;maBq5kF!3Tcq|3dIOUi;$0hlmFV%^~_2KTIOq3V+y_Hu2ClwV-uyKpPuJvBj#is z=?^8=J!-;(Eaz_s^`zZQ$|4%r2&GHXxD5hi-f+if!NW@*Sh|=Irq5Z`flG_eR$ctF z_>_gDr7cgWUci~#c<@P$=DYoJ`?p_=#0mz}8nP(r>l;3Vwevg>V5aB}VvLXunIG)C zO)20YTIX0;8*FG;o13Ye7nu+lv|s*$m^7xjw}DcyVIo6|GQ6D`xc%1A?(TuPv(JT6 zkamjaO|l_0kr5>qs4i7H{o<=44Qwa7whkxU4Faw$bs4-YFx^>CZzg+#1x!~iHG~Lo zmt(`5n6aerm>|I4-=*NJvAP-+icZ?dF5OH+eS@et74LY8frxJ6?QL7BxCl0I8vZn{ zVE9P#dR^nj`Z~^9Fd#Q#=^SJx^7mrI*s6$UG~yE}SoOh5Qay(H*2wT_x_mRZM(X*U zTgJz8Iws!4MIffCZJ)vcCBdpp9U9|Ou+iIbV}`O}?$0KAT(^bo;DLqaj5F*NH% z81!YNQXB4N>7&~S*vtuG9+^X|mZanZ#gBuqf%)X+aSApx%x%sa?wi~URmOHn!1-<) zv)Lf&+bWjR@@Rx-p>ke2g9=&Foi(pG-wfYkDv%Ha2S*tR2xvqdyt+Aknb<@7 zQ2544jSB+{i%(e|5%^r-BWGyk>R=HpF8!fl<-YFn*u~o3(GOPZgj+4}97DA;F%GML zN?&}C6IWM%u=wcl)I^o96NXikY}a`FZfy4=x``(iHdbB*k>2EfY?O3}u7U#I!C7(b zskpvDGJdLG()u0bBdtir=6BrXnQ&S;x_w{~qG&?!dx20sLIsmTgTmRxt@&5abx`22 zma;=XW38D#6_7aT_|k*8AI)^r7aZ7nT0O5QVu;j&CEoDyO^m8v-NKTn*tL2g#IsbB zniGBjH0NOOM$Jimr}Kq;I?O=$oUGRJ{d+0ZRaUO-a7Flj|Hdl+CNYV0crY~-$E9T(4Y@pkg z?!lpVQ_f1xetl8P>@l~|tW#c}zZIKPg*0nDJ1gU@Fy4xTAUMlQ25i726`215++7&X z4%$T{*KYZyvQ1OBEqb~_ds=Z?^ zVwmsrncs|_(CTZRn#VO`b!&G^IZN|A{w)4}U$P+8@?)yLd&ySlH+o+RW?;Ff`ocoZ zOmaPk<#%66JjXb8$+_cqLA$j*$}_=wRzSC|LW`;R%O?k(&W%v zeTr`JrDi2{uIFv3VL|u-J0awyv1wJinaT z#{0PN3g=Q;T{BomrHK0&5-2aMkJ5_OkH!NWG$JBD>TOqzQP{k1AfT`JGVime(b?Oi zJY!NML-|k9nJFYW6TdM^>OqGtbx19hqb-d;uWMl$AgtHGp)0RihMK}T$Z5Sl_xx>^ z(bEEDm9we78Qg^|k$b4ObJ1$|PyNy}&@-G;Q@Vb1wH6k*$+NH)I=cTI;3Yn~Nj>-_ zXp8*S%-@{bW95fddZo?MO+_ae+D#|Raum6z?{TSMPONRR$D5b3seHaN^8^ub-KLsH zXHs|t%G3vEA0nt)$PSvVGiG(v6@#xFH>9M+Oe-#*gMVw&4I|A;HPvuBZkF|mU^lT( zk5K>Pw%G^0$rNETQ(v~&t#Z3}L(yF3v(?y;6g?l%X(*RxQv=1hUQ>`bt>E77os5=2 z*0m~HUS>R?YWH-KnWw}}o(b_B)acmVIg_9z;DJ}H^kb>%Mbm(p|MgCMn;mk5ZoBVM zhQ?8$!)0HL3;|!|m7n$HMOx&IXDGV;VIHjyt=8KIFjooXpK>UM`MTlJ@jU8F3sVs` zTY@Vfz?;(97_(g6HP6{|LqL*8M^IaqLcEIcn94Q$kozl?BSgLdxcNKr$nEE;TR1Jd zK+%K|h7C zj>=rTdh(#Qv#{3`7ORWD{epf`^N_1rgf(s{Cu7f=FU6UqDKXug+?~Hb5*s?#e zC%x9^bzYBRn{dbTU8A$}u5X0&*Re_)dMsOPoW`@o`CnvQ>z4a}C-ZWJw*-9NV~?f{ zxQSsS&VAf>n%gqW8c>GD_5@$0WDyZu@2mO>OyPN%iBSdi*Ec2)*-~mgzy{>({N2}h z`OgH?NR{Z;+n(<6l5a!1hfQ#PyLl_;?0X$Tt1$?<5Y)-*Yz!4 z8iiWP-j)yp6W1LBriYw))lmfkG|y#ZJ13|w+oSf3MjjJ>E|w1_>g>a$Q?-I>q{QhA z1%hm_Iq!^?|EPQ^5b-fWedFHC0%asy(E2yzJ=ZRU!;SSpHB7#&2VZY%u`vqgthQ&R zVLnR8|CSIRMHH1jup-OBf9yO;o?UITfzFm%_s03%V4)`+A-C!43SB!7ICamf%tS0T zLm!QGj_@cmFf#&w^2AeCc;vE}3h$*00?r^_GlBd&G&s$=pZou0haa%+)lO)Xl#@|- zO{%g*XkEemxwfWExfA zD_PKJaN($5)ugCtE_gXztCB4es~lTgSt4ojoH2SyIy;&vNr)t#^|0hkO=FBhIsB!Gt9gz*4{=&#Dh)9Sv*>R$uI3IUyH+3}@^^%4eAz5fSwZ~awQ&}@t15*!j-f&_xQy95Xt zAh^4`dx8@@1h)`KAh^4`O9<}lz{cJ6Hs?F%-uvEo|G*oAUp8Z{y?gcQuCAJMR+U|y z|8E{=-xjrTM85~WkfWjD!Eouk-_Fe@KQ_=~3r^Tiwikr+`z}VuClPrv^|C^YTqRRa zm&zOC9w?WCoge=q!gTyR9wubB&^lPe&v;uRnW7s%tW!Mwf)|0|&P3N&7rcyb_i8f3wUZp%O&jU-gP}U{y*V;u^_uQwn)%e5Yz(n`qk54zQA3$7iVb2`iYrX z?Gbp$N<;{20G#Kt(KjsDD8_k(6MX(nLBYq&FJ@M~UKM!6U%#r_J-XV~8Z|owI8l>p zvdVn-9siKY=RpjO%_%<-YG!N4-V0oeXk-=AhQ{pty7aF<)obWGYtMkIaHnUc@7=ms zba-+4ySLdDIDdG3-#{hK$=dez2Z*z@RrzG(T;+wKLMq4DKdARFA!Rx$q)bP7Zo~{n zOrfW0Yr1To%Shd}GLAG-{xtqBU*4f>Qvo~WP>3^Nv< zB+PI8FeyCbNBAEtKyadppsyf089z!Eydb;|s6AWd#D33VQr54I=D-^goCiN7=bqQG zB(#LRP|PUcwhN=FY55I2Cj$pD9cEUT+)s)3DyX0cY;^POW!Z(Gr^7r(s2(h%En~>} zcF^~Du^Ldvb@2T7lh@zXrLpsOCFyFlSDI1~O zHP~J7nlXvnrdiN!_w^FOz%UD&PeNK!wtgiNl~wLL1vgTkbM(^nja&w{W&VNj?IVM@ zhFrAQ_c^Us_cn~9GyW9szKWT}ODQ3t_whkLDs8$X4YM=@DJ&+a2E=vPNOAc3TSS_wlOiuxQuC9kE#tb2A#AkS>$W$kZhs6iO49m4LM_y%VpX(T0Vknm^+W>yJPF zS~Eiey=!qD(|p@=I^8?Kss~4&Lr~GF^5I+DwN!Yn%g)HFu|?bQ&sh$}OXK0YDq~Cn*0mbjm6g&q5(q1{*?vIDZXSW*n-6e?C~5qa)DDA zJ6mo`yZaw@*3QOWD(Uh06X7Q!)(;<12JYaNJ@OvSp#*or zw61*mBA=Am@if$C@6etANr5F1 zA!S@|6W>bL(_Z3tl+18P$LpbChwr*SJL~jygM5y_Q9g4bdD8V}{jIh-pjuzj3?~}b z&rdG=3De#5%%vdzyll}udb(&pz*Q#nyDYrd4mM|8Cg243-NBRht;Apl^&I--J79RJ?-l(b;c^C4Z$h zsF>)s>{4RT3`a>x$(Au{Kvq(|XDI-={vTS@v?gy5DPmE*Gzr?0$5HleCc@`gTM&SGQ_6{=hiP)SuTJ*I9+G zL$X-u%DTr{^`l*R_+4tg*+6hM3l;X^s((l1=wziT>EjwU4a78N)Iw5!RBh>Zp@faa zm)U_&M&F=%^H(rV#iuM#J$7~r`-Ljd1YJlMGQy5 z=Gv*zw120C-VL7q&?dXv8pgluwRJo|>}G55Jrk)RW`_ChcHr_>mCTwwgvEWVib?6w zD-18=oe56e;YxJo5>rT6*pGI@sBraZt3q1@G<+-v;gFBSp&MU+1{{em@_y>Svh7?T zGJ{&?x~ZemB;ZDGOSi=G!#@P`-8>Mnp$C_|NqfscFJ+^{&@?UlR?znqQY&oqa;%|J zCNh=~x(za*jzYhx_r7If_%vwNRr*EH%H9ed=B=*!#Eu*Alf-M!f~*Vh5X6Jd&}4dR z<=RcEi?{WhOI-}6Y_&=?G6g)s7B{06BQDrzkCq$9QKL_}_+wiFC+uRa5?w28DD0}xMBw!FQHdi(p0@5Y!3$w{Rxi*cE>mRhw#XIny$ zvqfDaIi-6|*jH|@nJvA@7Flajuj zS08GAU<+Q^dE%&1e`qPezCrZn^W23K&=DwT8~Aq;Pa_|qGmjBgDLJ1jC9M&*$eo@o zqQ$I%@=oG#;c^SJJjivnVUhtGB|bZ0>&(;ka8}|i?#4iPc>K3azRkO2xu2PpuJ4@4 zOr8GvYIx8}NVJ4sfztUW+lQty{^6k;Q>%g7_%BAFClxjaauHHgdhKrT)ZNsD#icSQ zTnK4mcN?ukcT0CPDd)u1ljQL9XN|j#YP}ZK>s>p;M(bKV?H7+EAMzV~70k_kL0Xkp z`c@zBnF;%1Pm6gQ<4t9DztW&%VCI5~g1D#&i5bG1z6pb5Xi@9pSDB+zH)V}J0RXZ@ zZg}VGR`OTT4(U@vgI3GMVFn=?S(a+RqnP*RwEYJU595m_bq50#zl7)60qGvSSB7Np z-E1G~ij3F@m-`eQA;o-B(X&|1zTXFHC=<;J70r=j7Rm-aHoDs78%s(Pv+nJuJRr8Cx%`cNhP ze?1nC>!p*Es(#n=zSnz!0T_8J5sRDZ1FTvbYM+1&vWOkmEPG(*kmERbyslb+gNaYe z3NxrR#j9zp?UsZw(N324jjyG_16y=k!@4CvQ@40{%hh4#+tHg;*GavRhxPS!*}-_p z=@rE4!RWdfj~vQVWt+XmS$WIBwp8?=QOJ<6(!HgHpC8^z?F`|*#3yJ#wd!OUZ>-|w z5^nW!+M~P*c(0P3kr*xZT1;94N#xO9pyok`7fMh({YBog%*n*{WQeMzYLWg^XhiS8 z@OY@uyI6`x57ICk`15Y+29HKRRo1JV>O}+4Dl5n8lH#%BTJJn5X<3Lphl)vkx;Ev^EG(~U{Ykr6v2?HO zBzC^w)_czu3v*h)$Mr*1ofW{^26y|Q8TvnBXeDokIKOKmMP3aEuEqeO%9Gnp|Le>0 zRmnwOm}GO6vu)HmyH&!Ef~=_?0^-=L6!!!Vu)2Mo4?+G1ZbTE9-`fp`AJjaGKIoo- z1JbZJ@FCF9#e^egyr0px-pB9p1U{Ud5;v;iX|z>@AX3-E4h~BQ7_ojVTcO9mvpS4` z?jN)E29Or0$oPF~celWKp-+FxsL;N@YyG&M6H(d@N?c}|Y*k7AK=*fN^UYmVlz!K0 zBAI9-ttZN50dp6r$DKu9O_+>IJ@{R2mFYVHj=Y;f&99E$& zwFd$I1>-G=!*WqLEY3AQ7sB1EU0Aco819cpmDz|%4U|+SRkSLL%rq7uX67QZ5B3Z~ zze}N~6Zqv!r`S(?!Gh9XqV;5a9c-=6()S$MaigKLaePztvZg-+LKEjfwzcuW?X(Eu zY)Fq64LvTuak1vq-ql?XrHSA1yr6+(?Trw5l^zvSSa_IW`Xvv0AiUV%t_g4Dd{RZl z#3xK%U-B%a@UmD3hs>)a`Gj$Z@dc7hI!>z+R#KI%!R}YP&mDvAgHYj0?|r#AonZDo zLeS?(qs%=*fEMyLtW~PHu)n(qQG!x+s$grKbidK6Z0qsQ^q8WMrueS+Lb@Pd0ymvw zK+ntBYF*sKmPG_glS)n2<>!NWfu!szBR=z!@SW!kX?6CvroQIcH`fW&ln~SYvQh(4 z#sn#&MTY`T70A@q_kz1L`d-GU-j8r7hh==OPU_`aT=89fVuJoO`CC*;#jn67(8wGn60`g9Yuz$UsnE>ERgd@iB#>Ay72X zlX!M4C9iEOErYi+U+bz{ONFy8G z7@7%SG_w4JQn_~FNhg1eK352zt(rIM>*)9{vzUgGt2iuoahCyB&|8LV!Etg>e%!qH zi!Rr-tvqN@5;=&gnQ@Qb1t3V2A<@{`!P3@~=&6 zzNAY&?KIY&N1o0p;sTkuU3bO@13^j$u+2c#cmk7H)V?!IvtQzDD}5giYzmv32$o#s zOf#*qXfxEhsJetC1eUi72n$k+C??xq9+Xx~4vwyZ#)gXqr~zE+7r{CXnOYjVqUXGv zi;Zc&4=7SonrL)iJ8f*3VB@dz$s5TEf=0d%72C-c;oVXSdR%6wW`}9%#JWOTi;<(y zko;?U3Nhl5Mk^NRW63^xnZBEQVXMzSObkqM(d;-LW0&AJTw@hKncObw{fr%Uy?3J@$t0{&saae3Z>}w!& zbwOiDqw@ZE%bB0M9(WiQlBxR#&OS8e&>Q6> z>{pu&$jRpHTzo>T?(ge5{(i_Gn*1~IBFuPVKG#hiEqB)m#q*0BB4|CafonRsxEwxK zr&QuRpQ_@4)OI7Z2oCn~2gKpzwax>Xip2vjRo%EhNrwgz$~HO9XC|Ab#m-yKtXtaiESqy4B<1Su)rN?44+=eDXhNU^ktz8$9Z~%~yFs8Y2d| zv1}W=ExwvX&b8R*jgL2l>94+R9^C9bgXQ=B-Y~%VKW)n%)hPa*Wy???tE@1Cx7(_5OjJ|g=mmcUHS}+`2BF@UvFw{ zgnv4Dx*t5cz>6|ZHqWIXN=uHQ!A5zF={!SX*dY@_LzJELpcO+d1KWo>MmiLc>bd-nj)bP|$Qu32C&L*3@ z7hfsyR&H9E3igegxGzD(7v0ERChs}9cw_BYcIN44vQ%>4SJ=rv8~AWj56jF4i(p5M zSj{qspDLj3on~cig}5eL$xX?(Xvf2Hq3uy7Nt#eFGy#^&%3%QS`XD#A=Hb`h1<@#5 zdR()vPhX~EyWxq##QhIAu{s-T2iM<_6XWmB?m5*(0>3x+3TtgY@(hH6Y`Zaq4SJD_ zo1T?s*5orKhP{!!)hgMp=8g?3j#6el->3%r`Z8Ug+o^KF^uzp?=L!>d>@YEAFtuZ| zM+h`s^^586%#QjwnOIPU8!3ey`3{1NUQIX|GcvS3#rfN}?e#Gaho%QPsGp0#+On3J zm=n5Nl>Vta%buf(W2vRetcu3(=0;`Cp2w}`ZLVrj>y{is$7ZRU0>Wn~1>{5+BOYKG znWEm2!+}W0*eQhJA^*H+-q1pVg1~d3ukZWeuC!cHciBF1$6rh+S zWTis07Q*yn@$j*gr=o_tRgje(Xjns!CYFXOI0Xi_H`uvK*yOoD)iAbl~;>_mXKSbL2C@HG?D}Z-^ zh#8l#4-?qvu1!R(T8~gD!fyX3v?!EdXCdWpomQFC9DjD)uGbyujEH%arm9pcExH*T zV7X_bw%(?6XEM1O)mWHYej0}c8xs~LjeV#nQKnbN{a34x4y8em;l zM@<^#L_x<{2P6Z;$$gr9osKRg-RgdK%pHJT#&%IO~_k z%c?~oG?$7xt zDW$D!xq=08lX@qw$x0E&V0Ln?!dz$PDfLRE)Hh7*EN6W4*66BDv%-H?tZ$EZ;@dLcgt*8SE70y0GcW(u}R>0^36Q{O=k9(n8x z!fzLl0J?;ZwR^nXXW-Jcc@ppl1xHmE0^#{|s5iR;_SvU$0BKq8iuNg6a365mF4?p{mx3rXrI4i0ztb0yQHa(%zga&9`p(tp`rUOGaX#!O!8g+C(>}NqewF;F~6bfq~FK`UN|x_hBTL` z?K%RqZVM9zll?tyjx>wIEI;=^?lx5dw(U%LSNcWq2Q~fhq2hWYlImQ;ymylRcwgj` zk!ry!Z1Yq^Gs)bb%`|1f?&RS?0uG80*S?2SINRE3`_Qt+e>Y& zpmr0p5R_ir@CbqsaXcdWbyY2`5e;;V(Z}~~JCN|Z3MMpnOkCCSeiv@fY4U+~cSn#OH3NVV_*>xuZCAVCx^kp(!)`k4yZ+Yh7#2m6+r?loL5u>KRBv6K1owf+4 zBpgIo5&spya;JKZNX58YW_LARQ zdgi`ZVco{7Q4D5rR$zLM@DgzwK9Xxhy;{~6R?9@o4DaIMtyA#vua|>xkTY&gJNV#e zSwWn?=l>Gq-SY9hrBxJ$EY$rl`SHvB!;K#vm!M<90%%Y$!g`;wV_bhY7d`%XjQV)7 z`VGKXZ$6`N>^uJX~{B^6(G^CXR6AFwo`q@kMNrwN{B83N zNQnMyD|=LE>?Y^E3r#c4TZ!!MyY_?Kc=)%c_x6HabCb-DgJY`k zB>|XOPueuzUy?gR=4&y{>%ztMdThw9O)t2E7k2EEgbS|Q%>+xWb{Buk@fusZO#R?$Kw^3C`{S5Fy}p5O3q<)UJn`xoIC$|Maw zIN=cqn(>0AcNodbHFMg95a-wVzkWK|T1O2AAzu|e7z7?|!5_MdJFomGDL0z;j+$1Y zLoo?hSHoc<^*CINjZ7^KYm&CAg(sga(Sj<}s(5eGas`|+&mVYTVIgZ`&5BTj^Pyv4 zKr&b#4?U>{2ZqG%8^p%g(8qGx{$0dV<#k5n1wN4HP3c*^r=o5^tZ}gF*%OY5iCI5a zwrpI!Y&4p>yja@Xvb49dwZHON&O?p^KXD1(H#>a-o}+KG?<8lNlfv*RdfJ$?wwXwP z)-W>?hbzZci(wC(5RTe%v^4p0+`M{ayRyRa`S*Y-o ztASaAG1mW%({n9<{GFkSh~~IY7J15;!6hTyZINJt?7-#^GeRVNhKnG=6z@bYHw4HH zC=h!xbw!sub%S}dPexJh4Una(<-60wCZA_aa$WRkRTQ$a9Iocm7P-`gZYmR)GqcBC z@2IhU(%OWmLeXjCcqR@|&qMdo2OTb6@2jC|EvCW-4SsWWVGagdYyMdN&y|bLTRr@# z3T>^-{;0H_v;uuQk$m}N*)z1T^KeREU%rQ!^Y?g{y%`cBLoqQmZKxI%So}6|DPSk} zZsD9aCs>#O(e}{uLcok}vc9XU>$|L{6lo22ZJza#JRgI=3uhK<)n5_{c3iU}7}Q9G z-?GnAGz358v^{vMe!kpj((?ysnF2tMi4Ax(M)>B?J4$!@O?7ubeRJGwP-(A5k^5NyQ9 zXLc~}2l5BNzM5s2{HfY)#kTQYUpV0Lgv;UE@;?{au?GKq0epP_^nh)oeo3pdDq(`F zN!2lwK&Se2&iv|vG!b)JGYdg1dON>A2uW3F=)+xBY!dT3=qGXt3LWXA#dHe(dcuKZ zba7dqtJHcol}Lz*r4`-D+V1a3?jMRNpuN@3B8#RKce=*!MXs8fcG(%q)PEE-BWIDx zebaCFQZ6d`r7c^;!T7LT;gZ59iA0k)hYRBPbioWjB|h!Jf z3~1?b8)uVd9ZkK20{;PUO_|!e4i(kaXQ#fd#+ymX^7h`;lqZwl15=;O#_tT;o_BBa z=A#@pw3M5NC#(uhbF$dOi@U$4|25ZN?==va6t?)FNw?yd&af|)7N&oleg8G;gZu5A z_Fti*(0Srt4BP*s1+e=(Xx8_77W*zC!@21>7$&xSQjtYR#km@WZ;z2At8hF)JeXA z|7;EkhvyNt-6X}X(i`(nJ!*Wb<=S41JvU#L$+hI$+puQ#mn4@oj&PVc^^u4G@Wl?U zo1oXN%0mUxLICq_4$oRj&N$?*Jht18gIYUb|ID|DV&;2p9Zr&Y{qcceJ9Nk$&b;7- zrLw`=3RKv0{5d45ID!>R_#t+}0F_?q7M$jLTz=2R&DCwjVd^CtzAMB1yh@$RPeq=s zC=YFmhZ8H^%X+Swjef`2yx+M*7S)LG@WIbZRn*TvdbpAt1h|U2yb88uSik<;%zrP@ zQG4+&Ju?GO`TpVM^Cr&Es?m97*YQL%B@VjjAUSKs<3M6=SKcedcF+=P1vt*i4k$W9 zP-risZyls~#?h#L@fla@3!`Nk^u${CJ_AlTzcXghB})ZUaQ~If@wLI|HC(1U=T~5t zDzunTP@M@?*KyXhD$5YCj`%_bENd~mG!|h%*FRKJ(94W*CdtIf2!$*lI`lmHW65F@ zzB=#WXLD^p!m4;&ruVx8>U0CwM5SMGNzHV&?SSuQnW(}jcjwQV-t4<$FTeUoc4k40 z)0aet8Xrfs^$$eP83G>Hx!i&Uz<73xh(BshH+ZroU<+P4fEbcyL?%^@oMgJgWncI9|*xo z{;uDT6TtFy`Q;FZ6;sR@0Y;d7wb}zh?B<>c*CA0nxv@7M=W_5ym<|Iuu7#a7?6wDK zDKs%`i#Uij~NWm}8BZht9+vww^^!kgoHbFQCw z@tv>0-rqxrthjY5j81Br$d!xtS`7rV_^G9s`V!(W*Z*NzexKbjuGLa;Zp3|6h+y~{ z=1gz?uezxCd+U=D5#F4BNtGQ{p_a1&W6!@_YubwNv-P}33lT}ha)bCN@k{r5AHOZb zb#&Qr2tFo5{U!Ms>EI6($ugNiPykO(vNd#x*0)qHtG>1avCPyj-reqUe7ycWzB)28 zBqn8s5bXoGzB;p5!kTf^j>>5hMg?(+1({^8`PEAtfacv{9>5M)@CE+y)d8Ix2&JTD z#6^YR>{nql%Qmpt_j#I!=lZ&fVi@DI61f?l(ezeR%muh&cXW(e3>eZewq2#8>_qTA zz%EAgxvDd&{+qkoV)>TUinN%D(Yox<7kK)0cD#?SA5!Xx<&~eCF{DSK@IOZ)zmu7$ z5``#QZ54?}Guaix5yW8AfBYtjwPR*Eqvf);SK@zfzY0n$C}Nlt?&q)5!wpxj%z1@R zzXA>HGbKIOWQ#|ouk_PG8;B!9sc@26SUbv}j@jvWlq;D=$W86rV6>7^A^^5vk>7Wl#1iU6(fv z-(DTj*Yva?ED>KzgPyG$hq%Ox`WV3($N+LU-;r`4N~i>&x|<_nqb^^TN=Q`rkK@}d zSE9mwe*GO@+U3mUxYKdvorM9?HH&G~9vnZd2oiX~7xa%mf6-T5bts|e1vvg_MYo31 zNx464x$7P3!{{lU8wt0|(sY$+8g_=a`(pvIQbf;~)4Qm7xKE+L6QELz#R@!Q$yfc| zuT>5Bw0ht3B-UjTW8+-D`%dvgbXd!@Y81fMO^3a@zV@V`VicS*&CE~^nq1imK0bD8 zdD;=wYPEg?jog0`*DvX3Lb`G{onXD{33zLfn`LCJx}rJexVGXsQhc0PjK!Jt2j$hY zMCeM3J-nO-L38xpSex+t7U4Wxwuedn-!yqnE+KUGN_K;CcPVlHVIf+PbhOCq(MGGH zx>W_}W6)3e`1t)1#od=*{naW)c1npeusI=;Nw4T#Nd1m5urf%T^7p*VmeeW;kJ^ZTP0 zVm^A~onKi`u9k-y_k7wWr2lI6K3*=5_91i7OuD{_L=s+7_UjwT1csc+o#wngP@zYk zElpuyXzUnU+TshKJL{W}AN+Mdb73lK&KN-<%Qj;z{8nLNH&0t^5|UuB%z4G1%)^Zd z&o68y7xOw(M`Pz2Kx@c?Tke4iY9G*#R)V)gQp<}FNTF~DDC&)rBC?Mzx69l8&w4!x z{|eyC9|c}w;^N`m2h4VKU;~KGh@2bf2atf0hZC2886OQOiwKEHk+7c2Vc;g>!5Mtg zF4eH|@tG{x3I9MNC1FDP?*%9kl0V;P$CFq36P}vd2cXffIT=kgass`ykZa{)fV-pm z=Ot)~fwt{x_%vHjNKV+tSbiXOQq@H-TJWm?tF_gC?d;RY{)jaN6VL2OO$!t)*?cl@ z#>mJC#Uc^){a|D~qnUWCW0-lahP$bi6$&_dP*I)1%uzGh1xN(PAW{4H_^=m}Nj1=r zax|iYk|SnlOeR70cZ!~emRk7s%=Uy6m{bzDpSym*wdZ(WeiKc@A+v-oeRDBeTorxwaJ7b1$HCL2Ezz9w^QTGblOsaD&siaN%fUtO9?@oso+ z{r&c-zj$&|#Q|ht^+v=*W&K&OU~u)XIQZ2&BtafmAOT(-`~qyM^k_tEOqfD;w5(`` zWKEyPG}AJs^Prf(pl{P0fH-LsZc0FX%NsJes1@uW!VFr9`NVFxJL5hn9C) zREsC4E0};TeIXRY+1x-)1_J|#JE}_1g%8|ig8y9-{`q#31QRww=i6)6?O7`_7HAD%uY`F0)#ATu;9VLd_bm#-9z=$te4|kiIy}X z`1d+ulIj61Pk2};6*V1Mv*98td7KQQ)PIeYUH(`r*_;3pvj}z|xN~LV{JhJg5(ehq z3w|l81zj322?ipBVV~uG_eCfndwVQKQC|FKxc~R1;-CND--tr>Hh%5DXZC-89|GckruhGS z+3Se!V*i=6|9ufQ0?y0-S~&lY5eC7bj{V=i_&m4||GyiY1OuE23vjrN2$5ibX7zZUcMsu1T}rWSf7C#gwkvoBcLXgl!pO6 zP`JNZBQ>sHG_KVl>kImTkYIJFh*UifmuwDmjE#>kmn4C$76KHUqZXi-<2dM=H1MP8 z>GNmtrAC!d`{p_^sz{XGxj#Qu^OUEM@j-Q9^eWeC(DMWC_8#S}I=K-7O*T@L@Xca$19XdO}jR<})&MoYw!D!+fIBkEK4M@S)7M1!2>e(yLRn zGi(Ve0i4%Bq$t#;iAIj~A%6fI0T6W~KL33t=`fk4$AGIX|NBQnkvxe^Y7nSxY)$Ke zQUK;Rb7u=<{O#f8Pi`+Q5{Y22o-P9)5*R{X{}Rx|+B>cn^+$t=?~^+zUJa}%JbXHx zXWTwGg!k%rGFJPGdxc+JV zGK${4c0HNX|E}-ES@kV2tieL+(ulIyQWN&$w?Qt|5=2KG*9p7muWl@Cozm+Ux zFRy}h-*Ezz4i0oJ`~m&1l890WF`*0fasIw==`0v9M$5_5TJ_Ec^7_g(_+Wt`<7PrX z0U!q{uXDQ@H$*~8O8PZ}0PabovsSCa8&t!dpkKdpLv>5EnKgh|Cm}t#YC9Xm<8k7= z|BhP-zDQkn2i}o|I*d_~*^_OnUj_9;jDe7))!^*=E~TZBv>dhbbuh??%3~AChmTWs zm&ESbpEFqjy;!3U1nX7TN2$NOMEt7u^*Ii`-E;xkskP{~qrT~k%!jYQ0`so;V1Uq| zHC?19HfsK0lx*pO*qv1?`6BHxGL;BSsd18;ok6`j^Gul`BH-@~6b(O26=L^D>@T7Z z|0r*c^Ie@;I{AY(_CL=`00TIuCQ33lNrA$J<_~vks56eb;p(<>znvlw-#`8l`YTch zlolu$XrWZ<>)l3PA-?tGFfbx_1LLvtKro15%{i<)ZlY8_N6LaA0k6>WLvT5lmz40e)kd4^+ zPu1m2^Ff2%TGP)AFC`MF3gFTy(dIF8;w<$d{4>TO;>irbO==i01I(|>19Z@^d!pdM z5+1n}*2Ts@RLC{1)cQV4!agS&5j&$a*JlUxD-GTkJW^DYa&l3>Cn6BT6_TS@@23hr z{Qf&IIC{GCO6Uj4=jjbu?M{yUAfK?Neq|Uw%sW^tpj7bExr#=BY6Hy8Wj$zE1j=u1liJUo|OvnhI%!8EFHKn)~=MQ)lA zhmtl(2n-3P1V$9fMcN;S<*@02p+T_eq%1U$+*7s9J_ru9#wteS!l82f_mdX--yQpc zNTd`mK?RqFrlSx(v3~P5|;79%kUrSI{1Ma%K+G-IA9uEO%#oJYWD*8cX!@oT@j7BnO;u-q3SSpJRa(YSVlh&>z(z$p;PyJR!$!O=?|9h+{@WXWRC_7cX3BYk3WMm(8*ez=FKu6u{ba4mq; zZZT^H?r(qnL);lZNo}lX0DiaEq_c2x zCzSigRHq&0`byM0svPr?DkdG>1rS{X_nL^CsKWiDcggV%ERb7<6fAwu22tPVPjMXN z6imb4+sa^pLg3eQG8{c?Bu&sB7ML34z1>`rKa?yY_}++(29kb&3)4y0VP|7QnJOd# z&U$>o0Hx-@eJlpv4=Gt$l&*U(%pEs?v4PP&Z1r)ajZ|onhWUT|Xx5RvCLN3uh9g5V zdX|_mX2#JRDv61O;o81lZm(S67o?v8Ok8doPOGp#IN&2<;>6eg_?4R)mjA-CFFjz3 zNl!@4`~*^e>L2-trVc28pc_AGI&a*=qi|xr3?XM+Qb(HM&mT3q*6_$m1Q;snHvrv8 zT&a#F;S3QMMX~wI_hQe>=JUh^Hpmef8=S*}0i^8q^tpIBrx-3#>~#+UP^{fXE2ZzX z{ic}g9%Ccl{Bbb*qx2^kH8qlyj69_p4KlZ7QGgT{;Dtd{2Qn#wXtZ(vy-1^uQGr3n z+MD>PYHDSKg5E9hOIBL$i{H=%r|w9~gL$n^E(x)7KR_6N_4 z4igS)5qffPWB|b@{y(j6KyB{yo=+Mh&&qyBtnX#_I#IGa-tGZ9M8jcy-55I#8sJXG znSI2|DPBM#u4^k8h7^WFj)U1qMa1FFAw{JkcC|V=6DfWG6BaImjYohHDiPcBuZKS> zB-1+Q(xP3bM5%JZrm|`J{Wq>5X!XUFb?*L0V=q}`Pz4eMx&N33QQyi`*0U!VYjX)% zf3mp$-nHLiSH^m6Qw}(4D;ulN#yv3a%@8=M{w%wEZeDmhp3U>U-4S>P#_{xKvWjX7 z^yv;o=AvqXLhiH1b0S+6~s*JNP`BL7>yFKX4)oVrW#e@;KTv${Ho&Dv~RPQ zt-30zI?-Xbw0iu3WIP1$94g7%w0xZC!C(-8_?WcK9s?*cPkR;4Jij*i)9g=G$VjDY zY^aY5oXGXGph1qgl~rmpFL_+}>eHelHu0`Mtn0>I;>0E9r+&yf#Z%m>OVrumww(Jvc$&PH>d4)67v;KEl$wH5f&lv9D)mTk(gxgt zNd!QG@@me8i!J;oooTZ8HNVypIQy7bluUrvnT*n0tt|YBtrpEfhWUrTwN?x78_Z(~ zGMSwBx5th4Jpg3cayDpO|8B!B=7BrT#`$PQk`O~W?gb6azdY3Xw8nen^RN0q^|$lGDF*sEhL<0- z7VXsl{Xo}PYx%X?A15-r>J+o}3&}e+KE4pV)hrjrRrU-F65euG+j3)^_3MZBdt%@t zgVZP~U)KWNj3!?QdDU6qv^41#;R~BiGVAv!V!acB|Ehy>H}$PoqDdA3&iBAW=lEf6PQy@Sn%> z!D;i{`4CcxR_)R}(lEpEzezPVbclyNfS?ToD`ue!CO=|e{}b7@`DSI`+_WrS^ASCr z9tEBgVp#}yDo)HzgbXp(FRQ+Ub%!BUiS{-0^aE)c8LEpq3bvmIw~wZN?6-K@hx9`z z1x3-y_vg3P&0a?T$F5n4vNk{4HKDu%iVnbj2&3D!D#Zb|tA?v)y(8fvLODVg`$~|D zZJ(5;HM7r#Bh7iEIdP(iP!~{@*bxYX+^H}XR=*uPd4(UmppbeYkId|uX^8YZ^BBp{ zw39RDYbKxvO!_2(9`LWmm(aJyWs6r1zcE5fs&atS`otj+?uNF1z z890vch2p;e$-4ZelBN57ldNss*t9m?3d-}TP7A1FG~KTQ(`i*cgmhv zEIF;a7D6Zpa5Qvujs8c#4)~09Y>K~r*&!l=iiNf7ba{VQCH%5mlZwYR>q8Z zj&(btxV$vCtAT7kYHyIU>`-r7vFgk^={yM=H45`xwTK^QEQ6P>n}Zz5;`OFT;wh@M zKCv`9plwm=%T`ZpMnHBTkSL?J--gG5aL4I>F{iQa%5Sk<%>Xf1_L&;9Yz zCu8Z1AO8(4-H&3)81Vx(tz-&ukvy7y$R0yv`?DX24kSIZ`aQEri}x_nMqwXTW+bd)1~h1Mmh+ zN+O|$c5&mhrX0ZOZ@C|q?n0!-d;k76wQRto0IC9i$HUF8wh|4- zAr?JJSAR4BN_^C7jnp(;J-EC%j&K4k$^ct#wq^dBRg{3<`h_eF4v7CgTwT-i4%Bhi znHm`l*hc&ekUFB}k*9hy*W`-_5JK4G&|d`v(^xhWdaJvY4e2jb{=AJQCX0fE{6l!j z%qk_P^8z@}Y&N9tAl0->O#uYJ*n?EjB8utjm-e)Lz8i2%7HAUP5-JsTsHZPna40Ck z$1q=&Wwwj75n8Ia@3oD8hV1@yNf8eY@A~RzH&=xZ3TPk&;~dy$HRuN*(?ZT&n1AK} zbc&kz+(w!6L(0)}wTBAptFy|^8ep?>~TKlaT61Nc?@7C*HF*PEyH2b5&~)~u!a^{cmYD|=OW}Y-3lC%w}R>hi!PQK ze@Y)}>S}!bJ=6=naKfl^s{Z=8g=fzN$h}l|2@|19ih$|7(S0D1_7ibzX_ab1CFf+$ zG5Wiixa$Kl$p062Zyi--*R_vsx>LGC>5%S}5|I$;ZjtT|L8L(hM7kxVyK9ruAl)V1 zU1#yU@AHk{IpZ7S{C&>-mqTFhd#`=3x#qm)bzKwe6c#;w|EzD4Qm?Z|CZ+>O6YN0O zL|`)^eMmCwe1}vS>4flg!~2R3#dCofbKdScCt&8n1q7hE0T+0_%i}}U;e?+ zJgeGb$;EFeT9mf~15Etoi2%EUHoRkD)aR+t`++s^Opbk-je8Cri;GEWWQTYPC@<&tifaCEDdM}xk4b+ zS^_+#fZ9r3N`(c){=l39ZfD3A(iT~v^Y?>VR&_ZBU}c19ut<+qNQOX-pUflFHhchm zJ9hMQLsA}tmOkD@MS2POLG(;TBS>B#{50Ge#f%aM-^hU6;fVjHsINq_t=roYaDa=BxSO9OvWlbd8z-&PGUZ(e4=b! ziUOL%eq${aqW}&;5&lO&ahk6Se>kqUEM)mp-FB*bmmBdc86>zyOP@sM`As**KqrKj09vg%uxna4}>qeeS zD{4FxhxN`^FzlPUF~Dqs!{vX>CVmdTw0Wz%B z^KOEzA+RxVsXhm{0lX@#tUhiLB$r$#=ZrBZitnmlC?u(yG;D0V6!w^Iuy`h~5$CR_ zxlq_N@OCfLDAWCRtrnYfcmC|PTu9I2eItNoB84{8qRI~(UvO4(&CfcSyOMxV9EB15 z2Q&KhS2HcPd1kBEbim$a)%yutl*%Nd}V*Mz&C%w%f`$II{-Vy9w+pmLcN3?x@kjNzq^h~ym-5g z{BS4sfZDi#nZ1Y%n!YPIM0*eI0njxso~K}ol-|6HPM>TXb(Xae1dhQejswwr2U0ja z71zR)Za00IkTS?R?{cX>-N@`ubhFWd?y^1ZI&o+TUjIPsmFI4uy=TK)MY zRl$Oj=O_G>On<*2;NGaM3tc%K<+Cy21<8Q*Yb+@y zz$x(QY3F45W2e7`)A#jz8Y(a}VHbNu%>JSR!bZN|3A!}&z~=q->UFu%u3)VoE@}{i zo>oA|Dl9TR%1jEz=G+4i3(oUv-Tp?0C?aO7Xjg5+uRnZD1gl-4IkDZA^ZfUpc3g2S87NXYZ z-h6+dGx$xdSTYn>`t=_9-g5{nRY=1jnm;K7#h(f#Ami-*_Xk8gzP8BfOKq?HCH>u6 zFv>Mz%Rt~W7;S91HH@y7dSTY&Gm7rDX?@|U@Y|frm)}<%otNF9620+q-~ODMhE_#g zKWuN_+WVrN5U`&!$0L^Sw$Y|<*KN~pUsB|gDE(Slj6Qe6&}u41N5VY7k5<+8WYYKE zM}9a7zBC*m2BWw^b{0@~#ou&wgA*O|2bABzqaV5!k}p%R+$h{J_=kV)S&U(&_v@ZF zcEhoIrOj`QE)5J0w4atzbc_y1XJ_X=gV>+1@^GYf=z7Z@PAL@pK(*7AFrv`+T=QtU z?7^Z2qz;M=JkzzKH^X6e9V?wd!dS66m^J%*2U;qn7}|1M!)p|Ls21;pSCdkd@B^Fo6)-R` zjSLNy@1{lS*SOEqFyr=L9tsa)Yzm^DNfZb>3#aVX=DnzBAUhbo9gM_{^3y<_muN59!0YK0)EA*rZ~OQAc6% z19Utj2Y-r-KL1WE9eio*?-OR3SCCk61uZo=_H2JWEGH{z9N;dr-s0a^mpoMnwG^{V zw4@+6aC59j#~&aZzVc#cazLO4qCL9wN{qKr!Osd__x8E5TuiLJ0L~!h&xE8Hw;5Fx z$!E&_<|5cCxLodc-Z~T>wOCwS{Z?(rauhJek8{L^gtn7WuI>M(06F}j{{OJlM4 zJbCa-@Z~Pt!~FJljqPv7(T1l|)wO!rWqj5;Tce*GYmLSQp9|!<1FqA1jfLYoAzOjv zZc6^TT@dn(Yrtp@SSwzBwi=mE2JW4{tvh!rCP}(eqPK*~c?;G!LNM*v#V3jT7e2I$KC*k}{*XFruyWnAIY%@;c?**w9D+)dm-_FWuz)tj*ApP!~>v(A@ouczPmhfo#;8pZ!N3gyJqCkBbA3P|} zh$e+juGU#kT1m`}vv5btqZGqtWz#rX@tG%GaLCUqs1)A1uy)Im z#KEQ#FS>Y49UoJ@kJ67+Qoh22Yg;p)%>KUtBV4rd_*+jK>wgr zJB=*FV7TSHfIyLU8?<1^22pTSaO;-ae;;RE<}HS%+-(`zv2S%k}``}}-S zPh%^`dwU(hmT6uFVFH23KF!wSb?!UsrDo{Xp-$3Vm#_|?Y-(z4i_x!sVciwBEt${F zc}`6?G&-Y#RY=d;HZt)S8J8~iIUtX!7C*x{e;XS$dIc9=6)|DSs_+~cws^?$0|!SX zr3>!wfA&Ra_;LMmG;ofcGlclUeUh&o-GAm3HK=yap!aT-YNV>HR*<19T}FL9C>Y8p~lh{bMB%(C^ZKsV)B-!HIb{G z%@1iXe-~iUPSyB)-k!txo7PTfA>RK@sk&q==o1}wf%F=zH;CT5Z?49*XC-p}#Q@4) z(Z@&yC!v4vkFIm=HIi~cyzpxY;IL<{(yZ`9*V25;m` zm0B7E_0W1EkqGZY)w(+PKc+aZtw;8mN-DXr1K$#k5uuP3Y92DBLHOg)xJJ=hH4RlR z$<}vGfU4?eAO-@=$Q0j`RY`O*$uF7kob?=HzZS2I56&HL2ampb*^968SiCD^h?nnz z_OxekiF4%~%bfx-2DCs*`bGHH_}CY8X?Dd{lKtjW3cYnLz{D_TI3cE6yx$P>Lz>T7JAe{{I`?tI-C{rV{WzL*0+KtQI*8|XGJfQU5 zw}XsRQ_LM>-|TE|HtMU($vy^HYweG6Qy87I^t$9A22(h&eonv%7YCrG@C4RbU-QA1(1nyaD$D0k>umG=!{yFH4&hyv-Lk^vJ0&!F&ACVHAJgC{jT+8Rr@LR^puoImm z(aX|{S-Mp`HSM;QD+AF{S^3^LytZ10ZgF?INw%q&h`;83M`eAJR<%u!PiAb%t8JXJ zyQ!{#=1R;d1<@SEY@Wyo{HEiwR<~+HGaQnAisH=JfX_?hxOnKEyup=zxj)`qgIM`i z%xNdZeg4h&xQwnh^1lrA8o6!v-%;&9>Y{CVeG1#yFxHMN5_^dF*+2(Cuc7Q{LY9Xe znU^IJ(f!w_bzPAileCof>dzTq(?|;Clz(48?D>8~GM*3UbF-TaLFwYE7;9FnClDgB z#b3+gN`TIDJuneM())V$1N<9q&+EKyDQ?v6MK!*h^A5E6OuSWhmFbPLun0y4s>kf? z`tieF`Z*SLKJvr$TPDaQBeO%;^lJ~#0M=S6((~#_z~KQBPeM2Xn_uK*bJm~*Bd+hu zmNS$g`uW%g=GORN#Eew0h z=&v0djho1*(C+ghzGftp>}*3ao(|jE6$zWvsRCywPp&P|AYO+Z6$3DU{6wyvOZ>T^ zl+bDnRztouPSOq;T1qu{btpMS(Ik`N6dRk1b63S_#mLk`bjtxuG%3}kGh1$WUc#xP z_a-8wmnO$ZLlhhX@d~ZYiFr31sx$Rk#s{ZE--lk;4=;>c7VC;MHkbl_-sDnrD4%tJ zp{$ZysVv*Y%*ot^l`}=^j`%J98tpKhqFc&ggTQuUStxcsXW20sEg^Yews8HM`XNfqd!~` zTO}F%<4^pJX68AOsJ_)f z*l)TKM;nmmxSFhLe1iiS3!{#u6>b6FCp@^F<%2ZR>aH!l?U} z{1m*AGy})v}KZj`KJ5B>w(Rc|&WzmReR^=04Pt&Y$Z{W#+Jy zL9V;Pm7P@4T5flcruTWljC&R>wNKTg>Poim_s%;YH|i=_^$avp9FQxTT&=`v!IjP1 zB-}8%e`ZB5LY*8=-@Ev{Zi9q7D1%n#y)FZy#(VM-Mk&4hC`&evpppsf7iQ9RKEFu7 zqo2C3$H4IWm6uMiyNRaeH%eER36WIs#Vld#g>$L4!}EkBCUR0~XKS(Snxn0SKvisqbKYE>Au%TKG%bVsGUNgIt?F6!C#mG zR2ellqJW2UG{&BWHOr7$@LBb7*TFV?FM#T2btuZIzmw_voF6pXy;j2rWK@^cKi+#t z6ZbRsj{wy-sfJx!F$IQ%mZ3 zG*k23HNdo$;LGZaw5lCZo3 z1tX|6U+B@rQoj&EfNO>uDXazva@owjv2VjM;}ir)9$zRDf3*B40gxHNS>4bbFr&Gn z#J52yXe{!txwro9_+$ZY`q(Dk`Z9D1^A-#qVsDYwQ56D0Q;G>usg0d@YG$lUPl{fe zmvoiH1mSC;&G5L<(hA-9cpFCUhD6}2%Wi%KeIc#vA}I5|L97gn=93#xc%@{4)sV9F zRwEBJVAj45WnTy{M}x;;VI4aaVqyygiY)Tc!l;0uLAN*La7 zi?L=wpk9nRr0^+X&sq3-&sXjR?!=-8aiD11)c3Q-h0}?FL zL24Limf@$29@W(aUEbg`K<@ubU9bD)Jo%6D{m<$;9UrWOA-zwN#!&G?svQb$!|VQB zYP*E3#>aF1TIqxAU&h8J9Su#!_#DP!gQlF<7^rV$)m;hFyjG~rJmFeyH}O0Ly}(%q zAg}Wb#FVW<#o-(*me>IhHmQ(dxjzoZRhrEc`oHU9Z^AKKd3Uigb~t9K2Lrvj>JeJj zz09DniL{Aw5|a3|aO?JYeHNdblogX|;nWb1`(5=KXGcD?jSlrPh?`Iy4B{L9RWXKATB&iVTo;3brq2P zfPvMfW?pnl!}f|rd)7`7{s;T6EF@s^FJat#0+*^^E6=}NfEQQ2>7#Zdsb2+ zu(6C+N{=58MX?PM)D*~_*^BI1X;d}lu*V$xne7o0K^VwOshQVYT1Wlx;)Of;wW{{! z%@DZ_5CskrIc(k}O(WtF2+6c#VF?ll02Z0Yead!7gkuEuRP^7@3hxdrh8@|L#aaf8 ze@;m(Zjx%udx}8WuE%=BX$`~FyEN2_G>J%o#F}Fy9I^BfQMu# z`#v^Ba*f;?Z=2C-#3%dMjhdIrI&Wl0#0)Y+ItNY1MwCKnojt({6h}*PS+(hx1eCy>5_r7KJ0V% zo1+It*)YVlSp@f}G#fjc^vep(kW1Jn{1bCeYJ2SXAqk}NE=~aW1ZQB#78XdnWN-L= zX7(FvR`-|gaUYLceWM?*3|f2UT5mU+az>BL`%X}Ea)bgFfhvY@=#IPIVQ?5H&p#iK zDKt(EXZ`Xj7kFlQSUbT?&_=2&y4MDH=sPdm&C`x`2>3K$GQTi_t6qd(YzKETA@;5CojxYZ4Dagq?-88+_2zZ zT-vv#=HKa-rzJ~Mkz+H z|0E9)h)SlB;8@E$S_52BW%BPE&xRyb!~&>=_|W9H0(-w8MZP47RL0_ux?Ig|XS^iT z7uzeJmQh!y>rWxSRJmthOKIfJTT-Em4ef!&w%=}ggsQR`G%-bq4-E~RCBYiD?3$MW z&*tXEbp_Mv!Glck>k7x?q&$j0U;cSm(2jm%EK&xLeO?(Oa0%Z^>^k%yz+{>#_J@yh zIyZVN!o5>3U_cmOXU=zaamHFFNFI_~q{~HISh{phs_SXrs+clLLX5x7;cu9UY(9fD zhK04|J5|lh*CkC0(5=uKK8pXe~nMYZ!1r}ueNH!qW#mJ%;Q@- zxx3|?ITYm0uH52We&yN5YDl)%fD>UgA}QoY#D}UBt=1+mzwhype%YF6=U~#r-u}ZF zZxLU^I~!d=FXCpAdr`4r^UAj*pH@XXCa2zpY5!^u_Pg$~bG+)vlFSi=TL+jSef0gZ zi*q8dgp~EWZRC$MZooTsFg7Vri*{e24~GVr7^GpRe+cUMo|@b>6^W%YGB&^C(m1E) z26Br@t;goG2_LbV|{T4ruc8^=h<;w}kO{U+z+(Tn0RL4!3sz4%Y>- z8xJ&(MtEp)FlhR~1X$X}C6xf{iN14d>D}PWu>hXaXaVGxR+OKs=9#7%cRVKJb^fY* z43E1#oFOx%uKw#d^@f&~{?*<~=PFmhp`zkGiRkt9=NuLqzz`DgmTX^H@!_}K zfzt^&t&oehp0fJ8^zaiD3nwkHJ6G&^f_rROBI$bPcoUeo6&Rkv5{*~>kWeYyoGK(- zhWJ?3cYCw7ugE0)T5n(gdi2VbMNmgAzh&P?W%Z^3kz4eG>p?v{X-zTOKm#$$LHI?! z_d34II{U-o;gAOIv`?pTlak9Wj;B@0Ojg5>CL65_+}`#9E!6e(`otqhDm$VI-f z(8GdFDAjLRHs?WT+=JT>9@c0rYR-iN%dYP?H8%exNvDL@eDI5!(+zp&%z{w$>a0k= z>5H1TChMElrFxJu%K;gOFX4(@0Rx21OLK({@2}1lh6(qY$E>wjfZ%sqC4H-EEoncA z_<)^!)_V5|-9X#FGn!`*=2#|^si@#A&o6ExUdOfHY;=mP(Wv zF25TJU{*vy-|xAeonNf==cXTvJ>Kf2q#Y3p2+VwyBMa7>Ea|{nN|grmF?b2_+Cn74 zVT0}-zkBqg%!1%syM_IRX%{!=wed^Qo_jAaiE19))I-3v`r5=}D1_GQR9 z&*vm|D_pIPXMeE%5U^kyto=)3@?6LLQHe5pGI5ycJ!&{=%=bh(-qj^v2UPGDk{}TR zzHv_rz3WHTsbs+xPCIYz$)-3hkvh>ZuD`Hg-wnPG1)`sIxAH;0?bj>6M0- zNTcprk&XcCxJIhB3_f>VsqyjgGT&W6jw+Xf^=ST^YX|2lw=jX)iH{fu>PwxVpvF#b zx{UUROE}o(mM0)YYC1fa`!mJ+rE309Nhw}nm3bwxfzJs>iGIt$k8d`-*}y)?z~=(v zqwQo^d)@u;frN9_Ap&(+N_GZ7t&&p1OE(BT45T;*>LFU4o#y3h%I_OKbT8#)jPNj( zh#|wYKc#cL3Fn=DJ%jOx*`g;Zchj_|9_faNGmE&8^4yB;MVD0L<4jO+2 zYk6DF@;08HB*4#umLfb{Ot+)JPDv;_2)~dGADH6!A4aF)$gZ&JR8H6(G+h@bw||R0 zOserc?PtC7-Vo#_=}Cece9Ox3u;=A{3uSDzBr3F9kk)%E!j@Ve5dC=JRxZX-0@70Y zs5D$Z%;zHSUV?+VXkvd>Y=SQWppk~v+CYOgGCy(BTP?kYcuS6@)vX#lNPj6UHK!xg zR3oG$;wJu^M@0B##O1>k4tR0=yosbib7$9l`<*$;qp8PJ7_io-$hu^YcS6q91xG9C zV(mdr3BbDXB(X**(*lLu`S=>;McmMnHZy;?yz0(i9#wjbNE=!aK}l%hOX zhH6I+;>~v(O_pAPt@HG@$EB^WRI`gp>5yRy?UtbXR#Bf&K??FB7wV+VXYTZG;;~(> z$!$+P)9gpTX!U>%IDS40_xYt(ZL5yM1(d=1!Xax0KEXqO*pLIr-E8NfsibbHe4GKY zd9@&((8azcL%{{bz$B?gSh$LCaY1KilAy!+$T6b*dAB?|Rsl2!r3oqKq|D(K5!9=Q z;Hf%VehH>SiCH%8-C5`4yjV+{URD}j%yV7+o7Y1vE^ep6-m-f`fg3uJExAd!MGH>+ zDK>qqnQ}q*_1E6_GaR632EZ{mYNgLzhDU9Ig+e3d-qS2g^HhVXd}o|lk~!%1djNpw z=Y5BXvYdVEGPnvW1fpBk{Lidl`Hfk5fPs(#R|b=A4)60mK2Qi@!^4c0b6jmby6eol zu07iYD6{>oMNe-p7_Cyp=LY#I&J?fkLy}QK=gn1DcHyI=th@U7Nz&4T5e)2u z6~~tKPPoyusRIV!pkP|Prj3zPc`tmLp)O-CXv#?p_@3HHb9A|=$iblOcTy4i*|a^_ zhdZYY3alqQcCGgD+N!I|-Jp2D=eX_ozCg3aeQ3bkY{PNBs03=bgw6emM7Pxwj+D>t zN25u(2b=;OS7GTC1Y6l)&fk-=esMq}&SYzG-$)14WPM|f^UW?;K82#w#p>XzqAPiH z9$(WY$HxyMN2*yJt1r^G5P6aJoLZCvMsN@r@iw^YK?)qo*6PVRWeNe+$r{6NQZW-A zGys8t(~)x|Zzqsy`gjdXY^8^iE%eiJ?ZZZ-z(BnarOoJ7Wci;&nHPLwUJro*9s+fK zTbb@GLURpALx)Qz({xOnxa=(s@Umh;n5pVWK&TO($G$?tCP9J&bNd-`)V!lzT&&AR z(G##L3?4W@;D0vE1CTb49I~GrT+1mQSs@zB^@QnZ(=Y*sZmH301@5pm>;Woyf!d4p zGobU&4jw-&fD5!7_@)To1Wwtga;YBQF%Q3$7pPT+uiVQU$4Za()c_zA04l(^6VX6% z(7NZp8{?wBj#~M9ml$rm1K-AxY{kSe%0V&ZKcm~&ZL?T|vSaki-R8vg_w%oY8x0#k zmrh9eg*C@3cc!1YSHew}4@7D09i7p4OQ_-j`9I_|6$p-Rh^S*%wrOvv69%@bY=0k+ zd`9qicxj90%ikgJn*q;3vwrA2Zf7-dAl5M+jDHn=?5DO~YD74;E&75MpjUjvSx@#x zLv4Ag)ywH!&{D-cO7Tq9tVt#eKpjCj3Bt?rq(SRv8zDX~7WBV|-D^ih!=4Hjxa_Xw z9Me@MaQdG2y~Q%w>xAn@kD1M@?^llxnPTKJ6x3JSGJW_@#wue8hLf%2&0rV3w|L^- z#$k>S$cxVFAgA=eo=iRG9P5)+3K8i)nZyV{;;TDRY4rNk!$B`gZBRy!^K zvI*5_Xz_ElM*rqre0D%2a40zS?cK9`*RY>7F>+sPdmS)&MXgZ>PPC8%^u&JR=7n^I zRS(S55{c%qMCnv!j%5e7I(taV^_xF(c|n&u2AON`6(z8~JQZY#gz0#yZ{EiJDDG;p zxLj@<_xhPKCX(*L^#il@3_Xm1{bX89qKp>UNkTWIuO<%{#i8FEqhm4;P*G2h!JHtt zWH*}t8VPC&rOLiNblx}E;LS_&YD@-d-kv(YMN5B}0uV30g=plIQjb_)O5O~ziw-;l z%W4<&8mZ&uRmzKv7l$vya>GHU!t`K0Lfo`Tps1+W!Tz}IQmolHPdin78|e$00BO_Z zIHk?!6+J+|(6?{}wbPfjHNsqvaXj{RI0NvtDd+mS#TwyZ6Kw7~fda|~qd7sTMiGW| zTi>~vKih^ny82(HeD66=!cV$pU=OlPvdS+)C*AjdCHROE=`jSTU5xJs2RAHL=T~8u zww~^MuIa+})~fMj)c4wb(VG1(@S40cW^HBcPQMY-^LO+WJ6YGJUNTkk$l+IUShH`q z!_9ZxV2B$YAS-s92bDJr5yKODNMrb$$aM&MKd*iSk162Mw zrt<$&AJedmZ0On`ejNv-Vnjs5Ov+JOj@O|P#ptE=Z1kKYJtMz%zIe(-Mif8korjsG zX7Y{j$jS9Uoyfq%mNIdj$_hN;Y}K$3Z;)`(v7 z#9|yXl9=Mt;EP+t(W!B?@X0UhaZ+H1NYI^%^hxq%y;4%51mn^G4D~f8F)D5%4k0m` zov19FGj|IOwvMWpe+e;L3s zC}UY+gN?c#x30C+Biz5gt#GsAG`C9VaV0d-L8aXs+3Rlpj$o0hQz&xuRk`CO(yi zahfQs0jC&L#DablTXiZ@y6)9{=={%cROIe9uns}X9#~lLOgFhaLtDo=Tbl{5^BRwV zJLv1YrOO4%nIyK@nFz7RR==PH+n!2x5pn`cQ-XIh_Zxn#Xy8fVd)VelFPILIgo@;= zmuHdPrZ09%QX4O1P@&ZNbE$sB25-ZnwfzH8&+Aq~nebcIQO4A+iq~9>j&e+fVOe5G z!0PPAE@-!gsC98p3u6ROE&uLw0-$ei|9~m@aY%?{7>orC4QePx@*f)D6WgsqTUfGW z{z=$)$j47YciLwE=Oha@O%hLR-)FBOBrVd~UlyO>74~P!!E_M`E<+;!D0hxNyyZAz%BB=HCocv5Le80gn%<%;rZ69PnZDi}hPc zCi$$e@yQWV6{EYPUZ9zM67<+ZLchTDyi2E%_>{2Z{ZOtq9~%;&fK3${0(|w9%2<9H z^;JMaqM|y|=-oud(Ej3ryS*}Q1D{_~hAC!waH;7FC^!hZVa*BQ(XsONQc>#BiM6)f zPwIU_A|uUUa8#5*Sq_(6Yq!c{lB8au|0%vmql^kH--ksxcq5~dc~h>VWw4V56IvF1 z&n_{jKu`c<+oC?w(a_Me0!;V|VlV_EpNkv%I%Qj?t3je27l%;)w$q;r{Lz1|QCNIi z7z;KMIq-4+dr7qaA3w)IK!6+i_a{H^2?{S|M&X;?jHt4NQ+k;%~!#0xy@GyWy0)YVHANZOm;K7>ya~Zb@;BkLsot+a>X~{uXiHTvsMs3*9 z;Q=~rR7i%gw7`W}vxR!P1!to2Wd=-;^tCcmeC)7gBmw2!wh6?aQ!CWq{sJTI_TOde z@;}v8b#Yk>kB$O(-Nv2T-Kk#-TtQr-0)scWrMrDBN`6^|H%I+C?7*%qa7*;x<$oJG znlA81c?w<}0s-AF(6`lM!22U8)X;TC=I?(K94UMm3LciHi-C%4MYyLw;d|!K9SQ&{ zI4f{Fo;U)?91|UVH9Wcn5wZv1wEq4#9#jm5Pa_7yq5>>`!vlIvm|6JN*}T}r21>qQ zL(JDWe}lUndA_McD5D$!tN zs%WD+zDtW|Dl5!(8<)2k+DFJM0`k_QUFD4OV+ITynEC{7YHCi^+U6GqS2=_J%Twyk z!+8QZQil0~1*C%Sfmp^*Nr_!>PK{_Zit5D+6fJ=nxnYIVWYn&y2P}+&QOzkx_ULDz z*MG>fVky9_1^)*b*D^-<`jbURFpz zoDZxKBa8P~wU1= z7I$`j?s!rG#s!0K7P&P&lXSG*yjJN3vt9TSaAe9=Xj#mQ)+`zq)^rj4e@qie^>2&_ zidht%PPw2Lza&D3`2YR;K}uG(oZ~;M1!6D^=oI}>&xRuT-4H>Z@?VWsACoa&w<0Tt z>v?=g+g$783()sbajFFp9{r%1J%Jl8z^iRcUkrWmWHr3W5K6w)1hPc{52-LEU)wV32{0@kFcT!0+~#p9h?Sg9HEV zy$83b^_Kz^G4&j%!&^8gQxS}s_n$Iy6Xg=r7 zUxIZ5+{_d)9~dkv62n?A=HOqNEslx9!&mDIeujXs2Dz$zyfyfVuB>!9|9C^$Gcr21 zUEVBV(RS;1*Sq%k$4)PpzQ($3i_#}ZrI|M5@kXeW$|ekQ2X#t#q9#DfE|=L@^jbbg z{<}|AkYDD?{22XEb@k9#35;4hatyhaiD0~Lt^}&8YrO7SsivC|ncy5Q6?d>KWCtd6-tu@vqi}6Zynz2weoCO5T7A}e*`u1SqWdz3-DNuxl-QmAJ(}Q{b8ME zk@)=k99@d57#hm1xN@Q-hIAofJGHzZ<{JV=lvtE$!G?CZgw5ITrU-e!0JIM^`Q-26 zZqE}Gm)9zSHdrPz->rgK64PH8W$S&Gpk(A0C3qn#QrzwZ*e`%?;f$EvoX{C<;g?i< zI&WV6*6KEFqh$FmwXjjuc4>Bk?)%y*_9htk{h!No-r=*;4}s%JM!+Qsi3*j0hCvyM z7^FXbM4g=zbhucLCL-kl(eA$gEgl;a_EJJz%I83KVH8N6>opys7ZMDFd5Tq5U!tUL zp)02FNi}J|Lj#ZeRYuBi?N7C4qfz7!&#Yh7g$Am4A=pIJ;laPni2uT=EToLjlMP41H8U+aBX z2$=GePt_U^!$>HkbB=xq5t&D=p_P{Yh!*o(wWFK7&*_6Cr02hET5?^=-@;B0jjUee6R_yuJFU zWLmB5urqCmY!82!=C?ody1l1E8o~WMfqf-V%n!YB;S1Up+uE`dlJ~*mLNX7aZ@3>5 z%7Vh+z$KYEp~R@n4;g@W&mt2Ry(#+oN^nLjEerVV?b$)Hehm095Ptw|7^yg9$|fq% zwSSA>m_A)+i=OYT_YiP@n0)nw8FNH-PKHk%byx*&H4B4WxZLK@ysJwpyQ;Wr&8^&_ zJYTmF)m5S`w=xQkd~zxelOGP3MNchi0ST5dc-Q^-oR(T_n5&W#Vk$0D+zmbMmSa2h zC;?{IG_@~DQ-A3ZaYbe3)=yd##?K}pt?uSB|Bw&-@6s{E{dhpE zN`irlSIzfLUI&f_@UQ`ZY31_JcDh2*ThFg`^sq)XS5Z#k9nA|7Vh9z$D3uPI5@a)0 zQ?RJukw*%7B$$z&{&OiHpHvzeWGn!X<|a1o0t)q4c@AXJcdNps5^n#VHAzC~{Om7B z%Ym2p=xDi?&v(yWoVp0rE^1Nz6}P#r9I4~;k>#@CeaDl^dtXH*x9BUuCnm7Jp+g_d zakZ%bXtU~Tc~>8-NNu6Rjg_bQ%rC6}96#Iid>1Uk2hkoi5wPH<{ z?=fCG5f0TnSkS2f4OX*2iT@@Kc*eh1n%W}R^^qVyq>m;)8dP$_|H}oa?)X>^3jzBV zxc1%m9bOz*(waZZn5aikj5qegURrk)0I&j3CPSW53^|4OLsy4A(8hQ1A0}x}^(hVn zh2GcsRFVMtJ~+`uYb$5=D<5Y-=10IN9nz+Z zm+2UY|9*QR9LskWl_|nzJc;MEh_j1d| z+M2}?72FHv8K#j`(W?N?MU^O8!4F@^%x@?am#&Hg+(q|Wb<8q(8yiXX3#_wV<_ zO-W?$tBcj7fS9O@2;_9Y`(=GShmkND4e?SMOO~5f)z*$P846u_{*_9U+E?ArAkPJ% zer+LO>Qs%wqD6=uF`1dKxZ^@kN7C_5WI&=kV`$+R3WwndM?%RP3bXaSn->xlj0-56 z#q0llG^9@b!x2Tp<_T6SJKfT@)+c~}4<0Ts3!|Q?1~Tqr7Xu}+J=Jwu+hRLh1N!GL z6zY33#DI|wm=U@<96nF*Jf#$ztPVMSArWEdT4f%Ejz3DB)PBe)o`5%Y(Iy8DZa~?_ zF}-!A2n`RPMg%qNKiA+h#1u-2a)**C{CnS%2R6NGDQ})*Z!mu_ULSV4uyLi--Z9g!t88AjX$o)6B| z7b@4uXhiSG-m`uGYYX%P4lsjWZU@=rEw8=Z%N@@hd13$O(|?B9l2s1il<;0ym|Sye z%pK^*DY9QboV0YgTIsTEmH4A#u@gK~sM{*>~q(4e+>c?@)Y#mIH`tT34zX4plsS_sa1ZA9V^n~_DAn0!>EWT!GHqL=8VL6 zdj%k&l~O-T%5XGkv6Qi?{_B(+ zchAoi3miuGz6bffcm{r+WIZjy)V@dno)JsCM_KYcCbw4a$zO~}K`+*AHXgfurANV; zh#n>-tN3yJ2a18WCtf5*R7}IiYDBduyOnz}p9pme+g0(%1keRJc@p&#~sbsc8-1f-GOT_tiehO8y*UKFlTp8K*oel>Yab++- z@Al7?B&*APgcJ8YEezbnS-}m+7VfS(m9CD1-wZ9Gy6+k+iW_Iq2EB4sBuEpiz{-nG z2Vvopt7dqtfgctG?EN3yJ2f|d^Z?Jx=Fjcbd^nQBUidR*7w1ke_P#qexz1sGGiN_% z4B2|A7FZUkZf!(rba#R~sV*P1_{s}te!&Kw-CGtQIl2(7ekLm>f(Zlb+30z!H+A_{ zE(aT412yt))f+fAtbk4MgQxi9L-}MsY2xK^O5cm;O+M)v*dMn< z_Iy1Fzn5xq?hntFd5AR3w!lysmbqacJ|5G`J;y~3@DKRrP3C*7ReGrN{(T5wc@sG! zS_opGsH=0P{u@|Fy;qU9WG4XPEUm8pbM6s&$nV>0OJ4Z_`6H0S8>(ng=iuP1J~jpv z;Xco$TPdJL3cv*?d2g@WlK@p1_y7T{FxHp-6TB7}xwt(@3xkA17*DWz?xrs-<0{xK zyA&1MXQufdR5+JWRzA2w7!Wqg9!K=0dKyk_0mlQlfPiisCYZHK%PtaLy!YE*%xP=U z#{D#1|CPDo&mR>gbQ>?@e>L)jd&I#2aMn&HJr;1F;fD7mJ}YdhBSwvm?MOr}U8)x| z5E{_uy`YvL9`0BA@80E(ejb1w5Wl+VKiC#Xh2`HPZ{~qx zL#ECo+<6%yE`&Id7?iVt3cR&}D~CNNh6dnO!6Kji{q0u(y)|_t2B`{QfntP8t)7b178W{eN330mm7Bo*vD5C6 z|M%lX$A{D%%~B$!SV}ly@oN+_^gQHUmMK%vQajaRERoFa33;H(? zMDNvvm#V@(yF905W5e|Exxd<;$0u@*Y7#Vi^XBW198;M8yblge5U8U=8TNpWClG3C zl+D=yZ$E>$U^t}9a{vFnT1W>xz|!z8K!!lkzWMjZ2fXiihD+mKR55az;{V29BS{+M zfHG{idGqCVTJcgo!w)0n_9^cQOg{$6#(|g!#4fbjtiZx1=G(X5lGOj%@HDX4|2we9 zh=ua+4dUQ{i9P@Shw}a(a3v=JOi)0dDd4{#L8PQ*Uopi9^DY6OEHLN@<_W|Cczxfq zfX#F7y`A@&rL~lxF%Eokv+IhHQG;kQF2TrR015UWNYMrB4h_gLl+C{av!Wv+BVix_ z(aOroGOxmj5hDo4S1&?vKF9aZhY<62BfzrSfj|J*-qSs}JHwtr52~x{ zal#SZDOiALL0|x}Ku-Q`$HDy^u((Er{KLWM83q$`yqd)9RM^t|Hn1TXMXCtRi~bcS zV*)5ya|kdPSftqL8RCkzn9KnG#tEfa?XdFWmtulP_YC9@GZ};VI)MG`S*K(cg7oBM zB)g~}s(4#GkY)@&USsBr1tn(od?0&OTS&S?%_CDKDAm(VB_MzTlnLV`4!nSN8dbvv zSX9&;j5xqZ7PPTW8h!y6MbQ3&P{qh+D#QDlm7&3+3*J{PJvo>|WerSz^KX9iGvx#` zyG*ytL>zluME?h5ef~cnE5a)&Jaa&a!FoJF0ZfAEM@mpEg6@&Skk#JER}%Ub;h_Y3Aay_t*J@m*>pbAFXuuK# zy+BNP1sWNm!4ijFay1HcuXMf1fMHrpQd)ou>C{z9zbqam$xaf4-?jnt&EM-S0A|0Q z@=|82A7qMcNnFRIaSBNia6g{3pgoKGzOsyZjgD|`MF;KtAJ0yR9ZfgP4IkS@C>WW$ zBTTO5{QUm1yh3@{Uh)f?u4~)zUI_FAgKP;PU;i)W-ukV|Z4DcpbV_$Oh@>Fhse*uj zbhmVOcZa0XB_a*d-Cfd58l+PsB+p>2z4!Uf_ZOV&;)iv~V$OHI@0epe&;8tykQuA) z_g7i$q@>AL4xOj}#pYSpL0GOTgINBo1WmHg%l=nnK#Lu*#}0wHz$7IG7%Qsehq>=P z22N5^@M>lH0Y9R-fqSCShy@-}h>n1tCOXd!An8v;A%SVk#44|U4_!Y?%4{FcnUmKC zAHX#EL>21@#%wpux4qfgB+!3Q+q}wNeJmO{?zx^==ct;MKZ}A~(M}9sptd;GaFtI0`r9D~#WMRIlx6Iu?>|9UH{+zTq z&xXwBafie$Z1MY?m;m$}0K4!BJi4tnTKG*5@drTjr>RdILLBH~9o=CU8Z|tXH!B)D zH(rImdSU!_E@u_aF1E?j0Tc}Jch48f+KdzQ^majYv-;@G+@%;wEC&MH9_fX`i z&J~j}YifA+#sdZMHWUI`_`4wf40xxj(uk|+5vU$9%Tng#1tZ0SEu)J7Zj8Fl>5-?W zr%BlY7z6D(BcfxX=a)5-gHH_>Vd}VUhz?sfV1Ki4qY7$jesH_35*z zL`OTni@o;%`zL=^tP@&Tl9E$UiVQ|dK|w)EE|)nat!RKV1yUb?Cz>pRBxkx`QWV(ABu-XcI{~5pxT+dywni8*Q36-W z!pxkJ=;OOSBWYptQPw*U_T$*n&!^*bJsf5S>jg8bgm+8V!3ii(V*Pw@$VbT`@OR#4 z0x1<*eL0vRg?!RW1=wP^#LK@C!h(>1nhicZwL&vA6Ia=cDH(-{^+o4wrndb?dg89i z#b&Yjm6x}ItXGk2<=+|o*5IThld~(7A$L4{c38+#vlpdkW@9vc33HDD7X;Xr1*E5v z=c9XlxCgUPm2J7>I#LnbP7ag*-}@IrJN zYKNuHr7NbQp4S@TS8a@BN1%tkM;>!l0aDV{ad|~WxNUnFDKMM?ZX*;z;1olB^fDq4 zCn87xj2@=P7vBDGbxSl8X9Vm8X1CRVe;4cZ$t7Rd2z}gHJ*87DGAa^a&^6d^f4X)8 zx(uMyDH%Wd!a`7}M5I*cM1HEydlMDJz`&dSohbKpD z!RV&43X)bSldB1G_V= zCkR#o76)*}D)Ov9G*~$JiWI<=3yV}dh{J*CPzdtCz=)Wy`0)>!IIS`@?&(*C78420 z?2PQB{Gg(ZjF#HM%Qy5U2F$~S!!$EWLPDfQo$VSSXMxu9&^O0d^9RnJV1xkrj<^J& zwjndXI__&iB#HqUn?=SBy+%L^G>-s7yNJD06_b{&Q1hnp{o z=-hUYHVygK=1T~fIIVOT@^{j93cL2)``t115fJbwRCZoj#_)YvywCW&-!L|94SgOX z6IHH&4{rAS5p1>N%Y^iF;WB~!hh?y8?&|D7BTQgUMI-)s%_$|qt2H7b=4>FO1Pqn7 z$@q8lik60@N+=vkPGl^&wbVJxB*-rs6r>ttx}Zm{)4~=VVvlRlPEitYvU5YF4 z-xkj&7FT{tv?>x!fc7HRjJ9OioY0 zf_~`f9Y=@7)m#}0l=q@<5k(FL2Oh^)ykvM?%5GQuUJX}ot$0-!bo?QCYmrMQ=IOex zFgD0mW=M}++n(%h-0#o1BGm9HOanA6vD4Y%}P1Xt_t{n1r=O@%=&2+1X6xQe-W=YCfS z`<*j+*u<_1h1321h}IUDYDRS~|9VUk(y`-r2mb)`@U5&^){PbbZFnPkLvYH4ac6UmNyMXFBwO8BGRxVF|EkxTLgM96DXO?}pJ9G{3R zeBAdc;ee-`!jmUoGGz z6;nsP7_T&d8GVI(5}>F;y~XXm<36!+(Y@M~WZ6}EJKYjTNeV@>h7ZC&gl*h*&u3IF zu<&Dj!mc#xImVsY3D6YoFT6O=;R3|`MIZdyodg#|?(1tNpw=gyyqB~u`duudH)yO@ zk^ChYF=%L=JY7z26GiQJ015cQ>zFt!shiK~HxeW1Wo0EECYoGhyEF~4)n!pAFkM z*Sd+*Ty&>C{?-OrM1u9l8z0}{5@Hyj7RyH(pHN7<2j|<@C^a9(rhHYy!^e{>nH8v4 zNx-t=E$iGqO3%1ioaXv_^X9bK@1Be~8Fh|*M{=Ra`8#_=Hhlkz@P2%T4d>88x=p_U zH_f9ZjDYqp1s6JksH%fCjPRDV_a&1S_U)(CTV<$44kN1Mhr%uW#_rkAwUaZlf_Ya2 zV1YOH3&QgJ_U6^S`ELzOWPUrl(KMIJF=#v5JD8M05*`kPl732Yifiej*;!|vTD7z5 z4bPx+hR|461>@qw51M@T?iJ8;q8OQ_Mi;`PcbOPjv$fx9QdBIkV#!2z>ADmy$U!@J z?Q3GzSOHzh(pzfO?D-XCZxM#Wi9snE9^7*+T_afT{-+XMk$FGYt*Tp=1>1PMGjoaS zor1y!RMZcNfTgF+=sv|bjucsy z2D<2H%C9`nfz9svw7NOR9*vBJq%LjSO-03fJ)Lz9F+u@%#!B$Io$Q1aUM+KD82n>C zw~5^aAOI<#zlNvm>^=UN?>%l`X#ch@#gI6?!oy#@-+s?Ku6Ox(VepVcDp!*hpfh1p z`k4+S$jwIHIw9$Es7mhlS;KF>0GRh7Suoy>c_|B2jB8zu+3(LPe~MdY;iM3SiqGU* z>a^NB>5XS*eID{Te&0Yyi%&jv^^GLmUtz~H-8Z!b4c&NMN=7m9D6;x3*f|8`>m<7Z z%^6>6jVR>xS%Z7PTd~r&oGz`?3@#)dVSvwWX)^bH#=|~KQ?uue^D&U7Dqvwp2ETr% zsH;Tz?wwqgh}$^iOIF>;fzVTQ#f^3%<~vIUPNBmUj90Jf?0aeAa?)8rDtoO0k+wa^6gAk;;ORK7zjo4-A8l?rk z8|b%mFQ0{)o}Jo0S9e8^QaEpyveslvdiC*UCUH$Rm55}%fdE>Ps-N)nNqBlnd&xy!0_4#Ln ziu*%O*qw~H;`+l_#QI_`o(aIQWwr)JRu6%1ABNAeK}VyC==$WnBU06ZCA<5Q@Nz@a zcr8figh=&h5q?4UgaZ~K!Yd^*`JMBXE*SU}_=v^nTe1Hhtk2kct51FbOutOI`ChL~ zdGmLi`q^Jf5s%}m?^Ao6+#KAjuci6C{@i&#poS)^88UOz;DyDKOIdvTfX+=4)8Lbj z1y+wzOtF%45m5#C^2w=}XfY)^BAmMr#V4*$@d?SX4Z*-ZK^Yx0F6a0S+)nM>Gc&@v;6VIx4~nZbW$VPg#jIHO_y9T0g-mpT{|KDF{e zaUBUV3CSSN;!LUYDFUIETV#N4eL;B!tZyrAeX{zU^jhuVKrz{dqi<3%Bn8m$t}cn( zc(?qu8(pYDn)E`qBS;%<66(*?zM5EG=zjOxQO*1*1C0tu)qpkOLax|gtMcxT^QbA3 zR4k<2*H0l8*uT=C1&%>JZ*8l)0;R3w1l7v)_Ka}&SVaoW=$cz?K^&6hi+w6A)G9Mc zHc;DkZk`)d*(7F1942cb*LXB8H7R#QoFT2uA8>s3Gn$~-3=|o3IXxP(?ecOFK0BbTKuYrrPeD{}Ui(GfU z%4s-*k#F$hn{O4i5D18sGQJ%vEAP!r!8ksTTw3rb50wpGAJDGgpXtrTMFMGA))#B- zOm)_|uHWx~OEgkhJ0>bhk9Iph%;z%eQ8TW6OA;k5)zIrLJ^)XS>}TPqZ1CSMf?BYL z&V0OlcH1@VfjgP(XYw~eOI-QD?m+X_Og=ukw30;G-d`Y~6%kUp5+8Nl!*|T*rnd@F zQhATrXQUZ_|GP)xh9{tW*5R$_us@%lWZtKTP*T!zmOKG@e{JuiO4RzKjCpV2z$3IZ8=DcPKi z6+m`D43wA3Zkah;iY7WbIeHDWqv(Z15+QEUok+}H;o&6c%-eq8Xucj68 zb&&xw8`AdB<_p>t(Rzn@{fFfO47c)CID?A@ zzl#aB-*&m#$8EEUeTrapKWg+Bo1S{)7JV+h<3@> zR_r{|=M1{P)`IlgiGvFZ8(T>S!{?whDAh>rzGt($XI?sNeFphfVk_nuddnB|%tetu zJ*n~2C(5TJS9p}MDEas6aB)U8t-Cs^*K3WTb3j#a{r3)k%$Su8^OJ!_WR!LLFmJqQF%L*FeH4(KKal^&w&-2O$}vT?fN-a2;= zkB$YBJW8UzKsFD;Pg!SqWV`Ah#7}|=$FbkFZb%n(OgK`+HYYnRX-#j0xgtb~t_Mn) zl{Q1LZH|JDE@hB2!__WkPspHgAWZ*i;fQA`;6YqfxZ1Y+DjCRfLANo_FurpJytM?t zDg^>GO59D{ZzVQT<;w*3ruG9=p~XdMY-!Kt&Y~YS4GkSy~!L zSJTwQ^j?&)OdHhHKoA@e@N@R$-o&>?q+WwX=F4b0w2kfOOJzcqCa*41*Y71xo(TpA zW1|@Ns!Vt^cFUIF>nXV_p5~JhUCOPRq^fyanXU^LiE*IzD`~_8X#d1YW{o5YWyEsw zIaUjIw}o0a5;x3zFliFPOA;5qdmca1($Y3OW~2PO;RN&E7V#o@}fy$=9+O*fl!M>^cExXfs^_-)P&Zq+;mY}H;~JInfZ!hYo*tRat!za@WiAx(m5;el zta>@;1AUo30z&BK+ssQO2e9<@IWZ_!&@Qgw>mlkYx+lu^df)%qI+*yd#5)6sNXaD= z(4dFhvX!Kg$kJV!P)l{4R_7qx^bi{Cm50;dpl@VEMB(Jkb<|$c3=%?gbgtTQW?Z&9 zV@PNOLKK*GzNZ34n`Caa^z@7y_lhf>^?vsl=*FF`g1vkjMj7o&&Bme(X_sGi0B+ix zQ1f!wFeAI!lm6$+p9b6{={uCOaITV=GZR#}xK&RdUflam&mXzr2S+JHL$;aD6xkq{Qtf7u)p zm6nu&EczHiU#V5=Stwf(>O%Uv!6tAKrEH4ez#JtCwL7fcXI#AW^HcZ;jJQe{;laxY z`M>#=Y^vh!s(g%J`J&_`0NG&dwlQ()Yb&nc;?|f=U2jt_9~}!(70RrM$h|Ne8^Un$ zQAsX#E}L-S(SplbvPZ<|d0}Zm25#CVH<~9Ooh_yd=hT5JiiMyg z%){tyS9N{!N~Ox>*}*c(p%EozTvkWGM#2vSw%9(MgtRkpRz~M z)y!8l(!z%I;e;E$*mgV-;%@DAQ{vWjvNUJCO`}sruJ5Fm^O9=n7ssYIs3D~b4MRr_ z^h``xoM)40-{BHohYR1jHOgC~X%KF!m3}5zM!Z2Z7urdv*K;Dx7T~q(b-r)5-_jUz zST~9zCP2G&?b|#%U99r46;A8!>NX=QY0PV@OE}LO*RB8g#(I0vz@F;U&obkY*smCI zxmg63Zdvme&>2!k@}6z;+uNE!N8qRb(&?v-F$)@~rF0(Dilz*E>RvFvj11j^}Yc|M&NKqyFjr>X^eL&>=^69b8RloKJVY*qZl}%|whq_26Z&>C*Ie z%;>is6&DXUy{J);I5d_R*P1|1C&*{ir86onEAOAKtDP9YDkxwOzG})sHSGutu^c() z3X=`?7|}VRV17<}28k50P?F)30p4f(wLAnda)T=E*NDJ-3AM2PqKJw9(27q>sSPcNKXHHgNlfXyK7&U!Om?Z zcf#s?7AG<|JStA}=S#itd#&$nyPKOq%eVULLjsRCC0Y2 z9e+v9`U!jb#l5=vwBt$P2iJ|X7oSv$2+s*Bt(p2YSV ze|cW`W`$VAJeP7!&B_2tW{)4f#6jnP#ykj#_O4cjx(!Qp#- z$r!gXw&1!VQZ_m!$oln@Or%fmQ;gfJ>xj0i<*$7*w!x&lRy4*(Z`7IOS7-!TDn~eM zBF$DgtutDe)Y#M@1vR|pBBVHz@iMS~IyT_++o`m+y%zdyZITb?3r5_kh}oBi2m2t- zP#?Bi17uIyubqmd?vT}MyN74yBkkracPUtgno~1UQTdnDS52M~{w#0ok`=0*$*2vv z)hy_w&5pY^N!Ku~S}U4LJsmDQAR-~Tys4FXl_KSv7j|*129I`Yv+S}##D<+m_ zYRrja4F-gGLaj<7FNKaL9ty0P+GJ z?)HuOhG9)=BG-jn4vo(Db9LkAZ8*z{OMl^vOUuX_^q1QlGvc@g?%zXubw-TbJ z+c+3&5WIUf3ZRLgYW2a8aCZXrO((C4o!ztn`jYYEay`{#^`~!q{;7#(j(KV~PoFue zSmBpT*o2|GZ9GaBkskWKoW?eM^lq`0;x%|<4|77Is1Gd>is5kC{gM_^$VvB-@ovtB z=XHCPOezk9K0P8e3YB%L-ws>K0l0a6@_0`e*RSX?4l-;mdf*9Dr*SVM?id&u36C^4 zaE*W}IO>cO|9F*E#ypCQWjN4ObE(Ojv>LM@Ji>`!5+@O7jrKBN(x6A|3Zjwni@~(J zn^uQ1ORjWnC#3#R)xrWRE;Kficc=`ieB)G$;-%}V<$ zWG+gF0Y2j`8~?A-WRSZ%^wSa~RD!$}R1d;Aj6~&B{cv2xORM7Bjn4ervm^bspatvg zjhSs5z0K-lK*X${Lh^@}tsSRL%h%`HJ=`rvgHO~w>Ka|Sbok}PVQ)rn%B-HK1M-~T zpscnrsYa!R-M*NY3Q|{oSEa2A1u%wesUxCIc$@P<8~0soOso@iXUm7N6$`=3s1-x( zT)ElRXNYiFsxx`(gDP=)BWU>Ae__3vf8X_mjF;GXz}>p?kXCt@&qF8P9BoCL8dJ&` zd&8Xd2rrP=rrz{A{}v+v^$fXC;WHW9(3`ULN+Vojp<~F?CW36VcRkadFjcLrq^rht zU`&`^kVJ8Z?)5y#ljA_-;gzWyO zo8E#*n`-Z1FpJC4{D!%k!)Xyw1bW^2vRQ;zfV*yY91o8yd`^)}CN+<={mz*j(2@zF z5PGEx-FJ8ybrfbnpD?kq1d~4*4i1$u3~td(jH-kSSQFi=ubGjG;l2Hjr!W*Ne!(ey zYT(EL5+{J?<*dJUssdr>CRCfx~O zQSh)ZU_%9-&3v7WQ*1plU&7{pvy((k68d;cspSp{U3^_P99{gt7B^#AyJVgaH(+C} z1*niVsCgn~qUgiviYP70QoC zQ=|5Sp?^*v<906wK5mOQ`#FCMiHD*}IyeYGjvp2=ZtQ6|2f%J%y(xZI;IRz0vdlD` zN*`-qn&M%v-@mM`&t(|~j=gBtQ8jxrzVcWk1VSh0^Ng6*Hr7s98R`4!4X%|&EP!oaAo3)I{NMRu#oY(m>O}mKz~%uJPxfuz(?8d?(0|=#T4#)1xT9S?9{Z zD^^;B4{_fOInyW0c0uHKOFpmJ;_vgmA8}`-*<^9#UUg$P^_SY-!U;)aai5wCA^z)~ zhH0bQ^k@EWUPt%0(N=8S^rk~PP+pb~=p+QVYV*Z_(T#$=+I-Ku+}8srxliTEb1%}y z$BB~pRy)S;FS2sVn_$2wf@L_btqBGY?A>>|d6yqn@XrPvh$zXChO2>Ao{E<1Sthw- zB@0}xQn-e;yctMvI{ju31P?hSHKg;V_deNWls7kTKxkdGJ{njecB@RzSehD@1MO=5 zxF>DvI&(kwGLg;liP5`9o_|bMG#YiH5{C3G(JgcN7)JR z?V89^rUleae|!C!T?+ki z(=jvo!hif}jM8|3d5MmxVf>1XTkp60Qk&X9#HdI5tig_xLJuyEKxVKxr?H7+rYe(^ zg%lGA3eO=?>9pqQ?&4Uw{4@Q>yj^9e6*C7QEN&p!$l3@NFO!mG;%hdTyZ}@<|bh+zxRf_UxqUvLVFuIM8Lv#aAcGKWxw$(d4d!I zk8t|G6Y`5M$2+Fsrqe58?dwx`9qUKk_vWeZIjcTZrhA5t zhS|I0cMb26uGTF&K?$G%@B^kz1JEBN*^leEAhlGa{uUP*e!j|UQF3$gzMq3AMxlQ} z(f`I1aodHp&@ud+C+bajR_Z*uh9si=nKhZJUH*?=({t=wA-5`G$lbkZ#$2Yjo%3sh z9~yLDH4d^&HGwsx_=;i7GZvf(Eb>hvB#xhTK8@P87ycBxH4KuUZsd0G&u6tOZ8v0P zq=F@xsujW+`WOs2SYqegE&G0O=zF$XD?sfD7uylK_H0_b0}ckUK$#QG`sRzJH7t-$ z0NTTnkJ)w$k)9yvp}7ExLkR3ew;p_X-fYYF(Dyjl*nanu_kd-f6YLvQ82^C^3koOd z6A3@N_T|`sf)L^G<(@Q{+oglCbRUpQzop*_=O3cM(pRqTwpKfL{dJaKmurzNprj@LKwTweyqk?3{Lf~Xc|BF38ZxK)U&EFg z&5=YNyBV+N95g}%ZSRkItA;R^4fJ78d7k7nZdPU&7iYdw*u$U>>@#iO@5q|^pQDY;d+1%6lyYIrJwtY zdPWMR4h36l>)Xd`ubHrriCsdiJYpN$xgUd_wKrCa>49!f0q| zvZfA{k~A}Y4llcZlfVp2lMOjYI62MUNnKbY$Df{Zgwq?Pi&4qe=Rq%@VeS#5p*d_Y zW@3ou=>%S%bFGiIT~~e!hJN^A2-N~WEPNQev2@l4ED$sUMr;#%ZXj-9X@@b+N;mT7 z@ql(cs*nb>XKHa9fxc5q!St`tVKwh-1-UH|%s-f8w?g#Naff4{e=t4utGLAEC;_AC zszo#FA0=!0HwmjHzqh+JtsM6LHs{nHk((_~vD9hExSf?R)l3&$X7oe^CE(_TRcR%z zZj>z{JD=v3#GAJYTN2aYF(!?1m}ON}l zt_o0!vO&4KIU0QbrVMYUaS`!x^46Go;Chm-Y5Aq2Dt|ZjG9#A_iGZOVDgs<_9?r(`!&Ygg4 zYk}E3#)_(UP+t42IGdQGZzUg3-Sut@#A~Dhwp4y!VeiKaTn51ydx>F&lL(#9?S@e` zRk*XaMm;C1GSXb}yXAWoy(c<}_j&5c(yTCK_X6?GalOxZ*~AOuH|yh9g4A#v6ItA}Dnch6FXl zGrtr;qO^C92%E8`%z}jZpDXm7dgwmN5#?6<+I;(EE=lQ%z*m%(Lwbe}1c)sb@|)%sG@3cZKBONckC zjfn0I1oROP9lS3Y85vbE%}zquqnvVva|BatUJ}J*U5e)H;)P%Ay+(3uqB}Rw;y>*_ z+^c-J>^btF5OMEmh5q#x;jz|i|7VraUY>Ohwd_q$W1gf)6gm==6Q}gf4D(X!`-hc` zu<1EhkU|Yd=Ny~{t@{B#CDm#5OT=2dfmFX@dxfoDV+<$n3c&I6-F37$cdSY^KKEWY z0Ax^G{aiS5Ozu5T|?EJ!oFP*zE-^D0rT6Yd)(`1sfJ3$J=X&bHq~FHj!F6( z3OG3@caM)lvpQyB#G3$9O(vu;B^BMM1427P3k#yp3sc%>^lfe5 zJaxcc4gSE=2-epZXW-6s_k>jJgLI7Kh{+2f>y@g>JzqGI*nbA1y?2%Wh_RfB+uLLH^?$JVX45e` zT%Xx%ujPyd z(Pe~#C8$Az@+5xru7C$s8-}HnSiGp(2v>?JFtzHF{V;LxENyxhQaKNtC+`kF{ebbW zs9?9up6)i`7U$(g#7Uowq!01{8Z7Cdd}yNHDJ*=LGhgv zpT?MGjdCsS%@N&`vzG-FktO+U=kFq1YA~LfTor{Bk6`*LivlVhP^{z^7UR$PwS|27 zF0f^z!L>6e?Jh;cov5YILG)e=S}ao%qEHmnX&?q1T87>Zovn>YvaRG)^bmp`9te~S zIEZq0cLNtpLP2(}lO!q0epX(65oTgyA}DY?n{L5_3cD*o&^dgsFN*TigVRtZ^k0_8 zyGfQQ18Nos<72BVh5qP!?mVPZ?5^7T?t#~4b+`J^Or-)G=VgjziPBLaokKJH3K7c$ zmPOxRSSe{LhXDQwaB`QVs$NVkHqp?HwAE?%j;blqcC&TdKdHgC&PvkGcG2L61v90z zV2iEN5l4QMl=>GSaw8{w8YD|my`o((7Ik1cu_4uAXg|NWkk+kzmGVOY*sCi>SDq?? z?C=3We2np}celS#?Eds-kL$04#8Tc%K_Mg%WewC~yJt29BUG^Ndl>m1-+R z(l7klNm-eZl^j>p9p8tt?G0;YZHI#5;>KH!ss(|iZDG7@&B)rAS(TKWVISD3k#TTQ#W1{8+CVjQ@hQOm99j*yN!} zS2}$mE2U1Y3UObC1dcQ7&F+~~=eWSs&G!!8e4ig&ch$UEaeRTF~c%jg-VP zz2mnAatKYhPw%dpbMA)2E7S_Y+>#okst8WxAKDoigA@R}mg<+zt*Rr2L}CA8`a+^j zb&)Euv4fWI8oo>hEu;kvf%kZ$GcyddpX*6XQ|YdZBGd#&tmJ9a`(Wc=%&L~#uzkd$!K$c1Ou01db;KCEK8^y zCaxc;L!jrGsr7%r%|CYo35!v2DajbX#EvNnqFFl9nz;&(OPBv+5VDt&V1m>wB;fqg5#5r4lym z1WpUShlhjH#IZx{^n}b%k>=}E@a_w2QWHDU*4Er}kDwkrT?O;V>))%sXh356N)R81 z1pP4w@~xkdqm*p@Ffwi)iJ+#}wg?XMpuSAna&bvg8y*qSF@o+w;2=-T$T4u(c#2Ee z;bhi_1HJpAJ?T#YLaHg)J!y<-IsYNA*iNEA!YHRE~D zbTq(-+wn-dMw}sWpah~mhqZZ;>qU>>)huw}NbiUjBNM8lWL)v^ z>7>YUA}obHJtL%~VilYjqzxb6p=IVlrM&OH9nk!Ypf9?LpwBK$8-vCUtI^HU&@JN1 z0O?`u6;8cm!9h7Y?zeN~^eJ;Ox5<}j?fghnYdoh$=JoiEwF)B+m-moR60np`)5lkJ zCwd(2`-Hsz#8FZSGmhp`3PF8&kLUgCMfr}m%ASs%d`67*i8DClI8?WTkE{eyjlM+K z*dirf!+HsO_H7dbN`Pv^MoLPb{HDtC{w>m3aYg;A^z!(s0zCu$T7CO1GW60q0I(yI z!zK-Wyi4+kA1au4vS6(9!pb$HVViUa{9-1DwY&fM{-_K4?5{Unk-KaI-`Vj2hIVP0 z1UZ`jl}@+yND=$~1)@-cN|#Uj$pl6Hj;Ol{WiU-iy`Q8@zRG;^j7OvU&L%H*I?+M3 zUxc@mMm;@d_Wgq~z%KZ`32|_u6(7!cHEKoXsP(E^4VV&c3=hgjuh*vBbVVOapk#+P zIZ;GCHT?hiLa6(Aty)!VbOYxHhc{JA<g3}BQm|} zH+P|7RA~0Gb|;MI-D7Zq_NN1F#BM*_|Dl_GQvP&0Nq9ob!aTB`DLiA#rB<-{53Og0 zlQOp53GeymLDzB1+6oaP$^x^(wHi_H;KK}-*QUO5mVzlpIt@Cvv(^zHLy+Ox+2DPu4#QBm*H zz2^B!A9A|!!x6Yr2`3FHrj^ITBjOWAstL-3s;Oo)WiA!5CxEc$cTj)zIDdMNP?bgT z@2^D47{;Ka1_aK)Ksan-^1aIYF>--S3ZGUVB2r>W6K6c5P2&!IvAY^jS~fL#=1lFy zfBM3`N#|4!;ATIoT z(VY)4X(I%|!HCq*gW=o@M&myB zzVlj@OCNoHj^MQkDo~#Y6UN>5npiudgSVTIx4^=}^A8Sg(DdkGN06H#T+W@b041{j z*`xzFLc(L>GHZ8uyQ_h9b@%){5!mFqx+TG#L5MKfmd*g9F#*9}9K@rq72Zi*b9G%> z$7w2IF~7Mtk^tFUp<(?Xktm9ZJ-oDhsI9$%GBHtrj-gMGwL?ge!0Vq? zqSId|yxdAeN{U28P<6(M9EE(f??Z}?`1ByGoymkCAXyb?d$QH_uMh!N-tGpW%{QJn za1M`-6qC39lX1NBGfq9nqGmCE)%$EEx-JzUNK|@=@IQaKh|=->!}Alzk_&BJyIVZF zSIF%Kzg^0mBR#Eud>{d_6#>)%*N4M#-;|yz9N1w+`>*jNPrK7@=? zb9S1t2onF`(Rlv~44$AW08NbU?h<`D(1K_fw^WRbew6^R>)>A_<0Ji_e*e#phJt+W zm(;iPyN9Z4>zT>`&G!$pY36yfJU97g{Z_#Ie_rt^8v`)0H~u_oyV-O_E|D=){R4~j z#jnZ#=fdE{SzZW0@m>AS)+m{}_g!98`QrB4J`Hihe__O#YF-ewj|D8Jj_r(IK zT3}Je{&(~L{f}UEs{i|90#8x@_hA3`f9nOnoB!Vz_u~K87l&Mo9A4OAz~OI51o5Ar zBlM;?DfDm!+cgIf1Ont=A|fKwRN?&H)hwVvhWL-~NU{*HAKcCyJlown4sjGiArP~$ z;831Yp~8tUyZ1_|T||$Nl6Yo7ktT1JHVQ=DV63Rbl(Bj84xsvK&8!4L<3+D5tDnJ( zZ>s)#r;N@B1Oe2SwIfW0JLW7aZ+V1} zJW>EvVkL&RUH=j;@2dCvivhtR!U-R5yBm11a|EtRCjV)aFvl>@I%?D4bAcf*li2;p zSjf0OuPtllvTXO@NaC6KLF)ENj0HM(OL(UOjz@~DSsoY&PkS|Xdc94?)QMlCGo0=b z@MD>aJ&`q2L&V>gGa*F|>?{8FVfT1bcY2_JVNu3hunIzW@K&pAi#@>P*8zhWQt7Ut z0qSxn;nw{%?C(?Y=R;91U?46i7w)&bX!_{ynZxYwH&`Jo5dSBY&JHLm<3DBnu$ZI& z&q4(^#>hh~@Eio(9GrvqIDR3{6buN?{#1U!(!oaE+b*Z)=lOxODXgsTY|?P>Vi0LP zy>76wv1Ad>11A@lcK}q10SE@C1iQby9~C&~cyN?A&Ti7f0IP(9FGuRN#c7`IKU>tl zZy5dy24!p*0vuXr(og~D(In`lr2RgQ^+_<+C&Wx%_lve^~=J1e1;UA>HWZ5?E-SFG)(=}uW6$5qOi@b_zJ7h@5 z=Goce!EIwh=ljWoC{Nu$cg<@b?&TdyUtiruE zhpQ+v@SvcE_?v1lH_(d-=dKSenY{E6ay_4Y_WF%npc=3TfBQ4A!sg{?18%Jf)`Xj; zXM|fv2RJ>$OK~WH?p5ICgU^iE8gNMb&(6`V_1a#~NcpGA8c?nL&0MhVOOBeedGkdh zi6EKUZS?I>(mNJ8aJE)g3o~L*EqrRjmJ73WbX4e^NU%1Tg$>qL&oGMVUo9Er5D7A`1LQlC+3Qiz@ns%mwnv(KeWrI> zk-PijnHeB(iNnQToUf;-gs&vZfNVtkMXv1f7q0&QUc`fso$K0L1Q0WFEDm5H(J|35 zACKdBNn!v$z58^6>Drqj&xi)t1alP?1bMc?fWiczeEz*7R4)a{K*qhTaMf}ynQETg z%CqFRG4YiKJ&ZlnEG*ND6TvH1mSC(0_f(FM`vZCF({#RHiiSmKWb*_x6TB0csHo0- z`cB4Zp`kL6N^nL>Nf?pc71Xdx0vIXfD^E1K_U6yNzJ4km5dtI1Y+_;IWy}diLvF2l z3c#Zbmy)Rem0RbLa&sLnG~23G7SL-1`gchKgN|rZu9q)EXTK5vX9lTWDWGP@^`^i? zA2yPBWmuvOWAd`UuB(~_94ZV)3~IQ{_rbv5fGbX{kB|=A(k_x2- zLGPWN;^(%!0wB6O2mqS0vi%c3rx8bk5nuW}2M(I#8$eBXHWkW%{#5#c#sX%@q|yZEbDmZ2F<5}*478xBw z%GntY=$`>0OsFpNxff01o5rgUJv%X=8dNoA4h{_g*%-^FX#_!&$kOJ7p3PpJJ7|FJ z5)u9lIdu*d9o?Rk%Uk5gyu8kd^X9C^7}*Q3?!dnG6iv$V5*^69k!$Hsyx*_Zb1hJ- z+e8>@a=+p+uGB{Xy%$&{Kw9C*&qGY6lm~*Bn%)T0&K|2$bjPF$d z#L_vZ9zC#&TwvZnK~z`ol2hLd#->=rLZBAVRBCNghxQ20*?zw z6wcYa)bEMbIt?n>Ud!Fl)eN0*yz`?^Ry^f0mYzRbvg&_a zbN(~32jlAIvZ(zbt>Z@6Ah@%I6A{N{Ga^L&$31Q!$jFJO^1k^M#x}ei<@bR8@-rU5 zRGcDUU~C-bO6Sl~dd&3|^v}=o-zF{jz;{%|j%5g)oVq!CbFbW= zz9YO)4U@$j(ybegKg9wn-fxnWpILc*8)M2Z*$wn8x*h=Qk%1d$n6yx?F0%1?H-+3RyH>e(n-J>4-K)qgd#wx1|u z1$Ay?Kd?WZ_47v*NDdih@c#``X$R+UWLQYy(ke{?vftemyY8&l<#!e`z7{t-c^>Bx;Z%l1g1+bo;iqT3^<37Q)iyB(8c(WX1*?>f865n4(2#Rq9w`P(x#OH8 zOH%wU$H}TzIdVp=RFBko?j~F#{+9Rl_Qs*T0_KMx6%G6>#aZGiAVc#QY-=1G4jcvX zJx$l;q8Ml!d~r>i-7_)9Fi-=lC3Ac8NXzsAMRN4=o4~?8>EpdjScV5F!`J)4NmoWm zAy;oVjgW6Z@}k}BjAtuH_M;+aGy>!(xfg5B&}Rm5vqfxX`nZpaHyd<6zow_NAJM>P-bQHd=AojS66g z19^x*83Wp@P>0Pf7l7#zMFVES3V<};NXwtQFC%xa*mnA`PjWU#RuY11n7G_l%u@45 z$q(Or-;x8hwWHEoh=0RZ^_GhVhnOofU_Eh>DIZ{fcm4ck{Y=Q4wZL_C$YIa>womV2 zWI1gvt3@TiPE&#JZrLldEvRq@o{z7f^S&$eQ~m2SV7ve?A^MM4Jd6zlMReVHnS0G0 z*^j)hV+DoEE$VUQhbG5v?S9j<77ova*}T z@=AYM)?BYnz~X7o!wneOjxBCGfl{)Gi1ivrX1A44Sx04A)d>_ z&q29>ZK86$*>5E;N(uoa0_}EZBmm3grF87Jr@OpJ<$*fT#eYrrEwO|lDk^F{F=ATL zwS8gpWwfPi2te8)5aL5epy{Roit;^trbl~h@Nr1y4|m%$C3H+$(`N>&CwUqw7bZ#V zvaWr1|GA}F94`>%>5upKwp-E{$Ifd)tgI|FUO8DlUm_@Atg&nO)}Kr}*d7}9=!6Jl zTCP5!+bgn$|E1e@;j3%1zkH!dI1dIgpg;utM{=Z34t0*^`tW878U6l9BED@#)qm!y zn_;hjn7nJs)*Z;x$(gy)z315!EU6vVl>|u=6UON?o?7Mv9;T4cvnNhmvb%;N0NC%= zCwaVN>EQs@B?c|Fu)K;fJRj&M=m*;^T`WvOfbkJL;T*M$qa-P8mubbVj0izhg0=Xn z&r0fw?`}z9?|D!s1k@56k(9>9c@&J~IN;F(sL+L8zx-1i_d9BH8!;&;j2P=zzR^rH zxSmqec>cUInQ8Rn13f5ILN73C|3+syIyWP@Zrp_l6#$hqp(!x|*ouJJ6VwpQ9sB{# zNQp0etAN4X{R#sRY1lCdl+`Bn7jO7uwp%<`;Q%h>P1W{YH$EK1jt7T?h>{;mc3w0C z3>{KI>!p4)#kMnC>IFkO>QVM;Sb8 z+!y8uN{ogDQ=XZEnnfrydi9#R8l%a*ct&cS@wh(|k;e7YHYIkVHWI`zqU2N7-z8M# zsolLv=(lF&5~|cp$p^R6J@%!cX!=Oqjmm?}R;vxTKSoH8Do-OrPA=l~msc0lxUjpc zz{ox%*2`py)Atb7_x3hsTcr$?=mqV(&_E|#QOI1P+x!B57C#9uv!gZec1PtLc<3$r z!h3k(&ZY7J;*t`|2b2-v*&x97L`qi;ZAyVF(XIa7I2#2R4MYHMgLLGs zIRg4(NGlKsVPxWMGtcTFJF1n7J6mG`dB8_o0SM&Hecp`E3O1kC);&xBkoz1h(mq4N z0V9=Ex03!Fx%~#;m;X;mt^DCI=2BJsrOomGq_+9M@weY;=+6Z{IocP7>z61`v?1`2 z2X~M8!{co8$Vy!qht4Py6z0D3B?@B*W1=_6HGJ`oGvRDx6>{geVPkwhh!g< zlgkh|-jBa`vJ2f^k2_c=qSC5z9M;HrBaPLYMu8`cE>7kzAS7%Hc?O?9MA@!@T`cSf zJ)^GfWpIeL{Ge*VbEHj2MAT0mqf`_;c|bHTHbJglLr?muXyDBoS^q^-DewR)OKV3J zQ(!vaBxKBN|G2F;w|>Rqa+nTsCGY|l14GSH zcR@)gwU7G4FvP%peXp2wD+fOr46F~YK6X-F{oKks62c_r%j1sbo8uju^2T>;Bx?NQ z!~%p!7Q02GF3xL%r)O(-Yn`p3>h%s$(?&xRBlD*Xdg_P~v(G|A1O7y88+7LI1B^fW zPLYZ+qXjv2Xe;gU-X5=1&Ia%`fEA^`CGr94@~IN?v@=hzrlkB6D`$vEP;?{~=8x;_pAN zc0|U{kNhWMOJRpwl@{y!k0Ei50Say+)GrIoF(!10sJHH$Xs>(bk&u2%Ek6I6Rv>>q zGjnl=I&FlGQ%@HmTz9^ylEJ-9sbcZz5s+N*mD!Xzk?&Q8{-E%4f!h`4B)wk zauLM*oX$4GP9MSw?OU$<1Pdp#hxKcRKE&ocZ*X0O zQ(}!3U@fNMnQeTOrb?2%k{)sofJH?Ghllwd^YqvLh?lWbk@9Q) zvjusgDpHY)Tmt1Us)it7ndD*&$d4+WFJ5d6kBA%?)ovLY=2Uvj!<{={WR-m*c?JXM z9MB{D_2X84F(ka?@@p!uv2{IeVW&5pS@B=Q)x44YmE&qa9DN{kbjCU~29Jo?^`T(u zB{%o?Vq1eZ=J1FK3?IZm#Cgq`(nJ>_MJ5Cd)?3&6-os%H1v2ZzigEc(lm2n^*C<@^ zNQH2d#fuimJ;6j#;HM$k=i{B{cVQQVn{R>L-_0zd#ruE#%8ya;6Rq#uh|C^|- z?r`K|3o#SeCpxl(`5*U4Vw&!da2fo`AluRDZg3IBdr;pioL!)R4Kd&fCmvo7;FTz&z_x} zFCBi*SpRXCo|+mY9FHjE<28eSLSl;QxcSS4C4iik8=k5C{#nj~ZVvnSo^k>Y45PT#CM$grF~H6X7I;_(5m&8I03O zB?#|t1?r}4w2?Z=^)GHzNbVsJrEw)-SKZs+{)h}T49pj)?>ryLaW=e$BldcG;Pr?4 zR7j4sgoPo935-wc1#^A<((0vC^=YKpa1Xqh>Umm=HOmbDx%O`IuKN|21%S(A%TS(t z9pl!+nTixOR0UqmN2?W-VG}g!*{gYHLm+E;?I^@mjj65SWrtBp~GXqRmn2v z?5od7&tUqZEiPM9&U(&0qw{k}s;f1gT8D9qt#&Jwu4m)@tW7tgV@(B_UxhRBJMRMH zg^|Q|XQ&Kc*XEIR8k&*GkqH8hrJEIw%sd;!gvP4aNFPbx6xqt#-aJD%yN6$}x=inR?d94U(SxZb?_b9PXgS%PCtfpM@L{_ ztiF*QlfSvmlAAEx+}rG)B8rKM5b=(6qQ`)N0*rVH!7X647(+I>4r0i3`hOcPCnp@~ z+5bVTlT&?6-m5%w_$G|K3_WQATVV7C?Epd@nw#eZqj?Fu0gp|JZbFxtkJ<(XZyd`XLLr zauwXqcdit@t{!xz-K!kC9l_r;#}_A3I99Mnf~c0&LoZChXd^=-bmHxj{iVsVkR!%r zDuy4VDjzp#9e-~{-rQ$KdVHJc?|bv*2gG`|ZNN+jk_NT@Cqf5mYs&Qabkc_*slk2O z=zW&-=Gl+%qKs60l(I%;*|g)7N7m%Q?X^m9IkKPepF(YC!#>Mfa&7Uw*)sF~vu)Rt z39U!mGn>1usChn0fn;u;vFgt65-_J!w@^Y=gd!kZ*dU$In3ja*$5U zloc3IPpEM~>~#~4%b9@A1q`p{uifQHkO86GbwR$N`(-ye78d&f3+H)TsvOSfgy*}B zZwf8mlS=LLs5))?_S~cM^K`quk?g9T$3IUl#-X91vz2-Jsft}Xis8(~eB$uJKp@*p zg~?)xdwJI)>kFwH{#ft_4U>=itQXDCXvfAByKQkxT;Zs^O*|ANpRShiZ7Wn1oO0$< z9$Sf~GFR4fg1&qH_ZJ>~V|948B5IA=jKiN7mW?v+ry1z#r=`+226kisb+9`@-r@M{ zBP3**iCc8C%)@ZRs9(fIrBr>MmzxqV0ukqC@hW~_JAzu!kWW zEqtt-a&@lR8=ag*G0RVfM9lIfO>NZynw0m!m-=|HlwMkVfa5zll`p0ymDo?Iwwxj+!ZgnV+91JLMf{u+N<@J4~y?X^v1s#agg9 zfuHRhB?E}C1);jHf4s(Mor?F+c&|dYM6&zqfKsS)W?*zI8&ko*<}Ct+tq_(lbLyZy zd{;$s{Cb{hj3A+2krK!v>awjCK@Wa=yB5%b0?Q~inLTQLH*FGakL2#U*K`NB@s)(G zUmClRpu~%@W5Vu55U_@w*tz-j7PIVg%drd?3^}{F+y8+HPAv0`tuT+c z$(5LwPa6SF?Cq-zo3v0bt_X5?RKQ+cUtjk7U{ai@zq$tdu-~cBy+BXJfe+Rl=*^gS zP_Fl-^vL`Myy^97C$>F6C5tg+t>E3EL7Y#bg0h`$Lo*Mu)zA+(EnYXhr)T8HEsr|$ zcw4|d;GEi{%kQF5g1K$?5*gXgqD~C`-Q^0#$D@R-)*>Bxj8$UclZR9<>P$`+-ycgO zAVp@ORVD1^8(g~v!DT-ybpMasjUFSEtm$UfH=>i|v6HDp@{XD>NfyifyH|y6i}$h4G?ns>KC zej9GL*(C}f1Zw9n{oRRu&y_EXf+HZ()~$>@UWPB*_@1F1d(p%2s91BRx=Xxiuk`B? zT=(7e9O1SkP%thbqPr5jxbALz&ibKw!M*9+dEeo7OGlZ%B)C_BY~0pO_PP;7E5qSR zLz4)U2rE^&W!2~9sUR0h_KM3{Jwo|oN-5;7iELIpjtpf+fFN~+n_KpTQyXgUC3(~4 zfsHDJ`dR05s$`JOWbM2jwJ>7kocSKOpG94(gI+~CUg=J>L~VIrG0ua30T+!OU#_s& zMp(0nj-tM*McR6~e?Kb5n0348y^A$+r8<3sTRk37N}eb89z1AVG=MAX%;tMRMisQtutx=-IUbU)1_kWlM4~&-6nm)itH0fjE}bQWE^a; zbW`-H6O?Gc|Jjdb7h_9+4O|R1H7iv%IQB6})Zo9mR8n z{Ma$`^O?}km*cr3-}_bHTILw#eHpZ^<)+A`FcoKVfPaSiaKg6tnvfamB^ofF@>U`O z6t2&o@SZ@D7|lw|2kp$ba2fJWQ2NjmZJOjq)dM4BXT9m z%$?v!hrdf7(I2+mGuQn3d9cOj#3DwlvK|ma;@aG}q zn^>j0hakX0U_cagWi=>a?fxvdnxEoA)GK{?s+=To$^7`CE5B6{NL^<7cN>IiGfFM3 zd8pSphF^sTWgZNzjOw2%O$e@UFec?s@1G78+!_$1-JzQB06rt!*5=0|9uFiWH!c zk$jSiOltB2Z#r)ntorN?bKvAq5-JmzesIu&Rv}ty_ zxP7}?F@HMF75XV9Iq*DT_!Io&~zKA;GYp#rJto; ze{C?BexLO1p9>*zSP!3H2=XlGS*7!&A-!hRJ8g7qND85rq)%I=&$OzwuO$Vd-Llx* zRcN671zAqu8W^4W^#O!xi}0Hz4L2rhQ+I!>rK@xtLge>U59k6Ol2Z#%!opTYbb|Nm ziSDZx+xe8MPoX`1$GD2!e;N~A*H^AWLs59Gx;WgA@)pPI{GJ+73kQ54CGc!IZ}7S$ zNubv{Xw9^x5{mpF*wY(TPQ4f|R?rLiQRc(vQ)VmpLN1A*Nj2T+1>@>Vp|&($N7b|y z+!F1`sPUF}s$b?2%E~>XV@bb4L4`#}NJ?2fKVN+Egr6Zsbs#S(;VEnS82(oCGRKZEXeeE8w}c%ugzy#t1YEYp{T94_L5v9tKI@IG z0LXRLQ4s)I5FH=!q8`v3e~RNXn**x}W3v!RXU0w_XlLfxEGMNG`|&pImtOJ*a-3pp zP$~wI+OV2;vBw_%?4m-lKe~pUfwOj3){Jhs^DwtI$Ep6Zy}2E|fAN+_A$`v%7j(RE zsX<~vr$6SIq<>R|DB=5K7bhC@?wQcOrti#SQ+wKpb5%mCemQP1r3e{qnS%H;kQDV~ zy#C&ZE&AU1h0g~;fE6}4Y~r{c`=prt26a0dPyUIF`)4o$cYo}5dspFz!M>W(dE*8? z7zeF-BmA-7HL9UuK{-jjXm-cVP}yJrkcD*_UbM+h2*?ySR=Q}9OfD^v%dcR*uU$vY z5*KfxZWX%-ppo&4IQu28l4Uuk;0q<3s~AB=Pj5=sRG^RjyGC}~iwXW&3PGx(mJX5# zdY1C*Y`JsoK`P&qjTQrDw!+#*6n{3t0k!nDB3A7`Aq@@c4vOVVN4g+ZlE(DFp?uo* zfK7fVuE`{Umu%%NhjOACI?Tk>#9N`GH|(m?Hz~O~5emC=F5{}djNkak1-X08kEiCd zk6w1GJ1=A0CL^1IXTDl&ZZtg^o(WN_&RgOoN0OMKob!9jo-w00Ur%=S-(qV1ws zV!|VroBPOB73|5i!@x}>8Y&83MG?We1AB%EbwyPk9w#=0zUr?V;w_g)GHblg#b%G6 z+9#(0zqd@TKu-U(3@2BQ*L-*PLJz3m^bgm389Sk3@*~N4jvG*=S;FlHe1Hc;EMwgf zjOxn>se1E_d^0}qs?}MQWU4e12d=nD5L^*>T}-0voMFm3aT6I1wO8)#PIdF*dB=qP z7MjJO)J!vRrb!YDAcdM{T0Utm9qa$LY7`&0|3kK{+(!IRpIR@CbINM9>73qdHZo(F z1l(ZGC}sK?Nvs!0r7&=fjJMVnm-kfRpsLa|{WhZ}Pb_rR6Uk#>i*Kx>)9uHisQDWm zCyu@LjhLuT;@f%!k*LXCR=>*PjO~#3i9U=8>=;T>@k$@3`@~rACOGir+_}}4ow?(D zU?t6(ovc6q#11=kvZ$W8C~aG+Tn>r0&o8%lYqbb42}%9(0lOtSM3X=hV0UD?m7kKn zg(&e{GF1aeSlYw7aI#E^Qm5(2px(;DaVWXQ7w1RytPQ5+?E-A$n)~dbYO3as#$@Gn zjY3{5#mZqO_d)8PnDJS{;^OC&vDFBs(SR^(v_o)L6)QEm%iCI~QT0Q`a{brtPxFiS zgyXjLUUGd4Y}%oz=PqtnfQ|06%k}0{MsjpgC#11^wPP%Z#+xz0=zwkQtlc~6!2wQZ zGUeTOxOwsA#eJttP`lfo0QauT0cG`ik6QQUH3JS{{_Ab)c6BMB&FkaRHG+#vN&{y% zpEBQr`FUaxtK6n~+ce_%Comjbd;6uGHz^K>U9p+f+p2g!bkTORY144Z-NXW0`r{oF z^Hy8ZknEPOZ(dmrDm3&`{~HYp9(huM=aHW-DBSe!#z*pxIQpct<{hYGqdviM`iYdy zw1ZKYJdxlo*C^YRAjPEmt2_X!At7#sx9jn^p?J1l<*lKLbgTyTD{ApnTFYD^OLj^j zQ_)hI+m}>=J#71orA)Uiz>7aJqggX~5FULvk z9|oyFj(9gYJeV1nTiNu-%S@m2`~AVAA@z#<`c?e9@o;@>Q5gbFbebe!y@98M(|aVw zwAM(bhdUHcUMWV*O5fuB*siS`Q}2rbH}`i+h+^eXpq*=Qen1p_Je%IRjO%2H_4kJq zQltft0<`qF{RRVjGakGh(C&5~61tsC$FvE{NgRG@Qv(2Dn4G<-0Plh8-Q7LQlgBxT z+GM^2P}Wzh=WPOE5e1B5=wAn5#`C!qVCJ;=vW^`yu1&U$Ju(NygCl6#>&y8RSdCfn ztMaocg(VZLK6e36&#`yQ@S$WKGiKsG>HCg%U@IP&b0i6LPG?Ovy zQ{ZeIEM3)bX9zUu1t>gT!vY*Dr@dVdnNs zA7-rs28{deW0kxwrjPB!Nq5_RhoHu^Y@dKtrKzZ*5p}1ayr)MzLhWXexI~92OZkQ&icRHA`Bh95a1wXWU9q15iQxD^0>TXg1$5JfnQx_C z7$n{Ie-LYf1Tq1EVHf^yuZtb7R~(+!zFngYT-WbZ@8A>VbvkkV{%Cq1iUI83{<`0& zjOQo+h>PIYl+-9w{(bZ5)nCcQv<#kMF^}u-7up=26BCy)v3hx)U#}LE_A05hy^iAX@xo+servLKOBvct%zGQ7Zj>7lOuA+*=z)6Y%AdqI$XPF0Ku@SrG7p}6gu zbF7lNh8J9nOTlFDJHK33CswO<=c)3kpU8MrYY0DQ_-n1$eDC(qgF7dSV%SMSWvQ>= z4S~kzC5r}-tJ})XdewR@k8__4iR?6=qr*H$w8H|;>E~^zeB_RV^i=!H8IR0l4x`UJ zG*7(cHDf-2|BuQ39ziTk7?9fdDba(-MM$ zDv*qfmJ+Z1{`RWZMy*sM8fqVMq)QhJxsvEG{`Au%W-{?hc3l%{vc@jkjXS{p)LRV6 zZM9oqA){{l4(I)tF|Ze+r)#Mr>sz(+zCnoqpHH#p09z`NE8oMpU8ep%o7Sgx<`JW2 zV2cY>XSt-jhMI&M?F-h!KaJuK2}PWBGL@HgmiWNm81$eFUtvbKC;eaQkR&ovbVTu)t55%v5TY|PB)sjg-HpjP%VHJ6f*62-)T0|R*H!}K*PHP~VMG`Acu~#nr)o)jN=x&Gwq0*^XDLj3&}y^Kq&Tg9SeNLw zBZ_pEt(z9&G?uTgMS)jI%JXj68l~KZI~&VVx*pE+Y(Zk4HgbR;olZS3CkLtlBUuO} zPdYs9kJHJK-BQnjhZFTV|Jl}vgmqvsXZ4u=`87WxDr#4R9Y2#PRa3Mb6!{)Hy;e1h z-Q$g%v8jnHt@*~!KAZg(-DWN*@Psliv+Em!?svG~D}8k+gvmkNe=2+5l8$2PsP|hc zPw8pAXfU)jDJT>QjE7a2+FQ{g5P#FS=mBsI#{aJOjOH#$Y3O|(KPMPh21)!pTioI) zYgCjfrYpYs10s*N79#uWoP@CpMOAI7eJ@tEk`fd59XLKV18s84)qH)0>rczV?g_)9 z*TucOGfXD%Dxroy%c9il4QiL~({~oEzn;>+d`a{)fcDZ|iYlC;{k}PD^c|qxom*gh zI>_|B8>##-{g;GgIM}JZjRTowRJlAN7r%4ay#f3TFc*9Z>U_ycbUNoA+&n2m7!5RY zPVd>8_?j`w<%E@_*Me1vkGU>$+uAUI+YH#b;L#E};f+A9+rmU(v@0>Y0l``CSGxo+paAg+)-C zR16>qJ;?-ksXaw~oOv}$RBJfvpA7RvIy>LUPrYP)?Kl`SK3*y%C&vI+!udqIm>My( zS=0gcUlw9|cBEY|yFR6)M1C6mqyZxqZuOT7Fm4L6Fec+`cMdr~20adb^6ta@%u@zA z5(tVRg9gHvn1ky$tdW$jST3EYU^v)Lz(;nCk=alp#1!t%7v?wu7g)G$NWXZhW#?P zwU)Sa=x`K`F_; z0gy`24=c=``JFTQ1vD-PcXSBfUAEuq_rMAlcxJrbtTZ@a%gM__(P?4~E))Yp$Ctcw zUb>@CGg&9#Wh?haM&`8n&A$0%Yilj^=P?YRjU+jnw8KnKjdJC8f`8_GNNjFtEu#O9 zOi3xOpoSF0zYa-$98Inj0+Gugnz`h(-|rR=OryUK4|N@FXI?g!lEGgejOc}PXkN8d z5$;lWJBWyn=hijhfN?n!l+Nd2ancZPG;|YhjSc|99F0gQvnQYs8}!n>^QsXhJ%<2mRX?dlM`Zbs-Y-s&20Mirh42YhGRIl}i1g1}eKl*s5pM-dJYcL3q^Ji@ z^WY&zbba|L38OVjKV$l3lQ_G;%}pd89^Mo7Z!sW-wM6Tfkwgn!VQ{9&`4me%M&D2H zl*7z!b?~@F1FDs05aoc^#zRBmnx?P2y4XJr_#ZI}0C?=3YdcY002D-6Q}uO**Y2!F z^A7D;+}6Tw1Z|Vb!6_FYoowsP2W@96O07$n;8p460#d=b4h%0k%4GxKd{P<_j)CD5V^LHl+M`vb&K~-#QoG(_i z;UN9=1u>AhWrF`X;ozKu<0dcF0?LeM`NhBf_v!c8XaAW=O^EUSjneOXu-Wv4&ezh3n8``f_(_y{j!pE9`r>-b;) zhT#xSC^_H>@+`C)3IdOe7^qEclsoti>|LNu0;PQDtg)ne5*$!}zbl^1ZE6Pwa+8)W zsLW8(wDClyf4`&eD`Oz}sCMW-lx*{;9-#5NCc0r1fUI0x>4|7-(-WG&?HwF+bsnSU z))!2#AA`C2`&j@@un-TE7R z{*neRt)N3K)0+kk+NTWx3JTDnUeb#OB{i6XDIgX(Ik|O%;@<92rDetU zE+rLJ)IO;5DX1WGQE<%%1UsD^7TiKXEM|+`AMyl@Z2RZAj>0-kMqbu*T1^DTDHF{$7BP2J@9j{pwkO2j*tyV}x*hJW2F>#HzQ$ zsWPD40{5_>JJB@L(mB309Av%&LSRX7x+|r(=KFRxEXL#PhS>XR*LOl~(x_pN9W|6V z9+16%k1S`M`_3j^Hr|QAIukd&vd9DzpwmmhOu!%^fdk=u$hdaf!y^IK6%VfO?9qXV z!A#}f%j!)J^7gAbkA66q&<1I9&@tg5OFFwaXV-m0t%D*2Lu|&(M#MZ;2q-*e&0owu zPR5vjvvYOzHi3Y7jhL%EHTc%qkbrSMpI-<@7V_w z&S}+Y5CvTOO7p;LlZQ6GOzbtNT|AH+$J#4Nmwh}S0_g$}7;OPR=-p%skWO>jJc1bV z3^WclayGPn%He5^vvG5hs=%Y0n1I*&ZQ?r@TF33piuZr_rO&tt6GRp6a zd~jh>dT7pg+ESrQ%b{n?4-x{M>f_=b)DOfhpv3`#5^<)8Q|nG zwO5W%%p5R+p4P7I>h)SpB_u84j99?kvBzgBpOVbnzOoakfU%QBb|8Adqx+ib`QJB> zB7W)-K-W7Hj5nb&1q}g37?e)r z2K79E9Vua`v{sQk(`{jACFNrSeeMYjw3^_$j!a52HmkwpOgYp`MEY zcmWt#h`O0^5urlOeT4ye)GsN&MA$tA&p#bgA}bM{I}!{hbOJR}38R!6c^q(QMmfeRokoB>UZUOFKxH2Y???OJPwP zwZ||RgW-g|vQ6&(=<3F2p!~47y3qqqN7uu}07#yr<~%zPk%AT<;@|X*w?w_xc_BvS zVKkm0U4Y4HLS*PVn46N4Dyy~#8v^)vpO^isfxBAguigf)dlH}wKGJ0p@B9_w8?Hy@x*n7_=Cz;LFncg1f2vsTJL_V6hYuo{I(JxMze9- zihnA87>)I1Q*jw#8lFzDX`$od{v6BryU8Qoy_B}x;pII|e7wd2n-8!-0S*r^BK{(F z!mCj)?>2=5L&|cU`VQ>e%wpX6Ua~IiKT^lx>-pTFNFOcW1~~&-NKhVkT5?@{Ui|fe zf?js}GGEeN)>kaQn`s66{ogh*`cD2*Z{eYycDA#CT;HqO{3e`b@0%b%Fr$tWp>}dD z&0rL0d)RpHyx&w%D_32`)-%r#RSLumf@S?+Dh{l7G5z#fZF`fB+P#NfoVx0`v@Y8` zFX8-d!df!BGiX_dGGo8B0sD5omz=vLaOk~B&OJz6K6t#50yJdcMgcOUcEDxRt&+HSZxm^zEUrWZ;~OgR z#rh6!(@MoW6!%XHaY>123!yd4wcdH0I9Td9i^3@{CpFpqx~9}x z%3Cyz^6&*AZqOo=APR)rVTT>A1RCP6bL%R~=muvqX*u+@g$DDmzrJkwL)nnW<6m<5 z^JN*pJ^dft^3PdO(0@;*TpNvG_tX6asN-S)OadS?d+DuZt>!5>b^5jHP!PpRMcsg^ z)M?x7(%IzFZ4)6?+@>f+Sd1}FgfWqVv&X4wsKxs9b5ZWU!SaM+nC%-K0#{sBXILMJ&waDiO(UO zo@W18KW(i|b!pI{!Pcz5`?BRRbE&sXfRFnZXm-UYHLJSEQ|NnZy`n|&G z*fnNu{OA|kFZ7(`hu(S6Jh$9kA^~WA^2~*ssL)e6s$B2^RnPl33P7%Je2|0Y*Mf$B zp&8+B;1s(0we+Kya6=1QY9ay$As_=Q<>jYmNS*A@!@8eoZS&A>InHv=lIF0!f9j_G zIbxSE^^}av1B8p}iNUG+CHje*6S8d+^LC}n09-uYt5t9<)!5|Y9 zKHoP^N^WQDW4Hrs?yV2~Yjr@l#4EWcBqj|REIHR0BYjChane_=EAl5-8a!%=1$4^l z#%lNM&pR9zq{BL=(o@0Zch%J1YmII99QJv%6)EVXPJL>UhPrL9+)Xx1`MB1{W7>kd z4f=b>)jqSi4VNJ2OHanUXHy#GQIB0;C_taJ@{I4adhH!QcVh|BTwuCgQH|0Rc z$(KYL`aV#fx@t=9g~j0Jpav8zZ`50NgE+mwge_H2_2zFi<9FB-uN*2y>}(&}_fL!+ zkhi$AJGH*n`147^O$Lt+14V1ok2eVIbp?K*zwbQMb*3TPM z&)z*Cn;iVuSh{eqvf4Wt^Sj5CfAA&%6l zH9`KY&z7siPjXj1!T_NPU>p6$8R@QymjM97kw?D)jw5v1rqGkQNY;qCx8aQpxRW#H zTCt_jh@L|#B~Ly9ejN-PEU;zmu&vI{E`tJ!tX$u_kB-wh!3G!x>px_N^=cp?ToGe= z`=Tx$D7<{lStMc>(Yw?tLass|>W=3=4k_4(15P*XD{lzMd;x-~c90RTId}3qm1*!B zz5TzJEoWBx0q{CTT5AXigc7Iz?|dBlLN@s6@x1=U`77_^0<8fw&{jG)ROa4ns5UeZz4?o0L%Lae3o%?MVifNG}L%1R$hXw_%<8B&z&d1suD? z1b(7%qr^njuzEHp*1p!5`HUrGVL0&d9ww*?m0xpP*^YQCU99)Niic9K^u%9!JR!DT zYE&F_KQf=pE~!b&75Ml1jA30%z@!-&=04Q|S^AqVK@|bCluvTXV5=vB%F|0h&Y!~k z!z(PrlI0f3yL*stQK8<7`&C9x2E&evt1f!Kac-Wk#}O~QNYi)(Ul0Ft*c&zfrlK|v z&E@5#CEZh3W7%NJ#H3_tj=L18|z&8mW z&@>)=3k?B?QBG+sG!#^|Q8xdpo6|Qq*c(Paqoc~Mib`VtUMqWcSj69b-Kl?+*KK%@(}Om30hK(zy>K6=X2EH=FSd^m~z=~QdH9B-P*P&w8FCM z@9RfxP8UP>F2~`fWmv>!FDbVb)>}R?;UGc{m0Db@e9ctcF=SQ$;odJ-tHY~d+WF{Q z!uz(@7YLCsGRs>_brzNZqiMo&q?Z!Zb{GXw*n0DyNn^TK?XP`g!5)e!l!@avk`x!6 zgfP{%)Z}!gpKb%St)Pd+=4r+YzMc67%e5Ac}BBj7ziz$ z2TXd|xK%1uF-}B1Q+iwERKleJ=?IYM7*@L9F$|X0yz#OM9l8BC>j9y8QSiX1z$~A_ zlvx-Ewe8PW5WtML{1B)#ydM(Ffd*TsjFZRZ06F@>{h8Xxvbe*TPx<53)z$i#k6I&) zjbY$4=hYETE|7WwCdWUcZx@xJiV-tTt&_6{qqXDNvnn6k`t{jE!`Z0I1b}HwLV=NK z<~#wi&-GR{X%Fw3bo`6?%vs*mhaA;VL!j<}_)qnzst-;jvlKQk9MN=KCE|e63u1rw z{nbLF4)?*mW~yc{>~qXGOzw^+2=VEVgX$H!9|ymz7aR=qFAw$?Qvvy9mWmFCg8AL1 z6JL~MRNbX3Af!Ve0IT@i?%vkV86K|5&d%PM#RUXR>mp-fNerf7ltTd;$Uw3zfP_ng z^m2Qy!0_@qC-K=uyFadEku9`pzzBnWz`v~?mz=!woz;Z7g>CQRyacz)2EDB06{Hfm zc&hwlZuz7T{>!2t3aFmf@EjsYHi4u zA4}-C2tcyxsz`>07=Sxog=Q&WFcI~GhlxwY-5Vv#ms2*{hZlG_5!g@ULX;UW7CYS$ zp(6RhFAjKQH@CN|_A_HMqmemXFVgtEHA@hPv0g+9+`5Vs{Vqcy2Bwhca?F4t3W0!k zZg4BWYlVXz47ybVg$N)J+HdW6R0?1t!h+FGKtsa}#%+WwWB-rZpZ9eNj?yorkK(&H znIXtuul+HH1P*nU( zboy`1b0?faZK&iPVMU9z+8PA6WGef>0a|C>mMi~jy8eX)q8OXYwi?3FOHvUrISQCg zKwpWlKQ_fMX61p14DP}B|9i}hj{AZj5Zn%{!yIO&JKbxn{Pc`L+KjkAML{z}uc6`( z%9RP#3Do9ti``f1wGLEZGK?UCKAN}RRn%?PS|=kb_oSExEgq?p7rjOu9`PZl|6T`? zalg}3iMjdaS$-(Wkv+pU*cAhQ!1d&ETL@;TLN2g&_z-vqQow<9Pw*I%=tblcJPpPr z23HJzW6y$vKdkHoV1lVVSj;C5@B-YNe-hoGl-X zhRT9GZU8XXHVsS!Kc{8}ZR^dhU!8scWYCv> zr{3ytB|E<^u1hwbvR`}YaMoshnt@{>%iaTP3bGjlbOa(QCQ<5j#!YN#KujxZia7`P zSnX8#=B=!eG{0gfUUn%~Sd%|fh5{Y|7`GXVwxkE+tigaD?K@9Euh;m6;_u^6pwd+H zL$xgWT?sN*&}`I!tQhZ{%g)Ydc6mJ-#^=?r={^d6e(RpwWLZ;oE{@#hYQobw7|J|K z(IblQ+?w}&z7x}2UB;~BY;?px0~^~um5`tc+SE}ycF|l_K&i*6TvzuV0Wp_FmG~c) z1Oe6vJ_QCoess@Q@yviJ#f!Ji#7)ui&U;OxX3S*t{6rw)Ff2Me<6ZNx>QEGexuxX? zuoSkssG_2x)On=PPjE4S5dop-NjbSOVGQ$48CZq>>(~h|fKS)B?f#Fkz!*Kp__JZh zHmbi56>)J&*#G0F5C1Lm6;aUEbeIAi*58^h-0;Kyw)2<&mNW3b)r9H4Z7CYIN>pd@K}MWjk7zhxV04;OFKUnCN$)s|8cdwe`))Yzw+>MfBAtyTKWhY(ssW^_ci}(1>2Bee{^QY<4ybhF~r|( z$rq{peyBWi$LJz4zqA!lS^S_NpEBDaes?=p@7vIZ7#OZIAGRN1^YYLH9x_r=KH9ZE z#M)fJw4#y}i=$JLlKtfZuz8VOevPzhhk5LO{NuNJvI^WC{r=cJGO5z*4NH;}Km+XT zf{+UuVwjVAdX}9zLo3d1B>VP5wQf0XH5ND#NesLauV2%h9+fYJg84C+<)Pl42(Ud5 zb1#YQ0RxzaGrx!D>>OOs_NGbZ>;%C7*l-guga1sO>YtnM#w0n`|17lqmQQ(l0s@I9 z5e)wR{Y~8+R)gyyFQD~6%p_GMOsGJrsYy5bsX7$`v4E>AGUrHoYS80$=Hu~WW@~e_ z?cTvUr3C2PW?VNN*Y#U&KC4^dI8sA3V#C}!N&=hI3s1v9=F)#Q&;fAP}Zq;}}IuJHCE?10@c`j+@iB zj<;uC>p!GDyOSj7q|I2TD!Q2}E@d58l23QG!=#dk*64kJmXMIp+Ik!<7L%0p=3))6 z{@-2;afOuwQxxsT|2z^65HT||=ICgW*SE0#PcIfK63K6TGIl%O7Www=8vB>wM5JVIIh^XJtoGqe5hpx=Xo_YT)bmjf8T#c$^@{uwzrah-kV z>3V(Duv;q?e6OCyIHTL&bw!=_TVKJZS)y;y)}vS_DSz7X@6x&ykFAxnva&jNx*V0R zCFBEH84}oogG`x9HtCID{;KcU5PuL$%hf7CM|T5ioUMIKOiZo+{H;evN6B_>UT@C` zJ$rDEfJNg@M+h;o_x07Khp_iPfw;K%8+&`{n64OynPyHnp4HXe)Wn4DLX?%2!ex6} z+*1NoS5NOnk*!{as@2ls;_mK%iT{TW610)cv$HrAmZMUC2Qy;4Q$W{tbad3X^{uFA z;4F22Rjc0B9{Df?O^hraKK=~^=c7lyF)`|eogc%(I{X50@$TJ2Wy$-Tt&;JGSwH}} zyUolp-5RS!tRJtCE@;f&SSE&4UL7 zDmetUg@tb%9MlEQcsShDnPV1D9XOB-OIR2c2j>W0kqp>hJ`ip&V2+{X;=;4Hx0evS z;>P}>qt*Od&1u$WdpY3UyD=!BOE6hksb#-F;jtR+x6DD|iipvvA-H?@9ej!CVn!5A zKFw-=p|WmU?+it^P zL}xuRNOXT5qtyMS`74buT(`pX>(`s2O&k|KzW9XY0_)#al<{mlJcIz*FvHwW%X137 zFSv2Vj`v%;<3yjy%S&~9B;42C{=-w0TPp?|soG(ceHIN(fQR37$ie6mvAVW6j{ zefaQUCl59*ZfA1c@m)&FFqI71G_xMEH@RBM7T&dP2Sl^=URZK+a@94ptur$UOU@?Z zE5H8yA^86Nft6Y#b6(b;h*aX8*@m_}&Boos1HXV8fu!W*g~i1rs}zlqOq|=dTiRqI z?h+DW*Oi(sEUu$!630nc1un<&Zt-(PcBOXL#qC@Qg`<` zE)@+YC&t;?*&8RP_lbFVU1u^g4KcDA)lM6{V02dQnj|yuKF#>CoB=!I?c36RY1DUX zYvutvCUD?Q>F+3xI(&S5`-2rWIN-FUwH39HojqH3f)Y;pAe$S4cyV%e+A=mqOiG%7 zT(I!5bkDtWyXd%jpC^__Cnbe$jM>rfKe)NFvI4LBb2Obu{NxkhX$@w@ycVs>`c^=KOF`Sa(DR#qWrhZ{@{S0(oL)lLUQt#q`dM>205Bw-pc zzc-|9r!=`PgfS?kw!)Si$@74d6}klf@|iFG9eTZsyDK9h(HiKXb4x=*gA)#$iHyX1 z^yrb}7ry-=_Mu8owrpoF{UI;!uG;z|ykL?yy;+4b?lj!2@(V69R{|gDt|`<{W>WNo zcnV$7a7jOW>VM&QQFw!1kp#Dhn4{Rdgu&BOf7#V8{R1|q!w<)puRF1DSlza`|dg@$0&uSSHC@%(1)|CT;*dR_?Cw-J$IqZ#d( z&S%dRI==91yxBal|DM5A`0JHU=A9oA)aZ{N_mH!~Ik{RTmOR_tHkmO!y@jkRy$NB= zF)Vqk?YNYpz6yy|G`zgLo!3I@`9WMJ(rLEIg4!81fQ49f8t?Jh&ic#KtDZE$N;27R zzfFd&ZaZBcKq=(B7*JI;__0x8LnEHwULqVPqw=pP4Gkjkdh(-?%Qh`U^3K(o+G@ku z`WlHqg*;iI)YSW_+h%=V-j5b&FB~TF#S2(DhYM#H6-Bi8p?z~HN*xhR8(Th}tzYJ# z5OxHkoW-K6=UAHGt2;BcTDvAnt((Rhi@2&ehXpBK&qjBQO;c7*;_CA>1AjWj$DPagM~|JtfT zv2WU6oF@4q&rD%tOs?CViEjesCl)aWcp=q;LPNVE4Lpv|Nd3^Ue>+KqRXQ2M1HIQr zgk-J~9v>?Oq{_vz21j*9FkfzN_FixB*>QRt>AE&~=BU?1>6~UV7j@00;&)!Xuc+W* zH>g2X>dOeax_g(1YArs|WF^!B21&eesH(K|7`DWJ2L3G5@$aBkqxEgbWTq7;Dk_{l z3$#f>F8XQmkoH=4n!-jHua~oC4I1APhEt2Z$0TH)-vLjy zQcQuHP-!#wzTx}`3pafEaC71Y-3MG%(!1S_Rme|nXX5kJ)s^4-+N55Be5tCW>6^|N zdrivR9zFvIW~c!dm`Oj9@xG4BtG2T;CZF^~7;ZpMwh+Xc;#B`pN3xAf)7~db$*qm%Y&(Thb%8VYN z42+;?S?Ae!Tka(yEL?2a@#y|nA_9WYzmH$HOik%5c)`9raoC0~*1XK4vJP3fiDfu> znme;EJ|HlHimASDc$fgc^ZI?I%@jt{RHYYsrR`M8(xmfgt2{@X>hu#Gi)>zI*-%HWIcToQS+2cpIjyq0QDS*Wc8BVbJceU} zx60RB&$tKpE)L0FjIbE|+u}pOEZt=mH8C+s0%c)_+$nrmtIiQKUaR784rm7HHJw)AHUAJ;1OmB_*YQ zJR&HxeSGeR(cIMyGRmF7Wfl@)$LjvS+`POW^72?%#e@g2v9LNnrM1C+XUgzt^6FG% zJ<|1sHMX{~(UxNjbMA_vv}Vxc<~LySV{v?M$?dAJFGZxYSzPkXDp(GZP3C82{x9payJP+d>J+<&^@R zlNwFxdbb1KzSYx{J^WD8^Td8UR-H;#%h7BUtBrg^SzTQUA`kYKO#ufUL49Pt`H@Ng zU42>he?&oblvg(IP2W)Pp}tiZG`9*Q$DAwGH6gTMm;}pN=0dIA18tR z-}Vm0&)?8Nzl)OVsq|B$ty=7OZnxaKyHR3s(AO1uZh{KJW$;-I*8ms4(>k|wC>h($ z#APu)K|!*z*L?v}wBnBPcRt`;--5s82ieQjKw27YrN`jivVp2qku-C^0I_Z@)0wU)W>&fz9&X1d2 zF?r9PKUemspK{s8cpuMOpktMU2Kz3YU9Zjr<}jck23GmEOdN3V)L9_x3!Hrj2o zy^2c*O7ilp$aUWKLqXzed!;-nzj{7n()Db^Ij8jr#)AhB{-}ukxDS{U`FV3aT+JOt z6G%xd55CZUj*8mb7@sS#IEbZaF{7~}Sej33i@u^p=r-BknDMwk^gWc@JKEB@@Aa#S z308zgf&PuYhuz$=2e)tEKCzjm9%gw`YGf3Y3OhAw<9)C;)52 zBEuOin0q%oJWMgS*S|ogwOJ#zwYpr@SHS9ujld#eSHa+Yjegp(2>=dWK5^RI!E7;m z{P^)gBZZJRh1k_F7OCartJ5Cx$?|ST<;IUQg=4%kR;r_aYa^biMH8N3thza@($YP? z0c5b_h*AjUl?dMY;8S}ky@^sc1L+0WysrEInBX$ey#u9d$su}$`IVKA5E_Kt|B)OJ zvjbm4Mb&TmQM$~+wbLhH8R4?L&SMQIjEIP6ZLWv|CJ4jphS#euLSq1=CtJt%5=*mf zZ8y?o!rs;Cj1DUr7>HSqSKsEdn~|`#X8jRH9YHx&`OSJFVrXQt!p08}7e>pU>&p|r zE{A>ZQx$Wma_a%wzHZD{#P23rp0LQtUF>(iDYuxxq^GCHz{YAT(5Wi1y>t)rb>q-? zHCZqJ+ghH>l`gZGSky$6Ss@Cvru^^YyF^6c9Vv1H#o{*ta^yhULhi^Hw+mlZpvEw( z-(zki=Fm4h{iy!w*#q;rLcNs64M@tIwih?kRP3GXTh<2Xll_b{H0MYwLpDa@nK|RTe1^|+-sjl4YK3=%>PmwmB07_WTuNMjskC=?wgK>8<{KTA3-Jd;|x1-erqet-~T2u<^qqP*eOQQB; zXD55{id^-D!^K-E!fqe?i#cPGMS&r+XqKT;hKGk^rXPl<^1lZ(iu#i*t-|n1*l1E0 zA^`xTkLr1v=`V*e-BRcoqkeIktgxoNe{A)`F+keNT#JO)W-=6jp7DG$3K?aYK~v+} zbPfJ&gGXS_kQoBe6~_{|2bK5wogs!TB)ErxDr3GYDH(cV%CB8v{eCb*j*gd?Xbj-c z=ZA9ODE+9K)%Vpue&sv>bJ^O?#0XcR6Kswfx>HPo2#>WT2b}1KK)9WDVV(;3it8%E{^Xmp4FQKf zMN3NyzxyV?Gbl*GQoax6;#weJaNA5im^=KO2_X|j|0VWzqu2RY{h8Y0GL{g)_`3Cu zq#L7l@6?z(VpufoPkxH6O{CWi_G){tKhe?AS*YEH397Q2LqXgj7t~tYM0ppPw(jA0 z-6E;m;HsGdu(J<|j>aAI0fQ7R5E&tk&`ssz<9OWv>BqmR%B-0~9muVS|^O&&pfWXp^`N z_V?eVY`jDha^9AZwPa@3YYeq(ywYCYV>f7IzGp=_4h8p3rktFUS}!4PyU{xaUWX6w z-MjZ@ZC7l((Il|n0tW-*?xbz4W#F==_mur)Y^TT7EK9kA)mUM`#N*eP>AM*!OuV*} zp#@WwuVbk3f24aixFbH9y!4-NSefsg$>)`s5p?1-x}a_yB+kjn(P}cHyPB=T?Q5v_ zuT{`Hcb)u~09poeuy&Dw4>TO`(&G>lzYZ&Wz4RmOMWe(ih124_zNeTsZVoFNg9tqlG%S2!78$7+1$jxR!BP&*kMMb{a3?@r8#1%URpVIRrA_ zUnYYKBSVmI@3vyHAlq;UAP9dL)T8YwT-ez9V%Pov!@o%c?7NW&+ugkj`762``;&O4_%uFWp%|44y1KKWZpV*IZrM#O)*#)?ldNjLy# zkYRuG)$Z=@6BT1xR<;7EExtc1kdC#=$5l^i+{(;I1Yg}{R?B`DJ*;-pxZg2qGiASV zw51ynlUkpqP$y5koHxGZZZp)tYnse{9wc>#fAyRDVZJXj?Zpy?iO$p`j~OCTGB@ZkbSG&x5!Zae1{cHwCZd{U;&nRZ&|8kf34@#DmILK zvBzUMj_~PCPA{&EtE(d?VoQps@#*aZtoJEC-anyi)o^QFz10K6tOex)G6)JS8y(1= zuxwooNpCgTsmg)_PcIxQK~~{CXq)Ox5-1}Wy;W9KCOO7Fmu?aD1Bt{Ym9ldn^THsk(JN>&!L(snNG?i2TmKRI{R&Kn&V0&qea z8%2eI>KI*WKX~}if`H)jYR#*h{$EUbxdgFnhXm4rsPD=g9sYE?Qbzf3#!@Kyx-9%H(;V!erLlg-NqHdr&3uG*_XPnrEL__}KD2&YX98KNBzk z>4sV-BfHlT`d(+WY;4$Bim5HdMv@2hit*#A$c0Z%PR^>$Nxi*o+q#p?tkM20;9$>d z%ofPF1h6bBVb^R&e{XTmo!(@@Rv08mjY*Qq{LM?})zm6xxgTm8_fv#@bC z=L{AoU?}=ComjYSr!l0pZ&m@0@b7gABO7rD{Zw34)>fXQ3UchH4MC6n<7S{B0TYz4 z=2a8X3>x+csXoAvwm1w(4Cfrg>|TRbwYIy(_tMScAISrHdLsxa=F{1Djc5B<$&_;V zxKw5{)Q?qF?~n?=xc?IxNW;A$tOIi;GY~@}CG7+fA8SMJy{9%A;)yrV!N{$H?%|QI zU89>ew6wMsw9xjUbzlJRV1)yL_?^s0&0{(GA~A(0CvN{6a*l;9zO`z<#lgW@J3LS- zuB;@=e6c-oz*p;hDk@XV+vM~$I5_x?p3<){inoP-^6l$r1Ox=;mczA5Zx9}=^r%-y zR9KDqu711KO7Oc|vyhgDho_U3)#j;`)K}|?Qmw_BXGT3sD?MMt>2J_0q@dDRIYz^} zfb19y`zVB)g`%6#@Lwl;_}A)(t+%P`$zR17NO%*pEK$Yxa7>Ct}L3pcx7ht zG61dNcXpvPfaKlm?7h3Xl9FWpJ$kVsw zsAj37CBaQs{sTHZR>LoZ9$u)5{oA~qqxQj8uda1k*M6cJL^6}X_S?IAZUJLcin3xciEX~TVd1Lbvkzzn5^pzr|ulF8bd)8=v1`k zCkzov2Y&hT#rR)#Br?pkNCw)^&)@&IIU%`xmOFu~R~k3^GxOJE)&5S8cavwb7KG}s zIGN{)iqchudV3r3%9w|1V_Q@Ax7vPcA^06u@(1T_57((k9=j6&ibcrCbUb8-bUjcv z)(3^nmXf8;`;pIz?XJB;dzbG!14nM`WfC(z(KPT1229QTXAT*Hp%4aReHV^zfE4K) z5O9m=_c=by_`O-pDn-iQ$s$;OAMTvrtrjWZo@aH|{umbGS5m^Y@;fCUmhB5xQ;~KB z9M8NbwaTtnh8F7S8b6V#U?ra{{QTL{%1Q^<(HIxToja|`buLJ)$zhdazLVO0{X4LO z2&8PPo~O~08^a>nyMOk5lQ4bmtD>bPGq5L)3*D?<&3K{Lv7gX-c8qlT`mgWlel{_Qq06{vrli-wk~ zzTW?Sn^_2HRBKh0hoVX-`ElJ~*n@wEhcL1O5;qq2mKb&q57k|j&X1^Nc5-zz=!E8z zL>fek{$vH=kPAvJ(-R;SoJVmqeK4o~%KbOa;0&0*zcn&Lu^Tsb*%0$mh_iDh>VOD7zRp#owRo7CL;W3rglb`6GMJD6^AtyF^ORh}t@7Q*x zHs%wxQnG0JzE>Q(9+AF}V8!Xod4z?gI;oMFW$uW1m&=Z*b1h5mZDva{){#*_PyQBm z0Esm2Ke@2rOn)7bKOX~I=<4#^$vuDi*@Mp!;y8(e%-y(p`b`aQ54-!*{M5sX|DNcf zrwx%%Q%5|u989M_RMAIjeJvMm%zW&pM~OuNfu+DJt38)L_O3Ty+)baxlLKT@Y<#Mc zfzq|V+?}pHk}E;}K;>8I-P0PhMBaSO+7|sG`Y=LN5>tvC>U0$yJRQKSrfE=#B>GG7VY)vM%_S5PPc{!_7m88Tq^Vs-M6T%y4cY6NCINol3j z52zo%klCzPj=%hKQMut1xg8RJo8o`G03%0Bj^i>9nAfikQC6p&8De&#>$@^gbG0iz zP7Y8*QpFQg-kPdV6}r~};zh0J_1^Q7V5QM_mLs_tFV?cPb(FjX!YXaFSKSWis8cmz zZxb+UI?1`119Viyq~vxg^;-f^927bAGt>Lhy>+AMdN#{(=!s2I(;MaNpN(hha>Lom z4NnGBmjdTQrD&CFe|%p{UDZ;wxl!;{tPRSkTNtFLOy;LGqNkU$nVFdqcbUO*0a~8s zS>tAJXOR)7Eg1qJe3|GS-;jVxXA z%89VU#41~?jm2OuRt19Q?F? za9)kKk(Kxinb=r%xCK%HT4qo0PW<>GUA^7aTgUk4S1)DRC<+`z!e8)>F0tW5Hjw&3 zgrfH^JIBoDGk+J96*kIswYG|Vtvi>Uca~+W^K^vwWj< z)AN&;fv>OcaLW07%MG5%H(GJS85{rB%^@KPncKs~c z$}PlU(a4XV4Aj}*xh!WLR@d(G{*=pYGv&qFmZy=EU%F$-aV%0NN9y2g*leN>4^HLLg>ftsb{sd;ch$@pwD)ot9&6WTr=t!GZ~72NV<( zewS_G(ZZ>B_CE5>iF`#)MC0IsN9rpT8)GFl=Q#3-qLM}?S=npZwAZ8>55)?XNU2j_ zWUmg_s4^@Z{u&Y>PjB@0mUt&I@vIC;-EEXQlg@~Ar6%~pSH6s4m|%4*w;Z|mWHfpR z#9rfHgQnUxpR)_*=M8~zymlh#idC;eqx!^?OXKl8X|p~p#Kc0@TWw=nY;^&tDepxw z+6)gWp2)3D?4I({o%ldd<|aN0^WjP-VLYciEm|IuNtfK zud1kYkaey1Dox;Q8xNn?^4rZXnLV30M-Ws9Gc~z=Ee*>89$M%Xzpn%Nk$J44Hw1LX zrK?Ny@j5%PtE4JK-dKK=Rl3v$Hyg2(P=4{0ea(yq*b43!BVjw;$&TwKC@z?Q?-CihYGc&)S{&GJX`_$6A{d4a5%Rj~M&o8;K#E1RjqfXHp9 ziT?zggQX)jR#ro6>(GDy9NXL5X&ygT-S~TFKg{Vgk}CJ7omyIc+FYZTj?q>lmMkys zZybIhAx+;hhYaCVyK-Gq6@k>4m(tQ7IM+D=x@|RHX>6Tm3`V3QXj|zJH6u?(i*)>$ zR5KS^+5&?>t<4>=Dz+aoE4LdXnyGUd+OF%;GbmxPg_s4R3Q2E@P$2jeMhFX@(Lp~~ z`kRaP+Yl5`jf@s7nVp|UUfn^oW~#h=72vK2Ahea9X0^|td7LYqP?}!TvG`-vkES z4hi^0lfKBmwOQ=L^^u+fR&<+gJ|XO`s{BX2IQks=f6SkKbYoSh0L2jAaX`!}rL9ed zEYp(n*|l_ZkiyrI1Yz!NG9KNJ3RS*bwnX66`2_`gNP|s=3XE*?j~|)Oh7&SuM8her z95GAAoxT?S$(UyP>2S);SnJ&;O(EzhwLEtOp8zln{sNi#u_)JuS4p2x)iF^3a-kW5 zAw|D_SA)dn3hXxb`v)tXtO~>!9zMLa+H24}klyM4NR2f3foi>H#;achdX;UWan8DX ziyaHw+c9} zyz{80LXxG-pg_EjxNMID0<>6*m`kAla(7-bTb?OQIPG^NS%UUw{WPntV5?pwLVsFuC_ zCOxOOeF3pGrVu}~aOhzls34H0J75TQLEm&eKVlmk9Ng_2Fgbx@A*fDwqUaUXYS_~T zcfRcId3LQH)R}o)Uy1xsO8U+j*45KP2=wG#NC=j$UJ{7;2GwpGvF2g^Ff0ov!BG-) zL!j{iXC&0s)tz5l3}sMCF<#2-d3yHv4+_h-d${1AtJP^CUKdqryZwOv(?Cnbk4X zbe#(|;QlJxxgP~nRSTQCw;jxS1}C&?dO6NT zk(`2px=x&#i!WwK{Gqo|iigq4^MIZkN~szc{05DlFMm2HB=QcdpCD_fUFuf;}GSdK^*o z8vLB}EKzRzAV3w=-r=Qdsi?P0FO%}PU$pNb{lnazIno5urd z<|@=R77sQcWuK=LKBDtU(a{eG@_|NbqbI)4|0^ag{!(>1J>6uO{dekRigj0J@R#`b zuTKxm_`Mgu7w3N{C@7G4n3Z#w_R)mtP;RsuZ3y`hq-?T#WHUSF4U>AFg{;_!n$WX*SMMO5b4B`MX`nh{5=J%oJc+yt{pPI*Otl^4 zY^1!Tnx%+^-3gwodN3$H*{+k<(bhKJ{rY}wDvPf-MI=x%FrxWBDu@o_DPJ4-40$v?(GPZYg7`3)PN0w>8puw?SQ8u`E-c?|4r9O!H zG~gn8MM=gaNDuvL%xQgGd25Xiz2-0!%WwS9Tb!BM?UBbpv&ZrF5^#7D5lf_+35^?X zKpRFp0eg>Hp?X2@oX4@z>BksEY39x2oiTLy?!GWWyD6K_%HntHD359?mP(z#A5*Dfqp!6wLd}89#Lb^=#zERKEWQCOxSRiEgXFALIwvXrhdl(#|Qb~nPd?@Lx z^>gG$nAJZ@CH$wHd+9}?qM~AGZ0tMR;Qhmevax6H&9k_&7SXH?4HApzzaP~zmh-i* z@p*QE9Sd1>k&}}&Ha2cFGa%NOW&F9%Q?zx~Dt}zNO?Qv*>GkQmvWwcD47s?jv64Sn zTm8i^hCl0Y$R@zQWcaWY>D4*6N}OmG>Ptp!&ma(*V)+}I>F$TZB0Mn+Vz-!RX&)KP z&HVg{p%EJ!6c!@+>>1-G645As&VhnJ7DLf(2|LDV`ENci&Qn^&DP zvJz`MSK|kM(`ZIzR0!`kKONG1SMQD`qwF3ZC!rMd48fsn?C6k-D={B1ZvWA-FuFAb zR=&bfy3tZF@!j?bJ;(M#$8G=iG{hb%?hsiFFF%9{-sbnwZnU6PvmL@aZ6ZFIW4BS(Uz;ti^^r>SHtW0l4zVTJez9;}JvbYEX2I9GC#*X|0y>+NO;pq=w!Z zc}jU=paEiSa*x(szryuP-xtyQuT~Y4-|WnK!D3wKO|FB*dtVN+n4F_@$smn zY$**3ua)_1e#pbOY5qM-kP<>{QC_*@b6QI%tv#roSYA9y4lw-B#6(O-BA*>BV6X}n z6hHX6`iT!S-E*W|&wyaCp%58@o)3_gaU4r2MDgUbzg=2USa90Xt~hXFJ=Jpq?^Ei= z`OeJw36*+XsgH6UQCIY@T#_Phk}arM&=M?eO;!w?c`lP*Lvi74K6Qd76%`etbkxc7 z=%QxrxND^27KZ7?3BT{{3}y|tnI8Vdbez~kL6F7IjGb4a$-!qo!!x;C6RYg9muMbBdtGwM2OmCcm9{b)@K}t6By4vu zZa5<0GUi8l4h`?}XHS|pP)~n@vug9yqiEMbpXi@vrdM5Ms~N^>Zz^%-86!S9c?h@~ z3B9jCgo&A>@$xbXTj^9vpFgeN4$S6{s^cLFUO2L%n zTb{a+jJa^kvPO8>JO$$vQn?Rpg}rr8(6;P<475uzt2B~9xI49f$e z15S*>qw2cji!caE`3_c-Qbs*aToDf^53MHEUOT-ob#YP4jjoum(9+^p1PScua(_%x zedYy8eM5u&YOme`6|c>pT9%WcQ8^Z)9p<;$v4C&U3}t+{H%qC$XJuq8oCP}T4`nK- zp;7VV2sv0~5&R)5HLh&im;3Fkt4}Ggj|<*XB(kZlsc8l51{L0?*WO-`+-7v+lcq77|nderk!WI9{i<1=D%DMcNymI5B9ud~dwr{_Tnfi<5ser7SOY`*ePWkNt_|LoXfYe% zb~BZFYZTE;CQ(I!6mExShgL{a<=^Y4o$ZFR7Xht(lua9-=yo}rDH#n!MZNd^*(zzD zg}TE*Oc}xxB};I&&5$I}>2N9`_GlR!9joJ)`>G$jJfq|OMx+Y2K(!TX(>-JYr(40+ z$v1why54=C+p667cOW)n1*rH+tyW;`*w8ZFWT zQE1Sa&DDfSItM%=ia~(@v-5&P$c!6WH!k|KJwF0=UI6nR*c$@JtND@6B%pW!R%2x; znKA6@m{IiMnjZ2{psudwzk$G^5Dv|v&K!M({_P+gaGFFh)BK^;9SUIr2s=-oJ;OlK zaZ)$d() zWDD>0G$T|Rbsrb6m_bX;oaI-#L`bdNzPSpt6L&B@P5T|R?; z?wM{SxE9EinO(o$AFT6G;#-(J+#osbya~1SgrdksNQVJVilc9>dPIG;V>Zrpsw{6i z94vyH0$KKbm!H*_D?OS5-b17VB{ZRoYh`TC-!Z0VYKmMnONrRKS8fs*aA!2r(3`X0 zFE37-Qi~nNY)?+=?`6J&IA#PKvDGhIo5$*pn_rH*(*{NnpUo_-d;=CXmMX@-I1Wu5 zpnU{nCqtQi?dv>N3t-m)5$5FV%y^@6i{yNYKh0hY@~E0}DOY%WC-ckF@0=YXFdcw- zn1r>oz+Qm_{GePIm#p3s_WbwET(}Dgs7-HBz;1#7Ah#VdxyX0aXgjAE{}i7R-|v3g zhb6Fk!C8_LP|<JfgSq}N9 zOiF^|Q|Y~$Fa4-Aie6&D{a-9BECuKiKb1%g8qC;ms0Dms`r(c9Q0CF9G=At!%7qC9 zi(8fNzr=49Pyf+i2$~4*&f8Qd+n%Y52utK`18U%HUaKRM zSFZ@p{%u4g*Euh3O;y1Zf(Hw!1Hgg~vYqiThWL5wOV#?w`FQ5ZYHGUc-=!O13WYU~ zGP}QGPO#K zp?2H(b#2hJyW~wI1C@w-DA=u_ed^{0pLIJ}0imp=Z0IH#<@{1Sy6DtqEF@-|hv`31 z;*5eILE#3l+&#%YDy>S-TkrDm9_m!t1g53kfAsh$=(sErE zRMU}8^VYMhQ&Tgu52kW)hOPe3p@XFjx@EX5_6e3L@1UczCS7N>+WyT2l?^BFViZGZ z|M&0T{on1=FH(zgn236>@$ngyotG}{)Ped&J{@kZve8Y2R^KM zI5Xb$Xj4EsoD7@Bimg@2#Y)s`<&Hae=n;mNmcG(qWQ)@^`8mpEs~5KsjLP3`hK7X_ zNV`;8O=+ajj!KQ>sw15;ySkrwa#tW4U~W)&TXUC7WXLL7%JhW8F-~aMRG3hFa!0K-E0kP(Aa*v)b31W;r1F-gLwr5dS8sdwadxP?GOF=(orMX%9L$^ z*d6^wP3AE~|CPBwzzH}%fW9Gay9u(_iplS4YH9|LyX{av$Ht;Pxnv(YI&y|qFxk=1 zH(YiW!Ovrg-W6RU{`M{AJ$(Fta}l$D*}8mukqlA4`oBLnfpc%}b8+1U_4d}M3Z1vV zK0k!Eb0%FZO=9AVy2;g*z!VYtqiHwL_of@Y&_RZI|6h$S$exCH{sog84Gyb{&tw&e zq#tchSCE5Dqv1Y1+u)w2w4=`~rkQU-NQSOTRkGA1)?7yE44l-?Ae`F8H7hW4*s3JfcAqx0ZjTdN@0-QhE zBs?M!^QO=!)J-lLXb%{{QDvwS6h}g}%Znyz`|~48q#3B&K&NE6sDOFuK6JN%Ig%2J zvo_(RVNvvORmOW1up%L2Up`cyVYCCFmi=8Nr!~9vV3orVvOdU}o1vYtkd4FM3;PuLMGDu&6O!!4x z>-pnnasdOYqtg24*k9HL8pwSmCH%|X!KF+g`u2g$OFpm|xHjw(9k~yh&i0qlz(DlM z%L>xNjj`^5nv%-OAJ^U&D2aT9nk2V!dgBZ{-vhsqj@uDpx%seEC>exTq>m|Iw*(9) z7GS-5`8d<$a+2p{J&z+m0`BnE$KaisoHTxN?Hw;_^HGERr_=fgto2s$Sk-(wGQ@}6nGerBr1wQ@m(HTVxq<8?Vg?xljVI= z%=BakQNViV)kK}j4NX$WNyU7a z*Y^7viW1mKOWc;+P7ZYX(tg}x}QIx|AqIQHb#4Y+$4t?wyT0ME?(hz(;F77w4Zxd^1W zbA6;B&(To=JVFaKu14XG1)*AY!H%a~CXH>aRi%+t*OdrHkdc*OU=VMr{-Pbci_&_@G;qW& zN3L3qubD#PpR-0FqtK0Ic=)9PJmSypGv1%$MH*+!dg2Q?4;Vy5^vor-U%pK9X=)s= za#4DZh7lGP2Cg=;fPIlV1w4GpFn*p5msOT0W9dT3z8210Zph`(5-bBmtk~gP1KAeF z|I^0s`BNb_LTP}tZqWSK3R2Zl=VdrD=3qpVLooXkud+<>tA2KjhBz_8h2%XHLMf&$yx$oS|Avkh&hGto|;&*!b85tSK=1B3D`=A@Y zEqos^jTCVD`lyYJi~#fdMMdE=t1%WS7i&RJE!3|?i#(OJM3d~{CSFf7;=BVxF(7r(<7vv=M4UasFS|4c7)NgXT;Uyw6oUe|rajMm+ z6XSal+RD!Wa_>pK`z<<2NpABO2KSrKa=^&rc-9!wU;L~4=fbAr-pV2Q_{3Dp%#7aJ z$;bQPLP36$Yo#L2|M3FAu!BpOsNf(PEd5}Kn(x`*woT)05sqIH=zm@l{AeWGUjVuNL@vq25|oMJ@($17tleg9IMvF z;&Y9F&PO_k;ilcO0g&yLyQ?o?y@SohFSSX`+FG`)XGA?OQrvjtJphTs=>1!0jan z06DP{a#U%|>tlrDbk_{BBF8^zn zCfDTQ>GNYZfM+wH^jLm;)hy8T=SJ^Xq3*qu2Y7fEmgnJ=T6OGJmqp9nv0tHqvz}2( z>N|d4s#xdO`)zP^l>2dO|9w9<O#>HRM2m0r4AU;QZ=5fCUlfVBMwD9ht-Yc1VBK7a(f;PU?zf@uv8*ptyf^7p2 zT!7wJkz94jkd+>{_d!9=xSVrQ>WZfj_wKx4V;uv9Aw=d+t_1!SHC zc2)4HsGrV4@0?LfYllSbN!n{%{U@|X&lz+* zjqk3=@1=(Hy6Xe3PS@!90xRzB^t7&<{Z$A2qr~|15inCQ#kW*Do%7nxG#318fYe|< zQ%m>(m(mwd)&3&he@1X(AnFp!B@KW$v>OW|zFNjGL%dl^rl*aWZS)F(4nE}{m3Ls~ z1O(xsj`Z{^l%D#h&Er2wcr4Wd0qk&e`2>O6%MX~;-@%9efig4@8FDOgic3o+m^M^S z7DFb@$BR+mTf3D6joZ=Co>^bA{GYcIsO_HchXY9d?;olEb*(}0|2lN$-mU-hjSn#Y z*GWbM|LYzF#{YGXg7W{mN8#K5x<}#vf8hUdIMn}(AtmwVef@>3yAFK2|NZklJV!mv zTUZ8p@yUPxME-wn9!U1@z3|S+$dq7?K}G!jNVs(CH1w6(D;miB2*X#_cO)f=ZnxK8 z)}Y;$7EBlT@Oe;QqI} z%kLkk`YNyxBM_ls3S582f|0==eomX;Io$vBJOkRM3B1`g^7(HF{P#4%%_?TR`v#m-NKUnB1&xrw_y`{Ob(4h7*A z7#0v5%*BB@(DcOd)dQUESyY7iKqLM%v!;=oH1a9ef@k$NZ?S;!Dh;lFL9lE*LcFVX zQ4aFDP9Y8q3PK?E>`R_0$%(sbW70(J``*2jd+?wg%T4I|CaZ^ z)r5u^k1M)~c$2?|y2IdtM@{Z`%*Dm{GBi0~yDCg(3*p*h}?ovm5nx~QS4`?19zEkOZRP68uT3CWL=J*~8-1=*ggFp-! zckpPJad6$I`YeAN(G2|^&mOA4U$?kONY#&13JCZ>%fHKZZ_&g^FPD3BlT!J|D3SZw zqOiwvIR%h8Ia?+Dz@=@dGm3MB6V6%17};GREA6gLcIOVZk*!hM?s*(X3f?nO|TGgihB6yg=3l3_Eyu7As{<0Dg# zfp?MTE;~JD4ii&xd8u!Mq}#Xv|DRKjU(io@dsjy7)y;eOi$;1~XyMBa*Eq)CA1A1N z7(w` z3zDU^hzA9S|7H%^q(F`V+6Oejy5rk>d#>k`)RA}#oIH;uYxW71zxkVnAA5aK6caf{ zh#5#p``>5dAvEopZ0T*mdnl)E6@!jCSKl(lcLmyo%qgZKqh{K-A7h;GOH99lTfwbn zZ1j1*go5`GuXM>`N6b}2V@u}-Ys|B~!6_^*WxP+n5L2Z`@Fw4`CUxo0Owa?z*m~7B z>lIMtl%@b}^k5sHriSIDpVSj&cemN6F%jcr!!B$9Y z)sR<(F1SS^AptTTDbGe7rxCBid!Fm&CxMqdJfj@zNkngTqXvS`CM~n2WoY*HC0wN* zd{$9O-cE1GxYf|0H~&8HjT?dS(jvU}Wz1v#SLt^$Qn(%ChT|mHPtVJ{RkV0`Z)=7G zi%Sa8+Pdz$%6ZX5gi1Tgv!3|YRM~~($mq?S4=mu7bC0wc_Wxh(ef3wBUDxiWyBnkt zkuJ$imx=-cBHc(gNSBn-h;)mTba$6DNNl>hyW=dM=Y7BNjq}s_1I`!@#{jo`@B6;j znrqH0=A@_N2KfLPDK*UAx@iD5Y<)}zwftI?YL$(Fyn z6XL>xvb3}ez*f=ej^`eTIgtj#;WIG{qQsPUrTeF=;38-LZ*ICZo4s>U<`R}z)h z*xp+iZu18PY-B+jWj>*3jP4XeT=F#|pY389YmaSViT{Kl9E2fziumiRSN+mb6M&h1 z`@XAi^JL%DCuo#2;_By{#;X%c&aHES%MN?YH^}AtGSXc}j|H~1Sfsm^nsZIgSgA$f zoXO!l7++q7?R)4-TDW&NmegeDQ`MBDz(J(Do-U6>*O>1A_Iw!i@h#J&J;mv~rGDT+ zM!7w{kEb5KPS_RtUd(ee`|rqQbIv$N?f3UhrgG3d9lX9RopP9* zoAPboXE)R?u)ks7C|dYZwaY(<3awxb{j)-+Dq6d1SCZ2oM$IQu)3ffzq2{BFo)whs8JQee4@?O?h zeexk0?{I{%+GV;K^%pZ?I^I$0IvSw4E$~<^+y*bU!-jEQyeF!4S^X1M{jqqHmt-hH zOH(^QF1yC```eaQrN-lh;X3_f2RqbFMK6pZ_f7-hvQCNy?8cxgBD4zXMFbP`UzDK5 zaINbNgV5{_WnZVi@Q3KAq;L}K=9Qzy18rfkRW}sGz~xp;+m7MI`{1;+Jh}bD``eZq zN-&8S*qXv-LX?X!U#Nyg$3+JMw^(LY9X13^OjIB&o?p7So6*v;TV8`zx1|4ZEHiz~ zbc+q$=yoSuti?=K8}usqc(OPZz`N(U3_*maWeszCHRG|qgd5>?oJ)47+*>5iROkHl zw&f*jTkzvai(934s?fuEziGza;U|Y7Pllf#4Q5Y0QoJ)zrbG!Fo%gxPEvW^qjqt}D z!4wj>;MPmY-HK=PX?S4g2H*}~z4|#$s>Xago$eF)t6X@*Lbk0OQ$5a4jVA>B2*&HR z^pq;st!;9}Do8Pb`Bg(mG`1*VZ%^*=lpV9AN8D5J*W6)m|4j4{3U z_vVGGp9{V|*TAUnX;zSZq4q&-X}rc~^|P<1C^dJBIO;RG%Op(q6wwF4KI-oSx31?^ z6IZ)Fk1b3sE*+Vt&nqbe2g+H0^&KqD;Vcf(vSo)9be0%J5tzdA~+AVhNnH|q@(J5sw!grknZl=@U0oWYrl`E7g z;FF0u&o3~bKyOudl){2TKJ*pBWj0~6qUzC__?#d={yN% zm}T4QF)r?tpsg!o_P3+jrL3VK(yd;^j?LY&5Qfm4Vyq4Ms7^;_r9bey*VlinBdHcT zo9i{gZuQaCq5;)hbf?AzRrh}3Yc7KyFrr_VCB%v^46rTh`D z?y|&|ZmthAsVGy#S z#8J#Mvb+J7ioDaU`dYh5|5m9otB7dP=e`%rJ}c7YTbjGnGc+{WDl0w}U_3 z3sJ^0b&Pv-LA9gk-tKV7dal;4efv}`5_|b7p1OguZnxLnsXq13k2?u8i@rm_C&HWz zPasixwKg|8#YHL3KH<(2b1;oMmd*FruMdfr`w~~dr8bMV#%>m0$a)?hADVh{?)F}! zA@P)qj-?gqIcu^hc%MEeu_6xXJil!>l)e;zrqdmak9;HY}Y{@sL<(A{TT?bmZ(v%vP#dC)E(>#8G= zJ6;HG(I|IJ;7qQgk(PFX@^{7dtkQDx;e|{JnZ3vYn|71e+DBE;H%3kj$*77>NR+JC zTmwwi^w%ws)9BUVotS|)>_8CNI@}F}I&3(pgFV=75var<>psNX`HX>~z>KaGFXUEq-x5LLa8R4R2(?cdiT&pA~$-JBKr zF42}b<+z2#-=Y#ciL6Dl$iYci027S(wxi6X$l`ZojIw@`4p|6QYIUnbZEP^XkbR}jiIwdJEZ%Q3le=%`b-f3NiulaPQ!ORa;r;`SYiVI0HVIMM0b`6W^v@RQe|2-9rW-U9IiO zuLSPr<44R@wKp9mZuWm`X+WaY!=jfBc=;zYSG=Rg-Zf&habv!=)dQ(R&og?S8VK5} z-cn7nGpFZDPW$jqM$GDL1hw|dD1|TYDC7Cs67kk?fA!0^a;kyoN?)Rn1)_X+H?KAd z>{F_q)C(wTD>3OpbV|Hu*ECtwVOdKo{j{EfBmY#e|K03t_SF=eQGfKODpukjU z&VtXxbqh>ZD*Z_L*Vm1VpqWfze>h3>vavBbI(2u{p}U;5SVy4Ed5C|1D!B1;`}Qpt zH0;N2Jm*MO>jq_mDI%&Rb*$a+%~JGb?PaP7sS~r1-R%rgDW?D3drPQh$=6OpcIyb$ zjo`glOFROKNYuI~U{srR5gXI{8V`<@1q(idWAk^t~6VJ^Pr%|yh2DNKH z9Uzk2c|3G|p!~D-+qhV+U{aLXZ^FVaz6M9RLXA$4?Qf^jtsT{+?(8wn9cO(FVv|c7 zVal@I%}t#9wJ*m}U(Ad*2x){Eu_b8RMj|7#>dL5|)|7yRDahtc;IEK!jsA%)>gK@S zJiQ}9(BeR)N1uBK>_S==A1v+)M*|a5RnbOUjDT|1nIsFl>qgX~^H_bjpT3f9WOTzhl8uDv^}V%*b$uFrqt;u~2J$@Z+MRJ|{2m2blGCz$H( z(Y$o5A%F8N$D?&T5e8~^f;-|)G;J6r4!rP;kFCUNcTtWYT3Xn%8y!m)`?v!~pgoTN7!EWwBO-kB%&!(d0nJldP zsm)z_Rwq)4=FIipef{pajTnn^dD&)Hd~Nh^2tV&2FN-85g^@^XV9?;eTQnDpJa3_Ez_cnzoO( z8IGgjmhy4BS(ytqXEqi&9mC(ocrwk3k}ohzqg?Kj*HVmpcx+7OBO8X62`CQtV{^Vo7W;@qmr zD=CoJF!HOOCM?t)c5bJzWYIxRVI#&MiNZm}UUkrU&0xszRCu@|f6T)EywI8uPmiW` z0ii??u@k(AJ-rGk+tpJP`-z*atnMzz{9O0<(^m^x?%={ELVhHFD087wab6|BFLT%@ z{+VM+%P_#z1yBK|>Vqkya0^16{cx}(FAwL_oS92|^Lj$QTQ%A(MRlBmFN4q@K!$Um zn~Yig0bEA>9NTC2PQE{1dsdgPy-Ebun6a?Y+Umo#qM{T1RTjMhxh6{G`fA0Q+Pn8X zqGQBFZr(5<;>W1qk`ejairw-!X}%cvNKX|zpMJdT+jNmbe&h%6IszrNx*@rjEicH}_<$w~Er z(3h~n?d^Nrg@xaJgK~xr-4UO;--l@@ zhFtKmE2VxIPec;!PhjuBvtH9sN~6cjh`hsG5uF4s>jh{O`cXDd*_IXYi)tdq&H7aDep-z zc&CwWYd4!`l}1KeX4OyMn-zN@W-0}w-s(viI-u9+yw*hSG(;QnHcfs$KC!TLCXmK1 zudL$Gov; zhiK~Q9Plpf^}3JizP%Pfl`(9*>t3vTll48i0X@5h0|D}jD%Rk3NJOD#cSp4qsv%bV zGR=b=siHSbD}LDS5eGeHb%K9kedqaC=`fY`nXxvM(Wqx9n{ajsiJ|Lah$aZ`$Dj>uQ7;H$54 zj!CfM84W*337A%8fZC=gd_uj!oC26INL15BwlBi|;sOD#Ly@A{-JX9`2TW(LlV0bx zrSCCJ$-jQJo`e307dGsc?t#<1jB8aLpD0Y3HyV+jYC})>wRHb_p6B!6Seqp6AIF?a zo~cFt!(D7NEE%PQq6)!ZPkb%L-Huwa^Zk<9lT!FWjb|1J;VTOzHB?6Rh(`qbU zz@~X3gsD@tZQ~i~O(&4!F^sNJkmJ15(xz3l3TxK`eGLR5Mqy#(uT z3MeZ)*o);_g)vaWb}K&}CZ9U|UOm>{*wAKmGbU6knO$6ZKt!o3@{kJQx%^a3Qb-WKBxl9%7Wq9* zYa9LHkh$M@Ha6OC2?&?{epR*X5=qHvUxj)6Xjo6W72&D?$-eLz!)L&dMuuZ$z-mcX@ZHwUjJHKkpM~l8v#l;zp(Ni)dEt zM4v{yRPn-sMT6j&?wr1kb6`|jGxn({)1h!y!11T8*985+?t9D0x_Lb(t2^V(fe^0n z?yO<4adw#y1MFcsp-E?4b-HLfzqGGtV_|psB04&ATvzaLeAZqz(+e-6=Lt1(;l8Ip z*@G)}`8Rk!{PcpDja6^zJTzt%#bTVe-y79g{#Oei?-iZADT-R=ey?`0yAfm&obJpl zRI48*&eXZFKRmo!FY<0^Wrd*DGruWB?d-y7`1Nd0ncs6nmy?ZBfk>ounvWIypO zKF%E@{&l?~Wj1+@5Qi~r#Hm>8MPC|MH{r*TDKX9{4Amseo2Nx`)SD!@(A_YmGU>1> z#90&y*(Pjo!sO06yHrl~eYJ(Oub&8tJ$Bb`&y74!yta`u7R$fz&fope>>Ih%%WXQc ztE47$S;bsWh+b?R7NPigyvNyVmzorn!*+IfA`2t^#W`!`e-KI=Gtn7tv%G?hKjwum z6v?!peOVJeiz&-6Wq*O7@ySX@K-ZQcY3(oWt#l*ofbaEBCDuS`? z;XDrPLFXEr$p}6YXi`{y{E2BmhI~I??S$NB5M8mMq*kC>>$CZbO^Jrk@URV*5>fvy zlDV$+3qWc2MG@e0Nyvc?Xd}muJ)qZE5`b($$TwWjDV&Ksd~mN>``g!y-{oH8%Qpgi z+0R6S6x01`%K3+fNB!Ps0g2PTx~8?*@Rx|T`5fKPNNkiNBkG?#-`J&ItA28Jd2Xi{ zEG<3co{IKKA|oF!QKe;UcHV@f5$%)U=YA8nGjYLHjH@ppin6AbB86%g-U2tzL1AYw zcr$1tHwGvE#_CC|rYvtxruT?AC}a(onnTW5wNCwU1^pUcV5FL?a$e%n8=N{q?c-G#-UCMiY5=E{5ROrNb2sdSV83P>p3W6!Q z)jH^dF3c&K3gt!P@@5tPSxw2?a^8!u@UC~xt9EyK+^U6u>yJ#Pt4AbQTEU1Ki$ zu#%mjmVcC2NC*yp8-zB@4%QoWyit1qVHlLX5g%RPqkoA6d3!#la@MgH0kahgsjet8 znB45zIV~pgxxCu&Vy?M*gUlSfoWY5D{Bz81XQ2jB>JB8N zO-UNuf!!HG%Kci;4S||GyvQCYrGzJ$2GOXYUjm@q=+7d&`;dC$zj?{=j@a~FjeWLt zv3)DM`uWnRvOytTLzYM}`ekDsr1R=ZfP|@R@q?1xR^w1d%z7BdlF{LVl-X;Aj*dTc z?25-n`W(e+A`u=ncgOAWCBmu7>@mGZ8@Da3{@)D8RiVBHo|u?MGNxJxLbK$!ctnw2 z!4b6su;!_y{=}G`k@l-9LiZaPDjk?a| zbB}kDeQ?Acw;e#p4GsB22dSRRs=JQxV{X!UaO}2N-)YItqt1DgFlf`?qguLQo-r1& zyjG(p5QZCjjYRi`DtyFFa4q^>t;a5N5Q=-;oi-~0fz9D;Cv>4M`-q|MTdr$4l}=dL zoaFa~X2b#$`12PN*p_fk)zc>>wGeP>xxArU7tubSI>IY=dARVut_Q~5$ zqZhvnYeLa;t}F6NLdze(;b=aYOc{PbqkllTbrDCb4ZX(#;GJhPWVdDZct~i?&)d|HGCC#Mw_RYfhO^P{hBW;4?VC2{*Gb6JPJZXF{>cIz)CS zy4nHgxqR@V&QYF&X(2I-0@W=%f(ZKT3#4F!iTc5p^21K3LYUZRZk11ZvwoC%&$7=o zdBeFEA?tzIryl+7t8Xg}6AH@6#3UrhfCk`FkCul6q)pGN958m%9x(PkeD)R)Yz-x%fd+FI?41lhf7tCaN_Pq5FsK*nZ}+u3e^GQ2ITyP^ z^C`XfpVcvU2mhT&4{($cUW4@POHf{c-|M&vulti09iv~jZDIh_Po0%uZt+QI+1!3p z?k>!(?g@&X2f<7k7Z`FaD=$R^P)vZ<&o#Q@``?SW+Q2XrX1m+5hG}U9ofUfUzRH9) zUpyQA?>f18wPv?)c|sxJvXa-IQBmT9d(m{){q0G^w2kKFvdaTp=5q0)z+|54)ynE4 z1j3|A0mrJ-sv#)QiIm*rzoT?BUn%mML9tjV?lUo^B3UW$agivJgco^o-kH#4_xfCCUJaJOhu(EW6 zQJ%V#UbgmAd8DnIWNULWK$)pPQQgFFn8;&){E7)LM89fEwzYcvy+9n^BIF75E@JFm zwD-f9IVM0t+S}tr@83uo;-?|OI8xU?54sib8;n&`DxP_Qe9?`Kux2hzTH}OJaWX5^ zKnu!=MLAeSO0^Z}?fFERnws~;xI<50qKSl*Y2!~(?N&`NTabyt_1$LO-2T1tLh6j(NTqE15l1kY#t|7X{)JQA{VGw>1~dRz`s2aw-22@)=oBU-ak>uot94c`g@tun=7#L7p#%Vo$r6j@IOpq}QO&- z*C%6JakVzTn2<6F%|N|Hr2PFk6(cUb$(6XS0Fnk3J&9_c|HoeX*k|>AnbFZ9(67){ ze)EOMjs57SEQw%b_g3}!%_wVYn}h=^6hz@L?9j^o{ro3efhLCDDw*;1DSs6uHygLw z^BH5mGResj#|~v>dX}nOL=$vr%El@-VMPfGix)b#acon789Tm*`S?w6`&DUuT0Kv{ zC*Q5vm(d(zwwiW>9Nw+y9X)V7cA1c2U|<9*8B?4?bEy1!joZh<&czpY>y$5MXDG|! zF9~q?#4ysT$}3gRw+xF|E3jwu z=$OPML)h}50EZ8l9&lz_A7!B-6ig4A2FKUViAOcfmre|iix%$ORg<+ho7PPp_uqQ_ z`9yTUcNwv(n;jwwT}QhMl985Vs+^YtX&#nyl}!!*)_MQMLoBgQI{W5V^U#?OASeIX zTs`^$&?W08m-9A{M+?>myOnQxqR)<5@Ry!eg>P{uV=_HwPlDC4ItwN@n~seoqHIL} zXqRJL{k+1MwU7l@HoDx_+Zx!qAN)xzbRz5WM{_kgpfwFSYzd2Xf}^6808Ht>dD-{{ zNDV63I~j4&aVy$CiIEi$!8p==c4k=0U{3CtehXa$%^)tfKRuv&ZH*Dfi?D z2hzq4f112?DI~OhEC0#nqR#u)y*|}uY+>eeXl`?=v)+YUzUi)6QHu6jWSQnWHTOt) z$8Tw=hvoFn+h;D?xVHU6_fa$JsZP)6S&}K1e@=w0oCNaN`1{?sZ9uEjUyJZ=H6mmy zhp!a0JeccZ9IysS)5*Hq&|W@%oBfdat|0YO2uF(G*P&|UNXmv42{c~vO>^kMd>z*M z8oZIGA0*I{kNw8gt$@!?PmH-P@L@qWcXqzf9SuO0#be104ijP4+^1@eda&>D8CBEQ z4W`_QN=~auQi3Paf)wOWI(uzfoZKF*{Ju8#UWP{!p^a^mG51ri%yc=j%Y9T#7z891 z#A@4r&#{u@Vm__!xL3VM2^(8*UT%AyZu~omM`em4k`HNtb6colv2M#(t2UK1(7Rk?DG>Z&=BHQQ4)wi8F~x zi^ihX({plm$|%c3-VdK}eBDcP90zK(X`$JoLBM>v)Cm{@g#L2}9T)d_aL8?S^iRoX z(&zcxL&9}1b_xEEyV_S*Hys(U%$3aDcj^nuWPiB1t#66Y%PyDjQlK{^0QiloM+c~z z{`|%!9udJ`d#HUX_PtkA9xF?izR$CTyJ;~x{fKQDx~v~o?HYR?P@j>K?f8S( zET7vf0oL|66&^e?BBX5Puf-93s`2ryW~9O5tvvuB6;U1n3ABLE3KKYKn;-hAqhec# z(O%_OpFCYMYPag%r})4nAeb%4$q?3n3?wNB^Npwl6Yw&Y2q!QrX>Cusny7EG+3nem z&+4GtTrA%YNY6YWKfkMNe-o6kt6N$0cL;zv*Slo5gCvPDqXmEG=>GsNdG7( z!iz)W8S;F@LZ7q>&=dFV`0iMyj%k}eZlXg-Ocn8dw`R31wE%D~{2ceb)f>o#+D+Ja zCojKr8s@2j;p$9E$4l&mYAj%2JwMf3`XvQzL;M?$892zGbL`8P3c%`$dFCzxum(H= zlEZ5;)Bwrfcm5ggBU_EfS3yZZ<8$uLz`!WQlOyXPPr%&&Is+!+b-kSaGq;JA?Sn|Y z`b8*;nrN-CMvrudR(+|_tH#Et#2V!HCN8xt&a$zujn~#BsEES-nsxs^*1BTDNiZ(i z>X0C2Oi9fu`IzU|o}9CcAa}VVAfD@mg`=ZV_R4O~+Y@89cC9+Li$8TfGo@i;A>k@J z2A*Ybk?)Dt^E~w%#6XPs`YNL0_~b*8goh;oSZ#oiJi7ltP2Zp|@`t+|mz)?o4k;+s zAE@*s!LpO?X8en4v*(Fw?feIZXXQW_;E1l@dCktR=cK*T=*=%AidKa6KIYb~k^ye> zY`{uY%-uJ$nH{9LObs5CCN3q8l+0SDgMSrl!7It}b%8D^Wru`1qF$Iq+jUb7k5T>m z6({KSw|(ZEVa_M+F>NFRd#;w_7QAZl_K(ys3%ko3q#D@zE_EkT3Y<66(y68TibLFGMF$jTmJ8n?ffSe_>gXn#kSX zViAC#TUxHMzq$HAO0|d7U!GUu>3h?M!c((;YT#Bl$C{H;#u}OsK*&4sy~Cm`15i*v zZuEJWM4Tb6)r#AW`tG+ULh0ei?woh0Azpjd$_Q)%* zL2bCX>FfhGM~&5DU~x5LLYVtjrNv*8OXkBcoPM3-1rB;w_kM%@!!3shX@X|p%`b;7 zXL8IlX1j-=`9dJC4)g4RA!lV zrLWNg9iOKh-;ilP4XNP-B-Q8(_n`=If}Mov8%4npSZ4L6~63s zB8B_SiP?#73-lbTsp*f%=42XCH??|Sz2}42w6V1z+6yut_DFCLeFwBRF(64{$dRn> z@!!9N04@auY*k5`goiK_W>mo4;F97;%%dzOIF=^v4%kcw#ah;g>+_d?GbqGG4Fvc{ z*RqRPXHL;DEe)rcM!%k?B;CSQgB~pd)S??z5fB<{VbI3=wvy;?aR+5aHZ#o>98cUa zxLXqGJF~gPtlS@D_S~0!`|)xyu#_6_ZW`1ZO!$9tKaz=U9=k>X#pF7_Sb}rrD{xNH zAKru!3SQUeQ7ZVZ^TE&0_4?eU^f0ytkC1sY=Uj^sT)+0pQyJL>i$+E2QPJPe)rEIIvG#)qn+0@F zi(c1U?)4v$WB9D5BS`c-NDQLOw5N?V;xKSeuHk_WXZ5I|MSBvGsl?FEV(Znqu7s3B zG7A!2QrLFfS}m9TvFk$@>`9t%2j|l970_ID4c!OZA5HMnxWwE(=I)rY$@gnSva7Z2 zoR9frpd8=(VKIoj114@;J|v~)rX z#l_`F(QZ&GcMlJ!T1zpjw*TeBa?Q(rjjpCKfX^F`_!|^1onE7&qIYESdj}zsm?$$4 zuV#1H8jMAF9but<$|K47JP5Ll?Ye^FgW$&%-oY;Ior-Lmf7KDcPgcs(zHG6fWF@6d z;*aL3ZXF&5N{B@y)FRe|j@5cXkr8HQH8Uy4XrPi2SBRHc^X>h zoPX3o!W+i3%M0-rLhwMJTxuuSPDe*PZ_l-bRek>}2#*RcFmG!s*RY;fzu#?Yb}Sqy zo}_y^>9pA|ru$%mT8qcn1kcT7dgnUvjQVR$Opk-$KsF7yxW6L2M z6s*rlii=B%=w{4d{OP)HGsHv#e5j$56QZm?)iR#L@2nr2+6q9k$jeOR?$N--Wgx5i z=82@_#)U#TCPKCYDzL;xxxT_Bps2~%)%)EbGPM{9{M1Ko;+}@w#@y52L^hLtq0cpY zA_HBghn_cqvaPKduMu`=iiK*H683pkOD;ioZzauxM5gPezh1*!$tNpJfTND&$t|EuEl0N85$Kh7mWmuNcQiB5ixx{0#Z*;*&&{GEm{;JGgxxBl~#3gc8gNg`$ENKKhCW^wTdN z9v&XwSUsQlhmVX(CoJ)O=I)9v5Mz>SX4^4+*bIUEG$C2KZo1vhfoAO?3^iaskp*&r zdBXCa;BGeGtzCknfA$l#w3^_#e$iqeMBaT`q5=aAD?qHAiiKsVtCn`?6GbZd$ z396p|qrVSeZ70AMP$@}fZJ33z&!AJMM^;hP{K29P7|_ruvgT507Wb_jm>wf?lg~an zNqd5I73SIe`nO`VLV?WvnqfE4)}r$f{KKH0U}pL9XsE?TQW?ILjI;KPv4hJ|zW8Yn@_l3d1%bj_uh|Gzo?0Y zJr!vP4IT>)L6?UwHn_CLx*$1vcbq}Gs);3}wF~sk4+zgS+)(4?+J|8{j1^=S6HG#y z$s-dBh;at3tH-4uPZdD^H;Tou_S}AZ4-Lqtggg~NTJd4=hHOxp=06`P2WMLT^QN9? z4h9ylA1&Tgtu@IHL&L2NTuIOiiWvlZ?+BHimiD}IYM~&a+CUaZ4fGlafCP@X@FFk!572%JWaLO`EnxbR>++@d*U}@q`sa$~9(TOe(SWP<0cQ~ggofB-nFKfvl$&noC46H3F%UpKn3fv<@>4d5 zVMV=lXZ08rQvRbxTZqi(FY< zNhA2eSz(rcQcW}l*1LL&hesLNJj4ePSGHgj@#KHF=x&^<)98T%lc`LHPj@7gr)3&ypGmW6o5|2gmJ8{x9I&Q|qe# z_q)gW>dE4B%!X_OSt+QUOy`?(PVj&^<0WgNBYH$GT4Ya0NGAh2-*CGz?`IRTdb|ME zn2l~^AYO*}?l)XIE|wJi%1D-SK8XCIJ!51M`k&pKCJAmdL!<&EayS^!9y-?Ng|qzp zQ`KK16yf@no*ngAX!9%Zw;8!QVf-#k+W7^6h&Dfb3Hj;=&}~RYQGT2a_C%eNUfRS= zy4<7^jP0HSc>g$?Wq0MZ0VR6u1w zq6^r;csWTbBCM~{+`ETdYAg)8x<@A$8_i;csz0)d$iPdlP!K^kTy!9WwYfAI*)`w; z(gM-uW?b|@N6|C|;h>9ZzA$VYT5YPY2~z^VPPgF=O~jOpHk;f;jh=hRy?xZp)xdQM;O>(s zC^&_z8f>Gv%D#j|1WMBdO-aE-x{P^$)YPDWULmELMW~Tc^xVwuljU2zm%mjGtNU*S zx%>de1fjtX-8^H(bVnFq%<5<;8a4A3^yXy5{Yn$ltNq~lyuYf;P{KzsxM;7F5d!(K z8Z)AF4goM@o~$e`=@aPTWh6K?U`w^q zZ+MfQ&j!hGWhIqLQBWY@pcvasH49gs0TmNl0*F8v@L`umZ+MX7$|mf+;o#W)?HOax zWSgiUOKj(UQ(dAOL2U`LJS7e*10zci0Aq0GsL^vW5RR7FqoS2fJd@1a$}e#gxqe{V ze?&$?hsCr^SMda-+{n%J?YyC3pZv0uX$t z=;A)g*@bn?y@)9pvIuC7vS${oPA35%z_k;m_;vldo%b&L+gnGdnn^nboLj(=88}{v z8DFuyce(%c++NFN;PUY2L$m0ale467j;xX$>RR+DDh7^=Fpn)4?Ci>en^yo;#)F0N z4dd@DBU~Z^;mylY@N85@BSxbQK+p~dkfC7~LI!PN#|{2j)*3(4Ra@(Ts=1OMCc&SB z4EcQr9~JfOE8q}V`;Xr;A}Cil{9W+Ne!5#uLh%yuJ0Za_ln7*?o6Sb04@h4cYKk)} zs_;Hm*l%ASoa*ES6|D1Lz5nVT^DW*n%K3aH4>M_A?B}l@k!~!a0s(KT*+`&OdcauN;9*xnz2;p&e@jg-}n>D|rNW$$E9`BApF6I31Da1YD zvzsvNg=aojEe5;-5lp*Q)~zH(SlEjm`>8m1?D4{$w%WNJ6QQOfS!Rj$Z$K_tmF)6E z|9r-zg|YZfO>Jpm5Den_TP*$UeDU@@(!qQ!ZGzQR1Rv^PFl9ECn6`~4f}nyx{(}W z*MF;2021RoY%hMKeD1oE+#&%S7gUjvmp<28s3zP`?$26)F=}`_0Zzie_10f+5E}oK z9R?Xu*F!1jf``0({R#yF+#)|Rcl?T)^M55&y-jd$2GaM^!|V@$*lNS+5$&l}Ga@NX zZUu+SlO4(Y0cx?^iI#T5vZY|#mQL}K&$G=XT7C(&my{7eTon$oY<=TA+it-*{E(=q zq(I6BUAvp*nP~z!u3vj7fU!Jj?$^KQ;(1oH7nZMQZQ)2LD-kr;Ke~ddNtFw$G86$@C6$heb%(KhY zKijK7Tw^+(sKEj==ywz*d4XOBJP%#`>{7Y!hp%pF_-L_&^#mY(;;0y_^;G4y$qU!l zVjXgf9q0Xo(e+LZ|>&X6fDm_sA>U!D# z+d<{<{px}9tf(Qr^4}7BE-e%+(M{@mVSp8ZQ()oth@Yo=dw;vTh-I^m+e&eTtt$;7 zSSN0~OPj!_yz%{esI>X$i-i5t@Wq1Krpugj8?!#{kZeU_7^XZQ<9cKAG!ZnUBMiwJ0 z7QK3rQ2%CdKwDR(4vZ(jp;YT~O6T4nT=ux$(eM6tC~t!K`&?aM&WuB@SdAv5-TfUJ zuz%yW(6x2(sig=WW4RNuMZm#j;)3!Ikm`N6GG@QrD)US=^(=S4i#6-VDKTsaWwZAG z__c@K&1;;Zvbe^V7%b zL+j~s#!!lSMQ0QMc;8MdYJv|!?_S! z(vGE)iudsHtsm{O&G0jNVQSEA4cVybM@s_&$bR87Ti@Xf#Jv$yQvjGm@Lfy^g)RfH^8jOrb^DrNviD=JceUpj-BzA?~ zs1slCgRxuo&k*WnVI_7w$rhFYbZFf`+@#4i@~@rKY+U$V?I(nDVzj?U5b+Y&6`zQ$ zs&fH#2^Ow`oSo~p2}3`1I$7We1a!d2AEkZXrMbn~ek6|a6Likvv7vg~|7WY;;(p%3 zyLE^H)jc6tW55i`kZVFK_yWtliOS@uOWo4)kvI+z|IkK;X^uC&i^P@?5keGAkE~3Q z{AprL&&-ItD#Qld%u1fCbgXe`0HM}yvLi2PI)5PG_~7mRFcLYN_V%STFSjE)E+s*5 zMwI?mPtWL_dL&?1LCluo&yjpDLk75wWpAHLzm8IMHZxnBm4jTU5S&|N_!1^&Qd$TQ z7uauHk#Le(XH^i4IUdgqHAT6)!9f6EGIVc;nbqg*R6Uth);zhN_e@bQhKI!GiWo56 zfJ=NisQGoR5)s4F|TjWD!r&6WpBR5myqy4(4gt46u&AqvR2{Ok8I+sj@dZ{ zqRUQ?wQZN##JSH^wKFgzNM4aAP(dr}X$>NIDf2i!>8qHKDV572?`lepuU%S-n2(_6 zjjz{MOa$Ieaa-^lNy65SUB86A4fs)otvSdP6x%201u^FhTMahS0~Qg9m#&29Fk1;T zbph2Z`Y&N2pYWNuvbMV417A(YY!6N#MKukdC>&_}ASybR&o`rG<-9QN6(RqoCkdGE zi1FYm+~89wt!ur`pM<$nRwlhm5qfyK@GxES1pei#=jM6L4G55}Z3`FohrTvi5Hf(l zsFW3BKA~@YAi3EFiDc@l<8hjhwO&s*@Gf&NLVymAhROK`Y|too-xA2ayzf6G z!(Ys1?jD~1PC8K#=`TH)U_lBjr95ikCHa-kSH=&1U!wX)mH45%&HOgg*l{LhpE`(L z23}KUG+;=Bic$knj(tKq`|(Np5Xpsn5(H*xBtIS)yrg??^YBJ~_GQ z?%up;pVbn|qJMsVETJnwOBy6`j5S+1+E z@am>1+z2GF5YDMtw2EFRy_mVJB0sq$mBZukZ!Q0Q;mbFRJc*bZf^|So*cv$YY-D<} zbjg%FJ?abKVQ5~6Say4m;p2xC2?OMoTn2Dr>TzB79yNcPEKQI^}>F*=UM<4&uhL<71y|*sywqY+v70tAo}~MKx6n3t&w_y}*4F!FR~HS-E5H5^cW?a_ zb=bX)4j>_*bVw?qAdPf~G$I|+-6_)DAW|aI-QC@dq)2y4!%#yFac-XH{l4qG|G-)2 zoLT-LiN{Ax(PZkE-K&MZ z=~09k#ufquk-eB3P#saZ8QENUvGI_VD;@WNTYv+3JRm||`On`)|A6NDr#>E6SL=OR z@#rF6e0*Ag!ICf8`4RKwDf)kZXpZoPUL?m)nCTTe#dZj>U~?^c^3~bi;<$Y-g!tk~ z-gk7panWeeJEUDZaL`zoH5@N>=`_nImtHZGTBOC_%t3;bQR}i3+uK^33%hBNP`Z>O zXx=3Pdw#USDO#u^N=;~V|HFiL9~%$_Yk7P}-Ix1<{-R9%Ye*grHZ)+$l*VGJTotJ`v zd3_SG^Zyy-W`Xyxc7^aHXbLDvER4(Gs0$SBv2=OYB^<>w_ z{wOjrRkuny$Un*~$AB&+7>Ppu1a^2Y@3r&mtSkeQTy!Sm+_x|8(wK0uw7Gm@PH1%K z=@~StCiU;nhT=ytc%;cwby%l_y_Z}D=HF|_S@qQ6QdeVa>>TFKBA>&$BY~; zyDJ*26@vqvyytPTkdBigM{8r(1zr>)v9xzesh%&D$|y9~Wle#f%kou*TEgT!m~W*(Z)?o7%) z<>PQ@z_+9gyO3WAs2qekpb)h>Il4&NUuD$YpI52T{Y*QGt?nV`T5+iF3?i27j|vIM zwiI)6RDO-i`?GngM1Itf(r0yGBaH3!xD}t-qW}+-LqaXd0jhICJyNw__ zD2>(c{|4<=JCIATz<%b(yMJ?ys3{scKvWp%qL|JFMkYec7-xP zh=ttTqX<*qquNENVD#l2SBUYwueI4{`*Pr#XeG=#Fn@AIx3aRjx++36b*i1BWqilF=hZKlW~+oA z8=Al^MU5LUMx&>ODk1?nWeP5oDB^rC$Ki%Cwvr2n)KfkS+bq9m7zDGrsGz-YS zLFgEfYuysHiLek^pby(?qqQ7B3&3D>kyOuCUs_yRI}%VRkbNVL{MIM95w5DvB_C^6 zu>(JxOH=zm`6@M7%vanJE~oT)J4|N@Ht1K2 zkYr(;@jcR)z&DEN*f4_Gc%cKg-0CG!JrQI9=bPc?mIWU^ITQMSP{H{4rY@rAm~7R~ zo;sm&&(cakMI-d@y6DgNUl~=}hhB#HZux3!Z>c4~jK zN45*?&z}L2n*jXr0EM6BG7ev^*Lg}O8H2?np1t4o_*$EwC8rwHR~Mtxwj%r>JgE}* z)Z_&z*T>ftxB=Pl`VWOFSs9G&cFiq|+5;w~*jk@o(Q*SJ@H%dnQ|zQwKW>#8E2;#cSEqoU*KOYnv8kT;JIEf@myN znET|RiV9$$fH*!u#%cvqPhNn5=sxI6vka8M9fUeUmOH8#~-zImW%p0-Ex0nJkslV&vmD! zrp?nQQc~9#PJ{tC$%)I2uC42u??dtB<*Ep&XYNrm1oNP~2j@w?Bx3Fs{uX6XejA(F zB+8Mr*w6JR=LJd<7Yb_9wP{T5P5!d&e>b%_oox*@Kq>Rj;O-$MvGED?Cpfx9s!a9RJPg z9}&-nmO%e7BX;~Sp+DZgfhwr#Vt%&5U`iA853KITAtni8-JnTq5eD<2ad38T7En{V zvx3p+V@Rt@--!41tgY|99vJ!>8t_BZ7UG>nwgk9 zvs;091VK`Rs1I!_`7SNB$}EMpH9sO@FCATM-z5ihtX7wGswA%}w3? zT##iXPawt;m5q9t)xzE0pFUN@npAg}HC7PrMeoqQlwZcqIl15JdmuOWIdQhtCLmf; zof@~ZyPpUQv^##WgQ_RwV|{-j3$71gvDq)ng`{xp+&47l$P!9Fa0AB&QyDFh3kcmm z@;}f(RF|iCW|$8q+?N(71FNWVBUA%!oRVA>5hi|jk>R|fNeKZDSB=e z(bAuUaOMn1S*fxzU(rlqXSKZOhlUKB%0Vzyq^?aB6U$ETC&9m0%=AbJ>;#bL*`poc%NnaP+L9mZRSfJ(!MKd z43zAr0+{b{KWVpXjHe=a=&h_UN#3h8`xGg!2rJPMyoJrEsi}E6FP<+&e*xgZW(e9} zh}R!&e~%9~JVRk1CN}1K%6DVTbF9wAAX&^UTN)sXLiO4^_HN0=9-Q{*#H87Ov}QzM zsBiTIy0cbnW#cDNwB!laD((Q7Un@51|umS zDtjH{bhZBPFSB!`F0YKu4N~tbCXCB&t!fyQw7jc%nSqLiE}8*@7p$ee?Nkj>I$vv+Wv zs#~L#rAwpJM*ICML0E5UBt(@it_!Vwh-l0p1L{P`H~onOp?3P0DJ{V_rhw6;?4(2T zukfCV0%B@C-e~BS0;Q*uYLHzS8{4dDh<{mC~DCYe`akl>| z>b3Co!ksNgWH0>wH|~FTG%sn&7&%Dvd16VeyeWr88U52(%`5--}M@lkqN>uM5Q5GbX{2DMW|{ID3XDlRM%F|IKnc#X9aOf zxeixg$=FxKg3h>a<@T3I2_rv!5-pqF+A@8D5_0?RvXDNFBz&(H^^M2GGI_FUrzt)C zaANzDwHQUOrU$R_I>|`#sGc*LOcgqZ>-Eo1o*;`9DrD5yWLEh`7kmoH@Hx0Aht(E+ zCCXF;*~Ax<+b~}G(x)H=`Vt~7CZeKh#M+t+)qV;^2u4EtTSVvCeDMJy?0iE2`Gvu) zrKQz9-$z(AO-LIDT)S$gPWH2%XC*4daB(xDrCziTqFsUPn7znFMhU5L&vQi)tVp%4 zu8Wm*0wpCj4#JS4hl~eCev3+JaDQ8fYz~N}U;J3&0sIs#vtlkrv@;vIh~9<#FH0XU zx9>N69+EWdlT$TQnU=1uZkp$39LksH#ySyc7sXqfYyX~d$y2JR|IDIgmTjnv`|?Jy zVUCm9);Rx8+2{i~Kfi#70J4;eG{>n8-&cohFw*Ol`?0!Tc@Mg+-u>Roh`EF;d1gE(2_Ku9xx6ph zFtG_wotx)7XF1M{{7KLE`zik)z0~&iH1w_M&{#L_<_6J4PR&a2CskV$P^)Tko-o?% zl6xYF!ue+x)oq%+V(1|QzoqF$_aqj54RECi+eGI2K*(?0o+`GYUOD zb8pt=;$+V%5mPNEPkoaLG%BYego(l|D~tPXz{6lVTq-d;$Nh589Xbp@tq$tHN9b&# zaieE#K`A(mktrU`P@#>U;G~+i@@=0sha$AKRn#g+u#Cyb2PqW>)?}3&aw8|}#xG8W z2NP`lyZv{gEnC~(#xJq-j!5>)q|}Sp*i?h@F+)6~B|7|p(LrIKxYR@{{^yv_Ic}Wp5&RlqDiIV{8ZocKb@Ci%j~3>v!nhb6$~ z>q;b}0$m(-m{@|tl4v%e+rgoG>ep+37E5OC;f7?iq=h%Syk_HVw)QFR!9%?h{Tb1u zx`9kQtO!m@s%~@hJTK`a9)8}g{*lUD0%}be1vdCL3Q`TDbx5}=yYJA?suk5Vsh;$R zzW#_+ha6OZBml^ag8dvXy3Kiv9$1Lr%#XwJ@<>IO!QLO99JW$A{0nYJuqNKKW%K*9 zS)5n$mBq<4{H-kv%jFlpGP@wrmZ!Nnc1s~<;6)~V6h&Dq{r;`F!;Bbn3KBfTk0XVeHW6?ER4YTG!a`-e-#AO%vw={FB*}j%;N+ zUgbY?sL5twvhmsVJycE;f9gxC!^5$uiwlcQCYp zUq=Tgaea*%?A6(mA$N98c4E(!;7@52q}D7Of{7EV%9C6{@5`xQvVC}r~lo;l*o=1|?ec!XT zEa@*>soOaOZ6Wmb2T?j*D<6WRIEbmgeWzgHAN@TjELXc1tnF%CGg{YaP$a%xL_ZXr zm_|2Au57jp5e7Dt-|H3vK@TEpuCodLD8EoxUfdm}SB|4ZbME|LY@KfP+tEsoJp1Tp z_?w7yZscjsB2x9*DFSZiE8pcq^wYD7`{Xe>cj#gX`{qC6eJ>{Z*W_U&;o*_Qe3|k$ zQ_Jf+J7|=8sw_gxe9vC&7IxW{jQ(x1xR9^?D|2w~rIioM5ixqD;#gQ**cDWr4-=#T z`l5FI%zJ{ghS8%Wh(x1loo%TLuzLw>sN}reW}_5;&1vnU@IcH-$>%3tcAK-spauna zXT)^BwzuueLM&*%iR2L=qp93zxk`Q_0U=$#dyyMIe{T4Z;yX+qe=~yr`NI$9G*LB8 z+~BB0aFZ0cd3j&a@ZoKLBLCpz7H03j<#;3-TH52zG;3sUUj7;cYk%hdey6;*d)6nP zhJeM)ylHAeMSq9>?X*hY$O=o6iwJlSl3OMwrZR9B!Hp~^FO=}oAty^s2@Dqnqye`q zzk-&I-&P)q_4T#ZcVZ6$Fv0ItX`zIvCOT7!8YA{3K{^7GzFGOrGI}E!+!@-DQ^=-o zW)|Xq>j|7zXQho_4?wqFE>=RKMjsgIhQ1vi5>dYLUdMbA5(I>LkO0U5ghbyz+3jeD zf56?Rhd1E7j@ZW>Zjj%?$0d9Y$T3>x(GYE>?omb|{hflRXi?vTlbiXfs^3Td@_YgA zwZIJ-C?^JU0BP~j@wbfiq0j{uYFld0yE{c~jnMN+V{JhfC1N@Ar(4zw&d(!7g}K=T z2x7*A&6GiaF7}Kf5@4d3)L&16LCbIoI7!?uN}zo(UJe+j%C--Qf|C-GG*sNw+U8~eqaDn*Av2B?&EflH0<}`$ zCT(>Ws?ct9r8FAGvk_n~*o|qKQu%`Zc4-e7mvVc375YTE#QbDTMW}_G#cfNQjIW}3 zLebbuoEo>gcLa$;^&hvJIngJIze^Gfghr<&ZYa#b0C)F9P()2gULrv(iv}w_iZ2G( zB+Z@@E;nJCeWKWBUuCGn?Vg(=2j*em-+M5)nJ>Y4M6{>x8D3qYpczG7*@LFWxaT(W zoTkZhh@ZjuF$}A#@U_P?XtT!mSKa-q+6$lb8o#2bGo|`TQ3op(cJ%Dd820SAPC3+6 z_hxCu8}0W&73oXGWR+h>9>AYTLNq>q-v4;m=6O;B@=T6Lv5h*-t8cBBj>&W4OcZGG zK^h|z+ZUUcja2JnA_rE;g*BdpWn$O(@2B1UAG;ds#JkF*tb^80 zVii>tBU8?EbXV*g>ujKY_oAsQtxf`eQJ;0!o)MBPdT%D2G?D8`V%*^zR_qoG5haL+(Mo(%JBXK{7EUOl~zZCw_6v9PUqvpBEb zU%>_0uX@iS>?K~l&6M7F>f(8 zgL*96f`ggWib>LHA9j3>UWmyQU!WWUwcIbELj9A5H=W@eZ9r?$G+B$_IWcK#;V$Q$na z!FR;5OPt`CJ}gZYvs(9$9)|)i-{~V{Ds&#<{#66443(AJnf8E#Fp8b0g4KjXA~G2f zFbffP@sE6zptnea+b;UYBwljcBMP6!Isxx4{L&50DNd^nZ1pgD&)Z2Zmo6$)(#5*! z#pb@f2=~-qDKGgWN%$vopm+jOtzNdKMZNIuf`m?us;|h1-C0gIY!F~Ky9Q2_D>p|y zKu1f##2>W7NzBg7V5H+VazaYXiP-5*{1bJ#p4;SKmW&V@GG$4k9{IGO-g>5>sPgpQ z8yX|HwrrXf{FK;fTif^@Fmnm@JEq^$c_pRFGu>=moG!Z-dtLPRzR%gm5exm`q^3ft zXYj!WABLC9y2Qqs)wqY7p>bpRlVs$jX}e|E7Z_I9pBp`Gnq78waWV0YUncZ8xI9nP z)b`FyJSsi|E@{aMvc=FaRq{9({Kb1rS*RZ9+*agmM-?+<_3tvQFrJgaJf2ErrFC%W z&(b>T0dL>Yy`b*eT2dNd&evHE;Q10~oWoeP9 zq9Otb=^hR-849x<)cek>{c5MZOJy%4-M#T}T`jEYFYe~{7H~xrNGLanEtDg`RWs2E zf0kxFASYX+#71+$ng|F4QNv@{VkJv2+T8{FWcTa0F)iJIsUKpivja1>nKasd!P1H)31HWB#X zZ#eT*8}8?&M<+WVL+po6QDM^$%e;N9iscVQBqSsX8qpzpgEF)8^PSxj#d?#!Z4YI= z1Wvy={+XS9%*{(JF5cAmyssO(D^At&7@TyBd84YT@{*aEh?8>~4I^suMelrKb^d+N z2~s-}1O`OehbQq=Ynr)7?+{pGoYuyFLa(_Z;s5I=w*VCuT63K0aVquRJbwQ@`lDc3PHs^aqJ{J}LIGhd z$$R$5AW^X%@3==JG(fBUEFg4;^3yBz3?MB5m>96z9bo~@3xq~^2Dd*Gc`+;jr2X%k zQGIySG`k5I8XD@XgX!(x3IV%>8TpTvpNi_D_&?%JeMUfuX@`=DhE2zn0XJ;*U@tQB zb-&@{>I6yO z$B*~l*RUUg+5dbSED6T{UA1k1;s4NStNuTf*@pf9-}Q@PGPz2>4IdHEe_vT?>uCS~ z_+ zb|^aGXQ0Ez`kKDoO7^AZ*|nzU*`W)>H$Tl25o2r22mw#Az25r{#q(y4q^7RU^6nun zUaxET#YCn8t^MAlg{!;!%lGe)5W1@>n$!Wa^Lid{{1^qX??u}@a*x)N#8FyQUeo{UjJ8F zKHm?)yrJ$WLBf0IuV2Nitmrqt@brCu@eJa6FT}js(FwX^^3$%k2pJN_{9pg~Htf9( zf09D!dTd~9YJvdqUTJ%FbacevhQaNyP7R_J$duG}&H2|JG0AFuV4_5r;x~%R+X?Tz zZwhHxp*M}uzl{e*fBPkiAqI*1;n6(c*YUXDa{q6=M}a@(!6YknFmL9}#qD3G4# zFZ{31%0i^5{UaitQN5;8p%JMhj-`>u)n&8UQ=t&6`w!<1s9HboT629hXHFoQ04$%Y z@$gFqcKn66gyl9+aOa7L?bA0*kYxqLn--wA&cB;%E>*$ShLG$ zhi#~;s&*NvtE&erfRc}%-e><1{^z%;*mk%+=;kWvmRz_{#e@b4TR)t~^G6=E&jyFt zg#Txg8M5`h+uPdMh>M8$9lIDAWwUV9rviEIl9H0|?(KtvAbk1)h>fn_zooByR8cVDJi@iQ8LGR?k@$S2wraJAP0Zc6$0{N<2jalUaU@=~DfSkC%t1b9@{JlA%DW z000pLh(h}%Cu_w+RdsYCs<%foGcq6`F+$8vi(-(O2{c3f0|Huq_j9t*V@ON?re$Ol z*B6F>_r}4;H&=0w0_&#z>7$s42!f@hB@PM6x19nhOk$P}23T2D6>edng_Nv(NO(0{ zS2s{T!+DO1iW<9|4-n8cv$mL`B2JGXD@t$AOJ3f=f=dev3!K5`wl)OtgT(x_eFZ@r zKq1?H>)`X|)|LnZA_J@Ls$`c?~ z4iwA`CJPkpE9#*RcRRCDfL}@BcEH_z@#6UWxT8QZdv%}hkF`^KS=n=-cg=fP+t5Jl zlg1kXRv27;!`TY%z~I20L)j=wA-{tZGEiqCCN4n*KH5%O^_{?Inn1{{zvtxSq~U4@ zLTKbS30GH*@{0|D(lK%{B5jgu62oU^X2!~kQeIwuO`|5B57N-s*xA>Y*MAqTRM-=Q zK@^i17j$#O8yFPy>iv6MBu~%p?yZ$~da|+@K;K@`MqFoXZ+v!E-`QS< z>D6E2h6T3O-`&o=P#*06vHkW#yBAn#`=eX8pK)>BE~~;~ViIUP!x3@G$>Bp`VYKhw ziRI`pgoev7 z$CKd+`B$v(oRNLm!Tk&(ft5s*EecQJRLLoix z-p40&a;hCY%Y609^?Y2C#d(-Gc3;cMiK7jEk9sgyP4v&E(^U>P>w-glFR9P8s+UuGCJjn;B%K2J%$lA48x?g*H`?7vN z*NS%tjFc1I@2woyiYFe0yMAtkeomYIM7*9?(1?~d&R#`cabHw_kt)_}S{8-v#+DXO z&+`)+Zuf%(TQftO2yqO%4gr@HWHYmErXf3c;FK98B1*>Jjxz)|xh1&BqQi|s6-l7!5fq5YI_A`tnUKxxuN zB_#4HMmD1EFv5u#*|nA)R{GQR;TPm+&!6{=33*3NPpf$zuSw1}*(9s+087lETZ0{S zx39S7(;rFRzW{A1#@i$(Bnp|)^B@2cqNzva+D!fRD_&6%$(&ZXS>{AUT=?|ri&1Oc z!HKn$Pzx_G{QaTDSLmKQ1J({yuMN8U?1Q?pRyZl)5?Z5nBmxr3YWxUkGnvE9lUI550a!s7^Nn7RvdnLSsTRCfLouu2bGajmY@CwYLS<*Mrv^&C)op z-NpG1u9v%t-e=6kpz^JLEb+RtYya6CZ7pJ;>@;9)WQ`YTc!&485?rHBOKR;6X zI4`otlr7oo*)Qikwl_D|W98L1+TiNwK(ys~HboS>M1=hJLL?06>G*X$msT20gi8pYDb3JF5Pq= zYbDaOSpc@Qr$0HZyfG^am!8rUJDJmt5U8KUNHv5qykqP&iW15sDA^tM3kb1a`Gy+! z(!aFy(LV-dNGK|@9_gI`@YARa-EY4;@@RoC!wbsFf;AW<%%#wPY8BSfU?910nr4Fw%-szYqm2tzxbO*ewS0>Nbq@&-^?(cmpv>$yaoAN(~tT z-s?|n+l}5;RXct~q{8AqufVo;j+J8hYR-U&gam9hNUv0QcS|rd?^CoARgwSJ)N&f^ z(`ddt==7pjTc6yW5XJ79oBK>Gpap1oO7GjJm*uXIy410_|EUGY%{39&lPoIEHMh2& zYz#&9&8)06ErsuKevY&(#E&YuA@aV4sRPGY`Z5dnq&~T1hn+tLkdC|&t>ev!v7IN$ z2&?P4vcQ0b@G)9hESQzv8Kz=e6NdL{X74lU$aH+bD(?cnH8LG_StCgLcmD4@%{CiA zDO2gCosMGfd1Zf)yP*B5FlKl-9-`FC-kB1 zjACzp-wE+3o>{MNZ)_S3cC`#w2j_6aW@vEmxFY~-f02LJ_WHcHv9R@FV0gIav>Dn< z=|cwS-N|>cNT^tA*AFeTyKri1?LL9a<*4lb$ftKD01(*YLI37HS*-lp_-S={l5=9o z@kir)${)`8n~eGgc%)jz3x%Z`mP;s` zP!kVDD3JKTsNEoJ)$E5PC!cM9^7oB)%h#ts#J=IKPK(v;FSVGscve#r$@Z9Dht`7^ zYHe-p!0=#K$OD|%uI)rKAL_Dmj8g*qRzpL>YT3UbmbIedmvy)w@^G{tz28-PIyMuD zk&#j5UQ7r!d2Z5l+OJ=cwR$DpCwMdp00+{fxq~@NXB;TcRpeb#1gzcyhZ1LB`DLF` z7SlT)0EEEsjpBScHVgcWEo3QpP(repKPsgsgw5_88$1eR=%FkV@C}RGLx{@&y}cge!soSgMUvvfTFqK&@ZjeGc!_*a#m6<9)cv!SJ0^=r$` z&}sLm8}}(>Q;$8rjEtB3=c_W>9Nzo@p)2U>MtZ>?I+Dg_4DWBSs0o}#E35z`Ug0ody2chEEzRPv4oZ4Z z!C()tTq-Imh>&F;D0%558TmxGc7r_*fICgtJ4r%NcZSAm(pAJOQ!WwoVF<2O+S*e)aWSwyh>l^W;(yfuSPf zc145w9KQk{BnAM(4VSVhy+9djvQj z0BU*Y3?W|K2>2aK18aD6&78))cbA60eCi)`{nSH}jT54Bd8wk>BzaN6>M4nAmGh?AaY8SLih!iQ@(J*qndh|M`4Et;?d zJ%Nx3eo-;!V>285Q-sRgdi(8ok)FA=0Oo0+h%;RZ$CZpC?-#gST*~IO9<4)!jPb+y zWn^TqadE#V+ciB^&i@$vk*R+)wYg&JtQLgnvkew(2L}g_c9%9zX3+s|li&@T0*Iw6 zH}FZzeP1#NnLdDU-TTHufWqfMG1b}7@>=6&aq{TVS~x=Q%&jfEI2=ul_I|!27I4S6 zw6d!F7hn2l1_DoLpuO6GwL~B1G(#g(b3Mx6`y{v9*Rnu z^M{-hv5r4@=2PB+A#PBgD;z%Wm9W)S{Y8&4ozRE~aggSw#^tJh5M(oZFdKF&$~TdF zG(hL^=-gQ3MI>&DN+lEq{QACF;6fSvy2N_=w6B=Cy@Y`Hi;GMDl)AjKj>2L)A~1B^ zo||Z2&Q5t#C9dX@#(=W}u6A{OV>sSL%HsA{j32(}W6#4nzUon1SNAygz)zbg1keZ5CHGHaVq!EG z9$5vBVs)bvIj(F#`sn$<$tk=x4V+j`*59o8-v=X~)iMS48nOcKUwLshrl6;1_a$xW z4c7{0kZ4$MIAQ19XTG4pj09qS`0#|3w6r(?2;dXjA6z+nOyX8FqfCd7VTe|^X=sz( z!>5xqSKe@Q6Uz&n*fBKjN~F4<9(h0kHsIpox`hT@*7y&Ckvtk-&g2r<9sEC4T-P5i zI9v@VLOQA`2%PQS-dlWfE6 z6P4F9rlSdwVR$qh67u#J2Ru_&M=*IjsZfj}zIAEP&G6sIsiaHd}NRZ}IQQx1ynq7GmK6Wxtkesv^;FdPow3$_GP9;j&q#dLjUbq2u5E4--Wm2nYzS z`v1_u$l2AA`ehVI%l(#CC@CS$Wctzh##X^taLpxY(n>#wiLJK@ysE0IgA{A-@9(d+ z9@-{l@?R5%I~;P%bS#fjjNNSm#mqNr$1&Ln{1%2$@b*fh{*D=!mmo+w>Gun`y4;A` z9p18VSzQ%TO|Gu)-jv=;MnOhK7F}gwvMo?!slC%a?(#{Kw6Q7u)7Lx^>``3$ok9Q| zIOQg_74QDT`plXdOt2>)N!{bJ@&F+sB5JwYA|+-uY-qae``)=<-sbNCRYyK|KAO+P zvp@QDt#P`TQ>aN71P-OH>phRQ;|ST>Lu6#6M&r65@OXyMwmXRLlE;PNzi)7-<&D-$ zA#DE<-L$l;V{l%SlmbIS)?z{^yTGmMj+Gb4=6V*z>i*@^d&%Sp>iD6@;FZPo_@(FR ziR7LWgk32;asM*05iVpjsx0u%>Ob6{a@fNWUxV%8wkGJTT3a(n06rY>eF@Jy_PSWB2=ITFNrp-GOO z+1SJ+_jvXX8flD_u}b7>q_vGrrS)zqFVT4tkv0a=^2^)QU%$#+C>N0WkWer?lI>bd zS&o+~(|*Rs8_6#WsDP53mg_z%UXg#!VDEXui|?)`#vm#fzYyj(q>XerEF=%{N>|9eyUR9uXwr13F@MTDMK`*Y!Q;@~Hw6ic%c zoXey(Cbta^SF5cqu#3YP-C|p$i;Ih^^|P@W|B=JT$R%YN#EHC(Fpp}_VF%m2oopZ0-yAdM=NP@bV}K=l>NGGoh+f`)QPg?cU-=>U<;#xt1z2YDHnn4IW8}f%;mL)T zopaMp36FO=OyXf?%B_gzzn;OksNJjMv!iCYU=l*&otYSygJg$3k#&)-fa+Hz?+tC_w^PJxh%!& zy&w;)t*Yt*Hf~{=O|O`YL7FXnKhq+t8gM6R%w*f8JJE{g-8FoTU@cw)0Uw%!|)?Eb3lI z%mDEOB};>o6&g-zX|EL{Ma`cczmn;7k@1kscgef&| zqTMqMzh49ebcudw#_X|-%wnKrz^CXJlYC7}D|O{9Yuifx80bo41Se(zR@ZDarS}n@ z^(EVFOiWp^GxZEP4KZAQyJ_wdOIBM}FEc;PfA@o((1e8Ni*fuyeSEp;9Ad|0p>m+& zWxLHvWbP2OZ`lhT(R7?5Als_(ci*lh%tz=Xr{XFhHzzMIu{0tvtGLcCvdIqp^3&;@ z^JE*E7O>i*wBwWPPKiCw!uPAN{00LMBW%yO^1iK+dk+*C*&BrxRb9UZ1GNQ9omc#K^@Ll>*TJp!tM6Bk#yt;`MlySxJ)_Lb9k5BK_ zlP7lf`@bJG-MU}FOX_dh%Yb#}dH4@`lDJ1HWH;K|iwq(ZvuZ#-_uX?XG{!RF>VY0CBfn#lfQkp~Qi^gP|Q^sGFR9ZnR$;9}BU zEcKe2oShAAg!UtCC=N8Mlv6v_;G*q6Ombpf=Q zwd2xw?24J!)B|kuR{jx98`HhDL<;n+25m~p%F6YpNJ#Uqv-ky??#GV`S#7EXqVp`) z1E1P|`6BA&)jDdqGY_n!^FG{is{r%BxKb?pLT3X$Wc)t$Ha=CY>p6lqSJ)HEJ1CO% z!Ud`Kas>_#50AO6ZQry_yTN|l3X9DiK0v5!C}%p(Tk(26z5VGWgiNcT?vRzqo8d7> z^8yDUMkBEQ;m$Z7zO%Mwd%7)~ySIDNX_HOdd^X?IM(zTycd|F!If`iohs$VFup1Y+30OM>VE!QRGC~{nonsxVX-tg;8M)!y7lUN@3uQ??H-=){%-tz;AK;K)9?g#T<^!)I@Qi2SFujTnP15#%|nR(>#u0@$~SfAzgt5=<_@KUY_@6xC= z-#871K7ZshR-b$R6kaEiS*d0}+}_<~z#b`(NEUcqv$ z=R4Dn>1DO{YVPjAif|1b#vpAbE{mMP9#wz-nyIL7=mvW&4*!bFDCKYA4gjGJ7R(v>GUrTF-zW30IlcN4#h0#St{$LE>X;wo^))}X18Po)f1CmZs z-sdpmC)UbKdWZIrp6zUUyX~!m@{FHVc_WH!{PK9I(VvO?a<7w)u^Df_;Sz?NoE-Gm zDp+-l=KE`Fe!yojL$4~0aD<#0-m|e)TAVS@wwhsq8l~u%n6T!fMxyezTU?M}*`u6N zbFcPvcej1d#mvmScE(T}>0byCOFfS=Z1eK7-lfm~n9>*fl$7?^1y{w3R0 z*H8&v>*mwLFRLg}fLd{kqzPzgWE}okd)=_x*9-9ltsRJv_2B1IgN_#HBQ=z7-sB3* zyO5HSHb_$!{E|^rP(WMpLxO#p;{Upct(;p?S>CUU`1#`;D&3`QmgdzNq@S|o_Xv-PXW0DQ<0FQ(hxWx}~3o>?bQ9Pq^TX~7P z`8hR{S?M+hJcaf1Des!#@RIiP|GimGxevpM69XQzOF;!qz$0vQZQyiEp6|2K}$+PL3Kt# zA%MXM1z)J&YPVTm7!ka{@rx3=Q9x55vuG}0>zi}j4g~ohXW4q@9n@#va46Eb-KyZ_ z0tWL|A$4(#kd$`&O!fJ$sfoPx>+LjxdqL05P{s0UfEhtF(?7zsL|e16K>`K{ZrN$W zXRK-RKe>S7))ax_daoocyP3P?tj}rNqv@bpAKJn{RxsqL@bSCt>feD4^ROFhX%Roa zuAQZy^zTG91KV~U*om+fo9%=^8!pouYA{XG*-YX)piMz`MOEW~ol$_ix3_o6vfF2> z?(f9u?xABW&-L~7(dmd2D^(6>x9osWyB1j_~4WfhK3>Pd;Fa+ijQL-g+(7&g=*Y8&*am9e4GH zN6X}b9`ag+h}v3?M_{|K!Ubf=K!XItcX3gh3`&JIKQ%dT#c{E=5hZjOM~Vvaqr^PA z+DeA!;-*SJ+*Pjz2BZQOY6mr&x%)t8nV!#CskGZ`v$3RiPfVUu@O}s784~TByu9du z%?%0}O>cksJ>z}-$wvQEgwo*>>sVbrlhaMxdIOi&3lB~+y7c__7Yk6{XVDZw4v6pG z6+%?9*Fc%el9gB3n>}y4(6C6tJynp@0ipKN?ge-^n|!Zdm3IxfU`D=%mX^^Lrs~W3 z%EG7VK9yzag8j4i(BSJcQ0AxB{4?4&+h+Sa$cs^NI!o0H`3&MmaHhpgm2%#y+t3Rz zrY{R}B~DZ{WOi);0vQcMVDB}!!|GZyRx7=Kcz!F{luc0nS-SO_)`PdFr96Z^Ca%AF zGhfCt|4oBGhu|{laW07OJb2wjRPZ*wP5c;KzYNH*ED5o|OYWEdz*V*?OGFap=-LNd z7`{ZDg(Yz0q;_qLPv~jnQf4g#SLUispAtFuM^g4@ekjsT0YIeoi(%4W=Q0I2!r{l4 zdsFGVBO65uv>*jaX$1T~uUC5*UYRIJV?kB{^{wVpmp8FdVAomji0KZA_RlG*FRF$t zo3X!zg-s7S%)J)iFIOa;og+J;?_z(Sqht$eo$)wB=Zub> z5)(h0+o&RQN<^qcUD;V!bOOf7e{<6~pnM85BZ`EhYT@t!oVnEL$_wO1^#6;!xBjX! z`qoD`Af=>qizpyUcZ&!pNOzZXgLHS7h;)O1bZv6eol?>*-5s0wE9&pqi zby2#y%EC3?4^$s;EWvTmpo!&N-&kK+SJj#9AGIoo1hk`}nwD1W+>vfY$yv3B8+`t& zOhrWn(Eg|tI2^(*eQkCAyo#6n4>IulVjX!r`QRBjcc2!w&+jE+ZOsG>wcWohd4ZFymH?{7$H3-b z#^j3zWH_dWQaiBq{p1H3B4+J&*kxHKU^9V2ClnBG0Fv(T#}@RXkx-`5Xc7=S29cKI zO*$^_N=OJADrlp2`;4hZ+Rm!w&o$^X#m85=t3`Ijo`cKIuJP4)BXNxz2UZ5iOn03S5{`c_p-A?zrRgzKE5W> zUG2-C(mQPSq<^zb{8|U_P$2Qp#0Zm38#^b@?k+@H)P*BBd0bL}MI4=-4YQakUCVgz z!e)LrBT!ONR>$mx1iiS^w7J*7(4pk>cp~h!P4}pE1D9vXaje~5Kf5~BUF>>Wc2DH> z02j^#xyS9@!`;$@h))Z(s*ANXWxDGD^4=^A6&X43k10o;-5QDz{Pvl^^#tkdHuGWf z6FY!wMqi&|=71u>-xV7(n@2-8nDp=71?ZFo%jAm!1s2qLE{NbQRmUv05XUoP&+~I` z7kF(;hxgrWi`~s22}nglGxGEE*SKw9ukYusZtvH0AG+K8gOA#=b=x2A_7CflzrS?y zK^AFUp^*RweYewLBJFk}X!zRYcr%UPnVNVN-z8dI~XfLPvTRb(%18dgjN?h&| zTH5oZ5=O_y{3=iE_ZDignQxCIRx$iRRvW%8bR%hVc;{Pfx`JruBmwkeUT14SToH9B zr=*1uFB$l_m}yH72vjBT>7zd}lE-tki++ub?qxg2i;Do!nwnC5cj|h59W$_Q{3ay( zB~4dqKe&;yyA#aYV_9zzH*u5+b54k;&^%y7*8+*W0}{M1!aiqCrk`ghF?7*j3u8d0 zYuvE`C<|#_l|pPi`mjCK;)MstChuGmc0pV!Uh)|nd}oK^t5MS3li|UDG7cn3`c8L^ zib03aN`vUr@u?A7clb&;bBHjNko^-M}D&ySwZfefqKQzaLw)0>%D5S=={88<=s6J z>d~2^EFwfpE0xu82cMkp>nDkm#-#^b$nyF+GM$7(T&xk$srD$!3XQI>rLwuQ84o5# z0WBrSt>ooPcShtuf{VT z42}9O5R@OQ6+!zw6U?(OxajSa-{O~(QUpb1!(A?PzsBefY9x-=U_7L zcxewVA!%6jlxN6hx@Y&RG9!L$Y;1w%8&;3w89D>Xmf^t^{;7XWgQ=|Asgkpr9YL5K z2^rpDpW|qgBTp_)Pdl(Fbt7ek@6qt+A`ZtcBPrNXbiMB1{ABc0!l*{X@kay8V<;Zo z?f!6|@EM1ig$3uZ>5fq7Mvt*OlI*QhF)0~Ym!6cZElaxhfqK*VMp>79sW$k_I}jvH z$*B^N;{L6z?~Ao6$ah<=pT^NiSJwT$-KPWtM>9N6ST{y8Oe(4N+l;-vg>R?c3U`=f zctji>*~TqJhKF}-W_U%=c^%bty{QF&#y58X0iel$_y3&;~G4G<~{9)Yao`rsgClw5+Dml=HusI z>mo|;`GvWpx8irbda6*Ol9Qc{2>b(}J`=f}v4qs%RDkI_Yrt5NHtM3>%x_7TzBudc zkUAPgJq&*%7a=AlzM4?h60`(6h4Qr5HoBdDsgy{nN=S!}+*I9HP1XNLti8h!Y71{# z=J(NJk^tIWNhzt7{k6y|kz)g){!+Dy6V@L;;~xvkd0(TT0cg_htsv6Df%W6(e)i-d z5I`b837^$eOwI?R1mfmTU%r%UmQODNzg1aPC9kCr*4Ec&&^({60Lb;eJ~3BUUXWUY z3=@}vVlq#!LZ?guP-bjZl`97aLEutCq^pHT)pY8-76%uX!StUjSTi<|U<0c7QCba< zi&w8{U$U^2YhFqKi1!K1CpY&IB>cv^1Vqf}VNziry$A*rJs3F^_J+UVq}IXSK|bcO zW2)S%*RMknYKH0YhkE;mKNuMifTv8BzG#tfJfAnT1uNI;~xpCt&@`kEBgAMK7|~Prw(~~9%5I|&kOwc@go!X0cvV$Anh)lGb*F|FB>MO ztQQUquZK=25(CAtQqWpm1z;ktyX0icE*%4W9p_IKsz`cVg#S~D_1+g@Z6iSD? zkJe}Y{qD%k2<7H~q`$pC`Pr7|HM7$F{p$vz$x&d z3w%tsLPBl=f8>Kgrme-3b=9TJEXK$#08F&ueRy2fk00-X9?O%m-9LfV28=XDYq?sc zAYtNv3co-J0mDWzC>3f5ui2EoI63)fu0eW#J>o5zGYU@TDxI(^I#4~+{U@&jzXRp8CK`~^HuBB{^ywD<4gC1Zaih7i2{ zxzZ*U?qdI6cU-Xa`H2Y5L5+VusHG6kL4bhAl{g+68nTt12O9Rg6{G-8mL>>0I3a;Z z_UWTF#>K@cpN{O5vL zZI=J%`#81z|3CQu!s1XjYC3C`E_eNR*$qIK**5lB%e^ybQvZ85fvwQX^uOw)8vj>a z-QNGItE>Fq1$qA;{Xr60gmYBj>tH(A5MT~LZ|!=UDDAQ-(GnFT2st@9(1>-C8Tb?` znd1}0XE#+o^@BXQfxl#B#R5VK?VCGb%}r}GAU?n|*zCK?`yMO&50s z?Y@96>>%odEYmv#49a)2iCz+k_$cIoK^}PuAd*^Q4>q2M!j^8#KYpCxCbs?Mb$q<3 zDW~`r6>@vk)q_Kh@3KVhF0O(Fwd6;GghZluB-8y|!0S=gWtQ*~VGY8P4mj1GAQ|ZG zZHp3=$W*CKzJ2(YOI)mT3}zb@)Zt5q8Do5wDW6`xcY+IjUB^d&s4!+kQ}=~BFP!i0 z5r>A1yx6I~6uKfEVhn1Xu+e#71)urg#<1brYXUfS8UiGOBt9aTXv8Qf3ofbcPyV0- z$Ar9ST_O|q+%9zAn2wl(f>GTOS0WWn%it5d#o)O_3d~j~UvTG_keCrUwQ- zwO2%e^8_I{D!uFB{x-1D;D?QoGAEafFhm3g0#OKk0s<|KG_23ZtPmg2w_@e0@NH0( z@fl{Z>&fD->Ed=zfz@QTSRwwy{`z{~2WP5By3$Joy}$qM%I2njVgVWm_D?$J+rSHQ zii*Lre7qCpm>?&^dHyfDZrap`x$-~_gaKk=c?E?fqS`QW&?5Ef%7x|)D;Ds~0wSK7 zKoWKx_`0CT;=P(Fi$OMxODQ-sTj||C4#H}eGlU#moSJv@qw*-svd&jGE-!g{sTAp= z15?Pzvc7FL#HZ7sSj977hDr6~P!QPl9A36{MIHZ0*=V(61jh9SXlK$E1W*13uaWvU4 z{f@W3*Mo4X{915*UAgxy{YQOyUWOv`l`VSzvRa~-G#^-uPSkq8TAob%i|4cjN=?~b z?@0HOG1gkmYo)O|p3r|u6G*4q!y22P_Zv51rhd(d#}MDW=dgW`7ZQ%%b0R@x%Mw5V zhW_kLyFzB_yW}i1hJ>7*9ol04@w@}ASkj3R9*M=T5wJ4;_ZCHjHIDWZfBRzNRQ;YM z*ytVXeNN=i=a9u(hz-J)>I{@J`|}KOenATqL|NN4o)VR=UTqIRd@>&Pk`QEJ@){~u zTS`)SY8Sm8tPlc1(s$PE9K4k41T_$!>4I{1`yY#GUJ*$%fwT|JZu_)I!D;grj$HP*ap5Ma#&()gr_<%~#02(Qo*Z!9R4sOTbLS4Fqe8#nl$N89VLx_dM zPy%~1^e_;hLmpLjM5F|aT(uVRzwNfRkpKN7SgTkMUs+upjN@*78ZKFGH=t86L0UAo zb&hC%B6*a7J@t424gtY1-jpaP!@sh>!%|Y7(p>r_7AU1^Lrqsk{5FA+!z{dduE`Pm zRTk;aQ%-x%XK?SsJN=5rO^+HcRB%@ih)fh) z1R492&!Kil#~0#`(wJdk1F^bteyd{)rW_?#)+4M>uHeZ{9=&}-JlBeE z=Hfu`MevI0BbQfG3d>$q_-affQm8=Fl8Lc&$RD;YMRfcGD|4dy+urRx@i#tEH*N_D z67lFyAKEibpFFwB0g$=tbysiyoA<6_jLDix({+x__waZVUiM5>5FZO&x#aLzbPRN0 zD$+)NP*NhE*V2~P(D2RvZVzl*c5@c`Ii~cLTL)9eb+Z+9_e~IOff6abvU$2%gUwMh z-OC2H#OxeEsa3?CH+V~k{-hU6VLfedmb(sb3I&;8NWSbdYS|TzO z#});3cU+c>{u_j^f4)oaz~k{DCH*&Db6H1h8HIt}9v3Z)XtEh4zuDZp2&(;B_mbl5 zRwrCj`BMDir8e28=SA~}wVwMA-Fq!w9fwD!q)Jgy*M;IzR;;vUY*$M-JbvAMpi$(XxqN-9QjHXe~kV`?_QJ62nCVzwygP5AB z5AnCc!XgR3$bC*yOg1(LIc06s(2sscpu?kBfTP8zNW5g^_c68~KUCi5kJE5);DC|E zDiQ{oit6ftO@0O(930dvtwaC;Lc=&hh49SU{fGc?t-3n0q~zNdHcBsE@jzDe+t4sD z%CFr4NMvfw^)K!0_?YXuIirliu}6D+CJE)2^l`2n;o(VH;5b835yDQ0@s~0P2k0O*NdD__XMg zeg=@J1q1;Z%}WfgW+6eo1iu%V^?8OOY-u{tK`8a|ww=ltVZ<5Fh=@$;>ZbF@7hc$W zl#vlKHz!+OIS2|l!U5XS*3k-!O9^#XoM!E*`>`0rKL=0*v~}1CEH>U zbACjTl6mg0yqsT9%F@zduv&QcGM}gV$|a@8dFPY z*#*E``7-3|CIJ!zxPCVR+h*N#k^QGn!{z0asG;&IjGEIm9=Fdw*Y1q;|0c!9$ImI% z!2(i6U~XT$dDARW|KP5O@@`*MM~8ZcjC5sfKUBm{o;Jt7QG=;bV}uC*XLeQ=t}j9} zs2>*n^hqyT;@{@Kjhy1_?xSKS+t!o3XI3aF{QW6+enY@^Bqh}sl$MA}g+Fa>)(Hti z+f~rDIW?kL#5RC+gDOo}FXbKS8XSD$;s7B4&QjjP-Oe!`(Hv+`Rz_3%(G9Y4MZCsX>>@Lhf6ZRQo z>@~IJBll7fO(#gf7~q!-Y)#{a)|QrjIyQ-(%WL~az)Oug)nb4$`LqO>3L{&ky_}*Z zcDy8j8uU8FCB8L!JM-6wBN=I?%oE#k#!sT2-22nT*b5>htCY-ab_92?jlMoDE_ExJG`G9i zGt&B8j~tkd>=!6L@gtO`;hXjEB8zf|5&0iKm6JSW!Cq5g($-4|_S}iYNagb+sX4db zV*G~`6^Yfcql~R?<)Qnz-uEte7y|J+uHrlbX+9Vy&0~92Jd^S*X%Hb=fP<_fnAW*L zw?`(m<65e4b&DCocoB3?ezYWq4F#HTP$Tmwd!P?{UovwpZ4 znQ?dZrYQ2#yZM0=fG~)6o<}EAvKj*152rg-06y&T6{WLVu}^j>O-m(bE#CK-;O;#> ztXT?~y2@vEydA3AEL;9FdW!R8+~TZ_PV>t>1s*||NxFvh3SZvJRiBh;WjVd_rx+@) zqv_`^B=NDs&U3r&+z^iH0Hp_Z2?TDt% zD|U2d+u_}EL;gghb@8sp_S`LqhqEy)A)h~84fdo>1OdjU`etezb5o2#%syM+Si-=A z0~~f>zCfP~pKaSDi%%UySMCMLNT2|wDm z|2BGtLqxV%lLQ0CexoHvivJsXD`?-{WXv8P09LAF5mb3fPsOjs~L$-US8ee zZ%|C1jNbGzk3hAlOoEQ}bPh(yNTox9-R&6xYsecux5d?q9PwAHV9&XK!vZ+k@!dUM zLBVf!_~6haNzqT{k6*rhz1*F!*rtU$yFdNWoIAB^xBTaGZmw~1Mh6ty;a9I1i$i6y zw%F+FX=P-5^~dF%_qVK}hPV7vM+#==CxM@2qNvK*@Rko5QPRf8t5`i}JFV~TZ>0HS z<1{T5DE~zc(SkGYqSx&*m}q^!pj!HCwR8I|r~=}G4=xNL$I(UM&k6h_u08%Kz=H>( z=$;`>_37(7);J3iQqot@M{XI5g4Z9!n&CN$Y2-#OU;B{Kei`6_$ffpBRNTpThP@}5 zAbOZ!F8{*Z-BHY)YPWwe|}j-mr()!>KJ%AQap}MsO2(?=UWR$`9Q zp3x%`06ksQgcCpy1tNB4Q7S<07MIjSJ;MC119g`x(UGl$^Oy5JZ-n*|6%ko?x3ox! zO7K2^^b6*tn*zx+nP3|(uVB3Vvczv1U)h48Bj=CiBBgf!aMTW4hIGQt5;;$$cA$@u z13i}^UNZbq>qR2YjRX*b+8KRe=ar|!+Fv-$a#4}5oXlDrHA>XW>!qF`@HTca65?M}FRZoaIAIY-iO^5U}QEwf4s#l@cwQyy#;Eu{daU zu)H?HwKg`XNyzULDLr&`Hee-Z;l_%rfD^O8g~`kD>OHxgkb#=Av^#JSQ#R*{CQUGbcPRUd z52i@qjyqeZ<0ZRB^+1S{SwK$ZRY@{4XT8^4**!gb5SL28 z)oI`Wx19DkOejdD$p25rNrP37(B7i+*sE#F`DPny`IV!JXII8+&f4bO9Ne{;#l__O zP86)@TmxUR(4MhQ^Bj$WFvNV4Plia^Y3_`x>kkhDoY-)2)ty0)n#FP>>>aXX%Wt>I<@y7ZO*bdW2urGY3W1d;=EqCaZ5!iW z+?I=hCz7IToE+0sZ+|icw6stY7mS*gn;gpLE)I%VrIDjXgJ!LEYX=)Bd6JlgAN>F( zhCz|)vsGa0;!>B>@QYAY(Ry`WOw|8K#aPJPVz=v%8=Z@TOaBylXYgmPX8`FL(HBvL z_7`Y=J|`!VT6G>2X50?$HT~tawM5CY;$Z>7Cv za0JsH^gXGMLSK`ZyB(I+yc8)^>KK|t&XJ(i-->wxLMIyG7GnNON>PWZ=V0~zZA+<0 za2@d5lJmO0HZZi_EBHE?%nGm|N;&#u;7&t2Bu0|HlhOp{h4Ny*_92HZm`8w zrRncu40cpcMBa-VGl@r&8bh_A@_KxI^wSQFyJjSHw!D~8Y$UYO#8LX9aWCQ}GaIb} z3OGB0>1Yb9I@d0=gS%uF!X!46BfhnGN-o8&nZ$liHmj3Z&_3Q;oiVt#2U+p`sxq+I zAQ?d6za(!P@jCgIaA7i7pbsKa5ydz}_lpcfJ>sN#mlX`Vl;!1CA^HJH512mD4+hRx zkRZ&+p4Gsrt}_fwOnb|l3wI@@NotxZ2)DIyV&tEhirtuLSF&XCV54Xz9Ek}~wh96b zgvW$)xcIXtv@TAisKcGA;XVH0|7Zb9gB1$JA4@}{KXu1Yquc)AeYtN;i$x)bohE}C z`HKLwAL=S5iE}%1wm*5AX}(*I`8kTcflCBfE77>@E}X09Pl{*)Bdiu1s3hY_(}E)IKcBxskL9B=MUKBu0%j17JP}GBY`FI>C+4FmgR8xn%r-W zKfB1FeFf#)1mS7A^EhuGVM^Wl-kpm1FC*eRn4-gm-oiFtQux~5)m7=AUarDcLCDti z%;W_F8#xvh7CjSFhi^x|yoL@YxZ{*ss@7;-HLD7pLl9>Wl41ZG%+X8mXZvirVGYOL zA^fPdxKBHoVg4Mh8otku9YQmo^YTLjOl{-t1_KczXJ_{CtqGk3Xr48_Kl{~WQ-3L| zYV}#$zW~$0R3Y3fYG1ip=u74@9QTW~_YUDt|AUUK$u!;O(7hX;uQVayvEPf}X{4wB zLnJG3!O{d1>@pcmhe_D3YoI_n_7X2}Qx-nM#+h0&i5oA|d|sf%@bc(g4B90M*cD$D zj|?z({-r=2%~o1Fst6|*;^^Brb2Q|vag?h?M$=AB!y&=_D~zcw0_IRR$|+l+8T0b< zueM!}gESu%6fY_%PcF{~;)9Up1J09F9#7icYo-`C8a#<8T_2fz2^k%9rvqL~hY21CxP#T(E~TwAHw-fJU~pdB z2gZ>wPsESaf!)d+-(LAg-;pTqAIm~d8XK!`Yya(|h&;MXT7AU)tpeC6hIGvOgIg6Xr z-NHz1@G&AJ&7E_m#PJ_u8kTXf9}(kPbe>#Tz+CHz^wVJu8D|>N*=njjB7>=;%*Ul!ImB9Ogi>rTUNzj><0Q{f8SZ2D;83jUgjd6`fEJ?$y9>?Ak_j+{SWGnPNY&xUQ=4@bVd4Hpdl|*mTxR zXlj#MZSL*@?WfJeq+`TC0L^?%BhsxNgtF{U_VkbmyRF#Wo(k)}U!0Dh z>0#EJj(HV#qBVPQ($^*u7EGCH_1x6X(Xs0hlybNUuwJ)3R6o*+%<8jKtFVmyOlLP1 zFlst!YWuJAHRS#5&>kgf>Ri5;)T`$hRK~N{;nCqACCzDpAqE-!P`_`Nr%EC2^MApd zvP|qr*?isy7`^LH=LdWJAuj+K0NjKMQ(AOqXVm-4n13JZcz9QeB7<<{l6V6>RfKu@ zdDUT5pq&?VU*O#$Do9V*b_;A~pt5_mVgbmjNpuM*xl|!xPkWw?l(q*+H^!u?Vu0vX zTC=5RK-kUxeHq+Ambs^41p0oIPz&ZJh%{yMm713th5c8gsIBeD={t)WjeqL|`VTAP ztG(wSfGXC4#*AcI#|-d`6S%uIIBpxss?PDxIa3h&58?G-c7P@M(%-rK@5x8;fR#Ar zW-)&)Uyz&b@!QTD@R7L3BfxZ`rBpHAeEf=qb=78w9on{WabwoET2KGBOx)FoaX3|~ zEf+n<9lsaozou^%M9};o0Kn#y6^Q7aBNUGekL(TyAH|)@3kgKtNWrqsq%ZdBoG7ex zWuu!t#fkZyPMUb=+d-Z*A_$v*RStq}ABmrX{w*!oSX7M=$kl!8n@;Soirs-qF7@xkBsk6xTpcuvlsabq5! z?ueMk4z$5t0i4#**4}UQ*j2ATw*u`MW;=Jv1u%;%-9zLcrZKc@n{?tHJAD!RsobTF zBZ7>7EEjX!dbqd{pvVC2WRpS%CB>m3M{>9DyRtt8roP$gp#Xu8Xezl=QPH7BNxAcY zm3tI!JM@4w78ha4o1ymNcpw2=+-v#pNj`w zy&PVedL~=!HhtizA$tJl&r1UegP#khZ#aROIq!oCDr+l-1G?t81%T+eT8+Mf?$OH+ z_t#0pUz}njD_mB-R4oa6vr1zmmZ&xSF-J1HPc>T&@s~;{OYyvKEq-I%W^7nx{4FB0 zs5-{GC`%-&eO0mo32LzIQRM2lW{|V8KGTSLw5 zRDvzD2L8f4JZSgLK@ivrv;rHJjBfXh4`El_?V?D>neq}diG%V%xHRA0Jmy2uDQM;@ z?Vk<`jr6ibxM4g!6Z`T_O*22I-I5>do8QoCT56H|G$zt&mz4-g zUXfd5+rtNqA@=V2$=8{*m!+-;Z={juEE+* zZJ?8_)aBo??9m|jj6Mq1%n$&_#0yRyh#>7Rb-G#T2*zMT=hEaedA2!HsUZQHcY-Pr zTs@{5Ib-`%K7~t+&rwxZ^L7pnqDleOkrJQP6bY>@S#iQIdiMA@;iRV!5m>k!O2u++eSksMjuQ z4pLJia7ny!C0YLjgH@G{Z^xuejq;?iyMJF0_gt_pAI;|8r}-gGwiR?25`iY7HCM2{ zK^U*zJag-3z>2z?$usv1`}*1~DNP&!0Z|OvZjh5T|hmu7FFolo<6H-vG5m*-hcX zb@&^42G(zbqJFn577f?*tKkV{;k?*uYcH*sf;M(`{BTA2{cwoNaxu3YxhJ@VT#oB| z%H6I%Jh^e+YlLJLXQQM*_j?*-xwDF!EJR=pLE_c)%Cv9*xfyP`T-q^Rx*wBFjEx<$ zwe^W(P15uXFQ*BY)ZFNHSoOqwpJg5Uw)1b4>r(iQ9nS3?hOaJQgw43w;l&snoQ?vj z9!(|8GP@?<%6|S-KHHkt`CM=G4a<@_c_zL8WBzy!Xov=%8t%irqo%8E{mS<+%}Qfw zE$rad)9zTvT?Mynxv3f?mI{gP7}0elbTF32nfnLH9N&#i(hk5Dz9R$>UEqh&`9>$D zB0|^eJgcEs=o`c7<__=~cDm5|AgO`hR`;H$sBbn#(*Eu`;1W+C&s)W$EOk81X%1@1 zIA@#JVXD!f072j0;>8XYXio7LgKUhIZ;Hn#8>Zd#OWZoUx%^%drl1 z@#+3a<2`dFH2TaSLY6Diq((#3(D<>CPUy*4V>odVvO-7*{r(Auj36jt?*m}4ziw_^ z?vT6GHHPwz@UNLG5rIjK@Di`zWeFhhIt@at8AJdvStap{H)RF5-cjL^d*7B&y2Mv^ z97W5^Dt|k@FKev$_s``OT~AIy0Y2S`)(0JtLZ00$u!S=`nhA=2GQPLBZyGvG63~A| znu2d?rjnigoA9LDSV`%x!CEaG2Y)M^PF2{_kqawBgz%yRX4sjSmoTz_<^~%|z^Wyx zX=sRoeDjOsM4lBB3&@1-J4;Hv{WA7urV0ZrW0<3VQ=glw4U6RD-?;gqpk32~Lzut< zKZWa|3BFHJVPO^D$?R;6h3w?tDM`tJu8fWkNc^5cbluKc@QWk_&*LwLBW#BESKsw+ zCeRbPj06lYgL*x6TfZ2OQjBusoSZ z6PTs6ga&(&SzX+2K8vVJHNv!s$^CaC_q~}Jaz6vcT^QIaIU|F+-;a)PG8v6TJ^jxi zxyJ?}wbApns&fPB5hkxWIk?Vemfo-*Bm_?9>(Zhj{ZM2P%-md#6mRNW?Y>3yyL4pd9KDmSw}q>Sw7B{rF0I`KPu8|$;aKV2_fU^m zC|@U}n91uU8seC>@#`)-5;@gPgZ|GG{XE+QG;v)D1} zv>%b5j9y!k^p4vc&E2goY5i|??erE4049TE$|S6HvZmkk4lw(vCMO+XlwE zAJwo47t*B~nsuV?K#T`Pv2Nl#fkbi z<6!w1)VzyC8>r5jwb3d;%s_&iitnj{qNSy^yt@_(5(y=hNdVfZH>t8!opiOTeEoW< zI|d3xHs5ENZlBeg%nKD2#UW{{`LzzvFOR1LrZjfcrS0slO>SQRQ6Nb70yGR=>|Q5u zU+`?1OL^DM6;CG6NMN+};)=@2$wl}}3}+Va8-*(5b#Ln0^hE1=kTWqYl%+(#d9{b8 z_9qE#xvB+8_w6IhYe)g<_i|mM;c6jmVPyaLnqg;x;0$jdA<^_W)LdT69F3u|fiDGf zxZ-i2dPMY#7*Y)nvI|`RhP}~a^8hB%smBDtkN;r^!bBvM|Fuh9KiQK5CS-Bl3a)XR zNgP+(tgqj8H3iqrQ7#fQmca%1KQ4jM^?t?i*(Xhkh0-TqKq7g(e}QCxB?d$fF?!ws zflpp=aG>GpXI-5YS*bikX)Lg6(DJZkj*MsmY*4p!$v1g6N?sly-yvwvJ^&2uW%~!) ztu1xCO%z>BeKMErMYskf{A=HD7&yZLeX zOd;XcVnL|-C%F}Aixxo;#Z4OL$ozKmi4x~M&z0TXNaX>doXm1!vf8~s5PCRyrvgD{ zg5$0`rS3UP^PD4OYOFF#sjvbL?@+5*r55sUXr0>%Oqa~_)hVk@gtODqK4)e9l@m@z zMnH%(+|7=hno7~A6eaDKFX@=^)0Z^|1(@__e@r!w_oF3=a>V2cyD5(6xXj-$T>|7cI=lML`OTEA5+q|XbTyL9*xtcDuAhw|d5e*lu z{repbi-U6j|Bo*0rDOAqq_9)evYqfztnY!t=<4w65`ORMQfGJ)u)^c|w>+`06ee*z zo{(NySCXPBv3BH3vKISeq6TukZ{t)|by{vVhX8bpJfHH2`Q2Cmz-IWjH=)(7r*mP5 z;G}y4iuJ)EBRvPDo;<^=LYiDVo|r1sOtG7K2WqB`g>@JAecq+IeV<~f8Hb9BhU?;K zINz_L4I*Ok!0s;bkOyX7RxE%?W`YwUq7Ogsqz^2WfskF!cJvC5%Nt1vq&>qP6 zsF_>v4?T}Kzdtts;;D#RKLyq@H@QsabhSI%=n)ZqS!`~B>#Off52ZFlNRwNbc*86y+0TEM4&=4nv(a3c zS@OPX`Ajr#8zIMbu|XodGl2ybWSoKqrUDyk#0XZ0&;-E=lDu8psQfiEpZEn74$m>@aGCulp9pWQMu25RNU*=zV`0c0|G*GO{i>G= z;Kv0e2_Sg>kUtfE{Vp!zL^minIBZ<8s`3cwbWhY-mpzYrz*(R>dws ze>W6`A&5Y(OAUl)_89K2=|6{d3}I0PqAzV}ORIZKRg4YXpq$LgzC* zdHM`O1P)Kr)>VdI{Fw7*6Uu1Ot;hg_CamPmxL&iL*Y=zX4v*3`t{z)2>%SB-xP;<8? z#`e{vet%3rfRrK-`PBHrJI#seQN(oMGzMRJfrNB-yfa|I;yCsRXwE+{#8$6ko^?)q zrg?l7hj>d^555T`XxHL7e9`GmXf@p)z6m@zZ@!4V79>NKS660aqQt`^n9b2+hr~s> zxqB@)E6n~B9-QnlYvsRzEN^d9M}1W+}N{~F}K24_7ETR1I$+ttNm~N~)?bsUfl{OJyTl3xOsY&h+B`QnjjxxFOQ8V-N zFX5{53U4U2c*tmiy2CfQ_Kmx>ozut0tGZIX?O1WS{D&Yc9%|otp0jbcR7-{5pL2pZ zFgQA$5Xr=@Vg*=jm;4qy{U4&j`OhvjoSb~G99*Usj_rFu#UNXf|7go=!QyB>FWI7T ztX|G$vJ8_-C&C8a>v&N+?F(W7 zf0pj<_U7^1Sehyvz(xk^mDfOcGP0JG|MQY(`dzyJd*S2y^c2-;x+&|4kSH-V8{>aj z4ZonWhw+J9XgT(ZMh?`UA-%m@br)XEI>s~$3z2@Ju+MN7oPB7iJvXVg zvxx7#0l#G7SY~CvlX*sWH!WcH4BSCw*k-sGSy?^c4MKGCKJo(lHfFv47)A>}Y?BH! z+vCzkQUz@*iW?5$VXs9#++|JbIe1sY+`f555bj4shO)rtyXt8&uJ*6D8-aYYcPsg< zS;+23-_gVxb~rma(QwKeCS&)N6KTM2ooT22?SkKXnbP6mF6`%Cj<*d1|611EgaSHr zvn_h88U2S}|D2=W7qa4yOS;F*6@*RBX9ks4QsQZv{Y9ptJhi5=Q)2y)hL|&23RPhx ze9~r__0rHkLd9=nm=T(!B3d?e$)jrO2_ydvZTfoe1tqJv(P0{!fDKocxunaaH|RNN ziYZE!JuJrji;7LXMt*IO&nLj~=iMhF;ocZ7K*l3zl&ENt2+%TAFCAJCB}8ri$jc*8 z@&Al&1uq`ot}t1uXlyPe5q1igwv(w(552i*PC|a%LRSt(*b?HHxfW&=kq;}Pc>D{C zpy;s8H>fgywECqWyZiggrSx;4zU2kt7Xtpwx0Kp{@;m|Qo9j}xPVghEvj4^t44~;W ztAw!F-Sz@C3@TPyCy}m=zru_wPGM!`(;cWuNL9gE^O3GH6~FH%Yow8_Lw$w;7y0M z>rh}i@4qRbWxwpeB_N4XXQy3j3#?-OW@`{l=vd`}#fNwe%5Dzgh)j?D4RA&Ym8N!) zEf>5XB_(OKJ=TkZk2=DId-qX!Tm$|ZASMAI7FVsX-A(1yX~D|I2xP7B0+Wl-si>qx zLY{7${-$UUBxABI(|&iT(azh+(6Sydg30R_O(aa<3(vfg>;D{>Ah?(sbz0G`F(DU{6dNbFdZ{O+&xAi(T9rx0z6KI0c zao=I$es>Ax4=wMQqb&kFE)4Tl#BO688I`Upd}{q9UWrvME(T}(@Uq%Yl#hGq#x#y( zyeB*-+Iqgft7ezm%B$=ckrzq9jx@Tt9Ea{0h(QfJzG~7*1rKSq)RL%Kn6U~|S``uM zT21@<`5BN=z}RwHKb&bRFPYV7*sU;1Boz--F@BHZQ|Q%_rI;RNxcHp`be~X5VF+yT z53gpWDeZhiqT<-V03Ny(`wJkU{JRflT$ByEn|}Li_ffjz7}b;BV9!ag$^0uDNT5Is zSLEak9z=9rRR$L-jL+dJPYWK3&Tnt*ivG$am1vBdORY zEb)th`Gw=(8|NS&xqTSxqle*k#H~y^VF8U#xx=MM3PN(a(51>dP5NP+g5uJSd|i)l zS__&t$Ov%k^wz&=!4>XH=wCPgse4|u^*75TO^nJ2y52mMlw#aGSnxioON^VE>;k<- zl29M+?mRkAr(dXM78FcartBnZc-)^m*{!tsGO;gNFNK40m(-STNK_t8ZN`79ikqI( z4QuV!we&=?Tx)I6;|-(%b%4BG;l7iSChRAGlm=AaF(-PxrFmv%Wu^j3u#IKNmWtr> z1N4VZb`|RuX`uRL$jbGq#LP4%N6d`gL0Vc+lkESn_ZD7Nb#1>eEz%|3C?(R}prlGk zcZYO$NOwpnDJ9+ACEeY*fh{22eJ0O)-sg<(fB42ghqrQX*4}HbIj`$iS1-AB`Js92 zTf5y;uD6+7o6Rdy{EN(CZ20hZK5b+yM9g}X_utLdzComAMrs;a06G~O&E7(Y2V=G7 zj_mB5w7;IR$e$);Cg5kCcGa?SoHY;{$vRA5SWwixaHe*fE4RPr?OXnzsuU5!w*BF9 z$rTb^%;h@PmeFkY*$P?yCojsVV?VVjjC8BWYo_;;Xo+DtTHuDd-XW7Z>@p zo6^G5*C=rF55my*D!V`7Csz>7$IHg0B*6k<79fecx^Nnr_<`Bu1(20%e{2o2ULzB? z(5M~IG@=Q9^CL?CEkmiOTt=264l$13YZBP9b6|a_i$ar=4HZ*2uNVNv7GW?SP6`-M zJj6Ocy*F;IZ0D2!hV8-b67d0j3lp<;o5AG#>BR}>&&@@$H^7Ye^siOTPRlIm=uYaj zs2?9R?E|9%-wUk)*}69xbxc}vE09A)`DSRKXTIDF9~TRBLvBT&9(w5{?;5kRB3EVd zRzr1EBl|=6PeTL_!VZ{N%DAgGOc)**YOL2{vI%qLgDMG?m6cb?s@Jpis(S56{H@@G z!(bXR?7Kvl>v;`pnRf()TZB=xP8a8$#_R!O(2W_LR4P2=dusH+mQs{1NX9M*q}-7*k!DEnFlv22YIX{ZVd`P$9;$`o1f{78AVvZ^V1 z=*15a7I?+Dj42EuFXdi|Z)Lg~$d&4X8yvt_mvvh>^Y^oSRG&BnRKhMcZND#T1G_{+ zqn{6xjw9N3#T^abPl2+diR+_~u9~9C5T69fDMz})w_8hZe%})$ygKb!s!sMly&ryk zSvWWmsaHz}=DF8bvoEv-uKSuDCRe7>oHW~Q&69|dO5REE-mA()APM65*yu%2+jvvT% zb6mq1#j>{E7ghO8!-S6%o+LNTLr;lw0%A0{L}+^bk}wq z$)&!Fse*}fhS^<;T5D**238NMF}=U>om{WP^QW}#Y6}s2&M*AOcF2>nV{R>H{feRS}(e&&uVsg;y8r$5c@Vq^pg5$wbBe_p~A12UEL z#Rc#~Reul3M4dki`3D#yqa}!f1lnSy!69vG#1`w$NOLN$v zs`2Q*#{~^=-rf)6`{%4bKbtGnY&>@3Xg7Hfd>)zYmyS~iT`uALAh|f#Vo-{&!ZpiD zh#xGr(dEvZ$`kg|-rRcMPm=?!y2n4f$ivTsG7d?U2}dl;yeDX=zM*AZkR0>HrOo?K zk^6-LSqh<-mvYQqt-s4&euu&SLrsPE&bq-Hip{L&36nDrm>Z~WZWV-rx?{pGbY(UA zbHm`B=3;_AAwErx2VSyr){X@{m;hqHNt`vcpQTW;BWw|HqFP!hQGvJ?wDg+ z<9JlAbU{NS1d`)0$8i1>G*%n`}dv)!mq#8kIQj2wblQ#Kw{jAc)nM(N~ zprF+9&IKJ`9r)gODIUp?;**%jgQ9Y|>`_B_m&-)Di_LfWTVcj@4B5=Oeh{i|I7ne5P zU9&woJ~4RlR+agM>o4Wat$T;pZ}>1&xIPnBGBjgvP$6TDJ$|h=w4kzC^MniN42)A0 zdc57XIKB~NMMM4hDg5a%HKqYXnrR?`l__xbv9pS4k7P+TSv;=%d3isqCzaxl_uG95MDE>Q zan+*Oz&j}jMHc0w)UU-2<+@!R2+7^ZIaYBTpGdv1JO5EjUs2T@6E7y%@rFU!yn-|Y zvvqGal$MB-ZDC>edf~<0$qbKKiJU;Ngr^w`SVQUIdwfwd75e{tz2Ex#Yxij>846yu zw;|?_X@^W0OM-8TPH)({6h5hp13ybmXvZCFg7XbFd~LUvOvCu7;U6;{EFatu;Doo> z8Blgi3}?c7m{SQ~+AAttXgDJJ`fjqLoW7dBT6BS0;%wUKuc@ZpZxBaH;)0cNJ&XU6 z5f4RME=7ou`6{J*78miR@p-t;gc0-?51~ONYe9+42b0>n`vvf^ws;<^BpXJ9eQkOE zNCkb<_h~5e*!Lb15-Xd|(}qbtA7tAm5V52B20R>K^+xX3Q#4z=hjp>iiYQ?kOJyOM zD;IU#X8=nmpwl=$CtA(|7USO%Qj!5(i7h*cqv>{dPyeWFcO`^iJcrmX$N>B<8uPUS zqQ2Q%Pr_ZIgCQ|wQNe_2;!5FjcgMmf#7Os+=mqA#jWV5j7sPWUnnMB=KNF1vm1*E4 zTs`n6U>WYYEG7BfiZL=a)|0a-TjP4(VayG=E$wUY*{_@;W=KTPhh922cwMwXabpC@ zXUjAL_v^{K!S@VaP{SO~eaTYrJFd`Y(&fY)N@B8epq5j+N|{di@iX%9P#DxWkn@oRn;iX5SI#b{y&LHP<(n~?KHb)*O^NXiL>TR@BznHC zg=N?A2w}q?#HQf6$XP06kePqF#qT#(%6Hv9a|8O9P7=@h%>$k*N-8QB)jLMc*M#l&H%p-U z3HbP8!#tFhu6OfDL^u=?u~9oK3P@?3bA2&51Uw<5J<)iAy!0>o6#Bu>3lspc+}RoWQUUy77pD0c#8cO>rGFzBkPW7{(3S+yO4z$$H1?X(Ku-@ zhb`7RYu%vZamtwJd9c<>v~)s!ueX~+W6qYD&m5{xPNZz91vmz*r?Z(9{Lw85AW(|7 z-OcH=LcZ9Plt5tOgogHXiE?oIdtwfqK-;~b4o<$1+eGc=Y8d6ZP-lXLjP$VfryH#w z$?FzP-H;QI~YM>NRS-sOMN zDNs(uBY@i}b_z8eeIB-xEFuz`%+2IDIn{@YPaJ5Ss@k$X!NkW0d#AU87Wdxi z-w*PcIjH8n-O$kf@#Qx)ECO8Ej3sv*fA4bZ-VB{oI%nBol91KqDECGSxho?=5HUcA z=)QZs)!$6tKNh5YD5Nr7^eTcXS;l*uis>)do;DLb!CckIj~>ape|6&xHtx0WZ~G0H zbbsvQ@C`xFV$**{>Uo{xZ_-wLTjjfEJawE}DanI-zJs1e|AG|gKm2mqtP6{Y=`I)c zA&J;Avk!XRx5mLj_o|)GVcr7b!EWVafu4+0*r*a#WZ!drU-|on{ZP+X=qDxero^|t z(GQ8=HAHjrMoDt=>oHr4gwZf9u<`Nz0eF*7qm%)--dRp`_yFn92ni*n`btjam(WxNQ$$&rjgylL4YeRzVWEtZ z)evm3!T8kF3llY-Po}6KH6G(Knf{qX&=`oXN1k1Yb3F9F z_DDoywZW{evld|zP)OLSW&7%5d9=c^O<;#coVBXQ0MtOslMZR-J-9?kasMNC^RS;# zcg@UUQ;x+&fr&K{7$p&>I|#G6y?w#T`YTwJ{)3@7Q+5t@evMpAbaZxW z4k|qS*HHLB!0??}rOTeqXLmdNCP9Upl2y;-(e1>_R7g@C z^JrL=u_Cj}(egj`vV9UQ)?6Y+Ie~|LbShs|B65P5et$7t8Bphe8I~p*H0!b z1qRTr^E{ z#=T!Wn{mKL9vFy3#mD9|Nf%bLi0$O0IoAQE6y)Z=k>BU*o9+At`&{rkC<$igCy*d`op|c6YaBM~mzaoMMzdrwM|E9Wewp&mH}o@6%ym>Q(JU)b*w3 zzWqtV4`i?V>VWA`1UAGr0UvxW=XcLqZjt-bm6v2ez{vqoN+{73rdX=8`X%`qyjrNe zpk)Y$^&K{-tihLvJ7aO_jZIEYmp4B{QW~LrlqA+vpos?O0?H?-ao#mvVhR=oAqA8{rf9MJ_p!qf|aOJHxXvSsMaV(sQZ1*bx5w zI-&}(X>SKLA8KBbk?CZxm}+P@+haPTTZ1^CAIMwAW(qVo;QIeKB5(h{52~itbu%Kz zOrKk;10Jlhu%I(Xz^Ng*$D(z2)BHW6_~33rmayUtQ!={q-u6ITmR&*v=Z|vZ)jC_5 zE(;v0DCIg0xX)*&Ran3@CF4gJ5b*x*;X!wNRX!mxIV? zL@O*s5UN9k$r(RFXwS6W^S#)Bb>Nl9cHqVRpBv*7Vgma3!06f;T?~NR zd}VsRz#lOGpV$ANpMoI9dsad=s>~VtKlkOozaOLicm4h6hCTnoJse*esDu9d-_L(& z7yaM2|KES;V)^fF{_pqx|1aksn*y9}hBn!ABpp>~Fd&stc*>0J=O@H=b1oWi zV{`5gMcV%K7m&jo1FkO_3mJiVjt~t=d1e}*4bLOtI4+siGF$v^d%0mczIki0vGAnw zhf*SU!N+`Lv^yCT0-4nkjq}xx99)BF29@f^z7P9mFfd^KKb@~VMiU27hC-FdOVl;} z)atBrC8>}%gZxNG$FRWm>7nvK_?IGZ!BET`9Fa=#Al6DI>b)Qb*zs5+xxR9X;`qT- z{vhsIt6&Nau8n_8`Go&>w(#Fb|D&((6(8st+yu#e9y@*h^z|s*{oj@UyfWF0V!Pdw zD%F|Xw3WVP_q`%i#%yk-Wn{+#d$4#kmEr8f?)mlH+5&$~i{`$!jK zyr8>t+QczR)A&xIEBT0OGL7cJ(TE+&uZDAZ-2m|#AQT8kv zkl0Iv^79&IUVw`p+(Uv9RsKM){P2|(EdVH<7q5Say@oZkQm_A$Z<&)rmuwR<28Fcy zoWkxA<4J#(3;cwC9iQg;XW2|a2(5J$IeqnbS#WB+B8emi@O%8bbZ{2}Vvv9>u8o*R zcDP`ZEFQuFw&yEW09T9(Dka-?kukp1ZFYuLf%Bq|WjjDX1Y(N`(a}-Tt~VHySO)0K z&Nxg<#xm+XNBWyV;ZfX-2~*)^0eiUY=}&b)&saEn%TFvbBDit?T}$8Q4`jo6r`fk z(y@K})m4)x199E4vTvr{#t2smHX2*zJ^>Xte6R^XIlws{Bxiy-$Vf82kmoO#pMN4f zywE7s0@J(e_}7k{XhN~?9wEyo)AQI(keK3ic^LF7SzeR?I9fB|w(K$tKGEU=ps3N; zcByK%7}WR!yjOT5r3x+=hUU@{liMXJ^YfM^Js3_=NT2f zr_Y%J;%>V|OI^wWSQWKCOG$df%LMFE(b2_EIYwz=swV|W8nx;&CyUY7fLxGOKd@z> z6>)`zqxH44FoBrPWWKDueJL#|0_7r~z@T7CDq(zk`w6gl>n@G1*uwdVPx#kG+x&I% z0NevL9|J7ty4yzJYmrK=)Bo;MAPiMWN5+8OrKOK=_khpC<8FL@8a$(+Te-Zi=^Equ zaP zR?IKTM!oH70kRJOCI97toJA$pFD>t~BoA>O_&E+~nV6r31G_$`!#5#Du}R;N8?`Zn zGckoTp~^Xiw2L16kZ!|D(ZYX{Qf54y?=_#VoJzQNn{&(Y4dgdfIbCz~r=)?hJO1>? zpxE|m2GrlTKA_2BRB7*SVQcKaSYM|ESgJW^x4woJNeBWw`Jn|X;je0m#TQ7jRF~tv z(bjBn%zUo|y7er}=m>*5L5Fo^D{r0sZ!cJBA>a{~3oZ`_+-)j0s?p*$S+L7vKrI}$ z7s;ll8GlWvlgUs~ISdbd?n_FZ8=1FNRh`jDSA@x?eqZ^Ea?bXO*Hlg0 zTtBjM3T~eM1f9RiTYSTVJrmudll-x017qcwmNey-MqdJOHb;|*#LU()N2(2d`EGb} znc6Hw900=a#Jr72{I|YcmuGq*Cz;qkZlVh^ln3>6@xH|oV<+{n*J0*q(S zMba_S1 z;8c&zNJ56`AN&-cK<~F;C8pvG3B-U_K4M~g-)O(Th5s>P>g9gUskzkLXsNlB;P#|b z?4Y8g85E&*2n+MLL`MMz)o)BDF3~fVZAFS#st5YtYbTotIUW)dzamS^wyobjq<+JI z@9EMSd0e58Y}Voo1)A?-7#K@c=5yXFiezQGF??)t|7Vni{8jtfV7!eTFHk2^K_Q!vuj`WTuxsX4vk00j5dAQyu1Yf&He2WX7j_R*Es$r8rls`xNl74 zy)&L3(>$XA-rUji)-{XBLFa7`HPvj1X5fXTnj2?yiP2$^^)R1Es%S@F(&x984n2lf z`{%EF-A!h`q_tbMatm+}*|s;Di3jY|w?Dz5byG8OB4?7ik8P&_N+_+_4Rxgzo;edy z79OCtE-^@B$~%9ZmKNj6+aF+~J|D$y8*J|(oTC>(uKP|(kC(JTUr z)dtUY!Z&$b<6ot8oM6F;GxHYTZN`M|ZDu3ajToEF>N|VuwSCN$$I)!W1whlz5=}r_ zo{5?vwZr#9xz5uajkV_&LbG=qk?xX<9!2|bFd)BUb9BWJAQa1^#ef@Xan?^(d-1nA z*8WT4+!q}w(?xC%?5%RT`**0n&wQRv%QKsD^$SaFC9GSkwV$rL;eidmmuKyve+2|v zmQ!=hczdSvdcVAg0bs08BUu6!1qZ@Y{_%H46_Lk-t4s)B znb3+tIxCn6lfX_%ctxHBS@U^noRTXR0ji4a$I&5~t05tcq@J)Z1jmq|B{`JD`OaNl z_M*NS5{c`*)G6>;3iFamWhuLCtUWp5z2i1JbK}aX1rW8Dw?~)f?m1Fqbo8dklLJ~z z=5zyZDvV`T=$NnwY{0}{iJw!Du}trX>`lf|={Q+9EGEpYgq^`X$@`5lsn(t0;)0?c z3K5}TKn6gq@R6^vP!P2}XSr)OK|~KdIGB2@Toixh4>}!Q{IzEge%gEC#K)T&Bo2FZ zXj+X3PWbDG%=X^(U#6O48k)KzLeTl&p`w(cO8#6SZfdTXW9~2e97@Rrd`4v|;lPLx z-k9D|u%ratlsAn1K1c;O@~-!Ff1Ck&LPKR%PV;3eLwFn-sciA{O>9u|6Sm?UN zcK@AUV?=!}U0#C^ct5_oOc7^oVFBSzm{h{u`9};wwnA9iZ?G4!$-wRh_UO2u8KD*9 zzZh2JZCTf!-@DYCnfR3FC*KIX=JCqFP#P6;A`&Hlm|+bq699M98@1GPy+?9onOar+ z!uR@&2VBsLZuKvt0Ia4;ROeX*%sN5&YF~Zd*loqA2L%+BV8_v@u~B6p>YY5GG3>4w zekAXn-o#Hb-XH8!@ESz{1e^22=s-BAY4k{i0$xbGneuV*t*I?O>+>&+4E`A#cbUo& zAO78`uRl~}HG|)AWFU?X4+V>Y1U`NsaIBp_?CF00W?(!2SgIpkr(H z!s?GfBHou|VAiRSu+&FOy2mq?KD*sL_|XMH?w!7joZJ$8-@CoQIiKeqr%%4Ua_>bQ z_tuFU7T<@%iwjG;^Jdfr`~7e751Y=BcUf!sx$jkH*Pm|c+c$U84bcR6MalZuhpHN` zDoEEdd5_d?yf!93YqvdON#?u+HEGz1qV&fosrA=#>o*@`&Uz07B(5K~UeTFVi|WrM z0!s4Ow*6_c$9`+BE~D!j;HW)EkH?6BTA5MJUAXm*Q~0|@Xk()SR;AZ8Dqb@SKNOvlBJj7S+10{*yiC?}tsu_|_WbnmX=(+JIbTd$xoW&FzjnV@3+ zv)Sbp7#s*<5`dKvW6lP@)6ihN;BN<}S-IhwV009b)j8H6Z{5MhpK-pR2y|tSKUpWgXsy*!Y8o1(iArIdR4r+;1u-d{jUX zk_&qINA0UM9n~9|jn7Qk5|otNLZjV5xt}KFOZI9e>MzCk`e|)5vmzJF`0Q-hl!z__ zujYDQ+G?o^pFu_ys_zU8;ux_UfB6M{Mhe7D4wNMl_^iw&thW5jm+i zTK+B+{lTlR<_hawiFax2nW>5X==-Xa%-kqQ@h?#%-j3=v1OW~jX{P)7G?l_`3-bO; zG*(fW#THuUmT@zL6VOkN)5(c*`WHocxT{0v?2y4)0dw=OQn7+qBy;a1G&R}J`N@pg zudG#pu_t>|HZ)MYL|d2w@rDnGMk;teTv*i70J4BId5DWz5J8~6T*^TS4uHRlONk9m z7tH+4%B;knd0kF%d~T}i)1r}n=e`za!U6i594RgUgLgoi51XBxE*&t?k^pEn7uY3% zSQcI!V8l=N)>^JCX5^hU?_;+LATPr{MAl!nZsLh4sp>{?KyAMn5E`4&LJ~_!c%eVQ z$lW%i>K^vp=PrWBbU8!NF)CF`puV)HDldYRR0+Pp?S@-(sj1R?--BlqhpbJ|<5`0x z2!nX@bH33V_cix>?b6wGaGYc{yTa5uzbhyzyCAmaoZ!X8iiiV=RKIuR05Lv2%S|mJ zV%Ft81UacNw(o54vF-!l?l%(+WJEZt#R|M)Ri=&J=Iq8-eeycJ1*3k&JmdyGKGA)6 z48kK57In1(buBGO-QAjKn3ndJn`AJv+0D(aR!&XKw6qSrCR>CX8wR}B!885M&QP|5 zI`QJ-q%op72W$bc4-7dbbsRFFADH~~-6@k; zQe$coKK$wH>oTnSRi^mOl84+--wv6!nrO~uwXYL?HRpspc~&%^0|2Huc48Pi+a{Fn zxQJSdeA1fjaMN`dVMJwizqHiY*G4ckUR4n4tf;z^5@Gvatu3H}DctclrXblBayvq8 zoco5FnRyZ7I6bWq;==&vqE&lZjH* zAqt3*V{oMJocF08G;sPRL!9^}uR8ecqaeMcol|1B1MOd%dK1Ki?5AbyF zK?cTTCxDJXylGbMa1nvcYK{L}pn~MS{Q`EpsYN91_J<#Lt`3GwfM}1IpEoCrl&qjepQ!c-IWJ!XaxwLbLM2$aBg$itz zA!nRG(G;y_R-H3-1D@~4&*hy}%cHcIqQ)PtYit*0R|mEOch211AQz?mL$v}`+YWrH z<=Xz&4dz}K2O7*|;y$`G4vy@tC?A0O>>yQ5fGjm$8V*!vrl5{$AcFwa$vp0nx0-4` z2PL?YyQ{X%*H~)IEP(^&e`>W<;j^lmI!n86Rs;IX>-iogl{QaSv*yyHUBY?{!9Z+* z;Uvd`LTgDAXBzG@z1;+oF)MD!d>Cq4HQzJq+*ZFP)8E@G2`PPO9$#6Bm{%`$AR)%- z+J@pB+rm^ZPH6nJh#!5&m+1MtzY01ga!{%=z3X_p#Ldsp7Y_w{NL_(W!33w$K*@RJ!+N;MH5~Up+;CwDSVM&3rm>BPXHTB)~{oW_juwoOxpy%D`!CVKLz75C!@z zHlA4*D;=nVw*5qxm(x|j@v;3YfDKj}I5~AK7nnwv$eyibI%2{A>~?$?Jm=KY zlS?b-Xs8$nHe2}9qaDBg`4GgnjmMcf!s~O(uAYRLIo9nNa!JWB;BJ$jpZAQvbsRlj zzXInQ@Qdxw?D9`k%h#8#U{esl|LM`!?`X4si}NxrKAml!ee&^+`ta(bY;nUA2rfOi zXe2H4D1wRU>mIeXtaKU>&p+YpJtQLmX4H-pm5=E=u?nw0_~>$jjpGD5))oNdE929L z6Adm21AwWvZLgfN_`)X4j3jcm4)eIJ_k_#eitQ1AUF-ZAKvM_j-V)U-|f<3-4o{n;B)CP`CCMs^M*`zJ9rW>0DO z&6v83!6p#obUc{E6^kSrn|jc4*>C(!z0L`nFt`U%OEc(Bq6`CS#sK+EUH;G*J^ZIh zL~Z-X_(vJjkHb3?V|8bnzWAS1oenW)ufc?x?=Wltxc5*As8DBOmOE~0qD{356D$AP zarrMw?(|i~j?B>kNzH{;!%)gLra(6Z_klMfYJyh5YChQTxuv;c7b@%PoLZ+Mvo`=R%C_H^(fhH zG%KwHk1l914gijL%oU8XOn#o28K2ya0`BxqeuOw#WC^jGD{xf8``&!_YN@mhS@NV2@qc(V|CNkK0McOmq1T$R%LwIvGKm#eR(3i z3=S$UJ5-caO~!?h^uhr<4-z+I;$~9p9gv${WY9(9cL=0}JyC@>Hw(;2il1tnb8^Aa zuXzwEe}#v94K~+WnO9uPjoz(&K7@pXA3UXa%szq5Ds`!4Mlj=mL+iY>NIvS)1v*W% zpuw=bc7Y+a-&;^xFIoBlB=B>+Sv4JYYSxApH1tYJHAE#`f+~#6=dQWk{o!c1v6zE< zwaGe~Bumr}$Ox8otBp^*$cb$VJPKBNH~k{elXp zB*@F#=@LUvA~IWdxAg5uyBilSaf#srzVhrRtaesHeb4~+iMz*VkR^8g_W_=qti4#3 z`J1-s$UD9w4iKv`xDAwum*T^zvn*$XI(04=>>s2wL^ys9yPY>!X*&GXIGOC7Va8C9 z0vrD5!wQ5pdCz#ex~M$Uu?a-wdNRdwiLCM019@Y@V8(w?2;G|m$0XS|ux`*&A#&(Y z_;%1(ZYf>1o#MBMYWI7`m^}J%w5W#M3O90-G*|CFk^TNprFV`hk8;7ggZ@7~L~LKb z>775fK^l2?z?{j$xY)1{yxLZ`-o-=C;IFh(c>0vd9_u*n4RE6j*nb}POi%!jxC44p z@l^ZHW{y7CpkZ@RNye{_bY#nl7TK`QeS>V&2oWT$mzGE8vbB(jT)nCuKnt>lruRV% z&VF<0mao+qyh(N}`cjxOuJI!yWAmh1Iz-Sw^WcyBrBdrwH99h~pSsnnO`rpP!=mH( zQ6Sj5JuWWeZ>_(bxjC}&w^^OlM<27Eg4~+kL)N#$XAgvr9KUP2GOj#Fip0w$1RSb3 zcxk#p8C}(6Guf{8P!mRyqhT{CzGaf{INCdT`gJXh;pV5X6a(xmoD(X+@Y(fE&ZYx% zrlG0F_c?Jgr9uSM(}UjLobR&GtASb)*LOCjEnE!zR^gURlh%quKpTC2fq7lhAcque zkVQV}@gNWBrX5Sr*C4dIkvCx>1rhPT@fbzoH2TTMYn4)pe;8?D?zs?kRa@P zWp9sY*1@dv?}6S>8gz--QyUezv`ET^-c;x1C(o;-ci$*{n+%Ku#M!tO=BPTdKOV zT=KarFBuyAA}3Bct(MO(edzf#B<)LubzJFuwrH`|XHWKzLcy~Y7}PwRNTV;xbqE}E zY}v_X8^Fk+&lZl3|5oU-^)rMfOC7bz=YW2G)Z$IDOr`M&T=~^v#i%Z6Np_O~SbXkp z_}RZ}Wrlc&B299>*GUzwf5`2PyxuAVlMl#xwZ#-z`AF_;hpTGF7zh0)9~v z?$?%Uy1VJQLz0tYNjEFi5(&f8ELtyj1I@)-GB5V zz5OF{nQQ_^P26!bQtfxxUsHWI^U#NcB>m5Byg-U%`T>AS4n>$?0rPbRlbNEw6DvSJ zPdjxUe|A-*%(|3NEo$L6m!|0FOu)f8zh`WsKHEe2W4f7l3!h|YiW^uM4CNFF$(*Ad ztgNe#@XT`Q?vAZyT~uSfMBb93B@f`6x+S5Z&By#Sxrrs<z`x2n(CS`&R?&&&@a8KD z0C1yTpWCk4lT3L87%ZOhu~9`^s*O}YKNHrzZ)!SeOnu1fbMIE{`{*OGR@OJ zNHNhZ*K6p|eZO^D`vUy5zVYz_FkS6W^;Xc>1}P5p6+_6`eC^{0T2zG0G5GEZRxKs~ zY);8e9$k}*IjlwhL3lAVA;N3SvHZKO`QJz7$*p_sjHo|UFSc*HwwoKwhxDMI#a@&M zG#LTrp^TazQ`AAJD~+(+H2$ISMv%Nq{5`FUF7F2#Uh?wupvkJQqcBj|2FIhgrTq_v z*Z?K*P!1p@CYH3b8!xGgFj|w8{FHVzJh5&k*u^KQDJuv_TzvyVP6o}!P*@2^5+K+H z5?rP4xZu#oA|Z>$$U}+xY^`2z+87{KT0^wBDML_i{{fu;pllVcW=l@Pi-5gg{bb6K zlA_sg?-8xc_hFRokHpyD`zxLomxmpN9Lb6rD}dlpyioqOmyhzNN78U)P~6f-oM()q zq!xhvcin2Zj~JE$y8AKa=Rk`Oz(=5R-;TcEw?Rr&6WoqI!)JD4Rsyzfi`ty)wWm|5 zqp^c^KN7-m7^3R6*~d+d!G0pod@*!j2oVEzAW3H=76&^IIz(F8mv}_j(N~zQ;kMD4 zA#!FNBFM0Y*l3ct&-^6E zR>E7)vW_Yy#^QZY)Z&n(w~~`Vr+8~epPfcPEBdXI>iir7O!#RYA<$G?8{Wl`kvZ|1 zgV27Bshr}2X%HWGEG_Lbx7`2JEtOYbTeTB(F)wE$hcNPnhzEB+w0-WOkiVS+T$AEk5M6YsvJMSKdFjQeB0}BkFTgv0{ zKxo7522R&AhpEQBx;E{7Tev@l%zbG}3lMIzr1Hqf`Iw^tW2Lpgnr>&BoF={rvuNy? z9T{c)9RXy6gU}V}S1&@Bi9e3fEGj~wmpyC*|F8^xO?_tG{C!&}^tHaQG5&4R=4W@N zcjdjo&Tq|Xb$Y{XHP>7Xjs8sNvo(eFkBy9qYUEwGIlnhTh1!+bn%6OuU8W6N6o&m( zC<2B$NP>`54;O>5sa$y+(6)=3IO8&*1yGExbVwZ?xPBGMt3q`>OkAAhz)oV;V9j5R z8G{-Dd@(NdON_vk?D)zQCca-)Gv-=moBz<<5ol@!bhy!bdr2b((iJxDEF77E9}bg3 z&7seOEP_B~M!m00fxhG3f7xC#-W%OO9e?wKm6bbfd)Frss-|#lH3#&IeT!z{JBE z8q8n!_H9(N$bFL4O9}0XIJLWwe14|eM4Vx5DdrERSz^eO?Spc0H*<8t4e#E^oCV9} zLw10t=v<3GYQbh7xUhtuZt-q!58{RZBL2EpiiVpTCG4aUps2!XX#XT)?H_feObu5u zBTijatrEP^ud0mImYj3YGlL1(=LIu`j!?9uG;XIIcXr6msa~vzBq`a%1@Y^ z=KeIa!Gu|Lv}{@1M${Y4x3g8%s7O!AI$nm{21rE*2d^b$yXD%%p?|$06Xr?c~ zARdXG%NF)KQ(UWrV~sX8{p}#DZJGKI>T<^013EYNX2*6s0Q0>oC6oU6S=_N&$9`n+ zQ?E8H6%__>v31=HT>(zqf9>gperG$ET2K%Vh;662YXFWa{o0V!$8#(#D!PAcNYY2Q zZswa$I|6#t0XPvrS-n0rCci$DPLdu@i-a)Ww|sZhvUm17aabNvBk7%nUv^)jzJbuJ zfa&p`lgA;it;bjYp+cg*S{7;YP*;q@%Nw5V`>oJaE3G^02QM+>+#bWuWI&1Jjd)B8 z09Dxj9J54c3n`uZI2UvKNl8C_BU-adOXPtT_qw7zQFx}Zk*E-m+JLnT(iVlT*N@vQ zN^#*aq%QNmjTREak&#M7SB;V6cm#A4#*Gv@gMi;}w({r6h8q8?1<Fq7;ioH=;E&xP{k2n;c}srjO*UUzqj)}@(jw)j=TS;oz%`@ zog-L$H8dh4Wxx9cM%2jYtwS{j@EA7YQ7m9EAahK{k7xap0FZ#$6BjQY_VCC+n!SJ# zeP#IC=%4b)@)>zX(k^>E@32}0U9fNwV4swcoRcEo@#-r`%W zb;;dGR~p5I7*Irzp!035rGD-7U!dhxKRmwIJmj6uMXFOkj+1`IHv%n&yV9BW)5q+&U zfWAfTcZ-A+$JKe^4G)je8#iq&&zE3hGGK=xco-=q>vU+jyDY|y?r9YD@*-VbZb#KTK#tCA z@=K}%iWq$Dc8x9L$QJ{7%WmT&Xh3I_G6RhaMSgE=Ob@Epni|H&k^H?B{zKlQ&7ia8 zXzNO8(4kXzb^lHrwBTM`)N7$; zf?bErVU<*l#2B6{8z~o;+mZ(tT{)yZ;>8k-A6eM><{khoO2}1jIh!qBo^bKqx5vdM zr0=Y7!DE7{^)O#NwWwRV?Q@*t>w_+;L{!}5)%r9ZX~)?=YCdn2zSvtwpBCuH_8umu zlp2(Yj1XZ-UcCc~FT*%2nU|NEbd3u{4bJrlfG2+U&KkhV63wN(p8?MUFai!6vrhy7 z+vT~kmeSVdbZM(1U-R+B#zzG{VwMd^492aw{ELleoX2{|1LVY^0$v+9#_*Dbd%z)T znm5h}>Pq=+bA4rH1Yy2Y^4St?K>1Pv%wEf9nX*Kq5euj?FclTCIZl_(&K#*~By@n) zP>_*1^|TdO7bxo(F8Nz0@(BGS#JM#mXOvTg{~d>jd^N(9 zS~KTQuW9F}R5`h8Kf8Iqe~)_QD&FGxo`<8Ge-y~sfcN5aI6f;AYGtY+b=b??{oBgh{Z+J=7uHgJN#}QR=O)jHNky|7Egw|heppUDqMi9rNif6$|v+lw=r7cOm zbGt`~f5~oPm|SMw@A;>d!heX}Zeuz+`wIWK1exaLZy@eq&`H$9RI&eR(jpZXpN(qz zNcfIw8lNw&_%|2|av!qiUx4H5JbiQHW^|-_pZT;+)ADpETt8~+yJxSP&VVtoH>Cr; zUz%-;ijm86_WmyW$H$QykiAe$ccB?)WsTkX0~3G4{-P9F>clcnnPIE++7%yF{AI3~-S-jE zrBpRyPt#Ln=hYB?Q>%?`nGkzpV_v`)R@`2OGMHG4RM#S5E?^AuP=QY~;GbhCF8C&A z=BG^EyO;P8FwEZ)hfpg$p{7g>X(GjO|2Vj=TH@jpyBiOc?Cpa2^!_%cjkEtF*>W22V|4i@ciYy|EC zL+q1mnC5ErgSH3LOO`r%2yox#;`ttj7X);6fSKFKndz$oBbd*XQ{22}`ua?pn)J(e zT)qc=WwVa%muN>?t`THT{#NZR`=2gAYW%$XKSo)${x`3-6+38bqFm}xwxr=6`CCbTU7KYb4{(*mrax0H%;29 z#*UQrbqvqze!yykCp|rp-_oU5d0<4Qr|Qk<)pGTj33AXZOr2#tx!ArDXZzWG6_omD zcbA5RPzOex%^h(pJ=j?|VCR1+4kc!en0WI-eDG zWUI!|)D!_l?aeky!_U@2jF$hfOGsv!Q@>c(xy(=>9(`0h^cYdGs06P12K*td8hQ$) zLY0@?grBZ=nyXno>Fu6VCp38`{zShjPff`ufZYV^ZFp?EjEraovW1zv%;*HfxD8th zH{J`IUYS6Io}jW2757g$vn?JRik0fdch*r~7-N3Yf&m2@b)m*UuXw*D@k|D3o3a12 z`*-cmyym1N&Iue=1oRPMVLQE2`Bg6t>gY=%o#u@4-0Qq-LF|IP3?f<`9F>Mf;h0m# zvD;Kkjip7cq;={$v~!Pc$7-Z&qr;2yqT}s}FAA1|6s>BD;cO@Fg2pDf{85enhF@#_ zANJles>!X57R7=nZa}xvn*ve=q<2t}5~}nL3erMH0#X8^0xC^XE)DUr!%7 z^x)B>Tc4`4V#7as4x@Q$=QUKRsNa~$zjMNh0rX8FXMP|l%Mi+^9=BG7`#??{^~J;& z77gmTd0`&XpJi;0PV#3Sq&n`s+MjOL`2YksTPN9c318w!CST7jPfyR+N zfeTs=Re(|c-D)c@e!d{mFp!qEK1y5VlWQhd3$MAFmbQh#&o8CWlsgrxJg|Idvd*0U zw&f&kn}KS5*IT(jen+1oqC4=32>#DX*?IHvqxgK!pI?<1kiaer1Pv9wN*IvN#hj^yUgq0NeboonepiV*#gC`t#1}p9^c3}_Duig`CcDKgmQXFDQR9Y(E750Z z>Ss9rxt9k+sZDTbhR2w<_knsVy8=&5b0j6+^VM&Ol68aZUj19CKqTyFT?#Y4pJ1m!znt*Me8mN-44`3ne5V8Pqmz=FGJ%P|olb-$zm z26#4(HWry4^H?>$n7}@(+QxpeaB%G2@RzF}?XSz7VV2k0AzD(Ea^_=Vv*W!6KIr)6=qxeXk?7 zC`qq={6s3Rr=H!D$OvR%#>+pSDnGdN!YH%3`3BlW_FGBA1F)Zn)!O{!`~^T&vpygD zEcVx5&@YL%!oSSk1NuBLSPB(F51Xe$f$@t=;M!6g>V=Vm$CsxAq=nDI?$t3sdv0~{ zIJnO5Q?5Fa{{Z4jW5pq5#@_pkCf67#*?Qj<_KeTpKpRzgan{LFg>jnw)uXA_T1w#Q)< z6x%Rb6OF$9uh0Iw`44LSJOWFfO3HNU?K74q5PM1hZR>qbK-Ya=+559z+GE<4+6goW z*Op)F9ye}DdVkd;$I6M#f`MbAY1i`-^^gw!18x%D`Jh0vv8P6P)Mm z;Wvryu}d=Wbd)#%W*3}{6FBfH*z;KkNAAe=>$jeA$AOhk-|U35kVtwlXPIwnNHMTz z_!cv@P>I_X>HGR%s>I(^9=L+cA=-O@celbQ_C^83JNi!hg3_8i|gOMvXWZV z8@Ci2B5w9>KfgbTz*b6Sl{mPsx`w%lDygU>Pt@FuPDx1tyT`|+#W)O~!1iS;C7rjN zPkg)iSQGblJ@k-ycy3brIe6Q6?oZZ~a!JpS-db*>W%u?`RM<$fjitG~g-J+Zv-4Ke7uBj=7@N>VosH9vc zDNl##cNUb?8J1q3e%zD{>1wI4ct6oG;u!$1$3(3U&v>@XZ3j5CYMowI@|Wf3r#MG> zhp4EiSR=<{W70}Szw?3tl9QPD#^_-$B_G||++1moiDywk?K7@IT5fLcsD>0ou(@nz zv>dFl3P0v0DIp@?*7g88zn$$5ug{2D2pf`MhmQQyzq*Ne>KpnK&G0gC%6DwKn{H3a zG40;DKVDlwp~LR9RQUl%{;%H^fUo;~I+PJf`vv{MdX|syIigb2z zcG=x?W+q9`)kfH9zU;JpDywX{*FeQM&oP>u5hBd@mxmyAC{ppS7PXfzDfyK}GXq>G z?^4-MwKG;6=v>RtFfeSL(UgP0?Ff(+A5 z{>xF+sGHGI3Cn+TJMzL+hEF&rE!a%txoW_%PHt|l^+h}XamnV3CzVnHgFQV8%IbWF@vA#SCxyYZbdYB*fXw3IkhzYw&g zfLrH@^E7{4Z;f>*I~^PYLy@QGXlsYhw&zFLhReO{l4{ZU$dcWyShhLcU?I;}cNB&r zF)%Qg5;?inbKauRC7qnTnJUd|d}5M2`l+|cuFPjuWGmTi)r7`IC6%1LW8pnMrho+e8t;UFw)Dh& z0pqIBw}y}0DTFVrwQ4^>PR~@^lA$q`T7NIl_Qi|0&P?7x{>HUnu(YYDcMsOc;T^B? zaYPQDI_!CpHTlhQ@n*A5)U&@oIUEd>zxfI|em5hr=+LHD;6%Qo|HYKg-XEdnNXO~o zPsS){Y2p~0QHegUd9~u4TtZqL_;2C0zya8a&Tj431PbkE!?(eF;@-21pyD^lejs;o zKSd+8v;XIel7acO#p@O`?QKjFJKi6-k~Pg+#6i#0ei0f_j$cIjRi2F1!~M~Yxqn5oX#%4JXt<u|6VNM^N}YTyuXo+pBx3X_G<|d^T=-NY7z3 zF8umbrBg<=BZh+mX_VWcav5|2U4L1M_Ml)D|NNI$*@f9lO~Qv5*SOet=-z14L?g^4 zcSu4aX=!P#w09+_z-2p>+w?=%?Use2*PWToD&4;XWlyI+%1`)eOC_qY=YYjZ$NeDQ)s8U-qZxOUe0T-NKUt zrw8c_MMggSRepz?^Wk7RoCIY%^CU@)y{@6IpuBu+EW#)?O=P|OE9DPAq5}TdVe$8k zjnc4-55Na9@_v)g&bH?1Z)*d5x@%v7O6&3hAG6@&nkm1y%gLwRx@(uRA{EU8l7cB3 zem|k^l-L6jTwws5I6=b2$47-*9fia&G3YEkQ8{!r6W;2Lf}%zH z3p(=LUm_6*g)679q1MC5!sq-$RdyvH~NGi_sac%&}!C!34E1{Ou<^dgYFb zL8Nn9n9e44Vr(2j?Lj{99{j00UIcAGzCmMocwVp`;xHbValU5DVexz2kw&^aQaUot z-z6qCI@)~2`;CuJfo5N_yf&gI@9gX;c9O9~vn4T~RcU@5hfLe@>a(n{8yk`LxHvKy zX?DsqjZAn|ZXB0k!I{#-9@=K)WKuKy)7Pc2QXkdQlEIYd+HkVJ$#Up^$q-U^#m$AE z!pzN{c}mJNb^-H!+z5*qxA?27LjiRY)hhX674PdZ;LV5`3;)R<@M5O8FvGcSr)x-Z z45n*hz#%UFT+G}n>EV*1F4HzeVPTT36SH>*Z|eyA(a*ve(G+#?4JMtErDnX3>j;+4EMDZJQm1H$tN=f`o^PW-(;gmPr*1)(kQw2vHNu7tQ99iQLOSb3A z&UPFU8S~Cq1pUF+SysQgrvi0=sk)(^GAgnyuc}(oC7Fys(N}K_^|h2ekN&O&<|IaT z+I`^>xZRo`E|+6E*)G~;>EPWWbUw%Tjz?SrEtINZPA5t!qfhF0g1eWDN|%u%(75qe z+IIq&r-bK8r$nK(m#>%zAN_Y)rWRUdzkYe)TP;4nXC_&jadNP3S;H6MLjCvOJp3H6 zU1Aye2|YN&&`Hil@dsG(ao=SnW?OON(*viwblL|=ulGo+7FR~1bEcc>*9JniwGVH$ zF0Re#ixza*=$QL|RVmR2J0FSQ4o9Y}6ghL?CQoUJY{NP|Bg}j5@vKa`oc%6-n46Qs z#mlP$dQG-@8p=3a)Jx5$qS^P{?`d>pgiSZ5Ta`CiOb=!X+_Ei*~UaMutKr3~^n1XB1}Q(4yyQkZ;nTBN>_3Dx9) zEjI4%?%utVlDWUHR##hJP#9oEOpKDYy-;)g5FPzDTS8k&ITLyi|?6wP=kyu7S!81?MyZga2ECaEZ^ zjLfm#XfKFn$IJS-&ae7h_(hy;S=-pG0gm=_sOnt?2E+V;^A7p<08!=U+JYSU9DpF6 zd$W_Z_Z(in{Ay`+CpJEvD+U6tXUc0VER*XgeaFcxE-Qi6qzi7GkA`O zA4#8cV?T&mTciD~s;qr5z;Jvds+}^czq`LLjy+~)W8=9mV8kACmu|57$Mr#AbPEqx zeQs&_`Rp7{$uL3hmcGLp(=(duyDaGbf(Cjvb3i6t{lGr1#>n z5HXWf_O)*_qN9Ya-@gY>k;`2+$hCThYY0qGn#0khl(HJRBkczda^2kp zH-hrFPYo{CE@j#*U0D&rDN$-n&6s%F?No{YeCKn79}v0r8P;@8#tsr}d*%@$}L+xt`uBYnV%lh?6N| zpyPXq@t_@eU%}gNwBS9_G2PHbqmpV;YVSfdAD`d|n-vH*ec`WF8=@myh^ibngqx4M zbY#E5Q;DX=gjh8H(j}nheImRUHBrUaKoikpGxY9{1%k0UH7Y8XfB83m!=I=ep5XoL zOP6Mu^Q<2mrD67eJ35^?IG~0UpKYP}dBl{XO&|8wd$?NA-2!(K&1RcSM1)VP_aGkv zz&I8rY;ej#zScx*QMf_OI4qc1=SSy_C@)Z6TTA-l6DOyp z>>q>6E6-;I68$NQkBLFl%{)BFQ zPfr>C-c#)qQC^YFF4e{DZKYPwB*OP>PqPBA_7V|2U}M`T>%qjurx&J9`cYC*b&j;L zfQ_6{f7uo7NdvuhQ@TgNlwPnrNqv!10 ztfHd2w7kp$!T`$YPC@UA*YhEEd=(`T(c>%6X8k^2PX!kye0`e+W1!CN-ao&9U+@2q zSBS`;%>MPCKf7KBWAWdwxAM2dul(m{hIgPd|NWZ1MR>z$qjrQlbxXFWn)%2$aos<+ao);m&)qo%Nu`$)KWI?mbplCmzI_ay~@&s`{i!U zF#dCyx5$O!oW>MUr_r1aCb2EKgH^UEkA+{a>+c^bJmVDMRo4bgtp9oN5P9l_X+v*q zlk@pC&=H^}@o{2=@3bW-j`{VB7_6=3r^h0ZNODHm;u^TJr5vMp$g}x7N%<+V6SvK|MTl)E&d-wohD4N()_g2W3@7NvyU$$ zb*jAgW}>^G3mQI)FF|btu8MLR%6l@JZC1T$n;p5xjMxaRpKJIx&bWG}?%eKeYim2f z9*RWglv0~!Vx>IoR(j1;G&HmT4C@;Y_HcI}q?mzc^P1EY=@=%`i9mJNJOBVufk2|z zD5)s*rTR94EfCIAe7gEJ@%0{SYA!OwK|w((s{9DdWTo}n#>PgvGeM3A9Q5#?o{q0X z*Mqmo|9Q@D<8JLr;uk1;q`SL2TU^}Wqa-!J))=FFa1t|#;BlLLaYcfT@j2P!N*ls` zvzhlUBZs~uC2@hm12R&Y5WKiLkXfz@JeYE2!ur|qwc+7lhhW?-1a4nV0ejxHWG!(TQDfa*Z_c@Gb!(lN> zzK7VMEg9d~#KZzBSmQ@b1fvw{;+wy5dB zGbYuXe0&=0L*B zdOAC`z-b7eB=v*Cu}l^<&Q0@o{$9jlOZvau3JQY70uWb%5e4;#*1*8$&!4s3+&)dz zxa5OZkB^T>OahR`C6dW$PLurHeANyvE-u^L4&wQFx%QZ9C(sxPWo2c+Vp(9;;OP#7 zmEcbE^YeKG1y#U@?H=rEpB`W-{~k2o+S-cKZ~?qwLP9<`W%f>YR5Dbo34uUNDPwox zr630A;RP&F#&MpTS@BfV)W;`BfD!Zy;F$@y^Y`Bkp9Qn}0;5 zT>oT}Gl*v%9la6Rbccd4D-L;?kt%d zxOYNEAD5ECQ~1y>J}2}PH?(5m#|1I2gQA>Uu%pI38)fP#!dC4M6%>>V-fT_0Y~BAO zPw{JNs!2cawf~bqo1PQH(AHKxLpuwDI&Y+n&&e7GAaAu6{Mt2ZHQjc0qI2Z@EqHBL zDwo4QeHy`Lcjy|%C*-$Sdd>9pX{xqT(;ga>;MIrBeTrWr7q`d5$2a;zAr!aJnBlSb>vncko0|>N=x|1?VsxXC&p-7r zW*WW?H|idFJl)_`7HlE+qxND`NYmj6)w*e(5EqwAD`dNtu+*Y&XyNSa?6dx<12&>( zpx?wKC?sOLg*I+JGstDS`KEgh*eZv)Vn!Ma_!~M}6CREr%9@;O8l#2RM={tfin@L6 zrnAA}J8O2W*SuR{ga~5_UXJ-i<&s?>h zN3l;2`u`bEsqcI3W*g@XCCI>BG8;o7aw?-dz?_atj?bgy(I4gZJF~}MZaVL6@SIC+ zXlNk4dD9wYj1reN1sU`C4&=Lo_2A$j?kGl+n}ucY&F@!&ojpD3V5+L9XpCA#$`$ID z7^m&7RF4oitgF=$WDAYHI?XM0F<&;N_>gX|9=N$I;Z;Uc1=W3WtzJ3CtX`tdoH zZ|&QE8>y(N4K75gyW6G2#>VPicX4q4(|=!P=cf*+wZG_6eIx;AUdy#ShCm?PoSgkt z3Hc5krDi@SogCba`0g?rhl5RtE`DnLVPlOKDYRQYO6n>SUi zOy3sloCLn!1}}vX_ksw0ve#F6JM5f)3rtK7h;`uax0kL62YkPb4gL5Wpej^;nhS_M zF3q@Vw}3yHPm;yw%u&u$#-M*be-0Z=u;>{DVFzl;4uTmqyQb(58w+M;nLppo>(46h zgJ7%Y_w?Op*-U1n+;Ps}z-QD*qxb8c)SW;!``*d2@aG%NpB6^y_CAFs8>MbARMVurYLj*W4H_GXQOu?ssC}bG+USRZUo2T!j8M z^WqT@(4zLl7CDqQtH4k8;{hfF2SJsI&G?vrwj^Y;=m)B>g#;WaKF3M%w=&r2DC4i&xmh&U`lE@?_~zHo?vnlOtZ)tpT>ctccGTf z0)e7S)6B{l85m5rgjQAuI?|tOYexe<*SYx^oZjXYDJ|WlSe>7fV>i(~gaQ!8xctS} zYvikC&G3`4ru=b7Z4hliaQE2Y&Gyi$aV8}rivn5ZK;hZy>2^SWU(3S;FflnY@CNTm zC8uN( zIJUV4OxFwBBjpaI@nA-~zkW@)b)Um?is7F#7FUXB)BN)M@C3l;D4GHT@xA^SoQ%G) zfdEVxcC122$QGW%suVGtMW)%pUu;%0UF!rQ!pj8MgWyAwni?V<0%=GQfTO`)e!USeWqu1~0& z_6|}2+_n^RvR*zHwg9O;L6@qw@oZNZ*0TC@ZGrd7WnuT9WOU-0E$O~^xe1i-As5^e zs7z+VB`Iv<;p~nxrA<3Wg+AvvvGDTad4D*rYd--C1$yb&6L2D4a$d`Bay*|&UTUhT zI(*F%wWqG8HXP2Xv_1f#z@$Y4jKs<789vWM&-kfE?|1We^N`H~m{<&nlr9D- zx8#webh))^I4wK`Oz$cX4}mmvf)8Qd|J6z%QQRWpFsj>=EP|rPVX;ek*1jzug0@#_ zO5+n1CtaJS_S92EM^3k!vjx1uNATw)`%7usB?SeXJ?TQ|+JL?(E5ZN_I|cEL&;cj=Te)7- zaLt?4yrrK0AP~V%_qE;}{hdwbd$`W^PXuz^638eNlQh?8ZEI72`(V&z*y(c?E4Inc zl!&6#4(5PTk*DFyJ<0YH!(4i!>`l8}Uq$$aKsFO{o)L3x<3F zVLNZO31GCUuwmoRRdW?m}Mpbka3%*ZyZ zn37whwF^WoMwOq`I z&Cu0wXwbM&izcirE!lg$>_;x;6W${ zu-Ye}8}b{~Zr_e-FPsNJrye_M(pwi-v$I` z#QFpyE(?l7NB`yIR4;Q5t9=+8l>~|epM%Yp(oD^-){IUY^M_` zwp3keyW5rS5n;0mOY7XB&CrjJoV_;3=BnZg&l;aTeOko8HT6Y7F}=3`CEy4~#o;yX z_ce~u>7*7jl|;Qj+@k)8fPf;y6FXg^5Za2{^4;Dbl?`u8&(T-v9ZI~Ff~30t8R)Dj;oXg zG&T7xyG7}5cDbA|%}w7?O0aYI_VgWAn3TtLnUX&TYRbyW!von$-JV1?NFd_4l>ZmH zZ%MFlqst zC+BLaskf05G7N(cr$>u71=LMcbU3Vx=9@KmZ5&hMvlkcdLaej72&n;tK++pGwCt2W zZlyh{7-h}bC}BhjK7fd(^psi*A1%3+9^sN&UIfaf3Ut>#&I<_%A;hHq{^vo#AAY?O zCBO{H6)}bgM(`PcFYMv=pfGSnHGlADiD-(%mu>11Lf88^^Dh_jo$Z|w@4?n6r6 zzo$Q|M`8|$Nkj^o{~4l0y>OiW&x?+X08rj2Ya5j;?}Fo%^g)3;KW_=Kwiel9^ora` zt*NOoH8ax#&6%3Y0B~-q{)>Se$ejgG8=GZ`x?NE9hD#O{7TS-PXKo(}cN{bF+4M1hQ^18rmH={w; z=Y&89vVyjleDnF}1%H;>czf*Q1AYd#YB_nDrihl{e(d$F;ZND2b6IW1wXRVBEXRS; z$Tl6W;T74Wy0BH(5Ln&zNv;LhrRdJ;9R{l=tNB@x-*LqM25x7>;kPJc6g_>nL!O-2a1AzM|X`z2FA{7D7{jd(K&2vjJJF)%O`(=s<2 zY&$(1CpmavTmCGBb)r}>oL+2ntYK@I&@=#}Z-nxFCx@9jxZh1kWQ;_x<3%&r^ivSpu>Pw6#4vI>*xqqfalYYJJ~stYYGK z2nBQLBf2W<$Ephly=hXK4&z-Rd<~x4@jW(DLcHdDB9#-x`67tDKB>OibF>8*)BZzw zcZN~}@ZPwC+mSziaz4l{4r|YRa)sVw>>&iy`=ZV+Q}x)`T=?xvw;T|zsY`ODP{k8D`Nf;>)nxdM{)%(}WORlI^k19?2pHhtJo{kSiMHBv zu#QkyDkHh;Rh2zPe|ma4ngHGG05HoJX_*L%gJ^ zXo)|dq8%XYqUq7obQ#}p%vWF#(Eu^WTB@gi>UOZXTirm!jNfUR*6Vs%+1G9mxA47P zggmqT=;pI>v#FB{d;Gg=Xd9FOp!Y)H7VD}jdwm8kUS#G}B835@YcZeha5n4EZz=^b z-(bOr-i*KY+YvebPiy3e%PEwz!7cCP@;^@~E;j5iYucRJ{w?qd6qo#DDbEDZ98<3W z*0mp2odTtQa~TWgr_Y}UYj^G-;LHF)PPv_yw4WOxWwoJDXwVvPqfDR9%JZ65joo(| z1VzchK{Xbm>0nM6QhEkv_77L~4b1g`|2Sw3RJXV;L>VG8^KrCrWl=5+_(1>JRBS~6W$U@njTsyD1XJTV$PFe*Jt;3clQVP*G9~Ll~;;ZpZ>lb z7qIMvso5B}&G52gwue1jjm>EbZRJT@24i7+FSO2 zEK)l#(8_J4SF~e~Z&E=|BN*c}YW$ANlJV;fxM}JLIa%v!^LJsM@ulV z;4Os5iqX74fO^~jgoN;I*pRvyZ8n4g)aY&t9P29<@qoV3=Kb$%w zcSuN=@u7Ker`mD62p~=b;Qv8cI#FG+b!p!!hDksr&T*zf{!pV<6A^G~W^cdN^}A~j z@FnYkB+R4C0eCJ5P~pl}z*1RrDLs%5K+(z;N372ruv?gweF)5V_80goCoL|`BdY>l z_Lu{#h`Dh8%*;$}6AV-B!vhzzA7mvZCyiz!Bzb3M8O4@TL;F~IPEO9}&z|Mj{7%i? zaHc8LLj)jw;m3bJAk;aaIXNFZPyk%>M72``VI0Z)nQaB!M(K{w;nvhpZIkO93n-w! zj6n4O0dcT}u@%FLpiP~AZ}*`bM9xRhRSt*FjFKLPGZ%ldw|r-xz)xl_)_&Y8jR zzV39eb;@jaylWxieD-9DkIDfFUtD|i=KQSNUESa9Gn4N;#M{?*<45TT`t|l?9r6T+ z1q36T|520@4tD|1{`HH~+S+<8Qto27d&pt{4BL^SXTR1Ch#|)Ho3`hbeszEd67lVw z2?qFbdb^XTg))s^fo9qEd<0gP2ZH?Q26KY(4lw4 zHy=Rus2}#95g#mF2CH~HW`6EWG})Go79VGK9lC*>L0{ICWt(vksjZ^}(rQlOka^J~ zGdsJ2t@_tt=>cr zb`Tr>(N}$rzLLPeuGWSLaS~;wY3tzS0YHrGk5Few`6W$FP444;w^zqk%=?=^UI#u= zyWLP7wz%_wsEiC3YEOQE*AmPH$7*NFTr9{K#2-71o_*cibZpvL#`rAs)GProan-XY zMFhx6a)lIfsf4mmukIlLV^1^uPAmXiQkuY&o1rv3Gl3AJ==q-`~$I_7X$ApqUJ7zg9_nuSl2zftuwb8~Y~3`!u|1x@eL%v)G|aMl{bgi6sQ(7U}- zF81Hw1&KsN1RRX#6B?f&+YrWYSQ3(3Z2@qn)aGx@3DmMuBvVOE^S!t@QSR+ObFH2j z|Nmf;f|}dCU~&jLQxsc))Zn~P6w?I-3q)nk7w`DY9j|a-&DYS-SogyppS&6U3vdk+ zTR-0Ft$`ukd@?VDTN}a@$orTsw1>k0@w1A&@XwlV@{ufd%2UHfnvDV49}t|@qA8TL zlx8c(sK2iF2gscp0=U#&ir;nv4_A+i*E-qVyC?)R%QnYq%5P6S8C3niv?I*K^YCFT zkQ}a&Gi25wTZT(&!UPqO2Duh9vg?@qNVkjG@A81`EJ?6-2Cz-`e34Z>_0e=`u>!zA zx8n(HTc6x%*tGv%IB8kN*^fOsiTP^_6juw29iM>;7&a8nio;Eg6Fy2n1qHAU-^pUO zk>|$x(MNREur8RMWV!&JNvfzFt>fzxt!pY-w)Jt!odM({*)qV}Su;nCqdM(?nG% z+FDaZWe|UbBsM+1G_NQ5KN6sa@!ms#`JcVY`FsA3E)-Q{{rIh<$Muq1oM~V~g}ToX z5&C{l8z*WU%KH0nH9W2s1=yk5X{K~+OdJ5$^?CpEb?M0ZO5+j`UG$$?zH@)QH!LZx z46cZ}*^dCQH*59$6t=&r)o`QGSHHULlYu(x*|Qxoa-awrCPfL8%TlJr+S8eZRCGtV{PAYz_>n??-lg?Uv)T@zW4ZlSU36~CEEXsz5sj7`v0iAufFPb5Lp%D)4BK z+yQW~i@kOasK>xu8NIl)r0||7pFoEH$BJ@XcCrcVw{>-O(QH6#02J5|fpL2~^a?2W zqRE$zypA1)*kuIQ1PJ~Li#&TB^BgVcBLL&>GBrPoCS>*kgTC~Y#g&g?VcLo|!GIRJ zk361~>s)G2QRD)NIeNci8?m(c`=a2n8Bm|>zGbSiL4clydNc4YU&udySgW-U_pXxI9=x}!GY)borLv0tl7KFNxi+$;ey-YSHTCLb>9+4BjwPg zL$CW6-bY-kUcrNb1uG}&z<4*`n3*1KM(+A zZCBUw()x83ViMv3S6D1;zo4}4pdS2(mzM!Tzhs!ZJQplb$i-7z6yM}qeM+#d5na46 z6)wL7Iws;?FT6Ycym$^B+5cxliL>SNK(M$F-+w(HKbC#|rl)t{DQ-Dls8QO2jre8%f{ znw7}e$?cP~P=2Eu;QHTa+pn+qc$()wI$sG|fr?-!P#aZHoJ({LAcV|(I$zM;T4~H# zdQ5@Pn=};IY!TmWl+#zk;IT+8iX3n}K9|=u|VE1+aQQXMq@dTAenjkkZMijt&IC zrMxEB2zX#52NL7s#QJ|_x6t3XZ3oz#(ZDMtanaE%7wzFAps0djeV(A4V5UAk^}xsl z;KY5fQe|O>Km=o&<$(`_K!ySW5`-Lt$GDD;PB-}`aEtF8mhH%de*PQ_+oZS--T`#t z;kq8+55S@GdVnuEiVe1YH;n>OSb@5U}4R^OUcOV!p{%X1@rs&u?T6P z7$dp(`TLGGqhpi*V?z1ItF)o2qT=yq_KAX`0*{D@9x#7t0rLuj;Ceq41yso?P&DaT zT1Eq>JXmu_4rOF8Maa%=`dJPEQa&3PEO=z^KLKJBSFfc zq)sS+pL&8<3#;Vf62M!|&isJy>iFb@E^>PuX@K$C`~uj0g5U+7p0fFZ<8USU#Mjg` zwc2s22&n4BRd!#$^xpy$>u}+em8B(cnrb|F@SxCWD6f9@9beo*Mp1kT`%)ii=dWM= zfHt^GPi=rbL`njm`o!7cjHEl8B9Lvs$yDpN=(vH42Wk#3Q6t+d<`zsm4lzu>?{AKu%IY z!NEnq*aCxQ3|9#|VXD>L+;(cJfgzpCcmy+KP=}kjSFqH3n-0d{Op86V4c|aZj);Ks|bK zV}mEO&E1l@+93gGyWCPzCg7S{9psFZxB9a*x=~gg8d$k<3$W@A5ZMFXX_B32v;nA5 zDh(e35HHJ$okS{8fIb4+mGX^GpTOVZ0bo~D3>M%X@9Qg@sFw7efx5Xxl|@EYYy-Vp zC=Vz%HK*kIhv(wQGG0LDfSBZw3miD_5bSxs&cfi1=6~(Z?Eb3HnK1Ly*el~0OZX5K^h2OgYpzI&sV->iT+QnmpK3F|5{$o_DYRQ`eZMj zl8`eM|1o{h9Zx4@QzcMT!o9#TnGbjivKG(8bojD8b{eTf@GJn$jz`Vct))3xa!H}# zihN9G4scuMf$A9&?SHgI4`NQy#9=DPAcVVn03pc0Cl-EgX%m|v%qwe%aU}4OIv>`8 zwZrW*QW`S#7P^SzS2i|K;9fuhE=@&->O<@bD0m8W*b!c3=AMxu{6<9v7QSYqF;LOS zdYos&sXSkkE`N*g$W{eGO6g6ln?QQGI-;c#MAJ~$W3_?_tQ@AosP)5|KZIRN>#2jBtgSFeVljDSvc@|ne- zu2-3-rKSQ)?_EmDT=euC9iYvWj2t2b0n{SUB*5PC{b-@1lsU5Ah+;Y*!%Up=&K(3s zDYCHN)*>DMc?u59ExcqFIUj#1t2b_6f@rri!*K^DF1qy(fk~qt9~`AfbI@J+Ko5Tj z_hYehqIQQLge2YzZ~NT9iK3B~HG(aKz|#LQjbxeEz^Xki;Ut_hw@e{@5_4tLy>ygfp*Y&__*Wfk#C3n z?^P)%!`Cx(o_ex?ReV-fHjlIy09pjH2&7;C_RF?l9nR?Y@1PhHeR=@G$SSh0rN1#_ zSv5M{_rTsvs`v!H2V@}F#d``!v~!bnER+B0lkmnJ8?c&Y>>}8(Rv8F}mA;!PWh+JM zDWh@DnB2;fKK>?QGvN4?TJnqx3mg1x#B4vb+(TKNMxZI2k5F_0+qKY()Z$320GRf! zivEWe^s=u^O&i;%g*1e0dIy`~x4HSawA>({4zQv9fP)b}NOuDxNRFrb0C)*Fxws(O z<6KQk{7~Jbk(TpP!1#*&umJ{R5MjGk#(t%L`0z|U@l6XbQ|K@F+FIK{*D9?~Ru?ok z$%Umd0{nyC=QXrXXaD*00QgS85WeaU2rOV!jN78~jRcRoRbJiM*M~;-H4%&!-PZ|A z<3N8oeh9pA;}e161OO8j^li22P_BRPBFT|jl-Y#?@;Nk;fOAUi`I}4;SFo)ik#@lL zMJG20){f3#bNXKc6_fCrRT`7m6s$EI)9sJXZ9fE4!X=swBpcF~&M>fYTo}8w=Cd+& zxcOsw;gShJpt47BA0`DpZ0&EW;oYxJcSpA$`sk@4g5+waLKO}=l9TCMDijhS^Q zD#%>3WNh1VmKJ5IXaE~{X-Pi&LQGZNET`XYCTh5=)3?{aSL%=ex0?30O;4&@NwN)l z^>fDLV!Hh&MCaaJ(wnAve()K~(bPIMM^OxTV;LEvb@_&81Z@3Lnaxa%OI-X4HNSb+ z@V1zXU)(6XrN*D=ZGA+9dmkTF=v>`v>iCCd?LTc;Sy{&>CMqGl;9g!1uU3$947nfQ zqWx5{(7w<$;xM~+JnJf6UjE3|k~gyBJ!W0RaJyMxMp{`-FMdeue#eA(zJ)cw8Xu+ z4KAYPS^_B!d?bco0F$7d{?6HO%GQjX)BB@EHdJjx(!NSjQzPi zyON~LXYbCDAuJ-IHHRr;Uh~|Yz|li%Vu-=GN6nuI7ZVnK74z7XkGexM^(Pn>UlJ2_p$CcoIoeqz^x{Lvp0#NCIjl#ABT&IiV7t3-`=QGf#KK7#x>3lUT;NZcYsswjUe~YgFk>vroTeoSGU;k zHb8=Jj#dSLd=d7Li3061`OL`5>UXk$nYGXK$?;rC2D68U$DfWrGXr@rhq3W-77-Cj zm+2$RscT+2`T4B#tt5`)Ct{;`RB{?7+gI$()?^S+>Om&C!?)1Rjf(&X#pa#esi%{5 zyxvMj;QJ8QbIjwk*0~qMzi!h=+uc)BQ~Qz}e@(8%YizFWPKGSJ>(H1X;#%b!X&QQZ ztFiw3cEjcO9i5yq5s1*)FSk-9UQ>xV`^dBX{qiuq$qrr0dq)5SwNJ^*BA19tyA2-g z_{M}Zgb}ea&SyRiBK>$=9oD3?7Iuku5-56Wymrs1b3xAlG6Ba*AL zzXq&+-)T^Z;~uMk(-U=)27wrKiHKb@`5x<7UuP!Uyx3R6p;JAV%IG=ioS|WX|tPZ5y!axTO44jMu2@78%{J?e=_oPm1eI z?TyY1xmI{K$pLnX*NcoVAru(H@87?FiH?qrM*7Vy_S!J3Z5}SJ8_o#yEC>*PcI!Wg zmY946r3?3lmY<*W?;?GL3;cP1qqmT*kdXX~7q{@nHB18o1K^lkaqr!`dxQKCa4y*| zS%6v*{Mzg5EHW~TmK8MdR8%y8*j^tlB~w+s*~u1I#_zd39+H`P4@`lD)rtkMMS5VD z12__o3Y0kgLqn|}<$|*nLYE748bq_K{txorI;!fm{Ttkff}nIuDoBHb(hUj%N{Jxd zAq|q!4U*DbB3&XSB`qx|ND0y)-3@c?^PFdX^UiwLnwh_6E&n+O*!vszeZ?oP+o0T| zo`Fi#^&bD`KG|(DAsPMS5D3Msa3^QeP-e;}^HD7=Eq$BY!95ir48o>viOExttJ;c* zkMBGMXV+43cx6?Ec-ll29xiEcjm-rvIZ56d16fw$`RR+ZVxi^IzZ&%>SjX2yKwA(& zD;MjRw8HSD% z&-u)WVdL48_V#ufKDz6$qFU0m)0riM34?^`;cz7Q7d*U>K$04n!B?Pcc`2ff)3QUr zAjj5#mND3+YtbA;ktk|Y+C!S|E<)X__61Hek$i5W_Ivzmx$(QDV~hURNsAeWhfcOL<=7UN8bKDn z%KUo!zk;B>!lCQ%-s0dQi(29@)}XeQ9-`i%PaQ|bBXItT*<>{qR64hHcod$*dR&Rb z2IRo0ae+Z+Xb-I>{4cBx419Hj-+rB#z=S&OT0)8sx9LE(YH$2WU@~O0uEIDLeM3Vw z+GMAd?>hJPpQZX27qd=zZ6h+WvlT0!U?K1oS|cbY=1;>@kTF41RPZRcf2FMN4Fp>BK2fWbL~ZLWX3Q4)nM0>h3RVLnB4|2*f`Kniao5$1s7nt;J*9~tDLIxUyD*Cr;U z{Bt-`(p`Uc<5+Mp1Na;cSxpM_dnK}P1%;fmK^;4Gc~reM`y>>1j{XrF*2Khwt@alw zdLfA+Rd4Ie+sGo&n0Te%2oj|^G4Q?XFsM#O(uc@DNtbgKlH2=xKz>+f9z)O7>=7L155>p(UDc91*wj-GX#YC! zQS7fwQ@VX|Q~%UQgyQ1^yXfx3LejUrvCl~*(}}#!*r!J^L_5r?h5jWey!s0(oHubI zzd~#r>KlKxx}X6u=g!ZvNB~L7kL$gS>|5JBgm1Mt98G(`+%*2OjX4R}!w^4R_E$I& z-Lih{uIrMXeTgDOmna)UMW#4pDVaHNj1L1tqUxizV5OYsw6yRwUTcHhg{NGD#f&!a z#n+Dx){J=Ysy~-|p9MOu@aoav6U0QNriQ7N>9mc%a=L#TqIGiBT2n&E$7kgxRpfFh zP3csBM~dD(quQ*sUo7maxZi(BnZ90`mbQ-84RYfrVtO>~2AtMYwM;((pAwJ~whQ^? z&cOJq_uXm!$6G~Vg)a(HxBhaPPwM=1*KM-Dzc%@dbjz1BN4jF>;9&pzXLEw}$$E0w zXHU$`7=3+xZMVPchpBN6y?XIh9!{-B{>$xuK&?Cvc~@>>EZhG0n-cMl8p)tTd(^WA z*md4)ZIrxDVX0%Oa*I82+nQzR2yZX;3tE!-2M^?kAG~1ZVW6Yqz`18-W!0AlUtUqZlFwtqTC#60lja3 zTI6l{-X2;utxnXK)`X3*hF4V)eQ}Du*$&4Dm=2`&b4P8q!D)FP-Ro?vW&B}zWh%9y zytd6KQF5N`cRVM{WWF0;IyPKMaT9!gcL$%|v?OU}3S?Ly=Nl zk~+rvtfo{uQHFquN-49Pl8I?%9$hnkTc=L}CYujhH#ax+W^1b~LroTg$@qR*!=1yG=`@cBmF-l{iVDk5h5Bu1vb@9_ zQw6jL8ct3OJUr^q*y+Z%PTj%%J%97mSv!*|mt!Z=b{BgMFB|w}1BR7orNvZK2!yC` zcx~KB1R4isgubAJm>TP}w$Vnt2Oty`)kIXp^E}@ci*{c&r+wz2}kmZ3&Tk2A| z1jYjzo0%p`*sush!ft!Rv**tPk4n5yWQ3acLi>j|#7j3YFkB=52yxoxnnPrnthRp1 z*f3iBioo&pFO$QEoJ<8W#~CgE@6Glc^Z<#uDfS zesOU`Zdapn=Icjy9u-zPg~71GUC9qUYpSJM7*GgA;|b^Psk?o8rgZUkdmAr>B44?V zYwBgGVsbSo|Keqv8K6EO7v`CT<^@4V5HjBx5zYTmB`>15Ux~=`??76;GS3HUWcu-v%`8vWnP_@2k294h3 zMble*9aY-PY_4n9Q1Qr^LO5T;yerYbtJ1?dD9ma%=G)MMXr*tfxt>S0_$7)R9e1k` z-%=wxv052xoIGmzb0(Diw$aT|-`E@jv0dkYj>JUK7sSQiA6HTeIw{uKr9HgnBSs&w zo5-27`}=!7U(__=1NOlu&+b1yu+f=^fd2FbZr0zQ1^w*{UN&cpQ(|)36qIX>7l1ZW zFZMibRsZ0AqMWb(1EJWc@#qkHqJYHle3 zvCczst*FzaqYHF2G|u`TP1>5VY??1u9U)S+r;9Q(7k*zY(HJ3oWFadtczn_r^A07A z{CQi&b4vABuRc8#_S%tH;uFb;bly5gL4=b(dS5~AE|P)K0To!jT3PAvK0LPanVf9n z3>IE@Y#I!_%;)5E-PDUap&J|PFWf#at94?w#+OWTn0@0oIc(|>Iog_0$mMmkd;fm-#-y{$r)J39 zdP8%$q`aQj&~D#pZ4I{Lqo^%WXRqQxY4urrE-Q_secUB!W-@x zR;J%9x%Xk7p{u=0JSXi!KN0Xqzg?>O{Bey2B{PSnMjQM$j1<$P?dAvL}49^S|2|R0)8yeslEQ}jt|Rze>f*^?Q~l%G3J%S@U)p8j&b z<5!uk-MJld9PM@=9c@Y8 znzGqFIx@ZZc>c2fqInJTpA>psJiqtB13nlmTtw8ye>C=fX}xZ58|P-!?Js~U$BQ$= z1#%BgDkv$fOf=^8%s%iBI;G?jRYP(%W7lt34; zd_cbIyH{g-XQZ!h%--HnCLW)Tt*`&xqfv9H_pLA9l3$%WBrV3=^Oq2>_{|L!?`54k z*>sJyPjA1XTWY5FblcuiUtnn|`|}JD)GWo|%H@H1$k$LjhryC*9Um`H7ix3h-Mx;e z==s9j8k0A;J-FBlRa1qs%}T4=(*(NV!J9X--rl}_ThGQO5*jmzEvN}8SsX&W^Ih+s z)xx{evoO`nHjgjOU}9nd7^|=C<%AR1?XcH)YnL@2Aj->c1ayp#hXfqCoctvsNIh{E z0doP0cSn4guI@d)W|tj&gNnqs5jEvmzSP~D1H(KUkW%_4Uy(teUcZD7wQS{5V)n8( zWGTAGDv@?P%oIae~tA=xH#&E5=83nP}8`rk*l)$+6&E2Q+@~v@2 zYIci%RiS7u`bMq4Gtw;d@(CUO-TU_!-wM9A(S7YC4$YKmF1;InG6fQ{QGHg_+E>gB z>aj62ub%RX3X>G{%d;)3zNAMgodhB^X+OVzkFt=I8`)g!J_0c2gU4DC9Iu-79#g@* zIw-2hKGg zZ`V(S2fkI9SD`IeebNgT0xr{jru%5vs@ZfO8DM)xt-qnG-dR{xQP|xJ=p}|g;+{h8{1n*9JXXFM*w{1aBWUvs&kd#vL}`)Lu%aR^pgOagvp%`+NV;!I zPfypVub;=WY2@E-RML|9HMqV`5l>}apY!^?^4<*bzW)8F*FE<#Hf+TRapdA-^V>xmnJvU_Z7>}zM| z9h;d`{jH{p`HC{Ol#3pN4*NZhSpGLlMcGxayZ%+}{U@ZdO56ZY?xY z<7}hV?1>8Z4S_=+fI)=!84eX!bfz3i0)|@g{_hy(1G(1~vAP@(aw?}7Cj&y}^+EYAx!my=y0$XU?!VQFh?6F1i>|=SBThHlydemzU32J!_w!jGdSDT$hda_AsE& zMiRq}R!1Tvx>tVxE+J34O9IYRwfZ{!f}$ejq4Aa$s-oXhvJbJKE^e(_<$Ik|HZ8t0(VhznsW3?2iY!}7IHDKd*eZ~9iJ_`(C8RSLAr zT1~$wxOq*OhPb?*QbTA!}0 zk-A~}i-;vUF7Aehu&|5e8#R{EC#zK;(3LWlrv#MkfaC`;o}C4RjZdy9d!}GYOQaX~lauAE0aYnsJA!8arM=t0Q8Y%%53qd00 zd=>PI{KPfJl$bXSi?YaQ14Qb#p~xplH}!lG9Cg4v+*A$@13dZil? zMN<-CT}mKMxj?;E{?n1aCzi>t4ISstb_;5vpeb=@eOOz3 zKh<`V9afQA2`f>>t5VOU?xQaeGraU~_t>25@h~rrxE>HMzOAi{Avil9n4x|pL^Ub& zs4TB4Mnwhj6;MUwO1OUgliR3N%aig)7C-fPIO+KO1G<e#i4oC3(NT09Pi+XdW9^TvLpFfu#_o<$s zB6zIEdkk(xQtY4?v$EZC52q4tvSB|ynh}&WMvRnLkW}OKmv~(n_ZARECnsZ;$z7Fi z3BP^wVBdps?WZ`XMG!JPL*2hibSUBV57ntK@O%?`a~#|=uaGL#aebrON`qzUr@S^C zpZ7dnpueeTqAy?i$l8+Wa${1&WoMV@UCBgURIk57<2RsL2RtYJe2+k=Sp-Kl?SKWv*A$ z?!)j;WOs7xE;8}i`UZ%MAd(sYLP{!V@(^;tPwZYriiMI4SHr`}$;pbi8$f!^UHSzD zG^x2h>S=h$!!z19KOstk0JE8&7>!s5CXt@G{#^%4>#^H#M3whfvFq-W{-dL#PxOm* z*x1-i2r6BKV2F2_;^5CJInz<9R3XRY4yvp10>vz$C*c$=f2TgOX<};U9UL6In#}#K z6Q8;9-U8?EFXIe_H2$J5!ZOb;?#_gVhd-iN`-y^pB+LT|eEPUawJ43%jFOcdw6iTD z)cp1@76Z$m`q3w#h+|e&u9filZ}ff17klG=Z%&tj?b>KF0>L6D$5YP6SfWv_*D7f% zb5qE9Q<+J?i!HF&Z=uzn6;#-ER zV;eyAmtRVh$w-9wr0|`j<>ZRQ^z|@(<)@p}QfmM!PZY3v;=@yRhUdD*uv2`V`d*p& zNYG`aTtZ3V_bI=9yY1n);SYMLC!R0d9>7Qc)KpL7${@+J(HRgIZ*e($sq9S78y`u_ z*2tMzwxxOO(L4X~S?pwrxF1?M5w7WAdfUYr&Wn$amClr!++BI16QQDjncewQ-<6d# zcXGHaS8$2#TL-r&8yanh3ZI)A8#ARPHrfu|dW*?)ND}CSipDW`2+d5Y5*G&9ojaHb z7%`q>&N20ORt}){bK4N`m$-}EPQW2mO{O_tUgj<>P8Ay8s$R8}w`8q`6BK3}=jY}s zK-hVBailMKt6?|%zpKG0-&xZaGDz!h585-G#wU&x{BF0;a424^DY%V)0VbgH+LedBS{7GPduTn<3pB~>oz&0M11ynP!PqVI{g zdnf$5f6i$@2pWp^afjvcItYJXi^+bV$oSj;T4bqcb71iGrCSaJzV`bpZ6dd`2tjvO zIHjM4GC2wJ{MQyqQV|2fQmw{7BqRYOH4c?Xd)TW=J0SbLr5bcTx!@5f#toGzP$Tet z4o(lq5tv)QZ_C6t)R;}D#x=rtt9iHqmn#uMXq8;Hx9`3zJGlj1)*|^wDYsYK*n?@c zD~kazE(1a|vJ{WE@-qDUnG6WtK4(Kg)8&urd%1E~Ncs#aRQQOSnAj$ZlLG_T2wZAv z9Jqn)zXujK10?9^=;tO5)<^}dh1lI(iC)t-LWjnx{Wp}Hw~=%GXqM0E{JMn1H1}2| zY`OK{H5pb0zcM`=@%Ne_ZR#J4!B&7l41VS1wjd($50d`V-mOB)Y5&lDrs-mp7pw30 z_D;vUgt2-XQD0v_JZfriQqvu(jp5?-tS!rE)q6H79#mQ+u&)f~aw9^1UF35b+N~dB zxSt>6!F2;3NG;9&xpi%2 zWqfN-0--o7t;DrO_k#&XVi5-3pMm#YkLLTl;x^?-snr`YKn4!D7-ShM#??LRu*|O2 zsnGs&m76fssM4h0h%-~S$vt3}_6d?RdUXeK06YN0Gi-(ZRbKCoN0&g*4z<8gvGJpg zbir}7=D#$QnEKtr#&AJ?eSPw_b!5o*wRBa7yGbrAJJMDspTtGF({+Rq+pk$|;8%}6 z-LL~Jm;gMY4&Y`u^@j=R=;+SNw?3+LVRJlu=nd5PfOb6!qCbVV*ZGk$44P3tUqF_6 zziX(Wg@R)FCWfo70l_^a(WP1E8=%VXa7aPSuHg$bE>aIrVP{wCbRnQcFK-k>@cdbd z!M8u+Kh6K8PCc1EGv1QLUiINaOf_H8=nit3L#YrG!u{IHDga0r^`$S@-~qJMJ6|S> z7}6tPkR5`I?9+4pJ9UT5AQc7`^9+R3Ffa}8 zwQIVCxp_;=G}R>viu&F!joj9b9->lK;&SG{qmKRny@L!i3SJv_5N%Cgb0(|CXT-Y% z)(*H*IFhdgSR?zcL{f6Y)#3ZLnpGMF4DRoi`iDL~vw-_Vtgfz({n_-v+N1*DNZ(aE z*WQ>_orBuzsu7j?9&Oym0$7D(jiwJoyq=3gv;ql`4@4bE$AxNT5tVrg*APpCDSkTy z^l&S4AeE|hI7;ukKxC?wrP~&(ps$VEFe)~|9{6ni8xvUCuZt#nLCen(-q4mo{~FZZ zE=6BHJ~5_OxAqCY@|JOLd`Ik4f{H~=t)n*Sh`H_PobMwe#&a3)>n8FUfdG?%Twwpl z#8**I>Ogpacj2{yShf`uD}+?wK@565()Yc@LhXFCh+(gf^=9}T9w}fukvXea<3cTK zZFw%>7E-RW_R9t=GUz~*8o>3etgMK^Np3DPR{+q+CkcggAO>=ug#R`B{e@_A#>*SI z`Cl#dG>|}9bGh?{hJ>WCKt<(02xs-H*DATb4k}u;D*-DjW`|lQt_w%27v!)(E~lGN zVY4QbX|(_y{&m(ivnYp_w%neN;`j_bQ>XFErwyNUs%qKDxQ(Nt(Yu-|S z`g(faSM*jcj@Glg{pq0gXPdCI3h%!XCXU*1VUOjMGicL?ihL+8jgIi ziC(Q@3# zX7hu)PVys%PT=M}PrD!gBSX098?_drLL5sG+IkJ#Ea7)%w_7e&X38EwE#7vS!NLQS z?Zek&xL!7s8b%fTB$b7#70!d~fCOmF(hEcGAmw>;6Pt3Z%OH~&9e|N-+ZpdV2NTXR z0fhYb@595sP?<+i^3%$%rJ}P30;8{m6QHAXS8kfoJ(st7B5wSTc(UtkVV@tQf)R_A%1KnTB(eOwcTF z>7y7;_;iLF{WXRK_KNhbDrjYH);qgqgN}mhnoH?eF=)V`E}i`uGH-9-!2a>$$Fa({ z4D`=ZX=0in5tyX(_xD#A4N17v+8h`3tQEiFR@bzfTVQH$?<{mo&&oo%oc{8dUjCgJ zjkh{0QZH#Tm>iNOSe@h9=w|O!M>jM&+Ua|;SN^8kpe{u3*|TSSqXmB2>64uH?ZFa3 z_RLtPo|;(KW$0TpK_)foDv5^k-eSgK&DO<5D&*rhECULGavYd2saVVO`VlvGU-}~g zs!ei`bjnbg{Ac;jB}huLZbV3(zd$k`tgIAvc6QL~d*|lf@9Vetl$&}V1&#=XRzLV% zxSt}O@2io*^2$oK9q~8TwLW9Dd?0*i>*>Mg86ABsY9S$U4eBN_m{H%8z=Gqjm(11r zkr@s9POE zm3s2z-b2>gCaV2#xB%+s&zMd5$Vi|+J9~V3P}CO~apN%~;XP(%jk%$;7*y`c!hFE% zrUV!EPHx`9>FSEiP^>U`43A3t-XcHue>XT|#fan7TTt!MuUKl`$5e zI=aje%aAzuJm=_&i;K(04QT;gjZTioj8<&#Y41|Vz$K=N0PP1?mg{~#4DQ!=kKUvt zAV38zWh|4*@hJvENogoJG(w_hneat{@{RbH@s@s~j#dgTQrDG5@-medW%EH<155pK zX6Bi!Eap8Cse8Zy8~5I68E(C1Vq$WG*$YY?I3gNo8p$V5==&^2y#oS_qj_{M#zVr+ zgK?sx|CpI&ditGW^4gz!A#142Ke#J@|7MC`oN~pCigH0PUHMTais&}!yrJ#$9t6X| z!8pMoAwCr$oR-B_>V2ETG@u-VR2>X6bS+tdDD540`!|4nyM-}uJsM}&chB#wGv@sX zX2a3-I+w$9{{4gf?ZMo43#(G+TvLZTEyKpWStTXmx0VN&ScaRR?*8#nPU1ShAisXE z2~LlcFOBWOiqiU26*{8av6r6jk(F$c#J}{bk18SG4NI$W(`5AfH?JX(vc-iJyO8km%KH^b|7{WQWo+q#uaJoABj&pgaROI3GE%ICK29-X#!?5rIg0F{{=AU%#?`XD`^Qa zIo*nHfu+spa;8$+Sw4*`3BF~K^n0_Y`{oo%LJCTaYSHY5$1UwIZ=S$LB~2lvJ&P>Bg*-wT6f&5FUP?-$rU^K< zLp`GZ`n7D5G~AxlJ-qYt>58q+&Q9Cc6W1L~27RNW@&4!5q|AcNo#}lQpMqK%{EG-g zmBk2itQadHCLaDS70g~Ouc{1yXc1e{?scs~9f_I!fw4=$kqTl^qq~d?0i~EJae`^~ zGyg6O28aNSSM00nJJiebU6D{v5-_V3+!oZ-+3JWZ)pa|N0dK)_?=a zVCqlWgWcUoY8CYakbXfkh~Jgz&~vN}u$SVxLX0@uH_IuqdJSTa#k@`x0j`2T7F zc&$th&qmgM{lqzWiexa;>W`uhp3z+rO&);Av*Mw4qf^@7yE_?@G`QvVTyMr~|G5HR zgezYHCiKQ2DZC*d-7HTAJV(WrTtXePzDIc9*jvtmMkTi5Uv_fG4<8E8A;V5_I{YmA zMcG>0O;*=5JmgPzGQ6)ZE9>?ATn#?n&JtUePk)F)D;)}_KM*x_!V!$yap6DA->vye{OMXhZ4joNs2 z*adt#BlpcY5~GED&XwOaq5+Iq4fk)t9xQsvmX&*dXRE-(1PwM#K$kWUQ}7qkz`DI- z+ebU7#PH2LeS+J5MX+njZoJf&egoBy>x9bGhGFfZyw#BmZGSBYv{+eC^~6Statv_} z$;iq|oa`?C^L-1FMs%^)>vY#CMEw8G244rl?I~FS=XsoxUPiS}NrD2W$2srNKYxkl+ zKvh|DhrBN(<&F$u%&`w}9KeuTrmIl04~BCwM#609^f@><^sXX9LRuheM8(F26@L6! zUQy*!5*|Lh28-RcPU}N%E(!u3s3uj?yR2wD$g?k|HRlGtAwB z@nLsBE4;1Lkqg4-V( zpZMC-gZbsl7v`CaY=Kz7`GA|eCn7=xAeJ|P`=od75c7E<32WXa8$1#cbPy~;8DCyg zSK`oDpeSC7`QsuE#e}WUl!+ore#T!o)8e=;N*!H zq!$!Sag}^g_#)&&6#7&gY7vPy^0y&;=mVqxT@h15B;b+PZ=eJ7hzjfo@^KnNi?m(O z!hV);3rb9R`P*mdadG$6x_T2H;AAPP2Y*WQDK3_;GyTT4ha`PCIZr%osBkW~&Ox(( z8(H)%W;Qj(R@XPd4eZRKa&grHn}+1%3tyBLkDkD!ZV;b{!RI!4J_~|+c74NADOWZQ zzgH6q>D=XJw}U&d&W}$YQGzI4&&CwT!lFo`(PEVgENp-cC_{PhPhultexW$ADf275 z!Ajh&%KW~07o4LJ3aAqz%HqLDzlzrtLaIxORzw6ANKy*`Y)g+U3V$ashFPf@ZA~}h zJcbMzb{qL5u*k{R+^s4;HAw)6KYfBuLraVLQME7=fT@7R`=H8Fpb`~_G23+UWoeYG ztbOkq+1O>Nh!!b{@`M?+uEZ*^RIeisjCK=1i0L-N5i&r70uD>AnKFdf|4nU{vY8B^EHdC7)ewW~l0 z<<<_Mfgrd4+Wvv!^@zPU>~JtJWtEkw{W)ad;UT`eCAqWugCQ|FxwUiR4$$dbgD-x1 zI!$xIItm0^|Mtl>kTJB3c77CNQOKRl1nUm)5R$gGH-Y8%^J^6D>+8d$Ln9ugT6`ZH z>kp9wz6^3q%fKixR3)#Q_oxe~6)B8AJUsOWX9+G9Uc~Df<@^`}$}0G+>(JZt@r|+ccg<~@%00oOEDPUgM zi+=_+(~Ii1=+v+#T^)7+XS_hiz6V~Xx|zbH zBz-tQVdX;eLEKRWhaH!Jf#DDgA43wwK*)@i&UgztZ-TD7mtqpskF1(sq)MY-H7-2> z>{W8<80y#k%}L#*+LOJdY_H}f`y(p8Owpx*q;NRvqVLQB1@yOLoDR!iEJQEIBl!ZWFXxSf~=Xj z`Rw0CIeXL|0PQVjWU1Onev+;!$HgttfE(TwY$P8O0BQI9MBLD@_wzSX)S|2b}N@!uDYIe(VEX zDw4*A@-_z&E-o&k2*)>X+7GQX)!QhDh{6|He&Z4n(m7~B0NMVPtO|f1!;G_9>Y+k1 z3Mx7+5Bu{`C+$;oorKHilNr#o=$RP>d!nKNQkV@sq*|9t%cdiZa$7u|W>-`;Ha4x3 zu3Mcm?dMvPx_~UC3VYx~I3KGu=cW>NV^vFs`7YR?qSv!dZw_9Bdp=zM9R!}mo{P~B zPYsK;HbWs*vryI|VK|R7oNqtFwLtgGVKI6;*QuV-HAO9x04x&r`=kTuf`e#e!#|7E zNWkpL%PEX2l2Hl<9;8jg2?cw@F_duQf!5tW~j-!;G z*e@A~m2fg$A&FkBQ>8rX;c)g6ralIBEwSzTMrGZ7S!xTOss3Bq)!=e-aocPKXmjj? z3OkrvJAH5LWtHhZDY1AgC8c-OBI$CtUZ<6TK!6|&M6`Fn&czb%$pcz~TrYN{bntk8 zHAYJ`4t$0^3r}B1-l(ejjBFpl*lTw*EleLKQ`1I1TB5?A^n&6r80M&8 zQ@8?7hov_^i|4+Wd=kE3d7uaQg_v+OLwwDWfH^RBK%N_vYs2P!N$+Qz~N* z&b^M9a6=0!Q`KjD&N4eN}=3Bc778Vxl=yWoqH@PqM5xR(ov(W$% zsEj^2lEQB#LeabrWxVE&(%e8x;`{mgf(s%+@=X)WTKtk|=5KF{kMs_-@Qbi>|;wfN&AO-Q& zZ_?k%D_sDA|FECbU|M~-(JI$y(jzV|WWh#oiR9aqa=Lo3 z`t123aPhcVN`N$nj{+M4+n<${Z~ln@f+g}>V6SNrn@%rna112!lfOOOG)&V2DrkOa zZutoN$Hze=PkZYPYN>ItNg=pb!{gako^goNIlU0Mx)5LcD)uOErpf*wpFOHp4?$a79A z7wY3NTEKd8OH272Pj3TthAhZzY|uf>vNUoG$Q+VSzeg*2NqFHs$4GmBoB{a=;1rV> zycCd`jMootWbEwm1u1&4Xn6GICjFGU1fC;~>S%7!Ifasx@WUI_znPgdOLmi=&13L4 zxbp=&A4Iq@J%fZ~GME&EOok!--tB_UtslBEy;#CMo%By2EUBoda2ij%q31~q9 z@MpdfC0KM}aq@XAu|A1(WU3y)78Sh0z*&Y%mqmYvz@?z@MczfN*UW>RhP;8)$Dl)o zo8g#?oHZND<_G6(_(~$F<;-RXxSVAo1U=9Id{?fGrRU(d*{hXMnM+e?@?083D@jo+ z)VK&BkZ>VXL9`#rc6F#T_C2Zi$0@%>^$)vBzz`-4MzGAXG8pr5yTSbgGo{8_5)?e& z1qS8E{!gR)=>J=zJRo;1#^+K-J1#5JB`gzFR_`E((?Zou!miUAog@8_+o+m>MNz&o=QK4OEgJ% zqV|EeM}PY^_o$w2B;R>s;?;B9BwNL4wUr`<<~?4Zc&Bl`i}A3AJ*u-@wrPJ6hVFJM67$q8pC zQ3$)=1Xf2hmQCZc3lm(Sp1yv>T|e|3?MWWon*p_+7ib`UK!v~y4gpC3yP$9i0CyYG zZVfah(#_oLyj8wbRwW}Ze+{YuXz@9n2a54)yh7FgZx(5nw1ce~wIx0km8U_ux)~z1 zURNlHKOhW|Z3{wty+Fr#CH!})E~eEG_SL0EJr&}6qox{o@3Fv<9wf#nWvj@+WAhu? zi~+<@{6;eXfO_WrWFc7M5mbWMhrWQ+BZjn7gWp#b01xh)YN))5!wInd}WFc*p=KAWil^I8`fX z78&q9faQguW-f~;ysQ?;Az2{35A8T9*VM0#Gr#{V_YBk27U1EdL*7M2r>2ywlM+_89x_-o~;}odJ?cX%Orx zHG2x**sw(dFMnsp-txl4>|D9DTB%M4QbjG(aO+o@X0Jr*&WSs;Z`3eLM{JVEiqK8t zD)>KnV1&UPx`-)WxAH9*B+>C9WF9$j0x*QEElFfUAmn=bS;oVp(59!NCP54QYvIrE znK3KkYZMN5M_8cWd%4NC`n0b>=eXndzwLg3+3k3E2WSUtIi``DW?=aQ=-Orf7z4hA zhK1!8j2WqQJ4jAVa5O)tyrm+2Ipfh&GI?oow;T_I8I;u1Fo4N}fD> z{D=kg|JR}aSI!+{WfPzlwcE|RSr$zVBNp;s6yQ(6T!6+#%ClzRai@5TC7V%DqZ1ST z0ibDcJJ7H`c>vpgH_jTcW*7v}$v(INfMXm#GTE>1?zew!dB4aQ6hYDNyv@>&>@$jK z{%4}VqUZlQQQ%{1lNWU;q&q~EOO|V`O;l3aLrzX{NFjQFw}EsFd`w@HxJ`#((Z-=J zLVpZ+Xq)3Iev&aEz-}!d8o)ggJsc2VF5GxGKSQRWh|5~O!twR`!T3g{rkB&QO2&@m zx+x3-{iRY-Pqc~_$1WaqC-LM0#UU{|N#9#A_=~7T9r65Bo!#d6**eTVdn@fff0$N} z@YZCn;e^wu3aTG*KY9#Pn}2S#;Y=!5fz8dLFyYt^Y0-|(dh_m@+R<>KF-x&#Gal5a$f+IlVCy(aKH4-r zA_2d`Lks3cLVkkabi)}x9;6Lb zKO-;LV+4up*YkjZzVUTEo5)8+FJ%wr!GmsiSe!)qz04+^@Fo-<#sf>D$qzf5S>omR z^DQllE1de7i;ta&F6-@3ySrz~jmGWQrRN)-k(3v`E9HAc>8s5 zPRDE57AWUp!i$ImeTd#-p{4W%u=sjgdJnjdYFX)MUxU>~${DnjY-9I4UF0()~|C1(X zv}989HrLr}z%6w5RecMvrUuT`Ujh$~07_%fj!G+GTk20k)zuY+g8R>p8sEFmS-rf=MI1PjRBn~w; ztY1>TOs}kcOQlH&>M}&9VsQd5WSb}{ceZD9C{8>Rx@KANL&mJ}D%_jj2fM^CY}9Kl zKW;GLgZ(lT;#Dgvi> z5Cgik-<%X7AhPNlQz*>D0$2?rm#hj9;w-VKI6AP;ihWA9p z#RYJi4jQ}`aUer3oD@NH&{!+-VRv^qCnywv;8#12LQ|do>JgD-Pa;q=Ke(W6uLv41>J+|I;kP_9XA_^ybEZ;-y`27jDE}QAS`v@WcIFYtW+~vHb?c&}Ls0$I}tA11qd^}AI{QOD$kCHEU zf+QIH_F7Mru}ilc7o%G0TtyYqdQu23rt0=A@!DNm-0SLOG^<{BE3<1|vParO-*l#_ z6Cq0#nYY_uJZGkdAQkm2o?5wtg0kH600v%7eQ}jrwRlnVGW_w3yRAcS<)i1oh4oL? z@Xt$1SNBTW%bAw?oIWp=l#MggP}(2cm~^&XKMt{6)}m#|We6O;xX(M2QQ$i@_vyAn z>6?1kDuFoU%)Gpf(D4GF*)4K*hQ46KVmZyILL44;dzKDwb|P2Kl=amDtIC!0-&pb! zk}Rn&G_P!jo;-GyF8qmJ_&w`AoY_>-Jo9ZVo062&ACPcR+hj{0S?0}lMN%7oWG3i! zULDTWx3Ewtp0~_-@_g)*Yfc}AC)i5<8O}3~XFtSwL#~p(?y+0zv7LQRACOv+r?Ttr z9K5{9dTHSaD%5}h{pi2~O882KPKjKc9rVwizqe<{T2Z4Jch=$4?HMn&r4WfxlXl38 zoNI3Ht-9N>VrJ1BHp;f@g!tw0A)jX!h=C-(LSQ-6zZg|ayWM?$*5g@;rKg zIIp5WwGxfOeix%x)+z=N4qj(xgxGHZ$6YDeqE?e{HW7mXTAqW6LpdCVrw^01nn5nI zenq?37ZBPua5-)%+nv3=*pm=bH2-b$gjJ+|F;4A?)SjPjUZlBuq~0vEe1?*m(J(GlH_jRxZM*bUjNlh;a&EyUbd< zdN(C1G1zoa*Ve5}Yg(=gyRI|6K}%hE6(f`hj!maQJe3lE@sKV|5@D%H5S2D6nRJP1 zv^*XY6j99+h()Qqa#-hdA<7h_AkNG+Q|tPUZTijncX54jF-Qjcf0OE&JuW)?@pHZI z?_n?xO9IxftiJMmckF!kJ&Ed--O~j2w4}RlB?szV&li|9{mnB5Uv8flQq`CZrSfY^ zhHK2(`=CA6rApqwH&)^gui;?5ao^`vg{nheR9OPL z(!Vi&zBlK_V>iRD?M~d=#?(sgI-j(J$ z2w1o$@?)G|P;q_3qOyscm^eP~@?Am#FUudzC_pq&vwR2Omi219 zN-?S^7g)@lv1O?mD1;3^UQlR9TUl8tys@&nSuufi?MhX3 z_0l(Y_dFJPsI>iL=%GW01g=Q6_p>{R)J zqw+%dVFDEPO7m!PZ2yViXIgG$CRtE7b!9PBmifD<#&C9In zmjGu!ecq{}mo@$d6yh_`?;Z1`d5ZHs|Kt8dFj+zAwz1d?2lS3)+&Q6Yd-|mkFee{0 zlmjK1_Au~O1n9eeY3?l-sQ2?|_l2{mj@$|^YKhgsceI3&&Lx-*A0EcCk(dwOHgp%d zL5XD-24W#MN6vP*QyAzOVmfE&1=Rik1GnsXUwA&QTF?wt?+*=Pmi^^jvp4?+HD{{d zH;?0$eEvz@C~&zdO>1h0#%>aI_N7D=)GOdiH?zDDyLoJWpdbso;CCU!P)$|im$+%Pzim;y8+M1yNz-HXOnxQ<4 z0_JYKi`U=}O4UkZ zRb)p-xT0;!yT1L0>Q*YlPAbI61Tfgqao4OT?P}!uZ+wDRxHqoZzJ2>EYV(~;J(-}3 z59rN7Pf>CZsS{{V?|s{><3b~H(5VEs=aF_eiB(@83!=j*(ro|_8A`spO`BM^P*i9~dhTzSbX%<2H zudmKEjpvGBGKqqYyJ(aw^?l$s1Pl*uWY!ns`4_B9D*%d5n<> z0G@ocFE4%f_TGRPn^-=bA80h_;0)snLXCx*dyCL9|7v% zVltCzJ{xRcUBbq{sQ+AJY9w z6AAB|M!%4Fl(7W2G*1fU!0T@|Q*zdxV0J^h{8cRKu}DiPdibrF&}nwoXDXSVL>;vp zimZ|JZg1z>WNFMgcFlSdDN1$GDtzdKS*I$w?D0{!_v}x_fyEQ@lP(n@9ww)u39xxkkO zzC+|ofAcymh%Em5`E0iI@OP{0 zFg~Ff=Wf5ApT7aZe+^A7pY|n#wr)=k;bf?Av}?Syx7|NVk${^n8X@B4lg0PGZhDXdaMCWG3S3N|@ zqS`BMriS@r76s-l`@o&JI`lOnw>NF>*O(JjSg^<$ zp^4<@=NLVuZqdYW9tW*YOn&PD}Nu%00^JNuXLKLu*E=VO>swD=tsKWGyV z6A8I+wbKn_$Aj+?CA)@|ib+OqWldp$!!$_qz)NDdF>kASPGxsIzbYPbyE00HZZ4LrzU7A(^OQwI5bwn@g-i7TFFwQQQnZdKh(LjOc=g1Lp#3gyN`Xoq zc{xSKr?A(c?^W;12n~&lN{p5myOT7(WwyzMhuhk}5d}!OC$%9^ zn~_oS#S0<8eZ<2_eNCkC=OP4?Y>UR^Qw4lM2FaQ`{qt_iZv>2+wMT1JXc1wb!>*ju z6Pi-A`*&4!MFE;%pl8kfO0L}6+cU(HGF%b^u1uo4k(CwtRd;tpwhDyb;);q+IS4pu zsD2{ONr2w*nVZpm4>T2qeY2ER@kRrG>}(q&AN&6P+3}*&AKaK`*9diV1@*yqS`zvN zK*C{l6WI3E)y7Iw6=OF$vnW?1$N|`Do3rqD%b_ z9!VI;2fGt_alm`eEM&NWccr04gi-JNeXNw!1)fw`co(}ZE3IJvl(Tun@wuhB*+3@` zmujqb0Xu*8{azUcJ-QVp+swXxv2x__&y6d*zYl4M|bcn{~0S(RwdW5#rC z)x-V_5m#a^=Nq85fy4AYRD8hgG&2}oTD@pvde`N_=AyW){Cs9JAGofd$DxDs^$sDS z=EwDaQ-|9;xZFu5hntxVW-sQL$^x}p0&Cwa_YE=tq?fhMH&L%9 z^6|`$PoC_G#YG279o6fp&QbgLx6d`fi7O`;4)jgPMyH!5yW<5*E#&+j$dQ|=<gunSw(ZKJSxQ?=QaFX!F*xz1UAF~WlnfR`>Sp;|#qR55d zZrID*1h)FulrIUTnXjd06aLm}Dxa~tAhrw8ItCwZ>e_Aho4k27_0oWa$b^NHvt6*v zRDW%_Pou_>WMjh9Yj98nFlBXf`$j+O%QNm6S>giK0)H!Qj`MGh&+WoJJL|J%`>*E@ zW#Y{kWNznY!v~B04GArp ztl8=+DsQ5C52wPCyN~~rieb^~mIm$~w;pmaz4U=s1^~e5{Cm07pH_thu0mS(PcRce zrd5`7d{33rCEDL2-2fnBBL@obA%!9Q!UL0cT4FEijG3e8ePm<=;L#up`c?KyW=E}d zCkLS8cW+l`M|PLCb`Jc(G{RI3U)tqyUKs;@w`NiRr_IzyacthI>YB1mqCp!4a!U-= z4wDz9Wt2k?Vi@eTaIK^?fkhVwZz6Uqpu%ka`xoQk%F1sA^?)y5u)&o(5Nth4uHal#00;`j9b3uI$0gX1s$1mM z;C`4!xZ0@zWL$iqhrq&*=H@ zv9{meM1kI0adtCXBw+l>Sp=yd1`2kLp$o)ok0?_8jXlvDD|{|rJvluB8WrZ>3f%SG z71awXI?azVJ9YQ3b;MehG(D$&JSTj*1{cB58t; z1z>4BkXkQLZ<+ik9yt?N<76$Bc0s=q`|XRdpy%O*d%X*4sBbpef?w`o7R{viA(CUqW^YBQTJ2}MYtZS1bPlfD$^zFAFsBf)+ zMHsAp)W&%t+?M9`2{xVY5ImgUc80?L>bBX-$8GqkIT9>ixzB1kSfKDDbdYz=PBkIDQ-lJf^({kLU?f!}f0w&DYJhB-m_9eY={z zlP?{McdYSaVdqj}tAR4Du&gY0mUuWUW!*=(F4jiak~rr$?YKe+_Zqwr3m8)V+6W1p z%{j1ui4hmU@VpoaIez!l1wC46U~fXgg9<-&LLjF81`CR(KS9>3=zJCwotq$1 zBerWw+eJewZtuDaYHDuX*44A6^tDZhOQ%)2=uHz0_-fJ&UZJl*}6BhgXe0WBP|qYzNc~Z9&Cor=esK?6!$l*j@0oExL9v&IPW~E zu~E-gxd{N`{QM*Yi*;XI)Iat9{+(wa6$;&O>b;UKb~uyhX$4tn^Pl^dm0DTAxW7Xo z0V|@mU)sTAVumTyp`kFqElM8j?R~J9WIyY9Oqs|r2XN_DcL!cVs&&@OAkqO4@<5fq zh7;q!bJ5ha+xhnGn@wPE&%MdUp!KZReY2@4WyR61NfQNZ`VX!tkCeBRSF&awUe4E1 zsIK_V_GiGMNssxbWgwcHsgsbfse4dmMWcjNvP)B8XK$~2SvyWF+>loLXNj0*X;)RXrwATX3BD}U zT=TglSF2VibY`a`YYLVI6U)Rtpnc%9p8pc1yg{B35I`lZ{TEy)_?CHoyk;Ap;J3%W z$)Ekk3%=du0W-1iE%j{KyutlsP9{Yomlt00vd`V*2LzLt zDaP7|2zVVgl>WWB&Epk8a^67LOV>Z&cV`%arZSPE~t~Cnp`d;}xY74o)_~{6h}QM&c-^&B>NIVzU=u z$raOM=Cm=6UhT38iw-YnyUpa8zm@lai4|Y_9$W$Ldyr8P0HMuvwQ2Md9#9j3VJdI! z2`?>S+jDIQe1&M2NaCT0a#J-ljA)M@ySu-(}_$k$H9rG8F3FvQ(A5$t#NiN%DNK($}DNZUX?h6U6-C=z5 znUB~ZGo`N1U4!NK39G%ZG(N_gx92EMPA8hgC38!=^R1bHLw@KrZ;{3j#gsvkTVgez zpYUUFmkI`(cUr!54Sb-FEihW@RXGP`GtuU!GEkn{hX)0Rw|(kRj!Zd|U3TR5tlyer zRzG>QR5VewFiU=T`thUwqGX}o*A022>$ZO+sy@kYPST$Yj*Srkk`V2Z0!wc32om|7 zwvyV8Ou%3*!xz@qeQ~V0(Nj$R8I)KfH#C*k34}SlZP9M&Sr4o*80SA&RDCO>TuNkQ ztTb5(NAgs>cgg)KE+Z;v*jQPMUv(%!y!Vppxg~EVDL1~*Z8KpEV7X~jyt!FW>IRQ; zXgb$To5^~k=JzW_9{0{MSCvWLAs}*2C13!{4c?jc)N^f5PfubVw`&7t-G)6?uup63 z=_%3}?WHm6qC~+6=w-!%84;-PfIq+6Rr9+sONbU&_!BR7r$zvN@(7-JK=qC`+pt4P zdBb(vOTeW#^?+a8zdGFSu&4;#p2xwR$#Asd^)EFt^&%aBJ8wau1KNl9%qB!EciO+K zbJ@lB^}p4+4%ZBiB-P@{@reQGDd5v_c3I?f291(0p?6m!Pi-iX;9W$X1O&AY(G4>& zsA`nI!_JXO^@o5Ccqe}69w*=OK5MbNDxEg{!ZvD?MW|PBBO;K-%H`yK^i%n!IjRwD zye`PgnH(Qs-E388_MV@apvgTc>B-_Y2g%HbFKii}OEbSear7Q)+WYeFg)}~c(s#)~@;VQ2>#4q-XSt+$ zPy$n>B~flB03hx%1OM^J895gRf2}_&XH{vw} z0Jy{n;dCX`Wo3u^x~Cl~t4uIfGrTzsPpxuZ#)Y>Blh^dh30iW6Wh;E^U>^GAGQ-Rm zS$LbtCWTRo2qaQ=8911R0k#<;3y;GSLO^}T5I@GFK#uEVx`SRXLv?okd;@Rodt+T4G|}ZUe!B-EJIKb93_@5)$7_>+!~U8fCka zy+pTO%0x!X3m-p(grcOR1mAtcM!Tudb5S1x$)v=-(i)j*YigCcgobokAvsZi#UWNb zK;D8DgxUC?ZI#E7!lMySU?E{#*xW$~b2en@SHfC!{$-6hZOlUOf<~<|Va_@KRrxdl zgmQX12_*xIfWa`mA-?8=<#pQ;iK*ZosrqvxanYs)ihF4v;zs5kwDo zJ;=dnT5^&ruJY{7LCxW2VwrMW55RnUSdl!DWv9RaIpsiJ`YnHl&k5D4ey2=8FUl?lCxu+ z%YQn6Vbw0s2$y!!hx04>8h)z3TV3>pozmLU1y!78j>c z>Byc!z#wF3NDjd_%_-q77<1xs8WpfMMJqA=^^iW;6o>-9!CHB7k9x!Pt}>vLT--eW z8I6999H>;vrMfx1T88m!HwQa`*9Oha&HXM(s?}C-SS!qBc>-_2F!`JHAEoT`kKw*o z;}~>(7U(X-fW!`eki`tRrk9kP?H>!#>Opd;lr6<_y*DR}h}o=%4@oQn%{$OOyt`My ze}K?J?VPSssU$WV9Ta#-5q8>~$}(B4sCqlc0~F*>w^AWPsO)E_#Zb{4q#r9Sy$0(Z zd|sv>@SMgLX`InDFYU5?^c2Le_Jk7@smie80Z!qMSuv~y@p-4^aYBd`G;7OB%%ds9 zjP$L9_X{U+BNCT(&()Ze4d_b%(Q9vTe|K69hVQ-QLad9Nu?y_Tz@6 z5ZD)uB|ozch3Mv)zN~hTH8(@}NQvqCyPSJyh(Iub-xVLC8N#O{BXP5B%q6+7VYL*z z#Pkxe(M%~$J$iiUh+q(qeJOyFij9s#ES!1 z+z7sbpx2eqaOM&ZCH`gE4g{&`wdLs6$;&t2%1ccDG$inPJ_gwAE*_pArF8s4Ia^^N zGtfi2^@q0iIVFF)}vP_T%Opi%0V(^05(w#P?%+ zu9zklHH?U+Ag}}kb|n{CfI`uD%C^A(XSdwH;5L>8APvF+2QS1R5?-ecez{4mZa)E5 z78d{1RIvH0+Xez<#l2!-za2p9OzyhEAp|H(6!%7~3a?j}Kr`hzm@@+@c9nvFNw>LG zx}RooaBz^>;7kM7`b$KqQad>*wKQ*hc)4fcZ0J6=GPIzp^F|R$PNsO#bAsOuNOn-J4tJ87Jwd8&< z0h3ST6SK6W2d-2gK%3wyoMqUG85nWdeDV$uH-wE>;kxY**-?Mq@t>CDZ=5vf$SQX4b1iMNy*y3@?S^DoL^*adB7% zid;X)kcNZbyfo%&|Bq{)^2x#b7DJNUcn!IrVx#{Wj}WP!H{#R~yx?(+bo~4F-*36R zDODKvTpc%m9D&liA}8n5r(ywB064qTd9TAu&~Q-w@^*Lat9R$k^C6i%WnpFg@r}lF zrm?=x#U40{L`Iuwx(~Pwt5mEdSYZDE#5F<0Mry~hLl}}WV2ajHhc@<#eQ@}T(w{D9 zz?Wkf2!tQtidzuw*J-#=Iq^ncy=#&#aOM4jRQ?(lS_Ni!@83p49U@Y>M7gT zl)Tq(K`{CN^a;IA2FRxwuCutF#A(r)hWNP|sll26F%AK1r|eK0j z=iZ7ASmMRXveKy)20}-uAGPZvjF(3vIc5%{>+*+INa$kh{?%>#u*yoSvhBj%l}l6K zJSJMrmpg8O>k~N4fnu8SZTdm^ZuzmThCv0|5N08JNtkK z@PCmO%LycU4i;vxLIhhL3|L<^^^lCsZ=_M@TRXjECaZJZk1;QU&Jodhf{l9Hwvohd z=v4E_lPUec4L`#!OMK12);6#^>877mR%R^)z1zQRrj>{s$>VhD~QKE5W`;Pt{gppl1&`<_?eCG^^#-HMgydv!OcGw+l>i?pn4Ezn z$4qY#2(;Z2K375HqyiG?qbFR~lC+XO1AGGjA@_t&bWF^(|9CctniBXkvv`AteSc3N zfbvcIzC=)n4WRPC3g^7obp|&>;Rd4S7Zsl#tGuuBRShpE$CQ@oVII;aUc*3t%*u)j zmDd|$nfm`kpkF})==RQCQg8Zu}M43`mH8g4>kmNFr4r;OYFj1lpP`kGFLm}6L2 zXio>3DZX)q=?DUVkT}Y`*;YytxGqCDWbpI;r6$;0646gF7s@`*=^0EZ8o->r9_h34 zJ3S2iDcvrJgF&D5$;`O%$Bzf>YinF(l_A0)KsY-;-{yXH3*L=o!8@UwH;)6s0bt98 zk89A5`c0FV$@<#-ybY`yo;!)6|y97G-CwFe#fw;lQ z={sPL)Y8@_ZoRkIYmAK7DniD_PhdX-JD4Dz+qad3G@sbyM^};=d_9v)&Y-r>qpd0~ zQy%CC2{!_QQ|o?zW?A@Uo^dPAI9X|Y==|&)E+V!xmIFLtOPbW=KWF|E3)U(Oq9`z` zLLhZWoyT%@T<<>Q{BV2eS2D*uQ6ggU#1r#h>!71P1u1OAb%+`Rx(EOFDOP=ufu4!+ z7))JAr2b=qwJj}t`#;7+3M|mnfj;h;*P5{UucQm1FvKP6e}2 z!R*pE$5X+W6#mt+!hZ~r0`&;&|7$_hUhBEpd9k>A47@G`r{6Nml^f&&bDB>g|Fu~1 zcak+(jM7-%!u*uWRGx!%zV%4?3o(#?p#M(F8Ls6Pd&0cmNB?2P~Crvq`Z zx&NPDO*iDGmGAxMLj3n_|L3nd&;NT#{(BMs``3H_bM@hc|M$PPSN=bK-T!>*|N9T! zxz==Z{{Lm^#N|!g^S{65fBz^|WXu244Ql$@|6G~>^P+cB{(tx82J>#-$aIE0NZ<5y zG9b3!0)2!=LUIQ9*G%ueo(On!;}0TUKW z+3zgZ%Bdpkv$L~p${8#WODoJ`*Mo?`V7YVw~Qha*Me zisT)?CpnjwaLp|rFpwOwa z4@v_Ya+&SNv!t9-0PCvq|{n@|_3n0MYH|Jv2 zj_W*#@4P@fttuv59+-*{=?eRu?XD9247LqH=Nl*pw0sI;1GzBaGuVR*MgUBMh5`wu zZ?-hPa@J?tD`Q_Tp98q!4fO2cz7}RSc1oh~N0@<-{Nf++03ARHgsa|MT}H`cuLf)e zh-hDQ0)`{_Yf&Xj`f)^M9`xeq>gqzjANBig3I%u^f$JyvvNte&Dpm_VK6vmT=BFLx z3Pg$3<1dnih)lLnkl(?@_1W68gWI#{#Z`-_?NICA|)&m%hN-Mh>CJWP;7poSe-;dSKNP2*Xlo zuY4LmMF87&i!)+(bvm+30H6RIEjT+&KVgFVnrQ3&xd&@4z@ek6w$l}!GGN4^frY=L@P{Ti5V}>9{ArT^0wxGHv>98 zF&=ps1EJwTLzSEV6@_%Frnzmz0S(L*%wNq85vd%xJ+qk%b+`UgO39A7-4eOx$&kcJ zWmbk+QdTYop{r;p0B~Q8?%|Zq+{nE1%490I3dJXTrwpg`wEP_4yUu)npJ{EfF@qmx?>+`77 zg1?2Wfb9-9{QH-nSE@VTQ3EysE9I-qRwuWrdrVPaZP^C@p4n~w73gD?Bq(Bh$WubR zL*f|?evR&1;{MHc00QIh+t2}ly8Qju2qwO|THEsmB9K=jO7}N!-}dD?F`3triGry= zJYbqae$BX~_&paD6*-@&W)JmCc7^vgM(+9hn}9zPp81{GfId*R4t~+T9&|J4Gl*N* z12Gkqm0LyzsJ1uGUBTN5vDq?ixho2B!E7z%bn$@Zg}@^FLSnVfQiFf%jj?!D-BTU@(h=TGLzpZ!xA@EH?w2TMQ) z+foPOIwYY5I0}?zhj+;?{mQl9iSyiKRWt_29~3X|f};~i0WpPygiu}}-J#W$Xl`BL zfO~N^@a^W%4tQDld7AdNmM!&;T(Z9&e-Ivy{hz7@vqaYb)&?nQ)x{L{r%#_AJ$rWF zs4cub?ibN(b%H3Sd0RCW#HzZ?NziNUPsKu49HI(ZJB8`01rQCyA#zHft^~AaF-+>W z!QAy@+o=%zo}Z!mw6|u*RZ$*^9h^e**P&8_Hpl!%rYKZ4)oD(~zlte96Km|~i?ZY@ zoe3n*{QC7$xl;-1VfEbQ@5dsD-3Z9+&``FJqrJB}miq(m0ZbvQ@+S9GA><3xEis#R zkWn!F{VlK8+RxQvhb7yjh<%HGbzB`EW!RO9ggtaTCOw2(bZzNV9tZ=-VQ$VHJcjjE ziHDJ6D$dobSK%ha9C6HOO(HQHDZijmf%uR{pk~GJNFF=WrO2}b@9{qsQPTWs>9 zz*+yj+d}R^mRvs6Gb*^EO${`Kw?K~;rc;xxL-rR za~e#Mu?2sD(usz;NMyf?XaH6!E&diEDR~*-x(%6nmySE6`1t;SPL}qDq!KKGbjZ-; zbKNBFV7{uMmAf79xYQG1`UQ5;Y#0H4vD4+MG|1mL6-@o(V28D2 zoe=Vs-XMsO_R`Y)X;n*4Qwq1WH0yq3V^fU~P>wx?lNrvrW-u)VHy=oULF29Q$$rw& z-7RWs%Y1fr^$rmc7Mrp%Ag)VvHXjZFZRX|>!o~F4g0zeP9BXR0hijHr`qtKIU)L$* z;{dC^GK6D&1lEEuOY57_>0!V>YIaPFg$Pw^SE-dG_&6vp|C}7DV3zjwcHn(n^%fGM zR?c|_b1uz*MDS6OoX7!PTx{cKinL7z|pg z@+f$FbS6_EGsJUlH#D#$FLJqaQ}(K1 zjRW*D6r2t>t|db5dO&QpNqxn0#iiRi0wOO=AP_I0N)M z0Qi6WmPSfXPY*=fsLeC&SdI%|q)g8&2SETBJRRtcj*g!#4X>bn&oB!LaHn{ZBj_!_ z!sN`4?x6GyUVB$qjZ*7$(9q(?;jeA}mw}G=uGOgP?>Yj~qxARlV=*bLV8h%V{DHW>6!ERNl;{BHY~%sqWX&qoZ} z&*so&PYOV0*e(;p8XF%ucEkTCpl&b*<~K->yb6Yjy2i~la>K9UcPG<1C`H4;3=P{1 zn5in!i2oP{T>bs_oC1h;^A4*lmkqyJ4PaPXZveYhGtEg2z9E*A-_U?5W7((wC#k&3 z{WM%9*&L!R7DJcqPb2b;e~fqEYL6iC20eLZtF$dxfjP>osxg$nMaY|?eEJme^{ZO2 z=Z!G<3}kRm)1K$KawH2C6HrYNFRC;?ciI8&{u*`pP*QeWD90}Kp64gn;N(I3$LR;q zG>rh~{5O*2N_tN2p@tf+eSMXfh(jeYRQli;(6{MyO*SN49irBzFV3&K%zswx!q=$M z_o&B^dJ%X1MSF8NNsaCPD7z_haGplS71Q1{bdpphDM59`(}x4e@r-kj;LM5@{D4Tk zIc4PX=h{87 zj~^pEU^n;koqvByjKqy#ork&p6o!JZ>Y#Qe-1C@+l`Rd;#mr4}CRBali&WdSbAK@{b zJ@X4edHrW6vYDWqVQTm`Uf0^-&PV5A_(9)r9!MBz;gBMNDOEU^UV_+BZ~m84z2bwnTF@ z;yL{&uNMJCcTA))_iE8gf>eZH83+|2e*I`+8`9MUF$rw3Sn)jpG7}QIk4;Xn9u1X|U3n{kWL&2274*73rmtJ0c zQ*YP%(GkfwMEkj=mcwX@C>yGG3ASj=gtkvzlei3Og#|?opsw+Yyl4jzAC+91VF-9; z$ttcm!EiPl87&30VPf}_y*6M6c;57kFWo`>a}~&)_O~)bV(P_Vaxws3JHQJfP_7Za zx!}dC=HoJG>84>DY-?AY+AfFND;7`hsFvU%g~#CmKKmS2lfghHTHp?VW)yZCxstox zdSO$By?T(bE*|fzU3iJm$ zyY)Fh1PR$Ln@SfhStXL@=S2Zifb1oW;@{j;-ZZc@Q~#>l(kLW?$d*8e0&s@1`G-^J zqM#H;aN11LraZSEtwrA@;F0Fe+@mCa4y64O0A1;ID|GVE*jQN5pq&RTQASLeCV=#& zIXNl#Rd1=rS}^;JY`#f zzY+UAy=s_iyvpugbgqm^kLim!7PtUiabFMyHF%dY!+`=D_?|gx=-f1_&Dpil7#Rug z+Sq8-nSP0Bx?%j4Q5u&R*C#5g4Sew~fjZH+v}*v8QHakAR!11!`#EEelRsa_QV5FwHJi+o%uWByhN6tn$Xvs``M3D|~N9YIG|-V7;xU zNKL5d7YY^v&}!bG5D#mD3U0y^01!wZIu-$*R)ushA85IZnt#0Da=PGixC3#rrqjSk zF**s=R0`1vrZ(5RM^x>w#Lx)CWw=TpTGy=hP|H7~op19EfM1P+$(0caWkdc7uSAD`X>*=Jm7 zrS(*Gh}|4j>1PMAs_}YXaC@5tz6z{JAr2$nz7yP@^}%Ej&UWMarIVxWdlgnw-f$!p zI~AO#4xBEREkT~v6`)~!x@d4cv|if;9!dA1)*%_+&$q>u7G0W`h~dps*%K@v`uG5s zaAnXAITs9o)LDH??XyDt?}mlW4Ms*F*KeKtBFZ7K_*2-F$e?|nmq+>0&pFErRro-h z(PeDx5053%Ogy=Zcp#skad6-U)W{ zPWk|z{zl^;wwO1_yV}fGm9f4|;}KgXVFa%fF)+l2&Z=1df)85o7Yy&uZ|`g@FLyXP zKzAS%{WL7L9+WH?fQ{>LrijbmfUe80HQ@bC73_yH;g-JvTPnI65ZV_Vbtsfzvi z!TRXzUSb)_OSk5*ajYF&cEcE0qA=jx0M&A^pT3ojT{fb~$QQ*y;e2JL0NTkF$UI6TC^zU*)H1O`EZO>#IHC&pEby=Wfw_S@@y zs!(j~rN0!cUWd}=T({wX`RrDftOv^^qFfB%PlvNlpKGNV=ogC-Y~ zmJf7E&&=oFH~C%!to+GGwpwwxirT?P2kS&Ry$P-Tp<4Ik$@M0954I&#e0af+YW(^0PT6ImAK)*-u%?9Zu?h@Uf!h=g3n9zls+*uH z1L7Y#iV8x&z@h?i(SsmEq(OwdBj@u)Y_%dSU%;fA0VXUMDr_kj`ihVv9IeJa?xuTY zf^Y)yWjk*RbH1F!L)n5=70^oRhmDcP1xXLvzqCfudLFR7djf(sKbww@-$R^{_FQND z?oUBM8~DFm0Qfe-EQwHjLP_|87bp>u7*G}vjRwMT{FTi9>t0EvOP89d%--?@5m-K% zxb6ptWPrLN1uBy@6c zX#dAD7nv02FGs@r(If;PQCfi*+jeHw1k9xFqqf$L9S~vXc&+|2om4O%s0-lnHI1f) zS}c?F>@F;?y#b$ZrXb%sJH~?NQ#&u{A%QzKD(+K>vIRyn0-~#@2884#SK5J%S zfPZYU)!1#dAB&KF2bLyZySJ@@723_xUny^c$YNH>AcMCRp7w2c&tM{D)Ly~B%-YE) zXR80vZ4_N~*cK}Ib6CI0gogDMsLMaI9={PQD>J>Y5ay}=MI089Aoh_<$!!v^2FcO~W1ngwYJM?v02*ub`5W@rzR=1b3@OiCG-1#8)JM)vs z$z53U7L!~B4Rg!k558k zl3}CQ1#(M)V2zm10dE$O_QFVOERB=|>R z5eY()L78ckU*D#OPJ9HWj*tVDLhh{89_UA0fDU`ebB0 z9((w9XOL!ZWkke)RPg_}Z^dZcEYPmJ?Pxg`92EVu1;Tfsm9DbeRZCmn@$k4nh}5SO zCzoYTLw$-mRu3A}e~RC@JNra3@cK=K8%l*5G)g)l${(L=e>|763&?DmnD|mvQ*%8~ z_=e)6$JWW45s@8?Q4_{g9sU9h4qQ|>%gQJYd&XUsCJ%d(>13EcTzq`x16;r+2)J&M z2nEkg`h&HRkdytD4AZcbhy~ylXMjE|Px)zv=0J|-l?K)PPn@B`BCM`sU@x*bdhZbx zApy)1?8OqS!{ z2z~8u9++IKVD+ak{n=$Xy~|H%kM02n+(d`3$2EBK*`zg-!-}SL& zla4lwt~kax?HmB_5p)EMFMKu22FT(}dy=pZ^EayNGj3yJ1Gj-4-?>Kw0+6f4Rka>6 zTc2G+E!%7Xp2lK-wE6GvmxAIH$nnPSP7fd(dyC{d!0@>Rq2+$jxq+$@(1e#jbi7L8 zKYtVHc;kbZif=L6Jq}I6GuZojm#6ngcz-q=6&DvbLOSB_Ts_aDlM{per1HCOk3OdR~p;*ztj~uR%}m&BmZ&Q2;}vfC}}T`0~a}O6jjG$^F?Za2$wANSGZL zvSQ|kONfgJkw@wGzu&gcBa@1u_RbK&px`O@!$Fh3W1}+>(*@;Ma-ipJB1=}ZEP$dr* zF$fy>_fF|Kzk1`~&;rWa1yT+`b(u|eMBl9T-9tiF4@hcu`0m$#9JPJ?_%XttG5wW9 zquv0$9Y(KAOMOB3k%0hHUXOY;QUaJ`PsAXopY#)uO@2=m9mv&QaN;;nbq&x z{v8|?h3DdXCNvXXKoboo5qx|tE=MLUVfAEft<&gaFwb772|#n?JX%JJ z*7JV^Uu+~qGP&`244t-`Mv;3>1(HS9-`{V$GfxB3W2Ui9=Zyu*J(cs9KPG>Hcn8-9 zCrjd-lE4zf3n+vifuyEUXUYIC6%Ng@@y*7X8ubnqNvQKt!o8m_&$*TI&Q_`w%O@Ce zeit*3*E>iY@e44Lf&k$LCT26Jy8Q0?Z)~VCuYA3v(Me~u(qtL!TU=ah=6U;;^=kK@ zd^Ls&ku0{C;>N`Bik{~t~jHkCg(Kc#Xu~-Q(fK=~w5ILKX<~ zrgW-<#8{zqt#W3V6d;y;-&|T1|dtSF4ky zUax2gn>N{I2I< zIy!Psog#$in5!?dnW23;e4e`B8%lij33$tE zUMVExZ$|0=jBMies92A%f`gJBwaniym&zBr>Zqxur9YAM$G*vQ<}rMCtCRcR+ZiqR z{33+*cE0nKt)y+n-@C{`k;qTiUYk_fULO}A5r_J?R!%vWu>t}F=j~ZPojH{%8m)w- zghP%R)Fj*pPRSabciRh`N9vJp-8wS;xEBdwH=NzgjYCthFT^p?_WN^o|)U2+SL|i%ZaBPs91n zFB&G3wh)ax6%F(<6r*W;~!&V5;G_F z`FZdE5cr%0M8obhHg!pF7RXE2aPNCfMFke-Vvwi@y*Tsh{%hs00`OGbb_d8=s z(B11XJlA;>ScEk~fh7i56Twq1YylqxS%YciElf`_lacQ^W&P+4|mZlgKYA zU+>>a{%J*yiGp0cjNjUiruQwX$MqnN4?vjO-_QRI)Z{iNyR?NJo`fX}hZn3t;8}(Z zDef#m+#HqM4Z*|Z0p6j<3{xs!8E+|uga$Y76IJ5`J>+xNFKUstcL3_c%p#bTGGsqx ziN?NmL!`4SP7H=b2i=zkwZzJiWqlAjWokO2H(d^%KCcsx+sX~aDv5`TDA;ZWWu^=p z4n_5(@+@*`bD|6a??ejFKjT!LnD9%#dUdLkBqa2?wf?j=tWI^7cfqAZY{q*QK>86m zo)3EHn(b&n2a&2y+3mN-4w%&-gQ0;^Mn4-ivgz;Ms4u$(D*i>nCB3|cQ2nki4_1zq z(<+2wOKCY&J0oaKK2Zni#_hoVjCSZQXX)$vrM#1+{1V2!zv87lU&_Ol1J1QSnb=FS zYbh35S5=EtOFP{>?!sV^Z_6J%Y8@As$b^I>%`7eD_Md27MDFq{%gf8(xKrnTiVrOH zUydY%IG*5tfl1}iBh5TFx77H`T4Y>WTN`Vgos2S_3{0_nft7?Nxw(FRIF%(jVyZei zVK@Lmt8sC0TTC?^|G>2B_vMmzmFs4`(yGc}9K%n?H+Bn4n@pefK-|}SdGSEAaHAEa zkR!ABIbeEv`bu4Tih#TLQMFO~ZKyVx_`4wf4SMjTjI3U%6-`Fs=RyDMXv8zLVCH>Tsaf#*ayT z@v@NTgL1^=Ey8=)Kx&vywy~FAHU#kU8Y8RyJJZPZK9=2d%_ED!DI|+T2?s*sInW{n z6jd(Ku9oP}kSp3(;Tx0mc5z?s(R|nV8$iIsrYy?M!?Sqm_aVXLR~OyxFc(lfxN%Zw zP0E>RXa)0QqB0*jYT}+d$9JAP^YWS<7-M1o;#NG+e49iMKY+P1&lomd8# zEVlSLKL#4wMYX_lJQHnDSBww+sn=b6FWN3|>V9{9eU75`=RJqg=TI`ac)7FVQ*~a7 z1D5bpMkcpP2MVQ3vVd|zfvRkRQqlr>@LOSoyDID*$mo|>;GmYX=4rl7IHU-_}y*s>?)y3`#v5r(BHqs$n^lR zo?2wkW_i7HzxqX83x!IJ2hI2NpOZLv*~4950VD#ur(1|=PqSFac0+^s&Gqc9UY9ae zc(Ov>sm+0*tx@5|?X^eHG}jicmj8>8lr-Egq~9S-y+92QHZjM&Lrx=03lKHV=lONb z>Az@!u#lXU?Tt_QQ}nhwQot+a^_#2KUP%};QKZkQ27?$n z8aXic^0pYVY3%Dm)BV4=d#k7{`|Vx$0R*H)q@={6OOy^t3sg|LTOcZb6Zd z?(POD=?)3$?%4D8UGMtueexZAM|*4z));HNLwKJ1{>7Zvyh6ZEI$%9!VTgMvTl5@B zez#qp@I)L#U~q+apu~+7_7pxb0>GU`%cC(VW7cXxC|F{-KUqYwMJTkyf8##Av`Wah zDEY#PSqLn>9L9f^o}(p6J}c?sru4w9#_D!E72L-V>#l!{ih}08+-@E1A>A31qH6d% z^ZM4c@}#@hkl8DM_?AZH5|6XXGKJIjXc{p9VR-kre&S=Hw6))zV-h*W?LL+)y; zI8#;(O804z0Wcc(u8)(lXkO@EW5>VsBpmW$Zpl?SJKR0XA_g$svsyYx8VP-3)$kFp zdCg*D!D_y`n3M;)Px?t$sEmL6`2QHK9~!k6MrhaGI|~ zn$kJLMav0&G2kCOMe9Sr5?H&=#zp{-r~yfMfYOWd*Y`OG3hOtSvrF=H`t1@bQICrJ z^D@$`OdA+~EQx2#KEJY0$JHjU!_CQgf7|dUu)mCpMXGJYY!S^CtSIwpe9y;8S?qF*K~>2e4yE66%BGH z12qXG&9dyz-bkO#!wAz)1kI?O&b6lM6#FB{AYkOB1GTQzK0R=5Gt>*E?YqtQ93-DV z1xEkh)a5^=3fqFkJ_2!q3VmA}0CSz@IQ~?6721F7P;Uo(VA*z<>65r!jh1X z=#i#H&b?U%nJdzdfec+&|MfPsKcZS+X}A_6=s_kSH|p}70f|t7`W^KxMNXc_WfX>j zUdLZF4!8KMe!nVe7e0zDr+b+2oPRcY^1H0bP}?`16V;{iv<{o@$w|?!$yJUJrE&FE zqnHW-`^8J)>}nox+@k($Gea-~9+)J6ftHugcP!*?_5Nk}p|e6Ml*PwvK53^PJJ#u} z4+FsH7Zh)8ZEVE45*)7#+eSx5YX9kNd^Ma-aG8W;bGjb;0=Dn(Xwj@3j#qVvRmgfrM*1tTUl&qg?}83V09^{SKJvz{+_4BIVf)c6P|2a;4z3 zy!8E9+~?VEkB7s9bXA+-Fl^c51lEH}pMfk-rhAfK!xg#Y46?&rb?-a!R~p!#z^`7E z+t}Xrgqgh%Ico!W4#UtD`*O%-@NOcdH;_TlC*c?z{Qwgxr0uOHpz|Bd{$-s~Y&?z& zXS7d#e#n^BWtvB|;|niWdaeNN=z{9a%a4jkLhqT3TnLC@6$32oX)GVph1kgpShyiK zzgJE2mu!hMiDMAK-Y zrKjV|+n}rW`go=?9=k+TVogHh1^E~bS5KXmZRhn%{pGjjnzP28a_n2>QGagqVePC3 z04R*RO^j;mO1P#N!#{iMZxU0Qdct7E*A>Y_kd?(x#P-I%?(WWSD?3B{ z;Fb!e*2xUK;>2ivXVt)BW&X@(d(tQD2XXStjtn6;t4enL!+;Hza~m8XbaZt5_mytj zy%t-`Hs!p2<5^PP@6K7l#sw}Bda+0pSSI6r2fA?ia$uxQgZypb2kPq7ZDDLb`b4FK zugb{EBG}!^WHB~|8!ZY7Bv2IV%zpog%P^Z?T--eQ_00G5c<&<7DLgiSi_Fg2rMc4o zo{$WMEo>HMI^p*eKFErN_9w|-YNi*|EyP6Dofs7TYhnvcKVu-nf(hnU7yyVunFDo- z7PuR(CkYQN6caFfH)vPF6)T%`J0_iN4*Gf7lzrnkwp7I<`^mFsM4|<+&`>1~%i-NI zyC6~!pGq_ixs92Zy{0hcea#*wDabKix-Ikud}tu`ptiM#*hDeY-NhTXG|OoGh(LTQ z1N<3qw{yrMY%AK(?nIH}JH)+6EGhVkHwrcbmdlEcmYMR6{)^Y^Qa`*aAxBW}i#%?F zsl?%|n(r-^2iSV=VpDpQK^GflU5j4xjp+rF=;R_S%(@dBjCOiVYOg}#MAz5)*`R&% z%;hMxns&T=&Nx1>cOZFsW+r1piz%we7My;)tEob}&zYCY!S9}0G$kY`ARq*} z*J1dGQw@LeQ|d7p#ew2Qo(L8tLiiRn!Db^Zm@#-UrXwkENPOHnBSABQ{bQdy{geW3fp(`$GaP4kvyPt`7{@S5V9Sl3lfO)cEXC(XGJ-D^DLfc=kE!lHr5#7<;A_h?F`R7RIhe z!SE3CBdtuu2ET=M)4eY+@v;&_&xImTd&r{t#_ii!up}F+D$5Z78(7}hfI2jPawF0O zb5z_H4iLqD1?K&zk0R5*v+I4x9tpQ*j%&QE(3g%+7r1N@Y@PY2j_ds&r8Qvq{wC30x=+nNHW=`5(oc^l_&4(zUOIvto>%N zv|xs0xwDwNWAy%x0q3i!E{CHN@Pf}Zu6Oi4S3T<%Kj`Rd4e_cjFD-Q`+^yWSo5T^# z*34J@V>{)6f$e?A+{}z^@QgG$$ojl$!#X=&xNoNMOVH0jm17+8eT_uXfvb)h4$XAKGH%6bS=;#$?IZ}aHXIM7kP|#LUl(B8vr*ID%^=&`NrGf>Vt*gd`Vx@ld6Lu=fl*t zcY9}hn`6Uj7@Xaw7hqB~e>JeobrwsrN+v;Ww5~4czEfMlK~-t@VwL@$ys?!Ge*j`@ zCMIbAhRu;MJe$+Jt>2k1Fvrf3F3>x3JYSddJ+9mq?{Ko=c6pow+j7v=R%aff((1m% z59A9++DeJ%@rO^$}wcz}NR z*8v*@g@X3XBPxoiDov9HQTD@4DVL@z6^22nTQuEpnT(A6+XYLjwn`=Iwgr{tM#Kz@ zp3WuNpLAQel?nyC25s;-s#`CWJz7{?bZ-k|MneI<>kB2Gko^JUsWs-urx++C0P^F< zOF;ET+^BO3bH&=}RHq_pJ-fec+F5<2v>I(T<~GD-qP;CkK_o0(c|DDxw6Hut9GWRY z>W+$MFOQsE`;%!j(my6(G~{Ua=q9@E!4A;rI)?L%<@jXh#KAHB2JitBS3kz-6K8Ar z18Y|5z+o`Hl6f4Dd+%A#Jyqtg>uj>=;m2Rt!ETk)X-x>l(CbtFFBjks$GfILT7};v z58Y&UE7b)uBwWmn|djPiIV;9Rs1+NI*fsXiAleZP34B{Wl_mC4&a$g(R#3&_5m zHeL^a%BP#8cmK~_hl{wK@D4a3KLesc`w zhgllWo{eQ^r}%=ogptbkClOEUe*W%D`^D$9re3rRYWNSAhPr!u#UW}?lHURZD|Mj6 z5@FkzAlO}YVUejI+gYQ5rYn5a4h!2?8(dNA)eL@)fv~rP;e*dZFMHP^oEaf45KV5u9An8362A5t11_adaL~&ck zy#)2$vSlAkp=II)WLtEiX@=dE0h`v>EJw%SvKiS?-`+HIR)jMifWGYlHz|$g0Be`- z!Cw;D@lhO)A?_&3O!F1Avr!zISnMF!kZWI&Thf=&zl0IpViu}Q>4`yr5M`D{-v0N6+W z>7f;MQw;RUX}`XIbqENj;M#gt>Zca=iOb=oxVUZ=!;o5)ZrDe<>V;>*zokRo%l6yu z1BZc2_jkgpi5YBrcIB5}Rwt&WE(IoV%9V6Q#Y814wA1ya)36;=Z*25@Rj*cCi)QTX|I?yi3j%xSxFATGET#-bz*9lRG$c*;VZsg^%vz3RZc z*vsMeq9~`awj8sLHgZx-L)r9D2J%N8wsXyzpO%y>c{qhJgPA%~Y$E_E#8Bd4z5tl~ z#)Ff10~biPaED5FF-e!p;1g*>3DVl&L=Q_t!esR(9I%)f7$N>_^Q-) zL0UL)ieOeJVQG1>?ClyNe7Syy85cas8n#G(Y)nfWN!YLv5$PzaiCw+7#3AH*a)Ee# zvL4|6Q!M-j7y#8&J|-O+3T=WNY6*sBrlVCDetv$IZ>_G#vlW~qVw#VYctGA0{miM; z$(^?pkbCkDTv%#)>(IeksbTu-gEun`k5GR~DN>%sXY714@O}i_I`Gqt2UFAa50D8T z;7N&KR(7yDs5QN&i3#pW4KW-@A2ej2fYrL)Z^uZygyGRrj->z(?Ar z+r4SQ@f(_+-mLTPTe5Nj2E&-z;bBVHd>3(WYGIXhgDWE#7LdX#1NNoUP?ZbA$;qjA zYhNft^16F?`hL+EEqc}ajY~Z?4iV*o1D4)u*>0Vu!dGd69*B4MULMVPLxON{L1|WB z`Pcxg{}B=-&^?Qv$3s*Cr|X!qHwkI$Q`!<>E<>JAnT?fmsT1Hsu|hUi?;i!UyAjbz zCrq@7h6)M_VxUA^j=X>~EjGxm0pX>Dev%KArGeWF?f>xJN}1C>Er6@n)bpWr3V^1Z zWvKbPLv+rg4%>Z13Ub^T*M+up`fAf9-x<5bbE2{yMyg(u$-O(RCw2Apn@eH5=Hpdt z7ibZfO|R)L^g^i$f@QX5L}1rUi`rPP_MM)VBk6ql6l|uO;OUo?8WPg+hLjqL+8u;^N*ad!qBJxP|U1N@{WJ(!UNC%m=}|~a=a+QFESnfzGLV1qO$DcmRP@2 z?t`Dvb@vvKa~d?nU^GLN_7ayPn>pfN#cMekOZ3oCJ)3 z;9G$V8wajxF_>rEH5s`Ar8?jb&9L5bjkn2w2eReF4DetQP>n0n}&g6}mAwv}# z=r=-6d(`9{T1`;sT?>0Gl_}v5C+71O8<)K?esIzx9xu0(lH%osdE`uITsbIA6UN3Q z8r-dGMew7dbUYS>s0DU75QO%?>jLl-=@}UxUSxJ|t*Jo)f1`ybB@#x-U?c?HX)lK< zh&AdrKDo89>1idRld(nyOZc8C2uzuRdGYU1{jpMOayzRQ7eh0%An*8Xxg<#(?`6a- z84}98kn82vfPT5mx~4ENU{hi_GFC_FdDsbA6tmvJX$x{=FTCjp_*0p^qm>+Bua)Ff zoF&eIWXo#*nrDOjOlgoH0FUH7*`yoCYn3-vZyQb=tT~OhUIOqm-PZpDIH<3S+6U5J zQ2k1I$`tAo3H=!vhpIb3m*9w73<}5wsJHSo20A*fe4?B4eHBC{h=qa!j=!O)Nq6F8 z#i9-Db|X1mW4kF7cy$Mf4Pa8Lvzdg6@VYfCoc(fgEM=mFq+Y#jYHn^H*CwLlzfOK3 zV`=RJ9Lw~umXC?38_qDWfq;d>!t%r!;AJ?ZQN2b*@w|3L-LrfE(n2CcGw@uXHPb!x z4@03eG&DlNR{($yalLwI`{AK?K$~NL9EM_A&;D9^0NeU;h!8iY7bhJOX59pry1gTv0gdmNq1wGgHbOHIoK(MyENR$rO zV2zz@^mLz}Ufpj4-QvGz-y_hLdSVgQj5)+3dsZ}m{&$HffceuazrA?ORKJ24xqCoy z?1U6fzomen>a&I~wGzmmLMY{MBZ!x_b_4SHGV3J{R96bGuxE0AQI8@Tx&0* z%6eZj9=#Jtx{c5RPQzT3dNOwJ7o5`oTuC0)RcilY>k-uab#e+BkDjqLa z5sc3CqVkZ-`Lx+5SmEa5Wo+Ll+GU|t+E_@qG54-`srQ5V=IK5{8k(p+cmHCy4#DpC zp|=IR9kEXvDtAiBF_nrcs{(HDScwBk46k|1uOfz94DI7L=!9KkSKFIbU~fJ(NB;q( z<`mQkkKOjac!=VmF)FM#8nlOt0fqGq#8@NOAo#F~6InsQTklI)Q&)!$O&B8jAijDP z7gW56MeE4O$j8UY;>W$?mAJ^|O)ufbR^aq_kUegbhw&lB&(Gt9&jI{GG<*3An*6jz zH*Va(r`p0JbLq@2hmUAFkw*$)Yjs>;9p1Px=~f?8Q=|T%>q@`Kdl!xOFw-yF^RU0|$n68xVQ<`toS}5DdDmpok834>HED^_*EKLu*Zki&~iT8?ZYV$+f z190#_#A(9^Gd186o>C9?C%QPvP>8ZWv2YKJDpSf@SKohy5>aBZYlWM2(g>DsMT(fgQ&osvPl2jE$9ed2UzP&PsKNO7 zj~eSUb$psT$~%3Rp-FDdn+VkT!B60=qyW{J=|~PC5c1oKihYrEM+$!Q`0e?5M-TFt z%1U9LEUf^T3tjSg?LtYt4B?Wtt3w}P$Ytd4FqX##w<(w^W_3dsFvz=Ry%&}TGg~j$ z$p3K9Z?Tb785kH)&Ud`!b8<)7JXIGMP~B5Z;1bmoOoP$ouqEaVM4MpYay#TIgS238 z5Kw%RXL{!;0dtd!uv=id-yE&LGAFMKmYTZVH3_-MRJeP_X{@f4b`$x}9tqe>jN@#7C`Z{}AI$`n&P2q=K6Q!@VY{BRpCX_I-pXRq< zKigk;i16?ZoSGI23k&7S71>Nj^KigS?PY03I*UTv``lbEn7L^kXfTI?@8q{A%ziT9 zB$9rISBNWCH3o;<)R`wXA|o<9<7RnQsncLu@7MUVpEQ1Z0kLtg5>o^(a?qPn29P=G zo(yqWw$=_QPRi&j>F0^up zH!QN4%!*T|N!QBO{Lp>|-yiG%pIt<97k>XaxJpUM6jsLs-5&57hbo&Ecz8;VTt6BAo8saAnYh0SswvFrXm(Q`hojR@wU;Y3(jUdvA)I}M#wCiP@4-;bi9 zg#205UAe5&&%}~Ij%@hRwVR{=2!mCl;vst&q=Dc9zwvo(Cm|5hJi^)|64T3_66b}% zIFLeki365AAy|8DlgOe=r^hNgNaY5vD=T6nNfkW(f&yC|1@ExNt(}e8S?Q@(uA086!B`ywJrru ztSy`g&&VjndA9>d6adeO!o8@i+I9uZa6+8AnHlBekP*=XNTUgq4V+$_O5HLYX@m30 z2ZlzlgL)bIb8Iz~!jf1E*PmTNzEikq0IWBE46x3aRb zx8ANE%4GQEfJfBz_bcpRS;-A-W+#du{~x@4JuEz@=9kj90*DmauYRP}--EviWinKh z^%GU-)HKwgOPEQIRZdmgU{KAWS>=f7SH!b4kQt))g3p7Fr~sIj z3|OyjZuwNdxwop;(A3bj%f1VO3Kk0s^(tqngX7Oqc-!~>WGS2RakWQ)Sr}*mFyLT^ ztD5T>S~NhAIwL!jsNP>>1SbwCpm)f2B{h;03rdXU@dZk*VslUECI17I5?X5mGaCgB=m? ztEs6eRkKpHsQwx5XIOJb^`6nm%rHPpRZsiOspqW8&o@+GTU#~Mua>*~&=nbJH#SnT zvv(dIIk$esI_z{Y(a}M}!wWzkuTDyz)sk>Q28h6(kctU?+@FW_EkzKvcFQ1@t3un- zpuBXbur2h*xJj&}-(bKsRqN?%`Q{B`O8X@_Im|5Qy59BXKwoJ39H+yw-ShuhWidZ~ zFbYcPd7xOO*UwD_Pf$an}`eUxe?lfyh%eAoL?wI`45ytd_@&w_o<4t)b-GZ+Orct} zSM=zrzAwL1?#s;bmj(aS&d#SmZ;*G;NDoh_v&Z_$0X3G+b+NWN+E$7C5X&yv=nZ{J zV;4z;D@?iME7xKTdI>B|wKgwPQu?u}6{jRTFky>88}OqXwO35oHh|mF91n=`x@B|fCe7`s}XgP zn8?i%-Q#UkQLP0k-_xG_sitvZt2@!*mqOObMlp7{uFJlg|Lc^et?>8Ah zObd|2Ptfjc3!{hN7jtR~;S7ru74g5@~!T8V+MWN8^nJ!W3Iyeo}Z0tJ|V%FC=RPt_y zb7;K73AsJHHtvMrbwB~MR8CiT z0vt~$7@o#9z?V!A_Vq`~rYzNn!qV5voC$+=6o% z?uj78#d0~cy#%mcVr|`GqM{a78O^Xgv{nIfByw5A8lsAV51zHCAay_XbpdV7vqS%oi*t@2kZ$ ze){*9rt;}|t&2)t|MbNcoPExO;W<$Vtnf-!xDi3$b8^^xvEcRaWu#xfv;NML3pQtk z{o!TTvopjT28cGzA^&|$F9VIYE`1zApjN|N3Ti!omyR8V`^pv-^JyWTJ-$SF9s+_nNMBF z$hI6li8>!Z$X%c5IT0kNl5E0%M7cu=4|g`|+p{|dP|FH|XcF#osGRUtR#)>^f-@W^ z2O1MGj`J==8w?MJJ=lG%@MeF)1;HFY$;okY@feB$Cic${^LGkMc1dW_QHWgwt4bNZ zj?T2zc{V5&p%K#oDT#QF(!dJ8^_%ILTglbyBVkXv`#M${L=GYnFFNiMqAcfny;=D~ zy1*6Q_?Hn1MMx)r!~!E@7i>aWacH8)^5E0e{PrX1&e8Ftt`;rUwg%(k_USbkfV=Z% zPu4V4;^N`{yXEA#8r`kw{euIV4{%7{fC=8T1=L>epFKodei%sws9gkKhH}G@v3M9cs4e6{y+0BB$Jvp}8k{Ci-JfOgUnaG=s?&`&X!ho>_ zY{C;t$OLM$9S8CPpnq5*&Ic$Ig`jQ0W3&Y*$WSO|rK~{O@vS6HOV6@`NPa%gBI=i{Y+KNqPUJ|B6W55W=wFvG&Xd}e53 z5-?Heh)|=s4I$HX2w+{LMU2?1s}lF79xR6l5c;7p5Y`+NnQMdj@HGZTp70Hr?4-Jf(E zO!0)tF8#aOlXO3z8QptP+xhf>|K?rE=`C1tnbj9YYJW%UEg}hZ&^K`TJ9aj?edla=3tMa}$T3og7+5O71gQVn_t)?Pt{4 zoCMNh<|eRrSBb2EPy#3c=fijIYDdVc+{dALa7jkD}fJ=03yh){ugU zj2%!lAQQzn+Gja3yT{vZGYnxBI`vJmC=@_^tg0m_&{=MH{r8r3k)p6vC_4PNxo|(VYsiRR^DCA4LVXHT9GTR*@|ont++&|P85IZXbLJSJwWkc*Zpq& z?*l$+tw%mUPPjH8@o+N&DS^{zpyPV$ zJ=uR>ilnzhjPI8XWQ@=Y#8DtG2-vQ;`I6yT-kI?F(JN{7L&|be}m49Tg23D^N+Uj1^MBpaVL$pLKZD_|E|LK z{`6R}cs)?APW}0nQetz=1JlE})jJ3by2wulr}oF=<0Aqp;zNFKsit-Rjs#xbNi-u~ zB_&9eoP}P2&wlZFQM(sxp73?|qDt zvN3m?=4Gi6+zcGm+D{WeO$Q$WQE=wuw@1$&{7P9AA0GgpY~6)DvsXi3MDE_31AmZQ zE-Zo*N+eCe!$T~*3+yw04|)Diw=syu z_wOBr$Py4DDhje;>bDm(!AQXqYD1IEJ;JP^ACo=ds@ZS+0g& z{rA5}O8!4t1OI~6pi|y@? zgf_zv2?GTs8)OqSdM5b*&Wo6EqM%NDS5+lK^q5Pi2&zXI_@LYY2-tGm4%4!DX-0Pv zF+vUou759SaP;1&Ygk50!{J&}Gp&d8Gid*rn|Msey#7;zBb%P+p$K$$V-*f~6B84S z=A&J)!VIAv1XR46`trGV+-k)WPbSLUwB~lby}YI%VP5>BR|7E_EqiPVvD-;2hP+I$ zSwhvR_xj^UkEVC$SyEmf-(T57GRTnlo%ioA779E?mZGcedJlK=99-Z{2#tJ-eADqh z=Ci2d@FWwwQK0?%3daV3gbFNFzipI%`b1n%=)nBmzs<`p1nh5ap=uW8+z^vYA;yX# zd9H0RmBGI%bOAOIj5iwNH3Yw;weBxTLLvyj^%~{7_ZyD)5gei@Ge)kqGi%87yz2CL zx>TDO1pvwSNSLlXV@~r%ur)XzV7&d_|L6k5oV?7*c7IIDvNa+uDfQvmjMNm2yD1JA z&b=njPxNjAtlfYi@$v$UQq0FHZk@R99@${UI+!KvE*|Yt{q@3!jW7*yq0WofuFGQp z>?#SLBWg8^iZ`Ht_YnNbqV}Vyct3@QV?hlSugrW0nWScEI9aY9?V37`N3f}3RTEJ8 zz))-h`3OE5ZvHhe-P{d?_2 z1XTA-TeS0|Cq(<^CR9Jd7o2xuugR_^Xb$_KWG%CKnc{#9kb(MMgLcStXfwehCdJva zWY=$PZH1t{JE$+|<$|=ru7M2C;t|tas11bfOG;_Cee+xFOT>_oeUb`-T0`AloNeqdJNiV<vT(27Ho{blm;UK<*_mswF5Q44!aXI1d;R} zpss*=9usoh-ockaATV%&5C>29o+=GBO||!_-CR@ZEg(8$8H+^T_YuJXC9E)LPtn27 zrVT^#gr=|Rx^CpnXf{l0<&CIBoCnM?Vms#lH0X? z9amOI&QdMMA@D=oViyhLsJ>x{Pixd32w3)&_GrAkya-_{n@#fkjZB(cOQ#F%%<2@t zX+{jd4MqX8cCOo^O_1=<*SagD$yEdnnrePFf0om_BqdFsY|}O!t9}PgiY_p6Q7C98 zp-j34lJ#&9Iw@u;`=o_1Fex;B{i>G(B0EHY$ko$xIMEqXY@xSaby{Mx%)^39oa<|? z^BDZhz>5J5W%GIv3x)WuYeM=Ngn|R72|SQ(;s*|afCn6!i{LZ^yU_~}bEp&(v%w=K zA6^n9kBhu}_YTfAY~a|xd}}S0CZBx8l?Oa6?AFKYV|YD~e-sjOBQ`Ep`_-$|K3l+d zXQAD{i0g08i5bnz2p%vz z0Hy`A%^3>va4rA?wpLy+Wn$b_3^XyZUEtN* zBBs;Q0yC&2C}p5K63}XQV}gMMqQaY+(nh#MfWD{7eZ|_@waWUnKI!KEGFp=iLb|P; z-C@8)?&w5y^{P0Bug&9R`HFL)9{;Q?^D19@&@4`$dHNzR2B2#ly%$%(2gSRz)FFN# zcl>Va?IJmf!-?{lMB!|rf%HfE>7>2l-tqDw{~`pVD*nak9l(eZd{6p*ETF@_j%&WEe>x9` z)DWQ;*qAZXU>qJEnyzi^>;}Y*KfN^RQga9(N(sm$#NSB(Kww+6IFyKib3ZHX z%K$csMzxnv2Z;txid^O(=$yIu7R0@1jut`Eg`m7zbcs5<>z@gN7q_2@gIS3_Gw?$9 zW`KosrL&xkNF)`1WTn(M5&bf!D{Qe*~N6W+rNPXvKqm>kWdvGyJv$E+a8Cf$NI057ijAOJ4 z1*>rTDd)bvhj5>E@!d=Z$)KePF}eRfo(^R?mh*Hz+_`7{^yrCQ$DuV3&{cB{GZ|oV z@<`)Y0?ecY9Jgb0=8!2>Xr>v@+y5mxDM+mBQz03ti#1(4kW6afi>3X|uVOHdYA}QZz z2IK3_Y%Oz|A(oL8i}qfRL1RxNImc-L_-~qkNYgz{o;!BZluj3Z3MnxHqEUKApvbCnqAW3MlYDIa+ zmr`E$Gb>k_roH5xuC2#bF0f}peF4YXNZy5K$!K2iS0Q#2AtN5|tqnXDe2aJlo13#E z#_9m+`{!E*lfMVU|l5b1cr$sQIm4J`Vq}gdAQUNuTfT zksTTOfK}N&s|!-OeIMDR45GSuOZhOYx$ z^i{_b3&!3?4B@1yO9SiJM07fk=87DN)|LeL_{v`tu3ef+*e2&Ruajh&JLVFi{@PqJ z3#TUQP)14$LvH%~>})_{z4SwUZvVjWKiq~oP!G!Zsj4d101un&g5aB(o3~|R8}i;Y zw03nhI};HhuGL`r59bM#E$-l@_X3}YPPp!4V*Mtts?$(&4Ua-pa)$dFF6=IqevuAZ znzH0;`T4UE39;7gqwvPklLMP)ch^(wI_q&qptgE2p-6JWggx%Nv#C{1m706@u0N5H zK`JZ5jw8Cgm2n2rKuj+c=CxS{#K3Pur@-zgGJ$X!-!0$w8B0Si7nh9#R zB)bGxK9FJI@mQCt`+2_u-L*^t7ar^#`LtEw%fcIBHJ_;PJ~?qt;~6h=!G@@*zQ%iN~5{@0*&MrhW8?4%|L*_E5Ec91FXX>-CPZdc_XMfwKr) zJFf?`8t>f6&&$h!D4q<}{GyjFiisJI#DFyUasv;wR9f=t?J2Zf;Fy386xXJB51`7m z7eRYjkGRR2pGY!cP%w5(V7Ze|aLi5A=Non5(X6I){nlJqUHz$9&SREt%lW#Yr3cvp z*3`SZyDHLJnwqrGvicFZa*G`9@cR z$YpI*-q^fhPvF?U>mWrf^p*mi7Cm5i>g?nLg(mfljoxgGzLjplAaKf;Vl{Z>IAx^b z;-X&ZNC2L52553`qL7^h0xZOo$z)p=qTB(KjV!K_xIVl4zSf>hLbUL=ZQvM zem>W6S1Iyh^$iUmsuLYlArF=nGyTK(Q-4?+?*d`g7b4oj zlucV&T53Q}1Tzwy)uCh@KVT5?NC&?$DpGtiUk9!p8_hdWmun4yY<7E@L%rg?n5XYM zt(&OyG}%mo^0$!gp`0IoH_ z6?noH_;8pLv&*4>>E2}zEtDlwj!prM$@4j0r}s3M4%g?-Uv@hb4=+EB6X?B0U(jav zXvhfzn)!~nX8b;gy4Hz3R^}7n$Z34(m1OoDq*V>yCK(WK z;%-RQ0H$KrWQiZ_tE30PTFFIUI5dg^Xry{)b8LtMEfke4eqx9fq* zeM@l&4MCAI;$Og|HRtslZjpf}B-%m#7z{31Mv9DY6f##qKz&jFSBnIZNCAV(+~K{w zUiVTYtJ4_six_W{%3Pu%_q}7#_N6(y`ispEMNlw#rTO9f?YEj_5m^(;5`+sUJg>gg zu{j$X|DoW~y#gvPAcbPQJuYQ|q%SN$-I2c3WWez{H#Z3aW4!&NmA1n6218C?J0?1E zYJZX;2?jrZL&1~2ZZ7udnNH?nz`#qDG9eo(CBUUV#>EA}(vLo( z-@A~67d~pjqy2U4eXg%jpQvFn1Y@1q!)Qc4DRhE|tJegtNJm+K0CK?41V&))&Rh=$5w5rkFvCoYy~95zUF2_O-KE zK_bCor$_q6cfp14@YHV52B4DbZdEePsF8(jDk6fIH-Z8!wa^Sk02Et^3aS z#qH&ZD)pR?Y+m~y<_}>w?QEJ`=t{`7Z@q&&6u9I!M)GjNm~m{9V8Y&cTvX!xBrl!s z;22xmqgh<>st#Ck9+a9WeOH?}IIPv1zApKoSsO~=0@I#%W)?hmIq#1anQcsl{XkNn zpxy>YsF+rw>!hsdaLvA58WJ;E?Z%8aFGokcdR{F8>&W-J?A7{~mW!}Zkn0%S75(AL zMYc0!8$!HwrF6C3$!{hYSG~GR9xv?l;hu@`@FchvG=dwo+z&-IxI5?Jqt zaK~uP8FuiMQM+H^X7pO@hxvnzxnX|d@HNp~>l)pOZ}@zTilItZ%zOv_-D4FtRHJq) zUXbDgGxj%oW1?VPlQ4#$;kCeDd-G?qJyqccSai;sO{4+JxqwN4vR>bGU#Xy{n&gub+kurHW*WexTt8 z9nMWRqs#>XGE<&=_Zpja;~}Mxlv|Sp=Ko-zJ=>Cq5xH|L>DQ%MV*jcC;VP8iJQ@3; zm!KBLf|K|T2&*tra7|OD$>VTnUNI~Uq`ddIE)CK;7yEKCKF|p=TT?aT<(f&(jx|4| z2#3ZOX`wn31U>0S3l)}2p}B{JmohcFVIb3#eqLK<>C*YDYe_4K}!D-ODzETDsx9#KvYU<%7k%;!jJcB3Qm7`r9 zuhKy#1|QM;t1nS)a+WQ1_V3Uu7cZbg5d8%(t9Sqp2B61a0h`!d*Eojd^#~4^jk-}P z$Zlxh$!0r9dtwBLNg{9&BhQ-eDxxE|Qgm!aFPur*a4Vj;Y+XS53&&k`ZEbB7p)bbv z%qSK$t$ZA6 zMXZp9AYPE~wr$9-{yawogDnK!>AOx_Sa6TzLnO=c7Ix4{;q> z@0~vf$Ij_aObm>YGM+|AXpan`y>!VPjJY44gvZ6PIbmfxYqfU7JMF1Qat(of1)|-8 zL#``9G@^{1mzTUMTN9EMoL5Y_mFo=xkV7y>>|; zS$t#0ySQn46~G1XU5OaRT^`7)1(a*(-S@OKrZT%@O0{BhpWNJ>z@FBSlnwP(3zNsM zlqv9dKv4T6>~s2a5InM}1KEQG2|$KuB42NBe!$b_2GIKrC&_#*WEIo!kVdlc$;XHY zY}#PoRZX>xC;Mxc^CpwcHB9%n(Eo|r*`pJ>xk)pFC(3KyI++|69`2KZNjU*uD^&T* zptNAY8mCn$(!Ev`nM*@6nkep#3-y{OVt?+~@t`=N{4pEtYjGKwKxu1w_$2L08TxMJ z@QxvL>iLiRYm`?hKsV*6yih7_{3m2)s4sdb*}=hqPjxCJ91MA$kg@648usKkice%Pj7N!d=Vs3NG6}2Uj2MVksd+% z$!*jQYl~GUw4-jAcs_T?xzW*;zuOtLncrrd$`DD)92lu8Dp`fZ;|JS@pKXj|?izQX za}8#<6Zr$%E*LWq0Q}sUYy&HTb=AU~O6l-MA>zyi%9<~vZfqgtR;C69w@8(V%~ZI# zx$85ce$5Tsy((hL2;R&e!@_PQhlYsUYBfu^2n#Ze)w`lXsOVl=o`XT@z32d^OZBi2 zo>!KgM5|+9?-^x#zIzwuItc|Hpj3CGR7xR#)$m-aK;Q48TsS8Rk>Gt}^3U$Aa_RxW03xbbTK~bMHbi5Y+oL;tA`2sDz*;n#{%P_a-EfWVeP5oy*d> zd=P?KiHCnj;n?|?&#u)nDga*@^*;R9!cv~o0%6o}779FFJlQeT^f1xUAWB1lSwFF; zxm3JfS!SZ7v@FRkJKl!Bh4XPVH zL?I4wP-1_VW$S1YvYyWfO&rabqUFxd17!NzE=`gZ2|K%uT(y|X^to^t;S3ZBIiE$d zveGT&f`ft#qAtNF%{TlRN+~pJReGQ|@{*^^#n~C6G-1>WhWsJruU?s&dL>HWE_2ax z%vbdKu>X=I|M5g#K5-&6!lP;0vQMP^KFR+g@2%gm>c2G5N2LTQkx)`;P*OrbLP7yi zK)M?hkPb;{X$2_(Dd}zr0ZHlZZfOwdI%|Jt=FFVG;arzL@xH*r-k(_OUU$GoDFS{a zOh10RZh;${itI8=oQMZx?ykLe+#Z(OakU26JL7Fo)Q+u(QjT{F9)q~Y z)Mj-zf>DNasC24g?JojmSshM4F1I!Rm-*SI#O}fU&RyBVcc>40m+{d~`T6;Bu>%E} zxqeQMaCcX-^Bi8sU7VjF2Q^pgBmYLv)6t@hpOBj(O?gkX-)4FG9MimS0y{Ys@Fg39u~>crlzQUC{p;`jAbq1x&GsalaHUwNEv(nOq!hC8}8Rca&CMUqa=X@ z#unFlofsRBaY#80moL9xl8AoGN(+*dUmd?u}jRE$WpG!Issm(We z*XH5$RAyEE{lH~tb0t4F{k^#s1&l9KcTNE=MS3e=|E9MSn6H-j1RXZ&mj{f|udKic z71VYMo1bWWB@UlI2oG!Upll6tihTX?eKqT};&?v`(0H{j6m4>f{rY9YeUClR*lvG& zM0NE|`n=Y~Hg<>Fo8iuop-0N-0NSfethYK?5D(Kogy@E{w+#=-=OnkpYtm-`!HgU( zCqhUn@xegR4sd6>o~^0Q*(jz%piCh-@fhac3PmYzJntS!ugT}u*E=Fi?^g_UxOdbH z4%I7OP*!d$=V^re%wO1`8~K#Y;Gi9k(d~DXO!4)g^0m;_-q9;J@77AbB+>R@vE!PK zO!}o2zMw^z63+C&O0fJMLi5$}_s>ziC#6|j#iZY zMSAEKz~|TcGfk+Ig;HBCo2O_!*H8Fnf5^g+MssK)6d_X@YFw76lDIVp1p=wB|0z-< zI2JVIWki1&{QQcyV7%O-@!Kw-`a}5xIS;hc1K3nZcQ=o~DgDd)*Lu>1Z{9HTq3#V{ zTWiyj++$>9^xu3zK()xNHs^@@XC~|s2*4kkl;PQX9^KWMcb3xdz@7oKx2Mman+F`^ zRsE;r)~Zr+x(viiyfva7tFHd+R)_Gds8#}j&6MIh#RQQ9P<_1~$xj%bNVfRWW{MNk zK!*jHl6!hR;a|8_o4Nd54!7t_l!Dm$n%E*gJ-}Y$Q6)b8HcRk^y8MTGG;d#8m%L(+ zZ0vUWgNY}EDYnt5r1;M!`*AaM9%24rRMO`z$Nf*AY_(TO*(Jj1%r)b2^oNkuGxpOb zn!~RtZffDbC-mv&S_2-CprbQ~;_q(`Xc}O?mOj$UK1&Dgs%A_OnB>EF)kw$jG}KD$ z_jLD*rG5dlWIW?c9J?NGOnfy5slEp@_aN<{IX)Zy$KT+kX(6hAkQfn>s$oIULt$s5 zv|Vy>#W$8Ygq*b}Gfy!MyP=VG^i9z{B=i}Y;=7EDm|(8y1BJBI4QfB6)U2wShJY*~ zCz|_tg=YoCKip1v{chaORhiXVqERtnc=ALXbklyIrhtSfsFGRv8@kxqp?e>$#{QbK>iuC&>pKEef$MM(LS&hY$(JwY4+5+F z6`89qrm7nx{h>o)Ij@xhF?3fPA9|u2qr#o0p)zKG3vot2ay9wd2ou08h679-OG>!^ z;gln_^}M0ek0$1SDX34evA505bCqjH9Ji;l+}Kl`Bj*zzAX@!>{q?OEdDA%)DV+Kt9ng*3;qL5nGhU{vefTI`Py-mXjx_x zPsg+fDrk+3r9BjGXEm{vm6RFVGV;FgG$#}+92kA3QT`exjxW<)AH|7H^gRFeU(1$( zfmn@(Z{LDKL8R19F7#0d8+P*e1D+ca`r>5xjG=QWKZf9_4A>bjj>cr@KnJ;9UazPes8D7 zK*ubhbg@&TNoK7*{!o&akSD_vFFCU2Mb3w9_Jf|Der{4^B`sfCR+gyxB3((|r)Q<) zIVCg;m@fOl8T>^_2~~d4PW6y16{%L{9HMxa#fG9O3;Gs^cQbw>E8U3m@Dp+Ixgsk< z7G*B*x_aDK@)SQ{Tzno{<}0uPk=#bWOQFG_MF1=Z7<`UYumdyc`@_>Ggiw5kQHlJ5 zTV!YUmv|*>!MNIIVs=$UyFEj%m~d+rNsQv$@iMLg*3^u@jwU81^W*#Eh#SgT6JFz| ztv#*HGHw3}xgde%H_ODB-^GO;@N&i;S29abV zi7w2-uh|lNU75GP3^Wmm{Tc&~)`V9e^aCQ=z#T`e+>c4HP@&NesX(D?0L|nl2up{- zOfd~!VvlJoUcOu$OQ(U-cl=w%_U*N#U8EaG%Qx#a^$eJ7Z_(q+VA&2eH|w`Luy-bI zdy-C1L!RO<0D%xPv-?{AZSX=cw(phAsO^2e94JzfJ)~q?2%a$Qc7bfgA0!`|%O|4y zLVOP0o?bGH@1o{3!2dIZ^m^%7g>H3j`|sbP1;XdI%D2xdxmhOs=50?6o%pNlHq#{% zN!Hp%W7LwYO7JKsDUoid#^VyWDbtM`>fH3^AK+*ujT-pVFKxQX^rp#sic^5;IAu)> z;x%tBeT46jEeQUi9}PP4qRPFsAv16{>d?x)xw$iM#b4<7iLE*%U?%NBZE06hkZDu_ zt%y2dWGBmAI=Wk^htsQrrEiEHT8vAqT{bq-s?}Gj_E2HVibB{Q44;&iUG669Bg;3W ztZdRuMliCgjJ-pKYnY~?yE}@K%IW+B_jw|(^1V@y(*sHd@jxmqS%UF-xbGb|dc~GL z*tX)0C%(RY`}PK%F>0epUlIVoyBp^&0Yf~y<_g>;fp1OQzJI^PlA*z4MsivL5Nb9) z+vC+aaAyB-?&7%6)b@%WEMvl7DT1GX4>CE2DLEMw%2J_ZY}_S>8Egr_qxsnQG;|g? zZ?k*HSa^7d_4I6+h2V1c@vD2)Qpy0Q=mYM3|J8?%r3N_a5RQ+jDW;2{U@#@0&ONI% z)~1T*Lj)Z=$HQP*N5N~kYapcxEp%^9EIBak^({>?@uI!Kpy*I}CY5RSJ^>b#=*lTP zDs}((N!x+}Itt*-Q!>dU{4x?{{-Es``yFZJ>(pRKs4C<+!Rl9Q>j zqWwjk!G;bF+&etxA0a>&h{h{_CNl6*^*}Bf8yjn&3H=&-n>q1S(|FdTLLOcD61ybM z5^ht)6B81nis`dU! zkQi6&|9Dt&R3k66+}R|2scvckQ4LQZ&dGXdO&Rf$hN2b_5NBEbXmUOalkT^d?ryU7 zx*itAGQ{U8FXRk&i=yJnF zpPkBZ4xHWeIxob@|84BDUcGu134Z4J_AN%lF;pVy53J0M8$r|>Skbo%G9JQ{;sXE63O3U8Q@6I z3On3DE_*2P=Rl^4<#b8{lgaAC4d28>5tXyD=gTXgt?)hGTQ->Y*?nSqnz;Ah`NJ3S z+@z^eq4hC+sYE#pNf%8)h&`Kig23$$UunKkD&Bc(zlK~|24De< z^0}>>Duws76_1i`Z5v}f^P97@fZ)AUV9U7e>e)(%*%A@GQVDy%{Y{&LOYs3gdgfL_ zzEMs-9Af$ti^#OdQ#5I?h)5))CMCF0AJDJH+H*`4YI>R-iHV19c+URUu!HsO&E@4l zSb_DYOS0*F5|~w}wP<`!o(Hbw*RKa)bL&ZrFjbM-6ZSk*;NzAhuX_GUTT2Vpt@FW# zCvY&Ef%6aU{pxT#5WsZ+fwW@sR#?L>`3fgOwY*IgU5uG(YfmQ(Ul4k9fAaUMg3UUF#omIUpfD;b=MA-D&Ndhb0{9lFI_ZSbV1jVd8Qt8 zuj&>G@}7K>u7 znKYB=Sb;MjjsW*+4idJ1IPc$qN~-swm0I82{02aC))`4#Z^7EEsMpZ5zeroFPS)`D zg|CHQ_~(T2{Rm@)nP&88oVOZ?(hp3Bl9*Ja+qiHYueh$Ni9^n5k@WxroVE*pmoC-n zkKs56CINe|s?rPZUdkCs+!bTlD7{*L|H-5hU>AaqMM}gB$;@B3#a=Pr36F(^g}zi( z>SSx@y(kHJpVkEgK0#1y04NEFh^_&7Hge)F)o-}SlycIOD@V)2;hqc_cm9e55pGRY zCj$=x8S)M1ss{lCDFmMpvR)+Pc=MLr!8hs#?b92rg~{TDm-S*B6CNl8^Z+ID$-!o- z4X<}=N;8ZpeUd$|2#w?`WYxy75zf3z&tzB}k#TZD!{HstRVUKqwfLm?W5zG}CM)mZ z_maO&7J=dXO=;g-D}7@+p=SF~67ec4GOx-HvXOz#0|O2i!%G77vj4spQ&E+B@v^_{ zRF(N@Wx+NpsvdGve<4B723G|&HM3~soSg;WjF_FD_fjp;y+-g&!%{za`i#i(rIOvP zJG@F-PeoWXc7MKpSTQK{UGhKcFPE7D53}oQWwJUqA1o(BFz$iNNlHQj?LycM1MCZr z(~aKr?WSWZ7+`Ka6SVU!*ej)R0g?hz7{fP|h}NgJhS6`t_oYf10DC2^wxEtz9m(j4 zdZ6)o|3Xgg`KS1BfZLgr@)RXg1yYrBRKx(zom*HBIz8MH=g=gp_c&X$)_)Z8BEfDt zl-=a?wbRF_bZ~b?2d*N)utdnqPfSBQWjo>>QHa_Uh1K(jnJEi}MS2%lO?Xr|%ULyr z|GABC>-6)AxBX$BI%=CQ1vJ-8Xhe*LpdR8A0C*H&_y7AiRZjgN%@7wLaik+Wb33_# z5Q+iwOoe5#VSb-2ItVOR2gDieFb-XQNVDd=9j!3sV>lNkgp+VKlKGlWEEfp0kvXct z%(tn+;_USO897Hfk zncCGPai%@r>O^6dadv)^)6esx{PsjpQOC8BQ2ZHy$sLcCR3|o>u5)p7(=Wbl^wZ_{OnsZI zdswA6H*Yo{l1RPma$f@K5G%bI9g5KkQttGZjeznM>HlQRzc^%%dZ3-FLQ=-1{g*2>rzv6R=}>{llPB5#AZ#HUGmElr_(?dv;{ z%T66?A*W|^o-}}XJkd+qF>(M4nM$6hxa#ZchsH3wqkDL3n%!57VuYbz^U)M`Z6ny+ zfKM-swTUn4;!eckVIphNb1=TYZl04XbWG>|$qo~f%L;ta{;*vxq~kzc=OWMH1?c?NbFun zOY7T;$zbjt|FGH(?>|To*yls(iC((H-0%iq>kVLP!C@up0aMtOoVMrZ$Wl5|e=cP) zU8B74LD~O6q?prcWlMW;X^FEs-_ZZSMmFkoH6{HoAe5+ef!*es>u&Ho2JTwXNbAdQ zCu`=bwksD93;z_N2!UjckBRB>Z*u?>iW5<8KE6oV$kq03MP-jKrCsv7IDg8*|3z=ht>DoZo^SQIW? zr_}}4f3LFQF_H~`45C+wyLMD$Pkb2<)OLi7@wUV9a{UQ%;8*R81V(liv9#}zPCH$s zaKsJv_umvLH^UKi`q&QC%(lmrd@KTYNQ3w_U}R@f@OUJz@$`^-aT=(7`Oh;P!TbaK z6SF6Kz#XKBMv6Er0KScNFTbV?-zE5} z_ge46U2hyxF(A0ML6wJ*?nFr5A@TI+#GpI=ecFjIa0qE^x0aTd z4VJQbI^P346S?Z6N;=`?vA@O>JF^duq4Q8JbFgoa$X3nRxXH{mKFIXT$qeN$C zOzNl4pFPt$qFIHo#C3WzzC(rfW?x(uqLpw^1h zB7{xJtd3oQPWN->b=K~gj2@1a_TGBbPv?XC!zI1{g>nlOr9QZ=a8M$YkR0N`RDwS^2Sh3;s#TU<5V8x{&(gItMyCTI$J|i@x~3N- z_wk77nV7H)CtIVdD%UhW5hlhcxsEA9ofdZ@9?k2`;E-M3=Vy@|4CB^V9U?5W7;Zhia{8@ z-GBhc=wqEH2KQ8Q?+cO7j_6jI+0od(3FP_r=WeIX!GU{#?4^zrkldVvsK(1IWW@xZ zRFpH?d%iklXe z)v2@AVn!#%it=6~CdTj;LJA5m=zPJD42hK?6EH_}b#;^7=oL-2oeInA^#`6$@Tt?8 z;}Q!*x)YL;hIxSND+GCfvvXU)J4pEmn}G2fWCe+Xeh(N0V8>I0Y((KV*ai#pGNnC3 z#z3PZ6SCuH(>Z~J5O)cXj&DuXg)t9Y=(YR=Ud?h>0_~n?5hNcJei(w4zjOMX+38^8 z5wNomG6*n%u)qP~33y=i6?)D)JDM0s&BgJ#cfRj!=6AFh|DwIHd43bPmsjCjgab^; z%4EDWD>rm%Z-t!$2rh_wc9C^M@MdoAeKd?(gbDPgF9-h}N&J^Hdf3TxyH0AwPJ|tF z0`J!>&mNglAw&_F>`F*JU6|>J<^<|_$Az`6y>XhCkwV#9;^8_ldx78O4}|{CYwsl{ z`hb`Txlh-Zf862|e|rMIJ2(IaNr-zZNR9yzqod3CjyMw@x%JL)51ZUjdQ1K@`%G?HgJ5<)GKKRRanb&bp7kAXfx zcjV6tVA=r`3&8ycpr4WqUI#*ayK+tuaFcJ`=B2pQsSU;|q9lZ^4G-|+1DU{eIc1Q6 zU_^*R=Zc_U{R0Dc39tyrj$Ul~(r7D`NZ~$@q~)n}Lk&_~qKMRsEEH_K8}Gq0R$Mkp&D>PjDUT`h zLLn@B9VeU#m=*en`-ka)P(4@MVxnB^^gzUYw@3%fz-~|~lA&qU>C>td>^5~o3&WQ8 z1&=z!JL_eum zVs8N1E{0#Mq&c(ymKm_#9|Hk`1};F0Q#@3IHr`jX!Rt?m+vQ3B_(4V+*RN@nE^#uT zaQZHw|7u$2dk0{v=g$$KHs04RChLg0^zH0?UW0oBKBeziQp!NHWQ@wgX4r^`Z`#}p z1H(@afb05Lb*`jfPZ$U@z_5@@_D1C;uuS2ZL!uu7_HpTF}Q}EuRFmQy}5DI>$j|t|u zST6~_alO9@^p}OnN)H*M4YE6A;G$W_VLE*kd4#;YB#^fisbX+&K*s4xw%nz=Gt?Ob z{bG__-0%;uCkMe+k#h(mtO_6CK6cEOlor-+jFl9=-&1jLewTIgt8sfh=o2i@&I-@i z$1+;iVX(e?55E#G4URGJ&kY_j6Y>pBN~BJIek#r-`qm=EetmczKFckWH*n|{U+lRb z-`pH`Yy#g+Js7|2TkE7s*_XbX!Ulj?{KX4AgpMV~2U{A%M1^R)E20)#pPP`}PjpPzPCvdDm^d7<6zy|fn7 z5|ejFWK^Nh%r6KE+h-kJ`DlY z#x*#I_t%E3*P1xV$i6f~3{_K^S%bxI+354;6Pd);h~F67{govWR+7X3LSf+j>ETj7 z1PUI)tOwCA!v9b4#Q_7k6~()bE`U+}3%(Jx`X25^3Sk?iV(El>m{zg+`IgRvApftO_fh9&Szb zW*K6BVcs+D+^(`;=WyfN47>ejrj8nC*(0bpo5{ZEDh>GjGyu|I4ZT}{88nK8-L|+S zPWKy-iwY#%&%bdIqeicMoQE4Sut8wzfo3`4)&!F0Kt6YO^u4l({_?k}l=9xc zfE#{ebH!Hn7J=vn_MUYQ&rkOyC5-4w%#dgspjbBYV$00L4qb>+sF+EugBTT^N(6%6jt<@^3@<`|Nmy2e$?s;?W%<^5m@ z59jIxfGzjj_CUtiyl0JeJy4q>+!L7`TYE-6usF+7f}o8OysAFOkRn1_Y{2{?3nv1_ zp-lQnO~rJw*$wy?(-o#h^`}~O))7Bd4hMC2otyZK&ClOm8VZ8G8V4wh;hFeMHdd_4 zT#aB|1bhoNwE&ALOdoak(}Rr$Ky^7&zrUtIbY>t|!vZQb!>$e}sOLC6sG{y`FnxaX z1!h8DGJy^y6++<|!5Avd)CZl9UQa$H0#$&EP;3b?6do{NwW`z_Rns&)E~Z!f+EiuFVT3P9CZ`){iA%x^&8Jt?c zCIty=Ux6hx#Uob&pqZM+5~Y1k5G>d4PAt(kVQ_m=3XO_@Q~fhk&bxCF!%O_lOeNkHcPM=ji9stb zJB*xs$`xD>`^&ds0XWsU z27qo$|5%r`cGR;Tn9Sh12IcMDU%zH*a>KDM%3p_)bj6j_H8xClu zUWoJX)HshuhtvoLLP|32Lj3>JuEszo2hB3+#Lse&&n4gVcZkLSZJ@G-Qcrt37}+qD zJ6kk1%`ldT7Q^;r`{!S7fgyQC{Xg5Yqg?(@&72Lw^V%4%qy+6sbY(<15O2XtZnV_; zT$R#X<*8+s3;+c4^%pyKy@8ZCN&uOaWQ;lu1PJ#_A+Ta3S_i$ioHAk`arh zJ;)QDT3KK~4tiP$Xl@@+vqKJndpva0> zV*90L+^<3FjE-{p2dpqxaCn%b-XW2aTGBJL$UAUDh}jPx-U1{RIZfyO=&=*VD@VeW zg;wi=325l+zLZCTu8OJ)LU5_WAB%kcO5aB?5xj+A3VIme>Jw5Dh5Y+>V=!C&TA7)q zM}=l3TAT|ZY#^~UY5VGhdjRfC( zsPJUcRG|jaYcIcxLbUnVnlEt9f3>t=tUn&P2g0v5<~D-G>oHqLJG-=A;!mu$r`32a<4|>(#oxdf(7+BxJ5LXr_$g;&mMb$DZ z6(4z{6gRKh?zO|!&F)zK;_7a|cLjXkwWkoa&FK6Etlz zX(zeK2ERE1#;e}`p;*R#-jC7a0&aR=?M8l_nCrfeAIWfVX<=y+-d#H+i3D*1!ZPd6 zX=r>JHfm;Jfysb1Pd;c2K^|k_FN%F>ur>>AN2pXTb;ri8p(V>P%|1sySd(hcX0_v( znK~x^O`q~iwW51Dx83F%B+)QCL_R)%0~GvW>wyDu1qCd|KH!KWf2omToz7#FC^Vx- z+wID}BhGO6D(8$`C7_z-2T*fO)Qbj&Ti%O{Mt~j|?B97A|JV@^HLF;`=59U`D)5ns zGt-Y-jKBw59@o^1NgE!1g)`k|1JNAln`z<0 zz@P-_YM^Dog*M>}_d^M29j85xK7eqsC|D9URIY9X3Ba|3p71mmfm?kh{GJQ^ju7G$ zq$b*JO@-NtEZHeK8#FQbxouA)Ds67x}W3IL>9h8SAhC*G$a7MIY5`sa(Xx01F z7R=V0J_7QvSg@X;BhM`@2ue7zbzz?A3 z5>e&epcFuZf_=~$O^k_dc2g6iJ;Bg1HHQlMdxugA>dhZnXF`c(Pa#GCY>z*KX{@Zr z#^4LVHs(^4>=)FLW-2%830jR2uj?k{pUQm6p#4105)ZSiD4XG*TNF_)T_@Ge>yVgURk-q+$ zE0``WR+UQ9(MMeWc|=|`SpWO47rS&2S+4*0-)r>$Y{vilB?1l4|6bSs`&A#6qz|x2 z{y*QFO#I)=_WykK|6f1OmunDR!nzGcuqrAfC{eHp2WwpH0%j0&I0;Rw+K0ge*opL( z58No=H{Z|z*)-&Q@Dkr-S=ho54X~XnD5y_>{dbmqB1B7j4Tdx*q~+W_1lZ~d3Uqj| zq+ie9gcEB`Da9@#Apuu75g!HL-~+v^J@&3L=>5Fo z%mbX2tmj8RE1qi2&oA_qs8XXue>#KG!c8;lO&sWtKO=10%KpW+H? zYpT+h%Q%od9Y}UKeWb=#0Vr-2eTwrO(5nB zkusz77X0kNMEpS%)!Cinn+|u91re(ZFtoUWGP$%QaXvVT6!2aCb~(23$ERPqOZ;G}&tcsDkmP95iXSn65%#zU zHhGu-@JCSF89Ehs4Tko5#_|w7b~!kjw>SZfvQz#9n6-i6338Do@B?A%9KHKDJMub% z5UuN)7n9rK;$q=c8VXu_se~s4Gn}`qh7n@klzU%i0L(j^D!Dy84&9DHQmSHbmyL}I zc-D~KKDcUm;d0CcS`h&Oz0I#f;KhFv0JdL4sW(RFy91tvB^K6gi@2(>P;3G>q<93T zXi~5^;N3swfW13k-RrHJnjl5+5Fab$UlGLcfowbG-0f)g%INsGd@DhdBerDsN5z*p zDk6o&*vNq@)=e_l5q;TM@YrPm5>P*@%VU=O5OTTj`uUCH9R-VOHW~^{2~7*G^Z4RM z2SJ2WNgWK!^OZ_vYbY%yN|W`t6;g6_76No#4qB+WP28go3*;*04xfIa8l-}%#C$^- zgh8whcf>x`{k1?Az}a{SAH1@cykm~-u)^stYQe0)9$U<{Ro<^86i!Ap4v+lKLmQhT z1S&<aDj7vuv^E1$|+)0h4$ZgiOY@(Xo-uSG!@8+Z51Z1N}z~=6Sv&t`}$OW_5?)i+oT8 znAbm4DL*@OO{#0-%21XjN#Qz+N(7|JRZ1Sd{Le!iAC*(K+{pg#55fkZ0e~s=3Fnly zFtb}$1yVjDu!2JC>h?6c!c|f+*9>{=tGivF!c)j;J!S5@PK7=ea}Bcz+DhCCqj|k? z(@2Dnj{DhGBpNa`(vg3W3Um#yH7^q9&dS9QbFGv2+f&WD@oM(G9}_}Qes^?;m%UZ) z187kxU+Xx?J(>X~n|GO+1J1QUR%)_=jdm4~qN^yFxd3lE?Ut656b3jZjb742mD*ca zNGA=zfHHs%&{n``=2Vc4EtL5=z#ZVlrnBxAn~>0@GSt=8HFo**Y3poT1mjWsS8V7y zpr3qY7NpZRP$c5#4|WBlvA1s{8t+tZZwZmMd+-7F{f}&!1DkC7NBpw_0)lJh#7#^X zQ1xIoEJXE^bz$ZI^)zDH*w~P79lM>Lo({m~wf~@5s#)6|k*t_7*s0uP6S#mvV+UO6 zBqX1vA`It>5^tac0sU3^oeNksLeh!%r(SubOnE9m|02~HwT4GkBVj;SvvVM2WJK3L zz>R(K`#Lxj&2ar*+1s7><%5N_b8O3!tyBb`I8_Go!*BAD%F0S4d{o%=>?2&*qhsR@ zV`I{D6vWiJlC4M#@c&vek%!`iW@?lLYPj9HLxKSki>Bu0WU2kN!ioyWFXS2gY6&k7 z;ddexl#dVEV5Y(~`}hPs5H9Vx!{72LJiOsVqSQ^>2YjJ89&&s-bpeEv0NCzFM@~vy z+~NQ{^d^b9rCCIcM8lH$;j%3ZeI(Kt!BS`d9d&jh%m4_9iG8t`SnH>MQ8|>C12-;r zJTxHPMi3SoSd2q|@gFrK@XO`CK2#VrZBFK|OIKlYR4rFW4b18*i&KE0yIZ0n?Dr`9zVYJf@Mv1$o$6s{w$O?1UtM0 zu;-An7}_`JVWebQJ7C;(4bE9CZ0xIvi8zod3+S_rdSj8^@H96gBjFc+(@ybW-X ze9zM5=9ImXk|sIkEVa0gKHj=bspXdaMq5`i`Uy1{F#7Sh7Bp zlA;;u=^b5=nQ&igM6<={+jbkadGKkjv#{rpOWo;XL5f-6VnG#Z*xz(LzBPTVg(u;>Az28!_fa-Jp@_KmA3HFeEo2(}~x zW)l1EG0{z;q9H?a$m{*Z!qL`b0Cpf8_G?CIS8>_Gnth>jnN5i%MI|8~5&MV1@p?RL zc#mE7ub>8VS3e{`yk_Ei?W$mCL5j4Kn=x+Oxwr3DU2aii7Z5kuLqJC6LzpThOCNV7 zNj1@ZWBmoCV1s?%lkSecpm|fPF=9r|wi~m5dB}@QzGo|4@MWW-z^_l0O8zz>`We>>$BML&I1;RzG|<#bL2#1aL;X9KUST`Hubz$dS~l z1&+&5HowCnfzOk>;ECf8&&(^)jFtoN$6T!<3ZN|M#tmFHV*aRl@GF{K_sfYUuwwnD zsvWYGgkgyFt@>~_WrRL<0BwCRD+GOSrEO!>2&n%++2()0Ryuf-+o0_2P!q)QC}cQT zq_rRPH}7$9a{kh`w9M76rm`NpLXNW-5)7suUg>gQe{Yq_3|^BZsZN1cg>@a*cVeC% zq+74PtvkabAX|Q@G{=ZC8NA*@kuwsk7A~$4+|a6 z{c0$6(GO*}POVnhUc&ADsHX>sjjfPmgXi;E`!X!?-paPcndIEc)x}ceMmXgH6*$9#ctR1B*%rXGfoiG9TJ+|y2gd} zQ7DLqMSGVYWF-8o(~bQHo5n|2mGgfiSx0LPRljkmrvFs(W7(YTP%W5Ut;7Vw==bg> zuU~)MU1&-1sH=T190nCP^!(Oq|8Bdsy{KKj&;+NtPmCAPbhi>@=)WKDOzVh}b<+jE zQmuokB&GQDfTM_xa^Llnkf6P!)g#)-9)JH<2d#g9pJ;sjcQU!u9@QNGs6_wuk^fhG z6-5ZYpn|Mx6_Xpoz)^diD6CxiJr-k)&AL)uLv3~^`5LsrYKvoGsL%%SwU)|6il=VrAZdS+W+i#Cn`(K)wi&oA3Usw`gJPH29( zO`g9JklG%o5UG`tlDV{4VV|8m#!+j^jbb z#PBN`W@e}XoLhLv``~r3VlTe{fM_ti!hpe7kwLT7`Pz~zQCn(ju;IG8rCJ3^XlU`m zSA-G{Y$w!*E^@vkprU?BrmKs*45H_`cdu4G=&9iUZ~+Wp%r;s)bPZZ>9~#Q(u4o-@zW?>KGVrRW)!Vds9*F5JxS6!n3!bf!B8LZI7eC)YU-IMf+VCb5`-JW zyFx?m=r0Gqk-2>5C;BPlm9G4gWR91`l^i`mY5?T3=~jAKOgKJ6U&Z5jn|a2UcJa)2 z&&yY>(27u&S628DF}5$lGhTkg{(E4Tb*(%8v45<`C2gcR#A+GgUP`jF-?%f6cE#UA z)zy^(kSPwcgSye5rk3Bjsc7yzMr_2sw;#ohMlinQeE(MoiY0VN97TeX!M64W=r+2A z*P{zLf~mOi{KF`W+aST$A}eE8Sh&{e4)2qtXdx{U%M z8X6j~d-X>Qz~Upl=ZL(bWTYGvmpu_q^5vo9K>3O%t$K#u)^d~9;9jkJGpJSyo!S&D z@ilC^?XP-ydvk&#cGidK-qNWYTCL&-11s}ECE(5AQ9lZV{N1JZ^(t!Hjgr;h^YTI-Xg=m} ztmT$<&33K>LBKD=2?u_5wcp`4n}bOGfxbjubUfcIdxM%&#-vz9Kq3C);NYMTM)1%CqAuzC4BqOazLW<`@4w-`}3CO_q|4E zgw&U~M2vDRSpymB#p<%MK_Sy&p#i^UN=y(z5xQ^>Tmfpc^IqT&2*ba6P#i$92W6l> z?Q=-W4NiX1NO7i#vCwxj*l;OFz12lQ)H*5^j%=JA#{rQezB zeE8wnQT)hihhR8Y+aKy=cp7Rkagb`~88V0m$H%|h9woK0_X2r|l_ek|c?7~;pdp9P z6&b?@sumn=El#^ptjSt8fBHBes(&|OgiG3BF_ZKC%`^0nHte9Pm7pLs)mRrD*F0YH z-VbHX4>TY4M0`@oX3v!{*Z4#xImNF5M#B4Rf#Ivn%*^0?o!Z%R$-@;6RYxBx>#W9k z|115PhwnKhmcr0wGu8?^8{4r8778>&Pw!h<|C*lqCi!;{@^uV`MM~6ZHfLu)tPZ5t zcMp@muEWB@0%M_XPXCTLq2uCk>87BVtiuP9`^cZ7A3G;y_~7x5hJrqVC5lZwx4-lo znC~RZ46&e4(USQe!$===6urx=A<=1v zKTmfie`3PIYt8&j+nf95)lTXA-%O&6I|+%@vy69&xD1-C_<7&@U=z2~LbP6S#f&45D)_#Th|eMFKaG3>+3E68yKb-Q3=DjdFkaTT-^2ELa+DB2FOX+*PLAYC!nhy)QmfT|OEWCc1wSCjhFJHWXCr(cMP_>0pJ@$k9@b}~4 zA|gg;t-w*`8b2g714}LmdONJJkM&UxsNiiD{jqO-iBOKYGURJLw!?hcf<~2UZVzP4 z_poWJJ=ujPuSHUM4-PjZs1N=SqZeV?Rj%k;&Ori2U>(y4R!Dt$>xqE;Ng!OS8Yf^3 z@FhQA?SK85(kYDM(N%!4>MJZ~3VWNC?Lt{pTi}XM3r%oY9Dzy~v1wCS$V>Hxtes@- z30`Do3lDu~c8)ezvw|wiRTxZ}{BE|i#Bf?4t2 z<_%G}gzI0*Hda?`7q+|MLWB(x-qo3~9h@-n_;13KIBNSD{~(7qJ=1PSy9@prhaI~_ zjEIFFN;FL-a#qNaZEY~COF&z-K->HDtNq8IF#pr9Wjm8)v@<<>n-hFL?%RN4G{+r2 zhbExCD3r+%L+1Oh@o||fo2A{-Pwgv>5N-!zBGI2!_WFi~xZn}zdUQmHB()5gjUcBR zaASbqBlAvZ_H-H7b*9D>VG7~h4hGgy{qQgbjQ*U?$1zz|tC2*fUl1BxXw9v1Uzg=@ zF994UKfDg`1GkM|ppG>mW?6j04h;Pua1Km@kmfsP3vk7ICsf-Q^k2Dl0=C02kQ=@Q z{URJ3*PvW|3eY76emE7SnN|Z?A17yTU!Pc5T~(^&-g03{g}Ah#p@i#sAT(eleM+$R z8fV3>joB^OEVUQ${{fOIf5hkiiAe-GkEh|QP>VL|=tRwMwEE2|hvUkW0 z|1L^{@d_nCAiF$VH<2_M*wsd%RmxE#X|hfy5cJw-o(cM|!nCU}o85Ar0TQNWU$(Jq zEUivuZuLzfBI`dpgj%pFVWT&LG-4Kxt}ly5WaL5P|DdL=he|K%IhD|Bz1r5j%N@^< zWs8aQkoHYku?39$_T`Rf_S|=%WAtl{k^{8VsP6LO+{Jvd6dj79Ka*JziXJ_I#vL@j z2|%D}$`1!Ts_(|P>7Qv&uSK)7yDT0BMHg6YUwB__wFCU^nT*U6z}(@c=CqncA^zDU zB+H2TqZu{z#^~yG4-XH>R-c0h6vO9;cY5yCV&p3}h17~UzrpW*%zIqr=D8<}a&{85 zV2A_^;ef*KVCE5j7CTx>!--95U7Bi0>mXMP;cG)Vsu5!^(IvbwK|HeiZ;bnS^P*5e z2mCsyb5I|pe&h&phY`r|U!p;Q6d7k8^<02j*rxOuTS3v=NI{%lNHzCb>WGq2eukhN zx<7ArL=`ka1p{);s}=OJMHcHMAyl&3eSLk1TO|ArBw8w0{U_H9^V4Hy*sPk{FLl{7 zXmz2FiyYB_tOBE#59q^`3v{$&6LjPvmmn+x#sg^?I7uz6Y}^r==`3T zRmEqZ_byTzy)q7i^9q~|iJ6?(o(LWe^~V$YM~D-wMu10+|T6K-LFGS-&($zTRT(d$VZM#U#oMu(T|RCf?=ie=W5;I zw)OVKwXD8p;Z68SO#>?QJ!!=lcx0$#4jf2tYa19=EvW#6P!5?_1kOtjR~QC}RVMmykZXnpEV znoPeetI|X6MvjbREFe-tV}sxwO>Ge|-?S@M*Vjv&|FlQuY#ip^&s!XR=}XyRGgfY; zU1x1g^^n*Dn%t-miWT6ISJ`o{jdZ-B?qpFyg35Y}C2cz$butHoY1MUVUAt?~o*nIq=f&Wm(&Z9@9o;Q@;l5Wq^nsN+{y~${*Ge8sL~LbZw`M|QPch*NWyQ} z-uY_TfY=W3+n?M(2pdqor^(8)+b(QhdUiege0JaG?1lR&J&)2DF<9&*-GR9CZI?r} zC9nn%;YxJhbrR}~=S;Al2N3}w0YOrcVHPV?)|cH0NIeb#8+y%u)81eGoAP|XcvZ-Q zjj_!{P*5{hqw?NNmwMI3n6G_(s-eN?$DouAu&=z&bYHdnK1p@uvLJT8?aGVzx=XlP zIM=stbIp{11M9}6E&Hpx2Q7!VI3~83#s-uE9|bs{B+G9-ysr*pG^_I#xu_VmBG)&y zv`s83xiO6T_uT*Dqlg%SI}RN$*QRj+-oJu!y}Y0t$=8WEtwgGX^pJI9hO``|EU!C5 zIVE+E7*sA4v5Y&u8icL9$O;Wud_0n6*!^$x+3l4%;OUzG8~&p}yN5O#zC8eOyQq5K zJ<`9=E5F1~Khi(r&w7zcN1JLOVvUi3(dwO8~89Ki(UG0o5feVev zW;^v`)nP~0tBf%v`DpZRMd|C(U^-|r@TzA;!;+g1`g3?2KkGdrV4=W|h}!lxhQsaO z)>M!iH3329PRut!$3?-0@%Hwc2?7p!OLmYoC(mx^3Jes!%{*Y|_@ z%Cbwv3XJb&Q_Si3UPtp(Q4l;ZO9d0?lx~a0&MVa%?My^qa(QF@(rE$Qm9&8!_DHMZ2wX(Fs}Y$*yFIyeK~1j~6YX_ua&&%vZBWq8w%Z{F1iVDT zpE2`y^!ffe-zW^d55onsRfs4k{_4t3^!5_Kjn=tkbslXhw*%9Ov*@2Bu{BvG#O=|h zuUf7u=SCyHT}qr^fH%B4OZOeneY@2CQf-V&Ee52v*8TBq6;G$A6~z?wL2bxG!IY}^Eh;Y?0R8% zGro@&U~Q)7HXj9t!BR%wOl^5&HCiaF@{O5UNs9O ziCiq=Qw+GTCf=$%RFFtGm82mk^nXFJylgXq23kS`5quo{h|}1X5c0;h7YBczy>lRm zH6vnCr;BF#JXUMp{boj(`I%PsxQ_e$k(g_DWyc%1!zlAUa}_8R-K#E-WL`<3;Lfrw zINLap8`?{HafVzp<ERC%r z(GMtxpR_#pMoxgwKcUA}W=YOt;#KC6niB|h=*(XLmDKd-W`ichk2Ik7+CrWlopV?3GscoZvf9AO}Z%QQ6MuP48?8S@jf$N1`RQfcQ z;w7U$_ya=Pl{8J3y_>eCv)?^AVy0Oc&sDCDYLM_Z;u2(HdX^W`Pd5^LdhuBLr>(rq zMbTM_w>S(BeAlaGLwBMkQB5-<8S#MDDQ!7r--8(&R01d(XR_qias%_tK_zdHIUzW> zbRU)t^A2N=tVd92mzp1ApK+h+W`%TOXLRE-eL2V}oc7OgmKx@vBBAPDqcWCa4lKyX z{D0c}?szKyzkiX0j0hn!WE9C>8I_Tdy*F9Mp4k!EWX}{L>)2aHGBP4%kBmq*DSP~0 zSD(*)-`~gM_xJtZ-9J6bImbEIxvuy1dOv5rRsCKW%S7JU=@AhW@U+8@t=y-B-S*EI zXRLOpT8nSx3#*yz>|yatq1vuqMc0k{)P~DHf425~iHrXZtnEDPcsccdw?Vff_v)+h z;{Ncc2#%nmy`_#<;S))1#WTFVv6`~_3%gs zsEQgBQVI>fjHNL5boAORuvBMAhY+$SM+iG%X+1^^7ck(Lp-dq-8?oyF@~N!O7QSrW z4dLaZknjt&Oh-i5f_fRXzYbt6~Z3ry4Q4v(#gvkr6QOB~;X?@c=-+yUiBktB3x$wH}D|o?F zbbJ~K1HA*9omG(#6Jm8EBUmbH==U8FGSb3eN#`&;oq?^@;UfGqBDxm|2|=*!FR$KY z67%{ko2{0ut12cvf2hjGz~yG3rR-w>_LmQk6*1H7`%IbjKHRgLSBnbN?QJ&5Ihzz@ zH8U|DiK@=QJSXh7TsWK7OUX=5Lq;&vqo)b{aIof#x^i~&v0iljtEu{X z5erLO4X&wC;qiMO5t~sCGtC86oGy}}j+%$>w9au35`-Ri_o@4b#labR4}uStmzSZ3 zN=91xx$e;wtA?foQ4c6pW4BYiQPkuEvC)Vi5y;_1%I!3@{?rz?zBl=HgRUoWa#@N72Q~x7 zUbu7F@ZQ!~`!q4^|R~?pzis?G3M42hx1OWbxjQg|>SN>{b{O!2D{{T)TFyk7OK(B_y5aZ|N%W zug1f5(*E_yYBk}x;vQkiVCHS_{wvX6SXl6kjC4(Vv`tHv>GWxf=$m~G0zvpI$$F&? z;8)oCfyJ{866+%tETV$l4E^}Kt=kI`oe?L~^d*g3~8T@XI^$CT(RC_HxZ}p&GE$OT~X^Gx;mNzmUw461y z;x0)wdN7}Mf>je{FoS~&YK$tmN7 z6terk7}VX3qM=5_&QQ1XdEVM&MEuP8TPNHH@3CHi7Mr4K{sMDvHriXc1uk!untt^U z5cT7eSETX+^-Dm_FTv;S4JY;o&}9R1{gDT6_l(cti~5OXLjN=K6HT4>KT`F}Dl0ph z#lSK%&(xnO782BczrD-<8Bk(~9rHPn3$lUBT^WC6;KAoGatZFmh*Q#j>7k%J*W1A? z%Y?;mPB=jOU_H!@FX4%Yht4ZYY!nvERCU;)}R{Smnw zEIbyuDmVf2%{7~$r<>^lPxktWAV~mm<3K`;Pvzdq&vb)Juyf?VdXLx66;j(5C7nlu+>9!{!5(h%O%0p_N7oA1Kjqr%O67KfP_XQ^T*;oPbKJ|!nwD#;~hiR zn_MBdWI1X8V42m|2C{dY1{S?G2^?BV2~3SH$uCQz$Eigqew=)A8wUpE_u4p?nAdSI z#Jha|omvUlyvlB!o)g767u2?)w}IyxZOG_W1h6h&kHb)wZ3Vzz1^cfNPI|dn2Qm z7!A}IKaGmw6Y(He8SMgLf+(cVVc~@GGhMln!2zJNhY_8WpPTR*k^jP%j)?Ns4(6FR zl}$}FNt}lIOyZ5^#)o{rI97&Y#jzJr3tFiyy?@H_9s)a4q=gOwSmKyx)j=UumagEE47V1QZ ztt&y@8q6EHe)eW|QNu-=tomjODsS&FGD_tV2<4Wbm`5Dt7k9R2AUu#*(UVuDOj=*% zH2^?yot?6fady95OC6M_5?@DLl3h$j1bX(_%NYnq-Tqq3qOV4qDBVMx;7AoGfS`zT z5VE2^9Q0wq1`gtAuR~uZOlV*cQhDMaYuM6rdJ_ESZt(P74Yr`c$nc=x;7W5B(2kcq z{`y>sjjLc6tzc~*qt(E>^eQ>RtD|F>0N^Y@^;#$RHXfo=6}US-be3Li$~1@ ze?ikSd{fyrZ{q}AP%#L##ekE-wna+9m>$G5&!4tRKuP-dp=F*FZeQKlm{p*!d*VK! z^{U%UYaiI$l4;kdx5?govxeXni8p|D`L?%#h0&A5*HO>&c9A8c)Tkxkfqk}5FIvw7 zk8iFx44@0M>%cDKVm#T|y@i}T6kJA_#CGhr4$5-Cp;5QG4s<#l7?q!PeV_B)b*ABM zNIl*-<>DtO)*ig%?cr_OvmggTyJscQgsyI`#tsf4fc2Ve+CNe+w$fx0_l{Z_9v>aZ zY*OC$>c(D14ds`Vn~_z;>escVqILAZU*WpOnwGQ+M};3VEuz!l<)`t|a%v0=N@JuW zpcn55Rxu*x5&WcKhPZ2#3`(4*LrQAF8Qy=^Cu>{ueG|YpBBz#z_-*=kmga`KzdP#G zVLP1*fn*9+%z>$-86H<$;Pb`!I5o_%@x?<7Dq?zmd*d2ze zt=L;e+dOh5%Yv>SUrWg|KCE_dTXFV&*Wgw!?xDe6X+2n8?!+Fme@a5$Ig(~OT$t-6 zr^LMac81SF^{wCc-=dD>B8yBJGY1C+OGd%0Zyt^VM})f@yElKK za6EvF*60_o|7Na6@>mX*h58+eu|0#cwQM+3?hnw4ea>q7Ej+IFRzbSlG`oKomi}Sg zqDRg+-)3iD82xy6tN;x$|Bx(Sw}4jq;Ta{kb%B0wQ`BWwKg;I_L>^a^#=I0{+p7-d zvr{MA+nAA2SHA*R#e>=s|Lp8kN{E6DLPSA!=_57{USGiyP5yiOPxFmxo+id!cXwO6 zazKj!8&up_-CGw|W-3KJI8E3u28QC6^5<3MoC^p#_VQ|Y2lQ)blvXkcGZ{4pFsq<(AJ8(3zV99uXNmVExSa&KYh04aYt zy6bVAW$(@AIqmWQmT4$0I!8Y-YY$;ZRBV=6%Aq&0amh#tOQ(&5EZAjFIu|`>!|Q{w zVKB&?{^s-kIyTW8K1y*u>n|zH-QZS>P@nGjzCA|u2~< zX^~9V5C#KrsF&w34*-$n=k1^q(L(d zC_p5F0;Hy-yoThl;z0cxA8goe{(6T<4xog=G+nmJ>YM1m1X`aKAESy{nunc7wQY#k zfe{T9?o|;BUX%|MhN{k1kd#)k5R&*O?qtg`Ffi1`4k(Q{ZEtIrJM$f#mTpX&^XDfr z1=dDTG?~+)Ah88pZnp&z<7$pq3qdfs7FGfHKhhPnBM5@_t338nv5jv#(&e@etf|Ib z3jr@eW&w^CP>fv{7S{cNY5|oLC>Mv$2x#u4_%@k!_4|yzn*{bA|5q=ZdLfu4*84oX z4kK3p>cMzQL?_+`^LTy06TftH=%@+SQ!($o?x|F23@~jv?SC8;-9&=nN#g!)FnoLV zcz&;rhM-+M*C*TxB#gdPE)D41&;*e#kg>`|#W1{;f3)L1J~`R(jas-Db;y39zh`9f z69~BA-i;yAK3Y0f;`CmSIm(0AqJ()W-8UaD%7_+c(wtbUX zI4Y>cH0kdYcUJ%!kNeV>ioZDRfe+s$!5CCKnkCMbay%#$M=%jB19>*b~n;+XIyxD!YZ@ofr(vv7IL?IaY_sZ{6|coJxu;|xKyk5<1pMy z-OtnO-kF`tkpajRN21E2s60(xx`0%`QH3AYmNt-n97LCZuKu3v?mY~U%op(OYFH1< zG<$1VUDxi|(}OnO=I&{b)s-(2{mOZ$katnb_l8?Pg;sgVP0WC&x8AC}d*YO9=~UHY zcozo)>Rk=;%Uf9Htw61dApx@Y5`)HQ808Xfq1Y>@Nw{7jL5l+8Jg&$h`AkB}PbR6kFWR;@X zd+F^~x6|p%qPu0?nT0@UXcQDAfHT?lV>4K9FhL`K5w37Z)ZF*qSAH`Pk%ts_!;r#b z(cji|M1*ufm&V4{IWMwzMpA~r7(vdYl*TF|G+Dj+%C>zCB%kHB9S`5_?A){ZX_+DD ziAQ?l(R(;zpj4}w$Ze4-_Vxpav;IMQOju@b>a1M=p*aRJRdSnrF@N{uAe>nesP%0?6>dU?l9<;YN$3cG zF?@L%A7p`#XHeZKcfUJ4+4%NsZ}TJ;0=8#g5NC*Z(B6Cb+zc=Xkk|=3G!3)9{q}3B zDMazZDHSE#uv4LG{T&O1^d1sS&WNcpAgzv19&92BRK7<mZx)2lX=W9u=TxM zii9}iS!hVur=ko4QH*h4-FER5#4LZz`%vU;=Xe0KDyN(Q*EmWDFIcKCRREMT#erub zNL`*8ZYiYEn)Z!tr--_xNylTw^)do@_#DDD7{DwJwkpsUBG(ggw*5@Gn#iv*i5z%A z0%Y^M|7#H+Q4O8F$5Ke=j%R*XRb35yH?9194~mPT{#IudB@h0TVG`%9mJ?MZ9n71U zDAdCLma`u6mJuG7o4Xv6T*>p4($DSjq2`)dEYI+%Q7Fw)1Bfn$-mm+{#>5pB6(IVJ zgd5^}>oLTVzKLZ&wwpyNI*R~I>Gb;jKBJu|P=_KRMJ{{zWYW6+q^xN13SrD8lo1hlZ zU0C6S#R|}ea~L2W>5aQLf4@q2D2#gOR(e^PW3hfUmG|Cy*JqOtP6s_?K_N@+l;!2+ zjyelHwD%Y83gAt?WKSG-c0}0h#d>OhbcpeSLChWB7ow0+#YG~&3);ib$=Xfi%LCN; zJ={2NAI;Q*noG05udsqUl~Moq%ONo%{f>q^@f8D^l?0yY0;s|=UozC-JE5aP;H;{p zV<}iU=LMsa-Wd|o+{MJmH)?6_8|ClugPC`8>$szLZ9g{YD}9SN4SQhr01zP5Bc&fe zCVrXtYAB3)X3aa8sikNzb7+?8XKvbm(x>h1oWKKR7@&t;5M4XiVCSvh=q$HrFzYEw zYjMVd587Nr^Z@`!*W5jvF*Vu8ZYyJ#L2w`i8%;zd6Pwd10aFE>Jg_Tj>;5hivF16L z0K4cpxNe^uu2DkmD$5QZ$mzNct5I8Bbp8vI61AwwBr)9GUkwSC>b4NRIlEFp3}2R( z*PfAQ81A-JAtjGxmj9XGO$p-FnNqH{>x_;YQ=S;D<1R~%yBWW$cmZIC7!E?e%@eX{ zOg06GiTIGpV+l6+Kv*}OmP%^ZdURxP9`__jLYLiOqa{(Iv}Yn%5IPA~Z(C;afMg!R zww?mkwHQy&E!pP(Ma^<)AiY;O8ooDG+^DI&R=_0i1fH^o18;<=Gsqk2=0QF40gm%+ zw+V1xfSUP59HZFE+DbJFQR=Up0cu@lUe2MfKaGS(B7iM4m4fD%3x4n>PO+h(;f_rH zrE9k_AaO1TG`FDr-PRiTR{ZTB{d#)5nq@%PSIDCVUY#5kIS2#jsC76iSF#7}aIV=aS9;YBE~sKBBkbe{_TyhO=*kw< z?W3qgOvBPq0dYe5&5ulK<>S0SA_mh!dadmP5dCp_dCr0G0*q(B|NI_1448M{pB51x zD%4QB{wmixp2cds0vmFeW8S=BLe}-+4V2EMa~S_B+RGsT3bYCAgvQ7g&oacr&riF? zC%A7E3MAiu8pehp881d_uPbLbW28x8-sy5(BPLtd(i zjbli~Nj=m9R*s8_D@elGFzSm zutZT)=&lX8T{Fm2poBmmMpo7oyYmybUj@0qAf1()iwz0BBokGBJO};~*E9SPMV;}# znK(mfFHAvXeU;Y{V|RVq993p>s0|@e$gcLtko5}VZPt7Vf1^)ngg+-Vs@yGLeB7Es zd*LVoiy%_tDeG&o{dH}>POy3;gfns{8y6ZT-=F$=-|p*X8>kXQ_CT8>1VEOTu`L|v zEL32C@FjLU;2N~8C7H)u)=T1vf{@@thuK|6QTVv-fa$dJ4aR{WT&4 znG~xrPKl2nk`{U(8AigKp!BAuD_tY_5*L}V8__nBzDOI2(ZBtJH55tsjwP5-Lr~6HYZ+x%KSI& z!AGOU9>7G{3hU#_FgoH>I{y#qrxaX<*HF`1W+O8^Z``9OJg9(&nH|f&3^k}XDtVAh zF_0(a<_(3d-qPt!y+kQ`QLolE&@4y#PJ9O97nt8BBgJI#SEB}fHp&B8iDVj|Re)!ymU6!l6K2peX!LiptV72^HgE`_w>nL1G-eP__|oHjKM z)|H!Os)Rwr#Z^%&diTu<20rIUWPF8MUC^mm*6Mi|7~$ubVRGJt8F~~ zr31QM9>t;?AzP43L#x_mJP_m$oNnKr2PQ>9#shgHXIr!#t<~q(cULKZHhIa+1UyQi|BU9lPf4c`Kp3m!1DPWrsxyjfh1AlUs)s^ecQ}u4o>JvhZ zsBYeIkNFjZ{C-Gs@qAr!lVlbcX0Fjt7pQZ_;jXk9YThGtay64#zN@}LfW^GSQd7gP z>I-r}RN#x5mzpC36L~3DQoxGT_2?Dx0Ut@K6a&boo}$r;0hkP&(PZGfi+OcdQcDI0 zjH9Q^sLPKnEEqvd09=u*{G*Um9c=YdP4sLd`B@NLdQw@$=gtLOyo486U`;tTF_tgt z#mc~aIUqnXG(0j0j)2WjepW0&H$+&?em}b44d;cC>9 z$YC)n;D1rUoZ08!!yQ$5>f^<7r|pj~QdTIy>e~96Uexn2QjEJ)qlg8R(nEC1jabIw|U%xg6z!FjR!e9`Rn3&sV{=W1k1p6RwCo(b!=*F8jZz@BmXyOXN zw(Bx%Qb2wRK}^`i=;8!n#7>0tMctFidRrR8p2+cGVnTQ0;`Gm-R_8;4=s7tFS#lMS zXM?m+E@u(2z`#f6UJ=vKV4*nVVIg1_ON?9f5`kZT4$=c7BT4MY%`GlaQ=^nf*7aKk z25gdu?xJhlzLdzOnFqlVP~9sCVsxWsA4%wgW>3+0`V#%JtwsPQXOLv|D z&Yu_JWOqwu$tM-a*W-sb0kPow`)n8;;U@v`Vi_IoVPRpQP>_V}S)@GGhl!pvyR1S|pnoiGj4}|969{AtGwUoNZ)_z|eT7aNR zD-7}+vowm5@PrGye-6Lpf(<Mj(FF1)=tM%OB-X8euL5mt>Nm5P25C3`W3&xlViXdWD+4l5WWK7%9B>Jc~$O@4! zkfsaEEpqmC#!$;+%l^+Z9)*NIC6>aIsmxPEl%;U~BKtwV&EwB#JuQTauL{FeJ@5e$ z{2WNB>s$}O(0>kQsvn;YC}2Iv#$@`h_bD4I^Y<7r!EF`7bx6tUZni~Ga3Lc)1QPx@ zI$RkpGC3S7ur=rX@6RTy@-~s#K?(V=Q5OkLB4Oh<3-STTo{CM`r(q7Kkb#UsWptWY z8lN4ex3{;IwY7@LWhvPj*wMol8VjRPt0+&C2BN^X*yu4ZkSV;iZ7KsV<)33m2&$}q zkK#X{_=eS2iGPmjzegbBbr8>gzZ>NLl>Wb`{5|^r^&#OQqzR5J|M5@aHr$7Tr2qM% zbLW{eaR2i~9Ro@F|MMAAf|AIQ`j3bF-`n_KKN{_47#{BTjqZLgmB4^Mau1a5mq-~0 F{y&LV+m8SM literal 0 HcmV?d00001 diff --git a/materials/images/dummybookcover.png b/materials/images/dummybookcover.png new file mode 100644 index 0000000000000000000000000000000000000000..09c6ce9bc8cc902c82d74be47c0e7dfa5bc8da94 GIT binary patch literal 33512 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 literal 0 HcmV?d00001 From 78feeb28626f37b60ae0e1f898152b074af5f3c3 Mon Sep 17 00:00:00 2001 From: Nic Crane Date: Sun, 11 Aug 2024 18:17:43 -0700 Subject: [PATCH 2/2] Updates --- .../0_housekeeping/execute-results/html.json | 8 +- .../1_hello_arrow/execute-results/html.json | 4 +- .../execute-results/html.json | 8 +- .../execute-results/html.json | 8 +- .../execute-results/html.json | 8 +- .../site_libs/revealjs/dist/theme/quarto.css | 4 +- _site/index.html | 47 +- _site/license-web.html | 51 +- _site/materials/0_housekeeping.html | 41 +- _site/materials/1_hello_arrow-exercises.html | 53 +- _site/materials/1_hello_arrow.html | 74 +- .../2_data_manipulation_1-exercises.html | 53 +- _site/materials/2_data_manipulation_1.html | 120 +- .../3_data_engineering-exercises.html | 51 +- _site/materials/3_data_engineering.html | 56 +- .../4_data_manipulation_2-exercises.html | 53 +- _site/materials/4_data_manipulation_2.html | 153 ++- .../5_arrow_single_file-exercises.html | 53 +- _site/materials/5_arrow_single_file.html | 50 +- _site/materials/6_wrapping_up.html | 47 +- _site/materials/7_continue_learning.html | 46 +- _site/materials/8_closing.html | 41 +- .../images/arrow-r-pkg-highlights.png | Bin 0 -> 339155 bytes _site/materials/images/arrow-r-pkg.png | Bin 386695 -> 0 bytes _site/materials/images/dummybookcover.png | Bin 0 -> 33512 bytes _site/search.json | 1064 ++++++++--------- _site/setup.html | 51 +- _site/site_libs/bootstrap/bootstrap.min.css | 4 +- .../quarto-syntax-highlighting.css | 2 + _site/site_libs/quarto-html/quarto.js | 15 +- _site/site_libs/quarto-nav/quarto-nav.js | 36 + .../site_libs/quarto-search/quarto-search.js | 6 +- .../site_libs/revealjs/dist/theme/quarto.css | 4 +- materials/0_housekeeping.qmd | 2 +- materials/1_hello_arrow.qmd | 11 - materials/2_data_manipulation_1.qmd | 14 +- materials/4_data_manipulation_2.qmd | 2 + 37 files changed, 1279 insertions(+), 961 deletions(-) create mode 100644 _site/materials/images/arrow-r-pkg-highlights.png delete mode 100644 _site/materials/images/arrow-r-pkg.png create mode 100644 _site/materials/images/dummybookcover.png diff --git a/_freeze/materials/0_housekeeping/execute-results/html.json b/_freeze/materials/0_housekeeping/execute-results/html.json index a8fb9ae..ec8e46f 100644 --- a/_freeze/materials/0_housekeeping/execute-results/html.json +++ b/_freeze/materials/0_housekeeping/execute-results/html.json @@ -1,9 +1,11 @@ { - "hash": "c2dd443d69d8b7a42084e265a7b740b7", + "hash": "97539e391b1f43d76b304efeb6c963b8", "result": { "engine": "knitr", - "markdown": "---\ntitle: \"Big Data in R with Arrow\"\nsubtitle: \"posit::conf(2024) 1-day workshop\"\nauthor: \"Nic Crane + Steph Hazlitt\"\nfooter: \"[🔗 pos.it/arrow-conf24](https://pos.it/arrow-conf24)\"\nlogo: \"images/logo.png\"\nexecute:\n echo: true\nformat:\n revealjs: \n theme: default\nengine: knitr\neditor: source\n---\n\n\n# Welcome 👋\n\n## \n\n### WiFi ``{=html}\n\n- Username: **Posit Conf 2024**\n- Password: **conf2024**\n\n
\n\n### Workshop ``{=html}\n\n- Website: [pos.it/arrow-conf24](https://pos.it/arrow-conf24)\n- GitHub: [github.com/posit-conf-2024/arrow](https://github.com/posit-conf-2024/arrow)\n\n## Housekeeping\n\n
\n\n### Gender Neutral Bathrooms ``{=html}\n\n- Located on levels 3, 4, 5, 6 & 7\n\n### Specialty Rooms ``{=html}\n\n- Meditation/Prayer Room (503)\n- Lactation Room (509)\n\n*Available Mon & Tues 7am - 7pm, and Wed 7am - 5pm\n\n\n## Photos\n\n
\n\n### Red Lanyards ``{=html}``{=html} **NO** ``{=html}\n\n
\n\nPlease note everyone’s lanyard colors before taking a photo and respect their choices.\n\n## Code of Conduct\n\n
\n\n### ``{=html} [posit.co/code-of-conduct/](https://posit.co/code-of-conduct/)\n\n- Contact any posit::conf staff member, identifiable by their staff t-shirt, or visit the conference general information desk.\n- Send a message to conf\\@posit.com; event organizers will respond promptly.\n- Call +1-844-448-1212; this phone number will be monitored for the duration of the event.\n\n## Meet Your Teaching Team ``{=html}\n\n
\n\n### Co-Instructors\n\n- Nic Crane\n- Steph Hazlitt\n\n### Teaching Assistant\n\n- Jonathan Keane\n\n## Meet Each Other ``{=html}\n\n
\n\n- When did you use R for the first time?\n- What is your favorite R package?\n- Which package hex sticker would you like to find the most during posit::conf(2024)?\n\n## Getting Help Today ``{=html}\n\n
\n\n[TEAL]{style=\"color:teal;\"} sticky note: I am OK / I am done\n\n[PINK]{style=\"color:pink;\"} sticky note: I need support / I am working\n\n
\n\n``{=html} You can ask questions at any time during the workshop\n\n## Discord ``{=html}\n\n- [pos.it/conf-event-portal](http://pos.it/conf-event-portal) (login)\n- Click on \"Join Discord, the virtual networking platform!\"\n- Browse Channels -> `#workshop-arrow`\n\n## We Assume\n\n- You know ``{=html}\n- You are familiar with the [dplyr](https://dplyr.tidyverse.org/) package for data manipulation ``{=html}\n- You have data in your life that is too large to fit into memory or sluggish in memory\n- You want to learn how to engineer your data storage for more performant access and analysis\n\n## Posit Workbench: Login 🛠️\n\n- Join Workbench via URL in the #workshop-arrow Discord channel\n- Select Posit Workbench >> Sign in with OpenID\n- Use your GitHub credentials to log in (click the icon)\n\n![](images/wb-signin.png){.absolute left=\"200\" width=\"300\"}\n![](images/use-gh-creds.png){.absolute left=\"500\" width=\"300\"}\n\n## Posit Workbench: Setup 🍽️\n\n- 🖱 +New Session\n- 🖱 Start Session (defaults are fine)\n- Run `usethis::use_course(\"posit-conf-2024/arrow\")`\n\n![](images/wb-new-session.png){.absolute left=\"350\" width=\"400\"}\n\n\n## Posit Workbench: Setup 🍽️\n\n- Default location: 🖱 `2`\n- Unzip 📁: 🖱 `3`\n- Open Session dialog box: Resource Profile >> select `Large`\n- Open + run `data/setup.R` 🎉\n\n![](images/wb-usethis-session.png){.absolute left=\"350\" width=\"375\"}\n\n\n", - "supporting": [], + "markdown": "---\ntitle: \"Big Data in R with Arrow\"\nsubtitle: \"posit::conf(2024) 1-day workshop\"\nauthor: \"Nic Crane + Steph Hazlitt\"\nfooter: \"[🔗 pos.it/arrow-conf24](https://pos.it/arrow-conf24)\"\nlogo: \"images/logo.png\"\nexecute:\n echo: true\nformat:\n revealjs: \n theme: default\nengine: knitr\neditor: source\n---\n\n\n\n\n# Welcome 👋\n\n## \n\n### WiFi ``{=html}\n\n- Username: **Posit Conf 2024**\n- Password: **conf2024**\n\n
\n\n### Workshop ``{=html}\n\n- Website: [pos.it/arrow-conf24](https://pos.it/arrow-conf24)\n- GitHub: [github.com/posit-conf-2024/arrow](https://github.com/posit-conf-2024/arrow)\n\n## Housekeeping\n\n
\n\n### Gender Neutral Bathrooms ``{=html}\n\n- Located on levels 3, 4, 5, 6 & 7\n\n### Specialty Rooms ``{=html}\n\n- Meditation/Prayer Room (503)\n- Lactation Room (509)\n\n*Available Mon & Tues 7am - 7pm, and Wed 7am - 5pm\n\n\n## Photos\n\n
\n\n### Red Lanyards ``{=html}``{=html} **NO** ``{=html}\n\n
\n\nPlease note everyone’s lanyard colors before taking a photo and respect their choices.\n\n## Code of Conduct\n\n
\n\n### ``{=html} [posit.co/code-of-conduct/](https://posit.co/code-of-conduct/)\n\n- Contact any posit::conf staff member, identifiable by their staff t-shirt, or visit the conference general information desk.\n- Send a message to conf\\@posit.com; event organizers will respond promptly.\n- Call +1-844-448-1212; this phone number will be monitored for the duration of the event.\n\n## Meet Your Teaching Team ``{=html}\n\n
\n\n### Co-Instructors\n\n- Nic Crane\n- Steph Hazlitt\n\n### Teaching Assistant\n\n- Jonathan Keane\n\n## Meet Each Other ``{=html}\n\n
\n\n- When did you use R for the first time?\n- What is your favorite R package?\n- Which package hex sticker would you like to find the most during posit::conf(2024)?\n\n## Getting Help Today ``{=html}\n\n
\n\n[GREEN]{style=\"color:green;\"} sticky note: I am OK / I am done\n\n[PINK]{style=\"color:pink;\"} sticky note: I need support / I am working\n\n
\n\n``{=html} You can ask questions at any time during the workshop\n\n## Discord ``{=html}\n\n- [pos.it/conf-event-portal](http://pos.it/conf-event-portal) (login)\n- Click on \"Join Discord, the virtual networking platform!\"\n- Browse Channels -> `#workshop-arrow`\n\n## We Assume\n\n- You know ``{=html}\n- You are familiar with the [dplyr](https://dplyr.tidyverse.org/) package for data manipulation ``{=html}\n- You have data in your life that is too large to fit into memory or sluggish in memory\n- You want to learn how to engineer your data storage for more performant access and analysis\n\n## Posit Workbench: Login 🛠️\n\n- Join Workbench via URL in the #workshop-arrow Discord channel\n- Select Posit Workbench >> Sign in with OpenID\n- Use your GitHub credentials to log in (click the icon)\n\n![](images/wb-signin.png){.absolute left=\"200\" width=\"300\"}\n![](images/use-gh-creds.png){.absolute left=\"500\" width=\"300\"}\n\n## Posit Workbench: Setup 🍽️\n\n- 🖱 +New Session\n- 🖱 Start Session (defaults are fine)\n- Run `usethis::use_course(\"posit-conf-2024/arrow\")`\n\n![](images/wb-new-session.png){.absolute left=\"350\" width=\"400\"}\n\n\n## Posit Workbench: Setup 🍽️\n\n- Default location: 🖱 `2`\n- Unzip 📁: 🖱 `3`\n- Open Session dialog box: Resource Profile >> select `Large`\n- Open + run `data/setup.R` 🎉\n\n![](images/wb-usethis-session.png){.absolute left=\"350\" width=\"375\"}\n\n\n", + "supporting": [ + "0_housekeeping_files" + ], "filters": [ "rmarkdown/pagebreak.lua" ], diff --git a/_freeze/materials/1_hello_arrow/execute-results/html.json b/_freeze/materials/1_hello_arrow/execute-results/html.json index 3b1fe43..ea02a0a 100644 --- a/_freeze/materials/1_hello_arrow/execute-results/html.json +++ b/_freeze/materials/1_hello_arrow/execute-results/html.json @@ -1,8 +1,8 @@ { - "hash": "eaac9c74be87e906e161433327bd4053", + "hash": "05c528bbc963b71b6c8c7527e1aba81b", "result": { "engine": "knitr", - "markdown": "---\nfooter: \"[🔗 pos.it/arrow-conf24](https://pos.it/arrow-conf24)\"\nlogo: \"images/logo.png\"\nexecute:\n echo: true\nformat:\n revealjs: \n theme: default\nengine: knitr\neditor: source\n---\n\n\n# Hello Arrow {#hello-arrow}\n\n\n## Kick-off Q&A\n\n
\n\n- What brings you to this workshop?\n- What challenges have you faced related to larger-than-memory data in R?\n- What is one thing you want to learn or achieve from today's workshop?\n- ...?\n\n\n## Poll: Arrow\n\n
\n\n**Have you used or experimented with Arrow before today?**\n\nVote using emojis on the #workshop-arrow discord channel!
\n\n1️⃣ Not yet\n\n2️⃣ Not yet, but I have read about it!\n\n3️⃣ A little\n\n4️⃣ A lot\n\n\n## Hello Arrow
Demo\n\n
\n\n![](images/logo.png){.absolute top=\"0\" left=\"250\" width=\"600\" height=\"800\"}\n\n## Some \"Big\" Data\n\n![](images/nyc-taxi-homepage.png){.absolute left=\"200\" width=\"600\"}\n\n::: {style=\"font-size: 60%; margin-top: 550px; margin-left: 200px;\"}\n\n:::\n\n## NYC Taxi Data\n\n- *big* NYC Taxi data set (\\~40GBs on disk)\n\n\n::: {.cell}\n\n```{.r .cell-code}\nopen_dataset(\"s3://voltrondata-labs-datasets/nyc-taxi\") |>\n filter(year %in% 2012:2021) |>\n write_dataset(\"data/nyc-taxi\", partitioning = c(\"year\", \"month\"))\n```\n:::\n\n\n- *tiny* NYC Taxi data set (\\<1GB on disk)\n\n\n::: {.cell}\n\n```{.r .cell-code}\ndownload.file(url = \"https://github.com/posit-conf-2023/arrow/releases/download/v0.1.0/nyc-taxi-tiny.zip\",\n destfile = \"data/nyc-taxi-tiny.zip\")\n\nunzip(\n zipfile = \"data/nyc-taxi-tiny.zip\",\n exdir = \"data/\"\n)\n```\n:::\n\n\n## Larger-Than-Memory Data\n\n
\n\n`arrow::open_dataset()`\n\n
\n\n::: notes\nArrow Datasets allow you to query against data that has been split across multiple files. This division of data into multiple files may indicate partitioning, which can accelerate queries that only touch some partitions (files). Call open_dataset() to point to a directory of data files and return a Dataset, then use dplyr methods to query it.\n:::\n\n## NYC Taxi Dataset\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(arrow)\n\nnyc_taxi <- open_dataset(\"data/nyc-taxi\")\n```\n:::\n\n\n## NYC Taxi Dataset\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |> \n nrow()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 1150352666\n```\n\n\n:::\n:::\n\n\n
\n\n1.15 billion rows 🤯\n\n## NYC Taxi Dataset: A question\n\n
\n\nWhat percentage of taxi rides each year had more than 1 passenger?\n\n## NYC Taxi Dataset: A dplyr pipeline\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(dplyr)\n\nnyc_taxi |>\n group_by(year) |>\n summarise(\n all_trips = n(),\n shared_trips = sum(passenger_count > 1, na.rm = TRUE)\n ) |>\n mutate(pct_shared = shared_trips / all_trips * 100) |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 10 × 4\n year all_trips shared_trips pct_shared\n \n 1 2012 178544324 53313752 29.9\n 2 2013 173179759 51215013 29.6\n 3 2014 165114361 48816505 29.6\n 4 2015 146112989 43081091 29.5\n 5 2017 113495512 32296166 28.5\n 6 2018 102797401 28796633 28.0\n 7 2019 84393604 23515989 27.9\n 8 2020 24647055 5837960 23.7\n 9 2021 30902618 7221844 23.4\n10 2016 131165043 38163870 29.1\n```\n\n\n:::\n:::\n\n\n## NYC Taxi Dataset: A dplyr pipeline\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tictoc)\n\ntic()\nnyc_taxi |>\n group_by(year) |>\n summarise(\n all_trips = n(),\n shared_trips = sum(passenger_count > 1, na.rm = TRUE)\n ) |>\n mutate(pct_shared = shared_trips / all_trips * 100) |>\n collect()\ntoc()\n```\n:::\n\n\n> 6.077 sec elapsed\n\n## Your Turn\n\n1. Calculate the longest trip distance for every month in 2019\n\n2. How long did this query take to run?\n\n➡️ [Hello Arrow Exercises Page](1_hello_arrow-exercises.html)\n\n## What is Apache Arrow?\n\n::: columns\n::: {.column width=\"50%\"}\n> A multi-language toolbox for accelerated data interchange and in-memory processing\n:::\n\n::: {.column width=\"50%\"}\n> Arrow is designed to both improve the performance of analytical algorithms and the efficiency of moving data from one system or programming language to another\n:::\n:::\n\n::: {style=\"font-size: 70%;\"}\n\n:::\n\n## Apache Arrow Specification\n\nIn-memory columnar format: a standardized, language-agnostic specification for representing structured, table-like data sets in-memory.\n\n
\n\n![](images/arrow-rectangle.png){.absolute left=\"200\"}\n\n## A Multi-Language Toolbox\n\n![](images/arrow-libraries-structure.png)\n\n## Accelerated Data Interchange\n\n![](images/data-interchange-with-arrow.png)\n\n## Accelerated In-Memory Processing\n\nArrow's Columnar Format is Fast\n\n![](images/columnar-fast.png){.absolute top=\"120\" left=\"200\" height=\"600\"}\n\n::: notes\nThe contiguous columnar layout enables vectorization using the latest SIMD (Single Instruction, Multiple Data) operations included in modern processors.\n:::\n\n## arrow 📦\n\n
\n\n![](images/arrow-r-pkg.png){.absolute top=\"0\" left=\"300\" width=\"700\" height=\"900\"}\n\n## arrow 📦\n\n![](images/arrow-read-write-updated.png)\n\n## Today\n\n- Module 1: Larger-than-memory data manipulation with Arrow---Part I\n- Module 2: Data engineering with Arrow\n- Module 3: In-memory workflows in R with Arrow\n- Module 4: Larger-than-memory data manipulation with Arrow---Part II\n\n", + "markdown": "---\nfooter: \"[🔗 pos.it/arrow-conf24](https://pos.it/arrow-conf24)\"\nlogo: \"images/logo.png\"\nexecute:\n echo: true\nformat:\n revealjs: \n theme: default\nengine: knitr\neditor: source\n---\n\n\n\n\n# Hello Arrow {#hello-arrow}\n\n## Poll: Arrow\n\n
\n\n**Have you used or experimented with Arrow before today?**\n\nVote using emojis on the #workshop-arrow discord channel!
\n\n1️⃣ Not yet\n\n2️⃣ Not yet, but I have read about it!\n\n3️⃣ A little\n\n4️⃣ A lot\n\n\n## Hello Arrow
Demo\n\n
\n\n![](images/logo.png){.absolute top=\"0\" left=\"250\" width=\"600\" height=\"800\"}\n\n## Some \"Big\" Data\n\n![](images/nyc-taxi-homepage.png){.absolute left=\"200\" width=\"600\"}\n\n::: {style=\"font-size: 60%; margin-top: 550px; margin-left: 200px;\"}\n\n:::\n\n## NYC Taxi Data\n\n- *big* NYC Taxi data set (\\~40GBs on disk)\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nopen_dataset(\"s3://voltrondata-labs-datasets/nyc-taxi\") |>\n filter(year %in% 2012:2021) |>\n write_dataset(\"data/nyc-taxi\", partitioning = c(\"year\", \"month\"))\n```\n:::\n\n\n\n\n- *tiny* NYC Taxi data set (\\<1GB on disk)\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ndownload.file(url = \"https://github.com/posit-conf-2023/arrow/releases/download/v0.1.0/nyc-taxi-tiny.zip\",\n destfile = \"data/nyc-taxi-tiny.zip\")\n\nunzip(\n zipfile = \"data/nyc-taxi-tiny.zip\",\n exdir = \"data/\"\n)\n```\n:::\n\n\n\n\n## Larger-Than-Memory Data\n\n
\n\n`arrow::open_dataset()`\n\n
\n\n::: notes\nArrow Datasets allow you to query against data that has been split across multiple files. This division of data into multiple files may indicate partitioning, which can accelerate queries that only touch some partitions (files). Call open_dataset() to point to a directory of data files and return a Dataset, then use dplyr methods to query it.\n:::\n\n## NYC Taxi Dataset\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(arrow)\n\nnyc_taxi <- open_dataset(\"data/nyc-taxi\")\n```\n:::\n\n\n\n\n## NYC Taxi Dataset\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |> \n nrow()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 1150352666\n```\n\n\n:::\n:::\n\n\n\n\n
\n\n1.15 billion rows 🤯\n\n## NYC Taxi Dataset: A question\n\n
\n\nWhat percentage of taxi rides each year had more than 1 passenger?\n\n## NYC Taxi Dataset: A dplyr pipeline\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(dplyr)\n\nnyc_taxi |>\n group_by(year) |>\n summarise(\n all_trips = n(),\n shared_trips = sum(passenger_count > 1, na.rm = TRUE)\n ) |>\n mutate(pct_shared = shared_trips / all_trips * 100) |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 10 × 4\n year all_trips shared_trips pct_shared\n \n 1 2012 178544324 53313752 29.9\n 2 2013 173179759 51215013 29.6\n 3 2014 165114361 48816505 29.6\n 4 2015 146112989 43081091 29.5\n 5 2016 131165043 38163870 29.1\n 6 2017 113495512 32296166 28.5\n 7 2018 102797401 28796633 28.0\n 8 2019 84393604 23515989 27.9\n 9 2020 24647055 5837960 23.7\n10 2021 30902618 7221844 23.4\n```\n\n\n:::\n:::\n\n\n\n\n## NYC Taxi Dataset: A dplyr pipeline\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tictoc)\n\ntic()\nnyc_taxi |>\n group_by(year) |>\n summarise(\n all_trips = n(),\n shared_trips = sum(passenger_count > 1, na.rm = TRUE)\n ) |>\n mutate(pct_shared = shared_trips / all_trips * 100) |>\n collect()\ntoc()\n```\n:::\n\n\n\n\n> 6.077 sec elapsed\n\n## Your Turn\n\n1. Calculate the longest trip distance for every month in 2019\n\n2. How long did this query take to run?\n\n➡️ [Hello Arrow Exercises Page](1_hello_arrow-exercises.html)\n\n## What is Apache Arrow?\n\n::: columns\n::: {.column width=\"50%\"}\n> A multi-language toolbox for accelerated data interchange and in-memory processing\n:::\n\n::: {.column width=\"50%\"}\n> Arrow is designed to both improve the performance of analytical algorithms and the efficiency of moving data from one system or programming language to another\n:::\n:::\n\n::: {style=\"font-size: 70%;\"}\n\n:::\n\n## Apache Arrow Specification\n\nIn-memory columnar format: a standardized, language-agnostic specification for representing structured, table-like data sets in-memory.\n\n
\n\n![](images/arrow-rectangle.png){.absolute left=\"200\"}\n\n## A Multi-Language Toolbox\n\n![](images/arrow-libraries-structure.png)\n\n## Accelerated Data Interchange\n\n![](images/data-interchange-with-arrow.png)\n\n## Accelerated In-Memory Processing\n\nArrow's Columnar Format is Fast\n\n![](images/columnar-fast.png){.absolute top=\"120\" left=\"200\" height=\"600\"}\n\n::: notes\nThe contiguous columnar layout enables vectorization using the latest SIMD (Single Instruction, Multiple Data) operations included in modern processors.\n:::\n\n## arrow 📦\n\n
\n\n![](images/arrow-r-pkg-highlights.png){.absolute top=\"0\" left=\"300\" width=\"700\" height=\"900\"}\n\n## arrow 📦\n\n![](images/arrow-read-write-updated.png)\n\n## Today\n\n- Module 1: Larger-than-memory data manipulation with Arrow---Part I\n- Module 2: Data engineering with Arrow\n- Module 3: In-memory workflows in R with Arrow\n- Module 4: Larger-than-memory data manipulation with Arrow---Part II\n\n", "supporting": [ "1_hello_arrow_files" ], diff --git a/_freeze/materials/2_data_manipulation_1/execute-results/html.json b/_freeze/materials/2_data_manipulation_1/execute-results/html.json index 137d4ec..f9567e0 100644 --- a/_freeze/materials/2_data_manipulation_1/execute-results/html.json +++ b/_freeze/materials/2_data_manipulation_1/execute-results/html.json @@ -1,9 +1,11 @@ { - "hash": "4c4fa563a1b278966ea44dfc43acbf1a", + "hash": "766587bb246589603c36913bbc016c52", "result": { "engine": "knitr", - "markdown": "---\nfooter: \"[🔗 pos.it/arrow-conf24](https://pos.it/arrow-conf24)\"\nlogo: \"images/logo.png\"\nexecute:\n echo: true\nformat:\n revealjs: \n theme: default\nengine: knitr\neditor: source\n---\n\n\n\n\n# Data Manipulation---Part 1 {#data-manip-1}\n\n\n\n\n::: {.cell}\n\n:::\n\n\n\n\n## Goals\n\nAvoiding these! But...don't worry!\n\n![](images/segfault.png)\n\n## An Arrow Dataset\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(arrow)\n\nnyc_taxi <- open_dataset(\"data/nyc-taxi/\")\nnyc_taxi\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nFileSystemDataset with 120 Parquet files\n24 columns\nvendor_name: string\npickup_datetime: timestamp[ms]\ndropoff_datetime: timestamp[ms]\npassenger_count: int64\ntrip_distance: double\npickup_longitude: double\npickup_latitude: double\nrate_code: string\nstore_and_fwd: string\ndropoff_longitude: double\ndropoff_latitude: double\npayment_type: string\nfare_amount: double\nextra: double\nmta_tax: double\ntip_amount: double\ntolls_amount: double\ntotal_amount: double\nimprovement_surcharge: double\ncongestion_surcharge: double\n...\n4 more columns\nUse `schema()` to see entire schema\n```\n\n\n:::\n:::\n\n\n\n## Arrow Datasets\n\n![](images/nyc_taxi_dataset.png)\n\n\n## Constructing queries\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(dplyr)\n\nshared_rides <- nyc_taxi |>\n group_by(year) |>\n summarize(\n all_trips = n(),\n shared_trips = sum(passenger_count > 1, na.rm = TRUE)\n ) |>\n mutate(pct_shared = shared_trips / all_trips * 100) \n\nclass(shared_rides)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"arrow_dplyr_query\"\n```\n\n\n:::\n:::\n\n\n\n## arrow dplyr queries\n\n- query has been constructed but not evaluated\n- nothing has been pulled into memory\n\n## Running the query\n\n- `collect()` evaluates the query, in-memory output returns to R\n\n## `collect()`\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncollect(shared_rides)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 10 × 4\n year all_trips shared_trips pct_shared\n \n 1 2012 178544324 53313752 29.9\n 2 2013 173179759 51215013 29.6\n 3 2014 165114361 48816505 29.6\n 4 2015 146112989 43081091 29.5\n 5 2016 131165043 38163870 29.1\n 6 2017 113495512 32296166 28.5\n 7 2018 102797401 28796633 28.0\n 8 2019 84393604 23515989 27.9\n 9 2020 24647055 5837960 23.7\n10 2021 30902618 7221844 23.4\n```\n\n\n:::\n:::\n\n\n\n\n## Calling `nrow()` to see how much data\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n filter(year %in% 2017:2021) |>\n nrow()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 356236190\n```\n\n\n:::\n:::\n\n\n\n\n## Your Turn\n\nUse the function `nrow()` to work out the answers to these questions:\n\n1. How many taxi fares in the dataset had a total amount greater than \\$100?\n\n➡️ [Data Manipulation Part I Exercises Page](2_data_manipulation_1-exercises.html)\n\n\n## Previewing output for large queries\n\nHow much were fares in GBP (£)?\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nfares_pounds <- nyc_taxi |>\n mutate(\n fare_amount_pounds = fare_amount * 0.79\n )\n```\n:::\n\n\n\n\nHow many rows?\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nfares_pounds |>\n nrow()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 1150352666\n```\n\n\n:::\n:::\n\n\n\n\n## Use `head()` and `collect()` to preview results\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n filter(year == 2020) |>\n mutate(fare_pounds = fare_amount * 0.79) |>\n select(fare_amount, fare_pounds) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 2\n fare_amount fare_pounds\n \n1 8 6.32\n2 17 13.4 \n3 6.5 5.14\n4 7 5.53\n5 6.5 5.14\n6 42 33.2 \n```\n\n\n:::\n:::\n\n\n\n\n## Use `across()` to transform data in multiple columns\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n mutate(across(ends_with(\"amount\"), list(pounds = ~.x * 0.79))) |>\n select(contains(\"amount\")) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 8\n fare_amount tip_amount tolls_amount total_amount fare_amount_pounds\n \n1 29.7 6.04 0 36.2 23.5 \n2 9.3 0 0 9.8 7.35\n3 4.1 1.38 0 5.98 3.24\n4 4.5 1 0 6 3.56\n5 4.5 0 0 5.5 3.56\n6 4.1 0 0 5.6 3.24\n# ℹ 3 more variables: tip_amount_pounds , tolls_amount_pounds ,\n# total_amount_pounds \n```\n\n\n:::\n:::\n\n\n\n\n## Summary\n\n- Use `nrow()` to work out how many rows of data your analyses will return\n- Use `collect()` to pull all of the data into your R session\n- Use `head()` and `collect()` to preview results\n- Use `across()` to manipulate data in multiple columns at once\n\n# dplyr verbs API in arrow - alternatives\n\n## Example - `slice()`\n\nFirst three trips in the dataset in 2021 where distance \\> 100 miles\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlong_rides_2021 <- nyc_taxi |>\n filter(year == 2021 & trip_distance > 100) |>\n select(pickup_datetime, year, trip_distance)\n\nlong_rides_2021 |>\n slice(1:3)\n```\n\n::: {.cell-output .cell-output-error}\n\n```\nError in UseMethod(\"slice\"): no applicable method for 'slice' applied to an object of class \"arrow_dplyr_query\"\n```\n\n\n:::\n:::\n\n\n\n\n## Head to the docs!\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\n?`arrow-dplyr`\n```\n:::\n\n\n\n\nor view them at \n\n## A different function\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlong_rides_2021 |>\n slice_max(n = 3, order_by = trip_distance, with_ties = FALSE) |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 3 × 3\n pickup_datetime year trip_distance\n \n1 2021-11-16 12:55:00 2021 351613.\n2 2021-10-27 17:46:00 2021 345124.\n3 2021-12-11 10:48:00 2021 335094.\n```\n\n\n:::\n:::\n\n\n\n\n## Or call `collect()` first\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlong_rides_2021 |>\n collect() |>\n slice(1:3)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 3 × 3\n pickup_datetime year trip_distance\n \n1 2021-10-02 15:04:53 2021 188.\n2 2021-10-03 16:45:02 2021 134 \n3 2021-10-03 17:29:35 2021 218.\n```\n\n\n:::\n:::\n\n\n\n\n## tidyr functions - pivot\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyr)\n\nnyc_taxi |> \n group_by(vendor_name) |>\n summarise(max_fare = max(fare_amount)) |>\n pivot_longer(!vendor_name, names_to = \"metric\") |> \n collect()\n```\n\n::: {.cell-output .cell-output-error}\n\n```\nError in UseMethod(\"pivot_longer\"): no applicable method for 'pivot_longer' applied to an object of class \"arrow_dplyr_query\"\n```\n\n\n:::\n:::\n\n\n\n\n## duckdb\n\n* in-memory database\n* columnar\n* understands Arrow format\n\n## sharing data with duckdb and arrow\n\n![](images/dplyr-arrow-duckdb.png)\n\n## tidyr functions - pivot with duckdb!\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(duckdb)\n\nnyc_taxi |> \n group_by(vendor_name) |>\n summarise(max_fare = max(fare_amount)) |>\n to_duckdb() |> # send data to duckdb\n pivot_longer(!vendor_name, names_to = \"metric\") |> \n to_arrow() |> # return data back to arrow\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 3 × 3\n vendor_name metric value\n \n1 CMT max_fare 998310.\n2 VTS max_fare 10000.\n3 max_fare 3555.\n```\n\n\n:::\n:::\n\n\n\n\n# Using functions inside verbs\n\n## Using functions inside verbs\n\n- lots of the [lubridate](https://lubridate.tidyverse.org/) and [stringr](https://stringr.tidyverse.org/) APIs supported!\n- base R and others too - always good to check the docs\n\n## Morning vs afternoon with namespacing\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"3\"}\nnyc_taxi |>\n group_by(\n time_of_day = ifelse(lubridate::am(pickup_datetime), \"morning\", \"afternoon\")\n ) |>\n count() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 2 × 2\n# Groups: time_of_day [2]\n time_of_day n\n \n1 afternoon 736491676\n2 morning 413860990\n```\n\n\n:::\n:::\n\n\n\n\n## Morning vs afternoon - without namespacing\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"5\"}\nlibrary(lubridate)\n\nnyc_taxi |>\n group_by(\n time_of_day = ifelse(am(pickup_datetime), \"morning\", \"afternoon\")\n ) |>\n count() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 2 × 2\n# Groups: time_of_day [2]\n time_of_day n\n \n1 afternoon 736491676\n2 morning 413860990\n```\n\n\n:::\n:::\n\n\n\n\n## How does this work?\n\n![](images/dplyr-backend.png)\n\n## arrow C++\n\n![](images/arrow_cpp_functions.png)\n\n## arrow dplyr queries\n\n![](images/arrow_dplyr_query.png)\n\n## What if a function isn't implemented?\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n mutate(vendor_name = na_if(vendor_name, \"CMT\")) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-error}\n\n```\nError: Expression na_if(vendor_name, \"CMT\") not supported in Arrow\nCall collect() first to pull data into R.\n```\n\n\n:::\n:::\n\n\n\n\n## Head to the docs again to see what's implemented!\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\n?`arrow-dplyr`\n```\n:::\n\n\n\n\nor view them at \n\n## Option 1 - find a workaround!\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n mutate(vendor_name = ifelse(vendor_name == \"CMT\", NA, vendor_name)) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 24\n vendor_name pickup_datetime dropoff_datetime passenger_count\n \n1 2012-01-20 14:09:36 2012-01-20 14:42:25 1\n2 2012-01-20 14:54:10 2012-01-20 15:06:55 1\n3 2012-01-20 08:08:01 2012-01-20 08:11:02 1\n4 2012-01-20 08:36:22 2012-01-20 08:39:44 1\n5 2012-01-20 20:58:32 2012-01-20 21:03:04 1\n6 2012-01-20 19:40:20 2012-01-20 19:43:43 2\n# ℹ 20 more variables: trip_distance , pickup_longitude ,\n# pickup_latitude , rate_code , store_and_fwd ,\n# dropoff_longitude , dropoff_latitude , payment_type ,\n# fare_amount , extra , mta_tax , tip_amount ,\n# tolls_amount , total_amount , improvement_surcharge ,\n# congestion_surcharge , pickup_location_id ,\n# dropoff_location_id , year , month \n```\n\n\n:::\n:::\n\n\n\n\n## Option 2\n\n- In data manipulation part 2!\n\n## Your Turn\n\n1. Use the `dplyr::filter()` and `stringr::str_ends()` functions to return a subset of the data which is a) from September 2020, and b) the value in `vendor_name` ends with the letter \"S\".\n\n2. Try to use the `stringr` function `str_replace_na()` to replace any `NA` values in the `vendor_name` column with the string \"No vendor\" instead. What happens, and why?\n\n3. Bonus question: see if you can find a different way of completing the task in question 2.\n\n➡️ [Data Manipulation Part I Exercises Page](2_data_manipulation_1-exercises.html)\n\n## Working with custom functions\n\nArrow 17.0.0 or later!\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntime_text <- function(time){\n day_of_week <- wday(time, label = TRUE, abbr = FALSE)\n time_of_day <- ifelse(lubridate::am(time), \"AM\", \"PM\")\n paste(day_of_week, time_of_day)\n}\n\nnyc_taxi |>\n mutate(pickup_text = time_text(pickup_datetime)) |>\n select(pickup_datetime, pickup_text) |>\n head() |>\n collect() \n```\n:::\n\n::: {.cell}\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 2\n pickup_datetime pickup_text\n \n1 2012-01-08 20:50:38 Sunday PM \n2 2012-01-08 20:52:01 Sunday PM \n3 2012-01-08 02:39:26 Sunday AM \n4 2012-01-08 02:40:49 Sunday AM \n5 2012-01-09 03:42:37 Monday AM \n6 2012-01-08 20:51:47 Sunday PM \n```\n\n\n:::\n:::\n\n\n\n## How did that work?\n\nCustom function converted to Arrow Expression; query doesn't contain any reference to the `time_text()` function.\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n mutate(pickup_text = time_text(pickup_datetime)) |>\n select(pickup_datetime, pickup_text)\n```\n:::\n\n::: {.cell}\n::: {.cell-output .cell-output-stdout}\n\n```\nFileSystemDataset (query)\npickup_datetime: timestamp[ms]\npickup_text: string (binary_join_element_wise(cast(strftime(pickup_datetime, {format=\"%A\"}), {to_type=string, allow_int_overflow=false, allow_time_truncate=false, allow_time_overflow=false, allow_decimal_truncate=false, allow_float_truncate=false, allow_invalid_utf8=false}), cast(if_else((hour(pickup_datetime) < 12), \"AM\", \"PM\"), {to_type=string, allow_int_overflow=false, allow_time_truncate=false, allow_time_overflow=false, allow_decimal_truncate=false, allow_float_truncate=false, allow_invalid_utf8=false}), \" \", {null_handling=REPLACE, null_replacement=\"NA\"}))\n\nSee $.data for the source Arrow object\n```\n\n\n:::\n:::\n\n\n\n## Anything else to be aware of?\n\n* arrow 17.0.0 or later\n* this will only work for functions which have Arrow bindings\n* use `` ?`arrow-dplyr` `` to see which ones do\n\n## Summary\n\n- Working with Arrow Datasets allow you to manipulate data which is larger-than-memory\n- You can use many dplyr functions with arrow - run `` ?`arrow-dplyr` `` to view the docs\n- You can pass data to duckdb to use functions implemented in duckdb but not arrow\n", - "supporting": [], + "markdown": "---\nfooter: \"[🔗 pos.it/arrow-conf24](https://pos.it/arrow-conf24)\"\nlogo: \"images/logo.png\"\nexecute:\n echo: true\nformat:\n revealjs: \n theme: default\nengine: knitr\neditor: source\n---\n\n\n\n\n# Data Manipulation---Part 1 {#data-manip-1}\n\n\n\n\n::: {.cell}\n\n:::\n\n\n\n\n## Goals\n\nAvoiding these! But...don't worry!\n\n![](images/segfault.png)\n\n## An Arrow Dataset\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(arrow)\n\nnyc_taxi <- open_dataset(\"data/nyc-taxi/\")\nnyc_taxi\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nFileSystemDataset with 120 Parquet files\n24 columns\nvendor_name: string\npickup_datetime: timestamp[ms]\ndropoff_datetime: timestamp[ms]\npassenger_count: int64\ntrip_distance: double\npickup_longitude: double\npickup_latitude: double\nrate_code: string\nstore_and_fwd: string\ndropoff_longitude: double\ndropoff_latitude: double\npayment_type: string\nfare_amount: double\nextra: double\nmta_tax: double\ntip_amount: double\ntolls_amount: double\ntotal_amount: double\nimprovement_surcharge: double\ncongestion_surcharge: double\n...\n4 more columns\nUse `schema()` to see entire schema\n```\n\n\n:::\n:::\n\n\n\n## Arrow Datasets\n\n![](images/nyc_taxi_dataset.png)\n\n\n## Constructing queries\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(dplyr)\n\nshared_rides <- nyc_taxi |>\n group_by(year) |>\n summarize(\n all_trips = n(),\n shared_trips = sum(passenger_count > 1, na.rm = TRUE)\n ) |>\n mutate(pct_shared = shared_trips / all_trips * 100) \n\nclass(shared_rides)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] \"arrow_dplyr_query\"\n```\n\n\n:::\n:::\n\n\n\n## arrow dplyr queries\n\n- query has been constructed but not evaluated\n- nothing has been pulled into memory\n\n## Running the query\n\n- `collect()` evaluates the query, in-memory output returns to R\n\n## `collect()`\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ncollect(shared_rides)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 10 × 4\n year all_trips shared_trips pct_shared\n \n 1 2012 178544324 53313752 29.9\n 2 2013 173179759 51215013 29.6\n 3 2014 165114361 48816505 29.6\n 4 2015 146112989 43081091 29.5\n 5 2016 131165043 38163870 29.1\n 6 2017 113495512 32296166 28.5\n 7 2018 102797401 28796633 28.0\n 8 2019 84393604 23515989 27.9\n 9 2020 24647055 5837960 23.7\n10 2021 30902618 7221844 23.4\n```\n\n\n:::\n:::\n\n\n\n\n## Calling `nrow()` to see how much data\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n filter(year %in% 2017:2021) |>\n nrow()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 356236190\n```\n\n\n:::\n:::\n\n\n\n\n## Your Turn\n\nUse the function `nrow()` to work out the answers to these questions:\n\n1. How many taxi fares in the dataset had a total amount greater than \\$100?\n\n➡️ [Data Manipulation Part I Exercises Page](2_data_manipulation_1-exercises.html)\n\n\n## Previewing output for large queries\n\nHow much were fares in GBP (£)?\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nfares_pounds <- nyc_taxi |>\n mutate(\n fare_amount_pounds = fare_amount * 0.79\n )\n```\n:::\n\n\n\n\nHow many rows?\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nfares_pounds |>\n nrow()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n[1] 1150352666\n```\n\n\n:::\n:::\n\n\n\n\n## Use `head()` and `collect()` to preview results\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n filter(year == 2020) |>\n mutate(fare_pounds = fare_amount * 0.79) |>\n select(fare_amount, fare_pounds) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 2\n fare_amount fare_pounds\n \n1 16.5 13.0 \n2 21.5 17.0 \n3 5 3.95\n4 10.5 8.30\n5 11 8.69\n6 5.5 4.35\n```\n\n\n:::\n:::\n\n\n\n\n## Use `across()` to transform data in multiple columns\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n mutate(across(ends_with(\"amount\"), list(pounds = ~.x * 0.79))) |>\n select(contains(\"amount\")) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 8\n fare_amount tip_amount tolls_amount total_amount fare_amount_pounds\n \n1 29.7 6.04 0 36.2 23.5 \n2 9.3 0 0 9.8 7.35\n3 4.1 1.38 0 5.98 3.24\n4 4.5 1 0 6 3.56\n5 4.5 0 0 5.5 3.56\n6 4.1 0 0 5.6 3.24\n# ℹ 3 more variables: tip_amount_pounds , tolls_amount_pounds ,\n# total_amount_pounds \n```\n\n\n:::\n:::\n\n\n\n\n## Summary\n\n- Use `nrow()` to work out how many rows of data your analyses will return\n- Use `collect()` to pull all of the data into your R session\n- Use `head()` and `collect()` to preview results\n- Use `across()` to manipulate data in multiple columns at once\n\n# dplyr verbs API in arrow - alternatives\n\n## Example - `slice()`\n\nFirst three trips in the dataset in 2021 where distance \\> 100 miles\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlong_rides_2021 <- nyc_taxi |>\n filter(year == 2021 & trip_distance > 100) |>\n select(pickup_datetime, year, trip_distance)\n\nlong_rides_2021 |>\n slice(1:3)\n```\n\n::: {.cell-output .cell-output-error}\n\n```\nError in UseMethod(\"slice\"): no applicable method for 'slice' applied to an object of class \"arrow_dplyr_query\"\n```\n\n\n:::\n:::\n\n\n\n\n## Head to the docs!\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\n?acero\n```\n:::\n\n\n\n\nor view them at \n\n## A different function\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlong_rides_2021 |>\n slice_max(n = 3, order_by = trip_distance, with_ties = FALSE) |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 3 × 3\n pickup_datetime year trip_distance\n \n1 2021-11-16 04:55:00 2021 351613.\n2 2021-10-27 09:46:00 2021 345124.\n3 2021-12-11 02:48:00 2021 335094.\n```\n\n\n:::\n:::\n\n\n\n\n## Or call `collect()` first\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlong_rides_2021 |>\n collect() |>\n slice(1:3)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 3 × 3\n pickup_datetime year trip_distance\n \n1 2021-01-03 01:01:26 2021 216.\n2 2021-01-03 03:36:52 2021 268.\n3 2021-10-02 07:04:53 2021 188.\n```\n\n\n:::\n:::\n\n\n\n\n## tidyr functions - pivot\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tidyr)\n\nnyc_taxi |> \n group_by(vendor_name) |>\n summarise(max_fare = max(fare_amount)) |>\n pivot_longer(!vendor_name, names_to = \"metric\") |> \n collect()\n```\n\n::: {.cell-output .cell-output-error}\n\n```\nError in UseMethod(\"pivot_longer\"): no applicable method for 'pivot_longer' applied to an object of class \"arrow_dplyr_query\"\n```\n\n\n:::\n:::\n\n\n\n\n## duckdb\n\n* in-memory database\n* columnar\n* understands Arrow format\n\n## sharing data with duckdb and arrow\n\n![](images/dplyr-arrow-duckdb.png)\n\n## tidyr functions - pivot with duckdb!\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(duckdb)\n\nnyc_taxi |> \n group_by(vendor_name) |>\n summarise(max_fare = max(fare_amount)) |>\n to_duckdb() |> # send data to duckdb\n pivot_longer(!vendor_name, names_to = \"metric\") |> \n to_arrow() |> # return data back to arrow\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 3 × 3\n vendor_name metric value\n \n1 CMT max_fare 998310.\n2 VTS max_fare 10000.\n3 max_fare 3555.\n```\n\n\n:::\n:::\n\n\n\n\n# Using functions inside verbs\n\n## Using functions inside verbs\n\n- lots of the [lubridate](https://lubridate.tidyverse.org/) and [stringr](https://stringr.tidyverse.org/) APIs supported!\n- base R and others too - always good to check the docs\n\n## Morning vs afternoon with namespacing\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"3\"}\nnyc_taxi |>\n group_by(\n time_of_day = ifelse(lubridate::am(pickup_datetime), \"morning\", \"afternoon\")\n ) |>\n count() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 2 × 2\n# Groups: time_of_day [2]\n time_of_day n\n \n1 afternoon 736491676\n2 morning 413860990\n```\n\n\n:::\n:::\n\n\n\n\n## Morning vs afternoon - without namespacing\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"5\"}\nlibrary(lubridate)\n\nnyc_taxi |>\n group_by(\n time_of_day = ifelse(am(pickup_datetime), \"morning\", \"afternoon\")\n ) |>\n count() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 2 × 2\n# Groups: time_of_day [2]\n time_of_day n\n \n1 afternoon 736491676\n2 morning 413860990\n```\n\n\n:::\n:::\n\n\n\n\n## How does this work?\n\n![](images/dplyr-backend.png)\n## Acero\n\n* arrow's query execution engine\n* use Arrow functions on Arrow Datasets\n\n## Acero\n\n![](images/arrow_cpp_functions.png)\n\n## arrow dplyr queries\n\n![](images/arrow_dplyr_query.png)\n\n## What if a function isn't implemented?\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n mutate(vendor_name = na_if(vendor_name, \"CMT\")) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-error}\n\n```\nError in `na_if()`:\n! Expression not supported in Arrow\n→ Call collect() first to pull data into R.\n```\n\n\n:::\n:::\n\n\n\n\n## Head to the docs again to see what's implemented!\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\n?acero\n```\n:::\n\n\n\n\nor view them at \n\n## Option 1 - find a workaround!\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n mutate(vendor_name = ifelse(vendor_name == \"CMT\", NA, vendor_name)) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 24\n vendor_name pickup_datetime dropoff_datetime passenger_count\n \n1 2012-01-20 06:09:36 2012-01-20 06:42:25 1\n2 2012-01-20 06:54:10 2012-01-20 07:06:55 1\n3 2012-01-20 00:08:01 2012-01-20 00:11:02 1\n4 2012-01-20 00:36:22 2012-01-20 00:39:44 1\n5 2012-01-20 12:58:32 2012-01-20 13:03:04 1\n6 2012-01-20 11:40:20 2012-01-20 11:43:43 2\n# ℹ 20 more variables: trip_distance , pickup_longitude ,\n# pickup_latitude , rate_code , store_and_fwd ,\n# dropoff_longitude , dropoff_latitude , payment_type ,\n# fare_amount , extra , mta_tax , tip_amount ,\n# tolls_amount , total_amount , improvement_surcharge ,\n# congestion_surcharge , pickup_location_id ,\n# dropoff_location_id , year , month \n```\n\n\n:::\n:::\n\n\n\n\n## Option 2\n\n- In data manipulation part 2!\n\n## Your Turn\n\n1. Use the `dplyr::filter()` and `stringr::str_ends()` functions to return a subset of the data which is a) from September 2020, and b) the value in `vendor_name` ends with the letter \"S\".\n\n2. Try to use the `stringr` function `str_replace_na()` to replace any `NA` values in the `vendor_name` column with the string \"No vendor\" instead. What happens, and why?\n\n3. Bonus question: see if you can find a different way of completing the task in question 2.\n\n➡️ [Data Manipulation Part I Exercises Page](2_data_manipulation_1-exercises.html)\n\n## Working with custom functions\n\nArrow 17.0.0 or later!\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntime_text <- function(time){\n day_of_week <- wday(time, label = TRUE, abbr = FALSE)\n time_of_day <- ifelse(lubridate::am(time), \"AM\", \"PM\")\n paste(day_of_week, time_of_day)\n}\n\nnyc_taxi |>\n mutate(pickup_text = time_text(pickup_datetime)) |>\n select(pickup_datetime, pickup_text) |>\n head() |>\n collect() \n```\n:::\n\n::: {.cell}\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 2\n pickup_datetime pickup_text\n \n1 2012-01-08 12:50:38 Sunday PM \n2 2012-01-08 12:52:01 Sunday PM \n3 2012-01-07 18:39:26 Sunday AM \n4 2012-01-07 18:40:49 Sunday AM \n5 2012-01-08 19:42:37 Monday AM \n6 2012-01-08 12:51:47 Sunday PM \n```\n\n\n:::\n:::\n\n\n\n## How did that work?\n\nCustom function converted to Arrow Expression; query doesn't contain any reference to the `time_text()` function.\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n mutate(pickup_text = time_text(pickup_datetime)) |>\n select(pickup_datetime, pickup_text)\n```\n:::\n\n::: {.cell}\n::: {.cell-output .cell-output-stdout}\n\n```\nFileSystemDataset (query)\npickup_datetime: timestamp[ms]\npickup_text: string (binary_join_element_wise(cast(strftime(pickup_datetime, {format=\"%A\"}), {to_type=string, allow_int_overflow=false, allow_time_truncate=false, allow_time_overflow=false, allow_decimal_truncate=false, allow_float_truncate=false, allow_invalid_utf8=false}), cast(if_else((hour(pickup_datetime) < 12), \"AM\", \"PM\"), {to_type=string, allow_int_overflow=false, allow_time_truncate=false, allow_time_overflow=false, allow_decimal_truncate=false, allow_float_truncate=false, allow_invalid_utf8=false}), \" \", {null_handling=REPLACE, null_replacement=\"NA\"}))\n\nSee $.data for the source Arrow object\n```\n\n\n:::\n:::\n\n\n\n## Anything else to be aware of?\n\n* arrow 17.0.0 or later\n* this will only work for functions which have Arrow bindings\n* use `?acero` to see which ones do\n\n## Summary\n\n- Working with Arrow Datasets allow you to manipulate data which is larger-than-memory\n- You can use many dplyr functions with arrow - run `?acero` to view the docs\n- You can pass data to duckdb to use functions implemented in duckdb but not arrow\n", + "supporting": [ + "2_data_manipulation_1_files" + ], "filters": [ "rmarkdown/pagebreak.lua" ], diff --git a/_freeze/materials/4_data_manipulation_2/execute-results/html.json b/_freeze/materials/4_data_manipulation_2/execute-results/html.json index 3fd7f31..b16048a 100644 --- a/_freeze/materials/4_data_manipulation_2/execute-results/html.json +++ b/_freeze/materials/4_data_manipulation_2/execute-results/html.json @@ -1,9 +1,11 @@ { - "hash": "8a4b16dd38975dce02b3f35257550f41", + "hash": "087f67f5b4e7d75d1b94111f2fced019", "result": { "engine": "knitr", - "markdown": "---\nfooter: \"[🔗 pos.it/arrow-conf24](https://pos.it/arrow-conf24)\"\nlogo: \"images/logo.png\"\nexecute:\n echo: true\nformat:\n revealjs: \n theme: default\nengine: knitr\neditor: source\n---\n\n\n\n\n# Data Manipulation---Part 2 {#data-manip-2}\n\n\n\n\n::: {.cell}\n\n:::\n\n\n\n\n## What if a function binding doesn't exist - revisited!\n\n- Option 1 - find a workaround\n- Option 2 - user-defined functions (UDFs)\n\n## Why use a UDF?\n\n* If no bindings for a function exist\n* Implement your own custom functions\n* Run in R not Arrow\n\n## How do function bindings usually work?\n\n![](images/udf_normal.png)\n## How do UDFs work?\n\n![](images/udf.png)\n\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntime_diff_minutes <- function(pickup, dropoff){\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n}\n\nnyc_taxi |>\n mutate(\n duration_minutes = time_diff_minutes(pickup_datetime, dropoff_datetime)\n ) |> \n select(pickup_datetime, dropoff_datetime, duration_minutes) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-error}\n\n```\nError: Expression time_diff_minutes(pickup_datetime, dropoff_datetime) not supported in Arrow\nCall collect() first to pull data into R.\n```\n\n\n:::\n:::\n\n\n\nWe get an error as we can't automatically convert the function to arrow.\n\n# User-defined functions (aka UDFs)\n\n- Define your own functions\n- Scalar functions - 1 row input and 1 row output\n\n## User-defined functions - definition\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\nThis looks complicated, so let's look at it 1 part at a time!\n\n## User-defined functions - definition\n\nStep 1. Give the function a name\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"2\"}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\n## User-defined functions - definition\n\nStep 2. Define the body of the function - first argument *must* be `context`\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"3,4,5,6,7\"}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\n## User-defined functions - definition\n\nStep 3. Set the schema of the input arguments\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"8,9,10,11\"}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\n## User-defined functions - definition\n\nStep 4. Set the data type of the output\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"12\"}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\n## User-defined functions - definition\n\nStep 5. Set `auto_convert = TRUE` if using in a dplyr pipeline\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"13\"}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\n## User-defined functions - usage\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n mutate(\n duration_minutes = time_diff_minutes(pickup_datetime, dropoff_datetime)\n ) |>\n select(pickup_datetime, dropoff_datetime, duration_minutes) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 3\n pickup_datetime dropoff_datetime duration_minutes\n \n1 2012-10-07 18:19:00 2012-10-07 18:29:00 10\n2 2012-10-07 18:19:00 2012-10-07 18:33:00 14\n3 2012-10-07 18:19:00 2012-10-07 18:35:00 16\n4 2012-10-07 18:19:00 2012-10-07 18:35:00 16\n5 2012-10-07 18:19:00 2012-10-07 18:42:00 23\n6 2012-10-07 18:19:00 2012-10-07 18:43:00 24\n```\n\n\n:::\n:::\n\n\n\n\n## Your Turn\n\n1. Write a user-defined function which wraps the `stringr` function `str_replace_na()`, and use it to replace any `NA` values in the `vendor_name` column with the string \"No vendor\" instead. (Test it on the data from 2019 so you're not pulling everything into memory)\n\n➡️ [Data Manipulation Part II Exercises Page](4_data_manipulation_2-exercises.html)\n\n## Summary\n\n- You can use UDFs to create your own bindings when they don't exist\n- UDFs must be scalar (1 row in -\\> 1 row out) and stateless (no knowledge of other rows of data)\n- Calculations done by R not Arrow, so slower than in-built bindings but still pretty fast\n\n# Joins\n\n## Joins\n\n![](images/joins.png)\n\n## Joining a reference table\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nvendors <- tibble::tibble(\n code = c(\"VTS\", \"CMT\", \"DDS\"),\n full_name = c(\n \"Verifone Transportation Systems\",\n \"Creative Mobile Technologies\",\n \"Digital Dispatch Systems\"\n )\n)\n\nnyc_taxi |>\n left_join(vendors, by = c(\"vendor_name\" = \"code\")) |>\n select(vendor_name, full_name, pickup_datetime) |>\n head(3) |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 3 × 3\n vendor_name full_name pickup_datetime \n \n1 CMT Creative Mobile Technologies 2012-10-07 17:26:40\n2 CMT Creative Mobile Technologies 2012-10-07 17:26:52\n3 CMT Creative Mobile Technologies 2012-10-07 17:26:57\n```\n\n\n:::\n:::\n\n\n\n\n## Traps for the unwary\n\nQuestion: which are the most common borough-to-borough journeys in the dataset?\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi_zones <- \n read_csv_arrow(\"data/taxi_zone_lookup.csv\") |>\n select(location_id = LocationID,\n borough = Borough)\n\nnyc_taxi_zones\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 265 × 2\n location_id borough \n \n 1 1 EWR \n 2 2 Queens \n 3 3 Bronx \n 4 4 Manhattan \n 5 5 Staten Island\n 6 6 Staten Island\n 7 7 Queens \n 8 8 Queens \n 9 9 Queens \n10 10 Queens \n# ℹ 255 more rows\n```\n\n\n:::\n:::\n\n\n\n\n## Why didn't this work?\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n left_join(nyc_taxi_zones, by = c(\"pickup_location_id\" = \"location_id\")) |>\n collect()\n```\n\n::: {.cell-output .cell-output-error}\n\n```\nError in `compute.arrow_dplyr_query()`:\n! Invalid: Incompatible data types for corresponding join field keys: FieldRef.Name(pickup_location_id) of type int64 and FieldRef.Name(location_id) of type int32\n```\n\n\n:::\n:::\n\n\n\n\n## Schema for the `nyc_taxi` Dataset\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nschema(nyc_taxi)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nSchema\nvendor_name: string\npickup_datetime: timestamp[ms]\ndropoff_datetime: timestamp[ms]\npassenger_count: int64\ntrip_distance: double\npickup_longitude: double\npickup_latitude: double\nrate_code: string\nstore_and_fwd: string\ndropoff_longitude: double\ndropoff_latitude: double\npayment_type: string\nfare_amount: double\nextra: double\nmta_tax: double\ntip_amount: double\ntolls_amount: double\ntotal_amount: double\nimprovement_surcharge: double\ncongestion_surcharge: double\npickup_location_id: int64\ndropoff_location_id: int64\nyear: int32\nmonth: int32\n```\n\n\n:::\n:::\n\n\n\n\n## Schema for the `nyc_taxi_zones` Table\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi_zones_arrow <- arrow_table(nyc_taxi_zones)\nschema(nyc_taxi_zones_arrow)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nSchema\nlocation_id: int32\nborough: string\n```\n\n\n:::\n:::\n\n\n\n\n- `pickup_location_id` is int64 in the `nyc_taxi` table\n- `location_id` is int32 in the `nyc_taxi_zones` table\n\n## Take control of the schema\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi_zones_arrow <- arrow_table(\n nyc_taxi_zones, \n schema = schema(location_id = int64(), borough = utf8())\n)\n```\n:::\n\n\n\n\n- `schema()` takes variable name / types as input\n- arrow has various \"type\" functions: `int64()`, `utf8()`, `boolean()`, `date32()` etc\n\n## Take control of the schema\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi_zones_arrow <- arrow_table(\n nyc_taxi_zones, \n schema = schema(location_id = int64(), borough = utf8())\n)\nschema(nyc_taxi_zones_arrow)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nSchema\nlocation_id: int64\nborough: string\n```\n\n\n:::\n:::\n\n\n\n\n## Prepare the auxiliary tables\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\npickup <- nyc_taxi_zones_arrow |>\n select(pickup_location_id = location_id,\n pickup_borough = borough)\n\ndropoff <- nyc_taxi_zones_arrow |>\n select(dropoff_location_id = location_id,\n dropoff_borough = borough)\n```\n:::\n\n\n\n\n- Join separately for the pickup and dropoff zones\n\n\n## Join and cross-tabulate\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tictoc)\n\ntic()\nborough_counts <- nyc_taxi |> \n left_join(pickup) |>\n left_join(dropoff) |>\n count(pickup_borough, dropoff_borough) |>\n arrange(desc(n)) |>\n collect()\ntoc()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n163.966 sec elapsed\n```\n\n\n:::\n:::\n\n\n\n\n
\n\n2-3 minutes to join twice and cross-tabulate on non-partition variables, with 1.15 billion rows of data 🙂\n\n## The results\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nborough_counts\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 50 × 3\n pickup_borough dropoff_borough n\n \n 1 732357953\n 2 Manhattan Manhattan 351198872\n 3 Queens Manhattan 14440705\n 4 Manhattan Queens 13052517\n 5 Manhattan Brooklyn 11180867\n 6 Queens Queens 7440356\n 7 Unknown Unknown 4491811\n 8 Queens Brooklyn 3662324\n 9 Brooklyn Brooklyn 3550480\n10 Manhattan Bronx 2071830\n# ℹ 40 more rows\n```\n\n\n:::\n:::\n\n\n\n\n## Your Turn\n\n1. How many taxi pickups were recorded in 2019 from the three major airports covered by the NYC Taxis data set (JFK, LaGuardia, Newark)? (Hint: you can use `stringr::str_detect()` to help you find pickup zones with the word \"Airport\" in them)\n\n➡️ [Data Manipulation Part II Exercises Page](4_data_manipulation_2-exercises.html)\n\n## Summary\n\n- You can join Arrow Tables and Datasets to R data frames and Arrow Tables\n- The Arrow data type of join keys must always match\n\n", - "supporting": [], + "markdown": "---\nfooter: \"[🔗 pos.it/arrow-conf24](https://pos.it/arrow-conf24)\"\nlogo: \"images/logo.png\"\nexecute:\n echo: true\nformat:\n revealjs: \n theme: default\nengine: knitr\neditor: source\n---\n\n\n\n\n# Data Manipulation---Part 2 {#data-manip-2}\n\n\n\n\n::: {.cell}\n\n:::\n\n\n\n\n## What if a function binding doesn't exist - revisited!\n\n- Option 1 - find a workaround\n- Option 2 - user-defined functions (UDFs)\n\n## Why use a UDF?\n\n* If no bindings for a function exist\n* Implement your own custom functions\n* Run in R not Arrow\n\n\n\n## How do function bindings usually work?\n\n![](images/udf_normal.png)\n## How do UDFs work?\n\n![](images/udf.png)\n\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\ntime_diff_minutes <- function(pickup, dropoff){\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n}\n\nnyc_taxi |>\n mutate(\n duration_minutes = time_diff_minutes(pickup_datetime, dropoff_datetime)\n ) |> \n select(pickup_datetime, dropoff_datetime, duration_minutes) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-error}\n\n```\nError in `time_diff_minutes()`:\n! `difftime()` with units other than `secs` not supported in Arrow\n→ Call collect() first to pull data into R.\n```\n\n\n:::\n:::\n\n\n\nWe get an error as we can't automatically convert the function to arrow.\n\n\n\n# User-defined functions (aka UDFs)\n\n- Define your own functions\n- Scalar functions - 1 row input and 1 row output\n\n\n\n## User-defined functions - definition\n\n\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\nThis looks complicated, so let's look at it 1 part at a time!\n\n\n\n## User-defined functions - definition\n\nStep 1. Give the function a name\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"2\"}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\n\n\n## User-defined functions - definition\n\nStep 2. Define the body of the function - first argument *must* be `context`\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"3,4,5,6,7\"}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\n## User-defined functions - definition\n\nStep 3. Set the schema of the input arguments\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"8,9,10,11\"}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\n## User-defined functions - definition\n\nStep 4. Set the data type of the output\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"12\"}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\n## User-defined functions - definition\n\nStep 5. Set `auto_convert = TRUE` if using in a dplyr pipeline\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code code-line-numbers=\"13\"}\nregister_scalar_function(\n name = \"time_diff_minutes\",\n function(context, pickup, dropoff) {\n difftime(dropoff, pickup, units = \"mins\") |>\n round() |>\n as.integer()\n },\n in_type = schema(\n pickup = timestamp(unit = \"ms\"),\n dropoff = timestamp(unit = \"ms\")\n ),\n out_type = int32(),\n auto_convert = TRUE\n)\n```\n:::\n\n\n\n\n## User-defined functions - usage\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n mutate(\n duration_minutes = time_diff_minutes(pickup_datetime, dropoff_datetime)\n ) |>\n select(pickup_datetime, dropoff_datetime, duration_minutes) |>\n head() |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 6 × 3\n pickup_datetime dropoff_datetime duration_minutes\n \n1 2012-11-02 16:40:32 2012-11-02 16:58:16 18\n2 2012-11-02 16:40:41 2012-11-02 16:45:56 5\n3 2012-11-02 16:40:50 2012-11-02 16:49:20 8\n4 2012-11-02 16:40:52 2012-11-02 16:46:15 5\n5 2012-11-02 16:41:00 2012-11-02 16:44:00 3\n6 2012-11-02 16:41:00 2012-11-02 16:45:00 4\n```\n\n\n:::\n:::\n\n\n\n\n\n\n## Your Turn\n\n1. Write a user-defined function which wraps the `stringr` function `str_replace_na()`, and use it to replace any `NA` values in the `vendor_name` column with the string \"No vendor\" instead. (Test it on the data from 2019 so you're not pulling everything into memory)\n\n➡️ [Data Manipulation Part II Exercises Page](4_data_manipulation_2-exercises.html)\n\n## Summary\n\n- You can use UDFs to create your own bindings when they don't exist\n- UDFs must be scalar (1 row in -\\> 1 row out) and stateless (no knowledge of other rows of data)\n- Calculations done by R not Arrow, so slower than in-built bindings but still pretty fast\n\n# Joins\n\n## Joins\n\n![](images/joins.png)\n\n\n\n## Joining a reference table\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nvendors <- tibble::tibble(\n code = c(\"VTS\", \"CMT\", \"DDS\"),\n full_name = c(\n \"Verifone Transportation Systems\",\n \"Creative Mobile Technologies\",\n \"Digital Dispatch Systems\"\n )\n)\n\nnyc_taxi |>\n left_join(vendors, by = c(\"vendor_name\" = \"code\")) |>\n select(vendor_name, full_name, pickup_datetime) |>\n head(3) |>\n collect()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 3 × 3\n vendor_name full_name pickup_datetime \n \n1 CMT Creative Mobile Technologies 2012-01-27 15:35:26\n2 CMT Creative Mobile Technologies 2012-01-27 06:56:04\n3 CMT Creative Mobile Technologies 2012-01-27 08:12:50\n```\n\n\n:::\n:::\n\n\n\n\n\n\n## Traps for the unwary\n\nQuestion: which are the most common borough-to-borough journeys in the dataset?\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi_zones <- \n read_csv_arrow(\"data/taxi_zone_lookup.csv\") |>\n select(location_id = LocationID,\n borough = Borough)\n\nnyc_taxi_zones\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 265 × 2\n location_id borough \n \n 1 1 EWR \n 2 2 Queens \n 3 3 Bronx \n 4 4 Manhattan \n 5 5 Staten Island\n 6 6 Staten Island\n 7 7 Queens \n 8 8 Queens \n 9 9 Queens \n10 10 Queens \n# ℹ 255 more rows\n```\n\n\n:::\n:::\n\n\n\n\n\n\n## Why didn't this work?\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi |>\n left_join(nyc_taxi_zones, by = c(\"pickup_location_id\" = \"location_id\")) |>\n collect()\n```\n\n::: {.cell-output .cell-output-error}\n\n```\nError in `compute.arrow_dplyr_query()`:\n! Invalid: Incompatible data types for corresponding join field keys: FieldRef.Name(pickup_location_id) of type int64 and FieldRef.Name(location_id) of type int32\n```\n\n\n:::\n:::\n\n\n\n\n\n\n## Schema for the `nyc_taxi` Dataset\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nschema(nyc_taxi)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nSchema\nvendor_name: string\npickup_datetime: timestamp[ms]\ndropoff_datetime: timestamp[ms]\npassenger_count: int64\ntrip_distance: double\npickup_longitude: double\npickup_latitude: double\nrate_code: string\nstore_and_fwd: string\ndropoff_longitude: double\ndropoff_latitude: double\npayment_type: string\nfare_amount: double\nextra: double\nmta_tax: double\ntip_amount: double\ntolls_amount: double\ntotal_amount: double\nimprovement_surcharge: double\ncongestion_surcharge: double\npickup_location_id: int64\ndropoff_location_id: int64\nyear: int32\nmonth: int32\n```\n\n\n:::\n:::\n\n\n\n\n## Schema for the `nyc_taxi_zones` Table\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi_zones_arrow <- arrow_table(nyc_taxi_zones)\nschema(nyc_taxi_zones_arrow)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nSchema\nlocation_id: int32\nborough: string\n```\n\n\n:::\n:::\n\n\n\n\n- `pickup_location_id` is int64 in the `nyc_taxi` table\n- `location_id` is int32 in the `nyc_taxi_zones` table\n\n\n\n## Take control of the schema\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi_zones_arrow <- arrow_table(\n nyc_taxi_zones, \n schema = schema(location_id = int64(), borough = utf8())\n)\n```\n:::\n\n\n\n\n- `schema()` takes variable name / types as input\n- arrow has various \"type\" functions: `int64()`, `utf8()`, `boolean()`, `date32()` etc\n\n\n\n## Take control of the schema\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nnyc_taxi_zones_arrow <- arrow_table(\n nyc_taxi_zones, \n schema = schema(location_id = int64(), borough = utf8())\n)\nschema(nyc_taxi_zones_arrow)\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\nSchema\nlocation_id: int64\nborough: string\n```\n\n\n:::\n:::\n\n\n\n\n\n\n## Prepare the auxiliary tables\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\npickup <- nyc_taxi_zones_arrow |>\n select(pickup_location_id = location_id,\n pickup_borough = borough)\n\ndropoff <- nyc_taxi_zones_arrow |>\n select(dropoff_location_id = location_id,\n dropoff_borough = borough)\n```\n:::\n\n\n\n\n- Join separately for the pickup and dropoff zones\n\n\n## Join and cross-tabulate\n\n\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nlibrary(tictoc)\n\ntic()\nborough_counts <- nyc_taxi |> \n left_join(pickup) |>\n left_join(dropoff) |>\n count(pickup_borough, dropoff_borough) |>\n arrange(desc(n)) |>\n collect()\ntoc()\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n177.061 sec elapsed\n```\n\n\n:::\n:::\n\n\n\n\n
\n\n2-3 minutes to join twice and cross-tabulate on non-partition variables, with 1.15 billion rows of data 🙂\n\n## The results\n\n\n\n\n::: {.cell}\n\n```{.r .cell-code}\nborough_counts\n```\n\n::: {.cell-output .cell-output-stdout}\n\n```\n# A tibble: 50 × 3\n pickup_borough dropoff_borough n\n \n 1 732357953\n 2 Manhattan Manhattan 351198872\n 3 Queens Manhattan 14440705\n 4 Manhattan Queens 13052517\n 5 Manhattan Brooklyn 11180867\n 6 Queens Queens 7440356\n 7 Unknown Unknown 4491811\n 8 Queens Brooklyn 3662324\n 9 Brooklyn Brooklyn 3550480\n10 Manhattan Bronx 2071830\n# ℹ 40 more rows\n```\n\n\n:::\n:::\n\n\n\n\n## Your Turn\n\n1. How many taxi pickups were recorded in 2019 from the three major airports covered by the NYC Taxis data set (JFK, LaGuardia, Newark)? (Hint: you can use `stringr::str_detect()` to help you find pickup zones with the word \"Airport\" in them)\n\n➡️ [Data Manipulation Part II Exercises Page](4_data_manipulation_2-exercises.html)\n\n## Summary\n\n- You can join Arrow Tables and Datasets to R data frames and Arrow Tables\n- The Arrow data type of join keys must always match\n\n", + "supporting": [ + "4_data_manipulation_2_files" + ], "filters": [ "rmarkdown/pagebreak.lua" ], diff --git a/_freeze/materials/7_continue_learning/execute-results/html.json b/_freeze/materials/7_continue_learning/execute-results/html.json index 2fccdec..066516a 100644 --- a/_freeze/materials/7_continue_learning/execute-results/html.json +++ b/_freeze/materials/7_continue_learning/execute-results/html.json @@ -1,9 +1,11 @@ { - "hash": "c6646851b6ea0f9c2ad145e6e6e8ef7d", + "hash": "b27bb518913fe7a04c4218f3800cd80a", "result": { "engine": "knitr", - "markdown": "---\nfooter: \"[🔗 pos.it/arrow-conf24](https://pos.it/arrow-conf24)\"\nlogo: \"images/logo.png\"\nexecute:\n echo: true\nformat:\n revealjs: \n theme: default\nengine: knitr\neditor: source\n---\n\n\n\n\n# Continue Your Arrow Learning Journey {#more-learning}\n\n## Docs\n\n::: {style=\"font-size: 80%;\"}\n\n:::\n\n![](images/docs.png)\n\n## Cookbook\n\n\n\n![](images/cookbook.png)\n\n## Cheatsheet\n\n::: {style=\"font-size: 60%;\"}\n\n:::\n\n![](https://arrow.apache.org/img/20220427-arrow-r-cheatsheet-thumbnail.png){.absolute top=\"125\" width=\"700\"}\n\n## Awesome Arrow\n\n\n\n![](images/awesomearrow.png)\n\n# How to Get Help\n\n## GitHub Issues\n\n\n\n![](images/issues.png)\n\n## Community\n\n\n\n![](images/mailing-list.png){.absolute width=\"600\"}\n\n::: notes\nalso Stack Overflow, Posit Community\n:::\n", - "supporting": [], + "markdown": "---\nfooter: \"[🔗 pos.it/arrow-conf24](https://pos.it/arrow-conf24)\"\nlogo: \"images/logo.png\"\nexecute:\n echo: true\nformat:\n revealjs: \n theme: default\nengine: knitr\neditor: source\n---\n\n\n\n\n# Continue Your Arrow Learning Journey {#more-learning}\n\n## Book\n\n\n\n![](images/dummybookcover.png)\n\n## Docs\n\n::: {style=\"font-size: 80%;\"}\n\n:::\n\n![](images/docs.png)\n\n## Cookbook\n\n\n\n![](images/cookbook.png)\n\n## Cheatsheet\n\n::: {style=\"font-size: 60%;\"}\n\n:::\n\n![](https://arrow.apache.org/img/20220427-arrow-r-cheatsheet-thumbnail.png){.absolute top=\"125\" width=\"700\"}\n\n## Awesome Arrow\n\n\n\n![](images/awesomearrow.png)\n\n# How to Get Help\n\n## GitHub Issues\n\n\n\n![](images/issues.png)\n\n## Community\n\n\n\n![](images/mailing-list.png){.absolute width=\"600\"}\n\n::: notes\nalso Stack Overflow, Posit Community\n:::\n", + "supporting": [ + "7_continue_learning_files" + ], "filters": [ "rmarkdown/pagebreak.lua" ], diff --git a/_freeze/site_libs/revealjs/dist/theme/quarto.css b/_freeze/site_libs/revealjs/dist/theme/quarto.css index 2577a64..58f87c5 100644 --- a/_freeze/site_libs/revealjs/dist/theme/quarto.css +++ b/_freeze/site_libs/revealjs/dist/theme/quarto.css @@ -1,8 +1,8 @@ -@import"./fonts/source-sans-pro/source-sans-pro.css";:root{--r-background-color: #fff;--r-main-font: Source Sans Pro, Helvetica, sans-serif;--r-main-font-size: 40px;--r-main-color: #222;--r-block-margin: 12px;--r-heading-margin: 0 0 12px 0;--r-heading-font: Source Sans Pro, Helvetica, sans-serif;--r-heading-color: #222;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: none;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--r-link-color: #2a76dd;--r-link-color-dark: #1a53a1;--r-link-color-hover: #5692e4;--r-selection-background-color: #98bdef;--r-selection-color: #fff}.reveal-viewport{background:#fff;background-color:var(--r-background-color)}.reveal{font-family:var(--r-main-font);font-size:var(--r-main-font-size);font-weight:normal;color:var(--r-main-color)}.reveal ::selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal ::-moz-selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{line-height:1.3;font-weight:inherit}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-family:var(--r-heading-font);font-weight:var(--r-heading-font-weight);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1{font-size:var(--r-heading1-size)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal h1{text-shadow:var(--r-heading1-text-shadow)}.reveal p{margin:var(--r-block-margin) 0;line-height:1.3}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:bold}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal dt{font-weight:bold}.reveal dd{margin-left:40px}.reveal blockquote{display:block;position:relative;width:70%;margin:var(--r-block-margin) auto;padding:5px;font-style:italic;background:rgba(255,255,255,.05);box-shadow:0px 0px 2px rgba(0,0,0,.2)}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:var(--r-block-margin) auto;text-align:left;font-size:.55em;font-family:var(--r-code-font);line-height:1.2em;word-wrap:break-word;box-shadow:0px 5px 15px rgba(0,0,0,.15)}.reveal code{font-family:var(--r-code-font);text-transform:none;tab-size:2}.reveal pre code{display:block;padding:5px;overflow:auto;max-height:400px;word-wrap:normal}.reveal .code-wrapper{white-space:normal}.reveal .code-wrapper code{white-space:pre}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:bold}.reveal table th,.reveal table td{text-align:left;padding:.2em .5em .2em .5em;border-bottom:1px solid}.reveal table th[align=center],.reveal table td[align=center]{text-align:center}.reveal table th[align=right],.reveal table td[align=right]{text-align:right}.reveal table tbody tr:last-child th,.reveal table tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;font-size:.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal img{margin:var(--r-block-margin) 0}.reveal a{color:var(--r-link-color);text-decoration:none;transition:color .15s ease}.reveal a:hover{color:var(--r-link-color-hover);text-shadow:none;border:none}.reveal .roll span:after{color:#fff;background:var(--r-link-color-dark)}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px rgba(0,0,0,.15)}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px rgba(0,0,0,.55)}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:rgba(0,0,0,.2);color:var(--r-link-color)}@media print{.backgrounds{background-color:var(--r-background-color)}}.top-right{position:absolute;top:1em;right:1em}.visually-hidden{border:0;clip:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}figure.figure{display:block}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p,.quarto-figure-left>figure>div{text-align:left}.quarto-figure-center>figure>p,.quarto-figure-center>figure>div{text-align:center}.quarto-figure-right>figure>p,.quarto-figure-right>figure>div{text-align:right}.quarto-figure>figure>div.cell-annotation,.quarto-figure>figure>div code{text-align:left}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption.quarto-float-caption-bottom{margin-bottom:.5em}figure>figcaption.quarto-float-caption-top{margin-top:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link{position:absolute;top:.6em;right:.5em}div[id^=tbl-]>.anchorjs-link{position:absolute;top:.7em;right:.3em}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}tr.header>th>p:last-of-type{margin-bottom:0px}table,table.table{margin-top:.5rem;margin-bottom:.5rem}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-top{margin-top:.5rem;margin-bottom:.25rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-bottom{padding-top:.25rem;margin-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:#6f6f6f}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.footnote-back{margin-left:.2em}.tippy-content{overflow-x:auto}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x),.knitsql-table:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}a{text-underline-offset:3px}div.ansi-escaped-output{font-family:monospace;display:block}/*! +@import"./fonts/source-sans-pro/source-sans-pro.css";:root{--r-background-color: #fff;--r-main-font: Source Sans Pro, Helvetica, sans-serif;--r-main-font-size: 40px;--r-main-color: #222;--r-block-margin: 12px;--r-heading-margin: 0 0 12px 0;--r-heading-font: Source Sans Pro, Helvetica, sans-serif;--r-heading-color: #222;--r-heading-line-height: 1.2;--r-heading-letter-spacing: normal;--r-heading-text-transform: none;--r-heading-text-shadow: none;--r-heading-font-weight: 600;--r-heading1-text-shadow: none;--r-heading1-size: 2.5em;--r-heading2-size: 1.6em;--r-heading3-size: 1.3em;--r-heading4-size: 1em;--r-code-font: SFMono-Regular, Menlo, Monaco, Consolas, Liberation Mono, Courier New, monospace;--r-link-color: #2a76dd;--r-link-color-dark: #1a53a1;--r-link-color-hover: #5692e4;--r-selection-background-color: #98bdef;--r-selection-color: #fff}.reveal-viewport{background:#fff;background-color:var(--r-background-color)}.reveal{font-family:var(--r-main-font);font-size:var(--r-main-font-size);font-weight:normal;color:var(--r-main-color)}.reveal ::selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal ::-moz-selection{color:var(--r-selection-color);background:var(--r-selection-background-color);text-shadow:none}.reveal .slides section,.reveal .slides section>section{line-height:1.3;font-weight:inherit}.reveal h1,.reveal h2,.reveal h3,.reveal h4,.reveal h5,.reveal h6{margin:var(--r-heading-margin);color:var(--r-heading-color);font-family:var(--r-heading-font);font-weight:var(--r-heading-font-weight);line-height:var(--r-heading-line-height);letter-spacing:var(--r-heading-letter-spacing);text-transform:var(--r-heading-text-transform);text-shadow:var(--r-heading-text-shadow);word-wrap:break-word}.reveal h1{font-size:var(--r-heading1-size)}.reveal h2{font-size:var(--r-heading2-size)}.reveal h3{font-size:var(--r-heading3-size)}.reveal h4{font-size:var(--r-heading4-size)}.reveal h1{text-shadow:var(--r-heading1-text-shadow)}.reveal p{margin:var(--r-block-margin) 0;line-height:1.3}.reveal h1:last-child,.reveal h2:last-child,.reveal h3:last-child,.reveal h4:last-child,.reveal h5:last-child,.reveal h6:last-child{margin-bottom:0}.reveal img,.reveal video,.reveal iframe{max-width:95%;max-height:95%}.reveal strong,.reveal b{font-weight:bold}.reveal em{font-style:italic}.reveal ol,.reveal dl,.reveal ul{display:inline-block;text-align:left;margin:0 0 0 1em}.reveal ol{list-style-type:decimal}.reveal ul{list-style-type:disc}.reveal ul ul{list-style-type:square}.reveal ul ul ul{list-style-type:circle}.reveal ul ul,.reveal ul ol,.reveal ol ol,.reveal ol ul{display:block;margin-left:40px}.reveal dt{font-weight:bold}.reveal dd{margin-left:40px}.reveal blockquote{display:block;position:relative;width:70%;margin:var(--r-block-margin) auto;padding:5px;font-style:italic;background:rgba(255,255,255,.05);box-shadow:0px 0px 2px rgba(0,0,0,.2)}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:inline-block}.reveal q{font-style:italic}.reveal pre{display:block;position:relative;width:90%;margin:var(--r-block-margin) auto;text-align:left;font-size:.55em;font-family:var(--r-code-font);line-height:1.2em;word-wrap:break-word;box-shadow:0px 5px 15px rgba(0,0,0,.15)}.reveal code{font-family:var(--r-code-font);text-transform:none;tab-size:2}.reveal pre code{display:block;padding:5px;overflow:auto;max-height:400px;word-wrap:normal}.reveal .code-wrapper{white-space:normal}.reveal .code-wrapper code{white-space:pre}.reveal table{margin:auto;border-collapse:collapse;border-spacing:0}.reveal table th{font-weight:bold}.reveal table th,.reveal table td{text-align:left;padding:.2em .5em .2em .5em;border-bottom:1px solid}.reveal table th[align=center],.reveal table td[align=center]{text-align:center}.reveal table th[align=right],.reveal table td[align=right]{text-align:right}.reveal table tbody tr:last-child th,.reveal table tbody tr:last-child td{border-bottom:none}.reveal sup{vertical-align:super;font-size:smaller}.reveal sub{vertical-align:sub;font-size:smaller}.reveal small{display:inline-block;font-size:.6em;line-height:1.2em;vertical-align:top}.reveal small *{vertical-align:top}.reveal img{margin:var(--r-block-margin) 0}.reveal a{color:var(--r-link-color);text-decoration:none;transition:color .15s ease}.reveal a:hover{color:var(--r-link-color-hover);text-shadow:none;border:none}.reveal .roll span:after{color:#fff;background:var(--r-link-color-dark)}.reveal .r-frame{border:4px solid var(--r-main-color);box-shadow:0 0 10px rgba(0,0,0,.15)}.reveal a .r-frame{transition:all .15s linear}.reveal a:hover .r-frame{border-color:var(--r-link-color);box-shadow:0 0 20px rgba(0,0,0,.55)}.reveal .controls{color:var(--r-link-color)}.reveal .progress{background:rgba(0,0,0,.2);color:var(--r-link-color)}@media print{.backgrounds{background-color:var(--r-background-color)}}.top-right{position:absolute;top:1em;right:1em}.visually-hidden{border:0;clip:rect(0 0 0 0);height:auto;margin:0;overflow:hidden;padding:0;position:absolute;width:1px;white-space:nowrap}.hidden{display:none !important}.zindex-bottom{z-index:-1 !important}figure.figure{display:block}.quarto-layout-panel{margin-bottom:1em}.quarto-layout-panel>figure{width:100%}.quarto-layout-panel>figure>figcaption,.quarto-layout-panel>.panel-caption{margin-top:10pt}.quarto-layout-panel>.table-caption{margin-top:0px}.table-caption p{margin-bottom:.5em}.quarto-layout-row{display:flex;flex-direction:row;align-items:flex-start}.quarto-layout-valign-top{align-items:flex-start}.quarto-layout-valign-bottom{align-items:flex-end}.quarto-layout-valign-center{align-items:center}.quarto-layout-cell{position:relative;margin-right:20px}.quarto-layout-cell:last-child{margin-right:0}.quarto-layout-cell figure,.quarto-layout-cell>p{margin:.2em}.quarto-layout-cell img{max-width:100%}.quarto-layout-cell .html-widget{width:100% !important}.quarto-layout-cell div figure p{margin:0}.quarto-layout-cell figure{display:block;margin-inline-start:0;margin-inline-end:0}.quarto-layout-cell table{display:inline-table}.quarto-layout-cell-subref figcaption,figure .quarto-layout-row figure figcaption{text-align:center;font-style:italic}.quarto-figure{position:relative;margin-bottom:1em}.quarto-figure>figure{width:100%;margin-bottom:0}.quarto-figure-left>figure>p,.quarto-figure-left>figure>div{text-align:left}.quarto-figure-center>figure>p,.quarto-figure-center>figure>div{text-align:center}.quarto-figure-right>figure>p,.quarto-figure-right>figure>div{text-align:right}.quarto-figure>figure>div.cell-annotation,.quarto-figure>figure>div code{text-align:left}figure>p:empty{display:none}figure>p:first-child{margin-top:0;margin-bottom:0}figure>figcaption.quarto-float-caption-bottom{margin-bottom:.5em}figure>figcaption.quarto-float-caption-top{margin-top:.5em}div[id^=tbl-]{position:relative}.quarto-figure>.anchorjs-link{position:absolute;top:.6em;right:.5em}div[id^=tbl-]>.anchorjs-link{position:absolute;top:.7em;right:.3em}.quarto-figure:hover>.anchorjs-link,div[id^=tbl-]:hover>.anchorjs-link,h2:hover>.anchorjs-link,h3:hover>.anchorjs-link,h4:hover>.anchorjs-link,h5:hover>.anchorjs-link,h6:hover>.anchorjs-link,.reveal-anchorjs-link>.anchorjs-link{opacity:1}#title-block-header{margin-block-end:1rem;position:relative;margin-top:-1px}#title-block-header .abstract{margin-block-start:1rem}#title-block-header .abstract .abstract-title{font-weight:600}#title-block-header a{text-decoration:none}#title-block-header .author,#title-block-header .date,#title-block-header .doi{margin-block-end:.2rem}#title-block-header .quarto-title-block>div{display:flex}#title-block-header .quarto-title-block>div>h1{flex-grow:1}#title-block-header .quarto-title-block>div>button{flex-shrink:0;height:2.25rem;margin-top:0}tr.header>th>p:last-of-type{margin-bottom:0px}table,table.table{margin-top:.5rem;margin-bottom:.5rem}caption,.table-caption{padding-top:.5rem;padding-bottom:.5rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-top{margin-top:.5rem;margin-bottom:.25rem;text-align:center}figure.quarto-float-tbl figcaption.quarto-float-caption-bottom{padding-top:.25rem;margin-bottom:.5rem;text-align:center}.utterances{max-width:none;margin-left:-8px}iframe{margin-bottom:1em}details{margin-bottom:1em}details[show]{margin-bottom:0}details>summary{color:#6f6f6f}details>summary>p:only-child{display:inline}pre.sourceCode,code.sourceCode{position:relative}dd code:not(.sourceCode),p code:not(.sourceCode){white-space:pre-wrap}code{white-space:pre}@media print{code{white-space:pre-wrap}}pre>code{display:block}pre>code.sourceCode{white-space:pre}pre>code.sourceCode>span>a:first-child::before{text-decoration:none}pre.code-overflow-wrap>code.sourceCode{white-space:pre-wrap}pre.code-overflow-scroll>code.sourceCode{white-space:pre}code a:any-link{color:inherit;text-decoration:none}code a:hover{color:inherit;text-decoration:underline}ul.task-list{padding-left:1em}[data-tippy-root]{display:inline-block}.tippy-content .footnote-back{display:none}.footnote-back{margin-left:.2em}.tippy-content{overflow-x:auto}.quarto-embedded-source-code{display:none}.quarto-unresolved-ref{font-weight:600}.quarto-cover-image{max-width:35%;float:right;margin-left:30px}.cell-output-display .widget-subarea{margin-bottom:1em}.cell-output-display:not(.no-overflow-x),.knitsql-table:not(.no-overflow-x){overflow-x:auto}.panel-input{margin-bottom:1em}.panel-input>div,.panel-input>div>div{display:inline-block;vertical-align:top;padding-right:12px}.panel-input>p:last-child{margin-bottom:0}.layout-sidebar{margin-bottom:1em}.layout-sidebar .tab-content{border:none}.tab-content>.page-columns.active{display:grid}div.sourceCode>iframe{width:100%;height:300px;margin-bottom:-0.5em}a{text-underline-offset:3px}div.ansi-escaped-output{font-family:monospace;display:block}/*! * * ansi colors from IPython notebook's * * we also add `bright-[color]-` synonyms for the `-[color]-intense` classes since * that seems to be what ansi_up emits * -*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-black,.ansi-bright-black-fg{color:#282c36}.ansi-black-intense-black,.ansi-bright-black-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-red,.ansi-bright-red-fg{color:#b22b31}.ansi-red-intense-red,.ansi-bright-red-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-green,.ansi-bright-green-fg{color:#007427}.ansi-green-intense-green,.ansi-bright-green-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-yellow,.ansi-bright-yellow-fg{color:#b27d12}.ansi-yellow-intense-yellow,.ansi-bright-yellow-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-blue,.ansi-bright-blue-fg{color:#0065ca}.ansi-blue-intense-blue,.ansi-bright-blue-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-magenta,.ansi-bright-magenta-fg{color:#a03196}.ansi-magenta-intense-magenta,.ansi-bright-magenta-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-cyan,.ansi-bright-cyan-fg{color:#258f8f}.ansi-cyan-intense-cyan,.ansi-bright-cyan-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-white,.ansi-bright-white-fg{color:#a1a6b2}.ansi-white-intense-white,.ansi-bright-white-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #fff;--quarto-body-color: #222;--quarto-text-muted: #6f6f6f;--quarto-border-color: #bbbbbb;--quarto-border-width: 1px;--quarto-border-radius: 4px}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:relative;float:right;background-color:rgba(0,0,0,0)}input[type=checkbox]{margin-right:.5ch}:root{--mermaid-bg-color: #fff;--mermaid-edge-color: #999;--mermaid-node-fg-color: #222;--mermaid-fg-color: #222;--mermaid-fg-color--lighter: #3c3c3c;--mermaid-fg-color--lightest: #555555;--mermaid-font-family: Source Sans Pro, Helvetica, sans-serif;--mermaid-label-bg-color: #fff;--mermaid-label-fg-color: #468;--mermaid-node-bg-color: rgba(68, 102, 136, 0.1);--mermaid-node-fg-color: #222}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}.panel-tabset [role=tablist]{border-bottom:1px solid #bbb;list-style:none;margin:0;padding:0;width:100%}.panel-tabset [role=tablist] *{-webkit-box-sizing:border-box;box-sizing:border-box}@media(min-width: 30em){.panel-tabset [role=tablist] li{display:inline-block}}.panel-tabset [role=tab]{border:1px solid rgba(0,0,0,0);border-top-color:#bbb;display:block;padding:.5em 1em;text-decoration:none}@media(min-width: 30em){.panel-tabset [role=tab]{border-top-color:rgba(0,0,0,0);display:inline-block;margin-bottom:-1px}}.panel-tabset [role=tab][aria-selected=true]{background-color:#bbb}@media(min-width: 30em){.panel-tabset [role=tab][aria-selected=true]{background-color:rgba(0,0,0,0);border:1px solid #bbb;border-bottom-color:#fff}}@media(min-width: 30em){.panel-tabset [role=tab]:hover:not([aria-selected=true]){border:1px solid #bbb}}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.reveal.center .slide aside,.reveal.center .slide div.aside{position:initial}section.has-light-background,section.has-light-background h1,section.has-light-background h2,section.has-light-background h3,section.has-light-background h4,section.has-light-background h5,section.has-light-background h6{color:#222}section.has-light-background a,section.has-light-background a:hover{color:#2a76dd}section.has-light-background code{color:#4758ab}section.has-dark-background,section.has-dark-background h1,section.has-dark-background h2,section.has-dark-background h3,section.has-dark-background h4,section.has-dark-background h5,section.has-dark-background h6{color:#fff}section.has-dark-background a,section.has-dark-background a:hover{color:#42affa}section.has-dark-background code{color:#ffa07a}#title-slide,div.reveal div.slides section.quarto-title-block{text-align:center}#title-slide .subtitle,div.reveal div.slides section.quarto-title-block .subtitle{margin-bottom:2.5rem}.reveal .slides{text-align:left}.reveal .title-slide h1{font-size:1.6em}.reveal[data-navigation-mode=linear] .title-slide h1{font-size:2.5em}.reveal div.sourceCode{border:1px solid #bbb;border-radius:4px}.reveal pre{width:100%;box-shadow:none;background-color:#fff;border:none;margin:0;font-size:.55em}.reveal code{color:var(--quarto-hl-fu-color);background-color:rgba(0,0,0,0);white-space:pre-wrap}.reveal pre.sourceCode code{background-color:#fff;padding:6px 9px;max-height:500px;white-space:pre}.reveal pre code{background-color:#fff;color:#222}.reveal .column-output-location{display:flex;align-items:stretch}.reveal .column-output-location .column:first-of-type div.sourceCode{height:100%;background-color:#fff}.reveal blockquote{display:block;position:relative;color:#6f6f6f;width:unset;margin:var(--r-block-margin) auto;padding:.625rem 1.75rem;border-left:.25rem solid #6f6f6f;font-style:normal;background:none;box-shadow:none}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:block}.reveal .slide aside,.reveal .slide div.aside{position:absolute;bottom:20px;font-size:0.7em;color:#6f6f6f}.reveal .slide sup{font-size:0.7em}.reveal .slide.scrollable aside,.reveal .slide.scrollable div.aside{position:relative;margin-top:1em}.reveal .slide aside .aside-footnotes{margin-bottom:0}.reveal .slide aside .aside-footnotes li:first-of-type{margin-top:0}.reveal .layout-sidebar{display:flex;width:100%;margin-top:.8em}.reveal .layout-sidebar .panel-sidebar{width:270px}.reveal .layout-sidebar-left .panel-sidebar{margin-right:calc(0.5em*2)}.reveal .layout-sidebar-right .panel-sidebar{margin-left:calc(0.5em*2)}.reveal .layout-sidebar .panel-fill,.reveal .layout-sidebar .panel-center,.reveal .layout-sidebar .panel-tabset{flex:1}.reveal .panel-input,.reveal .panel-sidebar{font-size:.5em;padding:.5em;border-style:solid;border-color:#bbb;border-width:1px;border-radius:4px;background-color:#f8f9fa}.reveal .panel-sidebar :first-child,.reveal .panel-fill :first-child{margin-top:0}.reveal .panel-sidebar :last-child,.reveal .panel-fill :last-child{margin-bottom:0}.panel-input>div,.panel-input>div>div{vertical-align:middle;padding-right:1em}.reveal p,.reveal .slides section,.reveal .slides section>section{line-height:1.3}.reveal.smaller .slides section,.reveal .slides section.smaller,.reveal .slides section .callout{font-size:0.7em}.reveal.smaller .slides section section{font-size:inherit}.reveal.smaller .slides h1,.reveal .slides section.smaller h1{font-size:calc(2.5em/0.7)}.reveal.smaller .slides h2,.reveal .slides section.smaller h2{font-size:calc(1.6em/0.7)}.reveal.smaller .slides h3,.reveal .slides section.smaller h3{font-size:calc(1.3em/0.7)}.reveal .columns>.column>:not(ul,ol){margin-left:.25em;margin-right:.25em}.reveal .columns>.column:first-child>:not(ul,ol){margin-right:.5em;margin-left:0}.reveal .columns>.column:last-child>:not(ul,ol){margin-right:0;margin-left:.5em}.reveal .slide-number{color:#5692e4;background-color:#fff}.reveal .footer{color:#6f6f6f}.reveal .footer a{color:#2a76dd}.reveal .footer.has-dark-background{color:#fff}.reveal .footer.has-dark-background a{color:#7bc6fa}.reveal .footer.has-light-background{color:#505050}.reveal .footer.has-light-background a{color:#6a9bdd}.reveal .slide-number{color:#6f6f6f}.reveal .slide-number.has-dark-background{color:#fff}.reveal .slide-number.has-light-background{color:#505050}.reveal .slide figure>figcaption,.reveal .slide img.stretch+p.caption,.reveal .slide img.r-stretch+p.caption{font-size:0.7em}@media screen and (min-width: 500px){.reveal .controls[data-controls-layout=edges] .navigate-left{left:.2em}.reveal .controls[data-controls-layout=edges] .navigate-right{right:.2em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.4em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:2.3em}}.tippy-box[data-theme~=light-border]{background-color:#fff;color:#222;border-radius:4px;border:solid 1px #6f6f6f;font-size:.6em}.tippy-box[data-theme~=light-border] .tippy-arrow{color:#6f6f6f}.tippy-box[data-placement^=bottom]>.tippy-content{padding:7px 10px;z-index:1}.reveal .callout.callout-style-simple .callout-body,.reveal .callout.callout-style-default .callout-body,.reveal .callout.callout-style-simple div.callout-title,.reveal .callout.callout-style-default div.callout-title{font-size:inherit}.reveal .callout.callout-style-default .callout-icon::before,.reveal .callout.callout-style-simple .callout-icon::before{height:2rem;width:2rem;background-size:2rem 2rem}.reveal .callout.callout-titled .callout-title p{margin-top:.5em}.reveal .callout.callout-titled .callout-icon::before{margin-top:1rem}.reveal .callout.callout-titled .callout-body>.callout-content>:last-child{margin-bottom:1rem}.reveal .panel-tabset [role=tab]{padding:.25em .7em}.reveal .slide-menu-button .fa-bars::before{background-image:url('data:image/svg+xml,')}.reveal .slide-chalkboard-buttons .fa-easel2::before{background-image:url('data:image/svg+xml,')}.reveal .slide-chalkboard-buttons .fa-brush::before{background-image:url('data:image/svg+xml,')}/*! light */.reveal ol[type=a]{list-style-type:lower-alpha}.reveal ol[type=a s]{list-style-type:lower-alpha}.reveal ol[type=A s]{list-style-type:upper-alpha}.reveal ol[type=i]{list-style-type:lower-roman}.reveal ol[type=i s]{list-style-type:lower-roman}.reveal ol[type=I s]{list-style-type:upper-roman}.reveal ol[type="1"]{list-style-type:decimal}.reveal ul.task-list{list-style:none}.reveal ul.task-list li input[type=checkbox]{width:2em;height:2em;margin:0 1em .5em -1.6em;vertical-align:middle}div.cell-output-display div.pagedtable-wrapper table.table{font-size:.6em}.reveal .code-annotation-container-hidden{display:none}.reveal code.sourceCode button.code-annotation-anchor,.reveal code.sourceCode .code-annotation-anchor{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;font-size:.7em;line-height:1.2em;margin-top:2px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none}.reveal code.sourceCode button.code-annotation-anchor{cursor:pointer}.reveal code.sourceCode a.code-annotation-anchor{text-align:center;vertical-align:middle;text-decoration:none;cursor:default;height:1.2em;width:1.2em}.reveal code.sourceCode.fragment a.code-annotation-anchor{left:auto}.reveal #code-annotation-line-highlight-gutter{width:100%;border-top:solid var(--quarto-hl-co-color) 1px;border-bottom:solid var(--quarto-hl-co-color) 1px;z-index:2}.reveal #code-annotation-line-highlight{margin-left:-8em;width:calc(100% + 4em);border-top:solid var(--quarto-hl-co-color) 1px;border-bottom:solid var(--quarto-hl-co-color) 1px;z-index:2;margin-bottom:-2px}.reveal code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#fff;font-weight:bolder}.reveal pre.code-annotation-code{padding-top:0;padding-bottom:0}.reveal pre.code-annotation-code code{z-index:3;padding-left:0px}.reveal dl.code-annotation-container-grid{margin-left:.1em}.reveal dl.code-annotation-container-grid dt{margin-top:.65rem;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;border:solid #222 1px;border-radius:50%;height:1.3em;width:1.3em;line-height:1.3em;font-size:.5em;text-align:center;vertical-align:middle;text-decoration:none}.reveal dl.code-annotation-container-grid dd{margin-left:.25em}.reveal .scrollable ol li:first-child:nth-last-child(n+10),.reveal .scrollable ol li:first-child:nth-last-child(n+10)~li{margin-left:1em}html.print-pdf .reveal .slides .pdf-page:last-child{page-break-after:avoid}.reveal .quarto-title-block .quarto-title-authors{display:flex;justify-content:center}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author{padding-left:.5em;padding-right:.5em}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:hover,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:visited,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:active{color:inherit;text-decoration:none}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-name{margin-bottom:.1rem}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-email{margin-top:0px;margin-bottom:.4em;font-size:.6em}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-orcid img{margin-bottom:4px}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-affiliation{font-size:.7em;margin-top:0px;margin-bottom:8px}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-affiliation:first{margin-top:12px}/*# sourceMappingURL=f95d2bded9c28492b788fe14c3e9f347.css.map */ +*/.ansi-black-fg{color:#3e424d}.ansi-black-bg{background-color:#3e424d}.ansi-black-intense-black,.ansi-bright-black-fg{color:#282c36}.ansi-black-intense-black,.ansi-bright-black-bg{background-color:#282c36}.ansi-red-fg{color:#e75c58}.ansi-red-bg{background-color:#e75c58}.ansi-red-intense-red,.ansi-bright-red-fg{color:#b22b31}.ansi-red-intense-red,.ansi-bright-red-bg{background-color:#b22b31}.ansi-green-fg{color:#00a250}.ansi-green-bg{background-color:#00a250}.ansi-green-intense-green,.ansi-bright-green-fg{color:#007427}.ansi-green-intense-green,.ansi-bright-green-bg{background-color:#007427}.ansi-yellow-fg{color:#ddb62b}.ansi-yellow-bg{background-color:#ddb62b}.ansi-yellow-intense-yellow,.ansi-bright-yellow-fg{color:#b27d12}.ansi-yellow-intense-yellow,.ansi-bright-yellow-bg{background-color:#b27d12}.ansi-blue-fg{color:#208ffb}.ansi-blue-bg{background-color:#208ffb}.ansi-blue-intense-blue,.ansi-bright-blue-fg{color:#0065ca}.ansi-blue-intense-blue,.ansi-bright-blue-bg{background-color:#0065ca}.ansi-magenta-fg{color:#d160c4}.ansi-magenta-bg{background-color:#d160c4}.ansi-magenta-intense-magenta,.ansi-bright-magenta-fg{color:#a03196}.ansi-magenta-intense-magenta,.ansi-bright-magenta-bg{background-color:#a03196}.ansi-cyan-fg{color:#60c6c8}.ansi-cyan-bg{background-color:#60c6c8}.ansi-cyan-intense-cyan,.ansi-bright-cyan-fg{color:#258f8f}.ansi-cyan-intense-cyan,.ansi-bright-cyan-bg{background-color:#258f8f}.ansi-white-fg{color:#c5c1b4}.ansi-white-bg{background-color:#c5c1b4}.ansi-white-intense-white,.ansi-bright-white-fg{color:#a1a6b2}.ansi-white-intense-white,.ansi-bright-white-bg{background-color:#a1a6b2}.ansi-default-inverse-fg{color:#fff}.ansi-default-inverse-bg{background-color:#000}.ansi-bold{font-weight:bold}.ansi-underline{text-decoration:underline}:root{--quarto-body-bg: #fff;--quarto-body-color: #222;--quarto-text-muted: #6f6f6f;--quarto-border-color: #bbbbbb;--quarto-border-width: 1px;--quarto-border-radius: 4px}table.gt_table{color:var(--quarto-body-color);font-size:1em;width:100%;background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_column_spanner_outer{color:var(--quarto-body-color);background-color:rgba(0,0,0,0);border-top-width:inherit;border-bottom-width:inherit;border-color:var(--quarto-border-color)}table.gt_table th.gt_col_heading{color:var(--quarto-body-color);font-weight:bold;background-color:rgba(0,0,0,0)}table.gt_table thead.gt_col_headings{border-bottom:1px solid currentColor;border-top-width:inherit;border-top-color:var(--quarto-border-color)}table.gt_table thead.gt_col_headings:not(:first-child){border-top-width:1px;border-top-color:var(--quarto-border-color)}table.gt_table td.gt_row{border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-width:0px}table.gt_table tbody.gt_table_body{border-top-width:1px;border-bottom-width:1px;border-bottom-color:var(--quarto-border-color);border-top-color:currentColor}div.columns{display:initial;gap:initial}div.column{display:inline-block;overflow-x:initial;vertical-align:top;width:50%}.code-annotation-tip-content{word-wrap:break-word}.code-annotation-container-hidden{display:none !important}dl.code-annotation-container-grid{display:grid;grid-template-columns:min-content auto}dl.code-annotation-container-grid dt{grid-column:1}dl.code-annotation-container-grid dd{grid-column:2}pre.sourceCode.code-annotation-code{padding-right:0}code.sourceCode .code-annotation-anchor{z-index:100;position:relative;float:right;background-color:rgba(0,0,0,0)}input[type=checkbox]{margin-right:.5ch}:root{--mermaid-bg-color: #fff;--mermaid-edge-color: #999;--mermaid-node-fg-color: #222;--mermaid-fg-color: #222;--mermaid-fg-color--lighter: #3c3c3c;--mermaid-fg-color--lightest: #555555;--mermaid-font-family: Source Sans Pro, Helvetica, sans-serif;--mermaid-label-bg-color: #fff;--mermaid-label-fg-color: #468;--mermaid-node-bg-color: rgba(68, 102, 136, 0.1);--mermaid-node-fg-color: #222}@media print{:root{font-size:11pt}#quarto-sidebar,#TOC,.nav-page{display:none}.page-columns .content{grid-column-start:page-start}.fixed-top{position:relative}.panel-caption,.figure-caption,figcaption{color:#666}}.code-copy-button{position:absolute;top:0;right:0;border:0;margin-top:5px;margin-right:5px;background-color:rgba(0,0,0,0);z-index:3}.code-copy-button:focus{outline:none}.code-copy-button-tooltip{font-size:.75em}pre.sourceCode:hover>.code-copy-button>.bi::before{display:inline-block;height:1rem;width:1rem;content:"";vertical-align:-0.125em;background-image:url('data:image/svg+xml,');background-repeat:no-repeat;background-size:1rem 1rem}pre.sourceCode:hover>.code-copy-button-checked>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button:hover>.bi::before{background-image:url('data:image/svg+xml,')}pre.sourceCode:hover>.code-copy-button-checked:hover>.bi::before{background-image:url('data:image/svg+xml,')}.panel-tabset [role=tablist]{border-bottom:1px solid #bbb;list-style:none;margin:0;padding:0;width:100%}.panel-tabset [role=tablist] *{-webkit-box-sizing:border-box;box-sizing:border-box}@media(min-width: 30em){.panel-tabset [role=tablist] li{display:inline-block}}.panel-tabset [role=tab]{border:1px solid rgba(0,0,0,0);border-top-color:#bbb;display:block;padding:.5em 1em;text-decoration:none}@media(min-width: 30em){.panel-tabset [role=tab]{border-top-color:rgba(0,0,0,0);display:inline-block;margin-bottom:-1px}}.panel-tabset [role=tab][aria-selected=true]{background-color:#bbb}@media(min-width: 30em){.panel-tabset [role=tab][aria-selected=true]{background-color:rgba(0,0,0,0);border:1px solid #bbb;border-bottom-color:#fff}}@media(min-width: 30em){.panel-tabset [role=tab]:hover:not([aria-selected=true]){border:1px solid #bbb}}.code-with-filename .code-with-filename-file{margin-bottom:0;padding-bottom:2px;padding-top:2px;padding-left:.7em;border:var(--quarto-border-width) solid var(--quarto-border-color);border-radius:var(--quarto-border-radius);border-bottom:0;border-bottom-left-radius:0%;border-bottom-right-radius:0%}.code-with-filename div.sourceCode,.reveal .code-with-filename div.sourceCode{margin-top:0;border-top-left-radius:0%;border-top-right-radius:0%}.code-with-filename .code-with-filename-file pre{margin-bottom:0}.code-with-filename .code-with-filename-file{background-color:rgba(219,219,219,.8)}.quarto-dark .code-with-filename .code-with-filename-file{background-color:#555}.code-with-filename .code-with-filename-file strong{font-weight:400}.reveal.center .slide aside,.reveal.center .slide div.aside{position:initial}section.has-light-background,section.has-light-background h1,section.has-light-background h2,section.has-light-background h3,section.has-light-background h4,section.has-light-background h5,section.has-light-background h6{color:#222}section.has-light-background a,section.has-light-background a:hover{color:#2a76dd}section.has-light-background code{color:#4758ab}section.has-dark-background,section.has-dark-background h1,section.has-dark-background h2,section.has-dark-background h3,section.has-dark-background h4,section.has-dark-background h5,section.has-dark-background h6{color:#fff}section.has-dark-background a,section.has-dark-background a:hover{color:#42affa}section.has-dark-background code{color:#ffa07a}#title-slide,div.reveal div.slides section.quarto-title-block{text-align:center}#title-slide .subtitle,div.reveal div.slides section.quarto-title-block .subtitle{margin-bottom:2.5rem}.reveal .slides{text-align:left}.reveal .title-slide h1{font-size:1.6em}.reveal[data-navigation-mode=linear] .title-slide h1{font-size:2.5em}.reveal div.sourceCode{border:1px solid #bbb;border-radius:4px}.reveal pre{width:100%;box-shadow:none;background-color:#fff;border:none;margin:0;font-size:.55em}.reveal .code-with-filename .code-with-filename-file pre{background-color:unset}.reveal code{color:var(--quarto-hl-fu-color);background-color:rgba(0,0,0,0);white-space:pre-wrap}.reveal pre.sourceCode code{background-color:#fff;padding:6px 9px;max-height:500px;white-space:pre}.reveal pre code{background-color:#fff;color:#222}.reveal .column-output-location{display:flex;align-items:stretch}.reveal .column-output-location .column:first-of-type div.sourceCode{height:100%;background-color:#fff}.reveal blockquote{display:block;position:relative;color:#6f6f6f;width:unset;margin:var(--r-block-margin) auto;padding:.625rem 1.75rem;border-left:.25rem solid #6f6f6f;font-style:normal;background:none;box-shadow:none}.reveal blockquote p:first-child,.reveal blockquote p:last-child{display:block}.reveal .slide aside,.reveal .slide div.aside{position:absolute;bottom:20px;font-size:0.7em;color:#6f6f6f}.reveal .slide sup{font-size:0.7em}.reveal .slide.scrollable aside,.reveal .slide.scrollable div.aside{position:relative;margin-top:1em}.reveal .slide aside .aside-footnotes{margin-bottom:0}.reveal .slide aside .aside-footnotes li:first-of-type{margin-top:0}.reveal .layout-sidebar{display:flex;width:100%;margin-top:.8em}.reveal .layout-sidebar .panel-sidebar{width:270px}.reveal .layout-sidebar-left .panel-sidebar{margin-right:calc(0.5em*2)}.reveal .layout-sidebar-right .panel-sidebar{margin-left:calc(0.5em*2)}.reveal .layout-sidebar .panel-fill,.reveal .layout-sidebar .panel-center,.reveal .layout-sidebar .panel-tabset{flex:1}.reveal .panel-input,.reveal .panel-sidebar{font-size:.5em;padding:.5em;border-style:solid;border-color:#bbb;border-width:1px;border-radius:4px;background-color:#f8f9fa}.reveal .panel-sidebar :first-child,.reveal .panel-fill :first-child{margin-top:0}.reveal .panel-sidebar :last-child,.reveal .panel-fill :last-child{margin-bottom:0}.panel-input>div,.panel-input>div>div{vertical-align:middle;padding-right:1em}.reveal p,.reveal .slides section,.reveal .slides section>section{line-height:1.3}.reveal.smaller .slides section,.reveal .slides section.smaller,.reveal .slides section .callout{font-size:0.7em}.reveal.smaller .slides section section{font-size:inherit}.reveal.smaller .slides h1,.reveal .slides section.smaller h1{font-size:calc(2.5em/0.7)}.reveal.smaller .slides h2,.reveal .slides section.smaller h2{font-size:calc(1.6em/0.7)}.reveal.smaller .slides h3,.reveal .slides section.smaller h3{font-size:calc(1.3em/0.7)}.reveal .columns>.column>:not(ul,ol){margin-left:.25em;margin-right:.25em}.reveal .columns>.column:first-child>:not(ul,ol){margin-right:.5em;margin-left:0}.reveal .columns>.column:last-child>:not(ul,ol){margin-right:0;margin-left:.5em}.reveal .slide-number{color:#5692e4;background-color:#fff}.reveal .footer{color:#6f6f6f}.reveal .footer a{color:#2a76dd}.reveal .footer.has-dark-background{color:#fff}.reveal .footer.has-dark-background a{color:#7bc6fa}.reveal .footer.has-light-background{color:#505050}.reveal .footer.has-light-background a{color:#6a9bdd}.reveal .slide-number{color:#6f6f6f}.reveal .slide-number.has-dark-background{color:#fff}.reveal .slide-number.has-light-background{color:#505050}.reveal .slide figure>figcaption,.reveal .slide img.stretch+p.caption,.reveal .slide img.r-stretch+p.caption{font-size:0.7em}@media screen and (min-width: 500px){.reveal .controls[data-controls-layout=edges] .navigate-left{left:.2em}.reveal .controls[data-controls-layout=edges] .navigate-right{right:.2em}.reveal .controls[data-controls-layout=edges] .navigate-up{top:.4em}.reveal .controls[data-controls-layout=edges] .navigate-down{bottom:2.3em}}.tippy-box[data-theme~=light-border]{background-color:#fff;color:#222;border-radius:4px;border:solid 1px #6f6f6f;font-size:.6em}.tippy-box[data-theme~=light-border] .tippy-arrow{color:#6f6f6f}.tippy-box[data-placement^=bottom]>.tippy-content{padding:7px 10px;z-index:1}.reveal .callout.callout-style-simple .callout-body,.reveal .callout.callout-style-default .callout-body,.reveal .callout.callout-style-simple div.callout-title,.reveal .callout.callout-style-default div.callout-title{font-size:inherit}.reveal .callout.callout-style-default .callout-icon::before,.reveal .callout.callout-style-simple .callout-icon::before{height:2rem;width:2rem;background-size:2rem 2rem}.reveal .callout.callout-titled .callout-title p{margin-top:.5em}.reveal .callout.callout-titled .callout-icon::before{margin-top:1rem}.reveal .callout.callout-titled .callout-body>.callout-content>:last-child{margin-bottom:1rem}.reveal .panel-tabset [role=tab]{padding:.25em .7em}.reveal .slide-menu-button .fa-bars::before{background-image:url('data:image/svg+xml,')}.reveal .slide-chalkboard-buttons .fa-easel2::before{background-image:url('data:image/svg+xml,')}.reveal .slide-chalkboard-buttons .fa-brush::before{background-image:url('data:image/svg+xml,')}/*! light */.reveal ol[type=a]{list-style-type:lower-alpha}.reveal ol[type=a s]{list-style-type:lower-alpha}.reveal ol[type=A s]{list-style-type:upper-alpha}.reveal ol[type=i]{list-style-type:lower-roman}.reveal ol[type=i s]{list-style-type:lower-roman}.reveal ol[type=I s]{list-style-type:upper-roman}.reveal ol[type="1"]{list-style-type:decimal}.reveal ul.task-list{list-style:none}.reveal ul.task-list li input[type=checkbox]{width:2em;height:2em;margin:0 1em .5em -1.6em;vertical-align:middle}div.cell-output-display div.pagedtable-wrapper table.table{font-size:.6em}.reveal .code-annotation-container-hidden{display:none}.reveal code.sourceCode button.code-annotation-anchor,.reveal code.sourceCode .code-annotation-anchor{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;color:var(--quarto-hl-co-color);border:solid var(--quarto-hl-co-color) 1px;border-radius:50%;font-size:.7em;line-height:1.2em;margin-top:2px;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none}.reveal code.sourceCode button.code-annotation-anchor{cursor:pointer}.reveal code.sourceCode a.code-annotation-anchor{text-align:center;vertical-align:middle;text-decoration:none;cursor:default;height:1.2em;width:1.2em}.reveal code.sourceCode.fragment a.code-annotation-anchor{left:auto}.reveal #code-annotation-line-highlight-gutter{width:100%;border-top:solid var(--quarto-hl-co-color) 1px;border-bottom:solid var(--quarto-hl-co-color) 1px;z-index:2}.reveal #code-annotation-line-highlight{margin-left:-8em;width:calc(100% + 4em);border-top:solid var(--quarto-hl-co-color) 1px;border-bottom:solid var(--quarto-hl-co-color) 1px;z-index:2;margin-bottom:-2px}.reveal code.sourceCode .code-annotation-anchor.code-annotation-active{background-color:var(--quarto-hl-normal-color, #aaaaaa);border:solid var(--quarto-hl-normal-color, #aaaaaa) 1px;color:#fff;font-weight:bolder}.reveal pre.code-annotation-code{padding-top:0;padding-bottom:0}.reveal pre.code-annotation-code code{z-index:3;padding-left:0px}.reveal dl.code-annotation-container-grid{margin-left:.1em}.reveal dl.code-annotation-container-grid dt{margin-top:.65rem;font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;border:solid #222 1px;border-radius:50%;height:1.3em;width:1.3em;line-height:1.3em;font-size:.5em;text-align:center;vertical-align:middle;text-decoration:none}.reveal dl.code-annotation-container-grid dd{margin-left:.25em}.reveal .scrollable ol li:first-child:nth-last-child(n+10),.reveal .scrollable ol li:first-child:nth-last-child(n+10)~li{margin-left:1em}html.print-pdf .reveal .slides .pdf-page:last-child{page-break-after:avoid}.reveal .quarto-title-block .quarto-title-authors{display:flex;justify-content:center}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author{padding-left:.5em;padding-right:.5em}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:hover,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:visited,.reveal .quarto-title-block .quarto-title-authors .quarto-title-author a:active{color:inherit;text-decoration:none}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-name{margin-bottom:.1rem}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-email{margin-top:0px;margin-bottom:.4em;font-size:.6em}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-author-orcid img{margin-bottom:4px}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-affiliation{font-size:.7em;margin-top:0px;margin-bottom:8px}.reveal .quarto-title-block .quarto-title-authors .quarto-title-author .quarto-title-affiliation:first{margin-top:12px}/*# sourceMappingURL=f95d2bded9c28492b788fe14c3e9f347.css.map */ diff --git a/_site/index.html b/_site/index.html index 34ec940..90a6c08 100644 --- a/_site/index.html +++ b/_site/index.html @@ -2,7 +2,7 @@ - + @@ -86,7 +86,7 @@
- -
+
@@ -352,18 +352,7 @@

Acknowledgements

} return false; } - const clipboard = new window.ClipboardJS('.code-copy-button', { - text: function(trigger) { - const codeEl = trigger.previousElementSibling.cloneNode(true); - for (const childEl of codeEl.children) { - if (isCodeAnnotation(childEl)) { - childEl.remove(); - } - } - return codeEl.innerText; - } - }); - clipboard.on('success', function(e) { + const onCopySuccess = function(e) { // button target const button = e.trigger; // don't keep focus @@ -395,7 +384,29 @@

Acknowledgements

}, 1000); // clear code selection e.clearSelection(); + } + const getTextToCopy = function(trigger) { + const codeEl = trigger.previousElementSibling.cloneNode(true); + for (const childEl of codeEl.children) { + if (isCodeAnnotation(childEl)) { + childEl.remove(); + } + } + return codeEl.innerText; + } + const clipboard = new window.ClipboardJS('.code-copy-button:not([data-in-quarto-modal])', { + text: getTextToCopy }); + clipboard.on('success', onCopySuccess); + if (window.document.getElementById('quarto-embedded-source-code-modal')) { + // For code content inside modals, clipBoardJS needs to be initialized with a container option + // TODO: Check when it could be a function (https://github.com/zenorocha/clipboard.js/issues/860) + const clipboardModal = new window.ClipboardJS('.code-copy-button[data-in-quarto-modal]', { + text: getTextToCopy, + container: window.document.getElementById('quarto-embedded-source-code-modal') + }); + clipboardModal.on('success', onCopySuccess); + } var localhostRegex = new RegExp(/^(?:http|https):\/\/localhost\:?[0-9]*\//); var mailtoRegex = new RegExp(/^mailto:/); var filterRegex = new RegExp('/' + window.location.host + '/'); @@ -403,7 +414,7 @@

Acknowledgements

return filterRegex.test(href) || localhostRegex.test(href) || mailtoRegex.test(href); } // Inspect non-navigation links and adorn them if external - var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool)'); + var links = window.document.querySelectorAll('a[href]:not(.nav-link):not(.navbar-brand):not(.toc-action):not(.sidebar-link):not(.sidebar-item-toggle):not(.pagination-link):not(.no-external):not([aria-hidden]):not(.dropdown-item):not(.quarto-navigation-tool):not(.about-link)'); for (var i=0; i - + -Big Data in R with Arrow - License +License – Big Data in R with Arrow