From b2322b80cf8624203fe30094c52f5b33ac8c5dda Mon Sep 17 00:00:00 2001 From: EamonnMR Date: Wed, 26 Jul 2023 23:30:44 -0400 Subject: [PATCH 01/10] Adds Hyperspace relay spawn --- asset_sources/hyperspace_relay.blend | Bin 0 -> 841332 bytes asset_sources/trefoil.blend | Bin 814240 -> 826208 bytes .../hyperspace_relay/hyperspace_relay.mtl | 12 + .../hyperspace_relay/hyperspace_relay.obj | 3296 +++++++++++++++++ .../hyperspace_relay.obj.import | 21 + assets/eamonn/trefoil/trefoil.mtl | 12 + assets/eamonn/trefoil/trefoil.obj | 3278 ++++++++++++++++ assets/eamonn/trefoil/trefoil.obj.import | 21 + data/faction.gd | 1 - data/items.csv | 10 +- data/spawns.csv | 1 + data/weapons.csv | 17 +- entities/spobs/HyperspaceRelay.gd | 47 + entities/spobs/HyperspaceRelay.tscn | 30 + export_presets.cfg | 13 +- 15 files changed, 6738 insertions(+), 21 deletions(-) create mode 100644 asset_sources/hyperspace_relay.blend create mode 100644 assets/eamonn/hyperspace_relay/hyperspace_relay.mtl create mode 100644 assets/eamonn/hyperspace_relay/hyperspace_relay.obj create mode 100644 assets/eamonn/hyperspace_relay/hyperspace_relay.obj.import create mode 100644 assets/eamonn/trefoil/trefoil.mtl create mode 100644 assets/eamonn/trefoil/trefoil.obj create mode 100644 assets/eamonn/trefoil/trefoil.obj.import create mode 100644 entities/spobs/HyperspaceRelay.gd create mode 100644 entities/spobs/HyperspaceRelay.tscn diff --git a/asset_sources/hyperspace_relay.blend b/asset_sources/hyperspace_relay.blend new file mode 100644 index 0000000000000000000000000000000000000000..13f90df17b1abe8100745c89d3b60b153dc80260 GIT binary patch literal 841332 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
(zR~TO!O!r zC>N$9-I3*b->qW9FGQCkTV;mmn2vPBm;6F>lArSbHSHX~4|>lDZ|_KN zFNa+oZDdhGskFcF9~mb#1p5+=P0W=#=IkrveQvUvM+%01^F8Qh9kLwJhS0~|@-naC z!+DkR8=d&s_9gP1m#^Ow-M&QhD^>G;Wt;M3R4)7Fm{5&>(C>2JSbQHGo7hU7&ayyS z%CE1;4f3-e;DDYs)_%s$=X8q`H{wLx{6-Imr_T3Lk@K$)hsq#v&!$&G@yJ))m*_GF z`3fa4tFSLoYI0jos-$2 z_M@~X?EO01@d+X@?w>w3@lz#Zr#8gZdJ#vdvzr|d;hpd<6!+Pm;;%8q6 zQ=NV=s&z2Y_k(Wxr`Ps=kT?-HB27GX+_rzZ!fmAL7oFC@3^5g){=>9i-Xim`P|q2J zuY(zz__o+DZ%aBS9R|5o@16Ef*VJJzsudB`w``Fw>+vU2s%Y9%%k=RXAqVfv{Z80A z7@24|2j5qn_D|<~xef+8jI*)H59Ghq6303iJU`vm!LXlUzrub-vZ@aDKlbrnu)nd* zdw{5wu{+Vv;QL7H23O)|LmcajttJlwv58EsMHV1xof6QmP_E&|D zavxZf6Nega(GQcM<9MregH|F9jF{ZoEARtfw|+)b*WU3KaUyQMJ2Y;@6Y}wtJt$*a z9A;cx9o#(d!Ig1xFx34FxQBjUC3@T%iOxIqGa5JTj|tv5P$$mxBWTwdoQRuuyQ#-v z^=?M4Cp+hrP?;s3a=(gO{V|V8lZ(UdkC~=#d-&W$8K`lxWxVC7>q+`Ubuj zCpQ%A?1!e-{+N7Ln{Xpe#I5`;jT`HoF0-l=2Uvdn-KI>%AC#NVn+NY1<6)19bDSKa zbG%Zx;dgP2-=W}!_D#2OZtW!6NcJ;MxM}K;-yz;yn{Xpe#EtzW@zj#OMcT<(heJ|F ze71`JOMJd{u42 zjW`iEmXUZeeyT!eP0+bveRJ;LnmM$dr>Yc{zt`&z_pfuKQ2kpH=I?cS`q#B_@UQ#l zO}W{2K5qVX`Cq(~+5Oo!_rG}GDAXg*fR*#IwhSJSdGQrL*^l_1v6J>a(yl10W517- ze;w}OSo_hIpP~I7AoM<=c}~*F?XsT2Ypc-j6&l1}629$)*A<$+tnA?hIlt-f_Q4MZ zd2&Gi!Y`U+eL3RZ1Fzpd>VV|oK%;hhvMzq6c~&gr@}O-03CG44o>uy1Eo-#* zpf^^!*ssg7?7nf(CGtsmEx8Y`89Mpb@mZu0^;Y@UnepX^k~kp}fq526V=rsmzb*># z)rur>|GKz;o%qQGee6O?t=a^88))Kcj8yym>sn-2(Z6nVQOWG0C2+9AT85fD-iX1! zuH_BJ59k@a|NO+K^zZPc&TXpppYyiUekT4)!u?I``9(irmSfl-MU10gN|6-I2mQKM znS50w4)>E|I@0YmbmT{RyMGPGxfWN~v!U-wrvZyAiw*kk#Q5LsL3U)R)mh6?su1^>Ecb=rC` zqvbXqX7#Ugnh(>|wb#FnI1x7@5LWLF!oRLn2q(l1Zf&H_VvPn4?i*0g#QEKT{&kUX z3!i^ZOKesLr#o&||2ik!G_}rGZTgFL@|YCJYueq9<=TilVlm~@*%@)z%Mw@=zR$G1 z5RixJ2Ti}nevo!Q#{qUbg8eD`M=M{>k1v;-*q^g?gPH2FQyb!c&g{?0aJT6PA9m`u ztZ#9?Wh>NaaGoSMPhjTVm>wbYb)|%uAE+ynrmY+Nmoh7zbllr`u$o_H=zrAo zgHJoyG1iy3T(iED59_<{F(-blWxRr;2K)*S{zh!nLMiTSTONvdcpceoQPZblNz`1dY3Ks>ye*@ ziZWH=+h0NaT{+=vgX0IPwb0krzrQsRm*;9;$1*=4-)ny7c_taBd;gjxKLo+{$_Y13 z4ZA3Gu|GqdA=aa^cG3;E)(xuiwpep_^3wyi#T{fm&e%I&OBSNhM}BkmzTpe|{lr9} zpY2+V?m@%~Rhlnz5bV7B?o8i@YqCIxYlPRex-N6?=3ZIr%RFIc5(uKnAkx+HV{`WC zzEiK?*spb2%iedlNbG&>_pQXGp)Bj_;T_T%R#o$4C2 zNQ)3@XVoc9YjoZRDvtDdgPvAtb5^YnhPVdJ)x#f4`+Va4DlPcstV&47GrSMaK>yM| zzE{uhDsG&9ckh?eF86$$c5nSp(-6-a)JgK5n?5JO-+S=9v3>sh#GyXt{@*znU;74S zY=3EB#+U;`Gg1fk&q!@CDC3n6voqd$G+&)+3TCR~*9`NRt|a&Jq`_(QWxGd_Ln%8ZZqbjoP{_wIi+L9XS>hOcxzX^ zjAt(Wq|c9U|6!jo=?nYJs`Ev9Emzxk@oGo{@%kUH|23paaW-e51mg8SUjNTPwT)-F zh9nTL|MB`?L#h;K6PG|-0&xkPArj!4$g(U<1-j2Sx)-PHeauwKZ)xF=F!{~Jn=|8Q zTn2F+i0eRH2jV&q*MYbW#C0I9192UQ>p)xw;yMu5f!eJDdQU06cS`&^E{C`d{3q%F zCIe%hPYm-}{eSkp1VE0W>c5i>qzM7SA%sKN0767a0^x{4b~f1r2Dw6lAp(*t$%b7C z*|?iS6%hG&f?HS+PI$c5Qq6k!?|M*#K*pY*|%1^uFl$s5c#vy9K|eS2LC#*+2=O47Z4x=r z2RVCPBgBJTzFEsbALQ(HjSvrV*(q8M`U1J|x<-fxxywWj`T{xLp(|KN3GpDerbX^2 z@{sG?DJ+M0kXt@o%RwLH_TBLS)r1e;5f5_tleHZ5L9TPBupHt+u21Bk4|0EQ2s<;C+M9^{sb9P~l%&kbQY#Dg5(Pw0ajtpH1S z2Kz-K9^?=Y`VjteLm#^@07KBmIaE`AH8+`b7`$Pm)J`$S)Up=tX^FmlwD{;zPb5 z^3aQXlO&J$knj7kPCxV_-AVF@5BV+stL32=_}S$a(vSF%pYy1ehhE&@F25j;_>j+w zJoMteN%Dvf`96_{UdY?!AnuR&kiSgqALs>tN%Dvf`PCv1y}%viv;F=fKICD4K`)*= zNgnYb5B<=KbjQi_ylvQdn78d88n*Y4|Lyk>?=|jcuIsix)l7O_w;dbUK8%~o<=-vq zx`~^;UC;L{+!Z&^8h1%{na@>pGw8v*Hvi5zecSH3Zrc%djGuiB_;uZcC-8=R06sMy zebIH@nornZW0e%fx^92bLrUyuY947$?<>+kpM|tP#aq3<4&`5b9%cpRx^BZ_c+=7Y zcwIMnU%?wd4ZU|U>$+{tXx_|q-S!t=hReq`)}X+;Zl!oL=4}&i#|{1KQ2r(JX0GcN z$D5YM(+nJ!%gHVDI4FPJx^A+ro78)#2MZEL{Rlf6_E^$)1?s`c^mQHVn>tKwOAuEN z=D#cJx)ohn_u%_+^;Y?OhigI8 zwYYs#u}>=RC&>rGf7C(iuWnDa_f6eQ`=)NDm~nZS6`1)xZaoDpZQW`B1ev#Hs;}@K z|AC%Ks;`ny7h@`vjQ>Vo%)deVrsBT#zNyz*`=%nit?!$PdIj}N_U-z63*TM#_cp%& z@EvXDgBK|i@j8lsrr&U~TmRhfq{@47?`T%=g6rR->xaU<{i|o72jx|~zQ(CK-Lg)W z_tt6Qunr~t?H0RG?VGxGKawrbI$7ezu9LNN=sq6*lFKW;7vsm+@y|Z=`Y-%9&D(5C zZ@XdCGvEolA;sWRg_}PlJngOB9Kz?eJjd8cA@&4>Etm1-BmTOsXPDX{UPA-9wC*eC zVE&co4f&q+n}?P*&kPJd^EQDV1@G^(%p+oo=pNClrym7uC6U!S*54;2RF5cgPYVQ_c@79>YdERi3vf3_G-BC6^X(rS& zuA?Y``@-J+3Z3KMqlUdZYD5rbdzY{C!KH+`&X)>5qsv=d&p#Uu`!BCL=bu+7aV4LB z+Pc1EdU4$_)|X$mY=#-%-|dTPya@FBbG{V5ettL{x&MOj^}_Mf)q1W)eHGrnee71X zFH%wd_ph80O7E(_hSPVO6~5aFKV^mgV1=*!TUg&pD}1XJe%J~>W`!GfI5U*q!>sVp zR(PfrKF64w8O72aZnhmH!zA8Cd6w8D*6_%JIx(+Zzwg%?`k+ee4*|F{+Y zy%m1J3cq57hmHv6uaQ=GPb++t72dQ!dyvPb)Vuk-=g*VMs`0{8a#g~Nn`^F3( zYK4pCTZQE-%4b?iGNiw#ufp;+Kk0~2{wTaN9M1mzn9y~9b0!>?{ULFGjH^W0|M9eN z{5~uEZ!5fGxc(@7_OP)0;ob&AR-D58sE-DAnEw{F2t?*V1MVDwD`J$z|{cp1@oF zAk7>2)Q^*!qTL$s*36t!`wZOJ_L=m&aeaJ54Cb1*9jWbLU>)EMJb^d7zu@zYe(I!l zH7=|8H;xh**B`0hw1K-{5qJV`;0b)Hu-a>ceALeW<-dHq1^ zLMq-xIk{z6^!kX62c6(~A5?m%eV-#x`~Km>UmeE3_&S3lp`1+OO-pmkfpzfvwwwwP z)R(W&$q&M(W@Lf&U4Z`VDtJ?zbN?UfAUDFB?$1uk+fJ0{>q^d&?BxI_icQtpCJjl$6_-n<((1jrnu!@19{zlBcT zEf;=881iwmc0BNgFs{pGIEuFs#L*DyQ{!pe+mpt}8g8LqGH+b=qMk|SE&N?Dklr`& z1l|B9_(b@Pa^vcHqy@aimy?^`R5bZt?k@Hl;`!oSRZdc#MSR}ljvsWt2k+qgA3B~m zAIHWSCb5f z?3rw zv7dUL2WIco^Nr^G(=mgX6gBd*4?1&3xLl=QL-gWTpOG=DeokGL!Dz)brv`zR=U~!seb2 zQC@lSG&?j7%3CFay9ewnI2@572 zd+fyd6OMl8`~?fz-Z|ldqvp3QIIeBsF~_`f?vZnknK0op`i*=4k_!hER2h0Niof8= z)ca$V3!a4eT8?EVZrYA@eTretiEz5A5-HeWP2n7W9ktquqkq`gOlpZQ3mkC+rwM z`xxl$P2dT<;rYR*3M;JH_iwT{>6`Ql@V3h|bN-UI7&G{224E=M% z33M_p4=ZK#2l@UTvAnVLz&rSTEW{!RX{J)@r)=dyo2cP_@|@D-LHMy`1t zarxS16hPVVABu--ESq$2n*|>`YbWv-X@%R=)YKS>G>A?txqNAR=i=lCeh-1pKdjM* zv14zeb7}a1=2g0`Ny)AL2o-Aac+LIeU#h#Dm-xk%K4;=01M|{Ym{DI!(a{nZG#D_feLod>gbl^ItU-dCdIR~3RduF)2 zgPe^cc!565+2XNW@1ZwKuTeF17}pJP_LBcyS))qa>_q9CI<|i{KlH$M^pAe}_ z+h1{wsW!uNae0{4alW5KKhF1Yb4<1L0A8a?cmi*X2_N871=Jc<;{%>lSo3DC zQT4oh9Ss+Q5`C3eqpB2dMjx|UqiXE1v&0M1@jyEl>Qa_;naJj#Q`H^z>Ir68m z-{W7IZ3&v4>058-$g^y{xWQXhBAKWMQSYH1gxz2K4iNhj^>C71gL?360xVdgYO_jL zTp8lutJ}Wd<|pa;D*LXudaJ~P$R&QBRYWNC;Ju91=hmny59sR@1H6GJ@P^xiPaTe1 zqiTk#7vt8bIz?V^jAz9h{{MyYkgMCi>@}($rFr|0QoOi4%;ILgj~hdvr9(Fw5CP_` znefH?J5cBB`#qEOT=nj@M%{u_8~Wzabbac|O`Nlj`(n;M=VAVhlJqeC+)s+|w!TIc z>J`*8KoRv1zSovp-+lNFLwt74Ib+|L3h>M;H#+XpPkV}a^ZS9k(%s4wx}X{0B$c;1@(1JoNSyjF$(Z)<=o zdA9~}0^d#I-77d{`V?j7J~pgp^NIhb##+-W*!0TB+nQc_+w5Le@Q=*dcm3(aOEZ7^*j4KK zmnZCS)XUH8K5@~vo?px3saT$6$bT0_&pl7NSe|7#%zFPqx?a%ox&L}_Zu6xN-@o>Y zkH19MbD0NUUXgj|!iRdsXaA4W(6jG@M`re2G%n*GIy*yY$lUzFFW$A~kH}gX6?*1O%LSuyleZtKlR<;Trlp3o3{JXR77>&GcO7JF2hvDl-I9ID1*PitG)x@^(XGDr>F%Y*&-FKF%Vm_PSO@6yHN+Aizz z2IW|6UDm1Z9HY!rWr7h_?|=%gT(Kg7dnD6rFQSkRI;{S&#~CW@pZBmTNUH$ z+FKX!4!9F0OspLYO4I)ap9*C)uaR*ueZQ9Rbx+8+qTguOzgUkm$u19%H?b8nr~MgU zhjd_ESD&QIzK`dH$JZeq4rYY+vDpH4|11@9P~lX9$$xekXtQs&<8ntd>!IJ z&VO8|6Z#-$kFP^K$W0PC=nLe+2e~yO z2YrED7*E85T%X86UmzELKE#6@;z1w6`|dcS_kg!Cgm zeD%JoKV`vhyAALwv|@5qanZ{z>wP5BafAY5brU z<&~X(aeu^z{2Y;oUhtPBkNA+!i#+t=`R(@{_eXrluMv6ZMf#KE5g+n>A`iVtxBVXC z{)i9x(NZ5mFK|ziM|{X zexw8Gj+0+QkzqHW|1`fiY(L=s_Irf)68FP+1#TZrHC}a%j8_#mf1>o4y<5A`o7Uz0 zu!@Wu=s`PWHXEnUjaN;JYrW%vH}C}Be8~skQ>Vj?SFJZ6Y4w9Q@C4o<4?b0x$EW6Q zT#swRC_GHY8Jpu(hfsSpAH(It(~Vcvc+~PQ^R|T)`cm#bNB%V5`P3D?jUT*91GNLH zRE{d9HSKs+)O)B0vz@vgME!{R5A`|ha@(#%J(za9YW@c@S6ke|DbkO9T3o$Ve5^zd z-b?7gdzp{Z=f$k;+f$?N$f3L*!jRZ8 z<^HCV)x2xC*)w$glAYbZdIow>UioLn=*w+r(dow8r47@VugAM540P>i2_XlXsF$G-Mv4x^p{PvEUEQ}To43;m3@ zPtk5Ic)Lz`6Stqd?MIv)lgQh^9j^+Wz+3(-%^Uc9qw{9cI4pkGP+sjD!`na~_XwWA z8_Heqsd?kIf^T0JaLD1I8#sI<{b-PhI)=yK#}}}6aKd%&?`<~bby7dzB+nnpztZI- z>*jhUnYRJFcCgfs;El211AOXGPU<&yx9|15^@R0yy{l-w=D}AC#;#?Hfsb;@s}BAo0;A@@3=ri>fbaJcSzj z$a3sYmN!J5*CF5#a0oaA90Cpjhk!%CA>a^j2si{B0uBL(fJ49`;1C$_2yk1aYcCw| zG`k0M2si{B0uBL(fJ49`;1F;KI0PI54grUNL%<>65O4_841vnp6T|Dr6~|8Q)=cTq z`}6X-5ecb7d>)6%>kD9hOL4x-7xa7=%!9$a7R+QeDPoA$q3&VLk z@1Xbpj2m9^IhP^&YReIhkXc*QuAGaU($RREj@7OyMQO~mOoeKO$eWwlG|wf z_HF9}dXA>>%SJf366fOuAo=(sUIHD&Up@Z5fyW~cm-V9W_BIdUU-CF^bG_)eaoln9 zCUCh_V9iAed8a`n@Hwu0MDBcp1>Pp!Uy>Dyv8Y>_Y}QfcM)&bx7_fN%Qnoo;_hkR zTXn_yb7$PtvK^IyJJXMgLhyoeQHsZ6IjOH>&BK45=z0G<@r5(jOdhdu_hwyB(Mw1B zA+W{+hw`s9Z>VSDc+=9XZeSh!zRja@2=(T_=<(umg^SzT>yA>pb5_B<2DeKl#q{a+=29PUWZ zc5l(Q-QH`Zcjw65?`=E!jU4(H3VE^n@MOOz_N2J}T(R>O#Mx!$UE=+ycc2I5S7Bb9zCDQp zK58&OcGF8@=ZPC@=cS+5oU{+mK%dtPp1@oF0jqrCE_hxJ ze_Dkb2sg~5oE}67`M6x+Ltp<4y}Q$7< zu?99hhOqfDfDZ5mp1>O(5qwIRczSp}u6Z8wcJKxco4j2k{4AG<19OK%z#-re2oUJ(x~O|e>-@Iv zaTjo@5nOOShk!$%It0i#=w%B52edSk$M<~NeyKt2eL0G320qw+;C2eMOQ4-XU8FyG zX}>^w1llLC-Y5E{5Fh<1Xs6))o_5|rwNu2l3Hv9?e!*}T%6I9-aqSAYOR@|5+ZR2s zzY7<}={t+;Z9ZzyA2siDq>K8a;6~ahM$*2s>HDLS+9?Knf0Xb9-trxiAB0cM*Zgq% zQh)jp=Y2(Z6F0&e?-!h&x1{}oHE#oV{Wb6e-m({I-oo!4_eXu(_}=C4_zldd*&p=- z`u61GM(uc5?;8D4xGtCBnC%qOk2uM@kNTtTBYoyK69m{re-xKj$@|WR+n3UO7n=9j z7X2tE!4r7%rQ8LdI_=coJMTutlMWxG!@19{zlBcREf4ss2JN|7!r%>IT$jsm6mKI4 z)SzAPZtt;%Tj-a}8~T4s^EQC@3l^Th8^8pg2)|KosrQY!W8UK01$W-zF}m{RIs9R3 z&QH_cquw{l&xl`Y-`Te3Khta@khJgY-(U1HcW(S<&!s;;h2JCZ;kUmp^Nn+|P2XMl zVh@L}A9BnwW1qb!v%?=BP;0L(dEj$BN6oppx2Ns8`?-yf|JqvbTMbiKe)+BwGgGeY>AmtNr}R=9dN+S@MP}6g z=VxC0?-w}@P4~Bb=$PN%e`WK|n;+<*H1vG`iJ$b`{Lj1Aesc14Qz#8nw%mG8)97~| zklFEH`yS`rc=FL-d2Qtnw|@8N$ul;b#p%sGd*+cFnz|lnIc3cw>u>wlN$Z|C;K*se zJ???^U-{%CEw}&sq^X<+{o~Y7c{!QFz>Z z)_d>!+L*S?VUwR#cxWl=OaFPN!sB}n?V366!bQDZ-#D|EboA~t=H|>D&pp$0!!h@; zj;7DNaQ%ISZ#FbPo_)55bSRyyheb+c%x?_Mi21{O!hGzDK|Jot5vCr&(8uLwW)d;gLPO$Y{we_>}=TlZ46=jxz*{s{|O z=TEp`!ZEFFM<2al!h%7$?=0;b%X`SGpU(Eh`pPO7JPGUTBr_R5)Nw(XQo9!@JB-GY zWJY<9Jp3^2Z@a0PG#lwcTG?%;AG;pMrMeT>JU%BseVyYZ9mRcT|2<8uyI=XfvuCwk zwscunTjPw@j>SupZd29yM=RKO_Ho&dZq4uXzJ#MU$^MSd$UcQDWc<`k+AWnJ9{W@& zw`@-~k{r^3{W<;L>ig3r>j>{7ig=KlBy!LPVSC?M#DiSB$Uz_E?0shu4|2;z4*DQx z?>mclkSmBB^g)jIo#nA0zy2A3-*EKeN~Z9u`gm)@-5=~2{{Z?o#?@RljIQ}@{>d!dXat`f7~DOA>S_Y(CZ6+ zN%Dvf`7I(3y-0VGJmN!s?C z%{e`PgvS-q__VirV~6oCx!srZ{UrKvzCS)jua@3{`Z%}s5%@8PlsE<6z!P|b2>4WC z-dA*O#|B*UI4r!4qwn(L=*I_m87{^r+Ut2PoOxY`ihmVv#(pWp+i^q34&z@kZ|@|| zI?29H;!R5z?=fIJ%-a@v8ehuY=g6PN){n{B+ZZN0d;HISmel)-O1+1A(3kHd)Q_nD zP#?Ej^&!AOJ(zl5(H_}XR9t_l^iwX2tG95MWEbxx^x(ZL#OZVUiY5d3I$r^A;0e4T z8Q@cg-M*s0<&Ackw`MAI^78)vff8hwL2+rMX6ZN8k$;2s6~%q+eMPUe_7z2VTi;g{ z^$O~lg48qk?!xz~{oRP~I5X3<(_nwLUwHl{H)!|uf_+6h zw%do$D7DT4>tnr1y- zybauOZQu#K6+Wza1D`s#o=5N7l667OrEv3w8#w$6`teu~KE9k#2|cMVCtbI{w`l&| zQ{D{?{EIJpSRKD>D6f*owGG_yQQ!%@q1*+Z8gd?g_=)ubKRFa`yh-t9jz`=wEQn$H zFdi}CdJJ!qyjO?uFPS&i&w9C@iQ`R6^LWJI7zkx1%1Q79-td&*Q-_UxMH?H}dX4XD z_U3tOy?N7`5xa^j2si{B0uBL(fJ49`;1F;KI0PI5 z4uJ>)+*X;~-WZAQPB;V{0uBL(fJ49`;1F;KI0PI54grUNL%<>65O4@M1RMf`9D#K0 ziOXrccy2A$)M3cDEwVUva<^s*Rlct%=C@$J3n@_t=D}cI3)UyV{7S4lfcWpH(W=<* zjpw`Y`e}F2d>6hRHwM-}Rn~D9H=EPrPmTTHZSA{B7td1?H^LjQtIw}Cs~1w4Vb{Kw@z4!w7k&6~JU zkxlCYid&C)6a2n?g?@u}-h}W3-m;(6yn#;*y;`%aS7;z72;V}XyX6AbX}(#);7x)_ zj+*asb!b0WF5h$+7guMnBCO+_#G95Lxbu|26L>>?iT6%}J&EeKHTMU=H&S@53jZH% z^nmlc=L7tvdy@qAGEWA6#oLt)Y4KzryvmC4Q;(x9?f_Aioo#W3`v- zrSg(~`nY7{E%&jn+V!R%{Pjun{^l|#(t6cdTBG_-T9=yC<&L4XtFNW?s#nt*)f~Q; z*0DaA)~-HWuUDP>?yUz++4$LO*M9GaJDXXa*Q?GR*Vy}$n}YSKKheFiY0o2q^{V&2 z{Lakmrto^zPv=jXLTQ*X>(DPXoxAtg%>0k+ci+jsn{?L$Bd+Q>`irkkp8l5IGbjIU z&3B)_ee3!k|F*T|vWcHs|BbCDt-J8#tu5z%tabeX|GK*6JDy%InA1UNRY$dWxb?Sz zU^+MLTHA5)Ouo|H&5o7JoY!<*X41WzdS3j=7kV0A*xbW;39(+h`lIiHA8xi9@^3V%@Y}_D^_>eD%JoMteN%Dvf`7I(3 zy-2@}KkkqCkRRKppC5XC!7oW3@gYA)ZBchHOb+xZapM|{XhNw=ta8Yr9b4e+J#=YYrb*mY?fcX@`!n+9(>m@pQ|VU zJ!pr@e>zT|wf=VQYc2Xd>DGfgRc@;K$8sMhS?XtjtG-3__lRB(j{C<>8?ul3CAS{} zzkLZi#?L-j1KN(+kHi1A#x?)>O*0r5xVT=en?3*ASF%3;>?Y-w)01C%)LfI7a`AB; zyn!e1mX&+}K6QLrZ#(z+ddPYnh1X8m5QIzn_LIxo$KXqsGW3hAzdgL+t=@2opVWTH zyq!Tm&iDJo=w<04o?d@jYto7EzoU8cuhqQ4%}+mB<#V_?cKW~mr)I17qy0S1UpdM4 zORMLN8y=9(!^khMMd+6P)JsF}>x`La%$Pp&tdpnDnmgmHxrA0|UX-DVcxfir{ zg#;42vLDmvq}ty|wpr|+Ny!{t~NnA=6A;0-5`pOJr&pK%@eT!)vpcxy)* z`Io~wKfgi|wu;bybd!cRTmVM@(|8G&%Fp3-$tMgM-oQUYx!eQJ45J*6%g-zgo<)-q z_5Vl8pP#k0>dZ=8XVUgYP(jBvXB<6jHaW8wTfzjN_Y+K$OqULxF5u|!naQ`FBjfzp03 zU4qN8Mn7j|_nThg5-0TO4nl50GvQaRkhC(mTU zrI8+f9{J(&b>tT*ZunH$BY$B$F2Dh}_@`-HfR}%HJTBestxMYGUetDZC7@6$XR%!4 zDHY4%0U4KdR4)JzxO^SB#8mGPkGT2YJQvyr7x@J^0GIq38W-T@e>fhOWtYt5l7%*U zi`=T@32L1>t+k>Y7FNf&d|hziD~yXihIu0;qmZee`pADcKED75;F3LE$`{Eu{uS}K z$a^%ub5UnkC0Rz^qn1kL@Su##r_10%!vRts{z_eMLIC*%H~^QzDe@jkzVSaEkITZ= z`E7GAuAKQ3Nv=ORhH?2o8C=N3NPXmQjmHHz0GIr`*sYg~Yr|EYLf7I$`C+`1?|9!TivRmwr0 zaXG#WE*vNA;eRI{7vKO~{H(l3l5hOa#^WM|?%eJr^kSq<1jRc`cIBK^p&V|(&)irB zmmLr}g`2-89v9$H#N}*xk0jst*Tv(~)mEKFH?vAPJR;+=T^U@sM>y@_Z%DvJZ~!j& zegR(o7vgc5zpQ&{=fw+Jm$s%&fsS`lTj#}XOS>*_oK~@@Qoy)u{*Sg__(WViOo0sof#Nm4SaSGr&_HeR~*hI3wXWMTYufC5?n?5T$_dTc1y+m97bD^gim&|z8 zL;$xM9cg98e(5#!osQ?l^Wk}+2RN*radzl=1G~QZM}9q?6VI_`+%v`JRr{6wK(|*v zM-hr9Fe1memDt2F;;+Lg9z#5=_$>bPajO5j_u>X`m2vmw|Jq%B_ZFTxR$XWQx!(Z& z1n4&?NWTI46VP9P{)=|2{{Xi@yZ5p5arHF)XuJ-!lz&U5OZ6LcP7k#|`la94j-_Zw`vO}jV`4*7XjQNR~HXs?UaXYW_mpMC@HxE9rKP;~V;3r=4( z{RRcW56=fTvESe;8rS?{{XGU3a@D$pi>}h`eix)`f9~r?dmZxzp1>Q@4L)^vF=5@X z9@jj@+ioiSBAtAVezf1FcY{PYMKTBMEA;nVC)dM{=4~Yz@5~#u7SMR{(}sLb{lYQL zkeTlvBq{q~4alSH$KkIM-u|ZB7xLobdbRGHt@=Ip+tTqiw!8Xv)@FX+zCu z)Yz}=FGiU6E92{9>Bmg?n{+vPh=dEr>v2&WY#2({&)4%BIXr~pFPX0Hk8u83T|Oi1 zF9^rauUn@2DT~+Vgs=O%eNo}a@1D{x_hXwr9Oh7vo)Pr+aXv!&M$nEhX1I92+j6Qt zK|O|g3-uVrN1=Yh_yM~gAN}gA7snXNq}&h4^%(Dmc3{I#RbL6W1Np10{_mXZhbC^m zTjQSppmvvUo~P0Y_p;Tx{>rZvw|%q13GWW-G3Y^gm|YfAFRq0VLbYAWJtF8N-AW6`D*%2QF_%EVpKc7Yy9K#>VL?!57xkS489OJ z#6SP$a5-knRU6KKVZ3_Z{LSI}l0!KOp1@o7#+%=(#=FRSr{&wHdbyvk4|H*O z;RX&LNk2^LSP_FC$9X6Jp(EkC=8f#efVX#fD;xMnLJ7RFKGvJW8%q!I^nPffN%MA# zl#}n%@0%}fzH_#IU&Lkol^ofd4pZ{0@BBjOJ1t2^_LAz~H+~SL*KU8p{rtCdhx(yU zK5fcL)43yhX=mr6?zye=mv&szhR7-0vsf%eyi!rlrS?kBD_^Db!{zu@jW-eAa6jZ{ z`&{^spao0}kr0ieG3lO8^d8)Hk$$7Y3 zSD-yLMkMi6UU)+U-&0II#*@%`O<$6 zlyduSaZASzUribh$gxnb#@j=87spQ>*bv;=|4M!8)v@c2RQa?07H!XlpMvt=u?MPp z7w7XI$;~M>j+5&iem*`_J*B-K^QQJal<%2;(0R(YA7~h{PxFAv5?R%IAjl19w za0oaA90Cpjhk!%CA>a^j2si{B0uBL(fJ49`;1F;KL=fP%%H;OONOX6?A>a^j2si{B z0uBL(fJ49`;1F;KI0PI54grUNL%<>65E$eLRMMWf_w+H%fQyG$7ROHR#-}Ua_Ym{g zFs}`|G2adI*RU=u=4oTSSHwSv5_2RC(!{(r-nU{Gn%BnHx1*nbvo$|^rtEttZuY}6 zALe5*^Uz2>zr$P9_|!Q!>UCZ7lZVI7Yl9w)2lhV_qc3;WG)@=IcAP?gCV6XH%&@vr z>d(&VsXRSi9s3=^jm&G~bzOI%nP~h=p4SHalIFFsH0HHwO*)1C*EO#Gk7Qn(xTVsc z=9(|-g67XjH$Q6ZCDpGFx{C4&cmi*QDJ*DSI+4~;WV}2CBZ|Bjk;`vcumG^D7%#RYc@R??XBi!Iw z)A{meYrfiNr{m2(t9stJ(m*;B=acLko*y;)`h{3u>Mf#*lD z%STo7ql7oDLGSm#`>v)lyh@#3BdF3(A6zM3k{ zV7{L*PcuP?>t58q70uJUHC!(zsIT~R_60pZv+#P&(-fY-TUP7{@Tni*(=DDiYJKo9 z0grLK1@Th(6mM5j9*X5{YbqU)NP2#)p4T>d$aS!B<0WosYgyaOwH5D ziyKi`=0xE|&D-i$J-@9?bg!=~T<;f_RW`2;=}at#E?)R4bDmLu=e5mj>+bkqKj*b| z(!93O#PekY4qV2ms&Yv91J0;dk$;h&aUJCm!f%wDG_MVIEZ3`X^V)WyxoiZTI@m8> z&%dQk<Zhfj&-p-%WzofC0$Qy`P}38bu|C!va6a8+553(mf!clRlS7| zPwM^q=Qs9H+@8aKc1`B9e|dNB)bsw)Luu&Qf5pl7y*mAZ%6s(|d3H>*?^U-;MQ>wh)% z>+83peKLPM{@9kEUU_=U%bUK|GBReL%>Lrh-{-;e4Rkkd|I4)JIN$USpIqis|N2(X z2j2eI$+w?;bJLWk=4Ci9LFc;B53>0eI{Lj&rnEymOGO4f;jfG4)}dCJ?xWd zLE?gg3<0-KrrRge&hoS93oAzpd0>A2lN2E+EA80P@T`_u^V=4;c}rU_Z1Y+>7Dr=L zd8X0xeohAZYX7*vkPs#|W+iD|X>GWBcdds`u|&8(w$$ zk%u2v`>wwIyj>>qZ{oy>P1xI*-Cc(^dgts?e#ef}I|=-L9J7|TE?&^uwV)p=NHo9$ zdb($xG!_0@x@$>Ujx6HCPZ7pU=^{PLqaFgAe)n zH`?P?qI2lyd1um(;|A;KAZ>6tmU-}b{MM@b=G`-sHGS9^O2ddpQ-WeM4guAm2fx&>lP;clc<4cymr@SFUbE+)) z{>s}3yl!MjbZsm&`_te`gVhbQy< z-Aq5;Hagsn99XKGyU+qEQ@kN%dMizg{fR_upGrU+FWxA zFA`yw^gT*(RUM(yW;{R16sD^1P>K*!Q=Hz}xTxd8_N9&UTj#g8HFhj+T-x5z-Po-< zM_6guqq%v+#)D4K>D1#J^CW}*4^`&H=&;vWj)_v2Q#|genTX6wzs4`u~!KdS5<%e%0d^Bb z|75R|am=6BZYWZUfd7dTlzr*lyte0${96zth6EXUI%9zXtG^>`IAI#j$s>bBM|^D{6_-jlnW%zjm_@k6g$bLV6}_v9`Q(eLDDzGfbi zZq|0M|IbTQzT@|*og&~p`U&}2k3VyVGkIKP`{+AWK2>F?p~(MuW%+Y^dK466tRFwV zf1U!+H->1$HQbKF`oK3w)K%=$WDUf#zvr_5*3Sz~gWF~N;(k$7m>=$61bzn)&>Cwq zE_CU7gySRMtR+9^9sl>QoWc3Yf9kKQf7-uIyU2eizwP{&-@Hhb>vsMtd?K9x3Wd_; z<8aDzIx@qzWu}d8Plx?@qzqeyHQAx|A1fG{D*wAmQp32Np4U8u zf^sxBQ)-G~-xBvQUElk6 zOZmJ~^j$SV%P*AcPwb-azd+Kpc^7^Cd!px7k!zIr=Rr=V1CQ$eLGH8PC@p`8b{Wrk z6bW|wgXAZ;Jb&aE6|a4-_bR&u^+EgCt!jVm?A77-kwlF5i$mdK1Xl*ESPr~r&{MDX zZ0rH99suU?Hc09B4EUva&y*b^`DHELRMi8LkNm^rJsGN99U)82Tf zDj$($knj9YSC;Q~m}Yu3%CKZ*+T!}$pKrO9_pFY?P; z@|*bx`3&t458?V*x?H}@%4c+09fi+Smd{3VA`C+v`3!pMme0-z?_(#)AEb_%w@iN& zj$%F&{LP?hqNKyWp%JSJxoX_xKPhR9R z=&4seE4=K!=fPPu^(gR5o6nG6*3wN?K9hU|zR?~EzANpI=eBoxjuz#R{cX43j7_7$4AuVv{A2x z2R+-9eytmEhYT6=>K&Qwo_(aqzGAAN3X$KH$M+_>QXw6^YxmUg;{H>sd=ksJaJ0f&G?z#-rea0oaA90CIvfyOC%OhM^KKk&$*{Y&sB4#m|mI7gY-fdo}-Hgy5eLN?%bJG2*rqS zdevApnfrkD0B-B#_5wcOmTnI)TM)FI`PcvVzNy-`h8nF8rab)l8tGYGk)Gr>-1gVf zJr~li-MF>@vRwqD-W6^1T#2yJ=!@9A-*mwi7xj|%4tavtvJH9FqbD~jpL z_%d_aym_BBuMgLB8=4Mb4EE-+do~x|qUQm^Mf^(LHIhEYk=r@(9RCm;AD8Ea-p9O+ zW|F8aNUv9q>q##3Lm%{y6})iY$GpeF`WIBDANrslJmJ0({j!cxQo3;->4!e($93G7 z^y8Fr{o8V(`C>`ygR=fSNgyBanD)4Q%GxbiQheLYKBR`(imWd0W zG*hjkMl(nkEoz&;w4<}~mDG%0|L`4tQO!cfqGGk!2ynxigHU7OB_B`;ovbLpJh3f+ z`<|PCXF+(HN;YL98RZz){`Q3Yl9Y(4Gp8(A;I)sNFyY9gDCN$F>IXCOFZ+Q%=^^`q zz8RM5aUgnqaZ`J3{P9!#O)CmLlSq;{7YF^Gw!N7r|MVZDyIkIt&G#j_8dQE+%txRD-4XG z`1p}mr3VJabsu^mgcoCIs@Gv|_bK($5^QI28yf5jw4vd7a8DhZx#1(~YN~^_rkyu_ zr1#h#uA9v6IC8TxuUg9w_P@yEwj0HT`I$hcfgiU)1%`f+ho%EQevxp~O!KdAq5Q!I zu6th5K3=8g`BY&acXVCQwXC~cYp&vNI4clJMuk0nL0kDq+?HL?M7 z8MtNcVO>tPk2zx8{S5_dSJ*#wndQ*;!zYsTq_dA{?<=+bQDd{G)@Wjl$;TMFgdbwT zz`*)Xdwl!BCjK#o@H2+-_A#_**T3%^wGSEWW7rpQ_HppsTrcnub#422)7C3`51+gB zUUv6t-Fk1{*~c2XB7SBa3%?OXys(dfUy^;i@s=e;`}mr5%OdtM>**t%;C(D*rhr$K z&nx;ST@3`Pz1a81OMa z+#dq`(u`f;?|S5qdhyw})y?|^N5OlXo=@PHmQTFr_2Se2o8z-Td;-6;e4@Or7oYjv z-TEf|;S>0!nF_pm4jy+j6S=ZML3ED>d(C3mzK}G*iZH1voO2ila5dD z1^#Ro*8>-P0>89;X2lM!8=qG>J_D9)9uW>=z*po`@Jq|5FW)ou;~#B5AlX3*3EQT`e`_(I_xmc$M%iz#dQ6RMK!5BV<;AW5Wqv!qQ4P3+0Ih! z_F`Ya4hCm@Pxy76z>-{-gxzxejRn`=s39xj7FQn|QN+vq@OV7n$9AyBnj;i>Xe!s= zShSC2eecTc5TwI7$pCmGw6 zx!*-|2si{B0;(HTw;uzHIODYR_zKUqS)nSyO>RGCf&CMtsHcJtac$IJZfj1{)lI|?Pa7{K@n*cWm3aj-5a*CBjFUE4m6%;!e?@fO#9 zTuEIE`#4|5K2ANpLiS;=+&*qu)OvY+##cO11N%6Cr?Zcf^A*3ZrGL&oE{#tze!4_- ze;oo20f#_&1cLDuBTKAz#A`|?k3aTk&7MQV7At>8F1t#t2O5kIfUaC|O%^&s_i5&P z6@PM1dsQu(pV)rXWbcxfJ49` z5RZUiA0Mn^#I+yuK5t3(@yZo@iyaod!wY9lGHqLlP})A;Evm*mL$>$>McbGz6vtQa zo|p;k$D#D4Yd8W}qTsjc($m%bU|`f`{IS>)H_OZXKj6YuM z+K-d#U5&2!7xppm>$iP;YrpK{v)Y$ke1Vz13jD~v5s{~AU?2P6bM|p^zAA6~Is3Rg zM)CMYva>tk5O4@M1QHN1>|<>-8S5VeBE0`>l6_2+uzK*q)ykN^&uP@fENy;_TyEjIYSTK7PvC$MN;7 z%7aB-;DLP%{Q7MlKU}?i+_|`|KLach?c?9nz&j4t?z!T;qokL{4u8!c5N_@Hk5j{kL{m|z;fGe`!Thd_h-M= zp74IFurK25W8kOj3WkQU54*N~Y|qatIQv*bR>Uowe*;X7Xyk=`4E&Pp<8tGVSx+D7 z^M!YNztyDs2i%9##i4zpr$T4Ak0^TNGBA``_oLAW>V3`rK-;_i54Bt9(QbaNcC+i` z`UbiFBf0*dTz^QrP|wfL>wH5m@_GE)kJ0?C^#o~$UfW&$fn{#Ln<6N2c^udlBPkE_ z!~3lQKhEdKCqYc;3)ZDX{-_t9*1YN z8d1axK7n6aK2cuRi_fupxc4()%jOZ`AO?Kk6Zoa&6ZLMr_{=&!K@qv&&vuO{;su|; zFD;+G*iZH1v)%D&kY)3Tuo1=L6Zoa&vmkbGz4**KJ`J+KpY0k^EIxr>T0ZmgJyS0} zS35opvTPm^HlkR30>89;X63uIUVIiDp9Wdr&vuO{7N5Yc9G}Jgq#AcPllK#^W4|3tT+xPCJ`@1zSm+|uC`wQ%Lt&sq`o}{eG*5Rc#-4wY7HlXTnONeY~j#_Hp51XCFsxxAZoj zvyanb6~>w0KX*6;90Cr3GzbLt@v!Z6O%7YjlrC)_ht}&f#S;9<^SODyRW*YqL6S~K z?Bl_>9w_XKIQy8n(ucCi$s2XcjmOKvKHkIG$Km?bte1gv;Br4J+sDAK-}dp*)!N6? zTDvZ4TkK6ZHb`7$zC`=@=^EI_`JZb0xSsQpqmLWr?v39!lv8NFo3OHVtcW~8kF<7VPC}A#{qh% zU!$&VA4leMi+vpE8q7Y_$F>{A1om-W@Jq6fQ_ts~S+#xK)q1HnZbDT{<*VmPw2yyZ z1N%7pX#MTuZQssgoXvOB_9KjVLH=|0F|Y|R3ERd=*Hzwje;fi10f#^e1Oofm8|JAg z)X{py^UAaz+cs;N`<8A$j=R61(7xB3#y+lWK6m{3plpAsd9Gq##M#HZ_m@7*I)cvx zVcS0D`P}2?ZoQY?uGX#h7My)77y`Grdf12}Uf9RLFUdYGH=nyW{`kE9*vE}0w$5*B zoYl6pJDSq6XAXKG*{`#*Q%E28#XTpo)*=f+pW<5C{eviaUca0oaA90GzsFunqi z#M!5%?PJfjS)nSyO}39&pv<}~d@uW_?!)QccGo*XKP>|7k=UF zb+X*Ck6YWUiNVo_VJ9C*}Q(j;69S-;wUPxkAYvm?c+yxsdD{_ zX*9l~@$9ya3)`1QlbPmBqJ8{a4eaCmubh3HY{Mnxx8S_9j{__!!!b?PcX1p74grUN zLV&v3x6SqP6ZlEAkGJjiWBMlO&wBa2)_VD3U&PtRLHj?~A$&yLxbYQ-%lL}DXnaLp z>|-rI*#9Qg#Zg>f9|ON??PJ!X*2@>(?e+2>dH7V}Hk^il`|x=V?H4^2IurCen5Tm^ z=UMmRF*o2-*^S!X^?$A1!V}ufKc(I5Z{_-ovrppht-_hw&Ck+q_C4Cgo%#9II3m%D zd|vDI^84I+g@Byg%JMm{mk<0npGQBapwCz@U-C!Y_ybXHN`0>89;qTa0+pY4v%e(?$X((>tx z{ZubL^N!Dc@d^CW@(DY*UVQdBKKsQd@Jq`lzGv#ir@xo8hXO)vyB6Uf27It@fnQoa z@m*RkKF2yfK@qv&&vuO{;su|;uNo>FWPP(weEgeqLceHH2cM%){4grUNAi&k2td}omV!9N{%;)xE z`#zE(Eh3{qmlmw^S9*@UQhxI~LB>KaBZE??t>)Op_Mr=Ij1kY=1*7Hol zSMAUkI)NXq!N8!tp(e(7;>2#!dCT!wFW(ARwqCy27qElzJbcff--zoFKB8{9{>B2v z~8p+P?ghRj~;1EbcfK01gW`DXmtjvB=V<`^X zc5H(_`RZ%R=7XE0JUAaN&q~cn(Y9V<^(;1DQFAd28xdFRFwUp5j}beaJBFg+2MIg@ z?Bjlo$9pt99uM|KoP8WTH)GC6)GcQp`+Mm5+**FH{|)Eep#F{G0{a;FRcjx!9yK0M zcn^=qLwch354ewB+aY>N&J?E7h`OnbDpNprkY|vOIr5G%I{2RXb7WlIdD`{Q*KT31 zcJr-reZE|8lj{rRdb@U^o}Zt`<3TU-dFA8rN+Ci|?fOFiIk_hHrr(GnUgn3#Zvnq@ z{UP8pEBT{de6~A24YEuQO}`Pv;uH9#9ad;-6;eEMPs*Ne}raXjA8QB|)0FI0PI54uMh#P=ow7+21&HXnYM_ z>|d0JDu(Tz1v?B7-jw}~KM(ge!oGkVjAv!Y;Mes6KQ-4SVYgg=W7hRIYRHPX#ns0~ z6!CJqgW8{4@MAkzW6cqYJd_=e$9hzMqwrqq{>E@V;r_mSrERP*z5er>?}5*P_@(6&<#qLZM$=-R@%M4>XMl&vq3I7|zz05oUs^s<@79aYtm6|Dk!x~j z`i&^!1)sn#EuRIkpX$YDyW`U!%jD4X8&NDifnQoa^I`|ri_g5{(;&;_(DWNoEIxr> zT0XP#JyS0}S35opvP=$5zY)da6Zoa&)0gkkdhuCsd>Uk#9GZS3ip3}JE5~QCzj0(g z`x|FDrB`pwLIliu%eOOI99&W*mC?ua^5K!95H zU4LT&HmOgKp_uqV2>moQncw(}aDOB03)sO#qB_F;NL+{T5p~P;H|AY`qlT`CUtE1` zL=i8yBXNHt@MAl;U;T~3d$hmNEB3RSsX#t3&%y7*LoV{BKBfB`4^;^@pOdc!`wei2 z_pP=MzGwdbN&n#$(tr3-?G~=oZvHB{{t3CBm+Su}*FU9Q=w=+%{6^7>d|vDR#y~nk?WSJbAej|#-C-6(lr!RJJz4-L^bM{ccmdT;%4`RTF z@)r1|<+C8)Gxg%L&+!S0$Tc}M{YDh=f=}R=me0I=m)46<|E=!*4A?R`H2pyg_`oOd zE5~QCzj4q0_BSr=>b$58$*9B)H@O&+n`_YDnEi}yKXLtLX1+=9cetg;DqQXw8QFOq z0uBL(KxqW1yTJ7~mWHVO)iD$WKg5QCQIr10Uxxb|VPC)w<~|=j_@40VdV$Y!T@rT7 z^*0t=f1`%1h+ABJY(x<++retTfm+RP6yBr#jo>t#hJgF=(4_UoY3cB-dBS_5YUZH)xmB$p_=8<~NF7UVIiD zpGFR@oKN6aj?ZF$V`H`bjVE?2T4W@(a&OSwV#)p~u2IE`QzEF^_6j%Z_7m4{#(9X3 zq`VY=-QgCGOBlyETou^vk3+yA;1EcGz$l8N_ct%Mf8!|>6Z5tB=2v& zZq1z;?!O4;ghg~peNsGchl>}I`d(Of(zT*+g`P1KA3un~z_{*1FHB~<`m=u{bQas~ z#lCG`wa;17?1bJ!w;)(EuE(5{fEfg!|@vAGTwvX zMs%DrPI!)({?-;(R!mg~1` z7x%$;AoL=i*Lpl&pX(0+pTc$pvG-yHar>kk2+zT}U(@ww}r=ezz&@MUsn z`f)vQi+l=xY5Bx^UN1h|_i%g$ESVgd{vZZ?;1l?z89;qTa0+pZ=bXPjFOC{R#Zi^688HR4+cWj?aM3D(oTPmzK|h*unMUGw=B9 z7oWf{EuVS$o~aj~?R&ZMHXzijGfjUG13uKBz%MPIS@|xl7oUBOPf$dz$)V{tqKFrK z0>5&67W*4#_NTvb{Is^VC2fnn2@{TtCaK(+#Qw$?YtY~5->KVAT)&x_Z_@i6Zt1ZK zzo+H0y}RxZa0oaAfB;v6dOY6t2kVhTaeWcoSCKRxZ{oy>#Xdi1E$t@vH}ZJAxIPU- zAKxqVqrR0UzRu~^{V^Ouzoqhq()T*_H>&i&z~KJI-99!i)7`#n)15cGG?~XV+F|0L zrSwldN3bq}*cY&a!5QB(SXZ9w5I&-=W}5G*uW#CVMepHrx8BR{Uaed2%}alyzo=!l zYrjvbi#2-YU$%qQeglFZ+rb)ZjkAuMOFtg(ysGWvMXgJhwk;mt(z$qPS8Mmuij8Ds zU-R*l|IanBj|+D>`&hr1NqMXEd1oJ&#wQuuNOpE790Cpjhd=@XTn+YjzKR#JKND_b zoGxu2o8yKIA$UW!F`di|M*A4{MZN6f0_@`tI{Ubix)$~^@awmIys%pP_@u7Z3o5pW z@s6>ZXdk~+1N%7tU1uLB=d1FzpRa^j2$VvAN44iN+%}8@ZIKAG z%WKajwI9PiHRG4|m$r|2?o5f}O=%x9#uF!YXGUzi<#=vCjtN)PehmAfUiPuSr=HL4 z=be2VU(a&=96ewk1HXRT$G49@liTm#PS$GNdl^lEJ~MSD+sBQws@`3tgnj&%8ra9# z?>qZAIbW5x{hWPV9;0}ClinD2-XY)+a0o;Ypqe+A*_%$+cRqKxJli9ZjNk<90Jhv? zj);AXI4qYiz5-E{n{IqXj%?Y3PVl_OX3uMmwS`QjV<>mK*GU!+AHTccZw#J_df(+Q+O%&F2>0F`pZET)AR}8pDGy z+<<$W3EaH`Z>(?o*t59|@-gfFNlY9*@86^C-NL=v&EKcpY>#&RP2Drt&M!Qz-TX7! z%|54H|9R~~JwLzNUq$pHpI1Jg8ye%?>}WSXB0#3He9rT^fgk5{-Ypk&0hwA6MQ6Y}q^_9K?VR?Gl)XZ)TST>B0`T zbT~!d(ctZMK8Juqz#&i?0j>tOt@$d!{MXo&NBSEv9+3Mz68alM{e|iJ8)NUCcybI~ z!H>L=`P?E%>BwdDcszB+2v;_r8})m*~XdR2XSwSB9!{0S( zKDXeEMQPoGHef+l?*vI+J&OT1gSIA$fg+Ga~$@2KF$<7w!M_{G)7MilYFJ_df(+Q+O%jmHz- zF&{7B(N^_TvEPs+BUs^s<2iJ|y6^>7E6x5v+@G1DE z<(aP`;Z-t-$$#LN6}-y`tjd~WBBM;;zYYxd`8n^o+&s!4LD2=O}`OEy!^iL`w9Hg@`*aQUVOGc?b^ZvwoDF9 ze-Hyc@Cp3V@(Ek2UVP>qpP-0blS9*QL=i9e1b%7xgiTy8KF9vvy`KSFCWod!hyfq? z1b%7x^yS;8UVLU9pP-0blS9*QL=i9e1b%7xEXX%%z4&Z*d>Uk#9GZS3ip3}JE5~QC z@9~vt`yNkiy}Yff^3_0sq?=7D!CCVCqXvDC`JHrIit9r&^G$lc!!12l;c_>Wm0iFg z;1F;Klt6&1L97d+qXm6efmo@1x>(+vKNUzN`I6^7u3K|wCVoBiqAu=Z3H_*VZ!%xy zbPtwwL116N4hCn;rkcLSfGB%B-YwVnn3cXq|5mpyNVtAA>tzLU=nsF_aNi^FV>`H- zzQ>|{JaoiK)$P-DYR84`OKDw@V?ybxAdqMuzgz?RIJ=9skB1mN6ZJ{_NemW&= zf2s8n#J-5Lk9AD`%lC|TZTooVjUVYf_J`{xvpbI5yc?URp)2AS@E34tL=i9SW8jx$ zA0P1Xi-enI-rHDx-vxYmUeP`tS*?A1T5H!uZC#C1I~Og8CNs^MMEm%a8raAFuCDz! z$VYK`tMob7eq0)#WNg!9eHX_e;1F;KC%Hvm)w=cGg0qh` zbVdB)>SH5{cwrv{za;y3<1I^y_VG3AmPPDi)}!XG2=AD?f_3w%*~gaqWlGImIaqZ( z1kV|_Zl2CJ;pgW3R@hD3yZJq|o842p{%GwM_Ll4W%JsL(^#kO3qjsSg-+|DJd|v6? zm0_wh3D(U!siCuX{=)C~OkQ|u@4v?E)9a6RbF_eYB{n7UIq(bTbFJ~bYt}V=`=nOY zRDG0rHDbeRO6k#DNyx!gRKyc-u5&}_8TggG~&h?n`{aq_^Ac}Be!#73DB z%sIpRUoSpaJ3a&WtKbv(rR5Xlc=dc5$&K+A9G?a%c%N+7h$3FRpTI9IpQw-P#^*C` zoP5BR%_G7=4ETzC3Vvz%%!^%BFFwaU>-Ypm;W`ssvKu|XC-6(lXIAXvdhwZed>Uk# z9GZS3ig>{%@Jq|5FW))!;@dX!?yP7N5W`EuRJXUac3O{&TLp4cIa{H2pyg z`0#!LzjAyQ`yu!2XFp_1dq;QMA|#^{H~Kjx(*IY3e#rcRx?RQfrij zRLLvg;yMHz0)rd@>PB$=kp0aAV@Lsh&;l2&0-xo& zBf0bKo_Aa8e#~vL z4J6<`nl>JhYxhH%{h5cR=!e`cs#fKj$t%@zYxgmq*Vop2^-)jv>~Z52y-R*M_lJ2` zh8bi4f7>;ph!N7cNaz%MPIzSvmx;xq5~4Ct()yaj$~`7DU7TrWNgj?aGa3H;LXnU`;#y79UH zI=8P^kx{$eM7S8C=t2Ei5d6~enU!zXdhywJfa9}BQWfPb@GHk>u}|`<>iZ}VZw+NYWv;`mGQ0v?Hol=SK3{db?BXxV{fj!uPU&>Jq1W8(CXVr3VIv?vre$H0z&UE5r_$ zS~mo9yMlIJ*cY&a!5QCkxVk(4$q6q}w_KlOLE7{EJKfrPLEXwYn!h5@MGt@1aGxab zV>`H-KFOkeylIyz*Va3&<1(+kn64^3$i5NLS8HG&7mm^PaXr_FizM9Q?u}m~j#Fs9 zo365toym(RWNxFJ1JT%zwM;=&D{%K01u4grTiX$0KbdZqD6cXbR! z!;idmUt16MMVx&cq?qdjKBBH|AKPo|`Fp!H6*P9h5B00*1~K4+eGL4P?BmpH>us*u zK3=wHX~z*u7PT&JYn(N|t93~m(wNdsw2%K;1N%6CoNGT0+j3^UD(`pg$K^4K$2Vo} zchMXI4grUNngtQGAM?26X#0U~&pm~%aoZ=>_d@wIapFX=!_vZ;+IdAcSJZAcF%|7S$ zX3=;>aS3n)cEA-b%eccK;1F;Klt-Y!?afjiq!ckM`?&7y$FMKr?BgK0W*xz2gK)X_ z4qzEY1RMg409S)S`!S!P z=E=xWdi*h$Rh1m2+m8<@t%~nu|CGcI^!N2`KMoRV*~jVv42 z3C=!F&R57^$*!}Hld&m{YiyQwCmjL~0f#^g0)c(($wZdfCVRK6?DIf1b0Clj~dLyugKh4E*|SA3xeyW&82z%NAVN z=1rJzWRSSZeE7VJNWE4A`#9g^?BnEoRo?b<_HlWP;_;1SXLrIO;1F;KBp?vj$L03+ zPPUJ|qK%qx6YF%cea!1u>}bWdf)V?e+KknB2Da-H+K)r&OE>=5x@(!B)qWfrUx79C zCr<39G0nFeuh*~OZ;DXZ8h;!=9vSV&urK25W3@E8N-x(Td_-M)e1*NYcNX^X`<;Cp zU(W(ljWGVgJ_dgMwvV5v);^xm+Oc>kl2whHXdiE_fqk59cJ^^{zT&)9`seK9()c9f zSIw*7WE=txfx(G@X&-9@;@Xd+<0}HRR<78a=j@S9Xxa?$qZ|w3bG$vwpyl7s3R}U5 zeT?fR>|;bxZaVuo&HTJTtz{pp3otP1F}?!!MVx(Hi}4kC*vFSS`?!+27WOgl>$iP8 zbWD})$1~a%dyV|3+5_1)D!+5|R0U_$H=94z*~iKG3T0-p>+IuXY)a!=K~8m19Rd!4 z!Hxi#mATB`ghILYsLJa>TAj#hFckkrS0Q5``pkkZKB09#jq`Bhar*9K1S?x z?ih-OA0%L4p#6A{Z$H??KgJM##$MW!t@dMR(XRiy@Sd!&FXHUu;JLXD;UnsnYdMG+P7!UK({cq^V^!DDn$-1XdDcXjWq`g^aU?mGYbs_L7rp3Ee3 zWOh}$;iXy;oJQySjVwWzWiC-uQH^W!uok9SUN!C-s-EJvm=zZ%?)$c^Vn+ z+0)UCZ9^M(D2UOX)L**xMvb;Moj#aFMAe^@W!WO zE!&1R?obe;J*mHR?HM$2aK7vr_3TL#Now2B#w`+q(w@{`y7u&&>zRDnvu&g|J{@b> zHneevf*9>d{iSQqsJSl9mpy|=dG@4@vKgP$UuX7=e-E^G4*QK|Rn@*4{K@KQe|c=g zbnAls#>jYm|HRujv*&^IaZhjQ>&iV&vlf`upJvKSO?k+am+6$E(SPhWQZD_xtM?l#z3V-yT+(Dd&bh-P6O`BQ z)L&=Ud$gzD_(#6%+2YyLGF0aFr2f*iXVi@IeAzR2w0A$oF=*!Yr2f*iC+F+z?dh~O z8CL1p(^5<3_N4yOwI|ozeAzSN*)u15Qh({%({JLZeA%O`Ld_~ z7;pV_44V0TOZ}y5&xpC6$(KEYo;@9NW^uhj{iSQqpt&y1mpvn%J#(@r_1Bp_sUXT+#71=;9iEO0Z#*- z2DAp`u6}c1tl;0H{YLDy*r0lXeUB91$5Z9}livG{UH$zJ+0)JC{l-t+`;Ck*7zd;8 zIJ#=TG3f0#YK5x5sn%kP#Gu$$!G0t4hd4N={YGPV_kN@D^Z0v-b}Q%yb{=t*b+q63 z<08l%CF6?y1*iM{M(5iyl&bf)qZMZVu+r=wo~BcOwN9h6O?j;;|G6n|Fy)Qr{4aj> zy%X+FQ7-*F^ZiDroyo8k?|RQt3+Q%wG}GQ^B(8b_z8~y<<7e*uM#dM6gQ>Hw+HZ__`;E${^dGnHI%}>)Vo=1v*l(o% z5C`Y9-)QWfxZfyM!1vo7^n-QKRD0q7oKkR56{qP zK{{Crb>p-w3idQ|T>8oBiIuHJ8~9PM4dQ|FFfC;GcXL5$aX)L&=U zd$gzD_(#6%8S(5%6G@tAN1j_G2BkfzzjW;xHRC*A_H6O&X&H<5OH3`21bb3{>DrU? zb-wHw_3UXGE76WTw@4D~N&Tg3Pp-T9vS*uTPs>=eUt(&JB-oSsOV^%$6F=q4o-Jd% zc*wCk$SuVZy;6Gl0|CZ_FG!ud90^w*g^^J%&`u>TxZ79FeOHWVj*U)zE>}7Zw@HF6QAcY373^oV$ zkiVVnHy$rE{QXAvyyHu{_mQGPRbQ(8#iRva6#I>?_NDiJ zW5u;8(ucv8&1P6UN7kFOtQ_&T~~*LvXZDJByF~JL}&Y@Gth_WB2-MughAy_Fu-w z)L+i=@ugYE$4w16y{?kv=c-Ldf7Au>apV_Xe4N^^Y#&RGd+~8{y>zZqd$fAErvXm` zo(4M9fCR|RfgOdUv-`*L`Ku&r;n#1}Won=f0auI%8rx zRRrJl_&BHU=&HWBSNc29g?W!ciD8Gj$IpS!8;&YbHiyU6{%%6hxV;PAKLWjfyVFVt!D3Y|t4 z=`^_5lwV`YuQlaMP5E^?rFdQkQZD_xtKV0NlzYz$QRj|dC;GcXK@9eRKT&_3JugIi z(m(QL&!P&?p0rUm_N4yOwI|1UzU&#P>p$)51x}APZ7gwI^1QuP;^WikFI{_bzRsIH z>pgoq)}s9qQ-^|B+@3~%>DrU)Zrea|5&s^+D{dH!~`15$zWV_!uE>u%qJG<)iaJJvbOZhzBkGo*M(SL)!f8y<% zrJ55u&iC}zv3@d%ZJqJ#VV(v&4R{)GY2Z7%-~PCMIgjClKvT4iy)C0maz5`*G8Rec}N=nrwQvu_@^L-Cup))||W z1QxDs8mie@?(;#8+HW*=Puy=5dc*H-gJXMlKF&IM&efNEyt(%qH?$Y4{4IK;**{!v z_788-ssA>eMpu~fJ52eVru;5bez#639{tDn@hF#m-qrh!{Deh9 zoEX5N)A0bF@1XwDwI|ozeA%;TfoD(0PMO=2`b*cI5feY<%br2co{l-QSU;)1bnO{5 zad5uuS?Sp`Cwo$V>Dtq8u4nRPPyfHX`PMOL=JPG}m##gd=DIXr_AK)3>6kN%`Ih?Y z%%1W6#=0R{{vOx3+Qv|0*q8Zt@z}qV`;GoC*l&!i()UlieX~?^LdW@@-a6J#CijNu z@LuX^z|(-I0k;OQ4CeZMJj_*@9L<4L?>FN6c%3Z2sLKVL;`i|wUoZ~lJ`=3jCEv&6 z_djm&zWrs}%Jk@cau9gL-piZC%G zJvQrt_}Kq|7ayngtIlITFFx*EN6Gb@)TO;lPXnF?JPjn#fD<2g_IkzdKJHjQsrA>+oxKcC1D*yv4W!V(cPlhJFFtCUE)HR$*_ z@jQ7v%)T*Ye9ZVFS$yogmy0z7NBgw1_&CD&c)b@NXR_8ZKBoS1j*lP7IzFzhDi0To z3s;BcX(!0^Z_4<%cNfIRk%ztbIJIA4ymky;eB7~qQtL0%Vc^kw8t^o*>1v=W;$y~N z>1r|c^T&|T$?rgXPvhg}#NQiCJWqJOBDpRZA2YtlS9~00eEd5vKF(yVWqeHi_N#o$RZ)9A@~q@w3CB`m7#2HiA;d$6Itkd>njK$H(0=>XoaD9iDXS-Xn=* zJErpae!tZVB@og>N#Y!4(>S=Z2jt|X_KS3BP%&tkCgMD|%eCxHTW?wiZoM(jPTT8E z^LT$f4R{*xG?0!4wgypP5Bby6JSdrL9mX1x`uPgXNtqm}<72#^hx$`4&h4M&h(CXv z*n(vJ01djCsw`1Py63wIAwf{}+i>i|m1le)-+OfCZR`08C0?H=-ak$}*DYau%=jW% ze5@()mv(8NCf+~Z^3Ahb4|!_sP^1S)>fc2_f9%NGlrhJ4wjGmcgz+);mnuHq^@3Su z%#;K+d-K+I-vf<5e|%i_@o{Z!V`UBjGTpabH@ED9_}KrLcmLS!OR0P;dA@i5IJsUr z*J(R<_A)#TcpC6DkU|4k2KoI8O_D5j>?K91;^VGtUk8$rQ@qN6+bFo3f{o}-QEtv5!zg?K8`-_#mA}rs`J>-i;p|kQF8s-qt(Mb z4R{*xG|-_2WF2e{>?kCiy`NVkG`QD^XMBJE)wdD@HV2q?Sc58b&u6K=?*`Ij@wp|x zU3|(A}Kj!rEyK^Y%Yf7!;zkfVN2%Gf>e_oS9BU8=6Z+_iT+ zcD73-PB?d-Tel1J?@4jbC2AKL9R3!0QpdZ&r*-OIqtoawbsAY`%AYmm&zth7DSuI? z6wm8G%B7!o_3udqz3+Kb<&q}zan2nUnV_%_o`a+Q;OFfxs3=d<}eS*(T+T~ND}Nx{iSP9&e!>}XNzY~%UHBuVrr2j z*pvE8*PdK=^JUMXFTCG3ajcbSN1i(r#5mtlf9cvYXyT`Q*|Wv7Cru}eS*(T+T~ND}Nx{iSQqsJWiWmp$7&ds@b#{Ss4)B*C84U%K{; znCsGf+0*}}w|+X-O0*--9SUNcZ>hh|>>1y0oR;-|V@+sQxFA?tJ1fg)^4eb>o6cW4|czPGg*{^bV@r}t; z&*SO2$D!>U>-c?@Ejkv^Zol!r{5)RL*6k*_1VP(9j|UwM9^8O;6OJ(Zi;3qMJ&(uu zf^jfy25WZ3^LSA{kN1W5Jf5?*Ca%ftT>){h`aLP5Kg7Y#vzy?@(OjJN^LUk6$H%o5 zjp3Sn{NCy|T@WApU)J&Qru|;B@&)>Yq;dZ+IL}Gv_}`|jH|n9iUfg3fSvm5&!_$DL z0Z#+zXdu1!x&NE-F=9Q&dr5j=){}V2Ciy-$BlJfrXwp|b(M>lx)kKM7H z?N^=S-u>gwb(CDc9I0OFX~5Hfr-4p2AnV|F^L>>R3pC>6L{ObXO#Op>Uu9#$`zj{B zNERPE*A`eqaI{YopG3Tq0`7)ru=uN{B2YI2UGrzPAMM!$NLSG zOF!@G_f?9#=Y^FyZN$bn`h6Q>`DElYtNvGpYmnTqK)43 z(~dziUq7k8bnWRkad5uu8T9Pwm@|v`mikNAo>6l>lP`O=c=pW6p44Bu_KcY8(tO!7 z>e(|Vds2U$*)#sW%9&a3H#W^^tPhnnTFuQ2O>sNZ=i9Ce_8WtL()UmD`CM81?%M04 z_xmdC^&`)DbpJm5E)DI79uQBKCM!?YYcJ2!fTsaZ1MM}?-PaqLo&LVcfBSj7_AQO) zc+ca>J`Cdv#=+cUbO$w9GjOy|6ZabvpT~=M`;A(4as8!Qe=RaWv9E&nRj5D2!O7lN zN&9)c3$u-nCxqvXtPjm~H!qVjw<}qkeYzk%_WvdS@iE7Q({$U0UVQB6#lgJz*wKZD zc^dFEu&Han^}dRF6}bJn;`4d&amRkLn-miSb-mA>?Dq#d|9*5QzprBAi)8UJek)QR z?c-wRC&tH#&*MeC_?SwR)Q+oc+#)e3<74VCReapp^LX+5#{-+je!alw%l!AbCsbCI z&8i7EG-Uh2O3L_n`!0x&qkq-$vG?AE?N90Bp5D^em3#cQAG2PLrvXm`o(58AK-R(U z=KCti;&kZ)?ujOX>Kf>Ou>nnvHGUZE$Sw&c|6tziEW>j^0;6Ib^>GB;i1QW zusML=PT`Sk&!Xe!@q9_|NmE|?wBz4bQE$++XJQWOa=|9~`zj{BU>r=F!J1w1`zk@R z-{|i-S3M6#&J_vxez4EueeHf8kMTva_?WS>UN@i`tR?QWv*+<5-t%}`WpTYFTaPUggEBs* z{<4jaAxAxrXY8K%Jl;#|M;V*C+u+#VosY9le%G_p=kXvTS!j$pqhFcl>b}uw@IN~B z$8;L?={P^qU8ljGI`#iZr_mql6m{U>^IMclKkw@2@uJ>-h*r4zo6N^KcUWY`K6oCF z`s-{zg!YUW|Hzj;+dO+(hRWQY)L**xe4Q_Q7J2q` z%$ddWA=F>G_T;*oFM9?(d*)Mvb;GJeXJJu5wX=44OmFI{^w4$hZ7qn<1q3_%U?Wc!R-rOkoP_8X(#exv1mZr^p*UW>$_+;61*5C>=TJYIai z(bzq4zj4{prRp1ui7jw!pIGAa?btrcm6Oi*KVEWi=o8c#++4@I{w;JG-BPEKt#umQ z)|B@#<=dO`zNUOfol-parzn?x-qrh!LGOBxDwi}fKgWI}_1D?;9_>m0$d^4UJ$vS4 zPwFpSdvcuT%broso;lf*`b*cIoUij`&o)N%F=rO>5cQX?J)`DD~X3zM3<0O5bA@lvllfw0l;duqa=7j4*Gs9M+(?wJ6H}2R4 z`;Gqox?kSDS*jSU<9ttV9qT8Pdqe3C2#?OwfTw{?P6P6}i0|V2jVYf8+BEkY|Lxvy zWPHImnEOm!wcqF;=KbD)GZUm*iyaDL+;61*5C`Y9-)QWfxZjw~`;F?C_t?-RX=nS5 zV5vyL2j7eCtmECtE;A;#dCj(a_Q$?z26x1uJ@>N zNi*|v^?sw#UuV~Qv?u)|U-oSC?3t52slRmX$#I@9d-}ii_A?xVWm@|v{mikNAo?LhHWzV2z&z$T@{iSQqh>4%_WzUFb&z$T@{iSQqpoxR?WzROx zo;lf*`b*cIesevOFMC$Tym-hlXy)+{^_Q+aqvpCaU-pc8_H@jdMLb0Pb!N}_e&Y;% zpCRl0#^KdX^;U~BKvV8F?$ibQjgkFyzr203RC7Yd`JUc7)=wt)hB6ov9;v4RPXn8l z2EMENjod;@w8o~n-}oQ*ek0=x#=%rpSM4_jz5PbZ?^3PB7KuT*-$?x-4$f)6(b&B! z_8Yfq-&|KtI{S^u9_)kf1rN~iuD@BQ(Q|YfIZvm-3rzV%raWTGFEQnp>XZ%Q{uJfX z&%1iR(SP4=)4pE7S~vAHGe5_EBlXwW^&ag>|Hzj;gPuJtC(hiS)L**x_j~K7W6;d!Tk0=ed-_fMlrMW0dG>V7 znZ^BY>Mvb;Mok=?FMGCl_RPti)L**xjF{`0eAzSV*)u15Qh({%Gia_$^JULA&z?Ei zlltq-p7H(0YJHy}>;1-&^`W^|i!(q|?l<=Dg8fGS<+@+qzFDdmtmAx7ZyoE$+i%QZ zq^n0`;F8e;^3V2 z8;#w&V!yGour{6j#`5-ER^RW9F4XaE}y(zyzrxefq zDaxgvclCZ_%Y)wiQtCXDm=gBEek1kQ+4UanN&m=~J^c@P_RPhe)L**x4%_WzROxo;lf* z`b*cIK@$h(%bxy+y?DqmXlB=O>Ulb&zjW>CH`g=yvS*QJPsf~D#6#3yy7r8k>(YGL zGve7ZCwo$Vo!K+K-#AC#XUKZLaa_2rI#ibIv1_XzNzs)1jXQUCV! zetG+5spj~O^F6(Fte;Ho4aGgvLp%+58t^pW*1&glzcIznH~Kcs{l=Jkzmf3;2IYPu^@lh(r~O7__paD)+_rslT{-FOH&(hh^oe@E@n#+G`ft@~ z^fsMFZr5qB#gwl!<#(C#drbMgI;D8-PX&!!`gvFHH~Js(?#EE)nZ%UbZ>0V@yWXQc z=^y#BXQgLP$DCQ*kD>n3wI|1UzU&$C?3t52slRmX$@w~8_KbS=%*meAU%K|>x|=V1 z`XBYyPsgB{#ffS^!{{$vd-_fMlrMW0dG>V7nZ^1^{iSQqsELE~WzV2z&z$T@{iSQq zh`FB0mpv;zd*)Mvb;2F-P8zU&$C?3t52slU$b8Q*XGSl?&JdcSe}>~JW%52~iz zZ~SQ&>^J)F*ZuPL%~Hi+9p`&`>sUXT+#9k6w1;{c@HF6Qz}CQbb-&TsrmG8~d%xf4xLvBX*r6Z>`wWy5>JM?S3xX8cWOzj3BR9>?H&(Fb(A8+k~l!AErJU#-*V zW2XEGQ~s1GZ#Cs>bV{N0bIPTkC+|aCuhefmO&R2yidwwuJ*r&N%=}!v-)QvL+4Uan zN&m=~J)@pIbFwG(m##fI&huu^)!u%FW6;dUXVmB~U3+rA&X+ygJbOCk%woQ!{?fH4 z*WG;Cv*>AWd^!fre0)-W>Dn`5;-`Gsv(2-oW6o^Gr_o=!_6(XhIA8Ykw|e8#F=*!F zlln{7o_=#ZlP`M)xBi*;`wwx0W^PaFFI{^^&2?$M?AhYkGj7eSu0M_bIjMPHVtu3|-&=-{^4k7h5g^!n zq$8jI|8#wn_xsb$kMbUT zU{HWy^O25x8x0@j-EsTg0fNm(I`S2LsP#g5%a-mKAlQ7QBVWYuQQl>j_6`tiKGKnI zwc(?@bDDhtg3U)d^0gU0%4_@k--`)0AL+=~?<3tm%6obJ`eK63M>_JoW%wxX!3Q2F zCfIzWBj1qadfZUn(j`lZ2{s?;$hXAsQQkSt&BX+pk96dV8a~Ps-<1Aou=z+wzDYOh zc2eHbCHol;?|`9ca0uFmQ1sqVA!yKGKnI z$gR4aln1^`f3bN$bmM9#>Bv`U_$co`-<%Qn@Plfxz3)i7f21Q{(QUdu%0qo`yf&fu zg7bU2>LVTbRvSLb`^_t3<2teHBOUqL3?Jp)*-{kvdgI2SUwq!^s*iN!>$gI;lkz_O z_+$9>krzk&E0RKFWhW|NhtVz(WrXcJYypd{M(kdEk5dcasB8K5>MLk96dlbcgOA<$>>+wZj7o zFW=I|M>_IF3?JqF?yX6ID;91QxOdemmp(~HzF>>4kMf>=YG@$(+;eJPALa4-=-*#|?cyUH`PvL0<&h6M!NGAvI`XwV zWb|VA6`z?~Y(CPFZ^*-%kMh8WHYT={bmUuN_$ZHjy1h<2Nk_h@;iEj#!@uozl8$_n z9?|WjJcrLcf0B-T5yMA$aXwTg2lYuh@~t*}l*f5mb2)sZBVU{0qdZx|h5{1#NJqYY zj~e?K{*7PE3B>+$mgof6)lPk+BVW+)QQrIitO|Vf<=l3Bq$6MDYF!`Y{d&U*>UuiS z4x}Sr)bLT>T`LC!UU>c(S;rFWXXwbc(VSD>#~*%JtYWMLKGKnI(qp=vtXJa5p)$u8 zYuz|{AszW5hL7@~!^5HR^+`JNtu}m=_tcX|VxB1e@PiNB*s&y*Q6t# z{|Vhr%6sdLlLG(vTR8CUAE&wWLOSvdF?^IKabN&3=;Mza=HeqA`6>+`<^Arhw~ANY zv%kckN4xk)N4_P7kMb@!|NP>WckUCo@7@Dle54~^)bLRr?4ZVOLYzf9@)bR)^+I`9 zEm~Ck%F8boKel?c%MPR?-z39Fd5^6gQhdYp*DFBPv;*nL7cqR4hq&d%Xs|eOJt7_X z+6*7%iM_>N-fg%3k&b-*o-+Pv_+dNDEpi>_(kJQ27c_j7C;d}A@HM-Cq$A%v!$*1d zt~x;7KYQfipSk!*N4^%rM|l``xQ4^^qg@~A$mf6B__g83HAm#4AGf2UuZs^EYY0fDRa|`NAyzVC*`J#r8_2OFk)?03AcU?s~@@+JHlqc8W#bW#7 zKfXQ1r5DnXZ&It)3+3V32tJw^CzFnRs|_FJeezMQ@|Rz|aIDLIq$6LO;iEjkux%`E6URFy&G(~tt6+<-1vWDfFZhlko1OW7NuT9^STk?s zjV10TV!k8TCCqCM4EXjkq4D{4zsbE9!nxAn(sQSC4$RK8ai4F&k^=*=;NeO(DEs|w z#nZb^zrOhPAz_tw!TP-eM;-pt)*HV5i<)EIePH{*X&>%7bV>5OZqhb^!D7n?jfBBy zFY<6MTlfzO+yOeA3*FBI_L1`z(48&qN1M@3DQ-qz(0;TT^pZ6QeKGBC{(QG?PhPm8 zY3Lz49{fvPkI(mKKcrMgu8)O=m_*Z*t%ep6S;`@YM;`th-J zf_k}Ia509@w+4R_58Fn`d@Yea_4!Nd*AIP3;>gY3yjAUQrlxFPVqB?xK~_1-OTZRi zhs-*e#X8h9BkZfI4A+OVYDN;K?geUW`gZHWbx7GZNnQWzEPq}5_W<*`4*AdMuGT&O z**eX%|I}mfb3LC_&Yye|;u++#EV)dMp~Uf%D&LlpjK?kqZqwL!Vj1}oX*#0IgqHG| zg11Zfn~g-I0!k)u9?e#s;OdYR>z%U>b;GLX^YwVswGQnJMpgjd4~gR+u9U19`BEtquC$Qu%C8+ zy4n31M9SRK9x3}1%BVl_7{grqW*%c4HM_2Her}yf!F^a4#uzE8_)cac#!xGPv<^P` zeY)07tx&F2NbRFte)I3Q()aHjs$@J)sm5#?8~6D>>-n<)fE9dY~?nwq|8$=aQra-@(lI{A=!QWQwnd|u<_TL;VP&MkTLf#yKn2Tzu`>*6>@Y9CJi-_F=OaPq!0hW_nuA10wmfQBUu_b|+QOUa_qMpWIwpd|R!4-q76# zwhx^4;jTlMq{>tG6%l!*U1$ zs&}u^R#E&q&FJO(aGl23(C$a}xV}ysG0f*H5y9Mh*-He%Z__=eET$k|g>Rm1v zx^(GR@%eSpW)}tyx$KVkIq7~V=_t|ia&aWCvxi8>GV!ZX!}1s3?3tBcvHkD`8xk#c z`p7S19}RlViD(SQ9C?mUl{UT5KKSl!fH5RV@*O5p8?zR^U58ggk-7BUP%!?5*6x)~mJK(T( zvy3Ag&A1M0{Zy`J1k^Q{e_QXJeytm=AGclTUk(K^*hf8MVf5#I2ONAjnCfSZN+gGN z?kjkzao9_CMAJP+ALa9nm5=9fujJ?s)hFtn zc+u&D)Hf*oC8w%!;*XxJ&m)JbXNGK^WVnA!Q1dOHrudT4B+Hw3%AM+&l*skl#`$7D zpaXq|9|HQ|B;oL%ex7a3lN&}H|+S@x{_Cn0L(Y(ze!My#Fny~VNK`=#|x-WYTqWTMv2Z zwc-zlk9a*)-pzM+&jaImMNh0-|HU*-2R_i9Fm1Qt8xGZU%=_kshmN~!_inxq#GjG3 zYTV()msKr0V5ZP95BU=&>h>XT?fYX}K{u#jA(lN%Y#Grd$d&3G4IY5+YcB!Hm=hE z^w%1CtmtpYIC-Ew^ppek>U(!wSBkFp19c}_`ctv!PLKTkSWABat-q%RSo%|WMNbSJ z4E>q@26TV@TUh;7@@l6(x~0|MV%^`xhgtnqdEHm-dl>rr*%n)r0ML(%{6nW6C4R*` z^y8v8=NG}R?)ugH0RZUkz2er_;4jPr-GUXb{|Wwb!Px^#mK;1=(e2)&WZ?qw7v_QP zc3<7K1I1sOzZ_ID{kM;(zBP@0Ve4k`mwp!&mRzy%CYATpXItF$ne?~cpdXh2pqJln zciPX}#1E#Q_hkTpygy!W{zveatG4J<0)So~+2^KNCkh?&Q18CGoHH5i8~*PhB`*y9 zqtf51$)&+9#b1~Qy4q0>9J*HgrQjbwDrxBZyv(id1zwq0))V?0^`~AXzuNp+mDlj$ z(i@<^-`2ku0D!JnpKHd!Uk;kt762e`>Meiz1N`Np_ihW^a{Dn#&l`_EZT!&TP9Eyr z;-IZZHLvLAgYKX&==u1CbGyS|m=X9f~0^0o~^tZdwF?VII@n%d6#>!>n|So9lMiz8Kv!|x zg^$2rPQGq#U@MtpPFS{k;GXcAoBwr`&bv$I81(nt1FyO3&hfeq(tUI8=&xVfN#~Jn z)WhH00Dr-OH4}QV`++=^{p($y@3r&94^}TyYb)sPnE2SVSzkJNpnI$M%@OCx)3|lr zqs33i90OhbzgFty z#aCwDb-U=V`k_Uw)XP6t7M8B~!pVcY$9}ov$P;vbpJqS4To>=})9lB9^}4^GZn4E0 z0p$nlZn?;h`Gt9qchQ>{y$OH0^H=Y;3aEKw>c0100e@j0==R-Z!3y}x)d$aRJ>QIv zHFdl9!2H5I&|Oh^yAS?S`rAiZ&o<-Z(2tr%V}4n<@ut=t%=q|h!c(7Ne(5{t$7=+X z4_$NlZ@0tzGVQ!CTLskoa^}{5ya4{PXp25;1eCvo7C*8N<`?Fn-UTc6-39H74*g?m zi5YJk^=F^EQ zh6XXeFb~o$eDKagF~3M(*GQjLn+LAc^QrW8jr3XNUAB#$Pxm|Hm^I)-KQ>#v(=+fF z<{=+54E#lWehtn*7n=R~2KWo}kUwD}W*D7^IRK8rMurXZn&+VTp{wQ|znYZrJ&G+%H;{!+csZe=yhW}{hx;?x3KsR#b z^pff~`Uk#@?Qll_J-YeMoxe+fd6V|L@w7w5MxfhxNkz%_{cbJZ7;9bd`H!7Ev`-@F z$qQuOJ#hUI0n**Q>$hi2>h9!$>bip0r|h{(#=?mcTG_t6pZd7sSZT{HH}2BPdN;iK z*lBx6y@NL%(MowYzPsg_&xt(dLEb6vygFrXk+=NW=%d@mjwt!vutnm(2j05-q;9^N z0iy%VD?Q;?>!yf(uiSrhEAwu@@0oR{O5Uu$UGUgudrU4F+qh78=ZxP>)}DeBdIXqP zR&?mN@G0GVOY3^HGVkg)4<1)8dAvU2eJ5TY;aW4Fhd<%IAleb!O0JJg{;^Uyu9JI7 zDz{tZC{z&%&gD+0`m0yiy;Qk=TdGi9`{}k9`mhf`dR!Bd2Fy5zOvolZ%GEBKc#C`QHdOd zKIH4$yM-!G(-f+$FY2*r*apxP2(bO6FOr;nO#T2#_f>eI5BWGpEy&X}g{p0&K{@+{wu1-s zpw;a!^zA43{>Ya61LQBxfg|rggCj*5^3hJ_BTu(e%dz`Knb7xO0q`OnWblEK9%SLn zM>|nQdeWf00NEl3dDQ>Gg8vNJl8?6F960i*f5@}*S=S+wf2aT`p&Oh7M;`Twx=4d^ zwrz;uhY5fldcZkwC2UqDY9l+zZ-qyEPVexd;6 zqb)cGjy&ogb=mo>Yn5?B30PhU>Tc+?r-*icFj=GSiX$n=_NP}|r z3vHh+0D92s_80of1rH-z@+;&o&VeIurooY-4Ebm$^O2|9spZ)HqD<&}mH>E>o@Ve$ zNvkZJ`DiD~NKYD+(-z31{;LI_EdYA71?Rw#NBu*dozJ>zB)?Vw^wZ@p&VeJ3`b1r% zK{?x2C-~0=Ko33O960i*ALQBflDGqTUOvyh> z0K8|*-vtUU^dTSTs0(?TrckwwG$?1k(01^E9<;jsg}!FN&k;cWx$?IesNl#u&)`T= zhJ3V>`N-4l)N<^8Q6}_#kpOs+UTE<1CB4AHnU8j&jP#^IIcOUg*#R8y5TW}5> zdDK7T+4-#N63PFC0O+9`oC8N5^@+MjgL1a*Qo%1106p}8bKuCMevoI^OZv+tf1v>A zuaLi28XS4VL4z{beUbdV%HWG7y;|XgDj(;NgFH=B=tCamLk{>M2lzD#*Y#d&aO4qR zBKT614?dhjKJq9Zd6a|p-Y5VX$QWyI)IZSR<0Pe=QG(mNC5C31q}N&a^#;E|QpyK@ zlSPAb^b2{U2QB3wEfHYb$O}H|7VRZ3+Av%IGI4$Vu3+4E$92B^Pr5fR+3{oINuxt` z@w3bkf5P)ZJBf(i9f%ooOl?iU(V?>N{wIa&8^iNDAWd4t=ag88e&b?_?U*P9Yoz1N zJ-P)-?tJbD&;c*Htz{_i9S`|O@%cYJCyu}S%!VTs&FxnoaoU!#V&Z4_`lrHui&qS7 zws6us|Lodg%D?~Rw_Nyhe>h(8J}WfDn??Q(H|p>D0>5wJgNo*niN_VMvT)KYFF&%F zZMacz*1Pe{tpC;`kqzeG_kkjgw~Tw18x%i!% zi{BlpziHS1;s@e=0gbQd?@EWi5Sm?n@z*&0Zyz~F;o~2@|i>*lm-(bB{fBNg~Vy##xZ4&JMePsU`*LK#}{Zg?(Fepk0X10+2hXkfA~E8-1dKrBaRE(|7}0F{ofuJ zwm$=>|JeR)`?>9(@X5FzTK?(sTgyLfKeYYR_FLOOZ9jys(m!p#wfz%%w*8R)ndrCl zJ@}-J(?21Herx-u?T5C1+J5WJ|K9v>k0WpX_vU|Z{?{?grZE4H+F^8{e`H($@jUQP zyX)@&u3vdXV9CT8Du2%lN&oUCy824fQ7jJ^L?@&AU4{#M+#sZ_NM_`a`IDg6Gc z-f-cok1JF8-?jMv(`gd}iw90tZTsxl$$|fqy?xjM_;n}DQuvzJPYMiua<;-VjsLHG zWqRP_&yQ2Qdmb}6j-%eqzByFogQmB^^F9AxHfd(ypbK?hK5U#3SbblGYD4kIW%0g) z=H;0aRlXfx*>RK|U)gb&9bYBJQH-zPw|3mcm)R*vcQ`>qTiE04yAc1s^5VXM;8Q25Hovl9aNwVdw66l6vU5o13k~s1r?x>^}9Cz+t|0y+A-(%Q z-u-{?{=aws-@dhGrq5q5cf8z3g6!%+kn7VEP zeqm7G=lT4)H;Q*UPUEZh{Nv_1fZZD&zMY>i<(2 zIQPW;75&*wvjSIMJ1~y(9))j3&p=?B{@u4j4(J`&;%$8oWY?PA16x`6P(uUyS%FDP z&deUWy6|o9*Y|utL%jIy(*ph8*j&+1m{A$W#|wViM}Jn=m7w8ufLU+nWp@xwE>h~xJf8tCD|*K}Wi*Yq*J zhaxsT#KPy^HdOI`wqIdj@;O0O7x24U?^O7{zwZ+`%;5V8e#yA$DqlSpv4cDpVZQ5f zyx4Y)JQwjJNdbH|#4k9W*Z7IRHUd2adJ3SNw8;Ch0BDio9A)4EZ7&0oD7>4bfXxL! zOFluBT<{>jpTJfE+Y4+du%iHFfo3xS9B2z=A`d)}T_CWXz^($@3hX8TKC}z%Lw|rn zHt0bES?B`}@Iu}e0%+sb0yvNdIiLq0>O&srLEA?FIurFO*=Rp#`U;?(r~?O|g#kVI z`U{}nkO?}RBOiR=hdywieUJftpzWv!^+6umg#Mx}y9l6QkOO+~K|bg}kG2dHK-=~cK${N~KpzVQpo@J3(5Jlw zK#zQs?=67*Jq2t#50G=vfgbrN2OZ=<-o66R7XWg8CIDR=Bmf;AEC4#lx9xU-oTHs+ zFXW>h@T0wG_x=L3tDx%Hd+2Vk0OUeG>KP;eoq!khpgxp?4)nm$HnbB5?G8TRXfJq+ z1YnOt1)$SI1YnyX0?`ez-|-j{Fe<1p=6$(8eQ7dZeW2%TWT5 zM?RE8F6@N-aRSiU2?DUqcmc?PyaIud0`SeD0+0u};5}9VJ~deYwmd}ueLq#8KmhGR z`_LcsD<}Z^Q39xcm;mIC7J$5C1fU1#1No@8KmhdMLw%qFJ$!PE0Bku{0PRNm(T@`a z&`z`$awZ6X4)oxgD1d%LFQCIY^1%mw=mUIcAKD3hKtAe$9LPgI(O>j?k^p?-Bmvm= zWC8R8{Xu)756~kYREALs*mnJNH&$bmfQ6ZuCAKo01^2l=1_{UCwU1b!w^A#kuj zl>o+ANC0D|Okl7;sQ~DakMijP$e$*#n?OLIK%iUzbf8B*%0UM?kQWw!zF>dIsTF{4 z&l12GsSyC(bb$f^+O1M>v=i-xeAEMev={B3DL}hI?=u8okJ$o{3;C$0T7Y&$J*W@m zpaVVZi1wkKkOMn`9(>?Odr>ds!yZ2uz}T%5z}T!8fc{}uw5ve?<)8yS?1*-vy|5qs z9(>?$6hJ@OUz{T!@*xNEAQ$#37C2o1?KxkdM4(waROHhfDi3L`_Lcs>s$fQUnnq6;7$Sf2!12;8cFe^ZA&DT*LhWa zs26fT4?fg~dM^?fFR(%YazGEhfs!tj^mYNX6YWL2FBcdo5D_>^V4(o|4ZVO4=g9ws z0Q3NTKtIp}^l^p&`na#i2d%tfuKJ1oqTh=Ijup5)K= z1APn=xK;rCkOO(B3;E3gB?6!aALN4$^kW2W6F5;|xxiR~TLqxc>jXv%+#qm*0CWO+ z+T+s-%2Ip{!-e3XL@av<*}0q6_%haA`s`iC80j}`&YLB4IbTjU(=M0+70 z^`I{Yh#t|G;gUl3P)SkO2uY#$iv?hhO9Y_9BFTqtU=P%T`cUs30<(1F9q1nrI91>glj0otj|xl@cu?RJ zfqPAQpQI-XJSG5n^8%0qd62tW;3R?j1t1S{rwKeIP%7}U zz)XRc1S$kJ2!IdmLi^Ak^y^6h(613d{SOO3?k@!(?+F3u0s25b>V=#&0^mb^paXqK zV6DJ(foBBJZnPi$cvb-IM0+78DllCD^x%6z0Q!JlK!haAX*K9T>p0OWuk ze2@=1(4QvoM}gS_zZ0ky_=7;D!0Q540&fb;5_nYr^vFl~YXZpsjeu?Ex8xjjphrH+ zK?gaI_gewz3-*VczX;R_ydzL6@Mi(gLB4Ibx8)q|M0+70^?)DkMZ145K)XWkZwSC1 ze-eOP$VWZz3QQM(9Z?VJLpkU`|AGM8hj!X_e^<`IkM^Qo$cH`tCQv8vSAm}k{9OS0 zhh5RGe+Zx)bfAYF(N44%_Jf^34?gg>380_sFV2w<`H%y7kPCaw5%^F5?b#?WPvCQb z`2t@FP>(1F9q2z0m@DwHNpX(+PXrnT{!gGu;GZUaPtpc~&jcWkd?<%p*a`W*Zh9^J zkDzDcRL&s>@*ww9fqH@W1t1S{PZ#)7;0yu3(4Qyik0m`<(w|5QKC}z%Lx0e(F9bmU zwE*h>NC0xb5rDjZ2|y3f2l7!b0%r<*D}Z*R{R;$Q0%#}N3pw4T zJ)i?U_evYJ&19{LV@;?`V9MCsQ3i;Bh&ut$GMAs6yd4?aakJEA?P z59OevUC}oH#UdV?%c9rx}N#&C_D%LBIlzxnM?PkhBN54ip(O%e(ehIdHy^xRVff7j}2lC_xQ&h}YBI$KQ@BPE4A@PU80q{AgWN1#Li^+68gp}wOeMY~`x=yimos2}oC584a4 zHw!=x=)s5fq8`-8_XPP}V!kK1qm*}a#NXTNh^T`yerKE{0|e>KlRTvU?YC9m*`{dp zyTmVJ$9(VnI4QW#6!uhUcOO#XLK?@>PUdfI;e9N;pM~#i;RP1Hr-c_;_xA5f_ew&52Soqx*exHRuWZ|nV{7DO6W8u$Oc+|qzTlgy$ z{+flqW#MmI_`4SVR|{{m@DD8fV+;S>!Z%v@zb)J+b3#u!$Bsi!3&$G6e5}XBv4#=H zdO{p)EOD%l#IZ&Z$Gk-xYYK79_r$R#5XXE*9CI^q%y+~w#}dcn;2h3xCbR-?H$xE&N>z|EqmS~ zV&Nk#JZRygEPSkmPq6Sw7Cyzor(1Zrg;!d5wT0JNc%y~Sv+y%5yxGFfxA2ICUuxl3 zSomTKUt;0cTljJdzs`IcDy0(<@3PP!S~q*PCmh> zu3sX5(!a;>pz&!$3h5jtpKx+*eRX*{q#4ufy=BHMDH-a^#ttR;;=eD|94K&cEH9C} zufud!fuzj=SFt*QwdKCeZTfe|{J{s+?<}cI>ksA&tWhk#T5!#25p{r$nJ~UGR35G` z7*kswZmbW7JD^Qbq(h`6g@sw@HFDm;>i3*|K+MDbEi!(@O)VfWA*?YOHH& z%yhIV`U1_%x-v;eh}YuY*SA~A{p}U~0|fslW3MsE{XdgBH0?DbZvp)7Ws$)5 z?|{7#%ThmA(%uPr@(;fAph=d!$2Zki$k&px?r^UBthk5lWOtK)k-a8e^0l-No;SX> zY*x5Ydm`zwPemc$;Un36lTLHvb~kpW-N{RT@CV#>KdH95X?FHz_vOmZ_Vw_UY|?h8 z9x_ei^SfEMIKNX4=Y9Wi?)kl-Wpcv&K0H)5Yi50IQ%y#}RCZi!9iA_g@9fKIEOCBc zZ07fCOnRd`btI&VA)fjH&F@A(9Or(cCu$>7;vVNCYO8CpXO!)cD?jV)&T+nb;{2Xl z4Q=t?!~Jg0@6b}Xwhtxx+DeOK(m>6H;o_?~C!0WQ$ z;JgpfSMX%=5X<9Vy2q&Ta_u6O`2V$hGUESF1W%t^_T9&is;UW(Z=7G9Lr|Ndu|-+j zw{VNXI4mhK{Rwn0(tX2u4@HRUPU|Sy`RL88Q=p*L{K@VOX<{Q^pM1~%zV-AT>OKrp z_#GB0p8q+8e~b^!uB)!9nVD_(dnv|d^;@}G2I5C~u2TL^7X|zOqVHE8E_s>gd-Sl8 zwT%r0vRu~A>S_<&Crkf)Y5k}GLEm$PZxM9w<*($)vxDo`7pt61I;|L7f0V3_6c_Dg z{XV?Z1-ma15zNP2)_D^W#|ZmmrH&BYCRZ~PPspbp`89=6JWkW@pr7z}hBNn*(V@n0 zeO0Kso#>o124vwU=p%guspB8i2~u^aGWtn3qa6QnrKOn9c|`8e_pf=b)3^+Gb}|LK zDfF4p!B5nEZ&TlQ>Av^AS?E1q_q~7Q3(0-Xe-HDI(RT5l{p?iOCt~hr%Rb09sEGu_cs0GeG&GPQv4Ghb=?Q`?VtR4zd!ydB1%4&~9LL92{Bxb;y=n4wX-9uy?{~#P{YF2$uJOOOPU(xh zkxB0Bnq2Q&=gQA^b^U#B=(Nt#Up_}Kdy##bY`#fHTHNl&&T+e&@j-v^pX|1KuJ^5T zY)lgS08(p)*HCf$E%9Wq(>*iY{ zGkiCnzhB~gu9L!LjoI9)h22MvXxaXUf1j(LD3SeKD$`o(nN8mhRdIlcZx{#A4)OSB zoI4I!eo?#qk%sb$vGr9oWmR?6;k5Ti9FBtF<3}FNYST`!Kk`eVZnr;D@{NfDW~=8v z{HMFqv@3`ca(@JCM*jA{yQ?p6#48m9^`0(uKDf?_1E$D1kL6NsuVc(lp2p_|qaV%- z{^43* z(2OVJH<58}{}|siqal|^By#1af5`nqnGs~&_(|frq4r1Q7q2p1Jm4RDjEHU`{=t57 ze?+#Ot;5?76TUHWv7T=|`P^5GxX43F%*Y4`{GY5RwxTPqGR{t)+%&y9a@9vS0a zUq*);L)Fz)Wsa=Ouw40_+VbHa6Nb0M{iB;x)ei{c{K0;9>L11*;{NeuKfS&fzln@; z`^WgYa9LAzDCGqFtwM{cCYr+kgUf-PmViS>p3wEe@;tu=obe~9}>i}4RLk3>#O=^q8-Y8yk1 zRkbya+|Dt}KeFO?YRJd>Qoc62*{0zi>}RL`Vf-QPAFGUia2~04`^Wgoa5y7}a15%j zT=^Yw`S6b$*ZMc#H2j18?9@MuKg9jxuOYp@7{7_kPU0Wg2B%_N z_y_x$;2-U;UyMJ*{o@1UADl;O-TpD6IvlDm%l=KFT>10sA788uZX*7{ekS;bQLhz$ z7=MWS$7>aO{xE(MsY~G>5J+eG|>{j~jK;o5&4sr765hw+EF ze+-dTei5vAjgNSD0_iT%04b&=kiM*P8k(m$ZrWlJA3>&xjQ z&b{K0`tL)@yJ^km zTkoU&aMzt7qC~!jo$~uo<~_>zdy{am2zYQ>J`0b?VgE`0?XoC!Tm>?AT+EjU9dT(Xl`v5IgkHL*FSZEWD{tpFU%| zsu8>FvP;SI>C-nfH8sT=8X97?wY9P8>gw3cnKNT($D~P7U0tlIswy^P#*Emhr=F_XKwS(UK0JoDh~3`t`~3y!+N80uvGt~# zZi+2mzC3o_b=Sp~E?pYC=9+6_Xb;+gc0e!C$Gmy-lwD@eo*gSMFOTcu_~Va{1%ttu z=ukmPNy$fBY_Y|_&e|Y)-mqfDirDS9-yTDH^UXJ_c3gk`_3?I~4VPVZS?q!fE{IVN z@C~#9eo!XJsemHjj{rAW2yYD{L4!aGv+;U6oh8u2(w_)MJ zg|SO6xkUK`{1W~kwo`3@9%S6aPCohM*qAY6)YyP706XlkL%Z=Qe$~2q_39Ym!3Q6V zJ@CK-u~n;9DP6R*v?zPrdh4yK4NI0RQND>bz$ec=_uRNGFg9k*nx*_<+O%o02@@v7 z;18%9K2cOuw9wXp%w1bce?NNq>8E2)J@r)Vi6@>=?SL+lwE;c>J)jMX7A;c#$TpmH z)>*N+bLYCo#pKD8V`ImTRdz5w`BAT4z2bA_z<~oxe)-E^#@4P~8$*hAJo)64stpf4 z^pLX0z4zX${Nc_!?^OQ4v4L@6`vUZUHozBb9ZZ}!F@|x8`r!}#`}dzt9f;pGKl|*n zv1gunCbn+fI@ONW)>c;==nwEuj0^e##wO+n`U1u!#zdkHPC4b2xG$pq0}eRgCe|;y zyZ8C$pN|2ad+s^a4(MUcnl;K6k3RZn4E_KeU~E7K7@x2M#susD9iR=EE6+RcJT*sR zOk%Fa9BI!@s9)9!xenEb@VEZzSHFtA_~MJP7hZTlwFA098xr+^Hb4g$m+-|KZ@f{> z3mB7_7cd^E1I$e|H8rt{ii#L~0BhE$QKOXpk390o4Xj`Ex#8uPUyh*-0JH&mfGyAl z_~he{KOVFF5#y3}z?^XHwb!co@$$^98DnEn`LZOhF6EO}G^)EJT{q?VZ9ed@KS7IAB zY>2I2zusjB_yO7g9X#^LBXM7#4mcK|1NZ^f2h7bJ2e1LwC(K2h4+jhw5T66YUvB!% zZ+;U4pbam*^pf(0Xf&#P(bfTck#i(;fO&~?5_G`%fIfh6VAl`*V;t_a*Iv!EzpRmC zUwiGf*sHI;8iO8e9l#G@2j~EP@YrLI#dUzW5n}; zZW&(-WnJ7_eD0&yUw>Wc0QK8CNc2O@(U_MoC%^_6i<}QIA3+Bg2Uwp`Kl%^*a~_88 z+w&jvAojWm^+N}+0eul;0sZG##M}%W*fxL;?6HXX2tI&$0P7;^#~gt1mpJ#(1`?}` z6?=aKJJ>ehSipP$8(>~e^h5Xn)@aTJtRHhR>c@J7wQ$_HafkyxVx5Vp=amaDN{$oC-{W%Yze)u2s zk99B{4#$d%i(5O2y{H4Ed+)vXK=JQ)>@i^bAp4IsiT$VjxfUTFKuiSRlkvU**GzUD zo#DNE_ug9ia4+Vd#I*opfNLVxL(G9#3o-sM2SfMh`+)}@*qk`lI;-0*A3AjCSeaAB z?Aq>jY=k(GYa!~#{EIaZbC1}&RpPvi`fS&mh)X|8B(Atu#?}Vt9d*O+u?E5KrOzKp ze>ccDZpJlRB7aw%BUS_y6ch}UHKash$&#IS-gzKE{3{;QrCZ;zqvaQSekAt=)(6%7 zyaR+Wllub4jvg1T!S7v-3pX@XXZ2~Ylug|)i|>A>6y_Cp8t^pWX&_G;Xc=3qerGQ_ zb))m$RKHKY+LrR?{L*U4TlV*!Axa?m{ER(t?t`Z#xL`c|`Jf-(vrSayiZV_-Bu-S>udo-y}KX{h|Saqy7F9_5C9f zj<2q5EI5c~*{7_J@>yS{sgLbY^$p6t9&)li%4dC1Qy<%*>Kjb1>{Hf9`K+(yuZNthkMdbx(KvJe&-7E(_cL;3pRzv6kJmR%-)CeyRDFkJUk^Fs^%?oB zkM}j%4prZwGyuM{l6w^VHkhorC`jk z(MRpQozFL*COogvH=wRQJjXYnJk%KS4XCK9Z;-6&ko=wJo9{c_H*a=Tjr#1j+f32SIw*xN#)^&vihnz^%<}Fnowy&(~QRXbzxs= zU8o$?Gvs$QKvfZvUA59seSK)Y&vjN>E#G@W&8WDcwxY2VCmKOcW4JEPFeg;q6!uAf z%Bs}+_i?$pU_f21e6%uL@59g7*ZCw9FvzDG#D-N=hi3X}LbJoC9)gaA=E!fkDBYkP zjq*jZY9Ires!COEZC$utf26EY_|U6?rw*Fx8zADU8pE?o>%$dcc~P@0Tnd>^es!&= zOy{*Ht&*Ka>6#ItNp;=;=&&v%zr!7`xIybuDph6jz2{QZp#kx#MI)eYtO_?s1LXG~ zLNlc$^-VR6RcKO8cy3j>*t}|nZ$PM_A>62Yrgd=0RG<7-K~-68O{oxxW<%9wCMj)_ znrcg%YRYR%>zW!WnH{PS9b4HA@-;~L8bWDP6RNS>QadMHUtd)oE|t3LL-q5018VE5 zW}>12b@NNBY8o0tqB+$x6pK@ZW;q)5fv%!TeryM>tD1Yzz(Ha(Z}2E zA+Z9SJybR;Tn-AKn5RxEfvTk)Xrjs%wcDqrX{8iu1Twp-Tp97yLqt(?Vfjk@ffFGu ztHkRu<)u)xbY^y)@(s~qqe5oZH8si*Y^o2d)7lxn8Di{N%6y@6`AkuH*z{}A5b>!Q zbpqkj8!;5>%NpU0Nalp<6^EQk!yA27b+tZ`S|6(Oi4V>WHO%rgR71;Z;Al)nPFYhu zM!D3RW6zrcZ5_hH8j?rI#`4$yz2C@?zV3LY8y~dUppJpL5%S<$XBNP zR4S4;jo=J5;t~~jkFn7VII;NvJ-o_lXV<|alm!}mpcS8&UP(tA!qwI2V3|*_GT&?^ zwE@*Pgu}CZ6}4qe4W;E(#_1|#pwuB#hN+DBnKI-W!Zi)@%UkvQETJ0szM7`lr8BBS zGST@eWzH*=$+5bsalTJYH6l|!rtC2PkvKG%s8N|x~fik3B0zVLPj&Jrsii~NWB}}P%A1>8bp6E38k;wA_X2?u5Tc*ke@>f)8 zhdcF9(WuOE;aXpO5^X38i(6LI%Oqb@uTyE2GJvl^vVCRq%c^BaRmLic~)5A}RJ&hvvhWp_;1M@#&0HnM`Cd#1x}iFH1Es#)_5c7#}rgLTCk+Xpo>A zc2eY};=nURUUg_jxLS?j0cD}GO7ReDdKwH1f&(p*5mhh4Ks7^&GI%LYL{3AaOwwqh zlc5x&v@6peYI?+}u0RmwhpMcswz{?+B0~*z^YCZBPh~Yo72#4DKaKJ$;SGB1l&aAQ z)1kfwabPtG$!{vjj3|@5j8VOw0Bz7jSaIPhgUd-SQ-0b1GxqM#ktA7qrq@h!w|UMA zBdjp1QCOh~sWP*BrdpePRwcW#Dw)W7^z_*iL;wL~bOMNIypa;c5h;$?;)oPST#@34 z6e&_1k>Y;;|6enA2T*mk@)W}Cnz^~TJ?`7CZNTAMcCP=Pu8zQfj9BP)ZOI+#4VPCT z!}{d2%^%qe{Jr(xPkMN(E6kT?P~Qc)^e@?<40m{Qc>aec%(`ZuU-t9><94t)30}$f zs^;hVcXps(7{T_8*-XD~?_{Ym+HKWIvZ7o_(lu4% zfE}-2Fv11H?*^-y(7y6P>Pqb&U!J(X2T*7MKCVwcw%-E5F&=#oj9pf3AD!)8f#?N1 zULU$m4YBep2Y2aky*l>STwH@?RC4}d?_hJS)Th#quSOaIkK?2mDol9>whnt}5uhf9C|Yv%gtNnyK*+t5a?I%}~1Ke;@nr6aW3S{+_IEkWN5SJbI#pRyw%weqwkvq7+xms4WTl4Xg0o%0 zNS~Q_p6t_vhe$FK7ug$ob^ zGn}M$M^D|3$xoGp;L)-3%hN*O%pBum-11@Xcw?D(d$s^9p3c4g8_mrA9&1m6z}}4) zR|nAR&8g(0R^yOrJ+tq{t8Kzt>cPtR!&}LD`qi=*(2tMCJO^urSo`Q|1FD6|Bq_Y_ z1hbGfcS7tWlOt1@eMaCp7jKKeu=%)JoEyPnUK@UxKkpEPec{PKlxRD zDJ&#ou|gU_56v|1eMHG+leq6^p_B400&onZv|gRFY9{lpN_4~e00nlxcy>ms77 z8J=Nhb%3fzV(qZw8tMmHrOgGSV63XmehQj^V`L^iNNd6hzh3j1+UmtgE16G^0?y*~ z&T{VpE-W1R)k;`YSaA>bVkjNkheyMQ$HU>H;gG*i5JK6y@Yd!G(RK`AAq3J($(4LR zL$`NH2hdC$z^{5j%}CIy+Gj46eWW4O>Oq>>o?e_^`tKEeJ!cQ+=L)e4F8?w=SC+Xi z{TF@W$5W8*W&K`B(zt**W(KwzO@!5!Lq~!R=w^VLoDSE+2L$RfG*KGVq?W5ISYqZ# zGH6olq|Irl`i}Gjs72to7BI(b_aMB_{{Y8ewkz8u$@7!VMv^=+kdF8Fw&%q|NLvIy zIM9qgkhwXa8n1bzKacCPCDzoZJIT^Ky&U*!y^FM2hsT?1c9Jd-mmu#wiV%|S8RV~6 z)DVP-2_L}5YcYmiePB@zp&{1{aaga*V<}=Tk3U4SdV_>|%l~>Ry+x~mT+C`FAwtcc z#kEFPA_#vpqKDw^;c)L{eS8~H@5+!J|1j$QUDxlD#KlqzdAUI}+V_vzf=}B>lj2{# z4FvT_-^lOd`h6sMB+^OXJ+IaESd-%qWE}U9iKU11d@fd2N<|U86S4IgjfOr(+}u8! zP~u~%>F+{%DwIt6yl5_^d_7oSE%rfkJ6_Dvr51$EcY#8O7#!=bb9N*$NtMe zyKR2`Vt%X3q}*qI-RUkroHs(z)v{xESbvhTQ$j|h9MzpSwCIHf%@iPWT~iKS%gxM2 zblw8O#%C+9qN~jfXrqwu1hRL4bdI71QdTvyQ*Te8KIp0SYUu{f!>5vz%JB}c%otgM zj~Vx^^zN5epjhz_46BfBX!dYQ z1O<_IxI#kt^{_gyRvPn%sOxDB`3`z~Scs_a8LBmcFIrFOf}cr|A??CcCNNJo0#C`+_2J7m_*oDu$_Dn8*m3VGv;iTn>ErSGq`>g=Y$;@4 zm?LfY%4R!Ul&%8p4*gi4B9@^GQW{B^^p$sA@pOBLO8Sy8nW5z&oz`a2K?^=i($U#= zTqaNsl=UZ_{G-f0k?6f+YP^GdN2@GPlNm5RIYs9_S;GKnv4_42t%@wkLM5H}237W> z&)JOV_eYR4gcMp+$S*2onLbe|>j%Z$3f(#+R$qt`ia|nWd|qf{;fc$q)Hg6l>Y2wX zGfk3Vx8Th}Q%BSwt$B^{A}zJsp|}7v5NGB%gn*>JqABZu{IQy97=*)BzT6baDAM|7 zHo5RUOGP{e-?+NcerI>_iX#jMGJwWzwmvo1BCpN}d+Znw!&`tif|4P3qAu|D7azWL z$1S`utY_kkL3c1{Nk<j z@9HudRz5qsGW!sleHcdOM@h8?DY!jV6HZK@2A&R91;2x|2D9d%a$z;~HnzJc8Ee8X z4}EDb=f%G=`0(;{-&Dl<#PDurb22_7S0wrqmc*&XIUIy}f%RQ`)Jk!EH{V5IRu~h( zxR%PT=QB8{6|ncltS}-FBfGmmw1@kcoyxc==8=WZi)I=(r zO_4nlU$9=G6r&y?crXo&XmHQ@2PPD0dX7KOK;?H~MJ0rd#^mDasO9#Lg=|hYrzcp1 z4%tzSu9#7p!aMPGN!XYo1eFOTs0^Kn)&kTe`4i*C!Y~^`Csa?U8{EahWoL^dhiA&uqn*wEY7g?@pI{-71Y)gMm`poc?1@4g4F-j{KywgI@tQS+ z$bc*&{?MW%#{I=L3Sb6XiV7u>R!Uuy>_~T9YI=bd6>p7NsfU}r6TXLiC^pel<_xR@ z@<#suBl^i}*bDR>XIn%e=)=bjT<(38cL5t*DT#jmC<(P?GgRB=t-3V{Qo46L2l*ix z&*1Z6aw9f}6oKw40q?7RT0dCyDR$|W!KfvM&OlQT=Pou*H-&t-P`Cy7jW7?aKYIWb zo4T_v&d@B>uy=q1Md!8P$0s>UNh|_BAFAuz-IZ*h#0axRs69?0`S75KR}+pjISHv^ zP1BMdnlY&Dp)SjIK;u;V_)dDU*z>nfANb9xlX6`W)Yb6zH9+l@ecOt2ku`SssxVJ@x`7c4p3>RQC<^% zkll!uFun^REycKqx`-Y%K1Q8)TctD;URa=|(a)9nm(`i@VmNSdz+tl%=Xi#Av6Aro zw1NXn11=!p0+W8v%a$#a83M^-_B;q0!ZXU~=n!9pq?lS^VLxPxw^#;tY^B9L4%TKE zkfgb`0K+C~?6K9&m|q49#FX(eKWFQ5O!y0IcxX0DcI-ZRtcV&&v0ENq*nF*YcW>2G z$33;}DJRN)VDUo$sgY|>ug{MW3(ZcJ7oM>UERxj~8fEbebD#zmpjLTU=IXz-c{M!~ zbS5dlcmpOWXt?xvXi6|#$TvYhC1k>Nc0?GCm({|W*O=9qoI}YJ7d_jfb4KB8D8xg; z&*%}5g4C6)*X=nf`z;!gj6Stk`{<^6Hi{Wpz@kz?ek^x_=6z>9*5Y_0jYOk1nT71X zMjK@Ci18$b5%lbfrNr;9sFZ4V29udu1ggp14Y!GjDa2=x=ez@8x-Armscyh?X^^qL z#C~kXyyH3PhOco(w2Ih2XoUlmK=s(|AkSUe%Mv{>>1*o}5mitYqcy%B4laj-s{uWQ z95$n1!pp3Acj0X##q<|eeA~Ok%T~BI&L&c=ca*HRey+E|`H8=m9z&Zn>NgeCLX?dO ze=qF-?=ej9$WWrcZBJvp#=jNoUG}QI_~@dZP-~Uc!NgUZ zSyv5Cr0l)3N6I|bpC|ewbs6q?lKqf>WIr%1VI7I2+}1*_j6KqJq?tpY!OYLl%8OJ9 zSy?bOT(Qwkv;m_A`y34y#QID|q35B+=R*W^Q9pYFvmmWM!aIn4jO!O30c+H}9gKBa zd>x(?OwFNK6FIeF))b|b1;#@`ucWy=V5BtbmYb3gvULiU-oKD7;~(-*Arq~vr3ID) z9u93SwONkhkH2V?kg-=b!H9(wR! zEm|{%jM<2V_FBQMdr#X~8f2;M2Z!966++XL(O86XOr|fj9e`Hcvx@F;@$5@&*AJ^Gv`Yz<$3sg zsVTIdm3mz%`kPP2Bk)g2d6CpO=zDP=T1cSLIK|Bb5BMX#)vhjV$h~W5gWXOl{aB1d zrFmBzqWI)&YF8h@(I)LMf?+KE4g2}hotzSgK=Ox2w2EfRl5)hH&p5l!$&+tO0wIZGhkC!S`P--jFfw)l1L~AFTJ%o3oE$ zjJ6+c&)55KQ}T8ijy8LE*!guzrYaw+j241_nP>lsEy*{vx9u`3D)Ji-FF$>{wYvt6 z_h}PG$P1v?H+b(FN;0q^?}!8lsI*DnUhx)!3e!hA96%i|5p8VZLG*FH90 zSy9va`qbwWu+hO2NcY$AUdE%Vh&wxYjIm2A<`|^OuaglNDkCS?u+! zJ;=cK*3kE?tM}Z?=Fp>cr0&UYch?e!QZLz3(iH@vlpy||Z{xmpB=JOJ|89l4ZUxu5 z{(g0QQ@`?VSN;>);xk+R-i|!>a_MIER+6A5r9??yd6h&t{|$`RJ}$ZC67>3XeevFE zfAIeY!0%#G+pl)0?>9``H%q5AeLuG`eSdE4U>TMi02vnD(oLM(OXlUIrMMQ zgL6ExhCSFQ7915E$!t%K)Ra-(MDFe;L5x{=R34->>XHf|29; zcdOf1@_T;?BEaMBx{b`i^|RZH)%n}i*{-nwMYRI1U(2F_SNc^w1VWWrao=LaBOP{e z7EhIf^#(4NBD|>&RvR%lS`bw-&mlfe%5?SyRS!-@Zlt8ABNT2Xmn`kYGFzArEe#Sf z4(g9aR}W9Nt0UP(qGHG6r(h~gTFvO??aguLsu&e<|$>%NJ=aMnR6DpSu5XO%#aFsLx;Cmj_D=VXj&Ha4Gim4A zxd*S<@+n%M7)os&!O^)K#t~ls=B(xupO+OHA~#!UJkFWg%HUH9t*p$^-U)7if80J! zeI>FgL_I2b*U#R}aF@7S&pSZ&%dGbkbo2806!RyKi#W?=hT(&2HZpW*BxH;$b;0@d z`qQTf6AdEYpP>|PIz3oYi5qWBX$4afoG8NutT}u|a!FW2{>Q6n14g*Q? zXz!Ah0Z~TGIXQ|(m`!kjI?`{C9z#?rgXxslO;VW>r`s}jM$W04J(D`Ae-Y%ZXxpy$ zOEJzygAegvRs-q+v;x71(h#a}ajBX4!{7c5Na^rMngCAm!3=UbsHe|Yf3o>B8$mhI z?J?)Rs@dOo^kgDhAL5M=`wa&(<^Vs;{N7BY-3zkwd=9jJ`+ai^jPu@LO%pGy1k)YnHX=VvP0fw^^3Y#P@1A z(MrY5`BDcmO0{o%?-vz8$FQOEc^McXS;OZqrliSL$H_~1Y(YxX@EPU-AgzOg=02WglP?~`c8JaRJ4_$i4}taQ+d zY(9-(ik053nv^YvQqdxPV8#Fe)AlkvAKXh^h*9B~BGzc}d7#$ji%~LFqkx?rbC7@s zQ4RTdEe>>gsFosvwf75G!8k(zl{!By&qKV2>+E$TF%PnfbsoV7J=D4Jpmb}`c+U#_ zyRJ3T!8P&Gt^(|PnPDX4rw7d$MQ2$rPa&*w;XpsB5#b~?F6??|R3ok> zTF`Bq4zGbMF~q0-&ZsuDK4O@ljHBT3sb;rmN!sn)-Jg!Q0nmD+5*ajjE8>I=telfM z_YefR)S$J}8BiTHb0+S$uP9WNQ?oVE8h6;%qbPxTPH!1A zyr&~;cVLp6l{NgNy)A>bn(1k3N*qSx475^$v3Y7JlrrvbtHFrD71WA2)SOgC!DL0p zRZ!i|b^Tsmm9|+9_XQ&*OeN<*KOeNKR0${Ax!%ayvD8%5Ou_kgZ`p>#?|K z#wN=^#{V2d2BepO)q>Ql2TLBHVh`5K zd7swaoel-v-T{I{;268{6^#&h$|SiwI^+Dwgvb!wByj>c{K=<8aiQ18^`S9yFXqm{ z8e;m69bwT)UrJfDY&uo|o&iePpq~`FeW{#8Qw%6pL%sUbCA@RI3c?XxtS=D$AlO+s zN*T0>%jQ@z0pJz%K~~A)e9R2^Ofamm^yT7rQ64%r0zJfe4-9z@&)aeC6o{gUW5l8A zQ+PxD;>YdGw6|Bf#04q6L%Omfg4iHGvovi0l5+;2{mZ3Y0Kfpv{|PAb)a+050#1*K z*^|CvbPM4DA0@k8#8HfVB2WY8wu^{UvTsQMgu+h%qVJQeWa=Q| z39x;~J&!*TMbI&#FASRe}s?*bp+)`$?a2JdV0R$9)%|z6jl=9t&af8$7^TJbnv-RvaR5%mjkJEkKu;9VI1{V%H;B+}Ii*#@* z@En{YJEO!@bSuhn1PYryD6wNipMLr^%D+Qo1R2w#3PBu6r( z>c9YtmJ&*&5GOm*|1D9?)d|9}^z3pu!sMWcm=80HlRc)PL(bai`{m+MelrwuYDZM* zZ}k@8P}m7r5m1vpvZrus5R&euuSN>}bzdmh4dSP?G^|g2Lhj_n4`2-&iN+`djHF{? zInFR!d05&jISX26(Y-BnKoi9l6sZT+0zGSFh82FPAToO{pv|zX-sc0eEm)eb)d%Yp z^W5k}01aX-w3^C|WqJ;s2R!uthV3_LYO}1S>+zmf%p7$5s;Z=T6v#|Q?C1}BM%~dgh!zHUhqYD zRp~FMDC$Hsxlf=L`RVA3Fi-oh=f*ERV@BMH__G#_$Dv{jP(>w#`*H2TlUO;E>1z=e zbCEV);?_;w)|cbF$FP*-8~r*h*e}GK!Bdpj=2SV3G)_bBWYL_0#x(35yt+iwuTkg_ zeaRePXOmuT?pWr+uyH+w698r(ujZ5(o1m%N|0p)IDIiO|Wfo9R1X1S+;^oM|;s-f8 z#_1Oj^2Y;SH35aMNO2*^5ra#q1(EB>KP?8Y@dXPkgnmaLW8Y@rNpsW6qE98>;UaD= zWq%Krp4-?lh*Qy$H6qdHp(sJ4-BcJg3amVYm!gYfZ^r(MPYw4st2%<`&DK_NyrR9$ z)#%tSaU_CP1O*?-6JOf0UBxB;bd-J}zs#NIsKp2f!|ZihVusV~eRHTOwnWsPhzJpJ zJ5pLJi5&7!NwM>8M<{gB9+?&}Xpljjd2FSVftP!16oioi^bsXdc4{`lS_4f2+UjI? zZ?-}0Xn41(m5@fhU4EK7l{FH3wc%;$tD95h);eNmuuJ+ z&VCTINx!b4gpQp=V+85HA*{gZ?Z9CfXY#A?E;a(YD^`xhp0-d&@U03{gQ6+t6ng|! z8In06pudVE#*bADA`haig)yKjIDW)fIbgSYTS2uo|H3*BRzjmpF zYuY=LzdzLb^vI^*f^d|(y+RVaYrE+xS6Y^lQ>3IQp%8iTMlSnl34_{uNLccgL8z2W z)y{)d1>BLn$BsS_)g~qym=U?yNC_i#Qt`lY)2Jk_BhjE=e86w}RE7ufz6q+)FajEn zUOXNck_;-p0rlvV2wfa^7(AD?Led$_rT*A#E-eq7a<(kz8hy)G;s&KyFyU%TOx(j` z8)3Z0+?2nty}{I8wVueIFdBy6LYNsoY?i;}Kq^Cn(m});Y{AC5o6jy57e}ECnl+Yk zU(0g^$W+Do%QjS1E;d|^I-X?+x3f&7Bw-AyN=b>2BDxK6^o_!FG1e&7iIxC*4ulj5 zb2)6QPy4k-%nq#RF85$BQN-Xd(PFAXItqf3hImGJ%XQ@g9AZFp6|<5O5s6G%S${VBT5Plov|Xcb^nY-%AUcFSIC0idhJB|qW@D-6K_ONgd;vF{<4bJc zED`p<8a_qat2B7*0*ylkJ=9J6^_pNu3L=EqYV|Xoa-3x0bWt`ZoChkkmXD=DoaW_; z5N|xJoj_!iRTB_F^oVSeq*wGAEDBze&}|jR1NA^ox!QiQWHBBD*pBOz;~xirQ%gD` zk4P%uO?rCC%G%)_U|R?iYn}H>;`ZoHl$2J{yG5M?Xfx3PJKB7wD714t6V$}vXsDgt z{529LBl-hI=}#%|y~>36;DCe)91IliH*@Om%!YD|OZ?FD2{;iQU9$S^lpy32&6`qE zxoIIj5>hS1=C>qm?1lsB{zt{jsoxMvdfSx6z>UON6r~L!DubsxztNWKJ>{>m{+@0WW$&tdKJt_0g{;x&5{>Z;Fh_N=Pet zu_I;^%Rw8rSac6-x8ip=*V+h#eLcRJ%)HcLzpa``?d0cmgyZ1P(e;iEjj(xLu}y?J zA1fB1)xzC{or+I3TV9p4*YykYj~7_d*GvYe=}0lN2WOih%>K=hl;yPir)EP1#!o|2_U=D$w|!A>bNmiF~+oXWAzq^+m`s$5)mOk zto6dACtWQ0(w@WB>wql#TBaJGb5zI_O9h%5yXfY1u=Vamj{(bCji#qLwerG0DOW zssa?Nf@rlILB*_EZ~3;{RCBUqg4k3ksqvjHU+z!KFdeE!8cQv_ssAuYtQtv0H4-; z*Zf^_zEH89FvjL8yJs?xj9hwpO{wgP9)eXLLunNtb8#uLL{*);YB?4er^H&$WvqoewFT);O@$x8Dw$;xYElI@te9=5ZLZP)2?f%W1$?Fw|KZFg_pzH1?Zd7(`jyZatO z5QqbTKU3$(!D!3@cxblKVJgK(&!)7&w7iKHs8$+i$zuH|7GVmE)4>#S0wz)z+bOIq zn#odYt=5YkDCzHepsaiy7?v8R)?9o0{FxA_>QPav@!7~RaQ3oJ==u@p1D?*R-XL~; zo&&IIPb%0`atauEf!4=`kEZDJ%jeGYj}WM*FiC|tlg1KB-$vCWJ$p%-Olir~l^JePL-sck zh9ony&T&N<2W^CvG|C%BSou56U?Tmf*VUD=qDh|LK7m=NpVvcPl*w@pjJ9bGYjWfq z+NDT=Sw3rb!wDOZ1w}EgQtP6W=uDPRSqYNU{7RXLbl5KCaH=qdH*?eRuF1Rg%SOYY zjAK44Meb=0QER;aR_51nC!r#-P0xI=qb`gDwlKs)AVH9iKFnc4Guu9u=Y@Q;D#-Q?WZRQ3i`0cmS+7KLE}{TqE$%GnWL6 zP@6wdJkGVeC9O5k8)UWqphRCnx}C|oyBTy80&4Az0BN#VdLuwO8ln}m#ZVHs6^=Z> z+=ma6JU(GKoFx$2T~Hf8pVd?&C?^(#XWi5BiCNy!A38*_I3^i6P?c|i8xRL-h}Lwg z*Y=!hC_OE+Q%|c{9zLa>z)z=kMib~K07uQzb5i)`B+fiHuRu_w)A}$!Q2BW!mGnkj zO<1Bs4pz&{h+KN5bMxoR52y4U)MLM-Z(RB-#`Y;6sO$e&- zl)7)}p0!--H`FtX=>?|23q&T)1>qS!Tu4a7OcPUP5@4qRUDOu&iD$8-U7jmxbrhT*JjwxQ;BlnFOY!6n zkFgw$GH^LOaHh?OwX(l$!Vb1ESe}^85P@-7u^v^3Cnw?Z66+r6kUv_QVre$;)*?=( znCAu|Akb6~yxGQHIY66Xe)=o*|w4 zs7MLdd&eK|C7UCN#m0)L`bX{pT2xw5{bOQ625__>+c43TSWXSX=<0Eg2JU#JlVvEj ziqm1Hg(Dl&?5z(fp%XwKx;on1zlGTMv%O}5We=6%7B~Yy+#OV>rFxUMO+Q6!qr*!C<#Hi z>1AwsX{mp^#?d-j1;?>cT>Bz6Po1}wxCZm0m#lEY2T?DclvzdAK}QxUeLYNsT9aip z$2(ccJrhriSY36gWb*Oz?3J|e@t~^bx3>hlBj`$HjZ=GW{pgFa$n2995+I}8P-$|( zm*G};A0nHcTq1Sc1pPG%q>2NpuhsEk$gb|QfV}#!?{KgrI27u24nTQ4u=2-+Ewj1y zz@eGPMEe+y;4(3=GY_4$pCV~RgA%ZIZVQT>wkL3cyzWVO>J zbr~W1doY1cakc3VN!$Ud5RLij6I1sN%kUPi00Vvr12U1xXQ`K|o z!`zrHyD+V#0Z^^qt$mL-3fNt#6V6f-H=*5eXMBV2pq;g0&WNx2!CwCGk2*85SY0x) z2Lv$f04}e>%uG@DGu1>sdLkSc^S!OwW0nAna`TncQfgLB=a>Y2TRZ2&Oo`Gt^%U$* zg6CU~XqRvF)e`6HlND_7K(Z)}7lbxRm5`j4@aeYER%jdPykOd_Xpwc2LzCUb(qCk) zA5xze1;2HHR}AU0o-x|xsH%lalaQR#WbyLcs+v$e>S(Wnd90({5O=u{68U|Zh>X4vmQB?C_b zblZ+;;p=i;IC=`AWiDysk1OwS&ez-&c>Wj6RL8o$0jt=Y62n{WsFFK(@Qvg-eR)H3tC0w9Se# z&nu4}_SA3Zq(uKRBo7w1xFAR}2x{$E*W`I^b%=#F@Pp-Ef@4W|CGa5kdl#mW>ruN( z8kRtz?TkOXr+rzszDUU3d)eREx#>_rGmqoiE*4wNzn!t*D-nWo-h+d!MB-#-ux?w0 zZI@C>!%oN%%?TJoY~vh##!n@#QszZq$K??RU#J58f)v^C9~x-EeYEz!tSWp3#-^y) zdL6C!f#divvO0euEm>DN<2{#y7IDYP9kW_hc!sc+w3~B?ghh!z6T9h(@4$nQYe;su zhoroCaJ3-@YB>ej>wznA@GX&EgXe`BZNBM(fWD_^{4{?s^E1Dg{P|0$0zDi+PjcIi zO!w67?){l^`0PXuuJ7?|>|+u-V9|0lcz>5IPbEJ@7nW6Tcv)(lhN;3wNCsLd!ez^t zDq)=x zZoz@?vg|$1p^XXb!u}FH!C4O1yw#C-8N2JTr*y`#1&qIGiCcNW>fUm#2;W~W=RQb5 zUhF>Dh@ef>A`$pjF?|aYhPOQYT2@FFnV1DRV!)lJ2c>h7B&rD&f7dqny}Ep!9iA1z z5~oSIf!B6W2N4}~e{ zD3$1P&jl_%?x&Y+zAJ!>I8xCam#3&X=fh*;)~EB8DF0Z(@E1w={;^y$wWF&`<*i&N z&xODgLkPCP!3lPBZ;;#2*U^H0PH+m8%b?Kzlaz|Qso1|bH0V0+foCDjM-H49@ryg+ znQB6}_*h=<>_)fRVn>QM3b{xZ@dd?#fppH^$Bj5@afBT4Ns0fJw2m`_TKW6ff9cff zPo@z$ch}mnI0>1DL)LOvUp7lz$2VJEeG*>cyVv_f5yF+2A?`WKfHaR_IiHJJ? z;0yl{TNT6|47H7`;^71O95KNgPW*~?&W@#vH(;Y||6ND=%!(0#=GZ|9*klojSozSq z??CptD*2;)T)p{1XW7^y@_+cvBh93_cX6=>a^TiJdxq+na>ElV9knSwPGd%1vxR2_ zFPS_Gtb#h1Yp}v48M8aDp;tUR=7I&18=sSfCz|i!UoGf(aS8pR zkwX9@mY4#?js7>jyCCP|>q;yQ{3PTLZj*!@x2yjmY2DA^X-SrC;JZC0pcw9|y8Tu0 z=;2(mn$q!`1t=}ilcYhwLMuEY45PSA>?m%6#*G1nn^Qsh%f`wr;W)-tR<}0cyH30# zeVJb9>0nulFCnBWAeCrjBG@0=B4G|lfcUX$Rz=ttH`P=>2$?G7!$8C)CY_m}N)VC~ z+E9;mAwByn(PFtYAz>>z$1`RZS5{~w?kjjvy~o9vug33_Kj=?Sbg`2TPnnm5QN{s7 z47YAyMqQGr;nCcdt!>+{%{CIR+h?+5+SGt>SODfVk7AxlsBEDKjf%8O3^Os`IC!sdVO1Gpd|la1*`Rr~Kec=7$w&$WP)ZdVKuIf4MeL8|L-t zk1g^0B)+}8C=jXN>$=z#H=XkLaj5@m=!^Tu#K5F0NyUO8sWu=Zqfbm-;Lfa$#JWM( z{pDh3v-gwN;fZP9D11_Nl6O_-xtAA)z&sp6hSNTTp;Tz4Qa(`5DR>S@3&48&v2$Xh32+!xD)D2`bh8tyHjKtus^$6;cmcW7p;d3NRhfhf?Qw zLZ!>`*~ivdNLYA{5}opvbV>`$-|U>??v1(g!#sx}D5d-PW!r%g6ny7EdQu%duF*el zlTo9FEGZK;v(ttYpQ#z38k*MWjpDWa(Y@Kz9VFp{ph@QmW*)tczu zr_N@@xHZH7?#wQ)$c(dx6al#oy(LS1_NS-@P0E9ulQo zjsuXR8)6;%ib9h9l>)rm1~Qw^@%G*aDx{^eq0`>QuL8+l_I3zBBDU|8_|1BRZ`NT& zKHFVOftTKxl>S0=?6qx(I!98fVBh|KgAg2elwXdpI|w~*UJ*LY^g~=fu!^) z>XQtT9_8)o#1-aUU5Tj0qBSBqRFNy0`AX@IIMHfFM@U!*%D(lLNR-HHJuT|IgyIsh zrgc_CS2BaoL@s*)3|~#`>*9AY(f^1@boG1v`Fn8qkNp38{{MT);9pB^D4jd)_cYY!Z12@4 zSVV3-66++=>N7~(Tn4M8eSs2hW0(vO9`lG!*kGsq*L6kemZD0?E|v_BjG3S>HQxec zBwf)lHVsP4bW-nbb@l2o?|F7!HCabhn&(=sKkL`dp6-x(ewL^8o~Plb1f&=~@fQBr z;E?+UcXLKYih0*y9Pvnzkw5m3G8L4&jNpp(0+r)x+1lqmzlBMgmn6ht;V7L5(5`1R zg^Wyfl@QC!k1&?xU3RIsUke!Y&c84nRWyBvo(PswbXoAE-4>OgKEj9(YMJ_;%OyC> zItn!1iYtd^x%eELV@13Neeq_rLb}!1A8ho_5|XQ5w4Ju4vko{UxWSyy7hro0flS&j zE94?KB^0Cz(t1oK`h)8tH>&8Ep6Hmy4vbUJGh=BeH&VDi1RCPL5Kw^>v^Mh(z6D7Z zN&4j$^QBaY9*6HS%d6mkdfF$U*5M&T5}JyRBk6KwLh?lms!wtj*7|0+l;%YTtr5&m z9@Ve7Oy!@{@2~Y`9BaMg&-Uy}f1+Ezu?*94Tx5ZODLsp~dtEIjRfJGofC|2aOsD`~ z{IH(zunZQIoV+=)cMR&!{0frc;cU33&2nQ#*z<^Gt%lM=fw)p85Iye*$qWl5h5G=g znCP)`0PM9HLYWd#*rgqojE6)jcD3PImfu(pH&!N;X3^dMaLLf?!^iUuMr~sI`07$) z^fSYaHdnDk+#Nk>%KR&Zweaa8U4r*3T|-TH4)I>ebCL~OEobHAGkd+l&c%{znYL&A zIX~dfC4YRRPnaVK7Ge^y;pC`bRPwQ+gr|tND8e_pQc6M)DdZnLm)-HS(his-M!5Un z6>HrK*y%mZa)34PnHi0%PJDB|3;P1c1=;`S36$qZ_L&7IyLbxDvT8&mAc@@BtZ9Q9 zwL6-zq$Zp&h6e>fi%%=_S{jWQLCKc(wA_*5OhE zV112^31xyl)4{#|Wgoa=TihJF$bLhexOljCu%3<;2W=s+l!dj0tQSPqnQp6kN0 z+9Kzeak+RjTs$5wo(zZJ&nStw6o+u_(w11NJVs?ttaWY)gpEXtKHNMSZXOS}kA~aF zG72up`zJZz%2Brb=+%zKWq%_-rB70SF!+fp7qcT{$yg!B37r*|E&^1dEgm0=Y zVo8&580Ju{<)br$)Fv$NKcWxsMg#^6LIL(wUs0bi1L%gyn|z^iP+s~6{Sx`rze_1W zAg|FGd6IhW{9_`Z63F9Hmt)FeQIZ5!w&j|gj84fDhUe#!%UoR18(2>WG03dVVju@~ zB6twbI|q?V2A9z_ZbEz@?o<#G*FOMd_RK~Wl%7jh&bcPZ>g+5f4MjTVQAtuk#37L) zShUJ}gUAt6(Yv05b8v^Bq)~q&na4xuaFsYNeuuW%$)&C{l)+oZJ6}@kl&%>BskEWN zYCw3lN!~T-os~K)cqxu}DfWeyfw79;Sn=%AfccK*L_6S$sPNwSdyF9`wZdUyTeM{R zYE+;=GamG!dFF~-#;Vd)|6p@1f#%@XvduE!!%Fypu-u!ydEnaeyiv7GK z@|i!_X&{+eYBhMi6i*j6R)Z29M@Nhqekt%3F{@Z;!r*{MP$AKXyA>lFK> zR#dLjc7uke5D(wvnMgbnK;MzsSmu>oCv9k9^!0SNpjM2Hv)l-cKdB=6KxN~~1L{vg z3clD4m4Xem&B%ibvuw8?@i$`5oJm?&uhe4`Ks^maW^JK;4w+AEptO4Cn1=lIF-UJ# zO_aB)63c7eq(t1CloB&CAUcoeM*P%*$Q*kKIN@vs@^HFhX*gX`beyjG`y0MdpSi(E z$g*OPZF!$WYmu6T-pbk6YHaCt*?Bz^s@#fh*$KU}kx5J^chlcD0(fsj{M2$*^Y}Vm&w5D8aphda_R%MQuV&e4Sjwmh)%< z^c`N8ZEMS@-gyyM%n>&G15`jogToF?ACsK~Nm`2mfk_P&WZqt0e0+tv$uD!X8fkdk zk03=4z4PO8&-Ur@>QWm{1?oifQg0Q*d@swb+D`*|iQCIYYF>1T)a?$}^$TtQ9gaLq zUA=g`(w0!t$7OLiDBCs5Jm!1|{>6vu7qJK~8;(-< zJNSFlC22~z=(`6pP|jR8l)%R>y(W@uJD|C1T5A`+CJgGhnnfnXeYPQN{rBSQK<_hy zk8&Ix>wG0}_ zv+Eh1S8Xik8f`N>m?c-?)VXetn9)J^MS{Wh@b#x~oY3LM@Je~vEKp%-{EZqqEot8_ ztjli1WGgNk-X|6OK~@5MbL4S{X`*aT!IX1Y#d35n6r$Bq)~NlmWH! zoUUy#QK=iu4ItfKmS^k%RhUsrUmr1Txqn$(fbM#S);qx`s6nUC1!DUElaoto{b&ln z={mZ?H~I`#I*=m9lo?5bFdEuB{h4x<9rM+6)nMMh4xWGcj{BbEjzw!ork!lES3@Gc z@@YN+b(c-m5Hltcl|6wFoSSa$kGA!4S#=0*x=E@w?g=KG*+4l~&kWL5sJwol<;4tn zm(D@-2B*vxim~c}F0fpVKG7D)=8~X6A*;+t% zrDu%D2Y)On@}3IgCXmdKo=fF%)OfnoEDgQh?Jf zxH=$z-_7Z*oZzidH8%uqM-GtG_#668(}qfylLQcJJg_ifphN!%os@nY3kogj2IG$d zH-PhZ>%YhT>pC==^Cb2kS z@S`@bZNRzo>HWjna0iV;VYPz)(Zj$8=rkKv?+rpMoRl3(B+MS<3<}!34^21Yb8j`I zitb05v>pq-FGvZ64RX`AoLAwiVW!N%FplmK~sU_!?~$iw5LX^b2MS+AOzCAA^KJ!LLhi9gqd;g&ZIZ7!67M z-M}|ogn20m9#vabtk$!dVzJZ@>Q|1SK%cocm;!<|(>rYwd7c4qxe|JxMyiq>&i+C{ zPNBCYa-|+-@{Uwfhco;pRj57X2~BsBJY6ye%;1=F%I!JTTdy2CIxPzJAYwRz@^-wv zT_EWEM?QTE#-S`(@PuU=QTUW&=JOb$9PAJ1MRG>gbu98)(obv)PGhkb=^ zfOHk5%Cd$BsQn@9x9S_Qh{M(pO9x3>R?eQ50h{i?SeZa%J76pGda}cfRM@Dc<+~%r ztEedlEj{5ZemEipDPsS56wEi_YpDJwZ7_;^t`*GpENMmEs6p6~r16JGoMHCa|L~03 z&T=H+)F=KBXw)yaGO6Of~e|W@3 zygK60;L&h~)urDouSpb62BBGjt~QwzAPpccP#*CUkOOfu^UeryE(3pedS5h!O%(SS`G5qW zWpxNCW=W2D9&U>V?$sK)g+hCR*?jMLT@D2;xBa7`*_Q3!1A3M>4)$L~0~ePs%zaR- z?)e8s4}qLr+mdYB=0`2w)F&q0xu!&ofAQ5uv6S~$ zC|HdnMdft0`74D9Q``2;WNQd7zlCM6A6 z--^(NH$>0j!@TyueVWT=3Ys3R)1)`J($lhn`%58$xu;u_hsK;vm?KwG)LU#{TOMkt z@a#iH+#FcPVXAwnG&a*Z)E}O_+-tKJw3>Qj2Tp72;0FhN)N7sh8JL?joG%_>__Ozg z)DwL*QQWGYt+q^X7ETvy4NNPJJ{L?sNw$%vA@M|&#RWz=M?K5aN$wEMU(Oh~liVZ$ z%Oh$eRUvp-IaK(<+7h9drt-R1F7AU0lp@oP>+y?Fz}k@8X~_Vk*D6mgVHsobCM?L^ z!c4s!R{rqlF{H-ASWst^MTJ46MGCpI_9e-*l{8WdoRB^TJjDfYD94N{v0e3Cca4?b zgjsHXlM$z1F4d~O*YBu9DIOBb&^}cVkIFG0KdB5^^Z=x-p$0j!1k@ampr-hw*4T`L znsH|QOvEO1?l*B}f_dKP>K@BTN87`EXGSHru;aT96T|K_o9xqnkr)^j?xFUuh`%#_ zNL!X)#&ORfF?sEa7>mtt#5z3d;7o|~Qgh!<>PQjqnd|mEeGUrV=&D+^BlF+>3l-up z=aE~o>$JGU%Bo0NNorXTmNwyuk>Xg38A&Smm4KV8T=FyTxt()}xDUxyLIg(3$1c!V z%u?(zzYAjxNvP7DU-adIac{NHJzOmZhchXXtb)TU;h4M>74#)pDBPHF88s9cqZe1+ z8-rVE6N`Fhe@wPFmY%nX=Ec%zn&5+SE}%4H_V)oVx7!l4Nemqo4HMw(%HO(%oKaZo z@P{Z9#Hlk_VFT*uK0 z!!w>lEpH*+y3I$z;)`p9NLp%F1A?;t{3}fq_EGV85;lyV8>>+&MsN}=h_&pZYf*sh z9KZ)losKWnHp=uGG>+KSv5J-u@rAk=S_fVW&sliDZ3+YivU0%U3hv)>yZ zDP%{j(2oA8=aUvUTW;X(kY&rp2X!okJBW*f?9X!07D9`yr}AEtrmWSGLayQJMR84G zkb#)7W^yqvGCM-#S&Y)c;^k!jBhH{OiPnGOU?Q+2z_^=D>T`c}(*X+;%3;n(b++v% zqte4e;Ug!OSxZsNP+qe>;^?u3VmDa3=dZA{&+i{193Xo6XMv=Z#J+e@c=E$`!@1@i z-|Ue=kze1KJH%DSh=&u5lS)O4L)qAuQnaci94@TMBW}WibhajBsnU8k&9qukop*guI_#LH$B7&JmCCdv0IxQ@6GJQI-=MBlr{bw>gW+OW7MkO3D<^(QbF zfWWqb6~G3cphN5jSxDqeNNh3%@d10_>D+Ea%B4%RZA6QK88?X*YEF1Dp2WC_u4Gnq zug-@*Zk9TmF4AwswN-6QJ7^nKBk_k2ArW}@*cZy9$WtdA|TuQQ^04G=m!=cbAc~YoJF3>1`@4)CX zyrY_DSfyQd1V_xmX#GqRCa=y{#rKAo2|a=bs}16K%yiY~Fx8BfkQ}l6SjC&IEz=^m zMok^Uew3H({>9lbmxbXTdCsF+DU4qtoY9VnJt7D58HcW1JfL-x6jeFx%W)%ci+uZG zz7qdH-0!tKRVxI=#}n>lK0wujJ@PoN#7ar!BnNg{uba`q1mXI~!qE;E=(>Wk$u z?vbi}>7)5)9Gu&1IWxMyLCLV**CyvVoo%w%&1-LAu6=q$O4P(HLTRkyBnA|@%)nI! z&tme(N{Dw>l)(=kvIpXZQQ$<;tAffnfJMeMKnQmp`4EbjBXUUVaXNQ8i`EnYr(Cu!)jH0={qWAMa zRvE4;;uYLVDX$(jyqHS^YFt=XYxwWnac=^HQQuOU{Yv?8xv9gNvHM7J6Gi!ODLP!_#`{&kuq?86cKekP7jUWrrhNFlpUF}GfobIwTp?87NkZH2XARX z*bs7(TI}h37nk~Rg%C8&I6Vs_)-Ci*C?=amL5IPP`5+?=HKDhl4prE|yopYjZF52M z%25V~vQM9oKG6J|b?;5!U11$^cnep6f0N;z1AaaoK!f%@7B^NN@pvMO>zwB>B&44B zQ82CimE{exiPi@c!K+~_93wN2IzP75vubM0(3Ud~H73J9w`}^ToWF@li*8Qp!%Cju z?*bJH+$)Sdg3M{@qwwy}D_Lf~-H!VHA0$7VO-N8s##NvW+k> zIv~astQ_-oq10G3)i1*|R<=7SSV^ou-nktH&EOWiu?`c2Q;2Qf zd^Zo#uQ?z-J>wG+;_565#3E=VhAmx6AU#*XI&u=F30 zP(hG(RZ^$g`L5JyFPKAvW9E1lsXH;dJpCr4l ztg88%GWhHt%IsZCi)-2-rqyJmq-F|IXbMLz1Wq+)QyL+|V!@Tz3<8o4c%nwMTSYb= z?5|Xe$p|i`5!a~;3&gX~P8fk2UEG6){Dwe?vy>Y`-d|`e8J{04FaI(=iw!}=59mK454wgSFWOs7i<)$lexZ)EXTpR#p6{*g_dbjq*=?(RW6Az zbG3$2v}#@h`mQJHPs2zSeyS5frY#AkZGAA3?HNTVlU|X7)j9_lB_f^=Oy>mPdm00% z7E^^MZ7-KA|D8~Km9I#9*5*{#-CxcT<>Mn#XgG`mBvpxVQfNJ=7;|(+7?aRI+;EAv zEDg;mOZe0E_$F*eNlMCO5w)|kc_1uf(sgD9#gx>-726~4LvN-y9`$w`u4t+?9H+~? zg=Zy7+YbjBLW&wP3A^Xl=(^i#n=KCQFc#4_8Y7~v(fKwk4+I@iN5oU26x0NwI>aQw zW>2qui~&!$Ef|2fT(A%FIzTreUE}^5D~?+I_-Od}c=-5)#^7_*6p%6f7)=0XF<|-S z46S^%1gJ!ZJZX?$S7O`hY#&R5=AEcBd1v@=ZFHCulhPFz&Sj#%ZD`ggT94 zHVWMGjfYwjDPs09xD(lS;`wHTKh(2U*1pde zqXBC)X0X|)w2E{}!RlMKHI~6@P!DSL*XgF@VNI2~N6~B8iRd~|%4&pN59|R&EE9;7 zyKO}yC7_{7kHGxOgypYH_CRbUqlNXdzb zpw>LsSboYzuu^OCbrq5hh1ODszv+s;s9U$t6N9&)^SS3`Cx^G94nd_1VPN0dD$JLm z*+acndq#A*$a2&u3$Ce=iGzKKO?6rocDot2bsk%OPm`Kr9>JnKSfnInwhwgu?*XSK zBDJS=EkIC6N-17E(qllanR*b^26qKD0*HpO!&q z2X|!_$H*=@q$90vEc_zso=xfJofH!3Y1ShO@2nU2Dpp*Ks2rD=WRtX4OvsRzW}*6k zL%c4%z%Q>cSzWha24<&Br50&$ZVG%OIbUn%}%W%dS3S<&lf(kfYLZyjQYVX8g_UjEet91IXR<4@eyz&(&Uy0>-kHiH91KSzJuPOKlAqJ z(Yz6U0c@>#EV>F7u)D2zFiKSG;SxQgjlbriienUUWBn;~XImR%+y^j$&6(m)>)}sp zMpjA|64I?WjE0t&>|40I!*fqS3R}gpmqQjJxRAY23r@+tV@yXHZufN(kY0BtjY0G+ zGo@lW_;|KxKAUwGl8>Z8H!Tm@xUe8Gf(v5?gtKcY#Ia}t1gjJ<6**;ngR7byNM=ktLq6sV;w|NA)OfOD!od;bh$+;Fc8l$p|Ki)TJwzpx8McB+k}Y z3YJ1R)_zcr7(u4xzyAEU zXtj$s76hgTrBRDk-3*MyUP%Uqq)7~i`tGlE{tN*TC=83EkIU|wFyv8;SZHXQ6&Dgt zQuJJB9b#ui-7`BwUh$N9p?q>!R7hs@gS8?C0yfbUMIvf$72p~mXcfo^!Ch7B#yNu0 z(!V&WLh2<#c+hj8!v_5dU_WV9*ON_NBknt2tsC1Kn~IO8GNQF*m}$M*KfB#x_Ls02 z*<}i_mky7?PRP*#DlQ_c(L?W-Z=^fy#@vY(7_L!I?$Ey;zwphT5l2ntY58lp89iCac-pv{lbo@W5gDBjN9!u3XoA8uQWFum z+HXXMXD1j3!g9)JBV*|#vsaiS7{&SQfeLP?3cSK1uEunHETq%wbfG3YLg3{H7Aqxt zcm=<_Y&kMfiqWXPM$Yf!$dFuo`1}u#e#?i=fsXs7>E=I7la$S_AicU8A5Adf;09baQ*E za}@4pS;=Y$% zujRZ$xWcf`0@!kfoD{nmE@w%6;Nnf}@O^u;!hGw+q6*m14w8&cu9c_}1x%D(eMc)Y zLA~UgBz_Im)dqP+V@?pr-cy{w(782l2!&CVu83c{ZD%{g1Wvc2dI{+phWEdJ`|=lbgs65M|G z+Kt`?yr!>rVXw5;??HE^A3eGUe*Izsy7LN3zGVVgeXFlChOIZ>+UO*_{gYMhmjJmB ze8-`2sTb-6!&4Zli#KeT8beRr4+!<|y0PdLxZ0&}5hhj#$_{U1czKQGaW#DT_Ph5n z@C>iFn-_M38@{zFQGn;((a+vWgEBl@eR_}Tj3y`$O4BUrXYp@U7HU?);lQrUTE7FW)-8$gU;t2GmSGWt+GB@ck>@1LVK%l~&(N z-Qe;}66v$e%^=7#_`Km8f};-4!5goIlX&NainE|zf?-px^~FvxPa&w=ccqu|$9?lP zhvivxi(OO|tDfa8H~_V&R%Xz{O1N9Qj_3CL`Ip19@4tHP(ckrnS;f$FS3z#dD>N0})LQV^BxiNhd}%PW$5@PYL{7QqIH4LjWOK|O zd|SSIySHeJPJX6nXf4$h7A6j>HdLeShHt>alZf3=xn-~ zTfv+4&4UlHFJg6?mA=qDsq6iqsA+T4g6DguS9|Au(56Mt6l}4VyhCsYjZfPVR-6G? zg-De;IX55pulKZ@DSK#N$``@fp%lJY5t+93!=0kpyT1GW-uP){`^j0w{_+QA_=hGf z&7SxHSMeD@`|&+`gmYYlW(D7fr8vGfU+T#2>QDFkVu*P~r`}nMIPB81X9xyPn6A|p zexS!M(7)sOz5Os`QLGNqhdbRO=yrqj859rGp++(4=ljj~n3zxI6Bf{eSU5%RH+r_c z!i^POGQXhouuS*AbmW|+2q9#ySm4fLd|A<#>E*Ee^6i0y7E?11P}OeS(yoI^?uKv< z%cmCNhvi$89OU3azh8gqpSyfx|C6`q42*Z^jnLa51paJua67!?hE+JLgWGSHWBNJb z#J5Xf{o&m=Uk;5jWw6hO-DjE~n8()20wlpr(y(a4PcONA!6jz5!#RH~MexXP&||4)Cly8pJS?vp z0K0c4Srz&?O$##Px4rBcM~?h--aJWya?D!3M{atvcgD#i1{v13PpotAAv0!%jZ0F4 zzeJSd*q*t2SL^R<^ug8rwg%B2>(#OjhVQN_@#WUd3}0?D#4VTNmdhL__k981E>dUl zrQDklt6ILl3lOYhT^zbvboh7NAG%(J0qj7J<*v^2WfA)=z0_y{mDcx!3IaX&{P~%O zsL64&3~v}e`E6{0y{$G=dxyvoTppPDFX*5Ne)58)Y3-Aj#>=%eBMVT84g^ z;D!g02aOvitJ#fC7>Rej(>c$V;P=w@jv?5- zI%*l@`b3NAtllP}A6!C_gT$`&TOS0sa2~ZNggmu>4($B*n z=*&Lc0t~@(-0~sY!&3A01{2O(j9)- zJO231-qkw6mj^WnOVUTP<^7!|eGQ_0avzGcgnCKFG_*NYby%|CSJ;l82Ja4_RInHR z4IX4|4G~EFT1&yNh=Gc(s{YAot^n( zM!DJOmbaqDq)htc{IuFYkTo8pJJc+UsE&Sl%<+t4b<=}VUG6I1=4s;Wv^u6|1m zLa$nRmtCKHx&Cyr(U)JJNbUVBQIs^+d84UGSS_z5D>NS zvMWeL1JmfKj;=c%Z=MayT`Bvl>C4cG>w(tZt%&YUH@}1WL&}A5bg$`uzySOM*QbBa zMVSMiaqUF!n{!@~?q9O<@YK{|`O9M*$~s3>dq#keJkF#$;fD}G^IY}0p%YKe^t0y$ z(nii@kFPG-!xsH!HJ=f@3l2pcx~s71bn%`h>xT~*)oQqBt@TIVITVYmJ}?_pxu?Da$mZri8+fPIj2fynP#>bmal(j>Q3Tfk2|bNLW%@t6cUlCw>yEg z%KZhRYfJ(>{R5yu=%9+LwL?;w)s)Ykh`ptOmntJlAq!rD+xVJzGI zkMB2A&^sA~A-x}2I_>Sl@@tv5??HDtP;Ao+TYk=o>FvC-m)p08(^~!-`QuK3 zZ{?FV1<>`c<)=J_F}n9)8O1vlkun~r+06jcHuK^4#-r?2R&GwKXFo;hIfaiOC6mLn zB(u^seOtuAvu5;yNRwo~q-GGGv+J~Jf%EWlA5)UQE>T7F%kA3BuP_pU5L{o_z;$>P z2SP+CUn#@@9Jh~?fwe6*9>TIupKE-lg{R)qOI;m0>DTvrs9t&g9xP_nyERLjd$0EQ z=sUy!jUViW-+lS)={=x^Or8pN>K2B(3l3j?7dqm>d+mrdmqX{>N5E`}1*Z4Dg127{ zO1XWLT+@`I6xe!AXH?@3+)q72S~l?2HGp@hW=8 z0AJzf@)!R8muHkX--i%g#8cm9sfUPN1FDB_Zw<&)-C&{?oe!b(e0LgvvS})%?!h1D{t8`96!_{NGb`APJr_#ei*@$rNMN-kM{)U=$w*ky|m3|mbcYN%-@5T9!`M#dO79*68di`>D z0?6k*{r3C7E>EAWq)K=`dX~O~Z@ZlW#w|9f)%g#-YXWz(7~uOX_jxkybMXi&8BT3< zAfNS4BQUQDlKF54!i@-ekjglE8!OH$q(H}#XYB{0-fu7P@F(*pyqn(1J7CsOEVeZX zuXU@SkhtqOC*-dOoGCos^KNr2F4V2!rcO^!yl#URS^+rg=+vbkQ*{5K5YtEf(5{bQ z-2;1nXnp$StzeL8(dgamf%L0c9%e;+TJhHR+Ut`nS;~j3W=}p0oti6Ly|;o6 zK;bZc{Qck0;k(=!hSL6i0c^*Wr03~3#vj5)*|OQpily;=zCM!}F@4J5Ti9SZDBmlP z@NgGsb(4U*#5Ta5FfI2|3Rm5^mNqruXcvbC0o7EbtNYKdE>dT{T++6kHh!`gGzf!; zw|Vbmd%K_R#dtXpDsH!qf!^yuulK-!%^Sj3?cn|hU?gXk-5Kfhzh6Rl@1>Aqj1l)6 zd(SsL0Np&WqwA~@VHSc5@B)Xl$ z78E}_T$JI+*zc>|@0%eh*l?`a-hhtU3`yki4>Zf{$B$R@WIw@X^wc_4UPm6hT{iB?@rvWT)37$kkz@ z;zcfa1=HS-&UFN&VJ);o{2ud8ohPzxQ*rqX2D#MU!n4=Me^}LyeIUl{=$M_h;|gl# zKwfCAq*j=tN4_2`KzI8P+^hMaf^V_@ zaH`{>B71T@RA8;vLj|=&9xU?NN%D@bF^3$bHbzbtJ;#!11QxqF~ zDXPQUzq;{QPBVR-zj*h9;Gm}H|0KRnE5>aW4tEB8g_t}8NR2!Lyj^n}%M9`k2RDmV zlkVJk2)5;H{*c78*;DTvi@A)3KSut(KKb#i_N_nkN7x6)j_!!?`s4@LsLgfUf6vh7 zCr<)Y2+Jnli0`NoJ<#>ZoAaY*$jX?jn~C(?7s=b@F~+5}j9*@NLZ`|9%4{w)*m^EV5G zWc)|A5fELkK?diZ-$Jvn?yA8kWRtdLui%lQT?OB0g8Uue><|BTR>Ue9)co=?mL9si z*D*Pry}gyDbO9OBr4X+|Yq4gFqd>$tmY>4nI_Ks_sYhHLqJ@?qadzemMce@87$*v5MIJoYokxZ zCW9*MY;XSjLoh1{9%^{h9LyW(TW8h{Mr9HUWmYulmJVCY%1S*rgK2>ALD2bvHVpE9 zh*>)e>ZeLKED&4(8dZ6?jbZAf*rcv_+QjqK+f{r4t5myL$;d}uuHXG|7c$8^X^s)( zgke+9hJozvV)k@teqSB>?XrQo@3&C8mi`>za{wL0K4s+>p7H}K@A#oZ%oa58;;9Y= zvE>vbfA!DR{^=gniu?c3gS$0< zz6W<}&wC&=ZRhaClNUcV;t$uk|JH}=&EFRk{SzN~r||w8?o^mJ{TwU#`O19APkzZm zRqns$!ItJPdoN`iTkt2oa< z67@#tdGE}%L!aaSRvQ{+UWT>~o|z<}K9LPq!yGOomw%&VQywc-fVt?#aTs z_qmT>L|pipW*#FJ%c~o``p?uViDaEa)MLf_3+eeD42r$8(SgfS8Kh!P$oZ$lR)o=t zDsA{u#6jv26PWl#ns!MzPuA?Bi&^%i7@a&~pU&Qb6!Xm=rg1JKqf0Aty@M51%mkDl zodq6Kdi%Q;8PIM^Fhony7@RVk43Fcy&Oc4EPBsOQw*e0vVgU<}_~TibYB?tc$F99J z0hx!M#T`I)9$uyPd5=U@nSpt( zOMix@UeU4UmU)9;n0>q6bG$bRJfEzk9yrhY^~-NQ8$KKUf`7lLf4>~`ZvgsN!(a3N zFUb8L{QlK&!2bjPe=)pu$-f)^VfdVXzZ(84@PGN`KMXH^q4K{Y_g{t&|7JV<-@{kK ze;@vN`0LL;Q0spU|BmNK{cpb-{^j5PlH7kE{_ZdS^Z)hN)PMVnzy8IK{QfoV{R6*$ z$6LSn?4LjT>*1Gw`A@??eD<%O{g>hMzx*@#f28C;efHmY(+B>2@!5~$|7!U0F9zPF z|J3LIcX<21JHww}x&QixUkv{z@BBOd>U(H_9_g!x&pvY-`Cg63FX#jP`|O{F|G~e1 z^xuExn|}G(e;xkym;b^D+1N_F%{MBFlx6l69XaDW9KM((je}CqE z)T770WE}qW7ypws|7G~qXa8&X^DqDI-wwbT>CYH<+WsfTn4S$=@;~zL&%FB!Mnv=Y z%m0tFw*Zgh<{Gv&Gi$HC>-E|jX2)^ZVTYNSnVFfHnVFffX_%Rtq+x0}4KrgQ|9xh5 zowQHe_q+b4x1|vr9pPv+8m)GQuqE)lOK zz_8M+VWytLFO{T6jep{=uLp6ZbxDm#NbA1}wv1X_ z6{LlzgsKW@k1zsgGjYkk)R6oaWa<|}i~!m)`9ix-v<6OQQUlOe%7y+$S_P0Emwzj? z5U!-eBtME=C~`o)kx+qnIn+M1=zty>30(sX5DCpAT6;5nuUSX%mUn~ z?SK-*&q%AGEvYN~{r*204>ZDtr~sRkkM+;SwMdQ0-?*v>+9V`r@-M(I#4nX!B(4GE zAdGNf{1a_rA}0XQpDNgAoH0Hb$M|=~O9{drv)PDM0Br^+oifW%va6WfSzQnPCrGF4DJuW4= z&n(F@lrjI=A}G5YnJBBH}MybkGDiuy>DCMH&U0l1U|6pZ+0!=w_cY_l*C+#By zyRQ7eUxo75j@^#kgTK#i#}KV#7T*n3Q{8@4KW>{ zK>Ao(Gpw#6aY+a1Ap>DELMBqMg94GAnRK%dUcyGw^WELe}G2$0T`x3+tUV{>-iJ6~kD<5fTFOjMi*R`PzgoBh{ zT}mXDSt{wsOL|q0lBsX@(wM5@ci|ghZwyVKDM;LOl$_P3Y^oXd=FkFKQsS*BUAvhl zw`z^NHpG#%+d?~2_e_*%CTy8V*RI-|@kB30Khaf3h#(K0pflw}ccO%q>O#1#(9NtV zDYGo9J2HCU*ORclFg-}_P5OP1))%*arYx)7^e65B+y+v5{vf3&^*#s&<1XXf5Nh3N z>aNsKY{PILZo0b}L!#737=_zt7(+WAODwthjDzu}uGw(4GaA{|M3@AVVG2wo%ruxz zYmzWCU?%#_g4td@qi~x8b7^fsAoov=RyU89HlLQZfR?rp|3$DEMD7wZuCA8S0t2Y) zWw=TD%V7nqB+XUP^7ENv$ZFizzz?t%ex$|3GxIHFYL%DV6C?0j4;x@3Y=X_O1-8OA z*bX~jr&;ciY8O3bH@fVhF7_g8AM7X32j~?C$%l(xaR{9b!x1CHDVZ=&ZdxJ~#7%%u>H z{SJP=V&3KY9^8iq@DQ1gOg-J|F_NDU<|#ab=lH#VmxOyo*}jH1@Rkwc9q#Yp0(^jv zg#SbupWzFm$8U@tg^2e%`~iQ$R~Zeoa`L#MbTGgMe&7#w2mon+ff{`qoDhUtI^w%D zT?K<1w-5*g55$0&5DQ{M9Ec0?AU-63gpddlLlOvsq!13tAOey@3P=g5AT^|cv=9mD zAU$M&jF1U3Ll%gFtdI?|Lk`FZxgfVzp8EW&&UtWePnor0WVMsGyyUA5<(QAW=7$1M zka&f(isoHP>as9#ia=4qE+wp#NipojHJd7-N!i*|Nv=ylY2ugBoT@D0%RzbEDnLc3 zgkNRcsz6n!#`PogsIFB~HK?E5$~UgrRZaYBL2al5b)g>AhX&BljB8hous4P#&=i_M zb7%oAp%t`-HqaIw+Ch8h03D$dbcQYGpYRap(zWIUEJO!6u1oN*Ta{oK7|9x{~h!@z+oxwrhaZOR?ku7=}3 z0!C8SwYcL2B5M@a-^xbf+SO>>#vo@b@;%%Y3lQ77Px$V8jMaqsdmA2)+XR>hlVCDT zfvGSJro#-F3A11}@`rFYo|{tsgwfupz`gP-6yIy@rm3G64~XE+6?;S8Kb?l?Gy z{XFIc%!``LM6CPgCE{O(C~7Z_`c@}W-yM+qeSJv(yaK<#Rak=mHO%X918%}CWJ$T) zMo%fDJ8)R@wKZvDcJ(W6ci|q~hX?SGI8s-S;4$_m@D!fGbIR(4=2kB$pI7MqTC2^y zQgoGhnarGIPL@i&(dse>tcz=1?h*CWTjcuYR36f`=IAmnXZ(bBr1c&?z(@E5pCJ`~ zUod~u>N5}Xm5E#Zjt+mopJp4VrM{w@l#|kVUIhMUe4?M|R^M?TL;8=6Yd`SU>ngkM z1!;wcpm zMM7~CnI6@EIer6_Y=CsDJmQ=F(x!Mm&}}NA$j2`c?uj7@gh5gWM@}+`AT4Vis;lI< zryyQRy&)1PeXippL&_qK-UzpEWu2P1Y4pa_)35F)knLk-@kAkeEosH}4pkbHsB?s;~As24GeB{QS2mic~4;lHP02G8m zP#7+t{|Mq2A#PD92F0NSl!Q`H8p=RfqdHW)!1wwEl8!MYNEGPP0ciz%j>OpPUAPV z@o%AXdZrn!t!jnYnlNpU@rcp4tsbb_L3`++w@@8*4mj8OB}e?bKv(Dn-N8c-??L>Y z&`WP^K1*3+^7r-8QT5h4sXlsV)mQJL`srO&f4!R;pm$dT^&V=F-ct?Md#NFMZ#7hR zt6_Q{H5^$Z^uB7O-cOB!(J%(a!Z>toOzy^GPJoFp2`0l7mfF*=miu*FcNPAsQ{Bg81 znb)o$FVc2b;6BF}k z&8EVsPqA;neWTu=zR3MTAArd{Lm!BrQd{`5RUd?##vE?28Gal3Iw@O&C!y`c-2oBY z;bhHWr)lqE+IN}uu1I5@fPNn;eIN2@L(Q~y>+-~8Q+o)v7n%Do_v^!vD>E%|llCxz zuu?7~y=FIjeR;R31H?J#&Fdk;NAN@<`B+MwOS*Z8{4MQK_(|SIGnW{R?`ZQn9Jg_V zlN?0AVdTg&!V$t9)yMGE;N%V{ZF(${N2_CcIrS4`#Bsu%fRpI(Gn~@L5lZ}d4uLap z7KS799OikrK=>#^U8D_M(#Lz{$(&Hqw5!X6kv1S&D zA!YOy^Bug05AYE_!DsjazrpXw{{t?Nk3UK0D7V(_vU?uGK`tZX3SE4 z2KPEc+Pvg_wm0wpR*zB-^g2^6>te(UG^~1Y7<0UNk5o?lA5kVj$aX<6xFH00t4&Dz zo$C$Ha}Y8-_{D&jgo}l#Va7IPOZ~7`X3V1xTV)g1^tak%JYzm1sa0Q!`%qls6~!D! zThYAnt-LMpmhHdgEmFmgmTNu3B|ug}NCa}vN{pEV!XPPxLo(tF;yGopE-MP62YQii za@-%8&x<^hnQ|BLWa-mWsg$@$dzN{x139T6H6%4;K5SEIDBHALM-nc%SvQO63KD+_ z^C2;ps&vLOmEKscG8nukFjx&TR;tXz$pTTt&x)DNSf#QXtG#LWR5^^EDktQE+>i(I z8f#QO!smwq#3=}cNVhQTXLX~9A*&mbrWL=a!NHZrkGR`ZaVTM|W4!j|ZM`Z<{8GeC zOa4k@NU24I)5{t4+0#2#U`xxL;tw~rM_$(wgP!GADu zj*{acm_uQhH~w(U5g_BxNZd!kXv$j3atwNn<$4^9H}*&CJ^}xUFbO>PO@>%-U-}Z| zB05bm^M8PRiyjBnRO67EM)>J417;F_7D(Tm4Rc^F%!B!`02YFbb&D_;!xHREVHx@^ zhZV3AR>5kJwELs?8ub2waMu|F#*weJ_<2})i(%^W@8ijj)X6%+u7?d~zqZD;%gEX2 zm2dTbX&* zo}USO^FPCi{4?s7an5@`RlMs{>W(RsXKLcg+Vfq^DcmFO;dh_%e1Q27y1_~PytjQ> zWgzAB2=~YE1fIe(*hd@bkNF(rUcVo?FOd5ZUcqa4gZo)Z&>EwadW-(=ARd12=~o}T zd36{Uz4ub9oqpfHKbm2r4@-Srik@HH_l^ltM^au-mUGVPLW>Y#G#_gC{H!`P^d+L?wF;k;_x}bwKS7R=U9#P~~)>aIg%*}jl{}*pQ zuPQ_;Kkx^cd)aN*cw4SipzS*P^Nx=ICD2LMvYf~W0+;OuW9)SmjGr4qY&Xq0@iG0D z3blz2HdX?Gcdsda_PnmnmGpIaAO5HtFSx7rTe?*x)lGZL$fAe`G zLfVz>G47ACJ^q_}J?e{f2GW*rLs+$n$rEKZ^vMo6NINHfxv(Fl&E&QPs5~}VZwgm= zZQ&}P?WxLdYpn{{o~eRR2zy~$V|G$KS4GKVF-U29K^m-6W0!g^K|5$2T|Ti@N!v?R z3O`xDDot8tpe&Rl&GLjTOCPU*SrIBhWwRV!sVcTts;cd^sz$zb-dI$(y-_u6Z&gjM zYuVhYHq?Q-P!H-u189hBnG-j%S?gMjxt6t+CgfF~#hYTvdR8;c<{;}@Eih#rttDnF zXbo+kEwlrff40Z$fUJ(>Mef&~FgrsR=nCDSJ9+8>J+b$K-p~j7LOb+`dH34e>Qw=wT< z{VUw%`W{rKqu>m7LKum~*du+@&5Z6z}LFO2^#fJpAB_wbKuSmjsUZ!d#Xk}=ou8&9q6J&)gEBrzTeRMZq{lx4 zWQ0tR8L~hWd6IjStZioHIvZq%9FP-o;U7W0=l1IEd#B=16lLeH5d1yJbq4< z7hUo}ekcG1p%4^?B2W~Hk#`R=i~AXx?5dGxni9B|gi=r%%0OAdNna|5y*yL^S#zm~ zSqUmb6{rf;pgQ3PX>xzHX|lhg2Kv{8T2LGRI^Mj<{Gl#kx#MWT=386}4tW<>&>BSziDvi4W!D#BTAFgp(ATVTYsGbIXajNd z04)aTw8buS+;*5!w&%GIw#P0zSUaL)C+JLCUAXQF-Jm;2nSE4c*tHs{_4IRSz5JY% zet^~+zq6#5gK;$xV^kkApLW$38U4_yKmG$?APj=R;9y=g#4m`qJ`!KohEf;92rJL^ z$0)nu#2vx)NEij9VT>u4wOsth!Z_T<<2C^%f~>tv!fi54fvGSJ_jb@0ri0{l2IzZ_P;N?3*4YFI;@9|*G+ zw;!>ugY~#?fQ{HU!DiS3TM4rbw!;qmcfu~%P5eEWdkM1-=Az$z%J~592MK!!4x{52 z%KHfRkC;a>kNH(nKl!<6cP`q5%WM+qn>tIpbNEHEVym%Qe9G|9Ud0U2&ZEx-{03<;w2P#DiN1H4>npfRANd9I zD*3pE+aq=!9Au|KFsseiktz4I8<;oY7ThN6I4!5T zdgT{KbC`NrdcVg14e{P$zQcSEAK)Ws2r5q#=@hBfLMF-J6{&&}+Z-T#FC;Z!W zB8^d+_*VamLtftaB}NaWKI8TUeuHqXWlWbfiQmzo2xH_Q=<%mt5>4JyJn^Rg6+b5Z zq+3a8{*{#OpI9^e!_c*oviT=vL_$a8`1xD!W6fs)>~?>v3Kz~C+s`)=RF`qp<`Ca z2HE{nXl2>SlEXidmeW6uR>~Gv%jF+W%k3Xu%j2Iw%j=&|%ZH5oPypElp%5~jQ4fW& z7lEQs4FBS|m%v^UN4rYtp$BcGCw0|}a_`M`AN<#|cHfus?B}17F@^(PU_4A9-bCU|g2~`8(rQ!uBekr^5_wbc zp9a$jI|F9IESL>*aGwkFU_RFiU?D7m#jpgH!ZKJ+m=&-R`zlzCeGTRhuoixVb+8^b zz(&{vn_&xVg>A4Mb`W857F>W4q zMcK%o%t4NGEoB>JE5Q8MH;ht-K@=I)PDAtXZ1|lDdfvs;WY6cnPVVj z&UpFU+)I&JJ42g4OW1S%skQU|e1)Ldv8jjxCYn#vuHPvcN5vS z2zQ(MzvC~@h`H4Q>iAc}-1YCE?!kS3-#nnSdf*?WJ@l97AGdnszg|7|&#IL)600YK zpJPj-J*6(6k?-gJ*|c=z{RQRl5?;Y;cmr?Y9lVDR@X^1X`b7B8{@JxJ{yDVY{Bvr* z+w z#DJK%#e&#&*|jF)FJm6paUmYWCtd==Nqd!@%Q9vqiL36^kuuHqv zRZHAk!C~sQHSTSotzE{STv|JOZssoewfL;=^7*L3VLE|5b*>v-+in9iMaUQYK}PX0`1h?EL&@FNZy*T4>LrEwY!_68@`9 zk>T3|WR>k=(pUmZy*e&KHyMAHW3B*cpE6%sX|}-%+A4HdZ7-{>!TmVlez2D#9~D^| zsHCm+#`zI*9jv!krakg*2m40Y1e-}~3#LbftF6>oFP?L@alPH{P&?3JC+vdVu!pdF z@ss`fvfd>1v=6tZ^u7JKr{tb8gX;s>58A6}c2-Ib*{f=YaXW&W!>Fbm#eNKXL%llf zwFW(|2IBzxz;Tm$JZ^WZ6ZV?u`S0yj!pc6hlj!s_c{)W}r_p_}UQ0Ve{IhTl&f9Bi z7wkE;i*U(aN4regSKt@83fJs)X-D;<>&?S1TUJ<6=by%=oa(w=_O>>l%o}Pq%<`9d z@YNsl1nf8A7W&EB#BIzw@GIPfdvG5ffV8=z=6beWJtQBG;4yAb>=m`A_IivTjhOH7 z{DJ#(#*7#668kH7O&V`7-x6Nl<-fBx{*Us?s@@a!1AH{Y(|@VAPh5ZI`V0I9zr!E! zCwv87N|^IM1`eeMu(pJ`&aV+|s|k9^9D{F_0-VYZ{J{T$=;9)*b5YUCxy5QHvEMu7u zdDxLIJJe&C&)nU-cE0}&=pJp)6wrg`_6pBG{C;=tSFzh`+Ug?0onui_s?0PU|B`0o~fIeDTCadv0VcvEm<&^3DolgvFau`7 zESL>*U@pvq`LF;v3t0kc368@FI0-+) zDL4&h;4GYj^Kbz!!X>y2SKt@83fJH|+<=>K3vR<5_!aKLJ-81K;2}JM$M6K6!ZUad zFW@D-g4gf{-oiV04#;Jx27cfVb_jq#aDWqn zzy-nJh7bq^55$0&5DQ{M9Ec0?AUZikOiV3D`bQ0kOOi;F31geAa5Y!4Q75Q00p5C6ow*D6pBG{C;=s* z6qJTCP!`HTd64&36)-D8CAo$wP!*~{b*KR~p%&DJI#3ttL49Zd4WSV&z|4h|=+;bvMh0_C}S1bU9ZZG`DI6MaR`DBDQxeD6C=He&!z$n{j(|sP-^G(@|QD(d`+yh5x;=V9&Y;>4K zTrWniC745)g~}?k%tra6lEc!#@#rA;KIR96Sx);}#`w7cGcI4V2jIRE`zlxsYv2c1 z8)%hvW_=>*GNutX$~MV-23v<+@|RhkOc!NuI_d9azOeywzd7&VT@H6bd7jva+or%N z+_M?~h_?l{!Zz3rJ76d5g59tO_QF2c4+kKMFSO>6P6eoF=7se#+z-KFI08rE82kjs z;RKw7pWzgohBI&$ea?}$^Kbz!!X?~goWG3U73{yjRk#M%;Ra!D;&%&f!yWh)?ov+o zFz>?y><{4)Jm&fdB%sYcC4L9iCY~YVIlSQdCH4ObUc(!B3-91Pe1MPeiEy6@|3%`H z=iiX~JJ)}}pYRpfFrzfbcui-a%D^tqiZ)C?SkLp0zk}672!KFvfYZUcJ-CPyOgJ}g zArJ~4hygJn7JjiI4#b6c5TAGnh?fw1BElqwBoKyMQV54+5CO>vn*zU-kc#WnnAItV zYLJHbX(1B#bdcUrL1nrHF{OV8xYC6ArOl=J1I@U2w8|R3j8WK;| zCdVUZ0$A&C%rA*wi)*QuNg|6cI9oebYLh9CDQ25+tErgN9IGgswHiZ-nvT2~ za!hB44c0YC;`Y01F*IlCE1Vg2k`|mclZS z^p`ufO z{Cv`6q5o=~q(9lNz>=<^)Ey3AEy zV7`P`xV=W^8+Z%vaC`3vQXfcH&JH+8J$%Id81|2F)R1!nWWFN%^>)%O_Rz2Pkmo(* znR^cDeJ1=D$6l`YX}>u#^DNG{s-_NnuZsVl$o>ixkpg{?7f{Rq|oy z`lI837T^q2fzG|8CGG1V?S#F5yi|$B{tu^9S3%B0v=iQ~;1&#S2qA7Lc$|mL`AH1i zVnQs44ROSuF)1!)Jg0oc%=;De@t9vTGnXe!Li}WHDiQXFluKgFB+g@I*f8u#oj;j< zBHUS9B_nJEB*%R>?JospN|5!ERG6ueE$y*4V?#l1yHkwg$YDPoe*KLTwB-|&;R(vj zY9|s_+D%$yMml$C>713c^v;v?qZ8UOeVdkncp05PBSWq$sZ7pO-`P)l!}-2@KZ9He zcQ)ERvzga(X1cO(JPY!UQU+0&SwYSb$cCAn^usxoz@M+Rb2!gyIUyJ1hCGnhIfj)F zhsx)?K$r{U;R0!WTkFkFI_dbrI{+^eydhB9Wp`F0k2IoeKnr~nnA5>$pN zP!+0yqVHA5`~w|o5Vt1OB5nuUWv#YT_84B_9fF)(cI6-RrX7*~KYd?S2N|MUI3zQQ z(TA)ut4msPkErLAwa8znFYA1p`p#l#u$%j^%qN(4P-^Aq4-K5DR70nX1y;Xqgk0&{ zjWL@*Q{>5d=}Fq1N3l}s@Deo{VHZ(%zn@x2EafV z1cPA+425AZ97e!M7zLwY42%UiS3=H^8AqDqVFEf#B#)C|GP+NJsm>d$xk-7*`8V9J zomsT$lx1taHJ*Y0Oy^B)7I7&8o(HVCOGTMa;2`h0W+U@7CUMmbuny;;exm zV6F34N=xofvDA-TuXEnj*24za=!~T{IqzwO)jjIvp0{3Pf3nnx)fP7+SN2D5LH1VI z2HRl=452P}62B~QcTv~7VUJVxcSowdxbGtm`{4i_ghOC`OU*qSyX@DNz1nS%FMF$H zzv2+6>*51`pjKAUPl^JfmdX4)V{NKVmuiW>}$FxP?n!^+3;{Ucj zE^|-W*I!EefSw<{W#fByHIH%T6Y?u-k15Beq${UpJS7j0w9n=^C42rwN9+Dp-SLdE zPfpc%Mi^_)u=ss(K4)B&xA@O-mv0Ar_Y~IpkpDaB9_Ab4Kd}D^GJbqT9~EScg&G?! z^q?24X}>_m3uHtpg9Yo9jJLKR`QFiL+wxA*kFbcNtX@*)^6pEcn z+DBYd=MUexaj!DnKH_Gz1F2JM|L`a3$QRd=8He&pX?%`OFCn@fMXscqlJVyPCziO( zI9C4eQ|B`8Ekqr~rmo}^K?y7RNuFODuT&y4{okT>>Pno%rrYn|xk))l8h?1xw&pEE zNHYoLXMMx*Cv$$EzPvA^jFO^XIQ+G2Mb1~|a1xgD$mk2<=$4Fd5s(~GKuSmjsUZ!d zHS0{qS*07_rK5CB|Gu2${aB=_zplqM!%2F&N=N+kxMzTjkO?wF7KnnZAZ3z`w6a4E z$O*Y1H{^l5kPq@h0Vo(`c+-|NZ|6I*2ZuOCOn)kp4*_JK+<%9$ z+EX0e|NlXr9qpw|EnVbZJ)hA<`irzF<{_jf-R zR2q4{VZEAql(t&}_mb4t8TO}^3UW{f;%~Jl&PLGv|8gy1r5+@F5G~O6&7AK$ITyOP zC~Sur$JDt-Vnc@%ncincH} z8*h&J3uWB`e@aTVq|93dh3Kt=JbIfTx861=hMtL&e|RH8x-s;2X1X!GvaK;)>RHCT z(>$~8B~*K4%HFqy+=6fP^0&6iXiw)SP<)`yzA? z?b$Z&KKL8*EssPAbIC6`wZM_Jb9Q96jz@}oN(k$ z!kp}l-xEEifUG4<#heDy@tXlN(RUVct#XN{&ql8~=PFL1FYGktJ!fN*0t9 z_eixeC>%2LTt&=rjU34dPvkT;;oZXmvNK4M!*o(Q3>!lRr ze#sB_iUZWk!JrJfjH`$6KMYODm+YZGf_)kDemV2wDB&+~nv|?t9K-!5N#;?m}KE52`4qR1QXB!U98Q>1Twzrr(xS&mt0%bY!f z{Igu2gQKLgG*H6w4j1NX*-U*ekj6#01jR}JGUgTdg}7JYT2OXV)^+SR;3nL{|2Eu# zU*T?$e1*gQSMcYwD`{iNIq`~Q)II+6$6+K>viro9vVA}tIqUQx<|B}Ca0+1uX>u}_ zQ$40lKMBgC%Q~ZcI}?s6(_r#0hBrdu4eOo(ZPcZIs|NgeNSb%cp8yMnzLf&Wi0>8oU zK?TjcCp8M0Z7Ynnk0Q-LdEv;*;HqKTGh*+^iE7d(#XS?q++`;YGI!qVUyHJkH>%eBPH!`!-Nmg5*YeF7b4lXmb~UAUNIP(=JjBTcdC?~yriZWxIps~t zFF)4>T+Ok|-YePb)Pj1l_B<8j6R<+~Pcd3X`xkb#`kOy3(j{*OG|t=9R8its@!FuT z$ZTu+iR@zdr6tXRTDyOc(H?y@^UZW|!j*uMPzp+;Llh^>X}sYr+1oU$y84*qQH?MWoKz=e7uTk#>aKoX|Nf>~!!^J(Yq|!SW?b7KGmTor zs||I?S3zyC=~u-y1UW&JR}kei)RcJ+p9}gh)4#53xYr!vHAk9Z&OYAjKf!BG^qP~r=47uq#WWkbrh2cZdClowbB5QPiEPnZ zQ~ug4^61Nlq$_!xZRXow6L(EDB3xtF9B@i4Yi=Qz?()8 zG8f__=`F&|H$E;l-O>jvA+GPfWzAihx|T8?@QncLP_h;iMIUKKA88IPprvbx-U?bn z8?M_zJKB{C+44-%2HMkiI=Eu0j?f8toe9$gxeFE~<8V=OSO`HvL@f`jt2C`w#*bx`o9t<3 zuN(R;G2<@RWt^Kz+-Wc!X249C1+!re`JM~&U_LCsZ6W3&SCCpvx^lKQhoh(^=(ZH( zJp5&ZS&n@Lti-+wR>K;urG9?Ez7~Fjb-1mE4X_cpn_x5UTVN|}gYEe3puTp(F4zrw zU@z>0{cr#dx@xIIu28KDBS1;=dlZ>%8`pOV+?EsN=2``U&(uiTt18 z6zR6(8R{Hm=p;XK*1Oc5Z0>8jjNW?nG zHO%X91MGymN&H)Io9jE6zoN%oxCi&)0qzemAHidI0#D%?Jck$X5?;Y;kh7-W5a%tt zgZJ(dY>ZSWeN-^JBBr(WuP9`zQ9Uphz+oy|TZz4`||L-1PCq%Ghnz@%%oDuM z%&+);Jtg6WQHBLbcL=9|%Cks8(k%pqgJtGS8^vA}iV?Rs zlz@_E_|42kH@RDbqED&dEy$2lM7Mau$hXwiczc-4r{i?d7}P)w z$2z?H)TV548WLVOz6ueEBbByI|#L9#% z2vwjeRDLI5z^Dl?7of9&B&-**{`p9h%Eaz*;IUClPIY_hC zIAkraA@SC7-3YTE_m9SyO_13X+0C#whZg86-%Yl}-U?d73!aJEV77&J&>lK~yla$q zkTS3B$aN?1ox#!>dl%>m-H_iMdO%O;1-+pU^o4KlO0D;y{c!6K17IKwg2Cu1?@>r`A@{01e0M3$eH|8kv$E$ zPk0A59s3O2J0N!^<}8>Eb3o4UpNlEyzxd9AnaA~f;w&J(d{?lL>qW2_mcUY22Fqau ztb|pt8rHxMuoixVb+8^bAa5gV3a+F!!xr4O!nWYDYJ0Gp!{b&vFn0#CE)2Va<-LNO z)ALU4p^WyT%RbEgn3EXq4`3c7{zCLVgn1Z_AopmnQymN5!Z)^C=NN{xh5kcB|8HCU}WD8{Ar*gY%?)A$Yfb5mVlk+IcQbP8oL~o#OP3 zOQds|d|YQlx`HX~SnBf^>{sEM_<_79yn((q;TF2ezTVr|@4&Bc7dMCDJ5R=~?geku z?-TC{(=^ zXd>26>|6)9d8UHll#2t?i9gGj$_2sTh7bq^55#awKWG0U_E^M^4RIhY#Dn;d01`qX zNKCjSq$lTHgmIk|!XX)ML)3Ea8~gMKu9HIwNC~MRHKc*Grfz&YgPe54@tEfp@qU2o z3|v1#Zbrgoa_=|CbKiOwxnrM+%rOoyZXeV$BPWZQ=0RP4E8+WasVOTtBTdeQH0QR+ z%L>^byP3uTp7jnfMzcTCeVCAk8M6_3n8 zJIY#m29=vQR+=`I2fh9&O%JEIai`St;-AkOKZ=u;sa2Jq_yuq;2!)`q`?y}jE%VXi zta%?N?c=0Qz5AG6+5Hpc;#5`KCn#gi-XUBy_es4v@Fp5PPMT#<1NWNVv}+Oe zASXim1FLjq8P=um$^EG|X?Qp(T4d!XpB_$%uH!zfM_{tM*pzhynRUIg>Ye&64QX+s2`|rhV~8^r`#6}Y zpV#Zy&yep6tc}X4v=^ugYc40xrbE2-C%r<}RgUNvbq`^V@%sRWm^+V0_5_%StnI8Z zN_&^{W+$QJWS9a|VH#oN`7J(7C+u~-lA7VZM4$P)ET0@X2VKI-TtoWaWu8(09`>*4 z&O~l;m~N(3NzHO!@yZuHt#sucaTFb2G9Jjfl(mK|y8ZGG@_o8+k4EMkkTYaN{vdvf zW`_GJ=yf2e-l=H={vXlLr^C++RumBdCd9m(svTkpc zH~V7D{9I=Z|NHc`` zPj~Oum%DHNEziC(5`X3(uo70GgUp3jV_yS5xNk9MmNs--UyI+5unu>buQtXWANd#X z`)hmnUN+CU$k;&Gjj+jm$84|P%Fw6x_i?0NfAzLkUs=n0Szp+1d9>P$)B*e6Y4=BI z!{5&AW^TsWxO23-f6KeHeP4Rg?yWTotBp&U%R3R#;T~(>-`CUs_8Hk1Bfxa@vGn}5Mb{Nn!@qhFfyrJ-i|ywb0@ zU+KTVRku9-ztFFd)^*a6`jNBla#tEy;zHnc6t0$!M6rO>MAs&8R?YZ0f<%XR6a>EPvpStzifnW8P?yveQ?&q(m z+c)qQ-obm^KEOx!7yT3FXZQlY!S8Nm`~iQ$SFTk^PK|?x3_7ARU_aY&Y$3ntej#7= zRQx&wyUb}LoHY=_&I;VhD%mg3FS8OhFvKt%A+t4S$TTe|gt;Ai6g#$^QaD;m5IMSif+inV7dkNc!m4w7G)d&zG|xEL#r(I1A> zXRSRnZbP1R@}Nsz$OqQDwh%+s#-tDA=b)tmP!K;^pNnAUzr?ZjKge?t_0B!Qt$T2n zU+S>VAT2~3D@+W^gzxjoYY`|4#X@2dE~^R(kbO6?41=>B zGi5a;-JXosGVgDOy*Y7PnDKn!rClbaPLmQRDRF%AWdBVT-Va%4V7DaStwItTttpo_ z*xN$8kYJ;|H!t#gXC08+k@Dyi5>89;tv@D1b~0oqL$>`YGmiXW$A;NCqX1#Q9?*4lsF19w?JlK1yr2-hUOyaq!FFKFYQqzA^6FRk7X8p)pe;7b{9p^c&BzjAI3?$B=XdSKZ z6_Oe|blD3kIt<2t2*`Vep_uX=gQPPIq#q4teP7e)^T&U{z81e9VI8c84X_dSO|Y19*o?Ua zx2>=Z`*zG7uoHHH%!}mQ!`+m7IBiYNGG2n)9{lzaejn_|egN|z9D>7e1dhTn_z8}~ z3BsL(soYAR@J{b%?5E%~oWcJroP+al0WRWxiF7YhuUEMK1@kKAHMox74a}Qx3vP3L z2Y!XS#JNXUIb-cU*AMW22#??~Jb|b148P~_0{csN1+U=^Zg1foGTy@nkoCQfxP8L^ zGv*i4_zm~pvHt;o!dKu24U`5t7+`~s^k+YQxZEG?5CDPT;D-&Jm_gv;U_M#D490Xr z2*?^`DDgcIgX@?O3t~f@Q2EVL)(Nr4gZPjDISC;VB!(mq21y|tl0gI{hZK+!QbB6u zry+h??2(X;>-3mz#|o7p)U7gdoe47ImIb0hXYw_Tv~l^(BKaMlaw;qFvk|5QeJMNk z9FP-o5njGuNJQRbtj>*F9>@#%AU|-AoPAagcPrX(0y=VsGs`XG{mn_XlA2=EtAn0_a>oP7;7b8 zjI~@3*P@Kr=-!O5&841kZ-IMDXoXvA++^Lk4cBd<9khoI&=ER8XXpZ5p&N9E9?%n= zWPa2OdvE9iebMJI=|}JjTk(NAnR!1;PPl&f_m2)IYj-v^fbbVML4P3bgPGwf4=*_gkYvvyx}VaQv*avvL2;M%vlDX=gUZ;5U}M zdib@kf!HP82=6|GaoER)W;bF{?h{C3BJw9;PKGHk6{f*-n1SDB?yNJhC!uA`BJOOM z19S14qA_k`pO1Y3EDX)TV}+HcMYu19C9o8~Wz^ep>?^RZgjFE>8CPSjfgkXj!Mm;j zuAH<@kztk3THJr6p4Wxu;<$xeaV$<}!JR zlZR_*H&P}tH{rfPSXmd^g1Hs8!S>L+)Nx+I=OsM%5!|fr$|PPsMh4N3J+G8U1nKS~ zUD=be+brvhJU?VNV%wsOJ-C027YCY zReaKv-#{uriLX~jLgjwxd%wi`BWcL|{uJ*|Wn4Li4nM(hIDtG_cd29J{)GK!@O=+= zDzuzBP24lModvn)ouj%rJNn1CwLwZKN({!9Umg+``;v%d+{UOnq!Klub zeLhK0E_9K;^)dJZ;jFf_kai>EP%!>(;!9b}dq{cr7J@!~m_vqQdLRbGgjf)pu!FP` zr1Oz{M5;KRNEH_u(ms9Z#3M|6kaepB#7PK=ATcC?Fh~mFkPIRqIi!G;kP1>m8b}L~ zkPgyA2FM7RATwlvD98%gJWiF}QaOOQT$fW6@*F86;Z z<*E2T;VpLwUx{a#zsj=wzL!~3jUU`~|3{AHE@{;JM;$GHpN{pvtM3N?P~Q#zN4}Lek>BV$ zeXRCV!PEF}GT5K%Y4SfZtTrQlO&K?&p4h)@wxMRx*G(D2Jp6K{RsX!3B)_r-^w1pt zT12~xn>=q-HrsnkZ@XZ>kT<-ne~O=!`yj2=|KZ;{I{m7qK5e3}tC`nrqpvOf+C^U< zHTy?|7H)ULE z2F;-bw1igB8oxHsmT>L3mc3KH-`bJ01KQ)(0Xjk_=nP#5-_;{~bFAOt>BhL!9eO}d zPZ#pnh4HD2IX?CBTvgV&OV&5~y(xpUlye_U-|q_cC2g6no#tLp-E1?~Jy4#h`w>pQ zo9R!Q1F-+V8r(q4L7uKg10E*^d%77zJQoSO$WWu3`SRWTIC@1r2dAkczH1T+XC(dbGSE;X`np-Wx5V&y{r0Un4li8$qfE1Xfl ziNPsqR74z6oTF%*jRT7F9Ms>(eGiPjN&Xq1@Tq&h|DdiKqd7zm+ z`|VtBw1)ah%nn;@cG?otMA&SX8Gp}0vgEfz{ntYNUC7XGum{Ljay#pjFp_XubKt;pw5!ee$hcT96a^mAxw z?f5w9C%{S22~L47a2n`*`EJ59;4C<2SJ3Xso;qAIbDlb;Tn4@13i+-=;~KaQZouzNc)DfF8G|DBM!syJ((^SfIym*-rkwSPygRmN=)8(P z?z8r;mn4;&n%Hu)m{9W;)h*lkyEe_cX9wA1)|vR|>y+2G=J(OX9zgFQctqM`@C3-m z-c!<^!DF6Rfh<&TZ!5yGfgLn?o`V4fzJZ zTbtv(vkigwl>Gocf=}Qx*S!-@Z>oo$ z*+KYCNnFW)?k(^4j;I>;gChFB-yb@o_7}8&+iK&vRVLtMyMq4hf?jP@&@;qCluW7_2jE{Bd|R&cURw4p1r{S_`2e z8Axy=yc9&QGl|sQ&p9>XsSB^kF~juq9#9#{SBUfw{T-seefdpt+C!>??>f@!hSJp* z^`HE;=JDK*amik?Yw|LggYd;GYeYT|vRz1lr&M5p18E=~o;9Y3hWtEc@Xnk{N$m}c z<=P_RjhwZZLEdr1Wp9<~A~v22IIjTv1RTJR2U#xQWrG|r!PV2>_3&9AmX~~6P*Cal{&LfV_8j#;k$*uY`-xbcEGn>eNzd!DjT$um> literal 0 HcmV?d00001 diff --git a/asset_sources/trefoil.blend b/asset_sources/trefoil.blend index b712d6b389025f14088ac8113221ac35d425c667..2ec185c9b5088ebdd6eb48b498b98b3df45136ff 100644 GIT binary patch delta 94260 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�(ps8QHdDrM+vd&QF7i^t)-9gn5X`Q- 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 Dictionary: + var data = Util.get_multiple(self, SERIAL_FIELDS) + + data["transform"] = Util.serialize_vec(Util.flatten_25d(transform.origin)) + return data + +func deserialize(data: Dictionary): + Util.set_multiple_only(self, data, SERIAL_FIELDS) + #for key in data.available_items.keys(): + # available_items[key] = ItemData.CommodityPrice(available_items[key]) + transform.origin = Util.raise_25d(Util.deserialize_vec(data["transform"])) + + +func spob_interact(): + pass + #get_tree().get_root().get_node("Main/UI/Map").assign_hypergate(self) + #get_tree().get_root().get_node("Main/UI/").toggle_map() diff --git a/entities/spobs/HyperspaceRelay.tscn b/entities/spobs/HyperspaceRelay.tscn new file mode 100644 index 0000000..a2d9c19 --- /dev/null +++ b/entities/spobs/HyperspaceRelay.tscn @@ -0,0 +1,30 @@ +[gd_scene load_steps=8 format=3 uid="uid://kfkxmyb2xhb0"] + +[ext_resource type="Script" path="res://entities/spobs/HyperspaceRelay.gd" id="1_50d0y"] +[ext_resource type="ArrayMesh" uid="uid://cbwbnvhfd5sy1" path="res://assets/eamonn/hyperspace_relay/hyperspace_relay.obj" id="2_6n4gq"] +[ext_resource type="Texture2D" uid="uid://vlv0g1wovm8o" path="res://assets/eamonn/station/Station_base.png" id="3_y71q6"] +[ext_resource type="Texture2D" uid="uid://dd426tf71mhor" path="res://assets/eamonn/station/Station_lights.png" id="4_en3t1"] +[ext_resource type="Texture2D" uid="uid://b2lm643e7evd2" path="res://assets/eamonn/station/Station_RM.png" id="5_chh5i"] +[ext_resource type="Texture2D" uid="uid://c51a8tdglxqb7" path="res://assets/eamonn/station/Station_N.png" id="6_wg37e"] + +[sub_resource type="StandardMaterial3D" id="StandardMaterial3D_dx8go"] +albedo_texture = ExtResource("3_y71q6") +metallic = 1.0 +metallic_texture = ExtResource("5_chh5i") +metallic_texture_channel = 2 +roughness_texture = ExtResource("5_chh5i") +emission_enabled = true +emission_texture = ExtResource("4_en3t1") +normal_enabled = true +normal_texture = ExtResource("6_wg37e") +texture_filter = 0 + +[node name="HyperspaceRelay" type="StaticBody3D"] +collision_layer = 9 +collision_mask = 0 +script = ExtResource("1_50d0y") + +[node name="Station" type="MeshInstance3D" parent="."] +transform = Transform3D(0.249264, 0.0442186, 0.967425, 0.889937, 0.38352, -0.246829, -0.381941, 0.922474, 0.0562461, 4, -6, -3.77353) +mesh = ExtResource("2_6n4gq") +surface_material_override/0 = SubResource("StandardMaterial3D_dx8go") diff --git a/export_presets.cfg b/export_presets.cfg index c63f3bb..faeb7e8 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -8,18 +8,17 @@ custom_features="" export_filter="all_resources" include_filter="" exclude_filter="" -export_path="export/windows/asteroids_22.exe" +export_path="export/windows/space_craft_22.exe" encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false -script_encryption_key="" [preset.0.options] custom_template/debug="" custom_template/release="" -debug/export_console_script=1 +debug/export_console_wrapper=1 binary_format/embed_pck=false texture_format/bptc=false texture_format/s3tc=true @@ -27,9 +26,6 @@ texture_format/etc=false texture_format/etc2=false binary_format/architecture="x86_64" codesign/enable=false -codesign/identity_type=0 -codesign/identity="" -codesign/password="" codesign/timestamp=true codesign/timestamp_server_url="" codesign/digest_algorithm=1 @@ -42,7 +38,7 @@ application/icon_interpolation=4 application/file_version="" application/product_version="" application/company_name="" -application/product_name="Asteroids '22" +application/product_name="Space Craft 22" application/file_description="" application/copyright="" application/trademarks="" @@ -79,13 +75,12 @@ encryption_include_filters="" encryption_exclude_filters="" encrypt_pck=false encrypt_directory=false -script_encryption_key="" [preset.1.options] custom_template/debug="" custom_template/release="" -debug/export_console_script=1 +debug/export_console_wrapper=1 binary_format/embed_pck=false texture_format/bptc=false texture_format/s3tc=true From 8cda262d2b9ee1b483ecad9415c104897bb801f1 Mon Sep 17 00:00:00 2001 From: EamonnMR Date: Wed, 2 Aug 2023 23:38:35 -0400 Subject: [PATCH 02/10] Buncha new icons --- asset_sources/bomb.xcf | Bin 0 -> 4127 bytes asset_sources/crucible.xcf | Bin 0 -> 5295 bytes asset_sources/flak.xcf | Bin 0 -> 3250 bytes asset_sources/guided.xcf | Bin 0 -> 1798 bytes asset_sources/hypersolenoid.xcf | Bin 0 -> 4763 bytes asset_sources/nanoforge.xcf | Bin 0 -> 5591 bytes asset_sources/panopticon_icon.xcf | Bin 0 -> 3136 bytes assets/damnwing_cc_by/zipgun_turret.png | Bin 0 -> 14130 bytes assets/danc_cc_by/icons/bomb_ammo.png | Bin 0 -> 1420 bytes assets/danc_cc_by/icons/bomb_launcher.png | Bin 0 -> 1225 bytes assets/danc_cc_by/icons/crucible.png | Bin 0 -> 1235 bytes assets/danc_cc_by/icons/flak.png | Bin 0 -> 1179 bytes assets/danc_cc_by/icons/flak_ammo.png | Bin 0 -> 1401 bytes assets/danc_cc_by/icons/hypersolenoid.png | Bin 0 -> 1299 bytes assets/danc_cc_by/icons/missile_ammo.png | Bin 0 -> 1352 bytes assets/danc_cc_by/icons/missile_battery.png | Bin 0 -> 1533 bytes assets/danc_cc_by/icons/missile_launcher.png | Bin 0 -> 1162 bytes assets/danc_cc_by/icons/nanoforge.png | Bin 0 -> 1543 bytes assets/danc_cc_by/icons/panopticon_icon.png | Bin 0 -> 1373 bytes assets/danc_cc_by/laser.png | Bin 0 -> 940 bytes data/items.csv | 20 ++++++++++++------- 21 files changed, 13 insertions(+), 7 deletions(-) create mode 100644 asset_sources/bomb.xcf create mode 100644 asset_sources/crucible.xcf create mode 100644 asset_sources/flak.xcf create mode 100644 asset_sources/guided.xcf create mode 100644 asset_sources/hypersolenoid.xcf create mode 100644 asset_sources/nanoforge.xcf create mode 100644 asset_sources/panopticon_icon.xcf create mode 100644 assets/damnwing_cc_by/zipgun_turret.png create mode 100644 assets/danc_cc_by/icons/bomb_ammo.png create mode 100644 assets/danc_cc_by/icons/bomb_launcher.png create mode 100644 assets/danc_cc_by/icons/crucible.png create mode 100644 assets/danc_cc_by/icons/flak.png create mode 100644 assets/danc_cc_by/icons/flak_ammo.png create mode 100644 assets/danc_cc_by/icons/hypersolenoid.png create mode 100644 assets/danc_cc_by/icons/missile_ammo.png create mode 100644 assets/danc_cc_by/icons/missile_battery.png create mode 100644 assets/danc_cc_by/icons/missile_launcher.png create mode 100644 assets/danc_cc_by/icons/nanoforge.png create mode 100644 assets/danc_cc_by/icons/panopticon_icon.png create mode 100644 assets/danc_cc_by/laser.png diff --git a/asset_sources/bomb.xcf b/asset_sources/bomb.xcf new file mode 100644 index 0000000000000000000000000000000000000000..213b2b37d41530c01a2b90ec9b236698f937904a GIT binary patch literal 4127 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 VBF}U19&){jxwwA1{)1|Xeg_$u>5c#Z literal 0 HcmV?d00001 diff --git a/asset_sources/guided.xcf b/asset_sources/guided.xcf new file mode 100644 index 0000000000000000000000000000000000000000..2c8dfcb7a2aadb1ca9eb10cc6bd496084a424d9f GIT binary patch literal 1798 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 KxPD={Cj0~91KtDx literal 0 HcmV?d00001 diff --git a/asset_sources/panopticon_icon.xcf b/asset_sources/panopticon_icon.xcf new file mode 100644 index 0000000000000000000000000000000000000000..ec04db772ce65726de9b93911dff95de3b484b81 GIT binary patch literal 3136 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 EKhV?(J^%m! literal 0 HcmV?d00001 diff --git a/assets/danc_cc_by/icons/bomb_ammo.png b/assets/danc_cc_by/icons/bomb_ammo.png new file mode 100644 index 0000000000000000000000000000000000000000..3fc3a8eac33d3bbde5884690c5fce4ca45387ca5 GIT binary patch literal 1420 zcmV;71#|j|P)EX>4Tx04R}tkv&MmKpe$iQ^g{c4t5Z6$WR5rf~bh2R-p(LLaorMgUO{|(4-+r zad8w}3l4rPRvlcNb#-tR1i=pwR~IKm7b)?7NufoI2gm(*ckglc4iFj@rdeI%fTr7K zI++l&xmB^}6(Iy6Ac9euS;m|srQkch?h)YYU7Tn6pZjz4sdx%ki;UEAVGwJ8p^1^Mx0ii6botEPx$x;UB5&wg<_Qpd2CnqBzuEw1K1r{) zwb&65*#<7I+nTZmT00006VoOIv00000008+zyMF)x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=LiD>A_l3)IQako02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00U%6L_t(o!|j*PYa~S!$3MLmu~uuL!4~Q;fj%_rtQlc& za*5u;B;K7Rr_n`O(codIWE!tEDls1#`&gLzA<)${_HHB*%VFF8FEdb6r zT$WCZw8DraUdLp~R3=oD^Y)`IHjD@Y%eAFN+AT{j9V}ly%HxmX$Qlrl5BA2NudVTN@-ezJBpX$BRzu&xpoD%2Lk(@` zm{-uvGI|AUR(`MsN!^1@Jm?5k_6Bpy%Y6MKBsU%X0{R8?^84XH1y^uoz8W`;b4O(V z9B^rSdz;4FJ#coKouB znVA{hU3-UoG$2c2%A&drK^W1hJLE?1CZl*AosS!5f3WzT6p?>LpOyDKYiO-$@T z_k&LiuR*tK1Fs+P?5q0Obxd#{@DO-PxK{(70e)_vzvFpcyRN>&pobLPaoK+&&Ethr z{ZS|)kBG=`_2O?Fqx-Vfe0JIfUac4YRYcS=x@T+M?;`T(X&SguFZ_N3?GLqf>Ff{1 aX~ln*+5c~i@(&#V0000EX>4Tx04R}tkv&MmKpe$iQ^g{c4t5Z6$WR5rf~bh2R-p(LLaorMgUO{|(4-+r zad8w}3l4rPRvlcNb#-tR1i=pwR~IKm7b)?7NufoI2gm(*ckglc4iFj@rdeI%fTr7K zI++l&xmB^}6(Iy6Ac9euS;m|srQkch?h)YYU7Tn6pZjz4sdx%ki;UEAVGwJ8p^1^Mx0ii6botEPx$x;UB5&wg<_Qpd2CnqBzuEw1K1r{) zwb&65*#<7I+nTZmT00006VoOIv00000008+zyMF)x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=LiD>At+uvX7vC702y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00N;&L_t(o!|jzXkK0TThaXo9w$ey7Sg;_#z#t$XAfVtt zK|w)b!3+Aa3i=TW4!q#NffpPw2naAR2naY3U|`@%BXz+_e!(X0>3VJB+*Ktv$liay zXJ&S0;n|+;+5WO+Q#a(6;r>`3rk^tzAh!&C6tEU!WgL$|$zyjmNOrQgaTqI@++!sH z7%SuV{^nnDqmv=BQ^l<>5$AE<1E8vC*Nz~wqNJ&=k*=8pVNS_+UM}%PiF2NhAKo#a zd9JFO|86R}uBF}9#Gv^3l6DJu*9@mZy!hP$bqk9566ccV^O)0eB!FY+^I1t*mVEs14uGqwrrGY<-L`~~(h!3ZgVOJ6f@%t_0mKbw-+|mR zs1(SoWU;!ydr#BU*gF-l-BiTBCH5Uyn}lF1`B)xzGhjL9|7h8 z-W&MmHP}*UE|YiO!bYKvu!*p>Fb}XYurzQL;Kn8ZvC!(zAauHoh>s$grAmf& zqNLeW^t+locJxu$`y$O3B_e_|p2~hgLU(|4K*!lBAOvCvXxDNJ_@X4JqP>ip#d)0b zynS=Qm&;4?*bxD>?r|wdQP2UPZ`QDQO;8zc`zY=`Wm$4{eN9_e*m$>*bmvvULmja< zZWK3GaEI@J00000NkvXXu0mjfTHq-v literal 0 HcmV?d00001 diff --git a/assets/danc_cc_by/icons/crucible.png b/assets/danc_cc_by/icons/crucible.png new file mode 100644 index 0000000000000000000000000000000000000000..aa7170efc68141ecda8ad0ba7bf7893852f5ca30 GIT binary patch literal 1235 zcmV;^1T6cBP)EX>4Tx04R}tkv&MmKpe$iQ^g{c4t5Z6$WR5rf~bh2R-p(LLaorMgUO{|(4-+r zad8w}3l4rPRvlcNb#-tR1i=pwR~IKm7b)?7NufoI2gm(*ckglc4iFj@rdeI%fTr7K zI++l&xmB^}6(Iy6Ac9euS;m|srQkch?h)YYU7Tn6pZjz4sdx%ki;UEAVGwJ8p^1^Mx0ii6botEPx$x;UB5&wg<_Qpd2CnqBzuEw1K1r{) zwb&65*#<7I+nTZmT00006VoOIv00000008+zyMF)x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=LiD=HymQpO`re(02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00OH?L_t(o!|j)`YZFl%$3K@In8F*LnBl4q$&ew#6*^dm zkfB4M-R+RUKOloh2bV%x96EMT=n$l%L)M~$LJ@~joTOle4jD4sa7d679vI>DIb4(U z(wOwFDGv4v2Y2v&zwhsUzu)`bJGjCB4lB(f@iA`z^r;742s`QG0A!LbCs>ez~F@t0DF_GVi35lY@St{Y5d`dS1Zdi+^-S?tWUIsEQ-mW*nwUbw%FAg9am28_<@j=vYpfouwBjp*EhY$-=p$t&yv6;1Z<_dli&)VGl~XF(Q< zsB$HJ0?tYa|Mk&SaqWkgpCc9c9+_BMHm$_lu%`orqaq7dHq1|UzOlGtp%**Wl|IJ< z7t{&GfrksFm#Lkwz1u`MYH)FHE>4&`cLwOY;=(LXL_1h**|gfbO|iQ4ZvFxPhCdv(5)Q==e6s)m002ovPDHLkV1l)2C)WS~ literal 0 HcmV?d00001 diff --git a/assets/danc_cc_by/icons/flak.png b/assets/danc_cc_by/icons/flak.png new file mode 100644 index 0000000000000000000000000000000000000000..871c7e65fc1113aee03ef5fbf791d7853d011e56 GIT binary patch literal 1179 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 JPDHLkV1hdMPu>6k literal 0 HcmV?d00001 diff --git a/assets/danc_cc_by/icons/missile_ammo.png b/assets/danc_cc_by/icons/missile_ammo.png new file mode 100644 index 0000000000000000000000000000000000000000..ac84308c63eda05d41669642f464aee78fcc5537 GIT binary patch literal 1352 zcmV-O1-JT%P)EX>4Tx04R}tkv&MmKpe$iQ^g{c4t5Z6$WR5rf~bh2R-p(LLaorMgUO{|(4-+r zad8w}3l4rPRvlcNb#-tR1i=pwR~IKm7b)?7NufoI2gm(*ckglc4iFj@rdeI%fTr7K zI++l&xmB^}6(Iy6Ac9euS;m|srQkch?h)YYU7Tn6pZjz4sdx%ki;UEAVGwJ8p^1^Mx0ii6botEPx$x;UB5&wg<_Qpd2CnqBzuEw1K1r{) zwb&65*#<7I+nTZmT00006VoOIv00000008+zyMF)x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=LiD>5HyTnJqQ2*02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00SUNL_t(o!|j((XcTu8$3L_ESqJ)4hPb73SnO8EFybm} z88PA>7Rf=|2!c|UQrbd$ZwexcmFC_Ygo?fNkH-l1P}V!oxFpccToy#oji#|2zZ`Hxm-qT4S?TyP6${gV&`45*(`-(kz6j9 z8ijQu5Ldl&oD>DM-UYtzQ>|73Xfzra?^CPQXt&xl8V%fnOQ19aKAj-+k9|`kV429| z#DyNh(OTo=9m?f0uIq+X1b%nT`LWUT3@IX~C6cec_*^U#(F(COVwq2>R-sxZQW+lV z+R`BKetfg{z@e_O6NJ}k4;o`OC!?`apv@<)f#Fd{Y6~k8i^=d605sApFz!BhY;K$fLd%I44+Ya_0ILPOjc{urf+rIvR{X=2mV<8efWTx znHdbjVEE{9CaWRT&E{N)P-~$_hrIP6U_|im2I|jpo}ZuR_1Ctb9y>X~3KZhGAPC9n zS+D2Jit3*#0|Nt`IycsB$9QvXE^9ou9^QXRME;DZ|DDx*Y>m|G_4xI0@o{^stF2kn zXPSt-6$QR4BI+rAZ$^IeBC@e>e>fs?ISPDo4ZhbR-xL3vU%W?Af?l)mCWOHN0000< KMNUMnLSTaJd1e;? literal 0 HcmV?d00001 diff --git a/assets/danc_cc_by/icons/missile_battery.png b/assets/danc_cc_by/icons/missile_battery.png new file mode 100644 index 0000000000000000000000000000000000000000..b48b173ae38df8b9ebb29a38ce0ba5d76db51cef GIT binary patch literal 1533 zcmVEX>4Tx04R}tkv&MmKpe$iQ^g{c4t5Z6$WR5rf~bh2R-p(LLaorMgUO{|(4-+r zad8w}3l4rPRvlcNb#-tR1i=pwR~IKm7b)?7NufoI2gm(*ckglc4iFj@rdeI%fTr7K zI++l&xmB^}6(Iy6Ac9euS;m|srQkch?h)YYU7Tn6pZjz4sdx%ki;UEAVGwJ8p^1^Mx0ii6botEPx$x;UB5&wg<_Qpd2CnqBzuEw1K1r{) zwb&65*#<7I+nTZmT00006VoOIv00000008+zyMF)x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=LiD>4?EF?E(ZVr02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00Y%YL_t(o!|j(*Xj^3z$A5Rd+MstMtl3C0x|T+X5Ts+7 z_>hNyb(_-JfkmcNR_i)^m{Rv3b97R0Fl2q`Hf0qCiU`&x1s`0|2az%Yn{^M91u0l< zM`M?CrCe*0UiIAPAqKo2y(V&OU zSQx)Ke`lXzIJ$>mw4Fd?AC5Q3(ZP?_1;DK4;sMNO^3>Y4O*|eal}wRHBnX8=IHm=T zO~%RF7i`zffY*aAjJ#J?a4gFr*c2odixCQi@>w``(PwC&Z*3J)(g8^$lIE0`kx~Ht zuXf7oL6(X97V>(~OI=<1VSHS+ZOd^SrPFDRj*cq)=p)+S_C(RXS^z7h48Y;ewqii9 z2lc$%E$4Szm1JUKLS4_q$^ch$1Rn!000*i8{Qld=sJriel)KK<@gtmy?BMK~Gb}DH z($dnx{zI?Vb{i$Nug1W^S9&B#f97)fxqGipxU6_RX!zVYNmA;@?3x)^RStJ|0 zZUBC~c8#~DZ!l3_s93`3GW2X+^VW>v3XU?|^g90#VR@|!j{H*;YuUer4d+~e6uV`C!# z-(R{^>6t$a3<5WSW#GId&n@dfp$8O3uUiMQ*{nLA-CNZAEi^owuLHBQvt@cWcDJOFrxUtW=YbV`#oun~I zLbsO53RG^Bl>8U_uO!v2u;1sdU6f>&=pU4nUNZpK`2k5ExE0D~54m0T jrlf5Z;&lA)zj%KE!sExnwT|}`00000NkvXXu0mjfkL|x} literal 0 HcmV?d00001 diff --git a/assets/danc_cc_by/icons/missile_launcher.png b/assets/danc_cc_by/icons/missile_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..1683b24cffa1b6f5e02b3a9b89fbd6da245f24d3 GIT binary patch literal 1162 zcmV;51aEX>4Tx04R}tkv&MmKpe$iQ^g{c4t5Z6$WR5rf~bh2R-p(LLaorMgUO{|(4-+r zad8w}3l4rPRvlcNb#-tR1i=pwR~IKm7b)?7NufoI2gm(*ckglc4iFj@rdeI%fTr7K zI++l&xmB^}6(Iy6Ac9euS;m|srQkch?h)YYU7Tn6pZjz4sdx%ki;UEAVGwJ8p^1^Mx0ii6botEPx$x;UB5&wg<_Qpd2CnqBzuEw1K1r{) zwb&65*#<7I+nTZmT00006VoOIv00000008+zyMF)x010qNS#tmY z3ljhU3ljkVnw%H_000McNliru=LiD>5FnPi>2&}A02y>eSad^gZEa<4bO1wgWnpw> zWFU8GbZ8()Nlj2!fese{00Lr3L_t(o!|j$YbK5W&hacwzygLDb0E2)40fT@5gMt8q zf`Wp9fWU%*fq{a7fr5U3f`NU2!GOVnf`NemgMfkp1A_ts1B2{NcQeqP3!J1*+O3I` zl&tTa&ZmFY`~IZ&k>JhVtf48Fav%R`HC;Ry9Ph=6R?~^v*8oVdn-i_3(d(|p>-q=* zo^0+!BL#vWAPhsKlmM9Gl@w4erPuXox7+mkeL9`a&MIuJz#{7PdQ%m|wiApoOePZm z;y7OE^CV?va1N?~&F|@Xf`N7!hCMtnd)+kb4NlO5Q#!$WtkQhB`o5C`Vv~ahFe@r) zjWI+~M4siuag5*du|k416t)__7`w9q%B8#+e_H{LloH+5gkgy9`&AUyEa!Z^Jl~#> zWm&pqWwUh$ELHIjM%Nica3v}Z2=NLW=#352Bq1kZJYW3aY53`E2!JcVS_r0a z;T~}{uUlJ1e|dg(7zb`|?>PT3T;g`n_tCmT*HZ}bxOg;;55R%8f;3$^(N>ZqNjW_U z8UMIu(63VQ=db86AZjZ~nq~OfCrMJ0d3&Dcn4%!fvX$|^_V<4XjVZ{od!$rIskoU$ zXx&++$IysK-MX^&Ew?7Eie|Rj?{WYe{0_q!_RHOOZLujoPs@C ci~rpo0AGFYAMt-NkpKVy07*qoM6N<$g0GPajsO4v literal 0 HcmV?d00001 diff --git a/assets/danc_cc_by/icons/nanoforge.png b/assets/danc_cc_by/icons/nanoforge.png new file mode 100644 index 0000000000000000000000000000000000000000..fcaf29fddd80350fa7fc8a5160e12b8a19b2e07a GIT binary patch literal 1543 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 Date: Wed, 9 Aug 2023 00:36:59 -0400 Subject: [PATCH 03/10] Fix outer ring links --- .../damnwing_cc_by/zipgun_turret.png.import | 35 +++++++++++++++ assets/danc_cc_by/icons/bomb_ammo.png.import | 35 +++++++++++++++ .../danc_cc_by/icons/bomb_launcher.png.import | 35 +++++++++++++++ assets/danc_cc_by/icons/crucible.png.import | 35 +++++++++++++++ assets/danc_cc_by/icons/flak.png.import | 35 +++++++++++++++ assets/danc_cc_by/icons/flak_ammo.png.import | 35 +++++++++++++++ .../danc_cc_by/icons/hypersolenoid.png.import | 35 +++++++++++++++ .../danc_cc_by/icons/missile_ammo.png.import | 35 +++++++++++++++ .../icons/missile_battery.png.import | 35 +++++++++++++++ .../icons/missile_launcher.png.import | 35 +++++++++++++++ assets/danc_cc_by/icons/nanoforge.png.import | 35 +++++++++++++++ .../icons/panopticon_icon.png.import | 35 +++++++++++++++ assets/danc_cc_by/laser.png.import | 35 +++++++++++++++ data/weapons.csv | 7 +-- procgen/Procgen.gd | 44 +++++++++++++------ 15 files changed, 490 insertions(+), 16 deletions(-) create mode 100644 assets/damnwing_cc_by/zipgun_turret.png.import create mode 100644 assets/danc_cc_by/icons/bomb_ammo.png.import create mode 100644 assets/danc_cc_by/icons/bomb_launcher.png.import create mode 100644 assets/danc_cc_by/icons/crucible.png.import create mode 100644 assets/danc_cc_by/icons/flak.png.import create mode 100644 assets/danc_cc_by/icons/flak_ammo.png.import create mode 100644 assets/danc_cc_by/icons/hypersolenoid.png.import create mode 100644 assets/danc_cc_by/icons/missile_ammo.png.import create mode 100644 assets/danc_cc_by/icons/missile_battery.png.import create mode 100644 assets/danc_cc_by/icons/missile_launcher.png.import create mode 100644 assets/danc_cc_by/icons/nanoforge.png.import create mode 100644 assets/danc_cc_by/icons/panopticon_icon.png.import create mode 100644 assets/danc_cc_by/laser.png.import diff --git a/assets/damnwing_cc_by/zipgun_turret.png.import b/assets/damnwing_cc_by/zipgun_turret.png.import new file mode 100644 index 0000000..7a0d298 --- /dev/null +++ b/assets/damnwing_cc_by/zipgun_turret.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bjnr61cqrtlev" +path.s3tc="res://.godot/imported/zipgun_turret.png-acb45a678d9847453cce6fa72b413ea7.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/damnwing_cc_by/zipgun_turret.png" +dest_files=["res://.godot/imported/zipgun_turret.png-acb45a678d9847453cce6fa72b413ea7.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/icons/bomb_ammo.png.import b/assets/danc_cc_by/icons/bomb_ammo.png.import new file mode 100644 index 0000000..d44da9a --- /dev/null +++ b/assets/danc_cc_by/icons/bomb_ammo.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dwuptc6om4c50" +path.s3tc="res://.godot/imported/bomb_ammo.png-15d99b4afecfd4aa9d64fe632e7b59c3.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/icons/bomb_ammo.png" +dest_files=["res://.godot/imported/bomb_ammo.png-15d99b4afecfd4aa9d64fe632e7b59c3.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/icons/bomb_launcher.png.import b/assets/danc_cc_by/icons/bomb_launcher.png.import new file mode 100644 index 0000000..b8f8238 --- /dev/null +++ b/assets/danc_cc_by/icons/bomb_launcher.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://blghctvebuivq" +path.s3tc="res://.godot/imported/bomb_launcher.png-1c374576f575c69081a60738a15ed693.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/icons/bomb_launcher.png" +dest_files=["res://.godot/imported/bomb_launcher.png-1c374576f575c69081a60738a15ed693.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/icons/crucible.png.import b/assets/danc_cc_by/icons/crucible.png.import new file mode 100644 index 0000000..ed27dec --- /dev/null +++ b/assets/danc_cc_by/icons/crucible.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d0b4bwbnmek8j" +path.s3tc="res://.godot/imported/crucible.png-dcfe96ef1676a72c0cdef3ee2f06db4c.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/icons/crucible.png" +dest_files=["res://.godot/imported/crucible.png-dcfe96ef1676a72c0cdef3ee2f06db4c.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/icons/flak.png.import b/assets/danc_cc_by/icons/flak.png.import new file mode 100644 index 0000000..a67fdf5 --- /dev/null +++ b/assets/danc_cc_by/icons/flak.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bvuffxmc3pgpm" +path.s3tc="res://.godot/imported/flak.png-d4a47d9af2cb7b43992b294d8c94aa72.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/icons/flak.png" +dest_files=["res://.godot/imported/flak.png-d4a47d9af2cb7b43992b294d8c94aa72.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/icons/flak_ammo.png.import b/assets/danc_cc_by/icons/flak_ammo.png.import new file mode 100644 index 0000000..9554a75 --- /dev/null +++ b/assets/danc_cc_by/icons/flak_ammo.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://vfjx5xt80k2v" +path.s3tc="res://.godot/imported/flak_ammo.png-6eca64984f788c2a8b6179aea5f5736d.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/icons/flak_ammo.png" +dest_files=["res://.godot/imported/flak_ammo.png-6eca64984f788c2a8b6179aea5f5736d.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/icons/hypersolenoid.png.import b/assets/danc_cc_by/icons/hypersolenoid.png.import new file mode 100644 index 0000000..5c1e1bf --- /dev/null +++ b/assets/danc_cc_by/icons/hypersolenoid.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bkkhqks55wgm3" +path.s3tc="res://.godot/imported/hypersolenoid.png-84a7faa84fa603d9aeeea850ae458932.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/icons/hypersolenoid.png" +dest_files=["res://.godot/imported/hypersolenoid.png-84a7faa84fa603d9aeeea850ae458932.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/icons/missile_ammo.png.import b/assets/danc_cc_by/icons/missile_ammo.png.import new file mode 100644 index 0000000..634dc1c --- /dev/null +++ b/assets/danc_cc_by/icons/missile_ammo.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://by4as13ohi5bh" +path.s3tc="res://.godot/imported/missile_ammo.png-77ae688f3545be5518f9e42d016b49db.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/icons/missile_ammo.png" +dest_files=["res://.godot/imported/missile_ammo.png-77ae688f3545be5518f9e42d016b49db.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/icons/missile_battery.png.import b/assets/danc_cc_by/icons/missile_battery.png.import new file mode 100644 index 0000000..32fd789 --- /dev/null +++ b/assets/danc_cc_by/icons/missile_battery.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://d3ei6pjcg1m3l" +path.s3tc="res://.godot/imported/missile_battery.png-f31cbf87a5aa170f04a6d0a8c3ebd41c.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/icons/missile_battery.png" +dest_files=["res://.godot/imported/missile_battery.png-f31cbf87a5aa170f04a6d0a8c3ebd41c.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/icons/missile_launcher.png.import b/assets/danc_cc_by/icons/missile_launcher.png.import new file mode 100644 index 0000000..73f5297 --- /dev/null +++ b/assets/danc_cc_by/icons/missile_launcher.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://do2kgyk55d76y" +path.s3tc="res://.godot/imported/missile_launcher.png-87e5fd24cee20170d2e6f63ad889efa5.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/icons/missile_launcher.png" +dest_files=["res://.godot/imported/missile_launcher.png-87e5fd24cee20170d2e6f63ad889efa5.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/icons/nanoforge.png.import b/assets/danc_cc_by/icons/nanoforge.png.import new file mode 100644 index 0000000..9bcc686 --- /dev/null +++ b/assets/danc_cc_by/icons/nanoforge.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bhdlqia51udm4" +path.s3tc="res://.godot/imported/nanoforge.png-28d6fd747209638deea22bd587f9e619.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/icons/nanoforge.png" +dest_files=["res://.godot/imported/nanoforge.png-28d6fd747209638deea22bd587f9e619.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/icons/panopticon_icon.png.import b/assets/danc_cc_by/icons/panopticon_icon.png.import new file mode 100644 index 0000000..4fdcbee --- /dev/null +++ b/assets/danc_cc_by/icons/panopticon_icon.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bo2mqph6vhic4" +path.s3tc="res://.godot/imported/panopticon_icon.png-45e196090011caa3f4ef06f2ad145142.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/icons/panopticon_icon.png" +dest_files=["res://.godot/imported/panopticon_icon.png-45e196090011caa3f4ef06f2ad145142.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/assets/danc_cc_by/laser.png.import b/assets/danc_cc_by/laser.png.import new file mode 100644 index 0000000..c2c9f45 --- /dev/null +++ b/assets/danc_cc_by/laser.png.import @@ -0,0 +1,35 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://dua3sa5gmdyog" +path.s3tc="res://.godot/imported/laser.png-4839499a64e435518eb02192d0e154b0.s3tc.ctex" +metadata={ +"imported_formats": ["s3tc_bptc"], +"vram_texture": true +} + +[deps] + +source_file="res://assets/danc_cc_by/laser.png" +dest_files=["res://.godot/imported/laser.png-4839499a64e435518eb02192d0e154b0.s3tc.ctex"] + +[params] + +compress/mode=2 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/hdr_compression=1 +compress/normal_map=0 +compress/channel_pack=0 +mipmaps/generate=false +mipmaps/limit=-1 +roughness/mode=0 +roughness/src_normal="" +process/fix_alpha_border=true +process/premult_alpha=false +process/normal_map_invert_y=false +process/hdr_as_srgb=false +process/hdr_clamp_exposure=false +process/size_limit=0 +detect_3d/compress_to=1 diff --git a/data/weapons.csv b/data/weapons.csv index 761b758..fc921a3 100644 --- a/data/weapons.csv +++ b/data/weapons.csv @@ -2,8 +2,9 @@ id,scene,projectile_scene,burst_count,burst_cooldown,cooldown,dupe_count,spread, plasma,res://component/Weapon.tscn,res://entities/Projectile.tscn,0,0,0.5,1,0.4,TRUE,0,,TRUE,6,1,0,FALSE missile_launcher,res://component/RocketLauncher.tscn,res://entities/projectiles/Missile.tscn,0,0,1,1,0,TRUE,0,missile,FALSE,10,10,10,FALSE railgun,res://component/Weapon.tscn,res://entities/projectiles/Railgun.tscn,0,0,0.8,1,0.2,TRUE,0,railgun_ammo,TRUE,15,1,0,FALSE -flak,res://component/Weapon.tscn,res://entities/projectiles/Flak.tscn,3,1.5,0.3,1,,TRUE,0,,,5,2,3,FALSE -guided_launcher,res://component/Weapon.tscn,res://entities/projectiles/GuidedMissile.tscn,0,0,1,1,,TRUE,0,,TRUE,8,5,0,FALSE -jackknife,res://component/Weapon.tscn,res://entities/projectiles/Jackknife.tscn,0,0,0.1,1,,FALSE,0,,TRUE,0,1,0,FALSE +flak,res://component/Weapon.tscn,res://entities/projectiles/Flak.tscn,3,1.5,0.3,1,0,TRUE,0,,,5,2,3,FALSE +guided_launcher,res://component/Weapon.tscn,res://entities/projectiles/GuidedMissile.tscn,0,0,1,1,0,TRUE,0,,TRUE,8,5,0,FALSE +jackknife,res://component/Weapon.tscn,res://entities/projectiles/Jackknife.tscn,0,0,0.1,1,0,FALSE,0,,TRUE,0,1,0,FALSE plasma_turret,res://component/Weapon.tscn,res://entities/projectiles/Projectile.tscn,0,0,0.5,2,0.4,TRUE,0,,TRUE,6,1,0,TRUE missile_battery,res://component/Weapon.tscn,res://entities/projectiles/GuidedMissile.tscn,0,0,5,10,0.7,TRUE,0,,FALSE,8,5,0,FALSE +bomb_launcher,res://component/Weapon.tscn,res://entities/projectiles/Projectile.tscn,0,0,0.5,1,0,TRUE,0,bomb_ammo,FALSE,0,20,20,FALSE diff --git a/procgen/Procgen.gd b/procgen/Procgen.gd index c301975..29bc5c4 100644 --- a/procgen/Procgen.gd +++ b/procgen/Procgen.gd @@ -7,12 +7,15 @@ var SYSTEMS_COUNT = int(RADIUS * RADIUS * DENSITY) var systems = {} var hyperlanes = [] var longjumps = [] +var hypergate_links = [] + var MIN_DISTANCE = 50 var MAX_LANE_LENGTH = 130 var MAX_GROW_ITERATIONS = 3 var SEED_DENSITY = 1.0/5.0 var quadrant_cache = {} + var quadrant_permutations_cache = {} @onready var rng: RandomNumberGenerator @@ -169,29 +172,44 @@ func generate_positions_and_links(): systems_by_position[position] = system_id var points = PackedVector2Array(systems_by_position.keys()) var link_mesh = Geometry2D.triangulate_delaunay(points) + + # TODO: https://stackoverflow.com/questions/10265749/find-border-boundary-edges-of-planar-graph-geometric-shape + # Index edges, count how many triangles each edge is part of + # Remove any edges only in one triangle. + + var edge_counts = {} + for i in range(0, link_mesh.size(), 3): + var tri = [ + link_mesh[i], + link_mesh[i+1], + link_mesh[i+2] + ] + for edge in [ + [tri[0], tri[1]], + [tri[1], tri[2]], + [tri[0], tri[2]], + ]: + edge.sort() + if edge in edge_counts: + edge_counts[edge] += 1 + else: + edge_counts[edge] = 1 + for edge in edge_counts: + if edge_counts[edge] < 2: + continue - var first_pos = points[link_mesh[i]] - var second_pos = points[link_mesh[i+1]] - var third_pos = points[link_mesh[i+2]] + var first_pos = points[edge[0]] + var second_pos = points[edge[1]] var first = systems_by_position[first_pos] var second = systems_by_position[second_pos] - var third = systems_by_position[third_pos] if Vector2(first_pos).distance_to(second_pos) < MAX_LANE_LENGTH: hyperlanes.append(HyperlaneData.new(first, second)) else: longjumps.append(HyperlaneData.new(first, second)) - if Vector2(first_pos).distance_to(third_pos) < MAX_LANE_LENGTH: - hyperlanes.append(HyperlaneData.new(first, third)) - else: - longjumps.append(HyperlaneData.new(first, third)) - if Vector2(second_pos).distance_to(third_pos) < MAX_LANE_LENGTH: - hyperlanes.append(HyperlaneData.new(second, third)) - else: - longjumps.append(HyperlaneData.new(second, third)) - + func cache_links(): for lane in hyperlanes: From b2ce1b02dd14dc1b6212f6b1ef85054d3323cd13 Mon Sep 17 00:00:00 2001 From: EamonnMR Date: Thu, 10 Aug 2023 00:27:22 -0400 Subject: [PATCH 04/10] Starting work on hypergates proper Refactors hypermesh generation. --- entities/spobs/HyperspaceRelay.gd | 5 +-- procgen/Procgen.gd | 73 ++++++++++++++++--------------- ui/map/Map.gd | 20 +++++++++ 3 files changed, 59 insertions(+), 39 deletions(-) diff --git a/entities/spobs/HyperspaceRelay.gd b/entities/spobs/HyperspaceRelay.gd index 9f8efc4..29cb622 100644 --- a/entities/spobs/HyperspaceRelay.gd +++ b/entities/spobs/HyperspaceRelay.gd @@ -42,6 +42,5 @@ func deserialize(data: Dictionary): func spob_interact(): - pass - #get_tree().get_root().get_node("Main/UI/Map").assign_hypergate(self) - #get_tree().get_root().get_node("Main/UI/").toggle_map() + get_tree().get_root().get_node("Main/UI/Map").assign_hypergate(hypergate_links) + get_tree().get_root().get_node("Main/UI/").toggle_map() diff --git a/procgen/Procgen.gd b/procgen/Procgen.gd index 29bc5c4..a99cf19 100644 --- a/procgen/Procgen.gd +++ b/procgen/Procgen.gd @@ -17,7 +17,7 @@ var quadrant_cache = {} var quadrant_permutations_cache = {} - +var systems_by_position = {} @onready var rng: RandomNumberGenerator @@ -159,7 +159,6 @@ func grow_attribute(_attribute): pass func generate_positions_and_links(): - var systems_by_position = {} for i in SYSTEMS_COUNT: var system_id = str(i) var system = SystemData.new() @@ -170,42 +169,12 @@ func generate_positions_and_links(): system.position = position systems[system_id] = system systems_by_position[position] = system_id - var points = PackedVector2Array(systems_by_position.keys()) - var link_mesh = Geometry2D.triangulate_delaunay(points) - - # TODO: https://stackoverflow.com/questions/10265749/find-border-boundary-edges-of-planar-graph-geometric-shape - # Index edges, count how many triangles each edge is part of - # Remove any edges only in one triangle. - var edge_counts = {} - - for i in range(0, link_mesh.size(), 3): - var tri = [ - link_mesh[i], - link_mesh[i+1], - link_mesh[i+2] - ] - for edge in [ - [tri[0], tri[1]], - [tri[1], tri[2]], - [tri[0], tri[2]], - ]: - edge.sort() - if edge in edge_counts: - edge_counts[edge] += 1 - else: - edge_counts[edge] = 1 - for edge in edge_counts: - if edge_counts[edge] < 2: - continue - - var first_pos = points[edge[0]] - var second_pos = points[edge[1]] - - var first = systems_by_position[first_pos] - var second = systems_by_position[second_pos] + for edge in get_linkmesh_edges_from_points(systems_by_position.keys()): + var first = systems_by_position[edge[0]] + var second = systems_by_position[edge[1]] - if Vector2(first_pos).distance_to(second_pos) < MAX_LANE_LENGTH: + if Vector2(edge[0]).distance_to(edge[1]) < MAX_LANE_LENGTH: hyperlanes.append(HyperlaneData.new(first, second)) else: longjumps.append(HyperlaneData.new(first, second)) @@ -491,3 +460,35 @@ func setup_trade(): for commodity in system_wide_commodity_prices: if random_select([true, false], rng): entity.available_items[commodity] = system_wide_commodity_prices[commodity] + +func get_linkmesh_edges_from_points(source_points): + # This mostly deals with the slightly odd format expected by triangulate_delaunay + + var points = PackedVector2Array(source_points) + var link_mesh = Geometry2D.triangulate_delaunay(points) + + var edge_counts = {} + + for i in range(0, link_mesh.size(), 3): + var tri = [ + link_mesh[i], + link_mesh[i+1], + link_mesh[i+2] + ] + for edge in [ + [tri[0], tri[1]], + [tri[1], tri[2]], + [tri[0], tri[2]], + ]: + edge.sort() + if edge in edge_counts: + edge_counts[edge] += 1 + else: + edge_counts[edge] = 1 + var linkmesh_edges = [] + for edge in edge_counts: + if edge_counts[edge] >= 2: + linkmesh_edges.append( + [points[edge[0]], points[edge[1]]] + ) + return linkmesh_edges diff --git a/ui/map/Map.gd b/ui/map/Map.gd index 9a10e61..aa5c0e1 100644 --- a/ui/map/Map.gd +++ b/ui/map/Map.gd @@ -10,6 +10,8 @@ var long_link_assoc_buckets = {} @onready var mode = $MarginContainer/NinePatchPanel/MarginContainer2/Panel/VBoxContainer/Mode +var temp_nodes = [] + func _ready(): _populate_mode_dropdown() _generate_map_nodes() @@ -109,3 +111,21 @@ func _on_Recenter_pressed(): func _on_Mode_item_selected(_index): _update_for_mode_switch() + +func assign_hypergate(links): + for link in links: + var lane = lane_class.instantiate() + var data = HyperlaneData.new(Client.current_system_id(), link) + + lane.data = data + lane.name = "temp_" + data.lsys + "_to_" + data.rsys + lane.type = Hyperlane.TYPE.WARPGATE + movement.add_child(lane) + movement.get_node(link).show() + +func unassign(): + for node in temp_nodes: + movement.remove_child(node) + temp_nodes = [] + + # TODO: Rehide systems From bde13540b68657fa24e3cf07041d55af86fd63f8 Mon Sep 17 00:00:00 2001 From: EamonnMR Date: Sat, 12 Aug 2023 23:33:08 -0400 Subject: [PATCH 05/10] Generate hyperspace relay links --- procgen/Procgen.gd | 29 +++++++++++++++++++++++++++++ ui/map/Map.gd | 9 +++++++++ 2 files changed, 38 insertions(+) diff --git a/procgen/Procgen.gd b/procgen/Procgen.gd index a99cf19..0772acf 100644 --- a/procgen/Procgen.gd +++ b/procgen/Procgen.gd @@ -73,6 +73,7 @@ func generate_systems(seed_value: int) -> String: populate_factions() name_systems() place_artificial_static_spawns() + connect_hyperspace_relays() setup_trade() # Remember, we had a return value. Client needs to know which system to start in. return start_sys @@ -443,6 +444,34 @@ func systems_sorted_by_distance() -> Array: system_ids.sort_custom(Callable(self,"system_distance_comparitor")) return system_ids +func connect_hyperspace_relays(): + var systems_with_hypergates = {} + var positions_of_systems_with_hypergates = [] + for system_id in systems: + var system = systems[system_id] + if "spobs" in system.entities: + for entity in system.entities.spobs: + if "hypergate_links" in entity: + systems_with_hypergates[system_id] = entity.spob_name + positions_of_systems_with_hypergates.append(system.position) + + for edge in get_linkmesh_edges_from_points(positions_of_systems_with_hypergates): + var first = systems_by_position[edge[0]] + var second = systems_by_position[edge[1]] + + var first_gate_id = systems_with_hypergates[first] + var second_gate_id = systems_with_hypergates[second] + + for entity in systems[first].entities: + if "hypergate_links" in entity: + entity.hypergate_links.append(systems_with_hypergates[second]) + + for entity in systems[second].entities: + if "hypergate_links" in entity: + entity.hypergate_links.append(systems_with_hypergates[first]) + + hypergate_links.append(HyperlaneData.new(first, second)) + func setup_trade(): # Setup commodities var commodities = [] diff --git a/ui/map/Map.gd b/ui/map/Map.gd index aa5c0e1..5a2a993 100644 --- a/ui/map/Map.gd +++ b/ui/map/Map.gd @@ -45,6 +45,14 @@ func _generate_map_nodes(): long_lane.hide() movement.add_child(long_lane) update_link_assoc_bucket(long_lane, long_link_assoc_buckets) + for i in Procgen.hypergate_links: + var long_lane = lane_class.instantiate() + long_lane.data = i + long_lane.type = Hyperlane.TYPE.WARPGATE + #if not (Cheats.explore_all and Cheats.longjump_enabled): + # long_lane.hide() + movement.add_child(long_lane) + update_link_assoc_bucket(long_lane, long_link_assoc_buckets) for i in Procgen.systems: var circle = circle_class.instantiate() circle.system_id = i @@ -52,6 +60,7 @@ func _generate_map_nodes(): if not Cheats.explore_all: circle.hide() movement.add_child(circle) + for i in Procgen.systems: if Procgen.systems[i].explored or Cheats.explore_all: From 2eabdfc28147c7ac6a9d89fbefc9b67aacc7e224 Mon Sep 17 00:00:00 2001 From: EamonnMR Date: Thu, 17 Aug 2023 21:39:18 -0400 Subject: [PATCH 06/10] Wrapping up hypergates for now - adding a cheat to show hyperlanes --- Cheats.gd | 5 ++++- procgen/Procgen.gd | 9 ++++++++- ui/map/Map.gd | 25 ++++++++++++++++++------- 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/Cheats.gd b/Cheats.gd index 41b495e..f790e61 100644 --- a/Cheats.gd +++ b/Cheats.gd @@ -33,7 +33,10 @@ var CHEATS = { "21a8297be0a2e4a39ec56a65015c0451": func make_player_invincible(args): var health = Client.player.get_node("Health") health.invulnerable = not health.invulnerable - return health.invulnerable + return health.invulnerable, + "1a8422b3ee8414b2f29e91b333a96004": func show_hypergate_lanes(args): + return Client.get_ui().get_node("Map").toggle_show_all_hypergate_lanes() + } func toggle(variable_name): diff --git a/procgen/Procgen.gd b/procgen/Procgen.gd index 0772acf..18b9c1f 100644 --- a/procgen/Procgen.gd +++ b/procgen/Procgen.gd @@ -26,6 +26,7 @@ func serialize() -> Dictionary: var serial_systems = {} var serial_hyperlanes = [] var serial_longjumps = [] + var serial_hypergate_links = [] for system_id in systems: serial_systems[system_id] = systems[system_id].serialize() @@ -33,10 +34,14 @@ func serialize() -> Dictionary: serial_hyperlanes.append([jump.lsys, jump.rsys]) for jump in longjumps: serial_longjumps.append([jump.lsys, jump.rsys]) + for jump in hypergate_links: + serial_hypergate_links.append([jump.lsys, jump.rsys]) + return { "systems": serial_systems, "hyperlanes": serial_hyperlanes, - "longjumps": serial_longjumps + "longjumps": serial_longjumps, + "hypergate_links": serial_hypergate_links } func deserialize(data: Dictionary): @@ -51,6 +56,8 @@ func deserialize(data: Dictionary): hyperlanes.append(HyperlaneData.new(lane[0], lane[1])) for lane in data["longjumps"]: longjumps.append(HyperlaneData.new(lane[0], lane[1])) + for lane in data["hypergate_links"]: + longjumps.append(HyperlaneData.new(lane[0], lane[1])) func random_location_in_system(rng: RandomNumberGenerator): diff --git a/ui/map/Map.gd b/ui/map/Map.gd index 5a2a993..6a8ba19 100644 --- a/ui/map/Map.gd +++ b/ui/map/Map.gd @@ -7,6 +7,8 @@ var link_assoc_buckets = {} var long_link_assoc_buckets = {} @onready var circle_class = preload("res://ui/map/system.tscn") @onready var lane_class = preload("res://ui/map/hyperlane.tscn") +var all_hypegate_links = [] +var hypergate_links_visible: bool = false @onready var mode = $MarginContainer/NinePatchPanel/MarginContainer2/Panel/VBoxContainer/Mode @@ -46,13 +48,13 @@ func _generate_map_nodes(): movement.add_child(long_lane) update_link_assoc_bucket(long_lane, long_link_assoc_buckets) for i in Procgen.hypergate_links: - var long_lane = lane_class.instantiate() - long_lane.data = i - long_lane.type = Hyperlane.TYPE.WARPGATE - #if not (Cheats.explore_all and Cheats.longjump_enabled): - # long_lane.hide() - movement.add_child(long_lane) - update_link_assoc_bucket(long_lane, long_link_assoc_buckets) + var gate_lane = lane_class.instantiate() + gate_lane.data = i + gate_lane.type = Hyperlane.TYPE.WARPGATE + gate_lane.hide() + movement.add_child(gate_lane) + update_link_assoc_bucket(gate_lane, long_link_assoc_buckets) + all_hypegate_links.append(gate_lane) for i in Procgen.systems: var circle = circle_class.instantiate() circle.system_id = i @@ -138,3 +140,12 @@ func unassign(): temp_nodes = [] # TODO: Rehide systems + +func toggle_show_all_hypergate_lanes(): + for link in all_hypegate_links: + if hypergate_links_visible: + link.hide() + else: + link.show() + hypergate_links_visible = not hypergate_links_visible + return hypergate_links_visible From ca55b57a6c9caa27a6bae654edd040babd4b069a Mon Sep 17 00:00:00 2001 From: EamonnMR Date: Fri, 18 Aug 2023 00:01:52 -0400 Subject: [PATCH 07/10] Folds iLisk faction into Autofac Cuts off D quadrant - all jumps in or out are now longjumps --- data/Data.gd | 36 ++++++++++++++++++++----------- data/ShipData.gd | 5 ++++- data/Spawn.gd | 9 +++++++- data/faction.gd | 6 +++--- data/factions.csv | 16 +++++++------- data/ships.csv | 16 +++++++------- data/spawns.csv | 31 +++++++++++++------------- data/static_systems.csv | 4 ++-- entities/spobs/HyperspaceRelay.gd | 2 +- entities/spobs/TormentNexus.gd | 2 +- procgen/Procgen.gd | 21 ++++++++++++------ procgen/SystemGen.gd | 7 +++--- 12 files changed, 92 insertions(+), 63 deletions(-) diff --git a/data/Data.gd b/data/Data.gd index da5d75a..64a8c1c 100644 --- a/data/Data.gd +++ b/data/Data.gd @@ -42,22 +42,22 @@ func _init(): var cls = class_and_dest[0] var dest = class_and_dest[1] set(dest, DataRow.load_from_csv(cls)) - load_text() - + + load_text() load_codex() cache_evergreen_spawns() cache_evergreen_preset_spawns() - # Tests - assert_ingredients_exist() - assert_spawns_exist() - assert_happy_markov() - assert_weapons_belonging_to_items_exist() - assert_weapon_ammo_types_exist() - verify_destination_field() - identify_farming_opportunities() - verify_spawns_have_scene_or_type() + # Tests + for method in get_method_list(): + for magic_name in [ + "assert_", + "verify_", + "identify_" + ]: + if method.name.begins_with(magic_name): + Callable(self, method.name).call() func load_codex(): codex = load_directory("res://data/codex") @@ -90,6 +90,7 @@ func load_directory(path: String) -> Dictionary: else: if file_name.ends_with(".bbcode"): directory[file_name.replace(".bbcode", "")] = "\n".join(load_lines(path + "/" + file_name)) + file_name = dir.get_next() return directory else: @@ -135,14 +136,23 @@ func assert_ingredients_exist(): # Test to prove that no recipes require nonexistent items for craftable_type in [ recipes, - builds -# ships + builds, + ships ]: for blueprint_id in craftable_type: var blueprint = craftable_type[blueprint_id ] for key in blueprint.ingredients: assert(key in items) +func assert_loot_exists(): + for lootable_type in [ + ships + ]: + for lootable_id in lootable_type: + var lootable = lootable_type[lootable_id] + for key in lootable.loot: + assert(key in items) + func assert_spawns_exist(): for biome_id in biomes: var biome = biomes[biome_id] diff --git a/data/ShipData.gd b/data/ShipData.gd index ff3336a..d32a726 100644 --- a/data/ShipData.gd +++ b/data/ShipData.gd @@ -22,7 +22,8 @@ var ingredients: Dictionary var icon: Texture2D var desc: String var require_level: int -var inherent_faction_id: int +var inherent_faction_id: String +var loot: Dictionary var make: String func derive_codex_path(): @@ -32,6 +33,7 @@ func _init(data): super._init(data) weapon_config = parse_colon_dict_string_values(data["weapon_config"]) ingredients = parse_colon_dict_int_values(data["ingredients"]) + loot = parse_colon_dict_int_values(data["ingredients"]) func apply_to_node(node): super.apply_to_node(node) @@ -39,6 +41,7 @@ func apply_to_node(node): node.bank_speed = bank_speed / turn node.get_node("Health").set_max_health(armor, shields) node.get_node("Health").set_shield_regen(shield_regen, shield_regen_delay) + node.get_node("Loot").loot_items = loot static func get_csv_path(): return "res://data/ships.csv" diff --git a/data/Spawn.gd b/data/Spawn.gd index 7260067..102fb78 100644 --- a/data/Spawn.gd +++ b/data/Spawn.gd @@ -12,13 +12,20 @@ var scene: PackedScene var destination: String var type: String var data_type: String -var faction: int +var faction: String var evergreen: bool var distance: float +var quadrants: Array[String] + static func get_csv_path(): return "res://data/spawns.csv" +func valid_for_quadrant(quadrant: String): + if not quadrants or quadrants == []: + return true + return quadrant in quadrants + func do_spawns(rng: RandomNumberGenerator) -> Array[Node]: var instances: Array[Node] = [] for i in range(count): diff --git a/data/faction.gd b/data/faction.gd index b2b025e..09f5efc 100644 --- a/data/faction.gd +++ b/data/faction.gd @@ -2,7 +2,7 @@ extends DataRow class_name FactionData -var id: int +var id: String var name: String var short: String var color: Color @@ -11,8 +11,8 @@ var core_systems_per_hundred: int var systems_radius: int var favor_galactic_center: int var peninsula_bonus: bool -var allies: Array[int] -var enemies: Array[int] +var allies: Array[String] +var enemies: Array[String] var disposition_per_player: Dictionary var destroy_penalty: float var destroy_foe_bonus: float diff --git a/data/factions.csv b/data/factions.csv index ec91e89..f9c4d3d 100644 --- a/data/factions.csv +++ b/data/factions.csv @@ -1,8 +1,8 @@ -id,name,short,color,initial_disposition,is_default,core_systems_per_hundred,systems_radius,npc_radius,host_spawn_anywhere,favor_galactic_center,peninsula_bonus,allies,enemies,destroy_penalty,destroy_foe_bonus,sys_name_scheme,skin,spawns_anywhere,spawns_system,spawns_core,spawns_adjacent,adjacency_radius -1,Union,Un,#0000FF,0,TRUE,3,2,2,TRUE,-1,TRUE,1,3 4 5,10,15,new_england,2,,ind_npcs,ind_npcs,ind_npcs,1 -2,Trader,Trd,#0000FF,20,FALSE,0,0,0,FALSE,0,FALSE,,,0,0,cornwall,2,,trader_npcs,trader_npcs,trader_npcs,1 -3,ILISK,Lsk,#FF0000,-10,FALSE,3,2,3,TRUE,1,FALSE,1,5 6 1,1,5,cali,0,,ilisk_npcs ilisk_station,ilisk_npcs,ilisk_npcs,1 -4,Pirate,Pir,#060606,-30,TRUE,1,0,6,FALSE,-2,TRUE,,1 2,0,0,illiad,1,,pirate_npcs,pirate_npcs,pirate_npcs,4 -5,Autofac,Afk,#000800,0,FALSE,4,1,3,TRUE,0,FALSE,,1 3,5,20,gilgamesh,2,,warpcorp_npcs,warpcorp_npcs,warpcorp_npcs,2 -6,Twilight,Soc,#FFFF00,0,FALSE,2,1,2,FALSE,-2,TRUE,1,1 2 3 4 5,20,5,tain,5,,twilight_npcs,twilight_npcs,twilight_npcs,2 -7,MIC,Mic,#00FF00,100,FALSE,0,0,0,FALSE,0,FALSE,,,0,0,tain,6,,,,,0 +id,name,short,color,initial_disposition,is_default,core_systems_per_hundred,systems_radius,npc_radius,host_spawn_anywhere,favor_galactic_center,peninsula_bonus,allies,enemies,destroy_penalty,destroy_foe_bonus,sys_name_scheme,skin,spawns_system,spawns_core,spawns_adjacent,adjacency_radius +union,Union,Un,#0000FF,0,TRUE,3,2,2,TRUE,-1,TRUE,trader,autofac pirate,10,15,new_england,2,ind_npcs,ind_npcs,ind_npcs,1 +trader,Trader,Trd,#0000FF,20,FALSE,0,0,0,FALSE,0,FALSE,,,0,0,cornwall,2,trader_npcs,trader_npcs,trader_npcs,1 +pirate,Pirate,Pir,#060606,-30,TRUE,1,0,6,FALSE,-2,TRUE,,trader union autofac,0,0,illiad,1,pirate_npcs,pirate_npcs,pirate_npcs,4 +autofac,Autofac,Afk,#FF0000,0,FALSE,4,1,3,TRUE,0,FALSE,,union,5,20,cali,2,autofac_npcs_a autofac_npcs_b autofac_npcs_c autofac_npcs_d,autofac_npcs_a autofac_npcs_b autofac_npcs_c autofac_npcs_d,autofac_npcs_a autofac_npcs_b autofac_npcs_c autofac_npcs_d,2 +twilight,Twilight,Soc,#FFFF00,0,FALSE,2,1,2,FALSE,-2,TRUE,1,union pirate autofac,20,5,tain,5,twilight_npcs,twilight_npcs,twilight_npcs,2 +mic,MIC,Mic,#00FF00,100,FALSE,0,0,0,FALSE,0,FALSE,,,0,0,tain,6,,,,0 +jumpstar,JumpStar,JS,#5050A0,0,FALSE,0,0,0,FALSE,0,FALSE,trader,,100,0,tain,7,,,,0 diff --git a/data/ships.csv b/data/ships.csv index 5f6a773..4dd8b10 100644 --- a/data/ships.csv +++ b/data/ships.csv @@ -1,8 +1,8 @@ -id,name,subtitle,make,max_speed,accel,turn,max_bank,bank_speed,armor,shields,shield_regen,shield_regen_delay,engagement_range,standoff,scene,screen_box_side_length,weapon_config,require_level,ingredients,scrap_value,inherent_faction_id,icon,desc -nimbus,Nimbus,Vintage Fighter,MIC,5,0.03,1,15,2.5,20,10,2,5,4,FALSE,res://entities/ship/ship_types/Nimbus.tscn,100,LeftGun: plasma; RightGun: plasma,0,metal: 6,,7,res://assets/eamonn/icons/neutral.png,This lostech space fighter might as well be from another world. -- Syd -burner,Burner,Minimalism,Perth Starworks,8,0.06,1,20,3,10,5,2,8,4,FALSE,res://entities/ship/ship_types/Burner.tscn,100,LeftGun: plasma,0,metal: 5,,4,res://assets/eamonn/icons/burner.png,"It’s fast. Ok, there, I listed all the good qualities. --Krish" -dragon,Dragon,Light Gunship,iLisk,4,0.02,0.8,15,1,32,20,2,4,7,TRUE,res://entities/ship/ship_types/Dragon.tscn,200,LeftGun: plasma; RightGun: plasma,2,metal: 4,,3,res://assets/eamonn/icons/dragon.png,A contrarian gunship design if there ever was one. --Krish -delivery,Delivery,On Schedule,Autofac Starships Division,3,0.05,1,15,1,12,10,2,6,5,FALSE,res://entities/ship/ship_types/Delivery.tscn,150,LeftGun: plasma,0,metal: 3,,5,res://assets/eamonn/icons/delivery.png,"Designed to make cargo runs, but mostly seen on the prowl –No 7" -cargo,Heighliner,Bulk Cargo,Avon Aviation,3,0.02,0.5,5,0.5,44,20,2,5,2,TRUE,res://entities/ship/ship_types/Cargo.tscn,200,LeftGun: plasma,0,metal: 2,,2,res://assets/eamonn/icons/heighliner.png,"Big cargo capacity and, well, big cargo capacity. --Krish" -melchior,Melchior,Self Driving,Twilight,3,0.4,0.5,10,0.5,64,64,1,4,6,TRUE,res://entities/ship/ship_types/Melchior.tscn,200,LeftFrontGun: plasma; RightFrontGun: plasma,10,metal: 1,,6,res://assets/eamonn/icons/melchior.png,I’m truly impressed by this design. It’s got Urizen’s hands all over it. --Syd -aerospace,Aerospace,Dropship,MIC,4,0.025,0.8,17,2.2,30,20,2,5,3,TRUE,res://entities/ship/ship_types/Aerospace.tscn,100,LeftGun: plasma; RightGun: plasma,0,metal: 7,,7,res://assets/eamonn/icons/gifts_ungiven.png,"Perfect for troop transport under fire in atmo. Out here in space, well, it’s airtight. --Syd" +id,name,subtitle,make,max_speed,accel,turn,max_bank,bank_speed,armor,shields,shield_regen,shield_regen_delay,engagement_range,standoff,scene,screen_box_side_length,weapon_config,require_level,ingredients,scrap_value,loot,inherent_faction_id,icon,desc +nimbus,Nimbus,Vintage Fighter,MIC,5,0.03,1,15,2.5,20,10,2,5,4,FALSE,res://entities/ship/ship_types/Nimbus.tscn,100,LeftGun: plasma; RightGun: plasma,0,metal: 6,,metal: 6,mic,res://assets/eamonn/icons/neutral.png,This lostech space fighter might as well be from another world. -- Syd +burner,Burner,Minimalism,Perth Starworks,8,0.06,1,20,3,10,5,2,8,4,FALSE,res://entities/ship/ship_types/Burner.tscn,100,LeftGun: plasma,0,metal: 5,,metal: 6,trader,res://assets/eamonn/icons/burner.png,"It’s fast. Ok, there, I listed all the good qualities. --Krish" +dragon,Dragon,Light Gunship,Autofac Starships Division,4,0.02,0.8,15,1,32,20,2,4,7,TRUE,res://entities/ship/ship_types/Dragon.tscn,200,LeftGun: plasma; RightGun: plasma,2,metal: 4,,Metal: 6 panopticon: 1,autofac,res://assets/eamonn/icons/dragon.png,A contrarian gunship design if there ever was one. --Krish +delivery,Delivery,On Schedule,Autofac Starships Division,3,0.05,1,15,1,12,10,2,6,5,FALSE,res://entities/ship/ship_types/Delivery.tscn,150,LeftGun: plasma,0,metal: 3,,Metal: 6 nanoforge: 1,autofac,res://assets/eamonn/icons/delivery.png,"Designed to make cargo runs, but mostly seen on the prowl –No 7" +cargo,Heighliner,Bulk Cargo,Avon Aviation,3,0.02,0.5,5,0.5,44,20,2,5,2,TRUE,res://entities/ship/ship_types/Cargo.tscn,200,LeftGun: plasma,0,metal: 2,,metal: 6,trader,res://assets/eamonn/icons/heighliner.png,"Big cargo capacity and, well, big cargo capacity. --Krish" +melchior,Melchior,Self Driving,Twilight,3,0.4,0.5,10,0.5,64,64,1,4,6,TRUE,res://entities/ship/ship_types/Melchior.tscn,200,LeftFrontGun: plasma; RightFrontGun: plasma,10,metal: 1,,metal: 6,twilight,res://assets/eamonn/icons/melchior.png,I’m truly impressed by this design. It’s got Urizen’s hands all over it. --Syd +aerospace,Aerospace,Dropship,MIC,4,0.025,0.8,17,2.2,30,20,2,5,3,TRUE,res://entities/ship/ship_types/Aerospace.tscn,100,LeftGun: plasma; RightGun: plasma,0,metal: 7,,metal: 6,mic,res://assets/eamonn/icons/gifts_ungiven.png,"Perfect for troop transport under fire in atmo. Out here in space, well, it’s airtight. --Syd" diff --git a/data/spawns.csv b/data/spawns.csv index adc8342..b69ac89 100644 --- a/data/spawns.csv +++ b/data/spawns.csv @@ -1,15 +1,16 @@ -id,count,preset,natural,chance,scene,type,faction,destination,evergreen,data_type,distance -asteroids,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLarge.tscn,,,asteroids,FALSE,,0.5 -asteroids_green,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLargeGreen.tscn,,,asteroids,FALSE,,0.5 -asteroids_blue,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLargeBlue.tscn,,,asteroids,FALSE,,0.5 -ind_npcs,1,FALSE,FALSE,1,,burner,1,npcs,FALSE,ships,1 -trader_npcs,1,FALSE,FALSE,1,,cargo,2,npcs,TRUE,ships,1 -ilisk_npcs,1,FALSE,FALSE,1,,dragon,3,npcs,FALSE,ships,1 -pirate_npcs,2,FALSE,FALSE,1,,nimbus,4,npcs,FALSE,ships,1 -warpcorp_npcs,1,FALSE,FALSE,1,,delivery,5,npcs,FALSE,ships,1 -twilight_npcs,1,FALSE,FALSE,0.3,,melchior,6,npcs,FALSE,ships,1 -planet,3,TRUE,TRUE,0.5,res://entities/spobs/Spob.tscn,,,spobs,FALSE,,0.0001 -fallen_station,1,TRUE,TRUE,0.1,res://entities/spobs/FallenStation.tscn,,,spobs,TRUE,,0.0002 -ilisk_station,1,TRUE,FALSE,0.8,res://entities/spobs/CompactStation.tscn,,,spobs,FALSE,,0.0002 -torment_nexus,1,TRUE,FALSE,1,res://entities/spobs/TormentNexus.tscn,,,spobs,FALSE,,0.1 -hypergate,1,TRUE,TRUE,0.05,res://entities/spobs/HyperspaceRelay.tscn,,8,spobs,TRUE,,0.0002 +id,count,preset,natural,chance,scene,type,faction,destination,evergreen,data_type,distance,quadrants +asteroids,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLarge.tscn,,,asteroids,FALSE,,0.5, +asteroids_green,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLargeGreen.tscn,,,asteroids,FALSE,,0.5, +asteroids_blue,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLargeBlue.tscn,,,asteroids,FALSE,,0.5, +ind_npcs,1,FALSE,FALSE,1,,burner,union,npcs,FALSE,ships,1, +trader_npcs,1,FALSE,FALSE,1,,cargo,trader,npcs,TRUE,ships,1,A B +pirate_npcs,2,FALSE,FALSE,1,,nimbus,pirate,npcs,FALSE,ships,1,A B C +autofac_npcs_a,1,FALSE,FALSE,1,,delivery,autofac,npcs,FALSE,ships,1,A B C D +autofac_npcs_b,1,FALSE,FALSE,1,,dragon,autofac,npcs,FALSE,ships,1,B C D +autofac_npcs_c,1,FALSE,FALSE,1,,dragon,autofac,npcs,FALSE,ships,1,C D +autofac_npcs_d,1,FALSE,FALSE,1,,dragon,autofac,npcs,FALSE,ships,1,D +twilight_npcs,1,FALSE,FALSE,0.3,,melchior,twilight,npcs,FALSE,ships,1,C D +planet,3,TRUE,TRUE,0.5,res://entities/spobs/Spob.tscn,,,spobs,FALSE,,0.0001, +fallen_station,1,TRUE,TRUE,0.1,res://entities/spobs/FallenStation.tscn,,,spobs,TRUE,,0.0002, +torment_nexus,1,TRUE,FALSE,1,res://entities/spobs/TormentNexus.tscn,,autofac,spobs,FALSE,,0.1, +hypergate,1,TRUE,TRUE,0.05,res://entities/spobs/HyperspaceRelay.tscn,,8,spobs,TRUE,,0.0002,A B C diff --git a/data/static_systems.csv b/data/static_systems.csv index e6a12f7..1c9e8c8 100644 --- a/data/static_systems.csv +++ b/data/static_systems.csv @@ -1,3 +1,3 @@ id,name,spawns,quadrants,auto_explore,startloc,biome,faction_id -start,Providence,,A,TRUE,TRUE,empty,7 -boss,The Snake Eyes,torment_nexus,D,TRUE,FALSE,gold,3 +start,Providence,,A,TRUE,TRUE,empty,mic +boss,The Snake Eyes,torment_nexus,D,TRUE,FALSE,gold,autofac diff --git a/entities/spobs/HyperspaceRelay.gd b/entities/spobs/HyperspaceRelay.gd index 29cb622..6e22049 100644 --- a/entities/spobs/HyperspaceRelay.gd +++ b/entities/spobs/HyperspaceRelay.gd @@ -4,7 +4,7 @@ var type: String var item_screen_box_side_length = 200 -var faction = "3" +var faction = "jumpstar" var spob_name: String var hypergate_links: Array var spob_prefix = "HPG-" diff --git a/entities/spobs/TormentNexus.gd b/entities/spobs/TormentNexus.gd index 52a15f6..3ec482d 100644 --- a/entities/spobs/TormentNexus.gd +++ b/entities/spobs/TormentNexus.gd @@ -4,7 +4,7 @@ var type: String var item_screen_box_side_length = 200 -var faction = "3" +var faction = "autofac" func display_name(): return "The Torment Nexus" diff --git a/procgen/Procgen.gd b/procgen/Procgen.gd index 18b9c1f..9f3a39d 100644 --- a/procgen/Procgen.gd +++ b/procgen/Procgen.gd @@ -72,7 +72,6 @@ func generate_systems(seed_value: int) -> String: generate_positions_and_links() cache_links() calculate_system_distances() - calculate_system_quadrants() var start_sys = place_static_systems() place_preset_static_spawns() populate_biomes() @@ -177,15 +176,17 @@ func generate_positions_and_links(): system.position = position systems[system_id] = system systems_by_position[position] = system_id + + calculate_system_quadrants() for edge in get_linkmesh_edges_from_points(systems_by_position.keys()): var first = systems_by_position[edge[0]] var second = systems_by_position[edge[1]] - if Vector2(edge[0]).distance_to(edge[1]) < MAX_LANE_LENGTH: - hyperlanes.append(HyperlaneData.new(first, second)) - else: + if Vector2(edge[0]).distance_to(edge[1]) >= MAX_LANE_LENGTH or quadrant_based_longjump(first, second): longjumps.append(HyperlaneData.new(first, second)) + else: + hyperlanes.append(HyperlaneData.new(first, second)) func cache_links(): @@ -358,7 +359,7 @@ func place_static_spawns(get_spawns: Callable): var spawns = get_spawns.call(system) for spawn_id in spawns: var spawn = Data.spawns[spawn_id] - if spawn.preset: + if spawn.preset and spawn.valid_for_quadrant(system.quadrant): print(system_id) var entities = spawn.do_spawns(rng) var i: int = 0 @@ -427,16 +428,17 @@ func calculate_system_quadrants(): var system = systems[system_id] system.quadrant = assign_quadrant(system.position) quadrant_cache[system.quadrant].push_back(system_id) + func assign_quadrant(position: Vector2) -> String: var normalized_position = sign(position) match normalized_position: Vector2(1,1): return "A" - Vector2(1,-1): + Vector2(-1,1): return "B" Vector2(-1,-1): return "C" - Vector2(-1,1): + Vector2(1,-1): return "D" return "A" @@ -528,3 +530,8 @@ func get_linkmesh_edges_from_points(source_points): [points[edge[0]], points[edge[1]]] ) return linkmesh_edges + +func quadrant_based_longjump(first_id, second_id): + var first = systems[first_id] + var second = systems[second_id] + return first.quadrant != second.quadrant and "D" in [first.quadrant, second.quadrant] diff --git a/procgen/SystemGen.gd b/procgen/SystemGen.gd index fcc1f57..610c033 100644 --- a/procgen/SystemGen.gd +++ b/procgen/SystemGen.gd @@ -40,6 +40,7 @@ func do_spawns(seed_value: int, system: SystemData, gameplay: Node): var spawn: SpawnData = Data.spawns[spawn_id] print(spawn.id) if not spawn.preset: - var entities = spawn.do_spawns(rng) - for instance in entities: - gameplay.get_node(spawn.destination).add_child(instance) + if spawn.valid_for_quadrant(system.quadrant): + var entities = spawn.do_spawns(rng) + for instance in entities: + gameplay.get_node(spawn.destination).add_child(instance) From 9e0e694601d2556da04b5aa390aeb978b0dbaded Mon Sep 17 00:00:00 2001 From: EamonnMR Date: Fri, 18 Aug 2023 23:47:55 -0400 Subject: [PATCH 08/10] Hypergates: Show the map when you land, show links, jump when system is selected --- Client.gd | 2 +- data/spawns.csv | 1 + data/static_systems.csv | 2 +- entities/spobs/HyperspaceRelay.gd | 5 ++-- entities/spobs/HyperspaceRelay.tscn | 8 +++++- ui/Ui.gd | 5 +++- ui/map/Map.gd | 40 +++++++++++++++++++---------- 7 files changed, 44 insertions(+), 19 deletions(-) diff --git a/Client.gd b/Client.gd index 9c40719..0df78e3 100644 --- a/Client.gd +++ b/Client.gd @@ -66,7 +66,7 @@ func current_system_id(): func map_select_system(system_id, system_node): sel_sys(system_id, system_node) - emit_signal("system_selection_updated") + system_selection_updated.emit() func sel_sys(system_id, node): selected_system = system_id diff --git a/data/spawns.csv b/data/spawns.csv index b69ac89..f8c436f 100644 --- a/data/spawns.csv +++ b/data/spawns.csv @@ -14,3 +14,4 @@ planet,3,TRUE,TRUE,0.5,res://entities/spobs/Spob.tscn,,,spobs,FALSE,,0.0001, fallen_station,1,TRUE,TRUE,0.1,res://entities/spobs/FallenStation.tscn,,,spobs,TRUE,,0.0002, torment_nexus,1,TRUE,FALSE,1,res://entities/spobs/TormentNexus.tscn,,autofac,spobs,FALSE,,0.1, hypergate,1,TRUE,TRUE,0.05,res://entities/spobs/HyperspaceRelay.tscn,,8,spobs,TRUE,,0.0002,A B C +hypergate100,1,TRUE,TRUE,1,res://entities/spobs/HyperspaceRelay.tscn,,8,spobs,FALSE,,1,A B C diff --git a/data/static_systems.csv b/data/static_systems.csv index 1c9e8c8..43cac47 100644 --- a/data/static_systems.csv +++ b/data/static_systems.csv @@ -1,3 +1,3 @@ id,name,spawns,quadrants,auto_explore,startloc,biome,faction_id -start,Providence,,A,TRUE,TRUE,empty,mic +start,Providence,hypergate100,A,TRUE,TRUE,empty,mic boss,The Snake Eyes,torment_nexus,D,TRUE,FALSE,gold,autofac diff --git a/entities/spobs/HyperspaceRelay.gd b/entities/spobs/HyperspaceRelay.gd index 6e22049..a0b43cc 100644 --- a/entities/spobs/HyperspaceRelay.gd +++ b/entities/spobs/HyperspaceRelay.gd @@ -2,7 +2,7 @@ extends StaticBody3D var type: String -var item_screen_box_side_length = 200 +var item_screen_box_side_length = 1000 var faction = "jumpstar" var spob_name: String @@ -25,7 +25,8 @@ func _ready(): const SERIAL_FIELDS = [ "spob_name", "type", - "hypergate_links" + "hypergate_links", + "scene_file_path" ] func serialize() -> Dictionary: diff --git a/entities/spobs/HyperspaceRelay.tscn b/entities/spobs/HyperspaceRelay.tscn index a2d9c19..0a9a64f 100644 --- a/entities/spobs/HyperspaceRelay.tscn +++ b/entities/spobs/HyperspaceRelay.tscn @@ -1,4 +1,4 @@ -[gd_scene load_steps=8 format=3 uid="uid://kfkxmyb2xhb0"] +[gd_scene load_steps=9 format=3 uid="uid://kfkxmyb2xhb0"] [ext_resource type="Script" path="res://entities/spobs/HyperspaceRelay.gd" id="1_50d0y"] [ext_resource type="ArrayMesh" uid="uid://cbwbnvhfd5sy1" path="res://assets/eamonn/hyperspace_relay/hyperspace_relay.obj" id="2_6n4gq"] @@ -19,6 +19,9 @@ normal_enabled = true normal_texture = ExtResource("6_wg37e") texture_filter = 0 +[sub_resource type="CylinderShape3D" id="CylinderShape3D_a8y1r"] +radius = 1.42852 + [node name="HyperspaceRelay" type="StaticBody3D"] collision_layer = 9 collision_mask = 0 @@ -28,3 +31,6 @@ script = ExtResource("1_50d0y") transform = Transform3D(0.249264, 0.0442186, 0.967425, 0.889937, 0.38352, -0.246829, -0.381941, 0.922474, 0.0562461, 4, -6, -3.77353) mesh = ExtResource("2_6n4gq") surface_material_override/0 = SubResource("StandardMaterial3D_dx8go") + +[node name="CollisionShape3D" type="CollisionShape3D" parent="."] +shape = SubResource("CylinderShape3D_a8y1r") diff --git a/ui/Ui.gd b/ui/Ui.gd index 21c3452..c36b88b 100644 --- a/ui/Ui.gd +++ b/ui/Ui.gd @@ -21,7 +21,8 @@ func get_all_inventory_children(): ] func toggle_map(): - toggle_modal($Map) + if not toggle_modal($Map): + $Map.unassign() func toggle_codex(entry=null): if entry != null: @@ -33,9 +34,11 @@ func toggle_modal(modal): modal.visible = false if not inventory_open: get_tree().paused = false + return false else: modal.visible = true get_tree().paused = true + return true func toggle_inventory(elements: Array = []): if inventory_open: diff --git a/ui/map/Map.gd b/ui/map/Map.gd index 6a8ba19..c90132a 100644 --- a/ui/map/Map.gd +++ b/ui/map/Map.gd @@ -5,6 +5,10 @@ var reveal = true var dragging = false var link_assoc_buckets = {} var long_link_assoc_buckets = {} +var hyperlink_assoc_buckets = {} + +var hypergate_available_systems = [] + @onready var circle_class = preload("res://ui/map/system.tscn") @onready var lane_class = preload("res://ui/map/hyperlane.tscn") var all_hypegate_links = [] @@ -17,6 +21,7 @@ var temp_nodes = [] func _ready(): _populate_mode_dropdown() _generate_map_nodes() + Client.system_selection_updated.connect(self.hypergate_jump_selection) func _populate_mode_dropdown(): for item in [ @@ -53,7 +58,7 @@ func _generate_map_nodes(): gate_lane.type = Hyperlane.TYPE.WARPGATE gate_lane.hide() movement.add_child(gate_lane) - update_link_assoc_bucket(gate_lane, long_link_assoc_buckets) + update_link_assoc_bucket(gate_lane, hyperlink_assoc_buckets) all_hypegate_links.append(gate_lane) for i in Procgen.systems: var circle = circle_class.instantiate() @@ -124,22 +129,31 @@ func _on_Mode_item_selected(_index): _update_for_mode_switch() func assign_hypergate(links): - for link in links: - var lane = lane_class.instantiate() - var data = HyperlaneData.new(Client.current_system_id(), link) - - lane.data = data - lane.name = "temp_" + data.lsys + "_to_" + data.rsys - lane.type = Hyperlane.TYPE.WARPGATE - movement.add_child(lane) - movement.get_node(link).show() + for link in hyperlink_assoc_buckets[Client.current_system_id()]: + link.show() + temp_nodes.append(link) + var other = link.data.lsys + if link.data.lsys == Client.current_system_id(): + other = link.data.rsys + + if not Procgen.systems[other].explored: + var other_circle = movement.get_node(other) + other_circle.show() + temp_nodes.append(other_circle) + hypergate_available_systems.append(other) + func unassign(): - for node in temp_nodes: - movement.remove_child(node) + for link in temp_nodes: + link.hide() temp_nodes = [] - # TODO: Rehide systems + hypergate_available_systems = [] + +func hypergate_jump_selection(): + if Client.selected_system in hypergate_available_systems: + get_tree().get_root().get_node("Main/UI/").toggle_map() + Client.change_system() func toggle_show_all_hypergate_lanes(): for link in all_hypegate_links: From 3639ec626b94282b2f4eb8292fb504f76cb9ea87 Mon Sep 17 00:00:00 2001 From: EamonnMR Date: Wed, 23 Aug 2023 23:17:46 -0400 Subject: [PATCH 09/10] Name and assign inhabited status to spobs in faction territory --- data/Spawn.gd | 4 ++++ data/codex/factions/autofac.bbcode | 4 ++++ data/spawns.csv | 34 +++++++++++++++--------------- entities/spobs/HyperspaceRelay.gd | 6 ++++-- entities/spobs/Spob.gd | 13 ++++++++---- procgen/Procgen.gd | 33 +++++++++++++++++++++-------- ui/Hud/SpobPanel.gd | 2 +- ui/map/Map.gd | 2 +- 8 files changed, 64 insertions(+), 34 deletions(-) create mode 100644 data/codex/factions/autofac.bbcode diff --git a/data/Spawn.gd b/data/Spawn.gd index 102fb78..2192459 100644 --- a/data/Spawn.gd +++ b/data/Spawn.gd @@ -15,6 +15,8 @@ var data_type: String var faction: String var evergreen: bool var distance: float +var spob_prefix: String +var use_markov: bool var quadrants: Array[String] @@ -40,6 +42,8 @@ func do_spawns(rng: RandomNumberGenerator) -> Array[Node]: instance.type = type if "faction" in instance: instance.faction = str(faction) + if "spawn_id" in instance: + instance.spawn_id = id instance.transform.origin = Util.raise_25d(position) instances.push_back(instance) return instances diff --git a/data/codex/factions/autofac.bbcode b/data/codex/factions/autofac.bbcode new file mode 100644 index 0000000..bd0a6f9 --- /dev/null +++ b/data/codex/factions/autofac.bbcode @@ -0,0 +1,4 @@ +[b]Autofac[/b] + +A civilization (if you can call it that) of automated factories building automated starships, rendering star systems uninhabitable all in persuit of... something? Maybe? I hope? Autofac used to be a publicly traded company before the divestitutre. Nobody will hold it against you if you repurpose their ships as scrap; they're regarded as pests at best. Many of their ships and facilities will even yield lostech which will allow you to increase your technology level. +-- Krish diff --git a/data/spawns.csv b/data/spawns.csv index f8c436f..ecc1db0 100644 --- a/data/spawns.csv +++ b/data/spawns.csv @@ -1,17 +1,17 @@ -id,count,preset,natural,chance,scene,type,faction,destination,evergreen,data_type,distance,quadrants -asteroids,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLarge.tscn,,,asteroids,FALSE,,0.5, -asteroids_green,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLargeGreen.tscn,,,asteroids,FALSE,,0.5, -asteroids_blue,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLargeBlue.tscn,,,asteroids,FALSE,,0.5, -ind_npcs,1,FALSE,FALSE,1,,burner,union,npcs,FALSE,ships,1, -trader_npcs,1,FALSE,FALSE,1,,cargo,trader,npcs,TRUE,ships,1,A B -pirate_npcs,2,FALSE,FALSE,1,,nimbus,pirate,npcs,FALSE,ships,1,A B C -autofac_npcs_a,1,FALSE,FALSE,1,,delivery,autofac,npcs,FALSE,ships,1,A B C D -autofac_npcs_b,1,FALSE,FALSE,1,,dragon,autofac,npcs,FALSE,ships,1,B C D -autofac_npcs_c,1,FALSE,FALSE,1,,dragon,autofac,npcs,FALSE,ships,1,C D -autofac_npcs_d,1,FALSE,FALSE,1,,dragon,autofac,npcs,FALSE,ships,1,D -twilight_npcs,1,FALSE,FALSE,0.3,,melchior,twilight,npcs,FALSE,ships,1,C D -planet,3,TRUE,TRUE,0.5,res://entities/spobs/Spob.tscn,,,spobs,FALSE,,0.0001, -fallen_station,1,TRUE,TRUE,0.1,res://entities/spobs/FallenStation.tscn,,,spobs,TRUE,,0.0002, -torment_nexus,1,TRUE,FALSE,1,res://entities/spobs/TormentNexus.tscn,,autofac,spobs,FALSE,,0.1, -hypergate,1,TRUE,TRUE,0.05,res://entities/spobs/HyperspaceRelay.tscn,,8,spobs,TRUE,,0.0002,A B C -hypergate100,1,TRUE,TRUE,1,res://entities/spobs/HyperspaceRelay.tscn,,8,spobs,FALSE,,1,A B C +id,count,preset,natural,chance,scene,type,faction,destination,evergreen,data_type,distance,quadrants,spob_prefix,use_markov +asteroids,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLarge.tscn,,,asteroids,FALSE,,0.5,,, +asteroids_green,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLargeGreen.tscn,,,asteroids,FALSE,,0.5,,, +asteroids_blue,4,FALSE,FALSE,1,res://entities/asteroids/AsteroidLargeBlue.tscn,,,asteroids,FALSE,,0.5,,, +ind_npcs,1,FALSE,FALSE,1,,burner,union,npcs,FALSE,ships,1,,, +trader_npcs,1,FALSE,FALSE,1,,cargo,trader,npcs,TRUE,ships,1,A B,, +pirate_npcs,2,FALSE,FALSE,1,,nimbus,pirate,npcs,FALSE,ships,1,A B C,, +autofac_npcs_a,1,FALSE,FALSE,1,,delivery,autofac,npcs,FALSE,ships,1,A B C D,, +autofac_npcs_b,1,FALSE,FALSE,1,,dragon,autofac,npcs,FALSE,ships,1,B C D,, +autofac_npcs_c,1,FALSE,FALSE,1,,dragon,autofac,npcs,FALSE,ships,1,C D,, +autofac_npcs_d,1,FALSE,FALSE,1,,dragon,autofac,npcs,FALSE,ships,1,D,, +twilight_npcs,1,FALSE,FALSE,0.3,,melchior,twilight,npcs,FALSE,ships,1,C D,, +planet,3,TRUE,TRUE,0.5,res://entities/spobs/Spob.tscn,,,spobs,FALSE,,0.0001,,UBP-,TRUE +fallen_station,1,TRUE,TRUE,0.1,res://entities/spobs/FallenStation.tscn,,,spobs,TRUE,,0.0002,,,FALSE +torment_nexus,1,TRUE,FALSE,1,res://entities/spobs/TormentNexus.tscn,,autofac,spobs,FALSE,,0.1,,, +hypergate,1,TRUE,TRUE,0.05,res://entities/spobs/HyperspaceRelay.tscn,,jumpstar,spobs,TRUE,,0.0002,A B C,HPG-,FALSE +hypergate100,1,TRUE,TRUE,1,res://entities/spobs/HyperspaceRelay.tscn,,jumpstar,spobs,FALSE,,1,A B C,TST-,FALSE diff --git a/entities/spobs/HyperspaceRelay.gd b/entities/spobs/HyperspaceRelay.gd index a0b43cc..138a12c 100644 --- a/entities/spobs/HyperspaceRelay.gd +++ b/entities/spobs/HyperspaceRelay.gd @@ -7,7 +7,7 @@ var item_screen_box_side_length = 1000 var faction = "jumpstar" var spob_name: String var hypergate_links: Array -var spob_prefix = "HPG-" +var spawn_id: String func display_name(): @@ -26,7 +26,9 @@ const SERIAL_FIELDS = [ "spob_name", "type", "hypergate_links", - "scene_file_path" + "scene_file_path", + "spawn_id", + "faction", ] func serialize() -> Dictionary: diff --git a/entities/spobs/Spob.gd b/entities/spobs/Spob.gd index c685214..d13f8ea 100644 --- a/entities/spobs/Spob.gd +++ b/entities/spobs/Spob.gd @@ -7,9 +7,11 @@ var item_screen_box_side_length = 100 @export var spob_prefix: String @export var is_planet = true -@export var inhabited = true +@export var inhabited = false @export var center = true @export var available_items = {} +@export var faction: String +var spawn_id: String func display_name(): return spob_name @@ -27,11 +29,13 @@ func _ready(): Util.clickable_spob(self) const SERIAL_FIELDS = [ + "faction", "spob_name", "type", "scene_file_path", "available_items", - "inhabited" + "inhabited", + "spawn_id", ] func serialize() -> Dictionary: @@ -47,5 +51,6 @@ func deserialize(data: Dictionary): transform.origin = Util.raise_25d(Util.deserialize_vec(data["transform"])) func spob_interact(): - get_tree().get_root().get_node("Main/UI/InhabitedSpob").assign(self) - get_tree().get_root().get_node("Main/UI/").toggle_inventory(["Inventory", "Money", "InhabitedSpob"]) + if inhabited: + get_tree().get_root().get_node("Main/UI/InhabitedSpob").assign(self) + get_tree().get_root().get_node("Main/UI/").toggle_inventory(["Inventory", "Money", "InhabitedSpob"]) diff --git a/procgen/Procgen.gd b/procgen/Procgen.gd index 9f3a39d..98b5724 100644 --- a/procgen/Procgen.gd +++ b/procgen/Procgen.gd @@ -79,6 +79,7 @@ func generate_systems(seed_value: int) -> String: populate_factions() name_systems() place_artificial_static_spawns() + assign_factions_to_spobs() connect_hyperspace_relays() setup_trade() # Remember, we had a return value. Client needs to know which system to start in. @@ -229,7 +230,6 @@ func populate_factions(): assign_faction_core_worlds() assign_peninsula_bonus_systems() grow_faction_influence_from_core_worlds() - func assign_faction_core_worlds() -> Array: @@ -319,7 +319,7 @@ func name_systems(): for system_id in systems: var system = systems[system_id] if system.name == "": - system.name = random_name(system, "NGC-") + system.name = random_name(system_id, system.faction, "NGC-") func place_natural_static_spawns(): # TODO: This is causing an issue. @@ -365,8 +365,6 @@ func place_static_spawns(get_spawns: Callable): var i: int = 0 var center_entities = [] for entity in entities: - if "spob_name" in entity: - entity.spob_name = random_name(system, entity.spob_prefix, "-" + ['A', 'B', 'C', 'D', 'E', 'H', 'I', 'J'][i]) if "is_planet" in entity and entity.is_planet: entity.type = random_select(Data.spob_types.keys(), rng) if "center_system" in entity and entity.center_system: @@ -380,13 +378,13 @@ func place_static_spawns(get_spawns: Callable): system.entities.spobs += [instance.serialize()] -func random_name(sys: SystemData, default_prefix: String, default_postfix: String = ""): - if sys.faction != "" and sys.faction != "0": - var name_scheme = Data.factions[sys.faction].sys_name_scheme +func random_name(sys_id: String, faction: String, default_prefix: String, default_postfix: String = ""): + if faction != "": + var name_scheme = Data.factions[faction].sys_name_scheme print("Current name scheme", name_scheme) return Data.name_generators[ name_scheme ].get_random_name() else: - return default_prefix + sys.id + default_postfix + return default_prefix + sys_id + default_postfix func random_circular_coordinate(radius: int, rng: RandomNumberGenerator) -> Vector2: return radius * Vector2(sqrt(rng.randf()), 0).rotated(PI * 2 * rng.randf()) @@ -452,7 +450,24 @@ func systems_sorted_by_distance() -> Array: var system_ids = systems.keys() system_ids.sort_custom(Callable(self,"system_distance_comparitor")) return system_ids - + +func assign_factions_to_spobs(): + for system_id in systems: + var system = systems[system_id] + var i = 0 + if "spobs" in system.entities: + for entity in system.entities.spobs: + #if "faction" in entity: + if ('faction' in entity) and entity.faction == "" and system.faction != "": + entity.faction = system.faction + if "inhabited" in entity and entity.inhabited == false: + entity.inhabited = true + if "spob_name" in entity and entity.spob_name == "": + var spob_prefix = "UDF-" + if "spawn_id" in entity: + spob_prefix = Data.spawns[entity.spawn_id].spob_prefix + entity.spob_name = random_name(system_id, entity.faction, spob_prefix, ['', '-B', '-C', '-D', '-E', '-H', '-I', '-J'][i]) + i += 1 func connect_hyperspace_relays(): var systems_with_hypergates = {} var positions_of_systems_with_hypergates = [] diff --git a/ui/Hud/SpobPanel.gd b/ui/Hud/SpobPanel.gd index e7d0fb6..5b5fb62 100644 --- a/ui/Hud/SpobPanel.gd +++ b/ui/Hud/SpobPanel.gd @@ -29,7 +29,7 @@ func _ready(): func _get_spob_faction_text(): if spob.is_in_group("player-assets"): return "Player" # TODO: Player faction name? - elif "faction" in spob: + elif "faction" in spob and spob.faction != "": return Data.factions[spob.faction].name else: return "uninhabited" diff --git a/ui/map/Map.gd b/ui/map/Map.gd index c90132a..bb4ceef 100644 --- a/ui/map/Map.gd +++ b/ui/map/Map.gd @@ -33,7 +33,7 @@ func _populate_mode_dropdown(): "Quadrant" ]: mode.add_item(item) - + func _generate_map_nodes(): print("Init Map") for i in Procgen.hyperlanes: From f809a2eb09ba269744a097adad266f6633367e98 Mon Sep 17 00:00:00 2001 From: EamonnMR Date: Mon, 28 Aug 2023 23:06:34 -0400 Subject: [PATCH 10/10] Sets up export to exclude blend files --- export_presets.cfg | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/export_presets.cfg b/export_presets.cfg index faeb7e8..3568ce1 100644 --- a/export_presets.cfg +++ b/export_presets.cfg @@ -7,7 +7,7 @@ dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" -exclude_filter="" +exclude_filter="*.blend, *.blend1" export_path="export/windows/space_craft_22.exe" encryption_include_filters="" encryption_exclude_filters="" @@ -69,7 +69,7 @@ dedicated_server=false custom_features="" export_filter="all_resources" include_filter="" -exclude_filter="" +exclude_filter="*.blend, *.blend1" export_path="export/linux/space_craft_22.x86_64" encryption_include_filters="" encryption_exclude_filters=""