diff --git a/source/modules/lilv/lilv-0.24.0/src/state.c.rej b/source/modules/lilv/lilv-0.24.0/src/state.c.rej deleted file mode 100644 index b4c759e4c..000000000 --- a/source/modules/lilv/lilv-0.24.0/src/state.c.rej +++ /dev/null @@ -1,42 +0,0 @@ ---- src/state.c -+++ src/state.c -@@ -415,35 +415,18 @@ - - LILV_API void - lilv_state_restore(const LilvState* state, -- LilvInstance* instance, -+ const LV2_State_Interface* iface, -+ LV2_Handle handle, - LilvSetPortValueFunc set_value, - void* user_data, - uint32_t flags, - const LV2_Feature *const * features) - { -- if (!state) { -- LILV_ERROR("lilv_state_restore() called on NULL state\n"); -- return; -- } -- -- LV2_State_Map_Path map_path = { -- (LilvState*)state, abstract_path, absolute_path }; -- LV2_Feature map_feature = { LV2_STATE__mapPath, &map_path }; -- -- const LV2_Feature** sfeatures = add_features(features, &map_feature, NULL); -- -- const LV2_Descriptor* desc = instance ? instance->lv2_descriptor : NULL; -- const LV2_State_Interface* iface = (desc && desc->extension_data) -- ? (const LV2_State_Interface*)desc->extension_data(LV2_STATE__interface) -- : NULL; -- - if (iface) { -- iface->restore(instance->lv2_handle, retrieve_callback, -- (LV2_State_Handle)state, flags, sfeatures); -+ iface->restore(handle, retrieve_callback, -+ (LV2_State_Handle)state, flags, features); - } - -- free(sfeatures); -- - if (set_value) { - lilv_state_emit_port_values(state, set_value, user_data); - } diff --git a/source/modules/lilv/lilv-0.24.0/src/util.c.rej b/source/modules/lilv/lilv-0.24.0/src/util.c.rej deleted file mode 100644 index d9190d6df..000000000 --- a/source/modules/lilv/lilv-0.24.0/src/util.c.rej +++ /dev/null @@ -1,10 +0,0 @@ ---- src/util.c -+++ src/util.c -@@ -29,7 +29,6 @@ - #include - - #ifdef _WIN32 --# define _WIN32_WINNT 0x0600 /* for CreateSymbolicLink */ - # include - # include - # include diff --git a/source/modules/lilv/lilv-0.24.0/waf b/source/modules/lilv/lilv-0.24.0/waf deleted file mode 100755 index cb7bf8208..000000000 --- a/source/modules/lilv/lilv-0.24.0/waf +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env python -# encoding: ISO8859-1 -# Thomas Nagy, 2005-2016 - -""" -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -""" - -import os, sys, inspect - -VERSION="1.8.22" -REVISION="985a667c86981bbd06ccfe1f94032940" -GIT="x" -INSTALL='' -C1='#.' -C2='#-' -C3='#*' -cwd = os.getcwd() -join = os.path.join - - -WAF='waf' -def b(x): - return x -if sys.hexversion>0x300000f: - WAF='waf3' - def b(x): - return x.encode() - -def err(m): - print(('\033[91mError: %s\033[0m' % m)) - sys.exit(1) - -def unpack_wafdir(dir, src): - f = open(src,'rb') - c = 'corrupt archive (%d)' - while 1: - line = f.readline() - if not line: err('run waf-light from a folder containing waflib') - if line == b('#==>\n'): - txt = f.readline() - if not txt: err(c % 1) - if f.readline() != b('#<==\n'): err(c % 2) - break - if not txt: err(c % 3) - txt = txt[1:-1].replace(b(C1), b('\n')).replace(b(C2), b('\r')).replace(b(C3), b('\x00')) - - import shutil, tarfile - try: shutil.rmtree(dir) - except OSError: pass - try: - for x in ('Tools', 'extras'): - os.makedirs(join(dir, 'waflib', x)) - except OSError: - err("Cannot unpack waf lib into %s\nMove waf in a writable directory" % dir) - - os.chdir(dir) - tmp = 't.bz2' - t = open(tmp,'wb') - try: t.write(txt) - finally: t.close() - - try: - t = tarfile.open(tmp) - except: - try: - os.system('bunzip2 t.bz2') - t = tarfile.open('t') - tmp = 't' - except: - os.chdir(cwd) - try: shutil.rmtree(dir) - except OSError: pass - err("Waf cannot be unpacked, check that bzip2 support is present") - - try: - for x in t: t.extract(x) - finally: - t.close() - - for x in ('Tools', 'extras'): - os.chmod(join('waflib',x), 493) - - if sys.hexversion<0x300000f: - sys.path = [join(dir, 'waflib')] + sys.path - import fixpy2 - fixpy2.fixdir(dir) - - os.remove(tmp) - os.chdir(cwd) - - try: dir = unicode(dir, 'mbcs') - except: pass - try: - from ctypes import windll - windll.kernel32.SetFileAttributesW(dir, 2) - except: - pass - -def test(dir): - try: - os.stat(join(dir, 'waflib')) - return os.path.abspath(dir) - except OSError: - pass - -def find_lib(): - src = os.path.abspath(inspect.getfile(inspect.getmodule(err))) - base, name = os.path.split(src) - - #devs use $WAFDIR - w=test(os.environ.get('WAFDIR', '')) - if w: return w - - #waf-light - if name.endswith('waf-light'): - w = test(base) - if w: return w - err('waf-light requires waflib -> export WAFDIR=/folder') - - dirname = '%s-%s-%s' % (WAF, VERSION, REVISION) - for i in (INSTALL,'/usr','/usr/local','/opt'): - w = test(i + '/lib/' + dirname) - if w: return w - - #waf-local - dir = join(base, (sys.platform != 'win32' and '.' or '') + dirname) - w = test(dir) - if w: return w - - #unpack - unpack_wafdir(dir, src) - return dir - -wafdir = find_lib() -sys.path.insert(0, wafdir) - -if __name__ == '__main__': - - from waflib import Scripting - Scripting.waf_entry_point(cwd, VERSION, wafdir) - -#==> -#BZh91AY&SYt#-W#*9§%h0b, hOU:zw`=ޜ׼}|o >#*#*#*#*#*yt#*;^ـ!݆4zii|#*6jth4Cen+SEvznڥIZkѣAT(#.VE)v#-@E@PU{ü;hoz`}e6u^ε[6[{T4C/w:x^so}gyݷeZd;}|M_nwWo}Ϗr#*3#*#-أ4+]񹇠==ݞfCMH|n`{`UQ#.j#* 40绖x{nb ݽ:7øCww/Rwv79{Pw>EtϵjgUz!^xym׷͵=ئ|]37vn{Ż{{a}{뇼_sXm۷jcpols}>_U̧빧}7P>%Q맻{76=GBL=t>m6#*ׯ;omC <[;#*H*T ;e[{tT[7^t2w^ջ]ӣENvh=4y+;z_#*#*g#*-/Nv^^>P^۽ۯv=|<ޛ=8n/VՐsckkx}֪ T]7;p}gשOgj﻽^HۋQn][s}_;%Ap49d=={{Nqڭ׾w=}>8#.4m]ݮh}z|96۷:/w[V5|ﳹgTE#*#*ݮU{as`n#۝}P>ǵ^GN[ϧް z#.#*{6gqݟyv:ARy>f4=*cw\joyor]kY#-*Bbawr3-y-6b__zǾ۷}pKɾ8O|>͞,t˛n{ۼ= 7|[ZS0^m>wp#*@#*&h`64$H d05 A424M1OI&5Qh4#*#*#*#*#*$!CBb0J~=SѪxO!Qh#*#*#*#*'RD!1'Sx*mO(a=F4#*#*#*#*#*"H@hh2hM5=&2!#-#*#*h#*#*j"#*@4"z=0*{TzҏSM4ڣST#*@h4#*#*ja5ӪӰ AUdSljlk_~?_H#u?XxX51wT-֮YnlM90G?cG2YV #*#-MV}Xa[bbn"Ȫ::ȗZA'¾O*E[su66h[hޖj٪ӚcV"TV#.*3"#.D#* [@a(o-k΍Qh&VzL@ ı,#-HhK)fDD(Ҋm TJ"MhJ "A)20l(m4%A,i% M(Di"b+R#. ed&#-Ȧآ-&%,2iD,EQ*յ)%@&ؙ3$6*-J3L3fiRX6%؉50JdѴ *Fk!IҒQQIY SKc$I`34c4آ`MB 1M1#-I((lR@FM #0BF$3KH(ԘQMhZ5-"$Ei#*l((Q1bb3J&ffHQdiH̚QLȱB,)4E(IZJSQ#.R$h5R͈ $Ԗ)1HX2c0MS*B#a"Q$%IQ!#&IEf#-HIDI)3E)KR͘RR24,SLƀIfF+!4LIF6$YRdCeLcD62bJki`1 #"(ԙ)*@4hEE#.#.(6Di$#-3#*heLi55HC4L"SY-3ƒdP*M5F̆&L&ʓL1*iLBC-2hASc3(#$IHI$6QS"š`cDm)2ld4dT4#be+)0 &J@!ɔd"L ɩ)T٢hBdPLHA4ȡC13Q,PTEK&"&hɓ "%b6#*4i#fRX(S#.Ai4LhLdh%,Ѧ)3Lʓe,ZT-(ԳM(ei +AHJRSXƪ"djIHfD(Z#-Fce3,!*LFB#.ڄFdS-#-F,S%0jm4lɒIdPe5Q)e#k*ESʍD͒T&Ƌm&FM3Y2T)JiHdEhKd1dX+ma"H2,j4mllj1 QHj#-jCkɅC)MJʉRؓh$+ h֒R+k4FYe$̦)&[T2j&KTI[*e,iflŦh2#S33%%ƆZ#-I-eHQL3QCbh$ b6BLm%&M6lj2RhYL(Rʈؤ"h#-2Q,ٳ XdTZ, bYK#-DJi11&cfB%#&bSIF2,* 1M&ъa2!J*e"BlHjiRmFDlc LBj#.Ed))3d)-jRIMBUEQ#-Ji6ci24؂C$c%ɲheIhL3LbiX+2&ɨ6$S3&L$RR$fDY&M#.ɲSB6Djj4QZa%M"L*)@,fMHPRe &)HAm&IZ,IkF"$fm k)I*e-E"VdT&Ƃ4EmjT)5LLM#.K,$bTRjH,3h4lI6+jSE%)jR5I3dRTXiH%H%%10IAX TYMf#JKm$k2l2J(c,#h5 Rf֖#.6̶1Y-f#-IEb 2SklljƔ3hɨؐ6-V2IH*lV%h,RR5J2(JIbIl1FQcIk6R%ce#QF%UYʆDL1i&Xh4Jc2[ QmF-kbѶ6RɵYmؚ5cKblb"De$Ȓ&؃#*o冀iRّSi#.`S?nZEAILv\"fT [#.4Oj*0;7/6bi!,JW4Θ냒#*R}Ub?d  _t߭$ɠGK; F#vAںuvi{}߷wc?8;&Zm]I6dc֩tr|ZeRT۰Ӕ#.X<਍b*0%eM^tO]MݶdKL!k4D2M)NѨھk$b&JDd݈f XEyx3pY&^McEOulUAI,;Vk4ZoTS(C (`)/s`ڛ. Y(4Q)* h0#*Ơ;aA,.>bn(iߺt\ubu RRb(Ȱ=ClhwĻ*QCf5?<\CƱVx]UrɃ3!Fc_UV?N9#-uqszuk+^"a-pNj8\_xzlgAL@G [R)-DzM 2FBwe.l?5֘Ğ, yx((()Aߒ_uVZ+FP]cIޙcը2"0X;j.8D[/ߩ#w:xrdp]y!]v}׹u(Es2ɼ\cUM*4ݨҹs&g|׵#\-\EE$`c'睵%#- shdg>4L$^P"[]5}tRʂʂ1_5î>.)6Ʌں7yL%#.-DN7}#.ѷ<+zxݤA@2U#iejFdyU%D Wao+#- 9!moZ"1C'>&zh4#*7u(]W|ty3DU1t 3Ss|oxl'#.Fv œV6Rb!VJ,b©ꇮp'W~(LPaM!?,>;W'z8WVa\YiCѠASq/9`kFQ0AmןTXX5X۱T3˨e1 R,fs#-2#-&U5%>sS !#ӄIr_q/#-b+&wͷ2ԙT3*ߥyZVzEO^ؚ06;Ac7@|W,1HVH1ؽFPqcZ>=\v89;S}i9g#-$GGA=i0hմa\i1o+hMT-(Ij_u6.YٵUM+(m#-|*l9L#-_5Ӯ3OamIw(F7הƵ75oVƯfEymvGFǰcFOr`txFN(Pp9jʎb9 kZ#ˢ׬ai2jTiOq*Rx!3{*mҿe u4PnSWZ,JkoH#. <%=rSRG5__Bv}W]h|=bb8te3{44O:1P?7FfiMHiSv&:W*>7NEϦCdQ"!˿le3ɘcDC(cI!>=/gD~Դʴ)R륖 +̲ؔ0+"L䯣^u|o}~ݨn#.nRGڕj^6J{kOb#-;ZD(akݕi3Jl^nPՅR#T6ܫ+W18- R;KO_=s#.Hҕ:!'G*k\q.ߣ\gˍ\@+G8k0jFzeotآ] P,KgSݹgsӫ ڎؚkj}qҾ]>90lpne4Q:=S(RUTPQVo9hv^om I{OLg{<uZ6gVdb`EE(.ZwL;b{ٺw<;3ߘr;JF6ͽU;qtU9'a0i;[c#-Wv#-,LR":|2_=x4jW!23)wf %52uje{ʈďVV!͚2fF1猡\E8mD|m`[&?; GM#!&vZ_̺;+Q^\y/k)}$%S)H(1EqOnˉKW:Npa9bzf=RY@ :˒#m2{|{JFpW<]C"}O;U ^;aBqr=6N{ÏA/In,9\[`oÃ{SԺRtgĿ)+.<>pT)>>,>K[*8Od+m-yJ@&8YiP)q8oҠM~kԦ۵~Msq<vm Ŀ8])*=G?ae ׆g4':+-4eQRNf\a#.GXSo|H>dib+W5( ]HhΨL#.U:#ú\ڪ.L#.2u#.5`)D\|h8#ynqZ`{h)nFZx:fyϴ}`Atڥ Cw J&ڔh'c;ⰾ &(}̳?վlG9y٥z0 5)vl\zZ!Zt]ܼTM]ŖhJk>ZJ5Fx8H/GOJQ#.+G#-*W^J&Sq3^ϔdD[Pf wJ)g):U?!$t=>{=f5.)F !qH,JI<N(=;W048556iF)gщ?|FSi6XNp[3ӱL34X@M8~v{}7C}9#-9U_*>eE|a)s;wdx/JFLG^:V-;4GBkUakfyYBͪkP/煲*^[)Vb[Hw!Qgh [&!Ӯ؍e>#.g|ٌƆØe?\u}ijX؆t9H[WեN8O]O#->:#-5 x1[ od"uQ15ZU5@J&`BQ9#-4Kee (R(7WzuJVTǞvrPJZmy#-*,`;%.N},W-iv$I%8WeS&Ma4]~C`b3D}W#SeLw.d닛WTA F2{jcEr~( 1.r1Q6̃d\M#-°q÷2],Nc>&dYjҡ5߷uמ|jdJ#`u7gj>יnk_}G4ixwes'F<+lm:^>A 2MEc8G:,~iuע\ፗ!as/r5oN׋۪ J]&}ȋ@H#*r}g'~d8!7wC+8xnxM7s4 kwa(QKuYW~aM&ҘI u~usH~!2U-btizǣ};Ҍ56woYl$(cXEg,fޚ(Ĩ6Īv09mP_Iv&(1=bl,-N`1F'b{#*<<$BD &-9*ouoceNk5bu<=fݖT=P^ݞ7aљ@SM_1#}=th#-osju& $$H#*P>2Ь+OecsLyXx/r^_BFd<_!E"0Բ(MQb I$1mWIʷ)Rp &9Fk6=}eFfOV)a%A!S緟>t>OZf2mfZU9eQCB* Cyn?Bn= (;Ce:q٦%4yXހl~>aW:˚e+ ̈.?kXՊ?6MЪx~6XT$Q!a J`4XP~ޢ=V묣D.d@twpiN2 sL<7Ťd[4!6_]yt369|%N솩y_\<(+"#-9~ݴzjNI~ڞ]b%a)$TmsfH2ͽc_D8n""^O2HJm٥cu@J#.ʱ}*a׳i$?w76}hs1ϜU1O\k!fr7F}^ME2iMgqJtF#-.GWyh#-v/~1`{,##-=#1< %IY?5=m:Npw:Ywk;{~i٥q4c"uE@jZIzgsG\m_Dd.=C0 m}Ң\׻JV؀ǹdS6zA 3#.Shtș^5W4lL};t1E*6%wCfc6xTRr)jmB*95zf)sSrm!ѿ=q kRљ=TZVJʇJ#.uι|MucޖDHhHb[yv6`zffSIwl69Gz$[BaIEL`}~<~@SZ (.>89,5LvI;/^aFL٨vw)54[eMD&#.09tv6eݒxC圛ѬKd -gj#-knY<́xNdJٖስF&#.3"dHmQc4Dh3Yއ#-4+-y3^_eй`wxL&nh#.c!0;&h.雪惠zTr&Myp4.7HH .#-5B;G^i/%od12΍1c_JO$qPchHJARPQ}̒<-2f;ܔZll^3쿫ŗUy(%+̙5:W;a]X4r/H=Ь댩Nxwm0!nhw=&YcGݖOo w}&b?{ҘXq%1I#]g㩸fvKL^o_d#-+\6E:8Zpa@<בmod[xFP,P's;>Lic~̖I\39b#-%P<]E,?/}XAO^׬턱ݞnBGm#.,yV$%vFx${r:!ߢ|?Eo}ثɃ9Ơ#-~:HɲZ C|9CI/fun08tV_w[-# bGLWYx0Ӗ0{ @S@0ڞB󺻼4槓)QZdȠZo44Oy}G:^?͚I E#jX׷&TdmHm!)i蔢.ws46#*I#.Go#.+O;n`v #.W XېY(d#*;hc7s.~e[ĝ<J? 3#.W7©[sPwQW>޻W3j?trESg׳>1X XZȌRFK*\̳*ϫ!<v2ѹo3@tGO70m.B`v[e$yډ]Zv{#-T9x/Z"~uQNfK-d{9˔5gD>mxAe.}Ke{c2F6A^Y3<YNo-ehSkK}Yޓ!h2'9e+$#"D:a6b 3] FG -4f<*Ib}x4os#-ֵk;sTV;H*CjcCT$KMsÖLFgH֕[.x4sB#-UT\I9-%,Žl({Dn/M|!mw :i s#-#$߰ߟwVE [b>R`?(uLPR(#.(hW6\"-[t3nz#uS¬bB]a"75}- ,)X#ugG(=ǹ>ѤǶ?A73k8ϗ"C)qmO RXdou#-Nh5v(nooaہ-|\qSwu|*O)1_5ٰ#."XKG+#-ORV|MRR*ؗ1y_7k w~>I#-]:j+#.cIޠ?h25$rJ&Vqκ^gmlG?ǫ~c@SAjk)i@lL|ޫsFEƚT.U # 1,> ^[0&K~oeד0A-= eCyP?7U;Fr{1?۞R*,{N>[S-Ids3?ZP4ԔHP Z K((a)3A$ Ef1#->rK[~+|X渆I4DdhXa,QFU@(%#*E"> -LOCf{{]M6Uc,A>PD`F،͖ߺ}Uxd}\ZxA.D("!"CK@"qo ͎Z)Tɖomc !LKePPOae <3#.C8?cDHxv&V_?OՋ^t3@o`5'pccϸ?1!$?t"=k>n\pa5t[?;vЄ.%@F £q)*i?K'X4B"\fA/("XXk%'ɜƓBΏ#.)}?2AqoԷ/\,}Y11(D&$=I8Cu71n?m"k!G>YE[Eh'o>ׇ_׊_qꥋ?8?;Y.~_=9䬷؛Eî_CXnU;ߎomHMAuE?E}vOSX9kKW%OlׄN4~nG;OBZa%V£irXʧv39/WDd":fiT>Vne;NTAn8̐>wFӐWHc׮?m3t<{_==RdFR՘2"Y)@l}>oURbԬC&H!w ;=%`Yo_A٫Z4T5j/Yq'Vn6SkBXFN8ܙkk^(!)ҿLxBpI#-g<[t:`IlVted>5b)=`k#~o.M CIԉ=U՞S;$Ex_?l _f2;\F2"@Om69njsa+/RBDAkN.dK3ٽFڄ0" 𤦻c[8j PM0r*qe>}O2%hUp#ԝ%5cv^-9ݦ;uJW.RLJ~ m[}?`}MEryݩyWt*uZKU}P?<;է_xߵCE0\#-ϧhkʹac%6B0 $Sp dz!*#.+%Zh UFCY!1+'NTտ6s~?~5^XA秲cϛ[{uqӨ6cQ_ft5zUt*)?f|5ʽYi冥 ~zrE^YzV[A-%9.~_c‘(2Uqwˇ?v6~|Ww3}A/vreiݻs6t-ѫs=K|_vᅤV+)}nWkw^: |M?ggz+<QYA*i9>Z<|y>4y?=6]Vkٴ|ӌfG^wF-gQur'zTizvIꖀW#-τGᇞJN"qPqh%i[Ļ#.@9C#.ۢ9C_ŅRE>뜷B$~Me#-G|=1ҝJNe߻K[F6>֫c扢QU%*;yUwdw|AA>W*r/w#-/{z#,\ԏ6̕mxk!??#-eYf"+Ǿd?ri-|W>ib2oXnQXf|ßk>|BI|C{CuRh7C̿A^S[ZU?мkMl#+jz:ggח>«w6N[Tc=?z7v:5p;aq^LڧPgJ#-P9[+eqB T/cWRڞ/ݭve\벙^Dz?'J%VsTSyޝ6,;8JϔyO$`iI$-$AS`j%a^Ev?SSbhT'D:V"tB/>W|yKot&b'%K>End|3u12C">tG>c9rkQ?cQHmTUg+a]HL#*Ĩnu)9#-PoJ_E>mmeY#.,!f]$CF˱H#-副*%m2M2hA]ZmJ]kPg(+ta#-r,4 IJcoew> eV»M;Ko4i0\abn7pPVӇ/c g5 ]2=_|Ձtί#.E}_OeGJޕ@My>?O8hH8m_7@WtnUw_X"v]طFʟ&,hEW_QTq|8?n[}!2VdYI& ]'љہb?,Z¸ȿZ̸6#rOU`[d)cْ02p5Di,#pТT 5^5׼zImmӎ*"چґR'bCm3tpKpjbqZM!a[M&~#U![F׶;d8F#-_O]]p3Pjqdu֏f!/QhҘԓ?MZFarM_xXyaaƙ'3"#LȐDymv#;>Xv:vCݒ&aT*%#.jjFk1|5 cX*6abbj!hH yv@Clv<7MV*n)_柒ˉhO M]{q-4|YӾGO=3{O2|w~3F"lɻnGQMmMX={u/+煹{Jk촉roYִڤl==*vmk]DA+]޶}Ynߦ}5B4k/ `@^>3<{?~Gh|=EQ%=_/K#WC__C7~7NQh~N0#GЧ*SE_{4YVzCi\1tD0FXcA+eҥ$fLP]VNHC[H4V@f!oW-7R[o7kƮS6dE,+&-!Iz/#-ITf2 LﵺУ@ڏ*((X2(F6RiyV#-#.ZSx-ģIkc0e2uǻ*(VrMPΑ/+:){5B/v;kd{}G_}ogkeߗ)! 8F?g=X+G:>Q^ 3?B|궄jO]$wP y;q-y}}6k@ Flg>P|o2I' Z';zxVӴOt"TH|+f_#-fo..KE!"[HvE.38HYX%ucSlRl|3 DqS(-$@"NlJ/õ\ܑ$9:}.V9x*Ѽi3BnZ8A1$@n='&#.wZ}Ô{eBJ Wf5pc{2z/߆߮!$$'#;^62mms77њʩJtuMMDdZCJG7aL6o{Yᯧb=ְdfdJ:_}%dx㨲A9K _->gM dWvNNΘo.%s",CQ/1[#*˦iVgNCvϵg]W}OPwZyXFF5Xzd+z&'4v#.+K0 oD3V(Z)D#)sW ($!V0p##f%w)B&DZ#*=Z^%nq׌P8]0#iAӊ18IW^SdEwxy܁?V_OE\wf!!$ҡ 3c||zWۢ϶Ҽ(]%G}O#x2]!ɒ{^\} J`-U?U Ӎ#3F>Dl:qӆJZD:XDpi2$HڣP`c+z;EAha>ţIB4B٧ lJcMaqbA-ZzZ( #*P݌o@;CWsmOz\rDkmrhB4Q.A}9UWJ_fVGM~&<3| 6 (`zZM#.FAv};L9%#.`#. m#$uuL$l$s FN[cFqB2$,#-Qk8^NH7%dFYߜC8!xR" 8f3&`Y) X&wcy% #*PEiR|eː2ںmJtpC۪ܱo( e!* 7&N>"J)iikTn5ZCM<4G,[)N8"2#.(Ev$cDtK+3ZJoSILe"7ѱc;"IBO6Ʈ,l639g(ɤ0D$nGqnrA#A#.Z 4 2Ip D7 ~pĥl"L4`=]M ps#-:B{N4JxXBa#.Amdy(8j+o]?i4 njkM6lҥ[3(FڍVZUJD$ؔ2P,ݚb녚|]5d/¦a ydҩ2)Fa`R#. "Te65b:տHF#.#- ~đ7ԇ#*ݎ-EL h6Nܔ71;:rp!8AEdm41p!,usfp0"LӋOl!l3FLP\lnv6!0C,tPV#-|mk>0HBIt6B[yVe)ƕW2iS#-\fRlM ϋSrHֳ6~77ѱABiJ--vmkr k7".ȡ19:jaD yd`fkfͬS&kX.<}m&隥XjQࢆ`CHjNhcDNԷ+۷u9W$Ë{$DXT4hLb0|#.!QKJT+/Lv OR9*d{\bPw'H؂2}Q3'O#.LGc17,YYR1p#̭`RvՔkh><ؑXA7b5"$uÿ&tn0D00ǽ뻙spzl,n&*zYef&/tȥd!RMԍSg-Ύڋ#-lmg9}6#(ֻp[t0\Tg({f/7 ĺ%2}OcY62RB{ô/M#E&6\EbٍyU氺M3D)8dA247b5mF4pӡBtyK8`-J:hd:gEK zh;qw^La5DEevrar~-PG5dUŤг__f]}aw:a!#-pMM楎^S DFMF Oc6H&R/{#~0`5ߵ*p2Dŏ]]Y:U/|]SWtmo< #-+}>"Xy=LEK4|r%Bns-0kQ=&#7H` 'f#-P0 ")j^q FQ}M~MڞgGҪ-aZӘD b$1EYg%ݍpGțɹ3zs'cjо8rLpD9Bd3uZ}Ed{lhɮ#-}Ⱦs.L*C m3F6;Hl3w!{51)S^pLh!&sAMQM 5Dl|iYU0wq_(#-߬ز8s*@#-.]q}?>nln5#.IUJgf%ȹfUi'y\vɆ%أ$#.GyR{χΧ<۷uW9)_ SR=^N 9LjtbiTlvB)26Dy5 _yw;HrDauR#*{ju9QwWFeaQgҊ/wTǥ[|~!ę#-lʋ7d-믎uy D^PQ|tO;v$yԀwt uX_Qc-ۻ~'owFG-Dc(3ϲ[m֍U]>!\Ԥ[Qeޛ:Yݥ>yR:ZG˦׺bOJ2C-$[mqǕ.H7MXeFqfvbb%L\+*Cpwua13Kzai۾:R:r^Rgfޚ#Nٺ#@h_kq:V_Iߵ\](OϞrl2~B8}#.*˞`,V6#-`2 vsRȄh#Ojjm~L7XI,sYh5nљFrZ:UM,AmѰݦehn1uv{':<^Ph}AHoݢaY*&pk$'SEB7-OUENp~#.AU"P j-Ѵ9T_U4W)E b#].z7zE&YQ/m#-{SV=XtiJ'0i-yǜ9UΉ5(qX`ͯE5[bud]3ӣ3QSy%|㇅mϖwٽE56Ĕb )'111ο#-㝹OߵR~hsYzF}pd}Ol:_6ceֆwӢr%uk ǽaOpWЪgL#-ؿէ26_YQ@4e!F.&Mtmz7YBu>}qG/uh#.igI"'=uhX(}>GWϏ<}um1~=sٚDK$jQrb|!f7P* 4R&)}~{zg}dOA)~`[] NT1^$|{w c'/R˦ǟ=zxJUQ{ҒuN̉{^}s'#TA*tX&"#./Z-rVxA#- 7tޟ97ڋWVxsGɹx-3W_1z(Yӯ5޻ݛ)eB#-M 9/F+Y̥Y7~#aY6u16mWJ_8oI:g[ky ď.gO?4أiY Z^q}̲[@KoK|oiۙ7 yf`t^WmLmBt{f37qm׭>#.o#-m^f1!yOڶ6+qY߬4 x\y}c1|YvHX-TCM]6aSX'Q犥(ޙ;1kvs/sW_|67g>2:LX<_il>%^Dl}HJ#`y*w:PH%x}y3zRmc! #9bmlլW&#.=Q,# h#-_(߿F}@&33pf\0T%yf2c0ٮEUVeRiMzO|#.jm4`>6ŰWVWdTTAv-0WܫC{_}vP}^խ߫ryOMT TO<ۯt#.[ D4_+){/:6GXu :$?Kʳm5/F!~O}}jxP|IRx+x#.BQPCu]TXR#.DNq#.3!S#.]7ɶK&Uա#9K1AO:A7Dgdn\(ixs˾J,wt{`[`s>Hk'׊MfSOE o=^w\hG-K7[[(6H!zpEO'M5q򮺄-Ezd4QMЛC[ب~rk\F..ɍWȹU{z{JzNtu0~>_y{G #.ya OE1}7|#.^HЗ#-&y6gL-Y/M3j!OT ejKg)VG[qܽq+~e DUCκ2M!5~#.$8eB#-S@kS.tӦwWCw'ڋ[ly7]YQh5Gt21U!w#-WRȔ1.3e NM7{\DžefL,c[ۑC5e̪5#-Nlʸ>bϓTx')}xmOʛ+^׷w}6;bnu#-%893e)>m XhmؕGYz&E "e]/L9~3b'm/L94T("g|'vxԳTչt@JȏD +# ׋9j"#*pe\6.3LM $Aѿngs<\i4 A~~tQg9GZ(oQDgCat Z5(^Dm~{T%PΉ[u\T-+׮_B4=.?mM+#7s:NqIpJ;5)K׌0,u%;JB~(NMEUmji;k>5Vŷ>wS6/{&dKF)8峔u5ƾ}֫ÊpB}#.!#T$ ʽtJo)C$~inlݿrf}(oZ3S$%k +1D8 o{i0Kd5}=XZ#*(8U=Q &q#-5:SO19 6c>u:~5c7)dX(#*Dlٿs͇R}U3,FŸtq+v]4訏]*mB9+f:TFSE{]zFU'͜vZEr)~ߠ}UU7?gqetRk0!&%ښMr=b.kr0QwCmo,#wDk8c(3vr#.tGGU51w+hr#-6#:%qJ7YnkzڛI"Ԋ|uҬ*tB62 z QV|M`;:k8R$#. S}L$-{T [$̘j%p^o9m+{p@`lh8i?~T0sv#-#j-"v>38R*ba갬:%8WI RկIM鮅yEv4Fa҂tGOpt'q#䆼xYxMT=K`&Cb15w25( DL~áad'431t<%0$}^P5kFFlR Jv&0ݜnJer0op$`:ACYtwbڢG#-/k&eحeO]p𦩮#-`S(шg˻Q.yGA+ʤLra+F{D_j'dHdHHZ(Q#.߻eN$-3-D]6c)A&)EyjΧuex8ZGufaIR%sf42}/[g6x|*6Yח+yMX6⻼۾{%̰J3M!!#ΞOwkCDk8O%0g>nc@7F7İ>ale&萆 `hl%_U-G{kcH9BB+j`M2йiڎQp+)ʩ~N/+#-KulGdÅ^%o{#vzxn.5 DA'i/q7@{,[⻝6#cȈ50u?{̭άo#DiC|#.^->cdTդBPmzK}Ô%4C*7IntZ&lrfpC@k81?1Cnv7͝i|FS[zmc 29Dgj"i$;,p5)L_p\2pf`.`b,&S=P:PEo9&GP aCCwr^)މ,cnnaeCq= E}Ztcs XcMHdH|&؃NqQDdO8 E~};#t\N˔ -0gF.tpr@9RY!*b>BPHvB"kƲL{sʚBV Yah( d2g-s#-⺈|(fHrcڃRm 63nZ_pyUE 6g(6Z"#4%L@U]^Hَ[wjcJeL/۵Đ;=o}P8zb\= }GQX}{WHMG7<`RBws}"ZJX$!5cE]{oy9aGcn\Xӿ٬p=3|NW4GG?cw0x>|s:M嚜:eف`Km֖kRqX38|M5;q@ C`$45uUCIZEz,ƚ&&Wjq>/#-Of՗*X梵Vj]h `0xA"ڽ#.|eZ*X8q]TKC>QC|1i"&4#,7+1x5ɹz#*\]2!fgp6PGݔWo:_ DIr#$<d|Uά+t'.m$⛷1 2HJI29?|g!?4D3#-ug;@Q;3JiH"/mgxa8uK ><%%i.rn#-zh(7>ؖCF^eރv'_%E,vö*VD&DLt`mkXm=q#D/~F׶"#N'Atě -N|tV¦HTBZ֙/[q5]gUG5PqqmN!?rgCl#-ǽBpWϡ(*Dc2FD)RU㼔Qyo')uIȳ)Z9T;6ªaW?iG(WQ,ࣀ5j#hQBĉDDB&02.\_I']F(R~)M 3ogll#;fq;qSU#.3ác&d) ߿>.gu^5}]vc,Yh#.F#*ȑoYDZi*S,m5`{'|-nav% #-Mp3q B#--g#**E#w(̬/7>GUvO8G$)aSȌSʣl evo J1C}Л47֞+#.CzC8#..*h=m8&爭wL^/zqF-Ge/}[]5ߴvʸqbDd{b775,wE!~y~#-V}f;2<`nS"jGCC#. #JDMx5mxEjihū6Y~^צ-hyWKwsrJͭVdؤũKfP"Gà3Gx:RrB[*$3#-IM%R2f#OP!Ղƃc,uuS뺈y4yQKg*|=F;dz80"D@Y%1$P=!o/0aǡ& Lvې7Q Lާǰ"aJl7 Z"m0:W;$4$bb`Z9n;ѿSN F>.&Q$+}#-H…PƵTZޖ5h-6#.^^qy RƊK&bCRAYQ$o7E4򶻇3P}>|e˧V(\YtG#-ώdYCp 2'o~<#-aA ۩^<~mѧnwvxyf#-m䯳ΒEy <0;4ǯqq y;heVW]A?2Iq163Tt8d<ʤ숼ޓAXsэT":wiRA5J- M#-#*L44wnښ45Z#*$ #.+ޜD39Ѱ֡#."N}W@ ^[ !f Bsv<)n<2+dc|5X?~u{b|Dte:,;.] mqjVqٶ$bxWXq0u>#F(JU]'M#-#.eϧ[d(fmkdf^d;Z"=Om>=9D[Td,Qs eln; 㙩sa"M#.i"ZuQfD3BRUB%wVK`ȇ9blnĎl^G嘴quGwC5xQ3r*4$|tԮGN =i f잲[".Dj`h#-|,+Y$I#.%uMG;zW E8fމl)u1gȰ7L$H3D ߎ8_*& 0q#* ~_Wﯷn1c?3~ zT1xY|kL]6 'ElUje{#.!# sx叔u6NcR4oo#-53pM%ۥݤcbA>;G~[ɿ\5fmb`x`bfMB Ԭ[#. }_˯BR(:xkBOÂnH`07rTslS]?"DQlQ#* _t58E&%0)6lvos$L]0_>8vltAWP"? 21|%k xgmF&Oٍ<_lvz?#*_H {ϔկ^־Jd(CJ4s;YX~~KE(Hd~ ߯)#y˒H=$c U~=>&iKcV\rX,u*+%)n(?^1TO0P(ßٻ./> î;qHqé-RVZT[8VY~BB{Q٫=[ogU[ȳ5< ,m)|oըv;1N&qN7GToҨks+TTYUAERO}:x#-9a-u#*Lǥq&8!< =[~E𢿺~ 9&#-+ȱd1:s~?"4rߝxɷw?|>l/1t#-S@ͫI`*ME]/Ɣ;gר̼6@ŧⴎ>oy,gY_xiscermq#*+}.]^?"I2Afz*Eۣ᫂trx33E0#-%:D\3ښөo3nY.WHGUsQ\Onޤ&+ǚ>n.BߊY3H)\#*ܕIqhE!OҘuMalZuERl#*LbnWMDURy[')YEli&M7dϣ V(ܘZ-It#*w_d\c$"|'hġI}8o|jfKk1G={3y IĠAi9kǧyjŅזfZǻ\PGzu4'úEX@ B{${=?s=jmtccY6~sW 7e BQ}eM@Wirr5'!9W8?4kJn~X@p/@ \bTt#.}mx˭ŀc—`Џ<MseOi7{{[>=ƤYE.n83w2ϏUrW؅tcb 2:BfX8ϣZj#.&_WMM)g~Pl_~HQodU[,Y#tnx?p`'#.c#-ґߪM #?ӆرO(P4^T/U#hKۻd#-Is1$epj73Wa7`F<6VRA_x ׶P=Ϊ,&}ݓ UEqi>^ Đ>sce䑓uGczw""J$)a.J+\&Dxx:c̭3ڣ{1!ǎ%~רߗ1RFT[`gC%u^rT>=%5j:OUKq(GN׊XL҈5B#.ÅCT;w8o\}$8~\m3gKT<3yܺ7_R#s둉/[25C|?sR%GXN$Bܝ{ęvo*t޷ hц(صyq׿+}MflQGluLrTstEzR5/X)HG{c'GKWVXV|1qG㩫\QdtuλVTaK'P%lpOK?AfClt|H|s0% @y&ުY_Pf7[oz=f,zylSu]3 73M7+ۧ4^%#;z\CVr&s5b ȟS!YP9-,Xվ:uv%$"5ȶ*Up:7"OskTϗ"uuO 3.)u+[,ovf˞Ko呒[|ϳ=ԇjm.xkRࣤ ٰw){UB1u1 :GLrcf()7d[R)S[MJf{q&MGeD9:u$#yNj##-}f;0Nrޣ|4p.5z.zdqqɫ+طb2":PGz5YNɠ̸;#[&rGyo6L$s&!5Bby!AhPteȧ#-Nǖ#.G9oe$n9bcFKߘ>ܛ_D"KnDK~%?#-o͝7*4a_]h|ShQ;^4VQМ|hr@zT*;oRsJKhqzj.wd_mTVX Ppae0~3Ʈ"N6TwB(yH5^6ݲc-=l!ޣR#EϿvK+R.DVeOi&?Fх-rD}WH/w]38F{#-#.ÒmP$@?$vѪP}3#-oYĻiOD;,z?JnXB["Zݭ#.cB(@:]8̑S#.m"#.3m(Fϴ?)CtapRIӡ{Fh9' ÒrHP$}( ψm~; fmCa1jѬ籼6<Ғys 1u#J.!߃f>%% @z<:N4d| ~,5w:{.#*2b2R~r|친b-!?|P?EYW>d"=9t4%'G"$~qlEVoB"ZHKšF#.~! ch4E;/Մ*)C? (d=VR2DAΙi:"C.iXWULr::5jH5Bز\!N(.4ڭA/ΌȚ4P|njz>Xqzuz$)ڌJ;O7"gդj6]BN6XR-f~F++A ~;v{HN`11l4V]k!mF$:w5?^ٓѻ_TƘ=<!Tܙ.ZLW"n>Je Uri7[QJi#e_o3pMv\27z75@eB$_gvnopij!&#-. *|`^v}.%&w"Iu#${l_T|u s\7 t;eP:#u鎾ƶ&!J1 nIa,qIu`B>CV*w+8\/Tiݪ+4WJt7 u>8V* #!ڈAg3#vUfCAn3TL\6#*=|Tky;Q#-oEsxeۨktsg9çhRź6-2*Bh&A&=BTd|iQmeX\1[ջº#.<9CLe?6gU~=%o ~)L)hq7?_"}U7w̹7:6rnը`]࿮#-&Kr-N2H:;_Ot6._}Sƙd8|BFdG1r@]Hئc(FG2y=?3]̴!%?li},R6r e Aɝ&Ip>*#.8~oZc#.HVMU=OUԞmc3}1XavtZTQGD+6oP̯5<7+K1rkPjo.62[d}V#.L#.sQY_LwQBi[6%At(rc[7Oq8QΦ*hq5;#r5wvcd|~٠A<L!Jqsю$צ-&kVIq^kZCyL#.26<,xg1>5#-pķ(X"7C<xtkZ}wVρy=YTZd,eTShG) EY00CC/D/܍k *1YlвStdY#Ci>OKhAͷtO_j3>VkJ-dx#-֊Vqbԑ}zJoNVq-l3 攥9SW1+#;Snp17-/kutB9vN9i25I$ju8[ęvGިo;.᠆әyƚzd éݧg1#- &% G$QuFD#.@; R1+\4blWʭD/ zek*:'#-G#6.X%+[ƣ|7Դs&0?pnvskmWIF '__U΀\^qܖ$4;5Ui<:l]mu&02DrP#. Q ٽ=h1`([-L]GH+Lm-V;htfBp-d)gf#-YEa27gINUC#-N ۿ9=$7Ҙ^#.ڷ"ӫmȺ R P&{%6qo{tu򇴭ܘ/W#M/GIMY0tN *hrh.6'dFU#PkXRS"c+",Dƽ|he# /o?.9A2fwK2ѩNM}&~]oo(jvɔIl##-#tLYEG1EBfG'sD; 1y]89ev}$pZ̋d±fʟ#-=VcEtGoAgNj̗ykvgE&R}C'7Oѳ>/`,uCd|l#.>nBy گiLOM7.G@$Omb.;:?èsRҵ踦YdyhkUnR#-ac^e~߬cy>Ƀ#-_hto,Ap?\mAFx*RN9g;}p}j`AVb#*B2r1D~P#*Cy#*9<nJ,"0V(j`wc_8۞>..?I3AC'3ϫda~~'SPDw7*pv -#-x! v${.&*bboJa E^':riPk;O}>kҾt#-a{w@.Mj}3M ,ۮB D;扸/H9)u2f1bdY!r/]t I}`ԟv#(tV2nB.tAō;#*lo#.I!:?jaP$w#-%L~M&8;:#-<'}ɷzD& h;`Y$>WG Z*ȟUB(+!SE$2SUZtxB=urm~nTܛF@֣th$#-&ѐ%$#. y-ҔT@ٲ,`As!:#*m&˧ܖB ZpډQh;#.@A*bEŮ̽E;c^Gb!getWjXp5 WzeЇt$AƋ<Ъy#.'8C擲=ѤLFdu&W/5SЍ"qW0D $_¾?1IJgP UiNrI"R7z)\vM*Tu].͡Y0+h^4IQҴL&-WQnmVCR9_.Gi7NnA#8s(dÙwTl9l\/(v?V>ihǜ򑊞q1_12QL>O7 <>ZOYP—El#-0>CUqJ%}ӫ[-D1 LƔj= ;9r?Kwi_i`=jv7/Blh#-Ϟ_zxN!6$K#-!.(asQ "uՋ4qn:9. ()n1`>B;'&KGR$ ٯ47ԈDHJdGMf039w`@$T*'C#*ɡ4i,#-)Ǝ,cIsc@Nx;̈iL #*drԤrHu +33a\=~hk6L3*b )av着!yt7, )~G`[Ѹqܫ HhhX#-h$#*h|]r4?lTrd#.D#.~vL]NjC{n[Y-З}cOZ2UY!S5+|H>)ERҷýb%'y!n{/@+SbD\SXD"xHģibҬʆavB6a#*8Fj*+JG,"tY g˷ݶPl76J *['HrI$ilhwt8L;9~]z;eu6O'oB2uJ&#**6QߕO!=,ijəă k$Rq1$ω2D#.s<"j,bTUUx#-p))29QŠOBu&0#-o#-Jvd=u#*&jy-t;&pP >.$Wf7_Ʈ#-ښW"0YPPw>"~,$z5y2eciq@a22u``Sx5=[s+#.q$}C#.~ٗyqBB :R\6A8@ܶUo|J)3ZzJhQFn8}]v:N#@E'CQOMݧ`\IEˬ i#G2q#*3#*ݳoI_qrb䟜zXwF$h?z,H#.WeswA["g@t%61Ӡ֟v:")I |N5̳اkqxȡSwR)?#-.3 S1I H}]#.$:iM~WpFi &=o7bT Lwm򑤮hhfwwjf&p=o@0*#*b#*O#-!/xGFdOHo)!p[S_KBu5Nrl%VFF <]Sc3#*Ť7;"XL7N$Ɵ8Pz3yv}WL{`D+#D'SH0lX4q5/q 9@h]#.6|آXZ L!eJIdIQ؊^'f6r֡H1BTf &aQ$&$0buLdHɅy%ԣs uؚqp@pW>˦g >]ABH!H@\dYD>gAvjj).m8>,>0}|O`[Pz6#* VL0Fqp`na2!9Qc/7Hhcw ``DW[h6P\Ɔ4aZRfCu/Pj 8ϫ^nKb ?r) N#.MmUVc(n<[#.%dTff $$B2(39g5`ZVhvOР~E#.j#pbp"l- %&5zT*G&$MS"h{PD Š"u9-c#ƞVM]RsLzeJ)",8ҔAww͓?DJw5S2^J#.V`D#g`xNIQE}u~N{v&ILY_[5rםk"FĐR]u'UQo4OC#*ԛ$oo ,i`@`e>E(y/;0}ĀK]( `~0wr#-@1oLC!x6^$X#.#*6 .YE4#.BTjhQj\[fCavb@V}3fI#.P$tn]E,`f=A7QCQV:Z:Qsw{Ynle`rCPMIZAa缾"OB=LdzDuRG8ۆ?GrIt% FSv(=!ٴq{_8@+#9#-\p6BZ66fad `B#*K`-IŜ#A0@%(Вp#*3˓HD=tdS3 qc$錁t)ʐ8D~nGh*ٽȥ! bq(#*i6 LsmQ!w=#*XWxv܅Fq@"s>hFhTA#",NP#%-L;v2ZNpfo"0K`owd4M3 ZD~/wJ;wBM:B̷z#. 1c)9RpHiasR:OhD'bKlP+dFARPi&bvk#.CRU#.;Zl~~p$e'ƅ`9#.*RdTɁqA}8:@nu"p}ü!#*80*@[w{>%ՀD|fJf:{B!d~*aBE1#b ,4B`GO +H*c.XYpGX/0dɌ;3i:}% "uF;K4J4-Gʯa9h_v*]m$`Vzi.8h=r!2IJ"fPR)7($ƟVELeԇ9xKyZ}9Jf$-[`j}qeÐN.f>a.u9ז!'T_I2^FC#*܌[Ej!{B0)Jlt9!"A#*7$\y`7]ߣ߸_] 0Qk*+IV> f"ci9;x¤8]T'w%͹.HIMS5on{_#.TElimKh#.Q^{Vڥ2#UbI? :f\}Pb)m0`}J03}I`|!c}o33`q򑙯ǿuy;CM#.I#._0MxC"C2~GJ,$F@ŒMM4пV܈ FK<*C==RvkfM6(OK{w^LAP"=ؿ3^*{ wDWdl>|gډ*! l9bV2>ʺFKq0.Rsc^)r֜x׌ L͘4ęɋBLcp"p/~~hQZ?mtETv`v#-Vj(3q9CO6F8BBc4#.'::C2=EOiw#.EX$Z[_H?%T;@ &lV'jz#-doG|bd{;0|sm`>#-٥xnn`?k}r](:wQ"AQίd>dN(CV1,AYei1H@M:f['wwGAE\2#*FC"Aa0f(3c"BVk8!F#*F#M+ŁjFP`oZI1WmzWT]??!8?IsƸzXa!YtAYe##/:[D{B/,gq#.0lX4Hn& f,iaM9MTq C3a"+98i 5LѮQc {eT~~VJ[u;4EB{2 B"p[Sa3ͪEJь/UU;r[}ߦlۖ3=YJ3롯LuNy=~J)&Ȥ- l&Ƨc2&wI#.~ #*QHP6# H1X,"Fd(;yT3dy9XnL@q3#S54Y9D Lv*v*AhިUD30|TG[B VH$:׬U'v k˭ۮ#*7G-J>MT !MMON3h>""k!ft:*_{|E6۲cUC&QfO7CɔEhIʔ'+DmaSz[ޏGL;.+3"x?&[?(3l7~_e5jm>e-NZ#[`U+AV\Ju6&档#*=E)?[lEޛbC#*Ժx\kkI"&S")0Xz:SYwoi39&b;e>&:J'l{ /S_\ICo@&·xpk`)i;aAX_]lA#-{}4!d3?:BV\S/wui4x6"͘{^|O"DI*}V}r,U#glg@A^Iϣ3F/'3"7}t1 )ûԲVk3[#-p¼HVQk37"#.[Ǝ[~E_qhߦƷ> Y#*ژ7cp3aXQ]|g#k=78tG [9eSwo 6:Qi& #?yjuo#Qh~C'e[xCa\h!Y?Hʴ5Un_^+CO"J4^Duό峄xۈ8aw(4.1Aϯs<ְjzG0 ޣU91#01b3FRRThV2{{眝5#-.ysXR pUxk!{ {TV*KFŁɚdgA?_~uAϽ]qP&p!c-gAmv7ƫ/0Wb<1E}$Xȁ溨nQnB*̥1u;}khy&[/ +j_{G rnѣULHoDZ2Xç3V#- .>bzJAYkOmU{u#.=gD#O 3}$Kߗlhc}q la Fx4ۢ}c:ffS;HJYL:Vϓit?o=R#-|W_-6RYu(4*v#-(CXP^CH S#* #5v }0(%~4ZH"#.#.6Elanaڇ)qA)iFC.§$)#-@jϲow|am,@>4SICm)jg&׾2owܐ7t.ٻc'nCqS|#-u][ ϲBqiwDWtjME6aYVKfc ڃQ{Ei%q.(/ѕuUܷ[d&+/k)`'{ݦeuU#ED~vOJd$ZI;M'O=`i1wՉ8/VQ0!%ul#-zBƨ{:60EaHw^Vڸ6soCPc`h&,e{Bu*QdBX>CrF{/#-0q$s$OV4}B&8$UTD?ygqjD{1>^|Dd==3ןКA "%LB3v۠\A=QĒo)Jz\DsrF1웞ª׿^h#.d]a9wY 69=)~u(D^^~rYw}'8Z!U4*CzG^0)96Z.e{ݶoKL5B8ơ:rc7-nh = \>6V[5m{LV١ ^;MǛˎsF!Ae%&naI$;)Ɲ4deӷz0a?~BhunaaA ~˷wSn#-seoabA, š^Wӆqvg'm„XtpBz!QN‹A-,7ǝ7YFcftƑpӦq&m'%ޤ2S)HQ^vjFj0ݱst"=P.@˻vؘ!>`wF;8uY#.q ԀXu-c#.7%Qȉ:#-|',z Q6|'5nbo irdYR=m#-0xZG)ܒ8o61¨IA˕r'9N3@A)$9cJ`i-l6i:2tf0TcK_O14'j{'QIK84U#.GhLz YdIJe9,;+b*H7N39#.SQ"$tr_;| htn ?~j2̙s33,mUffIV;fu?f8M BGVi9D"*#*4F6I/cL1XINᄆ4:_ &LBPˎ`57 s/ڪYŲmθ:dZvlkS,*ȉ3(.ndw+\fƠvVgt&P^/?nbIt.a!6 ;p=єm4`!B5Qԥ9Lekf.7)=Y쪍TeL;#-#.e0n.# #*<r 8x"u+N:C{Or U#*D&B`/,6B ߤЛDDtbX#.`L}>!{%No;5r:}SwLa 46CXL@ޣݵBM8ؘ$BnpyJ D3fӘjӐ Hwhv8jT;͠$sme:ѱ-< c~!+*$y`G܋k^w#- cGSRŒ οðg",A(eN8paƱ)HHwd#-0gf,>+urhHXؠPCCiC'^aеfrGŊ~fR9 f6#-,fYĔǽd?{d{7̫eƎ<##.}Zmv#*ň+-`oq0&>ϯs<6i0sr8Hl{a:\: ؆Ź(+\eaC2#.ho#*5vkq["%5X&rŃx./3S;WKĦ)#P4D3BZhW;¸ @Mt d@. bB}FE?gJᛍN׼1GeK/Qo&QrEN=HPF#Ɛsgܚ>qčUuVЭUUUkzCCu/^qh͂B#sؽ)"gBHbzn1K;9~GB&v4e#-2#-&;X4#846[v#-I(3Mj:ӯQٺC?Q!ĦF@h\mnM=&05FEVBQ1R)oC3/Qt_ǎ[=UAOfT}cFK<ٛgYRa`RNv(cZͲf8S8Z#-@Z?#.G(EJ);;x'AಎdRK%^IUt-nZ)ڪu|5zi@=H< D-U J)C$]Fh@a?b~>VKZu9b ˆ\+xxii`5UPF%T%!"y;)Q (Z"UEfV̅6SUUQd͖*k~k?\oT^0F@"z" QE:orj uJH#-٘]]އoHJ G*0Xf(hep[}#YP VL#*-/=@Ƿ[>VTEHl"Q22MM39`8qGfȒ@lhҩ@`Ph{ [*/o$P#*v J6aMlF$Su0pP ПM{>By uA*&Cy#*\WoNa0# 6j,ͷ]ƨJeW+skljM@{R`BBp~k+&s24PC#*,@Q<W9ia h-O50#*!* >Xա% 8{ϽPc5^?v@Yę@wuRe#.m->K+u*5E^j鱛ѡRT#-?a#*R()!py⭷d3Wd2'9ntpk SS.OJF :x2#- J2 {s#.3Y%͎Kɛc éNu}twv\$t^JCt7N^}bh0y:=Aw:h}==f'YW(;edj0LDMOHɚia~ D7qoIa74VSqa`n)/ ?ꀎӰHyt]N$#*oim™x=(0##-5h2#-m[?-Zٻ>K9 #."i&pNhJy8bX#.IZ#+q:bL4_2E#*@@ZhGp=}KE:k4C_I&#Z.!e*cItZ|>}OP="{!TQTFJQA_5V&O;Ϧ`:lcs$H6t_qL$VԱy2/7U(L)4d.ASXlw/QA (3$m:xU9 h:2Eyvpslt ;֬mTh^eOW6ʴۥi|jPŦ9 䮞/y:EbDol9ݥC3hGҘW`.Uti{\sG\ӓtt6~#n-B(L%,~w'hus=TcK:gfG^ں-M6NyA#-D?C1UAѫC?֛s.έ>%;<2b>y{y+u'АVg8;ݣ~1kn/Qhl8~;Cn1ő/6k#-+vqoSe#*1-pYd}k;RoKCse VXש;鴐AGkNX,K#*YXk`H+eaȞlm3pAcie 페awNcP8)ۜ)12N2s L0AU)AX_=gm2" ļH_3\`z&I nES23#Q+_j|z Èz?CWS %\<#-VLƔX{*)ZRSATԁёcN(G;| %B#T| W5˞23 n#-6@ {{67F$Wv@WnBl' PN,Q,KHE6ʵykJlU3m]Zw]knn9kה! 9.`\%4$^'7u r+w1d ,V"CFоPԌdZsev?]&WY֯p7wo.[yy)0 I},H`pQL'}PDjtD )K(x9o#2>źfdb#*y #*oEy1J(zÑ}vJ~"#*|ƣ¿fuDLp5eqю!F;x\QHR+((R(`D-%ϨWJ(L66@6x˩m A@H#-A@*(O CE g0Ky)GX wTxomhAfy7ŭWRn1mYO3r`+ۆyda #.im&h'iHT;5CN]+L:gx1;Vs#*D-]vL%"d4Pqr55tGSD:yV}>%"2hRz)䍙t.3nB4Ut&oo!R$N!_ilNΓ78ֽ#.)M$VޒV;8|Q18cypۦ/dt(g0k@|s$rU#.#-T˯Mc4:젆UV#*.ƒ]AkpBm.ˍ#.F3@Cau4Xб# LmCd>aa`Ãigh!2XT y"3xl ,(x$ d Nz]v|hs#N%ٌgb;(۰ANLѤ#-5j#$TDPdZ d`iG Wjdi0\R*V e&R[lm0ڢo)'klV V[(4"`!jjA8HNnۧ+݄mRt2HSiC*Gp}n)K.Qp|#.6RDUZ*)Q"upJYl%٨sǜ~QFXFAa‚تfZO3Tfc'2TqPMchA͋+{~xT #.]G)|}+ꥈ%"ɧ[#-#P mNO!tNW#.0op@C!%4JhAi$A#.NpȺ#"zPЄ ayNQf,a~jр>x<я;ov0oߡtѢhdh #rPi(YtB=8#-=тxz2AMyi|X{V$Nj6MEId.+0`[npָ +Oc[k沕M{;@UJG 8uZё YQcQU*6R-0m#54ךRO#\WC.n%( ƒ5B{C3lvqAq Nonwr+8x~e@F)giͿZyR_s:;kxgq-8F_5Dzt+Vƃ%+Wo-E9SV#$&z5,Wj04jA@WQa<4 0dLR7RP e ݀0 A$AFIc/DѦm3KbDҊC Ka$5ad!Y4ުF~G|hs8[b -;A9wFcPo:jgR(ތ[b|QA72J12oa݄nNqÐDJ- pR;zù̓Xi#- }8vj7OKsn\#*؀#-$Q 8>^#S\MD-7dM+'saMB nsv C5ڗJޔ˳ϋc˱#.%hs((m3lfVǫ\Uη#-2[9msmЊX0]sZ9l~o9nF7M|2JAMAoK7JC|ΙkÉk7sf>[ʢ"'G1 B&TElYd#*gUh#sVśpRut.C[UJ,aH 69kd̠=[!4E@H#-絙7j#. ,S#*!!z%A`!K#*Ӻ P܆[!6CٓU"l  ucm3S/Q(}/vv޵c'z4U51XV]xN̰ay6d@bTϻu󆵟LeBG B$Ks9FfcoI'ۯoP}<^w4Ay"e gMC, 8O,>3Fa{W"q! i![vcR3!׭!$7*ti'#X3N2,lm٤h&M:p,%!Z|a9|a)iĵU`(01Rph#w͓q6 mR{`I`Ly,`I53SؙI 0C\*JQ-$d ;Y\2-`$zQ5chn$F#qZ{q]UX\i ه(IFBԐ#.p:w{ $9JZ❏Wvs;WGA%8`(2LX9q Z6a8 ̃#؄Gp6BrrTDKtRD8+IbM8#.=x`@20TB`]ԧZiő`RIBw*h00<(޷fi Cf#.\ghzn#GyPUҌ)IZ!#.ҪN )蔀2 V5QB6T-oFB#6*d-ނP膬- Z؋\@65qd.ߥM%#.4̺G.6u23#.tLҧ'#c8ZfB4+2&$rZ[/ip08%e2L(ÓOECmYưMSe1\>5rCpl!gg9 pZHre̩ %of͛ Yߝ=7"#*LLڌLZl82^710/C'A#.׸с\)$n0E#*|'fLlJ+o&FXb9p@?j} `QY\\bWxF Ɔ¥@Mo#- `RGpIR촻۳ZjP+qޛ(XV +u6,s-2e_WSKACh)N _jNhQ4Gq#-9(#.)f3 wv"H#*9ŠC%1WE%ɼjԫkjBma tS#.]b9!lj_VIs-O3G Tm)V6ZEE-354[ES_ P#.uD ?!'wcDcSr#*m1)@`"j$ r.ER#-++shP#-,%|ō˳ f[<$!cdjN17KhA8|`܈:k:}gx Gw3p=ɦ4c~Ƀ6C#E0Xj7C T "ZŊ, A#S8zPl,&zm63ꁡ a0niJg2FgXB)3U(sK$Pelat~Fad;t#-pT%LYðd/NaA)tKMllF14زJ#xv~g*X7vc a4Fa4#.p8WFC#*dXi%Dh %#*l06,&k1 s0-#.,:ogAӘ9G\4&wC,9MP\RŠiۤSLLΧ{KޢSc QhsakɄNuz!$@ GB}>[7BrQAp2 dlU`@#-^Кmi,Qֈڮ*rff{#-(JW"hҍ╒Ța`yRl@Grhʺkhז[e,4 9V@4z6RNa}s&1{qvl.K\fηι.d']’rZ#-[x&wJ&Zv^o-ZPn+2TS}l8Rm5 `kQFRi!)DXSRRMilm Ԅ>}PUhԐTmңhp_;؛A;G&dTRTu5)v%iP(#GdwB;nJ#*.w,UE~C, *fg/!ńM)TZ atkd53dqy$ 1#-30s+lQ1zS -R#.I*lA*2hXR#-BE6oLKV8_G]l[Ёo#*ݷ)Z8U3)Mx?#-xMIN!v!KYe{+tT7E`3Ȫ<1'O(O/ țs(7hq!>;aVˍTi2~F.=(]j802 #.drpadIB:}a6oJK$~n#[PT0'$\I цe"#ky׻jezteDffZ5e&W_ilҪRGU2$`0H@򯛻^LҲVܭt6-V5ַY)>@.DSr5&֖͊cLbdWtbJ5$6ͦhLM)%aE&UJؕRJ(m6RYL͢ɪQ3$Ԗe6f̳*-Dj6Q%iP%3ee#D66k1kIIRJc&*+6֔)R% $fRe%1&Mk65DhFԔԦ*եL4JUj|-Ze+%IIW-bj(4QaPT1!*#*a mmHU#*IfHIHC"jn|I`޾0#-mqR`IXڍ۩jWmAc ?ns޲gFg&K'1$.u͡$z8HC"tb'6X$R6Ġ(CĤt&$"'qC>xy?/-'6)M<< 2p}m:#١:7'irKxR|d+q8;rQ4kBzU%WQPx̒3=Q`8 èSAr>WFv:2} #*q ; 5#-fWW8#*Bp#*#*j0WQ#.\#-+9+Dd(F@(:&!ρΌ'QӭXsA慁XY68JDNacrs`#.LMVmO2r׻~> Ā{f|Sc-bgkXToa :w#-pn#.0?uOt 7]A~+W;}^k5\9?yzUb,WNJMr{A#.CQ4#-5e,mdّCRLF≀Χmx 3#--A G[94KIp`lಒvd#-6IFCQƋ\Ua#.pэUoJ(#*jt5c 5r!3,n= aٯЃ@iAs)5IIctDEEtݸCz"1#-T;tIOʗ&Ný,2 ",K@4C^ls3Cp-e/##-yh&jYcPn6.{MIDzeCJgj>؄cU(aνz@61DfU8iYײlxcz]عX#ѭwCFVmL$"^G*Wt}{1y÷JN;\/#]f33o(r l#-1om6l}Xm8,+ L㊭jvAI(K+.N)C$#.+/&Q(A,HDJA0* H&Ȣjl6Yzը#.//Ẅlf#L11-c9ʹVRQr\b&Ρ8Ub)Wr<9c=;5;I̩͓=r:Q>#*(Fذ))#.A{Ɗ"N{0&eP΋H#.X9sfՍP #-zyGr$@"tht C$XC#.A-]M卬Rﴺ}9q#׮:R"4c-` h ^v_QNI2 HTr\+$_nup]v ]%)]-]؜1PnAb%QL!ՋGt[,bUbz]O-5:d=oq;|!r/zfLCZ:kR@xFhI*Ȋ$c4oT&L!bkU4*-BC!E*A0_=k1TE_kj#-eJZr-LM56kK"9#-A#*3 "F]ŪKjʥǥ< #-q#.'La3n㚵Z6T0 鶺Da?/@D*k:!l8Xz^cdΫ##*`,C^P-.C>}?j#*B'2X 6A撊b vCRçmMDmkuTI^mj36HoD6Qžd$$JR"Ѥ5V9'#-Cz I 43ImJXLRH(\BhP oohM•H?XRDNŔ=!{rW(g804 -'O7#*- h1, %D+^jgɞ[mB8;!:a"9SH$r"x¾ڴm&C#-3x9C#*5(|>'#Iz6=N6RR$_Г-#-fTړt3fpI2 дjP C2B-Jlq#4rlѨבJ\naD=JZG&lɊV\7ZnGC4#.LG( ɐDCL){#*?-~ܹϞI'˨z\ !aW҇EdשͿD3+i,N!b.w7=Fv3>l؞?E["GӵsH+s`ѶbClQjdc dRmEҪ-(3_M V-,:ͶeiDʩD6Zbʚ[dDXԠ5"ZQU6ʛm$KA/}m|ݓ_dؑVDLQQj"Ȉ" kEn5+T`BR$<;9fT`_:ܫ-sbKz DI..PN=6W‚3F4] ATB=M",>| 3iM(߸`ܧ>@<0Ks`( @j#.`j؜ѳD @s=x}Ħ(9ڄZ涨nWSW-\6^o4:#* -=^~J9L^ѐ H%G8cUif#-LigqG?дHhh Jp>Y_(t>z[dbz]O56Tt>'2#.`O:d$#*LFnIZcH2]'KbF[MJ ;&&4Ѱ@R hJ<9]:#.jqj(2,#-}hCńG-3k%Db:)I]>-ئD?Xh"H12IB2*H ߫M(8ʜi_H o3 !?p8M̶pbn#*MGF+әBy=Кib(@DS5Iޗ$3sM><t`#.EYLYRIY'%#*lFYHw@B bL$9-XE\H3HoVLL1wkMZT#-BNKqs8[j;EG֚@#hQFeѣO9Q*#-DH8DMJ:^=MJ%5 N&e;6dوOАHo!Fm!h⋏Q{?Ui әB lr-GĄ4ŒcEP$FcB{* mgE#**D2Շl#"'+(9PgCY.yPLQ`9th#-#.IJ~iyp[d>ir׳w%&=aHal& qi/B 0C<>T T3Nޝ؎}foZmwuR(f]4)m)ra ;L`*O֙=VיYPPv C1v#6%6 M2!#->&xi~#-j:[=l0en=0$ M8uٽPdQWd 7,eI yE0S4i3KA ހ:ۯ\V. mqfLZaֵutf &ӃIBAM‘Ĉ#-MVѫeIԗmJP(@DD_|#̄ #.WζH=\[#*NښRxsiʃ5=ea#-L$YljR*PF}7%YyU_`l-'MR/~ ,uC$=Vxn611#.0˥=1d`>e>#-}pO!#./BgvT#.(r3$ 2\;_J.zh?xA`g~{ZbRW='%̷DN~4&fxvw5#-*7o^zq6ڍ;v:0;hfdvIoaM@#4{}xHG#.xa_!߇G݄EI&P=;T akI@Voz6cIcMnDq2:}NMU[RFGc)_텕O幰Z.'dA=B)\*DKnߧ~0Ş^'Dr`>OK)jݔNHq#*T#.$)S yJY` 2@N? @8B&1[|=şQ-eX)PDPH$thāѷSr#*"*ACH 8\pf#Y"q5KCL3#*8p?LZ+{.$a3=J&L#*Iuy]M%j#-hx%e*֡VifDw)2zVȝ2LРFԢ5qw.Շ A#*M˧0UW|#-gޒ $#px{3C5[Pۺ,Ż]fi6S%K2ٚ4nrM+P#*H<_4Ohi*L!)YL>%kuE62 oit6Ad4K*?=/69[Flۖ%Im-4_M6V24-j!taQY՝K!e(1>CT㺁>?zѤ ysm#~`4p#-ݹ>AY+_#*i _7쯒 z܃Ƿ3q~-Vx$1k3#-+]@.M!#.+ѧF27!Y&ul<23z,ZdOs#-F2Aqg#-\n[{l#$@)DbwNd0yNEηSk}MF2ѭFhFEUXՙVkm㕵ktS@le[E. T"ߘ#-ʫX]`eOi{s-Mp;K{n˦`Ǭ̕āhWt7_Tr '#*uOC"0kla0IElV::|oO7n m$8o몓RG,W?ч${':/Cr'cT?Zv]S5(]Xe䚫lC@`>{JHSLQq{Jl5{u?oxAѥ_]ZY m=7mQB :*mq*\r&Gk)XY#--<4=(LdC-*#dqqtB-u店U,"dcIuUA)Ck6,14рe!u 1&#-&1&rd(!(ֆZ(#-@$,PMX( E"%DT=Vk)q?ٌ#-Q!";k/I[Tڳ67vjfM-mo^67/n #.1l #.tKmq۴LQim-Xj fѥDmԯ]ubk<^w]2irwkJ^hsA[5Rʲ%&2zj|,/ϪMe1`#-"2CZө@S$2KOCz?[Æ!ˍqkQ.O>c> ^IL`CQ(H#*j1Fd #Y/Bd2WI}فB94qFlCC-UEpY7ʫUlny&5yvknwnFew^-4b53 *k6wZ[IT"#*ZB L P(eܦ#.l#R0ъ]ykPQlr)(A}m#-&ՄH f4ܛKC@\y' -Mkv[)u}M%2}mMokWKݒ%hzˤ۴WuC&mxyҚ֚+i[nݿ91QPҔs`Ō#.aBЀjІX"XAЗ@}vܔ(8uDw "&evFhGП`j|ó_炏ϻ3㔕x!E@? 5*ꪌ0^k1bۘFFc#x`=0#- ի1Rc+"IN+f#a-r|=qr1G$,D{hfm V.G)F#.S)̎mMϛی̣T"#[5]y6,GKEI5t钊DO('}AGNthdLJ|qݰ2C$v\FM/;ؘ9,ewCIi{MԡkҏzZ?ZD""bՌ57m[y"#d@Q3iKE`gQMZڮk^-[ p~5{+İg0T\d*`Z,}ksX"H0.kUB% \xtgdB%Ee$tZl0FVF2#*ZP@>#-V[T&1EWco=cj]]WR$@q$#ҴUclPLYE(AXV-ac Š(*%ZLL ԰JZKUDIt."@Lz^QP"$dO1՜aWN BR@QH[&ptA|HJrlg31>7Zc,杋tl߿cz&LaCqϦ9<#*!2I#*= *( @<ݧy}LAUCcϿ6#-0k`F5Ԁ)0 f*GN9GlL=T(|7jO?3|z1|8Xѝ$p:>&<&1ϭe&ՔC$J!2B.n3 "7mvc2#.6"Xjb%iAr&QF0@#. CBBˣcCQ8`~!dG(YЯ>}{=⧶IY{5P"NkfR)EO#* 5}2wM-imRB,n?s‚*%@3NA\J8EH@ JTbj0 I:UQdamI쥨bqơ-W-y\m)i%%cSUU5bbMAm]5+:]PDn"^-ja^^]rٖ6I<ݫbyZŪikԙ+Fk,ˮ9WE6ʻIj-]ݪ6ke4\U}ikdۏW=6(s"szhSZ(uE HPSDWQ Н >AD`꠯Do^qI.B|x{U^2*#mQ33Mj浭֮|!((#.R )"*Nχֵ왩65cUhRԑHD2"{(b":T(*KesmqsYQQc7uW_BKS?M]ȥz~#*,v!HJL/f(4$(A.nxEf3Qhő(ih6``2#-(72 }:C`(̐ҙr/n^ҁc#*#.m#."lbSX#-u~Um@Ă#* V߻4GYPvGAX,#* HHF0EE!=#* t? A0 4M E5DpeEM"HϢ7Pyǂ))47ܠTtXL2D-&]63_dN(EcS#j@ Q4K o,ز ]3@ko+`K4!"G"Jyex)NI!U==dSr=-`v@Q8ؒ,I#$`D (El.ՕA{ BcQV `iրmٺ% QP iF x.#-1.[kƫ/rИV&@j;RI!O/F(I5Wl;VCdL r\#.LHk_UEOM۵B#*BbD 1cs*0Ub$+TkZ޵Ki[ځ hl NR~.cF?5?JjN ^S#gW]Q(A1J PPj$T>ܲ&p{UNda$#-@z=VTN.}bxFE.%Q*كeQvbF(:=[|DID>ldr֤tDu ~rX8s@· EھePCO u63f +aXr@#.Tx\JBT#.#-Ȝf18YPʹaP!5̥(zc!ńŊLA)F4O&C"(R VkFK/+Ÿ#*1 bgۡ"q6UU-8#.d+f8q8E*%쇣+|Є|ŃJ=׼ϜaF;MXx0UT}hPqlT?Ou&IMwbYlP:.YÀ0Q AL]p4ф%QrF+ XZ9ȆSz1CQ2$S%GyreלjGr;ư&`=\zjz\e"{`o4s;_{^u-پf09\O}ݺ7[oS5O5QvwqrYGr'tlŖ$;ޚq'@۶fV-<1̴QǜK<5.#-9v+IfnfX@l؈L)Hd:=ΨxU<0qTÙ35jª#*^R#-j3X#-!:3K=3o9>g,P6ipbq"RPWvg@"j#*ovBJA?ǒ|=0 iL$DXݖY#cX :cCɺ͈4doY=ݍ#.h>ʩɣ0#-?q&HI#-[g@Ҁ #*by4wjw}: g+sWcځ4*v!=\ěf`䞌3 ւOY!ϯgrD䕐so'̛bz&2ŭwkN׷UDt2 Hpkv#.#-o>&Id#*BSd.Q& Lnǡk:fzS~ 94c3JMґ7 uV\1#*T?>H$L!SLcdfalC6U]cPc72㌘Bacl#LXš6E)Di㣴d\`l_y-N"[bA!OJĐUSPʰpII@Y79HO#-N(udc5>ߜ;fF_C##g!;4R|al^Nrr•fjCFc;rRj5-RɣuL^%П@({"y=Ȥ4k׻uIo3#*FQaWOD9U$AA2*BDDemuٵ9G~mA#.a`Av$јfiԤ1Jh y3!0SNMUJ- wP4W,hkHZ%#*aR4D"`!Q.o:ކ)~l ţ|!!"lb6p#Ҩ,[-z\NFNlDW VYYb6GE&n#-Al;UQ0,,*ac A*%1#|7l@ 5ՔDp2!6tE͘Cփbz@>0Y %@Uպ[n#.U6ͬX+m,m.6N2`KD!@K ϟ^y$lI$Bid0ɣ("*YSIM1S5!R,*?4Os CP݁EF1#N}}RMvah,6"Ƣ30\T Kq5{O}EiES1GQbc`#@/\V^!Ǵž#.c39=SgQ]] lZB lZq(bn?Y0eg0`~(U8-}+?`#-xi/'AV0j>G媥BHqo ߚaUpO3&N E[ U&[jetŽU z@(e&vb²`ZnԛnM]dRQ$4J'qS+^.UZEDbQ@T0h!Qt=/&_T52ʼ[6uj\̕|w.1a;j%GT"$QZiJW%v/SFP2IƨhdnL)fQr!Y@YS4#.5Ip3vJq aF4UNm(u!!ZIȊ8Fqo ,x!R5uםuewU(`TtBFrP#+#-,4EÓ9n L#-Fi$M4&%H"&4RUMGM3ChnʎDN#h͑c55f#- 0v C8ٚ04%7Ht`F f餶6#.Gi !@`i|}f#*7#qRQ#-Jd1}>(#-M,JG;d6pq1l*$P4@v Q""cT#-%0(mQLFMem[^ˮDH R!!)"pr R~TKҡI/RP#+eTeQQBVxXVj Sc-3bRl;*6A=P5a9;#'~5ج#*#-2P GhOUX}D!Ew*#.#*ČQ"B=DB'@yTc_D0,PXd ʞ_>zw& ޙѶIem&`A=@QyƉlm%hҍ` PhB'*,3s27" v 2#.YIML l#*Mn 6o(IݗEB]k놺[Y;Σ#-; h#Uz|#-Pm`,G"O{Rn;T#->!?0vřS C#-p%g1?s< 79ł1 ŐW,ֽ_u#*^>5v^Bf*#Dchb$m% #l"`#*.PiuH "X F7kE&,U-vVJZ"Y)p#-+b,DSd,P&ߢ_U]J1f`>BCQQ#-0OAF)3#.ٳ'FS{GAA`+9HLZA*Wb> Fh=) @R(')iy9'bzBQ(iLޞyu]^m.Tٙ}׷6ەEmmŶܵKZMRBRK^'#-p#-'#F̤~4#cq= aLeI>#*Hv]߷9r2nr7SLkrMeHjG]JDﬕft}6EnA=.H?ve΅MSpq"=*eG+XCa>}+n}Ӻc|(J !sh E:0#gC(k)նuRJg%#*\1aѐfϖ{#{Lh6֋(f%}Nˆfn:pSɗ=ph'0VI?w=I.U=HAYzbxG['{`G&پȊX\T/#x9הvH|8Z3P *Sp c-P3a,j\Z>L#:fpL$ln}+bԵ9aC~w`2ѲHzǍUQ#uϗ8Qa܎CÈ+:c62)#-;K_DDU *.&pݰbCqemZɹ:ћfyckwƒx;#?-S|/Pln?a䗙%\(7l\Wr`M- Ci|'VxFu:Ɋ=*gydxB}kczv#yG-΍Rʇ" ۥ] %D?y+.lp[rNY#uIﻜt.u#DkʍxgF}$U<G* ?GcۉmFwq=eV#7*Qb1դTGPV>T=}<{C@4d=LLr*F[FkIr؂%3l3$3IR=*@/Uv5#-."4~ Z#.öMY휝dtLKg|c z8ak#. CuRRO@I`%1E*vj^Nj馡#*H5JY(ӹbo'|rNwe76%A,תr[. WDdr!J&=#-'>Gqvͮ9rmjkn$gwdQP8Im䶥I9ĥ!FUҞ"/~5ԜnQoqm!ΙhA^l tom꧿M:uʮv%=}y3P ۦ1u0*]srgA580`؈\K`>tu=8ebjCO7\4gN<4/QwY껒goNa`ٵ"~DޠfM+%- zZu!Kǝ&R#. 2(pL#.0\>\iGxѬ"0 X z5R&PfK-QHI#PfGͳ6S$!,յP m5*XҠtL#-TfK-FK[w.)881$#V[/s[KhٹFlّcmq5əIssc(FMKFڤM^Ef{&^Čb8u"He|ɮRksy:ҺjB4ljiwPD5 ]kIT<0$e8e8!宆3\#-!2T6gVHmnLyPSl#8Q4$F#-l+=#E&3c/jS9*Taq#*Cc>jETF#.0YKعwF!n g8{O4+!٦< #.4T? G4djJg Sz`PaM"Ȫ`'Ш{WiD\_8$u(Ɏ贀77/`sE 8с#-7V'#-zr[$<0bo꽍[=sE5qWm\HePUR1EjquGqݻ4;mY_=s{ϛ} 'ch("8ME5Pd}'<=ڗО]ؔ >܋^7Mi-v*VLjU+E%mViTS_d^:SBH*TTV56͙&id&٦V)6Ė6fdeJR3MCfQC$FƚʖM5,Ҵd͉ 0mjv%y#*N{!}-΃;'} |8S;A Eӈ=,D:EO4>H4~CxPԍe"x;|5Ƹu[.fioe_n@#.HXOOq ٶ -<3,vYij#Q#-~墠u5i-|7Of:?~~ghM/һ2/P%6zG$ȡKh[Z~vW$Ѩͯ]kɕ\J*JGؖ,E %JA(%&JhjKf ?c* PnhsˣJMt1Qh8RIqwef"IHd#*h8Ua#*&iV{j\eA#0C#*ԉ>#-҈Ԛ-STU)%>^jf#-vBUR ,&0dr%Lnmj& lr bpx|JBJ {6%^xŘtX?:tT<2 H̙k 5rP*}foQa!#.DQ_ct|>9Aqbb/B 驁#*$&lOT\oka.J*WnT3!܍G(#-P[wĽ╇~ֆŨIRQ^ڥN^91(eMiaaLu?]sڙ:/,.J0V/HIO6(~S0c:0 t ~_Wc80o~AB~%6*Bk%²Eв_*Ȗ oҌ*wB6&pnKVU4vw{6X#-EG'#@QBETL#.B*I#-m6h#- #.LIN.A)m n ĊXsCA$ %7aL#4hښi w\"#*is>:;$RtD׆ɝ24af7t@68`jHX9DHFgKdBB ԃ7*+7`QM #*ĐBK+TPA"$[a>v=k]hB_LNB;d#*g&znqKm䡐!E,/S!iB8P\`_ x95`.htp.Ƈ;IkM#-,JsvJ#.wd kL0q8ev9vŪ6a(#.$H%y& &QioKXJ B C](/<#-X[W&(cjCÊb.Bq0"IdLiN,\HTv #-#R3u[,%4ѥA0;{|g&wV"I2.eVŶkCCyΣ+zJ$Hif}+6my`Pr;TgT2G]v/'9lJ6罛2''^6hiW5"Lؼן;p@ cbgaT%1r*}Qq P`J _Z!ӗdjf0YK1@wP`Zև]clNN0ltB YmHۦ |cU!!C,`Һ1:16KphbR3G۵Ml=,6U!y'A31*/Y\a"6o [b؋9Ē) hZz#*m"joBцeYS f4H-W)8(c*cHk6 cceA51pMS6ESyaM7=B""=݇O%Bb| `Һ2b4ѕ0l8mlRY Hl#.lޣeb8&h٦Z\\lY;]m ɑm7(;78S2[ Li 96+W>}bU#-#.b052fnhbUJ2!Iz ى(a*"txҀ؋(RoP_ pea(} #CF0no&d2#-!R1 5mSDaTU%9jnJHz7"wQP*+;3q ,`$q "JqB9!;dhHA$T]%Bē #.#- xUUHOW?Kv#.]UHx>#*6]z#-7 $;DUa#.#-E#*:.7c_ lqX>^HP7=Ćn߮cF\wUA0d=z<#a1MǰQJ( K-^S@D2=Eؑ3=edj8D4Ҳ"}]\ط. +uYR9&l4EW{0Y%Fk1\|v*%bNF-m43uYGOom<[IDÀT&&h7RW;aG'{͐U7ul`KJ.D r@E̹#D!\ʷAkm'r 6R}}diuD< >S]b/i7Y]8A0xx3xc1",` kbN>˻[ȤX׉𗛺-+<]QDŽH1bԕPD YHYaJ4Ɠ5X=sd4%ܙ"*(rfɡLR)"DEX 8'op|f^'oQ>G'Xg"~0ΖS5 >2#*Z*Ww~0b#.#*Y.n#.JX8uf1/%Jvv5I,^]#-aD נ060R"4p!&^j&'itY**Ĉ H1#*6T3)1؅0YpBEP up9ᣴFmƶ Q#*24W!ai^W2,t_r#*{9 E `Pu(jQnQ{ekulj` 41rn F!e 5wN<3#--jȣh䨳} F))ҤCC1" hV-ON|Y}:ȰBS#*cD>տiV|Y;OE ڊKT.-X-#-v`9kmpx+v#.`x9\Y#.&A0ZckXɛu#jw_>#*)by@FIDA#-ŏnu*"ٔm)=s#*]\r2f#.k4DCKmc5 "-WJMmq"FW ayG3oN6 )m0.:G,kAkX:` !3md+ "0s>8M!XCr}#T"PdɛMIH;uJM7AI5eB!"^|3#-.|Ϭ!(=:Iщpd*QP,Վ#.Ex-,AT骘W;>G .Ņռv9rI7H\t7D&Eha5bb)K]gdaq:(8$$,m,)v2M[oxz#}DOSHH."\P' T_]D2D\هA& [#*VFJ&P% MAMFhyztIJw6Y]@R+dDS#.?#*\'f_LǼ{5wIy!(jzB#*TQpftd*TtGqE2_ICSy{FpąOȇ+}s d4o ش<<=ow*fQL{#K?AèB"ZZz=ˮ?'{#*r@HQ#uo[9D]-qu_QcOpp#*17A~ #.t KFd#*_8Xb,WpXaM2)Hߝ$؊JGiUWMr5FB"Ѩkj6 &KaQ% TEsnRA?bE7 SZo>s<#*8a,3JX{#-#*==m~ڌS0jEo~oíb,%[F-IhU "LRbmRi*e,ҵ~άdB03*"nBRׇ0#. d' `HNꊪ|%w\ٌɨmER6{UEBA|9X@"Fjo?]]Ȓy&7B{o߾5$ 1 @D5@̮SM&])Q<π.cWZױI٧CXWf`o(l@HnOӽ2{|'o,(y(/hH\S4> S_o"6vBҖ*TjA@$B4:F\H!hX.3Aȫ" BqF$#.a@RD!M6_^#.,0ivAP<òB耶vgґ9О_ #*ƋV#*T31 ߎ\xkrÍ_ #.}_H % 6TdV)PZ"2UB~6׍5#.6ѪMAB&kXkɑYa'2nD*(bdƏ*)i,o#ߺ.:*T 2" kXmAm([a"6]} Ue86@22q7P8|$̧ ;:3"0$ō>vb+IGl[G0= 2H0#.lhE$#.FiW˵rumm;.6V6umV,PA0 VZd~{4ʃ݈H8!όPIԛBBF8+ߑ`QE/MGb2$ #.TƼ3 h% lW_ZSbE*tiRѻWy֒Ż-ٻ3*hͩHvʣY`" "]TÀV,,^MoKˬW-)k-J[2MwV!J(Z#*#*LV9ɪP Cn#*-#*I2QVnO]#--i&[4l]h_jQ.FmU:CPOn0k2ɖĕ :]D߯XKz%!$47B\i5 =^5'`#*&"V\_4;B=O2V#34|26[&z,m[E/aeV4Wxj۱o^R_xA(<mhU&{#.0xշG}*=N}S?ۭuZ:3>( !l K #v5E(b%qn4ppU<)X2΄!,XIEM 6>&YiRaFi)ná2V4(d=h3Mmnps(bI٦ٛVD#-%M#-.7Ce`POn;S31yO;=!rDz.bV"m󹌶A08kL{l#..p#%96ዴSlOLөX$wd}Q28vPәG%<)aWۆ#^ݗC7,zu49PIS"C "^*n|.)ݿbɐG#hH&ᒆqD|UG1VlbH2,Fv9ho5d#*̒>lı34`8Ŷ wQA3bUuZ6 $lY\J#.ZIjJݪå ?r)2)f!pdl PD,d1.+C(un>ZCq>Oe?gaكL/rYH#~2{!\1i_M}a+*rA`?t[%{@>`J"st9G 䊖 î]aM#.%{i-%#.ΒYkXZӖm#-# b"k`gVTZ-Z5Tbҗmzoeon%Eڒdyl[1XCJ{k0jXҟ@Ŕ$XE#*")L>"`bK3DIRg(\,XU%NA=V!΃Y"ȄޜGЄ#-H#*!ۣүs}`[檏$b@s/jն#\؁e[,B10XA< H w}_#Wf 糡B9ا=B ޛ& tK:5ub4ADh%O;~-4K}T$C{#*'VlR  (& UeaЮ]{ZXS?>ѱkmꔏ.]#΂P=JrK#-.C 243~OBt`ɭLTyh%$`BN_vdcԊw$S Kp -#<== diff --git a/source/modules/lilv/lilv-0.24.0/wscript b/source/modules/lilv/lilv-0.24.0/wscript deleted file mode 100644 index ba86c2715..000000000 --- a/source/modules/lilv/lilv-0.24.0/wscript +++ /dev/null @@ -1,470 +0,0 @@ -#!/usr/bin/env python -import os -import shutil -import subprocess -import sys -import waflib.Options as Options -import waflib.extras.autowaf as autowaf -import waflib.Build as Build -import waflib.Logs as Logs - -# Library and package version (UNIX style major, minor, micro) -# major increment <=> incompatible changes -# minor increment <=> compatible changes (additions) -# micro increment <=> no interface changes -LILV_VERSION = '0.24.0' -LILV_MAJOR_VERSION = '0' - -# Mandatory waf variables -APPNAME = 'lilv' # Package name for waf dist -VERSION = LILV_VERSION # Package version for waf dist -top = '.' # Source directory -out = 'build' # Build directory - -test_plugins = [ - 'bad_syntax', - 'failed_instantiation', - 'failed_lib_descriptor', - 'lib_descriptor', - 'missing_descriptor', - 'missing_name', - 'missing_plugin', - 'missing_port', - 'missing_port_name', - 'new_version', - 'old_version' -] - -def options(opt): - opt.load('compiler_c') - opt.load('compiler_cxx') - opt.load('python') - autowaf.set_options(opt, test=True) - opt.add_option('--no-utils', action='store_true', dest='no_utils', - help='Do not build command line utilities') - opt.add_option('--bindings', action='store_true', dest='bindings', - help='Build python bindings') - opt.add_option('--dyn-manifest', action='store_true', dest='dyn_manifest', - help='Build support for dynamic manifests') - opt.add_option('--no-bash-completion', action='store_true', - dest='no_bash_completion', - help='Do not install bash completion script in CONFIGDIR') - opt.add_option('--static', action='store_true', dest='static', - help='Build static library') - opt.add_option('--no-shared', action='store_true', dest='no_shared', - help='Do not build shared library') - opt.add_option('--static-progs', action='store_true', dest='static_progs', - help='Build programs as static binaries') - opt.add_option('--default-lv2-path', type='string', default='', - dest='default_lv2_path', - help='Default LV2 path to use if LV2_PATH is unset') - -def configure(conf): - conf.load('compiler_c') - - if Options.options.bindings: - try: - conf.load('python') - conf.load('compiler_cxx') - conf.check_python_headers() - autowaf.define(conf, 'LILV_PYTHON', 1); - except: - Logs.warn('Failed to configure Python (%s)\n' % sys.exc_info()[1]) - - autowaf.configure(conf) - autowaf.set_c99_mode(conf) - autowaf.display_header('Lilv Configuration') - - conf.env.BASH_COMPLETION = not Options.options.no_bash_completion - conf.env.BUILD_UTILS = not Options.options.no_utils - conf.env.BUILD_SHARED = not Options.options.no_shared - conf.env.STATIC_PROGS = Options.options.static_progs - conf.env.BUILD_STATIC = (Options.options.static or - Options.options.static_progs) - - if not conf.env.BUILD_SHARED and not conf.env.BUILD_STATIC: - conf.fatal('Neither a shared nor a static build requested') - - autowaf.check_pkg(conf, 'lv2', uselib_store='LV2', - atleast_version='1.14.0', mandatory=True) - autowaf.check_pkg(conf, 'serd-0', uselib_store='SERD', - atleast_version='0.14.0', mandatory=True) - autowaf.check_pkg(conf, 'sord-0', uselib_store='SORD', - atleast_version='0.13.0', mandatory=True) - autowaf.check_pkg(conf, 'sratom-0', uselib_store='SRATOM', - atleast_version='0.4.0', mandatory=True) - autowaf.check_pkg(conf, 'sndfile', uselib_store='SNDFILE', - atleast_version='1.0.0', mandatory=False) - - defines = ['_POSIX_C_SOURCE=200809L', '_BSD_SOURCE', '_DEFAULT_SOURCE'] - if conf.env.DEST_OS == 'darwin': - defines += ['_DARWIN_C_SOURCE'] - - conf.check_cc(function_name='flock', - header_name='sys/file.h', - defines=defines, - define_name='HAVE_FLOCK', - mandatory=False) - - conf.check_cc(function_name='fileno', - header_name='stdio.h', - defines=defines, - define_name='HAVE_FILENO', - mandatory=False) - - conf.check_cc(function_name='clock_gettime', - header_name=['sys/time.h','time.h'], - defines=['_POSIX_C_SOURCE=200809L'], - define_name='HAVE_CLOCK_GETTIME', - uselib_store='CLOCK_GETTIME', - lib=['rt'], - mandatory=False) - - conf.check_cc(define_name = 'HAVE_LIBDL', - lib = 'dl', - mandatory = False) - - autowaf.define(conf, 'LILV_VERSION', LILV_VERSION) - if Options.options.dyn_manifest: - autowaf.define(conf, 'LILV_DYN_MANIFEST', 1) - - lilv_path_sep = ':' - lilv_dir_sep = '/' - if conf.env.DEST_OS == 'win32': - lilv_path_sep = ';' - lilv_dir_sep = '\\\\' - - autowaf.define(conf, 'LILV_PATH_SEP', lilv_path_sep) - autowaf.define(conf, 'LILV_DIR_SEP', lilv_dir_sep) - - # Set default LV2 path - lv2_path = Options.options.default_lv2_path - if lv2_path == '': - if conf.env.DEST_OS == 'darwin': - lv2_path = lilv_path_sep.join(['~/Library/Audio/Plug-Ins/LV2', - '~/.lv2', - '/usr/local/lib/lv2', - '/usr/lib/lv2', - '/Library/Audio/Plug-Ins/LV2']) - elif conf.env.DEST_OS == 'haiku': - lv2_path = lilv_path_sep.join(['~/.lv2', - '/boot/common/add-ons/lv2']) - elif conf.env.DEST_OS == 'win32': - lv2_path = lilv_path_sep.join(['%APPDATA%\\\\LV2', - '%COMMONPROGRAMFILES%\\\\LV2']) - else: - libdirname = os.path.basename(conf.env.LIBDIR) - lv2_path = lilv_path_sep.join(['~/.lv2', - '/usr/%s/lv2' % libdirname, - '/usr/local/%s/lv2' % libdirname]) - autowaf.define(conf, 'LILV_DEFAULT_LV2_PATH', lv2_path) - - autowaf.set_lib_env(conf, 'lilv', LILV_VERSION) - conf.write_config_header('lilv_config.h', remove=False) - - autowaf.display_msg(conf, 'Default LV2_PATH', - conf.env.LILV_DEFAULT_LV2_PATH) - autowaf.display_msg(conf, 'Utilities', - bool(conf.env.BUILD_UTILS)) - autowaf.display_msg(conf, 'Unit tests', - bool(conf.env.BUILD_TESTS)) - autowaf.display_msg(conf, 'Dynamic manifest support', - bool(conf.env.LILV_DYN_MANIFEST)) - autowaf.display_msg(conf, 'Python bindings', - conf.is_defined('LILV_PYTHON')) - - conf.undefine('LILV_DEFAULT_LV2_PATH') # Cmd line errors with VC++ - print('') - -def build_util(bld, name, defines, libs=''): - obj = bld(features = 'c cprogram', - source = name + '.c', - includes = ['.', './src', './utils'], - use = 'liblilv', - target = name, - defines = defines, - install_path = '${BINDIR}') - autowaf.use_lib(bld, obj, 'SERD SORD SRATOM LV2 ' + libs) - if not bld.env.BUILD_SHARED or bld.env.STATIC_PROGS: - obj.use = 'liblilv_static' - if bld.env.STATIC_PROGS: - if not bld.env.MSVC_COMPILER: - obj.lib = ['m'] - obj.env.SHLIB_MARKER = obj.env.STLIB_MARKER - obj.linkflags = ['-static', '-Wl,--start-group'] - return obj - -def build(bld): - # C/C++ Headers - includedir = '${INCLUDEDIR}/lilv-%s/lilv' % LILV_MAJOR_VERSION - bld.install_files(includedir, bld.path.ant_glob('lilv/*.h')) - bld.install_files(includedir, bld.path.ant_glob('lilv/*.hpp')) - - lib_source = ''' - src/collections.c - src/instance.c - src/lib.c - src/node.c - src/plugin.c - src/pluginclass.c - src/port.c - src/query.c - src/scalepoint.c - src/state.c - src/ui.c - src/util.c - src/world.c - src/zix/tree.c - '''.split() - - lib = [] - libflags = ['-fvisibility=hidden'] - defines = [] - if bld.is_defined('HAVE_LIBDL'): - lib += ['dl'] - if bld.env.DEST_OS == 'win32': - lib = [] - if bld.env.MSVC_COMPILER: - libflags = [] - defines = ['snprintf=_snprintf'] - - # Pkgconfig file - autowaf.build_pc(bld, 'LILV', LILV_VERSION, LILV_MAJOR_VERSION, [], - {'LILV_MAJOR_VERSION' : LILV_MAJOR_VERSION, - 'LILV_PKG_DEPS' : 'lv2 serd-0 sord-0 sratom-0', - 'LILV_PKG_LIBS' : ' -l'.join([''] + lib)}) - - # Shared Library - if bld.env.BUILD_SHARED: - obj = bld(features = 'c cshlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - name = 'liblilv', - target = 'lilv-%s' % LILV_MAJOR_VERSION, - vnum = LILV_VERSION, - install_path = '${LIBDIR}', - defines = ['LILV_SHARED', 'LILV_INTERNAL'], - cflags = libflags, - lib = lib) - autowaf.use_lib(bld, obj, 'SERD SORD SRATOM LV2') - - # Static library - if bld.env.BUILD_STATIC: - obj = bld(features = 'c cstlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - name = 'liblilv_static', - target = 'lilv-%s' % LILV_MAJOR_VERSION, - vnum = LILV_VERSION, - install_path = '${LIBDIR}', - defines = defines + ['LILV_INTERNAL']) - autowaf.use_lib(bld, obj, 'SERD SORD SRATOM LV2') - - if bld.env.BUILD_TESTS: - test_libs = lib - test_cflags = [''] - test_linkflags = [''] - if not bld.env.NO_COVERAGE: - test_cflags += ['--coverage'] - test_linkflags += ['--coverage'] - - # Test plugin library - penv = bld.env.derive() - shlib_pattern = penv.cshlib_PATTERN - if shlib_pattern.startswith('lib'): - shlib_pattern = shlib_pattern[3:] - penv.cshlib_PATTERN = shlib_pattern - shlib_ext = shlib_pattern[shlib_pattern.rfind('.'):] - - for p in ['test'] + test_plugins: - obj = bld(features = 'c cshlib', - env = penv, - source = 'test/%s.lv2/%s.c' % (p, p), - name = p, - target = 'test/%s.lv2/%s' % (p, p), - install_path = None, - defines = defines, - cflags = test_cflags, - linkflags = test_linkflags, - lib = test_libs, - uselib = 'LV2') - - for p in test_plugins: - if not bld.path.find_node('test/%s.lv2/test_%s.c' % (p, p)): - continue - - obj = bld(features = 'c cprogram', - source = 'test/%s.lv2/test_%s.c' % (p, p), - target = 'test/test_%s' % p, - includes = ['.', './src'], - use = 'liblilv_profiled', - install_path = None, - defines = defines, - cflags = test_cflags, - linkflags = test_linkflags, - lib = test_libs, - uselib = 'LV2') - autowaf.use_lib(bld, obj, 'SERD SORD SRATOM LV2') - - # Test plugin data files - for p in ['test'] + test_plugins: - for i in [ 'manifest.ttl.in', p + '.ttl.in' ]: - bundle = 'test/%s.lv2/' % p - bld(features = 'subst', - source = bundle + i, - target = bundle + i.replace('.in', ''), - install_path = None, - SHLIB_EXT = shlib_ext) - - # Static profiled library (for unit test code coverage) - obj = bld(features = 'c cstlib', - source = lib_source, - includes = ['.', './src'], - name = 'liblilv_profiled', - target = 'lilv_profiled', - install_path = None, - defines = defines + ['LILV_INTERNAL'], - cflags = test_cflags, - linkflags = test_linkflags, - lib = test_libs) - autowaf.use_lib(bld, obj, 'SERD SORD SRATOM LV2') - - # Unit test program - testdir = os.path.abspath(autowaf.build_dir(APPNAME, 'test')) - bpath = os.path.join(testdir, 'test.lv2') - bpath = bpath.replace('\\', '/') - testdir = testdir.replace('\\', '/') - obj = bld(features = 'c cprogram', - source = 'test/lilv_test.c', - includes = ['.', './src'], - use = 'liblilv_profiled', - lib = test_libs, - target = 'test/lilv_test', - install_path = None, - defines = (defines + ['LILV_TEST_BUNDLE=\"%s/\"' % bpath] + - ['LILV_TEST_DIR=\"%s/\"' % testdir]), - cflags = test_cflags, - linkflags = test_linkflags) - autowaf.use_lib(bld, obj, 'SERD SORD SRATOM LV2') - - if bld.is_defined('LILV_PYTHON'): - # Copy Python bindings to build directory - bld(features = 'subst', - is_copy = True, - source = 'bindings/python/lilv.py', - target = 'lilv.py', - install_path = '${PYTHONDIR}') - - # Copy Python unittest files - for i in [ 'test_api.py' ]: - bld(features = 'subst', - is_copy = True, - source = 'bindings/test/python/' + i, - target = 'bindings/' + i, - install_path = None) - - # Build bindings test plugin - obj = bld(features = 'c cshlib', - env = penv, - source = 'bindings/test/bindings_test_plugin.c', - name = 'bindings_test_plugin', - target = 'bindings/bindings_test_plugin.lv2/bindings_test_plugin', - install_path = None, - defines = defines, - cflags = test_cflags, - linkflags = test_linkflags, - lib = test_libs, - uselib = 'LV2') - - # Bindings test plugin data files - for i in [ 'manifest.ttl.in', 'bindings_test_plugin.ttl.in' ]: - bld(features = 'subst', - source = 'bindings/test/' + i, - target = 'bindings/bindings_test_plugin.lv2/' + i.replace('.in', ''), - install_path = None, - SHLIB_EXT = shlib_ext) - - - # Utilities - if bld.env.BUILD_UTILS: - utils = ''' - utils/lilv-bench - utils/lv2info - utils/lv2ls - ''' - for i in utils.split(): - build_util(bld, i, defines) - - if bld.env.HAVE_SNDFILE: - obj = build_util(bld, 'utils/lv2apply', defines, 'SNDFILE') - - # lv2bench (less portable than other utilities) - if bld.is_defined('HAVE_CLOCK_GETTIME') and not bld.env.STATIC_PROGS: - obj = build_util(bld, 'utils/lv2bench', defines) - if not bld.env.MSVC_COMPILER: - obj.lib = ['rt'] - - # Documentation - autowaf.build_dox(bld, 'LILV', LILV_VERSION, top, out) - - # Man pages - bld.install_files('${MANDIR}/man1', bld.path.ant_glob('doc/*.1')) - - # Bash completion - if bld.env.BASH_COMPLETION: - bld.install_as( - '${SYSCONFDIR}/bash_completion.d/lilv', 'utils/lilv.bash_completion') - - bld.add_post_fun(autowaf.run_ldconfig) - if bld.env.DOCS: - bld.add_post_fun(fix_docs) - -def fix_docs(ctx): - if ctx.cmd == 'build': - autowaf.make_simple_dox(APPNAME) - -def upload_docs(ctx): - import glob - os.system('rsync -ravz --delete -e ssh build/doc/html/ drobilla@drobilla.net:~/drobilla.net/docs/lilv/') - for page in glob.glob('doc/*.[1-8]'): - os.system('soelim %s | pre-grohtml troff -man -wall -Thtml | post-grohtml > build/%s.html' % (page, page)) - os.system('rsync -avz --delete -e ssh build/%s.html drobilla@drobilla.net:~/drobilla.net/man/' % page) - -def test(ctx): - assert ctx.env.BUILD_TESTS, "You have run waf configure without the --test flag. No tests were run." - autowaf.pre_test(ctx, APPNAME) - if ctx.is_defined('LILV_PYTHON'): - os.environ['LD_LIBRARY_PATH'] = os.getcwd() - autowaf.run_tests(ctx, APPNAME, ['python -m unittest discover bindings/']) - os.environ['PATH'] = 'test' + os.pathsep + os.getenv('PATH') - - Logs.pprint('GREEN', '') - autowaf.run_test(ctx, APPNAME, 'lilv_test', dirs=['./src','./test'], name='lilv_test') - - for p in test_plugins: - test_prog = 'test_' + p + ' ' + ('test/%s.lv2/' % p) - if os.path.exists('test/test_' + p): - autowaf.run_test(ctx, APPNAME, test_prog, 0, - dirs=['./src','./test','./test/%s.lv2' % p]) - - autowaf.post_test(ctx, APPNAME) - try: - shutil.rmtree('state') - except: - pass - -def lint(ctx): - subprocess.call('cpplint.py --filter=+whitespace/comments,-whitespace/tab,-whitespace/braces,-whitespace/labels,-build/header_guard,-readability/casting,-readability/todo,-build/include,-runtime/sizeof src/* lilv/*', shell=True) - -def posts(ctx): - path = str(ctx.path.abspath()) - autowaf.news_to_posts( - os.path.join(path, 'NEWS'), - {'title' : 'Lilv', - 'description' : autowaf.get_blurb(os.path.join(path, 'README')), - 'dist_pattern' : 'http://download.drobilla.net/lilv-%s.tar.bz2'}, - { 'Author' : 'drobilla', - 'Tags' : 'Hacking, LAD, LV2, Lilv' }, - os.path.join(out, 'posts')) diff --git a/source/modules/lilv/serd-0.24.0/waf b/source/modules/lilv/serd-0.24.0/waf deleted file mode 100755 index b78909927..000000000 --- a/source/modules/lilv/serd-0.24.0/waf +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env python -# encoding: ISO8859-1 -# Thomas Nagy, 2005-2016 - -""" -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -""" - -import os, sys, inspect - -VERSION="1.8.22" -REVISION="0bc65eb9df72fa60c81f2f272efdf79a" -GIT="x" -INSTALL='' -C1='#,' -C2='#*' -C3='#%' -cwd = os.getcwd() -join = os.path.join - - -WAF='waf' -def b(x): - return x -if sys.hexversion>0x300000f: - WAF='waf3' - def b(x): - return x.encode() - -def err(m): - print(('\033[91mError: %s\033[0m' % m)) - sys.exit(1) - -def unpack_wafdir(dir, src): - f = open(src,'rb') - c = 'corrupt archive (%d)' - while 1: - line = f.readline() - if not line: err('run waf-light from a folder containing waflib') - if line == b('#==>\n'): - txt = f.readline() - if not txt: err(c % 1) - if f.readline() != b('#<==\n'): err(c % 2) - break - if not txt: err(c % 3) - txt = txt[1:-1].replace(b(C1), b('\n')).replace(b(C2), b('\r')).replace(b(C3), b('\x00')) - - import shutil, tarfile - try: shutil.rmtree(dir) - except OSError: pass - try: - for x in ('Tools', 'extras'): - os.makedirs(join(dir, 'waflib', x)) - except OSError: - err("Cannot unpack waf lib into %s\nMove waf in a writable directory" % dir) - - os.chdir(dir) - tmp = 't.bz2' - t = open(tmp,'wb') - try: t.write(txt) - finally: t.close() - - try: - t = tarfile.open(tmp) - except: - try: - os.system('bunzip2 t.bz2') - t = tarfile.open('t') - tmp = 't' - except: - os.chdir(cwd) - try: shutil.rmtree(dir) - except OSError: pass - err("Waf cannot be unpacked, check that bzip2 support is present") - - try: - for x in t: t.extract(x) - finally: - t.close() - - for x in ('Tools', 'extras'): - os.chmod(join('waflib',x), 493) - - if sys.hexversion<0x300000f: - sys.path = [join(dir, 'waflib')] + sys.path - import fixpy2 - fixpy2.fixdir(dir) - - os.remove(tmp) - os.chdir(cwd) - - try: dir = unicode(dir, 'mbcs') - except: pass - try: - from ctypes import windll - windll.kernel32.SetFileAttributesW(dir, 2) - except: - pass - -def test(dir): - try: - os.stat(join(dir, 'waflib')) - return os.path.abspath(dir) - except OSError: - pass - -def find_lib(): - src = os.path.abspath(inspect.getfile(inspect.getmodule(err))) - base, name = os.path.split(src) - - #devs use $WAFDIR - w=test(os.environ.get('WAFDIR', '')) - if w: return w - - #waf-light - if name.endswith('waf-light'): - w = test(base) - if w: return w - err('waf-light requires waflib -> export WAFDIR=/folder') - - dirname = '%s-%s-%s' % (WAF, VERSION, REVISION) - for i in (INSTALL,'/usr','/usr/local','/opt'): - w = test(i + '/lib/' + dirname) - if w: return w - - #waf-local - dir = join(base, (sys.platform != 'win32' and '.' or '') + dirname) - w = test(dir) - if w: return w - - #unpack - unpack_wafdir(dir, src) - return dir - -wafdir = find_lib() -sys.path.insert(0, wafdir) - -if __name__ == '__main__': - - from waflib import Scripting - Scripting.waf_entry_point(cwd, VERSION, wafdir) - -#==> -#BZh91AY&SY'L~#%9#%§%h0b'\yn(#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%5b+KQӻ}2׵[wg|UHEzcmfmI7w}7N{R·n@#%{;f{]իk6z'ˑϵzwf3vWxӛ}ہ >.}|㵲#,޽8#%#%#%^#%}@z4Q#%w0tH#*=vo:#%T W.ntU@'J`QLCM R ܥ{UJ+#,+֗Soۗoz{{;R;k]:#%]3]weןO]爯{/7gS}Vƺ]{ӣw=#%=#%ЮvQ틷n^Jyn#ݒ(:$#,NP=P6x2]EнwۑDGמu;=_zݬÙO!ۜWGӼ}*oAꅯǏqv)Nŋ7/G]ݓ[׶vv۷st6n{ww`87Wӧ#6N}SA-ns.>F;6VKϻ8}ysӊFok1M;肊#%%AE@#,Jmiʎh=-پ=NNnsu|ilnNalVwwݽS#%#%g#%#%n_y=|Eǻ;.ӻuŻCn3ݣ݃X{}/VՑǽW8Gϝu$vϾWԛ#,==0ﺺ=w/=,6z޷9Y{>}Z|㠸ڥ#%Ώ]vxSםސ;*pw'o w{rwwZ#%RUP-wp[:Iެ}zxMw}qϾ'=wkcU@#%=Y_c6wuy(__=n:4an_oww#%9l`V&;khl*5A[7invo{r&#,o;}x\ r8,Hr:ϳfU]qKv{TN>=pƾ.{)#% #%4d4#%LH= h#*1#%4MzCS"x6hhЇ0#%#L@#%  &IL&)=@yOSF@#%#%#%#%'RH#,0?Z?sk\ƻ5Zv(|*b$2#,E&BB" >&?$HJNuSuNQj76o&ӘfIH̖}b%~#%! ؏;Lw-CkiYwxê"8]QU3u/u/r\A'ݾF0˛jҭZ-U骮nmVʭ9nQrVWkZUhD#%,EA#,"kiZuXjJU[5df%)fjCFRYK2$H2&)FSm(bLQ#*mKERPa(%&F#*#*fe6$ci#%Q3H؋E)E&EYi & e2)(IeE,K& %$Q# 2hkJ5mJIc) &L&R ٚfԖ3M i"FML)4dѴ *Fk!IҒQQIY RIMD fiDiD*iHA) !2%%#*jH4ɡ"DfHđ2fibI#,2SI @ƥT1dhM @#*ebJ&3,LT&RIґ5(clXR1,L$Bi*MFH*!H IHS6 $RX!bDF2Le 5LADHD%D&bJMY6Z#M#Dla%e$ D-K6b4 ei,MM3%d&2(3YeHICdY#*2&S[KIYDFIR4ɥE**(PQADĐ"$ƃI&HiDC*f[HѬ)BHd4iH4$Ri6d12f6I6Te5YP3JbE%d)$*dXSL h&Ml&#,ء&YJL6ɒ$FdeL ɩ)T٢hBdPLHA4ȡC13Q,PTEK&4L3FLfY(CٰѤf6m-Ue0dAƋɦI&ZRb1,6Rũ2#*K0dҁ#*6Z=vٍ!eh) RJk)Z#*%!1HIh4caV"!e) Rb6T&%X6k&Cc)F)566d"F3)Ub6YB6U1MLJYc$R#[&TR-S,ȋKMDbDV5L6EeDXa#Rhch(b-bT3RXL(#*ԚM%jTTLD5(ږěF%YF٫Y46V,&e54I2ڦRRTiT-S1%lmiFkdjffdXA5e#*jQDH0F i*Abfh!)5mIcQ&%ŠE,AiR h`%2l%)2Ca,,difQ2LLF نd"ɬXQ42BcLScIbLRajP24@R%m6Iccb"61Mf& `,#&ɒRS&fR[LԢLl,&hCcRMLM% FE2l&R1Z[4جfdbDQL̚52J%))"FlI@edؠM k,%4(i!#hFJFE&!2XId-2$ Vi$ԅLde)H5Bi+E4TѢ -%60HXdYJIP)j-EЅEI"VdT&Ƃ4EZԨRj5Y6"")M&YMIRĩ)mԑ$Y4lFd֊MI[R)(KRI$2H"DY,ZA))фJ#,ĔаZ&k1R[i"C#*IE"eDmH(4kKJmf[QlmfH#,T1JH KBh)F Q65cJ[Yhɨؐ6-X5c$Ԋ2iebV̱%#T,lRj+(Tk%1Ie*k(V6R5(dM1#*&(Tm "i KdddAMڍ[EhţmmPkb-SR%E4VI-M6lLlF$)&D#*621k y7oxw^,ddl#,gH(BveY!iӚIOj#,=auJ4ܖ#,W4ΘwpCU}i$ ~?&2]QTȥ܅;ZD I7nppo@™u 'M˱)&̝z8,b:.9>r2L)*cmWEP)`S5KLKM^tO]MݶcZQJLu-ͣQ |T b&JDdAn#*3MF`3g7gC¤#*j2*2ث‚ ի0 5BS#,#,OV?r@SVZ e~9p욏т b$L0̫H#Nlgvl{![@[@[R##= Mwnt]ƊK!I$Eţ▼j'ƪ+_6B2[-"lPz$~4//S80E"#, `K@QE2 hrQ*N:W.I:.[{կ//^{D.64|2]x'vMa8YOQZ!SMKh0"4#,Aa?<#QUV(b sUEf+U{j D[){5g#,|<9;5{R#,JNOuzwfSƉf0 d9!Ʒƥ$"R?K9j&gT3hN衐2K[c^ib(E/=o{1%%6_Y0|Bmϭ`#*KHߞO?ݷ/hTfolm& OO'4&Dx/G[^V)Ռ#*C^]׸mQ9d.b屪}Nm\̙õ櫺1EHMWv:l_ 9a"BIh0 c#,& *\@EbL^8&j޻Ebɫ?^)CŠTX]T5zzFBJmIQEϲ,OˆE]k{7C#%k_cr;7]+K>+|)hp P,Ԓŋ%G&J_c뷻CWQm*"p V>͹̞I[&Ǿ"#, O+(T-24#ʩ-'GJ }4CD4dL,P⍶W#*X7;90Rsrg<8_X T%4C#9^p?(­c]c&Gɻb|aʊ7oݮpxܰ45`ʬSW5!E@#,8h=zM,047.g]=<P00JmlJCJ7m_] x5eL1^w"gِHnr#1Ҿmi$4gý5|qޕɿ'nm&g],)^ eQ\Ae w%}zyu|?}~P=PD*l-Ylm,='g2{gFw93ndXJ{v_ҁqO#,{O&G#*HvFUNn~ϝ_Sr}0xEN|BS48sg~BH:9P\r5xW@@z,$@Q>EQ@$Eotآ] P3xQsFM8#*WA58ҾKs>Y0lpyi&y}L#$lqϋo戇eдWqj>_P1٧ɛ`)UkuaLAa&QDYM宗tù0j0]8άL\Kgao1;wMmŧ7B=S#Ipx_#*ox7{x1HG̺ѣR4f_?u6Xz0Y>w~:8߬7HhӤ$I481\e#,,yē7CԪd#%Dy\?R#*UMXak֗!"̺4J96ЋTQfS!lvjmqLb!ٴwXp,o#3519xF#,MVj&'G,r8ͼozM4J`{`.sͤ4gTv#*RW#.4wK?*Dvz=T"#x(+ka\{yrYq#F"?h)zRx#,:3tq|g6|ƻn C8yx}JDRg|V1Yy:6mO#YҀ=^YYj*jRQuع2B锻:y&be4U%5ZJ5D^.%kQ#,JOCJW󼼔LgYC8M98dg{h9LnxLde+|t3iя:7^2I_cߙYr]Tcڲ[L׿bZR6ybVvQ:gKㄡQd8#*2u"m3#*W|{$|zk>)GY$4{+Ę∳q)&|j^!h)LYYM `qlK?JSɉDAD$XNr~g'V74',Qe?v@~[ǎ=Lx)]9ZXM.{r㦛nfɒYc/#E}rQ|Y6UCهކj'^wgVP3jd/Gcï1Wb`z6{`ca6Hxk.Q~#%pwYKCa2.:>޵,gC//Cť}(B}儰'd#*~!aF/9]IB*en[1*$fK+RjjM4wF"s$h#L bcZAAHZS!Dw`;%.ߓN] W-i|WW׎Ue%6ߦHr? #%1fp"_SeLwg\\3W~]VHB Һ@cmߒ"Q75juGȫJ=#*=*~^sj-Ɂb\>]\8엲p (E1Ϸ>:UUTx#*nوo~yE+g4D[zp] {=GpNiܥ|3405+h^4>-v)8T/ݼwiOneLG#>1k7=0dbq #,16@XqĹiï]$vR\K91#!/(jFԞ(mys>xho٤!(^c CeWdp#%3fo.Zi||fkvLj$dE}Q#*>W|P1?#*ih3ֿ#,g4ixvs'FgGJY!#*:֌+ׇ.3oƚz`HC=i.veŪtZ4vH}zU^RD -C jVB3җTyEĩB))\LG= 2Vxo~%z&M1;5#3O$cʪ5} kŶXoneږ;7*dǏlBIT_9;kɡs(oedD{acGGxr^f !n\x#]v};t8"UED+Q÷EWF[4XzczjԪ̙Iq眠zS6{Qzz;HXZt{/O<FOgP` _#%;#*$ qPX*ouoceNk5bu#<z,Zڽ=^_=]3#*\WoDύ7[6Qb&bF\{2Dz$Nef$Lb#%͙t~hVEnJl=G4u4YI+"Bȳ3iq H~CCHlGlL1]r=/lR##*KFMQbhF2x+F#%\dfcT`yi]"T>{yrHkLy!@B6VJ{*H@#*,KГe0x60h>6UWj,c#%# i$FmݐL'j ?v{sʙ#%FZ& ~ o;6kԱvC'ftç ʺ65"Lf㭫#jNJ\UyFq|~y],V*Uܰj)^Uwݬ8&߲}GG^xx_i/ ת=9SwE 5i:Y&Eٕ:iZg$|t#*v,MhN ɛ]O/I)?ϗxXc#,I>s2@9Fm̻w-#,!ÁI|0(u idBabtU?t,7C5Z)1UMQ =Di6xj9qWQ٫ itH`~qlPezvQ>s/?<[3CBT| .ՔSy׼ᵝ8xdWFl40\Ns*{ϖj#lvDꊁ5e{[dՕV5?|clKJY\LA4LO1nJhN^ڟĺtZ=#% &j 98u5x1#*N)#,SM ñC2)&6i)`h8eG͞l v JZl֑6%PTxBr-=;;C[l;Bޠid0tmxJY:xKqَ"8\mQ~V}*ĄൣiAYqd׎=3D)͏;C~WڰKl?!Lj#%REMc>Ig/3;Ě{ٝ}8V_-U0lռ{Xi|0Ya1QRꂪ0iI9mF^6[C_]/\v:IRVwo.gyzXt2JSb$$$!MlE*v\Ii61C{p^ѺQ;7(;/UT#,TG|`H,h,X3]vC-tmvZMiΙ#C-լ-#,Y>p#fHkn4Pђێb0úBǾbӡM~VbXL~$ Yb#vQIŢX+(!#n#*\_~o3^,2;yJ-ijbexv3W`8/ IKXwjpq33aI L6QjbwŽԹHu7iKo|si^E_»R~ZHVJ-'9WYYj b>=Qo P0h$Wk_KmTS$٩jMUb7e ƑdH#(S , ,Hi}՟cʅFЉ#*Z3#*rBUկڥs.–$U7bw>!J r % @s#* ofCeۯV56q'G/lx^ng#,o%R":d}Wdg-~9F,黦\K V)#%J7(ЦDe2#,2]qTjeV|ϣKnDC]FeX#Uu^{QDtVrV(.AlOsRNe;O3wۑ|J'sRO<:w69ſu)h3Lx<62@F3'ZfsGlk;h#%5Y(94!#Ae\5fl|C*#*I%^,`cgF#7>?EACy!8uDC asH iqi9s^AaN8!Ћ\$g,-rL3swYwz^`@R%IwhcK^n"06[lC-#zV6Ahd[b{]関7 &1#"T6MTTQQdYdL&ʫ%-dE3dW,*+)PȰL^6듿4mpJMT/}Q ~ߪNngױp52]#b9ﯩT6Av26Mt|wX#,#, @%)1qOT҉n^I.͎nmɢ+tW.QVsmmk[E6Kis=0 67$}(#*1sް& Dߊ]an0:{kҨST&DΌðnT#%c0 hcΉsħD[S~B:1=CA$l;0va+9j?{`wK_30cNnbʏoʸSLC\;#*vl 뾲ݬ`?žcx'M.'g>eBlyIJd9_p!E$}S"w徏}0զVcIP># Ȍ A QxcUL|V捪14H]zFAӒc T)X ?s`90[oM%g wb h`c*oEVYG4|K! #%gpe,fbC6T'14_scF^/:#,JdD_+qϣy?p۞iݭ)eU"RS  [1dUN]ݪWoߢv,{O3oL.x@-8P0XE WNAߛGDhC$> 2hk{5Ea[s_kE(hkCí#gZ6k$[mA.DJJ>%:at*MhLxk49*$h:̭`+ ch+(KBsqG(| Mhgu&録Ij#V-{-.:!%Yw96?a[aNIa\H&EWCCWzKgo'aԷNC"Qdk#*1~,*="[<~V3 -%'emoYi,rbaxBP]KQݵvɜƓBΏ#,)D>Iſu_Y'˯ҫ #,'膊ɈGJH(yDĐuۣI'{ :P1>Y>tb_=h#,x%oɧ;)*Cr^+}>S_U,_reǏv#,{͉_l:5#,D:E[+cLo#*}dPS#*'Yt8u#,.0nK+jwL'E?5>(_[Q{Za7V£irX@UOǻELPɢyAO]>]m|z~Plƣ_ft5zUt*)~k=ݿ*g姇,5.8] \#їZ(WOǽCι<~.?-Zokr\#C^QeȫwŻ?G.?fPjߜl-7[~FӪ_5|^]zw-o}Z[N+}<RhRP>X6nY\.6I[*'|6[谮a!?[9s5X[˗M+8\&Q#4؏UjvP$pXC ԫ.ZLr7~1aj>h!R_NeWΆ'^R#SuT5yL~o[}^ W-Q>lyϷ K?7N玎kny5:y וBOtq)1vt Q1Wgp <2ZFf*m=߶I?H\xȞPV|~-{5#Ț/fHey_WknvoYSoßοI.MDžݦnYwiY-{tmٻ^߯-h}9771vovYy{M/[2.{$}?tS.jт'/u7aGik_WT[Ssw*ST>qOv>Qa<:#,Ta* 6àWnx3?C&9(B*pO d1)mhȇIя |1nSxkyU^_L]|m*^5gs+jy'gח>«oåmv3X^{~*-x<Nu@jvq^LڧPgJ#*P9[+eqB T/[WRڞ/ݭu\벙^ɲJKVwgw,:mY%9Bwr*7[s#,vwHdIZI'nsKo½\=-ݷ||)O9MRp)|[ThОw+G,*8/BJ,ftn+#繛%1sf^y0(dGLg0Mj'cG~wY#1'?Q -.-2-褸P$#*Ku-\koS,G"Qa#*s4j'f6]M>Hb߮[6_glB#,գlR]Z=iA]+kd5P&Km*> V󷾻MD;Ko4i0\abn7pPVӇ/c g5 ]2=_|ՁgW}"EVWU{jлwd!-94tCGKG^&:Dyj%!pFEY$ǟ:~ط>ʟ y\Њ;u5G7?Qq/8)͵`O侮MB|>9%:"v~atc/?]#v=iDt;~b1=3x;KVc=LVOѼHڢ4p*]˒ #%h4F8TiAQQ6;l魵\)jVaHhXi4#,F%ca<ۣ*)}1_ӒۜSS#%j&a#o- 8m:Gx3Y܌ 4hԓ?LUզZO CZS3a12آ5#%!=ySֽEv2y$ø؎J:Q_=%G2JXDiErRU#,2E?CoU~r?#,vc M]{q-4|YѾGGV{6%=ּrz! lgoxQ2nۢQeDDwVd9^0.x/7>H&kMI#,T}M^~#^}ɚBbr6kϭsu.=}gכ[o.JO)JƸc?槢5ԹD3Y̎/#,Ym};?ouk(~39trh(Vp@Z8r=ag1] +GJtq,n/LɑJ JI#%h`413 il7]LIUZ5VL Z2Cv%u ^6eU@kuF00T(Q7ZPdQЌm$9`4fZG<W&la/5y7U([8IУ:8o;S3#,FBpNB6#,VInB#%E ƖAb,I 1*8-5#** CAJQ#*V5pN-#,E'F—(LRۊX #*qi@aDQ,d7))˪i$fX6uATT.Hl6=(B`Ti3QQVb:QC h&Z'%xFE=q:|K"U<#R<4cV21g Ũz${߸ً¢[wm6J촕11|QqeCtw߳ġHΗw|rhG㉳7j5֫(48hٳ+Oom[țf(8Qn{`LmkgNA!T{<9D#ff(td@eU_eQӞl|/:nkV6wP<_!#*q|c?sB(ىl̫Cѳ_X@b7c8|ܔ`UB $w"if]ixVӴO|"TH{j͗jjܶrq4Rxq6S^VE.38ȹYXƪוe՜盼$t5 P")RQ0Oȁy*jNAK]>> h8rwf. z( J@j.hPuz"ZH-'̄,]_&cW#*7(!Y^Bݤ0ڞĄ}Ƕr˲̢i[\#*fR(3Sw$Pґ4f嵞6(KsmkM^Kk5#*]["U~1,#F,$yXzNl.ćV= MxhʉZDh-C,*Wsd#,-gwGp姭 TU.ِCEQNL6(#,ɂAMRv6 vb'PݑEcy1C{}/˷E&4lr_/r8}[ws%/7^.p>f lOCjqxf~kkt#,#aԏk.4R&܊R#N@"F~2T;cZ4!cKki xx/+TF19.,H6ZoKEAc#,P{h`֪Y\뮷m#*kpS#*&BIʋeU_$~'e(tyY#,l6fz=Dt8u>KW\IrҁH4]gz{[̾#,换+O]S &21 16QFѤq&$CuAW*-cKĬk;٨qG/DA d %2-B5wPTСSuT,A/͐ͮ;lqj]e"wCAFPQ #ág#*>\$w&fsb-b92/jh)gB @(v-,P"e'yJ?(w5%Ng=%3Hmo~G<('E)Wj69)L+7'f^ HK%,n$i.NHx-g\&Mc԰#A2B#,2tN֛$m٥JfQL]JT[M#*Nit@<'\,q̿{#,M@򫱼F鞑tAa4 H̒CR3ku?'$*@@"o"3%(~MfJ`#%#Ar[[E/+tE35#*0hK9Y'MӀ%Y:bG-Z#*tG'EaN'(EI䟻`dBsg{96 ;<ۍm|s k>0HBIqzxyVe)ƕW2ho[jCdl|O 'Dg\mFwD*7)E[Ųo#*xD; (LtN0޸d dۘ'Uf8mb!4C]`xdq.YpjaGE#*} 8.6uY8Kd;R`SnJsI&IXT4Lb0|#,"G+~8_Mp^A"s*d{bPw'H0bsxZ|/IߙӁr>ř%#"1|٘*ZoЇc;$sV3z&FD^ccpDю1_{~yf^xws.[`Yw0Q5Xy93zgA9`si^i/״s#*>\u]]zQLΙy(v]ӤԚdd_Je/?3~huWafbu6_j"`1bF E-琇I7r7o>RNb#:M#b)D6ccjkX]_49BP3v,F*#h#,զL+γ.vşO#*N5<^avawuVBbnxk5 1'hQr08gf(tpxUqi{=?FݫٺQ$YD(#w&WR6﷟^,5;]lxuU9vfJ@һx(U蝘zqJǟ\Wl?뢦[?5#*n~K 7ܙACJ jN#%g@o-\ #h>_cfPMt<_Aмź{ K87wjR3' ׌gS;&N>flj!RS#h&= W\oSćD?ꪼYT Ea]Ŗ0BQEgI<{Qi| ZoQD} #Λɿ|wbM3ص/)jΑu؆+QxNy{mfv=DJI_p=d 8$:I &۝pkV(o!l] jE8*eQ*ZgI.C6Ytٕmur;,Rq2voe5D?U>[#? 2I 8*yDbyP k=n4F &^k#,2C9&MXsc-0tJps#*oMgܲX&Xj4|+9y/Ae)Ao21)P^@[aTc H|n.b7_][н@"p*9Jn^G|`dӹw“>T3y2v)r!B-#%y2.ҒŠ lYBPǚ$yTt T#,hRee#*P#*;Ɵw%w12RRfx(1NFl[N ٖ: 6Rif#,9郞'*ܼvWSfh^bm)DL#*pe,ۊ}=ڔ_C#*foM>-xC'#QPf!i8zlӾ#tZY] [;k:[̯n3;.V:Q$xAǃd%.<6(^?=vDi03|e,bH@Ǒ='kP[{n>'aI8y)#k^,X?e7wp\(Xiw\CL쀺p[>$B]9|sϴkvHyBG#,ilфȜ#%\!biMzA=5_ߓ~gqwFGMǤDc(3\ݱ.}> ,CmtRyo>Oljh?^yQiE5{'XM!B߾=,䃉tՌr=/g|1-ZDZmkZu}{/͜q}돊 #*7{.㈧h{a`σiS#*G@OL㊷ޕ#H0W &A]Z|"Z;V5o#*{ё i@$ D3E|D}x\5(1G]E?LZ\-rL fWE+鶰C{UT`R9)π|n,Ie;q1M#ˎ{52]XpxE-$!2ΘK"9;bcW Milz d_q9Nzev)Z-OsUT?^Y`YQz#,S2[> ePgVDϡܳX#*/'QBq6Q#*g]d6&B#,1|>Y9y: y59Xʃ|ѸFW=wI$_?)BoD*YvxGo=dU)'StV>ޖdKyPPcF#,/YN[VxA#* m|2Ø~hug>ַ 1ǵy0>EvgyOz6v;q 7vz1\'2;d>r'v{-q14Ltpo㓬:eǂX2u~ʫ-*z<Ъ;E!|!m_cQ߉;E|ZaUOc-Ư?~dx? %8_tcm5]|3툒tƷ~&XngO?4sB:Y Z^q~|L[U-],o{8G5旭f e~XLjc|T*C̦ey=!ӞR~k!hud{g۪>~ yk8niGswۿX-#,-:`=qS\[6q|aǿ|g?TQ2xdRaC癏1P|1js%ԯW"kuHú$%а[|\ie&Drek3yrz3zR]HwGg:C8qC^.\I߯o}krwx#*Geix[DX8 "N1/M58S;0iZ\;i_z#*˹~)ZX"c:zp-쌸m~Ň(G/蚾>fo"U7$_IPl EMVx̠^#%BRd%+JOh~Bxw][Ev>^/:iƺiFJ;?}J8r 8ϙ72.1ltZn嫴d}9p^x?nzQעXIT5T wsmێ4#;R#*8!{rO/)'M\5PQHTb VqiL?)Zhz5p,:0ֹj+7}cɿEt=VS$~#vXʶSunq5.'ދu+DU|o`'qIoy\r|,ٝ1jr;c6Q#[vZYO j- LqW/O@wUud"j<u[f2K,iUP݉&xY⣋q(je cW1U!w#*ӫˑ(c+c]g<˚$n綹H) ;3yO^m7XG!ai4ٕFWW6,m4N/6a݇XoA]#*2Cf UvcQ[g琓(=$*a#7ۿ0oo/]UDžM/Jc]v].V[wQ"zĕ?i/a7D9G3#aͶ=qm%=S؊\Ā&LO ^U^bώ>7J~>gpt'dDMcj4,,1=μLlZRݔ&FEһ~p_h; S<񎖷L8lk߁8!= ԙHUiFa$NUáPA A>?u--Y?+L2o#*F3~~xtT F`G-G Q#b:jN3KɈgLvZ0;$jR8f;]%H0?(B&`j^~|`@Æiњ.)E55Xx=ٕ-bљuU/P+lԴ++VcrT2ʞ#,/2Ťo\(jHUMm=|\lÍ04h]KY\bk0Qwc|`.Y0DnxetXNx馶7.|~}#*ON81gsߊVzzb s]M=ԉנ/GFS4jq#,}{B,P͇ 1ރUhλ?Cߙ &^IL|ВCfLxC5HCe}Iy8 wx@Ȱ6r4Zy{/ʓRxNpdpVŤ_gѦ~鰬98WA RկIM鮅i~4FaЂ<Tu*8 J6&d&9#d(mO~|]Ӓe;)t:o0#%"#%B#,Զ#,cE2Ⱦ$6TRdI;nId;R : jX#,֏G盠S} X&{Zt?5 N% Ndt|sQMEL贺z3գdoq#*ܽV5c0Q|!-> F[&ɧvJ9vd `]*㖃m;i%t6ǎtL~,IAjӶ%1ԙZXwq(>TVv :#ʻizazId[\/o)[k9h9 6$#,~h'd%+rh [)h3ۄ(p<\eR J.Aĭ]dHdH@kvWsNf{}Eȕ}<#,#*Ma&VR)1؍? F"_<x4f +&hxig߃zDBO.;ba{5]n9q`tX!],fkI!CL\|gn#[-&[HVTbD3 RM'EKN[48gVvTuɄڡmG9jbU7 zr}sM6 muJPIQn:Y^-ufaIR%{$id:"^mTmӦ=Kg.7N&0mDxuGo%԰J3M!9)M ~EWίIq3r'E$W|>;W-s,02vHCu`hl%_u-ϠcH9BB~#*ej`M2и؎1p+)ʨ@9S2]M5e W9]Fe6Sk h!FEp&;=v7>%Di|:M_y]W۞u'$ktdhЗD&1Uuy"Kf;QoyA;ݏDȠ{lR{O/=P.#*Pa$Er֢3}}R/g|#*W|u!ED"Q.'mYqj+\iڲdH F P!6sFT3.霊,mqۉyh0$_1CK)Ic#,KN~ϏFuw:S]P' "`ϣu (#w]3·54)4>WP$IkMi C;wFsGC~&pۃ*:aw?n~w˜E#,\)۪ȰbL!JoySL~qNy k#%R&e.OyߑwIϓ IZKKEMQ^6Z90 N7=I%*0ATy qMe> usӔ}XC ~i'T:G-9x_qS\O&SHFFDg#X65!ycz#*x|b;ڊ4|rD4Pz{]71 F ^m.DFOumKV;7$$Z4:$$74D#,Γmk%zypLzm4ӪݝNځXw0ˆ+=9=|{dҿf{!sH!IwAWƘϯ&!KsûIxCM-E$QQ;#, 2a`/dBM`j:XM#*FZC(ġ2K0cѥ쎂7,%(hY?n#%m# ڄIP.Ҟd#% Q.)*`?c>Pm7IjKݯe~'C(9lx;/n BsjJ+:! Bυ&CCS"<8T\g'0uNUU@hI~֙/{sU]gj(97N xYʡF.>p'~ 9AT#'v]˳h]IWkQDw3v)mIȳ)Z9T;A/ x3;A##*ei&({!]D\ը% bgD8.6NFIN:5YBG{LhYԇ"0$xkxqwMoqPÝ-Ҡ|#*O;0MA;R$$?Mv KƯun#*,ش[EfU6YG߾׫j" (ḿ0v;plnGFw#*v9X[dnAl-8PH8ԩAE\ ~4Y0霏CTWŦB툆DDTqg]{u.s%c!ԡhM@\CGf#*էIu!!QwއVOlÍ4d*Pw-[X7aDGtދLlUv1HY .o#& !O 3mnl,o;jBwD=M2432'E=4W/D @F|Zktok%Z*-ͶjZ[skՑ!?Sf"b* S]Κʊ7jD)l*$H_D3Gx:JrBS[*$3#*IM%R2f#OH!Ղƃc,k'%Buh(ϔ?+#ԁ"S#%RE#*y~q^Et81}ĵx$}6 U 2)A-DMJc`D$j>rF(o#, ar;ɞA#!L$?/|_YۛmmF#,:.ADd[-2 }fW5֫K׶.#%lH$n5My(s,a<0UaR8Nx_}#%ilA:U;Q,`8Iрj]Pۧ^?cdk<#*ddN-!d) 2 P~{hiw%{&')zhobdtS ֨T{m1Ƅ9DOY B057Z#Mð4-r`#%V1LrV^& #,jtΐ.s\`ޫ[s|#,#*8"C'+2,Fj7Z]KMs5Db՛^:LpF#,ʹK7̢v6xu1˞懌*>X8Z`N1 T@8 L ,č>|#*4irj^2A߹z7lKƃ_^,UX/Bhˆ1B?7D dY1FvB9eGHM/;GAV;#,gy[]Ù}Omoԟ^2ӫvt,:gzyF#8_ud`w/#,!Puttg1͛l}#,~ݎȒp4Pt@0P#*mg$Wa]6 KҎs>'-yxݔRiug̴~\m1׭t.UpNFˣ,:!ӿLB DTm)#%ɆGnirH4=l! Lɘy$dNRBX?pv_ߪUVc柚T[QA%lB i94*ň9 N'ZҨ8&68{2őMua}$.NpM\+5s+XZ'K"H yJOF}eULR$i "NO^s}u.1KUՊhS*7bO@p=ߜYnhcߎg31NE#*pH#7{peI@:!ӬV5K:o%z{#*#*@)4Vzxi&IɁl#*hcX(6t/,lr:Kw:LtS C(wzt` 3HM iۊlou6-4Rzn,Ȉ #,V_#,R\˜ ȇ)QH*4@2b*G[pN-3:6B.L>mеaA5`xԞnoA`x#%jZ;b|M3] =ZE{a!G֨O!gȱ -cO@ s]#,Efv&܆#,'@αr3~8|cp0ɌÙ0~_mߋn?+s#,ȡb"qBXQ,?'#%j-->{_#%=#%e'#,'@hm2)mۋ#,!#([#%b8ɚtDbY|c}(ih]Q/-]J&6+WpjpICdIBR+bbxsJfmb7du}!-wj̱ (o(Gx0f,EjJ@Qa~Oes7<jk'H- Ak#*fNIE  +~~u-_-y4HI?+YEEz%#,gHƩȥCؕ%:륵PVY"[l륶U#,F(K_F#%& t qk䖈%k>}U*ɉs[ГZ)DFdY ?mM#*=/1ń&b*(PoYiSwaV\JN'9!I %%!BE,u*+_{]<.W_ۻ1B1}T"7L5}pB |DD2SPG#,๵R8tRJq#,W5sk4oػx@Tֱj:gm??~ /cx_uO#%biRt+S T/@e3 p?4;*w?ֱٷ;$Q13a(hJQ|S8s"#vu{m <ƚ]sbUv5upg}z#Q1=6;\tI3ܘh.,W^C8.tȦcDdX9οf}Z|9o6Uji}agWTK=l'1sS@ͫI`*CNgd9jRisU  UZQ~nOXƺ7q,_}.[?r%".dx!8o/Te:& #ȍ;{}Ts9ٷ(iIr]Z:;{(U ~+d# prU'7΢FcQmG)$#*A%u>m?/]S].#*X5t6"LZ2471}ɸhO9|+($ڼ]ɷ&&w3}7KE. ?d;C8^1}+ow|W(2\'o3z_q3ȡ#RPP 9uK꣙i-37f>sCEߌПP&f`H|Gū:Q1d\,ݔ^3!wVTOcJv.7!ff#*INRz9;ZUxUc<*cL*V|(UŪUU:N>.V]#%}. ١i6Bʟ n6|ƤYE.pfem75L*׫B:1ř?3efp-5#,YT/oǧzSJ`}οԁ(GQ/?Qo\yʻoxf_]Zg"Zh>pEiStOj ӥ#u^G|#*bQxBMکB_&Ds84c+i^c 387YKX&~Q)AP>N,F~Jݓ8 U=Se1%|!"0}7I8Ts2[뜄T*>8q!L%tVXF^_er#*8t!ǩ[ιϊ.Ǵj?;,K/QNcgJ;\};+ d}ώk=#*Y=l';S*znX|9XB:vT'fL?7AVpyq~]Et\N^x4!k5mAJDt!b:==|&_T8湙.O|7`Sa: w7XS$˳yn84voט'`IFvūˏn8gḄqQq;:Ot*ddutE{qR5%b_^yxk:tqaU%g3y;1J,|ŝ>3R=bIqy#*^IzTd;&gvG3] ׮}2a,*U% ać"ǜOG]ŏzoU՛8];af7yIptRƋЄDgo;0Նr3>j2'iTuB6TCb vl?d主Rr2K'\d4<0_Ie6n3Ɣpp89x($wX~*g˺#,1cze1ʍ;οEXI$*ڑHlMjT0+xq&MGeD9;w$#Nj##*}/ԷIp/̿7ro.SF?K֌ΛGZ)#,IYGbqաQW㊐~;{UW.w6d_+,_oH_h#,} 0o?vf=\g;Vg}¯lmA[n1SG:n#," ~Y/^a3N$[KU>Ny4!_#*eߙw3H/8y>WU;#UȘKT/80(Nczr0^\olf}VN 3FM7P$@?}uY̻iȉ'#*[COq+ڛ:vV7!-Gle%$4[NnʁHtqP#,pTeW>g"Ƽqᇗ|uO%2ΠHP!Z38m~3kx3abyn#*FhUC`a= d^;zqh)IPccɐq-Q](@jqo-\o.o?1J%\xv^n .<͒F9٨tfq#*a-8m:YD-!0$ɆJ Q\2tM_x'YZ@]=[&L_DQ.D@v$, H#,pP#,0Q$#,C$-V.E+V &/(S*vgV1}MI;\Vxxq^2&O"^.p]D?srdāg0%zv fZKgh/!c/)hm'DQyy>#H4nkjOukǰ鸯w$fb_ȃ;Je#%F$G.iXWULq9g5jjeCQa.;Z_5hO3aH2Qī2/tFˤP:XyjEtSev@Xh!pTo?Ga &&-˭bsD7>ͽ9Ѵ $:w5?^ɓ㯦LVF?2Mɜtd_pq,NVLqkz)@$y}g?7Whs~M"E#]焇wk_()P#%Gۛy<9\u`0$}r>0/:J{;ԑzޏċKqf]E?-9G㎠Wg3y\ע=zk9>*'W`[VIwJ1 nIaqIu`B>;/:TVp$$Gpq3 #%#Z'܉иu=ߙmM1uT3#VUfCd` ַq*V&.vҕk9B/YCUf$;1-֞jC4͒E85OR80-Gu㱯ŝfǿK^8zӅugq>Du§^e6mӋY^Y ݷ~#RJI9m#,Hg G\vj~v٠s-lpf+GS]Ffy8N h@g%緄}2sæ\ /#*My*{0͗1g޵-'@߅rG~e2[w׃vL!dei-!tA&kS$Z~_|]о'W 1Oçvݥ⊬2gur^3'Zwu-טb;S9yIR G*!Jt5-5@jI{!gj=w1<ʧw5qf;([32,.E3h~ La>+O%6Y#*2َJ8PDt]>y9u_יNkwlx 3DiO2\&9|7sΒ,i[b8z[soN온B&1^;hib>=5;vꢈs:2H;vlzg99QB-#,^9TfŹ^X]cW>EHB-$c.FJGˋY^ͶmAp+- Idz~R>DJK $a1s^"#%!{h}k.N| @NRRm~]0AG[bזVBVV։#,M;%>c olqL9Mx/KNoW#,]3rk:5n979{e5& mrjRoD@Gi#*TqY;N*!$>(osr(gj0qXHh߀ig㙣h:u61gv2O&<&6KÞ֡Vwg\p`IcAIj>Ͳf|/F5+X[l2!J1bHfpMT,b+e}47oأ_jvrvf}1F#,ꎝ lؖxk@x@wӇBnGGI%0#Pè!(ʇdymo2힛^iH9'tXN)g vT&%B8Iw[Ĕrò2x¨{ R1~+ynyM6F#,#*gVt+WV"\Ņy{Camr2 |oQ>Mu'xe8lz;9o7,(q0Y:nsM#*lq@8YONn+!wvS1&;{YDPA{{d0mRcUW.jMKn(iѕblS2r"O3Aal!Oy*0(jQ.*,]p!ip:9 [Vd\5cW7!Aj^xq{흹'ҷra=܌Cڝi0 U7X2sM"/!}~cs1/}zݘO\r]^H AtbɂF*{\vVN|]Jy[{z#?L#%Vwq*\SVK⬲Y~_wm_"rok +-W-ffq'ՙ0`V\A;N!U^7@|W@v@ :#,29J\ߵV vx{k#*` #%c9V" hAd%T;U}@?HѼNI7%m +6?mh)gn׻Ϣ;ˤqa6A♁@hgӪ0A3tc0‹lN!s=]dY7'ؐd=X5 ,Ly `Ǹ'/pvS|ϱt6C@숍{CpMdrcr>{ S0=(5 ?A}ރX2}_0lO:&ؽڇ^_#,qL͈N/WOI#%@AW_6jIZ2=j[,-Tu9ݐscN6q*tàfH?g/CcCϫ:fwfޱ84#,bys~Lͦ`Z+[ԐE_%,c#p,4_r֘BQ;!r.J*IGLR%!6= &|=^&ApR;J9O#,iU[w"3ZǬdq:bؼm!"p@uv~"+#*=~ä^'4W;6@D݆x/<'%Ab&#,x=1jQ "p[LRr)#%m!`>";Q/iG.CAVG#,H6gaTȏGZf039)w @$L*'C#%šP4i=qbz5S}4yD9@0 *(#%1mS %ffj+caoxfM{zI vgg-UD!偅?caʌ{B S&!#*!áa;GX#*v~P͓O*HBOx%$&X.W[5uOګߖKxnލ-a*ԐTk3XBď#\!oNI*7&LލfqDK$ؑ0&lz2V醻-@R1(ɉfT45ma#%8ߣ!F~hׁ)XtmdhkEy::#*>#*v?^~vffR"['HrI$imRU+ACxʨܟXtM%- l/P) ~%.W~AG\S6L$2|lTE٬\l"]dL#,Kq5H"QmʂQc YIMgnBI'V\WaF-;Ymg@8\mr;sb8}`9|N{i^CzYI$lddx߹~tnҹF *#%ct4py!#ɭ/dɖ>a[60H Ȃ4|$ AODAr9= N cYJ)oϡkqi]6o9%ڟK Dd`?q|@dn _5:CG+ xx+|( !o ]`DY> \#,7 |ڝs#,}C@qHmr1DHJBlm͇> ;P#*>5Ŭ@7AI6,~(zۼST9JxNq|eG5)@^g9;2Ϡ6[0b ~uNqE^ina[DiHMl̳֧Kqx(ȡSo<}<-O8Ǯ7$ 5ѲG>lA :#Ou)o !u}rgOhx>G_9\08mإf&p=n@0$/dI#%#%Dr؁kZ#%DOOH^#%q&!Y_wGGa_m0Vx~##} d/1^z#%intu20}#*L' 7gЪv=ǬQahҶDï8s 5Ze375#*#%+/!p?PtJ4R&Ȓ b%FpD峩BHbu@L3Ԣ1ITLH`lk[u,oJ'keԛRlE^  $t "z!qfIDDjTUYMuiǴ aYQ4 8ΗR">(q8=x~TfB 4UJ,xߓ1 {2/56n@.5BԯoI"DEՖ5#,цe&j0'[B5Ycl.{?//K=+<>j2Sr-B-W1W0QCnA*{#%c`C\}|^~#D 3i%d(ca@}Ak~>N e4Ԙ#,HP rf#,!$8`08KGY&PJfyd3ȝPD x2#J(t"0o871~vo3Y!,Ne#%#*&L@@*gÞ0DthﲏPIC(jlWNthC"s>#]* AY'{~(T#,ibd'4_'}?)?aD1?w/)GRFAA߻`&E{!n1F#1c)8oHiasR;'= 8#,v`²# 4@4ԫEn&XJ[b\"B Lü~#r2xHs9ЩKS[&a|u(CsWD7ۆލ#%#%wRCY.L($ 9+}[t#*|fމ, `;5cG/U#*N8hu߈&yԞAVU \0g7,;>yX0&2gLͤ_|(L˦6rYUѡj=t[咩b%|{H`@!zf%.T NAM RDCT1f1DԊN#,"m4lel˓߹u.&)i)lBj(lN˼}pe<ctg$Erkl%Ȁm &Tn=fZ]z2(<`y`CސXCx"eԐ~5?;ԕ#*9Oϭ4vjPF#*(~$#*pn4a$cq#W#*6aR 9.P"&fjh>F0MĆT[X#*wErȇnñ2/E?9MLS#%btvZy[&w'唇H,yzdPv?qX yyX(˸2 IO'm+-& A#*m+]5PHS"Bs2*|||l+>-~SP}bGe3@7ׅS5ܭ6?;95t nQ0hf6 Wm_ocv4rד?VL@FL+Z%,Ѿ#*A#feh93bz@p,w#% '&E^:`?/$6#,1 'u>Mz^3)#*#%LT(6yè{4#*GῈNf>a.tӖ!'L_#Ց|Cx#%XY#*^C[o`@.dA f&ܐs{po{.C`xoj2k}FM[מ#%PI,fá&X uLHA2XObu>ς{˓㊉6O0hu>DM}vB>HCyKv0.?&KTLLYM.[ƦzdutjO0O0[&P.v]fx=`*裳So{6&EYQ(f,s;zZ1R}Tĥ+' aŊk0ID;K!Qe(E#%]|D`Kx|z F4H ||ψ#* 0Li^NM,罿 4mͯߌtgؗJ=qZ~|{҈!W*zxT;$O\'aJ#* 4 Vn#*4Ę5eH*üȪkZ4! i&#,JymxӷV*Vb^,cT(#,6 zywm-xUIS8rCc%\(Dham!C8CP馚ŋ4I?`ªItES=B!UCM3wȐ@`ۉ`#igI1gIf DP;mjgl8ġ&hH1؂t쾺O<ڐ̃c~gȧ E7dAQ#*ѓG=L]n6hNqpՏx~%+z &(߿CA'SP#%^"@-N0F4^jع_$D(Pw=P͑c捄ܙ˂f+n'ji۾9D X.'T/&`C?-ЫHf`7vLqn&DB j;NW|/nq)1BA_>媮;Nh̺M#,qdpbԡS.NP26,t&#, iA`mO5Bqo \*@!e7s#,3kYA5ĹpzM̞osa)‹يe(+bJqV5;wU[0lWKuQ=(G#*/[&JD診EyR<,PjOAϠ]%G-Ff^OfDn3'MF?g\o[<4}AϾd)ѾoHXDאy]Q9߮ Uē?(1`, yiqW˸eH.1ќ.P7 m B5U c}s0(%)NQBW*aҴ}-Z_X5k#%V19auśiHt@ȹAz}#, 98#,`XcW- 2 D ZlQur-lvhA0!0)_v!d$kC&ZpJ(Z&ґ1MnО^3t.aMy]#*gFGLt,qȵYs;ի{0/j"M;# ALE@qLW/:gBX;7=GLLz!p⎮LN0 2& rey߉N&6c v/#vP`?#*0%g {&K}*26L,;p~_g+#XI?,dW. `;Z0Li Tk?#%%mhj̈́ӇŒ9`B#y\ygcE6pQ'6x<\[XY#*x*|gCѱp6MaUYJ/[\q2W rEWpz!SGC_ !IwlPWaT|!g"H`!سx>h`TUUy-U+IVu6i H17 OOPS #,J1c{U|>̬MQLX4@lܐ5Xp@EFf쉓ٯ}5ٕbKY=#Q&b n0VhQU ` 0aa"Ҧ-6#*$IEܻATK(LJB6ˋ=[a:z56nJ8r23XQ q׮1oȎrҮwH?eߕ9ܐ/l.ٻ5ro:Oݾ4|K껿-t$>ÃHvܣ"cUMfHh³엃!c(l Be"w쪶_$bPD.Klui[f#,uo-lwUAS{Wԧ 󐐒IV H6@LE|6DI+{)DtMV$x8aDeϙs9 a洺6#쒍FfXlDK!#){i[jڝ&RD׮X!Aqh&,e{Bt*QdBX>CrFz#*0p$rT#2}QFD@DhH0 |5"d=G?n#%fk%0cݶ?Y`|'0k7et-rhh-ΰk;&׻~?zXUZ!#*AL'.!w/uN/B_:K"@Яg޷'k36{2"iUM#,Pk9G׀#,Np#*6+vkvٿKX;.3KchwåJaڭN9[ieVݗ煮w7P`m<IFNM%桻U^LPq?yt|T٬x.|` ~rv>Ի,N{ Ɓp9Xκٜ(1=M(aEˠqS#,ZS1pӦq&m''>[ #*+e )Unb H۽"]ͱѿ0TWg##,S(N2߹n(b%Qȉ:#*hY!wH_Y ~w.fE#ݕ {6fAfNSx8TGԠ,#'F>.W' vbo1(<١ޜć+NQ ,r8m' tmQrP&WK`8C3GlP r#,MCRi5(,w.`kx ҃SC`tH;|g,Le(mv)=&f4>yݦޜi49 PPH`_\P q%| {0e! \(B : a))d(Ša#,*Tzs;Q@=R`0JlTڱJch,)#%=E~ 3F@BҀzxʉ4Z@Se/Z7KBCi#*.ᅯ4L;tX ߖ|=Ivlw4v+cjuۦ5zUmHֱU2*Q%Q+6UlSl5QY*5*1ň! #8grTh/ DDA# tKAꐔrv1g}|h59+Nˏ F0\L#* {B>@A°r`fC|t-9s*E0Ca)dYMCh,Q:86DeT"&-tj.C .#%g׽lA@DAh%*2vc`֕j iE6ـCʀN׽D}#%%UDݼ t? ">9Add@,ͷ]ƨJfW6S66M@~ \Ԉ%Dr*I>(pC#%,@<@|gÙ.}i[0smO50#%!>R78m#% ۼ=akxIx2<(D{AI96d<Y)t3la7Ӹu?Mۖ%B'1#*:v/>14T֘F]w/:h(z>7l=xxE\T엝s]ka%lMQ#*"ȍm0Du#*M!zPІs:m5,4#*w".Jz?DKD 5Y#%n6PIۂ.A,ua`I#,2ZAU#*{'٥Թ# pxH@@r!62gX͜.FŁ DRUڥ%-4gLZ @"#%}&VC>`Q#%Gswy~=0=F/6螮MiJԡ1JA+Y,Zf3ϣ8n''09εMωӈ5'$v7F[Da0k]Q% YJXC<'L!ʾkwŐ=7p#%tW3ʇTAaLnx52{[x%5#,A ;JU -{h";M¿Vu턔E-3{.:rym`'N.|hԤQd)ʔ!(QTa#F#,&j #%$ҢXD84҅#,0#*%[TR D$IQ$"71Cc=krʏ6CV8>՟;i{y/J$qq0yda EkRE"Pϑ+C'<(Vub(R<4yͻ%)mH&LCHH)vMF%?u}#*kWɝO)-k#*GIߵH#,0#N!UqSRmbQFC*OQD6fxwB;,uIZj_[,8C56tE4i#, q#,Y*)*LNΕpowlTLN`\;3f5Π[>:PsaAXM+9!U>;eЁkd#%h!6`ƅ#d!F,IhXf![dXX+rhY2LHLܨ#,d,9k/gƊ24YD1W3bȈ#*zDTmJV0R4A#,Jj 1a =H8OHS$L=媦 P jESJ#,VqKcqX HWƪ-{ڹ `obZxN׺v}~aC%򔦜$)b#\;}T%;5)(۶ʅA-g4c L<X0ߜ[F?3Z+/#,eP#,/;ތ7ǚ~xR9S>Hrg1Fq%axx\K c2{<(#,cpbhZ[R$=|(M#*E(/轠5*mѲ0`ބNes(UID^?a#,E'2iնP(aY!x(mQ℣<ʔکJ1TQhTD*sfk1^qDENcF!O#,#,bha?[R+(`2~ GT610h D رpBaV˳#%uHp{>^+쥈%"ԭ@6NOB=1Q蝹̭0,CM(7`&ēSi јWyYi$ANPĸ#"z0Є aw: v#**5f@6C 脣,o)i7xr66죟~rKFEDm24AX HNvxT#*oPiaM[8Zv;Qlx[`ff>+|r]6#P*H[sε(a\_нB{^O5kشFjjzR60fF@VA25$`,j5e)ҍ^IٛMyU$"5y+4`ɢl`а^M5 9eIxqAq NEqny9Ip5BMч6yyP4{ѡJm3n7zyR:7s=w= )+7%7"iM}ً3CD5V(7`) -m|6颈.&HZso`K@C`#,:0WPAPl0#,pᑴ.` 3\[ȊTS,‚J#*hAiS9H^Nxש5C.C(iU]j=eC*'.j'VnԢDb3o}u$d!3+Yz.($ G_r8ab4;7g`X"bxm A,uPl̡ `#KDvtf@qV "Q:/ >7.x:[߽4 IH1R>N l!X|Bb 6OYc-H&ÏyC,c@-#%^(q z?_a>8b,0)4pXG6śpPut.CG0B4B( `F%$A@h=ɾCPpQbH aQW'(l09?P@ il'_sd$x~|T#iph鈚R"77<5nς6m5Al7=N.EQ߲q2L̽;I=E"2Fc;fy0!!!;,,!A+Tmo̹u\ZxضTj֢tUx]$(Z]ՙny=\=dH-a8h{*0= æf$mbK;C Q'2F#_M0a%2PQ6)m2bL>RS#*m0m4C%#0)6IJ̑ۦ&Mi4hRY))hhWǺ,T%5E$h#`Ɣ"*j*BRIL4f$,БS*I&5yJgl#%(ݥ b}2Vmk1mЇ4@}ƺ[D F|\%W#% wFS(mvQ6fr5]h'I|Ls8pg \(nײm *4#*ZY+8&xoa@F9QG`6 J+$0/RZ#*'C$NU}#,3Y&Me5i@L.GGT,޵Zxb#*E:e3kϳY&|w2`O_r|}/>KtuM%u! gp;,`7d|CCVkkM!RL#%ǃuNG-_ΤQghĸsQ#Gawy9kH|}kC#&-u0b9r׷0c(O#*mĢT~&g+ZC ]4wf'>uoB91J CeS˿y_G}֘ǞrAD&Mqr~P7>4yh5#q#%Q=u6dDxwγ9FPc1R4PmXfC @#*3??^ȧ۬xu+m:7*V`8=#@n#%I>"b#*L@W^%j,h0s.vEaj<3(6YKtJnN6T,TxPB7fT%#UuN5ƙע䙪'_W])9b801#* ׫O P|PRqi"D,&&C0v?cR3!խ!$7!ԊHLy>Ѣ:54Ks+;Z#Xe$|#*I>1rc^ز%`r utlN31܅h阱JR/tMB pp[ ]~JQ-idd<ǁ[t#Jg ylBV}k8Iêlf+ƲGKhsc4!b(r*GP}!zk zٔz6\Y͠Y<4``e0QkCmKјpw! kh[R#,Hivt Dr>;K!";V,(L ;e`~3]Z`t\x5PP-0"C<^쒙]#*$Nr$N cn1N=oLtxkGY)-TN"$3PѠYքA"]74<Á2;#,@zv˝lAP, j1Fb:KGcr^%b J urE1.Ip2T]GrqS<eUEohRBb!!p8X-0e]fsIfݩ]`D <t,CbQF)vAkU(j!oR%V햎't6#*SbP 备$I6_21WMAvÀKc<8Qj#%Bi#V[Fզ[uo,"l%MJ#%% ,?WyrwѵۚeddSV|G 1NEf"9DM!_&H0[#,&Ƙ kx#%hK#%ʒ;%H;WFcQMBvԺa..gsmHYpkB>!Ƴ3zlbTB\d0NL ۨ.HAiTc5$#*5 7[C$r9?ʿH@Qu$zh-!#,LƒQY~pa *'jv:G>{HO:l#%w78#%GN\!о#('QCȾ#qc?$%?6$]3Dn#%~'l d{z?6\M(׃P xj*౑JeMyDmn1pc*pZ+6chwPvDhǢ2^6#,=hlb6&+q4 "tu#9ŇDj4=`拰>j}b6%a\n{ϝ"#%Fb# (RkFZfj"mJ{(='ׇٞCC_MങKȺ;N*}{{;3V88# @0DK X*{D`1+d97T=s{ wP%ڇ2gs蓐<"DvbAS:gy? Jd昫)#,P %0H#%#KӐCf\aa,Q2fDdhdCMȖ3" 4+!4Acb"B|L3`XED0{A59>9rA9Q36al:*$-U&T#*N wK^xB1G +wBa$EWH%v4=MD0ptpwא֘(Ro֧tp0Ĵ38h._;7̀͂C r(  j Lc #FNSA#,i"hҍ╒Țaa&8,)(&,#,D,0V c@\#,UiAȄ(#G^6]/p#D4 -H]ܗnͳoSs]N%]J#,W$m1 !<]yiB5<ʍRbHD%2%"GFH:oSc)4lmRRMb)XXyY`4jHKkh@$U$EGI[\]A{}I H=trfAIa %AKQbQYlb=0,_Q{Gi1= 0 (i`1mT_vmǻ>?aDfj3ߥa"Ggdba^Zm9*mgg}#*k&r dQ1zS -R#*~6U B /!hQPMv}"T kóL9֠a W`w@DI5\n; PRɜQ5kS)#*Q+mvz4#*_K<U`AmWNfiF3a1 DEӍv7E-#%mr#!XK`π}.&4#*#,/nE b(v]@|6q.;u$CcphHDHE}$+ӬNEyD*"v(SfXT@3BcZdR&ֺ$7m$h%#*d֞f[4M6T5"ɦRRhiS!El1$+%k-2lZ(֩bR֔M'Ωqi۫ELBc)5Zb[,lQYdŚZݫ3I5 Bk%mM*k{ږi&y׆LYFf؅emTb-*kήwI0bo< a<턆,wnC@1_ͼvλų@f LgNL~Dv[HDQһD-ͺ@cP&PlXu80m lA CWFv:2~ #,#$@$PM1$H%*YH<#%EF#%|ڻǩ- @n$"KA##&DɶEob {'us;eB>#%`zTA"s\9?yzUb,WNJMIYLȫ?3A ]e2&㌥iY6dAPԓ5`1lcV*"ƀFfhKjС!}j80m6pYIl;2A#,Y !m5 Hi7F@0₪ҷ2@g u@ϛ<>#,W(;B՘ #%#*B-ĭʚV*clDEEt؆҃oe$XPȬABJ|VT2vCf01h@#*b]P}F~:Vƒ(mg@oK,u#*Y8u򹎰6~?yk)T?,eSyp8iY/<u]иX#ͭvCF['sp]X;Ӝ<`ZhH!;;㹵a0U0Mգ%$J`NZ׳DEzye~с kzN,% W[_\S낇Id| FE"IWCaT`L E"#%j">Q46@vE){K2ejfwiW1쀻`{3OEBd5`09G@Q#*q{G\8͙:h#RJ4'd#{mM+CM}bWjtԴ:"IơPky8iвŀb!C25#,\٭I ϳlhЃ㔤IAɖ>Bkw$<iJL@!,<%1"Y UK¹"#,&#D8z[u@U@ѥ; Ɗ*02;mwC}sf!*LKУ'J6#%6r?x'WE*=frY;Ov6LݭidfTxXr~gFiv#,Ӊq%(ۉXHjU6–J9v1ECbޙQyI9C$XC#,a("X2(3{O\ g.=0zg+ӝ{fyْV@UEUCF-Dp.#,U9'XȂ Xʉ1H(~N\$FG녮.;;۲޷4yA|LFZ;ޑAi&h?WܽX|`yɹ|'z>3MA=vgNn'>]}ճrŌ7F5ǖF\hY[fG'I!Y7)ov _y0GD՟zU@|yI#,nSN!82["r4$1dL9=P3Ί.0ǐ i#%$/Kh;k(YC*#%1f˽Lu&hIUPHѽPY0TШY ,9Tkd0b({][WPl,Rԯ.mgtXcjFlI^QU{{u{D`K@@ebjX3Q1HA> Z|sVKC216H'L7z,=#%1ګ##%`,-R< 㠚r4#*0<Ki;C 5C,N+;d&Ǫ>ʩ813fmnD5QuSJH$HݱihmQ#%__n;,Aq)A^ W@'fTU}dMJ-_ i7ҵ%$D,YKS'oxˆfy_]0E0|`$%*3I]H]NޱZ22AdZƛ94ʯV+sK~+zz Py<\ImQՁ7 o)JH0Mz2Wq[ *P1袿QZP BCvLJd3F[m#%ңg鷘44,f ,WZa#,d26!)% #%%)Fq(?"DuIIH.RlRme2KEMʓ#%`QR1Qep`jFiZQmUmoA!H6Cwʼn]#]EZ[٫ѹ[Qo&h-2E e!F7rV '$8&Uf.0P*T!W4`Lr-5ZnR1#]#*\ۖkzz2zk{1Ŏ"3r#*̂8jӴAZ[q0V i0gDSYQmiU[gݺb-E&%s:QSZL`NF6:f47\uI'/ynҟDmʤ~jBDA RA5E#,j ,RġʼnoKC Qo=3|86@a?'(mb0kLɫM[fӮ5VZjhemQ^u&Mk\j5l#*"€-R \#%)";O fAJ Eb?Ѽ}OG2ê~@a4 ߳X/iz(1Xrb% +#%FƈZ,pƬkH((ӒAP)t벱$Y*L͖UFj54:dMZB.FWuHL)%F .6Ł%$l֢Y[,l`.h#*H_=ҙ<4:!-lZAcid4 >A A$L, ,EUQlm$P P%WU3ShTR! 'cc` cRCq /Hp#*7>=g,16ګ%=U2aH,NСݸks$s0-[#3^W#%vp?w^9;"HٴIS+Q5Ku*Ke=JMdKb2J_˯84;#iwREʰ6Iӫ{j!1Gwf!W5҆쵳q=$܏RbJpЂS E^FpbA f1P1df@) d(ܐ`w1T^U}#%9>T#,9z'`v$M#%@$n0̘hZiBRjaiQaf$-)+L0#*#*GMN~=fe+Rt({ iD"Ԉj2$G#,;mf$#*had2iw"2i#%~קgU~㼙"&Be_OBΗkX&`~L3ɥ}>ɤj^ղ`ژQu'#*Y;:ւޛ4^㩒Ǧ}Z7.+EcbHJF0E&URԖh(M V-,[m365)5cQE4lSL,mƑ4ɶb6AkFELm6QjHMSZa?KI2lHeB&p(fCDdP^6URkvoaQȩE=G_8l5J O.SC0]_\:,}gi#,.z%Y|pL05ܣv+r#%':&#,-ةz6az_ͧ9%UkFrޥQc!{ BP@!{9#%űz'Еn"#%IG2vI lV5`Ѥ,0x~ws@Do>_(|rzH55Tt="#,XOX&Ӱ1F '3#* >F!U[qTc\(Xʢ5MR$CAMN-QE1 5[]'L!BcDPvs&ڍiA$u#* -A<<z/k}m0Nq#%qG#zH%+ ِua%ۆm( 8Ql=ē%KڻOYyb\i5&ETQHo0;Y[3l>?reJEDXh"4ʛgb2 -b!CG7KtPDSŅDF(yZBWA\,ei 4 FjE.KF ~q8",UcH~!kL~|N#*l0ALG#*`BAjE2΄@ M 'G׍,g8TLSuQtX4!rm`#%p%D;$w ᆀp?#*c#%{qlQ.9]`fp6k)&oV#%JPSL~}yJ% _itZRf>{q$/ $VO xi2эCo#HTifzTV/}6yʌ3k1^!WEOG#,#B>R0p|`Җ%?vxQ4-f4I]^%]aIDR&>h1DIHZAyq+4ЃcQyw%Yk\ytzQNRcH &"NҔr޷ m˂Y3Pzǹ+.ƻaG#*׮xׂ6x"}n'xGcYdA'oY;#2C FhotǔH  <}{N], s #,4w3__لEI&}kpiRꜨb݈{ID8Sz8`LF 'ʅf55vFGh4R *2幠iX54?dװT5# _3#,s!q5in's$8#%T#,kٶ_W%Ar14=ߧ~o Ѕ#*b{ ?샘Q-b-T!$NVESwV[ HtpPAIK }b`D(˃1#,,_Ade.'S#*3ZPA}{rۊh)#%|f*h=}3J1Q5-ĨO4#*ҳK2% # T1)8Vȝ2LРFԢ5Zbt @k]jh=FzK}"K,99я#,*Rj˰-T6u1nYmfͪfR̶f4\Jm{4 TY#%#%9{u8'G44m&aF,GmE5Ƕ"U#h$ oi6҈c6HhWt7_Trsm#*AP-m6Кk(@#* XVh3Gbf~4h?~,#%I0H7-տP#%%+(7/hQ#,,Ph#,!#JQ!մƨ6Lwc^9Jn56bz5xl$*#*˭sh;,ZM]iViPc$}#,*ͬlJr(O <;b%HiIHK@NKa-v@ҏrH1?J#%$C;=,HmD[n#86fb嬴YMa}; Uݸruu]ݷ\]|=mA&}7RG,W?ч${:/Cٹ^Ivr˺cڅ  w#, €^n*&d(׼إ6\B×ciVTpɠүI.ýkm,6]BU4d:Фhi#u,_8ŏF錑6HeDl65rnZeynK$H̙i3Qv{*ޗz/}-L. bYf11F, 5)#"`c"ah7&Bhe@+R@( }E"%DT=VkހLV3[DHe򻩯V*mY\λN*fM-mo^67/nLc8A[ImB.-/۩Y-&ҶlJ&э#,,ͣK!QDmԯ]ubk<^w]nM#E3yo]hm*U扗9XdU,* LDag#*"W#*$Jʆ) z@m)CFf" w00Cp|DuһHPp%8sC.6iC">,\1V3ʚD|G#*"h80.2TBa -X\#,(ؚb-ՃCJX(F+LĂȖn"ӎ.lG#* #mRB#*dT!4Uk$ˋ>VԆHwa42M֘F{8h 6Y4M)adni栌㵤cz@hU+#,fCSb 4=AB#14ZzyB J= h4Z|>0H)AпlsQE##ykTe(ĆgI2jy*$RJn%2ZdJf0aJĴI Q6HE IboY ~1i Y+[Ҧ*1tYL8jZ{ۣ;rB~P)+7`F)<Un#*)!74mf)DTCZT!A#*"E]6o.SƼz_2. ҉TЪ0F`KVTgs{=zQ{~X*Yk,_lcx"*MQ hG4ƌɯumӽkU`)YyvM*v.sVԃ== չxf=ɯjM0K1^xt<&MyT\&pxxia]ѡjYs"s_4b'h'PIF_꼵q1-kq$F`D;7۰`aC0C1;mFPk 2ן<śL忕;sN'F 8](QGF==>z4SV$i~Kb}&כ±W 5GtݺYˆ3R\G(xW oegb*#,kFI yVgzǷ9E{o{׆IӮD,o-z66xjS 2m-GDVJRm#,#ai.TGbY/ƑVdvZ`URH-4x㥓x쪸U\ɶlmWi-vWvfWuZ+YF-#S0gu%f^ҪkS-ny抋UxvL1Ra-j*-Zd3;B3aC Cj5`Jl. j"!@-0P ,#%C ." YIpfl–)(OD߳fTI]֢Xk"'ZڊShfب2!QLT##+Jbil[ln辻\ #,>FI$M\$DdTD$>}ԝd9#% pbBkH6mi)so6hگ5ZK۲DYt]6vЕɬ^7kkMjuJ]cM?oOFBҏүa3(E#%ȁ*b mVo$Q_G9ށLg 36ՍjZj*U1Ti 1Ǧv*e24m)VQ6"Z 11@#,*,PP% ?y̦ᰒ#%E-M)b,$!G#*rb@^t}}mg61J$~|wj`S;Rɜ$x09fsG|M]dˉ9rr~CxA1Ƥi:à (ZګȐVjl#%/'HUz~L,eh^ q` #GęQӤ6rQ}:ZoF0ڥ4C-Q$p:>&&1ϭeՔD`k%S!K6#%|CpG8iyR`QKTW"_B#(6IȁeDc#%;d!|UC(0>#@,WtJ!1|!Om?3hmjENѿ r7 #%| ҵ-imRֻy#%AByܙ/נ'_EC vk#\Io1UE 3IUPoK9jn7hiKI)+]R- dZKҺNtK+6sS#,Ӗ̱N[m[jMIi6n̺NtSYuWRwub5EUC*"hAa*S#%ـdEُG<&P=nD,GsCO%L_Ba;ay>aAy^HU;An#%,9vt4o^iI"OǽN@_[m5Hb8L((#,R )"*Nw+* F!j#,ZklD@``104,ћyv/ 1#,TU5a !:m|+n{1#,BRdz[nZu֫xy[=5Ef3QFQ(iX`N۱R_ڗ@(O ֔KۏXT$U1[B!r)Vr!#,#%bTidi5٥->oh!GAXl)E-&eQ%mmR>GqShGV&L 4M0RD"peM"HZ^kzg\yTDJPŇ,5B#*FSkux#*oOb90a~dXd?@NJ Zi!#*mlA81HG"Jxx NI!2<:z;;#O.mh{.ZdgŅv(lI`j E$Uk0V  (El.ՕA{2 VQFZ0QXh,HJڀcJ4]NjeD+GW4^*W/k-xxw+mLdG[%4c :fTG 3 &Y$5*jFkk #%PRU3Il֍&Ek[m D 45pe'0CaIv1DП#%'FWW^kdeR#,#,V44ѥB7 d/ ]%D#,}$; " =1h #%bJ!P>#, )RY d=ZW+o2mg5Չ@;螨H0N2 =?D#%Ildr9 bG#*#*:~~ܭýϹY;&}+U5׿\enLpPFFA0cKOxrdTt43 Jiđ*D#*8ZmZ|dũz7n/T#* "yz5 qzo&pO;Q*u Q]FH"oW#,b(B@b#,TJ "'@G"XS5r0h>7VN /],loXǩ>M4`Ԥ%?r#%&DA3Cb|A8T}G4+pQ?#*MY;GRߺiTEtz%]}C,oo9 Ӥ*&!Q0t9"?{LdXB<ٔL`80Z)]AcA-"#%Pd64hD|> K#%y@xއB牯gm8S!_xC1È(4MiWc ^C]B% g0&bm$Lըb=BqMG+P{*h1HI$؛mq̹L6t-`K&׈("tv0~`l#*KSjpp_f!db@Q<#,|"2ŢŬbku-W7*Gs~:`d7RA8"ka$|20#*"Cp2`avr'wuƔj[iX[%RU]b3)%*fR!;@#0>--fE`EN!!' N0Cf(Tؙّ5#;٘ng; 0Vlє Z@qP3I,e[>;zD74q'EV =#% " ÑEI`BȤ8xK,7n.5:p(6gbNAAfJHj)<Ti3ѥN:y#,C[T+ HD¾l#*Dshň#%IH5J@#,XS` ;{b譜E@@$$~PPT1=;fzJ(ժ1(HOhfBnШ@̦jx.6y=lپ*ry#,pT*soQarzZ4G@fn2baJeP8M vo #*_rcwX{).<$M$Un|2#%_mA}ݬ'N!9@z6q(YᛃDf1tD7\~%uŕUR?L3 `mJILHZZ}& BJ!#*D$&~#.}R#OlI#%##*#, wOjUSl͕"EB3@%! 4RQP},#,Y@/A~*E332L&K% )`2hTXb̩#* ROsCPjkGx7; Ng)5pT1^Gt0ʜw|Y"h,Llz%Mq9$"~oԘ8(Ю6-V]#,#,!f$5l6QFG(8 s 121уĸ\{8G:nym#*[AY(lO[tEl_xq( !#,;D|3#9Ec8,}̝ P"2mEdL#*dh F`A6ō6PL#3EڹiRm977ItвTb-3\g7aVJ HZ@ @lģ uCPqXmj!β#,BZe^-̛rsS@ sſ&C0|#%ֆ$"$QZi$J^x(2+  ~xHS-[F,96?( QP|ŶE(PMSƍ4%fIA!Z*ًr2)yt-";W+wލ3 A&*GB h̀jYpj)#QI9q4Elc`ۯkɥv޺ˑOW*0VKd2x lD,X&"2R'*Bő`LA0%)H!mIu#,7rl)޷bcw wZ4r3G uc'9}@ڌS Iik(2Vh+Ủ`L.2C@=4adj0#PfDM1fA2#,9#C#*7[,`&opѱd`w7u|G4TցW d.tJ0R1S ^pJiZA@S0Y bIMSbFXktF`mcS͠.ZkBŅ#,uFҜ~:4t] $= ¸` M!ؚQDڊRtsH|Sm' n7bE!D#%gb" KF1H \@JUe{yolLXQ2*Lѱ1A+HH#%}YޑiJacT)%#,UIƦC$MA#,"c#,7|o%hQjm#Y:*5A=PHǚaLQ?u"Q ypЀy@v`SMa%MDÚw?pBMjUeFAE #*{H(#*  :;k 48"7Ǩn_0eV܋@4g@(Vb(b#qmomRwW*CPġa :HE|wFΧ5 9-D7lے w_jo vwG7Z}%f`9 #*1a6Zّ#%H#*~1bܭ^@`>Msn'E&gb"?+R&o"yr(dD̜+?#%pbp`X`~qOz6~>6nQǷ/D}NUnxg'3ӯ7۟jdmY %sLc/D#%ط!=2:Ȫ0FD;T3*y6w,26#%.cIL* ػ,,`@p`\t !;m`1B'`s7.BQ,RA}_j^6>0csmMs2x$d@DI6jߜN'@Lئ@bUd8iPmvV+'抽mxUv%zxsmb⹭uko&kt-[`7˜`.IE"!AiX!"ƑDU#,s=WHKr#, ' (&}zl (4 ^}OQBDȄ~^1͚xrx ҂{bAsbcZ|@I*+kZxB$#%J$W@ `26##, Ab]mVJ Hl#,\v1#% )E2EdO= AnY4#*oqZ||:`#*gES`'B c! $J6ɲX4aB-&&C+mhl[l[jm*lk5h*y"I3 "#*ȐapM cPyVXFFɐNKw 4*b(*@iIDbj#,XhheldE֊2ȫa TTlH`ŀ(#*mjܵftLU6 !DQ,B}?;ĀL l iחSUuևhnJP#*~hT~&jΟџMisEU)^|!:BvZ7BL)yp:L`!XD1Bū"A1|LGň!!5T8 #Bqnzu.UH(iLޞyu]^m.Tٙ{nm*mƶܵKZM)! )Jȯ_O8OmF#*|R?fj|@Ԕ:c#*dXw` 𿍅CIN=id gpWMSsr/o'v,vW]vFه$(8K]Bޞ' y[nL1}kŇ"8zm]qA{QDި*TSqHȃ#,E#,L@]U!wfɄEi!${5XP-V+.ea eVվ0hW(#^.G:)bos腃ggJ+w5鯕B}u=HF_qglGIgDTVJ6;zAӿ~.#vH CǺЖ)8LaUfg!ips npj3%*븡:zI9Na锚9ogO\DG?t2Io+)R|A+$=h%o<%ua0D#%h+V{+uDQX6cUiuZ#5 TjG l|锰A7D47'K8LYȔxF2lZ&<|@~.WP*@t)t,E1E*u/b&5t`g Ćp44QCWjG${5xkc9IKKT)zgh($tBs )[^ ycWS}YCr^5#,0;41E.=͈.([M+`;yVhvvL9}kC&A zǷf8'EC53̠X,*QXD##%!1J[0+F,ieE#*IgCH+:2ӌtZ@447dqB!#%\򱞶60.w{A l9s |1cmNN Bk5vW1Խ٭=V&ÃQf?/tD0b[.-ΜsTvB+([Kd%#*c=QܖmۋD!-ǤysJVM##*F7f6'7w7K<1?)ܼ&~HR dIˏGu͜Pg#%kpU5dngȪzK}΋jXͼQ!RpJ^EQ9z#,g#j/ k8ܣ'; gLRUCȯ6~P:ZS40EK:euk6EqyVb',5шS1R뫓= H[Dr`!u-}{xCGn,=cPv;y;kGKprV}7;xt ;#*46a w:Վ:vbFezVU!X]qj@yeLD4vL]r:]BQ*QJKUYT*.3HE5+%J=b6NlNĴ`Xks΃0^Q]$l8ԋL 謼2)#*JrB,ȸz8,#,hgF"v8{\]蹳d#*no‚,#j{Q[*CSn*=9LsX`JA? NҢGĽFg_ܗ<>=޼&Px@{K`g-5_R@m2Cޓypr:dX*dZ~!P6ʘRV0?˳Wc[Sh[iJ=XF#,A72X-Pms\NmRm3eL\+ P0#%a#%슭^rmFkyY0PQ#,#,*"J$*4_Cgeةezk-nL<_OJe} XMҼZnN6MiֿYV6EZ&V 揿V5H®U?(fxEJQ!H 8kiI0;QCږn?XpH2h*7n0ĊKjlc@eRkɠ!"5\*z4k)*0!Bxbt+#*&m6-™Vؘ#*bL`+7*=хKwLI$ BY'Oj)Æץ#, %a!Q05R,-nWd0#0BXFn<jqn$lhq,f#,#*#*fEư֧&f&M+A,UYe]*+-Y&nZreH!SR)pڬ#*XDaH# ND0 #*!bc |X6`d54 (".5T<0$eA3ldt0ɛ5&]JZ!#%lj4)vԭݵvxi*JpMgj4' 7Q>[9Jq(je*Xala|eo[w#,BF #\#*B´:@awm j8,`̃C8ֵd #*\C##*^Vѧ$ls/ɂat:QU$@0haAVB`&.,I0 &IɡV[EyfGo\KC.RʪF#0x*Gj1Wj1HSWp02b[ZrF!$c%@VʊMZPZ1&“fiIڙmdMM[4ZHٙ&jRT4ҦQC#*D"64ԔFiZ#*Hf2#3BFMk]ݍj^m#%Fk:Bb[vyMuv#*{#%Cu6cVx#%z~l`Il=sAp=Y '[:(6V)h #cmrV,ȓvGL6#AI+ X7:vu("-<3,vYijAt tnޡfv$IG"Gي7_ii]xy q_魭MZ-6[ESZ-kqIAIH8b*.R %#K"``N _imMZ'R3Eʈ?-Í~YtiV1Z*2-#,WYJBfiP2X3#*1 ƀ6<H%[>r1g(oo] nj!DLFDQbLL{C[rMc*˞4%U%1T#, X"dHcf\;NL?z``,[@JBTB.wmF5dRL͔eŕ|58f_&L+CMK4̔:2CD q "glZ1lT#*!i-đv\'F^paI$dOV]t40(IBz{ >ʚ>2vrڲ:yhj/æ:0`"=pd+ATe:S5](&{.Xe0dj%Hy>|<<C{ hMB5+JhsYSC9\PU$E#,n۟B^ez-9[-QV\.pk'؀14HDN4 QYRެEN/H ă Xwq<~hy|E'(r$?a:}9TETs*YKPTZ#L2,xlpHL^^ΡpfeMn#*Dr!)l#,fCQ;HH "DнJ-?vd$A>~z g"9?kLɝPY#,,1CypEx畏l0e=<*/#%CC4#*RT~o#*H/qK55FPC۝l,Q3_AݩI!+z#}Z;$=Ărח#e1E;)9JҪ]3is0y RBY0@7(0 P1 213T"I4vlKh]9Vp0̀!\#%lTeE6@[;̫(@"$[[p\뚆ܲ\Ldg;YLԈ#%kas94.?x|>Xuk:-CiSܾLxwGhq i„jS~/Ղ;>BFì߉1c2CEK:*RAY$j1%M9pߑ&1/P@7y[wE>z5xm;5H雞O:Bfb*.M.- vz#%ꙝs]O!+@cᡬ!xL6:9i*env1*@pm",`Һ1{lc#%m.GɢH ſU#,]hda^©#*#ɛPL F j&4W9H"ih?Ŭ&`](8t8A!!Ӂ\#,PExAZgM0Gy~G#*? jg<#,$ʨ&;+$#*ɍ Y1A`b1Z.EosBU&j$h#&4&Zly#%51XD[@rǟEBb}\ Һ2b4ѕ0lq F&=RZByNlưŇy4KGӺiͿ#,NF4?,~|kH"Tĥ!PQ?Mc\q {{›YBt5YKI.[Ígʔ!-1|v4瞵eljLC3&cثo%y-sIͣ^|z伖O#٪ɺb-Z>5S۬v"Y1;;mպ|\՚jQ߸V~Ӵe &G`䦳*5;k q#*.nP^<p鏆|#6.jGxLc""!*d#%5|,l+GR`4cbN2Cx|"!C!C#*lEAf\(mPIfZVau옵"ߴɬ6y2-VYf\j4@^A!&jJPLPfL#%tb@jFRTB#T/Usd14b#%5DN`PCOP4T$CXJ5DBѹ l &Hht b1`dCpCRTJH%PS.p3SjR@ˎY}T#,C   :CȒ`CT1vtvUt nw "nɒabIlKċ#*"39'l C$MUPjEwpӶ(П#,5/'ZXH^R6NS;/` \4u3*S)xqCQ6ه=hˆڨ&Q2̷ڟG*+R^K6wZ#,Yj ~$d3{H"f{*'M1vn^{h6CPI[*ʔD߉r`fpAUjR_kk'oE= 2.N폓irtuu&<#,-1#*BYM&UnMw)tZ'jNy n ٘uA0)D"{h#|;jM;}L=>#% !ditD>e.FJ^[):κK.#%Pc f4byVE&muzs)$5j%KJB"< (cF*#*IU#,1HeM#%ZiYFf#%'stk$-eQ' "*(rfQfAR0D"tC?A>O'ewr!*=p X; gG[i#*"cj(.As 8Ֆ6E4kB]|ĠPD;( #$6K9E_e*AVa-鞷[8ɳE,"k*13@8a9K7פ;I I)e$_Ljrs7ܙ1#,nqb옉s #%''2BkDR:&*eJOmȦwRby&Pj=F\3lQmG@[Lbm)Y&RJz[&ڒOzV*2#,B#,ZH"^Q#%ų, TIl!ɂH+n{ࣼ'emN.fO} nԝ18uT|Պ,4j$}_,&<:q#S@ AR* H 'pi,1V#*!e!$'WΑ[1fa2 4!OD4alaDh9TB+.L #,4vp,]k5yyM^(be‰ @$q^ÉӼ~#,$F\^ xȳҲ}n:&͍#*7LS^Y O:c`C‹r[mnV C썓m #r`ۧ=CKQ4YTYp#孒{m4z[]/o^&7/#,gO d#%8##*d#U"tH/. Fn)`C]lj\0#,ݡc;BŘ,(^:F7=(GǁD&+"}[]XGawXvO> by@FIDt}o x+ AH'tO#,zW~n@K y^6eJi)+2ٌ3P6[(*ۥRmk]1ڛ]KꯛG?q#*|Wq>;NQNN{@/`z#%#*<6L=$Hd:htA;PrUP|6(#,PL^%wΟN-wi}haƕeB!"^3#,l5.6^E<[4Ӓå F+ 5c:^,Kq4jφi#ąXI1aB)uo<\CM-aiȹ4L&LEbQ8fLu%0ºf`mFb5l.\#*4&D$CWg4))@; +#,ElwZ$ˆY.PBN])ˁi7O^lvɍ{&y {CA#%BB#% DMoksTzJyȥ#BR T%|ހ^  "E#*LbI>5lY³Krrء0M8=Ǹ{ش;/w*fQL{#K?9äBE5 vc^jQ#eK{쥭k,i.O&(/;!aN"l NP#%oǍ XaM2)X<˷lEd?).\/h2R, E4ֻv`dmERDW6Zm-[VFVA?RE6#%SZ~{}ʑ't{3,=CH|N7@O2~X*BA>s"H*l$S+FK2[4_"}:4*11I#*4EbsA$##*O QoM C>qNpG4k/VfM@ͨVVR6מyjmHm~-4~(g^=W.s .vf1e};N]ΏeebPxnBB "Dxl@̮SM&])Q<1aWZc!) 'fa^0gәq#,Pl#?zdxNbb2G猣8=L3A:0@a#gT,)`F"()ݛ̱^*ѣѵy٢(9AvA(V`q(ʴȤ ƥ.O_OWΉz zwfjF28ZR6'?M @p!xk 3i%nS-/ɏSNm~h\,s h(<ŋфț*H+b(5m*J+~#*j[ERj#,/k%ﺺ꠱"# e?#%t$b!Tjp [VlO,D7#,o#*þq/Iƪqz]F v ƦRь)z#*f!QCVu*ﶁ]c EBa؂XXG*'r_K!1&qW^ :"Jn3˪ah`FBjOLW˭ 킵 IN#%‚)-3S&#*s/ȲeF%iNllVИk[)od$f(R7"x//Qp(#*\buhapB ixyCp"c= bQ0"d*@os:N0r$ WI)1N%g`eBn#*Ayw14eп%N#% ϼԪ8vƇ]ެ+u4QUP4 j,&$Z5I,\@2~74loiDا#,>v)뭰uZ:3>( !l * cٳ!!yr3:hjAâaSyaG;oHDQ{0r 6^r-_v}s%l@#,Oۈ6@v yX@=D|B,\L(#*Y/<%@ߖ]vmiE")ٮ1 i#%?GW?~oOכW??7?_~uoK è nj;Js?@8+P*9#,B"n,o[/|/9$$Ϡ#%#%^d6ފ9Gu^mg$*j)wɳ8"=nM~a-#*-RiY#*vGǜ/!NfqP:Ѕ#%v̈]9&Yt/0S/*FZ4`+C9Ԙ&PX$FHq#,r57řDn./|GUZcPVk?,{0B Ʒ@$l2+pf#*7hxQn54+EbH)͆!ON,4֩0ۣIj"iP-qfhi{Qg0eBIcif~Q# qA>UuS܈; c݆) V"m@t=wܣonk-nl1v&,U(ߤ& i?V#h2 2xcX @쨈q$놫P{bWQ9W#^mˡ`=1ߧgTggY# H(RcmyonK&@Da# wˆJvV@R*xٰ!"#%2be2 0$b[ s?>>ww0!m(9fj[ɓnnm$.%DЪ#,ZIjJK$6#*+v#%:z .g|Ģn\`&|*(y-d^@b\%AJVP ~DOU!VjCה~] ?cFV2_2YH#B}#)_Q#^9˪>#*m#%W#%§¨"uHQl˼wƷKk#*Paq] 8.1J"Z'E'm׵<+|oSz4]{$a9P22/<EۥYeF-)zVצZRTZ,,FJڽм˔KI#*ѥZe<9L*0jS#,\y$KĻ o,lj\z#,݆0RRg(\,X4#,')tET$"rp& l"{fBrC#%(8MA$b@kvQB#, 4py*/K٩k"Kj)o+nP`y=97Zm֟y;A.x=)D>O//TɯJktX스X$Uf/f_A!;{*_`vEqM<:6sk;trGRgu:e#ɗuz|J8CO1WOA\>ژj Bog$^'s8EsZFYb incompatible changes -# minor increment <=> compatible changes (additions) -# micro increment <=> no interface changes -SERD_VERSION = '0.24.0' -SERD_MAJOR_VERSION = '0' - -# Mandatory waf variables -APPNAME = 'serd' # Package name for waf dist -VERSION = SERD_VERSION # Package version for waf dist -top = '.' # Source directory -out = 'build' # Build directory - -def options(opt): - opt.load('compiler_c') - autowaf.set_options(opt, test=True) - opt.add_option('--no-utils', action='store_true', dest='no_utils', - help='Do not build command line utilities') - opt.add_option('--stack-check', action='store_true', dest='stack_check', - help='Include runtime stack sanity checks') - opt.add_option('--static', action='store_true', dest='static', - help='Build static library') - opt.add_option('--no-shared', action='store_true', dest='no_shared', - help='Do not build shared library') - opt.add_option('--static-progs', action='store_true', dest='static_progs', - help='Build programs as static binaries') - opt.add_option('--largefile', action='store_true', dest='largefile', - help='Build with large file support on 32-bit systems') - opt.add_option('--no-posix', action='store_true', dest='no_posix', - help='Do not use posix_memalign, posix_fadvise, and fileno, even if present') - -def configure(conf): - conf.load('compiler_c') - autowaf.configure(conf) - autowaf.display_header('Serd Configuration') - autowaf.set_c99_mode(conf) - - conf.env.BUILD_UTILS = not Options.options.no_utils - conf.env.BUILD_SHARED = not Options.options.no_shared - conf.env.STATIC_PROGS = Options.options.static_progs - conf.env.BUILD_STATIC = (Options.options.static or - Options.options.static_progs) - - if not conf.env.BUILD_SHARED and not conf.env.BUILD_STATIC: - conf.fatal('Neither a shared nor a static build requested') - - if Options.options.stack_check: - autowaf.define(conf, 'SERD_STACK_CHECK', SERD_VERSION) - - if Options.options.largefile: - conf.env.append_unique('DEFINES', ['_FILE_OFFSET_BITS=64']) - - if not Options.options.no_posix: - conf.check(function_name = 'posix_memalign', - header_name = 'stdlib.h', - define_name = 'HAVE_POSIX_MEMALIGN', - defines = ['_POSIX_C_SOURCE=200809L'], - mandatory = False) - - conf.check(function_name = 'posix_fadvise', - header_name = 'fcntl.h', - define_name = 'HAVE_POSIX_FADVISE', - defines = ['_POSIX_C_SOURCE=200809L'], - mandatory = False) - - conf.check(function_name = 'fileno', - header_name = 'stdio.h', - define_name = 'HAVE_FILENO', - defines = ['_POSIX_C_SOURCE=200809L'], - mandatory = False) - - autowaf.define(conf, 'SERD_VERSION', SERD_VERSION) - autowaf.set_lib_env(conf, 'serd', SERD_VERSION) - conf.write_config_header('serd_config.h', remove=False) - - autowaf.display_msg(conf, 'Utilities', bool(conf.env.BUILD_UTILS)) - autowaf.display_msg(conf, 'Unit tests', bool(conf.env.BUILD_TESTS)) - print('') - -lib_source = [ - 'src/env.c', - 'src/node.c', - 'src/reader.c', - 'src/string.c', - 'src/uri.c', - 'src/writer.c', -] - -def build(bld): - # C Headers - includedir = '${INCLUDEDIR}/serd-%s/serd' % SERD_MAJOR_VERSION - bld.install_files(includedir, bld.path.ant_glob('serd/*.h')) - - # Pkgconfig file - autowaf.build_pc(bld, 'SERD', SERD_VERSION, SERD_MAJOR_VERSION, [], - {'SERD_MAJOR_VERSION' : SERD_MAJOR_VERSION}) - - libflags = ['-fvisibility=hidden'] - libs = ['m'] - defines = [] - if bld.env.MSVC_COMPILER: - libflags = [] - libs = [] - defines = ['snprintf=_snprintf'] - - # Shared Library - if bld.env.BUILD_SHARED: - bld(features = 'c cshlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - lib = libs, - name = 'libserd', - target = 'serd-%s' % SERD_MAJOR_VERSION, - vnum = SERD_VERSION, - install_path = '${LIBDIR}', - defines = defines + ['SERD_SHARED', 'SERD_INTERNAL'], - cflags = libflags) - - # Static library - if bld.env.BUILD_STATIC: - bld(features = 'c cstlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - lib = libs, - name = 'libserd_static', - target = 'serd-%s' % SERD_MAJOR_VERSION, - vnum = SERD_VERSION, - install_path = '${LIBDIR}', - defines = defines + ['SERD_INTERNAL']) - - if bld.env.BUILD_TESTS: - test_libs = libs - test_cflags = [''] - test_linkflags = [''] - if not bld.env.NO_COVERAGE: - test_cflags += ['--coverage'] - test_linkflags += ['--coverage'] - - # Profiled static library for test coverage - bld(features = 'c cstlib', - source = lib_source, - includes = ['.', './src'], - lib = test_libs, - name = 'libserd_profiled', - target = 'serd_profiled', - install_path = '', - defines = defines + ['SERD_INTERNAL'], - cflags = test_cflags, - linkflags = test_linkflags) - - # Static profiled serdi for tests - bld(features = 'c cprogram', - source = 'src/serdi.c', - includes = ['.', './src'], - use = 'libserd_profiled', - lib = test_libs, - target = 'serdi_static', - install_path = '', - defines = defines, - cflags = test_cflags, - linkflags = test_linkflags) - - # Unit test program - bld(features = 'c cprogram', - source = 'tests/serd_test.c', - includes = ['.', './src'], - use = 'libserd_profiled', - lib = test_libs, - target = 'serd_test', - install_path = '', - defines = defines, - cflags = test_cflags, - linkflags = test_linkflags) - - # Utilities - if bld.env.BUILD_UTILS: - obj = bld(features = 'c cprogram', - source = 'src/serdi.c', - target = 'serdi', - includes = ['.', './src'], - use = 'libserd', - lib = libs, - install_path = '${BINDIR}') - if not bld.env.BUILD_SHARED or bld.env.STATIC_PROGS: - obj.use = 'libserd_static' - if bld.env.STATIC_PROGS: - obj.env.SHLIB_MARKER = obj.env.STLIB_MARKER - obj.linkflags = ['-static'] - - # Documentation - autowaf.build_dox(bld, 'SERD', SERD_VERSION, top, out) - - # Man page - bld.install_files('${MANDIR}/man1', 'doc/serdi.1') - - bld.add_post_fun(autowaf.run_ldconfig) - if bld.env.DOCS: - bld.add_post_fun(fix_docs) - -def lint(ctx): - subprocess.call('cpplint.py --filter=+whitespace/comments,-whitespace/tab,-whitespace/braces,-whitespace/labels,-build/header_guard,-readability/casting,-readability/todo,-build/include src/* serd/*', shell=True) - -def amalgamate(ctx): - shutil.copy('serd/serd.h', 'build/serd.h') - amalgamation = open('build/serd.c', 'w') - - serd_internal_h = open('src/serd_internal.h') - for l in serd_internal_h: - if l == '#include "serd/serd.h"\n': - amalgamation.write('#include "serd.h"\n') - else: - amalgamation.write(l) - serd_internal_h.close() - - for f in lib_source: - fd = open(f) - amalgamation.write('\n/**\n @file %s\n*/' % f) - header = True - for l in fd: - if header: - if l == '*/\n': - header = False - else: - if l != '#include "serd_internal.h"\n': - amalgamation.write(l) - fd.close() - amalgamation.close() - - for i in ['c', 'h']: - Logs.info('Wrote build/serd.%s' % i) - -def fix_docs(ctx): - if ctx.cmd == 'build': - autowaf.make_simple_dox(APPNAME) - -def upload_docs(ctx): - os.system('rsync -ravz --delete -e ssh build/doc/html/ drobilla@drobilla.net:~/drobilla.net/docs/serd/') - for page in glob.glob('doc/*.[1-8]'): - os.system('soelim %s | pre-grohtml troff -man -wall -Thtml | post-grohtml > build/%s.html' % (page, page)) - os.system('rsync -avz --delete -e ssh build/%s.html drobilla@drobilla.net:~/drobilla.net/man/' % page) - -def file_equals(patha, pathb, subst_from='', subst_to=''): - fa = open(patha, 'rU') - fb = open(pathb, 'rU') - for line in fa: - if line.replace(subst_from, subst_to) != fb.readline().replace(subst_from, subst_to): - return False - fa.close() - fb.close() - return True - -def earl_assertion(test, passed, asserter): - import datetime - - asserter_str = '' - if asserter is not None: - asserter_str = '\n\tearl:assertedBy <%s> ;' % asserter - - passed_str = 'earl:failed' - if passed: - passed_str = 'earl:passed' - - return ''' -[] - a earl:Assertion ;%s - earl:subject ; - earl:test <%s> ; - earl:result [ - a earl:TestResult ; - earl:outcome %s ; - dc:date "%s"^^xsd:dateTime - ] . -''' % (asserter_str, - test, - passed_str, - datetime.datetime.now().replace(microsecond=0).isoformat()) - -def check_output(out_filename, check_filename, subst_from='', subst_to=''): - if not os.access(out_filename, os.F_OK): - Logs.pprint('RED', 'FAIL: output %s is missing' % out_filename) - elif not file_equals(check_filename, out_filename, subst_from, subst_to): - Logs.pprint('RED', 'FAIL: %s != %s' % (os.path.abspath(out_filename), - check_filename)) - else: - return True - - return False - -def test_thru(ctx, base, path, check_filename, flags): - in_filename = os.path.join(ctx.path.abspath(), path); - out_filename = path + '.thru' - - command = ('%s %s -i turtle -o turtle -p foo "%s" "%s" | ' - '%s -i turtle -o ntriples -c foo - "%s" > %s') % ( - 'serdi_static', flags.ljust(5), - in_filename, base, - 'serdi_static', base, out_filename) - - if autowaf.run_test(ctx, APPNAME, command, 0, name=out_filename): - autowaf.run_test(ctx, APPNAME, - [out_filename + '.check', check_output(out_filename, check_filename, '_:docid', '_:genid')], - 1) - else: - Logs.pprint('RED', 'FAIL: error running %s' % command) - -def test_manifest(ctx, srcdir, testdir, report, base_uri): - import rdflib - import urlparse - - rdf = rdflib.Namespace('http://www.w3.org/1999/02/22-rdf-syntax-ns#') - rdfs = rdflib.Namespace('http://www.w3.org/2000/01/rdf-schema#') - mf = rdflib.Namespace('http://www.w3.org/2001/sw/DataAccess/tests/test-manifest#') - rdft = rdflib.Namespace('http://www.w3.org/ns/rdftest#') - earl = rdflib.Namespace('http://www.w3.org/ns/earl#') - - model = rdflib.ConjunctiveGraph() - model.parse(os.path.join(srcdir, 'tests', testdir, 'manifest.ttl'), - rdflib.URIRef(base_uri + 'manifest.ttl'), - format='n3') - - asserter = '' - if os.getenv('USER') == 'drobilla': - asserter = 'http://drobilla.net/drobilla#me' - - def run_test(action_node, expected_return): - output = os.path.join('tests', testdir, action_node + '.out') - action = os.path.join(srcdir, 'tests', testdir, action_node) - rel = os.path.relpath(action, os.path.join(srcdir, 'tests', testdir)) - command = 'serdi_static -f "%s" "%s" > %s' % (action, base_uri + rel, output) - - return autowaf.run_test(ctx, APPNAME, command, expected_return, name=str(action)) - - def run_tests(test_class, expected_return, check_result=False): - autowaf.begin_tests(ctx, APPNAME, str(test_class)) - for i in sorted(model.triples([None, rdf.type, test_class])): - test = i[0] - name = model.value(test, mf.name, None) - action_node = model.value(test, mf.action, None)[len(base_uri):] - passed = run_test(action_node, expected_return) - - if passed and check_result: - result_node = model.value(test, mf.result, None)[len(base_uri):] - action = os.path.join('tests', testdir, action_node) - output = action + '.out' - result = os.path.join(srcdir, 'tests', testdir, result_node) - passed = check_output(output, result) - - test_thru(ctx, base_uri + action_node, action, result, "") - - report.write(earl_assertion(test, passed, asserter)) - autowaf.end_tests(ctx, APPNAME, str(test_class)) - - run_tests(rdft.TestTurtlePositiveSyntax, 0) - run_tests(rdft.TestTurtleNegativeSyntax, 1) - run_tests(rdft.TestTurtleNegativeEval, 1) - run_tests(rdft.TestTurtleEval, 0, True) - -def test(ctx): - blddir = autowaf.build_dir(APPNAME, 'tests') - for i in ['', 'bad', 'good', 'new', 'TurtleTests', 'extra']: - try: - os.makedirs(os.path.join(blddir, i)) - except: - pass - - for i in glob.glob(blddir + '/*.*'): - os.remove(i) - - srcdir = ctx.path.abspath() - orig_dir = os.path.abspath(os.curdir) - - os.chdir(os.path.join(srcdir, 'tests', 'good')) - old_good_tests = glob.glob('*.ttl') - old_good_tests.sort() - old_good_tests.remove('manifest.ttl') - good_tests = { 'good': old_good_tests } - os.chdir(orig_dir) - - os.chdir(srcdir) - bad_tests = glob.glob('tests/bad/*.ttl') - bad_tests.sort() - os.chdir(orig_dir) - - autowaf.pre_test(ctx, APPNAME) - - os.environ['PATH'] = '.' + os.pathsep + os.getenv('PATH') - - autowaf.run_test(ctx, APPNAME, 'serd_test', dirs=['.']) - - autowaf.run_tests(ctx, APPNAME, [ - 'serdi_static -q -o turtle "%s/tests/good/base.ttl" "base.ttl" > tests/good/base.ttl.out' % srcdir - ], 0, name='base') - - if not file_equals('%s/tests/good/base.ttl' % srcdir, 'tests/good/base.ttl.out'): - Logs.pprint('RED', 'FAIL: build/tests/base.ttl.out is incorrect') - - nul = os.devnull - autowaf.run_tests(ctx, APPNAME, [ - 'serdi_static "file://%s/tests/good/manifest.ttl" > %s' % (srcdir, nul), -# 'serdi_static %s/tests/good/UTF-8.ttl > %s' % (srcdir, nul), - 'serdi_static -v > %s' % nul, - 'serdi_static -h > %s' % nul, - 'serdi_static -s " a <#Thingie> ." > %s' % nul, - 'serdi_static %s > %s' % (nul, nul) - ], 0, name='serdi-cmd-good') - - # Test read error by reading a directory - autowaf.run_test(ctx, APPNAME, 'serdi_static "file://%s/"' % srcdir, - 1, name='read_error') - - # Test write error by writing to /dev/full - if os.path.exists('/dev/full'): - autowaf.run_test(ctx, APPNAME, - 'serdi_static "file://%s/tests/good/manifest.ttl" > /dev/full' % srcdir, - 1, name='write_error') - - autowaf.run_tests(ctx, APPNAME, [ - 'serdi_static -q "file://%s/tests/bad-id-clash.ttl" > %s' % (srcdir, nul), - 'serdi_static > %s' % nul, - 'serdi_static ftp://example.org/unsupported.ttl > %s' % nul, - 'serdi_static -i > %s' % nul, - 'serdi_static -o > %s' % nul, - 'serdi_static -z > %s' % nul, - 'serdi_static -p > %s' % nul, - 'serdi_static -c > %s' % nul, - 'serdi_static -r > %s' % nul, - 'serdi_static -i illegal > %s' % nul, - 'serdi_static -o illegal > %s' % nul, - 'serdi_static -i turtle > %s' % nul, - 'serdi_static /no/such/file > %s' % nul], - 1, name='serdi-cmd-bad') - - def test_base(test): - return ('http://www.w3.org/2001/sw/DataAccess/df1/tests/' - + test.replace('\\', '/')) - - # Good tests - for tdir, tests in good_tests.items(): - commands = [] - - for test in tests: - for lax in ['', '-l']: - path = os.path.join('tests', tdir, test) - commands += [ 'serdi_static %s -f "%s" "%s" > %s.out' % ( - lax, os.path.join(srcdir, path), test_base(test), path) ] - - autowaf.run_tests(ctx, APPNAME, commands, 0, name=tdir) - - verify_tests = [] - for test in tests: - check_filename = os.path.join( - srcdir, 'tests', tdir, test.replace('.ttl', '.nt')) - out_filename = os.path.join('tests', tdir, test + '.out') - if check_output(out_filename, check_filename): - verify_tests += [[out_filename, 0]] - else: - verify_tests += [[out_filename, 1]] - autowaf.run_tests(ctx, APPNAME, verify_tests, name='verify_turtle_to_ntriples') - - # Bad tests - commands = [] - for test in bad_tests: - for lax in ['', '-l']: - commands += [ 'serdi_static %s -q "%s" "%s" > %s.out' % ( - lax, os.path.join(srcdir, test), test_base(test), test) ] - - autowaf.run_tests(ctx, APPNAME, commands, 1, name='bad') - - # Don't do a round-trip test for test-id.ttl, IDs have changed - good_tests['good'].remove('test-id.ttl') - - # Round-trip good tests - autowaf.begin_tests(ctx, APPNAME, 'round_trip_good') - for tdir, tests in good_tests.items(): - thru_tests = tests; - - commands = [] - num = 0 - for test in thru_tests: - num += 1 - flags = '' - if (num % 2 == 0): - flags += '-b' - if (num % 5 == 0): - flags += ' -f' - if (num % 3 == 0): - flags += ' -r http://www.w3.org/' - if (num % 7 == 0): - flags += ' -e' - - path = os.path.join('tests', tdir, test) - check = os.path.join(srcdir, path.replace('.ttl', '.nt')) - test_thru(ctx, test_base(test), path, check, flags) - autowaf.end_tests(ctx, APPNAME, 'round_trip_good') - - # New manifest-driven tests - try: - report = open('earl.ttl', 'w') - report.write('''@prefix earl: . -@prefix xsd: .\n''') - - serd_ttl = open(os.path.join(srcdir, 'serd.ttl')) - for line in serd_ttl: - report.write(line) - serd_ttl.close() - turtle_tests = 'http://www.w3.org/2013/TurtleTests/' - test_manifest(ctx, srcdir, 'TurtleTests', report, turtle_tests) - report.close() - - except: - pass - - autowaf.post_test(ctx, APPNAME) - -def posts(ctx): - path = str(ctx.path.abspath()) - autowaf.news_to_posts( - os.path.join(path, 'NEWS'), - {'title' : 'Serd', - 'description' : autowaf.get_blurb(os.path.join(path, 'README')), - 'dist_pattern' : 'http://download.drobilla.net/serd-%s.tar.bz2'}, - { 'Author' : 'drobilla', - 'Tags' : 'Hacking, RDF, Serd' }, - os.path.join(out, 'posts')) diff --git a/source/modules/lilv/sord-0.16.0/waf b/source/modules/lilv/sord-0.16.0/waf deleted file mode 100755 index b78909927..000000000 --- a/source/modules/lilv/sord-0.16.0/waf +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env python -# encoding: ISO8859-1 -# Thomas Nagy, 2005-2016 - -""" -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -""" - -import os, sys, inspect - -VERSION="1.8.22" -REVISION="0bc65eb9df72fa60c81f2f272efdf79a" -GIT="x" -INSTALL='' -C1='#,' -C2='#*' -C3='#%' -cwd = os.getcwd() -join = os.path.join - - -WAF='waf' -def b(x): - return x -if sys.hexversion>0x300000f: - WAF='waf3' - def b(x): - return x.encode() - -def err(m): - print(('\033[91mError: %s\033[0m' % m)) - sys.exit(1) - -def unpack_wafdir(dir, src): - f = open(src,'rb') - c = 'corrupt archive (%d)' - while 1: - line = f.readline() - if not line: err('run waf-light from a folder containing waflib') - if line == b('#==>\n'): - txt = f.readline() - if not txt: err(c % 1) - if f.readline() != b('#<==\n'): err(c % 2) - break - if not txt: err(c % 3) - txt = txt[1:-1].replace(b(C1), b('\n')).replace(b(C2), b('\r')).replace(b(C3), b('\x00')) - - import shutil, tarfile - try: shutil.rmtree(dir) - except OSError: pass - try: - for x in ('Tools', 'extras'): - os.makedirs(join(dir, 'waflib', x)) - except OSError: - err("Cannot unpack waf lib into %s\nMove waf in a writable directory" % dir) - - os.chdir(dir) - tmp = 't.bz2' - t = open(tmp,'wb') - try: t.write(txt) - finally: t.close() - - try: - t = tarfile.open(tmp) - except: - try: - os.system('bunzip2 t.bz2') - t = tarfile.open('t') - tmp = 't' - except: - os.chdir(cwd) - try: shutil.rmtree(dir) - except OSError: pass - err("Waf cannot be unpacked, check that bzip2 support is present") - - try: - for x in t: t.extract(x) - finally: - t.close() - - for x in ('Tools', 'extras'): - os.chmod(join('waflib',x), 493) - - if sys.hexversion<0x300000f: - sys.path = [join(dir, 'waflib')] + sys.path - import fixpy2 - fixpy2.fixdir(dir) - - os.remove(tmp) - os.chdir(cwd) - - try: dir = unicode(dir, 'mbcs') - except: pass - try: - from ctypes import windll - windll.kernel32.SetFileAttributesW(dir, 2) - except: - pass - -def test(dir): - try: - os.stat(join(dir, 'waflib')) - return os.path.abspath(dir) - except OSError: - pass - -def find_lib(): - src = os.path.abspath(inspect.getfile(inspect.getmodule(err))) - base, name = os.path.split(src) - - #devs use $WAFDIR - w=test(os.environ.get('WAFDIR', '')) - if w: return w - - #waf-light - if name.endswith('waf-light'): - w = test(base) - if w: return w - err('waf-light requires waflib -> export WAFDIR=/folder') - - dirname = '%s-%s-%s' % (WAF, VERSION, REVISION) - for i in (INSTALL,'/usr','/usr/local','/opt'): - w = test(i + '/lib/' + dirname) - if w: return w - - #waf-local - dir = join(base, (sys.platform != 'win32' and '.' or '') + dirname) - w = test(dir) - if w: return w - - #unpack - unpack_wafdir(dir, src) - return dir - -wafdir = find_lib() -sys.path.insert(0, wafdir) - -if __name__ == '__main__': - - from waflib import Scripting - Scripting.waf_entry_point(cwd, VERSION, wafdir) - -#==> -#BZh91AY&SY'L~#%9#%§%h0b'\yn(#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%5b+KQӻ}2׵[wg|UHEzcmfmI7w}7N{R·n@#%{;f{]իk6z'ˑϵzwf3vWxӛ}ہ >.}|㵲#,޽8#%#%#%^#%}@z4Q#%w0tH#*=vo:#%T W.ntU@'J`QLCM R ܥ{UJ+#,+֗Soۗoz{{;R;k]:#%]3]weןO]爯{/7gS}Vƺ]{ӣw=#%=#%ЮvQ틷n^Jyn#ݒ(:$#,NP=P6x2]EнwۑDGמu;=_zݬÙO!ۜWGӼ}*oAꅯǏqv)Nŋ7/G]ݓ[׶vv۷st6n{ww`87Wӧ#6N}SA-ns.>F;6VKϻ8}ysӊFok1M;肊#%%AE@#,Jmiʎh=-پ=NNnsu|ilnNalVwwݽS#%#%g#%#%n_y=|Eǻ;.ӻuŻCn3ݣ݃X{}/VՑǽW8Gϝu$vϾWԛ#,==0ﺺ=w/=,6z޷9Y{>}Z|㠸ڥ#%Ώ]vxSםސ;*pw'o w{rwwZ#%RUP-wp[:Iެ}zxMw}qϾ'=wkcU@#%=Y_c6wuy(__=n:4an_oww#%9l`V&;khl*5A[7invo{r&#,o;}x\ r8,Hr:ϳfU]qKv{TN>=pƾ.{)#% #%4d4#%LH= h#*1#%4MzCS"x6hhЇ0#%#L@#%  &IL&)=@yOSF@#%#%#%#%'RH#,0?Z?sk\ƻ5Zv(|*b$2#,E&BB" >&?$HJNuSuNQj76o&ӘfIH̖}b%~#%! ؏;Lw-CkiYwxê"8]QU3u/u/r\A'ݾF0˛jҭZ-U骮nmVʭ9nQrVWkZUhD#%,EA#,"kiZuXjJU[5df%)fjCFRYK2$H2&)FSm(bLQ#*mKERPa(%&F#*#*fe6$ci#%Q3H؋E)E&EYi & e2)(IeE,K& %$Q# 2hkJ5mJIc) &L&R ٚfԖ3M i"FML)4dѴ *Fk!IҒQQIY RIMD fiDiD*iHA) !2%%#*jH4ɡ"DfHđ2fibI#,2SI @ƥT1dhM @#*ebJ&3,LT&RIґ5(clXR1,L$Bi*MFH*!H IHS6 $RX!bDF2Le 5LADHD%D&bJMY6Z#M#Dla%e$ D-K6b4 ei,MM3%d&2(3YeHICdY#*2&S[KIYDFIR4ɥE**(PQADĐ"$ƃI&HiDC*f[HѬ)BHd4iH4$Ri6d12f6I6Te5YP3JbE%d)$*dXSL h&Ml&#,ء&YJL6ɒ$FdeL ɩ)T٢hBdPLHA4ȡC13Q,PTEK&4L3FLfY(CٰѤf6m-Ue0dAƋɦI&ZRb1,6Rũ2#*K0dҁ#*6Z=vٍ!eh) RJk)Z#*%!1HIh4caV"!e) Rb6T&%X6k&Cc)F)566d"F3)Ub6YB6U1MLJYc$R#[&TR-S,ȋKMDbDV5L6EeDXa#Rhch(b-bT3RXL(#*ԚM%jTTLD5(ږěF%YF٫Y46V,&e54I2ڦRRTiT-S1%lmiFkdjffdXA5e#*jQDH0F i*Abfh!)5mIcQ&%ŠE,AiR h`%2l%)2Ca,,difQ2LLF نd"ɬXQ42BcLScIbLRajP24@R%m6Iccb"61Mf& `,#&ɒRS&fR[LԢLl,&hCcRMLM% FE2l&R1Z[4جfdbDQL̚52J%))"FlI@edؠM k,%4(i!#hFJFE&!2XId-2$ Vi$ԅLde)H5Bi+E4TѢ -%60HXdYJIP)j-EЅEI"VdT&Ƃ4EZԨRj5Y6"")M&YMIRĩ)mԑ$Y4lFd֊MI[R)(KRI$2H"DY,ZA))фJ#,ĔаZ&k1R[i"C#*IE"eDmH(4kKJmf[QlmfH#,T1JH KBh)F Q65cJ[Yhɨؐ6-X5c$Ԋ2iebV̱%#T,lRj+(Tk%1Ie*k(V6R5(dM1#*&(Tm "i KdddAMڍ[EhţmmPkb-SR%E4VI-M6lLlF$)&D#*621k y7oxw^,ddl#,gH(BveY!iӚIOj#,=auJ4ܖ#,W4ΘwpCU}i$ ~?&2]QTȥ܅;ZD I7nppo@™u 'M˱)&̝z8,b:.9>r2L)*cmWEP)`S5KLKM^tO]MݶcZQJLu-ͣQ |T b&JDdAn#*3MF`3g7gC¤#*j2*2ث‚ ի0 5BS#,#,OV?r@SVZ e~9p욏т b$L0̫H#Nlgvl{![@[@[R##= Mwnt]ƊK!I$Eţ▼j'ƪ+_6B2[-"lPz$~4//S80E"#, `K@QE2 hrQ*N:W.I:.[{կ//^{D.64|2]x'vMa8YOQZ!SMKh0"4#,Aa?<#QUV(b sUEf+U{j D[){5g#,|<9;5{R#,JNOuzwfSƉf0 d9!Ʒƥ$"R?K9j&gT3hN衐2K[c^ib(E/=o{1%%6_Y0|Bmϭ`#*KHߞO?ݷ/hTfolm& OO'4&Dx/G[^V)Ռ#*C^]׸mQ9d.b屪}Nm\̙õ櫺1EHMWv:l_ 9a"BIh0 c#,& *\@EbL^8&j޻Ebɫ?^)CŠTX]T5zzFBJmIQEϲ,OˆE]k{7C#%k_cr;7]+K>+|)hp P,Ԓŋ%G&J_c뷻CWQm*"p V>͹̞I[&Ǿ"#, O+(T-24#ʩ-'GJ }4CD4dL,P⍶W#*X7;90Rsrg<8_X T%4C#9^p?(­c]c&Gɻb|aʊ7oݮpxܰ45`ʬSW5!E@#,8h=zM,047.g]=<P00JmlJCJ7m_] x5eL1^w"gِHnr#1Ҿmi$4gý5|qޕɿ'nm&g],)^ eQ\Ae w%}zyu|?}~P=PD*l-Ylm,='g2{gFw93ndXJ{v_ҁqO#,{O&G#*HvFUNn~ϝ_Sr}0xEN|BS48sg~BH:9P\r5xW@@z,$@Q>EQ@$Eotآ] P3xQsFM8#*WA58ҾKs>Y0lpyi&y}L#$lqϋo戇eдWqj>_P1٧ɛ`)UkuaLAa&QDYM宗tù0j0]8άL\Kgao1;wMmŧ7B=S#Ipx_#*ox7{x1HG̺ѣR4f_?u6Xz0Y>w~:8߬7HhӤ$I481\e#,,yē7CԪd#%Dy\?R#*UMXak֗!"̺4J96ЋTQfS!lvjmqLb!ٴwXp,o#3519xF#,MVj&'G,r8ͼozM4J`{`.sͤ4gTv#*RW#.4wK?*Dvz=T"#x(+ka\{yrYq#F"?h)zRx#,:3tq|g6|ƻn C8yx}JDRg|V1Yy:6mO#YҀ=^YYj*jRQuع2B锻:y&be4U%5ZJ5D^.%kQ#,JOCJW󼼔LgYC8M98dg{h9LnxLde+|t3iя:7^2I_cߙYr]Tcڲ[L׿bZR6ybVvQ:gKㄡQd8#*2u"m3#*W|{$|zk>)GY$4{+Ę∳q)&|j^!h)LYYM `qlK?JSɉDAD$XNr~g'V74',Qe?v@~[ǎ=Lx)]9ZXM.{r㦛nfɒYc/#E}rQ|Y6UCهކj'^wgVP3jd/Gcï1Wb`z6{`ca6Hxk.Q~#%pwYKCa2.:>޵,gC//Cť}(B}儰'd#*~!aF/9]IB*en[1*$fK+RjjM4wF"s$h#L bcZAAHZS!Dw`;%.ߓN] W-i|WW׎Ue%6ߦHr? #%1fp"_SeLwg\\3W~]VHB Һ@cmߒ"Q75juGȫJ=#*=*~^sj-Ɂb\>]\8엲p (E1Ϸ>:UUTx#*nوo~yE+g4D[zp] {=GpNiܥ|3405+h^4>-v)8T/ݼwiOneLG#>1k7=0dbq #,16@XqĹiï]$vR\K91#!/(jFԞ(mys>xho٤!(^c CeWdp#%3fo.Zi||fkvLj$dE}Q#*>W|P1?#*ih3ֿ#,g4ixvs'FgGJY!#*:֌+ׇ.3oƚz`HC=i.veŪtZ4vH}zU^RD -C jVB3җTyEĩB))\LG= 2Vxo~%z&M1;5#3O$cʪ5} kŶXoneږ;7*dǏlBIT_9;kɡs(oedD{acGGxr^f !n\x#]v};t8"UED+Q÷EWF[4XzczjԪ̙Iq眠zS6{Qzz;HXZt{/O<FOgP` _#%;#*$ qPX*ouoceNk5bu#<z,Zڽ=^_=]3#*\WoDύ7[6Qb&bF\{2Dz$Nef$Lb#%͙t~hVEnJl=G4u4YI+"Bȳ3iq H~CCHlGlL1]r=/lR##*KFMQbhF2x+F#%\dfcT`yi]"T>{yrHkLy!@B6VJ{*H@#*,KГe0x60h>6UWj,c#%# i$FmݐL'j ?v{sʙ#%FZ& ~ o;6kԱvC'ftç ʺ65"Lf㭫#jNJ\UyFq|~y],V*Uܰj)^Uwݬ8&߲}GG^xx_i/ ת=9SwE 5i:Y&Eٕ:iZg$|t#*v,MhN ɛ]O/I)?ϗxXc#,I>s2@9Fm̻w-#,!ÁI|0(u idBabtU?t,7C5Z)1UMQ =Di6xj9qWQ٫ itH`~qlPezvQ>s/?<[3CBT| .ՔSy׼ᵝ8xdWFl40\Ns*{ϖj#lvDꊁ5e{[dՕV5?|clKJY\LA4LO1nJhN^ڟĺtZ=#% &j 98u5x1#*N)#,SM ñC2)&6i)`h8eG͞l v JZl֑6%PTxBr-=;;C[l;Bޠid0tmxJY:xKqَ"8\mQ~V}*ĄൣiAYqd׎=3D)͏;C~WڰKl?!Lj#%REMc>Ig/3;Ě{ٝ}8V_-U0lռ{Xi|0Ya1QRꂪ0iI9mF^6[C_]/\v:IRVwo.gyzXt2JSb$$$!MlE*v\Ii61C{p^ѺQ;7(;/UT#,TG|`H,h,X3]vC-tmvZMiΙ#C-լ-#,Y>p#fHkn4Pђێb0úBǾbӡM~VbXL~$ Yb#vQIŢX+(!#n#*\_~o3^,2;yJ-ijbexv3W`8/ IKXwjpq33aI L6QjbwŽԹHu7iKo|si^E_»R~ZHVJ-'9WYYj b>=Qo P0h$Wk_KmTS$٩jMUb7e ƑdH#(S , ,Hi}՟cʅFЉ#*Z3#*rBUկڥs.–$U7bw>!J r % @s#* ofCeۯV56q'G/lx^ng#,o%R":d}Wdg-~9F,黦\K V)#%J7(ЦDe2#,2]qTjeV|ϣKnDC]FeX#Uu^{QDtVrV(.AlOsRNe;O3wۑ|J'sRO<:w69ſu)h3Lx<62@F3'ZfsGlk;h#%5Y(94!#Ae\5fl|C*#*I%^,`cgF#7>?EACy!8uDC asH iqi9s^AaN8!Ћ\$g,-rL3swYwz^`@R%IwhcK^n"06[lC-#zV6Ahd[b{]関7 &1#"T6MTTQQdYdL&ʫ%-dE3dW,*+)PȰL^6듿4mpJMT/}Q ~ߪNngױp52]#b9ﯩT6Av26Mt|wX#,#, @%)1qOT҉n^I.͎nmɢ+tW.QVsmmk[E6Kis=0 67$}(#*1sް& Dߊ]an0:{kҨST&DΌðnT#%c0 hcΉsħD[S~B:1=CA$l;0va+9j?{`wK_30cNnbʏoʸSLC\;#*vl 뾲ݬ`?žcx'M.'g>eBlyIJd9_p!E$}S"w徏}0զVcIP># Ȍ A QxcUL|V捪14H]zFAӒc T)X ?s`90[oM%g wb h`c*oEVYG4|K! #%gpe,fbC6T'14_scF^/:#,JdD_+qϣy?p۞iݭ)eU"RS  [1dUN]ݪWoߢv,{O3oL.x@-8P0XE WNAߛGDhC$> 2hk{5Ea[s_kE(hkCí#gZ6k$[mA.DJJ>%:at*MhLxk49*$h:̭`+ ch+(KBsqG(| Mhgu&録Ij#V-{-.:!%Yw96?a[aNIa\H&EWCCWzKgo'aԷNC"Qdk#*1~,*="[<~V3 -%'emoYi,rbaxBP]KQݵvɜƓBΏ#,)D>Iſu_Y'˯ҫ #,'膊ɈGJH(yDĐuۣI'{ :P1>Y>tb_=h#,x%oɧ;)*Cr^+}>S_U,_reǏv#,{͉_l:5#,D:E[+cLo#*}dPS#*'Yt8u#,.0nK+jwL'E?5>(_[Q{Za7V£irX@UOǻELPɢyAO]>]m|z~Plƣ_ft5zUt*)~k=ݿ*g姇,5.8] \#їZ(WOǽCι<~.?-Zokr\#C^QeȫwŻ?G.?fPjߜl-7[~FӪ_5|^]zw-o}Z[N+}<RhRP>X6nY\.6I[*'|6[谮a!?[9s5X[˗M+8\&Q#4؏UjvP$pXC ԫ.ZLr7~1aj>h!R_NeWΆ'^R#SuT5yL~o[}^ W-Q>lyϷ K?7N玎kny5:y וBOtq)1vt Q1Wgp <2ZFf*m=߶I?H\xȞPV|~-{5#Ț/fHey_WknvoYSoßοI.MDžݦnYwiY-{tmٻ^߯-h}9771vovYy{M/[2.{$}?tS.jт'/u7aGik_WT[Ssw*ST>qOv>Qa<:#,Ta* 6àWnx3?C&9(B*pO d1)mhȇIя |1nSxkyU^_L]|m*^5gs+jy'gח>«oåmv3X^{~*-x<Nu@jvq^LڧPgJ#*P9[+eqB T/[WRڞ/ݭu\벙^ɲJKVwgw,:mY%9Bwr*7[s#,vwHdIZI'nsKo½\=-ݷ||)O9MRp)|[ThОw+G,*8/BJ,ftn+#繛%1sf^y0(dGLg0Mj'cG~wY#1'?Q -.-2-褸P$#*Ku-\koS,G"Qa#*s4j'f6]M>Hb߮[6_glB#,գlR]Z=iA]+kd5P&Km*> V󷾻MD;Ko4i0\abn7pPVӇ/c g5 ]2=_|ՁgW}"EVWU{jлwd!-94tCGKG^&:Dyj%!pFEY$ǟ:~ط>ʟ y\Њ;u5G7?Qq/8)͵`O侮MB|>9%:"v~atc/?]#v=iDt;~b1=3x;KVc=LVOѼHڢ4p*]˒ #%h4F8TiAQQ6;l魵\)jVaHhXi4#,F%ca<ۣ*)}1_ӒۜSS#%j&a#o- 8m:Gx3Y܌ 4hԓ?LUզZO CZS3a12آ5#%!=ySֽEv2y$ø؎J:Q_=%G2JXDiErRU#,2E?CoU~r?#,vc M]{q-4|YѾGGV{6%=ּrz! lgoxQ2nۢQeDDwVd9^0.x/7>H&kMI#,T}M^~#^}ɚBbr6kϭsu.=}gכ[o.JO)JƸc?槢5ԹD3Y̎/#,Ym};?ouk(~39trh(Vp@Z8r=ag1] +GJtq,n/LɑJ JI#%h`413 il7]LIUZ5VL Z2Cv%u ^6eU@kuF00T(Q7ZPdQЌm$9`4fZG<W&la/5y7U([8IУ:8o;S3#,FBpNB6#,VInB#%E ƖAb,I 1*8-5#** CAJQ#*V5pN-#,E'F—(LRۊX #*qi@aDQ,d7))˪i$fX6uATT.Hl6=(B`Ti3QQVb:QC h&Z'%xFE=q:|K"U<#R<4cV21g Ũz${߸ً¢[wm6J촕11|QqeCtw߳ġHΗw|rhG㉳7j5֫(48hٳ+Oom[țf(8Qn{`LmkgNA!T{<9D#ff(td@eU_eQӞl|/:nkV6wP<_!#*q|c?sB(ىl̫Cѳ_X@b7c8|ܔ`UB $w"if]ixVӴO|"TH{j͗jjܶrq4Rxq6S^VE.38ȹYXƪוe՜盼$t5 P")RQ0Oȁy*jNAK]>> h8rwf. z( J@j.hPuz"ZH-'̄,]_&cW#*7(!Y^Bݤ0ڞĄ}Ƕr˲̢i[\#*fR(3Sw$Pґ4f嵞6(KsmkM^Kk5#*]["U~1,#F,$yXzNl.ćV= MxhʉZDh-C,*Wsd#,-gwGp姭 TU.ِCEQNL6(#,ɂAMRv6 vb'PݑEcy1C{}/˷E&4lr_/r8}[ws%/7^.p>f lOCjqxf~kkt#,#aԏk.4R&܊R#N@"F~2T;cZ4!cKki xx/+TF19.,H6ZoKEAc#,P{h`֪Y\뮷m#*kpS#*&BIʋeU_$~'e(tyY#,l6fz=Dt8u>KW\IrҁH4]gz{[̾#,换+O]S &21 16QFѤq&$CuAW*-cKĬk;٨qG/DA d %2-B5wPTСSuT,A/͐ͮ;lqj]e"wCAFPQ #ág#*>\$w&fsb-b92/jh)gB @(v-,P"e'yJ?(w5%Ng=%3Hmo~G<('E)Wj69)L+7'f^ HK%,n$i.NHx-g\&Mc԰#A2B#,2tN֛$m٥JfQL]JT[M#*Nit@<'\,q̿{#,M@򫱼F鞑tAa4 H̒CR3ku?'$*@@"o"3%(~MfJ`#%#Ar[[E/+tE35#*0hK9Y'MӀ%Y:bG-Z#*tG'EaN'(EI䟻`dBsg{96 ;<ۍm|s k>0HBIqzxyVe)ƕW2ho[jCdl|O 'Dg\mFwD*7)E[Ųo#*xD; (LtN0޸d dۘ'Uf8mb!4C]`xdq.YpjaGE#*} 8.6uY8Kd;R`SnJsI&IXT4Lb0|#,"G+~8_Mp^A"s*d{bPw'H0bsxZ|/IߙӁr>ř%#"1|٘*ZoЇc;$sV3z&FD^ccpDю1_{~yf^xws.[`Yw0Q5Xy93zgA9`si^i/״s#*>\u]]zQLΙy(v]ӤԚdd_Je/?3~huWafbu6_j"`1bF E-琇I7r7o>RNb#:M#b)D6ccjkX]_49BP3v,F*#h#,զL+γ.vşO#*N5<^avawuVBbnxk5 1'hQr08gf(tpxUqi{=?FݫٺQ$YD(#w&WR6﷟^,5;]lxuU9vfJ@һx(U蝘zqJǟ\Wl?뢦[?5#*n~K 7ܙACJ jN#%g@o-\ #h>_cfPMt<_Aмź{ K87wjR3' ׌gS;&N>flj!RS#h&= W\oSćD?ꪼYT Ea]Ŗ0BQEgI<{Qi| ZoQD} #Λɿ|wbM3ص/)jΑu؆+QxNy{mfv=DJI_p=d 8$:I &۝pkV(o!l] jE8*eQ*ZgI.C6Ytٕmur;,Rq2voe5D?U>[#? 2I 8*yDbyP k=n4F &^k#,2C9&MXsc-0tJps#*oMgܲX&Xj4|+9y/Ae)Ao21)P^@[aTc H|n.b7_][н@"p*9Jn^G|`dӹw“>T3y2v)r!B-#%y2.ҒŠ lYBPǚ$yTt T#,hRee#*P#*;Ɵw%w12RRfx(1NFl[N ٖ: 6Rif#,9郞'*ܼvWSfh^bm)DL#*pe,ۊ}=ڔ_C#*foM>-xC'#QPf!i8zlӾ#tZY] [;k:[̯n3;.V:Q$xAǃd%.<6(^?=vDi03|e,bH@Ǒ='kP[{n>'aI8y)#k^,X?e7wp\(Xiw\CL쀺p[>$B]9|sϴkvHyBG#,ilфȜ#%\!biMzA=5_ߓ~gqwFGMǤDc(3\ݱ.}> ,CmtRyo>Oljh?^yQiE5{'XM!B߾=,䃉tՌr=/g|1-ZDZmkZu}{/͜q}돊 #*7{.㈧h{a`σiS#*G@OL㊷ޕ#H0W &A]Z|"Z;V5o#*{ё i@$ D3E|D}x\5(1G]E?LZ\-rL fWE+鶰C{UT`R9)π|n,Ie;q1M#ˎ{52]XpxE-$!2ΘK"9;bcW Milz d_q9Nzev)Z-OsUT?^Y`YQz#,S2[> ePgVDϡܳX#*/'QBq6Q#*g]d6&B#,1|>Y9y: y59Xʃ|ѸFW=wI$_?)BoD*YvxGo=dU)'StV>ޖdKyPPcF#,/YN[VxA#* m|2Ø~hug>ַ 1ǵy0>EvgyOz6v;q 7vz1\'2;d>r'v{-q14Ltpo㓬:eǂX2u~ʫ-*z<Ъ;E!|!m_cQ߉;E|ZaUOc-Ư?~dx? %8_tcm5]|3툒tƷ~&XngO?4sB:Y Z^q~|L[U-],o{8G5旭f e~XLjc|T*C̦ey=!ӞR~k!hud{g۪>~ yk8niGswۿX-#,-:`=qS\[6q|aǿ|g?TQ2xdRaC癏1P|1js%ԯW"kuHú$%а[|\ie&Drek3yrz3zR]HwGg:C8qC^.\I߯o}krwx#*Geix[DX8 "N1/M58S;0iZ\;i_z#*˹~)ZX"c:zp-쌸m~Ň(G/蚾>fo"U7$_IPl EMVx̠^#%BRd%+JOh~Bxw][Ev>^/:iƺiFJ;?}J8r 8ϙ72.1ltZn嫴d}9p^x?nzQעXIT5T wsmێ4#;R#*8!{rO/)'M\5PQHTb VqiL?)Zhz5p,:0ֹj+7}cɿEt=VS$~#vXʶSunq5.'ދu+DU|o`'qIoy\r|,ٝ1jr;c6Q#[vZYO j- LqW/O@wUud"j<u[f2K,iUP݉&xY⣋q(je cW1U!w#*ӫˑ(c+c]g<˚$n綹H) ;3yO^m7XG!ai4ٕFWW6,m4N/6a݇XoA]#*2Cf UvcQ[g琓(=$*a#7ۿ0oo/]UDžM/Jc]v].V[wQ"zĕ?i/a7D9G3#aͶ=qm%=S؊\Ā&LO ^U^bώ>7J~>gpt'dDMcj4,,1=μLlZRݔ&FEһ~p_h; S<񎖷L8lk߁8!= ԙHUiFa$NUáPA A>?u--Y?+L2o#*F3~~xtT F`G-G Q#b:jN3KɈgLvZ0;$jR8f;]%H0?(B&`j^~|`@Æiњ.)E55Xx=ٕ-bљuU/P+lԴ++VcrT2ʞ#,/2Ťo\(jHUMm=|\lÍ04h]KY\bk0Qwc|`.Y0DnxetXNx馶7.|~}#*ON81gsߊVzzb s]M=ԉנ/GFS4jq#,}{B,P͇ 1ރUhλ?Cߙ &^IL|ВCfLxC5HCe}Iy8 wx@Ȱ6r4Zy{/ʓRxNpdpVŤ_gѦ~鰬98WA RկIM鮅i~4FaЂ<Tu*8 J6&d&9#d(mO~|]Ӓe;)t:o0#%"#%B#,Զ#,cE2Ⱦ$6TRdI;nId;R : jX#,֏G盠S} X&{Zt?5 N% Ndt|sQMEL贺z3գdoq#*ܽV5c0Q|!-> F[&ɧvJ9vd `]*㖃m;i%t6ǎtL~,IAjӶ%1ԙZXwq(>TVv :#ʻizazId[\/o)[k9h9 6$#,~h'd%+rh [)h3ۄ(p<\eR J.Aĭ]dHdH@kvWsNf{}Eȕ}<#,#*Ma&VR)1؍? F"_<x4f +&hxig߃zDBO.;ba{5]n9q`tX!],fkI!CL\|gn#[-&[HVTbD3 RM'EKN[48gVvTuɄڡmG9jbU7 zr}sM6 muJPIQn:Y^-ufaIR%{$id:"^mTmӦ=Kg.7N&0mDxuGo%԰J3M!9)M ~EWίIq3r'E$W|>;W-s,02vHCu`hl%_u-ϠcH9BB~#*ej`M2и؎1p+)ʨ@9S2]M5e W9]Fe6Sk h!FEp&;=v7>%Di|:M_y]W۞u'$ktdhЗD&1Uuy"Kf;QoyA;ݏDȠ{lR{O/=P.#*Pa$Er֢3}}R/g|#*W|u!ED"Q.'mYqj+\iڲdH F P!6sFT3.霊,mqۉyh0$_1CK)Ic#,KN~ϏFuw:S]P' "`ϣu (#w]3·54)4>WP$IkMi C;wFsGC~&pۃ*:aw?n~w˜E#,\)۪ȰbL!JoySL~qNy k#%R&e.OyߑwIϓ IZKKEMQ^6Z90 N7=I%*0ATy qMe> usӔ}XC ~i'T:G-9x_qS\O&SHFFDg#X65!ycz#*x|b;ڊ4|rD4Pz{]71 F ^m.DFOumKV;7$$Z4:$$74D#,Γmk%zypLzm4ӪݝNځXw0ˆ+=9=|{dҿf{!sH!IwAWƘϯ&!KsûIxCM-E$QQ;#, 2a`/dBM`j:XM#*FZC(ġ2K0cѥ쎂7,%(hY?n#%m# ڄIP.Ҟd#% Q.)*`?c>Pm7IjKݯe~'C(9lx;/n BsjJ+:! Bυ&CCS"<8T\g'0uNUU@hI~֙/{sU]gj(97N xYʡF.>p'~ 9AT#'v]˳h]IWkQDw3v)mIȳ)Z9T;A/ x3;A##*ei&({!]D\ը% bgD8.6NFIN:5YBG{LhYԇ"0$xkxqwMoqPÝ-Ҡ|#*O;0MA;R$$?Mv KƯun#*,ش[EfU6YG߾׫j" (ḿ0v;plnGFw#*v9X[dnAl-8PH8ԩAE\ ~4Y0霏CTWŦB툆DDTqg]{u.s%c!ԡhM@\CGf#*էIu!!QwއVOlÍ4d*Pw-[X7aDGtދLlUv1HY .o#& !O 3mnl,o;jBwD=M2432'E=4W/D @F|Zktok%Z*-ͶjZ[skՑ!?Sf"b* S]Κʊ7jD)l*$H_D3Gx:JrBS[*$3#*IM%R2f#OH!Ղƃc,k'%Buh(ϔ?+#ԁ"S#%RE#*y~q^Et81}ĵx$}6 U 2)A-DMJc`D$j>rF(o#, ar;ɞA#!L$?/|_YۛmmF#,:.ADd[-2 }fW5֫K׶.#%lH$n5My(s,a<0UaR8Nx_}#%ilA:U;Q,`8Iрj]Pۧ^?cdk<#*ddN-!d) 2 P~{hiw%{&')zhobdtS ֨T{m1Ƅ9DOY B057Z#Mð4-r`#%V1LrV^& #,jtΐ.s\`ޫ[s|#,#*8"C'+2,Fj7Z]KMs5Db՛^:LpF#,ʹK7̢v6xu1˞懌*>X8Z`N1 T@8 L ,č>|#*4irj^2A߹z7lKƃ_^,UX/Bhˆ1B?7D dY1FvB9eGHM/;GAV;#,gy[]Ù}Omoԟ^2ӫvt,:gzyF#8_ud`w/#,!Puttg1͛l}#,~ݎȒp4Pt@0P#*mg$Wa]6 KҎs>'-yxݔRiug̴~\m1׭t.UpNFˣ,:!ӿLB DTm)#%ɆGnirH4=l! Lɘy$dNRBX?pv_ߪUVc柚T[QA%lB i94*ň9 N'ZҨ8&68{2őMua}$.NpM\+5s+XZ'K"H yJOF}eULR$i "NO^s}u.1KUՊhS*7bO@p=ߜYnhcߎg31NE#*pH#7{peI@:!ӬV5K:o%z{#*#*@)4Vzxi&IɁl#*hcX(6t/,lr:Kw:LtS C(wzt` 3HM iۊlou6-4Rzn,Ȉ #,V_#,R\˜ ȇ)QH*4@2b*G[pN-3:6B.L>mеaA5`xԞnoA`x#%jZ;b|M3] =ZE{a!G֨O!gȱ -cO@ s]#,Efv&܆#,'@αr3~8|cp0ɌÙ0~_mߋn?+s#,ȡb"qBXQ,?'#%j-->{_#%=#%e'#,'@hm2)mۋ#,!#([#%b8ɚtDbY|c}(ih]Q/-]J&6+WpjpICdIBR+bbxsJfmb7du}!-wj̱ (o(Gx0f,EjJ@Qa~Oes7<jk'H- Ak#*fNIE  +~~u-_-y4HI?+YEEz%#,gHƩȥCؕ%:륵PVY"[l륶U#,F(K_F#%& t qk䖈%k>}U*ɉs[ГZ)DFdY ?mM#*=/1ń&b*(PoYiSwaV\JN'9!I %%!BE,u*+_{]<.W_ۻ1B1}T"7L5}pB |DD2SPG#,๵R8tRJq#,W5sk4oػx@Tֱj:gm??~ /cx_uO#%biRt+S T/@e3 p?4;*w?ֱٷ;$Q13a(hJQ|S8s"#vu{m <ƚ]sbUv5upg}z#Q1=6;\tI3ܘh.,W^C8.tȦcDdX9οf}Z|9o6Uji}agWTK=l'1sS@ͫI`*CNgd9jRisU  UZQ~nOXƺ7q,_}.[?r%".dx!8o/Te:& #ȍ;{}Ts9ٷ(iIr]Z:;{(U ~+d# prU'7΢FcQmG)$#*A%u>m?/]S].#*X5t6"LZ2471}ɸhO9|+($ڼ]ɷ&&w3}7KE. ?d;C8^1}+ow|W(2\'o3z_q3ȡ#RPP 9uK꣙i-37f>sCEߌПP&f`H|Gū:Q1d\,ݔ^3!wVTOcJv.7!ff#*INRz9;ZUxUc<*cL*V|(UŪUU:N>.V]#%}. ١i6Bʟ n6|ƤYE.pfem75L*׫B:1ř?3efp-5#,YT/oǧzSJ`}οԁ(GQ/?Qo\yʻoxf_]Zg"Zh>pEiStOj ӥ#u^G|#*bQxBMکB_&Ds84c+i^c 387YKX&~Q)AP>N,F~Jݓ8 U=Se1%|!"0}7I8Ts2[뜄T*>8q!L%tVXF^_er#*8t!ǩ[ιϊ.Ǵj?;,K/QNcgJ;\};+ d}ώk=#*Y=l';S*znX|9XB:vT'fL?7AVpyq~]Et\N^x4!k5mAJDt!b:==|&_T8湙.O|7`Sa: w7XS$˳yn84voט'`IFvūˏn8gḄqQq;:Ot*ddutE{qR5%b_^yxk:tqaU%g3y;1J,|ŝ>3R=bIqy#*^IzTd;&gvG3] ׮}2a,*U% ać"ǜOG]ŏzoU՛8];af7yIptRƋЄDgo;0Նr3>j2'iTuB6TCb vl?d主Rr2K'\d4<0_Ie6n3Ɣpp89x($wX~*g˺#,1cze1ʍ;οEXI$*ڑHlMjT0+xq&MGeD9;w$#Nj##*}/ԷIp/̿7ro.SF?K֌ΛGZ)#,IYGbqաQW㊐~;{UW.w6d_+,_oH_h#,} 0o?vf=\g;Vg}¯lmA[n1SG:n#," ~Y/^a3N$[KU>Ny4!_#*eߙw3H/8y>WU;#UȘKT/80(Nczr0^\olf}VN 3FM7P$@?}uY̻iȉ'#*[COq+ڛ:vV7!-Gle%$4[NnʁHtqP#,pTeW>g"Ƽqᇗ|uO%2ΠHP!Z38m~3kx3abyn#*FhUC`a= d^;zqh)IPccɐq-Q](@jqo-\o.o?1J%\xv^n .<͒F9٨tfq#*a-8m:YD-!0$ɆJ Q\2tM_x'YZ@]=[&L_DQ.D@v$, H#,pP#,0Q$#,C$-V.E+V &/(S*vgV1}MI;\Vxxq^2&O"^.p]D?srdāg0%zv fZKgh/!c/)hm'DQyy>#H4nkjOukǰ鸯w$fb_ȃ;Je#%F$G.iXWULq9g5jjeCQa.;Z_5hO3aH2Qī2/tFˤP:XyjEtSev@Xh!pTo?Ga &&-˭bsD7>ͽ9Ѵ $:w5?^ɓ㯦LVF?2Mɜtd_pq,NVLqkz)@$y}g?7Whs~M"E#]焇wk_()P#%Gۛy<9\u`0$}r>0/:J{;ԑzޏċKqf]E?-9G㎠Wg3y\ע=zk9>*'W`[VIwJ1 nIaqIu`B>;/:TVp$$Gpq3 #%#Z'܉иu=ߙmM1uT3#VUfCd` ַq*V&.vҕk9B/YCUf$;1-֞jC4͒E85OR80-Gu㱯ŝfǿK^8zӅugq>Du§^e6mӋY^Y ݷ~#RJI9m#,Hg G\vj~v٠s-lpf+GS]Ffy8N h@g%緄}2sæ\ /#*My*{0͗1g޵-'@߅rG~e2[w׃vL!dei-!tA&kS$Z~_|]о'W 1Oçvݥ⊬2gur^3'Zwu-טb;S9yIR G*!Jt5-5@jI{!gj=w1<ʧw5qf;([32,.E3h~ La>+O%6Y#*2َJ8PDt]>y9u_יNkwlx 3DiO2\&9|7sΒ,i[b8z[soN온B&1^;hib>=5;vꢈs:2H;vlzg99QB-#,^9TfŹ^X]cW>EHB-$c.FJGˋY^ͶmAp+- Idz~R>DJK $a1s^"#%!{h}k.N| @NRRm~]0AG[bזVBVV։#,M;%>c olqL9Mx/KNoW#,]3rk:5n979{e5& mrjRoD@Gi#*TqY;N*!$>(osr(gj0qXHh߀ig㙣h:u61gv2O&<&6KÞ֡Vwg\p`IcAIj>Ͳf|/F5+X[l2!J1bHfpMT,b+e}47oأ_jvrvf}1F#,ꎝ lؖxk@x@wӇBnGGI%0#Pè!(ʇdymo2힛^iH9'tXN)g vT&%B8Iw[Ĕrò2x¨{ R1~+ynyM6F#,#*gVt+WV"\Ņy{Camr2 |oQ>Mu'xe8lz;9o7,(q0Y:nsM#*lq@8YONn+!wvS1&;{YDPA{{d0mRcUW.jMKn(iѕblS2r"O3Aal!Oy*0(jQ.*,]p!ip:9 [Vd\5cW7!Aj^xq{흹'ҷra=܌Cڝi0 U7X2sM"/!}~cs1/}zݘO\r]^H AtbɂF*{\vVN|]Jy[{z#?L#%Vwq*\SVK⬲Y~_wm_"rok +-W-ffq'ՙ0`V\A;N!U^7@|W@v@ :#,29J\ߵV vx{k#*` #%c9V" hAd%T;U}@?HѼNI7%m +6?mh)gn׻Ϣ;ˤqa6A♁@hgӪ0A3tc0‹lN!s=]dY7'ؐd=X5 ,Ly `Ǹ'/pvS|ϱt6C@숍{CpMdrcr>{ S0=(5 ?A}ރX2}_0lO:&ؽڇ^_#,qL͈N/WOI#%@AW_6jIZ2=j[,-Tu9ݐscN6q*tàfH?g/CcCϫ:fwfޱ84#,bys~Lͦ`Z+[ԐE_%,c#p,4_r֘BQ;!r.J*IGLR%!6= &|=^&ApR;J9O#,iU[w"3ZǬdq:bؼm!"p@uv~"+#*=~ä^'4W;6@D݆x/<'%Ab&#,x=1jQ "p[LRr)#%m!`>";Q/iG.CAVG#,H6gaTȏGZf039)w @$L*'C#%šP4i=qbz5S}4yD9@0 *(#%1mS %ffj+caoxfM{zI vgg-UD!偅?caʌ{B S&!#*!áa;GX#*v~P͓O*HBOx%$&X.W[5uOګߖKxnލ-a*ԐTk3XBď#\!oNI*7&LލfqDK$ؑ0&lz2V醻-@R1(ɉfT45ma#%8ߣ!F~hׁ)XtmdhkEy::#*>#*v?^~vffR"['HrI$imRU+ACxʨܟXtM%- l/P) ~%.W~AG\S6L$2|lTE٬\l"]dL#,Kq5H"QmʂQc YIMgnBI'V\WaF-;Ymg@8\mr;sb8}`9|N{i^CzYI$lddx߹~tnҹF *#%ct4py!#ɭ/dɖ>a[60H Ȃ4|$ AODAr9= N cYJ)oϡkqi]6o9%ڟK Dd`?q|@dn _5:CG+ xx+|( !o ]`DY> \#,7 |ڝs#,}C@qHmr1DHJBlm͇> ;P#*>5Ŭ@7AI6,~(zۼST9JxNq|eG5)@^g9;2Ϡ6[0b ~uNqE^ina[DiHMl̳֧Kqx(ȡSo<}<-O8Ǯ7$ 5ѲG>lA :#Ou)o !u}rgOhx>G_9\08mإf&p=n@0$/dI#%#%Dr؁kZ#%DOOH^#%q&!Y_wGGa_m0Vx~##} d/1^z#%intu20}#*L' 7gЪv=ǬQahҶDï8s 5Ze375#*#%+/!p?PtJ4R&Ȓ b%FpD峩BHbu@L3Ԣ1ITLH`lk[u,oJ'keԛRlE^  $t "z!qfIDDjTUYMuiǴ aYQ4 8ΗR">(q8=x~TfB 4UJ,xߓ1 {2/56n@.5BԯoI"DEՖ5#,цe&j0'[B5Ycl.{?//K=+<>j2Sr-B-W1W0QCnA*{#%c`C\}|^~#D 3i%d(ca@}Ak~>N e4Ԙ#,HP rf#,!$8`08KGY&PJfyd3ȝPD x2#J(t"0o871~vo3Y!,Ne#%#*&L@@*gÞ0DthﲏPIC(jlWNthC"s>#]* AY'{~(T#,ibd'4_'}?)?aD1?w/)GRFAA߻`&E{!n1F#1c)8oHiasR;'= 8#,v`²# 4@4ԫEn&XJ[b\"B Lü~#r2xHs9ЩKS[&a|u(CsWD7ۆލ#%#%wRCY.L($ 9+}[t#*|fމ, `;5cG/U#*N8hu߈&yԞAVU \0g7,;>yX0&2gLͤ_|(L˦6rYUѡj=t[咩b%|{H`@!zf%.T NAM RDCT1f1DԊN#,"m4lel˓߹u.&)i)lBj(lN˼}pe<ctg$Erkl%Ȁm &Tn=fZ]z2(<`y`CސXCx"eԐ~5?;ԕ#*9Oϭ4vjPF#*(~$#*pn4a$cq#W#*6aR 9.P"&fjh>F0MĆT[X#*wErȇnñ2/E?9MLS#%btvZy[&w'唇H,yzdPv?qX yyX(˸2 IO'm+-& A#*m+]5PHS"Bs2*|||l+>-~SP}bGe3@7ׅS5ܭ6?;95t nQ0hf6 Wm_ocv4rד?VL@FL+Z%,Ѿ#*A#feh93bz@p,w#% '&E^:`?/$6#,1 'u>Mz^3)#*#%LT(6yè{4#*GῈNf>a.tӖ!'L_#Ց|Cx#%XY#*^C[o`@.dA f&ܐs{po{.C`xoj2k}FM[מ#%PI,fá&X uLHA2XObu>ς{˓㊉6O0hu>DM}vB>HCyKv0.?&KTLLYM.[ƦzdutjO0O0[&P.v]fx=`*裳So{6&EYQ(f,s;zZ1R}Tĥ+' aŊk0ID;K!Qe(E#%]|D`Kx|z F4H ||ψ#* 0Li^NM,罿 4mͯߌtgؗJ=qZ~|{҈!W*zxT;$O\'aJ#* 4 Vn#*4Ę5eH*üȪkZ4! i&#,JymxӷV*Vb^,cT(#,6 zywm-xUIS8rCc%\(Dham!C8CP馚ŋ4I?`ªItES=B!UCM3wȐ@`ۉ`#igI1gIf DP;mjgl8ġ&hH1؂t쾺O<ڐ̃c~gȧ E7dAQ#*ѓG=L]n6hNqpՏx~%+z &(߿CA'SP#%^"@-N0F4^jع_$D(Pw=P͑c捄ܙ˂f+n'ji۾9D X.'T/&`C?-ЫHf`7vLqn&DB j;NW|/nq)1BA_>媮;Nh̺M#,qdpbԡS.NP26,t&#, iA`mO5Bqo \*@!e7s#,3kYA5ĹpzM̞osa)‹يe(+bJqV5;wU[0lWKuQ=(G#*/[&JD診EyR<,PjOAϠ]%G-Ff^OfDn3'MF?g\o[<4}AϾd)ѾoHXDאy]Q9߮ Uē?(1`, yiqW˸eH.1ќ.P7 m B5U c}s0(%)NQBW*aҴ}-Z_X5k#%V19auśiHt@ȹAz}#, 98#,`XcW- 2 D ZlQur-lvhA0!0)_v!d$kC&ZpJ(Z&ґ1MnО^3t.aMy]#*gFGLt,qȵYs;ի{0/j"M;# ALE@qLW/:gBX;7=GLLz!p⎮LN0 2& rey߉N&6c v/#vP`?#*0%g {&K}*26L,;p~_g+#XI?,dW. `;Z0Li Tk?#%%mhj̈́ӇŒ9`B#y\ygcE6pQ'6x<\[XY#*x*|gCѱp6MaUYJ/[\q2W rEWpz!SGC_ !IwlPWaT|!g"H`!سx>h`TUUy-U+IVu6i H17 OOPS #,J1c{U|>̬MQLX4@lܐ5Xp@EFf쉓ٯ}5ٕbKY=#Q&b n0VhQU ` 0aa"Ҧ-6#*$IEܻATK(LJB6ˋ=[a:z56nJ8r23XQ q׮1oȎrҮwH?eߕ9ܐ/l.ٻ5ro:Oݾ4|K껿-t$>ÃHvܣ"cUMfHh³엃!c(l Be"w쪶_$bPD.Klui[f#,uo-lwUAS{Wԧ 󐐒IV H6@LE|6DI+{)DtMV$x8aDeϙs9 a洺6#쒍FfXlDK!#){i[jڝ&RD׮X!Aqh&,e{Bt*QdBX>CrFz#*0p$rT#2}QFD@DhH0 |5"d=G?n#%fk%0cݶ?Y`|'0k7et-rhh-ΰk;&׻~?zXUZ!#*AL'.!w/uN/B_:K"@Яg޷'k36{2"iUM#,Pk9G׀#,Np#*6+vkvٿKX;.3KchwåJaڭN9[ieVݗ煮w7P`m<IFNM%桻U^LPq?yt|T٬x.|` ~rv>Ի,N{ Ɓp9Xκٜ(1=M(aEˠqS#,ZS1pӦq&m''>[ #*+e )Unb H۽"]ͱѿ0TWg##,S(N2߹n(b%Qȉ:#*hY!wH_Y ~w.fE#ݕ {6fAfNSx8TGԠ,#'F>.W' vbo1(<١ޜć+NQ ,r8m' tmQrP&WK`8C3GlP r#,MCRi5(,w.`kx ҃SC`tH;|g,Le(mv)=&f4>yݦޜi49 PPH`_\P q%| {0e! \(B : a))d(Ša#,*Tzs;Q@=R`0JlTڱJch,)#%=E~ 3F@BҀzxʉ4Z@Se/Z7KBCi#*.ᅯ4L;tX ߖ|=Ivlw4v+cjuۦ5zUmHֱU2*Q%Q+6UlSl5QY*5*1ň! #8grTh/ DDA# tKAꐔrv1g}|h59+Nˏ F0\L#* {B>@A°r`fC|t-9s*E0Ca)dYMCh,Q:86DeT"&-tj.C .#%g׽lA@DAh%*2vc`֕j iE6ـCʀN׽D}#%%UDݼ t? ">9Add@,ͷ]ƨJfW6S66M@~ \Ԉ%Dr*I>(pC#%,@<@|gÙ.}i[0smO50#%!>R78m#% ۼ=akxIx2<(D{AI96d<Y)t3la7Ӹu?Mۖ%B'1#*:v/>14T֘F]w/:h(z>7l=xxE\T엝s]ka%lMQ#*"ȍm0Du#*M!zPІs:m5,4#*w".Jz?DKD 5Y#%n6PIۂ.A,ua`I#,2ZAU#*{'٥Թ# pxH@@r!62gX͜.FŁ DRUڥ%-4gLZ @"#%}&VC>`Q#%Gswy~=0=F/6螮MiJԡ1JA+Y,Zf3ϣ8n''09εMωӈ5'$v7F[Da0k]Q% YJXC<'L!ʾkwŐ=7p#%tW3ʇTAaLnx52{[x%5#,A ;JU -{h";M¿Vu턔E-3{.:rym`'N.|hԤQd)ʔ!(QTa#F#,&j #%$ҢXD84҅#,0#*%[TR D$IQ$"71Cc=krʏ6CV8>՟;i{y/J$qq0yda EkRE"Pϑ+C'<(Vub(R<4yͻ%)mH&LCHH)vMF%?u}#*kWɝO)-k#*GIߵH#,0#N!UqSRmbQFC*OQD6fxwB;,uIZj_[,8C56tE4i#, q#,Y*)*LNΕpowlTLN`\;3f5Π[>:PsaAXM+9!U>;eЁkd#%h!6`ƅ#d!F,IhXf![dXX+rhY2LHLܨ#,d,9k/gƊ24YD1W3bȈ#*zDTmJV0R4A#,Jj 1a =H8OHS$L=媦 P jESJ#,VqKcqX HWƪ-{ڹ `obZxN׺v}~aC%򔦜$)b#\;}T%;5)(۶ʅA-g4c L<X0ߜ[F?3Z+/#,eP#,/;ތ7ǚ~xR9S>Hrg1Fq%axx\K c2{<(#,cpbhZ[R$=|(M#*E(/轠5*mѲ0`ބNes(UID^?a#,E'2iնP(aY!x(mQ℣<ʔکJ1TQhTD*sfk1^qDENcF!O#,#,bha?[R+(`2~ GT610h D رpBaV˳#%uHp{>^+쥈%"ԭ@6NOB=1Q蝹̭0,CM(7`&ēSi јWyYi$ANPĸ#"z0Є aw: v#**5f@6C 脣,o)i7xr66죟~rKFEDm24AX HNvxT#*oPiaM[8Zv;Qlx[`ff>+|r]6#P*H[sε(a\_нB{^O5kشFjjzR60fF@VA25$`,j5e)ҍ^IٛMyU$"5y+4`ɢl`а^M5 9eIxqAq NEqny9Ip5BMч6yyP4{ѡJm3n7zyR:7s=w= )+7%7"iM}ً3CD5V(7`) -m|6颈.&HZso`K@C`#,:0WPAPl0#,pᑴ.` 3\[ȊTS,‚J#*hAiS9H^Nxש5C.C(iU]j=eC*'.j'VnԢDb3o}u$d!3+Yz.($ G_r8ab4;7g`X"bxm A,uPl̡ `#KDvtf@qV "Q:/ >7.x:[߽4 IH1R>N l!X|Bb 6OYc-H&ÏyC,c@-#%^(q z?_a>8b,0)4pXG6śpPut.CG0B4B( `F%$A@h=ɾCPpQbH aQW'(l09?P@ il'_sd$x~|T#iph鈚R"77<5nς6m5Al7=N.EQ߲q2L̽;I=E"2Fc;fy0!!!;,,!A+Tmo̹u\ZxضTj֢tUx]$(Z]ՙny=\=dH-a8h{*0= æf$mbK;C Q'2F#_M0a%2PQ6)m2bL>RS#*m0m4C%#0)6IJ̑ۦ&Mi4hRY))hhWǺ,T%5E$h#`Ɣ"*j*BRIL4f$,БS*I&5yJgl#%(ݥ b}2Vmk1mЇ4@}ƺ[D F|\%W#% wFS(mvQ6fr5]h'I|Ls8pg \(nײm *4#*ZY+8&xoa@F9QG`6 J+$0/RZ#*'C$NU}#,3Y&Me5i@L.GGT,޵Zxb#*E:e3kϳY&|w2`O_r|}/>KtuM%u! gp;,`7d|CCVkkM!RL#%ǃuNG-_ΤQghĸsQ#Gawy9kH|}kC#&-u0b9r׷0c(O#*mĢT~&g+ZC ]4wf'>uoB91J CeS˿y_G}֘ǞrAD&Mqr~P7>4yh5#q#%Q=u6dDxwγ9FPc1R4PmXfC @#*3??^ȧ۬xu+m:7*V`8=#@n#%I>"b#*L@W^%j,h0s.vEaj<3(6YKtJnN6T,TxPB7fT%#UuN5ƙע䙪'_W])9b801#* ׫O P|PRqi"D,&&C0v?cR3!խ!$7!ԊHLy>Ѣ:54Ks+;Z#Xe$|#*I>1rc^ز%`r utlN31܅h阱JR/tMB pp[ ]~JQ-idd<ǁ[t#Jg ylBV}k8Iêlf+ƲGKhsc4!b(r*GP}!zk zٔz6\Y͠Y<4``e0QkCmKјpw! kh[R#,Hivt Dr>;K!";V,(L ;e`~3]Z`t\x5PP-0"C<^쒙]#*$Nr$N cn1N=oLtxkGY)-TN"$3PѠYքA"]74<Á2;#,@zv˝lAP, j1Fb:KGcr^%b J urE1.Ip2T]GrqS<eUEohRBb!!p8X-0e]fsIfݩ]`D <t,CbQF)vAkU(j!oR%V햎't6#*SbP 备$I6_21WMAvÀKc<8Qj#%Bi#V[Fզ[uo,"l%MJ#%% ,?WyrwѵۚeddSV|G 1NEf"9DM!_&H0[#,&Ƙ kx#%hK#%ʒ;%H;WFcQMBvԺa..gsmHYpkB>!Ƴ3zlbTB\d0NL ۨ.HAiTc5$#*5 7[C$r9?ʿH@Qu$zh-!#,LƒQY~pa *'jv:G>{HO:l#%w78#%GN\!о#('QCȾ#qc?$%?6$]3Dn#%~'l d{z?6\M(׃P xj*౑JeMyDmn1pc*pZ+6chwPvDhǢ2^6#,=hlb6&+q4 "tu#9ŇDj4=`拰>j}b6%a\n{ϝ"#%Fb# (RkFZfj"mJ{(='ׇٞCC_MങKȺ;N*}{{;3V88# @0DK X*{D`1+d97T=s{ wP%ڇ2gs蓐<"DvbAS:gy? Jd昫)#,P %0H#%#KӐCf\aa,Q2fDdhdCMȖ3" 4+!4Acb"B|L3`XED0{A59>9rA9Q36al:*$-U&T#*N wK^xB1G +wBa$EWH%v4=MD0ptpwא֘(Ro֧tp0Ĵ38h._;7̀͂C r(  j Lc #FNSA#,i"hҍ╒Țaa&8,)(&,#,D,0V c@\#,UiAȄ(#G^6]/p#D4 -H]ܗnͳoSs]N%]J#,W$m1 !<]yiB5<ʍRbHD%2%"GFH:oSc)4lmRRMb)XXyY`4jHKkh@$U$EGI[\]A{}I H=trfAIa %AKQbQYlb=0,_Q{Gi1= 0 (i`1mT_vmǻ>?aDfj3ߥa"Ggdba^Zm9*mgg}#*k&r dQ1zS -R#*~6U B /!hQPMv}"T kóL9֠a W`w@DI5\n; PRɜQ5kS)#*Q+mvz4#*_K<U`AmWNfiF3a1 DEӍv7E-#%mr#!XK`π}.&4#*#,/nE b(v]@|6q.;u$CcphHDHE}$+ӬNEyD*"v(SfXT@3BcZdR&ֺ$7m$h%#*d֞f[4M6T5"ɦRRhiS!El1$+%k-2lZ(֩bR֔M'Ωqi۫ELBc)5Zb[,lQYdŚZݫ3I5 Bk%mM*k{ږi&y׆LYFf؅emTb-*kήwI0bo< a<턆,wnC@1_ͼvλų@f LgNL~Dv[HDQһD-ͺ@cP&PlXu80m lA CWFv:2~ #,#$@$PM1$H%*YH<#%EF#%|ڻǩ- @n$"KA##&DɶEob {'us;eB>#%`zTA"s\9?yzUb,WNJMIYLȫ?3A ]e2&㌥iY6dAPԓ5`1lcV*"ƀFfhKjС!}j80m6pYIl;2A#,Y !m5 Hi7F@0₪ҷ2@g u@ϛ<>#,W(;B՘ #%#*B-ĭʚV*clDEEt؆҃oe$XPȬABJ|VT2vCf01h@#*b]P}F~:Vƒ(mg@oK,u#*Y8u򹎰6~?yk)T?,eSyp8iY/<u]иX#ͭvCF['sp]X;Ӝ<`ZhH!;;㹵a0U0Mգ%$J`NZ׳DEzye~с kzN,% W[_\S낇Id| FE"IWCaT`L E"#%j">Q46@vE){K2ejfwiW1쀻`{3OEBd5`09G@Q#*q{G\8͙:h#RJ4'd#{mM+CM}bWjtԴ:"IơPky8iвŀb!C25#,\٭I ϳlhЃ㔤IAɖ>Bkw$<iJL@!,<%1"Y UK¹"#,&#D8z[u@U@ѥ; Ɗ*02;mwC}sf!*LKУ'J6#%6r?x'WE*=frY;Ov6LݭidfTxXr~gFiv#,Ӊq%(ۉXHjU6–J9v1ECbޙQyI9C$XC#,a("X2(3{O\ g.=0zg+ӝ{fyْV@UEUCF-Dp.#,U9'XȂ Xʉ1H(~N\$FG녮.;;۲޷4yA|LFZ;ޑAi&h?WܽX|`yɹ|'z>3MA=vgNn'>]}ճrŌ7F5ǖF\hY[fG'I!Y7)ov _y0GD՟zU@|yI#,nSN!82["r4$1dL9=P3Ί.0ǐ i#%$/Kh;k(YC*#%1f˽Lu&hIUPHѽPY0TШY ,9Tkd0b({][WPl,Rԯ.mgtXcjFlI^QU{{u{D`K@@ebjX3Q1HA> Z|sVKC216H'L7z,=#%1ګ##%`,-R< 㠚r4#*0<Ki;C 5C,N+;d&Ǫ>ʩ813fmnD5QuSJH$HݱihmQ#%__n;,Aq)A^ W@'fTU}dMJ-_ i7ҵ%$D,YKS'oxˆfy_]0E0|`$%*3I]H]NޱZ22AdZƛ94ʯV+sK~+zz Py<\ImQՁ7 o)JH0Mz2Wq[ *P1袿QZP BCvLJd3F[m#%ңg鷘44,f ,WZa#,d26!)% #%%)Fq(?"DuIIH.RlRme2KEMʓ#%`QR1Qep`jFiZQmUmoA!H6Cwʼn]#]EZ[٫ѹ[Qo&h-2E e!F7rV '$8&Uf.0P*T!W4`Lr-5ZnR1#]#*\ۖkzz2zk{1Ŏ"3r#*̂8jӴAZ[q0V i0gDSYQmiU[gݺb-E&%s:QSZL`NF6:f47\uI'/ynҟDmʤ~jBDA RA5E#,j ,RġʼnoKC Qo=3|86@a?'(mb0kLɫM[fӮ5VZjhemQ^u&Mk\j5l#*"€-R \#%)";O fAJ Eb?Ѽ}OG2ê~@a4 ߳X/iz(1Xrb% +#%FƈZ,pƬkH((ӒAP)t벱$Y*L͖UFj54:dMZB.FWuHL)%F .6Ł%$l֢Y[,l`.h#*H_=ҙ<4:!-lZAcid4 >A A$L, ,EUQlm$P P%WU3ShTR! 'cc` cRCq /Hp#*7>=g,16ګ%=U2aH,NСݸks$s0-[#3^W#%vp?w^9;"HٴIS+Q5Ku*Ke=JMdKb2J_˯84;#iwREʰ6Iӫ{j!1Gwf!W5҆쵳q=$܏RbJpЂS E^FpbA f1P1df@) d(ܐ`w1T^U}#%9>T#,9z'`v$M#%@$n0̘hZiBRjaiQaf$-)+L0#*#*GMN~=fe+Rt({ iD"Ԉj2$G#,;mf$#*had2iw"2i#%~קgU~㼙"&Be_OBΗkX&`~L3ɥ}>ɤj^ղ`ژQu'#*Y;:ւޛ4^㩒Ǧ}Z7.+EcbHJF0E&URԖh(M V-,[m365)5cQE4lSL,mƑ4ɶb6AkFELm6QjHMSZa?KI2lHeB&p(fCDdP^6URkvoaQȩE=G_8l5J O.SC0]_\:,}gi#,.z%Y|pL05ܣv+r#%':&#,-ةz6az_ͧ9%UkFrޥQc!{ BP@!{9#%űz'Еn"#%IG2vI lV5`Ѥ,0x~ws@Do>_(|rzH55Tt="#,XOX&Ӱ1F '3#* >F!U[qTc\(Xʢ5MR$CAMN-QE1 5[]'L!BcDPvs&ڍiA$u#* -A<<z/k}m0Nq#%qG#zH%+ ِua%ۆm( 8Ql=ē%KڻOYyb\i5&ETQHo0;Y[3l>?reJEDXh"4ʛgb2 -b!CG7KtPDSŅDF(yZBWA\,ei 4 FjE.KF ~q8",UcH~!kL~|N#*l0ALG#*`BAjE2΄@ M 'G׍,g8TLSuQtX4!rm`#%p%D;$w ᆀp?#*c#%{qlQ.9]`fp6k)&oV#%JPSL~}yJ% _itZRf>{q$/ $VO xi2эCo#HTifzTV/}6yʌ3k1^!WEOG#,#B>R0p|`Җ%?vxQ4-f4I]^%]aIDR&>h1DIHZAyq+4ЃcQyw%Yk\ytzQNRcH &"NҔr޷ m˂Y3Pzǹ+.ƻaG#*׮xׂ6x"}n'xGcYdA'oY;#2C FhotǔH  <}{N], s #,4w3__لEI&}kpiRꜨb݈{ID8Sz8`LF 'ʅf55vFGh4R *2幠iX54?dװT5# _3#,s!q5in's$8#%T#,kٶ_W%Ar14=ߧ~o Ѕ#*b{ ?샘Q-b-T!$NVESwV[ HtpPAIK }b`D(˃1#,,_Ade.'S#*3ZPA}{rۊh)#%|f*h=}3J1Q5-ĨO4#*ҳK2% # T1)8Vȝ2LРFԢ5Zbt @k]jh=FzK}"K,99я#,*Rj˰-T6u1nYmfͪfR̶f4\Jm{4 TY#%#%9{u8'G44m&aF,GmE5Ƕ"U#h$ oi6҈c6HhWt7_Trsm#*AP-m6Кk(@#* XVh3Gbf~4h?~,#%I0H7-տP#%%+(7/hQ#,,Ph#,!#JQ!մƨ6Lwc^9Jn56bz5xl$*#*˭sh;,ZM]iViPc$}#,*ͬlJr(O <;b%HiIHK@NKa-v@ҏrH1?J#%$C;=,HmD[n#86fb嬴YMa}; Uݸruu]ݷ\]|=mA&}7RG,W?ч${:/Cٹ^Ivr˺cڅ  w#, €^n*&d(׼إ6\B×ciVTpɠүI.ýkm,6]BU4d:Фhi#u,_8ŏF錑6HeDl65rnZeynK$H̙i3Qv{*ޗz/}-L. bYf11F, 5)#"`c"ah7&Bhe@+R@( }E"%DT=VkހLV3[DHe򻩯V*mY\λN*fM-mo^67/nLc8A[ImB.-/۩Y-&ҶlJ&э#,,ͣK!QDmԯ]ubk<^w]nM#E3yo]hm*U扗9XdU,* LDag#*"W#*$Jʆ) z@m)CFf" w00Cp|DuһHPp%8sC.6iC">,\1V3ʚD|G#*"h80.2TBa -X\#,(ؚb-ՃCJX(F+LĂȖn"ӎ.lG#* #mRB#*dT!4Uk$ˋ>VԆHwa42M֘F{8h 6Y4M)adni栌㵤cz@hU+#,fCSb 4=AB#14ZzyB J= h4Z|>0H)AпlsQE##ykTe(ĆgI2jy*$RJn%2ZdJf0aJĴI Q6HE IboY ~1i Y+[Ҧ*1tYL8jZ{ۣ;rB~P)+7`F)<Un#*)!74mf)DTCZT!A#*"E]6o.SƼz_2. ҉TЪ0F`KVTgs{=zQ{~X*Yk,_lcx"*MQ hG4ƌɯumӽkU`)YyvM*v.sVԃ== չxf=ɯjM0K1^xt<&MyT\&pxxia]ѡjYs"s_4b'h'PIF_꼵q1-kq$F`D;7۰`aC0C1;mFPk 2ן<śL忕;sN'F 8](QGF==>z4SV$i~Kb}&כ±W 5GtݺYˆ3R\G(xW oegb*#,kFI yVgzǷ9E{o{׆IӮD,o-z66xjS 2m-GDVJRm#,#ai.TGbY/ƑVdvZ`URH-4x㥓x쪸U\ɶlmWi-vWvfWuZ+YF-#S0gu%f^ҪkS-ny抋UxvL1Ra-j*-Zd3;B3aC Cj5`Jl. j"!@-0P ,#%C ." YIpfl–)(OD߳fTI]֢Xk"'ZڊShfب2!QLT##+Jbil[ln辻\ #,>FI$M\$DdTD$>}ԝd9#% pbBkH6mi)so6hگ5ZK۲DYt]6vЕɬ^7kkMjuJ]cM?oOFBҏүa3(E#%ȁ*b mVo$Q_G9ށLg 36ՍjZj*U1Ti 1Ǧv*e24m)VQ6"Z 11@#,*,PP% ?y̦ᰒ#%E-M)b,$!G#*rb@^t}}mg61J$~|wj`S;Rɜ$x09fsG|M]dˉ9rr~CxA1Ƥi:à (ZګȐVjl#%/'HUz~L,eh^ q` #GęQӤ6rQ}:ZoF0ڥ4C-Q$p:>&&1ϭeՔD`k%S!K6#%|CpG8iyR`QKTW"_B#(6IȁeDc#%;d!|UC(0>#@,WtJ!1|!Om?3hmjENѿ r7 #%| ҵ-imRֻy#%AByܙ/נ'_EC vk#\Io1UE 3IUPoK9jn7hiKI)+]R- dZKҺNtK+6sS#,Ӗ̱N[m[jMIi6n̺NtSYuWRwub5EUC*"hAa*S#%ـdEُG<&P=nD,GsCO%L_Ba;ay>aAy^HU;An#%,9vt4o^iI"OǽN@_[m5Hb8L((#,R )"*Nw+* F!j#,ZklD@``104,ћyv/ 1#,TU5a !:m|+n{1#,BRdz[nZu֫xy[=5Ef3QFQ(iX`N۱R_ڗ@(O ֔KۏXT$U1[B!r)Vr!#,#%bTidi5٥->oh!GAXl)E-&eQ%mmR>GqShGV&L 4M0RD"peM"HZ^kzg\yTDJPŇ,5B#*FSkux#*oOb90a~dXd?@NJ Zi!#*mlA81HG"Jxx NI!2<:z;;#O.mh{.ZdgŅv(lI`j E$Uk0V  (El.ՕA{2 VQFZ0QXh,HJڀcJ4]NjeD+GW4^*W/k-xxw+mLdG[%4c :fTG 3 &Y$5*jFkk #%PRU3Il֍&Ek[m D 45pe'0CaIv1DП#%'FWW^kdeR#,#,V44ѥB7 d/ ]%D#,}$; " =1h #%bJ!P>#, )RY d=ZW+o2mg5Չ@;螨H0N2 =?D#%Ildr9 bG#*#*:~~ܭýϹY;&}+U5׿\enLpPFFA0cKOxrdTt43 Jiđ*D#*8ZmZ|dũz7n/T#* "yz5 qzo&pO;Q*u Q]FH"oW#,b(B@b#,TJ "'@G"XS5r0h>7VN /],loXǩ>M4`Ԥ%?r#%&DA3Cb|A8T}G4+pQ?#*MY;GRߺiTEtz%]}C,oo9 Ӥ*&!Q0t9"?{LdXB<ٔL`80Z)]AcA-"#%Pd64hD|> K#%y@xއB牯gm8S!_xC1È(4MiWc ^C]B% g0&bm$Lըb=BqMG+P{*h1HI$؛mq̹L6t-`K&׈("tv0~`l#*KSjpp_f!db@Q<#,|"2ŢŬbku-W7*Gs~:`d7RA8"ka$|20#*"Cp2`avr'wuƔj[iX[%RU]b3)%*fR!;@#0>--fE`EN!!' N0Cf(Tؙّ5#;٘ng; 0Vlє Z@qP3I,e[>;zD74q'EV =#% " ÑEI`BȤ8xK,7n.5:p(6gbNAAfJHj)<Ti3ѥN:y#,C[T+ HD¾l#*Dshň#%IH5J@#,XS` ;{b譜E@@$$~PPT1=;fzJ(ժ1(HOhfBnШ@̦jx.6y=lپ*ry#,pT*soQarzZ4G@fn2baJeP8M vo #*_rcwX{).<$M$Un|2#%_mA}ݬ'N!9@z6q(YᛃDf1tD7\~%uŕUR?L3 `mJILHZZ}& BJ!#*D$&~#.}R#OlI#%##*#, wOjUSl͕"EB3@%! 4RQP},#,Y@/A~*E332L&K% )`2hTXb̩#* ROsCPjkGx7; Ng)5pT1^Gt0ʜw|Y"h,Llz%Mq9$"~oԘ8(Ю6-V]#,#,!f$5l6QFG(8 s 121уĸ\{8G:nym#*[AY(lO[tEl_xq( !#,;D|3#9Ec8,}̝ P"2mEdL#*dh F`A6ō6PL#3EڹiRm977ItвTb-3\g7aVJ HZ@ @lģ uCPqXmj!β#,BZe^-̛rsS@ sſ&C0|#%ֆ$"$QZi$J^x(2+  ~xHS-[F,96?( QP|ŶE(PMSƍ4%fIA!Z*ًr2)yt-";W+wލ3 A&*GB h̀jYpj)#QI9q4Elc`ۯkɥv޺ˑOW*0VKd2x lD,X&"2R'*Bő`LA0%)H!mIu#,7rl)޷bcw wZ4r3G uc'9}@ڌS Iik(2Vh+Ủ`L.2C@=4adj0#PfDM1fA2#,9#C#*7[,`&opѱd`w7u|G4TցW d.tJ0R1S ^pJiZA@S0Y bIMSbFXktF`mcS͠.ZkBŅ#,uFҜ~:4t] $= ¸` M!ؚQDڊRtsH|Sm' n7bE!D#%gb" KF1H \@JUe{yolLXQ2*Lѱ1A+HH#%}YޑiJacT)%#,UIƦC$MA#,"c#,7|o%hQjm#Y:*5A=PHǚaLQ?u"Q ypЀy@v`SMa%MDÚw?pBMjUeFAE #*{H(#*  :;k 48"7Ǩn_0eV܋@4g@(Vb(b#qmomRwW*CPġa :HE|wFΧ5 9-D7lے w_jo vwG7Z}%f`9 #*1a6Zّ#%H#*~1bܭ^@`>Msn'E&gb"?+R&o"yr(dD̜+?#%pbp`X`~qOz6~>6nQǷ/D}NUnxg'3ӯ7۟jdmY %sLc/D#%ط!=2:Ȫ0FD;T3*y6w,26#%.cIL* ػ,,`@p`\t !;m`1B'`s7.BQ,RA}_j^6>0csmMs2x$d@DI6jߜN'@Lئ@bUd8iPmvV+'抽mxUv%zxsmb⹭uko&kt-[`7˜`.IE"!AiX!"ƑDU#,s=WHKr#, ' (&}zl (4 ^}OQBDȄ~^1͚xrx ҂{bAsbcZ|@I*+kZxB$#%J$W@ `26##, Ab]mVJ Hl#,\v1#% )E2EdO= AnY4#*oqZ||:`#*gES`'B c! $J6ɲX4aB-&&C+mhl[l[jm*lk5h*y"I3 "#*ȐapM cPyVXFFɐNKw 4*b(*@iIDbj#,XhheldE֊2ȫa TTlH`ŀ(#*mjܵftLU6 !DQ,B}?;ĀL l iחSUuևhnJP#*~hT~&jΟџMisEU)^|!:BvZ7BL)yp:L`!XD1Bū"A1|LGň!!5T8 #Bqnzu.UH(iLޞyu]^m.Tٙ{nm*mƶܵKZM)! )Jȯ_O8OmF#*|R?fj|@Ԕ:c#*dXw` 𿍅CIN=id gpWMSsr/o'v,vW]vFه$(8K]Bޞ' y[nL1}kŇ"8zm]qA{QDި*TSqHȃ#,E#,L@]U!wfɄEi!${5XP-V+.ea eVվ0hW(#^.G:)bos腃ggJ+w5鯕B}u=HF_qglGIgDTVJ6;zAӿ~.#vH CǺЖ)8LaUfg!ips npj3%*븡:zI9Na锚9ogO\DG?t2Io+)R|A+$=h%o<%ua0D#%h+V{+uDQX6cUiuZ#5 TjG l|锰A7D47'K8LYȔxF2lZ&<|@~.WP*@t)t,E1E*u/b&5t`g Ćp44QCWjG${5xkc9IKKT)zgh($tBs )[^ ycWS}YCr^5#,0;41E.=͈.([M+`;yVhvvL9}kC&A zǷf8'EC53̠X,*QXD##%!1J[0+F,ieE#*IgCH+:2ӌtZ@447dqB!#%\򱞶60.w{A l9s |1cmNN Bk5vW1Խ٭=V&ÃQf?/tD0b[.-ΜsTvB+([Kd%#*c=QܖmۋD!-ǤysJVM##*F7f6'7w7K<1?)ܼ&~HR dIˏGu͜Pg#%kpU5dngȪzK}΋jXͼQ!RpJ^EQ9z#,g#j/ k8ܣ'; gLRUCȯ6~P:ZS40EK:euk6EqyVb',5шS1R뫓= H[Dr`!u-}{xCGn,=cPv;y;kGKprV}7;xt ;#*46a w:Վ:vbFezVU!X]qj@yeLD4vL]r:]BQ*QJKUYT*.3HE5+%J=b6NlNĴ`Xks΃0^Q]$l8ԋL 謼2)#*JrB,ȸz8,#,hgF"v8{\]蹳d#*no‚,#j{Q[*CSn*=9LsX`JA? NҢGĽFg_ܗ<>=޼&Px@{K`g-5_R@m2Cޓypr:dX*dZ~!P6ʘRV0?˳Wc[Sh[iJ=XF#,A72X-Pms\NmRm3eL\+ P0#%a#%슭^rmFkyY0PQ#,#,*"J$*4_Cgeةezk-nL<_OJe} XMҼZnN6MiֿYV6EZ&V 揿V5H®U?(fxEJQ!H 8kiI0;QCږn?XpH2h*7n0ĊKjlc@eRkɠ!"5\*z4k)*0!Bxbt+#*&m6-™Vؘ#*bL`+7*=хKwLI$ BY'Oj)Æץ#, %a!Q05R,-nWd0#0BXFn<jqn$lhq,f#,#*#*fEư֧&f&M+A,UYe]*+-Y&nZreH!SR)pڬ#*XDaH# ND0 #*!bc |X6`d54 (".5T<0$eA3ldt0ɛ5&]JZ!#%lj4)vԭݵvxi*JpMgj4' 7Q>[9Jq(je*Xala|eo[w#,BF #\#*B´:@awm j8,`̃C8ֵd #*\C##*^Vѧ$ls/ɂat:QU$@0haAVB`&.,I0 &IɡV[EyfGo\KC.RʪF#0x*Gj1Wj1HSWp02b[ZrF!$c%@VʊMZPZ1&“fiIڙmdMM[4ZHٙ&jRT4ҦQC#*D"64ԔFiZ#*Hf2#3BFMk]ݍj^m#%Fk:Bb[vyMuv#*{#%Cu6cVx#%z~l`Il=sAp=Y '[:(6V)h #cmrV,ȓvGL6#AI+ X7:vu("-<3,vYijAt tnޡfv$IG"Gي7_ii]xy q_魭MZ-6[ESZ-kqIAIH8b*.R %#K"``N _imMZ'R3Eʈ?-Í~YtiV1Z*2-#,WYJBfiP2X3#*1 ƀ6<H%[>r1g(oo] nj!DLFDQbLL{C[rMc*˞4%U%1T#, X"dHcf\;NL?z``,[@JBTB.wmF5dRL͔eŕ|58f_&L+CMK4̔:2CD q "glZ1lT#*!i-đv\'F^paI$dOV]t40(IBz{ >ʚ>2vrڲ:yhj/æ:0`"=pd+ATe:S5](&{.Xe0dj%Hy>|<<C{ hMB5+JhsYSC9\PU$E#,n۟B^ez-9[-QV\.pk'؀14HDN4 QYRެEN/H ă Xwq<~hy|E'(r$?a:}9TETs*YKPTZ#L2,xlpHL^^ΡpfeMn#*Dr!)l#,fCQ;HH "DнJ-?vd$A>~z g"9?kLɝPY#,,1CypEx畏l0e=<*/#%CC4#*RT~o#*H/qK55FPC۝l,Q3_AݩI!+z#}Z;$=Ărח#e1E;)9JҪ]3is0y RBY0@7(0 P1 213T"I4vlKh]9Vp0̀!\#%lTeE6@[;̫(@"$[[p\뚆ܲ\Ldg;YLԈ#%kas94.?x|>Xuk:-CiSܾLxwGhq i„jS~/Ղ;>BFì߉1c2CEK:*RAY$j1%M9pߑ&1/P@7y[wE>z5xm;5H雞O:Bfb*.M.- vz#%ꙝs]O!+@cᡬ!xL6:9i*env1*@pm",`Һ1{lc#%m.GɢH ſU#,]hda^©#*#ɛPL F j&4W9H"ih?Ŭ&`](8t8A!!Ӂ\#,PExAZgM0Gy~G#*? jg<#,$ʨ&;+$#*ɍ Y1A`b1Z.EosBU&j$h#&4&Zly#%51XD[@rǟEBb}\ Һ2b4ѕ0lq F&=RZByNlưŇy4KGӺiͿ#,NF4?,~|kH"Tĥ!PQ?Mc\q {{›YBt5YKI.[Ígʔ!-1|v4瞵eljLC3&cثo%y-sIͣ^|z伖O#٪ɺb-Z>5S۬v"Y1;;mպ|\՚jQ߸V~Ӵe &G`䦳*5;k q#*.nP^<p鏆|#6.jGxLc""!*d#%5|,l+GR`4cbN2Cx|"!C!C#*lEAf\(mPIfZVau옵"ߴɬ6y2-VYf\j4@^A!&jJPLPfL#%tb@jFRTB#T/Usd14b#%5DN`PCOP4T$CXJ5DBѹ l &Hht b1`dCpCRTJH%PS.p3SjR@ˎY}T#,C   :CȒ`CT1vtvUt nw "nɒabIlKċ#*"39'l C$MUPjEwpӶ(П#,5/'ZXH^R6NS;/` \4u3*S)xqCQ6ه=hˆڨ&Q2̷ڟG*+R^K6wZ#,Yj ~$d3{H"f{*'M1vn^{h6CPI[*ʔD߉r`fpAUjR_kk'oE= 2.N폓irtuu&<#,-1#*BYM&UnMw)tZ'jNy n ٘uA0)D"{h#|;jM;}L=>#% !ditD>e.FJ^[):κK.#%Pc f4byVE&muzs)$5j%KJB"< (cF*#*IU#,1HeM#%ZiYFf#%'stk$-eQ' "*(rfQfAR0D"tC?A>O'ewr!*=p X; gG[i#*"cj(.As 8Ֆ6E4kB]|ĠPD;( #$6K9E_e*AVa-鞷[8ɳE,"k*13@8a9K7פ;I I)e$_Ljrs7ܙ1#,nqb옉s #%''2BkDR:&*eJOmȦwRby&Pj=F\3lQmG@[Lbm)Y&RJz[&ڒOzV*2#,B#,ZH"^Q#%ų, TIl!ɂH+n{ࣼ'emN.fO} nԝ18uT|Պ,4j$}_,&<:q#S@ AR* H 'pi,1V#*!e!$'WΑ[1fa2 4!OD4alaDh9TB+.L #,4vp,]k5yyM^(be‰ @$q^ÉӼ~#,$F\^ xȳҲ}n:&͍#*7LS^Y O:c`C‹r[mnV C썓m #r`ۧ=CKQ4YTYp#孒{m4z[]/o^&7/#,gO d#%8##*d#U"tH/. Fn)`C]lj\0#,ݡc;BŘ,(^:F7=(GǁD&+"}[]XGawXvO> by@FIDt}o x+ AH'tO#,zW~n@K y^6eJi)+2ٌ3P6[(*ۥRmk]1ڛ]KꯛG?q#*|Wq>;NQNN{@/`z#%#*<6L=$Hd:htA;PrUP|6(#,PL^%wΟN-wi}haƕeB!"^3#,l5.6^E<[4Ӓå F+ 5c:^,Kq4jφi#ąXI1aB)uo<\CM-aiȹ4L&LEbQ8fLu%0ºf`mFb5l.\#*4&D$CWg4))@; +#,ElwZ$ˆY.PBN])ˁi7O^lvɍ{&y {CA#%BB#% DMoksTzJyȥ#BR T%|ހ^  "E#*LbI>5lY³Krrء0M8=Ǹ{ش;/w*fQL{#K?9äBE5 vc^jQ#eK{쥭k,i.O&(/;!aN"l NP#%oǍ XaM2)X<˷lEd?).\/h2R, E4ֻv`dmERDW6Zm-[VFVA?RE6#%SZ~{}ʑ't{3,=CH|N7@O2~X*BA>s"H*l$S+FK2[4_"}:4*11I#*4EbsA$##*O QoM C>qNpG4k/VfM@ͨVVR6מyjmHm~-4~(g^=W.s .vf1e};N]ΏeebPxnBB "Dxl@̮SM&])Q<1aWZc!) 'fa^0gәq#,Pl#?zdxNbb2G猣8=L3A:0@a#gT,)`F"()ݛ̱^*ѣѵy٢(9AvA(V`q(ʴȤ ƥ.O_OWΉz zwfjF28ZR6'?M @p!xk 3i%nS-/ɏSNm~h\,s h(<ŋфț*H+b(5m*J+~#*j[ERj#,/k%ﺺ꠱"# e?#%t$b!Tjp [VlO,D7#,o#*þq/Iƪqz]F v ƦRь)z#*f!QCVu*ﶁ]c EBa؂XXG*'r_K!1&qW^ :"Jn3˪ah`FBjOLW˭ 킵 IN#%‚)-3S&#*s/ȲeF%iNllVИk[)od$f(R7"x//Qp(#*\buhapB ixyCp"c= bQ0"d*@os:N0r$ WI)1N%g`eBn#*Ayw14eп%N#% ϼԪ8vƇ]ެ+u4QUP4 j,&$Z5I,\@2~74loiDا#,>v)뭰uZ:3>( !l * cٳ!!yr3:hjAâaSyaG;oHDQ{0r 6^r-_v}s%l@#,Oۈ6@v yX@=D|B,\L(#*Y/<%@ߖ]vmiE")ٮ1 i#%?GW?~oOכW??7?_~uoK è nj;Js?@8+P*9#,B"n,o[/|/9$$Ϡ#%#%^d6ފ9Gu^mg$*j)wɳ8"=nM~a-#*-RiY#*vGǜ/!NfqP:Ѕ#%v̈]9&Yt/0S/*FZ4`+C9Ԙ&PX$FHq#,r57řDn./|GUZcPVk?,{0B Ʒ@$l2+pf#*7hxQn54+EbH)͆!ON,4֩0ۣIj"iP-qfhi{Qg0eBIcif~Q# qA>UuS܈; c݆) V"m@t=wܣonk-nl1v&,U(ߤ& i?V#h2 2xcX @쨈q$놫P{bWQ9W#^mˡ`=1ߧgTggY# H(RcmyonK&@Da# wˆJvV@R*xٰ!"#%2be2 0$b[ s?>>ww0!m(9fj[ɓnnm$.%DЪ#,ZIjJK$6#*+v#%:z .g|Ģn\`&|*(y-d^@b\%AJVP ~DOU!VjCה~] ?cFV2_2YH#B}#)_Q#^9˪>#*m#%W#%§¨"uHQl˼wƷKk#*Paq] 8.1J"Z'E'm׵<+|oSz4]{$a9P22/<EۥYeF-)zVצZRTZ,,FJڽм˔KI#*ѥZe<9L*0jS#,\y$KĻ o,lj\z#,݆0RRg(\,X4#,')tET$"rp& l"{fBrC#%(8MA$b@kvQB#, 4py*/K٩k"Kj)o+nP`y=97Zm֟y;A.x=)D>O//TɯJktX스X$Uf/f_A!;{*_`vEqM<:6sk;trGRgu:e#ɗuz|J8CO1WOA\>ژj Bog$^'s8EsZFYb incompatible changes -# minor increment <=> compatible changes (additions) -# micro increment <=> no interface changes -SORD_VERSION = '0.16.0' -SORD_MAJOR_VERSION = '0' - -# Mandatory waf variables -APPNAME = 'sord' # Package name for waf dist -VERSION = SORD_VERSION # Package version for waf dist -top = '.' # Source directory -out = 'build' # Build directory - -def options(opt): - opt.load('compiler_c') - opt.load('compiler_cxx') - autowaf.set_options(opt, test=True) - opt.add_option('--no-utils', action='store_true', dest='no_utils', - help='Do not build command line utilities') - opt.add_option('--static', action='store_true', dest='static', - help='Build static library') - opt.add_option('--no-shared', action='store_true', dest='no_shared', - help='Do not build shared library') - opt.add_option('--static-progs', action='store_true', dest='static_progs', - help='Build programs as static binaries') - opt.add_option('--dump', type='string', default='', dest='dump', - help='Dump debugging output (iter, search, write, all)') - -def configure(conf): - conf.load('compiler_c') - if Options.options.build_tests: - try: - conf.load('compiler_cxx') - except: - Logs.warn("No C++ compiler, sordmm.hpp compile test skipped") - pass - - autowaf.configure(conf) - autowaf.set_c99_mode(conf) - autowaf.display_header('Sord configuration') - - conf.env.BUILD_UTILS = not Options.options.no_utils - conf.env.BUILD_SHARED = not Options.options.no_shared - conf.env.STATIC_PROGS = Options.options.static_progs - conf.env.BUILD_STATIC = (Options.options.static or - Options.options.static_progs) - - autowaf.check_pkg(conf, 'serd-0', uselib_store='SERD', - atleast_version='0.22.4', mandatory=True) - autowaf.check_pkg(conf, 'libpcre', uselib_store='PCRE', mandatory=False) - - if conf.env.HAVE_PCRE: - if conf.check(cflags=['-pthread'], mandatory=False): - conf.env.PTHREAD_CFLAGS = ['-pthread'] - conf.env.PTHREAD_LINKFLAGS = ['-pthread'] - elif conf.check(linkflags=['-lpthread'], mandatory=False): - conf.env.PTHREAD_CFLAGS = [] - conf.env.PTHREAD_LINKFLAGS = ['-lpthread'] - else: - conf.env.PTHREAD_CFLAGS = [] - conf.env.PTHREAD_LINKFLAGS = [] - - # Parse dump options and define things accordingly - dump = Options.options.dump.split(',') - all = 'all' in dump - if all or 'iter' in dump: - autowaf.define(conf, 'SORD_DEBUG_ITER', 1) - if all or 'search' in dump: - autowaf.define(conf, 'SORD_DEBUG_SEARCH', 1) - if all or 'write' in dump: - autowaf.define(conf, 'SORD_DEBUG_WRITE', 1) - - autowaf.define(conf, 'SORD_VERSION', SORD_VERSION) - autowaf.set_lib_env(conf, 'sord', SORD_VERSION) - conf.write_config_header('sord_config.h', remove=False) - - autowaf.display_msg(conf, 'Utilities', bool(conf.env.BUILD_UTILS)) - autowaf.display_msg(conf, 'Unit tests', bool(conf.env.BUILD_TESTS)) - autowaf.display_msg(conf, 'Debug dumping', dump) - print('') - -def build(bld): - # C/C++ Headers - includedir = '${INCLUDEDIR}/sord-%s/sord' % SORD_MAJOR_VERSION - bld.install_files(includedir, bld.path.ant_glob('sord/*.h')) - bld.install_files(includedir, bld.path.ant_glob('sord/*.hpp')) - - # Pkgconfig file - autowaf.build_pc(bld, 'SORD', SORD_VERSION, SORD_MAJOR_VERSION, 'SERD', - {'SORD_MAJOR_VERSION' : SORD_MAJOR_VERSION}) - - source = 'src/sord.c src/syntax.c' - - libflags = ['-fvisibility=hidden'] - libs = ['m'] - defines = [] - if bld.env.MSVC_COMPILER: - libflags = [] - libs = [] - defines = ['snprintf=_snprintf'] - - # Shared Library - if bld.env.BUILD_SHARED: - obj = bld(features = 'c cshlib', - source = source, - includes = ['.', './src'], - export_includes = ['.'], - name = 'libsord', - target = 'sord-%s' % SORD_MAJOR_VERSION, - vnum = SORD_VERSION, - install_path = '${LIBDIR}', - libs = libs, - defines = defines + ['SORD_SHARED', 'SORD_INTERNAL'], - cflags = libflags) - autowaf.use_lib(bld, obj, 'SERD') - - # Static Library - if bld.env.BUILD_STATIC: - obj = bld(features = 'c cstlib', - source = source, - includes = ['.', './src'], - export_includes = ['.'], - name = 'libsord_static', - target = 'sord-%s' % SORD_MAJOR_VERSION, - vnum = SORD_VERSION, - install_path = '${LIBDIR}', - libs = libs, - defines = ['SORD_INTERNAL']) - autowaf.use_lib(bld, obj, 'SERD') - - if bld.env.BUILD_TESTS: - test_libs = libs - test_cflags = [''] - test_linkflags = [''] - if not bld.env.NO_COVERAGE: - test_cflags += ['--coverage'] - test_linkflags += ['--coverage'] - - # Profiled static library for test coverage - obj = bld(features = 'c cstlib', - source = source, - includes = ['.', './src'], - name = 'libsord_profiled', - target = 'sord_profiled', - install_path = '', - defines = defines, - cflags = test_cflags, - linkflags = test_linkflags, - lib = test_libs) - autowaf.use_lib(bld, obj, 'SERD') - - # Unit test program - obj = bld(features = 'c cprogram', - source = 'src/sord_test.c', - includes = ['.', './src'], - use = 'libsord_profiled', - lib = test_libs, - target = 'sord_test', - install_path = '', - defines = defines, - cflags = test_cflags, - linkflags = test_linkflags) - autowaf.use_lib(bld, obj, 'SERD') - - # Static profiled sordi for tests - obj = bld(features = 'c cprogram', - source = 'src/sordi.c', - includes = ['.', './src'], - use = 'libsord_profiled', - lib = test_libs, - target = 'sordi_static', - install_path = '', - defines = defines, - cflags = test_cflags, - linkflags = test_linkflags) - autowaf.use_lib(bld, obj, 'SERD') - - # C++ build test - if bld.env.COMPILER_CXX: - obj = bld(features = 'cxx cxxprogram', - source = 'src/sordmm_test.cpp', - includes = ['.', './src'], - use = 'libsord_profiled', - lib = test_libs, - target = 'sordmm_test', - install_path = '', - defines = defines, - cxxflags = test_cflags, - linkflags = test_linkflags) - autowaf.use_lib(bld, obj, 'SERD') - - # Utilities - if bld.env.BUILD_UTILS: - utils = ['sordi'] - if bld.env.HAVE_PCRE: - utils += ['sord_validate'] - for i in utils: - obj = bld(features = 'c cprogram', - source = 'src/%s.c' % i, - includes = ['.', './src'], - use = 'libsord', - lib = libs, - target = i, - install_path = '${BINDIR}', - defines = defines) - if not bld.env.BUILD_SHARED or bld.env.STATIC_PROGS: - obj.use = 'libsord_static' - if bld.env.STATIC_PROGS: - obj.env.SHLIB_MARKER = obj.env.STLIB_MARKER - obj.linkflags = ['-static', '-Wl,--start-group'] - autowaf.use_lib(bld, obj, 'SERD') - if i == 'sord_validate': - autowaf.use_lib(bld, obj, 'PCRE') - obj.cflags = bld.env.PTHREAD_CFLAGS - obj.linkflags = bld.env.PTHREAD_LINKFLAGS - - # Documentation - autowaf.build_dox(bld, 'SORD', SORD_VERSION, top, out) - - # Man pages - bld.install_files('${MANDIR}/man1', bld.path.ant_glob('doc/*.1')) - - bld.add_post_fun(autowaf.run_ldconfig) - if bld.env.DOCS: - bld.add_post_fun(fix_docs) - -def lint(ctx): - subprocess.call('cpplint.py --filter=+whitespace/comments,-whitespace/tab,-whitespace/braces,-whitespace/labels,-build/header_guard,-readability/casting,-readability/todo,-build/include src/*.* sord/* src/zix/*.*', shell=True) - -def fix_docs(ctx): - if ctx.cmd == 'build': - autowaf.make_simple_dox(APPNAME) - -def upload_docs(ctx): - os.system('rsync -ravz --delete -e ssh build/doc/html/ drobilla@drobilla.net:~/drobilla.net/docs/sord/') - for page in glob.glob('doc/*.[1-8]'): - os.system('soelim %s | pre-grohtml troff -man -wall -Thtml | post-grohtml > build/%s.html' % (page, page)) - os.system('rsync -avz --delete -e ssh build/%s.html drobilla@drobilla.net:~/drobilla.net/man/' % page) - -def test(ctx): - blddir = autowaf.build_dir(APPNAME, 'tests') - try: - os.makedirs(blddir) - except: - pass - - for i in glob.glob(blddir + '/*.*'): - os.remove(i) - - srcdir = ctx.path.abspath() - orig_dir = os.path.abspath(os.curdir) - - os.chdir(srcdir) - - good_tests = glob.glob('tests/test-*.ttl') - good_tests.sort() - - os.chdir(orig_dir) - - autowaf.pre_test(ctx, APPNAME) - - os.environ['PATH'] = '.' + os.pathsep + os.getenv('PATH') - - nul = os.devnull - - snippet = '

.' - if sys.platform == "win32": - snippet = snippet.replace('<', '^<').replace('>', '^>') - else: - snippet = '"%s"' % snippet - - autowaf.run_tests(ctx, APPNAME, [ - 'sordi_static "file://%s/tests/manifest.ttl" > %s' % (srcdir, nul), - 'sordi_static "%s/tests/UTF-8.ttl" > %s' % (srcdir, nul), - 'sordi_static -v > %s' % nul, - 'sordi_static -h > %s' % nul, - 'sordi_static -s " a <#Thingie> ." file:///test > %s' % nul, - 'echo %s | sordi_static - http://example.org/' % snippet, - 'echo %s | sordi_static -o turtle - http://example.org/' % snippet, - 'sordi_static %s > %s' % (nul, nul)], - 0, name='sordi-cmd-good') - - # Test read error by reading a directory - autowaf.run_test(ctx, APPNAME, 'sordi_static "file://%s/"' % srcdir, - 1, name='read_error') - - # Test write error by writing to /dev/full - if os.path.exists('/dev/full'): - autowaf.run_test(ctx, APPNAME, - 'sordi_static "file://%s/tests/good/manifest.ttl" > /dev/full' % srcdir, - 1, name='write_error') - - autowaf.run_tests(ctx, APPNAME, [ - 'sordi_static > %s' % nul, - 'sordi_static ftp://example.org/unsupported.ttl > %s' % nul, - 'sordi_static -i > %s' % nul, - 'sordi_static -o > %s' % nul, - 'sordi_static -z > %s' % nul, - 'sordi_static -p > %s' % nul, - 'sordi_static -c > %s' % nul, - 'sordi_static -i illegal > %s' % nul, - 'sordi_static -o illegal > %s' % nul, - 'sordi_static -i turtle > %s' % nul, - 'sordi_static -i ntriples > %s' % nul, - 'echo "

." | sordi_static -', - 'sordi_static /no/such/file > %s' % nul], - 1, name='sordi-cmd-bad') - - Logs.pprint('GREEN', '') - autowaf.run_test(ctx, APPNAME, 'sord_test', name='sord_test') - - commands = [] - for test in good_tests: - base_uri = 'http://www.w3.org/2001/sw/DataAccess/df1/' + test.replace('\\', '/') - commands += [ 'sordi_static "%s" "%s" > %s.out' % ( - os.path.join(srcdir, test), base_uri, test) ] - - autowaf.run_tests(ctx, APPNAME, commands, 0, name='good') - - verify_tests = [] - for test in good_tests: - out_filename = test + '.out' - cmp_filename = srcdir + '/' + test.replace('.ttl', '.out') - if not os.access(out_filename, os.F_OK): - Logs.pprint('RED', '** FAIL %s output is missing' % test) - verify_tests += [[out_filename, 1]] - else: - out_lines = sorted(open(out_filename).readlines()) - cmp_lines = sorted(open(cmp_filename).readlines()) - if out_lines != cmp_lines: - verify_tests += [[out_filename, 1]] - else: - verify_tests += [[out_filename, 0]] - autowaf.run_tests(ctx, APPNAME, verify_tests, name='verify_turtle_to_ntriples') - - autowaf.post_test(ctx, APPNAME) - -def posts(ctx): - path = str(ctx.path.abspath()) - autowaf.news_to_posts( - os.path.join(path, 'NEWS'), - {'title' : 'Sord', - 'description' : autowaf.get_blurb(os.path.join(path, 'README')), - 'dist_pattern' : 'http://download.drobilla.net/sord-%s.tar.bz2'}, - { 'Author' : 'drobilla', - 'Tags' : 'Hacking, RDF, Sord' }, - os.path.join(out, 'posts')) diff --git a/source/modules/lilv/sratom-0.6.0/waf b/source/modules/lilv/sratom-0.6.0/waf deleted file mode 100755 index b78909927..000000000 --- a/source/modules/lilv/sratom-0.6.0/waf +++ /dev/null @@ -1,169 +0,0 @@ -#!/usr/bin/env python -# encoding: ISO8859-1 -# Thomas Nagy, 2005-2016 - -""" -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions -are met: - -1. Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - -2. Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - -3. The name of the author may not be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR -IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, -INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) -HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, -STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING -IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE -POSSIBILITY OF SUCH DAMAGE. -""" - -import os, sys, inspect - -VERSION="1.8.22" -REVISION="0bc65eb9df72fa60c81f2f272efdf79a" -GIT="x" -INSTALL='' -C1='#,' -C2='#*' -C3='#%' -cwd = os.getcwd() -join = os.path.join - - -WAF='waf' -def b(x): - return x -if sys.hexversion>0x300000f: - WAF='waf3' - def b(x): - return x.encode() - -def err(m): - print(('\033[91mError: %s\033[0m' % m)) - sys.exit(1) - -def unpack_wafdir(dir, src): - f = open(src,'rb') - c = 'corrupt archive (%d)' - while 1: - line = f.readline() - if not line: err('run waf-light from a folder containing waflib') - if line == b('#==>\n'): - txt = f.readline() - if not txt: err(c % 1) - if f.readline() != b('#<==\n'): err(c % 2) - break - if not txt: err(c % 3) - txt = txt[1:-1].replace(b(C1), b('\n')).replace(b(C2), b('\r')).replace(b(C3), b('\x00')) - - import shutil, tarfile - try: shutil.rmtree(dir) - except OSError: pass - try: - for x in ('Tools', 'extras'): - os.makedirs(join(dir, 'waflib', x)) - except OSError: - err("Cannot unpack waf lib into %s\nMove waf in a writable directory" % dir) - - os.chdir(dir) - tmp = 't.bz2' - t = open(tmp,'wb') - try: t.write(txt) - finally: t.close() - - try: - t = tarfile.open(tmp) - except: - try: - os.system('bunzip2 t.bz2') - t = tarfile.open('t') - tmp = 't' - except: - os.chdir(cwd) - try: shutil.rmtree(dir) - except OSError: pass - err("Waf cannot be unpacked, check that bzip2 support is present") - - try: - for x in t: t.extract(x) - finally: - t.close() - - for x in ('Tools', 'extras'): - os.chmod(join('waflib',x), 493) - - if sys.hexversion<0x300000f: - sys.path = [join(dir, 'waflib')] + sys.path - import fixpy2 - fixpy2.fixdir(dir) - - os.remove(tmp) - os.chdir(cwd) - - try: dir = unicode(dir, 'mbcs') - except: pass - try: - from ctypes import windll - windll.kernel32.SetFileAttributesW(dir, 2) - except: - pass - -def test(dir): - try: - os.stat(join(dir, 'waflib')) - return os.path.abspath(dir) - except OSError: - pass - -def find_lib(): - src = os.path.abspath(inspect.getfile(inspect.getmodule(err))) - base, name = os.path.split(src) - - #devs use $WAFDIR - w=test(os.environ.get('WAFDIR', '')) - if w: return w - - #waf-light - if name.endswith('waf-light'): - w = test(base) - if w: return w - err('waf-light requires waflib -> export WAFDIR=/folder') - - dirname = '%s-%s-%s' % (WAF, VERSION, REVISION) - for i in (INSTALL,'/usr','/usr/local','/opt'): - w = test(i + '/lib/' + dirname) - if w: return w - - #waf-local - dir = join(base, (sys.platform != 'win32' and '.' or '') + dirname) - w = test(dir) - if w: return w - - #unpack - unpack_wafdir(dir, src) - return dir - -wafdir = find_lib() -sys.path.insert(0, wafdir) - -if __name__ == '__main__': - - from waflib import Scripting - Scripting.waf_entry_point(cwd, VERSION, wafdir) - -#==> -#BZh91AY&SY'L~#%9#%§%h0b'\yn(#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%#%5b+KQӻ}2׵[wg|UHEzcmfmI7w}7N{R·n@#%{;f{]իk6z'ˑϵzwf3vWxӛ}ہ >.}|㵲#,޽8#%#%#%^#%}@z4Q#%w0tH#*=vo:#%T W.ntU@'J`QLCM R ܥ{UJ+#,+֗Soۗoz{{;R;k]:#%]3]weןO]爯{/7gS}Vƺ]{ӣw=#%=#%ЮvQ틷n^Jyn#ݒ(:$#,NP=P6x2]EнwۑDGמu;=_zݬÙO!ۜWGӼ}*oAꅯǏqv)Nŋ7/G]ݓ[׶vv۷st6n{ww`87Wӧ#6N}SA-ns.>F;6VKϻ8}ysӊFok1M;肊#%%AE@#,Jmiʎh=-پ=NNnsu|ilnNalVwwݽS#%#%g#%#%n_y=|Eǻ;.ӻuŻCn3ݣ݃X{}/VՑǽW8Gϝu$vϾWԛ#,==0ﺺ=w/=,6z޷9Y{>}Z|㠸ڥ#%Ώ]vxSםސ;*pw'o w{rwwZ#%RUP-wp[:Iެ}zxMw}qϾ'=wkcU@#%=Y_c6wuy(__=n:4an_oww#%9l`V&;khl*5A[7invo{r&#,o;}x\ r8,Hr:ϳfU]qKv{TN>=pƾ.{)#% #%4d4#%LH= h#*1#%4MzCS"x6hhЇ0#%#L@#%  &IL&)=@yOSF@#%#%#%#%'RH#,0?Z?sk\ƻ5Zv(|*b$2#,E&BB" >&?$HJNuSuNQj76o&ӘfIH̖}b%~#%! ؏;Lw-CkiYwxê"8]QU3u/u/r\A'ݾF0˛jҭZ-U骮nmVʭ9nQrVWkZUhD#%,EA#,"kiZuXjJU[5df%)fjCFRYK2$H2&)FSm(bLQ#*mKERPa(%&F#*#*fe6$ci#%Q3H؋E)E&EYi & e2)(IeE,K& %$Q# 2hkJ5mJIc) &L&R ٚfԖ3M i"FML)4dѴ *Fk!IҒQQIY RIMD fiDiD*iHA) !2%%#*jH4ɡ"DfHđ2fibI#,2SI @ƥT1dhM @#*ebJ&3,LT&RIґ5(clXR1,L$Bi*MFH*!H IHS6 $RX!bDF2Le 5LADHD%D&bJMY6Z#M#Dla%e$ D-K6b4 ei,MM3%d&2(3YeHICdY#*2&S[KIYDFIR4ɥE**(PQADĐ"$ƃI&HiDC*f[HѬ)BHd4iH4$Ri6d12f6I6Te5YP3JbE%d)$*dXSL h&Ml&#,ء&YJL6ɒ$FdeL ɩ)T٢hBdPLHA4ȡC13Q,PTEK&4L3FLfY(CٰѤf6m-Ue0dAƋɦI&ZRb1,6Rũ2#*K0dҁ#*6Z=vٍ!eh) RJk)Z#*%!1HIh4caV"!e) Rb6T&%X6k&Cc)F)566d"F3)Ub6YB6U1MLJYc$R#[&TR-S,ȋKMDbDV5L6EeDXa#Rhch(b-bT3RXL(#*ԚM%jTTLD5(ږěF%YF٫Y46V,&e54I2ڦRRTiT-S1%lmiFkdjffdXA5e#*jQDH0F i*Abfh!)5mIcQ&%ŠE,AiR h`%2l%)2Ca,,difQ2LLF نd"ɬXQ42BcLScIbLRajP24@R%m6Iccb"61Mf& `,#&ɒRS&fR[LԢLl,&hCcRMLM% FE2l&R1Z[4جfdbDQL̚52J%))"FlI@edؠM k,%4(i!#hFJFE&!2XId-2$ Vi$ԅLde)H5Bi+E4TѢ -%60HXdYJIP)j-EЅEI"VdT&Ƃ4EZԨRj5Y6"")M&YMIRĩ)mԑ$Y4lFd֊MI[R)(KRI$2H"DY,ZA))фJ#,ĔаZ&k1R[i"C#*IE"eDmH(4kKJmf[QlmfH#,T1JH KBh)F Q65cJ[Yhɨؐ6-X5c$Ԋ2iebV̱%#T,lRj+(Tk%1Ie*k(V6R5(dM1#*&(Tm "i KdddAMڍ[EhţmmPkb-SR%E4VI-M6lLlF$)&D#*621k y7oxw^,ddl#,gH(BveY!iӚIOj#,=auJ4ܖ#,W4ΘwpCU}i$ ~?&2]QTȥ܅;ZD I7nppo@™u 'M˱)&̝z8,b:.9>r2L)*cmWEP)`S5KLKM^tO]MݶcZQJLu-ͣQ |T b&JDdAn#*3MF`3g7gC¤#*j2*2ث‚ ի0 5BS#,#,OV?r@SVZ e~9p욏т b$L0̫H#Nlgvl{![@[@[R##= Mwnt]ƊK!I$Eţ▼j'ƪ+_6B2[-"lPz$~4//S80E"#, `K@QE2 hrQ*N:W.I:.[{կ//^{D.64|2]x'vMa8YOQZ!SMKh0"4#,Aa?<#QUV(b sUEf+U{j D[){5g#,|<9;5{R#,JNOuzwfSƉf0 d9!Ʒƥ$"R?K9j&gT3hN衐2K[c^ib(E/=o{1%%6_Y0|Bmϭ`#*KHߞO?ݷ/hTfolm& OO'4&Dx/G[^V)Ռ#*C^]׸mQ9d.b屪}Nm\̙õ櫺1EHMWv:l_ 9a"BIh0 c#,& *\@EbL^8&j޻Ebɫ?^)CŠTX]T5zzFBJmIQEϲ,OˆE]k{7C#%k_cr;7]+K>+|)hp P,Ԓŋ%G&J_c뷻CWQm*"p V>͹̞I[&Ǿ"#, O+(T-24#ʩ-'GJ }4CD4dL,P⍶W#*X7;90Rsrg<8_X T%4C#9^p?(­c]c&Gɻb|aʊ7oݮpxܰ45`ʬSW5!E@#,8h=zM,047.g]=<P00JmlJCJ7m_] x5eL1^w"gِHnr#1Ҿmi$4gý5|qޕɿ'nm&g],)^ eQ\Ae w%}zyu|?}~P=PD*l-Ylm,='g2{gFw93ndXJ{v_ҁqO#,{O&G#*HvFUNn~ϝ_Sr}0xEN|BS48sg~BH:9P\r5xW@@z,$@Q>EQ@$Eotآ] P3xQsFM8#*WA58ҾKs>Y0lpyi&y}L#$lqϋo戇eдWqj>_P1٧ɛ`)UkuaLAa&QDYM宗tù0j0]8άL\Kgao1;wMmŧ7B=S#Ipx_#*ox7{x1HG̺ѣR4f_?u6Xz0Y>w~:8߬7HhӤ$I481\e#,,yē7CԪd#%Dy\?R#*UMXak֗!"̺4J96ЋTQfS!lvjmqLb!ٴwXp,o#3519xF#,MVj&'G,r8ͼozM4J`{`.sͤ4gTv#*RW#.4wK?*Dvz=T"#x(+ka\{yrYq#F"?h)zRx#,:3tq|g6|ƻn C8yx}JDRg|V1Yy:6mO#YҀ=^YYj*jRQuع2B锻:y&be4U%5ZJ5D^.%kQ#,JOCJW󼼔LgYC8M98dg{h9LnxLde+|t3iя:7^2I_cߙYr]Tcڲ[L׿bZR6ybVvQ:gKㄡQd8#*2u"m3#*W|{$|zk>)GY$4{+Ę∳q)&|j^!h)LYYM `qlK?JSɉDAD$XNr~g'V74',Qe?v@~[ǎ=Lx)]9ZXM.{r㦛nfɒYc/#E}rQ|Y6UCهކj'^wgVP3jd/Gcï1Wb`z6{`ca6Hxk.Q~#%pwYKCa2.:>޵,gC//Cť}(B}儰'd#*~!aF/9]IB*en[1*$fK+RjjM4wF"s$h#L bcZAAHZS!Dw`;%.ߓN] W-i|WW׎Ue%6ߦHr? #%1fp"_SeLwg\\3W~]VHB Һ@cmߒ"Q75juGȫJ=#*=*~^sj-Ɂb\>]\8엲p (E1Ϸ>:UUTx#*nوo~yE+g4D[zp] {=GpNiܥ|3405+h^4>-v)8T/ݼwiOneLG#>1k7=0dbq #,16@XqĹiï]$vR\K91#!/(jFԞ(mys>xho٤!(^c CeWdp#%3fo.Zi||fkvLj$dE}Q#*>W|P1?#*ih3ֿ#,g4ixvs'FgGJY!#*:֌+ׇ.3oƚz`HC=i.veŪtZ4vH}zU^RD -C jVB3җTyEĩB))\LG= 2Vxo~%z&M1;5#3O$cʪ5} kŶXoneږ;7*dǏlBIT_9;kɡs(oedD{acGGxr^f !n\x#]v};t8"UED+Q÷EWF[4XzczjԪ̙Iq眠zS6{Qzz;HXZt{/O<FOgP` _#%;#*$ qPX*ouoceNk5bu#<z,Zڽ=^_=]3#*\WoDύ7[6Qb&bF\{2Dz$Nef$Lb#%͙t~hVEnJl=G4u4YI+"Bȳ3iq H~CCHlGlL1]r=/lR##*KFMQbhF2x+F#%\dfcT`yi]"T>{yrHkLy!@B6VJ{*H@#*,KГe0x60h>6UWj,c#%# i$FmݐL'j ?v{sʙ#%FZ& ~ o;6kԱvC'ftç ʺ65"Lf㭫#jNJ\UyFq|~y],V*Uܰj)^Uwݬ8&߲}GG^xx_i/ ת=9SwE 5i:Y&Eٕ:iZg$|t#*v,MhN ɛ]O/I)?ϗxXc#,I>s2@9Fm̻w-#,!ÁI|0(u idBabtU?t,7C5Z)1UMQ =Di6xj9qWQ٫ itH`~qlPezvQ>s/?<[3CBT| .ՔSy׼ᵝ8xdWFl40\Ns*{ϖj#lvDꊁ5e{[dՕV5?|clKJY\LA4LO1nJhN^ڟĺtZ=#% &j 98u5x1#*N)#,SM ñC2)&6i)`h8eG͞l v JZl֑6%PTxBr-=;;C[l;Bޠid0tmxJY:xKqَ"8\mQ~V}*ĄൣiAYqd׎=3D)͏;C~WڰKl?!Lj#%REMc>Ig/3;Ě{ٝ}8V_-U0lռ{Xi|0Ya1QRꂪ0iI9mF^6[C_]/\v:IRVwo.gyzXt2JSb$$$!MlE*v\Ii61C{p^ѺQ;7(;/UT#,TG|`H,h,X3]vC-tmvZMiΙ#C-լ-#,Y>p#fHkn4Pђێb0úBǾbӡM~VbXL~$ Yb#vQIŢX+(!#n#*\_~o3^,2;yJ-ijbexv3W`8/ IKXwjpq33aI L6QjbwŽԹHu7iKo|si^E_»R~ZHVJ-'9WYYj b>=Qo P0h$Wk_KmTS$٩jMUb7e ƑdH#(S , ,Hi}՟cʅFЉ#*Z3#*rBUկڥs.–$U7bw>!J r % @s#* ofCeۯV56q'G/lx^ng#,o%R":d}Wdg-~9F,黦\K V)#%J7(ЦDe2#,2]qTjeV|ϣKnDC]FeX#Uu^{QDtVrV(.AlOsRNe;O3wۑ|J'sRO<:w69ſu)h3Lx<62@F3'ZfsGlk;h#%5Y(94!#Ae\5fl|C*#*I%^,`cgF#7>?EACy!8uDC asH iqi9s^AaN8!Ћ\$g,-rL3swYwz^`@R%IwhcK^n"06[lC-#zV6Ahd[b{]関7 &1#"T6MTTQQdYdL&ʫ%-dE3dW,*+)PȰL^6듿4mpJMT/}Q ~ߪNngױp52]#b9ﯩT6Av26Mt|wX#,#, @%)1qOT҉n^I.͎nmɢ+tW.QVsmmk[E6Kis=0 67$}(#*1sް& Dߊ]an0:{kҨST&DΌðnT#%c0 hcΉsħD[S~B:1=CA$l;0va+9j?{`wK_30cNnbʏoʸSLC\;#*vl 뾲ݬ`?žcx'M.'g>eBlyIJd9_p!E$}S"w徏}0զVcIP># Ȍ A QxcUL|V捪14H]zFAӒc T)X ?s`90[oM%g wb h`c*oEVYG4|K! #%gpe,fbC6T'14_scF^/:#,JdD_+qϣy?p۞iݭ)eU"RS  [1dUN]ݪWoߢv,{O3oL.x@-8P0XE WNAߛGDhC$> 2hk{5Ea[s_kE(hkCí#gZ6k$[mA.DJJ>%:at*MhLxk49*$h:̭`+ ch+(KBsqG(| Mhgu&録Ij#V-{-.:!%Yw96?a[aNIa\H&EWCCWzKgo'aԷNC"Qdk#*1~,*="[<~V3 -%'emoYi,rbaxBP]KQݵvɜƓBΏ#,)D>Iſu_Y'˯ҫ #,'膊ɈGJH(yDĐuۣI'{ :P1>Y>tb_=h#,x%oɧ;)*Cr^+}>S_U,_reǏv#,{͉_l:5#,D:E[+cLo#*}dPS#*'Yt8u#,.0nK+jwL'E?5>(_[Q{Za7V£irX@UOǻELPɢyAO]>]m|z~Plƣ_ft5zUt*)~k=ݿ*g姇,5.8] \#їZ(WOǽCι<~.?-Zokr\#C^QeȫwŻ?G.?fPjߜl-7[~FӪ_5|^]zw-o}Z[N+}<RhRP>X6nY\.6I[*'|6[谮a!?[9s5X[˗M+8\&Q#4؏UjvP$pXC ԫ.ZLr7~1aj>h!R_NeWΆ'^R#SuT5yL~o[}^ W-Q>lyϷ K?7N玎kny5:y וBOtq)1vt Q1Wgp <2ZFf*m=߶I?H\xȞPV|~-{5#Ț/fHey_WknvoYSoßοI.MDžݦnYwiY-{tmٻ^߯-h}9771vovYy{M/[2.{$}?tS.jт'/u7aGik_WT[Ssw*ST>qOv>Qa<:#,Ta* 6àWnx3?C&9(B*pO d1)mhȇIя |1nSxkyU^_L]|m*^5gs+jy'gח>«oåmv3X^{~*-x<Nu@jvq^LڧPgJ#*P9[+eqB T/[WRڞ/ݭu\벙^ɲJKVwgw,:mY%9Bwr*7[s#,vwHdIZI'nsKo½\=-ݷ||)O9MRp)|[ThОw+G,*8/BJ,ftn+#繛%1sf^y0(dGLg0Mj'cG~wY#1'?Q -.-2-褸P$#*Ku-\koS,G"Qa#*s4j'f6]M>Hb߮[6_glB#,գlR]Z=iA]+kd5P&Km*> V󷾻MD;Ko4i0\abn7pPVӇ/c g5 ]2=_|ՁgW}"EVWU{jлwd!-94tCGKG^&:Dyj%!pFEY$ǟ:~ط>ʟ y\Њ;u5G7?Qq/8)͵`O侮MB|>9%:"v~atc/?]#v=iDt;~b1=3x;KVc=LVOѼHڢ4p*]˒ #%h4F8TiAQQ6;l魵\)jVaHhXi4#,F%ca<ۣ*)}1_ӒۜSS#%j&a#o- 8m:Gx3Y܌ 4hԓ?LUզZO CZS3a12آ5#%!=ySֽEv2y$ø؎J:Q_=%G2JXDiErRU#,2E?CoU~r?#,vc M]{q-4|YѾGGV{6%=ּrz! lgoxQ2nۢQeDDwVd9^0.x/7>H&kMI#,T}M^~#^}ɚBbr6kϭsu.=}gכ[o.JO)JƸc?槢5ԹD3Y̎/#,Ym};?ouk(~39trh(Vp@Z8r=ag1] +GJtq,n/LɑJ JI#%h`413 il7]LIUZ5VL Z2Cv%u ^6eU@kuF00T(Q7ZPdQЌm$9`4fZG<W&la/5y7U([8IУ:8o;S3#,FBpNB6#,VInB#%E ƖAb,I 1*8-5#** CAJQ#*V5pN-#,E'F—(LRۊX #*qi@aDQ,d7))˪i$fX6uATT.Hl6=(B`Ti3QQVb:QC h&Z'%xFE=q:|K"U<#R<4cV21g Ũz${߸ً¢[wm6J촕11|QqeCtw߳ġHΗw|rhG㉳7j5֫(48hٳ+Oom[țf(8Qn{`LmkgNA!T{<9D#ff(td@eU_eQӞl|/:nkV6wP<_!#*q|c?sB(ىl̫Cѳ_X@b7c8|ܔ`UB $w"if]ixVӴO|"TH{j͗jjܶrq4Rxq6S^VE.38ȹYXƪוe՜盼$t5 P")RQ0Oȁy*jNAK]>> h8rwf. z( J@j.hPuz"ZH-'̄,]_&cW#*7(!Y^Bݤ0ڞĄ}Ƕr˲̢i[\#*fR(3Sw$Pґ4f嵞6(KsmkM^Kk5#*]["U~1,#F,$yXzNl.ćV= MxhʉZDh-C,*Wsd#,-gwGp姭 TU.ِCEQNL6(#,ɂAMRv6 vb'PݑEcy1C{}/˷E&4lr_/r8}[ws%/7^.p>f lOCjqxf~kkt#,#aԏk.4R&܊R#N@"F~2T;cZ4!cKki xx/+TF19.,H6ZoKEAc#,P{h`֪Y\뮷m#*kpS#*&BIʋeU_$~'e(tyY#,l6fz=Dt8u>KW\IrҁH4]gz{[̾#,换+O]S &21 16QFѤq&$CuAW*-cKĬk;٨qG/DA d %2-B5wPTСSuT,A/͐ͮ;lqj]e"wCAFPQ #ág#*>\$w&fsb-b92/jh)gB @(v-,P"e'yJ?(w5%Ng=%3Hmo~G<('E)Wj69)L+7'f^ HK%,n$i.NHx-g\&Mc԰#A2B#,2tN֛$m٥JfQL]JT[M#*Nit@<'\,q̿{#,M@򫱼F鞑tAa4 H̒CR3ku?'$*@@"o"3%(~MfJ`#%#Ar[[E/+tE35#*0hK9Y'MӀ%Y:bG-Z#*tG'EaN'(EI䟻`dBsg{96 ;<ۍm|s k>0HBIqzxyVe)ƕW2ho[jCdl|O 'Dg\mFwD*7)E[Ųo#*xD; (LtN0޸d dۘ'Uf8mb!4C]`xdq.YpjaGE#*} 8.6uY8Kd;R`SnJsI&IXT4Lb0|#,"G+~8_Mp^A"s*d{bPw'H0bsxZ|/IߙӁr>ř%#"1|٘*ZoЇc;$sV3z&FD^ccpDю1_{~yf^xws.[`Yw0Q5Xy93zgA9`si^i/״s#*>\u]]zQLΙy(v]ӤԚdd_Je/?3~huWafbu6_j"`1bF E-琇I7r7o>RNb#:M#b)D6ccjkX]_49BP3v,F*#h#,զL+γ.vşO#*N5<^avawuVBbnxk5 1'hQr08gf(tpxUqi{=?FݫٺQ$YD(#w&WR6﷟^,5;]lxuU9vfJ@һx(U蝘zqJǟ\Wl?뢦[?5#*n~K 7ܙACJ jN#%g@o-\ #h>_cfPMt<_Aмź{ K87wjR3' ׌gS;&N>flj!RS#h&= W\oSćD?ꪼYT Ea]Ŗ0BQEgI<{Qi| ZoQD} #Λɿ|wbM3ص/)jΑu؆+QxNy{mfv=DJI_p=d 8$:I &۝pkV(o!l] jE8*eQ*ZgI.C6Ytٕmur;,Rq2voe5D?U>[#? 2I 8*yDbyP k=n4F &^k#,2C9&MXsc-0tJps#*oMgܲX&Xj4|+9y/Ae)Ao21)P^@[aTc H|n.b7_][н@"p*9Jn^G|`dӹw“>T3y2v)r!B-#%y2.ҒŠ lYBPǚ$yTt T#,hRee#*P#*;Ɵw%w12RRfx(1NFl[N ٖ: 6Rif#,9郞'*ܼvWSfh^bm)DL#*pe,ۊ}=ڔ_C#*foM>-xC'#QPf!i8zlӾ#tZY] [;k:[̯n3;.V:Q$xAǃd%.<6(^?=vDi03|e,bH@Ǒ='kP[{n>'aI8y)#k^,X?e7wp\(Xiw\CL쀺p[>$B]9|sϴkvHyBG#,ilфȜ#%\!biMzA=5_ߓ~gqwFGMǤDc(3\ݱ.}> ,CmtRyo>Oljh?^yQiE5{'XM!B߾=,䃉tՌr=/g|1-ZDZmkZu}{/͜q}돊 #*7{.㈧h{a`σiS#*G@OL㊷ޕ#H0W &A]Z|"Z;V5o#*{ё i@$ D3E|D}x\5(1G]E?LZ\-rL fWE+鶰C{UT`R9)π|n,Ie;q1M#ˎ{52]XpxE-$!2ΘK"9;bcW Milz d_q9Nzev)Z-OsUT?^Y`YQz#,S2[> ePgVDϡܳX#*/'QBq6Q#*g]d6&B#,1|>Y9y: y59Xʃ|ѸFW=wI$_?)BoD*YvxGo=dU)'StV>ޖdKyPPcF#,/YN[VxA#* m|2Ø~hug>ַ 1ǵy0>EvgyOz6v;q 7vz1\'2;d>r'v{-q14Ltpo㓬:eǂX2u~ʫ-*z<Ъ;E!|!m_cQ߉;E|ZaUOc-Ư?~dx? %8_tcm5]|3툒tƷ~&XngO?4sB:Y Z^q~|L[U-],o{8G5旭f e~XLjc|T*C̦ey=!ӞR~k!hud{g۪>~ yk8niGswۿX-#,-:`=qS\[6q|aǿ|g?TQ2xdRaC癏1P|1js%ԯW"kuHú$%а[|\ie&Drek3yrz3zR]HwGg:C8qC^.\I߯o}krwx#*Geix[DX8 "N1/M58S;0iZ\;i_z#*˹~)ZX"c:zp-쌸m~Ň(G/蚾>fo"U7$_IPl EMVx̠^#%BRd%+JOh~Bxw][Ev>^/:iƺiFJ;?}J8r 8ϙ72.1ltZn嫴d}9p^x?nzQעXIT5T wsmێ4#;R#*8!{rO/)'M\5PQHTb VqiL?)Zhz5p,:0ֹj+7}cɿEt=VS$~#vXʶSunq5.'ދu+DU|o`'qIoy\r|,ٝ1jr;c6Q#[vZYO j- LqW/O@wUud"j<u[f2K,iUP݉&xY⣋q(je cW1U!w#*ӫˑ(c+c]g<˚$n綹H) ;3yO^m7XG!ai4ٕFWW6,m4N/6a݇XoA]#*2Cf UvcQ[g琓(=$*a#7ۿ0oo/]UDžM/Jc]v].V[wQ"zĕ?i/a7D9G3#aͶ=qm%=S؊\Ā&LO ^U^bώ>7J~>gpt'dDMcj4,,1=μLlZRݔ&FEһ~p_h; S<񎖷L8lk߁8!= ԙHUiFa$NUáPA A>?u--Y?+L2o#*F3~~xtT F`G-G Q#b:jN3KɈgLvZ0;$jR8f;]%H0?(B&`j^~|`@Æiњ.)E55Xx=ٕ-bљuU/P+lԴ++VcrT2ʞ#,/2Ťo\(jHUMm=|\lÍ04h]KY\bk0Qwc|`.Y0DnxetXNx馶7.|~}#*ON81gsߊVzzb s]M=ԉנ/GFS4jq#,}{B,P͇ 1ރUhλ?Cߙ &^IL|ВCfLxC5HCe}Iy8 wx@Ȱ6r4Zy{/ʓRxNpdpVŤ_gѦ~鰬98WA RկIM鮅i~4FaЂ<Tu*8 J6&d&9#d(mO~|]Ӓe;)t:o0#%"#%B#,Զ#,cE2Ⱦ$6TRdI;nId;R : jX#,֏G盠S} X&{Zt?5 N% Ndt|sQMEL贺z3գdoq#*ܽV5c0Q|!-> F[&ɧvJ9vd `]*㖃m;i%t6ǎtL~,IAjӶ%1ԙZXwq(>TVv :#ʻizazId[\/o)[k9h9 6$#,~h'd%+rh [)h3ۄ(p<\eR J.Aĭ]dHdH@kvWsNf{}Eȕ}<#,#*Ma&VR)1؍? F"_<x4f +&hxig߃zDBO.;ba{5]n9q`tX!],fkI!CL\|gn#[-&[HVTbD3 RM'EKN[48gVvTuɄڡmG9jbU7 zr}sM6 muJPIQn:Y^-ufaIR%{$id:"^mTmӦ=Kg.7N&0mDxuGo%԰J3M!9)M ~EWίIq3r'E$W|>;W-s,02vHCu`hl%_u-ϠcH9BB~#*ej`M2и؎1p+)ʨ@9S2]M5e W9]Fe6Sk h!FEp&;=v7>%Di|:M_y]W۞u'$ktdhЗD&1Uuy"Kf;QoyA;ݏDȠ{lR{O/=P.#*Pa$Er֢3}}R/g|#*W|u!ED"Q.'mYqj+\iڲdH F P!6sFT3.霊,mqۉyh0$_1CK)Ic#,KN~ϏFuw:S]P' "`ϣu (#w]3·54)4>WP$IkMi C;wFsGC~&pۃ*:aw?n~w˜E#,\)۪ȰbL!JoySL~qNy k#%R&e.OyߑwIϓ IZKKEMQ^6Z90 N7=I%*0ATy qMe> usӔ}XC ~i'T:G-9x_qS\O&SHFFDg#X65!ycz#*x|b;ڊ4|rD4Pz{]71 F ^m.DFOumKV;7$$Z4:$$74D#,Γmk%zypLzm4ӪݝNځXw0ˆ+=9=|{dҿf{!sH!IwAWƘϯ&!KsûIxCM-E$QQ;#, 2a`/dBM`j:XM#*FZC(ġ2K0cѥ쎂7,%(hY?n#%m# ڄIP.Ҟd#% Q.)*`?c>Pm7IjKݯe~'C(9lx;/n BsjJ+:! Bυ&CCS"<8T\g'0uNUU@hI~֙/{sU]gj(97N xYʡF.>p'~ 9AT#'v]˳h]IWkQDw3v)mIȳ)Z9T;A/ x3;A##*ei&({!]D\ը% bgD8.6NFIN:5YBG{LhYԇ"0$xkxqwMoqPÝ-Ҡ|#*O;0MA;R$$?Mv KƯun#*,ش[EfU6YG߾׫j" (ḿ0v;plnGFw#*v9X[dnAl-8PH8ԩAE\ ~4Y0霏CTWŦB툆DDTqg]{u.s%c!ԡhM@\CGf#*էIu!!QwއVOlÍ4d*Pw-[X7aDGtދLlUv1HY .o#& !O 3mnl,o;jBwD=M2432'E=4W/D @F|Zktok%Z*-ͶjZ[skՑ!?Sf"b* S]Κʊ7jD)l*$H_D3Gx:JrBS[*$3#*IM%R2f#OH!Ղƃc,k'%Buh(ϔ?+#ԁ"S#%RE#*y~q^Et81}ĵx$}6 U 2)A-DMJc`D$j>rF(o#, ar;ɞA#!L$?/|_YۛmmF#,:.ADd[-2 }fW5֫K׶.#%lH$n5My(s,a<0UaR8Nx_}#%ilA:U;Q,`8Iрj]Pۧ^?cdk<#*ddN-!d) 2 P~{hiw%{&')zhobdtS ֨T{m1Ƅ9DOY B057Z#Mð4-r`#%V1LrV^& #,jtΐ.s\`ޫ[s|#,#*8"C'+2,Fj7Z]KMs5Db՛^:LpF#,ʹK7̢v6xu1˞懌*>X8Z`N1 T@8 L ,č>|#*4irj^2A߹z7lKƃ_^,UX/Bhˆ1B?7D dY1FvB9eGHM/;GAV;#,gy[]Ù}Omoԟ^2ӫvt,:gzyF#8_ud`w/#,!Puttg1͛l}#,~ݎȒp4Pt@0P#*mg$Wa]6 KҎs>'-yxݔRiug̴~\m1׭t.UpNFˣ,:!ӿLB DTm)#%ɆGnirH4=l! Lɘy$dNRBX?pv_ߪUVc柚T[QA%lB i94*ň9 N'ZҨ8&68{2őMua}$.NpM\+5s+XZ'K"H yJOF}eULR$i "NO^s}u.1KUՊhS*7bO@p=ߜYnhcߎg31NE#*pH#7{peI@:!ӬV5K:o%z{#*#*@)4Vzxi&IɁl#*hcX(6t/,lr:Kw:LtS C(wzt` 3HM iۊlou6-4Rzn,Ȉ #,V_#,R\˜ ȇ)QH*4@2b*G[pN-3:6B.L>mеaA5`xԞnoA`x#%jZ;b|M3] =ZE{a!G֨O!gȱ -cO@ s]#,Efv&܆#,'@αr3~8|cp0ɌÙ0~_mߋn?+s#,ȡb"qBXQ,?'#%j-->{_#%=#%e'#,'@hm2)mۋ#,!#([#%b8ɚtDbY|c}(ih]Q/-]J&6+WpjpICdIBR+bbxsJfmb7du}!-wj̱ (o(Gx0f,EjJ@Qa~Oes7<jk'H- Ak#*fNIE  +~~u-_-y4HI?+YEEz%#,gHƩȥCؕ%:륵PVY"[l륶U#,F(K_F#%& t qk䖈%k>}U*ɉs[ГZ)DFdY ?mM#*=/1ń&b*(PoYiSwaV\JN'9!I %%!BE,u*+_{]<.W_ۻ1B1}T"7L5}pB |DD2SPG#,๵R8tRJq#,W5sk4oػx@Tֱj:gm??~ /cx_uO#%biRt+S T/@e3 p?4;*w?ֱٷ;$Q13a(hJQ|S8s"#vu{m <ƚ]sbUv5upg}z#Q1=6;\tI3ܘh.,W^C8.tȦcDdX9οf}Z|9o6Uji}agWTK=l'1sS@ͫI`*CNgd9jRisU  UZQ~nOXƺ7q,_}.[?r%".dx!8o/Te:& #ȍ;{}Ts9ٷ(iIr]Z:;{(U ~+d# prU'7΢FcQmG)$#*A%u>m?/]S].#*X5t6"LZ2471}ɸhO9|+($ڼ]ɷ&&w3}7KE. ?d;C8^1}+ow|W(2\'o3z_q3ȡ#RPP 9uK꣙i-37f>sCEߌПP&f`H|Gū:Q1d\,ݔ^3!wVTOcJv.7!ff#*INRz9;ZUxUc<*cL*V|(UŪUU:N>.V]#%}. ١i6Bʟ n6|ƤYE.pfem75L*׫B:1ř?3efp-5#,YT/oǧzSJ`}οԁ(GQ/?Qo\yʻoxf_]Zg"Zh>pEiStOj ӥ#u^G|#*bQxBMکB_&Ds84c+i^c 387YKX&~Q)AP>N,F~Jݓ8 U=Se1%|!"0}7I8Ts2[뜄T*>8q!L%tVXF^_er#*8t!ǩ[ιϊ.Ǵj?;,K/QNcgJ;\};+ d}ώk=#*Y=l';S*znX|9XB:vT'fL?7AVpyq~]Et\N^x4!k5mAJDt!b:==|&_T8湙.O|7`Sa: w7XS$˳yn84voט'`IFvūˏn8gḄqQq;:Ot*ddutE{qR5%b_^yxk:tqaU%g3y;1J,|ŝ>3R=bIqy#*^IzTd;&gvG3] ׮}2a,*U% ać"ǜOG]ŏzoU՛8];af7yIptRƋЄDgo;0Նr3>j2'iTuB6TCb vl?d主Rr2K'\d4<0_Ie6n3Ɣpp89x($wX~*g˺#,1cze1ʍ;οEXI$*ڑHlMjT0+xq&MGeD9;w$#Nj##*}/ԷIp/̿7ro.SF?K֌ΛGZ)#,IYGbqաQW㊐~;{UW.w6d_+,_oH_h#,} 0o?vf=\g;Vg}¯lmA[n1SG:n#," ~Y/^a3N$[KU>Ny4!_#*eߙw3H/8y>WU;#UȘKT/80(Nczr0^\olf}VN 3FM7P$@?}uY̻iȉ'#*[COq+ڛ:vV7!-Gle%$4[NnʁHtqP#,pTeW>g"Ƽqᇗ|uO%2ΠHP!Z38m~3kx3abyn#*FhUC`a= d^;zqh)IPccɐq-Q](@jqo-\o.o?1J%\xv^n .<͒F9٨tfq#*a-8m:YD-!0$ɆJ Q\2tM_x'YZ@]=[&L_DQ.D@v$, H#,pP#,0Q$#,C$-V.E+V &/(S*vgV1}MI;\Vxxq^2&O"^.p]D?srdāg0%zv fZKgh/!c/)hm'DQyy>#H4nkjOukǰ鸯w$fb_ȃ;Je#%F$G.iXWULq9g5jjeCQa.;Z_5hO3aH2Qī2/tFˤP:XyjEtSev@Xh!pTo?Ga &&-˭bsD7>ͽ9Ѵ $:w5?^ɓ㯦LVF?2Mɜtd_pq,NVLqkz)@$y}g?7Whs~M"E#]焇wk_()P#%Gۛy<9\u`0$}r>0/:J{;ԑzޏċKqf]E?-9G㎠Wg3y\ע=zk9>*'W`[VIwJ1 nIaqIu`B>;/:TVp$$Gpq3 #%#Z'܉иu=ߙmM1uT3#VUfCd` ַq*V&.vҕk9B/YCUf$;1-֞jC4͒E85OR80-Gu㱯ŝfǿK^8zӅugq>Du§^e6mӋY^Y ݷ~#RJI9m#,Hg G\vj~v٠s-lpf+GS]Ffy8N h@g%緄}2sæ\ /#*My*{0͗1g޵-'@߅rG~e2[w׃vL!dei-!tA&kS$Z~_|]о'W 1Oçvݥ⊬2gur^3'Zwu-טb;S9yIR G*!Jt5-5@jI{!gj=w1<ʧw5qf;([32,.E3h~ La>+O%6Y#*2َJ8PDt]>y9u_יNkwlx 3DiO2\&9|7sΒ,i[b8z[soN온B&1^;hib>=5;vꢈs:2H;vlzg99QB-#,^9TfŹ^X]cW>EHB-$c.FJGˋY^ͶmAp+- Idz~R>DJK $a1s^"#%!{h}k.N| @NRRm~]0AG[bזVBVV։#,M;%>c olqL9Mx/KNoW#,]3rk:5n979{e5& mrjRoD@Gi#*TqY;N*!$>(osr(gj0qXHh߀ig㙣h:u61gv2O&<&6KÞ֡Vwg\p`IcAIj>Ͳf|/F5+X[l2!J1bHfpMT,b+e}47oأ_jvrvf}1F#,ꎝ lؖxk@x@wӇBnGGI%0#Pè!(ʇdymo2힛^iH9'tXN)g vT&%B8Iw[Ĕrò2x¨{ R1~+ynyM6F#,#*gVt+WV"\Ņy{Camr2 |oQ>Mu'xe8lz;9o7,(q0Y:nsM#*lq@8YONn+!wvS1&;{YDPA{{d0mRcUW.jMKn(iѕblS2r"O3Aal!Oy*0(jQ.*,]p!ip:9 [Vd\5cW7!Aj^xq{흹'ҷra=܌Cڝi0 U7X2sM"/!}~cs1/}zݘO\r]^H AtbɂF*{\vVN|]Jy[{z#?L#%Vwq*\SVK⬲Y~_wm_"rok +-W-ffq'ՙ0`V\A;N!U^7@|W@v@ :#,29J\ߵV vx{k#*` #%c9V" hAd%T;U}@?HѼNI7%m +6?mh)gn׻Ϣ;ˤqa6A♁@hgӪ0A3tc0‹lN!s=]dY7'ؐd=X5 ,Ly `Ǹ'/pvS|ϱt6C@숍{CpMdrcr>{ S0=(5 ?A}ރX2}_0lO:&ؽڇ^_#,qL͈N/WOI#%@AW_6jIZ2=j[,-Tu9ݐscN6q*tàfH?g/CcCϫ:fwfޱ84#,bys~Lͦ`Z+[ԐE_%,c#p,4_r֘BQ;!r.J*IGLR%!6= &|=^&ApR;J9O#,iU[w"3ZǬdq:bؼm!"p@uv~"+#*=~ä^'4W;6@D݆x/<'%Ab&#,x=1jQ "p[LRr)#%m!`>";Q/iG.CAVG#,H6gaTȏGZf039)w @$L*'C#%šP4i=qbz5S}4yD9@0 *(#%1mS %ffj+caoxfM{zI vgg-UD!偅?caʌ{B S&!#*!áa;GX#*v~P͓O*HBOx%$&X.W[5uOګߖKxnލ-a*ԐTk3XBď#\!oNI*7&LލfqDK$ؑ0&lz2V醻-@R1(ɉfT45ma#%8ߣ!F~hׁ)XtmdhkEy::#*>#*v?^~vffR"['HrI$imRU+ACxʨܟXtM%- l/P) ~%.W~AG\S6L$2|lTE٬\l"]dL#,Kq5H"QmʂQc YIMgnBI'V\WaF-;Ymg@8\mr;sb8}`9|N{i^CzYI$lddx߹~tnҹF *#%ct4py!#ɭ/dɖ>a[60H Ȃ4|$ AODAr9= N cYJ)oϡkqi]6o9%ڟK Dd`?q|@dn _5:CG+ xx+|( !o ]`DY> \#,7 |ڝs#,}C@qHmr1DHJBlm͇> ;P#*>5Ŭ@7AI6,~(zۼST9JxNq|eG5)@^g9;2Ϡ6[0b ~uNqE^ina[DiHMl̳֧Kqx(ȡSo<}<-O8Ǯ7$ 5ѲG>lA :#Ou)o !u}rgOhx>G_9\08mإf&p=n@0$/dI#%#%Dr؁kZ#%DOOH^#%q&!Y_wGGa_m0Vx~##} d/1^z#%intu20}#*L' 7gЪv=ǬQahҶDï8s 5Ze375#*#%+/!p?PtJ4R&Ȓ b%FpD峩BHbu@L3Ԣ1ITLH`lk[u,oJ'keԛRlE^  $t "z!qfIDDjTUYMuiǴ aYQ4 8ΗR">(q8=x~TfB 4UJ,xߓ1 {2/56n@.5BԯoI"DEՖ5#,цe&j0'[B5Ycl.{?//K=+<>j2Sr-B-W1W0QCnA*{#%c`C\}|^~#D 3i%d(ca@}Ak~>N e4Ԙ#,HP rf#,!$8`08KGY&PJfyd3ȝPD x2#J(t"0o871~vo3Y!,Ne#%#*&L@@*gÞ0DthﲏPIC(jlWNthC"s>#]* AY'{~(T#,ibd'4_'}?)?aD1?w/)GRFAA߻`&E{!n1F#1c)8oHiasR;'= 8#,v`²# 4@4ԫEn&XJ[b\"B Lü~#r2xHs9ЩKS[&a|u(CsWD7ۆލ#%#%wRCY.L($ 9+}[t#*|fމ, `;5cG/U#*N8hu߈&yԞAVU \0g7,;>yX0&2gLͤ_|(L˦6rYUѡj=t[咩b%|{H`@!zf%.T NAM RDCT1f1DԊN#,"m4lel˓߹u.&)i)lBj(lN˼}pe<ctg$Erkl%Ȁm &Tn=fZ]z2(<`y`CސXCx"eԐ~5?;ԕ#*9Oϭ4vjPF#*(~$#*pn4a$cq#W#*6aR 9.P"&fjh>F0MĆT[X#*wErȇnñ2/E?9MLS#%btvZy[&w'唇H,yzdPv?qX yyX(˸2 IO'm+-& A#*m+]5PHS"Bs2*|||l+>-~SP}bGe3@7ׅS5ܭ6?;95t nQ0hf6 Wm_ocv4rד?VL@FL+Z%,Ѿ#*A#feh93bz@p,w#% '&E^:`?/$6#,1 'u>Mz^3)#*#%LT(6yè{4#*GῈNf>a.tӖ!'L_#Ց|Cx#%XY#*^C[o`@.dA f&ܐs{po{.C`xoj2k}FM[מ#%PI,fá&X uLHA2XObu>ς{˓㊉6O0hu>DM}vB>HCyKv0.?&KTLLYM.[ƦzdutjO0O0[&P.v]fx=`*裳So{6&EYQ(f,s;zZ1R}Tĥ+' aŊk0ID;K!Qe(E#%]|D`Kx|z F4H ||ψ#* 0Li^NM,罿 4mͯߌtgؗJ=qZ~|{҈!W*zxT;$O\'aJ#* 4 Vn#*4Ę5eH*üȪkZ4! i&#,JymxӷV*Vb^,cT(#,6 zywm-xUIS8rCc%\(Dham!C8CP馚ŋ4I?`ªItES=B!UCM3wȐ@`ۉ`#igI1gIf DP;mjgl8ġ&hH1؂t쾺O<ڐ̃c~gȧ E7dAQ#*ѓG=L]n6hNqpՏx~%+z &(߿CA'SP#%^"@-N0F4^jع_$D(Pw=P͑c捄ܙ˂f+n'ji۾9D X.'T/&`C?-ЫHf`7vLqn&DB j;NW|/nq)1BA_>媮;Nh̺M#,qdpbԡS.NP26,t&#, iA`mO5Bqo \*@!e7s#,3kYA5ĹpzM̞osa)‹يe(+bJqV5;wU[0lWKuQ=(G#*/[&JD診EyR<,PjOAϠ]%G-Ff^OfDn3'MF?g\o[<4}AϾd)ѾoHXDאy]Q9߮ Uē?(1`, yiqW˸eH.1ќ.P7 m B5U c}s0(%)NQBW*aҴ}-Z_X5k#%V19auśiHt@ȹAz}#, 98#,`XcW- 2 D ZlQur-lvhA0!0)_v!d$kC&ZpJ(Z&ґ1MnО^3t.aMy]#*gFGLt,qȵYs;ի{0/j"M;# ALE@qLW/:gBX;7=GLLz!p⎮LN0 2& rey߉N&6c v/#vP`?#*0%g {&K}*26L,;p~_g+#XI?,dW. `;Z0Li Tk?#%%mhj̈́ӇŒ9`B#y\ygcE6pQ'6x<\[XY#*x*|gCѱp6MaUYJ/[\q2W rEWpz!SGC_ !IwlPWaT|!g"H`!سx>h`TUUy-U+IVu6i H17 OOPS #,J1c{U|>̬MQLX4@lܐ5Xp@EFf쉓ٯ}5ٕbKY=#Q&b n0VhQU ` 0aa"Ҧ-6#*$IEܻATK(LJB6ˋ=[a:z56nJ8r23XQ q׮1oȎrҮwH?eߕ9ܐ/l.ٻ5ro:Oݾ4|K껿-t$>ÃHvܣ"cUMfHh³엃!c(l Be"w쪶_$bPD.Klui[f#,uo-lwUAS{Wԧ 󐐒IV H6@LE|6DI+{)DtMV$x8aDeϙs9 a洺6#쒍FfXlDK!#){i[jڝ&RD׮X!Aqh&,e{Bt*QdBX>CrFz#*0p$rT#2}QFD@DhH0 |5"d=G?n#%fk%0cݶ?Y`|'0k7et-rhh-ΰk;&׻~?zXUZ!#*AL'.!w/uN/B_:K"@Яg޷'k36{2"iUM#,Pk9G׀#,Np#*6+vkvٿKX;.3KchwåJaڭN9[ieVݗ煮w7P`m<IFNM%桻U^LPq?yt|T٬x.|` ~rv>Ի,N{ Ɓp9Xκٜ(1=M(aEˠqS#,ZS1pӦq&m''>[ #*+e )Unb H۽"]ͱѿ0TWg##,S(N2߹n(b%Qȉ:#*hY!wH_Y ~w.fE#ݕ {6fAfNSx8TGԠ,#'F>.W' vbo1(<١ޜć+NQ ,r8m' tmQrP&WK`8C3GlP r#,MCRi5(,w.`kx ҃SC`tH;|g,Le(mv)=&f4>yݦޜi49 PPH`_\P q%| {0e! \(B : a))d(Ša#,*Tzs;Q@=R`0JlTڱJch,)#%=E~ 3F@BҀzxʉ4Z@Se/Z7KBCi#*.ᅯ4L;tX ߖ|=Ivlw4v+cjuۦ5zUmHֱU2*Q%Q+6UlSl5QY*5*1ň! #8grTh/ DDA# tKAꐔrv1g}|h59+Nˏ F0\L#* {B>@A°r`fC|t-9s*E0Ca)dYMCh,Q:86DeT"&-tj.C .#%g׽lA@DAh%*2vc`֕j iE6ـCʀN׽D}#%%UDݼ t? ">9Add@,ͷ]ƨJfW6S66M@~ \Ԉ%Dr*I>(pC#%,@<@|gÙ.}i[0smO50#%!>R78m#% ۼ=akxIx2<(D{AI96d<Y)t3la7Ӹu?Mۖ%B'1#*:v/>14T֘F]w/:h(z>7l=xxE\T엝s]ka%lMQ#*"ȍm0Du#*M!zPІs:m5,4#*w".Jz?DKD 5Y#%n6PIۂ.A,ua`I#,2ZAU#*{'٥Թ# pxH@@r!62gX͜.FŁ DRUڥ%-4gLZ @"#%}&VC>`Q#%Gswy~=0=F/6螮MiJԡ1JA+Y,Zf3ϣ8n''09εMωӈ5'$v7F[Da0k]Q% YJXC<'L!ʾkwŐ=7p#%tW3ʇTAaLnx52{[x%5#,A ;JU -{h";M¿Vu턔E-3{.:rym`'N.|hԤQd)ʔ!(QTa#F#,&j #%$ҢXD84҅#,0#*%[TR D$IQ$"71Cc=krʏ6CV8>՟;i{y/J$qq0yda EkRE"Pϑ+C'<(Vub(R<4yͻ%)mH&LCHH)vMF%?u}#*kWɝO)-k#*GIߵH#,0#N!UqSRmbQFC*OQD6fxwB;,uIZj_[,8C56tE4i#, q#,Y*)*LNΕpowlTLN`\;3f5Π[>:PsaAXM+9!U>;eЁkd#%h!6`ƅ#d!F,IhXf![dXX+rhY2LHLܨ#,d,9k/gƊ24YD1W3bȈ#*zDTmJV0R4A#,Jj 1a =H8OHS$L=媦 P jESJ#,VqKcqX HWƪ-{ڹ `obZxN׺v}~aC%򔦜$)b#\;}T%;5)(۶ʅA-g4c L<X0ߜ[F?3Z+/#,eP#,/;ތ7ǚ~xR9S>Hrg1Fq%axx\K c2{<(#,cpbhZ[R$=|(M#*E(/轠5*mѲ0`ބNes(UID^?a#,E'2iնP(aY!x(mQ℣<ʔکJ1TQhTD*sfk1^qDENcF!O#,#,bha?[R+(`2~ GT610h D رpBaV˳#%uHp{>^+쥈%"ԭ@6NOB=1Q蝹̭0,CM(7`&ēSi јWyYi$ANPĸ#"z0Є aw: v#**5f@6C 脣,o)i7xr66죟~rKFEDm24AX HNvxT#*oPiaM[8Zv;Qlx[`ff>+|r]6#P*H[sε(a\_нB{^O5kشFjjzR60fF@VA25$`,j5e)ҍ^IٛMyU$"5y+4`ɢl`а^M5 9eIxqAq NEqny9Ip5BMч6yyP4{ѡJm3n7zyR:7s=w= )+7%7"iM}ً3CD5V(7`) -m|6颈.&HZso`K@C`#,:0WPAPl0#,pᑴ.` 3\[ȊTS,‚J#*hAiS9H^Nxש5C.C(iU]j=eC*'.j'VnԢDb3o}u$d!3+Yz.($ G_r8ab4;7g`X"bxm A,uPl̡ `#KDvtf@qV "Q:/ >7.x:[߽4 IH1R>N l!X|Bb 6OYc-H&ÏyC,c@-#%^(q z?_a>8b,0)4pXG6śpPut.CG0B4B( `F%$A@h=ɾCPpQbH aQW'(l09?P@ il'_sd$x~|T#iph鈚R"77<5nς6m5Al7=N.EQ߲q2L̽;I=E"2Fc;fy0!!!;,,!A+Tmo̹u\ZxضTj֢tUx]$(Z]ՙny=\=dH-a8h{*0= æf$mbK;C Q'2F#_M0a%2PQ6)m2bL>RS#*m0m4C%#0)6IJ̑ۦ&Mi4hRY))hhWǺ,T%5E$h#`Ɣ"*j*BRIL4f$,БS*I&5yJgl#%(ݥ b}2Vmk1mЇ4@}ƺ[D F|\%W#% wFS(mvQ6fr5]h'I|Ls8pg \(nײm *4#*ZY+8&xoa@F9QG`6 J+$0/RZ#*'C$NU}#,3Y&Me5i@L.GGT,޵Zxb#*E:e3kϳY&|w2`O_r|}/>KtuM%u! gp;,`7d|CCVkkM!RL#%ǃuNG-_ΤQghĸsQ#Gawy9kH|}kC#&-u0b9r׷0c(O#*mĢT~&g+ZC ]4wf'>uoB91J CeS˿y_G}֘ǞrAD&Mqr~P7>4yh5#q#%Q=u6dDxwγ9FPc1R4PmXfC @#*3??^ȧ۬xu+m:7*V`8=#@n#%I>"b#*L@W^%j,h0s.vEaj<3(6YKtJnN6T,TxPB7fT%#UuN5ƙע䙪'_W])9b801#* ׫O P|PRqi"D,&&C0v?cR3!խ!$7!ԊHLy>Ѣ:54Ks+;Z#Xe$|#*I>1rc^ز%`r utlN31܅h阱JR/tMB pp[ ]~JQ-idd<ǁ[t#Jg ylBV}k8Iêlf+ƲGKhsc4!b(r*GP}!zk zٔz6\Y͠Y<4``e0QkCmKјpw! kh[R#,Hivt Dr>;K!";V,(L ;e`~3]Z`t\x5PP-0"C<^쒙]#*$Nr$N cn1N=oLtxkGY)-TN"$3PѠYքA"]74<Á2;#,@zv˝lAP, j1Fb:KGcr^%b J urE1.Ip2T]GrqS<eUEohRBb!!p8X-0e]fsIfݩ]`D <t,CbQF)vAkU(j!oR%V햎't6#*SbP 备$I6_21WMAvÀKc<8Qj#%Bi#V[Fզ[uo,"l%MJ#%% ,?WyrwѵۚeddSV|G 1NEf"9DM!_&H0[#,&Ƙ kx#%hK#%ʒ;%H;WFcQMBvԺa..gsmHYpkB>!Ƴ3zlbTB\d0NL ۨ.HAiTc5$#*5 7[C$r9?ʿH@Qu$zh-!#,LƒQY~pa *'jv:G>{HO:l#%w78#%GN\!о#('QCȾ#qc?$%?6$]3Dn#%~'l d{z?6\M(׃P xj*౑JeMyDmn1pc*pZ+6chwPvDhǢ2^6#,=hlb6&+q4 "tu#9ŇDj4=`拰>j}b6%a\n{ϝ"#%Fb# (RkFZfj"mJ{(='ׇٞCC_MങKȺ;N*}{{;3V88# @0DK X*{D`1+d97T=s{ wP%ڇ2gs蓐<"DvbAS:gy? Jd昫)#,P %0H#%#KӐCf\aa,Q2fDdhdCMȖ3" 4+!4Acb"B|L3`XED0{A59>9rA9Q36al:*$-U&T#*N wK^xB1G +wBa$EWH%v4=MD0ptpwא֘(Ro֧tp0Ĵ38h._;7̀͂C r(  j Lc #FNSA#,i"hҍ╒Țaa&8,)(&,#,D,0V c@\#,UiAȄ(#G^6]/p#D4 -H]ܗnͳoSs]N%]J#,W$m1 !<]yiB5<ʍRbHD%2%"GFH:oSc)4lmRRMb)XXyY`4jHKkh@$U$EGI[\]A{}I H=trfAIa %AKQbQYlb=0,_Q{Gi1= 0 (i`1mT_vmǻ>?aDfj3ߥa"Ggdba^Zm9*mgg}#*k&r dQ1zS -R#*~6U B /!hQPMv}"T kóL9֠a W`w@DI5\n; PRɜQ5kS)#*Q+mvz4#*_K<U`AmWNfiF3a1 DEӍv7E-#%mr#!XK`π}.&4#*#,/nE b(v]@|6q.;u$CcphHDHE}$+ӬNEyD*"v(SfXT@3BcZdR&ֺ$7m$h%#*d֞f[4M6T5"ɦRRhiS!El1$+%k-2lZ(֩bR֔M'Ωqi۫ELBc)5Zb[,lQYdŚZݫ3I5 Bk%mM*k{ږi&y׆LYFf؅emTb-*kήwI0bo< a<턆,wnC@1_ͼvλų@f LgNL~Dv[HDQһD-ͺ@cP&PlXu80m lA CWFv:2~ #,#$@$PM1$H%*YH<#%EF#%|ڻǩ- @n$"KA##&DɶEob {'us;eB>#%`zTA"s\9?yzUb,WNJMIYLȫ?3A ]e2&㌥iY6dAPԓ5`1lcV*"ƀFfhKjС!}j80m6pYIl;2A#,Y !m5 Hi7F@0₪ҷ2@g u@ϛ<>#,W(;B՘ #%#*B-ĭʚV*clDEEt؆҃oe$XPȬABJ|VT2vCf01h@#*b]P}F~:Vƒ(mg@oK,u#*Y8u򹎰6~?yk)T?,eSyp8iY/<u]иX#ͭvCF['sp]X;Ӝ<`ZhH!;;㹵a0U0Mգ%$J`NZ׳DEzye~с kzN,% W[_\S낇Id| FE"IWCaT`L E"#%j">Q46@vE){K2ejfwiW1쀻`{3OEBd5`09G@Q#*q{G\8͙:h#RJ4'd#{mM+CM}bWjtԴ:"IơPky8iвŀb!C25#,\٭I ϳlhЃ㔤IAɖ>Bkw$<iJL@!,<%1"Y UK¹"#,&#D8z[u@U@ѥ; Ɗ*02;mwC}sf!*LKУ'J6#%6r?x'WE*=frY;Ov6LݭidfTxXr~gFiv#,Ӊq%(ۉXHjU6–J9v1ECbޙQyI9C$XC#,a("X2(3{O\ g.=0zg+ӝ{fyْV@UEUCF-Dp.#,U9'XȂ Xʉ1H(~N\$FG녮.;;۲޷4yA|LFZ;ޑAi&h?WܽX|`yɹ|'z>3MA=vgNn'>]}ճrŌ7F5ǖF\hY[fG'I!Y7)ov _y0GD՟zU@|yI#,nSN!82["r4$1dL9=P3Ί.0ǐ i#%$/Kh;k(YC*#%1f˽Lu&hIUPHѽPY0TШY ,9Tkd0b({][WPl,Rԯ.mgtXcjFlI^QU{{u{D`K@@ebjX3Q1HA> Z|sVKC216H'L7z,=#%1ګ##%`,-R< 㠚r4#*0<Ki;C 5C,N+;d&Ǫ>ʩ813fmnD5QuSJH$HݱihmQ#%__n;,Aq)A^ W@'fTU}dMJ-_ i7ҵ%$D,YKS'oxˆfy_]0E0|`$%*3I]H]NޱZ22AdZƛ94ʯV+sK~+zz Py<\ImQՁ7 o)JH0Mz2Wq[ *P1袿QZP BCvLJd3F[m#%ңg鷘44,f ,WZa#,d26!)% #%%)Fq(?"DuIIH.RlRme2KEMʓ#%`QR1Qep`jFiZQmUmoA!H6Cwʼn]#]EZ[٫ѹ[Qo&h-2E e!F7rV '$8&Uf.0P*T!W4`Lr-5ZnR1#]#*\ۖkzz2zk{1Ŏ"3r#*̂8jӴAZ[q0V i0gDSYQmiU[gݺb-E&%s:QSZL`NF6:f47\uI'/ynҟDmʤ~jBDA RA5E#,j ,RġʼnoKC Qo=3|86@a?'(mb0kLɫM[fӮ5VZjhemQ^u&Mk\j5l#*"€-R \#%)";O fAJ Eb?Ѽ}OG2ê~@a4 ߳X/iz(1Xrb% +#%FƈZ,pƬkH((ӒAP)t벱$Y*L͖UFj54:dMZB.FWuHL)%F .6Ł%$l֢Y[,l`.h#*H_=ҙ<4:!-lZAcid4 >A A$L, ,EUQlm$P P%WU3ShTR! 'cc` cRCq /Hp#*7>=g,16ګ%=U2aH,NСݸks$s0-[#3^W#%vp?w^9;"HٴIS+Q5Ku*Ke=JMdKb2J_˯84;#iwREʰ6Iӫ{j!1Gwf!W5҆쵳q=$܏RbJpЂS E^FpbA f1P1df@) d(ܐ`w1T^U}#%9>T#,9z'`v$M#%@$n0̘hZiBRjaiQaf$-)+L0#*#*GMN~=fe+Rt({ iD"Ԉj2$G#,;mf$#*had2iw"2i#%~קgU~㼙"&Be_OBΗkX&`~L3ɥ}>ɤj^ղ`ژQu'#*Y;:ւޛ4^㩒Ǧ}Z7.+EcbHJF0E&URԖh(M V-,[m365)5cQE4lSL,mƑ4ɶb6AkFELm6QjHMSZa?KI2lHeB&p(fCDdP^6URkvoaQȩE=G_8l5J O.SC0]_\:,}gi#,.z%Y|pL05ܣv+r#%':&#,-ةz6az_ͧ9%UkFrޥQc!{ BP@!{9#%űz'Еn"#%IG2vI lV5`Ѥ,0x~ws@Do>_(|rzH55Tt="#,XOX&Ӱ1F '3#* >F!U[qTc\(Xʢ5MR$CAMN-QE1 5[]'L!BcDPvs&ڍiA$u#* -A<<z/k}m0Nq#%qG#zH%+ ِua%ۆm( 8Ql=ē%KڻOYyb\i5&ETQHo0;Y[3l>?reJEDXh"4ʛgb2 -b!CG7KtPDSŅDF(yZBWA\,ei 4 FjE.KF ~q8",UcH~!kL~|N#*l0ALG#*`BAjE2΄@ M 'G׍,g8TLSuQtX4!rm`#%p%D;$w ᆀp?#*c#%{qlQ.9]`fp6k)&oV#%JPSL~}yJ% _itZRf>{q$/ $VO xi2эCo#HTifzTV/}6yʌ3k1^!WEOG#,#B>R0p|`Җ%?vxQ4-f4I]^%]aIDR&>h1DIHZAyq+4ЃcQyw%Yk\ytzQNRcH &"NҔr޷ m˂Y3Pzǹ+.ƻaG#*׮xׂ6x"}n'xGcYdA'oY;#2C FhotǔH  <}{N], s #,4w3__لEI&}kpiRꜨb݈{ID8Sz8`LF 'ʅf55vFGh4R *2幠iX54?dװT5# _3#,s!q5in's$8#%T#,kٶ_W%Ar14=ߧ~o Ѕ#*b{ ?샘Q-b-T!$NVESwV[ HtpPAIK }b`D(˃1#,,_Ade.'S#*3ZPA}{rۊh)#%|f*h=}3J1Q5-ĨO4#*ҳK2% # T1)8Vȝ2LРFԢ5Zbt @k]jh=FzK}"K,99я#,*Rj˰-T6u1nYmfͪfR̶f4\Jm{4 TY#%#%9{u8'G44m&aF,GmE5Ƕ"U#h$ oi6҈c6HhWt7_Trsm#*AP-m6Кk(@#* XVh3Gbf~4h?~,#%I0H7-տP#%%+(7/hQ#,,Ph#,!#JQ!մƨ6Lwc^9Jn56bz5xl$*#*˭sh;,ZM]iViPc$}#,*ͬlJr(O <;b%HiIHK@NKa-v@ҏrH1?J#%$C;=,HmD[n#86fb嬴YMa}; Uݸruu]ݷ\]|=mA&}7RG,W?ч${:/Cٹ^Ivr˺cڅ  w#, €^n*&d(׼إ6\B×ciVTpɠүI.ýkm,6]BU4d:Фhi#u,_8ŏF錑6HeDl65rnZeynK$H̙i3Qv{*ޗz/}-L. bYf11F, 5)#"`c"ah7&Bhe@+R@( }E"%DT=VkހLV3[DHe򻩯V*mY\λN*fM-mo^67/nLc8A[ImB.-/۩Y-&ҶlJ&э#,,ͣK!QDmԯ]ubk<^w]nM#E3yo]hm*U扗9XdU,* LDag#*"W#*$Jʆ) z@m)CFf" w00Cp|DuһHPp%8sC.6iC">,\1V3ʚD|G#*"h80.2TBa -X\#,(ؚb-ՃCJX(F+LĂȖn"ӎ.lG#* #mRB#*dT!4Uk$ˋ>VԆHwa42M֘F{8h 6Y4M)adni栌㵤cz@hU+#,fCSb 4=AB#14ZzyB J= h4Z|>0H)AпlsQE##ykTe(ĆgI2jy*$RJn%2ZdJf0aJĴI Q6HE IboY ~1i Y+[Ҧ*1tYL8jZ{ۣ;rB~P)+7`F)<Un#*)!74mf)DTCZT!A#*"E]6o.SƼz_2. ҉TЪ0F`KVTgs{=zQ{~X*Yk,_lcx"*MQ hG4ƌɯumӽkU`)YyvM*v.sVԃ== չxf=ɯjM0K1^xt<&MyT\&pxxia]ѡjYs"s_4b'h'PIF_꼵q1-kq$F`D;7۰`aC0C1;mFPk 2ן<śL忕;sN'F 8](QGF==>z4SV$i~Kb}&כ±W 5GtݺYˆ3R\G(xW oegb*#,kFI yVgzǷ9E{o{׆IӮD,o-z66xjS 2m-GDVJRm#,#ai.TGbY/ƑVdvZ`URH-4x㥓x쪸U\ɶlmWi-vWvfWuZ+YF-#S0gu%f^ҪkS-ny抋UxvL1Ra-j*-Zd3;B3aC Cj5`Jl. j"!@-0P ,#%C ." YIpfl–)(OD߳fTI]֢Xk"'ZڊShfب2!QLT##+Jbil[ln辻\ #,>FI$M\$DdTD$>}ԝd9#% pbBkH6mi)so6hگ5ZK۲DYt]6vЕɬ^7kkMjuJ]cM?oOFBҏүa3(E#%ȁ*b mVo$Q_G9ށLg 36ՍjZj*U1Ti 1Ǧv*e24m)VQ6"Z 11@#,*,PP% ?y̦ᰒ#%E-M)b,$!G#*rb@^t}}mg61J$~|wj`S;Rɜ$x09fsG|M]dˉ9rr~CxA1Ƥi:à (ZګȐVjl#%/'HUz~L,eh^ q` #GęQӤ6rQ}:ZoF0ڥ4C-Q$p:>&&1ϭeՔD`k%S!K6#%|CpG8iyR`QKTW"_B#(6IȁeDc#%;d!|UC(0>#@,WtJ!1|!Om?3hmjENѿ r7 #%| ҵ-imRֻy#%AByܙ/נ'_EC vk#\Io1UE 3IUPoK9jn7hiKI)+]R- dZKҺNtK+6sS#,Ӗ̱N[m[jMIi6n̺NtSYuWRwub5EUC*"hAa*S#%ـdEُG<&P=nD,GsCO%L_Ba;ay>aAy^HU;An#%,9vt4o^iI"OǽN@_[m5Hb8L((#,R )"*Nw+* F!j#,ZklD@``104,ћyv/ 1#,TU5a !:m|+n{1#,BRdz[nZu֫xy[=5Ef3QFQ(iX`N۱R_ڗ@(O ֔KۏXT$U1[B!r)Vr!#,#%bTidi5٥->oh!GAXl)E-&eQ%mmR>GqShGV&L 4M0RD"peM"HZ^kzg\yTDJPŇ,5B#*FSkux#*oOb90a~dXd?@NJ Zi!#*mlA81HG"Jxx NI!2<:z;;#O.mh{.ZdgŅv(lI`j E$Uk0V  (El.ՕA{2 VQFZ0QXh,HJڀcJ4]NjeD+GW4^*W/k-xxw+mLdG[%4c :fTG 3 &Y$5*jFkk #%PRU3Il֍&Ek[m D 45pe'0CaIv1DП#%'FWW^kdeR#,#,V44ѥB7 d/ ]%D#,}$; " =1h #%bJ!P>#, )RY d=ZW+o2mg5Չ@;螨H0N2 =?D#%Ildr9 bG#*#*:~~ܭýϹY;&}+U5׿\enLpPFFA0cKOxrdTt43 Jiđ*D#*8ZmZ|dũz7n/T#* "yz5 qzo&pO;Q*u Q]FH"oW#,b(B@b#,TJ "'@G"XS5r0h>7VN /],loXǩ>M4`Ԥ%?r#%&DA3Cb|A8T}G4+pQ?#*MY;GRߺiTEtz%]}C,oo9 Ӥ*&!Q0t9"?{LdXB<ٔL`80Z)]AcA-"#%Pd64hD|> K#%y@xއB牯gm8S!_xC1È(4MiWc ^C]B% g0&bm$Lըb=BqMG+P{*h1HI$؛mq̹L6t-`K&׈("tv0~`l#*KSjpp_f!db@Q<#,|"2ŢŬbku-W7*Gs~:`d7RA8"ka$|20#*"Cp2`avr'wuƔj[iX[%RU]b3)%*fR!;@#0>--fE`EN!!' N0Cf(Tؙّ5#;٘ng; 0Vlє Z@qP3I,e[>;zD74q'EV =#% " ÑEI`BȤ8xK,7n.5:p(6gbNAAfJHj)<Ti3ѥN:y#,C[T+ HD¾l#*Dshň#%IH5J@#,XS` ;{b譜E@@$$~PPT1=;fzJ(ժ1(HOhfBnШ@̦jx.6y=lپ*ry#,pT*soQarzZ4G@fn2baJeP8M vo #*_rcwX{).<$M$Un|2#%_mA}ݬ'N!9@z6q(YᛃDf1tD7\~%uŕUR?L3 `mJILHZZ}& BJ!#*D$&~#.}R#OlI#%##*#, wOjUSl͕"EB3@%! 4RQP},#,Y@/A~*E332L&K% )`2hTXb̩#* ROsCPjkGx7; Ng)5pT1^Gt0ʜw|Y"h,Llz%Mq9$"~oԘ8(Ю6-V]#,#,!f$5l6QFG(8 s 121уĸ\{8G:nym#*[AY(lO[tEl_xq( !#,;D|3#9Ec8,}̝ P"2mEdL#*dh F`A6ō6PL#3EڹiRm977ItвTb-3\g7aVJ HZ@ @lģ uCPqXmj!β#,BZe^-̛rsS@ sſ&C0|#%ֆ$"$QZi$J^x(2+  ~xHS-[F,96?( QP|ŶE(PMSƍ4%fIA!Z*ًr2)yt-";W+wލ3 A&*GB h̀jYpj)#QI9q4Elc`ۯkɥv޺ˑOW*0VKd2x lD,X&"2R'*Bő`LA0%)H!mIu#,7rl)޷bcw wZ4r3G uc'9}@ڌS Iik(2Vh+Ủ`L.2C@=4adj0#PfDM1fA2#,9#C#*7[,`&opѱd`w7u|G4TցW d.tJ0R1S ^pJiZA@S0Y bIMSbFXktF`mcS͠.ZkBŅ#,uFҜ~:4t] $= ¸` M!ؚQDڊRtsH|Sm' n7bE!D#%gb" KF1H \@JUe{yolLXQ2*Lѱ1A+HH#%}YޑiJacT)%#,UIƦC$MA#,"c#,7|o%hQjm#Y:*5A=PHǚaLQ?u"Q ypЀy@v`SMa%MDÚw?pBMjUeFAE #*{H(#*  :;k 48"7Ǩn_0eV܋@4g@(Vb(b#qmomRwW*CPġa :HE|wFΧ5 9-D7lے w_jo vwG7Z}%f`9 #*1a6Zّ#%H#*~1bܭ^@`>Msn'E&gb"?+R&o"yr(dD̜+?#%pbp`X`~qOz6~>6nQǷ/D}NUnxg'3ӯ7۟jdmY %sLc/D#%ط!=2:Ȫ0FD;T3*y6w,26#%.cIL* ػ,,`@p`\t !;m`1B'`s7.BQ,RA}_j^6>0csmMs2x$d@DI6jߜN'@Lئ@bUd8iPmvV+'抽mxUv%zxsmb⹭uko&kt-[`7˜`.IE"!AiX!"ƑDU#,s=WHKr#, ' (&}zl (4 ^}OQBDȄ~^1͚xrx ҂{bAsbcZ|@I*+kZxB$#%J$W@ `26##, Ab]mVJ Hl#,\v1#% )E2EdO= AnY4#*oqZ||:`#*gES`'B c! $J6ɲX4aB-&&C+mhl[l[jm*lk5h*y"I3 "#*ȐapM cPyVXFFɐNKw 4*b(*@iIDbj#,XhheldE֊2ȫa TTlH`ŀ(#*mjܵftLU6 !DQ,B}?;ĀL l iחSUuևhnJP#*~hT~&jΟџMisEU)^|!:BvZ7BL)yp:L`!XD1Bū"A1|LGň!!5T8 #Bqnzu.UH(iLޞyu]^m.Tٙ{nm*mƶܵKZM)! )Jȯ_O8OmF#*|R?fj|@Ԕ:c#*dXw` 𿍅CIN=id gpWMSsr/o'v,vW]vFه$(8K]Bޞ' y[nL1}kŇ"8zm]qA{QDި*TSqHȃ#,E#,L@]U!wfɄEi!${5XP-V+.ea eVվ0hW(#^.G:)bos腃ggJ+w5鯕B}u=HF_qglGIgDTVJ6;zAӿ~.#vH CǺЖ)8LaUfg!ips npj3%*븡:zI9Na锚9ogO\DG?t2Io+)R|A+$=h%o<%ua0D#%h+V{+uDQX6cUiuZ#5 TjG l|锰A7D47'K8LYȔxF2lZ&<|@~.WP*@t)t,E1E*u/b&5t`g Ćp44QCWjG${5xkc9IKKT)zgh($tBs )[^ ycWS}YCr^5#,0;41E.=͈.([M+`;yVhvvL9}kC&A zǷf8'EC53̠X,*QXD##%!1J[0+F,ieE#*IgCH+:2ӌtZ@447dqB!#%\򱞶60.w{A l9s |1cmNN Bk5vW1Խ٭=V&ÃQf?/tD0b[.-ΜsTvB+([Kd%#*c=QܖmۋD!-ǤysJVM##*F7f6'7w7K<1?)ܼ&~HR dIˏGu͜Pg#%kpU5dngȪzK}΋jXͼQ!RpJ^EQ9z#,g#j/ k8ܣ'; gLRUCȯ6~P:ZS40EK:euk6EqyVb',5шS1R뫓= H[Dr`!u-}{xCGn,=cPv;y;kGKprV}7;xt ;#*46a w:Վ:vbFezVU!X]qj@yeLD4vL]r:]BQ*QJKUYT*.3HE5+%J=b6NlNĴ`Xks΃0^Q]$l8ԋL 謼2)#*JrB,ȸz8,#,hgF"v8{\]蹳d#*no‚,#j{Q[*CSn*=9LsX`JA? NҢGĽFg_ܗ<>=޼&Px@{K`g-5_R@m2Cޓypr:dX*dZ~!P6ʘRV0?˳Wc[Sh[iJ=XF#,A72X-Pms\NmRm3eL\+ P0#%a#%슭^rmFkyY0PQ#,#,*"J$*4_Cgeةezk-nL<_OJe} XMҼZnN6MiֿYV6EZ&V 揿V5H®U?(fxEJQ!H 8kiI0;QCږn?XpH2h*7n0ĊKjlc@eRkɠ!"5\*z4k)*0!Bxbt+#*&m6-™Vؘ#*bL`+7*=хKwLI$ BY'Oj)Æץ#, %a!Q05R,-nWd0#0BXFn<jqn$lhq,f#,#*#*fEư֧&f&M+A,UYe]*+-Y&nZreH!SR)pڬ#*XDaH# ND0 #*!bc |X6`d54 (".5T<0$eA3ldt0ɛ5&]JZ!#%lj4)vԭݵvxi*JpMgj4' 7Q>[9Jq(je*Xala|eo[w#,BF #\#*B´:@awm j8,`̃C8ֵd #*\C##*^Vѧ$ls/ɂat:QU$@0haAVB`&.,I0 &IɡV[EyfGo\KC.RʪF#0x*Gj1Wj1HSWp02b[ZrF!$c%@VʊMZPZ1&“fiIڙmdMM[4ZHٙ&jRT4ҦQC#*D"64ԔFiZ#*Hf2#3BFMk]ݍj^m#%Fk:Bb[vyMuv#*{#%Cu6cVx#%z~l`Il=sAp=Y '[:(6V)h #cmrV,ȓvGL6#AI+ X7:vu("-<3,vYijAt tnޡfv$IG"Gي7_ii]xy q_魭MZ-6[ESZ-kqIAIH8b*.R %#K"``N _imMZ'R3Eʈ?-Í~YtiV1Z*2-#,WYJBfiP2X3#*1 ƀ6<H%[>r1g(oo] nj!DLFDQbLL{C[rMc*˞4%U%1T#, X"dHcf\;NL?z``,[@JBTB.wmF5dRL͔eŕ|58f_&L+CMK4̔:2CD q "glZ1lT#*!i-đv\'F^paI$dOV]t40(IBz{ >ʚ>2vrڲ:yhj/æ:0`"=pd+ATe:S5](&{.Xe0dj%Hy>|<<C{ hMB5+JhsYSC9\PU$E#,n۟B^ez-9[-QV\.pk'؀14HDN4 QYRެEN/H ă Xwq<~hy|E'(r$?a:}9TETs*YKPTZ#L2,xlpHL^^ΡpfeMn#*Dr!)l#,fCQ;HH "DнJ-?vd$A>~z g"9?kLɝPY#,,1CypEx畏l0e=<*/#%CC4#*RT~o#*H/qK55FPC۝l,Q3_AݩI!+z#}Z;$=Ărח#e1E;)9JҪ]3is0y RBY0@7(0 P1 213T"I4vlKh]9Vp0̀!\#%lTeE6@[;̫(@"$[[p\뚆ܲ\Ldg;YLԈ#%kas94.?x|>Xuk:-CiSܾLxwGhq i„jS~/Ղ;>BFì߉1c2CEK:*RAY$j1%M9pߑ&1/P@7y[wE>z5xm;5H雞O:Bfb*.M.- vz#%ꙝs]O!+@cᡬ!xL6:9i*env1*@pm",`Һ1{lc#%m.GɢH ſU#,]hda^©#*#ɛPL F j&4W9H"ih?Ŭ&`](8t8A!!Ӂ\#,PExAZgM0Gy~G#*? jg<#,$ʨ&;+$#*ɍ Y1A`b1Z.EosBU&j$h#&4&Zly#%51XD[@rǟEBb}\ Һ2b4ѕ0lq F&=RZByNlưŇy4KGӺiͿ#,NF4?,~|kH"Tĥ!PQ?Mc\q {{›YBt5YKI.[Ígʔ!-1|v4瞵eljLC3&cثo%y-sIͣ^|z伖O#٪ɺb-Z>5S۬v"Y1;;mպ|\՚jQ߸V~Ӵe &G`䦳*5;k q#*.nP^<p鏆|#6.jGxLc""!*d#%5|,l+GR`4cbN2Cx|"!C!C#*lEAf\(mPIfZVau옵"ߴɬ6y2-VYf\j4@^A!&jJPLPfL#%tb@jFRTB#T/Usd14b#%5DN`PCOP4T$CXJ5DBѹ l &Hht b1`dCpCRTJH%PS.p3SjR@ˎY}T#,C   :CȒ`CT1vtvUt nw "nɒabIlKċ#*"39'l C$MUPjEwpӶ(П#,5/'ZXH^R6NS;/` \4u3*S)xqCQ6ه=hˆڨ&Q2̷ڟG*+R^K6wZ#,Yj ~$d3{H"f{*'M1vn^{h6CPI[*ʔD߉r`fpAUjR_kk'oE= 2.N폓irtuu&<#,-1#*BYM&UnMw)tZ'jNy n ٘uA0)D"{h#|;jM;}L=>#% !ditD>e.FJ^[):κK.#%Pc f4byVE&muzs)$5j%KJB"< (cF*#*IU#,1HeM#%ZiYFf#%'stk$-eQ' "*(rfQfAR0D"tC?A>O'ewr!*=p X; gG[i#*"cj(.As 8Ֆ6E4kB]|ĠPD;( #$6K9E_e*AVa-鞷[8ɳE,"k*13@8a9K7פ;I I)e$_Ljrs7ܙ1#,nqb옉s #%''2BkDR:&*eJOmȦwRby&Pj=F\3lQmG@[Lbm)Y&RJz[&ڒOzV*2#,B#,ZH"^Q#%ų, TIl!ɂH+n{ࣼ'emN.fO} nԝ18uT|Պ,4j$}_,&<:q#S@ AR* H 'pi,1V#*!e!$'WΑ[1fa2 4!OD4alaDh9TB+.L #,4vp,]k5yyM^(be‰ @$q^ÉӼ~#,$F\^ xȳҲ}n:&͍#*7LS^Y O:c`C‹r[mnV C썓m #r`ۧ=CKQ4YTYp#孒{m4z[]/o^&7/#,gO d#%8##*d#U"tH/. Fn)`C]lj\0#,ݡc;BŘ,(^:F7=(GǁD&+"}[]XGawXvO> by@FIDt}o x+ AH'tO#,zW~n@K y^6eJi)+2ٌ3P6[(*ۥRmk]1ڛ]KꯛG?q#*|Wq>;NQNN{@/`z#%#*<6L=$Hd:htA;PrUP|6(#,PL^%wΟN-wi}haƕeB!"^3#,l5.6^E<[4Ӓå F+ 5c:^,Kq4jφi#ąXI1aB)uo<\CM-aiȹ4L&LEbQ8fLu%0ºf`mFb5l.\#*4&D$CWg4))@; +#,ElwZ$ˆY.PBN])ˁi7O^lvɍ{&y {CA#%BB#% DMoksTzJyȥ#BR T%|ހ^  "E#*LbI>5lY³Krrء0M8=Ǹ{ش;/w*fQL{#K?9äBE5 vc^jQ#eK{쥭k,i.O&(/;!aN"l NP#%oǍ XaM2)X<˷lEd?).\/h2R, E4ֻv`dmERDW6Zm-[VFVA?RE6#%SZ~{}ʑ't{3,=CH|N7@O2~X*BA>s"H*l$S+FK2[4_"}:4*11I#*4EbsA$##*O QoM C>qNpG4k/VfM@ͨVVR6מyjmHm~-4~(g^=W.s .vf1e};N]ΏeebPxnBB "Dxl@̮SM&])Q<1aWZc!) 'fa^0gәq#,Pl#?zdxNbb2G猣8=L3A:0@a#gT,)`F"()ݛ̱^*ѣѵy٢(9AvA(V`q(ʴȤ ƥ.O_OWΉz zwfjF28ZR6'?M @p!xk 3i%nS-/ɏSNm~h\,s h(<ŋфț*H+b(5m*J+~#*j[ERj#,/k%ﺺ꠱"# e?#%t$b!Tjp [VlO,D7#,o#*þq/Iƪqz]F v ƦRь)z#*f!QCVu*ﶁ]c EBa؂XXG*'r_K!1&qW^ :"Jn3˪ah`FBjOLW˭ 킵 IN#%‚)-3S&#*s/ȲeF%iNllVИk[)od$f(R7"x//Qp(#*\buhapB ixyCp"c= bQ0"d*@os:N0r$ WI)1N%g`eBn#*Ayw14eп%N#% ϼԪ8vƇ]ެ+u4QUP4 j,&$Z5I,\@2~74loiDا#,>v)뭰uZ:3>( !l * cٳ!!yr3:hjAâaSyaG;oHDQ{0r 6^r-_v}s%l@#,Oۈ6@v yX@=D|B,\L(#*Y/<%@ߖ]vmiE")ٮ1 i#%?GW?~oOכW??7?_~uoK è nj;Js?@8+P*9#,B"n,o[/|/9$$Ϡ#%#%^d6ފ9Gu^mg$*j)wɳ8"=nM~a-#*-RiY#*vGǜ/!NfqP:Ѕ#%v̈]9&Yt/0S/*FZ4`+C9Ԙ&PX$FHq#,r57řDn./|GUZcPVk?,{0B Ʒ@$l2+pf#*7hxQn54+EbH)͆!ON,4֩0ۣIj"iP-qfhi{Qg0eBIcif~Q# qA>UuS܈; c݆) V"m@t=wܣonk-nl1v&,U(ߤ& i?V#h2 2xcX @쨈q$놫P{bWQ9W#^mˡ`=1ߧgTggY# H(RcmyonK&@Da# wˆJvV@R*xٰ!"#%2be2 0$b[ s?>>ww0!m(9fj[ɓnnm$.%DЪ#,ZIjJK$6#*+v#%:z .g|Ģn\`&|*(y-d^@b\%AJVP ~DOU!VjCה~] ?cFV2_2YH#B}#)_Q#^9˪>#*m#%W#%§¨"uHQl˼wƷKk#*Paq] 8.1J"Z'E'm׵<+|oSz4]{$a9P22/<EۥYeF-)zVצZRTZ,,FJڽм˔KI#*ѥZe<9L*0jS#,\y$KĻ o,lj\z#,݆0RRg(\,X4#,')tET$"rp& l"{fBrC#%(8MA$b@kvQB#, 4py*/K٩k"Kj)o+nP`y=97Zm֟y;A.x=)D>O//TɯJktX스X$Uf/f_A!;{*_`vEqM<:6sk;trGRgu:e#ɗuz|J8CO1WOA\>ژj Bog$^'s8EsZFYb incompatible changes -# minor increment <=> compatible changes (additions) -# micro increment <=> no interface changes -SRATOM_VERSION = '0.6.0' -SRATOM_MAJOR_VERSION = '0' - -# Mandatory waf variables -APPNAME = 'sratom' # Package name for waf dist -VERSION = SRATOM_VERSION # Package version for waf dist -top = '.' # Source directory -out = 'build' # Build directory - -def options(opt): - opt.load('compiler_c') - autowaf.set_options(opt, test=True) - opt.add_option('--static', action='store_true', dest='static', - help="Build static library") - opt.add_option('--no-shared', action='store_true', dest='no_shared', - help='Do not build shared library') - -def configure(conf): - conf.load('compiler_c') - autowaf.configure(conf) - autowaf.set_c99_mode(conf) - autowaf.display_header('Sratom Configuration') - - conf.env.BUILD_SHARED = not Options.options.no_shared - conf.env.BUILD_STATIC = Options.options.static - - if not conf.env.BUILD_SHARED and not conf.env.BUILD_STATIC: - conf.fatal('Neither a shared nor a static build requested') - - autowaf.check_pkg(conf, 'lv2', uselib_store='LV2', - atleast_version='1.10.0', mandatory=True) - autowaf.check_pkg(conf, 'serd-0', uselib_store='SERD', - atleast_version='0.23.0', mandatory=True) - autowaf.check_pkg(conf, 'sord-0', uselib_store='SORD', - atleast_version='0.12.0', mandatory=True) - - autowaf.define(conf, 'SRATOM_VERSION', SRATOM_VERSION) - autowaf.set_lib_env(conf, 'sratom', SRATOM_VERSION) - conf.write_config_header('sratom_config.h', remove=False) - - autowaf.display_msg(conf, "Unit tests", bool(conf.env.BUILD_TESTS)) - print('') - -lib_source = ['src/sratom.c'] - -def build(bld): - # C Headers - includedir = '${INCLUDEDIR}/sratom-%s/sratom' % SRATOM_MAJOR_VERSION - bld.install_files(includedir, bld.path.ant_glob('sratom/*.h')) - - # Pkgconfig file - autowaf.build_pc(bld, 'SRATOM', SRATOM_VERSION, SRATOM_MAJOR_VERSION, - ['SERD', 'SORD', 'LV2'], - {'SRATOM_MAJOR_VERSION' : SRATOM_MAJOR_VERSION}) - - libflags = ['-fvisibility=hidden'] - libs = ['m'] - defines = [] - if bld.env.MSVC_COMPILER: - libflags = [] - libs = [] - defines = ['snprintf=_snprintf'] - - # Shared Library - if bld.env.BUILD_SHARED: - obj = bld(features = 'c cshlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - lib = libs, - name = 'libsratom', - target = 'sratom-%s' % SRATOM_MAJOR_VERSION, - vnum = SRATOM_VERSION, - install_path = '${LIBDIR}', - defines = defines + ['SRATOM_SHARED', 'SRATOM_INTERNAL'], - cflags = libflags) - autowaf.use_lib(bld, obj, 'SERD SORD LV2') - - # Static library - if bld.env.BUILD_STATIC: - obj = bld(features = 'c cstlib', - export_includes = ['.'], - source = lib_source, - includes = ['.', './src'], - lib = libs, - name = 'libsratom_static', - target = 'sratom-%s' % SRATOM_MAJOR_VERSION, - vnum = SRATOM_VERSION, - install_path = '${LIBDIR}', - defines = defines + ['SRATOM_INTERNAL']) - autowaf.use_lib(bld, obj, 'SERD SORD LV2') - - if bld.env.BUILD_TESTS: - test_libs = libs - test_cflags = [''] - test_linkflags = [''] - if not bld.env.NO_COVERAGE: - test_cflags += ['--coverage'] - test_linkflags += ['--coverage'] - - # Static library (for unit test code coverage) - obj = bld(features = 'c cstlib', - source = lib_source, - includes = ['.', './src'], - lib = test_libs, - name = 'libsratom_profiled', - target = 'sratom_profiled', - install_path = '', - defines = defines + ['SRATOM_INTERNAL'], - cflags = test_cflags, - linkflags = test_linkflags) - autowaf.use_lib(bld, obj, 'SERD SORD LV2') - - # Unit test program - obj = bld(features = 'c cprogram', - source = 'tests/sratom_test.c', - includes = ['.', './src'], - use = 'libsratom_profiled', - lib = test_libs, - target = 'sratom_test', - install_path = '', - defines = defines, - cflags = test_cflags, - linkflags = test_linkflags) - - autowaf.use_lib(bld, obj, 'SERD SORD LV2') - - # Documentation - autowaf.build_dox(bld, 'SRATOM', SRATOM_VERSION, top, out) - - bld.add_post_fun(autowaf.run_ldconfig) - if bld.env.DOCS: - bld.add_post_fun(fix_docs) - -def test(ctx): - autowaf.pre_test(ctx, APPNAME) - os.environ['PATH'] = '.' + os.pathsep + os.getenv('PATH') - Logs.pprint('GREEN', '') - autowaf.run_test(ctx, APPNAME, 'sratom_test', dirs=['./src','./tests']) - autowaf.post_test(ctx, APPNAME) - -def lint(ctx): - subprocess.call('cpplint.py --filter=+whitespace/comments,-whitespace/tab,-whitespace/braces,-whitespace/labels,-build/header_guard,-readability/casting,-readability/todo,-build/include src/* sratom/*', shell=True) - -def fix_docs(ctx): - if ctx.cmd == 'build': - autowaf.make_simple_dox(APPNAME) - -def upload_docs(ctx): - os.system("rsync -ravz --delete -e ssh build/doc/html/ drobilla@drobilla.net:~/drobilla.net/docs/sratom/") - -def posts(ctx): - path = str(ctx.path.abspath()) - autowaf.news_to_posts( - os.path.join(path, 'NEWS'), - {'title' : 'Sratom', - 'description' : autowaf.get_blurb(os.path.join(path, 'README')), - 'dist_pattern' : 'http://download.drobilla.net/sratom-%s.tar.bz2'}, - { 'Author' : 'drobilla', - 'Tags' : 'Hacking, LAD, LV2, RDF, Sratom' }, - os.path.join(out, 'posts'))