From db8071c2d4aba6bee1a02364aea5240ec1b07cbb Mon Sep 17 00:00:00 2001 From: Damian Minkov Date: Thu, 10 Apr 2014 11:07:36 +0300 Subject: [PATCH] Separates phone number service, to be a service in separate bundle and improves the number matching when searching for phone numbers. --- .classpath | 1 + build.xml | 13 +- lib/felix.client.run.properties | 1 + lib/installer-exclude/libphonenumber-5.9.jar | Bin 0 -> 294821 bytes .../GoogleContactsActivator.java | 21 ++ .../googlecontacts/GoogleContactsQuery.java | 9 +- .../communicator/impl/gui/GuiActivator.java | 21 ++ .../impl/gui/main/call/CallManager.java | 10 +- .../gui/main/contactlist/SearchFilter.java | 18 +- .../communicator/impl/ldap/LdapActivator.java | 22 ++ .../impl/ldap/LdapContactQuery.java | 10 +- .../PhoneNumberI18nServiceImpl.java | 241 ++++++++++++++++++ .../PhoneNumberServiceActivator.java | 44 ++++ .../phonenumbers/phonenumbers.manifest.mf | 12 + .../impl/protocol/jabber/JabberActivator.java | 21 ++ .../OperationSetCusaxUtilsJabberImpl.java | 3 +- .../plugin/addrbook/AddrBookActivator.java | 21 ++ .../macosx/MacOSXAddrBookContactQuery.java | 8 +- .../MsOutlookAddrBookContactQuery.java | 3 +- .../PNContactSourceActivator.java | 21 ++ .../PhoneNumberContactQuery.java | 17 +- .../thunderbird/ThunderbirdActivator.java | 22 ++ .../thunderbird/ThunderbirdContactQuery.java | 3 +- .../contactsource/AsyncContactQuery.java | 19 +- .../contactsource/ContactSourceActivator.java | 57 +++++ .../contactsource/contactsource.manifest.mf | 3 +- .../protocol/PhoneNumberI18nService.java | 196 +------------- 27 files changed, 598 insertions(+), 219 deletions(-) create mode 100644 lib/installer-exclude/libphonenumber-5.9.jar create mode 100644 src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberI18nServiceImpl.java create mode 100644 src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberServiceActivator.java create mode 100644 src/net/java/sip/communicator/impl/phonenumbers/phonenumbers.manifest.mf create mode 100644 src/net/java/sip/communicator/service/contactsource/ContactSourceActivator.java diff --git a/.classpath b/.classpath index b0c5f2d03..cba1bcced 100755 --- a/.classpath +++ b/.classpath @@ -66,6 +66,7 @@ + diff --git a/build.xml b/build.xml index 722207cb6..2a17369f3 100644 --- a/build.xml +++ b/build.xml @@ -1047,7 +1047,7 @@ bundle-protocol,bundle-protocol-media,bundle-icq, bundle-icq-slick,bundle-mock,bundle-smacklib,bundle-jmdnslib, bundle-jabber,bundle-jabber-slick,bundle-swing-ui,bundle-ui-service, - bundle-jnalib, + bundle-jnalib,bundle-phonenumbers, bundle-msn,bundle-msn-slick,bundle-yahoo,bundle-yahoo-slick, bundle-contactlist,meta-contactlist,meta-contactlist-slick, bundle-plugin-icqaccregwizz,bundle-plugin-jabberaccregwizz, @@ -1529,6 +1529,17 @@ javax.swing.event, javax.swing.border"/> + + + + + + + + + (_RaT*s6?>4KoRE>GrJIA7rlp#moM}*ESY+Nka-@-(9;K0{6@r31EL2NG zr|u z+y92f`~RWs&FySWY@KZkO&tIHH=@MknO8@}^3I_)Q68gW% zE1TOnI?4T~9+I}EcBKDXU)b)C6P=N@!Jj`xDmL;93aCDG7t6MZu9&}&b`;nJ&QVcU z2Wc7Nhw9^;f1~rqGEGnds@7n0J{6ge8L{DWz7&W5&@aJ}lAG!}PRq@>Uq56nc;3Y1 z=y!uk?3-XB9}~Mpx??e7$rEFW#AlSi{3TBG8m2}^jdbWKB^>|y1AegC6I(ZkNQdF< z?OKpH!3c*5sn?}xj(4T`#9A|Ftng4R{e#yqSBni-;jzR$Z<($Bhh|ESu5JATbf!ti z-`pJUwzK0#R$r5DXx1#TA^6GK!n-Ar7NwwFb=>B-h21w~BX}ivKcoLzYmSn6bb(vb zo7;?`(_@47&*`d@R%eJc&)k#YeEQ3DzWZ6Tl`iS{akj9Xai7wr8RgKE@WbjN?n0G? zSc7dxlS;n!w!v0K`gF8r3uo30pzSzr=#TH6;)=yaQ$_{coYmnW3U`n#{whmSt-*>; z!&>=*ls|_&8{$`|6V&0Eq4qRWkFlr$~_Gzl1!_92@{SD&_e>f&OH-7+! zO4$Y5mBsF;DBZG;rCgMBe>M^AF6evCczQHP3$)IKma!BZcBFKU@P>Z=x?;^7V z$bEjFQTYNH%`T#r1uLas8%{qeLN@Iua(!~&lZ4@fYbK8d!NtkM&n)N?M!hSEy^*&K zn0v~kiD2*pX{-N-$%hgxJiKZF0TnF*0WtmGOkUwXTSNpDCm)RCpv zjIFG#u8t%H!CqhxV5U+fxa6o(At=OBB4`m-^m!t%`K-zW%Hgh;>s7=Tu}cnU@@AmG zjzDQc?jbqc7yJ>qNF#2Cs4rhT7hAg1ChPi`%DEZdjMDir=lu+h!)RRd3i9Ke}QopWSjLwhT(S zyJE|?uT)*j5ERC2rJga*1NBbLTHHh9L&_$$9v`8|VwCPv<-K*h`%AvXwl0)&RC4kU zErh*?AqSRru+MM2VypP9%4g#lITfF_gW>D!x^{ z*DAX6yQPeJOiODr&T$r>WQDyaD!Qw>g=u$KmtNqWyy;OZe3=&!IvF&-Ixs@sW?}y< z#hADIrk?Z5J{bvr1r5KYb71|LQp4Em90B|0 zmdx9W8#xQh6Y)Ry)Vq;EHQl(pP*cFM{rpWdt zk1P@KYl)M2g_-efiIW9|{j*eE_RM+C4Qis2tctmR$us4_s*6gvlq*Ww!4qi;ec)NX zi9NJr#*je_0Av%C9htd2+ly+c>(Ir^5~9?yRbf6Eva|v{6_gf?O-segQZZJPnpT!J z#mjOrf>J_Y(vX7o#JtW*$i+#YI7I8BlI%^|;$t4^K7k>;B{qd637zLUHYlo@GGl&mxSl`mlQSwDqN87x<|+6zmhNbaQ&=?&$a_%IkG>;v0E@CodVh zf+NY4D+(FA@)fPfkv6~+$HcBA@0y{B`^>dM{Y~iui>x$8PuM2#&z6lPKYNp>%oPUM zKE3Rfx=MRgyr--Uci*cOJ>3*J6%y}tNnuDlUgBk;F$NieLVZR&Zz7L`GM`8TuZ(=m zEC|2Um{B5++!#vY=im6QL>|d8<;53^^E$kT3s_SBssEpVCn#xA+uidlhek?T~oXps)Yz9nUj7$mki|OC_kMb*>+>lIPgnYbC6tb!MMqqGptJqL%HY~4}5CB-54Xq5E4lUunb%EB7s)^kyIG&^^UD=8Yc9&faE6m3- zO*|Ng^7ajN2(GLCCO9SC;0B?rt0-N#$7Tg->D+|A-f-5a3+xdm*QVyEy!z$e6R9wY z>|y>j&DJh!`DhJPQl=}6zmMSJrG)$J)s1Rl^Ui(|-u;FMY#hHYM?*7FZMZn8OjXtG z$S82MhYD%UV1Il)tYJy>d51maA&&>Zvy5`iSa!+qf@TuO*lFn8qq< zs_EAonnIH|j8l)REiNWcQRxRgtgSY(5~DloW`)8T#&zae>Zv*lFTo5JcecZ5t0t)| zB|fGnGmg?#RhL$0D(cne*Ly&~>*zz-&amoHw=B}x<6g82Qg%=7%JwG5e zH8FymzACe_fo5}Yc7?!19a@%i>C?i$gh3qh4CGIOC@a%YXvwekV(Xs{btTFXtEMkQ z3s#98A?$KdJ9`Zi6{Q|WUsC7HB^Q^%Tg?jKTnbgPa8~7Y5eOF_pSUnpt18uIC@?;r zT(9REEdQCjj}H%z#|pJS!_8z4zbX7OQfY6mYp5%uMlUfZ%1hEwQe-X}WYy8{=!Kxs z$_#F(K_o5JQs6A8bQ!u_KL=N7$+vYliadw0W-=F4eftDA8D)GjX;LM7YMmrQ`!()^ zk(woO0&irA-GLZR2ol#`TbS>49G(uYTJ!`fBA(Ea=QT-_qpKG~@^R?_j0IW)6j+^ffH@|pn zXVR%lLy`(55A_L{H_vGVSA{2&NKK<2uZ;pix0tVBSns>(*Q^$EVvwX)w44c1n4-y0 ztGSJBM|!;1|j zlj1@FwgF6D}`Px`l*ICgNB^b;y ztEO~A$J-a;ATP6!M=qd{5fHm>TPDA!Lh(qoQH{8ZSaGJ}D(Z0^>@H#Alnb4!Y=`E$ zDs-IAF(QyW^pGnq1LN2sRKs>TkneQA1HrgI=fdW_H-w_5kcP9Duq-L64PqO1EVjsw zScJ4hB&39GZ2XJq`pUnIz=n01A8Lo_xM0efByjo>SY0{_0>csXtLLa;IXV}yv6c07 zoAUs(L?w@6X~=cgRYP+~mhc<-IB^=yV1gvy<(AeX9=y2c*Vf@##H({#!G~}x&9E** za)FuS=SfzGd#mJVUCYm*i>W(Z-(-Eq^UVqzgr>%|EEGtj2|faAc$YAyq`0^fpg8TL zZI#f$167os&BKCnL-T5aR!)2a#5(!=+kAPI#N^PB=|X+Sqfj0Sd<>7T^V$Qj!Lc1O z9CFzb6#K*;0jPFOP1!*a?5(aDSX)&#QygStfxbOWrDK@}xViIL`Dsr*_%hy_i;`|n0WNPU`)oq=l|J40bTFd&!<^eWF8 z*qBNitj_$1D6NJdk`<+3PZ%bd8~@`o(4O(vQklHw8s@K96VjL7W+RMmdF*51VEQs< zM3)7DDI(d#Xs5D^BkSVh!{>0|=y3Xt7|%b6o`Y*Pc}Y<=s{YkadDBgF+?eDm_do}2 z-b;0yA(0oes)iS^WQ|459kdK3j64-h%$sCElgl!JB*Ye;&JBj^1w?|>HWNkC06hP9 z!H3-oduk@T*|ioUhNsxuKQS_2V_D+DqTGL*=x&U5&&4`wS^P2b^Y#T&A5|SAZu$v2d~!tS5c|sdK$l zd+}r=;V70knZ5YAEQ|j4rbD)p@;s+ifuUO zb*-v)X0brklSB&a52*e2fG?x~H?G+=Ec56*iFYb6GZUkQ_0;)3$5^O68`mf=qagX9 zbADtjln%}@mrtxMn*l^qwTr(3%vTdC(&h?U#;KMli9#Ni?f8mO>w-EcIML+_YY>U6 zq!xy_Gh1Sf?Hv^!s+GZEjhLJGJwc2QMJ*7LG6#=hY5_`@H-D*{R$AfS#hW}P?-@_c zRuV~ma!N(=W@4=?|2rHa--L9m1*cWC7L?u|4DRSS&M>Fw%a>_y8Q zRuvi~YBq?m?DID#OKAkds zV4xiOmXir9#H$TI#fOc9Q{lmE5K&t_Sr-=l7NJ#c`sua4-h1~5JB-f>LKP4QaSbi{ z16Tu_UUO8j`AO&w7C$d#n14AIp>bN3dh{K{+x-4P3x%|pRUmR|QXQi5L$zL}YL>{% zuPk25Q{b>CEDOE77UQiYY4misPDDrNR>L1LFtXSEOcdXD`fQyw<>>4nynKGL?fsX6t_Wp@2e&kNBc%q2Uve(>+?{GAmdzkKrk5jmp^~0)Mhu`#by`ed=?y88jjt z(k8pY@8gxZ8C^5O&ofUzc*ti>*hB{$w~PzLj>UuN8DU0_&cyM!^=^J6`J8OYgLR1# zQvX}sYDLTuXB+|Nd-8cWiW-y*56}PiVuTwcx`Rup7yk;E0&Z@Fn$ia;^G4V3`uYp_{-> z6quVxf8r^o+KtpRuQU_`8YcAWkhHyOd>Dx;th|rE+%mAFGkK*xf}jRQDOXk%o(F~^ zY$w}!xYy?JVWP}R{;ZHVAcSXJ8GZ%g42S$rL*Tk&Que49%(1XqO2I}KBM74y>LrhS4iFhkUJWw7#?oJ z&jrSZ>x)9^hfC0G!j+JS(cg#abK5_dB|W!(6UdVug^Z^N44PoGWFfxb`8|R9pVwLP zTC^L+MO6{&vLP`G>7W(Zaju5;__G}hhBHjYsy3U+jiN15`5l>{#D*jxlriSA?Qy5r zsyY!&Zcq`@2N7p%mwSk09V-$}Arou2g}fQR)kAkY9=-P1}U6 z!|mH>LIbt-$)gMUI;$jtq4xfOkIebu9d)^mNC!-*&P9lCh4j9KU=5LzYFQei=}xdS z!MLjOj53Ch=Yax!9ZbY1SWtHLF*tcj08MY|ezEBt74R=!%*u5yG~- zCr3sBpxXv1^xPbv4z1kKA3aSTq3_Ib)dkuWAn?Xb?u_TdE#<6^8we{l?Kn_eGNrJY zt9Vev(gbcHGCD}ZM`+w!z+414wLSirnQlP|xRZZlsd$G z7~7c)35IRN4>;4E3Uy2Gr<6xxPe{jakBv&}r(vP&FDYRh+9smUjdJV83pZV5?epg2j0<;GGJP z_1!;XOxK?q2rcMFrTXuc?AvijOIU`MRM3msamJa*7_#FFurl9B^oBUC!9v;u3;kTw zP+>>n%v**|TL*H;omFoP&d7%&1tKXnn-w?t5OV*WiSQdOI;2lRS-ORjBw15qvNrd; z1;#6QHg|j)?GrUQ3z&K~JxdwOn6{QSSr#29cuo&M&J}ACo|O412yxnyu5%)EMQh&h zdZQb;nfZ_b+dbno968RtO`Sk}+dJylB#55zef0+`sNo#K5z#pN9*$wP z-y}ye5a1#C4sbqILp28(wB5lB(pGlx36Y$sXl9I<=g72~HAQvsU*XlKTaCW+d4Mhiza@a@=F| z()d93EbMC2elyQwtoct*E10P%YfDthQO~ha(}ZRuEvzHMIYXo?hBIH8W;N5(WN_cWNacbt0mO zIZ}GpcC80(q47U;Vu&lx--db1_xmI}HWyW@l50r8l6!IgG!-=huF!j8cI*Ix+rsHq zkYwDn&$Q19%!w;BOA4|PH^l#9*}G;+{-#7(7^z!ZpY*;LhE#hFe7_-rLj=uFgYVEG z0@drrMD3&v8WTeQFHGM}rL=H)dCJj@9wM)40moWzD3qOv8DX`km1A_@cz%<+k~e13 zw4SJ1<;pt3MISSO<~Reyl7nLkntL#Q)SNku{vNS+IIY`$l>&(^$B> zGZ_WDv>SMvv3NM`H;r#}Um+u8ArzyU%piH1EQdOT@AiJriEnLUM3OX(2_@2DjL6^r zNCW`-Fy3-#zcI98Q`}OaUYH|(lAOLPT6I26h>vl`Gm;$}93zT;5%ZlZx@e4Rk8dR3 z>mPATyX(K<{2d5!-wHv$MvLePSAJMA|Lz0ZzZg_Y3lA9g)MTT&VSmj)_l-D+Bmn%> zzH);tYL9a#pDT8u`=;wax6`P_yTAYidPtC47!!H6_<8w;|*l)6_2RokP*g z)Gtnrx}9S>(=;Tnw9cW=MP)!Mu*!B zo>pR(&{BJt@WaB3Xj|pFHx}U+Rn{*WP*J7#Ak{`PeEI$U;Wqdo`U#Eq)fkT;Me!XD z`bn_lKmMTkhW<$z;wRhohI3H)&i$NI%0399oI7D=r5B9p6I#$uzZ9 zRM#FafGNLs2=U@yRubR8rxt+NPH3p)Oz%mjt9)vG!$YY0ql!ux3}{igHA9=Pe)MpsJG5oi^d_tZCv4DGo!ho!Z$ zj%!Z7_1p!Md`$-b2$0=dpar8P7;6IytSLZ&OPmF@k1C~z104!JFgqIy5+tCSYp6A5 zSuP=jepK12e`JxG2b@VuLXdq?p2?2^Nqr{54T`9$PR&E^*;^8zO+XZEo~I?kzu=9#bAA`=IWzBcm*ZfR>h7VwZnQZ6IKx>=}n`!T6(bg-W&!_9GRy zECQGB%!?x_akA)CNAsB`M@S*{^vl}fiov?HG#TK=T_{+x1nzZxM#WDj+j@k}o0Kt+ z8<|9kkzxd7g%^v>i2IO&fex-vltv|cG;(dv!#)a06UdHX$}D;{_0Er+kJ^tU&3{ML zrd1G2R1q~70)=vW;>Ff z4N|s}tzx5>R|x6`#aEJ;$*WS+cw+;I2_$!%93|H@r0I#Kj);hC6xFof;jD|*%9fJ# zr0`6UR}$kAXNV25OJ|xBfe-Z>ORJLG1-H!0tZpT93S6|#wa|no=0Z?4VhR}J)=thJ zXu1Lvsz_DD7i*%)ByrP6vkJnDYAx_t;bAWbHbQw+1nmnO?Xlu;DJn3z(a6r{B59-- zVIe`Trq>7Q!q+S11OTzb67wi=Lhf2b?)XF%N_-8EmNJVL=T6c!b0-BBRA|$nvc!6n zXQyx?mC71S(vW`-gAE>G9YVG8z3|>eJ$Uod5Kq-`CKz;SRuN|3L5`RqMsRaogT%rZ zuGLns-i4&?X6F{4(?~60GcL2n0p{J0L&^0*g5{?PS_50uaZ|~NgVF%aVm+&~2}zik z5sD{}Cn0HlK@*DK{WZ%twBBT8{>)1i073MM!gX?`Y;6f6Rupg$E-h!aUqAAVkLZya zYp$o?XBE!I?X2Uf$=zyp4UaD0aDjr-DXjkzNmXuVWp+6ZOB*LQYcIP|6QY{eEYb+^ z{xD~Fn2Z;gDH+nR^~tol&0d`AWL*hj0?*59A(&e9Q#&mu`A6o;9_g5@>^zF-?A3uXU4W#PCoyICaW!GFWtNd(Zzxz ztw6mFGFXd7q`$-Zt}Yz|4A<%zCmQbA7%*#{&g#=;RZAjq!}!rkXb3nR&+bT)>1Rq1 z`UvF;9*Svc0Xp*vIp{5Q68VRZL0Q<0E!L56X?Sj+~dw8cjR5!16a8?MhKCQ zPM#U1`LOQgzyCrgcEg?Q2Du?@ofQyiEctJ3{&lfad0G__P|rith4SDt3v8{^OcUmZ zxB!po`b!g36^n`b3d_Nn%C-HHMpW-i6V8R%2OTk9ojHHJcl>fkp$&&g1H5g9R7VkY z1BFclJJ0yOLz1@N6rPmCEZM%u*v;8rMYlPP$BG+2HqldEZUY zQ*W-VY_{fCS41iU=7jbPZ%|wra`>3H*OCi}s28(pjbtO98{l?h^@||1Rl!a1mCRs!gk?eIXb_9LBcm22tu`>^Ck&DNlcE2m<{U|M7`qXD0viEDl6RDzm|Bifv52B zUhOZg=2qf_wE7ckeC0o#?C0(9WPj5{@XT9sSlldNR04Z@@ax=@4SGZ>{Oy?b4onO~ z*I}6{`3TuZUaF8vWIXwM+jUlUFlcd5*B7%B@=sdK;CosT+VG(wD*`6$B+CS#rA4eZelr%AnW-zbGIpgw|ls^dMR%<8dI(xVbR? zoO<86Nf~p?{3maucCcSxpO@`VRptSwsMujyHYnT~p;=etF3&_@(Bt!tA4?rz&VLY; z+sHc?t%JBSw1YE#k9rzX{`A9zoQ=bpfXt=*mM|xY)AT+08h+Jw2RJ|?8W`-36)pcs zPEL+L=)3dxfjpVyMI4$y2y29lCUtN|FfWE|T$5P6A(l+M7>s)O-oFU#vYK16b|^LK z0Y+Q3@9m}AW8dJl$wRb}NvrG5?FUs=7j)QA^@Krl};C-odJ~ zvWj0@M+42qP07`OK)8z1v%;F2V&PgInqX+$|NSoL6}PcbSJ1H6#rGUXsFmT)fRT>^ zj_8OCm2IdF6q`4bF>{tB)5k5_7i7YIRp2>GRa>`>_#P6KRB#rB^RVFflBxaB zFrsecDf1f9M|6w^4oxj_CUflfc%JVCfD1T4_X9NX!yg#=MvFA$Kq!VFG6Us(%*)_Js90Twh{2Gd zP<`Qj6(b1Zia_%oC}@zO_58O68&%Rr(htF%DD=9J>}xz|*iHPvkDIic@2><^)u_o! z%0K$6c$AuZm{wGgRw~%VU$J%Hg3~YIUk&z{RT$~UNGhbWG?I#C73CH62U(yUA7gXi zc`as&p~3IZ<9wSifn^5$x)8@@W=9gu9ly|$a9_J3_6G$vut+Y+gLR zs>)NnL6FKXB%t?}i=Nh-#G{v1ATD*??^rKRzgxSC6p^$D*5(;bT>@|2BCBIJZ^lQ% z)0{(T)UK>v^seIU*En^B z9oeH~ml?^SdVTOd_;O*H~z3M|BNL4fIR5853@7=Bw2O({{FU7{{m0_8BXfKeAsC}{-8hZ ziJ0&u$S8r;VRSF16cHDVimou%nAWv-W2`aCUdO6-AwTBL{}E^pBlGdTUvcbf1AUOJ z=UG$jM)`P&I|5YS>uO|EO)MPRwWs>#&aW&@hrGdIWI`N&NOF8kJcAnh_6+{XokWQ5 z2|ThZ{=_5p4GGt$*S#Lp?_t_xosp0zusTQLqFPJkm%=(b6gS`-QOyZ?^HT2ydI%mj z_mV5vxMBPnZofZZ@NMihA`@cLO9PVOg!mH$1v;=}*nKKNS129rD z0`3&{iv~j^5i~XicSTdrS>Q5?aU*7uc?%sgQx)cZoE*WQQ$$C@Vxd{Pw?4j@2wR^x;o?>Th@+z&gun-w z>yXI+U521OI?VCha(fJ8##Ok8TLa8M@!xKB$15& zaZ0&YK@J_e=HO=7cCKwH-|;!Q>S%=|7R3R@uSBX?Ai@rHFbDAN9GvY2^}&hqo+JZLyYl0S z!l0gT#{o$!GqkESIh|P0RrqdSM3wvZ{6OXEDtrRQ#}ghy(dsP@w}EBdnRs-T+U1?6 zOP`aWU+bRqGryPQ<}C|Y-RM=UNsWEsUgRp{Cw_(}zW=--J<%pY8zE>M{>jUAKpGXJ z0u1^SZRoKXYDS&?lw*`6<>WT}A9RZ9P2eMhoe0=g|0vUgTp6ZiDNH}udQ2G;Xr@Ib z)PW-gO-_7tYU*5Viy(L@l*}TQfnX`1Y6Z1E`6P7X@}=8=dWda><^C2a?gvW2^-bIis@Y5zqNva|i-t5G# zB0O0|dCVsr&FVEroGRi;qDsG|BI?s77DSSA5vvvXF(V4mxYzzJ1718#AH_<{;0uiM z@7TR7ezN>u$2)EWsv-KOis2o_)c~IpVNjak=f@6+hX{kFS6xt>{T6Jiay(TXSns<# znM1z@BFQ$O`6OvV;Wor~07jp^7k*JDDCc+^1Mo#SBR|$f@o!yDK6UDo0WTW6-jgAX zZqx~N>J*OiA_5IVS+r4y>|zdiX$L+JVl;w5Rc^iAdZ}9|t{x{^`SmPz`zVRB%B^3l zty~Y(3d)PNe@)z9wO2r&9-0S0sA^~skJ{WV{Yy1C;=++v>^exoL{!RD<)C zm9n)cxsPn5wUL`t#YrCg9H~K^a2^$H#g%<1i~-tl4E%u(^Q6{U(6Um@$w>9UsB}1M5Z1DE0={6jfF86~ zj~N#c)%>nce8^gs{IGjW7av^CcXsoJm+-KUwXGvki{30rE!=QAae-3RV;7EXEDvT4 z_YDJZ?0l5wqpP4{8wcgCNa4-^7B@7D+jgsR8OR*C6_tu371q@ht*0UP%ByG z^2}OI4Gz!0#`%%=M9-g4fG32NQ|~15BGpJ+fK?FF?d$}<A6-Gz*tk+hfj8{EABd%`76z?1`tSu; z2GuuwQ^NHl4ZW&zkXbD-Qx-U(q<60Nq*5q_I-ls$Lc@z+MN(osG_RJK_*?<3GFZJv)p}5^!i*hc0h5;n+L=eF)89gUSoZycgkP^K64;oKfIZ@z)np;nv-r+ENW%2N7>pBy!+^vG_r0&y20U_ve={(IsYcpkIUb!t2S1_Lbv7NEf~9$arVXL4$-m1cvdGDK77 zvY|s$P+wJa(U^3R?BE<`d3{Jed|uI2@SnPe$bD2zP+J1yn=r}`ObRABnu8C_uW}q# z6q&RXydhqFU9l<>f1h-a2l}*oBjTwB6@(eRS{2H{HnzqFnjoKiY8mXYa<2uV*PsvP z5V+;Mfyf-#CzW0V$d;GNVmMHzghozr69uCy`4u?TIT6|l5hhipF_=OXxZ_(S+WZ1& z@0^Ina|1ZkDXkPBR7arew7*uMo9KiNJQ&mEGmx{C)blUg@b^W1OxNEIRj>c%54pc_ z?*`}(xNBexNtl~HVa+b>fGwlhn&sq`nCKt|JX)CYy&`yVg`9XKArv>gwK zzyeL%cY6i{Eg0)zt9-$lpG#{v7C9z?eVALz;mL&CyYvU&QSCWnfTprhk6Y9XJ5)<@ zOy`0fboT5x_<*!Y3|r}n`F|6|WWSJVSYTWQMY#5pZIB+NMu;o6l>dnFeIY}3PS^D@ zlg%KILTthTHujY2O}={O0ApAOky7?T%Q54eM99u#C$0q| z>hS1#8dgFBCetyTXvd01Ah?)#6x#GgYonX*AdbZDF;2GxITt!Ze`0$uZ0P7DzUiE{ z41E2}24CUg0PnDN83q#>N!o|K%!j>W9OnPhj^v>PcC}WW#%7(yM9;15j~DqdOpC(ddiqaMBt+8ncSvtlo2W6%xyXYQk1fHR!g7wC=_raP3W|-Azz^fnj}KFvRl( zymxl5Qcgbn=~1i&wMF!PxWnq$4uyvqMEsS^%%BGZA82iZ{@S<}TRa8a!-i1b2s64+ zPN-ku554Y{TDa72Tm@`uDV-~&4KdMpgg6@=;$jngpcmVM*T;XlOOW`wkPy{_u(iOI zcQ`-W#;ckdpB78OAuRq7PZn9~kJ>KXrfs{{8DbM}ABkZkftnX|eX`+!(xFaM9xrY=YI$jz012hJyXRUn4V=S-G!Zm1>=7_W8l?z)M%$ZBP< zf)F>MBsbE#MOG{Bg+XdFQp&zD<-A<5#rjz*oS9IQ3meV+bO=f#Y_4brqR_f%ty~AD z+!9@|bmPRH$CcD-xh`nWY;_>-y1YS+3olR27GW~1Fq1}z-u6t~Av#Tf=@EV;Q|D{| z666^sLEO6LBu3Vd*WAA*N#7t>Hhb#9kuhNx(3U!|%h#6rX5XSSN!%()(*wP*OEJ!t zIdxEv#j@U&D^=8im-4+b?yZ#BGw2Z7CYM{3V_DOgoC3hm+el84yqJDq`pQh!jiKw< zW553#h2Pl2M-A2=CCjbc$rT+t&2=V#lN@#Ymi27@I^)+{ZMQM@^ic z(}+S(WI{~GHwh{12Pr%G*znZO=u2TQh4g7dv%x;zIG{;?4wCNcXsW5ACGkkbUCR2E zcTotM6_*kt@{I<8|JpFMP1V8f6QHh(V$AWcYM4=W9D*TGb{u_g9)vOucU~F*29-QM z*3Z*SJFs~T9$)5@QU9EgCnQAD)yG)qd*eV5++LGe4ZWR*IxC|KT`}tJVa|8&k^vzlMLaeX& z%^AA|tnSEQ#?%!`yrY))aaIex5mJ6n)&^7CW2hU@zw}1%V0E9AMLxip-ucjEe5}oR zA!hV5uQ~BWHr;`^AQMbY?;WhlzcO0m@YB^_jL=|~TnhT%^^qT|;)}GbN>?6T-tyua zh8UtutAQFg?6r#bw~a1 zh)p7hkcf;A`3lVwKhE=UcZ0oxZgVvyIIC+(TfldI{(FCKb8ov5!!#i>JxVg|X3Z=U zdywm6)#MJ?nUdOIvREFm8xD>?+OSUEH{Qyo6pN;1YaXyOceg=UxLApZs)`kR@&rWm z$mfedgInfeTW6q3< zmwRGI{YD08%y}`diBd<~xv{2pLO8nf;!a`o*L4CH--|Lt(EoMpMlFA3(il}2V7CiW zezW9=sR@>L$I%(!{>{vf)O;`ZN`@eea1#Le2H_Tv12%J?uxH{!)j1*`=zGV!OYK8` zF*0MI`3Yjyf~h{S7Z>*{CNh!7k>)Z%%7e;_FzK<#KI@*t5j(_ccF$V~vw6xs>>j6& zM7~$5kCvPVHX^BObsCi3$nBXl*?o_f5@~!h1ouHD$Zk;!7fsmFrMc=2LILbq+v)W5 z#Z|kPR8|7_{t|s<-!|l=_Vf+^_3N|)=~YPxNWiTo|!B49udk1{tZOa~{2U6>m{x|#& zTII>cE~yVeW)$BDSt)AGQOB-JH)PwrU~2|HNXP3zZ3sUw!b8cf%%Si z4{ztd575m6{{a7+^ew@+`s?2wxScz7%!3+60^h)*JN7k!Z?=iU8^V+B8OOJsRgQ09 z?&P1Wq+5hFo^K@WQGU~j*Pd0&ZvgE5j0XEpX4de})byb~jGQkXNzsu4z$pX96H)l% z4DaNuV-#h=X?*%GKaAe;F0z{zM+k0pa7a=K_zXXEilo^!Cx^bf*zG5Et>ham=bu}7 zb5$P-w{QN_d!7iUL!&kYN?hrPq+H=!T&_q-n$W(Z2NtG_zobVmhQ^6t;^Z?f#`o6R zJZ+uHh8~kB;i?O-yd!SM{@X5;Z|fvmw6eKS~8VGt*x~SJ|(S#jyULI z;fYY>`CG1j@h!o;?{kd926V%CBZ~`Z6CLQoC<|v0$%Y?aXd{a+d+4i^^7N*;`W0pf z?X1O-+$7`tMzI(KxCbh3SKLEj#3zgA^I)xM6-tDY9?84Jl0J9um!NwVyaVmF6L`G~ zNUT5(0P&(goC_PIW`h?z?M+Xk%bohMDh32Ys8OnctL~W}(Ffq3IrgXs&m$nh4UN5^ z!v&X8(R2QN22|!HY$<0U`oOx`95vG}rw#Vv%iiKNg6fhvpoGix;5GT>R8YRbNX1U zR}vXADehVWwVS)y;JuXt6)P-OXyK=@TgfGAu*jr1rF>>D6t>BT0*&1%f|Zs%2TKbhW5adnY%Ek?gp}a44%!U|9kL6Hd{#_%;t@iSwMiGenHVo z>w&Ua2DxkI0lQgI^H=vB+fBtTu;fY3P4Ffl zd^SW9Ye)Fb(U}^m8p*p(HCq+Y>MoUa7(x`^?X7_d80F#XpcfdI0j$Q;8|7CiGYIwP z-ksA`LZ2F`9%z{_(?zuw0sb#F%*q{zws$=HMxT;D)~g8fNh?DJ2)dDBp{I4o7AV7% zGogWa!QChS z&x+P*>CXs;t3%|_gUH@H1JIo60;{FfHz9~i% zpxbuZcK6q|ZQHhO+qP}nwx?~|wr$Uxx#z$4;XK`(q>@5X^|p7iYwfj`39wuQw!q9!>ED*Tr~VMUmGBdx=ATRd26S z2`2trY~KmyV~gJAaR;`A{AodhRje)so^VeIPn6Gd?%ksx(Z4$C!1esmWRdI>$Mgm= zy%t@Y6^;Zk`o9A-G4B=~Tq0a@vgo*HMhZfkRSz`qi~7PrPh6?z_5wM7Y}aq@3WMEnu^;<5$|_-J zA@MN_Ps66iK#pY`(9+30Bw1kJNN3W@2||Np0tgg&lG7;b;wni*LZ^-gLb89&Me7LC zzBqGA_;=x@d5#)U75Gz1|4vi1N8%0fgmpYHC!XwE)+HK%v-LiL^i0HTZnLh|UWGEB zeaj7s|3;KQJd2#3z!>UP{E?gVlPt65OWldgsZzeBjzWoax2I;iVSM^I)x(gCbtoZB zlsiAY@{2#G;?|t~wSITSZ8`Of-Nf;9)1}a{49MyyWl1;O8nu_i^bwuLFI^KF7x3~8 z?EXXgyw*2b`Ujlsa&L&mq>V~A_#_Oz8Wuzg4j}}VKF5?~fK-g>ds!k7J62`=Uo`4t z{TP%l;NvlZ_b-hSyhkTqfCerZq&zmx|4A2UYC^yS9Sb}f-YtjXHmrDrN=ww~xvp87 zn&tZMDem8Hd>l|PXJe5B3XbU-gd zd45PGvVWW>(wa+{hSg?K3S)z#oVgc&x@~l)RNDOaH7;Q)By3#p1pKLy{dxt^P6mQr zG2j#9WqwZM7fS31!-hpbig z>1%w{k8w$&Z+HP)U-$;yE{^u(=SQoHS(IrRG}k6Z?D2z5*dNpf274J*uGZJis3J3U z59CoR305t`fJX4gST>GLi*QXbNC1{0MD99ijLjz-2YC4aQVh7E&qdbU8)(cs^Eq4{KJq5liIsKAfP){Ox@3d7{>tWkAC3a><52pqQn@%UsuAC(4>_q zC5lOMlKN6i6c^%>{!+^w-WsD^8J0EyPDdom^yI?1j#xBIvjV)%fEt$BK)?}?&J4`H z$Ptl-xz6F{*Y0tGVX{D8Bzbl+rf-RQkq=ZGSyL=>x-yk$O!&jli)yIFWBbsnZDNl= zpIS#STtpB#k>U}TNykirkxgLlsJx@8T|nVzY~2dRNdTi%T^Rh(F`hs4GkQTK1FB4C zdFi}5N2y__aL}uqNWr&@AvHcexLss_nCe8vUW_N(`0QKcF~rtKiv-`&Y`OTO@U_pL zgkMGOT*PtnwNIafUqyX${5C?d06LbuOLDo^>h7Au?J9fO_u9z{y><7?o^KWq4IX#a-59mB5KZtsa zxdH6aJ6-A5xMq_(jNWPr5pv z7{A96pih9xRR(rW{cFQ@&=_M>4V6dtz2Szywln2Um~&|n8~t!2v|-J=D|Jx1!q8u| zmu>0_M7>bLQS1cc?oj9h+jPsU+kHmfqNxkwQRKxh(vqhOKogw)a}54QG#ZawfqBPd z64<&WF~rCaEw-pYc~5L00~7>)2vwFJd0|#AYWU!n0fv9@pHT>g@pr_R4RHmNZ_jNkUG(~sf9R9{Ro33d^=SF{H*xOAS0$y9 zpP0U4+LQW}aeqlf*`TKLVHu~D4u&j>Xm(CH{W-gI%?cyxUg_sjfraz2{l1W2Koz&wNA?J{UWGAf8XW=MVu>ewUUJT(nzXg$i{$U ztntID1PD@RNybbo13 z;(a}yE&%oOWqffdG@*8HZ|czQJTrB?O||3xsj$ChM6^D*^Axy(1=}F96EZDZ8u6}F z?q1{9(Q&2^n@q~t^MnGmkXX@(R5*YdH%xG=8^wi~X_(-Q z{YY|w92-L=k&SSUTn(YSUYnqTsH+4)uZ^Qku%dH=EZ)An1x<_g5+5)fI7UZ_0?ef` zlVaVhDD_t{a$lk>7~K`(JCqLW+NAhsfCFjZ+$GR41!Pna9>do=aDhFHMi?=t&?=2& zit_RB5Y_TLE)FG>@puFpxR9AXD943uHW6ZTS4*8N?Pbl7ax2In?f>{@rK=7?-1^W;r#BCWNTnupu@q3m;WmM^a6?PZamja7oFd+w5 znpF{f0+3k?`80=k+LfTu7Z7<`Z;<6lKh4%&{JR4|)Et6_&AoFw%M_k&Drep}oY#hjEq>`Q3@tq0E z$cd8{%5iTw)ssW-Vc3mBchA;|6Xqw<$TWLD!ya(_2YgB9-Qce$-nD1qoD1=B+a4AP zRp${p+G6_7sf#I+6QxAv^^zMKr@O6uwx8F|^YlyDJSr$n`fQxT z7&!`xFBx9B&DLz$XeiaG`Z$Arao`U)<%hn=88^l?P`Y^1$#hmJfGVn+d7EUq0v=># zVUSqyoL*BxVzX47CB}sx%)SjlEmd8kAy`%z@zr@{soaCUiUcn66r@4E6! zAd5?mkaYTd>5GXCi~J|`Wl%*`s$MjQh49bP$q6$peKMPMJ-WH|;{MaI@bB_ppWb3a zh;tekCzue$yhnxO%s^%yae~qX(yWh4V^kME#nSRR z&r%54j`FD-cBQ0`oLy9hvn}RGMr{~0bI9fsG@ip!Mf<(a*c%6OYVnD5W{Jem@e-t( zg3_;-X8W7GjrBV7n3FMvzM7U_F+qmBH8p{tsHSF@xciu5Z=n|&Edif?f312g3Pdrb zuK^xvfftrQ_2p=bJk|yQ=CmeWn}#9ekezvmsNQlR6L}2N&n^Qx^6k+;)Hpa)B&ACQ z8oX-V^of#V^p}o7K;%^;4_zT$8#F59Hg4N=g=fzox5&Uhm7r%bgMLV+jK~F+%p{5i z9OS0gGa>Y7XqH&EOIPg!j?Z?BwhVOoGXj2edlRQ}r0xXFpJ`%Jf_$no#XH5*-ox3F z@*`cFc~68Z&V){vr2B6=Q7N6UWFBmFHLJFf;Q&J6iMMcjOQY)*=@IyL3ZQAWiE^d8XX zC8@W_pRssqnl_7VL349IW(d_*_t{&TFSrUqj$$Z%a7yk&*3s?FSuSk;5Y@gI-e|84 zzljiZ^QB*(VC502?Z@x8joGymW&ujfIj43`z!f`k9A)d$Lz*tF8MhtX-I#O$_iB+i zI}*fz7VI(rIh1aKNx0w0gr{G1z)M3|m_(xjlJECKVz#a}0T{Cy$rAhAp7=Cr%25ip zp$MT`lPFwB$;sK)hEbp?ssq3J#YAgB`XHoEKd*rYo(StF1KnZq_-TA0l|N3H_p4Cg z870PU9$_{=Of-+b0PB;u#>oc?C@+0~WM1E(WuE#z%^bEv;F)a4_7gzo z$`jk}p&R7Qb2k`*=Wa+j4`Cl658(iAj_>rvXH8ykG;oD~ZGf=0Tb1Ri9a zz%_1tpWYx$t4^(esRon_+qC5Hygp3gU!4@jml~%iDy-Psy6KAH1Kd9IHMJifiWy_XEE^}6N+=kLG@rff5ihC*(FMM);if& zBrPE4sag&l3@a&KZG4~z0s@v^q=vgB@`M;kO6OI!(Tz;n)R`{bjj+HXEZpWyBBm6P z*-PN&tV*#MvOnG$)DmIm)+m5{LDCjY-+L7bn}?{#`{9~6Ya%b?8QO;RyB4-hU;icq z#U-cNhRMXt!=7+OtbH@uzgvqmmS8@sZh~oytOe7Au_Q>x_kDp=YMblDSa z5b4gCbFK@H?iC*%-9z3lyDQeQwFUa-ooyKI&dPIX8_Mso*8jE3_TG;jBHu&!UjHUy z=E<$u)V{?z;f>1a)YxIb3F22yhlD3V%2P!rYRFoMho_JZb)XOYRyh@Ve+11%l#hG> z?2{yp{_fI;=$Y$T>e`r5hDTrYm&Ze2mvHtu;EzP|@ynj{kXB!A?QDE6onD%KADtYy z%b^*?Vi{mw%R19U+Zmc^#0d_yZzShg5H~RmFg4enTU#XQJMnW{yx#hd2UPZEgK@}< z&iT!gasgwQ^hT6%)Pr&Ip_6gfv)x#pOdzUDSuh*qIG9((A=bM|vPWOzZc?bHG$2x6 zqS>ulH?RMkxDIwQE7I0|oRisy{&_a_wq_G4Mu(15JR+*PI|F$mPdMcb0{gam4Q<_& z+u6Jl@O;v=qPm!Ft*Ab=6CrlNUnYex>!%vs3K;D{zT62#;r->?-K9I5M&0d5CYhR? zaZZ>BP}lX!BC|_Hp%(#O#BiCADMiU-U0`NH()P&z75~Owx6wUoqi4=mpA&24J=b;` zKCiO{Gn0-u(?^s=kB^jPja*boD)OW&^3+2tAHZ+&N2$l<^G z<$0)U+Nui|HIZ~Zacrk3Au~@%&H;o(CMdHz!v#Qr`?BO-k91^y=b;PUho;KGOu}_Z zT0vQn<9=5dI?u9pTBU2b+qvYTB+xcF=g-x<6miweDSz$HJl2Sx5pUhtD3HaZsmihs zb@?4adC6l=O>y9lU$X<6_dUQ%vyJHfF_8{r+3Uy9zlIO~2|i%4XOOXv4UFO|Y?x)= zAzT{hkn&s4rf(5wn)$JH`{GemF7yv_rY!D@<1jx|xx|b=)8V39X|vsl?B`zU}MNFudmPW*_M1SG}H0c?h@l-sF7Uc){g+_rUDa(ut@$ z<2+J=S46fqF*_v4V?;VvexJs-=ZtS?elaXr%$_mVjZy4yK~p0((cPuZ_f%`x+1q+;q0gOt4by1ZE628kZid!N zr*?E@2G{FqQ)65L|erMvAcE{q@d*|X7dI#&)b0^cb;!fAK=Z?2^!ky21 z-W9-m(iOsc*Ok(9-WAhx)Rp9W-WBD0@fBJ0UZ<+$v&LyS(yTyh_pNacNrS=-@8Zd; zyRH1%NWHIdfbzcnqCgM~k6IjYsesc{E%HpqI|Hc4T3C{F+YjKq?l1VKf|>xTJK-zNGLx`04(3aT7%7 z=3spi)5xOCOV3j%If=f*DLLMQ4gH`@rm*WsAo{^3#2xa8<+E;>@5M~gA;?g3FhU?OFY_@#shN7X?J9MP$s^2C>*z6XS}*S&E54R4ai3S@6@ z{@mvmYcGOf;2nO$<{KlZ@86(k-~54-UjO3mzYr%s((9LB&}|>RVP8J~*vbkLd2K2l zt4#Y~Qy}%4dLC0v`^3~xubRF(_AoxDG)Lx_8;>|Q%r7{N)MkU?mz~GT0{$MVnvwEY z-=JyLXHaGxK!B>VXzpF;A52lpgt?^lQYXuDd-5+RU*2fHXjZ{=>-GY`a>C=#^C{{A^4z@PE?JwW zHlyBL+YPeqB)){8O(R590m46kAuEd?e_vfq2Q*PsUUx4tLKSowi~<=&DkC69Pr@2P zjev2o1Vl}ckX8mINK^^~%BD%82uP?eImqKs)iemgYwnKJ(4dZ@(!q2XRW(H-pZ%NJ zZnIP0_ovT1?tc%?y1YH-_U_C*KmGQcJWC*A-k+4|J%PlU09a5pCz5ItX}1kNHNpL! zXd6$zQJ`>U5NjK=Woh@b*4@SW;ks@kAUd zRebhJ%6;y-2roap!4ualPFKx7nLRblPG9^%bY4LBPKSwT#glXfMyLdtHKSZQsrJoH zGKowxKh{qD60IU-A8xFZ>;>;G&QiR_D~o7XT3E|geXnGNo|v}VRxC~y+Nh|olMYTT z8gzrLsNxOl@)`M+Yp*ma{FfJG+EasSVQp#+tUpxam*a)WMQrxh8-`d^{j z*csFZbU?T%)(66?THy79sdogGPhi|aLb_N@~8+?%3#W7xChth*e<2!l=8{9Eo zp?0;0XJCfD8LqLrpCYso!|1~e`v~Zf+Wj%$A%_ADIVdEIhH-JiLJc`cBpiovvBHK1 z8z?|kOAB*98&RK(DaW~FxT`CI!YRLtt(PtO#47RRESGH9l{3emWf^7_IED;-H;3OX zxASj!>HW0NoW>-kasw_*Zctl2hMn-`{MUg?VZQF!4gPd%lsCC4m*?q4INs~}u#Y0hV z1EAX>Gq$nSEC&5wE%aG$;t!hk3^8{vh=o{j@6QXO`Z$JlH4Y1@xNtZoadl#h@NgAR zEn39ITX(|oR4r#5;^Qo3`Qxiv8K#Smv<%YULI7f!28qd^UXAZ=lX$sN`iCvz=8rPH z&GGH+(`Su;J27(S<|n|CPm0)F^|U)xl2g0je&ZBBoaV`26%XX72XQhE7FYicVdnYN zfO+Hn6oEm*^Q{V%isxGz090y-S$ZUF zHHUs3iN=CKsuH7=6_(0^U%f7_BWtQ54AGD_Yk=E@esv*kQ?S>Vh-Z+T8Z@(tvTnpW zrY3z8x&&gnN?_BjC)mjf#9ez)(O^boH6vWwiqTbzeBHQeRF5{oR}KAD%gkY*J3@Fx z2M+_oxbRC{lo$skvjTwYnDaA;VuUIeMae;WdeA~Kf~gqSOcdsPNHiOb-9cb?RMZhJ z?S@RZ1?M3tvLpNaS4f3aD%5iQtI{X!hr%7J9>Ia6k`A#A1 zCx8fEF-x8D5@nHcb{X?^7%cRK_h5r1! zlVrIaJ95Sd=Ios04?tVfC|?a0aZ97A=E6lOrIDltd6TTI*+g62vYWzuqVaBDvr*Xh zya~S`ZhorPl|$3qxP5Rv7OP9qnBD4HEOv(i0hvazlK<|e$a<5#N?JeQDn&cGR|MX7 zg*UX$*{fI@%Xj8NR<7^hSzE5}==qDz@|^5eiziDA#c|;>Cnbn4<_SZ-Ilpc9v?b=j zuSDaG^9P->2%#*JhwrZ|?|Z-xx*h3>o8%Y5|C7uAk97Qa_}LT}&aYow{J(y&{x5X2 zWer`7Eli#MBc(mU4dtP-vU0XPoi+gzA^?nn{7;673{yx07#voPjVVFK2(W5^!9+i? zZ$dUJlORf?W!qZkS{(qqNL5QM21P)ird_eQqqU{=uerZ^C8~Dy_JseempxgM={dm?5M%d*)X2=XJB+a_HGNlX z^p+6|@61Mx(q_@Ylw9fX_h#T{5gAna4%aQMPFF&UHfgSbj z07S-!cjr43y3~Grl zl6BslXOwh#X3GdA{pyW#Q4kLaXyy9{s6OEFCH;InlOv4GcxR$>jCT5Gho1kyaj?FD zopz_A>RE&gH+*6K3O568Ca+&`X}=Ux@{Sm~@prrFE4XO^tmKGm2$y>}qXn+S5F+p`y8G&eCZ` zt&N?X)B3XfPkXzSjZIy(Q;i^|(v>Y$y=yyKdkQP(M4CF=;_!R~&UNNx;pP$xv4%Bu zHfq(0D>N**i#r&oH8VjdLvaakO?3?k&i!pwSa0E1pa2g}GIKEKWoH4q{}IwgSY#JN zATv+#^3Z9q5YlEe*I`;1O2hg08B^d8N%wB^A*;bC!t-Al|=?N!9;W+W zaPL;QLTR{yVs+&L)_o~9I4+9u;j7DcsApC;m6{$w8TMF^&VZ+T6m7S9ta+xM89Klg z@1IG2eAKpU`3zBSqRR5>;_hs#bq@1RR0`>S3NK${j&iDiDo&A2>N%z1%H>OvRdf&) z{IN*fy0Q(ph7u7fAqjKS?~i7nPJidn>1@yok$|4C%?nsNOXV`UUM#VBwp?U#w=^ej zI`C^5MOOZub7Qig+N&U=oOYVGay>VC-rby?+^MY{%|M6z`2M{J;VE>mNfA`p>kvzR z2(w(l6R(l1o!1_fGEm>%m@}?*hR~*KH`rmds5 zF|Y-P;LVcv-g*Bx6)~|7A zks=({&}W8lzDLMFgNkTa)8aLYY2n&aqfcU+j?hqSUxYqWW-ii(msSr^(57)t3Cav>WMlOC!Ro`V=eHJ5~@y0es zE>4Cam(cXaa#4?49S%>rD!%Rt-`nQm3#CC=O|1os`20)}EVPrFd)Zg z6J^F$(ZtK4JQRe}VlYF2%Fi8%eW!3O9a>1z!MH=e78g-FEk;CwILsQju$6K-xdOTZ z_5`8wDf_&UiPb%2WJ+f?VR5XVispQmqH{Rm;1F^LC! zwl?S!qB;S0`4XOWS)?sw+oY@W+kCtp49(w0SR7Og5~?*>)t2W6GJD$>P+g|0$thD~ z7{E=6Dcs*IVS}n2WB7>z>JGtF?IqVfI(9zDTJ3f{o1=J>O${^kdsIrnJ1KL`XE2pO zi&4vL{tP&4a`2!aiX67MriSU&iC*#aD#f~9Nk3I%)kBs$Kb|GKteaO?_o61Fm2Vnr zBdkh?YV!+DPAu8S+cB?c?vA>~$;P;#&hxJ#UP3I69|~9~??s_Q$5xb#lbaaVP_31! zd}(X%g?Lur_`)A2M-ev+&bY3-0macC4kf*Bc!qA-0%kCa9|Fv(1hbP`oz2u&@LLW<6OwsMTr z>_BZ)K~!xWoSC|kkjLSv)I&;-0vBb8A_E)S*AQhfPST`N9(HOJLZTj_YSyTY05pmX z7;VCx9gUbdVh(mAnQ{4eRTHg34^9t_a4m?9qf!l0Z_X46Bjpa3N4y+5iN1@b69LPp zCqP}8G1V84HL{dMG(;q*4aB1@2usni^~0ng3&(; z|H>7=^_ATva(j%HvY^TTQz3us+(;I$<@TGP-pz)m^~PSOboNn{k+E&}i=>+jb39-w1Oxg;qHFQ0n>r8IB9f#NFdL1jOg4XZ$ zjvkRz!oSZ8*%TIv-YaTi6GgE#h0P4|NZA4R0MF=*=xikD@XRa4cZ};{q{VPA$B;>R z(rA$k?jnd`!y4>+Ex^jTyhk!)G%cjFSke-~G`?k(H1ey9GPD5nxx{@5)3adn-=yr^ z?ERi*|8-<2F?Bm2?Uv7Egv(i&jTZKR>f3H>KQBH0xG1JBun8brm%iE|13&1$EKT>d4e{w=|hu zyf7b%y6f7ePfqFa(CExPL1t*(S6f!Ou+!M!?_m{VrN{)Ft4x3O4=(YyyMSBN+q2FpEgQ%)mdz+ z$YJ66u4-3R?Z7pD2}%PeOPQDu`}AUq7U4S_WlP|0@`h}omP5ptjq$#bcsyw_4Z^4j zoo2J0-(_dornHV76_zd^H_cw;B`4gfbei*Lmyf&oKBK6LHb}#X``Di3DU6qgu^d`E z=@S3$BqPeOR|C<+C$*9Z>Ln#6aoJ4hiFmG(Hzy}5s4A>$Yb|P;+|XHC*3w(MwzDGO z*ZH|9*7kg*pNL|^eAGtBC z``3rb*hV^;&#(#??|}yih2DilIy^N(q_w#I%_zw^GrLOaQ#R!w>ChJyhY9^F(9LI^ z{<}TT3W)&W!`Zq{rCj7PStI20n2$ThJWiZH@ow&TXZ-WV``?h|g+>H)r8`My^PKF) zXLCo&#}Bqo&HZHM91A(kD=3eW*0TgKP6*zWR|wLO=(!u|J578`We`Uig6Bo&BjrIX z{ft(J<$k=`TqF0$X&{(Gz1o|zIJ6D6v(OSH&BfBok8LM)WmjuoS!ZMGVrxdufSiF~ z*BRM|BV&jOsjp>@pB$%0u*YD>ZQD>K3{7j#gVy|AkeB;qmM{=P4W6b{A88Ah_DTF< zg;|EjCr$%#RdPD74iu(${`rXs+uQ*IjkVVfd#Pn4*_PE~_|?U~h~a{MZ`~a{^Z+_n zo0jski{QPrtKY4wk8-T@{F!Z5_zg{)D0NuRj69*rvl?V+3~5TgS$d|LEpsPvcR&!z zQalB+064z|moZ~?sLXei_`1}WJEZhk*Jb^wtyKdou)NUaGzZCm7vnKSIHKPTtKG*KE~1*UVx+97|?jb7Ayq8Ql2HxucQ2!0}UaK z#|>~J9cV^cxHzOb{s75);S6|wV2EyL=L6QPHx^AC{Oa5N+C(qvX3y zFgUQ`qnewBk^%&>v_}hg!HsZ2awsX-9)<}s4$!kyjEKpcV1~|N3+B9E$uk}NV`dz% z%8379%=(g^8mh#;yJ_Ne`ZCP|g%3dDU+(d+c0=fH5Yc-+ngE0X;6IRb?mxA(X4O3kfqFEiA*YJi4l^9LPa7L%`IR*!q^}}v53<| z5r4|~missGpYfaDS@qLgpl5dhiYl_w%s1f1i^ZUN3dwsgOJDngxD4q9I#4GlDddHe zpc|wtc?CXDrN|=hdL6jaVZH_uUM`4(mI-0T1h`{^9ysXcu+#@@_t;fq!kFJ_@ABxl zf7ptOJ0ngTxJ*q-bsMlzBTZNH2*oozkWa^L(QJV>7VMATyYBOPH@b!i0n+0192pD4 zr??5LFwD=RZVZQi^eAFj>F1vv%-nj*M0^#FZ$mZVIr+5Z$~&2N+{9l6Gn9=QFg31V zzf8UD`o_%?wt=1qU~Up(;m3zC8xUazLYWOIXG6Vc!q7MnR`-20qS42mtqEhun&)H6 ziOZyMe;Z(W<+n%)@H*bLQQ_1WhoV zF~-i?vlo_OLP2FN_B$#B+ZZYPhJADuB{kDCJykX9nwhRCIp5XqC5;+8n(2w(;Ad(_OcnRr4vI7jkGefH~ zM0+eJm*jDE;N?UWUfS+YOSZcv(Jfx$p}#a@O^EP=-n35=^cM@|Qo9A+`f033p~&(& z2scSnUf7JD<~lgqT}bv8~ z^q!>h!P_v(rOnB!k#L9ry~LrmwqW7ehl=U5V0#7**-{i=rA+;0;P7UDzN^Yo{|PT6 zr3aS`Q7ZF6qh!Nfe8KHr?ZS6|6P~lhYQl*s%}KHO8*;gBde$8W^v#dSmwjTJ!uUE| zL7eI?=>>V6=&CwmPA8wBcwcKNc4}PWmpw`T2iRil);QwbFNj?zQV;fvA>Ibi_My@a z5W1n<2E4oA84rG)f22P#AK>0V`2ncwVEiNIdoH{{{X@lfTD)L{`>T6GyzuyY&q@e5 zl4|6rB7fq&WYDXLm!Dh$5FO}`djw1hJCfob@*Ki*;=!;V4(zuv#tVO(QP+;mJ||?tkiaJPVE!RU9I+q+r0zNPxn%ku&t1s59_|7lh6;DOb2iOZB_x}45B{ey$A7}H2VZOIb z8sKh#^hc2U23bD*YQW+LMdK&({>Ijc_7C^A*!2~Xz-v#?H65g2LClYFpp7YhcMq|V z2qj`cG6{kygqU$qvKk*^A_jtD+{s)UJw{J|W-eFi3>&_v?6e&p##K3dCZ=f7%fhjY? za2JZpIT&X^Is)7o2gXwQS$WP6e(jHaUC;#jJ-V6CHLODJkko)#rl zmw%G@QJGAB$)b%KqCFY(Qv@nC5Q!Pk9x3zp z*VBQ{jKffia+isfiS(q(?3RfwY-7GRF+N&3@W>^In+?W#g#&RB z1kEEC6a@+w%y?k=h$S{QOLuDN88>9e3#P>gA0CJH#VHuKro#(iEY*O7T}=JqgGd2d z_LAL8z07;@$;~q8B48P!Xfc3j!=wtb$8@2*icri!xR)Y$wJ5K1)O4YAi#SbD-jS|I z5%{lyjSSfjL~DBmWEkYA&$I#)FlpY1DOm;~Je30zp8OKq0ZWfS zy1)7JIBhkqAC{pcd(q9M{Dop|fygDdi#Qu?(swQ+!7lEJ3g?8nxtgMFL(ktOHcAn~ zh^rav1Vf@)e(-mSDR_o+h8Q&;)RDy11fneoMlFLLjR3MJ*978CNlKr2ir)sckWzNj z3k)%ey>jK-GI^%IpR0~2AAT!%9e)^%=}674zusijD}RXVPWeifa^j%D?e;im`pMxx zGXPm)y9cLMp?MeR40VR*)~?zf-$JdC8V2T~qrMD;>2*8`HXx;U)FSn8o&HK1x4exa zR@;>rCS!Viv}OUx{A`!c}3AJI6BrVN%>2Zxz0$Wdtq>cX>N+bUKJYhl@|6Ajz+c?`qeiA!FX zwQ`C!xk`5)ZIhH%0 zm>Y)agC0fnfY2Dp9Zv3=Aohs_^{3AvZ$q)a4c2kwpGHCu2wjI^Jrs0^_BFvn7_xf6 z@EAElM3o;Ddr+Yf@TN4GP6;G}oX`-Fnlo$S9L=2hBxMU0ny1MkKc`xWYMww$B0$G- zfPcZ17^!lg!^}=J@?bo<&Dz`sl}sw9lQL1dxc!4T-LwUT=Zo0(fcD1{!!=2!2)(XQ z`-ks$nzKBRf;5A;mQE7zHv9y8D~s z#RlkOe1yyJ>eX9M*iC?>oTJI(zFo_;vPvgx1irSDF(S7 zc=kKnN73D|?ta;2c`R|cwooQIIV+4qq2Ddd53o5WaDF+6JqO?YESVo_c)REp<;+Ci z)8bmQ&|^m8eXrx+{*nC%ZJXtV1_R4yhebGe^8opB{{zJBXH(G^P^exuYQrS%<)^<3wMhVt`j<6sm~pqZDCO$kbeNj?)hRD zgv(gkHqy;5UT#M)w0Mhqxm$rq4atN=c^XF2v<~LdC?GqD2_q5N88!Lq^PQ`tmaq^5IHxk6S6*=?-sI#RfSgKL_mq10i3-sl2> z!DOF^bCQ6wfc2z;lWQKv8}qxV%~orJ@O@I5q3~~_6{aSU0BPlzk`y7f0Wiye$$8Kd zp}>X^;^f8VSx~G?;wS9LhV}T8uKbl933V^#ZlE@0ZddO0b2JC`Z9kX;x$e(xp^IPn za_&qC{@Kw@heR)i+?e(~@&(#dBX;iMt8NG0lnM9)PU+{#;;a0iw+7+TT>61+P0Gaz zwF_lMQsg=JJu)5HxDff>m{m~H#dq#G(YTa`%@8T5VwEVmY7vt4dDCQTwvx)Lg4#Qk zE}+k>sh?Pd-%ApJQ+##SjP~6(B7D!?Fwl2je{T={F6aYTvV5adkuUW^|CXNqX9Eyl zs83V)3A%Dg+V&Ude}a)N?1(BJ|4h4&{`rx!{4c=B|6}S)!t@_3vQ|x79$Oss&*-S0 zjSK^nZ9q~8nH{iX)D$U;dQjt9gQ;(1PgqHdYwS(X#bIf0!lPQ{2T*DjK4N9!<9eD1 zMO9WsylVEF)Ia~z(;lTKr5BtScUlQm$i%cerW{UZH#45*zVD|Y<6prV&O`C;Ivi1g z=#_+RL&#$5ImQ^K9_a@>LttUiu<00d%sPe`&PPM ziAwA6&0g__S%RsEiHPVOr_#GLDoxRe(^2%+G+zK%W5KyE=-{*H-c-@z40^Tnv!~J~ z`hNtIxK)?=3IKI!YeC`^d8`#>HhRMhCGcb(@>)_U6Z5^nsAx+(c=T;%}1uI$7b4eq63LRhE8TOODQrl~||34#Wv{Kx|HkH8L`ug@mUA zu)P;UuqHy?QJBD+fBfmd7Y^IlJ3_ptUArGb#5oR>_vI`4ZW&#RuoQFZuMjo_?B?~mnWMV+kVs-a*_Ok!f z4ZQ`-t@)(2q(xHJ@xTI7;KPr(m1&&);8Pq(d^E$Q}C#@~%MyK;O$K!-=#K0%rA z&1UcSfCtI`S4g*eDEAk_;UoN=H$&~SvEIP4vUOe-S$i#V&2UrFCb=oL7nrXw2ZXP%cePi#DSU&wHXrP-G}*t1yE9o^Yag5)fx<6Y6K)Bv8n3MXuJ+2Q zZAv+LFiW0s@#|ur*O3!`f&Y8edz_2bJH&=|;*A3ooy!3O{$3=XgfEmZhZs-v7oicR zBS|Fd@3p33&YJm^x{B`-r#Z`}GpIqaJI0|1*=tVlqV^0{{B8 z2L9_8+y5_!%=*QBwWy#eZ^Hsj96qvLdPG5bs-F`WYuZ`s>== z9Y0V>Lh^z5Wc;r(Ql1wYy1-exX@?hPezU~WDIEP%QWH`hbBDWXw6Ma#IlTS@g@JXIrb;z9KYMDP)`kOy7qs=AbCnv|f3fzCfq7hD?t41#yw7}Z=g0nW{@Yl`+Uw9h zWf|=>J=x64W8Nj2wCAmUl^Si9F0RHZYb;V3YcA3TSyf!RP4J~8erJZ1wAHh%BA(3B z{!l$Tg?>SQ$`)Fu@s7XPGC9d@y`x=ie1M^1#7CZgPt}bXnGzkJ1ewBKN#zWTZwt5` z6q{|;D=)((8}!PYYe^zO8zjSKQKjEejmyig#JI)WJTQaZS9RWbIGj9DGBjP|%Vf+v zx;?&o5fr7pxCmON!CH1pp*V8LZLh>_D!3JSu{}hOT)MU zcxY+Cjo~0du`A**tUZ(z?1are=38Cbpd;jc7Ks;Of*TrbUgyh*?Hr)asl$_n^(!mW zAjW$F*qws6THv9XdkfNf89*1Eg|NHqRc(LWN$VG;HS}i%g~x;2dqwD)6>EUy?OJJpON71KPhvOK zO~nj;Fra=9hEQ_(|7gQ#+|Jg-#>Cmc*udF<^tUhB-@kscBm+BWl3w=p^Q^2NGmAcmz*&LS7Bj_+IBp6OixhX%NkDopzk?^R~j-qo9^g8Mu zY%e`61ST-Af%D5tCKuzhU93Eir}>hCQ2%gotc}o}1a>k$s?^0)n8K@-aMA@5lY^@%keB@F;nTE`@mBw%G&oRqQ#BZlU$O0I1{B zpHB!A4?|}ka5}zFKtO!|=!E24Yz$2te^Y2OCbkwPwniSLEWekH0i+tLAlh?iime4E zqYnC2pbDLhfkm6PNMoP{Z7LKB;E#?77bnb-9oob-&#?FK@9&94Q1=_Udj=r)37Dp= zwFCQv*W)-xrzX;!jHD}T1RJD#7PTCd#$&9K@uCY^%bN4dVvW-g z%}`t06ZS-Bli5!g>B2xDY~x%_EX5x=RVpVA;H#`vORnyJI< zACKu-NVvwZ4~O0u)6xliRLZoupqhc|D6O2JxgZ@FD*Od0lv)YQ5%dsl zcyi!du*hRo2_MaDnehmzg@(6z$y~VYqt}aBxfYDaCR3J88E@uv-%(cG;b6GA3}vI+ ze)QmcV;s>=N6oEuNUO=N%W&o$GS8;?agbJTN!Qe2vr@>{)4+r}8%tkqv8PS;Jvn_OSOgJ`K4m7N7h#dg$=n@1olJMU9l51p6w_BAUqXWD<9hHEy4SSQ z8BSB5K5yN0KWuyXy?pZk$qO??!KNjT>ro0U_X0^Z*}%LM2!2akIpR(#Y~ubdgJ2_{ zuT)#Sd=hc-^|8;i;^v;T9v_bV_LcZsT?!~wr=B1KBRIAfKK^NwR|wd|U)e(MQ!d)N zcs5MKj;_7nl+wT8g(mGjPMv;eUc56mp4tICl&l#*b8pSK=WVRPj!`rZxq~h|ckr&qwY*w`(a%5|ye{d$dHb{b$>XDnm;!pKJDNLGV**Dd0U0#Q*2MoPAAidbG6xa>G0zGN#` zM7+$b^;RkM&?*|6y*aKT`sjfeIy=(OYGa3AqR*X6_7%69Z#`{Vwk(p@xcfi5d>!RI zY3n+SW(%|qDUIP2S+)bGy-P1 z?RsUD?1(Xa6?jc9RjLp}DC=2QcSf*L&?;8JoOEoTY3QnCBS-C{1o;1K=`j9A5p6t* zg!of*9J3;~Tqj1HPv`wlMZVlQ(0T`ed-WE8yZ?9A{vCkXD&w~E0%&|K4i}_YT2fRs z*VMoXXqJKQs$!)|7DZCUm>fKb3BCT*pD-L8C7c4}4 zpR?4d;a-0u=Arkf1#N<*Y)3;7b>hZ?%>j~Ms4!bQd!>1hFL6+k9|YbPf|?v`aD&(Q zPH-P=hW~3#$iYKZY^7AR=zHpt0EI}Q#pF#!mI@Csl$s-d3KCj$RPj=~b3v4Fmvp<) z4`rXEA4J~gTTw^2jG_7rP{J;Sk9a8V^ei4Op+i%7QFlnc#JYO zJ2HCD)86)hnV@CRy-#}Wtx9HT-z~(g)R;LhCQWa2EmLmcoArC*`6DhQdH%GMgZNq= zhxAm-!f0Z=)Hm(O7WX;)ld5p|eI}}3^v1Rz(654R`gtpOQ{L%4X50C>&9@~`^%L!W z;HN^mCzwQeRK;Wi5`uro=Qe<)RbgX|^nwf!<4|$=V8pY7#IzQDMDgbOnEqQlKu|NI7BjTf zwupS#_za{+rrPK&l!r~s76?BQ4@^;#w@k3DR&zY)>ui4b@&V?9t>EX|Gz8A2ZA64V z>xT&{SX7Z$!=%vB9Qhd)JLPMh;2>bv4k2yxOsK>rCMGE&Mu$a(dVI*Y?lF4If%hI1P7i1&E9gcnz^QEhW?Wor zDLH8W6>_yRfn1m{tG-izZ&`1AB204QNU9r0l&ZB@QieEHmlV85R?}PVnq;nJnb)Nn z$(Z1>hV4B{5-#YYA`a3jNKX1Rr3F?dn3DmLmZ>ERt#U#k3e0!GeY`Op9;|H%m3EWL z5lZ_*0x2hCi;B#liYs{%1%u*2NZ)d%3{|c-RyD;83-IS~a>idd%thCW?ld+RqS`vu zkHL@1?`iL_N-n5|CE7=N&MjP0lfpZy%@;N+l<>)wg!##JLyWggTSIs1J#?dfOPP(- z?X|9d?DV31=1b}<+&%4j$>V>h>47wHNQ1SLNmZ~pKn6&xbBe#fsf^Z2jSix!7|7h3I_ErC~ z!gC5g$+gP9HdCu9$I2p;2{>%$tPe!AyOA<0g)vfk{0m~0ep+f7R|I>cri1_|@#Sat zjv{cufEdlNf;_Wrvf`uOMdPD-R^=v#*F=7$r>ldS2e;OpluBbosJ|W4e$@5_+$96|sV=>@AJEyOs|Ha-2y3XxJ&^ylj71QzOMxNhx|n#nnmVoVSh{uY z%bKXelWvYTmuCNAArE5n_n!8$R9OqO|9Sueyvu?JFmew)(qW=9UDg9?%1BkLY!H$-k2ZHhVR|IGYjH|)H|u+s1>KY zve*ma>g|2!XXY7`O>)3P2pd1I=;2<5Db$9)d2#Y(z)?ge_oslPM!F@)1K@7H08r5{ z(vYx*jiR6w7!%S5+Ul6VXCcN~&{Ik7L@4HwtuM3#8{Q$Nz6TBOA0cTRbX*tk+S}VB zrAls|CD+x7?*yTwW?c*^i1@qTkJ3*?a2xv$n~J4Y3mJb>a5&Kc5}wy-W=32RY;bd% z_hJ496l)kivNEir;|LFqzRsNM9m13@CS0C(?ozt}lIhZb&JUrn&0HBI$Y_q(kP}gL z@b=WCet#k@Er@9wgRynj9Hn%6ob9+r6jR5zZZezoWl_Pg;6mj2^PyjjQ5Sjl ziRnx59Oz<;!zTH@yki}L^Z`>U>1(eKlSGJu=g{*4vtN-K3RoD`3gMb+x%K``?fdrm zD?ot#g!*-A7Z-6+V3HePL~=$D1QtqCxow47b6@_PaTFXZ;zq!DYJLx5?K`mS4jPpR zNKxvK@~nGBAt@e5_TxM3u~fWiz>t7&qckWO zAnOS9qbpKz?C2v8;4ACbrza-)V|qA$OwZu&rk4f}AFV$|#QUM3b<)7`#<&Ogr&+B> zrx7y)@aX*OcvMiaQTh#!I^x{GLgJtW!XVC~)nSdA!=FPTW)+BGxN}9F@cI1@#J!{W z8K)fHD%!_8xSE+RTlx9U?q!#Hk`Nog(Y<5MwtH+`^*u2+2mT;lc%pdrwPOW_S-6pY zu=#4OB)@+Mm~WkONQ#Ls@SSp4HvU;PMM#vwHJ$v9&c3 zKNL}i5@nc@ULX{bj6=O;w(*03D6A-Xdzwh$i|lykf0lOOm+iO$U4|xysrjTf%@Fop zX;9{?>Z}J{=0$sGGCsx05F38Y+Ig~0jrHfekb`x0k4P6)Oa|d0B}=n8mT>lNe{+h# zEu)qRjz2@B%vVR#0sxQRe*q%$KOn;KJ4D`ohe&*k0|3K3aVC{UO0X#g`qxfisFc=> zKroEBI5m z?5G+pj5J0aMD4aXfhdi#9oZ{%#P zZ(+QgI}>n!xfQ6)Vm%H@5DlvwXtGj-HnN;M%zJe~W=qc5N@_@4&lRgG+16Cv5)`Vz zmU5wpzvLaPmawSG>vX99NjM8@=in1ggG?J`e2Wsxp}v_SoiFhNd z{WTnRNv0=F&(_Tz1nB6G&2!KWW%@%Q*`xE@h`TmqL>Xr>%`}M7L}aLU8>_P9@e!03XMM`J$3zc z6=M*w2W_4%_02B(rkytLc8%;ylT~`MVPjH^`3Tds;EUTOh0c54&uH0~j6fSh9}uMO zp$iE9ypscDv81+ujhq3DU%W~LwSF_iC$!%UQNA%hT-5q6#%S^%W4y$+T+zlB!NtKI zUc$n$UEr+bEJ|gKD zlr>6WpXed{pzQ@rm+F0EdIVqE9ecFb!nE!;lxC4Jv52CRzTAJ6pH1!*-n2DAk;Lxz zncr4;CiOW5>1J&oMYqgKey!wNn!K``5i9wL0fv|(B?o1hwl6gNQ zGhB;v)arskFx`d3sXf>^O1(ZsVEKCqW=J>?w5X;#bd9{E>3dSu<1(;wGpntb)p`8@ zgHVxK!DHdEK3+yEaw2K{+a#{~-q?1rcaB(#2x+E*jxGYeM|rNO>nF>K3IqK_ z^DUiSvB4Ft6zY0w;vAV5P{m5sbLhqk{yp)k@bER+nm1hLMYscR<_{-0_jP=OHJl6k zXSE`w)3%N_2W(x9z(9gOMA$3G=SQF_R3{v|D< z`~%QBE!xDC$X{)lEtjklDlz003Q7KGl?2& zhC0UqW_9#0%uLfojtQZU5w20Xf}S^6N;Cqs!d3$b6_*EQ^Xd~@mGseoyHN1*y z?^i##4N*f=u~Y;L7Mz$%_^1U&DF$uU4^%4~x;~D2VhWVXGCw7i-dvp>i_ZIIVW`)3X2{Xd2%L3xpiB(W{b>3|}^Tw4=;g4Ak=F&iDLp@&rZpPEZo2AuQpg zdgWAHSaR&tJ4I5{xS*V-92Db6wa5E8H9tzld_B-&VBw_11{8zBR^hQxmp77H^Egy~ zgJ-iBfK%$^Yw>)o5BifU%jGYre*jqY=s#Zc-^vYT&8j#axqbnpP%}JD0YO+B7|b_- z*s-&#IS6K6zR>xFHw@M`<=e2Nn*)RiEex1K6F^+3=4IX-(X5mo_!24sY4>&dYlT-O zHM*E)!MLZPF{a47MVtJY*FzT5zFC}_n4y&`5u+g!as$R$t*bPj0Y5-$tb{oNd24SL zNd4luA(Fshkr|Cnb3A|)h1qDkik*T1LFbYnKxv2xoP6f`X+K=^Z__0i}lhM)y|fu`x^J_5+vM!?(*^h zdC8_BxBhiEzd?(rdnL#60XE-zy`+qhlSHM~i(-f6?xmaLLS}m$7o}o&2P`^}2LoqG zZOqVFiXxkJc%z;+{Gpf+m%Mu$Z}YL?151ssaG6N?S&TtbjrZej@uCq)C$_q*#9&L} zRw(B>b7|^cF9#-lD8iG;s7vIGUKLxP5v^yI&L2|BZVz!wge{P!upI8MmtF&p5VlYz zj1wEp*U~_;kBOlzI!q}lhFmDP`fxI$m~JZuGh>{$m&Ms1bn9$2N^Re?bs6_o|0!(CWMX+i0Vi2Kf}H&i`^LNvz8$?+MMLWEaw{v8B|>YOTto zo2J%r`U1VJ%3~rsM}5!ape+!j%jodkH>&}HE5$`I?^fE^=iEWEPPH0oM>6!yXPjXL zHj%*>UoggH6@PR!e4(7u)KS5j(Pgy%aFtu$ykzZQ+ zAhi|(1%2G|e#}Yd4;Pu{+r~6w2S0b|s8(;HmkinD?jZX5s_FjQtgFC#zu+sshs#)C zZu}=Afo%dAttWTWF1O$XH(3iO#$_p9nslorR8OP47Lq4O!nx&}+mQQ@O4(%%Q##e` zDw`MiYrLc^kn}I(aI}OV>MvR5lfuMK!TWr~PAy%$q_pDulYNfi1q%vE(-_Hx=W|9IN&WcTFS&ErqM&%Se2@6vp`IY#7MA!T#;BX)=7Yyn zZg=CeoU@>Nd3gaxI1k6x<_lCume7LYdy|HW6BJ>;@%NxHz8vd_QF=AVNxl=3NvUs1 zCE`fPzpWer`;#^=lW|OY7$@jvn#h41<(;#qPkq+Kb3!!6qZo*{Y4_*SKKcxH%6qAS z`gVg5r-E$_gUz$lS4~AcD#wYTnj;?jahoKZ{F5@jc_1fdqZ&m#RoC<4}!{xA54nPM}59osoSlOF>TEt(r4(mz?Kiq8Ic_ z2;T~*v)NgmTCOi5T%zkXFu;da)RUI@$Sp-L)G~0-9y6Lkh&2+03fJ`@hua26m$l7Z zbHu9gX>Xvll#4Is+pByYh4=l8g$Y}bqTgHIq4nt9r_fTmzF{n9w5jkxDVS!S;@suP zx;^CcGW9&2h!KTz8>TMWjY{s@(gYiI(uP>b(RS!rCqZak+tYI@aA8>WcMo!(Pzz-| z1s8P98SKp<_$+k_u6EVE*sp}1)=i)3X?Z>&;I1UW@0@|(BAqU>W~O^@29wNZ8&wBp zB@~xD{scMovv%}Mz#T90>vz10_;2bmA|PNk16YEQnb}?pS955nP$hF2;NpT{meJ6K1DOGcMjM5k*;x3!Tgq*Li|k$}F9kB`rfuM4MAAgM8F z45*F=Uy)!jW=nwxWn`1_jnNMb(6UxRz)7VVz^A+o4jAq62Zq4HHfHrlU@2c5kYcj0 zz@je2qAJCrDNPet2txXca*YgeXtM&WdI&InQO-%q{)yW>(gm~sDw3zSIEsT1Gddf z02lsz%g4Uk2H)GVKV4?riv!wm!5H{mjp z5Ise-Gf=u3UzVez&r{VXIg@0wQYGdU%>*q}BFbFbYP#$$6$`!NM*H+u4(Dp^3Qn|V z()Bc1I=;2u%+ca*UuJg`-~va!7{9Aa#>>IerfiB|t6nY}Vo&%))h2-fF}-bPySumc z8aEO1eZ@{Zx7hgt$Pwj(hF4F9`910>n!X*Ci{Sa@0yBd_-#}Wjyh|#O5TQl}VZePh zRSYLhqu}_}lsFT6oh|4V-G*?Z?MR;}Nhx=GXq_pLvZ~Rv0}>e)SbeREPPEuY>2*Sa zOL{2&HCqx=SL)shHzT|gXkpza`JX zR$sJskAAj1S@T|W<}SUUhGQpQ0Pd>pM~p)Rh+Lat&HT|o5mLEaR*r?UH%91Z!El=D zUJ8O=-q^=-K@Y3r`sbh+^E_Ann7*c z#UWlLduZa;R?d}-xK>mqd6~dri{j2Re7(^z*3Gu4CQ6Xe7Y(XG%J~F39quVg4jV8j zbh&a#gRN+Z>>rn^VUn~&@=@`LV_p6EcJk%9GT;7QVrAS`T@T}PxZu@$Cgki-dio;w zYLsv!LL&NBa&Yqo!z!Hmjotj0Y{-9>X*gvQ_efTG8PWw*H1^{Zdu#Wa<47aExR~SR94vr7#ADLO1=;`Uf zDoq>S;9ZkhCdSYWZ)*#w%MS=3Qh-j(B}voI!@x}r8ZvRb0)hEvqR-5z?++{nfeoM6 zA7#l_rv$e_9STD&217jrLrso!M+gS_(^|d0-OB6&);jp>YgG{UQQ)!dXM`()!x}|u zq=1?s3IZSSuOv966)d*4aAVV!pB*bXT_ZV=>J%mj0W*hZ#iLC4BrK%2z0ieP21`UG zTETm}|8RFfV(X#QC@{Fr3jFTaw%cj-7Q_B(6~aT<_085vMJ;0xSs}NJSSnh5U1w}y zOgicjPW7vgRjuO~9DsU;fdsY#rsRsqNJr`2JW&*1{9x+h@<4MgQkIqh3H`juQw7w` zvecCR4d8cP2!5HG>+kX6Uzah3+Rn}hL)vkiR#(q0*oKxwqtnq{`Y=VCk-_iP?fbPw z*i~9R{j_)U$_0G2fW0&M^}SOOsfv+>>0?9+p$G|_p@DLZ7wteQPV63vhN{+WlWsVt zvh*aeBj4(^NG{l$BYHoY>7h4rhwuPI$gPhI5+ShkuyTjV0W;FpLc*Xgta9Nd*tR4t zL%y>#U<}%k!Qwdzqk)WVEn!hiZE7u`)O<*h=tP@ihFW8Et*a;B>M>lEVbSmI$~^({ z((aeRkeMCJ+b$TBhBGcK;-2j9GWhbY?s+vYPL`@HsXXa19q{|upK4aWe_D3iW5CZ)X%3IC+Ylhfga=K$2a8kv;ep2$XMX`zqfsAmW z+HvLu;Y?RR;5x=e9S!MFQLDB`j zL_k9_7)S6@jFf5W{NR#p)-Idzu~(}LuZqMi2Q4+5vJh3yY%*7l!Vvm?iktXEBTp6pb_wnu z@6z8U7zLGFqQqOLOR|LA@NQ*PGIuzw-p&hwfHROzG0P!7~E8f22=FVjLjZlTZk1tJax48{0=9$ z=+)Sdk(TYVxsM=!b^(p?b`Srh5V?Z-4+Q^{z&$+te**VVW`7Bhk5J5_|4Viyqxq9v z{VyT%=s!Z_(GK4$FGeX6{%Ti;V0I_pYaH}{JufOPksRMG*UyMFG+joCE)?Z_5tpBW zGwQduVp`Ttq-uDvqh&av?0+Nn9_Le!8*~_&#^nyrw$Jt_l&=@r)o;SeQIVmEPS{V$ zkDOl4+#HY^g_bTFab^nlU0?JQY}$3KnenuO*;5a2a^u@+i6ntl2()jk1)Se8g0Xb6ST}tIoNN&lGh8Q3%iJd%t3e(N|p#3>V`%7+0u%FLb}j+Rc_un_$5uyu{PIW86iQfX=}k$S=)3D|Jlg< zYv9``%^9IZEk?u6Md&Xj3*dX0`donjy=|ZWl%&RlXdC~R5G<(i6N3L1D}OG7iPHZI zg6kA_5rYAwvIQ8w=9m-+A*FmnW_CW783SUtZ?lY`VV-)_4ED&zX_= zdv(cfQjZNzq8kz@!q0B%>kWNZd4P4M|GIU`is~v#+kz6ov7w5FFVMD+zAi7GBP2t? zf)M6V#n5fWBy1R`(wbwrCG6Dtq>w4oH35}5+>l%6_oDv@J@W+QuLOgE&0(=}(QS^8 z2xIyo#D)73A8zv;7N;v#*x^H@v~b<(ongF<{(1fJJNjn{hvdM(Tl6am0b)u7tp+i_ zC6vWBmJ?nxqeU#vv0Ym|$I6i1d?evjd;BQ!EBs|0EI~16*^}Ym_{ihn01!iFwKrJs zsbqD@tmp{}SV!B0$~l~7QAUorRf!Z|RzoLM+m3q%Zbpp`l#F80({bj}-YtoFQbs=!dMswfnH zWg$N|LD(P(%BvT*WoIdX3T<283q}k#lH5+u2F@0Ig1$A%h z^G`h+ADR$fTL4aK_18~IQrQPkmJUex;A__>z!1Tlp;1|fOMHEqA(XhEQto*~ z$qMSXNB-E8>3|nPSeL-pz;k1|mAN@>ceWL_#z1VD5o#N;e(2!mj;P!O%`OLDwX$^x zjeR@Izro`z+EG`U?ciGpA%|yG7au#P!54K0{APu~a!rG&8YCl#ek+81NT^;I@GT zmW$CDEuhRQbQz=6Cl9utGXIJp5qqKl7AX03CJ_Feeu@5v=mHGBN4EZtM7IJD2WJTf zC`SBVCmF!I!Q47&mtzFXO$#u-&(p}xhQZ9v&dl0`!Gej?mcjmehqmo+ z{l88OKes*zT05IK+8Q{Uh}k*X7&trq=viTB|BbPDg98Er;(>APg$!AkFRic!3srEJ zEiHkl618L@)X;^&(Mf9Y-XW8e6aC~sDM06%e4k1&VEiI^3X1$7PvHNBJb}PD;o#rF zM@`Tg8h8RW3{b^+DY45QKRO%oS9!CA7Oy=6FiX8(??(_)s#2MhTNgmeVJjpR6cVyT zC`!ev9HUvCdtQ4(UurLISrci;D_W-)RI;<^4rw|hw+ALJ+L*Gpx%$xcVA{QTe~51C z2P6kfKm_I;*=}!wobh(JgnGH$if`(S*BRu9cfMVibi+y{lsu!4rP-<>^ZaBCXPI&~ zqcpnWthfowE91VDu3$Z4n3~mb_?0SV?ZTSI@pw5x>1|~l^EdCtYRk2i77A_ScPmIl z9S5(r&SN?8&rCSww2`)sBnrtw87^Pr%43>9Y9mkFE{YT1sMIJc7p8>kt;ToKFa-I}(=L{_ zs+`|`w3Y4k<#Vgts(;a&wQ3(TY38abv++Ak3_QBmAzE2>p2V_t^eXN6=yF9u=-cZZ zgkfI*fq8O%2~3e-LGj$cKf03ZcSF7Eey2H|kgY2og=+U__hJ35*Smkq`h|Z$`TyPe zT}}TY!!)Ub_vryc=%Rova&cU91 z!_qv%!aPGb#SlZZpNwC*6)p99O(oK=-+3xpE^$oXBTu4|6ahHK<4Aeh5QywEKxlO1 zN~y${BMW8aEjb0zwhI+^aCC>H(bl9mBH^Ad$_HN%X9&6VR2ju#HJy!BPoox-)f80l4g~a6MbmJU#9oR547HQNuFV%NeWk800W;k z7O^F^fw9k->q_>LBlHg7yprmq^U!7=MLvQC{F0=M>GV~Feh2HTn6}zBA~aiC=hvv$ z-y-@<`feV768^R;IxFAL^*vzxB8@8jUY?KpJB|Kc-2C4OmH#Skw#UZ7S=122#m*cM zy2U=l0+rQ=fC(xTg?k52M{5+Y7s^fELcVh@_}I3@L@{8&(P_9I1>ASJo$x<8LIs(SG`lP+;b#;f+`BOGfeu z%N*Q3L>W2ZBV6Lgx=J=T&!;mO;+SD3ZCjhfV|#9tM5rc=$OMp)*-q)Q^<`RATVU@+ zjJMDfIu=%?Ftah7qe;QD(WkV6 zQ@njy?t{vzXBG{65X?<81Qz+P|txQ}52Y?kNG{4?S*areDOis9EcQb-~?win=u z!-ZxSSmMptZg9z%bE!CH3`n*SayqQR7PhJG;j5|d1-PTX3UTW>6*I^TF3sTl{4)G} z{S1BgDz6<9s0eL?)Tr##kw3~nNkKX)k@B+L$D6Uf5({Tc20A(w>rwCvsB(N_zBlhX zk-Fye?0qaYH>E-m-6Q&BU@fP(1Ra9)aM>`ewJ6*4vYj%nS_&wV_#y84=0wQ7o6Tyu78QyCPBc131z zb4bxQ2By4suKZi7&Y0O71!^579zicz@`(+Np1#1XkNz;oUHstZ7f%vCa0+%4o5g(Q zhk98*m1f=DHz0kFc!d4>J}b$aB>W!n2$&&`Yxn0SG8xgAjyBF+=L`kD0wJtxUu~~t zWD1~r6Q;h8&&fmNqAh*3>el_q>FM|wb4=cU4;Ki_$UbO&bJ=te{8OWawR{6TW16D1 zIy(|5;t0Vfbe|-aUTqj|sJ+bQ-1>Fh2_vLFs}e)1!!L4h^ompq=dxBKw^MN{Qm5IL z?XM*}$zYNF0B;H#qNFR%$D40SVqaWy7eNG`Evs>t&CfwbO=4Xul)R#@*|)$i@w|FU z;^xGeZp3!u9c{!mfwbnnw+1krLWD388KZszTzSivSn3!OxZ~Obgr#<9ZVkF6oMPg=t$0y4 zrP0;*B**4s{rpo7ou|x{$PmCD!@o{^az6@4p9p^^KDXav3-K|MeG17eYfF|UP1KuTg)YG4Pxx8N^Ru~=CLb{(DX{Z30Zm`y-8g%Enfwby0XI@|HN4g^HUJn8j48+>= z_#G_Y6Fdi%ls9ywr{go|6P`*ha=DbZb8q{VA957EqT-dEr{uv}KHe;0;Bb}pq;++= zbDimgb(y!m(Rj)mU1GDDUtzNhDO*R0p149s>aSUW=Y#QyYmr+kWR)a&gU3_>ss(4r}zDv>V@9MqS`(`mNE6J*RxSc(qRWBkNX9 zABO>fO70QnpDz%(gkgkMfE^hE$nBqrh`+6AkWlf7sY3`9fD82^#X{MPibMqkg(G$A z%-L$g;-H|wbgI2VgRwiPcz`0ufC7uEvsklwsabxlhqMJe0M7{pOcTqcsgAK|v<(Ht zwH}JTV(7{1PO4_PuWCECrZ`lO%>;~0j9pc95WsemA*jBjqC(e}nUImBQW`!Ql5Jx& zJ0{0M3z4dfxijr`TKUN?2YUP!DU~JM!nJSKgVtk+$Gb8j}=F zGCd%vnN0(QfeWw6;Q;kVLGM}($C&wy$(ER;RA8D6mZN0pvDB4i;Car;_p4($lwMzk zBeplUP}P#ao%dLUcx!*?at!47idg?zBO?25HF&()YHnD(@Hs}<1MB?Fo2l*v9*k{m z`t1BTlvhOhT@#5l&**6?<(0LS&YI~we%jNmKP7dh9rMsk0ejX982=2^f1A;gRsG?W z{n7RZ=r;PJ+~~h=i2o`#y2QZ|%S;4_(2sRptB_vx_2Q&_Z zK2%6(4Mf8_Xak*SNBP$f?#{{wv_8P(W&iP^|Lp>Vm0V((zBitQX7?#W()T4k7OsTv zhl1z3n(DKydPeN!6kF8{;RD`=)h{j5aDATk+gs<5G4r5T6(XDokZF& zLz;$sY|gqyPV=It=X6;(KBHkZ%}km~^Z7=NUe1BT#7OjW^@4HzS^cMJ^FmXt!clA0 z4WlPdUA7()v4XGXwg?3F6uv)Mgq|?lW>N z=pUgX&H8Kf$OSCn;~T))HT^pHWPS%9-=E#G{|4TFxn;H3H~^n)__y{ppgU$jjv#;( z44&;nRgWW^m_C(kaGStls931jP%FIIHMGfJVg=#2Zqtwez&-wB(EaUIAgx}d_~Vfj z2zUjeR^UMlR0}c3XBO5lobbR<;!ImH@OVSh^%sPC2{%%eJy@hV% zGP}NfG+h%TVV$w(%U8pV)a?RELmr~ZId8x6uzW&XBpz9U9;;rIHYLX-Kdsn0$FUzw z&t_m-9~Eyy45VV~Eh=adYj|N3m@R6WdYfh%v zl5y8nq5{a=z|0Psdz(gK>r{wr2|9sSqdbx;RWNPPfoTYeq762JG0k^Dzk zOa7?R{BQLBx3C7FH&bKaKj_u+Cv_)8VIzkS2xCO4>;aopQ7a{m!`9bM=M}>GOKoNc zHcVzFKvrj?{cD#tE7ygFZp=I*l3YOYJ#yq{@K=;%wejYKVphZZ1G^z+Q#+IETforo zv%)N-e_FPm3;>84S z#vDnXvqP6Kb-+H(5M5=#j9qzM4^b~Lb!&by*X!wNhWj$O$FVjVv9^jbTN&WNi_0Bl zGcUh`N-4EqY$BJK-G@6<)H|xMuppR&qCMFk`tefIgzSXd#h)}xH6vb%1l>LoO!Tc9 zyqE#M%bGR>dnT1lIdFy`IMt2D8O{--OahB!FR6?St-jV(qx~EZSwpE>mwN8EM4@YG z27Vey5PK7AJr*>R!l@Y%$wYq@=O+-wgR}%ODTbs2Ro`f?INi^2*zHhe>RVCbG~H5$ zRqvCXSwGlk85|SaM||5g>V|9aUIt@3ZoDI~zYhXEt_#VH?4g4Em=6|(*B?U)DYwh- ze6MZ*J#sviT|#_`)Zjnu?|FQj7=i;j@m|=?|1d1%G*Jxk-j*(CjP)ro0&+xLsbyx_ z$NWp5JkGw{K3ZNy_`JV5oVf~imd6lFONoz;w#8XhRg)FbbkSlGhgjGYrf?4M_>1Cu zy-Wl>YoB0$Cj3~hlNLTF!D_IP)Hx`1XhBKMMP(nhP@tffJUR9p+qjXUe_cUYhd+p*Pz&JrHZnW|^ zgTes0_4sg)=(2dx==At9a)myyYXA5Ed`dHOV`~rgY%{QZ=M}ijb;$J)3F|@vR(odR0^$RZrTiC}E-iqn7^@c- zfYwV#d&&(B`qz22#883?}g&tkNEieyI(xGKKH?W^6i;fvt~^_aP|Mp)BCN>5?4-- z9J|85diTR@z{n}=p&_XQ-+7@oj0i9U4MpHLCM>(cnXSMOhP$-O)l4{}P4<(>@2!|V z{dy6wM+w`@j5n>)_XK*Lt(fC% zo%=-(F*iL`5U8n`YqQ%$@|*GUdb2wQraH>oG;Z}ML(Q=d`~h`LNmNN(NzC8}a6N7q z6ijWDk4rP$Uk0TUjFm9Wg@%J5mN&jum?!3%D}@ohmL1C5^8admf6t1j>S+pXM>$g1 z>l+L|Xo?l=D_KFI+b^(+gnv|(@)f{nO!PXYQ~VA#uaVumd0twE`o;X&;Bfy5qjhTH zCu9%9T?Cy|IQ*8gNfPo8W)F7W;)UD+kpdz1^Xk*H`t{qFk>S6>Tzc zsMozv_{|CT#Vqc28(7vW%rM(meB?FgcWS-kE~3L4_y&Q|PC?sL7ZfA2C>HIUcy{c8 z|5ra9N-MpKxM;?}3vaD9CeQ@|Mvg@P_?K8=%7^`zDH(~JO@p(h39g%y|`>&!)nJj zqt0Ko?yxpf`Sjrem7__cGDl@G>kT!+N{ADEpR%q>&0{L1sPYPH=7pqJRh}dGEY8nA zDS52LGqPj)GK_0k%7G}TB@9!al+$T%i&&vepGRaUgKyUMkB@5z*lAHbdOW!siiOA3 zJ*7%so!xc;A_dvAWiZF0ljja!tvsu+yKKOs+K1p$qrI0UHl$7EDgwi5RB4ffs597W zW7JB{yLJTO;u~Qe-k;;LzIg|gby05h8S!{5N0-#SmWV*Z3pg^DHggI8z+eVuI3JK2 z#>nc!J<5p2OjnD=a!0K`c}G4fG$|Yu@wZQxKuscbgZEjPB8O4o&&qie(7NiM-R)+W zjJlVuGU+an>^IjN#|!Cjr0C5;j8}o-VfGoNK%R4QZn@ne{FCM57tV|P50Hpa3z#kQ zpv;%pMV=RK(b;Qx?9jMFV#QIpH6Zqy$1Js!b9QkJe4f*@H~08@`Ha)o^3=X@Dmf** zAhFh^hjK0Ys5u*}FjdK36DFAHfg;FO?JG3LC+_@l_p+q0haq)b{MyiVhQ^3K7H#72 z*P~sWLoE@Dyx`nM&B=WleQzLoEbHry;8zAU`ddoq(d})4qDI;GDse{|405O^Uftu_ zI8oYt!77;D(8#g~`FQZUAfE&f0QI3&%p!hB)h9R&Yz$)^0|1C*8gb&7 zoo^wU7EXyjM#$7|2ynjlsD$JiAE?F#sV& zYgkZBl7pH1lx6j%Ig9m%KNJE6nFD-(X3l;a_X~e7LGbt!T3PD-?rU0E%KA52SuEDC zm;^$6SLYSaFzfbXQ@CD0%R{WD1m?oV!NCDyCcTI$+y1!~7^xf4e zl?O)j7ou$$`R`EAk7(Ppw(9ph!_Q&i;g)njaE*XyNk`AF&x3QNRz?p?({9ZZ+d%Z| z^2t1ANRR;rT7CQFQ@!3=#2?G|Th!t+!qo_K5S_veEfK=mzKs%y1!1m6sS@-rn@mH% zfN@m=^WpZRl$8Q>7vKQ2QC0(s?-U9Cc~tEi=R;CLtnNFdt*6j;3IvWU&!AqC1_dIL z%Tln4WH6c?*n%+iwkMP~1itm)s8rhE9X$aX*;MT#D$nnZ_}B+N!Vn>qROVgp%5EsO z5u#TDwqHS^`MNs$Ktxv9>TZ@h*HG5IoZ%^lYE<7a_SCeqoVph;5K7GjAABw2R;W}Y z`q^o&V~77+Bx{xH9r;rnDeRhLjTru2-fk}RR~+g7%$Y4C@P@bi1bFl)nb4i5`d&uraHkx(`?S(u1?P_tN*y^gnbAa;O=O$L+*s8noj>@P3v95=?$F?HMhL7+SvRIsXbpP1~)LUU@%^+N@$z=|o)0J0Clg+Dc9F$tEM4=$yLTumuQb@^u zdt)wsn2u|r#Xm8Te;|54gsZS|dwv$KVgsWdho%KF2*L$&EF-ugFteJoEF2X1y^=K) z^Dx7u93|7DbEEz324)5pAzNVTA^@))`LUn{u?G|sg#yv9&!{oZqS4jkZV!Baizmd% z{%x-JQm=VJbP`)k{bv8+3Bedc6k<23Az-M6p{s^rsLHkvYULt2$r<1%jX>Qn-abqC zkdJ|(ZQOnbB)-SD7eB75E+8LP{BMxH>3@^Hc6i$2-_*l2uPcec5cQyr1goo=w9vqb zOD8HDSlElJm}c0Ryov&~ASS#`5{UySf}qeUp)gf|9Re2J<<75*{#2zMGZ>iB+FzK} z_ge6aAJ+cAd2I6^d2FC4`k!zc01r?9m<}jAE4Ujm4&Ieap|2Tu*BmY~?ff`ZJ;nSm zDQ2l`O>ci=F9em9rXgW$j+UW?wxPZra;&nUc?m2t(iT*fcR)cwV|vHNyHPKoI{N2F zHgTxoodhtyzuUMn#ExI6!69l&?U6L7u0L7t>sMuPX!wwRkf|EjN8r^t)t0*vtL zt>p)P|EF}{&nl-}oJ>E!6Q%I);E4oY>Tb$a<>&pWZ|I2(@rb#V9srUUSePKGc5ZCL z+*S1J0j#uF%7~Y{<#6tZBfSB;ck>8ra;G3Y2Mu)ikd>Yu4EalJWUpu;Rq!3Ab!|D- z5O0wlMWG%^p&slUIKS1Ki~iPGSeX)-j@a!@hnyOqGkj$_9zcujXQT4jZ;gx4vB$L5 z8$y$i5Q1QJ57ae&z*xNqae4=B$u!)PLUX>-YJ z^@ZHbd(^fIB5b)ikhd2tzKY)~)=9Nh!7ZqnsF%E^tcb&=h)Duo(_~gFbi$qf7(^)J z5s1oyRgMXMoaQ_lr(-D_-dnx%wGdm!yJ}8)bID8v4@CK(YS(QTYc5|#>;*V_=@3Qf zi%y|h)LR_Vi_7%cIBP@te@K(3Iw68k>+-5%f|GH9OIgVpIX3j1(0ajfx3&alEFW=f z5=-HdXta0h4aPG@ZQ7k@VWG!T#)f%Wv^^ma)8lf`!$^UTH>I4}{qvl2Z8;wpnRBy> zCM(XSgAY9*hv%$`IJv>i%RAr^zPi@kz%KlmBmY}m3h2tI$Q#iqh;RZSMhizpRln>* z8Vz&A#hUB~We;k$6Yz!$Qr1SKiF1zC9(s=?nq#3H{^?3h*{3gl7f@MGywa5`-%G0D zG0Z-H#n$R`XLPUk+g&OM8l{&ViN*+$AE8xQ(XVcDl! zUdM8B+3L^=YB<4~L+8ahjGCYKj#i0X)KP`!ONibZjR@RW6*#T^tYWf__8i(Mh-n@n z0rFDVQ!8&)x_`D=JJwFW$A?WQ4_PM$Rr<_o2$Z3tMN1dlvcpGpiK^dEkHS>krxPVk zwgdj>H$$7HG+z{0ygcChv&H*u6eM@;)Bkwwe^*@dEy0(A==h`h4KeI{Rq1TxuZ~${ zX&jFRFtoqm$%|a)AAflA|I3p`jKhERUT5VsB~uiDu^A>Kj*LXn89ze$wVd#7Qy!QF zFyeu~u%O>Ze8F@bd;Gui;ehef{+0{}KViL6;Q(xBeJvaG0Gy8zJ%TI(0t0y9h=M5n2q-Vx%jlL$+*aLn(ImYR+rBL+xkkD4ci#Zty#Vk%7?5%C_xGnz9EV^S z=x;|t=VW8y04-T#W)J6>t_u^>(6_LFQ|kci3k7yjkN9Smee#8mS2rmX1>lZg>lv-S z1Zf^>R96Atll@Vw5rhxZaZ}A2C_(=+0nDxP_H$F!h>zlh>jWg}E`uvzFr5u3lSqaA zmcmmA@D9P$eZ*w9ap>5%Bf~Y0kw$GqbJQ93TH2EJKOfw2WB^$r4uJ7p9B$&uDAzKe z6;>ckwe!cSei4L>YdzWXC|*h>QAaC;;1KEKDP-CBIL+M?wOEqu~M z{l}4r|8@{6uc~WsXGobF5yQjeWJiYS=@1dT;gT-!vmuI65zwm-c@f3f=U62ln1E-2 zL2bc7!RSF4Dj{ZZ_tvFI#+jElK;+IxInqSUmCU9fXD?<$@CwLCxjIcD@x4@0eqq)Y;0_yTI^&4NnBiQk`Bke|dfa1`N;g;Zh?zxIs{(}0u`c3us-%1bs0Q0`7zr+2D z`g~K@$f`v0>97UbcJ4}3Th}<}@qOi)YY<*5;GnzCmFi zo#ipo*jAx_Pr00uhfro-fFGZNm}osQPgQ%NA1`ob@$4<+5I9Y~9xRmQLs3Y^7_i-f zCHCg9-3<)#N8T|kR*ecFC+<6W=VFhG?;n1Q9N z9J@X)fZ1K4VFT+x5}G{dS4(f7X=-#e$coz!Qb_FEh4#36J;?vl(l>tRYvhgqBDuh_T@@n#+5Z0aH4&4H zkLo}KE`rz#S~ZvsVq(<+>y)Y2K3ra0Rf0QZDuT~Z)+?cS^@PRX)B0aiejPil_Gl&J z1FsE)Low;#IXo$Dl9Z4<`IrtiY)$eSat{x=z(VF>(xk=MAU%gAQkv9KKnqok^um3# zxqAe#X|rXYWWMb7qKrP0wZmmbQGbqW_{JQg>aycW`+z+jH6={=H(+gRKocyDa(tuQ&00-IJOZdE{ z6ZF-^AQ?O2ckMFJLZJbYRqJz^x@n&jc%I&6A%ZYO&|weGe^-CrFps#@zWtSnuQSkw zGH#rF&2GKw)w4S(Y4yZzg6gSxpy%Z%kkw0;2K3VwhX&D6{^bD-6EC5Isj;XQN8sp< zYA5Gh33hGTQQkwgtn;&y9Iv)7CLR*bV6)#H(UPeeskjrHhgQmTu7xn?Wc-lfS)cK< zk(V7|r?%^*=sqDAxhSBQVGan484A7vuXj(4A57rzLYuaY90tll}}SVI8k4fQVs{i?=F%r<^N&>t1`NbD#8T>~F-vOL_{LoSX- zy2O#+rDd)9f=YLYsM<2^r4X`Z*YMsjZrjtW=U}zaAZ960gt1i&2+X=$6_sq`1N`*D zLbmdZrg1rbzGG=EA@1^Ql7YJ;lS4eq&A6^iev-Wrla~}_Lej+YBr{MEaAoCjuaw95 z-80}wN0STtnS*SmFJ*#AD_|AS461V(yR1Zo{b+ceyCcx!xz@&Lws5Z+Z&5jXrheNL z_BjjTb#=k~W063!X(fb($l2=lcc*&kU0;YpriGBasrKA@Xc%$GD;IiWs%>J`zAi3V zo`0q8N1!LY&^fY~zx%8L&r!miKPCR~8!1x9mfJ+pC+F1vJIEx!*Z)1~Fc?FeHpR;M-sv@b<| zSQz(J(N9p4SQVCRQ!lh}{<7|Ian$OdH=)kT8G7XvRRr%&`|#eGX{=zrBBAL@?mR~QQ4Gpb4~5&Jzjw`_N{o! zH)k|NYs^#edMcgMP7>U1+1u2ZcV#9>XA)x}@nL6vpdh}!7pO2vm?FE69jFAN#5Uf0 zmh#jrbYbdP!NYcu#ihqm4`47oke|i)sZoQ)S_I@9W~joncF5+-M?pRkegsE^5QE?B`NgJ?t0;`J-`E}u4ggfs;tt7ASZfrQPAC_5kA}8ou=fZ*i4Kh=;z!7LI&+=Xe{y8jI>o4 zBc+4FDTx*ba_*5e6khGPyoM4Vg?3gsE4*}eolQ4{PIyuTlMbK${NY2L#c|X|n~@E# zabIZF4agG^!BtgHx7e!VfU)^;u7`RGCb;2^nzOTD zem$kC?Fh%^y@%r}jD7HQr`0D;PUnzMnhj`2wR)>RdsjF(YfTw@H`#bOoQ)^$z0y{- zOs-ICn+Y1M<}sA;pl50Ml8ud9>EM8pl~d-M3ekr%OEH|>&Yj;BfVdf6kPeDAY}&D0 z&|yNZ5QvSwnrkL;@xtqctk9=?ds@M_jlSgRjno+X1Rj&v(HUkU6E6a-ArYY8@tr-7 zqF`7y?}%gNu-&ra2yNnL33c&bDE?T@vbeYPtg~q!kJ6EhMWIC(E9OAP>F)NDyKcL) zhP&!=8X=u`?pVKT;`&QFOQ;VlkUkS8eU6qLms!yR4dPqxwFWK?)juLheYF*NH14<& z$xm?JOZs%Nic62Me*Rqo6vPE@SK@R8pE}%^A|Z%FRhC8_jZ1 zCbo$oTnCJC)5pO(u_;+)cm#ANwAE>ORh=kJa;U=04AMlGJ13JTD|0KzGU__IT)7o5 z`(V%C<5f0iyjEzv@pwLIqFTMmZOQ%x+pReAgL*Gi1*4=q!P+A^x{|F$Vu9=_DN&=L zdGBgTyc318KoR+(*DjA8(i&WN_)rl)i5i7vALGWxeY`l*HW5i2cWZmKB7E+)nCpi` z%}R-0DU>x%uY6Lvj+d7X`qqARH3J^u z0p`ThRhlO(ujNQCI#Ar$=W$!iFCCvWb#u2_m3WGJ2rRTSB?1`?gE|uyta-i6k^^s()g+km)N4x$K^5vm zdom27V3at^CIgE6~6%RWJ0RbBjtoeETPOap^zsX zu5OP#R!BHd=w}4kgNnoUZQ3leFFaPOm|#un9(0}eE^oloH-5IHXM9jzBVusE9PBLoQ975Tp?GtL$;vDP4Y$*WEE1j6C{RcCeZ|@HQ}dcHD0&~f zO5YNTK|SMn_-e{A^SuB_O-N!q6|I)K=X+mfB4n*1sswhvj>i53eo%BNbPV`4v)Hc* zc?YgHV3nQs=kun(I<^1tKL7S<75<(m_rUtkKL1;m{2wXhpLMoL;Nii+eQ{-g6a~DB z%1c}s89BdVMY$p<2N5T)IFVuS`(qm$9lydE`~)e=$ycMl{Z6ZV7YDkcvip5U)5Y<$ zuLRPsbFo8L0_k~xOq^P6b~LqONiXUA+|=+rbu=nVC=JLdb2B3|BLqiY6co0p{lEo~?A>)dA*wbvyqS`+}YOAJ-Hdvpp%ITi+yVDoAPqV$EV* zo9P$!MFBG|voIot*razBHkTex`{1b@odsRah!ee`C0#BeAe@w9T&W%SQvE@%;7u^r zwXXsy9vJ+S+i#lacO6(@)2iaGQy_S6zU|t7W$n3qV**++6npWhR18t9&5WQ_RSjW{ z&A{T5JK|Yc?6C2003rOY$gHl&?7gdRp;0vJ6F6!U4YM20$;xoHAii;--Ful4o$>?p%3(1F=FM2 z7u#=ko-U7VY23$;;As}rryo{oH+kl`>+%$i&a%{^#G>4S^L=|Ij;JBqQCBbJ#7a`D z%HoaX;%A!&yTVaJf$uK?I^5rx7A^7L0iB>L4YKd#qFD=4C2_kD@B7yb2~D9Mh|&lA z^Zj#Eoh8P=cEpv^9MH`)&+x%d-Av!(UNum}ofb_^x!-L; zS_`IzlY*-1wcuDltnq6;RCT6m`>Kv~?Do#Ah|q{Kue2C5vRsDQp+@1#++ou>O$b@l}Bdil7T6gFwFYT2UFl4Dt4L?v=MeAXM@n#MLPV=ttCF!RLa zQj@Y$IHif|1K!Z-#9`+RCv@ZRA0 zsn|61#8z;SAF^s|tAYq>ZI`ueAVkzdbk0vM-uZ`Qdht2J)?82vh=TJ)zLSzUh>OW- zjqQ*-phdFYqj}hlPtwoCz=a;u$8*e_61JA}mEzC{^b(gHIQS;*PmDHJvGv<9d_jEv z2|iF{4Bsf(v|0xBeKOSKsoh3t7*vA9=+fo>_@-cC2@;AMiNN=2FR+<$`YcRDG_OwScs4N+5lVDZ$QrR=1wd z&`Hb-Q&lVf9PKb$sZ@3X=#@z)K$j%2jrX$`N~pcb_m>c0q3dw^PY~enoNtMsD<&Ia zINf(y=83>x5nw4-f{MQs?aN%37ypl$preRii;CCNXBbX_7i<6awo*joii`&IFLqR? zLnr?Xi5gw6yx48-<3}^aO9az&2q*cpyQc97nj*WjUJ!{ek}rj8^qg{EH+Tw~gi35S zINk5!;)o)!k!m;U6g(ADrx`B#i&u!qHW+rwR&~5vB~r?(CAm)nAHeU0h>;o+IoJ=d zqpMmCc^qN%8sQ=q`;^aiJi22wQ$8O;1YT;3Gt)tgT^lH-(4&6T^?~P=y@~8_N0Kc( z_M#md?9}#2io51BmZoAfA__XO@@+t))`0ng3*N(!;F6Ly{(vT)5uot z4H7dxeOxMcA_H|tsNRscY)p>r8w@EQ*QO|XU_GmD{{UzU83R3`0fL`@pZ9pR2$&xY zhmI&|G^$Zw@Y6YBhIUX%pbJ5J+a37wUIJHVAB##X!iD2y&adZZ1xM*cpUFvkv8Q8q zYSZuZ-C0jB&dj7JcTBQ4h{Ekute@u$ZfwelA7PW` zhmSrfC(2BNLcf;3nv>X7#71=|i)ya#l{p0Vo`oF+{gVA3Leu9{tVS72M>sQ2#}VC~;bdIn z{2b$B=0T{*$Wa**Tx2#}++MehG^FAs_TH4DXoHmvz7iU#1iruKxPPa9czjD|Upejp z-TDT|vq4hD0IM59saH|DFHb%8zXVXLD9PGvsc+iWfX;QX5YS5`yULu7Yzht~i$NA# zvjfV@=~xUeIYmpeR~&CwyL$$kHHQcBhSvl8k@5V>qs_eiEtSxUkNAek1rR6-ArMEj zw~r%4qf*M@Vs>{2Xe!N@fdlFyi1HoNjo|X|7?HtL_Et|{5H;``QGz%_vV?W8Wiid1 zHd~B->?F=z(Shk;)~$%jfK&g>V-O{bHSkghR;7=02mMt^a0E84kdEtAF`ZsvDJ~)6 zU0GU5cK^HK4pTXH?1lOTM1y)^R2UW_FC{)2k{GC;QKlB6sDd4RjZvH`MicETk#*hGXcQk|2qt<3Z9 zcTlo)F$(c6tZf*7`T9^aD&2!fp7H=rMIl@RV%0I`<8rWkvKe_6Qun}uk#OI@jIrUm zlMzjNGO2g^UN}7x6Ew4!SnUGp67O{K+9*#pi?wFE8@FR?h8p9fu^mZ%RO@8iCwf$s zL0NhTJQzG}Kc0QXV;D}q71)h?IXEpjwjW$@kWBk|QI62%ow?4q90a%`y5`bQ>pVyw z!aBNRk2UF1&CP4ImyR=Z>T05~YNp6lYqMx%3UpIHIKzbex*rmO$^}wx#{gT7KH_7w zSAH3dG+h|!_XP}NyWMM(I*j1KY)*0TRD(qb{8{@)s&^4b@8$xr+aZcePnE`}$GITl zWc8YL=S1y9+v1CLTdN=DayEJIpc=3g+MLzce57%1nyoU{D4nhABt34Kmwp{$ucM-$ zDpvV5&gU(HEhY}8@?%_cqL_T>q>Qe?F6(`|2;Har_xLpyWi0O{9JLTbYq7DnG1_*Ht>9#@tc1gq`YaXi!T_T)S=uni-N^9uf^U2cv_b zQd;l}2G9}G^Hdp_%QN7+WppBREk{cIALuFg8^riqRX(QsxVTr!A>UiP$zK&^fDUya z_?GmT6UG`c{aTF&YN4$@2@Ev%_RpP=hG)2t1ztPm#>I1t)AW}G{g<<>2w!#&$$(zr0$3aTSW{> zrjgm+6F1gr-Y7ydMT^>M&Vq=e9GurbuL!ktL9lmRBFdPDAKk5s-ez%Nb9&lnt%I5Q zPh@2S>Yx)S2L~!|z^zbNDVItvf3&2yu>Bv(+;s!nZK%K$?!-P)_|UCi(0y z#Z2n|3zjKia_hwpqz9-BOD?}r*UZe6ii6uJnsrYcib6nwsRIN`5Y$Z$i01h!gH~zi70BREcVK0bv3=Kg1 zV7js_ltv8wX~1wm>LUlb{^hh_aDFuR2c8&JfavmPHtx4>pQ2W{@{k2SGqTlwmzx)s zt_Q-NJ`!&wc#OD$uJ9<7;d^ST=1p4E5u(j8pG%TyK9PIRDdEL;qf1JjO`jc0pX-V) zNRTQ^PhjbOSbZCr`C^G%zHF|;pXB(3K%vwGbnp=b(-%HZPbv=8m%RomFF%=2Y#{#jI2psW}vx90+Uyt+E+`Dfy9VChyhB@c2`KhuDTAV!7Kd4j6jh2DdW`v{qLByrMeI&E-u}l|=FYoQ~zXgOvBmpgb`EEf3 zF+M+kFi|nzZqOj~yu+|`Su-lL#xAR7KJcD$hwo9_3JHp06lutp%*)6xhf>eUlw2uW zgtOibMy}Tiq$w9VWXX7JmSDb=P$ zA>*8z$u8f^o_6R=!j_G8;?)rCmt&6`iBpVsAI7c{ryaN7d9`co?1yCN|4H?p0}wq6 zx*v6__oBjbzPGIk2Ht3(X;pMpve@^wRaMkc`N0K!zt7;}KbGvbT%R8T6X9V$2}}sW(PhCoj?jD4w1P7t27?l`~08{VmVv?cH`xhd$7MJsnG{^>_#lFkZP{Ic}>3P%^3@mFQ!MGao7?` zSufCLb||gtff}tGViUWpy&}-sa!SJM$F$+4$EhhH4<#l;-3aS9Kf>n_Pcu%(}+r(V5C$47xDLiK3iybW<* zgo-}RBlN3lyY%u9jlWNpLE;@GqR}Q6?^fBKj|Ly4VME+C=}c}A4TcR97kUos6hx^s zu7ryu6h|>0Iw_y!xFw+r-{`tHAo_IkJk-~?>apNva!3J*m_>>!{!20AUFrE4y?_*T zQlc@YI86e`U;n#0GOyUuIIssU6F2u z$??milThY@w>-yfp9MuS&elSQ{R!g*WNRAA-u=v38Ju5n7CxRidUaBrv zI;8It`tA|N`8H+6a>xf}pi*hwlw*X-B6JZ2gT~!S-9>ltNqs!6Ph!%o5NBqpig^@b z!ZTG!q{<XA1}?jq%6feic7DSaAy1|=3NrS zZeWygF6y%qiJS*kp;91x_$%(zI!j`$B*2Gdyo^p5Fchlie*CE!Q}uWCM!_YN*HUf{C! zy2dY3dIYE>%5Q%?XiaE(~*r_2lj$ik2wdlx_0E#w$rV#b%Ce)r|_$&JC-R>Hhf4F9+!vr zKiGsNP&iwyhUD!uHKK|UDOPmEWAwytBA)-pIy0e1}JMx%WeBM4-=99@D4Q9%t zhzFAS!3R)$c#RB-FBLvM5VDCf&Z>&2q#Z&H`j`kS{K#5MpT+S)nRV7fj9P zk9Y4-$Hg0*!{|oQeVpn}Y^QaAV`A3}w^+7RbEA*0&e=(1u^;QO3iqf1&TT(f~dpGsF z2lVVlZ{{8D`?Ir3Q#wx_fIN*wG`)91DU(^+7$J4R}v>di}sn7t2<_1hT3ztCkjX@ z@QwU&cV4$?=UE(3KUW!@9V_?fX&m|TwuZuqCU$Bz+c)y^)l6KwVeF>m%@&U2s!R)4 zQEcsBFwEE37{Rq+21@I{Gb?|N8vY?QU-?bMpOB?@Wdkerqc zG`YADHspTIC(->oW0tuVF!(WM09_FKe?;E6xXk}SY6(T6wCdO~6EHEiV2%ahhDRpC zjDYw%8MHoTfcIat)#>81%!+`K|AneT5%sc&??m5yX^bHM;8u}9=b|YtxyedmzwZA2 z827i-#H}bAzO1W0Kz*(Hho@FAJT{#JKY)2jAPf1a5wADBt#B5U>{%jquv6WuM_1kC z+Evt`@1vkvGZPKpG<(j^^U5-!Ea|oKGKT|Hr;jA{WVm11-643}3z%eu{&QGq`SZl~ z7w=X^6jJd=S=>Qpm@qmEqHNz}lZ(6) z&K%ZGRN-;UFK>=r8sHs9Ofum(^b@yAa^jY-YR!?2O^g)HVUJxK1E!B1i|piP9uvvb zRTiuEEhzJaiLe=2>j2E(AY+5IrrsdY5vwQV31#VpD+V!6b(4T=MSPC3T2u|2PtnN2 zi>a)&yR}32slW}2q`ooaaL>=m$}7CMz>1rVz?OK2*-C{+VRFerhwkB}pHN69;|_JE zqaMVgldp2;<02QETcge=uL*>qwWXwdL@(dZkB2HLklC1SnJDtlBUte6?CT{3`eD`* zZe}TJlpaU8fRy9Cw=LREf0mps&{Mus_PQY1Lb>iqNrDSDJ{vEd2C4?ZllExKrLr0M z>H9iOuO1#lXlhWLJ=%yShSO6{50My9b1a_QMP?fyy5o2Pl@|PX;6lqg-;yfmbAeAn zV!5NLpY{Z{gz@-?9@@+k;YIX!8{vt)&eLAO%yj6v*|dHtk%b(7jcvy&ymjzL8e|rz zhpb;-@VyPtHhP#re!+S`SCRt3C#){x&V8i0%nFBKz4MIh>@7R^wEQKBvwdtM!Cv}e z+mjoy_tatN>rLQRZ{0q~Qx$PiCYNXHTz&9Te&eBbN2(7qWVBhgvx}5E`w2p=Pg{Tuhqhxu;f?)lD7pqw3 zlij!XMm!Iy=TYuL1S=`Wq**&HaY@~)HWsb(ORAn{fM07ar87?5F04X0Uh$(Ic&z`G zl8kOdV;x#GubxAgG)+P?;36%O@o9N#;*wwoEGl(U(*=X)B#hUM{LG7V4ipVw{c3>k z&rr$V!a#E0$^9PmKZ3*GM*fZ8q$R^F5CHMZ=5HNU!vteGnFh?jhvsm})&Uq8T@7e8 z5pH^fXxM&}FPzpI)i(=_w)yrut|fL&=l7%*_VUBl-yhG8*DjWt&#NScBByYUb6!Uu zUkvhB0VMjpV%0q~NPET@>oap*nhagR<}lE)yQbdDa-JNPP7bn!dDPdcb}>Ax;L_0{ zx=+TU#x6zMoEI5 zBtHRx;{^6l>-NF5u!gnLx0D+Jv{;!cC_KZs7*^GkXo zS8)!!;FRw;_@_B%v#=YAe_u{Y{%gU^fl--;(d%|(2* zv#7umy_1vkA){DIO_}PXff|AD z5n!-+=%KZ=#`$%hY-N2(i<-Q$*U^JLb036B1A`tF{pCPhP@v$G(3f=@}d^3R^ARLh!g| zC%ku<=IgU=-trsCS0*Cg{wq$#6@+?A%OHG>&2e8_2Efz*zjJIra3YSUsrjt~78?+p z0I^EeV0)Nv|5e-Vfqy~jx~WKc0)Td$!Jm(u+;R6 zd6;vC{-UZ4wx&F4)`)EUw{>nIrZ7Xh}&OM6%nVX>!y36qPhC-Vezraz4PMMxy0Ast+`g8 zqT`CM^lCV`d=MZPXLjDHySzL}`QTjmUN*1XFAu#(zP3v4@jacAVaE_sRf=c4jkQzq zkF4F%)Pov61|{S$RMD&$Q(GH)EcfYn8)Cj`x za_k;;cTSJvBRms%aY~Z$^D`#)1*_pIL_G(-zjhYBYk*wPUY%foSUDHet*?(f#WV#J zMHO?DL#q5#tffbWjfj&?A(chL?xTXR$V31~Lt&O8%08TfNN0Gs&;h6JJMLq^<4kWg zA>M2P!>4#NIfpWgQ7s7!zX14ddH2M>*F<@MUf;d{Goy4RL#{taaxaQ1kz_6nS5-=c z%y6-nxyg-n_2v)-mSf&u0K;Ryz4?|^1|+5*0U|vCn{gn_7|QRd|MSvG}2bG9$Ri2jZHq*H1s zW~)GPJ(=1(PAa=(w(HXo?=q8gTn4+N-KmK^gGVj8X5k@1tX_L|nW@8H#WJw4j1NBw zm4Ty6dxJ1TJVbMi0VNPvmySu6e*wFtR#R%HWv=eaq5#{dqDGeF5%=yh{-r@@cocN< z)7=D=u{0$O{;iOd_l1#J`ZwErRg|j?|0Q2dUi-Uj)F1h3h*#VGO`7Z|)ZiDN+e4a% zQUciQlG~q0*=wc??2jnnw}NSn|B%SPiV}ck2#3;Z9PtBv$-mYwaF>*l3jj~z;O&p2 zh<5moRE-)u^@*lfy9S3uy6*I*+-&lFT` zQ;JuLWfwB%UARWIB1g;8zJ3C>W+>|O+x6p*Dv?ttbb*jHI6fs3S-r_DG>wJNpp~N6~eG({E{G|W87f! zR5F6qY`s*=MH;!c;^k?*49DZ;oV^qQznBk6Tqk3XabSAh^1AQ?O)`6(z~821l59U! z)lqSn*ajPd-%H%^n&}gf=|D(Ytd*`EvB3$bzV~7)J zRaCLnPla(zLOx^f%1Ma!hA$fKpX;6)Ui1O;ti}}N2I|UzigMN(T!&*^czEve2Q?d8L$S~yqI0wAZdi|7WiRrcY*ut>bJ_U65V;#XRzU_OGv2*Uuo zMlb|Lz8wUpdSq+I#=a4Li1JRvbpp%abNgiw*3OUmUK5cn37QRujF6Tk!Xx@9hNDcA zh6@Cm*l`{8-XpT|-u?(QZF0SC<-L{BPqdK>1l>4Z>0YRYl^?{}mtMQtzYbAlgMxBE zb&A?gvA_vQkkoWF94fKliKIBfuqU+#y642&tid>6M5ycEd z$r3|Yu~znZ`oZ*g`e;9c;?8Oi6GUKg9{elC{@Ed+4ed<|ccHvY1105Ba?F_Wdr_@- zs*Mzz)ZCJ-5TIq?pcH=g&=^?W>8${ZbA|f;nS1kFDx8dBnZmac=zG0(hUj97==~WT zA_!AnqOYpr?)E>(f~js^Itx)hQ{s=4*tnBzgk?9LEyIQHwibOaouU5)D36F2%-Grb z+djyZnlEuB@P7UqBhL^YR;vpcY1-|&E%auXZRG|iR+_x5O_euNm_O-!g2jgb4-+{r zr&{yL6KwHW+uh)qmSyY5Y7Q#T%>sQnyJWDM8d?qBsK$T5wNH{Ed}3%-9r9`cv_GOh z{%F)&(83EFC&4nADLW;PLX}FomBvji#SAZ~i zLyH!0XLmj&d7~Yyrvl}h9-bm!L8JIUypX{dpr^|2r0y5$G%2;iE}g{_NkNnz9N5)_ zySJ+cnqi+IKNiNzAyB0uFf`+87;`8DQ*xUBkibLmI45}+mhW}(N^rzfr<7F7t2flL zs*hx=x#LC{aqbwWZ8}gw=XYg`j7032|9`A~Wk8nOwl%zTx1@AScXyX`Bi${bC?MV4 z-5?zj(gM=b-GVd-5+Z^K--F`WTRq;p@5lb}!r%4GHP>1*#vCJE;NY!?)&))VreqFJ zz3}iZUXx(9$MnCYn#Gyqh~-C@E6vaF#Ethf4j2NtfPUp^F z#&xJPOI}?Mo?rKl{+YA>u|g^$@;xH^i`zE3>KnK1_3ShNp(%%Y!}M3P2* zG(8018+>D9N#eATX>1Itg~aBCh)ZDOCd!2lx&3!vGh{~5f(ueSi_(81`1r$Trgb=k z6|nb&pFSx(yBfX39$h3Nr48|kIR6s)w$89mI|1)2!6S++EglNtJPl{#&WEN$`NTgpLm5#z+RYP5$4LAn3uDC7zyhbb$FKs? zn#p+Th3JDep0_5E;h`^(B34OYhMi$oAU|!C^}kUec~?b+$qENWZ9Qc@WS=J^MU6rd z71~*hfj|&(8n*m#(K&qn=v>}&CI&@GICAR~t2TM(OB0>X9IX%I3t)!MNObbx9I({5 z>k?%@X+jV|*0CRnDk1K(i}Gy9&@{4FLzH9TrYyF)DQYVaO-JNvI~uKK#74Ybm6%yy z2Myh)jn7%1AI+9{ZOqADT-22x@QKQU4;M^^=al2%aj))xhrh5jiW1t6?S^6Y=2e^b z1FGeMEAHjTgkH5*vc(`PtyR&x@v!q-C1P(6O=h8KbG6$7@zxa_cp2UxHRtgPS@hKV zpJ?U=u-QoM@nRFE^$SoD^2a|Hetti-dOMRvk521(#p7QB$kN0#17X0qb8he8GK$|1 z;18*jKhgbqx!?fxr|uhJGrZ+*!e$y^zXRC7=*aHK0_%El`?aauBaVXa#oNEP;>u-VH^E2_d?ze+p;&-Ah-OHKE(pAe zxw2sP34F>zP>CaqoQ|JCcg)q>$l+GOtY+{^)+i?EH(oHuK!H(eto)N+j)T@W3JgHV!0P&n{0M%+s-vy#L++21Eipx0;*fRgiHQ%d-oH=E4n3+0GlO6k-)h^Zgx69k$;VPRqE zN%a6DzqIT+co;cO~LCmhOZq74p7Vm3I6MT`9Ky+t9o`M%Bc z)&a?}GDfFN#C};V&{SRx?h2`guG}okr77+`gr}apP@X574BnzG3w@cdO3HTENkhkD zGH58)l?(*do=JQ<5<8YOfCJG{v|#DNEr!UMR#o{UY4DamTF6rr3a^aOH9UF?%VXWB zJ(#o~XZ50jw8CHJG~pPEsyKiCs?{W)$bx`S#hKjwnfT9Giy=wWSj8tle!~~fS2gaS5AS^vG*msO6 z4SU!S=POBrF)vTj!W>h^)7%l_C!OIZ56s~(@%d@|JAyjk(H6b)Bj3g} zu~lnbTt=lhTAH0t)Q$GheyM-!zJQXsb4H{8G4s^)VZ1tHh1dzNnoKmYQn|C$oa+o1 z2PN;&cs~OYK1G>Mi?!P{a$mT*d3=_3tv0#ye7vctQIP%$Jmx2#(QR|u6V7oHtN=z$ z?#!Qq?A;9~)n?$l{R=9n8Y=mb*ViSg*mN`q(~`O{TWUorc#Z2)*tZ@G2})c_@--H5 zD;hyKFVm2uPmK-p(n+({>@a87BT`o~SmU^f7Y>8#=ZX!7VH;b{cKm$W$6t}l1Ljj2 z>FVTnG2ORWEl$K)L-OfN{YT(Q$h382^)$&LilHZ*w+3Ld;NN$^G24Xr-j&lm3C&r} z#yEd|b(hlESwQ$fCuBI*XiU>(C|@(3hCnVCJ!cW3rBQ@GM7%@jFqG7NR9;e1k6%(+ zC`=C{M!+n_!0-Ax`WFU|x!JzG$9xGlOiZEx6H}1YwanYJRgUss>}LkzVH;tE1;0W8 z9+e#7UKjn6ZhtD|#axsIfvHVIR~|}v3lLl|M&jKk7AWxqO=sH-7U&v}y-Q*8T0q#n z8Q$0{laFEECq!6b0L%oJo@t%>Z!6tls0F~=a3FTY-lvqmB@*ZuZBsVlg9lYit|pkw z`3*htDELa^B(j?_vdJ-9a6As9aulIA^?=4)RU>;M7t0sMIN{1|^0t%n5HCJ78(Wq&_5QvoeqJ@nUvs zrQmaCu17(M$c{dtiHnt66?$*5#ZQi$SR&Og!`$)LnR{pJuumg1* zIjK?Gz0UNU>6Tm3@9|9Gea19Uo0FGLjhRF!4`RXBG_VZsC#2nu{CIj_=1SULDrFwh z)|=Lh^3mi>ob;|(6G4r!ytw&C$0VYkk5Cd54jwtMGn%*G84(p1fRq$?67Dkk_+aI% z!Pf_^z5Og&?E@hsyzTOmo&b#U8!PE1xy7tnW!%~NVDskTG^d^?s_layDH`$l9j?SW zLH7iuQF?d0506j|JSTXCwiclRLwd~9R5y)FT&d+n*nJWBjl`HafdPu76qB`V=_0$W zh6L0yrbe;=O_+r+nFe2>3JTok!g%Up)QtgkJw6(+%) ziTpj3n6f+2y_0S7?kANbaze{wvNCv&iL~R^#ws%IJ+|%^hsH*rkIH^(HUJs3@Y2{% zi}XqCT4_7)9(zVuZ#NgO9yFO<2=i{`5q6!MXPVrzaNdmM=D?57xNruK8;4RfR>#-q z7WrB}q3hvTuS^(4z`Ux2$@#_n8*7TmF2E6;1%9{8S>?X#I$W^aL_791Rlz^V9RD8g znEfSrSc#vSGNt)5v{X7OEZ93(INbkQf5=-nJin@nQjC586lBH53(3qTj0i(xUIiAy z4CKF%%*($PX}z1C&Zz+3(tZ2yQT!feUx3|w&kcLo&8OsDhi-qHtqZ~dLO1Wq=xC4d zA~X4#BCS%&4oC@TGf`2p9ISVB;WTZjzsEyhcgk4)rKCXq|C|)iVJZBFu>0cTo|`fWo}!%hv3e)y}hVs1uN0qbmF?m-t~5n#zYs-sR?2_(DS5 z_grV5ndxbs28U1vt-`*{2b#cvKMgeAM=E9SxpX@%o;_Jqpg6$ndqH?6!dN6jyY?_% zH%fF*b(4w<0ww&YlZ5hQO9DkFs(9p*Sa;+M)rnPXck*o5x@gu&P#ZPk&U_wU4wEb_ zdT!ptw%F^f6=>NYlRh`(kTRBcHFWxK%s$wQTA(Z)*i&tGe&OZUTnRwV)q5TLW&WK$ z_m|H$l1!4;?8(f!2@kgK1H86B-@O_qr)Ua*;r<0#YxSFS;V)V1>|e&e|5mU1k(Lf1 zv0GnHC0@%~BMl;bleJb!y7zlp`Zl_7iwk%lxS(#m!}9XiL^uHLzpXhXX%H3>T;8ln zw0M|NQPa6#YS7)(6%b+QV4BbNk|O~Z-lJu;S|sVu+9C6Lo|!wv4_n<;cJIsR-P6^Z zE;`M16e!rfTp1-Yq9^nJlxEfUWtHAA7sU@-K)!295Hm0+S}F*4#yC=_Fntboc&ood ze^Aa&k@vBXELd|G&HY@$nZTm*J0MqbeCVlFFHxatU3&DbP|42aSwhen8+#%D=ebkR z^XN39s8tKSBncnS!*{%?l_30RfrkQ?JE5jH)E%6#yl_v~SmM1B?P$>uh~bVz(`33i z7-GD~F)P~_U!xVy&a((VL`@zsdFQT7ogLBT#E<^cE0l!t0pEfV3FKgo0)#_s&u{Yb{6N8OM=&!J&w9^&fqkm;34w8!;NcJ__Wb1HT@j*58SBX+yVk>6rHW5m zTN&mxb?aWt>Z$3o`xZ^rbpFb@!WQDs%Rde|%el8wc{erEVW-_Y+JL+=s>*Jx*F!Cr zr*`gmyg2e1V{7U1Ub{;WMY4XMdBm&LzC`Darwzl;A4I&GM;Ho6)J!cOed4~1qd9YYo4dR}pB>io(P=B->|7&k{@JDT z$6~MQ_xAe*@y$a6jAZ;bCYryEWH{ggs3$_|VJmgXYy`K6@z`)topwRP! z=WrLyE5?|!zx1y3wzwUQ0P9_M{%(1;!A4({wU4*tCL6b=XqF$X{fe49N-3t(np0?t}=F3d~(BzKYDx1NbA%y=Z3xo2>!0U-7WfSJz#tl$NU0P1GeH@0%-U6@R z!<9Da#yGFf=Yk<1=S%NFDz9^pqf9$T4uwMCs%09c4fz;3h`{E{r;vwqX4vwA1@D0u zY@Gz}Q22sLxj#3EV*3T!T;ivc?bnPLT&6kYu~3(dQo^RAIaNb%`mvL#h6t)ovo}>| zD$QoG9>R7AkSvx+-HRtuZ7qIsCBXaH-cx5G{>c?dnf*vmWm16NJ(Nn7Q*$p{r<}AD!o9oP{h^`N)bwTTG20u(QL+Z`*Y zy>SQU41w}W>LB4+TXUVjh|mrWRBF03OHXmP)1CUz*o^iXPM#TG^@9Q-LusXv5q#GP z=M;jOQ2vdw`=o7DLXZw3lt?{0OFG_jm?x+Yc zH%d5q>z{{;dr)U)u@^%p);Nee%Zuz)ps8ZyAUu)G!;9ZosDnPLpjKH1+HjZo^ zvW`F2&)_LO#ORqgMOs$ZFpyIIbXfESwzN?Q%V5#CI=ISzlfEeHen1P?u2g`h_|l^} zmeOXEQC+30JL226FC6XFmFSqI__`c&3r_e}YEx6=^l`E-seFlKn_>^8j`DpdPmsdT ziDjOq<~*>6@)4;j97$v|=N`R?Z>gy71dC}*M9ZT9@vYf?*}Z>mh;q5}c8^hzR~Lkx z$^G)teCs3pm)lj3PI;-=9#t$hrT5pZ68E&XG@d>>UD+4tu-I*dW1V+r!6JO?J>+p^ z^Lhtocw#ae75i(;+mYE-)a0WMEcBC>;&J#@`uq8=k0XPd##Uz<9X_1A zkzV(QHCzYh?B=4!7d5^6)W zUkSb6QS99+JFouA7@>$CR?_c9ODpP%a2PF&phr2x~y=eT*@kT1Lab0Mq(v_!78 zTmcbB9HAhzI~>qF#1xjETE!2%{Hp*>nW&|JXrSZvU=H3wjb*0lSl|`;Ft)tC*n45v zu+f}}?z5eTEniYb;b*75Tm+>}S|Y>kg{eT((}*TO<@-#v&n@d7DoBXuAXbLomixt%nL73zfezb>2yqpIJ9fkYhM4`&;dTptEH#G`paIivZ|abW`zIY+6R=2M1rCxy$}4HU&4$NgN88hU508xgl%;(0xjY-^Ds4@U?zbSSeMK z3%S-X?8mX7VqA+~HthVF6Ujnb{$%-c^NhOt6Eennjd$kM-h|2lNf2 z$uTL0hW87vvT&b6__s1K;o>j>NIl;|=n+#u)4CAzFF|WDtlyQ(-@a8vxgLGF#xef0 zVDFDvpyCao6Yf7rpnfHELX0#76h+}igxD;vf%pL|P+~00za}Le-v09$Kv+eK{7)DA z$H-J#VO?E1VqFYX{;J$A#SR+I8&#PszEeLg-<}3$)6Wl8mcs))@sSJs+!cJ99~SmC zhvg~h*t5c5fJD7jb={fgUDroamaEV6%@>172)_E$E*m)Bc8zUh;=qtJf z=ja$JHIX`N{#aCgYBjZ*RHPA=L64{*rW1qmu-guICiJ8zv2JiE#Mfd-anLyh$mAhd zGEVL()Bc+f=5-cc9&D0iiy^Xka7zc-0X8&paEIy{&pz4}Q;61)uZ}s!N(8A<#xLW> z82w{{O)YZ-f_o65FFWYc@}IbT%~qARa-zN;B$~|-Gqk+?D9RtR_lbLXr%k9_1F5u- zX~2`hSnDr_A~7M$h%sP9rh+uwkf7N&@ZQcE1xll}52xtu-f_Gk@jG<1Xy7vt7C?yO z%2uQyDuxSTek|BENppsXn1BEV-o~wXA972$D3FIzS>;6=sfDLse8&=rns5v`gytZ^ z*JdWp+AuN4_DC7SXabFCDjOr~aC3qj%r{7o)c1tci7vFsWtS|I)j7I%@xe#F(!oNC zly{P8?mg{YQ+Fn@Pd9~?616s5$yAk0k*K~yVch|>7Ge8ZPVX&hS|<=_ZKPmhW-0QJzK~O;+yzCI8UE;dR)IW|5367fd>7R>&U0E#-1_d4!(m_mR_qDHP6cA z#-YmBiytbqVjYUbkdOO%er&W|k0oo2Q{8%RGLB-aQH(w97&raNnjgV?<~?M%CaCSx zOx+6K8(+&vw;3)nOBZsNl6z$K4y)93Syr||=k3<+d4`5ySzUpZA55E_H?T6aKR;1^ zd<>B*J+*^Mi-`IMMbYEoDvKmjZo^mnxMBvfY+-LG~hK-At5#Rn$ z^K}-S3W6GG4|STKW!q2ep8uM|M7yeskr)1A=2iZpphWev8ue$|xo>TcB~vb1?_4E9 zzk1m+obqKUChg-#h`SyyGkK3Y?DSyDGY{?f_=X-&Cx7_RL|Fc)N^jFI&~G1VMNEj9EH5r#d1ZXWfafv z!|qR1Ir~5?ILpSV(gbsEZTz4p?JTd4h-7Io{3#y+`o>){9AhElj=es2W5_fV3(Zn5Ov{vDCL zVP0eSC-2B#5st+M6Mjl6$!y2ke#h^6Y35W;iNnC!CU5_m%WIS=abE)+bgAG`N0o%Y z{SmN*K{QJQ5tgKcVD#cK3>CzEk&of^S5QiwgtD@X^3rE(&D0Y-o_aY!89X93Laa|D zBv*T&K4UY^BO1SzlNz)d&>p9{=Pc@}iTgC*son&&e!0b3j)D=YL>1|mxtaXZ`2IIM z(m^#tZw#wMtw7~dAA(#2>L9On1OqEZdGxkAq28Q&gYWjW1^7#9oiF%c zVa%1r_M$A6gLE}|+6jt!3U5BIBD|;~A%$?^meN;SxVIk(!#No8{(^dEc9t3s z$JZj!AA3E+uL}Dv4t;P$SZlSf#eiL$1dTajzKU|r#x(6K;mxT~wU?}=%Md>Y=B1R( z$L_$l65ZZ26u*~{uj9P1n>a5u={n9!odVEsAj@h%Ne`kam?X*;gl%kMz{<=9#C70( z$tgK+l2b(1lP(C_At7pK3JKU4Q~>shH57+1z3WxNAx$&fq8G+^-wH-{;IWz_I_B2_lREiPqL;6V}6_GpBFLtm2_^*|x5}1c;mF z-2_1c9Gs{i2|F30-?L2~%899T5;WPsu}x%th{;1!I)|0kqof)`Sq*KzozaIrk+SzP zCcQ&G`@y3@1{ED>wS7%ceKO<7>g1cR8a`3R_TDFD>g@^W4t4zULYFFQzTINYyEMM9 z576FX9*%b>OlIasyJG4!_)R7Hye0cp$|RtJB-0x(>ov8K1n~b~KnAgLvV5!O18y@K z4!Dg0co>Bgff+POcoL>OaXCl1ztZ2}L994~IN1`xKA1Sd6SynN`)IaixH`t@wx!l+ zI>yC@_E@$Cm^#L=W?p`D^6b`f-f|dD#65`AHlTN4@qn&LineCAmDN-dL~=saj17B$ zj)JvL_OHGJ?r0IZ0DN5C?T>_$%5>>;)!Yj_3uK%{4!ttj7?i~) zK#`(?e-YNLIpP{Q+9(U1%`{|M$|s9|;qADp0sGAF@v*`Q0-wJ+Kb7%fF8KVYpq{}7 zLPvl9<}wN4&sQ+-aM!-!wZ8$sTPC3jH-ce6>~PaA`QFBlj`%x*=Wp$j-^k&_g;*{E zu4nC}5sZ!HgW!{@!Vu{Kgp?K}SkKOwmVZ4fo=gpwt-!iNZhuxJCCVah%3nFiLHC$U zdPhjr`Xk3V=-NQ|5Z1ljG{kr7Q2;n_J&j;asmbHv;TNwyy9Qn$wv`KY;K;Ru+ zA;z>UV$HZ;;S&?m5)QG7yNgGnSrlJMO}@yZf7bYVSAu!oRvI}<8V+$rWejHkp>f#R z)c%PL6GjNap#KUe@GKZJqaao1v`sz2W%-oAJN)z#MSJ@bQ32 z9UMG7l8->Y3*rni&oOlX6SM#K$Pg*v!yO-BodmbvK#}jxcm4h+{doUVx_(j8ttra) z29RM&H4WF?)s{8cN;cvC4U~#YkmbmQ*oFPQ3nRTVkcHy?h^1Y`fCMLB9pxNqAu}bE zD2!rs6}T$Q-?gA09)Y8KBFaHSBZeV{DS`lW$_p&>o@qF`>jTbw*(TB&J&%Hi{*TYyNcierfRu`KjOd=!e_^4RF z<@_}A?aoH3@-%!2HT+4m>;1RmQM@|O340XLkQ(R(`CJ2Z7heo$>_zSE!-M_={@}Dj{iz|p z#g(A;&?()8ggLOx+osDn-D4}wK1qpzlr?2YvcOLXrjc!~!WblHfw$uQ!00}4kiokw z8l4qW&DWkRmL^o*mR(i`)laWPpim$d>KqYWGf{k3Wo4(%P*W#J*-?=14D8cjh)8hQ zm_PO<;)itL^CM`y2I~F8!AWh~Kb*QtV?WUD%xHEDNr(Im{UdE!vbQ2ov|bk0PONZnC@5Jd!c*q1KqYl~9FMuBagde_%VSw1uK@ z^z@}r#romyF^ijhf7H8n5zQUlm51QZG+dJ`j3e-2i>>%MqY4)zvdBJkt6lt(mE?V$ z-!lbHX$$bXjQ%0ZUJA&v{~ZPkn<{vLTQ!a=zn;2JxbNRwpd9`lLOKt3*og(TYGQ3ap_puiVV_Gn9@6HG!Y-DCPrQ8 zraAtSQ`Wl#Vn}PSv(0QAiUXCe&11nGh|~#CSuYU1sRNCc!u*WqegUg~vfgg6SZaFq36N9aw!=H;Od46e!d!L$Z)r zsoAy^;Le_-=3G)nnQZA=1ezz2kJ33TQ@+O`*6qz4VyZ9m#pr=;pMu}n%q)|ToOCk@ znz#eCfo17OXZGAkJk(~xfjb{orh^YlIb;!s_qVGqs((#oL`(Yo1OazUzr9Op{QoOB zJNy>~=hhEPFKd8RS>OIiRuGL>{5Hf_dk;$!72_Vdav)1yzo0)9$)^XzCckqAO8qrsvY?ohBsl)YYYW~LWWn5~=eF>P3s8pb-wIZ8`L zt;HVj*POnmyd8;WNZt@76KgHZAZm3t=aHpVX|U3XvEznmUy2@#<+kQ*wu08KAI{cg z@fQ=JYP0(ezF|&}VLF=gPG0DpV93EMVZESLrAisytC2r-yTln^<@_Z)R(YtydR<$~ zx&20o-=JLo(Nri-*N>@CW&=E^1g6)vc(En_ zwGng-QzQqIUkI5TfOKPKVXFm8dHqe(eq_dom{pFRgc7GcTmm34Y#V`%M1!3DR&%L@ zQ4|aI?rZY`hhhRT{}M`xz6g8H0({}?e|+WrF_e;507Q-Cujf3>v4D9(5~24lDBPXO zq-Pk*#dmfKV9vL5g#&9|+_<9PU{U)o_A z;oHu;2~`y{nOTW!*WwUjt%`8Sz&xThz5CE(7bnpof>I=661t`qfrnS13-XFjANQjo zBVj_k#Mjm%bEh%0VM(t+7#o~bA+Jgr|K64CwDQ!1LVpc38CK<)JMQ{H9we_hdLe=^ zbd?MMVpF#0$Hik(ePk5x7+0r1lbe%wzLAzJlg3@h!^Z07)hfy8SnPvb@3eaB!ovIX z0d9SgCqc8fUrT1Kx%vM52|0usG#r%lclY9P(+GU9cEzK-UY>ceT?7&sq0576Y^b4Nq5u*Rb z+Gt~7085U5i|Q3EEJa2sjuBK6ZrvVdSw{I+<5d$1p%*)h_zvJXKYvCHR~2I)u>8#1 zpBy>a8-mx`P*kGe=oV2JTBRa|lss_&!`%rblFS8FGrf!n6zC2_aN$cI9~{3qej4Kb zY~(#uxD#_Jv>L<% z5FaRydyUUdkHF}F+Q3i7!Q&LfXT1Ji8uaEHR8k)9YE)g7sb7Pz)zX)2P z_Uf0F^*#N%xGY)U(6SlFHPYSIyZ-qykL$rFinU*~T8Rx1QLfYdf1!pWaznWOqlWY6 z85_uN?8*Q=0Fo6zI5+^z0zJ8SuUQUoTK>Xr0dMdjIsddVi=kbX28MO*Wd;3?jooZ=0cs#kY$DUbW4b(AL1jDk8gc zp$)9S?;6J8HLzO4#K{R!%q*;qfDS<;p(2ZpAMe|3`p^{uzQxdhg~`ARTml*wDGMUZ zioHr1ae+1fo>l^$wi}>aL_Hyf{FN4V!C%-Dpj!lM0DiYjnY3^83t0b2OAeCleHkLs zH*7p0E_n@(zupvpZZY_JQwjwbw{C!g-fe0ey`aVy+ zjvqjl2@(Tw!YKFQNWI+9l8_PBw-yZ|6U%`mn4YO>NfEef9wkIcNVZQ1 zni#U*@~`e!gLi55FTuc6Z%D}hk1#NJxZjD!gA<8uya4;t-`@TT--R@mS zKb?v!NQhLl5L7aV!07Dgs^FqzZbjv`iHSBaYCB~eWAE|-PdHH1V@P=qg#R*7;H@$6URt7)-AyPy8O*ix= zaKPM$CRb;<#%p;|v}>wDY|-Uv%d3X`C0Sn_6Ak|B9JnFD$sIgkmq;Q0>7o8(6e_8< zuKZmDz!j>CR4kZ!OS($=($zv;)!A9c-#HC*WY_6f5B>_D*-@Z`x%ML=R&JPPg^iu-Lp>QOdO4`(m z5q{&k(44QJ80b5FIwMLy56qb@8%ZiLF1{$dFGbsXu4^+n9Z$UpZicb zv^xhzYYi4b2oXHVrUx`ikpzW&&5Bf|9>rQk{jG!oBttyZOgqz%_7{sloW_VL@) z+`S#o3e>XnQ`n8C-0oZ*@~FSk0leJkO)Up}=vpA{pWUQ?G`g@v*$u1uO8F5f6^Wv!kz~rf6E#5wf4;tsY^l;UqZFUH=XDyt zaKuiuF*Pqy%y(XyL1f8R_$V}RkU|X8Oz-wRnLdJ)D@V~x(uS<#lQu~&h^Lzfl zm+_6+0l`2ZywlJGb($%hgNcPbbn+W*auJjY0LJ`V8`m_fAgmBj^7uI)sAZ~*yH00P z{{{QrjI+_+*tgnH4xS9c`kQo(W{~%F#F16m4o2N(g=1@nhA<8m$I8}25;jjxX|MnL z11+U>CjlAoe#+Yi;Uf3T6ah4W5aNlL7(K`lA`g(Ul_EAxJM)(pZ+Z?RRlQ5o)`BLv zLc8F-2}eJ|PS$1o>hz*}=nK_kh1euN8m{q{>)KKe+a8MjwuMFZsi=TYZlvqi&U5h9 zT*$nkzFrbh`qx1W_mq_GFi3syHnAO5Jr^d`xyK*n$#Ez}R^zr-%@Je{cOW0T28)lJ z6>w&{?b0UAhj*06g6X){!zDdOv|OIx=^FVQ&11k9Ir*R&YV%o{nML1w13c1%X2NF) z6^_^fgU%rR7QRHGtN1H=hJLGR(V5W~yV`+!QzpI6u%Rkt&vTmUF0kek`sgRab=XVo zRI$4iEv@S2)mDS-=8jVmXvKx}X`kD->jMU&ae$@?;$Y$khr-p@fmp%A+f7N?)dqE0g;@=>X|q{} zdDUbiD~7|(P;}R_C!pf`h2r39A|e4yeoY~L)BlA<2}L=>RtWgOk$?P=f4omsZ}fvP zZ$2_r9Pse#RxiLYSY+CUX=GwhRasL5Df5kN5L)|N3{ij@1)}&CLLmMcp9Pwxh{*!W z`WINvq;C2Q|CHq{M_z95CwW*{+BRFBSV`*Nhe;V!@4n;)j$`2MkE5va4d+O@SU;@@ z-QBxgcNowu$)BGVyv|Qw2AYFkwPrtsun+{x zvc#KtT118Y;KAFy(R}D93-prh7%v>?gKInS)_C4Yk>y9p3`0{G5fbh#+L0z)!M0kIC$=vgv3-8dc z&oSf1qV%2@(y+H??6x7qxrsN+C^ZsD78F_(<|MtbNYIcP)pe0b@1~}Wz;mOO7<_Ci zJS2EVN9*}XQZXg)%syss<=ssAaL|R&8*U{BPFM{)NsDSfYJ!cBZZYeg=!KDvLB+8N zC>}~=IkPXVx}Ggf0a|^wopk9v(5vZ!kbVjV0ZMx`YSi<7b%bL_HDL`VPURKP zDhT5X|7^CV!?re#J#-0Q+>knZ1gG#&(vU-KMA)W{kTN5>R@-M1L`MGZ&C4Mi`8+@8H_SGWNm-YD7nqB~C5ozapW6O|RB;R2UbG7tKr+mtr)n>AlnOrT~E;w%9^~{PyMt$az+E38MykULL)Eei;LD=4zl=7-W!^ zwHOuQ#DcSuujw1u^}#Ha(d=nkRziJd>R(A zn@lt;h^msr6Qfz5p6F@prdYdh?qKv2fFwc~Yo$;FR)fOxJ(jiDVR~5Ab$jl~Ne8=3 zCXyrcTBc@RiP8x8+?D32goDNo^*@g8Au4#y=xyC5MxIuj9=8yE>~XK#%tVuG{JeMU zGb3zAnr#n3=xJYiue4T@QGbbzw2_80d!l}<133w^2)dtGP;ytkG~Y8WYX>FG_vEjN z1qt#iFErO*gC~LxOqJit(wfv5c?96BX?6`%NME8cIq*TfpsP41S#!|aR@8o3nDL+x z27@9rHko~zcJBz8e|Gi^J(#SN!QNOS7E%NMIda5HkR6)#s8Qp*-cTqBKi0<*r_j&p zw&02{XCRnfyoU^ZZ+7$&6Q4>2AqaMw+VMvA<|EC^b2ex=SA$q2*q7R(0dxj#Z z*2`-lX6ltyGdF&rzy+-Y=f4B)|9=4|EGF*~#e1!#6VMZ!1tuP+`mtWq@&ZTDf|Ojl z-mCiVbFW!^N6hk$yPsRMXvnqc+#Y0H;m_*}I-dxew8C}cG}^`l@(?Zw?wV{N3*3+V zLiL$xmS3BCEl%lhhBPH+a%Q~SZer%~0jNdIu+yUPl4gF6$V;C@=0^Oi%}A^vursywk+W^ct~i09P+HuQ6V z4gC{e>Lu3c!!%5v?$5)B-u1Fh4X72}n|CQP{`Vc2?z6mdo#^yqi52B96nU2T}Oh#g@&>$%Z3je71D z((>}NmRi!JD_jVi>`XrWx;y;wqK9o!;q$;TUrRA_{MR=xzqltq$F6_=a=jzAV)OI^ zDTD8uxsBo~Py5yste0L?*vd;fA7!fp`|1K}?r0|G`>*EfVBF={oo;5NCkRm`$<5A3#-7s11Q6b$Uh*&<{;#-+#&3^P17&MA=K+> z5>HASCP%T4G@7^&Qiu>?+%i$Ax*OScN{|btq_H83ROcL_V;3>(E@T;BoqhrofuE%N z@c0`X`jPIq&9hHm;veZ!aE7M9;gN@2ASLCHJWZEKduJp-;0Gq-GZqAA3{7Fuvuwk< zuMM%(rH94B(yQ)to}9hCG%I)DOTonSi2D5;Q#izPC1oQQG)3J2c z)0c?L!S?bnA3nqObG$tP6l@aQQfAGwp$p@Sx6vSnUQhCz!GjtnpxS8*W7CC23YsST z(kA26&z@Lw6gkL}mZd%A&I%CX;SDh4l?2BSouMW8&?fr^G=XdA^mV=0`2$0E85=)r zdR;#}((4+W6>}ys9B*~ZZbFx;W%Uk4>k6bJ{n@}MST`YPfh5Ej@oo`csN`u_=}=JW7;j-jj+O+YHRYTsIUrKX!n5_R zim^$*2FA!tt9^vXTE55{4NN&!PN!%q|^Ge9->hC-XzyhnECU1f2sWA zchRD@k;RgPxh=h>TinBGKFtI=klxWFNGIM+VvP{A$fL+>TuLXRNUFQgDW#3cvC9$s zkVOf`j!t*^^<=wrr^i0NUxo3IzuG+=4}32Z$ef0<$TVs>Mj<7&-zD7MvvzlA$e zuwuPbczp1I{rGNd1Mh58Y!mOPg{}xAcROV&X}Jr*u!v(k=+3 zJkf*sN#KNE+Nd%#oie^kHxuR*GQ>9@*fMiCC&Ekw&8um)pe1+2ZP*cd) z-Zc2tY8BxwS0h@;AnkvN~A7*dQ32!TR)8c2KjjF`;E`W>zn`6dh zkN5W!z@>hIV2^TKYd9^=sK9E;ZF_RQfT7pE+tz)l0=p5?VS4;rucd|9BX(jBWgF9H zKfsO!`71wJUwFgY8G#srL-3q-rwh=}7neL-^ZjJNh+l!8OF-~vfX!<=!|{%!C)OMZBkTJpGn68k)nPkm_eAg8#xhIIwR-& z*{D!%?Cv@9xMI3%gU2AZ^C+s8p&7&px$>dhXy<#&hQ%y(F@<+%I@w|Gqx{IqZC-6m zgoLlf)Cc9Y6LiSY9`n+}ER)dSyqElhaJ zZx#`Axi9@~&O@`)J5sSocu<`Q8}i)%%-F&?yhG$gK*b?UHx!(=U%uw2$9%YNiP&DD zCbN^^ioSVY@BDRg+L5V72y2HeOf)48#rV9qXGDB@t^1sGz{a9H6g4Sle0#9$Qxh~w zTAO%GogU-ttR}7HNsll`Qa7m%mQfqS%R440FJKZv*0Mf=wYhwK03x3wut8vIrC2Of zlkQ(ChK0CKuu^hP0BK$hC&)R7)0}u(NOeDg>Kx;jR-=z&_X``qB-bt3Tbe}vh7yVC z=j8kEAmqPs@4;Sk@8JT~t?nsJ;P3bJ+ZjUMkb|uTk|r9QCYXb1j6ED`R#C^dn7|B| z3?ek!JDbD~A=y3mcLJB7x0{atQjbCTrt$Ni9>X7}#eNdOgopoK`}o+-R9y@(Y~JmS zE28in5BviGm-@#6_!;_Zf+l(6Z{j%g^gpx(B7YxX(_LpIxGucx-hO#9-!%X)Xm0i% z&;Yz)&6fVbnyvj4Yc}jn?L`yd#7ge5`avl95n>Q<0HFRd22I0KS;`#7F~S}KRScy} z*|?EFd}4qLv5F`98V|t<0YTnx&){o-1@f}5wO29pER-uvY@*=rb%VR;d$f(f2R{49 zXa0{ls=QK}!uKgSn0z63Z&LrzyviB@V^QzNU{X@f-FNM?z&0h_!v!nh5@G3e2Hr=Q zNjz;4c7ryc0y@P7qm9m758QjQ$dT{%Ro1jmmOx2R*z_wE`)NtmkmlKt(vtD@sn=i* z3ap_%&ChOjJ5}VYwTP3!FJ7}N45OCAKTis$R{2EEMdVp+qETT}rH2A`HTNoVRLjN{ z@+mc{H~7;I17A1!tL^e_>2NqRU3FbGU5y343yigxcJuw8FG3lAx2Ms7QJDV)qkP}_ z>kg6ce>%ciKli@4e4Bv|QM7nXba~M=1RN<1D>esC)fip_XcPgs6q9SH3H(Ht?HyYa z8)%k6L@obhTupCWMX0|6zmHDL4GfS?e{_Wnk&-gQt=ZYV;-mrK$xZta{P%Hx1T3Sf zN#I-mIp4z{3;2@KE>X-6frn1q6h{hU-`m_kVywJ*iA}B;QJ%qILCGN?3lN5XbC(nW zr!E+NHsRt`hQ}BGNfe=apM2EimZ-HSJo;`_DqfuPE=_E1*mX7h?!>hD>KSpodx7Ix zU1DlI9bZ}{u%Z*0+G0@Un?7HDgd|j-VPiFlUC}i5iho-7rL*jr8*;Tj`&qU@@q;W8 z(b_X+E4xY+=cK98Y+~-fvIzf$lhwO&)nC?pKS7=9vTt$)>S0hgFHyh^WkY5X37rPp zW{q4-q8v9ouTS9h>Y7Ho3>N&^H~5&|q3Qwlx*iU^CC-SOllwn7qwmv!mDd=fDN+js zfbjrBh1Cf`Hj5nC<2YjRByUY)Tq)D*F7p61bb!zi3j`#SPgRtJTnHtqM(R(Ju!SrV z(9rdSzjPA#_3KyofkijmzCtJ>9v<_Jl{lcs+q4=a6GE@3oac}iZnC)og9Ok=hafy& z+@oo0K!d_wMZRzi>a}~_m~?1-Is9qB-E({=o%#zYX*bRy*R19%LHDh6T--8dR$ktB zVGqt$eVucZreLOZKFkdT8a{*Vhnr>h4PdgsMKr28Ig!KbMiteYPpVgKD<{1pkZ3!N zB7?vDlK->9c42TB^3D@9`xVZXJF$>H3$W1#2!wTG+z}tV#z8Nwi0DAO%S-FgRc~V3#K*x2hs{(3ug1VH@y4^LI|||<3cEynp)h4@9EqrTnCvRo)q~EQtU#ZlLl4|2=gI)y2CbgnP3pRk@x-Y*UZ00 z;GcGve_t~iKt%DpnV{X=GC=#g3Nn(#0X#%*x<8P+YJ|d?)KIXI7KS=pEk>Dha}bls^iF^QwVf)U{DYT5C`$Z z2{>uPO)G?m{suSl_-JYcSG42~acJs+3?>DlJzw>|JTiwHqehpfuaYG_a`XJ4b za@f?4Gz{zM2T)XPsA=_dk8<%n$~nDVHOl3j~4>)6YU7QxqOyAowFFhT}m$NgM9_^<% z^9^EO4#$haTe?=YLrKcnVF|P8IcB3*pIDKYusH2S`-bw^n|knwLEdx)LTwk%B@sa& zwO|6*wrUf0I}^f^EQLoHoe0?@(irTt_i%YSDH&3L{mH?LU`zT6T{H&#kE|#+ptC}9nA&*1I1wm4lY7e z)(rw0Z7^N}>JkOqTFFKRYD}t%Oo5{;%#7U_;CBKV`9A8w6tLoDV8#C}H~-fUM_D69 z5lCGG;qjow{NpX+DNB`YP{`u(!gR?Ab93`xTspvpeeVU$;U&tIK4*x4&BVX;}9vD8S`4Lmn>T=Ee%k$4s!o zq3%b>HP7#sG}!XOmUKypDE%bcJ9D+i@YFse7?DHWw-bZM8V-xMDnN^O(xiM7JNS;U zYrX4Z7lGe@dMz{m8cqjdg$F^xR!2m>PBls;d8r z3&m@}-0es?iv#vP9g9(U5n(2nC6c3dF$Ipnv}>UIx(VoI}ir10lOneC@Hru zoG$CT`kA~qi|^^@5G4jTj-P(Kylh9*BP|RcURk8c9JGSrZj@^{{t)jQbODtkk*&az z!)dR=A5fT@5HBl4`thtsD_31Q{E#?=*6cba&9yPf{ z((`beI$IR-vn+;5jR_|;aZl+-tSpfxA{pQew5NeOeE2Q_-`{;_H$Oi35D@pmFecof zdpwHQdhs0>OiT(o!()QTnPX{Gw3aNtNJGoF(J<)t6uddx6m-KYke;-S<~`z&?R82M zVy|}Jz!eXDyR-L{%~edIz}{!vfA6K`ZU(TxnBW{rC?J@!Y=5bD<_izIoM;pTrbE*< zEUU>U}mF{W(?Stv$>u9Y`T;otf#;0^C+_w5nt_0(3v{UYf z-iwTJ)r)mTs#RDPERA-NVqH5T11W=;fA*Q=zy4fF0p@I%Rv#2ue- zDv?)*`C}YIzMwP0bMiU@GMGC3ER;#-wNVe)Yr*_VQAH&8_HB;5Xu65r*`ym2GRrAk zX}t9@YhrgpV%-aa1^1dPRBWiFCVOd%qT}bDQ4pr0eC>>^kaodQ|K6)Ug>*Fy-6=Iz zh)g#4#EcBxn(Ar6R?@Yh19~;VGgi~dVXibo_iuhJy%f=3p?y6xrX+oW;0#+*!epgP*4r4v_Q3v*Tf5hWbkiD$%#Z|Uz)I+zwBt3Jgw{Q z^c)I|Z!lYww+!_Hon;|;!t-)?^fXW5z5RC{j{@EtEGr=^1QE%_{@2eWjr`!*^#ekr zNkbBt6Gq#Le0H?+dJ7Bx;Xz}Pq6&3weh+2%m8Q44emEHik}H*pKrYJu4ONup94`I zbod`oV;ZOt)*>$z!dM!*Ns2h|2X3*D&;W!M68hcTa|SX!od#H>7V!H+VV8yNN2WkQk&j=mjXG<=A(=_>n+;!zf@WiNKM%XC=tV$?{jm zRGW00F~MZu+@i*TE+DAowzizNIFujJ7^+zC?A&yBH^2w)M=uQlAY0P$B;$f)I_q=D z7WDz3({?Ik9CKKKqO?|Q5pD#LJvSsK7DbkLS~GtTaUwG#huz?!fY%juWey&kqB^>OX#~f-uv=#v#(-HXnp(DcnL*9fp^LEp5Yi^y7tbbf} zft1GhXfWWCKLNY}^X~!t5l(vlf+%k001g1xwkXB2BFRL!vq~1Sj7K%V3U7RO?wR5U zE4#`w-S(~pF;K%3B9IizBpqi85#a(OA_CYZ7Bu`XNnZ>SIw%vn_N3B{x%0oi1fNF} zJQm7Ou8FZ&j=$J6&2Uq#NgQFfqh+l8;J|M=5!@I^Eh4N%l4lTgS;R_79HmE5U?_r@ z&(1!NhrH)5WWHV%zPn}N>&aJl7?wfWh909}lV8-Iv*WnH-4+`-oF2=)r7j~sBhak1 zI=h-Yo{8=2ln|k|1V&qp^abq>V2pnv6ag0429x{WL@IJAe+{hR#zIBkmLdaKARDR# z-u3e+iY<`oLYJ90=m9`eXB%-GOTFd+(PnR4`pL7eL(lCM2|>%@L4;v6&9)Z|yLfoR z)Nmli_jffcphkPE9DS8DFVhg(YUD4UHt<-GT$~j8b2&3z&_gIs_=-ps*a`3Qezzh`Qi9?x-Zh!WzwE%#nXzIZ4SNB zvMgq}W-Buq-Q>792~RFd`F+3HmMEc~Kh29sKSXjdD&a(VkNE3-^3LxaG(E7%UiaT* zSyj`7pWT#~P-2Qip!tG2g_4Gt3E!GTg7#4`);40{1RqSswBWcKZ0Xr1#=r@fU4O^* z-2IGnVDEo`27+bm5K&Axb2+4dg+1pon6Oo|rw|8~g1}@NCB3ps|e~K{q zPD3ak$?_0>pf&O7Bwfz@7_Qih+(cBY8p#zzQ`sbBH;0Lrnj~=g8IN+`sjj?@0Q*c~ zBJ)^dDbJP4d#+P1Fk{5{HC0>uek#bEpVMKj;3`htGbpx+2*J{0(F74x*6Oq?obzrb zyg^@4d?b0vPLU*4aEFL~9^ZB4atJ+FD# zxSAP6_O_x(`EuIxq1j1H8*>sfzAmXFnC1pgzj%VRdky}BK~d(nD^7ha$xtg21>jG) zT}Ox^7+9xKb>>n{H4>$~OZ^yZW`$~~bW2g(T|-MJ$zn?0rI0kfnK5N{6Kt#+09)X! zFWQ#+nA}N-jZP)ai`38`we*~{=?WQ1N=?1Hi1%HxribN4*JHi~`L^@jb5A@6EpQwC z^^IqHcQ};-L|BQFKv4YylVnBlDur9&w+_)QVy2qz!Rb7aD8bRbB04xDL(!v!y?z;kK;4s$(X^>7X)X2T z+}qej&5x4bs7)8vH(mOaHB2)}Olp$b-}no`AY&y0zNsr{_H3S{&P~b_`V!jh`S48( z-`cZ{qZLLt#R)#=Z9eYc33e3i&n!Dd_y{eSgXr%gOdZlh_E5^%g24dwkdj@=rXbCS z-$V&EPWRMrtfetH=*6=AT{?hNHBGcIuu<;7?+;}rTt79yI^ut3Cj3DFh&+BaoPCC^ zwkG-qh`bt7o+w~&eZ%+Q1e0=YYx7W+q zk>_J=t!Fyfc6C_tzQzsIQsT7q@?lq<7OB2usUK^LZl^p=u_{!SP)TOa$V8`7l1fOO zl>Sz|O_C~VqthQbLpL^rEo;O>u3r6Q1SMYGw9ybEWemX ztB1j-Ey`6-zupO!E|(>x4}cT!2P6RH6|0nPMLJx~=9JZ7nko%gq9W!b9Vs5OV_=qQ zl7uWd!b;lpn{vXqcO!~ryU9HqslUpx?ey{MJHXFvhXx^r*pH^31oZ#%Qd!>-Qk_K@ zKb9F5_Z+m7n3p6{r!wf9$3Kup*a%@wW5bb|Gh&vfE^L*Bz+rHuB*_KZ&wS zSczNDlg-l&k|V?^kSk0V?H~}xjxT35_)4+1S`R8f=M6LwtZl^M_RswT%Q(iF8xyX$ zz6Px2z)=ma&Bk3VQDN%Y4Y^o3Go5-FZYw+U-Wd?l!$%-r0&#%k4`c?yAwOjn&2`mO zQxbBAQTa_4If}bOfw-nJ)g2@1Iitj#6ekX{G-yx7c zgZPI#WH#6ueZOXEi6KO>v)JP>EF|f-x=eOi;iS)G@}88N^;|GFcakjs;G3-y&WG`( zg~C!Mi_1B!q_Ng^59YJvaVid+_}kvx;a6x8$Xo{*m+ckqM6}-^iPv++dY|hIlA1V_ z97b}M*Lz?WLkP*uT(5nX^()#shcsw{&O;~Ku-qixs3y^{Ky>?tSQGC>H=(T!)dT)L z;PClXwhJbpqbELCUA`0N_gyNr=&3GeCchz9-ACpZcVbsT6iI;su&Xz->U-w*sy}%~ zaR2NK{;CG|&lcv*BtAV|3xHwZY7bhGoZa*=wQ*4MAes?mi3#92?^dY^Jcau~z$&r- zb3*d3ZD}plqPQROZ_h{@zrlw`5v7y0j0{7jX(}3SqYK*i&wGWv0151k3^TvH?D(=? z&<0WmAp&u_pu>$n^=j?`^{3SY<4ro9iV96tADW&@7`;nmPqxPR5!<7P$Th4hGAc)w z1*vCEd2a2;r0=J`b$+XSSM#WBQc-Z(-Aa_RdAPhm?YxxF*cXaAS`J5hBzqz9GL^};?_8H7Ygs+!KKqxn6 zHqo1P(?CVV0y*rsbB5@*Xl#L#>|1^*LnXBMd=5V#^*0tEP#-g@V~%T{z1rN1gzbG5x%*FX85}=MiV_l5wNF!fbpsN1FQsKLSFu8_S{O^ z00gRAVc@@n0&>xV(g0Y9V?)4=9-t?{Ob^MUP#lG?4o(Q@yHNz}pBu+3)x<01TpmU@ zkp=kb0o6*hp;n~e;ZC_$H?(5Vy3iGp@P>8q9E=UaHaBAehyVJI*D?AP1#4@!3 zmS?6li3=D8FquglvSm+Vn1cdlMZcEi1n674>Ogp6|IaDzzfQVDWCs8;G*Au7xoHtY zV3ZJ{(hRu0U?mlOumwg8=#ZV<6yzJ^^{D7JLIaXXwO9IC91PcASlc;_o4k#q8y9rh zmS0_eyqIj>G??HbX^jbs$bd6KML=E5z>n|Y%q(ksf>(lp*i*F#XO*oG>iflTu zx@l$WEqwn>bcFUE9!u1H`G`u*u=TQFFHvD77K?b?{rmnkW9*y=(RZf@@0(+pphB@R zMg#^uiWh8hPWA$$mU(&8(WdT{m=Il04R6MhQTM+s<$m!BDkVkZ!H>_Pa70Uu1n=(E zYy;BKhX9Jb1zi3KM3ppD*W$H)*3Nn8SA0REkQ}Y)St8zciH}(hENSN!$y2=r3`v&E#%d9F>|!zrzK;bBGY@1MB(&X_)j+ zI`Us>*#FgCvjqX603n*z_|{u@8S7TjMX*lzMwM3)a@Q=wB2ti7bvqqlVj`Z_{NqQ{ z-@><>hnLbBuyBz3=Pi0HJH_ZLjub-CtuW-^-1bt$ZC-ocuVq|ic<2Kr#yl8tM_;inD9{80=CJygtS_LN3H@gO=1~Z71PrVz;OtVql-Xcx`o{hdf3AF`8<> zmavH?jA`e_elZLP`oNYQNg{d%DUA(O2RqsLYDv%#+Hu{cGf0XA?r>F| zZ{u57-Dixd{6k{?M+!r-n_==fGOI|j=3f@DL@1ZS!ilfRy1O!jK0Wt|*DF}x@W-rC z+H1fo)P7WTSVJx2qG|uc6=_HV_ZJ z5u3<|2xN|Hd^(Wbx+wXd&My?xKBKq(0&}^Y+Ge~=-{2f#ILl4kTKI-1^nhj*qW};6 zD|&%>^tMsO!o?^pXU^K-{EL|H>(ldaI2Qt5Px!65R=w8Cx8z;RTZTgzO){?w<~Bne(@rQm41h9tkM%wy>Dsfc(LYeiV5t zZ2?`km*Nf`o#0Hdpyw~zKX_p1UQ^vB2Hhaw(eOSvg6`O_tO6;MwB>#dp~LZh2X8}2 zMQc6=o~P&jJ1+E7u$ANIjsp}0so%v{{vng^a7$6Zn#a-xnj*Ij!rFm_kjOJ^6i|ZU z)i4u2>ZK&=xg<4Lvaxo*cS)om!Ge#0Re!qwn~)W8RRrKNLh$DhLZHF`sa6(cIzB46Q&3N^v}~=b^%a{fra9RY+G2 zh8gpU;#^Ly<0~YKBi=$?xtiMHeiRx>EIa&+4hORh&QOJRormkXM^eVK!V7`0stIFg|gTWrd0w>i9feoRCO z-3AIhQ@m`~@KkyQIYuKR03QCO*Stfx{Gi>DHm23EM7o00XR0F9JN@A0rY8CH4twCR{#_hedG^MRB&r{E>y=DdNPGmJg(Zb~XQ@pmc(2_l-cj#5qCHP=xI0x-I zQAqaewiaF%krPc)B98mQ0_bu4h~#F6nz?zB)3|5YiUqEYufqpfh)8XXToQwilJR%5 zaG$nn;#?^xMal=URk`xJl%5nDGu067EL@cFhbgbACR$?Shw!>N%VHv?C50ml`4Plk zS}<&$J<3AdJouoGb8+Iq^_8uPz~eZZ+E_ASnd2MYtQbPqB3=7zf@`e+3vE#87gk(6?LXS&;(FBuwbs-{E7z#xP$|H-3!TSw0ch-!#vosnJ}Rz<10*< z2(@dPFGk$TJ=%VHne~7U1Cy-^$@r7CxaO<(D3EhTy;}+#PFfp`xQHXPGFydr8|+1A zr{{UV*;Ts#*_8);U!`Ds1(7QW!i6AS6D5j3@yaSZGTsvF2ruy=@;b%f{u+h!-uk*n zp3#6;XL?>nO-SIeq#a0hu4u65m=o9I6H^Jv%NGx_VKw(I@vU2tJ#l?8ikg(PhxFIf zV?JUKjW335SRoWEzimt_SFU|3tTu}W)!ViE_G5j? zB1;WmF*hPhAR{t;JI2aZ`EnCIZgYS^6BY<@FG;)?sWEH2W?rPAc;H&^4#EFoY!_j_ zXAT3r#Siy?lXB{=N=!GUuI?T>47!V?>VB|tKWf54t?|&SEDsPs%mx2BKnKA|m;<1VOVWx(HjF>glB18)meThIPF5MSS%7!)AjcpK4(Ks_H_n!taTNOQL$* zlxU_x+r~FhDNo+V1F}(SF7ra#Q*|`iWb;)AE5u{d6Ptvim=GaXXivdWTSD{*9plI{ z)NNM`R}S*)de*yw2kr{xdyg8P-{9c}?|)!~ezZZpf&4r$K$AT}?Dxd$A5Hcf|A`wf zo7+bFt^Wj8fC(AA(C+-r88M6z1B6St7NN*av9UF2#}N=-9vMI$`eVVkfhQF({NB>p zbK>~44?M@~`yUq-X;T2We4}D6p&bB$ib}3)&>W7%lj9*=pI?-_G*h^Z-u@|u6RCLv zv144=zdvMXq~qDp$+HG7)K;Y4UA(oAhbvSIiN-UA{ak7i9Hq+5mlAW;?>-66h~d1S zFK8E1n;T>OGA;J@WhXSJ*{7KUO)`;kkQX}4Tj}xLEy_@StR(_4rtHzg!n=ksFf3d0 ze0^BLwgRbm27c_v*C@PU5u3&JAEgz{JFPJ!N0yb%Bu_t@tgt2?e?FR1Af}bHa&(SE z7Mq4Ue>CotkIW%e=Y4_K)>zg&XM}WqC^NB%-9=DpSUli#b_Yd!gtT*Z(;NQ-5@Axx zKe{3RRU!=Nipd&VN6WGqa{tgd{vi=&j{N(JUa?D;{6jq(k)J}d|D|UWQ-A;;WAvkE z6Z5lY!xjB|&qiY@c?AlR(L^HYKOjN3vzaKcGe^i^j3WLsn+a$kVB)md2Wgu1XxTX%KYF zSEi#iWrgC@>T!2LZ27$I`LN+5V{`9|HgSvZ)q}w^82c!Y+wnrNa7J9)Zt2$J(4{P* z<|XOfIheiYGmbDgq&c}Q=5GfYdmxIn{x7paGlLu9UP>EA5ZE6I2co!X{R>zbfDw)5O+5RdaKH>k zr6j1KY;0s?qiSqtVPT?3H7_F4(@k9mOrF9F7)Fj z_W|PaErICYS`Z+Rx0>Vm2r))6R?#umva+ndYK{*f|IQ$)T_fnz0A^H4_m_qf7WKW= zMM8Gn?aLLC)b&Tm5Ysu3ydE-~1*_c!8{|RkMvQP&Uky-k0H5p!T)5nrYgrb=SI5ju+&>!pP7OQ(_S#Y`c!hT(nNLw{pCq)!~jwYff#=% zVUNIll(=w-@w#z%kuzOZ*;pceQE5vme+2?a@G4d{2-culk`^)wnOfBbu38#eGb-4J z`ANwi)It+0qt4U_CrGftLhzn^0F6sZ4k2n2H)vqTc&lOHIR7$-3ulaJ-&u|*YNb7m zP1tE;^DB6V&mP-YqF^1}HaWrbRAosDJIu)sqA8a0l#>hl9dF%Q4NSu)Eir$ucucll@cg>`fss?wL1POOCo21vbI!VTM*m172()gi|q z*f`V3rDNTl3si)YP!mez7wAP&$~|5kWPEq_V6&CG$`WEY4r@3H5 zC+@l^>L}S;gK&4E@uavRvh69;+=T}WEvE9q#e+VH4y;G*{NQbLdpOmO@KrsZbj~%A zdY75UYc(QUZDd?bY|3mWLMAgEymWFWnzViDH*#6Wa%3zrGQ7&Y=@K2SyObns*#cc3 z8$M~u8F&56b4l%t78JbA$Iy?MS#4Qv=%jR1Y_?%}tAX~gh1DLZ-h6cTj{6EJHb+Ka4s(+qN}OY|B_@TMK*6oTvW0dJ3>N1@ zMFqW~QACn;qR%<6ANiPF^&p@sxwY+k8b#T-4vp{p9+BcU&5;+OXe2hom|j zjxB|HvDZPyn3mh4Fn7`*fV$zGGrWLp>qMYsQ#X#%n(~)+Q5hM!V^ZR%S4l=QFTEX8 zt=Vb=wBWy)%2 z*Ak=ECgX;MMK44bG8j1-Vu!Ij)DXH0CbSObq4*3TucO z9r?{N-zIUa8W&@NfO*pw&J1#k@{veGi^<8dYjWe*K9hYXlDR5WXH$qm$z;}Bw15VV z;ytu@K_F8Aa`GG>E^)W`%iO5&uGtdCXv^Zvdo7i$$DwpjdVAW5Omw@BvR9L*zMk|Q zXlCixo6#|8K9Z#{9(KZ@ zlC3A>m_SGG%Y_{brmt^+pLq?P&_Gu2SD9qO79?fykvocSX|%=4*0zrRX-{H@3VNty zZFqchYM08`y1ebV3BvE@C5uW$bg{q#{{cr3 znZFs|=GLgAgF?U(PljFIQd*VaYz-2x8e3&CbXQ$t>g*6Hg0zz#ep9_D`3P z^&CMX{2P}L$;bc{QGl@h>yZ~K7Qy~gH;v+tYVz-!=Kq3!LqPbSn+Cz)Hvk3P?gQ7S z!1iANzkBw`nNQgf4ZPPs|uGi|39(JRD#YNkBt}a9)_f()L(2RE;f~~MN@7N)? z1ujCaKmM#i1(7~nI04TbHBT}G8G6E7bRraa36ijdVMi=5SXa~U;Cb!at=0bLd1kzQ z&phtj_%vA-`x?O0-f%p{f!`nC#ww zakJV`w!xR;4^wN|C;*pE3bWmZwQReBsg5==km1Zx^CqH=7`4J9=b_}%km z$^C3d{J*;fye9g+?kPOs`gAiz-?)F&Qu)z?00yuhxWVHMOibdV*qK@4ZaBuzt0J0e zAZo|008du`2C1rIK2mT(N%^7tCMZc{^1hnfTg&@^V9Z+ z<-Mh#E=UoU=B-wPpcl4g59m0I5g4du9+P?qZSF=`8Jd_Hw8|u?dUdW*bQ$1_!uaojUE*(@CM`N#C4XdLbXJ-Kl7zZMW1d>MpxnG|uyq$2VtPT)AMC~EW$*{M%dTDVTH>+)3C(Grr99TbkUW_6x^;^?!>gPf6JE#G+#9c}Le0k#+Sh3z_^Hc7bLXk_X9-MC4| z$SaO)Uu0Kr5>(-7SLNjkA6;hOUN#2V}sntplzoLE9Qi% z54clHld~S|g`=$&R6rp>ZNvoxJl8QyDL#?C;eP&>dg@#D0Y zAj_9vVR{r#qmazxc#o?3~4CN_Fg2JY>k*yY^(#1hG>YhY{f*p2dhjwy+#hw^pTtKitXg$4Nxf$5E^YsUR= zB6YD8d4StWgx)zfhh?m*hmW<~Pa&8mh-r+YA%SUfN|Wpt{C)HJSEO}iw)0w;&DB?2 zVSw_b7Z?$yAQ6O_yrgNR0Nzv+Ib%<$Mph#yL}rzBKwOj}cbSW!ufwRvkTC^KOr1e( zr4IqRbM$2g3l!whi@|!+LT#Ht{^mWe`>&bk zP^bx_7O+1`_rHo{v~LV<0ZkkHM?NIlxdC60N4C3KiR>gL(f#Y2RYCQs^U<~Qpv{g< zIppIF$e;7EoJ@FM`}p*{q3OOrx#9V=cXqLuJ)tyw;xTI+L0!Qr3ENA#5oxAMN-7ZZ zL0jc$5H&oQ6+NbMLeM1>gDz5L09UJq=16!elGY0#^HLVZ4wzIThvGD6cDq$mvpVxB z*Y=n?N_-nO9p$LD7jB|9C94LGa*#1yh~bu2S0;D65PMkmS9SL#&8b8$rZ*MjQ&)}8 z{bZk8aW)@;o!4=^%0{wMjyQf_lm2~aVP}F}+oHj0oqA?kjpI{^Eel@6xW6Drfr zp08$*s}Rg)*+@(;ofqqZjbvhDXF|8$>TB_vxEwLHB{lcpgHabLODAyK#k)7K($_B+pEfT6mKW^$-Y8t7do!5#fr|bpksCcl zh=K783^j#H(nFyk^x?1JMR9tGDe}oOASRH3Gg`znK^-EDOkX?3vbZ-^kwSG$U-Tr; z>dspapX(DyrdCv>s=8X_GJ1zpzJ1vhtl&`WP>iKKufV@ZaPgdfyzp`r{YX-6+@i33 zr&v+2){FXhpt^65b=%x-5&J=+H0~kqx{)O>tQ`rXpQ2!mQ&xe|BiNl!iQlqvpp|l* zsXwm9<-2}*fRBTkEb0C|i%R_K%twJHT7eoi?=}WBo~9f-KU?#-Dao}O>^&PSXSX$| zy8Qxc$C87vZgrj7r5Q7tQ>LR}(Kr>6>3U=KfX$&mV|BxDrxZ7z$>j+F}o!c_^N z_h4ob_6l$U%3&;EliCS?A0$?YcD=kI0Mr1-><=lzu(J5Z%fR+BA`7bIi6OT;lS}r{ zD$5dgNtNRw&A7c%+4mse(4XMJGSaDsnKVKT^<-f2?3D5&CG$poCP^*-vXe*$itTWy zeOH;!Dp5sC31bnAdvj8R-SZQ?=>D1Qhn|=rcF>B_>e2`AVf*0;u+NMmqajVnN+}DW z7U>ASB!=oJRGTvoB*PiEUbe3j`v`jpW-m`$TE5hTh>)jgIPzkG>TGzq(Yd&^%R9I4 zqi0mIEHt;+*acnk=9YG9&v2#-7%l zYEyQx_l`nH)Wka=XJi*qavHG}L1KfsP;xauLrve!K&vXasCI1aWZqkCKIgf>#L^>U z0$g3aSLqt_^3GgGanH8Xo~o-XEM63`=pgigm3~#O+V1p}m7#%ozyG@P{L&aMB`eOE zzhM{!nkA5m$XSN1MtE#q?hT^@6mcjHDw<7r8Do!lIJkULoRq(#s>LXsrj~!%qdKL< z9DsPuWs3e0fpKj509>~zI!!ppTxyCY>kDH8>gS=n)^TCRjr6pakQRHD){xe%gHpC~ z9~j~33?@Fj=*x#$k}BWgHq;nF6f!9!N+i;ptOt9FtscQuKqs5|J;03a`3c5^D9Vh) zjQB$)xa@hk5iophqh&civBrK|BpZb*Z}|g_;<C-sk4=O>-HoheEYx!jtJcgF~}w@yAJzZHKH_7#egAfrJy7JH3V zH^Vpa)V0fRi?FNx4Y9I4}06V0oeOuY%>_SQda@ z{VgtKK~Pc!TrTawpkO^9AuDuHSW{NP#KgwLD7Xl%9%DvIql!SIh#(0WJk{Nejx+Fk zDWdsFs}n|-omp&kW_{o}j?-KlLf_Y@+pup3OH2YQ$u(ie?u9r)3$v^a;b zUM#_G4liuk6k5q_^{W>+qob2FUgy%L)Dxp0IVe~mJE9@a2`f*!i9vAz+i<~0x7mGwMHEdxKc#j_+j9U{Ur z%336jO}n(VY!)47ltxRPntNK@D8oZ!BE?3u|9e1`(9kpH7}aTf)+dQ>iTf$vbG4tm z>C)+T#x-e>%c!$@ln%#7>cG{U_UcY|ea}wPBmg*qJoi6>;yj)GzZEbE#kVljc&O(HR7T2M{hl>Kc!6r%JoG|`t0CZLR-NE(#iYon2_K#K zdAh!zLN-Z&oI=)NfnV-2PKCvxxqWJrYsGDOs*)y6hVjZ#Ulb_wWG67U>o<>&~k+7O?8vH72p31$o{Zb z_W}JYyZqN_HYYql;)JK8H8%9RWpL7cklbWX7#Yg^{XL&-6T9BH5)}RC_x!I}l(JY1 zKo0?U+`iZi-h_fHUU=tu_I{GglW)E!lz(oMwhJCKUMc(Imw03f}I`=shkP_bqc=q|HwJ z($|dUOkm0A^@ZL#ZLVjBMJ~PRsz%O~OAKv7g?{dn5@NEnDI5=#nz7vGE4v~_cQ$tp z@9rlbpAF>Oyt9wt5=8^UTYYq7+j8{6Zg{)+lE&b;?0og&#kr#uH%ty*v3cf#+bT8J z@@I69JJc(_$q~wPV85X5e^p4y*#e?70C-MxCE*L4BM5sXGU-IVar>2F&|(i5ef)?W zVgMlRudxjysk-8W8Y1b)J^y^>&6lenME!{IM}|zH^r7ogvYxBQuY1`QLSwDxPlNfh z&w9Ktb`eBMsJ$OBf^o+M1@m49hIz2lnjLx{3WD*-WNnDdGUQSmz5>x(UtKGaBw|&xXOQuF3jueDWRA+DP4gx96=Hos=9wL z_B7w?S7P6nf z=R6;huKLcnpUW)(+6dUsKhVV${%M%=k1p>20*w1d&#^{F`_|R^FMRJ!%hALGAqF8P z+Ir(7qX;qe^tdS`O(+&v)6)^EtlvK#s$x9j_rT(p?*H+KXoSS`+4V8Phfsmrv7m!G z1;G>054q41Cu=J3HXgz#v?HAs>{Fp3kJ7mu0wUxit3o_*LEz%YI zbnPYQQC+c(@132WFDlscThp0jhJ!O>-=$^AU@uuIFo?1)hrOah#sjD@Z)s=VP$ZY>qBz z89r3spVdY>5Z;}^**ajTY(C@RCVXl-zqgslHemUbPi9c#fxc;Kme@wYo-Ob?iK<+|+X{a3!wZ@l9pu z4#sDKE5K~b@a1@K$@1jm{NA^)8J`^4&j$6Za)<^ORTdNvkG-(>^mFQyOw9u_8Ct@> zf+%Hy7462SwI4)zKbUC^V2mzLV(1FZwx27j6-Thzf3m;F=lV67?O;tvPj~4}ijKag zaOrw+_NMlDmAWmIMOz*C$YWA`#6kt3(DZR0@2Dw{+DeF>rBNg^8a<9W&S?fQ1BJ7X zif1?m#mS_*-;|sWB23`4W+Z||2p@i63pOTv_?9hLg-~(d?vYO`Ztmgs8NC(ad_WoO z_|EIsu=+GUkr^QE^m&P9RH_jNs+ttl`F_~m2;*h*l{%%3Z{ociMX+r~n&WjElm~<% zVX0dzi{@EgW@kQvEPzY5suc;D*L5ScT94#4gDWg*KvyLEpw&!vj@Dih!fZI>%$l-c z0BHzWN>ch>M|{x&BQi)XLgshH6wA|B zEjN5fm= zcN7iqYHEGbh{8G^pcH(U zt4W_oujFvf$=HSgGDjj1RKAZXr#o-5AXp<(7-Q&sL;coTiG1QEIT^hF4{L835Y(3S z57XTpBHbX}h;(;JOG^t#sdRUjbeD98ba#rhbW2DGg76-cJ2Mx@`QPWo59j;d>+D!- z?O!ar;}v3xRnb2?`IHMwO^=^^Eb}RX6%Av$-XK8@&Gt#s7_6eB=&04hSGm%{TbTaC zmC>JNP^PjUPaZ08OMMv1Xk@?&(IL4Uu81VvX{X?)WUyMN#P)!WyxNfH^EU7f`SusleQ3WCI^fp1R7evpxAH^!16x_i}>-3InXjFZRCR&0b_L&gI_u zL#cJYIi)IeRjEa1-7eMm?tsoa6YKo-x`q)A-vYj-$?fvM`Q@wc@hvI~gB{f)J)h?C z5{ZH!v6HsHKC0ySpivAew?SWx^GUDef#qi%I z+_4ga08c~>L?H$Di--XHeFE}vX zlHMVG0xQht5a1%UKTLmaD@iIDs?PsWMr!DOSMLL+7JdJz$%p|d`ieT$%E6<9_& z!Wx!R(DRsyj^!9+Tk1R33t3SgU~@V)vDpnknguy{o=W7}y;M>w_eCW0duR*}NjASb z4)K(31R}>kg>{j<-B&}#C=nW_815M3Ge(7Sl!MoI`Ur5AoIaC4kZxpG@0mY{N@j=u z6a!3_ToV&#BoZa_Mfxn?E0X{~Jh7ml9*sBv!Vy|NF+RY1jLx_Nh$!#W@X!Sb8`t3DopjNuhhZM>@E-w@+A{uGhfc!4=(6rVLM8S8i}Vd*aPZ%yZ>TvVe@*^{C({OHfT302e|XA2y$k=% zfcb3zA#MX09DKuoxe4QIfQ<%(F+kpP7AgnD?N=mNaYGOf7O*P{?q9Kr2*t?vOSbc4 zG_qu?p(;Sk*KUynL7>GyWx?ej$<}POPta~|Gv@1RY+irjv}eap&t{^#XRyb$kuq=r zJ@_nO6(1FrcvI(vW?y!%i$6Op~bi07=v4h)?(=%OEn^}N1wY!|FaF#BYY z#$up6AKw(?X|bta6MXyTn@>bGjq@sRc{e(HHi#eOJ)DD|r|xv0If98%eg8zR$^FYY zHDp2_L)6DdrD^^6$i_C^ip@4|>|#Z8g{V5>G$NkDNSA|~IUUzayOz?uoq zbnv70FOs^Irc`*cp#6#zG3(I^t^3K)<)r8;ykR_z)5yBCd-uO2>+YaqxEmQupIJ~i zUyY`CH(v8VND;opNd5bTi$|*kx(ftc5%QnztlyS05{fa(jaGAv2(iU7)+X*G0`hi^ zOTH|+plBzl*;L`=QhtvJFc?HqGRi*XmBc#2h)6(dzmCg#NEdi@c1S96zK_mx(LN>S zi@cE}peX9Sb+t4aV)GV#(<0HLd%h+y%eyz!T~kXJp}%E1fk^U^c-gmXm|P!38%a0{ zvO{!8B>$s+1Q>Y}v)~kaUySB_R~BQGbKmK`)|6E>jt>mQn+Fn!lHq1ua3fsDIFyyl zBe@dvQ#l?q!)ZAb`)D|*x!8fyDifEz0ba*B$E~Leku&E8n3N_Nz6qr9tG`G=*oTf*i*IZjK<=^D1CzTtlu&>GzM&@BHj2YT}mukJ)&S5 zO0*DYLe@FIS}9~wCzc&9OJa9$gihW5xbeO-wAuLw;gH%s?i;0_PbSWwg5Twb(C)QrsJ{p({$xQ; zz7qWLsq4`68q!5b(afkyS%1q=wONJFKrbm zOp4mu!P7x|YAVa*urobwD9W>HjwT@(US-D`I6~qmgubpUj#)!bd3$qh>4k%=!zn0Y zd(D+P_>6RLZyZ7{u_7oo>@0~HNsgj2r0i5gG|hm4coT^rqHPKaA1S3b7%zF%sl~HC zM~Z~A=ff6+~rawhHU+dJ%_en$gU(2zPtkB*A&)N$^nxo!2jkNhB%iLPuX^9i zT>OTDSBsJ@gdohPSw0Q#njBvsKe&eA1k;eDu9cZO`HCFoirr28woB}4`;1ncGZ;>m z-1{{d+-1QNH|ArhncAG7@9q)?X^*GbkB=8#K-0deY+9Cnq1OeQjQ4jb?^82GY=X)Vjwx;9Xn^DYt4@4tKpPn8I!<3&nw6oV4dr4`$zw0+>r zNQsj{64;o~h=hh0(lP&2bH93o|m2gkpYq+u(LyF~X zR<)B&peS~QxiI^3%GwNi@$_UGZ$e?x~`ECly_seGsm+#I-gBh@04A8zbrbTYytu8%$pUG@9>a+8jxkkNj zmqSf1FtGqr0TcUsyP>oH_sHw_hjGsMFbVsuVI{Wc#)5HV!ps_R56>ublPe~IJsEcH z^m}{rMxNZbhzQ?58xhcm2^Y9|Y8B}Y$Ot@zgDLMJiSTEA$P)?+vHh1O0es9DHKZRt=Y!rCzO zkC_epDb)S&6J9e;Zq#qwVjaON7=@U3V%M-NO?r_oUS*mOHwOhV&o-m1rA9MFk=W1V z^lVjk@fcccpQ{fR2xe$!_e=KmMaLv-ZCyQ|I7*Alhq4Oc3BkNBs2l6?r)><<)g;7R zW8^$?YjJzURyajI!SVORgC+>-=_qhx^Z@bwXDR(}6AvMkqHuv5>ovf9E-!%i5ay8@ zKNu`My$DBFtz&LtTc{FMV}#>@@ItGp0P5tBKKIdezw~T3yeB>gp9dO=cfxZ;Hv2bm z`OGj<1;QG*%u9W2{lfb(Ikd~|DGEZ_>mn;HV`Rxh+ANQn(;oF1FDkRy_L)VI!_am* z5gX>4%nL?Ze0G<8-Zy$YBo?>$?4(kB|e|G%{;~7K|F+~za^;^ zB?wKubCMXHK#&z(M~J~Z_GLM!%X<@w%Wo`Be5xd8!dxc)cVgu~p0;lV#EK1w)qOq1 zI5>Y)7dH(9zaI^QQhcB%0`MPzricfQC_hwKy2pQ2e(9h+ zufg@_JTkCjyt<6o85toWUm>8hz;tEc@xuq3u?a*|C+RQB--V% zU$s5}X5n%F9i=2?AK5C~L4@M#XNC9lV+9^^4ii~hIx1E6Vy6@P;WFx*BjVt;6{n*Q z&d|`Yg;UyGj2`FBZoa0?P3bPsCJP|$C}6odCtdaDYbWiZVDzHcOyHF9IM+JpoT`e5 zuUVr+I;#x6I=1yM3<z7H_EFW}=wXS&dBy53Wn!Nk69!Ys zJk3ehw=zdfOH0lx$%I_L_t}2Q_^gCw&mKejweEg3o6|e)d259EyiYi7a($@{5v$x( zlq4GImGxQ@VfR;>{Tz_NBhmzCK~e}5A|oktNNi~v-yW2mG!j3=m>Ok!yUjdV84v{s zRZq#t9@=%kO9kwyX1m0bn0E4`wHFFDqhN*kyUf}nWQ8N2NuK4-H0*t{>vTns|82H{!ujN{qka2K%RGvTy8!s_uUfh$+NG zG~VC^yBRv&Ju$GqA`$G$i!(@AYIXF=Sjz&w(H0k?E^Mu02WW-Wo?g&(!_Tf@d##~e z!F9pI4G<==vWtV?C01|aS_kIj!lum;AnSbyncwKLS6$7s4bxDmFC6dCCp5;*-fm28 zm6W8G_E3x%^A$!Z8?Qgm;#$kwr`ATpe(ISOWG(nESDC!SkGYwOB|W2`n)8e!75kZy zU6bMtXaowQ2E;7EJpbu5ZwoVhBu13-Ys|%~WP&4VbzVIw{a3o+wWY`Sq+iP^|Nav@ z#GZNHpd2pmA1DDad-;Z&*Ka!{0Z=eW8X7#sq}BKDkp{PD>MuOPLrdIu2@lPcFF~S= zusJJ*1G{C7DI69SwvK&zoKZZP>=c~Gv{F-^9hq$6aRz^FfY!zNjD%5tl))J=rRaoT z$sSUjt#fA98cZuGv@s&0w;|*WKl})77UURZW9GGw^oYQC+e7uLpf%i)!&=VH>8RPaB0L43_48ZKtnT3rmZanm`;& z?!Os?e*)s1$^VUX`QfbociH;?e8t5RO^ojbGY!W|Q>74k8O}(lR@*f<1)_(ihBnA+ zTnZO%Txu!(Na0s$OmCfK@jtYMm2Wjn{@+^|a5quA-NG6gKen)vILxnGIHPSfY5|C5 z#{E~OsGMb(j1?FYf=_Zp8X7#icDfZ!45SxpWU{nzq!o>K2O1Je`407rHOgMghgzX$ z%#aF_7+hE9yBkSEtlvl!#XJ=PDFit9_MS9<78r$j;mDt292Dj_NFARe!c<4ZH>K@!UjxyG%dpW%u9gUZj)dM|@GCw1N5zv>zx%Bf=VxBM2LmKL<) z^04T|1#kbzQ_H8FBgxmnrrL{Lc1&DfUsUaViShgH=G9O-vm36i*qJ0HANihJs;w!a zLPI7yCX`j3!tP(Aq40? zC#TASiH8KgaBE=CNDfKwHbR zU*N1kY6COeGYwVwIxY`tk?cX0c;`h5nV>fM-$_MH(5&`R7;V})(Z5`a8k_8-V{F(> zhvQ_G1PlZj4n0_26RFCQv^ceibvTy7rXW%|q^XCaeQzQZdm6=mSW6hzc(%Ehz%f;p zOS~70*jVmWni`k9vzdZMgCn8dqSmyeBfc0ii6a|3yAVh|$;w7pjm4;$cP==L4TUa- z5(UepiZvTk*e_A6RV+wN?Bv3dAY~&G3&BvLLTT?J=+Tbk>>f8bKHV;i06S9d%Z}#%ZZO)Yh&St(s>c4 z_nN`JII()E26Al;#s?jcCYL!P^TgLA!oa}XVwJBqZUZ!d_mN^Ee^r((EBtav(i_W# z!WVyE25|V;f{nobal8Ni0ahLGXyVC_;^Gya$5d8YS(fJRY3OL9_p!?f&hQ>tW6c|Lm=&t{m-jP>$X*mH-f6+OcZl@38MNX`#?n1u9rG4tr2d+ z{yi=m=yFB?5gz0k$QJLL_i{4d0KNbKQ?g-9DWLcz+#uqOM(xwRA}8o|3Z~UkJBu#w z2|!&%r3R-AV}!}{wFidx8_%6x1rCwI-N5-{jjXN3uTC!YG&+dA9{W{`^e)j;heU>y z1@}Lb%~YQx%y)H-9LOLJH)8Nh)2E(Nw!m{RQ^ZQ_vo>-TjSbWGLC-2gwgIOMe@#dh zSBXrMGh@exLm9n}yyJbC{<7zB-Q3HWlPkw+-Ki~34RohG&JDIWwE@g1@cbdu9Wjqc zm-?;Xlu$l{&))piFBlu~YfHv)6S-yL9(+PQ#e7Kns*oy>UqCi;SifiAN^~@s9*rGT ziuHZWd!nZu9|#X4m9-38)7?0E7F>%0=12^kJe~|#Pgpthj21E}zsv39z+Jhx)6!cP zJ>2mD7UjzQuSun!fY8gobh`n{>i-+;gb$dz{0;16fdIV6WB|O%!4{~Glfs&6U7p?u z_5!LOaNKbd*hX{KQ4&MU+05N@aB;RggT3lJB0M@rrbb|Dc;Y?he?41yE#Gbrf9+9vasC?GZ1JqZRk5TgR{uy}U)$wJxw^@|Ue;g$lp2R8QRdVm z`;3t1>dBzfoFewa-cpG2gcUeu^m$1<(hhBvRFPr zUy+TD9%hyxZk2$DBE-nTOn6MIAWS}uHV4Es3WUl^c#!UD8+VCMNm)V?wdrwwZw)Ii z1zY5fhsBvSnX+Ct`hr@4xDSnC{&SV^R$1TG?`*QxXeCr4mW=_y6-mb_2ZW1GHs#WM z3nm-zXaHw=R!&c=U1`Aq(uL=PSOm1ktaKqu-OvR0J1{hMs@3U}opfp;Y^s%{=NY=7 zSK;G2n+Hj9U_q!4^1sI6wJ!#8qP~pttMQnt2jzdN&5wsV+Kl5i%=_*^m5mbDx2bYo zt>Xa}gws2i#dZt$j45Er&E5Yjlo867e{9vph;gN3LX-zaQ7vhBfI=3Y)WPY1?H#`b zDai3iK+3Aak`vl-aauwi#lp$y$<-BIY6;9WNWD8es%Z9D*VP{Kb!VHhH>ex{@PuNj zHmX+c9BWT#9r2hWH6N#YO8Xh1vYD6q`6v?+g1rn4!Z=0mx7l4}O4g zJVz_bADc{dp8A2cTJ^V}dPEb+E6r^!(dsFx4nAXd4rIkrr~9Ht^*l5z@;a3yK`E-NXRCe=0uOEK@@U(E)%Enyuuw+Ai=*zq7q`&A!Kbv`ZO|~ItI_-+!oS$9%*m9~OVwHV`AnpvU3kAp_D-V*-5g8ce4{MD`C>_#L+`5zw) zzwKct2^h)oz=1KLB%jekw05!JSQAHu*mR2)LgM$=PC3CPH{N7OO@^58(98q-E?=BS z&twfly$ult(WKtgJ-&QBj+>BC@Ue_mDuG4JST(X$~GEPyz|iZ(Cf&LsD2?l;T2j`g;TpK1StvWn7pk8 znagAr#jfH@w(&0Gtb*IyMLZM-tTAfDMN_DM86v?XJsgt6q!}U|g;S1|)2-=@@J=2X zM0L?S3xp{7{vi?+v6t_+1R%cIb6H#`(d2?HP~wu+yIP)5Jyq~|P4eE98U$x9t8XT{De1yM_6PV_fECAR*XZIA}_av477a zpDYGZ$TXtEBh5H%_9ftDb`&Z$htyhbbGS*e8uXMuRUxoNLWz!TjU; z%c>2~>&puDD2W1{lpv2;oU|Fj#ni8Nbb2p^65g}}QH%S>QTzS&l(r0)xoJT8Pnix$RHe#`Q13ZLpF)yZQC@42wllS`+J1AxVgS zrAmb!=kuc~V$VlV_rEAH)Jv0mZ470^$?tO4#9DuHb>c=%tpEOLlCok*MDH0Jn)ZS(ZX&?p1@Q1tck{GvsDBJ2%3qCA634ujSH_d|Qc4S<5I16o=5)kM} zq8~gu`EC-)%Gvp~jS^#53ln-KTy=A#KA1?!;9ynTsbZLpy}^N*yFoo@aTyaa z3dxU{;%pwqm{eJ6Ck-y!U|0y#>j_**S*@&u87Py`8)>teu(UGgUiDB5kg+qI-l>nm zUXHHw04p~M`0jb}tK4$7{)r~of2dEw**|Z&d)-ZFYdL-dMpSYC{iLLkt-vKK%!FXy zbeyd>n&hD$C~-*Mt^U9S1v@RhJt~xk$YVp$|J@*gbp~#=r?2=z%BKqYweKKD@a}KG zUkZv3*)YEia_==XePVZlyFz>0>LT{UuG(ENe5Gyz31y%|QJYW5iS?gtoH za{9G;Q@xT`RA2O?Jfk~D9-)kz6(m3k9W6NI4&y&4^aq0u>@BX-Rr=s+bUw5=c2S43 zfj>vg^QBuL?^4m-zB%s{)%8zy%{w~+wM4T14R+Xr7!^M}n#ufKI( z-(iQNGku=BQ5{LSf5c=Iv*r5{Z$OhYDg_h7o9TY*^3*a($XY1i?hqf@Yh*!taV%P; zEn1K`i!=gs%FvoOzFKhg?SP*XxIgwlGmt+m7uoPT)Fbsu8WCYmi>$|vDmIW$80m1Y z-`C&?l49`^+>)i4@a-xdJR}+?=+cEm4y+}yGLgq6v=AHyj|`1^BtPqr`apW|^(ZxK z(NWTiui|xk)JZ6siCMjrJPk=X5Z4Ev^p%V^@FiaKc)OG1>?W-7yb>CYv;mi&)K=*) zP*n*z66ZE|zEh6cb=Mn#0%uU${aa-M$|1^9p%aWK_IR&Z-HjpO)sPh#xJOVQHC!5a zt%DU#y((Wp5?^dWeIwgR;AG@D)|-c_Cb^uo@J6Lr&h<)lc3<+bikkMv{6uLXJi?}{ zQfTIGS?!vl$AKr{GQQ>4$D@lG1AM`qhUG#Jf&jUk_iyq_;}}4Bc=ajT!Re^c8#qrp zRUOzg^j=wT^0ad1`2fuV^4V5+zs{Y2mB5+|D;E(Q-%m}P3T#GTYj}w5&!gCiw=`N` zx6TBv`QjCt=jx)K<*ICbfd)X6DP8tzqd0L;!KHXN6e zahdUSgwUu%$n>Lxirn)K)X7<6o~P8o3aqkk7ltVJr+REb1Zxbp)L3KrOSYk7M2?$C z(oew8RW3FKL{f(EnhK&`Ee8*I4{lt%7V6H!Cf@ExzuQEuL+N!eybt@-B7VSU}Tr`-MrQS%S^dv;Ow*;c0$`?>7<9~{ISc}T$uGG!l+ z^30W4eMKTSe=Lx^Kn$RlOCW%-`)U+jJb)82 zhy#uEWO&bt9Tgj-x~If3iR5s0jZ-TG-7v})SqM#6NQ&iqnYN0<t(mC%t}tX|%zs6au#49-wx zj@i~MAzn9(2kQP!SSwi6>nvL>e|S-(JPgy+bgfK2Jlry@Hm6yc5B;Hpe?z$w6f{*3 z>TApHZgm#MaDp*G{vjfvwzewJRNr7-xMfKLejTaAs=_(T>|l%5X#5N^3lc;MBpDSb z4K~(FXjVbG5*MNosOSK})K&+6idpn^;{t?<=V`$dIwLG472*c&mTJtyr6lcerW8k}K6j>4e0EM!~Cg~&;^?{^Ls2r6)e8(o1H z_dk4v!~ih%jm3@6CpxGM7*E|)5+7=?ibTVTSbe<>NPX@@l)iGMAi|Q|UD-|PwO)-2zN!w&> z5*psL@x5OwF(^hg;yo@xqVT6=z3+ewcwDsmqkuR75pk?PCabL8(%yLpP#T?N=p_N=v;oDSsgEf!yTeR!Pfa=nepjS zTBpEqW=>loL~;bAvA`!Jf=4H`D7zruRb6Tupbr@Msnd1F!;r23_L*5{#$OZ$Da| zmlVyr45jn!N^wRcDeb>tY%5y&a8z|hIs3gSb~7|Yz%17Ke56eZ<@=pPrdNS7Q5}dX z2C#Z4@h4E_2X}|W1nGu{qr~zOKJCE|aEeYeXoyVk`R41=@*692V{mXG zqWo46&|uwxT+qt#ELC(#rqTi&nminVHC$Yr#lSlUfI)7b`5(%ng>PB!|H`6&%X*Io zoN9Ida+bF}H2x)v=5gK{%mzaF2b|@l{;f6f(^=kH1V8bP*aW9nVI834tPYT$%IbiY zQV3VL5uCm$mc|_7x?~ACy?#uisA*ZPaYAV_@#pSEVnAVAI(S4o zC7qJte|d~A7*wOy2Znj0#dXi3P~z5a^)EASpc|b3UmkA$qZr3@kIAUM-&qiPDeswNTC}bc>1qLp5|4T^vCyfU9*`q)C ze+R+aU#itw;Yr2-%?&bW8?zghVWF3_o)x? zTY2`8R=THYgTrW3UDh5+ZMJT`^+1hm5-`9Rm ziYs4C&LQkMA^kowt&tHl>~xwlc(KtO^e?i(OkD3^#4gO zs6{{wF{7i;3<13>qd+W(6>Np={!Yd`S!q9On3Ab*=c2}u_z_gl>Z3a$n0 z792H|;vp%{BOYLe?hFcsj|3Kl7)0FoKNLM1mHg-`<5qM%qCOU|+akMC$rny*YwTEC zaZvJ!^;(vd^wJxpGS;ysdAiH>KoW6gYI~=K(2_t@KuWl2@-;*_A9>Q}!NubdZ*M&4 z2Qx!fiLTbQ9g}vi%@eVvxkFw;SaNT@i!KzI5eX#8h+(4I#QT)dqOyzEBmRno%256o zeUqE2^Ee`=;Bl%mTIg#?u%{g*F@ad%*sRwf^FEP+WN2Fux1^fHwt=fr4p`j87n5rI&HEoTl)$$^S zt=Q14gapSpv=7$bvhF7|&aa70N&&b8+LA*2V9*gbhKN0Z9a&s(lH_r`ePjx># zXZ{-aa_{?#r|IlE#ulwzO?`7Di5JLN*cOM`>?;A^dQ7Jd?!0f(J+5Z|LsUl9+n(M3 ze<~yOz<*Iwisvj={zF_rv0IsVV6XiXw=4t%GlUScfdOF4{p1P)Ns|8!SCHcCe^HIE zr+nB;i;1Lz$)gZN~6_%q-zx^nS@KlNj>C%z%URrsH_e z!&K;}WyU4r?f?C^J@{{wzJA)f0T0GqlfsFb9e5@;iNa5NH&zg8RFNO{Zu-HckQr!$ zBv}4<;p)1Mj9hP+7w=w|hLb*;3&3If@c!*U327I_!O(GlzEd-6iLGX%rc6d=#nmw) z{;=C^seIYf+ndw+WW9Rd9U_WjS-}Z&!2_4l6rI1eK&-5J|7d{YXa#$>2~-P|AsgfU zAkKwf_x{oZVzlLo5@qUV`A^MJPHbH4>;@56Flk;f|snk#hPZNc*zCSD~pbZ znKy%;r(2xyutSEVdbP~;+YQk6UQ}}lO+=HMy zbR~o%E>4HIpCSrT7Bl=rhXE}tveuI_en8kjm7Z=Wj??ZE+f{DLw7hFGvSin4OuRz0 zyIFk&DwAoM_>~}6(^QE>qz2h(jms$ojWLdWJ}_rbEeQ{Wv}WJsY14| zuTZ*wmaApcr`Fp_g@Wu0PAmj}Uzm$JW2Os$~&8FH#9mde^4dn0k zwgZgjP%~i3XcgD`i!|6)>K?xKkMOm!%2SJ`oAM7Vo{K-*kM#+W`hKVIj~vx77ywp& z*8TG=K|#P`{)a#TKchPeDLQQic;t~yLOBs92)0Rs4O~KsH?1|>UW<8tS{j;&tHWi= zv&aiCil-#@q!8IADfqDJ>RJVbs+ABqC#R**Gu&M6g77QORu1&t$krHxEsT=^a^Pq9 z%A5L$bKK8FDVgH4YK2L;_O${kZE;v3&5C&%OS=#@KY}W*Q=v76nc@kFf4d@7*JZC~ zvnqbeggjo(XKBY*o&IWCQb%@DbmPhirei<%q|@u%@lYvLHh0~>tB{S~eyL)lO%CPp zos3H;b8W*E2vhg{4+$mdABXED(d{82SLyNge^(LKra--eGpVLw_M?zE20i(quulew z63J!^NCHB^WD*CCNI&{pTQid)1= zpZ9PANc-I>C5>O1atYL-~?w!@$WD;M)}|mxS|w)fKU)c>B~}$@(}8jf7&Vjv=hey zp#&(2(iKATUxj36=YWz<7~)D7!328X8+#T9!afuV|I8taWOb4&b-H}JoU5FiV>DMAKsG!kcSc+MGTMmCB47>n({s^k*GNh4VR zgM_>P@h0(8=m998BO*YB8JSCQyR(!N|B@#ShiE9{3b%yA1`onf!^6XIC#Pp5qenmp z36^pH8`!9KoRI1` zwukn?O2S1w*_v~3waj>B?A4|OT%UYSSe22LK0rU5-jSWHMLpDDAVFYWqLf$TpKdpu zTCCYPS=&u`%%@<6Tqj1q*w*|K<)Lp#^Mhh3X2WlRLXV+2#g)rd$4bd|&%*q~3(z1b zt@_W)D92QnsmgH3qAR`nQaCSlvo?Yh_1VPdqpdRa#h`^5D4^Sl)LCbrNgGxKxYhRd z4Av1l9N*EO$LVK1X951p9{|k?iQ5CV;O+b<$@Uo0;Sg{%c!sdp4ydNrJUIaPz|Z12zE>yKg~RiO_vbDyBpc~F4URIP2c*dpC^IOQdO-%27G>7xzqxGtpz2GK5kFecI&v@kb?Z_kx0@eCxU%K&+nGoxH{h>ML}ZkQ1>T3o`j!@BCZh~s%_ z8_9mn2hS9Dhqsa}$;K3e7Vo5Z4$9hk)S}X22CP@+){E92m{X(;QjK=L;F5&*P#ntG zkL!)g)*6(QVELF|H1btC_sQ~|TGGWMIu{!F8!GpI#1IpSiTH`l`9u~7;~5)DA`%!< z8GDJ(!|Jau;zea5!!3K`2ZhPzsQbVnE?gfqc6sCN#<@<$d$)|&kb%%3!ruKRg-3eM zuCL(Hmx8N4A)&u9emY#{_DosJNG+nLb>nw#| z>^n!$@W=}r)ca*-)mYNP%gITjSeZwXG0!MZh`XtFItRkrIQa;uFn0#5hX`=(!)-sm z+}Xqqb3F1z-na-`pc;St7k%AGd~42-8qLI@bz2WocX2qzt7}v zo2i($Da7xcqn!|MgomWf5i$n{4A}JWept9m!}hMQCsMb>{90xzm|sBtp)ynPR@~?R zT4sLv6$T{gyt0G|EY3eb^%YPn0v^>nZa^)dEHS$6b3wA4^`;o`GyGfbzqDaz`?6on4xCF>X+4x7O=wCwjlE4xZcG z*u_;_huFnZ9O8wr>JdwD=E|2Xq%U+&;g!e^u}_JqnU(iCA!+UnSkk#x{Q3|(LQ|wT zN$cCYV3m)f^~yfRl><6VUp{m#uoLvxcMHughMk3YNemjqIwF7Vp(U9WtZf?u{9ZGYHBFX1sgCD}ktkHaq@4?ug)HfeMzrJdj3V;}t$U4xd;7NHqc%F!~ zFFcREw8>pR$b4oR-@o-)=%UolE+lb(WejRlluQ*Q1l&xx5v*gtWFdeoB57Se%1SBb z;Wta9dEv??I}C-yI%bZLf@)}uhE$TTVaV!2ObiQMX3xuDg1KJOK@q%_pWsPkM$T6g ztSM8|1c@40wy{@DXR<28+K^_-<#z!Y6#~iZ1k>yQ6J>mFeAolpR$G~?LQnqu<;jS1 zskWlmRDq$uRBP77JSi5Xr!-96n^$IHh!3uJHcK!^PdFw-_Elm`zJ8O&Zo0$M+ioxp zng@=6&VL-+-?nz8WbMNRZU~Md1T^(|-f9k=DdGgZQ5~{vQ1;pZ@ZP(ekWN+|sISTQ z+}km#(oD%_%T~V9Z#a9LqqaDEaT_ca$@kd<^2Mz!iUtoRXG27vOcgn}%Oq7TCm0=C zbY@1SQDbl0#`sT~xy3K4=$LNQIr8OAcISx`aSl(%0Lw|-UWQRziY7v2&JNxBR_4MA+`pn)wtLzsY!L#R3)N>>8 zDT}=q24A9wnjDHC7^c4B4TN1h{+9Iw)cOvzwr{-Wn-mbY%KIOmBH}+=bOg7@=l^~( zJHP?T0TF;fG#Q_0PGSd!iJO2H*=@-l^$z-1`l`7tRVgCyXVve2jS7gk{Jcg*yQdN9 z6sgW4rfh>S0x+@y40vSgAn7xZ?UKMIIhHAse0UCC=@Y&4x7U-S*ngu+LHI1X8P!Nm zI4e5ibKd^N(%Sh+;|pg_C*$aPT+a+dn%PQjkSufSE{~2a(mnp9TpYC`9s})t4=e{m z%Vf?&nr>Ws?ATdYu$Km_BwvR^(neDcOdiB91&i`2*p57WH_~C==a& zX>n8vc}9a*4D{{tF4OE2lp;QA0}2ruOPeB7&F=%H#k!w8A5ctGQqOAVI~rlz+r45n z6QO;iiHYf`lCZn=zPw_0VYWXhL6~%xM1`=I^vm<(j(Z`kDD)gXJ@Scd$6UZ#LTR3@Tbi2e_SC`3d=er8W!z(5tH7msuWPl{AV znXOjF_zS%LFKyC*+RaZ5z)1b>zvqS2jlyLBD>xJ%KMI)y6JD>NM>CMU?rrY)26GJ@ zo3ae)ljyJ5_80lbX9xwMoQ?()VN)4akwFfjkOW(pO@zjtG1O49f!XqDx8tg9re%lJ zf3^qpnM^DyTh-4;7L80LUMPTIQsfkl9b_Ct6D2x5z+uDGpNWg(Dg-l@a-b>O^aXe=`2C~e(qXk-$ z{i=n3PmDL%=SjG#zAh(ngi(L!Gr~>67a#yOy}FhuXQ1W+9XbKgBKn+oXwYx(wZ%pl zM_%cW8e^G<4vRp=yI{4DidlkFHLx;iNHKldyg;RgYJp)%MQ6*o187O|Cp{72G2)RK z6U*|6Zsx~jU;E$Gk3(V|+&O0fIZf^xyiMZ$r>p#v0p|RFcJ|Fd!Ty!Ba~Ye?_J>ka znY*d!Z-hrcAmi!(1EK!q`EO!z550RXdZ{1kAZx?Ze!0$*-D1brugC8U(#;zMz z(;Sp%zs3tu{i*RO@DtDOf9QzI7KQW30^W+g-LysC5X%_U%WY%dxY!XhGW#H*9FxG3 z@NLR4Q0d8=E&U-X)f!e_IUjwQeLIOwaw3Z&IU2$_oHLQT@sy87!)Ak&#Lo8OqT%XA z`Ltpprnz$gBJU!WVNhv?aB+yo83L6MEbN+w$9jQP`cu>wB+fd89QiMMe8&4>O>QNwj`!i>d79De<^@&#d>H2ON0FVO zgyh7sEA62>qA6LeT!C6ZFjep0NRpS1QEa$jkZVDUIJ$eApdgBbE6zzcwjIv0`aeW* z5f^J`a6b~e#Jg^ps^fj+h*8@!!@^UsQ`qcAbxp?oih`sI2h+alL-DIO*Ub1Ip~4Ua zEiJrRi9~~hzhRvpm%XknF)Oo|L4ld!5Fja_pu(XB*ZL@E83JwqB4OzdLt~F45+(qoz;WdZu8Ce~IJ~6&GucTAY60ydHi?RrnhJ(>s*1C3|p&yJ4>WaPb zn`V0B0@gvjlJqTRd=M@rL%W-(fykGC!$>7MgUU#uU{fqURKA_)Iw^I25Ludo3ae8s zE(#3JQ9~(3lI*DA`Ym$K)2Q`s{{E(OLmhF#u9~#^?iRG8+ArtAJD4=sVQ_c1<|49M_fLTn-bOn z39vUS+oI0<;c3Vo-=p#oVA87182$8qDA1L*MP|D_9g_eZpmHS;7 z-&*S36t<2Oju^#72r_L(=zTYlyPEtoqoV-YlqRVt8OrBB@46RSc+ ziWs;foA+F|(*SH=f_xzTx$WU8xBaEYgM&ypS6ghxeVJoSts%mE_JJKHH1-Ms1sqga zteOXpu%GrLSm+Xy!=Sv3n<3!+(1EP-l7dCnivWL0+3e|-woxQ{;Wz;fHUynfw(!{F zkDTw0uX1E{)2Akdjqr}3pP^v#e(VHXv^>etee|vF$WMWcKy6C`f3y1j3AU72w&D%d z9>aOaEL+<(BRx$DH9aI+{L0M)1rrht`yi*E8t|cc;GYu9bC8m(ZIs>-X>c((kXRP; z^@Un9m@*+q3yxQRp7g%o_p|i|My9F7Av;ew|F(_2C7mS<&NWwQnm|4Ti3UTGIH7W< zQ=vq%B{aPSbL_mKH-7fo+Y~dd#b$*G;F_e=Z^J>o+#ioHMbbL^7&)$LhOLu>_cBHV zQSkV*jdIDW>KBhi_>mb#Dny>UT5Ngt2Qg345c??4sJ%Z*4iHpi?wF4rKmOJ*BZ#-8F3l7S)YecFsU9x{_$Kcpf5vmS+fd$`ZM8h z=KgtWjg{SA`=uaf*qs`8ps^N>m8bU?@eOl%Cy5kgq? zxPSDzLSSfGEV-4aCXj$s^X~@(;Z`}+&6`-}{WBebpWp@Ozf>vy=OfIGY_;AGyspVQ zBYr|6@pRkjX78`>FR4o19e=1{D0^#|{;!7NZxbFT`kzYW(lX`)gFhRFz;J&w410$| zer*_{wPS$Z{OUgdr<1=e%l|2yE;D4n!2CwA_XbXfh&XsCfw#mSL*3%_>nQgxx$Et#jgsUFhS&?D_)NBdB5JCQN%Jy4cx}?ZWsR5Ap>;elO@p_9B z=;x-xN_DohwS-1moP&e!g`MFM>b3=Rw8$erzZjzYw1fD41sp_@dP*!STpsCc3Wm&bJA0p57M!e#3ZtBdykR=jpN{k zPt+6*u@2rAX|ldq;S#QV^wfZiHs^E)TfQlsWfr$#2aZh`#%j2IbUHFeUm#J?)25ze#d zDgxsjzWDYuEzMo!r=c9Ixw;@)HO6z zGcYyr&rgl;z@?JSVxD7XsyqJ`-^3ruBz|Lr!uXF@)o(kFNo015;;#RWQXG6JXhJHsP@_VnME z(T9iqOH{xN|2Yfiw|hrM+Fqem=0?&`)^XX#`|NO0uA>Np(x$xM4=T+woKVHRhBPn( z^tEo%V+gP^MRr-Z9pdk~@5Cg)RD=(|t z@?^H>zQ+|p%!R%KU4RCGk8d&6VD$Vriqx2+6nD#MXa_5R`_lDfV`@P|P{!GWeRXqA zb8C|O`!68-raWs4EVSAC?+U3~#KvE(1As12_QN0ex8gBBQ5!$~fpPFmZ+7&*P#fXG zD)I&vy862E24G~Ur~Jy9>YYBtV-SUrm~;bxdA4`dU_?Hef{yC-#Rd`FrNdyNeDmqFJ8|I1;>_$d0TrP~nDa*zqTa zp`l3$f2KvwmMC_Bk&)WAj#xb|*&rxqTd{yN`s(@rvG&$sRkd5!INc!4rbN2CL%O@W zySuw{Q_>*aNOvlYw1jjcjkHK8ejD|9f9Lp|=l#z2(?8aQ%Dyh|z1F?vJ?EHXjQO4; z#0uC?HTL4ghssy@CF8fUsj*Ho5J-!D%;p*D4>RgD5!6?o`3JpTd`9n0!A09*kh>M` z)Xe3?`FMCXU9&%^8B^rnyAB?j`|R!)LL8=6z@91So^}2H22lM;YvKJF7XK;l`|b^! z@xxg1(JhD!^Lxj$02yd((@kRyd^Gu@H?|oA(OwFXK`qe4PXNGXb0l?t#NV?7BbzYm zJJ8bce!sSmkStEDd#n@%PlM@3l*=I@bs~_OM9GINhENcVX)pv5ypJ?6_h4_Z{eeLN z8@B7H*w}nGCwgm(7CV>tvsih{;9w-Z_RSw=ZZDpu5pah>Z#MT2Ss8)z@1K1!)kL7% z@dAi!1!s>t$#TDB zUE5N-^znGF`~5wkqW+^6VE>=vJ?cM@|NfOZr-O(07tjl0&S5}4s{|kIK?Iw`lLfd8UaXrcC_d?QsC$njy(@4iK zABH7hvdZMW7QIRjJFnn1ug;_K!tBXrcG{39+^1p*8n<2VMiBpHc6I=xtQWwPW`AG;bWRAh8y9Hvw%R0%Nn zPR=dsl^|RnId@)!=GsBl)A3HPqZ)_w0I)F#FgW53gj{|8WqRY>;H6tl`+6Kl+5E+V zLwMN9*0wJAB~2p86Q1ycDoXhyxzl3mN3w{DEz zxRTR3)5}J`;jh&TY89)7-HRqjyXbtl<#&CppBXUY5xHo@)f(_juBJAb#f!-Fh!hUB zp5V*)hHKx*ojEINpzqoyspjZQu$eJW^o&FQ=h-9p0)To={+UCQU1`Y^VnHAkdf z6(8Q>U`QNeP0?VL&Z;Ti?`2&@CXYVz|0U5&G8<`j14U>ZnE$q3_{Vfs3gq6=0dnua zbc5(aQOVO&ua)5(sEjNYJ^CC1qogb-hOIb9{DG7L@69k|E9Ns2Q5f1oQHaMj-um_spCtPA8 zgW#apX=3M@4?8BW1gvv=2atsr9L4rAPjA24c-x~ycWTlbOwjM?dPbAnozLXV=*MHR z6iT{-P*w1ez=YYG4mNyUO2GJeAY)}QiTW{oCt~-KR?kuV>3+oc{3x8iuWOd3%0apEao<}D?OJ5`2iH3B80-& zzEFoxTn@tnF;1N)Z1PWRMT9N#T4HY)9nv5eVUbO6FO$@*R5lqKt=(J9r&7@IYM@uT zB|m33+y`_!-fh?zW60s`C0)y~2t<7wzPr?NeUIDOs1o?f3#_Sn)*zB|9MXtpO}O2> z1=UbiT#$unHG$P%d*NXW-j+@;lR$x+KZ|{x?$te&DC8voIZ$_PkUh69-wO#yRc_9JZ{;T+0SMVvHh~sD8#m~sfglNGmNMR}? zS}kE3w*#_bs-LCBY#s_T%*N@`HMkoHljtAMJ&~7Ff^P7S{RVdJkdiQKYazR@YM9-e zXjc}cx36ZZQ8h6XZ!(VY@72p|bLHkgGEA)i{}m1du?j%RDG0{We&l15Jj4Cr z7g^MnK~Vz1W|DzCKAu2l=8RzaH(J4{D*=om=n?h){?3v339~-=nOgm%#QceT;GGV4$A)HM9)VcP{}<4geVR4KNloF7OAW`KSbZ1cgB@UHC^(I4Oql@7;d> z4?~|1L5p1a{Ul3G3p7H){&9rFH(2CnLglLEKH*5u&|KYD2F-;!!SE&D*18?^_RqfH zJRH3exlX3#XlS&u63(w~B%_KfQiAa1 zp>5~HXk;T;uOO}7TaMtkml|Rx{`sP=qA#ry^35hEgP7RS?zMJH!ok|UinNCBS86D2 zyt!_2*>>mPMbqIsGi_6RxB#*$kdMhehhXAqeb*+^n?{0UhM$DEi%a3#RLL1?X-xOC7Z-%EQS!P|G zq+07HyQ$zcRp6H})2CCZuBz_JXj!PU-sOX4Ba2!N(=Zg3Hz;Sm8`*lza}r#HEL^Jy z?n6>H*dI)XLrB@_OvZd7390WilR8*ka-f8v{z-j~vjFJU9hCw^d%o5&tp8DSKj_JM z7|3eTGV~t0RDNIWU^ZQ)CeHEmeh;&^CyT)vaW4Qh&%WLS{#CMRxm|^u%%V9erD@VT zIprmuK)7IB`7zr;uaS>mJ@8$IpysqjtR~yZEikCJ*qG+ZOTzpr6FKCZXUhaWjoy+X zly`G|Wp2Me-mHlT_4N#T-DSpTkIvyXk6oB^lIH9ED!oJC6`Ia0(+$y~*x|QRzdA|# zBzLGdGJ$u$IQhhl_CWW8UWbI=e;wqsAMNBH?c_+*FzZ;D+^Ljlu!g1XoU~A310hk{ zoe-8Lbi+ZTWmihXXn>xz>kaD-TYLtnE8zW*T=3wu7G`ojl4(C!-dB^kW;cZ;5p}Hb$EE_pEMq~VGxmj;AomEwJ(@Z-HOr<0vR~XG* z`X>>*_)*{=dR#8Vb`E+8;nC4b5^9wmB+v(H>a!WG=EzY8d7|Yom;KRlm+wf$Cb{OK z&ql9JUW6w30)M$Z)dzT2nxI=V^!tc`m_*9=$$zMXrI-lHFj$~3n)L*^lx z&)jvNnGQX+BQ5r0TOl1Ns*)k_JI}tX;ZFkhE@M(pMF(;sla*a9^w;@)lLl9G*2BTo z2^vE7H=?Bo;ApjlZ14*u&MXa{uVjsUngdVJNp)-PTJ@q>poR>EmG4_cX>;h{Vq$_d zU_C%RBqKv}hn=lM^aS8KLxnexNXiONrA#f!!guS7RRs`l z!IOLql5`P0zo5eTsv*GcpFS|ds>`WrDHlDvxz&*876z}TtA;U@nOeMpZ{-({Ij%|uhnnBc%ubIYW z(&K)`s00O{3QK}^bmi}#L~=ise7OI9Xg(f9AX!ZpwGqi-Iwk4GbF=nK*6*HGTqobvRy_vn6ow1p-3!|x#s}bYBY$YLES2JgOBUdwV2WLAYR~JQR z2UiCJR!-I*`S*9dCnR>aW^})ial+K2Mz!L7zcjPst49kj>M{UrS$ZJy2PT$^C=L$R zc(YJE#^|CxfIPEfH(Rh$9!+5MOr>? z@~rd&5Z4@_4X_0D)v_LE=|Nht62@rf;lWH;y2NOfanVW=NH%2raM3br6KrQLiZz<% z6BH>#1_~m`<{{7pvcW1YfEB@%g^r`^wUEnlg3Qg*4WFgNjtFhDaJPer(E!qskN}2( zQ9%ljmR(L&6v@VhYLCPAAP&q7Bf?QhBO#$6@DvS#u(I-K%-KSzLw>yv28dF6j~(?Q z(DmQlhktChsr*dnpZ*M^{{;1eK|d0(W98`oB4Ecljc#znQ!k|b9mux#+xUMdaPWuFBoHfDk%=YRKb|K**OGjlb1 zd{2M8i`p9Fs&dscf=D?~Yc}Nx3(rsyizuhW#I1{Ni6Z0%zzt*iJCD~ui48b!bq~l# zsyV57*d_**wqDYl@8Q_t^}@rg%&M>2VR=Dm1m%IR`VG?A# zm``@8A>FWwvRlYVDcUhf?2r;m$^<%m1A-`4(vi=DFzjL=wZp3;o{LjWd`^!+bcMov zPS$IAg+v0I^?6^$9Lh=h*xKZ9Vcxx!zRErCiFGXVp!qD)G$Z5E zHc+RT)crQ)5b%V&5(Ee8*64kv3jid|pq9P)1_=qpN(!0|NJ%&2f6gbqe>PTvwB7f4>m(mwz5?60T9K=)Xoob$o^*Y z?LpuT>{nRI!XX2?K5aYCB2l1Fi1$eeHG!2Y!+<7C8{ObKw9iyGwWv0>7_!wa_w!#t zHIajLi$^BSV>|D^+rj@Bp5!#$;(j`@iibSY^n!<^rdSNXKL^uBJaTOd3CqIwV&{Fb zVUJA;C(q1h{@UyEslsdv4j3^MM^NJ@U&0f=SK>ix%JuKJ8^zuD<>`-_Qj5$Q=hB1A zL*eNz!Kl8Zx<_uiUrL& z0r4`(e)W1tN(31^aN#B(khThwJxws)2)CM1V-}jHjxK^WB7RHp$c8GDy9l2WZ>PYn zn}QKfri4+kM7w3u#Dl?vx@c^SO+g?sefQ_fr{pjTl+tX<$q*Jf+(Ey zKPa57<30EvzkC>kb zz%Jizd(&aI=-r|qo{;4w$+O3^$VIcQnh?#cDocEv86z0Mtu=M`RvypZu9XX(av-tl zLWnGct38A@-^{M^QYC@Y)_2yJlrTWn^9_rzYW(M&?toQ=BqFO%S75V5Wsvcq4QHv4 z(8;7Vc=KJI%8Y$A;8}4k+3ML!+2egmbrdf@8!ev;diCxk_Qn)YNB6#%%n`;uqroT% z3}|n(eetCzOQGxaJkGz@Y$PO0?;mwZo}lXw)d}3(?B5@FXXN)(3DM9W*l%R2`0huY z0HvG>M}a=jU20sGXIzwLT$yKFkY|iAH-KknYm7D;X$}2LX<*MScJhZ(VhN2OJMq6v ziN}9QiHD!R{Cf;?Y3Y6S*e&P;UB7uGs{RB%@c*wFd+7H7g!Je?@W{d`L>>pZ5G;KU zLE}*>VarcTP(A)0g5m@L=f0q2lKg&=^|P_@$XI;w!}=Nbk)S&dDytx@Kt&Y*vLlE% z!43w;#B_s+iH-SD2?##oj4z6RkU3;r#>C1LUh&;N_b-y-$+Non?;J&@?zhj1!LQOv zVBWcjH(CDs)GyG0m!76yYbJ%9O@KP+YyE+uMCj)e_^T-SUpq{#|Iz??*j_X-EUJ!J0jG1N;qa$pg!mv zcIZlF#*$V$FjDhbhsa4Xx+s(;-$~H|93#^!K4ZzO0?|4z6e#{ePC42#g%s8Xotg|e zk^JCUtg}UV7t`kal*Gl*ta0$}`hd3^Utg~0FTIOkO;?vQ(D%Ln{k^B60Fuqwg9cxP zQx}RWLRtBQBH@~L!;lSPRzZlpLu3;XAJ9>l8sR*AU+;RNI30ydwy%ledvFgQZ9qvS z05--M$qJ)B%t>&+eQ#0L(bFx=Qoa2wzP7nz??X#fr@5?rn`~5Tlpi?&UZ19#g+z2O zyG&nnM~eJKBYFo7EN)?a_6C_zqQ1I-ytDMg};jgyOdUs=Nw6${~LZx{XG^Uq-5_d{phQUtvNmns7HH z*l0yihL+6VQbpY`Nh_KLJOr_Y)84lGijCbDe$jp)Zjc#%w`kD<1A*wFtF(kWam;YF zSJQT5H`dnk-Yt7kz9;TJ!XSP-pLIU+wzlIo2=Js2nS}#-Iq*$ZXDo2#kdiVTk76qr zK&b%7)>dBwWRt$nOh`UwBQ@5cAo?s4%Zj#VLb6ASn0T2CC8iY_JnbpOD<7y50_!d8 zqVC&>{4`Qc5|xL6J(fgJEjUE5hY_-iSI&xa^)OKhNns#E-Kz<+rpo5dLuytv?Z|!=G-3`* zIT8!Ico}zFQDX^DgbkAr3F%3^23Ib4Z5mRPBF<^kJf*QLbW)?NBSk36~Cj z@gqM8M53Va)qv*)yIIlhDQzXHF4e^Zn*zk%5m|OlXL3krfqJnM+4A`FR#~|%?Hi<4 zubp|R2c@q@aKGT)eE534yXfu`Kp8)larrdgNBeBVcdf};GOy2&!Q0_JkKpojl*S~b zb@h|~%^K|TklQtWq)c(nrN!G{L|j5MP6dBRA0+>CGT?u&4|0wDyFMt%0POEDyagUM z>>tW3CDi^OGRvRhAW&xM{N(Sp=9}yF=#M1pwcn4)Qa|dQFEBrkaS+Km(drS}`bUzr zqASw2 zccKq2KkRVAsc{Jf@|uA~gB9+r_vkFlUR>Sg1*ctea}hD#qqvMT@CdFK`s$k1qBq-S-=Lw?Y|engFpNbtP|1wwd&zpK<|yZM zBfTxC4>8EG7KxxKMe`FKz`5c{Y2JPSi%ND-G;m`P-G_j2l!+@Y9C!P$-WTT3$KEl7 zx1amX2JIMzGN8_$IA+ISWb}i?65mI`E~P$MgQ0gHn@^^35?EWY_DdS<_Lk(ACUTEP z^(KEY@Y)3?nExRmy5g@w^#5YoCfm?=Av)N95TZAoU=GlMj)CysuZ83l%s}o?okFn=BxLxB=ArM&+6&Z?p zMKzhGz`Ij+&zygiln0xa)josxPId?*()7H%@X&4q#_;76YTjz^+zUm2WPjO3iNy%l zP}e{;WTftF^(9SCPtE5&BjV+{li1(|=e~;J2V@Ba|&MPceyQYr8(^6A~mD^0F zu^2ms7CthxH0RXJvzvwYNFg05)b8Q&i&PgH*bCI3x%0vhHq z_E&jAKmG%;@Ba@F3Crwax+*9X^!$EYllk|i{TP0tOqW~6hq5og8J#9w^A$Z znKM*lJe=_Egd|1-$fJ}JiXX!;7RTrJ0<2>a0TUsZ*w+ZvxZU?%J1c4ZHj8ua2L(ZB zYDXh^p5o%6u)jwN&_ZG>Ec3UbpkWJ_vydX;aA@M32ia}UgTzyYyi zV>+q_VSzQwK{n|5q`a zyuY9^@%Q#K5))`N%ria<)mP=a(zd#6x4p^gqDCJQ9HRbq6 zFcYMm{r~0%At3%ev>6-I7-z5w(h8H_BX}8mY?x)ev6TNSdfniqeE3N9_yayx5 z2r3E=96cG6dTv@AZ#gQ!G7wQw@W3_=G%D7Qw0e*b@Qut<38DFHB5wVjZ*CbR@$dta z%>@f&hUrBt*RWqW;h*n9WiC58@7W&tka`F`XxK%Eu-Ney_oY(XK^Rap&|^C0SgN2B z391-p{Un%P@>KaAv2`SOC1zp5#**HDi93$>6HZ zLmVNHQ;Z`Gp=N-V**%Kel3lZ1DLN3J&<7eb+@=a_a87SXmu@of=w)PH5D;hByRx;r zjqe|x?o(R5Vb*mYlzC3@W{>Wa{g766J;xp2&uihAshNc9Rj`lP*9%BSCz|vm4DJ!|(qC^@&C1f%!FPsiD7r=154z#`2;B3!;Ww zNJUbJ<1-ox^=F_%K^SjiUf#XA-8&DxLFvZJ>jzX4 z(AfE@ah8~&sx;BV*A88Iq83zy6p8cFv22TIz31yp32amubdl#Aa2z#^5|$i86l2g4 zPN8)*_j|XH=q*h%6O#Eh49n$xw2+<-C99pxx4wm_kXt2*Z~NYd7++=ro-{D?7+AW5 zNW$Gfg~&-OT&8-6H4$uyo}eF-hgZ^?bpCR71s(uN|Ipbb|LfWHzcgb0)t~D>oLzD? zh_;W)3XR`?TtA5*kG;_N?b6I1^?8@RL|TKN9j$H{{fxlDPI z%zvd1l9t`VqAHI}9eSYghTx>)gNxbi+3mM1ns_P2ycvvVXEc3FZzh z4eS{+c~5XX)IhH{`mA^)MNS5ZVo(NS3f3?Iw@@)_=>^ND_GShy`+dt*UM*5`a8^|1 zb|jc{(~cl1gF*F*N*{WUX#9g8s4pXV@3D@5nQ-pIT>FU~bY~u^Hh(Bt;NbkxK>EqG zK{V8UY#@P>h4>%If}rByzfJ-)R0Hn*2eyq5e=m0psEkO51_R>*E$)A1!2L@CtLAED zOD1RJYGSGC)%K~X`8;-KI z6;V9KBP}iAPJHfhGj*hpkQg~-d2<}klJnUtA-}(Wkz(&)#>Ho1c=_Sxc850*?uET1 zoR1?S8g3!WiRVTi0p}$G4BrRc4KxodBo|#(rd}thpxo`}(BN@OxXdu@S)({f1IKrV zeOGuPK58{-%@>Rw$j(&@%}R1w-c{za0BqLc5&2f#@??5aTXF1@bmewcMv=OfobBli#;g~UI8T}_9PX@GQUr`H`o&oqa^?W3 zIc{q!O{F@>{DN$NyLcAmii?-2(^{NP{WqQO5^ZDyk6h&-CvsOGSQZ}h6d85$cC;B9g&AGAqs(F01 ziVtwk5$Lp9RUd}z+N`E=k6eSfq%JH|#G6d{SlX_8){QN^NU?BkiJz)D5jo*L0buhS zl^PSkV{tMqvOofqna9TAIQ{J*0LJ^=yw5@!OqG<-0Z2{AxyvgY(r$Rhy9Q9qV=WE_ zzWh^{69ZakQ=*}-rHK4CszY;SVBsQkxTb{z5FrWfA$;AEiF;yYT9Lw;jWytJcdUZ_ zgy+!+h@zNvH=EkxyGm}H(1y16rpQ@3ArngY`@Eo{C|$FqTE!<1od6V$dN)?XrbGP# z!$O?T6y)Nc_BMS>bHx>^CL~5Lg56K9 z8QJ&0{lz@{`6^_+Qz{Bk7R9WbT;p}m)m&F0;;%d6-Af%mStY)QdL92Qo7G}s>~^)y!~A5o zO@N3894z}>ly7X{#EA*kr}oP9U|>3{_=ya^47d!j44RBVsy`i0gKn?#*mSO$ARWqw zqi3l-bmVj*n&I_GCb$#IBP_k)q}%y*IYU&bQ*HW^Qqo%3UbShdUb-EK2PB+ob4uSFYlsWUpXV_6+ z)k<~xY34Q~$yYYt%Y5OLMMvWvo8cjBwOD6`2lS%YGBherKA3!ESfjj;^I) zrKdh@M?STR&ZEwD8?&Rq5`J~OK6~eBs*hc3U-;)mM@r$YMAql_dyb{+N+)N$sK?~? zEi*d02WPi0`JtA{*{esKOL2&Y_paIrQns`8b4RzIYD^P>M=1K%4Sl@iU3oZ<8^N<+ z+y912>{Qan`Buu0o93R^&urEk{gb|u4l8p0YYtBU*EHd~`JOB%St&Gn*tD&N@l1?TxJZkf`SqfiC<=w=L^KH#5ZoK%oSR7uk+ z+CjXJ`=qLla>Y~5KjDB`dH_b+H9?~x_ueuh_vQ7WcFdPgZw1Ut`i|%ruW!E0CNUZ& zaAp)zo5e3Hm6uAkz9+_-9TBe@^wE6}H|4S~%w9*ZSGKXs{NA^?9Z-S4=SV90o@-^s zbp%{Zo^f@o{#NvWZ8SXIo6bd@TQ}uHmPsn|dV0pwnl}q76COhrsa`Y-5|^4MXQ@Z6 zpL~TVnk4hF2T*F}cdp{f-Ba7lTP4&PF(RvdR+r*uRIi34z5M(*MhHTCsu>({kgp5U&^xq@eOLXvy- z!4Y}fMMGfuLA0Hz#+ipRe0>MS!zwW58uObRCGE55Dgu>i-e+8pySJ-BofUmH<$i^= z`mo-eq=Z-3=YC_ZxqV`Za=j!&-h}q+NbxP!uE+vkV^{aCm3>+LF$vV@clu)E#5xcII!8x{bIb%8)>!hYg!mgh)G@Z8#CqiHK zZLR`!Ma>@#IawCNKnpKZ0gn*|C2iR=vrIoAPx)0Z4Y!Z=^RWY}();Cgwatr}-gHe| zTl`C##*7bF-s0ZA{PV7_myu~6*X(Y{J*|Q-by^UjTbPZ-#>w_gZO`@Mh2n;D#}~1y z=0-ct9Bi29_ji2o-u;>p9G)Xg3b^!3DBA7A95jVrSoK2R?K#vm?Q#flvafx7iNAn< z*J9_f=GVmHJv^^z882DscqhUUS8%!i+*CvIO3VA@{IxI-U%;HN{+?Ivth;c)J9)Fu zVd+jE*gscr8Q5_L9ol%jf-tyb~GpD7_p{7iPvww z{&q~6Zs_n{y^>K8n6GWO7k!Qky^FHck%-x}*ugkEd-3Ghz}+BHE4Pc7SJN-I zi6U$%^rI0qznB?z6W<;~>dvb^T)D)~c=o&@^|}bLdsh#uWye$K=URN+!crnv*^F zc7?Uf!Ci8_#`HRNNwtnLAtlw4K6b4B(MR^m3+~gP#BfhIKPX*F z;Q1!_9M&(Mg8h*Ca$ikEF*>{A;bugC}ykCL9nK|zBnDx@k|9vU{Gb7-UVfLf`poQW<8O&rB7hPikB|@=wmH# z2PPGZ?vi-YyqX0W3S zsn6-|HBo9;CY>X9;OOc%?RigvazD1>fWo?f@Z_a##IYyXlcjV2oPCUy`$D?-2EO5K zKEojq&xJVpx)j3r4JBUw$f0A+_#yd_T)UeD!uYWplPgW%sdentCd;12$Z2`Ldl=M<(F@4f6p&;7b86ycDtKN8)OsoK%QpJBP|Z~ zl$qxu%pNqh<)(37V_I4I2+W~;j@gp%?d>;}l4?uJ&FWs>ErnJ~JBfUH!KRU^f)e_i zG*7mcdBW?F0uVl0(&m4(_UW7*)*`*vEx+_lsde|nWdMUdG? zkdAmo3>TIFt^}aRJg)HQIj=tBcwWmzS^x=M`Mh@)99Y{V| zM(cJ9%g9;SdLP^SYOTJ$uLk{N%jUYtf)BD!uF)yyF=V*kyIRmsSfu*|BO;Dt(r~}o z*69(s%gY3H|MUj|<2nVvM|r$?iP$3(@ql>zYmC89QrmaQ?rzEkjdqFrkbx>f%J3VC z6H0k%yG(G{!{`I(|v({8dU z^pdE!4a_d1=KUuck!VaBvca#yFtB5+H5stGdFmjVBRe+jolxDQBaCuA@t)?L=R&S^ zHr>Nd_942)hTv?Hf7KUZ9ZCH*@H9fb-)#!~VKgW;0BOijWBO>rtkCVLUR&w@OObcp z3SepuOT3n4mL^o88XIb2wOoeqCxu8Qs{?R3vQ^wOz?D+sO|Hg#-Q}FIC?2FL7w22> z@{f$!Ti}TMuW^D2?}b^eLtHyGj|B8i`}T8X9NygzTG6YqG&iuID3{!pyin4{g{2Ky zj~-iy!!-kJqZ$)P1N)-tk^vH;hPu_JV|6TXDkZngFPKM0xb$(q$eRulm;(_^I+FpE z=-X!fTp55;QNvE9;dC1_I?xBJUobC?XjUWfV`VU>;THA*EKp6LncE|sutBd&cdPR7 z!rF*u7|ZzQWFWJ;cn!g6W(M*>Gc>?F6)vwft_JnY7s+9OjhSv0(gPQZiG(>2 z*+f?a$ceGdW2~zH#3x~@R%6-K!gT;GG3o{L#E54H%gxMNpw}1xXRtL4a7s4V5$S}_ zyha%0)b*k+DaEOjWjufece@JMk=&CjW`5icJU0URL^?4tpHL1$_IolxY>ShdSkP`O znPrxy0O8dKVN-f?CCrb>ZU+Iip9BJ{6lyjny z4MtK{cO!8hz&30D4IMMT0+11PI|dEFNsHT|jccG$a+~s^E+^$2+3ajS5x0ZIq>E{= zCGy&CpRfbIae_|dqcwNZZg=K#Ze5hC+z%8Z18B^W?qqLjH#XyB(`y*#pWOEwq(xJl{l?8=M=p zff?RXv~MqscC1AB?4n9nxxL)2sgIQ}uIfsXOJxr@cfJ&9?Ug36+<1KYaMssuOy81Lj-#?yyD96;qDz7BxxEYc$VmYA=LJKFDP1 zuf-p%EO&6r5GX{3Rl50*`#fPV6yVR1qPkrKhgCqoDVK#$;lowWQ5rGK-=#Lq0W#$< z_p_#Y4vKBG84RnK?zG8fyimO`)%K#G4Jn-E6B|py9b`@MEJ2&xLGwhR_PW#dGN)3B zR=+US@}f!ZVYbeBJ(h$uxJ{Cy)z8WcF^NX5AV3>`@fp35Is{)UB;`%o*?Ng8-&fBr zd(6RY${f6{3>Wzvv6m2oCJ?uk)a-R@Tdy#wtppZG-=7mf#?H3mX7{^L4s96g3ySz? z17=lx!5Gkv@Sp1%cau9miH++a|8gHt$DV5wQi~3$8I@k-Ad(KG77xIPeP9tmA)EC$ zVcusn6n>X26GTPBP=Yax&XY(N7EW@bkv7)NlyL@AV%^84xYkuNXR9Xga(1nYZD-Y{ zqSMDF*@IEf>vLw#R3dt&)Ul!_I<9M>oEz2hnxn~*r z>Dq~W(vWtNbR;>GCPYUwL;>`v@;wWtNrf1u9Eqqs<}EM2-Ym1M;&hoWi;H=WNeSz&VVG;$y;jm(Cdixwg zWN~W3wQ+`U+Vw+v9KkA@8IQA^MDjl{2Xd*vHG&Rkm~@dL ztA%IOEL&M1s!3+lOj}tXt6!JAs@WVtXvI6ICRNljVhI;(l-zJc+je0!BM7wZTnU z-1w&%fi7mxJLM_1oVAGN-(s%NsW^4m2Hup1+X72XIs7TIHe2es zAEsZTq(P{M77AGo>}z}d9#O95+mH z!4sp1C}PSr7*}N}C?}?ln-Fx)!n=75%^zedmVTb*>B2a=lCPNY(aK&McJnTsJ;>HB z_0Y~<8$G(>IlPjunbA=%ZSfUGY0Lg%#vwwh?&xH0S2YU9II<=>WZdAMTJPRm->j^q zQ(Wn00~xlF^_FSFX;ykb^o=oj^(FBv{!Qeo)bb!Ki(m9c!T z8?Cp)a!j3OV&DaNoyNI^+J-JMti~l@JxF~)@seTw-BN4n+@RZj($Tqe8+c6$zEgQ8 zmd3E0XTu6G>w{gZ*qZ#&2kaI4)Bdl{v`hxDEkZIDVe7@0~etH5`}2x+p=`3 zT-3BtO0hOyY0nR=#zDUFbT1}jQZAtDgkDqGCox75nx3ZAME6~=J1M_r$VqgFO#6_v zg}F#H>e0`6k<3N9j$yHLkG>-@%^;A7Tzs8I4h*7`41=DtLA+blu(3 zPc_a2qod>ALri<7_mP$p$r$Y_rnHxs$Vuo8@rd|yB88l7*yOSTYQi=);~XT=;`gI+ z1?*a~^DNqgHttp~GIe?niJ*gHglhWw-g>{f^5F&EoZv)!Hep14W$~6CrfaD1tvh`A z0)Ml>a;gL3{8GG#LhIE_zg>7n|B17nm*wxojt_}NyeapUciNgMZ{Rk%Pi`vGy6e7* z@Lqj*?o_f(8eg*B=}XEMxq0CUoWe186W?-nV#*9PO6)Fi)L3`|li&B5Z_(EZ&rrl1 zS5vf45DgJ#*D2e`3;pPQ_hkoPauBv$K|9sZ?BGm&5T&JbT~8kSzBkTiKxW$0SfkC( z!}Jz*NGT+l-KzkF3}y3={<$#>eRqwuh}EHCbE025CYU|8zV(}g%}wO#&F-W2jF2=- zl?vuYkiX#EzmEDsJ$>19N3B`q4^h?Z9z5%jQYTw4$%~-*7IhPP=_9x828Gv1Az!j1 zqGD=gUottZmFfCmc2S&|_G>e1frLAEm>jhUdT2`^1iBza0K1fbVRzsNW061(iOLvC zzDypm^T3z4bCSqP>7i>+L#oN%;hoTGm1qgFGV78zS9j5U{Y9Xm3tN=z3EFJ9AXNd| z|82AV+Ad@MvD3O#kK{3gFdtx+>=|DrN5e(KG+B4(rdGfqY(9z3r?#e>yKz}S`Ium) z-l7sbxfx?Q9WIJN)E&W+qa{5JMv+QnU%$uVGU4I=+Qr@f>%#+vAUrK~5tB)OC7O%) z82)BS;$U!?G9LC*ZBNt9x-hZu58$6KwF#`lqeh+zY*bIG_31fW)Y9-bgADNMtSN-YG!4r3pYocg>Wj8Zjk`qI)xg&M8;zVkggeRy#+&T&WV zGs~Oalwz|Te_I&ovg?O9IGq#x?at_z9@=-e7%!7(?!P$lCc{Lg;G(xv>)b+z-v%kd z)78YnB87{?MfKb?i{lN8H=vb!WS06aj(-?KlJ-u{ej5)K2y zM2Do_C@M=Z*^cG~``IM+oF6+eHA=_A4ZBbFTMTF-1VkPf=07K_M)4Z-0>Fj5} zmtAX%7&#{v%)%wxdQjYY$V>T@97RSJ$Ft>oa>!fPVHaQW#Il#r+i_><=@vByRq*GT zjQR%2@za=%Nn@DtHJI&9&?f;aLHrV-6d!ry_6=i=-sVt5WCo-Xh7Tad;`SXs^Fqqd zD?c1UWV4P4`*ue3k`-xoc~iJ9+^T(bn(Y*~zd>t;Hju4}c6zo>Qe}oj4!JnSIa1#m z+HCdNE1*$3W{{Od3F7XUJM)JzH|As6!S+b*?Q@2$2{iQef-&kB@FSuWVOgfjgC#Ys zVl}s?_S-08xGTtHg5}iMsva$p*V|g{malP(7hh9HsYND;fjXp!zvYP>Epu$rTM$ctZ}dO&8Kav775 zzVXpV%Qs!Tww-@MSkp9G*u2hWXgD4ijt^0V?+K)Y;i#2*#c>m1lKw>|3@?WT6L!2T zhzIY86?>^xSFW-+vtwoQotFsVkc*c#-fF$w(`h@JY3!7Gj z2fYoh+DNI2z^9OXu7t{=ONx=;MF^w0-3SdaxI2jdhqHH#(rnAR1~Zspn;Euk+qP{Z z!x0&_ZQHhO+qR7_s_t9eRd@90db`JSemv*j8DsCY_S$pJIhQ`}Fv1X6hte)Un&?~` zucp2}l7Wxl-te#onWSzkK5%L;)vlBTvU5*XjzSORC7ebv^9hpOUcgi^Dz~3!z%5GZ zEsXg42kt6z376gEm06U63FLlO=V98(%Vq3U<~g&(=#eS>(?N@WdO3+Nrz8JdeiARd z*s(pzE=!Qox^mp#+qHFp>>yj;+t&;1f5E=}dm@%JvNkiaHuz1*_*X_AP~MRFKKs9@ zs5;~!(72IrfJ)R!Wz}EmgH1u^RJrj*=bQFg>&u34Hnl?9Uv;{-y2EJr8R@v+U{juX z(>of01A-dy?BdooR#GxvCML%(KR91rv3UVc;P{VWcVIyIgSRVBFH0^v15LpIpvd(_ z1tj}u1$31~cP8l^Me45ZwYaQL>2Y-&tnlti#@zbWwoqNWX*W8M!a)r&L*F7(jg^qeL)1|c z6#Jl1NsggR@{=&2q0hvRZd*suaL3q%nlK?mf6P@Xrh<=Qz*IQ$tN_Q^IQC-qL8Z4>a|s}Fssnr(C`c%=&(&c?1}bCTLclF? zX?A4Lpm_<(t^OT}r&BeMTIIW9PO0TlS7LZvV8FbY^gLx%)-0fHEDo@A9iMY%qpU7g zM(}ZyW!+g?FourQ0@vkYKVy!ajal7DZ=l+YlzeAkntP#oU@Z2$lSjvj zbY>u;o5dBPd>XcTi%$2$7daPNOB zVa^0D1&1Mi{J6*Z@q_)pCH{X#&R+&tf6*NNDxm)gn+i2ZSEL2xPm(l4mJvcj0a4fD za&ab0|6m$m_!tpFI^viga-o5G41^LaZF(+wycQv*N*?vdB~+`*mK2I%i>P6tQ|1lo z8WqZA4HZ?ZE*4ph+-qOslEy4`EYmbu9wR(Y>+VwylWb2gzfbetaDZuna1(bO&nbH( z&k>%Tf3S?*q4-{bouf1>Z8sv+@3hgkYHh>#a)4ak?p?}<*9@G)4}+Z}H;Zg<%J+H# zz5!pNy7F%G`33>wptuTdy8}i+a1vj8`VN6)!ae(T#{tTKzsqi$`Qn1Vt8SzFnt*uW zU#EB90rDWb@@)(GW`Va8UfYv-MXJ0%7r=Fq50tq|Z9An9*Y7y-Y?2O)ETea)-M%+; zYXH0pXLdnvy8yg%`|to?i=;d&{P0dZ(s_4Xi|R5bwYZY%pIG$mTrigZvxyXyHUdIN zkU+2C^)4k~%cuV-+TZ} zLS-#AJpt*UA9-${lwb&9@4e9Vi&tGhY!=t;HE6p^{Cm!PJ(b|X*y2yzJEOM zI2>^g`s3EvGNUB$k&=$+C_!ojQ6`8)!ODGB(||b6_^DSgD@9y{05aT=e$>UH!{^W2 zQ=Ozi=#k*w%)KUbXKTqA6Vj@tfqJfhTM|Z@!LFDDey<>HGE9EPNUx(!{0_UGB20$i ziJ_O`ee#K(SfAOUsL&__S6QXmsVNh321&}Oe`LQT0h{D`h*Mr7M*hJjW8qDCv@W@~ zk+RlZF;hgt`J?!J2~QDk=}AZ~`Tcyg)`Zhbny{5hfRRciw44!0WFBXTgw z+5<<)&EitDRUCTahfC>53D5=WJVNIem(U^(^AR`0iUBh*q9?{~Uf9@io@~76lelMM z+F67sdt*-DF@ubhSYy;Iob!mj!-fxhTpwAJ*P3z_6M>lpP+Cn4ju$O^83rIHiQB~w ze8589s_qxnsy#s83BV*UOZaB_ZF65Mz_A)>5d<=9GpJzmSj=jqf0+>5SHB1~zXt7V+9Qk`Zt}5GHhoYv(gy1W& z7Y9#jU3f)z0r?LL1%;C^1#$Ma(vHr72p0TwCS$@Uk#z#&+0pKRU}}h?O4zjygUUC) zfqneeAVGoRto!rT7H1L5{lIs|^c-1C$Wn}ss;G0v!f*Jq&o}p6tt-v>7vYtQMkeDr z_4#FWW+%IqkKeo`Eo`Zx2ADdNV%5`6odFMAwaY~R>(>enu{Dg$OM3>i&T)MT=GV6g z*QP+TQAGEBaxPJ7@iz_Y&8=HTC2w>)9+-or(Ua+EzhA_=l9W5me{_IAR7Z6d8<~t{ zsxv9DQZIVkDjiK5!OvC>rpwZcb~wLV(C|T*&W~v@6Tx*3xfy#?_1%|Lg5~ux% zeBYL;EW-;Jq>EU%O?=4~yH)QLEP#<+5L5PX8$ehwR8#0HqecO-1?|~Xmc5*sp4g|k zPhV$5mJHcGK9?|V=>&79e@PvUy<3TsN$A_Wks#MY3Lp~a0P4v#7^`G(Y1-z<8 zWFoKqlcP_5l4>ku$(2QW553BPs*btshJE07zyU%PL=kTX07sbkq%is%v4wMsg>w?U zE}u=eGMQ(m=!oXI5p(=_J8>}t6={HS`jL=-`i95FVerVjS&D5)>$IQq)~)zO!8~a} zr4n&mj$_s6nReG~heU$Z@RgBvkzuFghJPs`^Cu^b{J!K|m@g1x4%O+h;>yK3g%ekS zb@qJ3=(1pZ4f>grjqJ(h!6-kZE93<~(H-(n>iQaaQ{Q&}w%~y8Yh*9x{#l7${F9EU zN-3mOxx?*mAZL&S%@O`KaW&IIdfkOhAFaIm6cr;7hZGjwweL^X$0gNWK&Y;5_t6^j z@kF=JfZ1iA)Z)?acB8DTbOvIc0#^+HE?;fI*%vxLo3{r#xEii$>uqRLL9emf48Blg z?@&t7C;I*;Pp{*!jf6=8Pcag&EPh-_QvDQ zsWVU2H?P~4b68?cfDOfeqg!jtv4+Yu=rMFI?TmrdkOLDsD~GpTA0B&N>4!?}u zv5cXu|Fj6ZqZX(_01OACcO-&as({Q?Hs5g`wwo~M5SVAV0B%yxO-m*dy>NHl^&Xw# zuHF1Dxc@a_RgTOJ{!{(CmS4ylR29n9w;VT;Wb}^nSzFh>OY}>7m*~=nxn9Ly`^5Mu z!Fo`IHMaO}Z7!t8KoWF?X?UOP_5x<Facx+Qe+&gEyW{oU?#(*=7v0Sk0w7(J^V z$Lc;Bky1MltH0uHUI*t10 zgq{h`9fN?be^Ty=?~W?4qCmC&@jTOAy3X$=_7NnLrJmvrjzdYWXBLf6S2c-6Vx@LDSl-bmHquI&r1jm}=WZX#ZMR5%)BIw&F;_vNRPrCM|| zzXV~gxw+eXz86#1$L4S2h&ksTIi~TnWB8cRLiM0jWJoJ>OYld5XSI@Sx@A2{SbBztMqJTKoDn+ZWqrq?VH}qlK1T}c z#7b<+#30Z_ln)ATgt8wQMwe4P{rK!ColF^TnR1AcIvl(e<)Zn5YSn^noN`!MeF&S~ z@@YR_cib1|Gw}yacM~Nx%MCNMq8%e**LH*Er#Tzq#U1hc-{e3DU+aWv-%>8wpFe)^ z|F7!fziQ%tGUEU3rulEY_;?K)Or>upev(bsrN>sgxOyTp37UO<4pakCfgZex!HxPt zi>jMdYpJmE2)arF6D>CB0V)1#*_$5-{MR7Q!1D>DfWEKeEW03d4z=<5ilW1fj9njD z3=YPJ=^J-%Sv+5$zam@&WNn$C5H-kW$t#2GaM+k_%$nf}M=;Oz%#w``na1fLF%DB2 z16k{e@p?Qo1Y*@@tGgW;De1>B5|fdk$Hq$ok?smZH2`-i)~W8yH%5^qeQS0%DwinF zudG?z4`8pDKtY0L=?*^K`fJ<(vx5Rgvf5o9*3? zBQM)BJU1~3GSS@Vh}Jx#oIS_Qc`|I9I2dzBDIebe3z{4DHeD33mn;g>y{ax6=tK1G zA~iMw*GgJDn2YWl$TQp4_FKFU@+y~BwcEO=ZEx8Q_7RjqFSo4bD*e-)#~j|?xYWtu zj=-%dW^Vq31?fwbI$Je!FP2nS&uv^WrD|AR>fWXV8%Y=K8GWwKvYWe#3|RR#=+&O8 z4q#)Wm%khW8as~HrWi0x5l<5L5RVx9PT;2zF^^fwC&RNkJMtV`Sv!(qIw8nltx~wV z7p)vCG=+T?+51Wa!Af||ryO-iii8bY=ASgO%BUzi8ick11=n#Oc}%{AzezqzzG_~# z96O90)lMNXFi)5Wq#*fULudzdLzILGeg^!6`(N)a4J4 z4xi!^`wpHblWp5Q9OE-~Uyj?n&+`go&Gy~yYCB3<%W1E(&@wj z1cP~aRNS90h=Z4E*VBBs|7$Gr)`)HGV@Mhe?9qAQ@P5WI4BYG`Sn_ z!hxb>)GR$A4;TSXUOo?Bj$MiK;HqoiXAIbWmS<&;pewUHpwB^!<@oVkA}?f9C6Fas zJA>1|O>1w?8wVr%)-DBq155u^rSs2F|9{p15b`^jSsEJI|4(O0PDEJ(&DR*;3<0HcI z(Um#T!9l|4m)X!D~3l?eoW#%kLt&a_EJ&m9CF=%$9Fp0PK`@q8F==v+oYxPXY=OiiWm*_!^;a3@Qm- zTW^{`Rj?GmOf*mhGr9-iPtGnAa$#sW@7;Z@)riB(dG2^dth6|9S~X<~CX>@pOr#Hc zEX#QPIJh8o3WKAA^dVMXBeiro0-Om5hKSXeozqyx+(bK6&NU*SmPD(Aw984kH42vG zStW%7$_W*iqbi?!5{No+)$!7Oeu+lPet8;0`M7S+a{UGCU@jR&xD(~iintuolkke; zm4n?x-Z;vn6UmKeJ@iXD-&NJEbRT;2A|fNBSyJKyKj}m^QVyYYr_moHpSio#=<&HZ zBk>th#+Dogqxp8%)d`x1`RbXSargA;36+_PS{+UJTY^;jBWDGKQA4k#)r)6q==aaE zv2FCT8@ZrX`(&gulZhB}H4_jEf)bnjOU-5wcGhy*Fs5M@q-IJ;$*J}BWa$Yl;aF2E z^Or0J3;h~YYHM1%J{Tq73YEVNl&41H=6Qz7AVWvjUAat}?JWc5a?=1eyb7Q=*cx1g z3fD{8+tOWrwhS<}Sq50kT#K2H)g;7g9tztk%GNfd&(EDvw~}i~stUnEKfe0$x^J`9 z@>m=>kg-|2E?EE#0hQ`;Q#I0FgDEuqJnOZ~=KZJGA%qz0UzDLl?WVM@LwN%vnOVp{E9QxIZ# z?8tShl)iR#*I*4OEX0N4$ZNVewhAXDaVmGMVjqjzUQv*b9n|KKr@-XxOPU0YR^l0y z6g42!_8m=bH@&U_9lLF`Dkv+8zj+vKaTCf*D1R&OesSq73uHB2z%2tL3~DV)-ErM7 zl=S4?7p=NEoMPI9zu0Hd40*Ecj7;Q9WC*+Z&-4kP!+g)mHl}Ud)7M>HKrNhq2lMx%G>hj9B@nGJ39Z?d5g|I5o2z5Kz+Ig zF5TA}K|GJ(C7zlE|1`y=fgNzyNtKCRaBmM*!^^!R&aDF)$cQ#9QnG)ilzl5pn?-vk z$9(gW%Gia+y~XV>!x=4;A3OEriwFJl7F_A}1yA-xl{O3P4%}+@j==0w(8J3MENhQ- zN5iwPi9K3XppP8ANKQjwk26B5bGv?)hxBZg0eVj{uEc6oLDm`z-xpJT#V#E+w^%4igTtvP#P8VBbw7Cx zwLtGt&c~#GJej>{7d1mo9#IV7oz_n?(lj7a$}_`|4No(CGN3Njb`<9}WCazXb`-ld z0qqqJDg@FGK45tGr`1x$%Xs+96d2Vy(?=qVd;Y<@^~-^Gxeb(;De~(KXhUY9uTT@n z7$nEuC{wRcoA>BYB$s&#y2w&?sZQXoOzZV1(5e<0U3E3_xj=d|ATzyD!A^X2CI2-p;qPbUn0OyA5*LdVV#SQP=T2uBacB-j!1vr0KUqQ9)+}ZLj@a>d z!iP3TqULL$chVc;iQLv$_ArObGptKno~})vAC9)FA|O&f+h88S9|LB|+Xxj`H=|`Q zQe+V@zR$=FPMnc_xp4eS#_uySH%C-4Gikt_S&6JiOY%_)AuN1Oqrzx5OfXgalAXl? zIe;Ed6LydohImjCAH8_81;$t*uYh{q%r=XpW?Ybzen$P#G66-4-zq-H-+E1BAwugE z);KfVNC#Qxjn3_rFf$;G+}yv+`|@nt$F?ySyyvSe_R9Q5?asva_5$5%63|$`^2H{5 zDffbQRcNLUBd-muo1HlYT*EYeH%{L2g{CWhNJ6|!QGJ=(_9y1}gnka!d`p@Lb!6w? zOlU;-;#mJ-Z58@`Q2xVT>HoEh`)`+%zh74VT9f~Q^%bpT=46q)sLvLy9lKr8Vc@r9 znR!oviJQe5DGAhSq3U2_2V{&ENCFW$7W0?=7>YFP|$Y~8#tFO#&Ck#AkI9;|W$FNVKC+=9&_1pYXl)ivp<)SsE*IO`EOI>p!Rroc6EnjK& zx~-1eDCptv$GKK$9=~+MDfP9n$33~-Pi+UpXnj|N9nS!fMi9=}qPms-FgorA?yfUf zPks;y)sDK5ZiLppMI}&oE}yfXF6A_>Z}Kx|bKkx8ohBV^@r|XoO=Tr5a?}W6#Uqva z3~l3Cm%B#|D8I-9`{{vk$$-Jb9Et2#IQlwhAEg?s=pD%{&|7eh12A{=fNhXr@Y^!{ zz|>A9ZdW88EFC9+-VLJP5ge=TF~T-Z#X%VDdJ)39i~|wd*+)9yJ>c%{>^V9=iMMZ< zYk$jL4QkyFaIsia$xQ{4_Y!a4X*5(IlW1x9$ME27^uA2IpIii|=mdCEXvkf$$j37` z)?i#vWf8itat-jOdWu{i94}mdSpDiff=C@```A@=sTYF{x{u;}bBmH_dx}I!0U!qN zLbCqTfLS87wpi`^QeOAn?)`_)!~ds!{;ziLzv@6Mg*jCuFYC4YLOgsFK|TPzvc_Zi z&}Mug6n{Upws@idrn8`o=?EriQ5SK&M0D@?dWOZA8N2u9F5RyYF9%MR5J|bg8m5$% zqs%mi%)89DtDq$t07G5U=xVq;Be@<=O1p6TeI(8PP*r6%oMANCUvK;vLp1b(NX6V= z(F8OGs(evXU!yg|27-K9Q>d(q==%?Tl@?ETY^#S~wK1{&5oGOWs4)3i~?Q->@UElF;`NydIzQ5`lI1=hLQ322ai zwzSGEYc4G+qqjOlp~zre1CLlAItHc;VXuWO+px_cxE$!)oq z27lUyltIHGzMC5NWVlGSW~*2#ZPb`7WM@X3QV}n#Gg7wFBcVmHo4}Uvcpf0Fh3`-jCCQD)Kg9+9UsH&_ZL^we2|SxK|+3I|`xUIZ*8JQP6l zQq@y@VA`d4OP=l>`*e<6*x&7G1j3$EKlw6$2c3A;g6I`C5sN*~oJ4^tLUGy4IKg}# zo@K2kkJ}U*@ruTC6snN>OqD+FebF>YUNa zv)T^>(Y?)28Lg>{{w{ifCm_$y5o1!{v>gcKjNB&YJ9f6AUMh4RQJ&$ zGhkRQ!+>q|U4kY(5E+^!F!Wi%D1Aqg1=xRhU!DLA5DW`*qFD2rWuJkS!t)@S<+l0O zi5%1I9_177Lf_-$Oa*5}G0$vugM5O7(_CB;Jhw|v9U1!Mi8+PsJJhDMZZUiBv zck0nH<8R`pulZ;^o}*D^_EJzd!(iRT-h!8(O(D4hqaasFfG^l?9>id|i5@di`yl<^ z&Cs*p-FPU*-_paU+-Ioby#RFXcO{-{QFVG$j69@z19c4@f8jtz!h}Od_UHA?^e^kO z($hAQaMPk~(&RANt8$fs&X&eN5SFJ~=f4tCf~N>?%0pXJrBa*Xq{mbf(QzW+Vux*@ zZg9cjhQWk`zWvGLYodhhq|PCur)Ok@OPW3$rc!ldk7iaNgMblawO||FN>`jSljlG5 zXEq0&OH5=?l)z+kKwlUYSt$26qV_@H`W|G0BU@e6nkGJH}Y&V z9gAS2Do6`7@YbIlSEEa-^B8vC@g1lj#q;zOrj$wr=^MpHR3>CB!(c#gHMC$VK!M|* zjSb~!%uYiwp-`i4PIW#Fw7!Uy-CAi-;s2wHDtsJxm`zt2S;Q2hPrTQmGI64>h0m-S z$4=02aSEq+&8SG?gb`=PAoJ;z5h>RyCQ}O%=4@tOD1(M?=k8?WVyH`AVnp>S^2okX zyy{qkP*GnZO*uRm3;u_VfuVS<&?PVcL&li;!&%e)SAduXQMo-HP9Z?45rj=r*-xVd0#*JS$1gS87GEXwKxKy}FWld~zWARlC|SQA@KPOjpcJ-+q~}oq%}V;h$l$ zebEG4lASi3cIFV$h2j=*A7vM6NmclogqHwKg!Y8}q-nlAi(zS`S~Y}*kY>+BJ=K|& zhV0eVqd63^bg6~}I6{$je^n~j%Abr=lZLH|6`TIp!aqxu?#M0EWXp8n1n4_+eud)o zD(A%`wF9jgc_{QWU0Z={^@P!PmTglS69RuWWe^Q1QLvR9B+uPtY-ml-A?g=>o%Z@4 zSclx*S<6h;kJEu1*=j>=#oc&<2x&%dYcK``Jkg=oAvo)JbCER%Cn0I}!WzEI_KY=C z?jeKl^p-(XZVw?e>XgBNT=m0%@bp;FdzEgRJhy}|A-@B5A?byYf$2Ae>ySM&dF5?4 z>5J+r_FP@NgL7;Fmow4VLmg@HJMcJDpoz%yPieIDA-@CAkUtZA_T!f-j#Z~-?Gupg zO+jpS>lnT(^=w7Q-nf8#@rJ7C5s9Qni-CRM#tQInIqB|DM~Z_cAhx!?%tV@-f!}uO za-u}mlzTL=6WWQ!ml?5t1Eo|tB&zF)su}~=D^f8(4Gr9 zjbl>;Xs4o<-g_`BG;0c77DoC-g-&|zN7ELQvmZ1@N$Dtk7bJqdPjW~66Od#~6As|@ zZK5)>jFd{KRR^aS@&R2`2Lw;1=TN5#eieC(E9$R?I8i0&yVK)U_K!9ioDt?<;pLU* zN|#ov?Udf*qSA+w0z8#c%V1W{N%7BQC#g+`M)nK+>E1vAhfLQLr9hT*m(8VuO9Syy zDl9i+7vv5x)hXVQEO$vN!kFIfHUa)?&82;7Eu9+;oqsI2uimW@qo7VanLSaLTv`^d zc2ldy*V+4>x-7VUz=}K~PI-w|Pv6 z1H#-zX{KALZA1d zGZLy^*>8Z#*Levf%7bq1p{ffS{ik87ect|{I(m$*j3KZ(a|h_`4LIzzj56aSX8I^|j~)m` z=PLkusEKyrvn}wM?Wh-yHAyg=;;4wtQSCotdOr3yg9w&o(0|(boyDbR^|V=K2ZHkf zQv7zK`Qt$1=IYEtbvz)AwY}nI&rZ7tSv>sU18o8TE0384zF+b?9Od^l+`PPK)}DI$ z6;F_qRsS|V^U@9oqqqt9xbJWo7WOR)U*e0W!BYamwP0J-y=LZGdx^Bq@5I{0*~%XW zAjcZIlV1_e&x66e0;)ZQMpUuK-N5gx{pT_*vz1+jO)B-w1=p~Nz22+HpA}F%46-eO z*EZ!a-fdk7Pu?8?%~1^I509KuYmS_jQ**BKnHzTAuzArtVsUm;^x7i9Qjs;|aW0`? zSOhM<15WYuh1Xz9bLlcW%@miTn(J#vyIvgdNOnBup>JlU@zlH4;{#k=s80g@t&@>& zZkSeJEF6>eiI(nZmZy#nK=){qdQ~&;Pk3@E?+j;5NX>|%%}-2 zQNAC|*n)420|k~pajve1J*ru9L`l_wrHc%Wr(anFR}O0gxYR|t82z-_#@W>pdG}92 z_X4VTzulo*)MV(wHSlEq`rE9SDJSHp=x;4b^f$*&^uHB8|A~+M^X*@?kbsS)rIEq^ zEl{aY)=62<{kc<};^AOgiyA-;>2#t~My(0!W~-jcI9Mqz9^3}>^wl(Tm%%y{J@Qm7!|$?l zDf{0GtM*V;^7J8g!4bTl!;d8%JsT62EtiQ_#^p11By}Xv>7$p#D~29tsZBcqs&R9U z3-m^8i7Zrb(u7MO@#Px%bC2x@$r9ZCsWoN}g$!3HXxTlqY%s*gHf#Dg#xhblF`Du- zSa;f7c@iP}=-DtoT?K8n=sQ+HQ&<88QHSKa94&9j5Z7n+SjW3zeTavDAj&CfPKqXBbdB6RIgr00%fpTD7`hM>&UQYmiE zGl0kgMD_4)+_5xDBya54Rfm~Vo2rYH;WZ~fQ>rP+^T~xl%qm?*K;xmp#je_eMqXp5 z3_o>6v^n`E3QTc&`dhXM3ogXUt2AIN)$4N=a}TzfL$(~a4FlfvMFBKYVJ6Ch?=Jvz zrL+3$`;YwJ*)Z&m0mRp z;FY!W@k@sn59%g6m9=v}D(i?sLG<;Ewlq*ma`&a!9+752E$I+En%n_^0 zuXkYaXPNrD)a`Wb20jEb?L5)Ff*)7-75haGKj8TrIOD7MaEpXi{lB(fj5K$sTR8e+ z1Vi&XgKn!YYg-?xh*e^`m6*WHghN27hXCQE{LTfCpC7?yx1>bXeF(qXr_gZB%^I_p zGGC#~0P13#uXTbFR|1eb%B6f2h!F2ty+bhw!dbb`+Z{?iKQuQZc9^oz8gK>Qh^iQc z*dM@ZEKYhnkMaDAf9T;{ckU{EI-u*#V*@Ug zjt9cRnQ%`^k$yn@b`sD15ND#{9@@ghqTwa7{i%3>wJS~%Hy40cfGHNqAYL`)5YGLY zJa{G<#ebq%$$(SBfRjU6w_j*~$hxOC4&u~?p~$UV;enb~Do6Ix6r%{Q1e!XE3z_au zdzG~{_?xFi&v_anL`bYEZQ;y>e(4%3_v>#!*vTWu0)Dce0ZWG=FHR% zYRo^a1lM4V+OKMU3F_-F5ymj|-vaDm2*4a0e-y<$}Z4G6j zze)po&D2G6bU)+?q+0ebDjL_LyL^myd0G5F%IjJ?*F+>u8WDJi>c(sD*Aa zzVn}G9$)HZ6DX{{yAZTKr%a7=p%HKOXS**VsNjVj+WZ!pYaD@H0H7m4>sTe3b=p4~ z`dP$M&f@RmocDmY>+k#U9zVaplHm7N;ZeCAWNBp{1xG|q{dpp6qD%2s9DonLLlZFe z*B`%PZ9YFg&0BDK!r^Ml;o#ehh85^m1a6|G z!YA8x2BtG?ZXw8_;h${d)EDmkHKYa(9{EHFW!FxlABm?v&7#btMMGIi0aa70r=cM{ zXP?1TH&dGiW#3~r{u*n=h++I^Cq~`LB_Z`}(Ndv?-XZeVe9cL+sG-el5p$HBL@279 zh06W>+)FLcHAmH}93_z@vHn5dtb)H;vY?MhYHd2p%z_9sq)MscIi3$IZ~Fl`1Me$$ zZ#IXk&-#WMMd4)91u=1*DlSK*!Am4DTq^AozJq>M0+g%Z63snOA5&UtCe3NA#Aps1 z^-^V{R4*x_b>Qqp2xMrPspYEbTTVJ@Uw#NEu#3eN;FwaI_8kpGD9*0gd1+v6RCHL(T0V4zfJ}oY3s_m&nmkG$H9h zr|_3TSUdDT>x9kd{OLJIjzv&CrBZ9L{fe*sNc9ugb)#Fu^IxL+$y_fO?PUpESLx{} zF%u@oi-X6fKkvjUF@9m))9viR4K35+VhBNi8K9x|(DI*S;CbU)Rm&W+^KTP;N0_0& z`p~BAJ1O`+c~a z5AXc2=AMSVLR1DAaI)GVaqVvepUg8r_5>9uC>jRtQB?3+be_O|nqULx1pIft%DXV- zbYY(s{A%!Nf-dHU8_~RQmDi8PFB4F3V6zvLjdSe475DHu*krs2038JkL>y^-ADNh1 zVAA6$67RpA5IJkjv#Q?#!1gVj{l~1B|6dS3Ap_yRbcaf7)^ogYTxMw%hlPii_ zjy#T^Pp&Yu4eecZb$S8G3Q+|yR_@b*Q$&?D8*jJz#`@9=5Sx!px9aHz06-lY6bMdV zyP}0g?^w^>a5#@WX=GL#Jw(>FS?Pc;oSldKs?Rbz5<71X&o^NTh~;MsT6D{ZX33A8 z;R=k9*N?x25oq0M^V4f3`xqm=irQ9#RZ;g#R+tqC8{8o%d%hX{e4Gz z?Y=SHjR6vffVLT>GEJ)a8p#x|W^;K5WbLlmaDG7=UHXts!j%N-{DoeUq$790r5=_; zkHf-F!bEzeOrHr=Hww$X9(U!xwmq6a9d%3?I)u_qOS0)4fC%0cHM3;~_$p%t^oy^2oR zp)|kC(|!EHNOeDxg|hT0x33`7YKJ~vm4#=Vv{z{f&$glf1+ z3>OFMaStqVF$dWSB9hFML@^4ja3>#Z)6_C>8?(utJ%`RJ`88p7)X!SR0urQ=v7n+{ zIeEsi?;uM!tIiM!e8h24UG6S1f#$fBj@GcWOd_!)?ch0=UD?)gZ63?Bw^oI*h}Akl za!A|7W%O9u4{r2Kx**1CM%7JCV{Sgy0BPQ;EAX7UXpoC~XOwYC#k*it?S#EH0%T&m zEUqx`$cZCn_jxru=15V3Imq!!ddG(EGhC^*?$v+C8tKKQ#q*K`u$Yf(srl|9Ox-R- zWg`FvB<2VEOhGn>&t5PB!k1mA|F-m^0_3+ltW@W5zWZ7Z*8^NUQ-$no5y}hY$_Xqo z;wgo6fQHD}0ocUM{bd9~4O@L)D#x@Z=dUJfoDWIzseT6~51{+fcFiFJr^2ZvB~7rbiN?|)0vGP~EAGT%G?<9o;d z*ReK#uT%cjX(gopt3t_8{1%7vA#n*bZ8VnuLh2#+@=?+dZ$sh{i@*aAOGP5g?SE#r zEV@WGQg&(T|3vzLZhy`l{D~_WK7(u2UWdfrAJo{ElEP8vFvZ5bQpn{$(S*~GW}bA=!1z8T0cKaUj6-xW$5d>515#MxNW6|cCl3)zQBNX;FAo|E{MKob zQM(SGU}mA^M+_86BuPqDQvDgh5q@-ZNajQ|9H`$eP)~ukhN3uW#N<#eL2SB+{arU* z)i{($6iOMOVSk=!)8l%mU5xfvWmN*96tPX6yXMn49amGW25%IH3m`Jdn=nsYTNV$w z3wF|>8eK`b1~#m87!Np3fpU7)?^0aXVmeJ}>jR}qeHBQzXkZVzbzK_2X&DJzAK|hL zG5N9a_!j7(`i#V=p>^jB%R{Cjsjt9}8?TXawNzGdQ2{q#dz|!K-eQ}e5i9aHh{BtF z)9-zFZAZsEy40sk{MJKJuzlYMs>H@-WJ|GS;~ ze-T9gorv^5wY18I3f2L#7ic0SC6L$)SdYIhzSwZCnpK6IsAyl3F1##)sp$vWvR;Z~ zN={uJcp+1$QW=wS*#fgyKeM{Qg1IG7%(OX=*D>1%!|I&FtHPIm<5WgQ#>TlcV36(P z=2OR&`_fOS%R{E=6bsb*JvPLN}^Tp39BGpQlgjq+o|`D_`UG< z%cEKR+sXE+@N6L2NcOSux{z)u@Qwo7HA0@QE%2@&TVz9EuQBm(Aznzsw*qg((6Y#7 zgJ$dES~pBq>QV)qyBVF@I7$lS-NgBtDXa+hS}SxF#G9b0*b3Lk`skxz?nz}Y6=WBz zQpiLYGU%vM7RRDr6p#ds>*s?HSzE2-?fLm$Gy~lQ`6jmQF8om>%#HDxPnQEzj%8)} z0?Lth%v|_qUh^vl$fgYlp-3QyAEeNO>kSAE{s@o4`^XXKnMe6)s9NVX zN>|v*w8rd;t*lAIXldfXgsyMJs+$}*SCU=tbd~HE4Mw)iYMShJxEf^|2dK4lSR)FZ}GTTy|!0 z_eS@^cvrhiI#r=e>^wR5;qk$UeK89kLBt@Upt)#x*+LA*G@}_lOdYL>Y2IGKTuL9g zt~F!&&C){IcdpgC&bl9OKzCGiGJM`)L2S+Te)G2&JXJ~d3W^OHfDGhCxJTAb%t0gMECaOxhd$PX-}UBom_U7Alt_v?8`>|81@u~R z4{Gz63?{=0eO{z(1MauL3m^rwJPzxntZw;LybN!L;YLEBk~M!sBz`wjXeADyn2nzL zmoI|u({@GV6KZ<69QG=Xj;lmfa?LLHL=CLvT>nuSka}jn-1Xq;+7`EE@s<>Enbfx( zl8)lpzo7&ib!oY?{&Z{q(6;HC+Piuf^s>RSeZnjmvnRkNOyVaq>9(2~lg(u!3L|wg zBW?AoHAt$_gV%G(;Z$!8hH$}n84qa7awHkm!pKF0$7l?h*0{lDPwuzo4Af|00WPt8 zf`c;fHvqxu{*wv7f++SmsvqIC?`AddO)H%a!P#zt89zOp@U zv^@`rto_HqY#7Ms8&HB;b*4Q}!GJsyhPt3qy%bv@#tQ{HmSM)5MpNyW~x$L^CxO zIyDxO`{OP6)?pXvV5@2_Y>GAcpb;A$C3>tigtfp2@9wYY5Cl}S>lMAoc;HX7LThild`7eX%xVsxalb{ z3~aM5K}iQ$@Ox*AK?e|f@=WI&ZX1a}(7fI79;|GS{U6faGAPn0X%ofW-QC??8h3}r zp>cP2D++ga_lCx;v8Eb#*T!kw-IuvDcfXx4Zrq98{c}#$`|FK5Ss8gUA8||^i^qDp zf#NPG6-BHuXoVk>c%!|ey2Er(Sawa{A|lLip5q&;CFym5SL$~X)mdF>J`=JnaZpmQ zHtL_)Rmot$eSaW5Kf5&dV%f$?a=3alR9F^fNfB1Cp7_!3nT;eA#+JYTazn&;?$g7- z`VDvT^35k{svlpZjPu(X%vn0U7m&IlGO|v2Fvs^(AZtn#jEPQhSW8D|78_i0XvB9M<)PFb^>{XJRO^l9 zv2}69(P~sZhvYGDBj~D)?A6+K+|S=twxlq)LFdB{!Pf!XU6Xr#L>{ta zwn&Mn*(_7fuD(JiL%pXy^v14XdE-wXdZ?XS=v5IW2f0}kgf?BX`S`ZQ;{G`EG=X*;cG{Ev>aUckT;yF=yH6MO#3W6;0XAYJ~%V6>mra_Hy4??0lP zG_0Lm-Tzs7`~!dc&%z^3W9+k!fh9aw$}VTPT3SYpWsS%@5tAK>tX^DQDTGDOpl;as z?Vvr3GmR5-#f<7b3fdmQ^cU=Q@DlneAn&XB%44LCGyu=}Vzc+H2Np zVYR=;MF!{}e+ColYXf24MtX5#!s+begYl z3Y_{pGM`e&h)Vif{4%woW0^bUkBc1~SoNxRN@d#O8GwlU64&SPUDdLj?0c~+Wy~L{ z->%m+We|g?Oa|mPcLkCx^t`l(gPA?~-_BLzCe7A|^vw@puBkMf49H(B-w$&C4*LHG}D)PINJ|BI@|6SrvH61d$R(HdFAt9Dex{0|tu?O6tK+F&0X9O?l%Z3@y=fgV?eEL@)Hub!)z27pm=A>rvHA~UFeH`3= zPdrr-k7iU??$jVhH~Ma-;9U`lln_Q0hsO-lfkqnpi*0r95oA_4)CYx}`D%hxx*Uyn zcSkg376uGRbt*J!F+~Ta+ASB#OFBo#0Y|4KYg~%Tbw;P&0gI&q%FA9|ylq9VKQXR) z$u}Q(ZLmTd)R5pf(0!=}R5)Z7ZHW->ANdG?JL`>k8b>i+5rQ@M{Px`$+nFlf@df_Y zx>tBG+M&lZeCC7V8}A#dm6x#Ny9DYGd}d?lH2%(KZcN_0>qyiIUQP@ zb6(}wQQ?;3w!>55Xr_Eno^$2mvUA!upZFTCO15qgr&PyvF*k zzPJcI9-;db9Uw;iMZ`ml)quvWjBw<}A8V7s9GHo}q|tW=LMiFGjRYginVBGe5FIt$ zPIR)KHV?6ZJi!F3L|e`@}=LIXO3sKct4=u-yQ z9!al(HrU;=d+H=&d%-_4WOd_(W9K!$iJRS^;^ZAGnu-QECT-Nt{#5Ea>;FaExUVc2 zq-=Sf{3}@2DdYCM_2$6h5*qg6uisv@Fhma>M29v?kX&Ct<6YoU0DsN{0zu{`|VkL^K#XW;Op@z~#pCLhtc$hvpg-=xvp4@1w-W{Q)8aT`h-)rGwCh6^|`P~v|O z**nOIj_w9c@mgN|UP3oA3#txF^Aw&T#R^12A$JwOE7ZC%TfZiurJSD~N8i2#Ad`D+ z0`^Q~$QCirRRpNlmSEq`Ow6LAw8OH4PYuuGXfDPOCG9|D6QnnO&wfiUlwXJ=7oCo7 zyhebl&OvlID|#o$Fbl)5Fs{$O{p26fI%LCKH4TjG`U}J;Ua)UkA;&&N3@v!-mBm`j z9Bh}PfzEuh2b)`GsDp~X6;sxZ_1A09@Bc1(C>&?-v@QO)Xx(Dw6W{mk)H9hc|H%&36(Z#Wi#IC)Sh z&taVOn_4+EX~?S4&E+kYW}$zooDakcorZo?Rzu6!F9ip`fRoNuX)pb?P8=^m7!rk( zw?uKR-K3+Nn>QBE@8>%RbA<0sjtSDan`z_YYMp-nP9A*rKvPN)w6UnBE>B;4 zEJGvWoXv@v+h^Z_?JJxA}ie&SJ@V^(#&6}P8%zSb+yJD>pHX)r0lWr z{*i2pdvP9j&47{+9WtbtaYPx2KOu>{nVGKlS%2=G8L4cR=N@|^gCxFcNa1IB5y~D-o@+uF$?RA;_v=fORpeoU8$HV1MEw}476mG9N1*v_i zYPqo0(4Zmw#^H>k7v`@^tu=4Nuj8v`M|=3;>EazFvCZP-T*ix`3f`C5Jm3p~CUqB~ zu@zs3@X+RT#%Y18fi9;L42V0C_IhD98!G?W@_SECX76LicCwDkgtl#o5Kh+wv|-0@ zX!67B#5c&{cf#fIm6NjMYV0frKv+1nc>Ae9r$lij;L7?tbg->^as$`54MN12VFV2= zu#jw9YvrboAkKOSy5HR+gmAtoN+Nb)BQ-dgC?+s(Mg``D`H`E(unB3*C}uI4d=P=v zLEMtsl5aiKpKMP`8NBwBFupn+IlBxrPqksfC;;zLIB$d=&~L{&1uYDQvBAZu^RUu1 zuCWiDekd~pm7;E_KssYTDIaH%WhfpeLGLeW>`soatl>FBzE2EN_})5H)7aCp zNqjv};ziLs_4$A7m|4#t_=`!1s9>jEVI?C=O!6Uvo%r;cS&^7AQDL(L*2l&VKhn5w9zuu%TeOpkV+P(9)jQn}O2Z>p!OP%p}$ z3)z5G4B$@Hp~9Ev zp-AXF=Pdj*U)454dK`cEZH#TDoL+c{aUq8Yr6L>>%~6%yZiCI=MV;*U3i#YLsB_CL z)HVfZ1?9X}%_&fBZ){f%mch^`uI$7~Y9R~4gqu)#UY}7)fLIvoy}8c{#ZnE;NmR5? zaG=B~!c4r0zze33ROx;LDU~9u)Q6M75boRsU3d9a;-mquIr=FaPJy%4MTX@z)uyo;x@~6cCn2J#kmQd&=n^r|W4&m$=r z%2Ixbl*04g3KIy(>nWOZ6njMyu9<_pwaB}NxFjc;_lZP3xux!}xr&@jxY}Lu*F2y- z91;*6F`oMC#Flpl&lx|dGUF#8I4Kr{yl$kYFKM( z)+MiZ>iZ4qV}!tmY+r)KHb1y%(dN;s##S+I*#oE8BZhG8oQT+?+sZW}|BC|nR2b56@@!z$8wO=jz;-yy3sxzJ>=Gj}LG=HyR&DuZ^l76y5QU zY@|a84nMzE^oFSV=DgEK#2?*?1QfcVCoDZ-ujJD5#={hPg|B`Lt7e4TgR@?dy1$o9 z^M!289|7#2lI$DCs*wR#1&>;JALC&wui2A75U+Uw^V;TFPTz$BZ~u;{ zT=+Z}nXT1{wgyZwuC=D66N~zuU6m{mi#|VIm8gtkbZKc5tp%<%*d>qznLg-g+Z@~~ zZ+;+_H@fc4a;K#%acBjMTggQ;~=Q48u{-+-Z8ph(c8{uV|C7-QXG|YbKU+JYo`s) zUAfhYR^Lfo=W(=5#}EL;?{JyfTC0~=vg2t^w#Y7WSf#6tU6#LfCnDfdr)S%X9rFB* z6`y-D7Q$;O)RN3@YT*QL=GXJ}kdR5qolDCc^p1yERrs36NzdcGUwk19 zH@*oSvnD^jiTXc}s-TgD9^z0A-{R8*s~h>m5H}REh%6Lhu|8)w8J3e)ErXq~N60oT zKd=+ac1IT`AJS_kBeT3*q7>4*WByT;Op#3qB^6d;@LSk$jK5$T^2%ne_Fq8BJY#9< z)^Aa+x?S*Y6A;ZmFB1NJE5+@_I!M>474&08q;U00y|((k#`5QsJt@c9j~Nh7{u`bs z#Osv{;vnq2h!P2YwXk(-#JJ~lY0z-#L;c7mx*LfT(w1QLv&s(Y1?+9i)dQArT$&Tc zm1(0%_@P}LxoL)mpd^0X&`7IoBnPTmdiJog;xgtRqKq>%egpgnI_+SVZ-5iFI3dZB z(gIpC<6usg$}fW@*o*8@E8^}$#e(N(*hPYYS{wWln*NdU2Ky1#p=0|3vY0^Y9rA3d zKXMV)*Obu}PT+MFF2MybxGb)!{BcF{&U`VJ>eyPly&di_%%wi=C=(UFdSBx9N^Yuh zzRpVPNszC8G3m^taEF&V;)tH%ZpQa)L~gCmJFj3Ysv*90SXZ@{jp~uuq*m{~pm(sj z#^E%FADg4YbfB*!(h`x?z>%vkPb~K>)!>(%!D-z@r0vGxwh70^2{;5`b_mF{{d zu)Jnf38;&p-uyCW0&;!9hcP<2SHHO@T7G&kK_*bfo<(KL2x$^{L&Kr-9jN(TdPe+x zdHVT_+zfj5uX&w7fF%c>gZKd#&>@va3rRg|IvZKf5HdBZVM>c#avzdwMT;Kj9L!J; z9n%C;CC^14-FgNYx}xZ(a+=XVX;$!>TJor;SOO*rJFzYW-EIrvZ^!UjjUl219VCF* zqY3F`8~R;e%uUeWiu-#Yv%jVAtCY7_$T@s-WPV9Oa7oqlz6y51)<9|mq*b7_C~QS9 zna^Pp|BXUf!2z>AX-v}aleBXs>a-4fxmfiE@=vYqxrhEjEhpuanf!+K9k{#^D%%(Z z1z%u0j=3^kVO6L-E;ggfKp zO%=yafMi^jv8i+lDs?$pK8N9jzq8t+W|G$m*@Epuq#JReK>Hk%)f*YJgTR+D3`kir zMzh59pA4gEcU<0E?lE3-vbtX$)=}1aVgW`-_d(D+frtry=zuOoOfgIT;Y>(zoS7O; znIIsXQHiB5=$aADg5A5vl%NBL{aUNOdVAhFw?nGohM?QA@kTT3H^B+Yh+E-a9f$85=q4rN7=i{1@=>l79eG^+zu8+FSP zI^f5ZvmpZ}D&|q&+kXBfRO*#Oilb)3E&36O?G;ENLMr!#%MP-Y;~DWUM~EHO8@4d} zVegDfO3R07+gAIkA^>)zF4Z~Fb$n4ZTHZ<8R!A1wc2w5pn|7SKddb`wfLtmRxBAS>?~MYV(=g=VFJvt~neph_-iO>r>GwOAD^qspC7+T@LuH{p}0 zD#Bf#B4qHzK`5JLi@iA=(FU@Ab3iD*)fL@vU_d^)^H(jsRC(`QPB~S2mIXK*!z5lY zj|2feyam5`mI@_o28~phTDrLOjHqVXZ&ho7(pC*hVPe?>e>(L~!4G`d7S}_hkt9M% z{eiIg4K)rh-XwG;6)0mNNk&inyGRMH6h@PtcJs)ui{CQLa2JY4h=UvFv*O?A!dVin zg(YiXtSPb=I9e>hvH_hpG-K3*_OD<_P#JP9(h9?mwD7j3vzz0Zryb%Wk=rH6qo`%%y2GKTN$hbp8s)aOz1ZB)N8B3~!Gs?h0kuUuceCErorg@XhSz`fYgYaX-`6p3^fW ze5-*nedEvGJ<#nQDv>*q;mjh_9$aED{3aC6>q77JSAJvE!{4WiVn>mx#_RXMHo{Gk zonulYjGm&K*c2P?(Hmiv3dY(`I2s_gFB`@Usg;jivQ_!;ud2)QzBoaXY;84gs6_h)^2kJgv;>J zL8rbu-Wi=9?EE0Yv>W2|3`L2vOXIuTL?ja0!+_^Ls>-?XDnH!VRcF*S5(2+q zUp9O;^|wAb-kQ`YNV)e+17J2py3>~2ky!MC2as(_k%5a4GrXJ%g`Ou#5D7Am8Xje7 zimz($`)_L!*BywQ8aOpjThK+6OrjDKgx1P$<6?M!($UZtbhuu{u_wm)QPf$64Vk>x zL@kLn3I{w-4#KK0$>K1!V+2jD?%&>^wPZqHy;aTcdQCsO8aQp9geIVPnjm9orNLs; z+uVob8p(eA`G6k?NBq;r(ph5UZdW9ut0P?+yWO;bMvYE*SF%(>vI3;#LLv}@m2L|JIi`=S3_R6jh@u1$wi=ccUVWzAs46TPJtg-GWUpt|(az zYer4L&R)}ON^p)}Uh_d~kBp+-QM6W~X*_HOqX+Mwcu{csWR!%Wj7B%Pi4puo4_R~u7_$JblsQF+JA{t{hO$oPSpKf z=RjeaSB(Msop}FR0qz?sNHKoKJrEk_Nv3*RoB3ycaK(J@IDx6pde|N=aY}!HB{ptF zeL3C~ZpC71gSYrqw|D>OEtD*_TDy%E%>1jg(BN03m_Hfgorfb!_l%6cd@a3y=*{`B0Gz&Ly{M9wX9@~VhhF^#UJ zO|>MnM&Bsgj#3+eeQQcOZ9=)-7Bw!du@VI40vuat%?fPw8lHTCX4B(&`AY2^$()vv zX2Tp)sl;%10X%;+os;iy6jvf7u5Be)n9%k>1{wN0>ubB>s%Xq|>pFB#r6E^Gh$onn z9OQ#gFoLnTY}0h15ppmI)59SgeJL8f6{wOmQ-s34Tvk==69B;6HMMT+LXCd%`!{tG zG&dWlPHZlz8j1{_oaz?a?3z53hVfr!`$)EPlcn6N1_-t{)-^l@p4Ny*3=T;a8Hj3N zdyGG!+{)R?3;(){Ysyy8!6T3{d;-bZ+3GFLqw~sT&XQ@9=u@SAq{oB|0#AxDT2jaP z%0(AU0t{V@Z2f;YcaB$$sft{bHKeI4*7#TdES*oP?%ZQDjMs!KcC_#aXxmk2ts-38Fq$yos%q*>Y1`JM zh^(A)S+Hk6t43_XOjfAkR=Y$6IaW(4v9PAn?U!(5G?$JfOqVzKFTLhAf9Lz*kGhY` z%Ht;QH)NEZbdYJsNMa_as15gcYdVLqDmc!UN*Cs)iGP}#_)V=RHR*2&(}aqr1EkJr zk&9k%xgBAZ`cJ&*i!x}v$m14~ldv%2dxKc>f)HOTii}`z!ZMM*ow7cTrp4@dFw5NO zJulaksslyTOX5O@>wI;Zc;yW;2hzf0gc7Wd*^&*t>%Rk=@hG@VK@~!s=3hP6SVCQB zkBtFbKh-vej4kd{(d?Xw!j>L1idv&+Y;t}b;RtA~A^hk~om{FbOk3sge)AkFr7e1X zyQybYn&o^PmvUfN%WBS}{nU6VKp29HNtn}O+pWo4LYi$!m~}t!h&bX*P|v&ZU0`wB zC|o5th^wx3Zms+@EqUTQirM0i)Em1*bA;eNb0?@RW;hNNqOD033_sU~*8zpqfy;?T z$j^v~@qhd`^BDgq0}Z*)`P0zn{E6*9%{%^$RWK2rn@KiXvCMCkej?UufNWJ{~uArN)y@y zu02D#Gv(MeDaTPz!1h9hAKgHVUkEIlagR5agXO> zfV!f)P?6uHp;ey-g@N+a=7-zl-3JbN?xg(N6J7rZ(%vTNsDA1Wbu?=EE%_YyaRl%rH*o z$j*A~0Cfy|d5uSE>Y_Wbs9f*p{}h4h)`SSjY+u{U6?zal$URtJUo-CQeS@lx9DBtg%+9o=xZ6AY$)Rw}0;?kiI!**xdri{6sctD!E zzH=~JnkE9B+4^p+Iksuyb(%DuX94Fp{Bs`QbL8q8%&wNRq`3~N&sKjCfaduHY{PLZ zVD)+OB*fc()}h}9RAY_YeDPm!@84UET4xwBAa)JrRxdp?+T^XR;K>jPNEevWuWBE@ z*h-D27D{dyujkT~!RFLab3tB`;0!5^#^SZ1!XH$blJc5xuf&iLFy>=-Yie@H0*_jH z*ML3}@j2gNPo4aUR^gF4ig?>Rcw{KQkF!Mo_P zQ~CB8vAdu63FiNlNdC)(>R-@_f1!)#(pe1Ce=tZvm02J08uqbbB;sOVnAQLpqPjBA z1Xft+n4Q^a-Bey2i(a{r(|Sw(>_bsP_Y^K9n1qQb#jU z3tfx_9NWi-fsU>^vVK1L{>K(S59NXlDGR(yk2_D| zk1J8lfQO%j(&1S-W&0rsPy5=8SI5BS6GB%0ynsZpqkjKoCkuR6Ph+3-U7xqzA+v;z z?;ke@lUi8Wr6&DOM)+qp&`mqzBJT)uj|t-1nt9~D7lL221HaR-cb6^V`+S>^36~y# zswUp1`5tL0-34y2t6b>~hee+Te^B5a*0hm0xw##8vGJ@u5C^3G?hYI7reCQ06P(p2 zd$6!MObD2TNF}W#;|*jMFoD;wN~@nLT+FMpyLQlT6$zZxlCrduHO(@4s>Y@9S>lQ{ zF(_$sPBVGV73W?DEkFyG&M!5Nv-DHo` zzl{yV-Q!kC`fdg8C4Mo4r9g%5ODl4(w37;<39~ADD}`BP4dwOriX?5L9Uw`~ct`s0 zp^D0G;;;7^s>1(Q{3Wjc5B^dLf!=DfY8^CEsSP1!WIG);L~(GUdZp$eWWegGLZijc zc>4<5N94dTToSZMSdria@o@n$$#8i&rj`7xKm2}{2i|WtOAn-Aqm|}KgLgzU+k4KC zyv*y3s`d5#iBb9-u8#UT7GPm-;&$kZSP2y9>_Yb5ze3iKLd!Agm_(-?e_~q~3BvkO z#I7^%b}8oaHfSnKSkpHzc`#^+ZzSpsCgAZPn3a4#Wh=D{Va2l~xSsmH2vub=7wH z0iHA*Sz67T4PZDPy5IhAgqiSru6^KncAKVpAHv4jFNd z$3C%ZjOYAY5|(f)3!ddivR_M^$}9dcsNdl_QxaPM5*l+QdnRk;B^-0-VW`w@n?=GR zH!ztDMT&0I1HTh==#RG_f6q;0tBgI~b`js+jWqV@S*|7wFZCAb*Kq6@PJxl_`xUR1 zj%lueU#`Lw#@=%=GD>+4zSAMM_|T@2VJ}CvuKgMM`y)1HK?*ZE--RxT{y6Q=M7m>9YSeNv?uCm1Z4 z&IsBV%@zh_UIZHL(o|nm%;xUAqrY#Y4H4kbaY_V5npz(7{(IQEhLHz>A%cOeVS|AQ z{ih83zaZ4yKC|s7-}K+eOL-&7X- zlx5@71MDLB;jbUrJ8rM&7)slT;uZLYzT(Dsa1upuIdC}$Iq*4%`fy&DtyrxXtvIdd z=Pc_I?G?_f+Z+7>fER=Z%yU+uFW!ZhWG4FCzxqA<@B2~uB>=?X5eS0tO@O>`Lx5rU zA3y~BPsFD12t+?PKZFFddkhl#Q)VIgWf|}0OFR=}6VdI4{`dY}zz`xVoLPT6n@lF- zI3^9?sUO0ms9rV`s~j-UAJUJpO=eQX#yk!;2H5Za)lc4E)Q_+Y-;Ws%0?@*%;N(+$ z$3nr4M~lb$3NHg+6J8R|-Ot|N(66`6XOdTM#AoDPT`$HbwoI2xmrEt2#HY(A#i!-n zd5N^mwe7x*w4K%81h7J!LeFOuQt|G&gxC)6j{)E!vZ5O?bSZjwIF~!8JGVN=Um|R$ z_16Hj5r3c?G3GMn(sn6(cRTkuhg`yJi*LvE=Ky#SozPh@Sa4X-Hy8{U3~0KPyni}( zIEP=NY|C%w^=tM21b87{pl>i5Fn6hV_g;c;6Ksd|xAc4TM*vU}NzvbDE1hJYgtWLLuJkbFnUU^m7{XnXtkBgJUan~|4F4pqU+GRP2T-41=F=L?BvQ)AEUN!OV zrW*q^TxxzT!1g;6*i60RF^e$FxPQ5+Z*8m-5d5>Os-gX-EvUI$uCu(euF=I*qPb*O z6!tMgSZVGKlTcc7f5AE@?EQ}A=gHr{j}U^zelLQ&y{`R-hqmq^1(=h;-ovcfZm_-c zVMNRwde_ZV%~;lQwsJQ3m1UX=dJ57CS?Ry@fYw!!^7g^$nK;OCHr9#~W&{LdOT{A% z;>-l3bB{U=IA`dDrBZ|g&1#CDi;R8c=Yu7ZtM-3v)9t{)m}YBh1BqP%g3oV%2Rzoj zJ8&jqPR3o3Cm9tAU_O0dPVfGF;h`O_D{@5xq9>nIpkOP-MBmD zpHIwn`>gU7?b6&PQMs=J%BengE`}mCcx2hbE%-k<)4wpO^*mv$69CEupPvQXdU!^c zJf1qKj5GF5k|EC23WX84etfw>a5oGQS%xq)C=A0rj2Hh@9Z^8=SQmHDEj@^KZ>Auw zm6c(frIyN8F9nwpkWPwMD@CQP;?0~VR6I75KaMY*%$OgLJ4>H;l*?nS5)CdrS2}7< zJ(oQir$5V?JxHGYOYe|Bo0_^IBTp-P1Vx|6RhCkI8?U}fStk5H7m4!Qh}_i`C0gdi z^nukz9YSoo5>w(f9X~8P*9IC~JL?8%?331z)h@}0^ut8z&bEK<0_IULsiy`NehTjC z73UgC93)ttqX+L6A5T94j&xtDH7d87pnU#ZXdW!BwVsz&IDo zLENRdJ9aDHVMMn?vM=D+!9u?zH^$v;;N)B{QuC|Rp^^o^`U<rQrPz+$oTJ! z*VE=^GGs(T6#;tQbtA%Un|zF6k8;T-cN(P(hMy(%M@Na%0YWp#YKAfW-R;ZUYV2{w zjGE`|$l=^YBSDwj!Tyh8f>WUm(w=zR8&TXXLVv;lgdWhtOtrO}TS(1P>00(-zJAk^ zZM&4=s`mrPi>+NDrw@(b_w?`S`RVcL_38floT9R#w4#=xI1?`r2~Zf>5C5L$)NFaF zzQ8011P+8mhQ(hcK;dcTZ02=mBQia-=9`}$Nwhe$KQukGJ+$N-pZ=5Rz_&gPnx1n8 z6lHA7N;rYkfFi&WPaz<-J~YnX$oxP9iF|UCVO}ge1Y{{-DY*q5 z4-!`@9t^%bvW>)`swEvS5)TqP61OIvGFz@So+aOibK^FaM43su3BaVZXq0VK)dA0; zl0B9^mV2IH5dRqI4tNFBKt=|_1EoQdAS#dza0EyXtOCv*U0@U1z= zZySJofH%mvcr087=IzVQQQPVu3*Z+D9ynHSp3-8tX zh0EA&U632_0GSofh^x!od!>HjGJ0DJWCvVAcEa1>>ay@&yNus91o;6UkV)}Gxcto@ zm+SvrMs3ga)^qqqINuS23}erd){1p+T^nIncfYvz74cE|QXfT%B*7G7A|!=#3G7O` zi(z*bqx^9uKmlbP#>W(=xjFOINuaKW=Ig{$IU_FZ-8cI#-`Y3 z{1l8|;{%agnDmQ89|m0P6LwdyA(s)^Nn-eJ5@Ha!5OO>ultY5v~+Z|||>@i9fpZkl|4J5UE?xrgrk zYzNM{dqi<5d3ee$(W*!0Z0q1Y-FpX_9&pF+g~qS+wh)|H4USp{w2W}-?tQliF7OOa2H2Mr zO!KvYCtWGd-P&|sFCZ=H6Zb>Mf@SI>4){C9+w07D4 zfs%hI`b+wQ(Ed7T;BVhh`Zr!7{L{FK(6B4_X?*>#d~ce=7^^TMA>7hSf7N*0(3C4v zHUd`Yik*{DPia&~r|z3fp@`)EyM{0TgVthUu2g@j0q0np3n={sYWQ2yBQzn8Z8 z{4tgL+qRMXag8D`Kr4^rxe=tGoGT4)!9bLYU#!~#uLL3?oBdXoevb(6aGTWqDkGQr z0^3gR)P=OnM`I#LrNk0P{WKqMgoRnnAk;^8foGcxPEi?|-qY8y?WMzYC&9ayAh3V0 ztPj6MD{i2GflX2T?{Pom94(#xh4|J%^w-z+`5@JAwSS@s9EeKet4ijp+N?{NSHfDV z+8s`qPbVIU&zYW}n~kfLPLHK(gC{K2*DkcfulGo34);_|kF(e+-=cDdz9)lTy&B%Q zfHgx!fP}F?k{>*AVv8!d{k1yw16YXTTE+~xL>5HMzn^`j!@q?c@_p?V32!ZOHZ2ceNXm>p zI-7~lySiUFk~Byl6w)};g+&@nplNU8-Z~*Ax`L&ph4Ba9EOlDOJ$!ibLsfbnigG&S=(??v%h*03FS4b#E&t$3PaoT@aWU$`R zW!6#HJad6kg>xtumpoAPm2Ll|AXPb`2ktd!y;v&dSW!_LD|F)wrCx7HiR zD&yWtr}Z&eH|Yqe!~W+u^10lWzdO`UO+H+Yrr_f7JBjiMx>zNXXObP_#>wd7Gj*_R z-e`twq4P(a@3W1A%(!%+m3f#RG^{9wiP z+$xWMu}9F^UCUTlNd?A`M!Qy=HMWzq@x1tc(NN?n$5H!p`X*lziX_cca%AiAX!Byq zM^xOEAwv4ve@!Q>qmMvEl>Q1ZZTJmYBKKx}`&iHRX@tj;)xbDnEBuf+qndpeQBAsVXIuluHiNt(9PYG(#v)Q{u}p+?+rXH~UO&xSgr>9g(o~wKFuT!(8Vg z20^G!&vcB3Uj+mX#r2AnzsMHim-|=*B;Eetdd17g^ENDbmDhl-R@Fe!Dy=fzcdy1! zN@K{-NV74}FRDtb&gEcfi7aO@Z&1h6+-?M-#|mh*lz*)v2s2(_Pr2I8`Mm678tza$w`$?+PKD1``=NTb(BV^3j-J??ox!n#9I->boAwvy*S*vL=ZP-#LIG}yQ?aPw2;~c|zGnJq zO}B_aEop#RUPc!k8e%a$B2q0)`f7GEQTuu5)nGBabWCSARD%08V5JA05q9F!aKpGX zHaks9^AFo{dlzn+QXpdCUbu=gA6DDg!8@U2|MeYlM+N42$=A(^>ST?Brsu2b{U(IT zBh}F#q$-5fa}@FISM}B8F9w_=BgJ1U-SkL)TGo#8O;&nf&E00FN14pI+g*2+o;;km zcexeQZjs(T9DMC1qVTDJo0vSlg4-PZQAOB*5akapOFLdw*15t{+dcaLnGM7Qv;!Ft z(q(Yc4P>IVvT5)hHqS`2E>-U1p@zmY&9vDt^K#$;vyCDIm&mB`s46hNgZ`EuBzt3i zRH?C

g$P13meDA~E7dmqQp0I>zb;wnxju)6?e0eM4#e^dYANf+B9+OU9)BWby|{ z5tb+TF?W_siwaDORzs$5TGJU?TT0^?RuuSA9B7AWg%^daTlzcLC+ob|ql>R_ZCypR zy3PKq+_c7SJ^m~rDUoaodo5Fy+WA20yo+n)_E0r@kMgY3?>hEhIW;~_?9J(NC&7~5 zm`&WRh4@wkr!nD_?H+b3<7t*M)e_6E;Z29NSksKcK1|1Q5B@l#~4MNBCD zym2O(ykv}{#u&1mB(bfHlFxFS9q;@;w8~_ym)xoh)Bk-2vqwyN-$AnGOxoSpogrH} z?zfqctyFwNme*%7!U58o9MPijT&G zQ0+I4*4H^b6FTuzo6h@c5HHY9D!^Wn7Y3ZK{_C?@{Gz;!NWbuF)DAM;>ob~bp$7y*cluvCAi>WjAe6X&l++YS^?C2(*(oGG|Kb zl~*3|#KNIHAEOg0J?V3#DpQs|L;v@v9^~OW?U$O=LoQ{&ITrP?I<3%`l$RpLfkk>3M zXybQZf2P~Jzry2wnaj6?Rl>Bpo1k~Kn6)&dG{JnZbuVyu(!%t6s(;_p0E?BUB^rK_ zS-`cHd=8WAB!%l+r7pAVfo-SR!56ps6Eps@osxjF$^EX89Wph5|LWRPT{*pV z^U}XKth$aKH;MXdBBsMD4t*p@M^4*8oF5af7dU3u-amG^T7SYPdXP$U*3wVqsDR7> zK@v2tg!s?>EhDiXb3b|~&NAB|2NP_KjLR%~#g>9nSUzxOw$_lcFW9tu6)N9I93BZ8 zwqLwi1A~XIB%(hkfr|;BV!6Aq48Mmo(T&uU{pHf|?op;~=bEor*?e+yv)KD9GcR9I zAgQUKSXVaM%_Fv?7@>GgHV}T1bS3zaOv3+)`3i?KOp9hTpkaX{NiybLAv>|gqT6wp z_{0dZlp$Gm$2If+siD10I2=sQb8c~Lm*fL`*$J% zC{h66w_rk~_F!pJ?^si#e>^H1YMAQV1TC|Fny_K#0o7}oF(e`qLoXkh7Vp;X&=8+> zE@YXz%WiY(CXXlem!EntDs(5|U|%;g;vmXyPnV1ok~!b_Af?m-fO3o{5aXcOeTKN~ zA}`;ni8#_5Lx)MY={WC#@4>Paf3tkVyi;emv2$0U8i->=b9xT(*Cza@Y;ux)r?Of2 zTfLduMlBPHs#8Ufa07be8$Fs*P z%$?Dg=OI@2&bI}7%0VGHQI7^e?@=(`0r{M&zpTl6$CvrJwvJdXK`ZG)>%L{pd}}1JIex4BO8V`uP~60E)^{HBgxY=*LX|fCZ)!?hqBd!_ zN-*|(Its_JXpE!ci)T2&saufVtLhe$&U{-n(hm^#xkH9iCD+jIqyh=~Zp$x1^N5EQ zc`FY>UAO9K7ZA?~Y~-N#f$d;^f0QhdjbP|iWdQ_UOgGLLKSJo`fz#!PHTvJ2K+&L- zvkEXtbcZQd9ko!CjW@3j-ET%_O?sm=cicFc>O7UAefp};nE!rT-aGa|)Bl`7jep{W z{-avc|Dv3y>GWTNC?yl;e_ou+R(*2g7Cyi(rw;xHYi9zF)%N{=4N?e2hC(HYlzB{% zd6t<8k$J+Kn=34H0hlX|$L6HkO zEl!>3?@i`0zO^kB%u3f;xs*fm?oitI)ZLu}JIW`9zh|{6Hh#X@_${?ju~&JlY^=Oz zqO}6^eHqvzxvLA~B!naqomVwlM-&J+FRxYN7L|T^&-%cy zSnb8wZPG8Rtq&Khah_Y75?jpeCH=(Fz~xfCbz|J<@FoViipbc*+>4~;9KG*{E_Rl# z?TKB@Z7cP%u{~NcN-|mUK!L3DqS|Y*7h(swA8~g`pO&{@Qpr(3wTIo6rGPAblsw^1R&U!YsCmVsxnQ)+|40socV z)v=Gb7dxgt{3_hdTwBMz*gf^$*O}d`YFF@_aoU;UFW1dm>(1RPrChIYWLUBGTWq6r zdBsE_{TKDc+RvuOfewVd(LX(D<)h>%&EY0uwWB;&Ot#j-d$=wgX(s%pUvd3#ZyZ0_ z+;d;9vNvnHiNA@b{!Ej+F#f$FuGYV%qpJ!`{8cTVHkH#aFZ;IZpvIN2Qjw$ei;th& zY%18;s%h3=k$!Bpq4fCNMJd(_-qu}5_ufelGmK_G$jWPJXUzLfMM~1udZWMRJ!>At zZPwX)tI{27J}F3thf42fJV2lI>(;crB{rk6s^2m`vDfRxL<%n4HGh0Uonb6oW^As= z!i~?ea)MsnwiTH9>+z}!nS$ZoT16&B{(Vd%5;r9bxr&ouO>E!&u$HN_Oe~p9uUnK^I5-MFI}YQ*LRyA;m7lPnMFnW zt(vas7+r1&@7%kl@HYE2$?H77;$Db_zp2R4ikLoo_k;cEEsAxzs*IXPj+?q36N*Xo zIF`C9#$e;!NAZ~+%{FP*KCrDewXIJNEb z#vpl1G;@kzolc@=wD)m=9dBw&%7iGkv0IVn9a9vQ1IcaQGNz8|9aNybd> zVf?qO+N$~&`iaAZF6Yan4!bDU8zlQ^tqQp0zv_|oaj9XBr^_^F8Qwc#==845gi~rC z$5S!QYx>cHJGqiG*XkXA)EKqER7uxk+4mlut*h${k7O;qI>cMA*>h54!;Si8skg;O zg}U-j^KLL7U4F13UYn=D>fGA<$JVttpGb`At$m_tB&55g!`iaI^WMj&Qs!FkU6(G) zz9+0}D!n}O?x@$I9mnc-=_m5I+zGpzToN_t>wU3+YqxjyTTeId#7{P9yf?3|T2u2y z=ZgoIZF~E(y26t?lIQQ>yPLs0XX{&&!kdW;ZI>$AD3!TxG&OVCeYI_x+x^4$k4;-s|A?bZ@ZKkz%kNJuc(-Vgu$-26qqF$# z?cs0kxo%l>W3EeySV3DvgN(i!mttj5@@C8TFB25q>xIe+bvxQww8qpQ=h<$Mi~n{l z=2oohkDxL$o&ddj0n-9qe;DvARcCpwoVd3^-tc@1e~0VS(o=SgEK)%s-rY{N+&6|? zZ^jjb1_Vnvn;lp0xjz!#E3N+S&$#Ge zp5S6pJ+kJx$>+H_tInb`=}(iYPivi6Ss=v!ZgWRctlTyp?j|RT8TFpSJ~KqO4D-(r z^(;t<*yd4iJtCply1GKC*!oe$jUwy%iXBDP9Ti(_E;%~{uNGQp{rQTAZ2skfpQEuC z%S~Q*jpSs_ZL6qwX5;PQz&E%_UMgK)?wR1088VXjmpM-@wB8Ui#uIvl^Au0}`j`iE zy>n_fXUVlV>Caf?HN1PqDUX7L2*ctemsh)N4CL~^ZEkjQh%UI3clhGr=Ar{~Mz%9- zw@9{Dd@pW)SYc^nAT6OAGdS1aiPQB6zTzZDhZU>c7AED^teWw;sJ*h{gH3~6{y|Qq zg@x1(ny2g{yw`GtsAis#iJr~ri;pu~4<@7(`<{Ok zEB{E_d|8a#ouI7o#-bxDUGp9qZ+V0k-v@1W*@glhbA^=xsAfDDwe$~TUD&iSUl6t{T$!pHL933e(=-ItcjxW zn=Laj=e&h)GUHugD18o4p?agPU_va)RK(~Asp^%LS+2Bfkw zim%)CbLU+)USpXnnh^JBU}aW!@pxg&92@(*pmfVN;nSI|R`Etp26FYXJ%aOEF4)*- z2c=lHiQ1oUovU}!D>$Pi!RAG#`7gicm(U+O4KMucD%HgPut0x&y>2>DJvsb8H!TRK|m=5<<_ivkLh&^K)616|u${H`$GO#-{reBDXI7 za_fM*UYqA=VAi|h@dGV$ZPr~5%COuZ{35eeJi+J5fK?>p#L&L*oS${qPw0)xcZg(- zcl3K)dMU+%A* zkEdJgZ6-GLci61U9pTISc{ZrTvQgwkM(bz2u`Q!}TecOCXS9qJg_-m#=WQ|_FSisI zomii%BJ$!&>zRbzIjy34tRABmTlU#ZX!bA7`+0HXqe{74oX2R2>BJSSwuFIj*>Pli ztBgf@qqi5nFu(Y#wJ)(nWkSr{c^%zs4!SR^N6qZ+8X0EH zkg{IjIcxB_ts|@02h_!$Gp##2ZR9|t@yx>x3Nn$+&6X$5iWuzs?jR(yPqB$N?I349 zw@uYWkD=fu#%t^6-=x2n&tUqBttg@~eclGOl{*;*UojRPv^^Rpba%bDi{td5iu*?o z2cKn^i{$m5Qkrp2d`%n#s1i>Fpmpuk|tU0{wf5;)C|*c|$uM^SzW@P{sequib0m+@Tcy z$X(}GyxM%;{nf5VPVK%na~G$`RZM%tqTmw7%5sXOLi@b1ewebNg0+Xo z@8#M>VoAN#M|u|c-Mh&mcB-UeL(dDpnwyI+ryQve?>XW3U?=D0Q{t7rJ+^+2oFZ&F zxqkTQuFp4DEqc7ZP)7B{@;MI@Lp%zC*5_uec(!UrlMhccOMPh2M*dob`tH7K4cb>+ z=Zvos&*&^%urJY`yYS}0;lvE?f}K%w5~Zylev-D#e|{(0G9uy9rc2(26-s#t1<|te za&1n%dhz7@Fu#|OWl4|YT(1q6Jo#da^Rle#*6_3EN#~~p%RMQ1ShpijwBTIuI=Moh zn%XC~+8>9}4PE80aeMNpy()~~)+RhLJpGWacb&@@Cq}C(IlH+X0Rra(m<+nFwWmo- zp5EagG*-8YKb9|aRmdBW_9%A;md5IbH)nqiT^`camcMAI;=@g@9UtetzgJhlb*A>^ zPM*)-4j-z8tG|M`E{ihYhd$j=6OmA>A4syHj11_Od=R>T>B|Rj3K!$$sY3Eu+-E zEJWU@#Hxbl%Z*{l9b0!kf606%zod5Km!O?3FXx`QHdgcWi$JRL;=_T1tX)^X^eZ$f zbM^e06ho@) z@Y$>A{M@ywBdMODcaje;R@%|E;-T7)#~WkoQrSNS_R9RIQe;1()ca~quhWnFWeYc~ zk$)x9YqWOo`N2*F*4I3}bACMhwtDx_%{}g?t_C<88N=>48#zbIA`T*Oz_pyvRGo`+}!r?}unxZHw+}O)va+5x`3(VCzfSeJFM@N9-B6VEFFAMq1M~I97pGHh zd^celTe78}Up?>n36Xmf!pm=*$$IkPz~kCmd!JpGH&Yt3jqiD>KKNp>N#u8?`$6G` z8$amB50)G8ty_P3t$+NxsO*Pn(eb?(H0{^Ty>Kd9F?g&fn_;cu<42E9hi#u_y0~%n z{ju0{sEM{_O3eo(Jp;{ zVSjBVZ9iP*F+X_-%74td0lX@}MBIFUA* z?3vc6+xTsM-}cQ5!YZxyZ5ok1M_(>z)90lfvvYgVowien)_Sj<`h5#J!))H|*!SdHNOM@{v}b+a22l@-|+0+VuPV?`krUP*G|-{>{I^Ocz)vN zw~=$<%lSsGWUK$o3u?c8GVUvDQ{B&upvU1U%A;qpoqwL`ze?A_HBE_+HMC#j?EGB| za=hzeTSwAYB?S&Mvx!5a2H)lT~HM`IC{L2?p_59!Z0eXC%;&X%OjH6y0a)L}XD zVsuADNK-<^rt1q8)Nap;dsJNEd7Z!1Kz{n|<_Ak!^3I;}VW^(IH(};1FQ$3kf(DhG zRlEjVPaH14a$t32;+&(Muc5Hd`GBZ`ed)dpb2j*;eVlcYDcmn__RP)fm9Ko}Eq*Ru zRk=)H{@UgD>BHIH?mMY@;MGPv zg~kKp%_gGef?E!1#oTE^XJkCC=WwNnewe$OZLV6qW_6QLvqF)*%$z|^L-m82SDSj% zxA(<+%)2i9fz_TpPpw4L^rn91or4qi=4J69Z=*Jua9;YNgTk)iB-mM@PE$kMFM|zE-EZ|FBBm z_G2u4!w=14i^KItm~1tEHGCs<2bvAV%TNh|c=83q@AAXJWm>Og z7hw-vW>$0auEDUKOI#9q^Y*4gmpH|>^W>~3iH=`sP7nAmE@qxux48GC|At)&4Jnv*uOik^c}g& zrS$0+D`nMI*lSkaG;}u02i>zTJ=N)fNpFMreWLKsNkZGe4s*7jalVBMmKz#8Z^`5` zQ7hn6+H&^f`e$nMpVj6CiulYhim>$GpBF2TRcLqrqkO36L58$f%ULDVQ(1U~Z&om? zL_1oA@LG+k-`m&t^s4(<$I$!TpHzPR99P<-+b1d`%ZtBGH=iqzRO)@&MUwD_Hr|$V|fP@IKSm{)JdK3 zWzu+;_91L~`jVr5qgV9Oyq;M^xcIAwXL=?2SQRJw+AMLCmuq9TQqw)_Th`NFn?A&5 z%y?~UX<*`}D~p07VrrtVUa;WH-olfjsOait%lks_idQ|u!2&Vv%YILb42LeRm$VN} zuIw_F7M*@f(ftLRf~m~di)|ya^{=+AS@6Q9+5SZ1R`)x($s>$|3kHfSID@X3E*m%N zZ*bhqZ{+SV)3JIJ7q?In|KO3fk+8hcqe;X0=WOptCVYstv+0mn`7+2YVNYuDVXo}< z^2}pOn-05kj-^g`)-TWQvW$HvbX$4B&i0x6gt@EvBBUAi(AP^{ye`{qx#(2np#2Uz z$!lvL70}0>v^Kx!d1cX&)(2WI%-Wbo2NsMzpPBJ|fkN<}!uI@2u60H0st1<{bJxtF zU*WG;>3LJcQL}Qz-8sy&&MfOPqj$ZeSDL-P+I{-BU$WBly%HjRtJ(*jMtbH2o;Y5~ zoWQs%PCUseF7Nxu;L&65Vdr8mzM3v1xRy;JoO|ilHP&-ti&xWqVV!kLkiI@Ycaxz* zj+e~ihbuF5j|Am9uG%HyCu85oX`$p4wz#k>IZ>|r`gmJ#+^sfs3&F;u^5VCmGMzD< z`j@B}@DgFJ*J^oSQiP zUhGcaw!TjFoK)r^flq74xH5lq_I0Qi-Hd7f{JxJR)7yt(*n2la)EN=c{Ux63VrJ&a z&vs91VlwaN)H1%qv#Mocet@;mrjldlbG*^f1((W_q^ystdw4#f3WU&*XKcy#Ek%Lm zGT)izs|4%S?d-K*Y~x8^bdH`WU%Rk~PiNC$a_W%a=5&wpcfBs-HK&d)o~im_Tg1q= z^+rzV4EsWl{tVkN%jRIE;Q&wPg@Vo|D;DV^?#6m=XYWh6zgu6gv1zfOYe?5cKD+U= z9i^S7K}lbpzW>U4Nb6eNuR9fH8r2=$;SLTFm4QD4kF1Tjuh}oS>j=lmWzx-eUa{*O zTRd;hVsrj;&-NG&`7P;MdZD>y$=b}Ok56;*qECNoY$@tot}HU}b^9m(E8;=VEPci{ zbyTx?N+j>hi|X=bzaSJRbfoxw+f(I-*EWQdMjdn5ce{Vf{wHF5Rhr?qG^FTVuA2=@ zzFhyB>cl5sq;Ats6iG7B@o_Oi5ydBXtJ9x5at|9D>d%nmNNu~awInyMHA9=Vm_faA z-`P-+*;S@YdP7fTz0F!QLP~yKN!!mqKI4bU>-vlB&Viwyd)__}Z0KzZVQ`4O$`(8_ zBXuVCOoin^?o95jLAUhGjSlhWS$w;5H{F>2TyS=t*wCEOuD7X8Nu^ereKq47h6UKG zPpG~(_3V*qOZ&yL=&jn-I$@(1dM*!LwdSlVFL?dnwuk7hrEb68B(f>r2u{1mFgSO7 z$2KedZ(_@4day?xTv&MEFHOEo*Rg{<)TowkfE2=zpm5ay##ygop#<` zd*q%!W((MAQ5_gmrlrCZtKB-`Z?WU%jF)dylVqE}&7zFWZFhZzOVEKtRdgWH;4dsG zI4MpGPFiU*^9>Gg{=ehjdFJ1-w{QLwd-r5rbZo@F!`TY1GhB^SO@vtLgkqeR1yvgu zCQ7{%7Rh_M@6H_+JuLyPj4tjfzD5UYo`L4W(rg1deAkagZDHN?DsiK|EBE(6 z#m%cy3zX;D8fIBVKUGsq7Vlv^wS1OjQStHB=UpNjazFS7y%!BT(fE41LQ752bZzEc z8wVffo%McKBw#c8$(Lu-!K*j!m(Ooqkg+gfk?eyUG0p3B6(?myqsy}%%WNvOx0i@t zm(U?*eqQ&Eth(1K>968T6QjIMf}FK8bjw`wwg?|~J1q6I>iMf!tC5h8^>OVSCWp7> zX1J#JDStEay2<6M{hn8R<n{J@D{B0n4Wr*W1n8l{vV6TFFImzgWHL z`q}qUbVCc4tb6>VdMn?nXN%sbNBx9I-l!aO#i+=&ADB9zEjeY{(Nut zH!4wHTYu4ySm&lqn=O6DQ6;isM%Y7ogJbbV&;9t8)*IbW4S0TCf9uHf*A4Ic=J7Iw z&*74MP`1qbo5rg<%=g%Z7U!`4>y30hUg71bac_^Is~<;I>@A>kJ#n>f|LGP-8b;h+uQ!V z6~QNd8#l|m%}IsRq_WTU3FTMl9CBUuE^_0K_4hAjWEQ!-`}*d{@!zkceSbtMZN~+- zC6ba}Cj!I59zN<-%pQBWSmpLkhNHFh5`qodAK93soTT_QB@W5RA6dYxDg14})vA@; z-Me*FJEy z;)*IP@O`vsV?IZxWc>VR=ls1hy{j)|2VHSg95pDked+ihkLSzf=6r?IjUtM*$LwFe zrq3tWL|T6J%gVk5ccy2X`R@}SNQ&+aUAj-=sgJdV!O~o(h5nt)j^;Jo@+LmDlJ}d! z%Qi$hJP=|uP0|TzI9nR-@#O2Tq+g3Qne|VrsCr*)2#$GEc&Nc9Mef~_!LP4uVsmHR zJ@QR?;Jg0^h815Ma!l2@*-Pg{>PCM!)@zkH_sg7hy|Z^_9_r$Jdi1WL*#w8r_fh@6 zdA>Wemps_5^^tcz!-(DV=Sy=p#dnFBd|dk=;eDn;>hz!)pWZ)z!=tw1*Pi;)#^UaX zoaBhTGoLaoM~=Tc;kMdEmih>3;q2KlO9Z0MTFu;IJad;oA8VAu`kz`RXASjltSoNM zwc59JP58xga;F2c9ae<9v1uOl=G~R)vNx!q>6XsI8Rh2%-42|oo_$8(oM5KJP0sK1 ze_Wo9j%j-k_F~!peOS@o3^mPFSL+&SiEnibarF_$|BtcD7pVSYbcwx~yRWZ1dJ8>z zgQ1wWr<0$DuaE0L!|{K76?V$_uf7WBn`hIFhX$$hNU6L!h;oHQGz-Dxk@;pnq$qT& zca3?yPn87Q&0f*;=fjc8nVdX<{aN#Ka&#=N)cWu9bke>yV`RvyE>m#5XRH1ZC8euM z&UvvbZWJDpw_9}XjRH@)O!Cp$RyKKxR|~xKq>U_}ST5Uh+^1BdDBZi}Sc_uA88^Ru zrYjg5njan#{}OUTv*TUlwuJNQp{EVGjI3KCj@FvqD>dVhl$xtx5&NvR`bhojA#SA; z^nOhrkLI$^uaOk9sEs+vc3fs1^SXu;0eJ%hlFJMdgsoPJD+F?wA95`=Jzjs^F5vLF ztnG7JEpM8**>5*^SF|?pSJfNN7tZZL*Vc>;$#6-n@EUMA*dp&`e{@%St$zN2RP~&* zx93TOhH$uT5z9OCG28m&-nmupyLXq<|4)lJz|9vteR-nKC@7D}fjdZm%&CJCNwf_AEI=b0Z zp#b%r|NCIzO7wT^4Hf_O8|cP>Nx#wkf4}ihIQY+BWc%}bzcn(Wo=g2QjQ_&&QT+BA z8oxa$1_l1-{|Gvj^?x5sbMRDOgiZ_;57>b( z+WEx4ruc_`ov)!l*$WS15?Ie!)or3+}OGK#&hk2x8 zUZb?G4b6MxCxg4a!PvEb3dZl*)&Jf! z`TL&?U4tAk|5Eq$MuRE#8h6Uq?ocb_;^nmKM&#Y7>W1x={PW3-SR6@&{;wMd{_l;f z(zJ!nsB@hogitJ~$tau4K57aSwTJ)Ti@B-AtVx@*`3*AV2qI95X^okJ@Y{H_#NeR% za(8&lKqzG-NdJ$~(9g^WjyU3|KewU%1J(}k4fgZ&aaZ?nb@uvGhM?9MtXWlHiNF;z zs5S06G6ndbxbtu4{o^af0lq=Lo7Fc^qvRF+52+(m8PZ5;PRV1WPVjk>VgZlfnsR0&jxoFb{D>fyRW|_x7N!wF;d-E|4K<2B!(-qkGTJLm8-2x0TYzQ(`Cuq(kmT z6`1TZNU74EG!6MDrFGdD8FUn3dH`ySBx)nIs=_S3`6&o97kMFNxP6Tx@PB5{zeizQ zw=e{eU2%`D!yAOU2T*NUL{PZSZU$7X+vji^z}@0?IW2_Kz2FrejCQYZ~QYSfO25rZy-ssSjq zB2p-0&{mJk(%0o9lq*2(E+&OC2VHpV9Fq&}a2s`v2nyFN)b*(ixJS3~Mm9;gy7 zA%enniw(d7cO9Ph0F4%OSmA}z1C2_Fpm0^eXyL-!^_KR~s9#13Wo$)lz`HA&7tn62 zE^;UX5SZT1^zFm4TkKY1N(1h>PDB-MTj}ditKynfR!`f2b8iws;kOl-^c0wMvF=B1 z@e)0hsxru-%+#n=2|cx(P(>Kb3n@{1Z;?`^55_Cy=MEtoP+KK~w&E`*g2HVpLogS9 zU(BlPiBL}g>h5h)C|xi;FgXzYS`!%$jqX$ijIAVs!gUKc7Z!YMWh8+xsN_h8A^&_b zBUV)rK}|BCsyBL(u@AaG{-3uR2mVvPkdvc!592v!Trt#n^iaCTZ9+&~b*do3zvMV( z+l1O|Gd(qGbM;@UqnxO!0Z;5WxFdshn?=_ULE)-WSEn}M#+CcK#gOqF(4&Q(KcCEq zl_`wL2gb3QJV}G3zc7dAOD| z1s#oZ?~%(N5GDYqsw9M(WJyX@mY`;GH@IOGo0f;SOB7E0m8Mq5vH$pz zr-*YLsC)mnNJ{rm1M`N)fU_KK2vvz5N<%JrL_{5~dl-T?d)5A)qY7aRfvPTYD0L9( zH>=Bz)6PYIqE)-8`xmY%bCC81&piHN6Hovrgn=-2Bh7UWfZBq@~z5pD^$g$(*bQZ@A+RMDZ8>E7*tNzgnQ3Im}^KOWmjf= zK?`WJ&xCpWf;rwUMBX!i0~hNM(w2C5AbgJ=^NLT#N%t?FJUDU>P*Q2O(a{Z45D zKwI&>CWV5NQSbBvrHr6KQ!_YUbV-y!1N|2=yi^dBcR5 zxM4#Zj3(h`6`W{y2_1@jRH(XlMC9S4K!`tCU-Cg4VX^@#_dO|;2AB;M8!K^bLm12* zmC?^XpUeouK_aM0jYjE;3i1-vjrA@>&2$CgXacuif@ZWN21%G&XAZ4V!y4)i!ch+W z>8KlcO~@E*Aozs3q-VBp<7ObVqA^4;ZSnbWr* z)IFd|;u9&9AwV5WVQj-(?-W3dl0(5op>QvE`v`>L1#S`dnTRS}Z#M!Nq5jo(6KHNq zmk&@|&|pT!1AzgDl%fos5lRf9DEn~YC@GYJf&z6PzPjbBp*dppp@-7jExwRq8G-Ec zBG1b?~adK`hb577Qs3SpAih zDs$k1{%71>FcezFr9ydpBZX20D-FkL+iuWqtGVN(P{u%&SS_D=22zBrp->tygAfY0 ztu(=q|E-fd7flK1?gP}h??hDLqTr-trrEZeG6>~_9<0vr=aU)H`QtB9w38=UkUKrN z(72uUz!fq<1c}?fjKCQAA%th^Ok~9QVB}x$lL!jekZ?oNHs)&18f3i)&}KouNTIaB zL^4)3TXD?{Iyx&RYEO(udo@Xfcr(zyq^~`&qTRnlkX@%n;kK1FNaH2>59gO417bVL zDf`!LawsFPDzv*y_!XA98vwUxrYE8b-z|)($E~!Qy*YIVl?YU^p$g*E2E;{agZelR zyPdl$LSd^klm?WVO$udhNv$gQR<|u$NuWywsy>lJsR31eAHP3yN2m&*Y9S*LRk$7q z7lV}fQcROE3{dr)5DK@g%)n}ETYlJpJwjn^MLB0}Vj`ky5{h=%m6in+(9pUovl0+* zH;{J>ZGa)+iW*=KkICIzQjZbpDnLb`g*_4|Z7?@cmU%WEOEzNALpgxuv-~BBwj~w8 zeA2av(GF)rC@T>pu1gw&4WVkDYJ=Ey1!$8MRi7RshcX4B-uy{HFSe-B2!di78xd8L zT#|A|t`3SrF+5k-@FA2bK+(-7g|Yx84St)q>u4t%q3lFZxNW5h1~A=FzALoHN-hpk zD1ES0(|!7h7)qsSoB+uqgu-ttFjnpjEjzjzwN(LVt7)7>RN6g&~Knnkz=9sQtl0WolZ5DM2V;JiFP3D?c{>y5*=6!ECOy3BS{2>8!g~;A>(J((#eD-h@fyi&=9m$>aC-7Z3uH6 zsH!A{!gY&{Aa&os5^|8XTYOd|r3#*%NZw7yh@FVr2x4Fqx=e8f~H7B@Aun_+p zJ(N@b*X#chg(nZJL(OYgP^g1==g~vidReMOn7FN{1?r(HFOPpj%V~77pr`4m5kcWv z(f}+|Ub$@6Ks$b%Q73}JRb>QDpX}6IvqBrGx(Ey?t3e870Q^Jo;w3@kb9DEC0ow?n za1E#qRQ0A;tf8HR`fHI=r3OOPH#19Rv{Qoa2k2mI+C)&esw{y4?>~R0a|xkx0Lnp! z6bdesYbZ6xS0U71fO6L*g;E1;B_{R3p%bC7uX*8~Qz%k+c0N`qwrNTQYe^O z>lGKN%|^ys4Z5(IIS~}D0nLG`i*CXD=OffAfVyTu3S|t+;qQ6^&2J(D1^~BMWk8X)Kk;A#e-bcc!`~t)b5M9qO_Bun zLP3PG1}Hb1zf?zwQUh()^Ts$i7+LQrdMG3OTeM_DqJP1BFyh9JXJ!af3sA*&q)^5n zK+$pLNzsml&i15Gh5(h(Jlm3X)R?o06bjBK1H`AVc!`X61N5&8giyFq!wg(JVKq87 z&j_K4L0i4vOimRTB0G=e^eG@mSD>f%z!(Q2C|p&BV7r?1cyrqpqzIczQaU@oGZ7T- zXbjK8Z%k7CvH@YRePooVZgMCapvu7X-8O8sd5s$dXFn!kA~?V0{zA0jB+wt^>GxlYtB zuRyBy169j>iJ)-XN)7CIn$sq~BnF{SwV28SmHkMe;2Kb8r#UNDzQg9ll+G^bPXvW) zK)AMA6>*>=4SC>77HU*8Ar!6wb-{{p=?V2Q+EtnRA*58Pg9Xp`yG-=4Q8)t_(0dyx z6uceQeMR8OMucevZowQ%1chrrcrJ*S(LxE^CpiLC$!#Zs!gUK+_Pit{`FSV8EC#BC z!ib=7RT+cv>R8qM4y**Z0%W%naP-Uqrh)s2&OLg=@f6v_ID6m}p=?*F8i~xUL9qInCSn`J*91!8CU_Iz2IUK7*^u6r6gRn>fU|7om88 zDj`&!oEn9zN(~rLu}&q}2X(I2S=4PcV;?CLoM>fEbPT#8RkzSX=@t!Wuh7)0a1E#q z3`p-6@+Ami-T+i=Bq@|O$kN`n+45nx#wCLYWqXhm$^xWL>bdv!s~|4KL{PYq zNe!$gR2O}3KY~zbeVEDx7aS*o!Zn~e=)=zssO~mKs510W#@k)`Rz_fNZs6(n ztFQqJMke}1QYaYO9eGDN7a~OhGpO6@F*%er7=}xF?w-1gRG9(;>L!s=r3#!q{LI*M zH-xG}52dr4CKEy7x&^$`w;((50Oo;ME<-s{U{4`}n&cL=Ckl%4Anq1R3|LJM^@Zl$AeU{ zGEl4X&mx7g0J}bhZ?)VTK&q-hFno))w~$Dk;Qic&b8c=(MyLt&Q1+{p7m1*7Jy0LC zmFvU9_Sj9T*p5s}6n`!$lp5G)zt_LE5ZmW@XsZs+qR=c<2yjZw>2T-dolS08Q{e1HWS6)XLRPUj3i}_cGpm3vw zp$YYrMDM`%9mfz#5};P(lS6^+tV|1>3R)2gE-0`U5JBPgD{YVvu9bMrW{*%~ba7(G#=dY=jNEHWYtVJcHPzn-Yd-L+X`2*OJ!ZXC847d--v0!Mr8oZee zTiD0qJ0)tYl!z=`cQ*tZJ!R(@dm11NoPnP$BZmUlqfxrJT1=S8OHW- zp~*0ne~jNEg;EEoCroKAdI*JOHCVCm&nGit-tE6c(QY(pu!pOKJ~>$waWL#)4c?*zoJ_V2eDlNZ4-8@m6$VgxcSxb& z?h_vW;G}5?)c_3msD=m%*MPcUql?NC?&A+pTfymycpVYcq%cY8itxG^-OHk}Y6!Ir zJ(NAo`tDz%XnUd}TzR!vYw$4}Suq7<2S5LoNhuGmQ3id_&Y6Qya1EQT{x9WGp}@Xw zG3F??@5qV*z!hDP%aHJT1F&T%BSs)&143b0K4o%n{Q(gat}DWA$;Xs3`}QFW5Ab@I zheS}guDB6+y{_~wA9P-Z?gucSS|ceGd~w0mNX2@0r0NzhV0RM{6s`eHKt*aR_v`nx zr?Xkjq)_mRFs^H2;#o)$Ecq(65JBO#l{uKsHcmJS=_3@jPD$y3N{@)3a1Ce(49L&% zy2lc^g&c?$UF1;eU_pN7?URmJ!i^RrsZ7|)%j1MlxE=`0uUk3xzNTHf(S1rvl>un0 zrTVKbeMK&z1qzjYgiyGu48eZxSzRTqcai;2wV%oZm7Wt(g^N-LZc(yOGZ)+Smw_J2 zF1+al5frWm!lH7qgndOY!mt5VbT5gZa8;RsL1d8I}> zM3^r?RdgpQRq!yYYMeWt6vDulj{nbpL{PXM2=8x= z^6hn>jT8+7Rc{HQaQhX!&tk`Y$5CvyS_@R^^pR4f3g&dZ0rFq4ZT_eeQ5leX{RK5~&(T59QFP^oZt4JdzGUEGR z%A>4nnSq9p;I2vMpF~i&284?mBFbYMY47J= z^otbA5F~^P4<6l$&3<4)SWFHD`|_|#r=%!qD=QFp51=Xe)O~r9*HgNMHrPzNyoKKt z+YOQeJdkNRDU>BxxUP$IVcCcG{g+5ePc#Cac=Nyq`mIRaGhoP_Ts}H35lEF1P$j}b3Z(_+c8Q6+#~cv~9=E4wC4$0jD}CS= z+i&pl4I3g3PmF-)Khd*A_-^L1#Y1j62ahvP;lTE;UI#-bqjc}q{w+*XY3+r zRJo;6)k6q{Ye4vB!r|P|_FpLeb#YLmBsqzw!bQPLrJi$MKZd2cD}bt)MWj$LojLfv zlxGh@tpq54UQ#Gnc(-ww*mxhI(BTrQwld%&g)#)uf^n5GY=aGf2lG9Ahs4y9dm(m;dr)Lj@CWd=_6Ydksozz`{dyU4o9 zq2PN=FW-n!;zaFq5d@}~r9@QW_A5=WH*TS*-L&@zWlB%oRzJ`>|I`M=MZp50Kz(Tk zHe-dgNcH7JP`GUcUs9nOscw%AAgLhB9VLXqRR!NwEfAY??jB}9kOz*UJsBhn2;UrW zFQ-Wb+n}QX+=6E%DU>RhCajE^Wz~$@3T;=R>cYXIq)_lU^`S>+hkOu97NICNBcDT8 z#gQhEU-6KMY7V-Lm32LixENLdON&2t-k$P z7PgzJ7&O*yaUv*OZ`TGj>O0z-_hLCGDvVI6%9bF7QUwE+_g3#fTZFm-3^*i71chrr zSYqA3>9r2+w#t$sg)#?~_w=eaCte~&>A--h(nL_WZKVYc6eyj|!OpJG1%t>GCPNBk z0ahOw7jdcGLaM@nst7q!D0s(3Sbr$)P}r^+;fI z5ACI`GL$4vozLL91$=AdV|%-8ZODLEfdMyY5<%e_&?2?1evC4ZIKt-Sx|EX2s zq6~ongX*rkPDAZf1;)rMZBi(>=ALEyJ|7$Poxq%AnjR?>d~x1P;Ta}a71tLS@TWd0 zlsXu_e@rt!j9&^Gk1C$NU2hg z0CN)O?E7A{`|vM9EZjZ}-$AUjv;RRBl4S}SE5VqQEPYV$%n>; z6oxLIo*JcXNd$#!K)Ahr)w*kPv4A$ph@fyi5WdLC#Opgf?Fe5%4rL15LThJt*8*ffSnRj-B%%t}EmXm&rjEMk#n{RW z+I>!Cz}hWDP`Cy(1AD~=Zn(v~K<$K%WK*F8yosQ2Rq2B>koOP=ol4`FdqQw5jhmxN$^4W z&>Gqsj;jJlsWJ!k;~$CVWN8N`TeQi4Y7fLUpdkoM)3aYO&@Sc1Hz)hFgX-_r}xnJ+G!dHbsRmE(}a_|h^U&>uV_ybq~)kr zo3vF$WK$514s>PZ-9(VM?x6>U$mFkz!C3k8DtaiRhIBY7lp2_ZFMc8IV2Ut}0M$zl z1-Is|KQ5_*Z6TBZ28`cBMAf7=qnweLfdloe{PkVJ2m?#iVJI6VGnjyRmf*N~2e$6n z0Sq{?mlO(~9Z-4wIq)gMpj*YL+~WQ|A}Cw~!l=QqF}&9Wp>6?HKlc+s;X1oHFrcH? zfi2?*vk*l1TL*}sa8+r8EZ4@vCL8Nl1whsOgG5lcs^Fm}gGR0l+UZO!NfhY9GroPg zig_Qp1c=Hl?9g%kshu6yfVyA_=qqmrLkPmSfPw#b6e*Mz7`INi-oJ+O7CPHm)T*3g zNTJ|uSo7$1{!l;$OaN{n9Y+L(>lW~hEXl_8@z|L49X*ueRxKgaq_)Btx4a@?{2D?t0g;svlp;|b8eW}P6S3KyjV=EiaLmGpOzs-r+vQ#>gYym0w) z|H2XM8jd;;;fE4Pq2L?6*RSVS(?O~(0k=p$Nd$%4mEnf|wrxxgXfMlXqBjFi9d>b1 zmSB_k1o>q3Do{AlCsUc0Sw8NNeTt;s(ew@(2iAJ zu}vD3hO8!pn$nO8z>uO#=x)$X?gO$&se|v|KD&MC^dhX$!2qOSS8LbOMP`Hf-^WY6>UEG!k1w%jIMItC%Rq#N_yS!|lWQ3Xk z27E{kr4B0ed#!^4KOzjeYJ{q-s&a{_!Zn~7Kt;YwTV9SZj$m||n@0)-U-78=$UmKS zfm!GZ5fpA)8G%jY?h82?Xh*09awzy7u&&O+`B(uAJ5@v3ublEpsesauCB_Wonp6; zL#csN8uLDD-*QE6s0(UE+inn1HOZ2cnV~6IPT}j!W57};n9a-IB7(v-AUqE*rTu2!+)GDEsoM%D+U>?#puW;0nAQ%2kRegP}{Jr=weoxPLyG z5i(U%Fee$&BFNKQ(9ki+*~5IhpR1U&w_{)+^=vu5@LiVu0(8BPD)m9vbu~mtTU~=3 zT^xfP1%Gq@bTQg2>w6EYxRI)gndoJEe-sFYxqV#kmfABrG6DASdpfH=RH0zz#%N!o-Kf7U%{Yag9BY8-4q<Y9M{rD@|KOimNfUS-}|1D5k^@IYJ!$%{LSd#tc zlNs@Of(Vj!BmP6CEmA+FFlQrjo2#fNU?bU|4|+K~-HiWUf|%qczuo3fPoNEw5?>^G z0YUC@(9uc#p`f3c5r=0^0s0g83>|$O-SK>*F?hj|qbT+rMSTrhzWMXXjEI~&#rOXf zLfaqJeZ9S1o$&+WPo1zbG-%K@qXt7k{(qm$h@JDNp#IZVlu=huGa$e>0Ke0zNXogK zMYt0Pr~W?}X2jDArod6RmZhV&CmLH&s5f;D4E7G9-D>ALN?WWEP!R=uY%crflNpi5 z{g=Q$?ja~Gh!d5cep&hztx?k117n&kngT{W_^bN{`ve7SSNC;sHFL$$w&C^1v<(P1 zfpC-)F-`s{aMZ^9pEfDlW(@IrbyEa6{|n^&l&GO4L{R^8&dH&KHtOb1zTa<>+Kc)E zWj_lPnF2K_$HqD|?eBm2;`I+KDjr9cqwHq`qEmc7jehoz9xMj`cVL`1yWH|LHyzz= zBnitG|9mnd!d6c~RSn$e8;o_Sf5Ko8UI5t{WoM>~gkej}5`VrQ{mhKmqBRAALKtnc z4XG~|!FI;aLC!`QXQ$~9`SyPd^*i5m4G=U7aty-BIepa+Z*V}MZq)v(DP&yLn*#K2 z0!3Q`tEA&j8}!xdKrq;3IK@}vb{HAFU=XlxX*eAd+7yTKXUZ&nf$P=Ws2{g6voVb|CM6s z=tmnR>@_QI8fthS6l<_0)<2)j2(vv?peD7@Z!e<_;EU94`iZ_Z19cR!Ki`giW=3S~ zCj#*Koz2qz?zX$W!l(j9r;6MQTaEkk$&45}K>WKWXUc+;>}Td19N>)8XPQb4J+OfX zOS{zmVA0Ra2)3vx$di2ScM>$|pVfT>!N`N&Y_L6O^2klc`ad2U-Jt4>*co(&n&zsj zb&a&dw>pNn`iTEKsf54$ZwJSISpxnt+Cw7d?(6H0k{C1;ig|lF`FZ&Ixc<`&|M}Jb z_BrgUcl_;F<^&nGkDRva+-e_M@88V2+W@bz;I2>O4^Oa%@BumY1Wu(8Bs&-4el*k*D+ IuyM@*05T~U2><{9 literal 0 HcmV?d00001 diff --git a/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsActivator.java b/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsActivator.java index e061cba81..7c33c7d41 100644 --- a/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsActivator.java +++ b/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsActivator.java @@ -70,6 +70,11 @@ public class GoogleContactsActivator implements BundleActivator private static Map cssList = new HashMap(); + /** + * The registered PhoneNumberI18nService. + */ + private static PhoneNumberI18nService phoneNumberI18nService; + /** * Returns a reference to a ConfigurationService implementation currently * registered in the bundle context or null if no such implementation was @@ -480,4 +485,20 @@ public static void disableContactSource(GoogleContactsConnection cnx) cssList.remove(found); } } + + /** + * Returns the PhoneNumberI18nService. + * @return returns the PhoneNumberI18nService. + */ + public static PhoneNumberI18nService getPhoneNumberI18nService() + { + if(phoneNumberI18nService == null) + { + phoneNumberI18nService = ServiceUtils.getService( + bundleContext, + PhoneNumberI18nService.class); + } + + return phoneNumberI18nService; + } } diff --git a/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsQuery.java b/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsQuery.java index b653b950a..f37121e36 100644 --- a/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsQuery.java +++ b/src/net/java/sip/communicator/impl/googlecontacts/GoogleContactsQuery.java @@ -208,7 +208,8 @@ private List getContactDetails(GoogleContactsEntry entry) supportedOpSets.add(OperationSetBasicTelephony.class); // can be added as contacts supportedOpSets.add(OperationSetPersistentPresence.class); - homePhone = PhoneNumberI18nService.normalize(homePhone); + homePhone = GoogleContactsActivator.getPhoneNumberI18nService() + .normalize(homePhone); detail = new ContactDetail(homePhone, ContactDetail.Category.Phone, new ContactDetail.SubCategory[]{ @@ -225,7 +226,8 @@ private List getContactDetails(GoogleContactsEntry entry) supportedOpSets.add(OperationSetBasicTelephony.class); // can be added as contacts supportedOpSets.add(OperationSetPersistentPresence.class); - workPhone = PhoneNumberI18nService.normalize(workPhone); + workPhone = GoogleContactsActivator.getPhoneNumberI18nService() + .normalize(workPhone); detail = new ContactDetail(workPhone, ContactDetail.Category.Phone, new ContactDetail.SubCategory[]{ @@ -242,7 +244,8 @@ private List getContactDetails(GoogleContactsEntry entry) supportedOpSets.add(OperationSetBasicTelephony.class); // can be added as contacts supportedOpSets.add(OperationSetPersistentPresence.class); - mobilePhone = PhoneNumberI18nService.normalize(mobilePhone); + mobilePhone = GoogleContactsActivator.getPhoneNumberI18nService() + .normalize(mobilePhone); detail = new ContactDetail(mobilePhone, ContactDetail.Category.Phone, new ContactDetail.SubCategory[]{ diff --git a/src/net/java/sip/communicator/impl/gui/GuiActivator.java b/src/net/java/sip/communicator/impl/gui/GuiActivator.java index 2fcdea84a..cf7a9e068 100644 --- a/src/net/java/sip/communicator/impl/gui/GuiActivator.java +++ b/src/net/java/sip/communicator/impl/gui/GuiActivator.java @@ -121,6 +121,11 @@ public class GuiActivator implements BundleActivator private static final Map replacementSourcesMap = new Hashtable(); + /** + * The registered PhoneNumberI18nService. + */ + private static PhoneNumberI18nService phoneNumberI18nService; + /** * Indicates if this bundle has been started. */ @@ -910,4 +915,20 @@ public static MessageHistoryService getMessageHistoryService() MessageHistoryService.class); return messageHistoryService; } + + /** + * Returns the PhoneNumberI18nService. + * @return returns the PhoneNumberI18nService. + */ + public static PhoneNumberI18nService getPhoneNumberI18nService() + { + if(phoneNumberI18nService == null) + { + phoneNumberI18nService = ServiceUtils.getService( + bundleContext, + PhoneNumberI18nService.class); + } + + return phoneNumberI18nService; + } } diff --git a/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java b/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java index 8622bb7cb..f27a7aec9 100644 --- a/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java +++ b/src/net/java/sip/communicator/impl/gui/main/call/CallManager.java @@ -912,7 +912,8 @@ public static void createCall( String callString, if (ConfigurationUtils.isNormalizePhoneNumber() && !NetworkUtils.isValidIPAddress(callString)) { - callString = PhoneNumberI18nService.normalize(callString); + callString = GuiActivator.getPhoneNumberI18nService() + .normalize(callString); } List telephonyProviders @@ -2519,8 +2520,8 @@ else if(formats.isEmpty()) if (stringContact != null) { - stringContact - = PhoneNumberI18nService.normalize(stringContact); + stringContact = GuiActivator.getPhoneNumberI18nService() + .normalize(stringContact); } } @@ -3555,7 +3556,8 @@ private static boolean showDesktopSharingWarning() private static void normalizePhoneNumbers(String callees[]) { for (int i = 0 ; i < callees.length ; i++) - callees[i] = PhoneNumberI18nService.normalize(callees[i]); + callees[i] = GuiActivator.getPhoneNumberI18nService() + .normalize(callees[i]); } /** diff --git a/src/net/java/sip/communicator/impl/gui/main/contactlist/SearchFilter.java b/src/net/java/sip/communicator/impl/gui/main/contactlist/SearchFilter.java index 2413a78ff..1f993b13a 100644 --- a/src/net/java/sip/communicator/impl/gui/main/contactlist/SearchFilter.java +++ b/src/net/java/sip/communicator/impl/gui/main/contactlist/SearchFilter.java @@ -58,6 +58,12 @@ public class SearchFilter private static Map contactSourceOrder = new HashMap(); + /** + * If set, we are searching a phone number and will use the phone number + * service to try matching the numbers. + */ + private boolean isSearchingPhoneNumber = false; + /** * Creates an instance of SearchFilter. */ @@ -260,6 +266,9 @@ public void setFilterString(String filter) Pattern.MULTILINE | Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE); + + this.isSearchingPhoneNumber + = GuiActivator.getPhoneNumberI18nService().isPhoneNumber(filter); } /** @@ -270,9 +279,10 @@ public void setFilterString(String filter) */ private boolean isMatching(String text) { - if (filterPattern != null) - return filterPattern.matcher(text).find(); - - return true; + return (filterPattern != null + && filterPattern.matcher(text).find()) + || (isSearchingPhoneNumber + && GuiActivator.getPhoneNumberI18nService() + .phoneNumbersMatch(this.filterString, text)); } } diff --git a/src/net/java/sip/communicator/impl/ldap/LdapActivator.java b/src/net/java/sip/communicator/impl/ldap/LdapActivator.java index 9e8a36f35..2c3be39ec 100644 --- a/src/net/java/sip/communicator/impl/ldap/LdapActivator.java +++ b/src/net/java/sip/communicator/impl/ldap/LdapActivator.java @@ -10,6 +10,7 @@ import net.java.sip.communicator.service.contactsource.*; import net.java.sip.communicator.service.ldap.*; +import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.util.*; import org.jitsi.service.resources.*; @@ -60,6 +61,11 @@ public static LdapService getLdapService() private static Map cssList = new HashMap(); + /** + * The registered PhoneNumberI18nService. + */ + private static PhoneNumberI18nService phoneNumberI18nService; + /** * Starts the LDAP service * @@ -231,4 +237,20 @@ public static void unregisterContactSource(LdapDirectory ldapDir) cssList.remove(found); } } + + /** + * Returns the PhoneNumberI18nService. + * @return returns the PhoneNumberI18nService. + */ + public static PhoneNumberI18nService getPhoneNumberI18nService() + { + if(phoneNumberI18nService == null) + { + phoneNumberI18nService = ServiceUtils.getService( + bundleContext, + PhoneNumberI18nService.class); + } + + return phoneNumberI18nService; + } } diff --git a/src/net/java/sip/communicator/impl/ldap/LdapContactQuery.java b/src/net/java/sip/communicator/impl/ldap/LdapContactQuery.java index 99f98e455..e9062040e 100644 --- a/src/net/java/sip/communicator/impl/ldap/LdapContactQuery.java +++ b/src/net/java/sip/communicator/impl/ldap/LdapContactQuery.java @@ -149,7 +149,9 @@ private List getContactDetails(LdapPersonFound person) Set mobilePhones = person.getMobilePhone(); Set homePhones = person.getHomePhone(); Set workPhones = person.getWorkPhone(); - ContactDetail detail = null; + ContactDetail detail; + PhoneNumberI18nService phoneNumberI18nService + = LdapActivator.getPhoneNumberI18nService(); for(String mail : mailAddresses) { @@ -161,7 +163,7 @@ private List getContactDetails(LdapPersonFound person) for(String homePhone : homePhones) { - homePhone = PhoneNumberI18nService.normalize(homePhone); + homePhone = phoneNumberI18nService.normalize(homePhone); detail = new ContactDetail(homePhone, ContactDetail.Category.Phone, new ContactDetail.SubCategory[]{ @@ -175,7 +177,7 @@ private List getContactDetails(LdapPersonFound person) for(String workPhone : workPhones) { - workPhone = PhoneNumberI18nService.normalize(workPhone); + workPhone = phoneNumberI18nService.normalize(workPhone); detail = new ContactDetail(workPhone, ContactDetail.Category.Phone, new ContactDetail.SubCategory[]{ @@ -189,7 +191,7 @@ private List getContactDetails(LdapPersonFound person) for(String mobilePhone : mobilePhones) { - mobilePhone = PhoneNumberI18nService.normalize(mobilePhone); + mobilePhone = phoneNumberI18nService.normalize(mobilePhone); detail = new ContactDetail(mobilePhone, ContactDetail.Category.Phone, new ContactDetail.SubCategory[]{ diff --git a/src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberI18nServiceImpl.java b/src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberI18nServiceImpl.java new file mode 100644 index 000000000..97f74dfb4 --- /dev/null +++ b/src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberI18nServiceImpl.java @@ -0,0 +1,241 @@ +/* + * Jitsi, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.sip.communicator.impl.phonenumbers; + +import com.google.i18n.phonenumbers.*; +import net.java.sip.communicator.service.protocol.*; +import org.jitsi.service.configuration.*; + +import java.util.regex.*; + +/** + * Implements PhoneNumberI18nService which aids the parsing, formatting + * and validating of international phone numbers. + * + * @author Lyubomir Marinov + * @author Vincent Lucas + * @author Damian Minkov + */ +public class PhoneNumberI18nServiceImpl + implements PhoneNumberI18nService +{ + /** + * The configuration service. + */ + private static ConfigurationService configService + = ProtocolProviderActivator.getConfigurationService(); + + /** + * Characters which have to be removed from a phone number in order to + * normalized it. + */ + private static final Pattern removedCharactersToNormalizedPhoneNumber + = Pattern.compile("[-\\(\\)\\.\\\\\\/ ]"); + + /** + * Characters which have to be removed from a number (which is not a phone + * number, such as a sip id, a jabber id, etc.) in order to normalized it. + */ + private static final Pattern removedCharactersToNormalizedIdentifier + = Pattern.compile("[\\(\\) ]"); + + /** + * The list of characters corresponding to the number 2 in a phone dial pad. + */ + private static final Pattern charactersFordialPadNumber2 + = Pattern.compile("[abc]", Pattern.CASE_INSENSITIVE); + /** + * The list of characters corresponding to the number 3 in a phone dial pad. + */ + private static final Pattern charactersFordialPadNumber3 + = Pattern.compile("[def]", Pattern.CASE_INSENSITIVE); + + /** + * The list of characters corresponding to the number 4 in a phone dial pad. + */ + private static final Pattern charactersFordialPadNumber4 + = Pattern.compile("[ghi]", Pattern.CASE_INSENSITIVE); + + /** + * The list of characters corresponding to the number 5 in a phone dial pad. + */ + private static final Pattern charactersFordialPadNumber5 + = Pattern.compile("[jkl]", Pattern.CASE_INSENSITIVE); + + /** + * The list of characters corresponding to the number 6 in a phone dial pad. + */ + private static final Pattern charactersFordialPadNumber6 + = Pattern.compile("[mno]", Pattern.CASE_INSENSITIVE); + + /** + * The list of characters corresponding to the number 7 in a phone dial pad. + */ + private static final Pattern charactersFordialPadNumber7 + = Pattern.compile("[pqrs]", Pattern.CASE_INSENSITIVE); + + /** + * The list of characters corresponding to the number 8 in a phone dial pad. + */ + private static final Pattern charactersFordialPadNumber8 + = Pattern.compile("[tuv]", Pattern.CASE_INSENSITIVE); + + /** + * The list of characters corresponding to the number 9 in a phone dial pad. + */ + private static final Pattern charactersFordialPadNumber9 + = Pattern.compile("[wxyz]", Pattern.CASE_INSENSITIVE); + + /** + * Normalizes a String which may be a phone number or a identifier + * by removing useless characters and, if necessary, replacing the alpahe + * characters in corresponding dial pad numbers. + * + * @param possibleNumber a String which may represents a phone + * number or an identifier to normalize. + * + * @return a String which is a normalized form of the specified + * possibleNumber. + */ + public String normalize(String possibleNumber) + { + String normalizedNumber; + if(isPhoneNumber(possibleNumber)) + { + normalizedNumber = normalizePhoneNumber(possibleNumber); + } + else + { + normalizedNumber = normalizeIdentifier(possibleNumber); + } + + return normalizedNumber; + } + + + /** + * Normalizes a String phone number by converting alpha characters + * to their respective digits on a keypad and then stripping non-digit + * characters. + * + * @param phoneNumber a String which represents a phone number to + * normalize + * + * @return a String which is a normalized form of the specified + * phoneNumber + * + * @see net.java.sip.communicator.impl.phonenumbers.PhoneNumberI18nServiceImpl#normalize(String) + */ + private static String normalizePhoneNumber(String phoneNumber) + { + phoneNumber = convertAlphaCharactersInNumber(phoneNumber); + return removedCharactersToNormalizedPhoneNumber + .matcher(phoneNumber).replaceAll(""); + } + + /** + * Removes useless characters from a identifier (which is not a phone + * number) in order to normalized it. + * + * @param id The identifier string with some useless characters like: " ", + * "(", ")". + * + * @return The normalized identifier. + */ + private static String normalizeIdentifier(String id) + { + return removedCharactersToNormalizedIdentifier + .matcher(id).replaceAll(""); + } + + /** + * Determines whether two String phone numbers match. + * + * @param aPhoneNumber a String which represents a phone number to + * match to bPhoneNumber + * @param bPhoneNumber a String which represents a phone number to + * match to aPhoneNumber + * @return true if the specified Strings match as phone + * numbers; otherwise, false + */ + public boolean phoneNumbersMatch(String aPhoneNumber, String bPhoneNumber) + { + PhoneNumberUtil.MatchType match = PhoneNumberUtil.getInstance() + .isNumberMatch(aPhoneNumber, bPhoneNumber); + + return match != PhoneNumberUtil.MatchType.NOT_A_NUMBER + && match != PhoneNumberUtil.MatchType.NO_MATCH; + } + + /** + * Indicates if the given string is possibly a phone number. + * + * @param possibleNumber the string to be verified + * @return true if the possibleNumber is a phone number, + * false - otherwise + */ + public boolean isPhoneNumber(String possibleNumber) + { + // If the string does not contains an "@", this may be a phone number. + if(possibleNumber.indexOf('@') == -1) + { + // If the string does not contain any alphabetical characters, then + // this is a phone number. + if(!possibleNumber.matches(".*[a-zA-Z].*")) + { + return true; + } + else + { + // Removes the " ", "(" and ")" in order to search the "+" + // character at the beginning at the string. + String tmpPossibleNumber + = possibleNumber.replaceAll(" \\(\\)", ""); + // If the property is enabled and the string starts with a "+", + // then we consider that this is a phone number. + if(configService.getBoolean( + "impl.gui.ACCEPT_PHONE_NUMBER_WITH_ALPHA_CHARS", + true) + && tmpPossibleNumber.startsWith("+")) + { + return true; + } + } + } + // Else the string is not a phone number. + return false; + } + + /** + * Changes all alphabetical characters into numbers, following phone dial + * pad disposition. + * + * @param phoneNumber The phone number string with some alphabetical + * characters. + * + * @return The phone number with all alphabetical caracters replaced with + * the corresponding dial pad number. + */ + private static String convertAlphaCharactersInNumber(String phoneNumber) + { + phoneNumber + = charactersFordialPadNumber2.matcher(phoneNumber).replaceAll("2"); + phoneNumber + = charactersFordialPadNumber3.matcher(phoneNumber).replaceAll("3"); + phoneNumber + = charactersFordialPadNumber4.matcher(phoneNumber).replaceAll("4"); + phoneNumber + = charactersFordialPadNumber5.matcher(phoneNumber).replaceAll("5"); + phoneNumber + = charactersFordialPadNumber6.matcher(phoneNumber).replaceAll("6"); + phoneNumber + = charactersFordialPadNumber7.matcher(phoneNumber).replaceAll("7"); + phoneNumber + = charactersFordialPadNumber8.matcher(phoneNumber).replaceAll("8"); + return charactersFordialPadNumber9.matcher(phoneNumber).replaceAll("9"); + } +} diff --git a/src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberServiceActivator.java b/src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberServiceActivator.java new file mode 100644 index 000000000..3f365977e --- /dev/null +++ b/src/net/java/sip/communicator/impl/phonenumbers/PhoneNumberServiceActivator.java @@ -0,0 +1,44 @@ +/* + * Jitsi, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.sip.communicator.impl.phonenumbers; + +import net.java.sip.communicator.service.protocol.*; +import net.java.sip.communicator.util.*; +import org.osgi.framework.*; + +/** + * Activates PhoneNumberI18nService implementation. + * + * @author Damian Minkov + */ +public class PhoneNumberServiceActivator + implements BundleActivator +{ + /** + * Our logging. + */ + private static Logger logger + = Logger.getLogger(PhoneNumberServiceActivator.class); + + @Override + public void start(BundleContext bundleContext) + throws Exception + { + bundleContext.registerService( + PhoneNumberI18nService.class.getName(), + new PhoneNumberI18nServiceImpl(), + null); + + if (logger.isInfoEnabled()) + logger.info("Packet Logging Service ...[REGISTERED]"); + } + + @Override + public void stop(BundleContext bundleContext) + throws Exception + {} +} diff --git a/src/net/java/sip/communicator/impl/phonenumbers/phonenumbers.manifest.mf b/src/net/java/sip/communicator/impl/phonenumbers/phonenumbers.manifest.mf new file mode 100644 index 000000000..8d33d43a2 --- /dev/null +++ b/src/net/java/sip/communicator/impl/phonenumbers/phonenumbers.manifest.mf @@ -0,0 +1,12 @@ +Bundle-Activator: net.java.sip.communicator.impl.phonenumbers.PhoneNumberServiceActivator +Bundle-Name: PhoneNumbers service +Bundle-Description: A bundle that provides arsing, formatting and validating of international phone numbers. +Bundle-Vendor: jitsi.org +Bundle-Version: 0.0.1 +Bundle-SymbolicName: net.java.sip.communicator.phonenumbers +Export-Package: com.google.i18n.phonenumbers +Import-Package: org.osgi.framework, + org.jitsi.service.configuration, + net.java.sip.communicator.service.protocol, + net.java.sip.communicator.util + diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/JabberActivator.java b/src/net/java/sip/communicator/impl/protocol/jabber/JabberActivator.java index 925f20e09..b932d9c1d 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/JabberActivator.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/JabberActivator.java @@ -112,6 +112,11 @@ public class JabberActivator */ private static VersionService versionService = null; + /** + * The registered PhoneNumberI18nService. + */ + private static PhoneNumberI18nService phoneNumberI18nService; + /** * Called when this bundle is started so the Framework can perform the * bundle-specific activities necessary to start this bundle. @@ -421,4 +426,20 @@ public static VersionService getVersionService() } return versionService; } + + /** + * Returns the PhoneNumberI18nService. + * @return returns the PhoneNumberI18nService. + */ + public static PhoneNumberI18nService getPhoneNumberI18nService() + { + if(phoneNumberI18nService == null) + { + phoneNumberI18nService = ServiceUtils.getService( + bundleContext, + PhoneNumberI18nService.class); + } + + return phoneNumberI18nService; + } } diff --git a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetCusaxUtilsJabberImpl.java b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetCusaxUtilsJabberImpl.java index 28159be8d..9931c99b1 100644 --- a/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetCusaxUtilsJabberImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/jabber/OperationSetCusaxUtilsJabberImpl.java @@ -61,7 +61,8 @@ public boolean doesDetailBelong(Contact contact, String detailAddress) while (phonesIter.hasNext()) { String phone = phonesIter.next(); - String normalizedPhone = PhoneNumberI18nService.normalize(phone); + String normalizedPhone = JabberActivator.getPhoneNumberI18nService() + .normalize(phone); if (phone.equals(detailAddress) || normalizedPhone.equals(detailAddress) diff --git a/src/net/java/sip/communicator/plugin/addrbook/AddrBookActivator.java b/src/net/java/sip/communicator/plugin/addrbook/AddrBookActivator.java index 6867be9b2..28a9fe5e3 100644 --- a/src/net/java/sip/communicator/plugin/addrbook/AddrBookActivator.java +++ b/src/net/java/sip/communicator/plugin/addrbook/AddrBookActivator.java @@ -106,6 +106,11 @@ public class AddrBookActivator */ private static List providers = new ArrayList(); + + /** + * The registered PhoneNumberI18nService. + */ + private static PhoneNumberI18nService phoneNumberI18nService; /** * The registration change listener. @@ -524,4 +529,20 @@ public static List getProtocolProviders() return result; } + + /** + * Returns the PhoneNumberI18nService. + * @return returns the PhoneNumberI18nService. + */ + public static PhoneNumberI18nService getPhoneNumberI18nService() + { + if(phoneNumberI18nService == null) + { + phoneNumberI18nService = ServiceUtils.getService( + bundleContext, + PhoneNumberI18nService.class); + } + + return phoneNumberI18nService; + } } diff --git a/src/net/java/sip/communicator/plugin/addrbook/macosx/MacOSXAddrBookContactQuery.java b/src/net/java/sip/communicator/plugin/addrbook/macosx/MacOSXAddrBookContactQuery.java index 2687f4602..e73c9e878 100644 --- a/src/net/java/sip/communicator/plugin/addrbook/macosx/MacOSXAddrBookContactQuery.java +++ b/src/net/java/sip/communicator/plugin/addrbook/macosx/MacOSXAddrBookContactQuery.java @@ -589,7 +589,8 @@ private List getContactDetails(Object[] values, String id) { if (kABPhoneProperty == property) stringValue - = PhoneNumberI18nService.normalize(stringValue); + = AddrBookActivator.getPhoneNumberI18nService() + .normalize(stringValue); contactDetails.add( setCapabilities( @@ -645,8 +646,9 @@ private void parseMultiDetails( { if (kABPhoneProperty == property) { - stringSubValue = PhoneNumberI18nService - .normalize(stringSubValue); + stringSubValue + = AddrBookActivator.getPhoneNumberI18nService() + .normalize(stringSubValue); } Object l = multiValue[multiValueIndex + 1]; diff --git a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java index b6c42ce6b..a7cdf7344 100644 --- a/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java +++ b/src/net/java/sip/communicator/plugin/addrbook/msoutlook/MsOutlookAddrBookContactQuery.java @@ -999,7 +999,8 @@ public static List getContactDetails(Object[] values) { if(isPhoneNumber(property)) stringValue - = PhoneNumberI18nService.normalize(stringValue); + = AddrBookActivator.getPhoneNumberI18nService() + .normalize(stringValue); MsOutlookAddrBookContactDetail contactDetail = new MsOutlookAddrBookContactDetail( diff --git a/src/net/java/sip/communicator/plugin/phonenumbercontactsource/PNContactSourceActivator.java b/src/net/java/sip/communicator/plugin/phonenumbercontactsource/PNContactSourceActivator.java index 4a3fc6f92..e73ed0239 100644 --- a/src/net/java/sip/communicator/plugin/phonenumbercontactsource/PNContactSourceActivator.java +++ b/src/net/java/sip/communicator/plugin/phonenumbercontactsource/PNContactSourceActivator.java @@ -51,6 +51,11 @@ public class PNContactSourceActivator */ private static ResourceManagementService resources = null; + /** + * The registered PhoneNumberI18nService. + */ + private static PhoneNumberI18nService phoneNumberI18nService; + /** * Starts this bundle. * @@ -214,4 +219,20 @@ private static void handleProviderRemoved( if (phoneProviders.contains(protocolProvider)) phoneProviders.remove(protocolProvider); } + + /** + * Returns the PhoneNumberI18nService. + * @return returns the PhoneNumberI18nService. + */ + public static PhoneNumberI18nService getPhoneNumberI18nService() + { + if(phoneNumberI18nService == null) + { + phoneNumberI18nService = ServiceUtils.getService( + bundleContext, + PhoneNumberI18nService.class); + } + + return phoneNumberI18nService; + } } diff --git a/src/net/java/sip/communicator/plugin/phonenumbercontactsource/PhoneNumberContactQuery.java b/src/net/java/sip/communicator/plugin/phonenumbercontactsource/PhoneNumberContactQuery.java index f58fbb759..42a898737 100644 --- a/src/net/java/sip/communicator/plugin/phonenumbercontactsource/PhoneNumberContactQuery.java +++ b/src/net/java/sip/communicator/plugin/phonenumbercontactsource/PhoneNumberContactQuery.java @@ -44,6 +44,11 @@ public class PhoneNumberContactQuery = Collections.synchronizedList( new LinkedList()); + /** + * Is the query searching for phone number. + */ + private final boolean isQueryPhoneNumber; + /** * Creates an instance of PhoneNumberContactQuery by specifying * the parent contact source, the query string to match and the maximum @@ -63,6 +68,10 @@ public PhoneNumberContactQuery( PhoneNumberContactSource contactSource, this.queryString = queryString; this.contactCount = contactCount; + + this.isQueryPhoneNumber + = PNContactSourceActivator.getPhoneNumberI18nService() + .isPhoneNumber(queryString); } /** @@ -204,7 +213,13 @@ else if(d instanceof VideoDetail) if(StringUtils.isNullOrEmpty(queryString) || query.matcher(numberString).find() || query.matcher(contactName).find() - || query.matcher(contactAddress).find()) + || query.matcher(contactAddress).find() + || (isQueryPhoneNumber + && PNContactSourceActivator + .getPhoneNumberI18nService() + .phoneNumbersMatch( + queryString, numberString)) + ) { ArrayList contactDetails = new ArrayList(); diff --git a/src/net/java/sip/communicator/plugin/thunderbird/ThunderbirdActivator.java b/src/net/java/sip/communicator/plugin/thunderbird/ThunderbirdActivator.java index d6a9c58a8..7dc43d76f 100644 --- a/src/net/java/sip/communicator/plugin/thunderbird/ThunderbirdActivator.java +++ b/src/net/java/sip/communicator/plugin/thunderbird/ThunderbirdActivator.java @@ -10,6 +10,7 @@ import net.java.sip.communicator.service.contactsource.*; import net.java.sip.communicator.service.gui.*; +import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.util.*; import org.jitsi.service.configuration.*; @@ -31,6 +32,11 @@ public class ThunderbirdActivator private static Map registrations; + /** + * The registered PhoneNumberI18nService. + */ + private static PhoneNumberI18nService phoneNumberI18nService; + /** * Gets the configuration service. * @return the configuration service. @@ -148,4 +154,20 @@ public void stop(BundleContext bundleContext) throws Exception registrations = null; } + + /** + * Returns the PhoneNumberI18nService. + * @return returns the PhoneNumberI18nService. + */ + public static PhoneNumberI18nService getPhoneNumberI18nService() + { + if(phoneNumberI18nService == null) + { + phoneNumberI18nService = ServiceUtils.getService( + bundleContext, + PhoneNumberI18nService.class); + } + + return phoneNumberI18nService; + } } diff --git a/src/net/java/sip/communicator/plugin/thunderbird/ThunderbirdContactQuery.java b/src/net/java/sip/communicator/plugin/thunderbird/ThunderbirdContactQuery.java index 1c10bba0d..a3f17d4a8 100644 --- a/src/net/java/sip/communicator/plugin/thunderbird/ThunderbirdContactQuery.java +++ b/src/net/java/sip/communicator/plugin/thunderbird/ThunderbirdContactQuery.java @@ -234,7 +234,8 @@ private void addPhoneDetail(List details, Row r, return; } - phone = PhoneNumberI18nService.normalize(phone); + phone + = ThunderbirdActivator.getPhoneNumberI18nService().normalize(phone); ContactDetail detail = new ContactDetail(phone, ContactDetail.Category.Phone, new ContactDetail.SubCategory[] diff --git a/src/net/java/sip/communicator/service/contactsource/AsyncContactQuery.java b/src/net/java/sip/communicator/service/contactsource/AsyncContactQuery.java index 21fa13c1b..c939ff9df 100644 --- a/src/net/java/sip/communicator/service/contactsource/AsyncContactQuery.java +++ b/src/net/java/sip/communicator/service/contactsource/AsyncContactQuery.java @@ -153,7 +153,7 @@ protected boolean addQueryResult(SourceContact sourceContact) */ protected String getPhoneNumberQuery() { - if ((phoneNumberQuery != null) && !queryIsConvertedToPhoneNumber) + if ((phoneNumberQuery == null) && !queryIsConvertedToPhoneNumber) { try { @@ -170,6 +170,16 @@ protected String getPhoneNumberQuery() phoneNumberQuery = pattern.substring(1, patternLength - 1); } + else if ((patternLength > 4) + && (pattern.charAt(0) == '\\') + && (pattern.charAt(1) == 'Q') + && (pattern.charAt(patternLength - 2) == '\\') + && (pattern.charAt(patternLength - 1) == 'E')) + { + phoneNumberQuery + = pattern.substring(2, patternLength - 2); + } + } } finally @@ -304,8 +314,8 @@ protected boolean phoneNumberMatches(String phoneNumber) boolean phoneNumberMatches = false; if (query - .matcher(PhoneNumberI18nService.normalize(phoneNumber)) - .find()) + .matcher(ContactSourceActivator.getPhoneNumberI18nService() + .normalize(phoneNumber)).find()) { phoneNumberMatches = true; } @@ -330,7 +340,8 @@ protected boolean phoneNumberMatches(String phoneNumber) try { phoneNumberMatches - = PhoneNumberI18nService.phoneNumbersMatch( + = ContactSourceActivator.getPhoneNumberI18nService() + .phoneNumbersMatch( phoneNumberQuery, phoneNumber); } diff --git a/src/net/java/sip/communicator/service/contactsource/ContactSourceActivator.java b/src/net/java/sip/communicator/service/contactsource/ContactSourceActivator.java new file mode 100644 index 000000000..77f1bad3d --- /dev/null +++ b/src/net/java/sip/communicator/service/contactsource/ContactSourceActivator.java @@ -0,0 +1,57 @@ +/* + * Jitsi, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.sip.communicator.service.contactsource; + +import net.java.sip.communicator.service.protocol.*; +import net.java.sip.communicator.util.*; +import org.osgi.framework.*; + +/** + * @author Damian Minkov + */ +public class ContactSourceActivator + implements BundleActivator +{ + /** + * OSGi bundle context. + */ + public static BundleContext bundleContext; + + /** + * The registered PhoneNumberI18nService. + */ + private static PhoneNumberI18nService phoneNumberI18nService; + + + @Override + public void start(BundleContext bundleContext) + throws Exception + { + this.bundleContext = bundleContext; + } + + @Override + public void stop(BundleContext bundleContext) + throws Exception + {} + + /** + * Returns the PhoneNumberI18nService. + * @return returns the PhoneNumberI18nService. + */ + public static PhoneNumberI18nService getPhoneNumberI18nService() + { + if(phoneNumberI18nService == null) + { + phoneNumberI18nService = ServiceUtils.getService( + bundleContext, + PhoneNumberI18nService.class); + } + + return phoneNumberI18nService; + } +} diff --git a/src/net/java/sip/communicator/service/contactsource/contactsource.manifest.mf b/src/net/java/sip/communicator/service/contactsource/contactsource.manifest.mf index e70e32ca1..f14c42dde 100644 --- a/src/net/java/sip/communicator/service/contactsource/contactsource.manifest.mf +++ b/src/net/java/sip/communicator/service/contactsource/contactsource.manifest.mf @@ -1,4 +1,5 @@ -Bundle-Name: Contact Source Service Interfaces +Bundle-Activator: net.java.sip.communicator.service.contactsource.ContactSourceActivator +Bundle-Name: Contact Source Service Interfaces Bundle-Description: ContactSource Service. Bundle-Vendor: jitsi.org Bundle-Version: 0.0.1 diff --git a/src/net/java/sip/communicator/service/protocol/PhoneNumberI18nService.java b/src/net/java/sip/communicator/service/protocol/PhoneNumberI18nService.java index 4ca060d85..2ee195b9b 100644 --- a/src/net/java/sip/communicator/service/protocol/PhoneNumberI18nService.java +++ b/src/net/java/sip/communicator/service/protocol/PhoneNumberI18nService.java @@ -6,86 +6,16 @@ */ package net.java.sip.communicator.service.protocol; -import java.util.regex.*; - -import org.jitsi.service.configuration.*; - /** * Implements PhoneNumberI18nService which aids the parsing, formatting * and validating of international phone numbers. * * @author Lyubomir Marinov * @author Vincent Lucas + * @author Damian Minkov */ -public abstract class PhoneNumberI18nService +public interface PhoneNumberI18nService { - /** - * The configuration service. - */ - private static ConfigurationService configService - = ProtocolProviderActivator.getConfigurationService(); - - /** - * Characters which have to be removed from a phone number in order to - * normalized it. - */ - private static final Pattern removedCharactersToNormalizedPhoneNumber - = Pattern.compile("[-\\(\\)\\.\\\\\\/ ]"); - - /** - * Characters which have to be removed from a number (which is not a phone - * number, such as a sip id, a jabber id, etc.) in order to normalized it. - */ - private static final Pattern removedCharactersToNormalizedIdentifier - = Pattern.compile("[\\(\\) ]"); - - /** - * The list of characters corresponding to the number 2 in a phone dial pad. - */ - private static final Pattern charactersFordialPadNumber2 - = Pattern.compile("[abc]", Pattern.CASE_INSENSITIVE); - /** - * The list of characters corresponding to the number 3 in a phone dial pad. - */ - private static final Pattern charactersFordialPadNumber3 - = Pattern.compile("[def]", Pattern.CASE_INSENSITIVE); - - /** - * The list of characters corresponding to the number 4 in a phone dial pad. - */ - private static final Pattern charactersFordialPadNumber4 - = Pattern.compile("[ghi]", Pattern.CASE_INSENSITIVE); - - /** - * The list of characters corresponding to the number 5 in a phone dial pad. - */ - private static final Pattern charactersFordialPadNumber5 - = Pattern.compile("[jkl]", Pattern.CASE_INSENSITIVE); - - /** - * The list of characters corresponding to the number 6 in a phone dial pad. - */ - private static final Pattern charactersFordialPadNumber6 - = Pattern.compile("[mno]", Pattern.CASE_INSENSITIVE); - - /** - * The list of characters corresponding to the number 7 in a phone dial pad. - */ - private static final Pattern charactersFordialPadNumber7 - = Pattern.compile("[pqrs]", Pattern.CASE_INSENSITIVE); - - /** - * The list of characters corresponding to the number 8 in a phone dial pad. - */ - private static final Pattern charactersFordialPadNumber8 - = Pattern.compile("[tuv]", Pattern.CASE_INSENSITIVE); - - /** - * The list of characters corresponding to the number 9 in a phone dial pad. - */ - private static final Pattern charactersFordialPadNumber9 - = Pattern.compile("[wxyz]", Pattern.CASE_INSENSITIVE); - /** * Normalizes a String which may be a phone number or a identifier * by removing useless characters and, if necessary, replacing the alpahe @@ -97,56 +27,7 @@ public abstract class PhoneNumberI18nService * @return a String which is a normalized form of the specified * possibleNumber. */ - public static String normalize(String possibleNumber) - { - String normalizedNumber; - if(isPhoneNumber(possibleNumber)) - { - normalizedNumber = normalizePhoneNumber(possibleNumber); - } - else - { - normalizedNumber = normalizeIdentifier(possibleNumber); - } - - return normalizedNumber; - } - - - /** - * Normalizes a String phone number by converting alpha characters - * to their respective digits on a keypad and then stripping non-digit - * characters. - * - * @param phoneNumber a String which represents a phone number to - * normalize - * - * @return a String which is a normalized form of the specified - * phoneNumber - * - * @see PhoneNumberI18nService#normalize(String) - */ - private static String normalizePhoneNumber(String phoneNumber) - { - phoneNumber = convertAlphaCharactersInNumber(phoneNumber); - return removedCharactersToNormalizedPhoneNumber - .matcher(phoneNumber).replaceAll(""); - } - - /** - * Removes useless characters from a identifier (which is not a phone - * number) in order to normalized it. - * - * @param id The identifier string with some useless characters like: " ", - * "(", ")". - * - * @return The normalized identifier. - */ - private static String normalizeIdentifier(String id) - { - return removedCharactersToNormalizedIdentifier - .matcher(id).replaceAll(""); - } + public String normalize(String possibleNumber); /** * Determines whether two String phone numbers match. @@ -158,15 +39,7 @@ private static String normalizeIdentifier(String id) * @return true if the specified Strings match as phone * numbers; otherwise, false */ - public static boolean phoneNumbersMatch( - String aPhoneNumber, - String bPhoneNumber) - { - String aPhoneNumberNormalized = normalize(aPhoneNumber); - String bPhoneNumberNormalized = normalize(bPhoneNumber); - - return aPhoneNumberNormalized.equals(bPhoneNumberNormalized); - } + public boolean phoneNumbersMatch(String aPhoneNumber, String bPhoneNumber); /** * Indicates if the given string is possibly a phone number. @@ -175,64 +48,5 @@ public static boolean phoneNumbersMatch( * @return true if the possibleNumber is a phone number, * false - otherwise */ - public static boolean isPhoneNumber(String possibleNumber) - { - // If the string does not contains an "@", this may be a phone number. - if(possibleNumber.indexOf('@') == -1) - { - // If the string does not contain any alphabetical characters, then - // this is a phone number. - if(!possibleNumber.matches(".*[a-zA-Z].*")) - { - return true; - } - else - { - // Removes the " ", "(" and ")" in order to search the "+" - // character at the beginning at the string. - String tmpPossibleNumber - = possibleNumber.replaceAll(" \\(\\)", ""); - // If the property is enabled and the string starts with a "+", - // then we consider that this is a phone number. - if(configService.getBoolean( - "impl.gui.ACCEPT_PHONE_NUMBER_WITH_ALPHA_CHARS", - true) - && tmpPossibleNumber.startsWith("+")) - { - return true; - } - } - } - // Else the string is not a phone number. - return false; - } - - /** - * Changes all alphabetical characters into numbers, following phone dial - * pad disposition. - * - * @param phoneNumber The phone number string with some alphabetical - * characters. - * - * @return The phone number with all alphabetical caracters replaced with - * the corresponding dial pad number. - */ - private static String convertAlphaCharactersInNumber(String phoneNumber) - { - phoneNumber - = charactersFordialPadNumber2.matcher(phoneNumber).replaceAll("2"); - phoneNumber - = charactersFordialPadNumber3.matcher(phoneNumber).replaceAll("3"); - phoneNumber - = charactersFordialPadNumber4.matcher(phoneNumber).replaceAll("4"); - phoneNumber - = charactersFordialPadNumber5.matcher(phoneNumber).replaceAll("5"); - phoneNumber - = charactersFordialPadNumber6.matcher(phoneNumber).replaceAll("6"); - phoneNumber - = charactersFordialPadNumber7.matcher(phoneNumber).replaceAll("7"); - phoneNumber - = charactersFordialPadNumber8.matcher(phoneNumber).replaceAll("8"); - return charactersFordialPadNumber9.matcher(phoneNumber).replaceAll("9"); - } + public boolean isPhoneNumber(String possibleNumber); }