From d552ad232869d835bca3118dc23fc0c3ea5c72c6 Mon Sep 17 00:00:00 2001 From: The-Tysonator Date: Sun, 23 Apr 2023 12:00:40 +0100 Subject: [PATCH] initial commit --- .gitignore | 2 + assets/font.ttf | Bin 0 -> 266656 bytes assets/menu.png | Bin 0 -> 525 bytes assets/restart.png | Bin 0 -> 626 bytes assets/vsai.png | Bin 0 -> 601 bytes assets/vshuman.png | Bin 0 -> 724 bytes button.py | 29 ++++++ game_functions.py | 189 ++++++++++++++++++++++++++++++++++++ main.py | 235 +++++++++++++++++++++++++++++++++++++++++++++ requirements.txt | 1 + 10 files changed, 456 insertions(+) create mode 100644 .gitignore create mode 100755 assets/font.ttf create mode 100755 assets/menu.png create mode 100755 assets/restart.png create mode 100755 assets/vsai.png create mode 100755 assets/vshuman.png create mode 100755 button.py create mode 100755 game_functions.py create mode 100755 main.py create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..bc6664a --- /dev/null +++ b/.gitignore @@ -0,0 +1,2 @@ +.DS_STORE +venv/ \ No newline at end of file diff --git a/assets/font.ttf b/assets/font.ttf new file mode 100755 index 0000000000000000000000000000000000000000..a9e0e6c6b7a90f6c93673899911d3b8bc2e05af3 GIT binary patch literal 266656 zcmeFaX}Ba=Rqnrc%$X4xk#pvm@=R5kRn=9ehBMJ!)z#R|pfo5nh&CwDAlk~*3JQuM ziXtL7FsLAofENT6FL+TL5K(54Nd;tRXv7IoL=i>E`+Ha9Y1;e$Kl72ir_Yb-MUGDYOk9zXArp~2b%Ko=L>`^z}G9N@Qb*^>7xyGq)c;vT# z{Ucua#;;v6~@*^JpEsx$hzxE?8{4D2-Kl#YVJnW|6@$WqC!hd`b@4xR+H$CAN|M1{@*q`gW zjYr?~sE6PGRloOi7k**vT=MO=Jm#^F`|M9X`e81Lo>E_N>X?cnKben$P*f6!fU|Hf7qhina8_;b#kZGZ7Nckdf- zxUajjbDw$rq7P4Vw{AH1ls{l6{}aLc*mc7N{;)nof9?5hcig|htp#H@4A$M6e~DWP z?&3=SZ*IlE$4!D)xz%8Y&v^P*@V?F8zvcM>w$0qc{%*S>e6(x%+iZIoc>cbJbG?@5 zt9ktjd#?E(b`jhA{-@ogjQ#j4I>=i#1kp409l?%W-or}=E%J(g?S$anrhx5crWe1E$Z*Yi4`-Gg1% z41R)pajQGQb*6sTZE)RT5c2mk^ywDv-K+T?PjLy`kK2=T`Jdvs&-TBaf6ROCm9{;S z{r}i)2YuJplW{8D$I#J_xvu|q#+T#Wt-OC2-}kYu@FB-*y!3n{_f6+`EuTNub#8zD zApL$Kva;@~|LPf@bW3_NK5PHyQ}>L%e!)xj{)?x{rDXHyxsLEJCu zi_iJr9m(|n?O&69$^SwJB>#7ON+*t!&kykYQ=Wgec>Qu@I^y+fzNpvp z4?6T%vhBbIcgy@ErsK~;kEH8I&syiD_y74*cyRO-F8rU*$8p}*BmYNuAT`yH?&J`M7!+9v@33D{;#0cGVPjMp`Ex@TC|FGgZ8uN`Gj`Mtv(;=y9@0--CgIOboX+1qy2JsciOLTUrKv#_hq#Aarc=2ox8zZPkUc? zPulxg`<3oq^G~?@yDz8xD)$w%U+wNqd!xG#?E~Bm^S^ZuboZtG8h1b1uXSHZ`ykrC zaSwL)r+tX~D%zXeSJOV!-AMZ|_kj6dyRUN(qzv_DSwr=C@(x9!vXV z_c+?`ao-lh;po-$naF z?n(1o-80;G(>~KZnf8a>_t5@```-D7-H*Db(EgbFKH6tl`)v39ynYVI^C9A=XVCtXdnWA*K&cP9pQinQ`x*Bmv_I>9l=kP`kJ0|T zd)EBV-7mOj)4tF>hxSG8xwJ2KKTi9L?kDE&cmKoMm$;wg^-JCJXn)B)fBruAGWS!o zFLy7X{bl#lw7=qhhW1z8&(7cLUg3U@_Sf9c)BaCuU+I1U41JY*A?>fb7t#JN_hQ;t zyI-XJ4fj7l+23?8p?!^eDeZ5$U!whO+COo><6cJlyYA(*uXVpn`+M$J=I?Q@bH7Ua z`|cIAuXn#j`v>lS(*B`)<^0|54c5NVy^7awa=%XdX7|75?{aT(ucm#g`wiN+x!@Yv1L5cm59dZueT+_qgAq{S)^(+CO!_Py1)?_47Y= z?{$Ab`#$%FwC{Isp#5{&x4RFxH`0F4y@~ci?#;9xc5k7*)xCB8N3f^2(SFqZ5$$d6 z?X(|re>{I1Z0sGhAGh`|-8*^xSMFW3f9>8qf2;c&_a556b$>$p3HPV8f9L*e{ucL1 z_g>n+ckiS92Wvm&-p}iQbbmg7v-`CB0PR1y57Pd#`w;DC+=u6Ha{uCPrTwh?2<^YR zkJA2|wV!jh&EM$$-F=Mq^X@Nbzu-PjJ9mFMe*^d~e$F#~$%6f_@($J?OkEP-6UhK9 zKGB={pNG-c|Bn7H-u{37a4`Qu(C9`G@2fzxJA-Z4f^uI1t~~_gco3Mj2a+Cupmzc} zuL3bIft2?E3)Wr4_*qjnu)5gYhu`PXU$`D&J z#)e!E3f&XbcsRPgj2&6UeoU|%8`z62?8Gtb!xX!40()@EU4aca1NNT<^Us6zyWr*5 zgPixJ|IbA)e+JF^LnQA*jLAPS7N6!`|BL&)4}9ihpZJa+_@3|kV;-jKXa0oW@mKlF z{*u4i?!h;KVh)6GaO&>@j~v+Z1ls2#wMYM+boAm5fB)5=1_d8;hb@l+As@^=eGWMB z$6)Er?r|XD1HtS2yRQV5oc}VU>R}-6Bf!=A-!s7Oui@phL4zLy3toygzY6_*HQMzi zw!Z~A{~&VwQ1JEJK+dOtfKLSZz6T8aUKfSm%RUca>|*XDjxcxWO2+X4jNo^;Cvj(9 z%o$$>X1odn_$`0lANnuzPxA9%DR^V>!AUsDC+m|hnS9mcrpY5F-#_{EMt@^@W3sWe zG2OUo<1QO7-|Bwm^>aLAJNE`7a21mBK&0b|VB3q`OE~whaPC)wCa?8-{z`vO|L?&# zcth~sNibp8VrRZ)3c%YUjT44(Ik*aEJW3`D=OprY;4_x%uz& zd>hYKYRet}-FC0r?ta_;ZG+qVNB{MspVB9{-em0~ZoTr>3%9O+__sdv4UM-gbmRVf z@+~~SkLNQ$ddKM8;pv~i-T0Xx2(q9V6nt`re{AcbZ{1*chmG~i|4MKE|8?Y!a(^Vl zk8zT}Cm?s<#fUwFk-dc;{uuJ`Jd^I{Bi}D&9Dfnnc=bXy9*?}g#pL6Uk^8SkPCsH& z@*(i+2aw`_LKFTGE%-Eg@ULh>hAv1G2IvBs;C={QIEgmQ(1a82>Haj@aFz6dxW?0v z(H{rDp5;D;<@*fw?Q>YPFJRB+Sh;_9KM!#H0<80we8auShwddlbuaTx_hKKpU-pH2 zxzF9N`qKT1Z@FLdm3xJ6yVv-!`wc&Iuk>B_n|_2{dML8E~9saC)mp|{`>Cd@$`wQ+*@mc@G z@45Hj=f2-x>E7q>Hgk-x%;HQ7uNjW+}r&b_hr^s)1rb$LD|T-yFOP>~M#B2Zyu$%YfP5bbs$ae`fo8hdX|@cfk97 zdwV&!=qG;n!tlbuZhyE-s|PP8!QvI44let{+cymQ$@bQCdvChEm24-|?b2W2x27}x zvUz_efnI1aJl29wgLdSL zBG=32Xpn{dFbRC&gI<7D%;Ge>(dVI0lC`b1ByPn%jN%{)q9{#+F!XWINV4?tX`VIW zIL+fItS0S|&oH)J$NNT;o+OvDXf5J$zTnW%hnY|LFm8MGqS0&^izChvh0&-S7Ev`^ zX$8E!@|G);!JzV48sis4TGv%R1LaDH+>Ssfo>3+`!EE)qV7wkeqBuO5$HQ)L7epBGzr7N zN39@_8{TsRIPf!Pc*W_tA4$e7;e?_ZSu^GvHk)C@UEuRD2-wN%ZtDyCAev_48J-x* z=lpAlx!;OhBW8&9{@zZYzl`tx-eq1+xA%AaA)?BF?}WBZa(g*Ayl^lZB1jS+iM7cO zFD4#YHsP&hczZwHM|4V`*1|kP6w|&5bAPzzN6Aofec`enjt)&>IFpoQ-KVAvl6<1&pstWR`C?gJtR^zN3bk-m{4CGB3s60qptGVtna#fF3 zytKL;2PWs8uu3xqxA0R0TCy>UbyPR-4XztRVbP3Z4vwQJ$}&bN%IK}c=23LGhipnc z!cO>P4zs}vk{5=fNV2O=6b(*Zg18x1MW_pNFX+&E zoUN-jH>N=u_h)^yq83tK42B3Snk;$cJ_UCPi}ZnMb_wZClBH%4w&HMz)&^nKuA_uQ zu<>)j>tRN2BwPs7olsZ^md*B420*B&H-6@iDIn-k`Jz&5QBc#iq=c*9l8R-$~ z0k(}KA^oAm1^Le7c`BE3Q8k>uHBM0|RMPxrYRD8D;0cr@6yKIvRK|6nz=KgqB{5_Q$B zq(V}WzSKH~#J)Kkg<&Jlqej19fdFAz31`3s1cqU1^p`82S7j6>KmgvPiAd~wX9pc2 zR^Dm`X*U*@r77=AVJE|ktd$|K5d{XUQ55^eId*|9gBp{ADy-vu*=uq0qk(ckTsswc@^BWlTpz5>{F_5#7 zablz_;%Y%uWo2f%!e>K(mR(I;`~72px^_>3)_A+8lx_xhKgGbj&EMeMaibE_ z63_~$mA2f@EQG{t+nx$glkKyRfh66pIRWh{KSS_#2PW4j$|Nx991X<)>UXmJSA)@J zsdegFAMFbJdo%2}@s{a6#@s%W71+OEJHl<$mj%;QXbyD=yNWo(5sxuNks^sd z7?4ZrP_(P@1?w}|=@tNO`gZ{cVE@5Y0J_KCW`PV@RMzhgsH$Ys> zdd6GM!MS8ZrD(#_K#U>vjZT8;0BL;|SCge9ag)$sqrvJR9!X$_rUik7CMerJ<&nn$ z+G_>}Wz2)5nZzKwL<0RY+sx;ww6Z!jM0|47{AAFF6akf%nWCMZ6gA$1g5$$JN9YiWejm~LR47PP&V^~m^d3gE6hI;&Eu-*e?zb!iCLs#J zL&gC50Gx9Z6GVi+G6<42X-g2M<#wmP+KUm~pfSoiYisNMsyFQj_R~o=+9-zcYMiW0 zR+4rj({Y?b9F>=*AtCHO>GXQX`}qoh0SIjHlltM zWH4hc6DKkmC@;#@8DK#q+0DG0#as!KiNz76;?A_n7T{3kwIz|BNX%qrd8}mF8d?g7 zN2{A_AwBN&izw?Ne7Xe?zL=|dp-mJmgXQJ?Bf$>*2R3ww(A3n&WX({qhT&B5iR>I6 zOt0~m!>j#SuvNk)`CAB^(QOW#P4{L-nUOp_5JA!B+KZDsid3bS{WWStV30m!5NGWo z9C~;jG2QJ$Y3%aD3x}d7k{5d<>GpJ1lOkD-n$FP5bVxMiPyR>Qt+#``HSW@;B4dK+ zx>K|1!T!DCv=N2vtdV6oPFc#^EJ&*5Yj(=bwUJ3;TBJy)1W`6yQV4v-mDnr;10%<5 z*6?CZN)~V?K)D$v&9WS2wLA#_swXvDV5HgnR?|1(zc!NfX|jzh?#l*nGKOlQ2gok} zbYTN2c>)MRm1XdaVJB_(I<1qP>e$vAB>Z$yWK9WjR<^1}vxTHKJ5`mUEyvEb1}hMc zASu?jH<2O%)ug-Km3(6)B&fAiiMu_aHOeyKGiYC;l*k_B#`_L71uBS2wIuU0ED>4) zP(tPK2c*(E2v-0WhW`3;v%(kg{WwMo>f6%PuO`$76vd71Ad(){j4%*Yq zs{ZLbimtt(fipU6j_2h zGuhi+9HI{o7tlI2Iw1Mj9YDeR=>eYI@B(s=v>NkAHaUw#m+J{Uhh+e~i91WGLZj5k z88H#!4N#neNg%&qn25sjSog3Ga~8r87vQ6XDDH%Z@(#Rt2Y3dE`izek#G)oj3xTeM zKNZ2?>L|w*zL|uGCpHhfL_jnKRVCPCm>4Zl=A`Yp)4XhR=L?`Q$-t5ZNYn`K%H}E@ z#z0!bhcM+ZZMAz4W5%gwxmilpS*zPKkvC2dLj6NZpYTe});4`yG#i{1l*z_eQa~w) z8g)}=b;R83qag# zylR5-%}^YJSUQc8&`SH-$dP%J?BlB_>ic#Tc6;40L;9l$UT`CoZY@xqaefck`axc~zlF zVY3_0_);0iv1@;$pDx$5-0pMG%=xU*fB>Q{K)0uofZ&!QDvTWB&c3p9veqKP@Cs}{=GfjSn7|=rDV^ZH zHY#4=$X30MznFDb`|;RFr;e9+-5B;NF$eb6`FI#a=6GJ12Yn&|XV|l5dsrZbHogd4 zJA8oxC)#@t%1kefdv=Mqb@OV_NiTt)I-1Wo6=RB2?qlA06?PyQky&}O_qAw?QcOhT zIc3)Cwv+7IaJV!GyW_4TE-l1AI9cMWk(d%+wS~Jz@C4ado&Q7dl8$RM=tRi7A*$*a7QpV76`{T#G|!GjeiaTEn9xXm4r~ zWi;Xt9*Rxp5;bBTg3^mu2eunfD(KZ~q=9%XA&wg4WYueFLy8n=O9sRBJDPnQEU(as z*?xTvW+Fc$kW*jntYRR1!2|vn=tEA-Uo_KDfBiZ_sJ(fQKWXrYi2|X(i-G zw}|=_D+PN9-F0mqNgNW9f#8O1Lh2E!*pJIfm!`Y8X?(FzJcU?Riq&mqQL{341MrX+ zopKrBiBIA19E2z0JCS{n8>^sARGzNJ;UHW-x7>_hRtGfKj%_y-S_zAO;M;l8)}4aT z5wV2W5l;!Sey@tscGMmZbps~-X(w$AmsZMh(#H1THgEomVd4Nub8fW#GAX5=^*PVf4kEL#o@(ozX=*anvz*loxUX4u5Bz2(g^+&|s+! zu8BETqn$oJe$~Mf&V$BsbK{x~3@QZ!i{wdt)n>bDH-}l-jVtbe#ID@#W!Y(U1!s#; zL$}*axb&#pXh{aICBW8i12>VjUQ(yjYxO(`9T~E zAf(!!_~TJKNXM(IsuZH`cmCJZH@uAsQsu|c)7rsVfP%JYBMNL81>=;0P9UY;UdM(2 zjl+ZUqJ&^sjiMOMA+YHUJnPu-f(9zY1$RTAF@oo{pWcflsts|6Cce)L{stojowqL$ zIrepg4G;&Q6n&yw+lK($5!}|E{@%egd?LFpD6V_IZJiYG)|~-)z!&fwdyPY{81)g> z13-&+21`Jbm;2Ax7-0~S`gkD_N9-nB^6cb90dZRv0wge=O!v7Ue&DP|MOwYDA(0H6 z;85QtoSjo>O^0tKI>X+9?RTh{*@E^i0)%zi@Q$utjf*l8Jh!H&3G|@kfK44Mz|(Ig zMsR(wNk9y{ng@BK$?y}6A?$=SBicX(_8lRC?*+b7N>^Z!BGCq3Kom?dfwZL{PedZC z$zM4)M7&HDg+r*DFc?0GMB>4iN)dk&8VcM%Hcsh-q5L5p#0r2&C=1)z1(1R|3+6ak z1*d~bLTu6VPMr5D&S`Keewh%1ZWPC(>KJ=OL=U(+F*SV&97n#8X|y~_nE zV*P~PGpHTz-(+*e!gt{2B#j5)k{}pkuQL-(IF7X-DyR;i2k4ptS+rw8%YXv^^LkQCWhBld@lOtxotfU;q?so_h^#(mIL9h67MZhS@`Vy^D=rv7?b~7kN*mP6WsW`ii zXlQO7UfkMbWqpOnPsMj{RdmH7KA@VVOp*x+=F`+R3dj1vyQnB)-qEf?CW*3HJf>Ue ztj=Z0!BjGIzebOJc?cqba6+LLt@s&nmzt%)%mf*V83Im+qlGJrb_&)k=4Y8M2++3q z%twRd}?@1{{$HL_6sm3 zr%%6CS+L`ko#kw z0g|RzD`-KQ0R<=@I_0yaT&ffW%Xc}!2x2j+&hawM^Qk~VsV;(p0v{NKM5m$xfc;@S zgnLA45bUPqK6NtU+H8sm&}8M9Nct!&@l_QtM68gdEGR3Y$Wgo3&zh^t_}owpsV)}~ zB&BErmkL%lC(#H;A?ya1?n9VIiWiIY(FOF~_VxEc3-x8dqpDSbIX5<{63-r~Z1=lS zMKn9jhbWL}v zQ53{i<1Ee-Ac&LjICmbV((`E_(6$i1NiIi$s&U*{=57F3N(K7hG};V~0IzwwRb-75 zr>`i`VMtA9t&1N-P$@%eHAYX#w;p=eH4PJwaV&Fhw!cv& zt(BFf;`aUmHrWm6j{N7J58h8b9hIUeh>4jwFqV5-WS7jXfC^xLQH#`^CKF6igW78t z$z)q~j0H`V8`_moPq(B&(wf@VV%3ZiKiiBpTJC2(-dXG&KYheSEjz5D8air9Enn!8pYEYYd$=YczV-}^*x^D-MWc>5 ze532)ro|WqW{SNKqY)d2`V%<9!WoNaa8VzKV&{107OW{ZnHxGGL_*4!P@s~kF#87a z!l>vB2m$%_fJ8kb6O|Plnf)!$r|3y{fWcr`L*nd=1~yA-(`rUVg0nPjQ6-aQ3rmJ&(eM-w1gjV#stLdbg>17?nzb5;pmJPgw=C`ZRK@bx zERU4Eg$~hIp#eIJG6pghbfr!AxK+qt7FIA^tTz-I;>}UTN}{yJBXL3^z9SlkPVk-c zQ){&%RkJpMkQ^hC^7V!T@?8QK?wX>}4ernjv(#+C7yPG#kGOYuW)B~N{bz$CC_Rdb zDtK??aT^*d+(k^l)Ea{!mVBy5c!=~uPZa^{Kvy;?Q+r;2<%T1_vIhpm$hOIP zsERFpCP{`8O5R|CG6d7@0rD+jKUexKa>2m(77p@se+Hz>XdU(yFSTnT+2jK(-D;hx zgB5t|G6F-q;E(_nT$w$Hph|ZS_YY_L+hXn7XNR(~WGCRHlJ!xlfUO+xx_IYyS6o)@ z9^!g&1@}YNAxQWykxG_o^i-(}Nk0W6gTbuIwzH6Q45@-nHzyhgFJg$(c7bk?xs@v( zVL;eH!NjnaMF>7N+{zCSYza?tPOxszlIQ5rl(K`AAlU5pO0C9jo}a!a#f$D-l#^XGsxPgqS3GGbxB#W$+CpJrQDz6?%>SP{C%e z+r_^PDd~#yD_R+%osiA~Rj?v0!8a8V=yBd|Qq{vDL3BD_Nnaq!W~57LfzhP_3IbOZ z3YDFTV}WptYO8siv9SFTLbR!wI3*v58NktV8;=v1Q0{2mpS*(^f=uad`66x&dV_*b zg65D>Eh%tmMr7FgX_;H;lQcFD9+RclUxyBIi?|j}W49+$mGoCu(__u?c+}wbU+?=- zxujqsB_0Bl)w{0YPl|_q%D)?b@@nQq-|kV$AA`MI@<%SFs0>y^+eO0kk}bTG9g!y1 zJJzoS-t_@MJ4A<2D+;lTf{Hv14@fDPdRmkYeK_JmWV;pwOz@8OqDd0-FY2=bP$=1Y zFbU6Nq!P5yyg5a(E#2O?3hbFfabF#oXoNqyrE`48kHs zOuh>3BME|NAjw!GsyZ8487oEuZKI0S`y{2|^x|GJvk7Efl!sbqQfI^h+M0>OBjhY((i|qFvpd9hOZj z9;{GJv(?305c?tgRlAX7W;rYN0{DUNp#eU7S+=~o+?ZS{V@N;L6M0XsI5_N0Ovvfb z$dp3$t0{(&f5BjdxLyG|UF2gPQ%ktPqHrz3K@c?JrnJH|*P5saL*y158D~>;ELRz- zba2(Iw)r;@xOCVnL)aEys!}GB{>alqE70<)YDC3wFvPm+Ai9_?!F-cqc#2CyUZV;% zGk;GtW&`v`xM|)IByqnYM31{IeB^qIz7oDHUIzh!KkvK0MuxN?Jj};UlQf~l(wqu=Vhr`RkAv&{rl^skY7u9t0>Cz!9Af1zshf zT{>p*w<`y&hN=|K5XP*Ow{^9IL~Dl!s^5~qD! zt+d&%8fzQtMZUc?Nwc9wNh2d+B6)=E4jIG2$rTAEvLf0SHM`B$@=!ie+MsF)aW2SY zHi9L>0t&OnqopxH#HCTxJ3;K|ew3+Te_Du3&R6O5OPE&+XC8ys-dNx2ugoTxhJ*;b zI);SMg*H-(6-s5WHzBIL=E7bYa@iSc$OsAg}p8r1iN)=si-0Xp{YG z`m7yrzbs?aIa6d*Cy>T!RzvM6qsnc`qE(KG+g+|(v@KpQ4lnvjMRw9(nzX?Sbi3$4 zGBiX{Me&j_RNb|3I#d9Yx;_e8b&fG;2XAxCIolM=x?Eedx{h9)OJM|sChHFtyIk@I zdq<9ktc3YAU_1LB3>OAWP71jualEVi!3C7#aFh}W)c%OsPzA8cfuu*-67%daWHLCi zhyCRI?U~4t72L7&jN@j0Ic{^$;2n6BO-2*Z0a+Pn37JpGDCEI?q9HOM_nMnmZFi7E zNybg=(+MKN^x>&{o~njVtsx;=W4{zBQ3leg<0N5(^e_z&MDu=S5-16amg*Q32U`7) zSV-=_Tlal1rV?2pAYE)3DyJ%*?s%Nimwr@GKB5jH*90yR$QEG5Wub4r2pMOBi(noJ z5iw09pLhdBoErW-_+d#()$hfy$Gjq)Xh{aXO8S60(~vfMcnL>b<+Z_E{XX-;+~GN3 z2vx=o*JvRs!lu0g0T>Z*GQ#1)&lQ?2BDCCp#-UF0+RNQktYi@#T2z9W-PZ6a(k)OK z;mGQb#$Lf6csp32|_`wW_w z-VEBw?N^>zV#OXdu~w3Sc)@hFGc-UE**eujlIRkaQDd(mWQY}+F=N8mfo=$n)gyX?Bye8EnlW`&bWMCT4a+2(67u#aCL$GDj2kF7ZSfwk(IM(2rH{A1pX5kT;!C zSh-7V#>#pSG{qW?WE=D4BUEFwij}g+kW8}>3%D}zG}WmU0u?~eQ8e?+k?cLBpIRg8 zGRzaFW{%EC;E{H=p)pcW^LqED>Zm>tp+4NDC<8KYUOBkR8*M<=dDP;s2`KbpP=@%& ziv-U8#}QUv5m=$Rg7P1@F40R>-}e=!OUu?E?GlIvm%6x**gFwE-UbLJlAch@2ycS2 zq8%ti$q>nq6JHerCypq^A;c=8*ud2+u{5c)i+_~P7$=nElIBpHGbFNFWvQjC5d!#d z610n?$-ES5mvk}_Jf<=Epd75CDzcYBd6m?vjfIUmCz;b5w3fo8 zVYwTRaNYCp7^2mlaP7LhMl#gEECag5FejX}xHO_q~wW~`vZdV5MfhdrfhTS@6 zpxRKhLWTj|u;iu{Tw9Kk+akA>`=i@Nrc?T_au2B?chh){LRee-rfr;t9Qop^oX=7w z2^(wPt#1QD_nCa7)ChgCJ3rfh5v2Bs^ zlOJl6TS|DR@=-EDjW~ogBOaz&RB6<2n43c^NNG(3khm`zOFEtae;Rj7(qh1LA4V_H z#k0bSam{U;C%}|4JW=sPltG9dQgf>EZD3m3%n|s-u&$JvQ3~iqqbO0LkL(OxftjHG z%+H~Be3>9_QJ4qs<c zAtelZZAQ>>R*I;VnK*EY*DzXzdo_Z7)fx^4)cqM(Z*{00w64>!6#CgeF~rf8sp7#` z8)DAE5#qQ}yDHKqF*;cI^4_xGsF-$E2`fVz%ovZB4-w3=hX|X4l5^X-WIw15Jk_I3 z4{qM&d-0DOnaoaY;*+uiH@@zvx|^)7je|>`*dieX;#xQe5Xa``)}~Th&CzIteEOhmv)Spb_PJ+zBt+Dkuq+0~xInuq8=D&=CPjgR5plX;Na1p3{yK6} zhxNFBWiL;s`2>fHY!#}A>0rhZ{pFl;^2368e%K2x#-%N=YV<-k!zOl!VCX9m)KDN@ z;K!JU}y1g~q>XYs;FGajl2vXDB zo$$Qok)p=ay~ET@yrH9P{$Vm9KUpK2U}zGE$nwYP;tg>`Sw&oRMqG4CL6lovKu@AF z$y(_RSfuO>rM69(|7ovrvO}v2UO=bOV}YmWfr^9$EA)=;)MXP^XU2CTpCd@JB8(3Q zdD%%xH6{eBrHfX-Kw2E)x{!~wD2p^l4DnRFR}(mKb)+Wpz?H@n;&_sowV=dBmQ#afM3}%*Ey@a6Q}5ak_Gm_p zw7#O^Az8(v#=M8b#%pSfcnK3YS5&3wiCveZ$)qviBl-NMfyAf$$p(VW6$XPc30oCp z5pL?~>6&CxA0=*Cjxp0ZvE znxgNw%B<9trKr17g?;&Yx(8Mq2K{0x*oa94`u=I=+Ox*BeU)ifHyP5(BPDEMjPOzm5}|zeeG% ztg9;CRV%PCytkKd)&{#4W3v9Tw8*yERWpR7=M`;2>St_6mPh1&YEKIn>)`x_+t6+9 z6T^lKk)8*haDKoFHZ_>AQ)vplkNSO5e434bO%-@hw-I!NM2(^pA~o8pL^!jkVU;eL zZN_HRnuj^bC>7^?qwz?>P^Uz>A{p#Pca&Bo(?JkkjKHyO zx*Uf^s}(7{LthGCo+=8WM#d$JH3GhzOXV~ahSF%)RpMjdmV5{vbty=V zX6&uEp|Sv)WuS08q)0=zFFe`;)bxJ3g)G_O%sS@0nrns-*+Z)|sM4EBm0Xe+1Dq74 z$uAsSC1?XmYiThr1>anh4FAPiy)ycyJi+Z}Jhbe(E^)wIN^ldDr#lF=rOwsSsr8Yg zl}lHzr^lf_A|(abS9;7CH@-C%heD62!8kU`x4F?;Yd~fDgvy#CEn!hK`jg@4ER)5| zX;<8mLsd0(RD{!69gkWXD{&>7NTo%{1+Hm5M+l?ZA)P0^h1ttDuz-)|b+HXkzB3p$ ziY^3f(CgySfT*ewfq0Od3i{)5lrkBH3erJ4#`(hQ?t+hii7GA;{2Q23mbSWGE+J1i zT-(IB_sCx2qxTD(dWtb`uN{hpRZOLc>Pv`TQp8E+C(Z->aIo4BI{1pvwwp`w_4GJ*t9p$FoT2@@pL=@Q7DIfdlh*5?1< ze}gr8pUp~k?)X+Rn^Nmw6YN2vJIrdA*p{BqB4O~lxG2?Y;!1FUscPac$q%W`_+ruz zLWdwDgR;VM05oR}gI>E0lDq-ocf&du0>N~1@ue>ZGY%v(cLrR0q#ST^Qeny{Z z;1_|xE<%>|h72EK-`^S}YwO4f7Fr>Cr9WB6L=ph!7vau2%PTmr2mtQM^0-q^L}!$h zL{W?k(>F-X)=O8QoXm@1|JvgPVX2YE0QAVtk=o+fTkD|=L0sib>mjJg@woms5=`hW zw-E`#6&Qkklo4>~5nH`#fW$Q0r@3qSCC*&*2g{xG=0;w0MK0SZ>x)QBRL}|Pr(ktg zL4b*o3dG73yc|^Iy@?9d^7V?~cUd#*9L&;U+J~t^F@z_Dd-hW16cT1Z8Th5&+ec6& zO*qDkCxdH-k?^R(q?X8JTV46jdks0E?BPgen`t)!WaW&8sR5svX7h_N$hgIPBFmhr zDi?&rAFolAgp2~`_MpB8)~If64Xk&`wysl$ZiVAUa8(whP^=y`#KMaYhH{)K;AJPC zI+|0mO2pI*I`BMIgvrESou7oqC@=F3Rkku#3^opvkF7!-{Z;)Lvs{Uka@X-Xk+xP_ zys>wQke-5n=3KO+2@@13q+n32;s_zDQrtl{^jH;vSylDi7*GQ{35<#=1*6U~R#C(d z*-|}iqgAM60a$vV=5U2f_w8C#HK%I7-N6@%;)EWNs>K$!+cE(+HrJ?6u#uN!2&;8M z%?W5D9mmq;WwHZI?F@R*TT6>Ks1mpXGlZrum0(%^l>9cPOLE}=~ElT+EIZrvRR)sm=lW(g*j0}b|XH~BbO#QPx5h>VUkavQ7^aP z97^?ww*z~cl1r#D>XQy)o+9alq;s0!&7+v06Ly&IhHtal$V+1Jf=}2nMZ!o0L(yop z%4X3a?hk1J17(TX&Nb5(%mvA_qPRLIg_78Ds0;rooMS}=bTA!`scSV>qshtXbqE*~ zIxdNrAh<(f0N{1KcniwgpR9~fKopxWj{4JQIwZ*>!^k0P8aylbBUUpUV}muKULavZ z%aSyV2TOi{O}HN_^^zqOvRut-UKaEQOI3F)JFF31Jgxze#2G~@`J)*XN3^n@xn^*y z=@{f0nLnVN4-k+A#4gH$iBwtu(O?!6ivY>e%BMy;tRxbFLL}=eu`rYgtz{_9?Xh^J z;9k+w!<}FcLX5!c`^b{x-ERxM7Z|UraS8t*$%pB^UMO&p!U(I=sxTJ3u;d1!Nc6g; z8Wn7k5`28t9w{8om`xV$05X}Dy~0LO?w)duGVh2ZQp}`3{@Pqe&VXETBB5YVvQ5*I z{NG77v~<8wry%1JmMu;Ri?bpNMw@6q;tJ{svKwWYG@047K3T8Qgraw(DrF?IB0xfn zuu&ZY$Phh5-ZVoTEMYAm>}hXpyjGc})>@;sUA&gl?g>i|8Oj8i%U*h)YirnPoq_+K^ z^3Mh5UdVdNRCJVP3oV4M{G>9YCKpy;VWk>4Q@B;(As|nVTBW#S4FJ_RMJQ!#r6xI2gm8)P=$^Qe3Qh9ILf6bpwCCzgNvaVhn7c|rtqG= zskTJt-)H|?C(UHzpdrpZYCk&t7Q9k#rgt4>s(K*0Oj1c`n5JDkkq2ahK5@b%KTbYx z#E2^WNb=N-AttnyP~X$<51O1k8w{8QCYU9w)XP@|OYsV;7f7!Jy%H594+%s#K=O9n zf>C0rdsj?X$&O0UqIS30X*O1~)%B80uH-`f5kY7*NcJGpVQ*Tp_8r08B->e&i9j4E zLWCx0#|FtI>@u*|`J1ZS0i+AOS^NY{1ZnRWr26At*(JP=An+0r`s( z8G?_QP$-|lIK%OnwS`|TbI23GW9v-OL=zOrhq&Is;plKAVH`}ikP_VHWE*Uj?VL(# zu)%=jc7inp{B33!=f@cm-82ZT!=Su_8rlM9`#%cakhwzjP;y?RfKhgl%5TbO#>bA6 zjet~{Zz})<#5B9g=Q+Z~@69Vb6MM@;<`l&5Q~U2 zD7S(@kz)M(=XA&lIHFwKFzM_e^9ZS8lud+zT(x{w$rG_9m7+t~IELJc#@Nb3piRUl z356pbh%pl!8==-gQnXr^H`4NPdC7>4yVvxqsLG(GFh%6{r6%cih;?@ONEZ0GFiW(7N zU4MSo|GIxMri-F!0!u3m^#=3m!C+&Mosm_<5R zKua!nvKFvR4~!5@MT&1XzvfIKqncM?e$_~MNnSw&Y~BTjT6l?#0>)6>1Rys+70%KF zrQ@|ChxC9QI8GtVg^eeRF7fA1T%@}E;PEU~g1KU-ai-HRntTf(^_ieMTpM;t%rPm5 z!AT*}m^5Z1BiyA;B*=Pq+EDt3VPWVS(HSM&SY!w}<)5#bgm(l~gdw}&VkZpyd9MBK zkR)%lNhD>!A4?*kN$3TP0$Gr=CGj=~->Q|+KACHyy%ns0O7Y3DV=P6{O~ZDVPr~a6 znq;F8cgsl5UYNFML- zuvH(=_h@vM+DvUi?1S#8FK53qBX`YuT?$YTu5Cs{y>o_?6%3AJz?sSro*v^Z)hj5~ zvx!wPH)wBnq{hI$N)qs7s5OA2;?IHgStDWIICHsJz~rP9(0YUc;MQRtv|gd5+p!sa z&FdDZP*dAzXthx+i*y?Tg_`@RG{n9EI!NN7pp0JCs9u;tp@Ze)5+jF+Fv2V|CnXp4Eq;0RyO;@=M^Z@2NG6>Qvo821~Jt9MQS?4&|5_~ zJzMh#hE=o$brWmASYuMi>QFI~-gpyXr*fIua&Mk;``J(6*Ba+^4qu3?7;8y!W660( zAvvLB%(N`=m?6BTs}-0OiOP)eAacoLWSr z#lWogSr>o~rM{T3i*i239I|j zUPP}1Y|{|RA(_%9TqLdJ+}qw`CFK*Sp2CO>iB^&Taj^augfB7SFt#sT%ZmHlFMbX1z}*;3SczZ165-M*MOK7# zv0cxGuTWpH;|slW2~!#etMVZFjk4$PyWR z5{*k$C&>|1^XM@2RCMxM`b5ED)o3S40x8iHI@E`oLI{CT8w!IJA&=L|NfD4>D1+{| z!cAoj$c|>MW~Y-a{eXWB$W16rtAJQ$0ERFW1+I}gthpp<<94C(D-VNqtE-V;&;G4Ctbk90uIgRs;h5I9q@+gaDovRV=O8b zt(S-9t<83x5nN($p}rbMOwR4BVOUSAtSJI6JV-|?AyEp8lo``01*$6ev+=d;y<(qG zZ6ignBV!udN=Yr2=aTrr=UKu*>*nd59*R0FXoX!LXJVjW#WtDIoq!oFFiTWVg}x}C zg?D7ghY<`JOGo&I`$yEVITW7C?L|Z+1KdNlaO2^N;;KyHv@)EfJ59#D&tOEyv4#4K)6jG zF?NH~MSNA%TNd5scE~m(pqLTM0t1@y;6k2umik>QSH+y*(UIgAbPQun)|AqaaIM+~ zYFMPGjX&!XH9(BT$kax?Uq5g(|uo9P?wiyav!aLp5jH6YTO7gO+3PeWBt&E{>=;ml} zFr?(A@h+@t@!VxAsy&M2*lg|^1?uRanOy)~&a?vB@{MeUo#H(8GA62rw>+V_&}K+1 zCB&ey2#a!y3tNGEMA`4c!kZbwW*jAy@J=Kg`1(i5!@88$PO1eCFgptg({hMFj`?i- zJxVu*s&i-7u(*K)24^TyTz3B~dZY*t60S@w>WYyN{D`(uTS3V<+hR&+H`|M#i|Jo4 zSYz%;Sx<^qxEUoOd9dALjSXH?5{ICG6kt7wzyw(mawcA8z(gc;DNPa;Y{4TLbmR!W zs2y+|aB8KRESJhEgujG_H>F_W`VE|G#=d{;ofS6=zae8!s)DFfFKU<0H1!W>505%;V-Vukz=|QLy1q|@UZ(oiGI>i>v z;12dr!59d|AQwDR$UNAs8$)Gfsu?a&9h^D7CL4L!-QiopIC!X>w2VqPl1gyr%bo|>N6=AsC& zzsY`U1BoS$Uke6;$pa??S3eyJ1xp3|C$p8tsdJ|m7>J|7;*fbU$lGfy{>TCH^Cj<0Kc z>J1n8rHa%_a}22zIuZL&Wn-PP7+56(2xf^iKu`m+7#H5`69(~HSNLf{WN>@7l`xpN zs0X4wgcgBHOdIZ_TH`v~`+^(=pX>534KJc>lNPzGdJ&H9g&IR?C?$fDSjIzI<(XWE z5gK5Hh=mdVU^?B(WH}>iMleYs42%I*h*1TrD1M-%1-p$Eqj&*5G972}&t|&|6DySH zu)GUIvlP4l{1$%6fmy|7JIF3^%C;J6i|cUaBe;PJ@)8h$^B&f#h=B#{ zIw9+dY}leYyhW%`eHlNZg1eTOQ+iGYkV=IM!}U-m>h{V9244bY58O{QDJA3#RgsNC zlthbp&#d$5Y>1%AZmto<#Zh7k!v%`gv}P#h2ZOje=uuZ9YH=eDt;KP+XVYgPSh~{T zcDfC%R$PR1%5la3281>%#GpzP?yv?{#91Rq5?8F4QR7DuP|H)x$#bn71KnnZq2wfZ_u zLWo1x;|uamv9{5AUrSeXgJ!#Iu_&U@Cf9f4o|wJH{E@^ygAv8>*mp#rlBKu<7BcZh z6%Vrqktn{mbkM*ismG+X!FMA8esSRDgc_kLB>Yj2*et%j`JHl$3)(irrR6* z@BsHpT7jbju%}cHXVvvLHe17fk3wdqP^-@1Ft{7?`f+}J&r$9RqzHCuN9t&;K9M7Y z7%8Q;lyQgH)N*!|USn-f2;f4)8JTvFo z*6kz8#=)$=he}v%fTSL(VL-}K3!ob25cLsz^en_vM_`CH*Xw3M0+XTPs%gUx97KyV zj97b1L{idS2Ow(PRwSBL^)Q}X5&;K%r(3ghMtJ>pm9mI7aczQqmOmuoV_xa5|5(zN zh-kp%#IZ;K6(+=?WleF&7#0>Zn5_X`1|W4TPUNCqu18BCqbth$lWH)DVoo#;0D?5m zJ14X#C6f=4PDN?#I%P>}SzK?8$}ol)O#|_?h6cV^iwSr&i&H@$^@YfvoKSXv&yb5) zrF8uZ&q9@Q(zIFHX{??cX_Yu-Z54Y$o$QO0OX-+&HIhn~$JFy^e#BxGem3$eE9jst z)Q1k_!E53OHHBu{8ddO;c5ocu66GK(a)y|ToEZFN>3QMDXP{2XSn`EUiRxT*~MhI}Wxy|);R zmQ(_HZI%xQy+#3TRi2D#^txT#8Agl#DSQmwAmP=Q#;Ew7QDmKJf+S6{XH_<=sw;>z z$_uNVF0FMyL=#^vY*X#YO@fEyOs8Y|2#4tb^qDroCSrdhTZD0>Sx4f8(!05Tp#O1V zkB=8CoF495Y)lDBv<3rj@nQ;!{oy+Em!x$USl|ocGk6BOVFVL`)gcv)M*C3N+I2BI zun4oTe$XgI9ia=X2Qo}%6Jl1#3=uw|j8j-+;(qu)BWN^ju@YI0#5!^2% zYsl*1mMw|8!(ld_ZH)2nRo7#*on>N2II@V@9?e-?46=-?Ox3r-0aB;Ox6*8xRRu}s za?@FSB1o2*8LAzr5O3p$sx*g5xUF_8VF5;J&J(8m4>nFvb)euD=x3C(!JU4zes4=G zjd8jc;HP_8%|8h|{R+Q)`)+J5QG#ujb?6WG_<1pIpYr!uRTY;t#Z{Z?GJeuc_n3GdQ@TWY zcr6cyKjKXJnDrRRfl6rQ{SbMuj4A5E2ouDVL^Ie+()lP`S?>F>R%BF_ZzE5;m$#Ot z8>{VtWxY_vu)*Re(eT=>FsDeZHI&U7onfLA$pN%wtnv-A!hju`$B-Z`1%1%ZLiIo= z;3yoR{2)@i_LFoVZFJhDrWr_|$R{IWm_C-nX9Gnj6dhvg73N1I67XIN<7Er2 z;s3GT83Kjt0A=IKIde^N)}bxR?JQkA&DXA$x~+EKv%r2cSzZQD=zo5qU5xV-`v|M0 za#r~gd5CqDgKk;-6t(2UaS7?AZICl6G?gcKwgTPWb>{!%Zwh`LS#l%OLvd})%sG-b z=j+!NIxvOW*2-5`_+%=k#o!}u*Jwdn;?O8@y`S7Xt9{;^N??Z9ELO(Cvee{F-W!JI zDAq)%LpcMIuoRqVnGjZJ*p?ZRbRcL}Mc4RN>OWd@mXpBx&MO^J`ss5S1S1oK zqGXLwSPUAAIuKM6f-@osKz6)ZWra3AUj!#uMFvxW67yg6PMiXXi&Iwilb9g}2?d~u z)<;DOImMV^m&=b*mN7+*Hk{CGhS@GJO2ZtA3QMS8E}|?&bL6%31ABUwTE})F?W_l) z!ed3g^bd2#)v;+rHUy>Z9%Qa|@Z*&@?R7hpN23zZA1%Y6IukPMHhqBXv80OyP>6f7 z6QOUq5VMLmG19tY+?r+uA+tT$;CEd7ll`;#4SGkR zIs8Y=h$Q?Dqpp`$2DDh|(?VekJScLF$D4{Xr(1M}x+f|k&kwd5=B8D0~SLQ+s zG}Y5|jiG2E22LgRkIQalP2>RTn3mCgPFw#bKuRyH#;y)~!pWzIlL|g}f~N>6m{Wj( zQ}q^_2XcX00}&uTCpNL$vVd(snBUg6qr+1%dg~6ph>|AY*zMFf0AOip}J-LB=aB^11 z3;}y148dxa^jXw^;fKBI9Jg~w7y6=~EoccKbo5@(Xfdx+Rc;{_YQhAFvi}y?#SR@X49S9|E2bUPPm4YQUMYe*98txkF&+AqutTe|$0>VfA7@&{)l-x1Z zwi-~AO(;c%0-6Wg88;~IRsqfmRFw(_tLUM-{7@+Aq(T$>s2^(gF!f~kTcpUi6D$$l zOV_w0irG8fZ47Km78CQida+?q02bL>XYOi$Were}!GJw7vo_xbT-T3nrL84USY>32 zx$*HOSYLfliS6^ND9_|qw8eg8IC&VT%6mZe?Os63iMVJ&ljysQ=5Reg{I&iG@9OgA z2_J*d@)#5vNxAd2Dc{FMV4?to|0r3HKH7!)x;J|VT!xlZvpn6 zaRouNV!CpB>|p7jRj!D8*|14p=>`@--vAcD*Fj7K-F1Lk4*5W();fi1TJ2DMZwCD_ z=zvje*;Z~P9w|s=GchtvrV0r+*xW^^r69`I;g_~R!6E)+QWXDUf(rSBsKVk(bTs(` zMaI@*faP7tjjpL%su&$bSGpAQhq3>F0RzPk)F1-DVikufUnlniz#1CBJhVi1)LT6~V zeuFc~3KWU4=nw*vb|3u~Q)~Wde}DfI?)m5m;%IKM>bflZV32|MAw!q-8!{x)k#K_~ zBtASum}_1kiPOB8lHX2cL3$`De|Vr&TINr-1pHCixWd7Qc-yQ>Ci$)dN-Sf7WZx^l zLUBPss>WI4guB4_P;`e7Dd~(q#Mi_r>hVifJu-yNt?4m-mx0ys$)v^F#m?ZDa=HOr7$_R_@O*Y z&!TkvZVb_qSien*zbk9UqR-%dG#Yn&v~zf#xD?|tO_;U zbvz1c)%Dv^Syr@IJWd683?-`vcllX8t=?xcL6~24Ebw^I0rTpmd=!o*q?h!gZ%vk@ zctQVM-}9>-%B?5@qA_YNr~H_pLL;rE<>j)uv^3=Q<6R4olI3%wvfA2OZ!xblDZ9=h!UB0ImhL;1X#j_P4N`{z4JzjQC)%gp1Nq zU`As&pq}^%{(0`BjA8A~Nr@;8HwywSt7AutIup|{25|A#!lfeRl=;djkjpreH<`$< zBdBjb2Q;Xote3<3*RjPB@#D2dm*QYnYnIx~N{t?L487%H%NPvKVL(tw6;5asB1A!l zU8SXAxW-gh(rjEM9T)z{>;^O0LN|pGS&IV?iJNYzK!S56r3(r~IvR?E+ix<@7OL{8` z&blOICOIrky6ya8bu&uIBwQw0SLG^ZM#iZgFi0Qo7S<#w)`cJ>E!xXGV5vLMcRPKa>03KH52!5^m%$>%MB))^+@M-2WzS5r&!{ImZz*YvyX1Ks= zY9ME$l`5EyD_Frpe+C8&BLB+z;VLLDT1QAJtRe0*GL*-auz9n9hq-)|=!(TaRZM)0 zsu)}8Pq!sHCLSh{VqBsrtaYKdMh!$38x>W;dx4ZuYytT>oE==Mf4z#`^$<<115I*Z zM=C<*LffqTY_&RcMBIpwtZE+@Nhp$|Sg75L++8Fn^c@8>fC>N^-pXA}8w3y16RYL% z5!^)v)NG){${ulWyvcL{o9>_tPQn7lVnvt^P#y`fAC!afbQ=2kPg0g*5ttW0{SSh~ zqRO3QME;=~QO?--X+l?AETH0z6>m_)Fl6HH{`SE@VJ=K31d z>nw*aA^^gXTGLPL$k~NoTL(?P@wuo)B&+rv;4XD7!R9ratn&^}BI^jc3AZHJX1t1E ze7MwHYGf-rS<=%_@&Tb@bU`rXr+fK{B9v52ViXo+K$FSlvgWrjJzWzX7fNZXT6D*q zq{r_Lpaz@*B?LsYXus;_1=}QYD}Dp8aXsIOz^dGw_RfkZQ7@S2r-4>tFsw+aR`%&s^(-vu#CSe; z52eQJXWcIt>zAuMBWa2&#bZZhf+qc@B-lUOe0v4~Q8c579N{_x#aKaca5=?CNig0o zf+4(GRP)s0s6?!NN<Y^1s=;6Cg>`^e*i67MD)PS4IPyED_1Q^4_o! zLA^OWK1G)*p=+6AhlHgP8D~SrrBZA~7zuVLc8GU9gRpK!<0Z>gD?h%p#U@t}Q)G?q z0%Gp1?s+w53Qn$?SH;$ZuDRU&g!VU&CiU3a#$eteDxR!XeYGkfE@@8wZ@eVj*H1FYCIX|)p;(_#P{LvZ%xOL~} ztN)?#capgbxQZYs%B}c8R=?JMbdD}Om#yHvTpKy@hk0Km=oK*`QWEi_8+^TK3iKma z;>ty$5pavQ#a~Wy-T6)7(nvf(FH$b{XhIznT@E4ieK)&JfTGIsdeMyzP{d;0=(6r4 zkWjgqEH2>K|D6^_yyXJa5aepvXGbB-QSIK*{kN`D_4&+0K`WY&?Sff z_IjI`Ze;Fh{L0cuMugkfMgDsI5}TRA*8Jthk5q?+W~(`_rV9(~f_R{SYV25OH=2!v ziSty)XJtBz3m&=%?}vOt=W`znwWDmG_dGf;(FK`+Xz}>{v9wuePw5TjQ;Kbt98-U_ zl-n>2L(~TiGnWx+G7!F0`&1OPCyqpQ9}sBI7~YwPMiFU=4i)1swPCC|=VAKAkYwb= zq>QMlVCD{?R+D=^$a+xNf8A>OrS{*t+uUt|djJ8Ixm$qfTNU*(<%H zwQP!xOX;5Fibx?Nij*V$1n&Ky2&ugNw_Mq~CB~Yl9&=1xcHIR}>xV>?laISg{x-6*bs4iHZrTjTVw_wKe{2HcJm?fj!0g zgzFmF4~;M|Zwh7ZBxa&IJ*I~@+q1;-KBGFIATzougY*l%4-Z6cLbpkvEW)w?Zx7( zdkB!v$!ir_4&fJb?!1uXamp02!o~4(&H3%fVANP^Qi+OGgw-0Bv4>CMfYcVMP<3gU zUS5gWTB<2)yLPGC^>TGt#a1nTY621+In6Z8kPPWAMhTjS)>8;ZS!3nBMtRb?(V0J9 zRlgMBpxMMUt)PX7Q1COB9R&A2RKf1xPN%S_(2pcZVpr%J*?G=Y5;4=Y|59T zLK}Kc*ZVkV3Nt7A6Y|Q==6HL(gOEpj9iQhR6HBo`y}(YaeTc?Tr>XRajQcAjUZ*hH z{YMmx#l#Isw_Bp0A#9xITc{X7V|y>@E?0tNienPKE%+vPr<9}fBOhA$<|-c8yLu2) zqQJEkV8!4}WARc=!?1Kou7`)@!Z}Sxq()H9Db=2s zl85+rovB8O$z}UYGTV`;HRLvdQocoTDMUa6D?)iB8)p{{oR;B-Rh;Hx9)^5T-*(@+zk*>Thy-83AR>Dh^#ZsalJo5rdRB%!p-u@^95v=j1?GPB04l!TWU*wLzL+tQz!P3i0jpb_nR zx}iwPh&qq1Ic%A80YfLG1L}afJ&6H{2(2*o^F>@njxr9q)2HA1?o%?d-CcW}m~!U5 z{@Q55Q`&sw`q2RS(HnuJ*9+iS9_%jHmV&L^vWrQb0Qs3oXwA8xZIS%W>i&}tP7j6Q z)KKw)imCaR^z~(+8(*7}_uZ|526M6C;l75zF23jFF)lpC`Aw!!41G|VcSJ+hkN#D- z`S7SZ83We&Y=M~KleRwgKJGd}&T{dtGP%k0<;27SpF=J1jOUoGA3rXPRd61^Q2n{a zkF5Meby|ELV!VV{~= zE+a)z`RLfs+AEsXwK);HB&*rf#RRWylG-j3Ny08jm;u7}h*W2QUy`^#FI_96ozmp9 z4l{+-6NF&7koV=N$+*-pjmujrxWgnza5hF8g~@S79n;EXVyKU77|dY(GsTRB5e*#a z36~P*iJWX~DaVepBYl97)+W;_q>qT8I#nCf+-~eVxkJR&T6yQBMDmLUegZu%TVHX* zb@I2jHI)oos~f#he}{||K{C{W)tmE&ptV?HhzM#vdgCp$LLp5#fZ4vjGi$B!6SIx0 zS5)~hF(?7QDWB3ACXRL#Q<=cF)4?&^D(&f#=MMB~HRC4Q>-&TCRc^g+v9-5js0Nb=5^paKTCd&#oYzW`NJ_tLnffD zRBWlaZui$ko`{76v5-~lUwfsK5T)DblyGQAfM#|&6Kg_O!-L-H(dqG;YQaQ(2(8|u zPd?I%IRIsIz(@&jxhzv>QA$HYg+TG`80_9H=6Hr`x=he1&{Ew(TIz#Q{36`3rWXNY zB4Zu9YkLQKdLN|0db7jujm?znobGJ57yVJGJMu~l{;Ip#mv^iBogj8Y&DCHBRvz`J ztM!W%9`2m)xBv#fp=lo^;tcz#WhE+$>41YMH`lw+A-yT~*{FVV;|Ev%Hpf|~gXrpn z4Q-@{Z6zxFdD280v@bGYwF_>+jiS%h$ zn@$;iXcH8=Q{iGP43gkBHYv}gnulORc1YRR=f0H+l2Q)8wd zIc$@tUTgH;$9w#o`A9XFFm`D)nLBj+Ts;8ITmQX_fWaBsZ-;B$I1t<6T52hw^|ukX zO1dI%d!A(*o4v{AX32dd5LNOKLw5TgZv61dPgPIz5^D~uxhv}zE!;mu+_8wwfvpWdF`4q!ToNxmNLEAhUB zPKwv()yyA?`NH((?@hZmJByRT({>3&n>ctUt zYj^W6uO%tRF-%Dx;ZCjO4NwJ!H6x`~r<&b)(L3J7nc;fu`WNDLlKfk(b@_5Kyd!;W zNJjz^X~D67xQ8G^#<6;Tvh|(Y{d~2#lYp zQ-kg~kkMi5TyiE4jGw;hbMCdb&)in&%fx8v#@D!t;<>82J7mGc9Mk+y!*5UlZVMFm zOwnG!>sd}$6M^0P=14aZE{OE<`tHm123 zN0Hp)KIC&ho5NC8&HhPm+TGOb`6~~F41GJFlOHawy^xP9&MjarD-!FeIj~hGX-b5! zv)J#ucYYco`N!q*f>bKZklwZ>rt)kW_|%+`b~Zf6rP8Xc4kvFn1%;EiCT(QidxJmk2;IYn~CbF*|NM@jH8UmfF9#tC(15K zSVteZ#VLUmY>%16(uWc0Ky~57SVW}?ch(K^AiTTaKVRJ9W|T~1#DZrD?K8c~UBf%N zjsQh+IZqk3bl$zaECqIT$t7NNDbeF-)1u#MFPl(VVxfx7mOBu)JY~P(%-k&^KUt;{ zyMmCeYp%U}xpY@wnDZ`|x|#ZULEODf%L#YM(2EpMP;xiqtDX9M_Ly~S9NoKKs>ma& z65nN9QtKJKm8h_rIucJkCNbg?)!EC##{BJ#wAMcVy@TDYiLko%{&Xiep620if21qM z-#XC(=H~XOfaMa(W574hsuAYd-@nQHqA$sDRkP@i{-h3kh9O>JLySte&|2SRSLrNPEIw zdzU0~WcI6bcRRshcd9cd5SftJazZM%sS*iK%W7^=mVxECG>!r{*M;L7MqYDZTyLpH zW*!$n1t~%41kGix1lztp&Tzf3C`+Nl!1UOd$)ZB`(}$b`Qd0PrJMHX*UYd20DzPD3 z>=!YB*e^-L6IfyjtWUx)EFb7s?3z?sB`FqrTN;LtngHcW`(EP4OUB5>S(VK0H6Mvc(o5fDU8GM?AE@d2x7k(Az)QX}46Q_Iv%^ zy`BEe&%dTFR`5{pRYaOj^J!ibP2l!s+rd9s<0-qbSPW{@TxBti$)j}Z_#pd@gA{!7 z`p#hO_}ZZxNPdsuW)*~&2Pb`HU>1Kmnk+_f6ZvQ4li+*|c!~$GrEBnGe|9Y(wW0Bu zx&#KRDw8J~l!COi1SVqc6)FI+2>@o;`);;{%ImV0_G?RF8wshY)^L}PmP(e!YG+TH z#UGoEC#|;=#MV-J5Wrk>iVQY{U;7bE$Vrv1q-4Ncu|fQ29dZ=E^d0EE$#9 zZ}t}h%4w)gb>rmNm;9j}W~VusZg$owLKJN?tJ(GQ1HEwERc6zkfULBI%*plrmG7&* zt@^o@A6WS*p6KmjVl29>hNUr25a`rLF3&C^S4v){m=WTVia;96^0o_BKOudb8QYI9 zA#+K|B;;N2KOBbh?Z26$~PDRieO=k;53>c}=88*H=WV5=V`39f`j$}$a zo`(Bb8RZi!=hmjs7waJMh#;{(9&4i6Dk_U_P^<=o8!TA1r}lqkyjRl_H0C85+6ltI zS*qbQik|HqffFk1s7ws2cG@3=1dc#?>am<$`4*C+bjQuKHue%pYA@46rWC0SR~I0634?*-9)kbP=fWOz4ff>$MPf z9UL46veQlX09vs4)EOsV>=NLz(v%|wpUcz{{M+pt2Ow*V7&PiO6j+o)#EdVE^lKgM z1e!vH7fze3373{TdbW83?Yq5;G_a1A4aday9X3wWm8ZDdKrO|Hf3DIEv0fdY^dz6n z$wZNh=^o5R@#jnU-8G+8R}MALWqhL!>Ss=zQjs=~k-epLS)z%>FODR$xY;A=iF6Q)Sk zm=Ac@_tvVTBUpkSGnwdg6;QcZEANRwSQ*P07Hp-L29G|DNcy(&N+)uu0MU!4;5}=@ z*9UsIaahAP6iraVS6U{mILxH#?mXf8{IRVGVhjN%u~{Bj-F*0R3v!HNPWVYhxfOSz zZYQRXcUm0ANCqa0e#*S6L94&JE)bCZR=h7eMaN}tHgrXj$=c#33DK7F4$iktMIT~U z>5nCN+Z~UqucdjYw9RcWs)@OWQW~ZI3P z%^HMeUMMe_iA8;P$ni6hwc9v~O@T4sJ_<74(uP@a-o_(i&f9*kxjLMSTDCWL_sp=9 zI3MbkO1mr^3QM3=i@c-~2I*Hs=fs=CNDbQ;@`-mVSmwBrS4oGq2!foR+2G?}5k4=v z$$il$<5(Hs0p1K#4CkY@&D9{_+GjWUtnE<*d$scTo$s$6Z4OJUIs*9QJd&LHrNzs% z3VPZ@S~q}o=o>@K3ds-`+0+G zv@g7s_%eZkMi$zz_*(G+sRc5U9{3if7Td`tZ10g}Zm%^MO*Au|jvDjrx&ClACq_TU z*W;rVDEpkAYjuYMqRSQ&n*vE}C`*aMn(e_3-icM0sD}Mb;Lo>UBhnNG4A;~B+H@@x2A7U*fuTQjCAAZit&#Fbna3i&`$4R}+>jbkV;Tb%zA%n`+iSDoV^# z&UaGWLFn^V>z{G8m#*u~96F)3qKS*+eOx1e&_{WwusGRsGvcn(^Kr760H?OacG$7f znFqy6v56l)L z3MDnY?Yt_HdM;>NE!}#|&N9;d|@)baiWctCtZpB4_>8@zsqFBg^adN$(+a z)@a}IMK~i;f81I;IU8+dUPIZ#Yt;uS-D&-B^7+dq47VpMhA!8+uB%L zX~Eo7)o*D0Ep<76RpbNQ1F6vAX*qB~RFWJuu9YFlkh;}; zmioxqB__`1a1#y(d(#XUqB;t=ZS(l%#r*MXsFmRxxNoy!xPk!NX#k`_vP#2Z7obZ8 z{WaV^$$uHro;Gq(aRGL%jidx54LarkMy*F@=Vwf-W%$AokT=p&xW<%@71c2))L%Z^ z`FH*CB*_Hj?`lv+m;!1Mb5}n{VB434GB3me8%-Xtwz$!-Ig>;3tNL8!>WS4)@d)ya z;<>_}8TB|BCcKZX93B!zxsCP4{EC7`mCMvMghVJIv5<6^iKNqgv)#U;g@HD<@QjOv z=?T#;`Dr1_lRQVU9x7nLWrR?psn(HheBZ%da7k%^Ze>i{DeXEq|5AZ=$7<-u?B3oR zBu{KIhD3^53A*&|grD%IVSB&uTT3feGHh?w_$Y$N6lFD2rNl zh3bm-$}A6oeU`N_e=!cY3hvNfOHVaE#nMJNW3|_mi&p>G*sAEx(E5+kcfh|(qdqx+O*#Y{auf@Mjj;)|oVn0zxG4+{|@o;lNK4|~@_BooJ@>R}!w2_ad8C(4RAFRHh z`gV5Le^T>oxy{=*4=X^TKu6mUH*=d$kE_vdOnP3{hc&e&J0G-Hs0jM6d$pFN{xAuVq#6tO zjJ|F3wH@~?I2N#pn_J$rn=8ScZf3gX{(g)-Ljdy<5>Sf3t&Jt?BKuIxp3Z-n&_H)6 zJbB=ZCBcZ*EFjh^Wed@v(UaX3ez*FS-=C=Wt@x>=RdH8i>Y$@q))i%W7WzoKzR0wQ zG}5kkreYcK9m|*N#4owDRC)EV^wL&7GR=d6G|002AsZHQVDsef=8clCKh>Bn)u#ou zP2-syP|K9A5!lwHZz&~8*Cy$-Q;)%sMbZ;aZs{x@#+N_TIo7;4Z<#RTN zm>W1uBzZwVwmBX4brRI@P(g*nX^~#zX@--QJ+N!Z!&Kd;&7xXuVF5(gt){1D3T_Bf zu8vM7*;?=**HeTbO~WwVsgn+I^4Kcz^cD^|d1QM0C8sVXVMHJEI33MPd+xL*Bu{yB zU=!&b^WU$0OZ8PNU$F8O=~7{1YJF4e6Rdqqkk=i2CFY7?FnYAME;$&>Cke1;+3zZs z)6GKc%owI7&2iK&Bj2r)t8Ui=9Wk5OEnm<@Lf+<5vutQh^tbm|chEBkWTPi6)BK!% zF)Q7F#AJDN&SK%HqbPR2L7mgZf`<_9_8EF1`(sg)o#FA7+$AA9s(zjE&IUORSNj{e z|AUnuUHSUzpRer30w_U+Ws*Z(ZSLst#*qkJQX$C+xZh*`5IJ~7iW*02pILTX2no8A z9jxdh9q^FVV0~mR;{R8A;+X-iJ#BhzvZRNDzdhcg%IS*ViqWChH!*NJskRo$6g^+r1*|hU%LO8<) zjO@HHfLJ2w-;KfC&H_Uu!L30GbyF=ED6{=1WyX4HjH%~yuoQ#PL{b; zPF~JE*C?ke>yxlm(!aae7$OTDP{$aECoKkBd?_Hr$Xgq@)zir>m=P{R9Wm&96Vj*G zF-{~nt`ejshaAc)awOuwan3;x%2d0+Yh)_01zH%u3bo>SGWbb&6-AtHcF3aj;U<#2 zy2LE%IkTftQQ^bTP~+QrJWhx24Ookv8^7X)tR{k^a|><7k+@an9dPH_7J1n})GL_Z zkqHImHle%K8K#cYa!Kmf^Lts<`j zCk{imKD)UU-kE0UsK?ME9AiQQ9X?XAZL2$fX60`*ude)q&=lF}KbdqgS2&I@;w3b7 zp@~}kcOkb^q*F*K6!i>YT{m4zRIz*|rg4;eQAg<`lNjUa{6tbq^e?GNBu9wf^jo{_ zl8hIXd!B&kMJ+6mPRZOS79C>pxzds94Aa$MSZXuL`jX2#K0Qy9I`ZrTvB8qQv9or+ z$Di;t%7>khx+trGwCujM8l#v&n|@E{u`IDXS<>SrTqePb&|0HiKL~~pUWr{7JX^@j zG0JgRPIg`18BOs+O3*mO#Y}`{>JC3ASrxg3Cc!l`Qm}3d0^ZsE?CyaOna#Fmg~oc_ zTaHl5h;?KW8Gj^O831kqdlfhK;j3c=BA{I!>|u%^SvJ5;1#38C3sIOZj-jrZmD)x+l_C%e^#2dP0Zg#teK}ICRQcbqDp~VVY zB=R%S3!k04IDkSH08m*H%QwEHqfZxq-xAUtS>a^)QbYoE8FA7W!f>XqopVsuE}mV@ zTeX~PLm|4Xynn0q8MnDsC=OdLIGQx4*(R~x0W8**y~Z!s^XrRE9XTlKQs`UjGAMYi60Jwa77sr9!HYLrz~HgSqgt(9S-N6{56!q7 zSrKwt?otwuRK+T>Q`Xk4Tr7}!*|=U~tA7fM+d|H~+O2Ky#omA_i=~oo0p15+V}WdxaSU|>YrS+D*R3RgR;xc4D(xhy0uMcW z+m+#lL^a8-ow|JtIS)581!X+?H{Bt*sNT5bR$+*UeKyUGet>`6yqX_g`Dq+|3oG90 zE)4|YKB1+|OnNRI>zcuTmo;UNhr#(8=Pc*A2#6}p^JByZ z_`n&omNCkM$xJ0r$TrcdJkH=jY>=O|IT5iSOb~L<(*!hwA*rqTGjr0^pPfG=73pY1 z%h@xFI7l9609^&xRfNa+M-!(7Eof^1VrORC8q(>&(rT^mnSGh!l!V_CDNmXg2jn^F zZ_DPb4<@Wnr)uQ;*kIIJ8>Ubut|mrT%*r_PD;_`@ks!I;XkQr)kH?3PY-Q$Xc9Doy zs1qMiplXM`La*x%@o20(dT5QeAXC_^cBB+iIS|pINv(@;RfxZ}-di7Se}AZA-~TDe zs-EaB#IT4QrfPdU-!%Yvk|c!0C;s$bdpsGjHJ!WsDU6pZ27{VDuKR_liKg7+tIRGc zI?9_dG<-NE6`i#<{n=fJ#>IS)^|(q4#`NGL_7BV-3z-UQB^Luw?u>|gP`zu*0e*AR z5fPXrs775CKxt<`@avW9cm81Y%bW8|UR<0EmBpYNX@caY18s_)U~JGR=e631O@>&v=h?36-CR73s1mLl6#beBy7t4?++Cm?f6h;C_EG~`L@+9vb z=+;=QVSmJ671QG+f)t_35M(~TC+1kYH3rxg;`}Zdoi&=D=7{p$SZj?kY+4HvV~>jr zT-%)LswG;*&`9ShRz8G*b<(G(#II945FttR%Pdvv`UfI3RIsrzn`{R5?#)#pC_<6! z^wZbcuo&ElOf}R?ri_wfDkeZHcD1G)a8wE()dTQKgTd&(-!Lt%Ia_$165?)eoq0Yv zeCA3o9fv8==@IO~U7CT+JX# zNv)n4{r&{1J9oTub8q9AS6c8!4vD`CUkT1-f&7P?sNK+?)R`&)`YBw4juNCp={sk8 ztRf94MV_StdONpvnx(gCwQ`KEz7$=hj|!ToNhK;E8X`0k1rg%78$3_j;b@MCAPTaO zUY`5-(y6Ue<&lWRg{nPXLh-pu7Mn65sE|gTC{B2EDW&G!XAn#sMMwe}sT4gEIC=dM zGSU+Y-B09J<~A(qVNRlFItXb zBF#$eAu6@G+20TZY=nf&v94WA*+INHf}*eeLb;3C6@5U*3jfEAzq#@w)%)2FqPs>vrVKa&I3{P| zyRe^|OiNr`So4}EWtK^JZYmCty2qLW6AfVY1`{3sP-MY_h_0=HgjMnsAfu!$YTRl( zgl6}dl2E`*B`A@#4rkSkiL&f;!)aC-BU$nj+9QVDJMGgv4)58s?Ep>_SFGJ#RuHT5 zw&_kJh%8$yox+FVMh+*&Ok>{#9>0ur)Nzs01OV6O!fS7)F7!rJJ(n|vlHepF5u+oiZ~J9)VSNE$P*h3S^Aibbd=bh z1hBw;uz4{^vc>)<0;+>dX9V)h{D5?-iXYmLuVB8GdD8y+?Hf-TDl$5~v9Hy4C!b)N zD5Wgzw}R_qusq!<&J_*%0o~Y$gF&3+9Hv@DfM$G5CTrV$Lln%GN}j`e z%r#E8@}nW_g}OJznGD}JxAT*X#vb(*+q=6YHC$7UZe=XVs5iBQdCBpWSLF2)UP}6Rn$LYxCo(cJ{YhYaInnYFIY6`q#a8i9=P# zq#SO%H%@7j$6|RIdKuV<%x_3=t4-J8H4CAOy0oj@OYHM%X$2iDklb3o`z2o!OA^ zgk0zD)_5)TTzCFv^;a7oC#b%p`pwblCHWooU0Z{ZCPgF^c@guU(H1!RJ+g-YE(~2H z522HO6)`6x5+aviz9d;ncPs*mj}tgW@}i=+7g)HKMp5&4{QzJy=3$~zb!;k-Fv5UD zxjbi%=MlXf5We5q<<>1)n-N@j$u~-(p-JeMe8W`D%k*aCM-glpE0+sA*9ze*F?Duv zOqk`=(E5&^%>**5?ow5^n$(v_%B(x<22m3M8YLtev$SrDEppFrv1c<5H%Iyy81bUD z`H1MMmDbOWo?jgeR+~ML-vYIyO@jo0Ze$a%7wKE#rgxRp!8%O4tAJzVlUQt9TQ{{^ z%-37J@eo|r^qXdPgJ#hRTwPO)TtX`KBEdqJ^hcP5z1N+}+IH8bqv6>?xITWEqkhiX zWNm$CZh|+1k9;7B)O$&-Y!g1Qo#!N!wzKj9X47XJd~}y9rl~xsAHY9@t5?kpk7CVH zV}DTU{5U0LkA8hiA1>XA4My{FcXTxFEoP(f-pN6MnXex%oJR_bmQ~j{)1s$iRGyg7 zy5!0rwJV8gXmvH*(Yhxyq>6tQMD#}QhN!HIA^I$g6&x=%r&lM<6ES9Lx7)pi^}!?v z%+-y^kAV_P{$6m(Rw~b}%6`dR5bebr5LyCk=*jdD7*XisCkM*Rll$!b^Yp@G&$o{{ zo9)hY`(T5_6(Sgn&GhnhOU$lpuf1}agq0+*Yw&3_ zk=qK$<%yDHYU!M!wjKhlB($xmxxsXp1eA818yjDqrkE2GDMeJ(7>G2tznOV9Z*KP{ z?TsskN7LQYgOucwaZkWR&-JkUT7MMJ{*(n=SSKpH=K9hT|7oTpwg40>*23b}Jk;-z z%<^q9pl}{5pNcM}B4`{Bc;LE4DI2>v=Tj<(ZmlPUwa zSb3)UH7h^dc+C2JN#bC&jNtHQ6&Nk|;899CDuKfUQX{E~@F**#(M9BDv0aLpML3;w zepf^|wr9$_u3CoYX;3SOSuDNV{t6D6K8U?>cb#63Ihy&7-`p#r9hM~^o3w|9*}k$a zg#5g8-$;FDL0k%Z2~lrMNB#bl0$)fhWBp)HqA9(>-e~vu%U+;iL%ZzVOD!uLk{}84 zkD5(ryjI6`R4lFKIyN{N@bluo(q!}7|7qDuhCOp8o7wL*13_XVu9mH&kXv67XdTWU zbhDWdTDmfg?Pg>5p4|)?283gX!r?F@pA9Z6%KDz|Y$SkQjd_Fp{vkP&AV)TI*95Lo z5BkKNAJo(ScdR_N@}?!}7PD2pD$>FWJg8KBsMu9Hlit@Kv@ zV{0tT%aSSK+G3%EZj22t00(E>i9YVEo3Rsh&>d~|4^Ay!qIG_8{exOl=CnU9v#Wd6 z`^qsdB5{7PAWVxbjQueS38f4(AV# zX?PW33_6(YM4+M;ig)V?7x@xKbc`th^lD(#@Y_aT zM~Va^SVMxaMh$~P`wc}s&0Y{ebRTU7?$ZF*lH6X@^)#Jkk|ja>)Oa6`D!@;0QRbmn zztcSQUm1#unI8TqPiS^eKKW_rVk!?g`dka{*Jjc=6(8OGCeG>87w1&jot7C-Kd|!O zsHNiCot~eT)*I2hys<#8`Jj1Hn_9I{uU`^BiltgU5&%U};I;F}8RQVEkd96l*sa@y z#FZ4(B999gKd*8v4>Egv`2>upde>mM*;F-`2!$p=f;&7YB+4k29NpGRB`|E}J>!%g z!*UGB!?P5rvnJcy_)dhTx2b$M;q^F3-0dRdW8McPT7Ik2>vt8Qt3Mg7scmW}<*uO^ z3t2#s4eJ5fa{495(?YVVEw#SGa~F%-C5KaBC`tB!r-<_~h*IT}h)JS7st~bb@_WNFlOoo(#GklP zOzZPR@hkm25~}wIWL|k}GKeqGqfgPSveUYci2&_`%;Ymp<->GuZQCY{tgIItx>=4M zEzFb`FVeT%q<9~!GYGZ6+dP|{-8}czGH9u!*N;WAYDr{(IHTBw#tTl6yFjW-34pV5 z9A?FJNH#2yt)Whw35cIa-v;fgYz`-MwhoTR(e4T{j@A#1L=z=|G%Bu}V%hd2MSxua z%Xy!vYQEWYHeWMxItkBo2TnL5k|kNm(r0uyo3($bCi`Z)T%xB-*fflun8D~76@}m) zy=wF=&)0j28L9W0fkrGl_%s&!jx{z%>W2uZ?WcB{qnkIbC4McYvO1h;n$hT7S46vR zw%XD7gNt{I*s%KD$L?&H;lG5X%VcvTdz~6E*Q}F`unq^kHx@M_KC7>uxB)ox+{BcPn^BL3!f2q;?a9Zp; z%}h;;en=vMBumWoUp2lJzUv=V=hd&H|3XU1rPMQ`QRwkW2iZi-`W2X_3i1+=eesOy z6q08knE=gH=(NUy;V#U0`@($j60pU5IHKguge>F2rsYmU5ABrAAD8qPYIYtFfoRJD zK`q&}ntMy9tNBG4O@g7qRIXT-rb&8L`pY@ttb}b7^BPnIS=&R=yF%eOqif7MNneCXXH!AP!Li(x>J^SSZr@;wWwxz5fE=mOUtoq7^an-y^ zlV(rW0J+cH#UW7TS+c?sLn3qc%<1+gj8JD#owC*+Tl_bil+ zw9TRihC!R%?nI*fL%rEl?~BfNK6wSDa1)c?aU&sKk=xzr#v?oZdq!;YtuP!wmyh}g z@|LgHBLOiFsy}kVozAT5(h1ZRgb$ez>z%99{&YIi%F1x?*(A*5(cPG??Io!xcr1w| zhLIsrxS`ZO_ve`;u-G=gAdSGLsvOE1_$daO4)Z1|s1FQWCjb;hhmH02tk@rlYBnZo zP~&^OJ%Ng}q_ZNqDMDp^wT$&MO6UYGa3uKL={>dI8bAc&zu+wLxz$u5OTDQ~UE6G~ zN@=;$QiJ5qb(dzGxg1icOeb-dqs>R8&2{Y6nH9g44kO$kP(`N6`&c{KJklb0Dg`bj zO#4Hs*4%H*H+lWu&SRpvU82M2(w+h*VpL3de{Im?OFeSuUo`$vCR+F3Lk`};Yb2i_jaFFYE2dWUnWZFc-k}*iyNKJ{?&ty z)bC-O1xPYLABEoB29#g2sPFh8#Db!lz02ooNU3M+D}sy>hb>X@V3R1{hOcr@vE zC9A@oDJ^}2gzmk)``*HAvOlsVpmZb~-K_a;4rEB-llh(h!>qbnXFW>dzP+|)&VhHr z-^60-5k`y{S2*vDRC83-hrnG+7h)4cHyJK_I5st=g5sm8l9JLy+x}teD+*VbPFEjG zl7Ts*$7{R{>N-E*r~>i|phMnaqLeS@R&Lh$X>=Z8-s%6s-?Dza?;f=vv?kZm^Rx%B zE1OP8$Tp1nza{H6Xk7iO_k@UwfNd;HQHjN3UwfnO`c69MJ6x8>Z4>jI>I1|ddJ_5} zN7n`e@ucR;$;w6b(Z-jp{Kb`DNHchmo71z?bF81_LxH$Zz+Fl=y*CmK#B`w<*!-_pX!9qMOGE9iI9KdI%TY7yrPYaM4>lVYgj(SIsCHx(3dbS+(*)%l^ zXZv8c&b(Po79x1pNRKaZ%$?x3YwWAR<&ry}c_}(FPLiY23_;mfK6kRdfTm6{uB_ z^Cq9M^E9+AZxrxCamdp!hcb%ZJObYd|AeI*i`G-1Iqj)5RW~@R-sVXYK0AbpKwmRc*7p}ywgXXUl9o#$A0NIgT%I?+u2p2TSoOdNAN{cAM z7Ao`Z&bPD!jxl5jAvxZSaW;%^T|Y;T)ykEXClJ+5vD}q=>lDcDn5`^9^8WN_iAYAF zQ7X6R7o~|^G!3)V*O%%2QX+V~EK-==Tci+IE)UWl#fJ8us{VXgl*ndRoq~@b>|@a< zi#}le$7cvr5++dgz0MW=QS7gO0oltLVl^SuN91Bkjlx0CJmE;eb(5DI1!mKdPZuA; zkoL=`OOb++FSVHuX>Ub63KfY4-3zxjiy&nRp)i&Qd`~{rAFqe>;O*_HgBQSkDkm5t zAotdDzH(H}sz+9SgY^W0C_XG@n|m)mS;~v)SvvdFsuA}_z0&nzsuxx(SYdTPOO5{G zdWB@L%E6o8fi7(9J!=VnD%t2CC#+sf{;I{4Fqta(C?yN^Vy0w4OO)WBvzAt*)GQd( zI6&+SyJ21Kv9__k{_~ehSxifc0usW?puFW`*0Mf2TET~N2Yjn{O)2>Z3-%Ne-@lZX z1s}TA;GS-o8`D6Sk5oT}F28BzU+}K7LZQav#{>;YEp*vIm$k|B5L8)&-b>Za)Kq!e z;jNW(mGivjTu}Y`d)Z*IWCHs2A$fpakDI?ZsJWnQ+`UZj_wGH-YsqcDd|B0EhFr>l zidYJ9VDnGRX$o7Q_9E0vK~Q0}AP_D~TWU_5UsB;~&Cr<>cvSsl^(Z?0=jgC-G`tX| zD^ic*^U`d3R`{74&Nar)QbRAr&iwov2-f4p>>R|wlA)`hAU{>YqxynU>$H@_mn689 z!!M{7Q|;8f!t@cnjzV3QiwS?1Qn6*V6UotgVX4?(`V>j1e@{$nVMs5q>@VxlAbpqR zXi<{OdbD7yh#ZQ6sHd_C@y6YHw7RlN6RLEr2>FTqP_63GrkBL`+KNDa>h#W!t^CTy zcdh)|m2VH;fty;eb*!#>jwIvD3$ejcYn;i|WduYdWcT9yGzgXu8b2;pWhnuPfoU=e zrM@)gB0S>+@<-!;T_mIw@mD5WAjaGCF9MTgRTrP1MZtn+9jm8c$dxiKuUR14Q{?f! zGOj4k)N#e=9?4%^7IINRS}cs_)o&yds0bz7qrr4g8s#uivLkgd*XVt^Bf;OUGYY$n z#z{H>kX*}Jt~!!>@b<&ha;3l2X5*UwOD)$_lO5R9f74SKlE$cNxe~kUH+F)R*}e0F z)khoOx$<{c{w0+?b@x-jDa%?OEb9U;to1QY79~shOC5=lqNttYo{{jd&11^LMd=qIFK#+wr4MZq?-!Md3Fu;*%Gv zJUGy}e&`ZeNuCFwES?V^HOBd~{nW#>uU64fAR{>X!k-`o6EC%N}&s z_vaXew2irLeXTAJd(LDEL@uS=U#|a0bh~n{k}Olwl@@))Yj)U78Q_U63%XdfTVJYT9LTf@#vns>GG@cVpa%P`&9f>}tj%#DP`UwRs zr8cU#!kBNZdZMT9Jk?yhd9mva^;{kGT#6?xoLWGeR6J-YpL<13BjDv~#;P%RY~1+U&*pYN=ue~<`6@#<}n z7(pCE9p49fn355V>EVXu<}w&nm`+4oGOZW~yH|I2l9`N^k4zXrHj&|r6wv}CVmdTu z3-^1Atyy9Q;xcQcFPXw_e<&1(^Yl;nwM2Z8THV^n0WgUv28FbUE(VUCOJBe7H5o$m z0Kmsad)Dbmly-v;0_E*J5ubKV{>6}2c5v~_&=w9km=CWS8zX?Uf#zGrvoB~cLtjx) z|M1FQ8B?Rk#t4EwTW=%$s=Q%c7xj&VCivLRlP9jJt&Dw5vO@g(SZYxB*E_lK_ zv`jgHC4wK;Jt|Y#g|*VVEO#WCg)wlFE)w|`p{ivsXz&<=b0SK+1O&e!)H9?9lJ)h) zPS@uxTHv)3LpH+V7oX^Qb?WsWREHc)4N*ooCL7|d+LlEgj@k`l6AL~F(O9oXW~DRt9h>+{qyazMa|E|iLGOFRy6=bjy%cUS^>SF z+8O+r@QoOdl0-s93*)qg5PQHnf?HtIdfK2cpIfcIF3z5Pw`C+1?iK{pS|*2!lqHay zH{NBVzqQ($BoKxy>mAR^WDW}=)cZ|0?tX7dl=w^JBHAqe5vZbQQK7mLaHWO|dESdBt5$ZaKL(*bU->H6$hHt?C3sZEne?Py3vMNquY8Mpx6;Bmhu)gq6{IV~1#I?$WsPPnUIiKURIC z(Cw|;kv$iS(h~WTDa)f=>B?^MEqPiO<<;dZpSU6qrG!@M4Da*Rc&9H>MR+<)+|J%? z@*j!9SEpRhD#VVc={Mn#Y;&RBSr-|+tV+JU8b6Vg3%x4P6aV3%iufq4du#X--h4R~ zeDh`f9!-`0z=9-lCC?WXs=eM!roS=%hc7Pb>r-&3XCxB&ix&00_dc{#H0v^SX*lv# z5yMYZ@mIY^Q7!sKlo;TZm-r?9^}+(bgO^p@XO0A&CFFW($zZ?wJ9fEvNB5$?w~H9! z85yn<>kT4&qv-WdS6wx){-`|oj~Bf2rNny)Zr2~U)>B0QoXl&6z8@&~Jn2ivmaa^( zehYh5-@gP6rSt6l&>p34wwx4CrBHmN#>#Q^M^^q~<47;Lw`UKNhe`u%k7Tv#5QWt6 z$whHNys-~JQ?l3s993s2qdIC9)~*hue>T=eTe~XHn5>zST0I%NOW!{2sQX3&+AksS zN+s4m+MJrm&K6cHzqvlY0%{R6eIUBpysl!56w*Ie`&^lYR*FPOrL|mhYh`2QdSkEg zr&j(uLF%8Z{!iW=Z5o}JRJ!STBFiOlpCo=ZR2vw{Vb zQykFSw_Fb89>=s8+~vznL7~JqorFPtwj2g@TAGc41V*!!67&oaI})5oEm?_rsY zv~V0;#!J>0!0OrRZ6YCWPI)TFx7-6{<#N+lwigNRYd=xVR}$HvRwMu9O*02g{x~9 zd?FuCPm*{o8Mq)W#E{~LuRS&GXULD9@|zf#6ARdg^h;aUI52EYm}wbY0(+#0q1|uk zHW{#ikB)m8;x51<2-jWVTqhl&W5{B;C!idXAQ?fDex+?b+kn(!o(nGw=rq}5s^ zn@LEqdPyl|su>KS^_@*(5et){?1@pcZp}Y7Hun`EqQ5sze$eE$LFX}RHWyOxdD~~y z5!$VeS=k3Cn`y^TzSG=rA64~8qjA6NYus#ndL0jEEKLzwyVy3)u*=&am zvW)!ZW12qF6M`GXGMP<}gBmNEA(ayJgOK&qYX|9LKf5)mY6KN1h5_oO#cBo^=sMtC z@>85nt|?KvOfJZ4qSs#cN8~5n@C^8t^Ady*s>i2s?K}c}zIAbObXvwu0;dh*TO=|_ zw1a!5F==saO4vM7H^SA~61quRB5p3+NQqe&)qJ~Ps+};cP68rx_VW@`JdSr!zP(Is z>{rhmR?iUCQ7q8|rBeTmEuTM+mmC>NE|a6-ZbBRj620a*tioD#C%yUFcq{EsiGXw} zSQnJ@K3pk@Uf5qy3?397C3ui18sDbyGS-_$iJA4%*^P-!ER4@4I8OKz zV2zCZAh1Z`ICaVPxF*3!!{Y1Xx=AiWA?gKB}E_RU4hV|V0w&WBe`gf zP@r$_u^s3i@Y?>Q--R^t@l?Dc8+)g(U(PSa9YjLfYe!3YMU_`p6z6aH_Qo=w$BbPX)+El&+qE6Jc($1_5a-Fn-36Q! z!##PJSm)9yL|4i5MFPeGkBRJO9$KcCr>88i(0 z?Q$B*C^GWXpD&tTch5`!&GHq1pKvptuEZ5d?c}7=&s**E?>?Sv`y0OPZ=t2HK#lb<9VE3Tc+m6u+Ydv70 zN)GUi!`jGheLNaN#)_#Y>_hP+1H;DbzEsR4k|R-~uk4_g$fD(7BUK-DIA5K2k~&6F zTy-kMzzC1TC}7<#f#m!MZv3>q8o4{koUOZV=%4g=wX<|Z8&8*ZXMMI;3R-xJNbbN8 zc&f^*Jxmte(Ga$#VTr22wMlo!AVb-lz+2qypc+0l7;KmRgH~YQ zWLw7y+D5b!ag&_7vt7G>EiQ4)(%5{B?vuHJIWQq!dVy;!JHBIP_9Wxmvw%#l2*_sj z-EO?Ku}aBaw*~C%V$U&4FNZ5w!SD=D={;pkT3qXo|6`m|tqiI^vGPwE&#aggM zwC=^?td8&@6})kNbgQ-jz`mbqCMX>f;i+n{I+pBcjNdzaCmSD1S2{d9g(u<1480HH zv1PcHzosL1t^(lv(dMLCr%24b&fW$^p+19p!r~2G0CG)}>Z2<^)!1D*cTM$xtLL=p zSKRxMy16rY0>&tqdOA48$BX2m&ijZWXm0sI8 z&-{zLLPp=ap?6z*W52H{Vr#uLOSi0|)Umy@z|o)O3(Z-amRi14zrXsb#^>s4pQyP> zEw>lXHDgE#&$5lCCm7Ww8XdHpUSEQ|qPL4O)n#%1oGDL9)iQZ}eqP}9Sh=7I@Vi!7 z%Nsf}>r+4KPW45dcexPJ>{aby2w}TRrK*#P=`9ln@4EI~eZE$w{r>j5+^wREnEva* z-4;Q~X)7Pk-JoQITK)0SwA1NK&iYUAfYJ>yx64!@c>7KfH~=lZ-P4L}xY>1-$<2X} zf=?(2%MS7a`J>vs_*(S7?4l2seY{?M)R*6}B7(k2h(?f=pPocCR>y8%bigVhDv#t0 z*oX|p^qa~Hw@#i@dsl-}QUg`@gkr`n1V#i)nm6h$c(>=G1#;iD$o)yI5w@@dHt?Q| zp8#Uw{rPv9@hgF6e=k#ha({Ks4{Oy)zX06ntzHV@0{YR|aIN}xp$M(y5}%C+S2BND z)k4z^g==0d+p<wp=BO23aD(MgqI>CZ3%D}!6RrWDHuqqI?$U>JvayeTzb>`&StCV{wf z+Dux3rV&j-r{&YgFx-UPjB8*J>}lTHYT@^8^(R-ptoj+Va`1ccjgn2e48^)>+sZXL zXC%19%UEo;L|%V1uZ8j`7X=s=*U|UKCC)my^AY`#c2~YkUy8zM=ufX^l=WC?6;^v; zq@4c}gS%xtZ`A>~LQvv}(}e{MRf!45`{2>ofl_&Q^EL+l8mDUw)TCLGItmg=OS}}h z;mw9L1y4GW{D{Wjr&65&sq7`R`ZYYym@}d7VsuXT^JDkJoENSfJJHUIX2WN;_a1<17>6#nW1%be(Tu& z#i?a);qG*TETcv}Jxk#8^n8Bu_Ug;`2z?8vJ1^`oeZ{LV<(LU6=;V*=tOj9|-cYAe zg)qdo7by-wuvnjMzgvyz7sNQ=ZLj_)x1sODm~FAF{ORCWGc%JsXx^h z4Wp#rHlP%OpznOFxf0|GN59dMEr;^$ZRuJ(@4Nh|>z{4*G2BEJ{Dn z)KirqJ|eRwnAl9j8fPA5BGpi5_Y4GwAjqFlC4#eo5haEoXz;e;>UT@{pn%qj!HO`_ zF|^chBaLn#Z@l^tf5dc&AxE4bk?@ZiwK`C$G|lcp6B6L{2#Qi(;v=b0^M6o=3Evif zUHJ7`f&0?KoTP6WV;1~I%vUT{ClqrsBCEWB?dnj5YrCdA!}vRFgW$1AVy$f|%IfRd z$L zlB`IoUZwSGV_e`vhMD?g+#p|6skuH#Hzxn>%pY!tDuV;+b9T#SzW=sf}7jo(t3lD(x;@OT!G+{8le! z&{=pzwPmcx+|T-6|7t1IYN~Nu?Hpd&0V+~9rqRsYg}8b(Pl{ZGR}BIRm*@#t8dE3F zH|lD{nd`H-6M@MM7eOY}7Z;YJv#?%inJ>c2Y+Bb?@a8+tszHB#aB|daZtZS2n+K;S zL+v?rnzmSk(&|vhDYP2PAgZ&WLzJAbMA^JR9O4A(JBiZD8>fYob6^y9i<7j3{PDiFV@hvTEu4&1Bj zID<+RXaRT;{h$KlCMa}dUAXzECYq@v@{`BZw=(*XYe4bDF3Bob6m1gtuer=x^+dxZ zMso(rnh9hv^72UNx>Lp{70r4}_V9Bg@Os7oaIJ_e(W=N!wpUyP-c}k%>92YSx4A6zYYsR0b9<+oSEf&F?u-q} z<{ec#yvTIeFbSn|eRIM=jxRpwGIMEDhlrx>Mg>fo*P}Id-*wH*HK<9A4NCCAz%@c% zR&lK;)R?wbpb0wZ`m5?(Zm~U2eR8#PxT6JsW)tMlRGyXbyA)k7jA@uaUrx3+r#md# zwbhZ{dR(hn3dS5v1AcxNceU9ZDPMEHadDEfr2aCJ*g;)tZdN>k4%t4~U+uw~SqT57 zqY~%9gz!;CXVpEDg1uyq8zJaZ&FyB|m8L3^)4vT`mY&zq`1Wr!>N`{MJQNmMb>A4R zce{(;>U?WAz_I37=cUoreskS0QWq6PJJP^0wIY&$cC=P?**Rx>U$eUlNV_u@3eQ5Q z$4oTLoQTo-YQP8YsxJlF2CUCLQ0_Yin@@h|$>EmJT33PRo?7CoE8nR%-JgKf_`=dt z{~`O+E#m0Jm&C?EzQZay`^=c zTJNa*m)G#_3&8$Z<63YCZ4}s6M*RKIct2_IY9X7E34gH_26uj;`jd?xS^3%O-SH$- z_po>ltCye^Q4t745q5w87pk-v&=>B%b`6KsX(U?y%+Fdl5pSeGd45(VV_>v1y6Ye@tG7l}p508r*X^5U=V#{!MWB&QwxQ0!!7CKm zTH+YTi{d~<#04i^fDTSpBON%Bwd{iG7u+V&YhNp94n{S!<Uw?QgoNo>tfblYVAS1MP4ka% zp)Wv@cd!c?x4_cv#*>5w9(Mt&SEq?o$OHuOiv2WGW}g1f;?>~R`FgK4-rP{N3fk8I zPuRg?W>fo4Dngj{SeVFinZ{(UsXE`7Jz;2rjQ@{~jI?jIr?<(ek;_`!?fKYZv_S$i zdq<;F-2pNxP}qwj0?&;(S=U!0mI;V<^`y*~B`KJA{`zcEwG6ClRf{$~m^ra)90zqP z-R|DwH)d;#?cMb~2f6n_gzc1Axd9)>Ymgm0S9_9ban-T{Z)s`JnTvn7XGOS?Z;STT z&m!-voFonax?sq@*z3ptK!-`bXilElC<`Nlx498edX8%?DX$z~uEz$oqX>kg4c$E6 zMBkcCY`gV!*11k{6&&5ol@C|nwsMHGP}@oBlajlQ?SPN&LDHSib975{8K^0sx#~-u zEU&wf2gPbW(~p1k&aIVix$`qCUv#$z>T}gI7eP|j)|gI7kY7Pusq#ske9}x@Y`vQz zM{291uFmn3pN(Df*{k(rSL+rBx0nWDkm#+&edAqGUOnFx&L~V%{Xozx7$$p>99g1o zEmPkysuVGv8Ne=1D5yM`}@UuyykidqszNn z-qhW@D^*8if~ug>lKg!CzNxkDiai0ibKh+h=N{^I-yQwSem@hk@EWV6=9~5{U&>;H z8_5(s{guivMclR9DIDsZTBWA{qo7%>^y$#ionJ5m{0mq9+RDF2-76PRZ^A33ok7~_ z#D+|b)eYIRV8+ht3GfA=SHByJln!Os(j)stdyuTLBI}q3bGMealuZfKh|fg!4l5Oy zBs8g>(Bsk?7Z15OE?qO}sZIzc@etaHtd0;z5hd^fK@JuvAbx{!ZuIsCiBCi_l#VeS{Q@%EpwaD*R!_g^RIPA5uxC>g zFxzaBm+YT*Jb;2awP+rr&7Si!qA~_VNSah@WU!#ZMu*IwL~nPp^>B%yj8QI~MBII< z4SQ<`{pQ>V+wMsnXxUtBHV?YDy5r*wwSx-DHcvOy6(zxdRV9oKsl(cuWig>yEFF-N|*FH;|hcthRS8ECDXr8R}gJ7F!#Q+MT`KS+A5iTHg81 zvB_t6{4JYDO0^h}H;UCcdt|DOpIH>;qAh;^0B9n%tQxa{U{+ypw?e|)ijJ|$&ljFo+psQcy;@39}pH@Gaqz`+N=_m>z`}gWr`99CbUsd?n z?29*o9s2CUK#g8M>^OS)ps6FVo;QLa8@5$+p@ zX+HXLtBo7<%SRY|e@hJgJu55ihd~YUOH$kWN+NoC?S9H4j|DXSQgFuRD-SJ#X?$WR zq~1BK=~ocxdyQj|29zd5`9fsoUwydv;>!ba8c(|RisF1J@cNX+BNIf0oO=MqwEE~L z8E%wMxQt!gUil%B$fM+xU^Jeu>Q7bSr!1cSaNL)Ka^S+7ubfpjJ86|B5AdKq1wV9e zpMw3(L_tReyC`Lg;rt97}vzNyNOkwL;^k?`y4a<+LZ~_^An(zalm|=uDO4 zG(Y|opCs*9|LaS(jkx5A&o8#xuYRN0YOh_psn?HXr_mlhA}L?Z##wJ1^Y8m5gJB+C z)ed3NVcU0px_JP9`CIiM`=4}#W&uj>Co%h&%xlKf%XZhOp>KT9q;Kg*Mwj_~%(VY`2p3$#IM36JqAbaT9!P(&Q9{wQ?=KCgb8W6Q~IKY6gO{{6;aGV8U~Y>b-bjQ3O~Y9^`>8u~%n zRq{Btpj@_OEVK}$Af%)q@LGyPs_G~rAYlbZO~h>gk%%F3nj$jXn#4HD3jsymzn*<4;ShM50q-rJy^- zd5Ug9s=l=gDs=zc8?cWIB`AsKM*FSJZd-v@$@!+JPY64g1Z|&7323U|GU2X<^D_EI z8CpI1W;#p%0FXu#rGy>U0ibFu!1w&Ofpc}WD1$4}*3|N7MKBd5*BA!23l^iZrh|-} z_Wx0R$h~C9O3!k+=zjm|(SaPcB(`hVRNAo#Xp~eo*k>7ZQOmoOFKAgJ>%Q2YTa`w4 z540edviGDHtJ_H}kKbc8w7Cnd%cqZArr>i77*Fl0BRrip_{$eegmJXMcS~(VKH{Eq ze{zCUGG>GBA9({R`@)eo^?p0R&q%d6gAUWKu%3Jau8`hx_s+d(CjBf9lw$W*Er*&PE^_E!R{!cv zNp$?_DTx-Z1b(ymru6y`D!u;n!-0lwyeaJN4*7ajgsCzWzKCXG3zE4wv_eXVtzE@$t^gaiydvCchs%t+v)hQAjU;UM&;l`DwK&OVA4_s_m6eoc)@I zW3-Qy8Lj)x-Gkj`HBw4m!={VLkb;T~qBSE*&4*rVWe#nSfQ++lZ+{q2T@T#(zA3cZ zjhJsKd7)y#&7=QIiA;vjzE4w-X_`a!+sd)^S!ez=Ug31v#+N@NDVI9P(D1KE!|(l! zrs0gr;8t)EN-;u864?3T?5{;5h|e7259Io_?OE}e%rAfTQ_yasVBDXqe!lUsbo~Ad z(h{XR)TdvQ2eFWoxbCS$;`_fAjAfILp|E12fO<4&xo zbd>EmN&@jb@#3tPlEPB_tpGd~ga_l(i4iPj94qDI!!Jj=Kp)*5>hjxPJiTSD_41~- zIKd|x(DGlr)~?!jJZRL)WNWgMpvx;C2$S;e7mtJ~!Jn5k7AEnKWJPoYWUeM$l)0LX z&;AAlkKTK=M!$?)r^m}4^P*VtHE+h)xbyMlJg9$IeLE3#O93~1^64ynUUDi_GOQl2 z=1{1{;upu-N{2_x8o2QZ#aE+0)(Yp-M2_4y97?B(KpY$6zxK+d%ddHfKF45KK49X(|a_)yHZgn$w^eG!#JcdS3zMGMfkmkLPnXVg1?>hGkvTMd(_=>m8;d|6pbVU_ba?8#qt}9p zV0@%6vZ{McsJ)rCORggN&5%Gu1WD0a0wZ?8K&sYTzu~Q&*-YD+Zs{`a5|{0}!3TcT z!(}mQWJFe@KO9Z2X$}tYIbIFOQfJ406Aa)FwN~{FlUrd~`SCy;gS!IhxC>*L76^lG zWG@6TXjb|{07Kop?B8CZ7t%1n3OXQV{{s9%(kFGB;^*-TCynoT*klI$Z)2tAwfEq) zZ+Mf}9>i;}ZnuFq8XNxSuVPPv*8z|IKc8f?flGe<_4xI_ev@Axz^|XuyyhE?o9VXK zI6L|};PIb)?cLzJdixv6f#30_9C&~n_!Q-D-e?lwn_r_W(CdKjfA}>{1~r$q`lERM ztT7t*Z0k2;PNm@I z{+QD*lD~bUvC#Jj^SmGn{5s&6@6TO5I2nA&A76z((q;0^m~2wb_wmO=b<%pHG0ZP} z`Te$D2aNQyFT0V}C11_()%)M%s|QC}Aj2{M}}9d*7kC2uswI(o=nL$3qw`u#7n ziBQE~`VG~`)P;ZjLv|37->ZwCADDd$EcA_+kUToB`{Tdl1jgzwFt~s55sdB5wO?}W zB{O!f!vtl2D)UzgkzX)s@|(m8(#BK@^d&}3ny+k>UXWG~O7>-%Pw%@w{nM4~$)s){ z)V@dzb1u*S@0#xs&B)}e*i+3i$?&$RQnLD8BU~_B`J=SvKRZd6hGrfM^N4SnD3wkI zC5@i)z`F5&nR6IWUOkMlfCn?fp$r_&m@1EB!(tw<6bF{fe^*Ii%AeAuAj490Jer#_ zquGBwI>8*qjA{Y)%d8f25dEQ9`%1WEl<%_MG}JPruyY!C})i<0VBZ9tIL=0&@p?z-*|-H(h$9laKY{SO3~G#cx6;O)$!fK@bq$k`gLktwAG5a+!) zK!J}I5W#eMZR%2AwRyX_vQ@*Q*0;8HHyYz6SjBlyn}7ktLK$}sBGKM`*Sp@aXpE*4 zQ>b7fg15-6uIaQYcW+5D#-Z*e7NCQ-hFX0EbqPI@-##Ba#&my{Nmg#JZGLJsI5mj2 zOls`!AMOw4QUa56IJ8{dGwmJYkyN_tgG*PUS^!U#yOMN7<;C~{}7oXPx_{f zai5K`NY|@dC$GwYtTzQm5gezlcud%vqTxQ#@Ud5CYFfcK)^^1;GT@iLDFa?$S8SS# z_mXvaZ!&dZ>MQZm?=Sj$lUwiORx{v!k=)VBou6r3ZT#KpsQPVsq7^8AY5T*sFMfR} z@Yd}m!2iN)$0r?5aOe1Gfw)drQ$g{#{CuoBC z+F05Yrr5NOA(S(mXH;fgf_hS#4V9}%h(X_PA50~PI^zyMGRb7HjwNsSK#6)7D{!cWQi`Yc6e*bc?J+GoEUc@OPPj`&brjWB~1P^<$jG zbk>6<_b+YtGOF~$!M1agN1aS{?Tn`*uIq4nb3L7dfX++AsyNiVx2-TBpiWp1?qP+Wga1=l*}7V>eQ*7>l# zHc^aF1KEA5n@GUu<9}`O%!1oII@rGSd=rPrfa*#FVG##;UYz?z{MW`%S45B8Wy5g2 zX0@hrAsvDGL(c75wb$C&-|fu#uKg0i=v=vWrIUgM?+VQsa;e0?!(8iB5hy}XBq5vu zci&tcD-zNpykl}-sZ($vZadeLDdFv{>E3>?ln01bI7%s-D9-lXY6YK75#4AaP*L7K z?6nWui5u{vTit;&2hDNQawZjl>zl*ze4}9vciyrySoHf!Ehg8ej^Iws3#_V1Pk#)j z>U?&3LE6u$7LV1T^EEd%3>nNkQl~7ZYG1F5GxPD^_uf(C*cqnRr+d4;Q8v?th9c^^ zgQ|PbPYK3g3NxVwgONT`r6InOA8miP+O4|3!_QcTZ#47zuYcO}@+FIeSsuX2uax6X zZodrXPodo>V*6Yc4$sf}f!h<;JfGiQ1~W4nTOiPn8+CM(cp*{D2(QBP1VM7psfE&% zm8cvxZ$x5tPP%!o9Q{)v1QhJt%l*BF<=;MHexRV}4PPuG{^4unn}3>0iTy+PHW&Dn5GtLfoHyab7SSw7RW_NvbGM&kK*XVe$vUVofXQgr@o zK6NLxrGP_*Z%_S8G&rBK(j>@3c{* zCQ}hf{FnHHiL}-sEb_X;y$uI6*(&wHV>yaeiE{wTy_M6es82hsZstX8reIyMlq)A> zU9p(wEjd3qeZiiC#<1+;h1kd6f-iDs+Q;Fh#^%9vzWfmLR>$40+^s&{1z!n^;-Ppo z=+f=O0%4=^&Xe9>GpK9J7Sdoprz$O(he7_z{g;CrcNgz&@4HyU z=CbRUM{~jM9cvF;&}sKy5;6}4F`TlDwveKuXX;tDyXLF6#WeN z>-I56)s$;~<}!}2QB0Y69-t*qrJB}|uEgC~3{#;fnZWz52k#y&1iEdr*iUUFee=%H zMOn~I?+Gxi81KgnhSuG@Zb`!$lr; zcUz~CU;S<8y!+po!h9L_Nb*v$r^A}nWJyAGGBQ-2lpN;n4s_nj?t|t6TqY$wl?R<9 zJ#E62Wa)UcH4e8`E(;hWJV*~^9;I5UcU5>5(g9aL;3t42ROCYG4SPQbQvVX^(#hHja@RCHg7rk@^Cb+3#Y`=5)x&9ikzhs>4560C+AS>_xqcaUQIHrVUJCUK2;yo z7%ciW$vM5m4`a_Qnf9U-;nI+okrNb4SI+0BS1X%Dg|$OsRXJ4E=#cNEAj$U&vW?2m zr*u`d;;1~g1wE7-r2+J*goSOMS5cjt6y>P+ilhlG$=3KZ6Z(%%zEW={Iu-d{v9(BE zG9OJ+xTIbAryW}gk4kk&N)}N>eNn#^mYr7f?pASTeKm5zpPmtJeQ%aUiE_J9-Ynvz zNj5fV6-7t_`OJl8ZSww?ADJm|?KGCJZkgY8 z-fza{zsIJPX&DW-RZ`3os7077d?4XiYKS=DFY5Jpml8u6_1N0w=Hx5Fe)s4PBTFEZ z?QHfaVeE#qB-rh5*f!P_D%yt%6=l}!Pk^!dBVzN^9?Ifq-pnuJLy%&$hoM{U3>+=D zNV;OsJb;mdp5-UG6+7Th6Ei*U?y9;{d_*=G$PJA7^Mn;ylQt*DUONWcK!K0qI1aNE z;U1F&F7`>N3fBP((O@YGQ5G0a3@hQNL1`EgJf&kX-J>z12u@@SEg*K3T`%0e55It3 z#*`VlVYBQ|RmgynJyNz9(r>xh?pT|*%q5q)Nw;*ml($%ZUt;_$QAcKC$!Gzh9Si}- zj|)SGM5v2)kedFb)hJ7|E-@$j^4;$0VlS&sb^Rob(^!0tW)p6eZR^OxSPE_ZRw+>-#S-X2EH}JHeoxqAb0r*P-UoUO@a@PKQgsztj_r znrcSFMRNQ#9St8x`q}pwy#3IPvdnY_9o0#5-#ShNUsI)xCZ=qX3%z##LfY&sEx~7j zRFe$vy1RY)#ly5Ha29UT_Q#x5#P|4U_f$7rsw)`n9dZ&nW<_!AI%1I&A3Vf*gTd90 zn4hB0=`WeE(Krpe7yHJ-_AGnX&brLxHKz&2(x&G1ZTlK?uZ>@JE-I7!0KaHxKg4D? zH?}q}R7~cL$<^N z9lZMNdFto6Y?-?n7d)YQx#+aa{ZV_R>n~V>uD-9q{c5*Uh^-{LvSks~b5QF2o9Vbn zFr7r65>Cy-qn&%%&m@Gd!H9K~?zb=z*^O^ObmpWiVXuvxcsnh6t?&WnGku%Cu_*>1 zCbSKuh-WlQcPP76hf~Wjs_jrTrh!Hi}7J=71jZX7{xNNl&^z>o#V+u}-lVb*1%i;8Cv@?aK zD+^@;7BL`B`YAgmPaUH%86INQ<&hn=Z#!^oGEal~Cl4!V&{!vC&{%JL08Z>Q_ zj#u54Ry0o~sB9nE@vAhv0*t*xyd|K_)6g`Zrf7w803sk#cuHQ~T>YbZycvI*(MC{L z14M*^mrZqr@{_u9Zk91?c*Rk~*=6ShxU4CI3tFNwee>X*bG#ZJG^oAl0Q6(6Ae@qP zLJR2?Cg6idtiV7o$Q}ma@WOz_C#Z-AG{F=o2D?_8?b5R94-n7Zd}y8mL!$Jo)gx^6 z+un<27_a81nv2<4ukr%adQ=-HQzBN)h<4GZffWd(xxZl6=Dexjb`tlc=0i?f7^t9- z8sHT2VV6hs6Wa(%ZwNQhs);p}#Z3tQ^a!0&V_~G~EBo4h$o6;aZ468oStouwm4vB=52zBW-qjV#FWI9Y7S?{dL!RnLSlrbW zCtEw%j$X3nnw-Fhrj_+qC_}M_q$X{>ilvqGs49l~lYrC-R$2opxltJkr%|C*71ZBf z#V+{9X0UGSLxGtHf!A%xE#@1Hw%H*#@Yo)b%TK+gwoRWJ>8DNwK}Yyb3P9B_NY_~?Q7mUSYgY(6iNa!036meDDIaz+Nay>7myn`h*fm4SgI8lRj5?ysuvi` zUgLJFjtX3OPdiB$k~e8>%Nts-vUfUY@tS3O$H^&z1}&@jBOlOb>S`V~#HCEA+g;U7 z>jtW!v877_Y*ZZFZs!AOgdwvPferxC4o)xIIygkE2BF_`LaPyGDk^1J3x`}qR!MGN zAWFv0^n!MyIwUTkKrexJ^e_Wj_gl0~*S6eFzvD@SjCS z7C93^uNQcE4xBy6yE*%6xo>B$9A(z-#X1Ugu-Cb#j$fuLTWevs-J&B}r`KT@92F;* zIowoI03JnFs%;L#tV|q)%I&!YIw(JSKE=nWJ>bcu4VKrIsX!_?cY7$d@+jb13(^h- zG+?{e`LTnn{cHdFM*M57?TpVl@vn2}UvF#gqZ7w`%Z}M>Vej~OY7Oz-xEVaZTtwEy z1xUU?{~RxNGonyC5Aiz6lSnSt#UnzwQDoI79L8_r_|XT9$Ql5w;K2PLIq~K5>&xB6 z**B7sKH3($`FVW*JtwjCUgSE5zW*>2s3)%dmRO* z^V0R=VVOG6bVz5OIO!j&!^{l*{8$6Zcn;J0MonG zgsKNJ%gb7KNPeY)jWe{IKoTjI8w5&B_Jjrm_!`UP>5J)i?PYf~)E~~n;j#Rn%2JEf z>EN;peb^EyEU<2mQpYIO#_h-79|asU;ISMR)MD)d=VtM1%LrD-1^XIQorC3=B%%bG zj&|baL5N0w3?dq(G{rywKPzFV0xjO_h6(FtpJj1afT=~I9fc7vFcuFR$V7`N9|Ia( zdcj=+2NPNfoXx{D9SIP2!ZtJ>Fi+q-@rQh;@Iw*SAY8!P1sxWOoJf#QPo)XSZy!c% zlrNxLR=GLMIjInV5dsWGPF^6;=arpql&mbl9i(zwuq`_f9328}vMXoh^uViN0=aGH zftSOp6^iO}1$78uy)|_G@?ta{sw;3CjYWu%%>t0&)p3zSXatcgyKS#PT`-Kq(t^zjirv&NgR`z5$4=5p!>lj--QujeuyK~T9CPHS z0cbTF;c@X2GD#g$c;p1YkDaDPEd>BW(DmabE*{vn+D91YUXWZcWRUo@Y-Uk>*S+^- z;I|}>TB~h%QILKk5L?|+c6YBp)yxd9^th8?sO?g;;ig%C-3wQBS9vV>9tk|q)y%|2 z&|F?#R4S@IUV!H4A?N$1$4&Qa`XOu6Uvpy9H?rwNZfA1mnLB>s&^ni#_<|ex0{85# z=|}DPg*RKj@U16);YNPpHnlam^ZZ47M%6zjzT-x|!};@>mJT(%$vWb0>suZ&UvT1G zZsc7AzD%o)b?3Q?SF@yfGSTtrN?Rvpe?znXzgSM}SEp+)K6t&g;mX@D;P#BqN# zga}La!?IfWLScAis|?qJJJ0OTCteCP`6jE{PVzccQ+%usX1Vb%?hCzf}bq(OZTQJ z#MkaSEeW}p!)c|R#hj3VoFREY$MhwF5~!LCwT^|NqMC+68INN1L&+|BN;WEG=eSGE zlgz9$$~ID*Qb#;ecql%nY7rrkK6G2%jyj?#4XT``(!1dWx8ooX)n&FP726$mL-bNg zCoV>9G>;OtGgad8bq7pzwj9aBR2*IVuI}&^V;^*(>t0@?^gI6FS6^e6GZ3694$h?nbBJB zyw%#vXTd_U!pV~;cUt&AhW1ZGdZKvn-N zmh`?zo_fkVyxP+)s6SZi7}U~``T|OAfFeVQy|V7AS4#aIBpI!Ifpi1h-NB@}G#?D< zGieE)xr>NE7hMBa<{*VtK?y~QQKkOkrP|_u%zPpY02`F|^fqiy z{?0OMIG)JHqWFlImed9ybs{iVlRGWn(;kep3)ZYQ07$RZ7C6uH5V~jw71FUY0c@n)~>yKiVDpwP;`k zxo0tOxumx z{_qkQs9Z5FidA8)3)qdHyYNpV*0MH*%9dD9hy70O!sg@}6jHe5@TDRki2wv8i`dKh zy*|Q`mfwj)?jl6oAnTuF*KldQLOfJy3AmNZu}~2U2iI2KLqgpyP!L4<0UcN^@FwE0 zVVWSri+BNFb)5d`Zn~0ri4+?c7f2OK2PO>p7HB(rX?0s}l%k0lu1OPANP5v~I!@(t z8r+W*)x#KQKo{Omvw|;~GjL+vpm%ZDTy9E{!0I6M&Mf5;aNt{v0WU@t5XLV;0!Zg_ zczmeG(<)5BD|EZf7axqPD!=qb>z5uo@k^85+_UvdkY443A=>k^evr-T^UkUv^;J7m z)%Bpdg4?|`d1DI+?=6%*YbjrxGvfdsUC~~cH^JX7ZQ4?z9ZHGRA6Z+^-4lm)1Bdno z{L@Se?N40bExSNwR2nDm&jtRhCNxP8OJRoj0^~EcAeg3z$U%9WcWn|hS%|$hf(iT; z*BLi+VS0X=rbvqOR;zMT)W3aHpH*5x{Qy!t0rKy4K5onWGPUuF<$m+TXWkZ{=@R53 ziFL(Xe4;d#x)s#IQ`@@=cL(m8#HXZnRrea;iK>^#h4dB0@&spk;u3G*5-GYt0NX|s zQdkzOuUJaW)2krzY-mgo4vJcmppso>6f+TDniF4l%f4=kaPOo4@sNtjrSGwCl8i}1Q|B!Ak4VzQ0=Gn=s4hiNOr8r6ra>#ixr6@a2XG+ra2Z% zYVb0pi+!H5p4)tm>2GYZLCK7xT{kf3k}HDYrFzinr}A|espS)U(qJ&WujJ6-aXovP8Q)`!B zRzVs9T_%l-EOw)Awb-l!eHHWds>Lj-dPQqx)Fbe31re(s1^$x%ZaeAenCT{S`~?j2iqg@`5&}MGlU`n5{rL;bX=tU*ajF#wXF_h8@u-#5Oc}-(y9#2 z+U>1j9Z5)10dR#i!}y#^19-YQ-q~Hh77ZL{hjCW&qtJURf){2>pSV6>4w=g|8!B*c zy?m)10r;Yv+X7DIO~6$TVFGY(6b1@(2%)kv#RHl$lMa}^nHGVRCA=$J(VXqMZm6xY z^7hm*Nbs{N_8*Ta?f_2`mRw$Oe7Po)k#N1`Sb7anb0W=%KqDaqct5EH!a!X`MQ?WcuE8_#zaDfbxI_*M zdZ1ES!6?+<>=uu+vv|rf;B_;q8NLHt!Bf`@ADC?&u}d__aoZYIIFOyA?E$(U$UlOf|MQ!@8PPK%t)yIwa~v zb3Y~fo?~`4;C$>>6uR2a1C5bD1o&1$vFdH^)^)K2(xPry%08c*sBKlm-y&s*kI@Y- zUF!~5sd$PpU#Fzx+X6hU>{?ztDAEBbHeeZUrPmCuDBQ?M1n;t}QN!=?}( z^!tHoc+y6WO!;~Ksqv%(9%DtNM4WI!nx2)!LyEluT7#e#MW{+E1Ry5Y8ARoJsm-*U zWKy=_W*lDE%V@>R2l$&u^h;#bB@1v1HtWynNBLEN_J?TVYNx`TL~nGhz@+VACyzNZ)|+OIZKD0ecvI5*3Q=9jjty#dGbz+{}=Xb8S&)>zDxgU7TN7Q%xKbCm7;O2c~JBir4%4X8=gO5LcG0IO(Xs$Ys3 z$l4(;T<7A{@tYz&u(A8=UR2tln3nW?;xF{7;_y_Y#}Sc(vqz@Mez#}yX{6JYePhoy zP|zWei_-%7TE1Ne7D!~2kVOB(2vsG&BtHe^DY#)_P3llf>4PNTI>X(El?H=HmjgY~ zeHt)C5rb{zP5mD2o0y}Oz1G~%CnAs%=4ruJBy#v)87EI&lQcWibUrl?2=KD(Lw+Of zi6o|F+2Q%f#NqNaRl7~v(ief6PO+shDLQbd2^ZKdaE&;C?1``e+NYZb(Kw5|X51(u?I3iUZ6A{`*-!68Ci)ah9MWZO*_7y8guW8_n% zGAgW4)Jsm1TpYPcT1E3wGK?g{@=Vg3mOZN9zF9r9m~_I(C;g}M_k&YsP6f`QL-X>$ zzb}m2P5790udpK}{%P~)VG$8TeTChDFfqG9{T9i!xspa}TPtCjHA7gG@&4h7Dc{VL-?2YwypOh-#cO?pA9Y`k zZT@ZZ$cb%U&o(=kMOE9c=Jl~L&6WL2S-qp;%U5ZckkIj!dKWF}~ z`O-$ihZaIcM=Bg!V7ccEloC~np$r1P%YRn01XOrycLZT_^yFO6@D9e=g2Ge*Jl1ZA^bvuqt1;e9Ysa+)3QhL{N%t;G$CUYQ<0{B z2v|bL@xL(iU#fB~l1f&*qXY}L=UVffMJ$KR1UvdkDV~!A*tGlrvBE-14Vfv8J65W6|V*4f9#v`I8G>IfpzyiGY5N$OKdR3n?!N3n{U@3c((wnueW zu+)V?k~0lMWU&=T;=+2Aw?m+X55gmk7`k!cfBA{=-z>oX-*B6UDn3W8Kt{qB2!Ab{SFyfj)%NRrV5`hen zg#JiWadm>8C@}C$1hZbZ>Y_!(^ta2r2<2SD3{nYvfWT~K#iAH9L zZNpudW4qexWyk8hk2TM-*NM8I!r+>#rtOM7rns0LLLi~l^A%NYYJ>F_BrK1Jgw>GW z*&6pDvRS2hero4CyCSS3?;_2YTGOx=zwg(Sw9Q(tG=vY&-$h8vT}!UF^`v&`BEbvE z4vLE>-NhY_A37fIDhJNhv^@OnG4!=8^s z;{&nXzMYvO!Tg}GlL6s>7dBOBTO!jS83{b-=iNKO`clggJZ$+Ib1Rmz_Sc3rtmhI}asG=yX*$3MmVzJJ@sV zb6DxCUY4UIC~<@dHO!5Y6jDCKdkzmA=_|XY*b4hZ9Z^wr1snn&rmmH6O^e!({srd z@fCZKIB3ssysE_F6d zyn~fk&5x9;+@?ErV7lizI^vy2Hnrg7l5rWw=T4(3$Ook4VUJWlf|b<;=K+%yl&y*~ ziHHX4jpX$DX?03ZD5QkrsFIGglCSbsu(-Sw_U`JnPPaNMU0od>L4jx{1X9rl#X&5K zJU)G@ic$nGQMW8nS9D=(TD?Vv6-C7Cn(LQ$(r}ax&@iF-Io8f{G2_B)*KQM~N=s|h#VC;Bw=ipu{CtIz7o-P?zbynFvdj1%vBOuX-F_e&R1?3>f$=BM44Hh!q_ zr;WeD`-1ucKdTEUf+2OmFPQ2?D;Qi_FSgX!g@yQL_kMcKpy5mXvfHci>AD|{t!FmK z4hvvbsiA6>Yk-(76RYu;8dwGb2A)OmTZpj5f6W9}^25>Qog8`|Sv0`-a3cm>e>UFziD+iMlUM$qg^<63h#fQjp zL1A&ZLTi-Bi`DD{Fca(&3@?fnL9c)lldQ}wc!m-Q8wRj#wu%-)B7lf0ss(|!P$0mj zQNBjJ5hr$I|FzSBnQ!Jiig0w#*~nk<)rb1x?nZ2pwX^`2)J{tA@dv2bfkKAWLKWq7 zuBJOU6pqx%JST2fVUZ_!?r^>)JJSxAd^c;-f}Fo|=$XmSWf=;$YFWr>=~)FOu$Y6=lejay}lPEtAjxj<>!lUR`qrnJ3lieZ1>S6Bvh`A(>FJM zh)D9Dc^ap;1F)Khq5a|+0X=V+I~#D5Swb3*{tgD?P5k=Z`1N0F{7K_4=EhfF>BXct<-OJO_xQ~9M@%j5-82pcO zH!R&}?KcE|^gRkMENA-n%^$+k7@Ai%8Wqv%dT_xgewAVdi~>SfON)4p_!8npT#IJy z6D!Z-Dr~0JhV6I=@j%?f^ZXx#+oBxe#dm5Ioz*j<(CQ`^^Ts z}OyR;Qk6A=48jXcD2 z;BW}!hv!_#lRUSi?`^)VH!P#_AR0esp(cnlkiiB(QG{qYb(#wzDv(JJOm(J8heV9D zk3b=hcsa=ukqX=_i@SqWGwfC9UuxxBoThW^@c6*>bv6%LUYU$Tp|CLanVb25 zc%nbaxN^u|{Dw4yN<4qZOo1(+Pgx3>7tu=ygM?Y^2g$Lrb@$5br6X0(q`CPFzTvqi zzF~dTk@Dd72pCQn9IViwi^v!5g2{aQWD>qM3BOmS3OBLNIfi9BTRmRJ2QUduj;S1c z(G8@s5lDC=*E(zU>Ytz~f3fk6jo&egjmFvaU_3&q`W{1+r-@}0T7Ad8(9c!{!kV=j zk|FUaJX%XZhEHbp))$m7*7mhzp^=3g87#6eV+~2fxt1fP;*J zwN<@TT)Z>pi~XHycLe{~ML!$%?k>*KRvyA$)l&|UUsdjiAPmD85luCj5e3;2pEq|m zb`OF8n|DHhguCi_txn6e@hNmg+JO^KDU3{<^1eLqy%6o`)aoKCT(YqetYEHk$Ei-8 zy6d!ycBAC32hF%3ekBl+!ZccOg_?u7zT%6HG>(K5-Wj zYj?dDtgaE@p@OM)aws&KFopcfOujQxSNw>-sEJ# zqT6a(Gq9vl!bcnT=e;5mjDCPNZP&*A*pB<{V>s>+<;L0bxVFB#B~iz@H3^3Ap@}#i z4}1BmThdv4e9pLRZRaJ&&~}(JZbvp|Zf&YRqZG~Yu&*DPW!44^#H(XA^Ov%}#$%>B zh8B2`?9SYp)2Hqu<#Rktj~o#@=$4)V{KQe^IUjP!T!PX~^?>FU+Dn)jK1+V~A~ZW^sA zAxR@Tm3++cC`4nFXn7`~r^5lO%)e!Byop#;NZOHt=-UWQ0Z;+okaT^r#?zy>j#qsi zq4EtiqWo5?<+tNrJNp=cR8c^VR0&l8E>bs-Ycc(!LjkV{bN1!{r``C@#$TDPdImm8 zxrokx2Le!`7aS&(OY0zMCv^^Iq<3y4!Swx4R4%GoK!5v$P;VKw?W`=Vc4N}{Z0VNK z*mG>=dMZoiC!eGtv~q?N;*`+oVa*=pVkdQjlKi9l*c%RIM4KOcCK043j`a&R-uZ;% z8Sl(az-VrxqffLl4M6yZDOhw^M)0vsUwkJ{;&3&E?3~i32ko29w>CbAk`D@jXRU@O z>9S!k8d{N0xLgxDmu-fAEvNVNj2>kkBDaye6QgaC)9d!B=cst^IlQ6lvXXTZ?MtRB z5^(BR3rB1_cSeQMhT^wPcy7HFL(vyl^3Hw(} ze@92a$#5>awi7RBCE^{M9|seDUY&B}*lo^o)4W(2GDsaZNw`XU;MSb9Ygt0iN5h9K zA&EgaAn5%-8l&MH>Tre};oYam5$2>A2eDVK!K%uLFrZf1hPlLoLH|Nd`ipE}+Fm=i z5H|BN=4#q~6qZBQlx&XaAn4WVHpwsQ#ps1qRQhDj{3M6U#Q}t28|K+-qFxsv7XKfR zW?U0FjGQIM!e9B{J6#pt6LO6h>l3n#*e}PfbR$p56xJ!n$mx9bS(?689I$%S(U4D@ zRg$k6obIOGF7kNL$$GuE5-*}Hah9Q8q>DtxGxbU9O1fy7)FhV(S|LQf)ZP_@f5>j?2-&eI{U)g;j;MRS z8%;8nTo)JRKjzV>PFXtMUdj?hKqcW*$7U_V@JDiria2`}4w+uGbdK)8AtNO6sS2`$ zLeB|TlPnV6Yi-%ts%_c4=fs+4WX)sL!B7mn;zC2{uZvp{jK*CU5J5PS_?Jiqa2`Sk zy2Ev;jZyA);sFle0hXuZDV#WrDICTJre)PipZ~+=8=U3F`>E{w8)_}iyCHR(md&$; z80XF|?PB5J!1>WnR~+}tP{jvMb&+|L0AS!&0k1Y}e_BnB?j?!sYN{SXK;wyxH42f6 zcvwX}Ov$zvXS!FspqZCYz_Nz4kIR!NfUT{ML(zE{U_0=JhqR+Og~yW@$}o{4I{C2&ITK z?WYAFL$|I|a-vKsLAuaRTP2zscDl~j;kv6SJbWVCX1=$aXZ_Uc(iz^x`3G^(x))Ku z_313+MUmHcTg-;>%IZp-=JbXYormd*d6yziqJp^D%#*A|+gfHuI5}c~^FD_dHX+zk zyFrO26EX82y@O^)mI}oz9~I&A`2rQLehzIFoTN{{Ld;;h z-or2tyMyH_bDGR^OsP7aZq9+2cT71#AG@qR;NT?nIDJ*){btkb&c!&ro$PFPt_Jw8 zGr(rbpZ?-GG6|${WE@$^b0CSb*_l zdtlb+EZhr&t_Yq|Vy&YyCIw~}RVIzsgKew&`k>xH<9&;j+nVjf(BHgxzv*vO{mp8d zscUm%_kP2g@sj2<(hKAD?X4kvA1(8kuUM(7;l(-W?ecU}RM#>4xiH&3XUbN z-NcnNU0KQCqVwgDk{jH;G+SBI^#Lc7m39%Aa4-*wSDhir>L#w`; z^~x8S`)GBnfeKGFU@;hKs{rFHyijKKkvZ__{%~yy`=X<5fNic!DCt>FT35D%&CC+#pt+Vv?*R{EWL?Fg}4-m$9M{F$e2;3Zr!E_+~_NaCt&O%zow zy3<4Lh=AdVGvW4==C#YrYxkH7N6#v+8-Lvng4}$CY}+$p#eKrjwxcJwfSA= z7aH#~3r6`Vt!A|Z)lXJ*+rrMzDKel>A_)2g!UO^Y%C#Q^Jg$LggekOE)}q-;-P@m6 zY`rzmvW-9pY=o9uZvGCnb`!cP38t_AgeE2?i_fn*aK z3DC}&IBd9r;u4E#mgDu7?^k6ykDWdTWF?ktm{SKk51QTc&K6l>7W+CM;q4TQ4^<&X zF^zs{Z|uU~-l=nyGv$P^+POX>5(&P@Qy)N!8^uDG3 z^;vv_f;K}iSjs#cKu`WwR?70S>>NxKgxEqzK~|0TGKo@9Vhe0E(V`5FK0S~xGcjKZ zSV^-XS3h&!E4jtykF>l+E!^#E6CEdX^Cp|509w^gggfBR5eswxZC}grJP(pIE7t~V zMHtW}M~E=@JOb@~K3%(*#Xb5IgNbLM*QD-*b0joi?_rCsIV^;2J+v`hMBUNaXIUK) zG6L`d8iVY1R@bs6KAoAg=$EP);>dvls*<;e%TW3!WYA(89~V4g3timB;sokEHt)L+Xe)y?ikbN65;f{vO1kYLgQ10yp&g6$m+p_yCtsd*ntesc@cZ@+2)% zzan`>7|G>vqGXMtD7Fb$k1G7iLYdh0#$TK7!k&KHJP&5WNTa^m<-eN^cjboyS=~M4 zZ1y+wRUS5bTb0%01PY_I0zSaH0Cxsf_hlw)`3&2yDC~fK!m!`c@a0swfj6)KWgBK? ziYz9qpjY7(W#L8==Vw=~^ze-C_vnA-1Ubzef@-PvjAqbNK^_(a&bB{;AecW)OZ{wI zjVk^~8_|z|>utDeB&yEG>;{ zNZ?MNMcq9>-sQ^?$%{&-j2X~+E-kv;akWQcbT$~QqUE$1(zueqM9O;c#pDgG#Pb2fMb@&3ipC;F3YsEAUFWWdJJ4WMh zy4EmrIxt)NuY{kc0c$q*UGQ#se0FVX{>+YHMCgtUj)~Hu(q&3->}4-V7S!BVR<_~A z!l{!6_N~#J4&uR-mG1L2l7D@QdiMXtyo>s(|7=#LsAnJTs+x%<+0lXSDZ+V%qIUN{ zV7~bj0;?O=up8(3bs-XolaB?4A1x&0hM!W+{#(;y`JaCC>h-8DCxU7BF~RZuBq*O= zx^AAkUr3*LqkHv&d9QN;62PaK??P1!j4qF4{h^f zlpsQ5Ajw+O4lE7`HNmYYAGEZI?Ga-3n?3w4Vwp}?@Sp`4bLSeBK}qBurG*t$iFyij zh~_BIAXVsN`l^-3w`2y;L-9Pwsab<%-xWsy#e<*cp*jd&9P&N2o|^C_C~FWKgDY{r zp=!cCTm{B2O_PY+KO98#L&L`tyH*{)ySNzkSNrW4MbZ#rrXSMHnfz(wB~-NK&6r$p z)Opq^rEPiYlcV?UgT9F1C!wbPnIb{CUS)E$ifU7~*K*x%n(FiRD?!>UX-W?f0=4TZ zr6oM;L5F_t%DpN1M(G>80r(J960kYA54N(Rz|>qX8k{-P>@2lIw?y&UxX-5(R?vaa zYntU^ubq^G!CJd@K95?RP8`}gi!iKoSkaj>qK@G(WgOp`l`VAhMc8Bq%HFEWfI+p@ zwwLFc#I40LqGUsil&UN7)7H3c+s#Ygm2O^%N3mkcXfs817G_19gzmiyZiGlIt-`p1 z()mxa)a{kSR^%YBnn5KE>7L~mB4SA4n_OKK2T(@cFoC;qH$|cK5y8aeHbCm2QV~IY zvfHdvyT03lOQTv0_U&=RcodN`V82jMVn*E7`V63gWG2Ycgwn_q&3#4;3=h}IehJn` z*zUFh>K4ym+^B-8U;2sPX(N5y%&6rQSyd-U!DD95S`JEcf!k;P@Yb>!!dGiQ@-pj3 z{@sZmnZ}RY9t8K!_Ak8|0l_D}W?EnK!?Q)BANNIXvA*c7C%$MJUsT6Vgg8)7*9`1W zOFZ4)C43_eBS?dIdS`o*kAIvk8bB6xb2J4couI(Uaz#&E!jvw-IS<{mouphzOE+Ec zp_(?SGa}Lw({y>El~`P!&6YPAqsz3pU?pS2ov8 zX}}R5Tz%BM!+llbKbYr$22+%2sjNGjyYPVOS_P1Xo$U)|^q@mG5Ut92L!Igd4hwS@ z`n?dv9{ryD)C!-vh>gBr1DfCP^Kz|NK;t{w;HbNu{jge6PYC7!1wp9(IEWUF>0&|` zl&x*#3ut0Zy@!jC5p^Ie_|-#?R45&%C1wC-&T3ww=bAc@cinBoz%~lO2_}% z5ld68ggZ{!Tu3=-bP70n-a%8yZ8j55)2+@e1Pi7YLd0(NkxFX&RAXp89-Tcm3Vr%s zYsT;;x#TTX9V8b*ze&3iX-l#`7P2C+gLN>^n+%JUZWq}Du2JVg7i=Ig(aY0b);X6` zX<`EJ+^Q5FxPDO8=?v4Ux~^Z+zPq{5?@1dou{QX->;ItjrTzJU#R&WnpjY^?-6AsNsT z$Et6z=NA5e8-M$31bdXxCT#&S)Ls9|B-3EcYTv_}vTf{?l82^{tDrVs03;`I{bq6$ zhI@F;W`Bl|H&QR(tH0GK8sCk+%&Qt--*_h;UWE!8oVA4^$s6&@9gfy;bPy@-=>X2 zB%WWH***NzTf$WzV_<0AbM;rbr{4!B2>mx7|r6PLu}8eiA=hMA3wgLG?|{x)AAOuZQa@$+VO%f5$c+eU~tr3*gx@%8nueeHYb zt@x_OS2Od?Y~H)9g+;hqZPu(4$R%1TtZ&uD6vGh8fy&g!7gZ=Y{dIr!{z*%pJG0CG z=zbYSAN?C$efR3WV(kB>`E{=S*Easw*+SW& z`+QU5wNAJ3ZH<51_+hX(^`mF~Orn2_(Rt4H5hVf?6^1e&Da*qtxPthBvi&=V&Cei2 z9IN2ynaD1q8c$F_iNu1MDqL7*SI#vg}(xa@g6>7bpWJrht^=Sbt6Z*+^CG@3otkWVkQ$Vw>;k~ ztEB{S3}3hkusWy@5tX5DZ6sk1#5EL3NHpnCRpvsScj2AGbjLPSTq!qvFxw+WhacORiz&1(f{WqOW!24l^p zWYI4`DRkPsj<;B}f)upM>Xk%MQLwDUBY-HmZdAl&5Cp95(Iz7X4KXq#L0OviMN&bV z)A(yhlp!$6dev#;Y-bYs{%!LE-1RV`Gd(vR-jPJGlR#o|FpmljEgol!_bpjOt^NV+ zr0s0yk~ZfJ7SFxKJ`|#U*9nROVTdfqn-O%BuK9Y=Y9xnB2W}R3eQf|lS$z{_u)Wyt)|&mm?I4!vdmmh*2Ke`7vL9t>5@f@Zw_Kqq=6MA-KbPm7Vkuzop2v zUxU@VNYmR<4D`z=?txgdrmi7l$s#gA3B*QxM}W1AjHz_^fVsf#^-2%P6v_SZ0gIJL z!y3{3U|99Qnk$SCPkO~%v>vrS`XSTt5Skv}-G=@NkIr2a(1M&lsP_b37xrxta6Bka z`0QCkWN;*~!I0MhL9zO>__46>(Wx4$6Eh@t)^WN?UtqKZX)pneaqcefFeH$cu@dk6 z4MFx`@mYg~&e96jghVgqBdAqtJlFTF`cA;OYC^lpz`dd@@XAuevJ!U%-znv2tgbH- zD5;Z_EiM7+SM8c%9Ta);S|71@KFV9H`-I0>BrfFR6|^}9J#Ro<6V0m2pMY*$SM9sa zYTSyvffr?n=Lq`cWMH$gfo9%b#Z*%Z+xULw^xfQl1Va^~%=h@kxwwc6Ir&1^f0LCb z0^x=lW?@M>38?M0)dvuIimLw6xK-%8uP8p6j z2*1RSvtNm06ohoHyl>DIre~9Px9%3ZN-Zc=w%a7R`3^UV&v7kTcmtj1j>B>ZgXZ0a zbM-$q!p3*GuV{QrP-?pf(a*6g}_5T#48M^ zw#|XdC=Gg6S~|4C(y|Z@UFCW7E8OAN9@7LJzTfHLJ7;QUcTA~)^Kg`hSIA`@qQXn8OC8Jn=-T9Fz0ZO1O=|wR{ ze%SeO#>med!7-xNTpElvfD}2H$Mu!aW->B9<8f{YcjUTCWJh!~n6KEcWSG?qJJWcB z9Rq)G1jj&lnDgc={6~7=sqKgko(a!5Nkx*YF}(G1$@^Vn2XPc0op zD9Ky=q@js@K2aMAksY!!sI)g>;YE$mrbU-5!UTMzU|evwrPb~j+Qo;Sm3GZNtZ56&D*CBN}Wc> zj;FUWp8ovEjwkmJqmm;q&V~n$VUFC8`@TbpUW8A{uYGFcUzqC1jze@0L715B^s|1< zPT%ba4AkGBwN~4a8_$1v8}!&}EcUC+Hy>%Adzc975g5u}cx-&`hYrc*+MIxV?j}B$ ztkzMDB?&)gmK8k$0}~dvR(*$?W<7F#^}PhZhnt;+2ZN66@0;&+p56GW#?Pz4#V$#3 zQbW5IyVR<8cL!+&vuisivr^*e#%0qFH)=Kn2`5P@uw+%nsjAyS^!k!n;7_(qvq(p| zOQ&Z0i=W%%o6Pz>sJX&K8jiI?vQjAjvnWOz9MoT^smO%Nm~k}ZoN_1JW+P}ROqNW& z9X@S$sQlT0%*z2Z!e0VSmedo?!dRo)z7h;0YU6t;$a@dyoqkq`9t2UmJXnfgRU=3t zx-Tniuyj^RWSu<79TCkGSX;3Y;{6&nZ&T}Ew#mL_YA0d4Tae1kozM2jr3}wL`|c&5 z^cTo~vUuw5rDSQbFVY0d9<6VJAjCn{D;|!F!L3#e-pX`qt52n6SATIafq7DT-SaJB z?)Kq&Mcib4@3Z7l>Onn;V@M^O9!o$nSS*J)XwH`pkPVZ>Ks*?%gyJB3&AbSd@lvjt z*9A%u$fd9o;RXG)cZ&7Y@_i4SQqSi)`^BeL);nnRlYAoUO}bBi@(`Tpkj(yMLmMoc zC9_w~ElW5B@1A}cc5N*0*s(mAIy9)>K7D?ZCW-@XC`wl0rQy0||Y zk}e~8Xax!R0)lMAbtw+;l{p*gmlH1y0`n=sbAgQEmd8#LLM5~`@{%+ar1BofBc*oV zNxm^9!5jE5^Pg*!5DcJ&@?jE>%HFY@tUs>hGZ{nHsq<_a-%)hoc(*sxd)>Z^E+f27 zW#nNC(sp~&=F$lkBl4Ab2hOV3-pKeUJVEI^a1B_{0~8@=z}J*UB^A$y6~9d80JN1A zzn}*&x6#Xw}5{dj|R5J?G|wHA)NNH$D|?Mc9QELDEjUOYlPY2g_OBRos>k%+;CFj@Tvq7|7Z^rXVOW zw*;SR>N6=U7|1SCeYLD@)hhHJ4N4d<`@~NZ&5rgeKC?^5AM=FdvuBZapK=O5 zQfbR?W2Qaq6g_co|LRrq>COn1mhW!-Yi3x&!EIX!J+d7Xc1V<4J;DpBnqD)3^6%kB zR}8z}MA=Z8^#NjtZm%$wlB~SCjS3MdG!%W>640RPRUxHrq}?fZKR`x3><8lkHONF` zs*EIXh)Hw%aomaZ3W_-aUlvC}@1CXpxgI2O1%qh{sW`Q*2E2B^A1#beEl`!{5uK5Y zruxihs0$1TUo)Lozl-l&a3cN-S0b-;lty>M^|R|?v=sV1)8imb8c}SwvZrIJx8IN>&t==)H_hLh(lKt4+rM^y zU%~zTFOA>7efRfvGBIa8Fg`MCn&nU2=ArbTXU?L0w+0{oHV>jv^^3S-7>*Sc*~9U0tJ~k& z4pm*Mhb4{T$H0yqR-koeuTf7F+l`zDmL zaR`tuwU6`8a1l@yjunwh+|Wb76{wYBD^xrvK%&-$$!Q^X{Yn-2 z28~9`qM|lNbu|1FbW5Wa)q5{`DiSDosewwe z1pI;RsK*soDoITqq<+!N@?jLN+{;xe7Te9TYho`>f~6%V2sz#Kt}ewhU z&w0iNghQpe!sR*1wFamTcwy;K)s%TiJ~(FDg7U|H#fsDHjqxvJj6cu3@EDBo+gfAc z9s}ce*Q}!lfsJ!!PR_-dM<9=VrVP+wj@d*Z=X=cS%;(Op^|96(Qir`kCYR|)YF3pL z$F{|g=KV0}O4kRju@$-tM$Ae~XsA!o05sS}-&iU^yt9pV8A%G!sx_@$yx;UUD(XGo?X6*5Tq@Q!sytH5J0~$mo^CRSO4~aic`&E*mygg0@_Ht& zSP!xiWM(n>GK%#~M7*$2f4`uF4(ru)a!cw>OY<%%k@Jfi=d?|CC)!Cn716$3(!Fk z%<9;31>>AWw-4vr_&Rq<`zWk{3(iRgUR&ZbyhAOn{^=*V23<|oFBw}X3nEJDl~F;f2}gK*v^Puz~8Wa47w;IK5L z>SEiA1Cydm9lZjmEwZq5A;#*g&0=K+t`6-VPh$Y$XOY$q23q?x9DF1RhLGG_!L$yPU;?z zD)#i^`kS^QjwZu98~qJ%b^yf!g0J;CbSpZB>haAeoazDYFY1OYV ztM!a+RER2YczoCKqNL~mec%px2gJasqH?{IhisV_PB=i0=Q)dnd4fu`VUE3}V?*)L zu@Z)+?4V97;Z(8$%YN8tx9E35;6~JfP^uc^`t)~GgIb4f%YrB}$E%+ z5_Jlv3sGd$&V=<$>*}AIf91Tl@rz>ERoA<3c6?c}LJ}<>`|)U{YHHcsrw_dSYudf* z+TB%AA%o`jjzithCl9w@zPTQrbDg_s`ini0Eg9+`i^15GQYqtic-Qdhqi_F0c^Zdj z%){u_5+BTN9IDLsu>9f;$Khe>>fO>v70!8U9`orVH9PQBKZ60R;@n&DrZ*hGKYcj! zy!`A^!X zmsJLyqc|_kD8Ap%c<2}(J68Odx0g?4l(=F(w)vzV!ok+Bh4d2R)VTX{}MN z`Cpr<`c9gY?{0NVx79BD)8!OO(Kf+n;ygzLTH@V=8$mF-`xNm3$Kraa3x6HY$73Z5 zx<1G68ZSxx&U)9+oljEaf!y0bsera?C~XIsaLA6dz-`*6rG2O52oT1pXODR1w-->` z4eyVJiC-;M9!j*Kl}~1GXw@#1X%p33W_Lf&n@TX~+gncD1SH`K0DYK$GG$8t@p0L1 z{J81O<+wcL`tzeSWEmP_c?iHN(7Z!?e^p#!@IEiVBoZ=lo?qMrG$_6@V%B^Rt!l!` zB;hyz30rfTjNfoB$Me-&tSWzed|zgK-#3@z8^3!yFukKR?t!~!(gxn@gHyeR^zYc(n1bW8-A3AJ0Q?a3%}=b=>DLhHZe+W+Gg%re0-5{_-AuD3a6{{ zK1$>7)c%XO=W!T1@xH6Km8YoJX&=ux{8KZY&yhIWy6vMhbYD5UqU?Db>gJnfRgFEt zFQ~=-@y1`wr&a7FR-QST0s3(*KXH^s`HQD4u%64I`$PMztX95k>FQg}+srqbywUKd z>BUKQY;;|4YkXAkI77|0vUtzf>eIZH`08dYJ(W3wWpo`>43OZqB6I=B1^uX>)-v?- zSmh`oq70x@0$eC;6nLT6tOoSgAiu<)z|AjdM(yi$ESX{ zadl3;Dka1_8%kN%5~@(%_4Q}Z0~GI za#SRsEnC+l+7Ai7O}IU_7%5b~4^FpRyJ-nmbIj6#fn}sK(EAvR`bbliD>4ss7Ij+X zi`oP&UMC)&5A*GV)ZM<3Igxpu4irN^N73pg8FoZsf&@w5GvitL-)!j@C zvMW>e@44qB*+>vC`|A9sK}C%rha-OJeSx18ASp6%X_%+eib?r)w^0_(&tSYPyve&K(f zajwkz5c8M#ke8_X>m&kD1VFg3QFD=>+TnAI(1(ajllK+Hz%-)s=N;%0esdp5z7zAl zv3Y+E@yEXNiS>Mc5nFxTiKW)_{begguv=|Pa)%{~pc;xWw|B zeVcl@%Y!#_2Rk_k`Ssg-+`I# z!1SY+EfsZf8b?vqRN*UCu`v7ktgQSX&0z(quM;acD5daHDdd0x%My;=u&VPQ2PR1x z`dXBx;rZ!Sp5M~F*kuu^)mw)L>s{8#OX2chS$&Y2i%Uy+vbfj}Sw|Ki1FQv?E>?N5 zzP{GI&uSG3kytcLkA)TduTg5Ic#~sOBu_xPh zic%iC!h{xU5!k%fTSV5Q1@kp?K6&a@UtM>|*n;2m9gX)le&cA4u7iY7M`Luod>>KG zQ65rXwEu`gT+-T4U1Ti%>d_oY(~*#l#u(b&|EznIhtd!3d&b)vN0%GlVag*qj&2X> z_-G8kr5T|$M|rfqW2Q)nd}Z(IpP08eTa6E!1;%)-h^CAN(q}faL1~h$PMS!@E7!rp zY}N|$WJLfERDet=vI?LjyEc|08vue{GeC!1yS*z00eik_)!P*NNjp@j5Xsrt%BJuh zqtpk{9OXs!8B3obf4W$U+mO-dZT5Egye*-6j!}UWAcgjHj$}s=@~CUC#|H@mA9AxI zLl%@Q0Qk5YxyXhQRr!QRM0M#};;UzfE#NdUkhqFCNGm90bTcOkftBj>bSw@IpkswwnqI456?Mq7h! z8n{$S2UIViw3q|A4tu*fS)(sWyFCh8{-5L@nz@dp^=uRJzm{I=?` z9XI3HVc;SIz-ZQrjl3g$5-{jY^?It!(m%3_E)}$-4;g>Fj`9Sm1>cG$x<}X>_za_y zQBNO>$gU#!o97333N6Wwx;bH(EL(AU;&kCvYC##DtQM&#%Al7Z8W%4Ut0+U^Bqqw| znz*Hd zuQT5*{CNlFX^mv59D9t63v4*FTTrA$A)UBKJPdsTAQt)vPpIQ&Bs^#o_5fW?Bvtqh zFVKHcHTUG%z(G(}G!q3e(C`4mEWreUQ+3q|M#MfLPuBZDS`;Kt=z5!c?tUrvO-LlD z%G7<)MG=AT!DqXpVeZ}|OxPmEh}7C}Oi__SB+C;aMj8oN>+ft*h<-`WkOU;8lAJr| z02F7oEIY;>OYx8VkG`*Jb`9%r$L&(TE;bAiVP8?8eoDt?n>g+Y*XX=sTNC9R2ecG+ zCvu98t|qrkv_RMvkB(Gup2>X9;yUm}kqXICtd)a8GMyMAlcKukRSAw-T6Bsl6kF8+ z27w8H)Y1b>%05Uzw{@;iEajI9;S^;MtPxkJMjYp5Nvv+Qf{HtJxcF@aG+Bm6$L(1) z2G^JG3%g7KNem&yFIw$Ta)I)RnUk%dB&hm#HcO>=hkd~$iTLaT^#??5NuAZ@&Z+Lb zoyB$rRfdCIOq{I1wJxJ-K@RX=`M8? zj21x?;a{g`<2c2@3m|+&S-2JX`;%>wB`aaE%5zSrEBFJxg%9Qz4UPV?v$ z&(x&7Xf9Xe&AkPbEk4-|msc14rB*CX5?VwI7L*J~VXG`#ddm;hzf0dQg}Z+7GddRa zCHWKcy>8O@zs*JS611WoFgsh@yP>3(cD5goYPEd|PA+biMZO_-VSOlk%Az)9aebVE zHN4G`l@2DO*ZgmrD(DZjUBWVx@XyB9ro0pV7^*)02Dekg?D97_8Dxw2i@Xie5}RGo zec6JHlLxL$%Qd^2l6t5PYrSWWE*NS*14j-@3p(oz(TUosd2Vc64o*luZUC2n=io#9 zuWz$SHHMgY0iNJatkjhbe&F8F1)MRoD2yXt>X{liEGdkSR2^f&5jBi~z&O@8)a`S9 z%lwKu4=f^O$1=_uN9hgh!i6y!LYCsb`%V!S5}7s~kJUv6RGv2(+gLM$SlzZ5wN-10 zu{O}IBw*#bF^W};FUHTOJ4IQ#L95fY3obj|1XJC!4_9(E@R>dau9G_mQT?3AwPe z(39Z2nk(tswR%GDA|l&hmsOTcW@%~Gu(Bq>8W*(>^$mI%`3;zMaP+iIzIWD0gahW8 zDWZaa7@~gE4%1f20igmS$HXxQJ{JPEHJc6n0aP{QjIy*p7_GbR!t$c)4#uN*x4c{>To?3|253UiU2#ASO}2yYL!r3H_TbVHzrO+B@y zBUD0jE!M&eOIH&fSl7e|Wm!C3F|tNGr7^iNjKyH7KE+?TG&v z`kIU}wGrMxX7r$`(3$6;HZS|TOtx|ZHqt=6UQ^@F1-t|qUbmi%F(w>{ZLcEpk(LZj zKr^cxf$VeQGB^SqxHa1fL+5G8j`~4uvYR(FyZfRDpu5tY=6;TsAus!n_@7zZR{-V`rC-)^JfZ3IT61bo>*^_<9tYy4| z*0}Aoao*BG!~R%Lxz2*t7tGvzj8|_j@5>pl<4dbKcCSyE#KT3~oLjqFly~Q7w|JEc zTr)b0P@Y`44GWke*r7|SJK3^uL+4G5S6l{tf@BK8L!r|Gs>!f;P#FG;`y9I)x7*2L>T#rG7_T8T7T~Wz8pIhVJfUQ2>k5HFG<3RLRZX~TpRTof--1U4%EHfo6H8Y9 zmTWxl6CM~df7kiET!MQo^mjCKww)129QsSEi(V2GDbr`Ovyh(UZ`2a#3ZOdYn4aHS zfmsT&gCm?A29AMS zf}Q4A1Te?(*s+nX^(zYgHLc55ch5UpG@hvCnXIXbhpo9 zW)p;=G3peReoNtrFG;GA4QaM>a^92OnLkp5tqD>illvXId6P}j1464P^spK2*cYnU zj3ov=5==>&m1~2wA`BSw0e|CWN15~a+UJuk?D-t4JOIrrm`s>qFw{tq9laTVUc;cX zx|WfH=2X(6Un;ccKvSn#m95YiMH7+vlIRUKh|;{ z&R@YGc7jhPc6$?7hKEzMN@sBYzULnuiD(b%se2c!5+EpOM&xkx&qg;5Ml7ESO3QRsJq?x zPmM>J&6o?A74{|r2B96!nzwB8ZY@ih6cqGf4hp?CcE;+MqNtB0Chyq3Tv}mvr4TwA z+vOnNrz;8zMWZGrn401<&0rdtOdwS)M!Ins`X5U>*$ePIzt&91yrV72K=q}`lltA< ztV+jJAM1hF?`*JFJ~YP0nZ%GN!!)*bZaC!6YqDVEDfC7&Q-WiRUY2wCJ{%sy5-z&+ zXM|rQc%6MmXdRW7TMGpaz+-QXJmurpu#TCYu zRU~E6K*U7MW=8ceHu!yX0*U&0mb44?2wt{-A^CZU&J{ujnzlj za^J?zYd;^g;vRRFikL}_bRL@5Z+uBoN)-+UM97 zj-maM=IfV!u{C?n?6ddUkF)mLYyHOIcDE(s_+(4}YNKiq#1o0a63vl29H>!ulDMR|Y zmIph-eD(CMzeg$ym6d6K`s#BEq<%A zcd+{-^cfCn@>ub%n1;Q9d9qmB@t)jyFMR>*ppOZx*zUdU#?J6`c8wHg&F1A4Boj)G z;>oDv1PV1I5^*Maw%JB(qL7<-RVGtmTwaLby*)SPqd<`|T3L~9oRO+ZRe~xri8B$a zOyrdo_5AQ(Rb!Ru`j!nl3uYJ7TTJ!(N)E4F;532f88f6o9)n$TYJGt`FsaHt_*5nQ3Zv5cv%S_7i1Ip(E!cO@`>X}+IpETm@Oz=`>pBmfD! zh}S4Wp+^%jT2Tj@XEdNR()Ji{=UZFC8=3O4B;5h@UBWEfr;HVe`F~E8$XU$(Jvcz&eY;+DYT!Q|zGz!SVy|e$wE6bW_5(s7jKZEdu3=GMrWZg39kg5=|5GfJVMk?j zUQwtaZ8Q%3NMAf=DvS2$&@uB4wZrA48 z84SGa*mM@&AQ=TNaF#69^G%qIf>x;<@pEX4WMx9@X-Y@nHeO6a#&Z4^BL?k?;T~;D zJ4s!-N26>UOZWf-QusH46%;&*d4)ujSI^+fI`*^1xKWm4T*nk^M4sycz%&#qSuO}K zs|-ni5-7uS(o`%kjcvS}ATve;FaDC2e1Q7RC0|M|sDZ&bY9upg?J3DTJ ztEsNWh0X!`)?46xbvS1u9myr4X+6z~k;b`T$$H?iW6+mM3Qodgl_2K6n*oXAh!ai* zNZFV9s4ntEl|m{K#ZrkPg5toXxTI0-z({qEfGC|43{#X=6)4O>ShdV3#!5%ifEGBdulkwbuc5+oLH_p&G}qjrpVey z&ot#)v(bt|ZG9@$ltI{XidfcDKe$>l0JG}T;xXw%v9^-Fe%FMovOloCfCe!elQYtp z8TyW#iZPttP8`iZk*2EJTJA%n5&{~EZbMdaCVuIDqX}6vR7g>pk zf~m@jE!%gR=s(wsdF%^G89WC4s9i~+*$68xRp6?2dI?Bxwi%T~jk3Tnv|1{4h@-JD z$f2eJuc%T`Q5P?rRl>dt*JuWmDK(x+XX1resw$GE2b2|4E!DBueC-A+YyB!#wNi9V zs#K|bd3HKimCGQX*z`g5Rw_kO%U^C)KF8^5HN1ST#S+KOT*TMvk_7I{M?j0Mnof?{ z`Z8j%p&{-(qMUFlNgL?9|Ki+berQ$)YyR8Rb)xc6iX$LO3G9b+QP7TveCU5wgIwCLkinzRi0~P&Zhi6v|SI zMfD(tX|%r18{}~Fsu-z!3ZxrWs#Uss-cyb()S;s4pR#DM8$Z8PAymz>A_<;>avJfo z^)oV-&*28x1=ed!r2r%xmUeJ9h%yO7EzwdL$tthv3Zz6Os5z{S{lk{|ApL=RL`9{7 zHIPLXA`)Tlj8&dlDT63dF@|}h@9V;Rtai@j(z#3~k)3CeTf+;$eo>WH5;KuIsk&74 ztfpH04vZqUAc@xiSU7&r~4Qs?BM?Si}}Z_t3GeVw`n7$Wj`CrlqIx>L2=6TKhu% z7d3i@ASjfoOq9%(kFMd@=%{Dqb&caCz@0scRK!yUs0t-3`)n55|C~0dTUR72B1|pm znYDH;5%moKU&dOon0MVwLJRl5u9$L@j(BuLzsMxXQ}LoTO$}bUPT^|=USzpGwXFH- zyAMGyRP}v+1`Kt=)S0Dd`r+(ul@Vsj)~-M?2~-4qh2B+-1ZWcFXQ|Z%7=g<1XW~~- zyED&iMo2gSb@buLw2F_(2WF<7wJla^hg(gkGAPfhMH&L8YElGV0v$H$dYBmknw`4# z|JbhDswRZ9&=5f2fDU>dg`1%`qSE)anPQ*kUiJG;}cRvz~8ITcJaAAp4nZYa-7 zX7kt$CX>f}V^YP8P_13(B%WSU)#^Oc3rM2tl96LFmahMnLX8G zo@Bksm*uCXK3Mq+3k4g#D=@h<+yfrxKkrVSWfrrxQD*}?CoP2~6;UkULaKoiRbPiK znR~z}7g>-}p-LSY7z_C6T;+3BX+u4kIVSwW`e0dru4=T3@^RIf-!8yPTOmhMC^w>( zF)b}r6Czk?34Jv))UlxpG`VP7!nlHrs^3`ie&Cqs(URCdz6Cs#IZwy2`(C>8Z1@jN zR7V7UVnlb09Til8RZpDl{6P8ST&e<0A1lnQ^9v>qD}^95&qpT`J3!Kmm}n&vL?WAt z6{0$QWx;*|IQks&@Vs+C7rG+Rg8=NS4;o?32J3k8bT~d$#bibW6ztK>D6Cqha|upw z*GpF8nGaPN7)%k#rbH$ljh-Kyoy}KOrnC9#`kx&UY3iY>{P|j2<@3d$FP5?&bt|fwx;ztmGf!};Gm(s&}SY&r_a05+SZm5 zix9L$j8NuFq)3#F@nh+Ao8py)Ty=tpF@UYO!>BlUO$>Xd;9DDa)yF9(4H}_Y*TP9P|+tSskm=jt9foaTmw3$f;aUja9BSV`#WB zvY09mj?_|FMyV7n(EvP<}_V7jBbQJ7>zE* zi-bcMtr883hBD6R7OrU`OUvjrgaLCB3aJxM#7!)t8_%JBvK+Z1i3826NLRKUdq7L30BhPG(Ve^{IL33}-R`32Sw&<;&X6 zm|NLgL#KR0n{diOa_ns9g`CB7NRBW+Sh%9)SNHt#_k=(HGaPz1S0Cm(S$dGDU$p}u zRT!L#Cx3cRaON>Oy^}$w|B~zznQ`24q-we~s_`lzN|(Z}fqjj14uCxMk%o$L3#hq; z^#eDQ^>iZbYgDPm7*_cGbhD(JsHHV_Jp<_xrNH)fT?FrxT0JH(Tm#oChsNkD8%$TGx z>sqqNT9tmiq~Was;2?MI`nl=Coy0Tny++bSk%Vf+F(+8N6#=6DQSh&1VBqp2nr``7 z#_?*=WnyN&ne_^ zC3Y`00S`n$K$hWFW$p%_!-(V}iVlMfsUj}n{I*KNbgnwWVgigxACwMLlGa793_z}E zyjoWvy$gr1+!a5go*~!kHe0#%tAB>vd$P?hbQl*t8~*}5i=}_=#nQiC8O@xt zMpf^Bzm?JK``tM8kLJhD3-Yqc0ZhXXO2i6Oj6ZW} zdy6`oz!p&+00%=asWmjMr@sfw4ZXvz9MDC~1*|)?j7HO7T>_vPc8LHkK2Up%z($rK z01^VxgeyMXMfpYDJ=lfz@H_y>v}wU~Rg2Yv_dUPC`%5bBtR>I1U2HO&#H3L(JZT)q$ojn!E|*HNhfgT4T^tE&SHyJi3!q6D~h z)dr{0roFV6Ojgt`sB_cZU9%Kh$Aqd#<$;`eS%A$XD{+6#%xSb2uwOR~|O`-}Rp!B9I z+AeBiI~VI`b*obtygc!mh^Hqtf}x$IYg+w640cvsly@jt;;AntLy8r5RxQ;^vWqKt za+U4_YjIRc zyR@z)&Z{x%VC}G2bxlVBmy&JCZl zQ>24W=US0&()M&BBZ*&rh*c+iRUojPSBY#PUmx_#uZnEXh+O}y$lx-Oq1#11uuo)UQe+I8yNJ7ai^#1pkq=IY z+*TC%C^T>9`eV0=e4O<691*#*p7+-V3jb z{Ph4IXnu=&?DO~#_ie6Uq|E*Ii@ZdAUV`S|ULo?GPCn54?z18Xt`d3WsL0>lEAscG zndJWWq5b-8BLBqiLpwzdL*vK_k^f7%N4fVe_ldkoxj%kX zCdAC16f#LVOO{EV1|(C8-J67rn(4Kd3pcf~9*=iDRa-226xf3cVg zUlw!e8)7bdTFjNy=jvC*^v)Nvl{##P&H!;kq#xmW*D5i$EEDsg`^0>NI^2;Ia~Ji# zCno0JqL}*z#O&EA=8uku`84z%Y!LIOA~bL4q3M@jo8G~QNQ^BV%(DNbxs zoXVZzRP7O`@TxfVqvDhv5@+^qaoS%OXZ}%fy4H)+vr3$0hr~H!mN;k57iYyjaaNIL z?RIh2e@dK-mx;4si#V6RCC>Zr6K6AdwtC`hD~U7kh&aQPw;LKCd{&&>$n#OkyR%cA zyPg;4p0(oK+b7N^i2LNd;{3scIDbt3`xlGzKvA5}i8!Bc5a*GYIDbxEzqDMOCn@tO z=zaAralX#IZ;<}Ehs1f|4RO9n{66yShyHi&7w5oR;=D?^|BG_|At}!H_lfg^ad8eo z_sBis9Hs0xpz)Kd#Ce;vQ+J7Lt`gTB71ui|uD?^<=n-)%CdEzgNj)fTl_zelUEIQa zaf_s{+b(XyfVfRhi#ubLxU)LNZ5ChmvUihCRN{pcIwe(VWx@8;Rf)rk*3rOua@}lq6x@ z)Wd`g_HN_UIM+>6cMz7Q9wcm?dWEoUYJ#wR>eGaCruGufwRGl9eU0n+HdlvDvta4~ zF$*oVE*sN5^&&BgY?^Cq%oe>%t@evA)zI;!ICW5Bk|J-6()GGzuQhK4@%stuD7S)o zjuST8n5L;mxGvfFb{ozmR|WN%B`ng9>Oh3fzqLDHcx$4;`Gb} zVI8^RlzxD)ox2I*HLM_Sf;woJu`$(9NJx$n6YLT5JA?&#CP6EHm$1&JY==&Qe$X`C z)Ffe_LP}z^E=8*+32R81BG(~FQ_72kMb2(ZLqV?_NRy^MdkIVSx}8?1>G@X(wT)?7 z^f=)b>Yt`9}mSuOLZZMEfxYWjaa*9&aSLTXhloz%Qq zx@`JxOLLLEzJ~s(rWMqRUV<`hd0cXYZ%Uqe?kB9H{(0Lcd1^Jmb-NAc(4ssgzDT%$ zzRlAo+_k-(w{!|nIDo=YM|=SauMsMR0=@boq4sKlUi}K;e4DZZIt4iPuoR$kh;TFY ztg(GnL(FSDC!dr>C{GY-9~SAugM?a2(UwxA4`1QB3Hn88hE9;jU)tHbK}(-e%hm&9)z!Wwx{t(@I;KdAJm15Fb8Y&0l-^98 z4-t0R_-ia>t>+9|;!LQ$DJ}f3r zYNFTLmJV8>G0J-#b_6Yi!a-Tc-J^ucMV*BE>A`kN?6xiHCT5arEq4*=HEf`sizwv) zp^mae@cCgmL(Zl2Gf01cP-V^;(o0!uW$o0LWCJ5{g0M&(`lN4a++0n&4l-^tQyBBPnM`c1C^M?C_@S2&yi-y;6+3mH3*GXyhJ{?|H%JtsfbB1=_G~B;!`)H|s>zq<|XLncW z+M7!2`gdGg9v--4F4eGAsDDP7RtH)wNTP~I^# z++QBKq`Ylxpm+EffiVB+rBkIXg^5qM<-S*n%gVze{X>JLt_7W)o$J;dEA?2R9mh&N zMTL$PQtBTm^_E75d;7{edWUZ)4PE!MtvpuiW6eJK_b<{}H-uffE$q>)Lpv@lmrL76 zM|YmSaN#NLmaZEbE)Dc=Ef0?L4{j?B?Hr{CMo!u3$J!|8$dK%mn`Bt}Wt(i5Q7Iut zwjxAI4BSpWU0hvDiju4&%?_^1q#m#_Yq%bfU4;EIC<{olk~;%@pP)Ble`z|+cOzjR zDc8vw;x8ayA30ByeF67(P$$i=c`hN`CS%a-CGO-JytDk%q4;m5TRMrd<~`QlpO?mE z)ODCT_f!8t=ylP~PWxXep4`@xTiS6_jeg!*lqg^OyqC`?_35RDwNJJGZXj+*t|L6T zCri}uozL=LOYyJW|BvFV8)*M@F5PxgySCB;JLFPg%k+bC{3s*fbSANd^v}N~Z;2jM z4lTiz{fw0|Pg|e*Ae^fGyAz554~)P8{B!J#@~(l|!er!-%4O)yk-5y*%+h3C2=jEo zmWyPu^vDufD$C?Fs(J=9)^ErvSuN-C*w)Hz!W*mKlfRQ!Ws+0r56eHxZ^^j)kaH40 z26)CRwDN+9$$ytG%C)?}5~tJuOzt%ad7D!d`+&tOS>BYEGF!W3<$3vQQzd_+(6YQ? z@@#Hh!yDtZx;~j1`dg-6{s+*0BP;!zP07qKGfj(`CI4V%n^x1tqupoP<=Z^U{br7t zE5Bpr$)B6~rUQI;p?qI{!cHt*oH4M-ES8r{kNmA{H%nOe{2jB*oMukv6~pDM?>tlf z$($vBVOE%x@|rnY`pr2o*MMAaR+-f>$_}~ToXeU}pf$WEYt4D+COgeKvt9*=xj;U^ zs?v+(O?IVtpSi?bYBtEI*@*DmC1d6?bGf;~Y%*7x_nWKC)#e)c-)6JfVtRQ8Vz=C6 zw#qGXtK4k*Oj$m|sU;sY+st;;Z?2bv@|L;54455e&H&EUkKc{bKG$7-z+S*G&d<_rv zj{2)D4S%(bjITbPEV??Rx;mhmSaX6}a?P|_#Md0p3L_+^OOFe$x@g&jn zLbB%tWc~9-`v>~UiStinO0Jtm-Cu9p;;*;$ORk@G%Ucgs|H9z@g~9y`r``82vV~V( zw0&%FTkr7Lj)C5>(db1%`H72026{)f2bnJkzXBSUOs8?Fy_L9hTJ6rjbYkkEwX6PM{W+62Q=O>^hScBMy6GDWLg>Cs5Wyn$T&LfhCdb*KK72n$HI;n3;ANq^2J!d7rTO@ zcAY4yV%KrL*cC9rO#yq{bRvy^v&|O2`S@dqjt%yAt?uj&zZZqyE5q-zgYT}@;rF@0 z_u|g*yDRwaSrUFP4ZfFz_m_nCmxT0|oXxb2m{zQdS=p>Qcl`$DNPG(-Q&aYixuHBf zNL-N4a8KuZLyYl0XH#}qCHEy}wj<0OtB|Mnn!hv?<`pyPT;g2e-06%vf9dAjCU=&* z#9iUu>E7f1uKOwXPuxe{uetl&|LMN&{xgeG=X#yq5^t4vr8nRWd$)SO>47O@&mRWi zm}EXz%u*3c#VZx9RIF0*DMhCgrBqBx5lY3Q6rEITQjtl;B^8xav_TO`#UmAsR6J3U zNVV=kAt_})NP!}YiYumw0ed8^Vv33=DxRolqGE}PBr1-mD59bXiXeg? z+Wzn?dZ^f;B8Q3_CZVI)QyuAFq>ft3Ug|eV-u=|?6_~WPKpgGGN_oA)=e?N6Ft5MBxXG9^@*_8zhV(U#s3uj3wnJ&{jrz2zh*H% zMf?=+Q?yU<7LY#LqxE?l&yu2iin3}y9|+r^PjkW|Pm1g*uBYkY37bb-eSp*xq}CQp zP@@;a7Jr2rfc=mI{Ei%l$ngx%nD+4NHMB)V?i9BRT6pj{9YyODt5c*-ak`)fe-zR? zKrIf@nn`LhP7C%z?Etj#WkBgimbRhXNuIbOa*D?(8mCyCa`Ys6Zxqc^kvPTS6oqRf z_E_x|eN*gBkvGNN6m?UaN)b23+Z1h6tWA-&pd3Rj--NazZHlvjr%-E``XA+Yz>WIr z@bO=sZJVNNimfTKHvRq~Xa#MXv?Uzmsc3D3n(DZCkrMY>BrV{6us3J~PZVDWsSi@; zqr^-=LC2QX=@56cjyj?hH&c%TxFt1E%uIPt@iNciWr~(5R;Eaqu}GQnD~KxP7{$p5 z!O7@Ja5C;Zq8J(D=3&LhNOd>#@S35$GwzUCG1}lV;%dpEmH~)1`hOk^U=|ibE4E2J xwn+zZ3$aONVuzf;a{!~mZrQ;9Imo#_nTt+(wah~&-K-K5x^YIH?vu*D{|~7)B5(iz literal 0 HcmV?d00001 diff --git a/assets/menu.png b/assets/menu.png new file mode 100755 index 0000000000000000000000000000000000000000..0ea63e0804a470afc38092240338eefb7183bde6 GIT binary patch literal 525 zcmeAS@N?(olHy`uVBq!ia0vp^CxF<9gAGVZ22Obhq!^2X+?^QKos)S9WFPl*aSW-L z^Y*T<-(dp*wtyaskoWsvtv$q~*dFZmmY6LV4RgdIjD-`W-mx@ic>E81>1M-4ovghK9+uAIk)QdytB+k=5^hA zSN4aWyJ7WEUN*%s&%>)b%jVsO^nRPx>!$xNJC>R094K7y>;3QSwuRE{1?S&=K36iq zA#dZ=HM=g}C|=LoY`kaN|5bCnzr?-wb1-@$;{9%K?Ypg($vUMAOiLEYGi^#(88EHu zqE}7sH-(vtd@EjN?cSywdH1`rg7%fN_Gzs9o_*Ys_x+S^Slg_oJW-~*$?;4<30bY7 z8@{V4%v^R(V_inxz3{)aQNk0LvUj_lOun(!|MKFU?)`oD=lWK)u03ZwjgMvfwfqNn zwVnYTyX{Ni#A~Z7OAegSmR%CCpKHD5s)uW@1+Ly%Jk5qFC~-BDmSlQ=|NYNeKlQi2 r{jt02^=9@=4~upFSOXav_CMH4E}m+S5qKyAj9&&%S3j3^P6Eakt zG3V{wgGJ2>BCUyUzAXIoPy2q?x=TT9d@BSVe5&7VB6ae_N397jAO3wQ+puK)MP7z9 zHwT8s1_mZZMiwR}4i**x4h{tY0S5(z1_!W2)5!*zG zD)u4{j|QzK2}aHUPXT2GMlFt{XKowk{U~7#Y@CzoQPpbp&Bfu)j#Cp~d4#(?v`Yl? zx70dh`F-OH_gXTO*W>Jy`*RCggeNZj8+-0z2F;rD~RW24U8Sv}!u-TH#+uT|yC zv^$D_w)>Q}<`hoVXMLULkac@mU*Inur%%UoSS6Qkd))u7WpV$0uFs+>Pisqc@220c zY^w~C^(vE!n|pK`HXoTEeCs=xnAErOh(GG{%H2AvVk)c4 zAI!QC6gbaNQs7Ub$4|+5jy=jU=aHijOWb~7cHdy##&rM25nv)>@O1TaS?83{1ORg2 B7(oC4 literal 0 HcmV?d00001 diff --git a/assets/vsai.png b/assets/vsai.png new file mode 100755 index 0000000000000000000000000000000000000000..0b8c6448f02c7e7f07ccb0f482c2fe5b58ff0f73 GIT binary patch literal 601 zcmeAS@N?(olHy`uVBq!ia0vp^CxF<9gAGVZ22Obhq!^2X+?^QKos)UVz`!Kz>Eakt zG3V{wyLl}N0&R&IRe{z2-S3H32T3^8dJ^yzI^!*P%eTFq< znu$dE!I^g-uDhj>TmLQYwcY(=F%C(oS8n)+7;9z9hEFzOisEtZyjeWq-npu8J7@8I zJu<-|%}gPxYMHOG)1>#467zt=5+f89i)EzfQ28yEfY3 z(n|x`2~pwQ>6IRj#J{;a%<+5LuYS*;i#vStF~JF(Ug0a#^!SYC&N^P>u+Hkbhx!?J z(PeSJ4a+w_nt8MQ*0S%3newaEO785s*WPf)!&pUES$c7p{pVnv=jZ&>($9Ph4=MD! z_FHhmk-XpucW>=hW}0+k>7jR*&Y3GH)Mtq?mVcXe|8X9RO7O4fH?!VGf8T%V)#LYV z4JuWubNrV}+lnb4vgPn_^j6Q=>E!bD9{+2FuB>ZjVPXGfwYwe3^|~D?vz5bR+4IKC zpG*mVB7f~IlXhRi-`0HQv%gJguZtG~pEER1N}_eA2y)7z>m>w#&7 N!PC{xWt~$(698Aa{|Ep8 literal 0 HcmV?d00001 diff --git a/assets/vshuman.png b/assets/vshuman.png new file mode 100755 index 0000000000000000000000000000000000000000..9de16852d90dbae813494c5413b406fb794a44d7 GIT binary patch literal 724 zcmeAS@N?(olHy`uVBq!ia0vp^CxF<9gAGVZ22Obhq!^2X+?^QKos)UVz`)e!>Eakt zG3V`F@1nyB0e`5L4o)wEiE;mghbfvoS>4uP$c@ zaC2Z_W@O}HVKER8IN*TBIsE>WtVQ2`0Vj^@X=WpD zsh*&MJzbZ%5_7Aa7G?faofe+B9p<)hi(Pu^LPT?6_*B_0EKDXq)uD|DV^LJ@i%1e3O-_3Z!6tY`p z`L~G3T-#}aYt-F36V7~{`tY@HwabViQg1i||Tr!<2# zzr?NQ=P*d>o?Vh4%ETnW!I7Y#(9qbxz=nnMgMCI%WuB()PBmaMW$<+Mb6Mw<&;$Ts C^+THg literal 0 HcmV?d00001 diff --git a/button.py b/button.py new file mode 100755 index 0000000..4714719 --- /dev/null +++ b/button.py @@ -0,0 +1,29 @@ +# Imports +import pygame + +# Buton +class Button(): + + # Constructor Method + def __init__(self, image, x, y): + self.image = image + self.rect = self.image.get_rect() + self.rect.x = x + self.rect.y = y + self.clicked = False + + # Draw + def draw(self, screen): + # Action + action = False + # Click + if self.rect.collidepoint(pygame.mouse.get_pos()): + if pygame.mouse.get_pressed()[0] == 1 and self.clicked == False: + self.clicked = True + if pygame.mouse.get_pressed()[0] == 0 and self.clicked == True: + self.clicked = False + action = True + # Draw Button + screen.blit(self.image, self.rect) + # Return Action + return action \ No newline at end of file diff --git a/game_functions.py b/game_functions.py new file mode 100755 index 0000000..fb79312 --- /dev/null +++ b/game_functions.py @@ -0,0 +1,189 @@ +# Imports +import pygame, time, random + +# Animate X +def animate_X(screen, cell_x, cell_y): + # Position + cell_x *= 100 + cell_y *= 100 + # Animation + for i in range(35): + pygame.draw.line(screen, (255, 100, 100), (cell_x + 50 - i, cell_y + 50 - i), (cell_x + 50 + i, cell_y + 50 + i), 6) + pygame.draw.line(screen, (255, 100, 100), (cell_x + 50 - i, cell_y + 50 + i), (cell_x + 50 + i, cell_y + 50 - i), 6) + pygame.display.update() + time.sleep(0.006) + +# Animate 0 +def animate_0(screen, cell_x, cell_y): + # Position + cell_x *= 100 + cell_y *= 100 + # Animation + for i in range(39): + pygame.draw.circle(screen, (100, 100, 255), (cell_x + 50, cell_y + 50), i) + if i > 6: + pygame.draw.circle(screen, (255, 255, 200), (cell_x + 50, cell_y + 50), i - 6) + pygame.display.update() + time.sleep(0.006) + +# Draw Board +def draw_board(screen, board): + # Background Color + screen.fill((255, 255, 200)) + # Grid + for i in range(1,3): + pygame.draw.line(screen, (0, 0, 0), (i * 100, 0), (i * 100, 300), 6) + pygame.draw.line(screen, (0, 0, 0), (0, i * 100), (300, i * 100), 6) + # Markers + row_count = 0 + for y in board: + column_count = 0 + for x in y: + row_count *= 100 + column_count *= 100 + if x == 1: + pygame.draw.line(screen, (255, 100, 100), (column_count + 15, row_count + 15), (column_count + 85, row_count + 85), 6) + pygame.draw.line(screen, (255, 100, 100), (column_count + 85, row_count + 15), (column_count + 15, row_count + 85), 6) + elif x == -1: + pygame.draw.circle(screen, (100, 100, 255), (column_count + 50, row_count + 50), 39) + pygame.draw.circle(screen, (255, 255, 200), (column_count + 50, row_count + 50), 33) + row_count /= 100 + column_count /= 100 + column_count += 1 + row_count += 1 + +# Check Winner +def check_winner(board): + # Winner + winner = None + # Check Draw + found_zero = True + for column in board: + for row in column: + if row == 0: + found_zero = False + if found_zero: + winner = 0 + # Check Rows + if winner == None or winner == 0: + for row in board: + row_sum = 0 + for column in row: + row_sum += column + if row_sum == 3: + winner = 1 + break + elif row_sum == -3: + winner = -1 + break + # Check Columns + if winner == None or winner == 0: + for column in range(3): + column_sum = 0 + for y in board: + column_sum += y[column] + if column_sum == 3: + winner = 1 + break + elif column_sum == -3: + winner = -1 + break + # Check Diagonals + if winner == None or winner == 0: + diagonal_sum = 0 + for i in range(3): + diagonal_sum += board[i][i] + if diagonal_sum == 3: + winner = 1 + elif diagonal_sum == -3: + winner = -1 + if winner == None or winner == 0: + diagonal_sum = 0 + for i in range(3): + row = 2 - i + column = i + diagonal_sum += board[row][column] + if diagonal_sum == 3: + winner = 1 + elif diagonal_sum == -3: + winner = -1 + return winner + +# AI Move +def ai_move(board): + # Move Loop + while True: + # Block Rows + for row_counter, row in enumerate(board): + player_one = 0 + player_two = 0 + empty_space = None + for column_counter, column in enumerate(row): + if column == 1: + player_one += 1 + if column == -1: + player_two += 1 + if column == 0: + empty_space = [row_counter, column_counter] + if player_one == 2 or player_two == 2: + if empty_space != None: + return empty_space[0], empty_space[1] + # Block Columns + for column in range(3): + player_one = 0 + player_two = 0 + empty_space = None + for row in range(3): + if board[row][column] == 1: + player_one += 1 + if board[row][column] == -1: + player_two += 1 + if board[row][column] == 0: + empty_space = [row, column] + if player_one == 2 or player_one == 2: + if empty_space != None: + return empty_space[0], empty_space[1] + # Block Diagonals + player_one = 0 + player_two = 0 + empty_space = None + for i in range(3): + if board[i][i] == 1: + player_one += 1 + if board[i][i] == -1: + player_two += 1 + if board[i][i] == 0: + empty_space = [i, i] + if player_one == 2 or player_two == 2: + if empty_space != None: + return empty_space[0], empty_space[1] + player_one = 0 + player_two = 0 + empty_space = None + if board[0][2] == 1: + player_one += 1 + if board[0][2] == -1: + player_two += 1 + if board[0][2] == 0: + empty_space = [0, 2] + if board[1][1] == 1: + player_one += 1 + if board[1][1] == -1: + player_two += 1 + if board[1][1] == 0: + empty_space = [0, 0] + if board[2][0] == 1: + player_one += 1 + if board[2][0] == -1: + player_two += 1 + if board[2][0] == 0: + empty_space = [2, 0] + if player_one == 2 or player_two == 2: + if empty_space != None: + return empty_space[0], empty_space[1] + # Random + while True: + row = random.randint(0, 2) + column = random.randint(0, 2) + if board[row][column] == 0: + return row, column \ No newline at end of file diff --git a/main.py b/main.py new file mode 100755 index 0000000..c70aa72 --- /dev/null +++ b/main.py @@ -0,0 +1,235 @@ +# Imports +import pygame, random +from button import Button +from game_functions import animate_X, animate_0, draw_board, check_winner, ai_move + +# Setup +pygame.init() +screen = pygame.display.set_mode((300, 300)) +pygame.display.set_caption("TicTacToe") +clock = pygame.time.Clock() +pygame.font.init() +font = pygame.font.Font("./assets/font.ttf", 70) + +# Buttons +button_human = Button(pygame.image.load("./assets/vshuman.png"), 50, 135) +button_ai = Button(pygame.image.load("./assets/vsai.png"), 50, 185) +button_menu = Button(pygame.image.load("./assets/menu.png"), 50, 135) +button_restart = Button(pygame.image.load("./assets/restart.png"), 50, 185) + +# Title Screen +def screen_title(): + # Game Loop + counter = 0 + run = True + while run: + # Tick + clock.tick(30) + # Event Handler + for event in pygame.event.get(): + # Quit + if event.type == pygame.QUIT: + pygame.quit() + exit() + counter += 1 + if counter == 120: + run = False + # Display Title Screen + if run: + screen.fill((255, 255, 200)) + text = font.render("Tic", 1, (255, 100, 100)) + screen.blit(text, (25, 15)) + text = font.render("Tac", 1, (0, 0, 0)) + screen.blit(text, (95, 15)) + text = font.render("Toe", 1, (100, 100, 255)) + screen.blit(text, (180, 15)) + text = font.render("by", 1, (0, 0, 0)) + screen.blit(text, (120, 107)) + text = font.render("Tylan", 1, (255, 100, 100)) + screen.blit(text, (5, 210)) + text = font.render("Tyson", 1, (100, 100, 255)) + screen.blit(text, (140, 210)) + # Update Display + pygame.display.update() + +# Menu Screen +def screen_menu(): + # Game Loop + option = None + run = True + while run: + # Tick + clock.tick(30) + # Event Handler + for event in pygame.event.get(): + # Quit + if event.type == pygame.QUIT: + pygame.quit() + exit() + # Display Title + screen.fill((255, 255, 200)) + text = font.render("Tic", 1, (255, 100, 100)) + screen.blit(text, (25, 15)) + text = font.render("Tac", 1, (0, 0, 0)) + screen.blit(text, (95, 15)) + text = font.render("Toe", 1, (100, 100, 255)) + screen.blit(text, (180, 15)) + # Buttons + if button_human.draw(screen): + option = "human" + run = False + if button_ai.draw(screen): + option = "ai" + run = False + # Update Display + pygame.display.update() + # Return Option + return option + +# Winner Screen +def screen_winner(winner, restart_option): + # Game Loop + option = None + run = True + while run: + # Tick + clock.tick(30) + # Event Handler + for event in pygame.event.get(): + # Quit + if event.type == pygame.QUIT: + pygame.quit() + exit() + # Display Title + screen.fill((255, 255, 200)) + if winner == 0: + text = font.render("Draw!", 1, (0, 0, 0)) + screen.blit(text, (75, 15)) + if winner == 1: + text = font.render("X Won!", 1, (255, 100, 100)) + screen.blit(text, (60, 15)) + if winner == -1: + text = font.render("0 Won!", 1, (100, 100, 255)) + screen.blit(text, (60, 15)) + # Buttons + if button_menu.draw(screen): + option = None + run = False + if button_restart.draw(screen): + option = restart_option + run = False + # Update Display + pygame.display.update() + # Return Option + return option + +# Title Screen +screen_title() + +# Game Loop +option = None +human_first_run = True +ai_first_run = True +run = True +while run: + # Tick + clock.tick(30) + # Menu + if option == None: + option = screen_menu() + # VS Human + if option == "human": + if human_first_run: + start = random.randint(1, 2) + if start == 1: + player = 1 + else: + player = -1 + mouse_position = None + clicked = False + human_first_run = False + board = [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0] + ] + draw_board(screen, board) + for event in pygame.event.get(): + if event.type == pygame.MOUSEBUTTONDOWN and clicked == False: + clicked = True + if event.type == pygame.MOUSEBUTTONUP and clicked == True: + clicked = False + mouse_position = pygame.mouse.get_pos() + cell_x = mouse_position[0] + cell_y = mouse_position[1] + if board[cell_y // 100][cell_x // 100] == 0: + board[cell_y // 100][cell_x // 100] = player + if player == 1: + animate_X(screen, cell_x // 100, cell_y // 100) + elif player == -1: + animate_0(screen, cell_x // 100, cell_y // 100) + player *= - 1 + if event.type == pygame.QUIT: + run = False + winner = check_winner(board) + if winner != None: + human_first_run = True + option = screen_winner(winner, "human") + pygame.display.update() + # VS AI + if option == "ai": + if ai_first_run: + start = random.randint(1, 2) + player = 1 + mouse_position = None + clicked = False + ai_first_run = False + board = [ + [0, 0, 0], + [0, 0, 0], + [0, 0, 0] + ] + if start == 1: + draw_board(screen, board) + pygame.display.update() + row, column = ai_move(board) + board[row][column] = player + animate_X(screen, column, row) + player *= -1 + start = 0 + draw_board(screen, board) + for event in pygame.event.get(): + if event.type == pygame.MOUSEBUTTONDOWN and clicked == False: + clicked = True + if event.type == pygame.MOUSEBUTTONUP and clicked == True: + clicked = False + mouse_position = pygame.mouse.get_pos() + mouse_position = pygame.mouse.get_pos() + cell_x = mouse_position[0] + cell_y = mouse_position[1] + if board[cell_y // 100][cell_x // 100] == 0: + board[cell_y // 100][cell_x // 100] = player + if player == 1: + animate_X(screen, cell_x // 100, cell_y // 100) + elif player == -1: + animate_0(screen, cell_x // 100, cell_y // 100) + player *= - 1 + winner = check_winner(board) + if winner == None: + row, column = ai_move(board) + board[row][column] = player + if player == 1: + animate_X(screen, column, row) + elif player == -1: + animate_0(screen, column, row) + player *= -1 + if event.type == pygame.QUIT: + run = False + winner = check_winner(board) + if winner != None: + ai_first_run = True + option = screen_winner(winner, "ai") + pygame.display.update() + +# Quit Pygame +pygame.quit() diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..49f851d --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +pygame==2.3.0