From efa390294d664813da686cf2385a665f8a847285 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=8E=E5=BF=97=E5=BC=BA?= <357099073@qq.com> Date: Tue, 27 May 2025 11:46:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=8C=E6=88=90=E5=A4=B4=E5=83=8F=E4=B8=8A?= =?UTF-8?q?=E4=BC=A0=E4=B8=8E=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/index/controller/IndexController.php | 2 +- app/index/controller/UserController.php | 38 +- app/index/view/user/component/avatar.php | 439 +++++++++--------- .../1ef4d2905dfcc9d6aa0859ff5c144730.webp | Bin 0 -> 75846 bytes .../7104a5464415e4cf6a610b95797e5c19.webp | Bin 0 -> 75938 bytes .../e6fb09fe00bf3fcd318e8f6d4adda6f2.webp | Bin 0 -> 75846 bytes 6 files changed, 239 insertions(+), 240 deletions(-) create mode 100644 public/storage/avatar/20250527/1ef4d2905dfcc9d6aa0859ff5c144730.webp create mode 100644 public/storage/avatar/20250527/7104a5464415e4cf6a610b95797e5c19.webp create mode 100644 public/storage/avatar/20250527/e6fb09fe00bf3fcd318e8f6d4adda6f2.webp diff --git a/app/index/controller/IndexController.php b/app/index/controller/IndexController.php index 4e69814..673cf00 100644 --- a/app/index/controller/IndexController.php +++ b/app/index/controller/IndexController.php @@ -374,7 +374,7 @@ class IndexController extends BaseController try { // 验证上传的文件 validate([ - 'image' => 'filesize:51200|fileExt:jpg,png,gif,jpeg' + 'image' => 'filesize:51200|fileExt:jpg,png,gif,jpeg,webp' ])->check($file); // 存储文件到public磁盘的uploads目录 diff --git a/app/index/controller/UserController.php b/app/index/controller/UserController.php index 7594d3d..40a01c0 100644 --- a/app/index/controller/UserController.php +++ b/app/index/controller/UserController.php @@ -140,34 +140,20 @@ class UserController extends BaseController public function logout() { try { - // 记录退出日志 Log::record('用户退出登录', 'info'); - - // 1. 清除所有 session + + // 清除所有会话和缓存数据 session(null); - - // 2. 清除所有 cookie - // 正确的删除 cookie 方式 - cookie('user_id', null, ['expire' => -1]); - cookie('user_account', null, ['expire' => -1]); - cookie('user_name', null, ['expire' => -1]); - cookie('user_avatar', null, ['expire' => -1]); - cookie('expire_time', null, ['expire' => -1]); - cookie('is_auto_login', null, ['expire' => -1]); - cookie('auto_login_attempted', null, ['expire' => -1]); - - // 3. 清除缓存 Cache::tag('user_cache')->clear(); + + // 清除所有cookie + $cookies = ['user_id', 'user_account', 'user_name', 'user_avatar', + 'expire_time', 'is_auto_login', 'auto_login_attempted', 'PHPSESSID']; + foreach ($cookies as $cookie) { + cookie($cookie, null, ['expire' => -1]); + } - // 4. 返回成功状态,并告诉前端清除 localStorage - return json([ - 'code' => 0, - 'msg' => '退出成功', - 'data' => [ - 'clear_storage' => true - ] - ]); - + return json(['code' => 0, 'msg' => '退出成功', 'data' => ['clear_storage' => true]]); } catch (\Exception $e) { Log::record('退出登录失败:' . $e->getMessage(), 'error'); return json(['code' => 1, 'msg' => '退出失败:' . $e->getMessage()]); @@ -395,8 +381,8 @@ class UserController extends BaseController } $ext = strtolower($file->getOriginalExtension()); - if (!in_array($ext, ['jpg', 'jpeg', 'png', 'gif'])) { - return json(['code' => 1, 'msg' => '只支持jpg、jpeg、png、gif格式的图片']); + if (!in_array($ext, ['jpg', 'jpeg', 'png', 'gif', 'webp'])) { + return json(['code' => 1, 'msg' => '只支持jpg、jpeg、png、gif、webp格式的图片']); } // 移动到指定目录 diff --git a/app/index/view/user/component/avatar.php b/app/index/view/user/component/avatar.php index fc34ca0..940e174 100644 --- a/app/index/view/user/component/avatar.php +++ b/app/index/view/user/component/avatar.php @@ -1,12 +1,12 @@
当前头像
点击或拖拽图片到此处上传
@@ -28,228 +28,241 @@t*K-3)F@ilK56P=LlZDhZSe9?`zSxRjgXL>u@wH?|ZXt}}y&b*>$$ zS&A;*kQQa{1gl@WMvJ)biQ!pNEpJVPN%+923l_|_KXj5pb3eh3PmG#6lPw^FxU>It z$oebAWFL{8YV$31;NJ6&8KDhadl@?XF>Dm0>H~7tA5&I*OIs()^`Vv@eq>;!HWki) z3LC{7pU>@=MkRt%)bDeanTV(KG@t5seTw0vB;YsWGY08%ut|%8f1|tOkMFZGE7_b~R6Q75rzm1A$!)hUyx h{gztGjD5df_}L 0^yl3lS^$S>{JTFedFNOpPf3 z*huJz;~i&InStDP^Jkmjihbx6HR7O*>4m~ZNi|K6bEkq(Kc4hOqLn3XWG=!*`vC;n zS~$c1nqk&FtDX7zZu^mA3b$7+p)^4Hhj)#(jn$($etRFA0DnsY8vDU- ~}3konX0S!BxUB zUf`zjsZ|h!LVlA0SyM!0fgGm!9KcnAxJ^2nEnZ~JM>Cfzv1cmgJ&K(pmuS4%F1G-i zpN9rJ9Y$ -}E87```M5Y~>6-=fW%B`XX{ O{ZGeph|Vx3IUdo(ztJ&Ue03qVJdAkMwKVROgf5%A?LV!$ynoE8MWSUKVl)pyq;k z`^2}6cpd$Jg;?+RTz^NOyXO0DC`FI02dBcb&!j$Oq@$)L%QV_XF>=qT8K@1;+-W@m zW8ajB&!j!NlR;yz0f4rCJN1GrN`3f;#jT7R%f&fYlAC(j>X7jeP`inft^NcK28 ^>Ysr^<8uiNKTpc6 zcN1d1fW0+FHCdhRF8PGh`Em@Tvl#zoxr@P~u%Gle)4>MWB68(&J{RFW`ztxL2sC94dpJ%z2+Gy}J!Hs# zgPNlAF2wDJ#vI09iY XuR kX9AqVVtRgCBIAn@XB&! SzD?fZQL@0N4zD7O^b2e%?=V-MWAhLNgTH}&U0z8`4o@>4qV2+uOxRjB!4 z%RHa4K1kYwdXO@}7oXqKjR^Qc-G{GcPkv`j>hMTs_yvs$*ijl}D~QUbQ?6ni$b}sc zjy9R=PD>qB1}ec6EJdU=vk=H29Pkt2%!=>m5L}Ln$=(R5K0#RyXe>!vTd?HH(eE|X zA&g2-he=Kr1HO R*Fw9`3^dK;}#Jy{UctkeR!I-U_RN2~)XC(>n zMxPI&e6&Ec{_5Fxl%0zN Y<^vbBKWI)2R&@`AAp%&s;|k6v1Qi?#Y84dFg4|+Dpy{Uz%)o6 z#J;69S7IsY65S 6a65{q45&l0i>3&1^N4`TAVW1bh&1;gQGho(<&x8A5!{j-cM8ONT=@(+#8q%#fz zv6xXOB5udF%%^qH!nCFDaB7AJQ4syup<0Quo%9f^4>o=pf~OP1#jMkxHCWjvC;Z>2 zUsvq(vZ1oTU$e2IeT1Q`EY-v(4h1;VH+;*behI*tNVXwMYdu;T6#1!mpKSEVqS6G! z6lX$(OStUKK1?E5FEZA=>@tk?F7}grtLZu)6ILlk2oU(){ziPH)c Y81^qQAvuw5!*8-mccO4~{wq~v zjQXHviT;MgXmi+OJik-$Q=OA^%W+N>S5#58w `C`p>NoF z4Q18BbidP(;*j85qgYS{Vt&5?tpZ;@_8= 0V$ijC zqYl}ojBK&XE>Le~YTwo)Y^Tk};cV^j!0-hVZILK)fR1s9=Ld1`9gHxY(Ecz-P*1kS z&fC22*icymB+LH#JX^ERuk#ziI0S1rj!%N{m W3Db&x z6rf}r*{9V%q%4=~d=36C87$&Gteyod<`+aVSp-Fwz
&+@$4aAOM|vTX?=%RtPdXD5&dI;EeYkdHUP=)5_?@0wM^ zlVcaueY20|3qLjU+-RIyJHf2P7eh(OSVMM>_Tf;UJQFBIu8tRls^8F9tw;W0D|fTt z9k&u{;uM$t>+(z!*K|3o^*6qV&uDUFo99G61Tm8i3O4U!_?St4Sab+;d>sanxpImZ zzCLqCmC~Z6!d7=-pMV4I)Q=vEC`r|xWD=00d2)zi%$5u8{e2MlC?fN6x8llEN@j4f zuNc&(+N3mCa1O?pr6UvEMvJfA=NUs-VCX0PQm<^Mo;>>dM~2Lzi>4s%qn`6TyCNhS zwU;=}HT8)6AV&QnabMnG3siUY$?BBG?!3)n%!~_jNQc?W&FJP|I+0nKeWv_|r%_#< zFmNWw<+VPSv_IHAl8O8`p|dGv2+Jxr2|d~(Gv#lTpc-|Aeh9VM+eem~?5wOPU509^ zw{C{B7=p<_g4gw+N^X?o43;iKW(*Zed(?qxSK7pML~>U9t==+>rNc}QmEhb(%T0~X z>#~NbIGgzK;S_bFtA$9}_nm+(G~eIMn%-%8^fV^bDC;#UjEBcMAZ(-0^ZWQZ%HD3< z;d!8=-8Y8Mm$!GV#G^ubRGmp$A`BzYJx(!JJiVyGzcCp9s8w3h0O_-JqRPJ2% fTBo~I&%XCuNPLIz#;~w@5l~if(!Mt`giSfJd5;? zX`fY7uv)CJKN$Y*D`^yRc$j()cFuDLKZ7eAtwC%=IyKb^k>sU skhl@L;eQU z<7O?b=cw;I-6DZhG$Ki)y<3~eKEb+GyZF|wtht`)naomO#2UZ~iUO`MiL1u0UMGHP zwo |a)Fs^38pp_U2HU*wB;POK-cM0TgjD$ zlD6%Mj}D)^y^g{YV)upIONQ#{_;NjMZY|ozE%Yt#)=ElF-bELJ#PX+maS zR4_HtZmRR1%erdIJiy<-xCoAjJPnlEyv3&;?`&4eZa(|@@RY0$@<1*TW0A_mWn2YY zaACJxz?WHfxzoCB=C8v9M8l{mxzYOsCSHCC(+pl=S=k7Tnf8Hb7XHIq8^o>==#bge zDB=>+dyQWSO+vS!%-^z}zl^_D)IyljjniPY2MZq-1I4SHNjNEBKjEk9Kdr?=1zS?L zrhxy=U3ZA jf_NU>Bbt!>w)`C3KeqNBh7|EJNgFyC`eJ67}BkTovH z(rATic4|(&Rpe|e^v{PdlRB#mx@Vp5UyHj!xd|uzJrm!m8}6(9P|0n^>wUSS sl7Rgc%ia*w7FXaG#EbT&;B#Mz!nl(G#>03um zCr3ULA_jHW8C^V=pLVZl3W9I6V>=>#A|k_?RbCJ0qzmBU7G~(9SQ2u>@NrUdL|#Iz zjka|j0R@TpG1mt9d!T6h)@fiZbrIIy;0ww5;-ih^&w_sn>wz4%O`NsZ!w};f+6~R= zR~hI=A}K_e%n~8RNl``RHeV>U0jlKXqx?v`O%#y0of86 (C31ADgAZ zj|82--aVtv>_Y6QmT oH}=U>_k%nl`i3X80jbQ|ZxFX;0y9pb6wm3*kP@yx zjZa~Rrhf^ZzJr(s?w6b_?KVw~$yyS>n%Q&t^1r~~mxZ809X(LI1|w~TnKs`gR}ENe z^SY&K9Bs}Q7`O_^)!041!>F~p;my$)KuvYIVyb&nTD?#Bn^k_Z!*}_+Dz>OPn#3$& zJjNvkY-y%k{QA{30s^MzbhX6qFg(%1R`ubwvrSm@nua9+o)T_0O{qGi*tL#5FOt^B zwNC&rwfIHh^DeDYboBfUswXTM90n_-XHe~Q!%~FnlbMi~%F#JPR12L_KNhKKmMPo7 zryQScE=`SSy;hmqU2-@Q|0Jm_6RWcXimRuT)6i8D6wE^B1$>oiK}KIr(3Wc}f0YT` zZ{JxQR1LD>_`9!ADUTfWXYZEdtDeMoeym!*!bUa|`aTPgcb~BQpd0Qy3>+x1>XSMW zl3p3p#I7b>BU_@)$nt5x`B *Y}sX+8Y~9wVRUhKgu#{q75o@ z32$RI`r{v|)sLv1qH+T)`b3Yd6*APQ!b&9IjMz2H+)TQno-at<;?J{$Z6)Ep^$B}O z6RzuG1e+pu-L6rRIkf*w8X}JDy=1WOT&yBXg}r>c#rVvAEqzw~W2H^WbwBJVS3>Gw z?onUqe5kXvWU^NFF$bGoQd>eZo0qynm2c& NPI&*{(O$tDA&<90s9OBKEhnrtyNGSvgbSXqtRwCOFN zP=!b;Q%bUqK`B n6YEePUk-Y&)1e4R}veGl56jkgOK99F;_Q#46;Aqp-+ z&e94%RRq@G2wl@@=Iqllj@)6EOX0^1W3xa%5G`z7t1h;u%eah*8BzYo+9RyS9tn?1 zQZCA))82bvJj&ehkue_4b9*a}*hpzFLuUtU!ne1fICsOw`lTIRE#K(^PDbyJK-4$A zb$y%A0yIe1aQ7{1OGM=opF7C-PI9(>_r?0o9FO{&hB1~eDHgD%s>`M1h+&;_90?Gl z*T2d-7*ym-q46%~AxVv)U>Ou8Z_WbakhxtK&W8*Cj-Y?<;yyhBc*5FvocQ4zRDQt} zt7e)CntFejV4&?Dl3#V0@F$|j!nf%i!MLW+(b@bV-|x=ljdYaC`>q`3u_gYzJ_(sF zsLGAg>na?=!!Gdsw4H>H^;3B}G?&3o{l%V(1{mb{ss*UzisSQDo%M|@`K7d}r-V?@ zpL?{M3Mh7)f~C;ZZ9{g!)7=n~yp&e#!RQqz?F9S$T!%2;D 9+V1pzh?TFLk_Clz(7y{zt z5WyHle1cYD4w>bSi_Y-e)w53Mjwz&d$Ig$FTw%!;SB}0`7K#rj%R>5I;LYU$#z>qd zC!HSiq@>wIj*vYKoA 0ewb48()8B>AC^x3{a(gNA< zNstAHb0LDpFC0>ieYN; p4KLzwts=>IYD#l%+arg%@1D}Ak$393Y#Bef*{^HX>RS$GhGtp74YQHH;zra z6}TUYx(h^Agm=Yv9sQY|EQG#ZXkjL=_HVAX8yN`|K5$Q0mQYf~i^i~rRPz#ouRwRp zyNWhvH$pNSkp`L`&F8X>SR9Q_V^ig6|F#;bJ5HhW(vl*nbqkFJXCuweHsDJy nBiH#r*ZNt zI&j_ qw>|s1wqaQrsHxJ+T>leJCkYYcOX4ZUgoQI4!Y{SL)2ES& zr|LRn(F>xh*!nmKcFyU!L}YW|+keI*Y7awxr!FA4*mNG4=iIz!cJ6MK9$&s6({M;8 z3+HSlIyiK2i{O;!Kj9h5EYh%PUW5(YNt%iai&8vkbUN_n%d6v<$0rqL4X-&u)A4)9 zFeUpA-qkR95YZnG*r~2yG29ZDFO~BuAqL|dA*HWH<)p;%vnP%uIC6LE=qLmCmMR?+ zRkg@UDNOlx{sy4$thc4Onnv$mzUpu!OGrhdPe= dQR%?*cMqxDO_}Cz5##&qMa;h(-e&`BjYA zHiG8JH_l&w+J 7I!U^pP(4-KpNPxl5qBQZ^F~+a IdJNFwkXg|*bVd1Hu%*~@fe%u!P6Xd>5= z(1ZiUgcPHAx{FF4=AwWqe*EvOaym`St}SWVulho1pUy=QUVH$Chi(q29>|Ppt6NrW z?ZjWV&)O1H2^6AcPZBcHm{Q)N_+^5{C43DmEC@&!R&l@fAtt342&w*QzXE68KRp16 zUQ${POid4Vyh`CcQJbb<5PQ&SiybLJ!S&-2MI8BAz3j|o5e}7oGe*|!-rbj*ZGW)~ z`C @eD}y64-q btoo$sGPjK)F#}!?U&$nOst9Dv(Nh1bg9IDE{e*tSsclv>?n z(}K5P__m{9up}oeBnw`=a3wm~?InrA{9|cIKST&WkcCEzRA1Q@j-}A6F(WSeNQ=C@;YZQ&C-` zOK3=~3^m}`Y{!qM#t0?oC0{NN%1wtug1d3;9EZZiepxyh_jOr4us PDy?FGjfFi?jkUW9QT)a%Jd!nys>`L+iS#afYU`vYqg5_@D!j(Cnq7$0b$=!## zd;}O&N@PL6N`Q|Be#z!Nu11SQ9@t$~vm#P{0wY`hJYJvk?>jmxwM~^3XUqZPoj0$c zO B1sduSRYNnYFZ5wZ1_7UG C;OtkpBz+C&L&L5Mlw=#=bO>E^=WTwhm!6!iGK;Yc9yJUusF zGe_8Bj_#1pd>&baJ-8!Va+EgHX|iFy(4-OOuXe4pV>v*Y4mn#6yC}oL?Vm)@cZ==c zj_`%QSg$Z|bm@S*fwlriJa>ZkYZGo1T7aAs#mbz5sE;(`6JOT4unSy*s{Ss=yz!?P z{TjN!^PKc3j;Ahjsc(H?@R1)UzyF3s2w?Wm9+ol4UK0=Rl48MxZU`p5zCcBjmK8L* zK9jN`o~?lR-0r!QZEhV+ZA;=_g{td1+AKwo&btB!I)LUe((N_%W|H^fbDAF1#2v^> zV2>RxG6K8J;KAA(n4eY(Rpoip@+$a#BX#eB?J{+yXG8o&yZ&*D$lUzig$4;KI@H%< zMaV?uaz19U9<#qSTvMW}J#3z}AL;>#scu_5y;>Kc)%Ae 1I=u`4X}=f&uTt73XSgRA%jWz(~5?11cv zPV4rQFkjfu1pESl>f99~3s3Zi_mR^~BAKqc*1Cyi zKPyOYFm;7&|MrOYAdv%UYVO>8mnS26Y^RNktj5*UQtTHp?=JYD@EM0hh#C^~Sme)k zq1b10_@@NOJ>e@ll%!*1A*Pz=@2uF;e*3^8I{ZJot*sPgF@+Mdx4NFv&1X|k64w`8 z3@(|VsFi`W?##wCHYau#I|D0JxY~Qluta4bb)C_AQQuV>Qkx1Hbup{Fkq={P!RyuD z;u?Pz {!tPW)>90q&OwP{l<@W{} zfpzc*(!WpXSjSEJ!8BUv|FHiYLE!o3@DygxQlI>F9f42y6JzmkDBBu!ah{1HK8vhT zeU=guuVZjiZl0c*gQRrw-ZJ!I=j!SxPBy$6IAUX{lVex-u5YS+=N>cf;Ub_0COIz@ zdEx;UHb|M|Q?9ec7jWU%a$V7SaE`;2PYusLEl$*h{OUgCgw3P$`p7by1AQs?5+_-$ zcVP>xUgt47f-PIT!guB+I0CP6V|E!LCjg(cW;{q zJ2qB{b;7ST-G L=<`key^?^~ zF>f6oD9Xg8z1l!2`em^2=`t39cTO=KKOIDp21(pOHD&^7UA@m&E;xJcRnUtdtY$Uc z;IOX*Et&{$*%RSddxaKUon3PrG0szI0kLI*`TWp+?P;qAQ1vO?^$ehlMxe3sc(+Bq z3O>Hv%b7V=Rc((Qmp1^W%$IBvGa5z{6J#~@`3gd)tPlaDB?<6_(|#SnQOP$J;ud>C zgG2XKk84C3Rta5JDdY08o^=?_<2NiiFGf-dGg nbRN*|CTpt~ z4vlN=H!PbzTjUJkcrE0CS>q@?gOO*^wi5YiIIx@9V5&h~f3*mOrt`YRJTXYi5jNl# zMMZ#X s92#tWBdenMem1Wkf+4-WjV zk?K=BGzhSPAzD*f5#Zm)Tqx4Td6#nx9jVj=I}zCces6@UOC=7L68pyPOj$hm*d}>d zFi5P*xZ#OX3ci)%Phf+Pg+T-ZNJL}9UAdJ0_=LTRM9IymnP~Cs&snXZ&1{MJ!M(nu zSGN>E9l<1@INPTc^)eE i5^#xBj(?oaXC5610fsTl4uo1mB%Xpb{@aYydjj=V&C+Vjhn z=Ms@K`$@MbKJ}H4m9WX*DjI{^`Q Y1y!O znkioQ^V@(&h{DvOpfe*oHMhx oUrLdUyeEeqq%?MnP>F{I%Dtbd9ft%UM{8YVi7dd#?ti<{E6JbA$mCo^ zBZ%)G>mj)HcnD1;bY7%l-_8m%t~xY-0H=i>|06B_E{8OeOl7Taov?V2obOD=ENSbZ z^2~oiVMGZZjOxmwB6E9yUfmGYr>a0Wt@&cRKq?FF<3{oaDR%!2>>!w4sRy#>5kDfo z(KE7+Rs$iXqk5nh>-GE>@+Bc2Hw7z?57KTCWI1dml+D{b*7?E)|M)s&^{o3%Khipd zv>RA*hVsNfEY_M?g9>4N&h8bG{P9g{THc^$Vm3`8rXoxu6ObUl7m-J8ZK@?-Za<3l zse^?^#ucUjW$1=6OHtr@n5z}^os&8I8xJ4XP{{C+V4mFM0if%>e`(Pv8d10PpwX zpDQE|mHec@H+(JhekzUt|s7iysC!;zpY#~AfU{o+~|Wrra_ z(XFi=bjZS$EI(Pi|7<%4qI@y_RMdjHSwQ+o?EH}Cd4=hNp3rQfPu=oFrixPY0CzHz zxJ4=8sOPWXzWCIB1CJR$SJVQg9}N%gI2>IlerR4im5h!*|KeZW@*?vVC@Y=iMcKh1 zss7Wi=(V4{+A?)y3UbE+dZ9D8AB@l~W@J+%dK5b_Ln|jYmIK&eA(wd@wkeNC0m)xK zxp_h2hr^k`{-`Ve#4fMi|7>ds8o?y3YgE;XhngVo>!?8k11mVA`He-3dIZ_zNCQUC zilL4NfpjUsoQ!Xe`o@DVAPh5_|3uW~fONDJsCR*3)XayEaAuO*dzV?3wk0muB9&^d zUeOC>##2^2uq|Fw0Re@I+bE{*Uyi019C|dhnVCXI7SxUMYHxKrD6fjF`p5hw-t^vc zd@{VdjHN)gWH66oK`8OMgj?*Es(g}Jj_bJQXCsC^!zSu*T_t%;4ru{FP $5sAVd+*3i(Jl0mN+( z=ejwxZSuK0*`=h39-gq$r$CWq0^SU3>sZU( zOdpn^e9znRZop!J)eMXY It81t?D7b&7 zX7wP_#u~Y*LUB}9YvX!$rEo|P-ie7P5cQYjsRcbR*UnxBD&@FYv6iTkiP(S`7lGQc z?)gd&6}Ui;`{8wv;&4P XE4Ls&EQhPzUswzA^9VHAG2i!df$2A#mPZs=8uYBn&TTB zKY634Dw#fYkqkBg=zLe{Cs(ZKGZR{nPDgw 502l2Tlcuc@$ z{GkR#O%TNKNko=>CKS =phL+p3(Cv`BDL dcG<@I!Pk^VJc z(0ASJ)^RK|r)tYtEh8u#EU;d`(qPDq%uTJ(9CIaRAhM89&Ai9`wOPc+hu`XdSYCG- z)Mm2s2!W0z>b$xPAO#l!No20Z*~3SHUrqLdwp9hENPJUf;gZx25%kE&Md#`m1|!`g zps*Of0qGD~v}RT9#+*5W|HuxWR6}D+eE$kgZPRJ{d-0OB$YJ *VBPB;u#$jZku!6d6GnCtgMairl-cqnZU&0{VdKj=$Ek?NEn+Vi9-VB4tNZReuTx7wW9YW4uLv=3!?ZuAhiV>AKIUqkcYa+FgLV zUsTK6NP7*jx9V$W$QY^B!#M{*V{Fnl3rf8{j~6iZrx(d7X7YK7=-=lh?7NDTH(7p3 zB*eE1Xh)M zb83usqxu+#;5|yv R;}@B*J|>u*ki%OiwQs5`H~T9@CV)$gzF_F{w#8C!aWf zik#ex+mQ;r!}#X!Ca7pnk=KnPmJ#_8T*=H?^8$3P=E=;5447r-Cz)6@zoYTStUB#C zQ-6`MAh|MP3C0}FJz&^@!~`bnch>$SBAvW*e*DSU?8APM`PX=YzaQYL^*1<+Bg{$^ z)u|%b{79m(qT1`n0Tk2+es)!Wd*#bi!{^m(uS QElh1`i3R1 zQ}j8$NME#)&i5QaJ8#?9QH8*Hao*x5AAyFRJE{EeL4b~FDb8tfX1uV^6e^#bTLT$N zu>(j#usKf2vy7)tyXsaW^_)*i8pd*+)HoOBoaDvsK*PJK@0yrAAm-{}(Yz%68DXel ze&s2#KI|=BHW#p~izKwpY)h?qzpwRmRJO6K7LXC#`MG-KySOP$52bRUGq#kfh|mJd zPWT42H$K1D? iI!sa;k&{4k3arwOSIN zrBV1{(~sQ*5o=6Q*wF`*PR`kNgmILQKH)@TXlyo6oo9dItj_(K+*eQ{{6mN`onH}t zLzCD{uYZ!wqq@>RSGx@Hi ?sP^pnI8gek S@2+n&pg zT=Eaur_cL0 DR7sCHS&Y8p z+EixUF&X}BL%owd2K21-CnX{H6Gn!gy2L&oN(K+MuJi4EX7DgRS1*K4C!CnSBVR7R zPVPJc;-Tv>rt_#>*IMn-)Su71XF)RXXOT_Up168Ex&a(NQeK4W8*MhZ;6p%kpAn2` z#;s@EEySPShGgIyC8rf9cmeW{PB~++2MOQW$l6e=i+055+^pF6r~ c< z@mcrMq1>F 04hnx6Edx&x=sbPb+u zL;`TBT(OxAN%4mL_41?=Gb_>r{;+GL;a?TXSOTnl&bu~li)7cLxFd>@tM<#x@y=Ji z!IWAmJ;4Jl3!i)*LY=S&Ov#ojN|DfOpz&<_2~=sgJ0>*?&oNm2EA%3H?rm>+fz;6H z+(OYT>}3LbKScu$&Zy7nF#N&k5fD*rKVv13mm2LjC`8(+d&MoPp))v%gCjshr@xrG zOrQ}E5d=wn8*An^_2|0QN$dxw16#nZa=~a)?*VbBye$nNjP+xw^T9e@ORuiXvN4!1KsN4uPoUXI z6Z!T30ct>%zYckcvxh0P^U`pSI3;y7rg^%&kAlVBs^0(FVa^VKlbqk&XeX57;A;F3 zB_j?5d*`vgnnr~c?865>KkX&$w9)uYkv*P(%ojIq1M!CHg4eqq>{TbpUGTEM^>I=$ zN=k0|v0Io+{Y^O0eL3*}Ng-cu#bL!}=f@1{fRi+W!=c#pAaK%~h`+73HE3fWJ52Gx=T02&sz2XgmaxHDQ%|zDD#O b zdjDsWCQGOykyw9hkC&JfH@|=Y005ns -+ %G1R1t`Lw_sTzU8IXKo}LyJn1e9>n2m&mw;dkbl4OXn z5)2X+L};9J3fruGm}a8wT0fXvngvwdH002F+S4po3&Zkx7RrfUUO-0a7+Dr(Dm_;H zzW=Jg*9bn|cQnPWzta*V?%e!+gAoB9XiqF_x)uqYYH;50@@_4#O5lnX^z0l|k8J9Y zXWIZ#i~ QGPt1uzWQ|3GMdD=+H?8*hQ&CLcjKH-)Q)fjDw15htHk+@aM2@$>w4`=x;Nf6@x%Czk&KK2q~Wpv*OaxSi(Xpkp}xF!^9p$3_r6%F z8uLrS5WQselkX-21OantPLmNDAc%E_C$%?rfXW?~6`l!0OursVgjG|$7m~RI4{(1y zt%ej`H(cuN-#54@b$3|nnV3)j001SoZ0*!z3z&bEW$jo(ko_zRtfWo2sb110Si*&{ zs@O@!ET>P79F a=m9wT))=MNm4ePkmEwxh*ob|<3JfXdbg#cO^DqyFE)NZ2 z;t%dym(en;z(ksaxOKgLJ~Y`yzZ^YkrL8~X!pacxVV~j?#Y&Zq3yV8UJvccg!`pGd zG=WFbpz%q)r{kZfBgEJZg`lz3FSP^th1%CPXmy6OXux9pehdGHKZkKo0Z{1B4wO~B zjD`!FdJuwy{hYJ}tFo)WSuTd+cuoV}#hU;gXeP%A{@YLy;O)P|G^ydtm{JTOKU_o0 zpY|GI9TZwE7I)-WEsvUMoMjr_y}J@{WLs=$YN{)T1bLf6lV7$OSKY};%Ix3iy6<$K z=%}kEEtLUH2K0HnQ9U7WtgI-qGa$-n+<$3M5vyaI&rW)W#Rm>HC6vL88SZ;&!_cM9 z@Cvmbd{+x 8# zu1+M-WX8Ph@ShQo{w1f0{nTLsANg2Wx+MSb8IELc9d $qA1`xHB}q%TS20|ve=byextfCVId zsfW}dZO^$XYws9vTRkOv?J3MHK8P$<%4Ed6Z>!|IB3^(^q_W&{LopsKuX*iaI!LtF z%1 G7v Z69!)qpDx3ou|W~TTJm<{y~>12`%~_M|#TU zomh(^$*#5Q{;k3^K4b3G@wN8YNd-8J_O!|yx3j*!SqnFBI7+e*7K2TYRy;)Do{iRR zGLP}$1vuEoGMW&;9xFh>s0I%4YMf{f3R`M0Z%CMxdtseVJlutfoBt!pu!kT3003FL z1>ZUY5}uR%i2kuNeh%gxi*CdW6|3R?otlRgM{e>v2Wn@oWHpV{#_6~iwtg|)Mr%(X zrv#Zdz(g~^r=7OwVqL4eO{FAJ_Mw0@=rEF&(^DpaUxMj@#F#LLhh8dMkl-ug<1)y|Eun#V5U(M+GKHt_UDQB}k8 z;AfmF*w!s;|2K6Zkj5dWUx{aQexeBa{p3Jw8M~3#vQtkhv;q$ (+)`|5ZV{V}d{Cmn3&FnDd&`WL`(N?1#RtAQZ2>Vt6rhj;jT_kW3oMm94 zJ~@LUs7@GgMQPAY!^#ff_zM3CUfryAK0x;eo4I7M!{Cy+*|S)YWctuGmsawVHdIaL zl6l%%%nadWE(^GjAn!m1rRJ1?*8B^y9l440vGhsCD9Q_sQ!@{}p93L=psu*hm%t;r zfa~rdYQt`}fL%2SD1Fl_Btcayj31$^gjw9I9%^ 4A;`-sQ=u9ZC z`El=5(!MvNVPvRCJ29_GsLA&QElZlz0?HI&@^_M=4|4<~^xM?clF|>~Cza59{C|0O z 3;R|=uf{l?ug@W`3;|g!}};05{Md4HA@R0SbqG^y3KHQX%vy# znfiC-Z#bce!j{Xv$c0w^6dNCXLxTJ=_Q{2YIYxj-pH9N6uD4H`E-sVNPZFz30Nj9q zYs&dHX|*PDuo;&Bq>9>>jr~phX+#HXZ{uM7{45=u_o g4)#|5EB=e4?Jh+dI&dH7@O6UW$#a_C@ir6$ }#E8 zNq5G82PR5z%ua%HB4>|%&~Dbql2sgrg( +^A*ix1?-V9_jL9Od zbl6Yz6$lOF2-_x*EJQQl$#B74xaTtuD?M-Dqv`ELP#&82If zrMljy^Te>c)&_c(HW_*MTlS=C56K0qHGdV+8Z<84G&v ;{OYt7kKc0HeRS?I6YEOI}8UusFt5xzuUzN z=bPRgqS{Q}WsP9ltvd`P%BF9bn~_iU7ftXD6jzo6)oD-R8HvY^5ls 4IUhul+;< zh(|rRIlJ?PDCL^$PV7?*7a_D<@zLXYdqiI`P`U}S!8F$9?532r;uV7Lt#@{M5`^lt zq{Pa5Mp{+%WW*Y<={P>CEIOMoaA1yuc^OEjrn|9V37!tp<@%y95s?%8hNpzkm#mR= z4{iqCx$ANITa~gs1bDicGYTP9@HzNaChwqtm^Q03Cr+iNLoGX~)BVcC2s;E=Wz0^U z?7}%OJek8en+4UzZxKRt3z@DK1*V;;!I|WoYMbRswF1zPcsct_|9;^9?RP81%f=dI z4&71=ynTUF=^_MbPJRpJ4*S?|7JSs2eo-Ny&!ZhZ!Y1g<^8_8FfB*mhEN!TkfTI5O zWD}Z;KFAP1+69{?tWpUqBTLBqL-bbqhozf_rbX1m*u3r4bb6xj(zlN*%k!TnyS$RY zgcZ84@+E(}$#Yud<(aepnh* v4ItH5m)%C^8}p_)?K2(*6e^W1)2Y2{6YDrk|ZZeab_2mq}&av^x5gM z%c(@JA9)5=US%upYfbh~VAC*5CK2%(sCzkdvd_BDgFZ3uV+7ERa-u3az!Ymxy0g`U zn;42ljsj7p@$s%LOmFig?{eCc-iCM_SBGh$KJ<+7QYk)!j)4QZNU#nEvo;&tPTA=r zCk?VLw3>;j)AI18VssvlIA{4Esq2kA+_WlUFD#JP7HjpHj`$8$JWB1w=5K+z4}rEx zpRSH&2uE82S}GJn=5e-#c`YihQu+>KaCI_f6lHDap31#MkAaXXq*nnXLRHD;? yI00Q^P6JCet#&-#?mJr+P=l|Lgh~F&in3 z*e_n HE4aBavo}R{QVJ*pbiv%C01FVGQVH-EY=mAZ?V~=Ac*A>#>|K_(<_Fp z?Oyln1s{hS(6g^1kpQ{(nTl&_0lPJoo|&(D_WeBlq3SFgVY&*0K`p4VR}rs-zk(`g zU3p2WW=u5tlFHFxbd!lu@$J)p6~#aoVIbhofR`Hp5cb&)P6vhsMYy}Cpve-dYGUi{ z)Cdp*;L1fGNqE`>xHM6U1cpL}g#*~bIO7UsbkPTgkAClB-F$>L2|TYNq{7*hRM#u; zsWcW~^n}RfhiPfg3F;n2+g7bbg`GurA141M_0Mi>VBy+W{jKE{H(#x9Jk*-i;P@&T zQY|iaU2FN`UUw!v7SfyifGf436(qt2*eFe-jZmwRgIv5*jVT?Mrv(cXDvB$tcfqd{ z-iNVic>mzegpL&!x7FO0@$jZD@qWeRCfTKNDk1bfmhkg8Ea{gjkwaG rH%wi!ev^gKH`uvS@aM|Se zl~T$L19KW0ad=~2&=Ok%Q7A_`kVvM__g}E{8g+10Qf6{O)o13_1?1b)CYD7_K2djX za*LBQmy(VHJ5f^=z)PLa?O14jqP|=Y)xH!^{xCYD?SRD8i9F6RY$^XTPKDFss;?A} zco>$jU~Z2I!tyQ8|J?>Qv(XJXy#Y^`|6QXPJ$Q7~X|J5k_)xU7dv`gV9tH#2`Qp9> zuzkMz`lZG1L;j9m#;pfgpr&d~lXjYo1i(CP7e^A-@^$*e#q%SHXdB=5wlGu27q*hc zKz=p-OHP#D%PNM#nF*lAwXaE02 )q2yEe zrIVQ9_I>y-|B^>baWW3it{(Il(gcuCYu#&r5Ue87!`uT&j~K0BgK8{+$2-?O=n^7q zsePI0Nke7(`ruJwL&mAtHxvq-=k`dhrs$F^0~{5ND03S <4>jZ@s?&r<=(M;pE8s|=E)>a8x6xPTkF>oC< z?cCokjRokIMZJjNtl0^Ia%rBwQ4MB_xQLqOg!6K1(`>#&1W~F-e*q9ssVM>($PAA| zkfNybUBY+ocy=<%=8M?Q0m~f6e<`FrC}OQ)CQxO05QuSNIXOCqJ#8o-a~Duv@NI~b zLIeKxr*N0u-t&O!3e(%p*$@P_qy?qT5W=YB*SF2`nW5w|!O}MAS(TmyYFw$%imy7H zq8^#O%vW!T? <1UQRIMg;l42AO#r6jEnQPYHJydnd!9v+zCehnAyx5NR`s-7MI= zIZ^V!-p6NxpPG{McAL|TpL54Dz{H2VT)9=HP=TbH(C1>$qcd^NrM z@L!2&h*V(QFiYdB&N=f-^k8Wl$gVX;ku|6k0TfBOi&a#jU3^iWi03SuP9Y-(vDB@S za=IFsigNg?)W0XBUd}U~QJ$iaBLKcwnBEhg4~E^l-yEi{iujwGkbTlaKGr03tg5N_ z!E{_?6*_zd)qUS}U5CQcS_xoNSE;0%Q-Ljj`!T71D0lGReG@XpY+*|#cVcns$IOkk zzJiQA)o_?2b&hLg9P}J?)Mrb2ezPiV)eI7lXdR7UY7hza8hBbB7R(aOY}dl0@BzIn z6XmcIODz~Ff@jSk<3IZi;Q#r4Fn^A?q%9yaWimdtA{_Ma+PTYCoCb2YN`&)WpEdlM zE9kn0>#5Gc3O&dNf#ZqsBY;7xj|RtZeWjojSFV!Vfoqs|0(-MK1CFAro|;MzyE+p^ zJ9t)XRQ7KfsQU+B4r%9#K3;xD0%%_+S=DU|<+EK(vfLd^Y0@U`Dg+||pAw<1 } z>SWFjddeE<@gwp;=Wu^PV{W?3Zf8W;j1{Dty{pJ_r|iiy;1|}#4tT+X_>7Ow!wYJM zj{>j20000%IC<^D^rvVe4Mqn|9t JB_Ln22jwj%+Ydz5(T)H z7}w9;l@ zH%V1JN?W(yxw7E|=SmJ|-Y{xqJ4()Ssh8*Hz}!1X8zYpPN6#^T&*a0s_^37%#<-v< z{H`jVs2R8y+?tk$JL2JeYM}pxo~Tx^-94@41()WmD&-Ho$1y$2)H-ZQx4yR#X4$m- zBvX~e>-?!LeTh1Aq?H|b7e2KWhdoo@|4m$YTkYZT?R~~1AL5o}Xj=w17V9}Mn jjD;# =WYN}qUH%%89ExV0o<*}bqcdF|9;>T5IL6OYEjBqr|cKc$#E2kSYT3%ds z ^Q)A~b?FDv~~@ASC%9$zTyP z0#DSL1uIyfk^X^z4#~pOZZ S!+3 W1 zqK%ZcV@)Z8QU^mCa2c15Z=ZTFwYi>&(=snx)XoW;ldB4PCOiY5yzh>#damLJH?~Fb zuut$`se;sp2C!lR1WOJWlPJH>e fUIw|29I?dvlhtvt)7r}rqK3Ur`((sVouM>7qXrSu zt2hU4w;tnqzL;x-=wq#lEEd#3ibzj(hpW4Q&gMVqgbdEhlXZasDEqFHaKttnQL)~~ zwOmhl<*|K2=*{Ef2U;iuh {^X7VV<+;`6DQVyVzwcc7!) zmBd~X709ed1yTpH-`v_WE%gkQ9%y_`f+lLii)sJq>h0unrR5;Y#NbyUwcL#C0eL?l zqjZH!xc^aNr1Xn1)c{tRT;lYbf}t`NnXefou?*xxYptpts!t6_C7)O6s|de{GsQjV zjyM5GWU3gTDoQiRbW@DouH1K)JDXt7$0A_Lz5YUaK>WG^{%qZ)uh{pe$>CA!jJblS zay}Qzl!4rToUpgv$)bZsudx2}Zs;bZe9tLd;IvpPs0qtKS3PZNP;61jt&;P!3BLX< za@~OPi ?dIJj`fi+Z zdgCH$UY3Rxv~fxp=ie(l=L}>YoFHmn5laFSf7BlDlOqCqe1L?o7Bj*0ue=tEeFUeh z1*eyG`e1qEH{ZTsN`!}_mpYdV+oT;L(PXeD>}rS}cwl}0(c(uhFRymWWr8~QLl!>Z zQcG^+toReUGcr}_*uL(TBChkD8zy17&6+eyIg}n?>CE^oM?jG+I<|Ij5ZWm7UJ>hk zmY?n?lt{4~*9V~!TtK)b!lV%vcL};b_30}j3ICq}0000U*D*+lh1DivW=ReQqh+w1 z6APq*x3b`YorF7o^4L&|A??YH(yIrg&|}oLo4-oI+QIXd<94VNP>`#I-m7P11dj=e zXroo$BT%J _wBr)Q-N#GsajK?0x z#7e$FLo5t=^Fl3`oXhws{^~jnjki;lyTwmM(HzxYv`6Ji5h3hNt01ktEVCR&|1?cV z#O!IDfz0G5vfFsG+0g#UG1AC?afQhRcQLnl3S&ksq>|G)lvTsM&1Y_?jid$}#nQH; zkT9R|>?USVlG2z=+s`0h7|M)_rd9X;iXD)GOR87_G%&+mv@ hy@^hTb%p7v?H=DX#6o2&`&{+p@j-+l10-Cv(Krb z11qfxvGyUa`MuhNi1ngHO5^y;s+lkDJ>M PIs^?ccuw|r9fSP{OlWE zZQ~Wb>16GDd$o5yn7UPrt+9%@NlLKqpZQt5;6n9pI+eN5zCV%k*B_FVWIDGl&81z# zPDlil%&5H1`Xbo#!fk1tMq}wn(^zG4pJH7!$&PEbe9wjRg+DpD`hh7xw`08ChoTsc z5LsrX5gn`o8SF|YxGDd_*-pN6G% GsQcE#WNY=u|src75@K=5CD zAe7tvHwzl5o=gsJa&8OJ%83oFxHHLQbklSw4e9O|_gbvm*b)ajrC{^z(g_u$Z~C z ySGad?}zZia%gPSduOe^jlN&?SqS`~Jq-FMxb z8?A7v7>L>}2MgdP0ZSVvmSSelD$I(TLp;_c&f&&)ySZ7pOcx(|Q@A4(vS5&g0mg7s z#IJeZ1=bkbEZPd9u}L4zaBh@oxY#VXc<@>PI^}d`tXDKP7(hvZwQC^b;WUP4gO;Ym z`0^Vj#vRCyDtDg^4LR%ujH-}P_6{lQnMbRkS)$MW;Q+G!-jR+f%|52qG3rn{1zdQWv?_Z zP5? 3x65At@*oEmP zrC}m0`=D-t=p@@P&;=35!wN>Jz%LX?NU&(|Cx7{^!R2@bK_51 5 z%}#D|+Z17(htIx7+31@yT3wN&-mYoQRiA1J+1j4KPG~`=@OZT6FO86h?KqafRJt3F z^qyhDu1^7}c~%H7lZG04e0RS(nppSY$Ic^?KREi2AY+35X3ZXpm;w337!7|*(7gw9 za6q$+9Z$&M 8+7p+`e5W@3RV(QWsJU4m1e1Z*sCA}05p3xZ_+GFpFP2 zl#o%ZFx*Gdg&0ppq95#p+1qq&Dep;H-5>{r^Fp-oM$9~C12N8qx+wVdz7whalZn_O z88E>&L2kbmC(IGf#L(I2-O+o%sTf~lqwX=N`-Jhjawwrh`9!)j#7FW-m};)PCtl8c z;4a=z9`px!X9veE(C`gzD7CkG+bn+x>RfH$DgSv(R2U;c*&W+LXo_Dves6+Nz2G~= z`MZBb3TX|w%ol?J9qQ~)fRIXZ4KV@vdv3q|sJf~1K52MP=^TDSv}1?t>=?5q2+*E* zM76vgO0R}z7?G(7x^pMN(XwxRrdQdJ+PI==f2-G$aAZ+funWbBsLks>;jbSDsiW?K zvF-mH<1Z?u{R@LEsrf1MNu~w%H} |xy+qPzg|Jdh{8T%k}xD(`>}1g4Pj^DfcNY%4O}r9T*;8#&y{G&7FXgj zPK+A6;K{40=SJ&pjT*^FWe@aCWT3v+hGKF9+2!6X;OzCpv|EON+F&)x^3nOLHw5IE zwkH}s&J0)`aWui!SrJQk^YN-h_rL9jdfFoNjH&=J2h5U~FCD`l!J%Rtbs>=R*jAJ1 z?WmupFAdU-b4(hQS?g8Exy(u=u0z BC~_dn2O8A(FiO{1borU=YK) zGgV=~)=glJvXUAaB}*X#VLE#eykIDTbCwubMx*)s48x$pE9xFZE3{9s-1_H_ vZNj{WzYDLRx2vUn!JOVfbqBMdtQ(C{&&hvcv z#3LosTPYSHHprz5L=%EkXpL_vv#h0ZbSjey3Q^lt)X-!StcgQb$s~oNN!BKH^2qHz z&x1!XFE%DBco9D8oXoN5AINM0Smu<;sZ5asT$vuDLD ^WPa}e58gxZJVmfdza(%CG*(@*^zB_ga3KNW4NLSos4d18=oB} z@|iMQuk;>As;X~OQ{k3{Q(PNt?iPhG@PdBtx+JAIe$ng%B|&&mEm9EYCXC#fO+H ^BKVf+0V>r_EJl3 zb;3S+Y@%&_Wd+wVrw5qJ)?EPMy6t9IDgO2O^$WwvLg~^;M`vD!-{o|(07RsE;$|A{ z!*+9I3Jm&c->-?rk10$p-GIp-GnG-b5e&m|vIhU4)tN%TQ5EBQHyk;q) c$=Oyl&_!L zS`KU{ZS2v}Bv<(dYpu*Dn)cqx+Ep2gXaopHi+H~Dv>?Wt7Llbws%=JhrlHx3z==0V zWPPjaNjTFeAHK2x0000GNifWLTQMhevTQKXSg*n|Z{oDiN9BllKu}kR6 Q3VrH$AH^I6Z>VF^jfeeXOs5hBG%L6rDy9 z;~=K&bSGOfnePxsp$`;vFhAUw!0Z;P!j#E@U%Lz|@N$rlku}P1G=JjV-KR86S(#xW zsTS}#4vdW{PaOZln;GKYmV{yLU}B%5(8}JSKtZo)<@zKZK!yHWObc8U1vb`i8&5Vl z48n;Up94aQ58W|N2k#FqW aE51Q#kMqw6*`p(!t;#S#^^DSb1D(p$kwlx^G{BGR3x^M>4&VIKWMCX7A2 z?*lGH2#RHfX#1&=OUw5@#8?2=%Pf}r^@$d_k-vJO8O|TQ#ICT?`_~sr^i!U;*7+K{ zJYF0P+0Os1MgVjf)WwHq(r(fNwgn^oI9nb82l^|B#>1p&e>{VQRufppe@Rbgv_@z- z*$rIrlyk;EyPWi0e#YvAH!dG)-QY$^Y+f AoYbwVYDt)CX<*%ezn#jnT@En1{-gW%q+{#zLqT=TkJ3!* zWt~0f000000kgSOP$E%{slALvDOkq=?YOYclDtO*)Mfc(i$XeRM=I(rM^8VniWq2c zHL4|RpyvZ<#i&}xULqx4$OcV~;c+dJv&XXHygoaHO*=9s^1S*-$wBfc&>E^y!!fSr zjOepaf2m3J*2mJq^fCTgup gu(C2swOiP+QF^ zdL4z}tKU_X0~PlKUWqYTejC~qe rg(lLZe zqVkB?1c8rA0Iov=_8&-TkBn*c@-Y5rv~U>7(wb$qm^Br8PvJ$$?~p)ID?qoH{>rzX zf0Qt^F-#tDIpw#(L&OjLc pIW!Ju<5D6$*T>ggIF=G#W$0qiVu|#sOLYcvw_z@@X z$JZO7wZMnTx0F=ybx*4cyY%;X%LZgv%VAQP_i1CEwCm}@@v0XkP)T+c+N N7ncC!3_}`^7E2de|5nM=fA2{89)9#wuOC%Kl`o_S%NM_kAOHXW00hJZ&5EU| z=jX?=p{4$H&1*>(j;i98Tozav1Sj|GT%RI?Y=EQ0#)i?XKR&VZD?Q@Kn2!F zg=WQ%ClNP)iOus)+sr+UzS;2Od45z5@Tg~AE|lM5smP@-m|xk+Iu}LV)iEa(jqjW( zBhQM1)91p=3R^^N0C9`QT`2ypsX%*4I^b<|M9l*j@uZRJagO1WciS#{CquJdP{j?0 zc9SC}{==V6IvO^ET&0Hu$5;*>l`&O4H48=YmF!+guwRElzOy#(&GW4^;5?v2#%9qT zWrfZboXg!|aOwE)wZ-UtFq1hDSmYmMzwf)69lMda>_eCe*);wG>+|IHuF5;JKu<>E zoXI;wSpuwvsT+#p!Djd(IEx|49v5^*=_UmD0V&ZB(zWa@VKMYLGh5I)_!fI}wnF`| z00000B2}n$R9%~T(Z*39Aei7K?P6+P8}au8euhvZ@HrMCAU(6*%f>(8ZSbe2qsn{! z6a3FV%-aTWGFTWCgjS*sfM)*l#BsAk3^3daqp?mzkoJh+MJl5{7Wc+Peg}0H@-{Hz zMU8x|CP-(9f9C4Oe3e^A37xH7AkIH-RAa@-*WPeZH+8@nAg~(R`(Qx$i{E24{Z4UZ zV$}G7Im_*lQvlSO ;5kN0Apr=)#e)go ztCS``ZkS{aF=>Jil;`J`K{crxzbq%g`x!&hKii}%(s*uI>m#hP?=;0rje|C8EJVch zc1`S-%jEvr2(nrG=WdgTC%o252(W-eFd(N#awC`RL9Dn@WAxp6(;$Pt8^5L(?a| zoAZYgyOxPv$VtV%aeE0`bO-{xT{s2y2fP8{=Eh+ZI_ dA@0{2HlqhCt-1|3 zv}=jFutDNvo-#_`o20L|3s $(SwVuo!9N0+1U1}#`K(tIwf zm2z7Tr}NqTQdsD{eDb4uD$R(!f$475%c0vq2_Gttjk=eR|F|gROocxGhH^7)r49e~ zpzZ{fviW~}PC7-aEG>m}`I*pBzV~@j``-A-6@L;wbDMX1tsm4&jZM&UnW_#}w)|tS z#(Fy<3_S?R56J5OU<3C8qGrGN&2_@MG*svnnR6VeYtZpc=5}=p8P8@MRV{GBOvW{? zAeb^-Ht!|+PpZQ^^3uEZ0o$+2W@We5m7E8)ha`95TI4svWejgCR;km*YG4~}|4QL* zT$PVQ?Cl4}%6+1Eq>U~}G!Wb+-PUg@&BMsR^N7* kD*1GJ FsCxl}iI)Q6%ZkS JaU#%x zRGjBD70$3GEmDo;g*YGhYlJyfnObnwa$d+Lu_)CCco(449QJtK?FX9uZ4mRa+&-^d z2-!^n_j2Wzn qNdjCVDq8cv*~+Hw+Ww1odmZM{?s=J?zE({s!!H;- z@D^_U{bc&bd*PYK^MA6D%W|FJ@bL=zx!Pp~wOz{iexj7-h^Oh^M~rYaA#L^ JJ)d_EdXqW@wn@M)QEMEpBIW$Z@gZTO}4a$7ytkO(L$qeQ5l;3zqcEx)Jdt|I1lNdAh2A@ z+CVpn`f=U$%a^Pf=dFQ2@R@cIzE%u4jk9JIPv4K+`+)S+tqc?Z0PP`b02e(s2ZiI_ z^S10Y-j`!Pb7{pg6hs>Q?U+1}W3oL^34i51hIC)36WpEThhjO*&SGs~oBomCDfZsy zGhJ_~Yx!DHF&jFmh6wbDja5Z{ErrKmkXJNgt-J3#Tup>lttjWsPt47#<0NI0os&AG z^hj)+ila4-c8JbLs$LeTl6L8@A5D8lTlV=y; EBd=c_#>I`w37QzC<|_# zlarU{bswxN{vxAnLSpp;$N^S1+SOHa< )3`UBOG7d(%E^ z1FZPve}T_nypvuAewVp&3xz*kzgfzmwr#cwdNN*sJ58O#<`Jg6Hh(Z~53_!mx;&lA zl7BM|b@}ePR`)eWu0d^)>hv`5^czx*jXV8Fw+E-EiFO@37^KzJ$rbp$DL6HQM;wUr zy0imNRhu#}wB;RrLNz25nmh4;w>7`!=}B>i5hOsgK}pclobjT=k3daocaE%gY_U>f zfjOg`?m6R;ba9PLm4Z10S?@dFIbLF(si55=rsPz#kxWNb@*3z^ lQH9xqbK=aNk zo`p`}* (VZEK#G`}j-~*$En^3kQdE`JQ6~En9hWp)&3cLcaK1--W*S zGO*2`;v?gA7F!>lxoEVfw-RyMduw3#p+IPbWIM{PAFX*Lgpjg _#|6siW-B)H2J *zt$V&8QON1AT909*UAy*oIrjc~PG83!QE98c5tTCwBgK z^1ccc(zA$FVaSFDzyJX4C!bH|J#g<-jiP0wXnF2(IzrqXk*mb38Yl)Q-qrn2-wzo5 zIWDQ#m{s;F dzBe`5mIol#b zmc%X>=w4LmHvg#y4LoiGM{HrS^Lo>^S`@Q<=6rZ(>JlSgy`lHx7GY*FfO_S9SX3>& zW_8o)7b;2-oJU;Yg?eLzwY& t$G=`P>z%BgM926v0Rz{}SwW`Y2hY=PBE4Kz _f9yD!SxYuJ`e4D|qc?Ko6 k}XyB$(BcC)5W=DS3d oS zz%N~FM|AC3Pa-Oi*?YuIq60tOwM-y%GJ+*kY6|yvBnKlaBb3jH9A_r0TqsBm|jh ztfxYix$eN#69%`QUW`9=YH8t=@7Ep}vK9jNo}Hssd{saFwPLr(E{ls9S<1>ob4sq1 z+KjVQwJER5K2PefY5ddF(zq;7L1*otj!o9_-1J#+d<+ru_va4^u^ HOxrYJZ6Bk|K7^jUw?jY;$n@FCjk!MgBO~u#JA}HLVry2gtYg zNX%>qQWwwGAEgdvr(=UU0S}-}a GMl?U1UQ-%NzTYK5~l(fa|e|-$4_* zI=_B?>Amyqy5oq%gjl=PJyl*=^Kyjp&eX}b?7)b{8)?lqeLIrXYRIAoK-=Z%U?_#H z&U3}p*N+j)0<~^%L}bIB_WCYG988Q?CR6k5Pt5hTVA{&%Uy%5uV5V>_s==Q?e6Q6B zbEDwrsX9bd?phVfCFakMSZ#?wvEe1cBrqOq*G4pu6jYbnF!M-2BZf53aziHJS@@?= z`~pPt4$1vgVVS9nNT1eX(KPc4z+UP(IfUq+AIx(`($*a24M|lp=T*mFhSh=XNRT~F zs+l4j9XL)HD?9K08)a)#VJV4+ASfloTV*FJ)iWqy%Z_=)P@78n KH!?{iLdE8M$xB&KfZ(G#Hg9=BnuC}i+F|*Q#Z^roDoi6Z_vN_Syo)T z;dN<+S*TXcF^AER!nc}DA1HmVF*?8@P1%mVjCu$UAO#c~5rDy(wg9-+7wV311tRQF z3o2paCjR+3fesWqz?|ODSH7Lzf(VT>TDP=$ZjeWt)HD-Ivy+WqNlIjFfh)#~o(JXN zeem7R?3Gl6_$RMvE1xVDkY!AF?tG^;-nOs}6P|{P3@Q3*WX+mRC6U<0t&em{(cYxh zpBH*E72sK?4a%8P932|iojRhKDhQC$MP@jvS0`~Wg`Dp#Gc(#yA3!bDjqtZIr_`9n zb+j4RWktB-B&_T32_{D$OKgYxUW;PaVa48b;mv@!`3)Kl4v? godF-z&$ z$i>(I0P 3Xt~Rb?e=1y!A@|aC8_OmH?uoR^FSlW! z!x&5)ap-`W8INBhcnyL8Q9!Q03!kuU&x>n#aF?6pChwBdH=2`&g3o`HQ(nXwI`tDx zl6%()qkA9u28SJoFh4_n`2sX&qu-SOH5$_Mdrzg0#nX!4(pgf_LDtfzQM7Vi%t@-Y zl+NVIM~UHkENfRAg?Uf4(mIL_21MK%_W#1z>5od@O~}-rt+LVUv>i*}snfQF!uFfh zI}UNOPN*yn`HHIHD(PB?Ko>=kJ@c;n;|Noiu%smjL(OL~;3265yCzXGD|w%&EB=1& zmx)1Q%mD9gAw-|vE^5SmZv2YW%_kYHIvir=)%g0q+%pk#)@Yx`@}aVS+8q>un4e+h za6kiJ|HK168`Z}F=HzMAq-c~)hp$;RSMmO6M+IYWzC$r{aapc1;utN3htE_GQ3gNS zD9n%I+UJ40P+gE}(uT~pUBC>#4?khMhl6142paMY{vi%6YvcRHz|Oks%jVgwj73a- zq;YdWhw|W+p>BBv0t6*`Ygo83S1pYaEZyUPI64>EXNdI=*wxaT_LmME97gP8$A<*= zl3z5)wchC11?2Kji%;JD!qlH}a1AXYxiTLx`{{}hGGJV}u#3fHj3-cllDU(GI!eM* zr|>}+mTYJLtDOs;aT{&7-Ny9~zmzX+hwX9NK75n3@`IQ%C!}kdF(ebZv&&uxYfR2& z!6LQ<{GYk{(F&blmI}lP*Beyn_QlJ3{Vz3$qWX4hLy7nA6c|+ZlaKdXMl$1GY8t?S zcx2AKhl&BF*Z(rtR5Y~WD2dU7X6xm49rg&KjP2yPEXE##d`2kaD1!VB=TSIKfis@q z42@J$6vQyfokmr!;g@l|!0&=5QP5y^BRN@QPm|E0uMvJV8Eu}hKL7b}xQqNnNQStI z_HTr*eGFVt%0?68>tGF?^(%8k2e6yomG_@jXJWQU|HLJEgg)Mvn$%TWW;dp$6b+LM zAn3gmr&)MA- rOv&|GumyCG*3F3RY-p>C}ur6_*kH zZs-LcGHKlb;3w7jkOU1=`WDhWD9U-u^uuNyoO|ezEw3aFHq2nO90qiuEc{gw6RJhv zEG1-Pq{g3Msw^f5Yh2^G$rQsSQ{?+yEY#s+xuc*WeOu$3A__q< >7cXz5zxe)6*lF`ZDI1vr zYXMV7q~g<6TWyXkaM$*Q=3|jXC{*)SgTq>Bn9|Yo-dunYFt_&y#uV(|&O2hBV8V_( zJL%iAqR=}LQ+ha)%z6K|q??^~g84YU&K+p0jL%3sKEh_;H`!siG080H EBIMhu#eS((ijhHRRxHNXEP?$=m;>n5K-qut*?NrMS zZLxK_^#2xW)TH-O-Vt6_UYMadGWn$YC-`JE*Uf(yAN)%yFMLfeX?Mba&+eYMxJQcl z>kAflZMtie^rdeWtNbcC#e}wn4zZRRYViixWpG;_t(bUO%P_j#O%H${(ya zALKOGEK7D68d?^H#zj(NU9PYKTvZk}Z^y_Tn%`{tn9=d>-7VCSz6YLCFYzHXCoWis zSO5ZRIv^$1z-iPEtah)za0OfyQVglHX&j+Y2q!$b{bR(U!VvPkD9}Ep4*$x8a4_sK zRDNUic4bp`Df^lqOwSKgs1Migh6xlv(<3GaY!Cxwx?`~j>7s3q28cCknqkyG|T# zDs5SpBG6TTU}w7vSEr-Hm^X^Zl#TiJ&WLfm(Zo&uIx*W-tEG2+IrJ1QQm&BasUv8} zb$3da9q^xDM`iHIE&Sk$&eYMHq(%-B{QZE|h~XuI{ipWFAwvG>YzKL(*VK=vdOMJ+ z@x$uPgf;I+(^6!O{pN%=ht~4Q@DnGCyd)Pm>21&s@xXs8)tCj`N84@afra9hV~XhW z+$$}UhEe8RU6$k;R_L3E5JVKg!U%O`6GiC(t+JML!2Uu?oQ`V%FKJ*`Nd9*CZEEPz z^^(xfkC+&bmeIIGqSAZWwJeH(H$m6`J*Bs@lDk3GP&?Jvgu{Yt2;nYt8e;qMobr1s z^{4Ovx2H;BmddE&Jd`9N0lnR|zAcTfyPyLnmTsq2S~;Tzt&z8*Yq#+}f9A3e(ni^| ztB)p&aKLlr#Zq&!->ltj+bf(3d^ZuAs|JkWX_4Q*AU;<0_3!fh)v<{hG#3#o*Bi_V z& )BN~ 7g?sD z374+dNFG=c@)6)G1WVS2HVz6s%=Rp}&xUF^RJsDou@F4qB9;o_8==8dW=R0P8b-j! z6Ap1}rM+Qx(vew~jS^^@*B974&p*cur1*85oH~eJks&yQ)2tNAEA0E&9=lCBwP}uw z7a(?j+`>EcHQ4?ZKX}wCi>1IZmFbZnPZZ5PDqty`w0OaqCrzuq uF2B8o z tAX=o-3>! zHG3>ZvUNxj+ocql2KrMXc7ybAFaBn$ud^+mki=KAB{!zm@=imLe|`StD1AC$gU+c_ z27g5|lYx2 ^DA2hsNR7=l*v<=V`9qTx&N=iK=P!XpJ#4F&7}1Ga+*%Hx z5^Jm1X!BXsHbcXY&cFNj6P}R55Ps~PAYwc%v+>YEWgmt(GM)T8mn3|0jyes_1Oi&R zpy9%&W<;zC&>4~X0bgdx)lrFPH$L2nI5W)vi@V1KmD@hyHGsq$`AYVUV&=!3T=0h| z1NXj|e_yqHA^NyhR&y+T6P%Qw&K r^)hO_4LQu9kl9{qW@KJ=AOL#<05GGD zT8l8z7$Qt$Rs7PMMjs?ATa~f1leRy&?|9ZnySfeh5V5u?LYQkVjx*W1i>fjnKG`n3 zDkv6(O8=`Fb#7yFUW-yY;)z8fFN7SaY&F4Q6oMLJiCSUdQj*JxWrpl=ZaeZ`K@(*7 z=Y4sk+1?{WI0f?cxz8lyM$#@t;5+5^aW&sg%(wxYG9!?h1alWPFo9 duUmtUc#_|2>VX&*@_cMjKk5*d zq*m3}>I<7Eb)#JYi{K?|B9}S?AndM^fdoeEfPR(g7E;d%NIgh|*8aT{0sj8PL#$kQ zF-(6p`0q;{IUCqbZu&UfzDEX|add?x!uhz|DuO})yK~*CJkh _*cIcNgd^teUYHhen^c6V=o%LPx`FqDdZsQdL?z9nab4A#ZA6(?;zL z+qyHthVw{h0D;Ez!n3dGJ<8CAVx3j@N9zeM>dz%Dq=T?-*U<(xz?H|!@jk6gfmlR} z(!)}*DD?Fx_Qdq!8Yh`*E_Wpxupujln^cV7DqDMFsE!D{Ec+B~CVYXPUxoQV+Pt`z zt>D2XzcWpw-8gt(j*9|Q9GU;2b+b;mB(fn=+E0(eVwtwzs8r$`yzU1-wiDYzxr+Sz zK54L}F+~?J)yAo&ET3U{I5cpI9gWJ={MZtc@w}879Ko ze4=PNge2MOz*2bPZj6G49F5GW5EWIW*?QT @FFYKi3 z6et j+A3U;-9eJd;A>a4&K&+{KZ)l&Vi0I2ZQ6={@q7fcM`7GTGr_@27xoKnoh& zT5abR^1g1#Qas>qGLi&3`_m})8~(=DW?6ry4d`@|N!gVE6$Z|4MuoEgs+JKzQTgVP zps}`EhsG7tcaiPx_-WYljD4TN7nhT+W1EPzLCu{>BQ%d){Dvd%t>b!8(-}FEZ w2+Q|iy(AW$9u z*eBS!wqpv6z0v=ltJM-K7uqt)yEc_O(MdKw)l5LRG@BbB@DMES3kYGiuN?d>Up9(3 z#YDgfqdZlqHn7?x=V=<)w=Ku-e>D4AhjKo8z&l8cZpPzT0g;m|88EdO(5pm)!`L5o zXnQ<9Os89+AEb0$b-(-bC)v&KE25LAFbwD{v_`&Ur`R3z1t)lteyqR*_0COQTAuq@ zdEVcynclFh1_Kp9maipu5n3Pi!B|OC@xuWj`@;F)8V)U-n8_HH=} T5hl};|4oi?||gV$AZGO^Y*l%f5$F|HJ{|@qwcYVafHDC^ke7j%6vnXb|qi8 z15Q&ZDkSpI2m{%N2DY4>t}jB4N>mS{-YVU?HBL>)hb?lw%&e@YinjzQB-39fXJm;p ze}pDCroC$kDSP@SeLiMn$`jOEUZkA^vWXAQDkM4L&*YM7WG 0(~n-NpNsIX-W3=g` @Eq$US|j9-9vp>Qgi1>^J>(byB7IP^C-RUw)o_& zuh|u+Hj?wZVq^EXQ$KT%t3Fd`vZ~2<+W+3|38@(Z#?CA4Lb>smhk6I+Ll{}_`6WGC zud;@fsR1eR4}L^_Xkx}vOR3CB3kXwBUV4z>U?7lLxD{zF_;F*qwdV)$M} zz3AZ<1Aj&tF<5ER))C&xY1OI36^u2m1_*pafUrXS>#1O1bkBZHUE%eL@?f}BQS^&& zt$168eCjd!xBz-bAqiWh)^Bhrr#v&q;^OYMS_vj(@FqiZRh~ d9w zZ$wCivqB@ER}7Irb`mNSy?Qsqp5+ULWSRhf(En2RA3po*yk$-VDqk89Fv!q@O*~WO zzg6csEfB^3zz`31g;BV%e+cLC9~W{tr{lstj=3)TJyk&JYma*2Il28p1kLw(TL zrK%rxu#~{;JCt=Zw3olWqb>Ihi |Fncq?33%7u{O8E>J*(!zU7r8-)Y3Kmt;>neU<=)CMYH{W-Ji z8dbn0E0a;1aVtj&U|SAH`85wXiL;yI;V9H3{uvT}&pJtNSX-IAP5Ie{JeNfEW@laF z8jTl*Cdh6(3h?puXUzTjv>m=%T^r3^1F=+!yeR*yWlsS92N7@55fN%*NqCj4gd_}W zjCUZI-7*(wtOiE-GFeYZz~`rG-Lh;Fix##N_DlXPS?Yf*Y2i~bS|eFllsDkY79%0G zD_9i!IK+cA=;lNnKQjw%h*C)4 ` zyM0Ip0QrIcev9cYivbU+B>SV-jJVudATi79lFjlyp6H!C6^n?X4mMzDx2PFB+l% YWjqgB+nJtmAnzxKB5_5EC`o6kF8p5S3{0BdY|JBwL$W1$#$v#h1NpmAgmbK z-wttAWQG(Bq83jJARHhA W6d2pMvKm4$6a;M$;n}EHxq9&L82H7fj$7;6V81R}NZ&+9=MBn0DD -mytQT&e$`k!d!2OO;l+E&e OTnI2kwCdj`z@4Es-C}?3>_-dyQ6j zXi_p ~A`xz)c;%aPTaS9J9@&2~u|^VdC!hyiT_IDYuvYLYHRHxk(2` z>Bm8S0S7w3P#@9jS+IJt&xn;-us?A9(MSKmse}+x4(^gyDP|tOF2&i@Qey-Es^H&B zLRxr({ 0-hP!67AGBMxSeji$IvZ!BWmw5 zsWCrp(Z>l|@9=_FdI{~31g9lv>GPrK*@eP;d2mtFLma65DLR=#F5FGM((MkQ%$IAp zdfK`Qfj%|&WNE^r>j*RFwE$y3jm}t1>Ji}TT*~}N5YY1?o18d^+KDDfEI;(5_@8Sf z3Jaa$xuaI^3lJw_hZ0xg^p?il>i!pvsGGj_*t712OeX0#3c%M5Bd;l&+ksRC?Ximc zOE{XK Fgf!toxA|5X}0hA4D!EE`UeJ7K(p3pa=ec^9^(eZXbY8 zYuZm$F^T>)5ejNJCLC;flr7I=z(#Y3ZR_kLWm0h*s%jre7oMyFucgZh7|2~!0UR(z zRgObaE|PNyhi9iTv|ADOqTDJlz?)ztw?=?^2zUUf4~NF^gZ99BCdNbw9HG?-nHJt} zL3D)nCcFIQNY}`*_5$SGLwl}cMRQ?CnM(bA ` z&>Y+@rt5tWN^Uq0$4WC6GfkqzD>XaVcO#?w5$vS2#!G*TV8}!Arnd|aD|o?_Yy464 z4#H p4i))`a1fiz!YSmdi~Hb}JuDiF0)Klir_E zR0Lcd=-aBpw70p}uoaxLF^&e~RJ;B~XO7wQ8G+6*#}76^0B-gz-f 0LI5$1`I?Gu(Y`nc4GAo+KXkUn>aF|3-} zl2z4Iil@N)iIB>p)R{9JW`m~3Cz=X)o3Z(reti8q_Nf7zrE^;-N@J@0T@T54%A1R% z4UUmd)}SI+X&rKY_ !pM^GrF+W87=(Zh?aCLAs2>jSQXd$>xim7D{<_ z(9Avewy~MinQ#Vxa=}UcsJ?js<+WLxJ)!}&C12v!WRuUIuNOINk8cv%K_ddq#QgPD z^U3Yw_75EP?&Lx2YQJ~4)ajmE4$q9^)aasu|IGO5o)K}&a2}zKD_PxICr?&(rTRUg zOa++aSgpx0un!xzUGlw983UM)qqfdRUS4ZcsxvFNe>)G8enlzU$!O7 ?X?g2eq*fI`8! Z4q<;rsm)4B;xg ` zuCG#jvHr4Mg+F3}d=)yMwY)~H^>b6ADn^*Bw>yT@>@ml4nK5#H-FFQ7-Xa51BUS@_ zq02~0$j?KMcnNb)anOfA8L+fDLPydxKgd{=S732uUFzXmlt6|{7`T3-xwZS8ufO^J zMVHG06qS|jYrfZ{t0FRmC;E!Py+8FL&<;~!!@vu@PKZ%BFul!$p)#J`;TLAUYu(_B zn*R)wY6&WA)nxWR6-7(2VAn3=w8=s-^V|ImLGt^V0oFPy^vQvpFNerbJsQ}&*`;5? zoZ2>eW?z9-`