From 9e69bff1a892e79e120630f5389f93c4a1202524 Mon Sep 17 00:00:00 2001 From: Xuanlei Zhao <43881818+oahzxl@users.noreply.github.com> Date: Tue, 10 Dec 2024 23:25:44 +0800 Subject: [PATCH] [polish] polish train doc and code (#257) * update * bench * polish scripts --- README.md | 2 +- assets/example_data/art-museum.mp4 | Bin 590014 -> 0 bytes assets/example_data/demo.csv | 54 ------------------ assets/example_data/demo_preprocess.csv | 19 ------ assets/example_data/lagos.mp4 | Bin 653438 -> 0 bytes assets/example_data/man-on-the-cloud.mp4 | Bin 568678 -> 0 bytes docs/dcp.md | 3 + examples/training/open_sora/benchmark.sh | 10 ++-- examples/training/open_sora/preprocess.py | 2 +- examples/training/open_sora/train.py | 5 +- examples/training/open_sora/train.sh | 11 ++++ requirements.txt | 2 +- tests/test_sampler.py | 11 +--- videosys/core/dcp/profiler.py | 14 ++--- videosys/models/modules/attentions.py | 4 +- .../transformers/open_sora_transformer_3d.py | 4 +- .../training/datasets/open_sora/sampler.py | 45 +++++++++------ 17 files changed, 66 insertions(+), 120 deletions(-) delete mode 100644 assets/example_data/art-museum.mp4 delete mode 100644 assets/example_data/demo_preprocess.csv delete mode 100644 assets/example_data/lagos.mp4 delete mode 100644 assets/example_data/man-on-the-cloud.mp4 create mode 100644 examples/training/open_sora/train.sh diff --git a/README.md b/README.md index c9e8ce88..ab309cc9 100644 --- a/README.md +++ b/README.md @@ -118,7 +118,7 @@ You can also find easy demo with HuggingFace Space
-Data-Centric Parallel (DCP) is a simple but effective approach to accelerate distributed training of any-size videos. Unlike previous methods that fix training settings, DCP dyanmically adjusts parallelism and other configs driven by incoming data during runtime. This method significantly reduces communication overhead and computational inefficiencies, achieving up to 2.1x speedup. As a ease-of-use method, DCP can enpower any video models and parallel methods with minimal code changes. +Data-Centric Parallel (DCP) is a simple but effective approach to accelerate distributed training of variable sequences. Unlike previous methods that fix training settings, DCP dyanmically adjusts parallelism and other configs driven by incoming data during runtime, achieving up to 2.1x speedup. As a ease-of-use method, DCP can enpower any video models and parallel methods with minimal code changes. See its details [here](./docs/dcp.md). diff --git a/assets/example_data/art-museum.mp4 b/assets/example_data/art-museum.mp4 deleted file mode 100644 index c34ae8012f58e4b784312222396e17ccaf30ce0b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 590014 zcmV(~K+nGb001Cnba`-Tb8l?`00IDMb8l^Fb8j+Xc4IMZa5OOh000PPa%E)z2=fMQ zWMOmw000jsLI57CKu{O_vru3VU?2bh00bz`Jb(ZI03HSf8b?-2++0jUKa}sq5j@dD zr~&`X%>M!a1B;!2002bLCAc5~5C8vyAtHbej$@7Bx+D*U$_l(b21kX;2aCO4ue?Ko zJ?}R@BtE~zfA1``A{5Sg*VmX|Ro1IjyaAUvG!86Ae;)`Z@qo?lAQ18G~e(s4%}MFwJt5M@nBjqcqD@CmYLXt*+eX@4=6 zArn8U>Wm@R&jTC;L_FxxE>^mIzfY(39H*)s2+U6P|FZ~vnB6hyj?v8mV|~Bm&5MoX zMQa}pgK;cgzf_4ZBLS_M8hNucNh{#u5~*pYCg!o@!HpCQIF) zK)_vCEYzI=`&62U1lscp>a-O?o74T_a(N@7D5^}wUK^6`Hz6V>2@qyrN&fGI6{bw# zyY|>4>^~jy?YH`wz2*ycCryRvywLlpfan4*;ZWTBNSLj$e)4=wunrrU;?}0@hwMQ3 zLH^2GsXFD?m%Rzv?vlb9%*(;CjUly?$m~5xecb|yN=p-ezTf^=&pm8mdM$mvwf3yh ztym%p>sY;BIl|Td*XhHdO+`wzSrlLiYtd5|uCYGQ+Gwm6dYO>a$ZhbZsw_7*A~VEa zNzCpbZU;giOs|^aem`oinbFjM*c+5|4iHDOYh<9V$wp@?EI_0%LG %IBn+RXHnMwWj *FlF81M~voXRYuQ;0C3dR$VBx2$F+mZpn{NM{I0c_Li@fgHX}wM{8t(TDWhfj zfmZ8|=!NtqH_NH#@fRoZgn@6>4f~33{g^$Oqy;{`Z-F$Neq4*q*Q@b9t2#UJISC6p zs{_~EX{w^o0g3$pk3E}9uh$Hnb=_!EW7Z7~zJ|$M3DAtS{TM Ay<>;ov#T^e2z(*z!ir{N!4Y&KRIz0b3i!0RW}V7{J=E(^yJ^Zt?LjX{ zaEo|Y@ReTiGtaNA#UZMyDhnH=R%RPV5NbP}lQr>yF&g=87iaHWZot9kb6e?;lCS(5 zy=M1J8<{?bG;V>~wMI&|{|{TW>ds2IokH3{pa&Tk;=cop!ODw <5d|0wZBBK(?xvl+TV0&U#8qlj+M!~;_jmGb16E)OCa&iEz^i!S@duiV z+xcvNz+{lMilN0ujc71w(-z{reS5n51F_dUh0JkOu8teQ#&tZy$LO>Wv)qRPwGun> zc$?IaZndb_=x)&1&pVI!!vFtKQc q8}NI57#rq8o1f;d >+h2uAL82>4WzGIdsmpB)zo-kE5l2|wi74at`nbeKr zN$3&_-BN!w7gmxnXaRnOpBN))2q>W5$Knk|&!5+hd$Y $*i!tI;`a8gpF1iIa2y9}sM_5{wFGbLx0mrh`4mn5wgJRBT2!pLvd#uS zLiNo|ywBW!$XHtX-r`kOwX5;v58{H`Uh}U-Vg5%yeMhVZQ(H}c;Z+rYkbeLFyy{P7 zN}7g+AWDNK$)Z#Y$0Ly>g%x>mv>&s5rE6Py>o=PeN+QauOM^&ArMx7%sAavwWb=(L z9lnKV&RhXy9NRp8@DuBwa0_SD3n}CJC(u2`**bl{VtO=~o9oxKR01x>jCV95=+pM^ z<8u-Er2Shw;I}UoN3nesGoXEV?!p>>?}@sVU;WlRZ(l>ecY0(yw8J_a7uUbS%z!0| z>Ia+8h4*Q-A9UR}yYKk7NG{QD)_HS*j!Uh!WJ{*w8Fj2mLP}Pgpq8?loGK<`4VxSB zjt~o)&b1Kh)N<>^YUEGd1S1{R>Lk5Ki@X7p|%fuHwU|c*UvLJTqxMl?Cg7creSb zAL?1VCE$=2QX;mUzp}(%gyy7{pn4nwPh^Na=)wAAzro*ES8N@{Igvl2$nGzF Y67im?ysGBOhe`kQm&x7MhREZ!)Q6aL3NC2Xl(xCgh@6auO%UH0!=M)n-T^ zr-cT9^7!M5T50}NA*nv%G`J+4Gm@-cQeHIeh&cW$=79BVTZ-C35hcu2>5*S|Oog_v z8a5P&hrN7?rZ1qu8HpG5o@PwCYL{fQAj<)`A{xg #aJwn d!=n zwjHx*wV`k3FAV7MxWODNva 5dPoPc=0e=yw09lO>3qN=^v+m^mCxeM` z8p_L-9d4mm$!e*DFcG@`KPZKq0Mu0?pF#edrgyd~Rq=ZMqXkf$BT*8e{xl%#0My~Y z06Jnl2ZTDVjbAnY^az%keqJ14acfMDfBSvCbyh#swXRk<`fYg_LTd=ixw8|ndwQz` zn_!AbO$>}PnUiUsSW@2eL|ok$em4%wX;t?wBeiv)Z$yY)=bW%p2zu|8=ogvk9C-st z`kX!Ta8Ltw7sMj@Pxt)C>8gNH1S#kG`!j2+t$+IwW#wzC^;+vJC#ZQVpTll?xvc ze>0EQqwn?F1qj-9&- b!kD;noYxQK_&kN`Z1xeMm^qY+!)ZFNaq~)A}6DU871%oj+XH! zxB+aI-e1{E&rr3m?%c(VW`> 1s}ObiO*!Hz_fsv+Yudl5Hl z0s}Z)t^`j$1JN31Te&s8GCTLZ-@{y8^NsNj_htuad%VX{u$Ix++aCG5PyPrSsoies zPD5}wLeYbxRo?2d_Fu%3jLqw->tp)(dL@o09%4#(?K@Wy9&;Jhv$IKs_J#ibRwCl& zTWx7qP91cU}N~p6MulQ@>-E6?g7(9qD*2%~ldA6+BF|O^N>d?M?%*i_!vv9V{$I z8*m!#rxk!DuTx$ou@Oe-6F11u>&;K^)0%}XY*2YfJ?tfT=CJ}P2 s-tB_Qg5>`kC9=rYZhguAJstK<%n15FMM->#EFzA zsY3AV$=vz;VeJ|c(gO6^Jq_d?>|%8*P(%zdQhu9!-iKskUQE*X*nwmGEO>9OiML(n z_=xX*5;{@x|F4HswMh5A*VF`yOOH>^b)eO?DETBCr|o^!wfJEt)wiyHb#hgaGST78 ze39>xztT!QeRugGjrU(=eo? rks0F`p1cBstKH#i@q|Jx?J}850|H zw8y4$9BBgho_#wl@#b8rq)oT=0S2g4BC=H9SoR~UQd}{%HF@(816-eO5r%Rd#wrbS zv+Rg5kQEs;)wbLJ?H{r1AM#}4L5{nHIv)7v^LiLA^^`B~qxOSrv`*3sRE(1d ?&5;;#q)x6(@vpTzu5CJN8MX*`Q5 z-_D~Q;I7GOEiyK6RYS!^6+%p)YlSEO-u-;P!I@sVp$e#wdkAUcQjAiL4nJMo1TEda z^{-t0?)xh(37T32t)&Eih}#(OXK7BA^p=$tm=h^pRPid<*7ybh!XCOn?V2#!N~84um)=3RSE{O;CnY|{goJ^Q zSmPhxrT>31hov@4u)JQd2V?mh363oYBjy)OECH1{bROoP63~pbuV3^Kz2!qoq)eV4 zHX!~n`u6^Q9bxdS5N _eFEhUX =l>MguBk$y9!qE4ACv55PG BQs1^>$o0rZXH(3Ah_M%zAw;f&Fvb?9`f-6<|7fmJz@hp zwH}52^N0V~-;L5rqP>2)0Zn>cm+*!-L+zMumw0n5HAl~<^L$tm8!}MJM0u)LTaL5) z+*WGpZd;JOA%ay^H|93X)d3pDKy5`Lv9^H{h+XjAObrtxemy$~sx4N^G5l|m#3SOH zt{~c;<4d`+r7``lbzx|32-U`nwHmB%J}EIOC#s(5aV6Ex?%eJzHH>Mknp-*tf{ z)q$LHlq;NC6LGVoTc!_~ZSsRQm|B!mLuh_p4@3|?G5UYiM&$XsxTBK^H`K~)?c9#u z{!YIlrOPr8p!)-sl{LQOYTx*joZVxMf5BDb1QVx!)xP~{a+57+o1qU=Pdlcc#CRGc zT?ORtzzRB?$=|dd;Z?M88yA!%l4rT2eEaqK#>XRS$Mq1u!l9E+9i;wq{eS0(%Z;=B zjaR%Z0r#j-OebZGb30L&XKPfqi8DYD(%DXDPx1e^+BAN!d%LT+1qaOPm08XE8AKgK zbD)#YU-187!|8zY3FUynMws*PqN3C*eS6@*^l<2e`XNSwp?jdhxyX0bEx%s?0%jp$ zM~b}#E1Yy&w~^nhpuV5308Y{Ajw8aSIDwXgq`&apbfc)bq&XIt?p2Ou_rWw0H1|?U zQl}&ocoDM{82YbK1N9nG2pZ9Ev HQ@chl1b0#-Li~S8WziMreQQ2a2BQBoXdej3^ z9(8UL`gl#R?H4>2W9Iyz!}+e%u|-P}jC3P@EVFP9`iT)8S}w)4>rjHyy7JH)Z3&;c zors#Y+=OjBJI$Y%RONH>;)r{*p!Fmb94wK`Qtxa3JAKPL9O`NU2A)5A0?=`)T%hy& z*?j08+-yd(s+&(mh{~#_t*#Wy mT&L0{dnks)y>MQAQ;%Sf_&fYd`k(&xJ5Y zXgE`?U`+D`YOqcY%nWRo>k~ble;yO>M=Yp|A7-~k&!qWK2wt^r qLkNGY0#BC?&*nKD zQa3ayFderCZtdxPq7VPO{q#TyJ513M6#$3kFqdn8i-F0jfVz8ZA*h4-&9<{;R&`2C zD@<0~{@*STaysz(xWxb1y$`jE_k=@Y3{hM%jm=om`vVkuTX*mOCjFmsoyvI$S(DzM zl7pk@4djRP*5kbapJd%nx)!Z(kV?3xGzphT4)F7CUruk&)zmnuMp|4VCimvA_8N!R zJa}fiaO|sJEjs5g3nK@Tai-6rV`|K$Rk4<5Xh)tNQc`AYfS(Y@^gB#wW_eLVucpOn zD=$}D2mkI-WI9f9z$~=oOo7(&52J!zQ;Y^UYg^fT;ve)Ty_N$vP#TRblc`(7>e)~i zIKX2Eb}l(wo#d$%;r`W3T$Zoe_j>KK|MacYaq)z}8ro=$P|RAn*dnwz+9)h1Vn4K1 z{RgKnyXkxPuErLe2MuavFt>!wVnU?Ops&Kz2!%es@9#H(yDI5wbBW@1WD2Sis|hKQ zgc$KuW$r$DASUZ-e+=_LYp>dK`HXJ*N=y1z{nrK$mpc`)`4{skNq?y3K`-{sLTa+8 zyDgS201*r&G;Hfw-bQL>)h%EpIL38^YOZ atQairi_kz)Gm6+FGJSH{X}YGB)0louq0D=SWRzcU~hk zFZsg|_c;{iTC4i5Rv7-kM%R4)*XAw)(%vzAePH~(1;jxqnw3*P3?2LF{}nCvVicME zK`QyyakC8j`i9Wu93G$lT?GIMRhg=565YFjNd?fd$kq|Kpb?#1vuq -fO^ zqE4kU`tqA4s%lemKO!$Z<3rJ@n?GOw`xty kPFCf~hqPxLy8dwo7I;A##xaUw4SsVpzfp34!L)E)KMQrp3- zq(2;@QXh 9;UKDTL^sxlGU1JvZ=#Y?;2nKX!-9MkO#W;z?5Bx$aqe56 zal2Fskn>NQ$w-5R6lAWk s%SSGT~_`K6EZ!)Q(9*|qTc_OSyHfU4=I zNdCP+VVV& a)`B mWr~lb6JHfA-e69)`1_w^n=%ll- zCL2Pt0p)y?2=0wjvYJ2t@Mb!$MGgBN`#c^g>|`yN2mIMIY98Ky3^uf_5ddzwWAv;d za&12ne^}&m-W4JWfPJwMN!7i5F>8embWaxcExefn!GrER%j<@9iO*A=eaNvjDx>M2 z-|uf2m!z8d>&0~*qr2|$%Orwcx$W=Zj0QHF>E3@V*t3ir5Xclxkr#X24}C*L=0O5i z3==z0#M!is`zO86d9NMo(*o;DxpFqXCASEb5y3Cylp&3&X?4zj{XT*Ny%$7d&aO6? z`XI`)f>bFw`@iVu-eX3BCQ Lxm>R1{fBmv{LaFz*`B?Fwh9tB?A?Rbb zhT$}mUYa#2_;}>j+yA;CQ{m)C@59-g+LyP6HP<&C8Ic*4UB@i;S~_W6dy|%=I%;5l zrPw+rypxk#63>)L?QXirIHy+*E+{Vs`){VXBt0?qsFo#(jq}tJ4VPQy*L4eaH*9^h z9(9(r>|ThzOn;8X$fE7SM j|S7Nzg=6lfKE#y??t z^Fiea*9+eCWLygl>)&tdxTuHbj%~(ozt#Hx@V7J;i3=wSn4@=QsR34;Fd=`pU8~`w z659Z4Acmbyo|xo7J976w_ z8W4EEJhE##9XVg?34C@v* zx9~8+9{qcVQgM%0W+1eFvQf_4e}G@NuCV=F_BuoppV&s#2XdCTKWfbbidZsJzownV zwH5Upc!V{t*kV5E8d~0)tt~Lq6`38VeTWSzeMDxqD$+~psPV6< UI&iq@pLMxoLyvZ5+& zx2Bv#jpnt)bfy>Wi{(Z~^^L7_|6snSI&trlWh0rz&r0}Zs b6=*UYA;r7CjnHdu9bcjNpe~Ct;aB-d5_Qh{%~KkaJCZ- z{hKsx4w{U3kY}fl+_MR~vdPaV ZR)~!ke#9<_FBzukaA|%K&vze4BEh{`WD{g;dAVpETdEDO1v?#&@*~ zmoxuYd3QjbuCFFmuMY};AX6BKXEd}kH(1c $U3>q8INZgm@Zz5~)SxWf6mtJJEr22V0-}ZQm f5scV9HGckVrFuQVRyuFDRA)f@cgHzIO5 zw!dHHX7U(0458UrRWHC6@Lt9zmJ|AaM_jgsKNDN^>9vN&9n@caz!}Yeh?Q=w3l@t! zIY2`-HTM4>{IW?SNK2j&ie!4Y?K(MGpZ^{f9SIY=;o`6;HahFy^n#8M{yf6YQg Mkmuc4VWuYEZeG8w%^^ o NG*YQgB&v6k=akRr~PzciP^!^)~1T6HlosJUi!M>|WJKWPRhjl=o z#s8jHc5i5Iv5WevOJ*%HArMSG6 s%@BmFi1i=c}Vq+Anv z=MOKWc6MsklIN;BrXK+@*oaqYj4&i+bAy2P#)kOb42`sZ-jRxb@KRL=O)g~n2Y!_K z!$8E=XqDwZLO^+vVF4830hnRgHNLJ>z*WtX7VqC?VIG=!6#w|9pl_W$Fym5R>D1I= zcg3970S+Vkd2RgWxU=Q$k4KLZ6>xVHlGaz@@5Urvl!EkFWQ&d+9l8S5<9$xG#? O< z=Iaz)B9C^ZiE5OuwkK>K?okoB>w?f|`C2tmi`~K&?%d@=81>Na+f*DJzp7i`1!y=J z>D9!D6y>ATec3Y(U7gD6b IGv`A6 zy5tr1Mr5jmTVtrDCT|{9W40!eBbGk;d?D2f@mlk7Jg18dQRf1Gy}ub-j#vP9le*DN z_jJn(DESCzkCTgWsr!6ajq8slH}t0L%$X<~lX+aGu(Oox6nf_5L@iIxLGqaq&Y!pJ zBs-v8h243(bjke5nQlKC%Os|glVMT(*pTI`s-dG^G*X?v#IdiLZQ%!lQV#ylrMQ-H zrbg{Jbew5i)&sizKQlCDZh%3{3&}VrnHt6+L46>fz`m>h%kCyL+X{O0D;{(QnxxHf zJf#7oN&xY?K~+dEMci6>^L;ep9-7^RBFT9?iQ*T;1NEleHfAoL2t{I8{P5ZovZY_L z-z}Y_$*>{#?htgM)AUA?u5admYV7n?$!>oFUqDr`#p210cAt&9KOY&r+R6CJhKk?O zsBS|HrcB4XLfqf}pX|T+R1r$rU-vJTRDIsYFLcl#he#pj1B_>wx7i!_4Ec=$Mz1RI zrpKDtc3+(lF5l4HE^aJ}BddTzrRDSX0TBV1RkRzd SI9A)PccfB z^K+^QfBOhFKdrX={qmB#G7w&$|NT(YB`qIOF6bHTeU&m0dueU|?(PfW@R)WRK$KY$ z4Fk1H8Ql~=`p1B4@}n}v>usgW3o2QpRJ8@bLN`q`?YI9G{R{f%?g#gG3?-7m%D> y6M}T$ez1O>XNB^I0ih$UdL4$GiBjsjA;y z `t g3|~p%W8^_N65`4Zs=oD$N}?&{XMzSMs~+`j$`Q z-0pjTI6H^+3|yyRN6}Nff(bjFc4bo^!GAyteLBq4sfT~}3KQ1KaVHRaz+rv#ztuan z(>%$=cOUE}D9u&4`u6;4&SC7GQg=06M*H{cNu{{~^-Xk-=6z2N*&n~amg-}6W?i*; z0&P=cw(q-#WXenKtPw0|aQ*?7oCIY(KN=U%cgE2EvVunQtk6TddiM-OVK9Jvt) _`HBJ%J)AC?CnSQ;#p73#lhVcR}SKVK@0^TFaU>m10z?XMX`{}JQ9Y+TY zp}r35;(5Frex`T4{{U8*i!1QqW6}2$!`Y#EUzCk!7b1gteZSWycst2^yWRppGDiF< z&1=OVT &XF#9-w}^3%&Ylw zEkEGzca 3-h|E+9p3 zxUSjVJ)7+n8Gqm(AelSm?7jB<-}tG_AmF+$etj@0w?_KEspxg8S0AEKNYcVCa1yhl z@zwd>1Jm#f1SiV_%Tn_GZ$FlP_^$i+#H#eF)EB?v95n=l!kVOKzDo9lvpnNKFhK49 zU2u5g(AnQG`IP}Ny$rJ>_5A;*-DCb87cSE+lKt{T9-`FI&c6M|IRBv32dbW*mTZ5_ z_tWj?RHS4_O-s(bN~Pt`%CG-_$KP=IQ}>aGLa#S#--yFmb$vZhP5YiZWiGXOx_=G- zF@HDn?|wXm;6M&wx79nnwwwbT5m_-&^>x8XTz}*XU>loQATOojHPCsnMqzEg$J)LD z|D$ha#Q5XMX2##{M0J1t_jDcLBo?OpCd@WB*NtBa<2 #Jvld-KbR#W4@O&Np!cPEgY?FQ*GX_WN!0DhU@-UVZ zojCO`bLG$dDOPFQ{oXGBwue9!reuxy+!=#ozgUaH2b4XH0 wHLQsdmE)qZ9_kAXn8L%oy6_3Ez{k^u^m$*~Os0PNLM$&H6 zTId!2%qSQXO|5nG4wWNwQ|{I~Vy+ssUYT+At!y8C$9=# 5<)Z@;=)eIRC1 z7nGO9_208j5b)Z)XU(pi-KUOFMTQ5Ef92hTpV)YCW|3BEbys)dyONJ^&;t@~(_KBb z_Rqhq@cIPZ1MK}_9Qx^YWFVH;SM&XwTX6w@1qds(Rt-u@=eiF@?#<%{HwltjP(?LX zntis@PS<_kAFo>mjT)|vDp_c`jYq1lR*t%`e5 1)6&ePDH+^y!LvpZ;GupU>~`A US1`A zFB7jqxWE7S5)P^6-~RpGhkIdRwKvWv=|e9YYD*{Pl#Y6T|GSOegRljeh9xFo<+Ds* zg4;O{La{to;vY)q?x8IRrTcCB?(Q f$Xk~Fy;0M)jt>)cWH;bB{TqE8WBHG+#l6@V;;v91J0f1wEE}i-6 ztG!S&?+ged3|E`f W2vb9%ahTAXOx3M(fb3G9AYx;6W3E!`F@SLl|^GdmfAskW?~nNyK3LA zW$Sks%A#Aikx)9-dNWaDFG>H9#r`+!*NUrMqLB)?kSsRe{jYp|DhfVm6J55gdM!+< z-n#wA>4c= jOOQ`g>LI6)C6xF#7uIe|Lnpwi@y6(rdOj5OwH2y}QW8E?086 zt>)#@djJ2r4DaA1TAT5(u*uEyoBzeY9zchFQObs11oACV5$t#z<`gX$c77$HwWgli zfA<%6c%|RK6*CObufbKeE3d$M6^OZCn_{mGiqhh1>ZlORyT0x& JsI ukRo zp)&V<4l>;@dk|M|VO}}EsPkV&VqX35yl=O^-qspQ&CoxP3?KCUQK~&zkF $r!P zE5C}iyQN$6Qo3F9QEOPBNInclzP|4spog<~>7c2Q%z9+j(vNn3mvG}f+IPIS@PD{L z!95yDUhlh0;1&@dsJm9*x(E1CRlhxnOw>Xk5{rHBz3p||3vdMRPk*oTSDv}WQZ+iI zfhS=)U%pK7h_yX+DYxk9yw?7q6$yTDyIM(Fr5(2R_>JEk?;4IWVI6bjDYB2tiTaEI zMQz1 VQVXk6-X}8 =r_OWy!jF}7FXOCGzyRl=lkV9Rwb zUZxw+>JK<>yk75r$etd~DGm6g6tD>el;4DiWVPeiZ*@M}s8u%h_WE~y|LQ45uZppr zM|lx37`D&6GhHiDM$6X}*doxGUM1*R@A{{?Tt)uUuUg_djlb{yKY8_c%0Wvtl!&T@ z6gjW|^vr76jYZMw2pq3-|Il3fKjZx_On;@C-keD9?;r2#*67YbVD%7!GRx;9n1VHz zygmSEqo+XjlJj-nQGOM6fq|T?zR0(Ee|y4;2={r~;%}$^=4y_yI(nQE>%1d^G1ja5 zf2Hab;eom!P2zZ5wFo#Ew0%jbZS5OVOG~#OzlIytBw~5*O8@Wgw YPr_5?FN})UCqrR{NK-& z{~Fe<_GKX25Z$|Sc@BQ~ A&sQc(`Ch*H%Xx;aQGeAG=N z+_Yv3zkGf()!E*SC%+5$ha>iN?`o4r-Z$}a0Or~C&6`ix?-=eRbg$YWE^ABmjK7s> z-$A8&KG%O5|G Hq32J^QDF}0RYID4^HS^fvyyr8{X8e8HWwa zOrAS-`?$X2z1*Axk6Z9%Qr>EX9sn9XSsM+7dZ_Z%Kh2u<{_g&_yNCkOkrUSQ)O)L# zV;3EjYj}%9U#6b!JHOwq*;XfleEwYZ+MN+^kN4@z{ N$_K=gJ-cYak@utAFcN@&bPT&_Tn3 z7GF!-{9FR`%p&i7X2Vl|rHG(F9~TG6_c0f=T3poP_yzaB!YW+UCz!O(m%HzHb%a#5 zY|_$qYP _Ekq3NB^=IjQ!e8;iU2FT`{vV0bzjnAs0)W@B z>1lr703NmF$R6oOs7vW~+ik!6iKhSkb6 jVEe-BeBqNjHf?5$h(W#5zLBtuQN>t&|k8Tt+tAP8SK45OWDB z!q^t2VYZz*RE!8Sx7kVNvSAs!Up~Kmf4@I||LwD9uf1OTy!JfL`}Vv))F%MNXJ&9P zd!~2vwDbK_Sqqat;$w|AfX=+UO1F!@bo&G|6c^MYmPq+b{5MvfpC? z_=~)=Mi(;sad2%a{RfhQOIrAJ#v_WXC?49w5O(Rwu4KTUBp=vauG6B?s-fk(=LPCx zTR2C5O0z!QbzZvq>)u=XNXjVX80+lmBu3xFhs;Nur*EPXK4gEWxez+$Ua=SD>4`Cd zkZJ|h{Qcj@nsaSoDs*U=QwaWLw+#b3;6t-_zUM!kCA%;IH@d(UR}RRBmB9 YE^CgfL)UZwG&6od-2A2G{^??n+=#S^2p0O7b1ZOj;u4iOX7rRaD{@F|s?^234 z+(r)G3q(Ux7_y%bd(+T)-MT1_3a2>(@9Xv&ka08MyHc5@VMl^aD4qcdqwkIHf*s)x zOzP9yX8pR0)t^>oV})F)KsWBbUN5YVO9hly>al7rcISzw12~M3u{Zv~>jpqI5?#CW zdFc#Vh!Opic3F5d4NHzB6@9@h-hQ|WJzNINfBDZLWf?cGNWo>G5^1Q{+cJCPQu^BP zL?RLZW_ ^JGUmBs^XLwR1{273?UDgCN0#*6-u&Qb!#Mqryz ziyjCzABYUe`n~e4b55=!`O68S$SLLTQu`u~^Vwy>tl!f+zL2Gej=Q+UKa(t9U3SL$ zO9wcrKkry|dI~i5Bs5)F(Jxf~V HU;h+y14BT~9dD0gzO2 yx{I>sBly7duiO3FVUx@1msE zhh?8&c88Tq5yu?v1BzA1GZJAYFk{FeKx#H8WQiHyIe*OGIq~k;k)}UZHfOdDOWPK! z&vu71mA|DWr5y5nZ9ig{gjGiI4dv(QV)0*hASNren50XnBw2e{B=L~Zo~c7E-%o&G zYwrv$wBA2j7EmPohlSD!(pwOoBYIH?0}mB~HmBNY|GqZTn+5##8_DGxlV2h2+ e`+@#nd}rcB%yjh`~Eq?dJpWoL}ZLo7A?uW#_!c zH{E{GyF(5Baq<)}3rGkM2=FWrg%B_SmA+v4Md$j-Z;$+IZYq1SLgsb=5>vWxMMN&~ zUp_FmSwS`_LIytive7AWmyOQMO#pB%iPe}^o?Flq3m6Aat<+oI%7)|aZN~L_(i|t= zOjjv&Ar47A;Sx^fNgck{RvP}t@7h4BOy{piK1ltd2N+gx8FfgfD`}_hX^vE$QQdV? zFK*OQ@Lw8(MPB+eRmo5u9j^3b%;C~Desq!u2W Na#!rZ%b9(xvJ;}k^}9@XKkU~en9vx?|9<=J_j0ozt5!F8$9c6VO cD>u(l@gz{-^WLVtGBBUv4LDzr$FB1%lG#s5abd>&QvWeJdYZ zo4h_Q)R#?zRnGgdZ4mNkX^n<+zS2Gn*7(g92CQE~1HF~H%eIOyz{`6XiIZ#RRwJ|O zSTv|&=bO58J7eCiqXjI>!;uW{KQ6RRu;(SMmRy5>#|pnR{wHbO#g<<+#`=UKfb#V= zkS;qJ1Z@V*Lk*P8bRMh6=w`rR_XsMwLKF@_kfiW>q{HP2Yj?aps@PORuoXD9-MlfP z8rQ@C#`DqM9T6(di=`Sc%MDsrf@*dG8P`I17>{nog6hSHPMJCYN>YXdDh2*cqim~) z6b?cS5s3^G?I|^ADpK{F$`cqeVa>D@4mK3ofsOXi EQX|WHMJcMpr&zn zQaATI>T^7lAwHjloSGz&B6j@JHrv>nO{~>9@e}}-a7(Zn2#87UCILcCbdZ!igJPU4 z>F-tqkI-N(p>{{hO1T6w>o#R^12kst5u}vUS6%mfg5syiU>GE^8xjs=2FF9$$qrbG zLo;gY8Mjc ;DcNnxB7ggR_+sB^iTu#h$u#q x)FM0 zp#7>^qQt64aK4`$7_5zcPIkUgjIZb&MuFJQRF^7sShD9(aSud5osoPip(~xM>)d zeDSk#%NHqGWEfVP?%+~>o@TLU{FdQX#A$u97cvX_xOP|I4J0l@f2c0d3iqZ0-P52D z3_@v+)n{0m9H~Y4HFjHRn$0mA1H5ALSQ *Lh=GOT z@-I;sNFPBUPtoG-nQwD4y?<7&K$g-LC~YkZc*rco?jXOSaB)0Z$owuS9$sSl5@Tk^ z)ykabO=X1A2>%Esk0ywjYb@)r$Pe+oiu){Uu&z1merN3T-dJm|yottbHHwcm&xCuG zS%9|M=$qNkKi0IQX%CniZr+mzFs#Ifm*Vl#E-?NWLef2C3|~qHcuH{>oS^b-H;ggZ z1Z)420xiz=erfg@mQk8>jLfH8z~-Iw!lkv*+DFChiRY zpH@nb`b#3pJ#m;QwY|%uS2n!S7cCO&yhYtigDXiL%G;&b$L=5B39rqS6og7lJqz>~ zIa?k5aY4eozQq+MFtdW-=bolWj)vLKpiXhZE#-*D=xr%a?=3z$Hzyo-4U2jDu;E-F z_TG&x>El}tPB- RF>Z!mXTo%!VeVT^ULf6 zu9B7U#k@d05lKUM4c`T0``JBBYgo3=r6DKns90kE=&U-U98-TQ&@P-k8LhUZKqKvz zM{MQ4|CS_iNz|kN*pQ=l=F~GV4T=_XGcpZVrMetc-$Nwsxh&4Vl88eRY}IyOEpB+Z zw6z`Z@{l$B1g-v8+C|TcJW-+VGQuSs&P6*(F>vf(j>f}EBfaPWIvl|rngk_>+n9=o znIEoTkn;2@@O~wAJo;T#e;*#Wk%>}P5v|3VWdK#&J=t-)Ak%1lyOD9dNk)@g_Uvi< zrRSl1<)Vd83Ap)eyR@oys8K^i3O$1-lFg t zRDew#jA=g Vt+ z?wjGQUcpM7UohpDdvkz*fqPb@%DT?Z2z35(H6(e{&@-x0ro^#+sP3#+BKVoYn3GwI zv&D09a3Ke5hBAa}iq?VBoj)qqko@LM;tcNcIbivkQE6mpP4SSk`gyU=C}~rD;w|0F z-!+Dz>)Xeb-kePN#xyLjWs {k?TxQeW?@j zN0M7g0vki5h%Io42xYI6o!GY-3dz^>s|SakWY+A^QRl530`G~UrqHBI+ds;o6XOlg zOr_*0VZ5XGu~jo7q~!jBcS3!X2M9bljAf~vBgmpb9>-rD-t@|71`zwj+{pV(+6w-| z^v>nUx7gH!Sp}`_gJ#BOCUpCWgYptlpPV_(Y7CZw6gA~>x9`e+)&;G5nSM0b1&?jI zs0#YY9&IElr ?!UjieeP~h8kJH)GJ2TR zyxE~q6_CNOE9&g=4x>bL5 z%~8fs8jRcXale{SdYZMa=n59i46d{Rhff!4%S%Mb#bnLzk4T{DZ0!$DwoX{39*~ zq_W7pD>cunzh zoZGR~*3Jb#>F4d|gp&g;`Jymc+XLHe$Ns{sXt%}rDSkIFV9TDTx|Ac$YxMs(xZ^*& zX4knu!1t4(O5=0RT$U-(n}A#8KrSn``ntPi&+O2t2z%?g)p@X$epi4Nj*1tL*>ULg z+aG_2=+5qsJKxSGn}5$qd30|UNqOBej{kW4Vx4~tWuP0yD?d*zoI`fvpEA_S>)MO& zc>xAbhIBm_ScoYk`_S> L;8|TD2>JEHM)|t(fF^h7C>3)Q$)KU?_M #u$`@)sp&u8*iKJQx3t+My|` z9bgQcZZ7figV$uXBW!t7*x;Tn0SN!1l{Xj>s7zY^@9%TuU-kSyRqZ0yaXDH=6{ckI zg8d?h!3rV_E)iB=W{`wqr<=3vf*$BORN716cJ!L@j+ue7VmK4d{9*!ivjtMF@b`Q{ z6ak0ApBgW)qzv2mq(@wL(T;J3EwCPV#u;z&74$D95o|@#Sm83?@iW4iN=SL?Lqo%g zcl^B5A3Ft+TdF8aIN(`!4eG!5E*KY+ =l(7 zq+bph(6g?dpUQWQQ8h?b-L+-Wq(Q 0+W6Jwa0^5qPoTdt8@;h3|H#~Wb9>rd*hwLxt|MZVZ}5+YTrYKL>IP* z aC!Y*m9W}-# c; z;}h6~?01dOHw%!fzJPo1=$2sh>f*0*V{@|ta4=70xK=n7Y#K}=8-$vaCA%4xpJy1@ zuGdcg#7Je8S<7lrC0-#;comHtuXMCrb5HJiu@3f#FyWq!y>~Tgc- zRPr-3E^6Yl tV8ZIc$g&cz+9wT zFEFuTsKo%IGPhWNut14nlryJ{d!2bx$L_M%>i&;H*pjkaj63TBZ6Frv5dov|$`QVk z+4Tt0gN~56x3+pS!HZ5CQ>EG5xzF!LDUB3O-A#NUcC1+1?}8t`F$8{e!}L_IGh@O4 z_E9`e5`^C}rak}M3(nZCz5VCu7SZ#)xh=AHw@hDRBXD1zReM2_7Hu=hY+@pMB*@sq z7W7}%WvTts9P}K8GSt&mn|D*so?$%vZf5xdHxPygO>Bn&k6yy=Dq-rxjF#2BxxISr z)RWD#OEx-ve&WpvBfWs(XW+St-7hiD?pef)!^SQPQ_GQx*j+F1)TH2AYhwkTW$*jS zPx7JBxjU>rDSKPGySDRl ipRBv~pG* =yeFF&^m)-Y*?Ao>DJH`zi>|RR zAUHho7ZZC2OBqMdKv+Gyl)ehY@NIS+8E9W8{gvIJ41pe5Rf2(!kns#NPkIys$$m4* zjl)Q3${aQQ=;Sh0jtc&no+Noxs#`tahgw<}CB;}hPA3D9FD6P7OoT}9h?tRv%gQhs z8Y$Ufp_x`0UTgbZqm=b2LqI>VLLlofnaO1Ei1E2EO0TGn?K40$uE$*bU8gT^+qL~D zoIxWI-cEB`Xm(JJZ?|~!kM8f##(mHXTz=z^C+U{uz#naBVVw@muTsmPS7w+^@6 LX4PVNI-sXtr1YK#VZM zKkP5l`IU2 h@;W+ZM5N{4XY=Rr%vy$@g=n=-%8jJ01@BgmRT z5(k%`>hi!osme9)B15tBJzMldSQsDm403-)C=g}Qn*%j1en~Fn0e@9B8i#7cl81Jh zS&Koj=yqY^hLta}0xb$=mqhr(>&dW1GJlX`SG}A5mt=j|h#z+jlF=Slo&EkezW#`m zvXg+b!$bVn&jjTq9%U&wnk&>@V}Z@LOs$UIGN!*vlCKL>O03;x62LQl0?@%x7!8!3 zX!nH{?SX%Gy=aSA`4zb7=xA&)LuC|m&Fj$_VC}tVZ5vTK8nZSA072olE4w@GQss4_ zF@lu)b$5#M>X9gh-?}gnmC>ReEl(-i6lL67svyW3L^(62nW!~)XST1AKZr2@IL|e( z``=ux6OW7H40@LK+BNZdsk>4c4lc?#^3_2Lr{PdfIBwE5(^mcL%w@J&!p53xdlorK zneL=rW3N&dfPw+rSc{i-Jq)vFE#$AZdL+9iyRrm>gEuh(D_$tb!JbPg))Ymu94yqV zj=7*DALX{N`fw5Wx~(Z~;fRu`bb%mPkug!r(&c5n%8l!U<8Q{{vB8SaV8-Wu2ye4@ z1{Yk$ 55UdnlM2JEBg=p*kK67+$e1F+z<3c>H*+JjAt`X1dmJVYUV?1-Y zCJ?BQOJ8jNnHfwQa6cE$2$n9$Y2y=Hl6X?}s{dgE!Ft^&%41viU6f-uaM>7D)PZQ= zMgv&2gr^WgOC5@_O(g}dR2Q!GOz^LchbDREQ$tlf57D1}y9E>chIDOCkRB}Z#;BZ9 zsN!~JH+E`igsb&bCZ#Qz9add%RCDX6RtG^P_6+>$Pgk^b9&$bBV6>OjqrPDQBYqCQ zP ZIQ8CJ<#ep6mfW7Kc|w*2u$QsMHa{n7>D ze>qWHUc#(APsnWj(~rtIV1H9HTq2xU82!-r#-w2)ikC#Yh!zRscs~~5J+0c=xYlfD zw+>yG@w8F^;9;$OBfB;KP;%kCkP2Y6I3($d>)ERD4^td>42ldQ4sQFwCp_&a@^Exb ztTWu)XIT05T%|xWHP)b57O3r$tJJpo$thP}EDteP3qP$mF|KaMiVz*RJ`&_YsoCb3 zkKRFyK5l&ygXm4DCj3 z9VI?SVoMuAlP~WrT)?c1J(oR#jNLn98n$RY=MOq80lAd?I%^fi ||#r}dGVt^hq@0(~DXqg^Zv9QJii)Hdz5=F!8Fa5G`D zyTUn*SfdW4smSHqf!gPOrVJq}_xXE0SQ7CBz_MWEVg)z@OYMA!Y*A!m$;4wv>Z6Q> z^;C>f*s!)9RiIuEL{AhOhpAuh7lc&Rqn{1hj>Fn6QZAOU>CmK6_CB@ar2YC-ZsH8? zp81@&gwsVeE= `2Esq9g z2xk!@;1vj~{%}_mr+;5eNf>HDQ4lRdjc0nn;rL8jJ3Ox-BRGwQe9+Rt5AOpCZ|uyI zvW$YEwS_lK>3Ps_HK`=hV-T3KxGxo+q#KV<0cRi`^gT(0ODHaW5CqDvvPF!QfsIe_ zM3dR=yeW1L7zx-1e5Y?UEKiyqxLW XBo%-kAgFF)#0cD z%8{bXOHod|*)b~DK-OCJ;Aw5y%U{n4|D)}k7>{=m(r$J~>2>LXl*e F&&)Si5T5UJTY aWs z1y7i=AcFNZgbTMgemlk!%sqFO6Ga0EQ*GTGQ!WjA8e+{BU};FQAqs$882;Ia4JS>D zu0Lj=RI!^XzcsJxYI<-1y)t`>wG5COUki{ny|2Jcc~*OCv-g0I!!0_2N$f|ihA&gT zw*LtT2HrP2(`N$q5n)w%a`3VllDOz$^*#~tL83S3MTp}^_T#E{(7j`|tLs*;+c=lJ z_;qt5otlU<1ZhmF3!7(jxuu6?ywHMKZ`tChx*)MJ%Ix!;6^|NZD|CpgDLnLgm7t%4 zyr|@8o>s7;Sg{uM7vJkKNC+#^W4tteRYB9_FM~WZ jai=MZUFP6Kk3UVip7@|?x zW@=}yPiSYcNf~O|h23yL0~>#@meBavvVX~H!fZfweiH$C=jvijK!^s1Dpcm5+1{-6 z4o=b)x9ep$#Q30&V=&laAv*4wf`BIrxsQ-LFYRfFAjE~^LHSZLaS*L$;m&O~{J4qA z6je<>9mKga{5F5nxQL>5BqKlwj?ZKdoKT&mk7vsF9Es@VxK03c3uyWhU7 TE2n4B{iDi7X_+O(LFSIZa6EN%**Y!7TKvYarn2c>Mb^L3%*Q`c)Q(* z)3T4P_W1D@F@ae_^dE%tS({7zpM@%=jWTTfmE5RnQ*&^ayiw_|0$SN+xxNXR0bhkS%AlW0 zJEhu DiTnaOc6q9PwS+`5RN@9+!4x@DhabnGvt&R6) z1xqwvQ>BDK!E*`b(TB*RXrJw!RF+exQdOkW!fBaeplK`~<4(`G?>v+`Fet#xMg)EQ ztrRkzQtx~Y;J=y 9q>P)b8P3DZXVnG7t+s`; ha0u$;VFN(*0UvhLeZdvjZ?E?P^Q!>CLO&;~#HvAvUqngt^rDd)aTqE?aUC zfhSl(#66lh-S^KGnT36dcJJ3U6C7Bv@hn w^Ct^p=BTqm8hJ4ivL*UP&8B^cEREV?Zv>WR{oIKQvr*8p-oT6(?S5z#bOME_X5v zVcgJb{(QJ?ci7~V5HxsT*6v_yL}=7hT^?)i>GO7NAf7>LN6pC(llXZ4C5Pq5K5Yb- z8{1b`)dkn&FJ?Y+H)On$Y>XDdD3_3iH5PD%`Fy6ZuNhC<=y$_&k3^Tc=59S!Jnq>~ zih+(H0pG`a`B>Knb}A+Ly{#Ja$9z=CfL>o2S?>EbKsq9BFFU=|AU1iu_k+d96Q@is zn_e&5ylicxOCVo+3&Rt~)w466Xl_0Z)KngzgfT#2vxu7JRH3LiOkQ$dRXK-+<#DHk z@aA>Bcm+8Fv*H~SJx>$7d>F!6>)A1>p*dGgxCt&jPpW0rGCIn!F3Wpal4f+ $9+>NSiFgjZtdup(Y}a{- Z;V-}*Hx!oVENLwYHMBd@Q 5d 0h`*%Y;&yyCa!zV+UsPS{1^Q zrIhzZd*upK&3`6`K9!IkfEaC-U~*fd8VJ-isQI&2Bgm!2EFvG(g~$q9LSw7yL_c== zp~U{)&wWFRmk7xF2iZ*8BG+^Y-Cd$Bd|T@<)dS3AZ_Ml_hHL&CG9+9C>6AIt{yov7 zr=h8|(_w?z+`$!kX>{7>zFA*#ca*xevYo(ynU)Kd_Z3c>(bfsnw5iZ=)?|@1w`7pe zY76-yFmXIubZ>WB^Gy!|XOhYcYJ~jQPVRjbp0agu#MM4QdguOm-N{!ER>iuvK+d`O z&Q&d#L!t|x)TqKdl1~<2$jpI`y&^P1f#YY*R`6Xy4IG&-&x4+0e$&7`;v2Tz*Z4eH zA@RApaN))-{vqSn6GmQC&N7?ZoF1mC3aj^`qt(lL_(>^fvYg2<2y%zd>f$y%crtW! zgUR~nZ-Ojo`}yhs&`em(F-C9!MnxXo#uyq@aBbEZTn$CRc|kfMepTj$n-{WOCpW%L z0uDaOaH19XhV^rCn?E?W&j-@IJ=$8Cy>mf+YEH{=YV@Fwv@3MI&()t+O5}imVLhlK zjBvkR-~U`~bPhkujm~IC=0al5byD^hG&^~WCI=ZyMg_&Eg@8De|1Q=RWo!{iSE_E4 zQeAqhL$9~Ks1VYi!7xGnQBb1f#6%`ycJ>u06EhB2&zKf)R)%Qx!7#US?N6{CwNQ$T zUq-Qa`Fuf82n!d#m5sPeGn&C)gSNm~tBi-nC#W_?8TsN)pO0kj`;PK{DE|4SN8*jB zyrigii5u=)2t^Qd^nEdxg5$Pu<9d&t%rAJLmwofu&v|UX#ml}U-v=*ha~u`t)AgaR z&_@SuYJ gN^Q!_1- z<2v%amt{*mOH! gL`F6Cb>q} ziUg$+mF)54qy-9ZsY8)V?iQZ!*6Jd1P|uU?eNRSf PLq6+`Px%v E>WL&gs32erwpTPu_uZ$a=+4}z}A`un?ryT2vS4= zm5Qa7MN^PXO>G&H{dQZ~rEed0DT`AE+`4PghffBdDgeLp-+f>B_J*zERMsh}(-!3{ zQsPEgs92__bB4dsGKNnER+TMAeMpr`(yU)?LLftLDr>bZCYiJ2!XW7{*Zo;icsU3{ zf}cu{v{py$CK#Paw98p*lMB6KqRna4d%@eDXk`=nuuj4T3otw-tsGI{>%ztbyiRrk z9Xes^$=y6uFjNQAcE^~0XEh%`aWqods!tKpuF?F2Y^n0=jJ^EqU0^@Dl-)^@rS?{v zsvcDi3&lPiG(;cGQIKwJq=oG752bLnrIaDR9&T%=NyTVdV*EbgBmK(~y+#^iUyJcI zjI9rZth|u{9dqNW0nyej<&y1s=+yRhv3$kZkRCB{?6uMuUmiIcLU*axbo#VUqE*b7 zF;foOx|;i>GEDkV?eoVWFP`H*?NBdUH{~QA5Qr`GNYHY(Q9PTUW;0Y?ZHnUvr!17W zE6$F}zgq1kS= itA`p0skvakmV5~nb}2IvRz3p9s{xy zu;Xf4ON)+@fZ;K>Eahunz5E_1!b*oye~B{`C_4FUpIB9!Z-Z+-+!M1$Ecj%9VFk4$ zluO^QoQmT;&SEYxOv;M;&fmp0!=^LZ!gG2q$ib#sDQ0Y(ACWBUVb~%#ZsE_~xyhv8 zU`N%2Oxq;{x%QQ^KW(*CP7}PSQ7}IntHPugdy5&|Z9l%5VPRtY>l^^T)D=9|RGKBS z0zO_I6t*%9g_yM#Dk_&rKYLmvtrKtDbtEn>X>xy3M>h_DSUHe%Y%e$LzF@Ieo}{A5 zPmX++
5-( zkKgocWzpj8D)djawuPT!Jg*DfA0!IO?Op)fp~J`Y@}8g5?fnD}RG#R{e7%_2T2#vl zucOd9u%aOTy^OQzI>WPnc0=%&rJwW4k(ZJmo^KgE2djlvmw7{*%5MeQ7|*W_5<*~n z7LHPmN!RM2>KGR|nSkNDiSTa7j1o^Qu(?=i$~spf4hj4k(?-lQ)1GV|B>BI^5vD>L z6q9>QIYvnpc^#p$oWvQaRW3x$$ZW+6p+{ys0L7b%))K=?(a5!O>^URdI;pDsm@Qat zx(C4F_B-AL5QJJv$eR(OfEMRENCky8(q=mWA_5+o|K1|fcYYPVLC>>M%z$b3E(=rM zPc*-OUq4hU6>#6=l)(f}{zVur!^g9urGzCW(HS@G?J7Aio-~7E8O(_h0EEoUAVrC9 zsTFd&AP%=^56=hxyW-Ay58AKtiK~bEi^iyR(OiB#9BUifa_{%UpH|Pb#tNLYrec1G z0yybo1q%hHA_-farilTlR@b-Xk(*8yC~)RNP7G!E8URV2SVWfol$QGHZ<)*jO04Su z2l|#V*e&pZ_L?$kk4!jkq1hFWD3nhmZNv9~mkH%hcH#}pPGl9+vjZpeTLkaW&DluO z@!PV(=KS}TbAlJ8U@d-G@y$$la)sU5V;b{yjb=0;KpQpEK;_|9@RTx5V<+V`FoUXh z?a`jVG7I^f!(||;oNFRDexA#-x5d4#F0_=geb`w44iXfcE&>RT9yqv81xq4-zjMk} z3uq&GV{&Z$bN1m0e0!c|=_0q>1j@rUuL~e`o*rtLlKPR4eyIF#hI`mGBzwNs>AsR{ z_mTf+i5GVg^1Vfh3tHNL7)1^iI^?Lq74N|U#N$O>+&8tVYE%FvC})KTxPCQvDG~h2 zX8y<|!w+8$XRpf`a=I_DnJmLZ%_^BSf0Y2}x{9#38xySk{coL7p*VcUQn5ei@h z#LC2N6UU)9&m50i EO291Nh=xTxq>i8FzizW^WhI z2c~P@%uF1!g#sr$9|DM$Nohuqv(5C6j}_X-anS7Iq^;4@ljF&UL_IHjQZit>Dk>h@ zn;Z%1%`ej#-*9-n? A^A6Ui`98D&-wHA+HJ*vyNY)>E0Lr#&4k~ftdWWsy)FuEqc>j~(kTV0>|+LuAZ23)W#(;xnYB@Qf- z<@71Dbv7)Si~d;D{a)sYpFC`8DG;{|O7KVJ)2w!U#eGKn+97eviHVZ|99e4nZr3`I zZf=T4;zl(a9S1w7P`R7`1@$9ApqndT2Ma!)7oGP=u{6AbQ3om$%H|txgrZ^Mh_6!f zxuE`~by#mEDI|BHEby5^%MzCdm=m-?%(fXwLykOxNq&|O3P2`K(o7iTp(9h`8i&`m znLKmT@g#(UfpgmFawSX2BGuG}b{o}%TWWI$4_hfM?Qp43?17$Lu}elSHxWrTeru<< z77CYkIPRKeB!fFcg)F7$(tEwJ(Rpz(#<40`35Im_T~>`O3->!7P6k^|*=hP9qn8z2 z8qn?5O- ~EdTzXkh9)!QkkcU6e9EM}LeQOk3 z7k*ZaFcn`q@D1aa5T7gIMHpAv#CY<4W@$jEpha{>D| ;&po>8uG_&gx%|%ecMXTsR;!N$p4h|x9!+A-)>h@@l@UCmP zcX9WWmbQ9y2aP3KfjhX&uAnLD=O{z1VL50?ROS}KLyyTyvdV#F{Dy_ioRknqsh4J= zf$J?)TZBbZOfq;vcR4Uu(Eg8;3qFg0>UJPTr7!k~uP)IdicJ5nX2&;MbX{Qweip4_ zHUbI&7*!3@;&B(ocUUkLk(LPaLyoHuqikiJ296QHJXzs69V2ru5Hqz;Cvw{LyHz6z zN@)${Tyz4h!^cV;xW5k4quEzvvN5gSL-rs{T6wMMXDA(R=X>lGc;hzcSEZZ;WU_^Y zFhc@|A3k<(6KD$LVzJLBZtHu{uHN?cJG^gQ^0= ?OFx#94rDEV!%<_#vZx7}8WiMkj2 zK}(w2fZe3KHL!YTPQcT4fOP4>Yks|y7i`((^LJ2gnAjUahg$8<+#;k!o6Z@p1+)C| z&@Rx`3OgIo^w#5}RIQ(JJzWZX5AafC*BdW?s12T#wk$K8_-rJ8sFZZcIE; $O~o^Gw^U>>Pa&tVm$d;N4lzbp6RIcWh %Y7+{qf=J-+AsSRu0u&qxixk zo;+CXC}j9?)ZSGxPa;nCJnyfxzstvN=~L8SJjdVl<}K1eUj}ixIEQ(JVMOMpvPT{s zL9(2KiD72lFOs7!wO6N!-@X-QSh(%T_|-1{wrmm33mQ9a6EuYX-*OvcCOZ3nF=+I5 zE13DaQ1ZAhfaeypf={yry55_b@oU#ksUy!Z$y_2b7mAoVA~w4d^t4I6-V)(~-RDlX zQs(w3JIs;}5lFkb`Kp`ZrhACVt)zP29K=zLIKS%G6X@DDW4gvI^WtPM0D76JNj);- z$sD;1%C*>6W`!@H>1}f{IvFR=r+l?aDi4|sJ;4pCc~agE|L!UYXJ9iyhw1{Y7v1O* zy`T{7uKU&Ilq}5)qRAw26U-*3Y%|v;_aFP~gN^aa9N}K>bF3Isi!=MMKIcro)vSm4 zKHADBqFeM-BD~_7dhQMOI=$x-C?vCdEsOHUxged|=W{!Bgbqrpg#Lr;qvH!G${cUD z<5Fa!r2z5>!daL HX#D4=)H&{1M@to713 zFe;o3Rbmuab%$U2RUYryNA@AIbm^ELp}WiS?lecE#?3=V=~PBY+g#(UgwOHMeZ}$} zWE|RO%t($Nzf-6_3!5D1fvMGfXTYtHQp=uixNO8XV41akB7ESlWR<^EKi{LLCxg2U za _&A!%>t!tNx1L0>n|_ti9rVjyFNHrcw8LIF@?%7n-{d@SoaEkGC7?-m z ?hd>v2&wUnX0|~eB _9cx=g5IZV|3k2jTBX **J& z8~r?_!4#r*?*kQ+9Mrt##s#PlDmT%C0@w+kw4s)XJZ;EQZ4@vr?X9AUsT@8nf`+AZ z1?>__U=QZs0IRe@G3mgWQ(AwS6cj2@OcYRQuwd@)HfNiH_f9~=9B!5O&-r+)ySEO| zpsy$cpTSCf_9V4`J+#cQFMHFS6V*7w;8}j;wuDOF7m?0fRxdX!&-$>L^p gb)v9*$F(#)|FC3oM|b5S76%zw_{jtv z!4*0y#33h-z5EYRx}=s)G?d|@NDfwLVIKEKP|sqpS}s;Fn*w~dU%Kul{WJwRny7kZ z ;pML8(vLB#`EEyRSgHt@~bQwGbZj7BVRup$XHu-OI!zRm`nQWODOefGyP zJyX8B9596wn#z-C;=ny0f<-p3-6OpuZ}y+HOkGH`QzY=m^5i;F;YI6B7rIPGcQ+vF z7|2*{sL^`Mv(ol3LA~P_^n`jodf9D=3Q4G~5J%Sf^N1dN|6Be`y5qP7Pmu=iM`}hx zYn#)D-t94j(XK5*@hxETx#lb`H;l}(AGDUdmxJk7eDBn96!n-)C~m~tN)cJe4S5Bc z=R|S>DHaN@d2a<;3Q#9)^(gjb^~nyyG2)x=T(!U#a4|}RO>swY1S3{2Cy+;m*Kare z8vCH 6TPh62}+sMDgamCq!T0`x1(9 zpgXKk;?&cn!}O-E7tH1=Y;ybnh_TFa7poBXkmAYLgQ%XAQC?d|dSfXf#S(?vdqj=~ zo)nKY3&0E~m(xw%r-v!+#+(V<(PX}OmrxCnCdmawz{W^K2X?9Bkjj_Z-Z9OIBaMCr zX34p%k5-O!$D@}c9I2aJNri|-nByHr_YoWJ1RJx^R7G01oy^6g@JXB7ub4<(jJlhi z6v8h}1KtsWv53bV+!h0Zys A{$Kin1Qa`=7pj<8=&yU0LYkSNm{jp5D+9dLLClR-|x)gxV5@aOAvRTof z2j!~;-cmaRjof1@CYX$eIKT-0my(UYE>FD*e3ckh9tXR~{l4X)fo3g-*prD=T)f;a z2`49blPVA*JGUj<59VxU{6c7?r7G4a `YXwo9Bs<(=QD2C3)4alwh#=0{H18iDM6s@(mM@ii3o~;bYo_C!R8Z`e* z{~)mg7A-0<`Z*12d}A|I2d~e 9|4ED#Iu>Ku(2qmD!Aln4%_mW!+Rnq#53!hUT2 za)#C0$meD-g|NDE9GT?#w$PCwA FD|q7ikp5 oqQm z)7iW8F+MHDFTFN-vIm~sstpOGlIAqg8G<}SjXWCi^Kg$~@xN~SP5X+={yhVFUl|g6 z^}r&I#}NB-rv$=bL!DpWg?ApzUh#-x;yJWyJ*0}UGX9&%;IVHFDW_+aaps(kLs205 zp*9UJzr1hIxeoZbzNmD4mNM;{boxj62P^ikZ%queCP3wW$?1TlTJ?l`QJqMTofAr3 zj<&+-QenP&S`JcKQiQROOSs$Wa9zSS$(} @yarn+7FXn4NhWDr zmW0{di73O1Y7zJFLgcQcLq7^l0FT?(oL{HO;-}ERKG(NiZYr4m&ZJX5V|_HRgN*|C z;qj$G=eOFUrA=48Rvis>ARXag7Nr0E8xi-<+dp+8_a)x^Zw+qaTBk9Kb^nK>GmnRA zkN^Mo+wI<)HYB;#Es-U}+!nbKQ&K`GHDno6mfTWJ5rZ)^-->KWQKpC~OR~*a(qPP- zM@3~z8>5&xH^$Nob25xG`}v*wn}7Z1an9$wKd;y8`FcZSa1)Oev4&@bgsyp%G4g-t zq0cc}JhcRK9a@Pf9=QhP@>#l;5Tt1p^k{H|CN4W`y~71#T-X$q)jeIK+{zD`AfoYv zEw! M zzbk@yU^ljF`LOFR5-dTsz~scex`fj`Jm>G0a?d}4*K=`26sWYRshp{8{%n&H5+5h8 z*68p<-rcmEllnHlE2~q!@nSw%vhI_9dMsdK>G}Bu?9}^hP4ljMC)YnY3fBh6_WrJX zj_sj#aYH%sL&x`x80Vza2Znc@YBYf`F^$xiVY eq# za{6vtL;2vzIlG&y2?@bJ0+SvA#R)OBTHG52u%Xp_%^|@dNnGCvCuk@sFGN`&FMZ6i zxVc#L-T3lJ%;ZAuCWb~J5`n=`|7Kb$`712r>sn=m%#4%DZn84za!VhhP6iEFQ?z`i z*atfDEG!SB6JA3@mePHx`>#hAPt;v_2o(sVRoG2d>E}GXX6p#Q-Wa?LPlB&+L_6 o`vyiSwz5Lf6k DR#hPG_oJAdmFjloAr$0{&>g`4Qtl^bvX|1Oa3E)> z2ebeC#$uXwt53U~)-X`#JOj;a4$o~GyI232x$T8hWa4g}pFF1cA=n|Au<1@!P2#(C zL!Dy8m$HTlUYfmYme9Ab7nQUms^)KlK>vA21ti-1qR#p+&3zBJP6D3 zqW&D8Rv{DxYfx2qBO?dvtm)Vzt^5bGR&(*B@D#&nsxzkW3Z?W?^tWJzmj9zV9b+=p zHJ{=gsZ4E(TkL4kVXf^EEzTbzwMM@7lofDfLzMU->tna*yuVs*N{lAzd>v9`bJW5D zq+bYh^Zq&eS$EJy*?d^ *$C!}Z;d9N+J^n(8&K7+43`TKAYlRoxbmeD-R#M~y_`l= zJ2q#u+(f2uVFJa#jqLPafIX_)rmwFlcknhMgQ9`4RGL3r+BB5h#?^3jH3w`nvOhm^ z`S+idWBX1_S-8Jky8RKKD^q>XohQ;v$V2Rx%So!^7IA16Yl)4S;`9H^W zYG =#!Asb+C0$Nh5h=XQRkI`1T;mbpj|T*a>pzjdFdNdM&IUK5wn zT6Wde=+E%7Di!iaK}fMVlsV_~aLHf{R~e5fI4uL&mK%)aDzAiiQv2uUx@AQs{Eri| z<->b}VJbJ}RSIhXM~0;euNlf{v!no!RtCz>`vuYZ8>kZ)_i648xvX9g(oXOuEY^k> zsEcZPfRq9%w290WFlc2qDb_x?!9Z__>S;*3o49pT$<7qr$CINK!+Tb_1aQRDeJx*C zeBy)2vGdCgPI9FzYjGF+S!G_&y`j#do44d~{dCzauk1g##+`BlY4%L~!nf1v*$*xz z30p<+Bh_IiwLae5aCmMv%oXnJb(P3*5giA1>4j5ywGN_z&$mUOMEumCL-&W#NC7Da zFfL7n6<=zOfS3+-F}AgihYn@BT1K3g6gTkt?IbprF*op_DI!`nG3Vy=7P)!5=D^aL z-b}(izwofL5-JUJ@@p(L!Tn1p+~uCdC=g6c-X~z~VmpW%8S4peZBekWMA0u(zpr5K zGG+`UeS1JCoojT@LNamNN#{3d KDuTUvkB zoC~jM+YMZ8qoTZ@o|!TVy&m4oGc2eVaa3|0q9uSI |`e M^MI>-r}UxNf;lp)Ev9rjMEAAP z+sAMIgU?1nLgK?&bIV_%n+iAmf_$pQAE9=ojs=(iWfjmp<#Cb+;g1qjnBk~r1GM+S z(2>7$NHALabru>K;z>oz%qXGmlEl&pHc7P(26FJAl5tw&bu|#F8Oo_*J!U70b-H65 ztt85SP_0ROGU5;AIh3Nd&<8jt@%tK*4{Xgm(Rhlp&~s6ecWH5@$Z&`Nuo^f0V%$T$ zwE#VsL5gBy7 98~PRs8dcE_v0i6Ax8MhL5U9(l}ze_b#g^8kfy z^n|`?lbcK7T-ujTs_x0~IpZM1Pu|ybi~5qmGpyBt1gg$gjyaX&kD0`G^=2;E@LX*f zpM_;X+l5ft5JX#Udb=M?uIdC4-=j9+4UWp!j;r ur7tC@JEZgF@|P0dBF#eXY0G+{RFXK9LLO zk~BOjY04H9f&FTthCPP~Oc4R|#Cp)iiLNz{$ltGR3A=kOK>hQ|@rN8J_$X(b)Aq_w ztCFqP?Tmzz2=FVCcBs=qy)XfB g()TRu*I`oZPsI4JH6h^DlbtTa>ov&8QwjI7_`(us!ZbU?kY zE~92)YoU9*5wMAF?Zb_dJ5-E*uF=@zzDw3N={j_p%UPK2Z~X5Y`Kr1TC+&(_tg0T+ zVaTDZP2YbH3%x|_+nR0N#du6s-IWR39Ifzo3LAs1xbJl}li@v!wQSyvv_Jf!n YBS$W{%tFj 1eNm7;q1VTq9UP`FNG~ z_*!4vI-xC0m6In^jC;j3TiHZoBJ10 n-^gJeL0=-DN^= zmSFNyv3vwd{d(S6IkroOF`AO8r$8rS27qB{PiBZ+)O$IvUTht2>5ow}HY!SexiRxK zb;M1;mEk<;ywI8u9)2jbA#x7+S5?#*=T0al{EzvUHALVMZ(1}Je3~_%^8NpwUYL47 zJEKz$HPqex>TE3Ur9N)|1{(ONhDcqs|5TR}Gxdcf4rdJK3>qYS_0T$P6q@N)bq70M z`-wI%(tApgRC`>umAP4*ZLy_MT^pvqI$HB;gX*3S_!{xLGJK<@{=kaH3!f|c_jmYD zy2(Dtd?((;MD*xh1Yim8vdhjcs;s@318dJLeH{9~e}zuC$v#@Jt*c?XdT@M(|MS}V zk8%s)P!xuLAmv#sE?@Odb;o1;_fJLlCuh5(8LkHuL4KRdn9G+M2@ >;bu$8t2BMXJM>-v$iz6nHvEMHZgWt3u)P_}${w|-xg{-@lOe&wMV zlP;4gpzr+9Vrf@ 5ENU95fhG)zu%xFxvZ@+rNd6d}cQemXKPy%CK16dK zC$&u&aH1xgoSyT~_gQ$6avS3w)2#T``6XFLJlxhE6z`(e22JLKj0&}&`OJ`mwfz~! zX!yKRqe8Hyz-OE(KZHI$7*8HAdEF(`bR&1+DSNdDI5s5OsLJcD-X*l~CnMiq+SWWP z`I1M~&(JW3=6` jB~~v&1^G|~*6|8TI{S|iVR|MB($(}+=Y j GoR^*6lK-sW=L5C+_?rB4-F%d)P-Ly@^V{MvD6+2UHq5X0p_ZIbJuA{w=Y3*- zxUH+uI`2#=n!ofzgb4PjJ=QLYP+yYlnOWs4X=9mh9A7 zxCZ6Ws$uJOe*AFtRCGeJ^QsRmY#C49aj2a|&@v*Sg=n`iC(Fs;T|l8+^-pc@gaHJE zjs$eY6>#XaV;EzLN@0aIs75p#42N;#_CZejm2t;oI(|wx1-vF;?p)AV)x46#nS{{+ z!=#WPCp7w8iDl@0oyv @FVo ztx+yXIK ?O9> zz@jvAE+-_B i+~e32ZP0e8K$vEzB^0p?t-o)S0#v@a z;P0|n-X-@IWFo|-Nf@vfGq=g77F3xJcTx_U7hX$B!`!1a%dMFaq!9i>yG5xjequ+0 zc7Qb(MMb*y;!|Fwjdg_nd&hGpvGSI+YLFT=P|tTZk R=kVuP)A3 wwgJ@wVD>moniryKzo3f9c2}PO$1gj(TFTYJW{j)xUZ~A-|i25&gqPnNI}K@ zWmjZP A6D^n(lgrw?btAt9(SQ)X2VmxY#GZPay)KYy*oJkRK67De`7->*5}_s zBbq{f1+dF(6Ju=S9#Tx_)u2?rbocwoL9z5nr~Mkijlwy%SlW)^nFK=0GhF?G`=5g& zV3P5PkLp2@;JjZy<#W~?%0+5d;=&H85i6vCW)&VPt5bJ)jEM%Y;jA~6CzgjceGx;Z zZfpx<#k@dQbH-<&jfQD^+Fuy c_s1cwp>eeya_7&o0rIFO$zH6pj?UONQ@MW z1T=r3t5LH0#k-X8$}DM9f4{W(=Xw7K2;$x+s(Z(EBM2_SZKb}&?v&SXKP|&C2A)8A z*h)s+7)3~U&WC|!Et`}YtRT|Fb?!BLIT_8%NaWVMe%_oSof#`jWYqy%KXlAIy!Z3L z(R8~#ntkx>F&sEY!(}Qi+r27E-%()t0CgzKv1DDSc60Q>fvNlrAG_;FgF)3TtFNqh zdFg%IAafIwE1z-C?%1}*G4@Tw75V?X>@V)ugm7UM(Q~v)h(7xiGhNaWKf^nWVuIYt zU)Lh^`gjxS)5OKTHZ(FQMLVKi+5WkS#x|^`MbpD1&GFcZXUG36Yj<9z9Qo&}D^$i0 z?XPax-Nro{{>Pf4f=$~;0@f~!Hl78+IC@e@#C_nc0(oTd%(U`J9{MEjENr<{%fEX# zjtk+7l;qw`D)Wlu`|i=pI3d4(a4R$Ru(1oT`7^|rEMMOfq`b0Tc{X&OX|o&zisQ{m zV!b1M6<4paWX2ZD^DZg%xaXCa#_F~A{EsJ9$LgNdih|IOV)Ts9oxqoB=^$c8g2d+Y z14T%!7G3FMNS%Fm6Y>P?nA;AgH=gH4IHxtxlASK>f;2hpql0U%Vj58qn7{LfwAhhS zaK!`)%9mph%N0tmCyQ-?9Pb)#)O|U6TYB|C9XpUr^slL2;$rf4V ^AluawQ2$*YQ2u<9sxV)1wE$+~=a4J9;+KPRqMrx|ZR7gUQPu 9E*iZ^~P`fiaBwU#ah$b@ ?xoxN)uN{d zdbVbMzyJETp_WxKgtv?WlUT;dK6RGnjG@WM=yTv%m d*na}WT zF2+954?9vajhCFFKV?i<@9z(1C*@&m+J@)#K;(es%xgF<&iEH4{?o46YW#a8_-+@m z>Qj-r3fiOXeoEd940?olq2-@;#-XD5 ?(oQL-9enL8hwPD7OjVnuWS-Ys^JL3~3or(Y1J0Q>Q!@FBV0rFgP zw|$ZV*v^E<&;}#$H~ua=VP)(@{lhd VS7^rvnsjhZ)~Fyo(2BZxqZz3NSOFBKT{(vNa05-%h?(YLt5 zBOJfJ?#cHz9L^KF%MfbuEa@}*_y7JILee^OA2CEjK*$85T5wI8{%>fVoL>8-P0z3z z o~w4NH^_&^XBW(HiSPX7r-ZuhO>6pa<>PAo*=ChxPLo z IZ(5swO?P6N=59G>PLS%lhr3fMF?J27RQxqFT9cFakKSVc z_*PpG<+NWtL}e^)_j{SRI^+=f*JX2|FfxlBF$e#>OZ-7PsT*hvoH!)7d}NE5TEq34 zIXh`I{31OcZN %>YjM8=?OepQ&{lM7_v`PuPy)ZN=-@ zgN9y~^!;KWmaW$esO>P7{*=`v6cfU(C&%tbIDUq#X9xSN-GPOB#Y&HVOuHBj fQfZf9X6Zs^g0-w7I~f)5SQq{uEiL%9{g+nr&NvDyCeIUlPo_(5~;1 z>M~1mj8KHE8Wu3yyqa|!zCDEa2KiTVgTVIB)@OwYLudqTL7$W_@UNef%7;V*d&I`Y zO+cdllHev+rHS|{* znNQ-Dr=;H;qV*RwT}CFM30Sv@v|6IYMaFKt{9Q4Q(vpx6o$>Z4cm5pDhJcuS?B&>> zj9%bv4WoN~!N$zkUZ-8uiv_^CZd$LCp^y>Gs~ywAlcP48vKME22nm05=#sC*&AC7t zYlyNb!~rX=S@$LJ{j;+-IvQ>&0DL^FUozmZyB2r(naBH MH8MlBZJ!F^1?`;0-ZQWN{pZt2trUh%F@WXB3$*Zb-!nVtxv6- zr(MVW+L7;*51@kPC4chRGTt>RSH^p}=6*D$%|5wel2Y~;D7RL5x8wV5LggRHbD16d zq!^cFspW9nx)xDb<_}tRTr$R~G_2V}!O+!CQoeLX?$OVU-uUh1mb|v+%FM8Pws?be zs~}2Va%v|nQQj@2^wKV{1Z|eRd&9p+-D;iaLo==+sytG2j}NfhxI7Q$5Y-bG@Co#W zBR;OWfUAS;+)iTi3^x%l!2-$?WSUo?oGs%>pLvqDl`L<)7V H zuvW0T*z~h9T&o5fiTCF`|Eq z>#?}H_Byu5rU#88-W>*vq22mJCg=8nB@WYZ@?gH}p3J|NIf z8qU}d4FTVTnpWZ8w7-C5N{x=TA!zj3E=7bD(((p*=QB~3@#f1vASM^h&73KVZ6#YI z9+{Z8ro^D+Z{#`u|9ukPM&^8EFY*Ei7OpDWIn9pN*@Hstw#qt6g7j}Bc~?IZFV7kP znR mE}*0lPcBWZc-Isy4g0%+lN9;ZplJ!lYgV&T+-cE<2mSr(3UDr*58FBiBdJ ze9AA?W@DL4{I5gEc-dunRCOA8LU$DGU?8zt^eWog0`Wh{(Q4}(Ti*U@=;X-^#$Gzg zfET?9;S~&4p*5|vD63{Y_?P !*I{>;B0tnGcPS+sXS5K& zimuM|_&>tV*vH{94FQ)6Xp}dR)`Gu04{8aW<_`Nje}nlMOaI_*|10w9>hJZN(hMGP z6T0Yr^fe(F9e?d*OMQnzdXKj`ySsp*3f`6y)0C0Q+k`0K`u}dc()kx%F%Yin;c($r zPoqm-%X_aPCq*E8I`pig1}eErs_Tbm=NF7!7t%_uYaahHJA>EZwK{{H*p?aod3De6 zeQC|5hwpb6+JTA|ifYnQ-f7Cyg^c+Qt6fb#>J4KJr%|b}xFI1jyk*Gu=aD_&pbg@$ zee)T-9(NApzb#1zLBxihqKj+cH3t*nINmkUXJv2DAFM?5_RAK5yx^SooHnAYhS5`l z`D`7bT*W2)u$?Y33b!lA6wA23)TDKCwW#WMO6H0LA+(m$ntbjGwGJPzH>`6fPC*@? z*W?9ghfN z Y6XE#l@*}7lJ4{n$c_Kkv4i A~s_K7hPuO =_X>j#!)7e6Et9&|j%$kr1Rta+88Z^DD)wiXo3dEqV} z-l@a&x#>g(+N13wIxi2{bi}_cItX?3_9~Ylf3#Kl&mHO4-LZFo=dSoHbd$e~hC-Fg zL#k7wEq`Xycq&hwwB@DYcGJ)NXRj-uc9%s5!?o;p7tiCS(@A`Cc{@eS=nJ1hcDlQ} zON?kaTYq~A!A!KYg$c*)!Tg( s&g2X02j<=Yxhibnv})`jT6wFr zRhk?OyV*#70q&Ce4G;wdZIyzriyZB8Tz5lqEgpsLpGy9%D_PKQNUiRH--T{!y3llY z@=!XvXX}1+MBc010~o;N+V(JY4b8^1R_E6{B7AWF4XOM~JF-Uw2@97$XKaDKl!w-a zT+FCx+0ItC2#!wlt|zh--_Bcewqfi@BW^H1K$WI6>?+M^%m;FoUznnD?x!QY9 zpJ@J$t>FkHT*S6g9GIsp!0M`QW+)!qB96pnA-GgNH!~ B zN8RmD?>#2 e_ znNw7Jz~YP~^sukzqmQdz^VZj0j9dZAQTFg8YT>23S?iy0K{-BWu43Q!T+ayF`X61? zfqC+?tFb^Tea8EzOCIjkqk~`U%Q?(YVSMGW{P)aB%?W<}h98&Hu&1*xK$mrC+gSf| z^?x=HYWbMz(*W?FtF_5YbZ3eGTiSfrhVqsokyBgsjzum@U3cHcB?JNy3E;1D4I2BS zdgV=00Yf}*K#V)zgnIZts89RbZ~PlNo_}IFhuP*h?DOf+qI6e+NUkJzP8c_-)sVq9 z#^##&@QuJXQCR1Knf0{Ei$g+&pTmW`w&YFP*6aoCJ-U1xQPpIJzA@-xJv0F~b>X_9 zc!y{gS>o75uatV7^HMrq^`Jy{-tmF@laCQ`At}8hq^of=GZG3MFU3#yD_yUu>CjVy zX*ZqH!clg3OZUR+dZa&Mn`y tO`TsCK4I1|tX}yyi!#B!d~_@M>c6QM ztiq>{Jd03z(RxB9_lgH0O>HAHLQp(a?jY!q>r^y%g1~DstW?i`HXCHUick+v5Vqgg zd#<39(B}VSuo}akgnrJ`D0%fX-T9q0R|265#HVsv>nH+ZxrFMa!@PH95LCrHnP3@v zucV4_zmY^F&2oRlJ~;gLW2~JKaebQu7>V;$M(`=RGz`rE7J$C_%9IUS(N~t{CUoB# zR2;px*OYYR`o#|m655`Zk}KPkA_#0;u9LqT) cY*=qdfm&iCXK+{i%4z1e)rJU z4X}{Nw}pDgh(>cnGVq3{J+KP6KQ0nM&%oQMLAOAsb_4d3|MS0v1(Tik@V1p`J7d0= zp#5Oi8wvCli^T7*wO|3Z%t4ZQ2}w;PS{u=5J#5%X6?^@0|EuB**Qr<3Gk93(%|I6g z_k~x!a$+ E96aF8?(?NusJYMtRHE99!G-YShS 7r&k1 za#jma^JOSYxK%Rf;U#(3a_@;1z?)c>AS8@U%6c #W3H}PQ)UD` zge^%O?b&&~@oo||4hHE^)hts~c=#G}c6wv5EPh2}-6(e|2P4K>9zjtt5$Vl=hOBUp zZQSR(xA%wpMQmMgbLsL9S5%V)q6x d zA)1&cv|CS>dpAF(T-w8pnzUaLq+InOFNHg5=%nrTJlQt8oy#k^>|ur^WX(C%_Budw zV~ML!Ml;Q}YSHf{Y`J6WQO{|~^Yl)29R$44j^xt YVfD1BKQbEv9x+IdE!)_{#^Ql^xMLbSnqFR=fS#FHl{BVQQoNou2|W%&Wuq z^W2~7c3(tlzSnD1SC&r2DPfFNhdU?3@uSP0_`R S$>vT2LapuR_d9kc*~o>@P(;4&|fU9`=K^z{mFBy(eEp_p)$e#;MyU zX1x@z%vPMbP6O8|l00{caKYF+U652GZtoyOQ~g{%Zj~sHrCX(ELEH;j`M*{o2iJ#X zG;0PLvM7MH`RqzryoozBf&vGYJjAbc45Vy+Ie2tyM9bDY&o=(9T-9*35i|PebQ4R4 zgUQJ|ef6F(h?kFe&WLMTy&ztju@=jb|Hpo_+BBh46lw$^VaImry`l6%_YgOx5r(q5 zEeq&T&z@8b`yOLUxParz6X7bCt4!h^_DMuYMlLiYt>}F6LCpth^UQy{wxB;vAhd)P zG*U`=geN%#smDCIKOFkB%OVILp2D)6%6vG`V0a7&mn9lL#?Z&OD6Bnm{JCo$K5ntL z;6#A<-!v693kYW>+iWCk0h-W%323ZGBuYNqI@PCk?}o5}q!`{y=mAK Iog6TGCt6d$6Ar#ESDZ}d@DQ9~iU<$W zvHh&qSB%o5Uc1q_@; &?nBKLhdN}iNT_=@^kSbFp#3?fb>89aB@yw)iAyvy7rHJn$B z5s4OBiy%rOM?PUk6G2IzRI%&Fc{OKjznc9YBkyOo)0kK4MyjN{{f%%vE0qVO!4SVd zh#F~Nr_H&W*nx^pyK$#gNwbkzfYH-a$(Jj7X%(6?C#buujOUh;=F;;GHQlONSVmCp z8W)?I65Q;pRx>a77w)|XU4MF>f7`UqtZ~IlUMoNnz`XaLJFV &Yezp-O zNpmTg6B`g8MC*5!J*#xfF0*oa=ezgGX7g}?EK1{7$@nbMtwZ0Bodng0*)e>0unDV6 znDo~Yn!L%j3wyiE(!yEt+00Qzl<}mqgswk=PhlRL^nS48pK2rZv)J!?*bw1k;kEd+ z++W5`46;Lioea1XOn0cYuJ5$@`xY{`&3$Tgrt36vZ(#b28$UVvSgv? kg^c<=w>(zV)iZugql zTEV&HPC|oY1K-w!FCZx^bQS0)GEhq#NZIv+6kt=Uq8Xu0w72L=qxW6ZsGBx6+7*(0 z^EJuz?R1{IJ@BZO#^3Q=3U{eVnu8y-dGc?6wrFm*KF)fFZEM|X$g7wPA><=9y>ax$ z^;((UlaxVSnjPq;3dx^Q{XVou08aVPx*a?bn`s&mXxea1%a1yZ1T~*hvROM8IqJoL zV~s{lS*MkOf6fDOAxwW7e?xvz$!Rfc?_oiGTdm2Pd7&N0IO=MA^WVO+0sSZOyJXMX z0y75OQnhHq%k{QjN$c8zYzs0Mp0~zZB~K}e24v*Jx=pw(m96qop)xvXz9!>W4a?ha zNH$LnYhujpj8-RhxX8fqPpmH~(A$~}{dsHM*#Y`KPpiTUM~jP#5M51Kv^C9!eCJ^K z<;gbg(DI4iw=2HCY#PHW%Lk;7MX3yNXIb@)srjEz#26V{=R2=wd1H!i;qRz3R&X>9 zG&%*TsQG0)^XNSb*C&3HqQ#D0;9iNMcn0bmlVI922Jn2=0{!>Uo4 lnJldJ>?u+_Uj}Za+UWamC|c^BtI}(V<%HNzeKvgAL*GPe1H&2`PWDkiqjxj;fAPAEzd$s&~j-Yu?1_WsR+J#8?K%WrW*k z!K=CNA+CLaGs_^`08CrDmip4Ci7c}AHk2#=F-J-KyrPnL2c5%9U2F6Ga~BYxC)D4% z_R1#}_`SK9fKG(vbHDR*9IidO(c{C&aEvF$^-DfY=bu-Sg?{t#DYZdpZ 060wsk`TY*zHkk z)-GQ(w-YY -qk>f+({r j@b!fY@piS51F;i zi5d$k8uHO2YrKeia|A-a&S7~xF+#TS$<<<&%A6N2w|g2ANAyF5o<-lGB *Su2y7A&Kk!`Oj~!-UR%Oi!aZ|5{S1JaH13;0_d31nGFK zW3D>Y@1LoCpHwt7&lyaO`P2&uQ{|Uz1N{>e-|B+gO}}tKc~1?x_%b_nn|1Hl_mwgN zT8~c5Dh99&E4QuGkk>obi%q);H5{3e68kXd?YdDyI9h+DD4B0V260Nw*&`{TIvQ_2 zVg*ZHy5OrEI!Y{s9o&>GEiR_fcxrz1tU)J#7u2bY>YqQCItje=e?zCGYyPlpZ)Z(F z$8d$e>FZPd3FlRBlu0(qWJWGA1sYUF?)#ShR#UWY4jgE OZ~ivGI)x!;GE$w0JrW@)dP_}LN% zTaV+~s@wBF|Lq@_dq58Uh`c~#sgYF4*hsLmmOQ`K0)*tp^?jyK_~uvN@l&b!;b^9- zb<|h&5F21JU9&}c$hqU4w?NI;uI@$2j^0m`gH5iJBmUi@>QWhkLP6fVmhH}6SVGwa zMaCyyb*$kg={1VZmBfJ*`#Gxry{d;U!V$q%y n$h%AYt9`@|LF~V0&&g9 zu 6){m(jCW~j`>lw8f6w)oQ~~7=?eJej 6jG3XiWe zt=FwFqCKV>QXrmK5TMNc4CKfNW9@&=oDz@aJs$qO0lU@@ZgbArFVI+dLg!n}u%}zB zZ9lcrJDcoAJ8o80jg_VkuN@7(usQDNw?Wq{L@x)m+HTm`U+DzzFi^E&=0BuMTVGP( z%Eh?LM`4Oe!HQ@kYu02ByEG41Y6R=A@(Wx6j)vJ4QT58xGvw;-y|UfTe?VWJ4g;hS zR^RZQ3Owz}@>Z{}5V+Jui_hU!c4k7UXmRi)JjD6H?plZD?NZjwFt3d<-AP*))X&QQ z+jtPL0cXkvFCS(%_InU^LSIX7v-cHR>bS@Ea!@0pEi+?Kg1+Ui)W73M0N}ppqvg90 zc%WR5&Xu;lK$m+<*0l|%{R4k>qH2dUn}W9Sp}Qn$sjes1WWw?n+Pw~usWlKy7WO3S zGmoFt58d*#{S?&W)Ihy-ZBcdgs>Q*a0$M*XYnc+X!IK+jK{4aC6D^yTKc?M5VIUKr znF!cG30Uw6WrLdzkC-`)$V-#I`heYM2S|Fg5J&f!V1)pu`HA>!)u&t$zkg<4w``%6 zcL*HW!RkwT#txky3N7eXRsS_)$K+ag4^6`F+eiUI>62?aW3uK!@iWiNkhLwp{A)HI z0Yl%fS%R (5({hEnlK-TbX=q~Qd|#K zmdbk=&sce_$LyTe{-7icF_esiM{F(nublnXt+?#Xj8CnlrIl)Ra`feLP-U>+Rmc9# zgTP*J0)CZYM?GqLQ4Z2b@7Riiu_z-9Cgjd5J`+Ekrg_(Lke$$54fkmqADAFXHxKkf z%fAtjkv hPVe%@{?lAX0$Y=hF!NI*mZtO1;WyNhz_r)HX%dDrRZ=}k|*sjoAsM_r~I zS)$N(DWsrtbvp?(a~_A-{#L_=#%#auC=+OPhXfZ6f}nFRI7^(eqXL_7S4M7ss0zBC zGFel@i{^K_%r0LTHCpoiuegruUU$6x3Rg`I@$7|A%FgQSG1GrD!a(#39APG@LzQZe zKCkJIm#gNZ;KYvh1xF8$BhY-nt0k+xjpf?gI6A>5;hSqR eH)^S$Zys28VRE{}VUTKC^DMnCCmhcd zZ)_j1zUy@gk(Q-OrrpO3Y~9{p(@uKdG+7s#i5p>F+Mf3TC{$9N30d^*YDT~8%006% zq1lzJQa)m%ULPAe;haX8H4WoMm$Z+XiE#@ysTsnUhorT56kYK7UAffp3o}$TD=cSy zdkTEQ_3Tjzq<-P=y(rW(N4$P$ EQ_lDibw2nM}=( z?NW+!NX1!zkevv;sXQL^Z2WCxMCyH2b#!m({HwUadG-5Qj6A5D+Vyw+l*5owr&5EU zZB%h`CV`eBF=drrIP6xw0^{h=M%4LAG;lZ6iHKS2i2skHa}S4VZU6ZD+tn_$OGqla zB&QIwQ&Nd3DIr8LIgBYKl`@+!F{d|C4wVp-gj7z0nN)HZGiwv&7zv|fRx#r=Sj{lT z9M^B{_wujHAFk`U*7Mx=_xt%o8|7^5x2;qayy=gy?0KNYLzqs!@3$n}t8R+BA^MC_ z1dl%J3CdGSKvp_BZJzscdo=y0SHPV^yNeuRh}xOO`!`ZGaKcj=b%F2CK3>V+$v#a9 zBR*Cj`;Zj~to{}9(cGS7&^WKt*r#7lL&FrI9W@W|k}!kd8eq3GjSXX-Xzot}L)Z}2 zka;-!(@i#dmpA9)N3pg =enp?@o=?ZJr1**Qt{Ev@&&N_76Q9I`nB6bQX|?? z!}M-OM|D}t1!S%?zNIoPuEIxex@3dbouw2z&cpiz;A8wsj#O+d%j)aDnWd#JwqHIN z+|3?)zW?MDd3?xyM4lmB;k4qj{2A8Y{N|4Js|uDTG>k_F{Tm4#n+Do}v7OP53yzQi zGrxOQrIv5s6$k+oucbbvj<#Cm;Z{AAh|658$dLMR{O2=q#%V;Qu~Qz9;4^oB* eWe;52p@3(%rf8^k#8M zdkHh@qGG|Uom0O}devQdDs2u%NSTGM+e{KN?4>V1sYLh&^v%&txi_jJkM$z-{5-HJ z #%I6>h?^t!OM%LtKH@^$ZUdbc_2_9+@vJV;vlvNALdka zexDp=S2hP(EOtd37v>Vxi4brAnjnrR6J*Skp$-%rA^EYJ}$z+NAEPU=SBVMuv6a zr}AbO 6RN!rNC%ATQy7ShqIr}#I(%-D@tpCw92F3UDto< zous-m6I+J#$o+9vp*}5%q5F1DuT|@SwcL;tDv%baSbC>c69!7>*y>AccaGCD>a|B} z*CyVjF79Xzkq#+RP!vV_EJBIW1LIg$Yku{G2zf|`v*IhB-l=-XT5Jxnhbnfv&{y`N zfkbuzOk7!2<5EHH+Ly#>SgKN~6dG9^ZpZ6~_($DwxEPG_3Dy>!E%x2r&u(Ua&-R2z zy0}!+X4N}%1u%2$w#y3@vMtN*XhbH(c5|P&r@Ly$uLI(ROrBjbK;^%fmZ*&YAnO%b z@^|PoldMxKPYf8Rv;_~d#dw-SSehzcH08SrTIX@F{1SKO4p^dXuNLN!Tx@{mT6BK* zy25chS6)6AueQU=J!`fq7OD#~m44JGT<_=n^tZHs->b}WDw)IySbyv$Pz&(51&a3c z`R|k?%lj|qjp`zjB6UDGAZ(D{modS8tb7MGb=!62ejka*k$U5OPv ={Gcb@y9!q*R?};mIIn zDh1@#C4tmjD9CAQqkWMpQ%`axhO}E|7q9(V3^kG?167QrF=c1`-P&|nKC;hh3a*B) z$Y0Bb0RbqE<^;ofb8sh98RKg}B0Ts!lCJ-TtwC97&{5&LiPR%e?vIO^w z^kxw6<&^D_!&3+JrO4#yw_Ap@Z-4Xr5!}7Lw*72i&wGQBoorWnE=Be`I4o*sZgr^o z;k^7mrJL_GLED>(RA!mLMet$YRf+$OLIkI7BpE**ur=s;O)v99S|;a(?XHrBV28Ed zn}vBU!WJtFlMh?WaH#qN4y$S<)CRXvttTsm#P?CtCAhDbj`fyjI(d8x7su@w<$k`G zw~2PP>!~qTRq5T(Zds4(IODjHCeEWA%#< bxZuL>E_6{AZA3!P#%%CRY(ajIZ#4paSC0(X&1Zr2#{GqlM?SC>JzWc? zR@4PU>`?8fd=Je 5GHm;R RHfPUm{W$jb>Htz%Fs?Aa}Kx~vL=#N?R