From f668c0b0d7d20bcc7e98e10d67a06e98e611ea67 Mon Sep 17 00:00:00 2001
From: "ricardo.brandao"
+ CJKTokenizer was modified from StopTokenizer which does a decent job for
+ most European languages. and it perferm other token method for double-byte
+ chars: the token will return at each two charactors with overlap match.
+ The difference between ChineseTokenizer and
+ CJKTokenizer is that they have different
+ token parsing logic.
+
+ For example, if the Chinese text
+ "C1C2C3C4" is to be indexed:
+
+ Example: "java C1C2C3C4" will be segment to: "java" "C1C2" "C2C3" "C3C4" it
+ also need filter filter zero length token ""
+ for Digit: digit, '+', '#' will token as letter
+ for more info on Asia language(Chinese Japanese Korean) text segmentation:
+ please search google
+
+ the returned Token
+
+ members of Tokenizer)
+
+
+ TO DO:
+
+
+
+
+
+ Therefore the index created by CJKTokenizer is much larger. +
++ The problem is that when searching for C1, C1C2, C1C3, + C4C2, C1C2C3 ... the ChineseTokenizer works, but the + CJKTokenizer will not work. +
+ + +Decode the payload that was encoded using encodeFloat(float)
+NOTE: the length of the array must be at least offset + 4 long.
+Decode the payload that was encoded using encodeFloat(float)
+NOTE: the length of the array must be at least offset + 4 long.
++ Token[column][row][z-axis] { + {{hello}, {greetings, and, salutations}}, + {{world}, {earth}, {tellus}} + }; ++ + todo consider row groups + to indicate that shingles is only to contain permutations with texts in that same row group. +
A ShingleMatrixFilter constructs shingles (token n-grams) from a token stream. + In other words, it creates combinations of tokens as a single token.
+ +For example, the sentence "please divide this sentence into shingles" + might be tokenized into shingles "please divide", "divide this", + "this sentence", "sentence into", and "into shingles".
+ +Using a shingle filter at index and query time can in some instances + be used to replace phrase queries, especially them with 0 slop.
+ +Without a spacer character + it can be used to handle composition and decomposition of words + such as searching for "multi dimensional" instead of "multidimensional". + It is a rather common human problem at query time + in several languages, notably the northern Germanic branch.
+ +Shingles are amongst many things also known to solve problems + in spell checking, language detection and document clustering.
+ +This filter is backed by a three dimensional column oriented matrix + used to create permutations of the second dimension, the rows, + and leaves the third, the z-axis, for for multi token synonyms.
+ +In order to use this filter you need to define a way of positioning + the input stream tokens in the matrix. This is done using a + ShingleMatrixFilter.TokenSettingsCodec. + There are three simple implementations for demonstrational purposes, + see ShingleMatrixFilter.OneDimensionalNonWeightedTokenSettingsCodec, + ShingleMatrixFilter.TwoDimensionalNonWeightedSynonymTokenSettingsCodec + and ShingleMatrixFilter.SimpleThreeDimensionalTokenSettingsCodec.
+ +Consider this token matrix:
++ Token[column][row][z-axis]{ + {{hello}, {greetings, and, salutations}}, + {{world}, {earth}, {tellus}} + }; ++ + It would produce the following 2-3 gram sized shingles: + +
+ "hello_world" + "greetings_and" + "greetings_and_salutations" + "and_salutations" + "and_salutations_world" + "salutations_world" + "hello_earth" + "and_salutations_earth" + "salutations_earth" + "hello_tellus" + "and_salutations_tellus" + "salutations_tellus" ++ +
This implementation can be rather heap demanding + if (maximum shingle size - minimum shingle size) is a great number and the stream contains many columns, + or if each column contains a great number of rows.
+ +The problem is that in order avoid producing duplicates + the filter needs to keep track of any shingle already produced and returned to the consumer.
+ +There is a bit of resource management to handle this + but it would of course be much better if the filter was written + so it never created the same shingle more than once in the first place.
+ +The filter also has basic support for calculating weights for the shingles + based on the weights of the tokens from the input stream, output shingle size, etc. + See CalculateShingleWeight. +
+ NOTE: This filter might not behave correctly if used with custom Attributes, i.e. Attributes other than + the ones located in org.apache.lucene.analysis.tokenattributes. ++ NOTE: The Java List implementation uses a different equality comparison scheme + than .NET's Generic List. So We have to use a custom IEqualityComparer implementation + to get the same behaviour. +
+Dm%Lxrc0UU~s?N-KKQozmzTiV_O({oI z5{o3H;;2fvT8&gmBw3}1{el=;su;3C46VK#>A)D;q#COXfeh_c3|!Ag2|2!sf!m)^ z3>|(pt8@|Rl-5eQeHBGgHGX{6>_c3MDy>D^Aev|G%^7fiVP}78a+jPdqgl6Hh}Iks z&Gqm;UN}N!wE9-|6j--}H^Y8EQs#hF-M_>?qWedGWGl-8#IGV8iY|i33liRJk`6R` zk{Qxb1KRT3Fdt^;z{7~#4q3)h)IW54=to#etB8JuhY4sy*jdbudU=Bh&XYTsFiR|c zu@?e5w$$ga@j1kYaez0LK$~x3EOA~D4L_KwQz?VQBMNqOM1l5)3G7J9Wg%22FMejJ zB7<^hkSb|}Ts5xXB)oA2$0@RgjEhl>=rH5yAqaih!B7O+54s5>0W=eIi?}Uxm$&T14RKR7^tJ+rB4aqlRE(Mx)KZs%I?5@ir&$Wd(jo;7 zv`Rsoj#My?wkT+%GZZvYSwS;hq#!{%6(s3u1ub-gf>yd&K^xtnpq;*>U_3pfpo5-K z&`B>UNYQHw()5;s2^29UI}@o{!6fQZFqvj5=%SShrqF +|f{k>$g5&913QnL$6l|iOD>#u}R 7L(TUB5B5CtR*E;(Gd{;+VWbsf8{2?mO?k8_7N# z%7-jAW=rf?{d(~nQmEtsDH}`bxt0&+L5w=K*}QG#L*Z^S1bei2L}@!nmm7pUXm(ig zoBdoUUuWe}_bnb+qr!)>p~UbM*08aDDwJ=q@^#^A)&!aXH|ns2hDjSC%u)RiR=|Jo z&fpczE_1!r+AEo9nLZ|~k7}i S-AEJfVM_+khoSfqNHFgNfA10kPdw_q>NWZ<1bscYfZN-phO5yi4E9yT{W+ zK+KDJ4%=(06MAOv)o*Ig_`Ui~>`%FxNDNPrOI_50Lgg}j(}CC($=NX7a1>_KX5-2C zg2XL<6{*wfDTGE+edc>6k#wy<)H{CB+b|n1(&kE}c`s6*)LMyDXl&aeD&o^jP}k_- zKFJR*w1D6 eEMmxOlBlLHEB@WI3_v_@7{2T}^AP1KX3oa(%ll K2NzmE@W)06_ep+mp#=ng zW^{0$ &ji<$hV<|pG|F+>@)bS#SM7* &J5rcS^)2g0A8V0^ZJSzzi7VJEXnNQ0fB{99oVhkn*w-+7QlN(0I$#jc+U^u z6 %>-lqe2g%-g3LIAJO0(f5w z;1yZ`@7n>qLaXNWjj4Un=P~o=bpWxN(KSbC)q!1ON(S%>Er54Y0I$#jc&7*O3N3(l zUI4Gq0(e&j@Cq$}cU=Il&;ocj1n>$ifR~qL^!46vnS>U=dul+uLJQzMD}YyM0lXIk z@Cq$}_lf{sp#|_>8^9~H0N$Gec!d_gduITz&;oex4d4}80PiCKyh01$eKvqsXaT%0 z2Ji|kfcLckUZDl>z7@bLv;f|SGuqCC7QoBPfFo^EXaT&90r3hgfOlSiyh01$O$Ed& zv}#_z(P~>%i=}q2(aHq`7Fu;+x6zszz$>%>-bDetLJQzs6~HUB0A60C9jS1k1@Nv5 zh*xL b@Cq$}_wE2*p#|{X7r-mD0NzIec!d_g`%D0@&;odW9l$HJ z0Nz&uc!d_g`+5Mc&;oeh4&W790B Uu5fD8F@V*fcuh6P_ePe1_baK^P!`lIYg;pKdHKtJQ=vG%~0lYN< zyh01$<^6CYM=nAO;2j$fuh0T`n*(@-7QibLTCz&(8>!F&czMU;NO^@8z}p@mgU|wa zCj{^cEr54w0I$#jc)J65h4%l*%iHrt>Op8#@$$qV&kJI`T>jLQy0O8*H7ePbB8s10 zO(NMXA`{ff%5t{wRwB=Gym##_Ufx8g!nIVw3(XJjrN_HuN3sfSG^;PIAL|IIyjXcV zqsHoIKxlrfke&1J;NJ2eJ9=0*b0ALT<%p@&&t)p=f!f?9FJZ65ULnh-f(p5!c!_4t z`;TT+HUm@Td0^ffwhb=tM^42mn~@hGEo??MOT4LVx7|YPgwU$-?6%uzvk= wn!&NNHRBKyUy;z5YbEU~|A8pm0Yu(1L8tVcfG^JZ}r6L#t?C>{u2K5xch z%1}NZFRMglmzYu&RT(8|Rc-QSZ*P+~d+FY#)tEdNoldUkl+BbkcwZ+ ~e^M}(URTgS zZz+h=m^xt|M-c^$RHvYc;tHCnT|t6U3X(KUK@0UNXr%=T+GwSMc3P)kJZ(_WL0c7c z63z> _ E-361B>!8PYB!)ybydlwk)T-0KstMIRQJ0o^e(hq9eY zTX2jf^M9R=l|g!5Lfq#3|CY`nembA>j{2eT=Z(EM>5?m>o-)Q{Pp%Bj=zi6(flckk zSgA+Qg@fI;r4{gunO)*0*O&RxEMZeDeplkRZz`HS6azR}@7SKj&gEMRhk;gR4l_~q z*}E5D&*(I>gsqs^7>xK6WrnlI@>s}CWIz&`{U2VV8b-oqE{Ppfj K@7qBPRDIAHPI ?Z# zgW^ZF1|Ct_XgudL%-TJrB4>3Ph@PdD=x4V`WRiu&Aoh2@R~B-|?=2p?W%1*0L#$yX zHzNN@DfC BwV64N z6Ew|4ms+{q6_c`!Xbn-bu4;w&xK(BXhbeGKuYcz8822TKA#SgdL#+9hAug2GO6M}B zUOShVxGmHw?ht1)4O=yaxG7BYk*gtY1bN?lGbh3O&l}(m51i%R05ibxD`W+ZoUeqk z*x&0jv0}`9X1)l;N}tIg%4kRU02MnDwv2Y6x{G8FuZv`_%C7xek>44d-$Aqv)optj zEdw__*khC{qq1_-1KnE2NpR!%KX h|GnZXb@5PSV$ocl+=Tw-4|1y6_sW3wOLOJmz)bwO$uq=XK%rUKc*r>%tqnE D3GW=T?$ z!06;SjN2S- UGp rFee39)GY#4r{gfP?a;7dPi7(L2eF9$FW90_AXH8WwWlJKPT`N$Y4; z+sv8p+UAYG!`kLF1dOp>tJ`MQ3AfFXL(%8RmiP#5MA^dAoZ%t1ZN5jr%AAgThU=~R zaJ`)=u;$M7sDsCYX%OaU4MG_>V=mq}E^7t*>@8qouK`^j =*V>UpXMp2a)^-ME*n*YoG_3-%;UtR4 zha)tz#6DK0$ffMI)2DDe?$Gg6#b`Ej GRDJ zOBpI4-#AT$SR8kRz(R%!@N^1@0|8mOPyuA8fH=5gW_@EGN#!W9Vhdn$*rrW=g!-Mr z8TiTI2Q@)>2+zZN89seblA@A)NPmVZ%Xunre^!8oA%SwRyoK#d-7%7SCR5L 00laQQWcdmTsV)Z qbWRQ@ToA;k%8AI_sDD$B)3?ky8 z!Vuz& +2IgYppx^9IfU5~_KwRsS19iELk(%`yV#aY=o9#%AjG6LF%o4W+`N`3I zb5tU&nci(iYC;*9on4!oP=%W{YZZ!Wqb9k&4ii79YF6K;-PjtUdAw+GHHa#cl!GTU zi#4$5Xmk>o8G_6@GsGYR1Mz2uLS Jy<=uC{al7{&AWA7`SRCI! X)~XR`=L=8}a<)Zo6HMNbua@Eb;H4dE$1`B5^U*wMv0Q2Pufr z(F$s5i-I~TDyXNjg0Xawf(E)mL7c8uFpjQM&`4iW&_s7DXr}uVB JO;f*$&wg6VX>f*JIPf?j%BK_C5EK|j5! zU>|xz!Ayc#^UU486jLyZ;tFO{Qo$UWpkOZL6wITU3g*)S1q*1If`xRDf<<(=0^DVw zU TjGU^!i&U m^zg4J}Ff&=JY1#9TX3f9t7 z3J#=SDmaK 0zvf&%p_IGtuGID-}`AX=rMNb3}A zr=u0@piK(SbYF&3XHh{ZXH!YRIrKpV=h7t#O0-kKd33FUGToqHkZw_MKHV-LJ%lER z?oy1V-=KRHV@zStLy9r9Fz9K;7-1OnOT`y5*1I0k= #ZE=D;YN{{o{-~6n}zo zm*Sm_XDa?A;}wdpVyqMT=}$2}K pUC!*a_k#K2#5KarNhkMIVCmk-&7$|H|;LsKYxb#SuxoYV&rPNWoQtG{#tg*C1 zy&9;jAWj!57)O^WXr!wYG|_bmn&}n=3F1u>=n<22hf-R+>AY6DTPbaHuYz`ZNWpk| zLO}=pTtO$jpddxBDoE4o3MSCo3MNubv!peN;tD2HtAZ|?pkNB+6ilUl1sPhPU>dDZ zkfnnZ QYSKK2kb1~ZkntNmn=goq3{RZWP?@4OCyZD zJ5of|v~%Gi28VVTua-PL5aQQ;yioF8f_uFmhW)+!VK_3rABJ83ei)9;E}%IXc|QyX z_3wx23FRZGUChmQVv1y0v=Je^1AGuJ|Ah(%pgK2 5enDj1C#hU*eF+6;G||9^E4jLb`)jr!!E zJ|&&m#{-5$PP2q;S?k+-XNC$Kxl&sOS_*g-ap(*bw%(l4jN3OjW9%h)n>~JHByD?% zgg5-`Es|%A5t8gJ60V +J*Ws`axfT2EGzax(#=W0R?n zH7DoxH&iI8vkU0yWo-#JJ0mR%Wv=P9_3n#HgQjYlcAF-4K_xNVlH!)F-ka%4KhXC$ z>Yin+H8n0w2eZxK&YM0^u%y<3+f`WUxDHdb-yaLvsjP^RJJ0n@{}!T%$MNd1$@BP! z=TT6P)t<+HJdYjf(d&8qnmusoYN{w6d<`cc#x$s7U1HFfe`XnN%|dcu{sk~r_o-!I z`U*FuRIz_9hgL0a>c^F?E$+j~{b?jHxsrgZ8M8$qp54#Juh~v*>YwFDa&mtbcfj&E zq!QFCx?!Tt{wr9#7&iCs IV zMZ!+{FJYlFuL9w=A1~eQ{S%Syg!c{$ZpST#ML)pODYvaWAD4nU+hC_Ks#uj~v;9dV zphg9oib&+MU#iOb t+_L;USQ|?5MV~TKW^*J`X97{cpNh3M7xEwGr)#HTz=3$vg zZC8$JZN0)x$ZE5Q5xP?zf^EAuH?#gi#(t1FEc(lNwFFHd3dB=h1UG&;5!~|?j-+<< z*T6#?#i}Iweu&0}`zBs*<(?QbYZoFR8Q(I<+|I C4Hh|ie{zfM1v5zV6L!P13oo!;0VF!00Uf z7|SS5p2}jU$Z?nPj>cQI`~*r&F-w(HgrjOIi-USoS Eq(I&{g8L(zW8Y(GB9Z)6L?Jr`yHtpu5HGq 1YMBXp4f`bcTXCR8laPE>bX$b}E=pHz-&@w<%aicPm=Gqo&nQ?zFDh6{uPaza zp%xK-ImH#Mpa}~0qkaV|X@P?MX{CZybcll0G$3H;Lu|I&2H6=kT9-QRz1#9T-V9V; zZ{+<^&)&mw2k&^PuYF)B^y4SrZ UZPKd5kvjjf8~ zBI(26_N 7T&m(Q{fqgTNm|SO(Ir+{h0i z{1~ECe-NSX;`i}2gv^&7jT<={AFFSr@n^RMcCRCml!b56PlzpP`OQr+m9Kfl0bk z+!l9_GUi<5xsCXON?u*k)u-|FJ)vhFhosqUUUO(=9>KHMDt?yJ|47BJN{(S1ER$_~ z8#1L>CV#WooG*fAmN*)(=@cwYXBvx|=hr6cax(^ZfuUw+qm^h3=UQ!SNsU|mv3NL| zxdz2rn*&U)Zw$x7k-p!^5~>8iO7#z;5=qZev&71&N+}W5HQS8Rs(jEuyH6|yo(5!J zgx6l{e#SKNp+jukL7tkr3*RYd1#Oo-#G;~2+szJtR)#_5Y1SbR2z3VZfB5mw?)vBT zESPT350!7=hwAUnT*rj!c~54q8e3LkmK) }M-=frKNSHvApZ;IPN?~2<=V_Rh$Q$rmJ9Ga#eMl%)E z(lP~gbbx|-I$pt8Dk^B8^A*JD5(VSvDg}*lt_bt1O>~1&F!ib+LANVN(zg_}(ESQp z=?MjG^qc}@LBV)>TR{iawTbYZlv0qQeg$b-p 23u%dQd^0eypI|yDYzlo>t0qdO^VqdQCwuy{({+BJGlB zKQ$}Zho&l+Nz)bVOUo3@q5%c7=~M+6+A5e!7b}=YpH?uRZc?y-?ohCh?p3geo=~uu zUQn=vURAJ^-cYd2n|ohQ?l)r}WX_oH?ND`}E~{i$2QDw?BUwRf}r0klXdYv>>a zYw1V@2hy<$4x-Hp4kkWHhaxzH3Q9SY&Qh?BE>dt9U8Ue~x=z6n^d$vH(wz#{)3+21 zxZOqSD0hi2bu`_lUdPa53XUc1f>OuPFO{-^UQn=+URQ8Dy{X^?igbvCn`o?p6RAtV zW}2noBwC_i3$0afG99a6D{WSA3Z1IpRPSp5AD}aoavGhlU>jYipg oKi_Y`9|YS3efF(@ Z& Qv3|#4=VmC z K`NVU$Xv%;a3@UT6xKWZR)ovehnXdn*w&r z!y=4}_PX}SLA cKx+SPQWhw7BP
ql$@{D+|{ zrcd 26 D81N&xPmES)KC#NRMjI2}6 z&smZi V{G0DHOK3VOITx&6-m !r=X1*ajgw_+UYT+jHhQ6 zbkGY5I_Xsfn9|*%+`KWG)3!5zW0mMbi>8b>xdgo-A;L)tP2}jqdb#vp!92y~Zc}bM zj?X}i6(($n=upr?IR&jWOMzZ2T^-&{EfS9;XqhlYl5~&)8i1P-?(v#TG#*XR@!}gz z(isX`=zImObeV!Sx>f;Zw-v-(aU*mm2sj+h }r?T*(cY3w8cZeBBgc1xS>-sK+~AM3?F){A{?fDJXo z8xk}@qH9P}P6749^%TkS2PiTgk9z^*Uck5%ofmK~MK>-!&I>rs3ph@6nv@c7&9yP! zh@)g8Ph*l+C}`26ZSlrdI!GzCuGK{8$SRpfCLNWdbFe9{O2cf5Z6&Fe+Z1nt p~c7b=i*=MaG-ledX#rMj^v z }+X~dIKScy6$&&BF8w8UEybcICNLc6@=>uRtKCFwTT)$FbDR($$R*jxRoI-1>; zyDi?9pgV=VElKyfKm`yZs|txV{;+Y>7<|f@+d{pE0OuI!#~ca`#M9!o&~xIp(x1d_ zqc_EEr|@Lv8!y*V?~Zg3-)XZuf){_GqXBGJ;LubBG3r%NON$iX#a}@^9jRa}ZB@`f zXDNuR|sJ)e0Kv76sUxt)STpm7oWelB8!8w9tzRTIsI}+URWs?Zg*$?vA9!6JOc~ z&_R4p3_zzIvy9*#f>@VO(t6%9lA1tqrA(w&1(S5YdW2hgE@>Pr5mywR<*`KAcpQ43 z%zADVQ^k5Ur8qQN*y-Z7&^&QlX{ESr#FvWgj<(Yw@{GF@#O+O8x+*jEegic?Ft%nBV05Ur@NFgj=m$Hk{z+*l%6H7L#ur+dvl{L zE(}CmoDF4d*0d4dthl?Ton93>I!S|{JKX0^`lrw#cxVcH;NFiq1u;r0z(o}b>ZFQ* zr=D_38B6^N8i+4vf>)g8DP 3mtXRXn z7nfc{Zpzk{3?yz8+^Q?%gbf@jZi!B$Y(ug(-G#Dshcs7UJeKI)qEA&ccV*tOQv>}I z0(?`tr$7g1Sv!s4m(iaNV$?khE~DDlX4u!1;W8w9&kP7G8xSBv5r;5k(5S!eRxk05 z@!o;C5qv0YCT}2^fei#bxkwsgKci<-BvtI`92F9IlVPY1EUUG~2D4Q(t?HE*$IPG5 z-_=IDa{&q#<~YWBTo^KUuiS3&xSflPoX(K4z{shjpoK0}fI*4^shO2tpsE>`u@qmM zvpZfHm{obpQ0Xd(1K)v@;fUPQ!*WkSu@BoHs0{hDUB;^stbq4!r+a^wazll(uS>b5 zLYeGR?x;}4xs-2t6kO{+vZRLTo8{qo+>78&6&qlI^Me|X+}57xJw1U#Ud=e)#ePEL zLtYE@xu&oZ@-|u~4EuFtG2dZ#CvbZO2KGiz4FH#Yzg2@Z-lUTY+ucqwR)g?0%`@(a zHup9~@^Kqyq(#c8yL*Pu|5(Ox2$+FP2`7|466fsJhOEdnqMiK0aDE<+wBcFT)mUYD zT z;Ki3*U$1(YaSTjrFNyM^$WA0KTB(hO`| (@%rS-3A1N8pZh ENuV#zt4Z0 z=HD`oMRq;gJpxv=#DbyfquEX!KMya>1|H_!0CzTKQ1GyI-Y3N^%)69{7t6yr zGiq%#|7AOMPS4r7v+eZrAP=kv;g_rSM%T5ag&0^-hv&`_|I&Eoe;(a?_FSgh={NB^ zumUQ;(Opr6xQuhAE=eLkVdHcVkTrLItJBQ;PLgIQ>ete|6^-ShvirpDdnwY~yR^A3 z(rD${%~0I(*}B7Vs}2jQ78X>|vD =J=`_!#Upo4NPu)XcUq1j{ap8E=0n+f;Ey{ZbWca6Iz@qMOCM`wg3I` zuks`u#ovt`0i)wrVXL-4F1j1LEJJQxS&ls9MZaQJIan2Ui Y8z3Z?l1zu(oHXB) kA?ngI9Ah$aP81L z3c~1h(@ReE KwkRQ&$5 ?%CTlE@pzgnS0PR9r(x zGCOLIlaJG}z#$nu6(@oMqi2h%NnTTEf_NC%me|-(QyatM!Wq;sCxhDLphG|%(i$A; z`;=S0pF&I7@9O)GihL~XeU+#1Fxl(b^NEV5 ;HB(RJh1 zrsbMkSZ1pVA+W`fY9nTKQ_~AD4W|)PugyJG`R^aq>;rMyIBGtQ)r@8q47(1{N^x z6ksb(Bc@R^wdnnjSgi0LO*NW`*T{*I!oNYt)xa+*FmAV9(^!kg+IlNqn}NMJg)qwz zi4?}b4aFk`bochSI;kPu%^sonU9fgF))lZ)=EUp3b`Jx$i;gbZ!&~CD4#K>ReNaXw z6z?||($Hd~k_?UU_2HD$(;7+D_0-srrwXV67%vuJ=CIVn^xxR>dVyCR?Y&czddAtZ z9#KG*ail%(9vewa|0=!7C5u|(oJ%t^#_4vVO$G+;=_I>NV`|g>T0&=O5i`;+@XOx? zb~Lz-$u>fE43tFnJz#L#n|3J+XAnxj>d|rp%G+^ zWg)2=+>Zj2aT;N7%{{PIY*mY63)=uj4QoKh8yl0<;3CnA!9|7}Ttp16*n=D)<^&?; zz%WN{jcdk5r8Vwua-Vr0Dl8^i_#s?av{iTrz-x}?uHm6P-qpt#n;|{_6}u7f5X((H zP{$Crm9#G-ZWC!CBX0Yobs6HOj`n977YZHBh|7YGVZ=p1Co$s2l}=~$eW2_K+>@M( zN4I1{lEuW%N^hz*ycY88%Vnds7D>oamaG~v-ZxV2$JOO~=R6Ww|5U9VRXdKf;4|#* zpyOw*+0FqAC(+E-fVjE*4~08R(qN-bN(!>zmCEmewtfVnV_&{i=scF5U`MZ^k3n>4 zJ~BUse_bS6BPQYQ=>~h>&m)zDIzxqF31d8hSgkBp>DZOLfw_bdlHm*r$jUx!N?k8A z(S=O+hX9|c(q38Oo2yaa3a5uTpO{JE5Fu$Ivi~-VkAPZ!lq0EZXs 2p74*j2!!eJ?(PU6XbNPk(P VwN~rv&6w ~6v!l7;bz653P#W5bm%^-sq>2OG04Qho7Q z?q9I6d3%vrD^g5rHTDC~MrznJ%o&K(L~8~LI4OrlF>cL43x(lR;g^u6ah%-T6dzak z6+fY2F1&-j)ym|+oIf{;=Qr^z)o=hqiBE$ol)$9ta{%x(Ie)u=rR!^qnCQ2|;Y^m3 z!k9r-(wG|;ZxqYp!2?3!MbidF?CvFGy%BcTsCH)~5El|8V(+;ppbZAcIB<+p4h%c$ zYNCrK!Xug-Xw-QnH=hZNI2=wJBaS&}Rt=0dB%4jMA-NH6(rjX(wmO^V alj z=`Vr|XBLt|hcc6$MEQC4bFV0X0vXqE9|H?z>@Y@K!PsVu#+Pw~F|^D$${5Wyx+%Tt z0J>u=@u0#pmUz%4GM0GIwlbD@(Cjdlc+fsepZWs3e0_lcbhgN;5(FTpygu+@xC>xI zW{LCBy$; _o}IrQ)F13xZG|FT68xXk?<6?tBY_2kR8?+DpgTb^u!t7T)A z4U>&kHcU2FnJb&XYS~zC!(?N vIWpRIOaVTr;y69+2Vp%&GPK z1C?@Z29ev#A8})W>hGL8_*;axGOG|MUn36 #qgj|a0Q+A*&GV}98+u219IHR`w_IGIxZONw=5LQJw zJGT60_Gdv8_>bGQvyryNX=@sGx_;}%yCH+5ZKu!r%N=X8Nhg)EkJ4xhNXc1WO+d^Q z0*lcdNk4-abK&$8a6DE{zdMx3VNl7?jYbY&_SBiu*o6wvzk@z&w;Af0Xcjo)ko@+K zGiB7FcX7x}4aApmHTUlqArB~rc$%%ovGsjSomwmit+Z>_M=#&n+l!y%33%W&amRg| z!$gdgursqj!3(ox*9eSaZKD=1-HE76Kq%aGpNP0OJ$Kc0-x^KWGH2Ns-s6~g+bsMU zar`PC_WETU$vxMbw+kEJi|IKb+7H&C-@+K;DkM`??laqMdK~f~+gvaeqq{4xU-3W$ z;xEM Wjvdlb~s9~9Kn zKNO55JIBeU8mK`*oF*z5M>7;O(tHI?v_?U*`wbTC7CBTYNjgD63!S2%mCjbsMjuho zPM=XQ-o5r6+lg*fN~e1PJhl_*S6otQ_X>DyC;F!HOr#$wm_$ESFqwX `Wc1=DCB1zB3EAV&u($kR~@y6I#EJ#@B$>GV+rGw4$adfhweQ+?h&eEoF2 zdhJ7BR4~)KkZ)i5hEitH4;0L%M-|MWUnrPMzf~}g{-9t!{Y$|DGP@-^3n`&sk#~S+ zF-=y=66#T~lx8bfM#~i}ry~@spbse6k3OVeC0(gtfBKAqRo?e;R@3K|asYiz!5Vr% z!CHD;!GW|#!9nyp1qaig6&ynUQgA4}qhK95J(7#VXq X}p3XXoi9#X`zDkv_`=I z9jD+ZI$6Qdbhd(HXh^}abftph=ram7(De#7x_6|ej@MmicIpK0qXC<|TgFbLuPXCq z`lf=Dyw3=1@jfGPviBK*t@K0XIfWiqa4P*u!3XGf3QnWHE7(T%bjfmo#wj?R#w$33 zCMzK7QBd?wA8n_7m9m3YD>##mP;eG)RB$$tf^+CR1?SSo6qM+b3eIycBTSX)b4nSc zFDp2ozAYd FNonruX^PT6#&}=FmoQ$a_)^AiX loMfir%hgtOu;qH!vQr^xcf7D87;L48@;kyioB?j1N@&1;$4y zzM1hUioeL16yL&lNb#+VFID^{#-C99WyYUXd>i90EB*@O?<&5X@so3bL-sPuaopQ!lzjJGSkkMTzo|A6tQ6k`yKb2}>A1B^E) zevq+#kW0@I-KzW#G5s5gf5i9!#Xn~JKZ+k_{0GI4F#fyZM;RA2eoQFBW|aOoqCXYI$81FC!Eme$n7UW$q-n$GsOz|^}k5l|p#wRL%mhm>lc#|{S zdmiQ3Go7h)yyX~lo?^T}L2ruj3Tx1nil1YAjp99wzpNOqOa}cx@$-xyRr~_uUnu?! z<3B2Xk+Hdt lI@RWzb~BcvCcJAH^>-UalBpTjW %{1?W*Rs2`R|4{rl#?DNU`E|x^ivP}disCmI&sF>n z#)m5YC*$K3|BLYl6l3NNI#>K}#vfMv7UNGU{tx5p6~E2+R>kiy{;uM88UI8v52I<1 zVyrnD^f$$r48$2TwL`3p;yzl%m^efGuRK_*MEk$5 bRS ct*V$4?~ zzlt$;Y0zrLe6blFr5GC(3_3|Mf2E7IDaMMtL1!w)<_5H5im~F3vQv!B3 wTa;mv3WmQtZIhf-lPR`w5O1~!PdyE4oGFR~%|%vl*>`E?fN zz>`!Vo}@xiS0=Jh)cjs+8QeZC;diYPhmdz3cjg8bW8p21$%P}4LTxlZ-+hD^wrf;9 zxDbZrtS@sw&l71nB1^8(EU|zxZym$&EsocY^ej@c9kF#)5o;MNbH27_5V2YEX$a6* z_L{;9#AcRQcHAU)3?BTuE!vO|OY%`k#bb3p)rG5iGYIMoalF~TRn!Jc=l6dYHY*G^ zE${!Z=ZfNB!xhEBhTZdomci}wQcly=7{`RQ%2h}Nuau}Y7S?q*UfvGSgd0G3!vgM5 znvVNZbSqL#=5Q2m{`a6Q!58QD#?bwHJ8oeyR8`a%HcKpKzCIovL|s!Q@k&A7G2`LP z5s0$;N;6t!3F2WX(-P+a^Zcqo&IBTKRVZ_bzWz8Dk_YII8NJWx*x5s^ZYRWt@UX>U zOg1F@s4yE;VqNj49@q^Pmcbuy!mhGeKE5+K17X-mQSW7jQ(Wke*N_l`|HW}#$cw^- zi!_i2tP;Ir9}Q514xPdhAUiBRu?T#Q8RioyqZP5T?|TyKeKTU&lVg?{L|y}xhvPVp z-UBM9!=J-KnK&8f0NM0E7E(qd<{1*+jPZpXv}9KHR A zWi r(=UoN `X*26eY@5?Tlg)v>CL0$wWhQVe`guu|JvUrvPdL+D_866*)G;2xFDCiWvsIUY zS8xAYQFJ0CiUL=_vfiaV=u#|YfNdFKRD)Q0w+6A9!pfX01 cbu@DUD|2;q4Xq-1^|L}6oQm*+8T@3<*J>waj)8&vg@zY) zXhe$~Do;a5w8U9<+``6oEXGpUy};V;h7EM)YMXAIn-0J3nW%FNP*faMIj6W%|H?f| zU`MN7Hxo*E`DJb>lu5nwQNlv)Dlr*)mAK@=EU|!E5l4rV`pRSnWx_7PDwkxX#A%~S za&&H$x{O 6gUi@vv4ipn8OOWj zgNxain7IUHhmW%Z()iif-Niq=krSy3F~dausV0UnUq$mr5cgxwgFRx^Wp9_Vc?@e0 zGH7XX<$aK-S;RQVDRWW*w+UlC4-EqH;C%!`f`rOgE5x@h8bGeP2##~2%YcHAPu_dZ z_K1J@ZsU8TDN$ije*w$FiSDU$WS^U@OIzp|I7zlg-n+w}tE``)Yh0D9=0r62syU2P zHFxeaLa;28;EF8nb#qlgMkJ`~ESyqvv!*j5Jce|x)-(x(AH F=7AGIjbnrf22Sd>m zq}YA{+F U=;kWsudzV-X9S8f}ZDSEi+&1?XpLY6yJp11f zc~)j@J88Snu?TgZ0*5}VAV!xesHIOSsPm@QtG*+0y?Qm!7Zk+lD+ zgJ2J{Y611{aZnb%sHHWEJ8U7 zCQyTdiSB%FYLferqSRz+Q?D+XtY8Y|6-=dl6lA=s(5BIRrDSQjf}HzlmQ *Y4GNZ1n}QWIS;2nP zqhKY?R m5!Uk#~m^N5XeFvFqRA#8KIW>k-w6JDfP^ zs5_jPTQ*?15{V>vOy{si$d!o4uQh0x`LF7mGB+cQZZm{IAZ9VFd`{gE?^|^89o|!j zpD<~{JlHwL&2JNeEWo381(aa#3Mlo;e3A9y;;#sH!(?v5Q+Y9ho2_PvUD;Bg6gR-` zs=zl^1$Ox*h9w+>%m4W*{+p`s7pm~>j799iC(s{w@7y1RPFAALcJDF4 l2X$7F4}El(rN=mcTQKo_h@a+Sbw zS7hoI=5<2R$`@Q@xlIF2)j&x ZKI%Q>Pt%OH4s_v-Tar6E z6lv8ILXj3d0h`*|Ki?N(OaFARxIUZT8H3qQFluPo!@41#03n9puG;zNBAXsc`pQbm z(<&wHrOZn7qV1{igWL3}N~lR1s?C>om`1qTB9-ea{NqRQI~5Ir@zx5X8*!B)Frefj z%tI1aAv&jU7Rqup>_
4Ny6T?SH*saB9huE#NTg7d(qBZ@q z;#O)^Pj3|0j^wdTl&vT~i7%uOduqkZh5+xoM=b+YHvGT;HrCG|a~Lw?EcF9`-dXBM z`c*v5SQJUWz-}`xL6Ot&`rNZ=_D+x^@@b= &@B98H#ZY!rri%F;k!caT^cwFgj4u(*g4k( zs5iyr_{g+=L#g^m^9*b>M;$QbBL-buE_&>pKT9ks4BM$wcuyX0KI1u|`A9c_k7si2 z*6IA4I<0?v$nuPTOaIsqnpHWwjgQVqOqe>-;#a$tcsC*5I!-@fNo(lX^fk}Cx|i7W z&C0_*Hr-Qsm}=7lm4`N)9 ^2g`EeX?eD@Qbjd0dZ L=it3ct~QU_<))+EQr|9oajVPCNa~z^ zIXJJ%_X2pQ@TEM%e5OqG?sir>J_sdj`YE(08;7Jjl5?qYDW^QT-H@&a%=K&n_eN}; z5r<9ozzjC`bm6flolC6t81eAL{pvv< zu1pAFAL2K-b@Il2n35V?3ZCLUpk}_sUcWPiQeMVEE62L &nI#S@^Mhz;1@nX;4%}ebEw>*IQ0+8JoMJ!jU}10GROwFf zNlGP70c^?jSYzXB8omx$3)>J!vg$^OXy08m_-c5GgEXlxUa2Rh&Ku%PYCmYnR~6Pm z#$p)b1IIf v~v891>$p(%Teh`awcW;CUY(8+kg<~9Tq z0mebq`N+gLL?rW2U>1Jkm8K z<$KV&UpcDoiLVxi(k`sn$}<0nFvnQGbelh2}+ zS#PEq1huR;I|a0^H{rueZJCETFe-TF5dc06?__^rhCZIgERC@t)p7zZOIYtcHJq@~ z47GTVo&415J#DOBBa^AowGiIZ!-2puuEG4Qfk_SIu(BqVU)m}8f|YX+nYp$TlB+2$ z=}g$B-KHd4%hD`yoRNxls#fS6*7iY~x@i7jPF?#7jEVK^a#i|s%o1}*G2r-r#@3_f z%aLezyIJCx#9*sTsgf+utIYr-GFrpQuH&S5{r5?z6LtC!etx_ qScUTRMMI?m={NPaL5ah1S;qWnDUNDw1Lp4_B=LomniMpr7^uDM6 zP57UU2+ylwp+X!9o*F)Ct3)q$a1mrW6f((lr( < z0FlhsxI8k^LK08m-a4FSYym2K800C@LMw0{f=i&9?uX41s|wY>4Ib`9UpwYE`TSuX zSAtoEc6dy& 5D_^Gr zBkp`8l&^EJhSAVq#L XA1EF!jvS{eOz%5 z6dbeBYo|fM8%33<<@J!FS~hH9Nr9yzT%^PtQIW7b0GK-~qBMQlIxM=n8ujb1i ZB?6mmDrS8K%~nNCpejIVXpM `X z0m|tJ@E0eDj-)X7M5iMbjXv-I^mlC2=mI##h!hkIiVYsyQkt -4tp>K8Fh_xVdNh 16C#8}*t@8am=px54IP EkTU?0Yjq6dr&ob6ag<|Tp+#Xk#= z##r8rz*rn$N55Bd5)-NuC^5w>RZ=Mn$Nxv$d&gH*CjaB}JhvpdsW+8`1QKd!2_Xqm zf)biULTHg@fdCf>rr=FbieRFM;G%*BP(cM7*cLmi?5+h_u`Rf)23K8NS=-_&YsI#| z_snz7xd%b_^ZVnQyzZQN&&)GVFQ+}nFJg&L1g;wb?909(z_zA*J#?CT0&ih4%=ZM| zm1Dc`2Xf2||3{8l;cw;GK8*7t*ky+Ua?A;*%CSSZgB)>BAm1>7aBsuJhD!_+7cMhQ ze0Y>$62g^+NeovTCMkTrVS?fLhDi>G4U-aHY?#z=i(%5js|=GKUT2t$@Fv5w3*T;- z%<#R2$qGMcnD*gE4U-+-Wtg1sbB5^ y#7$!fQV3;1^bi?!vXB(zh7 >8>WBw3d5WczQ!;E!Z#RZV0e>Z28Hi5 z%;507hA9g_XqX}4orXCx{G?&d3hy<{(C|x!DG$GHm|@|!3^P3Z55tTIe`J`E;V%s{ zD*T;c&JOD{CGVrd0mD>;6AW`sIMpy?!r6wY4CfnWY`DZQRpBzjj0+Dl%=qv*hM5o^ zZ 4upUo@1EmaGhb!4KFp! =&mIofley{U(Ly|I*s*WFC{M?MedPqywX~EOVjer>acwBZCQLgg%@0L- z8SCY&5YvJ1JXi3ZD2e`P{;cIRK>MqfpYjqj@>z**Fsdz|kMQ <@_#_2=B2|GR|BtD!@?g~h|lJ&SZ$kh zlXndH9BnYtBJ-kW#X8o0FJrNJ-m?_~z3g((Y3A~Ve_CJrQX3w%y$yMnhiAF`ro+!v z Icr3Z!BO7-ggm~ z?D5`W;Sp>YhVa+b;xha+>_1-kXgVHTbiQux&HoO`lr?V$C;jfUTb52Dc|JAYzKrE^ z$5iObr(>Kk%_ojyqd5PL*vhCm*LmNLFMT-|3@(qim;)CUGQpRRa4P_p`~v=>M84L< z7d7+$i}dzBYUCNyVAC~#OQPB@PJS&=pVI~6D1R-`&tvk*1+CMk>a-DXX3TZmTr0oG zT9RkQ6_ERH wx->v#edZ0Wafly&s-(SvulB^I2z z;3;puV XT);jUYbAXx>5bt@2uZf2)JVPqu4;D*(y`|m(-ZQaF>#^N8(eIrd3(3g6LA*I+$$U2rHeVnEt-XY>|fOoJL!vMmWV=3f}2Uzy3=lrmq zkBm7TjQPm+d>oEghRLx?jw~Mo%zik&G1hT_6@RJMq-eNx9B1XTuXP*%e*+~vYuFFx zn2+PUy!$O5xrEqiG_X0AA}!?-zd2TVd5!%$RO0!l!;UfXB6!yWN4b`Jqdm89=gpL+ zgnKV$*DtiG+ pgDf7N?>A76iTd;wlNlMVq_jgTG=lu=SbGdA{1fy(y z6!h(~tb~2&BrNF5w1pqJgjv~^<;N~zdt3O4OW4B0Q^zcmM*iT9l?MJQO)j^qE!Z5< zX0`>R?KJXEK2{zAwmtxTJ1abYZpO+(tgVlQKGV|k2WE1)U2O@*+4?x>vn)M-QpSol zJ|mYK%9da}^zAJ@e?-QLKf%@~K%Z^t`J*vb{E4 mNziw&^!!a2 zEB;_cE;r0A!65V Dhk0M)w85y}%hGBz5%YZ+^ zV#(Xt2JP4&$ui*2u9#LH%*?P_b|xEGAHz-I53N}8EZZQ94U#Pn?St*@Y__+fXwL>I zmO*wf+b-&C+aQ|_Qti(9uSkQ9?wDpvkGZAkw)9iC)al+h+cpCN`)z02;%q)5&9tST zyQD3=z-(`NM@}%u>iH=hf*sOxdGy^9?657EV|R*BbP_LEx|nK?M~4t*vYP~P8nAGouF^wWv?0KQaT4aJ7sY^ zl9SF(QT)dxbV}k2m#~Fb%x0`h=@RT>=ecXJtKAa1ZVPs?N4##qZg%~5gSdqk-&Wx6 z!S42Ok{`@Z&n=e><=d?!e_OD-U2;8wJ#2lCj9i{iwgh`X-@>b x-bb$Dn?}es=u*GOSM44|;nH zDh?Lg@fX|rV(6VQs3cfoJ1EJpMv4+Pu*aa%V5yzLQoBKxvVlDY^$+&9qv)Su4JG~A zAkOX$Uq)I+&yMl76j!+Hp3~DAZO#auk!}^k8FnR}!OjxxU|+j~CD~G}yc}mOyk_f| zV=8<=aDZLm1A_zYvK+WAIKXZ IgY5zsZ1=dq(A!O*ELdji z%j{{O40@{x@KQl$bIik1znF#xSk=!u8Cs!}`H6K_)w50}c<7`#vd*e@*2(1V)>&2V z4kvRChqJ5O9WbJ_s@fgWNvU1U?vN3sQ^i={+vPtXQpH%)N2CdMUEv%wB6aE&i|~ll zsaKqrN2Ed91D4_uX|gTFc}YZ?VoPxb8Id~E0nR=mQfE5AX-h=v41qX@iAbF>5a%rs zsWS-TY$YOfrUP7$h)A>Sl;KP#B5iN4!EoLak!IUcoHjYq7Cr$n MmwC7Ki9};*MpPJ9J^P=I6cMRv4brPxP 10MGP|RK*5Ntg)e5D5-2%h-~>vE$XfUcB(68`Ju_U3 zEPsBqtwW*|>8^~ ^sf!0+IiQs)U)`mL8i`6jYzY?T}0Ym=c5k&7_vGpU(4-eo1eEx4B*KttE5VR z@-tz>$-3E2g)kj-Q#LDRg-hT}=W}6MZe-*7p7&Z#Jj*vAARhJRL!?ZvorMUOZ)Bf* z-4)L=S?^A>=(<{5OF!8@*5A7z%HOZ2Ud9Hv!FrR+f*;Q-MOqs )OZHG<1?4oM%{>T zZS!TF-w~eqrYv7StVMiS-QqfTFWd%} }D<-)41>bDth`CIi>BNq#i6twJ4e8|rOl~U1-1CVg8$4y-3+$M!VUAt@s zS~j=XHo{0bdgM7tZgX;iCvEN$X-8;toe|Ai&K9@1wIW5E Q zxnam3N)Gp0I0+{`e_{y~;t9Nq9U_Y1oGYH4HJ$+gp8YiTXCC!`>a!>JnED8*$P8)fW@ &v#<>^ za%A7zdWbdF>$?vdULM{0t>NW~v7O-gCCzsE{ScC0KQ dv*n0{;iya>_sHHJ z+~+*)u+_s(?%&TN^Gmho+B{Us@@+6hcSIF1XLd8k>Jj%Rj0BzdC|utw9(iu*gj`yE z7(0kcpj*xJuqTIlU;4a{FjUiQspI?LqfbER4@P?B9+_UorPNr4@@gEyg~k?o8K=HC ze-@DKM`C Ru18QlKFm!Bc*-NpFEV{7h6QkQegxJSq~Y}*fEB725ph};y3Y|5N* z=0H5B4;NfWMq&~;AP;hxf5xIM&Ouw`b ps!a r~^SA0{oFWY6Qlpn3!0kN2o2M}cHKJTIdcNUoXd>O$v^Oh%XTv9IP@2g} z^=a;pB67+_eVEfboRfB(vBlrQ4aK~3pMv`0KWiiTKSE)#&j>pj?w3EuZ2muxHjJ*L zxp2MtBlzIUAH|0RZ&L;A^3M_A%deE9fBCZ<&U)7EdBe-7`v=1ZP$tWNZ+Llnc#q*_ zG~R3YXtsHr`6et;{mY*g@iIP`XXtjj1mb*`OCT{k lcAEFguJhJV%`MyCh=o_cngzKF_~mN_)+6S~56>Id z+3m+0<)V**@#C+(rn^>fl5`dpFLgexqMI`;nlT(KwZ zq0cSAy@$R@+ZsD<)^s7C9pIv}lO?=6SzKNxC5y}Jq-1e HWz+2Cas7oDVc&atfr%yN)zk`qjfIe2WF7j@}HDR>21QoOb+(%3j19=ip3KR@YuI7;6;kHv`ad>s3%dN(0C_9s5q zZf_pk#_Q4Y&`RS4P~#;vQ&@IUbN%I4qfGd{buL9$mEtL|&ZvBrqVh$l^M}J0OEA+2 zB>(sd6)d IXfB&d}7tg^d__YU&+j2AFPUNRsg BPs2 z%xUt91MEAP`jdYOEShFO*TN!^^OPw}Ov_ gqiGMo z0rGh`^!YpLJnAQGy>8bz9?Y1^&uIklU|+unu_Yu|vyNIW-7EbxRcT!-E2gef<&h$c zwb6v(SpGZ*7I07Q%p>A_#MihC9A2ng!iS8;<$S>T0rx%`*{x5Am~jDDf 88Oo@deV@D7iw47c#iE{pJd3ud 1k}LhXvL zYl>GAf%kl}OlepFE jw-{juY+x8Sk9(X=~ =osV-h^`I^MCWHAZ%{wfdG?}Y;MWDtXHyeu!1A#DMg4cY2tjugWa$&sMn$TmiEWR zr0MV}O}FQx=JP?l qWlfJ)GzIalR~>t)RQYa_lh%pm+eW?p z?!;s@HE`soWUQag|AHGwm~)AuY=jj`?hVcWUnlR6Y@yp=%y<(byn|}3OBoqi<1jA$ zWgH@ZAwuI#=68K~w==zG 3#Oh2D(7yD8~`cM~xuuo!a!AKvDry gdvi5^*5jy_B`CeEp5#!}y96 zj*=NU&tRmNvCe4Bf@TC#gOd$&DYCI0suu Z!CY)a+D~_ zg;nMS7qh2w2YAK%w|otH8^U9qituoAnrnc~XkF;AbDAz=SC|kY(JX%#ZgB~a4`wf{ zzZ(G`B })$H#2lVPA~|9t4Ax-bbroB0Z+i?s wi2k*aw8yG#__Hf%1%se5ghuHop{1Adu$I(k<54SzSt`VGbdSBavhgZS}@*u7s zKYS(QhoD7H+1++F+kW`!K-&Wx+kJ;ynQ+j mUj3LU$3Tled^113TirDh? sHelL`v;)@ZGaOQkh%cb%^cUm)&Sz+rpB3+#wH9(T!M3i%pxWb zE-5Q29Jp{$T_RkGoURF=DI=%i5m}OALjW#4ZV<+nJ+Wjp96u!K;S|F=hi^sZq#1Ii zkYbK+CA;E6IefMFW|J!rd ~li$$pGItmG7PcDb @cq9)irP8nBWFplZ1G >YkRTsVP{A>B6=1=o2XZEg04YS+^oP{1s2RzFkm;U0yJ#WIl~ms8u*LD z?~;;&z6Hg7i;D)b#7DSfL7Q+9rSl4`HE?5X^APZpn!~jX^Kcn~=+4bphYp48+({Ju z4&G;mtn=CDR$#KCcECSm0uQTeoCVB(m=D#IJGS+R!3!+(UDsm5nF_~_xmbQ!RuPt# z#3$KU+Yp9u-k(vv!NwT#liaw*v?cR%0gip~V;`*NV;B4|J>oB5<;+h9V}2hKpig4n zkMYxS@O~_mnZ^sv01Z%|K<7Y!1_jvWERl}|?L{-O2uPsKf!2VZ-U}Rr%@5!MINxUb z6i`1k#vTluO_w8AetJ3fzF0qPPhk2yXafC|@b?5i4M_ZbOakppWIw+L? +XQ zlFLDpX^Zf$7I2w=S@8RqWXdf}E%Z}yA(zis&;UJE$f =@H5!+MB#rs`1Zj8dTucLd};9UzOxCh?4qp3m9gb= z&>Jnup)$^O&mk-yCUmOM8c=TY+yj{Me-ib=SEPNyUkL^8un_|sAP;o21o_eL*|HIq z@i=ve7jzX+5GW|<4xku>N)fbEbnVe~Ioz|N%R!G*Dhc26eGmS7QXX9iWa2BJ0#|&6 zc=wtuzlCLxiqL!6OPqQSF_ciTpd8gh`Dh?|e#A=|p1+8sdI)xOVK3#dOv7FOaT2ad zU5IcK@CIMRasu83V#`I)1+j<2`GT$lO2bY8GpH4@-=uazSA#PPPRpx6=hMZsR4hMJ zKf>q5bh#@n&9uf9!y>vy!lmlY+DDhtZ(Np_(QV>o5OhIWPMgJY3{VWU&|RXN26P!+ zK@SMJNH2kxE9fDYm#gRrSA47JNwHi9%OI_$rv%-jpFp@Z_=-uSrmw}ffFmVw9laoy zufQ@$>u8^( ?Os zbfchg>NS&2|I_{;%JzWh+Wi0V`>0wSa^+~MdRHvtqH?2xDCxfoDvPSbsa=iwz*Q1+ z)Tgd+A@y(ZIUAN;X`cE_!Yu^~0(~K9y`cH(E3v!_D25iOZv;IWwHs)?iq+f(-xhSU z$`JIvpbaWp(2s&Psa!!Sx?Qx7ZdKT{6X8s)Y*9s;TVx4zLApcr6EqAclO9oLO1Q~D zF?3K((_AZaqn7~vRb3#u+kkeezp7b+{$!zff M}{$UC;&Th{AOQ{5_93EryP&7M+5YoQy60cB@ov(4v#j zJtv``9K^lqYs_&m#NilyRK_SxU!l|KqCg7e(OrRb%rXywSM+h9E9RemvFR9nYGP-B z&X1joHQ(mgHPF5ldo4|FIUai(=+{D39P`OSI}7bDv{>j_LWc_-BeYuR1w!WvtrHp+ zx>)Gtpn0?*?g*$m#@j_}JZ}^JUZM93eOTzDLQT9+3D2qOPfy340No3kj;|vnp`CHA z^CZ8DGUL;&Tw^|rpM|+~X#8B{cSGDDSe^~7$-AP7@mxw%giaTFfzX+t>GZXDRtdIe zQ<83<#T1)xi7KWvq1}ZJOh|&{9O0*cDw->_Ug#2`tqDsYUoCXKNN!754hff!qTLBC z;9pNz3F=K;4H^V>#~Vr8S|`-cV=0m}6cMK(k2uCWE5?zDoT^Hpkr?~a1(5WoCZTIV zyU;y}YeAn+yczT*k-Q=FpF+P({CS$wlD5F}proy!CjFC>?m@gYNju>AaMH;&l|p5~ zbkt6yj*4h>kZq >V(g2hzqnJChyHSjwp*|17um_&Q@RN)5^CD*8Nv@2Iz}kBUPaZ( zc1;E8g5)JAjVmRc+-^;awNuNz)g3$M_ZH;W-EKL*if&G3x+$64Ft=Ego2w1qmdv%Y zRp^=&*4~uDZE0dE^9xeB1zw%XY1@*@mcNI*h A@nO>XD_Ft!83;N&mtttOp(gf%cHGO(XvZb6uN{vP?+Wdcx!BvEre>~2P1S-H(Pf!y z!EegE5%L|Nc{oE|4R23pE(iTnrrqB1=-W)r9m^HztbJZwQO)9(S(x=Q_(+d4mPVUL z{j=Cl#M|lY&&guXle0d7pGMd#TAIZ 352DwSU0(OMRbv-(x7HQ+wZE zBzNy1tfCJkwf_R`Ps_4z!#sPfP>$C_8?*1hdg}IUg*Dl|*-4 `qS6j0kDRBDgm&xQ5ce@+ &K4RHI$vnL&_HXVib6*@%dIYOrkohx(+sG>EwtD-QX=Kcossa&pw z140Y(o{!3-ae1piXXUj)yFbqpt?0eHn-xxTIxX;fDXG&X;5&9&j(Pm{PFy?pcIq2F zx#eNVC%62m6Ss#qI}Jgoe{>oJx;`NVE1Z9I;=akDuy%$eMyk%oFhZ7hW`0U%j%$|i zOGSQlXSR&AcGFHwyGo}gJKu&r_-f}#(dqOLSlVN0Viz7!+jrp+HNOjwqW!z@C_17G zkD}wc@F+UH%Utkg)OC-jHC-YjYEzd<(Rp-3m#Luc(e=(QA>?Rx7cRGhT{z`m3ytgA z0C`r|9gsA2WBEp*rktPd_9L`!cjH-La@hlE{i(5gLQH>JBD4im(GA_X^xp5Df;H`r z-3P^Zt-L4Zv$r&%?S {Kx&Fwe?}(gb7yn_ zedCPIpq~hBKcE} q7YS_ Sl=mDYs6#AXe#6j$*i_n2WtAx%Lx>)G7gE;-$ggzybSA@PN^lPE9gV|56 z(9*$de~$1ogl`sp4R}Arl!c=G^nKaU^aHtkhO>eG7|206zbR-{yRQR1fd1*ALR`zn zP>Vm-4MMG@I%pWK_vJgN3fIxf1nr}Yz+_xUYq3y=*vYv1)}a%7S>JAW?1i|_Tyhes z6Lce;6Pp8Fn;?#F0niZ#H2{6=pk~}|{=z|*VO;o8&|X>>yAo#;DV^<9ug9K_C4% a$QLhC5(QKy zI#YrLbi3$G{T0wXj%5#AhkVRId>!&*2c=?7 ^y==QDjGoj4WiER zUDO~N R3n#LEIaBF}nuuYOd*8`nHb;SnV8b3*mp*t s8*xn*Srqh^pmygPbR>QObPFx?fuIr?bGT!IqNgxg zMgNHptI2eQAkzva(;B0bUObsLI;apkc|PT!LD*C4bwM9UPd$%5w-DFZ1$6#Yj={9E z8T9BhH+oHwsj(T<=AZ^#V;;)e%E>s lifv6$&ybyO>4_T8WfB zq%NlO9JE_qN=qH|oLWjZIp{Tfiuf@HovALT0}gsawbCXODbEPCN&i$=(=I`+v^eQA zwVH q(_nhdMypK(C^{pdRE|X zukTMl>uA2{Om5fHGC?MP>uH@JF8PPldfMus*VIOOz(HrKTj&V~y`gTS7X|Glj$tcp zuI2bP&?iYbc<$#eLF}^!&?62i#2t!*4jP2(`$rs !n(ccW1zR_{AI@SOQ65e)qE@8s=v2sv!K1imT%L)UAlMZYeA-N z-=QBJT@T!0ip3MO#!DgYF!gfKAUZ;W95jsnLE{CP(mhIREySbS2b8pey_lZ!5xvmj zM(+tS?d&7^*g@;*BhEJdOnH7x;{~-+a`MIcW14gY>rBu2gr*BJJ?9ge@1R2Z7p->C zAly0H=%8Wr89m^jDmqTj2r_y2g1lFn*f|eh(KbOQ58u$PlhEe|$?EVMnz@q0nH+sX z^BuIFzM<8EOpd;#Lq;d7yl?4(t2mrl<$Xt&2r^!Nq!k8HZSwj0N4i_kmC` fNIX1ep@_s4@o?l2?s!P^$8)s~v>9 z(Q1Q(swh_7W03U5c=bC6^;8M!kb_E8qB !gqHVZu==;$V+dpda|bd|Rn^qlDOHygBH(1RBGv!LADjqb04c3S9ff=1k7 zbnhkKqqEdb3w@jXu BApc}FYDf_Zky4aoAMW3 zsP aXTn=#i9qphgSrN%=&dp)R%1D=D7=wOHtFgd3n%Tj-ONuk--5&O%?Ltb^_r z3;mF?kp`-*7D`M#p$Dq_Ez~JBtOlt^Ez~=;9_VR 91Z zwrr)G^d+7#>RSu-PH*vyRhu7R-FiABeS>F$n);wYRq2~O6V+ZptrUWnN$Qn{L?>sT z=c*wOGg?K9)9>=&RUi4==er_(yJxbREIM9UEublCrl5Vqx+!Y62`9R#YOhN-RdxEU z_!QkV)l-lOH%;|(>87he21VbP9#+%UFbi!?-{qOE##!ir^gTdREVN6|41*9uJ;L2! z5WSH8C(n6mtA+jybiVqnV|m M$*T2J*E{k*kmtwB=O7pa>BnO1(0 z+UB6o^hN5A2GQz_l~ku*74(6uG3(U rS`@)S%vW&_Hj4df-V(OZ4b= z<=%zrF$+y AY0UHac0sFIJlbaoz`d7prXsMaO2I=UuAqw@`Lw zEzo0DIQF?r?RCO!@-A0pzvK8;;au%rZ>u^a$jqWws@_jaTIgWrL*A>@b_=y-?((cs zz4x$gJsr(_)VoRzwa|x|yS%GaorONje8zi?O8UK6N{#(S9e$A!r}}{RH!5{MBU4J( zskbe}=W5p}{Sxa;-mg<$L1tdLUL^@)FKyoI)p$Xs4c@4-Up7A3%Z+N7AmimmH9}A; zuHqc^-lV2k=&Y (W_Q3C~;{N15O2{OIo4mC-TN!cB0rU}PB@jS`(u5eq`?_A-ws^?wd zwyGCQIJzzCC+{}(riJd#`b=$8#{_Mlhq64ryHxL2Ib|E@$*h3yZZ%F2k3{R~9<@*q z=P1{AuX^7>y?pnpZv~mseON{RnZ1}iJghPVnKFA=^%BHhN_-EiGaYo6?@=|$L6yFz z)O-g`^X*Yf9W=}LjJnQ2^}ZL>-GW-FzWrj~OX>$fCM~b3LkCP+xTarKUs;IHXkS&{ zgOPN;rcwl%biStY1#voCeXpq&2d&3*A~#v#c;)fBdi3>(m)F&^f{d5f)t?2imo>iE z)e#4+_x)9U;h@`mhn4>??1e2G@MK7~AkNV}zIW9^K_*8>)J&XSaOrZ6j;K}(agL6t zbq-oU@2PtQnY6s89v5U*)bFW1f;he&u 6AP~G966#cP! z&_Px7FO~F$c#+lNr>d)i&e#7|0~}O>=YbYm=-KvIlc-&S%!qPaMZanC$LsPh)Gk3L z4_~P%e`B4Engnqk7SLB}nS<5?-R7V()z|6)2kr8GtM&>q<@vqJf7_&bMR33GdsSi~ zK9BoB4YAO(?R(<+#A*xib-tfe-8&qvl|E~K!1rJEgM|*oFVLhvde`XQ0#f??zZ>*z z`vqF-Jr?>ekVoggXLPvIroH+>3-Pr>pMKjy{_F+Xub=scu?%Lv>5I}IStu7MM)!T+ z==#DkRu6U1-+gg Zi%MTRmuoakN`He4AUnDxSw#n8_g3NhNwqE7L;P>a~ zX9Sr#%GFapU^k}TbM+iS`=~kl8(*%zNsvidXTA9(^g9Qo`8(@lu5ev+?+@9h@zPyS z5oEmd)H58E=kKXE3Hm_R1%32i1Z|*$**)-D F=kzTIj> ?$Qm`sULF;Mpvfi z3o_x#^l}HC=O3c4by=RJpA}?A=(F?z$8wqfEd7l^bZyR+{&F4t3CFMs=o z5r=NEhmVIcONo)VR2SKa;;%y39hHzd8C9L8i6N)fauimNvRt zkZEUg_4N*Fpt*XJgPLic-sYgos8&BH2rB{HTe?U;@95T3oo*9kT0y<;@+HS-T0y-Y zA;{<&^bL* JEDM+}$go)&r&Xt^G1p^t!8=<_V}AE3+i zS_^##)S{mev`_IU+^Wy}*7)@09`IeE>ns!mx>E15P ^s&)VR^IQUuG7Z_886rAK&+kHS ^HyQf=0U1eu ^_&Qb{;j^mLDxq=rq?>?_UK)DdAfv)F6p|<^9OyEg~oL475xW&orPvW_eZ_K zLQA0gqrSsJ+*h8__gRSh$}@VWh1PZ58U3u@Wud#f?go0+Lc6+dr04X03;m<(3H_XY zU69G`^ZK|Tb4K*M{!)-Bv%UJ23{G_`#dRCy-K*!fGiYPyQQjAH?@WU_K(|k?%r>a7 z+XDKN9+1Om6^-oneDt66GZvcA?MU=1`uq;Ya(=gsbWr=m%X%s)yFKlo9@CL^rsQAO z7Yb@c$@hwWUDpd*70o^1FM5&DMX&DOEBY^bg)7`4XN9z*drC|M?dje==C6+K&)vJk zyy>9B-FwEg>8;|$tfk)4I|S_`_VSkAX(9IVH~pxE*vmV5w}sftyZUKCrj;Mjdo3M% zIieGCIe+_zy}YNhEyP~l*A*6GFGuw}LB`7mnm>%n;n>RudZmTf%ZK_m7Gf_S>l-Y@ zUOv$`2{K-e>CGph9S%Ax=9u1Pg^SJ~74xZ%%j5Vs+>n?)!5$itJi!H=`<+yHj zEbG;Az0PI%AHB!X^`I~GAxp NhAZ~S!?)9#M1C9MB5_toGi9k<>CX7cr3{;*|_b0&U@$@mp9gW=vJge zk%=qf-%IOVmJ#`{mj-sckx*P>|EsKah^3plOUccfoHEt)l!V%M3Vm55r>EM=BWpDs z1ohD09D7YiUHoJz;ZH?kVsY30pE4u0Z+Le)-Tc?$!PK(hO)VS#)K+n7*kAYHZYQQ> z?n&f)y#(r|H$Z*#Pf)yb3aZF$^S>o-dpG~f{yBC<-$|~i2bXgcsKT2JOy`1X8VMT@ z#fscm8tP8l|4zR @a7xOk@8qWc9F5GqG=G~q KIQH~hIgmUv?8XOdP~|2Z~9S$x6`&Ej&piyFEjP{>(pHizh1)b6uNnn z+QCj4{&KEQU&6m!N8HBjQO-Rox<|I^WVSJurcFj98t;U#_Sf?0p^;9?|Nqz2spSx< z9e%F;=k;R7mdS|GLl=O0t+CxLpCxkED!jMDZNS*`Ea0X2zasaEPd_a@#l|f$bH`$_ zIkjz=@$>X!vLYj2CShAZHC-e84Z@r8#PFL$evd=7j3+2<8FN^EvgCe|m_GZY@MgSy zTKMNdJu)wQ=_T;EnJx5hLOEW$zaJIJv0tEHiQLSmrX1{XEGfxD-#OkCMN)2fEGl|( z8h8sOJogN$B@MQulStSGD<7dOQPf>1$LOBX?2>eksD>|sy`~|*8rE%N`qWPtt37zL zg d4HL0-Eo;b^6ZA4u%K0B z;^p;;k`}I|huZ6wki=;6X!5d9VmE$FIk@@DMSHbScTdl1&nXOmdhxyu$7O1B9V|~L zKh@s!FAn7))_TR8&+>MO eV(f2G-yeK$CV>HU!2qbC3nZ}E*W=T z+;YwZzhA`hM#}JijhVMfUHsB`?v|fA(>)|%-EGp%o7u!Yibi-3{Z7KV$JPBJF{9Rw zAm`=Rsj)QU9$RX9O+5UZH-0o7a%n4N>~i}zD>{>g$XI&v$o5NeQ}U)2U5m8}zrV!k zXZw>qm{IXm`Kc1)?H#1qgLj|U8}o*0`lrZwUH8lKPsE<7NrNIcA4&7cbMB84m#O#B zIqctz-b^)pE lWAAPiKj-m&i?mzQHoA4-7){#TrES&>rj)qu?6WXV z=l^Y$^7DA@b3+rm>1&3+L~ h8$(uks%1FP3Ij8sUV( zyK29{o6 cshFs`2)eU8;83hQz X93 zqs2ZA?I`|@O(Q&Ox&+iiYe4b7Jt*GF1NGAZP %5% ze(Wx}kSi65(%#af&vLI(l;`42fBdz!p`;w}p5BmgG(b(jZz6t^@LR9=3eYW}^=hlo z9YP-wx?AY8LiY zy`VI(n~oNY3=Gu&E%>L3qu9dMK)LQ!cuk-}4=dahm;n3rG*Dkqco%HG4(tfT(A9;% z1HGg054elQPa;ecpSAjE;fsMK`oDz-1Fbr_?_1zA`yL6bf%XIOb}X=7ugh3~cc(b^ zOwb0Q%|b5&<@;T?=$gJd7H S>Yu``wEwr}pF3&Brv2U;F z9s2JDIk6mLAJ7M&WxiM>gJK`i@An-Y%Xyh7{Q0rFIkmCRg04pid>vR7dkYm7g;f_C zP_z-D4rW&2IsfvadfabH?z;_=aYYZs-lC@!JqmtS(JoJ`t}l8D{G|xR{7c}I`yPmW z1l}mFhvbWCGcHSf9k>j+SX+ehM=p}%T4{4p8}i6^cpkyNV(D=Q^?gNrui`QIzXd*X z;yCtB@bi4p#d<3pEV{?HgZ_r}6v;h+-ALzvxc%_FfO-q hZPs6`7m)T`z4n5B$oXWOE$gKZ$n%e zwZVUdI@<5PI4;kJ<3`XI{Wivatka7(BF2uzFUL(#9gBa5p`~l_+i`hP0==nE@dDy@ zg(o&qv&Z9hQ*rTHwCW+nh4C?p>nKK@SNuHl#V^MP<$hX>;(ClxwZ(rC`C*~&fpSSI z)l}?HI6;@e^KpH3ab`k{`b}}K=vMtjT$PGZhf?o@ khm8TP zM{RyoTm{N}rPNEc(DQ{V^?5NR&XHW#Nv^BuhvM#ut?<(+uF~Q^LR_sBUBYc6SW=Z3 z^yHMB3!Ba*(-SLHQOQh5KFge&cs@$09+d07RgZ$URZlEwh2+ALRf#+Fypn4nsVli9 zu~}lT6#Hh-?TMV1mlID=QwfK?3~^;j`tyXg>g^?m6ECyU_!4p;~pYBr53<+F7zK zwwY!XXC|!_n{vIYqzCvtCF|qX(B6{4N!)seC9Rd5-Xu9)Ne4@|C$5y#uA##v=fR$9 zaI<*WEdDps2PLbLc7w0N`y&I2s?^=$;X(1hX?`u~agpp1$qxNl$--c{9#FJ2SR{U! zt`6>}A4)z`)1=Mpm%dYkXF3<)sX =JUcvI>>rAs0CI&e{Pg{MRRtCI(MdiUQ1I=KIqUWJt@x6q^g z7p8Cv|4diFvVoX33%v|)8*mve@r2GuO#M>)tnoZG__@>{Ogr)Xe(>wy+1n4az2x0g z9%GL}!X@(q((oBVar^($;@R>`vAhK>xd(aSe*q|uV{wYdF|T6#7}QahG_T_E#H)B@ z+oAt9m@QxG*FP;=@rYEej}M-h#;q;{OKz)O#9MFB?TKAPQlfaiD1+o!utcpXdnK(z z{EraJ62&PjQJkvY>bkOx)LY$Fwmz;>JXDIL3$!R D9`N zgghVpKo6DmiauXrEZ0w#Wu=$vXUm4A&k;!%^ Un4=cBAv){n*DqN7Iv_m6%^WG@kZ=R?{Crr{aw-4|WTD0dyvIrSsq| z%a=jt(`%s363b#b3jQ+j) UuEzU59$HJEgRY}5KyQ+`HsK)@55^Ks$!N{A zQZK_^TjTW#&}ys(5U=L2=j)Z=XX>j#=jdxd=j+Gt9(lAk-4{)9-uAvY8t)7FA@}VD zt@G^xUFiEGXtVD*(8azN{F;{gDq}pf-S=-u9`qdt-Rb)h^l{%epu2qEf$s7B2>OhV zqC9v55nK1si#|W-E4~=e1HL%WL%u}NHeWL6+rBi=BffT^M}6% 0p1nglu ^9iv&$P<}fDYPYc7y097 zCf|iC#Vw%o;_npt4Cr<7M}$%e^Lta-PkB0rtr6NPbgR&3g?4EtX~<@qF4 GrhS4 z^7^r)TxgBZR-s#ks$$mW39T8(e5=r{LZ21-o=`PNv_ic@Bqc)cENA&MLXQZgVJsOc zbf(Z2p?3(3zuI-Xio)q0b0CB9tn`gV3QuX9{f*dgL7OIfm&> zp?8nr)M8H|+*7|4=T3ec7vqS_7 gxT^hS3c1P@< z*k@z+#eN^#Gp;ypXk0~HecaP=FT}kO_fg#UaVq{;{1@>j;wd36p<_aigo1>Ugt~;L zgqDPr2{$EdPS~38aKe)bdlLSVkdfFoad6_ XA5mHJrfo2j3qewFG;i%sj3R-blV+QsR=PY-5v$QY7wP6qG8 z+MlA(vtlty#^Xzo2^jHGXfF1Mn1|gT_$=rm!UZ5Yl b^h4o~r^bW-IyDIT ze2}%T#xXsd{u=1f^w&W@75a6%$zGx#g^tO*3jEtqH%AeDlzSWKr@3tZMK1gKUg+6* zuR{K4RCKhhJ&~6Henls?ytWftrgUe%n^5CzV0T{(QAKywvQJGXFs9-TEU2dMaptcu zFZ;m%h#YJB32Pih{}rlKEF>gUE8Y#)1B&ZNDiJgXJGf}-pi)3PVh34GB`O0prJ%Sb zuQI`(0jg=JY7f3#XoAjxBwlEu?g)7jsHULK15MVQAxROMrn^FtDzu&M4tXZ1raaBN zk8}dn)LHie?V|fY(iK$WOAy#omwJP0>Z7r592E#1p^G6IE_9?Wg?yCI(fSO?&lXyt z2SR=hsHQP`F!)MPP1E%d@aKUp4fKq?Ja&ETgt#?vcg8&tcR1mrgl`g}5)%{eNc?+Z zZc;_k#H8g(dy-yA8W1cGZVDzR-=F-i 3N}PaB$6k+v-D>a;y+d(+y| zj-(w=3#3m=e ZK6ZDvx z5BjNE2>Nfe81ysM0{XdH4SHOy1O1QM1p0-#6ZA{99rP=;6ZC7f3-lZH4CuG&MbH!K z0O)tB4fK0;1oQ{>5$KQVbI_mEx1j&!rh|(_(V$8vfok0j)T47j@jWU~pY99l*8@PK z^ia@fJsLDdj|UCtsi3iXCTN_V4;rr*f+pz2pozK#G)b=p4eE8E$$ArLiuShfH7oPu zCw gK!7@W6m6ZaX+{15^ww!)@1I8YLy{eeyi^DGoyU7Ic zOT}1_g)yK#emVHAc_+%lyo~*}s4I2HuQ&CgKKS*+)sJHQO7JVi?@Stky-tQ;%{7G1 z!FqZOe$%mX!)_Y*;`#YlPtC(>stM!mB^YZj!8m&f#@I`+B3OWx)dKh|50v6Jn-XJ} z;J94)=(yPwkKcv(&BkwjT#hP_~odq uc(2m)11bHa3i^t%J$WG>%|WbEy6#3l`KvJuF<}vA*Gq6j z$g*-3p9yA{ok1fis`@#Sa42-quf{#Hj?QMI%En7W;o-=xRYK#@1pil^j;bNc>~!tu zXDYOmk#)6Ak#^>4{E|X$%%j3IDjaHXm6w68EJp;~_(m^kXj&Mmt1F*7w|4PqYs$88 zOd~Z$qv~qrjjusQ8|I<6)HH|YEuj&Oi)Ph@$|nu4s5qUvYEk{^#FJ|47uJPNr?KPb zEI4U!<;Sge=ZKpTjjUhTyhPfg>CLCj;n>=y*(idVhEU_8CK?|Op(x5PtqF%*4Vfw$ z7KCOu*C1=ZU@*Rh2Z%@$oEVxHS{&&hqiUL(kp`61>0}c_H9YQEt{dh|TEz8nN+Kp9 zc%4a>J5!Tt=Y&QsZVokY>u5S{9;?m{*VGdmV#A$zA%X7foh+0Q?i8DdK=dOPHM`o` z=~`n|9f^^vwj9h=HNIv^U1QChkqxsOIrpb?VVPhQp4EgFHoMt29ucamt*>nk&9N-p znHdGIj$y@|P(yQV^AbB?MFW~?C~QNt$56O-_G!FWqS2wcg-D$EA2)YyQ>ghgw$)1( zhRT~xqZr@VRO^}>PMbx`geEKsg_o2sYHpm=+_;dN@2?I#Voei6mtdd?nU-Y@J*SJr zvZINMn*QgoG;xt__VY>43jOo3&Jw$-*(KqM9^P2DsJ`K}6+8*k588CW*cx<>#dOjE zBVhfaW|>