From d07686c0c0b5d35507f4630489bef4e30b45fe39 Mon Sep 17 00:00:00 2001 From: thientc Date: Sat, 25 Mar 2023 23:38:59 +0300 Subject: [PATCH] resolved #56, resolved #38 --- src/clang/include/Futag/ArgumentsUsage.h | 2 +- .../dist/futag-2.0.0-py3-none-any.whl | Bin 55035 -> 55545 bytes .../futag-package/dist/futag-2.0.0.tar.gz | Bin 55788 -> 56195 bytes src/python/futag-package/src/futag/fuzzer.py | 2 +- .../futag-package/src/futag/generator.py | 129 ++++++++++++++++-- 5 files changed, 117 insertions(+), 16 deletions(-) diff --git a/src/clang/include/Futag/ArgumentsUsage.h b/src/clang/include/Futag/ArgumentsUsage.h index 7fcb50f..f595115 100644 --- a/src/clang/include/Futag/ArgumentsUsage.h +++ b/src/clang/include/Futag/ArgumentsUsage.h @@ -169,7 +169,7 @@ class ArgumentsUsage { // - We should add support for return types const std::unordered_map> fuctionArgsToTypes = { - {"read", {AT::FILE_PATH, AT::UNKNOWN, AT::SIZE_FIELD}}, + {"read", {AT::FILE_DESCRIPTOR, AT::UNKNOWN, AT::SIZE_FIELD}}, {"open", {AT::FILE_PATH, AT::UNKNOWN}}, {"fopen", {AT::FILE_PATH, AT::UNKNOWN}}, {"write", {AT::FILE_DESCRIPTOR, AT::UNKNOWN, AT::SIZE_FIELD}}, diff --git a/src/python/futag-package/dist/futag-2.0.0-py3-none-any.whl b/src/python/futag-package/dist/futag-2.0.0-py3-none-any.whl index a79317e6edfd778a258d19a7c4805270d36f4b8e..70e7cc0ee8020c7232fac2c0cc1584ca5852134c 100644 GIT binary patch delta 26313 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 delta 25879 zcmagkLv)}G&?fBIw$-tdj%{>obZpyt;-q8Swr$(C)3M#ryx+|K&vt52=hU)x_o=$x z>cQWu!Q*%lm$=;3Ij#xXPXg6gGoFo4J|Ov$^imeXRdnVw%|TL(?DjSF~@vC3NQ z9IK1ROL`93T-nxTBtdOE4U~1qMl4%s157^aq6>J0-jy#KKhK(t8=mZ7WHVJ*yf@rL z={HGxXSY-}zJjXvOmy`x0{@VKnHugYUjlyF|eWVqK5i?-}~zAZ8kFVw~?L}{(_;f zYooUl8e2b&EEON5T_QF;wdBfbH*b;rYT&TADDHY%y88;3jiAY@YaRAIc|xuh?sLwQ zOC;nB|C5cj7;>L|za%LqDpOB1uAIka|{dHvV*O%|4#{cG_Rk+|i1rH9;dAgjyIYtJ$9_wGAA?%fti z+wmvBf`Mo1o~Jf){FGQjKLRjR>iow6!z>e*PNu%7X-WPpY~_GQ4bL}G#L?j=SZc#7 zX~PR$wR}fQSR+B>_gGoN^p53u>6h&LBK!92I??Ewq_JYVrd>Qz3cgX2%QW_yBbwHa!l1SI9pX4see|nbo5qaJk6ZDJT3A>I*ar2%LwKkjIKl<>kFM& zRm{3<152mN@0JL6rB=-qQ&{qv#1t&Nzq66lBkjt1uer&U%JK_Lx%F$v9KubGf76p? z7vdd*2$o1<6F=RACIh7 zSrVh#OX(B2V&_hCI5ZK2-tfg`*?E&_wfIZaaCz)nT5QvUR;A(D|JH|74U?lJus9DiFsTj$(4Tc6}qY?VlSA_W$j0wLAN&%0lHTWjUz zXXS6Bq_RclshcM_mn;au2a%sRSj!V}8!i`-oHbqQ&AcbQBg?ARuZ@x-7h?}P-I~Ko zd+J{~4*W*6+Q@sQwj5jx*q5McTjbRFxbLoi^r(RRgq=Z6yJI;g<82vj1X}iPX ztVntkjpUJ$o_|&26$mgM-q_L<0t+7+4cgr0TNc-S{?&8OEWAjkfd5Jywoxs5&>|{oGypR6%pIRC#fL;jGG-S#-#yhK zdXFB`Ki&lx?X=+UPb~btrN8)RbLAS|2nS2T?f<=%elYgJ4z*(cD}ASLpZ!}%KC7j# z2C7G+G0vn3MGj|H!^J5J-w0Fhx47UlfkT_!;5?7gYHN58oQd18@b zW1#2PcZRkC>1+eD#c;>EJ90;Ns!# zUE>uPQPABnp1&~2y_1h;kYEPK5lmhLJzD}w;BHJgJ+&~2QW1p1`p>UPD(ke+FC^xTS z-3LtfCu&Mankr@Z!L@)F2y?N{I)iDHRxrv)XK*kF9qxeZYFx9rU>kih#?f}&*syFW zbv0_Hi3R(Q6K$)ZYj$I z_Q~?YGPJqCf*IN!HGPK@S2Kx@be-AZre!k}Vck^ENA%&4ufgWzL;!U%NsJW-SSLNPuaIs% z30W2q5z4psT4zn)WrJK?#NUl?(b!7A&ch5kttaHnNS@PMXn2C>E(LzviAr_y=zv2T zWl!zcA{_@uLo%p%pN_Q845nJO0FY@!tbE5NYYO%$z=6ZB%{9T z`#nRE)3t~d9Jv^z(jsMOZEmLyn?7(Us#_Gk)3G%Sr7$=%3UTWIWd6*UDm^5xgj^~! zjnu1bwgdMzVr?ze|c zVurjxr4lO-Jf6`5V(rQ=!dJrACydyBB{;IC+-5V{K<3k8C>KmXD6#1Cn2jHoU69#y zF?)0VNiVCu#A6bEmZ{WPrm0?Y;%ALt@@t;23T<(Iq8kr6{n@^NI$GLi>g(0E$GxD0zf+mnQ|-I+ZAxG|yxmV?ca5x^FOpCiiom}|vD zgj9uOG8vZJCQBCNLcd4|1_>J`m}#)qrz+UxCB-G1(w|H!2?q6;vtx}=$`HsfOmfrj zW=>%>$A6tVp00a1!}Qbl81Lp0zp4yeK#zE7;;+O^W7rgEu}#fm!1)?mr=|q0K$IX# zflrRVeB89KLsw#@1db+=K%2k3JhDPOE?(q7Bg zu>6qfd}p(HTeL~FkPRH=8p61-nDhOdEPoBL{E!-xoNLa^m|Ix}l^i8}FcxKa z|JXNRedKs24wGgi79kr~AaaOu&oz10*Au9xA{}{dc0;>CzD#mocf}_*dY+~Ps9}xN zmjW39YM8Ss10Z#aY{VxD-nrQ7l08xDS0$r2dFYh(h}>WJ5)K<=s+##=*7>}Q;2?3F zTm+%ND98Nl5=&@toK~+gPc4v%%n+LJU^fxXBx{ykOUIMh)2SMYN=Whg85_azks@D> z7fYQp39s32B5n$l_WQmI5A7#z3}nJ9Xp6BoIN zZKznG!n3Z9m7u)-7=2r>O8tV zD4TrbsE!sPsKrJpa}hFUPQKPC$5OBs)WvlZyNKf;6E@RGVYZw@J_UQTe($xIft?{B zz#lhFz)FKPwK{oo<5EtUeBCQXWR2R61jD88{6<6wbaxD@oj(@`W$L-xIx0J_@cFk# zt06e#0Nj#)kbSZYnf)`k~5S3l;-@H{L&qsAQmXBWbq0x9h}%%P@r zl5uShRe!Mi`1a|S%8B4Wbi*r@3YHDPJqMqs@c`S{&Z*t9d*zj3Y!DQ!i|9Z|;&1F< zZ&Rp<1c|cnRf34*gM`oCiR#9Vc!EO}1r3V8g8jPd!(MJ*Xt`(vX~re^@5H~za-E+0 zo{{giD7n}}yj4}>X&())(at@pyMKDm6dSM0NzyBXw1VU#Jd@Q`WK8DWE4~RJ4zC^+ z43=FW#YqYyAuNmS!F;CZk&)yoB+`hIBQtbL>gFUMUWo$p2Jk+uQ56=YC$KOzbiD}+ zKtgdH(tMOUY8_hcqt&188FN_2E{m79T(hW9DInE&@%w)#J{|Fug_)>b!qM{}n!~)$ z%BaM#c!dy4v^rv8lAb={VaNg#`~Kl3yyGleNOn@B4#^W{?$mNY7-cAR82 zA5ztLx(2XHr!dm4DJKh#ot|V9#awxsk{tZ_j~ZAN`|UdLKO{C;ZixYqHkrtzdSW%Tsqd@tVaNN(L~3Wwf!{kr(!lLVbR1b2tW5SHb#jE$b*<%Kjkmnd*_zA zDG*MbT!^0GEPs9(EJ1p;avLG@u|t;E`_4Aupl?hIaF8GIh#JVY;d(?^b-bS+Y=9Bx zhB_~SOE5#z($JEjH9^Bs%BpQJ~*Sg%$lT@|~{;S+NpOLQ3(yRExW>cSQ1%+OzK5h;x z#cXwmEul{Ox)QL8+g~m*f0EaW2zBk|h%3XlLn~KDGXAEWE3*CMiQ8-LD9#&9M{dKh z5kHY|slNZyn_FruiNQCu^?mku>Q4zf-)s@w@I5#=^ae#Uck!) z_3c~lhLD($2+=}&Ia0b5u3f0nO9W3YR&@8Bdr`U<-xZjZkCkVH8Vpku4(3`z{5o_m zVH8}a51#~JjP8lE%CPtmk%K?v(S^XZYOY+lt_|64Ksh+ZON?90IA+}qHNk!Q+W;G+ zKozzVYiNq@V)C|FHY#cxGO?=gD^lU^B#*H*3 zP(!JSDTsAMrlVe)h>P9mh6DW2EF9t`{Er`X1`x-a5gurn3(9kgX;5ISx z3$aiBIP50O$?di}TFZTf8o~=X-kOO>I`Odr*+7~lrDGRcaIl~N8qwgp1{gJ@g|BPY zUwPXk{pIAVH;8#LW=cL`Fo=`KKxAnLY+#@-Pb(qn?a$|nW6H?tBKcZ*J~GtnDQan_EqV&j>rqVtpF=R559Z{j= z04RtyB6U5so*<+|X_T2`jxKIEIMp(j$snEnKrB&ZK@5919Nje+T4vl>j9WpZ;UaK1 z&^e0z7caLZERL)>9B1S}!!vss1^#a^?Z= zh7bL<)6Inpx?>26=)F9`K1-p{ab2i38-S>dAd~eaxjcIG^{s*};!pn-zY2wtzQvkF z{T67iCXT>I&e}$@J$RWq^{p|-SyfYFm57^U9~uX2@#B@vilkv~Z~T+GlM z60m-iEH5TZ8kz3ug52M?EBT3V^JXYq^1bk@C}%2ZbvePA{eFC+)SUMa2#U6TpMVTl zKSD3Jd|%C>giA*Mz4|$>*Atw=(-1p{gsbj35nVNTQKrG)20nQgNXdVtDqO$I><@X` z;%Euo`{_0rM@u#Gx2vliIcH~Ejnfa!qLn{iEA?JRYpzE>i)oJ)VySmitXhTsX-6@h zK@f4&6@DKp>%7%%s&u;moGj7SIzWs56Ar9~QxIy0yQGvy|7L8gOD-^3XxzE#J}EEQ zNSdl-mvYf@15dq=ysxm*qA*eKlC@XC`fBN@yJ55|@_DsO5C^E+p<48Qctb|wE_MtF zAp8|pGc@UuOZ&&A9Na4gW637(;it+4d4_OG%cCO9xmgM^E=ErHA0Q5=!z3ODCG>-ci0mqHwaLsUVLbUuPP!&zM+NNF)=~HpU)?^9`!xYxPJS#t-GC#{CFJX01BbSkf3G6nPQ_;x>_ceK znTBM@s2AJU!i<6GNjPnzK)$bvx84_2_EOvWT=MfCMA_PdOQh&aYk{e0#ImuzphPZY*U0i*@#p(GUn2LP+ zsMEw;61Gdx>}DL*5WP3%IvEDmjoFME?vJmOxFu2&v@RIREvrX0fa9VMit8^pS>X6i zDDjRmsw@tP+9F&q*VR1;0k1;@8FTC2lF&Rw70cYKX{OM9nztRDSs}nQYr+;++?HcLHm3q-r_;8O>Dl zc;^Tkf!U?$_c1meAS>?XppKG^awMPBuIFU1<)|~Hc~lF0R#r+zA%azLu6)$hxX`Cj z^rl58+WdoUN%{4s?6yRVBz5x8tDJIdp!bK%qDdR7Bi_Ib`LVfzX+Cm2C3O zV3j!GW&I-UgK%3KG|SLSfGvn>7`erR_m&-Y&*huVzjE0~An5n~AqGwmjrI#0_AFgN z`yIpRPOndl8Kr8ZieUn{cCP_#J8*+Hb|$nGJLogAUzn*+UsCW&7s1C-3VoUTVGdcG zWFyirVJz6lukd1*1+|p6{nWrn>-`uxN4>vM9w=}}hdU~@y*~{5J*FEj?l%|z*no^t zeN57-IE+QzWZS|17*;Qf`iHSk@TuDYMhiVYNE_i00C%VBxEuwH0xYjK3hP<=Ns@A( zL%pG)2aEm7`r$Ps_8U}e5wuvF zc|+zf;Tq2dzi~f|o&5YZt~CJzE|>|7_3kiMvWC&vd_X28EkRhNSX64R;Du;RdhK?l ztWb7v_B|&GOK+^CG-nc2*=Uz_{R6#+y4wywmJb7;$~1hMRBcQ{Wg!G{T9@GE(nN(Z zx>m@7?edICUPtDvl1oxtPsX9inl-%AWV4dF`u$Awc5k!-5mw?&X_D0?uCS0(waru+ z1=wSmF=Z$d6p$Uu<+Q0nsz)UvbFE4@FglrGMGo%84bk!N;SmrAE6hLYb7kn^qX_^p z)j_AlbM+W&w4hG}StaW!$TdvDj?pg|7T?|w8-gUUd?-NEL3FW+iz&0f2q@%fj==i+ zI|&zIghp3FEILmxg!p)A4O>KLP&as-{BdS(m?Sp%!}6{9p}U2Qxo%m7Nh^Q+g!ac| zHkZlp7rE)*cb+8eo4{G)2UE3n(P}^kI~m2&gSkT;0u(<>P>T|Sh-eYGL=4eDG-Gp7lhUVO78rq?Uf>Hl0ZU(OKb#2t;tH{_wqh=$SwYByr zCZ=(O$z3P93<4xyoV=3Z=hpPL8u!_AD5{va{@y%1HH>UuH1ba&8KS1TmXvH?VNa2< zwI8lBhIw{t@bA6M62MuK@2Oq5G0M!}x}RdH61iC*N?HoLjNfsfe^~in@%-5)K)U~q zgLaRc{oXMi@wT%SPAPuew7!bWZ%yloXE=SoDw#fOdSa@q&oG-1IFpGwGLD~es^O}r zQfP0v4*Q#IvjrOYM?YE-l~RH>9y11Po#qzO=Vf=(WXE7|odu9@-ZBp)@qz9f3T_k8 znm3bCd(hRFNwsz0Zd!Q}o?7W{Dk#?NArKuyhk;)-riBcc&Aoc&5Nd2rRnmyldy`_ZlkzSu$IF9^ld+S;nCYjRbz ztWofq-_mOfg#>K6cUr-*R36?dQt(&0DCz7N>IOA=(D5kh+3E}!G2d*WU^9__7wg-Iz>76)DRqB(II#78FNJ-(Tq@2nq5^T$g_zaa=jdvZ5G-hFdy%@L zyDrYwxWAp$<#^p@s;|UW*Uj6K@~>BxqdeYG@~`0?>F{!|I-K-(t0{XGG1&P?*({^U zWS&*jSmpn)luRrP9e3&}_RM+A!7}eGYtvh6POjHz>EETcwzPPWokutqe^vN^S}(J? z<@z=w`T@|0w9z>HknmnB5FGhOsybnPO<@N*}r<} zNO&h?E)RHigV%|A;dXUzKeYWQupjU#mflR9d2r*i`{7UG>OY?+6q8Mbnz*1K)mM0s z-E>=L75OC;TT^8y_aVg)DwK=?(Wbi1A?H=+O~B~lkNvDexBS&xDS80EugmvzW-l`1 z*U6(0!Ir&S(r$5|w!>Idpio{w*kKmy-t0_QW-1@M@G|C8dXGkVV1{W%P=&8Tq{JgG zp2z95w6Sr5X#S?vp^ZL#4CTQZ(_z%Qj!6UzN67Zw7SS-$9ti!lCf>P!KAn3s(=Qs4 zOCW~@6~Sk_$1xO(NT>PqaIt4xK9_`~QhM=9K*n6$9Jo0;N@Ce?sB>otk5SM!+z80w ze$(0e;@6mM;xqd`@HAZC-Q#3rulw^8%$tWxD zo>FVMDN@(v7)zN1ZoC(y$;eZQO;@+8lUfFDaG)&k5Pe{G|E**TsQ=qZ} zM8u!}#W2Bd>8tCe-pSePDlnpKMCdR{`+`r7#RcT!X?%1fMA4O9UOoX{KVPJ802_sV z0S1@5Lr&tx;UvJl$N7IgKc@s$XT)IN-P6|*urJ&kV65zr)0jL^Gf|DlZM~%p%MPNK zf4FG+Re>}cjCJ6HPOPJEe}1y z#8njM#8l2L6j9Bds40Q@+1SzmhS~LJ{Jn>Ucq9DJA4NZ!Qdhy3q!<$mo5-_%WgL{| z4MXLm$)Gcx>Xk~}Bp{jf-=Rp>o(%t8 z>g?A~@uv(Wles={!MZ&6zu=v{QOYzo>VTkmjp#*QAf_z^v%uHy^Qf6cNsbDJP9n?= z8m`0D3znY`Jt^=GTNYsgm8)5y*~*3N>@}a=Y$g4;)Mb-j2R5s4Y#46T!3@;D;98;0 z>EsCSvF9^Nj^F0+RER-jOjG#fs^dL8iY=SftmG<|DYGO`<+`Jpiny$u!0@yixqa~~ zrdxiV8Df@FoS(82eP|Xn9(>o8-+?V)2025y3<&ECF{Z@mi(P#JOI7dw|F*vGcwbXJ z|7o{VRC61h)kQ;vGyDk`O{uP~m$E{rhaK$yI=l5RO$#yj#lU3SxE|=(Vrm}H>WQRw zy(|2*X*oPQz^*{P{)ExX#m}`3d%$ur;6pz!*RNztzFzDd2>wGmqUj(x%&d*6McV0b z0zD)#q?vecopSFD*u$bD2eI2Q4X?j;PKOYH&n0K4*FLyJ~*t_#G#l*EL z9U`B;KM?-wuYXf@Ckc-neRvpJ5*{kki(vlO$YL-(ds$vKAULWq zrptob(JWN2QLFH(h9gd62j}`12d88o`pC92v*%pHUV0`7kb__ZQ!^E4dgaCa#na}Spbh`Y4>VNyXJ&n?`!ldAi z2a}SOO!;?MvgUj;tWwe~C{e=iZjvI~Ms-`aIA0;wl$_kFNXvUZsS!V3lkzG9TPrz^ zd4dgzoWeR&8j@)i^RWCv9#=^te-dA*xTJ7)R92eO9tG7qljTfaB$@H9aJEep-(g4A ztW72e94mQG6#n(ixi33w6a3%9^PJ}rLFtsrR}=Jf?lYGcmi?BkK|j6DafCa5s{;H` zt&W}ftAPCOckuc;Q5cH8b4l%J{@QAWN@a6wMLDmg1)Yj?l?&21&jZ4Gp2!K7*E<(| zk}`~T>!8P?wdG^0!icuHk&Ky>n$F=B2+(iD#~i>D^wz+1^Ji(cbzJUFbMY^qvcEps z*}z*3au|9tD(LFi%n?O_0lpDd48(%RZBnp-i3s+dN3lP`3|`kjd-(1hm%j)3&8FWv z)y9WHgIw2gf+&5hsObh;>|+u7CvT(u@Nn83M74|+tg*{mfB;Z{P zp6vQ3RnO$$djAvP;vROO(~=56Fgj4`H`dT#J#RY zTJ`4W6hz^`tB2#GC+~}ko2bHLbKAE1!f=;Va#8E4v{=h0Gzj-ml4LlsYs) z-i%92P00ha2rEN5em@n`$~s+*xb*AA1u=iha|6!&XsS3xf!xpBrO&R7bFI!W4Fy#( z$(jDcJV?H}44AmsX{G59e`K=Z6|A1+%3aoz;1wo1QicCmk(eDxI0vY`Jn*V^8yGet zpnNvUQL%zcyc02vfOei=Epqs8RAL6k8&D~<#f{KvmgV@@cv(WpXFZ!MC^<{J~KxYpgpv-skZVi zoA)@3zH{2TK87P-7^pN&2Nqh_I{GJ5HK58Se)r?gr4L%FHf~rml$8b5N{->L^;xy% zym!&@3(65|fh;|6@hLgF6RRTl{3NjaKJj58e7~=UC#GiG{oGoeILH{*cAu7k!Ex`G zJbJ^vOJkJF3!|J0zvE4^5y{BW;j@zIaf()BL?sRk_Pb}W&t+?r0q}6iWpK!<5#uNj zW7QC2k`beek7eKo3(|$}KtjcSf*0iP*Cn`HetX<}_^_X#wl(qpu7fl9}0mOiIAg3&%*$6zI1Ym43+$T;jswdkL@Iy!`obh9Np;1Ih!^ zTB5-|}keZZQdq3P8VOcT3s?2RUqxXIFYSC-9!KXt;ad*6Y zceeWs#0d6??H@K1|VGn&aF-XY&bW-EOwyG_ZQy(nF` zO#N`4p7G^=YrCe`II+qJlyU3v4;M}wHBh)s-!jP=2u9zi)|gqV3`=X+v6QlwS$j%3 z9`h;ldFJS9D(d_Q4l7+Sx|{N{1_9&)?|jUFYP@ik$2Ahw7RH|QMgBfLWj{$6*3q2G z3z&xL+bolD{vyV;<{Rk3DX6xGNH2R`R~2cKU?sIa_$kaqO8S>hYz*6=jJ;D<4ymx` zEQ#meYL&99_cAk3R$XnKH*JIShnyq0w&V28XD(HY;YZ0Fp2Y$}2v5AHY1gkPZq2Sh z0-xScvcjWbPPYtey-~+sNe;V5>(18_l)Qo-y-?|t>Bey4p9c&OjzqVu_sW=wGKM!_ zQ&*^bcsi~w7A~A62iy-vQ$_pN>+|dWA7jjG?DY4d%b*oCeB<76fa39r8SlM9*HQ3Xu%i)yth)6`gqQ*>1 zCQbb=`VEh=<8alNR5ee-d$8X8=Ft}$5wdS8avF6sF(+PwKVWpyDZ*l zatE$K#Mx{bJ;JHl3pdf`FZTVQ#!B{=2;1`<&U*oYmnSlODZRt2iM_5T7>4k1Sw^RR{x#0vOrv#d6gwC36$I$VRep6z~oG_#O(7>|?bv~iCchd=*g zUr&D1=Clu-UbL-bAJ<$i9C_f6Oz@XJW@gb#0?tz_BI^xoyrv~Y?f$Ii`1#H24*fdH z7#3e@(X)X_C4N81xShPBlglwi76{yENLAhbns)KqhSl#{^P2Ak5IZ%HL5{!l`s#mK z=G7on$U^kFj9`u4|97I2`W^lWUrx9C#<)KiKeYRN4`Bs`KCZ?-wYOso5*hPWY+c5J z;3=GL$!nOj=hD=w+^NYDL8WpAXHY$G{W;H~v*ywDa-L+IecW-885hCgUoCV8lhrV^Yw}Av>efaa$ovWYyi(nKgHSv_wtYW0RgnX*C<47np zo|P!0?rOuXI$HzCeG)T!b3xC9YBXmD+Gr1Ee@>s|EmlDZi!L&qg}q#pFNG z62q~dY_Yein9C7cT+m^?-CWRzX%0{D0Ga5HkG>VAN3Re-j$Lenwm~`Z_d#Ur$6{&V z01XoA1*AcAIx@R7r1`5FzIui!c&Wp~iKV@BV)shOhK7J< z>P-q)YjLIo)C$A}s4=ni)yPh)ov`vNzAGhaINl(@ozDmhRe?iAEu9Ow)VsCw7BlK% zL*&VbJ|ea;%phC)^VuG{(zn%FeBDxBH|V~Z5zzw#m9m;&Ze-PFfT54G?6;BZkbQ_i zpmvauWJ1W66U*3{MWOnHgK=w97$3tyhM#lBPVw-yOoeT6q1A6j%zTU0;LoTWZHo#X z{9b+FzQhV2^V)o9le%Q_#r^W>l(4Eljo&wWrbS}W!|hO8+s}QO^_G)k3d`bDzhJg$ z9zvnb-Gg4s);iw&cbb(k{J*|52lV%P?mrI)j^R%r;h@Rg+7jU&S#_wtQ%@LE7btXI zsvSBU-1C{XW~jx99MIl3Tl6;B@#mE7y^-huREyszOVoYlziC$H#{4K$`@HJxB)5Mh zLItuFIZM0IAyck@$U{^5{8(WXhH>9Z@uA`}o7hvv-gH3S)%CfF@a~Sg=%lJ#a?8nt zl2zIgN6j|+%WCR%K(U(jMb1WS8e_l)$D3^HgioAi;QL^)9X)!c-65eFc~}N}9R52I zc(n2_felr?(}t}(mwA$Qri#vA+Wa@^#<_{e@5b67LgbS0B}beJ;UN#r8O<5{&-WGC z_ah%q>E<*;J!FS)y5V%eNxI+?AzJaYq*_#m5aI`Q%%h@>;`l>>MSGv{51L|n;@M&G zh9@32I&HbD$sCe_U%}e`-)K^W)v?P3z)&Y;3o3>TD?X#^1g=KBPQ(fB^}H_D@dBDQ zre3RqXzJ_uC|UZk0n|Z+`tP#^a_f~~#3;$U=Z9gF1ivE<)<;PPSW$rdtKGcPC^i&D z4vsL&tkLwW;XB3S$(izD&ll(+Y2tSZ-axa4j$1AS?O;T>Q7U~NDe}2|g&gDo=DQ~` zdkAe|$&r>%e|iRKhT^*{w(8AcRw<2(?XhlUg?Yt$V;tglIGYS^|DL}sl&sOpIex}i zP^Seb@zm0*CyXhFlLawzad8@qQ5Nj+Z~`EBpQFmlN^PZYEE4MrLWw*~n~JW^->rWd z<7fS+I5V)O+X@MtZADk#b?)hbk@@WDlf{@d`{B5DZ@P#=12;pehuD3p%F%t|@xfD;|*@i?im zN%Rj+8BUf~x~^(=g*y~2h#EXkty5>N9rOLx+_I~WtIuygeLlQvTPzC!8YCy5!mi~A zcc$w(?$DnlF*OY@UBlz>S{R{@Y0qx&;kxV9>>7{|N3v}(w(P#I3D=Yk_+uXs>gp}N zkN|DJ`%Uq9`FHn+7imf8GUPO+{7vg+1^xqz|BlQ>1m~RvrXH{u%O#*cN{M8Rw1fG! zqOyo@>m0)~f6%BBL)9BfplH>(-9Xkxx} zy9qF^)himt`S{5wT8|OFRWRaB1t$+42m)~=pemjF2lxK?7%XCsvv-RbpUUxi4*RzoWZ!U)uIyQFioYxb!0E*Ow zB_8)l9|2+BZs&v0dI{-e;qOsgy=*#Hs$KgMc;^ZM?dSng4YR(*yUzPH`Zn)bR8xMr zpF%A<%h2`TN1VmOIX`vz?_JG51Qyo+gTIw35EwT@0GTl4A#46ytC!QG52Kq`9KrPc z0wJdK7$nMGGJL`4wb}?W3JzfsgZj=OBJpqte>K>YjbP;f+W!Dl2&7iVQ8x*(>6vf; zmsEsOuXQNp`48a$>|O9zyOpJEI{7?0bToIzewEDB{X}8UPi~#t@@?}Sc4I;{mPYAp z_^mxTAeHvsu2HUsV4zV4RDu-0x;@H-qmt#<+Valx;Gh2)dp zHc)b$K(WCx$~Wm_*JHR?D4qw~$*oS^u0+Udi4-6y|LA(NS}fDtX38&| zlJ7t76O!btqkT8gH0l%+Y=x<;up)rT^P8&R-LC?r^*%^?b{W+YT6zLP!E}O3=b6ID zbM$17JjGfAnLM-@Y2FO^4jgEz8=2b&T!>WSiTFxeCgM&_&;ZsexE6HC%~nm%H}Lz)7Or z(6h{9amABgZE@Z1IsE6(aoT)+=b54BZ=EnZ>1ave|6|lYO98t$Kg@EqUyLt1vr&h3RLt3+FlK6F@_2u z0zbnQQECB3P_L9uG1=|`vP$#AX;KJ28g4u9J_XoXVjMGLTEzVyh^lO$=zC_Vjj>j4adt85MvOR5cNmOi-k{kH?s%N3&iAu*ta#75A&)Yu8o@;O8c=1V{8431Mo!DHF^4yq9A-3w<9=l)~S%jLQ3 zxXIr^Jf9DR@!OLE$Au2|kh-9p2JpTHOU;n1X*uFN=xFIT2M&{KU6w;AldRFaX)%Cf zPAO+22vhNXdKwt$Pv%xGopGHObtr}K-%Kl>Gp2=Yp1ZQpRbPx^owp9K@rRmW1}!(b z#+ML;&AOwVi0}3&T?Nl)9bPxK|FkV5FzHK>wxy;Wtl=3`0{*Xq{@uD@(Rx-sMU8j7 zR(T`MyszuT+3~&f7VA(*5A^gWLH$)&0aRs;Un?dutB ziXY-c?H~8dY3s1(yjHdzT~}$zHOghk2V)T4-uL~tQrZ_=Jrj$LdGKvs5Sm)PvGbq(#>T-hc3^TMW@b-t@#1bqi6L57QzTijVR`ZR* zDjjB^NF>sqC-6_*Bt_u$Uz?E)*-Znjw>_6Y6>bPDSOLIrV96s*>MgRW7e?)G2t`1t zpL9)^Rjm%@-{~dsv)X!bw6#!OA~0=Hc_U!z-$_XI&E zs`puZUV$l~0mby`-|L#nV0()_O#5eCjEz%)=az zVb)iZn}e!atH4z?&CI$5_woJ(Tl)6i2vycU)`>#^*-x$}CsZNq=7gj>lHnobjqrB) zGD`e)izut>i+9{c(~JdtKP&1kDwcQM;S{&#@Tf4%6g9#LVMz|1z8aL>7n+Avpw?g7 zZNs-;971b(vwM$ehld%I{p<8s{2@k3ixI6EiQh{bA%ZgBSj=?m6tgwxjKNSV=))L( z=Rp_n8c@+nuX65?>5l+hsw$^F(2wWVFd^hHjpU_({b{8CS{nG#6?kE7&$abFI_M$H zAE~=}AvF;_r*qDs{ZobRFSb>%?K}J^ULXZ67TU(Z!evI91RBSRt67l?;;v&rp9dS|}G`oU6)- zlUO{Qd-0obS-6qdZd@!(jO@Q9RYf61atr!?%`TsuorOQRCk{;efTpStR~Q5*?Og;Q z=7dtLy$NHyQ|7(D;^i97(yG&^4+C&kK=g0xAUL4=;V(nbrTj-RhQW|!!ULZtncGxd1pq180{6zbfdVvV46zMLT>Ab@tm+wYa8} zoTp-NjiW+^(rDd~!(vkMkGuF=oSj}YAsV5J%0o7HtHO_p8kBTrQKT!jk*z0(vR@w2m$`40a~z~3Kt%jrK0CTbml4g7$u&ysXMEJ) z-CcNZEM3euoUuOdwag!J(t;1qn8|V-lOIN`hw|df)NNsB-Qx~t{Rww)PgMsV+W7L< zm{6|cpuR=@Nwg*V4t^i6?+8HIhPXH0LI){i*dbC>ZBO+9 zxKAx~4g7IB5LLdGx1iv_{6zyq+RZuV0Uw3jEijbFyR900pKr~Lr-hr zBAThx^?FZN|D)@qIw`?1fND$oYXDq^&e2aaqZN>cpjZd$nWIBon{7cSV2q3(m~uR1 z{HImi!(IHGU7Hc)BLi*LYD1V^GILX;uRXZK2-$gaWvuaAJ}WnB?aIy=DbJq|LJQ`%1zX1OJ%&#=TWZcf=(JTMgXGc1;H=k z&I8>(%oMkj7=0(p70bo;EfcM`qVKo6?{i_BA5YXt4yMO^Tcks<+TrDUle4UGTK6Ek zf~QsGDl#qF-xE?l4m}YI7;63x!wl**M?CrqF{?PdD7E*d-TF87Ezv(EtRFs`J@~xs zxGkeyPV{U$U;McWd)-r-)6VGnj>Xp}Lr%5Wwh>|g&&|mBFc7_`i=dDwTbkkfrskka z9OUQKMi)E$jt!F>xE}#tZ8BFu7Bx;j#EURfFLy(Pc3#pY?Q>eIK;%X>0zq!5!{+vn ztGfBaQu{S-mVPfYBP&2~^QdUrr|^>YJZk^VaFOqJE0x29`L$mBpYBG9uUbNjFyAF^ z%W^<;3V+n=A@Ox{Qefk#-0?kMrbV0d!jxy}eCW4LN7`Nv`h*|!3!xM-n$0vWXpnsk zKI!|0ZZekM7aEbGH`=Lli$T!t(%eafuDmhVA#;uiUz1OTcFv_;c#VL#gvOI8rYb9u zX|EwTc8U5ZHKp9JNa;*b-Lyt^leYxI0pWhS03;(b;%OS7)diP@UMiU|kuf0-8(0|P$m3K5Pc8IKPt^1Z<8D;LXXd3~Zv7~6B{&;sFEK(=sNZMoJX z1u!6ygf`yd|Ueri%rbcguRepdSpzLx^{ty7^!#q;VUeqK++S#&>>v zFIpu7J*-d{)Yu;UYTvAw1A>|Lhcxpk-wQO07iDW5!o;R+1Lpc>J`d1g-Z+E zAMcHH!gYM&3Os#+2Dk;(dAc-ig=rmGE*N$&3H7k|{rx4F0VvVa@I9DWxx6*21#t=- zB0QWNmUhGhv18g62w9Uq<|E7aa;o5FYK%L%y$I9oXweb@K;whJuIHXPCa=XK^;<`& zpyx)_fM;j4Uubp1SVBogcR>YBWWNb3mSMx1Ra?SeIno%ZW)L1qJBctUfmE&YpZ<)zfpcE{ zq~cjbT#J79g1X_4wn)lN-}kUbdmd+o=cv7&uX%lX?&7)I|5CoAW?rtJ5yV^m^H8^- zm_^V^AfZ@Xxcs}pT&Q`N;lOjnI!oei$%wIo5jGT>eu=7oU%=yvlFeVB^%&AbjrN$N zwOKs4*s;f@u%3nJRP7fcKMO~-&b>0RgK3`&E#eW~2BAvy<<XRxhzpdigFE;EAQaBiNwQrx6%1AWHZ2!*GDtt}5&aieRU zp_;L3D?(|m!H6<}n9Sw!^1f0ov7+z4N?LE3z%g_2|3T4w&ukV#+oxy$_XV}X`^D)Z zk)7R2736HwYArQ5qJK+sHnRFsKl*TQWqMb@I6%pyx%oRvS=(el02=r;m*#}Z+Nw?f z9aFKrps%p!O7a0;^)0OMsEHD?yDSuGgbGj&s>aor>aopofNnqH;xBor2ieA=)ww~%l8^!20;b#r4=+%{EiDEZ3LEuVUDyqq269@ zoE*j&AijWzX1B$#3MG#%!O?>t z5d0_{ax(h|g;fAN)J{FfPuct&j9*UiR9Z--E-%|YHTMw*aQ|P%v%DlZ%&KEdtg5MxJDmh+CUk-NfKM)oiUS_(_*Q1_=5OfLDs9O&;{ zr(zyeaYV=as~o5cg?sE(7&3l+0x6vz3ILy7hZZ80V6eZ))UR^&ZLAxnCObM2OKROB zkaq+Icf+qgaKJVGmP7*rS5}Bp=tE;gHCylzkHb4^-_Xoc)K((S!vzo__L#!bZnn20 zDA=igZqKf(4LVmncC`6wIg2|?VIh}i=R_zCigcf>AT^);^s=hHtAkvlK&Mn8) z95wy7`uCN#C8x=q{R(1)BP<8eg`@$Qqme;CZN|d_GJ&aC5w0GDAt4vmxZCrs zLv#k=*V$!!IZ-wxs=@Jqs0spowLGkpAjw%sXTV-PiSynB%)Z_2TCk^!E~_@b6C575R)yn@rtg zRJoH*csZ)GVIRydU44Dm7GxLIzWCEdQ`kMNS#8()w^Wv3Hwdv|Y0ow&5e@7C7I_t7 zS_tSR7RAPu`Dazm!0yZkbiKEvsH9iYk>jSj z-;`7@X+8y}Sx*jqvZ5iQoy$N*eyiF+6JXC$AKLLjPcduCbeq`jnR$NwMDaRTCoS0~ zBT*2m(`Z+&t_8s9SI`P#_rUO5uhE+U{c0QzwnWSO6^M0cYEmq>#9syt=p{p z2aGpYSC6C0m?u*oE3Xl%wC9%n?-uwT7Q#)qbBLn*+W2UwuQS5)<0=f-+?Jp)8L{?# z8k7v3$IG>_VJ5Ujnb3} zMazCqME0D*!8`rFV5Y)?0X+terbX}mlUDzPV@|5Jjw&t`_7CjI0>oaU%t%-|Rb@FXXx z)^r@mdVd=x6D^apSdoOLt}5QpVz0uRsc@4xr;-7>Zf7O@s{ll@w4oc)Ej9`i<(25| zT17+;QqnNGn#G^BW&z@>l^Dy}T=g@!))h_wS1C=<4^US$-hXS>6`{OpX&$7?$E=Ep z2zi-_Dg=TvEZA!4@FuEd)%lY62=FE;B1{h% zsIEY);;GEDO(Ky)$S;Xp2gn4C>21@9Cg^Mi z+Hcje#V3n+AVPy7ev3bEVNo~!1xPbMKMg40pL~agFc83MJpt6_JMq$*Uj{$AC1(Fj zEEt#m!hjJgw3-t#WMMXScS+$(MjjYy@zvz;sK31S^6+t4ul5?9A)uiOHd;__VG)24 zUVFKH#cUT`{mMdS`XdTm{!1UDFd4c6YKUfNubNs*I3n${bN*_LnD0dCz}5UZXsYtn z=%rI zg^%pd1b?3`fkbJFrXLmgUA!$Lfi#GQC`o91kIz+%4w(QuhrlNFB9j1^mf@Pu&AlMX z$gqx^Zz5oW&?=KG+jf3G0zfVq$WS6<-r4z(LZB*kQ=2J2Vm~aXmR5U4Nn<_7MX(I(fu8+pj55l&!~XMt92%S%A1(KKc(?!WgV_^#5krsS0kNM(1`WkDcS1C z#eV=))&yoH*I9%F>JXMcLlbw9$>Gu>3Q%kjg_z!o(7imfpryDmLnY#$y-J0OnaMJO zjT!=@_@w4uc2sf}->|7|hphfy-L2%Yf)at;*@9jR|51BM(WY@ro(K1mt`C%=v+JNy zo~y`t|JIkeyroY{por2G%uA7CH!r0l4YS(_rK9Z!`tO>8A~sABLo*FtP+d4QD+rTr zyH)iIieRh=i=^5wZE3?oG_Y$B@>Ezo@c`bJ^$2` z<)J|&^yw5%+g_M&lL0{xK0eAf*w*3h;d#wiO&c049DawM36q_m;)6r6hHkyLZo$VMt)(Fjmd;B|; zA$kRam&F=}d^Ut2WSloc^2^XA7qCrw)2Y`gO$|BdX6rR5F!f<&#zMVM2sd3ri<-@f z_xP&v)90|W*5L8L?`h$%JRgzTP#i?A4z8i6Z$-U1O}vdBoEZVGS(y6aLy~A-CcHQw zD6$K)(B4tVL|3!=RW5b!Q3_NWFQPz>&&s3L<**%KH*+p4w-K=X$?9jb9ki;sCEE$I zGim2R(re*^{ycF8xOZ%&a%)_eopyEhx7I7ws$Pp=anQFk<+NHQL2f>~%7?QiRCGqt z8j^A*X$d=*b^9P{_gFpQ?)G53lqZJJfEs77^u2~a3Sxshk^EP!@PZZ8We?lJT>6^N zn96vWCs_)@VCu1y$>Bu|qt13N3GGdr<-kc0nOb4if}^9PEWl4xYEuDOr>!Yt+wcf# z`#4-*03L!wMYlcWnQdo76ogd{Vvd&6l{E!a^P%SlojQc+{EN5_MpE4p7-CdYU6C>F zwy>f+rgE`cF-0V{KCZdt)tF;@pMPcfA>%%dw6rtMjfdJ=w6T~rG&XCeHGb4-Qq=)9 zE2gEfv)U(EH4n|=6mRY`O+<$8_bHv1z3g_}+$^+z^qQ`zyR;qh^W7tNxMTx0NSWMY|!sN-<)x62M6uD~)S;j1gRlqb#bNfmB=- zOpsQ)Kv-Gl`A0aTM(2Z!{x12!aJ#R_!x4w^t zH=#PlM*WSkKPqrpI^7gPZ8%1&S-tNOr{ax>AUkc|=KsM>LI3ckX@7as+h?r_k07co zBN4b$w~+^7u$90g$J8cm=CGF6gn5?ZEq=Bi6fVkYVQGwGq~4qGN}$~cI{>*&G6(6o zdfdlB6W34M8hMbi7EyO#G46bDUdP%f_8`XW{`AmZBEW+9H0$%v0YdIWFLL!lz3X>K z(WOtksCHE#sv|VpWKV!nWT1|0v_Mhiow$W(E$c5b(Vm4w!s z&&N-_-D3DXslr~}=>_a6+H}ZEvOVr1Q2mI|*uM2EF#8==nY~7@%_7zHM+f@Ls#$H? zyp{$ceXD2;zK6s~N2@gPlbCc_QmiJj#N*d`CUzB&(e}!`ub*R(p4S$VMr;%b0B_=b z=vO-b!}ze%Gn!PPpu}n$Jt8=eV;ohK*I4i5F^rP zG$VFeaV@BXxrUin%YYMo5nkMW&=B3K#G6&xga2V>ByyYdc2&fcT5k5qRz&Ie3qe4p z;BkPSNu;N4)(`DAVM^Y)hLk1 zkV6oI+-CfaPCQn;&Nk!QXNs*O3i`PRx+UY-eS51R{-}HMM2)czo`~TlnlxVs2UY*1 zG=mp0LLC3a1*yN5nAZyq!&+_ZjLX~or8B`wgnHv4Z%iAzm?Y@6H@-Z@pm&<&UDhTK z;RPweUV!iqjWaNJjrRStWj_cMzzn0Q_cldU+|N4bt->Q4{#S}*e;P@fkSZ%oKk{um zUhREh{nee)d$~%6^TLIb>;u`Si8l?|U9w1rq}D-BB~AIdv-x}Wk35$7y%b(PCpX4i z5AYU(TmKBW-fz`2j#>~ggAz%Xyab!7iAa0)hB|)+hg8q-LSqb{knQA*XcEs-=3{yTGXt4?1PfZFBR}CND2~i zG07{IERZ7I9JM2N+bVX1*c>59Ce+r>hdsYV??UXQ=Y$3?wRs%_WqxdYhDNv^xPqeM z_ZsOZEUf4(odq?C${y;z@8i6-7JR{3&1$Nv-fK#h7rPjgk@BZAi*|z_&c0BthP@z) z{9TZuDzzrF;%9{HZSg3fAuvE`)&Wz+nJT|DY@pk0O6$t)jLHuJ-|_LUj8!eSkL<_z zKE3A=h>JUL5V=&zaFx_JWJXtiVgen}4h6k1a!g+o;zHhYumvJ;9tt;Cdc*9GDUj%o zJ3qkWzyG?-nWer(f4ark_wIsRI^Th-W?4g%+&rQjoBdlRJBtL?m+rWmF?W%bu9{hA z>4?V~eJvZbNSUUq51PQZ{RXOBRu%PXffpK=mY!u{_(*iR#T`5=Vb zV{@#WbUQ6l6q3~-$-H}BDaT*Lzug)?GFwJ^en9peo};Si;V(Th{Bqh^w5lUi(Y&XL z6YZh8Jat%3>$vpQ$!LZaJAP~x<6HbIq7|AuvOq4jN~E}~Sl5d`*4LFX=dKSWkzlp0 zt-7T`&vEp3zK=q=4sj({r-Mz6&*#OK+fMcwtkct7GT)h9LAe(Ia%G*hFTYm^!SC0C z#W?8J`vdINcG|tj%tT?#BrJcV;ZTv&+w*kElaB0YwuYWK61?J^Z{7^7lN1k63nwOS zECSoC;J&a4suKf(nh_-9VEvj?%`oClb)^uhkWTK%Yk6!xj7upTN&F8@*v|dmG$H7} zaYFm|@Say4%;$fkYJTKaX|8!YzUPp2A(Fkd9T`hGib^;5`Z)C|AVu-VG{dP@^N53= zN${VELU(?Zf|DXld7uj!Z$6oeXSxx_G*3?glM(Yf9shDM+w&sM6d!%i$~ibEe@IPE zXE;P{w(Dp&3C4WLIob23Yzq|eHr*qz5a}bo)W~#uZj&aPo~DdzX>AiK#qR*v>E$Ap z#IcgAlcb%BDcFNWiYrQ~_d9gas9ws~o3XR|i1?hx#RL1CF7e*MzlxA{leaD|?{m_M zbNPd>fvhVd*!pLwhhB=ZvW>RaMlXipP9<;_Ctd1)I6{hb(9uE62+hmz*VsGx1nov~ z+_&`x?K*ksNV+ggxrUW`w-u0b`=em8x0nC5pQMfNZ{()115 zY%`%?jbzu>63Ne4FvA0{VC~-ALMxEPNajJ~h?2v1-#$h4)D_Ii;@I+eczN2u?di&E z-F9ATrEu?2`o0A7V*hjY1Ikk&Y8A(wkPI@qK2eBks+*U0*yb`5zg`65?j#?oV+-gW z^OWHV1RkkuzIw7k#^sGRk^ra2@R8$Bzk2GF3eb#hbN=^x{8^rwgp<+W~1S{KQ z+dW(^FPcF}iG@XdfFxp1R$zq(023zXlGwifGFqyCBP~{1Gx-xCgL>D%Ji}CN6L=sS zYS5Y0V7QAkMKWFwGwJRdt?c%js}L2;In@M`7`RI&17p66SRBCOnuFMiu0cL>cS^?V zt9YVp@>&m#@GvIXaDD$KYtpglrkBiM?NUsq^;3v%b;kWBf!V@Rn1i;%++pixEP%ro zZJ=rqk)}&r8v)z>x+b7XIwoT5KrhJinU>;$n;g?RJkK!jO*%I#a7WPR@N(Pk1CS0R zD0CFp3T%I@ z>FeZFnrb{9rIgYl@|}@FzR(N0$P@tLrzpi6S2~!l6VoGDQP|DTfw}lO*9C)u!`qlY z`r7&=gPjDgA`OpMmT$&A@oL9ff^2S9&aE1A($ONfFuS^ynkX7K?Vc!P$4kS5$veJg*I-IBmf^gb9w#|sG} z7SucE>R@6g>|e7@2tK}HKeujgi>bn@>#pjKcXNMjLgn=GVgg|J8QSWxanw5MoDh8+ z6Q`>$8%nmV?V3s~=Rf)mpY&EO_%uDPUbt?9I!_nvm-P;`NpiXUshf?VX@ZuEfd{D5 z6oQOA!8T)8lyxg;*>tuhJn&b45(np?-lA_`W8gvkWK?fWgfk$WFngG**I1r{E07T@ z@C&6@>wsIKu}k1OvB&6^iTJ_&6~j@u>vx%rIkT|EU-WU1ygFOD`YsZD*yo#R1RW4x zI=v!fzcY7KZbSLop$+{kWL$6^`_FyPz*`RaE$k~Pn}3*JSgG{YUv(nTf5{V>{qbTI z2))HE@K&LQIO{g6oRbY_7H(M;oHxTe@q-LgSLA1?snLEZI>w$Td7Ui|74yokDn=pME^F)SM%YjS7iT=%a55O~Z!pr+)LH{-WGC;VM2 zBOv=$O;@h1B+uC9$|ryMcrhAQ57l%u*<`>ciNXfR_T`~!;}!$BTmNYyn<*l`s>RdG z&*S-#?3LZlZi9#`#yAw_Dz-ftusk0(36WZ+;3(Qcm;Q9mP3rlO?-~APOrUW+L1Njl zSHn$~#Zv4GqSZ&`@Ap=bhi_92Hxxu_?&6;+8MVTYd@1zbZm}n|3A_jN9sN=$i`>ZT zGxiAiCf7ZYx0|o1$e}qmqvg@>&D)VyoT=F2c<*~3*sc~=%}UF$!ek-RwW~`MbfOMs z|80$!=;+PM5!ZNmU@83fh|UiKH&JPobsL)<*o`B6(2?P+;9uQA6`bDkWHlin{ZquX zje71ilk@cNU7k~9!j~qF`Y_m)j+g0a3GkK;zuDBRVX@vdN_J&D6Om2oNVoNjU4-05 zjOLIMxSHWrI@!B{D(%zZtNqI8^7*y9RH94i2DE=2lk2wFV=CIAqlA6JYYvjXH8Iyk z+RQsY0MR}bOx0yU>{JHqc&+$=Q;0uIoVQWx`WACPScKlbYb&pNb}8y=Oi>i`V;rbikS+UA*ZpjByG=G^JDRwm!HFZdvVFw3Tob}SW5 zawV7|#gnrT@q$?{I-`LE-cob8)CDU!k(}9jnWVO&APThR&^Phe0b}_4ugfK{+-u!!a zyUM1*A#kOKxwuO1iN?A89h;h)@n0O3-pj8oD3EL7wS9Q>(ug4MH$05KTG(*&vV>#s2T2f4~*vpGC6ZT++YuD9Dv)>N%?{X!-- zB*n4k^&is}BfQn7@q+gg3r~)Yvv|Kw##D8}e-(BygLkL^g{e6{jFN;O z=dsx0;@_P$XcG?}MDF@p(3N?7G875EVsM`*_c$bhbs}Q&2y8zFE5c(CqjF$XNh?OI zGW0x%Pt|#vxqs}3aa{MI?&qPskec4wcU9s$34We`q?=%!)1eC9{eVwF26m2Xpl2YW zNH|n zU0ev*|0YfOy$eWeY**N7JYdVy?>kG zyimJ$&PfHr8FpgdHfy1#Ky2(UF%@eJ(ifZ6;sqUFn_w%F<5XWRUWbB^P^t=UFh&Rk3xcM0&}pK76h_}2Q79R@}v3I+!7w^_h{UyVU*Dal()#L32KNGux4 z?_lxa{;QY3KS8oiy2XMRFfbY1Ffio*9r1T=3~KHB8^rQ&Jz_4C!m`i&o5N%dAz5J= z{of6td47V(e|-`E-qimmw*SAJW0y((b^N!E-@(9~!NS0h{U1k+*?+T&%_9}9$16VS$F|quoZU7gM%WiAaO{pZ7ocicrfu;GDk{cNAYia1i_jP28u)B$r zf=M|FS}QK3XelgIphzI+V+!9N`qKF#;3Y?5Z9skMob&dPV_XW-0FH(ds z!27c0o9;<|mH+B$zR+Ut;X~}xbnJBf=VpCR-z>vqFhC|7M;? z?)|A30e|MqoznS#n%CSfdXIDd$zg^5Nip}?B#2+!;|xSlyuRDdK6eF&yW-jd*Q_KY#DhMKBk?F2uWB3Msh=0|?6c*MzeS`>eiua8Tb7KT)ST6;a{`RqG0HDJ#=u?e;X1KIs&` zkW~eyP#&`>z7pJzNDitIgdeD7(>~%H%dJ_)ib4BCi9cRFa4hD{36KQ)^oV=|j=B4D z{nMw^!0a*{`NNu@ur0I+3?tSb01Ig~v0Bt7WWfv4aqqksfbwgfcPCu~m$ z0Lx@OTF~8z*)eiZhWCKy8azOLN;sI70#DFU9U4oM>%Gr)g1!d{$0|3*ijLR- zUkSAFjqzFB)?_b7_hY4|;U^+AaK+)=~O&rEgBvNOzDrXAsy#_y z=JMt+Pfug*5$HfHVzW^-zI9KY>Md;ZbU_@8lsia;cky^^9>a-w+71yy z7FKAEs)pNW(R0)pd(pe_4f$JVu?&OWj$^$30`e1*yS^OBm5>t8_6ev9$X`cbz}Q50 zx&im#NrWwaI4a7arj28toUC78bW_5>b|L&B^fd`Zut`xQ-$98WGe@V)){ZsJ8psZ2 zNuU&*X!q7cLBV?9TmrKTkp*zf(#_KPTW-yaWfHa$2_L z0n5Of?xrN}V4*@vETAXcIzf%H9uV}1S)hqx(}*)xtXgT#j#W(x?_HC?)-uzJ^)B zHg-Va48-#&2#uMc^U`DOq-F8Is|mq)&{`=fglW=l2OM^o+_4c zimFe%$vwK&5BqfCBC>hY=R%=IxTFe@Xh5S7HldV2Bxn4f9Lti;(aoJ%pj9F`LvICS zHU3qWNHz-^L`LV!Q#~!H^~#kHr;_EF2YLBMiRAbPt ztEKa1OTl3U%BBs|acn3p1IGZn=WXo)5#vMEo=80!Y)F$a!Egvbq!mFTq`spYDB^$= zJv!JTjie7$OhgwJQInuT(qG&=lwld8&-6!-VGAq!i?`e{XZ`Ye71`@^yRpkJ0Nm!k zA|%Q&K72wVuq>uIMm_r&sdOIU&=DwoO6@$Y+>lOH(ojl z*Ce%QDtYeXH+Mk41o{d>xVX-JOdL)xsI&vP9_J7=V5NZ4+N!V&G+~>RGeZDr57Lk~ zqWBkBtRqP?6!G{R?BGa5QWpDoK8*@uFs(iRrzu`Zy8-m)NH8O~8HOuu%O)%vGc<2+nk)=ALCq>#VA|Wz_W+*(&B8>DR zBkda(&g%zMyhd2wB~mG3b)YXkDwcu4<&nhf@kNY4(81sAqLL8Mm!iCfP32YJ|PL0MpTVJsv2lB+~$y(+d=m?}kRcr>=O z0ikUa>_Y){0U_E(s{u2T0{IX#q5Hub~`d;F{ zimOVn;2g^af%jL+DTTfi<_VsYEt`I6Eo;jJ@7Ecw5mNNfc}AaFw+b_lwK_^o0ir9~ zL9k537{y({8kr(=QoqFz18(&a^iwr%vw#+kn%epvPt*W@Bg+J^0vG5gF~Z!9*;+H3)fY_2Z`<57i4z_w$`8|wb8d|mRx(6ps<3Yl=Z6BY za}$v#S$0L%RQ5XNM(}GP)i6&cY}5&mBHeSo^)|WlYI3}5<>02b#o;BA3&-|{j|?__ z@pde{>?ikWTI@6FqNb^WI-9$ZEjgP-l(_$G7Dh17ucAzzGN`jQOcX|=4)RDM2lbaT zS)S)%&v6|@qty%;z7pLk@sGrqRuwU&5h$ILmngCMn*|?wVuMSRBS!Q+8#3JrAre;r zxzX096BuEzQswGT*k!pr+E&5Wdejc`xTSNuhIzXYezr1*FLN5lzM}v^~!0u^j zU9L7EMI=^sq_E)AV$S4(-cK+^CISEmV2*eK72 zZIJ;1S8<)SQu6sMf~3~)j*a24(2d5eMw#dA6O)C|NE;chMJ@@mAWOUbV%wh!Vs#=> zt!O<^n2>{xnuUhTr`!mM0E$G%uF{CiqnHKjGX;t|f-;F#HSjjjPS})WpoW*ncO65| zsSUC=y#iqrLNs-x5F^T+4rnoRXdU;++acUwTutk7NpZLS+)5n7vK_Wof<1oJOuN7$ z5yuW{R6&Z>E=l<~KzGVG>hIY1LAZPoKGWKBNfi3XPI&Z?293sym{2EfQ=_JeEC4St z5lq9x#yfQ5q(oYEU=DCubG++@%Jd;{o-L51xYi}IvK}=u_h9q;=*vrZypQT-M#TOt zx_~o$A&(>4)Y=Omh0BhGFumkldQd(@ZKfvZX|O#|07wnG0tgFW6SvS8Dj2M}F*kBZ z-N3X0sZcV_nwSG(Iu{m+H#d_CuP_*D>)aog<{e?s6>5BEb5svq(@5)4~uO}-kfs*Osz^MmV4j2RHK{_)-joL*Gfad7E zvf^@=>1A6Snl>mB&Vu>isiS5ffg;)EU@Jg=M{VUj#05?ce(a`; zZjPsHaDm-jMonjU7u%DI?-U~j2-;rW>JKX>;Ia|(ibm*VMi70k%Vg%f?dAO2$#`@e zk!CcVbapD)p$L`c1ofjuWq|^0;LDjX=FNA8Lyq~{E;j)yg~VQ&Mifz|VS-~R>ZIjCh%thX7%jz0saBj-aBN1i!n%$E z34HW%WMz|Wl)^g}m9hLBm|=)^KX3`_Bb%rZ5zOfX7N0C=p)6Lx)pW4}aGQ6VmIx=b zIkwh2`fbM<>r_FFltONZc8U%^+GV6YpAt{`Y zVu>S&{g^vJS<-82f6Ko3wiOvX0u$POJ8h< zLCTB+?jcGU^dF~Q!uP87%u@jn=(sr%Z_iRtl+j;J?(RFBPR43 z?+9!iQ_Umd*&EeT%l7hpikPVhhZ1H(3_VKtE;k$tgEr5AK7U%} z^rqi9p+pS>o8dIn!-jd6`o1Nl`v$A|2k#*N+0Yni3_>HQR+2h6AG#p&3c+i zZ*W=6#SIxryirO<+nMb5=%7sTvH=DLg+M!M196=4n8l)XkOK2^m>8izfvFfw$O%RJL4CnsHP0Q9x?1@G)GjX2EDGtDJ`lf(-k}RFdVlw z&3`EeRkH}W$^Ll`k`c{l{X9JU3k1c(5(hU|qO!;rL~}`z;*yUHg`xnY)fS-96aZ(X2SAcJrMPwdL3_z6X++kGvFJRGx??b%DyIntb&Yg znWPTbc&i|4ALOG5T%EoLDgLh%YO{8D(|vWdW>wN@ON^DS=IuWal&E zrGp1)fG96n`iX*3er6IghK)c2d@cO;D|~Ds3$82A(BN9VPfREJ{xu`B$pH--j*6#` z_Le{^Xti6OhG`}(!LNUu=?yXv#iO*_cc76|+FCdSV9}x`VJBD455RS@kobO>2%d8~ zRWvpQyQ(oE!MGDBm#ksYQ7r*@M~VA2fIYCrEeUcO^=BvrfmR4QZ6wr4A$3=G#+VtS z9!utO{PEkc+Ao;b%0B8I=ZGM;);3|<=X#QCW2lArc1mmdQh1&ryoZI#q0e-B1es@8 zw{qtpF%AX4f1Lkj&UNimV3hn4w4iOcLSMDCMxFtn5V}OM!+&+M$gI2Ba_lEBHVDfC zTqepjCrDRfaK*>W2GQ_2mo!9jL|%~ISwfO%m7Sg4;AIDgQf|%EM3|U^(8?|@TYU$z zql;-oL@16b+5THb*l5newPt~N6q42PH2GHC!E+scor%^n( zUwy->ri&kC@?hKkCV(BRgr-H)aear*jaczN;K4pNTZUaeN|c(q(Q!tzesmErVlm8ELFo=0VBCd&`hd(AA zW|E-dgGcL&bN9a6zt_u*^eB(I1eN;4ATpO4M`zCfVO?4HgnRkSc!4N2{^kn-ra z#wn}zYKr=Cc}<6VOU5btjdD+8;RDJKCJsjj*y0t~Z*@fJM8U9G2irf4PH4Z1KtgC# z7|>@lrFg7EJ;pDz#kVt|(STh+IdubNV~dH03aFqiNFLzukr)6EM%Q{qd%+r<2Jr3% z!dJ!m6cVh9Z)U5Rgi7I{;T@_X53;w27T{2G3?o@I!_wm}Nzn1pEsRgHYNuErPKrfw z*jSKWGO`;(k=swXYI21&b7b^IZjNviRYU9q?+B*MR4e2MEV$Mf?6~p7hm-vQ{mWx4 zXsqw105}zo2^wk;)j-?hPjM;Mx#UO6(pV6u82GLkZ|w%Kb&g3lvkuFfZ(M-LC&$#| z&KB?S6*fpF2?WV!+M7zLj9)_e38>bjp_+u+C~rFIL^K^#b$>d@HJJ>kx``Ok#lS?k zu^=@~$-G%%PoXV13aGauhW7jALD(k*EYQ34DHc|Sx3i$h85P}P#lE^Vq4FxPqk{yf zXGKO#NcXV}$V4V8wP2H^N1H#2LV=SL4lTNX5}gm?$}PswwUAYV;%wsl) z*2xgTBvB=dj8%+VG^;?c$RUikt5EpHAA0DBUZa*5?V1A<+J|Fc`e7C5aV_jiVnul* zMn&|G0wW{bf5d^Kr{*KrXFZgIgm{%oW)geA!a2`l{!~ttB0_kPBM~E&_dHjzW}8T+ zmOk<7g!E|^4ORvs_JQ>b={tnXeg-NbI*4EPDkF?a3X{nOXy|I_NQM}dWK&RU8bc2U za|AB-Mj<7~o8KfQIq(RsnGj?$E!<5xR?d-{S!FuokD(*sgN^#LF%!6vc6wUiikIhW zB;p$~z)a%Dr&b4xygD^Filf?>3;?E4~Y zj2jaR;#`EtDZx4fc7Io#2at@#kwWTS<)BQHK;M4FsWE+IyHm>mh7QOQX)X%#X1^khBXLTy-)cMF+0q1i^`Y1t^?t9<=brxGH!k>m+jv zX)=jo3uYGW3Ij`8#AMN#M;|_JWJ{{~(Fv-7CWcFJ-D7YTX-Mc0{~_if1Z`*ppW!~< z!p?WfXcus z#o&KCbgFGa3Mnw|y$n<(m&LOY5-wM^Slk*1yrvo*gjDz$BPVP$XJqoPbx|g@l!WQTe(2oy7_Rs&v}rgx)UjkO zcEUFLPs#CE5bz#xN~NV5U^YenjN&2jAwuNdfedR0lzKMv*COIt2D*(nq~#_rF;d4$m-Vm z3|{(`==;v8Lb_6dohK^yFgojTE{IW#$@RVIu?}oHCn6hP|}ScJPxlWR7}W@a-#D zy2KSseG&wl5OJh`utVk(hunQFThXbh!x4BtG{;9sNGLJ-nWlzc!_h(M_ygJvNF!=- z?8Pj(vZzIR#Cujy%Dj|AgOY&3uGsvjSI`U6C1j3&0u71kJV5pmOwvOZ$dz9r#IJNO zU?GB?LMd^f-OQ)-`zDGoc))jAQKuV*c_-mf)K+jOs7h_z;DnUjPw@$p%=!aCD!$He z%$4jLO^OufXL)`Mp`)qfe2&A^cc#iYZBEwnyx?42MPj}2hZ`)}*MO^J#^rFo7o|k^ znliF^Vt6$>K&Mv^n^b5BD@X(|`z)x~|InI2sEE*$#K2Jw{IQj}4MWLKKBpOj6^sTi zqNzW+Y=AJQJiJK*Yl`_w#_-h8htnW4Gvo<#pQuH>r7*8+yoV{jZzf?+32+o_1tp2h z`i;nH2#^jC58nIg5Qme)XcioZ`6%$^NM$Xu6~)w2qHse;0ODAXDA3E%g@dZ8GGZ74 zLd)6{xd-HW@TS#M%blc6FtN3kX^duOnkI%J#Hypx6cAZFx^TNiYC;D3H9<#A=rqQ# zusG}>ZymhN8*34{{638#LKAP}?&1yZ6P6syBQoG+d7d<;Wu80n%Fc^GPLpFJF5zoH z+5{*=n#6T=!o~}rCMMQsrS)_*@89k9NU0GVYd^%3Y^2(CU?)aZDBiK$HbWX5C`lPZBxXg5 zSj!huj<7kBX{KV@fe$AO$C&XtN;s0VQmqonDyt9b;n{nfbMBPGW4?N6%KCco4^eyP zCBgj)JUH(4aJ|ZkpWb8#;C-2N!9iVSw}_k|iWrvaJJW<-brmB^*t$ncYvQQhiP`e@Dk7UQJ`X=g_vmM(kyR*Y;oKg9 zTAIIAa+|as+2q(GnjQJfzOvQM(QNR`_s{=F7otRZ)JS7ZrT!RV8 z=q)hD3*uTR4Ru7i2NqKQ_*DheWerG#;w@p)$J7{(H8uFor)X(hY6D=0aqD06g5Dp* z049m|<#F#$90Li}Nox#`_D2Fpm~_c`+=&(yzWJdkz5@5OH{Egxt#aZprE~0~tNd8i z7iHsyELeF>LokJhmyC$f+-)2IX>3a|jT;cxP6+I#-cL2g02hW@7d(o3Vabw(-J{3; zlm*-@xj8=%+Em~y%95n%bVK+C{KBz1>>8Z(bc?$gd8#S$NYVFQNKtmk@+1RX_~B_E zb)sfdNE%rNb&1g7H!EcnbA{EoeBq?&|d zO;t;bS;FCR>v-0MHM4Y8bj(|uOt`US6&}IPoSn)-u8@X+OT4O25G_H4QSq9p(!Vow zt5b~{4#7{G5;~&6GzLI}g`k5bC&po^6D!Y+e_g}w>)3U2s^m$xrzQuQA^l+tnO~8K zJ5v%BIyC}yWA951)Z+?dJ;}$Y$XQ_ne8bl-G?pLPW6Xnl0TLC=_FAQAq%R>Q+ewEl zl@l|=O(#hV3{@DDj=-)979^g;WG34T*iPX#7F*@kzcu#3EA54F?VI#6{fG>P6=0b~ z$9$tz+Ec9@%(8eEZ2V6bQ7&{5^*U0J1!XmTtdo1ruo^RJ)d)(QkWji514!gl*a77> zrRtf+G1)0z^MmcQvUIJ2w`K~#tTLqkLg*6NZARK}0bP;NT=R)ndVjr8;rfuvEF|K2+ir+PhFV zg2rhek*hp4nx9!a+EppakuOw&=-k~hOPVBx!l#-`0o62|iBz{Sk)f=?XcE$xs|s*P zCymCt7^Cu)5OAoGI$Y=lKjek{QU+|oyd^SbU`G+coub7S2WZbDk=$l-8#)Up zCXZO+1};>f0TG6)QryN|@H`~Z!xkA91bXIbcTR+xqV7&{k)akl78>9zm}U#xEJ1Em z?u=HX9Qz)!?q!ee_rx8qD3OpBZcZ7n|CTjHq+zY9S`uQOH5P7<3@(u^EG3Yg&4BuvzT;8n@RKWM->eka5V5Os20QKG4l}f!(zRLQ9g@as}`|-O131ou7$s3 z|Bs@zEY%wZu8=16f2}+}`mBjHU4$0I4F~UUrlN%&adV>swV&6&!{N|;q##Ig&POP- zz*9UudsTOTh-e}Ob++2OdcaS53j{f za*!eZsft(GQNLg4g=q-D4Qi(5i`Q$q6nD|$Q8YTWcyd&kQe(Qv(Y5AVOqPsD=Odp` z6@|o7vbt(h{Q@z3!v}J2HEcs29W^>0UOXvU2a~v&6jmFL`wZP_t3zvO@{T_#kuPeO zMNpYbhRSyZA|jM3Sn?%9#1PU0Xt^7gTV%Qc+B? zDdII;Lr4QJNCVCgUF>9%mSy$r3mMMaCnic3o}?^0&#>6?g9*Yyr^x_1*uruW1#?3# zcraPm4HcXD*z&V70-SO)j}dgaPA;j^3T;I(K3_YhR2k;b%aBWDIH6g{e9_f=D{fK- zMiP~&E5h9d7)O<9lDs}`EwAB^DH|E$PL#k8d(D}{X9r635e)vzNslTUj!aVGuvjA^ z<3G!{4OtzaMbc%OO(_(y|~-p48S9rmSSE3@M6S1=+86BZ#BWFW|*hXd>h@{xE^Fr4OL{x~1+R#5-lew>+qxGQuWf%i^Sif;i@$buu01~t z{rz94yLiv)eYT6$f69qFpub5ye$;PDF7k7(51_ljf65PctZ(*w&Yf;K*+^S#T333~W7`+UM33zGA{ zdLNOD+P)m(`Od$ePXGG2fPskYcDI2zV;emqJwNYuL+NaMd(I8^?^pKj24{*kFAlbb z7e}@>c|t(F`)>;Fe1Lv$ebu$?g8T0O(R1`Jhh~A;cStAQ^=a$%xg_l77vd8*^YE4W z?;Z>ze4YC_9F7Y!^xf;(Sw-H*^mym-Vq70>itGApoaxl@JsW;=8xi1j)7zR56mkAu z-|5)lQ{GM7X>SKRnA7F6iTNtT8>-a3{pI&l&>;mjFYgyjkbNP3>maaNE#fp>=)FDjf*Tugktw7-Uv&)}BuNLX34*T5u@#UP3 zVm}x1qK*tQxU3$s&kkrgLkAYZ9$Jz#ivL{gU+mx;V2SehghLB^_zT@B)PUr1j$i-w zjEHzc0y#q!00A|DUA=m`-rT_2XW(qT zA9y;n8_GFCl)&Rf*zMVXngD`KvER4$It9^MIm(1y+UpMt!Z_{T5!`-)HFgEso3S+#54>&#|yzJWnt%sUPZw21G{-Nf^oxjT7-udo4B-`H~3l9*x zOoExyfpu_Ru<`l(`uheE;m=F34%hC+gz$%OpPKJ#s6}VJ|K+>~#vw?8U?6%1;Sg8OSX-F<&z>${XNmhT8G7XRK6W*q~= zK{h1zu^TNC>az+3g5w$p-yj-O%};Xxoj06=Srd%bKLY9;*r-UxHaBUp<3hy?GWn4V zVdcl8EUMxh`FNxl9)g}-_%NVx%+h1K*1()%YK;hFqGLykhjU0PXQ3c zz}yqZ9=o*#t}Fl6YlhkDOm^2^8A_&O5)ZqIY8+qaa)u(QOLQW8C{0rWQ8c?A|aPjDLHek%Ds}(EeA0oR-*R&p2Q+=(ol*(?C zXl>BM2Qw6xh+Oz{Pd8h>{=Bge>VAtm)QKS7V}}VU#mkVQ8%q1v;B2_{`kF?r>?j0nhIU1Mb~_qsyh&|m@vHYUBeu)K|N z6???Iw2C743Ip}@heX87usieIPCKNQ1^E8GA3=foZ+%5U9qCHZ3br97RKuJJ{FH8Vc6Fy_-~IWk3*WWDzvR2>8SUP| z{24vVtKPVvO=9B_z`NIo&j0HzfjKY$mxzYtQ`>(gf4cq)mJiB26^_BPeX9er(E*5*XZOY&I!BN1! z=WcnV+46$9HBZ?88zawAz;GA%oZ9h8*cnHV=y-J4^bd9%9xm6wL%1S3+RFdBkIpyEpr4GJ@E}!kzkyEh(k}0( zL?De{ljnJ}#3oF@UM;fAf?CIO?@bH7?FuVRUTJb`;OYjq7Bn)=!d#67c2W$$1GQWc z_CrK{sHMN}t|Nh+QUB6MHi5Unr@VXf-xoVQ%J4P>iCD9{{3f%gBo?X3& z_x+{*a5f{*Ze3HsJQGd28D2g*MHqtmApemliywRbB5mx3op2C-UR5p|$uZm>+?I?! zS*g&6^omY3W)W4%he(zhypP=AYI{UzEZC)nZ$AIJ61cMSsu%B}!cOyWj|bn-Ru-)V zp$Khz!&{N=FVKn1TIQZ#>x+Mp5o1mRbykA8{eJQPc_ACClL_|ny&=BC&Axhn4E~w; z8SnjA@%d=x^zJ#X{wZd@<=*`%zuWna*?c>v|Ml~d|GJLnH+uDCX}iSkZ|@%(@U;kZ z_}wbC+c)b28VMBp`Lg`UfA?~Bfd5&`?+#>?Ei>ClWn;vUi841=Fu1jqg15@X->h(^A&5!o60u&9RJ|?@0!wkl8p1V= z4YJIa2&E$dsv%lgZ~=_}BA>rvAoNF@d0jg)_?{`MxtJ&SFD9qw@OBaY*x|^U2ud|8 zK`*v<%k$vk6Vc6``~{=F)=y;=gsay0Ybt(dyp(kK(o7Y}S7N(N(xbll?$w*D-=Y{k zpDDN+1t9D=1O8=_W5B`{*V$RW>%kA$%0wWxcc@!9s2QNEfm_ojIL3>)`3-9>3bVqs z?!m^nCsn)14GkZe2QjEx!0k#t3_Ppl58beW-CCzi+rYp&uk_$!XeUWI1qkC zM<%wmcwdcF`QBs+ca%J$OrQ%z77fg1=&Py!C5GhoZ&770p8ud~eV25K?H(LPX9@*f zCqI&HdUJ;kGKc-T6~6!Ek)_!J@#@U_mtxoYh6krxp|pPtPt^~KK8aJ8_nOvc7Vf;& zISpHRJbURlE8H^TmjC2X>4^zwMK8mIR(m~C5A?vP3(FA~8qW=9oslxJJ3|sGta-d3 za<_V@)Z ze)jG`02FaiJ@LLE;@yljANacu2f`>|CNh&;l}4o~=pgzPru=3oX29;m_ElvRzA|%T zYSy;$%_G71{jtbeD7AXTKumX{Yb+9eBnGSJgNA;_&!=W>pKa#$(xN~1#W1y`R?8u&s+BO8(qD7=3-6!ada;KbmD&hi6A>FZ z&(;Rxcu%b3V5MqPL=&cnYM*h(yY4T_T716+ETL{=1mcIo#EHy4ItRiZcOJNk6$rOZ z&)4UQwq3#N-u2zD@1g4ytqsQmIsI-TrRCwep(Y&2>zmYvBwsvv3oJ(Sy8Xj$WQV0XRCHh-@?*b`Jh(zJ<5+sf4Rlp;S35;5- zP|eB<96uY{sE#M?U-OAN^W6)o1P2|pC&moOE2R|79hBzTkT>R0%lZlJsv-`}88soE z6HS|gZ6AGp{BQO%h!MD!OnQYCbzqHqA+3l8B)167frjeBf3fN4FgY&IL5~oQR{zg? z!s5sGwsTuNY3%mu0$P+RA6c%P6}PK3S|@ql{cd;g4Sh#)Ru!c1@e&nxV@YPsZuX%`ve`ea^y6LIxw01l&7B|ffd_KKPi(Ma*4g=CG-jUi1FzdCP|i7F19rs{Wkh^P`BM4^if(|(U2(bcqN++v*QH8F9*h2T!UJT?=?7BSn6+gQ_}jPy7$ za|QE6-cXG*Y?2Pw{u5S9>rTA&+A8UHqmvT?MB@D(<=;6?UFFsgbhP_Jpv6qtLGOYx z6FB!TfaI`fiN7Tm@kW&*MmJvqL+GE%06Z2`H-r*?`foqtVuaZ&4tVP;9mizn7Gbi{ z{7r=>EyXE%d(;Kljjb6uuMzq(Ma%M;jAr$ggOnN_Z()B>_>~(pT_pI_W6yz<_YZD0 zTzPe^p|IZ&gdmYZ^aE%KiN5U#2Uo;as z1VqQZQ+FMF1QX{C@TDhk+>X_$^(d3eBm2;JU0vH~Lx~!>zc4(bB6>0`UzCyXDr8*m z_3=K!9`S@MSr+Wj5r5K}KQ`NsV+y{~W>~klDt+{Ml|18nZ}Og%{e{kL;2}#*x19Yb zsAgww#tckUO$v#_BTV5(HFFP=`1a^79m?QbLYRz~3n6oMD=8qh8Na0SzPse#arlVJ z4y^u)1cGBR*`{vFTLd9%4b z;n|t1XF{$?o7n>0Yy*O}dt$b#RC)F#4TNdd#Wm6%YUXd*lKAsWFAfTZL#y$1S}>R1 z8dNzYdA2xLqA-xaich2{N#Cl|zt8tODs{5&xfi>W2882Q;I=hLXJG1B#{(UR20vVQ zE`Ld`Xe5rG%rWG<(=5>`@TP=7di(~vKLP4799f3R73uy*PyY#1Wz`7?XLx3ybOwu3 zi9Cf;n`zs-sHsTWXV7{{_%+2;$gbQeCXo~ZIBOtNZ7>Z6s|-1EPf^pHWC`0%0uKC} z5DNLe2nmV=$s^wNb|6$kiHi!xAr+i!o-N?0OO-Tl?o9l99I|NfglIhAROrr@oP<~4 z5NCzQrq#dFH)NJ`o(|NmR5Gr=PiZ8WQ%dy588E>@j+@+xaK}n+3aGPGC6BxsGs`YwY=rGc6DVbe;6S|govG;_qCciBTIKI$ zt2#nJ_2pVXbV{W8Nzzu@P8D>}?A?0_M6=v7&hVExeH0Ffu^SZhHM9u5g`)l{WTeps z+j4T9>FCM(!FfO(gE%(Qj;h^M4??nSu(m9Rb=p&~d5o@M2v&-Difzkk2}b#} z4cpu4GLy)-bilpoQwlfzUl&@wmG%5IfKKwZS^@)azdi<&ZZ3zYaH<+kpK=rp1xU&? zi?FGU>Vz3z9fXY@$!vYm;0d#8@DivAXxD(A*wIZIVid@pD#@{Kxen`{bAKS6Oq<)aR%Av47N3 z-y+Z>toJ?2_T!lOLw*0#+Ox9;Y;1q>&HQ z%z{iyB!*rrDIH=R;x(spUG?wHzy87B>*t~O`qOjg=kw|Q`$TyEO?j(}9mnu@*w-)D zZ%4a2N30wF-#zV9KR;|IKN1EYe%HhO6d~fdj($DI`uX#FqN_sCZt-khAO@=p4;Mm) z%?Pno*SbXK^5KP=n*TssP9Lwz2;z(3G*YsR5m=1?Q>f(pq5LtHXTZRgGf1|^P~WX^ zBvpy~?<>*Bb#V7UcF(4%8iC1NSsz=p%YoPUckC`8C@ zf>L6;32<-sR?F(rzZd$EX9SUS_IJ9PZ||Gpp*CER6&DGhL5lZ@#W}7oUoUpoZq;FE&pm|fQO2s&UP(~K#PfN>5^{jTQWdi*YKE2G{eG2@zZ0vka4FL4bNoayyOtU zmp{(n{=gQk%}k6&dk7q5gx2Jy{@;OeQW=p~eQMg$OjQHR8`B&i`F{X?K!U$-#4u&a zD8C7GmY5i!Ah_;e4sUZsNwzDk4(69OThv;{#!3Nf=gbq%vIctIq31?hJ%OR8L7Ij9 z2(Z&y+JBbk|AXv5uq0d0mr}r=?feJc___A~ix$Jm6N32i)lKfZIGCaFfRaZt-})4IU4;z2hU6^3=FR zK-5i>NqnDR6r?jxI2V&l{+8XTU(?Xz3`xKdfVFmQSYeR_6Jl%I-S9TQ%)J|-cF-59GXe+0O2ING%f?Ma>uth zv%S$U)1YapoFX^+=v3!oZJs|~n)9}FU?Lv-*=#bwl2M*|Dr#5x52{^tul#0f2zxoo zHK87s<2<+Ul3z?lF4t6lK>D-0HoEZx^y3(5p>*iEeRKA6x%ZDvkDfa)B{93Ihkc5a zX?yfy+O!Rb+Gb^F9-cLA0{|}yWAY|0kNDZrs0$b=z#}a+HI}Scw{HVZW zcS?L$4+CV2CwsGExK@Wt;5A$JSy2sLeQ&`9_$gGG@@ zq?4$r^Vgk1M=Z+hkd#53 zcF(ELz`@L#1%)7#D5KKccDv84Sb5bMVznwIkjsfq@#(y;0 ze&aua$@JSstFGNkYB$d3Gtkvl3)Ddy8mn`eCbMaCv(>KrBBCM9)=#TjOYIA%Pz3}xMAT_*P4v7`*)tCB?M^X;Oh=2OMOR1I!7u!nk5JTnY# z(##~-Etr;gP@Xcptn0!2fF|E6wJxzI=0NbhF=xRB2o?pu#lV${v!7h{DSkUuwjw3q z=^EzTwm(iT#j}#-=RpP)HImzsqBK!k!7;(HKD1Ofc)5VB!BAQd3+fsP5b^G>lRWZI zL67~Q5;D{9GQ8bb-=NF@qZJ$igDVy#kbeJXXXpL!@y<^7`1tU6+i$+Vc?^&>JC9rc zN0au#-+&h1d0hHXACXCzi z-w!*`18%(L+54OA{`<4{=groCynN+9ZlA+@c)Irf=Kb*fYNro>Z{t_n|B0U(a{z%urv)eX9)ZV9ATX?1P~3q|+a07o z`k@6;yeyy6Ma0R!mE=`cwaR1DGgKuT}^jtom^9KbmpRByhXCq$fQ$h z=$@sfU9-_2IYk zOnG|STrc-GzdD~*vBh$m5{oo{DjBh$CX4LK^d#x1K;TM-DUrD7wxGEeNw~mNPZT=ujz2R zmIqk$TGIS0KQ*TGj|#g%?XVlIHk%F{mIL?ZD_iI1!DFLTjn`Oj{Q6n2XOHL2?VjrN zc=cTiW@B4=DwJ{9`<*BToj9+?{dzTz{73Cf7qL>gzpJ-ZIloaB1x+1uz98cf+K#H* z{px;Iu~0(HJ_v7f=+;}D8p~Wn>3AQ(o#+}ANocD7#{c}EhLhbJw5GqT9$IJs;|FX! zl%J6D>i3CpWh1*H&$J4!x*mTEmZHLRi735JE5=!-QlI^P~N#!|MlrrlsZ19tH4XMwF47~pk=?L6*td<)n9g3|GU4w z`VE>Uc6>`GH#B;>$%j7aP`mZpGyKNccr+W2`=imK&Dp=i?ou~M&6g}rwJM;aRS<@z z^7rev6`#fE92uKnmKsK*1r58*1ZHvGwb9^T;C=I50^ofuDsn#OjqdOJBr9N!6_@2E?gUcwE(PpE@eLo*3mzR8f ztnsb$W4fP+WbuVf_w_6Ngf6V8Z7vz#dSyFeFVrfEeF0IWm!N8ZT1d)>^X7&0T9~Cp zWj|zN?w3LfE#j)Rz=w@{c284ZsAHgs+GeeL;LavG*fsRn2kNb)+J`Q}g})d=01eVD zvD}rS zgufjBfp@EXVekyTU4^gK9444M_cEumxOrA>g~Bkc8Y9)}-)rAS;ceY}Iznf8vN}$J zp`Qh#aFzUvor;gntNVK7a}doA1^?GK1F>pOv%yt3_^^XE;p#TCm}0(zaX$`k$n-wv z0}+k3v$4LYS{L4e7M6p=j{j7eP|A*j*A$;8{j1v)`DF@Se68odJ4hF#wEGC=)$-p` zZd=N2zY)0&=r~)-ZA-arDYtz&x$TjUzHh;_RO(OlAyU91g~2z3##Om9dFMHHR#nu! z)1#;krnyatwC4l0SU*m{+lzghHs&{^a}_1tIYxU|c`x-s<#eE2k`8*}c3|pJqqwb(#3DaVzHz1N9&Ua~5Z`ze` zaFzHgKw_%nC;rMdaQc;pbk~@YG}y5Fo6iO+dL!U|8|v2s^`ZrIqxt&LB0AE8^rWS( zRIe-5Xsp#r6z21jEQv~yI>~Busimg0)RcZ#ni6@_ma5WHRa&Y_zY|qS3hZ;D3i#NX z+iaF<{M^6y4p)({qOBVH_u8UeldYBAtT zNOEQ$RE$&%_{A6{0qg@uUu=mghL>SXUkZeK%2)DdMFbf&NXSJMu4Ei(EN&eEJZSJ2 zpE9Y+{p*Bk7A!txrPz@AfXrswTlho#$)@9o@6IH4)uF$eE87ds)|mAeIKReFM(6GLeiW;z7@(Z3pWnMX{IIIKjdOvf1~R?Y*}W%;9pq^=ZQdKnj+yRg zQpJcl2k-zS5!U0z1J=W&%Y}K7fR>`eRR{MQ{DGTU9qnRMKQ0<3{e>-)73NdPExz>| zEBCT=E~adJg89q2f85kRcG{oAMq8G9rdS!tEp^t~Z!1Ax8g_p_hFyl3DO2X(0zFJI z*?$7#4+5(smTeDyXv7Q}d)XXTW8huPp8F9d$$OY17coUX$PBr#39_8#U8$-{L*wVu zRqvsvE&|Q`PTUGADxcn`G#0oG1)o9Lq}7D=7HPUx9jbc8NEj6q!SE>O}jgLVq8|OAKp&KL99ws*lTJyY%o0; z^I&n#Tv-oYHvzkD%$M8FTyynljXbdO@+VB8#^s5IJB=03ZJu=$si|nW($HDe3-`w< z-!)w#ja2tmD5GPfQ=hl0`$T$Q2tp&-x(38acDYb*m=Ipm4bXc&1I&pcHVv!*3P%P! zY4~_Vg>jC*%49_ReUjtSHK^b>{tL8qNo~f#C49FIZ|IlC+N%{uVIt=dlivS$87G5& zJ=b2Sa8s$f%KA;3hWC>Jk#OCT8sxH&=VLD2SsmWf>A_1q4F@}o5i0Ht;%f_y#GG(` z?*k-;dqQqk?yBnAMMm`kmxJ%suIkFmW1zQFBsW@Dq`tbzJVA=0Y|3-54)Rwo|h~=-@W~GEdQ5d5SxM3bk+gK z%qCt{bzCNfs(xRtiLPGGvM}Av^EA4cqN`6vhO$nBKj5$pt!Jbp)q; zxh5XS7y7}P_@eM3v)|Hpf*Y4VU$Y^D2O7OjZfpLPWO!ph9!{E#bmFg$q|5wqV@^AE z5zKE!vdQCyQ9=%5H)I{uTX>H}%sX~;dmOR#JB^#d?FgilGb%K;*7q_ z#qhiM(x;c!%@KCxwnoEUwoOT3caw``9C2;5s>01{e&ZsFxt^E)KyOc3Reso)2P!!> zt-0J1jJH&a%w1?1M#*M_K^P9hVWZW7y_XK7wAn%l^R^RZefrBR*oZyCL+sN5!nRe6 z2_N?tXPe4}eciSme&=_aAwm;)gm*eE3*?8OmrMyAI z##iq_Qv40n3g*ge@j=pP=P_6`qDNQG$xV>&vLv_A>%`kZv%k7wiY&PL+_ z6$q*a;_C5zgfrV&-@f;_R?jCtzy0oTzxUsw@;8m3_f#i94@MT<&cT_w1!V4Yu-;w& z==ktWZ@=5e|ImoH#z3^L(=-{S!A+xfRI2X%sxBzxk-yPV#SG}uk2^l1SMl4OXTHD6 zMcVq}hKrpIAI_fJJ{A4$^Q~y>HQjG^{5MfNq`Y+MV)ZfALWh5lHeoNQ>T088JS&MMlg5g7*Wk-pJyqh1(OC8wfu8GD=zO`i>x$0T0@D4b4N2TudsWN zHR9)XQJ_8>3|WePZZC!Ekkk!wWqX^g)tQhVz_UK*`Y+d|Ze6g5p&|L*V}*)Oo|qje z_hzG>|MP`Zm7|tz>GD_?qi#3m+D`!nE^S!=xT2^Sx`Xg`ujZntXxA7k7x0%Xg$JR#oaJeLI5B&n?^Qz{v+I#B-c<25mMLkpZj0<1J84M^~`My@6-IKtpe zGx?3hQlJ~-&-41CWY`f7CnAPiyOK&tYT*;UXe`zz3ZZBeC=J9x`_&t#+NoKMhW4By zQwvbDLD3e-^>&k+>ZcaDf6{K0=wtpmQofj`z z17)Xe9g%aYhq0H$RZM;^JjGp8qEcMP>fz@HG<-B(2rGDF&uR|y07((X zxiGEzW1wD`sa)<)dl<}b_!-ZDdOC+qw&2ErmW{c6_0y29dtGR^K>Niv3U_=DN}a3X z#-NB0J0M3H8OVM^bgq#(hr%%$tN6wIMepPNjGtkdu-o6@BGts;T$|!+srOo{mme!R z)#&Wgh^W?bEyR>048MKG^y!6DG4+yMS}##3-mmpFlM0mT=Ja<+gZ<;R$LhST*V>Yc zzmXj}%JSk^XWOe^pMS0a#q7??UW)_=Gr%e{E31nq05u2=^av!%q_Dd_oltf^LF|44 zSgqit1g_Fsyzr|)FHb7qsg|p%J!i(f*J+r|#<}Kht=cJ-t_`R=dLAHFRf|#!ichs7 zQzbWQIY{dxB$h>_l!cBww={D8q_9yO-MfyokERFjlafNEEH- z`<_=LWZi>eXndMhEy>(N2wQ|m+``se0jq{KKEakmpjrl%<>6#H27yRUzJ?=G4Ap85 z?bqnn4*qK28Kxqp^6)k5{Z>I?QC){%;skGaTpmou z)Z<%Mm-0RRtM4)XY4`Y`ckq3`ckt#A=2k-4BAt}Epy(Al?RWorw7=Us*v0se;s^pM zg~^x5XcohOADT7IBssZTsx_U%4#g5%yjRsMqIYGy^DgJeN50c;&V6`C<1olVKbnwS z#MO=3m5kaU)z-m^Q4=TEm`?yF37!%7;5rI#d}i=w0+0Z0$N2Hz^bUG>d#~}+Xnpms z{^_iB*8b}#xcvdhI!r&$80-8~_3!%n=9c~)pKq*hZan?Uzx@&jnBg6tF#K14&Y#Uq zOg6wsr>z&?ym+zo{Q1+)y7$%c=TGv(vg&4My|ccSrGqv4drbtTCTVAS_i6V3*48up zcjLwLE%V>?_2=u)U%c4-YUA0nb)>#$&o^NIZ*6SB{$Kx+`=2I04^e--^~dXw9^d;1 zKH-C|Pe1st{Ga^0Z@t%_tkJVIU;Q7o#@~GZpT>Lr3Agdp7ry@QKk<__`UYFbPu8eM z{?h&ef%&KLTz;}f?cwLW7+pM}|NgW8PyO7S%fdhUlQ$d~?*q|c2<9$_;D<;i=xG z4z{Nh(u)*BSU(Ohx~WUZa(~N`SpJUE8;l_T#Heohdy;v0QLHb-xVsFmfEDi^o3ExI zV5i9-%rcm(YQQbB*@bu~-;k!=_E9C~CKHhNBGCx(qS_^6Zjj$ijpzHIh)EE$t63h6 zJd_DZWDev!&u~v>>ljy|9sLrp)hTV4sQ#W21(C5_+kI`aqmYFJKpv$X3==a zFTZ=&+kY({qtPZ9kNHLK;N*07f1h3z@>2Gan6D^7Q~t=<4uq#pU22NMT!0xWt!*L| z6w~vokXx-{D_^xD^@ZZCqcCgx*&vOkc;R)J4?3+*K|j+db#*Uk9^czv8kqN+fO#u( zhHYNFgNz;3RBPh{3U=S@AML+8!T+`Flp58{9#So5IaQ~Ok^o-ZWl<&#RroO}Pxeq{ zim=BtsKak^@fmC28@!zcJEHh?bGB{D5J4V9AG6(}?ej*siN<4~{c)HBZ_3HqF#sJL z{)$2MO5y^PMY^oN?Q7!u8-Pv5r@}&u)eXA^0bMyaY@Q@yXOUOi{*t7{nTe(!*}Vxe_a)U-gzh+~c%HTvAl z7d!4?WwPeT?yr2@G&<<7HJ*8P&We!flq{t3q=`N7$eFtTntJA>U-j@|NH! zAUK*VMY06f;u+A@m62j$w9lzCb30mS>dBY+*0=Swnr| zs_{b0)yEWb74vnk@5R8}#aRPRUX{nF@;Q>{e&yywdQwNTKs!<>W~rV1MXm@HNs-W*)ne;#vt}6vb2KizcdA_{(_5D z*>xmgT+8IwfBXAGqk+|e3mi54WZe@wDKX}WUH%6QI#e?6bNj~ z+4q>r58}1>K&I7_qzyV8+j45{XJja%HQaW7a!hq43SSMQLEaQ&rfoSYL)i9ZB_-$) z8)8N04DpFj$&bhs(JsQxJ@_2>g!7<3Wq%#tQj|*vt3ed7(F!=sNEB*Rt!=TjT(m{{ zEOsP2&?1ru>neO~NMx;2NV8l?%!w5rlzBl>0v9c1MYI-HezqDENT|@4`ds|dI5+aZ z&(_bWkn~_sQ$(7pkofjsU;mg0t3<^D)4%7G7oO(5ruJ*i@%f1+*JxBv#`(^Gzfi^TSNqI~ z`)oTCM~#r*m1ze#a_Q({OO7v$Zd3#cZOrW5l%LieKCV&7YXMpt93GC|=xFH7Ih`m2 zL|L4ocrc!Uv?k!JFt!e*^&L|~vV0gNohuAVgkRwm|BkUT_?tUf0$L)Q6<^^LR1Z;{ z!|$3}#F`IPzK&C8vRfIS%NdC!E2wd!WEPjNkRTmR941Du+eJBa#G3)p+#r7MS|gVV z$b&lX2f(ofkzi@Dvxb1XMi-yH=pkDK3Z&%yvaRjhf|n$dY{2vOHvI9LvK! zxQy>Oo2VKV>q|LsRoki^)2lz+~anMSR!RfakY5x zu;Li9zAc^uDDmb|EDi#;{F|e_5%OTO04OS3KLU+xbL zc)AsTSZ>u)b2yXr%`BJXs=q2LHvLvsCi7N68H02(w;9op1%p6WN{!9 z^B6RQ-;+rP-UO3qKs)O5vayl8KTprzvbPj=6sj5H{@-W8I2uKu%bd50>W}J>FJ_ew zwAGAuEBklV!wHo*g@=XVE`luVySShl=ZXK`bMAxrJrzD|2`HKi?hyFThRw(TUyYl= z72e9#5LJKcK(I0Q=}_=dXs}TsSgV*+>#>EJ_l~T>#gS!&S9lKAxOZ}T+&lQb#D^HP z0>gm=FAMXgjTgH~+h1?{_g&laFnF%k4?~CSq64``5y$C+IQ99*>|VVlSU92X46jiE zTw)4tcbjBMaxr3e=AWUO!&RR{Wl}~g6o+p4|8UDOB$Pu}paQl9!KZx?dLx{pFH_39iOZ+#Zevs3ERc&{}6}ce5UxrJ4u_Q1QQmB{^Z@HHysaQv+b}S1n^0?`Q`>f6 z0#jubu+jdchDEr`J6BE5|G$;r;0844qa|5Rxdu_&y-pQ7u+HpYq2iM`ivG+5^T?+i zOz9h5(CD6hF5~OKxcMps3N0`2L zkB@hM{xnw53T3xwb#(HLhOO!@q%*rT=ErJs3spivE6l_xG<_cYP7^qj{$sc8@>B5#+SL{>Q%=kRbw|SoT%92y(ecV(C(~TB zIQuizWYym|H{m{8KevX&oBIrVdfT_`NawBEIFOosfc=t;*~iklTHQe2jSu9%u*J>y zR$K9oB3-N(>Iwbg7y9t^)ARah6q76(*)McIyMBgwi#P$ks%d^lfDQAqa_u&rd&`6x zvt5JIb~#71{@x37JAr5>VLY>##QB_yWen?|?m#op`JdA^FMUn?tN!ESe!?IoToW$X zfH6UB|0eV&!5zgT#bG$)3If+b8U+{Q(BGbeABrog3q7+ys3s+gj4sMlB*I?i5t5sT zWE@Tvja1L^BiH{U)_(4~KZq>~7Palo-^zJ9aBODsRMf3PISCsku;DGfSTbJ0yYEh4 zcyoWmqCRjzKht8$BWA(nyuJO`EU5CLEthoOlA^(J8`nktF@I&l@}iOjtY%3mrj?9m z#X<+Rr7#PFbZ~`o2(^`A;Drhy+m&Il^i@?JE54i;B#X|6>eJlFsA<*TVJo`BA(g`e zQNB>$XLDr_{MnczCzbGy|IGcuj@!LoLd^Xq{bgrh28mObb$1YJQbc%B1-lnDN{W;p zR}rOnpUuNXG?HCO*W1TpmiFuw-qNdN)Vh`!xH`Nk2R~PErB7SP%a~ zs&Q0p0cJgFtonOFOufhwDtz+^m8{?P|4}jmwtjVa5UgQb6>r?y>->#tIY!O1w4BX4 z|I$9IuFaXwVmil40^>2JG@5SQ#g26Hf_sZCdAsIxFSy3b<%Rw{k~ukR)X`6W%|H8t z^4U-RrMko4y`t=vx}SpdM-jTD5%_okIr{Hqj4K=V{jsji-;0RGb4<2>=rt0iAF*YIl050Y`9PKT9%C9mSvmt(oY-js)8Bo zTm;5n)xLsR45zNc4?}fXRT$aB^TMeA2ZWIJhauN%#pKK1UHs^ST~qH4dWXvlu`in; zHrF3cdtuHVx!0!P;?RG#O+jT_E$81rSA{0GtBZvWJLbAE1C z$3!S;u>lg9yKGLojU^Cb$uY>sVZ62cp##n?*BC2h_RpURUQ|;7cUgoH1*1jcu_1n# zB|)3khA{8`5_95Sid!m*v0@h81iE<4863EM)4i-hZ*B|sk;+Eri^tdZ4vyZPQl+bM zT8<7)dF+n#dCxZs8MEpaStu&+cBxkxBmUmOsT&B0|JWa~)L8X#DFJT87jTt>$=)|^ z-n$~0C_rk?C>Y|j!vQ$Oz$q7kS%Omww|=v#3dE(Wg1A8=s%($km4{K1-eV67J6Yr9Xb|V)&ef|% zZ5;%&<}=;ttG_${B7A`=y}s_A>>c-xfJ@$&IrQ_%)Vaj1-wW%gnZc5?{LVQ`+k3c% z!BLs_CmITEKI|XA{^__?!QHIA%qXb{$36cSsMS?`kzGN6yuS3-$Vyuhk!|Tg$qa`0 z2qb?hpbr1#i)Y5-76)iZ!a0_*m8G{boIPDyj!pjaKmW5VUt5k-`fh0Wr^-@eK0Is8 zVqmc2J9N2gNm0S=5)D~i9nP2b1X}n#^=_+DGJZ|iO2R|aFq;dX|N*W zdO-n?CY##XDG*huh3Klb05u+53iyBD;i7%=%M8Sw;4);J0CWiNPxksJr@N=Uy%t_Q zpg-L)KPBhjStA(WrBbG5xqH$-IzBw@?wxjDw|)An_v7wqw<o!Lv_B34_{V{iXKPzE4P<5Cwf|UzP!1@QnJ+Kr3qvu`C!wz6jW|h z6B?4Un7ZK(Jp_`;`(g_C&-_`G5V<|qBiiS<>7AM>*M+v&-Q3&d;fBWUhI;vN_jvd9 z>*EJ?q81AT4d|zj9d%Dm8XpmmGJo3d4*qg*_|t(m$90=2gNfZ`>!Cy==ta@ae4=q~ zr|pH|cG3TXp|@>F)kScXX%7UfQFSp|9qqoY;C8qEwKZQfVW?=TRPLI^61i@+(kh=i z)YAue%L?}lE#xY*Zy2ielNqU8rm0R|D;N(9$C4V9f}O%~vlJdDji&w^k(f<` zLD*_Y0klHAyGKNhpjkQj0t!XCj4AxW>gds_RVkQC1TI2LGi#(GMA7nH+v;fXMyQsv zBotwqKBNIP!4=5b&6~~P&EG3iVJjh91cpU@$jXRV(;v5jJCee%~F?7r>#hsWX(e^f;Y z&DtX#uPW*vcXwYSbJ9t!~t{dtRo`{@xQ`h|r0ewE1_LEtT)<=1vxf;QY(XeIC(pY~l z3^r#NJttGe2ygQ+&iLS{lRl+x-D%jjs(5ck+>HB{2f&OfnbMFSA z_mV?NM&kVP%jz(VuEW&7iC`;UU>NXq$O<3sgFGDi>OyOi`e1Q}6nU;+o3TB5RE{ol zK@Y!5v{g;oSjG~oSq$aH5MkZnD}Q5seSN#))?aV&k6iRHcfR*oI2yk^)%T@DA7kRO zK!JN#nXGs`?u+d?2WatBOd!bMSk0o_rg0;#FLF9mr)_`bX2rVJ7GzP($r#Q@p?Eej zStdxY_hFZ2WQ+UmnR%S@;e4{Jna|~v_u`gI4!7iRe{>G#;%UGF{{Qygw7ZQXSrqhV z{EAX>`Vl2!AthPvh7I2flc1W@6v+pYwz??}E(jDzSlAi`XtVTT=6#(X^JdPRd2`;G zx$iId{-eo=Tq@UEK#R(42QAFMc4+LBlA$F0~lf z(2lb~!C{>4sx6(KEOnXxrn@RVz-l#>+hr{0Du8y*&)hix)#GP4a5pW(IJa3a@8{?clkoHSe6 zM$<_F3R#B5;1kx>uTYJ)&TT-X5e$d!U^MVQ)5HjyHpqx#%a~ z@asb-^HYpALHOh0!B6|=|M-XPb|-&cT)ndbc>AQ)+&_5H-p#Wt-B4b<2r~GS@%oMZ z!;{1FQ}~}j&`860WcMcQzQUUa#z^-U@87piL7M&nuOnVsb0L~1CcNj^^6bG-tg}MK zAg~Ub#K+w|<*oW#>`uhk0_@HEff6srF>{m+<412h2@jwRy5wNeY_?^Qvp#(octwf0 zWv}QZ#7o-pk^;8cN5HzZq|@;>v{dOyV`B!%6slGQv!0RVJsD9m4NzB+-gHKTF0)H`1@=S`VeD{LK%Rr_ADZ`nIy6O9@+PuDs61h*o*_~=NBu9%$pUb5n6lP|2)@?{=NUU2>_RT8$kg!#V z4X15o%6JsrW4O!!tq#jvh<&D8C!T-uZJbIVz4V<^kyBE3O=;HtQ9GtGGmufo{l(QT z75F~Ko~c0*TsS{Cebba7-^;G4N}j9UG35c!w#>Mv18pQ$ziDc1#k;1h)nK`OQ*Ps) zHqMkNn98o1oxT~j&AcmVwHv3#>IzOY7lZNq&tz#lgwX$>oPj-IuQTtMSQ>f}arcvQ z?gQ#m{l_1mU#6kp`IWS!h_#z-WI$|5L@Ya2k0l5I+k{qg_qer3!?lAkr4-{m+iF2O z+qknZw`oves^7uwx0q`_Gu6B$V7;UG+40_S&Fl0?7bZPsh7O8qC18Dm_aSSkEfr66 znxVSbEQtaVJqr5^?LNS9O+aG^E^ZM_KWmr4s-kckB0qTWAl*~S(spf?K23>Q+3ZWA zKbS@Hm8=2xzOz9W9ke_Rma#gMm6!|(ZfD(g zq9NFsYI;ppjdZ(O%SK$Q4R_)+S4Y5M#+{QfIndJJIqccZxW7{5H0`e2Y~Hkshni@{ z?$D%KtkGRMS95-Dcn>=Bc{rNR;T(+D;AGK}#Xk$92n^P`H{P30go~PvW-%y-J;z3y zZvrS(24PhiM~47x$bSG?t@wS$it40+BTt5!A5)|qvRqotW;V$t15skZ=63fg=Do)0 z`99uCEO)12tKGL=9WwT;?l*W9iPP1qdyWubh8=2LDJ8C;8B{3d<#_4eA z@8k0`{y>wctT7SosMeNF;+NGsZFON3&8c;d(GcOw65_o^LNteL$$*GU&wU%KqM-)A=HP*;xg=HNL@2_T`G~+q3hP6>sHk1b?CZv z=sL&zS%tYP9kGUf;VYQqmxV!25XBZIg zZV2%u2UoirihZeJ%yMg;vTESjZl!J#w{rb5bD&-LN=jc*NV>s=QUbxtj1kQw`s>cf znj3N<;o>Rt4Gf!N)E30%_PSHy>0D)(LT-o9k#=)xoI!KBns6Rfz#miy5s<5T%ya#M zY>0tRLWrC~qdRt6cAHKZ7+(s@NqFFF(%Qgo+cY4fqQO-w#ZA;wvY$!>{W zRD-_!p2)W>e=W34qyVy*M28E>dB`H`A)G*UEyNA45occ^U81EIGnQewOQfeOxclXa z?s_zt3$>~dMnn~h$011QmfXhiYPaP*b~6fNQgIJ?o8-GGFx$Me^FJ6LCyp*{XG5ND zn8xOcC86eYQS%*>QJqZ|*EejsCFFnPNbp06K_xk9b~0EDtqVy-$-D5Ws1Ioh-&n4PIhjHv+yS>alYPAI^%|1d{Ahp^~LFlQKfT zv6N^VTfZh9lUH(0iEHY?g9j+N%tBHrBEm*$6}P08fMFKtEpx-=91Yu|FG+EiZlTkp zDhIadCg`u_l|)0HEE^HUqLt3JtLhqR6y9iKv>cUt=?2o4EZTXQShtwF!HbBtwK zvEn1*DoE%i-}3TFHn}8|K(d4&l3M^-Qt-H~z;SCqV`=`9L$JsuP^>_Z$RR^70LwWYI=#tuo6&+u*A6;*8Y)zI@RWFbG7gse~hP(njuCBE(x)w&) z!syC`QSJkCaI|~;{N%8C#@xjq7ask_os>(=TIFv?$G;p|cJk$!%Tn3#vYSUan1bf3 zyIg|6jZEe#uJnK#cisJstXy$}{p(oY1b;b)n5||$E03?q7y+)S;=(-ee|o|k-;W3L z1VD!KPzu3O79a6QgQ;LWnIh?!vnR%&0k3pO&B73aV;BKYo-VG25Qc^yWlAE72-%Sl z$%++6OMvxyjFKp}+vd}`Cy%J)*T36dj9-l>Z^o|o)8Qh5|J#db(HT;yyG>(1xJpKI z(&28Vq5|cF()?teKYq!Ew@>Qs+MWD6-EK%)jJZzZw0(4Z)MU|1=qCC8eS0t$5l!G( zL=Nbk>yYA0-u&P_(mW&8_$a>3U6F=bwudk(m%WR9@an(x&NMB8oZLr^ukDwV7#Stc zuT(0QC;+wz!2>kN0D|o70Uf}trPZt&7ng+;Nh-Mv&u!o+q9w!FwwIEUL^w)VQerqt zCWXo{_nLW}+b>&o1K*LfAc-4p2L;;#*xD+2dn{l~obQ$%{)J6bQec?-!=+2Qd|jYIb1^sI4quuI#+DE@w}HkraapUlkk5|#y-#OBoX;f$-kqBTuN zg|?i1U9VT?=e;_2`QoE{XM8#r>l9S7lLc4|!a4?dg0AE&>l79o+ucg>ioIOLl65Xa z`)&!h-n^VO1T9^?8S}&h%P;s;iN&$%wE_Gk^m>!Ac51MU;cj|FKOP{Bp88}Bu#=RJ zER4*M=h8ZY)0SyYX5kcq5!CgRY&Nk0(yZB@YuSYoiHtCk3OIq8Y+8k7zITGM%b+Sa zdl?<1L3>Ig{i&3Sjb+@H&x4pYl95 z>MVu3`xCQAc*hXK6|O_wQO{=28O?iy8`e(_PMX%21cSPYg;{JdhK@&Mo{YmcxXID1 zjY>gjrEsneF+=MHC78dSAVtTwSLK1RUXH6(ZviTGFn6t~LGmrtst;32Xvw{( z?^q3EaM|b!$_)SVVv`lz#ISH_NN_i^T1tT6qy{;RY%StEO6>%OVz>;F$^NjaMn5Bi z-IP`pv$WlN<||wz zX%}~KxhB-XJapRh$i(9u1sOe5e8`A)dbn#FqoNhG1$0a#psf%GVu(+ws+merQ4Iom z5rRJ{d9T87+NRt1MZzhFViNgrRyFZ;vJbtFINPRPn8 zM}s8ob~{>-ZD;nb9nX#inF8vdGUUA?LB7Pa*qvce^TvzO6=5FaATym!fCGdPUGGQ( zau}_6dsJ^7fpX)CYAYmBz$*fZ3T#PP9(7*B!4_>RIm?l?=4vaNdK?E{CMXe-=QCGR z5Eq)2i_@VG!iXg|cXW)*L`!?pIHk791J6_Cb?ydn?9E2#V`W5S#gaxizub>HVD0rj ztn(1L44wr(m0uh$KnN zQd@hlCcBLPsg39%9a#i#nKCC{h-1x!e3ZP7<431Vx0(GfS zrOyBk#^g}UGrm_L03r5|9PBW&JYjvcf_gi+I+D2CUYKZx1(VAdoR^MNCusWM1eu4XX%oX$wIGLu*42YX9`d&_Gq4KbLhpN7f#(ZEauIVZwg74jSrP~L!f`~+iwU0v)QDW+^W*#Ow%M_5yJOpS$9ZGhww=7OZL4Fu zvwN+t_SvWE)INV=)-%U_jd7FmGh|_{+bTuR*WGkurD+@%N~;ZUOckRtd^p9p7<5XT z63ZtLCY%@L9F09(BRIl(6#aXgX%v;yilv(8M;$0yEgK1aMPF@@S??ng0%Z?t^p()^UG_jx!vpWq&rqbm z3d;uCC)==XRgT^#6p8cir$vO!8yW02v@krE>paIMv{Vf;uBBnZ)&n_i{Yqh1l?!wv z<)B#cdkGUqw>2F}$yA<~jr6V%`3`LaBkrwnUUhZ-A;<3o-ai*|?rR$Y#>#ZuP^K%f zJ&R!dh?DALzNlaL=0EKtTR?{cCua1+8$9*u?VM%er?jn^jA>mmV8dyV^no5SG*w+_ zT~{kFEu9;I=#d|+zk#qDxZo_Xw>rD%s+PrqCc6ElZ8+RwxXkN&m6SU*V;8fOWH{K1 z$zm&Z80NBS4~XODjwDTXW1-xCPVI#ww6){LjMoqr;RywEP8wNwgBL;kM$MjZJN7jL*u)xj{Sqh=b__o#e$@O`L<5pEBwCDDDlO1?@NXFH%7iX5Y0RJ; zCa2`s0%N>R+6ygbt^sIPD56bvsqBYpOW%HB5-X!5U;K47Tnc zHIxYwyhPEWzaQkP$;RSLdG)ep*>Xu~u;R@we$L3@Le% zVqJEnDOl_GDCu%4eWlgnk#r?d&LI^Y!1e2P%kO%G34s=OndnLk75QjyyP6jkrJ6qq zlu5>k+r5P#+iFec<$;!x2#IzYJ`}&m!QOa(%T^m1$<=_*gGi%Jz*AK2DT*Xz%BIn6 zpZsu$ZDZ2svDT?_r5Z9`6OX5fs*;r7`6XUkKb@{x{)RKr&Jt2_wWppQty}RjG&B5qVJbAs`8l4Wj?N|pkr=~(g zj_eYUvSK{So%zJNX#jz?NRwEy;dJTG;t+5nN%K{8F=?0nB*fT^-HQOzEbuMg1$WTl|0HgGqL`?y5gkBPVw zXSvFE^_J1-uxOOpHCkgOus?J&tIf_y91>{KDzhQ{^k{?`Rk!cM90p7?S3Tfps*UkF6r8Pu;wNm&aruK zE3(wMb`}n%9_&QOhrK~vVcSGW3^sEfbPGizxWMwat zTs#o^&}aQxMv7CI#f^w~mEjV<|P8A)wYQd!PUB^RQUrc4?m_q$+D}_xGu%c$Y`w6w;!OQJB8n*rd1)NX-l}YzxONTPT9aq~Rgk{Z^A{>b&@@x>rJL z2htJwQ$h%cBquIs;OTmF;ieglE$0^mG`yU?Y0Mlmt|mIs_CZGhEx(0T@#}!%77?aKU&ubF|}o< zsa$Sn%)08W|E;-H^t8Q`@;t}l7E|kThZg^U8Ye+T9V8@=;B$=NsRxqP&#e+f5c|)X z6c4cn(JzL{1)*%+VUU+#UL&~1&ar172#~pZjJlY3wzT(BLTgbaw97QQ_TP$qmzVQL z-G?I-JRN3H`aXi8@DiAmggyMRznxHzhSwYr?tpcp=UZ)9>5;)Gk9);VH9weK4Q(nE z4)I)sR_QF==%aL%IV818VBMFGFOnHK@^6rryF$k&LU%QVp>I%(D%WUxY_dk_0ssd< zmtwV@sbWM$OcY}l;;yl&Vw!i>ew6K1JWdk-F2eG=?zPl#)aH6%qk7uD;1Suu$-)Ji zU@P$Um>53buyb1VfnxP9u*s|T|LYwWu2crTAutamJ?n-zx_5i%fg#jhI)xpyPU-Qu zG{=@#pGnWPXfKJu1hTeNS7q2Qcj{V%k^QDoP&*BoBww6z{TV-p+S1YD`1f58B!rmt z#ALpU^q`G6pPzCjdVF0GJb)jBZib8I5BavrJ6nF5Zo*)Un^CT3l1)W@0> zD|Ad*mCFSC#;H-#kwc{yP(hJaRQtRBKHsQIMdl2b!T2f-AD*N@wehca1!0AhOyB*O z#6+C^dUXr}!(yD-O6PW~8K0%LM=ktMPENn;H!}+roOjiF14t`6+2>TZNJidLJv`(y zD2@WI#%K7bN*tLMh%OLDU53 zrlJHTBNL)8xl#(Uf{;Qsyt~?SfKnYD)KA5HnPLhxEq^r{%aC#)yLfEwD_ehNYg$kL zBfTE1uH2;+e4v|c#RK(krsABW+bm971*}GgUOY#LB{1LNCp{?T;&$O3te%CEC_2gq zv+=(#(l2e9EipS)gM1Fn;p7#{c#b=g$asnlVTe-@_!F`ZF98cx4ZR5sMpQA>=4xJawE z=qlts86^+3#Nxb$)Lw`rx@ijtq(O z!wb`mc2X5pH(Tr@;fxL9^m#}7O%Wns98 zM(Re#@@m<~$>ZX5=D)2-X*)$Zu0i+1Mr1nGOHHwYxA>jTm!4pZFpykv>U{($$F>u~ zS4*N?aNfXanPPD=NPSsjEbR6Rzg+G`!fVp-e8dAD6vb>4sU->h93T$k2bDeEYhUv| zYuaBi*NetzijRcrD8CBjVG_3dk-0O;j0V%U6A{=RzSZLkQ(lf>ze89S#T7P{?0cqu-mWj-c$0=c>_x<#hcWK-yQea zLKKcAx-PHsKQ>Ev7TT~2!3RAmz*B&s+0BX;(p`jI%-`gmfWaWsiICs8OOh#w|1u$m zo7C7RFJMjkOH{A8t}=Fe{@1Ly1@{>eaiwTJQ2@A503=(CU}TGVyG~0#c+pIP5G7K} z39+O5CJ;iL&l{Pc0daxE3Ii-$oaGP}WYjAq5ykt>p_3~|+vmE8T1J|>JXx0j#$FsU z1wE#vQ2_!8W1+hlynI4|euTHo$T+sE%%Ucw$l~AC(c2wTrRxS|Dd29^6(S%aMh zj;tU*jt-nH(i*$p9Uo(O$1Ew>@c|M{mQ$R*~~V?I6B(i;Cm9qG3SigyA?tgX@gdf^;J3u(Fm+=41ANM`J4P^Cw zfu~L1S=K&G?|Awj**Ci$jStOSkg-L~!j710Ri9ySC7~ASN1(+-bF&KV-lq_%dh0jO~h7nkbns+_GlT zvh}AQhmO*yvF0kT&RcjLp&MIHh8@*Ogh{B|8{8cW7^6|SxXekU*oLES;zS9vdmgCzMrj@xgA2nIwdK?l1|g)&JP(?FlIuZwoq+{J zmG*}q5z*zkG$^I13(}+fj%ZSLOy5PyUjJS!-}xPFUCnxrGZ?Y(s9#4)8Jl4YfSkbrVBR?=W&?mJ}P`miA5YLTReS^dp8G-H9`C8<+cn=j+OyVD4Qhj?SNFc8hXj-ZxBQ ziH&V8G>3i-eiiI6iJTOE-s7r|Qfb141X6>%{m{APf6_yql91VgJchvjrqMgS_53>n zEGmn29OfBp$d3??CD?@0IhAHpz9WN7&b`Gh$c+E(T6QGCA3&|$jW6+_AOIeT}Q=i63kMtFWgUA ze$)fgqkKxRK^8kyFBziVeLV%4Q)PU%ta29OE-qba0SgNwEPia|YBob^{tVzuyiAJR z+;2aL?22#0|JIH1`_s-ef{7FDJZc!1cJI5=LT}z(A%zRE7_o~}yegozWl)gdQDR}R z)rP%90reR7Z$XX)C*t91Q_x&!gki&5YB3xgJ&pq#>o1v~si=#RGFU2eF*^Xe@}Zd< zr?NDmRPUeyCKRU~Gp6)}J$gik@zl^W!<-y04e5GY@4g&{I9EJs-InN1Ik>|t*e{XR zr{97~T!HlrF+jzp+`a1!-{juo-QOoav;|D-`sBC*`gIV6e%1Df4WQ{RFY_!QQv?D2 zR4D$oylF=hZS!1;HjtC`BNkap&E7MO^t#4;Tl*Brj)0d2c^YybDVrlTUocer<*Tu6 zb0EE*6ckCt&iTm(8VKKqBh$ZEbOkAF1;k_?_xF}JZ0B*Fqd;ANk3NzK!a71Pzr*ZK zup5(w>FRRlu$L%%_a=Agu13)n{42Bj!FRF~{~{}$)#oR6-lEnEwva~Z>O|p47lQw# zm~BnCw}ekp3Nb4vpy&6OBR;Oypl&orq275>Z52as zzJ0n-F|}6lpn*MkFUlNmwxp`X0|OW%tqH!s^rAmt0^g7`?SmZyNO&HX2tSjSm-BVDps9K)2{mei)bR0yEZc)L+LF*H;miPwJNId$i;hjA)$w@&WEs2L zXplWDG=-T8PtC;2VoycS{jj`t@RDQXJa?gr7#&-|$|4QlJfZLjWf*_4{5X~DLRLM0 ztaj`5ao?i#dNr-<*yR@FPukTpnD|$xDvNI$4D+I&+NB?i4E<|{#d2`;wI-7>(mQPw zo$Ud%#61joEUb-Yuzu}m>P`z)@F=oT+)Q}PxKJyP8r@GC0f=l4&sJ>O#zTf@uiI;Y zS<2-dg=uic+U55(FhBn9;bGQ!JX}hHbd@T=fW+Bzn~^c6>-o=&ra z0}xG1esMJo@E22l@v)aDTgT@q)J+1?HeB$=-?4{l+ST-13Cu;)-jKA)dvMDt@G&WG z>smumw0lY9&3RT>X5apb_VMK+(QygB|877&y4`1XEA~!%8N_1_-!XV_ZF6%J;WjgX zoX?FfT`@)!zCW4GM#-Lk*>T7bpJSJ0kJCPz%#niSl# ztkKz(j!E2sLiyA3mV$uPHbSF)uu82=T$XA(#SAU@<{>s*0+P5_9;pCZ7#inwru|t1 z-MM=)#iw;-`1jaQj$~6RhT}#$O|A5d`$qpYnq|L!$iwl5FghC4AS zR;kNE2Ufz~Xwj5{9u-I^_ zp@{H~BfU0dvnj4^#hB+hH|uJR3UFco?7E)M9FuU(-pOxjJ+<<*Mc`m5*qwOpj6t6v zys=xOHWFex=Xw!pEJ8m3FJ)a;KQK16@}Yz}>iOuu=aWwHf{eBy!08ANeEi#kD4dIdGs`2pzj_aP$un!%Q$ zuavJ!x3~wZ&G-9hgyEzSQo%7P-ZCU~`5a;M0`QLno)lG&%jXEwiK)$MxLc|oEXaRM zX0_1HnqOb>%o*Sp4NLjb6G4E70Wb2_F>if&)shNI3K=bh`|qCn4-Q4eFI}yYVvmo{ zv;PLM7%JBeht(IfV@B)JLnqPceCJ8P&TQ+9yVmLNk_Jr-X_((~Ba?iGSTo@V<6O6s?YjxY9WpfO#^_+)c|hUbV8b<^xs;9;vVd_;)#K*IT|{m95Q}WPrw}i*2AiS^~+@mB?1h==+=xCogNpR9v_{qpbb62v1a?{k5d+om#Jr;obNFNbeZ zPJOtRsbLEJl4)KDv5Zb zt5$(8z@(zCV{Nt>?PYDykyss-+31H$Dh zxWj!wughqs1CA2(!x^8sLgX~sspAuO7LZqBg0to{WNoAd&oL(g=QY zJby=rr7-8Rl9@tLO@MW52|L=0w17#d!|6VEA)X}QaeQ_K!*IG@2BRKZNxy-W)Rr7Y zyOeq_2UNem$f2#~?iIsK(t&sc-3+|IW1EFiShx+126jVDoI{h-+h={AZoxT`mqWs> zU7glTtM8{*m>^ik%`_s<%RwwE*O=FL?^YIqK?K{)bRhi*T|J~f!2%djb%@v6gP608 z*K^{)c>##`rw-@cZ`~3JbI!|gO$AQPvJzuuS7ybU}dxOEy-iZX?H?YS9DZwX9qh1&X4rph`ow8+PltE|vCHqK?F{ zGovM$j;E&7-rZ`26Q0fOMx3NP%Z-A>;H4+Ujl^91xWyoC_abXKl%puDFp6?mL8oL4 z@YOs@Mv`RB2|ewld4B-4fX{Bbc%c&QgmA@;hmOzrr*>oEd|V~%&8f3$0jyd>wZqSS zS>vP%Q8>?0ff~5AOhO}Z;f}pf{-;IVEe9@;H_;7y5PU>kf68nV`fP&lMX5aLW5soj zA0>USl83AxB}+Cy4-3Wfm`M3=l~qS!m}Y%vIr@jfO~HOaouE2-`C5K%$9zzEi!_4) zmm5)cmm{pBLP~D{q+LPCKT6nW-ZiS>xR)G8hW|AnWAJWA-ME zYigS0jhd%x#x&e%1~J_M4oSejrB)~oWge__0ea~gS`rTSD^>-PTAIgLY>6WXR?|)5 zVfD5@zoW#usG`7iVGpT@(Az!>^R_DGYtmJQa?cbKA{TYkU~QX#E4r+usEXATqrZ-( zU%_yZ$ieOo@+h?Hsq6*C``hhlch3X&%nR*H(U0z_^&0dwCIy0 z1Z6S)j!a>-r;>Rs)46I8a&u&~=kSQv^Q}4SG(Yv;Ks&0X$n{s_^+bz#KSfbjM*w2-`${`-j2KS42}=ZK|3d5|_ZPMJThH zYFGanVNN$O%!Rt0>v87I6w09x9(V=b1c?+m`m>#zQ8I2Lb#DXrjU~dVRO94L* z)~8OKowu@Et@%^56v^-++moSoa)h9xPq$@#yIX)z1z|->h2YRM(qkH>UPH(zUWxGq zeRCKlucB7DDn&1evr}SmuT-au)=YUibz`#7K?(Tb7!mSM=&e6t+?y5y#$8E(iyf2{ zc}-)Balcv%9xh}~F#kv;B8W|jKw5`k|0jcOmsfE-50^$Zf0Ho?wyogv(K-T}sW%63 zd8x`=Bhq3hAEj=`%S0T2^_b#v70V+g;M|&oCrg3|PTNY>boOc!xUFOuNLxG;S9!~X zU7KJrlPKvR4oyn+dnk6L>3Lv&04H6dCG+DtXlSBbxn(3Ek)6q?lAPASy!j76?%Xx3 zS{*}IX=dp+fhbO2D%3HB7cgwoKq=$4(u8_Mg+&8)9L#8XD~9(-Fx_x_)N&Imoo)#% z+DPSo%ZW&4Fr)^3vv#r03Euww*ScO7tNOSz3>%b=rkMZhMp?O2^(!gHc1d;cJ5{Ui_Qc6gj|^5 z#Y>WB+~Z)ZvuR5jKaoCbkYVU|y8@YZQB?aMzToI$^tMrKX>P@8(b(c~DnlE7z~Il? zFSoOJzT#`%=?;-Px0qPB7z97s+F!QCF>}1Y@XcJOCl*fl<2&9~pv*6ut!aU1Z3Q+d zW;hp@5#Po)eV|q5rf=}g_Tv{@%$5^Z=qsQ|XbWMacgYj3!%a)AuF!AOtp(AGiW08q5ObAst~+* z4etTojF_Y_&m1}~m)#N}GII{1zSAN>*eqn+nS@)V zU|mwjws4?y6{(@;@I-&k!I0E2l$B`poZf6~DKTgRCPgXAXMO$;B6Sh|FCxwP4zKUQNVX24Mq`>b9m^MZcWiB%Y8PP!{e@l78tnAw5uB;U3T z$g)JJe5#_gtapeZTa4J6NV~5qjWeW3Qxxnv%QVLlpaBpk={h!sIiB_gz>@XMNh;7$ zjLBM}bPZ(t=O~BF$kYq{6lmj)@wqoXCn)0Yb*Y6b;)1VcVPGA+=9Q6V%n0}ytS@cx z>T4Gyc;Y!FCY4b#t~u<+4WrWLS$j^bZcR>AKvL3k*uipWvgJ6EmbbPz^+64F0orpL z9qZs%GUM`#d?y&^F8BfoHyg6pueRJ97^O)g^{24cQxch|f)+AmL$BPJd6b&MB3y5&SZ0mCnKMk&C`?ng8Ycj( z6Lw}vx|8Ix4{7+UQk?6*tXy`Fha+PShH93SyCPy27dNen<{ns@Sgi$o%5K3lvd-bj z%jPPl!ML?imh|a@ujNq0%+PstU;ro9D)<{Z4h;IX$*BV8<#{Z@SqBO+*H1YKqmiH{%{L zJtHWb+9vAya@U5g%kU)kurKYvmEdz7W_`F)I!w6^hv|X&>$``fp%a`3t&nb_N4)q9 zB@;-d06yNo$7c)IV?FrM+O%j=?r?NaHq_;X=g#9w|5mly+f@o|x7=R18t;J!&vn02 z&_0iSVOlfa;Kh3dd?4G;51u{PuU$T-O`mDA8|D%d?F%X^=!~RZv~ksi1)|?f63&t#1G9pZoGZ`jL{ z;5)584Nl)u7zEqcb% zaE*G7IB|MWR3XGQ`88$Amuz`s7~MFV!v3a-q(be)OSHqT=9fV}U!Vg1c?SFR723tg zM?P@ZSs@xlIex6TZLuPDPPGN0E7|$42SmV2c)d%w*laZBwmr7Ek@wg2KpMaI+I+nS z5}2j-hp*G0$2sjWV~q-u@qK4KWRs3_6n?%GeV0gltBIfad?a*TE(E-2U9T!qeQ3zwLtfNj zBlOXV^cT|GN@tt~F}2Wm83{klIYA7Bigoqgq+$nNJIM<@W~g?Ow0_zr2!rrt6jCE3 z6wcUyh8s{j_lCSlV;7`A)|WYvQ3~tV2(im*Fe=!x66X|H$y{#3NG`tdo&2fbszlOI z8LF<9Tt1j=!JP$7fgAeeCU$hmNc;5ZEcmA%V)Ub4;WjgIpI+FQwg0~`@Jch8r})TE zc%!9g1fw8VYN)8rhd7LaCOO8oza0h;77(nIfj#0NBA zac|?6z$Z$jk)*UN?o@i)T?JBr8loP&RwtlfHQmBerm=884;24&51A5OZ2rApSxNp! zOy5A!GM1DKYHTwdM=Q*Nlz*ByLj8xDuP%<5-KU$CP1x0baqLyF|1c!VD&QrMIrl9e zZmeqdum>`i33*(6s$q?ADOaA-1z4gs4c%BB7q7+i!v_8qg?a$;kh6Ks2UfxVEzP(> zj}pn^;r_|CG5y`VF_Oo7pL?%@`HjVxF^>;++zbcth;B$o0S_3%ZKU@DZZdz>6~YxQ zG_w|YAd>qI5}upVF`gZ#7jb--WB^2Un1n8#y@uR?4d!PfO9e7hRK}#15T{xH#bdPm z=Ye4{ci zDV%sqtXt=Nb%f%n^OmUUjtFcOVgo`z9;R(_)&xo^q_M|&1*0Rc7f9}~F6Cb+AXUn0 z@XfGAQ6?`o%l!Z20dXU1eE0a+)_86#!HGsTEei$eYkyplE!z{MPh^gznS2I)&F6F*~oz2 z|3?X)$!dfNBuHxk{gXd(Ed9BLbwEsn%uX4HwD=jMDGS;$V%+F&lPWNXH|A zmuP&hr>;KQy~hRhO4Rg}tEKz%A@Yl!q|AjqMa^qA76sW9Bbj;#b7})xZJrh2 zQcri!+AbYry39u(t)I+>yhW*^3cw0vuaSCZ{Q)u%o#g#xhqru{pnzZsWcm6(i6yWd zd;n9FwKr7Bb!^<$f~rP^=}cnd{+LZQ>SZPn|SC}|z8 z3oS|Xx@f%2e`ZvFV}AYJV~FL~ITxv(mr47|0H`+niZGII{E0ncF26wW4fIqe9eiM( zd@^Ne!!rhA>Aw8{c+cRIWx@_wC8rstyRPBtQ7`Q$q3-#k_lO(=IK+i9y-UDlkMs~9-wLh2++Qis$8YJ6k|zwI$TAT28#Jd{%D=XLKKh8jhc~)&H3!ar}InHW9$qkVslJR)(ZTO1Hk! zo>*2~w})nJg$wh}X@N%yDhvV`OSgt8QHWTxo9h!<`mvx??j?uix-_7XO!urT>bUo9 zc2a2Mk*hdP=0s}Hi-Yk~k*@sfPTweb+q<2Lf!otrO>6g`k_s-Xb{Y3&`6f-n>;xU{ z#i}zcVQSe(!N@BZ+295h z$2O(TMeEQ5t2C{Tb||EJm`PYwN}*5#&u8LxkhThu)^Pju>}r;i7i4Tu+5YQ>SAmj< zO0lyP_Ndn<5xtv#zocTY=!tmtN;7g;rgJx6%ysrFhPNp0S*A)#0$bnJl2;_hkHngq zZ{&;PCZb;mhBA62QV1SHTll(dZs`J1>R3&Z{)v#CmyD_j%q!NM`RKI;>G`Y#`manR z_878^;J|(}#adz#>|VMaA{)&LGL45C|KvXF%9H68tR-XNz}UL*z~j;cklU5;*g(hGKF-TG_7 zx??mH%gvHG<@`p)$XplP_pgnO`*PB5oO3Bf0xqX>52(N{M*Tg7QHSin_6aD}8HKD6 zp5}5a6g{6$ZH=^ns?KIDpQ^12cMSIWG)9IfdXZquWq+q<;b$BL2c}D?fPG&Eh}<<| zWro5yY7*e~heeTLOhCvM{=e;a=G(Wg$gvF*X^X0Nf{@JyT0+1Lcof7ZSU^VcFuN%% z#=}!TC#fBOA=z752owD%7G$Hkq&cu^mTAd?sqzkLIh&-54YZ9n7lMCD~=C&CD= z+6$i6c&c`tHPMwgI4*lr%(N4nfy*x&{Zw-9mpOxJc(*bj?cdK;P8kKn76>F%UKsPn z;crQ{4{tL{U%>>)a_r5w0>9od5V@P8VRH2adm4uW_{z|YiDHdgwGUA$Dz@1}dkJwG zYE=SOZO0=?N+iZ@_h|yWCKL%!ZrX4@r=qp6;HRCSSAN)n< zwmR<*C+{50m*Y=*u)QXH%cc&3TAHWPCNnX7MWa}MXwb{R2K&qT0!teaf8nmV*s0IGs}eYWDpBJDpSi#RNIjQ z%Z*$JM3($Jh#}bKZdGn&w|1EFcX`)0&<+fN`Ge(kp=BLY`6cSncn^aDG_|KNgpy_8 z@=di`4Y4}4NWq&ymMz6z__pVqkx8{k2LnDSTf{pFMcx#gR`A+R>L+xfy)rBF@8;Vl zQlg;zkTlB9IFcP{Qmkf>ZJHUVqIyqPe@{!YP-TlbrisPEYda_>i&o*Sc*B63lA(~6 z8W5ps&>KY_5|)XXL1hbOb5G`coOkh8!L0owcC{Dx-WNzga)~{uJv6iG-WH6{)V127 z2C7Oyo%F3Dh4gaPgE9WY-hJ2LSz6E0F z>vW{#UgL448`n{lux9lu4c3B|E86RIp`zD6ob)xZo}-N|m`A%!rmr6DRy1%-#$%0( zEJLX&7UI?RiwjyR15q2n`1{{-rLUq6yg_`5M~gl=UXpyr*ry&SB+UESVB{LJ=WlUS zCwEVezC=g`Z*jHWHN7~fk}AX(TwhD&G8~Z5)v#vbKWk{Lcf^g{3O5KAZmFyJHzKEo zcEEBj%d;084w5pR&qMnkhv{jq5>7aRFyR-zdKIsFZR;=wpt?_EQB5uydpQPQd1ZMF zWfEzxxc^j2RJq`GK_re2om}>_7Qqe5YKur+eZM`vj$PqwgA{A&Me?;z-n8xV2Iw;AtF7;xD0bwVfr7x^rd`F(Qn$?ts>EA&`% z!~b>76#w`B%8)QXcb(C<>8~#Zk!vEOV5O~QYt?+U?#S-)IlZa!K4sIy<2LNd_rJ>4 zy_*@2U4fKufJ1z*&*#;lgL^Ljx<738Uf0dod%*kl%naAgvtMn%r6+DdZ}%P4$9P1C zU@Zm~Agy{e7=>pFtw=G) zGH&1$)HzR`%EeE4owLGWTVj{AcsHpDr*vUi_SKFIS?&q&L2d% zrSxF;>KKg6_=AB-!pr>7TW%AfMfhXyG4Fa5AmV7E8aqsU^@+v{pEX0S({Gy$kap?<|r^;Ztn zv#o@*0+orq=JRHd5MMT^Vw?I>`FWH`0|Fdfy;r#TO(`59#6o?Y6M@Qyw>M=_Wz{i} zHMAp%C0F4NR_?*&3c7Z^#OgY+r)8DuU-sEt2sMArRDhrXze=IBn?nU?P=$p5#qaGO zqBM%hA^}paL-?V}<3*e=|D*IdWHaTw@jPd6_WVXrx0@r2#1CCu!;2d!&a6rfuI7cx zmTZJz_{%{@l%J!RCt#Njxh?4wY;a{T%!zV#P~I=LLT|cf=!<)4DCh}#uY`iNB`EQ^ zI8i2Ty>Ih;8Oz74h3zUbe&o5D-yLcEu&z%J{ta&aT|ha^_b)ZXAF1Qs zJTK5km)&3QfD9wW)+M$pL>?L$q){7T&way~wh@BGvX<0>eUjxwHXZk4DjnTEV5pPA za4~c9k1D6jE-b{Mx{I6=ALKyqwlmJMnlkQ{tg7K}kQW^A=_Y-uRn8P*a*xMQ@(A!! zem!Qbk7BjWRAzrnDa^;j-6%~ra={qCDr1Xuoj#vU@Q41DusTNky~WMHW^bjKDKC`m53DJ%ES2F>35`R6rQG&s}(*t1xQ%~@-$Rq zZ_FV~=cRNbG^{4 z$7e{iO3pH#rWR2<@H#a1q3MtlqcAs508Zt!g=y|dzd8eFfQaadh@a1aWAkJ5RMIEt zN(CKKw!dlf>u@>M^d;aw>jDq{-+lhyFT3CIyWbZ#-={a1L)zdQBJM7BNm5(3Jk_TtnQuZGVdY2Z0eC)$(vEJ&}kN7PA^6 zTA%jmW$Z;tn-FtVBvhivLk>=L_?TMHj{`k3KoQjis$Mq6!$J-ClJdDZ$WGm znTFR0g)_^{^iAW{Z~94B!I$Vf7h?JMgj2i6HEq~PJ0~@ZaC|@4avoOjn8Jr zi3TtFIyrCg9%kt6-8=y2cdYzIZQsgvr!HlFm*@U9XVmTprVcpY0})|fVjGPVZ&Ytf zZ4)nvL0bks$;upP=UT4hhOOint&m;xDXa&^9**c@7cm|gn?A2C!kQoVWHslbOBkKT zwoY?MO^a5n@c!K0w)^)bjk1K6a8X-h6^|^2yoT4485{0_xm2j1v25jVkEFqV*FR}$ zKgrDFU!{*YEcSk^#iYoA{3j7f%_vKzu_vc~6iRS>Ftc4)9@*k&ZHLr3c_nF&cuNjV z_p=JdN@8n1YmPkfu5`(G8JIwphO}dGVn)y8;o>cZz1!N-*HSdFBq=+Er(%!GuY6Tx zTS)603J7EnbNIK4$iRm|uc*zd?S3+7u=s7sRrjl_op1lE`GOfc3d_c^Z)MymL8iRw zs^TNGt9}k74^FjfEq_ zGIK!dYPAo>s(h1xHmtg#Js&BBcflnHl3P&JjB74zypA2#_?&_M3#T`Fco9tCSIV(h z0`uH@_>;mIBV7SojOWUo%F{+00Sh8S8Meb#niLk%L7Yuk8WH}o8_}PdM_JER>Vzg8FJ8ERXt*JK!byYC&pPuVnBiXZ z9noALDsQnv41j<;h$dkoNjI-rhjp)`n4_=wHC|PwIZoHhnB!W@28qkCb03;`s@8y? zYU(s|gSY6auRu7N>Z2~@f3QMl&UGLQ3Hvh%#&^O`)V<@?25m^AkZ7VWAvJkhKv4be z>yLX{my-dVm!J#94d6cU7fL{|x2_pTKu+c6tgwC+{9;*c0|w`veVCnsA4A*vY(=g9 zg(li#6^p#fnL1mA3>%$^UbJ6LfcAxI-@YFfMbg+=3ti${d8<~hR`Sp155F+1CWv^xLVdH-TETv^Qm=}}zKl^f_ z4bZjY%<(^SP37;o&k#486MAR6IYgZMFpTTfJD$9`J80jLh%`!4Cz0q>j#x>*HHd+Q z8FGgV!%$1UGZ;Qj^9+PZKWk+9aa)Qs*S!Y=+r1N!T;PMkr0*6SBLGT{Zla*bMXddL zUy<;@?ft?Cf{D4dWRRk<>HzW(}4_G9?F9+T;OO zLsG-Gh33Wf!%^T^#6D)+=Z{hCLth(d(+e^Ckv6CjP;ajK(hBO20q0Xd@V87T1YxFp z_4sfT2(&Ii6#ESj)StIKf;=XFs0x8Rktoi)xt_z)CTeI-$${0A1z_j$r@q!A5(e;R zA}hK1c`DhM!%IEPeB|b3Q#-OX2+%uGIBIX~5ht!O_Q_jkvZtCPj?VHg z7c;aEufmv0294fof2-B}q{7R%nUQrUL(R!xABR$mN8!oW!_;$Zc;3{eRy-dA*~k$J zW#9#wnztGCx%}D8q`bVH`fDC{?VkVfcc7!WOZAkrgT>ee@24ud1%5o0B0q-lvX}U) zRi=W)uFSvxHmDbui9cX?vMSq}`meXcovCwa zyezWFphb+U=*0=|*UnnKXekYZ4;CT6dY z=Czcx^)jKwNU7u$XaU9+APE5WOL7VZvc?K98Vc$IFVZA@0LJM4Bh)_f98xz?$tirg zXT}s%jazqTS=-%cOs$x@K<{Isndh6dxHjG8KH%4s@C2QN05XpxFHjuEj=&(Cq)+vJ z!f*dER=ICP!zIM4dCeG4G_tYznSRi{*iNWurrT%HoXV};{msxo0*PzQ;l9Q5Zb2nJSnjIBhS~2C}bN>n>CckMZs=;oRAV}1f)9$5Ew#)cj)f!mO+p%X@w!A zTWO_h0O{_op@gBE0qJh$_QkW;bG`HTm)cO&k@S2S_2whXr+B=5@H#aK ztp-iJ%7o3qp<}v?>^Z(|hJA_V*+UvEW!f{y<#{3&(YYUwTF0v@mmG*u3oSmK?KYia zu~qC~2X6xfmvjdD=H>zAYg1gDxK;TqyUAgYl&Z~9y@0Imr6w@esE@8}F4;7gq>7mXZY0%sDAZ^%lWV`xI>=tAm-zk=-y0$shoxJJkFNS zldGdD&=cCUfU$9g(Gl+FY}mfaIhFre30X(3TK)M)U>u=b^Bp;w}9cw6T|j zorqgbWY!IbgP_2z-R-$cpxuz8W&F;|$hc(}EdDvT9TM`JR%G9k26*e4#&dQScI!_F zEmlUYg-KVSRSET8PPhNq6jc2ft=z`*HF*BWu7E#FMNnwU{8c!>UIjpE^i{JK`y$1H01H(*Q=+Xum&R+w!xF3GEzP5{J+-NDFF2bzsX;0OW zJJq}`NaU<$8i$8^T4^**1`mOf>>sBM@xUJ3AM1@d@p8R@Ux4ft>8@Xuxh4md(0!(L z#d$2sR`!CSa*QZV5qL5(VKweF^?bjQaU+ZdF~h=u4s4SeJXYwEl{O^rnaF>C{leVv zrgOKCn&xkGE~LHF_&&ZpNIe$+2(_S+7yAB<^{immKaL|Q0=?-5mn;LKHLIwK_f&}S zfWu)kD0YKV(8FEpww7_%g^{n?76t$JOa{4^n9}vu64U4bF8Tg*g8Q8g{hT_#^rAc! z7yK&NN{8;Sq0t(^nPlxcOC&%!s=1MM{dLj{SYcbAol$-p_oQ`LA6#uLSo6bG8zYBt z+ANqHR*e_??+!s$X=(EJZ=J3&px{oY#G#1of)x@zj4Y37PeyQ(kNni`tXKzxEKElh z3!CH3{Pt!Q4Vp5>Af~lwhDn}s0gnD(yLwg^i*js!mYNz?Dt-skU;3W2J0TyTwEG8u zORCa&BD5-ei!OK?KX;gjHi9S5CM-HjM55&m1YRg^!E5_jRHKqDoL^B} z0DfZ@@G5`o{RF%o0GRnM$1Gm-Q?=Ddc0r44Dfytl%j7J!QP-jt!C&{<;UsfkG-$pgc7Bxz$@+4I#%!*50sBS4WOV_+^T==r!6Z}nWaD^q@ zpeWPm*($f|P98&FuI{TCn15m|_e}g!DX7>fO4aG>VB#FZHLa|vGOPIV$Ue_VHs6v~ zYwnG!0lacaa(6vhqz#9`5?UrH6XpmSeT^#g&PysgK5;}Y*@PcLMNmT=TX^mrYE$N&-xku1+ASu3Z(UAx6uYr~?o5FrIejZ*=tFGB8${>I#;uf+XFa}p_QvgVoygIS#0X{IZjE=i>ry3 z$it-L?7&UORm9yuY!T7l5vm|UQo5a|cuo&==S{4qGvw`Y{n>EB{kHe_1#S)$-CpVi(UsoH7FDyko@_ILe&=+ zoA%9+Srh%IvG>**5~l(KZqT){oiGeD1}`Se@TbTvzC&{0vF61MuM0F;FBGxKfenq< z`x2ELDCvdHa6B?+cKdmew>X>rrjX8)-n93=YGv;-f}K*az$-4ush$#+?&j(iY@5bA z_^a7pbpUuV{CEV(OnyIS=_AAJ^0V9=4nhuq77P~vk|#f1`t1+u@B?ktEHpB&@RXAM z1jJ&|Bjv$kF-c`Qp(>-(T=975RjH~HuYoj2WBTkyBIzfm zCAk)nTRBLo4R(H0(IVm8W0EEOn-p()*s>%tOIWff4Sr~H>XrJc%u>(jQNvZHV3Wc7 zpL!pUkxuI`zo`mw%HF4;+A_XGNxj_qiO)~%&d)5Z&4v|j4XCuC-=LQ_g#lbFI^8=h zMF}sO*cI9n{*EeRv3IKsev7h-7}W>T#L^y0NpgC@M==%R0*KI)#0We!_K2`I=)$3SRYDk?&SFtVZm@tgT7aE}Gt+FNcOz@4KbqW^Y#!?~A}P7gVl#qk^Z1mcp}&@U zY&Qo5Z~62hLw14jksmggB-obORdAs*ezHkmjfypiFabOg8YVW2DGC0!SF*+15+0W9 zllpEwet~x?l@e(rpMpd9)TH2l<-1=C3spdFWC4OK7ixM}{g&<%}ao_?NMj2umR>{LNY-;kE?E zCGnPtnNrYBL4sWX-p_~dPF*^6F8{#3EF6zlX~(sYw*Qhlauro*Tk1e`9h4y@D81Le zP~9Nd;nL%3%=u$j)e6zavGl~EZ-U+VXR8R31m-^01k8vmK05e)FUPEA_Cne^dwEyW z4^E@JvH@r&2V>g&qDucfE5;~aShJ~T+2H!Z@t{6ErpEUE+eiR7Y^z|qk>0*Yp{38_Hnp^dY zun)W8JLlOc{ua^0?&ssk^9E7sEvkyMnh>U`Z_N!c>S{0}8{@N+A^d;lU&r+(k@Lc9 zny;~QfN|qF+Ez1d12_4T_JU92*_rA^p|vT7xD&C9tWV4h@~668$wc z*m)ldyFGdXy#)Ka{R^M%U3&=KaEFVCe^B?b6UL8SOAdgGh4@rSPp*JK3*tS^Ta!$B zuhg7AH6Lh<#=&4);pzr?|E@5G65EGcA>H%-z!x1(z2gfbR`mBhA?OapPY)+f@Ge--hh>v(WS@YaMLPb# zF)eqhxVv$P2f!^8aFEzLF;FOy$WRNb$QBpfBAe()yYnl3z>>Jrp(PD<*-e+)SA6ip z7Eupd;Mor}+wU9LWSID@%jY}u=5ZVrcM+eWun82ar0I?Xuc;8>;Dr(Shk}a(zJRNP zlbfP`hAF}zl5B6Us;G;eRncH|)Go|nfkiXgFgNI9>4DrpkdH)J2 z0^*Cr$SMZrEJGke(t|ygpH<^otlb4s2QY~mUPrTNSVdidy{}~7LUlt$T$@8k=EtcD5LN< zXO9*QapgM+NqAnIq~`r5BK}on&JO6GT=P}w-8@nS?})!> z^YkM)+x;Vsb1P6C=0zo=aCvG#b|GEGNTh#7ljWDuo1k( zpd6^80C634)@cw{O^guAzBUHYv=Y!j>4f6!_S=R&yB~35k6G}=h%V1VJ|2htbUG3J zaTVN8*%hQfQ=9e6soaL?5fMy!tc!!~Mt>p)smSY#kiDe}+uXk$8{vB+@xewNcHK8f zW+!HA`&9E7u+AhFJ+OT@1=!3=#{pS_l#|S`1o> zdK}1MxsN+;_q+4B|F}Kbpk7Z03aB<~H7|RVXK4+)pLxn}uD(Prd#{QffOgZdo@28E z?++W|a)KWRHV?C$Tb<{w=p61l1d$z}dr&`e?kdRP33h`VTFp)&h`owCo_IPw9dB4Y zvU@;s5J}8l1zn%|(2l_)$ z#Qrm8?y8rOM46e>-sc%ZKju+S-`>Pv_=s5FBqJ=r%xQza8@A&+DWp1|Bt^2l zKRO_N@d$p6b+7-Vip?WzrS;B`FBibM68}*jc z!i#$5;ZG}xFG2`ygW9Wq4tJv9&!GDOzQ132G8o<&wKPU5a{JmK`NeI zy-$5idPr|ab8NAM+XV~psGrE?j44*hDDwf$(&=ZDT}h>{guZfolf~12&d+XulhEDZ zE_FU%wz4($BdPG!oIYQ`ODbx=BRY;xrB8>ePlu%>lf|RT6fdXjo1n@C_C5fWP5Y*D z71=uf)WTLHH3#i9=63+K=ZA7NZs>>KVr|PVc^I5IO6cOKivA9UQ}Lujfuz=g9A)A8 zNoKT)`~|qA(w^fE5obalAO+MXLI4b}ly2!`$XCy_M!15r(jIdetq1Y_Kw`sp%qa0D^M`gMAN>rVBy@Bg<4;(Ek-`Bn8h_M8cmoG zA0oJZuOX<+9xsXCRssZn@znO8Ve)^gpn4V2lI0nJqWcbXEwBntIaOz*zL`D<0Sv+U1#@hW*{ zPz^aMe5IE3v1}$SU)5nMhF*vIV4<_#l#g$Z@*^qI8v#ppA(TiZUKsG&py_@>`+%C| zSJfycm6g~0G4K;BNuJ^~-5-nK={mjLXI!FDNv=v-7dDBZIDmAGr(IPPWgfx)r$nH@ zoT2FGnR@2hvE_(OVwQR17E4Fx!tOnC0Q33~4rn~fJIn$(gI1pOD#}cstPk;kD^?8m zLUxqcf7yrmf4FMJ?>)pit{bSsS>})`oRn9?Yu~vAI;80Dj1!1y2i0$jHF{sRKpiM8)yt%?fgw>l0594wBzPG zLz2Z?R7=2^b7286{ZeuOm5_2awX-sB&q{)plAC-RMNkvR89o^?34xQ7med+3)g$(F z1kq@~cw$7?$xUw}IlD2}pz!ymiLf@FC5efR-M{=Bl~22znS#Hi4;5%hex;v48R7Wg zLjH{$^uYIxe4dp3W9CYB;AsycB~VjJ-wY$iYC(2BK)KIk%=#WDx1zDVxUo{iXER(~ zz$dS(PiC}?fJ zwPjP}4E0t)rt}aI;%A%H+A@(Ejiav&2|l*7$NRI7aNS~WZ*3}-U(2P?O@Hkhb}59X zT#kFuIAI8;;iqJ`{~_1DP_e*rn!`j(xaImCg^QuYo9T_&V-tgOXjRI(FUpFlZS50! zV<^r#Deh1mOo7|^d#r*yD(lqd!3k(6<0;mNu@W|Ma5p8H>t_`xwQ;6O|jqONISZuO|h&6!8oQtayegvhj~C z87YY%`1aC-gS+=Sbyny=v}DN$e@I+-Rzu=^iRQZ+Y#5x+qiLIqIY5-cLc>lVZq;2A zPC1nOhloKT@#`>yJTp$x@smeN?W&4xr9rw!x3}b4CrY2K4-fZ5Vr{y=`N=bC(~+`M zq5~$8MKcd+?vdqP5fHkKT4`|w19ypuHd7w>53eA7k-^HOWUfk%!Yi-Tdh0SiGY<_v zBrLIfAT>dahFItXXOZjuD4Yf=WFLtB1jx_c9BPxJD_YPGznvEDd&JCJ= zVBo2|Q~!u(ednvwJWKTli>Jg=FLi8u+b9MM*>0A5L*&R5Pu~&}>jMx;uhp};%^3G% z2wiom_-J7QNs4yZ+C$M!Kw;MgEyAn&1yzqWY;N;6G*?CKm83Ad?jVCXJsl8LzZ{s8R04NS>C&U7a0ylqgeAMjH7!Rv@cj${m;`;xO(*& zM(MPsJlLN(>IUgwcUf+I-)8WNO2-xWW3p*$ZRzeFs!sffSUW#I4}N?##2Q-_vfJa| z3HEleD>vF$Rb1P3wEX6yft%>sC+p9e1Wr_s%?LQaY|zzEw-{R2prH8k43ee9mJ%SnDzp4^f zf*Wp}TJg731QY-E9mLgf+R0nT)Zvl-P_j-_sp7RtQDHY$&p5;Mp0tytJDf&0)p~o0 zQdp+cPg6m}hd29A|D6^=qy;@aDihTam(=XKjXz%G6xA8A@N-=wQwP;4#!x-Ulsh^V zwOQ@7u%UoepgU+>tn?1mcbXE90U{R+8pWHnu<}(5Hn7XdpR05n+%Ejb2Tmty`pppc z>M`fMo$rMUmRNLJEU9FN)cqX6t12rK*p{`aK&geyDC4(2DfK$^yEwK4MdBf66*vbQ zt~~yVwIWS4NS=vb+9M&f?;#6X?$asAJKmc^v7&OLsIeuw*OO)_t*@EDF-wNt&!83_b6w zojNqHah~=L6;a0q#h0j;ph*Ofnb&g0eSqOy#wbW?DYz)}FsmCbIvi2V2h3r!363W#rJ`ptEIPWJes#wdC3{k_GUiASha;gAjvsmh*r=^BQ=VDJdEAA|4Z@!8(e0yzVcTweD*_SJa*FBnVK( zAFGz{wT~6IcOM@|6Q_KF`&#=u8*kGC@0aj?<=TX$i{F}o^9!f0fw_`LPQFK*kB<3* z{x5#6Est-2Q?7mf=YE}lpSOYoc4S5kF21Y0=eC7aXot(Qg@VKV_%p?V&A{jUeXj?z zZ=QaycG%Crqs^8I!*|7j;~y%aS@6F^j^BI(kRJo@wQ@irrVAie5ilqF=l7?N>CyXX zOGVx@#RX7x8TfsByEinoXSoSn$QP(82jX2R<~#6%egLsI63*}xIk}90j)I2J9|J!W zufT$|pHGZ}JLJ8O{X2qdg1hTaNyh>3)_X_}{(+B2(@YCxw9mxtpHr?MAXmI-;IDbV zg-6fSDSKRfz0&~K4sqn~b!+Sosww6Hq~*oHJh>y`B+;Ap{rFD;;Fx*7Vsl+vn=$7# z`Ni0l?81Hz+{!kDPCRQMTKN(6!bordRRB@;YpB;hPUM>RJBZ zI3Mp6fAPh?nde0Ulb$M$nCG_z(_TL_g#A#*umaLdADvS^hpf`{B1022xePz>%Z!-? ziNdumpIFTr!<{ps$beQpNPX|0%Ve#1Z=#u=ITHMEkzIsy%+h^w!r&Dt#~H?#fl-IT z5uyVM%gEZ2?xbz3wWo=x^sjW63d@BBlK$Ax>MwvB;@RR@ZhSA0HvTt|v4&7xAZJ!N zd!sO`gqKA|H3gU~Oc1;|L_ctsAx?09g?MJ$K+tnsIX4mzw0>cNTMGJx6f59UMhN=W z85X6;4g@Jr)hiwHa>u~MJz8v`Q42ni8F5Atrm>qJL?H={7xO+e`1vJ7D5;m| ztAr-&#dcaMj8rnLT}e1F)&!9{1=EP=Gmn<5iLyU!L;Pk`S;9Ptf*lnN^YN&QYs@^y z^b7ZBVe0Q4G)r69T_Z-wpV{A`G~}?x!-^Tk*M{K4l*ad&vyE?0D{G{4B-U$3wJ$7yGSj>?D*!spN)>{*l&_&2sK|$Rxu3N2YOFd9uAq5)h^rl5kw}jP4 zHX|D!{JeJLFGu%VCC<2BN8IkNM2E*Z9eh%a^20bm4c7}0HK)eEE$OMcGnQ;dNk*Jf zA~c1(vDr|ZK`la=`^PwjrJZv0P$zKAh>kIC=B=|2|HxPi>Q#%nfokv$g-?WZQXBl1 zbKSrL>9+&Jqv1`IP)>*?F{;<2z>~4R7Q`im0$WBdCMiDF=n}xj6daM>jtbHZJC#cE zMzjy-8uDTd@vw|1&Us;)OMqU~kJyNT9(af%7U|h0ieTMj$=&}UpZupEXG$^{_6>s@ z2O7p+VubI*T3;Kc1-|M1R|#~i=!L<)yPft%yK-W2Sqt{&8l?MN*gPYMF>Eu0+R4E@ zKti`EBTORz$@5O6qW3MRUzLW30X-3#h4>rmT8wo<6Xqf$1K zPZ0Xa^g%Jtr+WoqZNn`iBCtThn)<#RAlaz?4C+P*rcz4uPdUk3P7cc6K%7uR>QAS1XP}hv1*b#szTI=$mmyTzEU?m32mq) zF9_a(oLNDksMcj?K^#>h4=7kj%%T(u3FQ6X4=~Cp8LcxhNOKFFQ_GH^X;Z6~JK>o| zM-x%pd1qPj?;mz?s8Bv|!MNZog!1oPZL)v)AmPxe+zF_sO7PLr5c0(E(deY`#&7F! znxpSaOM>yJ)v5eJ@13R3yvIlL^iW`8#I+!C)Z%7>T@Ywf>>`~_O7|SWH)RoU0&eCO zxX~f#5l{>B#?nXpXw>jbpp7H)!X-nm;6ne5f~+9%pf(u@G1xsYs^(<$tFt%IqgbU5 z(OtYOu7lul^3*R|OYkkP=Ps4Y!e#g*DCag0l>V2aSXlQSRf|(@_EZxR6wD zxEFiUNc*g%87oVJ_xsgBxy+3@M&u$gDBn?OD4Yn0cNxUilpYrDtnyUc&ZCMO5!U0^ zf+X@Ou;E1HZv12`!n%*N(NJ+IPQ{?t-=L({)8VT@nX6;FO|2OH*RrRPIaz?Q@$wHdwu`7McRj5n>I%s;vc z6HU%KjOu@>3fm&lh!Z5Y|8Em2aQKHED-ZhCTM<>-kj?oG69;fkYlK9wel2wx9R)%K zw1SH)DksYqmCR<>wo)j+*cO9?;1`bjM;j%i&f+l)UF(^bP+YzjL)y!Pkj$!}B`UCC26ZC1~hW^%8CPTPo>f5;uQRY?Ofcw5gLW7RxEoxl}>T$_jss zgkXJAv@paLMzRYtMyY>Mpru>n)qato{HHDV;G|KCJ^?n(g6&yEIwzzt1n-5sRD_(K z)tP^=oq9Exv=IkYHiEWI_y%{lHUWc>Cfd#kU;LnrK2C!W7i^Cp^4@4dVVnM%b=25c33-@2LI*dJ1hz>ETh%K^1TPF5k01$6 z>S;%ONj2{sQI^m?s?si%%mQAC27(>QAd!Gq@q=OS&x?gQEZKzU#r>BfiL#U3-ZjIq zK&Pc52QGKmD}?qcF~OTYB)jS^82Ozf_~0&0P|w#Z&A8N2>Mab49tZ&E6DZ1g3Mq+9`NCDKqk{=miPI z-fd=9i&>#CH`&R0OH4bww~}%eH!sNx9L7B#O6o7JA1|Cbr(M{!vcKQt=H*38x(o?z zFm`I3$k3O?qR9>2Dj_xTXd|-_mYILh{PS-JEV<)-h(K`SYp^aElRC`xVKfzr5i}ua zwVjrj6~f<+L$K)vBqZ@!>n6jr^xZg(Fwr2>Dg&L*psPyqqxk)X68JjIg!oSA-L<*W z+808AccFup(Ml9lq{=1$Zn!c#guT-Y#o`5GoU9TCCp4zGK|BOo@x9uVZ2$-j2R=!3 zBD9d0R+#xBh%X#fKIRb4>@Kt{ho!+rjvltChj6Xzg`Du9f7e2yx9V@Ij?n99 z8fhjb!x2JqIVZeu=}7*J>Pv)^Tw=}#Q^1QVLwdbn)6?M!ak&oGa7tn5X^%M`C0Tr? z({jy875#~@!7HR>ClSYzPbzD2*;nu+^yKoTztvz^7Fb&V0hO5R%-Xb=05VPnu@YDZ zhmB1VB*BYs`Uz|F3PXa6OH~=rQ6jk`du^qmFGv)sc?c0dhs6fTGUJznubk0-MmSv98HQu*^C#tm5n`Q~YWL5;s+ ze6h(&4qN;1`LzZKofm@2MBMTBg()anQYHsgznCmB%~V-%E*y(19_tJm+9Ovl)X5L^ zVV2*V5;w$&ut^@CM_z<@he&fMYT;})=;>=M9o9N{>Ic;BAye%L20Ix-tI|EfTw6(~ zRa}>pZCxk7ZB@?cDL&~poEbyfT+X;x{1y$%L2&|TQiNTK4f}8_7O!IKjhqv`EQ)z1 zQVH!NYv-Xnv{;T9cSZ(ev6gx6?NwYJeb^{?^GkpvhylVO! z>b%)sI#KxiEl_Rcs6qKENCA}|;$0cC(}m+OBN$&&bhL|QI?2ukTcDtFMa>?3IkPYu*(b1w-YqFIcEe;!+-icoGw4eoE*7mz5 z0bNBh{LE*?afc+t%3w)Bq5}I0J<=~Z~}p? z7Xp50iI|bmY30e&_b(GH~QqPMb zUh^Jk_>+lVV?#18kAJN?yJaLLgxI>f88==@+_908G=-Bq`7480NKZ|P_^B!^BPLHw zM`mey|BS(!&4n!Fz{zB3Ah!326eOLp6JZ>UhOwIYO8MbL2gB^`D#^|(ZkLM0xn0z5 zMRUMWY^Bdm9qT_EKoE{xEBgU+TnkQ$-Z&@*=v7jvHA-Sd)s;`uspmn$b^D>S>@j_i{?X_VS;o zBymZ{F-OTsTDsG}8al<_snJKg0>d!bb76Uwj$O=_gv%kI4{h|+`xq>e^(Ogw_>oLY z>&eByq$N+cEu5pdtRForb8M!ypn5#SgJ{@R7U>zXH4)`?`ltwO_kSwCT0FFiEDD60 zyCJa{IaqiKG+86d4o1dQZFt>4h2uFukU3@92{cnLxO0LA7bLWsk?}Y%vu%^$%rc@j zNiMI(7VOHKuXOK3u@#)glx7GTX)^6PrA*k#&ROLre?~h9ZIsY`UCQh^!ISqx1Aa?m z&@qyqcd^(o(;`|R2>rv#4L#mM&hpr?$=mK=kAvUhC+^q2{k6)=Or1_`@1cxWkCoEr z+lcqTA<`T3>pdYd8MLO4dQ!^EhRlfXx*$oODitEyzy>{h+`j!23kmbPONwxRWd0Ef1`eJ46d|BsW$lR^)j~h zM$M3KOg;KnFWYr$_A7V>hL$qh0!9tJ3du!+8E2LkL>3k`3XRYamu*H911AsQ@bn zw)GM~kN=#l!|Z^7ohFnId$AScvsig^BnrU>C?>aVWsvniEe%Ee$Rlo;Q;_SZ4WUXW z6SXcri+K9sn6b$*fY20c&I+^uLUpP*di`P>QNL4My)b-JV6Ep`J1J21X#`eZ zhb=idgj*JQVbJ`duq1$e`j@3tWwJ2C=vbB*K7oWbd;91 zWr+G}cE=Bq5=4x8lhJe)yEqeqkezRWwpslrvG(ackb|sbtJVGI5nbtnL~^QY1yyTZ!h%CVE)=FOgv7ZN1a;2P5S5Lh z`8->|GFPO`$};MKiCM^Y|Kg9?n;{;AT2X}ni=se0D4H6FI#NFuoe!!pIfb`Yna#0m z5>u9}S}l{Zh2JwW5fZG0qyv=s$s5FM)p>++ zBH<;@r*TnyQO#wlMq>_3_mNo-XSMLfQ+aimm6`?#|4^5h(8)B|^)zZC7c40CdAH(E zu^phD#R&U(IJ^~S#|JVlW7}IAkb(ZzwUAO&)Z!H>QE54ES-4s-g;1ywv69vn8i(koWGyHS0ZwIRgxX6dHHewHQI>(Qz>b#8td`11 zGbhuzT`x|t=XL!)vCSufoe~qX)IXI?QVuP4hjJ~EXXBFQNGXrDJg zpHvcs-t<>I;X{HiE?|VK%YwRA+XA$0x_)hPQQVHTHk>i&egl;)iY-Oj04#XQLc?)p zZ*YnBgp$o#2(Jw^u+lrfnGIhlxac40+SO^v;cHyw z{is^|1i1%rg9Vs=|COteyER(NB_O(eE+ zYtw?7YUbRsA#8;m&InX}%6r1&+hA4$^HT`5Kc@B%+|h=U6BeVQPC0j^vI1We0%0L45r36mJ$n;R@!K zkdfEO2|paHBrZJ_$-mcs*)|64l1+>0r+X##jnyU$G0oIqo!pAT`*sS72yPz@j-KcS zlJuJ2vmV6CZO8mWs#T&=A#EH`I@cWMOQ%p8Ca?^W3hpgbD=-yl@kwBGi-^=AVah44 zG120;7~RN}1fWL`u~YKW#x*EYA7N4zpU}`ogI2-zFv?WIq=IT-0D3n#BIR<0dvrTjJsa-QuPa*M=Pnz5}!*WaMDcLXIJg6+!V zGyU+Ps_AU0VkRaR*AlV|i4H+?SH(Io0k!S(+;dyefve=R70LlM?<$EDRxaw+8r598 zs1|PA!%Y9e0#PH67Hjy2z4qz@bV1YAqR)yLUVZ4VKHYs0MDHt1gqk_FbXG)p36R4= zwU9XVuDFfC8^@qUZgNA0HmJj9_v-pO;J9go*Jr)?P^cyZZX7J=R0W3ltdkZJjz+i` zZraTf_ftwP%MD%@;d@1X*<@_a(IgXkOS(vEu91nHUqGl&UgMFp6K%CvY+G@cuBn-& zvm3NQruU+Gv2#j3;*N!izzYRen1LC;LX%X9*E5ZDnuUpoU?fCrC5vRSK}*euctjMh z#7y?F5U@Qf6AWq97n_L%d$D(2MCrd!N3dO#cpfPsnI5TQJ*|+>Tt|$Gn~ob8RV($( z$KX+h=i0y4?(pMhiKVwGgn4UkK-11a3nic-Mfs01y&e=|I$-5d=wCJdQ(^#iH0)?6rDBZ){?SFdN` zju(1>a-xPyT5u-4WnJB+_Vq}TjY3P|QF$v=E*LsZ)-Ki#r2ykE<6sNuF=3LaH^){& z4(FcI9(tH)%QhNX=~-bNhf-UMs&E#Mi&{OQYO!`65pjcIeTb<&7%Bz3TLQL8+L@nNL24nM!7 zhtXHvFtD&jZo`d$Mmv9!wV(~fq)(u4AH8of2~CjE^C}w|92y8TE zFj`UG5aAj|1^*S#5M>A1(2X93lS}x?67wc(5!Un%_s>7&R(WSk#_(U{Z)WBDMe){F z_k4RbnSymPp_m28R$ffgHZ2ALL#dh#B)cITtd*QjZv8~8ySVr^{oQM;L zTkx~zN<+N;Z8K9-Q;eeNHyPcuyM7TWsn zfnj1|jNrUs{9=L7o!2%9N-CaD;-WDxSvh)i3+-PecE-Gh30f`yD4#B3PEc)GeAhk> zTpF=RUCi&WPHzKRHE#LWSrr`|FiIr4;{7&SXzY6FoHwfQ2I@)*4_I?@)TmuA&A_u8 zCajB+_!bqswu0x7ENoI|V1j})gwo(BM%`Vd?jw>e$$8;;i_Du8u}{+D2#`u@y}$BO zME|q}rW_{N&_&4Tt&K6;i8wGsQjNLBw~BMCuZGN`f%QLYK?hOWY;%}(7fS|-hK_%_ zM?$1gTlk0Fyb1%Xcuhu+LuhMrA>3B5@0n+Vveq)yJitp!btb!q;pAQD9Kyo=c5^D& z6b}+c=^5#(lLvC~%+qHeM5to_z#%qz^xpIdm4@vMxr2?HP^(SiVyf9e-aEKlB-J5m z_*6|j^(%UxE7V{{^+d*g}Ok+ zi{?a<^s$~Y9|s*+Ui}1hW*alo2?MZk#rK2ka!~%}5toJsoofrVo~mW1R133356@=D zas@Kl8vvr-!;I64EoIq}4O;1}-uv5) ztp7?x#-100pXaC6xW)Mha+LL*RX?_B%im0gVd6~`)Xmm;h9B#gQecVKD@2eqfWo&)mTE0SkW@`_5~8}z{HxPJ)yPxJ20OwJL{ z_Fp8uIEoa>Qd`5Y(VmVFaTnL2Fc$ey*&o52G184?4+&4*(%KXXG1E*h0Hj!#68W5o z&MgM(cX)MWHcygT-$z+vF-Vmt8L?Ai*fUK*UTck~yqLXzp?b#?$k?M;QEP+lOd2G$ z{goCl<0B?3J0-a2Ceq9!zIHW$89|^x%b}1|=rq0YPhUzYd8Wl2nj?>#=FT&X6h+3F zECX3-=Y~KrB!T`DENs2++D+p8Dz4xyndhe>mU*E$#bLx=&IBciCRk3_O>4j@b)-7otG%iP1W;x(MyKW zm9c2=>CGv-n|wFyNT2AmY@6aC}Ls)`@SOS&y8O^qaJOK z>5WID7!H$8Gm{gBW3z2ZLQa(E7vtMtTAKG4g%sV#186Z};<3x#g(zV{BTJ9Po3O`f z3OFr?V%CeuXR*i`BuH?uh-=6{qL+&(Q%4Ftex^!P`;eC)LZHbju7;Si#FB}6rI*l$ z!wV5$)=1(kkP*_@ur0Ue$D<+eWls5;Fnw@9tINnkNBU$*P()L2Zdw8)s_Dq4yD(bR znWk{29mxlqj|!A=bff=LA{oa*vZiCnOJz8nH2YV|%qi%_zv;L#drZk5j4~}Q90A+2 zMA)Vcby?Ls?b)oem_zJSkCawu=%k)k z?sCXivlD}PNlORcjmzF4{lR(;X{-chpGyPt1>)q9Y|~8odUAW~skTXQ~+~ z>OSpr6tuYLl0wtFz_d1y5@3FgpA_}BY@tkx+D}D(@du$oKF@B}bJpapcnoa_jw< zK~+IS4XW@YXn(2H4A4L1o+*=+*u8pqYRWt|UH#P{P1#+;_)2F{o5^LaN0l+-gYcOA zBC{CNtZ+P~Fj4a(*f1$;b(kn36;2(k%)GAJk4?8l_NwHLpfPG5WQ*@j>X+7zX0h@* zq^w0CnSgsHaWmy;_%;g(dKzAyL^IE^P~j>NxXKe*O!OJ^O}eTMiVK=YLz%N-@T0+@ z>J6ENx~YmpOf7rOM3@ntgG^&A2WfT&31vlGW){z4Pho{WOUCHonnljTN&4#&Y(|`j z8zixt7MT|Kyw)lJCxR{occ+9Y5jOjlX3z~V)+vW`VP5rS%rq3~PJOgI8o#{jNOiZU z4X|xK?pZOfI+?-}9QHgNDeuqArYi7}6)42qn&}rySs4mz-ugkbZm-ZtB6CO#&XVRz zKW3hcXanaSqwz%a1GB2ND#S43T^cZ`ZX2VYWcFe*3Ta0g)^=KP!tD$0O`_TP2SSsD z`}X;_6pS&f(>k`)zca_WM)QL(ypXTtu6NNM!Y;eYS7k{FbZ!{P&`{}CE>YebCd`C# zPy%hJi!PPux`kBj<*vuXW6^)Z_)_xa^aqE)*%_(a5EMeTS>Aal#tVrBxV34>IpUWa zWKsroJ!Y|*RVJ4#Up4J=yj$93tm~!QlzUkzlzqCFZ_RsPUAeWO)B0Owd_WOk83ZtBrwef}e1^>v@v%TKb*XC>pUtm0_1 zyt<7+6RDx5@KQ2tCk1F>CDFCs(Jm>Wkz?M)W!G)1U9N$beF&ObOoQz5uUJNR8*SN} z3NjArEIr;;PC?WP22BFAq$N<+;+;5B9ojumG3dH-=ZBbBQ@BOWInt7=<{O@>)!X(m zRe3cuU3)tZ=C0M~{&ASK&!pzAy2UxYP_x>%4w3%f8p;Udidp+=4-?yN|t#-%+Wy$-3;TUF$ z0d8r~m-*N)f9cFmUDUv6#baX7Mdcyochypl%1SdjR)4b!^^U})6u4F2*^(}%fGuo{ zs=E>F>xcI;Nf?c4<%>lH0F>OGDadaj7HJ!%Ns4=?g6WoJw?cC-PTT7X` zoeE3EomklsRCh+N^Q!#*?)+on%UK#fLh^CLWBhejwjm75n&mDq)`t(uA*wBxj24Iz z6Gp=-^8)LR%fqD@6=-wPhRYUtC(DiVXq7)TW9-tmHH8I-#Vutg*9Om;b!boJPX!Li zb9s)^?J|#YqFLitH*@_1)?(|sb^nt275rg5?cl4y8pz;ojT)N=Q@aGGHyW5*QiE-n z@Ah?sqJcgBUE=zxA}rv-d&DU6VwVnKR@F+0Wmgowz3Qu;&#(ws1@PLVe8v>i} z=HJ(%sBYQS2!eDfb-WvUgBOEM9TqGXw~PnrC>(ekHO>+NuU{Uldl3_dNj~M5Q|m%&?Wf zb6-Ll`2MvDE|jlI>h1h8;ICd68CZu)r3%^86O3wl#vD%YFhmKp`~5hZm#RnH3P0Zn zY?nS(am;FsB*~HB+JIbIx(J8J2bF+egN+}iK~2dnp|Le6sHua)dxW@Gs0q{(M1S)% z-JT^U_;VAi^N!<{8zEN*T^6;fUI){9rOlvOkDnH=kNXabRHeJR=+xH>OS2+;^#+3g zY}jS^xtyJ&^t3+tURVCjtK&QJShVVh2|C<0ngl~ExSPtsfk-Z>sxyPaV(Z_!qOgs@ zK5nV0(OYZDo(MMDZ}RyAxx;`BzP-mDs-K}E;L1DzFh6v$@N+d{>UTgyKok(z`&fQc zK)8I@H;{izkozI&JK@+}QQ_P0br13#c&#0ruW!V*P<4CMakcFNE%GZ^Fr*tffc z2ezgQPdw!XEX8d#N^=w@ckf8q0t3zZ;7YQ9FvA}z+SC2^e zIc=LoGY)F9xR)43B#Ri>zcIcz>H`NsziGoS5J)p`W;0mN*)bNhi-^MLB}2$YyYl4 zqTVAg$^0>|?yCg|PCw@9t7Lb!ny9~(u#Ak*OvfC&sSFP$Io^Lp(60;8FuI8Cr2?nY zgxnA;`s5~tfQio&Ww&$Zo`U?+%E9%)a>ORXya@{3;ACM8aKxmYJy5wOy(W>xHfRBJ zi=ole`muyk*MX~7Z-lWp!Kc87jR|Jpa+4G}EmFARmzBW&tr(q}^({mw&>bVOwn67c ziHU51FP*nR{7dT}*l-wM3uNnY!0Afan9~;4O1Fj|2$OZ5tphQ80nwX51pydpk82+7 z`a=O=k`Kf}9V$s1le}v^(k$54m9ELfGKsEYOoa5YvygiNLE%>HnrWpLMRyBxM(U3% z5}Dgh4|#mI2RKHLR+{ha>gFucl6y`i?#U8z-Z2uX`6FOit;~| zuw8^{UXJPC@uLM2`#X?4Ca^en$hqX?f13h?%@=SK+#NK#r!l=%h3m0k6sj9sdbJ-7 zr>JwKvIP}OoT4z(gs7;{AidAZ%qUd!G+aAQ1_rO)n2MlnNRyBgHH?73(9 z%I@$yF?ptU;WH>4Dz}QcQ)Q7@CHs?t3VaCr>qawEY=+*Ho!*pJ5V`ErDRLAzKxX-$ zchxhj43va<$>Z59k!Pl~t(6JYuW|Eu$lIm z4XBJOMe!}C4yMC~Oq!>0!(U+V8rm#duCz7x8;{dlT#|9Lnz>;n6Y`OZfQPILRGVvC zThGt#XQcTaDNiQy@4mHtVW>BScZ3qV8(s3uu`s_BRe~OOkJ6q9G5oF3Ot+|e>B%z- zui)h71!<_-iD@0y$aJ@tHOv%t+tG-HmUmL+WnMd%YpLahD;yU&`}!65%VpxnIqg#F1j;paHQZ2Z`v^mS2`^fetL zd3$h-ZPD}l1G&i+#B|#cm(=uqO?ANJ%!?ql9Z$S~KlbaTzyJ8+TM4PEaK0h_%LHMX zPtA$&$W0?jZK3(lQE4EtyFSL$#}zZSuNPL*{0O&>&Fxkigq$9FtxMj7S0#3aV-9DG zn6ky@>z}_$pwW0LBWh?<-reQ)Yin_DAaAjH6B@PY>j7NaZ86IkrZ)ft#+w1$aifxDr~{%SRgaA{hv3)^-+G>o|(m6usG0+a6-=SNdB zcO~z*P>vJtq9#3A!?)J6ZuKJ5r*jOmb!Hx%=}A9>12ZEc7+U82Cj5X6A1WL+2$goH zK85;@q#=gSvpTIEdp^0L74mj>W5ID}d<2}EpVjOiRJ5#Ve>Rl-JB7}4&J4>zgl2 z_4NM+m_8B|IMzBk*!i98`@w?90fd5Y2R>W_I14^a*%9m<`F(%pRw@?q9UVLffA4*r z=2Yxy&MXiC*>X>Z#x5-^`&#-vo-*zpE+>Q||EwC5`ke3hsB%|GYJ+h9KRF5;owu z-z&}t{$Z^b+oeEl;&Kf90e|d`s7hUHZXMw4f^-ltFwITBlISHcIWXt1;puh~sn|^= z1A3i_?bVxnlr3QrehvD(baeo`iJc)o)Hp900tb3}Je`^&rx_5qbp3sM2Oz(O!UN$< z#-Z7JXYriV%vYEnJy^tPblQ!~B-i4XKV1k~2Ot-$dEaiDR1KWz?+@=wXWp%pXv6jg zPr1dBpDBh@XfiI}^slCoU@7J_x_TIZCof0yY&L^(^|#HUpO-XI7$Bwhl!hZ; z)aU3mLM

xZ3vs!pfx?R^nM$kUikf9WWnylR}yq`R*&(rndcR2^v@p{Ck)GxL4OM zv9Rv<{kuAN-w#-@=G%dr@#xO5|MjU@+b;3k*;~~v!Qg7&fr)fou;$vcg}WNOz=spf zUla)3{H*Xc$lV?$>e#Z~NGX*m*RL8D0WHha93O-XlyC&KceT}Beeu{ovDnmAqA>|^ z5sa4rhZ{})bh+r^lX_WERkL&tVmz-Zog^_SQLVQiVv!QEPLw=9^fNA$pkxKdWD4q5 zzFczejr>o#@ySaTgs}>?(qs(uQD6An5AL5=BE;u!E%b9mQ_>n!&|H*u#LpkiOF%Q% zxB}pX;qW#_Wtl}~USa{s++FPC1$p$-!3pQvtx|XHoVfb&tBu+h!xgeX*3qT`$9cSu zcWNF>EBw2gUZ0kA*rR!`dm~rZbWBSO4P*83Jrk~VBezf4N;Hwi)~W8)XbuN8TKOqW zeLW$eNdgJ1Oghl@^evCA#jKoC^s0J*(=m6cZb`2aBTg#Fvj;3udkqZCQpHII0ot?r z%<*JJTERw(ix_5L4*g(dgQ19r+sTU3zX?R=wd*^l+381c6fKJ=&{{=u`NuyUGDv3# zJ#`_EJOZ=1+M?b*TPwdD+uN(*G=eA8B(Ue|qbQu5dVRDs`Yrx&Wedh!UmVFqg8iH0 zx2*?VdOM%34UpIlEW8gwHMBRTO)%BEX_zi}o`_Clv?;p5nv#@&=Cr=Qi3J_ zS*62Kj;3Q90dO*v(^5oNKB!n5os_2wElvDTPUprO(L^oa%iecd?2*QU@bHUN#qQwe zA6bzAgrLH|M64Zb{FXE0?e!(;dQ2=##0EY+UbNS0b8*44)0Hm6Sh)4td+;>{hYFA;9cjdPvF_- zuMTA$>w##xn^qt0C9EE_DU&@|fO;~6!r*9h&`1vT(QM?j?QRFN=%Q+oP>;~X?hsmY zmnnOcW_}+c?#mhq}+&B9aAV;9}=Q)>A$V3s`5U#U1wT}k3 zrbdcZBNaC4X|wV`hRHvPuUg6Ou7TO`Y4kF!YQq_YB-jn=%al1g!q+-RChK-6k?(U? zvv1u|(X*ebafq$IFMU1Lj97e$*L8dIEh$2OZBc;R$9Id5S5S;-tS^c1R7al*-T(po~1sY(oGR<0#fwe|vt!ay051r$x zp}&-@soa~PM6L0vJ~y3`w7t-F2HF!$ye=q0eiu9s^xLN=61t&he?VaGsz~-| zkFE?>oQVLo0`0o3>Yd6v!%uYF-@ zWan{^63>`nk3x702POYlS9UEtIGD2Od%kzOz0gxQhc*Kn9KNaIZ0sDd!r`_v>s-6E zlkGcltA!&qXW|umrX2anuky+R&)%at4R3$Z-G}iOjqo+umRnqcQEn6s9Ac@i%44Jw z%Mo96SQCZxsGSPhu=|jR8G7Negqhy{Sd|D%`IPWwkJ=7to-MqTg9aV>W{t#II(z2} za%%_QGX5hB-HH|g*{l}*zlUk9S{A0z*KZdiL7bF8xdQf;xg~Lq8J}8+62mgY&vYPOV9m zD&)m=WHT#+7E8LRjj1iTbZsr$8AehS3QDj97A0IXgh1)TVQN&|KFx_;qSpkvajTj+ z+6Zn{R}W8t^<2WZ-R9;*o4mhyZTJ;@6Z?00FA9NzTWq*+a1)&;Us7@TdHc!TqeG)2 zd>HfzGx+NqF|s-=^~1LowZx+5U^)akgYWUQV$5^Pzb~K8{?jb$0Os_P1AH7Lt@|s8BZYCH2-IH5K>U;;Ny5Z!eMx zyda2!N=E2^aa=j$>&wm4kJN^%gj7zb!vJc*Smq0M8_@^a5Tj`OW^KW?*>;Erf=UNO zbp0y}XXvGf&e}WFiD6h=B3opy)hWjkLU%&0>=@BfZ zn_CSJ@x|0_W=yEH4P9|(v(Nabb#e)MVwqt`9b)%kmE$CNaAfz4+TPPbM!s=LU624fvQ%r^QFfUPfeb^}a^ z0g(0t?MMgNIh@RN^#5u7JwDl#PV=S^w>`Yi?+Od#3_!s%pde>q8c>kz3koQYL4H{XB0OzAUV2SI|iX2ybfi;#&-9R+rrd%k)v_(w^Hpy*99Zlm&K zv!UZInhXm-zC7T}X93Xt4EXSKcJj`2_FMT;AKc;n4b@_=^J5W}ubb7FmX`=h^1eYMu)ZgL=FOWtXhT zg%TBKnC5}_d48J$oZW~ z(pOR7cCKs@&^|b)u#Zin$?Q%bOUV(Xj6KYr=(IN90^;7Q@q`7%2UBx0L-OhmZ?z0G zUGM9Lak%c|{BUe6A+6QEZ)LW{Z;*4uKm?_(mYW9O8B>cXAj9+T0myIUlfaKtfC}*O z>=a1ZQD6#OSO)S3eyN=W`n=>m{1({MGkgd%H2YrKAE|Us>wp#j@PCNz5l-UA{C=Wr6S;&OnF{nC5y&;{Yc4+u}AFZd>gt=|GeCO*!FL80h_5)kH@iINp;<0lQ zl~sF_{y%Yg!ryIga#=YGgQN}gt+cd6l=~0H(<#OQ1ew$<{||9Mj=$-lz_@N>3~zHq zbG9q34#t-@TU1*4#wrGE`^*z#SpzNa&~l@#pFr1>Ak9L41kh>yZuCD-%IE*)^8EiI z=l|Cg`k&3Ozxn3L*Gn$o&vyO;ZTwvO|M~N$wdX(Xc~}3l`Q+)7ul%RW^Z(Bw|1I_Z z|2q1=)c-H(zeWG)_u8l5|97MRkDtPyCH-IO|CaRs%jy4?{$ES_FZ5ppXnY!F;5_{w z(|_Cl>*=#+&zJhYCH-I0|1U`Yk^g_XxxTTa|9^V=&!L~6$`mw{{%@>5eYXCX?LQzS z0RAEUf4aW8r2k*y(`Yojd)%aOkDER2ajVBYZuGdvZ65cy$>Sckc--R#k9*wS@exaT zYTY6rdDB!7-zVq=@yrwBVv?zE*{%MXh8_o>XP47F8Yx301$^_1%OFFGmwGcEJmu$N z2~*FH;HR`SJ=fuX@(!(SZU3lywAc3glten6!h=%|8Qi;>L}@s%gWzF=-0-7Aor}47{&-=|TgrfmaO`E%@fcG^dHSj3uJZ4dyXsEy%}y8Y za+GsI-7m&@ZsH}s7>r!bseX^}=jz<()(7yXqNjzzq35>E(a+`9KQ=siZpReFT$MfS zQ-n;ry%)o#-GS(BRvyj$qo&;fz>7kkyot*_ezq{`0z?YqQ52*+ppOoqUWd2kP-$m0 zNUz-S=uqe~VlEaqJs16u3RZ5a`GM1O+cwm6_W17}NIk1(AkgZoq0e}*bt*{mb_Ja- zRw@wL?GoKJ-2mF+$=(>>fg`!qPHz-exN8z9J0YCIoh0@WHXo2Z;L$PnvB!Z*2JJ zH<%QOSiWWhel}W2a1MYP*31D;qu#;cY47#n+k;odffF&_CYtQNP^58N(YV5EO|7>L z<#vl`Vz#a6np;5Ai)~Fh+yd4H-nMqLTL>d9^AwIgipPBK`wx8U(FpKHmw(`&gq&YW zmsrV&WezbT)evumNHP0U@wK`bA(Hzt@OCn!26P7K!jw$g?HWi9-Yak&siahFPQ4cyKVYW&!ha3xQiUD~%~Zqd^bZ^InLF1BI)m?>$baX6++>91SSWz+wvg zKF-#zARba^RvG+{6|!{)58IQw9sl*)f$eb*=5t|kZD(#^@B+$y%H;Is*@N2|8~-FG6J|a z8~@R0`;Gqy#*=Rwty$$>P`Ob)r`Ss>b}^^eN@E3!{e7CuYwul*4f>5Ls28!p#U_>L zQ9ZQ4u(GmZ?UmO$gRCyQWxdu9xBY)ukLd`!4$_$J*lPG&zW&j!D%O3~*g`S2sf#@V zS+Z3s3lFg|_)~gCyf?5!afl_%ubP6$Lz{wh+efirnqaz1+QwM&tT;hk2*!?o+Ewqf z93TV*swz_fm7osFP+y&kG?`ACo2_ik+eOcc+srADKo#IJ>CzrME~STC)oKkS_R0NaI;3uuP5m}jym@6Q;N z?`vOc*x`2s&-*zooe@CZSMDXcai_<-*qS9V^GId&RyuPq@BLO$Qu8TeVX8ZK3%Ff9 zDxMh@HECvQ*e#frJSa~YUe0R4u0WG-l}eY$6H_3lZ_QcA0F6bD-yz^y#Mw_SdgQ;I zYF&|L@JtSKF54R=7xJv6`MH-uMfX&#Nzsz1E8y6}aVk2Z8@yaV*I)@P2nBtO1h9B_ zmq{M@ry$3E&;glgcoE)gtZz_cfK>_(f&L}45{SS5v%URp@Nj#3@A&xec*}3TyM72G zYjz&C{*OWJh3kM6-+5T7Xy9U1_7~_;7Lux+ynXX#=lJI>AIjGhCj>-HEHPM(|M4F_ zXhOd&|J|SiE#Ss$p1r%?>b*OA_rBTsj~6ffhwb<99-gkfyM8x#x7z8!?=7sg^`BVP z>aSJRGqQd()VuW6eAjy9bXbO-(z-#@)GQ6DRa%{!J`aP2(0TZdv^uLB8=Z~L`n$D? zWzjV@r3$Q5e-&**d8a?C{9`FEsg2XsG+%?dGy8ZVb@umve8b3a8fN)n9CndJI5icH z!Z@N~(9apD>Q`@)hQsKl^APL%(-w-M6t_uy;TAP4 zQPp!i6dW-@L%3Xn$P$I^I0O)Q*0dqANVeUGF5)B&L4pl3f4Ehkn=!{&Q>YL9vLqf$ z9CoXb-nZFUUG>k%-0+^qj`VeldFDpvZ%Ks1f)*_a0%__9Hy*uk8&&g!;iO@Qmc3a( z6gYR>(+@R>^0ItN7Xhb!YtE}IYL)w@$EAKBV9zM4((A3lyBW>tb*h?5MPpT1jJHUZ z3fXu{1*>OiaMv!hSuTWG45GNuks$pxvg4ktEnMU zP?h{vs$uifTlRWY*ZH;bX&qTCmno4*`%_DZ1)ChSE8~;GqXL3!9;Sri(riI;FQRaP zsHo!?TidFIYvmqXpw-RK)9mAqX!gOZhM&|o{9u0579&<9w(_R!$nsBGt-6`33iXo| zvTyKkYbFhF@U&WH(yyhKW{uPNOgaW^~SHC1$u6O z-rVLXPmeddX(2YQrl&?2hrQp4VvvdRdf2bm)5w3!oarK3s_J^Pbybyhv_`>T$DA6Z zJVM=3eYsz&U)3y>u-OOUO%Ba^i(_M%if9?{Bd8NygQ5^kx8L}m|I?@>_ZF_1n)O|a z1TebC#zX!IF>m%hv5veB-b@$|n*VSVr$$Xme}8SwY_38snlUZwq!yS|D6)-i$}U`z zD;kAkfA1#jPxFxUG$=YeCNo)q3taVIM=8jhWG5r_U6_+m`y6DN4-*hW@{Fu`e8m~v z)PZ*|wf(CgjnGt|71}!?w+7STg*2${+?rkc^fF2-D$`ZqrP;cU353w9U6P8MXTj<( zJFEZQTVMSKRTJC3Ba>SaJ>BF(RXS8|{pJkoR2CjiN2A_wxM*>rp@ieg_zRBI)u>tNI*dtI5D$W>khDUkq&kZJ@x^6Yq9pei*W8Q z1`q&)G7BvNjjcPhTDC2Hes}}@bv6&+_SW293yYM_rX!27N;Pfw7i)VK+Qj#2f_Pjc zy7#Y*>pA-P@!ye7|9u+e)pYrRwqi}=LDGqmwKU9Gd>e%~v)SQ4$RNEEtBXWMAymRC-_E)&rlNXtv4ue|9lotL7BzUxxh;+o%(+FEfqF=Q|kn z;_#YO?{g}MH`?~b`l4c8cmq;c4jeoFsa2tr4F|8tKTp|Lx5)F$X1e%V&wsB#UEtF0 z!kE|de@nh?$+!JR_%^`fY{|DR`L-qB_T~7t2R_=qg=p!}pZY_j07Y_xZ-~TIyEA#` zRqU)fulq`iqCS}B7A4f4Kd8mpsT_EFvAStvenC1{k>j1Cw6F49(A69dhM7%}69Vdb ztNjqFafB378Y|{ju#|WOeYJYi_GjCDt(JOnA3|e3O^Gr~*H&#&ufSn7ro}*SjYw6T zZ_=vYv@2o%GVxac#dO1u{FN=B^egvit}!8Qu;I2hpA6KrMuYoph+p@Vix!ZL=F3Nm z$Vm5+la{j5Y*}fB#9A*zVLU(ak|-4ElWc}8wUm^WlG5)=QX*^GQdC-sN=s4ccOoh& zhJB7#0Uuj)i!BAO-=W}T7LD~>zp+J|JE-5#qVZrCUp2L@OuePN{JW8t%?Jyykr#`C zMn*5S78`sCNR`nCH9Zv_e$hus27Axm7h9s5?v)$Umm0zy`78BV5htStF}Wzhm6Rim z#kC^<2Q&P|r%a-9?<%331&dEv3pOM^AhFr<7Ose&Y%+@Y?o1+A9s1o|*;;V6)~rWB z`K{Jk{tJI|>rRcZSTn$RncRvV(>6XLac|4d#s0zmkZM(87+B->jv)D`8_wYKH6ndKP)OH{e?A? zHR@AEExz>|D|ga#E+%Yzg88etf85kRcG{mqM_cB5CYTwin(LgYzpWkmQnCB{QS9=F z88cP2p6qC3y#R@7m_`hG*87?m_j3z+N>h=SVhLYVv$ZT7&P7H+=+2owO)8L83nOU zP2sMoWw62UWQ>EwIdf(`G~EPjy0KqwRmPg@sx$b3l@~u@2sJKGG}vyec-89JiX=5P zC080Is(Rt}IOKaqlZYertrgPfSmD&~TlH-szArRFE7*F*5XafYLakvy_>5)%-}5Oz zPLkL(FaszY8Stdx;}I3cIet~ai1>Y+JSt-~Ao(pY=BQjwUb z@`y?Ae!Ps5es4C_UMO)>skz$xO$LYelRlyFtR=P3Wg*MQT)cA{yra>BmwFQRw;Mwg z+#5vK7V3#9;r!P7hzxfextqDGuIVZ?n$2)k(7l$IVV4H!|bk+gJOeS8|HC#r9x^`czNmDPTS(xtRc^aKhbKqF|e7fL8-K*nZ0(}Bm zOmAPl-~^p7J3=X6tjPoQ!aP`$8ik5XeoOU)8keiDxg&!I2E3Kj*8Y`bcw;~wj+>2i z?5_@$$^2nsPB}Ia%r8c~$-{<~LJoa5R36kDc#lcsg0Z?kpwV#i!TFcrXcDGGxC6d? zBI>J@*0XZNS#6h-;qT!~pI$mQN4S~W8jb3-ZJGnS9iJzoh;yUWC2n5x8|P8X`MgX8 zvprQ-`9V(|sASl5=5j-0yrEoV)rpp&mu%Yahv6U`G+G_ld+8ubn=RxpZ#q%dqhEHy zMr;utVw)91*m9CF;p5&Sh0A<1**old7-mo>ia zh4B@D0=5u*iP9tn5;D1M)+QFv8LjIX7;f~ev2(I>&^tUj?H(SSkOT0d z_BiOi7f(l{?TyAgG7!{v#M$F}IL>T)ee2HsIxV04{N}sE{qBED=5Ol3?5R$G7K|*q znFBL@3&`B*V7|NF(edHy?*3j6|Dhgltd3}1CuuTFgX_l3UMaix%UMn#5B!aePG&%t ze%$gAy^3|WpZNYNCu!@+4Hw%RKAb%_JxcoB<6F_zXEeXr@n1*rfa21riPeXc3myI- zZo*#B+0};0Xi&(W>9+N_dZ;-JEA&myKGf}Jcq2xhl=5o24L<4kKVb`L*bia%417va zM+ru;GC3=%^hz_DdDoAPafF~X%lB-_8GvJQq}fa)~BnZU3%SW%+;a77&yIUVZb$s#n2>#H+(f0 z1x0&?!g2wd$wC&BJ6l8G*xcsRv(6ggea^EGWKWSa6KNxn|QGhpa#|*3b8|6O&;>*qwL{RqaelCutZ^sL@!gO=Lt-F;MD= z9rx=uPQ78X9t`a{iKZ67W(%X8A{q!wo&G4vW|gi@%3Dq8 z=9_~IDctgpB;R@QqBRhB+RiaKCxaMUN~#jd&mB*3*Oagn*Rj6)`A!WV4Htq6-rDmU z0}SWf_dZfWVigC-J$MVug4z#Nys=oT3o~X;t;LzNahP6&b2;pc06(W#twcDl_2fPc z6AbUlbKQaYu^1r5!c;CyYxXfPo0+Ly?oWFd%rE#E&w$x@4x4PjjRPecbKB~rAzk^p z&~Ab9i*FQe_zsvlSImt;7$I^%#xhcp{f6+|0CNt8qeoV;#{5O^;T?^iVVSVm-{2z6 z@WZ*X+1FC*GqGM()_khf*r#Dpo#k4HD5)|0_6gIcXHI46CBAevN17t`7FZOk|wfgn@&()#K?yPLNNU$?&SY=}6H1P;V4NL<) z0**2%?5XTA=d0?iXV%@Dr}UB=BtjhkH!b@lcGW` z=V4yhN9MfIE26u~RXh1jUO)Ik7xuwg=(*y2opGiXCRU4|g^uozs@~n0uEnsfhPfh3 z&p61p@v`;G_n!gh3aIb9xbJy0n5;Ws4E0abnu#)ZV8Rwbl4@paE`v1#H$K6Z#6h(z zEX%|3WCRS6n*0okNPbkSIh0?cuO0mA-W#U9rt(zK?&FczE+@&|;Fy>q$UK+i2b?0ldD|)PPhM((@oZi(TSwX;QPCU==>LQok&qc0k z2-t4jC>*To(3m*L8y=TCQ-1aMwyH_>p8lG)g|?s&LM}g#18G%d5h>>8ScEx z+53_2wVQJ%-q9!wve1vl#20afqjoK!uHb5CjTJp7POdPf08SD-Bk;jh6khvG;O!tF z8QQk>@n3fjx_E=H^=Y)e`d5BBYn`?KItp%n0F(~X&(p^`f9n3OuWvpx-|_jz`sT*t zul$=Y0e~sq@d@33_2>L-Zep+jdOAIO{>{^;Po96h(OLJtT7Lc{ALdgxJL{eGwJhzg z(eE{JN=?$vGy+fA;=qp4)R-_+zTP zX2*CRkPclici06#9Qfa>Emx|dJ^_V;VP=x<$&r7&b5hyMeU|d{GRpjMGMECh6lHRO z77Yi6+V=TsYaF#1m~|&S<-0V__7p;To}vru#|?~b>JmQgZ&?zn@5s4959%j+b*t}5 z=HW%LzOZn&8D0S^?;hH(Ccs>$Nk7aon5!(cyi;#T%5M884s($)@OqIHLb&L1 z$%qT&w-f96J_uoIh}q>dk4B#7QN)W`c4mEH&cw%>=lZ@fjP>aCFd;&(C-EL-8JWU9 z+G+uMX_Dmfh!KvGfo#DVp`^6m{SMvm_Kw>GUyd-AxRITMo&BFrx+mnOP2S;cF=r6x zyp0umua3Jvitl*aKc7aU0l)n2ZFm2bJVu30FdFfT?!n3F&i+2VD#WGiCNW=8f@=Js zwH*jfomrtN6{-S^P-$%usvwJ=Uxr+26-)WL6p1e6ZykkM+t2!GG{Fn6!@S>VbqcbX z0cln93g_{?ThoHP-vr1zku$9C;vHn|sHR>UA3(74djDwu?Fs(Zazko#F}F*-oaIoR zGDre=ahpY%Qc_`M5}e$w${6AHX<>)o$Jcl}4K_sn>-KEh6d{5%h$^$rqV4lW zxQ<36!2MB}18vGl)6oa{8-B$gb|rCPltsLB$7pc0a)>r;s3C5UTySv)_HyJKZ_{e($t*`t#8qJdCe`Q8b`# z)wL~*mYul`y?%ST^F58iv_sP%oK<^jemj7w)s4u`ncsqgfrWMeUDv0rR1%-AiImC6_p|yp1FfCOO zmnL3aqBlw|Ty3;@k0axVS17T%;g%qme{Ih%3>+ z=t49WU;?Phl?`w5FwRP8G^hygYh&{K$FGilylEe_FZ~TXIqgR;{Plt!92i8@kmt<` zqS^8)$44z~+wD4I5Z<&yX>4ltLtToR`t9Si>Q%b8R&`@63|_sXZV3j4-nZsV&EBRn zCso+q^IE#!xaE9t2aRztPIsDW%^a{z=gKo!tKfxZjkMTe&49d;mydo|GuEN96c$R? zIYtXWhU`{Uk&3UH#$v-AOhDEgy6u%ul|~0mveq-t4NDQ$O|v{Y9Gb`j_neu4CY*Gk zh10`VhkRijvsFSBX%?1@KVYal9FJj~i`yV$XD{Idc&+&jmKOhxjaION^9No*N@wtdHD}AbiCCSu zy{HTds{PUwoHPqnq{?k##(rtKCGQ8_@_?NO?(8`2->j)|iOP9dm1j-LDt5maxr4NR z-Q{F;PP_8?T8V{5(yl#di`^(mtX1T+wai|97@Go%4b2wP7ap7?)D_0($o$nKw2Rov zJfxefT-8yiO0$OyfvX_<9wYXFy_O0pa+Wx45Y<>^GgD1Q`XE}vt;#CLls=+RYY_GG zru3P%Rj)k4wyzQh;7aopU3&%RAK5BjOv>-dg5Tsl}Sq=1c9 zfMG_gP@`^bi>1|~Ez)MOA=Q9kk;HSWP}$`q;_h;ma=42!OKW4{0C?sfX`HkJ(c>!E%Fk2Pln^Tp* zVAW%=%&DX^rCAjOd*kG5RCR2T{_wM88A$3a|J(y2RkO z>Uan!iDXu4;S_WWQJlkfgDtY=109l6DKojHtm5X=pt_f>0DB?5A%mDd1Z--0BVLF}v{#;b+)m!y78WJOUM#!%}6Hg z0!9gi{IeWcMYr1**+ZI2f$_U61O-$9Mct3Fw$eI-5tk11xzMj#fkLCWAnstcYEov* zSdRNF$ww{AeU_$TdANltUAdmeQsGW*19P*`;IZn4)9Q&PG*Nr=E z%X#3`EfQp8J@Y6Qip*+w=8VZw!54W96PGN%3i~4v28nqNvMjoYIol-XcJ!r9-_=o< zDYNO#n6=?an1|^~Mnu>t?hMFpBG=#AqFlFV$mRj|mEOEhq;Ey%&6Z!4Q= zjKgt%a@+im#v@bw5gZmE4zzuoRWfW=B|n*>%J78v3?)O=E#KYN(|^ zKo;Lwi-WHl3w8Ub(Xvjs5_1ALh|N^&1^&*`q-{pCw#7#v!%6qQ_bOp(x~*LKa(k#r zGo`pV4uO9*TtWu$YFzg( z@fNIxWZ9iH1Q&9j4g?ivO8x$0cCT3zOj0oG44=V^ zSFtI$-CdL=&c#Z7F#ilS6t4apDx)$&q1biH|3@_+LtHsDRj%=EeT8CKbd!0zzh6`1 z*Lj@J9gfbMo6moEK6><9IzCxuilaON6n2xx{~->?`9$%rf2|;kf80%f_OT*Tc?UM{ zLZ4gT`ZGnI-xxO?#?!I7mI1!@(y*VTgPEj3>4)W~_F>%e&oS^r^n9%?$INL;xz{yd zpMv35|7Q(epc(q>+M0its-9DF6vh{1_{5uEo$~a9@4v8bZL-_1#~{zORT;RP88tc^ zsdjf8iz?t}qqDWQ_YU5^sYEs^GmVirhXV?uC~r1edKl{UFBwfwR;O4k$i}#pch9Fb{m% z!8G0lkO!~XiTb^MkmWC`>fIM9?RFPwvhlJx6T*zMmH65E*CJ@)0147GxV?i$_#;$b zJIBX6KYto6XpOL2)H+tujfN}gE+jKoNz4!R3K#h=T5EKcm?215f~7k(*+#1E>MM(9 zbO__R%gp90d8=SJZ`RHr<}G*SpzfqFu9pH`*v^*&D{yU|C|JVGPbduD3C;__b(T&X zFHSF!f={#ee?08Iss;)Aa^cPGLCW{1yWkXP`d^5h)w zy;t`nliqBmN(8jROe&eC&ja5{0%y{{47x{$-GkG;<4FQI+-K|Woi6dFJWHS6_8mRa`_@c{j2Zg?+a(^ehiPn$xPi1AAE>{u z#qIY_S$Rh;C(aA~gueKNHhlB+{cN`o8!Z~yFLWQed4>UmI03#IX?{Zh4f}F%V>X_9 zql50VJp-iea(Czux8xWUhv9%D_OF683eHENzcmLwOB|qGcBe%VisJ^o11^lf@&+;a!KbcDJmSda9z}o`70Zi7nL+%GnSN` zOG$ZF%sAj`3bQas`RqLNhwdw*&@#Q>kRWv@-pXOF*OKbL>vC`vII zFj7^nLrQs{&4WcWR81+<+s8td_Ut9zh_-E-rWUefn)X9_H;3K(H2ba+f4Fy?q#o#E zE&L0yrXqa`5bI%M)!z+bYDMKT;af&1J^YsckCGCw^=p*{!Re+d^-Q(&I)CFjhEe-0 zEr*rPzaY;^FmqjJU@RP&YX-j`sk-$ z^UwaEeD;%lY1ZLiy`pTEx|@LXM`5~@68LxlKKk!vh-)48-Jx#O-;1!ub5yo}=rs~m z@&YR~DX)-d!SB94N`3xkUY(+PecMcWhL>AGb={eL5qO0@*)pG)wJa&Y9nCh$rJvT{ zRXa1zG7(t6>TLzn7*5>^I}GJP)ox_>j|-#r@8Lq)8-$!66{8@3cmAXIHch=f=pHU3 z#J+5V*j#%!?S(me-8UcWuq?d={OoSYuN-90@#Zu|7))!yr!xBI8| zoA>YSG?h3?T5K4J3L>_r-Nsx5v7#7cH1uuoE8F!h5kp#^W zcx&;E!?oUzOFI07j!WvlkvR*OBU(1h%d`T0XS{t0* z$@Ryd53l!af9}kyKsMxSa_?1Fj>E-QVU;J~dQWL3RcaS?q_&l& zFtaxA132L*V=w&67aEKtJ2(`iLkM#xs$4G_A}(Eoi$(tPKmW6QjyMJasyDFoux09) z11CR?2Vpw8Mbna@h?x*I=0!M7`~dy?kT*c6V-mDvLgseSWhe3I)}+NDll&k;#DIgg9L>dfMJzRb zL9zGuIz=-O)jWy|SwtTAC)ObNBrA+XV~1KBhl~1HJ>@;rk~;C+c75oGR{=9zB@0^` zd|+3-Ajck?Vcp&?AXTY^G&M8hDUyCY_E5fhPrtf9?wsz``5_JU#@;=Ze{KL!$~E0u>siDioqU)1!9n)T{e)z*ZZ@M*pB<@F`zE~Fwa>_OI|4;Gz^ zLFGa-OrY4etJbhTfHHYcrhtFu&!Pm#t+|^29{UGw&zSNo6Rz9LomG3)qj8&|R({+$ z-g))v_+E|Z#qt~2P7fQ}J2`25gyD7mwBH{5<>2tA18t@kk zYhP3(mA{8pxNxz>LMmbRN{gBLU@K(77D?50RUr2oF-R_^!l#9NgI%Qo5%o-ZF&!hX zW8E|6_wnWwTb=QMhoxMA9AaH}vBk_QG1ThdO%pQ|haclH-uBAzi7NAT`6?4UP8v<~ z8-bWjf_~U)C_c6YBQ(l$cFXm=1U1>xpT5$lcf7ar3aOKM^3!qmbkBWs{FC#$QKZf`QPs(A+mgy!{<0FMvSMc#0sFp! zrB+&~^H|-ORqnM_u0@AXCF22b-B=Lwhxc)X*L;E2AJ@9V*Y6R_BI7Mcf*06Bb36(Q zp#UE>`Nd)ZJ|e*5lSBl3B7*V>h{+cqBzFr0`NKwm{F&Cg94WF46p(4vr zk6o_ewIJw2GM6#GYmgfrhUA=rqr4j- zn?uBw0XTnREdQt=osU?>&mE@oJ6*%OMDkQP#H)y!@|%)Z0_ClAM znN!I@RNGZ8bNO|OAWCiLYiwkp4A2j1azHg(@?&gOLEx!3B7h!Ni8VVv>7F^l_DvUR87UdhG^SW5irxQYN7nK@Wd6sSp| zE@1QNdS%{VN7*rmtlVb;5Vl~OkyKovtYNdJtJPg!TU~a6%b~5g?*$L87-!qmTxU@M-ZOXpR{0w3;!JRJD?HcT7)U~vZIMQmQ%ej27%_7tibJ$zMQtDCg7 zj3rXD7|4t6o~FT<{>J+H`j$7xk~Y6m6+XXl z&l$8ll?j-ujZIt72E{$-M%(_%^-9ZuWrv*h2lGKF&xSV11n%`NgBo?6JHD>v~?ln ziq7j|U1irVS5t4QAnIsBszK`%x#v8qqr?EI(kLwBUE4PgEF3I37;jrWni>Uhw&m40 z8rRjfq^F9y5?5MZl?B*BO~?9NSKGnYVhcrtt8Jx(yTz6q&*SPgtW_=6cGY!t4Y-J0 zY(u-C)K%BGT(ts4KBi~Roas4zW^Vt2?jMbt z`4Yay0)kX7fR2(tguA)9xx2Z!xh-D#2bBD3S~g4JpR6t?#j?|TXgC?`PcN0NGB${2 zZcrd)ZBk>`P2Gp;E{wXJv!w5zfyJO0HS!&-h0P`&_=Q_sJ<;nKy06>r{0Du8z1?;H z<;xe%v%eniF~|LEuKXqiHoScz6nG2`bdIxTrJp%3FKK9kq!jft`L0qJHS;hBN%x)_ zjb?>>my^oHB!yDDwX%J~JLogFUotbs6Ba4LD>J#{fj){wzyYSXA!!H)LzC|+Z^Whu zwtLD#Q1CVTMkh4W;EF>ZUG`aS`WOL8O*`GDv%z>?+-)2k9g~UHYBtWA?Ze~e7T&gT!Ze?KYgqHIhHK8Yd^sR<_Y}Qh-91VKMlGb@eM$qpfor z5NQO%p*z@3*y)9{V&WCLNrgTeV*sc%!`^JZ8gB+GbGJ^u;n#;w=BF4rfbhq|gCFUr|>_6ppl00$nH(p zeT_E{jFIjye*Lw53exoVo;z=|d1AtQjxEm`n!-LSWDEl9ut|K}-BaGGzs2rEj4i<4 zydNmhLmV?l*)V?awv+JiXuk6H920%AEsLD>>BGP)O2jRDMF*{7Lb{D_tRrCETGHuw z8(OOLr189hWC~TQf?3bV@}7*SnTC?bo_ab$dr>+-iR3&uN>0Lwpeb$&YSUmRjf~J1 zbgwucjKU&D!Eq2ruIF~`rMML3c~$qegSgk*;PD;5#-vw4I+7S-Km~$m2i~8SfX0Sm z7LGcDu~(M?f0qpc*_haJ@dltP{>~eG?>kcs)J@-K)#mk8l*oMw&hAvJ zAvs!1`dlsrp)fPEvu;B|Lt@>6vTs(|hlH&{Y&dNzQ^up{9>Zk@XmwcTLhLi$I`RCI zZ{t+Lily(IikySnnSqQt?k}!(slazR_Dl_m;KKRA>6@ku`CfKSRq|Z* zjwug-wq?dW9cUx5`b|@7E8aD2tp>~On{pfXv~i}y1XOm-?DWmJZRTA`tKB#?R#$MM zxfqP+eOcMf{W1+-%dey*MXcRyBLiYf zB4XLGdMv0h*e0}^yT`3P8e$fVDW$ly*;WhM*~XoPxlLoJQvD8Yzr|ehnW^S2L3SO* z&yM$wYhI^Ex-jW6Gjvc?D?xS>yboDRZK-&o(+t(cW(jVb=uy~TX!ik*YXTY%ZgGnM zz*)NtRuzTY5c$D_2kD+tmbPoF^l3`e%4S~@{lP4nuVf9l_ni&8=%Ce6IKP?nvfxVj zlegPAJj^JHNVrsDb7snhwv5%8ti)tUa69X^6Ai)6RMTs+YNXrMS~lWZZMYMsxjF(4 zGwz&>$$^#z&tcDQ#&DIQU}<;VHAmWS*)ASxq8YnGlWMU>cj;Ws`MKde=*;KgXgY^; zFkXX`MMoC@EQ}&BSnJ++Z#xk#YC4+5pd9ub8*RP`pimivRcRa@0@m6BFI}KayzV+&mv1fI^!K+A| zu3p`9!~iqwP~%D|G2+blaB@{^q&2hWMwGXt>RE!cVdM(A-xiWkcckAwX6-s0$Rv1hJ}b)>ydBhsEZGD`;BV|eJ{Xhk5}Pa%|D z!ZGCYj%1fg{7)xVoSPM_EM%N(7tR_v&Q;$LKrW@YJ&s($M!gOvm$n6dtuf~c_qg`g z;oa_#x@I7?R3fkAsIB9ut*F!MIBM%SYL5A{j-%%I7)qIS{Ir$EPrI9a7BlWGFKr zI~7ZtkF9NDR!a&oPKQc%OLXZO^yT+NzGaCqp=}}ski{fATu4rE6j=}91gdKxZg`DY zfl9hWOD|?Db!(SMPgh}_L!8hF^|92%Ls+y_9J!?}NmJw1ZcC`@W)#Mx;_liu$#+v= zws~pie=t5y99`PZhCJO+6Me<9+j6?7iB!p`&L)fN8#dh%63cNU_@Tt0lAMhOL=(ZKt)l4k(GuP z%z@jn0N0Gl&IA&Uy=nL+pMK+*6H>plfILAV?HrFwm$eCaQ^MZ{FR`y1(MJ;X*tvuc zXT@v+Np`7FN&lEh8KK{AO0^4s18Ga< z)x3zPSyN8X_)7vSR(03!VZfQPyuW$lZo2dXKua>IKg(+FD(_QOz?o6*k zr4u?@2{PttWJ^45>Ovt-)m6xZS)^&+(F{Uf;?=AKt(MAMx%x-8+<}^zS*z5VoB7=C zC@!`;*bKP6ILEzqcZRPy&xcDL%x`fh&wdtNQrobi<7@V#>n)D0$x^E7a&Z6Rs%FcO zSD?q$wH8L#!suEUU70Y-9b*oTc8_1295&CG?-C?tqu;p4Y>8Q`{O#!Y=OfEbzC3eT zDpgx{^C$;X&>TmX%T~9M$vnlCt8U}2yT6f@D{ioV9qXImFDJCJ)y!w*@iiGEz%^A| zm`9;c&)(wu@nD_+$Z#G?@gU0LBOYlm6|5&yBpvfS#DFN^A`N*$7-Db?BLK?N#nljE zqVS_kNrbc@J2E0!vEpcn_Fa!r62*4gd^-2!5tW?GciW5c>+$66*!6xoTtx7Hdl4-< zLn?K*X&?eu$!JbG+|5)}pqx;epUm?I)7bF#N!?w$$9bpQ4M~eJ*J+%#kB*O;ER+V_ zB!B(2J(!E|8t^P42lUQ$Nbx0azV{w!?viS-4&Ua(NaOz6SAUk_NZ)9s}HO0flWg$h9N-o0#?K_HSnHje2 zrKF4njuMvq433gXaU0CNW*#S+%NAH7Iko`D4Yn&bI()KW(%*rug+b*_~_mlpU%ZP1(ob%0TzR>jzONFD>=(Lg$2iU zw^F=fFITZ-oy*X^Tf(h3FK3O1N>^{jq$R=f3qDn1ajbf60Dlg>-ejzu8Z2YDn;u?{ zN9&@eK3N0oB;_LuBQxZ=w2t7kWtx*&IEBy!bv-|rO>BUiU$*C3s+&Y2BaEa1PGBaR zR$-a%ouKS8s0z+rMh9uop3+EvDkah4-+qb6K=l@*Y0(^x63rN=<}qX}d@$^Z1d+5- znO3R*L|@K9NA`}lejuHbxO)-ZeA;g(v)AE_otUnu%f_{wwu@d00V?9{g&)pllUbX( z8POKJPUO+2JgJI0OX2SR#Ox8?F~o3%>ri*pv)OY-^B&=b^^=2>ru8Mkpsr$J7F&#= z;}MxBR>Oc$Hu{1x!@s=PWCb@dMp+sX+|8_(60J6=K@KBZi#U%`JAt7X zE`wyUKdh>uxX9qQ<>{u%3)&m!6wN%;d_?>dG^-EQxj-|tmgw37aco)vP-GGlI?BPb zAec{uDtjReW6hFr#`jp{H)nUWKya+utFa`>He0RZ7Q}pGq0p?>%2ETYmqL=Y#yZ1O zzKn`J)eDWKVar}CalF9$q3#N%t`9ojCEeP1LelAw$RTO1vfJu@hk))GDCLPI=)$p^ z=y}72N*btr>4=eckT8TFL!#$J3zRFtv-JIgFM0H^qhaqJ2GFwh`Qp^82PquG(>a^E z0b2GfZTFt}3KvP*#a&#k33V_jnl?Q$@i<38Mh_JqGNPRx?%KwvXa#N21rrHqE5v~q z;*+XsrczW?gYaL3;7>~4>oAMcYcwa%8Q!+KQ$g z$AOm#N`&P3%+(YGDQ4y3+}wjOVwtub9V0W*(w;OLdA!#0wO2mg)>`8eD|ystyk}MtFi9LHG8g&Rf|3dy$AV1LD>51) zGrgwir-|;`q(mf1T$b9}gDvmkU4^9yzu3N%_&N6A9c)|rkt(QM4<}be|KY>x!^({x zT&@7hbjsjpr6f?73RU_H;9yJ+$2<*r6~Y!`|9o4@cX~^>I+D2CUY-UOMbD)xK)qkAxDdNrY{c%qrtqsV{2RNQMK$FA!}EKU9c}L6jhCj z-}}sz-D8s`P@5#+F59+kv%75Dwr$(CZQHJ=Y`e?0UEA->&c?=m+kbK5K38Tc*Axjp zMW@FYa(c56$92{1!HOQ9RSmRn;JJ>h`og;`GvBtge!?am_&mO)@Em9w{lv?)oD*lN zFfECqz4MbBV0|cDyA{4|BU*ul1Eu72!5ZDQ>u(-v<7YH2=?*IYWiEkH!RVa2N>)^b zpm6Q0xv_F-0it?*HbIU-Yi5HqMBQ!ar7E2h_Zx2Ym$7594`nTgpJE)9~3BEWO^*Bx`w4W+lV{lyA3&rFUS)`xu7( z`*t8?y>XA$M}>}xuu;S!ARjP&(_d^Jg=+2zm5AzbMW4`UBp+Y?C4(025|t+DuS{T< z$EMay4ioDAHD$dQyXO=k+`)E;Jrj$Q9DfAO-6cQk{FdXf-lo zUW8mV@~DpO7P?;KNr?ERCJr3mKwB|xV5Tx`4>CKCaiIB> zDhy>XDP={Z_S;DmJ$hyl_Fgg?vDT?BG^oDKVT~C%qO;3Msl4jEF^DZkC1Ds?Z%d2E`m9C;p^pg$E8>9S< z`5bBTA>uAOk))0aQ-A`{d~7EE=H;X0h&cE?04Yswm}S2nd!0p5en)Ooa{wtF_FBNsdnUWLF zOIMAS;gbY0*voo^IY5!M--+1pcW-5tP9{REIEMp}_QgB$Y8;ltZL$kJ)}Ld&!v#UL z-L;qflHymYa8+&=u1-lnEmKGzHR`M%J zL=17q6UBXw?U5LD&P(yPWb>z2h06*Oy|sXVLd_lTEafC>iLXiFUu<1&2{;;?Z#qRe zn`ra^fJ|Gr!Y`||y&IBUFk$Si6S%(nAJm@vgG@$E>tOuXoxI1`_&3G;Z-=g=yKLOB z+{MM`U@9x`zoQXTdS3fIvuL}Fs~a}qzALs(877r?^IMIFy7!)H zHul2>;LTIUO%6+(pC4xf7Fxv>w0kL(0<*N;Uf#|t-X7#>DJu>--QYMGJu3rp)95s4 zIBCm7XSeuXv^cuU2(hxW*kNI>lK&Dbo_F@n^{-&-~_P{80(0&r~q#^HaJ zA=9daD&|s(EOreBSR;y(F`UnUFLJ#h&vd2mv&kfj4T9(PyzKe_Oy8m=(1zwx7$X$S zWQDT+b@S+Ef8!#1OTJBkEUze_DrF^`1z2=jD2AM{(<~k!zB_uDhg3J4%96HdSQNU8 zV0Q{zyk5ybGX0{^cdOzgMoBcnjua41DEe?2FOoXD(&sexiss0dU{WVta(G=Kp;c@8 zSt>1!EIJ%C6;ddLLq}`vyjfP==hB_O)*%%dYDQN#P{X-*Oi<;oVhIdRvtAG*t$vF9flyf=Tpv`&XM|M{%G!)*xP)90|?xHn0G z51UfuL2PwjAfjZE4-$ebJvuE?;zXl_EdgV&F<4ypCw8S4X171%e*={tc)!=7`j=#x zC^Q5Yhq6~7-fS3(4D7R3s32sGpoPFhiw)Uap`%r=DYl>O9F%6GMZ=Q7s7Uv;#2tXs z&$=>5Xj$@RhVavFg{e{%S=Tq>}>gG(evCmrP#4>yX(?d!*D>&Mpb7yRRK>e%}ka=r%}z(wS;FLt#5*3!X82C;qy!9mIR%zsbwTVdWD z_2>)J@Msi6;`P*vSc$t>6vk-zYa=BK6{|Kd$Z_#ZU8Pp3$_t5F9uJ6tc6!*Y3Q9~M z2>dP=vDjIL%}(Ytd4zO<&}1+xmpvtN{L9cQd4q}*kMeX3Sk*8ORifJV%xsxhg)Alr ztQ@E5P!`k7e>fMj1aF%O9?_zw0Z4X0=`2kES&ZR*i(tNbms$5%O!7Q>)oHk%<(U?? zmNDDe6VQ7MYJNH33wHf)e>;=dAF5N3UwJ6>0Y*2J;;IdN@6!FI9UNM7Jp{VMBBR6c z*c?YeBQ7alvdKIE`Im{M#wzi4rAwP6v>38eYI!eMnnY^anI&!ksHKz9?&nj7FPMO_ zbZw!V2&l0DVL%5kozE(PMqmKxbYeF3yme6Cizom!dl9M4ni>kZ*(gosB78}Fz?X!4 z(|tll^|v1Cy-l^`1BqPwwxSfhm=21;k-&hfQSuy{=HLbcSEqnrneo%3;%~)-WZ$EN zm}I=|Mhz?+%~HI{YL_mXN!QrMYi%q~YwP!|hRK;?=EpMqo{M?a)XV2{L>*`8Hv_(Z z|CoYw#u!%n!0Yl!Py87PNsr*zzLA>au?5<~E3BK@j_Dg%##AbBAH2ovxH@d^u=q>h zc7l~?(#j)+6G#-k)0!nA0fx<*tl5lBmQ;7DRH0-B@6v>V0@6CbkI{A!W6#iG)rqkj zA-nVWhwfKEd|cg;W-%@_#Yk*hDWXH+V%?2#HM*Gyn&|1=gz$vAIb&%5&SB+5Q{5n9 ziJ30?U>AT&a!(@(UnQfC5HIw4y3&<9g(7Re5;lVOahEXmHsUn8v6`#p1 zR*Ow*kl~P;2mYNl79HYk7)E92f{@h7AqqO> zB8bKkD{bRcW>#g1p|s8jbAXs{KoJSLXb6+AFefFC8+crzflp!?tpSXn&|Uz@V>-0w zyw!`nSw!OBLF!!#j*)3c8ej!%{(6j*dx$vbh;_le*y(o@U!MVAWb}9beFsKghnJC( z>C+4uX13qw<>4eAQjwggDl%R~Nl+l2ND%w0G4NVszm(I<@J-=IL*FaH4&#VR=`mL& z(Pz#RL(xV68hZ?>ZciNvR0i}eE2mpDF8YT6ny~m=78}?7%FNPr5}_Dx22pkl7nCuz zg}-lcvDh1ihAv7=I&?9}kF|z1CaWd38wz15&VfpEo)#_qkM`@7y<&$Zy%*1^sjEfo zBV8zEz^xATL@^T)#nqz5LhYz+Egw{Fu{~kNy*@PflS12I(c{2omx+;2?j-efPvPsF zDk?an`H#~)7W_L%crN1U2_n#3-T>?Yg5eWdtt#EG{&E)5_;H~cE=Y;(RtJIkSo~_q z>L6!vO@P0F!c@CpzkrU3aj@?9=CzF3O6~`(rUEiF^^vMrpjLta8JJN`wbFo42x}c} zKz<{N6jKtFy86NOna0KLX~#eqr6u+d5f1)qcDb`cRC4!KVw#)vw5h(Hj4e3FdNtg- zrorZ!V)pwzdzG3@MQU>x#n?VO6If~&w~2ydf_44E%Ut?U#|x1YH3-^cDaZ{+7jBRu z7m&%y>x_;71B|NbNmy7cHo+ok9kz>8ji@Y~{aq!OAK3xKUCS^V0b; z>_a8b9?$ilUoB1K4^0V%6GNK@oV_Daa<}h_69)*H0J;B*oAyu;L#fri4M~8O;;3+fiA08<4Xp)0`JB*1E;U6d zcCY6O9E%z2u7_CB--D2nzVn5bPbz6DXKym-=>cQ7{7B$E*5 z6&K3Vctzrzu}HCvNvlDklOrl)xzdTCm{8m~cz6BAk<umBwWQu3|e^9ykSIqrx>G2Q?LbJCBd)Z~HD|Zzn2`$DSpWu**CMPYb z=!@qvR4;0J?##c|f=@YI(5$f3!imx3<2==Fljs0&M?ykP$Iqbq^E zOWDsA>XSzyF#q;HRQB!%da|Ty>3~2}#T)dlNd8F9HA~ksD4HO=UKWo@fN$@~S;8&* zv*(#fe#`!~LrA`L_%*rR&5H)4#~FB(8RIQ_KT#_&z9VMQ?7yqgOxfqzMQ7qLz2i*W z?u3$$1RUiHccVDmvs}${@mWwKL;+T~PWTznG=l6C#(2@I_w34p>7^1pC{QU=>kBoI zzQ-X1h3VbAO-MPtMvSp8S9b=(Ay(TaESPy0p zNx4<;5tB*9F%&5?lVrGg_iZ$+YPRoqet!AlseKVj)i(3IbDsjcP2+KV;YorwH56HU z-uj@!x#hWbFrDcvlK=gvmqtCBD74W7A!yz;1Z(}?*8tKF3T45Sp;*Cv0Or1_i9qN5 zUn$$^uKN{{YahO0#minhy5fp>t%v|fn4e7)Fv%Ttn%_3(3WqL_tA&3eEz-iA;)7ul zxXYju!E^&%+&F;T=lbv#Q{dfD2~=sb+c>VC>a>QB*Eu5Jtzet&WeA zo2$&AO1dq3jrFKtd*LKS?x13%$MS*}75>I@OxKp=dt$J{hkw}X^r>R$w9=Zh|A`4d z9*};S^7EWB9S8+itf&cuQpU~JKMz-C4O)tvjY;VRWdmFM)@UPeU-VY~rtqH(Y2WlN$#P*j1IRyo-^WPQr~0|e8ecEH+_9Rj7|k=U_wtSN!N5n@+C zR!bEP%q68^6bh6#-bXTs1Rg9guM>_sECZ>8-K5TdB)z3;wlhHdbIvr`cax;@USJ$$)qR3xs@wyZ>7kct{`a&Eht5Ex?0 zD7j$07vW9IFjp^zu72V2@0Lb}Sw76z(Ekp0k8sW^iCTw+1XbjOr?{T>i}Xg$ZL`cQ zrYUIqmte`L%7vqfa-iO8jx7hNV>+n-o9re<%|X-gwT4sO;a*)(9=4fG8lIw_v#iT| z0}`dUJ!ylG!r%3aILIiJ6lrHh?7Ht;FR`k8jkdnVzvNR6e{8h$dV2!aLevkvup~|% z0}3lx#%Po6!JuubEaBdSN~gM~JAe5tco`rzrdGb$DSh;N3Z^C1+N&^jsCcFhK zm5Ek0w5@7Fhhx&tLU7vrTH^ivWan^~xpVbU)Q5-n-Q5cT$T1gmWLIIb>V0c|D zhkfB#X)?0O{*yMM`5Cv#_&DpS6?{@<)yN+g;07U?%l z4UClcH(B$brf#w{wE-K6WZ@rmM~(QnV%{`tu9uNf!c;c6T+2Ifgm&=Y3NzEyD5Np& zBwt!jerSG?oCbmUeR6*2Cf6eoiK+5IF$m-oQc8F`BPLzy^zR5>?e+{Ph*p$7%pY)K z(M4GfSZ{iN?%^(6j#=xO`xz@zW7ECHTPaZrTRbU|RMy~nKvH6(OY;z_SVxfpg0m-h zRzLQ8a3`Ojh&5xb{YG=^gK3AyTi4>zWP}DfZsSgd`qd$u=ZdP`Pww1!K6Cp5W7 zZH@~a0Lq<~tQj-zP!C=YTJXEAq7iQ+bu#@eZmLSuKIWm#tUUTjhISby zv_Hxqbl2tuI&@l23d4-wXOg@Dp`E_tb)SOdl1$e^^?)rx=n5g{g2!=2M6{R61(&x? ztax*B96gYDX{3A(T&8@E^wFd-BT=tf9f6UO!^;*=_ABajJ9n6SpDt=AY@077E83Eb zz)aONJf=an2YcN47!ry1L$iy>x>DmJXm!}n%JfJ?_QY^nCDdEl0Q%keMH{OveUbHf z9Px%(Oo3B4*XRhckj8u&6=kQAx|X!*cm=Imf2wm!?|M;S1T|M*89E^6r(3doQ0RY(Jx-@p8m_0 z)NQl18x!8kM5ib-P=NF6KLtrL(uMI*dWdVYIlREISVkdDU*KD3MD z-%R*Su8!2uEUl>|685z3c6#F53BLSKwM9owXa*A(1*+$q9igFRb-zk+`34o%hY(-| zt0c{C+w)juH-q)7Y-*n$*eP(pT*8e$vo-r&Kf~7kcf`*8-1N5V9p5R-<<<8GgI=$B z?$?uhoX3sX!wCl!VK=IP({#K5AD30&d&UEPk|>q)4@jsNdZz6mhDp{ILC858G5(tsXTFOz^Ok--=jHStP)um!_ z$dI=Y%(u{EFbC`;J3ovO*TiyHlz@jHt33ME{Gt zh~fjX=p({Ym~G`aU&}PF8vMEK>22BE;9ZsK_IoD3>zm!C6b8qAB3^1v*$O zkE49S^)=8nR{*JQ107e4$-gI%-A5G8{&S-{cJT~uPQvfX3`vKR+|2-u;$2bHqRurJ z54?j#*8u(|)m(qV*cdroW2lIG+(#F1XmrJ5h5H{Oxgzu*BH8?qumo}~NS@VHyZWt< zKHWq&7wmGT&7Ld&Lfqz{1R%5tt%9I9w*A$P?Ez zAELM43TC28RbY&Gu1jWZbdShc8^-tbb(~7-4DHG6fK1wrN+lO?zs)Sa#3Y$|%`D|U zj?-eI=|j&V$cI7|*&Hp^x@@gU1)D{T%5K?T6_+5 zEZF(dyPsg>)*@F)#HUg>KIbG}S`~6=jqO8gTtb&1)MkexF5m-XnZV7{I@qT_ESSqB zhW{Ibh&r7Vn?rMU6G9BaOrLz&^12HGo~Fok8GTM@VbFg)vD`gleo%_JYB8lrwZ&S1 zOOL`8_UKC!KRN9X3&VC(z+|vWvJkZjpe{g)(62+z--p)M88_d`z^Jwcfu2}+*kQz< z9L%9b)oN6xchFw&_;UA#<(H4AQ6s>1S-zn>Guha~8`>B#&qX?W({p@gd$Ajg8;>HX zxZr_Ea=;SxY*0JqG8ZRDavBz;b{zYa5G7YKy~Pt*nUMeW)*WPdh+^5qT*m{YwPy-O z6Q#R{?A`?4V884(+$c_Ei(rvJ*jP)VRcsTWXZ0F2_`CMYr8t78_?r8pOt8*HJj_KL z!iTz6h`Ts?j=MN$)7$om2oLt_kUM!uQiyA7`cKq&AG0_kjFS_9)#~kcvc+?oci_$T z;};7ossl&xYhn=m795~g`Q>|yyRv#OXWh2M7P)0}%_PfVhryeK=$OC>A=&;a{jJhp zhSd_yRB7f$+1QDP&GPfJl;rAcNjl23hG~zt(j6j^63C-wgtrPwJp2?LGf^Ca0ieSikYaIazNd?6`8Sl+(ufNpmYu_NJm3voQogcC|HCP8P)pZ& z$-rL2PcRCbXA``-s##&ih${6-UGXPtwWig%#?MC-wc{UY1){L zgCiuhe>K$@z1h{4U7$Xj0xX3Ih6aqqmab#bNr6X`Q&OoGw<#Y1ZG(|_X!h0^Ru zfL*dDMVy?vfx?H2)8H|FVk&zs|yE}TXQ&~@c9i!Hc@N%($*bJgx% zdtpuM#w(?+?qsum7ZAD>_oqtuPnsp9r}xeDN*Od+J;*F=4$1*oO)x6%-X6=ND{DrCC}VEr zD&gCHThE@EZV-+EHaRF${R&l|bVb1^2#FXPtJ7VpA_iKOK}Zgb0hz~78KJ;UgO%)W zz%|ejoFnGC=CDWd2GpZUCv4*QcYS5(8e!1i)Uqt>BRQ{w?81z&%((EpK+~rJZVYqQ zCuAKhLUdW0Uy;&=f}{22!Ctwl<@_Lf1CO3uzh1uGk z)2bKkM=~R@KC_+)3~c?L<2KCRB-Rj-weGda@)hgOm^$ayrcta6B4hB~1kvG;wE}W6 zB&%ekIq*E&j5R8yX=iSbr?~-&xro;ExLpyV7S`p(0UK$7<0p8eH*^Lkuo1Z!be-Fb zk^PVF|36NSSFx;ACQh1nMj?J)2oM%+UKZBX%0#Ux0PCYS~Yq`MMGM+!p7&A+6SfZd2{?QAh4er};A z!?iAy*wTlWsbwWQWrFJBPz{Z^N>h2!`{Q&5Z5Sah{uPvVQH((67VspMOFMPkJTcdV8c2(2AJ7qrxX zz|1M~51_Uu$R?B`5fhdw37&d&Xk2C9@3sED-thn;jmDojhnZ883Tmk&bt@VeH@e6p ztn9U15cl7zrJYon;B0jjNkrGx5mYi9c_NKP`d+%!ubHUxEW){mo4Iux$^_0L8qV#h zdc&?o0@<)A$Zv|8K>D-Y`gO}20`}az$hGzTyX!l-Y1IP{C9l5K&%4i#$LcLUF7tN_ znWT*dURCMR!^K#nV$lAPH`GDpF@5wlHTBz> z%?&zp2#bVMn!x8M=qv=zKpsyX-BtY$V8k8a9w?hO8%^WJGp`AiAOgorcSsjt`Y{E( zz+{d(TcPM+^;NRSPtiM!%C5LTcFf(Zu|fnm$;LlJ7U(t8v$>-&@On< zJ|cc&#&p>l5`e-Fed>&2v_txMiV4W^9>4=vo7EKT6Co&XbZXVekde zGoXw=8yZo(H#@(|>^UrHiS^kcnFCY}loe>bYq-J7{Tg(5;J$`YdlWsNu{ zTCfb^LCF!gG>2K-JvcGpj-T+fHVxw{P5we^bWvXh`dBnvdYT@iWq>GjRd>3%-;#vW zu~X~{{AGr^qlh|b>$*tS=B8F=2q!8G8{#0jZ~w>)CnA*7gBw}Cu4n0eb}COx4d`n* zGKsdCd{ef>|-E%Klz==@zhw**n7?U*FRrZKld9H#8I@==m5Ncax70m|Aj z-9@zMp9*xah;yU4e{UKW2Onu>NpR5$Sw~*(7HY)O9<$D(1^F*V*HQA1(baDM-;B;n zN*8wQPlJ$~Y#ZMZ5B?)`$e^KNmhwoLM7_qJHP&fTU=n9e$^T|_j&A=iqf0wz02Au9 zn?!gx8n@s&G|q-jP=lpeMdL-zzrxhLPeq_cd!7>3`s-Ay_n3|emheJN$rNJh!mlwxgBPICY4F7LMhj_Za>HC$ECF=i;EKZUW2Phc! zAYVZ;7GuV%o&Ls`OGu6qW9e4vN*@)IGEcGC{-m?YbRIUL&vCvYom>fq|ChZ}E)?nG za~Cs;R_#PoXRIv@Si^a{ zb;*6fR85UplsTRuwtW~HK4D3bXK;?ULEe;70n86Mb4j~X`)mi?-KyK?Y(il%x0nYD ze&`yv7M-eAw?r|4!ruBfQ<;V1?gRy8IZpNpoP<#R^He+K#l;b>n!2*>eEfVt#;GcI zk1mrEjKF{==HwQEm)*kcOl(UeK@wkLKeIudIa2`9iQ$?y7oID<0!~&jInBmEdet;I zM|rev5H28BsY@CG$4XB3Ku$)^w<#SVG-du!Mm-s50;F`qCDrjssTDC$dG~(=oq2xo zMM4d}azuP)n8qr^hK6)7HK$3ziT0(ixKrIzbL#d@t8K(GMFi@W8ATzQ)cmj6i14S^ z%34>8Kb+o-2f*zsPh_C@i)LzYa^Zyf{m)d;9BT zXW4$i2hXiHM0I*2Bcn5WsoRwyy0Zz0`eDOy=(Eb!c(Ay|0Th}^Jb;Jdz5`raA`1Pl zxZH6LQC$JGOgSaLo;`lj0(esW`RkplMMkEtwP8u;*9E&G88Mk;cLmH@hi?vgp8#29 zNq6ZR?wo^iBfCREMb`(

(NQZ{fK*>)HU^Fr1$nOS8&D-kaAN&GAU`vNRaFpU#4%k zdneW_=b`?S7gA!mC^E6ia|_tmk;-)OUKC37TZB&&=IsSSD&?(Jq4n_Y!|>R{1o%HE z@kHk$50`bLUSx6Kp~ZEGb+_$+-2d|%CbiAyMKCB;f6Npe%+zH%IXn}P&gICClCX)~ zy#45)XiOjwm(dcBbto#KCTMlynwE;{0D%ebjXr1|M}aScagma7`^Ar6U}$|4hWN!*DcTuxtfx+bY#&P&U$-=#ns#5w3^X)xaoTK?{O|q=*jI&db7w89&-Oy zInC*>ptP%P>1WWH4F)}ODsT6mk?+0ny*H}QSxd=nGu|k2!CzjYBWt^gZ9dRY27O{l z-)fn7oQtqjT%YnhLO&Q_pnfc(8n#@Fp+fs5&$@T1pLEA@7WMi~5`4Q>`X4;Y94Q=C zjOPT-VSn3g@_~+dz;8O(H;K=66aK(<7Yg?`syWY*lBfSRicFaZSPop0s57xBU7&;P zWx+c%u~e=KG)Pnuw_`4>h~j@5{er2OC0wAB1Sd~G@6|mdL3F-d5ME^(=K0sa&z{c% zc+*EkkDEb2unA^7hkY0E&|K=dBD|hr5C6EkxaoFwuWx1h6|S=TMMXg>x~{=_4m$#i z0M07Z2l->hlARrTzBA*tv->fejsxXg7`@!q8u%A^)8&;pf++<`2mMQt>W@4X{e+KO zRO&Jj7NwBk5Y=RJffwtueic2)to+MCqEEuA`h>knso_0)DSK5NIE4|V`h1=0cn3;4 z?7<&G4wGX(@D~h=47iy*8^1A8$JW65hUOfh0=N0!q8{M-Z0RPV$1EEK@=LS5d_*~o zHu4jxdG%ZpEcO7LB(EhX6cth246`i`?E=Ms8|G^@Y|sI`hkykRTCDS&YxT* zLmPjMg#>D-0b6hpIq$Y_0?Rb_ip<3 zCL?f$Vc@H@R%@-Auhs(mT|T2VX1XD7nt1$zUioPp59rp+hsf`BJiw4A~2lW1joXp2BG1gm%-;`{#R?WXnqPpu-r zOhxW9tYk0i#3z1dRK*-iZs~U4kB>ivdL;n4TM~_EA=46$|2XI|Tdl&-X=kGhsn14M7 zQgCG0g=10p(Ff>4&5Haygpd&71K41OISyv8_+5jblg-yBqOhgM`mAK5)HiA7%*TH- zZa99pB3|1x#`+S9lneYD5bT##$8HpyuNvAA&Z^8E0G*S1`sL4w5CJPNA;8&h%1%#b zpP_i~?#c5$^ngZhdDcm=s^fV}b$J+($`B$pBc~;I4vm$7z{@vy^n=~sVtYdj8~K6Q zBN#f`162Cdqby3WIpRQjBRS@CeeIIm3LxnK%xvEE1`N&Y7)06vQW@qak|`p5;4u9N z3hnQu%@AhdTXME_L6D=?`UPeS)M+y^x!8yi{0sx5Faxvdu;Lga?fXK$Tmszd7CCG) zKRORbO!4pU-P6Zv2lp|_UFdMgw?pEXqLID7atN{-SV&x|k%>~9aDV5wU=(s%H@qb( zo3R;WRpbJ*#fw8%O?_DF5@G3z2@XtRv|AXvt?^y8+ zd)-=4OStyTXEwWBX8tc|QkN^lvFI@p3s{L0sqwWbk!@l_?TT_xWNU@csAB6hgOoJ# zaR>3uoHZ8t>ghhto?@p(&M3Vv+)eTC2g&u$ueBg&PFNZCTWi9!O=kms_Z|7fRUwxp zvfJ1nT37^G{R-HBJ!`mf`)o z(x_l7O83n`#l?SH)^Vy@9)?-IfiLbN=L*HF0l6ReH2K%x_l38UCi-Y5Ypg})r!*o0 zVC>B@OasT%iB(Ewh-aGnd4wIvqUv=C0^b!5?)9txtf>{Rm}7$30Y}bWzSyY4LK>$A z8QRR=K%6UKv|fo2=Rby}kkHob^VzdqpJneLU22JQc5=f6Jp4n5!Rf-#Il#2ndJD_Hwf9tu5)GTknYfd~2 zciXn-PCK(|5S0!QY-vM&-tTe*s}qK0mM9k{J^Yiu^hH=xioG}kJyz(`24Ay~yuHtc z^+bv#Ly+dqwjNy7FY}uX(x&y=GD$JOEW)}=J8rF0Re@t52`DKjpQcC#48Xdo%F*0@ zw&d#c3T#ER-jP#@;?50p=;MP%D!*HTC}6|GfQ1?{EDPBo&P|0XV1U*v4^)aMWc8bY zO_^#`7QRF}^z=a)vJU5NK863@Qrl@FQ~fs^Vh5|6QA1HJ4Dnq0^pc=UY1c`}eTLXR2q2 zng5iU?A-jU-u!%j{M>!`eSQ6We*L_~{ao>VyTy6Gz5M;zy!l~xd-?hP`uX_!`*Yw2 z82!1^^ZmIgUh@0+>RV9!3Hp2`==*v3d1cUb6F&Xi9SC}ak3x#j7hmxFD!gl3!WUZ9 z@VpR?n9WBu{)O=vD?Va2oNpp9p3eFKx8M)D>HHFQMB&E!^Uk7%3r7`l>nQ$dOkpRr zh|E;yp=`8d(!m9Amd4lw!o_dZhh z!~|@=OQvI$Gp@wcx{s=1rfx6Oh_Fi6rTMu*guJi}x1f*X^dhmz2zUd|wxFK}UdF=n zPzry_a!f}>S(r>)7qGEe512oj68c5mLtQG|6+70Qzd^-kFPi!=*(0#jfgNhXp20@o z)Tk4mLu{4elXD0?c!-r2GQlT<9PtEU+chzP2+ExG@`*~&_^>z`0(|( zxxFpJh<4aJtolj)cXiRoi0xr!_@kM>C_$&JdupTdGaVm^l5Z_;pUEH>t7XRP1^4MQ z&$+=m*)C$%#*(f{{m{8y3C(Ek#L()m+k$tvu+|F`g z@nZg9xX|v@qSf(EzLW>rii^on3Y6lJSyl0f z0>pt#>df=3J^*!TTvh~Hdn9#_7P|*8P)2t=%h2=+pbK@d*vHLfv?yj7KOU5k6k{+7 z$~2XmYh3x-epb_(F4dRZkV=GMjHLe9s6{p+*-Cz&N@RzYE(SSz2x}{>G^#kc<^)-k zbtyTIN>E%B5&L0%TL&(QG}}nUJNrJSbIN3zIohf?+4GHAh-ySbJA|Ijo1gp~&oR(l zl7|Lc!QJTVn4+J>IazgxmXa2yNPgu{k|FJoTY|f1zgcx7F9I?+_h$VL)Vc|ob12d* zw{E5GM=Qxl!4c{~%m?z>zR;FK&Fy{AkhY$`cOwR&yAREFdZinYTjBnMBU9s6Nq=eO z&W3hX+qFcdUaR zm)r6LT#9;+^B0&g2gr5UjnQNH*%+=#J_@~IEF?B=o|IAd>TO>;a?Dtf-I&!L>L~tk zq}`X3x2vMvty6OO;3~IDF?e5MYaJxtsi~i?s5@f+;9736`mzl4Wh=FS@3ACTu`m^h zwrZ$*VzBy}w7dePf~L2yQrR4(sDxQ>_p%Z1q#8LXV9<~q-L;E6llV>FwyV(COJszn z@e<#XAt#04z;_<@WMS`v{mCos`{!tJcO=afe|Yp?T~Jd`kSadfK89!X)~hyrqO^MR zp~I@QkEyVD?C|dl=QV>e3hFw|I8Isua@Nef~oolaLa(puoiPRQ7{0lv-&WaM&9rWs-Ion~#K;H>Cm@RXO z5ZiHmq}GzdL{wwAH;5&wX9Uv6zLrOZuC*2aWvC3EUPX{F(9Wa%STBV2-n!unl)vl> z!|xV~A9|Yi2q=t3A-V$N=A~$O1L*^vJZDtcz4%rNizX$8%IKA%ZV|` z149n~rE(!l5;^N$1wS!F@?;P189hWJwWq7z3N!K0U2qL(ACI9XF+5VT*ppPIo5NBK<xUhRjNPVx7V2?)Y739$|eqFP~T24gqL-Hv*kK1NG+4a-~l_;jvoBZ!5M z(ws&}tt2)e*e=K0S?oL&LoJg(_tc*41HMUhfT$b2w=|4p%MX>e<;{r~K5bi_PySrc z!|k6#nh(rN-LXWX&vqjUCE4=h*bxEJYpbOf=}?fp>ZdS_tlOL8qg5|kX$o?19JU2G zWMsKQ=t?E^DRCNuAZv9#gp>4J|8sxiKyo8HyG2s!OgF|&WvQ6NlUeWD?Am{?A|^~h zP~9-tavuxk!bh5X8R>#x z*7J*Q<)i;pC`9oDJX|v7i&LW>ymw9?#>BI`HYm~DXggZ%RT5|?yTvcVuQg4dlly>c zi`NEy5_#AelOAU$d@s4;tE>Z}zD-R_LSDu$tz6*^bZy_NeH4Rynv(aTTVyb;j0aV9 zFJiot<9=!Xvgxytnt-sd1(47WHl#|4b8)0Rq$sr+WORNdZ%i~SZfuC~T@0W+ zlHo=_^=s5!ntRVw9j3jP^VnQXj0CM zD;pBN4LOY!nxM=*htSl-h0|1%S8}1#ZEGg?|5s~g*%XJ;ZDA~UaJRuF5C|@VLvVL@ zf(4fZ2@)7I!6C@t1PD%WcP9+)u7Sa2aOQH}_uM~l>sGC*UDe&ypSyRh^=x7ma=J)e zUfO}F5)nNbLvpg7r2woe2G`BF-3rN2BK-BYyF&cA)Uf(Op6Iv{t`waFYWD%oa>CG& z?<6YE={nGyaYvy7C&k)TEeE{%0>nZo_t|e)CPqL94%G{4|lAkrsHzS7-=~3irULME7ILTp(|be2v0*^#?(YYwxdy9TC&jtF@(w zt9kR`$!@XStLvZMEY@Q!%nQZN%^u+fgk>E&26iwYtwYfEN^_OzVj1zK-a(vsPNRt< zdzzUtB#KIAFOj!Tq1$4}2ix8+7dJL}x%C6}=RXFZH#3ekoQnRCYgv9nKwb)dba;kG zslZW=t%D}%JY$KcKBbjPUT_cmpksPy3!rL{vG|3s zXrW@4Z&Qi-&m0QQH)5$G8=pBFnGY50SEb`i0q-hit+TRz2FmaQr4i;3Imm$8 zMg4eohby+pWAQbFX!iPmT;1LC9hsKHm27Sk$4jms%VOdpVnLH1>y1^v#i==6RmQ6i zzq*MtcGe_I{Ip^_pf0rqk+?4ADQPIZ_k;KFL|mMFsS%cOE`w^TbU7FwII0)wp8gFE ztF*xp!7XS`CO3BWIhF5zJ7*{{Zzyp}2QAjpu@)P2Dkl=HmDg+>%Fn<&`>o89tNJaK+JE78g?Ii$<}W z3Ig3vMHcQ8)kW!-DHuC~G85ZpVwKnM8!^AZOo|%vp~*!#-b&ita~#d8>4!26c0$^= zPNnjSL!JrfD)T0N6GYib#9-C;+u%(_$tT*Z)}XsP)9*AvNEl|X!E@wh^Z${4;->Cy zGnA+bY6A+gz{`JtWcxsd4NVEgMS#$Mb(jIPp^)IOpuNw)Dg6Ls>#xz#8rNj+lhK0o z{ZYo9SG0ansQ2$**M=W=hl^5|f7c$C&D|AsB)P_%tQ$mxq|51G#Nk^x~rhgU& zH0DoOy&Az;Ju`-Z9kPMzcW8yXtsh(Tu!v%}sk2U5B;T0Kp$G#G)BY>Gk{^7fa(1W}Dmj^Nykw2h&`$crbU? zLR|PyTZFFuSbB`h1_K~Yx$|@1B@%Ku`x&dPT97#+KkkEG{WPL ze9G~N4}XSt*=?&*VS%QXX?lnG;(ZY82;*_}4tBtM#})9UaWsa388CjL#;o-^pqB@cLW<58-8FtKjO}~BEb{oNo@C!TFCe`kQ=;Z7rSfJ zo%!cAR-5#Z95&7q@v!w0m;GA7-*fW~Ben`m$e=c!5nTlWDcjT6BUI_Nf881yVp3DfcBoR?U+?XF@ovG+F%S+4ZZtzRyJU*|}6kr3Kyv zYHg0vd{IrN1tO$NWddyN7O#J9I2y$$YgIS9Qyy>aP~saU(#7v(yU3W_sE1p!V7A*+ z_@F)Atf6Fmuxj+|UpC|^4>xqUmg&b&iH%sfTiBa?iyVhI;F88%eqw`~7R8G2;))3s z8FCvNj>lHbqN0keX-f==45jiGtL+Lwgdj#7NKWkM)85II@^Vqy*mf$WG#< zq0Z67C8x&o9ez4^{~Mt#g)aY4lq#jJHOlOBy#-eC%oSDxrFVOj>1tmTh>Fu!dxXe- z9nEv;Z0Gnk1jm3C$$KH4936a{jW~VE=cQ0A>(P~WeD?4?gJm|k zF3nGsEsz_gT(v7JUKx2CE@n1go$Z#CY#Qoeva9^2oglnv7>LTT4VV~Hs!4Mi{p9Po z%MprZu{Z9XbiM5I#<6Y)=z=*FJHYz7KHLX4^TiysGibnulRqu_CN(M!A?MSw2)fhMfLKv2101W+= zg(iY6(wdp%381sJ`|YTRF;qcYZB^gC%Q75$9pTRxnS&o+>SV34+KNW^evcKFuZ6|Y z+xq}=IapdtDV*6jN4*$WrAi1=hyE&UQe}vJ{3#u-=z&>}G%uQ4%NKkBK+^vrT5)zq z{E2yj+oofh00wLGofCg}h+^jUJ(_zCc=W?ALc&{*Kpn!Tr@|2iCd3N>hUmFFfL|5< z+MtgQ8}y2+jGGkyfoX1kys0`i{Y^2HxbT$OzPLL4l~x`3U3`tKCMHEZ$i;rk_cD?y zeLU6}v^s!aSF`-Th-eaS4at3hA-;}jw;uYl%aUccRYWHZ(4A+QyGPGBVfqGr#oG8r zxXlMwNz~ztZp+m14N_b#2VHWqllukqi|C$kX(EOdv(lkKV7&ZU!FD_Q`1+w+ylc}4 z1SeL3<#0_vTv*I0!Fjls1$b+tFG`?p)?ouVTw@5BdI=LtMQPs9Y$wT;&E5k2FHmwG zy#lHSM@9Qt;CJ9FUwG~!y?XX$Qqndu{Y+!^SR+-=m$8U!j!qp#lxL=KN_TzJ4Q>nE42PLlEb%no3 zf=`oZ5h1?fbRsy83#t1NcdLA`XnlWlw|O4-U8a!knOXGo$b$4BqSG5C2l4CcWI+6W z50~pFr_qA*#&jA>$sq$UXJvROCrTt$8yy&d;r;mVFzeAP+GP%UQ3^}Yc>F7(%fTe~ zzcM9_oQpV-e6Q%v?w|1J%Oqvn&iU6i1|eZqKPPC>t}X$%_;=2avm)Y7Ct9)fG61Sa zS)sHDBD&5OO6A$0bv16pMw0b!|5Ir+bq6XpikQSl@m36sq=@*4-m?r^<$*m%q}bQ= zF6?Bg9S38mv;=rIYMiL_192Oqy-GyB<#iE4QF5~+k~(>{K|io3 zE<>kz!R6Hyn|g-j@5fz11NC~e%Wn*y(d?>YjsJWZKaGxn+La3B*{O(vigRThseIh0L91IQ6&C9XPP?A=3T$GU`?sUNGCvKzzK10QBA;ZpOW3qb)`T-jns4{`G9IRV>ZrprO)$MCsF`128*3~s&* zueg)ghO-3un~4i8Np#3ObPfX5b586Z;fveFP7j^_cWvnVSv0~&DM6Ta_@&JNT^~&O zEKP#~sZOjZEFMM7;+RSF?aHYbz&k~2UqQ)kRYIG`d-hsa8SPB_shrN^zWGB?r<$Cl zZ*;o3%ig7fPMKa6+GS=xvCy3k+N9T9R4ICgNDj!7n2140xcGEmFp0YsdCT&Q66?Zk z;EWB@JFdW!VC_0e7s4GD{1oaYdO9`td`&?koeAod5~Px+`z&@M5T}+2N?P3cQ4QqE zX~fy&xn2ThdUtgfB}bprMw3|TbR7wm+?DyVT#Y-U^t}w{t|HAG?A*N#QL#3N$*ZQoX-nt&d3x)-)rJKsLM%*~=oURh;zPb44&TanOO(0N+!d|K9J z$=6K(@s6l)*2DOR((Hvn+Q6)bVS2RV9fzuKJ$SB&N72Io{Le;~k%+A)7l5$NAv@Aq)>j%S}?$#kQze1e^*EeYUnk@c`PuFdJCT4quK%mulm>2B2q<7x9#D>p23yH?1)A7X$2wd^5^nk^K{gcEjv$^TH;tv)k1(o)DJQKpbUL$I;<^NuN|jJ|7Tvyy zKHE(>%9&ezKi{I}!I9O7Y^!}%43MqB0$%NCV6i1{I+<$5a|tRTxUyb4NPv7&iP&}o zTP|(r&@vC<)4B5$;*hxfFSRVTCrn{){nGQu2PRjUw6m?gAD)l5!7|OpAA%a#fi~SK z0O!+3--mOUc5|iAU0l83#OD~$(Q>W>ZAk&^sKtPyRMDk>1ISv;@`nkW_m}+wd#HKC z*du1hU)T3apJ^p_3*?&n#5uWmFy4_6bw_*1ic6%|&vP6l0SaB)6$R->(TbM9ot`CiEWtr z+Ujw)Xb5Papd#ATtcVc;H<%J0;4ovIQG&ONJP zcGf!Um<6cQ3Em~Xty1hg(9TI0}fEWPnJ z#mo8VS3EAevfJe{@nE-$%IeWVUNAqa0A|8o0wv=t2G~&Cs2V<-^d=9ljacDbzT`z7 zN7W8Pa#9?7%^Ia{pb8oZdvCgx{v2@GyNP(_CBxu%uV=0@$s0o5WJ-xHyI0l6$w|c8 z?zTpboy5;v7xOEl9GZrr@_m1{=5Mv) z?832MP$Mdt7~-mZ{|SpPseQlgORNG1b$;b^CMr=-T+*tErSml^c;v>u_(a(lTc0Jx zUdLEDCRwc{)ytf8%hL_y+2i4uJ7!MV)EpwO_1K_E;+s?rx4+fwCtqtw9J#63EpdoeBh|w|{V$!dQP5 zf{aX*x!YVPsXXO)@umA8D6j(p@{>5Sw~r0sAr5K#XUM`1m*44N)?}`-?6(&taNRN? z2|FgIra>QD{px34A^drltprB)OL>nU$(nAj-VuD&#PBgQu*^`Kri~g|wCb18zMLxH zO>C7nBxh)u3NC6CjDk9XCjMCOT9NR*+ZFxE|Lp*(d0_MsUugO#z90bnC%u553Z<}> zt@|$d^$15~uV%x3$|zyiRpb;z6xiBa6ylDr##5P4jI8n=DOcs`qxC4oJYRE6(r!|; z{1<2m8wT;h0U>=5PH{pJI7O97>TN5zZ)dQs%3us?Nlmd9flnqN%0i#Ud##|%HKLlA zE90BAD>u%%>SSix*&ipQay)a;yC4O{={$pc1Pce${2x1+-5)#tVvD6-kb_ke6Xx?8 z1*NR%ze3cxFk!rmnL<4{`M8&eIjh}yHI7k1EFlGrAf`R3w+aKqr03}>*^1)AF0dNP z6+J1jkeYFWIP;^dOCdy!JI(?VN#pl{*w#N?spi|+pER#NkjUN3@Hm)VR@g^?jhJn= zk+p-KkIn^z>${NYRiiz2CRwRoqZNdFhS@(1=a?>I2m?S_^Y^@3t^$b8Ln{M#h1QhD z9A)CQ6;a?&s7Oi4n#&;?IoIVPXFSF4Z_$1y*23sl3`S!;6`P#G=%bR3FH~zM3JRPy zO1V1jmR%li&6Q-M^)y^e8_ZfDgD4Wrjl^gC)hJH_k-ans^lDp!uh><@RA>&C;9s!I zD2{3Jnk`8?1!stI0wetBT^Eei(k^N+X85QDQ>pKej!UCCJuaM5qZvEpXZWW!p2aWL zP5J!G(He0_8VEno0X{m0u_>NTD|o+7-qUUFw13v4ger@%ehmpm`S!7?3d1lW>71Wc z$#qD1g^E0xV75UkkA$z=^93*pjsJoinqVo~ic>B%=}*YAjPyy7ua?!(dK30ni8`Lg zGK!(v%)laznF9rQ6;sya9{de=d|06Kdxm+2V+3`8LW+S=ohMl_dLXZ_GDFy;(GO`I(R2`AKd&D4u!C^z?YkL zM{a^Hv{&K7he22N?eO(MyY`vR6Ucv$JO#DGfv})EA}_oBpx;Z^m+)E^_4x<*mw*j= z7ony%ULWSuS}fbIUY7p7^QEMu@;*IQ9l!yI>ISFq8-Zu&b;onL1Qc>#`+q4pyZdl7 N=;cfvLhdVs{{g5e{0jg8 diff --git a/src/python/futag-package/src/futag/fuzzer.py b/src/python/futag-package/src/futag/fuzzer.py index fbfd00f..4caa7aa 100644 --- a/src/python/futag-package/src/futag/fuzzer.py +++ b/src/python/futag-package/src/futag/fuzzer.py @@ -612,7 +612,7 @@ def fuzz(self, extra_param: str = ""): "-max_total_time=" + str(self.totaltime), "-artifact_prefix=" + dir.as_posix() + "/", ] - if not extra_param: + if extra_param: execute_command = execute_command + extra_param.split(" ") if self.debug: print("-- [Futag] FUZZING command:" + diff --git a/src/python/futag-package/src/futag/generator.py b/src/python/futag-package/src/futag/generator.py index 5370d96..730e4bd 100644 --- a/src/python/futag-package/src/futag/generator.py +++ b/src/python/futag-package/src/futag/generator.py @@ -57,6 +57,7 @@ def __init__(self, futag_llvm_package: str, library_root: str, target_type: int self.futag_llvm_package = futag_llvm_package self.library_root = library_root self.target_library = None + self.header = [] self.gen_anonymous = False self.gen_this_function = True @@ -218,6 +219,9 @@ def __gen_header(self, target_function_name): include_lines.append("#include <" + i + ">\n") for i in included_headers: include_lines.append("#include " + i + "\n") + if self.header: + for i in self.header: + include_lines.append("#include " + i + "\n") return include_lines def __gen_builtin(self, param_name, gen_type_info): @@ -608,6 +612,35 @@ def __gen_input_file(self, param_name, gen_type_info): "buffer_size": [] } + def __gen_file_descriptor(self, param_name, gen_type_info): + if not "" in self.header: + self.header += [""] + cur_gen_free = [" " + x for x in self.gen_free] + gen_lines = [ + "//GEN_FILE_DESCRIPTOR\n", + "const char* " + param_name + "_tmp" + str(self.file_idx) + " = \"futag_input_file_" + + str(self.file_idx - 1) + "\";\n", + "FILE * fp_" + str(self.file_idx - 1) + + " = fopen(" + param_name + "_tmp" + str(self.file_idx) + ",\"w\");\n", + "if (fp_" + str(self.file_idx - 1) + " == NULL) {\n", + ] + gen_lines += cur_gen_free + gen_lines += [ + " return 0;\n", + "}\n", + "fwrite(pos, 1, file_size[" + str(self.file_idx - 1) + + "], fp_" + str(self.file_idx - 1) + ");\n", + "fclose(fp_" + str(self.file_idx - 1) + ");\n", + "pos += file_size[" + str(self.file_idx - 1) + "];\n", + gen_type_info["type_name"] + " " + param_name + "= open(" + param_name + "_tmp" + str(self.file_idx) + ", O_RDWR);\n" + ] + gen_free = ["close(" + param_name + ");\n"] + return { + "gen_lines": gen_lines, + "gen_free": gen_free, + "buffer_size": [] + } + def __search_in_typedefs(self, type_name, typedefs): # Are there multiple type definitions for the same data type??? result = None @@ -692,7 +725,16 @@ def __gen_var_function(self, func_param_name: str, func): for gen_type_info in arg["gen_list"]: if gen_type_info["gen_type"] == GEN_BUILTIN: this_gen_size = False - if param_id > 0 and (func["params"][param_id - 1]["gen_list"][0]["gen_type"] in [GEN_CSTRING, GEN_CXXSTRING] or arg["param_usage"] == "SIZE_FIELD"): + if arg["param_usage"] in ["FILE_DESCRIPTOR"]: + curr_name = "fd_" + curr_name + str(self.file_idx) # string_prefix + self.file_idx += 1 + curr_gen = self.__gen_file_descriptor( + curr_name, gen_type_info) + gen_dict["buffer_size"] += curr_gen["buffer_size"] + gen_dict["gen_lines"] += curr_gen["gen_lines"] + gen_dict["gen_free"] += curr_gen["gen_free"] + break + elif param_id > 0 and (func["params"][param_id - 1]["gen_list"][0]["gen_type"] in [GEN_CSTRING, GEN_CXXSTRING] or arg["param_usage"] == "SIZE_FIELD"): if gen_type_info["type_name"] in ["size_t", "unsigned char", "char", "int", "unsigned", "unsigned int", "short", "unsigned short", "short int", "unsigned short int"]: curr_name = "sz_" + curr_name # size_prefix curr_gen = self.__gen_strsize( @@ -702,7 +744,6 @@ def __gen_var_function(self, func_param_name: str, func): gen_dict["gen_free"] += curr_gen["gen_free"] this_gen_size = True # with break, we may not need this variable :) break - if not this_gen_size: curr_name = "b_" + curr_name # builtin_prefix curr_gen = self.__gen_builtin(curr_name, gen_type_info) @@ -1112,16 +1153,24 @@ def __gen_target_function(self, func, param_id) -> bool: for gen_type_info in curr_param["gen_list"]: prev_param_name = curr_name if gen_type_info["gen_type"] == GEN_BUILTIN: - # GEN FILE DESCRIPTOR - # GEN STRING SIZE this_gen_size = False - if param_id > 0 and (func["params"][param_id - 1]["gen_list"][0]["gen_type"] in [GEN_CSTRING, GEN_CXXSTRING] or curr_param["param_usage"] == "SIZE_FIELD"): + if curr_param["param_usage"] in ["FILE_DESCRIPTOR"]: + curr_name = "fd_" + curr_name + str(self.file_idx) # string_prefix + self.file_idx += 1 + curr_gen = self.__gen_file_descriptor( + curr_name, gen_type_info) + self.__append_gen_dict(curr_gen) + break + # GEN STRING SIZE + + elif param_id > 0 and (func["params"][param_id - 1]["gen_list"][0]["gen_type"] in [GEN_CSTRING, GEN_CXXSTRING] or curr_param["param_usage"] == "SIZE_FIELD"): + if gen_type_info["type_name"] in ["size_t", "unsigned char", "char", "int", "unsigned", "unsigned int", "short", "unsigned short", "short int", "unsigned short int"]: curr_name = "sz_" + curr_name # size_prefix curr_gen = self.__gen_strsize( curr_name, curr_param["param_type"], self.dyn_size_idx) self.__append_gen_dict(curr_gen) - this_gen_size = True # with break, we may not need this variable :) + this_gen_size = True break if not this_gen_size: curr_name = "b_" + curr_name # builtin_prefix @@ -1489,7 +1538,7 @@ def compile_targets(self, workers: int = 4, keep_failed: bool = False, extra_inc extra_dynamiclink (str, optional): option for add dynamic libraries while compiling. Defaults to "". flags (str, optional): flags for compiling fuzz-drivers. Defaults to "-fsanitize=address -g -O0". coverage (bool, optional): option for add coverage flag. Defaults to False. - """ + """ # include_subdir = self.target_library["header_dirs"] # include_subdir = include_subdir + [x.parents[0].as_posix() for x in (self.build_path).glob("**/*.h")] + [x.parents[0].as_posix() for x in (self.build_path).glob("**/*.hpp")] + [self.build_path.as_posix()] @@ -1499,7 +1548,8 @@ def compile_targets(self, workers: int = 4, keep_failed: bool = False, extra_inc # include_subdir = list(set(include_subdir)) if not flags: if coverage: - compiler_flags_aflplusplus = COMPILER_FLAGS + " " + COMPILER_COVERAGE_FLAGS + " " + DEBUG_FLAGS + " -fPIE" + compiler_flags_aflplusplus = COMPILER_FLAGS + " " + \ + COMPILER_COVERAGE_FLAGS + " " + DEBUG_FLAGS + " -fPIE" compiler_flags_libFuzzer = FUZZ_COMPILER_FLAGS + " " +\ COMPILER_COVERAGE_FLAGS + " " + DEBUG_FLAGS else: @@ -1719,7 +1769,8 @@ def __init__(self, futag_llvm_package: str, library_root: str, target_type: int self.target_library = None self.consumer_contexts = None self.total_context = [] - + self.header = [] + self.gen_anonymous = False self.gen_this_function = True self.gen_lines = [] @@ -1894,6 +1945,9 @@ def __gen_header(self, target_function_name): include_lines.append("#include <" + i + ">\n") for i in included_headers: include_lines.append("#include " + i + "\n") + if self.header: + for i in self.header: + include_lines.append("#include " + i + "\n") return include_lines def __gen_builtin(self, param_name, gen_type_info): @@ -2283,6 +2337,36 @@ def __gen_input_file(self, param_name, gen_type_info): "gen_free": [], "buffer_size": [] } + + def __gen_file_descriptor(self, param_name, gen_type_info): + if not "" in self.header: + self.header += [""] + cur_gen_free = [" " + x for x in self.gen_free] + gen_lines = [ + "//GEN_FILE_DESCRIPTOR\n", + "const char* " + param_name + "_tmp" + str(self.file_idx) + " = \"futag_input_file_" + + str(self.file_idx - 1) + "\";\n", + "FILE * fp_" + str(self.file_idx - 1) + + " = fopen(" + param_name + "_tmp" + str(self.file_idx) + ",\"w\");\n", + "if (fp_" + str(self.file_idx - 1) + " == NULL) {\n", + ] + gen_lines += cur_gen_free + gen_lines += [ + " return 0;\n", + "}\n", + "fwrite(pos, 1, file_size[" + str(self.file_idx - 1) + + "], fp_" + str(self.file_idx - 1) + ");\n", + "fclose(fp_" + str(self.file_idx - 1) + ");\n", + "pos += file_size[" + str(self.file_idx - 1) + "];\n", + gen_type_info["type_name"] + " " + param_name + "= open(" + param_name + "_tmp" + str(self.file_idx) + ", O_RDWR);\n" + ] + gen_free = ["close(" + param_name + ");\n"] + return { + "gen_lines": gen_lines, + "gen_free": gen_free, + "buffer_size": [] + } + def __search_in_typedefs(self, type_name, typedefs): # Are there multiple type definitions for the same data type??? @@ -2368,7 +2452,16 @@ def __gen_var_function(self, func_param_name: str, func): for gen_type_info in arg["gen_list"]: if gen_type_info["gen_type"] == GEN_BUILTIN: this_gen_size = False - if param_id > 0 and (func["params"][param_id - 1]["gen_list"][0]["gen_type"] in [GEN_CSTRING, GEN_CXXSTRING] or arg["param_usage"] == "SIZE_FIELD"): + if curr_param["param_usage"] in ["FILE_DESCRIPTOR"]: + curr_name = "fd_" + curr_name + str(self.file_idx) # string_prefix + self.file_idx += 1 + curr_gen = self.__gen_file_descriptor( + curr_name, gen_type_info) + gen_dict["buffer_size"] += curr_gen["buffer_size"] + gen_dict["gen_lines"] += curr_gen["gen_lines"] + gen_dict["gen_free"] += curr_gen["gen_free"] + break + elif param_id > 0 and (func["params"][param_id - 1]["gen_list"][0]["gen_type"] in [GEN_CSTRING, GEN_CXXSTRING] or arg["param_usage"] == "SIZE_FIELD"): if gen_type_info["type_name"] in ["size_t", "unsigned char", "char", "int", "unsigned", "unsigned int", "short", "unsigned short", "short int", "unsigned short int"]: curr_name = "sz_" + curr_name # size_prefix curr_gen = self.__gen_strsize( @@ -2684,7 +2777,7 @@ def __gen_target_function(self, call, func, param_id) -> bool: func_call += ",".join(param_list) func_call += ");\n" gen_lines.append(func_call) - + if self.gen_free: gen_lines.append("//FREE\n") for line in self.gen_free: @@ -2742,7 +2835,14 @@ def __gen_target_function(self, call, func, param_id) -> bool: # GEN FILE DESCRIPTOR # GEN STRING SIZE this_gen_size = False - if param_id > 0 and (func["params"][param_id - 1]["gen_list"][0]["gen_type"] in [GEN_CSTRING, GEN_CXXSTRING] or curr_param["param_usage"] == "SIZE_FIELD"): + if curr_param["param_usage"] in ["FILE_DESCRIPTOR"]: + curr_name = "fd_" + curr_name + str(self.file_idx) # string_prefix + self.file_idx += 1 + curr_gen = self.__gen_file_descriptor( + curr_name, gen_type_info) + self.__append_gen_dict(curr_gen) + break + elif param_id > 0 and (func["params"][param_id - 1]["gen_list"][0]["gen_type"] in [GEN_CSTRING, GEN_CXXSTRING] or curr_param["param_usage"] == "SIZE_FIELD"): if gen_type_info["type_name"] in ["size_t", "unsigned char", "char", "int", "unsigned", "unsigned int", "short", "unsigned short", "short int", "unsigned short int"]: curr_name = "sz_" + curr_name # size_prefix curr_gen = self.__gen_strsize( @@ -3064,7 +3164,8 @@ def compile_targets(self, workers: int = 4, keep_failed: bool = False, extra_inc # include_subdir = list(set(include_subdir)) if not flags: if coverage: - compiler_flags_aflplusplus = COMPILER_FLAGS + " " + COMPILER_COVERAGE_FLAGS + " " + DEBUG_FLAGS + " -fPIE" + compiler_flags_aflplusplus = COMPILER_FLAGS + " " + \ + COMPILER_COVERAGE_FLAGS + " " + DEBUG_FLAGS + " -fPIE" compiler_flags_libFuzzer = FUZZ_COMPILER_FLAGS + " " +\ COMPILER_COVERAGE_FLAGS + " " + DEBUG_FLAGS else: @@ -3246,7 +3347,7 @@ def sort_callexprs(self): Returns: _type_: _description_ - """ + """ if not self.consumer_contexts: return False