From 271a19bd2cfeb1086d667d759c7bf531df766b8b Mon Sep 17 00:00:00 2001 From: Kevin Froman Date: Mon, 20 Apr 2020 06:15:19 -0500 Subject: [PATCH] fixes and added images --- README.md | 31 +++++++++++++++++++++++++++++++ dummy.png | Bin 0 -> 58496 bytes no-dummy.png | Bin 0 -> 74410 bytes setup.py | 9 ++++++++- src/yam.py | 29 +++++++++++++++++++---------- src/youandme/client.py | 7 ++++++- src/youandme/server.py | 12 ++++++++++-- 7 files changed, 74 insertions(+), 14 deletions(-) create mode 100644 dummy.png create mode 100644 no-dummy.png diff --git a/README.md b/README.md index e69de29..0865727 100644 --- a/README.md +++ b/README.md @@ -0,0 +1,31 @@ +# youandme + +Python library to share data anonymously and securely* with limited traffic metadata. + +\* The ID one connects to a host with must be shared via a secure (private, authenticated) channel. + +`$ pip install youandme` + +# why + +In normal socket connections, Eve can see when Alex and Bob communicate and the size of their communications. + +This library sends continuous streams of data even when no information is being communicated, in order to increase unobservability of transmission times and packet sizes. + +Anonymity and encryption is provided via Tor onion services, though this library could easily be adapted to use plaintext (and encryption by an application) or + + +# security + +As stated above, this library does no authentication. However, if the ID is shared privately and safely, the tunnel will have roughly the security of a Tor v3 onion service, with increased metadata unobservability. + + +## What an attacker sees in a normal Tor connection + +![](no-dummy.png) + + +## What an attacker sees in a youandme connection + + +![](dummy.png) \ No newline at end of file diff --git a/dummy.png b/dummy.png new file mode 100644 index 0000000000000000000000000000000000000000..60b12021be135ba9e456471b3addb4427300c7b0 GIT binary patch literal 58496 zcmdSBbySt>^EQs6U=RjMNvI%7cc&5p0!lYXH_}}PK^g=B0cq)ymIg`bMp~sdxk0+$ z*&IEe^NqEBfBoLI-e-AWAK3eO?tAWuYp$8W|GBgn_7$QlXlQ8I;!lNT(ap^Qx`OnRXks-Y8l(IvEh&kFCD$3nBXOUvP>fXK!(ieO1W08>u7(!>@M<_QFFkp{QUeBIn;X-&)(>1 zUE{o+E$DS#ER-~o%wn`iBu%#F_>R74qK>8P1gNNkgN%C2;i?}m0Gv?;z z1O5FJ;$xL|rjgVNon2jdxw!{hi#Euq8r*~*Uwp2vt*!Z7#qW;i*&WgH;Io+ce7K8T zeo$SeqN@1I1 zHu+t*va)*l@?~LRVK5P!^U2XZPl15Pi7V`8b!7!^ZN0lTX+B<-mY(kW`n8^bf5K>9J+1}xp$nQoiE^BMMoXj)Ku6hyhF&;bou1?u;W}45 zwL55@b}-bHm<*XrRXc@*ggE`0-9K0^$dE|{!5{9{jbimnf8gx<`gL)+pe}*KQu822 ztHznlasB(z{$@0t8apeiyt{S(M{(F+aY+fSQvO7tZYza&<*OfGK8i<7or>PLaf91# zNl#y2p-AuRXt80&DOP-Zyvr71ql;sjlbbs|u}s+i#!V{eT!kD(pDVWxc2?uU!^7Q4 zSy)(X&MrAQx&4^>dO;T#7fHzuo#p^K&1&WFk6m#bN;!&ox~(BmQBiR2YRbyrN=-+Y z_wIt`*MII~#y~@RUgEsHM8fC11yaK$<^Ak&>YgDT59dcIaCC^Qn~T~Q$GOA#eQ}YH zgoF<^<$se(R9IM8R8+IdesyD}6>c6$VZ4Rt%Tq0_gb$mUt<-y=&pGh9AML@3L^Ehj zRXHHP73#v7!wIUYjy3t;ym{kBcLJXasQv!tLI;EU-ujPX!ybC|&!60n54M&;_eWY= z7uJ6?YPs*vwbn+%U3`6g+0DncI%8Pi%$9qTpBzMk?PzFdczb(KySu5Xsy=<%HqOxT zJ+6y9Pa-WKC2iwbHA$L?Nto60Ela5@UK7Cr}e%zfXAmFlN zwqH_|Di-SN;}g&0K+n(bK2~D9*u!Buock<>nS{r_+I7F^=vhw!pHhKl{JVEsJp!j~ zr|t}JEO58|9BZ}HpUr_}hcRFk^@!gGu{4yEk)956*=c)w-)?D;iGzbdDgVRKC&!JS z$X!D?$+65A_r=5IsfYU0Br~Mq40LrPcpTO)-+XYizmOPC5fdA$Sz$dl-xX(IV8CWF z7&aXl6~*p$umuOci)-_JKki)EJwXot2HPw6t{l*RLzMxH5I^@X$HQHe8S6 z?U7(&4pMI0Ot4)-SBC4?uWNZ6m!_rZ>*(m@t5-}_SSIA6&FWPWP#5BH-vP(kI$fqdPuHHF)c0a%F2rS(T3Q*A&s~! z=o>gWI&s-zgRXq7x`cP{C*sv#o^1%ap`OmLj?vsQ5r>Cd?l93Ik0EfEEV!PPi+}BqKelbU>z#YsURD)7n zRvUFC#m8%SV_-`s@IDfk1!pG zR@%+IAu}V)C^+f@LrQ+^1BXRQg1Yh)bHGhJd-f~%U@^m?MWWgg<=)lG-ce*pL{fv}M8({L z=mY@|(redxKU>W>)JFSa6Q?tL2S-^D92^XvKAbkgFisTkNSHbb_V@qlNK%rKVW_94 z_v~3GNR6NKi?V^CA-JPjkCT0|lhKx@rVAG@>L1l~6!Y^(H8eF*fWW}hg;QiH=Bc{u ztcX8*X4e1FpO>x@P2$^|kZU^)wm65uFmKv-H8)@k6t!zqTc z-JE$K8gS`yva%?j z4Tl3(=1%)kUS3{UxTzzW0d?XGTKxM|n+@aBUzY>l;F6u}ZOn`mXo-o4h=__BtZ%-h zFa}e+eEIS&aypUQF8jk>YHDguPEIDKjh)qTO-)VMkF>Njcu?5nILIDUP9gL8U9Kms zAtW*%IDa6Kr?X!pAe0X0sg(n|BGkeGX^IB@tzkpi3d@TF84%Psn3&#DeC_Wq0&fOk z5L_Q&oz<7umqC+qwCdbzUH6IDOem&V=xAwkWz!_!Evw_@a0>bd`KhSrV66(7o12S6 z!o9U~MMnkv-u-*`z<-(yW$POokEVzOR@yDQzdA;?_Rn`j7d-a4LMa(#Hk>;OVx1dp zCEG%syT?)C^W?|iO+0p1MnPXchEAMF15(@H2agj)qm&Q7g~$z2S*S%IkzS+Hb$8N1 zzaxrHtG1dqa3A)6Uo_~UN|7GuJ^&-oI<+K0uac4ycorVSBKY|7aNg$jb|giX-q-Lr zc5@G%!(^QZRdq&JG0Y`NITs1z;Eiy3~$9&05zA@N7sdso|O%loBfw z6~%BsI=b-Add^Sn1n|8jNwdZo8AJ^r18tqqIskP%Xh!uA)kVZmFN4l`KSF&+U6zdR z{{Z%N3_8?ZP***1Nf4~z?6T}dp_Q|%TBrkcf7JE=&YNF`(dkA?P;&p-Cc#~Avwsqh z60ftY1GS^?*s3j_H^4>$LeK;mo@1l6Wn!S|$)lq&XM26g>hJFtHf&>#Y$wn5k-{f~r8ycGUR79`PxaT9KT4vlaK z?e{02b9#SRuh&N9cBrct-)1uAC|VuxLE1GAAn}A{eNR;ivKJNl?Fb%PWH1@CTOl z7xaI0RghTuzhsO5|8E53{73el$vWPb|8-8N6MpzXNZL`G@#1f>8F?q?|6?jfcj$Bl z{l96S|CctPws*xa>?SF}vp>c)R!{xM<}4}rT$Kx~BHq2j>k}f!`d>c&G`z%ad`GE3 zYqItx4fmzjO#eQ#l4KR)Xq~b$H|MQPjhu7@?X~+Eh(8Cq^?26*rq;VpGysFuU8~`j zz72SuHwq`Q{;jaue@W+WhXe1ZkE3h}rx;aMYi_3U3qgMg7*3+ep5@=#{ZQSxgYzywKRdm&?VU@y z|CWPMZ*yj5)_{STdX;MU$9M1ERR+i15xDVy8?WgfRZOy7lnkO2Z-)@;Q{e>gM(4f| z9?E3@+b$$_>^nG_nfu4axcT`t%_#gHcMv?k2a&k%IvV2Qe~j(naEL}#91llV3`@pQ zFCf3+7H;;CsKUo*NdZc7c&n?FEzHEG%bbdYG`G$U!~)~r=c!+5wK+W5RHcw3FYW;n zy^^sVWo2e&2EH9G1?nLPko}1cc6JKKRF+fKi#<6*OOSBBkBd`+fJz%Q&U{|A;lBwf z!b3YLF0f;~hm(t|uwD6U$rLj?6O-|15h}ZwKJACBJUjw*At$S-1U3)0O&uI|W7$j} zP*7kIv9>igQ$BhmK8|7~P*?M>t60{j(^+^oydS-jTBg$lEO`zcL*B_$-=z`~fY>&G)RW$hV zfR-Et)z(llkM-5;)5sH{hnRO>)t~#HU&3O%F>y&h@Vcc7)l?!qz5-Z;IPHLZup};z z!)hHSo(++iw&uqs!2DaZ%IhF#$VnYfbLi>mr(HL@Krl*qs&g|lfO?(w_aQ|e9UX<# zWI28$N1i(Xn;@sH?P(M)S{MY3lP7;We~Du2?bueCL}%=SAMp!wCcSxv49J&_)QS%o zD2OlI;Cg>AJ|<=qpge^*wN~vBz&6htp>g_?H$AZR1++Q#}3scU*B1(}wQ}!@1Dk@yH{R_9W*gh4Og{11|KE>d|d$004 zM%Ej;?EgxWn>@$}5z$+ZMaO)yyE4vU*kT)>_E$o0;Gegl*|so{_fBr#+|)MD&HMTD zrfmeKv(H(a<3Rscob$AHU1@PB;_!ZCX7=;*as0i1c{oq3YWHJqF0Rqe&d$L>dE489 z$jsAYhlxFZHIDq#S(>^$l|x}+N8sRW!>$~7|BmAI-;Ufi67v)IJa$Maxi2M!9-*I~ zley^(26l@~!aeS*Ne)Nny(cvIxg#Gt=MeQWD?UK^ zGcGPJ|9?XeQ8{d0mtBpSD)n%R5%xUEvC%HI5@p+af}ty;<#jK-55TJ0zq2h4d0Mr! z3;#xF1fg7;^Bfl6l74Yax8b^Mue-htFLEC+D9l1T{((<`SPRcW<+gu2Y$G<@t!pU% z7GzvS=(&>g`;dZ?i0*I_I4^X^uT56g9?$wEzR^5dNSt)p1ye_a@)Q=9TTJG^s8MZU z&}H=bUog@tBw;IvAB07QBbaq#9=)MJF`5i#CeO%wYN~9t$^v8HUgM(wYy0I7v6HP` zEk=hBMLD7AKS71S+oHy~Kx^@^uz+5pM7yj9d8%2P((%-@cH`;g5G$jS&;- zId9SUAbp>?nIUaZszqys$t#iq@aL_NB?o$v&>7x5hZf_d=)G2RkgHK~Z?k|w`BM^- zEO3&?epr)25O*K*VnwNO#8><}4Q#VBjW4-*#W?__Z;-d8+(+xZ`sXfp6}>f&F=*AQ z84bHXs5mRdFx1`Q({W7n5-@snE9uPmo`mX}&<_nRGL*GblG`u+QmJG;4Tcb6;F4sBJuoC z;`1#9K(zA*`uoaaw*)0JCRvhI-JoQ(`?8_y&UJ^>{UNQo9My#_3B?TAr>APz@AY#9 z&s4AJkQ}`i<2SzOB+qUbHXpZH=$_0LvFS>%pZYLbo1>Iiw_a`_bM=w~<%9Xr;@N;( z?S_jQmP+V0Hk;}O2DoH={kE(KhTo-V3rQ@8xUUDZ zG-zbjCRE&Jc!oR`S|pzQ_BV(s5f9ot%~F%#rJ)kHyFiYg=EcR8TMg~_ppmR!#j6C4n-Hc}OBL9f&~Y(H-)SG7IZH-|>& zFZ0yTzd|)+7p0UYiTu!y9(zr1o|910ckE z9UmB+%4dKjl;|zC>wD;($}?Wd{SDa*|gW{lU-?2{y&@XX*KW7E(zM- zIivwvR#Ht(1(b9;3!{vkz0k@kw(Vl0APSiB)!{Ou#V7xExm$TeX1JGt5Y8}NRy@zL zwK#eoLVDvo-FX(Y#0Cb&w#l?E!@A>m6Kx$G+05t3O-)T^3xB=*Q%2kBj(q9^WGE6DZ| z>zP_s+z*i6XxVxcaeN*oYPo2G4pTc*+svrSo858cb|k`xw}+sKX;|?5r6XYbnP2lE?9Z-Hr^-v0)~P*hrJj63#%wiaeRXB=l7Nv{dN{qaHj zkSSF#$EO`rn}zgSH1hAc4D;dB#3x=t7W72QI!8?G?88=8B|*0uo~yN>6?u1M{DW9y zGEKhsm(t*|W98u3)u<7*y(Sn=@%7B{irmjQ&}P$)EVKrK>7C!dKOAPl z=!od4llt&pz=MBMOZC1x(N<%ZS~)cS;yI6IW`CB()1b}$*2B%@oTK2+N^a_4DYJOHq}_+bBP&hInX)#YI7U3D+|>C+VTq)juOh{=MdS1@9~t zgEAYNQU)byj_853Cx^T2Mq|%xuRQG7xJdwO1QDg9W;x zumauTN^z6rB@gd;**8F-A+v(>&KJIu#&b^L!@1ft4PK*V+fWfTblw_ zzuv(|sjGHYj1P`?D_8I(bD0&f{)ezd+1@i5TIAgB>fqrvIqLM)Zw_xBFzBkiaq~X+ zrJy%w&XSle{z!L-+`%Fc>U#X{N6L~TJ_#sId<(fM;u6}{`QNl<`i99T2aomR!`&*| zrOeR*qK9>Kan9Rh@1ZmZcWVIC{dx07w%cJ|RCl5f+o#gPkYL^9!ndiveLpJ$JNw$M z&sD=`@%Om>NV!TpEWOjagfl#u&M2wA;TtnSDgaPf;=X(XcILl23xgalG33;;>n*-7 zdv4T`)OyG@(e5tLnubl_K1K{WIK55kIdv)jhY4XTdcT}X6~!jgEHSz+72j)wM=y^E z^|?Ccut?2)3F{kR2uo`DhXB5J=-&#lCF$p0@Ev1TL~*eawto|}>-l!X>|1Q7X6&&lQHu%3r0W{S2V6C!YU@`x(u}DE3Gk`Dm3Yaf`-; zI`oDk&>II`ap#11z%jq%w3~m{cTc4DQ}Mu#53HBVW}Y@o;I!s&w>19T`LmO&N{r+{ZIW&Zszg5dnJp_AtdTC51@+-fq6Jd0~ z+;qQZG2GcQPVpwl2BaEIt7Wy3=mAU6bb;#9TFs$qx!GOrOT~|Z$j)dx*DL?fc5e1; z>xdzjNeQhk-xsmLri$3aY~1Wok#TzuHKdukKNEdB<1i5qF28>M-w{InUeJ-g*^KXY zd>rd_k|u(|OgRo-R*LAD7zBB*m`3F;0n1obb!sX=ud!|7wW%tO&SfeH1$1X1({nhj z+L6ibptC-nXXx~VhWjd-UE?5(d2^hb#(U)*mBShx@o=fNDNx5-As)}e)QCx>(!%)p-v6c2BKl9EqTZ8MwX%~{ zEX3W-xdRvKbR>DTcxfRaidq4RIjJc__LLHw+?@ z?tQVDZM)0uSIFh?TYa|z(o3bp98ygOxZA1j~ErqzmXP5FE!=CSxJYc0| zvv?#ZRc=`s+g?8O#=T%M9(xi5WzLZh94#L1j{-MswoT-1ZQmXAC$Fy?ZBurfzj)`w zl#GX)6YTY=@GG=>s;!j~5Aa`Gfu+f^%>jIsE?6W?{f5KO`c#tech+z%o)_dNpqzRU zwd$6Ijt)c(iL@K>7gb+|b=axsW9iB1>3u}GG(5DXR3br4ZYNtZ0fV4aZ@2kr>*bwQ zqwTazgwcK?_05}Nm@Z;2F7Or8jjx4mZMBebJwjLP&8bxkh2 z-1gg-Myu3{Gu$ABDp4g#QxwY?>NDA19e22MqUK3^Dpwqhj#fQ$a*S!tH z?LEJ#J@heHPJF(;F`{*Qetw$6gf+=BQN6<2zx(2((?Z!bXPv=sR@=+N=4%u3|9R+W z)4UuCaFk^C)RP_Tu4&Y$D&%QW&NT-jPH&TUoZ5aW_i(|pre|Tv!(hZYldimXRQ{SI zKHb9?)t@cy{eV`H>2f1|ofMNFD@VMP`lnuD;HZ^r_1=Qe5JtUkk!mFqB?eNkJX@ze z8AbH;0Rj#S56p+xJ*X}~)E0CBASr>zkiUxR`KajZ1U5oBOQ(6uFlETZ>C&%+n!}Wo z)WBObI|kTAH8tKfZooE|kbJ#{O8EFyu-*6VzTh4o_A?AqP7j$rdnT{n@y>W{MLln+ zd@Y~8<^cO!v87hWe3yurH~k$h=fRU4Ywk6C$(T%x;o)H@#g9l4AV^W(jG1Po?JWR+ zzu}7DblS&{&*In)_uewzRf;yeQ&nb6Cs6IY8e4tfxSy@iXJR+S>oj-$_OIiu0KC3! zt$H+qn9C6v(D>8l(>&HLVS8tFtjJsq-h_}}`j*9FNUfAzqIXg)q$z+;C;QPPl3L^n zKEKTx@990fF9M8hU1`AxJTh%va}uYc&j`HU+rLr59#&v9eIVyfbY8HXiHXSok~lCV zl~5kt=xb(Sopd6zxNQK3L^QQRrF_=yt`Bo>9CUPHRcd9Hp#h2+HSWhd5A~Y!i!A!Z}0k=Y-UT3x=#H@E)n} z4X=(H8yg4CcjcYB4G3_UJ09&>CI59%WZ^G*UTD23n4y~Qe4l?P>G8_}U5$A8+h@o4 zIj<1H+2`5@pwYIAprzh#u=2DDEKd1r0LTrL9iLC+qO99{Y)daFbMeic3H&>}E(ffA zLd z=FGdp?A-d2QKeMr$@SiA7){HXh##NsHi}`bjFhV_NcV(C#Fd$uo0wGUACECeM&BmE zRxP(b_O04o!`?g)w++L6Dj{KQJiYO1ogYHOEsRl@G=M?9F%T6zv_8H1f#jbfA(=Cj z)vV4O|Fp5;_o}b~twy0#F}`iRk;{f?)}jnLAZsVrDy%l=Pp8FurWzV*@9YwtCyxV* zgf<8s2cyIW(*!=r5b)PSC=a5VSL;gIvXN(wjkB|ZAx~{*BPQqC3BE!yiVl*=QVQ|; z`T2A%8`8_z*GaBaejiSr`9R20ORFIPtDT9UxNi_vqomp*$X>XQ*Y@#8s^~&l8=vvf zXNQEk_1$JdoB3R=QrV}}*eOJUGw$)66(&Q}^m(fOI4OkSjDE#$r3^)<4EFUcNoqwt zy1(lTvH2}TjlOeiz9wjTUk{|>bai#bj(Axmk_vb-}_`OmW;u-pf9wB*A}JYv~;syZ!da za{g#pd}`(O)p%^5D~rva#sJBHRcIktz+oQYQXa(wZbW3rXURW04ykp{oW}Kb+1;|u z*31JLbB&uTvEJV~u(N<(v3$zu=k;^5jWAONU#SWZ9dsa59+ z)_S|`jq!5oiwLwAF3*jkj_?(YV|vbb<2~qis*E8xUs@y*=%>Nf}>hPuC7* zyVG#D5rZFs$IG}a$~qq^C+NR4Fo=rZwA{q?3kV?Ey&6xB&gkAhORbRoxh%cHl2<2R zlVqN6%wyT0Pl*5S&u@jm3DPE2wbf(7(5V-)#!Wz>&q?+Xp zudQQiz6O7>feHJ2oafj{*C7&gyuB~xaSSKO5;cvHg3VAzHgrOxJsl0X{MLw}mz0GNuqfvso0q}XLWh_tRFmR76bjQo=>T)2@ zWYyh4ZsrEw-bRdxX!~{^S!h4ZGk3-KdxdC5?UpPClm0cu>kf%#2@9cfG*BJD*jdhb zEAM%ZDcz}dv`}xFKzWi-Xx^~-=^ zPb{mY)7GoZ|40u_Ppfk%$Gh5h2QihWTV+qg^`rOtRGu2Ud5}|ZQs@nrObcUv%?HJL(TDPm@b$%#q^xReqgrZM zAU;jhN&7i(kFBls%sKfd+N!Pz26-BabXq2+x*)nDO3vBuwco#w4rKV_gg>$)VxKC% z&j?KhDc*vOSVg-M9RzI;Aayexw!Cy{tk5Vy23RTVgtD}p!+w#gDDcx@V{&TLc%V*O~k5MpOCbc6VQL>+O->Y#qh;8(y#eL@t7@ZX4& zUrj=y9ar;7I}i8C%60_QK|g$$=&jh-dijRc-9Qj`vdW{*Z6P0XclA1naNQPSyvMXR zi8_+TALl%I6~uy{6JwP3SRuvLaD*;^l7oJqx>I`P-u}{H%}_JZ76LqN#ErG7)umAu z$6aYKMbq`LWRmgn)0L_(f|fCU&ucRg`xv4qzJB@gGt_63&xNIr zAb`xHRmcMVgAbP7W1(|U5gx`BC~+`K#(IT6Y5oJVE751E-|Z7&FVZbUplUd7>er^r_PI=bNl_MKJrck`H%SZ7t}zMQ%UG z_AC!3-8GF4A)$e$1#UkydGwj*`*D`Me3jTFOtQAu^tvEErb)ObQ*khM>H$AumJ8JY zMziswBab7e_rPI-!DvY;?McV8>mH^{<>#p_uB6O}hF+Pd*gW#7v$Gcwj1~<&wi|mV zo+5`}gKDtGId>_wvfCsV1f%FwD|2nXhSSAzp=uYBsTkYKgV}6OW43)lVHXdIn>aUN zmo%td5;oWuXY?e{sgzY4)L^_Y*?!Gb_o3=l@)M=d;)R~T?u*CaTk9`JNNb=gveasI z30gjv_Li0v4|WLmoDEK-TOdQ{AdD$6XY>&-&R!JV^1bemmNL_ct{j z9EKW+vh}5v%fe!2M+^S!KGOo!z|P9}bd8!)kA(&_SIjO9MbjU%>qh0}buru*o9{`K zF?)*ehUfL{?7Q{xCSIBIS*5N4xJO=)%yU%ce+A9x$u_s${l`zBT|pR=2}>-5bh2cw zM`Y6#fWW%3VNd*~$|s|)D+i{G)B}cH^w5a9fU_!s*+6CXt$Gf+eDA+GrsaM*{4qU! zID2}1w(ma5YXGTOuMJ%?2N{WPPC0Ggr>4&IH727U?1&@rCByZ!@+XL<=TPa~;(VEz zPeJ{MUd;O*gv3rin|`1lUfhBF`ru3VT85AS78#qWHilp^6vcQA-f^#i3H(z)# z9U9km2Ul>K5=D%-upa9WB)+)sn+VbO)C)bu`}@r!bo5Deb>WOQX3zy_+nzeB{umLU z2oNlbs?n+A1|V6Ki)@|LIHJKgfc`%IMgui?Y+SCegC&J03kEAR#u^$)vZ+3h+K$7K@u>9{ZPFZ~oaeIGM-kZnfTCv>7UpL1>| zC^&prtpz5xpyLZ>GJqt6)`;*#*uz|?z=?ADvl!GQ$YvME$;qjQj1zEyLmsN7KN%=I z6$yIX!bZ#|20x1A^fta}4cgh!sQlwX)JsW6r-bCjfiB>V zz$jYm(PA+VQBU!3RwKdFz|$ieC`$ucXG}6db7OR#C>VH9th!^fwT{@~rZZnXz=lYM zH-vU&q*ijoj>fGE#l&0>HPOy>ji!&`b`ynQ2?x-4bpHIL#j%X~ z!QKDbg67W5#XHKF z@?cH?+f=dZJ$G7ls%}*G^UUWB5V){crX89POmgWxj*x{!r975tYHlrG9i)WGKbq*{ zw>;&|8PiE>V1^0&F7{@$bx#{SyJD9Ipe`^uE#7a01^EZ5SnjSuBau?3kFCin9wcnX;L4?H_x_y9U8pe=WZ*i|4_IX0gFS zzaLNDDBq$x7&Xk^6URau;QAe}GQ@yK?1ij;Jcbz98fux!onUg%`CTb0!K zPV2o;)7cNbWCF*$>LBDpdyGiBRI!M;=itt9q;bd&`uBhv=S?)C+h!QXz$t|>Ntc>c4Go4YLYIN89&SH4-#pj7{sGrQ! z-Uwv8_sSjNJ3LU&Rc!thqATXK{3Jn!wAyteMSMmSR@xWAD{6o3`t?4;?@3fL2?%jg zU2f$fGbaGLC}KN;*VmnKC8NRH7pumFxxQYcD#K7WDAYM3!zd^^bwR!&W z>02*17Y9VY6ujltaZ9kv?pj9eQ@DGg)hie|-P?2g!Nl1%EA#->TVAx~+XJ1y@-P7c zb`|yT#l7RNFvww#=oJe82tEZmZa3r0tDU#o+uKc`y%gre+!rLNBSUo1Tc`nDkVWA_ z>ZQ|lfNjcQW&|MAusmNYiasxH*_RY2j@?EP=%{K8-2Sdx$=I;R3agp$9v3ftx~_S5;~*;rS*6%CaSsGOc6MB=D@ngSwel` z`t^kSVmN(5Q;e~Y$oH@EI2_>IDd7nlU#Jc=NxB9aRG?D61{D<`=C=<2^0{~g4>3CV z#5T-9zm}+pio$VgrN(0f$6V|$`pbu=JJ1YSX}bvXl|?Xaw0qbLV|DM}&$hjtfmxEu z9t;A$A9WX}{Db3RH}Sr~P|md9Ka{z{p=gL|t|A&PDEAl%0f#%3Jxy-3Kp(GxA8WmO zuno*1p_KR9eT}b4smHUD!2Uo)*H|5)UcR`5P;-iEDg=l`D;e7D7mb4fkD%NAlOEa(W;i6TxJ{2s}|H zBE62XkS)WIJG{N0oh0`iaPW$N|2$;p#0+c7gN1^PA%P%e)jD<5$4b(rloXL33!(5)5&>eO)MwZBXv zA9SV@I&J(EsUyQ^ovtDNY;FquI3lfI^9498jHX47y6j)eqhlX9%{~O2VH`nKvw5^} z|E09uGD{0}+}gCq_bTUYXm$+1(J28+f^9AOg|oHNvnK^`{KxA9VE|gbZjNs7XM3eM z+OF!vvMjW-nTlY(pg*qOh^Lht@{B6nU}{UQZ(;4&Yx*h&{SpnBxI3#uHrtikULF=O z_w0vw?&)iOVly6Vw@gBE2OzcL0a7#iz@RmMa=@T_X`ooFfHWbc_&fUJ$4|t9kL`XS zZQ`?)@Z&{vcP?VSc}<$IKMqp@SdnUPLZGP)V9pQBIv6xm&2evx5DP_cMlvl5AX*a= zNZCvWuaPvh{hRhg6L}9NwAi1v{gRAjI`dC2!0P!V0YGf(X%e?ahVz6mUwk;+B`aB- z;If_8gd|Y=-=*nZf=1$V#&>QYC)H}L6|Ul!r`6WN+${I?>r({|1>ZGzxLur2?0{6Z z^)%pxIjJAv0@)*3P@7YjPLrJP{*YgevRNPkt+rkvW-?^rN{ntfb3U`Za};`6E`4pR z7%43LnQ0p!rL{%>N1zmHb4L7dbR2=#$djKm?hYa(TSj406BFmX`jfG3frImUwA!uG z#HKU{&D_0EpEOa(k&fe%w7pipmp5I)1?`VpfnE;Jj_fA9!ot@5Qd7JihG=OgRRsnj z@M2$@>XHz*QtPHZ?ob{9iDTjtjuqyJfw}&o3{<35nJ7|W*_QvtcuLS6Y zw_kij4EypQ(5ad$7q@2{y#V#BFS=E`D0`U=$?4w~z!Rwu6``pewf1Mxu>|I!jns>*r$EG<8(6nQ8bD>oxK{l&$0N89_?CoFEm1!>J`EWiRv*Y9Cc4Xh`P(2dir2K;>(hnmr z%HyC|ou^q|`_^XDPxoy^Yp7b8;}3^YfsJIpbBhy&jnKG!s#)=KIC%g_Z;{p)0U9p5 zWwtiZxo_I*d6H6$@YDA?Uz~nCy!%F|vaaNuIsa;Jn%Z%t9p*N2mk@dUrMug3IH)YX z(ugM@Bd4EcbRGuJUOzUH!rH_{ng-&2_g8PGj<;W zORU5tqxQ)vf74+Y>^3e2STk8=N2i_{h7eZ8v)Nu6BxIqxinrJ7^3lp8<4Z6RPq(oC zukl&`6z@x)EN0Rn@c?uVs^efWRXGQn_hrjjsXL(NS*Rem#b!4a6l|(w`Y_sxNWe)V zQX&$|EyFL_bal!CvTlZz6$p1hLdX+z%pIiK>bRu{<~ghuz^xcgPOIxP-nZ$X+BP0Z zqvWwc3N`Ns(8j}YkF}|@^BEAr7&$>~500KT0WC;3IRStFV1dQ71@h<7(`Chmzb@j! z`DuR*H$OQ?bosJTlfa9xu(4w-aAQf1sO% z;A~k0NdrNdtyP}SjKWAxwu?tV=_kckfk`kxyBp>S!fxf25j*Oakq)+ZHa2@n-2@Ed ziyjLna9$@S7OPYKOyWMy?c~T0qs3rw--8o*)9gBKgM*~q|B~M{dwGV>W%m|I)BF94 z7b>cjkikg)(BM)9b=SY3NJyaCGHM4!@r!}ctkxE_`iDEiba8Lq+}Rsl&gf5*FkZg_ zJbG|IKrD0%V)R`0Ib2yafK|Edl5skXmH2KilYOh{NR>3~!WgiDlCk5fX;KKnNFuj7 z=)di=3Ti(R33R(n3j}Oxg^gUFif}CN$;fsbdk%v}|LCo4*UiQ3(&e&4%(bm)3lo#< zw>K5D)Qz?4YLDFsa^Dscl8MS9LQ%bNy{om_d<7WwhU*$N>93L>yJAHt$fG|Em;al> z!Xf!V$L(hY{upA+r*eFf*_+TZfuijQ4b6nN9KJlk*wSNc&gXN15sjZee*(w-xuT?R zhq?nhuKcx_@KK?5tzyA>*G~3R&(dX%cho9HF6H#OgHWy9uw*futaV$!M_xZTrK(Ag z{OscJY2^7rx|H+oI$pepmb_KA-IDTafB$}gVG<52*&mO6e2+5scP#ea`q7P-Gi?1R z{&vbVzTjYLYMSPDJG1BKPt=J_ma{yC<04-bcty@hVLM!s1-+pdW^sug?^O9LwjM$Q zKo=B?PC{#VLPHlPW;op+_^Wy=Gv73QqV_K3)?m)S+jh(`Tno!n%OiVE3DYx6 zOJfz@r6k?F_D2_Xmxk0zji5KMv+En$*Ln8@bCV_*9kK}Dljpi<#11+xIo_DDr&yX*6(ZCjl7NaSV9bggg@Jq+pm zTAxn4f0sh9A*Fe`D>mjh27P$8f3Ble_sB!JPSN(-+sf^wfh@PGVLG*kwx@iD?o)-P zBSBemc$IbYM@~EHg4*9JBWZ*&8%|%MafGoAvev8Lrqlcdoq4(O0zo5%!!dO>__UpG z@3(r^x_RmQl$ul)sFrWdcG+_^_uV6@?Up#y3!Q@z zoMW5Kml9bFyM2$h?jQfeuU05COVs2OI}DZkp>q54{-Eu$VqWF;k*hDw2!yRH818}Q zuied4i3%~Jj?BUnxd#}2(q8xqxzB$Td!h56>b$?wQ&bPxmz28t1RAnu5#JDIiF=59 z3oO;mR-kSsj9ExJ?yzPyk>vH@pcyOulT|LW^mIXM$i+7nlOF3~yq;ffs1i#Q)ch69 zWA$q=U?`_Ry=G~s#^taqA!Wv>k)zn)&FUnF^GBKZP!j+w=foOAop6tJS_U6&FT2xn z2hPQExr9VS$Q6)I0tAk1KQw+^X2Iihuyx_Ikeat6oKC%Z7N+*Rl?C;(9(x>Z>}^D7 zg>FKHtJk+OIQI3)rz~x+^PtGXjjfipz`e$?nmpw8V?*qYCV9CXDmvsm;P%@;hC*f~ zcHDe-EVQC`dPi-TPFA|{aN3%_LJWh`adIv>`6#ZNmiYcryOiT=y73yro?i;4*7L57 zIWD`-WFyx}#B?o0#bgq0zYG8Hlfzp0EFUOTA24vWnOhpFD6TCnFUOB>?swyM^iwLg zfMX8CNx5-X?vTT53YAm#)$*J052hTs9sBO~CXbgLk#k?_FS2cJ|NQxLa-s`R)XJ3> zH3xh9SOxNhP)hYIUF2CW?!nkukdHH~ync(V*JXVtj1Cp*H=Gq=RJ7oeOV3n~FV^b( z&>@JYqgLzltF=3lC{&BbxR!JN;uWlY>(@Y_e~jjM4*@n=JW%naiwEhaYz?3`1!3Orox_bRTfKo*^b52Ly*!F4vf`PQMI zK6GWAi$G6JNf{KFE0sIkfxkxZX>PhW=wt6|eoel_2b6iLsoxVDXfps!vYX_3?9#`B zLfsrfD=5+XaU?F6t_c=vd(HeR&g9Z!pQ>#@P`er1D<*=JU{Rkhf^NCYCp~E$(R2FE zr2@Hgqm|olN=;&quNydg?@dm!ti>KJfij$s?QNs}8kb#Ywykm3kB9WscJ6IXd7= zkdIb&JHqE^Nco&un_R*&(NaKS@MkSdX4fI-74i)_F>zg0U89R-1FHU$unj(a`%6oK zBrPo{8=AI!k2W*uEg4O>GrfXOO~LIa%bzg7DJC$rO zQJkRofkTGWW>Wnkl(>xsk_W~jJLq1vF|*EoX_llJ$=#o8>r0rd+*#_I><;0>G}wVZ zC{b@baLQ@ZV)?P>P$9=J-lc7U{P`MT@1^q(iy3&0sGg zLmCsD!Onn;IiISFbII@)PCAT6?=H^id!e&xd*!Rwuy2m5{2$7`I;_fcdwVMaGo%U9 z7>JTeh_o1>A|>5OH%dz@0xBs;3n<;)wLzr28>E{}cl_4I7{@c;A0O9TbFMS!-tYUw zihHef-&Os2HkNZ;fHt;1PafEIC&q}woCyot7u@M-8m<~Hr8r~3N;f;%7#|-h!C~SG zMnj`dij=%JLw!92I8p34&ENE*$SElo7nuxYOd-4AbBJ>0Fi!UwrpPJ{otvKSsZNTU zrl$M69WMd355l19P4fnrUu7_;xkbadcnuZ@CWe^-A$=r{?~@x86eP-9ys_BB#Pwza zZCCiBgruRT*}$*8Hxh!T|E{bt`PZ&=eb`1ED_t3t~~O)cE>R9~y= zL`EDBR#6rZy}ctw57K7Y6nPdz1Nd}E(zPWy%(&wv$MPD`;RTLVVI<42iNIaOA6#d0odXnn566Gd%r4VTi3b> z2gZv14S-F6?tW||Jo}#Dj`?DXia8M(I}G!A@*9%yw#7Y+a*fQ=6t%P4Tcvoqy;Ic~ z3Qa+#l3Njnd$wU{IPZOmJKnKIYCFIQmr#Rbk0Jp4D$ zIp`I|)M#+gp zY3ja~LS;8jRvle~33Z~xV}27UZ~gN;@{A6z-7=qB2d6Ad+X|y`>J_ z4gpP;f~i#QZ}uE|Gf`8G&>W+!7RETn>UdBMv1GBX-+9ym{$})`)M3zeI^9U|COB!<^uz$D zri;DGGsY*tw;%KT_}%0Y<=8df!CPIn&%3jIV2_?x$uSzv&{)ZyDY4y{?k?)4A1`+KqsUlGju-C8T#p6^H?7nF&9@=9H+t_=j zDrY*cO9 z>lmA6JE3BeYVj@04{6iXU2pZB8Zvj@s`P&N_)#fEX2EX+#zktg8Kj&6E{1}#AUR*O z_~rQ8M+#L!j`+i;3)cfLx$!FIZLBS+g-9o&CYkeJu-cfGodBf7m%lk27Y~O{K5~5e z{UrbtXt@Yj&@t>4vCs`cFAl-oo%3ru*~7rwXEzo@Qvuezs=6Av9r z{MV_*2a#4N(#}EXVeui!(uUf&=n@q@*8`cgUBedWtw<`8K11;p@8U&oW~EHc<-Hfs z)Zfr$G_VG|0iG))(4POvHEN_8$H3G8yr zjsUNa&^_+=4S&v1^LnyHyJdZkE(-*(_ymIru^tAB-d!T3?58OjPa6#b73FLWnM@j( z!Mb~C%tzX2_^Bf5P|~LEA-q{ zA$^U+2L(m$IQB@T-#*qV(6+oyT%n&|u->sUG!kyVgHLrcyUrE`JvYku{CcH;@1e^h z1jkoHi=Igk*zO+N-vNtubxu&K<2I_i|86dL+Hd!jZ8u2ArW7;oKzA5}sBGGhhMhfK z=`M`Z(aj7*P37Ovp!>i~3tc_JNsMEkD}=@y{Ww;>{w?O+1(tBVsVVZVe74zC^X7az zvvs@cXyv=NO~>yusOH!lM54d}XY2WY9=vVHktJ6zle(ifl?t#&d?<(eS*E>}+i%SS zFH~3#lv1=;)*Cd7^=Fx#xt}C(M_oO1gFzwJ(FR{SeuemU`XNVAqSBRRdU5erg6E#0+Ajp0@z`m_cqjwXRlWO7x zF|+c<>gI55h7&j+>~% zCHv%W%?s8;<#&;f!-+bwpGQ5ti{;*Qd^O(+wQvG#^p5@xLF#(=(N-W*A zoCN;9D$K`l;(O1nH9kgtzH4hf!!i|0B0o*+=H^EK9>-~CXKkers%j9^$nWN#?o?|k z-UiR5sEP!#(uE6(Fst=!*V1E}Iyg&r*%x|YTbXlD(FfS^TMoR2_*-+s8TMY7=oVwV zaTwQ{d#3>VZOie-P^(P%H<{7J~O^C7H%94BENFi^9 zV>$E;c$oYsEbem7pSx<`t=PvAMib6Jchrpi8 zkGRuyHfd9MpwxAd>w)Xmw&S_;OF7eL#rvC|7R_=P({W*{VS(3s$Kzo4HJurvcAvk2 zHE4Nu$Rfxa4E#kBk=Uf}gTx7yyXGfzX4Y-aBzdG9XVf5*-Y$7ml0ejrxNGT|*9xWDg)4u8VPpxj+A2!jL3VrBc%vg_J%xbG1)!Km!oz9IXNUASmg?HIei7EPEB?Vzn}t z1)Rh*cE{GuISwPpSKFf{F15-dYyTC7#U4G5I;MCJ^={r{si8c`T$O1MmlI!6H&-k$T567)GH6MHg1xK(O~3@;eCt!o#=#iz=P=Fv?lfE zCy2&zpUic4xZz|D2tt!TeK*ujJME@lp@;$VFfc&ZsDSts?xF1Jm<^bnuB(S>vDbaS zxW7WcPrPsid%Y@l>DcC!ZY(q*Cq@rJWdQxNO0 zY#kWNIKPjoj*X5!fhpS5B$7=JmjgOiyNo*Snfu80?2K(h-hbDTSbIt^H?>J9hpaP= zpGi%<5H+rYA@_j~gD;HbTA6kcqq+pXnhIE4uZUY2w#`t~lggoC%T962g-PSycq|Xr zT!N4z@;MqnibuvcxU9!qUqNBFNxdDa^2g&a_cyAk9QgRCidCh}$q^xI63&9$cbtJT z^ql=8$QgDwX9lyOk1#@g+j!V(W^^KFDsCat84$rN9caboT%LnuN9|ewlj^C>=~i)+ z0IVGe3zORDu5@Cy-rys!ecI3+trLMikJ>25hV>f(T2)WQY_3d4hylJd1hE(Cj(p)Q z!sQDi>xHTNy@~~ALI=6LrYL1M$YR}_)Qe=&6j3U1#=yIHGe!9>^8D=pBZZ>EyWNX* zgNLZOZvOb~r)swm=$(B>#F)9ad!Ml{8x9?RRMn1H@Of%3Ooj&$Dk@@U&d8?Z6dYq| ziL9&-Aiky)8d`V`tyg^q-ti$ z!Uwa!(vp*3bfA6qq3^~5zt4vc9nlhZVF~30@pea>vveH$ zw)@6TZucSr)MVv)T-*b(2-VfYA4p+by$oBYvcJRs#`7G-z2^{k_UE?lN#R^0>nu}i zA@j`kU>Ea4^U!_HcB*{|mCKcFQ%E##Ug*>P$ioO}o!;7m2w$2)9~E56wAAaZjLJG0!G9cLq(7M6zac$@yBg7(`}3%?DHoiMD}FDuadW zM!h@BW3-W3a&bOJ{Ds{KbK~RLW{T6*7JN^(XTT&IeqFov5<-#P-JSLBk_%&}2{9i#Lb92}G>#K5lRneqSvHz+$0=;p^9?aB5d)rkqg&CA(kdz!+yJWa}02 zYC@IT=W^n)vog?D^dd{!a=r`vM2uYH(UyLK@&=*0hM%u*Lnt;~`w?+pe3dTC3(NUz z>x1HVs8V_^_w}uXP5$G~uZCXCF+%dpa025~HZc2g;geDAPN)T-PWIN^gzo6?8UaRZ zxic+#Gm)4;`*2<3I{gOB0L}1k@or5g zBLC9u9;Tg2lFe2(s@zpW)&`yE5W;=P2LXI*V;00(7%s_D@e>214A)1{a~;*1gS)R@ z7Tb|HGnDuut5wyLnBr^0tGjtNHa$C1IKe6?LzcnQVaIz%sksnrY76hQ4$hR8+AQ?7 zG?xJKm=1=3S+PKWt>zSCh$nPn0C%^Ql@)Q=ai>RgNZHyb=_I&H2T}VfTQYr}YMp%+ z=tQi5QEJ3VCLVa_U^KB*qe?W4O~R!bCcXH0EyG{0G=%w=NP(=A4jRx2Ur2E2)=%M;shL2$T!L?MZ!s?a+3|>HWpa7 z4*vGLGS%p(1HsH$5v{?0kbT)50V6K+5E8b|^+pbVhm*;V?~O0J2nR5P^8+Qr9_@t- zBXajNtu@Cp-qh%7nB#NgK@O>3P&C!#&%O9m37F=T1}b{;dwLv^Z`|G8J&*o@|FJ($ zOh&c|T*i(HweaSvoOSjS9g~@RHV)N}3eB(@P$IZ6OPr+e{)Acv0Kt$bGjO@|jyHw% zm%oe&_PzYjY_bvP^{kLXCHJrey7bU95^^6f+z3P>wvCpm@Xwax6~b-J2)w%=K79CI_6(J~2an^3y63F%qOmc1Vv)b?R9N!hLWGPd`c-cg zqKi&C*Eus8af!>SWYTxIAnNgY2JX+ZK7$Q6%7x8Kq&J*E?`gyrwQ>9 z9kr_>e(0&ZQsvYdxiDXLf$={40C|~zFfK}GCLO4i6U7c%vsjtX+>eikJgPFI4-8CGu-7$_1JdmKhp!Nbclp*cnGwjtNek%t z`f-kWPH%aU0Cz}&00uU=DS5B^_pq=qJD-`YlFeL#IsanxZTgP9&Elq|4QIcAL9fT` z(lt;r0NDZUAxD!scWCrF4^H)qHU*cRb!Ujh6thwdbQie5g9p;n9!jF-8Ms0wl}k;Uu9=7?gb@ij5F|q@<+8O4zKr0n;=m zqwRDhlaQ#sc(DRz4(|(coiq2f{kqsW*l-K?y!c;7CqkRu`YAOf zo6ynO4!C59D&2N39nO3jHckD?p2JaKsmmxz$V*oaSvt*t@VQW7Czz|>8VUB*_wxF# zp?DM)eo#!*D=3F`&aLwnTGk$<@R6}(3k5P!btMMxD<0DWTw$nSmAEOK+iGLa1>%>= zfda|TN-qlDDwQe~n&y zz^&>iV*yDTXKHsg^aQV=1e0n(TdG;Nj|kZigR+7-(Xm|A0Ot#RaVU&JV9W@oKvUF= zu(=>hdt=wU<-^-!or8&Qy)@{rh~d*Ic0oDLkbN2r7xP?HAKiLB`3O_91(3?7aDG~j z_swDajuW%&FJ9kwam1GI>F;-MiciGO$XIE4t8wbRHzj}Kh>S9&*!-yaNeUnac`rBo z$>QiL<+8!xAlPHlo$XIhA9>pp8U7RfEB>mhiXKpS>*dD@(F*lLV1#?xE$>hqo6qGS`=Vl9%A?Rhvk3m~7Qt?&-vIA^HT<#5w_V?LPY%ji7PnL!C?Qnw{) zUZgx%F|xC>(+>rFuJ$gizLZr~&hAz;CBg^O;Xt($WGS|3MY5LUsgO53$+}G1;@|g5 z9_zK5S(%s;x=z=O9H z5udM!pxF-;lYt>qNC?RE9-||^dfAk4Mn(!bXTvZNpPp9O3$YvYWlK0W;Fk|O zE{Q+WolYicKlcbTs2i#kAGsY5=C>U~YBE@sL51>1wHm!OaswE6pKvWvK5a30U9z>Z?Uh z)VSN^@&40~MahR7Y`ebDU7&&8D$p?FU^owGlc4un#@@trkeed8KD}C6QZkSv+guZh z3_lCh{w|hAeOJS9#H#_Hc_JkDk=JU-e6DMiLX%yGPpQz3Ge=}kd!{YHjFz07T&f=C z@7TBJP)KY-veI=ok$>*b_UY4Sx=peZ3&pECb3_*i@5dn!a-UW9vGLY79FY3{*~3II zX|(4u%na4FFe#@UmeUU9)aXEPB8h=?Nt3k%OhhzT`eykk~h-B~5g)B%Aod=$6HOS|O_ z78aP@YH*HDHt>4PwI>?wf~g6hlV5S^ZdT3z#(zO=EJXUwlVe1HO-s!_w1FwH_TFCU ztIT2<)^Yk1b;yYARk?d#p$OW4!wL}Z0$HmhiNS@5VO7xbx^UOcdkH2{H=k2L{rMc+ z+*xz3?K|!x$AqCU0(2fPWAyqm*Wb|$Bh$B9vozvJB;x{}+e<#a(t|}Gj|IHaI?c6` z3{00VU%qv#r#oJy#5J_P-=xH5na@c!69`+&7&2Ay0b(d9go-3}_RWeQlSN;42LR-6K&hrY;*VN#^JS3w!@CyDTD1e}56=rXlTL)_4 zzUbQDSpFG$XD#NUqN40e$pMLC@%$xC(BM&iw(oxZ`Skl}xA2q16-}|Ioq)xJWuN^% zAmfVO@67zdL}pW>amKtGi+hk&Ymz4Y6psj!hqhpdNe)3V49<-nOy(>8!3uv{I~7gO z<=OT--#k$&s;rrhtY;YT9SGJZe=-6ioVLGXqwGi9_viXGa0Gqn)h*NtPz2}ln~Xx) z7o&l_ipu)H>MbuY0l^i&mTt0o*^2bP-<9m~)9dFw1+xZl^wG~2CQ7TSdxHnPm7r0C ztFAGoU~NO$S0n^4>?I>h5*Hoaf<9vC9|jqSNyQ?rfa(uSD#Ndj=n;XQ^}C$JcfE%O z4>V!3LUd>OS%vRxUI;|b2Qh5IWe_`(5wSw|dHf_NMSS{8hQ#0$qedCgA8hwNH-f%Y z{cAJoi8C$wVL}S50#s~+{}C8?hdu@HG5G)WF~J$6`RCVK1r@4DqyBYDRKcGQR*6&) zQb6V8_fJE|rcE3})+fnesGS9LH2(KIHz?xc*_6D0UKJAg`)9H}T?(w=wzhFlnz{sU zDe=!+o+U21(5HDe?07IxkNxlYo1}a^V#qegGKT+|P2@M}g-?G&iyM#K*7Ud&%;8W+ z{iMf3+`dNc7{~dar*269oBH*8WWid=G`}B}+h?GGAgMFao@Ebxg|Al1l7RM39g62_l=>aIIfTj=7#OHzkGn;A>vEK)MgdET=gEfJU5&}w|c=I1e1yPrgl|?TV zFaG#3)K}mG6{{>QEnx;k4kXQR({{JE?%ltyTx4kkA}!@|`yvCo(BeyTP?t1BWf#eL< zI=Y4G4d=lk3V8_0U6Mjh;+_`B{4{^$y!5awm{n)UVb`cYb#HI(`{_rpy*sm%egAR& z)<}h$@8yZ+2-O3ipgay{dSxzwneT9?-u#f+B8P`q=~+1@{OkQP?zVz89#j6eJ6rel z1=4+Ze*B``r3ZJr&x4}_4zAzBtu%Lcywj{fqcEqbRrjF)Y!1j)0T(?C&4DVy#fujM zK=jXSvSHX^SL8qnCXN7g0KvvJb=_Y=7Nn9}1SAB;X)1>Suev%od1a0f*Ux2XDN+125MO4V4;nr-DcU zO=j%uAA8TowYPFa_xCI4}R!TnznF^HN5 z6?`SU9oyA)g)5RZlBJXB+d-c4P&%wHC)BYGy2hiufBB0KTG!8e2u6YX zLDNb9kNc6-yzVlDw#pm*cmDp@Rl7?-&b4;;+4Q_gEJVa>8AswpaE6>R!D_UAUAF4` zPb=^a56u;Bsr$PJGI|ainzwsEB+v9M!7KAx}UKjb;mDL*>Jotw$?KyFWlO2&zDa&yZjO4Wj%+;nRcXkUfl)FQ6B{oy#kJ>L`! zgo?~!C`6~AMges#^p%%NQRr-9+84}~V47*eBAegR92WsW zEd?+>uqb!#-o13`65uj?+v8_q{C++asZGfclvfxZIF>AdNQf&Q30m|IhHiy@$ET-n zS;^wA?*M-`A|z;v7>2RKXqtWLDj2w7Iggj1%J*XBGE8kf60C!|$Jw3A?|;F` zHN8ddOq&TwH$=eqM1vI;7xK7|2wU1leHOXbZ1%yLp|u?0w)->4 zXTspPrR7YT$dA9{1Op{_t>|0uKu9nY34XwMuy7r8JjIab(~tidNYzPWIHT`GOiSZa zrWrBoH*elNd;a{IMC3i_0|S{((0kq6-w*rvv7>hL5nk-~cSo?%u6%vFjf+&xd{#P5 z{Xlp}*tMj%I2}dQQ7DOGIiTd}5QPT7}CZh&E+>wv8Vw6#>TcE@G;hLmiT6ceMFU^%J zi9UEvrUQe6KVs)!VNI}UXIXjqXK3gKc=4*aW01?;Le%sy5?NGa3t`0V+fJ7sR(n&S z1#$R(3W*s+b?|wLZSB8t!{cPSrk;rP(#D1Z=*;0VLxq>Kx@Ycd5F3dj<_3NaVoH}b5-~_%20%i$D@*lfRuK{_$M<<=~w%J3O zWI0gi^D^qoesNFO^muz zrDu_`YI}q!$GTBtq?7NR{p%NlDw+lHLn;;s!+gBrc6{zf9{Bwk6muQgCt;9#$8!x3 z$FzVh^$}1^-CXG3bfa>3u2(VZ5BuE7(qRjlr8CUP zy-fSvjR?@A1VqFXl`r6o1@VH+h0*$-0v8BUi^BtZZ-Ov_*9)i7kNR119!dxjU>ITj z4?)(I|8Q@$2vy1r-wiI%|>=5Rqk-bm^K31TAs--2E~3F7#=B#JC< z=ELugF0wUf@~~*tO|S1jM=uSF&WV;=P{RUYEV-YVE?U1X_6~as+1eEdNO1ifjx?A+ z8GCto8G;<&%M|<$1D&1HU}?YqB>M@V?0^fu_1cpD3}Nhfeh0f}&z4}|4IA$~V2Yp< zM8qKX2`m!MpLwa|XVUy>{MIW`ZDIml(Zeig1zl_^J8>95-mV9!*G-Td2J{jK8{^ae zM7`${UzUI3Ut=T}0*mSP{6`tsN@6QnfED;3vV z@I=+FUWIs^&18tjfAq)0r60p88Pa8eCZyXlRF3Gg4rQv1+0Ockio3qiH8s%sWkpAY z=k)5& zvyVJF_yA#Y_zK8cZb9+h_j1W<6F2B_Klx>&lkV5|sDldu*;$F%Wh>vykl22A&c{F9 z`nQl5g2f{7rF;2FBeujPYE79P#xW2n-QL}$rJ;G~`@z?j1=OiQ`t|?)I$5>m!Y~RL#BOm-7TIow<22uiorYkl&7m4jZYZ1H z${s!Bb!Z#3u(05d7eExowBPe%yBOrV!%M2Rwq=sVp>cXIVojC=m}I^|b9;g+TDldj zLz*Rg==|f4FL9xxDR5JM4pUaElZ~Lf%MHYhmmdlU2*7vnKKq8adjTQxKgTYG^gNzT z6ksitwJopRFt7>Cfi(oOLWth_@=R1S)GMVP1YrI05DIz!%vnI~m!BYQw+hVGlm1N5 zw1@uj@EaOcpnSRr{qjIP0ntl>|H1L(r{s_z$yN(xP9U|0n5Jwlq?9d0mzH)8}m5@@zYiC znxKd54@Pdg9=si>ybcvviESIERsKw9%W$lJ)pEgwI-(8kw{Jc$NU{U++L5Ahk}Rix z>{zH;3pbfaLu@(&T#mW!G}PQ&sE-dAGjNRY5>WupB>k5?0}U)sVaG4dt-5PVOSh~R zm1=!yfF5~yqu<2s^=ov4X_#Fa2vB_gmNFb@XI)O4>xQZy%ugPSL6C`uRgs1~umPQ0 z_}0Ly5|JQU`>!A~duDw{1_OenMIa3U&0dBTOg7Iy!=%RV zSchjKF9FH>gV%0%-3TnETP{F&4W1UH?(%Kc^&#nnq|(U5Bu(^d;EkW6u<6HP*H`B| zvhn`%$8O=#l=8TWbc&Y%-)FjQOs*7L^#&V3sn2Z^hwuV3%A3M@rH z_5>B0>F%_MBZY0>%Q=RO(Fk@A;$xsYqkY&0w{s3cn_Rt7MZKr=j}f6BNF2?#iCHU{nppkiXHZCV2P#cKb!(f71#b&^oMbyR=jo4)E3>zLV$~_h;%4POGAMiGlXvd zKS;UzrylhpVaQi;*8B>;(INcf3H>q#4Pn2o*KT0mzE)O(0J5-eG^B^G-Q0jcLaFli zJHZ9y9P!WHWrQ|RFd29F?7^5VcwFEYf_@*j%MZP&_=hsJ+<_W>F9p(>8^k}-w%a!+ z8bf7$qlLUFYl%-XrA!opz&&IZHWPWG-_MX-qB&r;HCLJhu>OT0&&oOjg#ffM(kaGz zgb-HF=^jy4eqX3`(tifGpuO|qqunj;@4rEahqwz+8L#HTK+teBRNmWvAz==ucGl|9M0+(7+^wo6i4*TXv-Vuwr}S#a_Q# zv2;?v0ASqPOyTgRHw>Ntj{{!Af0m7hhMzXP*nmVdpkh~*-|?snPB z1ivdVhVVSe0}g$htteoU6+LKWB#hm|z&%ee;K zOzVoPQ_X>@NV6%gcxxw%KONHtMZ@l4HHh=%3|i)7V)=B$aW+}xqY zH$w05EHjRQg;|^Jq+hRpiGl43?P@MA0E#9ZJ4Ba-UsYP1Ic?H4c)@+CIwAY+OG#cspi zOf*rTVeb>A+hzJ%{{so$1AIWmgsqi@NNoJI8<6eo?(C=(S&GE9*QTLK(EY^tIPG`L zLDn2%<|+@8_EP)ZK>nIvzNK!yAL-b?LBZ-A3zIZ+zaxNh5EL|v;(RQ$oG@(_Fbw+! zI-0N5{r~{buB`oc@UN?Sp~BmXa*I>Qi#*b~hwT?CnEn?7TkeVfN~Eu(lTNQUU1?{O z5OaHc)NK00vdKl<7^~_wwKC}~2HlLC{}i4WUL6IF??j)@q3_TCWc#2N1r>A9ap}4E zAEqCT18EY|Ub``p;S)Cp9rTPEt-q4Jt?D7Fb(t$pjp;Kx{FJJX$-*mgIL^|jusm#f??=G+!~ z!eK=Cf|%P+WiSN7_j2P#3cKd4#6#aYnX|cda_S#5Fppm4-|=%|&*N@*`P-I%q_Q_B z>LT2lD2In4t3L!HX=E`Zvaacp;KsF&Dkz7E`epn$Tf#nj47GWZi=P_B+O3=SgXYZk z^miQ(^Yjy*bQ%q?nYTkjJ8t5k?t`Bxn#{G?zH5*G*R$J7rCgBoiro)?b^lRcFZTeu zvNUbms+=wZ(Vz9QtXTbLu;qhuRVE?)z%E&K8k3oFR3=TQHg7;>)3rmN+W4kRR;#)2 z{?r{obRFxXGu|)sL|%mbFJ-RzwGok${X35WQf^u`R7Z{>0w%_p=cst|_a)rR^@?e8 zK;pOOCTz@+QIWaGx!s%meo^$k@FpBGU@E$T5n>U#Cf$6IP{YLC3rp^`ZQfyDsj1ZF z$Q;X-!&63$qagfHsRn(_YeL|R)xgB+Q4IZfuJaqLr5*S9+C2Z%n2c(4sodlsSE*Su zHh${W=mkuxo@6dr#ZNIv-=oeK^z z&m3@~F&4Drdwa#|&9M*f#*){DA|F)o zTP)|580f68g{|tO@?d_b$CCRn5?)ABE^iVmGA(J?<1w}!rqpo$nldm2DP^e#o3%#j z^POe+X)zai*&M%33_EUwT3wJlav-S#&*a4K-9Bt{RNj*QZ0K~q_S<_ay^|nz^@)Qt zSmXle9F`I3JqHs_^HZ8sApvXITf^D4R5sHvr|E8h&H}+U?zzzHNr!3Qr_~!w>;`OQ zqpz8EGxZm|Vullf6U0iy(XVN>?Y%$g;eX77mFTE|{wIbjBIRsGYlXGO+^exw7$SnD zxhiuvma@cVV=4C>pZ4Eaa-W913`?oZ_Q$#^Sa!>a6JLIMUWK-_0zWOSQBT2Q(%pV- z5rx$<@kC#FciPMr{hm8}&eu~z57bGs_#a(vHY5`Op1oR#PTSB~9a&A!umv$oE(HoLMc`D@%`o4VJJ z+lg|rPty~h5J|A>kT9!1d+xCa5r-z0mY?$1?fvJ54m{d*ro(31+r@`V?6VC8X*Qj* z#kZ!o5GUFYPHHZ2j8NCcdZW_pKgb~kG;n#0_19i%V4uEO*^pkAh4BB#x!qq*LGQ+Y z_}qwS+m55{%W9Y6@Lhg|s>mQr+IF$f1RBA)cZE+1(i9AS{)^z4r4u^XCn7 zvq5mqW=d4W{cn>$iH&4FxxYh*A< ztNZwX!b)jAZZIu2K}2kgKF4DW!e+|es_eE=;deZdbOYw8SQ-J9l-R6_MnB}0ZB1vl z7Sm7lxm62dpKz;9oj4Q;jj*%so>i48p)Wf5O&e#$!+_86={(t7hl7ucj^y>AJ7{^H zOPRi7+KA{&_=vyY*#y){r^h01+VL{lge6o^>}z%|iG_#f)=5b$8?Bwm#65P<`if(x zWUrhOlXx$VEq%!lCl%=j+UVcjB#-2iAPjDkB2L0)zDj13yTo ztj}wH6Q5vJ$8;k9WzY*TOwaI?`FWJ%BaDc}W7leJFsaPV8dw70vyS%B=Td*rMw49L z(18Y}gLdk?g7N2SdvCYWm4$4Hb!P3@npDg!$D-3j?3VhibE=;MUMMM|hU7`AnFERB zC!gcR`W!vfEzoJB{{Cv^U-X`-?Y?6kq9nhGN;erk6<}xVSzxskx_YbL6~Wqucl zq)y%+t<3a&)tcr&U*r?AHM{?fz-o;UFPN$55eC`aXZOfK1rU8)(YN#^+t%um*qC^cw2Nl`|&|4dxm*?G6*?%sh)rB+T?E!s6pK9n~@6oB3!v;xVuAP3~Z8 zzq+CQp|fCV!q6q-aIAm<-N*IlPdnPy+ZOJ__AOEpHI^J}Dobzl+4^l81!CB)e|+d*V9t8z7Dw>HG=OxjzVp+2 z$*-gB{TvPb84ls_5GRQqqc&GQ^6K+XOzM5>9OP&0eZr{05mtV?zNal4IzKG&J7YWh zG<%Pp=~f6YzvJ>;tP8VadePId*h~Wn*}cqerogj&JEQ8oE@k2N$Zzr{!!NA}KRB+B zX1`ybOlC@wj7#k!bqC&6r&+7Z%~hWfT#5gvTzMpX>8Hv#e4fETkhsS$iRJ%{3Xk1_7wvf zcev_rpwDbv40Z-ilI=1Y!yb~+l%Y3g22-lCgfxi7-YfrQI3zZ_-=8#x);h_y4<+Ehso6eqUqyP_sP7@qz>;YY6&(|sie)A3fiC_Z zd-|#B5ssNw;HS%NhyW>>C)7nJ_AbFy70+VZvRRBO=+#jT&XP@vseOjQSNihl>gnOo z=@+wG#;|l%3_(Mv2~OK+o*d=&N=_I4Nr0+fjPyNfRE zxI@$YqubjK`$Dy;l~{HwlO>xcycSrkKhED#Ba>kywc4fF-x)Y8p1)(PJrcT!Z>#O4 zGi57nU$@=RFhwi+NUqt(ygsAT1QGHW7~v2IcX=ekyn7xt;rWfWj%kc@6IyBfea{pJ zlzQ(U%e|myGVjq6;7k>^+{7|g(cF-th#Z;h%&HL7<=@@>beQ@A)$uncnGOPx6PUkR zbf0xEu4zyVng343#<6?GZ?}sX7p{Iq%w`(I$H#SvQNpss z%N<;~6fb@k9&V(eymQTh)pCo_lx*-R!f#s{gvd?b=IA7t3?3wevE&}F#N z#lF-sE(7xcop1HP=G5tMvcb^ex(j0fJ|dlQrrN5~;YNXSb&-&$oK&8QGZOhZd+W)U zx;J-`2Pe;x_F64j*USDTmu04h9oR(4wU%%=z&c$Jid=p4Vy5`u2K|*RF~<>!6OUf>(weLxZCiSFT}9t3yQgr4Z?%Ust61;*@sqL{UMwP# ziz4~VsLjMV82`|$*JYs3ec4J&7nu{6hQMx~ z*l(3796vZeUc`;t7Fguv^A+pv&dF>Y~kQ=J)D73g)5>fD>L7vkYZ+Q;!F z^3m*ha=779@>q+1N)&q;{Jo()C);GWl+V6H#H`G6KXZ04jBL{Fu~NrsDQ)6G!T_$$ zX&J$f+h(fby5nK{RMKfYTJN#Mm7YIsYU{1wT0g({%@5UOnjl;dJh_n}m~?J)(qawQ zun#zE_;#F`_8~ z_jsthIt2T6rKG6Sm!>!G#fa7Z+-KPyOGFj~ZU%|*=U2uV;El!%oT-q(iyhgWWv9}T z6vR4;yD7Gnlv! z_42K=V9EOC@VSLCLyf`$?~g{0nXlCqrM_iQ=@Iv0^dtwS6xOS3Pb@ENXix0Lg%(-k zk*$`_-=Q7`&6gsh!H;iIh5^bC*2%fk^<=+9K0ieUh9i$2$x7-uBB?69e(ieJ(f9sJ%FSCibq3SS2KSZ8&>O zc?DZh6;1QNv(I&!L~leLgBUJ(-|op|@OVqY4Mr0K)parDYs@9+C)Q;PAzOTuoA{VD zoO`2|Z2xXtmH7;>lqKVap20kJoY*|Yt~OXb>h_7Y$h_*=p~F;h%L|>_!F3!ay*p58 zm7rQ`JcpZc^uV72ASww0t{*}*q)&Kx$+k+ zjg`_5lDY*UBAB~cpcoT}IBle`EYnBDU47rsup>Hn;E`xp zkH(Pw{1|sjHAi}siJDu}{)7x>8J|*#!YNkf?Be8G=K7B-szexlwJoH~yJyZIhvhsR!E&~BV!wuV_S4$a8A`5l8S1zA>f2XwQ53E1QR>DDjeU=Or&YgEuEGZgu?jMsE|( zMznnAxv)gq&fuZ$J#Skoa8L|7hq-Bze!0BME2h0J9RscVWE(~*D+7vi()N#<`SuCs zd!^$a0Q+kY!JfMrScyyy;pJ10vc=}_%^7I$UtwwG7Uj%bkGvr5kup6EX1`n7Qm@N}4PhKV z-Bua&;wApr}duAmsJIM zR~PS<8_Rk(1?*wJTr%nyOEoIOdofA@4(&A4$HUe7O-cui*1vmQl+qMb$vzONhVYgS z+TPes3^==1v&4+tO7<*Ln4%N^VQ>-p+GBYpz69IpP>Y$wj@;+Qs*k!B#)?Naw(T3NfZeV@$^ zN17cOiio7oPU^fhs^N5G|8QTY;Qm~0m<>-$U8h+~e4b|aUyYxYlWwMk@ESSz&fobI z$vkYEKkV~X8D;ap@&eAA-IY!muI6KeC6PmyhC;SCN;WshHoiH}@*daz?zcNmyNQj6 zH-VwDT-MC99E6xyzoq7(CFh|AYLe#f8>e^|ZFzLfqd)v#V_yMP)!xK=6h#HWA`~R9 z0n*YP1|taaDDi_6((@7eR8 z_|433lFG%f(k#6>yK9XSj1qwFRP%y#B9FQIp)*nEmW-rig3S+eJaiT-K^mAsWD zT=Wzv1V)ej3nCHdsu2Iu$_CuIxq~(=pHc=C(GZFM^h_8HlHAczYD1tLu$b#HRI_gT zk2*ZE@@g6HGJ`Exke=b%=`~p+Un>8=o{%tYE*Tj+a8*<9aK;$nuG*8izQTG;)YAHb)|I1oVg)zHP?^R@_N%?|C>HK*+Uzz+ru4h$bZW^=N|Rv@uue+{ z7$>v5owoy)qNPI2vlraM->7caO$%2Lq?z~+HPG9Kju~#(Qg9SRNNaE6==o{x}~$gqby|F+HGidn+5} zC%n9~8&2Qi<$b$9`ALJP8;vL2kq{N-JdOTjHitSP$SG~d;1|AS9XUl7$(PxlG>f1p z{nAuSZn9wQgDxb{);C1R)xW8T)Sh^O@47pP^|BZgeoG81DaWu<^}2Au-mCjo3qz1- z!6|%HOdh!#^GZ<~l;l2M3#Hu>0TRWyfi0>Vn9nn$`7-fJsQ zZ(rS`aFDd)?wD^|>W}h;kTzxT9kJg=$_jkpN&HTuoJ@%<2M7gALUy|HLqaiGD_SL4 z0&;2^(OkW7L0>zYR~n_hB`$ZIoln#;;t1iTgdNyCa#fgWySPt;J!>yis-?QCRz5wJ zJ5bEW=j8Z!!)Ug|_;r^sn-7?~6qk$W#@ZG{Qx__(5mOqC-kTL9zV zlNfS6SF)Os#%JTm8pI^%OVvh(yJbH+1E*0+Kd%wnhqrH+=a#;2=f|ho^Ap_UQ!5VN zwGes{#Q6H4aGs1ucW7~OBBiG;Rg6&hc=t$^zU5lh7QVqGQEHTriP;rYzGH4tN-^5; zQ@X8$#{SATrmIy<**@zETjPF^0u1Id;*yX#n1A!gtj}Pae0b*bHPZ{>Bk&}Z`H1gX zbTzDIK0Y1QqIi!t+n&m2Fm@=U?AzQ1)I)nvi5hh_$&Q9|r6wXr+)10Y<;>O^ z-qI{*rga)6q>}N86&j^JTQ^o~gMxbNPSXk93`u>vep_Uw3}Ws}2`9`~rpAVCQ(VyS zz;!Wo@lnrswYJY4##vf4Fe&tV!BNVuo+v z64;Lk$%;$UZ`Niw3p*&+XU2!yvxH~uIJeMX_h(0=KA^HsT_hivZYm>6x@1SQ(spid zdusH=`3mxN9@`nC%M1C+u68e{u7-xza4Szc5H}Z0@u}{aDrRE5!dg_1-NC9ddZe~I zGSY1@JqXNdy5HBn=K<%$ojQ-d5E)>d;;!t>`vhngx8vNy%+D$CzP2~<3BpGl*GLBz z_jo&+dxO^m5*{lWEt!1Br^d;Zh8Q26&|0uS$r@ZI)->VdvIZOc;pt{2Y{>hX0rN%?8 zMs25e?5-^7yExn2Dq$Y-y}5s3o7aEZ$eWpe#~kGc(C&vgRk?wHhK-pNS))wXxslp| z{@puN^qHf#js;nb`@J{J!L$$v+@Gteajqc@nf$5+iy=$mG;$rG`Mb#O!e_G8>qWV$>r%a({5Xk z+{M=)wVXNz>WAdK(p}k}70{GrR*an~VfWy;LseI$zXwhx;0m8Hu_1ThJMH_@N|$_n z11~~kX-#@DiBXWZyeKqZs(%}U5bYl2-Nx?Fdv+g;71#&d$%E4u$(x$G-5#ohmD;S| zOq<`ob7#;W=@Bm0LrT|EO}2MbcqczY78lMYJ_E$fbq>;iuaj~w0RV^yw1z6sIO_d9 z3C0jkN~gzba^{>jQnS#{&e@-Fj&+J021zN7G%Y|1wAf}$C$Dla*X_%{P-MM%^$ggu z223SoE3^I{PQzeyy_iJNJIk+O>E!Cgd_|6LSN3UX3TY zl9ziA=QOuk)V_FU*nKEH)U$jdUm1^pcmjIrxvA;+dxPiOlGkh{b%?{M2MZN@rRntN z`-`sWe7#cYdR4bm%dpD2`n=W^tIU>XBBFNF{Mms?%HkvhggSA%IiZ_Y%DxVq8JVor zOkoGI6vP3Wvm2mMSmdW~;00!J? zY#DlJHc^y5VD4tC?&Zfu(x~qdWRTNCT;(Hc=o0*$Wnc8gmU4i0_D#X0WzG?ue#yL* z>aFd~sb1bSJg`|MS9caICFftTf?n|px{%-G>l5VioQ+_Ze%Q1%3j`EZt3@9AsieO2 zBz5a9$7)&d=anv@blx6ZO~b zP0xcb`49H~gF1`ra8M~Vs&8g8Hz4Cx*;$z;81{Zus^T;|k*IFA=Ya-bodMN*YAN{- z3qTz1{Z212 zBD`@Zzy)w#)d&qvUV${Y0PSZgB%-1PQ4(V++3hMO6LjB0J8p&Hwm1BODPaz4M#6CO zlIV~^6-(j!VO$P6#vKLP0wq|LFSR!CT?3i)Hku>N!3XBdlAOIf-)`$Zj+>4hCxuq# zaWbfR{-SuFkQPN$ZMEH8EV`a7*>eF{AXqaNx^7{k5rKJ+95%taeUjC-F-1W+EFCX^ z+9E=Nw+m7uo*Kw#9Urf0)jYHXh=O_V`%CLibzkJ`@#Jlr-8r(I)l12BB18O68!luQ zR<@{d+mtQ`aNE>#(T&~}iE*jGBjrqSPKaL{-1c)tD}uEIG{t>*c<)saCF-)0O3Q$4 z?`Sk#s`{mim*+d(gArM(K}L2rDednCG-{;Q?l5d1Yx5gE&1FC-I_!{j>?KvDGR2x4bH4LbP){ zAvBTSS68m@?NO8}q-tV(8)S5(`=y+VTHC_5`O&B4d(X-fUElDTbON@SS1p>iRMaZS z)j+jQI1&grLSv|}2TqnW*GG#?`;mC3Kz>1**>Am`$9{&FX+ zhEdcOJYm)p^1e*ibQY2FC2GI*WC#y(r&@#uUH@_26ImAJdq4^Rhya*x*|bVF z(_tzU(U(-nrh#9uNry##z-cmSf%1qljmWL%Ayv`Oo5Q{4pzSfgz6#E4(YqhCU-mdL2a+>RZIb_(=D;lhfeGZ({X6a&>&RV?BLuAf=iseA8b6 z)s@77vq>L!(bl~qQFf*(HzvOJ&Tbg4?`_maDl}at&iG!Q6o*!^zykYAJ@FD@m;odr9Kz6PRkef=;A zREI#5m^3{d4V$^p`Xbs;fAB^fb8H%tPdTX_aLKWeo?CX@xztOY3lJg|72=-+V7@4z zT5>>nhYc?3>sQ1uUV}+H8&w?CLV1TtyP%?K8W=DI7zHRX+(%RKv!mpv{8{vs`Rga2 zvsv0Xm@Gf+elgU6vy$bFRu0YPTyLlytSB0VG~)BX=w=VX?&GeNctg>Hlw2vuWf;+k z%q@r<89;Gzi(XS?;UxgD(%AbBydn2(RgoIN3chR{AdW5>%_-uHb{4uc6`9OK?NS1d<0g+dnCRQ z<8{MO0Rh_HcSJY&!eqDNlk;y@7aifg%FnzoqHGPot9=>=+5CH?W@Cy5QDC-tf6XZm zo(&vKb)mP^)&by8GkgABO@q%+h{Q>S;&yg0mnDm#adefWOW~Q-CEV2|Jh^q6mc5cW zQi%Iw8*Pu2J+fcDd<7NO!{eY+-%|4kQ&ELJgG}RFYXFa(U-6c{wvUFT5*JlJwRiX; zi8YY`2^N}7*MkWcc6Sp6T1`aFYnU2QgoS zqs`6*CI(sUB^p@`C+D%6BOA_vmdS_E@rmUe=l(yN(9D2MlVWV+T zj!P&Q><|{n|IaGp^z5xn3Rd1-#lLs~DheFDZn(>yQKDg1I`H>|S|fKw2Zc}vJe$qs zp=(Rux4JKZL}*Rlr@OD!e{G87;bYXg+BPyZy8&cK;{VF(kn&0nqx>M-R|P@^#)Y0LDL^?(`$6etYnU2TlIyAp&iOdcGp ziAa8^Pc0@XiP$k{cA`j|XJ1>tRvoIU=@dWT9~@JvwhgJ6a?$g9{Tzswt>I z0rp$=3n@DWj-iK54ld5C-gqm!&&t74Zw2Y?tsdsX-mXtTLbP}v#_~h@Swrpzn8$Dh z*`?>8qKO0%(LvvfFxeah@T1+wu?{_(F;u&dn3Aj-Ni0rkYoRewzr2TF7RlGQn2J(a6O98ISG%gK+R?g%AK$CQ zmZ6vCG#uR&Jv!zH=*2g!wmOA{g_)#XWtIYDLVz>LG{dCeK2_`brU599Xz32t%U4d1 z*WV$}rP|YQT01#sLp_v|i(d0FR}k+V<*F>Vu%x!TW-V&oFsj9Z1*y}eJce@%+kh|?f4p_$&H57$zM*Y)X6xvm0&UEfAP9``>a9`W}o4185 z^4A7$Zvn(-x69?GRw2SmYVTbq1(~BKAB0UaotzbEgEbh8f)OYESb0b^^UCdosiiM> znw@W;h!BbJ=3;~$DuoNK3p?bYnSuz$jo5k)OzAXc={+Jj655Q3N~7e$A>`^#r$<9g zg)ZmgoXXZxFs~#2^xVPw5jykxVqH1*2cCL z{V6YJnoX+bg&fSNJ9{K0dZ+W1lvl>|4k;pj z5=z7exdCamftAu8bZZ|f)6|UV4orKO@pkGt3w#Ako^v>o;n8`CL_-~N8fxur7cZ^u zls$`d$r!6=5|DM)mHUBk<^axRtEwhv){y`~A*TLe$L&4a^~4K|a7&c)!BD#T0f}kG zq*dSP&Vu)$%3BI={i68Jq^Uzt`u0hUQ6Ck+STkLfvfFqen@~!nE#WeoHmVGO!-L{r zn3*^jiCNi!O7_+v+<_myQ=i(Tce%S*Pt{qjpJ(mp%UAXbtZIN(FF@73et<&2b%KgF zKj#d)1@wS|ZSg_BNg4d;8*GnuMJ+H0R(4`{L_-mMTtvk3k(q;`jK5wAq>YwZP$~RO zvBR#XZczFU(`k~eShNcIf+3>XCM9Jz&$ONs%@lfH@u0-C08Gz?6X!*sKs@a2nt5RO zUZ$QcKiI(vHWHY-ZpS^nerl41g-XiRP+Ki|gf5!putK2lcBzjULg$u&E|3z~LI9Hd zkiJ+T+ynuE!hleF&=X9@%{by9`tuE@t8+sI*>{=Ga`y(CnNfIz*W@VoSx|8U;5j*w z3eAu_oc8jGdTm0=hQssErF*yfByrkBwwI8ghXAmEP&V8w{2&@M7L0r!>AwV}CSBsA zTP)JlZyc(}gCxK=17_@te1A1D{sz;Qah$4UjCXlXxS3n%PzzszoK(x0XI8b+1&zY8JIUCOBqlQfek^5vzI3@QKTm&jOx zOE>;fygX#=de$p^k~M{cf0&f^r_=QyY=p<&4O`I~$WY94t7WXqMdqE$w>sD;lr(}Y zn^3Wi^nhJDOFV|bu#+Q}JEv%#oH`}9NsxcTN*VAkEdUceS1YU&POwT-Bu3*-(E#*y?c#?P|X;L{@y?Ds^s<0^JnCjx9>FMrKsjSbk_Y*oX@yt zcb&eaS`_T&>67@QnwcZXpF%aOELqzgifn(XBO43M>sQ}eNb(9--QT;)%gLy8&~AK{ zihj)8QQ-yKgTRUfTr;n5Yv^ADget+3fgLU4y3WnK(DisC-n`V;)#Xk@tHfnKJX-T( zB_%6P(Wrpb-jiwt2TuJr8mho)vYA9Z?56ThSf;3+Y{Ad9+eok}HcbQ9nXqag0m!~$9fuT7Q}m5EZ%AR=ogH| zPha|kGNB%RxlPaQ5}%xHVK|l!4U?oC6Ik*T$DAI@y$jFQpYtuwfF=aO6>rqw1$xwt z7XbkTYO{+2CPWo@97i<M!I1iKc1pdDgc9P zh0QH2xxrBJ1DM3gRheFo2BLpoq;F$afn^zF26j-0x_Eh@#J`;kJpwJjPuSAkJ+tq+ zIJZGtOC?1tPU>#|Q+-JMy-w|@m$470i(!dc&`cI>krqNlATUtPXtrJAbmrpX%=nBY zU|k1;P#H527qCRU3gq0IX>Q?J5v{^iZwMqibOjMzaYLRArZu+;o6URZAz5^^;#_2 z8vVaY* zLpcAcZw5s_`=VhC?Xe*PNZ^}e$OxX%v$Wt(sB>wXQ2@BPx`_TKCJ`W0&k*97?(veL z$q8{97?1pjJmul3?}OcRi>Td5+8}rc!%6F)p5~(nC3kzygML98x4rOCDgB!ygc?Kv;;6hwU)+xX z;}Nha!({rltjF`rU%dc8&LFUZX7v)0RZ@!oZt#H}WtU+NT{pNmIA)uca|b|D5V>iq z9>4u{tk1S*ckIZS((`${DN_mj_*11heqYB*ln%#jT$B(v%Ph9YMY*(@YXPu{ye<{c3{A6m%)W|^{Kx!A8$-P1Z zT}2F5&S=c%QeH9G+4gzpzg9Zm6@_lS(BZNcDK5|h+s_5|yrzg%YfFjL7vY{Px`;)_m>?_EYJ$i*Ba|_>{0F3Hu)0z>{xL8cM^g&;l z&Gb{!Qr&D|iSxvmxwNF0;rK*~W*GuuobD_oW`4j7a}hUCCcnB{ysvUZ)8CoU#L0qz zTsb*8Xug8Uc}~-wRp3t>sY8{&I%7Xu)ul$)9$OwBt+5q*Q&0jl(o|;;Iu|aVy*yA9 z@Csc>KWtP<=z_^H5+xQsL8jbiz7c>thxkGT(c$V6S#W@*8U;nMt3&=Kqsbn&*TH^M z+N3~Fy6;NzxJW(mDa6xMq#_cPTD%u|Ua*lP_RacIlUJn9XR12&SDFCX3$P0o%+ zgZ;HXAwUYiXF!w0t|QdHz->}%?DwP{+$bRYTH=cx9|IkU5W6+UT-Wed_())@5ffZ3r`FckxskChA-|5^Je77o zqA#mDyp9o<)v&meMm83XCKV?qj40=VSwgFt7h_204i739(67KaF{g0{{go?P%VV`} z2lNcuNw$D~tuD!|k#d|miNElzpcHNO{(Yp2YyF2BS?cv;$6nz*o+5Bl7cP-n(xJSH}YxL z$If{u3I&TsSdYmLdR(9%p94;K_@WxEU5Zr$@ zH!E1z-1Jz-B>PIzslhaL|A>hFiP=^HwF?238I(h>H)+peKFqpZnGP-DKR<695ycv(&RH`=IQlw(4Kro~SBx|d7UR6Y-VFym2t#w<~G+>#74vVpOZ=<^7r<3F#0 zna0U9{J1HiZFecD5%{%Oe@;pv(ogkvxG2fJ+xymPO`x_Cv9q6JT|e;>xODQV8oGXe z7Xz$u!Z4nSR#>wBo=m`KPB)vuU_$fO>K(v$3Do=pGZJBD&-*o~EoPJmGv?=w zQrg^KV?782Aps;9Ii)P8a^gn|(h%d~Nq{`+^ zGnr80q|NM^=XWaIn@2ShH7M$^tG)U;et|%=jYFHfWI;E<>DUK^Fzk5l$E!IUO~T9= zJh+NigxZOtU%G@2up~+Ki+mKeQ#N=6(DqlyF?; z($C>N1Y%}+W<4!CnwLQBo8+X?O+A`?%7#N3z(^Hl5a-u4)IGx?Fe370mS94jbQ8=R z&OCUB9{Dx%fEll$jd_yEpj~w-sTx|?RZ<`(t4saGjuCLf35y)%*{%)4(*CtNEFn6I zN4jYL_X3zvl5x9BC{%$i$?1D3FY5sAI{lG@3y8^oPC;SbO8k3l+nKiFV%fpfQ51o) z7qV*R)33Mvs?BE{&NNdfv8`anTU+NTOV9TK>Ig|7{xu&LU|&Q zUdqZj8YliLG^4m%(Nv8p(?u*TXWCt94o4S1t^PFek@nkZ4>5rjw%PfX|yZS%%p=4;MvP-6Y5vVr1<^G3Bf zW|y++m5zgrIGm?KD1Bf-c^2$T9S2al17<2y6zmAyQ+^}|Ka2vL4b2cX3$yv2itg)l zqmNCA3?X2bk@*fp7y*emB)z7WLhr-4<~0<~7lr>iyy;3Ln>J^}#5+2z&gseCXu?c< z{P;2XplE-P-Q&ah!@dOEJ)DdCPy0e2h>hdLsuz^;^=~h}vgM<)#0CsLG3iAlH(ts1 zB!nGoKQ8Wmd7yt!*7%3XFuX+f_HQC%!7~yJ{n{@XR7Q&#>2tNU)E3}_ST$g z6_};Vzm14hwn2ZYRKFt>-AU4f>Xj`2VryY|@j<;;m6VheyyW}iMv)zkf(9BB+6ga%qZ!^VT1!dBMS0SvW|{{Ck}{r!UM1sq_kzAG{R z)=;sDnePSpH{))WzBJV^`yvbT*#C3j-UVRigh-a*J;upw56l3249$E=2ou8pdZWs4 zC*1_#qMrn2-2O4|3!00j{i%~TqB&5Wpe{8(29y5FF(k8D7!U5jvyXfY`{3Lmsekhu zivngm|Gz!fyI^eg2+1-=?c?y6KQ66FXv7!#G%(}o-`-XQ+alO2g;wx5ii+9_fthPu zz}F80o&Tu;l+1Y0RH#GRD&etWyr|4ULiewuHkMhjtTHphes*ig@$z2<6pEb#L(X82 zf^Q%Bi_+dQBeB4Wu=y=?B@gKQ0}M!mks)#ZM1P+RHrTo2psbhA{g+Iq4IgBARhjW{ zKJ!(s!ubYsW!>y@p$f+Sx<7e_@?%VA1?XvOT&JeF+qdPUq~>d=Bm34@q-o{HxqgQ( zU*5Kv1Z8+g)IWXtb$Qu}{hrkg%xzxVb3cWkyY*vI850h?i@=`aUE_{)ox10sY%5rU z_xSChhn@$nsXs!Kxs6>QBFqnI_VxgT>C?x}MDfOWhQshrX*=REXqb zaP42y#}LOSq1;rgfD{5w|MLzVmfF-$J=rRu^stZu^CLv~Z)l^ichy*{lZ@9=Ya-M< zUNPXRX3#I1siaW|ZBjmD(EtyjFS05J=s+y)c36Bl=Fa|yi&ql=X(JV9fj8;F^Z%f9 z8ibmG*rwUUSdEbh8zVjaAE8a++BtoF{nqv*;mS(dfH6wY z@MO%KdE|4K4F0*?GdWF42bM;08KS{*Hp;}5ifK-Cv{6p{2Z96Frz zk6??xRo~TksPUE;+S>z~xgV%G_l3y-#aloF%hHIDefhk;usR3Z@iFI5x%tQigcZ>6{)*$0Y4H*v3S$`UY5iY)j1Pp73K%JD zR+d+(gszqnKFy(zgLZRrIkY=fKL@)J2!%u#0ypJz3fsy`B#k8HF!+`)?q5{IC!dsQ zj!{eHcgHfFAgb7G!IZ@9nLacLi1h_z4$;q_4)ptKI>*=Qi6K1h!;sM?JrKi9K#WGOGAv;@cm5Ho%uZH zEFkkQ(@YnVw-eu|hk!oYenDMBLt`ba;RAaTY;Jh+C>0^WR6qcK9RcK+bL~0 zAX@>TDZUPul`i2GpkObOiAVB7R#_gG;i`+deUFo-Fuw5&^ZQj|J%xv7nBe!yOv&r! zI9eRS@&jrXG=rKAnJ+)2%m@=2Hf}VDpCcnHe!Mg?*PDkbDA?PxfA;Lz-tMkmbA(HO znsJU_{V)IY2+%ZZjivCMzQ^_Uhw6yeUghMA2cN(uF*5Ced+H(wt`uf^oHfOXzJI^^zDvp&UI4bsYjwgmx`HaA( zCTzO^1~f(n1_mZ30AS!P!tMnww|!?jyY)=n`i?Y>gKu}v)Fz%y*Y0pwq4`gtT9e3G zhFQ)kq%1G5q^T8XJ@G^PWCvOTYNe;A2h6o3oMwIbmZRscioDj)$kY)BZs6V=<2=o> zr$F}!=v#f_*+V0aaF<`2nU4%?z%UQI(KzoVeKqah zPPXebh5|r7SaSH#CeT0d**i>Ej0H50e)0R`+$%(2%ZEu0&rbvz-c0H8PY>q? zT+e)I3Tm~e$Lka3+F_QBm`K7mV9*)oKW>A=7aKS(0Ep#uI|HZY*5NbqMwd_pmri5Xw`ofs`X4IrKk0}+?62hKTgLX0^}3bNyD~V&e~7}=YhCZg z`<>32G&69Lum(rz{rv(dpN}wT2N*~~v`CUDnUqtT`7?jI0V&aD=7#8fjmK!Jg{9Ji zC!0A*s%++F8Hs536wr;IIn@u9LyTFhO{u8`%Lcn;8CLRyH`R!Y8eu|K@V?Q^543Zw z;GOpT`E>8G8)6?kgU*g4Z7(Ikt$aE9pa1vJ14GREiva#FvN%_#nslw@s$5fbp#TC|u7AxHZD+0UU>g!wm*1C8?!xq2%B0@xb zEoj3^5)9>HpRw{#;(9 znQPkr3Z`q$@binp6t(+r6w8DZk@A?VxaCw~Tb?sY`XBqJ1; z?J!V3vDV7JPdx!7m^6n^?SXmfUr8w@8;}0MlM)h`an$6`Jt%7WJ@MPtt~X#hECPKS zb4x#!vO?1@R`3+9hF=fuQ3#7@`3rOLUX$xLwc zXw;E^DCOhtdM2EBSU^cja>tXCWTblF_1p`MyV1AU;;+lxJ}q-jxc{G%SE|mR!^$8y z;^hANqQQ7{r50U7fs*!}k2;ZAPn6?WO9$Ig9c)<<)O0SH%L@&?9#InWi|>4W&oLHi zEg|6NOU$OA>?M>)Ta7c14g+b6SmRex2JyWYZ3&SPUNn?sw*5@O2;v|^ z#Pj=DlsY7cPmKI{Xi3ZA!kH=pWQNJ+K{?a8vn+V-?|%G6TTEP8sRDgXOHa0# ze~`h_Ke$k6v^1wHBHdPLMsctF$kZNI^Wd^)NLWepmUqt6x0B?&N9l*&kvberh+WZ8iqjMOQ ze2LN2{=pl4{_YR>PE1r>1J-4viBl?lSS)()#cU`fzLk4gv` zZ6>y08-gLY#e#x@n3xz~y!TAxqcm*d#DjeatxI7yA?%N@!}8Nx8mYW0>fHc!D@MlD z#KgDNqr+Q)fq`{(bwx!*NvVZK@CV+0*B7Ryc~B_%cUIl%Q{jlxcBs2LA1w8I_;y@p^*pofm9J?0nPYIrs=DG4|7g247v z^cXSrweGTKCnDYUw_d({iP-^=)2W`6kZ`IQv*YLl{^c%Uss;Mz$j2jZ@JKoCs!&sKTLMZ=2$jXKX?>09#_ptSC*v_?#i{+PGSh$_rYeq*;A9nN6ZD_GGH8nkZ z3}|OnfI$~xq12+~I?K^2c?AVV)m-|Sdru^i;930s`OM(U{5c3X*NF%TB_sG8fbLzU z^XT2Q)KoL5IypEv3=h9PcXeiFCW_(I>u-?iz*BL-(kgzZ^}BG#d`pjua&zsv(jVPA zi-yf91qBWjug?ujMBq`TgmL5DW_h07&MYtoaN99{a7b>wpZYuqi$J7VTnw8gGMtcFVrn+3YF4O?MBgJ$2I53}7_ldyA# z7vG1BS3ypW;1R#jb6PsO@=A!^;I52}jm?YKIt(O^`e}ZT5{AWL`-&Pa0imI!$8K#> zqj|QfL&(&C9DEUBdiF zPR{XLHyu}}j8hBrhQGdW+g+;eH80(Re;R|Cul{`94>UANfsMbastV}&`9Oi;zF_H! zSK-5<7ROO9&IqUZ0;s?xLnJw@bn+=B9bHmpW@cjI4D>!6%%c`yNeeTOu*cIKXH1cb zgVWTgTQRy6Z;bH!l#>IXe*%VC-Po9phQ?tgAr7MLC`KHy2vGd{Fx@_C0Wm2g9;cpa z!m6{4e*3|W6je~Be4Sc9Xn?t^c=g@saH(gY^n8n7u;AP@)z)5u-2}KyMMI%+@0P(R ztgbW*+Fu^9tR}eSPgojx|0m4}+=7AC= zoMZKh`Xh)hZj@KaeMFIfBi)?Z)P!N}-39TU`4T=#+9xXOou zVxkf(b1=KH!eEKZ%E}55srUEwT~^-)0BIlkNc=jv5s0um7?B+ez@jEh*8mjY^Kx>$ z$aw9bYz-oSQyD7g=DLYRNJt3xJeX%b2)`L{m<)#nSDVT9U2q0q0e!yfY)YPrs;V0_ zqJW}u4m!hDKx#g>y|qsB-dqMlNsw{@#;GhWG(wgR#s+K@T=MwwlsndwKL@_O0En9)XEDMV>P}?^hBw!1?3DGPc|r#r>7?nYuhdi z@bgi4RC<&1e`qK{AcpAsqZq-v6}r3bZNKn<{+O@=GmO>I1UZ20!E_C8<>uyk+rEO8 zQ+$2yS57{K9a;y#-Ve8g5gDt#l&!68zB!=C*1#X;_YEHe<%7{FMmZT7894f2Q?~YV zkY|s9zy^yPtn)D|FXS;l?Xa{FJd=6;@Jl$D)F+>AZ*Rk<6zT-nB{b#f1sy*_w*vwL z@qwH_qng~<%uE0{wq0CYM0xri^<*2uf(ctb@-t60f#4jLaDZb}RI?NYkRLq8*<*0` zpvZZHu1?2b1NWCfj7Tj$!Galq-NkYc{A?+*5{5%Fj zrH{d^>RGo6{w4({wFmyO{^lt)GYp3A3;G{LuF0z_7|d>r?D3<@cLRIst-W+qY=vh9 zpLPEXl)dbr>99SFVNdhsQ19l;)Xki%c#7osahihrx4uiLj)pzmes6o|`nA6T>ze@HE(rHe7#tVlM@(4dcLOXflEpi^062_7))jA>frO`FB;v@wDhKviEc8VKAoy z?It@_HBECuvuwYI%e3aYvrLk%hnd)RYp@63y&SCy-*F7Xt;JN?U9Wm~sV>#jU3~N+ z>CxQS+-zfVa&n<$ou0e6C)?qPpU>PSCOdp$a2;-X z2~TDxlJePkFSe$-qdl*wDAIN4t*P?)q_Zm*vl_+3u{& zsd`eZMoQo86v=*!`}O1YVCx&@Z&ac$#C)6?t!?Zy(zfc1aJTKzd#+Ugw`a&;hGdt04GJDAcUuVIelae_S1J7|RD)1H&9%AIF ziH%X zP-K8xXW}%8yI68=`mI`G!%*;;yuVPVQplvTNl2~r<{WQT?GLaA!MBK<0emBo0XHTK z8>b5yb!-IsyQgcjW@_VeccsA^hu{itqGSCTE}XP;%aZCU9V2S3pd&fZPS^1 zZa?unm)W8&sZu*_tid|U@QCf?Fn4Tf%L|s7j#~Tb>}z}P*eXe;cf6pVP z1o(EKDFJI#@wRj7@ZOVdOyX8xe=knDZvQ?-46tWqpB^6&C8ZB-5U%@=EnjkO zNOG>iWTrxvJxB;v!e=+&GSptIlYZB<$(Ri{kAU}}@p67^x>dOHspkC(^UjSzO4 z*!1YJSP$m2TT4#c&ynUvE)W8y#_Z?Dl+GM(n`jS_?0%bg0Jh;Ii>>*m`)gbn`T9CL zKQ!H^@noBrZkM#LGtJEyAncTTeqg3ma<;XB)YaLkmU^=}T*jsELwhjIfz+mU$vI0; zwx=grJ>?Eq&Wu!sfa|i%jptTsS!j_MvnGB8aI41Jj8+@W4Y16`lWemFz2h{^3J=nY z50~_%k!H_i6-C`2e47r`$7k#a)8>-*Omr zrh`Z}?6RJl_MVvTF_5&LXnPJeHF1yLCUh)q$5X;qRZRhaFiLu{{!m9c_0*e}JlU*C z8DkzNcOAa`^)aVXWFV{woc3m8+Vn)ooFz$P*lxViex`D6SaEK+$&tPVOV;jI* zkc90dxZ87HjYHRdyyERE48Y-u3HX9T_7NP;fJ=&gxQMYY1$y0;26oe}EGz<-zjj82WZoTU*~)!^mPNt_P>Y7~ zfM(jA-l>MM%-2d$`(<$kMSy-LCwRs+U?Z+(a zQ!Hq0#`~Mmed90ZAW*3`2w{^Q6k`#+W89eLzEe0hDvG_|Vl8I(4Tw?>y*2Q~w2vQu z6@yL8PSe}AGSCCkYR7-IxO+4M}GHk(R;ivV-t>TiBgOh-D414R)i6A-&yZ!gDQb zvKM01Z`a?h1WUDq9n~AR=oI&6mGuO?GcEK#XnXrwT!h^78v|QPg_r?c0P3wJ#lWPH zb0Q2k$r!2FmSwD)^x~v@9|Tp!;OPRL*@UqVarL|4Ea16@#6kr02<5QhpVlz;ye~Ur z)?Q@Wn^f7*$vBb2XBU5?{-f<^b<~*26gmW3xtdFln5|eILbwByYRJ0c$@Xl&g4NWH zUqwL(ev1PSn>D0c!hJ7TSXg+np~wS^KMcWZubW8A6ZYU!o@@mPnIR!;`2i-G)z#J5 zaZyUlMq%V5qp@Qmt&dpjQd4lVO;nOqQ_UB+TQl<;VS)0#{LRU=H>@G*gxJqcFlygz z9;wtZF)?YxKiB$I7%(>39j5~kH)Q%Jd!vMOZTs|4v0~XUL{-bqi082%e)*qx5uc+m z+||*Mik5k}J&@PU`)(Ter2SMz<5UKlES*S`!}=}zZKi4)`=)+$l}D3OTisr`9l7Sx z*aiW-XJ=Dkf-zV-7^2A>o-$f1!|Jxq#8it5-^2D$#lvl0YiPEmkGHr04AymRB4k9K z396~Co_H2A{StN$K86THb7RKXTXzffW7gJF5QPpIR{`onthhB+Z^5UL++zU-YOUxJ z438{WELJw1Atc>&6%(ld)d` zCJ5>E2(D^L*UE*nCJM86GTZcjnj7Ssy9I$|Oly4f4qw*vAUJfnb?N6<=UxCT^34E_ zOvI!#Ov3jw`#;l|{rYBEY~7GJ(VUf$Ii5p)X8TbC`%yq)2AKi)f3dmgAr142=JMo} z6rG!&)82=;n=d#PA#`ib7$ zS%^Goez^7H)wwPEWe8q}um!Pf4n8b7 z`Q5$2W~k7XiZi_)Q3{P4AKLoA(1$=++H{g>lU>{wprE3S6GgC`_Y-?Q2TTDwm}{oD zPbGZ;QyALWI8Ff0bl9}zD`IRdU!TxRj5qz-@-;)hC~%_Vg?lEf09Kg?Hv^Vjgp3u8dzk#!Iu zU&WZnF=H@4DhF~|>?b>;SnQ_n2hI*Zx?BFw z^aMU}=p2?3ee&HCB3vAD8wJF`;OGDAC0>?#n`&riL_a6r>K*fIb9^9M{{1yH({T>*VlvP-;8D? zr)2N6_!lxTg*aF6I$@y82w;Jn1Nw72hmVbHQ51{s&BCiy^x!e^&c@wTCA7;ft{~~# z0wI$b&NisA=lJt0jy_u|BLyeVBIdBNMIzXZ&z zo$5<7AszFj9lp-PZk0pN^4^k*W{!>O6eZ+uxiCEc%PVT$~Tzmt*$3=)mW= zc)mDN(RgImiFB+k_Yc#c7c?VTLwtu)(sQai$3+>Ug; zA`^%a_qlQRtm!sBbW$iOumDD3n#)|-7zL%`#!QSc;<*4`kQxmOqV& zV5MS#?P+cZ~l2byA3et9^09K#_3;>L?zwntpS{xNvXS409k4c zTr>NSS9=an3#&n!)6uHP>T1uHMY+a-bwEC93A}|bW4N?3b2O=_sEAGW$dMzvtUAJg zzP;7_FbIi(zo5aH#OD-Wxe{Vnew;e@bMFaPA-pEdvM0XLL(#=c{=GH>^NSO0T&+ho zG9css{BreKu7uFDSjueOpO)VRBKH;#UEl*0z$EYU7C39-aeXHA#9(+w$M#lTXZ4le z8QE4{L4S>{c&Lb{TL7;~wd|h21-HAh@+A~~^FpGA2SCI8=U+zUcGVdX3R_K6{B4~GLkCo=0$j2fDjS z3Gee1u&P0!$l%eP&U>tJf)KU#+lU1$>FenQOLDs0Ml}EC+h9=HSbl%Sr(dPyCEJ~) zvE55}!rAJ-%oko+;p@uF%PT4>x>PXPaa(0PP`(1B75rK?PP@KlAFMY!`TPhmH7zae z`_=bWTcvKJM^x{~A1ay)#+^Ylzb@1?Y5h_IR?fh!U56|<>FiG#{|H+aeM5iIqSTrd zyM^KB2gB%$yLi++?dfs!l9m<+LU`naY{7<(?dN(m*0gv)G6l5El&S)9<(tltP#Ec&C{(C`*uh4c#pMmA=Oq+! z=_wJs+5c%zpM8`FYW``nvHy7D*etl#?#l}v%RBtjGOC+&P3CXM0poV!jdazrSGE0X zZ4OT%eN{`0eDUH1X)763zJlaBk1CmBd71YrG8#^vTwAp zln;=Vba6YgDkxwpT~}BnX6K-~Fzu zVFBFS6J5FG|9SQjN`%{ND|W$QRz2;`bx$@>8S7d`cnWUK2b7}=N1qzwwjDC12*Vr1 z6=$-5P0qDlM+vf?uDisoK&t?0ar@-H?|&gxN1TN}?hGyY@Lk~W5pBADJw|)YSuGS< zTUMc?d$Vla$ap{tc=7$}2$w?_B5PYKpS1_6C6_DShR1}DpI-Wy@Nof*^2w`25jmGS za-dC$`i-y3nz}?0umUerm1U^10E}DPC)4~_o~o36n`N*c;`_U=E%;VWn~aAaE_Tm9 zkE}%=Tj{mZE+@J9!6XbXp)9~*Qt5Z(;3^uiIJj@cQII2ta-bvUwPnwRqWz3_yNu8L zTJ)E!B{+g4gb)1nftVV;%v~0bhDII>m_c0jOMh)_ae%N1h}w{|`w1DAf(%+Q7E)#z zTpT1StWbvZWe`P7Msb)XEp^E0A!DzpO__}=0&ZjKgBZ+6CTB=7{lxoYd2z~$rC8nymOMkk*#9rlV2mt6Mr4_kOzA*(k4Jw`9rZ3eVM3&;;Z#4DBK z8yOz{2I=7#4N8nbUfuBNG)A}Nvl3YMOEvXW3VJv~|DDdnaZq(^x?V^1L5hH?BQ@_0 zWj%jdLULafuVMfbVU;V(uB2r-#KY&z z#Z&%e8@;XCIggRM{Y_!l=+A$KB%zs#v-y+bqjkI1zKr>PmA0jJZ9Aw~QQf0ACmN{VLKSWIfZzGDy8WJvN|gTj}V4kPo^eBoY|@ zvl&W+dwe%3cfofyUA4m7eAyr@2AV36Z&2Ak$uMe}|2TJYpDfO}>K&X9sw1IVSgX6F zU3W}MuvORVLhbb%BR=)Mb2yqeBxc>-P4Z;x{FV?b#*#2nV!sT2A-`ng)3)h}&piXl zB`U{&wv7b!hDxMrp+ZW~kr7Z{KvgPm7ioEnY|AszXgjX0vJu>qYpHvZlac6HlwrnN zO?9jJAQ7R^&H__)0rHH}GoouUcOz&(c70Izr2&@G*bE^O@pRODpjP!<;nVYoi?`Ii z;s?GeyA*@SzUs+n>GN@x4vZ!5^>5y-a^a`UHDYS;GE-deQm$@bK0HD|3e$*xflyW| z`AWU_7LXoq8EgQwa^-F319ieYY0GBx#l`Y0-37#oy||eL5W6ZBQ$_6KtjPkB-~rXv z&?DxhQ1;o&bl*QQ(p$x9Ov{rEst2I0ga z0AH|=1mDar<>4FLbCI5M8EHNTTrfI1IwmG&kqca~kIj;k$EtcS-FlENTKoF?PQ3UI z)bd?Mckze?aC}4mG_qqJiMGPiZbWGq7k9A>PxncDAl|Z1*O~ZFn#L6!qC_Ak0nsN{ z9$?#~rH?7F5MPA-p+yVFMC2M|?af7zH~Qb3&jU=^f9Zk|uO^NR=~9!a#952Q{r)f; zTk%g*Al{nMidnJ!6rq~u7+!Pg!G0!FE?xovFDlX1NN&aA=glAzRQ9(zS$3dQM(FtA z4TA%4u}puNLr42#Q%^QE|28LdanC+RH3)U&UI5HB5Q~3b%5K*ckdS-@n4w5~Luf~# z_U7fMw?K)Nm9!bu=D1qFZn*3H7s=QRMmqy$A?t}^2pL3@A{K(Pk_V%qJ~5TBY)63c zS=_!2nPt*Kf^e;ibFk=r7Vuyn$cVX5EPe8Ms*oc00CP2lLIG=F=pR5nyyQjVcx^|C z8hjJQO7&$oS~%WoL_lR=mcA=b@HB&r$7mYv4mtNrid{jUc6PS@ zkusP5-XYA!^N@9oj43;_$tDODsvynb&n=ExdKehmD@L61yaEOX1n^>(o$Zj%SE&_- zJTF0P^=g+n^dD#I*HF{Hwq^GfDT~GtVgio^*+fR5Lt>s3odw%E@{SX-I+dqOHyc3$ z3bM(`7vfgEibYxJQAc0$11k|!mTe3`fobVeiWO9mQ}QJn4HngzO-}I3SFGXB-hwCnT4CUrjh>7$hq4o0$xnP%XTjpu z0KvsmiunTO=lt_}Dv7t+-nhAa2c}Lr87rg!#7@|o`4ipSrsu<|D!tgm40|} zK$&AJP)0!N;`}FAgA-(@Vwd~XON7N*NY5{Q&!vEZM-$rjx) z>;>^>RHOjq3_BLoCM28v@G_nGr&p`ovhltRZ;nBuAhFcKPk?(7aFoiQxfFXqxrrjXcn;qO&CL2{){omG3d9v zWJ*Rbg);8ef&*ziPy-8wd;^qD=)ouhSz_#U^Or~NkkF#8n-fp3jp7_GBK6@kr!y;a zj~e6yNLmE*IJ(q4E_W2+AVR|TQIVpN8+G&ic&%hm9Bex`Ge%#HbI3c6E|NbqUC$JB zg_wF|nV&w4#btu}4*eKdgTU`o%~28~uTe8Z=2YKQ|0796hb5p#MPmj452Y1bN1=*< ziVle^AWK_z#~ih{_K8%S8Oy4F)8CDL19`;!M;ssZj$V?gne2OE^aj;DQ8U9BG@U5~ zi%s-~h&MmjG75c2a(o%)1vyDcw=FDAUMQukt$@1G%hd|EW}e!MLd{-Kaq4GN=1fb$ zfkyjATgh9W2Ws!A&@Ph(bI!_Rbx@H&$9@L7W3tLKp~=Bx@5vj`Rk7~Es;}&k$0M&< z4W^fUVmP^8?LdW z@NjNNU6@!2OKg_Q!)34m*J9*VA0A~Coi8=$XB~Ve{uqP^Zva$%q6qaelRSo!;~yUL zVg1;0X9&TaDSHoLd&9DC{P~PbaD-zB#I4d`O}ys%6(7P>ePrc3PY&$H1`8hC1yOe9 z;nSTc%k2pHFG5XQq#$+kGK*UL=-ubYjXm*(z=y9b+jvy&fZW6*!ch{nhq$@9L4SZT zB(NI1>tQ<|IxO%AW|AFIMBu6>cE#G}gX8V=DL`*vet&7^F?mC*1r68nb$}rs$l~0q zMN#&MGpk~mg*Cqu1i_W7n#ac%?0iQWN4!jZ@SwXFv`G|F9dM|4DY$0GLx~zxI^$~j8yM} zXjJ}P>1R-9S`aWpEt!ADwDNcbve>$5+3kU=RXJb3|2{$} z0N7S~$9I#sq?ck2N;oyX1NM{4Ho8*_6$Rz5{s)a7(z8fFI&Lvx#w34kLs{7(@99;4FdD_J4oPJ7>O6lve z&`jQkTV#q}8}qlk$f{}2h+TR$=fCx5pybubM-UlWv+Oic>A@kaom{a=UW{=v#$OU$ zMHAoVdYMMA*tXwX>>LB6{35J>o&9+zLHVQXL^o}b-#*}M&0BWU1tZ%U&l{IjP|B)` zP5CP^N&dNFO78kLcGcZ-j%Yc!`!6+#MdIkKafRM zt3`H|?PY4SY>j^>m0X}j)kZ22pnK);(seGg4_#4!`(%YED4b9M0z6$TMydPx_pop~Gwq*~bOu+OTL06L| zP-|!}KQ!$}t_!@{v~bNfR9L!x_;Mg*A(*8P2nR9mPHls%#iiFR|1)iwO#2&Q;|}Wm zF4>%ASvaZ!ls44fB|>aR*?gdB_diXSSCv7=-yi3;EMY^Eh#fDV^V{{mOEs?+YhZ2u z=KL}M^p2eBD549>P46`mW0BJc=>|LtJFHacx{14#+w~|pdlx|T~@G&Zd;1uzHuNl+`SoZC|mtA!k*+V;mM#`0VhRlQ~cdw%en z8kDGmxT99_lBG|ib=yk)k_|{4RG+PQOL@5N^fu@*4JDxUFLL;iE#SQ;R)C>>piH!@rM=@=aX&0AW zg4SeoCy&<0VW?Qt+0V_Od5yznzfh+c>i&GjcKA=_0vccD#({N$Kb zigTeq?Ip_%GR~-9o%9-jCek~@-%l#~3mI0tRf8tR&b~g_MaXs$y#!Sp)hwW4`x5lO z1qqvIC#tSG&I#4d_deaE%gc~Vz}x@}9qb@*g0L?v>-k*U>UC6<0l6#OAC_rWEG~S7 zo8t0jP&n1Oi-*3c5d@a)_V$m&@o<*|*MxQ$1e%`kWXqT<6oWy921QiZg)2ojLS4Q* z*)Q{R!+c^;^@~1^N3B#8U+0=~s_Z?7v-5Q1?|k8R;&3U=YWsi5nNuD9UC{kI*f>+) z2u=CNpl$n%=TGSCpMd^+XvQCe?pHS1Tdhxp8_dfT+$CqneO!!;y8HUv-oB(tj)C^p zQ|ptx6$2+;C&Iqci|OhM+KrFF499mC-tiX312+it?8_>DmpLL`<50&Q;=xNMu9*~jeJ3eZYA{DVZ zwj<>*=THxw@sJL{kHnyd`*4N?^i@Jeu?u<*(a;REWPV5OQ7EH$r-GERA&|0%H1T!I z7k13tXP^l(e1|ae>`#xxCSIJZtqmBQQ_`_(^OlsDsDyp+A1k|oZCDDH`lU}m_ z9=(Xg_E&D8kCjNvoO@}QhV| z=s5-zZH6&`t;<4(eV)Hv1+}sEx(YM(pv$-63m|<*E{V(@1FuG%GsX z5$d?@fTk~-tbsxM8b-~MX(x(dIgl-`hCxE1uWkPveuL@=H`Xi-z0QNg@o1fyE|?ZF zg9c{M8IH($qJM!&wnCllQdvkP*tP?jDde#!kC)=Vj3pl0X5m?v;H60FjwzE z(ZzVsD;^pIL4VAI%Rk=hmI_VPm2o;SpYY;)Do7;m(AD>gk2X{XB}FtFphe6l5|XM5 z%V;7;)@&aP70k>u&dngyf-_W#l&`*?QV$8a+n$S9Df{`w-A7F>Q!qnR{v$;{Lq1^Wyy`+)((J^%UCibdU8(OtK<$>lB9I>?XWb z{U^79vG*SsNtv!U$(nHk6hU)$98+M~AJfuCa-@(TbTte$X8}oC27MePd(`u*s%?p~ z+yb8&7$wOMnW+w`R;E!tiN3a{vQcIk#Du5gB-*@`p#SVSTfTwhRQ23+@th6JFPxE_ z8HRnrJoM@&!Gd;oD&o`4J4=xOF*7-WTDJ>@8^uf-(kF)6=|2%MlY0@Imy~GQ8xT|X zE#HZ_ter4`6AgLB;vWYKU+T3n^BYKLHkP>e)EUAXo`df!3#=FBfMGUO$TxqQA4^U3^EnL z{-fM34V0CDEPe;OCm>zK0GF-!iM&`ADH3%nya5%vnPAq+wzw=x(WK@wW-V&TdrvF@ zTTDp-TfNpsRM8`t3r%HI1unDA2`Hf+H@UjN50rx!!Z{Zp&aw00x;~5(8`C!htSlPN za|HZVy2w*?4wcIjCdyb>;Tv`1jP?VJKy!@=*D#^`9`@)u^C+0j%gvV@U%SSo51s}( zy9wch3L?CFUW0WOGs_G7Shk-JsU*hyif#0f7M)&oRmlItE{A*MJpt~Ux{NA3h;%i{ zocNW}U}ZF3OIzK7(Y;Dr{kumGrK{95BUx~?<6k7Fzd+Zs=@29MnmyFSg)CJtGf6OD zkTRj*r=2M0oE@=fD*3(=vVy+EwH>)UmO!H~P=9}D zd{m>OtLqxH=$EHamNQldy?jsH4J5hIW+q%wepkoN!@l9mjaM2q-;6ZK7h(dtxW$!@6DQ#%cbryckhdq4lTR_2c+K#k&h1qoG zW6q7Qk2k?M>lL^VG)eP=p0^W5wfv1@4M$s`gB_sr0v1@VNoM@Zz0703c2Y(|+E%%F z87m0uCRvHkj<+Ig11%AT)$YI?T@uWd03{5W_-61>*AyC=;ko31B3uH$2NifniA6?| zjqH&dEmDxvkqdRl6qaf+;Wor^FQqeTDL0@_4&#LeXeM(A#!E#(wgvygY-e@c4i)$- zIfJSM(!1_}0v&9L1s>dDK52^`B;M^TjX)a$1CPK(i(oXy5{9B+kdx)UH^nd+$(|f# zLIqja7J1+FT3AZ1Yv;wJYe@lGkCrI}5G%xBs1J5|1m^gvfmA{p_K${!Ofb4dAoqb* zl%2=%(*(~aN)3`FiLP6Oo067Ex^NjA5Tu!)gNHrHycEsHu*nA74CVtM#*hQLXS?O0 zen-v*%~_(?SZ~&42P!3q?;!Whmu%iZJaB==bWoV*V7Brmbe8M~kgf)@ShW~0p8%>G z>nah9F0?;=y3?WtU!1b`F2BrWV(Rix57(L-vY#!6$=g&2DPwjbaQ-kiQnbfaN(MzH zpAIMzo5Ph%4(Q-+JklyHVy<{wR2ios7)mNcDUsOwWsm?DL{lLRE#8Q-v=W{cs?lR; zla9(`vqlJ>@mubI)L-{NYpqovIb5P5{2MN1tR&2hD~b(#1t1Tp`i5r2VN?OcYU4bg zbsIM#RKL8@02_C4lsL|8p#Ya~OUwLVtecB9fVu%!>z?JzU#$Ow?_I$iN0Yyp3Ao%~WyTFu;+JP$_rDA>$ zq#anQs3;#y68*UvgG_KFrD#FbCx+#{)aSIZXm%(A9WP8%!;lBNYy$kt0rmH<<_&Ld zuBYD8M)P*Y+<=MCp@Kl3!k68FvN*#qUfD3O2#T+fyxQ9~QEa_JwRPi%uHs(S-CpN? zx>b}JVp&-=WlS%(p2L{N6_>l=8H*DfqXIzS3EYOqAYvboS2%C$FfnHVUjXqH7a{zFk;8k@NeIALBAB;tf{W< zZg%$EZ~JUdDJUqMIPnmlLfLd=SM4N)2HOsKfkTHXDl^h<66HPWyyAZ=m%+R{5w1j_a&&dth{gJy|NcI+uYOIAV9Q*^QHlI0 z93mMQ%uTLd&Q^HcLDnFV8_o5hdJUSbgc&nG3EPirxG6E>V#ysWiW!KUpPwI^QOnDFJYhtM zxsEojdjs7DJYHYlz{n)+a7T$Q^`7JLI(>cey8}MA554A6BKU-##XNTBqS!6*W;I4( z7dJxGM)=PWG7*YQAa;=ly4QL$>xdMb{DTG*L||*$z47ejEMK0_OX2S zkaUm(U_5E}gK=mL90Tfw%8OVm_E+2n%zI1N?YB{H-tc+s)*EQ%(c5$UoNQw^1B#*!ET7X8XNN!zB9~etmopyL-aM`OP-Qt^0;GPVI1-Hx6`|R|hYK z`M$%a-|nu6kB_f1%4)Pnxi_><0wx`Yerx!F-We6{)tKz#va6NMEl#*7<>9umTu~}P z!ZSQ=$phY2G#vO&JW)+e4dqNdw_&35!UdlXa+Db6iZ~roeB7X}fQ(ASaYxSc1-Na2 z4hDx;Jet6z0+AgG#=6uPPM{7KPw(;6H* z8t%DQov@yOmGe|QcXfW+FYr_vIa`2UOv9Tu&#n^?5*qF`vA53m+=p@s^MR@g`iqL^ zR5)SjeMMIXHhp4{vHQRtrb`{^8uJefKrH^y^%@~yb6s6sP$x$-;xMM~u;^tKiTiv% zvri}kh8$mkAqfX1VLs3G;lqat0f%H*H>vr+;JUBh>-wu}G1*%u8Iq(3j<bA?@miQ}O$lh6K_U`T#`esz-3bDjcTUS1Uy72wqRU}I~#qhG(?BwZ4=mVcA` z^%;i|1{rU2MNl59BvW-pwvN+VOM-X7mf+RGF5V*eW!Vig;y;BROrg|e*u}mGX42Ng zaWpLFyp0T(D2H7rFu!Cw#?wp@s;$W>D{pZ7{(VzW zjR^}2BSKh`qo*OM8$UaHFFn1^)s;3Vgw*G{ZK}=G-s|ikr{Z=cKV0&EaP{7g zA7PyC>lPoQD^&_@5@4tQf2Js3st=hh=$i}4xTasK6)o+~Xvw(N#l!54!W;bIsTDjoljn><#dphr4BHrB41inleCscE%X_U*fY+C{!RA{axK>}CRjb8r(`Yn~cdH%lV zSMYehG$Bk0N^f>eanWBm4Wko92#mR{Z{4s9tEp|~<|#KzS|!`1N37zC+~$0+yQ}D8 z@^BN2V?sK<`@*xnHQ8({&N)&cfJcK0!Xo|f|__UI)zhRwvpGqYQxy|o6V%oM)&me?DA2EJ!#0vNuqBk$lQuBV7+Va&Gp+{TdhL_EY7ksHo(NixKZpNZ`a&HkaO=+qW z+1{R0A89vAySlmcHA=pU(%~@=v}J#g_bif@zE_f8D75{)CtFUW>m>?7>YU@R8Kl># z`Mfxn;7TF9!UWvW1+wO{?@>ZXof;#t?AWncnwFMU4D<+iRTc0J8z?Bj(2OK{5fDr^ zIIzcWqL39llqV9I$2ZpDBIsiy;l!gC?RySPt(;fqqj?>R_vDQ88@Oy^f50mK^-G-T zl2yStFkoUqK^pXy`3D3H4Gx}x;r6O2^bRh8T&69wYtfrO$h}eH5*SRyS!I>eq4+xO zpOwD2ZPE-Al<^{Z3QYFxce=ZDG%uuG2@mmE({}U0QIrZ}Vy{>gq(aQ;*$BfP4>z*% z@sZ$lLp@N$B9Tmtji;ioApZldZ8GIEvL6`Uajyl1?s9)p{n|I5D3g=5Q0e|_%xtP6k`dzaU;r>xQ8mu-) zMQpTA=G#L>RQGS~-dsLqu?kZ=u;jb%K^HfCqj-*HSP|P@fIBc+P(PXAx`w^!L$&|M zkAf{{uv8GW*55@>RQCibC>BGA<#2v#CAo&+eAq(5`SHeU^k{Op<1+5Fgv%U0eArZC zZ^11uAAzP_O8{^UuO6oFS9}c1J5PAi*-KI1&mBB^pSWI=vIgKq6Y!z z-~8u3vz&TCdkL(~h(PjQ)(xwwN_~w}KBuYqc0#trm4b1p@c~D@DU8CKH`)hUoEs;P zUwLhkQZc)&L&^@$tUhYIMi*BQcuymjGfYCf&2jB=J0(p9lhp zcnTKCr=uR-{%oGM-{gd6sw+ge7_s_3=aF!kh=ihoZO@7I%pZ3+tya27cqKhBn%t`t z$xs|9aIE-|<2|VdB6`{TR&2|kOF-S_@C$0ES!L=y4|odBfl~IoX$htx-d(D^N{R3U zP*ak^ol~z;O;soBZSsZoN9!Zefi|6oT}usEG{9Ig^N!as;g|8y>FfMa&hc|xv|#&r z4s~^nT*7huE9v%jc*UWJbiwwUR7;55{YATwJ-0PK%7j=IsO!8czcQ)>mwbPZll0st z3jr{UHEY&D!{O`39S+q?pD8NE)#%za91ho`y#|x*s4O$m8Gt*)>3g43&q9_1!XpP2 z>$x+i#~IUvJ7a@-n z;huP7ryn#qvGr+Vz12er_}XwIKT<|4eMW!-!4nh{s(-DvN z1gyHbW`!N?W`-bL_8ebVhULZa7F-;h01YUJw^P}9J6Q_Gq|z>EYU`lMf#a z+T^U)(wy@W_{30gD&p+h=s2AV8Ue#`1-Et+fpXvdCla|LBnraU)s}1f>cXK*a|Ip= zz2ol6R5Hz$+o-m;6Nu?-PK2CzZ=rB0WxYt0NsB)zV)`sIqX9_?esVrAP{G2aMF2nxs+O*as`Dd-5q^>rHa z4YHTxDi{sE4Omp1iancN@eUYL?yt7Ch`ScxMS<=sVe90PL{~rD83UuPuA)=C-mJ*q z0#N}PlP&(o1dw%GL2Hf7?3Dypmzi4@QKPz?N(6L^m%*nuA;{;{%UdPc?uDhCFa@;^mSextdGWE?mlhcY<=m-IgH0n z*+_VE>YY?qQni1$X)i(gvF`4ThU~tpF#jFs(zcoSkTqT2r-H$pZ-EOOJNBij$`>xs zq=~l2h?b5{-@w2Ck2kc#O|+8C^|4#zFFj$S&Z)V5yWlx?;}xEDk(fG%-1XT~_BLIe zIy0jwcj7+l{#G3W8z9JzlZ6q)?gW)MAI$RT0^iRYv^$PVae;_l;Qe{IplF_<-agAXA`MQBu*d zSupy3edS2H4Ec^SydQANT4+`uj$&s+W1>ZIu(&bfT8!$81>dURpXy259%M=Y3F_W) znjHVzw+*&?o!<0i{auGIXbElL&&X9PduBKy(aJ0?$d|XH0grTpD?6(R8TJfj(ngf6lFWx6RaT5#Ri2i#BBJiSN9z>vK2D!n< zsNXW`vraw+5~;fE`}cFVzX=cyNd4waW@ta0K#?;n&~ri|Yj^J}=a#Zf^55$>@g7jv zQ;@3M*H_ZF8HexT&`0?XFeYjAu?=6<31Menp|9Q)Tr}zpL7x~hw0fPkUBQ}72Tcq! zlGBK%XCgrQW?;CYe`R=hbcY=t^AKV(|LM2*KtaodMpEMkqv!Pn0<^ys-al6p|HMFf z&Emr7&-}v^vW*dWEFIrH@I11f()>>O=G&a1IK@oLGy{gE|MsX)8wYz6#hIMe)w=6c zRH&#Pojx78ZjacVRlELN*5UmND7r@ps{d4!@RnZZ5uhV<=m;)V=LNGozmwV9m}rg6 zAL9V3C}|3=+(D=6<(;Gbh>NJ9UfZKZkJ)Yb$3kEpOkIs29@Hx{`%{VY@-XcVc;GeW z+o+#u5NOP=kn8FZFL#O;{U4U6I7VKAA`m|jx@pg@AaYk`Zv z<<<-{P%9~Mu7(>Wq8qi8=sLHAhr53JW;-=noyPX!?7WP;7{Dq@ET)5Gln9<|oM52x ziedcL#Je>=UPF{VcI?=%`c+b;Xah_;20(2gIy?WWxG?3Tx5U#hh9`>$EReBq8ekc{ zS6jVLaNP&cA&;$nI~(y_a?+y=Cs=5Ez?1UcRncnbA~)&k=^_^9A2#2s`q&t(j&~VH zY9B-tT&kBe*4A!h_w7GjXQ0K$_?;-PZlg|w1ImlUFuCNe-+jCJ=F7J{cRNJA!_Jzy zoII2L8-))|#%^vNg#m3yYBu`+R-1UPV$D|VYB~!D@Y)CvfL=CY zBNTQ{2|^(O=olqNmq*;75xe;c&jXG?Tw<&MY5FSYWzy%A~S}B^4va=nuq+p6M?!dx-3JZs zBE%?KTnibp&R%?WdJm*dOs;6JPM*Qi(BqZQFpIA@fMmV~rGmCz+3UWGiCBj+=d~oDKju7|`sRc@3 zszy4Jpr9FHxKq@kH{sVE%y6ses#D*gr%X<62HIeb^vs-jN1Zw+!gOHByug=>0;!sRl065YSYIMt56>1EZ`n%iGVgUt z;B_xw@iKApiB3cGGP$yH*H4>9xlVm-9NRiBn3%BPgO=&*x)^Uf5SnBNCg5^r`o+nE zk*K&RW*CkL@GI6Ir8SoatS}hPKc;k+LB$gkz70$Q+oZ235`zMtHO86eOwcM3^mnG5 zy(oDZ#rr^zQFm{J7yI;zTC8mwaHkt3cnSPvM1`DslwgfQt;lU}P6zoB$ReE&Uy=|| zyXJ!8kich&CXEsHzkv2fD|(p!1^Ot4CeZ~`XfuSOt%r7@clJQdHQ%0!Zd zNp9a*qt00^{7ejRXv|%CkC-MZQ|u(wl~1vaz5P_ zoN7uSmmiHI_d@gsUd_WI;I^Ll>6Fmrf*1<<2k7apUvC~9Tp#5MN#B3_m&VRDfXO)~ z*jj$Hx4(`goUQT%>Hrj13i(kGku;Hb?iRb@hMFH$~20ICRMe{7Cs+ zLurkEwbeJN`6BM;PTp3i>cqzjAYtkQ;%oX!$})pFqElz8Hpw^7d&?2f^?Xl5twkyZ#>#Xi4Qjns6_G&~cvle)S(&qa4xC?@{~NX*Mk8g5xz zRx61R{69_#`c%|pP~Qh`v+H|(*)tE1bIKQAO~|Gw!h1MA{#mWr4SuJeN?Rjc3paB! z%vsGm)%#WKG8c63;7_UDHD^HO*a*)2^T8JnTudVAvUHg9HerLm*PYlso+fP{Dh!f* zapg&VC&SB5pZC0G5crCvbOR~*Kc=9gKtTKi^?SPe8nW!Os^xI&|3Hj`&}Mt$U1Q_- zaZ@v&IR!Ul#oh6VXM4R`$@d$&$fr=IC#W)=8ZZm?9*$G~-t!9t##7vX>}Md#Rbhv~ zwj*Rxu~Gh#Kl}#~vXU$d-uelimXqt%E|{ZU`}342uUh%fM~>Vk1$R(-7Du70LYXa&oL3u-NzbCgBtKkW^39i;I)7ZT%j(;) zKUTT>DTgzc?3NT)Q6zWCrW`onohG_JkjtA*c8~98c{gg%QS%a*_JNNz-2y;&Q1xrT z#YRVKBwUd_dh`>#_?pgE=bRUe-~MPHf>LYuCn}ad^@T$+D*Hque`n3H>!VKl;SQCT z6~8UY&*!A^AF-9%j6B>4JbXPQ&%8Vwd4+}L6P92WcLSjImRv2|KVgI3wGZ<_iXfsN zYn+4s)R4MLIVXzzB z$*0?C_S{ckx&+jO77T{%eUei_!HC;-n&*o!!f#6)hrXyx^jhG80(x7sD_4FZ0UzqK z@J?&18p9|w<_+%{_O0foz`Xnr7Pe>4SLkMDpL7UPB7iaE8-jfFI505q{{8!IZgi+9 zE9JQvM3nU^%J1JN`zJDC96WmRadeNq*xK5{d)QrPOyOPoP@zu3@59s;A>HxKI7*qJ zxE|m5w&y;O#8g1VLIvVACnxQqmyOEhQ34cekX3!lqL? zlz-AGF}+-GyX_x(uM4@t$hI(5qXKOwYoXZsALJZ@q2SVh@D4Mj)%npM0O2n*#;{ zAR^G+1RhO=PV!o5wOHlv_46G`GAI8!Gv?duqSe&9z1(RvyXJI@N`uQLy8*^P65027 zhMpt+x7NY&Wp@RGmHy`}wmjUXC1kc&`Xol%&2OcoZ0o%w9gjWpiG2B zEWHDL&hX9**xl6VsH(O$n3b-rs!A1bF%3E#!04(b&_)x?#!8)?nb~frLVcW_GhQd?liBB{4DGir9hSa ztKowoq3yik&)edS1P*oS_bXA4si}GOd{XDp?L+<~q&`Cn^giwBZ~=2vGy3U7yhd)% zy-HU)7-A1^!FCCKck5dr*M*NWSqN>ba5*{`Tj-`oLWKMJ?U_6zAujF(9$wSwgig5# zu;L~I`#?<*lJ6|-xie%m2EIx};Y6*vl#6cCRJB#h43K>*P=(6od~+kWseN^*#6tn; zmBB*7%F1dpQ{J&3NTC2g84YDV^Qy9(WvI*!#|wCbvPA2Gg@uLUliIe20g3MatItG` z3dP37Im3s+zppMRECkzY^nHL-Thel60lInGVy3<#+ydh0deUT}W71vZ9t#6A5Y)(4|~Tk+;5r8>|v# z_6`dPu*A4m#eK?>%!$98;lW>9jh@G5rt0sPj%9h{|6f68@&4`{^hM!gJQ)V9P(bf( ztf`p*ttbeiA8u9;9t;5TRuFW`5LrYa-RESk8$gQ{@1HUlWML802J;W1=g}c3-HW6a z5{9c!yUF!+od@EJZD*VD5qxWC-hu#BUtg~l66(6QU=52#pdhs}n{)bgm}Ul*Z9ugz>SqreTFS+EUoKA1`N7EE4fE1aT!atrdS0r2#u4V_VO!70G<=l@<_F|^~E zOihfv^4b4jiXXDFva-DV@lGmYdaBNRz=>WGoura(;O0zl(3((buAsFDDeHClH0OMv;M?SS$Z6mI9!&$JP zJut?6P-vz+&|hpd@%(%jLPmx)kW`(~U~wE@?81h!)l;sHXjfEIW9RM;hQ9qznVX$p z_!>?q0gJ;_V&JsvH;`HpqzMiqS}TR%Br%tjtwj>AYsq|JB91+b10~&Slg#;@qvej@ zW0YOJX9%Ja4(%YS!K)o~9T>tAQaL-X<-Q~w?UqYnTy=@u4c)=z8-+4!&p$WrSeQ9D z@O1Ih_-0u`knmLy3yBUbLbpX|K>rt+YB;`KQo+XqfB%sv8+c9;(7QM|q}vF1?u?AK z@<1v=)HgFvb8v`xc+$%L`gGG46c*H2{WQiX^)KTKHJAK1+wgcQCNx)fg0t36b{4T zg=T8%)q9qxmskRwh8qJAi7yhVy1G29Pt6}*d=5zRP0WcWrJ5Q60Kj5=h(P{7p9i6N_>fw>aUOLqLTs+ja@>zeNaZPeatIG_u;D^Zuv`bA2FoVF zy8*~BM=9B4n$#Swz`|8QY z`~0MdOw}+jG56dyQ@0BWBo^0@1hs~H!9mTy(}BfhhM3e=Ka|kl-_wVaRI>l???M1) z#tNJBI-}zcJMCd4KBh(gU4YkTGrfW0@#|(pN|1=;9#9GvZLTps;!`eQF@&RrsQkc{ zGIm~cI3W8G=;!AL^6|jH;eGoi=u!t}5FktP4AkW0Tso$v$x@CACw`iWLaufE83QISQ#WqcaxWA(1&LA7~MB%`tR|lx;lKlMMo}Mz#7YHf+F`k_^I`tOa0tWyhmu>;V#r%fCa2d(~?@cl` zF~Y#Y)GmWMm4S4zfT9LdWX0Peljmr!d*eLLp;Oahed`ff^WW!Mq9-Ke&T+cv{O{)m z!4&AU1U@mREOOeInGq5bSAvf;NTu_>M@eV9C+77MAo(`cjIT5Tv`bL{8sYXl#Wt>A zpiEi_53exzy&q`Cgx|(q5ka-N;G-{OpXtU@*yv zClK__S}0t++k3XN1Ln+Uru$qcFS?y=(TVunVgk@t?J2o1lADM895@n~|0^y*jetr? zll~*G6GFW7yYe6aTytR9%3o}~zCGX5`--_jQ=zV@ZcRBvi0|MKhmZnGjJKBzY()I} zaOO4X!I}3BaJPz>8muj?J0FTGpJcl^tw(2T`B7Rryg=*zHicnz!K)E1#8fNh3m#pf zI4Y%#Fc>69O_C%_Nup10#E%n}W0-OX0~v{h?5u_-s$j`ZR-*Ba!JMw&$NAC~=ffL2-)ZA(ZO8A0KDgstJ=27b!y%0eb!=^47j zd2MWD6q^uNT~iIIU_^)0Zr~ZMrl#C}bsFMt{8yq?O6{J-6>5Cmj4vuG>R1@=>+^8m zL(iRHtu$8G!=+371^;vqYq-SVW$s(^nR3JZk^4zb7q^G#aD}Ya`IIwUTUoc+y&u1S z;>)Yef8a7p>3}LyaQxXSq3eHqANXK+LAzxMS_}@n?{AgTJooEFPA@FOpMkEqo z&g0*ax~;)g0y5KEuZI9-xt17|W}BIWQ|DgMy1XJGXXnKTwN~UN}caYwEQ(c;l_X{yGHTCW5)38C6kuq!3 zav3u0wXm!19-UP%iUhoSfE*vHCNi}>Q@2+vw7%2b1@2H@QV50gZ-nD zNh0{RFw7YK!wG>-YVX@wx|XvzHoC(`InaNZQaRMLHE}@L!ib#=oV&o|9ktj%0mzxO zSH^2?OTP{7qeQ3@shn-(f8vrD>?931=zB@#A{5E~DbvRGm zJ$YvFpnq88$SV{uXfNTS5ufvF4K!7sev~osQwPX6%%eaBg$FSf!^GiB5Izw*bYL%D ztQQwsKhgUw2uH&hY%8M;$gFDX7%hSRE9>pCYjQXCQ#p5? zl*)q!f$Xk{Cm>6N0G)f2?^X<0K+srLW34P_I2Hrj@ziqT&(2P;urQ~aali~~3>45CB7OUi){XNgjG&b~I^3~OGYTn*n$ zbz?MbgiY#C<`%Si-0(ip`(p@h%51dphj+MtA#DA8K)K=N&29B*TRC-u)$A!8Z;}Em z^Ffs!ZXhGwJV1+(Ihp1Ka52&SxW;DIWFZ=1Ihyg&l%6gv!60;NWcC#5g?54Y|4H!X+br2*L^BEqLt z%bI8KI~5LG!WcxkCUX>qwbC(st29`L2EPdrQriAKTTKLoprc&jaso0!tzn-QPzL@} z{C&ZS7hYYDLsOd;>%e(*vDXfhWaala3+J{sE2qGPWb)xgV6kOua4t>ohEftLpS3RJ%!ihuHt}-Ha~sOe0SFhg!2lP)uplO@xiPoX7n)dD zSS=Sv{h+ut@0RrJtg)JJaNn6t_;3O_wy~ciW!l#FFduAqeQdL=`W#se8jf+!q^mme zDs+-dg*|WyscFp0c80^Ysq)~13jHW$;wLvZH-HwA$JL+SYWyFVHX7|qsQK<`n;xA0 zcUaAZO2Fw$`TyWVnX;9Y)rZ)n#K2`U2(|ji*;z_2KRDJ4j+>;lbKb%8{f|=mr_>H! zIxM>0AAc7CE6GY*EY8B_jDg;w;}4abGeGOzR71^?mQ}K~_3>$K*6+%tBK2p8mInIw zyVwL*Cl^MvKj#PrbbtIA#0PDF&W6B5dp>2w{2nGf-cFhmP2+Vb$2)hezgX!hDa~dx zO?~#8jg0?#z=z9_cQJ~r={~si^R6Z_5iv_$f)1QTT&;%gq5h9E@3`ljRwj!(K7~&V z25tvjj61)GwFe$64)lWX>46N6fwd5DDhs(uO4u`v1uZuQz+#;COv;W@D`xn)e1Z?& zXR;z-pKAq93L}QSH~xUdcXtyeh$tUPHFuv`F4i9_4GW+D+$pWx4R5`<9NxcPzSXI< z2LFb|I}%&Y@}HvU*#tLE%gq2^>o3~C|Cg@kN%>Ot3I}@y`jO}1HGl~{=#=7_%Au<$ zVQ^g!qD~Kb_s^YOgF#fTe?JO;55dSqbIlIx#Y}uC*cXvHHahkZm+)AzS4wt06e7Uq z_u3@uzt)oE94K914t?YgVK6)z*R*enMKE2V{3DQHE^NE-uPy4(L zCO^J++by41y!tM3b0-IeG63SDxV8FEUdT4kK7Qpe8*&^zbpzwe2KUL{N*e=+qL`ksO*q1L~4!CPcxO~#)(KC&qV^9HO<^Vo`TW;!)z3r4FT~(gS@6+C>><)H#%od?U9gezJ&Zk6 zrvS+y!Hz~1A0x@hUi1Il^&iT7G;!j;Io~pl-QAgaUe9HR6P@SQ&YcurlV8{pk+Ubq zoPV8nxDN5$CF2mLA8dp@C-vEEV}Kv)A;8WZZ;%O%D5ZX&$9e&G+1u7Y7v0aBzjNh8 zT>D6*CUOSl&#BTPG$s8XNyA>o|I>Vyousl^T`SNv2oVJ_ivvY zL%57nQUGyf6P2Exkeoa_UOl`YNXXU&etZy*3kHF!(pO<-=GS@-U^{`hwe&b&goijV zo+CQP^BoL0~8kEgUZ`7PBa z2+uDBh@}8&661JOSwV-L7o08++@!tVM2vR_#5q_?v50bkd>GI(G?b>RJzZrOtRjbq zwVuWJNUO9lmyVh`JFo0_lMY--jK@DNNq^wTg78Ad$dki>_pkTQ^Ri$3ZtTh6Ys@>$ zhInf5(?+i-gQbNR2iHDM?UL!$o|N%Kz{gKU2BZxBU9c_TOgtGFqF{qLkq?&Zltj{l zCIM3yW0Q>lCGH_+ywxL%lyb^dT!6U*SqpG|PvsSUe$6k+GjnlCfphmcW9X8rIlK}2 zZYh+ZGNdeqH0DlDPRA3)-7H!-_lCfAa5YqG`@Vde)lvhQuRVhN<{(t$cx&rV&UAC+ zp?Z+GYw-vBtvJouW}F=;DDZ(&_!W4UCrURn>?;}I)iekMFk%pX#rSc)g+F)LvxqW# z#l~A(RrRWChdHlcMm~iDL5r0nJT~sT^O-INK=BkQv9gpP?3rIltq+SFJO^2bm&fXr zr;N0c;w<&V+^FjLid=f@6=Nd-uG09;rT)E-{^iXn?^H8RC=@spfMg8dsB2#x&F??X zZjS6CBDMww_rUYVBIm#`7+?MeO_BuY&~7$;Q+X1C;GnvHct?w{qsRwA^6}W;xW5Q8b*V|RHeAiIENKwm49-|2bY)>=I0QIwie++)9p^!t3T`D^An-SH-O?A!ClQcuuyL{-##^VMK`EMZbDY!B_U zcz9Z^Gzl{kRbF>XGcA-q; zg%7$s9&PVv{XCYC?z3ge2H>2z1%M+VM-@#?f{g@6tpNG}I;d=EwyD`ufb3#g!u9j! z#EZgxtUf( z@v#yY*BH@!<9xE7B-8{OaC7)!1-j6 zjCK_?CjL{V-PqT1ibSf7Wqo0fz0H!#p8VXqyF>ld%kl`XOUuQJAyTIE-FeINh7`;G ziDJhHVUN)tGEZ+OnhP}+KF^}X#0ONZr%2WQSCp}S{ZZBr{J@|S!Mff#y#Vhbg-~7v zSm}hQ`n7Q6qbPt63p~-^WgsCyz0P!%od-6GZHb+^mndApag+UD5frFMaW7sB78jc= z(we_}>ZS+yNa1SR3?GBZ{dwT*ECwEQI7@EuCNUZG?}h^Aq4nwKEf?{&x~vcp zIqmKOLocS)C+BYG?}7EB($#$^_5;QFTy})s=OY<-ZDGRvv}{s8&8NjkwwHlhP*(9T zb#B@f*eDBU7=3nt$tU=K%-ird^0X4_1*gg8PpY8vl5mg0fsq=a=htrk0syyb37xqS zfFh;J5P$>RtoSH^_Z#-K_Ud2=wX`BRc?2qj<4`H`>tEcO^cQlR)3^JVBF3Y=0QCM zOoSMlB_I>@`u}Gch>zDmw}~YwKoUF{4?4}AV6NHGpKhXz6CatG(0HfCXWWPPcrqr- z$rgf*jV*H5c~H`_a%Au0F_J5CI_zwD<9)yKC*kH~6I-W=hfZ$2Fv1gT6px>^<#iE~ zHdUMg?3^{zzP2PyV9mN*LP>F9Ic@{OWG*R?f7)|!P)#luA0MCQ zd?%M#xW20DWE$AAr_>+0xUW}FHh6jngN5QQY@NuvGwVO-3!L7tODbu4s(gF=9tO7kJ?*R?+y+N>>lP2|-U}X+&mx3p~_mfsW2}CG666my4xLCpcAfS)Ym2828`JoUv9dQS*m?!3m$>2=A zEz`J@s6vIf^XJj$PK+3-=ua6D7@mE12}WX?5SH z1CJlrnq&^FyZQRtY3cy-TT5J>Avn)IZ4Qw!bg=HJJVM zoBXfP(S^W+)!%u#rrG>Xa4)`mhbN}5g2dT}C(!+Y>9Q*+#P#L=6=kRWJL?(Xag6h_ zzJsPVhv0C+Zf2eLjYHuQW^=4t;>&H72X9{2LQiuEyH)Tpybl&UHHz!@&OxW4x_;e0 z81aLtog4$XDD{yH44l-z4!mzTKnePQY2IHV^r_YDq};f=IxZ7UXMf*fg500ihF#Lt zv}!899S`m&^k=AI2pRn|OPt6pcN|kPD^CPR?B})6FzE^+O=tCSd{B0_vb_2Z~?$@P+g61HdC<)&VB(yqx z0k(&qpmn`O*K~_D7sP(gMi=~evs$7-o;%Q}1te6hV7Lgk#dkdv*7QvNqjdCm9b8?s zd~nkgCj+NY03+l36e3d$w{hUIOYx8$%senMGGf*}8gV{lo2mX$1s)yD!PJJJ0npm< z)4cy83ebo*-1*^z-RVYlvc+gFj| zuB{>CvulHfQVZ3W$RbRX9RUwqw+S$|E~$H-yPTYz4wV!M?t1B9W!g8cp#{1d;xov0 zgYhmCMc;W{^|XJ--u8fCd0E@)vHP6-{(=`QEQ_Dj*qv#fg*Hz8tSppM!80T$V(jY| zsrft&hgxlxRK;4YQoH%%g+S&bO?^&}Y?&9j2>><#f z7+Z35!29_Sd_UK{qj#R9dfa?`7xM@AOJ_Q^03q(181r=1iGj9)5h@fUNH+<@6m&a) z26(JAtei+{)^yH=-*sC^T+gTR->F-}35|jOE6{7X|9OC5pVmo9*Y~Vv59)UIEnA&d zv3+i0;3ocNk{^N8!!4n`{rx&_bLFMn?E1D1a2k@sco&HcaG_v8DhY5qq3@p_Rt{aw zR{A7~_}tNnI3Aw+Tx5fAh;C!Scnk`G^C1D-mRlFD5{%(Ww}>egAoy(##c3>z#2{9h z$V88U(hvDuRejv`O=P*FKSQURJ&ZqwE&>{kg^fL1O`}N&ftZ_Hr*e7Lq+vJOaG5JA zDvF7TNl66*___d>FirMhz;aF4?+kbe-&457OIgxg&N8`+cf7-&@$hEx-hO&~@>S9O zpMh`NG3%Sx*V|JV#TtpbcmR0 zxFV2}k{Z^k8LJTRNHiu+1r0Voz%-X|;GB5g3E?s;lJQ{-wA(aMtu<9k6gHM;N5)u( zF+NHhjE}bmQWX5uR2IGgWLkme{qaCV>S4mTk_fnY_YGHDh`p}oKHigK$%wNxyn`wH z*>!nlbLp&w#k!jMwtFFSEZ@XGj@o!j7+LysYH)LNi+=@9UWt;kD`Mi8oASao?T8X3 z@sUid&1)fYY?qhRtsmSR1`oV%MXv5yCi$eS^}b3m>%aH>Q(Wt{b+t3lG6J-jJ+8ij!Io;pz&laf&1Woz z=}Ic&fW6m=UqhQsav7LRkOkAJ8qRt>$Ay_*x|qgmrZ?Rj2Yo1z#|p}hf@^#|kmtvF z=#t9ls;!w!wr&1du&th;FZ}xT%>4Y``86BgK@*Di*>B*tR#Xh1FZ^QKJn`F3b`VgX z9Dw)l^EXaj`0TiBU-FsC8M)GR4@5& z0j`Q*4Z)`!<#yEU&2A1S=WfQZ-5iz-+7^B1te*3~f7SG_XTs-pI`SU4A-^`b^i3t% zKYbF0eLBWfn2_#_<;NpKoruV%szak{BehrqysW^+eCxH!)hOFJWI;wo=Dn4E-?X$c z+yX$J-}3TqQPF^WF0b{HMd_#^$Ui5w?MzO*b z@FkFbi-e*=pAl!z*};X6i~(92I@i1UY5EUs&l6+B?Q+bsG7TmBU7&XUmE`&J8&^Dw zZe_{7qo%I;w(iR$P8YCy0w+r}`U*AYt0fR%(TA=B(v)n>-8NR(M2Jwe59#AKnHHMv zz8Ay{%iXF1z;d{rpw=4B!t;uURkxyZx3O~tYANE;FwN@_2>R1E(;Uy($h>w#C%xPE ztLt#v@!Fz5bKS8><_>u^EW}uiued2$mo{9;#jo|pTC309F=GA_Iv7j{P9_;4neZ)j zu0qnQ-mz<{R7`AaTaV-7=So_5n_T?~EVqCO`FwouHC~}!|DF?=I8!0<4X>_#^_@Li z{Swcn+b|LMbY>yVc8(o?f7cW?f zizgN*^;&Lj8Z{Tnw+4Cd?|z~CxNUFgHZGDAy|z2{`P{$n+}^)J^4aw_FeIa+qu26s zYghhossw*ILbt4~Joza}19L|+@cIFK#>zkcO#dCLevQ-K>x613h(wDsP1F82Nx&;= z>vd~cxL-fHOWe*?G%eHMqC4+UyN6-d0ti!lsz@N#o4 z*+c&p%r_YZ*^W?BB`63h zHg+m9GA#{Wm#A6bFWwZ}_Bt4dIgj(+Eo!3Em>U?h?Iu&DHaB?R=D*JQ#3E2T_ZXK2 zPZ9JCZvEkOc^EJQwy(x03Le7cmUD4jgY~={5WHLKtDOy3Us~Fr)K;3%neQ&bSn5<7 z%9k!zdmehFsJfxRf($y}yWdKoocrX7kqF!kmC*914*@9Jxe=60F!sT0J>D_wDi-ng1EJ!`+icxuA;?XBva zNhaQX<6ZRFfzK%d44LK!k6s}_Q+QmH;?Lok%MHhtXBek^eS;o|{HQEnIyBzCs@bc5 zqIUSIHUi+W`_+c~e(js_ZXqVkg$jQ+G`=p-Ln3$oxy#($V!=R6c{oZN1`Ofh{G7mF z@i|1i-%T7IchfzqHoC7G77ylb^}3qWShPmPy3-t%bxMCa^907}bHyl71`rYvy}!RA z&P{hIz!8uB5s~gZaghFbbYJq3UGqbj#e|pf`ra+Wn_QmMNnFMGg(8OL*1Mbue0la;sNshM1>h*Q zA32=3^%8X4fGVZ>+&vb#{ch|U;Hh0EWd(%0$yCiPe7aP(Uw}UccI=ILaX_|B!;O=_ zqD2paS3$#dxYA~6LbCL z@L>}78LbqAuN3h?5c#+ZeyDG$zNVA&-Ns^Z|2x{^^S@Lbo2!Xi>>J)qoi>cuQsCQ8 z{;H4@56m*}4$mMN7#`-b6=FE@?ysvX+*$W&acF6g7-vxfJcQ}lE}-CC*xs=1Jk}_= zode5`#>;2%l9;EcYf4(YwXKV%U1fAk4jTA46SEq*-tQ(1HX7oF$gS^(V>>_bf+Kjh zPqWD`1AjP-o9dUpBXbj=_SdFpPJSr+x%_>sbQQ+8I#j}{uHIiX)8CX);Bh?R6u~9D zORfrZ$FzpJ4W(f~Uxj@5W`MTDepd4!R|a=MW>48j&*$oo;%BFQ(N~*ie%o0ngbiV* zmsh!j74r1W(q@W(Tu+pAXj=Es{zip?RZ~eQezAatyxYgpq*wlJ5+a*c;x((5FT-vKo#v+)@42?j2vl21yZSx z(Jz8NS_w2lnWw|JHs+dn-ACWJU)GXsDL}O+G&J&BC~)Z$5&iy3*vsVSKTSMyO_YD4 zX0*9xVQxW0gtc?eV)W`Qj-rW1{P%qG^l&!+%&47b6jUsD8M4+FQAg2-<*O>h8C8Ua zgggUnqEb2nOajDJILip1PY*A1(@FTxEWIQiM@~Ph^4;b7BxL>f*_zlk(<`#lZ_|^; zA99{*vj^s26=t3l_fa@N&=Fi2yIRFygkPyQ0|>*knX@??s#~+~rZr)!P?T%hKqxHB z-=6{J>%!Q?cs@PT`M0wyTrdSNE9;YTB{piCLU$ykgv;KI;95VbDl&x;S`;(vv)P&l z66#%GR^5+)UZZU@%a{Tw@gMa@bK~RAD`Q)ymXp5tob*oaa*ufokh|0<+WciIiBsD)Bzvz@&_( z&&aQ@2Uy7>_MgA7U)kOs7pF1r5FZcgf@j8)VvYFtt0!0I`yv^7xQKp{h#{eJ@(O-G zRSgJp3bX%AEGSw88%^OfZE5lO=$UIzudd-S(o+6N?EFEa`E1c2>gqJ$c~?}f66DP& zgX|s3@p7KlFp&j3-eG)BMwv3m&}tHoV|`_8Y>0@qYwvE*V-b+nB0b*j+B@{o%gJG4 zQby&YK0Q1;fzq-JC3df#3Ok(UR5n-FM`dQpjXJGxh_WL)K(G}RZAz-kqU{gfp<#4J zIZCLxNO{UBtUEsK=HTFAWniIwgNuyder7y7Yi!hK#*TcxEK$=eB%xs4c3|`2z!eV? zW)J#w!5i|$daLhU^H zl5|O*J`daR`D1fd2zl7+@)287vlssCT-X5Z_ofxq?!}&?s6CLy%Pu@@T zBpW96@3RAodS65EV^xwADbX$wa`<*;rpp1X76aEgmlO%9GrLWxy+ zwdgMh(AGHdJHdv+wYv!Es9C6B^&x~t1KnO(I-}X$dwY8Ua?#v+8k%5MAR#6>*88tG zq76{6bYpH5{zp|uNA6-tDm#nkN-R~j9p$d}Rb8#f{(NYAnC%D|vN!O@Xah zUQrPui;)2%Bh&i&dN7307vKLQAwC2jA1B~fGL9GJ0aQy~up31in(yCkFf}{#Qpn@Y zZW;Jxypp^+Ao6~ggr?BfOPFt5Y|_HwBKIx4R2kUqq=smRb26g(375)grkxHyOGFa}jH&6V9BwEid@E1vW?gm_@<-kj zf7D^_E$GV(2@VP(0uvkE-Me5gT!Etz5T%!GK2H)yH#r9&eCtY#s5w(^9WOj5<3oLq zDz4F1Pb`HKn2-y0!;}_XpR{za7iHGS$ACeGgxkKnsGm++9)JC^lXddun=I^AALo-e zS-;+benQi4?S>Ve=Gy$PyP%>J|J1a#f9B>E=H-E zs>x8Yh+1E^GxD2{{(syadwB^Gbo>jf&D|W|ne^)?{1+;6f0cZHK!_`(5l;;UNv3aZ zN@SsUJ?bF1DSb+Q**9Jo5)zX0@@3ooW8+P9a;1nwH>`5%o`R{VIgDXpC`VOEygKxe+OH+OeV%a3->{TZaUaJp>6^*$@j0W@>6d0#8Mk zP2w=hXV{wr85&PdkgpJbv4zOW23c4jCis1vV)yd$=0V2rVWBC;J;lVlL`F`%#}4jt zC%8vo1^@Lg`iz(T@q{%mfoZv|57>gWCi9%%^+4<>U80+9WtE?;P(Pf61F>h9igL11 zM1X!{IQ?L035SeqVbc+?`m6~|+m9mMLl-YUF6u39n!WjDI0I!O7{VldjaL=fGH|Zz zU~o`tl9Q7Wcq8R4){b?rJ3=tzhwmTh5KeMky*ij&oXqQoPo-0&cfTLLH%mHo_6E~! zedd%70-KFZ=4xW-lu`Yfr6$J4D0@c)r?7d-%ppZZN7G>{i5KD__Ngn+ zJg;k#k_x7%KeS$UXRodOGl(T(e3{aCUh<*Q#o)j-BM=qEh+Ps}R#q0QSD`e@ORRJ2 zkD~so&IV&2m^GAT-o!F{;pKk1tuA3m{qFP=M#oz%E&1=e-Zz~xAS|jXGH-_0cH{kK zG{X8-S?;EwAU|UQ;Ua{-j5WUDsZ(W$E-6bTP|ZfcJ{v;kiYbxiL}aO8s7Mp8CgI0@ z*G$;K?kO-kP?VctlAFed)!pCm`2LiBgwRiP2_=ZaP#Aw>1354-Lp@UN!wo5$l06Tp zeh?B$P*A(Uqc^|5R-K%vP_xkH6BrV1?5#tHQOs)?S>OnfH~vZU0lPBoYJ7Y=*r=ij z+DIoR-bza9f*t8#25taUz7%hjY)KwRNl}3q#kirbruZQJ8f@9!wgAthOtJ73z5U%g z4IUmIv|@Qm)Zl+s%tXcz%dN8Q#UV}&Q%?PC=GEHX-oZ-zsq2!HOG9Ut$1J+5!s#*P z%1fO?<~A;UdnLT7pCUvF;9~{DW=}W-^ZUUX@i1V306WG&_Z6?b zX79qBlJxKKkxaw5?!j?dTJGZN>K9d!wbC*Q&H<<6-D&^W??s)k5dA)`y<&SCb|Ct3 z;8T7b{$s8c9fyxQ?Pk58|I7L?l zjv7){+u=os=FLmDDtgG{TDhLsem)-Ig;}*VeO2PyoA9@k*@qdvy0kc`dGrh{+#LJY zM=wzEH%yQNB{S4-&;ydgwYhS5d0JZ1BSkZ40-PkIdkG~J{ymZUD?TzZ5|x}_YHKPL zM)vfP8mET3db8uEA}EL*9UUz!3Q9}aC_Bi6yg#j8IR{`!3gHliU3yuG77`{Nu9Adl z7cotid;wuV@zV;wFyG8?>Yld#4(jj@N{gyV!88xH1bYeH`Wzl;J|1BZ1D1-4s)psp z`03|gMx5?F#&e+ngf(pr7c;XUf8f&UC1kcrkc8mILBnJ-v2ze?5+Y+_Dyz$TJs6*> z8y?ESnBrNQJ#IZ59nm4tIH&<*zsJYb^;A9%_^(LgzhgDz#IY4RPzee#R zWn&}W^m16LaylA&eSPa$uq^D;qd5~wTxBE3^Ixm6c#_D09NAJ|@Tp!3>ydHTll*49 z%l`TEXI@<=j7YEFrDtFFnZ6I0QT6CODk6J8`m@49Pj%Jz;)`7Y`#9HkMG^gVnK|-m z1R*THea*Hjh%D~7VmKifWPP0bfxq8{5d2hHUwd&9_T*v^`K*V3)>-9k)&;F${IkL$ z5{m?Tv5%QxU2#s(6D^39z$^xYok&x2@?EoAdksN%ia!*FDB6yPibU?_59Pp6Q&wgt zve8mS>tYk*)c7{#7G7&4{DMVcP=R>i*5u$Ei9uYN>zm96O;ZB#pwaOW4kFfaPXK9UShWK6zFG$VltL{t|hrPZe-i~`k0k0#M)IO+!d?v|=Ozy~a z{ELeI_0qEz*-ra?H^uMFbaZsfd`t-}3ZBtvaj6Pl83XX()iO0zoIkdOKQ9G%k~PjJ zq8ctPh7#12-s&y?8zd~TYZodwwro{tzm@srr9fP;t{+-6lIymvrk(a-Hn z!3t?5g(Kvqx7x5~ocEkVYkK9b+S1?2qW;6j&kpon#^mQ^C@=mNEuum6TjQ>Tc0#)C z`SfsaqG#$B4*uGMQkMefi>j*XC&aLR!Y|B2iCQ!thCRQmFyOdJORqK5w>|Hc({Am=Z!yx#|y(_1_C zuEOn=oXKit^zKKk=r=v}0roIve6W@X%Pq3Wgolf}IKMbDS$fVQd4CM z2ZW3eY@~nchXV7Z*93(#cyKO5f;FRY}RN<)EN9 zm_3}FpYrn8g+1Sn`HuQ61+IXTGCQQGm&OyPHG}#>RP5tN75i@qAQOqxAQxb{<(n(P z!ZXFHDCA`#{*4_AEwF8H17^%j!C$uOKOjs5f|f_O7HxUJYe|*^q@) z!^^sq*>LP`-@3xl!K$bj<=W=$r&qJizhSOz5h;b7RZwP_@G#DCt>6IZKLD9Qw>-wl zsTg`YJBA^=f;92d5TlBAHC5M8eSZ{wkk4iMRFy^uK_5gpX?jKmjxYH}Rv%6DD1gKG zn+!I%9nlOEGmWV$AnzR-EMN|-+l%V4&(nooZ z{3tIkk1w1wCb9>aCBS5hQ4Rz>2S=5o*Zw%lksLG^ZXTUD_P_H>`x7S zCiiQ-|H9BS<+S@0{TLgK%0)h4EV5_4p#diz)JVo^U(s|GkIzM~qwS52)%#+qrnyXf z@x?JB3BxjH?v^Pz1z%C%bgA{wBc(lqucd5t)IZVx&HM0!efX`unse)d2E}A3M_}!Dje!_yufl*yfFsoT!dQH)V z{A7_|vFa7KS5q^qWGJMBrMRt3mI9{@VC?0?q>~dTG4xC9Ctosia^CAIv@LTzrF4m- z$Tkvm8Tk8bV5ON{1>Zm&g zm=KO}Q4G#Z^OXSvGMFl~^DinpBai|?bP2){EBgo=psnvp>9UDyv)!NOCi-^vw^ddC zL~4<0oBbu^rb;-ZK;8GE2>YN}B#_)A0jl5Z@xpa;XayNv6rBY*P57 z8qLIS`&OlwP(*o}*-rc*x;$1Jdgp+Vww@H%kEG56g zkc)O=`wKcuQ6;5X(AikroN6b78=aEGgH>Uw&%i?jkE3K{Z^D9b!>$o}8T~|k;YoG? zuK^UV_1ct3w1$Y9-|F1L3CxqR?rhP@Xpxbu1i{&KqUGyJ#GYL!+3rFo%rc}9YZH%( zPTEFQNF-J?`@m^qZQcC&bf(W(4uE&U-Y{oeM0NU1X+W;+T3HS0HzB=8^;iA+n)-}_ z!@en-np8htnn`VL{(z1KEG2up`z$HR4dY4WW<(V;z}dJtj?yTA3;;2~%-jO&LRS#q zP&zzihv+>cmP!d@FW#yieyIAB^bx{erurzJjVJO9%#g)q*F`|;sHjBcJsKPwU>+EZ z;>tsj)_979$Q;=K{mGO_#mg4aYea-euGnMt7^L;D3r*g)4S+Kmnuz~#=$BBIA>Jkq zazHFq96lhYFffD7%`Hqe*ZgrsyM4eYYoC_YV2R)n6`KIUPMCdDv!H09Xj5PSN~+#* z(wO-RdB2Z|@mPf|XRQ?!eK||ir1^NCX?k+l83RinlLfFE)->w|y^4qSepM9z217;4 z!nQMkBqx8z$A9rfLyYi8j_N-Z6_x43-m`x_LO+K5Gtk$-SrVJZa|1Y1O-*fleB=?! zn^y*GkjAI` zr}xK?fFDP8eCGTX0~sRmwKi9(2#Hkex~kPOk7;r&Xu-J1dQ5q;@G)6T`zmEZdD(*N z9FtW-pud#w=Kldpv7HcLO~*@!MZM5}jAV|PLy_HSU}*hQ=-sv0C#v#}QM^8lZvcKfXc=>IBVHE`1_aBgx!t4pRfa< z0P7+YR!A=0TY2o71sZhw_$Ay02*b z$F)wQps48UIux|ivlO&`Xn9{*AdzA?++#aYclEnr2OFID4K_J!)=urj41TA80bfF1kAwlyRPKog~uwizBa3$45+J;k1v^C*|2Tk}V z`0s08jDp@hCIq@_{OE=dc*y{}i*p`4(R8)eEul`D@Arqe9D5s!DxWyoTAof)=5r1A z22DjnWd-%^joo*HFMa!o?KKk;64FuxfwJ1ayxdxaVh_(NtQw|1Mqu}rgW$v5{UiE^ z5Y-PF!H1w#ieI55CvyZhdkkhG_`+#Zm6lm)E@?(-RN0B%e;$sj2DkD2JH0xKjC%Di zNo?jw&rE#jQA@ycHFKc?Ns`FMR1yI{S74{>{p`e(WK1t)GDN-CtQK$=~3_Pw2HDOc+xftN)uUnO<;_H8r*;$J@kTr4yc4B@LtgnnkhwgUs(G-;|V>b}`E2cWE3J zNZ74?UCr|LWjrvyDOdZmzGj^Jk7D1#(vtfhB*nNZccPxC-`~w`}yF zczL(-8g6o8$cTu?DNXfp3E$1r;@l-h#(-If_y`=MXjeXHub4bJuksZyOs~J^K4x*9 z;z4r+%uY}1G+8e^5&6P?`ds)A8EF-raPdAq>fmwU3v1Ftq`Eb4fBG)_1p*A}eWJ^W ze)!!YGaUgQ{_D8-c(plZb8nTwXVSNY9ih8EAwpO(-@;VD>^hRtOA}Q1if~JoH=lYe z#XqjPp~y_gfFzb4@1Nj4je?Gj)Aqw{jKD+obqJ5Z zj5g}0qN0*##CF6z$F_^@oE{qG_ZdN?@e+d&<_GEnM+qwtQD zGLmOz&ouK})PZ|y4p31grT(y+v{b2lim{u8b8ld3pc_rCx!Y*BAMc)`8;`@VduWrV^P-u1w|tz9TSQTPr6Zx zmHqda*Om1Hr+Dr~C~SC9tSnkw+;XueoGS3 zlpE9XymUc*Q3UCF@-MUaLgZkH1w@1z7ulTY*kJsY;@Jf0qq8LJ-H`ANanAz_6lH;-z z1qx`DJ{O!GmqVC7{2UxCwTv9_CevOTIu#{3IiQy|cI8b;PsPT9KK@GiMxTQqetDUd zb;j=T7Mlthfmj~Pcmy6d3Le%mJxG67nK>F_KO!>PoS(V=kHO8a+G!w`l?5}@AUbPz24$=TgwbSQjz$f>^H%}4KFJI_+InCV$I(~janG%07ffKnS zn1T&tD5huo?l$uJmA}0G@QD33MN14Zh@BiFVjEXjSXdFoW=@j8JUDtZ3F)^vI>H!9 z%!uP2Lp`}VF*tNccc`8D6&NDL!s^`McYQM~Yl;>YpAuRXt0P3B&nCeHY;>=#*ETNM zqlJP|C%gV()zxuvam7trvaJ+iF~cc!*$+OlO2?}$Yg3ENKKsg@$)o8k_kV{ikGn%= ziiM%JfTy>^pu1Rq=>t7y{nDqrUhhXaBQ}cM?!<_-=H4F5R8dljPYG20kV?!%J(%b? z4m(u1`x&&T(}(!*^?c?ehQjG_)kvC=xAL>Fa`|dR?zDY;NPk#XaGdYck!^Yt#h~cX zDRvJIblPv>1>a2#eIxSI{Oug}JCm59DK~es^zZPO3~t$AD9N!U;p4QoI!CsbH5`?OSy}qzD~6E)uh&Y z$?o2bGwf3=R98TNe|P)gKH3HXqc9b427!IA*X|lM@oA6+FTzKx97F@Nt3qc#HOi1! z4mOsQgmvC9NVmOMxWWIu2=VD=Hf*KiAq>M#VBNtxb@rS7Z!gbPX74>8vd(4NDC<#M^SuVLn`d*?TQPAhua$ijFJyc&)mJby zz#6l)9>F`=rMi$J7BjjDpvJ(&d>8WW)jXVP9H^i4t09YOUjuR~_-5=bE$bE~_{PuA zf3dOwHh?-4Tmw62p8~zIwjeE>6$JCd$k7QN4{a@$k<4}*dblo|cGDgghj-}Evjy9dX($Z4k_AuX9e!5<$RUj1yG{)tvHaD>2k(BUr zt@qY{{P0G6reo~EohJVtbxdz0pTufjo4+e6W~#b9T{N8B8t|ONR;Efp&Nt$770IiD z@U^a?LEQJ;X24dvpLIoBN4L#0@khLLed%h4-b=T#yj+fAo>A>?f4rIwHm0}o(*8<* z`49NK6Vj96fsi4B)+AY(pcQ$WZ5_Tk@weK8QD37THa0$83v_6ce=zG%7{P$<@g)_% zpQPap;ges#MvSfbK{{?)IK-p6D*do+HzIGNwx=-}#q>*7ALJBpWKiUSLpMhkxPTf^ z&AY>cf)B{oDV{g$S?2;@oiGU@K3>9~{Y!t;wJL?;0rS(HppxQvc2+SO^&r5Uij-OI z+VO!l@#BvVN5oQKim_sRP0>6#pJJk{srn_8kT*X+pL^4H6ba?Owqmw+C)Xsq`?EEE z|I%>4oyXs;t=XSC=Lcc&Gji{+4AsKEW@isDe&<=taeqrqK}^MorYH4=C|qwfAt4F3 zHuA1LFX$a2ORazINBLUm=|UsGY6xiB5;ED02uR$kssPJG3p zj+3OACX5Y81V?Y9z-%#CYSC`- zh*u}y{DEp^WhMPZvY;`9R#;es+huaeL?&<5&08Lxm;Y6v;>=va8J=#9SR}dy6=wi= zCyf4MY&!kg!kEhPF+g7-y!PH5(0r*H8e?Dd(b|ls&1KeUPR}QeYE4HNnXtItSpcCl zo>G?A_lzSqftZ-&X>0}TJ}Ft%y|Dur7A+MmZGI`Q6yi&v*xud_3hLlq4{MVWoVu^% z0E$9kqnvPA6vm5i{p$}KlPUG5Pt(^w+5#_hsis(%ZEVT`q5{4D9c5m+4=7r^;|yQP zuHnHl+Jes8eTarZ#0L zM^I=*^Io^;B}6AWd9|?Q8z|q$$(fLp_-FRdMpH_^l_B#p9q!y*lEoz1K#JT6r;*0- zSB~sq^_f1m*u1_Oc2<)evkg9JSl*P}n$ox3jNJy^P?jCYK42539iUBARQ?2=@BHBN zgHC|bR8rOTg~VuSvD;vrT-gv=^LcFu13;*{6h$BPq}l_xkK!>|#6n|G;B`pD`Mh!; zjjWzr?M}w$X>4b;)Y1t@W__=J(1h6DUS0`D2P?!2JOP~_lu#JN5HSd$xp6HH(tO!U z!_%EsA022^OG-+jO=}15tL0?9m|aKAdDZ%~!!z!pZ?GVQeO{Foc6PrX&Xami2$H;6 z6*Q`?_ribqYRF|RE-Wevv^d*?pA_gzh7SR(Or{!I8jl3%Jfr>TR7{eRl7_A4F;S3_ zOfH?77Cb!_*E+Tc&t#l|!C^NgY`sq*1}hjcd0i8R#Rn3c2mj5h6FoWGpYQy# zyoX1J^bhY9g86|*3&9@CLYD6k6KDse_@{b3MmAhHiDe=J0#bC(+_nMZRbbF9{A&Up zZwW^x1f0;DyL2!Bea$JP*pI3;8{@s1-YCUp2*$;UB`N3V?IkA_ONr-;*ir{w{a0{@ zw%0T?nF#{2S6BDLs{r3e+>RuCA(}Al$}+@(>AKa-%ohKEwWUVrY&d!FA}T6QV==(q za#C_tB}c~K-|Y?LWHq;xP?>cgJ=49DBsa<^!RYl^j;`PSZjJf{EJ3ol^UARDvdg%! zK5jliz?CPv3JmdWe4IW=W>6IPg#pZ7Obo2dv;?ZvBf#6fh6_PcXU4J%!2Uq={K%mf z<}AH;EJZB20xSEO>{GSN-hu8NR~j69TQ@QzjGN=W;Rk^~LJ`dPuCwCJ;^l zhMTvrdGWB@Y4OmQ-e9NK=4%9c@?KNF((e2sQi_&%D5dCE^dd}{N z$!^SgLK8(KE+qj2m1c5S`VB5{gqxZ`SDs-aLOJ)I1bnPuWF+kt?yw+%0*8w>J@&Q@ zp^3YfCn2|^@ijKjAPz4%o6TRx4f?p02vmL%^+>OODbITX?IF(|^yYnz-C!PFk+z|+#u zjH9y_j8mFctx$h&YEgIxW-2NS_90*M z8gst2^f!IUV6md0gF)eFd+u!UwQ8Ry;Ot$|(ek1)=d!Q8=3om zk93-8X|SdH$U0zNd;SphEg`aZT~aJ~^4~@?cN}3YY0Ndd4N_DnxL8%BtZhbKOHEBn zi(|-5nsu{hOR6v^2DiyV`n#8vt>@Rl_Q1 zFQu*~5D1wsDWZSlJ-tAP{m53`y=idZmHtz^MOQ&X@^Pka+gDiF2y&poA`xu@ zrN>+sAHDzd^bBP$DI$cOZr&d1PXu|VdwzUs;z66hdnwNMW7f2UF>~i1(q@lNsGM+% z@(T$fxE*%apIpk+$nBdv#xs=|OQ33;oNVrrBhm8~DmTIJckKA(9Vk6h=y?vhNQ`5R zzkffe__P5%BX*%T0GOyk4e#BnPfu4-@{f=?Sn-cKem~BwWe3RzZk34$>dPB*8nB1* zZR9+C>lBF+BV6KtwC=4b0QO;Vue0C#M@Qq;j0Lo`Ln?FFDR94-l9qIGtmjvUKErY} z{eV3OwAN4S8<75*+C^!;7a<(`U%j+%2C+FN)UF1VedcxuzA|&+yH!FZLoW9v$T}qt z<=pa!GT=V{nJ^`P^!5&`!?|Ykx>S4T^7r}~<@vH@e&VkNJ`I`NZa1SfYkEa~`NggS zGf7+zXDD&$a3k@-@o>0ya*1JmjnGAve)qTb@euZNvbWbATFkbVhF6V|dl@D&QNuSD zu44`NSE4{>feHTM=a=kYCVp@(6MZ?4YZwW48%FN66O<~cX0K~K!c0T=iBe@;f1)}p zr0s_e#fns)Lk5p7p?n4k9W#MTLn)H9)F+cqDdkSlJ!mdMsg(kC)UnZu)jWMkSTBD_oVJ^weRjc>#7T>?w7>#W9*A0(% z^C+5|GdW$-W;|X`w;N|<;v5kt_2T$mM3rxCVd^IE_c{T4U*#>Bm0yPM@20MA{+kGY zNcCM4l5z4xg^+oB1O^3#F(G22{v$T9p8E=nR9IM4UW#vl-nbjg23-Iw^y0r|CgWse zMPkd@Ku5vA#}$)FqFRUA;i zMs1GlwiC||i;M57ic^XN{S$}PO#&~EG%^_3j5)Q*!=vYYgxS4#W^ZFi0ntNR@|E2F z<9YtrRF>c~!|x@(?1F-zO^-bZK+P=1UnIh^$+@L6ew&*S2|bsdVKHPnJ>}2EziD$Z zO+Kg_{d{SDPWFzA9b#HiY*Dz%LpezNU`^XO*J`_2!jgg${AVt~Vs8p!&<5{97XT`s zjvY7CSpYQ+Skdm?cmzCJAO5wc$q?Yll$Df_*jYj=tIYv1^kT3lfouTh>_w3Q<*~rY z!9=M_UCd;_B=Q4j32)3Q0rY`LR)WDd5Iw05#=@=P(68feD7w4gHzfMqZZgiXhQ>on z;(fWI`$>BE>GAkux9}_f30(fetI z;lmzc5CBAJa-PNB9-s|+C^;D9^yKVz<*5w+wzcsZLO8Qk~$Yf>GEtIA7!WJ*6iyxTt<0Eqyg6$-k9BJ~X?50?qQ&)cmcOyY+i|7i9IXd!YVZXtJe zQ3Z!;@C9CXlV`#v^Nxbz3K@PpUjni}ZxiCI|fTU+s zU7PV8otVGm1}Mi;cwe5?Qr&{nNe|NEkud&N&9_Ol$EvHZIAS^MFN8k{W;|VU|{?|e+>IVO>)^^)mS$( zGoO;*IS7?Ki6cN>U;?_qBvSFOSRa|&v-lntzB~gi3vjZVP?9Gtg#R+$B}xIlj9~9} zei*B`DQH2=(iG_bnT4eTdja!DaedStVTjmtd6i%F0Ud!9h^}0h}I!)Q5YH z{q~NZ{Tezk(gLnp%qWKspIU2sV21fM_5hG+1NP$n~3?(3y~LH0#xR5 z>NvQh;~D&Pe5AFlxx#TmBHX0GejKYa>gZ0?hEI1soBP5D2EF}72u;J>BCW#76k1c9XRQIMB<%DkJ62U_bqTgu?O5p7XmqZmi)qM4v%VwhDIYdq8ca zq^D#0+v7&mNli2xM;fS)R0v?v>s;MkT7mcOV{A&o*4qX2pZ&(yE!RW{M_Tlh5p3qu(`&CPMyNv}G3N6r zEh;MdSp=^+0M#hx>~&j%SD?>$(ZpPHNiz1@{_!x~#|Kg{R>_#GN2$PMNnHi-y2|{ZJ zfcpCThm~d(1(g()2=**$cadpur;)sPT9O&`ewSnY&ccxT6M?;=vjQ_@CI}R6SbX0n zqpx0&GN~ccgi&#=P5=n_-ar2Cfbu&l1ew3p6|ZZsP_Bm%`Wct$A?if&I8#Asu9}eN zv$YBWuRHAxEyGb(crK;ka#=}^0hi+zBq0I19q82DfW~;rj5^ln+n4FHBK%GcNj=BP z;6f#j%L?7(cL&%D`>dVT{~B|xNTxLK-ENEmJ5S1|6s4s50QouKFg@iIs{xj3~F8B9s1ZpR{_apP9D zrrVIe)JoLz$V7aV#ig2zZtp#mVmIoj=&9M*a+G3U1TNF%;wff(4M9!_D4lGiXpTDsc^p8>Ve*ETQ#on76Llr6KfqiGVh08KQUS$GsCZaTVuIbtyuQew3bA8C|~xy8{ubyP{SH4 zU8n0iHUxDLi-^QFA3Ad86GCLo;b0Bn!Cm?lR$Q8sg z4&dZT0v3U13^>BMH=*1np-Jh>VujIFtGcVdV)YHym06fd%~v+X&yPr@=+L3a~)Uelb`4*@Q00M-nL3t$lOX3HB_8QB|5XTuNYvE_h=dV7L7^3hYu~awU za(sFk;xJr30F*t)z`3}R5<29W9Mae9_>LQ1iHe%q#mx=m1ts{mfsD4%`3=;yo<_IZ zI5*~+OjAWg=i#x@+Py#bm5e*zGIPk4;(Lx2|LL=tY8s3MT&a?flk5ZD;c;PZbu2o~ zugx%CPd*!@$UHWJhiIt>-XOdUCo38a&@V<#1|gJ3w*9S~fcxGSK4w-{Vs#2lnU{fo zA9EO33WJ%Uv8$79IYxsx0X*sc{Sdy-@OFyIvvWzHssy9$cHes% zd$@S`XC%VA74i=;^};#KIdXBqgq-7{8!`n0viIp~&xRTOmZv?$J^Ev5KTlS9C)6n& zv3m^Q;J6nTU%Afh?fJ}sXrqo5P9}w2)g;gZQD>k}R<7&4&n81$>+3-pMx!J*W>_6; zHIC#5);@n8(D4nb04d*T@wty7y45&D#qW=>U}`EFFvhU5&FbUy88f=a{SbLtha4TK{v;F_Q-~9iiHtJ)l65s) ztw)Y4LiOXvk6v=}wu%YdW%GJtV3_;7;Pg%}q(HfGd3k<*PKl7lUwR-0jLg8AwTqa4 z<4yOcCx-)YD@2sjh1P3rz`4BM<8d0Wg}=ZZgov?Qp2w-+r}58!GQJw3TmXB1#ts>&;Gwb(-^#>XwH z?EnRs?bk0?c6NV;7Ocy#YeT<6xX6|Lg7oj!ayCBaVDc7ibEvW|Cj=QCn^cN-0bnKp zyQ6@w155DF^#&fiJ|Og)z7@B+*1C5$Dljx887Z=B#6-^^qhw-kaghF`{uC>8F}xmC)LYZ?d%V2+m2bAPD=jE*Pd4cB%O4kD zf}qgCh4@MC(*l?O#INpX=mZ(V2JsfNENjGBWPCudAX#*^w+{+Ejj z&Cn2^hAu12qJB7s-72qyM8+Zin>v(Dpj0|GJY!qU+ChPb2nATL$jD$TOLLIlX9St| zJX$&;u&BI2dnns0MT-c`cS((MX#=vJRFZWCUys)EZsJw*iY(2MvAyh>LD17vfY*2Y z9^(&n2tx!w5!$cOr2JBOE-0EPW}=&RUNQ%>^aKrjUKxoNwAV z>_oI?M`UC{02uM@eWuLAxQVt}rDQiC6!8|tqFnx_7!&-1`P{us`6Xlfv-(=xi)(L8 zAH&t;G27-J`KB7js1Be^|4fu{K2%E$Q`6v57Uf4f<+tg;Y;ziE0&CVYZS>j_&{&3sHEk!KeBK{2IL!=Eh-8GSPWGJDS3-(z>LisOWZkg8xqo%zW%{PbA-1 zYbMz0v>VQ+zE|O<`#+I+Rfbhof=0miInQQ)f8TgK$ROq0@640jUWz_>cM?C|hjYMf z0tQ-v_h(JqRGgc)+z+l6&%bZK+x9q#(XwaOnw*Pu&SfmLTOLJ6e3XqMPQqN0%UWr$ zyfn-8NCQKq(dH&c+r8?@`RP%Sf9X+l?Qf5N7g%|BsHJ_z=tU0(fYMJ zdxSAie|KGIYGQ8-h-{iH6Cm%{7R&peRDoSU`L-mn_UMRSR8LZ3OEJ3$>Yb?)|c#4Nl%Ycy{xN&JUZIcYC6p;FRyV~s;|!L_pWn6d|i?B zT3%fl10CD%@*~p@il_<1v%LusJ3^BgOA1`XSi3Xc&+}HwA*!vl-?z*AmC-3r0127d zNDn!++ZQvwW`iA8>}Q?TOv26$)bv%Iwfk-g!kA8DLmX8-EmJnl5jCrhJ+RYm+~nc$ zTY#8Ycksu}#s%#m_w4+|(1b4sBV%aF`78l0pA%blCrZ2ZAp`Rvr<}&1&QYFNfii39DfeA~gS8vAfRIXA5ZS|Y%mEM7r(GJK$rNqg8rJ?&>! zR#tZPuHoZ#l+*tzun`cjxj35Mjf9l(BjfAHSd8<%!!y4mT#ntKx`Kj3$~Pem53XSZ zdNV<5Z(ftfZlMjPg|=V6Ty`o~^u%M+V*@%QL8Xq5MCxqOS>HX_+dDWgGc{RQk~|Oa z5tJW5zQ2-^ZNmv@H;%+XB4QZ-(c&86W+x?83L&PHF`^fvU8Ar_M^t30bxr?GyOkVk zk^cFK!i)ZiiQDpD#-{Jl_Gm%b+?~6pcip9re5zrKzwpNnzQ5*{<}&H~PN$9+JQ1Rt zA(;sYWH-HW6R+Ce{W3weC3?%P8t$hED_MSXqkJPa9m?{NEKEyFgN>D4SylD2z7K@v z!Mb|JyOv1AS|WYJU+p~JTg4zqzo=sDLLK(P4q~)Ex7fWQYH~|rQUE13ItYd)n5rbY zDm^a#t_TR-F!b@8c|XZIV^}E2=F$as-NQAcmCm=SNw3k-z>x`d(h%ABto5Y$9@X9v zyC=G*{fNKY0`8BmZ~<9oxn7GYXxW`iM-NvRl!dh^yzEaLL-8t*0XSaX;_`{@XmFm% z*;9xa2N+-^8>l6cVcD=?61?A-*jR4mmDF7VNrSN;HgefCG)y2yM@ySqV@!LYv3cBf z4*=ru@F_i`R3;lsX=&+!WK@zC63ee-wH?bhl^p*~$8PzJ#;wkO((FFAmzS33@0B$| z3u*K@i|Xq7p5=#ulsIU3tB4_oTUu${V%?+qevu#8JokGvwDPXx7c-(@w#QS^z3!2n zoX$&XcaEPo`ayYrbFi=-Em#%2kojmz%!LYVAa(PSSB>Q~3M~F_Sq;lef{H-8&l`}! zkG|V87bQv!wo8OKc&a)&uQb1lAn1~Rb!+>8Vz@NqA(QTKzlaGgyv>C>90#d`=WOD$ zz9O{ej%;uc>a&HeAmqc}HG`?EmXYNX6-}9sy_p|?|68lIy@o!#(U8(K}3f2E#xS>~zm7{@oaKPRr6G}7m zM&|OW8P#XdV!83J)ts2`V}-;?!)_PY$HA|gxov8i9dyzA|CV}?-paG=&~bV(zc7b! z$mCF;yA2|+X}_|o;0u7bg}J3IR!a$zg3S5p*x=|VYRu;h{5I*n?d``8!~x_KnGn*6 zqK_uDdd(twYS$fdAt0~fvb)L5&c>vmtUSU%1w|L=zIy*J@0z_;`e!UtMs^%i)P`FJ zI;3xFX2#)>J88?z5d$M}q8eu7)|sa7p_Q2IZxrQ_5#9%11P z!fR_XQ9BWvUiwB42W{SdtAFARW6|}yc|^1x&s0x)C>T|n5GAwgpM8Fh^GtaW;nIMH z`g8s!rXRei6{GJQ&)yEv$e^(*etTK}RF8yS@VN5l14nIb?W4e&Pz@_mHzPSY`7=RQ zkeCP>=k`(whT1$mVi+E-T(VQKe(?bg&Jq?c<_;~YA>+L36|RPTQzV2FpGK)_zzA4_ zObt&sOkLi0%eVLMp9CKzsRwbb6N}4Bo4x<;!)vXek+1w;7GO0`9r+9Y%9X-QiIR)U z&p-;NGC>q*Gc#yr>3;DqGEJp2BQu|TcTjn z{XTj;nO1jM=~vN8;b%rLX&T`m1-Dh$Oy!AxTuHpz8Z?K8=i+MO&zc@ETn;#&c^6!G zSk_s|?g>FXW9qKsK7puw~UV(M{I z%oD;-pNGCMFb73O#}@jT;{E58=^;tzeBYT4;HmM zFV-n;ZAU#pTo2PEJhV_>D)LVk7gx^4TQp`=fAvBJM2`_J6|KaW^E-ZrzMmevE)=zZ zN{_D>>hor;i^4k?I&F+RS#9xy%pTcYi^!9f!yCFi@pWR*wW?u?%8AW;p|CL%06&HK z>yY{K$_lvf$M(b~*trTI-x#*SZf@7^4U&}9T-2h3AcXsik>vy9_&Y-F|7_jx>(Cnj zC}dgRPk@}EJy={^TaC-IxB<$E@)s!#z@_1)Y78gSL(^>u^!QpAy3l}B4d}=LBnxIn zprcF6c(=yLB!M&f9_Y=z1qIj)c_CO(6XYPa1tvSd1-9nG0Nn&3Vx9$LQOj|s!DN66 zv|ddY`yF9w&SLoaQU(Xl)8uwAJ4gakz84qqXiUng-g+?we2tPG z;uS?E{SwWstnR^{1(5v`ya??{Cg~J1*Z^(B$Cb;@{-wDJ4ZhXM?_?@4HxJWtzFeN= zIo03qO32B8xQrG})i!f>%%8Q zGfhwKZ|^KnI3?F9nkI{YTA%V_a4F+NwJ+R1hN5DD(|-4yi-3awMv&adGp{Vqh}HWB zG>H!l|D}&SJ`FUMl9d(iH$4X4ij?I=<9_N&_i%ChdGd-bP#a|H+mYVzS6weH`91!! zzQoJGROuw6;43dFN#*fM+WL%&=-VIoHIE49eW=dU-$yR1->RxXoAM-vf+OYHfCAue zjB3DIxW`NbQvLrri&UAyuhEL&O@jBm+nYDgZxdhDX<&aE(;3v7XeBVlAEl@>mYHTT zd`}-S^?fo${=e-lRgIAaPZ;N586Q8%b3TT`g&sMe$*u!GJHtscqUMma_<#PV_q>4p zbiOm@l7&E<5E*@nAs+q6?X#$iFkHTg3)Z88<#;*wcBpRlaN9R8dt|PovuiGoqDtgpPcW8Ebmng8Vd!oX2bg7JgEW_-%X zrcdaaCc^VS{7+#pMPmNS6+HBptgE$lYeVuyGL8fvI0YQ=zkq=}%2Ke_RL0KQ+ed%| zdc5~rjsf6I!J#KwPXjIE=rlbc-wwoND7H`$57AywRU2$qVSy(Crq{E>pfxZii8LcN zMZSSejJ!R3yer!+n?qn?C;9iXu3(CCAZ0vdGEZ7cn(T1#ZBpLL8l)|d1_tlfTcD|2 zxqHZjL6$o`9G;0G&DcQz@2fr@mW&l+`+f4LopMf`N{X)VihWi!Hd}h zIfnB+e0NphwrOx0Ua)~8gqe^wB^QK8mWp`jv*6e4z$r3hkpTg%G#PGw(Y21)6lVRo zuz&s|qU?C+-UkgMoU0mM_&Su5uCZD61L_;=aG-KR`lFOo6=CQCKYC^*Xf}tZ#4Gkp znI&c?_og6!S+nh#TLb$3_Gqf?H!>0_5ofUga$-hKv`s&>T)e23=4P;NYSKVN3D=f=3)$(lZcV zhP2J@A5tk)$@_Q+A2_^guf3q>y#3aRhX>37 z6Fa2*Mo?FmpO(tr4WZR#{>A&Oufyl+>x8b06BOE|(5dryEY@n?7;o1JH%n zZL*7>)D_v>I`&mNTjIFl@sIR+G6_Qqgnjk@u^#`l_m2Lee(2vQ0ye^|yjCSOW+%qk z*%{al#y9%Nh-77Ho7rOTu&if)iL-!?wNFH5$}4K4qvNKQTv_~(Xk=%W zocda5P(4_VNlOdWUNM{(KoMKm7&r7EZ^~b>m220t9!Ywtx?X)<5vx2!&9%lDKGLPVGOIG4W*z;I-j$bRaD+jRlxn%x!I776Lpq`tXpmMPbQ0yc`q- z&>7^A%{VldLeCQn{}=G{WP%?c_a6dm`*l~9VqE|vCIzteR?k!avfA@SHxA$1KXd-+ z@F9laTc0H!T;rO9sRb3sSGT+C2{eJMlhh5a87N zdhBSwHOZ!SX-7 zcfT;|cx8BP_h@d&)!E|+^X&{}hOyJj=P1JeK_+^A7^qpm2=cg~O6@e35Tbc~<(K@D zS%V9>_Ct^Q4-|1HJ){;p)E~-RbtBV=wD1u-^gCMd5R_SYhX0qYTvtj(GWgpxnaTn} zt%YEbQzLy9OC?FpL$dIeJTqS+fnAG+MC#L`1W(0c`Wg{ru7T3xN0XartDc{%+1Tw{*Ca3vL)>a9QyGa^M+-=e%LVO!RVlQi)CGVAXZmtum67q$XzqSrJ0` zka8Up;lW*`I)H=Q>8%ADQR=nBgB*j`h?`=1>FZBO7kRp(z=Mz{$j9}%)&iHc890@> zX|hUyWvd-8k7?CpnN}OddSN=dL&IrDO+`h4AaL4ybSQVyeCl!j@(Jfp>X3n4)}%RW zX+Yhv%}9%MW#yRJ7bSu~ycFhb6q}~%XYiMAAbzsA)8=)IMB;x$y;3qG6uYg=I00V_ z43yoaA~}dyLcYG+$4wv1Un388bv1K}YN@y%uoVKt(;e!|)lpF|w9;CQ-U+Mr7i})Dj?Nx6fBRP7XYq5-ts}k7mjf z>s3%2<0N5{l#!`x$R|^QR-e_T8|{Dc?G8ptt+n4coi?+yv>d?aqoJ`p@wM_w(%a67 z!hcU#2W}uo_{d1L3*MioKfa~tzq&eS`*I(XKctTKjrqphe&NUZEwdyd=itz5@%Fbb zvgXksQxG-W&`@FF_d1x>lYX?IwRXSJAv_*aBrfRrnKJD0LaLfhpS#1L3OlAkC8bnc zw5z~AF2b#(MZg1c#N8gD*GqFMayz)E8v5JCF|CC zT=%&%ydxX}e6U%{Rj(G05~zrmAF`18wOTy?SfU#hosUhMmf9{DdtUSm&N1l86O{Tm zV_AO6a${d=%n^?vY;V86&m(HrJMz2UWY=@+L`C0WWFlwG+Rt4PZ-~q+ww`Z!E*7}l zo6HMIF^@UR5|Dmd8^~oebTg;Z2Xl{%-@4`fMbZCVDa#TOZN|PiFj0PXF^fQB1QdAA${-T5?weQ54FD3PlrK9 z2rEl->*Ce!;ojjFm*=}*F1o}ge!@vCjn@?uGc`8W)H*KUmbfoxXIj;-7xh|Q#<~MX zWkO=&^?vUgO7T}F@ZJv@Qe)~iTzmQnt>wmHzq?baO{7Hly_jA4M!@gm?d`2>W&j8` z8mZqi!vn=0POO7O$=_y_m0@6B{n5Cgc&xi{j(Al4t=q74N&Ut^k-?qi1NNu2w`0A% zqJEu2BpM;z-}7o}YMP~;(|oQK)*(gXSw#HC($5apQ^&4^0?lX6q)fz#w9c=sEB~IK zor3R~6fh%Qqs8k}Q>!7+xh*>thlkeZM@x%S9@UkZc|VTUg#z$2M_k*G(a(3$8i!a^g#h)8|6_37iPn#YstR1H(u_}|gC{NSxW7s(%3norv;vF0kD zYwe6yxwv>*be*~MX@5bCBju6VD?bjANiso?KYsaHy+1JJ|F0!2Ep6rgDk41eVb73E z$$~+{^{hDW@GCUZvguh%e+)0Jhx@HbuZ*m&$=JJHSpdt&_#ofug z3OX)J+>6}Yk8Ah7;B0DfHaK=FAaOe+4PbEFn^GC>usy6J|FMt|JgXgJRf*Q-$wZ^o z4|bMja=AVESTFaUn=Lp5Tg`#(12jXm|EIFA42!z!`W+QP8d2#GB&4OglV@8`VdIv>vAgO@Y&pS}0&z4q$0e%xHhaVmaV z)27hfCJNqeg$^OKUEJ7j-{Nicl##ElwiO0Kv`CbaTe}0)IMg!`^XD#v8&ovZ>6UN1 z*ruGg?Rh{sv$2IuMp{~_`^u+J?i7`4lz6|K7UDIPK}(CuQL)t3k>B5GMDSWNyih0*l-a@ z;k8HM-RdfJx@@C$)K@DylW7v3GJ2eT3ia_gA2#fo)py+}Nu3k)-rsU5e_!@_cZT_< zg!~P+qyuQu+OfYI5fKsU)8E~n1a!?6f+0?+l9zh%3E16Ei_X$<`(>JSP|-@}wM!QK zqZhhC=SygluIkAd&z!Ke+UaR3vvLC0i`u%va%dZbDs(@{8iJyVsgb>``GNv(wPe5V zZu6({=>X2}@Db=!k%@i9&#egSQA4$R!F|}F(?`sTW@hRgl09OP?n>^;x{OnA+ty5l z#3w6_eY(imqz;QYysq2N8nL)sR4XRedG9$}?LUbmUwC`6%}cjE!O8koI?1($&v1*Y ziga(hb0Z`=Je6RZ)js{zTb1EKVVG>+D?i_^@O2Beasdm_E~2?!HDQMq)bl?v>o@sz z)|AzyUzX@<6^rPa0!>Q^D1OxsiR}P1$pot-Z&~))Ct6iyQNN+A2I&GaIsX2_Bl_k2 zMyc>B`)QyycPS@pYP`0Nv!N32uXAP6ETXdI%RZ{v&k@iaTk0MuKYE{Effx$U$RM^N zvE5INAltOba`A4m@_3IDNUl`s!Lnj^ce#%T3N3%3jd1JB zsUD`hjE{O98kdCA%{jE89XAwFzFZ$u=b*%5eAw6#pretq@j#H2RDPT1Nw$KV60wMl zh2AQZ?seAFsiqhAKS&c^WGyGU}OQN6mD^}FRlw{dU<4Gvz zQ8D%3Le17lkQ;M4m>olh%7UfSvXAIbwr3~L8!5jZR|d~wpQEeiI5;>o1V5m^O%X>W z;c)vJ9X(#L?o%icn-ak<_URD@F>hQ^`eAby3^7&KcY=*eDX5P;rstHhERTKr_Vwr1 zIgRs`K4GP;KI_8iWg>pJ5JqvlF|(4Y2G!>@jHY>P_@Gwx>xbv&Mn8_`3%UWTVff5x zH+PaLpj0O*(J-oOxVpaYGdI$*Fd-$E?>bow1&6(}zjAzdY>r)2%sb*mhjn8e){9K*VmUKT9vshl~eCt zNSJMCC)q~FGzAtQH_IP0E>bbeBc`}|F3n(U-z{~QJbbqX2zBsZsh zzL@%h+uZ{ljB;O&3pGzN1nxT}&1EtaosH;Pk^%UHws5qNtj|q8#%9mc!~laNEYz(z zfLSEl7%DOHyT@%A+iYCkFoJ_m<6Iv!sNI^e;!XbT(ZfKwJAuvIec6vt*+>O72^_W zu8C^9!*#Zn*OmVBo?WUg^i9%vj!0fG+n^4kLFq)=B4R=R(UWXYrteB^TsMDol)$5Y z+P=vNJZ&aneM0-jD_9|l$df&NCTr1K(LLd*dC;;DTuve9Gd(DjTpewu-b;FF%shEc zrYAgU)?914i1gyD#vF5=Vo{{p@u4eVNJ=l`}MJ>#hJG6w~6KYXpZ;?P76`0r6uE8~!4W&;C* zMXRdTq;b+Nr*IpJnhA3!J>cB=09Y9-oNxXzif^TyBRKD_uacYam7NR@cP^lN>nQI~C&-fUupKDC_^y zLOc|d-iogdpPWn;f!S?gnc^y&!GBzyvB1viFO#QVsF6;C~ir2BeB=NkVG*Briu;==Jc9F4@ZG0@Aki6q0?~ z4QaOI={Kg5c|%zP6H<{8;OhGkiZ_QEFf~c`Cp48FUebwRjPlm?9mPx-n($6LWLmGHp?jzh5xyvWNlIIOtf3 zUNRgr+&75SvV6!VYd%=NOzlO+8~RQ({Z^Rm`)(@7Y~@N%#o$8Iba`{yFOWO4FZebp zHg;(IL+)s+0IyvB7BER@*3;XkFd8T`bMtcj{R6lyJxP!4Kw&Y8ILcy~*6npZ5iixW zefts1q;kA+w!niQx>a`b1lDW^)y~(-1SWfX8kP5Z%ntczTXJz zauye;MKZ?FD65fOS#`izn=y628C^5;M8*JNkuD#u~poE!(>D zZ`%8|m(d@KLOYN=uiN&0*O%A;VWS54Ckc9uPR!(Mm82+;1ib+QKR-7&=o)V^vmv)S z4#X~itr@97!wIcAbJv!!^KLA^Din0}BC7t4LzsL>r+#;^7LlB!WY>a8d6;2;FzE)%Kl7|Sfz z_&D;kI-Sew4Xo;g=Txa;toDUA3bzoH@I_sY%$H+OeeyZPny zmE^c2A=n-Q4VNO z5^>48(zzf~H*F8U34#O;#>}S7e8dob-ZZU-y>92h8N%JEgCoB3!WuA%*uQ#~V9XXRO*h?zL*B zrpMb}v*aSnF7O`jwzt`+ze3F0^BH^3HZW9@m)VZEnXD)E`y~5fTpQoehDu!nUW9e3 zvwNfAoAdM1hys;B=j!NkKr+#1aPRdM+0dLW-!zW-4lPlx;gfh}2g8sVGl{f5ILR1`Zd7Cxah>VJ$?7y`g{@!$ zSL2sZZZ3UESqhAs=Zpdt`!9f|fQBom-(GX5Z#2r)0rtej3$fYos4mvUXSJ-P?M}k; zZlu%A#^`t5-}w5XZ^wBU&Z$JalQ-$2oVSe^nsR8wEG_dIRvvOIvKTa(O$2Sl9mGBa zOsO({UrAAZ8!=%vlz6+VE6=^ir{JPAsL!;0UqJrjt9WgyH?W@ap*$bG`}E!0!(jn> zEv`GW&=`IN+Z*Mp7jqAz3tE9W3=dc}ird zZ=DCecqvcQ=vxfSzmZ=e|6(|ckQ_6Rw^g4zYEU6 zMMvLO;EgYYQXcP-zvAg;1(t#GlVetdH^0OVA*ZWV1-=2spITie~>G4t#J zjZ;LGV!{0%TJJ12?j~n}0V^Ee3)DxPgoL<%aUzQQ49(2WvgKSXvaY5^n4+}tHhKn( z1YTU2EoR)ddTiKD@6`F++q;K`qvDx*oH{)LejR3E+P5XrSjR3{D3I*BG}ZJT9j z9?i#yZDkU+Oejlf{$l+qoS50?=b|UnJoWa+3#&5 zJVs0$px<)Yg@-pTLesj^RC_h<8y5olpT7?~A?HikdP>f#qRI2?&{$tzfBMe7g!LrG?pZ6-TkYDkQLgvzb~5B6q1=K zfmXS)x>G1@pYp?L`*yI6GP%iuQ@(uv;IxwJRcEft+d|FYv&i@iGv=pr#|z(zdiE*K zBgpBW_Qwycy{d~wbe}bp({}eMIfPATaGS$UiF-p-O+GQ?vXv>wdu-PG(79?Ye0cT^ zIqrDW9z5&1J23{Gh+k408^xWO6~%C?cR95hJKgp;-ojqx?Ne~ji>l~eP#HC8KO^MWiIwxHOFEpSCxi+(^tM=`YC1ZGWkZa@&y44^ zYwSEdcjvpmH+QwZ^!vQa7TvNZ0XqRkk;watAmBE2_1Zg)jfpWD9`uCQVkau{hD1eK zk5XJ-EO&go4U)srHYew^LD+l>>4?cqsjx#INvR7V#XKvYEmlNmJnXo0~e8 zE=dCp^WC7ypAA08a}z4KzO88%>_$ zXEwIGk*;R#Gxe)&I263sbFIyvPZ1rYlx#Jio?!@qHgX}nj zh@NG)J1j$Al9VVh&USWWwYWj^XRRmGe1QsYB53*m^#V{TQ!kT^ z-qKVKS7$JVN|ExKZgo}Do1ZhP5(Rezpz#3>UfCJLB5)`#Z$>_b+b&(}u(+UTx~7`x zb)GL{jX@MnB98T3t0C^bG)gT3=FI|UAZqTr-V=ufcCz5!yF0*(SlKm_drjlA`orAA zY8f+M9RW`ff>mm}*3<<2jx8~my@)^yr_kA{uu5;ce#dr={Ypr=gqhJ|n}>MYdCEEQ z_01k%2^$+rCJjU-tGM{A<#Zl)>YsWosEVHkzrV50suvwG-MCFG>W$#DFc$^-!6!j1 zq#1VB>_!apB>l0W4}o+lY^K`XdUib}W3irH2ZTe6)f9g9Bu5nsSgd=>zLn^7`SRB+ z84q3Q!*m>bj^2#b=UH09{$VRJaSx37@Y%;IWZ}#0cL%O@sYgN2r zIUiYW&Q9y~u>n7YKEuN&PVrlOs}J$%WA4BNY}nDgIa+Mhmaep8PSr z4Lc)#zvzqx7f&k!cN6F9Cgs(t?o~ zu@AQ?ZI)mPFI*#fGCo0PmVyz1Y=DRR`-`ZmCr|I_%Gy%`0W3m?I7_%e)+Wy9dZf86 zE4%_A<(Vd30yad;>y;Ii*`Fhc#LByFDdrmdOX_@clcmctCg|ii4xAs2>w9^0^_&y; zJUsjBHiTz>Ob!jr`sqws1@L{GcUJT6%g2Ngu~RqiFC_UOEpIrJlwinu!X-9L49rc@ zY;!Z5jm6X%nL=ZraofeR0<7ounF+gfiZ3Dk{hFfq_-7J|re+oPS+oJEi@e914J%(J z`APQ=BX)TGS{!E0PNMIx<%otP2o1S6^@3{={cTkp|6>_Je=_M&w}Ganrtx6Cx{~?! z_O@UJx9Dvk$s0#eZzN(PW$270(cO*6;6)}2*6FE!favT+&G^*;V=;)Zw9xQ`!)X2w< zUU>}U))A9!nvf67^#jG76ip4Z50!6hjXW>&nZ)rx-+UBtVC_q;)0yZYw?PW#4AQfm@&&a4qBHAS?Y@L2Fw`dt3 zzb)rjlA`u1F1|`JdqCeF_FY9rqgTynX)EU0*;p)QSynNlr)>fFuWIpQ* z@E*U+4O~?l>)W>RTmHUBKF>iXGE=g|QUhR+a45a|wv`G<`CVHiWffnksU2CWqz%5b zHCr>~#10$)okoNuBrawQ#J^QAC?&eg-dx#WV_(gw>w6zN7B(pfylflSNZcE$0M0}a zuCCjez3D#Ni8p9+xGC)?!$rg;Kjubh70rSWsuik@T9ukwKTqU8LpNAQ+%IV~BqU5S zTAgD1v;;~6ehrsieuMI_cS)VWmS5O)d+izRlJT26(j7I2Er?@g52MNRhw$&iGe{bLOfM_1_gtd2{+ugrG& z+#q7M9v_JE+Rtmou^*35JA#VIrY2H+f=W;z(#aA}`5lVWFJPY6-^(p^*M4?Kubtdu zGGgm#^V_96gV$K?dv$xcdBvFm^2gcVT9*%zkqS)Y;!m$O;QNWYy!U zX98VSq4I9K%9@=nur*h!Ar5b!^9Btx!%Rm)Jz(?IyROgC<&YsxR z6#!Kvnwy#e&`5w(siUnegM|Cpot|H&+|1pAkbjz@CMhY@#rfF-YMPT^ET3M{K3ovc5qEx` z7P9j|Qg$;UBAo5L_G=8krzrj~O(b((K@o6P7=r*gKGEZ(i1_&AsIdy&C5bFk;K~=R z9*Ki98&sbB9(zG`=L1le*z{{=R-qo7G*{bmCBb%KU+SSe&)KHR4u>C2FOA8D&A3#= zyy5qF{VkT@&DNKCH@BEAzGjGh%3LXQOjK~UA>g>nU8<}0sC1(!yWu*VXBy_Sls_h} z?=q-q70&>;%@l}=PHr{tC)+R77NrSQ)Yl8qF&gbMJ}R#$$GtLilrqc4%2)egu|QUo z7Kr-^izKt=?GmtJtgNj`n@GvdByMgC)S^9aUA99;XlMCXa@c0QsmXqI0>y=S6{E&j*_o_!s@l%hOa0!bWn{7V^=kr2)J5iC&w)S=iNXVXB}Z0W9U{O*vjW51t=m1!{=yp?de;gM^jk z;NDNV;ZnGyykA;#ZO5}P&*z?mU9)-h49QipZyqzYf7_B!Xg7of(=Ai)3)qpQAVj*s z4?grT_ZDXd834t%Dwo)3uef5guk@zh!@ZHiNa2f%3ktN`{cK8LZNE0R_U`G$a6hrA z*py;rWyKgP7Xg9kIlJl{Q4!X>69RxL(ww|6IP{R%PKvLgl{cjmZ=7;lNvgrrt zaY?=#IfzKwCE)zDoRv{D-*=#V^ZIp7KymXiT25YA8>GIzUa->U?D$X#dEsz2cZo|O zVl_%d#ctWQ#!uD|6pn zBg+xFW!@G_z@|BLAN(QZ&Ou}R?d@YjSN4hDw zSy*g;HGc>Q2rx1-LJ`-iez(;7jR`c-R%~-{kd%@FyqA-qa~)TiqIQ3m^*K*hv%Zxt zS(H?|+*)i&f!1dDqc6hmx6$A_Q{lkrts1o+s`W<68PB5QODtP5n|{pm<1#0Y4vg1N zKfHH{5TRN)!}khwoO&4qbnpRor?2GcGR}CP9E7}=t&K|g3|c-omgEk$#*p!1^Hx^V zkHlgtc_UxGhQpQC2d^(hxj>>rc=R|nt`=NX;=O`zcH_K+>An0hXO*7t9chY~JoF*% z)7?%*1370hi-Og-=Due_LCW*FF z&5fr%>LT9n-@C9fGS1XHtbCLX?+hm|5cZ*fr%y>ip~++J<|TC^W~978Iy<j_4kjkPp4ilh;pQD>*x;ke$zRV|4`UV4uF-_tw^<69R1$aCbja7u#c7q< ze>Jpf-ng>Ms?e&9XpIz=e=ke4alD?XDz}~eJl#o6+B2*sk>J|5ij?@41_kJ15#^9) zytoEX#V6?Z9%dpU^9u_428P&J3$~|suidySKCJK=vKNSDDff@LG<8Y@yfN`aCp;Sp;sGy2m49aX zqu}D=st0bfju&M7xHKIm3JY(Nh7VEWqkdMr;xJONH@h7faX3DhhP){o&Z{ z@!Hz&Cj{Suj|sx!YYeM}>huxTh4~rJ_ktbW9S8^+=<89$od_S7JZCc5!h^%%HSU*s z_0-?8+#~TDWVGkQ0>hg=^~hstYG|yk{ni>k#@=0w0&+CZ_#sLQ{3p|H)2VixbeeSP zQHH$&c}8QS2rpa7s(F#jq#wFfBC7J+aPzxy`B2y2NH|DVCm`HxYnx2=|M0+Xqjf;t zKVG<$c;*dR8muud zf9+d=_^7Ev5BZS{{KgKB$Kw&l@^UJLw_h1(uq5y#G&COb2R<^nA|ib`xcJ!emZtWd za~}P6>|-4eCAb-jimG;3TkYePtKvXwGh#V*_?;Y444JbSD|MW!E~2_&W#Z^oVkK`dtM^ z9#)sl&rq<6Y=k{SKuz9iNXLAZHB^}Rc5sZNvAb6$3XHtWmbbt7rK4R!hA8OAZ4F8= zEOT@;vWHW~L+o>#l0a@eM{z;HqbE-qd~T8b@to*>Q>BKl{-j>~4(UnaK!yDK7nve% z;RiBom6eAkCN!0l_Kw$wQc_YtZ}w=KJO4iAiweypxtJ<5#>dA8$|-oJs-oiiq8%1w zSf8wtjsf!Gp37s%FvkupB+Yb69wJu2XCp1HX!w~YgUzR_7yXX!dp$ko2FiO7O<(f+ zkRMnubchA<89ro~5ocCa#RWi9{`*%-qCkA_-&f6SaU9u@hF_?GEwM(JN#~(_Po$BG zOY&uyVF)#{;A3Pq-#+QX3pFu@FhpW&tPvsEWfmW&CD1%Li zkH;qA3QA2iP*NJ~>dILvx<20r*uK@U^SuhQ0iX|OyZ{c7zJUST)$Rxc0s-O`1)4>S zY-~AID<~+CgoCp)06;DPD%oCPDhWV*l>i*^_ANRF2G0+GWU8Dh(g1>7-=)L7&vu9d z&;`RKb3z6N1}Z?$m9epg`g&$&<`g0Km(J9XH2qjs=vsfgk=9QE*Id5xvcwB)>OJEX2MMa_eb@%s=!{I+GD*6To_r`L< z!HtH?-tpylM6XouxIQ>pVqj437Lk%-XKeh+z6<>UgbSG8mG+B`4lAA9KYnH2gOE77 zxD*4_yWHGAUB|1&Cnwq7{IJ*>&vSQo2S^l{1k3=BEQ1FGUH_zTa&o=a(xPW%1W+Xf z`T25q?N_JUOiWDkb91?a_aV&bxw$eL8Yf`kV7tFpSy);sCU9;3YWavFK3D5(J(MC0 z4oyP}1v2sC{c5+@^%;0c4jNXqd_+6hMl3dZZG#nCS#9~=xtELc0HTp!T+GA4kzZI? z4?Aa75`&}#CkwjD$;b!+Y#Fe`>$BZw??&%HLP3Gn5cuSD3m!@eP#Uue3-we~o<4ml zhSz?u)ONlzZERv9q1diu+))?8$;k=qNYdi9P*Pr25s{P`8Ax;Q^2!S7K05~o2RQlM zP!vcsi1)}VDw1=WVI3|uNTiB*(a_Mmv$%7>i}~Qe#(Z5>X=!O{>LNG^^dw(Mvrk7y z$9+^(yV=Sjhi8Bs(%4B!NdbZ;=yCq_E1rkErzZkbJZ&6zpj=ZbIb{imac4Gj&i z!l|jLv$C?H>Fz>ez{yOwg^Sx;>M1>dAb9|H_wewLl9D=MSSc^(u(aI#}pEb19I&XtjqoAMw`UTK+85tR! zp`?>;Y~rQ2ODIfA#AD|*ppf>j+Vz-_5EC6;l^g@29h;W+R#q1M#@WGv{qVN#A>`su z-8gUwV_;&Y3d3R+M!^WbhVT9=>FVmD2LsU3zE)9rYh;8^K=A1i9>n6;+8P}w3@t8R z$RwvHhYX7W&<~{1#laGrem%H06ufqG`}E|Y_PU0Gh1zi$fOCQyT2@weLJ7jmqM+c} z>e(F#6DhZq#)|N#kPxh}1qkvDAb7AFpr{;#j<;q`C$kPaVZljBNeF}|*&7H%9FL2H z1@vcX{zKw`c^+LHt}HZw%RDd0$2SGU?B-||3fPoixFFgItcwSJMBG;6Im)SwjEoz* zJKlUPpVd3(=H|d00C5AXBRnkZ?Bv8`@y!UNSsUcHftgXnLAm#9P0dkKtwL>w!{v_l z_V%PCGHGe)9d@unkln|mS=c==aC&f%TT)U2+6GZJu;^AY3kb|~bp`0 znon?ZpAZm$#^DQ1K0e@a6mf+FE?Gc0ot47AE;O&AmDkm?0|Necj#h`@?K#Kz^5$IHB zXK5*GDFsRE2RzAcpb^}L^uDxi;(P) z|9tTm;r}TK|0B444PKaH{gFfmq94(4!$Lw#exW|2rsm?}LY@=@$eGzHdtyGaKM#n} zJN)I4fBp~onqOHN6BxLD?gCIufR=1!VIdRIot+(O*wNvNG-%`A-`~#)P4KBN$QtnO0X& zuo=yi1x)KC9bh)!y?eL&dhO4|5SG?|wqNWR%&C+j6c3~;6w1QJ2IkV&*3Qk#tAU-{ zd7uG69tMWIkdP1n-l^B%aSEtiu@aAzRM2MX#nm>D9bm>kEu=uV9YFnH;sp_-_Mr3q z#i+BazZ1Rr^pA4jyGBez6hg|YBqk;XZsE(9M$_e{z>-BpMP+AaM-gxD>S_Wq22kvL zoht~O@o;h;A01hh2T+Q7KR`zxF#r^|`ujIvU?4M5F^MlCJUo1Xm4*f+4N0t>|J6+_ z#I^GOP@Fi$`>7GdMUt=JkeZYD(cr05%O=17N1jT|ms(C8R;1 zV+f`S9!i-NJRjs+lanVO9ld|{>^lHW8`-7dfPS5la3*eRkTLw-H zMI5jj@IwYugcJSP{th%u_Fosn35Aew5^N$S2F52Gaz;8jkPCmZ(iKkU^$D94bjkZV zJgnmP6sR`9zX)zRC<|R1N^N@Ea@X%Eg|G*g`_by1d#GPiDgTU`rlWVFOYwJnU*gub zHe513yvL8ncj`cGT#iz50-pnQPu|~;ktqLD?ZZ(2`}W^|{^+a!ms|SJ15I!LxkvxJ i`v1`^{|8%$y}ie+-Aw;99oOy8NV1Yj62&jy`u#6pjXz-k literal 0 HcmV?d00001 diff --git a/setup.py b/setup.py index b390f72..4211af1 100644 --- a/setup.py +++ b/setup.py @@ -1,8 +1,15 @@ from setuptools import setup, find_packages +from os import path +this_directory = path.abspath(path.dirname(__file__)) +with open(path.join(this_directory, 'README.md'), encoding='utf-8') as f: + long_description = f.read() + setup(name='youandme', version='0.0.0', - description='Unix philosophy private messages via raw pipes and metadata paranoia', + description='Simple private data sharing via bytearrays, Tor tunneling and metadata paranoia', + long_description=long_description, + long_description_content_type='text/markdown', author='Kevin Froman', author_email='beardog@mailbox.org', url='https://chaoswebs.net', diff --git a/src/yam.py b/src/yam.py index e1a5be6..976953a 100644 --- a/src/yam.py +++ b/src/yam.py @@ -23,7 +23,6 @@ def connector(host, send_data, recv_data, address="", control_port=1337, socks_p result = sock.connect_ex(('127.0.0.1', socks_port)) if result != 0: launch_tor(control_port=control_port, socks_port=socks_port) - print(host) if host: with Controller.from_port(port=control_port) as controller: controller.authenticate() @@ -39,15 +38,15 @@ def connector(host, send_data, recv_data, address="", control_port=1337, socks_p ) _Address.address = serv.service_id conn, addr = s.accept() - server(1, controller, conn, send_data, recv_data) + server(0.01, controller, conn, send_data, recv_data) else: - print('adderr', address) if not address.endswith('.onion'): address += '.onion' - client(1, address, socks_port, send_data, recv_data) + client(0.01, address, socks_port, send_data, recv_data) def chat(mode, send_data, recv_data): + display_buffer = [] if mode == 'host': while _Address.address == "": sleep(0.01) @@ -56,22 +55,32 @@ def chat(mode, send_data, recv_data): while True: try: char = chr(recv_data.pop(0)) - print('') - print(char, end='') + display_buffer.append(char) + if char == "\n" or char == "\r\n" or len(display_buffer) > 100: + #print("\033[1;33m", char, "\033[0m", end="\n") + while len(display_buffer) != 0: + #print("\033[1;33m", display_buffer.pop(0), "\033[0m", end='') + print("\033[1;33m" + display_buffer.pop(0) + "\033[0m", end="") + except IndexError: pass sleep(0.1) Thread(target=display_new, daemon=True).start() def make_message(): while True: - new = input().encode('utf-8') + new = input("\033[0m").encode('utf-8') for b in new: send_data.append(b) + send_data.append(ord(b"\n")) Thread(target=make_message, daemon=True).start() while True: - sleep(1) - - + try: + if send_data is None: + print("Well crap, we lost connection.") + break + sleep(1) + except KeyboardInterrupt: + pass if __name__ == "__main__": if len(sys.argv) >= 2: diff --git a/src/youandme/client.py b/src/youandme/client.py index 6b6a465..2af14a4 100644 --- a/src/youandme/client.py +++ b/src/youandme/client.py @@ -22,7 +22,12 @@ def client(delay: int, hs_id, socks_port, send_data: bytearray, recv_data: bytea try: s.send(chr(to_send).encode('utf-8')) except TypeError: - s.send(to_send) + try: + if to_send is not None: + s.send(to_send) + except BrokenPipeError: + # lost connection + pass except BrokenPipeError: pass sleep(delay) diff --git a/src/youandme/server.py b/src/youandme/server.py index 86e6fea..7d08c9c 100644 --- a/src/youandme/server.py +++ b/src/youandme/server.py @@ -23,12 +23,20 @@ def server(delay: int, controller, conn, send_data: bytearray, recv_data: bytear conn.sendall(chr(char).encode('utf-8')) except OSError: pass - + first_rec = True + WELCOME_MESSAGE = "Connection established\n" with conn: Thread(target=send_loop, daemon=True).start() while True: - data = conn.recv(1) + try: + data = conn.recv(1) + except ConnectionResetError: + break if not data: break + if first_rec: + for i in WELCOME_MESSAGE: + send_data.append(ord(i)) + first_rec = False if data != garbage_character and data: for i in data: recv_data.append(i)