From 52f7705e13459dc0f3bf690523618ab8656845bd Mon Sep 17 00:00:00 2001 From: m3ultra Date: Thu, 30 Jul 2026 13:54:34 +1000 Subject: [PATCH] Dusk and night: FLUX sky panoramas, working street lamps, headlights A Time column in the menu picks day / dusk / night per run: - Dusk: low orange sun under a FLUX-generated equirectangular panorama (golden hour rakes the heritage facades -- best light in the game). - Night: dim blue moonlight, city-glow panorama, headlight spotlights on the player, and every street lamp gets a real OmniLight under its lantern. Because the light is parented to the lamp's physics body, toppling the lamp takes its pool of light with it. Panorama seams are wrap-blended in post (PanoramaSky tiles horizontally and FLUX edges never match on their own); flux_local.py learned non-square generation (1024x512) for exactly this. Co-Authored-By: Claude Opus 5 --- assets/textures/sky_dusk.jpg | Bin 0 -> 34979 bytes assets/textures/sky_dusk.jpg.import | 40 ++++++++++++ assets/textures/sky_night.jpg | Bin 0 -> 55634 bytes assets/textures/sky_night.jpg.import | 40 ++++++++++++ shot_dusk.png.import | 40 ++++++++++++ shot_new_bubbla_600.png.import | 40 ++++++++++++ shot_new_falcodore_gtho.png.import | 40 ++++++++++++ shot_new_hardon_waggo.png.import | 40 ++++++++++++ shot_new_hardon_wb_ute.png.import | 40 ++++++++++++ shot_night.png.import | 40 ++++++++++++ src/game.gd | 90 ++++++++++++++++++++++----- src/main.gd | 7 +++ src/main.tscn | 4 ++ tools/flux_local.py | 16 +++-- 14 files changed, 417 insertions(+), 20 deletions(-) create mode 100644 assets/textures/sky_dusk.jpg create mode 100644 assets/textures/sky_dusk.jpg.import create mode 100644 assets/textures/sky_night.jpg create mode 100644 assets/textures/sky_night.jpg.import create mode 100644 shot_dusk.png.import create mode 100644 shot_new_bubbla_600.png.import create mode 100644 shot_new_falcodore_gtho.png.import create mode 100644 shot_new_hardon_waggo.png.import create mode 100644 shot_new_hardon_wb_ute.png.import create mode 100644 shot_night.png.import diff --git a/assets/textures/sky_dusk.jpg b/assets/textures/sky_dusk.jpg new file mode 100644 index 0000000000000000000000000000000000000000..73dee5062ac471bbfa6ac2d7e8d9a03767daa47f GIT binary patch literal 34979 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 V|J8y2)q(%jf&Z5dJh-3xzW~FA@oxYC literal 0 HcmV?d00001 diff --git a/assets/textures/sky_dusk.jpg.import b/assets/textures/sky_dusk.jpg.import new file mode 100644 index 0000000..0702f5b --- /dev/null +++ b/assets/textures/sky_dusk.jpg.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bijmj1x4hi11a" +path="res://.godot/imported/sky_dusk.jpg-63e4d345e86325d5834f66bcdedd0851.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/textures/sky_dusk.jpg" +dest_files=["res://.godot/imported/sky_dusk.jpg-63e4d345e86325d5834f66bcdedd0851.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/textures/sky_night.jpg b/assets/textures/sky_night.jpg new file mode 100644 index 0000000000000000000000000000000000000000..6639c186091d15a3f5ad79da47336ea863cfed1a GIT binary patch literal 55634 zcmbTdc~p{l{6G4z2x^L{RG_$}3D_n|1u6)wqx;eU5C{N3x(D#z0I&mqLUaTCKSwAOss}TK!SwWCM*0SDLxhnD0%2rqY+}0F z++^h{Q)6Ru3-eWLP-ryT#LUvl5@od-g+~3)kAQSvh3Uaoz+fv-D~(s8{y&fZngLUN zFaUW30j&kVrXYwZ=)cE+jc%TLp#L?1|8s!A5Zxr<`UZw8bRTF~34lTWYxa72P^j+H znY#A@sHvWr9f1Zj4?X~2%SE~f3NGr~Z@=EMiv8@fgKK0$j)CE7T@)7U9I-gO6LHJd zZ6vbWj$gd#3?E;=kkFmK?%KU4EGqiscOE`^+}hUO(fLH(+xPs%%U7@a-;HQS-;a%dnE3eR z>#TNe{@eE-3;z=r2!Qm4xU?>y2KKJ(&#NL6o*AxoAii7o<$pr^Uy=R43oPgVS7iTJVE=bq{eTe! zq`PpKp}~Ga4v=Xx5vySs^nm8wg3B%Ti0wA^EN(2VrS*SE?4$0 zN?bByk6mns{GGUM4*!9joZ~lX_WT&{&)DVKE@(~ zU6;8u_!Tcdj@=z=_mK#X;EQqfEjbaYsTurxu|sAV9S(-qsE~IVHN<}k zAKCdD1k4#W{|DFyI%MQ!)vw~F@Lj1GF5N{5C-#aznDnvMSk3Y(y7MZQu6E};U3)UM z#G#^UQNLd=WO~-i%shWoj^>cMX~Kj_!9NHstQb3F@?6 zGy0%yCT9|(w_-&{i_OE1*UO>J#~!si@PsaJz|}8uB#mps!yi4}#;#sUOnA`ISJBTa z4XznlHdih;>`h!Bm0RJ*p31ws&=dG)*w^`xKQ~>eSeiKZ;9N}yB^C2ivYnz|RYLw) zQ6LLMJTm>(%`qVT2ZXs$XbLDOr@10-e_1x#=7b)hQoA&~2;-#BRQw!APEFU{A)`$$ zf7ubZ;jfd*l>dOtGd}A@9Y+A{2VC=X`&Y#t3(sw`1w!R;PHI+(_X@#)rweL6`*)1uj=d7|FqW|h;LIR%bT zu(slIfq#9}$;wAb*tL9%-L-(xlHR6_ui1uKZVBFYD9kMN%JJdy<1F1&))w3N8H`3$ zvAPfV)VQF7LGYw;a72;o`dF4Q^^SUko74 zS2~Q_!v~PluBs=Qv1mw6Aj=MPC~t@>(kM3hc!XX)I~6zP>$vCZR@_b;<5(fhhQDR? z)9489OQ{4r68#lrE^%Jvc2K(J{W@MI-sLd@w9vC=yQ9HGUfq`B_0bpY`?x{&*eVXW#_j~-+wD>#XHzY^LY6dO!uM%mVe4pAP#eYIl~Ki zs{l&cuFyUbrhH3&cRvsB5&rgwG;8@;R>3w74zG#zCO@h958&gMi=8$n2Wx}b$+~Q| z{Q2msBHI5Dr~ls6cw;L$b@jul>@W_z;#}h-&DJPC+aqLE?pVm5mhh#17hX*Kyqx^u z)lw{ZI@=Fqwj-Hqh7<X?}HuPDvIy99kkbC+>kRgIh|6*np< zI1tDQf$%b9zCy}Y+l5A7Z(g;owSNA_=@?et%ag_nIk8|{7xD_BKC9{1()_y_YN_V- zd#Zl*=m!&xf5Gh+1$zw%ZJ9M5W>5m+d}=s_^^U<`_bF8%or+=fZ2I&iA%fu~TH z44LmF1`%LE+s6jZ+x%bSZn|I zce0Bf;(0NHo4RdLt4y@dI+Vx~9n$30$WhSfyzRIj-&+>O_#l<-3D1Y3>+HANFy`vw z+}j%-S(jB>#d8INNiwTD`dKskAFHP|dPSc-)T_fwHdLlia2nJgqld+g@WGPp2SZY( zZ3wF8-XxJxQAJIwWnP1xF^k$vvQ{EzAI5M7mOgScHqHy|Yn>XKKV`peA3j8OZ)(N5 zr>&@%7jt}_WM^AE`%DXFBPzmsV*0#i?%MDx$1zdJBM&v}E3P``{A0iC(A1F%XI&8~ zVs*oIKDoUQ^&jA;+;U-ebI<*{V^Q{c#*a?~^_hpZZ9k@55cuc(TNr9OI4AoRGHc|z zZG8LUdA^8k-`R_{n?I|-&@6)62C3z0zAb>mRFZ${Wxe-X{2LXyCK?l!lR4|#o6Dy#h^rlb^3;Xyrr){La25z>owCF7{!ClRLNi@IoD%`Z(Erf=}lC6hB+Ca@8GdT!uu3(C4 zr`)(0sGabAo&YRzKCRefs2L3AJJHJqkDY_S`-_cu%Sp0abzWKW+L{zFZt4+x)I6{4 z{A8zA_N&pt>_P}X>KkogGqKD=D|3aEBvdaI2@S4I*h(CX9TMr)a<^6RS!7RI=kN9t zY)V(}WBZJA63@F~^aDT4g`)RmzyE1{!RZ$}VDXXdPeT{iK3#ZhDX1_m=Tm@?{2vhg zOljIe)N>f#0*X*IVME$D)b=o1cOWcBAWo#&V@C7h0=~4ONX?6}fL&U%{afNaUSZ~k zmR6Llgs8jj+5-}**5 zO*_0haQjb1%7Rl)EbgD}bH+l}!V zvIM>0^OoIi5epVTB=h}&x$2b!Xl zmAHyqZRirmxOHyr>>kA1nZq5+NkgxHoO&T)MQmMTt%33T2qz)7QWkB-k9H)qW;w|^ z=*?2Bnexr$bga!8k$RaWa3 zZP$J*#WDX1Jt3%uxO?*fVR)6vSfKaKjX5oO>T26)h$!l-T%g*|`xS9;`!Gnt-1<4& zulT3h=5CuYxN(hpqJLf-+nJ1}*{l2{~N(iGT_E>oRMTVxz%;?-7 zJ5cT%IGsJtGId$g&f*}=~)-w(&3)h z6OSX=liObuC&|VKy!=*J0No=X$OEDbI1Y2lD4AhDc%9XKVx5w6=f(|OkczzIv|$)g zv8~Pr*aP9n%gS@0=Rrm`Uf95dCIrD9|(v(Y#Y%l`2F-l%<0(+mz`ZF zed2eORJ`Ow$M8j^v=s%gyEwRW)GOL>n`p}L3|7VTON;kdBP#D&(LM(^)`x%XkOHU z{TO6Z0+na%E^2{4?05N|^>%+=*l1ir+_tSVhnO&r;xmw|(QqxLNvK!5a|sSv<*=Y_}|+4*No?KbIA%{krdWEUpaFY0-2NXPSIX|!KgJt zuT!JVUAT!Z@Q&22@pl6^lUi(T0><(`Grnayb$v>4X8u|IcFW))*WXvm z)CFO_WpLzj^lk94&6^WD2?cLGMr|I-(XtJ=HvB1vg8p)ENA%t?)Mac<{GVsDf+BD& zkkq65{ScoH`0fvBsiW-Lbt_ zilan@9FueUZeQA)Fycx{s-D0Iu&$Q^iE2S22$Kx(`fj~UO$kwSU3fa*i|;5jFgoOU ze5LmmxznpiXZo-=(Wu%gb`62@eroz+(#u`nO4o#}M0O>v_xo-I+g&8&6W-Ko?XTbw z+lOaEf*cB+d}fIvf7&@=!d;ng5RQ){7vtT z6uT4jN6p-RJ>tXWRw&TG36C-U>OB@5(T$EUM&zeY3A>95voT}&0Jr)&c+)K9E9C5+fxT00i{Hz?&-`w7hcwfC& z>sN;_{*$JephnyPZ{6xn>X4C-w?HgsXC%0Ye;!W-m$$^qHsR17`M7@Pz)c1ee7en} zK>eK)xpNat>L0$@v(Co40qwLYu?W8J!-LA9ty-lR+ zy`$8f=YdnYPNel0Ba3{gV4eM^d-Z$~<*L1t%xp#an z&F;p;Z=K$^yckNJwiHrdx6!P}a_X)3Y`^6yU91%Dc>Sl2Rk2O&atys{E7ZH_EZ%XX zcl~1|W~JKc`oiWA*4bgBq)H4%YSSF7`t9*j9Mzy}8_7LE&rQNKRfdRpLU=UJBS9ZI zXa+w}E=vsgZHHBps?_MqV0%L%(c#m&VlyBDLHF@UUbQBqPn0a%b?vxOGIr9(b>OOE zQ<^G@s_oKyV;~h5^KBzm9J@a_%OqI^A#I$^l~+vc!TdWbA?5WL4JEd7MlC*dbdq}h zT5d(0K6=KFL5Ur&1@i*}zI18^d#G06VV+??424XY2nsVacPRHI&B?4?7ufUTxxQk8 z1X>815zv`WN5ls6S_L5Jf~-uQp})(!hxgT1It)it@BkMW8BQU1!}E z^@jygnl7DEo^{x8t=63u)dNnG=>v0B(ikx(Au-pFG)2|te#~|X|Ki)JvdvT2oR)zl zPgnWsIt_$3P#(`qY9WIDVBfrTqi^(9!}ARdq250G8B7UBst(BrgP4)cp?)W}t#YzQ`gBcXR?=zcjQ%7EG|)wLk^SAy3`D@9pTi zNG~qO!MTiYH+(0g^V&+4NAMt@1FSFC>Yad&liQon|C-;$HdZ=l0K?wTQ&)1cueKf@ z*~mL=6NLNpEx&(DuUu~(L57>U{Q`vBxVDg9_fcxYGlLy#kAeJ9 zN30r6oRs9>SYx&QrnTpnN%lav4lrk2bwrC?{<$AIai8p**w8l@B4+STPosVaZ0d}g zWhomcE&hDrK}-ER^W>wTp8-|-Z*Y2kto{=7Ju2YBWp~5c3LZ|?0N4bu62ROt}eB1^Sc@9gwr|rfKZ+p^u{}LbZ1~*QWCR6Zq*S-XRotiWGTZoHY9Cfk1K$9P}Jz#V9!rK$JUYk91Mbz0CYTox{f@&b>Q%B>DX5oVZ5PfB& zNa_|};PQ@@+d@vyQSgoZG>uw}Ztk$m`&EMk8ixzrSoGadUfm~EPClL^rQ-PXT40){ z8o{Ak`V)n;B~4$3I%j*)WUD)Hs-W9e#+^{%y)cCn(uxR%2iznCf6@#$E@;E^&o!^`;~5e<9KKR;liv9T<*q&^Wb}e{MF~kv zBA&9NV(-WHK$~0IQRA3`9~R|f-Fx?Dq*oTcKKpK)OgKW`ZKVDE*L5a0fjILV-)sc?g36w?T%VNIPg1k;~DkokRG20t(lhT8H6tbX0(d{Y_ec2I(_BsJQ)(kcV90@ai zz)XMX#dcl*_XYpRNQ{fM&w|j>Quud_)fb@w5b|E=<1paF_kkXcXwG}c|0QNRbtK2j zbjJTx?vN-VSy#)Av0{B2W-P^}+AGXepnR9!iiele#zA)=KY9#yliGriiMrF0rjSLZ zj&dg%hvwz*m$UMIzPW9A5W0CmeFzGE(zt-Y4_EaTM|^K~O7r*+Se>mPN{u7{&^$W2 zpe}0DvsGo`ePjlQ*XCqA7fye*Bnb;+&SLXTXeXe{C1wQ1Aduh!OSisY43u=g{9RSO z-F@u*V%BmWAUlvIx7OYhw-ueK2ci-6yf6N$IOaJS-sBTy>DX`-o$d(06lx@GfCi^2i7=pH{FT4?~LDjwZ}I;O{E|jMurH4_$-Eh!kb0wUvXJH9%#HYG3`m&zT$p-2#qpo>1o} zkTJn8q`TcS2cv{QKw>@zgzDzf)7#SJR~T_XSg`G*Q|zCmz>)R2J?3JiwsO>nOIu)p zjrcH)XtY;ZIsDnASHzCSjgC)H5hM8msXFsrE3RXb4NhKm3i%cvOKRWYTh0|N;Xs*9 zX_akmgptyrB9dc`@1W~!3Nm?4^^zF1fq_Yt#eB#rv0tNuQ|%7Y#3}#oH*acPO#Fbr zH;sz!pm#pBIfX8>%gZMHKhbgRO(@cj(>mPb9x2vk7GhA1s0Z#v7D3dd7_H3cN+R_N zwu&A*KG@4|KT@xBPl#RDd8R!}3j{TIfEjTFoy1hu4M&qz#F?MtC`B8O%ZQMFK?0Bl zAEUQ|k^HaDeiet*bMW`!px&X99H7$2@;x+P*`JY1HP)R%9C@IfC?{zO28D=BFAIPs zmgV~QMOG=x4SogbiGIBwPIJIbw;k+UH^3!f1t*#{iX9a^@WbdBbjOSk;da7NB-IEi z{G5Sq4b>2l6{Qwkp(0O>Ay*Q#GT@6;z0%~3J&AJD|H7m94w)REPW1B5UEuxXUt8+# zcL9m`{K0qkUZC0@%^n_jTb1}06AGVBhLu`z2iXzaiYI4)l##VxTlyP2tkPx4Bl)wv z3Y&)(d?Y3Zk!=Xlpe82i&IVnW6UMJkdQ$)pdwA<$hDg0AyKq^5uGMxbsJTsVJrLCw zOb=2Z6Hc7WE$U;>ciFZr!{BwB{-8VJJVr#f;lv0;EXIfz`fAhW2(P8kQzfK!&%TkB zdrz6$MLtIH57k(8+QUCPsH3X5&7XKI0ttQvUaLT>bUiPj#d@Sj`~%8be=&2yEuKSN zmwxU7A%om9IigLOlM~|^`zTIS%1vR=J5?AfZG!&n zb{*hI9u<7=p~w4bJT&TDQFKIx#2ujrIQqi*J|9v>ZR#-N_OiJd=D3UmuR$K?=A=zg z4Z0CLbZMZ%)w zBAx8^z|GC@EU0t44$1n__#{Qgz)RT4`4;PXAW>?eT672lRZV<49C)uARYh|gxUL-g}#4bNq+3(XyL~bO` z{un8Zmy@j+L?FQ(LdA^#c-Dmx0y;8fOf)(oP=!%V$P@j1$WX3|M4D^0631eqC=3OF z^Qb6OM?@{gb~>mfz|s9dpOMiiOPr1w%=M1ElXRm~Hc7dXJ?jcN`}SB#=nmH@o#ZaS zwU_%%p+Zm5VS^Tk!BGn!d{`@+gA>oULKhOLE8Y^1M=3VX%5$kEA@JAh5Jl*3n~R@3 zS&2wJg6gCYa@^;tqJ)H2w3SYtnVIr$wOgzuL2Bk?@R)L3hs~2BsnMJ)32Xnd4#2)~ ztf=5oxi6b+f8Of>7x{L2%+C0ExiKlRfXCNB9VO)DM<=nH&BgbhQ{LYQ+uwC~)l@@& z+kkgh?Ljfqt@d}g4GSN>cja<1caly?;PkaQgSufjBT6=b5$WW61gpdy%)kG5cb};U z_klD?H5HY|d%1a@lMCGp0T*shR=Rva{q3Wd8xFt3Ryh<*`RCI)*-lIb5=irio5Kx@m8a3b7p zQc65{i4Z&D*xNL%Z zBAxD|vTs2DxGo`e+C~up#896S-e60tE|{R|^T6UkL2F|)I65m; zNShtBfi@;Qk+#jMjYN!j-^Qs%w_~*SP3RFpUN_t?AXm-zwHM>;f#-$~ry~Dp{yju5 zuWzL2Hp|%VgKMv{3o@NTL_7^Y_TYq_!}a!k55o2xkExbb+ON+^9N1!a5FawlxG0Cf zF&50%6I!`!PF9(3G#t%h{7WNwR6G=OMXWVc>ads}LNmIX3kJ1}SHF89O%Is=5ckKw z16}l;lKBz;bHQfoQrmW};e%RPvD?X3-nQ7Rw_*EyI~OOoImXb_z9G4}bRLUAmL;`R z%RsGw=rhNs8{f9#M7@92N$=Y!xEnXDM9tAPM~;iclnMS&hDE@z7F;^%=h|b_UBdSs zH90Rz;QEmPYZ%^b&SQZ+-Zyut*;ci$Z*i0-Jeq|Y6Td#YADBZ5*Bjznnzxp%{Jb?#h&%BHHNFw~Rf!o`10`fw%t-}|<% zHwqY?Ws)^;q%?t`7D*)=z+Yy3wa9ZM#rWbkMFeO`aqt(l6tHvbuCoz)T&V z$;iZCpus(!^UGQ&2pqZn0Mq`nOiZeYaGo3e4|warP84NTOV|kBNGXwTm3#kJhZFIz z$K5V4*G`Y}>d8P77O8X?5hcyZpk8U?c|4|Dp~0Nu2zk)U;_P1E;WG~9@H5e@$?{<> zNh{N5CZ6>88Qd}H-!q%fsHyys=g_nMn#L>Tj2u~s88!_hX|Y2&MYJ4u^|PK~b%L8@ zh0+4lF+uHI2yP}RA}rz&{s84CdmKec98BCr>LZMg9<%{1RvYlWjM^q`C1GmQcCH@RmY zg2x`#5P_lZt$4~Qq;i~iJh4k>qZ-Pg;HmOh8AJlFLwzG6ih=mJr*}>)-r0G-WZm4; zvs=G<^z8LGAwTif@-_0a;?@c| zD3$Y7CCHCBRBw56xf`PI_$tU~SwQx8w^aTIU|$I!jyr z_sF#0z>IrE#D{I$uvW2V57@Uza?4W+Op0RSWpy3I95d?!W8xE4Yx(rV{z?cuRxv>5 zws~0?v;y1mvb&2%rBV|GMqIxWh?-=$*NpdFe^OV1+M8#DXd2m}d zUsU=13fev^{H>Z)i7j`@D&`h-xw;R!rOL(H2j->eLlEF^Q0gq-plZse7dt&mM7J_xOCR~Zk zh?2mEMu&T_c9}mGW7{}xHo-3)`OFN~nn?4$XhYXrQSyv`d-jXG#3Hs4!N1qKFSm-r zxoFV$lgG|a;5HM_wTwQKqyQ})t()QeSjESBKssKHi~$PM=8@9g#*4s(T~|CWl{+eb zqUvWAvCxzIvD~kZG?qEqZjwsjdW6?Q`{Z*O9ok7OEeK3Xaaz?hcb>jAy> z2p&-A(2Zw3@Xg!s#P4T1F(?2 zK@?_C&4lD`O(~NSRjV)R4|#xAf?kwp*u!p++_`kKQ4_Df6yYBZnMdtD%UCQ6d&ut3Od?Cax^>kuXj z4}CQgfhwrbgcS>*z5K#A7h?j^hhKgD@n%ljy6rRaZrOi;>9=trpwu9ZwBRDo;-;XB zb25lyk#%!Vf}22B7*c2chjI7fl+F*HC1{m~hKaG&wJX8p*%x$9y5y5wktv-% zh=}d9J$9L)>p3YP$Kq3P4%<>msabY%CjWLqFnWDbXU(e07nhM0&~o0a5a^VdUn?{2 zGlRz&bPgZ3E^cf`MwQpEmY54&86otbLo5RCneSOGGG$BgG zyE(BsfVYBb@FEAW!pHl3!n@_>PIUor%S0-A_$#~)-9l-Fl+4QjjQT%d6>1(CHP#&q z;^;ffHp>=zOswLl+i@Roln)fwP!Qu-=0{q=_xWlg>ptK@BiZwQeM);AK}h~q3#jUB zCsY#*s*Br#dYL2xixNdWY1Z}J3F?YP;yI1NF|B>l{{?^5IZ@oH*cBh#mN*Yu#eMfc z^vuhA*BR=Df2>e{uZOYSP1Sh{>o*@jYJZ1sn?2O7|Js+PQaVQ^2h$WNbmf$Y1<(;B zuM?QVy7b$jI$~@K@Ij-jjnpr#R^KOv^3G%CL->|-W_hsC}8mtV$ciONrZA_rb%5?e%RG!E%YKKoqwww6vKaVNLT{9>r zlN6X)8l+J(B$l$Ttq?uSy@^cnQ0EZ5`OH_cab@-44z1kkrX&SaM$$-F?i!?Wcvk3@ zD~zyO^P)JD_bjgz%&)#3w*jO>Xq!xU;VIP-mfm<|?u&d7Y0|g5w^?a07k>$G?QxoN}U=OLORJ0JRYO+cv+8k(Q8FZ(Uk*T8* zyk`}qHL4~^QOif?cwUd*&%YwFz6?lg@`n#TRJNN3;-=30@! z^f<{{D~B}MPBtT_gGk7HeL{JoLgS$pX^{21QDv$)_c>&vXK`{>;H!wJ7ow<|R->l_ zsfR78kT^~C)w<1S5|Dj|KBGMg|Uj8OFLR$djyB@@q`p#ndcbd$c& z+vb+%&z>t_-Eye`!hZq)Cbv1KsZ-7h6*Z60fqLYaFFlz%tnvoE>JdrBCN5nYpu z#=mD~egG+f+*i-U)gFe8qq|K^{;Ig$u?40iEaiQAZ1>mE1(hqQJ7KHl?G{#EY3yPw z$X#36Ze8-b`YDI&gRPi4xXbL9$cIh`Qm!5P>iecZ>`Wf}JB2(tFWY407F<4P5yT?N zu@oF;ccYwG_D!K7u8D_Zkq}A1!BX@D6-1&KECh?J)4ma-z=Dc*tX9>%h%1`wVjn!vSH(q>)ki|(QkSW zF&$pNub5d0@6wLQvG!MjzE-yJDmo(h$apuc^@Z3Ec-J8@p$pjjC3w=ed4`@Y)9WB! z+U6b_af*Z{Uief%YpABsciQvWTCdl` ze?|MQeiagNSZ;a#c^*4Ma{7o0nQhXv3D~c*3G8P<%Z=gaw%Ct8R<$Np)I}#o{M5JW zOPogvTe#H&w`A~Pu^t^}=hMm1 zd8afYIK#pOTb|j)GDHeQLOe-J4CO1WCLSpaK^|kpcytv%+)%%jWF*`XQ0R3LF16+~ zhg254x9#{e3dpW^0!DyqkKxg{6i{Nvy!@(c5ucEW)0u9Lh6wsgWs?l1*35~Hr7`@x z2(*s|I)N=TSd34U1ih0%Cxo6&O3y|)3S~9%wPV(I%s1y1#5PI+xO!OV$jHqj2;7R( zp6^kk2t0Sd!6uH-p<6l1IusC@rbtkzXQcba;Zj>zPHM$^231ZD;8Yk zU!N!m&cD}Ve42!mAr_zIF7C+n)5nN$h=bd#PkDvKJBa2hn{6^S`l}MDFnDd{xVkt8 zrr*x>Rq3pu<*zEMqfMo~+&NkOqX$%+R(|yuTO)*7eIF~5CbnXPu9H-Fn0t~;)7WYS zhadrjo4Q24Vejo1{LEOOWxjg*v&wT4*R{ioGL1Ao8{!+NNnX!yY#z%y7R=}HLV&8& zX5uH&h^QjU7l=08(V=r8x=zt1L}O*3iB?EetPb{%CssGX#U}sLRsmB!Zjyb) zJAs&fA+4wop@)`13VI5*R@rtl6!82|FZ3Xs1RqeBUTnq$PgSV-=J~kc0)FC5>t;%$4m8bv!~w&( zd0_}@2dNd`?G~LPnJ=dVMQ~6G}9TM~a z%v1|87b+;nO-XwQx37PL@eyNEbjhBbw@$v}&&=txg2>#LNI(kmFJI!ovQOrz`Cwlw z+?)>mOLWYBz&tV7+sBZX>*E%gr$EiiWSRzugk|sn_rZr~hPqT*hXjV*L-?H+(?^r4 z1>K3EV7;+|#%fLfc`?r62xWrYM!`Sk`q3PcE`u67DrZ`%vy!Cz%(&xi+qQFN2ULe$ zy}9PzYx#Q|hWS+6Wm_SkoydGrFe!uB<5V*6i?=t5ji~~wRNk0xPcf}11di7hl{2rcdcq8V z!bOUUAC<$RgQX%C8N&u3RwV2Cd%Q8xq7tlV*t_d)=so4xA+yR-Az^*YwSj^m zzTK!%0Syg(c2c)P$0(6;gj^d7RW%`%m9;?U6oc-NpV^A?EavtifihU`L$wsqccHO5 z!W>o#uX6o_a~Q37sMvF0FFGQ_r+im(a^r>p4TQ|nl_dL`sa9J%9a$blRKg|99KJbp z7}7jNot*N|qjv_OK&E?pVa46(4y$ zn8#y7>v|)V;`ucaUn`4e?7%NL!(T)`uXf&`J~A`J2wJxMOsdXCJbj;Oumm6DI5T)Y z$b21Wjb#`30Ud*nO~R8ZRh|#adX*Oh3TX5+G>3$Y5b>;Imn~o@EwNtu*$30(MAh%q z?VC6Oj3XPU+jO3X31;PBEXaT~95S-HjeLBTd1Ym~zZn>PvwOs+xxI?>z%L+K#Vbrd z-VTJ^)Yajs9VwpGNW?JjS<%#w9!7WiNM30V3u{~Xp}yXlj$73%=CKhbb(`Jq7}D|+ z1+-nO#l^~z3&?|eQefUB?4|(*vWId~>{`)Xie}^C_DA>g;!(&BV$%63x9+{|&xyMm zc1pT^)-uX{pk_DTVXgOA3awLaKY26hj;ue|F?Sh6kF9=E&=$I`&lM~jt(qw=znlQK ze{hs{05BS>EFhHFF$sO;eaBuq@G}W-k=1D9i2;fN_DwPC_8;L_wepbD_;Pxsij+oT)O(Fk&T8EN5+7G;ZA<_ul$4W2M14B~n z3_FNey31uSpt*DXn#{|{=mh|gUEA$0p?tUTGhtRErQ=1aD^ApKOfUmm zx5>*8V16IF5J7NBq)tk3%j+(^ zg#$J5hIJh*r{%P$4P4?Wmrx1)C48OSLZZ~hQ}8C?!4W71c?rMGw8iF(hv*x*s-W9A zP_RN2Z%H(1k~nko^^j-4LVR^~oL;oM!mb>ID*i6Gnras^K#ksKfc4Or9%N>l7;k}NVJsTEqFliS!PhuBfV4WM!! z8-oEGZzheyir!Y?cSD<1$Y?zWgfzI#L}^=5=fClB(T%$WB{bASLG#316*Q`LGz+OP>+x4;L2!utOFP~{4-cfuIvFi$y3bsx^*_rZ9E-GL*0JAIGLzy84>>KaFo`C zv#vLlxH4M}UN)e}El^>k~_&V)xMj$S(${R6k+>mVnE93us*50%!Q@0m`X)r@={_GOB>sBG| zU!N$p;hFO-hg?p=t;_5sqB;2Oc#bnLZ1j!PiJg3jl9?F-RvZQ~3M%0k|E-hBK5!>n zQ62M&4yTg!NgH41r?K}ip9p~e zURK!NqtzlUXf2Z!ar=C0L8R_oT(~%`YtvqPoqySc!c~h7oFdC|3u(Fr*ZPtuG6&8I zgew5ZkU%Z)-x;y8AO{~GPw{p%@pJa=j=ctp)sBf{r^&5=Erh7)vQlO9a6pUB%E*hc z$|{b|j9tV5)=iuYbLx~I4p=MUh2+%{zmhJ4Ty;3HRY!QqfC6#-Io+}_LaJ{+27n@Oz&k>4;ZYZEf@By1fEMppR+`-^dHI1s}x71{l&I)(^{oH^B32s*V(rh9R* z8MQ)`a!H5-Jt3oN`CH8T{_W_-nIle~*Lh|}5(sn`xq@g%!BKd@;#h2c8tn2zrP{q` z@IJMER7-=lL;<7dVp=5W$7QagziWy5&6) zMX*?>dYjPWl5m?kVzl@YA1T&(uN0%@^@+FmE0f!A;nO{$z#`1}*Ke|=w^w&a0G&sg#Q;jerq*#%O{IkIvNp~YT`v52ti=Jn{L z+_7A>paag=^9N;K-mSRp|HtXETduxqYfc6^UoC7AU?C?vI$9=PT(YVqw1;f~cx){O zqfS7^G{F@*<}nYMbFxKA)g-RkL2VCdOe=eVQH8ikl2-;*sM@h zYZwj@EPyvsgo&a2P|Un2ZPc;#gSy2>!lHKX@<^QuRNabo(EUs3hC&0=YmY9<>l_(= zhL9m4PNq2Eb;@c2AXg`QSmFlcIa1qk~hv*8I@O+Iv63cF7eH;&nuvZft9pTX%t*t1nHBw!2cEHzThJh2DrBe z)t6^>+J0?Ewfp^nnHv|fD7$OMQ4`u)kiL$GYHSZ-I7AUK8Y|8#y-9%|r%{W9c=O$d z)#5TD_a*X^iQhF#v8%6`LI_edAb}xSa(f-h^5){iv>lXqXxh-YMQQg_(`OjdTM?EI z`Vq`%fCzzoQj72mw$A0or2>>qMvAI(HOYBmormxt%)E;QEvwfo`Bu;2;lp0JFH7q_CIJCWLxikd?c7 zinua^%YaD7`vrnwZm0aB4nq}45(=;U1756jHfn@h>l}vW>z5Yr>eXit7Cj{#A-`Vp z~S!Q`vOu|2hcA502w4`Xc;%R1@kHL9ce z^mQ*`Me><{zi!nw)gQIOGn*}A*M$XQli5^~)NuhlZw}$9d8z1@dOKHy8H>uBU&XRM zSEne!s!H=%=K!@jKvQ-@id`*N96tazuA^F5pM&Kx23;;WmvRL?Z<7YB<~8DLlXvq* zCs~q&-R`*T6!`mFDn>aay=uKzpR1*AE~Y3?L-2GsuuADtaFUB+lW7QZ@kGxQW;#Cs zNpF#d+q#8;)&^MpVt|)`7L*c+w3BpzEoqESqs|eUq}=vRGO(ywg@j{SbCq4NX&yw8 z0dE>pk^UcOg^<6WE{|~ff*t}lXf>i_W$|N-7%>uzZ@yyJ?Z$@aDfKb~kovrfY?l}M4A-z9aJEOl(0tV-y!@5{yF+D;0m^rsKMV=za zT>H2am_j(d+hjvM(*2cER)g-buh{pmZCdSsXz-6v4HWe8DL1p zXa5H(+n`z_-?82*Ol@BwBvri}0XX6I+8M;8U9n@MmkXh}dd`HE#6 z5}~@KqgbQq0HQlg;e*vk<2#ER4BMGwQcjbH?2C_wABg|i{MkK$nj#ys5arxwgdw5% zTD0{PIB2bBHaU8JNY@BH0~aB6Xe<^mEMkZDiooZUM^Jb>i6i?T3lfzuU^1W?>_R;S zzl<&y(Lr+RvxNcRZ$C?Zw2RkJ@!8k8d8=C zG6W2F!^wI79JABe29Td9N4LCSDll@F0w&w^Wt@m)iJg>$4Fim$e8BQhVo{%-Gtgi3 z6Wg^PwSTXClD3Si+G*M+JPJQ()OEFsc_5Nf+A8wZMe;6I{I0vpPk?tcG_QhcprYAd zX`{~ROx0wl9ju!ZEN0G9rQj?)M3+$bRSDQU17!Y#^_w)+RleXMs?cC)O+qAii173P zC8K(tA`f&>EL*`N@l{v828H0Vd}z_@&WnEK{db~LqzAUF{-Q+G<$jMVdu;(6VH{`OY)i1o%X*a{)I4bfibBDt}Kr4o=19?~>bK~!6T z?G3fgq-9@m^JVOB&((8_xv1xo_Ipd9)g|V=0prSq!WTzqiPfB z7R5IKm#-rLf&|?lthL6b{~hHW*8B-To(FnJPw7avK8&OU7--i+m)!j2{R&h)ETVAF z-FjlT(A7qe$?xuz?Xf2VGH0sjGNU0RX!02$XW11C$zI%H^^$ z9`w-y&mgK@s7z$Xa;~Rn@Nb61feaGa4hiu19&(cGCZ#ezc=?|&(DYX<)h|K{Y6p3$ zzrY;L{RE!O{j6_?zYA!4hQvD92QH@o@A(D5S{%`HDM}O;dr4KGcw>b4g`5qV-xyhaAu71-4y3C+?lsg z0GKDa^clgKERAxV2mIu=8Ts@dI&l0a0Q!Y5Gi3HtBNswwf-T4%&^aPk0=}5CJBdWe zmIFm$q`^!N5vK&;E%Rtp&?O2zIj?+Ahgh8QJToZ?t_;?=Eaz6Bc<@HA!ud;w9u#i- zqb)y7GuOKLLw#7F3qF=b25ZrlnptXa5egsGzEysidRabEzU3nU_&xV6?#R0z&*j0D zIkig6@w$C41i3-YQZ$u>zNr4XUHe+CFqBuGZ|OX|)F$VOolJ`o-NCT?5eOeiK@>Jk zb=hq4-6HjuU1S4(jT>@M{&$QkEZwZ(TwIiZ+SFl0E1l5i@o|L?LpUy7pQw-By>na* zQC|pyMunOxl|#cas4nI!E~b`8Ocj-v{d(`+nhMFDR~_s6QBHj#v*627AX8vKkG*%- z?XiZVv<)|X5|TddYp84Er@%He0e%cr+C0e>p+5fZ-}0bnsxt*3%2&6w ze`QS89004wHe0kHD*@glXPvYx?_jGwUf9nw01XnPQ5ErvdH4Y3bc`Her;MMTyaO6^ z3GOrmq(SpkJ4gvBQ4v750Kt+pRf=7iqTK(3>(DaC`zmg{KRWxwckzSxsXevsc22T( zpCgkH*EhT~xLjT8Pp5w#{~fvFJu8$xHE0aiulK3Y*dwws4EKgtC$EbWM3Zh#=4E`P zN;tiG6;&FwRZf4O3G@bP*3EW(!NSaz??_j3o|CK<9nnL&@ucgaQ?t`?tH4{{+7;Rr ze3SytCHT=iu1nAM#(t+R5Yuozb$YUZ?brSfBgsO*EBbxMGlp)wP!k&dvMY9YpEgH* zv#XA3Qks{9h%F;~+Z|O^kyfKHW6OV3KXTvT8G6XQMQatU+sxq!r_e`Poc z-p|u@nkD8L&Yrb2x}v&4hc|)vcubfo91^pF>jM2E2%@VP{^jbNCV-w_B^~Sf>++y=A#X4cIa>*@@JO*LEM9tR**pmsDZO%@pknPpAj1k!`_c?Lu3U7Z> z?di(QA{a!Xzd7B($$m*toLc%%VYy+(d^R}2MK!@Q%Pgf$~GP;}ZPe^mbbn~mjhP^Ih zK@ws*v&pD%%O+S*NlN6eTTkrQ_G3r%7&(wqI2}npW*UO-GCiDf2kKIjI5vS^YQS+B zFT*lDQt5~}6T%JDpBCBcdXQo?cbm3x%!7PNw622Z6FowHIWyXV zQv@Y6hM+emSeV^N4r*V<0=Q#SqrHRf7$FBs6@NU2 zf0;nICT9x@$|8l_K@fFtvFgA`5N#d)tBoT3{-yu;&C&w4m81=k*F{wqG zddob}gLngrc`jJMbQFU`>)tWi|0IFEO?x$XoTJI?6p@Ot`eXjnDUVFf8?B< zWY`dhFt6qyK4a2{c#E#y;)vwr+I@lSj*aN=OCm*rSbzlmPUiA^p!&8%ZT?^_+l|TC zTLaEC0rhT|e2Pp$g+^xim#;HP2>ZR=^I$p!~JYCqKQeyX83^ zQ2j&hDYvfE9kkb1xA06&l!h}A#I`6u5q+BIF&e#xX}p-eXL$bq@Xfl7P% zd*mGLxKM1v-Gj}wEx(C9MCwF^q6AM9&&X>K#|LN_U|STYHx{e4C-d@t*^D5Zmuy1Z zD9hAC*t20jSO&`gBWe$3?-e~1g%K7gv$PrBqK8|G$pq_vEL@_}9a65}H|HGA6ZTy7)6Hx8I@b!6qpNLe=lC9c@Lg1G`X45OF7;v^kJ zC?ebQ0&0vNkoG0hK6t!)$nrk!_~wdTqfz62VVXRtH*u6&EZvM~w{Eh@`;Bi(6g2r~ z!Tekz74B=B>RQ)M4Dp!4@Vvc0FM2=Pt=+&I#H~gQBn_VQT{~U1>qZ}-OWnIGj{-=s z$J$0)0MO7kC|InK^x4D-@&ok+j638Z0K8kJ|FVI(Xpb(q;h>>)4H^PDdjHIS{qAIm zU87lv!-14?`%u)AsCTJjqVy71f*ov|J%Wn*moV0(D+c>d+!-ajBme30f=aWRefbij z1cRUzMwf3^r}H!~u2Y9!7LhfzvH?#Xh2eG-KWHHG)d3Q)R8y6A2(mjVZ0)Y2fEv3? ziey1xTsrm|8oW1q!FaWoKTTePgCU|kRE)FhBZ*sj4d8Oo) z2SiIYSf;_!Qz20h>j+3wBioYGc9 z#6KBfO^W#gEPb+nf*?T9q^L;66#{O)cX? z6PQ&or~&q{!X-%I2rdr43@jG!+bfwOJb=HK zj8^`NO-s)E-oY}klhqd71wM!e`>)i+JV`?qrQ^C!UCYz!pQ9v zDTGz268rh&8@9m%CDNo#zKmA_z zygD8b!mKKV>*Vayss?RVA35V-b%UQEStxLoCj#1S5&GX2IXtZVI4qfVcJxaHHd*NZ`ybK7Y7bQs`++r>xCR#9(i&y%Ra19AmGAuA z(+2>#t

;_Py>fBFa+yD$h6A;*I-6RoK0Xsg4A7e90jvFK4p8}K7ow=3>r}+5B+}L3Kk#IG zl$zae6u7or0>xTUTpln9C;|)e!U=rK_;ujc&mPYRD#SQ8;4ldGWotOX*h(Os-AHOzmM*k?GO;wX9t6bwl*kw-c+j8o2W^lRyXFcXMQ((1hwSvC}o9o^CIf6#(}+?iE-K zF+*4&s`Ul@WcbDTncWTBl_^G(@h7bH{CZ_VFDgHtRQsiZ6nOF8*?8Ej$Oo(D?sX70jR{_CepGn3U66RdIB_l_hFAj3R((pk} ze9*cxy&dps-$lqv505c}8;q2Hqw)ZH4s{nHCw$gYcnR;^g$k+56Yt*Q!RAV)QANNy z0IWb&+-_CkB!VHW>-46QmhuHG<8J5vOyQ%;8olQZD2n+l><21tHozkRAEef(*(ZGn zJU%*sL2f}7a^@pH$2N(Jr6i0cMh)$i18uy^Yx9hhl(fOWUcvI&5MRS1^N!y}v*G<# z9+oM~j+T!{hml_y6z}PONYg8JUk>WE!sbzhwm2!s=FmZLkg*$yB225~sS@WEuehDd zq+LI9&y%L$zf?9@L`xIl;@uo|mKsUMx961Cd@7H(m8a?Ic+-&4utrkXC=RDX~I zt55>TdJaCzA6_6=8X@?&Sbf)LX$2AHS{3~*x3*J*Ix7TfN_0({SwK)I1xiKCy3g=-l;EJMM{iuIRd;bZ`5-c17jkD&X48!sW?_ z^+`l`7oqGNAp-r&tTCByNtYE?PDh%veDss__nu`m>?Uh*tX}&oUN4fLiDh+da^JX5 zGJI+_8xDz!Qv_)s+r&qH1((!FYz)HJPcbN0eF7nxdkHwt4pf{RO;V1VyU-v+;V%97Q_Gy4KzrA$9QKE5fdvoMW7zG`Pw+ zKpad60E%g_>A@()V9{JtO$hKJo4~?>K7>@a#y1Bv)vd(Qrlp<`7GgfXRZffHS!8c5 zJ7gS%+!SlI{RYUAlRbTN08bY)q-+==rN-O4i}qKa(g)|MA>@!|g53^QQO6+i^Jc*J zBR&WNOtOYYC37=-SOCt`z6~&f!B(T`&V3Zjm|b6r$z3=wBJ&R5vXx5n%KTz0MB3H=tGbC}l)s~Z_#4C)D@|ic${CuM`|JlG>T8p^fWoRh)r}n1 z#n(1fA6q6=gLt5lfrM0yiJcZL1rF<*9YehADPnkwNJ9wWs8$l>s4_(2ptEd13`d&y*?)c!t;L<&EdGg%;pYVp{oMD??W!+yRJCDs7z+qWv=y3(n<@s<4&15y33*JM;Sc0K>|TPjw3l-MKf`#i>R7&?qfGjt|9p|5%8=RO4CK$b z>{m7QU3)ygsAXwOHg-$v5Kc|sz3d3BlXwQ21A=n)_Z{6MWdw#Mpx1{H12B-P=U~+( z(T?-l@xA0~NwVG3Xpa6j6L+B~qt9hRvpl##`3L8(a&@Vri+3E{Ew9fy6J5Hcq(q0i zxLi;t*K-q<9|4tL_+;x#hH7e5rw7clb$4zgCt4z>!-7ga{L<; z2szII9sN?LbNVv2t+sb2r7w|a^$*?~HLi{)0#()IjLt@QmNt;!n4Zd%>bb_r-T!AumOXi!o>Jpcav%k)yyjC7^^GTC@ zsk(;^MlX+?S<>#rnw&CiecUac^HMB{{qFR#LBzq6M6n1FK5@({ntRwd$B#txMgmRp zngi8fH*mKt)*Jue88sN}>BkA6+_qmtTp8|=L3TcCnvl;j*a!x0e>*#t!5R^2odWc= z7m;^FE(Ul^J`nj4jnGveOf#zvjx##KQ-oS@Eug^PHI{>>~6Fp zb2ilWhShY0GT-zf0w!6Kv+VFZUpX_Zr#$|2qW2`^n}e})q@!p)e=sPRVaa4XGHv!} zDs9&Ca5Q=STscgngO$$Vi@t7s*HHRh+B)IWFTM<$FlCcbH}#kTuFQ^kVESvoB#kVc z@K%I@+xe}Uk|i|x6u?($uV88%#1bR^Ss48K%!el||IORAz!YB$rp_1VMU4)XQO3f9h=anE* z1m+wW6HFNN25SUz6G(%9M&XIcw;X+29$ikOW-FhEO07Y{P6^^PGLj&pX(Ok#3pQLpzC(3Wm zs0IU+)g{1)LCpR?>(hlLGGtL*@r38Ym4|V6DOg%l_aS){`9nj=zYGF7>whv8zj@z{0-@^RBSO1 z!R!W@Vo)%Qb3-GR&4=Cz;Y#ge5^{J)qMY3HF-O_ResF_1T^}5=$Py`jR}s4ABoOgH zlK;^H)c|Hh$SOGDTuv?S zlbVjq%O~^Z-u(TkU#t~6okY$s&u!4MA}{_dVNaFzORY=9l-4<%cBA3nH;qtNpsaj#nM9 zg~gt(wT+GMvOU^S3z%(v3|uur>LJznL%JDu4oB4|%+HJqGT7zqy|MOErV0DA6E{4a zhV(Sn@$hQ@kkNWwaJo~MQTM3 z!imw6dPgcy=6@0tk3%yQ36%!&c`rS4N@yldTBn>uU_9+N88At9hC?9lBq*pkk8zYn zM6w!zu0`tRQ; zG+oFsQa8 z;NS>^$gBb!bT$z8b>suCJCX-uD{E^}17G&?4qDK}u=M#bPIy(gMtk8lU?L?ak2!(O zYemc${;JXJrB*RENE0Loo*6G3(tV!*3PDhKmLved(+RQW#xi2ftEeE{r3li$RS<>3 z^M<4En3C~qnJ`$FWC9`F(j97M%>}SzA7vm3!LWsdxVk+Mz9~JpULxj<+cH5e~8YvDFeUN{m&Cuv# z&Aq7=0xXtZS)Y^Y@dUndvic4Cu7MLrb>bv?*;^+&hmWi6y|>*^P7CS(=IZn;Zw4sJ z7w(BRP!F!4yR8k#QeDS9F9v<0@Gf8q@zjl#7sNJZw2p@)nwv-Ap@LOMpB_nAhznV< z$JyJVYy4*A^G`R5es?w9+uh%GGKs{#;e*|^L4@l>;o(!H8H{<&xuKJ9c*tB+v9OUy z@>8bl#14^s*Y*7Afhm=Dc@e=!gQP>dS592sYl<(9`sF#=Bu4$RouE4NlY!iAS4RPG zo_lv^JztoMdn;8B1*6DybaSp4jXH#FUzlKJXUhe`r$&tz*Bv}JtUqy^ukzyg$GyGA zWrnfs1LQm>-{1d~#9;QCPaE!Z#h|XF{#2>iUHWuv(hRJBp>mJYAim?$r6_{Nc1_S* zrWtw8vG2lzk`qyG#S$*t-0R8X3%G)?>C@S9<~j_G@0~T@M_PTS5V46~cfGqIfBsHr z9$R*OW9Ls2I%-v(2e-OD>?p4Rc-Y1Z`P&LOGgZ%NQa6T_>d8jYExaD8W5~vN@*l%H zm(9LmHGmMM`fxtpb^1onT?qq;ezV2g08=xeD+dKM0560L0te_z?9*cmfPUYcW#BC% zlYps@bO1JkFmN&O+vCSP@8;l*oZV#MJ-KQQMyX$YfZzqbDf*!!^zanPpRY0I^rPYa z>eR1vr|AA$eAC>TOsH-URF6iyBHHo=HK4Rey9afsh(Vv{*+dUShTXi@UCFhYmcuqFPIk-)EzFgS4vra1@A5qO@SfE=)5m)>ahzaRZ{*Fq(Be`v zvmkXI9Y~e9G{UJ;O~vnm9=PHVt>5208e;F%AHVE9*Dm|ClstY9?kHOO;@pdVs39eL zT;ak-kC)}QZj6@ zp;ttez%B#4j5TZ9^!&W)Ol?u!>*x>U`g@tm`yr}B zW{H*6VQP+AMYNa(Xpx+pkYq$!2yQrN2{3+uT2OxciK`{35C!0Zs$(f)D~|BSj5SnB zNLeZs#IwO?@?e~;D!@b?mp4Uwt7 z!;k5GIjnb!7cH*EF1Bd53d_TJr<}&+(Hy1-jk=hB(rGypb!)H4BlBt-NHmvmLaf1) z5#u$anAzj1)v^&@>u#1f))*pJ(y8CP_#{wH9y@Ycq_9;3+<6$j;?tbpH^+W-;3%ql zvh-%)keq+b6KmIL0@R57`ElxGQ*cKBpih0>4wG!>92+PhKX7_|ciA)PbK?&xM$G&8 z@XI$tM*XgS&wUGSb=15*UPHd_CU`+lm{9xp%y0DJ^%UuvJc!4CL6qh`q zI*mMt!+j^;mqDE9@;U5e@G08fjn_Hub*)8x+*|$SSm8NG?Hunp|I&<#8|JD(En0Wb zb$66>GBlTcDj#`UBbw|lqZ_1xv{MW`8y!tEctM<2e`g8nb`D<|@4Y)m*n0f{M(^N+ zqMUgW`8Y?8>ACX6nvB2O`q~v6W4<{1Q`wcIr7r1kf(RD(?)XVmR?JYAh{0T3%u|{g zoB}Y}d*okTRoSj5g4FZt&qpa^c=j2^A1D4fBFr7!u4{tE%8+nv!P_k4FZ`hE;1f55 zj91!C)D1Ly&?czv;L*TM({n&X5)RI7y5j1`AMmPm8)~{|?g|-^V zeQ+k=$zYN||~`t*C_t6j;nA01BI$o`Nz6tTdfb@&}I2xhxHNSx5rYp@;Ke?b|u zSnIGA=?H+;TeZlc^vMRkei^yPqq*gr;(zo?US zvWlMUhX$`Gr;%J`7#bz55lmPUk2EGf=tz9v!KGX4dvwgP&Wp7kW$$ZWg&$kS1p#Z9m)H!J<`RNjFaM zft^R#v3h&%9ACq?*i4jrY*n`ehnt!?r{4RPhNO8R8Zs=r$NE46wNXbTA0x&?h-t_o zBMNq_E}}fj0}2LS8G(T~K1eNf_RDW&Oiab$hwS>&3 zW!A0O`9~lz2wW-8uYmev8N5-wfOlI;d3oz6vUg81-D3#NV^G7{dl}bZ;DsIncIBvMINaxp5z>>ZLa2 zGFF)ZgrSMOW7qUv6`Wg((VVx5}EYRG)P88L-S)>(pSs-4-6rhuqT4 zmr@!|_%OX^+Pb#tcLG4UjAhQ5MWw1Bjz(ly_ZAlkq?!pIdo~8l8HwRUhS0&*a&Y3Z z+uXulD}!^iiPopzU$ebH0;8U-dNyQ8+hEU&n!)%p`c*?Z_wV*)*O{ynbgZI$FRMg7 z(Co-?wIqSH>UYSyWlq;hMtSw$c1pKCc8HqjvVYn zWE>$2dLEmoSZ&w5wDK-KUOJ(ivJJ&%PrRJG{*&mUli+>(`VUCoO?o~V6QN7FHRcl1 zA}d)KxLwy#LX|Xm#|VbT_gVxMjwX7^vVzs~-X9S*7XIO8SV$v)f7K@R{K!6vAiFP2 zw5(u^o(HMJn7AT0#!xLP=fl$lxr3(X%Buo4xnZoqZg*VlOHUqh7=SnH+4~uN-Y|$q zu=Nd_%&9g1@72S%JWn`Ct>GZ^IfMwc<D&m9Pez>tOGV z!8m1wp-N92>n(#7%=! zt}yFbX-(L&mvRfj0hSeE(SXrLcSE^{{3G=ra*524$B@Q=3F-?)B0-j(BG@TcRU~RU zenJe0pH!I%m}e9j-fXa3{k2mwRH0^2>R(;^F~3M5A=^0TWG19}fyM}WYupA?xrw!= z0{l($F8otFdcL3K-5F}h`Jr>ObAETv8J|i^01hT~mO6TP4c`oIMGuuny72Ce(=qx; zDIR&SNKL;EBf^XBVGqacg679=5c^hM33jgdWd$2VS5Nu214@oOE{~X*HBS_!_+nLf z_nP23^7?JtkkU&pPJWkP$Xf9@`mTaCbX>bh)w}8TVfrBn>$7d-j30UpP7gNH{T_#q z9kwFOIT7lu&O<`@FZa#Y;ItSgk7I;Y)w`mP5Wil2HUcpR8q zt@J>{ARU|H;B-tkm$cn5I{ZU>DokkU30QVGfr|P31Y0VL2gsmIB-1#pwqaF}dNHFU z33E>|APZO*;Y*q-Iq0Qk&bn|Nox0Mml6sdcMp#kcp3`>y+eEVZQRT zl#UHbkLgwO0f2f$IT8+0W^bMnRGQ`ISTeQ7r2EE|3yguM_7Nkx-q7jgJ#eksu%nUJI z40E9Z3q$pS#!^^^Kr7gP)Zj4$c?^HuHL0C7!>4)RvrO~qD)Y@S@^V&|B3+zYx6e3O zzUZn~^Cok%KaPN@W_OXqi%V>@UhDCiK@UyeZ&$cR;p5**q>>u1Sf|YWeW!gj%N8jnl=ZTydRwQ^muqUCP!HzSLKxt>j%7w;QCw!9On4 z?lH;3A;OS?2FEZr^dAE^0}aRHKHAN|=0UGL^;N&8(%O##Uyxphs(pgq-t%ykZECI_^mak zLm@ku!XVS?@ISRCBJ9AoMb#$DF37TkS7AxDx_5+Z9;ABIUDiUy^}Ec2(eZFaKD4;H zh+KC<7qex$-|{D;kpD^Fj5coJH0pIu7Yk0<`(b>G1Fb1CFelt*ksnavR-Cu5YeQWc zP-zz4dn%O9pDx&??RiPXXqi!a`sQ)$l9PdLaQGds2!%_qi}O$&(w-kRuFn`6 z6w55Gu}4(lQuy*tQ`?MekV~W zVeI#(;wmct9>r|&IyLBx$2vj32F9HxE$k*U`%Z{c$%d!07pj_VzzzFFmQOYudY4fK z$$c35XtLqetFnv!Vc0ds?S?5J5Z?Fp@aW@e35x&sMS9&}NZ{1kXB^B|X#dL-r!2Jlq7+rY7MkH=Io{VOBkK)O^XDwnSB|Aq{g7G<1v(EF-D-n&;@ms6DHbbH|< zz;gC4%tM3wA?s3LwrjEBCr<0YXVT})GQZY`YFq%)zj4`U-x$=&!O`!=tzT6QM=4N~Ur3tJ}z zaQ?6fAysrO*I$KM-~aM*=$mD76R5=|lh3VY)~xoG~>4xWkXK#t@6f{s%WQ+_J< zn!XzukS9lP!w47rUOXRWUBVo=5k0AX;8A!-A>v14+-;{%bmfQ4wg=aC7B6_qS$)Hq zS!_1;y?(xXC-M5a(bu8qHXErYMT)a+h7GT3=Bic(!pKdob)^&uRzOOeLXcEL7^-qm z%HFXdA?AKcObGwy?&*~r>gXlWcfuz+>yG<1#DBk85w!Szuu}ebfwlfJdcImVNw}r^ zEv83UoO|KOT~2`_)7$^?Zn;*Edq2Iu@u!An?>8^GS0DJ|DaSeR<#mN~d6VtukqC?mwr-$ec_2^%%ip{of8#`P62ikW3h;J+TJMg>Cfp)^m#9Xpz{>wVvH0zh?lv#1v z2UEo{+bPpZUZuJk^GdV%uj;}{y>+T36)j_b#_(p$Ymdnj(Z|a#50L@ELhFA|tnU9+UDtX0 z?=ojC$ENq=yXilS)HS+=kL$tPf7gh2N5B=FHIL5QDX$LTZdc5+!>ylLdimT@tJ%JF zW}xuvzKfo&2doX;oSKDoPm?F)&)1+rAE?|YfF{k`>!>vpiy-GeL9jf)R=T+GkgX4(hddS-W^#LHKN|F!m5sG;$L$uqnY z6JCplE_y*K=Dtw8?g^J{ua-5Sg}CRk`u@Aei;fmae_C-N1)g!a@) z!|h0od4Eac?66o!PW3HXMy;##fu1lgVe)y?@{IM@$H%P3=n@hV`^jn;zm&dEZK{in#dw7@M`}Y@@shm< zR4?g@mNy~noIQfWtM4;41jfa1RKQ%d5Z#Yj-|Hy)@FMFLXuIlCtM7MrHu_Za7W*ZN zI&ICp`p{?Zn=CuBLrd_uN&(6TQSy*(G5YcDh0}-73!W>%yAK#~fe@v@TfnRAr+!sG zlBl=)&1K}SF4T017PK7DOw+Wy`NCT}C0Edz-0S@U{qs{*)H}wFxAsg-w_>+ZVn;Om^7>yQnMC^v^B`B%`nVGzFtAMAtELLuIOus7 z=g}y)cM1;d5Nnx+i&f=A`X|4rQrjC@N$<#BQ8WoIDXrPtQep(x)P@7=OE{_6$HO?{ zu?xA*`S%!#0htLogrI{!u-0BlJ}xJG27oX~zJ@-5?XyQD3$@UEXn7m`TFUqU=j9)5 z+k69-jrYq6X)8rSz52vM^&HFS+qL6`A{37 z_VylY;e78kxz&ZRdQ|>DMF+xeH~Iz5#;N=EAy2A2;wgwBjlv#_9@mE-I!F6B6|8;t z?Z#{965%RlykhK>OPTYxjrRyy)5FGH^|UMD_Ye6dOJb1Jk@kP9lGN^=5|X_8sVrB6 zQ>-*c^ZgqdI*|$IUKhyfKWljS=APDzN^9KfIp~MhlMO;^W99LkQxj1C1e)wNkC-(V znsr3i)n@;IODNj4nVFKX-8J8NqPpfmU zc_#KhP~xuF^u7m%D7j?*Nt#(!sJ5usi6=WY*S8LE{Aw_H2N0$Q2^Y$KI@a^n-=BJ1 zbhvt4i@F!&)Gw%g6j6j8X^rO3#ofB-XWmz))Z=M9cse%c?`pg0+|OPHJ*&R^(zS2% zZV$p!C$t!j#=y>8S2X^rdVk5B{|Efp$9VeeRkP;1b2@+4c*E?$)aAvy(%Z`Qlzn$x zF-vZW_V|Z)UABM=<@f2)uSc$CM!7%49!!pi@X=Q&mr3wiBl3jq(@!Uw1%`)j>N*?D zl`EW&QT=1kSN?D3Y?<7E=C>ay4W)C(bEA^E`kMa(o%g~});upgy;iaEIIH+d;)lhj z`EgL{pmY4I;M9AAhSv6s9tiX8_{FC~p=e^b`RSdDiJKPx17&PcRF*9~M~}+byrw`j zvo0T1kLPY($hv8ExlrddEA2eU`TI`o{;|tUpJA20)WmAi`h|jP-?GR*qdRsP7S!G8 zQ$6tX7Ucez=!1aAqpZ={o9^pU)IV=%*=MGWdrG=y`mwgzjqM*a_gzsf^DS{8ho6qK zdD!xebMwekgCn=5d$ac+^uOseasWSB`+U~vQoY0){eJKv*`uN_iCGoUjl+DZRd5xq z)Q7q$ecJAPBG&y2Wkx^nT8ZB6r*ZS0!T6S3-}M(~Phr(H+HFFMdHOzdQuWEbGr{eA+nX-b=TFzK-4=eI`#I)iaU(Ax$oaNL7lj!L z9uI2DP^tc$paw;vzP^BylSJgNKOz{PnwjeNyo7#|1xkwYzL{?7_}DqD{^^hGJ*Cdz z8E}Q!HuWi9b+|?1SZA{L>{hoE8qUaNnKk$Q>E9-{}w(o`RvfY#5fW~B{NHH z_1hJl)GvGF;M^{in>5iJp{>d=m-2y_BZ`m^~{PlufJg^qozxR>IOhAyL)O*$_RY7vZ(ult7s zJ;4Jf>FHOX@t1@pu!ZEZ(mdJ7RgNoy8$CGuc&>Vt>eF^-L?~0Jxsm3r;n^{tDTk*O z3;23L{{SqHQ7|+OmD)(vr9crR7>u0$~ zbzpH=x1Iyk;vYSPqdhq5TE{qDNdC*d%<)O|vOk0Ltl9M9GxFE3-gq}tOoOM+IM3bf zT=u8oZAR1nJ}f7TBO`hh$gSa;#q~0lS0&K$>FjV%6`3`m72RKHuNxJ3nNOh=&)nON zarDh~!yKj5<(>)0baK+bbBtAIha8bxbHX!JLA z8e>JxYBj5I$6k5jplfr_PCe=SYxO7D8OAeAF`V?R7Pn!Kk-fMz8G!W1=fxh^%wEjT zF`r6JhtSpUAmDI$>F-VQ522&l2eT-c{i!^&S4=0;lgaj~_JZXpY^Czgu4>>g& zwI0wp5l>@(c8@64&4bdAr)*R9q3qF5%M{ZdI#rV&wJ@owRf%-bT&){LN>@EaCeN)> ztV5(k7ZoDR>)xHP(un=2bBh{_LH4P;5lSwmAH_-K`%&ee?$mpohwpbJTgT|i4Jo=( zKh=tl%RZEOMw5(2r6Ek~{{TG29tHKzGT(vL6Np~fYtF*hMUbW-jEouZS=_B6g( zsc?y0!mNv&Z4~Bp>;a~EdFe+6rrJ%XHEhIxyGN7$%^bqzDwLo`D$s}8oFew4m^n&&3F@?YeDte= z6P}d5N$x1P>{1c)(v(HcF;{$?^c3L%^vx@d#W5Ec#XLlF(yfS3r9ELjl)0`JDftBU zr+FM>6?8&<>B0kwRtuCxzdfpTw@&7*t*a50Qb$^mZ4W{Z9^EJ%%8LY5BBVo|wP;zf z;~&Q7qWN6adGlttGG|a0&b> zM6d;O{V9f~SXTALI3f2nu)1O61`cGKa?Se6rZc6Q9 z4hA~@l@Au4#jGTj=bx^g*e4jk+kx@&a7J-Ft(cx|*P^)y>cO?vhfVA7()8agQ) z;Pa2E$GurdG?molRnaYNIIaHK+qJ*JNGPIeOY2iz&k_1+>$WI?46a1^8v-oeU%O9Ejk$MxmG-XHTMKu1= z{{RwYw{p6YMHyZZQaFDtt6cV>@t5Ki*^MO~mUa>z+D;hT5mL zNaWUTgW1jf#)_idM^97exaIgL@diz6a`rM`#EtlZGAOSKvG|SRT{BOL!rl)Gyil&i zX{~M9&(xL4KUyh$S${Jt+dt)BiOA{tUa@g^HNS^7`^&94SmJoBq=ZZ{++gFV@9Rsb z>HZ|N4|(L++AK^X5U4wt_dhmweQU7r_s5SBcq_v)>Gm2Xhvu>U+>$Z|$GFZ<105@f z@n^;TZ^Zhyo2+Sm7md(-(Tfw)Ir*4#>-pD2BZ!o>j)oN{hKzT+{=C0aN^cPB%?-VV zt$E@5HJT8{c&(C2O5^1YKsec+2hgO9<1nSa)P7 zg5Lz^qMhI4TY9v9A(k6we+bxEh-3NYw1lvb9*q2vn(U1g6{FPQmLr+!v`1&9Hiu^e zTKi2s3jKm_c2+c zE*&F`s-Lb6b|=7E++Gr0deg-=Gfj}uY4AIF%*U}_Fltp8Q<9XKtHe~R4p=P?W=J*d zHs(iFz0KMC2BLK?In99z!K7I@<&PH|T*H61%wGRvpwb~--&s*zhfk`H``Cb+(#2)=)4{SQHA zGLq%wM)%viF$JN!vGGBI^aW_GtZW?@B%G_r&6AIzrds&##Fn=5q&F!vO(yoZo+#O$ z9RS=8JM^mBkHf!+nrDX~@g>fab8V$f{-WmLV~9V{6T9)nb5M(j?4@h%6>k`ku&nz} zq3Kl@1hjWElc?UR-y_i5;ts3gU0PZ1to$Qrv0Jg-C6sUpHjWf33>Q5ze>zA$FzS|a zz*kT3tVs)Qg&RyxNcH2N#=QF8_ePgjj@s%Gp~To%npSy&d*E_v_^}rdo9jJd!Q;1^ zWFW5AU{BxLds3*V^84#S(y54Y_a$~~_?zMmzvA6)T}x24v)w4eEuFA}JP&2YDjh#q z@q0*T(<5mf7{M!URmv~Wp4HXqKMi%i7TI0d#p9n0Dk6EfmhE5?9B>9e=i0a(Q$o1# z_O~XHE~9G<@wV5xwQ(x9;tw>aVkk-SN1<4pHX;k!Pp_ffcx^m);|*Hrtn6*?E*W=R zJoCjAi^tx}Fgf=bs60igyuKm1wAHlR=q6v?<~>EGNboSY>yRsulE*@aPqUii#$Rln zW^X#(EL{DZ4gq3t7?aq3b(+)K$7b=Z+}>k0#rb@&%j!mWu9npLvz9V&R?zRXbcXv% znk!9p?1(^TTZz1-m!1NS{{TZ>M}#~ld*Zj6#>>TCAJXlk83$6n5O3q1rw1n$Iw9{^&L(rYfI{FdKbmvs?0r1#cD@}H7K>WpwQLGUj`0x7GbtfoWmgdxB3b*IC z#$gsWDyhEW+9l;GESYL_c zRpTIxdJ|qf7Q3XTpiZBv-^UY2w{-T)m2W_xk@(kN;hFU-%|N}ZS_S2$ky&Rl%(mWo zgPutsll11g=+3HYP3Uu0jVE};YJD5xFWL7*9}KPhP2tT^%SQpYk*)@Jq2yo;;DN>~ z=j~3;D+Z3r`qEaqIWcdE)6G(N#yWRBJuBBNe1GDbjSk-VuQW|RLK69Drd!?uBEiT$ zS#88)Jds`gxuEEO7(6C*?GEo(Tw3-Oqk4ulTG9{$zAS1|qKg|+kQchSo&O;mEz z%crUGWcTseYog;%)Ac3Tpfr+6By6ltQO7~=Tbfq0_Wg10H7_5gm9_&i-D+ZKm6&oP z3ZRppaa})+G@pukOt*Tbqpeva_OT)#AywVb{Jbb!5snG39y)fnb9)mB?e0imNx2&W z_0I>2eC}~^sbrZhnx!QwS8VJDjCISMZYvk@$W1Aw4feH;K?wesSSj-M;@kEMA$_S%`fmfmwD$O~;T!f?KzV1JQC!s)kK+C!#m zS5{V{B`-dvN6O)Ha1*vh2L#e|Dal$awTh`0+~fD2ke?U)d!k5S-my3Vnk)T0D>4p; z<{9L7ti|}v;|A25Qx{0?&AWBX%=>@YRXk(x;=K1&)jUP7-aW>ntlVnO%BU_Uk=@7~ z01INcMp{7Ba< z*BWiyxzGH0YI4WFj_Z@2+*Z|}?GG)CRtHwG@eG#`K4pSiq2;*eX~V8_(!7&J@!q{@ z;`s0EHC+=-)XSFpRMyIXK5s+RoA!~`?k=QxZ#9Dvc5txyU%MQEjE*syt*idgo+-bz ziW^JGZf%q)b-RffrP_0}?Hv!baUK=%Du`yWPX%~eTr!{wB(7j+`0au@u6|3&Y_(~v zCb82Yo?@dH5rWWj+4~M~eW;Een{F;P9I+K66*VOOTONP_x=;$g&c=^1$(*UiFuGq+VQj%EH{;csE?S zV6M>H+!l$?O|IBcyPn3gwW}MQBUZmp5qM?~v@C`w;ezF%j^F+Qgp%mUP*|crX5AN-xo=XbqhR*P#zf1Qo#SB>>{`CRqOZC~J~ zp>iRYM)5|TT!O9V$1(xmfHPeJcw^v}tEMI9o#UNG2xKJ_&a!9N*v<$8BkNuj2EXDR z7SUSI#d2A?Fku`pGISYM%M2Xms%kS|{{U&vb^ibfC9TxP+)3uzmRz%7`DXwOjPu4g z>T3steI(b-n#UO*|Qx2e)i@N-{Fi>RQV zL7A=jki)9N20gOe{uPNA!#@?>D?N^bb$W=q%Rt^>QR|V=S0KwBrL5)elTaZxLeSk6 z*xBo}@UbU{ew{}*cLp+nV<^wYH|( zO_SWlWQfgpm^c~1BfVs|z)v3-ZX{hY)QDGc-E|&ZXCElfHP+<$d5%R3yCcND%zY^P zH>j^bzW9IQ3j^idSuAq~*kSV&x}0}W%}=a+Eb)GW6w+$?P_+=kld`<2ovwad4Dx-e zC0#w4tHaG%HM!>I-?0XdvvHnl)8hC)I_b*!78 zhyEnBdsVs99u~WDkSv4(uqFq~(W&OchA2ZHsf);3EMwnr$Wumd1u@^~LwUs;cFtSsL{iu*q}!K3WQ z(AT0x@Ylt2>3150T1j}IDzX787aOsIv>cJh=NJ`#Q}{LG-5v-fzwqV6X*vgtj5a~~ zbf@js;IQ)Sd0DnU-87$OJu%xg=$c={Zxibg-pQxwf!4`4+!mP=VEj*7r+473UdrAH zuHcF^p9ObJyaI3u=Z>A}I?Jdk5_=pew>Zwzj^`AH+l=FmI(yfxU3?hvWu1cFT{evr zE}mp=btrbf`=lHi#=P(zr>9uj-QQeTc~>09V!Mr)7h(s>4sntA4rwaMtMn__Ni`m< z^Y5~g{5`YyQ%$J@IKaW=`&Xj)lfYW{g|%y|4NeM->i_;VXS^ z%I@Mn6L@;cNFnn?H}{JRN(WU;@Xd_z??S4ju%$*(_>t%T0A*kSD~y18`qB1ABn_vZ zYV7a4J0*s!mM?c@a$QxHTX~j5JAlR*dS@SndL)0d?}{hUtuLb1G&gy{GTXiKM)u>j z;KX$t)^#yar|~mNcv($eCxjbE-M4AYH|&mafO$9-?$;jyHOMS(Czr(j7D%A^mpY7D zbM4Ps;BR~}J&vaxocEe|cR6Q{gWI5y? zPDe`g?H9rR8^6-E8;w)OHoASxOPeDkMBB}eybAzI_2Y`k)pTtWPqVYQw(&K+@ts+w zMU9oBA&4DDPC(D&RrT0+2ZO2A97ov5?e)bevmo-MeR!_Y-qXR+>sIjUej}M|BwSog z1-|D_58YC7{NkwT^XYT_p;%2UDS-_BTW?TX0EHZM>yyP=uAZiDgp;#5#j#>C6p#kv zfu22S-(hY>IRiMaQPnh`0BIKYx>S?v*Sf;0HME~&XyK7c2HUqAhDki~DSSP1@V3(8 z%l;E3y@|!UtLf2OO3f^|I|)2(`Q7U+67&$(Nm;H&sAfey}Ja#z8^QV1` zslx)N-n;2_dp%1_w$Us;A8GJixB4)RCZMonKVv}3ad{rIf>v7=-w25ui zOwhX|YO9O}Ane8R&2^&OK^$)0v0@H#r&MNvr<=@S5G* zLk*;sT5H=v?95Wt43g)98UFx?3~&z|*LN4kjb}}^7Mch#Tf-8yyEUbvvSX+}C%4qr zGOs1HO{vhN*0Qra`aKrzNW8?cxMT+fgls@PeJb_0h4ovh5;%0L$9DmhQWhkG-x%rE zy6sovr^KCi!*bZqt1sAYBrS0o!EB^3=mAv(aa8obiasm1f9|z-{#^gxK82p3|m?I#1XSHlt z{1o_ss7B3e;ax^W+NTVgc5dJdHaeW~U3Z3jWAP_d@RZt}=Z|l#wEaDU7CO1}6M5>Y zd0+t}9fxY}27#qZYA;*kRgCjI2+~ie-$obV(6V=E&KNvGZqZEg zeN*6fjP!pDKDnw{TG+u0Y?2vnq7tY3MFGwUs@hk=EoWA{OM87!!_Xv=d4g-bPAE`= z+mp%m#daEuI(D0?yG`*g!WU6q%tX;a3vdZ7zdLthC!jvvD~H$h&kkH`4`Z!r*1F}D zf|#vMg|fmK2{{|K?mT1+jt(n7tl{L+jG55z72`?HQM12trlsJd(l2lH{YS(aDqdOR z5WzT=X8!U)lrCOX1>3;K1NRiY(;lx-1n^N zPMdawtVKF=QRbW*5?v?4R+^;Ab>bVOw2EDcFty7_pdXt6;BqnaIjy^WGvRc)75&t{ zFw`wBkpz}DliCRd!Tum!2gzCfD%ZR%so2@gWe0`yn~81YS#0$EGT{s?ae~hykj=*g zbj?lw00`>pJ`If9{8I3%{g5>4VBz3(J9CZZFPQRp&N!l-qMtLlH5-#$k+EXJKMO$$ z%-ROEsoKUjTu%&}Rx{Heg~Iy$-h#C*JXi4e$dKrt4d9UZWFNO`*ep~YaJ>%|=8b!Q ztji>$TGQ=hm@INdCEGx*sty@|8%X+}!n8)Wci=xiPSW+y2O>1Z@qtm0ak}}G# zkl!l#c_4$yCyI8V<1HUg@JtKguODl%YMO*bJx@JUCdWA~<>dQ-1Y#*S=_V=dio;vuacXe%Hd28cMI$M~fcN&nE zET{yG1yFEtj%&rdIpWU{=@LtIYvLVN!t`ut7&(h~JxM3GP|oDZ)M^wIjvXil1qQA*xD8tBO6B` zkXxLA>s-~ZgA-EIB@x;9W9=pn-CSJwkgKci7-14I=YlYL*EI)({4rwJ-|&)rNV2u^ zBX29nvYK|4#z0<302ANdr0_3~ei`^;+VWo)_+oDrw%o%T#$pj*a8#=dY7!QTB>WhHOgIQ{w3Na@s;h{{jnj*ABnFti^BSq`%ULV zERPgf9(%zbulJZ|@X4;b#=jLjCE^X2o)-9RWu;lhyJb6Na>tIRI3Ao=7q9r!!@Aa_ zE-XAH2AgbRRBJd^NtGB37u@G0=bTp~=WX31vU0I1@l9fHot#v_thP+YQtLu6$6hd9nhYUQrHeWFWe zXKxpW^z@utt-a0UsU)(S3FntgJ{ z)598Uv3~MlEvcB^vl2EcxL`QPLZiNG&S2C0X|Cy-rmd&x;_A}LR$KYtj1`180Jj_u z@U6`k!(R~e{S|y)rRusZounYi9FKEvlh}b1WRvw3lA{_{bs4L~O0=4#5-t8M@kX^F zvy)cUuH?*%9l9Hb+M|ULjQpw&G0+OJq4Piwv1C-+X8z0*9N|NewYML#*!pXHP;}=}Hdkw_&7=4p-^3Pn_T{dmyt_*ck@v%79G!Zwo!rTQp0oI%A!1r zPm9Cf+0p+1X!x7#cRZJa>{CgzlaH7j9x#6zE2q?TNN3el%F4BFa(wtDEbXAQEGa26OsWZRf+E8~8SRr;o(G z43gn8lUt^v1kR*&z|RMY@77wyGtK01e)Wt`4R{Ls#1|4lqIhxcr&aSC%zXJv>UUzg zYuyXRz7Nx-5{I_3d@PR`QU~A(&*5Hl-XQU87cxoqt4C(xnPpW6@l(>X-^E@kOVpCq zC|-EZ<#@@L2mS;|u1M3Ur+I94O0^$nXzqH2hO^bQ>wyP8D%@7$Em>ik9xCu z`ZlGkPjjH^HkxgiARo?o|P@N{l&GOz2cj#KG3$=OfbE`gnET60sJeV)x06_@aj<8_;bg4&D%NK zaeH@WutEXoLWbRsT-Tgv*ScNk2I@kGX<_~- z-1HU_wkdnEv0KL84e)1&{6yMjlj6zs>vdHveHw*UBxLPSNx(k1H5Q%V?}s-!B3xX2 zO1-te+&5W&Wwy}0@h0z>kD#lU9tVna^KE=frCXrLA{N}o>6*EwcpJjASlvl4iuBkT z+A#Yy3E3KB=@?LVAIgG*}YSDL_xx)CXMDXp6`^VvZV^Y;^lN)8cwpdFX zbMo#uu65_sE!3E!C$=_Y72B=0jSbj0UpxV@R@~u;_9rz$`b&Sd$^DlBj@Y-zvan*K z+~8!_Tp*kiJj_MZ+D9u6tEk&Rkv*#z#&NqpTD1>|GCzE!RDW=1`HIn;k2A@Z{t=PY zMnI`Foj1dhYSAXOt4|%5CP%YHFN}8G{Oa1V%PCo0r4F%cDETBv*dDuZO-gT^E)m(3 z`kV^Yz0kZZb94Uy5^L`++dnU#mU2DMO6hbDfu1Sxb)(#PYf9AhD`f>yK83ne zI;lGxv&Pep#O!cmRlJJ{8$f`3%e-zR*FhD(jI~V)JHPBhHHtAQaSf8jzl?wae-m0U z{3Y>IU(0H?wvfpNLnOB;8v;9Fi09g@-uPR`dT)o3Ztw1UiqFaDN(or|mQ2iyMoH?({zl zT~Bo$#-4pG6{1u9(}CC5n&511B-1Wc?O}#+tPgSyIl=WF-3@o1Jou?`N-+^zY%%2f0wFvK9nA#~p zP&)J->eq_2kAe3$ZE@i*66%%@8WRb1A2S}ro^hJ+NNnxX$&&a-E?hB4r7@OX;E~h6 zHGjoguZDFURJVt8DKsl>iUc2Od(J@QmuwT0&1F*uIlg$+w~@U(bSY^%H$84Ih8Lb8 z@NSu?Soots)Gio5n{74vLiXqw?aQ#sXFWStD0~%nVRt2!_lSHgX%fk~mP^4n@6f0@ zuPn8S{^`P79fa^Vw!!+Il#gewNpLMn#DXRv$WYlmImUBIQLTHq>FNIf1dpxZtz`#) zQ`)>g@Y}Tt-xneF`KoO+?) zf$5s^8;c!w(@qya+f5cSsz8rC`}$P{)HN$v)vv7WTWS{}N}LaT9<;uxK5NQs*ZW42 zjiF5*_j9HEEz#~QU3^0+g60s-Done<{{U$)cJtViUZde33;Y1pt)zWJ#kUPC(T7!+ zEtT~>N8w)_*lLkq-2UnaEZFoeq=w_)HKtooR}(y#MH_cpE(!Y9H82gkslS=iPc~e< zt_d$IU-3-({$GcG4)uQxJL!7=0EKMYGE&~up+}r9a8G^2dRG@8fP8tS_#QtWSx3_B-&Wa*pK=tCg{R`s{#s2^ZX^(BC z-)b6c3;wXB!NESITOyqtzM}hje8pEYrzGtQKamcp4~;CLk}XEV?2%0(%HQZ7LC>cu zFg-^~&xgaenxxS;_GQtDNiwV}=Crxa3WelXQ*rx4{7u&_RzDG6L#$cD^Axr6jq)hgp^?(W!#EX@b%#2atx0h^DQkdCeFd zxv`uTag6r?tIB5hf$#?RUrk3=(X~sc*|8;o zkz$Vo5uY)BZaV%It^*NTb*(sAcYp9q@t9gP=yOI|_PT$OY91kdR^Lq1G^i(- zGFd=Lw~HKY+S`d<{M8M2PL9syUG;q~^_-Go(*X$&ami7S!o6q3GJF=lzqgygnl`-l zC=c2TPLi?b_;|wcj=AexwyUOmH@wtij?-1vG$nAmW7KWdLV4@*s`2<&ZYera=9l1c zVc_bnSg*a<;mwJUNjk07v@;=)Mg!a`$jnA}Z3l52b;c??OQiFmhT=ws25*{pkW9!u zhf|NOdXA^?)8W)2=4(HSdIPLB;#i}W8ADvZ{PO?~54o>4g3C*Nc^2%!5-vhxoPZtJ*n%kSla7y+S>^hHq@^0!x_Pl zst=cpa5G&Gio6-%zYp6-E|>8()5J={=Syoz5r-e`0f9|dge7Sv%8nAO<9OM8&Zohe zf5Nc08kdY`)!G$@_Yi206T7kNzj4Ze>58SRC&7cH$*Adi_lQ5V+0U0@cVfO+UsiD0 z{DpJU*?d2P!*Ske8s4XOeiJiVTv&ySw{Ro}rYo1dxwgF?Y#LRif~F9NXJemo7?VV= zRr{%~ahcBZ_JVPF&F71&0iftm@JhF4rQ2giI8te3%&)K@?O^zKx z_r`EBLB2x-OvStKJ7&E1Rrs@ad*R(XLA&tZht)K=1Tfrb@p&>y?<)_#+tRu18^wMd z()9snJ#iStLoA0sZnL@#lu0L$b8eycwqHmoPYzTkCt7WRiXkK@u?m zdFU&ro8mWt2g7vJ&%+@GvhkhTt7{Skke)aBT?f#5Q@ktiZ{i=1^(&;c@NK25&Vpr@ zSXRO%=On4^>3~0#bUL5xo8zUP>dFl}MvdXv;(2vQ+vOnc0Fp31swyK+lp}QRzVhW- zyrpR?Ke+Ms@sk)%p#;L+;$%^41g_cOg5NPY7##g-T|dX^WRuTvVAtMsW;o5ka3Vk6 zP^1D!Z1G-+;(viUhlX}Fhl#vBe=;C-f*aK&78ojX*A1HHJWJp|5%_aTwYS$7Ld4Pe zt94^C%<<>5ZRmZm#dCXHJ^62`(y8L@&21S%!^C=rh_&>B^IW%pq-`VIYPT$l7*!`| z?~~9D=BeEH&r(-^GU`(p!k2-F3;_2$Rc6yQP}0K{t*yny&;VV`tigx(Njxd(%~rkB zbuA|HJ9%z&_*^di&_3ndPfw^d*G{6Iibowt&YHZVV&L(O{gv#uHb~M+>Jh|@a-fbq z^IHkx4-x7bUA&r>qXZVwVq}%e+(|LW+ZhCqK_N1*sIR28KLPw1(Yy^lqvPKRY90}i!ZnatuBK;_bvy!tCp?l510CzL z*hUe&jx~#^IVBV3j|s)`7sb9JIxdT@>Ji366F&Ba7!wDUAb_jM;CkY${73P9zMbN` zJu*48d)aiGCAAk2w6ZHmId`si6?42qIWVnWSY&W&UsHDdj00WjJj!p$}s#0|?4UXwz zlBLT%WO@~bh5rBv7lbuEM$5&4=DKyd{>qIfl3B`#}joZqy1bUR_mUXu1nsde)>DD@jl ze+Js#Y5p&eYLae-YY8mc1xU|166faTpW<&5c$ZAmEp(gj7ACD|@vXqOvAr@w8(@GN z7$Jw&ri0;yyuJ%>5?}c9LyUqXO)gos+{+$$DUpnU&>UvG=T(zUv(~OxNW8dhIbUp7 z7f~uZFS?9@`PWT6N3{17*yO81bQd#QnwI_|5?V7{YB#q2VH`s2*j(}$6O+_pyUz@G zrd7O|?X+Dh#QJ5VL8rLYqHXb~Af180<39Dv*;z|}@Z#fLi^ZBalHN$|qSIa$Te(z% zcQ4Dds^sL8PQHi2x_5!CuQcx;UR~=~pC#^;H21fT1nbPC{QTplXsb=lTI`%ICz10w zqtq|_Tky+J&}<;kv`JG~S&!NoY-5%Pm5vyo>;`fMe;VohSK?m|_*+%eqwrsjthGzI zZJyfbYFacs5YXlx4)8R-jwBV}0+86+dqa^*}I6k<|d4<=)?QcTU{{Xc7Sz~$O-7qr~ zbv~G9GOz@q;B*9>XCM!H^UK@qYr*=26DNqYJwS+rpYbZx{QaSZHj=o(9mRSLm+fQm z3e&->;q795H&77(zE-JXB`lcvRGta?)+(J^WxDh#>3uxUG1cvi7cDl}WR?E_=heRA zjyVIRP?}4LHAGl7IT1ub46GT+Z8W{XlFnGASpXv#-I6ocn#!gsXdbC%3g|J73yrH&bbvm6hxb9zM`*ghvH`xO3Aaei^T#H7I{( z{{Zb9ZAVGhrPHCnV*yb)3=eYL;<{~D!9NN-MAqITvhlWw6thMoSiF=>W7QOl9y(VX zvC1-TFwq^bz&8}9JztY&%2qnhh||N3qzm|#)MPpo0KemmpZ>L7w6xT;?IK?g!{R#& zOSv2D>1!l@W3rLUV`)%3de_zi;orh<5O|g?Tf`nV(9}3ods};9Zm*B0L+@MuCipGz z?&`r{@NbIrO+7KY%9=%-G4a; zTdN*@PiFNCNn$zyRaic5`8Nntt(f7fqy_F>rj zS1WVk{qBn;JpW3*5bC- zJZ+(9)`S*oyOnLL#&L{wr(Jj}L6=;*u!F{)8IlM;)!c4!vjP3ks82ZWURs_d(&GEp zuBWkA-Sq2Lw7(q9q~0!}rQP0G-7a=b5dfxmI5p4g>t6idk=O00HEvyfPVZLI{4b|? zXHK}%JWZu*7ndr+<4?D;nmH{9{`0sB+4TqTtG*TS?U#kDrGoF_$A6&JvW#g+oM^V%_8LZYhQcEVtz>$~$Nj&9A6>=XO__s;%RpzN_ z;`f7A2=?+_Tg$vUu-fW3DIAUtG3{GME$cHEQYz}62{4nPijrcfz)i+C&mbtgOhI zKZqWEiV>C2-ep&jV!Lmk`+iGAAF2@*EU{v)ooAqgIGq~8BsSfDL;E|bDVa~ zbQeDez9i`S*Y;ysJ-ohOoT3ZJN@E!ZcKmer%}b;Bb6>adGU+}k)%4v6vS-iMPz6Jb zfJjnCf5N(|)QbByIH^;dv`*(V7gbq`LSVfm%xx^|@~C2PO6NYOzAD_BV_V4tSDM}} zK~p@oa1znvbA@bY9CxpD@K?s$4~F*^x)!IT_yfciHu7z4L|6$V$6dj~hChh!RX!p9 z(f%3np09BZ?sVgtM;4OX`__p@J zXR@}}?iNrEp1)x(*9)Ex1nuLV^*nzMyl-*h2hpXphSyP!Ao5%47jWA$ulxyzIPIL* zE2#Wgzk@JYc)!FGNBl2rO`gGy08mdJ)yH0Vp7&DSE5$YRgq+QArQg_==QYny>o4PJ z8&{SNHdK>-to6V6NA)|K$gS`7{{RiaAs=Q|xzu-gL374%*dI^Ar?v4d=Y%xIeFx$- zm7Us3Vry+7rB-$B?I6Hm+n#Y=FecaT*&5GBXxQUxL>ruSBPW7t#P|BtKW2?IpCWkE zY~N@h{MOEQVD#ey9@WDPWCw7b%6wHwbB8_DE$656%1Z;y_piNOZ9 zG~bOny`tM$+-gKx+fFBjRJ6AeD~2UYKHRt&JQ7E0@k_hydTWWU!9$CN-r`;Yjq482nMc z@kBF?U&Is2x0fRF;sI$CYSL}MU=#v40Ar9&v&;`uok$qSC0 zR8^##_hii>i)~s^O!c1+>pl##i&nOq;va}~izzMHt)jNKSr+Zae|INjC)Wg44w z8Y^v8HQP;c@uY-{2C=)2Asn3ZAS!n*eK2dEf&6u;M-`@#;Y&&3gAy>d(zoGoDb_#X`c@KU#t10?;6q=zt&4}Gsb{=^u{YE8Wi2+)%{IlJXKZ86z$}W zi(T=)v#i~|qptXk*_{C2BK@6RSNKXG0f)8?bC$Zbz0sO;s%WNNz-*NWJvx9!4@&I3 zE&Dy&c%M;@%l;OZh8E@i>`N=kLG;N1bDw(kT_5%w)P|@b)U};D;sQbQa>#N1&eMZf z*39tHc9U(dCTUM9#I<*1yxK?35$hs7L&=v_vVlM#%BjXZ0L5G9mpsU+S~^9rjVBmMm6^RGDZH^6^~I&A*{**12t+FXy9 z?JKJ@1wN%%VzQ~5(xTFFYW_yFGFq6J$--&d&;9}6Q~1lq9wW0wxxdygt>Mb5#vPI| z+yxvCdsA&ZH{xA(@;GACwfWij+vGCj`enGUZ_)n%X73Ipa$HOCt4h=6`^#@_a>hr; zKfpTv2CZLw2G{?jE{{SIbM^2f4gn!>uoIyAtcRF6ZrCO-_Q&>xb$P(P-{Q$uIYq-(8L-4BU)auaqmck-1)7YZOng0NR z9R8-fHxjR3=RuT%%#KfNwm__&9-DV}I^&F~81nQ!uCTTJo34N}{7dm&o_WLR>~Z-a ztySW1x}*C;s}ch6bvtf7UVo z0D(11y3#MH{8-jisKxvj`QQA@r;2I&->3N>p!R>Wr@(k!UfbeiSA(eCG#EdXGsJ(h ze}VP8bzKX_T4IzRDo#<8@!D(i{{a3H40PT;g#Q4IIebkzXJy68=lilS{P?ggT~v36}QzY$KjEh%y9C4{12i(;ZLQto8D_S8eW?j#t|-l(I>ep z9_$aTaoYETyek|)X*#?YlVoLlwumpbTLjmdr^F3r6(454zlpn(bj%O+r5-xEcy`Zk zZ!@30B%z&;zfoAMCMi3)ofF4k9BiqbX9Fy!^&kcNoCp zt$15r0q_$K?AIl^7Mfp%Ak^*yV6-+bbpHU52DH3c@kZCjTAE+@yTsln)n!k*Zeq9j zfA5e5Qn2xtg!G^nOYskm>{mJ2WpN$2C)ed}wF?ZY=~Ub6PK&)G&}P5!WwoMPYW@&y z64~&j=eA2c^VIKMz*nGI+W14mdSp*^;{N~uU)_+heCqeXG1X2EKT7b4d~e`QTTw|o zNvZrt)gtJ|Yx{Yh9^1kGb&2BrW55l23GfsiEP?>Py&BZkBXtQoZ>Y$y!jb=Z^uM1gg-)^(; zUWKc}3x4k2;bXRrLH+C;{zkr8)AcV4`BJvO4~XTPAG`Yv#4)aa+T4WxRa#9;!>SLE zn*2?UGj$se{RCGvESfNCQk!PgxQCuDFs7Byp*&IJ$ox~RTCO0ZV0AIUh`(wdOY3hKASZ*VAjQZ=ak)DhWRVK?1b(jZ?uN zWsG=n{96>c{o?9V!6JSe6dLrY;i*C1&+liGS07%YvufUm*}1&BdErT}^vGF`GXW==fNHh_=TwImooTQU((?(4%uWnrM8|O5AcyAWc@K-BsGSO$CGh#7r7^zdDe-+ zY2}xny67?b*L^ohYSHD+GnZ58o3Gik#Eqp`U2487_;qV7(b|?bTKH$@zTuSX{nABq zo;CPeb@2B~drewDhWB?cm66`lS6L@2du<>e(!4cwxz;rh>Jum&74lb)%AVdK)Qc!v z*HzoJ?uZ9A?A=V)^s>$jEa6gB~;>iR*jSR}F4 z!rII7r<~62PC4O52j^aVb!(rz(-t|%CNMEm&EgBon3ZmIE7^ARO~(W2Svk^s#L+3O zncnDeKzvng7O~?QtSngUp5`W$7}vf69G~T0%X#qc_I>ddxP!vq9Ft44^3`OI#1J&D z@&WTOknI2-IPL3SF17umM4x5UFJYVb%<2k$8*+a-jdg37SBujoI(&w;r&f$~lKY69 zYD->Y?AuS-{{Y}>X%R;c?FZp!x(eH-GeV&5{{Uyr?fq+(@n69Y4`_M_xYB+)_zzae zEE3{QPyPGfkH;1A%XotDfx2PO80MjEWbN9{N}jt^3UZzv+F$Vh03oGQx%3eDRjS?z zi+ID~HNDrD9F~#)0BbBp;4*?3Zd?rKA2vA$isp6ihSxS4J8PGp622Wh_;VX+mfDb- zb;d@1NXld1b$HwAaEU`KSWq#u1n2U{tuSiQkG^Mdj1bI!#<^VK+5Z4vBTGp1i!T6b zHx^eHXT+Wii6c`XGV777jo%8m$!}~{8)&+^+R3T^0HnQ=FpaMjSMsVAK~L;|xLlE9C2MiXI@gv|C|wJh1_fE=!4uk8E$n zKmHbXh+B5XDaYPceE$IGRn(_Xq<^ox-9t@kA9KI#x8RKvz;@UEH}Mo&J;+>79h$Yt zE!bode<6zDbq|C800V6rR=M%j!=#aIMi#DyHqTrEjQwlnI6fLvmWZvGL@He4_t zsjiOG_KNtuW1&r24rg`Hh_>&a4oD!H{KXv*IrsPaMHX}_83+J}Jt5T>eR zi^X>K@T^LkWb<6H?&o*$9=IG;jW^-P!dbOaA^4}K3pQT27OaI^)1d@rzHGknUbU&p zX4EwXxn?;f&U0D+0NQE*+Z!W)d1ODzyegP#?Y63Z2dc5yRFd{ziS>Z^JK$&px98%A zf!l&tZ0_!TFaq#u&F780AEbByX&Ph9>o@|msM%jvDHaH!QIl=tvfI5qwS(&rc7N~yET0N#T$vigd>r}no zR(aFJNz0jNdbHmaJX>(++Lw&ANj^ejR+Y%e>5vafhJT1xa@xZ3>+WtHHqSM*E?i{v zJDUfJ^53(|JMK3a1M5~}(;|@Vmi&)iD&bBL=)U4*h^ajspWb>j{{RrQ%Y6gv)|S)F ze3I@>PUcKAMnT-HnIk#I2<@7}z4)80%V=SWPu8+iUCM-w(RaCc|MZ;cKKGr4@Lt-@}sp352AcA)i;4RRbd4^Y?l7`9Z9sjH5wX z5Pu}izq4!NAHO)SR*efm;tzz9*?9ND9zO7#H=-@k#ir^DHPA-t8VM8As3N$(68vBB z7sPK6UTWSv*RHSbjDA#2_Gp5I8RKFqfnJ@Y-h2hT*KP%_rKo9^Z5GJmd#KJ%JC{W>Hh!$HFh>y#lEL#xWe9AUdM1wJyf9M@vSAA$CliUFEk~Q)NQ3S{Te(L-&56^ z^<>bltb$vWWm#cZ*yFj}Fn>DgJV)Xm8R{N0pHcC()R5|vM3G!b*6}f9DmL%|7~6sf zuYAxvIr}W>S~F>y_13d=jQ(fZ?d{QKZ)WSq&{sL*8{gT{JY5vN7r60dt-9bza4rx& zK*!3Ahl~#9yJ%I7N`BF7a8|(8rBm5Iyyx%qe}qwZGTU3Y_|&Dqv>@nzbsD}fH z%#DHa^vJFoTJax(f8h~ZJu^vW)|y6nHCb<%?oP@g=%?J1UFNZ2`#4`)28YI8KaN&y z&KV$=<~{!ahZW@d_k+AIbE?fgg{tZ|mZ$Etw)mUs-!|XYx!y9JM{ZWWM!(tBsVnoR z^E0Bs7eqjDQ{t<}s6*D(#`AHugZPlMV{xe{&ok)Y{QKTCa5Llb}F zp@-{Md{6K{R`70)+O&TV{3Cf9@)pNX%!lZ>8LS;z3S6!0=*?q-#kl)Otvy%ym}}xc z5KlR}xYhM3rUPgV7h&vjDVM$`@io~`vO#}sv|*Yuz&E)Dv6oZv5E~a>GB2c!{xpAS z>Ow3{bLRFXXFtldXQdh3;`qzQaoDw-7gDmEWVyou>BcI%c)P?4l)Lg#)M1+; zv-Jlx9+54T!2bYD@fDqt76G8TSsyKX@I8*91>TSGcfr>3?cSbjv$_WK zk~WNr?F9O45Ph!q<9EZgkyGVJG?^p^@KqJ8t5tslFY3&pm*LY+r0o2a&QDeNuke22 z+scRbbFqm?!)?@xoci#&uORUjp`u^v9&U-?=F=fByULPdHy(kwub?IPiEXFLn@@{A z2$@R!-|f(N#1mX$itdPDJS z?5`X=(oU}4NghPx-ZE~{W{w0OD26p()QakLi9Q~;hqUPQ9}nxgex({>^{?iR&xU+h^MTBZ1+<8N z;4+3kt#;FLZ<0~BnZ+zT66TE2;?rt6WLkn;TX-)|Yhi+7d8GNf9FRsT8~EqcFTUTP zcp>a9@tv{BBOl)YJ4SyGy6y!m|+e~HFwGis{}yJ%JxKqyvW z5$pKm=C^deg`XDuRpD5?L7@0hYFbn7*>PzUZOWV#U_NDUX2xp0r^b8hNdw;Knhv+f z$keptZ`DXOuXFM1Nt;jdZT=Q`drzFOcACQC>fdo44%L6_T%OYum6R9WbjF4TPVS>i z(BL&4GsF?jEVT<8h;E@f9u{4#8SXaV5Nk_K({!n{CX)BYH=1qQoEtyv#*t6_3@{(1 zOMmfIueF1y&*42Lc~4VwHO$++GFn`mR#u_$0(<+vKl=+uwp?IC1S}AKY)|W5QI%%3 zM-56;6KXTM^g68u-$k^BONIEME}MG-pR*Lw-AN~c464~)GuYNm_MsuMlSuyngxE=9 z@4e%RCEGF2-e7v4t#j|<$ff@PS>gRK`+(|y^eV32A%(IRNVShXj{gAE){1pkU&z7J zrnWsF!(JQEbsP92lj2l1w(dZZLuAsrj`&hJIIn)t{{Uythn_IjW0F6L9x~PBbY1h_ zXht!>zye8R7#v^<`G>~N7q-MvLA#k^qGINZ1vmA#*Y!) z-s;v?@hQjNDy512E6V&&`!8!YK4H`5@Ql(!ADGZ4s}oHp9RlQY#eBmzi}l-`+vSS~ zl03jatxvRzP~=Mg05A9^wuSkRP`&tnduwivJUggQca!J9EdE62 zg0IehDzo9W@cxZ^An{*;b<4E=6|=cEyMDhTX1tMg{c=3{chV;x!*bkz<1Vo6`HVKCAE#g!COZNs?`6LGU-9 zyZ3Ld-?3rq@+0kU#=RfGJ|ysmg|+D>)U+Rkm+`kMBQdFn1JySIGhYC$^wmmVsz!0gmk?lo;8pNv+llC9C#DZfQ^n-n2Jgi6t!dJY zIP#{<>f?Q+xtvk5fd?|%-02ZZ6Z-ny9XN4vK{85qI&104Mi74d<&y1)T)J9E;SX1Y9>^Z3-PH5kj8C30ttsWoPMh5rEU z8RHv>F70E{ygO$F%$v&DX^_W(j0Na_O6TGD+wl_JSX+38{wSF78p(j8upZUrg|B)l z56+OS`RJqZG^%0gReaNmeqnhMQI*We_{&anhRDO!Tn5tB1#itmgOtCejtmOXl(=`78 zj$ak@o0Xcw#`=^KCr4F`HVs{2Qna)~CE+lqi?!@y&Vt-?5 Uf9(GN-*i@f+5Z4Be3C!^*~0&bbpQYW literal 0 HcmV?d00001 diff --git a/assets/textures/sky_night.jpg.import b/assets/textures/sky_night.jpg.import new file mode 100644 index 0000000..e629fc2 --- /dev/null +++ b/assets/textures/sky_night.jpg.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://2rackpqbvwp2" +path="res://.godot/imported/sky_night.jpg-79b8d08aa9423f4579159cfb2d221005.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://assets/textures/sky_night.jpg" +dest_files=["res://.godot/imported/sky_night.jpg-79b8d08aa9423f4579159cfb2d221005.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/shot_dusk.png.import b/shot_dusk.png.import new file mode 100644 index 0000000..06040c8 --- /dev/null +++ b/shot_dusk.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ckgqxm67w4wjg" +path="res://.godot/imported/shot_dusk.png-f6af1b6e4e64591ef1de1c661224bed5.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://shot_dusk.png" +dest_files=["res://.godot/imported/shot_dusk.png-f6af1b6e4e64591ef1de1c661224bed5.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/shot_new_bubbla_600.png.import b/shot_new_bubbla_600.png.import new file mode 100644 index 0000000..ee89fdd --- /dev/null +++ b/shot_new_bubbla_600.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ceecujmymhp7v" +path="res://.godot/imported/shot_new_bubbla_600.png-05b2db194b7a014fc14c973c912e5583.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://shot_new_bubbla_600.png" +dest_files=["res://.godot/imported/shot_new_bubbla_600.png-05b2db194b7a014fc14c973c912e5583.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/shot_new_falcodore_gtho.png.import b/shot_new_falcodore_gtho.png.import new file mode 100644 index 0000000..ae27d47 --- /dev/null +++ b/shot_new_falcodore_gtho.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://mll58atwcrp6" +path="res://.godot/imported/shot_new_falcodore_gtho.png-e66ed2ab5a9d8d094ec961c70879ba93.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://shot_new_falcodore_gtho.png" +dest_files=["res://.godot/imported/shot_new_falcodore_gtho.png-e66ed2ab5a9d8d094ec961c70879ba93.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/shot_new_hardon_waggo.png.import b/shot_new_hardon_waggo.png.import new file mode 100644 index 0000000..008c5f4 --- /dev/null +++ b/shot_new_hardon_waggo.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://c7vogu04epx1b" +path="res://.godot/imported/shot_new_hardon_waggo.png-070bed85dde44ad7d2157c19c292a0a0.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://shot_new_hardon_waggo.png" +dest_files=["res://.godot/imported/shot_new_hardon_waggo.png-070bed85dde44ad7d2157c19c292a0a0.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/shot_new_hardon_wb_ute.png.import b/shot_new_hardon_wb_ute.png.import new file mode 100644 index 0000000..bc22849 --- /dev/null +++ b/shot_new_hardon_wb_ute.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://bgjfj2d166iw" +path="res://.godot/imported/shot_new_hardon_wb_ute.png-7ed5d240147f85803b553146a1f90363.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://shot_new_hardon_wb_ute.png" +dest_files=["res://.godot/imported/shot_new_hardon_wb_ute.png-7ed5d240147f85803b553146a1f90363.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/shot_night.png.import b/shot_night.png.import new file mode 100644 index 0000000..b4a1b09 --- /dev/null +++ b/shot_night.png.import @@ -0,0 +1,40 @@ +[remap] + +importer="texture" +type="CompressedTexture2D" +uid="uid://ssfx4eea0hio" +path="res://.godot/imported/shot_night.png-18957e7f26c9433700879ac3d7e65fdb.ctex" +metadata={ +"vram_texture": false +} + +[deps] + +source_file="res://shot_night.png" +dest_files=["res://.godot/imported/shot_night.png-18957e7f26c9433700879ac3d7e65fdb.ctex"] + +[params] + +compress/mode=0 +compress/high_quality=false +compress/lossy_quality=0.7 +compress/uastc_level=0 +compress/rdo_quality_loss=0.0 +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/channel_remap/red=0 +process/channel_remap/green=1 +process/channel_remap/blue=2 +process/channel_remap/alpha=3 +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/src/game.gd b/src/game.gd index 3a5f19b..744523b 100644 --- a/src/game.gd +++ b/src/game.gd @@ -10,6 +10,7 @@ extends Node3D static var car_path := "" static var level_path := "" static var mode := "cruise" +static var time_of_day := "day" # day | dusk | night static var junction: Dictionary = {} const LAPS := 3 @@ -493,11 +494,22 @@ func _spawn_smashables(level: Node) -> void: hmat.albedo_color = Color(0.86, 0.84, 0.72) hmat.emission_enabled = true hmat.emission = Color(0.9, 0.85, 0.6) - hmat.emission_energy_multiplier = 0.35 + hmat.emission_energy_multiplier = 0.35 if time_of_day != "night" else 3.5 hm.material = hmat head.mesh = hm head.position = Vector3(1.45, size.y * 0.5 - 0.36, 0) b.add_child(head) + if time_of_day == "night": + # a real light under the lantern -- and because it's parented + # to the physics body, toppling the lamp takes its pool of + # light with it, which is deeply satisfying + var ol := OmniLight3D.new() + ol.light_color = Color(1.0, 0.87, 0.55) + ol.light_energy = 1.6 + ol.omni_range = 13.0 + ol.omni_attenuation = 1.4 + ol.position = head.position - Vector3(0, 0.5, 0) + b.add_child(ol) add_child(b) var t: Transform3D = (m as Node3D).global_transform b.global_transform = Transform3D( @@ -507,12 +519,22 @@ func _spawn_smashables(level: Node) -> void: n += 1 func _build_environment() -> void: - ## Brisbane midday: hard high sun, deep blue zenith, everything a bit blown out. - ## The bare default (no tonemap, grey ambient) rendered the city flat and dead. + ## Three Brisbanes: midday (hard high sun), dusk (low orange sun under a FLUX + ## panorama) and night (moonlight, working street lamps, headlights). var sun := DirectionalLight3D.new() - sun.rotation_degrees = Vector3(-62, 38, 0) - sun.light_color = Color(1.0, 0.96, 0.88) - sun.light_energy = 1.25 + match time_of_day: + "dusk": + sun.rotation_degrees = Vector3(-11, 55, 0) + sun.light_color = Color(1.0, 0.62, 0.32) + sun.light_energy = 0.85 + "night": + sun.rotation_degrees = Vector3(-48, -20, 0) + sun.light_color = Color(0.55, 0.65, 0.90) # moon + sun.light_energy = 0.14 + _: + sun.rotation_degrees = Vector3(-62, 38, 0) + sun.light_color = Color(1.0, 0.96, 0.88) + sun.light_energy = 1.25 sun.shadow_enabled = true sun.directional_shadow_mode = DirectionalLight3D.SHADOW_PARALLEL_4_SPLITS sun.directional_shadow_max_distance = 220.0 @@ -533,14 +555,24 @@ func _build_environment() -> void: fill.shadow_enabled = false add_child(fill) - var sky_mat := ProceduralSkyMaterial.new() - sky_mat.sky_top_color = Color(0.27, 0.46, 0.74) - sky_mat.sky_horizon_color = Color(0.80, 0.86, 0.92) - sky_mat.sky_energy_multiplier = 1.0 - sky_mat.ground_bottom_color = Color(0.28, 0.28, 0.30) - sky_mat.ground_horizon_color = Color(0.66, 0.72, 0.78) - sky_mat.sun_angle_max = 4.0 - sky_mat.sun_curve = 0.08 + # dusk/night ride FLUX panoramas; day keeps the procedural gradient + var sky_mat: Material + var pano := "res://assets/textures/sky_%s.jpg" % time_of_day + if time_of_day != "day" and ResourceLoader.exists(pano): + var pm := PanoramaSkyMaterial.new() + pm.panorama = load(pano) + pm.energy_multiplier = 1.3 if time_of_day == "dusk" else 0.9 + sky_mat = pm + else: + var gm := ProceduralSkyMaterial.new() + gm.sky_top_color = Color(0.27, 0.46, 0.74) + gm.sky_horizon_color = Color(0.80, 0.86, 0.92) + gm.sky_energy_multiplier = 1.0 + gm.ground_bottom_color = Color(0.28, 0.28, 0.30) + gm.ground_horizon_color = Color(0.66, 0.72, 0.78) + gm.sun_angle_max = 4.0 + gm.sun_curve = 0.08 + sky_mat = gm var e := Environment.new() e.background_mode = Environment.BG_SKY @@ -550,8 +582,16 @@ func _build_environment() -> void: # a street canyon is lit almost entirely by ambient, so pure sky ambient # painted the whole city blue -- blend it half-and-half with neutral e.ambient_light_sky_contribution = 0.5 - e.ambient_light_color = Color(0.88, 0.87, 0.84) - e.ambient_light_energy = 0.55 + match time_of_day: + "dusk": + e.ambient_light_color = Color(0.80, 0.62, 0.55) + e.ambient_light_energy = 0.38 + "night": + e.ambient_light_color = Color(0.35, 0.40, 0.55) + e.ambient_light_energy = 0.16 + _: + e.ambient_light_color = Color(0.88, 0.87, 0.84) + e.ambient_light_energy = 0.55 e.reflected_light_source = Environment.REFLECTION_SOURCE_SKY e.tonemap_mode = Environment.TONE_MAPPER_ACES e.tonemap_exposure = 0.6 @@ -573,10 +613,28 @@ func _build_environment() -> void: e.fog_depth_end = 900.0 e.fog_depth_curve = 0.7 e.fog_sun_scatter = 0.15 + if time_of_day == "night": + e.glow_intensity = 0.8 # lamp heads and tail lights bloom + e.fog_light_color = Color(0.10, 0.11, 0.16) + elif time_of_day == "dusk": + e.fog_light_color = Color(0.55, 0.38, 0.30) var env := WorldEnvironment.new() env.environment = e add_child(env) + if time_of_day == "night": + # headlights on the player: two warm spots raking the road ahead + for sx in [-0.55, 0.55]: + var hl := SpotLight3D.new() + hl.light_color = Color(1.0, 0.94, 0.78) + hl.light_energy = 4.0 + hl.spot_range = 42.0 + hl.spot_angle = 28.0 + hl.spot_angle_attenuation = 1.6 + hl.position = Vector3(sx, 0.15, -car.stats.length * 0.48) + hl.rotation_degrees = Vector3(-4.0, 180.0, 0) + car.add_child(hl) + func _exit_tree() -> void: Engine.time_scale = 1.0 diff --git a/src/main.gd b/src/main.gd index 2020fc6..1c263d2 100644 --- a/src/main.gd +++ b/src/main.gd @@ -3,10 +3,12 @@ extends Control const MODES := [["cruise", "Cruise"], ["crash", "Crash Mode"], ["race", "Race"], ["rage", "Road Rage"], ["drag", "Drag"], ["derby", "Derby"]] +const TIMES := [["day", "Day"], ["dusk", "Dusk"], ["night", "Night"]] @onready var car_list: ItemList = $VBox/HBox/Cars @onready var level_list: ItemList = $VBox/HBox/Levels @onready var mode_list: ItemList = $VBox/HBox/Modes +@onready var time_list: ItemList = $VBox/HBox/Times var car_paths: Array = [] var level_paths: Array = [] @@ -29,6 +31,9 @@ func _ready() -> void: junction_data.append(j.data) for m in MODES: mode_list.add_item(m[1]) + for t in TIMES: + time_list.add_item(t[1]) + time_list.select(0) if not car_paths.is_empty(): car_list.select(0) if not level_paths.is_empty(): @@ -45,4 +50,6 @@ func _start() -> void: Game.junction = junction_data[li] # picking a CRASH JCT entry forces junction mode, whatever the mode column says Game.mode = "junction" if not Game.junction.is_empty() else MODES[mode_list.get_selected_items()[0]][0] + var ti := time_list.get_selected_items() + Game.time_of_day = TIMES[ti[0]][0] if not ti.is_empty() else "day" get_tree().change_scene_to_file("res://src/game.tscn") diff --git a/src/main.tscn b/src/main.tscn index c1f3c0b..5eca3d2 100644 --- a/src/main.tscn +++ b/src/main.tscn @@ -51,6 +51,10 @@ size_flags_horizontal = 3 [node name="Modes" type="ItemList" parent="VBox/HBox"] size_flags_horizontal = 3 +[node name="Times" type="ItemList" parent="VBox/HBox"] +size_flags_horizontal = 3 +size_flags_stretch_ratio = 0.5 + [node name="Start" type="Button" parent="VBox"] text = "RACE" theme_override_font_sizes/font_size = 32 diff --git a/tools/flux_local.py b/tools/flux_local.py index efd99bc..c745223 100644 --- a/tools/flux_local.py +++ b/tools/flux_local.py @@ -1,7 +1,10 @@ #!/usr/bin/env python3 """Generate a texture on the local MODELBEAST farm (operator: flux_local). -Usage: flux_local.py "" [size_px] [target_luma] +Usage: flux_local.py "" [size_px] [target_luma] [WxH] + +size_px is the output's max dimension; WxH overrides the GENERATION aspect +(e.g. 1024x512 for a 2:1 sky panorama). Output keeps the generation aspect. The fallback for tools/flux_texture.sh when Cloudflare Workers AI returns 429 -- its free tier is 10,000 neurons/day and a full texture-set regen burns through @@ -48,9 +51,12 @@ def main(): luma = float(sys.argv[4]) if len(sys.argv) > 4 else 0.0 tok = token() - gen = max(size, 768) # generate at >=768 then downscale, same as the CF path + if len(sys.argv) > 5 and "x" in sys.argv[5]: + gw, gh = (int(v) for v in sys.argv[5].split("x")) + else: + gw = gh = max(size, 768) # generate at >=768 then downscale, like the CF path job = call("/api/jobs", tok, {"operator": "flux_local", "params": { - "prompt": prompt, "width": gen, "height": gen, "steps": 6}}) + "prompt": prompt, "width": gw, "height": gh, "steps": 6}}) jid = job["id"] for _ in range(120): time.sleep(3) @@ -75,7 +81,9 @@ def main(): open(tmp, "wb").write(blob) from PIL import Image, ImageStat - im = Image.open(tmp).convert("RGB").resize((size, size), Image.LANCZOS) + im = Image.open(tmp).convert("RGB") + scale = size / max(im.size) + im = im.resize((max(1, int(im.width * scale)), max(1, int(im.height * scale))), Image.LANCZOS) if luma: mean = ImageStat.Stat(im.convert("L")).mean[0] if mean > luma: