From 78a85cec8703cdc5a1f6743ae042b32490d9ed38 Mon Sep 17 00:00:00 2001 From: micwuj Date: Wed, 15 Mar 2023 19:58:49 +0100 Subject: [PATCH] added bckg lines and moved screen func to another file --- __pycache__/screen.cpython-310.pyc | Bin 0 -> 803 bytes __pycache__/tractor.cpython-310.pyc | Bin 648 -> 1037 bytes assets/barn.png | Bin 0 -> 42473 bytes .../tractor/{tractor_UP.png => tractor.png} | Bin assets/tractor/tractor_DOWN.png | Bin 826 -> 0 bytes assets/tractor/tractor_LEFT.png | Bin 792 -> 0 bytes assets/tractor/tractor_RIGHT.png | Bin 803 -> 0 bytes main.py | 34 ++++---------- screen.py | 29 ++++++++++++ tractor.py | 44 ++++++++++++------ 10 files changed, 66 insertions(+), 41 deletions(-) create mode 100644 __pycache__/screen.cpython-310.pyc create mode 100644 assets/barn.png rename assets/tractor/{tractor_UP.png => tractor.png} (100%) delete mode 100644 assets/tractor/tractor_DOWN.png delete mode 100644 assets/tractor/tractor_LEFT.png delete mode 100644 assets/tractor/tractor_RIGHT.png create mode 100644 screen.py diff --git a/__pycache__/screen.cpython-310.pyc b/__pycache__/screen.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4d2f8882df88d0bdc8d1beb071f8efcd5181cefb GIT binary patch literal 803 zcmZ8fO=}ZD7@n`)Y(6ce7E-+_(!Ch)ETW`AdN4wggDgncW+rj#ZZ^(L&`5i-Kf!~? zKme zFgSKaE;&emf+^duYwEQ&l;Gh}k^CDyBkxbInT>q;mPjFkD<;DuGG(?dgEqO9HUbg< zy!Kj&ta}c=l{R9$*QXQsHP+1yLHoqF-H-V;L3P__9*zJp)4q>vj1IPKui!hy|KLZo z^`3Fdg~RTk*Xuhm&GOudi#)TApTBwS=od#C(CK`pT)0@x(n2{Qb^6(fJez|b zo+mw5k(pWK>B@!6g-orAxvLf{%z1)2yUJ+rsyli+(7wo@M4#aL9d|yIh3YJg(w#G9 zu#iP(wA2^n-|ckFL@R~uty~Se9Ph;ggqjwh#*TS|HP{n+N?S}ngeq?7LtIYSELSeb ziWD`AyiBEwd>iAen7OJ&FJ@Zm!UblM=1TjN`o4!_A07F}ic%`=e`#0u;v`+zteo#& f*;RiB9_)giBVw7W7k;Y7XN-v84c?+aijV&RxiY{4 literal 0 HcmV?d00001 diff --git a/__pycache__/tractor.cpython-310.pyc b/__pycache__/tractor.cpython-310.pyc index 6100ad33d66422eaa9d42484e7e46842b5af1cfc..c37591513a2b92f451294c8f75d9d79877b96e81 100644 GIT binary patch literal 1037 zcmY*Y&u`N(6t*3=O`5bTW56~zAui!SFGz4e2#LWMgEFyBpj@o1Hl;t(6emR#l@q)1 zPiz+?ZXEbaIQq(I{{jcbd(PHwmi*;?_V+#K3n4om0Xq%NW>)FC1Lp(bfncmJU<|Jk*5!VBH*%)$dNSSl0_v| z?pF?7=^W9>gSdL=D^Kzx76q2oR3J;h>T^~GwlrrIV2wF*fnAawyie6s+B)v!sqX!x zgdE?3<3F#*S*G%=nHM`}&pYE$H)I-1E&vSV_!mM1(EEOJa?%QyjVr_`PLvR)DnydX z$q?f}h!2x^c)CMB89FtkY^;F=(e-OQj?~3sEcJqCjsOBV7y1AjU zL7tAA?TOw`p?n~EQRGxJFkqG03V=&EndLDoWWND&(x->) zhMx_}M|NmXiw>LJmt+@ibumMyrLpAR0eqWqNe2)cXP~CW z@2XskwSrp%&D<8)1MR`KzKXDn;G?>-Eo^7>HDr8S?Cog$zchYmbYc(n6(AuqUNVK= z;MFu7PRSO{)N3erlk}rX)F{6UEV}_vr7O&(4Z2PdS1e)-(LaqpXz19tw(YYE=W^Ps UQY3y*T-t|NZB_0x4)$C#HR`k~O#X`jto^yx_Xt*xl(o9DNwrDeyya+kRL;k% z$G4=92Os+X6})}*I;{myZu!DVuluG}^g9PGl5(zQT1wZFa#rAC>Uk{X`9e*%8FuN| z(uKCv8eMpiV>NM&iO$E9$~DU6nCe}a&(v5uF)b9j_+*g2OnZaA?7izcJ{mgV+jheD z=EAyx?_loJ7;5tv-HStUx8UyX?rz219oph48bgm_%J{=P>%Fl;3> z8~^~E{{KEmi3~Up0DuZ0`Bhlib?K-B%~N^z2dBW>EQhI%y_M6IQ=cw}E{`dfXk?_g z)Wu)F4xy=OvNndoh3NnMz!mB}QK(q-$n-Flymy=^g=(+l-!7!^Gbt&)S9(5mzgdfa zo6P31pwL^fccayX9Rh`VthrR0@*irjks|vFQQ@JZ{NKm_eFgu&RnXr84%cL=H`|5U ze+7rR8Z+j6FK(jtr#pMBAXnkrLi0D@M}AnUOmVjj{r{?QkFA2I zaC|L=DV-%LX+bqHeX_76DGj6BM%L(kfo{b$t_df`iynn zmS5H^0a9s;Y-?w?vh^(=4#de-F^O%?>c_+nmS~6#Ie$g7`L;H*p8*Qen!WI8oEgm) zxQRiZ?nlN)K~xS`7qdsBrU|>*Hxrqt@d8qbGMeX&e3jUD^>Ny_M6*;HnIhB>o*KZj z2W6+>J0G#wSN_0-oaEV$Kx2~*oUYuEb?lwIV!~FP!uM0zswFEA>Ki}j=o@zCZQ{*j znvaZ%F*ds>Y3yk4Jf0(UpI1C`qgDE10#e?F+TeI^ze4|d8k|a=SYZ*Pt;#KtW$=scc_gm zVKG+s)J*a;kUvsaOGsA7qi@>0ePWBu*f(|f#h&g9!(GQBl;<_`KUT`vcqp>M^9^s? z(~S`{=nI>H0{bUA&|G*>R1YNp*>^vamA=LQS6+VbheGKQ-!y}n5o4l`N4cG@#F*yr z{x&FQ?1I!51b-h6uhk+l zzP`$z>`7g6=pGihcG>S5AJ<2Ecp|&@;|rxSp?_kh)2=^Zz)`4vVMZWhgp=V)1_Tfb z>YZQC1ZzJ|2l<6Pt`Apd%egWuwcN@jqIVyf;Db$E*GqP%k;f|DPdPPaUzhWOE$ne4FKB%@s!2kAgadY@%q-r9Q(xjsMC+b|U-x?;-X(+KIM3$#bxVxTuoQ z(7)OPYsk_BH0aw2IGU_{ue9R$Jz73R6`&)nSWZ`jh;#G!#i$CAYyn zb&i8B^-p95id21M#59J>SiVA!QLJPS_9ArO6EJX!vGl#Om6?2sg6Bhn(-IQnaykV> zdQDUmI*^Qk74CuKCi2rQ7AWsp4zl0JdX2YQO{Y92wtIg$s>dSc)4mb*M?yaay`VrT zl;`klkx(Z~-b~I7!(gl|?fcvj>VwtOcAn*@>*CY9CZCp->$}!KUsIE{0}@Tu4cbs4 z0({hTT>=Od6eT*Q`Z~Lk+(=jlU;{$1;;^H1%xcQ&8Tx1C{4wrY z8%*|D3yx>JR|K4mu$t?Mori;8{o2nvi;-z0n%6EXE`2IT=afzNn_D++H$$4*9!3H; z0wEtf1N55iJ843N9KKx!4V=u(8tdu<6+H)iQ=60f1!sFha)K*nxN~>f`44k`EPDOv7sSEj zneVXb(3@gi|GcM1Gt<4WVW`XqQ&VY6gCjzA(~zx`_|eM`=IG+MssP?n}ZwSXY=R zc#QCo5$U64S&?9r1W0R=hl*0+;pf7JrWd^hn#-~u-$(+U-Q!-B7SI>d59E-9&h5SF z^mlq}n4knxM#g>l1VU0#E`M46CpS0l68SON16IcjYgELH{c`?HmiQR$Otb!ZmW@=k zF-z5(gal*uB_w_yCOfJwtO#R1`4?=HePBzmP6{`j+glQ6xmD764i$d3N~lBH{Bve{ zNYpBUKO?dT_yU{aVx(wYeV=TK(`Fm9p`P-Vk*IESmKv9L^8Z^>j}|=Gar-eZ+=9M>D2DmerP$8G;WZ~kv30638o{j(A~@0sA#K_t4PSB zQ-;+9P6*+C^;YbDcVs*yadS(Z4dBa^MwVYW?cFaqP@E#BWVY`?#UbYAs~*vQTwMf6 zkiE+kH#}nDMZQ_*@u)Cf0x0lTBdUzWQqZaJLfE^1 zu3~i@#*j;FT`C877x+cb67PFbGW*OTB`VeI0t!XqOA`V*OAqHMdQzLDgJ7j!cBGxQ z=38UexBfAPnzH^B*x*hXc#zC!f2mdyVqT3i%VoQ_#6w%(N~9=x4hlj)QoZf@`|H|!FjgG}*{-Y%eJ+lklv05@JuBQSM0<@5KPSSQD>qC+b04k4P5x*q z%e%v$Jg9ObASn#Svk0Su(HCY%d+)Y+ZE@)Xc}BVP9OrtY5mLJkJzFsG8H zl9~-;O-7O7chLn_LIvE;SJT8ypS9UmG=9G1ooUn{g^zeVo<8p4Zu`|3$JBYh=SLuq zkOrhCq)JN+%tACL$4Na&?+($3XA z%KAkgIQ<#m%Y}>dDLe8$5G%@i95v%C`cCe`&RnE1X2n&nDy>SO(So4IMb~TP)yeJK z-$Yys)CoRy^cHwz&Ocu8H2F^LH0gZtUUkY!n(5iQ8WtG$_oM4E5CXOKCeu#LuDzCJ z%bX?GanD?w8r}q%WxuR^!HK7*ML+E!ScIG4UlS$1>x3;=sEknAYUBBGW#2#5{7_4# zu6HQ^`mn$;I!?v`#1^8yyPh%}eCWo~DRHeLGjyR?sb9nLg5|>Q_?ch0AR9#YMMH+` z$1nZ7ojqI3CoTqG7X)JtcIC?Q)C>QjMqUk|*dOw)g;nt z^{KR3``W~x7|A~QQRh0zHfC9I#V*q0zn=KG<#5lj2Jay87mi&q**8;PuFHt1B~h&2 z;Ul?DMqD7B>0-418wU<81A~_eJ+u3>?Jiv6ZuB3d>P>4@MvqiST?+?6Y_@t2Viw5s({C1Sj2@7>Hyw6iN|Xt| zTow*6+jD;}9|D}{}>;X)bV zIon=o%%kghM$9#K`QF5F>d9fzKBBTjtbk|2@IPGLMG4DmO`qurBQem3Bjotq_ZlY+ z2m{xy8T1^Stu^DNMJaaa3r#fXBCDH1suFT8*kk+F3sf4`HDeCdH5Fc|n}7N#<<}m? zyenXs5sV~g6n8a1l$`uf^ylv)EHY0C3c({>fLjh?JA2L~7_DSUmmx*ll8y z*SPjO);JV~9|y$!(rVFGw$HX3^+fh`;)P}7uLsleJbqMNYinv9gThs&iM#8v(Y~kk zw??00UInc4sL@fFd7R`fQzTya=F!vSUQny(I~M33dzCiyic zuD;s6S{91if_=1tN6D4cw*-*AHyy4g;n4~|ivOtVsFmxXcNl-OwnLR&O_716q+Qq% z{#8Iv8SbxN6sRyN4Ffe{y~Eo>mWD!_&ck%n9V}-*FxUJ<6&TkWPQTej;0~2h;ab=o zd@k8!{g?_ZK}bW4rkt$dtc@0aB;zxPb(@;$B!DKJX( z2ZG{w)gA}H=#oA`a!>=C^PZyo_=YaR!t{|LaJ#I*I26u}>GZB3-w;yi3Y|7VihxEX;btlk(y!`4KR= z$D|v=OfiW}EqjG)gwtYL#bLz+E;kr zCf6Yu%vizGjDX+MS(BdbhSdZlVhT-w`yMPSsLa!g@|;wSDofVT@8t$NULaFk z0%y!`)91nzY)I%|qx0iNiW0kI&d$-q1y8^!qTWxEFp;h!#*(j|he@4BP_&qWgf@Be zFN){W4RkoIy=s|{n0f{eWFOMATVIG;zkSHca4o1x_=iH-v8{>5irXy|G7aiqgxi54 zADp7VA(+W1x+!}c|Lf1-a4ZTA&G+cg@-ffGivX%3!9ZuDp z6$wC}GyDDGuMXpu3{?xs2{K+Dzp$pSye%Y4{mu%Uy4cu^Qp;*4{{64=-CmsBgHzx7 z&11d`k6$Oy`f=32{Gn)PBM|miph^)lRrx}>0V#HDMD)x=BbC+{-2Fp{%nYbX8hMOM zK*%K_vOu2%h6lW6-Ywc%Ns3OIazJ)s+1SHSi6@g?AN>qeRDmNaUZ14JhMm0}Yr}euSQalCl|B;tGU921Ib4!%k zmQAWjWx4Nb%5IdVSWT&W(8V7Y-5Gsf?r}QT821c;mL+Ui0q#gLB$p!J-uOzz3)CG;jXnLYE&>O_kWv9?en+&_CLg;JaSAstMX2 zzY`^eT7o+Z5|p4p(PC{YJ4>VxfdB%HfW2ye4z#hx#@fqc!4eQoz>**XLxlAW(H~wR zA+=0oh)@=H&HDE{$K!O_QgOrAYUVFjeJ1ObYEix;io9hr=Q(7Y*)l2F9-#rH%Juj z5Nps4EW$M@Ub{AwOe6Vy%mQ~qsrVP*=;&XBsW3$p$|bA;5huQ^*PF{lTzpZhJ#Sct z^VY~SDFg$O+Rq831WftdpQ`!hGaUYj`WGwyWrKlK+LDUvI0U>G=BMH|+NPOY%J#5h( zeiSTHGj5NKMJ@Zm)R;b1a6f#q#I3l zww-L{o<#(UR{fOaOJ4h7LGWU}HSWi}fko;)!TKH7* z^ycRuPCn3mi?nc~odShiYE2<`UB4&7`N%bnSWj>O^0;PigQB~pV<8mEp--k%ZS)vT zOk4}aKxg{GNyW4PFXV%qS!k46HVAJ^27=+S>a3M%{M#Tjw>MgapN8?X>?E>;Ngn6M z>eb_RK>C#EUV4XdoVfT4a6L)v%9-g}cP3-3o4msv}vH*?@OxtV! zc_*khKKmNlw!QNH{7c?Gp^Pe`WGLM?-X+-gWyymnmmX?edSl3B_r(Ql*rdb*bbSIf z-#{$nAJ!UE7J)J{o5x^qEz|Y2LL7R3r?~|t6RTRi|MiX^jn8COL!YMKdTZ7>i}x{x zs(qJ}%Y4_%elClqen8zVK~zw&5fA~rrnzb4rh4O2XU%9bIIRE+V*XyA79{*L8$NIf zO_6@{jd7_c?CrP?FFfIbP~{3IvG!t}+AW~Pb%VYt=>yl`p)^=c={v~fK?Gc6odc!9 zoPgM(5~fkPqicsJwuSv-l}C2Br>~d-&yKmW+@*urncNddQZ}vz8Q+Qoa>%0sywN)z zmf~?raNzE8odVbMADX>-2DH(lJGuTlnMY z&G(311^h;5@DZ~CmrgvJxQTHyxM&{&m#8kwj=K5Su*ZV_)Gg%SPU^UGJ&8bp?S=~v zyZ23{)>SbRQgm0m&)b|Y$MJ);(?D81%L^5jJ2D0i`3d$)7Bw}VVbt~7_^zYCF~N@; zH=A93*&eIP1DyLRNKs&Y#S1OHT3Z~h3dw_}6aRn6YIFnm^o1c3oKz-%zWU`JUV<4* z@t(?Kz!D6caHyBBIciIVWcfavM(N!g_E11&X7X(6N?WHUVxAa;%@SFWdnf!Ftz}YUK`kpJjHgRC3!@7kh!TVx-kU$3{gWBm=A$hud`bx8m=kOI*BOCW>|GJXZYd-;`L}r?&X&28=N- zGP(IpM=L+oz5>aN*_RKv<(S*LYT>KAq%HvTaRn+XuVv}RonpHL-vxnlybtNWA8tli z4%J6x|F}jlu+oIi;>4c_SwN`pH|Q4$T@BKVfxF6BcmX}iE>|7W-%oV%ix`a4co&y) zfne5Av~Hf`4a+IM7_%4}CP+6iXiC5pA|;>)vAL#@@dYo)s$U%wZG~DkN?eR=6&8sP&-?l_&G}Xld6Q2vk z<}51Efznv`miiC!Yl0K1mA1-)m{mo+)AeQ7yy;UbcJOM0VArM5a16urf$y{g^$y-xmYyY`|Hp=jv4l4-b5tsCO&8pd zJCQi)!~T3yybcm}jiqwm+^shGrpliTQ0LMbm)5;flio@v2=tyoxH4}piX0^Wx+gb7 zQLKb*TCED|zh1dQzR;_=RmcvZ=zdn=)z7d&Q)>|~Y<@%_{C&jYR~#zYrBZN(JeDU?<#xZ|utAzpX_a04n?N&Rhh2mpB$e z1>%*eZuXLYR7de?_ROl!6(ZKdj*GYp*8heq(j|%7QZ;2^+3`?1U7e+Pv+VH!t^$zh z$r>E|Q5?DZ+lB&1vMuV>UX55>*{j5XH5LKSG0{%6IGzfOCpAqvuiD=ODllS<#JCUT z-xN`QtZT&V0mQlg*Jyxf^s}&(v|`g9UJ-ldiO(k=ysq63E4vewNG>K0P zVYJ(zvJ!?3>E^9Kg0K#1pDbQ*b5&5hCZ8*)Oc-9r(ghbNUUctC{qtaM;G)_@7QFMo zyre)#eVhwC!B*XF>-Zt{NHyYyidmBw9yDL0`!7HmpLIEV7d>5#q~u7x3Hu@kj?!B0 z@dhUmy8dPVE?-!uUJ}_qL6n#mt->rA3!eV)&Db5R%M;>|J71l2zI-2W-ihT(wBZv! zf2nkFu7-`gemXaw?X}@ra{PcpSMSs_P=(O=9@>jf9b%?t>5D#tpC32IO_j&Ku*1U1 zcaU+8cFUd@Y`o50vI*c^Lin*9&gqA7e3`TcwerdheM{r!j@E2?E#kS=EXIW>mE;R& zN%C|wW1xP7>SP}(yzQM|fxQ6GX3u!fFuO3tpgbf5)zn~s5w-eQbY4GwPj@6zC$y)7Z?0Zo6D;-{#O=&iV{n%JmuW~5K7 z&+7&W6{2|k`p+iy^QX2_Bv7Cmn8%LqtG#~CLmr|>G*=KBX0jv)t0EY7Xl->^H^S ziG9O;mv#JwX>To(cHs^}@7-8CthR?L!zAS})m=IDJ*(y#b1KIDt%UB)fC%+%a|>BK zG6_R9RGWRA^xJhb2f=}tB~e$3+57hhYV11b!+qaKxxyt?fA8!!`C(CIX%(}?X=kfz zIBpo!KQTMahkl+e|4i>)l?^%FCV$%h@`1LNE)l_vcgVuAAGO^b)XR=_X+s>MPBGV9 z`cTl^fI;1Fh|4CRf!+#S>cfX~+=+xZDLv~L2|i!E93Qw{?_5lQ-NAq*f}2D_Uj3pp zQ(*sHrBX0Qy5;&mM6*G)Dpy9;VE>t*7*oE(FuF-lH_e&6f-jIcaJSin%NhYv{->=} zQAtuk{fT0&S(;;{hFe&@4tArq1-~D^@~`*-V8rLe*Swo^utE$q7HP7=Zcwvigw1c` z5!Wub^!G@fq5mYsJaPR$;tv&Mi4|hy#Nz zCW1wR_lY6eaq|~57jBbgw`R08L2(wqTcVxX)6aL`-w1}$ggVhSyi@!JOp4ok>S_sP znEVW9tE({;jokJ_$3WWla;(Z8V`FF396;p*o>A^>d(dG#?ffpFK0^>aaz!k=0F^9# z$%kHQ7an^1x}|;+NBH#A*R_-#w!h6?6#=V@(=G{B&S-9XjO;2i{>yzBP;4PvR6 zW1}m{WDVc-ffZW|@DKB0NAu_16R#;I^;}?lxv`*@B7oA`lTa_*p@*G&=4*ycyw2&!WbhxN9DbxqcmlDQkwFDB>8Lhwd4<1 zZFw^X_s+yNzecK)5*f#$J`LfVE^lOVRm{;b7D^80{Tjr2(!V~D_g`vSFmx8#ZSP1{ zc`7yl8uD^+=3H8bhX(pkH<_rDLjY(*rP|2hy6y>uIF>zq{PJ`Zg^53z)S`m2a}kQ` zGd~|>nww5;sCR$CVvP@d5$>oDjHt0_K3?nfw1}Ze0t1rp25*8?2;2ode2}cAV1EUF zHrf<$|NBqa(&lw$<=f875O1qR3YU1K-3Opp0~%0=yHeSj(7$35cV)O-`o9t+IYoFR zF%duWRGvcl^yP}6S4Q?Z>+Aono|<@uA!Rb7q7;4yoa8+CnrtuTNuC`@tx24p-6(yq z#P1LkbkfCJMQ?AL;g7D*`ODOR2sz};$*Tj`nTTZeLN*JGciiNCyzq9CvhyipQW*;^ zJs}al=F90*G>q_()&{h+V9EDTQ3>}GIqh~@xIt3nUe;S6t8 zE=~b|4+ze0S90AJCF(%w1fZrjNp$`^cTI~gvh#3XW!SF@)jzq*TUWo`!*6X2P zu+p(HWlYOS8H&@32<}&d>BerpKkhRTk9bmtdbyVdcn|q3{pq?qkXmpZNI7z)yd(Ro zNI~&BLrdo`e724EPNjYC*Y3L41nU$iVC|Dyy^L*7m_87nVs69U`}DeaVe%g(N-)O= zJ&o@S_r>wv+Mz_k*69P3YGrBTe$$ssCY`qR- zpRKKe{ryPvCy(K)GAz`pTR(I3#!>QB1?h=)(6%3fr{K9YHvHya$~i~$8{!Or2Zcb} ztP#vFf5&;TmmMdDT!&c5j%5QK)47 zFhw~{8GEcx$7+1@Dd&~$ZSc#LUfm;Qit0WfY!6PmK~DPJ6Sug?CVscm3CGvTB;wp8 zf&LbN2>UmsADrNkCnxLELoeD!K=?V}&o+k=p;omLDiUxrz(FSuk!=vlOjCau@D$ zR3J#w?6GG^Va05aFpCkzB=bcmTFVG?nz`1*cy$53$LK!WrFo4J9@wDsh8aD;%2gpY zLfN*is7yPRKYCNzt6@}Nc4b#Ep}*R&+}ps}^Ww~X&*eez9H#N=e)VD7CeFs$dxLac z-+AcsIL*g(<_`m#e*Uq|#;W0$LcccFCx%{D41s1+RR7#`DsPtZ_-OavGUm-;mv5y* zPTTJl|0U<^J-8bdk-g_zGB3OWD8qzF6bKNzo3@#Y;FS(E1F{GpC9w2ARZh`76l+cz z(nf?uW0PD-Lg0TrH#M2@hid9uvUw_s^Wynd&|_v!y!-PEFU8Jfqc5FWm{qs%g-v;b zrO>ZJIFzd1T>nQz%Prd|NO^B>gC=FpP!R7PiK8HQ(Vz(9$Iah_7np9BZCq_UJCpuSr=OeW8(d;irW^_(l9*&47mQ znT+8)-zTS>V#43Tt%Tfbk;aCnJT--@`o3l%y&eLEa1OUtOzx~*Ut>5gDpvoDI$3D= z=@r@$M#RH9k+8#_<@&wva8VU}Y0BU-XZo{)Dd+H=LV2%UPlL!8=N}O+r&4(L3SsEF z#BmF>2**2mvj0D`@Q3G*uZl0O!ux2m&|7Dv*O831hOF;F#H8cFT_$Dr@LTI4H|DE& z#QgHs)Y@)oWt~Um9Nt<0I1yNRNuga~t$IAER9x;+_-5$?bHKm<2rdXDLo-yud@Bv< z3%_#e2k0JWYH9i*&{QqbCNT__(RWowGz}^+Ox7tR|9!t@^ozUgh!Zh5Zp8YI*ZU6V ziYc3Ckp>7Ek6^Lj1*yD{Cfnj|KNFJ6ART5hggJy7Ax5o3Yp&w|AwVgNh)^2}sbE9~ zZ8+moATk^KhTuj&O>+U;ODGRBHTt)LvVZ$zi?$A~PowjTgCbwTB^**pHns&zsphZE ztt*o+&*gA)*B8^!kRUZpwWSnRF+B#Aai+kpQ_9K2KRoOH$&8qmwUJY%QzP`W-5^x4 z2Afe8*vF4nfY5)-5~Ao{TZzM<0x$$Hj_Y>ZMYrCqYDw@m)=H>hjCuKFsmmx6F+$GS zS?w7w5dLG!V9HqQT=F4lt(8znKXAwLIX;v5HS#5uD5&GLM2=0j8@A^4rJz~oK^I&O z`9A(uU3xa#3=>$+G2h9XobOJh<8owg&{V z>})6S?An76yX6u6n3neL(9&W>jgVv|Mp|Q_7U?$-+1ndeCjH%$bYtr zV!G-?K`7v_CXDDSPJH+9BFkDlMz`{rT%oge@>8J4aG5tORdev}HXgf1F4EToZY0_K z74yl=N$tNVoD(sw(;NOPR1Uw`ur(QZPx0Kcwgro;1awlHI1xdEb{pxcxwcUgRPn9` z;`>Y{2tWznLjwQ0pf-c2LM5yQ|AbTN_{sihnN^7*$+d__m(Kdmldd#jlph0mrhpc; z%=~AGRaZG{w2p#-l_)1w#{wV)r$u1BySE`k<7*z|^YDR>!p=dnj&ps1^CBYga?d4p z6^={PBBo5_vB^)fMT$@^mn2tIDoGrL&7Fy6LF%8%u<_Z@Kj6ID6P~r1L0o?*&Ciaz zztwUI^P#5HlQV9|Rjz^hRSP})RuO*!q-{0r zs>{IOw4JtjWdKY%x9Ub{+g9;NeZ@Ova3{W#cB8WpZZC?k7N{TJ4cp6T1&J z#$azKvO$|AWqQ;lwh(6yabJbOHx5J)yeeGjIhB*Y&@%$s`TFm++(V1JLS(&)yR%p0 z64NeQ%B@)Q*^K(-W+YQLBf(AA2S(Y&iT(%+w+e-7Oh$yyu;JE4Z9x4d$k7VGD2{v@ zFhoBpB)Y0gV>n^EC4EhjQu^#!nm(y4Rhs9FVFgI}+A-Uq2y<7=Nz+3GcV29;;7-~j zOoumC04_0RW|kXYe<+t^(J&~Wy2CZ(vdu=o8cAGg^gGNf8O$_~2m`ZLCaLG4nUHkJEjI z1gkN|0*EjS&i=@yO1g5eQ-n_pudtMSdU5DOC#}@-g-F-g?_R#W!PZtH*?qNWk*+r; zK%7q;qN>Xk%<8GwR&WG|!t`>N=M;R{u%<;UOOFnfvh~`cN^uK2-_URoE(Iq0Y?Y?v zZyEH91_N&aKD|94%6OE3*9U?w8OP824qRsG8#IZcnI(pwWZ!5(g-wVv3kNT+&t zz_)e?Ge6+sgcoH&xIn| z_^etu0_>TVu~dITR@*!_c?}BYvKIbO1R`hfb z)DV+$rRT(!Dw!e1WKM zPGwWNf*F+*DSdEF9cy>%X{r=v3&};(pha-8g5q*;=%klpm~Un(61$yEewG?MOS)XP}oG;RYMAm#Ud#dDAt?kqt44DbaSp z+O+JN2aAlEQR=zMz|%iFkjWuA!k0M?pqdi}Tc>xgrWS^Wx?)|$5t>6X#2o3>m=+8F zpO|}L!lbsCu6VL$04jEGO~KGZgEaQseB5XKp(kUSs7!=S$^YSsS9}5fUZNZMCV|jD zOj93dXlPnSi(UFxK#3yW-rDiMNGzI^o&h8r+mNA<3nHIy?1xKC$g`n{@C(`*e;L)v zTPe7;+>~i&B3!wzA^N2@Fmu)QN%Pl(b+!sO0EiHU5_K+h?k-lg@!L(j?aZH%2>ZDA zg3ZGhX2O2vf;InULxgDv>-Og4WIGWU?obV%OMmT za=g)ilzFPbG`R_iWI@~^QU0xe{WzGBiWA4^8~|-dkVV+a+=w%^5P0vLHqxUV|Ls49 zZ;K>NMU2#frwM;AW-a87j^f6d^R$_Vj0W{n*+Te4$8`|Q>(0j0j(!ml`rW#QTMel= zEIgHU$2$oklu$<*cMGd-{EP9I%(`)&A}NI3kQK6CxQ_cf0%kH>&bAS3IHuMolI@e% zIfXFz*&TO{ACzuZx8O`3ii$PoqYRD(4vT)K>gidpn6B#2M7khh7n$jYhn^2<|KW2J z;6Dz|fghiKKb+Dt88UEO#Drdg@rv^%TR(VS4}<1&J19Lo0>J3grfdy{GvqUgid$)$ zJQUm6I@?Wi;NuM&$Xh2Zx~r8cY5 zML5-J_Rm_^wQa_bSKE74vRBO;cKG>6^osgr++L{^MdMcu8~s>!P389n9r=E^#)!6x z#VC_WPntQyk;@D8MvP3+|HRU+TiaNr(b$TwG@K7(&M!JjEZg^r@7NS_Vz{w1jcva> z6$0nxPOQwnQoiWsfERkqfjq>iGDmp+OH-AkvT@*PrxuyGJ({zB2nEEkDD5&cL{f*2 z;^9PUok=ai{ykqd0>=X(tlV;^p24QTwg24n1|$Y9VD7(EQB?h8rX+AqE3H0IKf(rq z!!lUshFGTJ{*cm6HBC)a{sjGTI@o_-ynqnS)OS#cGA{%xcml_Jqp_B5>5#6#`v&S8 z>EEexi@jc?)A<qtf^%NT_-F%PvU1g$Tn%xBVSX6TV8ZN7|QwHw}7 z#z;WCy8Q@*VIP%nA&18cCetolZVfzGyvQ>-3AU*C@_>wW(I!NV_1 zvo+O1{Ui2kx?C4MkF5ZhBqLo_Sv_D`+sRHZu3e*Z8vEo?f^YWgbT&~j&!@)FOYp=3-E(N=%n$??L|lIze=eQ;e3(7e`v@O!;f;+Qchvu}Am z3JZzV{rx9CDn+5sQ=k6&-e7i}cOF~Z#okKDtg|%D`e(T-f+_MVS${5hlG+ob?g(32 z9RNKdB9%#&LpaWUtBuW-@pcHUX33NP;k#%HF2Y}p<^)9Kb+ckdevZ7d)W&-p9T4j88i$3s{3tW_r{EjeDJ*UG8hbqFJd`7&=eXI_MS9gXE`C@ zRRYr=WP2~HP}5uFDr%l>Q8PAB_WysZ-b(Ug4N~S<4NZ*f5`4HF5l0*VfoqWbbetL8 z_=$9~W}o*d=6U#zvh?L@kmPfEpmPjzYlkJOCQZF0-w{Ce23lcKNzUwrAcZ)iiK&S^ zOGK>nwM;Qf1GpY(=3UuH)Ra7a1~ZE6L0vKPQ^n9LC6m4oz2)%eRi}1-+nP)@H7Oo% zT&08lH8PF7~XwPA!}tb{67;C_?8s&X_A+d3Pgr8Z9iUKWq9Z$-JOCA0r+*a zdRE$8^Rh@(<;iMGpi1ey2Uq)dn)eqWSYHYk@8)#m9Vkf~+xve`7Mw=0M%u#NAPblz z6>0+1cT-he|KM71Hdg-*pJi%Gt6^fMLuVNRl@B5i@A@a#W`Rw3ADSoY zlo9R2)PnsdwM^ZfI{+~QJx%{(^7n4ml{aaN3OGGu6HB7edN|cRh zQ8$ZMcn$YcpU$V^RsK&F;3M$czZJt;e=jqkRIRFEJ!0AP8P7N$MLjv+b~Bu3Y&8xiN- zI7aOTedw=6dc0uN2M%h|ul#2f$9cM`K9UL&tv>H!-f*SQfGf2wS~f4kIdJ`=qn8@S z1%KrcURm%MC<@WllT3@A?WlCg4n_X^Thg1YeH$hX`Ft`T?YS)g6WvG4qf4>Tt-lo| z^2{qFNC2#2rc!?^tUqZLu%j`SM%*^}F*3oK#H~O7$n1C}Wy!hmIu0PqJnR%3!1^u@ zoI`Kn3Oa2wK>jcPPW98RK%AZ?PP?JwY+ok|cGu0R$W+)1`YL`fyOu1Wf z>#j#KxNvZZq7w8m!n6#^Wuu+aIm`(D9=xkzeZH%aWdqeIJf=0hM;xu=p-rOA4bDbD z=lBnRORDss6;m?X5|y!W3nm@a;1G{nhkUOm!9IT4)Zd+nNd_wFz%ko?s`XWUH zuCOHhSb~!KE@0G_rVhz`0K`~cg1&-?$FrIfQgma7A`&Pe&6|tM6V=9YM}MUT55%HG zIc?OB-dNLLCYXe37G@5E07hQfD%H2N<+_unC6XBg5)QsOtZU+X55k{v4VX8M3148| zFHSQ8&mu`BBnv#Je;@E8mGTsMq^?etQsU4RfO?F`8qnbafoyBu$d=oRnCK8D(``vBNTeYPsBW(rvqQe0<3 z;@(%Ckl35HiLQxJoXAP_C}JM!kfOU9hY11fF}wZI)Jx;<6OPj!NjAj*eLs8lH4nHD zep=r2O3dTju(Ut7oCpmMEa}#f(Kx+2y7^L_{ZEujT#z@JqUR8C%m4M@!@H6D+b`D+ zwX^$c*R%AWOT-H6WFu{quqX?o%;)vkq#M!+uAGGT=S$R3{}Y@y@P@FS&Mx}6=pZ%4 zwYAq6MybF#ezh=lc5*cZTtp2{75zW7eRWh+ZP)jiAtVI}QCcYxk?s_Ol2$;ZySt=j z00C*~?rxCoF#r+i?(UR^0p>g0&vUEqKkxe1`qp>;m^m|ZuHM&<-`@Kg{9wIY4SUjR zMP|>Vb@x)@hYX(k7XC$NP9t2PuQ;7N;Eg>ufeZndXjUusg+S##J1a=NAIb(=K6S1v zxYS}fj}HhhUOcqY9T3&2?c{v|BO(tpM@1m-7P0Q& z%3hY|!@GALs8pRsb|965Co~bKe$NLZT(%e@2 zdz@sojW_qJL_c$h+!ZsM_x6{uHrFc!{f;FrVx;H8bj#s(FL>ub%=0@EbQgaTPPy?d z^S((T2C35|m}T&&K1eX)IxVuIvDBbV6-1(i_VsLca9V?dA%k+Ii8!SrFo-D$AYQ=UlM&kqOvtWCm}zrl^PCgq=Ddw+wWPg?Xs;nvy7%=%WiOEiANYD7~`*0Yk z+I*FSj*E_giV*2}M!1+i7B4U&61B>BYWlnY?OE3A`y+U`56u;MbS$|VYHc)A$M|B3 zm2uADV6NK04crtELpp0Q^XO(brP*Qq;R4U1?8TfjN?^1^G?Fe~ZSLcj%Lp0X?ms5V zRYKJ7Z$#kt_)hH?$46TNRj@M&_9n08P5Ch`V31Fkg4S7?R%)R^;vhYw9b(?YCoV?> zVBtHos9uHqyjkS7?n+a<{n}8ydVKF3hlmx7fkuZNCUt~oy65C1d&^ULPSn^XxK|ZS zp*fm=60^ML>lb82Suiycfphb`;lbfoDJNxJpEVKK3SSJ**QTI`?fQUSsaHyp z3}w+_yLdmFjO_JuqPG&~@AP6md)zhLF!PAz0JKTQZu9ptVZ_=^z^@Z~#$KfSP)h*A z*dFz2?0un2#w2 zVnapE;%XO+4&;D@;W4;{YyfL{Fdk}M9J9gED2oN(EW2~=hn&RV8 z*nQtjWPFRRBCx1R@7?XK>JNTNS>>A&UzXoEHVakxskI*5f16fz5cno%T8;u}+jUjZ zov)s|4Z98HRT90novS=zx`LFS~c>Lo;+-g#^#_q?(N5P0+q{72h6R)BMMN zj5JkLYTaLI?)bc}u+dVW$ox6B`|fBm7Z*#X;#^f(ef~+JNytzAkFE z$NChGFU9dFKGq2bHyyWLhn+SEv$#s_zn-AQ3rL|HEG1tgY20Y0pkVLKjYV}9hd0hj zNc1JWzGC0ZPp8p4{9M|7uWT81A65PaG#C$FFl{SL!@BIst?;Tn+16dtKK8Tf@OMZ* zzBm%dBA7 z_2WqN51+bj$C|`M2H(|a>u5oK%3+E%!4}eu{RvCFPKyP(-cCDaaiwWOYy9EEyJzvA z1+b4f<$&sgXZeFQf{?-`v@6W;mEA2lR;)mLi>8^4tvBcrOL z^oH`)rS6yn=iprM>-NR+C5+hS^ge>cT3s|}+ZM>Y3#;)eyYGZr1gOPMUP(DozZY3A z$N0FLbS#zQIQhP!=lw~1K03u?cwoKY>g1AyILki>rbD3k4QYU?8r<&26(4DD2Xwt_ z%M^Gdu=~`?+gIe14Dvcyc`e=*W@oTKFLBYa%=pyVm^G`j9L^}-@qJ6c*X`DJ8QGQx z=@Jd%kfWer%|=gZRAj3w`$dL|t$(QEViM-Ef zH_P3wCWH7?vE;czHpnNZ$u*U4aM2qVTP`6Bu>Al*+1oL3?qxrQ>%||K->Ojm@CjnB z3j!K5qGpsx*@IEmkI^#C!nh%;;vT2h;o?OvZiR4l3Mxq>UiQ#PM!YEkHKArdjPlJ_ zpEOc5$_0LMJA7$H5*1#R#}~eDI%Z2jRrwlQ5|s*()+AS-->d@DfXP?Se$wxrJvu%0 z#oEl+SMJzpZy%WkIozq|I2`0$j*mH$lAj)$!!WeClIbbZRZ{!-w7~RPd0h%&`jViA zBIW&Q*KsTj=0Jm~XeC0wgsPyCjv!pUMqTs-_~BhL&7M#^XW>_`5I#~>4>7<5_+@{I zW-<@0^zBJ5FpNJd;Mj93g|pBb)Ya{UETaid4~&{Pv{#(yuHG68j#8nqmamD^#o?EE z8{L@OkZi+q3AR5(Q?Q$vHoH!an7>SO&E6XSMnJ1P?a_#&>y4399XltH9%+8L_bb5H z>A$8RJRId*e9qCsz?)vcTvOlD<05MZ0Ufv8Dgo8>?mHf{B%OxshMzm0T(8)tJw%h#ELEz>HHcQTV4I=`@vYuTaM%z^h%3cuV=EgF`>|6hVNY z*@aM}tO>2gxLNa=PfMSL z+FP!mf4V-hGNw(IGjt4K57IE=t`SjuB_3x2YUOaf;kki}+w3Q|Voj>0>V#$0DQjUJ zf?#g3vkM3WN)ZKDW(u>IEbI>aG=BlJF5BlZTb??F=A8$Swsa61Uqqch2`PT~%ks=J zP~``{0>}+Gn{<+DPpy|bcp^niiTu2(1sVCv8iH^xo#$L>Ua+Zi;nfUMfOdH)+m9Q( zw3aK)51)O4WK1%J8NdWTjgQiKszk22R8d=BXJ3QBm6?8Ok$ey~Ty^S!?*tmf%AWp9 zF%~^A1-eN|b))55y4`imY6iYkJo~2W+=_IoPhd=RS0&Ngo^3GO)`7Z-D%QlWC*A#) zI-JiBeJ)v>+^`?9OrS6JoW`rZ*8+P8#`z`W=AODU%`7Ql(~q37Uz9rPMAl&*pNv~9 zY^AM(<2mTx`h=stL49$LtF!tDvf?Tr{VAcLAF&*pl(p82>7_xeMDY|nH-SbZ z%8E`gq=>9_jW*_aUUXyEye+gyMg7hBX$XaSMNKxi5>2Bf6kTDvW|o#uK@-5n7>)Mb zWpT}jP&IomhIC1M!p66j^$?5p6U|wYZ}nGTZnCHo4en;m=ay5)MW2t~fTI3Aw&@%>7-JYY(@tw!^32rF`9-A`X#i6lTHMC5zN_oZ_9=zrE8s zNDqNJXfu=pt2=9Hs-4)VI<~`3uGgqNe?~HULlCet0o_B|4>==yI>fZ)wq`!Hdz#5r z-ov~6@H1b(v{DN>mv_tOy_X$ zn2Mj+MfalC?=j+Brt?jttDTX>7k%y!i+(I2R!69tIlq`lzMDmwlbRHat5M4G!=Q}q zheN83-BYC&Uh*PYVw}V+6={6c~ zwx&<}-#+e}kZK5sYZ)1Bc^Vk8n4+0Gy=;u9zaDaZvDRd(=1!!33~wtFof|US&MLh`pp9yH zTn=lDg$T~lV8k{})sb$F|!)VUa>`uy^Z4R#{S^<`Qy_MP>Eby<42-OWgMaX|j@o!_2^?jszUDD|p4hn0}hE z?Hv$ECg6V?WQeA(*d{*fIC8id9(Cf#{zz|j2;4rw&%@hpx13_J6fcPmk3u!zMfOhK z6#Mus76(UHo9qK39-~X^o=XOMBR-lZw#^e(w-P@%7(l!YsG9HFhlX#Crg$l;r*1%@7RR#0qvo#%i?F02KD%X61^Uu^M3k7dsAHv~*;XZMDZN1E{$ufh$+~D@%)<0r(YMeTq7KaD<(`}T zbm=80m)^Y^kI4OYUoPmMHiSA-@nK?;(P9?U(x}v5D0~uT;RFxHn5i@hWf`_}a?PE* zxZz72FmkHLvdY}v5AtxonP{NN>mh`el5iOf*nc#9)rumn@k#N$ zS2y%M+A@eJV>yr=r>yJ(v1y zs1l0KhQDo3hULmabwkYh?DfBf2GaUs{w?yROFO&Rm zlx}n3vQ=;b!?3)oJGs!gH()L6={c$Bn<&?T4xioZYd~n?Z__wBzf|XHO3~qJ`eN*) zlbmNI?T!Coprt@xcXJ91kSb}hnG~G-b|R~wt!CfU z%!=%NK<2u~U-xF;60UnejIk2jgNkaz^%A>{WIpbkIFnbdt4ZxFk}e<}QueEMs2WDqI!VXm0I5wJ01WzkHZVOpJ|l!TMzQVwy9aYhAy0nfG(B-nYg>t{mw%*WQm`zEGy zA0pn8dupoQdcCXsqA*m!u=mwv*+R(?QhiwFjZHlCj>7~q&|}T95Bko=)DI?!4tUVsDPHG%#nb|uZ59~Q$B2}cc1JHw^ZKqeD4*>0qm83`RY{@VR@9hdDiQP z4d>_8Ef`*)PAK~2?fjyc7x93Gkc&g$GYAf$_^WnLpX+qWL*DCsnZt`_#%$ju2I;wT zn#6S>m12B5Dc0Rfq^50C&!v_c^xE~VZr*mYNph`-x=6TL*BUv6!7h`I+9q$SPX^dM z>*U}ekscKpD$GvvH24V$o}k(d9&$uo{^szLJAdI4J&259-5#&ftFTaio*|hX-b#BI ztesls;tASROd$R`|Ckd}&OXjjDIEL_UWv7jskEGYhK~_-*W~D3UHJpd`)IWHD8y@Z zc)8Jyqi+j5d1^p3Pw`Qa`T2FG8ub*i;)ZkX0X21hloD#mGMx@S$@|#ByFl&JTx7GwR2gIRwC2-Ml{|cj0@(2|U?l~uXjgA+pb-5gwAEeg5~~XP6dlpDoP5K^ z0Zu{e%FQHqw#lDCvxN)GZ(2G9EiBse)4X`#W594`PvCF@ONwttsOSW@+qZDvju3uE z-Zd1TwWEWT(YPJ1G_)kIfq!oE`ygi03w$9?*RAg~Ny=xMdv;s-2BA+W!XwJWLa^bE zDs=w@P*VkuOQ%xM{3n9C)Ju_>H4&LlH*~IbgWaP^LeL8nu)?_<(9$Wh=ObBbW|#2D z{U&CI-uJ=VF7}?VQxVkg7Ap;e(f&N>}@9C3C$70odHT{=yU%O z<}C8$LB^2FUk$+lSAvBNB$SbY;?Ezcu1VfJ?0FlEt8QOWy(LRbgQ7M9PSJG_r(Mp< zt~QF+z8!5EM2Vg~b9{Mmx_GBP*?`WbWj>FK0jM5cmfv5!JVZ^GKe6 z_V~?!54Jeya=$$W>|Z+E94SK69|HuNpFU(zRC=m&sBiIn&R^Ca#kpNrAtq0$x?0*j zTqUv3b}>G9CIDx*i`L%OHsHo2+ScV@&n~~sc+0ISpRo8nTFm|1xPf@{`?Gre4^ZZ+ zEbuqI>_rZS)o#P}DZm(a$j?jxZ;ZOjmyg63oH?Y>PkrHD=nZ1y+nzpIG?qNRG<`+G zuRA(3hAQYnJCJUSkocWOx31W=XLTRNE?;?kMD1>rwK8HOLd6)PfRAFk3hM{r9{bXc z`(za0n6!eh5jJ4jCDUwU_mNXeQt&~_67sIUpT=Bmgyk#=v`P5kdoJLRV#y@-<$muw zfd>+xzg+-4sq`$WU;V5MrL9YCKYalDdMtmFK&)CsqjAq5Xivh}+pvk1cvdjDuIIU|}(htoNn# z^Ad>$UY@fO!+S+#MId7zz+QG@ZY^mt2x)V@7N9sPr0u|D2YoCUVg#S19wczVbvw+tM9ao(9u;FVw z<)+b`m5K9QWQm_mrCk-6u!M`wWbNMoN0N_AYu=C=b)0bX*6d4&34h~&AkgPr^wC=G z%}T20J83CVkI4q_Bn9o+rthMzgP<4o?Pob#l)rZ2Waaq?>nM5SyH*zeba-Am@;vo( z`FC@%pInO(?;C$H7s>x(yPc9ellEmbW~Tg&A1nq z!+#}JLM%dKtWHQ)+zX=&pqWesSF=n?=qipL^HTwQR}fyUkxgB0a--X!n#QV~-nYJ2 z**5?}fwAav;!BSTuj22%;2Hw$sT|Ornn#{w_7M;RFM*yXyl@=!thA94*F2Jyh738A zc^A9nZYYz`=s}+Ij7@Y*L&h$OT3hB$t0xhmpNWmNnRMd^ReYJ_#NeaIl1QI?I)SuFQJu>etUXV~k*0Ob^inR-T z1cc)>p>s?o-G0ujPDh(xcYD@VvLd>++!&bBN7+9e;OJ`W4s%tdeLmrpg6jYWu(`9u}{v+Q|V0)EJ9f|0{bbCO}ASMh)@w9ma7LjP`8)1bC~_c5zIK1V)UESDN8 zgT>w{b-eAly!{@g+QFq)(*=i{5|oe@)tr`M@D<5zOb|WHVsFUktL&`(HTP$PohN=G zy5UD({=rNoEEOnhb(AVK8b6&*G+Rd9l0yh~hm-z`&V~As0Thlc&NhlEeqVfMFoo^4 z8a44xU-^-9v>z~#!>Jo^H_R{S1d)lo*p&kwFM#e!!*&02&6J)13&A!$YwFIq~YJ;sBmkvCgwmZ`0H|f zThCEm@rty~#qcvL_^#e{F-)+2uv~T|FlGwv=Y#qv0}rg!Fn2k(R*0X3Y*D8CZh` z9p23R;PU|bFw=+DIpQ&N;Az=_(#IM1UH0aaWQP-X&Km*WlN}fnq>UMSD@Pjde=+RY zk~W5=nzWkiGNgJPtk_@P{#k@ox6)m*)@o??d=%pO+OHzi^b?F1p#QeV@Wu+ybG4`9 z@GX1VE?+BoZyWU>D$dVix2%FeK7m3o33;eERxFT zIzBx+Rz0-#?!A65>8ScK{~Pd0!0-BRBmh8pk}Jv}Z%kAmW8Wg3K~(;;z^;Obj-1R& z{q?UT*MB zg>*J(P+ylyPlbplXK5)X2gcN68tKn=6zJNQ=FcB|Fp7}*XFOswTcG>&QCAgjK_Pa@ z+nLK^xlPGdW8?VoXNv{h(#BfL)%>f5*%YGkR!6$}=3VZy*|q(jS}TVcKe{q$T01${ zIK9v)G?p;$YD}v!JFK{euzb1W)mCcei$7ETx!>lqhm+F5vn_Ni0LyeAC0G*L@JL`L`Ky<;eRErB=asZM3#r`q zx#umbOX1x%$-)ejpPn*p zV`v=K@yRDIxrb2Dxs&U@(XKH*rGdo<&m`CIa5G#ZVoHLzmm#SUS9SPDEnszZ38Pa94GCq2*Rb$PxK9u=J z`nM${U>-N+3LiJMj6TsBKYIOA%BldzNl;mP{eq>v)>_(Nfw_>A(b0;bd!bvFi|c69 zLQeqfG>~u70a0KN<+p!N(csR5{Y@?;eKq32R(ga z(FKkaE-ugf>rKe>1j*9RdVU0_&v18Evrwj%0c=6RQe_Vi5}*~{1h4`ifAhS;emg{&r*J=I zHu_x4ePFDyb_E+D_*Zp`JaPaY9-wJ?-=$KTcTYdu0GQk1Fh116=ztWBw~i7_)}|GW zIBZXE8Uu7%Fe4K*|C+)~Eg z*NJgf54z>~st!&P|0)dfSg{QmXGhReue|nkE)<($&OB9&(%*kmVSaN-8t^7!VP?2((!AD+0BE&#-l9JS` z<##s}+3w9f@`ZP|ZR1V9r8lc2GSG^~EMLf~o7#Fhv+pDy8`SLFYj<(Yvj20Xi#`P? z3?>&Ygz=N^Xbpl6POeW}RD)UBV-|J;qh0x2xEk3#c!l+6ch8^CI~P8cyt3>FyQmLKQOu`RmAt}Z zVblHHN802d&+>OSV`JWo*0Ok1HPNCVMF9_9v70;TeZJIUXv4&WmJVtY{+>PYJ0wU& zXOEbuvpP?EpO{OZhH*B3Vm}-&oBT*gWDx1Hjl0I^u(~7cLTUb zdwK(~a9$5SlnYzsBr-T<#^Yym-dGYC$q@Os6kv|}S}X!9P%*LAaQ06S;40-8ppGJW znEkw!f*W#Z+5hv47v{A3zXOLioU&W60r1VN5N^5HJ-yomC*e2(z)~ea%46oho~-T3 zxAOl!3pN2Slmz;O`#%E+ynh>nW1+z_mrmVOcoO&6UtAIW`#k_WBL_&zVM(J^*lA=m z%Wc{QUJ@^>nNSkPUC+bweg$pFWFb7-s6GTd8kfj99d+BU`mvs8o$wFoV%a2R)-1X)f)|~I0x+mrog`Z_oDTI&@$EB63dni?9rn5BPSg*J zT@`T=9u)JCjp@&aJU<&Yzshp5lY#8a@SA304`vJX_Nzaaz01AI&nrJw%qI3Kr}=Of zhhgzwQUu^w)=+w^@0J&t?yLTO<~^QCd}h74r2^zZ@OHE2_Sw2Rg24?Jky9?Z>0P3d3+M}U&C`XEJC*oxq z=@U=E+Neh37H5ZEHK5*a%wooCj^n9MaCSQGw%?2TY9A9GTTw`v*GO8K>zQx-@hh{O z^zZ5j=aGP`3edZ|N%l+*hqeK=Np`#upHz)uut<@3r+{p(QK3T_NAVUuGkorfRqgaf z?M;fwT6xv2tKTz7h))5@`F0Qu#oN%#Hi`1)Ax|z@yUO!qS56sUd)`vVxYH_wqd0KC z-(&Usi2-*uFk`pil_;qFT$a-NQ0jM2XmM(wx!93zkead-nqSNSPqor2s`|j)ajW`` zZ~Z0c`SB2XSNw251?az=Z9R)CD1ObQqNh*k4E^tn!_P4R2^_-Fc$%Stlo{)=EfU1! z+3pocgr6NyqAuvJe3+cm^~Wa9PN1&Sur`9UR+_#EvES`yZn4wa;LMGyin8ge0D9YL z^{Ap%=gqNaR=92V`1Nu2jyiTAM zfP1W4?a{5RE3LFvKFzPXjQKmQ8^?&YZsP9RvMW7DbviZ-!fDh=TBypcpRX)nzi9?| z)@z60)-&dI>#uY=qI{j515`!bt4FbzxI`dp1NI+i-or2*f~N_rQ^`PtBch=nc2GM< zzU>3IrE@pxV7~|R>@J|l2Bh3#Pxs82F>bI7rB{*h}YXtY(V8H!=ur;thgwp znc-t+3bkChYJ-=*#TKnS0a~OSq^3BrB$o?%{~m_!PFhy;7F*hQ0gF^fHFJHA!g>je zlNmS}{#N@MPxyW&nYbg$rId<0wn~a*s&&XB`dr{Qd5FJ<0LZ?wkLPoF1fDXG^O$9d z;#}DkDGem*a5^JsL9CZyW0v~a9B-Ed(RjR@EbLaE zjXbe__p?D1HJMxVVAz;_*gF$oJ z5Av;7o-z}OYrR+P(oJ-_6Q_K`j)%7DVNs)(vkmr$@9j_Qx6`y0%zaVzR$3yGwKkhX zq)3~NO5NWJ3*15nmW&frybuTEqnR|KDze+C$A?gEBVs-2w<1Z;9?frF*))oJxqmE1 z_J)~#5BI3f@?WJ9fL-l_xR@Cd4c?S1cbbavW&>xGwaec~Y~${uIuggOq%xf`idbfN zt)x#qs^47W(?_>nGqZem>%@`my7}}MipLYb`#^{fup9j>M}m+pO)|SvmpqS54xsI_ zIlea;t``T5cU;9dfz5w&*7EWQ(c169#00jgCkeLHbC=(didk%&x?j~`--e{CDV0uS zH;UIv2)dIluVMKcwg)C1dw+z!AEtt2B3s|RYxO3-y?o54tGM=t169<4NA&KvMa&rH z{CoG);sA4%6#)TRu)<%fE!2ldO`D8|vSDda`@5R^q+C(<=Sc>(y>4 zIqxmOgrZdwg)~}RpgGuq$L;71mv`@Zj#wXmXC5GJw_-tde8==@rmZxjX=j$p;LC&h zYS_F}t9E?JXi+a#nfqYSKj6+kH2Q%N(2Yt@VtkOYQB~nCPr>ETXTMXUPnCrJbvX>= zmuX@xa$Tj<_g1g&0{l0(wF`1OT$A}o(ExYq%3;?)MhAlQD#^!Myy5StQ22{VNc7GieUovL*o75Wqo9F-*?-~b1 z9O~IgPvf#O{7W|f=CDKK(fmi~2Md&r*J-TfYU|w9q|xTsW_3{6-QTS$VFBC%9~*~@ zdg2>bbMKO71F6-rEky^~*TWU6d7VTy`>hmlIfYHMU)l~c(D&@&4sNSuPh3^I z*1c6i_iAEgAb424_Lo?r*XXy1A5$nH&&CL(OaEe1=M#i1V42MCHU%;z?sXhD2o8|} zt6I-a;TA@p*4)Oxr2XkqS7L5puxEI5)*d3cAGURo3tMF6**$sc{z#>m?p2Cjl(99G0PS?%5Z%foW1d} zdCO$$QE437;!Cd6I%lu&40h(8`|h9gzGChiNrZP;K`6&~{&4(6$lNZ~!j9^rG`^>- zE|PFtn1^0$pvcHG;;iR7Ogpo`=0CJ(FzleFuSB@1JLK|CHHvTn1!~!-g~D-1w&q9@ zgxlFqc@B*H;OSc;Iw9^)Sx3*<>QD=s&1+Z9;nx7cKbLqF8X&hIfs-y^ajk-8(_^SN zuThY)QVkj7(AL2^@UMPGbd&R%2`o>+W?k+bbe%e@9UUGF6=bCA1`TRHVyPK53n=r5TRdK?(ocB(Q-GoF?CDwg0SU&d>}v z#uK`S)bm~|5#cm5lFr*=!SyH(H0|N?&e>(8U{MON#wHpAwR|HYne_le>O-}*;ALa# zO_stEkiUybw5{&qs~MG#sxO$p(0>hev@pCAG`B6@|6>{`(g5NwA*RYORxyP1=Zld09*m5+9+8;7=u~ zU0o2I{00H8)i+UQMB?*V#gjTq9C10{A>p;=*N>xjW;v|CZw5`F+MM%Qpn9B~S){&l+yDNx>{X68~8iy8NKP?s6a+*`BA6vJzRz}Z7KoJp|3 zHE|H_KisZPd9{q#5NC6ZuoJ7^B^Uqi4KR&Q>6kBy)+4nRkbj2N0)h8h+Z#`ut3Ad@ z7lOuiUvjR26z@6I2D|8WB3~(|!kKE_9?A%HD?_eI;DfUbH?UpRH)2M-MH`Z77u7xK zP4^+kFPK-{zZv+07*}g@8jiCP&qt0YVg4a6qMmdxXc)~-*W-EB=ugZ$wE+D(IlL1MK0Ff z=&Xl@O`#BB+m5`0MoB+Uerv+wo^k-Xi&>rNj#jiq_O`wexK8W6D#KMdw(QEl=Sv}* z{f?W(!%N?IozFKv!4|F-WE5?M$(8ig=?5^i$w#9>j;})jl35UCo^3$w-CBNoIw_yB81fp%uL^! z9@2fVd}U_lGiRuncRyv?qpg${%+3ApCGIH?G#Ra{OpT<2ypYqPFsQ8VZPxX^qM6ny z?Flra-@KXx_s#hpBUK8KIvKF%f@3=@T4hn7%89WD?Fyhfe+a#uV7GvN0!yw(<;oR< zOMGzRgljnc$Fczc1vd!qBV?d55I)qhe}>I*!7^?YG9j7wlLyo;fH~I_o0DA^<*ZRI zy=P+M)hI>KSEJ*Mf3YLiY93DZP76G}#R-M&{)NrfiZuwEshf03Zx)FWHN45tpyLUuI^Y1G`$d7pdLB!xA{OXlyg> z&r>uPGiO)rXYDIS%Q_7g=VmXNY?rPA9GUz3iTnmmehWo#iDs#wtd}wep;e*9KX>34 zppuJwdaX~Ps!e!GE*qB^6?vs6dq9fDH#A65go1pMzhrdlYh!I5`qQhCwv1-z4o1Es zitm(5l5ca&T~B51Dg`8z%&|Yl76_dmMGJU=+MHu+W1f00S-OR>MbyfCCwvDhf9iDA z-^wvfEn5iHTstUNIQ6Q7bZrxh0r-BS6Xo~0b3-aYUD!|GCaVx z{e#y4fUDd7)F<;A!L0sZ>w1!OS!0%{^Uv7Nn}Mnn)}*nmEH{^7;|}iV>6fdEKYX2p zhduE#(BVwXh?*P?@S%!OE2f*G(hz=dYhLV$k_((DgnsziP(8|DJW2^U(f@bjfbWXc zWACl+_GQ2Y`r`byjdFId)K8}k$F<=<Ax>8E)t6UMSL&6v+&C#`(k6X0&DT1Bb`Me=~5fDU&>4r7PB(3K!q8E~GW( zyr~(uxF{1lPJ(_QUZ!bf%c_Qr_n_f`(8X zCblm&t$U0h?>C^L0(c)dp~5`h#+er_f{4u<&-`Ei#sd7F$&bPi8;}diK7-tIW>6HaPUDW2mVB-rB?3+n_yW$IIiU+bNDy9I2n|*$Z_T6TU#X#U zUSRx$IjA6pQd3n|p(|}q-}!4;d#l#lD=alnQi2Yv`a@pgAi9&z`o)}YcyK=1QD>Yy zQ+WN6(4yY)+{L#`Rpdlx5|~5d@2S<^&5W?LHbkXads1@E4Z{wv!46QvaH@Jm>%=RO zgM@Wfz>qe>&VO?TP{;_4bgM-}9c3)6y*zf~Bc6PXA`y?Lv>M%})7i{6-M+>^%z59r z7j9l{LV<6S6a+gO83qP6aq^Hm=-;@js6-S?vpPQDht2HHlMChNWmcmi%AAJ!tUmAv zMBMs4YXGoLg0OGntaGTCafebfRSV4}moX~g%w>>(iUhKjHAlLeVe^XEfHkgnYp60X zbV`hj8KC7AP{v^|R8tFGI&PmKnY-4f^>M@r=k#_^V>FxJFDI9$#8`PK$0~|n?9lwx z*mGt?&k^qOE|%`-P=%aBS5~7Wel)btfeWO+#o?QR;M9ZWXXj<3#lqDl4v=bTUuD4n zfj{NNFdgXga-Ai=hrw>zGhmQnfZ6g8mw-ELNcKr+0FT|@bN4_9(rZ7=n{5#o50y&2 z#qNIotiiAMsn&&i?c)r8-r8g&+smLzZGqaxfy+@3{URq|uYS1y*YWHmrED&+d$`T` z?UY+y@;GjgC~#{ZGHrdjy4z*(7g7lB*<|R}#3^nL;FaaUfwA^6QQylJ`Jv#;yWp_y zVHxVAF2>c67x<@aGZYysAo|MVgmS_LU^I?ZGDX}N{8jETVXHK5FHW{|RiXGcM;n=X zh`B;$`oBmmT^OTWyShJv%br<0i44_tdA?|pm~~@B^oQw~cp$P?Q>1m05bs1M4wxJ4 z-Zdm{uuN9yqFxL*=}+aayHav~`7~h46E&pkYCDQkQv2?YGXjA3fwoH_>CRhFECw6W zdCq4eibsw|CykQ!7m}oCSbk2ShE60Sk!4u^NP-(6rhC3OGc0I-8o3umPfr_WEntNg zoqS5c1R5S2)2|n6W^G@c9RGno0iZAi${uG;HB$0&H}puLAP0a#nAKRW5ZaC9qjOc5 z9haj#!0GioZ$3_do^E*}y6RyX%HX6J^-YQWMJnDoKZE^w5@4>6-SSTj`^Q_Y^hezdsC`|S9(2|J#S#O z5zWmsCL6Ht_JM6{mEh+7(V4(t4Gs6%-N~9~{VSqGJ84N*^AGg4bvEwIW8DC**1W3) z>nD**{}{+c2}l==%jVx&9>|R5ns=>6O?_#sKsA9El4PSjVS`tLBp?G^&E03c%cQM$ zSyr#Yx87#q*ZhwrCzugeRH z_a=ms=KwdHAE~fxV-VKjqzaf-C6?7KV*4QpB!P4TFNKSG?XeBD&sGr&xnho%<+&Rb zpZ}WIA!gt-8~CEsI?lnFveWq`4EALLRl;&3B*Pvx51KyZOXPfYdH&9*sAg7nhSUYv zWCfZ_q>VA-NZikoQ6&ukI=cC;@8g>?1m5FjOK{wqygzf(axoP%k4bQ zoe<#YRmjHh>)k4C2mgl*fA6ptMqD~I$2Mtfl*F3Z>0QlMQ(ZN=+3Tdru;IQ%md+Lr+QzQ>G1!0bP|f)ZM9CF8gWE1DwC zUVpy#LuacDOKaRBMsdBx>=Iei%h`hLH_9&|{w^$of}nD|aci<8{vAWKA8!GG72 zZvoJrC=hSu#)z>vqfkW6h~z zi;fAm<9=5GhS=z~F}}2DRW3s+gb_GW=(bo5#+8_aTal{3^U;CCDypBC1e>b4N7QMQ zW2y*r*-&lAor%5RSce;}WPeoyhmT(IJw{5~qIwg#qhDIS3DsF(3fsynwVkzpP6vRd z*2#(vY1t)G7UB=;t%8r#DDUxe{k2GNV5)UKvff5I)w})_J`IZ@K{&6h-KLtRqggVr z-lPOTOi}bOMwwM^;jrb^Ccmx?PPxOS1iswJ=a+v~17Ll-bfEA;Mohu{qLF#n+MWJ< zG+}E+ILH2cPWV73a<@^5e3k-^=sW4AXKam z&fEm;nW6vLFGcVG1Fv<00Si>8oL?X+rudaZS*9kd+@~u>J`RjKplOyUu#&E2p#_E4 z2`%*Ct#gj^*Q@rc$rjY&w3-*nG;wST*g zDPR_Fy98U6O<@B@;tm~Qd((P~- zOj`d$^~X;LNZbSgQce?#o#DqF4@lPs(Z4Vfg~>IU_c#^#?EE^h_MuCIe&el46Rvtf z5kivwm>4i0%F3T{=Y=vg-yIO=c@hbF4qILA10IWszTm`o@aq_A`Id|C0rTJE7}#lD zxTyvL!-XOKpxyPKL=(YX3JI{aA*vH=C2owOQk zd&o#9f7(f_c`90=rSQ?PFFB{9;aY!Yje^=nLl1Wq(<>7nkAM8r7Of#5PE05Fv5d@^ zf}{==B*4X3fPDvx^4sM6vCZ4UZp(|vCDl3-yVY;JpHleiTH0OEhh9T~~rXl2-gBUBVMPFN05t+{3>(HT^P|42>k2YknfaLlQi?)L=nzJ+cxH>XJ*L$w_DA|oCJ(i;PEex7h%PN@67vf70Ivx2b7~wntUKKFJH&i#$&26 z9;zu?sgjmPXb~~N|Dinzl3;Q0W1MH>k97_Jh}{WPp&!?<%*d5cPBpt|%l~Qb%D_E%{o$zA_7shn}efF zfzv@i9A%dlq@8m`ci_3_<7}^@#^6LosRj8Mk7w0Npc6!glahif@?3$r zBA~2Bg!9M(I^2qTy0v!fmi?C9rY1R>PW~NjQ}ym4koA%H0W|_`5W*BaeEsc%-rITRFj35HnV!*ZcZY z_5ml4uqP6&pATIG`9M0as`Fb&Sp}q-a<{qC9#+gZL~HK+wwIx)Uzh* z6N~u*c+?5j{UqaCWb{y+j{hn`6EOnfp-9v>LZ;VE*!-%5TODc@?xECpZ3{xZ2t68W z3T)+gMr|JFJN5mH`0IS3P|&FPfk z5dcjaezQs0ML9299dJlJ%dgSRy;)uT`ewKq9pJqvcas5`hf-!`rq|CKWrLkfu3X^L zH2LZeW2ktPW6B8gaK|ET8Pp5*Qo7WHeN_@&0^*hN5MfMwcYVuW`1d)^rsH#P?)3P! z+T3bZ&`xB51mz^W3eWcnOA~%=KfyiSWYZia9zGwmwxHjn7cPS4(2Fn+Tu=(P7|{%o z=P855=~0MrTrjp;fIf$(TuAwImNL?~;L%TLSk*b*QkB9aNXT9&3^0edTmqhQzRN0ffw~tGVCw{Q*Nx)D5FNya?)s5R-{ zUXq5W|9+k?-`Yi#oQ{|l3aqbaQ3!shFu=dHUAd^(B%F!3Hznk0(-pU5h&1BiosHg<;(9_f9XWcItcClI6fMa;EE37-11?pSLKz4*6 z@#D`R#6UjqyBopw89&mPjp-r8^xPub`sn)FkR<<$#h$rx(wcwq^UmuP!==LFPXS~r zl^;|+D<;HbF^#uX72XqFa(=gY>39J3dhYUYoV<*LbalS_kDwQt_KS?P^`gX)u}0a@ z1GbCf0h1kD!)y8lHuoZ0rbMl-iJNvqX2gbCtSZCZCT}(Y%`FH!E7X{O9QU2uI^REp1g5Bz4(4BCzT~P_d*sk`(iA5(=^R?;yqiDhmV)D=AoKI zQ3*OFE8zADwA1K}v-7h+569#rTOM@am|>w=YDu#%wW^Eve}^Fkq9KT|=v8x^Orh17 zKRh(S?$xJDZ3*O`>C(0FaI=??CVEc~e}-txg&)-X;De>F27Jk=X3h5nE8Op7%evU7 z$e0mj*PtWI06MauAoztG15F6bI=0~djskL}IOm0$y7H)pJV=;6l(W_EamB8=@J1;f z&!~N!R#n2{kT9>bN{l9X1nqFLIsl+KYi>oc-PGxTzcKTwJ7#qfDbia^=hNz{sx5dNk5HnCQ#7{tm@wM+RHa6S~e+Mfz zH1FhwP(9bzqzxtKLMEdjQQo9#KHV@9+M%4aRxB?w8C?Q1zy7T`{;C$M;f)qXi61MG z*Wy4u@4n6ZoUF*))paavvYO3Y6+u+$1FQ6`LN7VA**qCWQ09DF`<8ZS?2=0P{WR5O zMx$;$^nl4`F!?d<00SANo1CmuX>5coWY^){oTBP4?Gzr}o@XKJuZEx}(w@lfB2iweu8*eP+S02!o| z2XMYE&Om0Gw%UiaW8lYwXZ?KOqd-+VP@2*;N=|o`jD1t#ktR+s76p`)o{e=lp?SgV zC#`au0+@cEZ(|@Iod#S&rjSHwK&F(&JpImeHIGFfhDrKYG$4=vkzqJvDP$ERmmBtf zo!V0;X<21av4?!w?}LlH?W-caMq%`*vO#bW1y?ltz!Y|$($)Pitde@bXi==#6LSIvI>F<8)Ta`rrXXf|~1@JVN z4@7p)>)59Zw@54Y%H<5Yal2GL7kpB4H6<+z_(dn-vQ#Wu1nsW9%C9C?1b_7D1R z;Q@>vVHIJjSCd|u-!gdpSn(jEui}seRdTzPjj=QJEJ{6&CVD6l-Hg&9c}1;o!1$z> z?|#&>>1A|=MY?=ZeM%0mD%2!D9j^+>zc#?K3Tyn;&(41Vyd4c<4UalAN18;A2*%LG zlxKTvLfhv4GDYnK%g|xS2%y{Y^k&vd9{$1n1nEcj<*74*uT#y0L!d+fH+ND2rWs_1qWh6w3 ze$ns5C{LN^%?deeRrusy)O9TTCmAXzIT@pH1TjAe9c z{fYAtfY1X;rE+|4U*ChxZ}8Wvnp`TcZE@ms%rgd|PXE4!B~I`9qJ8_QE@a92av+zW z(-nNY0?G5^KD_MvZu0v5n}6HJxrn~?v{)}B*`jHuFIB*aftW)nwh50T{}lrh6iiQ9LU_ZrLbJX}*-pV_Hh;4J3#BEO)g1J5Aa{ZT(V9omLV zd(CKj^A7Rk>V?xOW|rP<0~K}uz`lcgpg&LL-2lmJqZPv_P5|n$Nx3kv^Jm(97mlfkcIeK7*xqG-^!VCT5W(^%PIe>or1RNyT#BiWDVUY9jB6* z3@8rkqYBb~x*s|lsTkG_;ZHC#T&71288QVpwuMK+$@Tf4lIOG~kQ}pAkw5-V%YRy{ zUB`6hQtr4^5W2Bivb=CTaPt$rZfy`at6M3$*Ftsq+oH0G& zaSzkKCKhtlG(`gAiU?4cO20cfEiQCY94@?;GtTuFfh6<`h?gOke!W-ccs|7HIS05u zZ56&A^o=P<+H*a2^1opBpUhskcUS6Pz0A`#Tc0>MbsYHjQe5lGd6LfhA;#ID({*i8 zAV_fG&OQSM@(sT9nZ{Yotr%mg@}c+ggBEE4)$8*X|B50ml}RzQARpV$KG563{@5Ex zH#gXgNM-|TLsJNFIN&s+mgEeJqZzT!(O4k&FaG(_CO|7jQg`pvjbbvqN>d)9t$UoV z6?W{2Y(nsaHFY~R4i_Ms4f5JL>7?s+fAT%x1#4exf(PIQAm_}XXunY*-_M#v&Q&l~ zDTrSO+0X>t(oMOKLk!F3)n(<9zGi5CvncZj;K29JviuGKxM}`SJTi7gbYf0mqPF(p z>TAOf0Bc-OQeNW&<b3X9c|r+$|*Z=~d^ zM<+k#{vIeiB08U>@@TKrR#2{DeCu6(U$EpR0(LOeNzRYnfNi)TD*!Z-rCxr&=4w0b zGxkg-soCP1gX%6|{smQ?61iz_a#jGZp!J)=JCX%^Nu-`EbA4bZfy&s&1ytnAb(AG{ z%TRC?FAn+-g8qs3D&w#Bi*CPNG^I-FS$H2qbsdB^F7bM&PMDh~?*X@*K(&~CpV060 z1RovKxQ~jvZlQtBWAJ9*;WX0SGaJ5rZLiSRR|=|mgvGgYDLuzqrgc%flZ~V|HtqfVnZbyUclHbWH62FD>~mO6 zW#gnKJT@l}Mr3IleyxNm>y#8$fIUshpw4ve5q*wR($c?-GmP8fBeDsYxclZ8)SOC~7Fu<@0_{=>6OD~!t3?mTt5(XLES zHyIsuxthiIaq`MEd9U`Gr^jmsM?N!>+)TUBAa_6D8~J!f`$FkQvZndbB~EScGrIcMYCU1qVNC;ZvT@?8!%(cn4CxH{9O06T^Q`=d?-qe0Rs~!57G# z4)1&QhUtaV=YTo#i-l`c(>BV2uPxxe7x51RORJx?*`GXpiB%VbM7-{rN4)Q_@jc#C zyLgJvUB#RIW=ri(890lA)8XH7kB-=x6fGkk^)InQ3#w$bBy4ki8-J$@^Gc|)wSI^< zI%L;v5rl(3%gh+v^B5lyo5b$Ryry3Un@Li@#ktz-^+QH#&H ztWtiYZ||0Ep1#eG7E`?PJ0)wbl(AJ(06D|&@L3HJ2#ZN!m? z?c3$GjsK004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv00000008+zyMF)x010qNS#tmY3labT3lag+-G2N400N##L_t(I%bk=xZ(LOn zhM#lh+jF715pm7=skP=72 z5|MylqTK|%Ywx{#@A()Cdtsf#8!M+8ojdO{?~LXixWL)o-MYTLyR~+aTziou;07?- z-rXvnlxP;>OTgb{S(^Oj3-8BuDS%JO8tnZ^={HnrE?J-fJ_l-c_CGmgTnF|5+(SS% zH#f;?<+D)^E=X?GQs#|*Q3E2<7DZuGN*{#~)O)W@(^%l8#{qu@jQ5_&mAd=-^RKFn z-p+b|8EiuqaQODP!wy{6#uMIW^9Q<*hz}J90Jj4IuQGLj7gK<2({JV%$RtTol zY+gJ%@>eJ0^=xz2?u5h53P2aNiw*%$Rj@73HdANFOugt#N@}rsRJh!W$-R6yS^a5N z(a}dtodIUR#u%Zr965>WMrvLi~Wj2~1CMDF0u|bhzv#5P!ZQcbK4u{Y>{wcdj zt;wyk8VpFv#;0sBR&QQjYZH#i-SJ%e)jW^|;7#D;7^9)vr~As4;V*-ZCTq=1#2$;| zzAyDoe?_N-tJoWN^ykrhhOfgLZWp&@K6PyL*h8f?5KgJX4iM zZcVQv!tXc>MIh>2#{cK7<*4 zt;`@9eDxY9+^Va@CNW4P@E_F7X)e<0nF6`vj6}907*qoM6N<$ Eg85o;&Hw-a diff --git a/assets/tractor/tractor_LEFT.png b/assets/tractor/tractor_LEFT.png deleted file mode 100644 index b5318daf61a2529c95608499f19b16e49985bbbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 792 zcmV+z1LypSP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv00000008+zyMF)x010qNS#tmY3labT3lag+-G2N400MkTL_t(I%iWaEixfu` z$3L&Ct9yG|=a=qe31V`PftX0};6<+@p2fp}0{KEwP`vly)tC1k{GTMi7eD}XdIIn<&^;J5 zui`(%>-0AB0%cl>Cz%l@%;dx+naQ0;8+@#<0V|%y>$wpQ*A8mD#2j%0W zG1kqJ4R9+>Q|Bj@6P?`1sDLUfOI+?&08(q_$<2=j-BxG^=}mSssopXm|_waxbyvul@GI zskb|6zi#wNx3g=aF(Cv8{P2FGHyZ8{G?#Q6OG9)*vd}`tZR*-b;5v6#zMUVqKYGR% zj`pz*;gHfupu5&$Yke!!buECMlLf%VsV&N%H_hxVz7K3B2i)QB>+3S`>AwN~H+lyI WE(l`1;?N%e0000004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv00000008+zyMF)x010qNS#tmY3labT3lag+-G2N400M_eL_t(I%hi;zZ(KzX z#(%T>_U$|8Y{xS8i6{jWSVE9cq@V&(@&};E4YX7#phy8hqM)Ef`4ea?(NIw!OQ~Fe zM5Lq$jwpZxMQ3pC&iC%!d;4~WBJaq_3M8V-C#^J^;+vW8n^}0C@EY(Q5CQF81il8` z{~=5rNjgQk$i4e4B(fAo@4aqrZ`#pdMy3`!6(;w_#4;=j+Gi)+-T4go-22>UZ$dkt zVS*CL&}I#+RO}tDJdH40ihIsE$==yHNhYNWqeE?@(#39>@FQz&P)X_4@p$dnJ2_WYTs)rmpI%sZ4NQR#+1+^?_}Ko{^tW!;RI?f5 z@fg4WTN%K$gRA)$*T3~4gy#IbF8Xzl`zuAO)>lZYG;= zDlQn{B_Py8i2x=Fni9R3M3PEvglI)OS+ruChIJwy#R7teVhIM&$1Y!fEkz#O)=s`Bown3?P%jSTpJ`h z7mbnhpvdP-=6wo$Wp3Pmy*K5i^D&VPq;8&uv)u}v h{=VM-mm<$8{st@P8G*z?K?wi=002ovPDHLkV1nxdYq$Ua diff --git a/main.py b/main.py index ea57a68..1ccf489 100644 --- a/main.py +++ b/main.py @@ -1,21 +1,13 @@ import pygame import tractor +import screen -#pygame initialization +# pygame initialization pygame.init() -#set screen -SCREEN = pygame.display.set_mode((1000, 1000)) -pygame.display.set_caption("Traktor_interaktor") - +# creating agent myTractor = tractor.Tractor - -#screen background -def set_screen(): - SCREEN.fill((0,100,0)) - TRACTOR = SCREEN.blit(myTractor.ROTATION_IMG, (myTractor.x, myTractor.y)) - pygame.display.update() - + if __name__ == "__main__": running = True @@ -23,19 +15,9 @@ if __name__ == "__main__": for event in pygame.event.get(): if event.type == pygame.QUIT: running = False - keys = pygame.key.get_pressed() - if keys[pygame.K_LEFT] and myTractor.x>0: - myTractor.ROTATION_IMG = myTractor.LEFT - myTractor.x -= myTractor.speed - if keys[pygame.K_RIGHT] and myTractor.x<1000-myTractor.width: - myTractor.ROTATION_IMG = myTractor.RIGHT - myTractor.x += myTractor.speed - if keys[pygame.K_UP] and myTractor.y>0: - myTractor.ROTATION_IMG = myTractor.UP - myTractor.y -= myTractor.speed - if keys[pygame.K_DOWN] and myTractor.y<1000-myTractor.height: - myTractor.ROTATION_IMG = myTractor.DOWN - myTractor.y += myTractor.speed - set_screen() + # defines agent movement + tractor.movement(myTractor) + # screen visualisation + screen.set_screen(myTractor) pygame.quit() \ No newline at end of file diff --git a/screen.py b/screen.py new file mode 100644 index 0000000..35d197a --- /dev/null +++ b/screen.py @@ -0,0 +1,29 @@ +import pygame + +# size in pixels of one tile = 36px/36px +tile = (36, 36) + +# later move it to another class "barn"? +barn_img = pygame.image.load('assets/barn.png') +barn = pygame.transform.scale(barn_img, tile) + +# screen settings +SIZE = (900, 900) +SCREEN = pygame.display.set_mode(SIZE) +pygame.display.set_caption("Traktor_interaktor") + +# screen dispaly +def set_screen(myTractor): + # setting background color + SCREEN.fill((90,50,20)) + + # dispaly agent icon + TRACTOR = SCREEN.blit(myTractor.IMG, (myTractor.x, myTractor.y)) + # display barn + SCREEN.blit(barn, (0, 863)) + # draw lines(horizontal, vertical) on the screen + for line in range(25): + pygame.draw.line(SCREEN, (0, 0, 0), (0, line * 36), (SIZE[0], line * 36)) + pygame.draw.line(SCREEN, (0, 0, 0), (line * 36, 0), (line * 36, SIZE[1])) + + pygame.display.update() \ No newline at end of file diff --git a/tractor.py b/tractor.py index 6601852..44b5d9c 100644 --- a/tractor.py +++ b/tractor.py @@ -1,19 +1,33 @@ import pygame class Tractor: - #this is where tractor spawns when program starts (center) - x=500 - y=500 - #it's speed -> pixels it moves after pressing arrow - speed = 10 - #it's size - width = 20 - height = 20 - - #tractor image rotation - ROTATION_IMG = pygame.image.load('assets/tractor/tractor_UP.png') - UP = pygame.image.load('assets/tractor/tractor_UP.png') - DOWN = pygame.image.load('assets/tractor/tractor_DOWN.png') - LEFT = pygame.image.load('assets/tractor/tractor_LEFT.png') - RIGHT = pygame.image.load('assets/tractor/tractor_RIGHT.png') + # this is where tractor spawns when program starts (center) + x=432 + y=432 + # it's speed -> pixels it moves after pressing arrow + speed = 36 + # tractor image + tractor_img = pygame.image.load('assets/tractor/tractor.png') + IMG = pygame.transform.scale(tractor_img, (36, 36)) + # tractor image rotation + UP = pygame.transform.rotate(IMG, 0) + DOWN = pygame.transform.rotate(IMG, 180) + LEFT = pygame.transform.rotate(IMG, 90) + RIGHT = pygame.transform.rotate(IMG, -90) + + +def movement(myTractor): + keys = pygame.key.get_pressed() + if keys[pygame.K_LEFT] and myTractor.x>0: + myTractor.IMG = myTractor.LEFT + myTractor.x -= myTractor.speed + if keys[pygame.K_RIGHT] and myTractor.x<900-myTractor.speed: + myTractor.IMG = myTractor.RIGHT + myTractor.x += myTractor.speed + if keys[pygame.K_UP] and myTractor.y>0: + myTractor.IMG = myTractor.UP + myTractor.y -= myTractor.speed + if keys[pygame.K_DOWN] and myTractor.y<900-myTractor.speed: + myTractor.IMG = myTractor.DOWN + myTractor.y += myTractor.speed