From d473e3711c9f7bab8f74950455789003c678cfea Mon Sep 17 00:00:00 2001 From: tleety Date: Wed, 23 Sep 2015 18:01:15 +0200 Subject: [PATCH] Now render water through it's own buffer. Not currently visable through finaltexture. Also added a white texture to render the water. --- assets/Textures/Test/Water.png | Bin 0 -> 76516 bytes assets/Textures/Test/Water.psd | Bin 0 -> 1210784 bytes include/Core/Engine.h | 20 +++- include/Core/RenderQueue.h | 13 +++ include/Core/Renderer.h | 9 +- src/game/Core/Renderer.cpp | 110 +++++++++++++++--- .../Core/Shaders/Deferred/water/Fragment.glsl | 90 ++++++++++++++ .../Core/Shaders/Deferred/water/Vertex.glsl | 83 +++++++++++++ src/game/Physics/PhysicsSystem.cpp | 4 +- 9 files changed, 303 insertions(+), 26 deletions(-) create mode 100755 assets/Textures/Test/Water.png create mode 100755 assets/Textures/Test/Water.psd create mode 100755 src/game/Core/Shaders/Deferred/water/Fragment.glsl create mode 100755 src/game/Core/Shaders/Deferred/water/Vertex.glsl diff --git a/assets/Textures/Test/Water.png b/assets/Textures/Test/Water.png new file mode 100755 index 0000000000000000000000000000000000000000..2db8727cf38668430c7b64ccf12a5d12f5e3ebb7 GIT binary patch literal 76516 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 ZVF@;e4=RwUwU+2>!$T(enFlCW{s&&#yI%kR literal 0 HcmV?d00001 diff --git a/assets/Textures/Test/Water.psd b/assets/Textures/Test/Water.psd new file mode 100755 index 0000000000000000000000000000000000000000..583db770b113a2dd479a00082dcf77f1f8bb8570 GIT binary patch literal 1210784 zcmeFad0b9u{QrMl=WbE5lo(@Xk}P8xTO&)8HQ8cN!Wf2B5^Y+TF*A&v7*vX^*@|pa zNXou1p(r6+h{(QVt@C?d=RT+Vx{tfFe7>L0l%>RcD7EPe-HNb8t)TkJKD$BFR-KC zvy6jwwtn6n?S?q?Yt=8<*=MX@ugM`k?vsBW5mNKiJy0YHi=L75s18ymcE#hqjLP?QHoUyH4gXcjPNi8P**di#zw`J=N9XgO|?CqOFiRPhy1crJ3-aIh0zP1vfp6))OULk(L zVSYh@wxnLq(Lv#19qsIhQ27tPT>-)6LV=+zxNU6V6%^3&chBIKty{EeSza@MPS7Wg z&LKXYVL>5-f`a@zX}5g9*r2eW(6K?mw$AQtZ5t2q3-k_}6xzh8rMS3GUssb)ch4}N zPS8IN&0BS7ZvW$;*6keaTRFDr(5#icW2;tFCEAjrI{LxB@b(PzR8osxS#do<-hN~L zP*jVqBwvS9OVY_yr*nIh^p|M4+|Ka!D&H5u;UWIqF8B6o>ErJc;1d`Y3j3qA{{Hax zavT#B65tuu$ul_E-_OgF?DCcq1HJhj87%A>rgJkHSKZ1Q)y7`0#g@<_gxJ-n8&>igjA=$5=WADJwFwa0QpWfX&L33L8 z`FT4!xODB_#-VGwR&CqbyEwFN-L+erw%zSroIA94=+@1?Ra@@J(ns}=30T)X$Sa(5 zJzuRisn%IpwG{eUwf#f<;8Nu2Pn999=BiiNY6De#CezC=6i(DXgriY==5xoSyUzsu zrNY7L@5ddZ!JZ+ZKBVV6+6i4xUk9``5r*4?j-FoRxa;Iat_(ijPA&D8>Y63S{Qf69 zOid<2XYrYZH@YfxN7ay!rxDS2WXe- z?-$_+7466WwaZQU)xq#7Sibu6`#||BN9Q2_ppbq+-aegvbZTj6v2OF7bgO$iI}Zp6 z8sq2h(<#)gXE)p4F3xRRcWB$TxqXY)bTw2tz8=FHuU!haPq=fpEWdT@_i*{q_rE-$ z+ra1*WV?ti@TI%x-jJRC(p|D$L>KtdU372APJihx*)F0BeCaN_ zH)N;3beC)w(FMMA7u_4O(_gwvwu|TjU%HF#4cX~0-6h*abb&A3MfZm6^q20E?IOCs zm+qo_Lw5R0cgc1UUEoW1(Y+x%{iVBPyNE9ErMu|fke&Y0U9w$77x>a$bZ^K`f9WpS zE}{#3=`OlAWT(G$muwf&1-^6_-5avgU%E@Si|7Jhx{K}&+37FcCEG=GfiK-f_lE5B zm+q47BD%nr?xK4`cKSWKF1j~lrzN|~T$c>z69^e_lOWZN%awEFQs)ZcljPEA^X@7Khxi4C z^$!mV4iAHc#-zxA&@lJWkod)w=p7j5;}aMjKvs}x^6l&&LguS+th?Xuq(nErFv5`4 z+B$tge)bIT8RRl_5G>M)X#vOy2pZ$=6BZuafAlynSZRR!+O+r^C$bZ{HL40x2>V&ZlV5R!tyS=Irb0@DNDu89K)^ZqTM~L1AG*0scXOzC2_htRYRHmRAv$yZQN!rB_rIRzTaz%abEV^MtFi zI_k-?h=G6nH+NJu;?`9yZz<~h58{qD%~Nh!6^lV3o`Io|UgZ<$^@sLItjVphfzK*v z5FG8EC=i9hG42V|J}~Wt{?OK8wC4P238x5G_6=967iu|X46N~oPZMql=9jFETVB4zo~vva zd6p8wZT>F|I0eAFG$s}Z3uI73^%9ixmMb>Si6?A zo3xyqf*P)TC2k3S-C(*vMexh_I@ym1>FTOOW;LV-wA)T*g=}VSy1b{gbDu5aGoR_T zFwI{N^p^4sBFh59{mJ!~Y?uk;{swx7imoGGVXa{u*GzKql^@}-P;`c%ZslhZX$nGa zLlFko2`# zSWqxLD1`dZS5R|*xYT~O)M7MuY5r_^W!UXw#l^X^tuYaTCjmH|J3r^9wb#39+~Qua zs#jmXz#s+={{Xmql61nMzYMcAJr9S!8Ju-+pnH0S2KRICK^`{{q#D|ioI`C*+$Wq& zC6~3Q)TQRV2H4tC>y%7ddIg8TZ4?iH!asUL?mbM;glYdtVZmfMX|?s}@no7Ir<`>N zG!Uk1lWAY=^bcGa?Q|D1?Hv#Z2RK989PAz7O{R~*^xTQzK9l@?!or#lfbkSOL%da%=KZn5@5 zawSzxYLe_*?fO>(xqXIfW$KpcNZqoab#QHlJD6s%ZrSKKg!arrsP;A8vIg<+;5rkb z)C<)1)FQ_VH4uZJk5>!Qq2)ia1 zY@3S@;{P#7HH&J;4{knVe8^LZkL_SM%HSajc6Xq+A2+6iU!Y#bE>*+-5Tj}!liK4N zCTeUbL)If(pz0T_k>*JzGOAG-X@;+cHMo4g^)(v|ZwUwusrx{C+`}}i=RWm5m_;zl zg!*x}1?22D$kr=7WTLi+5&1Gk=BOI7MqeWvR39~lCl-6u4*i6>AQ#jJ^@pdkU(j#x zJT?{uz_ZyT^cR|jW~2FNF^WOU(HgV?ZARNs3fhDAp~L6|I*YPUF3Lx@Q6VZu&ru2b zh%q+BRd5abHLi;r;%3+$x5u5Z3+{{E@Gp22_QioX9RG!9;Q2TTFUM=~W}J-o;=}kf z&c;`90e*;I;t!05v0$v3@0dnROQt>3m2qVTF(VjXW&$&rnaM0S>y5+H0IO{WZfhV>BU}DVhjPtY)2NyCz+8QgcajTk}}+-pItL zhLNpNbEBV(dKq~bc^OSGnqsuTXt~iQqg10~Mwg5VjGh~n8CNm>*0`Cmqj7KJp~k+( zlZ0VeoNHWYTw-EkQp@CflXfP(OnxyLXY!}X0+UrHJ4_ClWSiVId1Gp7 z`n72@(~hS7O+8J+OlObXnN7K(DYrU%9ZL?vai&m(y&T_m8MsUt&~*hK&6Y7 z9#r~hR^6AN~0=W zstl_VR%Kz8%~g(8xmo31)f!b>RP9~WyXw@cE2^eey;${WHM43Bt97mRTeZp6Vyo?} zcA?ti>Som&Rd=rLS$#_N71j4v&#V5%vW8`A%l?)DmJ2MCEKge&S(#cjvU0KVwwh_R z-s-5;-5Q!2^=mlS@TxJR#)cZlYZO|WSbuNb+j^Y!eCuu2=dGXDw5r*r=HQyY*IZF^ zf6d#qG_@Ml>Rrpf)}mS|wJz8C@YQ!;b^Xfct9f5-|LWpbZ)<;3yGw1K+7Y#P)XuH_ z;cMHkUA`Xwb>!E3zP?e%s7}*51M5txv%1dlI*-4x{^qA|yuOL}Cgq!J-!k7e{nqW< zKfhi7ZRWRczO(tR=Xb&1#eH}5yT>-QY`WNtvsq$uz~*7y8g)C>^{cz2?!mf`Y-`$f zwe`1MW_!%`dA)Dz^{N+MZ*9Hv^*-8tZ|7k*-EN27jr!*G+t(jce@Xo#^`AGW+n`^A zzZz_5aIK+P!}blwHeA~9WW%?OzHc<7(VRwm8WnwC`}^MCPyT+(_tzU&Y23N-gvRR{ z=QJ^C(!R;~CaaocHD#JQG#%S?Mbit-m}YI8`88YBEc*xJA3FRH_`|v%@|s&T@7jD~ z^DWH_TGVRMx5e}pds;kg*`VdHmXR$_wk&Jq(8|BnhF1Blty=eKJ-u~$>zDRT?Y-<* z*ysFM<;NaBPW>_M#}{pywee}Qy3G}b8V>y&<~SU2C~e!WZAjbgZ6CI4&~8+_mF@D{ zTelz3enIoB#$z7Fpl+d76hrZ_(PsrgUie@gnP$mx40AEymYcRSj3^z68{ zo0pAapFd$=~ z$-n^vR}8%G*4phax0CKQ+()`6xt9#;HfYhHe2>N+;T}f@R~tNh@aDm9hjbqjHRSft zmP7v@diIw(zxe%jjTru|j$ch|qyPQg<~PdPHR{?wUM3;*f)&!%bS z)5cFbH@(&LsOhg~44IKW^Shb<%)C3R=d3NWtIiIYoj2#FIcw$`&Gnmme%_Ds;^vh_ zct@O>-)esB{7(zK7M%IF^}oyhWfzWFcz#jaMXMK^EDl_JIkI!)rYOs($x(Ns`$eZN zv0W0eQP$yx2LTO@P;_Xdt zn~rU6w|R5Yw@Hh(Fk8a6Jlr~bYu2{z+tRi--@bN7tsV3KL;r>U_b7Q(^5qoQlp{Oa z@7%tt;jWdtYwV6l#i@U!KHoET&+W8d(z5sV*?T1Yr}W(!Eiw}K)!VmXf6e`i4wxU9 zd4N4Q`QV#F!G|6n_C0*}$jBr4M~5EGIX3Xv`Qxs~Po3y-;^@h)Cl8+LcxvBi$J2Yy zv_G@wY}>P`nGTt|&pDjieZKAa)C=t{q-Ax;O3!x6K5((~#lx4nUpkS~JLhcf&$-!` zJuY9#8=iOjiuaYGtNvGCT$_09WBxzajju=CsD2~%=C?Q3-D+}c$L+Sa_ZM_8$h_lz zC;zV3-Qs(p_dXTQykF&h?1Q=wHW%3!?R(hcVb-Hx9~Bk{7k_*_`-$a~l}{T#-Sw=? zv&`p1pBKIedBMJ1@apSViLcwdKJsS3o0}y8B_H2Ly!-myruXgNpZqZ7!-J2LKAC=6 zR@$UAz09@jIvc>U+`EP~_cTBr2DESbH77hrIuRLYU1*Gm%B5N|nqiS(uqwSXMT#Y+19Kg+;ZRwQJO(QoU-`>ef}OR<$M{Rjsv%rIHHRL&&lcY(TsQ+abmhYb-H) z1K$75*<-jfw9*(JOyCC^Onx*7Ge*WHrj^XhD`W9Wj2MluvO2;>Si=}G#-=8fj5QWN z!b(exQ9Y~H#$5+`*07r}&ECX1a&2?*&ZZ5c+@BY`@CtRPwJv2w zqwdjzyj_m04{Q6?MUOi^FL%y7dMW(ws~+Dk*)VHY%(0w%uQ%>Ko?G~4@R*6SV-r$O zT)tn@uICWnNpqGa?m3zF;H@QM7-+2#*CtaFV+XDY^;%mQK?^3>)iAc77HLgdaM&&T z`Hu}o7lcfYa(1uj724)SLle>f(?$+QE1QEpMa8!XvS(SrVLma5X(s!Cr}Rr->u(mAS1=c+1wSykyg zRi)MS_f_tSP>(wyJm8Z%JF20s$Q#@dqro(53$GnxVLA+cL%FG7C{{zJge`IgM@Cyx zq1KLJM-*_2e*I8Wn5cwIu@z_FhZ7H$*Wny5cB0S^18XY$Ol+@NRMd0$-b!; z4|52;3-Ao|>+ROV4W=KH-Agc*Z`u@3w}8(zgKuDXZ3>lHt?(K!%AeZPcpzHDG9%3&`O_>L4E-~#P`-U z_n-fA&N;2-+A-$$5OM(^Yz05OEuZu{vxKyXX_5xDl27m?HAy2|_rK8Vt+-ySsMlM` z_B!|M^Z)-|KclSIFtSHM8GwF<ogLvv(}cDZ=1uvCA&ZYgPlFsGds=7evYjxXAj-$^h@e=8Idab%?U1?!T_@-MWEE9k0%IL3Y z&u@|bQlYf|Qf*n%AEZ~>^2bA4ZcbZLT%PnSy+-M@R5|gwisyA}ZXJx6@4o&sb7QsTt&5LkK^{R-?aOV>_6>vdwx&q*P}m2YSmw&Y))57H>F>fZn<_! zJg+M)UZZT@aIN&x|BY$6I`r4;&uO<%f0^Mq>7~M2vZsW-W$0U2uPd+Lg3p($TcRti zn-UasOX!x-OLZmXmsV7QUami_KSyinuMy9Q=k-bbZPE7c=Ox5-7^1YS;ZN-uOzy(^ z|HwIA(LZvo%l&ge%Kx>2caQ)3f31-4@BdzlC@9~42ie}#UQ;XTbM3WOfB%s=@}!~k z-{(ix=Sx06);=$zzeImd%LVdOQqNA)=Eu%zOLdW!W!|nZjXuA z2=m$!!kpo6B}?_oXy*(q6ZQaIf}WOJPnT6UEmc~)PWgPrC3S1al>VG{UVoXoxz9_h zeSRV}82UB5)KE$NW%_ecwNza4^ELWQ{wH%fM#+@8jNy6hQu%dsxr(QCYsgiWT%XAm zmwc0}vG%Qw^ruix_|`5H=7eu@Mt@#bSgUM}uC$<`TS8B%pVlYn){tpK^IAg5o32np zMfK>f|KFO^w=almHMCZ|On+W~PHP|1-hp*>>&i$?3G1}q`g4Ni!_YeYWuKQcv|hK2 zOzF>&ZE%Dm`6oD*g|+(M`g4TWEfG&?=M8-d%cQ=^aYU?cTAQ3!No=1pyi{9CYdh2@ z=w-sR{x_K;nq&`>Y2jBlMQoeGoOVk8Q&=x;1MLX4&~{V7mP)LyWV!ZRn9|u|1>3A( zt0i_^!Gf!`=xXh|I(u&)u>Wf9z(0dcco5izN28U~Aeb)_e)T`g(2u6ozpmHR-mzOB zw_is228RDNW8R{e74ZpMl2bDd9y^tpm2>6#tviK9#ZR8Ud|mSH{l`zGWo4gOwybsO zr;qR7mAroW{7G?9;hkI8ujFK9o;r3gBQ<$TLi~!DMe}C-6&~n2>KC^@-5l+k*894; zsaRdxp0dwcMV2o?Rwgy-{?Nf?;0V94f9A)o-MZ&+=4H+8N3Tm`SyWo{^`qODGY{|C zx;A$HKVg0&2D)_kp>7S6rK0VVQrL(r8LN7&yY&Ap;LnI<3A>JD-6($djE!U;vzG6Q zZ)6?Wm9Q-0&w$_hcWGVEirJ*1=AEdj@mEb8T}K2?T@;^u!|H=){mw(83}7mp;z zFPa)S!qu_KSH`I->O6=ns@gg99uYhvc2mZ=TQ9Pp#&fL2i(BV1HpR{e9?{#uuIdpL z^_@YLYc}oTF>cC|&HJ+p-yehO4zrct7iRC@ykyEak1kDXo>NgIKHw|4$C{Srr!Sj0sCCr@g|%!(CiR?sW^X!Ee4DT225VA$X47mR=XzTe z*6|-QWg7Jfj7rTfyT(_N$C{Sqr$z<#X~gVQSj%o?+@Md;lC&F__&Ty!;~Qy9g8DQ_ zQ&>X=GWpKgZ{g0XW#{=S&ax(DS9dP-bN=pt!a5Eklj?0p%-DS4?J2&F71S$NhX2>8#1eoNcp4 zI8?cyu#RkGT)XSIsEm7i_$qd>#`iL!#&xZoqp*g{$hgVC-{Vg`OW|wS!5Tk1761Fd zCRY{Ka2=Uwnh%+_CAVxFUquq^k=!lQhBVjQQdma;GR8j)nZE5xB45P@*7(Y{=|g_N z_Y~Gph>V&Hnwpfmj;~-1Ym}Qbbx@Nch5RFAY}6dj3YYLTM6$+(Y4d+;t$C}khIh!w zrtjoUxr_J;7CZ*nR8B5U;K(EP#mjw|3#AS0_@Q+5|;Q~Y_>sCf63URI|S@Mn;b zrbE!i{Bsn4hBeCH7}P;S9-ig;{v6UY9vPc?n!-=8n#|adjk6Tc*>L9dnU?nK1ce`E zjh>}V>r*2~0iO$d-f2SOb#gBi_WVKC=z8J=Clm6xF4y`iNYmig=*$BYo&l|o{om*&o605nB7}(~q z0{RIus@7-bfp=Wx`GUYVOf;pR%c9U!<`ezAWdxh%R9@Im?FIE|#GeBTXak^#vs&`W34wSnu5^T854W+Gpea zS0eg3tGU0?r%|j79SaBf*u?wKMf4M(6UR0t4>nSJEDmX!jNMf9L_|M=fjKsfZL(5^ zUWqgfeG-ZuiRcGFC-^j6BSWu2n)+TF?mZCE_gKxn4PN!v$G?$kSsl7!; zdkb6`+?QO=7tvRMUgB=KU54I{G{!yWWnK}{@Gy}%ucvXc4E-NsoTeVm6~Px-=I~Uf zoiglBq-hnF`u>s#&SEw1Q^Q(`EqvlWOGTP`-ieQhF^}%EbFAi3qIbQ$GTM9L>>eC< z{hWwC!)mU_4Yt}RL+?Wxrbop2Ga~vVTpJ>KFb8Gm1BmJH=l+u-_!!IV|Fgqk8TK%o zodL;jj*H+UtmaK}K;vUF^f9Ed{$=&uBO>}BtGT=S7weNU^a;dto0EA^1n*;+%sJi2 zL!Z?7aT;zQ6H-6z7s2VQ=2Pl~A2Ma=OlbG8_`-A%y@%Bl#t*Z;AVb4&ADw5P+arQ^ zvCO&IowH@wY`7wgPky&s1gEf?cgf=$l7~g9tBCQI0mjJp-ss{tyHU@A;vZKR;-APW|>>Dt}kWS zm+*u$Zdch75gf^C%65&jeIrA^MogE8+(;3;kY#csx{!xqsaC^-aLtiPZx)H*1#k^a z8d;M(3`^1P5!34L(+foKJeE2AcPp_ELA<9vA&utexO)*I7#s-q;(mtwF=^#8#Mq8c zog;#0vP|lDTWL~*y3Ws;B?70jCV}T=K~P z43FL=n}=8VSAt#ur(wuJVi6N7m$1yikcNvS*oE*YGcWJ00roY^T$Xth*XutC z_CL7HdL+EPYyiH*YThPzX!IR;`mIhuOtn$Tg2#^5&tjS6QPp-!DDOhd*W>qP8xTIv zGW*7Vy+?vgh0FVdV;2mtnefOq!FI0%3t65`{yaylq2k^;1IP5AO)@0dbi}lqlXunt zdkU^wbK32fVE4iK5M4;jsAAm{a0Q6&a!`VW*O=~0ADuM7!mG@qrQHupu!j)SXVvrL z2G}Dk^L$mGqY~^9#0*$pa?}8Oh-FIF4>&Ht9)}k$^YI0J{?&FMX?Dlwh-AxQ{XE#7Zpgt7Ld69%HHR@YO$q zFA+9F@bJ<#?0`0pvAisyn+t6olR?bOV%=?ot$sy<%|ncZSNe7X>=tOVm&G*+_9|k` zNABKgfZfb8yGNQ|mtf&_%XGv}VwD!R8D6<|jxfC`!QMbj<&i0y46qwnCS_#h+Y;<8 z(EV)}F=vZ)*R#y7-%RgFu(uH&ylsO4bS;aw4ZbTu-a*X3#4=(97pumzOj+Wz!lt<5dP&c*T1h?N}_q zK7u=NM8OIJ>@t=qh_Kgp*z2DOkKtuyR=(h&r&}J&GWoMwJ(JLVikQa#Tv=*BcL~c} z`KR#<3HCWWkxsf0V}OlfnG2I_UP-Vo;q3K0N-Xx`eqPKnNBu0{NU-o)X!6@0!iiaU zHQe)?iGE;#eqX&o*nO)INkCVyfW=$g-$|&xMNH55_X`cE&WEEazUK!C7G5XYMLk(y zfQ47eCsFM_Nw6Q`u0P{?gaLLA%Uqw)q)dV>g=fM)vgR6KXMr>C4?77IhM2GpJS7A@ z&^-kK5T^o>brihF3NNJkeask-+&j~N<}`Ru842$=hPfz&Tv4JfOoHCGEQ=FeV=4fb zAm*o-=d@8oH(dq~3Nb&Cs8vHvh3Jf?vu?4_RC@b_=}%zcnAMaH(x5kU8H~RhdY%r; zpd0*wWzL7zUQvPWa(F}-wT}ez30gG!4jv*$F?4VTt-Auo$lgRpbI@oBi#PROU4iN< zcu-&d=3NDEd@=oy;uxr46H2Y3T1?(%9xih;d@tqjz<+X^Z6>^>g9U9u&7tm87 zwKi11u0!}&?w!{V`i#YUf2D&^=ziLO80R&gUR0p^lx04xaZap2H39yz!@T>?DqtV8 z%>8-IH&?)JB3pZb4p*Uf&?C4ohSVay8bdv`8MZd9xB}TC7N`BXwE_}e!g{VReN+MZ zfMrV8_ar_ZL#pr+)_i^u9Uw!uxR7Ov<~RSZ0(J*nB|=%JqWw3zfl2tjm7I-=x`vqpZ0<&BjP@JIXASm@Pd9n zq6P6q8B)!F2m1+Gpi@A4tLmQjL;$%1C`!dwxqwx3@`Ql;) zExy1qFCy(vRKOkwqfJnDRt4-imdOsPa;gIM1j2o{lAvEhEj|m6Bz=j`%utI@!9(A_ z#dK&C-A`Z;DE_zA*$UV*VEhQmBE|qivS1L%3aUm2SkXu0S!nS#I;4u0JpqsPea}~* z3NM+BBZ^N|pn4oy9HAGOMXSO~CLVq4LS-hsxr3%Q4 zVCb2gPmBnL`UwmP`IEoSt$@9Rut)0Q3eW>APW8B40SPasEf&8#Q~|o5WnM0BK?ji0 z{RA(k=Ht%LF=O=Z0RzODapu=5(7ggzs6=9WFto9I;R(!z4m_h(ufa9-pF4D@8LgTI zPY3_l+^9e`AMOI_dn-^)WpVn@n-!4oQrj}>H8ENkYA_fsUPraOT>%R(wb=J8Flt>Y>>vW?!@WEQV-yjy`Pywp|?y}Yvm)&E%La%lC!3fQ{{_uHOa z0lJ;V+xyXhb#!|R5z}B!F&#@sHy8{a#d8`IRiJtw;o%2~t;0|^ZDH}j;l$@@==uaN z!_6Y!(lL0nY7)!5jci7Io`%?m2#-For2^GWEIu)s4&7aiw(V9<2(7lG3;~ z#8+xa^$EOIj=w;RB!)H?3?&!Fo6rG(wC+0F*Uje#` z#XEWv->jh?E`fKZDR=4EM0)Rlf#vR$+V3l1-@<(-h1gaMZR>J)8tF?1IMVwDUcPHh zxxcakG!CAhrqm)nT|+JYK(=*x1?W<;t#n`{t@;U6|GGnrGKLxqaglfaszrRkhEz-8 zTu&x88AB-8Ws>_<0K!ZAH`9t@D8n$3^jadc+!Rg$63%&RCr^{HprTc6H95|e-hF|~8@T2P}a6DfRuR7NN zIve5631t%KM;0e^o@aoZiDt~9_dhbP%X;%Hl1^#O|yc@TS* zxV_-Ox1Lh;P(l?P`9)K#*BD?|!P&Z59HmRE-ed9R&ct3NR$YzoxSabEqIX%GGj6Q` zG9KY(G2+->S`(}iG0oN+AlH&Ux+|f1oAeQ}a*12J9x-)h6yK3RZ^7|9qfUYWb_2p) zx80UNZ@~LlS7PN7t8Roo%Dp8)UT1OcI9)`t?#PEQgT~Qi;vi(YlOWunEV^-$0o6?i z58Nkp@xIF9eFKSgOx)fi#8jPJC=OnxRj+_6dUDlm2G}hKw_SHtVp}h>cwJj!9TTf= zMR?dram+I<3RaMl!*&=Tx5M3k`jb2fQLutMnO-Z|0J{U>Zd=5`(zNPDxH)zsRyA>Z z!J;LRsu z$I>o@gKmmrvuV+DEWQ~;tZ`z^RD>HvotMxA+euU-Vv7@#V25)}6GwE@nrBFBi7ie{ zf*np1d?Qmr^fUyn1#5^cPRynw+L?r_ZuKHz+rXhw1g9sK3qFWr4eota=jRE<3~#@-&(bZzWyM z7$8rj9Ei-raB`I)dnaV$UGNxR@~5yoU2P`!Y#U8FdYpGH$y9BD^v zjpFu#ow3KxT@vjD+tAJ)#MUS#v*EceZ>I$LAB*#Rb$JB3ErlSMTC+>UsRML#AsD7) zb}eFS6szXIp4s@Hgz7f1AUNb1AamiGbX1&jK#Oi=@lki(m^8Zf!kY?R_Hy$bJOo3==(f=y{tyXywXYw%omLY(42 zizb3K%7fT8#hTaQ4I%vAW(m;*a`iR6Wq`ebaD$jc33LNIhc+O#O|j}tcxp~gkRZVp zmE5_&0C@}HA!o!H74(*_WAT|G#3m}%EP(ga(83K8qHE!73#IZhbjQOTguh!PPQ{>A z*RXiecf=+tRt0-#`=qrJqN`b))SlQx#pFFWdXI}UIA~3Uuz&F+yuD zWAOo3VoMd1j}Z3BTP~pqwy!*&Ck99eMyfpJMVtf*K}j#BRDNcFeFDe*(xnpU5*9CQ zpvza$9YY;ijv_DKWI_LKd%XN^G}cRj}K3-Mv^s^j~<= z=}K(3ViJO;hGvR0X=qIdp2{5h&Hz~g*ZaE*B{b)=_-+uf`HD5)L4eq-5C2M_5zt4o zEI%4x-@`pTZoULM7pz})#O5nj1$%G%ZQ{%wdQ0cP8+ChP^A(dH!S{S@o`mLX79VpX zN359qgs|Vuxe_GAYTbmtfb=<82EKzSuf(}RbaNqZ=+zXn&q)?xn`m*a5Dh}!P&Bfc z{#j!gWS=-wqOH@wPiQY>8|ltZ?6U9k^dgqfF6AaVm zJQj#r8-cJ_{s$TIEsOKLgbXY}b3Vf1k4fN~lqLkQJq}+e()<_Prn5^);F=T)0c@qS zt1lL@3lXljjKr-;p|9ZOyPlA_CA4=Dn2olOVUMK9mtcx%D-6LWkYLR2b&$lnNs(aC zKG-W-)Y?e6&}O}oA)m82Yp9SZCTK<>Jm$9Cp$h?Xx5vbYG{FcSTKqyr6AaI~$||Eb9Sq?gW>gk3%mfyU;B}&&%BX@NJgSZ`G@(F(5xmJ-5??3PyI=@k z+eFAr6Ub%Yq)j%Ii$>S=5FU`7R*3p24vZSdNMN3nCIsjm>$_4!g7JLlMG}`MMS=nS z;!q(IPG~IzdXBzsDEW=9>pqLGk6ta(T#0b-LlVy?rCG@0hrw$^)-%!#VjoxALe5-XL63p&4OGzN0RC~enzSKs@yc7Be%Glr7;==Ouj z{!ITwktUeye+6?rUGDQ~VzU2L$Pg4X6UcSJP*Nbx=acKgW|3wh!V`)~z@k*&UW4nx z1R=9f(1dJ4{8tGHSd>B`aIxesEMyi6Y!bp2vq`+76q?84*%sSG?FBRcH_=yRNHFzB zeu`o5WR0we|uS9zBGNOFBioDyZzP4ppd2#N4`iC97FCoB+yt&6P!ai?m}j^pb3s4w~HjsSc(Ma&_%Z! zBF%g_v$HnKkO^>p4iGZB1lch8_!Zo4aEs-WTlw30tWk_%;Wx5KP;DRPN zlzN>efz48y;8Z%@t3ad)4yEoVNL;fN2~MRG-S3FV+i-U{v_Xbk3)lEALI%0e+5)&E z9V7wKQkoDLeXx@-1iL_jBg%0fiHDXV!5OvBQOGqz{y6bVkOb#_9Ayr2mVtlFzq$dKT~T2=e8ND~}bRxu=S zTS^n0STR;YX1$&Z&bI7+B_d65w7HyGEJK2`?Uai!Qh}fejy9)5hDIl#TLI3tLr%g-1p*0< zwjcK_l+grd+nyiai(2~@Y#7`Bl_4X*6468$;Xu%Q2X>PLLxUR7t(^zfj|Re@Y7j_p z(0vm>Uq%z0bn)K^BO?eTIOr^*BV`-h>i)P*XAiiP~BUXG-xL8A4GWQHuout$ECP@N9Q)3YNo464T$e@NBf$rGeW-RY4DFsI{*;Tv|0qX-5Aq`TRCJo)PjNa%{Eu=Z_#lrt zk)#BnwJYE{mrVSRawPa5lbfujNbslBSxelHa^xHEI@KY`41(q=geynARX{>gO;lx) z%%CID4C1zwlYGUZ88o*Vym=p#f%rq{T1pZ8H)D#4zf(>Ue4fQ))=?z*Z-(9`{!Td( ze4e+5lJp5-E5U!$i}QENk;LcOOFKx2_6P$1P1}RS-zi6e&+}m0jg%(%Z|ZG%p@0OR z=azaT?LufR_;0E&BkoQ)%_rbbuC5(iMBCa82+gi&I1&1+e$1lTGzWg4@KR+UE)6H? z8bVva@8k8D_*doH3O?4yUYjWr{5~G}#J?&>f{!)dgQR%~nw#K_?;P>3%8}q>J=dM2 zc?jfYcoWJX{#7{=e5@HT8l{c|e^K2{#J?&>f{%4mU6LLmXoA1UB8K=^<;eT+mS92B zLv$pXTBHChWYJWb13#1BOJyK_=||E^1V!*OdE6v!S-G}CQq)Zk?O-k1BMR2+bmH zU^&TaESg1g;MWTJpbW$xf=I%RpqK{tle@%yEGKytf(M6YP~=_+am>tDKwg2Py(>x7 z5j4Rc)^s=VJIiT;?|FAqlBgq)8DMExP5jPsB>0|J^MmbZ&&>?DD-gG{9GDAtg#(l# z_|XDCCv-z20up@Ir#c>{NbsXI_>cIj1KA2l@O2+(O%jm=68vx9CJ;ZjoF@3X6TT&hNCFA| zH)hcV1tj>o7r|(^G>ImhR{)-6(FB?Uzny!5G7uNIlf);Xt>Cw7f1LQo<+c)hyiAi-~k7oAl=o`U|tnR+A&C2n;&$&)M!r8)5T4JlLx z;=&;$(Mo75`1?AaA^vzd$rJDz-kBs?2_*RY8YG`mK!Q&`xdBPE5=ij(nZ^)*yqqTZ z;^hgv=-0^bYQ5J>M9QX-6?kNNDJ&$Zk5&VShP7pu7oFw@2PqZV6UBXs^pRmp* z;>VXG!I!_O4oU3Nktl+=@#VlnEQ+8x@Gk~^R0iUYK_nqePz3*?`<){SBq0Xij(aXe zf`8HB=wSsU!~h(1AcN3c%f9%-LTp5=agiR0!nZ2`x4?am=D=U; zeoq;Q@41u2L!qtUuWf#a#8b#^CB#%5YEBXl1rq$Vnq?%OLXL!(ie(y-c&H;$FbSuS z12@6Gq&e{Oy53L*;u~DTqM!(V-bQIj3M3&GBdrlhSk#dyiiBavwKai7Q8ZVKP|zj? z+(s4!J*D)(JM4N>8HjJXlJrQSrQqdlm`0*E*p*|_(VB6zX8=B`p82@xu}T|ZDHc(LnjBhe{x9SadE+v}W+=44d6yCXYelttpBpQ8V&w1ZR7^=`0->Om|tu(`E1kAW$=47{03&7o}SPF8Zs^ zvw1c6!{0TxN`~j?nh!4etu^Q9z<*eU;3pRSBXE!(Jg8VXh>Hi!f;PtxEA7A+LGIWUgnTjd~rJ1T-#oC^lYQ=b%e54iSEwVuzD^T2Et zCpFe3-B@t#$KeI#B=VIS>5>NDvdCB9BEYyKIYg#Dh|jhAmsgyRaHTckzr0SDrl%n! zU`?fkaXE>?rAFkW zK?o%X7r2Gs%Dt`}#Mir%cp`G?UxaWCNSju6IzuSImKr3WNK2y0QbT~!ZG8a`IRdvB z9;^$LgSfyonpcd3FtnXgLx<9m5Q4Dtn9#`XLUOIxauWR|HBu=JK7lYcfm;G&AKy_9;yb;U@`^Fg)*a6jcF$ul znABQUPNFGNL!;7dEe7X}z(M#^-}}lze7|oTuL$8!wNs?VRHY>$4#KpY@|1%(&xwR; zk=}tYEt9oUW6jcSg%FFiCM4uaOQP{oL(S6QT^5ZOI0(~f1AjJ0*;NukGcL4Q%PX!% zD6UW;c!x!C0tew;qf3>8xODV7UJ=5(nw^ju6_?&f2}6hNST&Ip|=!**TK=4$SXoPnd4>UAinIli66Vs9qdXjFlwVXu%TvOOPdGID8a1i$9az{Cc@3?H^6(Q`+ zJW*;iWV)>ovXW@Ny_`hjqy|H#K?qqHCvXt<*5ZtE5T9v5Lf^=q+=|d*sWFsk#T*tb z7B~_v_fk2CUveRHL=nQ}zD~WYaECysOX}AoWKK(>$x?$h(`~&7cUXagFuP9q%0Zmp zDTP;rFgv^^M`2qbL}m@%Sx%zSQe!>SZG{k-(Elx@BfrD^B`)uVP&bCkI75BhXgw&|pwBl)aiV!#mBXoPA9KEwYq@IIG1WUU5HMccg|f zr<)2PM-c)C;f^l%m4o=c%VAy-!W}j1k1O0r2sv7>IZ{p{PpQ$*>9!tbk*B~xn54}? znG(P{`BiPUJ=4aYweX9pP$}H2;tgW>wGzh zLednr6+*Z|1P;PZo1Rw=;`2=}@QRrbFuzBk;w}gs6gUW1?Q};ui0^dD;uX&!v^-Uz z;!YMV7dQx4?f*tOh~MT$`R(4#E+T!z*S(GD?a<#T}54B5)8M`_nDuAinhz36Ujt zfr|*mBr8;e5VaVAgRolH=gL9+-1RcA2w}CxiT^2-gb=kv_(J0XUhyVE|7=vKxDG6l0taErt*$5s@s(D0c*R?AE#II}aV=cS1rEZS?emp` zIN$y*uXr2Y2G=W8gkZr4frGGU#{%UbE^xfZD;6LWy-uOx8VH6HI0&b9d8{17k6j9R zMF^)}xmKa#Y8I^&I0&b9eWe`4uUzl*igyuOC-vu4=&Kb3C$1AX2*V!uUO9;04}8EY z-a{yHjlykQ$)ZGogYfOaWy(QZHn@magfMK=ZL1YZt^jMI>BDjo{kBRWxE!ul0teyS zm3Juz@vh2`c*O?@ja;cvF%F&r1P;Q!O;ePEIK{M>S1dwk#0rIq5DYm&;2`YVe5Y~{ z?=*kRD?Ws6T&_@YDQu&_LAbcZZsj1}Z9zi6$#dW%guJBwsttXVLlC8xz!ig+FI_o^ z)2lz_6(P`k%rb@B2;rAw1P%htEi;sZIK%Q8uL#4CjajNt5r!ihBXAI)ZkeGR1jXmP z;uBDeRj3#ZiUJ1#>ebVggV3ulc*Um(`Nk+zgvd=_frG$ytNqGByx;02ulNiUmnc+( zm``7UgMj$z8OlMNQT-LK_#7e6XoZT4!ICI&5D;&&Q#putn!M%}Um!FrN}=K+7IDG! zlb=PFd31uG*c@e@L$<|tHzQT;{<9Hc^Ml2w4o8eXszE>*J?3c_fB9y%;R1(v{L zkU`PwtqSgKFYS&fgHX0v3R?+d55{RJ$h+wDNCox?b(+rYcgVX~JX4|EH1L#aDfokD zx0O@)HvI83a=>6TeTHH!%ueSiyNk*xhP`MvlM_S1(-mv65HU$8$nmIx4yfVqfhx1K z;D~98v1fd|u18-M@;q7>~mK&fT3q?5DOIb94$4JVXvb+2=7O;4NK}JazGTfSS z4nONMM++`uRe+FHvWReyQPSe3IuPG%F_$CJlrj~HFks{q!a*j=cjwfB_}q8%I1-I7 zRiOykDB}qSnJ85<)PXpoN(4uu;beSCrMu%ji-z-Dl1eU#aFF@Z>%BS88dAP)q%LM%>s@@)5$oPO8W+~W~LJkGG=VD)PXq5=3kCP{$%`2rHUmi z@+TZ*+8FOu2jacP3po6;=G27ITD4CaXytQLUvCG;UKf8%0YD?K3FA^Bhm0TDimMB*~oL7RdSmN z2bo0OOVok5q$Ss#(gB=w~$#4v$&%Gtb4T}kzT{Dg&(MU3$tkS*l2<){ym!y(QA{=CNb$O!> z#BaJR=SUPm#;;Y{QpoCxARJ_L+2*PPajxwOjzr_gxVK6biy*F^=XR;&b`cIT$Xv_R zfw;_dB}bxIGS05jmO>U;Ea4!7tSMxWsR8k=rmHv-g_7}kl`7tc2ou6V=9%e!bs*kv zx|$==&t!aFrHYV!_A}4LsN`Y@2N`P(ud4&`^@eLW5(Sg-fR(oN9=!Dt4l>=0($#@D z-6)R0ral->>CJ6hy`?R@yg^B^N|E$dJQn>Oh=^ z*Ks83O~yM`s#w6H-aHqnl8Yo9WaKrxrVhl{8m{L^6hOvTR@zd?$_wDR-72}=go8{z zmrv?I{K;hlN1_E}TxO*$y#>Rk5e_l{zs*qx;+$_cawPI9P@xD}fL=V8q>@V_9ApkU zzElU|myQV>iKgCG(b5|byG=OAI5g)5o>tnaWB_XOM2svPv$QaFA)*;f*>Fzv-}pBhjCEDq0HJrhgI+ zGEJHN>Oj1o`Hv$}kIO0)FR`cx&qb)@A_xbWtybsNf%v>tGDo7pxhh%;*{y?lE>0yE zM>xoct#@4=h_Ba6;Yj42qoSqREb`{LM3r13;UELI)gyHve$;9wN20JxDq5Na1O4(` zs!A@EaFDs{^j;l^-#hK%NHq1Lik3q5?o`4-=C1K!bs#=$yqhCY&ukTn=ULQ~=jN&8 z<`E7ug)KAHfjHALl_QaRmWq}_wy-0yEM>xoYuA8q8#QAmiawHmcPDM*0 z8+sJatyRgbB^+c>*Dp{9;)43=9ErTh-$77%=Z7q6FP__=lG{Ky$h>ZNPaTNwHO$~h zOfr7WFJSOvE=VHDD6|o_8!Y~n^ba}2nQMBjf>QQ zxTx`djznY0--l4zQpge?%X5h;xkSQ2W_hFg>Og$I(E*M`KBrW)^f>H&p4+IB+ekRb zWN&m|9SAKw$dSmK{QV21eG1v^-aNNnCAXe%kO6O7pbo?Zwud+p4L_lxrH}M%zlH}ZEnl=kTn7P;|Uq)IN5aFD5A<-9r&pRaO+Ba!Pd6)io? zB3GW9tCE{bILPofI-w54Cyb7ABb z@w@iNI1)`HfA>V`Q3In2Oys!~m0SwpU?hSco~Z-zvmcIgB=S3~qNN8QlZ@v!s^m5j z4n{t(DNqOE0-F;YiH03g(bD~3C*rwSm0T?0V8jH=OX@&;$?_yeqJ9Tev=l~7=*M&O zRC4nO2O}-uW9mSB44>jifmQ@wCKc^Q8x6=55C|b*hA?CxOolNKhA_$yAOQlwFeMBEVVz=*OsVxCgv{<2WrEr==3zPd^ll$J} zR%vpp6bC0)G`Ow@%Igib21wB(L*o^~=@mUpE?JXHRvesoQKe81l!aBY0;FiaT;odN z)Qk2eH(HY$tvEO-qwH2aP;M=|EkKGFmT6q+5<|RTa{t!k{%vw;np~RV;6#rar}RL1 zs>b#JDLSTWyh1qDqoc`<)8xh}4o(6opREVV?D9JTq3vnp~90rE7BOii49}YMs*q z<+)nB0;G6-uK#E3lHC`c{8Pv$+ zx@&UXO>UYdH%)PHK2iBxJy7PB|2aU4CUZ1iA)Hav#N@hba@|dCswOv8ac~}zFIx|k z+3;9YMT&;AHC|zgAsU+8r<&ZSCO1Kon_zO=G`VexgVUE9q-wlAIDx6b{vg*`lk049 z<2AYQCbw0S+p0J?C8}<*9w>|J9te=)!&w?;lHfE0lZ(~lVoh$nCbwR3aGF(}t9qck zTIXPZ6z`^Jyh1q9>Rpo?uE`BIxs{sSO2xtHSyj*Kf%0tCLje+I0X1GBoS@a(Ujy;1shbF6n{t(i4RNQoJ!!!^|{8ykTdOLO4;bp2>C8579>?Z-qPgWGP(YmTz`|BtI5q(9GuGN&(i~Cp8r&U6wgf3FaswuK4WrkX>xCwT$Cmk zWpcAMx!ER{tI6dm4o;n{U7`odlG;T9QoJ!y!zi3Q`G(2;Ta){@$t7rV2`0BmliQ>? zI32U{IXzIGt9&{@ie?iu%)kkm%}lPVCfC*EMr(4TO)f)|%TOGg;(7m3Jy0IK|4e`s z4aaMkiHCbxlk1?#buhVsn%qE>o2$vqHM!lI+-}9eDWx@T>4EZAjk5t#v>K;j6izB_ zWpZC=a$lI-L``m@$*s}k)+i26Q>}1950ob=oC}cR*|8dC;6&ADO|F9`*TLilXmSHg zZk8rD%j9-wayt|Ur^P;YO%IgU9y=c(#Y^!TMq>@}lF4<^Up!;56JCC3>JNsc|7diWYGiM&U%<7ADtIlj~`6V>G!jCYP?sr7I3j?e!hd1LXnV z#Q-Uu9HU_-#t=`MTnkOEg~|2M!HH^ZE z&Gk&~O-=4illxMW`_kmbX>#LCZn-A6+~o2#xqQXJDb`hs^*~u%^-6#g&D2V++tpk+ z$-0@zb<*TIncP54ZlK8}X>v&>_md{~lj1JH)8l{91LZIGTn&(-&L|C|a8h?2lWU>L zwJ^D^np{_ti`L|#O>VX(H{0a0G`TFr!71eToz?^8>HDq)Nb&SYjo$>EME0$liR4tZB!gQ1wbCr1LYBUGeC+e!!>>r@FajLCf8V# zYix4uG`V&r_n9X5naPdNq<*G`T67+!T{rqRA~Wx$TGMrm@ROfE^2OENil=#Kjp68Jr=Fu7ft+%A(lsmYyG96aOa;lUc$3D5a? zSOmE`np_=|YpTgLHMvMlF4E+>YI0pouAe5?&*a8va$`(xmL@mLVq`?K;gMi)q_|=O{`%MdrcF2Er@l{#5x4AUYc01 zAT~e~8xX|eHL>_0mZFKJ1hEWFEF*|*)5Nv~u|t}enw^J7fR(+V$z3R`IPtrI8h@1i z4e`4GRa=v)9iSR(QjG&tOHHa}fa;)0bqG*BG^ri|>RV0f+W<9ElNuSI5;UoV0F|am zr3I+9n$+3=wNsPY8K4R^slpNgkD~Kk)Wk0Od;&mG@q3Lw`zXU#F+f$*q^bp|dYV+d z0M%5Jg4+vtUH{ai{u!V;YEm5oRCi6Pdw}{{llnS9MQc*g0cxBkH7-CUX;Mi6YLO63&F#c z#57$9o~%|U!O62?jV=U7`iU%E2u=hNdvqZ<96%h_gZDyz#sm+WOaoS9r zn5fN66baf)f=JS4lEiFnX0}MvX41qGZDxtc&}K5kYHenTw3%Dtwl;HH6l*ikvD9W@?Mk1C(z>%Of&bcl11`$= z|KES_#gQk*%kSLF-1xmWXYPw3^|)5|@smwRb1_v~K28+iE+;^n)Jm+w>)wLfns zdisv&<-4et@4Q~VTYsbN;2TeC1zy%9ysUkAS!40Cmg8m3$jjQ4mo+diYi;$l{|@SV zT08WzM)|1rwLR)(&DGQ5uD4}mZwuC*mc~6T!h2fo_taSM)WY!8Eb-Kq@zenF)N1n7 z)bi9m^VF#G)Dra6eDu`j^wdy&TDO;@TDP8>#2(tw-a6kfx8b474wSc!zPITCZ<7k% zrXsveV0fGM@HScEZHmR)#EiG;9B-3A-lmScO*na*rt&no<#A99<|94Kr2*w_2F}~O zowwOOZ*zp+W){88M|zvZ^fveDZN}8wJgc|aSx=*o z4v%{rRrfd;?{N&@kbjGJ5s#vfbqKH#_J9ruRDso z?qKq|W6J9eEl)ebZVBOO2O4l*cf5JsVdr&6pVu9PUUw{d-6839N2b>updNRedfnrC zQwUGHYJu~*i`VO}VXwQCz3z(kx(nOuu5XXK%)RbwzafODo%FzY-MR1eqyVoc6L>ud z!RyHjUQc@Pda{JalPtWRopD_VPp5SN=k;_DucwiCJ^jS%X)9h&cky_djMwvPt_k7k z#2nzfp3vj-B>I6@S^?K&+ zMIk($@(Y~TQ-!^rV(j(QWRIsbdp#HW0(?&B9VjgVCs70E_2g@>CvAH@+1u+$;vP>f z_j*?Pc_BQV&JLW{)8M_HKJWFkdyl80UY~5^@ku&f zpWSm>2v1K70?zBxiM&1y$?MaXJU;Eo>+_}HoD)w^v;xlS6STZOvCHEV!n{6{>=dk3 z>OIU%1fGHhoY$wWd40;8*Qd&Pe2Sgd=jNRh!qb!bfb;rfK(9|C^!VgMug_XM0qX&J z4`~#Er#k}Y^=Xn`pI+(lX_;Q1&-sfGo}LH_oYyCidVS)l*C(uce4?w@XUHCh_b0uF z&x*iPYk~9nlw7Y*<@NX!V6V>|hNDqEJ?R)YuTNI?_#|hq&yGF{Q$%_Xofd(oRRibs z>DXSM#_jRx-(H_LegwK3dJifWfhU{;=k1gLA=c@EVqHOy8>7jMF}aU5xsOe* zp(fWb$jOM@Bn>k&;NN|OBH={QL_JU>9u9JSG`T(|*Ibip9^~Xhg~=MPaHb&(A5!Fg zA=30fk)}@Y1};jIi!!;^nq2E3C##-K(RhW4@Xl6Mk@?UI*8|1MgF$Y%CO6#V-qqyZ z4RW&1)ma*^Fv*Zt>nQSPA=c}GV*P<27puv|n%sw)+=oF<)-6uec!kM^EUv4_eL`&2 z1I5<;L2kSzH{RqrYjT}Uu7M`kKyi7n6=k-Dm=r^7%MWrBG`R^T_o*iLsmV3eC2v@@d9TVGTW!fy+TaY1I5&zgIsq_uDi)K(d3#0Iaxk;uEr}&h0mDsirgc_G(AvE z+ZW`zYjWL9u8}6!D9Fi(oOv3raJC_HA{3b`#AH2COwJ2(T{O8aCf7idYoNH@LTsL| z@dD=tuW-I0^D8P69tV`D z2a3eqL9VAJ*VE)0X>yH%ob+cc)OdwI8ZyhTNI3mJUJn%UyMo;Nn%w(APS!fNNaIS= z40*1WB6q-wi5@7@cLupAO)kphT4-`Df}DJ4|6+|-xWJJ6A5!FYA(Hh#k(?9cdTVmM zO|FS1*Cfcvh^!?VuW%v!wM8g$n-H;jpoq;5a_?$#?*=(pqiCtdl`ew!wi=4e5@LZK zC>HDpa(y+qz9#pgCih~HljXD1HD2LjxZ5kQ$gM(*(*wo0?Ln@iCf6~@$r`7YXVa9n{acg!x5>Sr$-NNdWZA9DHD2LTLvAgr$j#7;)dR)otRUB3 zlWQO3WR=1UjVn!uHH<2X+yw7YdZ0+&8svItay^2aY;b*r#+5EJ;N4UY6bm*5xvw<2uS~9qCf6j$Nx6Qt#w%Q5$n{c@>xCGq2a2IT1-aKXxz~f7 zd~jE$#+9x#?iKYwF)lO6y{E~&7vyBsf}b?5 zbUnOhR8`~(A!g`-V#ewq_b*NEUqMbjd3=+`m2NQP@h26T0q<^lph#R5%DRLRi4(Nd*WkrztRFnHO z$jRC#wrX7ICb-hticE+7ReGRE$_R2FYjPh4Ia%{)md2HCHssNoid+g)N_wD}xje{q z(&Rb?Ir&7vHjOLY0{`}(P~;L=-PZ%fv}Hl=15NIOASWNs->z|`TVY-CaYZf`V!R$G z#-|6l_L^M#ASZvfXNSg>W*KtN?-aR6h_QO07`rscy`{;$735^)J=q#px(%+hvLYA4 z&KEsUj9C)o+G=ubgPeRYD@Wr>x5FyfgNj@L-xc&gF?4Z|dqtCbCCJILYj$c}=?+7# zDXYjdn8DNo#kY$BoNRJqmqx{GL*8hj$RA-RnI0&XEDUmAXmVc!Ia&AAZjCF=fmNxx zikuIhih7_(UJ&H|rOEv($jNH^b2YAXC#)-1Q{+5&x6uQ|__QF`PLpdF-hmrHoB6hQ85?# ziH#IF8&*N}K#?{t$aUA`x(7K~>&QNhE8SzrBefKnD#R2$P)wN{UY6XD;Y9w^dMf?PLEu3M0kH4hxpxYGTGJWx}SGvWSC4-{jQgIsG(u62-;<<}q9 zxY7f#f?8gYGvHoB4;0@f1vuIGVu41*gND4=Sdr6VXNn#uQWJw*Crz$XkduGhU8r%T zhhY8XkBXco#Be=O44)a`Wb@lcG%6m3_o?QJOn})AJy0y35#+jSa@~WRtoid%jVmoM zP%N4l4)9wW=b=!gmxs zP()7%aI)!@Ga407!JU6oMaIMDlpZKj#|OFhHM#eLoP2omS&b_#GUVom6&WYQfAv7| z-*Ev>);)SoqvB~;ovf?KG4S114;16a2DyJ|a{mZ&(!b=q#+9Biso>S5OZW!{P#*Y~Ywo?KQSq`N z_tsS8a9D%Y1I5sh0ZukKdtIaA71$fqM3KYb`?MY?5=I2MwwheqAScT%yP;MgsViq~Ovqk$ra!1rQ3 zP>dZG;N+_}ZfjJ$0V~_DDsnJr^&q+HgQt5%B z+t2_fAKO-+WT5O1fK|!pw9@g5#&22eNuTVlw0QgQu-=->tj{x>Ct=rAxy z-7i-4cU{gf7zN+@bTHBD`v4`Y?;PN|n$Or--NZzH_n0*L4+s?ViTa1XcU?^$ zt{=qU5sahUV`5bQKrute=T8lES*^bzPKoD(Uy()=cPTZj)dxDQ~Xb>KR03;A1k@Q%BG zJ_8N^irEYOUOsp4|Q2_5UiO#8X|8B(c3*JdKa4&Zwgs;TeQoH zgW;XJYKVjwb~&Po>Vc|Jtzj>GAmve^0{NfT~-_l z_Xf{}NO-bBtb0(z-ZU#-6SC>4A6!<9hF)^h5D6#xk97}W2gQtQX2r`ww!S^eWyK$04ZC%S zgcHSQxd+9pt7b*uA~m?kUpeWU9pmy!M;LOpFGOAxqMdtCw7X(n=|v%Z^G3U@I1)bS zeIXJ~q<+UeDBihjR=gl&#KKsY6-OCzVMK^LFT{uLLGj@wv*LLnD`bpuSuqCgV=IKn zb3$}>4~otg&5GxQthh4HWyR63Qd==Z!U?>c-Gid@1+(H=c#X^BT~>^Rb@K`#5>B@L z#62iJId4`xBjke_V_jAp16Cglk#O?sC+oM8Zjz9o&PWLy=kWgplPHOmbOqydf8q3z5ITYjh8a_fMG>e-ZNDMU!1t zoM6aB_lC&hLUeQwijF7EipSwK&Yj}2;zUEvEf*q>3E8e>s!MVbbU@mjFl)kzfXVJb zk^IXYPQGy?!DYqCup;qBh=h~&rn?8l^y6m5BSN;kG|gqjDRBB#%Me)zyVl%;V$w0Q zVxf@DPfvGQ5l)jk-8@7Vz`dM%P{bZJD;5aZxL}6Mig3DHLE{j47lA#3eO za#;~h2is9AL>>_0EBB!I>abbyfRI(zCA+K$r**BX5+dQ`tuF3C(dCd?aX);{ElqJ* z5l+uq`e2BJ6SO+I2Svw&X2pECCz~_NWkop6YEDFm{8`AhH&R`aa7xsTwg=3b`(Q=e zJqXiecR2aVnb|HYrobN3S3)G5-89-gC`RX-74zVG;Ql!-E5dn5`=1Mua3<0K_n;W? zvsrO3eAmsM>#`!8Pn2CdM8X+G|8WnB|Lij>?h&&3rg<(a!g)cPs)tB8GpL7qQ1r+% zE9MGWY1w?273V;Ap;Cy1(|_PJ9(T(taPkkF#1mX4*)3$*hENh|9gh$-f?2;Ibl|ICJQ)ArelV8R#Aq19zJhbA+t3eWA;W za01NsIw3L}CQRIe;`3c*#cUxfuUO==BAn#1qH>7b0V{LvLGi&(v*Hf;wwtopWkony zCB+vaw+s2tD@$CGaAL`of99Aq;nb1|?m;mj`wl0cFI?)fBAh%@_hKHFke{0V*^=__4Ugp(xF9|@5g;rCIz$|VUWI~2dW*{lhtJIrtoiW!^k zaPpNCt6f%vlNL_A5+dQWg<7TK|WkuMjKf@m)SHbts z;~QO)uyg)+^EGD8mGEuQJt(3x?{M-@*+03g2s_}j{}du&7kqE`py<8YthfSJJr`_p zSrK-!FQ^zIGlXn&ZnH}gc9x%Ov&yUqyURzp2gRtBcQ{!udyC78utPk%UWi-77($c3;Q12Sv>CJDjYav(05i*g>6B zKSaVV>YnaF(Q}zuafy)k&)M#>BJ6~obAO0jEM%*q9WF`OnOxK=-K+__lYejziXWEV z;bh(HY?l>bhjDh@5DB}Cd%6cj&n0HXh0sx+o8z(~>=d5++Yq@x+1crmgq^!ZtrnX# zVfSvddr(9#y2Hs@>vy@V2s?Mz*9wt83h|M9P<*t|toWmla_VlE6=4VNR2d@Y!@NX( zu1gYj#O6Q0z^n-SVdp3A;_Zx(7wqd1l4g(2Gdk=dvQ~7)>r8B2(e>weV+` zB<$cUY(CelISW=I-Gk!0Id?c&WqH2Kim-!od6f{E0{3Q@_q!xvN9E=Av(1{Yt8%n^ zP>fE!!^!{Mdcb8x*crL?e?uhfj_m9n6rE?86_eoK*SJw!U(}aBQ+7Xu|?Bu)l-b}M*0^CKo2Sv<`JDhxK<58CtVMpG^ zr$XdZAwMcU=8}XRa>XA_H*3N!x$*8nF@D+|PBz$a++{`BA-AJJh@1>FTkb*8Ey1if z8P?pV{o=AB>~xzJ5h5oE*<|ktmn7_1+uLNSSrc}x^>Po2UQ_OH@}9(#E-S*$v&4Hs z^CHOIpztb0)Oopgtj56>@hSrK-S&3`yVjuY~=Bd1-Gu%qk9 zYZJ|yu&b+|dr#NXlMBWV|0R)if-X^(`+ z(eRFb;-X6ub}pTGJAsIPla^c{VNlMl_l;<6&_B%1wDh#UcPhWoF&Bw=UI{+DCSny|a4k9$z`8Fhz~ z4(&*rBucg^^}W*rn6cJt%sPxWmccOugZ2H(ipjV`kfPKbSRP*Gy;kpy)jO4kzXKTP`cYj+yZ?L=F+M-lp3wN!aCWkJ|cGUwqC2)jyN+UM@08TNSWdufna5cYZWa*K&x1AnE; ziG#J`Xfr# z$&7PRZL}dWMV((k*hLX}BHjfEW1A-;qwW-h?GXK3V*LOL_Q2IH3R!8^SQq8S7`|DR z5D42EUf4a(1sG@ecfSCihIdNBwuY|mK+&}Xaj-cdZoG?v@rH;izKfGjWlnGb!T@FF zQ<#KJ29ZS*U63#cSrmC2)r3t31KfdPz^%JD`TMz(TvUWX$hp7ABy1LFmOI%62?LF} z&2FNaF!bNGWQq$C1`|uV-asS_{l~fkMeOyvI9Y4OR2LOtpm9YlOv3Q~8^_e%x2Q1h za4?v7?2T)vCJf>Cbq9*RSMTEF1JkFus0f3J(;vVj4AVdR({vXk3>g0O>=jfKhT`8j zGs6W5gMw!Qqx7MF&M*|;-yJCWUqTgODE^Va(^A8Eg+amDk6;pp+h5$1=;B&o;BU{1 z7g0?ZQtw)vU6g|%(4o1dD&vH>P$q=K}(0AxB07k~2Oiy(I!uVbKlbD3j@0JH##^ExbIfZJ%D0bVU^IVWH z)^@b*NkkrluO99|(dWcnoGcqZ-$g|jYl|<7$)hm%xBN#JB#fsmul)jnu`~@AYsgGam}NsCX6`0lDEhO z3FBgUuN*-nj4F4%x!45>V_!GB79tWxm4~|n#qff=I9X->5*HO=Tx@<7Ov1=<)10L) zNErLdX?hsdgwf%TE~dL6VSMZ2M~4szqr(H-fnvbHyEs{C<}w!*VSH<5B}~HTaKjDD zU63%owV~kwRC6C}kvNv&f`l=wW9{}M5=MZ(a0iMn^6%oLFJ^^{iZF&11CK-f_1zgp zd8;p6>4JoDs)f~mMkI{n{(bK%7bJ{R?fv^cM8aro=c}t-kT4c?wR0XKVYGITJ5UVT zdlx4kNz8On5yqktAHgJy);3(X#svxEP3s!&K{a>6`+A{z{ze}rb7Yk;lJn+T((RF_%q$TZ71z@Xl4R z*98eYV`ev9tn@F)r7Hy;yx*egpsmA?m#gp`7TaY7^lu_4ObDy9mWO5$wIFZ zM#`$qzTkp{v4z>y)Hqp)oDQqctJOKE;cCLz!s=%e5ecJVuV!CzLBjY!_N!_vEL1ZA zK2Hu`c0t1U!Qu8Z5D6n*pA=njLBbe8(I?XpIYr3NZ(eml!WhBL&!-_0MzsdG1I2)Z zyEu98Xm#FaII}QDF#29h!l>5or(JhJ!WhA{->WgLklBf_5}2mW(F|7;#sSi5PeCM% zTs2v*&ch5x!Z^VCCX*349@Y?d-f}@gTYqOOH8vHxS{R*bzh9j*8LlR@_4l`*h{&<9 zVs*0E1qp5alOL(^r%+88f$DXfM`K!IgBN9fS{_74@2TcE3F;4i)4l`U-gtq>$ zvX~qrd==gFT%kQbw&GY+G8R5?XNK1b?fIEi;t>a@H$Np7^bh;{fJXa*r_=~j$ZCv` ze_cBuEax-U{&mbOl-1187U6>){KXV6$;ozvkT=7peOZ4kyLfib^!-K+r z1K@4vT{TJcD+m4WPl^VI;oum+qEFyJY79dEyZ6;0VL&*}?`m&oR^3HH|NEQpp!h}| zfsHHPf+6ZbL&H=YWXM6%O5TKHgkqz^kb~jw?!ID6P3VCCAz@e;atMrP{Nc8Rybj+K zlZJ;Ohr;*o8n-MYbh2yD`ymV&4TIOUZ(2y`WdC{Th%n?ZI3nZEH!S28c$dr^8HOAV zy`(1BEhKcLn{OHwhWr7((>A|mAuqvjVNOgKas;gDzkbz1LT5R0pBkM}bZP%P5@vKF zuUJUvEO#h~EtLuWtWoeiy2E7)2_523PO3Q=r1xNoJj2)LEhHRA);~Nb`ky15j2JR5OvN}u z4vDamaIDyUBh_Gw)3wIK8rOYiEj6LnTQN>ewm6Y6)e=|njD>_=Z{^7o!;mo5GP&|; z3wZ**O;1-7Do!Z7!<5Ow`oCC6=)FFhJ}pd5m=;NY_PB+FW2qXim>!0N zX^|C;k6B3Qp+3KQMi>&NMOHt5)IvfJwQ1(eFeFTUWHvowA)$x*@;Bcx5(;HbW4_ip+g}%N$B@7AE8{1z$WFhl~ zY@Mw}F`Q~9!FQq72Q4J@G~4V<4MV~l#?CeeEF|uZ4sj_;%jHFeJ=3}|ixLPD=Fa+exaa3W#8VOQi%3kki# zH*=SSAz@A-_stv&xeaRWUK)mkIfdPk*%lIderyhIf-JH9Fu#!n{G&>sb~OdUq{1tJwi366OXr zx7=zWp?CM{#+6}6m>bym>J|$Ly}Oq)SA`*AZXomJ%@%S4d^)UFBLGfU3v&ajn{Kj@ z(1Uw^g_;3yBBB4k;`yH}B=q1Kr>_Y^LjOO#@kR>?J-BBVt_?#%|9|1L8!ROB;Ofs; zt$e4eh5rBi`s*!ZCfs49s$RYm34Q$3XVzIr=%v+4RK0vB68iXwwboil=%qa|UA5$$ zNa*8Fe`1Y=gkD0TyZVisV_~89)4NEuf}K$49~bpbwUE&J`Q-4yFeLPW4}UVt zLPGE7-CWfRcB%<|;M{jpEaXgBncQ+X3<-VUE&oimkkG?OR2i#!x=tkYbH`ShVIiT1Q*oH; z={k|n&mC5Ax`mt~d}aT8RkdcF(4+8I^xv}6EG+a?dYwEG28F)tNqEHT-JdQKq1Uiq z^;n&X9)}LaM^h{$^i@wAvFaB=l5%KU(!zok-}fj{g043mGST_YSzJTAohm z8N+vTz`f%vEHpVjFS-y0g??wz=kXSDw0d7qJx`~i(C<9_Nt}g*K1cgN&(n!i{m%Ad zEaWJ-D_^a8o=zn6J6FFNYavI%-70LKb|#_UIs4hs7IK7;)yApTrBhAlcaEzTV_wbv zB|4GNe~f#4sD*@W!uNd}?k~64@Ll}&z9ANL01T%bbS??~z=K@|Svc6X8!58-J6jkY5_Z`hE~Y-^u2(t(6VTUPt)HY7CLnk^pXKtiK!akFbSBsAOVOo?$Iq0u&_ zj@rIyb#xJ$^@DE4I-sM#(V&WI1E-aRrdf}IF%Bp+%nEv3vLT^q7P%?TfrN(HrbxA& z(pnRmW`FxJ-hqUM*^hs_U_(OFtj5@}4kR?p#@0~VBCRz~!^eHU3r zXkz_wYN3>s>I_0i9&{3VQq0mP0EG&8W5;oF1(Lji?Q6)doN- z3C*a#q)u}v3XQ1Lzo-p>RuY;~kByw}KtdyGzfrN%q+6x6XBs7(3#3ehB&`^r2aoC33FMQ?t z9CdnBMv~z>+Nazh8y1>FksDJTszPIEW2D;XW__j59C|Lr>CqL?7)p6gZFIAedBXSm z=v#9gil!RAThYH)Th^>BGAZKL0}73ry`9xYFe?eon!hhx zDhRe)`YJ-)P+#-CH23&MH0Y4q?a|cvXTdb@sG*3Rt zS>aF>8Yej)sSQt75}GGX=dW}ip>Z<5soL;lB{vFRmEkv6JD@Az^M801wdKjmLKCEG zp3_n9&;ZHnsx}~5Noaz+;&|3OG(Z-=qBbB|Noa!9jCDG)9U369HPr?rE4c>#l6oC* zIthJ^;XBaFr?wzjS!iaoTE4+S5;QWFw^AE|tRyruYR5YrX%3By_}Xi1$d#~c)aR(v z5#t-wyKmV{8y1=pZ8M#Y3WtV7W?QvE$9lcclz3*`7Kc{~4T*8js0}(+5}FeJUI&~` z;D(08fnI*KMaRlQQ=(Vm4y~T*FC!( zt{2(^d%CJ^C{_|$1TW5ZI=~s)1G8UL+fc0JJoudHf5z!N<=uwwO#esHY*<+8f9EHs zgOOpG|EG7Uu#(BbS1Y!}=>Xt-XvM|WQX4$1EG*e~g(dsaKWWr*eOI+j!%D)E zeY3evC;7s1{oH11qlT570ryD*ikuGCJp?1c1AebITv%CHdXLO>Iv^L8-7_QAwh1c< zOYcv`Ih~LT%kFW3Q*o{26mYcL>DbvLFmlm#noZ5gaMwJ`>D*b^3^nTowTZ!6a}s=x z_dDTq4D4~kccNb8dB;{b5WUwH?9A z!a{iG9H;YDVG%s1v)WW(C1D}FQG(Mksjvv1&`516u#&J4Uar?Zr&CK|5qw{-a%y{k zm4$`ym*zN~TMCQdb6!$&{#J6d@ICxpk<&4v=i%@7yNA`Nzm%b68xS{qi6i z4i=anl6?cy=Jw0eexso8Lj!F{byj1`g=*N`9+V4P4zR@x;rl~Wsi!Bx!q+t@zrp*Wg}#ff~fNLt*`DL93gkkXMDTa=#;L zp4twD^{XTODytP=yQ;8u``UapP;H08`qli`)Vi%5c?sUl`W{kq(RS!m!*{6f!)oQ$ zj=ccyp^0iR+75+*=){*UmqMP0?m@4;YQEVHoeuv-d)=c}ZtbeV8f=qkYQWhJg>|TD zO)iu|o)Nx?ZadVRvK^Xe_;z%QP%E%@Rf~kL!T4e|Z*0dV!{_4o24_oQVJ-EejcVZ7 z4u$okjUSyZg*+jAPsLnQbHjEhtS4QIc}lIM+FkK+cnZO4H8^aC!g|u`_ta{r9eGUn zY78z?^S^fJT=;YwT;oJ3EUbyXJ}<2lbRLZJysp+m?Wz_+`}FfYYL3^g>W_wR&*v4? zil`lX7{(eWt3h5n6xM|%H$GAdc}RUuZB_HQcIZOGx3#lWE24H)4+!7?j=rqsYVFv? zhVSy||5YoSc5FWMX_l+OT00chcb2z5SPJyeqH6_@aYg%~#s7 zJD`&mQ(vw8+0}(X<~C_+z|szd!OFBYYW2>J%!EE??`$5<*;T?< zZ`3(8?`X%u3dp%p_12V97Y2*lEKmcFb||cXENHX36fz@l#cFQR4&58LVzq*2_iAA+ z?oZLj)!?EX3j>SCqyMDV;p|vgi)%hZ4KCWDKf`k#o2zv=J8}uE0Diby%^%vK`widf z5B+K-&W>FK@2TG&Dkz0L2zNo>R#9tlb}X!_{cYk6H4kW4_psr+G4XF|Ma_7}rfh41+ZSJVKT9SehNS0+5KR;%pl!ocT0Q`7*P9SVbMDgT^O3ONBfBOk0#b7*$x zb;Gyf1D{&0va31{zB7HkUCoo(vG84g`{$K|M_|z3PrN8oXW${D6!td!n;%$5tvcD& zg+nI(8h75lYKh@HANSX>rI2u1L`#v}-}ZW8A}qP3S~jvP83PTO_m_Qd3;LG5Up9C| z1bvw?FyrN`)ML{i8*%`w`}7c%)S8if$ztKF{-5k2HYf~fW&fwTxzuD=^_K9}9! z1|1BmAp>fM&QY*q;S2b4qtDnKa4-}W{6{|*IuF5)y#{Yk2{%UA)Ex$I#R;#3&NZ-O zVR)+T9J`YWU}$Pi+tBF*cI0LFYT0qATF9|3=8Q0WOFKq{&L^;AFT$W$mvyl=EDS%b z>+)deoB=x)zDQU3YDb(6I~v{;zp4^CFTjpH3%8r!<*8*E>ovoYOx}03Li_&hSQtvG zJ1}1@%vf0%M#>*pH?$Amjy(mpV9^B=ZP;-zq!V2~w4dINg)hX7V^6E~6>HrIhVOK2 zq@B0hXLWz}yMUn;Y-y7QhZC5uR>ULPD7D}uvERrnjP%gBO+m77_UozicY`4LB zmf>6ce)-UTY&#adpx)PMxmxeA)}3wmmUp@@w6EHZg)gWTKFLrE9#$3>J2F105ZWJY z$HFkogP&w9uwh{cCgYO_L;IZV*c`l>{h7z;lkxM>{9ssepn&257>^~4DXWf z%v0+R*1F3K-@JDsLi>5`*q`7wq1|k|jkd7(FuR>Ev@h3=-5~tF$XU17*c4u6_;1gO zgcELqoE^PZ_*&1nsumKgR}G5@S7)>i?RT|f;fr63$>;4hqOOJ8gvl*J`&R8(_~Q5S z*i&{JO4l2{Q)6FV<8aL@gs*ArF}sbS8=(aq+jO-9yBt1!2k%u20@l|HivfEFKNs2$ zYIn`)@TvdxHnkvNWnnR3+t;--9O}XsxT?L^+ild$f@PE5RYUta?drl8xJSFK$g!!r z9d01IJsR4dX~)7BxZi#d_+D?lW*CP^`{1{seU^6YkHYVdOuDwmrtmJqe=RA}AKEc# zN5dDfSI3`H-_Na;bKy5U{?*X_MLQP0h&?~*u=;{-W#P;D;Ze_r_95D_u(Pm!|DEa! zx|M}5=R5nu`IAA)j)if9>b+LkZ4iVpgH^q%hxQZNv5By7(*d6UOY0thfBzls5A6%I zV`m7zY@KjUeb2UD^kKt)E}^vy?eMds6X4&&$b)tp=n4(r!I4cv`|a%5DX^T;Z=2l? zI@mS0t>2%fIoN_m{$t%T>^8zd13#nNV^ba23BrH>d#N|<_NARP{5MkHyFau8&hDzm z!r#`|V`pu26~Q~e*jGdQ(d<}gtT*VNZMVY=8tU2o8-#Y1*|D*3NBVz(@4ePv(>cSp z?Em2CydY)A#t47ewh3qL_HA7>{AUx|!nd5#=@G)$Wa!>&Hm~?Hyl)L{656k2S9v&$ zMt!zgeSfuH^;K9n`mE+ihq}?~_cZJ3Z5#LooKZLHz57Euuk0!hhIjc<2kbUB-GYI& zQ7?z~LD{j;c&_uM-I)x~a9;amozQM3I}{qv72cD{m+4-kGREcP_bP;TG}*CH!Y`T) z+il%81Y3o6%VEtzn~dzq5_psEw#2$`2=)ps=~gxL9n_w@4R5vo7=P5di)XM=_UQP3 z_*EA;$l25Im9p-CHxIY`dg1Hj=Kt1Jy<8{un(#mTe(DwLuA1S7|4Qon537Ez6AfPt zn?~nax5vQO!rbVlsw?ZnUKIYST^E&Dce%tE{*pyqt6m91pMx(g@rSJ2RbpXfBfjOu zFzgvvNBVr_IE$}1xV8Mej_Q#*U3HQ0m-|QDe(Ua$afW|?+&{{xE~yg@U-4@8T5jD2 z0$=Zz_o}ISolfj=;V;uF?x1xy$7I-17T2nb>UTQPM}+TxdZt^qWk3%+z32a^uB8)O z03T1U#r$mDT`}G8{~Yrg+KmzX871)3@XtFa{588TzMW#xod`Fli@Vn>xa+_D^?c3H z&w#I7&4=%{Zg+sMTf2uhS6xJ>>)t2)f9#Zc(YkFR)$m_T?exd}Vdy>Zb^P1)*6jy# z;CAiX#{0ssyM@1e>#+x{+X&_x{sUuMm){$P&H-cH(ym*l`WG1f>uKF;{*2cJo^r%Gy}sJ;ADQxYrC;ad?XP={ z@Ym{|cEvh{z82mC)4JFCb!y$7hOaV>zFzs0MHzgJS^0INHDRuM1$=q?d-QheRQOMZ ze|z-beX4)u^s1K$f5mp=_gkmCx4?VR_;wXl7s`oVBK+06N%N4TB&c8zs#8hV9mzHOqqLQa+E!Hv`_L$j>& z&$)&_Yv?Ow)56fRh5x~}WA<1Fnez<)o-u77RNWn?+9|?c`K_^gtOLpUK#zT^vg*<} z(TT$UyY}Pr3oL&s2MvGz`1Zg1brL!FGpz5U(}n->52h7Z=X?tcf5Eg59#{Pqr`l76 z|A|gBk6I^oj~f1?Gdn$@x+YHaBzQ;qIO&9S^7a?Qet=2^5ewg){)lpKqr3ul4|p!h?;+y;pTq7#eQ9E4GQ*e%tcb0=M1U zW7<^wAq+iOl)b;@kd20gzHRt74rzIRbQl_*Azr3gKbdh|t=#|my`ijeJ)>WdDgnr@JH;sP*?yWf+DmNbK@7ly&}PM~R!l zU*(@^KX=kcwJy1!&xkU=ZSno8>v)VW*(h^; z)%Puat8Qw;RX-{G4SFOO;(0u{Q7TOC(EtzdmG;`<=Cn%t(OdCc-CV=Jb#(hG>c%u& z?IWU0*%$tub_!3qr5R;TrTzPbvUsGfwCab1zedM#*-MeRMbN_=*Rcj3Z!3-7FUpjE zvG0N+Ja(3Dlqp)!_r>yuTwHw~RDU-%3(t>bz=u)nyEX8@S!vaCMVW{uy_5H=uezaM z`)Z@i{^Z_GBJki?X?%_-^H7VZ^m7{#zs@LgE`gOw7k)Qd^8N`H4Ln`SD;?Y5Yb}rsAvp78m89tKSap7x#O$qPpn| zclB#UnQHBZWnRJKM>~x&S2BmStG2-fze@O@dVkDjJVpdJ5}U`o|I`{6^m6z&(`9mw zT5Jsc>h>A_oXK4ptaL#yh2MOm?$dJBnqde(V3f(7*1b^#9t0}Q-9q@gZPI;eHlDF5 zFv?_4?cSukx&aI4ZoVkvYxwDeZFpGbm{Dfigijm#@OVvW^;1Qe2A#)mEyklOr;IYi zTgP{9FxN%>BvGdBhq3FgUO=z^tWoCb`q&Ta&T_#|harb|hp!AQsfGMqG|HS^IsDx^ zc>JWa>z^XZRBauVR){A%uEN-TT2$+*(_GY_0RQru_espfBN{j1_m|kG`9pZ9qqO=k zq!H2Z<1y>RrC&!T45RF&bz?qm7=foVO8WsZqRbO-^qZX*8h?P1hrHRoes4U1=Os#q zi$&RphMi(E&ki&H{Dv42XES3uHH^6Hj;iz@a9xzC(yDJtZfL4tIK23jzOAZ+9?TFV zOXn|(vi^D=9*azwz&cP3J=0-uXt^bDI+W{YLG5E`LIfC|kK%*U=eA)yJ^9h()k^ znK8O+v&wh3dP{#DSt8>8h8+gZ-F<7N`6HGa5w~{F9oV7a{h`B~u@UPxB=v^3QIxIG z>WhhMPK1_@R~uzdteN;ls~Vvrio^YcH6o(IvmFM^+Hq}@c@-Osh-*7$4e0P}h0r0s z;eJMjh=r$1(+M@)r+&(Hquhy2v!c7TeEPo7v3ucu z$`BDz?#Y)sMNM5P^REY+755m|^H)xd>h$uHTS-Zwnq_vCS z^pnnu-#pr|b+>^D%Xgns%jDyX-<;dMJYitB)(sz3Uu5v>ar!wYMEQHFH;L>%aLSVH z$4k`W^K_$p$?@$=rVQ*J*`)eC*7b6ypLI~&Q@QSIAO0sMC3EjNbr#KR7Rjw%io5!DR)v52Oq!qhPro)d~Y?ME_YemwizMWb<`}l8uJ&gvxPP>0s zQDTd@_u)ECBfIt+Gizneu^Z|DjWx!-H;(13oHeFj*T|-I9#*%|_~$si#?|7!2dX!G ztwXN?@hKVG4qZ?Sd)tirE*#pHkrF?kSBKXcR)1iv#?MNWjm$L?Q8k4sv#Hv2%) z^>grJPa6+jFFKIDc2Ux}=&!qX{Abg8)hha|D`HMRd5owS@zCQ>H){Syhb~`yH!ObI zoTY2B_V^EhYF9KC^~cg;^nK?Z``_F zTvBq|FiPqb-@bL@`qj%9&z~teajfvr{=D7US)10c&RCK*J1Jpe+{mE=zUkAW^9OIY zY4Kv?`gN*3TA`fv20rxag%ox9|JVQ8zCgKf~5{ZJ=3!+x+08nYkj1ZUU}wn1a|L!ICZ`@uG7%zmg7oMAuM294Pd zb%HbO2iu@A`=L&7hW%h0G-f~43C^$|Y=g$^hdRL-_JeKEnEg;EIKzIh4H~l_>I7%l z54J&L_CuZE4Ew=0Xv}`76P#f`*anT+4|Rew><8PRG5euTaEAS08#HD=)Ctb8A8doh z?1wtR8TNy1(3t&DCpg1?uniisAL;~W*blZrWA;Ox;0*i0HfYR#s1uxFKiCG1*$;Js zGwcW3pfUTQPH=|(U>h`MKhz1%upexL#_WeW!5Q|0ZP1wgP$xLUey|N1vmfdNXV?$6 zL1Xqqo!|`n!8T~jey9_iVL#XgjoA-%f-~#~+n_P~p-ymy{a_n3W8zCgKf~5{ZJ=3!+x+08nYkj1ZUU}wn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb%HbO z2iu@A`=L&7hW%h0G-f~43C^$|Y=g$^hdRL-_JeKEnEg;EIKzIh4H~l_>I7%l54J&L z_CuZE4Ew=0Xv}`76P#f`*anT+4|Rew><8PRG5euTaEAS08#HD=)Ctb8A8doh?1wtR z8TNy1(3t&DCpg1?uniisAL;~W*blZrWA;Ox;0*i0HfYR#s1uxFKiCG1*$;JsGwcW3 zpfUTQPH=|(U>h`MKhz1%upexL#_WeW!5Q|0ZP1wgP$xLUey|N1vmfdNXV?$6L1Xqq zo!|`n!8T~jey9_iVL#XgjoA-%f-~#~+n_P~p-ymy{a_n3W8zC zgKf~5{ZJ=3!+x+08nYkj1ZUU}wn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb%HbO2iu@A z`=L&7hW%h0G-f~43C^$|Y=g$^hdRL-_JeKEnEg;EIKzIh4H~l_>I7%l54J&L_CuZE z4Ew=0Xv}`76P#f`*anT+4|Rew><8PRG5euTaEAS08#HD=)Ctb8A8doh?1wtR8TNy1 z(3t&DCpg1?uniisAL;~W*blZrWA;Ox;0*i0HfYR#s1uxFKiCG1*$;JsGwcW3pfUTQ zPH=|(U>h`MKhz1%upexL#_WeW!5Q|0ZP1wgP$xLUey|N1vmfdNXV?$6L1Xqqo!|`n z!8T~jey9_iVL#XgjoA-%f-~#~+n_P~p-ymy{a_n3W8zCgKf~5 z{ZJ=3!+x+08nYkj1ZUU}wn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb%HbO2iu@A`=L&7 zhW%h0G-f~43C^$|Y=g$^hdRL-_JeKEnEg;EIKzIh4H~l_>I7%l54J&L_CuZE4Ew=0 zXv}`76P#f`*anT+4|Rew><8PRG5euTaEAS08#HD=)Ctb8A8doh?1wtR8TNy1(3t&D zCpg1?uniisAL;~W*blZrWA;Ox;0*i0HfYR#s1uxFKiCG1*$;JsGwcW3pfUTQPH=|( zU>h`MKhz1%upexL#_WeW!5Q|0ZP1wgP$xLUey|N1vmfdNXV?$6L1Xqqo!|`n!8T~j zey9_iVL#XgjoA-%f-~#~+n_P~p-ymy{a_n3W8zCgKf~5{ZJ=3 z!+x+08nYkj1ZUU}wn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb%HbO2iu@A`=L&7hW%h0 zG-f~43C^$|Y=g$^hdRL-_JeKEnEg;EIKzIh4H~l_>I7%l54J&L_CuZE4Ew=0Xv}`7 z6P#f`*anT+4|Rew><8PRG5euTaEAS08#HD=)Ctb8A8doh?1wtR8TNy1(3t&DCpg1? zuniisAL;~W*blZrWA;Ox;0*i0HfYR#s1uxFKiCG1*$;JsGwcW3pfUTQPH=|(U>h`M zKhz1%upexL#_WeW!5Q|0ZP1wgP$xLUey|N1vmfdNXV?$6L1Xqqo!|`n!8T~jey9_i zVL#XgjoA-%f-~#~+n_P~p-ymy{a_n3W8zCgKf~5{ZJ=3!+x+0 z8nYkj1ZUU}wn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb%HbO2iu@A`=L&7hW%h0G-f~4 z3C^$|Y=g$^hdRL-_JeKEnEg;EIKzIh4H~l_>I7%l54J&L_CuZE4Ew=0Xv}`76P#f` z*anT+4|Rew><8PRG5euTaEAS08#HD=)Ctb8A8doh?1wtR8TNy1(3t&DCpg1?uniis zAL;~W*blZrWA;Ox;0*i0HfYR#s1uxFKiCG1*$;JsGwcW3pfUTQPH=|(U>h`MKhz1% zupexL#_WeW!5Q|0ZP1wgP$xLUey|N1vmfdNXV?$6L1Xqqo!|`n!8T~jey9_iVL#Xg zjoA-%f-~#~+n_P~p-ymy{a_n3W8zCgKf~5{ZJ=3!+x+08nYkj z1ZUU}wn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb%HbO2iu@A`=L&7hW%h0G-f~43C^$| zY=g$^hdRL-_JeKEnEg;EIKzIh4H~l_>I7%l54J&L_CuZE4Ew=0Xv}`76P#f`*anT+ z4|Rew><8PRG5euTaEAS08#HD=)Ctb8A8doh?1wtR8TNy1(3t&DCpg1?uniisAL;~W z*blZrWA;Ox;0*i0HfYR#s1uxFKiCG1*$;JsGwcW3pfUTQPH=|(U>h`MKhz1%upexL z#_WeW!5Q|0ZP1wgP$xLUey|N1vmfdNXV?$6L1Xqqo!|`n!8T~jey9_iVL#XgjoA-% zf-~#~+n_P~p-ymy{a_n3W8zCgKf~5{ZJ=3!+x+08nYkj1ZUU} zwn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb%HbO2iu@A`=L&7hW%h0G-f~43C^$|Y=g$^ zhdRL-_JeKESl^G3qAvd*8(;%$fDNz#Hoykh02^QfY=8~00XDz}*Z><~18jf|{J(1; z%7`-PdUI(R{dH*m`A!DdXK88zCgKf~5 z{ZJ=3!+x+08nYkj1ZUU}wn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb%HbO2iu@A`=L&7 zhW%h0G-f~43C^$|Y=g$^hdRL-_JeKEnEg;EIKzIh4H~l_>I7%l54J&L_CuZE4Ew=0 zXv}`76P#f`*anT+4|Rew><8PRG5euTaEAS08#HD=)Ctb8A8doh?1wtR8TNy1(3t&D zCpg1?uniisAL;~W*blZrWA;Ox;0*i0HfYR#s1uxFKiCG1*$;JsGwcW3pfUTQPH=|( zU>h`MKhz1%upexL#_WeW!5Q|0ZP1wgP$xLUey|N1vmfdNXV?$6L1Xqqo!|`n!8T~j zey9_iVL#XgjoA-%f-~#~+n_P~p-ymy{a_n3W8zCgKf~5{ZJ=3 z!+x+08nYkj1ZUU}wn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb%HbO2iu@A`=L&7hW%h0 zG-f~43C^$|Y=g$^hdRL-_JeKEnEg;EIKzIh4H~l_>I7%l54J&L_CuZE4Ew=0Xv}`7 z6P#f`*anT+4|Rew><8PRG5euTaEAS08#HD=)Ctb8A8doh?1wtR8TNy1(3t&DCpg1? zuniisAL;~W*blZrWA;Ox;0*i0HfYR#s1uxFKiCG1*$;JsGwcW3pfUTQPH=|(U>h`M zKhz1%upexL#_WeW!5Q|0ZP1wgP$xLUey|N1vmfdNXV?$6L1Xqqo!|`n!8T~jey9_i zVL#XgjoA-%f-~#~+n_P~p-ymy{a_n3W8zCgKf~5{ZJ=3!+x+0 z8nYkj1ZUU}wn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb%HbO2iu@A`=L&7hW%h0G-f~4 z3C^$|Y=g$^hdRL-_JeKEnEg;EIKzIh4H~l_>I7%l54J&L_CuZE4Ew=0Xv}`76P#f` z*anT+4|Rew><8PRG5euTaEAS08#HD=)Ctb8A8doh?1wtR8TNy1(3t&DCpg1?uniis zAL;~W*blZrWA;Ox;0*i0HfYR#s1uxFKiCG1*$;JsGwcW3pfUTQPH=|(U>h`MKhz1% zupexL#_WeW!5Q|0ZP1wgP$xLUey|N1vmfdNXV?$6L1Xqqo!|`n!8T~jey9_iVL#Xg zjoA-%f-~#~+n_P~p-ymy{a_n3W8zCgKf~5{ZJ=3!+x+08nYkj z1ZUU}wn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb%HbO2iu@A`=L&7hW%h0G-f~43C^$| zY=g$^hdRL-_JeKEnEg;EIKzIh4H~l_>I7%l54J&L_CuZE4Ew=0Xv}`76P#f`*anT+ z4|Rew><8PRG5euTaEAS08#HD=)Ctb8A8doh?1wtR8TNy1(3t&DCpg1?uniisAL;~W z*blZrWA;Ox;0*i0HfYR#s1uxFKiCG1*$;JsGwcW3pfUTQPH=|(U>h`MKhz1%upexL z#_WeW!5Q|0ZP1wgP$xLUey|N1vmfdNXV?$6L1Xqqo!|`n!8T~jey9_iVL#XgjoA-% zf-~#~+n_P~p-ymy{a_n3W8zCgKf~5{ZJ=3!+x+08nYkj1ZUU} zwn1a|L!ICZ`@uG7%zmg7oMAuM294Pdb@KnQci(YVRrlJ!*FHmuHA>WLOhVMCuVBno zuUL@Si3Lnl#1MPAO2k*emfV;GMFJ|Q^d`MG5$Q;gj)-)rQimooAOcDg*za#SXEV?2 z=gdCax7>f;Cw?N&Jk0N`Gv678GkdLb#6~`-!C5|Rf{lDogR^|t1RMFF250%O2{!UU z4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-Hc zmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCHXZf%RHu6CY&hlXsY~+I)oaMtN z*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|Rf{lDogR^|t1RMFF250%O2{!UU z4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-Hc zmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCHXZf%RHu6CY&hlXsY~+I)oaMtN z*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|Rf{lDogR^|t1RMFF250%O2{!UU z4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-Hc zmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCHXZf%RHu6CY&hlXsY~+I)oaMtN z*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|Rf{lDogR^|t1RMFF250%O2{!-l zeO%x!(LWN9fCMBU0SQPz0uqpb1SB8<2}nQ!5|DrdB=G;QK$EaZh*zeQ^Z)zn*1A7Q z0`k|_Ckp860W~HcmJgd?BOlb@EFU((Mn0&)Sw3un zjeJmpvwYYD8~LCHXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y z;4B|D!A3r)!C5|Rf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(M zO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3un zjeJmpvwYYD8~LCHXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y z;4B|D!A3r)!C5|Rf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(M zO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3un zjeJmpvwYYD8~LCHXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y z;4B|D!A3r)!C5|Rf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(M zO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3un zjeJmpvwYYD8~LCHXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y z;4B|D!A3r)!C5|Rf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(M zO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3un zjeJmpvwYYD8~LCHXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y z;4B|D!A3r)!C5|Rf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(M zO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3un zjeJmpvwYYD8~LCHXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y z;4B|D!A3r)!C5|Rf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(M zO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3un zjeJmpvwYYD8~LCHXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y z;4B|D!A3r)!C5|Rf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(M zO|X#1Ho-HcmJgd?BOlb@{KI{m{qL$9Z@c5p zM_+s~%D=ngg{Li_=v)~3&i;3q3*068M*3;8OyW8#mx7xpNcE9`nAOEZW|Bd$Vo4^0}joE)+ zZ@>C~u6H-M-`fALkNtD4yEfYt|LXr;{C`Zpbv3L_`lsagi&OmHC2#vwCWO}2}EpMQ;}{IB>=@$F$#lKn07KT&&)t$LNa`up|$dqsWnuf@Nc``;yP>Ez$a z-T3xuyB}BD?_XuVM(tcccZrS@0YaxK16R7=jg5I*W7K%R9UIIeGFIH zKUZfz2LFD=|3tT#>#bcj>nHeZ7ZQxgz`ZaK-m;6~AZv{k<&y zPTHLGe(~Qc`|Xn7$)8HU#}9jp-`h9Q|4UNTl=W-+_bh!2rQa&+R*Julud>fu@#oHe z{)+Qe+0SI@+bR8)ztz%By0=Q+t0a}at&+Yt#osP@@A&Vedpq~7V*7t1=ev#4zhC;T z;*YR&m;0^cHu_!vnTkGJxqgj)zvTT(-vjP{SX1)eB`I2=q``ZJZOMD)Z_9cQ>`Uj; zZ{b>{e<%J{{O!_{r9YNpUw)7HZRDCNp3VL5;y=OuZ{gDa_&?KS{p0_v=liFcOaIU1 z?!V)olGk7R?^x~fAMo*4%d1)ZJ+&=>-9*0=|Fz^Z7XO{-?c(={-pc)Jnzr=&6u*_L zi#`MR9+>m}KECe{%SrDY|Go5Ym;Ih4zvENsw~F5`-Tkn)_`QGV<0pR$x&EKK&Gnw8 zyV7qZ-AdW-$-h&&`QLe~WF}3DzfbPBi`)FahwoQ*F8Lk*UDkhp_TO>+ul~Dn@lSQ$ zGkU-1*WxaEEBe*{iRSl>emC9kl)QJeMoEL|hv(80cyD~p^>*<@nxAx|TPW*xO8@@< zt+z^FUx?pouHTJ!rQa_7R`K-S1`{GPdfzohf2 z^jrR8sBT}$*Vxx`^t+{hE&Z0CFKObb`0ZT(j=H2@{nwGd>Q;PBu6U*R^|{<_@q6XE z)`wk`OaJQM@@x9fpwH3&OOn5~8NF4UO8-0h{p4$)zqMPz>!#7QRDadg_rHcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-HcmJgd?BOlb@EFU((Mn0&)Sw3unjeJmpvwYYD8~LCH zXZf%RHu6CY&hlXsY~+I)oaMtN*vJPpILn7ku#pdHaF!37U?U&Y;4B|D!A3r)!C5|R zf{lDogR^|t1RMFF250%O2{!UU4bJjm6Kv#z8l2_BCfLXaH8{(MO|X#1Ho-YgR5@G;hw#DHF$z7&@R=*AA`TZ2FIv zo~{4LpYFc>#_E?SvSaV}#!Z{I zykNujZ;o^f-I3G3*}h@)o;Ct1mwF;9WJZ{`D_^QlV4q<4anhzdJQk>6}Zi z|HDJi{Jllz0i&lcT3d8rSJ)=p5uSRWXziluqX%?u@%LvQ`or~?o>M6^=m*^LD0g!C zf2&fx)`QQ!(yG^p=}R{5S!Xx9Iy`yL#wF87^lJ6Wvk%s)Ugh7)kNp9+ImMlL^10P+ zd$3W{j)Nx7U%z{i-QxW4#NF%XPaM>-X`=^kt9I_m(|^G2&2=Z7UiJFA4H~x}JbCe! zgEQ^sriCXQ+_HG`;P#Ch)V;py>GOZUtu1rM|LB)j)PDTs)&nMe_T_lHu`%KCUw$@e zKT!PcYw?WX#K#~>=+we{c25 z!QmfpOFwdFR;$zK?IE)_wXmCcJuJUz_K>$5)d{Md*)->$bpF%#hO1EVf}0<2(sOdK z`an~=ktX4B;epkYdp3Fe<_jveOnED#_D;-_Mh@j(I~{G`PL$aa~g0N;g;G>>D0$HsIqgc4lv6 zdsyL%j|Vh+{D!l8ro4^5uHwm;-t(8v6ILJjB6}m7!-_{%Pw4!YdoDeBK+0Pg>?)jd z(-X}H%`MuHy^*zHg`&BGnm=*VIq#*sjSpPK%mueU+ji{gqn~GQWJOr<=<2a;pS}Hp z%&3&NGRBoZ@Aii6$FKb?dmD?w@@vPpZ+QE8<5S+kL|5S#H$C;vs8vT7WN+fru)@(* zquzPyreA!N@;0Wq3a4E0VAH`1_s_}R#;mZy{)K~^K6u3`GgIEiZ2L%Rzu0x!w&~fM zm=c!XHm&Q6wa@z`7N)$7#jgCBH#BHF zar3zBO^go9Z=Tq;!3}3FO?eB;UHK|^{a3F!yGCYjVR%@6*PLGebyt;DDQ{tot59(9 zADawac63*nSMI5@E#>@nSN`nUf9<#UaF6T_bPdZNUfl1mwa?y}@)mZv z@~7SK?7Oq~cFEpC$FTg~+3!Ak!)bd`-oiJoe8Hs;wH&{tefAdGgypx4Z~4%r1^ZLp z!U0#Va_yG~Eo+s%fwxRy(95+ef0uIph$~;A+T(4ee$_I218;;CzM9(R@oE)P-axru z-PL&L%I4YWreUyhXr}R9ziMxPm&70K#hZ?ulK zzssjb{9iZG$G<%+cjVJ9^)DZmVt%+Qm#OyWcjs?|`7L3&`S1R@T4rR5`BARi@im_5 zxo9)Y7l!2)^?atr@&4guzAu1r_62bDGrgDjzoer3zt%o~y`Q%c(d%r6Mb6^&_pYo$+8%+Gb@3a)P0fAxHrpBt82-M``01^&Tv zKKuEu;KGMH&ie$$XNLvzIzD{iq7>7M?N8qAO~&t<4dXMya=XSix&0?gQ_L^3&wP#N z2CngcmqwrYDPg%a1D~r=!9QHjckfrag7fZgH}4}DpJ?~K-TmjSPBFd4zHV=Pd1TQ< z7$0x;BVWGp`1L8~*W2n3bzbEE3Xbml=&)c>=ZDVQm|}X9D_8!y{~EDnf3%WWU= zU)Po2nqq#dE2vzr?WZ5W_^`0x)3)_0f0<(XOZzkP?7)rwZ|>;64+#r44t)0V9Vw=F zx^h3h{a+s)7y{!1!*T~c`q%A0{yN3{*Y;KSShr;ZV7zZwu&mo-7y2J#@_p97api&< ze;v8AFO2sJ%k3Qb*BZh86!ZIC!Krt=IkP8>cMA(R;#|Dn#xb!*YfFpZax*;d1V(zl_|~5oX(k!LE_PU#@Cu(|Bbi zem&z~E>rG?#=*n`?O@m*WrPPNHol?U>v^VMcjZs2^~UV*`=6_#yWJ){92U%eqt;0+ z@=UjI1(oh@v*2)S`e0bFpv~Qt-p(`qwktUMfzC@0#-{g$1xq_WaCYlF)2&^>1^?N% za9?bCZ&*;+_dhRamuI@2O+V3p>)zP(*I~id{!d)cG0${I`y&7Iz^z}$rgz%(z&~H; zAJ`;)#=5wIDt{idZD(wHdswh-(4VVx%QM~06`cRXfNk4j(_h&1fG5uHnPsD5EBLp1T~-&yrq_i9 ztGm?uxA+yX_}BR$S8(PZJ1zH@x=Q|l`O97f%RBw?%%OSK9%|nh>a<_JIySx1rrXy! z_5D24@4JHXx4b!TWo+6WOw4=pmhvO=On=}qHC~yvEH=C(%uIWw#;82Aqg=ryFOEI< zS!{SwSa5Lcix`K25bKrJ=F%Qk=hXvaQ{^vO#=2`ng`_p}Imo@Wa({sau zHC^tlG%3&YBv+96U5f>CW78ko_l6d~%S_2L{gKOD{rAZq$A)KynaO{@dRm^@Y4)e{ znGxU4iVaT>3%(uk%!M=aOwV)$r~RqNrs=WiDPh5;9)CLR<2=)|UFOEu=S_(XPYN^h zUcb>l=u7(Z@rnHf^4!?NlVigZ!h*wNpZoQ^Jk#^+e&5$?%Y@kUxUgVLulr70m}h!{ z%Usud{?&9A^T&tm85SG12TOZ~JpS`Fd8Svp zOwG5J4v7s93^PmLs<|%D>^c*BX3XJ1vElyqnI7}Z`Gt9=3td5QTbs}Q1!w$I-6t&g zyv=QPbtTz*lgs>%hU5FhhI@vY@eTine{h=gxv~eQ{d{;52D^ zo6DTvXhQec@VjAVLZkEJ*UIDH$%W<1dZl$K2Vz7j^i3#jozA(9S zY`BAcH+i9|e^8rruXnjjt&ZzE#%9}vne`oO?a4E{#~$G{7=5&TY`9HWaCCHov%k$V z{f*09-(p#t*zh}HW?75t{e$78du}1HUQWpeT6=+$1a)elzfaQ<^78HFE`3 z{}Np-#?d2TX8K>MzL7Bcy35?$dad7>E&UbUB>XPStZjXBi-cKw*nQFigZCZIF>DXL z_YHpFq_-2M-?Bf3&rk7J#NsRO3o}!mKfhJN>^t^Q=FJuRbIg7dW>&meqfNqW8+#B{ zr`PwF(&7v62@AgJRi}LWgz0uJQ~7^>xF^TTyTZ(e|Fd$(gxL-*bNOqFzRoebGt4Y{ z?efkEvz=V#)=pc#$}w9MX0~*?_1%Qocm3yS$iW>shQG82a6=wAse8h7H<$Uv(-XhU zF}yX*Onmwmr8k^Pe^K{vncp;?AMG#UXL_^!mEQO_y%W~$W#4vMt=p1g-Hl;pU90Q+ zCd~G=znbpswQEz3;SFKIu3mQrr8l@r-|PM^bJBzFM;lsruh)i|_a8iIP{PUsUFO_I zAFa!=@ai!0QKNH*B+L$Wnaf^V;x97Bzc5#YnI*4XR(eCN^nD)cGS{}=5bdAgEvyJL z8(Lrce!{xL>}#vbc7J&?zV5Oxv%Sl$A0*6vVBcoz4%oju$M9!i!Ttet3rcU`mA=;_ zUFOG+jEHvZaQ#JLX2c^u9+R;0XqWlv(~}nGSa?C0ne_Be$0f{;wQujw&0LsccAhBV zC(N#Lnd2WG^IneG!C_|1!^f{ln6)3bDn2;MUzLvEXZw+B)Poh*CCsjMnG+r!IVi_$ z|1dN1;S)9_%&xa}9~$j1XUEs=8)im7RB>a%>;@OyJFH)h(cWP&?A}cYlN(*;u7OAW zRq*(#y~51Vfp=|5nB8nYu=F|DJI8E~Fmtd^tuGR0x7rW2-S+y+=kayBg_*tGYJQn8 zYd_vqZ?~g+j#>K=Z%4c8MG3Rp?Qh@~gK!Yy>NHJ?AP{)^sfs$u)OjyDNq{%-Rv5fj z=Rm@$`(5UiUI*XFv1&{Es_J#ip@docaq`NxJKxGNYd=!%Y=AoR__sxGA7&uth618a3CW3au;T+`ueyeLwVkJuzj@Si^^DbTNsSL|GhFM?T4^i`X1R{#^@Je z=1AXL{2ouPRqcnci(78P12TAzw}hE(Eie9{jM?G#UE=wLTgzB?lmBQ>!(%r18T!Bl z^~T`28eFz8493*+dqcVIvHkG&+pY)w&)B)XEH>D;>~L z^IRXT{eZr;#c%vxRIXJg+5`LN7Wp5}bIsZh=!>4K^idhJlU#83NIW`(pPyx6F!FA{ zhm~tp`=RgB*1J}evFg$=v#a%`)5@5&ANuSbIi+eLUZ3Z3kNK+)Tmd|JlrT)X(uaFM?lkZW1HAh4+6 zkMV#Nel>n-_jni{slsJv+r#?W3(8p4e#pGAMbVrxR-I+{xJ9XhS-7hGkQqESb9NcC zGwjmIW5JR#)?MU+YkSTtV{}>=^t|@7GA5VUg`SsJ`-=#X(1Itc=;uTu^uH zv@%9N3WKqAmzObVKb-!i^`5C^j7|n%+#DizJ>gV=7_0^4d)C^Z0Z;uXMt-Q93Rae{J0uw$gW7V-? zFrnVMGA8YZ+JA5RjlXD->kiw6i*MTg`-U=R?T6Z+{-^$;MXp)9aPevV01vw1M{7US zR_~4{+wg-O5eD6>Zz^L|`=R!f7nYAIW7QAB%<>mb*;2;rCKufC{)jS0-w%WL@4$m~ zcz?IJ%z3XD;aNJo!*;====Jlqm9gqp7d$YFhP`905EvtPR4vDrh*Sanbs%zg|H^5Mr?WE&k_j^NQfT-7d=9O-ho-z&|v z>Q4Ky^67>CB1x_f)-IGRe7XW20K|2_azTyW{u)WH(Y|5OyTnO&ODWUFP(c*Y_!7)b_&HzkK?>GG@PV!EM8P zl`+~q42Iw4_hxem@3Wto8gIh0iTK&E3oM%&pLwv1+5PtS&Pac4CD+ILu00y5jRzd@ zb7MbzpV4@0w=zb%*yE?hXZStcT=)2p|5)EGW3-e1Sn*&au6o#3{l`XsQ6|?NwsVmi z|8a)j3(mFb5&N?~!e5igHEP#oM%+=xp#9MPvnJa*mN97uDz`OpKYK0bni*GXRQoap z+l0ZWS|!IYOFqokocl@ea$)I%mw2}e!ort-(k#b47l#i9FuRj%#RwbIFc}GKku(-_@kCN zX5Vzdl|8>p7(HN*K(2f%$7DrH}XWu{H+nuoLSM~_}rjoO;CHL1h z)GIbx6+ixptJ=o;szwz%=UBC)3$E_=IL{^IzlSzL5`7%Z;; zZjQ+=cKxRPksS$(erbO#tYE@2_p(pVoNWmkF!d zM*gDGirH-*8{2EB7k_Hw~R9pYzu zaZS4_(cz-LIVO91qfH5GZtzC_Dp&m8_H~)Fnig$L7+r5)zfI2?kYl!=3vL*;Az^f_ z{XBMqzseO~wZ9oHTc0qwCJdG}C^?Z_@|ADL3@&VUG=2yfk?gp^(RLRO$+7An7u+=| z>6`beFqm|gzd9Dbze8N+}YD{U+K<&%fym>ueZEBdTT_*j>RL7yx9)v@@h z@44WaaZ$Sp^6`Dcb4Sg4*-I9);083{R?H_yJMc_eKY)y`DSAOeI{ER%_ z-AQ5Q&|8)LwZHhPAG_fC;qeplI6A?8D!G1cj>$RpQ}yCW3HR5o@hpDKUo(uaY1a!+ zYr1D*!l+&2+0*nif6XvHYu5{__4_bk)UNULtLCp6#wX|5;elD>6DG%m!K`~r&h?l0 z+FAb0i(BGn`4MTf{cZ7LW^s;H7rNlwHu01EI65*6+MMgJHOB9+U1$8=sL=`c*RBnX z`klYl7@u5hkLy;9N|^j03|7=Hc^*N@M{0*)&S<_b{?q}yyLK36U-L8kwZ{0WOYJk$ z|AT~8huIZ`YAbR~F0=1RGvZG!bKHMsUr}VenBce=RjWx!na%tavwJO}qBB;)$I(ChaiN35|DmNf@<5 zNxK`Luq(&xPW!s=)G1-KeHe5)ujKhEC0|E&{q?sW#Gj&qAE{mY`rx;_bF8_`{)Erz zkg#T3yWUZEPmam2UGQvS{FyDdrd>8GeAZvPjqC2QJw>*}X2P z+9Upy7+m$8Fz8X$U%QR3YS(RV7}Gjo(YNi9&JF(BZG6%WP1Tzhe4EzGFdso&+8J!pT2cWIe0`i5QoI@e$G zjjw9gd#@T6f94K;q_5jg)K~dyzVXTLZ0~vIn+a<+4}+O^`>)veXm8`=crtWB<#zGs3gMtVZ>XKC{2DEpahDDJSHgX5 zV*7-bMb9=W`STgnoWxHrD!FKDC&R)?HUAY`&8{xjb@N_JT+L2~&8yoiHfR@@pIV2v z&e<+7uX`$bW>a)O?c(x@ujG1$4bIyI<~^^R7(KHo8nuhdzwD6f$xJwE7nnQz^3B+t zecc6@4f5y6%6?GfU-BmybXoL_sA$bM>>B#S!+9nThQY*}qnDbCChekh-TD6fS<;$z zVS0Yuw_^9Ug$o{EeJIc5{xDemc=QacXw8-`cxi_}xR$i09bnt>(mSy=-?nYj=12U& zwWLuyz;>khDXn9(@3`Qc&i>q5(&%3M;rpEEnOo8QZDp5@hWeL1N}AkbmtwAnUV<;0 zw2RrdPVwj6k|ynf_LN)O#qMnz`$oHHZ=T7o!(dUp=$T^Cnr&V19i zYuZKd7m9Z0S<^0r7rhWY!z^0UE`p!X^iZy6mEnhO7s3xUJt2CASu|@G!Ov>@Ri0Jt zLU`M=qL(I&Cha14mEQh*U6QU{2=84bdS+TQ+1WN}N91}g8s65I_5is?*O*ZkyQneK zAIwWy(+=p(tlcd(X&2AyE%E2_k|yl}`jUFlGvT6pYX?0aTa)X_Z+Kfdxf=VrOJ!uX{H-HgZK_fD0gXWm6dcG>-+e*PR_(xhE_?{`tZ*qU~*^qP?y^GvR{ zZRKnF$0qyQ1*7SOc_!C|!Sq|AXZl6=)-KooVQ#J`_u>7wOZIdBFfg{JU9P|1F4yDx zarT$&?~k4#7_B+Le_zP;q(Gcs?Y}P!j;%S+1hE>l@YtHe?0eAwf6g&!a;g1zRwa5SW3=Y`F8Gi4m*<)M%#QW^ z$B5XPwmnc|oIf9#w5DwljH@v+Hfh@fHK#7kGih4{Q)@=goQ&@62s@B4=d(PMcEEDZ z9iwAwjJvcVDrfn-cS?JGWCaq~( z3x!Wc&(w_89OHs#zRdOHOuVgm_MP*Y@v${+L*m7+{Xx#8HEmPk>ldSEct&g5hQ#0Z z`*WO0leQ_b|L+rGYubiHh1ZVG%QI@55=URFFex@`8xkkJF*nbsZA!dxV)V?==>FP< zM5R`_o(zf~fo)2(vV+B?e_*i##b&yIbZwgGbOB!5md>E7BV$fRpOj!n+8O^hj1@=Q*$N66Pl&$Ny1?QHv* zXKJn|*W$gHXy3zbj$X1jnzW6RTW3$sv!-pH%)T{xhHf-z8z;3s@dsm*K2F;_`J~pT zv5)f;`@T8PpNmbJ9B)6u-Vr^sH(GP93+`MnAKb)uJYjwa{Zclo8`@=T7lV;6O!XA(z~3+&*}GJg&? zY0Xjg$mX8Kv5(U>YU+MACeNg8)_hhsdIoZ|rft;JTj3AzCar0kH7n|U7F*LcYW}p+ zpWjWIw9T58e~O;D9Id&;PmatpIowY!i>>*YpB#~A@_j!UJ>xlA(>8eiw9=pZO}e+X z$+PlLD`IQf22Z_}!}CnqCeO-x(KDr^HEn~Z?h1ckIB8AWvfmqdQvss)?oV@s=GS2rfm$>S?UiOC#`9lLrd#K&&-b2w2h&= zm-utWNt3oYwB+u!u{BrQpX^10^Gpt~Kc9C-&*+ZUTw~u&7WnhYNo)4E?+JITkF9AN zO10(<%rj}5O7m((&jgRwv<;JqN-2w=b@7(Z8K_8 z_2`-B(WGreT`|6Qo=Mw`8h^#s*vDxbQJ0PK2dR_Rw9TkdmqpK5kJj8`k1&S&bJR(b z-RyC~#oJLwe+y>}roqE{vY(9<6B`SikD;4`3&)X`5L6f3-cfrfp!I+sB{3 zPMWk$tUl*P&ybJSv<<8?yLZhqX`5Kx&)gAP(>Aawb?^tblh(9NtPYi;XVyn+7TF`? zR{q>}(qu<_e0$8F(vyHvy_T?We*!P@^-Pa@bC#C51JWJZ%UeS}W!J~Ge za6|JvgH7#n-~FY3G`Ic0KP+pOXU_Hnm$^Uq7rMIolJQdy7B2UosY4 zGreivsZ2Qin&MZBC|=E8A>tx8^0mBkwkJ69B7fdLTF`=#|Xb zD@#=J-(B(RIafYn*QP6Vg24{1pnS_P#pGeT9$wx*Ng%qb9i028-$u-}41Oc}E_DCI zIonTZv@hLYu&5o==9~0;p0^giNJ#NlknP`GF~#q9=9{!V&nZ{*hc#{g=A5CsQ%u^P=g@Qf z(=MWWYx_5+boSew`PSTN`^l#izqm;8z3t~*^Riw}1pid;2wiiWvwfeJj-(q5j=bcb zt`Xf=+xK~Vhu>e#cVBIfb;sj_Vbb<}>aOYv^~~Azw}QJiPp6Jq7ys# z{ndPvTkWTW6aCXeN+#Va+foc}3Ee9=XZuV~?MXKn?0L#Rtt48}_L=Ig^V_od?yEg1 zYF*vp7i%g0%Cmi@n)9}%nA~JP{ns1;YuY~3Wt04VZoV~bPj}K~{^=;uy|sO&$^-p= zZoWy|(;ZmZKOH5Sw0)-I+WGz5e3Q1P+wQp0r6yftznz+beXe~Bh-f9k54ejhmBowdE-nOFIzzeJO^KXvXfzYm;m z()NOfojV>TZGY<2F6&ZE+Fo#%Q~eWXqBX}l*UWDN=Uejg&^5z3+t+G%DBWOisG)zt zO|;^8`}<^*-#*T_#9EBI~ae1psEZ-tLwMcYSv_E5UP;Lx*E zVAA%{>K3j@v83%;7uKB$leUlc+d0cqOxm9HoZn7^N!v#|?*qSIo$tf6J?jt7^G^(l zWNjbqgie0HI^U%2S$8^NMyW~H*l$ER z()P$_UFDzn6iwQ`-7kjt?eTn*pV;-zU-&0JMU%E~7qt2`#pE3G3FeiWbT9aA^?XZy z9J&{9&i4EMxFy|Su;q{biB{2lwf(;9=KB5kd`r%@AH%QnPqd0AZNKll5pz;Z+MfJ~ z^ZXO7qDkBDtJuNs$LCwq_T)QMTvTe(z2vv!^9{}j-Ag!U`-F8jryC45*If)N+CJfx zv;97Pz9nrhfA*FBiCxi0Y5Rm{4f6Z=`6g{If6!U}iCra=u7%&m&o?+VbS-es_7@v| zmu@iluAzTIShS+;FV@*OJ;joC24G{IWiV;`i`8aKOEGC@0A^J4Pb7=hwEe|1`uqL= zd>^Kr0qB2*eLRvv4#gcY*V8!oN z!KCd=o;zxCib*>=FzVdTVbb;`Gj062fqWmPogHYC@lRZfd{#R5qCYl}Z*Y9*Uc@=u z&%Ad_y1`(}z5WSr(TcX8S#6d-Z;)?EJ999rnt#GuG`ZRZr`Z!c^H18DgMO#2D>dnw zj!!W-#;$STob7`?wkO?Su;;P$u%hjQUcY!;iY4u=!s6>Uz@+ViRvtb!#iX587+$%s z)TDdMA5+K&J2G@{;hgQCHaL`SFgVn}KQS-*jM)C^Ei3)`hI~uf8Hbg(Y=TMKKRthp zKi`mV(#|-HIe#-u+Wu*#oj>1@Z_>^^hNh}qjQZ$q!@fZbd7M%_FZeQO*a^< zt?i!(7_Dggu2m-Za}oLOtDTLQP{ltHFq*V|*YX{Qrdm}dOyYBQ2Toi z=WM^W&gOK3!R9*tiHFgBwf)+Qr~300`94ZJQ!({o|HQ*+()Mc$I{Wh!`6lg5Mdt$l z#KV$F*T^5I$Tv91K9@LW`@FT*rW*{_e*c8UXhqxSyd?{PF(uM!vghCpgBR z@1Gu7GU?h3NHN$qbZv0Xc841rNjDfAX|NkswB6wwm-|y6`R=Qo{8)aYe_Ca9Uu}2z zjG_M2N4`lr`7!j2y`?7IYkgA;_OcyxoU>i!`%3+XcJWdyW;-#m^S*CjMcY-r;^RIk zmb4QiA7A00#ux=}tesF9cGh>LCSB96DF!>+;}@K>-S4_Z=>~(My8daZ(bs_O zeqS`zpK8f>U+rYe)QkMnR7)mZ2Y;v~-(bhkb-+2>`)<%V#axHbH7LFkQv7e*`@U{z zy1{~_*EzVSw)cJ7;556g_Ckn*Pb)R(8h1=_SM5|wV;Hk7^SWieWFmeSu(@q@OGItU zyz0~rDb{Nnx~Z<}YsWqnp>ys1DVThpiZ-EZUow?(^^c^R3XarodTg=a>c#C+t(6HE zU;VG_m_6~fqU+^P&E&t2w%OjRVzZLLMo3n6K5CBuqN%3#GJLDbepkE~wne|{rsmnz z>_7Z{`g@7Tb4u>MZPCAX`s*cwuZAfH4~Op6XwIG=d{0sO!Jz1#H?k`>w}&Z{lU{og zKgjRwwGJk{v*ZS8jn-a0nv>L2 z8UHV@<9lPaBLO{s^voY*wd!d{c*OV1Vew~ z4-^$ox|fq)0u=A-ZhMdu&9$}%)`jT@gTh+vvMaW+V`!t2UOE()v?BT!S3tuT`75X*aed_Iv<;Kjgwv)74K`2ZQew4cKoUK*7SqH z*4kaNE86j=Ge;)9rYbIJM;=C=>5oA9&qycd8YjJ?Dh_^W_cfZcV^gK#INXP8&Um@4)^s;lUNiT|vgB$D;MBnU+b}a0H z{pkmT{SWw~VSYtB7Ixm0q!-i0CD+^0u=DyKn{=-irgU8wy4RyQJ5F{-QToB4=nj9R z%->gkoXq}Pzv;dP>?p|l-ybO}o^&s)PdT{8HW~+JSG40~)t9Fq43<|Pl%2HWWI^|& z7yU(7J3`Vu7<_Ef)nA+PzSup{<}Yl=5+=-*EZ=zhVibhvWt7s zoE=}Q_f7i2;G23wvn$&1waOEcUYr=0w4)~zD!+GZ(!Kh5N}Uz)0uBP#=sfB)E|YmoF}$T(<6RvJWecI@ppbJGt7bARKHzWLAO zd(O2^dJSbHOhv7;_yf9j9S6;HaClU}qL z@9Pr#8#bD=V|LfBPCpo|zIJ4GMLT8}^jwIHDA-m!@ zdlZrMs@u5YC-x{JnzLhsckfO=80@}#Vs=G4Mp$XYrzv&p2+)X1la5Wg=jNsyv?D;z zMRRui@X|%;2ZKeIPR_14!M;Z(y*xPT%(m~5(VQJyyn9#r!C=?jA7xjx zYx==pYt3od745iVLEl*^KS(=r)VE;zu}Sx6(yO22eVrD%N257ACRuq(`oUmIWq;(+ z|5={u+$%Fu-c>uQ^hz{m$0UEdKK)>@{8A9ggVWi)5UId9pPelXZ}%be_rvz+VuQOXr3hOTckXU943KazehICB3d z*%j?L=NaQCr(DvGREa`ow4+a~rU6fsMzH{%6O}XNz(7hYY*>TlBe4BnS`1TKrvn$$h)y$wVDVH2+2TwCg zj!n8pMyDJc5xPgBIXmWh=A`t4!K5=k%dWV{xfe#IT=4_D4iU}SG1saK(hu5Kz|!oB zi|xrMBU7$8+@6pU&DrtTYu2Y94Ax)ckI4GJ1(rD1VMNLm?TA{3XwHt+*7`dAVDNRV z<=GYOSZ(=%AEaE;j;IYRzv9@Wdw6)t!S_PXH``&%?;$9StONg>Uh!xi2eoN~zl_7iA@b;l;%LxWNd+9AA$qB%P@ zeCoLLgTc5{*JoE;l*{1A@8|Y6*!4+cAGZpp4_$EmyZPPt-_&~=OE>^OC;z3B&oy|uPxSKQ=WpQQhs3Vye;!-;*O zIXi}Z*TM9I!NI$}$ga5Axq&@XevI8hH!zyBZtcEvC4V|+K|ik<9ZjOOgP_=#iE4+djS z^hdw_sJ7^0P<(A&XSAb5ZLvlq#2QN$u{E)U2(hJ>AR&=xY(X>? z`@SXT_kPYjN3YY9bDz)o>-R_dmsdW|JvX`coaeJV=Z%OcH19n_@in6SvbX6_XkIx* z9g3977mSD)L)Lq`VnmE1>uov|s8>!=hlqI5hc4IWJEkq z)F(nQA}Tlgm=1;QRZ`WVNUd_&hQJlP=Q$ z=>+WRnGOa2?XIgsalPG5BjPopIg=D4j@M|8=}_?B=At?j7u(!2B3>t&K2b4Zs7BLG zhem-`XVjrM)9SVn@dobYCMZT6hkH5Gp~2vVLUkw#U$|pLyh$`>ykf+$s7Wy$8Vu^^ zszZ@m|E>}77ST7MiV??X^o{Azm{4PnIuv_qlo%0j6Ac-s7;!XmLZ-WeOugfITmE0j zqcKS33Hf;=|3gbd|FMb@N1{NZg_-@h77JUgzg#Bm&cCVycBjTosMOK2kuRcpVx@@V^O{h$Y*EA_hhdlMbCI zPwwGCvFFKgx}^RkjELw)=`S5RQ7WeJph&40s!Qr7=S!--9k(>K#@w%kxcNia{`F%n0ewF;hL02SsM}iMpi! zlk+oGBVO0&|D;2wP0%_X6zhT}>5@9%WJE-_O=rVJGhMWF=+J3-o(IMGmXmc!&V%B5o2j~_DOVXQMK{qD>Cj2k;0O;rGh7_g#YubXYYy#e?EhqZzuS z|DI=D8+2J=&~z!G!|Jh}JScWP7Ntx2P|lN8eK*cvzt(UGOqU=XI=Wh2<3Vw))l6Md zsGMJ`x>9s?g-VBxt{OQ!C~|7d(k1nib8l567NM@*aI2VZm2~JJYhTKPqO|>NT~ef+ zv#YvNbdg0$hYqp^=pf@jajd}{UDD@rKCf!T)2J|!4xMM^Q+ZINmY=IjdP~mdRgH-5 zv$qTv!E_PQp<}JiVICBR>&(+74VLqORabfnPkqv%)2-Zk9u(`#MeC9}oMuEsw_69p zMKE22bm)-#>royQNB=rsmo!MuEmplY=#m>G9XjMhG7pMmu|SvfhMae-8nHm5Hw+iX zbYaq=Bd^ZSJScvyvrv~bK+acIT`9Wq1{iKN)2)^coqTQY@}Riec9AY=f}G2&y3%79 zpC%nT0RNKBgChGcF}kFl1&oO30_CjQx zu#g8uVZ$Z5q#^l?mF6KcV7N6*w?;a2aK3Vv2gTi2mgx;V#3hYrrF89XR5 zsxH$dy?2Na@t{WU8BU*5uKLFhH&;4zjMh8J3n)(3TdqqQkjGdlx<&^WE|KXHr9-D_ z^J_dPt~FnwOZq04u~KxKej^<^O+BeRC{jH?>XQC(kP-2KM*lEeDAR>XhtAe2dwEdo zt&*rq>XO4)DY{#`7%qzGqNGDdY|X5Bu5m1bhlui@4(-5Tl8x!dv<4~knYSLu?z+s{}jx_7^m4xPI}n|V-d4qB~C zdM%3)aj!D_&dm7>e|UBgXhy6MuPGx?7Pc~BhuW3n!(>t4o6cWczua8XPbB^^4UpUUS!k^j^> zUD8K;7%N3L^hbu9&vf&pLkIQK1w1GUo?fp@>M74bQ2pjd7j;j=En>Pw(xLOZ&M6)g zr|P8Wl6viCtaOJ)y$l!2bg|N*)4P5V4~nAt8+1vZ%JUjjuPM5{KQ&xD)5S}N4)JEfhAXL;SzJSa}r-Kb0IwS%$J?RfVM7sGTh(xH>R z?r9#xN;m0}{w2@9P`#$;X8)Jr7BbyJ>CgdRqksoRL5(zBQnz%*O3?-1&2TfAZiaN| zoUfA2gCe`iW?fPzc}|DwHQl07C&Ps?U6^#})UUXg2gTlsTXae7w=q__S)=xb8_RTK zr9+2*xpW>B>E*WSl3H(NtQ1}TtqnJf>2Q#eTq&h6U5a#=DDdJ<9uzlU+@?$VN}hY7 z`dfpk0$&*}iRqH0!z6-+7kE%yXt-UM)ORyur5n*nX1Expi;)hK52_dNpeU%Gu1k79 zjj_^H>=PL-lIbF)!^DKj2Y65%sQi;I>CH`ym11hbn}!?5bmOGMqy@2!2gNqALzmQY zBV(nQw$RdWUo+j;hD&0)BIaV z;S!lHQ94ZYsC|Y9#hKcBbxA#v8LtpiJ$e{!2Gh-u4wFDCWb&ZMtgug)^vYVsN-+)O z6~hf>x}kX6urgCoxuvDKO0qH;CzQz@l6! z#V}orbeK3(C7%aHew7?u((8$gSBR-IuN!U{(+xA+YNlH)9VXn=EapK`T=SqVsmqUy zSGWurCBuzpy77ifW4biyFp1}xYdk2fJ(H_TIf+O8snj=(M@FP+OgGJlx0C61N{9J9 zO_wv)i5Wgk^L(x^)Acpn9HyHi9p(iEXYruO3O=MuYQBu|3NbUNx#0#d-2lVQXS(^) zVLnlX93B)o6@JzwwOq=0g_u#)(r^QqZh+zDG2J}rFb~O-$%7&j$D&F}&6Y4;VZ27o z4EHJ1eQLOwOgGbTdzfyIbeO)>G=cH@FoCJ*VV~>6bbSmL#dJ}I+s$;lrNfk{MkPEb zN*W!}C4Ib@ab;pL&A@QsOc!prZA`aKI!v=_aGeLm^#(_ENgu>BULhu0ePFl=OgF)B zsZ5tD9j0g1IM0LPe2rteL@glW6=H%`N5c(gy5WXPWV%G@FsM08x-ShE!*nsyVLDiF4iAc)-~wGzvlzxJT!2qt!}VgiUWS{-bkhvCmFc!h zhbd-HU*SP<<>?c;q_-C_uFQOm-ZtDYrWxG<&*Gh7+iWgtrcc8_IM; z4HwUJ@zPylbWGp@`WWL6C~km&{*ZYI;sG+a8{UTk`J98OVW|l_p816f!`_6C)OqU=XrX7kL9uzs^ zS6x!WIgD3`iH8jh_b$`DYq$|iH^Oksm~NSLn9AtQ<3W+IaV;i8!?+HgCV zZijT3j#=#j4~h%b&gzm{&tzN~Ovr3)xPDC6&u~+jZmQu@m@Y*+O!2IEiU-B1isy7m z&7v4rCKC6uhU?CB-3>R2=|&lD8PhE@TsG5XONS|?weRqtxKsPQE~&!|#ude+(hi3E zg6Y06+$^S>Ww^~uw^=$&Q>|3QgQBR?1zpnf(-~I=6IGu#Tz97HZn%+5H_~v6nQpP+ z_A%W)=`bz!$s0TJHriRx`Bq9%5+l=w}$D~7%rdb@}*BC`xNy(Ivea&Uh!L;IH0ry_l|- z;YKsvXv4)bUA*CTG2JfdFs=FFVjdL54`07-Oa@$>(++r$#gvpH;U;-87`LTVh#5b z)BPmf6`UUb3lEB49=NVcYA}UyMKP(nf#KRQT|2||W4eBZ3uU@c!!2RDC5Fpjx(w+s zh5VtjJSfgSbVHZaa5Ceaz$Eg9hHKAs?G4wT>G~Tkl<7hZx0vY`8*T^F?T`-B*~=I4 zpeQPTQmM*E;M8-RaiTBM6*O}=$8*VVu4L00FrkiNE1g1+cTsqUGONUbc#7Q0$C&g`D zQuPUpcLFB?R5x4;rfXriE=VXNH@^bdwC1z;p?QOJ}-t!xb=Hfpj>H;fcFE zDDFOSN0-!WJma0mi44sQ*OBQu8m>Rn^*7uorW<9rXr_xc+HcH5Fs2JLTs+go z8!nCM(hQf&bh*;ul$bwU;6ZWW52d=Kr^Yhgd7KpUl;NIdy5|kof$2IJt|!y=G~7_8 z8)~>IOgF`Fu}l|hI2^j8zC(idVT0igFx>&e{mOK|N{2Ik9vj10C(ikKjC`&E(={+$ zE2e8@xDcibFu0!OOgGGM)0l3W;TAL9V#B2}U8>=-m<}yv`tM62(-lgGGoc>7 z#e}yW)*;mz&G-eyxlpxytQnIv^RYLW>W~9!G!$U1GXRLDJD5M=^dWM`-j%UDao*`nqbtR4sJXo~hdF zsykD4*VRC#8mO!9nCd%SO=haex{7A1Xk8^TRidu8Fx3`a?Psd}x;nvBCrSxN(RnU2 z*=3K10IA9kj9>fVnx~4cYBE(#T{UK^#=2_7RJgss>-r~C{Zm&xn5u`a1~AnCU46q; z-{>losX}!%gQ;fdDwe5Yb+wAAR_SUBQ*F^zCR1hV>IhRE(N!^1;oNKw1>a<4VVfnC$To?zhHchR3frX6Cbro`+t_9s?O>Z7l)*L`l*u-kl+8BT zl*cxCbeL@p(=oO=MkmJm;-@Ca+u8f=a+|BQn zo8MtKe=BbOCf)q)yZMZ9^I7KRGt`^|!UfUCH_FP?U z?z-DXcDG^eYHQrpCcLZdepiVFS1Alv$r4v-8CMA)SE(jfNiA3DGgpZ^S1CbP$wyad zPFD%lhTL3^Ox?Ol61zx8yUTo|Zo@^E9m-us-(B^9yGjLjRT1tgFx*vpxT`F2SHQxvTASS4ZfsX3<@Jq`O*7 zcXglcYE0eLv%0IDbycV9t}3{M$W0M4n9Gu9mj%`?%eh?^kGm{YcUc(kvJBs4(Z9*=XOGm+lfGKClI-vc;t4%lG}++E+1Q_fsYRdYMX?HZA*$#HOQC)K%~jOTU|pWDfQ zZYK@8oNVZJmf}?+SJNBe+)j&hJDt+)G)%YCH(gHqbUR=43X!Xcrf_a2sJfll>UKhG zJKo?`GAGhDV7dmr39)Wx?p`KxHRTu1?Nnj6Q;gkCO?Ek@+3j5DOZcAP4U{H*5;dIL z$=7ZtZM&W9?RJv5%gN<#XQf{xay6YD&h0dKx6|j{PP=zGUEl3I{|ort<{bn;`UwJX zZci+5dqRTS6B*o|0O9h)3AblloF{U1ss^0fQ#{emD>%0&Xt_PH%jF4S zZqFn;gS|@LVP>SCf(GaI)HS!KytzG9&gCg~ZqLp8mB`geeQ<7126TH8q05sG-JZ2r zg#7^CA&sP;?g;1hG)cFoSGqhc)9v}3zYw`P5fskt38ZdMJav1*s>>5y-JT(P8lO+R z!)Hl9wHD6pDY<#l-qu-kKoF&fp?Nyl(*PgZt$lC#^hqfeoVh8Dl0xjh}* z?P=UDPycp%-uOvmH+Tn?lYYWEoZA!C-Jam?^2B(zXVjm-^BwPSdrB_EOjfw@OgG+e zJ(#YC;TkhtW1kb=oCS>81oJeJ;B%t-`Gt&E7_Eu( z)ulX+8XX>_w39v;#<Z>&bLI4cCn6n)#dv&RfK|GV?W&7cAv5++Xk@Eji(H!0YY z53MLm7#Aj9qdoaPH^p_USR^hV=72_kZ3*+()>d{H-PB|7_K?fHTO9YoVA?s3YTaiD_F`L zqB%TBbMkzyFVpokTvMiNDqS|w&J~OoxKyK^xjr|I>82U(L#F%C=fpGDeq=0knI^71 zBjo|yVaJ3ADS5xo4QIOHhHJ-k?R-u=dU!SC6((uo@S{@h zC5q!gip%o3Axt;Ka4ngxrO%1rj5Ul`xDvl@!BXxa3gVKsNr5=x>tNoRLD$byu#JE+p8euZlW1HNHg~OTo0z};d7$) znRSenuF=Gq+EVVqb2AT8qC7AQ?%z!JZ^OOJbT9jy2->}#@e0>!Vt0^~JCTd!L7JN3 zb6uIPtIvt*CsG(IO~xKZbt!k?Gl~Z(Znw`3WV(SqCz{^ez*y-zP26lM*5`rIc>_leJmdgnGWR+^%TbM>U$ zj!#n_q@*1__chafZMc?9*V5;N*tUuB3O8tCn~-uF(KsHYaX7%p(l(#_is`=cIq~Ant&EkX;ZyNNDbr9b#Dn4AHP!lKXNtr-2mj`L?GM{^o>E81>Q8nXd z#!7SXNnBOR#YAIxkj5<4op|MLJ|kkDChoo>WjsFLc#zgC@wp*PH^k>e!@|Ril^)VW zVM8h7&;`ST6rJF6?=#)|J}0W~Il@@!&zjg%RmxbR(L6|_7wb;EeDf$HVm@|JUY0Tj ze~UawiSa(ypXvJhoTzi;7-OY}HF2bll#6ix#)C9H&gVKZT}Pi26}BB`tn>(WP%B8e z5ce89NZ-ZkPPDjOz=(KM6PH^^xd5FhJV*&KKG&1!ditFBOZExIN{?axVB(Wvd&LtYegEVNq?!;e@o@PWmsfnY1m2wVI1P@X~w9j>5x(+@k z%B}x}vC>nTSYJ-c*+heRkOt4wov3rTh!L?6cg1z2oP}${gA_5>=iXwvw|q{NPyLm# z($l!tEHC9uqR)AdKA)pI(cst_M#Nty{(-x<0SjZR%)L_CY#$wpF6!?P_9Qq**xdyDDb z@;TvMbCI#qbDCJ=l`@>DKMzv>NZpAV*_Rj*&*QG4hLls$E69U1K0&A55d`?u{be*x%E1K9;QOb!#pYb4l zHbr-$PVNmx#H*Ufts~_G?7{LNjhn1H(enIFM#O9AjcO_7csx(@AVp8|xz0@2+2=&i zx?7BuUf0CBASpwM{*MRg|0e2ARL{K4h&Rmr4JMWk*TO(m{$Hwz*pbA$@b# zhTp?#BsPcc)^r7Ss`2ZnSD^p^k|8#Xo({C9OuajtVagt)h@tU~U#*~;`KSv$XoSR0(Yb4rTpR5>h z0-i?Nner;C^VA_NykSJVN}}W4DT)y%Vh_8cDKSxeu{xy1*Nup9Aq*Gtn-iWTVTvoA zq=_XSQ(h+Oq7JFcHDjfhNqCk|Rg5?pU-TYRVj}hX>X6>QYDBz5B6wxEV#Fz$SQ%`} zi$ou*L;CoN5%D64N-5J6BZlEVwvs6?5cN@q)aSAh@dAk|sS%11r(&nJiYYOHw~soc zK9`J$=kXfXM=C}P$G&+bQ)04hZ*@q$FB%cgk*J(9T`}S`T-C~^#N^lB>X3S0Fe09n z5oahyjF1sciOHzF)gkphZ$vDXS2ap8Vx+vPraVK`Qyo&zb4J87BpzBlQ!(OnO{{*% zl)n;vs1E7Fvqr>UNmN)lOEKaM{5@7MB_>^VSBKQS*oas}qI}Y9#fVXwNGfm2U+@~$ zA$@qpi1-VM2UpEej5t#hs~$AvX`&wLkb3-TL_CexxNNRs#95kHR^F6_B)XK&Q;%!r6(%u4fNDEFI5l@n6e`UU6#JQM$)!vjR z(6y!xX?CFz@dSysXBQ|B3HZB1E#dpUJT;irs<1teM&EL4n$>23urOnDqRB6Uci zCyj{5Ni@k{q!T%SFn2&q1rHd6KVw%;`U{n4~qVuf;MTsdlp&VjjYdwmL*L z**zy-JGVqJVmx|CUo$0UH%(QCG&SFdn1|=U!%Gz-Vjj}r7fgwnNF&uDjr`e&n2TrK z%w>uZF`p>2z9})I=s)U^{&UEPc#uS`9m^FXVqVaWTBgLzpn>X;2Id(Nb4XNOw?Z-E zQe+pZniA80FpWoTdj*q!Fp0;vOOj0@DDFo^h)FzgL8d%_@2iW6iV_oUF19~t#Ke@F z2z5viIrp6S+p#3Yh?qEY>~E&T)R|H0kVa)25wl1%*t=3OA|}A>ZD7hwRG6qk`uuBL&ah?qQb;w4jJ`p9T?NTc@|5i{g(K(b;)Oaj^4z?7H<@|ilM z&-NM-cawO0-8#jHnCP+YaZ~Oh@xk5oiV~AD?tZYxh`AGU>eM04%ed#ntEW>GBVyvk z=~qpOsTbqaA&uK@MBG8**?k)nBVuyJzGqE|=@p-;L;7r&5%DLyAIYhT5iv<3`EgUG z9cer;#Pb|uHLK|5t9#AS2g7p5?ya?QIwcOaI5QfBj#qDBBKsz z*0y_2{QcNg#fX?FaP04f&eqCc4X~s6(2Pde4c*nY$DtqC-5h zu_@Q#>Zn5+vcZVB4p%2}w_-$edM8#fWiqbLr3^)h&g)B^QjD1Bz7A7|6t@1J6HT)A zC`LpFbygEoqKkTvI;27CjEHMUR9w1OF(NvlmsT|8Y7!la_bEzrCKq=|He#YXd7?U` ziEHmU(I_)hF(NvQGaH!_UB-jdAq`q%L|loC^0F+&i0Bkv_J}EyX1TL-E*SewgZY0(Yd>=o+*DM`a~VlCo7GJKavphvK1qu19zS<8|fx7>)h1i6T~Ly8g6F&bCFlnMBLJ@K=mL4)getyxaY+G>^`Cx z5uK5{|HqW*j_jijsn22~Vl4h9=Nwgxh|b74!jv)CH$QkxQKD1vV2gMoCb|_rSBLa@ z+&w2MEkCXp5gmuiE17a3i8qT26eT(bi{FejVxoI+j5?$-G54IPz3GHvM05ads%^^o zB)Z)=sVLFOcca@PBW5)2BGe&;ExhN%GwG)kBcdZO{TWlvBk@T|p`t{GT*)U3jF{+> zi&BRaHUFLyP4}HvjED}oeN9a{2Q^#jkord(5$9mfef}?s5z*;3KiHJBNwmx@Qk3Xe z%WXN&h>5PX!Rn9(&%Niw12MlUMnvaX%mb#JN#a#>k*RIg$_}zu=NK`g@C~aDY3S^G zPCT}vSTQ0x$W}aN${8fyIC)l4qND5N8?%g<=;|7#4r$oTdrnkKI;R*B9bHM)Oc{y$ zy3^+sB|5B5cZf1#qRVQSI;3GU?m6-JiVKPn(P6dXaZ^sibvlWbfVn&DAbVXMwz4zY0|iRPSi~;Rg8#El+?PW97W!DiZw-v zj*{Yc#u_ovRr0+$r0>W4<{n$B7!VyLOCK{Kx=LO>r1sT}9*;w>jy3|K&ttGEqrszo zQ{^dos!~%4dOV`bn{YUZ=2_uN&ZA{D|G|hioIKR0WSWu_C4ENTW9Yq@rp9R62tOqn zq(vx1o2pS7HTVspiz1{bQURiDvnXWvy?|(k7^cXE0r_&^vWr4gT|8YO+%(OzxT+sS zTf@uQGZbKi=FNT?--h=>qOGBy8l--ueh$qE5m5>OBQ=UBxzCAb(q<|^6i}u;<1f)< z5K=r#L81_{IOMKhOf(scRD(3~&V5e&Y1wRrh$w_y_9uUdW`Wi@a}*>B8gp9T_KS(4 z|9+)&6(kB1OZ(mOlPLNRSA!IO^FAl)ZJ4JJ5e1DK>iJ6)@4sCrd*6l!_=H1YV&U62 z{9>XAf2bOyq1W$o;^77J6(XWAalym>62#_J|0C_t3oCD-+rDE)4KWQl@A8QqcgXZ>QL^n0)x zq`}4aIpLkLR3ReD=w^8RB}%xTO>0n9D8=r4YPo_$S=*`3zxv5SJbI`> z`m*RgCxRkZC`3eATV#;GJcYu)^*<^|l&7t)|BGKtlvH;(lBgh2o_3_eX+MdQ>cMJ| z1{dDvgeN>nAtK7t!ae>HrO|a(uT+pIGh1EflwVAgIKP&+NK$*x%WBocubl?M3hCvJnk=1TH9>v zW(A4zrmf8m`o-Lj&-D}X{F6X;Feq<2(OH(qn%|fxbscnPtAa$C(j6SF_?twjYp5Ee z&;$25@uzrsK1iUoqD(3NPyP}mt1qO>^Ev`alpCeLu-`8xN>)Qor7K938=VTt@{=f8 z{Zb9mmznoDQ9eSRgAr)0C^w2I?=Mk$T03!vf<)O+V(oo?F;PPL@-BH!M4*@`8`|~q zUO$Nv(sv8xxeb9N%6|&q-Qy=wLi)KHq|Y<%b3#nstq>9AKa+*OL@DT#3GzIIKx;+$ zPr{SC{bHh|^Tq9Z6eP-cw!gT`Poku=bHQE(iE^BR&O7}iN;-$AK^n5-J|{er_bEg~ z8P8;ozeH)~Ut%*AB+7AO|MHVxOq5tQ-k7BzQC73Du`I7NKSfYt**AtAAElE6PZn3Ql#fJJ z_LnFLthMZzf<*bqvRcW0F<0T!QXfDa=-osa$hH^P`bm`Nbvjz05EEq}M?0AU6kIq^`0oYNa9BFZZw9`ctceS0ci&f5(n zQC<=M)H1)Ai}9YM$oaQ{B+4XGnk@B`C}C@}N6xVgBvB@@r_B;S8He{IU(S^cBvI~= zA0o@p%qxqMvYuzpD@c?(ob9>TPokvk%Mv+vEl^C9EtGs2?) zYYh|;LWdy~&7x>A!BtE}=T|uIZ;P&V9 z{Ul1YMyf#?8GWA<4^EZyJ_B7@lo3pQ&|jid>reAR=t(=xB@EbIg($~l^W zVxk-%vHn~?iIS_9+vGgVKoaEu+gi@?lTp}1+P2pF|1Nf7PHIF#TJ^2=WGv z*AyZmtv^1%0U*ZtT_1vE)qN8A?{5P` z`c{s>_K$c6Mbx9m1&BCW6QhMy-o_ZA@X!Eq4DRk8DzU^w2K>*_;{(XCD9`xwU5mVl zC&kza0pvJ5f7iZak;r7%Up_H_3`OB}{o59aO!oh-ofJTh$B2yoy=9Tt@F|%#Ie?si zTvE%M7Kw~>+Z|H^$ccESZF|Eaub{XvD=dJVggyN?uUjNC%OQtk>5SB6{eLoQbV9CK zBr?n03&P7ZzMnM(&(YnlS|l>Wy?>Q;FitVU@TuJUibWzrJm6wP067(75(ZqhNMwk= zxDgpZq7LT97ndv&|h5wfzyNusJHqRKgoM6S2moLK=Rs#@k$J8O|ec$!`y zD^#3fqB>ux3TO`I(wb-yAfJC*(h8Beui5%)n zn-&I;s217u(kY8X4z*R|q8yW47TO@L!Z|;o`AW^-s_swG#nNOl)rYyy9iW!S%p^ir_ z5;@II`x634)M4!Jbi^W&)9jorODddVq7Eaw^I?n3!*@fDtf_F4sHeyY$+t-4Cf_+A zYbu;1>M0Jq^Rq=FHyM(FEM~bT}0k{2Q3mg#`p4Mje}E6)Hme4mt&F0F}|0#GJr&VL*9GY7MY1F zlq+i-oMNKBA-C%Ri$tz4+i{OY z?!>1_hAbU$lBhSxcr(Kyk-KZZQ`QbRNz@JOY`@zgk-K|6JvD$t-9Y;5yDSp9yEbVX z14z^jq_x>;k=ya@ut}BxIIR|S1Djgyut?U$}IsT^8YKJ-)@n}!8KVSQ~6G-MgD(9lWi86hC7S|nag*Q$m1tGyVW9* zORE|bF76E=ksrVK#X5^bj%vWK`vOShxqlsy zY>~)O^)8UPZl~2E&t1@atwkb7)%{Rb0Es;Jq3&xe5;>}nESc+eiitdTR>*3LOvLBr z4w6M80}$%Os0LuIYc59}FOo zuU`JYi57`mQ~lW7022A?*!n+OByvr)qh;#ZX|>2#N7r6qkr_iV~p6lO=r520a&yZr73U;E%9~Tcvut?;7 zdLKU;Kq3!(y!T>@MDFK<9GMGtiitdM&Ij=pxd=OxyN(Bt$OG^CXPiYMhx6K&f&dbE z;4QDkS|oBfe@l`nU8mI|51jP37>h&>=b1$^r|Tq<&t3G)B8x;0r}}i6({+-_=T5J_ z&?1q;sWM*Xbe$yfx#O!Wu*kXO3HtAKnVNN?r|?_!-=O&xi=4{fUyA}zJWO_e!TCyD&()IUX8WCVF09C=%& zJe}w{&2xL?gEK4^NsiBpF9o2;cNTvhX^~Uq=Yq_6It4|(^LXzFi$tEItDf_8k}}`f zb(%#^!Cm<#ne%j#$aijfJ=`KE<8Br0)6Nq4&Lz)Jwa7^%YR-_UOQ)E~ch0C8W|0%g zQ)zUGOhG!)YnrEIbfqa4J05xSvoZ(iM3H|y`{g8y3`MR!U*;g4B=V2>Jttb^INWLM zkvT{wiTvZ9kO>w!7SB8>G6(4-k$+5SGu|S{;8`GE<{+IU@{jRNLM?JMYA+&WD$z+I z{}}PqIEzG^@I&7P`pqrTJeR+FXsm^fL~+Vd=a9$;9_>5Y;?TAmLK!0**NS{#M#v}& z9F9A&4I>?$N88Z$hu<+AeirwGqZ4sB@a+E2z2StMVD<1(4i5RiaH>Aycd(Q^4-C69 z#z7*ncV*ZE!+$4{-0OREtOG=1?`U5_dd|97B`}=9V8NTQMF`ys#V@3Pvud!Cpyqjd_<3`e8@ay56*rNVc_JJ;gyH(YCtv4I7DMTZ6e_4ibsBxea9dru7ttoHQj4iX8o>9u8Bq&4PQeBBSb_OQWX|+gV^~#;;5ETim z++MO#(JGO|YQJ%ogG2&rqu!`!l}KVWj-Blwk-&;=EE^835=pGTOrGN)k-(b#7uj%V zm8Z$$8B#FMfzH-E1w%Zt<1Y)sqPBOI4S-gOWYmiZ^BsaB5tZ}LMfv5aT|GiGsK_bBu(@ZvySyy|2JdcmQp5#DR;Bj*F zc|4C6YD&Sh>nUB2lyQAF`p#Dv_+I6}H+zB2g1oOEz>_ zl?^&piKK*g@DZm8+(<|q8SIrUI#!FMMEhi?QQAmIB)6B1HdcwGMBS--9oCD4 z#MHX7Va6(vS{QUR(?KGwaCDGtd$CHS7TPB}O{hj%A-TP5d$GzS^3(|{ahm&_iOq?y zI?hk$tP&}LSC%*pa7KDy$t$uA#VVKMduGHrr+LcRn&;ez z#}jQVw))@y$!Rb$w)ua0U$&E2qhhQ7`2|jsk+IFc;Ca~=VwDNxd3b1{)1cx!d|M2C zST=@OZ9InWY;YPldw`F^WRmPF0UU;d~0N{M2;==361`n&nmVG~L*_ZuIBe(1O z$uZ#Soau8f=B*IHe6UOw%$Y1oCf4#+dVBr zwoOdZTAR$Dy~(|#Wl)y8asOuB^UkX+r*rMyXM7Cb7#>EwfJS(#9)m% z8{gx@ik!y4p4L1?!>Yfnp%oY@I!;k%k}`P z#YXt6OP%JHViSDntFq4DDyNd?vG0qW#)w|T@9+1I$x?r-#fJ7fsZQfSv6-Fvjx5`^ z%E{!ZJL!hgbj~Z9=f&>3J_qu#scQ^M^sXPE#mvYo6Ree;99LvBCUu ztkWDyY%a&XJkCa9gZbevoj$v-i z62lJ@-vs;p@9l89i#vdCPssXhI~l2!JMrz~a;MnNV$b)D6|#Waj$+?y#T#F}ZVVXD{J1G)5Li+ffum z$Gm#A40#dRgTcA7zS)j0z~AWL2jtGJT~zGBwwx~uob4#~q2{-|RE9i9p5XrbWSz1d zjnO>&`UlG$Si7jjlXO{dY)7%5l>W)tGGq~Xo(a1l z>xS(p_LFXeJtKEg?N)pmrx0wCg~N6f`$?O+$=y&pSxBDRV~S<{uN_^6Z?`eEi^{Or z6Mb`eVi|Nf%6ZuT-nYRz+X>i@`{O*@;9Jk5GpSZhbI zzq7vU(K6)E*faV5gshLXquAd$@qKl6j?|Rr+yl6qU9-6iihY_jA##_|PVOhq z6GQW5-KkyFG|iJg^og7@EcO~-nkNfS?I;RP=e;EN8SSF(!|&54+hqNy9o?#VwtXVx zPNSXOgD1JrVp#`jXR+T>99qve%E@|%H=M9%*kPG01hu2sZ&}ts?iboc#h&3KgEDuQ zL3e1L%t4RH{X#ptgFKBU7R!20yRf^k;)#vqj-j1R$BJ^@}D!kWmPKfAanWbTwG3oPv@3M&&k$=y3U znT9;)kW5)8X-D_t8V{-B8wK?HcXlIr8c(?(>mBVZc0evnX}r0NxF{^{lq3rt?I?CY zk~(cFL#F5}mUWAEG*@4-+`+SZwb+Y$F7&i4T(q+&SUes2oZN@Av)GGkyHFM`+R>kJ z&SP7-4`(OWUrbIch%)yoSnt4+TUm0 zlJ$UgagS@BTeJQychu}GcGbGBmIZ-!6gv{DyUHCkJGlZo1fSs;9ea8b_cEVVm3wM- zb{Tn|9bY8t`s~6MVrOCevp<$$myqYRg(b2+&(8jW`=Eud$-ObVxQkIBnk)?jKJ zl0WbbKKcFMKs@fqKienk?Cj_n`D!1Rdt-J{WASRooi1y%$XWb0j(c`-8FmqQUY&RM zQWIyx4HlGP=aA>6nb%|io1I1B+O?T4$=xcuxG4DiXS^(6v!f_n zi~r}`GUQBTMn2jg>(K1zP0h36BahszvWq$c&rF~1mGxwH7SH;7Kdt``+yaqZ={kzL3z zBxF8Z_k%6;toty?HzMNqFEb1^UY@E0cZ{}?BeCx@kgCc(Bm0mgYAJ=V&N9P4JzB+aw7N3c1cz|LMq zp;+Io;WiedHoS$|7jI`#B-D2H6}iD;wb)#_GP|wW-)?75k*EEFTk~z~T>MroXm9qZ+gUu= zz8zO8_erdAqmh`2d)w?cx3hS#?Xql<4V{l$`YvYIxShmO#%4sz><~ z4u89Nuzm2uB)L&ywb&#{`tU)s|JyEZKH_#?DK|>27Mmn1yO%fnxb5sAJY;^j+OENR zvF2I*VFj}v+s@(v^`V~Y<$i}X?h?(jzUM<`U$vdZ18Sw-DRRTZYO&do(z}w`A8lt* z3{$yxN|KF55ll+&%4VOloz0SVz1+93#!bYUdsjC5mF+AZG%NK^on%_@CT^7V$&j}PZhI&*v{@o+>ckTx3O#S{(fA^>;ty5JMk&`{&KnhV2!&@ z^DKWq*zD)Evp?ZBq017xMq6w?Ea~Dg`*Q85yGGP4xJ{VT&g@&Yvv}}pGyRNRL+Linb7p#* z%?@kcK%Q3Ng?5dh=}19`x7y@j*W=rFOs?Dzu)bbw2IP);!R!aMTXQnL^}pF8Hw3H} zn*n>ish{Ey7Y}eXhHSHI)Xc!P$&eamU#DGMJitBCe?yi{+`YJg?Ei$>pJ`|D0Qbm8 z`g6T?%_xUR{OA$0&(hBRNM3J9?2Usqfe&cj8?hl?vt!au<3a58s5A2U+!{Ft?{L)X zX8)p{#e>*OQ;y3AbgRX~`SB?)nSF?M7M+DnM(mdl=vIq|^Zg?*f6}MyEXoaP4c=(i zAc!)9je~2M{e*Tl1{*isasKb`;~v4^fA@-JU!a{`NM6w~`htAUwl4a(=DiTzQJ5Wm zb~+k=50j7DHPD^VJVz(DGW+f9>|AVT4BKPZL5HrnJ;R=x?{Kw{$bYhbid`cd68I_o zpPc7lXOg#Kw}e}EeQCdH-dhRXDw-W|cB`I_->vC|=WQ-mF+KsNzi#%U*;ypkn~un| z>o7w?J#$1;v#ZR`hU1R(|Mcfx>)Uie^Q`+njL!2ZI~zvcpw7|f?fSMZYu@wGo$-`Y zww^?umg917*u3Ja_}m)T((Ko=i#!3PQJ-y+&#%^1U&qGLXLTk!#0{12)8gxQZSXD3 zs9W5vqS<+67kLam<)<96YizoMg0(4a%swbPi^Ow-uk2ACQTtZZDQg$c7%k{j)LUMe1@<|6jYrBx|J^yk^7i6!a_4^=$y~0Jy+Pi`K1{e~ z?W&oed9NjW_?XP+I%zx_whGO$w#VSHFekK?%*s01%jB)mZ&j(a%Oy-TY=1d`J%@dy&r@euu2%$ZEkAD{bEHnIE+%jJw;~Q(yGLed-op`Z zm6uskCyhtEI)m3++d%Mmw|;OPnd@}2r^#EcL&Q;QH^&@wltpwXC-a?7`XqV&Iw;xN zmVq32@}R%UtfiAJz}M3oVLw~DD;8+ppTpkp>&Ec?j8gnG|DSi1ymbbwz8i13+%dR0 zT|J;q!F~VsxA~gp&%h&B+X>m$b_YCeWlv};vxrXXK1ANX^h~&HZCgmtyq6Pt{^f80 zeGrf1-)*zDA1uY~+IKAu1+dxVtiS8S}ngG@AR4>4Ko77M!oziV=}Du@*6Zy#+X-Rw#@0B-iCF*H}|BqdVQ1TJvsNi zs=w9A+pl{wdFu^Gyk@OJ--6G;!~ykwt6I0$c$8`WP3ljUONPgo)Nh(^4zTVGczF9q z=w548_)nU5Z|FZfGJoats@IXXN|&g^*6QwE_$-R*QblH=ob(#<*8Er88Ec*P9?g3u z?q4-!Hpxk^ByXcH*4(ldTxa6uZOs>reyh;7zh*z;cILay*1~Dz3O9e(Qf7smA}_~{ z)NA81to6@1nm1$IYe9(t^b+z`?mX?FwU9Ya^B$bmxw6deIK_@9Z?$))AG8)E=R;3_ zx0=k-IO!Pj{;_LReu3pz<*4S(kLvoz-zt%PKg0Stx`4b-eKfzoTIXA!c?;%$^pwoE zIK`ev-luymI%TccJ*9b1E$aES%$hjq+4w~26KdnDIfR4mp=cjR}t);N%H1FxSPwUAnhSSQ!$y>Kq%xP;$>qY38UUh$~fwjNp zQ=tE~u)tcHdIi^f;lJvJ2Z%ipcR1Z^{Yi2?K&3aZ$CY`SLAcQtSN*!C4e18AHfUas{pk#bY+-2e965TxBq8P>Yom;ib> zm7^EGO1co~hfza$AxV7o;&1hr_E%hN=DznhU!3|SDw9D;s!SLFW@Wdwd3Zrde^DD{p;$MY2MvayH=Msrh#Ig zq;f$o|2y%Ff0bLJR_;vVzh4gWFR3dl`Z4m>?lB{Ct>2Yfg&f|D9<}|;+se|1sa%Cu zh9(vJmz^bR<%*MrzEa_s!s_!7{e$of|N5~Md>Ms*P}{%YtgPrcR4%yXkhsJ0QP+Ii zH)-V##|>#2>|Z!mmd~PckG310d?DS>Z`I0ONFLtqQF*Hv=-ThWZ{3HH8UE!}=~#W_ zhxe6Zl@)y#mGd?q6qD~?Cbdf|mmf2zx!1q2sw|&Q<*K|sY;|##-|F|`+OHn=dKG!o z7ijfcs9eo1MX8O*_ zlADd@TX#tFX3go_G*v;b#XH}8!2BG!XK3;xTDhG01DXf>7Xp=a?N;LVw&j3%nf^64 z1zNexc>`KjkT+m~uH6bM=V|uo%su|aGKE^XJu^RT=J7ADDJy;gm2283YIli$>BaJK24V?#E+$NjXnp!oRyS^>_<3@`W`~nm?d@vzZ-%>NL-({`b`P2y? zH1ID!DQo?6sa%bY!xK;VS9V-S*?r>hjy2{h#Gi@3ytZG)Yi63?)=pZ2ep zC>xhhP;j%JVQJ^b8^3;Iwczta3k008hx_K~z zPnPYkQjoWCkMYTc(~Jd#X+ed_<9jsr-d|Es_D{G#K~-B1oSA;b%+^QZ`lZht*t+Uv z#n*6#f@*a5dQsNhxyBl1X+d|h7Jc2J#{H@Kve!^Z^mo%%(J zD=45K(eT|7%ktukAFxOZ%3C(#-G!Db`Ry$?c@wnY(wrs3 z-+k75Oz~$Nq@en5|2ule1vA^bLJPXEBl_QO*FU8A6S63%TI+sOQ%=dRVY!G^*u6}d z+OKuB`%}GTzm5zFuGp;msAbuAQjH(6UJJgHy=+wXW);oh&Hh)!`h+Au@X{%$c84!! zZ7wpmjyGvRMVn`R(V@0EqBzh`*i6Bdp6@<#@xB{7j8$ycf^Y0wJhJ=qmCPZ&fqq5` z1wZ*}-$^SEmC7Puc`6p&`WdV7O4<#YmV883<;owCsRbQLo;Ijm z?PSGwBiA(el)@jGA5Sf5{F=9*4v>Pg@nfcF58N$CPnh&smloB9HH+Z%lP=O9o@myw z|ETEo*%#zC`3&t37qZt!kLusC*%R_X#{cy={hT7I@IbAWAp=IuU9Cpj9Y6 zy?4#rQ3FC+)_TCYU+(m?j?x3w8olxHf5PI^axchPG)uGxF65@ghyCZ{HyTwdV5};K zD*WN8=R5QqIwf|)fnSsHqgHDbem$@ucFNG69iD&c55G;L@qe9me^_Lm$m zx2%et5&F%59{+6BxMmfPbw|wUCr_g)!H+)GuzB0JyZ8O#`|*+Um#*EManO7G%+-=e zjY=N7dgl1SjLmD8&W{}b{TF?^zumTZ!>1k%mX)lk*H`8y{LKlGx~35tGM_{PxR%eLi}xQ@dAMG-*)tiAv?I JH}K}G|9^aiFVg@3 literal 0 HcmV?d00001 diff --git a/include/Core/Engine.h b/include/Core/Engine.h index 7619514..5b871b8 100755 --- a/include/Core/Engine.h +++ b/include/Core/Engine.h @@ -347,8 +347,6 @@ public: } } - //TODO: Add LightLoadShit - auto pointLightComponent = m_World->GetComponent(entity); if (pointLightComponent) { @@ -359,6 +357,19 @@ public: pointLightComponent->Radius); } + auto parent = m_World->GetEntityParent(entity); + if(parent != 0) { + auto waterParticleComponent = m_World->GetComponent(parent); + if (waterParticleComponent) { + //TODO: Remove hardcoded color. + //TODO: Do i even need modelMatrix? + Components::Transform absoluteTransform = m_TransformSystem->AbsoluteTransform(entity); + glm::mat4 modelMatrix = glm::translate(absoluteTransform.Position) + * glm::scale(absoluteTransform.Scale); + EnqueueWaterParticles(absoluteTransform.Position, glm::vec4(1.f, 1.f, 1.f, 1.f), modelMatrix); + } + } + auto spriteComponent = m_World->GetComponent(entity); if (spriteComponent) @@ -440,13 +451,14 @@ public: } - void EnqueueWaterParticles(glm::vec3 position, glm::vec4 color) + void EnqueueWaterParticles(glm::vec3 position, glm::vec4 color, glm::mat4 modelMatrix) { WaterParticleJob job; job.Position = position; job.Color = color; + job.ModelMatrix = modelMatrix; - m_RendererQueue.Deferred.Add(job); + m_RendererQueue.Water.Add(job); } private: diff --git a/include/Core/RenderQueue.h b/include/Core/RenderQueue.h index d0003b7..8e698fc 100755 --- a/include/Core/RenderQueue.h +++ b/include/Core/RenderQueue.h @@ -119,6 +119,12 @@ struct WaterParticleJob : RenderJob { glm::vec3 Position; glm::vec4 Color; + glm::mat4 ModelMatrix; + + void CalculateHash() override + { + Hash = 0; + } }; class RenderQueue @@ -129,6 +135,7 @@ public: { job.CalculateHash(); Jobs.push_front(std::shared_ptr(new T(job))); + m_Size++; } void Sort() @@ -139,8 +146,11 @@ public: void Clear() { Jobs.clear(); + m_Size = 0; } + int Size() const { return m_Size; } + std::forward_list>::const_iterator begin() { return Jobs.begin(); @@ -152,6 +162,9 @@ public: } std::forward_list> Jobs; + +private: + int m_Size = 0; }; struct RenderQueueCollection diff --git a/include/Core/Renderer.h b/include/Core/Renderer.h index 2654db4..bb47561 100755 --- a/include/Core/Renderer.h +++ b/include/Core/Renderer.h @@ -79,6 +79,7 @@ private: Model* m_UnitQuad = nullptr; Texture* m_StandardNormal; Texture* m_StandardSpecular; + Texture* t_m_WhiteSphereTexture; GLuint m_rbDepthBuffer = 0; GLuint m_fbDeferred1 = 0; @@ -90,21 +91,23 @@ private: GLuint m_tLighting = 0; GLuint m_fbDeferred3 = 0; GLuint m_tFinal = 0; - //Water "Diffuse" texture - GLuint t_m_GWater = 0; + //Water GTexture + GLuint t_m_Gwater = 0; //Water blur texture GLuint t_m_tWater; //WAterpass Framebuffer GLuint t_m_fbWater; + GLuint m_CurrentScreenBuffer = 0; void LoadShaders(); void CreateBuffers(); GLuint CreateQuad(); + GLuint CreateWaterParticleVAO(RenderQueue &particles); static bool DepthSort(const std::shared_ptr &i, const std::shared_ptr &j) { return (i->Depth < j->Depth); } - void DrawDeferred(RenderQueue &objects, RenderQueue &lights); + void DrawDeferred(RenderQueue &objects, RenderQueue &lights, RenderQueue &waterParticles); void DrawForward(RenderQueue &objects, RenderQueue &lights); void DrawScene(RenderQueue &objects, ShaderProgram &program); void DrawLightSpheres(RenderQueue &lights); diff --git a/src/game/Core/Renderer.cpp b/src/game/Core/Renderer.cpp index 3956336..a80106c 100755 --- a/src/game/Core/Renderer.cpp +++ b/src/game/Core/Renderer.cpp @@ -91,6 +91,10 @@ void dd::Renderer::LoadShaders() //glBindFragDataLocation(m_SPDeferred2, 0, "FragmentLighting"); m_spDeferred2->Link(); + //Water Pass + t_m_spWater = ResourceManager::Load("Shaders/Deferred/water/"); + t_m_spWater->Link(); + // Pass #3: Combining into final image m_spDeferred3 = ResourceManager::Load("Shaders/Deferred/3/"); m_spDeferred3->Link(); @@ -115,6 +119,7 @@ void dd::Renderer::CreateBuffers() m_UnitSphere = ResourceManager::Load("Models/Core/UnitSphere.obj"); m_StandardNormal = ResourceManager::Load("Textures/Core/NeutralNormalMap.png"); m_StandardSpecular = ResourceManager::Load("Textures/Core/NeutralSpecularMap.png"); + t_m_WhiteSphereTexture = ResourceManager::Load("Textures/Test/Water.png"); glGenRenderbuffers(1, &m_rbDepthBuffer); glBindRenderbuffer(GL_RENDERBUFFER, m_rbDepthBuffer); @@ -149,16 +154,14 @@ void dd::Renderer::CreateBuffers() glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - //WaterTest - glGenTextures(1, &t_m_GWater); - glBindTexture(GL_TEXTURE_2D, t_m_GWater); + glGenTextures(1, &t_m_Gwater); + glBindTexture(GL_TEXTURE_2D, t_m_Gwater); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA32F, m_Resolution.Width, m_Resolution.Height, 0, GL_RGBA, GL_FLOAT, NULL); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - // Create first pass framebuffer glGenFramebuffers(1, &m_fbDeferred1); glBindFramebuffer(GL_FRAMEBUFFER, m_fbDeferred1); @@ -167,10 +170,8 @@ void dd::Renderer::CreateBuffers() glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT1, GL_TEXTURE_2D, m_GPosition, 0); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT2, GL_TEXTURE_2D, m_GNormal, 0); glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT3, GL_TEXTURE_2D, m_GSpecular, 0); - //WaterTest - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT4, GL_TEXTURE_2D, t_m_GWater, 0); - GLenum firstPassDrawBuffers[] = { GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1, GL_COLOR_ATTACHMENT2, GL_COLOR_ATTACHMENT3, GL_COLOR_ATTACHMENT4 }; - glDrawBuffers(5, firstPassDrawBuffers); + GLenum firstPassDrawBuffers[] = { GL_COLOR_ATTACHMENT0, GL_COLOR_ATTACHMENT1, GL_COLOR_ATTACHMENT2, GL_COLOR_ATTACHMENT3 }; + glDrawBuffers(4, firstPassDrawBuffers); if (GLenum fbStatus = glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) { LOG_ERROR("m_fbDeferred1 incomplete: 0x%x\n", fbStatus); exit(EXIT_FAILURE); @@ -196,19 +197,19 @@ void dd::Renderer::CreateBuffers() exit(EXIT_FAILURE); } - //Blur the water - glGenTextures(1, &t_m_tWater); - glBindTexture(GL_TEXTURE_2D, t_m_tWater); + //Fill Water Texture + glGenTextures(1, &t_m_Gwater); + glBindTexture(GL_TEXTURE_2D, t_m_Gwater); glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA8, m_Resolution.Width, m_Resolution.Height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT); - //Blur water pass + //Fill water pass glGenFramebuffers(1, &t_m_fbWater); glBindFramebuffer(GL_FRAMEBUFFER, t_m_fbWater); - glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, t_m_tWater, 0); + glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_2D, t_m_Gwater, 0); GLenum waterPassDrawBuffers[] = { GL_COLOR_ATTACHMENT0 }; glDrawBuffers(1, secondPassDrawBuffers); if (GLenum fbStatus = glCheckFramebufferStatus(GL_FRAMEBUFFER) != GL_FRAMEBUFFER_COMPLETE) { @@ -241,7 +242,7 @@ void dd::Renderer::CreateBuffers() void dd::Renderer::Draw(RenderQueueCollection& rq) { - DrawDeferred(rq.Deferred, rq.Lights); + DrawDeferred(rq.Deferred, rq.Lights, rq.Water); rq.Forward.Jobs.sort(dd::Renderer::DepthSort); DrawForward(rq.Forward, rq.Lights); @@ -264,7 +265,7 @@ void dd::Renderer::Draw(RenderQueueCollection& rq) DebugKeys(); } -void dd::Renderer::DrawDeferred(RenderQueue &objects, RenderQueue &lights) +void dd::Renderer::DrawDeferred(RenderQueue &objects, RenderQueue &lights, RenderQueue &waterParticles) { // Pass #1: Fill G-buffers glDisable(GL_CULL_FACE); @@ -279,6 +280,18 @@ void dd::Renderer::DrawDeferred(RenderQueue &objects, RenderQueue &lights) m_spDeferred1->Bind(); DrawScene(objects, *m_spDeferred1); + //WaterPass + glDisable(GL_CULL_FACE); + glCullFace(GL_BACK); + glDepthMask(GL_FALSE); + glDisable(GL_DEPTH_TEST); + glEnable(GL_BLEND); + glBindFramebuffer(GL_FRAMEBUFFER, t_m_fbWater); + glClearColor(0, 0, 0, 1); + glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); + t_m_spWater->Bind(); + DrawWater(waterParticles); + // Pass #2: Lighting glEnable(GL_CULL_FACE); glCullFace(GL_FRONT); @@ -349,7 +362,6 @@ void dd::Renderer::DrawScene(RenderQueue &objects, ShaderProgram &program) glUniform3fv(glGetUniformLocation(shaderProgramHandle, "LightSpecular"), 1, glm::value_ptr(glm::vec3(1.f))); glUniform3fv(glGetUniformLocation(shaderProgramHandle, "LightDiffuse"), 1, glm::value_ptr(glm::vec3(1.f))); glUniform1f(glGetUniformLocation(shaderProgramHandle, "LightRadius"), 40.0f); - glUniform1f(glGetUniformLocation(shaderProgramHandle, "MaterialShininess"), modelJob->Shininess); glActiveTexture(GL_TEXTURE0); @@ -370,7 +382,6 @@ void dd::Renderer::DrawScene(RenderQueue &objects, ShaderProgram &program) glBindTexture(GL_TEXTURE_2D, *m_StandardSpecular); } - glBindVertexArray(modelJob->VAO); glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, modelJob->ElementBuffer); glDrawElementsBaseVertex(GL_TRIANGLES, modelJob->EndIndex - modelJob->StartIndex + 1, GL_UNSIGNED_INT, 0, modelJob->StartIndex); @@ -440,6 +451,68 @@ void dd::Renderer::DrawLightSpheres(RenderQueue &lights) } } +void dd::Renderer::DrawWater(RenderQueue &waterParticles) +{ + GLuint shaderProgramHandle = *t_m_spWater; + + glm::mat4 projectionMatrix = m_Camera->ProjectionMatrix(); + glm::mat4 viewMatrix = m_Camera->ViewMatrix(); + glm::mat4 PV = projectionMatrix * viewMatrix; + glm::mat4 MVP; + for ( auto &job : waterParticles ) { + LOG_INFO("1"); + auto waterJob = std::dynamic_pointer_cast(job); + if (waterJob) { + LOG_INFO("2"); + glm::mat4 modelMatrix = waterJob->ModelMatrix; + MVP = PV * modelMatrix; + glUniformMatrix4fv(glGetUniformLocation(shaderProgramHandle, "MVP"), 1, GL_FALSE, glm::value_ptr(MVP)); + glUniformMatrix4fv(glGetUniformLocation(shaderProgramHandle, "M"), 1, GL_FALSE, + glm::value_ptr(modelMatrix)); + glUniformMatrix4fv(glGetUniformLocation(shaderProgramHandle, "V"), 1, GL_FALSE, + glm::value_ptr(viewMatrix)); + + glActiveTexture(GL_TEXTURE0); + glBindTexture(GL_TEXTURE_2D, *t_m_WhiteSphereTexture); + + glBindVertexArray(m_UnitQuad->VAO); + glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, m_UnitQuad->ElementBuffer); + glDrawElementsBaseVertex(GL_TRIANGLES, m_UnitQuad->m_Indices.size(), GL_UNSIGNED_INT, 0, 0); + } + } +} + +GLuint dd::Renderer::CreateWaterParticleVAO(RenderQueue &particles) +{ + float waterVerts[particles.Size()]; + int i = 0; + + for ( auto &job : particles ) { + auto waterJob = std::dynamic_pointer_cast(job); + if (!waterJob) + continue; + waterVerts[i ] = waterJob->Position.x; + waterVerts[i+1] = waterJob->Position.y; + waterVerts[i+2] = waterJob->Position.z; + i+3; + } + + GLuint vbo[1], vao; + glGenBuffers(1, vbo); + glBindBuffer(GL_ARRAY_BUFFER, vbo[0]); + glBufferData(GL_ARRAY_BUFFER, 3 * particles.Size() * sizeof(float), waterVerts, GL_STATIC_DRAW); + glGenVertexArrays(1, &vao); + glBindVertexArray(vao); + glBindBuffer(GL_ARRAY_BUFFER, vbo[0]); + glVertexAttribPointer(0, 3, GL_FLOAT, GL_FALSE, 0, 0); + glEnableVertexAttribArray(0); + + glBindVertexArray(0); + glBindBuffer(GL_ARRAY_BUFFER, 0); + + return vao; +} + GLuint dd::Renderer::CreateQuad() { float quadVertices[] = @@ -503,4 +576,7 @@ void dd::Renderer::DebugKeys() if (glfwGetKey(m_Window, GLFW_KEY_F6)) { m_CurrentScreenBuffer = m_tLighting; } + if (glfwGetKey(m_Window, GLFW_KEY_F7)) { + m_CurrentScreenBuffer = t_m_Gwater; + } } diff --git a/src/game/Core/Shaders/Deferred/water/Fragment.glsl b/src/game/Core/Shaders/Deferred/water/Fragment.glsl new file mode 100755 index 0000000..dc9d544 --- /dev/null +++ b/src/game/Core/Shaders/Deferred/water/Fragment.glsl @@ -0,0 +1,90 @@ +/* + This file is part of Daydream Engine. + Copyright 2014 Adam Byléhn, Tobias Dahl, Simon Holmberg, Viktor Ljung + + Daydream Engine is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Daydream Engine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with Daydream Engine. If not, see . +*/ + +#version 440 + +layout (binding=0) uniform sampler2D DiffuseTexture; +layout (binding=1) uniform sampler2D NormalMap; +layout (binding=2) uniform sampler2D SpecularMap; + +uniform mat4 MVP; +uniform mat4 M; +uniform mat4 V; +uniform mat4 P; +uniform vec3 LightPosition; +uniform float LightRadius; +uniform vec3 LightSpecular; +uniform vec3 LightDiffuse; + +in VertexData +{ + vec3 Position; + vec3 Normal; + vec3 Tangent; + vec3 BiTangent; + vec2 TextureCoord; + vec4 DiffuseColor; + vec4 SpecularColor; + vec4 BoneIndices1; + vec4 BoneIndices2; + vec4 BoneWeights1; + vec4 BoneWeights2; +} Input; + +out vec4 frag_Diffuse; + +vec4 phong(vec3 position, vec3 normal, vec3 specular, float specularExponent) +{ + // Diffuse + vec3 lightPos = vec3(V * vec4(LightPosition, 1.0)); + vec3 distanceToLight = lightPos - position; + vec3 directionToLight = normalize(distanceToLight); + float dotProd = dot(directionToLight, normal); + dotProd = max(dotProd, 0.0); + vec3 Idiffuse = LightDiffuse * dotProd; + + // Specular + //vec3 reflection = reflect(-directionToLight, normal); + vec3 surfaceToViewer = normalize(-position); + vec3 halfWay = normalize(surfaceToViewer + directionToLight); + float dotSpecular = max(dot(halfWay, normal), 0.0); + float specularFactor = pow(dotSpecular, specularExponent); + vec3 Ispecular = specular * LightSpecular * specularFactor; + + //Attenuation + float dist = distance(lightPos, position); + //float attenuation = 1.0 - pow(dist / LightRadius, 2); + float attenuation = pow(max(0.0f, 1.0 - (dist / LightRadius)), 2); + + return vec4((Idiffuse + Ispecular) * attenuation, 1.0); +} + +void main() +{ + vec4 normalTexel = texture(NormalMap, Input.TextureCoord); + mat3 TBN = mat3(Input.Tangent, Input.BiTangent, Input.Normal); + vec3 normal = normalize(vec4(TBN * normalTexel.xyz, 0.0).xyz); + + vec4 specularTexel = texture(SpecularMap, Input.TextureCoord); + + vec4 diffuseTexel = texture(DiffuseTexture, Input.TextureCoord); + vec4 La = vec4(0.3, 0.3, 0.3, 1.0); + vec4 light = phong(Input.Position, normalize(normal), specularTexel.rgb, specularTexel.a); + //frag_Diffuse = light; + frag_Diffuse = diffuseTexel; +} \ No newline at end of file diff --git a/src/game/Core/Shaders/Deferred/water/Vertex.glsl b/src/game/Core/Shaders/Deferred/water/Vertex.glsl new file mode 100755 index 0000000..64a9e26 --- /dev/null +++ b/src/game/Core/Shaders/Deferred/water/Vertex.glsl @@ -0,0 +1,83 @@ +/* + This file is part of Daydream Engine. + Copyright 2014 Adam Byléhn, Tobias Dahl, Simon Holmberg, Viktor Ljung + + Daydream Engine is free software: you can redistribute it and/or modify + it under the terms of the GNU Lesser General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + Daydream Engine is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public License + along with Daydream Engine. If not, see . +*/ + +#version 440 + +uniform mat4 MVP; +uniform mat4 M; +uniform mat4 V; +uniform mat4 P; +uniform mat4 Bones[100]; + +layout (location = 0) in vec3 Position; +layout (location = 1) in vec3 Normal; +layout (location = 2) in vec3 Tangent; +layout (location = 3) in vec3 BiTangent; +layout (location = 4) in vec2 TextureCoord; +layout (location = 5) in vec4 DiffuseColor; +layout (location = 6) in vec4 SpecularColor; +layout (location = 7) in vec4 BoneIndices1; +layout (location = 8) in vec4 BoneIndices2; +layout (location = 9) in vec4 BoneWeights1; +layout (location = 10) in vec4 BoneWeights2; + +out VertexData +{ + vec3 Position; + vec3 Normal; + vec3 Tangent; + vec3 BiTangent; + vec2 TextureCoord; + vec4 DiffuseColor; + vec4 SpecularColor; + vec4 BoneIndices1; + vec4 BoneIndices2; + vec4 BoneWeights1; + vec4 BoneWeights2; +} Output; + +void main() +{ + mat4 boneTransform = mat4(1); + if (length(BoneWeights1 + BoneWeights2) > 0) { + boneTransform = BoneWeights1[0] * Bones[int(BoneIndices1[0])] + + BoneWeights1[1] * Bones[int(BoneIndices1[1])] + + BoneWeights1[2] * Bones[int(BoneIndices1[2])] + + BoneWeights1[3] * Bones[int(BoneIndices1[3])] + + BoneWeights2[0] * Bones[int(BoneIndices2[0])] + + BoneWeights2[1] * Bones[int(BoneIndices2[1])] + + BoneWeights2[2] * Bones[int(BoneIndices2[2])] + + BoneWeights2[3] * Bones[int(BoneIndices2[3])]; + } + + //gl_Position = MVP * boneTransform * vec4(Position, 1.0); + gl_Position = MVP * vec4(Position, 1.0); + + //TODO: Make sure that boneTransform works here. + Output.Position = (V * M * boneTransform * vec4(Position, 1.0)).xyz; + Output.Normal = (inverse(transpose(V * M)) * boneTransform * vec4(Normal, 0.0)).xyz; + Output.Tangent = Tangent; + Output.BiTangent = BiTangent; + Output.TextureCoord = TextureCoord; + Output.DiffuseColor = DiffuseColor; + Output.SpecularColor = SpecularColor; + Output.BoneIndices1 = BoneIndices1; + Output.BoneIndices2 = BoneIndices2; + Output.BoneWeights1 = BoneWeights1; + Output.BoneWeights2 = BoneWeights2; +} \ No newline at end of file diff --git a/src/game/Physics/PhysicsSystem.cpp b/src/game/Physics/PhysicsSystem.cpp index ea25ede..30c0e35 100755 --- a/src/game/Physics/PhysicsSystem.cpp +++ b/src/game/Physics/PhysicsSystem.cpp @@ -264,13 +264,13 @@ void dd::Systems::PhysicsSystem::CreateParticleGroup(EntityID e) { auto t_waterparticle = m_World->CreateEntity(e); auto transformChild = m_World->AddComponent(t_waterparticle); - auto sprite = m_World->AddComponent(t_waterparticle); + //auto sprite = m_World->AddComponent(t_waterparticle); transformChild->Position = glm::vec3(t_ParticlePositions[i].x - transform->Position.x, t_ParticlePositions[i].y - transform->Position.y, -9.5f); transformChild->Scale = glm::vec3(m_ParticleSystem->GetRadius())/transform->Scale; - sprite->SpriteFile = "Textures/Ball.png"; + //sprite->SpriteFile = "Textures/Ball.png"; m_World->CommitEntity(t_waterparticle); m_EntitiesToParticleHandle.insert(std::make_pair(t_waterparticle, m_ParticleSystem->GetParticleHandleFromIndex(i)));