4vNNQ-Rܲs'4A3AO >%㈉'blXdn14V3R'b+{;+raAAXc)#z )PLM̼T_?ϼ}Ljem|_Y^g(hrgɽ ";WγiE--[]+2lEtU/Zt:L&x M\0 zN!ꗒ.nKo#Y Hbl0`rKD؃;& |d6u7 (pZ<;=c3۱ pxr[;^¡Rr42wl'Qʙilpq0—3%[B}lnB(FcHM*y s E* /D{mwGZ䱰@lc!s.w K+6@8ˍͫBD#hrY 8 :1l']Q!"ILD̖-P?쮸[,0Q\T"~4@o ckO@삔vl6KqwgʹK>5(nB1ADMvGL;t-w۷ƟQ&YTÒi%{mD|>mamCQUiiNs.d$w@u6p{h 1Xv`rʖ>1v]r/o<+]>vyF --'Rne}1s{u k26x^ yܡaU7O K8ߕD  ]@qBP PؠOBEK-|մ[4I8G=164rچyM5'#:Ũ@cR-}>֞wTF3?`,' |wFsCTLO!0W8\V^Jf)獚+TtmXfB6`"!\8\ |$''%p%D y_ץ=җ{Y !@,|d G%>ܽ RG-X=h%a;!כ#( X&(:e\ Iy,V˓l6 b^'9q1)Zi[+鏳n("*p<|4Z- qt&m-0HF;hP,0e1bdPfСG$kʂ;HGxf0F=J|sfw%%^fC}8U]][]>CIEuϻKmg˞ojGŮt')0•dfE`WQ)yܝˉ yhliy[sq%!/A R\!Ӂz6P[a3ӻ#:^\TnЌnZs':+ᔠgO8E'4wp6Gi#a|♘'cctY+'m3md47Z>t)yqO_QRye; ~WˤxiiN%S*K9nXZw ;(CdA-u]lR,zU׿Ca}2P5G=*tpK°<}Ht < ze<-=z!nuxi?0.}}ِ@{q҃C 5pZ@T]D92~^Bb%j{fc[a6-!9y+&tޔ!gwv?%N/+^tu|quxM$Ɖ00`5Ht*L<Q:8O9ШpX 6NQ睰,Q0ZJg2x.y>?Iy0)1$H@u&\79>Wv8] ґ)Eʏy)͟#8ebU ,)gXR`gbXyS` geXS`c=^@59%rFyaTK?_2%}L-O(/ݻwc70&:߶C5# > s>W7uYk,RY-|.LVzs| mI@]WP]e+}WCC+ _ VHd8 >\luTxOFInvZ% Ȃ.-- -(w@ )Ѕ˂ @}HHwҐ XZٖ˫4Tg>^BuIVAC{6,'z] ):̔LT%|A+2(QK. 27,;5A=8|^J|{[o.h#2؇Kr]$6ZpAf$hѯ=ENMyP#U~0P J-_ /LYl A%k6a0mG\[NaDaԄW(4zw f#C"[A]!kѸr<|zG{ 9qT?kê85<( DȢ74_4q"ܽ@7ބޥcٜ}x”}hkm|O{A|pp;x7'ėݰ7HoݐnQ36y@ D0K܁`W"e1v0y5AwƨubD7%w-98aw9|-ϭd/Yݻ*,)J7XH;US4.7 S=L*}wUb.grōBKk 4&z=h)ddOav^.hrNZrx#Fߩ9_u8ŷb; zAUWuKveٖc "MSi`$= srn$X`UXso:L" =Ga ( 6I3DBGn:D)]!x_gNj2j0{eu΢]Th-,h]G!DH4n u"c 30&Y8:fg%-Lw0 KrMؘSY!$؊ CÐ\43ua8({#Dz\]eXZv4L)L"*˹t7(#>N7k'k%8jw%mWXaҮ41ᆒ4\-& MJ) j1G)Ph(<̼ﻎQi,{gy/@t ʛ֜SU^ '+&ZUn3X~aZ$^XAY u l͖IرÓ V!BEG]Xb}ncg77YJW1.9}+^(p{v:ԈɆ+bU'򈻗ӵz5J/J4nX}\('mbA'S1VR @Iعİ?ccZOuцJuQbSrä:0Dg0dzư ^Di/rCzR+7!nNu7Le{l=*6}.,[7'C0`Q a(!,EA%i8pǔ[SrQ fk >,\"`ts,-dtlgk Htӣ%b8H\X[(*ԁؚ8D ufXǐN! TEB8m`1r#2va(nO(;ȹ(|QI*`\sW:mV!mY`X_kpE .`F[qPΞ$#ʛˍZK4LLɓH^_`u^ѨrtM l3ր;M-PO0=> -C1l5L% k8lMC\{ l?g8`὘U5hM* l%`UŅj{\S,3S3oW0P,B&cf!J{UYKr)ƓfX+.K^w9-uD \8NɴqU4 {3f$yrUg`zB7Ir2-. fBc9+fΧԲÙ63t7\ּAvM"5,MqwiyP4/ p%ui<[d"眗`zu-t3kF3gOߛZjQ)Hߤ\/o'{1׵Ka6,j&lcP|u-DHmY*l[A>z8HĞnkN~u$_XVYϭsk=D*gyRG8rɦit8g E8iZOMYBtb(+DAG04h7hk}%9z{:ȱ\IU#puF`n<tV;lМckb B- н26l([5PFTnNDo\`ʅވU5 L E f+BPw<ԍMA6{M=* !Gn.YzƸhk(]#e30 vӲ6GѤմכ"O^&pI"Gd 6H&gJX,Y:"eL$i.:h 5Sp_1@jSgy+u‹ J袧o|Q( ߃V̰{+6\Ly|3"4l\ S,we-LgIeM =# k0hLArI$Lu8Z/pQc9(^GZFtW7dۨl0Xh(`A AhrxEBVȚ-[u7=`r#R}™S{ 2_3+33h*BXs60 1fˋ%T,:R!Ͼ9j% 7,N75[MO'W2m&[O:Fc-q6\x. FMP 7n wGqN&쑀Dhfc66#Ϊ7@'YfٍXE9j$#Tˆ,EO].tAю~h/CxESL157Ǧm=RhPў4>h-L35/ʪP‹ȫRY ̬]}Ar-Hn^DLv19_k/ 1[Ui*\{߀jlt*R,=}06cobHf"Ɏ (׹[* W&3X $Zϙ .n?#uxܺsנ΁O] g=x…Ht$9NG #d0K2n}$2PxqX*Tz4ޚfLaH\=RQh[}ٜZY!Jz.Zlն8ǨS >mc,smSpxrh5^loșlCh2$8Iך } oS[ammWӍc,Řo1+vq!4WbGc[xid35(#©-F";bah=3l`#"t룩x*)]rvf22HCQsdcl9/7,ppCY(dVkgsq0HMZQ4-_(>r*çWd,-BtRA";ZEcўz͵w3hnV/Pl_3FfTrϳ*| [j.* a*r?as$[HVO23_[(6vkfRm֪U"!݊܄iTfõr .Uu)8? kV,&J HeBF܍o<\[j>f\U .ŸI>呯*5D))5JQn `=d- ;tn0Xqed?VŘbIEw$ H;TK#.@1y~%4^ a]X??)}6@ɽpP$l+EڬQ\7 Y`¥aFU.L3X3DO[bmxgd6GNB$Œ! ʭ95B6+FbKg'T"JF,r #4fm*K v42A:>TևL!m|).V p,VيV0' };5&+bf3`:7f .dl75zǀZ( WiłnFwR4]C%2 ^}r4MW:M7-,Ft߯ͦ7g0Y1깷{1c#}"DX3,/뤸rqw,Jrv;i!nCT56(vSc6ƦfzWٻ"o\F _?d0CلA$6bn4;qmHȄRe clKEtk&vL>[qjbHpT>RFd81 R 8 4ebgTGuOKu#_ֺ7!۠.ZeAfli@F@V~Y`/Z.DQ.ԉ"?_*tJopP^ɺzHKX@-Y:Be,m ΀$g_,P9 5+rÚ)*Uh$A_ Lϲ elO$8[2s Xn68h+0|R5G'Y`[!W/SlvW2s3m1ѣd铩$7Iܘp@$WƲ(zAYTA }gkbw̫{[zR' z齺A| {7ѯk#@8Y ƾGx^@`r cn/t?iGn"OO{]ݘ_,x7#IA_dMeaX拤>`maUaXy=`&Ϋ]yL9sFJϒ΃'7N݆>PwY8V Ȼe`qFa&3EsNJg @F~9"6n!C, 4p c؄ސs:gFR:3J: qz3Dž!}6qx6)H^LPItKסl_Ǫ~=[V|njաq$[2¸BLĢY͖,"8wH 7)Fbh abA2[{A}"L@fR dwXF+j>o8}dly7#V?6DI:l"x?ՃHoɋVߟviv-z[@ E-FWO+ߨ ܃Y7MQp]}IwF-+lȰl\yl!2^.f*REZ“pp#3كbT;)&gljWAIwe +v-}$05Whb-?>̀@5ޓH箦bK/FZPp hv[aY8=WŒWvBvnwjXF{.Ρl*͍ŒC'` 0>05lYJ@J_X3_4gj3N 6l#xWC!GE6u!+-}fӔGN, 8!Wn'M2r2kѲb CR' z: x6neSsוZeYpVT4h1/!XGr؇]-h#{ BD Ecg g$c;*(/LPHAH'1cTgA{6;s*K Wh 2PqI/Ѯz .Ux+VJYH- Ű Z eaQ 6n9cꥅ ^*` |& =}0& jNc "MSn39xqh1M}P0fp RMDT0žo`LDv>m L|.anT oYB7{6q ĀTA1 ܶ>@&_|nOԆ P+z* %}vt7Np6=weHah>,'8' l?# # Secret Labs' Regular Expression Engine # # re-compatible interface for the sre matching engine # # Copyright (c) 1998-2001 by Secret Labs AB. All rights reserved. # # This version of the SRE library can be redistributed under CNRI's # Python 1.6 license. For any other use, please contact Secret Labs # AB (info@pythonware.com). # # Portions of this engine have been developed in cooperation with # CNRI. Hewlett-Packard provided funding for 1.6 integration and # other compatibility work. # r"""Support for regular expressions (RE). This module provides regular expression matching operations similar to those found in Perl. It supports both 8-bit and Unicode strings; both the pattern and the strings being processed can contain null bytes and characters outside the US ASCII range. Regular expressions can contain both special and ordinary characters. Most ordinary characters, like "A", "a", or "0", are the simplest regular expressions; they simply match themselves. You can concatenate ordinary characters, so last matches the string 'last'. The special characters are: "." Matches any character except a newline. "^" Matches the start of the string. "$" Matches the end of the string or just before the newline at the end of the string. "*" Matches 0 or more (greedy) repetitions of the preceding RE. Greedy means that it will match as many repetitions as possible. "+" Matches 1 or more (greedy) repetitions of the preceding RE. "?" Matches 0 or 1 (greedy) of the preceding RE. *?,+?,?? Non-greedy versions of the previous three special characters. {m,n} Matches from m to n repetitions of the preceding RE. {m,n}? Non-greedy version of the above. "\\" Either escapes special characters or signals a special sequence. [] Indicates a set of characters. A "^" as the first character indicates a complementing set. "|" A|B, creates an RE that will match either A or B. (...) Matches the RE inside the parentheses. The contents can be retrieved or matched later in the string. (?aiLmsux) Set the A, I, L, M, S, U, or X flag for the RE (see below). (?:...) Non-grouping version of regular parentheses. (?P<name>...) The substring matched by the group is accessible by name. (?P=name) Matches the text matched earlier by the group named name. (?#...) A comment; ignored. (?=...) Matches if ... matches next, but doesn't consume the string. (?!...) Matches if ... doesn't match next. (?<=...) Matches if preceded by ... (must be fixed length). (?<!...) Matches if not preceded by ... (must be fixed length). (?(id/name)yes|no) Matches yes pattern if the group with id/name matched, the (optional) no pattern otherwise. The special sequences consist of "\\" and a character from the list below. If the ordinary character is not on the list, then the resulting RE will match the second character. \number Matches the contents of the group of the same number. \A Matches only at the start of the string. \Z Matches only at the end of the string. \b Matches the empty string, but only at the start or end of a word. \B Matches the empty string, but not at the start or end of a word. \d Matches any decimal digit; equivalent to the set [0-9] in bytes patterns or string patterns with the ASCII flag. In string patterns without the ASCII flag, it will match the whole range of Unicode digits. \D Matches any non-digit character; equivalent to [^\d]. \s Matches any whitespace character; equivalent to [ \t\n\r\f\v]. \S Matches any non-whitespace character; equiv. to [^ \t\n\r\f\v]. \w Matches any alphanumeric character; equivalent to [a-zA-Z0-9_] in bytes patterns or string patterns with the ASCII flag. In string patterns without the ASCII flag, it will match the range of Unicode alphanumeric characters (letters plus digits plus underscore). With LOCALE, it will match the set [0-9_] plus characters defined as letters for the current locale. \W Matches the complement of \w. \\ Matches a literal backslash. This module exports the following functions: match Match a regular expression pattern to the beginning of a string. search Search a string for the presence of a pattern. sub Substitute occurrences of a pattern found in a string. subn Same as sub, but also return the number of substitutions made. split Split a string by the occurrences of a pattern. findall Find all occurrences of a pattern in a string. finditer Return an iterator yielding a match object for each match. compile Compile a pattern into a RegexObject. purge Clear the regular expression cache. escape Backslash all non-alphanumerics in a string. Some of the functions in this module takes flags as optional parameters: A ASCII For string patterns, make \w, \W, \b, \B, \d, \D match the corresponding ASCII character categories (rather than the whole Unicode categories, which is the default). For bytes patterns, this flag is the only available behaviour and needn't be specified. I IGNORECASE Perform case-insensitive matching. L LOCALE Make \w, \W, \b, \B, dependent on the current locale. M MULTILINE "^" matches the beginning of lines (after a newline) as well as the string. "$" matches the end of lines (before a newline) as well as the end of the string. S DOTALL "." matches any character at all, including the newline. X VERBOSE Ignore whitespace and comments for nicer looking RE's. U UNICODE For compatibility only. Ignored for string patterns (it is the default), and forbidden for bytes patterns. This module also defines an exception 'error'. """ import sys import sre_compile import sre_parse import functools # public symbols __all__ = [ "match", "search", "sub", "subn", "split", "findall", "compile", "purge", "template", "escape", "A", "I", "L", "M", "S", "X", "U", "ASCII", "IGNORECASE", "LOCALE", "MULTILINE", "DOTALL", "VERBOSE", "UNICODE", "error" ] __version__ = "2.2.1" # flags A = ASCII = sre_compile.SRE_FLAG_ASCII # assume ascii "locale" I = IGNORECASE = sre_compile.SRE_FLAG_IGNORECASE # ignore case L = LOCALE = sre_compile.SRE_FLAG_LOCALE # assume current 8-bit locale U = UNICODE = sre_compile.SRE_FLAG_UNICODE # assume unicode "locale" M = MULTILINE = sre_compile.SRE_FLAG_MULTILINE # make anchors look for newline S = DOTALL = sre_compile.SRE_FLAG_DOTALL # make dot match newline X = VERBOSE = sre_compile.SRE_FLAG_VERBOSE # ignore whitespace and comments # sre extensions (experimental, don't rely on these) T = TEMPLATE = sre_compile.SRE_FLAG_TEMPLATE # disable backtracking DEBUG = sre_compile.SRE_FLAG_DEBUG # dump pattern after compilation # sre exception error = sre_compile.error # -------------------------------------------------------------------- # public interface def match(pattern, string, flags=0): """Try to apply the pattern at the start of the string, returning a match object, or None if no match was found.""" return _compile(pattern, flags).match(string) def search(pattern, string, flags=0): """Scan through string looking for a match to the pattern, returning a match object, or None if no match was found.""" return _compile(pattern, flags).search(string) def sub(pattern, repl, string, count=0, flags=0): """Return the string obtained by replacing the leftmost non-overlapping occurrences of the pattern in string by the replacement repl. repl can be either a string or a callable; if a string, backslash escapes in it are processed. If it is a callable, it's passed the match object and must return a replacement string to be used.""" return _compile(pattern, flags).sub(repl, string, count) def subn(pattern, repl, string, count=0, flags=0): """Return a 2-tuple containing (new_string, number). new_string is the string obtained by replacing the leftmost non-overlapping occurrences of the pattern in the source string by the replacement repl. number is the number of substitutions that were made. repl can be either a string or a callable; if a string, backslash escapes in it are processed. If it is a callable, it's passed the match object and must return a replacement string to be used.""" return _compile(pattern, flags).subn(repl, string, count) def split(pattern, string, maxsplit=0, flags=0): """Split the source string by the occurrences of the pattern, returning a list containing the resulting substrings.""" return _compile(pattern, flags).split(string, maxsplit) def findall(pattern, string, flags=0): """Return a list of all non-overlapping matches in the string. If one or more groups are present in the pattern, return a list of groups; this will be a list of tuples if the pattern has more than one group. Empty matches are included in the result.""" return _compile(pattern, flags).findall(string) if sys.hexversion >= 0x02020000: __all__.append("finditer") def finditer(pattern, string, flags=0): """Return an iterator over all non-overlapping matches in the string. For each match, the iterator returns a match object. Empty matches are included in the result.""" return _compile(pattern, flags).finditer(string) def compile(pattern, flags=0): "Compile a regular expression pattern, returning a pattern object." return _compile(pattern, flags) def purge(): "Clear the regular expression caches" _compile.cache_clear() _compile_repl.cache_clear() def template(pattern, flags=0): "Compile a template pattern, returning a pattern object" return _compile(pattern, flags|T) _alphanum_str = frozenset( "_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890") _alphanum_bytes = frozenset( b"_abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890") def escape(pattern): """ Escape all the characters in pattern except ASCII letters, numbers and '_'. """ if isinstance(pattern, str): alphanum = _alphanum_str s = list(pattern) for i, c in enumerate(pattern): if c not in alphanum: if c == "\000": s[i] = "\\000" else: s[i] = "\\" + c return "".join(s) else: alphanum = _alphanum_bytes s = [] esc = ord(b"\\") for c in pattern: if c in alphanum: s.append(c) else: if c == 0: s.extend(b"\\000") else: s.append(esc) s.append(c) return bytes(s) # -------------------------------------------------------------------- # internals _pattern_type = type(sre_compile.compile("", 0)) @functools.lru_cache(maxsize=500, typed=True) def _compile(pattern, flags): # internal: compile pattern if isinstance(pattern, _pattern_type): if flags: raise ValueError( "Cannot process flags argument with a compiled pattern") return pattern if not sre_compile.isstring(pattern): raise TypeError("first argument must be string or compiled pattern") return sre_compile.compile(pattern, flags) @functools.lru_cache(maxsize=500) def _compile_repl(repl, pattern): # internal: compile replacement pattern return sre_parse.parse_template(repl, pattern) def _expand(pattern, match, template): # internal: match.expand implementation hook template = sre_parse.parse_template(template, pattern) return sre_parse.expand_template(template, match) def _subx(pattern, template): # internal: pattern.sub/subn implementation helper template = _compile_repl(template, pattern) if not template[0] and len(template[1]) == 1: # literal replacement return template[1][0] def filter(match, template=template): return sre_parse.expand_template(template, match) return filter # register myself for pickling import copyreg def _pickle(p): return _compile, (p.pattern, p.flags) copyreg.pickle(_pattern_type, _pickle, _compile) # -------------------------------------------------------------------- # experimental stuff (see python-dev discussions for details) class Scanner: def __init__(self, lexicon, flags=0): from sre_constants import BRANCH, SUBPATTERN self.lexicon = lexicon # combine phrases into a compound pattern p = [] s = sre_parse.Pattern() s.flags = flags for phrase, action in lexicon: p.append(sre_parse.SubPattern(s, [ (SUBPATTERN, (len(p)+1, sre_parse.parse(phrase, flags))), ])) s.groups = len(p)+1 p = sre_parse.SubPattern(s, [(BRANCH, (None, p))]) self.scanner = sre_compile.compile(p) def scan(self, string): result = [] append = result.append match = self.scanner.scanner(string).match i = 0 while 1: m = match() if not m: break j = m.end() if i == j: break action = self.lexicon[m.lastindex-1][1] if callable(action): self.match = m action = action(self, m.group()) if action is not None: append(action) i = j return result, string[i:] BYV@1MOYT+Z%΀|]>9`hUϙ3Pۄ;n~gs\S@%B LE'QtnȽLyaSS7]cb͉J\3[@&d՞2ֱz9Z33 FC8ek FInm`ߡAGZ}]4Fx{ Rhq "ɀF<֭ⷁL3tRXRڴOHdAR0Aoҷ7l.˳x]j߈6wip UHP:80xC>njD G3)%a(4whQ59똚HA."x E(_0xz;KY1|Iti#-x,b"# DV2xb?& V # ZfkPPp~]v4WXA?SH)j0 D_qSAB.i}>¢8npJvMۨm%,j;Ko7@:x+rop3^.9'~sӕjB)en 7(AY7ȃ,b0n,!SN Ea82@X$CI#VV ,94݋-Ҕcl} 0L./wWq,m_T*mL8wŮF!B_emsbqI.s(/i|`ڬZKN 6rdg{Poۃ҂CP:mkޜ)6Je?DG:-29ΝY`$?CeLnl`v,.-P.o@X.o0( ",P\p>bK>-4(g)$GU pRΫmVn&ޙNΒLpsѰBp39!+fq3yZިщQ<|͎b~ e}[%8YMn#E 8H{R72P/ aL\ƒդ n89Noy,+%gA=f3>%z g0 k fmH}T^A AGgSHہ`F&"k`?vP -^UoL!l61=s`beL4}M&xQ(b\h8ll^ z*X@Wfhd;6^0Ѱ,xhqkHxF`S\L~VRC.<-J#i"D92wY(3Io"M4-ky:2!?  nJZ-"$M&vˑcwh:lQp 9xM7zgn \GnhWn=8t^HpMMFLv,Ζ1;[ [N? ox'뉱N=i iu8A^vJp;$]xuzlN sIyzՏ{lhhݞV2~^L=h9:@}7Sri@X{e!LV G(ow5Nyc)h9xo4^򆺡mn0K; J8Z|~V9_q(P9|K2(#\| >\tU&˘~qU?u ^/'DNx*i+9d7ubl(v4j;81Y_g$kBdi ))3nn)//8(+'Ӊ V+7T;v  O 'ތ @nMF}^,"'m33d+x /Dȑme=HMzo:~rU"_1Jn3ण7]4oFsP(U%5ۡ?1i5.qmm8Bs`Jw fV*|%)288%Qr*ws0WDpO4 خIP~0t`]] :?<>}p'~nƏs$Y$?Yԁ;t>D' 3_wG-oI )e12- xl#$G?ZolIAy\Z-Q~yQwfĦ] Ngp߽[̈UY vA'CDW0EJ!q/5ͥUӶEC^JO0'ʪV|&̭~bwys+%n0iFйE)];ZptOy}Amt dQoAswNa刵O/[@YkmCGQAGݔA >7KYVƍ3~1%C*qM쏇G1޺lQt73'NF &. 4Gse tIWzfSkfemI'n-2l@m.ZRc(6,JtX>^!OO 4Hw?T;s/W];; 6}?v+ ݃a(姖29h)Lެstr9ijR ,`#FFjԳGȁxHދ}Bh8F..Ѕ$q @8|zeY_gdY^ɋJȳRVM*J%dV(C\&Ve dDab;_ᚎ@I9 p9Op \ 4]{-Ӎ2^էm{#Bu褿.~}%x@#Iؖ{hP9–ۏf0$ȫa D19d}PGAcMu&6Ī3D\ZzP&a{ߵ?P-VUDm-+#zBQy BgWGr.| GXŦW5jvƉbMmw"{-Cs YuXY-B/|L:jbb@OfD=8>qׄ( |Hf}HL}^b8tspTMP2V|ɚEh4UuXC t8TSZneAp&+M)^EO;@2Gฮcz)7Ô/)NLl׵CzeEx:U: .0ɫ`&c,`]uihu&CUЕ0ELPK*iق%}0r,-1Go"  c>7N7 M;๘bvt)]xɠ"A Pa\C|?2#쀤zj809̕#LDAUOgub"DY0U*hFG]r&=| S94ľ0;BO&a|@εc4A|mY?%&oUdz~ څ6#VAoCx)-5Ә0)`>@df$oC\4Ђ"0;Ձ<0m0'.#t74~Q& r R]_^ RU@U(W@7ew SCX6F̲` tBD!;X7FJ(JM$|tR<%SwL&\PlhIz60Hԑ <)z^Hi|$F}. @؁oBj edQ ^]z؞wڽ% aϟ`憉Ċ ]'@lbR `m"DG0Dqrp WuJb xшITuLDQa>w(7҆sxirN5Px9U \)9i_fxT"*.oĴy*]NoG o_g+,d>*Ѿ'LcE} 6E*+ve0D3YpS y?aau-) I0#e$:3X1&ǚt"3; WG.rdÒ*:Rٓkauz՚J96r1[m,Q`mC ;VĐc֨d"HM*:/<ŶPS->tjk_(OVE2oG MW(gG6^&QwS~+\;y _.׍%o_of`[7%n#TP!__a>/ӧ;7|[;嫲/>_;  Tfw͍+3h Ww<$Em_G$2ڽǶ3ГOqq B^%*\"p/*EiKXwHN$;7jCC[ ASDiFy ;oZqǙ""-pf$א~!mQ9C-мPVQj [0aHL1PX]Nqr!7=;C a.LfFfn`2\R.WrtOUggH;H<?CSoJ-Z}` }?fikGu;jF7R7~ۂ.7Oߟ7j2%R<q>CƑ:1Hww(Y#[z/Ȅ~ 5dz셉ŠAdZ}e#7x >Aw"n.}m\ٺ>E$p ਜ਼} ZNr\ T*I״$a;N1R՞׳Z=kP|ǻ<{2TxwRJ_^oU5uolqy}PG+u9}.>q=7X{7ϟvo__;a+~>k| %n-^ZN{ =urOIo˞Y=ROo==aXxIݵ5 (F_V5C_^˧a .e:=T,ZA">ixTR*c,4# FhE/hKE`8RI"[sY4PppkCv"O:F#,fmƕ,ۜ^jC QMhbX~t2i*Ouc#(a3ňO)yGn/B"U=vX+4Mг)n~ {`n_(鰿P (! J.XEʍ[íRԒ/r|aCkh\fa؋ݰlFV-QyDYkb_.] Ei2'CؐǕR%d@(5t ?%\ctԆ"]W Bw҅mh!Y8+=1!v?v:OUs!R?qY\-w `4Is6 M: #k m(NĉIbQBSLm.i Y9M yWJy@sFugT$ߓ3Z툃zgނ/*M}_%J '?'Q)%@%ۜ_=2dwskDg_)kJ]pU:g÷OQL! Dw2 *Ar$Qpy^-0p:SciV]+ h-ϗ!Bh b{”ByN|}E14H՚v̀PIYw/o]1F~"/ dB5@Ƕ0zl@ЪiTkMockf +ǝ]BpAޅBS܆ڇN,t9X}'!>yuyeQMVʟY_e?MYYNl?%q=N%LtPGϟPL~]̠Y"yI{<(D,ģ 1`VJh}dͿ\&Sus:g x; ~$ߧyW 8🽐S)j_LGKۓ=ÎUѝ3sj SzNZ\qy%ꗒ-B=T/uJ2oT[џUk 3їPPjk-+ ;rJ-[Do%`w;Ham61ҫl I)X@#a13V"DQ/݊))ېA1&hFde~m3:+r˦?5nȮkxDaVm ga Yf$q w+(KE?ZrWb١̜݌ԙ%re}:ѷ0E_&֏)RAcA׋B+bms2%D-7* I%+#D-%Q^ Ej[̟CȋLDJWv[,̔KĊSuJK h;?[RëӨBzj޷<J' VyShĒ=SB{ɨxU fm*u=`5*'LwdL&+"jFq(1P㣞znۚ^Gɤu$\zsSC"o5W{;oYS*St I e_G Ω;l;t>̎l+={^U_};f(}"c0yZ,_7Hىk#KY꾵- P*5KhuPY6\4\2XHF=Bq]wc}ZP|O+@Qx:2i:.C_TdT N!-]ݜI!QJo έ_ϡ_p:.N"<7񓑘Փn@Kԭ4롞FEmu)Zl4z]@oxK(Ȫ6!(*aTQ0 n3.QE!%RRdnphx71 wwFv,xj -n`N4nZ=-LCB,+)̈́lv{'ZosLt8=}EϫrN%/D)(Ql! Q7CISEeQBkNyO2gk47˞#;x xl:| uv1Dހ9?P#hD)|B_ʑixԵGFE8,:D{|啠u?+*i)sx3γVն ˭'/cBH'FA" k=O0^^=ҍ4܆56^*J8WضۜYD)f@deRG:\0R ҉d} (0.daZZ۪YK ыy~[g'O6Yй[~9R@]\dJ;r+wB#HOͱ&pF5^5<%^5mJ * 0mWw* U LL[wS۠&bm7CхKY+2HMAÄծEQfK]Kb&GW+uBqS48o^@B7B֔;b.bU,03/zi)aK^8DjZmwc0"am^1SKtbUG4%;`UT3K M9')e1j5lѳ&$zH QXtwMgpA6ʺlo^D%]v3 V'O/:ZrA9($D0ӭs|&h۪esܾ&w]՗t7kE0T\w6P.V*S5 hnJXbmcRp3ؼ1tjXKtIv] tC[2yuyI5S=¯#NBʃeE@ ~lC;ڰe-Y-¬LwlڛJn & >``_ҳ߼5; 9UUv9>AYfs  os$vԽP}Tת$1nY 3?i},N~;~O.W~g`>a*-(F~6٧(ihEYCI,bxZ?paM(ą"8X`oq.M(`/<_ ?-Ɓ]7$WN4 7MӄLsww< mCE1|SA-%mzZʂEuGɍZv}9QS/Hc PӲ}‰ǁ pHY,3BP1xhu,yhC.3&PbPc-48Q첂VWTqd6c+wvKɓ{wWd] H7K.x *AW<В#GCX -L\nruEԒE>_˨yp?>lȔAw }'!N{o /:/‹Kz}{gl2{o9hX?^ЕI[0V/? >;/x<;կvݥSLKZP[Qe ĉKHm\t_Ϻcop$Ӻߴ{/[ΉN;霶Wa3q?$H뜑#G^chD ?`hH~%{@ό@i@6<4Pv(66s;c;0TcLx MqGƠf3#h=1I;0dujO2*u>a~9ȼpLqm3a01fB4z{ d.Xp.gOjԤ6vb| r3 aME05 ZCat>"klN>D- lc\kݡnVI(`Y1-WD9LP@T!0bŶq :ؐx20UKGR$+m2`ZZ&ъ?o%:k &m"SU8> 3bEgVy؁P{ hCTRX/@&Ͳ@m`6Ch ҄(aY21qA*)r[l:a: zN0^+>Qd-)0mLCP5^!q`ƅFF0 w6hQv^O۽֠}^9F-Hv:0AJPvj3jM]EAAOI3S*Tpڪj2`4!{gC ˆl7{B|3wAk+xGt`lQ `q =mhI(PKeO ݜs* Uڀe5ظ;;#Z@J|T8wdz×ǹ}+4IS BAU>XMe0Ҳ=R1x: d^BH Y0F,Y_fҳVH2ŊEJZ :%5|%k U.+<m%w`})  1e>Ykj3cFiAp DڴJGV5z5H]bcEE\xcII1WV*P_OMkb;k[Ƿ!jԼ h MvV/ 񖪷T/S6,[_<(jg6]a]Q>mݜܥL:VS"թ-fvۮ Lpv-΁y#e-Px.b-Ӎ@BPZBrFUyɂJoSRq7Kf/*1Ep0Ǝ &ưVd2HLd~A͉C8~!ʅFBZ--istjXXȂ(UkS1{9d5?u"t#"s+?olwnt}zݳvoe4:mm/PDqVOzAa)/1X.-Y1Guϳøyf^= m?>z|,!b4L~Fф^-%HeiO#78i*?"~ϙW7Nsy>-d#0O yo7G.j5-QLɫ/&FۭU&PF2Lݞmi뗪ϥ.{$@d_ qE8>|7]oHJT5-ѿ&jR7Mc.}Pj'si| v5 غ_8W K5U+FQILO0(Q] /]#!]-ݔ u\Z|9p CzfB]SJi?b#nnj ;i(oCdcoa }u-#ڿȳx*綳tnF)>٥ ?mo3 -~tY<_`s_ NF{q#;0F<-hm] W;1*4׃/.$&+{p3.NJ{Li[\C2<3v/ 9x `cՙxʴ3; t(knx$$4<&9/$_ LmG?{(|l곝X K֚ƴŃg8f<^2[5$(Rhm'=YB%~Ew@y nha#?Ā¢Հ!YL6I3N0 ݭ>''E ӣΫ9Oώ (aY#wάg.#z;󕮫V]穟$FΰL}'9טG\X8S*EΩO(ƺJ! ig2Nґ}cEGLmVqmBEUSdHqՇAg:* E*:c(a-RJ#46He aٚ;uA6C ]S(bEqN__o#K6Rl M{ [ C˛;+0J UԈ%%rV%BnmXƌ}b Å:c ?5;;bXڱ."6GtF/.OX$lu42O| B)rTEbtRl8o%XPdfe]+ֽ֬B(T]&mTpb?CH)UupÚ5P]1Qz80:r=:t]QPs<_?ͱV0Tz;zӶOi6肀4?b>lqAK ptttO#{c8yhKhKhKhKܣ-}%Emɐ,jkh5*.y~kT,Y>&/c @BZ K g8I~岜?oXQJO.U_>+{{v'^NQ.}x>^zvu ;u dVL>)WE!M 5B߶Ϧ hQ8U eK|Ht=.$+qQM .z0嶪khRϪ&J_RGxsPk>%n$o.Ҥ](?|>v%=m5$Y0LQoid?|q4uP*Lׂ ]s =ea\ᤒXeH<SزKmaॳO]Zꑬ Q*>Cq9J+#{uőo~V+ӧ?=.$ϲd^MPs o:ڔ|8~!b|'pb\ɣ3lx,pt6-%*5u)_-J=Wkeue& `s9Kl9i(O-`8vI׋f&##_P@Ab:%?R5v~GuL)p:耼LP; ,JhFSji>+r_ N)*<M(eMk9,V g&lzn wkX2报*x0Jֳ[.WV?z=eH/uT!QD ܀mf&s0D[[Q"~>(]OP~]=bzݓ!DWݘb(Ų̈̌BGL6ݪaP MFt$Ap}4 MK?0X7GrN;lw|KlLZw *lDï 9LV$zaGxBpcVy{U|-VGQ읟:'!!XRl&؁o ;\~+n;JM{vӡ}-p}c&&O5|p}p>h# zA;/ s agC,ctZ7#Dž2]I2Ypob~aE\~ŘCF|nrҰ{z.!9I@n "M\.dni{.CFWqo5PIlaJ,#|/[ȑEi?ysCq{_Eă(◧A4T4~Ѵb$# "`E "Ke3/̨AyQf,@hK7ȨHpEҌ,GNC` MG$%i {]5K0AR,ܢ .sF% ɼ,jlA5AHbÇ݃3Gq  %s}Vɱ{qױDpsedϚ xZHҥ7׽ui5x3c^|o /EȴF:Y݉Ld>Xfc/&؀g erΰ6Ԋ-9%;L#]:XiK;wYզG|ușڎ+iRWؐP!1P~44V@!QФ,Ik 2ěvo3шn0eo#7Ftx.{(xֽҋ@sJؗxl*w;.Yno ,Vˁȯ$P6j1߷g1G<N) eI uMJ@Q9\c*`A*qMa¡YS~wKKSDHaYDpRc:S18YY8Ω Rٖ NʥNHWRz6DInKwQ Ć\LTfg+-Ђ:HP:}HJuXngɔk,N±I6 P]OSQ(=,RM;h=ȭN"xD !vW88MOn%"%wJ{^mBg.TЌebesN:IM.q%SKI/no0^ok"qř+7f;c4+@x$! u+X: z<sAx$v`́` on9ֳ^UC#MkVϺb.Km0PԻpr雬Gg  w%dvd:UMw58MAuY aj%g\}lϒ9e5+)Ҭef{|=EqC@m܊㉻Mt#m G"SEV,de޼:"eUˀV_w$ߑ>;:oZ~ɲD&sabRos9oYFZ^K -.PEJf^]ےXy,K׊BIaq͌`p)2]2JMAӜ9#B2Պo+ZI's"6 FCI̸V4jAV{J9 -5,`B[ =o$~l@*z5y"1BEN)RƂ8YX\X*в1E,)(Q.E  [}73r(N!Em\r0d F3]εi,g&2B4–g[}I= W;(_'_ d׈rW'm#heR݄}XhL(HsUH\j#;E9a7ql-t׎ti@7ωssV5Qn^!ʭFH7wsc0OUӎ]QJ >?ݩ (g{[E^eWd\]XtZBڠu; xṙ!N?B3|%e[t$jReSՅm+tLbXؖ0Xބ/T[9>v?w^XL dw <G- ,NFόL^[<2Fs2y!i‚'ph׎[$ә_s!Ѩ˼$`ʵom&ΥW{SP:|XSؒ 2nQkwqkk|FP3r12\QSӒVhˠ̡J^n %& j0+0B Td0 m'GLH:z EEΎbB( R[Pgf  .Nn<DfoU0f l\/up QQ;CtO( 68?̶ñE/^U}Jx7ft:IjG5P 5`V骁5$l6Y*Fj0kƿo[_+M͂!;{r{ibAҭ`{xԁ*qqYSt{k+ݽ gt_mΓ{/)rO h)K1m)Q+}5f1 k*"YOS9&:-^ *H"O05h> ޞ qhs5wBD ?n XxJ)EPssVM Tg  VToL@y(\'us vP-]#h:ZQUxn̺-|eymX4b,_v&t(RDR O/q\eIg9R,?! lh/)r-Sr_$,%E+ro?+~"ݛ杊jkbٓ^QHpA'Mzli#7lH&!ESU69vAɈJY2H|TO߬hq!G`|[jJfwgϯ-[PM I7,N q4"vUsldSL {` rRܽfRgO?+gJ/;ϟ_#}@N[ 9MںnlViD=Jz>9W4wmL<σ׳\jHՋbc咄/qhivM^D9%] 1H9HU 藗w<()u>mM1eiVoN*R znVۖh p*P_Z)UXɷ%MYAd?UuÌr(6QW6VUl d 8qB=ŽBt27Y-F!Ϡ OW{wfƙFVo(e筣pr'(zUv;k`6PFCg|j*4IGF`toH?VOγ;K|p%Ó6\bd^C#,A'9iR8E`A=Y__(5ZBV}u.|`9,~kӨѿDuߣǻJ߳/]%A }OdT;I-fMG#WIYr fDV>_WuaA8_vPGͧ`XaŒ[[JYn;n3ƌ鐱rmJm7c¿pZ,yv5BUk.l ) Vӟ3 mG#R48z`5tZDhMmGߦ?.m؞;|/<[Yh~x1<;\B}}xL|folMXI8O1\WshF]wZNy2WXW=ge80A$+[w.oy}U YM+RtWǫ=L8 2V &C dA@7]$LuT:JzC4NqS\| {!Jaqf" \\F#& W8P8*VWy.w~ؤ\_yϿ&XRB/CzY m`vܠ*K?|J{Vy|>K|.{web"$pI9YW{ NZ߶tf'gvWJgfBGm l$T5ABv^jF&Ɗ$d"SpӍ%4Y\csdXD}nuZpmBt:! C.$a}/Y#$=﯋0#,21Q6]6NYyН訄 *o> QkZ:^~J,qI,. !iuqYRK5[1( J/ڣj k:'/;GpN `|^ㆵã6fӄbIElZ<9-r.JPLó%)J+nțnX[4[תڱOYm˟stNO}tm%.mv:gOkgP .ɇ?>u'"17/S,C 1dnNm5oPSv^/\ U&DtBMkAsFv˻4Jf$iDv 3NPJ p,o n>nV>D1o#70p7HW/7N6!{vu{':Y)8C:/ӣnm˻,{a>~di Cr X\mT BD{LtTB) @#8OO}k-ZQN!_:9諭k.ZSz=ȯBLELf5nyg_%h͞nS8aoiΩ9yz׿H-DE09d}3/qw5=iǃB_Rˇ㿌|=|xʚfQݓMnY_Fsq_F%qgؔ+_Mg]~u~X:|0UOBQ x4a)<m q{蟟W:Η-4DIŧedM~:vH ax΋fLZ#?sID\C~ \ ˫v]./la3ے&ѕ\RW":nTb"}{zzM4ܧU7i|zke(0UL(;ͻ-"!pH,G/uӆɃHյ@VUL`n$UF>{*]tCJEi)N2h^kG-HG;67Naݰ&ҀxuLzN7O3P|Nm(^|Q$2DCۄ(x|iw෿G~a*zWIrB;CgRLU3[8IQݠMf AZ;}=Oq3P)nxNBsʈcTt_| 2aD-bk ?i ^u~l-_ء HM[[bBuxCcǬڗqBw~f`-zDEY{;w{Q~wz^24:Q +Z..h:9DIdmD67-NYQD˝GO>K>o1so?CX}io>{_=};T]ewzkmt{>#&:chzP24`)*R8\F,h@̺Sd֧f/D$RN A(tgZI%<ǎ'd=w<99xf)𺊽 SxH :](c&Xr_# .q[SIISҫ@8;^ps&v dHك$Ѡfqf01z1}jM|px88g:m#j̯=>UNJ:8w:8ayL}Vr~m^*T0q@S1eNY,.O|cdrA/s|H:Sg&"kzG԰Rb_u!c([}GZo#diѴAn& 4MΤ=ޑ&c3V:r~A 0 l4䦶3 Pߺnf.*bCzuƁTZ@g&)7Иm@%tUR9!1 o LBbh)6oY0=ٓ(]5ң{ _ZzH rzt2~ٵ%KBWCK[ՋCw&{ĖHJ RXő 8ZMϭf42M۴ބַ\W+V=EA"uy`pv0ϸvЛnHj܁IN`=:lO_ku;ư G7؇2m΅ @5Eag0D Qd])?z}#k{ ZtvW`xIBMz7CjSQ"I{{r]'n\.PI Qo \ۊ@rk'!P@F w\GXsk;*nB΀Tn̂q:.1gdohNOg$J]e88f@rNzfcyvR(R6%6ɶ*1YjDh%/6* KX".IZPjŦ<^ JQ1^g֎xqBNׇIV_tU|ql78axf<@++OxYf|dw8ڬ돯C@?i9MEcmMN￴ʙNpA Zd.=iabX£sHc? 8f,'S<}ŎEFp=E:(d}ME=fU tlFMů(ry)>G|!A]@OH;snwȍ@sٖ/]mE(^$YF!`A#r:EҪ!=Tq48rEHu.. }΃7>iqtrHG[Gt,7E4LtdLTXElFR”ǥRuTz[tIhUNJ,y3%}EPMwEDL`2CIL8@r.g%R5NDjg >+(}MB\i\PgY!k^eAQ9'&l?GTGE̔zN(Aẓ\<#3p-]hXj c NtQui'9}j}sBCSÆ2E H Z*e( `쮄JRt< u!d=ϭ >O1E,cV>d^jmn*!"FV a(54 .w;h~Oa͐߾;?UrIX.5IwӉQð%?CNKvP  ueD}<6H-:&X{L% o%浚\vuGT]_-~\_fɌiʩq!-`e=&?V= >!igd,;(IpR93"閩8cI5U.ˈqxK&'"p`SU+p`5A !pڑ'V HK1-6ajVŤX*^5T t( a<>uwGaH̹}tUP(k~zY0+uNgo[rd`/k4;iV0<2>9%kp?E 1wg*{Wg>VV.#_ b%4Q,ȮɛdjJ]CW nF-YI"7Sޒs=[M*5ֈfxp> ơ=' lPP JF%0 %AJhY' l2“aNJhz`X==C;#oU0Y<;:X1A8t(`9=8>?lP=5E֨SVs0q\ >'# ږ,U >t5pJ%H҈y ,N &W:$)<v&TR>wpj=_nqМ6ؤݡ;ĺnԃrVYFymX]\0`z.j sFW D;7່I~3͗;Hu:sp1moOJVl%Kl L}hGTp,=ac^IZH_>pN,1b< +N@]*ҟyT]6`H18(Z.ԝ%@9=ުOW YeC*h R1WsM7n[b=ٺoMN`@-\("lZ -8y&=쁓 ?iG,b6;>@pn(.Ua?Fuu>/y:xZ FtGڸ3@pϰ p$uAJl'KE7iiwl68TIP0|yɊ Z9뵏:߯ n6sbф,'pPUBpTݝ@ Ԇx~W{7Hߊm)#~|i&U>Tv^2vLwm[pNi,V}ʸ0OV^j(DC!x Z' 8D6)"UӐ4uCCmu ܇n3z$`RTETth0btX\=c%X)u-K.%CNBŁYD%C]+)uȮV\|3Y@JO NV`Ұ%;\ur/ȁ2U44Mk ,Gb` ybCEGrHS%8jh4S%?AF 镒nGJ/<45"Jn g<|n<}?9 Nsg$;pm ,I;8ѹI4aiς7.71u =+X_zn}+Z|A.:B+m܄lAңNB)6`l[8C?az4WoY-1+nFYT*0#u̹&4L1\,ԋ1 ɉP־腔gS{cäuZ>p˾/_=ذ>Uw!M rs} \)!5nRFs{*.b4AB#hB C.LOfƛx+>1vd,7:o)UݻlbSlE7brXkΦυ6KKAabC9cHC>{ HJ,-#6Ġэ [JyުÀ,U H֗gY Rgms-3:Ȃ+/0 Mք$%:]\xbZlťԶKH\a:L V~a-|\[9{^YaR>M|Ja^meS 9ˡsD(q=!妲q/k%χ.?r8f}A3GCr)Vl6]-9$`4YPN/7GzCY]6_yr&pķEml^ u6 vJQne$;sIJsnEٽK . ߐ=_F!dB ?na/mUoE18p=}T}=TrMw8Gh Z~yl%|8 >VG2BU/ Dj9d$ɰۆED.M1N)"&7T5fƮ|(}\$ƕߒMҷ9ξm7a$$2\WM$՗ENCu '7 )Q4~}>-)%rnǢ&0DdW.`?ՕAP*6^p 3zuV(Nd 8/7I pL1jua[(D~tNEƙѬ:]$;S2@N. Y(!ڛAWwN;''CP;=%J^1^ uv2Q:Q,nL؃D? C g5 H{BBM&nH@d+hh; !Ąa>ǧ`.(2Rc7dQh\0ᡔUQv-΢}BvGEYhOǫ54Gr< K62%*p&6H H- 8pNm^|̩I uhUkJG%Jnxs h[i /nsaH q0 +8#ہ@E_gƜ&2Ğ$QNcVLvò%9HJRF&\D|V /7Xvx[[ s@eOhM6 +ʕ',8wDE#.UZeh؇%'&k𦔣g$hEE12\eZK5@pl)VB}Irj.OZaxXO'P"ScQV0-Z$ӄ`(C$(ż uS'Gb(́UDv7z壴Ru%lY!`@':+T}3٨&h)K6S>rJ IrĕQS8pu7+jڟU?"uM/wv{/j_fxHXsv*?`!U|ߗ\íZ>JO+wZ1š+z "g:S.KCPʠ!L%c~j㖵d%e5㋻7e3 dŞm#gz|4$V3MLR51յ~H.Yc4##$ɩ]K)0gi*JeY=I0 "#[_\$!.Ju`wMywr[9*I.U >CھD:zӨs04fLՐX N{*Uw3cŚfX$1xY0#TQ .ht:-si^y~iĕp1{fÞmWOgTت/~G'&k:vdpC[@H)8M 3.C8svn-cLJŐFHsHP/ Q&ӆV S2ÄpgD DrkM Te'ad壑ghcal<.Cy0-=.tלtXb fۜe8 RFEEEAsS.җ6X0E.6 ?!QlcE0`]ZlE?ӹfG%Oz6Xk7ȥa8Wq0 (^w`E(&,dƄ%wZĦY~da;pe$fkbx|0yI]˂~~'~sjWw^jgJSWb 5YBB>B&B6E'i hM+$8]Bė}VA»V>o`-xkCIY<ifN>?{}Fri@8 ʯ+B3ՄDM+mhQ.lqs&/ nL"HPG^/tqQZ'1UyF`MIbfK =So}G, 'D"9iX )JbV72l:~ *BY-tEweoLqj6(anGQCǠIw?Mgy2o=xGzVh,XaK+΋&icNS)@Z* VHt202Lg+$Vj,sMf,Ɣf=[xxH50𞝕X)I$nT*\z;4h=)ED$H V3mJ,1Z!P&DF`twLHèN!T,ӬbfX0EЉ 4Pvm2!(ڬhruK(-q0@# u hܳɖh3q wF1DXWmB՛BU?cݿjFF 8'$՚4ig-3j>U=|Twhs %iG뉛97g0~.VvKd\Cx Ðg5bV{e$^;1#0] vw,潛Ϗj tfG5~>%;T=Vr{zOp>6_\}7@_}ՋcmN_!cTn͙sY2$)rWawzKʝ^gNomFvMk~^cywF iw:o{ 5Ih_Q-tϤţzYg\|bn̛1:cGFcP\9tf?յNO-^]sq렮)1;f̏5l8TXa5kRq8lMJl6caS=XHT" ֪vR7mwAw-qJv6g rE{0AjXO=KxJv]tJ `To xX ta--~-3gMn[P&aiD/eƾ|i$xHiiXȒ6)HQo6HL+ 2p#Tt2'Zt&FJQcEH ̄!:Aη r(7tM&"S!u;c:|IP7rb>"1Z3RL7o\`KB>r(EFjZqE_nllZ=STgXn.wK H`4@}$Gsnm`[Mxpv?T$ nSb|%RzpE1eouǜz0,.r.BwsQ:8ҟI~mya(T3fp()~Ӵ1ڰzIS$nEȎ÷OPd . . rFM"T26xr0B2LQXmuj }fV~A\h¶%Wi8]govAEdXڄn&RnbFQ9:TUt/ id_2ߔ8,1Aa :1!(*9T.WẔ:roU.ޜ!SE>40B 8FaPlEF#!|w5'Ru!Pek7O-7+&3NE5ƔfO6ph@x8)g :i B/o%_gvҏDj%`f~ot)4 /V4f =L1Q" ft:1H?U؁ʏj86i^2 9l }?ϧ'dUގS4ܦ t3!^H@$},܅3y|%Xsᖎ5% 賎ݶ E˜9E9`Nf9HG9y r' eIL[2OkDoȣ'IwNdmre@ms3ujyCpZ> o$&^Z&hpLZWxK =Plc0v'Λ#ӓۃdjY.d&E y]1 ;מST/FpEy ((G$d1qQէn^;]䂤u{K(P5)U|O~ەPkp6s}8 `IMw?] ?^! tl^}M#> QEY)ERJi`Q˄43b*Z/LmWHܾ<ꃘSH>d*Q Lʖz>?pNSW\5bm(8tBs|QHq~P b%jk"*"224oCC=t_@IW{ #IPjDAD2[gZ9ra۱+mZ'-bޑS:ök%K4Hwb"JVLJMp qROPxBP;q)f_֮#(Vs\t&R6 F[q( <M+i=ӷB2V3]}6TOnq{^}ݨ,)d[MB3tS>DՄ-[/ŭ4vr6`;6_eʖ -%h}{EK1DfWhqtqJNB6p3S\bccT0VF:؟0DpMY|܊q+^wx`B{Կ1^!x`eUMEsl8F"cl"UCA'hB05Ei n@L?hcy֭fɯ8#uP񣆄iɗꪞ~X)>KYL wLMZ9ְ*pGҽnh Ot]mqqcJ`@T(2(dŃlͬĢD|O 9X%`q_k[5V X'<~`9rW I7_QIA3_jmw omaeĎ^5GT{1T\ IH2%yfׂ\Jwr$ѧDh~ MM N-'Çvm \8ԭaA3lhJ yA,0nʒJk mJ6gp`5l?k2 1Z۷p^HTQuI;Ca[AQXj$N$'ٝ!?Нa~X,/2;a ,9e(ET߁X07  f?M +UiF;4LKfEnRkj#'g|̣kxA L)y!K5F~;6&stt/іz S3 @dg %aW[qQEBnZfxt{-~ "2˂i\JO) V8$d/xVn^%T :xxv W*4ޟp~F|0l?1\W6Su숕iu\I8fCȀЂ@ JBjl?$1/Mmuq%M݁|UuVYf._ >Yq!4(7ҰY\d,Jq+,GQSDЎj\ccI2Ʒ|g 2ൽ=6NoҞl0ns=CCChi/ / 6QPn?pẈrvDػ%k(SZNcBKX:T8*$klU4a*%=XbDa$t AL֊]U$@.Aݸ}8m;fNLQUN&Rqi* fLd Y>6z a[o*aˌN3PS$j[d[ud.|R>k!G8ZCe`*ؾH2K.3<+yFۆjV-%:Vs[fsڈuIA/# @0px7? J  .1΁$2Ce,$VGAb;>A'ND3< 9\lNDw+[AU*\֠tֺuֹv"Xy~32 + KXvJk_M<>Y8 BP}߇݇;Z630RJt#z .\/u~AZgU ??^8~mI;4=1vTS6@Kא3G%sʎ8D9D#uPh4ѵR^̉C~YBl~.ňm06NOQ(tkWxXOHr,<*ge,i`V~bGeϭ}Ċdr>!N s}K)(k\Yu,Fh@`Hx{zaܜR`D))i NmSIEJٟ^[Yu_(g.@ZȆTkVQsp;gAYf~~ k}Rbt_5.&@hD&rR".S^ԥyWJp-J5pc_OxL5M'Y@$3mvɠ402 1AH;%$RFJa?65lq[<-R B@ ºoF1$jmv4<8&o ]R-E3D!0LHrOd"dPC|x>Za3s[>[&rp_nNuFS^-gJ)!Bu4}@CE#9%/+%s4~U,<:@7jId*"? )'ҫHYn. C)?̐ۤ,|)xw$zcɔEShWK3G{S`B]&"?3 jЪA9OI;Q@Ġ*=3fUoyA=m5 u2VbΙZQ&,kg%2x=Dx [գdŒ1/#r11,:JLo |R~rc:m^KPŊ5g$=idߪRaqk]rβُ[X Πl ?]`&ZH&tRbr-oQ^@=e`[̵^qHk N2'"P ` \=&k+ˇp4ɔ"5`z?YIJ1< 㝒/qw]ȕ`H6@a)r6ۣ+:୒9;AvQJq4-!w9CJ ]#za4jWF«>Am5Tl#{Eg<<$HL|xDnF`.NEq'4;i>jz|VS!^^NW.U8ejQT5Fq\ev|\Ybdq&H1e\W!}P+KQE#haNXWC*PYPhŕos>GPGԦ]#E5b0-I,Ns@R\> uWv-$d 5ʋ ٢@ZNv *q{괨~~T|-g/fiB`˻-X8vE"%I2bNi;]橿5i WRMNәQ"y0+eh"Ql*+#R q",yM1] cfa$[Υ )="MԯSccNo|\ [bP;N\U̱sYs&/;;u mHe. 41oY;9JLS\sin%pa]ܱVҕOpM8L&# \yädGv%e9Isd-GӃlJ09QC:9Z9O^5H:a;p@I to[Of3 qں=!Gc ;춹,=(MRsm.UdQ&Gva[q0F@){P X@r[z{馡AR 7ל&P#aE .< L6.y݌b֭ !%/>OG>-w?yr%>˞WUI9.C 5$tLR7&|'[;($p(Ah59YL3ۣ1\ [b'J3[ZlA{,[A(qj'9%wVT՟%P|HD3s?>.v?rz ~@Cq4zr*Il N)fϖ+GI*irzhbwqְszp|~y]J%RH`z:AE5h$K\h c0œ2=Ίx/̟.fBFp3SdQ^A9<ٵ!1)",Gf)x/%S(/Dwlš.+,̖,^l׍,UL\z:ڰǁhL1ƆsY|IRPShKaH0r_ k3maF i4hw%?|#LЀ۟U\)YXJ/`?/Ṹ$J&h$r cuu`ȅdgx)\eb=ӡQˋ< Ev?Tr/`)^qhr!P6/8FJ-S=u^Z(n]k7mO!vZ~_N^<"ef!N|AN~WKE۽^0M 5Z+~ͪ+WT?y:S Dz%;b6ɑQu0|a6<?JL \հxLIJ*Bh;IN-Bf[ESHЙhL:y y'i>2`CFiA=q&?:ja'A4ʗz袢j[\T#}ѭטꝗl(#8HjuU\"Bv !B|Bqc?`) a*]E%fjID G1*hPi;8灌Na NbqEcY k*4Coui8AȦ-=:{Տ/ԐQ>x}%'o'7w!rqR\qYjiny+=`|!slţ40~HNh|L&1%%8v&욖:A#oW; U.ՕA%QPh7.C0-i@C78>n9#)I#shI皸vFM :Aa$nj GaQdI8a.`DrdޫpխqVLղzYA&26Ԟm<pN0$g2@TIx|f# IX"t ӢP(8M(#Q OQ#3V)utdULJHj==h!=03&j&$+$CS,lYGdx-1?iymM{q&9ɼaXa#ObhqLBd\jZ)?3WṙlPPr~B%S5!@ޚտg)>[L{v;to2JJnl@* ceK+eU"DGfqf@9?їEgU:+4C0qw{ }KD~rl\70`V T%?+`\c(Apr@@*oFAHmL`aY^t:K8vv=۹wK1y_fǭcōE8_11xNtDp2ARCk 3r{ UҘ={al0F(H9ji8PDcȅ$rj^+Bx>6="$Fvd4u6 pUc3n_R&p`آjDC`M1 '%ܽ=JCܖE14 N ѓgg;/Y5Q"KWW|oZ)iVeԘsLZrK0Tt8Fg6DX1# 2HKӇ:AcPb<ƒzwb,'G|k'PIWwBDA~ʕzWg Suח=ePNëC壒D"G!Jn݃u5vۭP|fs}0 tʇQ!=JHvL'՛}x~Z{KtφQsWȠ/G\nOۚ։^RdD{qC\O;%y>zL؃Us?81'On`AJG0 %UJArc `(&}51d`A0bc?u6E]2c-AEL1+ֲVcZz!҆V?` qVKݧ;K|jvN>P&o}_&('PhzR8j)ջn_6A._e$tF01M wD_<'^̃WiXb+o6SnVs )Xda BȀ 2:JG4ylP z"vAӌ(j" 1&<栌Ѩa*%U1_4ΧTSx(( 59|H0Ĺ $U-%m`c?ݗCwN%0&# f \*ѰZǖwxn0IxB1߉M˲)lJ$K1 j5 3BGAu-0G  5vEl0P/\9x%=z՝pruhP9m`@]齁lN2ro$KogH M!`$x$A)AUʚ.a+Dо> )1n{ 4*w韖{Nt_,mK_0YM%h|ySf8{]Usf/\\*YXM ް̎MȚ_C'%y<|sqpp=_+@Dx(jY[JT[Pe,uc'@ב3^fGեD`Ř$8#~ htoղNXJS` ź jy2̄yTJ-d &I\#)JqBkUoݭ"!sX9Rj}u-v;ЛXhr;-OQ _@MvT\l{\D(EQuN(D7U@iԿR:QRt@@@p)HtǑqKA& +3ob3R&<;} hYz-ĻuRT?_9ݭdRzT5g{AHV93NAY,7хiO??e~G~Q'4#hPy<[s,JUf˓`x;iE ;cd޾ ^[ힿO*JUh }}B:U1?w{OM >h|Ҵ\(hnutMMQa' !?A *`=RAtC הqX3EudS)/t}@s2UBsD)5 F6\T7kxcOgأ3S4/Jh!Y8 G/~ n;MӵS@ؙ U3r$-> ߌ:̏⸔ʞlpY=&:UJ(C̺] H 7 t eM`% ;taS:- Ms8GQO6!mh-m-h.We3js,[TA3vLl IPpȘx߉9R1B @uT똑[ RI_R'0mƖ')}6Nս'*ER]d`=R$wɝ*ym& mE7RUoF8# ys C6ϜIa1}%ؿTpOʻyx(ڬ˦4`F:H)Omy I=ŨG1u|Nϡo$X4!)Kk9gZ`€aP"UH)=v&j [7w\ _x<$;oO /[ӪW^iX`O'%ϣG/1c!]-?v~:~[3oܾ5wşa$C]MS?I-e5*՗i#[z>S!]>m)M,l6Ğ2Nzס1Uߏ3-B/\JuNQB]!Q"Ux; ͨx8j  F5,HNJuD9hHsB?LK1`U%jm=;SC^yLl[5j&D5;Q5(]wLo$Dyջh>:77Lc i~ 2NQ/5((E!X=U(}桸WL,YtI8$ ۼ&D:S%]NJ F.7c>MoIQc8q *-l;lSX}EVx^$Ȉ zVBC\;' cd`"BX (ĥbs_ Y\$XBk k (=+X5"2Mm\IT@2_B"_A+"ũDMڱjHxNtgǮ 7hF~G-/A)nDch9pOcTp;B*mNgUC#ȃwMu(870͓4+ @wʚZ>!ULfD=\L%Er -!f|@LsອJՄdHhe.ڙ_)Htdx2n; e'Ɍ!!\KOs^b,c;}9ÕD S5ꨭ&KW,ֹHq88UMn6\-;(Iӄo ZaEYQS^h2cu6?9 7)Yē"'\훬`o^WQ*LR)&3C+V8HI+gQ "nXr?ؖ+ OZwNOI0o{ԨKwjY&:^O hR[')Q$TĪ!lbog?m q^*,if:RThK-_S7LHO$2Rزߗ@ Dw:h̊ini, PD/Iw!AWg'9iPt\"Fj(ވooZv>=|xN⢩oF1Ëirpdy>TfvmڜC0-Ci0+\hUy -vmWpmm>hWx "(LɓhvvWhS p3K:;:6$IqԚ"3us0, |HFHEEBeYԐ}rlf7buDh6|֏8}VtߧΔ:յ{Hq2MRձbiȾ3RޱY. 57taĥՠ6L{v?wǏ>Όn`46'LF+N?|џͦNc xNvW"@p(Fs!@hc\#$)ÿͭ# Ol}xDSC2ͮ m(-G*4<%#DLz7ܾƭUCIzh0(Bݠ*W6]dI)٢bs b ƨc@"YB(M@5Ik7/NEf8&%f;Aµ;1}d%:`mY !)Z!eٗ b 8tXuUцp:= 4lD^M@|Gɘ^4\Gj6ny0V-bƒW$)uZI (\4973h@ibE<ة98gkG[?%KbKmBA u 'J䁑ɠWSyQU{`e̠XF$msaE ú[=pR8GH*h%K&c(D]Tgy(t-qeYYݻzݣܕq5 NǬ/ OTήF6jTpԘK<2YP(Ӵ|R6I|VRXotػf79 :٬ȜR=- pe2Ɵ=Z񟠒g+l4` wŎ& AfP$BZ 4a0Hպi4&EYr <aLo[ E'Qo% V>NYFrm .y`AP(b<fthֿ,8j %ݭ_crR "wP@N^ߪK4]SJUOU5zQzOCQ??}Zh>K| \,y^inġU&)ukC{j?XțVzyȸ)߼z=k?`~}9۽Π]UgP z{Ej5t귎Ώt;Π:o{xiB{dhYưPmfaW}oWo5` ^, ԉTÐ((%{5_DM:?Jh,K8ICqi0+JMy%1p Y%:t..ZN&Sϐ9=Aaf.ZG񇏻RTf]M`Jny0\+З)ũlUMm40{XBxx%L&CNgX( R"L6wpqp{c<𸈱Ӓ#Xqh[qNDHDɟ)dt iHj"鐘@v y΁r0 p-1r7֞@*﹇jn#>'C_GWJ҇# :^;W4q-̈a8c D:670+q1EuN HF`hʰ)KEpl3-2&& ]KxgCKIY\7[K| ;+;v8]&tӈ)fUsz.&BQAeL M+O_r憇<ܢ 23*UkB) k:JT%|˰Jrc=͋\6un8-(i 9Ŧ1ؓ1`s\ZkX"rXcn)<()r o %7Xf×ls0 ֏LkxV9_ZM42S1&p- z?f }gO_*~>ȷ pT}xm>a j+tti{?t9(QG~W6y#@tiQUD@)%ȴ;D׆U9ɕbVnϒp8og}T{vlopaHaQ}yg]:z$LS7@U8Mv ly.a`Kz*6¢c fA@s'6݉ m5!}=__/0;gmv`*'Jx\KVEaj BN [_` >C`/ ']8P!lͣԝ#9Ah9 Ak dY8ozS}XB5b^E vPx!]ߛ%F>8桏<&&ċa~9}2JTXOVG㿿eDZU;i8MnNG'cqe%>'&~ h64*c0⹭rer ~iBNrBkT^$Z A ڳA//K!Z +tO=/;ϟf=/@i̇])QTf7-  rEA"m̩#+o${_0,\|1Φo,=r"g12t5iY~YD<@,k~X 2_M<ŗ13[y<-y|eo;k@/q-npoW%'ϟ%>ޚ^y>>iܾYzoRė?/]^k|r QאhV!C0U~[gOػ\P{e`G/#M`.'6&ƀ B-*'ѥ}E}ruC.3tlp$-50һChRUdKeX4!({Ʒk zVP`PTBXFRb=xyfLD<]V6TMC<"%֑ {5tu ڭ8jo "Fh<-xK#N` >!F|+oH-'5H gK,Z*[+\Nb`\UX X`u^W:y2\ r)B{\`r/JJ -7Я],7*9 7=Rzu.quQK =X-){re4k>jMʇbf8*])n]).țU%|uHI7qnNp08MVSJsH@]8~TSMo00fK)@D?6pA D:;fx"7B)YW=œKU-`oxR=.{ۃ 6Jj0~T +:e#yY&Ǖ0g> ٜL]L Y,Ll?Vy;ƮW'h6NJLtŗd[QuVm2Dk_Y6 obY֫6- ظyH ˾fq}Be~kU_[pmlTX+ҐPqM4*fAR!&UsO”_SqÐQ. :U4SXNY 1tW h*c&m/P=a4@7u9?u^/얥vNÇ/d'Jy`:{hw=^\ nHcq2 &;"3P50X5R8L#ڙJHڽITiaCCܶ:*s΃?gkqbvnxEץ Puϯ܊L)BM᧠ÿŀTxƦ] jMĽʢ8)v{em|ЧT;uQ.&m'Hl0! KZp.|wKpa8Pѥ a)hh]pD\EP)c-!zTةQHc\-uvF|fXIIҽG{ȉx(Tmik%ߠE %l;(+k,'􌛆V4.չ'SAp49:eYE&Ehd\@C93x..X/\iF4!c& Id+m1,LJA|