From 9b4492afd8ff7ead21a794f58c4230952bce4dd8 Mon Sep 17 00:00:00 2001 From: liuxingyu521 Date: Thu, 27 Aug 2020 16:25:12 +0800 Subject: [PATCH 1/2] =?UTF-8?q?feat:=20=E5=8E=8B=E7=BC=A9=E5=90=8E?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E8=B5=84=E6=BA=90=E9=87=8D=E6=96=B0=E5=86=99?= =?UTF-8?q?=E5=85=A5=E5=88=B0=20webpack=20compilation=20=E6=9E=84=E5=BB=BA?= =?UTF-8?q?=E8=B5=84=E6=BA=90=E4=B8=AD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.js | 17 ++++++++++------- test/src/img/pig-3.jpg | Bin 18538 -> 0 bytes test/src/img/pig-3.png | Bin 0 -> 74954 bytes test/src/index.scss | 2 +- 4 files changed, 11 insertions(+), 8 deletions(-) delete mode 100644 test/src/img/pig-3.jpg create mode 100644 test/src/img/pig-3.png diff --git a/src/index.js b/src/index.js index d68f54c..df67a1c 100644 --- a/src/index.js +++ b/src/index.js @@ -6,6 +6,7 @@ const Figures = require("figures"); const Ora = require("ora"); const SchemaUtils = require("schema-utils"); const { ByteSize, RoundNum } = require("trample/node"); +const { RawSource } = require("webpack-sources"); const { IMG_REGEXP, PLUGIN_NAME } = require("../util/getting"); const { RandomHeader } = require("../util/setting"); @@ -18,15 +19,18 @@ module.exports = class TinyimgWebpackPlugin { apply(compiler) { const { enabled, logged } = this.opts; SchemaUtils(Schema, this.opts, { name: PLUGIN_NAME }); - enabled && compiler.hooks.emit.tap(PLUGIN_NAME, compilation => { + enabled && compiler.hooks.emit.tapPromise(PLUGIN_NAME, compilation => { const imgs = Object.keys(compilation.assets).filter(v => IMG_REGEXP.test(v)); if (!imgs.length) return Promise.resolve(); const promises = imgs.map(v => this.compressImg(compilation.assets, v)); const spinner = Ora("Image is compressing......").start(); - return Promise.all(promises).then(res => { - spinner.stop(); - logged && res.forEach(v => console.log(v)); - }); + return new Promise(resolve => { + Promise.all(promises).then(res => { + spinner.stop(); + logged && res.forEach(v => console.log(v)); + resolve() + }) + }) }); } async compressImg(assets, path) { @@ -34,12 +38,11 @@ module.exports = class TinyimgWebpackPlugin { const file = assets[path].source(); const obj = await this.uploadImg(file); const data = await this.downloadImg(obj.output.url); + assets[path] = new RawSource(Buffer.alloc(data.length, data, 'binary')) const oldSize = Chalk.redBright(ByteSize(obj.input.size)); const newSize = Chalk.greenBright(ByteSize(obj.output.size)); const ratio = Chalk.blueBright(RoundNum(1 - obj.output.ratio, 2, true)); - const dpath = assets[path].existsAt; const msg = `${Figures.tick} Compressed [${Chalk.yellowBright(path)}] completed: Old Size ${oldSize}, New Size ${newSize}, Optimization Ratio ${ratio}`; - Fs.writeFileSync(dpath, data, "binary"); return Promise.resolve(msg); } catch (err) { const msg = `${Figures.cross} Compressed [${Chalk.yellowBright(path)}] failed: ${Chalk.redBright(err)}`; diff --git a/test/src/img/pig-3.jpg b/test/src/img/pig-3.jpg deleted file mode 100644 index 223a532af11fbc1be8566ec23e1ef6101e0a7bb6..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18538 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 YTd)N!a2mOkhL30bC%m(UN*3J&0MNL^SO5S3 diff --git a/test/src/img/pig-3.png b/test/src/img/pig-3.png new file mode 100644 index 0000000000000000000000000000000000000000..3d308fc6ce74a484d4977fd06c307d086bf04dc6 GIT binary patch literal 74954 zcmeEN^;a8Rv<*@SQe09TS}4Wc-3vua(Bjqt#odCtwrFu^fd+@-g%mFirMSBlmjHp} z<$M3a`}IxMtV!;yH7o1Px##Y)_r7sDTB=X+Y48C6z|+@iN_qeQM(Tej5EDH@yi%Nt zzF<4ZYsv!v^(h1oR!`8snQYYbGy#ABHUJq?<-;8<&@DgjXceTq8EKch$R+|-Oc(O0$qJynLBWYAwQTs^e(F(yiUzo4H5c&#L_ z@3;7`)Bh(c*ju{mMrKcchJH10MRR(LJ)Dq;FuXB#Gco)UR65lMiUE}lWVk zbtM=>rpi5g0jLWi#v4QA)@EQ^S|(iA{>tnXT&O&_b@l}K9>*RlpkK&lv*L$?WGhTI zYKd1$k+G>%0I1Frx!kpW=18U~@xc*fkq!nSX&F4%u`$0IDIRQUeZ?%c7yFDHCzb{* zY(uL^Ldw=K9;c>XKTx)|xKK(3oF=Nq;2U)lJGquvRdvub0~>D$VK?}A6vczO*`DH7 zeIz3J9Q8$bszEf13P6%UqOjW_G>je3Pm*T!yvbqjZ(suvKp%h;Mxn0Z;6~81eJmSu z@-FpvE!zPVcXQkrkl>d7`;sBVM$RR>Z3MRF)ytZ%B*gzn&kyCLfkT3z5O%X@pU4HWVTYkHR(ep%p z7AEDZj4{t!ni9)j*}JWWGy_6|WRw8Hh-agr3fL@eJoI=#wXN^?aZH$4wttGSB&u-E*n8K+6`iU|fS+18dXj~9s z>{JWQvpd6(vv~&qVzBU0jglxQR&@ULHk%`35ft>CJq`n~@Ciq<;4E$Hz$t4-=05zmdcnx_AuiM|^18CTWmriC`_0gMmS@RrztJB~?K3x4g z4caT0eLMhXS=86n)qR*Q^N^xqWWr}UrKmKhUUY>$&eoVM73NBBrz*~#w5*Y;(z%~W z6Ca#55;s)UbAMzJeqZ(K^nJzeorC7&P5A+u8)&qe{8x3`=C*RvJeiN&RaAkj?+;(( z+$#Y9B??N@Fp)+n$_vr~p0QvBY+65JC(_M(r`pc_L27gNe#(|*ugeTWbN`*4tO?iU z?GZ;QhQQNe_34}<7PUlv8Yc$_2l$HbS}=U2MO1RSFkgJ10WS8huJ^=$zBq=>I9QNXW`NxgpR6Z@a9{NZm`|$gbNaAcBS9ZH=kRf<} zO10NbTDGwIoh~s|qq(+_$F6lE0}FK4eo+i3w@s9_(#et3)qR;9QOSx90dd(|*bpqt zo(L-}HWo@oD)_ctyM&K$;5i>wBuUyH!Q8vRn*|5R5$)Q;kTSJ}`+^-=iQU_|Cc6{w z_UqO}evb4wZd!Y)wCyB4Ir1Wb;!LetQMweRK6_*OpCgT`Qk$gO64!srrMC`T)@EXh zc~lpml$Pn<%CmeOW4;ioR)aXUbZN;dtZ8J=zD18`SJw?88gp?JosNT3y4C~> zFaK?wKv0NPl#!QYDxlX5XO?id{*^%3pIv9WPdF<~hxDZQB7R%ZCkt~x$Y!SO8G$|iB7F{*prUEA-$0y$=J>UsKn;F4Cd z(lDIwBEz$v%BA&NDOTpv+k@JlGtA{{{gH#sXXZ8(B<|;TvLTO77M|CB)hycu$ew$x3Uu3ziub}l5FQ_^-;xWM3K?=^|&KmW&d$cdLtQF zv(^LWbz-bQP9#YQQ=ezo?YERi1SHS*q%Gl+06u{&^eDYeNW{GlP z*h27J@1y)+dQV=_j_-xXCo)V<+XaiH@X~zP{bK2fcV8FcANe4q#+6;0hrO~m!*dm< z#8|J6{`W%h9DqcAKU{K3u<)-TL4}EDjuJ@w5{k4m2~9kSm~Dw4dy73$RD8@h;RN+P+_w@c`IB(mp2r zmMX-!_}cxya+$}ZTGU!u($S4+TN#%IX;=mHMsmfJ%Jra#M9rEL$7aEdf*HrT`e-}K zovK8BbJG%oJb;DCKOlA}!Qo8En3;vIbxXp=f}@_MY!rENWPyO9;4w^5Rz{qCxohLXfleL9gU16u__!wDAmrh~E$lw1MuNHu0y9HI?6-s?aq-5|c$; zRPRf;aHAj#h63TN5srw9QH$dY)X_cLH!v0WjbI#kj|$ptEWFz;f8mEql_roVIGim$ zz)pfAxfjbGN%F!g;Y6B9;`aCR6e)BKBog0FovAcr45;mm*D7B-Vx9=2K<2)%ihB<% zJ@<3Bvf3)sB)GiXI=@{+7u=I}r<$(&!=svxlQLQtx~DiLx=fY!22Te|O-hcaY%E}K zMMkN+g$ZncgPhdRVmwqmbNYzwHg>GsUjr{|ao&IW5f8(~*t(P>ylcnX_2D)~R)UWA z<{h=Jl7i@|)GY>a(A|hd$iMnQj?XzcVYd|Lf7jzyW^srCN&I#(k}k?IN|a#l!`54-)NAiCf7G+rb0!>t$b-o$i(j~g5hGRHlW|8@bOJ5 z%fuIF&Tu)Wr092)!S(_(zxfEi#@$_fxHZE-!^(NxuNtgl#+l?)Y%*y&$=s%O-Ijj4 zd$On$S40OVPp30115st+>p4fc8Eimd2lh{jPU2@9V4rkp>9FpPf2%Ed{9jBrBFSf0 zw;1?vz)t`<3E&S^{VzTfu)NBUcdUgD)lQ5KfYccYgsrhj6XQzHd3o;c4hm6gy!rmS z+%3y_cK(U=iCrpE+mpRrH!Gf2T=8^$OkcL8F=$A)dbnE>ReGbMqWb%lEx>QfGMNC@ ziL;9fZEfhp8yy?Fz7GcM!*%C=3$p7N{=V4oo-2F^jd5OXb+PkB&rQtj^$4PnHN>j# z?_ru3Qxv)7qhzf?)^_4t`1~1&L-JOhy zR(Bl6bMka-#?#iqd>-$w2?z+l=;N6UAxGchZJSM^{DO%9+seSf<9FDH!r+?)G^imG zzbfd|f@2T|tcM{O&sO0-_o@W73;E3&*p5-EG8buE$+DS*y=@zt3a&mrVl+4Q4n>Q$ zE%+aoR-{>zy?$#t=HgUySU4)B89OE9)^^?#pn~tS#_uBaX{1d^M>807+prG; zVQej=ip;(IlD@r^S+Gq}2x4#zwHl9f1|I45e%+k?r6!`Zqczbz4jvJUm@+ zKN%zQ!>Em{YZf#_!}r{iNr8|V`)iP|Q?K9hKfv@KA`%7Q0B9sS5#!GlUwrJ4z|-QP zY*Cz&dgzh+g8QB8&$B34>-HX0qDCE~fs1wy9OGe7@U=NU78^TkJKaC&lXaRcndmEK zpd1&AuFVCU7No)E=rzFVIblMppaaIzi!;uATB&Q_;2?Y2<{GeMs++XVm0dZ-XVIiL zxCJVW?E@u9xzcTDObvcFEiC%8-N_mw2_*Dtg{qDlSr|kwERGV#;CLNOK+ZE7yRPa{ zw<%Na({Uz2Tb(hBRlhSvi+E0bAKW2V4v>qwmooJXPa76OV#DSQz%#D`nrbn`_Dp&l z>s774)Gye|U??f!1B-6}!P^$AkF&6Ql!rh)$19+aQMQYDA4u|1EAgB(#jmfi;PM}? z%#AH}O8R4do{|z@8Na3e5TD@7+D2&m>m02`jGSzf588gl0@AO3r4!295SkLC>C90j z{`~c@X_sYwUqby5AWnmehwU+IoZD|gMh%6sKppWP2w1{^_*%JI2umg z|J>;Y%;u_t=}9D-$-`4(lk-!tJH zQcy|d!9l(=8z%y0sefNTBVjGbF)O$X{+oR-Fy;c`E6%DWbfy(gzRtY!cuOG9$DZbE zfgE)Re*9Ovqr^p{I87B0P~GdP24`RJM| znxO3fz&5}p%HkgfV2^x@o%AA>qy#YPJmiQi_ofQUu=@2~-Rt`*E3DV2v?B&!Dlhlu z?4zspm$E1I5M(Ayem6+iN12qBW)FHUcIs2vFK6agf}dh&QG>)^52nW1(^%5<0>lQTWx`tOz-@VelQA2)O&3rbX`S0bM`!4Gl%ufQH7&C`nzq z)GW!^P05w46Gc3uL2)O;G~u!V$46a3vsr{`S?z`J5vTzuoH>{)koE* zp!TpB?nzjI-Ch@<@OpzF%cxo>#ZhCTih+P!9xf3asC$n(8s|knv*oLqe5I4gmnfCe z%lzzSRj|>H+~&t4@+{Ldz-czmbJiGwf%8Qj7Hc zYi$6z+SIZBmh#-I`8F|{T>Y6mY==Jypi1a)Lt=IWJlviQ-^NMrfW?&D<}drW(JdeghH_m)o~IxYZtkfaRabW9`=`F^(z7S9wN5m`l|J=P z5k{Q0*pGdgaWa?~8_Nly=4ZkNSmI#yk%SGA+Uc1H-8m&jXy&@KAC%G7be;^*y8b-* z;so)SQqFqkG4x)DkVajfbI+g<(Rq0YYFLmVOc2tl9BnrWG^G&WSpdb6QY{&Dl3@sH zb5#u-5vNjv5-QvhnY@LE<9P_fo(d^EOV#mTIxV@9qf4o59G5sULtTw?)^r7V`+kF) zM?g7@D?^XBi6zea;30>f>mrv`@SK-LYGWh`{#$hk4@xLpTr#e-ph5=VBRULVxI{_v z1Z0^!N_<)mmlawe`HZ|5Fw^s$@a7^$IZ zcxhk0dKws!1SuIj>~*YOCc^?dbXiLDhS!45M?z5AND6xvgXssA-niU7#i7h^lBU20 zk}yzH%t+CFHE+RnU~Nc~p{wP`0(y`6;zG$s$VOtk&aO3~k-?52_X&m)Y5A#h=j#3Z z%Y{RY?XvmkTgI}6aFK*n*LN+*pQm{UQONaN=~M+2YCd&t*B|eaiD1X2^ZAV{d(K#y zB0(2xvTbRK_>$=EtT%3^?rS7-;cHZXWhROX>(5W#NfB_W_SDkj38Y|OedwrdyDBN% z?W5x8mJ~66=vaNMfdvh&f%Ot}nSs1>qwU-&1NwzxW+B(O&8lvrvFD3UHRpQdy6L~y zS4Ro|gnZ)p82LIUy_sZq>q-Im2`O|JbV-B}{ntZ}_Z^6+L|t93Ho~Ib`blkHrL)X@?$|g@{Oi~?9lrrqOK%hj(yN~-mF&E*l zquUH`<6RrR*>*0;^&%{JdxC-z(|#XFtXlDO&{ac?*X#Ny#G_2MvTfVfIgc~?9R_t7 zgw7nm%ZmAwLX|#n6xIdrgj|)$`Y6jl2QYJTb4IE<4lg)YZ)RICZ5K#LY_=(IG--{^ zCH-*=meA#dZaxRpv5g1-Yed8YU;+c1-^_6Ew8i*9@LZWDF={II$5 z;RRfd`kh<1wX_a6%c1F3tG4An6ssBTy+RbyUn^2A_TJteXZ>qP?e$)87M^Ko zSnBXMI_y`@q8`W=V`$`;xh3iG6M}Z4nXBirw;RMCp}Ug#T4_5J{iKkC(Z(0pcvH`E z|5bfu?GVx#`LSUKZ!|);={_KIU&B7oJ9VGy>OL!QzUfv^glttUh?I&Du45Yj%Eftk z7_XgEFL-3RO)JFgR|!rC@u^dQDZL79QgDRLJY5{(YA0XRXBuOu<>lntS>q6t-15QP z$(8W>zAyCUJA~NtTyF8Vn}IVxX1drJRd3lbIPFu~;hh%exwW7q)#4g%S_0$+^@J^n zQjw;u+uh&WWYLEIu$_%1)#>L0uU_xDYeaAo*$jDZ1hGu(I~apnn}V$by~UhqNZ`dL z(a4UKGnFRR{?Zzd@6@Dan*zbAImfYV&scx!aa$Yzb?K4SPr+FHBdo~Gbx*yqIfIw zJ_6+x>x^+qUd^n=O6La(|4Fi*t(Ddw1B_f(lbR1t2igIMn;K!T&v~l z!4Q|4#kwh~{yiCZTh~!0c;Waa(haqhV$tN26aYa$_|B902eQ6p#g>Gs!PW|o$DvTx zC2up9_KkQ>v8ngN?_rlkJFWSA2hOdtjNOQurWz-b4`vR= z%_sM?U3W>YvB0qC(qhbsVC1D`_NUWb5!7(Qsn)mFBC<~3M`Rc-eYyvbE0?54JLKZ? zYr-jkHF0>p%Se@mJ6;?=Yi#hA>7G&R_NOE7KwJhtOMK!ou1v452mKVjwnJL~Wj`59 zX9j1WGH*Tj@B75Ii($?NHX;S7}G=V@C{e(;b$o$T0N?GT9qHjC0o6Ob#tBqk*W%dC&SYRzdd<>d2Q!#lPo^+UqSPal{#@x5gY)401+N; zv&Ig^OROv+Y>6t)Cqm_cgkec>WN|>_Ok;R{ZP0aip}Br5%ajt)Wuk*@LeA7N7m-TG zwkjpb`@|`+mn^aTBMmW94_2?Rid4o%sV)4b-fyV@oVizCzwJ3#J!~+Hv-=Zt_MGu9 z)~>_a=Seo`9YudVT$bpyl*J1?DwX%|H9Sq0mCq^*KM%<5{GHYsxuAQ4t<*=rdwZTi zjlyOUGt9K(5Z{uVZ&pWWv*9ocyz|5w#3SguVKxj%pa_wS z*3KJO*-y5D*>6KW4_zt}OJA)=5SNu1foz^Zt}88AS&S-u3zUX4WvYhKCrK>OY**J_ z#Hn$c$IgSLJB5bLzyCU?pdIzt)TXyj24Cd2E@ZETIkcgvza;>#Mw?5|-5ZUD!pY~1 zw}A0{KGHWt4!=Y0KNqTC2klRcTbsl+M4EOemoNM=t#ZXGi60Ww`%91@xU%YRff|?y z2|#y%`d~`%A&L3JpS8aC*fvFVvn4~51Ig7bPci9e4f-0q#@#df*E8H;Hp$Ji_P+_= zD?9Y(Scp9zh$R^$FTUTonyTPgX46c_S19G?H~WOkF-&U#$3=JTy!ghu*ES~@ z>Dt+9-B82+Ms)TfjX2n=_i4-i{Bx#RO&}dkc*P5K_2^@vyfyn2^41o2Ux@UT=~@$`U5 z^3$v4#4ncB1T0e1#2j@v`8|VQm|R18X?fb$5y4LMlSfyscnK5t`P8SruwGrh9h?_D zjh0Vd2)+)~NN=wHcQVrW-|NHCq{(!GlG@;tB{lM6+Y)u%CuKcmO1!;WRJF3lLG2C7 zo~Q~tPB7u|w@K>@56BJZmtuUgugKjpc=Kh+?ar`tYFQqa85{rNoA$%pH`xwbDVnP6 z{Cw{Fj9QCZT3$>~gKgV4SIiS-h{gz&S&^HHV!o+SiBP8DQDC=(??fQIh@fCOw$mGQ z3V7c^ETm~=7rWy4_)(GzhDIdcm4UKOSD zRn)Zwswo!eWyPm6gRb*k+pN6uiCgEOS)90dv)zCXhaT40miZcYl}VI?ask<*5Y0)~JZKE;W! zy}#R!nK?^x4JtkIqN1Xb5EQf$YM5O`7UqV>GJU#d?g3S>Sw#=Z9;5?*)v+{K{}j8u zF@!}o{QcXwXw0nN9Wi7Qs7j%XSg-1R@0|S+vU_BK94>?%jPc($aCy!>D`8;yd7zE_ zmrc${~E8Ln&<8FtG5X-flCibB%m7I6kXw$1fKiZPD8-C*R|T2b`S;p9a81 zVV7fil^h1Mb_4U%TH?n;+WzY78uror&Pij9e+wK8nFr?CpY>&LhSqa12K7{B%=Es>;_-g2 zM%)rsVVy)7C%uFw47!fdiUn)&lqD1YEORmr)*fAB+f$z8{1c;kF|pG;*G^RM=~6k& z1MF(|^n0+hq$ENWa;19h=N#CHTy}12{gqGT^Zi?D335Q357ACVDuScb{Py8qBg7`8 zRqX9()$nd~X;h(k&{Rs-1$bN8B_D2%H;|pa>4ke1&PeDj#5N^}&NV~i$%voa14<=qb{fv6d32KH}3Bf!H!Be;nRkH>270V_} z&PPsZJBAwXc!-zoqBe$7#6I+HMiWtI=nM9b-g|6pF(OlNWq0|3-l^{|3EwcQyomBh z%O7F>bFB4(Ry5P`tRVJFxFlAj--RNBOsgH%U$}Ga^btc)ts?6D@$`VPu9=XM&{V`5 z>}^)VTvj$ISua^Py&P*{Ts?&Umq8}z1}1xX(*j#b(V%)-&-KO^)Y}c0zDOhp0VXh| zWk3D)T=V2+EV1epmE_jR=udi%VyJLGlM!rjn4Rdc=sM1-!k}XpVgu@1@Mc zfi@)I4^U(s%2nI`05$A91oLCtYbdQE)`Ni<9jJrb`?*dRDZ1+Y(WI~cc02n$&JMG> zHoJ*~-#2}*5oB&MP>%g=-@)ZXallaa!mIrIkt2{9s+2K22fK{Va>y^?%NIyQcP~%& z3Q@hMD5m6rWX-GM1I=8eHD4Ub?CR#f0jd}_Yw#2J!$Dz}zZeMn)HCb4Rigy$Yv_CC zkQcTt&o_W?6}V9CThlayt{fI&yB;q+X5-@F!sY78`UVDbXGl@V5o?qFH{Q>`a@C|z zh&|Xbw`=~Z_UpRCo4u;B{IOg%EB<@CYcI_Ks!;kf2hDE(apM8!>}-Robdp!R|67b_ zMZ2D{@+4EwRn4~~Z^S-7MGL?WC`+-z11!htnRczuyr+*mdFB<47p3LYLp>}kpT(bO ziC+)po6l)bSdv7esev)q`_H+qt-2hAv`2|eeIwP2X(kPs{ z8jGbIM7G~m9g6-u1T&&V0tp^p=XU>kBc61#~>XWg}*?B;JggzF1qXQ7pz3COr7w=p0>?9I#r*tqL-Z56da9KLSN-o3x4>$C~`wh!^vatuB>0PxCV7Nf$A}KFgqFiHbxNH z+BiV)>cMZ>te)kY>eqPLTsscygz&u2?a}Yw(G~3n9aTCM-h6#o=s7OFa78f~J4nf%*_oxNtRnWYXlWf!FQksHho^pv zwfxM;%;9R8HK^RL04lwjU~X@<+H!)N3KPbYu~?U{<>u!EJ~BRT96rwVJnO658tibI zI)!(qS7%G^yeePaTU8B=%kaZYiSBg`IY!AK>QPF@r9>5n`_gQ|WWIDf6TO>EGiK!V zcGK*}z8&nG)mX8m#I6tdSuph4x>y$?9ZKfSn|qMsLa&t0ftNGZ$VIR!d%y8=hdX6?zrMoo(<_lbIT!0W?y942Nm{-DuIqT%~d?T~v`UOy{3!>y@F8cD)$hPw8; zD`F-S@s9>I$Zb{R7Oy!fTC3%>L5j1Thx1K27O4}rlC^OewPdHm7XQu@1t38Jd!^_D z^2ntf8NL4a4l@4948)b^_vd-R%JgJg z;f0*ii{FLFp~5`Wv8P!}413vJ0s(>KBi37#FR-*50FYFTpK6+u|9f?hLe`!J|Hfjt z%@CY8^x&r<#NA3$+_lLwZM*nUF0=D1knShb7Du#|aAMP3L&!#BK>{$5~cZp2%NlsZx4!8hUqhx&|LD<&1^j68YN4uTsO#`UhnXr#vffFa#CrKM!+z z?=)(~#NoLqW9&iip5#*3Od}SlCxW^K3$J%-gTFf^pgooul*7(}k2&tfk1*Mg>B^8( zc)``zm%&Jwwy%GUJRz+`l4?Rk0_3*zZ6Q(!q!(v9D)O51>0Wa@i_d9e5n3u*rYRH8 z**eco3Paam24m!kYw(^hFN77Bza-fR450Hm>t;mU4z8VRqi(m~7F5NuxX=3FUgqAM z){6h<>sf+5E}>x+lQQJmu@5vXaO7k4=A!f8Rlzfxc+5+JTK|4d*-MMU1~gudozRp4 zZuxfZt*BG5F6M-Y)6_SO5EzsV*>#vkNM)!5o?-yQJm3#&ejAUBx1l9--fkq{2TSR8 zXKMX+Gz~2xpabKEn6}2zAZpQ%3c7@Qdv<)I4tpUX-6@5aUtd0UADPQC5F*MHLoo!J z@rUAr3TG-&2y{}QmnDgSm4#sV-7O@zgvdM&%6IrHeXAcOdBh31zZaF0@6ZZyF#HdQ zo43?YX2i?W zbr!`dwU_7lWzrT%NVs|XcUI#XnJ zu~0~>+CRpPI5M~1NBP+;u01Erl^{NopjCnbc$sMDt5f(O0YQES z=cC)YME;B7rldZWg+JKpB2(HSK^wHF^`}`DKE`P~T{ZZ*gX>O_vdAq_*qI&dX_8}h zz{>fiLirlJw4T|dhEPy5cI5+s(@XN_L*jS^g1Eg~=ksJvJJhou{T8>hi<#_%U+A<* zHu5p3D8jBKc>|AW&2h;>F?6lvC30d-vxgM8;ZLffZEN-6Jv0 z3(kLk=Iz=KPv(wgS6MsuC6d@KN(uV6)riYb6d@1n-f6p+8#sLbFoD*V;GL(PD^;=l z$=0u#Mzo4z=zZoZEglcw7I=IasK9Qf($uj1^|hpM=aGv&z%?81ds2vn zh@?yTAT6Hjug?Y#>jLS|??r!}q@@H1jd>LTiyM>&=U8bSxRiMZ+_*Z22*Z2q*&lbP z&92Zh?miJE9cj(uXNgk`98yl;lo6CqLxwML*zsco&te!47Cj|Va`u^%`6X!3axdyU zWgNB8FMGHA66qAORo35XRK#biXOnx!2ebEq-ECMNBN3f9-nEiDe_tX%7g8}+-?%jm z^w=!jryoY+(Ynv4wTA)GE}75XmF-@2@3vpc+{Hmqg^bhZsrG^4MWe47MigFWy*C0f z;HNsFTQhn*vL}sMBzU7-WCEBO1(@Tvw=dUjzs!B9_*y@GK&Vo>0B%H!ftLvSA27Kb ze<=oEgDOy!g#|^FN*c)K*fVP-s5hw=vT}s3XDkLv;3xsm_XI|_d8-)djX3R~0l|WL z`!O{Ap?Fqt)MxNLEkKxNFMqskFX%}66x}I?+z67<8`_MBsK2n0$RFRdJkv%!jK9qD z;i!^N^cC*uG0^)RSC>kC#0$IdHNR=lfcU&l+W|}C{7_V$v`o6>Pt>9Rfs#%ZKbZ$3 z{!O34V*J3(GkL~>|l@aYY1u31$gIX zjW|~%Nu{);<6AU~@NW5coZe--6v?|O0$LFkb^1!O?%l>yzqO9SvwsfZUqy7-jsyUS ztxv32;igVjO|6RZ_~57w4nL=b@S<>u8btpNvFwI?PK7#OD8CQI2yY%Ts`tb*{a`n? zm}{hDjx(m$dWPe#uu?HTIC6jRo6Tj)so$Wg>;ow-Ckr#q6A6Fay8tfmgbz9tP;li* zFbu%}c{q2PtP`k?MVvT$*2Rc&MaVIMHzb~?OXyUc6}*~el`WCoEq{kbfr>2AQ97EAP;d#!Go zoCLk!C&(qA`kgXZA+X)Yre?(7Va*5f!z<4ZSX}$L!);s+%Gf%2BRkM42CAC(6;4d^ z7*Ub`08^mn=CAL(|D&NTy+bi5(o#bhA|LdkYo9u6l+J^M@K>znonOY7?w-f9JHYZ{tK&i`;9iw}l6Rz=QrA+INbP6Qh>JiW!e z{L9cj`B;9nsv`-(OnGN+>qv!QCZ}51=J4FlhZ)f|zpWn2ZjdU}yhOM;xrsHGkms~h zA;$=erGPUs%JRu>p@;!c_dAyTy_Y{S8%^D5Lhg5S+KlH8e$hnMEsZSum?v50QZaUL zC8~(<+6viEMtdKv-bTwx!8_IpMkMqCovKn8`jmt|=_X6zkvOE2>ZY@!xpk)ICE8?F zv~ifp_P2h}(G0J9yRDWJ+~iNCU}?W!djLFa-JxN z{5J+sFUi*`Ck!8Dxcs#xa}}4e5Nv=+I-cpBVYhJ6`zLNK9~~%nRh9#ZC=xDO>-~za zT!^!!wewZqpN)BpI*H?p%CNJ(L79X6(?HiV8{vQV^lF5wmC&ZlDpFFm=q4a3Kg*Os zY%Kn~YsmR1anL%J?A?%dRTDEd=}?uX(q||{5hx$Qnrmka&cJ3#Rn>_tO-#g?M&i=n zmdW0Ij>*4&L5RCgvFRj&<6qNjHtpz!!16NPe%t))aa#)BTb!HI?}iP&-sspXK-8xM z-9DT?TIwg!E$EHZ9MITM9rYWFzP&SH!YHIg#P6! zeQ>129tGg-8yOE9C9txeWZZW`EGODmJJ67B&jQbWyDZmt%loAE36z&R`@xKllUs#% zUKB*pa;e7^8q+SBSs&2VE0cYsVfsMr_#3optOj*A!FX2`qZcb^90RsV>|9tC9lt9x z7B?iOZU}+VjZ#0#=ohoF{Bs6&+vi07!si==ip)ADZa36fP5E?GJhtuSU4GXNJ`6-# zFWtoQ4z6Q*i<=CTpgQ8&QWJ{6UNN3j(zFU&|BXuM^pQ8Ble+6x6wS_Oh4X=k0|f=s z#X%|sh^VOat~y$GNtfR{NUmJ!5HYVt&yZ=hx#ONdSst@;tUnsOKleE;?uO^O0&eWG zkOBkqLzhw$)FNZ5YP$_gB~Y7ZjNbE|jJNB!^zMIywE_>{?%o(br38^f|4=>AXT@f% zfO2~Pyv=BBvehEWKiXGF;+F7nRoCkzH9^j>7>tq!4ZgF-Ki%npHX-uiTLgU5PmYWf z&}vL0lxFgnwvhh64Ot=)ayeqN1tp+8KG+@C=wBudAD6^nBTbgULHK( z(KxNLgBypwh$k{vF~H~)H+m&lG(&h z-l%GwD|g&VHNvWPE`gtnQ?SxeoaR4YNi^DxecpcL+I3#mUUR86b>J0m4oABNPGu?$ zeLKwT$K!eQZGZzNVezrvJdu;P7lh?T9JGo6LD!TzJ@Y4TX7j#B_45WFXh6;owX8}} zR|#$IR};5Qdym(!2lDo)_?Hgl$v$5kQAf!~SSu<&BE4G%gdSZNtwXb&EcQeycd0#X zWX{HYJ9l`IKld)WIA^(6|Fm?X-I(bxWDM+yPz5mVIoqF|w+zK&FKRL)D6{w3xPlci ziWri4Ix48Dc-Pc71ooerBiTyp^3#X`qXP-0K}7v@OW$UdMvvPIhy#UCMr{0~wYEeFR>5fZ}FBrl))S4K8@4YVj40ie)BuZ{yc zZXTYSfKJ+)wtM9X|1QQXS}IY{xU)H3$W^e6_wKX(9k;SiBx?C%7-DsifM0b>)gM?t za$6;gr5aNQPd0>aqJ56)xAQyUl+PN#f|ba_YFBrEgS+> zH*gf0*0M_zF~qe0M~5#qtFwS%hK$s?iT+C}+*bXKhE~mx&xiY&zu9hg&Us!Q)-blcL_KD-}T}Z*f;G_|)%$MKF^A}}!OQAb?lt&VN zyev=}1vSiae_ep(hZ8QFD!Wo$TjSm-R*h{Q!j zPUI8ECpex46tissd~#;K_V(65vO^sr?SP&w?V#<~*k2CDt~ypKHhLLvE#J}o^&YbX zgDVTdgEr(qBW! z)gY=?rD|XYz2nlM^S`EuoDt=BA`nI6!HnMxD9S&*Z)|*z=fpdBHLz;(+4V@fEcw+b zWKTAWfFM?$6v}5_L1lr8fdEGOp_G`{J8Fj}L80&M%b5iicO`_a&AMES?C&JpbNH32 z_yO`xu+>HPl%r_$=IFSjlWM7$ObND515J_zgjFRe7Xb#yPQXiVpjtPFN)#A0Cb1wr z2~3Kw7@3_^qj~*Y!!}MtBq2_t_M1yGnC}iFW!<{*>P~Ce_@>hk1l-o~i0Ohu@RLrsBopl{k~0#U=g?E@Ok@ zFRA$O?AE2@Xp#o0m_t<1es3~K<)3FKX>Vs8r1x_Ea>}{)@J>JF`kb?jl!!}mW)>Hq ze0Z4Y(9Y%VunJ-m`tkfI|H)8aHP7_5?Q(PH>TddivoA;Ix25-z{)DFV7eowc0uJKo z!Kr~Od#l93eXkQrH{QsUax@yBVx1!A_$tC{B}H(HFmq3Rp5A8GoeX4u^`)`a`wE;< zmA#)j_oE}_w0LHtCBBo6SUC-uUlwJ~b%<}C&t=A(`MHE~>Dqbq4I`~ux5Dl+VI<@x zsS)-C0|%f_QlHDfF)~Ruy8_HL(?GAW(4MaX2C6%D)aG6@JBAhNwfom-v#K30ZM6NwluU(K;HFZi&x8G0sb|FRxcp3om`b|WVS-T#z|NZADBNIX&K3C)@D9nn- zI?|6zZ6%PE$U)uxM|z?iq>qeQFlQv|HPMX7GnP7$<8&;B+5m$=4atA$aL!*JJ+OHEo_JRc5S#m%Wzswf^Tl zou(C+FNEsDL2~3|&h_x;*q~B5x}*!2LCQPyp3o{#ZwZ%|_^AM7=V}_)&?3umHbJYo z!?&EZs^dxXxO_763uwcDI{0}X>h8*+@vqMlogVi=`Z?n!e14V@z9BAGdLv&+5Ej^} zdWbIc-0$Hh^@9mL+JB=~6;s-8DiVZnLg6xwocsC0zpH8(`Es7^-elG%eWh3;jQ8w9 zLcEQm+8Ijoa&ytpxDY>$g7Mv_k0u84J>0%4^m38ypFqs|(>jF@kAx8)b5s;FA9S~hj~KL4~LAbv3p|A#-gRc>zEs8dS;cg0M6-oUcp_=!4#0=8MKJf{W2*jciyg%cAPX`!r zw?|@H!rIHRJ@cyhYZL$&k1xF7$2nUIjxm;X^_a&zrja4evJe6$7FM&VWmWzy_HOvP zrbZ^8LhT`99V^LGpY!z2Ot;ih5xd>u+;5$O#f4jw(b+|432X0%(soX>s<9SPF1h&P z!C+BE3>b#H{oe5pI3d&(2=Lx^JARq|RExV6B*|4rfoNtdd7BVJ%_ZebL1JM81CZ*Q~JyB#>^md*qQvl5@rw6vcQnf~w2&^p(4^ zdU}i9fh@}qBZweESq5ei@e;}KqaXh`a(10xWN=xQ=X~w|P}Qx4)#7$xIwjm}K1iZa zGC=fzp8vxiI3{*nqnck_c<6}_9}P!TPQAOOs=#D2mqh*^ee%f*_2Qb&3g?^!oqNu=VC>d}wYAjZw5aPgJofIE7u?+j zI?*2?1xr#R5n%}=AcaN%sOxji{z~xWFpP{T$k|h#bZVA&U>v|Yu3+<|2GuAiC7mT| zmOK8Sw$~5lw%L7K$k+Vp*aAt@b!PLm(zcd6esp#@yjXTBD%MJ#1yO(zLBc0K;^ck1 zt3w@Gx#K!AsL%P_|0W6g%GW*yff7;DGE1jsD#|9)_HH{lMlE6O{gBOdJ_VwHKtO~T ze{$aUs?o5>EEy@e8-ffrY+zRaTj@h>W^>(fn9|Dj*1Hi)mef{i zR$DdB+MA$+NKhb7N7y-J*@-8fm}Qv{^>{S&p*ru|=VDx{NS0;BIwn@tX%h{dHdVYG zd(slt-3eRBE%*R7=X~>t+PsIp#^z@wLkv& z<713WY>Z*HS6p^k91cyk!dj~l1R|bv{ZgHD6uVux%Uy^qb~&~_#{v+PtVLCy|AQY! z?~P)n=pw`iKls6#>?!9$2*x?wC2O8#TgxuQ_Ux=%_m|yGa??l=gNL&R-}8`t*6bTK zR-uY9ipV+t_YE1B8iheoVqMoU1Px0yhIIQ#rzNbt8Kj$?;B<>gQw2>>{OpH6Du<)o zI7KMO<8INp_r32;Md7PzG(T_i99cFV4ijzN^|9N1NO#YuC;)&bslv&~GS#TcEjKltAF*;ryW#uzqPmKkGc(p~BHv-#ck1l&C#lT%Ir1poKdv*)_~j?DlK z>Q6ZC{{2oj42Q1M>8@Vwt4hY>PNx&Ll{mW1R(HD`+lvG8R?F?#{`RmPXW2ADx}Cj9 z4*0#o4Zq#7aSjr-t{?U2lZ`Ph%MD0Xe|X;apc=+yjL`?LK#WnAHQc?OjMMtC?iSc$ zc0&L{1kAxnCJ#r|^s;WxL5H8EWJYHOk-YXQrDg)tK2@y8!;Ve7g!%nlM1x$bR!E&~3Y%TEeBP8cgJMYydHQTj zFSdSXSHk-&%d#w!5Ml@#V^I_)&&irPcrt8yUABe{ld}@z?j}&{oQk+SUtGUF&+~k4 zj+wJOw|TaH!}>agpyGW^%(lo?b+2s6kw#dyc7OsZ0>fa2;X@8PwBPHGbsS?P;78y4 zKJpv@fkcFMX%b)Sbl=Odg+dXbDUKN4aKptHTv!Ats3?kTP>mn;xW|}IE{zK5W}YwX z4u;wsbzNuOE@EWoG=vzV?f1)tdA3#!SKj;4D9>|aOf?#H@_cushBe-qNg8SuJc6HD zvu3bvoeqaHGc)CQTx4!A8vXpzOY=NG?65;6#BR6S$#TRfv}G?f+yT`>cM>QS+{DPn z9D3-XB4S`-@D}`wOMVVf_=s#mFVmg?dV2??C9Jy{CPjtkfA0sR3cxuxEXOmeR@~#T zL%}?)*qt&|Lk+aqo4Xv=+E`V_+E7)t+qHFFFDw+Zvp&?Pf8q2`eEdIezWL_;_S^3n z&v?eKJ^$DIxJ&_rC3(VKOfBdI^@fSb%@%aoy;E)3j zc>QZ%_iN94eo#rC>Aep!p>Li(`qG#)L)CllTz2^3hldb)S#MO24cUzwHZ0zFV{gCJ zw5beGCtp&hEG2FQE{PWL0?YYkqAkVUKU9X;7an<$LzxIuPxN+mgSHAoe_HO80p~lWy zv1;X-wQJ{ZS#M#Zssa~ZeDT8$c&q|Mq)=kQE|RXe8xHf`3vP+6CZYlYD8BoxZ?kGZ zR95Hm2S4ngaX5_LV_V#G2bAW-7&*_Y!JwGw2Z=E3iu~2D`MvXg_~QtSfdEv%P;l|3 zm;UZ+elHRyCSBeUHXB)xMBy$5S;sx?tyys*%n>A&bDFLulV4C)%dP4k-!Qw09( zt#A3k1wRt75@heXp-7it6S|S5;M6mI=fdbJ?Z81RGMMY|^ba zdz2I9h^xtQk{*~{1w*tWMKm|mL+F&U7{>2x6@-v_H zqKKeKEFj`$Q$*lxEZY}&Xw_siJ0^3Lm&O<`q5w{k}^dqKnNqz^fY+i zzx|sKNg_{WfN5_j;$ejm0Ei5ko;w9Zr1r2j22Ytg;NXLbJRj7H&SoNV^L001IEH`} zhFG!XNx$v;b7v1oi`@(b$Pma&sHHO2#?k1^)4zb=CBz~xT(`LI(f46%V~ob$Y4Q0O zqe`?{W}Nk9IkRH!3tv2=xjUF5K@GqJPVR7g@rz${Hn-N6WeMig@D;{1L@Tt#dP^}c zOeMXRN@}LzFjjzBLnNXYW1bfm{P=uJEI?4?1tWDw10rCo`NlWC0buIgSsMGjz~inU zKnRM>2`kxIs>vQd;D7^Sj0{ep#2u(znHE+_pGx>%+PmK%!T%)>U=wV|01` zl`nmnnS<0?0~(+6yyuCC?e`JFou$iQtqn0+YrU_nwE|pq)m0J5tQmz!fFts?643AD z^|-p~vdaw!#uVKSK)&|uI7V;Dl49HRw5@eB|D|Paz9gkm`@HBtghfW1HeGwwl^y5m zx?-Rz#RA=;7>r7*6k^O>M$qMzD@vF!*B)O^xNQ(Ex37;n>L?$)fgvIT`sL4mfn{p6 zTf_!$50AGN*4_>VoN?BP#%`87>%MaO7uMZ!3xh0d66b!@qaJ0PMdo&UlcrmNwW=!K zlY*_Ss%o}BV}UxvJkJ35pt)lP#^cHW5Ut8Gbw*G?nJBX^&nA?=nmmNk6*$`{Yl5Je=*GG>0nBOYOl zq1oB6uz=kh3fy}4mL9e-rrJGM6uzpQa|a)Ma0E=A)e_kmwp@8Jpn{ozaR zmX%6yhDM76@BQ|CSld}xCtfFMmb6QRrgdnrGcybGn@&3UBsVd|GUTMZqBjS?5gXtU z4?mFrRsn<{3Ij)TchRvt~`be!cDY^v<&hRD=}9S`9%&4CpCO zd5QvcUHcG;h?xmsQi$ekp8K5V)a57+hauDuC71P!jx$y@V#gN|XjE0*Y^?%;F)>B} zVLX~$G4sfiAGQAhYXbnVLZimT;e5d^w+_G?{@`_K>NmYFC+@Jlx3SQqM;wS!vHI-n zEP(*g7>VfS8*iE>{n4(IHQY-_vjqS^30`AViNRZA$+(Yw=p)^%5FbJa8EmiDJMC#t z!*G~&yINIrX9)E*dH~65&RmvdUKDj*pM26IfBo6dobB{7GFpdNhn2mqC=~kir$7C1 zr#xOXfYo&}MMO0QG?ZhKh#gIPf4~(okplf$iOB+-VxX{%1>SFaiJoFbvEsCd zXYnjCD{^L%+IRXh3!64+hzA^Sz*oO=_G2IU=%}${I|@DSxMM!`@sB_M`Oh_$8w*Q8 zDg@!Z-+eVfs*Mk!-|rh^3^*bdF57U+x@Earz%HtvZ=-~JIjqgfy38Y-(79has~(JE z?K8@PR=vFctYU-}v#5 z&p-0WBTjnsNhh3e|6Z>P75ECHMIUrK#Zza>^hK5d02?rY z2yB|Cc;%tOAPk4ISx1QWo!e*C%&PzX>}NJDEN8 z3dOp+Dq=*QK_%98Ruu5@;DZmo@WKlsbS|G;oL|_mem&|MootKmwY7vTZVg_1Co4<@ z>iE$Q{9C;^B&cZ2On$^sN8amx_l32HHB^|HjZuI5fAcnBJAtH5mLGr2(Z?TibO_!R zS*VAq8U_obFie1ARG|*=5u+00aXlJAg7>j3M`c-uP^UmvmKA`gl4?wAfK_9j=S0NL z+Pvs=I(dHv-5&A+c@AO_BSs*yq0BgB8A7lU_FXX(VuVCxIA=z~QO8+Kq)?Hnd;!|^ z%`xsWV1|f7jkU4%Mld%w$6x~`(TF&|VPlgVmmV0q2rXglm8Sc zstSP3+{<6}N~p?c1Ov84RI0MfOlP<5&yHj{^Rj*!Fe&XI5=TgFHNs|a4ucVV#9*lN zi+0 zy?ky3`ZFjB7=qR?<8chL{T}6=x~_~dL4!u=baMFSz?48balqehae})pm?0ui<6Mj- z3HIH0UjkW}7y<(~+;BrfSR!C^dw*_%maz76IJN|!4*&a^&sjmg$TybbPSy#K$3E_H zp{i`B0I4ramuDu=^{%9ysTvo@i_C09IC`Y1*KmOGXyY~4#PLW6B~`&xHI+V#JYyLS z5(7|+2viNg%tX{}60cRG0)p5i2WgB3V!%oO8P$kbYF*24G~BdlaN|v`+wIKGy15zj zXOO#2(Sae123l3rEu7&fk*!Up6mO>4u$S6a&A|znR3zm$#28ksS_Qy>ORXL3`t|F9 zRA{j)IlCpSy&05@aRKV^h0p#^rc@3_5z#Qc{1vZ&vl2t7YnwYx)h&01(|yvxTmkUZ zAW^6)6TGjwc~%q|0%OCbdc%ft(45=ALcDfMWuxJhrIKw1L_-S>XT99GQb{T}KH!t9){YBFxw z;mEQd-#ei(lFK0xBG%gIW3SgsbK;1YWu5VGgeYLZwE})Eb{G<)fw}pLE3dlj@>~SPIMt4bh)9T&=GC+W5D^s6iO)X7wioym>8 z=E4j5D_5;N=s@hhKbT=H0Ov9howC%j9@Mh8a#j+&CnCg1)*2JK-7cEqOk(EIXw(es zHou;sq z?w{P@U0XI+&`BBXawosM?1mfr zYt|G8><^bA&q%>wN#<3fdy|Z~y_2)pTEs|1s!9a1w%_lk?rS-6AHsM%Mp7l+rDzFj zZ$_hMMDpdc&a8deM?TiErQ)QMPV98M!wnmHb91pQUB8dABxA@q4G{p8K{8z{2~F0^ z-v`iC)9uVI0ZZH2Om$?bv$BvXi6BJWbo08au35b4=GEO^7nD^Md}T8SjqpK9ZI*%H zV-OK8Tu=ePM9d6P2~iM4#2BMQtSlskNC2?1YK%1r(=r|Cq_1O)5eX87iL5mlkw9aV z=*t+QV~!iw-*C$<2bOhq&_NKQ%z?oQA)eF=B$I0wu+^=}nWkQ?%g@WN*w#+&&-PBP zF%pAXR=|kBn7k+eL`3I`(w9{^f&on0L*C~8--e-S32U#y7P`iYNS0;e!ey8LvP9K^ z>E_)*HG0D19uLu8k)tXN0p2S?8Hk>igttYhxgUhYG7FScL8>B(NKmMNNp_&Wae5S^ z@hB-&ph_f@dz+yEae%;pqF7&oveCsq8Qpk&9<^_YtC3R>1kOMMps)!dAy8BHob&({(HLipP*cauNR=xO^^*2L(<6BH4 zy6xQ2onx(*u=aL{T>A5$&ChSlV1;5;#eG)pbB}x6V|ffKT}J8OTgsCHiH{=U^fjgX zJ7pS?Zm+aeRGCOrDP=&VH%VEMy4>qTcak6gsl*^Lx0az`mS6mmHqCcK%p{P)Oa%~# z8dU|PUNxlJh&nf7Sk%z(#DSud|5%|ZF9?Zw0inoHCMKPvc@lvjscIJr1t~)nU?MQZ z2mr_x zvk?$6N$faV4TpKBQ(kw&@Ve{G;-EvayqVqd-gu2X%*6RcqC(^;qPc&-l+2Kc94}2W z(bHjRA|&<nbgOLf+srU%}tl=I2cYQCJ`}1<9IwAO6{-F{d!%~1kRd93!2Dn zSHMtG*rF}#)3qUtt=62(uk=j8#Be4eo%U+GJ@FNyB{oa8GjmfsuZU4KgxwKz-V5D< zEjEMbkG}VP2a|$i0zK~d`y<@Oe0EiZq`M7TsYZ2IqqVU1YA67@D}rSVT}^Y@oJ?liZ4gi2$fE!_@E03xx$ zcnFtY{nJZ2qsn>TWsq#{_N67ZnzoKG>EEghwM3Ijkml{gl8M(O`MHzC$hbBj`Ysjl5ti2iv zjH{b(xKX1BB2ngSey<}AXKRzwig&D=9w|hm@%2tE3OALmAvu11@cf2?|6Iv9U=qMMxDI5Q3?6hWVB&uiSUV3K$r}F-Eoq!QcK{b!q%3 z-fK~voRMvOxS9GTc4NXM@eD-MC(bSr)l*esnr4tJ{R&hgc1P)VOIUk37H+(WqOd9f zQG9>J-0HP!@?JMcRNC^f#}l_YFSERmyr$7}BiYvEh|{D@Z`(iI^q7V=4)P{ZlPxDj zPEiIelVKr9HRevf?y4(Rb#fh*xgpdwOg1g=NF>{|L72oGv1|`Wr}A3Z(mqP*Q6wqz zfRj}vrulZ`zGkGD<1}_@8djZ-NxC6Pq)8lO0hC2tBtx!R*o5`#k*!7ERgD7L`64>O zRyNM^@yC*>tI4OnjYp1R8ii;qC?ZPpVkPjzOx?!b?L;a@lX*Ki9VtpHB48G5UGvOa z{mN}YOIUk3Zn^QMuFDrO0?3Q+&h(3J2YIIDc=^Y+*F$^~^ai4&hdFO+j#u!bvz{ZVXIPMT@H3k_Nf=W}qy~T`mt6vm=!Ks^sFk+e( zsxSmgcEz$IQ%(YzAW^Uwg0j(cHziS;^lJG*0c@bq2&f3uGFw)N3UoLetXR2kz3%30 z%|0-OM12Uiv+8#`{u*L(^wWf3muALWOt2@x&Pn;TDp)lV83idZbScPq+l{}8gHM6! z%(M|}6(kFMav|t0vE~w5!rDtf(>l0isW+s0{dLz27UvZnfPxM<@IbP5dNDOk;z*Hb zg@DjJ9TTEVJm^H+T;dbId-J24NdqSc5MxY{GD`0L=0a8$0+>=jF1dyhvt${3rL_-L z>Bpm9<}?ISNfugj`E!cb5dh;{tSZWjSd}KvlXuxGi6ZOwMlsgGm*uEy-HP4}e1)=v zHL)HUo3Sy7iU+LYT|*dbn6Z zRzV<1zGkPDRYZg)_qT|UsE9z+G?J{CCT{=}BbQ{7Vz7i5V~PfnVGxK@Du+T6L#F_O z5)m;Gk!&lTNt?IE*?crqL{*iIVKSqI0Yn7Cuqkjs#PEU+Pm(cOA6APUz~cM@q7aC| z0?f?JEN80*+W4iHzn^Xfl9Y%9712o*v5HWmdn*znCT0jt1fi6`L}~IU8i|MuGnfbz zBz=Msoe?+F z;vbLe>d}vQnun?FT3=*YgI-jgdLrt#Mw){=E=F}%rmDD#xRjjpT7&15_5*eqN z7z5t*NeC@r?d4dvZk>n_n2CvK_3G8h@=D1~%l+383I)@0s!BG#s3<9TQn-?0K$KD` zn-X6j-Q10TDp_nz9Bc9%H>3tpK$CoDB{DQ|i4jy0WvTp_A)NJe3kx*}c)_C|{_5wwfTMIkrm1w{CLu$YVg=C2y{O!X^&uu#vlow8LjzG} zt(CZQneNTFq%<`ZQlV58Fv*RjrVcV$xH{DcM5vr2X zJ$Q0B*fC>>NJW`VREbSPNpFmaQB;v-MKA_zp)A@|p6?R0d02ZnHg4RgOerB<2`g8w z6iK>x%i?0wX-2vYL^*jTL=Z)zXcW?=4)r7roslSMBvlq=Q7l`hH!;~1MALRQ?^vUg zEXO4>O25tukWo7+He_11vtYooL0K7NBm^bu&dwmWKf2_n|MH1X-2%{Darr3BGyd)) zAHC?(%ecs+2w4&hs?lU7#0Zgvarvgdd)vhu7S;iwg8}fFuYc#gAOE=N_5#~Tw5;(L zwoCwM>UE}jo^B;p)v2|(^I@_yAJ;7gKaD?$A}V4t{+!lvGWe<_kt8-}N0ieiA?Y(J zq9PP0nOW&_k))#Way(7hcb;g|(MsT$RQcNE8t; zbvm6C+)2-EOdX?y2+L~amOtdl8X_`G&?Y}yLEBWLMV(Xezj3|(>vy7E&+vee+suSK{%5~dp{3XO1lb#pL z^FrCU)Ef;TA_E~&H2o5j3C9FwRZ=r?!^_ePcbXNkU5K!Ap(?W?CsvU#7z{*&!4VWf zSTQrRbY0x;WV9(-!rIG`+@di=Q2{v3&C;J5qa|ekPT5OTMQLgfiD+zGzY`6D=7vFH zD3Rr^rRF093Q!^#CNLY4L`(=uRzV_hT3Um~n*|WTSj)x|C#8v$%*D$#YnrMaAVwIY z-m_u0G^i_dvI~Fqlf*1#t+^!)s=$?3UIQUgZlMeb(i33kN^=O%C<;vvjOG+XVMS_^NR90! zs>(_CLS)(nakE&hMi7xlAi2?yW>7H^0~=+StZ;?pnxbFYeKaZ4W|b9QufDO%Ig22~KIf3~fPMDsWnEhhAjG6mBV}1#Ni?*2&AtQ_u$3Sn zIKTrPz>#BZ65$@1Mayg}Z5)0=U^b!@4U`GYFpLO|l7gf=j&v%TC&Xm%bt2D@ zk_ejdSD>jRpKz%z<*94RSQ7;cqQWo{DJw)k$r2(-S-cX}P(#66bmqF%>neKhoQp9s z$Xa{TO*a7u2!@<0?YG|nlMgokPdj`&FXz^WwU>jNWSNxwOfg2#R{1w+_7#Z$j(}+L zbS$~0R1L8q7~)i!w^W~}APDKie?Jj9QB{#3B2m1As4+BC42h(XBvKHB#)6R4l8Y6N zD6{H}ut|zoOUI#1N+#unD!^6*wkSlT91nAAsIDLVu!qb6BvlX6fsm9P;N*ur%m@Hx zb_7Sty-r`F0CK|pkDGz%AQlKK!85=r;8DjM-!;x?Qd40{M39oUm_eLMbU?CvQBY*m zphyfdAiLuU4T*^;ImIR(s5J6CaROSfNvQ};S)>|LlbC$^^<_VOT61SD74O6Bb(Gue2H$>z32Y7 zTzE^)V!d{Yj#jlqAyQ(7vc}YU*+P}_JZdD;f()v9ZI(Ur(T}?DvTMKagC8>D4B&yM zKj0w`J^t9iaG__7Q3WikRvU*sc2bR3&SbCp^Bl2HNLOym1h!}W>&5W5lCdw2}J-Q z8Ck-LSk**I%8J;?r4j+C%PP-vo)lV#SVu2emZe7&G?KEgN}39aA>+UVXcGG3m<(Ms zc_g5wriLa}%uN#N6w-)rX~>H#)K!s$SqF>PUw^GY`sj?J_rR(H_XAW^h&aUH$fSs- z0s`h`#@0>=K(>Unmt%HzwyG)z4k0LEad8obv%D9oN~TR8L;+$_O12e13L{WWr70OXVJ}9 z9dy9@%dgz0H#;6K7!XJe)TE44A}DE4FexMvodFOP&;s(>m%jLc_rL!o7hPD8z5l)M zeZqb2yRz%Xn@U)tiGWfjJ1GDo^5hdA_RtefIOFuw*WGx-F-P9#@sB=vChwRSjcTL7 z1qO)_DOf@>CdaK*l&M?0BgxO*;bPGwD_edKA*Bx6p={M*uN|) zDf=WPz-dft0#sttTZGA4Tlrdj6X!LStYwWMJsVQB0ShT2gvF>bK}^a}U&>#JLe@Zp zh?V1{WJfmNUrg%F1whouWElb>usFllTyu?q5eR{7p6#>$T39pDE~8!2_8Bc3M?_KL!oq^qDN>f=%>r#GsHvpUNv2h@q*Be=lE!3H_uQoGF#D*YCd;g~wk|6b zAtDJOPpzBN1DQ457{aWEK}wi3Se{5dFk6Nq2Cy+JSG(B_qj3mInIi+E0+nc`ahj1x zCgLPi%0{R&s-Ael{hx63(MB=X>8cNYaWLbofu>+sl95Rwgcg)7j_$K+pZ!mL zigT_Smovte3kyZj;Upf@1V%ZP-x0x3G|V>D^GKScftZoGO?9>Jy$(aS0GpJs)}*Oz z3k{K}G_?aF8ly-|Tuv%YveiVAq48lM#Rrr6ysB~#iGnQ4jG?-!D8d>Oymv|JGZ6*@ zshU)vfUrzea+*1z2rDn2!|qT$P5O)gs&MYoOD|<&Rb?15=3e)@S8_nAD(|u&VM|zh zJ38Gih$^jmwpU6u7!1f5IEShNrZ;3GT9P7A$!V2>gQ_tlyK58!LZeThsw$)qt-Q|6 z&6$}Q7+VY$$D8I6!7wSo2P94VQsv~K5jFy{XtedHai$Q6kU1TDB7>s4^58?Ry6~q3 z8_UE{lOj(dh8V11GZlv; zWtdo*5Ta0$SJlS<)yV6J3TczQuj$3DaTXCtj7$s&Vnm2H-gu*hQK(@v_Wtn04@Ye3 zKvP2eF1emt!rIGm%>9pN>r9myaB@ha?~~7}QnWaW?px6iLLGh!qh~kk!Vu+dOquDQUtBlzap`vN@c> zxnlLr^@a_39UPQRYUC9ZLQNXD=tRQ`U?T)Ipon^0WTsJICqWG2g^g+Iup2aTqYMev zsMB>KQBaS4S@erK2Hz+qgOrym3p1pdqcsJT4#GZaNvcI>?L7}t2F>=vu(H-9$Jf?j zt*O41E-70HYs%&%iNcs9j%rLLdrUg15J=3`XyXZ>&Y0CJ(CGjK%Q`MAU+2d9I+0N@-0O>)EZiWCKjNK_GslEg^_JvREH zF(3-XNKw)v!AA&+44Fmd&@I4J2Vd89ich6^WzvIB$z9X1)KYe}sH$3G@4XU(7UU%gLb(0Bnr#wj7H1cb;U$*I(I7;F;vtu@d3e_StNQ03WLm{uqbk{*1^|xsj7`vOhbA-RR>Ke z!I9%$Qrb@{oIqaNM*| zl_OPltf}~VVr0cMyGhzLjV-_!`zkY*GaKs2)>4*By(D1INS-4YWe`HBOm2ux>C3ql zv!WP}9{78d(6Gm;ug6X|xnSfVP> zU-`Dn}(vaeE<+P+^g}EHi6Z z!OW0|Uf&Pqv33m~d=Rf(Q93t*c$k1j6WKs5)TFopL^+C4F`t` zO~vDrVa0;PM*=QG3<78K!Qv328C#C(1V)qv5P>#5!2kqkttf%9p#gK%DY7-I-Jyq~ z=%72Z;ig-PqVTm3AyA$Pwtq*an1P5!X>vrR2|G63w3={*K$KJQjVMh#j7=e-L?ePa zAb5-`*|@%1SS*;jd0{nLz>*kMNUHa2syI_vFr9Rb&6bnFyIFD7uc*usGNwswCA#z% zzd)+Eh6?o9V~<4$OLm#?Fu{yYai3$3`NhRQ>t(rmGa8jwUww5L zjoEQs*F}-*xU9-?(dkf((Fc~K`K^;~G^&Ucg_zMOHv|naDVjrIe7Wi8mn2JsL}#Hq zD*fWvSx02RsT9blf|B({svHy(=@`QxFtalh>k7uIGBF|4Ze|7&anJ!~)rz@muGw_` z4OLzCG~=o!?*VP36d1xr6fsRbtkuSMlXM_Jrm1K#skTl5iIY}6WNap|$-&akdx&tt z(bsHUlfr>X*$`qR9fxQ-g{RE3$@g77yLz=*F$ZT66^JY6R_a8URDuU@Q~97t6queS zwyaTt_ZlN9B+bE7aS#!p5@Jf(MNFFPAypl-B8Ojh$qV>r(K@u3ypc<7_jB3+MwaLs5 zkVp_tCE1N>K_IAMl;@cjyrZQep`sD+i(L;DClmcBvE^SMY}CcARQ*naz% zJ@>%W1X?XHqk+XYu}S)Fx1#8gA}Jo=)D01-q`W>74Mrn)6PruWv_=ioXhe-l9;Fqe zkXT5}M4SXG;zSxYoP-q9*d+B5k=Y=1m==MX(lIOekA+tNRKyqq1-!rb;)_LunMI_E zeqzP4z4pBuGS`4kjoFTRU%MRE&Tg&zq=%oJvOX267~^k${hQeBX$Y1%HS3VIA=L8= zKmZWchyicFu-iGMS40Blmn6YO?_xADvIsQr;Ip6s$Sb)z=#XPz;H{bk9Y~U^8hzju zh(slXmQTcXM!T=r^S<{f_S)lyepi=Im6@xJsi8hf2oh_rbwC~1GkanW8!1zh!&)^K zmW3(Oe0O9+9}GiQBSIZXD9Z|$wTMitJdA~NlG)mF&v7r~Zf1J9EwkJ#TfS_+1Evl> zg!bMWlO1(dB+RQN4@PiHP)QjXWX0&W1prB5AvI9T$yIuRSA ziP4I%3RB|f8}7|z*dc8(I~d{oCIlnVDmh|9%%Z9q!$1{%p2b}f?I!`m7L=ZO zO|-!z9hc$VMg2keWP^01?oJts)^g(IA8| z%*rqRyax&t#{BfBKW*q}h}fF@Kj?vo0RS=+C2mLdKJ0Q>JHJ^6l4FiN_V>T~b&K*+ z`z_crzjnsI+~?m=mkm&-3Gd@T!f%9oNe2`SGQcaUiiC8Vnu&cwE=*6)u30;?dNumxxN$Ax zOdYF!-#I&2J0*=msH8Z6i4B;cQDP7cqH4kF10X5amO$`z3=%zDRz_d-eRQ0UcRI_b z#+EHdr-Q7Gtbla@37FY}IYz&^GR7ZSRSgnYM5G!xMSY2GXTZfUfJVvSr=Sf!EB#+V zP4KHUBIl(n1SSTV+=;BEY~+v`BPY{#`aJpADg|IJT+Hs$id=LGYc-~0wXfLW@(F(#GyLkNz| zsLo(g=n@iYT6iKsqsUMbML`@HNd+&V9B3Xk4jQxI=XIPdYh|Tk5D^@JqZ@+TQhVGj6Gc&WfHQ7`#)7_vN8Nx~# z83U6t=BzMi9Ilt7AuoY6&$HmgBN7|VoLa6$t0*qZY(6nI)+r_?F*%M-8_vQQz#>GD zL0&LHBx;Ni(Q?ydH?#!;sGFN^;kPuBK}Tkp zfB`8R5J24M2Bu@)?nJoAIp>@+J3E`PNs^CalM_cAbtE!J)&vR7H`;!bSi2n7&Ta%) zbIM~L{oen0d+3);Tvg@OS6_Y61s5EC)DcxxwQM$2!AUkmc8(rK2cVu*sTwLjb2O}! z8qpFTdn!B)u;ro+Lli*-oEBm{U?FYNEg;e)vO50ZoOjd*jp2^w)>TQl7p zjTIu8CHSv?^{Y+xij1h9c;bmPH95SHY)tbfwiB>nm&4kbO$olLGP0}ge%PwrcVBbO z^=!xrs&4OBzxd_h_dFa?V4*RpsM9=vROtg+d^rN)QkwRRtD_OvW(V%o2+tlCnuL z%OJbW%~WiNz{aGu+ej)zFtCP@SR%NQjpj(H12?ICK^jWTp>ne}DYn$v14ISE07ju@ z%>ZD?n&BD<0w71rp*3X^?Tm6dy|JxT)>8{)!!eA8<``)`nt)w~?Z6wwIxTRakrXh1 zdKFm9P;kRU+6e7nGfcyfOgg=9fj3M1#iAgJtOSyn#6xIExR^NFiAbX;HzXP+%TqQQ0}CBUyGr(w-=43aw5M|tRPi|v9n?Bq7r z>y}j?oz`QX^n|{z$H%6Epk1_Yx$&kS|L{l7Sa?sy3`F76yw8KYcr%?3yU;jsZvs$O zRUu9Ya@|tMuhifdLSjpSg62Drhcx6YNk?lw=aX`@L!IZ*`uC7sbA)Cyy@8dXhQ(xJ z3NeM)LTn)}lPr@glcL!2mSy5Hv6(ZI+GIz-SZwW8VG}KqoyA-fs99A8N9w|eAX_9wUb+?-6>iv z04okX_}Js`vvzKMfY#nSm!EOQ85(87+O^0EWQF(&tvt!qEKoDhd9N^fy; z*$^2bljyEA<*J&69;?y-&ozJ7rSjHbPl=5bgXeP_zAtYlyECp8gLwYuR3{w_!r;8@ z2u(Ccr8HFxHz6pKB&rAkm>Mn}CNU%fZKV0jhvsspik=RppXTo}F*6yH;Pqf)Yn(C8 zSW>Nf{Yx&oRG?*98%!wSno)*nGfR#}2S4kOfGIg09&tUR@jsC+bWhDA z#FX?Aux;h=;WBEIZF{|cd)R2po(@){^Yy_k{dG!}gTaMhW-?5MC3zx4YFRDAurR6N z#QGl7Ou&@f(AK`!CeuSA2pyL8thHbYApqbkW9CrTQr2gD`76Dd+2x%no4KsWBlKaX zJYt)$Xp0%TB|Z8syVK1YYn+8OknqSSKVfROm1<2Ld{mtrpLqM5{{!6;@|mMD004jh zNklhDn%(UPmJoHT?d!uA9 zh^@dwPr=kkQ!V}r&ujcF*tTX{d;ij1kpuqC!Ime_)=vKbzH-Y+x3@cj7mf_0;agb;|xW)6lSG1Ok_V91^R*)P^* zzro`}pZL_Lq#Wgv+AfE+GaD&Hg+L(&F9Ds_GoJh00Bui9w7-A-C*cupSYseZlhOAM` z7>qon(AY3B%K&1U4mcVnGqWyurMW)d`=|nE6YZ;YE^BwrIs2z;Z@MKn*=%pN>-%$M z|M@R`fr7RRar>>h4glWP^-xw(IM`Tv_-vAnGP#Mo3-mk@pHo8O8cq4w-D z7*32R4RV@kcn7DWDM*={Mzxe8NeQfxt$AgT!xE&1izt!f@k&297EDrlGe=M;hkl znh_pguZGTx20>Oc*$iSmYYa0hk;GVeZ;Syso#}n_{T~c51o+^IjRLKSG342c{_!8H=r_!5Ffbc8ZoKjO>wkLI+15G{an51jCWbz1 zuuRY<7Eq1Q$VduUk}6P)$W2~e1_ibB&Ov=`0Od)#IfFzyfMF)9`5@Eq1h!*Khit{} z#7m=?AFIK}z+imPcp@cEvWi2Wl{`xv#AU;fcI0R@^ggsO^Vnpv5*fxICExsNWWpH! zATb(ajI%z57$b}gb90wpe97-Gyl|pDrbMOIf$_J0_dH~-D$AuFG`e%I*)CgZiy<-D z6%p!7-^v{N{y|3`*}rA&q_gX$SMRrKACmx!L3F+spZ@%3vx)I6v$5>?sw}e1S2ZUs zgCXTxV(g8nNUg(eIMo61n+&>ghEEX@nfdhyh?GrQCxS_hCBv`|%rHio$gmI^nJI1> z>vkGjC?nd?!Z(aJqN!CAJ|yi4#3T(FR3ypJk}3x6oB$GMM&i@}piGuhdnS}%j1lN) z0VGWrCZS;s6SG<-!)h#;VHt*rjWU56jcp<#%OQ9+j;)p2laCbej3+9!;2Kel z+vDH^zW$^CbGtA1(Hm;@eSRo>{hjd zyME0LA%u6l?QL0Syx;91L2SBRB~-p1=0^s~D-3I3nu3%L=5S$JP_E)cP}O`ktx#YX zmeWFVxbzrS6=e{eZBnkfvxjiWZ5UoPiEwU|OB=jGl2T+tCPi2*JlLnJFvu{HVM&Z& z!wfp}&|A@ZejczMvDbOmWE)Ai80n?*`1xGEc^M7&%W&9OB@`N?Tk&TGf#c` z)7;ACRj)@&4+q&5VeQOD+Jq?5pr1|E>$PnGU%lWdfBBQ|d~bQXJvTR7WCa<1)mZBtE%$oq_>LR>RVOfvUxDhNl5`VVGV?9U_K_ZF-{E zniOXZ^2&B3*Pg0lak1ZehqXY%8SBeZb)E~CU&)~h9#v)tVv-P zoN2aZWjC0{hqW*>)Xi$<|3T({LAo~?Ej=D;$FY=M(nNqWIvN8fo>pp<7I)lW;$WDp zfislZ^h4U%8a12(v9u%~)Oi_XMvhFwykV1%Ur<18&dpbq8yhRTU7Hu*`{uW=xcE|I zOhAl;67r9)`WNI*E!S0b2jsAJIjo)B$e5&C6yzug3Olfi3ooh{XB57ifQ35f`Aiu6;2J1UJbYWze*nqfU zzZ%3!um%a0ZdeVgAvN>0KMdBJVo1$kF*pRKjFdhwfQA5o!gh+vmnbXe929ST%YW43 zXZu}?ychf-_dN3C$3G6aV`sChRSc!QmdtiJtex4K(z&XSK>+7m5P-n#b}ai(|EGVt z?}Hy)bjH*&h&rwIWtU$1>Q}#-iz4)T?40RzTJ3hX+nt!2O!IKcbVNdeQ^Pb4s7bM# z`La6Od5F+3pT*XY;buLOqO(DvaND8nJCQZb#;H=lDH~;n=!AK2!w{%NG+f!iGAt)2 zm1vTi#NtS>rc4Rn+Z=q5G8;`D&STILgde(wpK{Wl*BfRx_BQNU ztTL8L?f==sANKmUyrn-g(`t9bdkG#l$1STwm|c!00x94fOy+&u|d-vUxi%AEyY8{}8AjA-3lCzaYo=a3E zBq=rkjePR3T$t!Xhp2_YKZkR`usc$qY;q-{w1g)T2FRqG7kChJ$^eJOgt20J&6>&a zsVgqJUK9eCv7-#GVIUOc-zO3c6@71BkuH1En`?Xm@ykjhMK1|l&c zVyuOV`g&sTy+3~1X)|@za^ul(6{0A<|NS4n>uvAIU7?dE;X1HzgSvbr74c-!|n{CU%-PrxY-8sIru ziBk6xQXA7KK)2bNu7CvNlEF3)=rvZ^G@G%SQjLaTSm#0Y4T6LgwgRdu>bjlfy^S+} z|Lo_6URi~*LN(c0?%J()f8>L6v(tfeK(IkW(WS(+^GEl*c>lA@VeRZDl)HjN9T`@2 zgxom=!8)-P)*X86vG4u($2a(TeXQ5j{k$^~mB0I~|NHbOK0{dx;Hs+ai8Cb!&Xk-|Cgdc~qP5W&PZWuT4H^nSh8Nfj zAabUv`>+H^?0c8B-~Hyd_SSBw{TxBY?8N%+>|a0kZx1>4sC>LrOJbW2Dd$LY^rA~< z)~vnPvB$cxv1)c!Vz61}a;H%5>sDSMDU};u(7HUx?n9S196&D8L68$&Fj1w zqXXvGCA0-f&ZQin+wyibqjZ0_Z@-13LrF1D-A7GtRio>!L}UWD3EBdoDF3VzB|K=w@d+Y1pV8P3Z zDGivDdXEG4`@knYX2x65u(O${;^ZRXfGGG01P zpIEWJzd^mKM@>Gt}a@pe^t8$x?( z5?Q8YO(T7Oq}p_cpwX&oqJ%*XI5qTB;!J7!*U)hC?lJ%kumhBIstparnU$4<28}oa z>;Wb14sL`Vi7;?zl4y<%6DTFrQ!F*aTMhmgAt^SB)K!%tVs^T@~$Cuk1%?tLOk=YaxjWc_{~HSCw!lwuZL^pv|(CWnE`k z1|ZaR;c~=8(}34J_j#ZH^d}jzslg>H8U zt)?Ld!_e#V^j}}~>TjKX zMkjB@sI&E4Cm%cH$iu(%jc;J0180?_UzSC?MKB=-XRNPko4F;uUb~irJGD{6K+c$# zcS@2i&R8FUVPlvj#$KUt?t=^?8$(S3i-%xQ1@gS`b#07= zYJX-X&$2hY=}n(I?Q<)}Cacne$-11|`RBj#<<4#^VY#l#AhFeMr<0B`asuBi?bX`l zuy$@6z{OJuy{TI(0MvDzXIb-nK=Y!Qot??Y+9tF2f5gKb^VvW7DMgta8;4i%USs&m z>0dtl?uYGjzyVcN*;Y#!!eBBW=9J=1*(;DRgN-sPCC6lRAfDP}vYKp7+Gs(FZFugA zE&H(TJw%Ip`%>qyh8`-BWu+`U(=b^*T+^kA!Po})PHcz?mK$;_G;WIr6%XP;Unixt z;fNezQs`Ey`=wzf<&S>kqaXgjhjQaA**q&MiIv8Wf9|wHkH1d{6}NI@jLkCu-MP6e z%Z%ZuXqKEydAW8utex7Z39Qn_I$xu*))GNg8saLEqR17()`hCP&jU`_ci+36^NVwO zy>5~jRDuuwo8S8O%=E?wope&a?8}g{7lTwt;tnMcQ4(<(tZ*9c0a3MVHdzU#<>BTz zEZXG%OEyG{d;8KmtVYvuAfL@Nvf{>khh`dZHYv7crBwB!rvHiN0q#xnIS(d`K}QrC z!TKfv#vsRrto!6g|NG7V@uuZSNYns@>jq9b&q`F<3Y-uRtTQ0O{Zk7CFZ`b ztjSbmz!11(BeW}rwG-Pghh+u;C18GWxTR(~se*4=3m*VF=X*bR##8<>^txlVa4Hgg zp5?Q3_uj|d_XRJ0;e8%(LWsepdbV>QQeOk0R4Ov2>~@QGD?*b$@*!AjB}Oc4!Qsua z?F%zocMepLm@&klFBnt13Fq<_-m~q0Rfs4xCp3Relb_ek{XjGK5Qe&t(1f`ioYDw= z{`?P?qxZ&TqLQ>DL%+7hq83;iX68Qs`Om-OZT~4EU=k5yT>w4(dCz&p+ui~LAH8c8 zL1L0`G81+iO%$99{iw(yx~o6T(;L<80(nbaXx-6}=M2+~$j_a%|IqnlRW;%sh=397>8VUIld-JkgsLWNc)hN|FQ zo|C4f>Mn=1%eJcxJJ)W-VGZvvQYd0w*LhLYRX@w~(C=?tv+l*Go_g-j&#@wPcW!wx zA!S))nKO1xf8)a*_K0Vm`kZ6#{{Z+JF~TrJkU0=Z49px=jJ0)DrJ`hv9$Rm6-qO8( z=Qm@F22cbyfBsA6umqbrti_C2bHYQ`(B_>f;BpQjgbKNFVeyktz=MVqb8D}8W$Sf=gl$Zs81`K4f=k@E6dW)9uTI_OIJGmu) zwB_5H7Bu3fy|4N%&qEB>IfbZ-*1?4Mfp@&?GavacKhu?7f2uvUvAZsZ5ugIA;X@BS z^zl!4!lNGbsAc=?jk>PuDw`Ouy4@_xD088zY^#MBL-5oT!gdsgwN*zma7N9)8sH_x za(+p>{nItW2#ZF&q}+-_WNdj&n%Mg`|C(tw0x?ATv%S`yd-krqZo}%er#|O-Yi_xv ztZD%iXM2P_Ie)!>! ze)Oa7d;IYS9(+)~$L{EMks=0W@4agk5^5~&QNNQM)-X=dc@IlODrWSzLz)-eF3-`x zVPSy}y0s&3ffi=;E70iM6aW=%h`@WOhJMXa|L?osf9g+U2nRlx#FVDg$RQT0>0ITV=oBDq8S0 zN)P9*|LyPI|F(CWdB#^5vT|bOY;U$3$}BHJ?F+Te+7LoOFfg1%ajfZ=ePf*xjy>*P zpZw$}QRH>E>zsj`UrgP$NBmB6SPN2DgMwfT^K8PSK5P5fmK@e*0oOt#291g>%cu|C z?BHoeQe-*${SUqW1OI#aS8lxF21_<-w3LxGbG}k*KKhx@JoHJA5B;tug3H)tmJmbG zI^^vF5@C#JX!OKJ92O~biM#!FIjlb+8%>T5Z+{wzu#`|s6p@zAP}hh+9p3$Kulv-0 zeT-`F*g&I?p+cSItqPGrrdCx?pqz764H^Jq!^XIc^~_Xz*=%p_j5E(X_^?9(P;L>u zk`gu8d%gAlnqvJT_P1(V@O@j&5Hp9muKN9MzaQ#4h%i7zE0(V^#yFRQ0WwJrLP?0s zU}SL=4`G*G5^nWad;69D+%h19BSTSVL;-_!wjYX3N6d;eCyjE_`nBlzWL^v z-dx66CBB`F`w&c#?{nb(AN%xY_SkP9E?Q`1AVi?7>fAbO2!gs_xy+EY3mp~+lIA*H z;t6I~^YfpOHRNhrnR=VVmZ8j8nd>r~-n8bWFMQ!yKmKv3s~S}6yV zF(yrrg{i|P#RM7jI*(kRk^SI}XfBzkVt&eLS_qUt)|yVM?sh{RwDN_`QO7HPcfp(A z@W#vja7C}|dx%A*Y=X$FdfUn${`kke{w;4B-*YcNH^)U5O3%)+p;qo1bsr#WWdIaP zWabfIL-y1=;2z!;VePV^DIq{(Rki|Sy7$+QeAM~p|0YAGAlJ@s?yZ}o!Wd&6@4m+# z2Of6F#MESF^YPaBHCO)OSHJw_+}w1=ww98B@nXDJ_5;+m@`s#w(mUVxo~UHU+VJHP z^N7m)13nt#2!T-bOXnPuMV4t*U2yJs-#POezd7eu7hH6Kff*YctLs`sthH5DiHbCf zoq;X}w6NI#$)HhHAOaES)a3HnxjAOu?|}V}I_jvy4?q0KV~#%j@WajcGSpQFftXFF ztyM*t0}#E(;1M4|oCu&PJ#-tdS0rG7vl}`(VF(jtw%_j;##xv(f4KUCZ-3V}zwtE# zSHtId+pEmgwQUz@6}8A~UjO>PdETiSVjV-?>GbD%t+BTE!Di+*p3EI%yByXon>QtR z@i|+Ra>{YXUvbg-dvsPzcV~z=GE}wGX+7;}PkYgeUchMyHiuk-u0%peCdBa*PGs0aIS=Ytc}TfvCdj8b>@TeU zn22n@Dw#PiGQEwN#yiS(Ijmi_z$AJD^YZ8X-Pb?&r5rGVsIk^)oqNu6p7Wv?zkoYq zGCR$!LN!L!sDP+*jupNxU0z&r{(0|y=evIOi(iHivMlRYeP?nXy+Yf0;p=MYA}j_- zbtIWJtb!uTvTogH@Wj|eS=MDJTdt+5KGZeBvTULbz9;)KlToo{{XEpK}B%(@Nzy0<(Zue_g;a{0uv>28mmz307-dG6o+{mFm% zR6jTCTJ2uhFWMb2GaE2`6^ygAq%hFM+b)N-%jPW+h1_u2WsiFBN!9dRjQy#6Dnfcy z`N`8hdHjPO1ZMR5$ZX;d2)<_HxYLntS7Nk=8?d|L?QeL)r#|t?QsX$g#N-e)TIMKz zNtcAYg?8p7d0+*?u$jxeL}oU|OqbJR`S@JbHDDsnU1pr^cIP}oLAgK;anWvdT5aQO z^uc@Yy%!M)F-X)XLotpJf~XM4TANZ-sd8E&w$UML6gc654|xB_{~N)>4rQ4KBR>Q* zEz)7lU${|IAmSx2c;Qda{z(X-3f1J;q_3&~4US7+-);Z>Uiq)DIr+&?0Tj-G5$j;` z3}ElQwJwn^cpt63^E(YjZCBELmyMbr>YHEp`f{$ar}q@zpcReqU8;gf@!I*=|)Y^>^4T zBuI-o5r_eGeZO!;khtE@E-NPL7>ibCwm*BoJ_j6q^wBF;tT_1KgAY06kd-S}E?>Uf zE?Wj>^m4tKK=0f-~aylbvI=p6t0L8$#5qd z%StJ=q`;Xg)~#EI5a2Rs9Fj2%+ozRj8?x403xGcK-uM0FM?Y2{7|39%s+#t53Nt>n z{G~5?*^6HMVvJ891~{uRkg+DuX69zc$0n_F-bd$5h-#g|4#ot#%VF)Z5mT(c?)o2m z>pN8YKI&ziiJ4yamH+bUqwjSroUQx){#_eipmPAcw z3{hVD*0*1H{_n52_)?8wWqWzIH&<5`H--PDG8yq#Is%OKkXF$y%Q^zHzVBSNYJAn| zjcf09uX{i7DNjD(gcJ7Oe}A;w==ER>>KfKU1c-oQqC?t-_fmE_&(U&4zHE=(SL|`b zVfO?O0zycs`MLEQF1X-=bIv*E(n~MB^2#f(zwWxRd>o~poS0fYv*xIyjzWycT*Gv= z&~AT?O_N@Q0>F8{J=X{XFl0y(1je@h<~e`+;+Ox^^1b(jwSXdXfRf7uT9*Cx*jOC{ zGdpJ#Y8VnDFEQouVr`eh+GQiA_|BPUny7hR_^Pa`YL7kkc=|J+!I_IO!0^P>B#In8 zk1UI!CL$8`b>;Hh7^4g_9BOZgV(`Y|6|a8P-#+7+MtHh6o53)nmU>BZ5Tp9`GLMi& zX0zF{r(_!0h1?zgpa(qn`OiD-n4@D|8Rx((-C0grd6`9)B~PRpDJqOXk#Q@JW#3o> zV?cx`P(^0Z%2CxI8ryTX6Lx>-2`B#0pLNz**Is+=NhkjKOJ4R; z7)J1=ud^&eA_lvC{fNUHR$?3j8nKGqci-Jw8=`mM8sUf|kABa8e`M9&4~8?a2C7lS z5G%-QG-R@(z>v{FqKH^F#+V(AYk!x+`V+O$Zjy!qT$Mz={q=8HQ3+8XA=FR)izj7c zt-7uVM21y>vQI=Byb>wEzH$WhRik|>0ZdUODWMJ~ze4Ne_QeEIz}% zDLW8>6-2n(e*25SBX(S_wLkQ*!&dEkH)I)D0RppOlX%~WAPMvV*nvEcF-!`GE;WDR zVr|EY_jcKxZdYG<6)B>G@vP$!9`v9G#k$VM$7sYb`ZJOe&b*Lu^B6m)F(8I}-TOF~ z6Zpv;LbS+FE~3_99q z_=AD~qbxxtvhjQ0>ppLO!<#wFLB!TNV`*N;{kCnwF0v6e!mP~NC>XO0lw(I!odF0T zFydg7O?9LP=R7#!#o8vvVQt*vJ@0)itci+#s2J|btFPACS*jEgWT5#LjZ(#k zCN@ZLn<1=snC-LIXb#g1es~U63#i zPyVPQ5P+GFIPypoISfl(fl!wv@`1GaqBe}|Z*?06eMaUZpv~8PTT%nLP1f|~3~Qk> z59J6k9(l~sN{A3k?0tRd#TO6bG2KEKsH2-e1v}#Xywf_YUAArZ;0HgrjAh1|60%nD z^{;AR?GL)_GnQWm%$P2gmi?V~+9pJDC1CE|yK}QJ~t&Y#9_((|v zviW{=i-S$jgxZ7mAU32Qny^J84bg2>3WAXSDVoGVx3DctpN9~dg+8fB0E9?=tkWN@ zV=ahPs6gan6lfj7=y&|1PWDc;(P)33w%pizpLEjh2ObhkmgN&#YZlF$U-`QAmtF-= zPy;U@1{)vMvB_XEIBRkWfHJwvD_|_Z>ccr_o&Dv{pWdRP?OH|FvbG@W0%;%>Xu48S zDP1oyDvSUKLkX^ML6sSzs;tTyq0BIbER(2`ZaS_8Y86(H6O+KI=0rxtK{6VFelUUVHAj_da`(H4!n^^%$G;fAk|rWJ6$8jY*ALRTDWEDQH;q z+|+mND0WAj(CFMX{Cl*;d1jcqUHE=pz)5s#HmuY67zE0OqM%pRL@-P-`ns+GurUB6 zMnvDVo9f6G17aYkvjz%C1YnFw2TueeK6qywh(idmnX<@PH;f>5z}e}K8v#Y@`7im0 z*{TX4B_ly+XQp59oae8<_B!Nk6h-hJt(GfVv0tGU1caHMb4Au_-*VH<#j@oj3S%$6 z;P-$3+~;M+PIbm5#C~1HsH$p-EyFOF*^;%ymf0{ufC!9*AxK2suMJ>`i`>Q7lpF!n zLFy=uY1nkL$%7RXRTRf$0Fht;f*3$We)WrAVrCkl=Dd&)Av%O@ZArfYzyhCzk%i~2 z*n-G$kh=b(YrO?gVTvzr%O1=MfE$F@h|qV+XRTPVA`v!5iAHsH-GP*-quYQ zsym#ox?|2tN5+6uNQG5cWq#F+`N>LCdK5!c$oyu|Y!=21Hj9Q`j9?5*x^WGdz}8q| z<3)o?k!OHP428>FmXT>NCTvJ0zRcCfjVKU-ui>uxLu3^6hxz3{ zfZ<4(nS;Q%He8M%HgADUy?*0f`|Mk085NXK8L$IMK-yCD+G!OAhyu2mwONEJ zphN-TduRRN>Z`AX$xwUKZcFW9%y2cQgD`4Aa=p2`n#4IT5(9B(QnO?ktUc(UgVGAd z!$*miU3M9O7=mge$K6O+?`U}Tt=rPJ=4?tZhS5eZ9WLk>7IZhEG#m0U>K0HT4WqOS zj#sfM=f5z-21KlRo-bd%e6PLs zTDD@v5l0@iY}Lwa#d4^C4M0YLC?VEGRzww5B{rFJRgl6a2fD-6R&Kjh(dT*lYlQ%~Lh(1Xz}0igD1kD)sU>Nq9z%Afq;M<4y* zhcCV4l34Z$GL?^Stmal0%gegzl|5%1NkX4C`4At>Sc5)l4&4$Vj&$jof&tO>f71pwqc++3E@*?sK=hg%B*W67Nkq9_uVoI%oOsqTb z1iI;0UQ#}+Ei)oEdzr8PHt&>SXfkN>7;#>sstGjzvkqPxeNQBeNF#|;A}H#hbw!3@ z=+{5|@n=5q$zT8C=j(1+qg6RpwCl2rsY@2fj3uHv_#O~|$?@_14m$Ygu^x_v)4^S__}>?c0@(aSFX!}7fFRq23b z`B=Z2%TxFS6=)pH*Z_oVS3_2`$k~m(xng4Cl*d2z+0T34{zo5;h#+FeCINUt6(zHr z(xHpE06W+X0V0XfkU{Bx`GX%k`){7%`#q_Bp669nW@M}}4&2Ui^1ko;A+^$yF~-y} zIOi;JRaHP#Xe)2^s(wT&gP5p3Gunty46kAuW&aSsOwa)vO-9-^iNM$MJSi*EJ&YJdZxKTCIM+3^BIHCjk8AU;WiT{`3EXwU7ul zLp;GIo@>-?HONfb(H$0sK8qM3UUI>OPkQ1LGco`Sb9?3Tv#z`pMJ6!@iEK@(O{JRe zsCeZrheepb0~EtsjfP3;!AC|HhXXZ^^oum4N&u5IEE*{)leAJJB_)U=GJ*<`IvDuM z)-|I1@XKF&%fG#L-F4Sy0Duf=0S4Hkv+N#+96ZtP7?ngl5+(F{z4aS6&h&a$t-hrK zDxjPEBcm&bz$uS=%nM)ovV%@I0Z~MhJMA(=CFF)Te~NDH0_;dPgcABy)y@kF5oA!; ztFOHJdCz{%B^O;>_U3YzWo$yf%8bd_1YZ(pvOT$`x0b;L6{3;R=%l*LbgSOcM<4sb z7r&@imM+hH41gFbAd#jgn1&KmbzOe@+u#1$ncrfE6CZlglb`a`2#n>eb=TeS@2~w= z26e{A-t?w7Wmy(g>$zULkY9wX2h8M$Ol7x%)hm&N8EN$wbCOM^z}Es<+cC%#V>tvH((i%0h8TvGnDh%U1pDXFq$&Q=anDm%jAm$2=y5?G1n{&3@WEw3Ny~BmV0yk?c`` zyhoOgjg2w0Pf4qYC_24 zqn|zPf3CagN~t|W9kEel);h2R-_BYRqBExJ`;U3lV_)~qw}AkYI%$WAaf#{`QNTn* zY>1M8awOIFe&D_DdguG#=r5o4H?Mo+8_BpFeCaQL{TGjaqW6B!z4rRSPtG2!<2YeW zMh9=x0bU6He#Jli^AG;-``vCgXb8~ptXO~j+UShByZ_G#j_Y3!V$b+--4v0bw###Uh-Qu#~PcFg&;H%&=s{k`{ z;{f!lzR9`l&30OCMDc6aeD!mm|JoP6_?ut-dfd6b_bpIvGiHu4mazutCYN6z(u@B6 z(DwM)@;!EY%3uBE!yomigYI<S>W5EpIx{EG4<$({%MOT13 zp+0KA1ON63j~!!n#+ZI-p_v#d5mh zzWB$#IOnR>YXQt&cm0!2e#Ga$e#ZXyyN{N=PJ3*6db-o;0EjVWS+)Z-Ku@e*K&O>#c7;oWZ+1cwZx$JQdJ!xEY4A`^PI`O{udBg)BxLe^ucUFV9 zY@9LbgT%mzt#)LVAyN<-fsv>|sM7HwbB?QSccshz?6~`!c---)fAbsP{N*`y*)Jy-urb*=Uq3%K#)v6=MwU3JVHO4|;Q+1^`%~fXQN2vEqOu?s339 z4g)jTAb1eN%llvP>Q8^{<5I<>c{M&h4rqZFcfQS*`(cbMQYO>sP(`O-CMc^ebQfFH_@_Yc{NHxq^se9lHJ5)i>ic zuYA?N|NFl``f-na;6omK;-CMSQ9@K`^u8vAF@~+>!XZ&g4Yj75*hIm`Fc5{A0Ai-} z9#v&)Q&dL%KIeJfZX-r4nKg;Q)WS@3zySxG^`jpfV`3CiT=j=58(s&1L3g3qG}(4@ zSX*_{638$Rpw!N+RyDl8_QK!4@@4;c!8yOSKCa5`it(}T#u*2U1NYeXfT?z8k3IHW zwPIzb)3KTB_R7`k)~=tOE`z`F`s;st<8`elV*tl^)9)_$`=|cZK8GIi&iB9nuzMfZ zXa|%%*euS@{LSMZKPHj^cWbvFed37^IPN$$>ht8U1)MCUuA^CUdDPL75_hDCxnZ z9u-QW74y(3H053+FbXK8b`!o;_*2ukm#)~Yo`1TOHp@bH?val=<&Z-T`Nx0!$FeL{ zwO4i-=$KZ&-;WSgJ@czy`_yTlDqQi9lOB4X``qV24|(tb2OUI3u2toGeQP}#1JQ=X zkeS$|$Wg1BjF|_PMFBGzs{x^|ZBei)8B=$=S)RjMc)#RVO%=dF2OSh+G;9>AsyE(v zqj=9uCd&YLU%MaG0-~8rJe(1x?GP~SI z0+#zw)H4sc*D?3M_r3RCv7%!#ieiZ&>V0Hpvns3i*~jHsFVw-98uIqY?I@%b-&_`@H*?&@nSo0+Pc!8$eox^uH*SzAQT`oACi=zHIP>l@$P z86P|N;DhgVuX`PH%rOTXaKHfvAH>X*rk~)4ZJ6X7L=n8k*vwDPA+zwowpzZ|bIt+C zIvsc)%5wWoV7F2b*mvK3RU5Dw5#4mtO>9iVA~Qg=C6O`gU>Vgd+IDkTTZ}CU3aKHH zS<&zQ{ujS^-qWAC_U6@l<%L$|GNOa_+~edEA9Ccu2W3R$t5EjY1S81U5Rp?wj26_k zrZ+n?o;fcuT7KL^9`d+{opi<3SAPE&zdZY*i_0oHXTNsZ7k=}rUw!DmKf3=h$Gz*{ z{;j)aEmxHRPJQB&_L-U*W9GWFtnjgxnux5m#u`q|X<0HUb zCGHAU1;AQs^IV~QUz1^HZPKO*P#=R+)8bb1C=U8P2I1B4o-jbv0XvPM^qdXTTmwg@ zO-73cO~||uKgC^pE+)o9w`+}g?317L*vCHho8SEAyZ`f@y=$-OjE(ua z4lxEqt~~(?ab%TEe|Gl5bI&{f-1CevS(eTA=T^K(SAnvsyw4$b|MUBw zaO^z}?QdA$k*IZ5+B&*L_cVn9VZh9Ed_)TjS!6r|)*_wmB@*He{8eA*kWZWdT}+s%V~;rHk*7TValilF@8193_nrNtAGh+nkW501!CM$oM2!|?*{W(4 zecAT~xvJZ{<_}k1^M@-#2;Tct3(oUA#^#Hs0wRC_?L}#gjn#Gi!4H1$#1l_U9>4DQ zQ^2*fMg-=`$w>w)H0{@{S%b1fmJLTtM2vNJ6|ixct#_6_X-->W8}k3ZqT&ws*`kJ)=avvF<$rVW}HAFrq9oT>)T1R_!qsDOzro6Lr? zZwRsOw+!aiuI&)Js?zD1d#u{y70*8Pg^z#o3V=4wO#$zD)7vHqtJti{@~1!U@wV41 zM8~bsexD>l)fi)#kytf|02c4JHbt{Fkzt%Iib6%IZcjq6MGNp+mz`Gbd$W@+d+eY6 znbfrt{PKrCxcq|iL)izbuWOfO5Zz+NeMcnkxOGznfvja_g+j$zs{lmmx=v2numRw* zZ0KfKM*+Y*;Nffp9UA5<0(d~SN05cL)Ha zrOX;gA$6}mw_zG0u2o2k-g|C9aZ7d@+tn5qVUZ%;If>CRrA-Z(6skm~nf%JCZ0A|o z>$Y-dGxxSvz4B8Z{P^xU=anoc{^w^s=a5xV2wsKK z40FrcH4rGs5DS5%$@C~2fh3_C2uKL2;GWpWSR#WtDuw182$484Cr1VrFg1*slrD-u zQ%@WZ+I=u=oS0`yA!t=INMi(GoYlH=c?KYqrL`8SoymzOKJ_V2e8$teYu8?S(ZxUe z$xnZE&N-J{a!IJ_sOp0!5D^D>1{-#&T8jt3U~4l23MwJi0m1;mh!F$CKnX=&08+RNzW(9|-~YJ}eteZNTE;_GEPu(f zo;?}Ri7`)7lq_Hg4ZxT;Df?{E-*bb8Z`K8|u2rzx)EHI$*SzpW@B7Gy#t;cO;m~{R z*%==vM!zq0pL0W53-OO64n{l028DCwAvKZ?x*!Rh8JJl2tD@DG5c*wz(h2v!{HtdW z@SQWyc=cP~0Na5^RicrMyN)by=&sWvzs3F!4B<`+t7J9#9u;UE=1X9#fDYRdAjFN3 zYGUexLK!q5Ssu`B45O#f6ByPNsR^=paLIU>f#2eY-pUhb+ik5X!~iBAql=-lV)@bc zzSrH4IQ&H~eM!~pUvkMM7ytgEYp%KGvdb>J?6S-J1|LO&1j8oF3L^5}SD{v@fw9&V z%tRz2b&N68&gLo0@c73+UPWB1jo@R9W+X)*G{4_oKur~CYK4Z2R*S(=#Db%u?)6jS zH-HogrpajYKI$Ft{=8i|EMAyjU;-1mWz{M2-rP*5)xPv+zxt1V`L|^eg^zo+I{*B) z&zsDgg>Q|uWO{~414}Rx36YdkXrWjKZ{^~Rj-$!*UcWL`)n>li)bf9M!Hd58-S1AX zUGuajJaIhBwA+Pa&O4}j(T5Pk*?dvoanqiKkp}lPUBj3byScJF_UL2m*UsoDuDs!< zo36ipkAn{(O9avoh-hcl*!DhUWSBWhP}Q<5M}My)?yX^8;^eAmK)5*{Hj&c2h*qNC z6WNqGPkEl}x4A9@Q2rvB6V=ys@L85|UaFI8_yJ5qIx~|Kz^xgx=vaHqW*gTt@ST;U6as2Ve zKlZVYC2OUwVvNqY1+10|V0&tRHA9k8>C9teV@#~721bZxW@Zp$N**@lAl=~mVA&-krSj-wBX}EzTia?v<2+tI{*0WQ&*&n4y2r&c9dvt6K8|6Hpvav#a+1= ze7jQwiB>>$n5froJdf<&65~w;u>%M*+k2fzOE=t zmO1H{l(#xXtH)-=)a2@oGr8#5XP^BSha3t3L?L)r6u=T<1@8dcN+F2=AjEdN-3$>F zK)2i7%CV_?-Tn63 zhg6NB^UgaD)~5Cgw^@dDr!pmwnVejvnjTSR#_a6$Xm)&L1Bt4VY61eqNE#YmYM@ab z9*8GXqa4Pgu!aE|OR3o!gu{?zeUZk@WLN;7;4K5PTeilIb?jJ238<=umKLcy5`ZEG z1P>K*F7I?;42)Tz5MT(FIdjW*+fC~#Wd>qhr;Zu{0&CR72 z$UFE>*)F#IA}m6GwwnMRLE*l&3TK%!=htm`_uJl<0Sr9sn0rr-b&Li?X%|_Du`YWV z8Bn4PpT|ILUA|$%pDS{wB6*PmfOA!^7yCli*iHw&^4=R`5Eg$=j|6=R z0Va``e+5K*_=g$S_?-dnQUcckwW+bYfufZ=7!mNm>uAR^kh zapTsGvzfM)L>2;gfV#T1=e7}FP-t31%J4WyiL%8%gWh{3IAe>VP}LAZ2!WWhEQ?hs zBGy_MtKLV6mI+Z*RaH{$u<5=@3oD}J?3&f8Kt+g+N)%O-1Oc)vr3jWhJwyX0X_Y+B zRh2<8MlhFU32U3a$h(?t`x$Ra0pnw5V$50wp<1{8L+^c0CXxZmv;2_{|MO1a3d@$I z>d(#1Y-qI$0!WFJp%$76GNlZZjn>X?lc=|0@2gn%i&g=ZQ1##|-=C|yGd5>aSS6j? zxFOcwvD13d-fD|t83GOx6DoqNb(s|(GPdo!@IZ{x@AoxE5Ls&*#`&GtjG3C6BAO=? zo_ARDflmS=fJ8|MLaK=?QB_qMZ#d66lgiMMRY`S5^UxK^IAOu)ux#cN`SL445)}eMO0y!68hiQW@0?}8Y+O2HLy#6KZqa& zj6}}4G~d)xC#MW!7SOcZb)v1sUGH0&7T6dKLd;rL`P8yAPd~joJJ$hDy3g@NjC)K@ z#Im0oWeJc*VQ4!q7^oG~)6?W!4568IW89HT#oKHO zh(r+O?N*{!O!Cfy9M=3JF}SEg%EKj|QDGH=8Xd|b)8PFwRQuFXGT8z7XR~-r3=@Oi z&&96yNfV(w7*JKqoaebSCedt22%&B`Jchn3J^4H+1ttn+AT=8&MF*0Em>oo3t#*5E z{W^9Q)&}p9I%Agl(hNlIFhH>a@bIZ=3_#l7q6I<4gx&UrSj!;@sx7SG9SMTsb!0pPZb!=Mj^~9MPQ^tIejT^he?>!$brL z?2@bjfmK;Nyeo3H#>ZfoGd3nF#cf$NZ2rBK5L8lEGZEFZb5PYN&KUtRLRD1&OiE*k z?8Ffk8w1hZcH1pQSP{a^>({Rbr$9UiO9Opue4u7z-*kcIa$ZdDjcMf z75x|{+MTN3V~Of(W5^I0CIf|`gg=0<$uK#aE~xrwJLCO+X&0X^qycXM0~$qRB!wYT z9~z3gD9oHh-k7;Tw}_I0L54V$BP0YJC})yt>VGCtW|r6#B_sxRR$`Dl1XkXZ|6&Xw z=&<>TsMTs=(BEp3_xw|A&7p?fOw028-=6EsYJ%+12OO~67UL2*M2I&kU=`7*QnV*3 z<7PGNx&Hxt_k%IkLchP;-n(!7*0&Z@Piu(bH3>BhGU9QB?v|xVj{Nb~{@Y+p1dwz* z4OG=IXN9XEF*e{MYq;HRrzwn$L(~QMtDVgl6pghoEI|w?Iq|aBE5^q}12c!&Swn1? zpy;pP(8`K4zVyZQ8&+R&#pS9Ij`BROd;QBUzJz^f1Hbsu4>xRFJ12pe;`-@WR{+-E zbmJTT>7Qa009lsRRmigJki!mr@JSDCPj<$0+sO)Sld{$*>T;o&z;>{$g)n!-?Z6H0 zD8?ud1!c$@V2LUlMgwcOD^&@%kHb(TMMSr>zgm=cz6PXw<$r1BLS%cedw(QV4&M^aT=8u zG$A)Z6>Q*g)Kyf8F)CoK9UB{iYBR0fb*8UvGy+cYuE#!ME!T2AnW!zta-+3V$om#kY0HHdAT(Rai87yY$W9o z6Qdi*00zd^Ue&ts{rAJx$5H%Oi@_V7A_LLO>K zVSr(=JfNi^vewSd&H^yTOpZ@L)ui0&AcMdoNu9e4hxQ+_fuvoQjZaRjpP93uC;`?m zGazNvZ;y@TQ&Vwn#`}8R>NU?h^*Ld#yWAD(=L%H=#IkaL)27)AKvMk}1DqEHI)DH* z&;~q^1ATy{D#*-g++%Fw>!+V?jCuLLzPbt_%Ug^30>iL-iGtwK2DI)U>2!D|yzl+***LdxB^>#=N8Rs19hPP7mT0KF_fbTks?NDuVkNc7GeDf0P}PPJ zLYU}`RaIrJ72*Ku2l@H$&bwxA286GE`3ui|-l@y?+7pX!DA57x{4d**+I*Kbi;L5^{&2lzjnvzqLBv+Oq)wVI_Oy&R>T2p(+!k#%olhW z0yC#7j7ShwFb9O2SKk64#(3a?2M*3>t2e}s*{iiEYdEc#5OvSJ_qz1l-`T|14hb4U z2o}gPix3b(k-Ojg>YNrp@K1aElOA;BJ$G|X%RV!Vvz3oA!JAk`Bx*E;HO5GYh+>$H zX;@*s_ckv|MXCDeQ%-)}f4<}D_0zq%{<**X^~3f!1qO>MC8dthVPau;X>R++cU&6) z7rNap5fM0OV6mM}2Lm}m8p5^iBDNinV-4RBn})@rs#G-w$%veDuuhUzWx^DaAs8@w z29LF12?pp*&#ha#XJ%Wy9;^J(yJbP$aDiwXCnf+ZY=v2vrJ)=VLSPN7i|yDNfsD@6 znDD$VnI_myROyxF+V$%h@ZKMO_~FgRcHa8nU|2LQJ$B!HccAG@25`d-HxLnGG>NQE zBbcwh_GShO;zRbkTT9h%+?bVRN3>qOrsaJnh6&OM!7`$i%;Qzrsmt*?j7RDCdOXI7 z7$-!gm|C%-*^Q>`#opWzhaAj6?&z|MFT&W^;!d8L*+^)?rnh-ZCR^M_*;a3LTbc{g zaEd~8Zf-7BLIe^*Xti1ka9DSp1Qxc%VQu==cwTNi9nHC^sVT!Gs?*cciReDYn5IW! zhJjkD#q;DCC_;kvdgX?V8YdF89-E{_Q) zEFw|axd56gtLYjMkVyOOdk`XtkD!E9YR+*{oo;stYYGdB_QZIEg2aGGbY|U#+-0Gv zkY(f?ln}JYD0fUM%UXr@yHo9ge5JkaM3&h)W?r4BR(&ojQ+rc}%p+6S+H>W@Y!6EH z%!~ndUkfqviI6*b>ha2+W;lqRVl6&=#4NWa&M>J76%y^6^*0P`XS1NiHvS9XVVV%xGLRBAN*1`IxA zhSVRCiQLK+yU$GbqSPDKZqVf`;7c|NQ8f@E81}JlkBy-_3#>#4l(#d=gG$B)5EgaE zEa2@<|D!>SHthRT9_pwp@^%&>5X1^Y0F~6K8yJaK5|NB?O4dWJy73kd2xU{tSB~v= zH;9n4UP0D)jV9%^mTpG9lZ;^jLGC72Ew`<_-|uzEd8w|y{7M9|&Y||+2WPC7wFxFj z0Fc#T%y3=y*f5cW5W@iye5AzpE@I(OC0sn9#ALM$&bFl&6c}^unQq^<+b!d&APg{D zQ*^Kx`7BawF3htH7l?pZg_4f20?JTd zS6Qcp+C##+HLF|B1z%@2uZ#R{haRM5X*&f(lSFo+2HWPZe@EKwSrRsZ3=LF+2uWz3 z_uO;u%7+Nd&COY;Q86H9PWh}r5e5_k=4LTH3t053mCIN3YhT5%y@qR(pncfTu~?JM z>evl|FVq<0>tKp@x2h}EKiqIr1qizbJn%$_LW$Cx2Jw*13*`&VVnG|%Zh&ZNUITH`?junHSim%_3=QLJBU`ULKUZnfc|#30C56luYB{|);B_#= zBw^Eiz38uS`xj`p0m&sxwI=}}Bl~ngoJ~{>vFi339*gAQoaNjR57i>Uc76zVaBqce zbXdCCv)>TjgP8yveata6M8Q{GbDbr&O2!y5kl0^NR746zFs2+?UPFJhALs%vsioV)s_>noretCJsn3M9^}FaU;{CX!8$yyJb@ zZ5ba`0EZlM$gqS@pj&Rb8Bs$BP&8s3#^{h8W?*;rx$m?_&ZS^;-MV!tMU}dR+U>T> zG8jhFwXMdO?U2d7qip+}D(N5+Cm_b-?|%XS1z-M$D|`^LCZ#q#1WY1gqS`9jvcB|7 z|9j0@KfmN#-bs(1sfvxG5{cCT&u>>M;@B1AO z0y2w1&xgaN_r#Xy@b8jF4NrTLlhOe=mp5$KQ1|*x9%taN2E;4a<*M!o69MzhH{Xn5 z=OAHXYO-PS8ej?2lJd?z*V}5h(_xKtw+`|Bgd>kSrf7`^U~TN(vSFPh;EW0>49Eqw zK2+;AVqM9dkZMVHeYcgQZO|H@Xt&!5ofx4JaqZf*#+U&qe^ZJY3U==DSxajv zf*`u?y6cd-b3_2_wbx$2pvFCd#=5IyS8soWB?II)BqeH$nb>R3!|r)_A3=Z%{%}Q4 zB#02Pi|j(QqAa>><;t?|8^?K3h#^>7vu<@~k!9&Sz!sn;5<#Vc6?v9J5u*yBm>m1* zuYVm0vk{MZ@{`eNsUZy3N<;*eO^>tlJ*_s|Yp=ZsshI(mvMaB=l3fmw#1WRz)x*Bu zyBtrzUC0;%hoySeRac2fgbGAe4?g(d^m=;d)}{>|DFp0Lws?o718JtszE5K71_62g z$j3a^0}OA<1NGX(c@ZJ`=$%}QfbGOXQ1p>F|k&k-}7{UZfT6i#93b16cT!lNb4Nz$Z z9()kcu!&l0FTeb95UW5{69i;HG`i4RHOs_ZwvD#QV>oC8V=$wxuf6u#Ay=QO9&*Sb z;AYwom6VFV3q`w&a}Ogyv z@QyH+!6;TtZkS#hjfNesZJak-(4{4wMzO6FHjM?(R@9b~49W2I_4gk@?_c%-qN0AcMY&Co3l~*E4BIE@C zW1MviHUk2@<_L*K>Q*d0SHt!72qWDt+p38mMw{oCU3M8#Sr*i8w~sjLNbhTtWg#(! z14Ef^+!b(w+Xidc!h@D&4vDf3D#1hb)PHz!30()Ab?$Ga$Y<-|0jX<5fsg3ddyG%4 zJNsw2>W2863s+x!`4l@_N3(;in`twjmFVYdiGkT0I_uZJDS;k<%$@SMCty@@VJm~D zv```KE^XFm46p{!Bac3+tSe=9$a894am5u-YPVVqg`xL}m?;8@x>JX#-@DF|Mt|}XAHVy4 z`xUMHrdrSV!4KyQ=~!D^1v)K5G#0rvQ@a~C`iriLf4ITjym73jS$(H=w{P7x!JkG# z=|eU-aZ9iF?VtU$3z$~xY0rADom`Q)8F; zNMNsV{f6~xZnz}+mxYpo@F;6Vqqr>0VW z>(Eazv#8)Maw~4D!`f6OR$>%Yt!oc}vs{fuQT)Z<{LO}b6@j1s?su~>tPj zk2KC2Yb_iRU3lSzA|f$nMGIA#o2-dZ2RW>})_P>ev@NFI!|ZI?@BijEzp=)q1$gGN zV~;%+gV=UnCS!+mOk1fknwa|TZ_mBr z#v9i4=So9!p^Aop$P9#FECq?`$kXj)!`l9~3FQa?1tKvrch+xyebd~GDcnp5FZzG~ z54FFQ>%J)jWJ#$-?m#ov`WTvf-q|CMJ}Q0F%;rRN?z!i3QLuA}5m^S3A<}(UYt9l` zx~Z&l#n{*d=lw1Xa?sHC{UeSz0z}3bwgv!Gl7wxby~AyQKG7Wz0l(ei85JQ?0M0p0 z>TIO&{!vf+n|=1&=lYqAW7eGZr7w-GSP`LfWuL6^{eEkFJoI~=tk5V1L_64ea7dP< zBR%y(h=f^R{@`b4&k1fU{R>|9(%lZbdkU`_n$v~;Xo$Mn{QB<%KC6yFfaJE0J?>sX z)W-loRWHB%^3dzS+PbQc=c5IwUAEMAm|HRM@Jc8QbWo~{7#4i+sc?PeB;|Umr`YR*@~$b{?k9B z_FJRsA)T)Y?rh}9fI?eY4!{`;)gz8L0-_qBN@c9dzQ5__)$l&cbM(u^0WW|cMnu)7 zaR6YDf&`R2+KA}<0s#maB`Ofwd4}=!SRnwy8hq+IKfdz%n{QaXUaaj_eIX#!j^JDl(ddN|d5EM9Bp?W>03y_E0~uji>jx*{OnMNs1n$xfxjZ|v6fLAtIEp+qr%%!)i`R)Z5t_Rk5yy%s$k)lBE5M_vq z+@v6we3luh3=V&_qumgTHCE&M-lV>8<@Wg05qCeL$T||)pj8K)f8oV*b3Kqj-cksF z2*fo0Yz#XAi6LPxsDQ|bN)T1RLu(KLCMC$A15gAMoYs^~WCnt(ia*X)yHi;bf;B`e z8htP}k5L7zO6b+U`{i%D(;FvT2LhPvzJK;Gv|F$aAXUn%}rqoYtooO6;yhDBiQ{qA>v9|FKN0+IRN_r5>2 z+nyRD>bhkM3|hX2S78uM2`DCA`=ovZ=&=9S;%&P@sgXoy*2dX2sdSo;;Dkg6TMS+e*Bb3ut2A`g+SQ*s^UNE& zvlXy>ODK z2|@gweZD)N(GY(dLP+3s5xM@VtFBpnU5&_a#$;o~#Ig52&X*-y%OuoS*EHfyt)%R4VLx~D*?uEr`4UCIrxP8ef+ckv$m|+nj5;^ zcYXA~-SXx6vSng3&hmb*8~XjMC?atrMB+iVn-d^lbPY9FUGsphY7yTyt@So%ry8!< zhkfdjC>$*X2o*(FrONG<>sEj7!V4;(1pe(!Z`yso{j0h(nG;eaxnm^AcQ_*`Q3RqP zFdcQDX*O#<%!m$K$R(y z9(s?v=dHpOg~kYx7-MFv`jC;aAOxW#Nf!i4M%hI*b+ABYU7qJ65<*bbJkPNcJ1hWo z^dRo6Tp9Z1(I?#hC9itLbd(LiCF|CF;>)M6Da&bJMK)@f3`0Z-ky9m(8%V*XC)|Wr zx=pBf1_m6v&39jzPD;y-;RZ5{+?6C7)nC1F!+TEqY+&jdbKLz-c;-L67 zS{=imT7=cWshA_6hQXSxSa#51hqQ{KEX$0HBlC-&{~SJmiFe@`wzoCu8P%r6G7%*b z{on^bU}r(56c6UdJ>l`1^y)>yY>2B~KVwS@3d*HNx5jLF{RNkN@qHh8$y1;4xDy`w znEO2F;m4iut*@QwoU7}4n3%tFn-jK=F5%Wp3C_A8krZ}(9PQ5YUiMF`Z@B5JpZ?57 zm7iYx`_-%0zVd}H=v8Hq*vi^I1R2VX4mdDUW@wP8mZ5Cdwl(q4!iD4}yg!?WX)0mX z_naHA3{_e7_V>PfhS1Nf?To+gzdsI_&CSfTC&tMVfdpcWThj5|0WD3o1d3254iqi$ zz!M*G>F+LdY?we%e)!%0d+y(#3W<51qb%?2Q{Jg8P4k1EaH^{+YqhSw_PU#IzPal4 z0X5e3eEqn`JeFMsQLTei-gMdp87QL)hlQ2kFa7?Vxt5QLltA=uX*nWPJYT?pfxrJzI5F! z@BZY+YnO3n?3US?o-9bFriwQy7{X1kH6H;9$+i)|kH%K>5C;;14EY$+fdy!djaMW+ z#)m(9+U4DGc$8av}akC zAo6$C*In8OD^X4A069t4K>>DediQ((C4}$%@96?M@7inr<0Bt>(X*d9wQ>cbMDGod zC^|tx3P6TP6G@rf+v8^kB+NPzSS7%3^Rv$9&LZ=MZnw&_FMjjuf4Jpl7}QyQ>Pud7 zuZR7aR6z}5?K_=TSywL04a}b!>j~)~C?zFOgjh0ge8jQG*evVURSsBC=CWV>>}QX8 z>Jw!fr)f+Z^^J`~9H8a*rsC@O*r#uBN$Moz)=l||!Kl>RG zty;Be|NZxW-RoX=$z_+W-MD75HCc4VdcEHAWy?-D;e-c0@F91<``!26Yp<~t%UXM_ z>~_1IP6t2;!CG5YRi5W}md{#RhXsI16<{($eF89J#qzg);*&1VzJ2G%7SD_6?Q46%{m*>GAqTQ))nF{&z&F~r-J=GM)?4Ga@wG+CDJ z0cBIiAjW#uZ=HSikIuc|7J$c#lTLZmi~sd?5am`2i40hfyG)@2<)A;sN0I@B8n8eh zKyF{~q8I+xJKw9&AhmX@(?9?D$2|3kzN)g@|HpROz?8toSmz*;6**e_WG;- za78EU^y=Q^*fOrGhdkgx@BF8K{?eCEpPrspjmDU)Rg`53>v~n`;7p#~`~LTP>eK%E zl*c@p+O62HOi_TymwnA_i);gnXOeh_jI)2xv%61t5fA z@*FYt`V|+gTGg{%JvaBOOD_4wSwC3|*v#&A;34n&%>Ssbt0*HVs-d6UR0Xc^a^o6f*m)~tBeGoSU{|NGvjzx<^~J>`is-hu(f zTD8?+lsl~*jf`N)PiLO}Zt#jEy~`qpp@04GhhO&ESH-dMwZMAdW2c|~)&KiH@7(&b zTr)El9jgRx<^8!?Si{B{V~B{E4KqZyAud&*!9_2e32dtqD_=#)+nw2}o|DMq?Hgxi zKK7Nb-UN^}Q+w_Gm2Z9+F)S=EhVfRB1UbWXA?aA>vdgojQ zd)jHI?O-?m&S1m&+xL27Q_JeA`oC{~M`AF>%*@V2XlHD!tSb?*pozTgU?|3M({jv) z&}rpQdD0X1J>)bM9~7`r!|)tLxHn$np(U8Lf4lwpSH`GBX<@ib03a+uLa=Nb~)^$qSR^ zeP|EjTgCT&{i}C<@>4TF1?0P}`urJZP*$MTCYOZ}lrTg;G()MxN`G?QZ9`?$raVI6 z#8x6NeCbPW+PFFby|V9&`{p;lNq?FP=B2c((@`JTT4!B%{rc0t_$31(AjDvd&D*UC zQJ4-o~XHBz9eW~ZkSBSf9GAOF~Yt7?tfI9EpB4fXZ2YoGrQFZ|!1{p5f{4}SZH->I2h zQ*C&`KfL%$|NG_1iOF8Cd-c^<>xPYB15pIA%0}4;D8j@YZUSC%r28i92*Xsj0@MAu z2!?fNwN@T<=;yxwgGWB)$*V<>8MKSfegFIa@%|57e*FzMtXp3j=As~1D7az8AcNH8 zx%dX1)QY_DJUJ*_tL=$OLqEUp{11KU^ch0mqG!xke(?Q!Jn(@~g)+>rOwoKZSp@sT zPG}JrWTqOPDJl*RPA5pT*6v{U|6SjV>*TGn+nbx6{rOLRdi~AU zs!EGmrLQ=1on@2XIP;q?`nT7@@_)YXJOB-YAlLrVM_51vG(FffWQ9@yW391LyjOr2Adva@4}9pW-}zS6%5N&m z8Q`)tYv1?j)4uo9pWL`+-TJw{uyO4+8>e68)ow3}x|9ty9CW?uOSZQsnt2KV%t6#qFNhiWU zdvo9a$yvQnm(f4(h0jNkU2)A-W%NSW<8FH+)KN;|5Lhb%DI9VKgQ_lfw9bt?B1Gpc z|11K@n>Ae`sxcrv=mGaX`=W~<`uNAq0qcQ{z*m0#+c$sYBNyFxs(2V6Khj@$rqK@BG9kzVoYd)&joc#`c&z{d?a% z@&WhH$HqkxcM}8(f-w!~KAENlcfy|<%4k3_l&-=2YIsm9#8D?c;LxM)NrkI5YKV>v z4G4C41o*~E!;UKfvl1yUIN~lFu?2!AF~WNo^X)Ug@rNre(W!~I_}HV7 zWpFmCtXsd4U^=b#y&m>(bh~GK1}U-(d4chXw|wH`Xa4jjR|IKv^Se)DR&8#^1i^`5USpIV({@)KZmY|rGRTmWzS$?K9u%^YlrZw)miV3DSgHNU;+YhV0IuT!+!<4=ClL5P4b z2^m#}T2NvwgBD(0<9j5mVV(}uMg>LtGX`@|#n>2H<2&rT?^zdI`1<#}hsN8hfv{xq zvRiNa-1krU;wdNp?DrR~g=AYV3z@B~L6Qiul%8EeE@9)0b<7451*(>bS!>mOA{g5( ziY~NABw2pbZ0E-5*{_{)%BM~^{*RsMu63)UKJ~fJIr*GlnDOyyAPy(}YM;XwbW{Wz zs)&lH*u3OZNI^m*gRJr4`#{ZB!IuXu)N zQu?s#UV9f+mAjl^j(O*i&w0*sgO?!jKHJ~-phKVDPw>=!*DT~}0}F0I80UIL2|!ga zK6d!4Uv=?SSO438y!cP+rn-rlVf^Zv>p$}ClaKo97r*thpWG~Ab&RXJMQNQU>;spNtX%)R`>J^ZV_-+d)r#s)+dDi?U$Hu=Io{{YxPsFh2SD&lD0W zlJ?}p*S>iioW)qH4*b=*>&=Dcz`{Z!EG0zIG|yli<#~)TNHkk6|KAUP_}7FHxnJ@bD*{ps(Wd+sGGSFZAYov7w*O>)n!pk!8b22_}&XIwXONltBE znj~Mob+W})m#w_{8$USxe?R_-5F}UGMkN`yH;h}EtY-c!yozQgP(>ZK~=(8Fko#cOU|0?w>ybB_EU%<#%L`kSq|0z zIr5z^IOMQ48{Ca-s?78ZX`1**wi0neLi(t)~YWQn}uc009a^*MG7CpT4M|W7K*C$Nt*hi@ZPr)_n`eB`I(a*ean?seED;q``$?> zb=Iw&>iUAP%w*G{yYjccGGGVp!B0@`oMT2&6g^ZHXu&A#8dTJ3tp$)~SI^FlO)h!= zd*A)+7rhA1!X-t~OS3e_Xl(*jo8^Kg0q!q>bly-`z*=jp1q2$k)7|T_k9qVzKkodq z&R&4ez(R(MD72MjndNyaZ;203B~`4Oe*e4Q!zyF#$!=9v(c4yb)JH$8!Bgstu_1&k z%MhWYlsXuF?OWb}EQ3TOj$#l4Cg|dcBwTRgC$XkC+l8R&lu#sz3x#)C)*7GmrH?8A zZMpr9Z$0wezrN(MFP!-81E2E@Y`68FLa{Ds-3;7_cq?(owpM6)bv1ouF?|!lEV(r> z*CAeu@^-Q}c8lAAJsEUL%O8)rJp8efYy_7S;s0;L$H!po9=YHa^~+nSr%TM8>9UkN(I<*4=hH!-OC~ z;SIg#XFVIKgG3}LkyBzYrMX)(wRXHc zmRjdyaEV(y6VHN!K#2{*M6C=FvUGf#t%JxvMyGO7VYnU~tqf?b4V_LaZz04w2K}6$ z{_MD~9cMfePC8|gOpfia%T6zN$&27jozhuVRgxrzxh#q_%Rs22XHwV71d_D!I(|^+ z3Re$#YGG~^E;z!n)&dd4b@U-IgZj0GT$(`CI0sd*g#s>%tN^y#eYfp)+wH(-Kf8Yx zmEzV_E3doZzy9-eS6^{uFUps`e*EM9^$=tU!Z4GBVGLANNmZ?30hUfKVL%a$p?Wc> zgDA*(4s~jF4@aPL0{yxFR=;?xg$k75QnnWVxC&8=17svdlVxRRHqG-GBSeYF8iOTE zboE-wb5wHkpKkc?|9(e|k->#jlgqZatuuAh(MM-nESKP64UxL~NdeN#DWZaH;#B*R z0RveLvUBQW&IvzSfIj#IM_B#f^*Xj^)GQ?^`T~FiL9O)81Y!WufD}BOzSU$~ZN2NZ z_t|cTombp=Q!zs~+Ak8ww*z0z4>qr$*ZolQ0!w)}vc6z3jwyIvCWUgCt;|Krm;}3q+BcZ~H3la?m zQOpDBHw-F54vUb_Tl9@m)$oUf_AD%{g{l$)ArK-VP`^rZ{fZEQM3OjE;A4PbKn%k$ zV54M|jIdEQssQtjJM7$<=|+jyUVB{-EhGlwIC%A&K*3sADNhBJRQ68vMZ9r5?ktL)KEY0efSy`<0Dy!O|$T@;q<$q<3oYX zSUdWzLzSJ&@*G4(rvnfvm<{q=Ley^eWiNT@`4^nuYPAYq6u}n~Byr#U(dpfFYhhSa zoSiFSJbY~K5F72Bg=Su1K|Ynd!E2MBsS9{0L{%Vy!BJHzUjku|2R}$9Bup2adoBc0 z6oaCKBPS!wpIipTrFkK?&!WMcwiAN#W?E?WPD2SrRdr@(!3>dJrwcZQP3#pYf-}hx zFL~*O7haffvTA0vvx!=6ZL#dspPb$EWoxVDu(el%t=UNM;6`_H`@h=YG8Sf-I~E{e z4J;(kddA{W^OZpcRIkL9APnI-TD<@w!DJ~6Exqq{W8>otLX1~m^84I4o|nTowB5L_ zU_5X}F5q;kMFE=QD6F?o2F|Spn?^Q1p5~dvC?XRR6R4`tD@>~$XJ%jiA4i;j?s*I{ z##nN_Q2G!)`T5UobN^lPEw_;9MTD8ls;o~n+R($L-(RfeIozXMn4Gn+2#XX($<@9n zB^F`<3s}}mJ}|hy>IM;!kOtDos%F4LtRM}LKoRY9zlT4>`*JMLzklM16lK6xecNqF zd4V`kt#Z8HxVwW%slgBna9A&16rI_+2%w0VBn4oNomzR*GymT+etq8gL^L%!RrxAO z5+?KUPapG`gPz9 zBNC+pzu@S?LN<|}R!K$HLc-&pd|-e??=St$h0F=GzX?bioMglE49E-h+K_eRh>aZo zCQC@VL#M-E%uU^>7{*<~-5R5JbmM(D7C}`3Kj)!Efwju^U_bVIGT>ETZ_l;hO zj=lyZCO2&1yN5xu5A`JG-21%Vnb$`f?UZ?+B%->mvLV)@K#*&%xboTm?^%ET({%<0 zLU}r7)7&dQ^2tvg{QTz?Mc3wOQ~^V@e}?r^)I&$dXno>4=%xja1xHvlb@VmhNBXv( zU0h?BY^-X)wl=N&T8KKs5R+jedJQyWYW5H@~-(2E8&;5V(%?QPkxcslOBv zvWCDFAci6%Dv@CTAc00j07Xy)0@MRu5$Y$6ha@%-h++^c1S;GYx2eBflwh42TM>zK z!I(<4^ijd8M9RbtWFbTfG6tJqnN7XeChXG6M^z#ijUciihzQ6yum#%y3Ls9hs5+FH zoX3&`B4enP3*ciUV+0&kov}uRMaft)$(i3fz_z{NUT)6(2$j&bfSSjE#v^)o!BFKltrV z;?DoYaQc}ypU>SBt_1=6Q&(N%VNdbHi?_)YS!8Q>QcBzEm(w0fnsw`uS!;J-BmUXd`IafHm^CSsXg|f6+#@ydN za@KO1F(?!zf*kplx4ipZM`l?TgSKotp@ePH9$Rwc``&-hp@$;RO}l+(_++$m?<5wi zD%OG~tiS5Uh?&?|6@cd*{sOfupwEB)^KrJ9v+H%bF$85YX#yazZrBj(jq`z@^6!dG z&E%sPjvf{`G6~p3HKG!ugeW2+VvJEk5mITaGKx4FQQkV34y$}K?iE)k$*Fh~X3}Zn?=0?wq_-<&!S3gEv z6(PjhtO7(;L#TSaBu%Zg5+Z|~u?7^XYX0>N*J!@7&cT@Ox^=GAf(Sy?DpadhBOm+Y z#lL^*r4R?wPAI)0vHY#?o^6v^)?b|U6PfAed5f9VP=JaE5wWaa5Y;aR%sn{6%wvJ!?&o|T2f)VEMZ+1C zB#CnlT+0(fs9v6$NE88IyET}E5mjnat8S}1$Zp+~|7(<+7Hp-UWUSrmbdx+cicnS> zVqz=-p(uj)B6Wi>3=6@>V2C#Q+Az3=2ky%xO@sH$Y>bKC+dQv@UtmnP+hv7KQW9lm zXDknj%Z|3562J_iSXHfw$v8b*bqi+`f}L5t_CKHXoaaC1-)>y7f{4`cRIgKL^oGW_ z+T#3+FWhaveZW8~E2|>O(uFo*{JpX032ReS6(xF!HgN!2TW$IDXB?)Mt#x1i^s&rI zH8n%b3YzV9l%P>)BVLAk!XzGSgU(Sh>W06FtIgY@-Y;_R}urX(pX9G8Uo_L z3C5L1PpU-3hK(`CFf)Vt*+>dA*I_Zg5jI$h%_-XUcW<7%jNZC+S>m)PHAM9xZM6+C ziP|i)&MDx%_f=I_;kDM1FvUClQn)mOA{Lc~NX*6U2`JyMRc^GcWg2~jmg%SaM&Ff!BsZ*v)etY3XXZ^$}`Jw=j zwOUFv^g9fP7vrATHK9Se9Y)AP2Ja1DqkGKto_7cVK#Z{}N{umP>%ckLj7*~JlpJ87 ztWvWQM8x}0R_X()fGX5QBZe!@O(#prq)1wAN)nsr z8@6ZNm@Y{mGBq`2Cnnb1y6V#({LrBXKkdt(`-1wIx`c>UPp=iw_|m1_=->3N|M|>u zUqfP$nBYq|Q&*G6UGz-d3$WmlpZ`{YYhln?YR9DpZb(vp7oP3(|zk3{_97V zT;N2biY3;5iPV1nRZZdd+%S+qhU#F8hc}RaGGLWHOR3^R-Y z0isX=0fs>gGX3=K+VM;yXP>uP8Od6Dhy(xtBFITZK~#DjCe3c5kry6jJ5^OCY1*5a z{pu%%Lw)3@J##g$jC zUbpt4kKBLBvZbLcjWKp&0^MFLOOv^I7S^yItFm+(igs=8T0hmso3O zdmWo+N!p64Tkp8z>BoJ2yWQ>&A`QOi&gNrn1u6-~Y>ryE_gcadhyfcmq4E}t#J=~a z_y5z$4{8gq{PT+AK6~u*Ui}Iq2u91Q%#%!1=I=J%GwK4vFd3Tv_R!oP@&XG`dUgq* z=vA-|%-!2=U%6t%B^O=1X3d&gR;;}F=9{Odra}mo7>37}F4=PHt#;XEm;3K}znym4 zX`5}fvF$dv&KCfBJ%n-;L zyJXqq&O7hC*FJmiwbx#|?z-!?TW#GM8v`>l5f4&-M~)C>0x3q1q`2u1SKPevrpqt= z{nb}refi~=Uvcdf9+6@5c7E~?PTBbZ4=844GU8B{c5DoOBTn(UJ+s>Qs=_zF{*B3O zTz!a$l`nj>NxRjpN=fbi9{H~4zwAHYObDeC3p8!Fln8)j8zmav?3RR!p0GALg8^WW zLVHD#yEInb*kpX$tzY`emw)TnFQwLf=zSkJ@Svw`x$BNLbIw==in1Kbat(nLa2BdT zh1ifty*D(P0k3yUbU?N5;5WtqsD0pu4OC-{WSE(w#8`zSNmP}Iq1sQ(jsj*VPzgf# z-8tu6cG+c@Tzv7_XP@1fo-xE#Su%4%Mpad!3@kSR4BH?SvMj{GNSHQH-hLrX^hTqP1X5*L1eQ8vHI27 zKV7%__E1&hF75iRBRjQv>Vj1l{Ps5&IO`zFiiz>@rAwFYyz`EEyR~Fua&qaCcHT11 zYLuul)@sjmW@o0RyG5@%+qresZ8uzZ{mnPuY;9t#6(8#Tj1<}CF5|cmYGul3?LvL z$Shgr(XP3BV{*}9(G%7X^Sv!1j!i4eB}9{@T6rRV)7#$qi!;x@;p%H`n!M-*ho5rh z4<$I)&dTWXET5T~$&IsV22qtr&W0E)^WWr&3?Vq@>fOCMkgC>=h>)OSovng*1Ve0- z6g3f-zF!bq0q~k@u0P}SAO7kmKl{-S&#=}eNz&Y3 z6`4)5EGvql)0sK5|F)FbR-4uzNP$rxu9&@dj|Is!kX7}3>Y>= zS>$OJBqqj?;iB8imQEi1sZajvK?nN~uKdFvk9_+(j{Nx1AdW?kTW)-O9D>;GnJkMj zlCxy^Z?!CR&V>-_tcyBxqSm)5HAGedtaVW$0ijno<6tZVsKTo2ul?Z+>FLI@$Oxoy>n-}vTtjz3|^k|jsH>}7`@dg!tpw-4P}JJwPa z0;#Hs7-wUQhB$a%2dqL>LI6O<=tA?uGr^jPi3t%gAQiD}D)E`iyT0%U4i3h2eZ8Fp zOq@@Yz!xo0D2o;=ZUu_FyOyF0i!54vaVze=1&ULOmLdyVio07WZcBk81&X^Dz5VBM zcez|Hm&+xWFJI;*@4d`qGG8*^%zM9wtB9?u9=0G|?rpQjLY+KwJAuVH8 zj*A9ce-|Yr#yQ@7k;A1{=x8h!&UUDBJd6zrN0y!e1wMEt#>#H6_|HD?-2EdVgA=#M~?I6d?;&!KP92&r8gG73skR_)F z6zt~VypqmjEs6Gm!8Uk)&)iA(X()mWhoxcqpl;!S{lkN@8I=G|cKJaigD0rAcHMeC zgUjCru3u?%Kb)U?cEJ<$XRcGckwYCcS_4h687?g;`F^}iIDcgREcgf0vv>OuSIg96 z49Z{(`SbK_=v*tNdl`~Iv0&H7#P6wWB?rc`$KY+pstr$2cSr|b`)Q`#!*x?t@Im-l zuvD!Jhe}Flh{pn@jO6_}#3!VS)9fTZf-tB>2b+Y836pnT5Dg6lhx@wDih#T$CubT! zt!u{9SW31i{kKcyrTM`pHl2?bN8C-D3r>b#O`9EO;XQ^2f-#Lcvk8Xf0AOs~?Ngs# zOl<9P*~lze1Ct>i6W7kIL&CNrgT>0G%a)bUKiE_|q|cyLWAQ8J>i%4GiZCI5QAlu+V2c_q*H@U3+4jKqpmz3oAc%z0S$Y{g*X zLQ#r+tn(TUuX+xD^AS9$wgC>~LmGn+@E^t%I;>N|{>xzB(J!4cJ0@)ZRD|$=!i#8} z8tpzS67e3mbwctUk78tYUTV=UT2UHP(ig(5cBUn(+E-XLz1rRSwfAHxz8g2k;?%v7 zN56ULuX^w~|1wR5?ih^oM(p>Z`TeQk*QR|Bx**%sdXZn}8HSyQ2agw<&pS5yRoYI; zQWssHI1#m-QG(-<{{G znow9;2|YbfRaS0Z_Q&kQF&}>$1_nGqEdl;dEyYsO4T1CICa$fcNE4S?Gx27xt%DDu zm~s=30qZ&AQb%n-jNW%g2}PlfT%2!SL;>Y_>l}oMWzE&KKPr=XAYWEtQsDJZLg#m3134P|6mK>HH7{vOAvjF}N2X ziYnS&lJ=gO>->A4+Ie-W!J`Rdp(CA1s0GajpiVi1z6(5)K<$aR=KY=^)CuJ{-*@n< z$wyO40+lAT{WF=d&$!cX!%B6saO2rO#Ks!orct1OgVKDF*|6ae-{|LQ+B}sBL`9TI z@AVz^XS?8io2v@EJj=h`uYN*v-DlWwDRe7&$VU?qU8c>Vi#|6z9%X>3f+6^Nv~o{k z6jyPeq6^5?J(EL$X;HD{yX4piiRqz>a95y!>?c%)sE`qVX6X%OCr;(b+1FQ+&=6P` zU&`Luarnmf?AtSKr&lEC{bKU|dwRQ+ihC~Y^>7Y5%}GvtBkQFg-=E78b7y(6tOKk? z18^?gOkRR|mRq>SMO|MGrQMRo{t!WJ6q))+yUTOgidkYZq7%N@-+4UAS#iz{;)lf~ zzAK(da5(GfrPdpX^>1u47Y%y`#i17|p+r^)nEYOUGcshUL^n-^$Kj2jUMv!fQ)luK zkh_!XK6RCN-S~X}wo6LpI`0Z{*_xo&kZXk$6KU`|B~xj;Dbfged_Nt0T$xE%{kHVL zQdKtxR=*29fOBc4G%?53Z{^Ihs6CdGL~X0W+R#J!yqy_(qqCUw0X)?yKVJnb12U3Z zbFY5gW0*@`KJS!z^mg@|K6P%`iO!4OP8*ZidOq%VW2v=pWQl^wR=3wrkBnhf)3aVK z6S@ZWe$bCep&W5&xslVe3PZ3E-!|i7Vm+-6XVPKD`4Gye#vDszqeIR@v>Py}@?{DW z$J<{A7R%r65}*EpCKA6Dh~`wt!J%+M10=;@^!ycK1m_W_FPoh7wNN8@+EDMq%q(ru zxHNBMbqKQgVmbOzC>Cv`UThREHjC)PxR^DoCR)oTyuvBMnBJm&{Bn`fZhpS7Ae|}o z%lr*C7cSe(EW2EOBXfN=3BjnQ{HcHXRnYGDu0LG-j8^=|gah(C!qPeh9uI{09KD z#%D7;|8C8hC-^UuPw;Ap^qJrDhvQOReIhE#F!!!7E%8lGbJ45Qgq54ZE6u}(rwh0= z-9)PMRFtZr&4N2BTP6Z&*uC}^gA4Dre^D%L>-@&HW0?o9c{(DUF`rM~%<4rK z$S`FhA|S}d=*j0A-K)#`V|3nA$uzQpm)h96sl=vS=oPV5=njC)g77j-^&$WsEWFsx zdQN@rI`4!mT`q8jqHmGQ*Y9Z`<{_H2CG5||FONk{5$fN+Y$@#$Yhn(s+!WDaHF2w8 zi7F;l)xF{q0yAjk7!euG*Cw%R91r&13=^o$(1@3v73`q$zBWG}gFsgCe4|pGp1-os zq1F7P@1s3VxsDffk?KIduX{JL?PF!(^j_3o&#fpxF~tXYhp`{Xu-aag;)^>AdLMk@zY zw3A@3=y=8L82hT4#kLDbLZrB7{2FJ{H=tNi+G8iTCP8s2p6PKHR=aXaSM_e2HbCmk zLF@4Wm(77Jqk)yvTzT6^;^25irQ>Wa)9n09s+Rvq;gjhawK@TCm+Yv&#zEpmoO18P zA-HBU(VNHmu+3opl;z3e?U{7Iok+(WVmS;h^)hyS;iXpsm!_UJAmv2O-3Y4&VL*nl zRZc+-C3Yr;u0hBlYY<{nd55pulg#N{)65?P3k8+dZ1+Ac>%@^*zeZQ2gJ)AB+A?Ox zLwpi#rg7Wp9YvQef?FeC#6?r8<<;U(K8dJrKhp4v6WzAdtEKqjl-O(OdeZ1@%9l$*O{?Gv3Ozc=~YLFX^a?2wv+`=AmL}>Tv?2j+)MSMiwNg2W? zaGqgY{48hXrGeHT2XcZX!B*kU@r;njXB?UUSPwZWi!+*|28XP$u3 z^H&uqZC{r1NXcSKc( zpF^pfcb$z}>O9IDo1e3NeCM9dD%C_g^{hEuSIxxD@3(c8;mx+dgea8pxIH{&W50I% zt6&LhQbubb>dU4xf9_Lpq*F)~-?F+0i7Y1}Cg|nWOg#E__NE<9LrpylSqr)v(bJkM z=Pt1=*d1Vlv*YB&iViC>51>xT(itM(xZjkQYH5wCE28NfFO=_W(LNkqDbn%SPDF<} zUs)xiOZOPdcD4C0eYDZYyofimf^c!B{oWwyxJT85v%9$zYSv^{wt7~qk>OhX*h}Yw z0!{CqtV;Q!Dzrf7`QIh=T?8q6U*hxDI?m=ldfkIMJMTVnR^5#HZJCE$)E8F57?tUW zo?egCVKBXLmD!9-3hCA`t6O2B9T6*41J0U4aF*O{;`l%gv-c^40IV-XnY(cIA?;9B@vHaVu zxW@0GSBrx$e3!LC79j2ZJK)>f6$wA|je?|KLF2EP--pHX*EXDDRlkR+G6#hPmPZBX zy#e6FC8I9t0APmjqEp(BB;9Hac&O!g~~stC?1AXU78@LIRcUZF}mGEjH#Lb>6<+2pfr@VP~y?Q#mCa(XA5y7leN2>x9=mCo6p^C!#$F>Z8`l z$L)5X73lg^$2^fidqqD`*XA_A*U+d}V?I96+V?J$HBO~$RkIIVpo@o?7GOtb)XY7%PFyy8-ullI> z3Wc7J?z;DC6X$3-P4|4JuVSx#kg;Gd7vG6%x75wV2TR5g(uw2$&W=x+d#H`1hoo(_4ExlEH_au>{*whT)oY7!9pB}(}cLo#VT;{ z_Q2;fDI^k8z9=#jydvGJy>jn6hf{G1+U1g0oJmK)n6rW|7vWNBx$<8;c#~v~%@gm= z2P3b&58iU|+6MXc46UI4(P)$U6diG# zrvI7e4DEfNQE-LfWipsT!6J+z86;$(NY4?!YbYarwn3tGbFyQX)=o=eVhz_eqOj#I zc5{n4Eo z&3FjDQ@?oB)|<0@iB!nDr=d_LEA-mPdDts<4Nh&#{Hf6$dJZJEX3)|1#E1uAmy7`v zHu+_-du3%S=Te9wl(m}*g$WtZ_hDCjHWFmLZv#$|W9J(i22KgfhFaH`>-k>vG-;p$ zd478hfeDjNr$`o#dk;cs^i9xs;N|$ZDCb!U4i;(o5Z$*qS~|(i?P^4$DjVzCd8K6^ zz0NF!0(|TKE|c#5SjE7!vuK|TLVDm8*s_24Sf)Z7vf!YKPfSfoVCj6iEF#gPi={)> zrbZm*|32EWG153$f7v&|3rb@X$E>6ye>}Ki=7uz~gP^d%oTvzs;Zc#yrRASL!8)WM zQ2L}E1kgV}G&F?5NJ^oy_d8Y&TczB_r4Bm>F^)VtA;~{E^f$O-{X0e=Kj`DSDW59E zh9O>BtHP-3xzx=|xPNz+M%53o7F~GHVC#n8r-~-!NB3;&%wak^J!)d33z`YXuZIze~Ez$ zM_~qRK*SoIIJEgNf^B22{Ch$?>xU?v`yk znZG;EjR=po_(oW1LmLii9-Cq^OD;)I62x||C|G8?r(|DHmv&^atH&_7`@Il?f%O%k1{ zT78ExO@a+rHJC8_yt60-IA>1^iX-^5&P4Z)oXyG|UtrEu)eE3fBgfQWP#9syn`%uvBm30N(h90JNThRz+~Vq{7NyGA0$-wU;ZR4+m8t)?%n)1a+R7uf35}H5NV& z#PSxXu*jC(LFdh%-W6kt!rcSj!{L?92=LYDdgpzULOyHZnh$sVTP+1}PRrG3{I?sW zE9Ilk3<0_y#DwdTeqaa)4ZlJ?2~(KhRQpNPo#V_?@fXNiIA@>3O2E>U( zOKIL&?F-)(2#i3-v?r)%_enXUE`m9}wSjq`BoYS03|n&=47_>a>bGd1k?{s$d=Oh$ zom(egR-`^5TVVW))t`YelX}w?JR~*YLsjKUs zrAhNXTQ5>rG?K-D;_WUOEcPhI-(gTKBNr?-Ey+Nd?iGaqmo?vAmz#s~*}Er9r4)BG zw~v=k4Xd=$D1)<9`WC}10r$tJ%D7Gnn=MavnXNu|)XGUO6`Pri8V@(cNtgq@O!v4?6`@n3aocVkha5KstYwe z-^t{v@bpc8qOLUpq!gYHmGVo@7KK8vRc5f zulX7qiNmIK>Dzpz84eUoIx2841_ZJuL5inuTp@5(~3il$@4 zsaQSwpKYUEEy8R22gAy$rv(wv*%r6Z5h;}rCTQ_tZwdGHp+RzI&d=kMKf%Epzv`Vw z+0~Enh=s{3y92_9OkS~T_aPeQ#mn@GF*wK+v=8U}i7L%$1aP8}gi4D%U^>2^0|Gs! zTgrqFqK^8q-Jh*+@CpU1E7QwHi4h!Qp1iSJcF*pF0-jU98fS=?bW%XW4Rv{(2x4vt}*RhJ56Fua-~nmV+A!MM@G+k_U7apZukXlF0Bsw z%?MKcY<{@wQmv-OC%aHKh>ZNZFJd_BJl&6Ww2BeJ39T!e3vHTXYdB8|imjp$|E1P#QG;dS~_AY;HyVNB5ZQ*&$+MKlu%9QrzGWA|5WAZlal%i zJDt+O)ck{{Y8uQw9BaXu@~4=S7cP;;htW6B^&>f|rk6q6)xtQwT);&|9c?h}Rs_uS9Z>djTm*i(VBh@A*%3LWnH^24ey`(%I=8L8u zXkBj(`XV=#>rE`!rNOu77_oBoa~(b(36Lij zwpc^-m)1Y|&^eFEQeFqpzJ2K$XZVJF!fnrB!dG)yvxmz46C!isw}0O|!Y%!9Hjon< zyf;Oy9yu9L44S3dniN%ug z$eiq8IR&tgFl>ZoiKo~6)c;Os#3KoD{jfP9_O-d=54uI-Z-vkL<|;ZT=1rPZ1XQc< zanPm*un~!O4Z(MNu?S6QbK-er@@cNvm_!n^DMIqPD;iBOO9V2CdyAp$H0|;cE-dQe zV~)iirM3C20T6egbF^flWY8K-J?oQP5q48vH-bg8#Ggoe%{q-`M{T z53TnZm8-%iWryeBXodG7xiAwV2|I*tCOpdbu<37D9nWHjT_V8)BbC&@4gi{%YW7c; zFaOtF{-4JC|LlAh@-c(XZvNWC7ytlh+kn+aNUjz$c?KuKt*2N2@`Kt;X$ zBLP@ZF93j1fc78S0`z~=q9qq#{D=IHA@0816slqIQUZIuwe+$PxAw3>H2{8Ie%@ES zqObTx^!bFvdHKcpg*kae#dO15tQlY_JCTL)Xe|K1_=)?5YUK=e-!Ht!s4#T8tk zt{!@Bmew`^KEfPyHI$P0-<3)z3oTn)Pa7|QfGDD=g9)Xj_;;LaY k)de8P%PadgJo>-d82u-krAzB$lnp>l>5bx7d5iFW0rVp^jQ{`u literal 0 HcmV?d00001 diff --git a/test/src/index.scss b/test/src/index.scss index f3c4842..00d7bf6 100644 --- a/test/src/index.scss +++ b/test/src/index.scss @@ -18,6 +18,6 @@ background-image: url("./img/pig-2.jpg"); } &-3 { - background-image: url("./img/pig-3.jpg"); + background-image: url("./img/pig-3.png"); } } \ No newline at end of file From 9cc09988301afdecc60cb763496103bf3e0f8d47 Mon Sep 17 00:00:00 2001 From: liuxingyu521 Date: Thu, 18 Feb 2021 16:37:23 +0800 Subject: [PATCH 2/2] =?UTF-8?q?fix:=20=E5=85=BC=E5=AE=B9=E8=AF=B7=E6=B1=82?= =?UTF-8?q?=E5=9B=BE=E7=89=87=E5=A4=B1=E8=B4=A5=E7=9A=84=E6=83=85=E5=86=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/index.js | 25 ++++++++++++++++++------- 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/src/index.js b/src/index.js index df67a1c..cfb0acc 100644 --- a/src/index.js +++ b/src/index.js @@ -23,11 +23,12 @@ module.exports = class TinyimgWebpackPlugin { const imgs = Object.keys(compilation.assets).filter(v => IMG_REGEXP.test(v)); if (!imgs.length) return Promise.resolve(); const promises = imgs.map(v => this.compressImg(compilation.assets, v)); - const spinner = Ora("Image is compressing......").start(); + const spinner = Ora("Images is compressing......").start(); return new Promise(resolve => { Promise.all(promises).then(res => { - spinner.stop(); - logged && res.forEach(v => console.log(v)); + spinner.stopAndPersist({text: 'Images compression done', symbol: '✅'}); + // 输出错误,如果有的话 + res.filter(info => logged || info.status === 'fail').forEach(v => console.log(v.msg)); resolve() }) }) @@ -37,16 +38,22 @@ module.exports = class TinyimgWebpackPlugin { try { const file = assets[path].source(); const obj = await this.uploadImg(file); + + if (obj.isError) { + return Promise.resolve({msg: `${Figures.cross} [${Chalk.yellowBright(path)}] compression failed. ${obj.msg}`, status: 'fail'}); + } + const data = await this.downloadImg(obj.output.url); + // 写回到原来资源中 assets[path] = new RawSource(Buffer.alloc(data.length, data, 'binary')) const oldSize = Chalk.redBright(ByteSize(obj.input.size)); const newSize = Chalk.greenBright(ByteSize(obj.output.size)); const ratio = Chalk.blueBright(RoundNum(1 - obj.output.ratio, 2, true)); const msg = `${Figures.tick} Compressed [${Chalk.yellowBright(path)}] completed: Old Size ${oldSize}, New Size ${newSize}, Optimization Ratio ${ratio}`; - return Promise.resolve(msg); + return Promise.resolve({msg, status: 'success'}); } catch (err) { const msg = `${Figures.cross} Compressed [${Chalk.yellowBright(path)}] failed: ${Chalk.redBright(err)}`; - return Promise.resolve(msg); + return Promise.resolve({msg, status: 'fail'}); } } downloadImg(url) { @@ -66,8 +73,12 @@ module.exports = class TinyimgWebpackPlugin { const opts = RandomHeader(); return new Promise((resolve, reject) => { const req = Https.request(opts, res => res.on("data", data => { - const obj = JSON.parse(data.toString()); - obj.error ? reject(obj.message) : resolve(obj); + try { + const obj = JSON.parse(data.toString()); + obj.error ? reject({isError: true, msg: obj.message}) : resolve(obj); + } catch (error) { + reject({isError: true, msg: error.message || '图片解析失败'}) + } })); req.write(file, "binary"); req.on("error", e => reject(e));