From a6a9c0ce28c53e06ce3a99a0b744d82710cba1cb Mon Sep 17 00:00:00 2001 From: Vince Weaver Date: Mon, 22 Apr 2024 22:16:01 -0400 Subject: [PATCH] keen: hook up more of level7 don't have quite enough tiles :( --- games/keen/Makefile | 2 +- games/keen/engine.s | 19 ++---- .../{level1_enemies.s => engine_enemies.s} | 0 games/keen/engine_items.s | 13 ++-- games/keen/level7.s | 60 ++++++++++-------- games/keen/maps/level7_map.png | Bin 17520 -> 17539 bytes 6 files changed, 52 insertions(+), 42 deletions(-) rename games/keen/{level1_enemies.s => engine_enemies.s} (100%) diff --git a/games/keen/Makefile b/games/keen/Makefile index 71de8659..2b4a04d0 100644 --- a/games/keen/Makefile +++ b/games/keen/Makefile @@ -226,7 +226,7 @@ ENGINE: engine.o engine.o: engine.s zp.inc hardware.inc \ text_help.s gr_fast_clear.s text_quit_yn.s text_drawbox.s \ - level1_enemies.s engine_items.s \ + engine_enemies.s engine_items.s \ graphics/keen_graphics.inc sprites/keen_sprites.inc \ status_bar.s draw_keen.s move_keen.s gr_putsprite_crop.s \ draw_tilemap.s tilemap_lookup.s \ diff --git a/games/keen/engine.s b/games/keen/engine.s index 7f43c160..569f19a1 100644 --- a/games/keen/engine.s +++ b/games/keen/engine.s @@ -121,7 +121,7 @@ level_start: ;==================================== - ; load level1 tilemap + ; load tilemap ;==================================== lda #UWtXdt+C10hJz;1D3VYw!g3#yj|z z-+S}sn^|-JtG##ab?>@$>a05F>?3Mq9BK+PgjOn0*U%ee>Br#i>1ONT3})~Sa0fGh z{T*ykQ2dw2bB%ntMSR~s^SvNKm3$Ku>B}?O(}$E&PUBRm)#Y5FXS@DvW`p6LJBz~T z_jDv(druT#pdVCSP`K)q9Lc^bEq(b&Al2QCD7T~UUVmJ>uL+h;lwhNqT_oRx zEDjSQE+v9HPc6uCHwGbv`}Zmo5?tLOyaS8(mq^59?JLFmt++15l-|9OP)Nw1BLzTc zA_v60ww7ex^~6tS<>+YS_K4^H#6p8-0VF^AFh2cVUwo41ZuR5df{f06|5%8{!F?iP zaU)i7fK>Cv@TCa+juJf6orjftN38?#7E7_{oZm1x!CX%V#`MJ9@AV^{DqrkM5A1%Y zcuX(s7T}qDe>(l+Ii;y^P6qa%M$T!A0jmzWsw zYnUVM+L5FDuR!M6o0W|nectZ;jc|GE-!^~r=AO?MAJ@nU5{r zmb{Fqs21{^#r!2?)_CDERJc_5`K}4+_)(xu+Z4XpuPm{+9xh$8z2btIe*>s>)tBID zj*ilxmX)M z-(A`f9=*j-4XK^E*`)l?0r;G2+ij+ao7bXi_ZGX8g~Q`4qC2(eETic!KOB8UbHV?6 z6G8{$hl=*Zkl|Q(lt?{9ae%{lXUt?sl+$a3GFZU?I>Zp4))2|Bh;@luw|bV|UOOgQ z@)wdOvUt41^W-M52W{)lZk66UF)&)`ZNKKfagfKHXK!;GcdAYpgCL`NiS_B%2fmE! z*DKOqo356z?w|f9g3PXa-B@3(xR#!bUHf*}C9nG$vh1lO@;X6AR>)F|1g)&?N5{bq z8?7tLosBJQ`4+hr;@)y8>>q@@%>FdeEFNM+%{Fy8erBdgxx5M*6i375{Yn>+@M&IYJ<)8wGU|;coWI%;8=RFV;|@` zL%sBw{1u)PL?(toq=6?+42OMBPs#cA=AbHK+=>_9Ulo37pJGe$2}LoIL0iIGMVyDY!lv9sP$rkM|19JL2Ww0? zt!-#}nSBjZ%l9pwV6rr=wnZV8mE?X zS0bBnPdKw`{tyo0uz*n0mkIYPy_q&Ufy|lJwyL?0Oizd3vf>hOjbPq{y`Of2esOCk zf?zquP{mJ80(kMpoX^iu8FRd zZOfn%#etS?|8^gW#Jj*HOx7LU2j1baLFAzM7(5GZX_s(wszPlyK>iosc6W;Rq0@2| zW?h$KZcZZWs9Z@F`^Xv#978-x4>#Rq!ZLO&M!P1_dXO6?bWMU@yr`p6qfQ zw^u$fR3q26BU(%jr-&fch2(P?Cki&zzB@6gCi%x{1T+HOiig*h=Qyk_y)x$>;#M_|-j&WVN_MOLj6Uh;27eM40-BM!5CuILY)3an0`#h|+_9aCE zz5fpg_8}kU<}5Df9pN%-6@-#hwQ){O`z||G@IYgEa`y3(Agw^QcEM1)wdnPlFf%x+ za2i9?^&jv>YQs9xhCJR!@lSCYVx0x>CMSh<( zOMCc1qwEx{KJ(rlUpcl;fTWX&zMp2v1B&1?j0L&btb4NxL@rv!vg+tH!u8)orS?b} z`_5%(stvW=sCt;ut{^rtPx@CLG@vFNk8Nhhyn@cpBK?;pt~4MXPCgz9ZytfMa<(z1 zkB#mgpQjfYoq8)0_OIUjcvZxOgH&_8)lzL>#4k<=lPkX&_ITNm-ZDG{>Z3uaPM1;A z-5T?LR!BN)8lG=rQh@!omkFP}7Fp99jkTa8{uEUy4z94dQ-+Z2;kCPXDPxKMCX8M? zQ=Kw8xupolGA8mty&!^$y*F5_w4uO7>yjTKG3|U$KIuyXO#Wp+v#8*Rq5K*%O0-^3 z;h1(mv>@zB;;%9%Tk+ry7`6K=Yip})+%YlqXHiFZv^Dkmwh@hr)d%*7ZX7?tc{B{;XFcDZx~;!B%>D6wwuISTSAQ`K$G5s^f5-H0@!-I` ze6v5sb@b%T1bDvPQZfFW;7{9=SeF>5Lq}WnTgxq~NBs9&h`?T)iJ;hRS^%2wNB8{x zZ2gW1Iyn#FmK1|BF?1FC-&tSglo^!~Vwe~n7-$2!9{{#LMCN>ta zupy<{OOOu@6NEULD0PE@Sx5=hfCkN&1ATtZrAUO3^8;^SdO*xiqJ-Xft67;vFIpe* z&pEiV`)eR&-=0sj_$=$FacmA~or(C+UV^A^uUw#~WX)T_cH(ty)8r3zM`hGSfet zusvNVgPRG8KpW*L6($`1nnp+IC9&a&|7&tbfF+$(g>~)mlgHw)Ez~2># z1N7{Rq6m+r+1J4dHpHthKK_xWq-a`;c+qUH4ljYCg&5>kQPA{fFbjRWpRO0hFlq_w zDNHpMp|pael%rbx-A0Mq9INGBCAH>cu$C@hqb~=2EVj1xPfzKy)_9KrbbTA2in2aU zl}2hVH;m$6PGFm)epHx2Vy;scJO}2GSx9Un^4oF<$mrL6mT|{Vd_DVlv};cio-X}r zPaiF6CGF+)rnQ((`3jHVALWc%4`l%=HR7_(_t#4{%OnlheQ!&6x2K8z_F@!Br$9$> zjZD!3iAAQOof7b`|Ipg1qY?d#G%TgYExb`~guIMkO1#i6*L)FqAdu z&|RKZKpa~V4H?<@=O!CP+nX^CU0QuDN6XWECt<$lu7^;_9?5)>R?^`%USFF0A??fi zma2YQg)T&^>mA155j8YQ@;@@(6l@WM?{^-0XB*`bQg{Jx`z0F?d~*Fbi6p10r&5>J9u|UjkD%v<0qD^!Ae9?wcb8_O%?0WM}ZvW6UOon&p5T z6^ug4Z7hSE%Hw~01ZbnBVe1Fv9aNlIWK@A!FM7%YzM#bI&T}4O^6(SNMA=ln1@qo| zit~M7B2@UZItlyWhh8c?2CM^?aVxxtD}y-mF^(w84%m-ocxxIt54*7o==RTOkG2>u z(4vMq4cXjR4gH>(-hnZux&j$XOGD5}hiOk0k19leFUDxmi%v})s)l0fqW0mr-({9o z$#2n^vM@EVMR#IBJIJC*R=x2*mAkajBQt@_!C!)&(D}M2EF|&a0iIrttzDX8ljgI7!Diin}QH0EX*YteSw&UqI{2alE8>HcCY!%!QMbdl^Ks`zFpVIIP_@9 z%J7Oqjg%|}V^`!HXWvN*RPBA8S^GYnq1*HaAzL*_jpr5qoo2nAlx4zxi8~+Me{1xk z18}of4SaICCxuy&`72e3__-5zqVEPjxA}#emwYI~5id&qi~kPw0@a>qXfI^=R54?*>`*217CK zy-RREHp`5w@VR7X{`uT9n%>cjqv#q-g!A&}S}AdzFncm(*sTI0ox|nD7u6R%pWJC$ zRBXOws;gzTy!w`VCQzo=jz0}K^`>!4FA9xNdrz029rv+W%mwJGn|&(S^d2Sn2(uEe zO|6cG4o9e-&3VRcmYIoDD_MBCI{@Q=n$)d!j2y&Lle;TB%S+58n-c--~sflt<=# zp6prF+f0V`CR$z&FBsEK+s-%_>xni~%L-_<)JPco1LaQj6ophGV3Q}N+!W`-3|)E@ zy6gtY(I&IGntG~?asn_8Qq;iSO>0w5e9&wl#6qVa&Y+YYhtQQm8;CX@8aUG0N&X7;^Ws0aWe%{!Q}s@jN#BZGl$8IR&zpD2=NV_3p~YT)I( zYhoPkjm+rBIPCxPTN*<9>>V`wS0as>)kDT+EHedl*_g88g1vatk!u2HLyJ{U^o4N# z&_U;auBanAJZ@E>N=eDT}w%~(ZX>mJht5cJ{ z_}6zq7zIi{-Zo}C;CfmmeTWfPJDT-pBdySv^y-q=adKIym3){bCe?h5e?LB;cf6H}X}Lji>^BpP4HZ)RSL%&PQ_L4Q^P#u% zt>%YLdoOhR>@F6p1v%P^)6bF29qHy6#5;jOSD8g^y?JP8q^})zKD}vSIE%T9W@j;A zL@i*hX6j8j7fZ08l7gVeXGy`xhoWu}FCu#m^o=t(stF3c`30LuumX+f+s4&%1H6+3 zG9IF}qXf2j9IYYJ>7Wx!LG)27@9&H#_@An9U&jof3^cArU@H+X5zs)6aXXSH%Hp{??1p?GlfI51?ApLiL%lj+~qoCAiK}xTTEUQ|P9&et%e>Wz?53-R0UmUpNzz^{F~d zFY2m$WRuKCpctF1c&e%AQuMeKzYBkB3e_d7=>5hkA;V+#%YI!E0@e9;q<}8n zYp0xuXQ-nDVf%tv@tO2JM+lsfq{vWWZ7Q0a3V48VGQ^O{IFyN28&j2vANpUsH?IbzuAZFv;^-OHsg$xUNZ-Jl^WZQ;=jaL z)5#faK1J1yX84)3PrDeM;4Tw(NG7c4kHJ^GO5AAO4%wgJXj4K0v}0N{%qNItRG{o@ z@|S+<*6E6iNR%Oig*TEV)uX>Zwf>1BX?i-G-(z(ALuwuU8sja>m^v7x1)C~d)5=?b ziP3?GM`WUEgq|2Lu{f>Z^x^NC}AW=DIe%Zo1bze1|ghJ%VWQS8o09OqbYE*#j*ziK%UW}j`fpB>`cCa7fo4F|I)I1?gX4n1H>ib+bBaIz^Q9Be8!fksY zqlhX3B}ts%Z+ec!y11KNvXyNd*2`zigav)#GD}i|N@LDbF;m2b=nm-4x{Mk6(|spA zRhw4N$3}I;WFN-)4_9B`%!Q6hsT<>n!}LtE`XS!Lmqjj>!aw_K+IZfEEG+k~NJ{ZJeqgpe}>W}wtcezBf`3cf;X`$iC$dUkv_Khx^7<#Eftu;U4aU8}1FzPgNil03t z?zJ44dzSy*nCWgw^}3`o6YCmDSVFZtQchK_#J1^BWzu1E?+{ozC*rh5y~L#$LvvI^ zvMs%c+M8-e8zd!5$uKfSr_tYne4ln%(&#-HNkBR=vKgYkL#9^zC$qq&MPbY#n&N0eLV@o`ym5uR zdgMi$fPDMkSH97J&D_5dcoBK(ut-4wX4Scs4zZO6r{mvhNrN@L)*m%3(-1Q;$i)eH zypT_9ZVX?2-|;|IkgEIssFQ-R{h7u0DIOc$xoTN9>u~xtTIy&6HKsrmA;-O!)k#u^ zx@D_;j#&KZbN5h_3ul7L^ zM9XyWpQ5ePWSC0O$sL4sIWcFELZ%-h={P9vWk}MGj~r$GSPR5sH_I5lkY2z=TGzbh zUBfH6597#)kx^tb{Ws-tpe7WSmYt<+z3ajr&`wMt=xTQ&P_GZ{sX_lMLz=36AIv#~~}Tjz&&E~FwFiPxMbAADuCh#ql&JLd6+y+)Jx>-}-vn;i1`mN((m zJO;&9V53QUo*Ew&I%tZnu#iDa-}aDpnC5S3cP@Fmm~p#rTcp+<%DK23ihB!M%XR`3 zjl9j0c4Vrp!S!pnC583Blh}hwt}`>I6CN!ooCIJqgL5$Fcs$nhbFX_ldA>{CE5qOc zF(190?~d@3Z0nbj1Jf?5$ZAMx=3)S;mj|*s3F_ag>%7nD z$T-U?)K~G6JLdi1CZ31kb7t)_bZAxY{#G^D&^QkM-JbSj8%3q~un8lP`k%4X#53n@w1?FYaeSqv%h2&21cM;bIpW>-@Km5I)C8scd zaCndw_3j><*%-Dg$%9l&D|`$~I5PZ+SDsNFBne>U5!r%cbtbd__H)4eV^Q!cU^|$r zO+D>RtmC?UclYJ(fLq_g&V3Xprih(O4kQ&adALG;~ZpiUwwM45Jjv(Ac#>EJ@sm zC!LMO_ChvsxKv)8i=IcxlCy+vw;f+l@0Ik07Eto>9|UaT)M*`mXpJ-))`}~SEB#cd z-6efg-y0C$VEmS~ls0qcdux206SVO*7YO}|?QR~!sQ=f^aQ7 z_5FxAksCz0)ilc)lo=x6WO-yz1$DaZ{siB*0H2O7Uf5Q00uJ^@f2Ldnhu)%+OtZ3{ z{He4d0y;!jDu4MTxl>j8WnJcyHH7AyD*>VPt7kCdwP06Tj(5q) z2{sJ6_%*Yf<`Hrlymou7vljA-kq4m3Ub11fDOIzWl?7&enU*vY**uMCz7>WA3vQHJ z=yr6eg5Heo?H$-Cw{k0tAl#VXs4jIxchae89QdHk>-m3hjP0END}aT?q}_~SDRjUO zH0xrzx1}Gu5{N!qOb3WFE*IZ_lluUB7MGkICls28T&byxKduR{-QW{AgfoZL_~^l5 z6nPiJm)Q|sciEvqVQ7qP2sS-IScmEUAE7mASTH7G_%7_>D>N8X5H4SY3OHbk;U5OK zn(o`Os{!wFSy`tS*;(CbbXnmJHE+o)mp^0WhDsHxlpRRrJzZQAArR%Se#&_x9-oNb z0MsEnH1-6qHk-mb2MClMI9K%v*WvNJ!3%??zAv+;mYI=pbf6@hdp($!a8_oLvTR zf9@v$fKzoAL+>N+n8tnsGE{Kkt69)%2M8`4L*ZLzYtcW0BxTW7&`fu1Y zKzs<`V)1MBA+6!L=AUH)B`AmCqdbsfr$CfdZy9)@I`P!b$@&=23kz0|(HiOU0v1AN z{#&gw%qqEJpSJ1A0p1YZu>g(yN8ECc^{KOrbaMQ5<0!7(t>~8%5JEo*TW4a0zT~*d znNiAtY5|L;oPd0hpr;Acsd$j%HIMU>lJ=45FkPXbW>VrUl5v45c|TJhsML@M61 zm;2jDAN3R;6yc<{^M>z(-j&bJ) zG)>C&c={DUXYa7kt9nZYz@_KiV&P9jJ|G>7L;>yP1?4TTUr2`c>3YimaREo6*iRqz z=(R>rl@BIXZY5&N6QHYG$C^M6FcQ}2<$Fg20JIKh2DmrAVcoMLit znlGA6%B|6Z%Xzc9-in9mI3QQ;i#p*wL7*t8P$A{w?P`;#k~XkmXnR&nj33;ns*ni8 zcd$?!hipZSq#76DJ#;7^QveU%4CVSD)sG}|t{DcS8e>y;Jsi_#s`~ylhSQ80cDOEp zfJYX1>meuP$+2S{-o*{4>AYP}hZa)>gn+DK@CPvAzv6Ogkw~)EihhBCn|U#fHR}9x zCS4jUpdso z!lzR6kNL{OiD(FYF%+F+Cld+02CO>ec1xBcww6$#poLMSLjobz{4OKx6YG#sG9M3q zKG%-5AVzlydLuJ3-Kt5l06db5WH4;oG7w(nA%Lzo zhD`dB`}IHqoY?Lrng5OuU>%y;HTla=EWf-eRVPXOMX)qz;K7QMI)6fEL2HCraAWz2 z&({((j`S|zR|2>_6W_JRf9`b#s5=K8xip=HsI z88r{OG&TVaV~@~MO8Ie-ls(G6jmtf|A)U6`bbnx5vrf`I7Qjc+n){p}0EqN?sp+6B zS`3PjVEw0rSU*3=7tDm@_v;XTg|>?Bkes~?%lz(L*c!sYS}@~3hraXgeOmtqNV}2L z)xZU12B{*mS7Je%fN|3z>=8h6m=}ui`b@~~O)=CTxTXECu=HAz2p4rccgwhq+RN-- zpD-Tbhh)XxK=UXUf%-NmfUN@l4$hz95J^_$R<{L8ww-XvooVG(gM5i?Kso4N9S&+w z0tQ1$ZzP2QE$+|=XbyyZ;KH%Vg-aGLM(TKJZ<Lh9ggePwFpBgeJX%qo)Yi|(qoz?YHo^6K#bgszj z!M-Li6atZEv0TpMe?MXv;>!lg{4e|sz#+fx3zrxTXyC9xU_8zo6ghETsx|VlTrDvq zY2MB*=T#>RD}PJLD`ZyyK-BfAy7_xTBGKY6GAb@J=49^kQr5$Ozk1G1onYs=(t&2J z3$6b`!7zyykYmtjr?Sz1#ah7klMuZ_9wak7l+I{VNi}#E+JvC%*ijC!;n5t?)3lH+ zuiC%*&7(BJ>=ZB)4AL;XKmB2n1XWtNfN70P{EzTDyK7P6VeLEOE6b&JOwP5TS7CcK zx#n_j5Z%-13Q{l4Xu+0=buqp9tUwDmX`rG^d6C0Ml=EL2NNZjbi6zgEdWBdH0qy7eV)aIR%n;8j8#*^qk#1ElphtM}u(`@uqAKXo zBqS(kWJ!7WJem>mRgZ|?5RgRxYDPjYQ~6KuID>D`8v0heLKHJ>Tm~abS&?bD-00* z9|l^nMujsf&kaqX6M=H54k6-_YZd&Ie z$A8_=r~z_tR#4x_uE|}VFyE$h1(m43>>ADKEQ>)x;jn}qXq_*8XcHdU1+ChDDu3{qzBF$Jp-67X+ZY`$-D8y1VLAzHhL z5OzwJ8tgbUhczx)+T&~emqwlwZgIc65EDWVY1_f1H_AO0-PJ=f!N&>Zt;059W3{c; zZ;E?Y>l9sblC0x?KOZL%Zv=LmBL>P1M#!3Wa&DRSB%BMipY0a6Tsk*sU{N5log^X0 z*@awV#L<&;L$}rwHat%a;N>|;)#PxbUXApDG%s0jJRb>tj{?2mS6!UjtChZd@S1=$ zD2@k{sntSPN0P6d;ZlM~qf%QbA^^L=zu%b&qR+Xn(iVsXX_P^W|Ig4HS-mqIc;(N7 z7?8L2hgny;BToXvs`D;C!tk%vvXV%{K<3{E!?Jes7{IuIVyFR6@m%T-Qa@c#%%i z-M*O6tE1=LECJ>LWhSkK-auV~4&8UD=wqSj+t4RNNE(f%ftc@oD`BYAiV~Of@Oit| zNQ@|4I+JB^)*%m8__F!xzid{I{#AJOZU;-lDpM!zTb+xp9dfl(z}m?ww}2mQe(*it zUsE|M7Kt-{g$r)EqGT0ty1PZGnO7-%0CyT0{%dbHTeckkV55 z5tR)7`7xl%K~feVV8eLak26{AdX4**hAMj>3Z%?6SBS)UqBzdmZD(m$>l7BWUAyiR zHNW-Us%{ByM-0GLsUq{`N7BR>=bYrN7tEydwla{6J1|jrbMocjhduw1v}6A3<*Cm; zi$r_=U=FyIhEeIQ?>{DJBn=Y$_Q4oZm2z}$wUrDq&u;%f22Gpx9$_LdmsZuFGZ23X z+)1gsOb*zo4oLO99GqG8tZYY^f;{hyJTF>0m4~ZCVmmGtI+R;)tsPuNGeB)!%9}i` zkKCdGt8|YXI-+3ic<;T#gb>?&$6DjGMSb>cru;L56RFOs8{x@nfPUw zS)i)oDtas?mNWjH4TktSjY!+tXkI8i_Mw^76}U}O1}2(|&^$K_6@qKG{L6AKB^GrY z?Q(K%OZ)ra6I{F0#n22W|Nn!Dq7QZWcsDNQ?%HN9kAJt-$j*tBylIz2P|@ienn9F6 zBR}@c5@{&1<_Iv2$KK zr0*h{yevY&2Pz1a&6<%~?RElZLGtSMMUS4`7fwYzHEzE`H_)!+N5FN-qyVpa)pbMf z+cxRErl2C|#vBJiTDX<%Kk$U%6?71vR;0<72s(4XdiD5d*dcJ$K(@-7aeF=$8SMJX zU(7=pFo~uE(Yzh4wx0Wp;PPsMCYNSi0_2gQvfL|AT&wqZol@-dLChfTp zJk0>tF9arr*dUNYZ<{>T1h7JQ;ogV}r?j;8v~a9{bD*x{F>^pSlEA*|yR_`dZPuAk&EP$UoFis?Dw)X3{f&v|5bs*-*B ze2)V(A}GY48v*Eu+BiH9Q#qxqEXo1c8ClB_Fx&qX6P7}K-$kj8jPA&GO-&9mg4_PX zsc2M7A_ef_Pz0vEZ10NnvFymy0~AtPHT$=tW=E#r0ve|edw77wUEVN)?L$Yj7aY7N zT{z$p;8H!WN3{`ZbRh{aLAL?*X)CQ9z$7vETxGa3VD<*ev#wbPt=W(a0|ECc$7t_Q zzFNFB7s(X3*=7F&V9uZ+fIBa#a){U+k8Aeo(0ztV2B%ZDK%66J#5zhPjzG!wF{#Fg2skf<9!TiNaH$Uwr=c zSfNNdKgASnbQWAds?H0QY~#I^G*H8H8MVcUP+_1dh>orNDp%^%GhiklsxdIV9YHpt z`+Zk?avU>=X~*)k%S#22Putghzi^gn3|kc_gr;9W7=V<<-}!cDZ8YY&8$bb12){Z1 z0u?wic7fBxLhHufh2$4O7f&9&RRB)HvLlgP@W-@=A(M3ID3i|QxAJ2@epC)H#Fhny z$wQQ?B^we)IsDdDDGybFsE_w4(Fy{bEID z251*)n%2T7WimC#^mW?EpB`w1mcQ8#HsPuVt9}xtWJ{C*v z8HqwpFYgN!B8?vG?EM3)vZZ+%WP%`*AKkEpP9zjf9d;#M#!7&aO_=r<9M*?-z-69* zr-wjW%l9WAc}HC8PKAKunzcWRf|O&y3210octO)wZ5`eIpaDWr*C+9lhxZ?T-n% zQ#`vtbtI&R)&l#e_QAwCVyo#);)^X_HfQON$3>T`5gMOrKLC19Z4W6&FUbe=xL;Vv zYOGg`jH^MRnWn*AUEl}Mr+7T@7U@kIx;`vHSS zxi(>bK@~k<#%)=dwmhSehS)a5!MSByyQ1_ASf+R^Sw5-j&ebrrWnWzcHc;bgLfSi2 zHjP<`tVnp@);BHPkr{h@+4@<6g%!uQUY}u|Yc(}%?d|@&c<@wx1J8!Z=^5Ag;-B8L zo=uBaqN`d!)|>!DSxHV%FMOhE(c_G(sde7DYh8It+U{ZSsw=7Cc)&0q0~vCmJmu3c zb)xQ%$JzJ#-K$P6_Xq(u`=Q3l zAJv*7TGTzW4GXWpO`b*CMPF4T1-wIl+~@93y>+Oov(LsD<*b2$y&Pv>9`uSyfdA-D zI)tImNT2CKMo$;o5^uIJQ8&#?4)~q!YUa(E{vxGY7KO^f%F%x>ekH~aJfhea#W|>? zG+%u0;^vzbaB5iuR4Tj`{;+!Wagel%cn-6ET&ke0$CwA3i9)~VV^c#d198_IEqr19 z466tV{cu{n1ATGP|NWUC5Zf-+i1M_m)n*Wz3CYBpxxIS?>01m4b=PSwb*7DzqyV-E{ z;=FQX&#E&p0>mG>@0)jf1e8pPd(Jpbsv|1TEdYHDteI}qt=IX8?Te6S=tvJz{A4Rvqrc!U?Q^F%8Z!8(u zEi=An<)n`GVz2*Ve84CwwzQ&9Rg2##*$67Bz72-aqRNynUSSkKp2lS}Q3lRON!e3# zzw*gQ0S$WfRjdT~tNuOU%EY3Nz0Gem8R@acHd&tzXg z=}3AOC5gn|cx8w&r)rXDMR@+Q$kaA&ojb$l+w{9C^f9knQLon{R&>P-Va4Vm zE>q2dVumTUJ-yexG}_g^?gxSQZH>87pV`3G%?dXp21>63Y0VhP=t|W)$?QNObOpiT zp|aZw2HHm#ET$~u1tU>`j5~OYYlj)A=h`IDg_pN>g58Uc~9ug3U?fDG1iJO z(oNrRwqr185b=H{w=+C(89sJUhM}yJlPg@H|AH`S>-0e;bH~xEr($^&=R=ld#T3Iw zfAVrkI%N`b?&=Cn$l2>1&78@}`pJRis(-ahsPZ}08*V^Z( zyJfL@Qpo1WaP_*_P_IdH4Vo#SR-@siGUlWJ7r{%sEHaiq-v(J<``R-fEGns4vHaPe zeWwqtv0wn2|LV;wHpW_W|0$$0y--Tvha>8!A-Gz{V%i9$q6qJ|7bogAm&OHqs)gm7 zWe|a`@sv9pzGB+7h2f2D6pI4=!u9yV08V;g}h$-*6E!zr`+rU zVuhw_TSr*}euCnny9s;TCS_FaHK?^Wn27BX%Hd+@G`3W1ExJEvdt)h4UV+{j2{-7(S=HG%w z*sAZ!M{Q>=GK#fvHXAn;@Yf_^2H(O~DU*~1@o(Ig*e5ivQu#MtByG!gWE2)ta0JGC z@P8(Kyn_(Y3@SI!uSx`=-YC}|v;3e*T9N$1x*NNN!X`?x_VOap@@U;F(LCBhhl0uN zR|1MxcfHjR^vlNq=W4mSuK)va2OB0iR^H|NGap3!)M5LtI0;(w^fH_PFy#r%{3-SpHy^27OaFpvZV?O`Q# zV9lQ`w26BcC`ixUsVLc2JqJ?kI3>W}5FL&S~3{neJK7+j9W zi6JKbXgyI^A>DBav4(P-+pkA$*pk{Ck15I0qq<|z*dw2Q3&>Xw#qVvYj%A{Z7k>M$ z=R?gx#m*8liAQXyQd)?K8WUG_iG#9PZl9(bS)rY2n>2fhK@HCE2ikZOF*OqJnQ&4cAT8XPv?lGZ&=Xe79|vyVhwrQ5pPq%TO>amTS3{3 z=c@Isw)JI-Y~cXTUQy99_b~NC@+#KH4HIHUp3=E<)VU!r)o&~`r_c1YzV#%KSImZr z4qANfR9Q1|c+uKM1X{H_)pRzQWEj%Hx(l#yXR9Q`>;4i)x^RbOH3vk|UmZbN90T%d zcCjIX4?x2ax#*Q}?mRCz&3*4L7^u&u2X4h<#*iE65S>2!5=`L-Od}M-JGAzIS@`)fjyF z>$ObiY=WRdd(D@pT!fQ*##1(x3ZHiXtD2B+uk*)o7`x@r8p^t}clP4WLK>O%_9Au& zS156DT9S)UtbR|=7p~ZnaJ^y13^#@^4lsO9$S9d1N7)2fafD=+)qZ`LJX8z%AfA;V zgn|qHbustuWpd)I3vcdUV0IjMPB84~r7u8=Q))Wb4K(|Zk5Pb%m^yJT|qMKW#J*)kT!M27e`4f#7 zU~G&5qVX@rsA{2fOSu;F$X{%9W#?hk#hK0tKindjzPD2|ho>%6 zxV);JW;3>Q-Cs+N{{;US>_<51CJp_!y8h+`n|!jl2a3n>1XTszSEYa>`2enNI!cXn zbxya%)We^t!G-;?TotJu2B|g9mDt2a!Qw4!^2fpJ$-NXFZ^r)#aq!YH3d)cVDuEe* zhbV!;1F!Ldy_!EaoF4Yb=ITmSBoc}T(}(&q)}v?)Y#9uY`!Ul=zGC55*F-asRK{9* zYoCk4Tt#G}g3B8Al>?KOlY(lr@NKiD#plcaPnr?F{!M9hk8!==K; z$pKqg2jBTNXE)$wyMFQByln0YWf|Jfr4##3JL; ze-jLe%Ck-OXy#J*()p;n+2d)blp0J7+M7V~(Y$12q9O9~IJ8N4$RH<+xi8>&ZG{J8YrhgsX}&lL!;>C3)i8Pb=i0v-y7zt(D|gGGHDK9v{?Jcq-8vV7gAs{G|IbjPCF#2(Ng7i=p4ku8 zuAh80V!>=2`Z>4d_;4Q6ZztA7f9nZ3prB)$7n6Xp<*I`9Kq|uZn!u*SU83KNt?veN zo8!P~*0?+<GYLqgRH*$X;I@vu;%<``sU)+A%(Xi3J4}gt^AV zN@2GwtKbTe6~l30oP)h9agH*n-2mpY{zhH>LS*!}`LYuMCE$i(!w|*JNk)TKJVP!B z$DucR?gQkn+*IWYG895zxnSG|$3J6sP3F<`w(d*?ec*4W1UHeqk;%ENuwyMYHq-pL zQhKk^d%o2>HX1hE;&SJeMM51VBAavNQx_~lkKn3;6fJ?~Tf#3`2HuCkx-;gI8kwUE z7;Le<1AKjWR6j~`hl}oCRw*~@#(EgBOS;{lB))U4W5h`2y5GKrp8wSt=Opt&GtI8L0HVnV~MRNs8&P}ItnSmiF= z+dT17Exarw$=W@ zwewPxQ^cupkv_THsE|EZrXy9#-2k0HxNy2AI0f9Q9G24r!P>v~Bqu1?kS$g)n~-fa z43ik(iK%@3f$BwqrZL8~%9gD5b>YcBUW3=Ppd0;2a`bF~*nz@|Ao36fV&0m#Nf(B}NsPbgQJw%=zh7Y7=vAW2Ezjw`D;Yp0 z$bsJ);-M34?qawSCh7628S~ml@+2vH2z;6q3SY!&8lnlWjoPS+ToYV6?NLPzZ{ zzU0ipF{TNvG(~pHt<%5JWzAzvyo=ry2Z902hAg9RF~{~c-KzL*XA4(&J@j$p#8`%0 z$y>>HUI-gCjibA$i7-JlqFxGRH_-ny5ctv%@rJO)D`@EeD_=&BSmqz$Qp{?S3;XGT z(5mgvp7vJ^F>kkCqPrs-yL;Co!tTh$(TmUyd=?2XV%y`57o8QP#wkD`&6eG_e>uQ9 z_s~PO_NWPU9|zOn_`6&N?+;R$WZQbi#cz&pe7aDr1#zmFj^iFpz9qfj@Zma)tj6yu z^<>$di}hs2*5r&S%=`}eoPiRNpVc<^E_>Xv9_`DCvu>*o-8Z35VQ z$zGwLFq%;6(4&UBWMK!s!&jv+4bn>i-`MMg{wzEjq%Q0q^>Yz4q>v3%=R^kuk=Zg; zViB-b7I_5R<$(SUVM$uG{}B19wm1Ks(m3WV!rxFr+IO^QP%YtTC%4Im%Cc7Jah^mpOU&W75Imj_R*b$ad z;0+1#ZfN_g6R)1Q2GgcNSt85l!6EtjvNk`v!RNgcsqIMmXaj=4OpdM9F`M^NT_X+S zbm$}QP+;npjE}hEIg#G1Nv!1|;N6F~M@&iOa8EWRGrR^p%@e4+H=bu2QF)n?4ga4E zU1wvY>pM#9g;t9Kc*GA~u7Ww(M1y8X&hWKsa*|rBx3*}NghG*A(zU|RQ(vJ z-h9>wQ-~>U40{7+s~ml8hD{oQWtHB>ehYQQu_JgX-@JMoKi1{D=j`hP9;`Q0z_ha6 zf7h@ynw1P*cvE}a962pI_dDHe@uKo*GhyY ztn!CdI_7KC4W@}=(D_1q(5~aIX`(Sav+-JhL|YlRY(P*rxKl?{jQ zRlQt<)EDxAcOnInclKBN;F_w{PUlLLO8_N_vT=WP_e_e{JdV&!LVi&va@2~@vpN!4 zYkn6r{cw3uMxtCAm`%KVNmYKD=H{vMJD0=NOe@2j`lZEU=|aQn5Q5$o)NG&l4`n^= zu4ZIY317a$?YA?mrvpPZ4U4!jL%Jt+tSig!G>}V&hxcpOk2YV6!H?#b7yT2SZJ_IU zZ&TejMW&HYN1LyXu>@(~Xcg={q1n+#l5fa5(}UO_qPb^Pt}5m~-MkXJ-+~<`*4h7j z1u{QC4z*k9= zMtSsT?*vxS8O}34&xf?A4ZIyycs)={8R8qbL<p;84? zb3cT#;H$>O7Ofb5Iku?TTUo349`>E?Wl*rFgeag@CHhGXhs#`2^sukZKe5d_xXZw* zocujXxixu)E~tM~KVnHAoiC0TlPL9D*+{fGMeh1OjdbTyk8j#li%efIh?jhYIEwf^ zScG#8e=S2@ZM$8Q%FIfYUYa$RcPI2uqH(%O(7LhP%!mM^lCXd#75!VF38yz72PON7 zpzC{WA;i_Tv7V@ltKN6dsZLg~S!sSHr+dy88|dSo*9tF_w3RVFe2f||Pc~|{x~?Yn0L-W39(rL z?q55of4)pPS5l6pMqPDUS!*pC@bBJy#d``Suy?e@>H}a<~ zA$XV83S36P`r7RiT{|tcv^c#u-(@rR@POh{;|Aw9zW;@S^2*5W`E~ZA`g?H;m%5j< z!7rEuMTIOx1uX@+1g)$rxCBMT%(z6&t@yZvEk&)(`OQRlEi8poD(K5_d7mHQc=`AQ z`Gv$%J~Oz#$z5)r*wn=0B$ z`OeJ>Chb>Mkk$2>J1~j&E21O(qwCLNANbTHh26lX^f?3r)#mUFIrZnG0ClfHP`DP^ z9|^~0+{MSAn5Za%c*e_vJdwqAk@E+_0fB+|PV=u!rtz1Tmw$JGpWXpcVCV>DE4FJD zv8W`y#~UPJI&UfQ%NFP!o$L#u%g4^`>Y%H3Fw|{TW4cjB#>Crn)br_a(RqJFpHtVU zS(r0>ztv85nrrCJo3K*gkqPq>sc?oo&4GA3qNqR{^p6 zJxagJYBMQJ+5akv-5wRVADd8%50s)XUeJZF|?zC~| zF_sIk>2Q(^?{l-s{0D9w91$e~e26gWl?35i$=|z#Fu|C%+2wzaqoVl zq7`KCt&-x_Q7~u=HDh=Z294VUvTg1zfzChp0IflC0L?V;`&jcBgLi-s7*Nb06(q<7 zeXSB@_c~=0u+Dg#`x1yPx(ThFF&p6NbEOG8)nH>@f$AWDSz=uQL3$P{OW1JqY&Qe} zC}=BvT{J<~mlgW@3j%NjyC34|VWW`?-^kGd(#<%uI=didgMxCk5ZxoNED`JSmf~rT z#ijXMM)312!jQ3E0X^<(p+JCC;l4F1Gn5|%DP5WENNa&N<=*f6r|a!5kx3H;^wi~5 zurc&>gf!ZfW?D_MahUp*YTz5Op!wt@?F1znbRYxX} zORDDgQ&4lhh+J z>m=Z9&cI z3)3E7Y}zgVZuVAv{CnD^YrE&)+xCZjz|m@3AjHnSYVa%L$ia!NX`+jae~x*B@_^6VTvsx?=^Oj;W--J%}v`?UceiBsCmee4AGINvM;M5m49a zpMC+<`B01`Hwl;RJE~k~7>owI9q=51I@V2bo9!TXX66e~Ed;b9+%N$*ldaD|Q+&8k zyQYH~>V_s{;7JbK5Y^9H@89mzd(XyvhLuxp)+G!W%R}-H-E#yY1kghzu6v5$1Kz6;GR|p1=}YNGOL1{|?d8$B@cu8phpM2!QnpBQ2o0t8tO4J3lay+Mi7LWs=e#Vi8 zV|1y)4EK#Z!v$Dj{Scn)-0-aw{#W~<9GY)H1B;VaW!q$4(P@kP&knvwe1yfJv2Dug z*dV5iv--Z>UET$@W&}E|cwQ}@q)-E~LDnijHh6=E^S+MHROdrbUT2~f;sx}y-+%V@ z4LG;KrE9t5Xx#~o4Q|A<+{7ooK7&d#T4w$-V9KH%SAGk4LxC?_y@Rr=vRg+}lmoS5 zgXj2{d zg!Ym$V}~p-D8LV~#mM^Q6soydsRfWlgv0KSp>jj0xuEwCML>A=wjE?1j0)%p67a2I z)U=+<^E0jZH#X^TnCVhO`|@xNP@?+&L&DvZFR*(=V2|hAV*}9V`^Kf({RHavT;>#! zd;S$!*(Sfp&i+$UqDwn<>B*f73Tk|&U;=!liev$IVcBj}$|p0O!#z6eAiYwkxF+_s zuTreeoG-%Fc;@_B0q)Ux`yJXTwn=gfM@?^9kOtjpiElzR6a5OZU&HXO(&m-zX@R7g zfIR=Q{{@t7z39-=@WogVTsi&!jAqk8W8_rRV+DRd!~&GwVS1yYP|Px?)xpj8EDzyj$Lq>Lj+)^3iyBj zDWC)Ykpv98h|FO}16rcfU-#vznw5R?LL=4QxzdR6dfddj_pGT2NeTv%@h}8yyr}@Mi zi2{pnD>MaiIppj|rGqB)rM6o#zE|z2#MdVyb@M8tq4Ywwv@&~|2;ZvKLU{&wfwa+9 z_Re9h2vb-D$ZrGMSTj<5>sX+cDeAwJgqJpNqgM^3&*hjf%Iy8>{%<@!H6d9!@_LN$ zqWzw|abXE5xR-2^$L$;SjDoMnctM|x0WBSycCfglXESX!=Avz!i!_^LekB_6HD&n# z>(quLs&*??UrSC+;D?cpP(6dOfuBZcQ03lJ*dwgs$7N1f6DJ@sZd0`YO4JT#V{5{@ z0GHj_X7XsrX65O3w{khDE9GBFze9iXaz5o8 z0rHG^`+WB!>MwghA*LAu%WcnVHnf3Tu#^KGo=E$77X15OKk!X zjjutVfP&#=x5?kJ`iKW{@qz}IS;5`y9kELdU0Qf{=3Mio>id)+x`nwn?$(g1z9P%? ziEXQDsB$iUeW68Wk@9vg=}@Pb%lg zA{PDTIWu7UCv3CK7ryBgfok9`7^Pn~aAM9|sr}KU5vXpy-0|b!Yw#fGZ=CHEILpvMnofG#?+Zj^%>y_T0 zJa2VfDu9&3K*XfZ zVF!MXPA(8QQX^91FiABNRNUi-a5{THT-pME_#rx)3VaX(GNQ}>RZCtRPTLs5K$(P@ zI+^y1%zj`XB=dDOe59c>u4Lk3qd?D3nqOk1t zYSk?+GUJ8M3v>D4!=5PK?4SWi15Z4rL;v=HCAQuJr!(&^1-RyPBCknzNB*2wLAk}O z>W;ttKOYsUyC2=bteY6AZWqvTrsC}jpLR*+v2pAZ+kpojKvtqRUS(|GWf!;56+^0< zgi_xYtJB?8gG;*SD{$b>47aA#X{bZR>aFc*c}<dT7dA^> zm%baN8PlPAsSv{(11Y0Yf{Vca0P+Y#DzYsRUh;osusnc62e|n0i$3k%UB9-#SCF2^ z)!)rAw{suBQLm?kk8z*w>Y@MkZnN7k2Lv=Nu;>Xxf!0dUpwVQyheGL}%MLGN8ZPC; zbpEFHDA21pKJm`nuWMZL0lSyI03ouvA)TjYetpFD9ATIP5B;))YhCr5oI!_?Qn-(0 zhCvm0#He?VFyR5vp=x)UTHYsi(_m9k*Pm_`qXXynhEqwal4}Cw12!KUYy_8S42qqd zWKiMt_M3NPIYp+H%TCKS8Ed08^F~jXjDHSTHo62I#6epWGOd)FLPcLbkmN9GlE*>| zESi?3Hq{}gH(+)d)sr@>q*_R}n@rlDzHx9w!eY>wi`-xL(P%+$NoY%N0W{hj@$m6A zttP3s*WK?fW)JIUG|_EP*S*>l1W3$0OByv*>RyoA^pX)8JU3D9Gull;guPl%$r{A@B8n1?K{iP=(OwJFME3ALnBq9vR>Zt%}D?CR`Ig)uXG-|og%pN z+3d_K;pQvXMtp-wQiL7IBa;3hFAW#JT~yLuo**8IWI~{+ThIk*XBo`-L7hm;^t9={ z-U^q8ABp;(GA-Gd^)<+gZoo?kKQAw#^t15%O{jmO4F%Zp3^6Wvp@j%;J8~M|ePc&> zX8<~Fo=HyP`YM>yHNZjpH+CaSCUPt7!(!ka1Tr@Qf%N4l0__iswo?RomFE#Vt!9{`(Eq%A&bV0#(0Im5~AB#7bj zMQgLjH#y*}Z*-w{#?wPI%SEHPlSjErEe0%Mn8-gZ7G0h>(4+uzJ8!!`cKN#z&VaUP@v3^^W; zL4W@+RsQPVVP|g*9#{-;--7bEhz=L=Rx`Ie1xX!|(Tq>FrNN-)-=PcNOF>6}+?hAC zMD9C`8^vaumaDg^e_OQrO+zH%GkyqTRbOk3o72d3wp64r>)n{>#edmyfQd7fZ4hb!ZoL!)+fafivY z+MWnsr{7xyZWmjg^N-maZLm1SD}$@AwO%8s?g$xpHgysKAmXD4B_Qzs$A1T~nPtn9 z5f)kd_Pih*4NkQaY7p{Mviuv5@Lszv$w+hQmLI%rqI0*?X$6OAEz0F%7+ z)1di#2uGi;#i*JtB5x~>lG+<=$s<~m9FFvc)IC|o3H6)0(~^`z7pINU0o%TrEH}$% zu8YFUngKA_IXGwIpA5ML{^>=775nDV!@EOR_RAe~P2b%AVNXxLErRZUiDCt8Zw(+0 zjLllB>sYNslm-A!VwSc~17r?KU0c%ZDu5$Y71>`wxf>n{9cX|acV7IulDO5Y!n>m; zPcGb3XgsS1qt!AcIUrS*xAFm&l?Q2arUv8AyK?{mlrFHAAO4_AP0o!h!Nfr@V+v?* zt7N0fNSSeSYk|7}TGsoQGyIL4|Kj_0jfZR3lU~NI|2j8q6Y26tg?r?DM|%Ie`UG%4 zX)Vs?6OqBz^bJl*hUCG9dOq&B_b%KsNp7a9W+eA54J2spbnzsNrpaxT)h`&gVjHwo>NTJ_xOMhDkC1{`d`~O78xs>b7cq);Jk= zXMF-CN@)?0g2zMow(~qbgP8%WiW;iN_D~;{L!(qkOY!28OHVoD9NPPEz-!y&K5;EVvL{ebFRNYm5S$cVT<(%`JDglW^t z4G}o5Y{GrScI4i2w{@Is1jnK#Ew92vl%VQK-u$PnwIsxJ|I zqH^B$)NVWZbd%8&wvgBK*Clrr{2Ewx)8n}>Twa|%*ej1{%7*+_-cxD0N*C_(wU)+) zpEqAQw{DhSTpHF^dZXrnXi`AxpR~NVRR=hEilD^~Gv~Ohl>QNaM!Qg8Ozez`LIu!0 zh6{f^h{~*)xbZx8o}&+R!zWjW(( zon*ct`JPanhSjyH@g7^J*0wh)v(LpaQ7ooA$znQz