From 82be64f16a36715a90e0943fc7f423807bc68fd9 Mon Sep 17 00:00:00 2001 From: CyC2018 <1029579233@qq.com> Date: Sun, 25 Mar 2018 12:13:30 +0800 Subject: [PATCH] auto commit --- notes/分布式问题分析.md | 61 +++++++++++------- pics/10bdf7bf-0daa-4a26-b927-f142b3f8e72b.png | Bin 0 -> 89088 bytes pics/265a355d-aead-48aa-b455-f33b62fe729f.png | Bin 0 -> 50176 bytes pics/52e1af6f-3a7a-4bee-aa8f-fcb5dacebe40.jpg | Bin 0 -> 68608 bytes pics/f0e35b7a-2948-488a-a5a9-97d3f6b5e2d7.png | Bin 0 -> 46080 bytes pics/f8b16d1e-7363-4544-94d6-4939fdf849dc.png | Bin 0 -> 82944 bytes 6 files changed, 37 insertions(+), 24 deletions(-) create mode 100644 pics/10bdf7bf-0daa-4a26-b927-f142b3f8e72b.png create mode 100644 pics/265a355d-aead-48aa-b455-f33b62fe729f.png create mode 100644 pics/52e1af6f-3a7a-4bee-aa8f-fcb5dacebe40.jpg create mode 100644 pics/f0e35b7a-2948-488a-a5a9-97d3f6b5e2d7.png create mode 100644 pics/f8b16d1e-7363-4544-94d6-4939fdf849dc.png diff --git a/notes/分布式问题分析.md b/notes/分布式问题分析.md index 5862ca48..15e9f80e 100644 --- a/notes/分布式问题分析.md +++ b/notes/分布式问题分析.md @@ -128,37 +128,49 @@ ## 实现 -### 1. DNS 解析 - -使用 DNS 作为负载均衡器,根据负载情况返回不同服务器的 IP 地址。大型网站基本使用了这种方式最为第一级负载均衡手段,然后在内部使用其它方式做第二级负载均衡。 - -
x}zd9un7d3kf|mYkEexp z3rg`B2Gh)JE*(gbCtq~BgXs1?rC>EIUN@0v6Tijiy1%;t@~1+Uyaob9&=pk9dQRZvj!UaLSG6suPo@sCb{YrMQ!{PmoZd7pC`X~{+uY*ilo jno|9F%>U >8#0*l2h^I!_7ffk!kNoz%DM<$a~rgh~j&o~%-N>t}DeSl=R9ZH0% zX2Buy=eVE7BZd-9I9Wp2MC!S|&;8YQ^cYtLJ5COvlJ;)j5&p}1h4;$Nk98CTt%*J& zHV06AmJhs8*pWlggoFa huL$YbF)?hbHNSz-t+NR854Y!ANlH)IZV`-1FMQEUTEG|(u{Wx%*92vf z1EDu39$PcizXmZnghi;RmZ{-2mm9@z$YxFHqzW*T#2f~sps-t zfbXPI(BxUim?dD~ol@uF7Yo=1`}k6J=Xhetpzx;-43<<((@<_M)H;VG$W2 DP{x zIrlFKoM-^|kGj`puQ&Oe!lN@Oib@Fj=YqKFO1G~x>he;==pRJ02nPrFOP6SdFbnuN zCg9#q0&aROUkXHs+?U@!3DqVGY~H`jzrF4Hd<2-amsM}o7Ij1LBXK&vj`f5SPD|q3 zvmZ8Y;PLVJ82iGcF=ptT?mDYSB5p1DLa7{S173TB-xr5Ix|WyDpk^8@k&K)uR{%Bm zCZf8Ez7vXsL*|?H{g1<1b@ wE*)z1Qq 5k0E>1hO(TH%>&r+3;iHlB^1rUZc^L#SmL&V0j zny9(xe}#B#I;2zcuU~D1sEjiuNw0o9=jKily A;CFik(Q*@JD_M_NSs^Nk|0QP1`d%XsTm|K4pB y}bxg#3w;yxtC_jVkL1VA3v$ z{{4D2YkM%^_>Qqcj6bf~{b0ZE=rtfo?gFhJZWnJ++iy=I_@%+#A3b-CpOny6kKrPx z(V?!d==duTleD8a0J*+=)FhS2?>G!gII 4+);l{j(sEtryk2_67Q_5vBJXki>@NopZao?1>8e3S2yqy4jd_X1FI z`p?EBD<@I$TjajEx5@zJ;uOKmq%i+G&Bm*s)8eWsyW%s8%%)iLQPGj|@P?zC!*;da zj|sKc!Tkb!78ZQcR;xw`p!uQcLossWcVfu1Gy3++b?k bRE2vrw;iQz(X<&)$eWNSxmSkd#yO2py2=k#diK z;}J4dWr7V%LYYy!AzPIKV~1oqh%QGfT 3EJLDi#DG> LNoe2va)O(3#Npa%l68e}7uMXs9ekQ3&rA zV}qiqvncS;jjgR4e&X*y0=+BiY?MX+cl(lEr~BasGiFjPYI*!wEWT#FCKld<6-ico z4G5C=KzJj3NY_cr5s5N&HE1Z@i|*^xfgBw?>IlKikAtrclm&O6oy%ZI(d*BB7`D;p zz$uJ!obQ??aHlwd(8YT`QwJdfs*0;%7eScqkxX#%M)~1rPEb&yC~OC4C{laq@`UuN zZOmBP@y7yfNe7{c7}OPBUS4~WRmA~-r&$|UC1>nKk4RXoo`h*O1qxIW<1j#WX{F2f z%|A@NWA>%~hJZTE)9ef30(j+^9Aes+m*Gv(=@|_Q47dGXt!@pr11HpctE7Zq$i36W z_%;=`qb(yvd7I7Zve74$PO|RVz_bjj{)* 0B?>7 zFMr5poD7v45iTYF82J{u>2(1u=Rff$j`hE+1%Zv{f#`rk70L`BV@%SA>F7*n;Bn5c z`GjFpb;Wk^hjmjzxW^zEB1P8I715+SzkBSqDGxV7N8O8rq>&Wqc;Z+!22~9=6*#Bz z+wivu8i0=u8)1Sm{y>62p+TGEE0DiBbCrz`T!I{5P$7Fv<`Q63*cIzS}25s9!hT zHOYL)bHVx}DTod8*(u&yPMBH6SL%w{hj=xm=TAdh&T7ZAU%^%Cb;2wmcF#-i^+hWf zX}Zt&eYWMm{yU)o!=K(f{oh7hq;P1-$wa-bi-fk)!a3f4w8-!iPCW|(%c)aTQ~j`c z4#LX>!;lQ$0{s3N&}x(&J`_!_|wojX$= zK{@_u1H=d_-k^l>bnu%YBadXaw0OI2CU{(da$ZL$X)F zrwcVj_mt$6@d$#zgg^Fl$fMo7jGpU=3{lOH^;QMtC^a9g3BrhsSBR)ze&iQL`}pdK z<8UsU@dodsR~TiJF`iVsr$YjVn5O&F8;!>iBF|FU^o(u0Du*0_Lhk|JcydDZyYB?L zt=@IlaU>(qIZ4WE$aPvd%^czqK%a}!i!zH!Eeqq)WeMHaf{nQSuD3uRW6`;@whitL zj?Kv`E9FI8xjqG 7>0Sge}Bk*O#T zXuOvz%FQJ&I%cH)WQWCx6WEIme+08nER3^B)LWD?^vp*=tbztLwte_=>!f;k?WMS5 z`j4p}(9>0y&R@4dIewW(HXp$iF@BNXH%~ 6`pD %pz1YK9!;FdeO`VRup3G@RME8=z zj>hnanBB0f1^uh|Vw>+bYlacXU__yeH2ky 9^%+oBJPrA`F7h4@7JZi(%Q>*C z4#wq>(-seyq|7Ufnv_sJg}{t|B-$nTd$8xsr7geFrD&mp8}F>$ree@w(~{yN^>6rM z^xzv}Aa#K;r9q33v{zq$B2D9}EoobHcHLyZViI2pfJRw?Z)_L8LJmgfFx~RB#q1L! z1am6p>gy!&E%v;s0_|)fGL@9OrA5M=8ru$IwwgE>HV#QAZShYgPEm)?>RrBMedyV| zPCJj#yyv(7M$BaA8&)~~=#MB7V^9F={R@@Fv_toR$;a;@###N3`0Mcd;xT-3oI3s$ zr(AL$x{Z#;2akEh%29&0k&0{oN#tptJczT~idpnc(9N&ve(F4+^P>c!6IqabPii3W zcg}3u5?gv=wV9e8Vi(yUBOM(#0Hv?gHUw-cvSf7dFgZg*zCtw#o@AJ134^;JKYq%F zuN1h^b(dW5xF>Egy(O@vWnQUOd1`(Ymkw>*R4D@0R&B#^i1I1dq}jJi@2d*jpd2gm zWsbLVmeaWJ_4pCO{CMkTS=~d9lb`BiajgxejyOfA2aav6R4S}|_BR*0?#MRu{q<67 z5T_x+sMCyNoJ=QU-Bpzl(KREn%XmyD8)oJUd9h;L$*1N*7y6i>OP~Qm@!W#?>C+zK zW;$>M_({lR1Nkhm+A#;?VcFLa0y=fP&e@mLzIZ(dwGttDaSB3C-st}ij*f@GRJNO% z6f>02AJ6FXsR{!v!F7a=C_M;hw)Iy79DTch-Ot@cUf6o(rQ=>J%qEx*4o0)6g2~d{ znTUhdu6F_;Sg3iI%~U*tCXFYY8I% WPBwTabG_SyPOusv_YXxYdfd8jn zcof1y-i*8L{KRezYNj94zormPh|?79Q(?Q^wQ|+z^tHm<&{$`CAd&B{6Xk;WLN%4u z{g5O4lb0d@f#s)@>@I-r;W6AmPplj%Qb64etkh|NgRe6@qp-6KA%I-~aqz!2M3a2R zO^Am W+bc(SAT!nqu`_yxS};r_#B^=m$U zlQ|47Ly0AoneV&&?4o#PB+`}CS{6E+fd$AoHIRz_Nh^6mY`QNrlEP!|ez&S(S@kX^ zLZQBT3r<5!>Sz3dcbmiKoD0-Zw<+~5mJ=^mS_*dBA6rO3Is6iQXh2W+I(nNqJv>(i z0s~aWC}0i5tAAKQQQYWwfZlI`9*Cq!IWYgfV)=^9hkfST{oB*@OjT6^#v}4|Dc-tR zQyu}1%y`mtTjQ>(X 6bRh3VRP!tnDVk z)sVG{#O$r>hY+Xv)4O*IR<3*Nk9~_Xl;w-fWQXM1_tn6-yg^LvuK^=c(!7P zhBr5y*`yTxk6*l%1M%8~9%2t`P?gq#Q^h4iDdlh}pfw+9fd)RANx Oc(kvMI$w_Y!^LJ1$Pj)PReJqK? z4a4l4Q4%TLG@uv!r{=3@C;oYa@2eH_^fap>&$*c&Rhv0sfh`W16oB3r?HgTb#7uGC zk{mb^`xCk>)7Un;ma{c_Fg}@$%Wq#lEUh%UjoNcHIoWAObck(=O-i8cn!fihJ0VGb zf0TRKDDBP z*)s_DI8i{TBmO^ASZAmA%e6$H#4Ldr7B&gTQUm0QZq|TgeBmQjpmj?8!^Iyr7X`{E z*n0fuhGlh~6hLR?YGC$wC#>jlk%Z860G>$ wM1!L zl-{piSPzXI24`F^vRWkt#R6?oPJftcd6EMmX8|e4hEt #)!;03U#mVw(-pzl{;5OwYL>eQ+)k_=#8Qqvd4w%t3SpMoH5&YN=Q_ANj|dxCM; zzPo3VWP3166ToXXnBar-aLPY?Q;-W#+c^UAY*EM&9S^yadeT+GX+4}7`2C2i$`Nc) z{m2j4c0G4t(7s8AJhnE#GS?;+x*xcW)h2-DF@G71?q9o;iv^1f$tjOQd~?|z`E2tX zHXtPXoKF3>GkNBWar_R r^Z;1=GWnk1k9uca;FWZ0n!%yQyUFVT<@dO2h>g-!*{hVD{vOA^6=NcX_2}G z(00*8fQcOQaZ$ zs6rs(c7bL z>mE>Ez@;DAJv`7dNH%D$ThO&F5j-GE@eeS4&H!IME_dE^{Wo=i9-4=8fja67d?zUK z7nj|M$>P@$nvbn~d>5B_R+IHgtt6IqN6}yu+dSC&&crR?_XQkBymk*Uu|mGfw#1_y z2ik++3~<={T)?5$g1&GbK{CGG^8YaQ=J8O!Z6CK~F!mYi*k=r)$k>;xgQ2oUrO2A1 ztXZ-zV=%IpA|zXuk| 54!4r|d6977P8e4hrKw@+qSbrkV 5nxssU-l8S4_&OD-sR zJUBBJay t=P*wUf4F(FW!6|G&un5(ly)(!!YOkX% 26e5B$FSh*Z^2tS%V@=e{ DNwM+js0BrU =31xv#oM01Z|(Whh64e;C)wEjL6g&-*ZL7ZfPB*sXb zsFQJdEs27l@)+5 Z?3xA9l{ QjbSn28K>O-RFhj9TgV-%ydVy2w4f^z_E {kv>w&fbHMo|m1uuhuqk{OSl9 7_)NPhL7bqRwKmug&9}llLV)2SU8fjjDO=#f^xiR=hwC~*`S*Fc ziOGUJ4lVJENlx@UL}W-SUBD{Z;6`nNL1f_9QIdUNu>GA)vj01%1~~-2!HoiF?q)1# z^j|SbXyrI7nb`4$Z?(7lG$d~JY2b=P74jIkxoT`y4G_{O!j9B9PC1=)HG8$}ow1Zu zlTey}*o=vj Ong>+k$ zK!0#+o i>@jtm*gy3du1W2@HvW4BM{-a>=%rAZ z)2 WRmv zRfw%~Y5e}iUX{&cEQk3bXw!`3pSGk9qarnGJtgSNY@7IVv;@lfvquV0nK+a?0oc?t zuCFn|VtxM{r!^$_Yt9K`AJ@JD()6M=g-XUBI%oQAD*1MW>Sgm1Ef3-j)*j!?roUp? z`fn=Bk}OeZeUui~fbQ2Pe+>Tyg+DlOQ8Az%s69+*gZ;V^U*0Ev`#CTBGF6+NO`!oc zm qzpg;j)*Z8!R5fWdgp-pQ8eI*NlMNI}eV=iNA{TJWX Z79s=JPY}A{$gI2O z{2L0*>u=mmX>|%5W$ Lvqts^8YsGxTxT|fpYHtKO`eC#O~36?a{CnY zVc$DK`X6veotTs&D!9^W7aP)&8*?*hwxPL7lm0plHQhJs5&(cA9~@~efTK&vg=gn1 zz~s-#`KFVT#0*5|9q<{+`>t4IsCeIqwF|Go)&|g3u!37~w^A3IqtW5ks%ra2UGcS@ zgIR eY*8s64?>=6e^FOVm pw#Jf#FMS zhAksSEVq}i#1`s==L9rf>zfM$YLGf0_w>FOUl%W&3XG>u$O!vPH&On5{$y
#bZdFY`AngZY=|QzW3uj{`4r*SEqhvc6151vWCh85_XnqZv;zub^A%_ zK?CT($ j>z;(bwxDpb@n zIdSaf>E%l@yDE)m!-S#NXP(7LwtksIkJ|>CLvumPg1@ZhaytJZ==_dnOA+b7Q&p3| z76%LSVu=H^nRIC}8fo!Zam1YfJ8-N?bR5$8!yI$G`OPhPtkXVNji2n*D2Rt)Z_cLB zdEeq<;$-30Wx3`f>$~w`G1Ddcu6q23Re~X^^+46j`b2A-U|CXaI<_;uOIJnG$MxHO zxutzZUWZ@&2bZ^}Z`dHy(1wE8)&uWxVIuSYTnUz7Y8U;0_S>cw*e%V-b6-&cENR`& zhZ3h$ZJ&cFPjGZi-WtE`{S7M2(D8V|IYy9HSV-Gv9Vi~sWKTztuA>V57-r)(XUT_G zB8;Ki^K-bhAUG$>|Gju1?S;Z#X-C-O6Q3nv(>uV$&MX+PZC-bzo2kQmZc9VnY1;A3 z`AJV7Wg~) PK`|FSpCQ!*`$s^O~fF^NP`G)%Tl;@JP$t3OD1pfApmRvPW zVf}MZl#j@@z4U=OyYeM3@W;&?4z; =T5#9M_|O# z8~h%%&6DXAhPYC|^(qYovV<}&N8t9oD%BUgDCQr9Z;I%Pn2uPFpunT &7 ={j$+kqjY4RtPu=cLhS@^>ep^W zy|D7Xby8g1wD)!?A7Sx1KwTC8jBJ`?pQKN}6;tAqej%pBH{Bto#4r6$Ov&AJd`yWy zkz1O)R%rjn(_D^%L748!K9IDrt6VxLgpmM{LBM!5sYHxmNZA@610zve7Ix4-h$Xk8 z#)4=zbVb^EAqfFYSo-%cV<1*CEei&6if7}8W!7)+pMLv|&8c3?Upu_*ufqTT#}m51 zh(ZW2=~nmiLOHl3Zqz#`K%em<@rINl91KzY$YZ-$u348-`;P*JllG$mp)#T#v#qhh zgpVj)D9sIJ7p>E*94HRn`QLDr`&XgbSvl<5OX<@XV)kqBnx6bkO`@iMX3+xdm(P1* zdi>*|lzTDPh8XA@jN`2xu4N)+#HHIanyg?bj`W!V%C~B!1XJhKMg4CEw@?tTS&v)1 z@ti&wqEHAQCJGjl=|Fb?o!eX3R^c~siYQ>r1M9^!sC;2EBHNNEeB=JgshS!FHcB`a zudDSRciJTi7RSz|q^Ko=Vu|NgFOwhuqwqlY7!zF=HIg_hK?nzotHBNmPKE|89_Dju zpyNmWQxQDIyvbeEdeA6bK&Wowru_%T`z!~$Ke;>TvAyt+O`r|A8&rZcgP}wWK$r0U zb5Fn@QDdwX;{sR6)-M!x@I$F4229WY&nwg+BsUEtdoa>BU`wqIevNrdWJ?$TMZ*7a z87zPgV?zC>v8y;4)1NBg1wH_jwlESaj%hhdeJ3CXoL0&2JPIp*wwZ-#-7PWfa878g zf3Ow&L=gvrbWGk)`|B5`1&A;<5vu=vN$$ZI5;hNs{KAC$2(ki!4XdZ8w{pY5ejAuX z-pO2`1IC*wBFY|1l<)#aftWFN8k_L{_76u<*pm&LqVd3hmkQQ-IMZ8;rV~$t9TY60 zNS1eim&~1&!=FZ&0ErF%->+AgfXxTXMhrBUqiuI8%mi$!XaVnTnR6TwBkeK-QS|x` zE*?&{_P9Oj8NeLy33}Re{=eP$hwOF&@K>iu2})#bcOb#6;5yY1W3yHjPZ`!;UP5rT zp7Fmt22&LpMl@7-oG2N8zj=cM6uNc_)=?y9Sbiee%Q!X$u_64IpKXxSl*ny~2$(<% z2oA{_83Tc*W`yRS!#87H5Sys~_CML_$@&+xC`GTs%6Y1=_TmJJ(Kk1fuEvP1Yy7vz zkI%^oDriaQ5?p4JiU%&soca$R>QMHzx>LW&o0*`f0quW#xDZsN`e$uKKpT1j99<+F z3=pzT>ZW(FpcI4u$A<{+E)fAkeotY^BWvZob`5qxS#Xv4T5g{Z3ct>llJrbW=)YcM zF?v#PSr E9FZ#7MvHD9k;xdYSeFb { z)X~nct^RoX-^~;8GKi6C2CzUk$3T1af6oM%tJvaFMFxB%H22P5cpdP{vFro0>o|Hc zN;Am^hC5863)O?rJL=V2Hy-`6`Z5fe{QDv$f5$?9egcQXet=25_R)Xn_wm8cv{t3n z3tWG{XFK^dDYX`9u(*%b`M#)1m_GHY9t#xaWhUf3*SYY^ZUr+=2TC)5t2Dvg`xp&A zAG%|yVzc~cHtYu|7w&rs8G!{TlCE_N8Mg eS h_EFn# zd74$2Z~+0+glYc)RG4w}aSBtu-odXQ`C}gMpA3~=(P@ccz08^n#6+MCC-{Pp;?l_w zl>+-y`$1mC yEXQA{o3hwCNKicVhm$>FE>JBO!;fWZ zmWUzmGhmUvZw8%F@dJ2~7ge>2pqW1Fef7<0Cz-z|ndl&onJW#T&l(8cpO-&m>EQ&Q ze;sUEII+3aX1b=H G>=FIKIq`Tfv~fikJho zwUN=&51dbYr!P?W*V~&2V<<}4tXK!{uQ&}Qm^G)Vh_W1{pQNjhyYtOpXRIOUE~ikq z!Ru#o8-UF6&T4~FEoT~)!&lh+`6-5^d9r#Bo15V8@=^bC1NGmJ 7cVb<@bhR^Y#J@<5De-DmoaW^?D4Pn+ycen&PUS>4l@j-sZN$w*3R(t zD**OZvZD>d!B~$e;H^puo8V~A)MiQP{)zTQScqU3IwH&FTv+6m9sD-Cjg8&L8zb z({)noBz-QKmHhGDgWCEXjr)2~ZOFBtA645;)U1}wP7f?idneoOFHe$$EMU+xch@Sb zy9y?ads<4#@8Qw>hcP>Fl)e9tuZ{!K8ml7363y?f?5&!$EE3U{powG>X3WRIIEhJS zg_iMbGeXP*hy<}2UzREJaLn^dFEeHf&OS)RuqF9m`2a~}?w7H)aLP&S65uCnJzm)a zyYK**q^?z4OpA&{!tl_#
zy7wy5;?8&y;|{Wam|CRe_LfrVfQNk zt}@~@_Uv;0; (p^3$wgrbN!pdU1Ns~dy5*IK^8Qh%DT&YZ*NUW;1t70G# qSL<~5(34M@Xy<#D}sgQt1lF%uza%*eE@Ya^x}{xx0A~-pC#qiu5gX+fm-2R zgGI8q$UE>0M=Km-zNE{<{ywJim u8c|B~Q qbHC2 z#pSmKci(ouCcDGMp)6qCfWfpEpv>-) hF0q0$8u1fm{8~kk!kMuDr=dTDx4??>%YUZzpN)-#)SU793W5rOYOQ zaPwv8@7`WdqT109@5d1YQ~9xfUM8ZyxlVu`CSJRYbVyf4x*~5KQqENGXxF8w6x
r2L7MT0uE3|cTJH58g)uf_#AwMPbDq&2D2eZW&_FC*9rXuF z+DD`MHv5X5Zr?B(f QB#F7)yR>eE^HI0 zBF-8h>_I@CPCRG W{ V>y3x139xbu$u&hjZ zB|5}M<1OXbkJI*CFMxsmGaDJ_xhB|eACqwLoE3~u3!|NtURLQ_p3@v@O9$adf&vG@ zM}5PuxD;4Y(fo{k*BHjV+Vv|I=mt~2tQ-1a5i>KVrZDFO?p0(UL>|EKGCKf|afO+O zCeK-H5v)YQJZm`qwj}bf+i%fh+rCtvZ<$4P5 Rh@qhP~)o*=&Xy6bd4**jOYLB^)P=~0bSbRRFqdF4q7`v^-b zhnH80!XjNxtYoaXaX{!y7;<}_oB@6BhKYt*7n{8kM*yy4`ot6_(3BkMNx9>zp{NDb zE}w2oT8(gnB3-?&expvwr`|ByD2M~a h=hVt &N;`*3}}+tRI Hqtx?J zMtDR&SM4T?zHUxq{Ub3B+>0k4CUM&9;Mw7SZpX(P1_J5EMg8vX?mR&2xIor-19FMG zq_%u`SQu3T D2v2l)^j=0RoNMy{q; z6 4@0t&f*zQo8H!21Lnq^wbm`6fgf7&TsC(nd{@+Ouj(9I4v9Nf zjzMRSl6FS{tl&%WN3cR& YLztVqE3&74IM!gQZs z?#*8wxLJ%kXZY~N6}hMP?$y=GKy0W5q1DU27!DsVf@kZTf{r8@&4Y>b3QnK5ak(PF z-bKx{JRyzt*eTKuzblaGmBFB!`I`?1(*r6Mi+p`$58?QFox`|OLY78Mc0{|AY}t&t zuw_@U`nyv+6eW=0+OktqLE$>7 >AQ3 zB%{jN>1nLXr(OCY5SWL~<9d*S>o*raKRdsC|NLpQUBXNC vi7Te)!=O8!OL2*NO@Wo9E| zXmKI_4X`BIWzg?_*({Aq7_mFs2D(Zul0tWP#K7sm{7V|m1`Quyhrr#etFG$q nzS9r8p{TCg7@%%pVR&t$I~#1 zD_5(O%W&f$BoP>L0dRGALRi5AKqcPF`>&%00RulnJt)y}Pw}#J1_*ih8w&Bc;KNF! z{XD(D_U!q7z!x?DBRn0Y={kZrdGcf)iG+R8_38he jj{1j@aojJFjpaOC$3%(vJtfXw6GJHm9OkjEs$qn- zhJQBF)-R;1wX(=mFS&bnSFHXdY`U{)D9Kgwc543%H%OPxnf$Lf?LC8H7(RD0S4aQ3 zRZZEx-Nm+hoXgokYi9Xa1cRU~WL58^X<%UV{->@k??h%V^CGU}!!45?d>iRp?KOhT zQve8uFx!lf^+FvoB&v<3+djzq-F&ny<;qEjD`Z;$8)tfC{O^wRTgqX_!J-^2nungE z&yzKEIqM5s`J5T!nf&7%TiDzdeYNVEW2 HkzK9a~m!|*(cTaqMS*oYI1JM!qD3^ z*Pq8J!G9>o^$TY!RX1LjP2Y*LaYI`Qj`Dm`WFYASN0kli@RdaTByiX!Jd(VUhYKoK zgrGG5b> JdqkCdlZgBxo7-; z&(_;PoX4u&hBAe@)czc9Jw%*?Oh439l0*@Z?*4&%t??RP655zeVq3)FM0uF1 @&D)|MkrOyTPvKLhv zh!RjTruo|+&P86m_+mjEt%gQN0;lA& O@>r!(_@vX3L+ zu+kusPdwPAOP1X|n~BRV)tN{e!Wjd@Cvi%k9*}mbUBZb%Vl|GKNwoPY!SVVL$VAVq zVJ>?iFJ!0|f27vz53O&@KAn6HCm-s<#Yy7Tx jT(fbtuhjQiSKhqqI@ru(~M{CXyNh zl mgveUZ;>CG_A B%BrA ziaw)8b-kSq6%VuJzIaUZ?-a_5je_+sZsPv5${4 72rfos})V zk@Lq-Q_ cRIHOQmnhd~6K%_B~vBGVcn5%m8Jj#c!nVU*CLD74o@L`m;IaZMn@&kl7=D zs~fTM<&{v?@<_^x3T?p7Ves?&5mjc5aehV)gDv&3Skc1ynJ7Vz^<6F3b|=iY9WB^7 zXF8!4X$Xw8?c%F=M=(pURT07sCMhYJzs%1vEpMNQzu fVC$`2A&oQ&rRIr;~U15Y94%-yRFHX23uP)x0H_A zRr*LgG24$b^*Dh$J1YhI*it3g3o>{}`e5wsrXLWXAQ1USyvqN*UYz1B-f y_uLl^T743>D4$KW4%v|dy6z@`(RQxr|y&rT`h zrHA1{7gc@pwguJ6RGf2s^2E=$_?*fLM+vvjBImpz7e-63M5x>m`64M^-slrKUv}+X zD#Zklxmu0wQR)mf$3tm^Tj_Cbc1@9pugzZZYg!^18%CSX4?^Sh@!O7SR|#%J$&hOo zp3{p!(aKhRQSkb~Sj?u$VVpQogH05Vw=c#nk-O $%?n~188 z0K&WQ(Wy$87wCfM3&1Y34DkJz1UkE#Qu8UPX^YcPjX^0Bxsd>=|MB>! 29DlRBRYCO&6$uD_Z{v;1E z=^z$!G85$aJR?7E!eu=eu}XhoYf#9k{|(Zz+$%woApn9;xINCQ3hzlQzE3}&o1hio za#I$)Kt|$Nz5O64<51wJ%To00{O|>kIio-YS)_Y#LTC;h=vsR1U3hlD0{ZD3FzyQr zglr4Xdr}HB-cG595;beB+ZZeUGdraByb=fLnWBbs2Gq{~>kW(c2bk}^9(R;aDAS@M z-MF;tqoEz}M2v9@p5i@`Zj+dzY2y3g95f$PHJ0@Gx4t}=Aob${xN)2IUq+Ce)`$0? zY=D#RAq>EUI>CV4b!m!f1thD0P^HV+(~9o(E&78HVJ4H1FmmEZ{h!I8gD-W!Ju_C~ z;=Q+7lLm10>*+BbI~FgkhELui**^l
n!}7H&8vH5b0NCMfJoE~Z5baIZLs{H-k-XKqfLp%ddA>sfPKUCOULnx=yHa#-6e zkRdL*u) kGumNN{?1&cA%(zx%`1eaz+{VNhW!Om=ju>O>H`(;wAaX0g?b;sF zWI}>^bFSXMl{ny?bsas_@t6c1SSeo %pP9?Ao2QyS_ahN znM<#1s9!kKKg6(TgNzm+sRV2cTTm3Z8_mWY9tO{!=4-dBTKM!gV`gE#ziQZKb&HB6 zYER284_w v||QwwSmfUVy zFG4BF!EIZ;?}tuWV(l?#tm^Qq_m6qy#S1`jKKSx%@cKW~SY-3w*`2fga}3fQWMi0e z+h1ONNT%=mEMJ&!J8c$j<{)>n!7zSFE2kW>sGu!*ADP@OpJOC$|8&67idA1jjjinf zW=Eu^j9TsRa?@3nekJAb8iPm5Mx{tKUZ!`nOt!}8-LGxr1Q`3xs9MHc&|WoEkuQ&Z zXo_%7NY-2%-4O)n z=*ARmoEWOt3L`-~+%_7p2oin}|BtI0#EnP6OifLv5vr>%9YifNZ07LuB}F#6Aeie8 z2$lgkV3+A%&3C1lyJsqr?-F1T30)5XFrM=eqgoL4Qn7g}Rs3*oE~&>i_Iu=W8#FH3 z--nK{)bv&{iXMnlW~yDhv!dJJ)$pX2lu0okEvwKRjfbpbuq%aoo4hizm9Af9dl}LH z$iIMzaI*;$%FE@!84av|VH#LbuJOhrCvt>>>UQ4;Kuc4VvI(vSAv6v^@v|ZnjHrA$ zRmaYbi<0;@1*5C9p`rzhfSrN@-Htw_wLA&IWIBD2d_x`ZWE=I6#_L;x6hr z2FuayqckS31|!9EX={iJ9f;HIoX6P{s&F cxru zGD1piiZcdkbOSMNU2Z}34#w&V(;FLP_LF$P9w@d*e;MKwbwHiwR?RcN8bIr93@M2M z10TEoytc%RyD3S|v0Q*S@gCUlA @lt zxK1;j=IhnrgW2}R=>dSo&Q4|VsYDszXu=SdXO6?w%o4wHh0Pk6HiGy>U@>Pkd#XYG z66DL&AN{%p>c)43x=&?`&__Tn_?S!5QtK-M{+gJPta5{Co}0rGM37~HX7JUx6z9|! zc&=TiFr5Pg3mL1|FyNM}^@FJrdpmrD`CU+f-Eg79*L$Don w6D| z!y~BA1DXOM7pk4%OeWH6;G6 o zbk7+=r3dx7ah=>)BSQZlmENpBpUGnFU(R4*CrY_u#VzeAkTw{+sHqy)Nl9bNk?F?> zrjPeLs^Me%8oHKO(AYZ5fibpQ*Jw)OKyfZ%UZ^Z^6et8|X9iDRv&7_SsQcLsy7+U3 zaiC#1CN8H0HdX9GiaxnXv@{v?Q%cmC -iD(yJ2!b9XM$%y-^wrO4TuwJ6;wpE zcC1@FW_Tf>jF-p}GOCtLGCT0h*AywUuR jv)^(^ORul#59i%u%h~t z0PsQ1kd6@UHVD}O##>c?j;J=+XK#UZN!|1-jhdd qd6BIorzdz#AY`t~W`ckOIHLo_#XJDlx z%+NXZp4tOh2Ira1+wZkjwY5wr%FdY}mscZQx0OiO&o7#|in8l){$qcSqbXrP7$`c* zW|Z@|Q$=WML4g7 0%(u3Wgxs>%ay|`7K1q>^8M33gzf7&Lbir=GH zd@qSU#RcZ1>%4eQ_2YfcM3kh(61MXZ-Ae0>qGt#et{whTK+^hf-U<8amC-g45RMG? z%y&VZS5)nG<`EmFfA;pP5TnPBuYA<=R*U#YN>N>IzJgTQtv5G5A{1!AKGBy$`D3zS z?4{SNS@wi;M`Y~+Ok%;yW-&jk_~MDrsBsR{ti*=V2$-Fv^mTS4yPW0V54upKztwen z(3-N_X}(@M!ETnC@%J)au~1ADQPUpZc;g;oEi#z@{k{-u;W|byj;AMIw!ZiGRwKQf zCOdRs4DWWtZ#U*=j4*gr!?Rl%YMXh0-=s8A^F7#EHOW+*aO0E{1CR{bx`VZ%FMh9V zBKiBx3>@1HFCBoOS|(t+$mg~_tP}~IYK&Ztm+SHTx0s^{J;MUPcs)}B1iS7D4b-KJ zuX(abBPqkbb8JUQT~~!5*h4!G=vV|U64{FR#Db@%`e^(30~WdqTr-czCcHkfMhXJ& z(S9IibODRVl`8Dd;X}C+E4*5o-ZnS7e@6<=9&|-EM{{iUHFs!FU>tSgTncpp0&7_m z>(T=o#bDe4%kwnP={oy*V|b#gw`A1gyBr~^9sS}~?`e eF&Mjq?G(qVXfEj&6LBG zS|PPdts7H=;ZZhwst|whNikSDcIeeqGTX*%66i)!3Eb&KRF#p@4EfQ_nSJIaAqK!S zxU!DvsFlt+eJ$_|?!!w_7m&+}y;|=dYjxp!^T2F*HWDODJoou-U|wi+O7w>C3>XYK z*Q3koX*UG9!yHn@lD(;++++KwkPz4z&vK&=1N6-hVS&(qRC))-d;^&N2l-nN)HZ0= z);8=SEfE5tdo!tNX+?y7GT1p$^Z~|!`cZQ`6}3IGhbHk&MN50?W3CyDvyV uqIk996K$Eh<=j`g z6&J4`J8oH;6l28Og*$W&`~~xyJd&ZwnrS7}9j0`x^w;+?%iD&>Jg^>e!%@9_IWcmU z78EylQ=dKM%c2h3VJ&oRRAfqwv1PBWliglz?(2ORFzFg#KQ$Eq0tNAwEyq6RDF7kI zcz5!^AvU}p&@M%un->X!@9HA9lPl(HzJ6HU&QQmBfv)cE__!def5r}d`}f$P*s$V1 zJFmjtR{i4o^>a%4c9a^ bCUL<7G${tLq)Txv43hdVq|De?EX^z zOsE!TezwviQPVAPqZ0Eu;S!<}bIE=iuS^GRk&bzj(&J($f*zM2g(udh2z|E8Y@v>2 z3}^N@E#%@`KJzJ$ggc$N>uc8ZTlR=&J6wVarf 8;3MW#(UK zi7}w<4JO}! 0&qf<}8sLG!{&X%bF1}Ov zB}Qg??c{L;K7e6!jU8L|kpow#bz#t%$Yrmkr)shUPn)N$E~tX_u0#Q>gyv{`VV5fx z&hm0A37W4Dj z|B`n 4R_HS6wMoNu@ z!}i`nz+Bz(@W`VW@(F?w&^PE<_&tRZ>CVw37V`9p`Zqd2fYReqn+Dp6J6(>?5& l)h_ HutU&VX*@V+G|*mgYw}X6K%c8=iDnq@$2lcBd8HaMV~? zO-dJ?>rCMiWw+yqK96|XK%SsoPJN5S85mXD@GCkU&CCDz%`^w%I-o*ki Io?n zeV(b!X06^?4uI IKwQbVb*?)RV;9y|RR8e`yQ2 zGOg0e@{M(7HqS5pUXE58PG}DB4E~n1r|QWx(`m&`SJ>=M;wl@anO|9q?4=3cEPt6s zm;N^_$GE7b*>9~o7%#!+<@&=u-3e* aoUA$Ok>OQom@f6w-F@%# zbo-+F0>!&Qw7UbZn~tUmLf MvKD{Co_M;}E>qd^Ny7Y}JZU(s2 zkY{t@|8T46gy=GFeK_$aiGhLlYKx&@(05so&732s9;kvd%dYbTo*)oDC;*C%9Mubh zg>6QUL3sPcJRqj3ZB>q^%~ZI(uuL<`6wh`Kc8(dly@Wmks`>PR`E ?0JvS-An#R9kB&!z4$R|dDLdZxOlp6+(?o0v7rOYh z0*^!!>OBpWh`-xP(;^Rdd`58mg)fZ*m51Bp5qKF>R~$W9GT9$&(bc-`t3dW@rI@Lm za$E(7`A;J~KhhfN=u6WbRR3Dp_-&oJc!3;sV}1EZ)m|t73h57@e6@2xi0};CeHS48 zkY-H%MN55{S#^NzGG;ZZUPXP4XRM)hm*wZyQO9m5X7|xCKQm-2)R^<{Z38U2Q5nmH z-$dR8r?jJnZ&un)USFP{&*~W@eR{j6^JGJ7qRw}D$jalQfauAA**c$G`+WTa=wpLg zr!KDESFE2Y?~cwYqkLmi1Z++~W?FO+gg6NT@|LCYZ|};cnWdjFJ!M)-!rsVm8%#G< z<6Ijd=QX_&AgRx)^Kvj5+NVAj3W&-@;@(g|2f6J^E9`H|jVJd!l__oE7&TO5q&QsZ z=#pjI35=*qVOp}!`Ks|oBX^up+{)vP%XZ9zqO^$W3@p@5hp!7OKkGGRXHNyml%_sH zn`-JIc2SjI;^S_+|B_*^%VDrkvI@FD(`=i9Z~(yx kO8>It5Mi4%1#cxg6l{aLs@?@bzo_*5K>eWgDxW> z3G`8fW40)EJO$}Lx1e5Iire$C`oiXOToYrIZ%iU_;(ztsHv{=#THjyuxfu?5@GLhe z7<}QbK>9b0%ms0`XVMc6*hO5wM?^3gMt`auj0pB| ?#oq`R_6%j4yr$%24b`2>vQc!J8*?=V6S_jpjnOKD>8nPuffYJ-DJ+s^rF}( zj!!K;Llyr~?1nHZOQdPZP_fDLfy PNQ{RyO_2>yyH8ZBSeI&2y!0Tf(kWvZU%^YrnB3Y5zWX zSI9i~5^G^f%yBMX_AxBMUl9d&ZH#{%f4-r2EZ$)P_KPkHome#dQjGz{5A-~RKMo&? zG9dU(iUKrtHn+EIxsq8w@4aiZRxCs7gk7RN*QFJ*C&(~(qvx{psfWp)D9Bv?l{bnY zguF|?5996qVgR5vJec2Xe7&ie2PW{J0om^7BQ`6*Ny$704Bi)X7v%v4U&-wpS;CP7 z9=)Z|_UP?bZ>x+?2ZM^ar;1a?Vv@K>O}O{=m<~^y7j>XWV2p7TVs$HMQH( ^+&=*3C$byp%qE+4^P96zy64ABkMwYHRFhXKx5=>&?N1e=qvw1b|{H*Uy{#@ z3E}6&6Gkx$aZG*0$?DtJMqmAD5sOUawDmyqJ+Dt% ttT=tbqU6Rv&l~K9y zsfR|)4b53^fs@HKp~hYzZ&~*AEX$9meHEglBSHL8Qj*tKgQSqKqn7VM5u^OK-Ww|d za9XoCKp-3O@K6KU_OEBH@jU`(CjH{GB>-_=ziuWvrW8bUTY8CoN|zaslJN5f`9cp- zl#ws=#;Q|H;`lVPU*GXQ&s6UW$Ju|%P?)%S;zYT@wZab%O|YHom5MM2S`sa*`ym#x zJfkeQ6#1%?)yvXw!wV|(Eyj(ACII2t@Q;YLa42YNMf3VDz>$h4>s5t0m}ck0wUI>H zK7Au lt1Y<{W#}e6LiEmh6w2F7xd@wtpei zcl(|PxeyQH_^lto9fH8FUm$|5fY!4JJE}uf7EDd1AS?A zJ2kM|Q8bI*Ew!BmaEWIi`}b6239weDFy^jJxa_6Nh*F7NwXSx3jApu7TV-q$3|M(9 z(HxJYv03Z;LVPkS`HVtP0l%BCItF4j=`gP$@U{(Pd@|P BeX~A=7#z2OBK=lAV>A&75i$T@>s#K3TG(FN-&t2`ibM YXJ}`{=Dv`ScYz7=l9Tl&ho;UYLmW76N zd%CV3bec>l*)J4Du9nu&90aq}zFbhT9~td-IowIJ(8dyA^||x&RbIvzU6|Y_8I9xD z47_3E AyGdzyU}oMNz&GU$JyA7# `OOCE*&Ea=Z-T;L4KdfjtB(j76nY3C^0*N`Zmdk@(( z#PV%UTAIDN@~fZm17>9*=NRK_{Oby@qc(QFlsvWV$&9#JFF36BK3M%I%F$M{u;WXt z>ex#Ax8vyBr9#68j72p&QsKREEZ+~ QlbJNxxyT4Z@j9Ai-Tuz1iw3lt_+f>^Qq;1{fG3O-dpyNex$rDy511 z6PDB5Oq+JoPWkV(cH|KfB*o&Qvow2FH$?`PA^o)bX`w$UFc&4!J~{jKD^2C?;jnX%?){w_)4BFfM-2Q=0H=SN_+)Z>?cG7?OvpY{A?R{{ zeW~s55B$wbKnj+NO0+DoD7n9Xf}{5P>n^guvohqsPl%F4fMfnAxQSP(uu{Uj6kB`` zjlc0J+wBvYjfGFqkSC~w7Oq2bX4_>b3~DyDcZ77 Hk!006;`SC8EWP;mBx z`pp?|aT1ZYOZ@>puP a~I5pid219`cxLP=FnI}6121UQo`rJ z-CuC*SHOinLO%y`X}~Wv1Pq~97T3&~g`){TxWu{_wPZg-jix2FZL<_ndl^ TuxiN?qm<;XUWS lx^sIb4xj`2QYFmEFvvn378Tu)7@(JEtOTgV zy5+*mrMlHJb3C22d#SYlw-o(i@@;7F25|X|9uM@QQZGH |&`!>}OgQ z5Oqe&T8NXfx;m$ig(?~TIqPIsHxG3E-yBC6qMA2>F4`+-K)ZaYU*8tSO@dO< Sjx&F=$ts4DwM25IuLJbNT1fPT#6yh))7z z>Bnnt7X=l5Fr$^Fu2y=kq~ic|?-DJnu-%>jB{~24{xvlvWs%V9SsVS_V)-n<%U#CZ zH%iASxsMzCmn5a3SGGT^Wqm1SM9?}UQ)sUzm}&iSCcFNmPco0Msy)xAb_p0Hwy`D3 zApO?)?d`0%&mlf(^Qw7J8F|gs!-c#y3?q=(21E()pDp;Pn&J|`57vS)wqAoiE4ryF zeHTIXEXvf+Pib-f?u(>wdqKYu3)Riexl;S)&CM>4B2W`P4{Y)b0HaA4pqfn_c{~TL za8=-BnW7<=jDTl<1|%g7D1qRT9@^|-813cyba&djUtxUdY-x`l&$SB8RNuV!z}85C zbe)0y32-B7?g+{gZw-~`M8>dGwa2FZ{{4F!c$8i!rqS6k{6B=fcRbbq|Nn10vd$rU z9+HtQBbmocHkA<>5gC~oA>-iKWF#Rg84=l0Sy7T5%E+E&MI`BWKlS?je&5gU_s8#Y zdH?r%=RBX!$Mf-c-q-DV<1YSERek2 E1B$DrxNa)DK?&!f`?EY zc}Nv^Gfc%W1m%Y|eH}u-JR4Cb19xfh*%rJB)XPI{K_F*<59kB7AKj#;je;ub M{*%HCq>h- pd#^yFUzG2%-31)C!c2D}NBO8iy4De_;+mzJr2MJt1!8z>fF7uUwPDDI zKW|OiNJLx<&U#2O*>PyW6aQm|Imy&kJw_{+pi@I`nbx-GyrZ^*jY!JtI?cI!{X8`$ zRb5m+k?KzkIC_@*US^Z`>qZwN+jbk}ea5T|GU!B4G45`htc8731P>4jq~nUR_sA zN#>=pU2m+O)FL-wf!+4pn?#QuqXNWm@77cv80r|?+M*vnc~Wk~`;?>o?O>j2L>jmJ zES4U;4|McH=qG~=ymkb<=4wGbC-W0rYpXzKHv;lMuUiDI{_*w9bDJMX3Ph|L7Zhf9 z+ZnB`nKuGvjPkfb4%)sk#1J3y7C%=lu~F~-Vk*NaGSp$dBF l8R%uH;3GaLg29e#b^KsO~+qFyzL^}&{gQafdGV +sF2(}Tz%5>KvS~qG}aX?Y4gJe(NhTx56F{L zR1H;0RL`n1|0EtlD^iwTk9Hf;{!^KPD;$YZMs=nMdci`fPewu?Lvc|d{wV3~b;o+| z&Q58_rj%hi_+ujSov-yx`x1jkYM|5MECk=i`#>(I*6O^vhy$PH_phX>nZ*lEePFmU zdEsN3Z%u|(mQ?l&(<^=S+`^SDJ34&ATUO}Cktl-pKy-^CI CZ=fp<`<|LdT1f3i3 8wGT5QGPQ={)DEP;NVR9ZWjzDNq zr!x~J$*&14XEDCkhFbIFz4>~d*?Zra&?k=qwuS@@ j)#VaBtjxAe71@wUW89A=ZP+JXxt!W)Hlai|g{dRy$F6cC)5K0Ki1_Ueb{lF& zDH#`d|8+f6Z%li0_xHNx=a!!#TG>zYa}~*rQ%{S47ZC>F>REfu>VSWK$*V4|*nheH z9Yb3B$99R9s507AXlCbt&5qL3*t<8XFFPF{{p{J3DSlUX>x*?of7{t6{Mb2|;G{G6 z^geZb*DQ6Z#8CBjgbV%I)3dfTg}P_1RDyc1SbmY}|8z34C?_GO_0Q}m=eX+W_w93f zqQZ`L;Lbb#DJikmeY>jL0v5dLPqK-+x!#BkI#F_;UKYa$G=2|tp-l4Fwx&EuY10|4 z6} r}V}u4&^yEMxJ^+J3ohcr0HK*;k~KUUptA=Y6oc?pgn(2W*1;H$v;K z-hFEPm gkxAQ@8 J{hUow>S=Kp8}IXwzzjZw0j>=vQbF5y_Zo;TOr|B#dU(ohj!Y)Aai@4?Uk2 zXbN+|xscBtK99S7bOI)wBCsFsw4SW&NgvL+zX#SP+62q;c8^d0{`KYc0hAh>ycS6l z#aoX&YI>i`wWD|f)*kW255%)d>*yufqe;d-%T9VkeD3e*@g&h_ 9#Kk?Wi%ws>cJyvHPp5Q>LGe35bCg1bnSWchp;3M+CDUd5{{31KtM3 z^b1FhvU(Zl>&yNc7#)Isf%42p*`r);1q2&k_KsBJ=?a2ssE~WJ{*z>tyj;tTEnGJ( zb>}$4Wi?0QzN=d-yz#XmyTgfh`PnbaP_|Lme#F?l9^r9JfMCKsvato_;x029bB-HJ zXE5=dJU2EvkXvMo|5MnFDA7cZN_BQVT5&!)6EuE!C7-@ktYr&RX3Y0KAV%2B>~rHY z -{;4-*rQCF9Ma-ZW$`Lxykn|2mB(8F(aTRf0jx zsWCCi6vRVoqUsbiF3?-9-pzO6@9p|vN zLR{uwX0HYcdt?8)Oq$ z(&5|sDmOQ2+Xv2xC@&Q4>(Y3e&J^A9?_?f|RW!Qzu7?md6wF?Y-9?wyD}77iQqP%| zU(UzZ*=lY)^Vs1mP4_OaC{Inllmqy9)29}7FRt0u^7Hbhf<00Bq@z7a37F9JN$6UY z>#wdp=<%(8kZ69S`su8TnRsuXrn$KAuJ=cSn4agM^2+;@-W$2CB r{%+QD4zvZ4p*bHi%P^bCf`@BR#1BvYfG5@o UHD6s# z5F8i)Ze+1_DC;Z#_L0uw6JW!mD7>1f3WbvePG}&)kmO6+6zVae1ij7 e%pKiEy~qBqS5F5HW__knP%cltEn{N z{_{>=kUtcVRNLuC)aX6>PL31s) G}Ia_^$ITZp~`R{nQ`nG23W~Ur)#Stq!SG zT#F^y5{ ;-pQ! zu6Dj`Uu^&(}r3a|YWlFngBY+i6wl6P;DUp48JdPB8C=_8Ut zGlzTM79vDEhkN;OwX)@t$Nf^@6yjy3<;#7AD%>^z*8euyG(4wZOW| BmGw%Dy@G#i=y~uA%>t4v9hQy5ujvdX;;pp=hrtCZFpkvsM2~Rg-BD&@pSPR zI2LuVckG(UM%}exovZH7;4rZ1hB*>V;EKBmcAv;c w^DmZKPH#QH%i6ZD#jyMUaagee#Y `>v4pgfh>s1}&nHT1Pp&)_$EP>;Aji>{2A;jH;3hM%>7it$47$@Cx6P zc6JsYjZHWbx)kfQx8}=-;WK7ru$|rOy?2DJ-`!-KwSNj{gQv@aqKZvh`j5852zqch z=5Lnx8jAYT=xM*6rl{(40J* nznkf3b*(y*q^jEv#`^)s##X2C_g-LBI`aPUHj8>zEPeJp5MusOmgJ) zF1`UMU}9F{yvEEg+11sp+U`B_C-`ykN#@(a)-7^#&H>?edAF)OH%Zahd3OGjUWY0U z4;TFN>ot@aVVeceGQXs7_>kxpjI7KTb>|M{j_UO%NF z}1Z{-JYJCn%>K~raDit?==&u z7@hNb8ZzU8u%qbc_+n^ve5pui2u;#pG(e9;4p6NP+UJ2~(zBO8vUq>24dC6Kc*C`k zV09?7-MTQ}29;uebE>~jHU@bjErTNZ)M>ew;LS|jPR5fl*ncf=7d?iJ-DPz%Aee z$Dz9Uz<2c^9Dlrm1osS*hAj13S?fvd7ZGHP7Y^l%uKSII9;)r;yE&E1 =OZqIFXd>bW$VcXopd3W zJ@O>bp51Ab2=ZJjeKG{9@hL^sQ+Q68B0qL_^XI{LW+q%%kIcJmj9c8sK-<#g2~D}O zfwon6-dv3#NQev&W4c@)+g=G`#k1@=I}j)meRGunf$sWI#Ef%r3BAF4O2;(8kNI(@ z44E#N#bJZJU*wEwril+l$g2X?gM3dbSc8CqB;01k98Ge|$lRRyrJ&4@;o&>y#GW12 z`mC<{ykYPYs T0x)(G&v;=~(Z#oqDB9^%Y;C$93z5P#CXfzhFN4{(Vkk?7(SD_L+V6EA7 zCtRDL;WKCjjAE+62$AH RyGDGBdfMfbPdti?(bPkjk ^MlyWQER!at2%K0rj9T_Jhq-7SChD>D4XV>R9Cj@L_a)^BE=X=s-| z6 =q2^G{w)R&vaN81j&L(^QO>bAA0v1V$xQo%=f6n;y z?Ep)OYbv`~cKr(HdJml|vv0(N7l*iG%4MwK4lxl45BV5<_}ecCy((VW6)AvnpMTr$ z(_(W19nYTcT2vFJRgg^Ec}c*fpoe}-7)XMo^l_(gyo~z7W(UXJw*}NWZ33>YpF$$+ zDB%ugGVNzZY% f*mLv0_2(b%S*9bnmsSQ-SDoO;D^3LdaE0+$6#OkXP z)O)0_uI&Osr4be^v@`}^^wOdF;g3KEQzyUP++5))6y6^}q7Qd#|DF)DwHi#WNWZY+ zZM5js{&kZa?ohdxN2!lkTkE={N1yR0&RVE7&REzhpX3%pa0O>^B*|5mgd-?Vm7tQe zs>jQ7aQQ2Qyozmx5Omp58&KvmT? YQT*IBUXQwd=8&wo2B50d>!*j%mJe4PlYAVVhZ%!01&PkH3$6t1F+41yyB z+R3$0 T^+nwl zBUrhD$%TcBnhkmvoG0Zxhpy)srsc669+$BF2@<}#O^`ASQ*-w`a$e-M3B 0 z9NUJ&0TMZR*7}bl2L{s~T6SOfQ bI#L~q^F(2HRkl=IRR~o5ZBDQsB3pS#J((fG)8}#$ z$_3jfnzhz#BifPjr=>x7HJCQlJq$vFSVQAw&V2^WG+p%Bh_#O{nm|g(PeS5*;!w#s zcBh$E1!!}2pnZjg6L>LL?m&>;d?(za%5QVp_zNAK=A%15zIyi8t00xkGPkn0cSR7X z&x?(DM4t(sIQtpr&-{B<`X*Q?pV#E74%b#w!vFFXXHNoBexvbcB_4V2vzL(1ck%Ks z1iDH;hbR!z)Tyg2VUt%IQKKB%Bw|>S6niL?>wl43!B{c}hroZ|_{50dAwHzX8gADp z>%}l4m dWhdRxA@R JWjxMRL4V>0KW_wT 6{}4-p;{YbXo;pI0#(liex~aG&q6`iI1#V{IJt$ z0-!G&xo% Jsl zV7_h~eJB0l3Z kl&n27-L*o+&R!+nj-%?Nu18-+c9YDh^@<~(Jl)fN zd!H0JH-F`kCRC4+QH@B|w_*b?`0(cyNs<>YHst3b6CV5>SPHkDT6*P~DoCcd$`M4H zE#DuFJpI(hbhW?;xb07--`C3Ekg>Ajiu#(71s8F7c>1Jb2T_=8YeDoF%`68|81XD| ze)}v^pm-(BLp6v^PI;j%RA5MhCQbtXbDd<1nh3(5KYc%5ECqWOZ7{7b>PmQMu7UJE z*z)v&I$-lTKE}N@+v_f+qht^&w?b7%s1Rdxs&5fSRaSGY!df4;zD0JPFi5fAj<6rU zVM{XJi6SP7){5Yc6`zaPPgP=|^;9wEh0h^LwQ3U`rp`syP%LW*;}i~KQ|ak$3@W`7 zx4vjV&&bPLM;PqX)<%AT7Yx|rM8a=bbQ+#Shy~$!R(CFwhA$9OavfoIRVKGi${=_d zWmcA7XcO(Oy1&^h9x~ZPc7 %%#eS3W`X#3Q>-YP-QQ9wazJjG)Vr4TTL4I;D~Pn0dmqF>yDy~HZ9+zN`JnKh zS;&t|*kmSxEB#wO#cccSGXgx?hSmgV;_7+Yr9*Cd1>e8j#zD2FfHF|hr{4T{^NIB- zINxl~1|Ld{Jo`cbJwyJAx$Xtfan2%=6hJn69t!n2cvvgGTsw8oE~!{=LVjC1< z0e&|)CwxOZ2=F=DzKF-vi=pIaJ=RBWtdtZomJAlmc4!U2`1yJUr&TSu;Eeo|!>?2e z$x-SVySK_3BoriJVK)$+$WDXp^Jnz*Dx|bx{+?JYa9Fm>b3Y~DVZiV@|M(i|(|2xp z;2vN3MT&>o{%xdV@?zCNV5$4qGGZk^_*bR=%VqpFUXaG?4kh*aXkX*2bHWh1KM!5? z;t7R6$}Iz{?({ZUBGD#uZr~(_cjaLI{xA^AG_<&04uBwevHV$xMk;@Q0f<-zU|48< z^puy++Q@L}ezgUgIwAlCz*F*I=ndOCHSs^Lz8|E=XR6p^Z3I!wYXMobt(LMe)dX zJKvxgx<4{C+f8@&-NARZ;Uw^j*AY?XG+>t)4|$H!hc}$(Z|ex6=|ysVh613odI6ID z0`QqIG#!~J-Iw_Ldn^Y^`T>k;%q*!!crh^ig0 i2_ zGFr~!L_Ziq#!Ir`XsQ`bY%615+F5)*Riomw`uKjv38~U y@Y4 zyDM{yyo{c->~bo9j+T{I0lHKb8) !)8 zpk0;YCtJ6zdPQ#1wj|%V@0}s1K7N75z_+mrl4GCB+u&)wNR#A;ORb3J!tm$#2!Z+K z85oqlQjUvZpXn<#lk%{4u)nUy|DAZqR6)Q8_p0h7_79~9OUpjQsaOzWC>^t^_HsP zZ5s-&Df_=ZuLGMg|9S^x=PR&fE()q*>w&rlo|s@gT><)uzfpuJ1jP7Ko{)f(u88IB zBKN7o;VRqc!P#hoLXEf#q3!3k9b|YyA;(~~hF)6$#9k{OWWSh_v9x?Wg4r{7eR4uH z$#&;c)6!gC)4t2L2bvwNVG;0g{s99#<6@}knj2g|T9bp`eoCTJAft$N3uFjx3?gP# z$z4g0w1W?KpMXNu_{*!`tBvzZgAVttG$$HvJ%R4{wR8pw&{A&H+CS~kpxL(l=&bXV z;vTIBXL4^iPH{e;+N|(zv<&-1SexYrMcW)4i{H_slBej4bsuQ@uAMZFAp1~iUUM5J z6j2bbexhbL#moI!BAse@iCeTqIKI(+i)bJ6f6G4}|27==mV8eR$XM?YX3CQrxFFeH z9B7l6XNGOPMTq%(9RFQ>__ wX{`ukGmnJ+-O*eAj%C+D{cLw4wYtA6~YF-v;J?J>h2W9VDMINL-+v`8a z&0e~pd*_hCc =@e{Z8|8E-MB z1e^hUz)a=E9rb7qnG7gyEN^I#zp t8V-45Kx5#^j;7Ui8ZVY}?~Ih-2c6XLGC1ZR3<8RZYQL8j7teJ^HJ0)clSG{3 z=`4uS3I%UdG6^|O^+aVf$#~CJG?eL6t^H?74=27HYl6D7IE T7^ U59VnP;s2d>$EC5U%MUwq$l87gp}4Vo^-oL8kqGzHC7I^8 z#~?Qu@x#sVu(>xt;|jk-J?Alu7!XU^#h~i|m;un=V~vX$!bXLPuyrs0-{>ePaV3=c zZ7SW&G2Gt>PFG=-zIiW}I3G!UKre`7L3H3~iW^AjFgUhKB>r2u(#3YmbQV_1#0?v_ z1!9-d@8PICw~6|nxNNg+P}^Ry(@qWwT?sS9kJ5f@2;shYP*^H_n}<)GZkbXd@>VcR z9$yI-XW+5^w>Eh#+}F`?pt#hHl7Ar&KVVS|td%_Oj%QK(U+^c*;1iS&1<(-odH3Bm z(Mr?J%Mh6u1Tx^aC1#eRn3K6bqOM`>CrGH&5<4b}kvo3uzs&YWYMo8ACKHT@r|_u4 z;wPU-bXxqOR#{f+O>~QxOY}Dc2p_enHQl-OGY9Du+vpZOn~*xp8tp5n&OunvNmj~# z?|Ts=h7M0}%7-`r!}14?!v76$Dh_Kq!%jj}{02^f4it*PX|A(ywVhJ-j08*;zP||` zcszTXenp|$f-dSfjg$=q!kKwj