[prev in list] [next in list] [prev in thread] [next in thread] List: gnuradio-commit Subject: [Commit-gnuradio] r7904 - in gnuradio/trunk: . config gr-msdd6000 gr-msdd6000/doc gr-msdd6000/src gr From: jcorgan () gnuradio ! org Date: 2008-02-29 19:26:50 Message-ID: 20080229192650.1F330380078 () nyquist ! gnuradio ! org [Download RAW message or body] Author: jcorgan Date: 2008-02-29 12:26:49 -0700 (Fri, 29 Feb 2008) New Revision: 7904 Added: gnuradio/trunk/config/grc_gr_msdd6000.m4 gnuradio/trunk/gr-msdd6000/ gnuradio/trunk/gr-msdd6000/AUTHORS gnuradio/trunk/gr-msdd6000/Makefile.am gnuradio/trunk/gr-msdd6000/doc/ gnuradio/trunk/gr-msdd6000/doc/Softronics_Ltd_msdd6000_BlockDiagram.pdf gnuradio/trunk/gr-msdd6000/src/ gnuradio/trunk/gr-msdd6000/src/Makefile.am gnuradio/trunk/gr-msdd6000/src/lib/ gnuradio/trunk/gr-msdd6000/src/lib/Makefile.am gnuradio/trunk/gr-msdd6000/src/lib/msdd.i gnuradio/trunk/gr-msdd6000/src/lib/msdd_buffer_copy_behaviors.h gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_base.cc gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_base.h gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_c.cc gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_c.h gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_s.cc gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_s.h gnuradio/trunk/gr-msdd6000/src/python/ gnuradio/trunk/gr-msdd6000/src/python/Makefile.am gnuradio/trunk/gr-msdd6000/src/python/qa_msdd6000.py gnuradio/trunk/gr-msdd6000/src/python/run_tests.in gnuradio/trunk/gr-msdd6000/src/python/test_tcp.py gnuradio/trunk/gr-msdd6000/src/python/test_udp.py Removed: gnuradio/trunk/gr-msdd6000/AUTHORS gnuradio/trunk/gr-msdd6000/Makefile.am gnuradio/trunk/gr-msdd6000/doc/Softronics_Ltd_msdd6000_BlockDiagram.pdf gnuradio/trunk/gr-msdd6000/src/ gnuradio/trunk/gr-msdd6000/src/Makefile.am gnuradio/trunk/gr-msdd6000/src/lib/ gnuradio/trunk/gr-msdd6000/src/lib/Makefile.am gnuradio/trunk/gr-msdd6000/src/lib/msdd.i gnuradio/trunk/gr-msdd6000/src/lib/msdd_buffer_copy_behaviors.h gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_base.cc gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_base.h gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_c.cc gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_c.h gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_s.cc gnuradio/trunk/gr-msdd6000/src/lib/msdd_source_s.h gnuradio/trunk/gr-msdd6000/src/python/Makefile.am gnuradio/trunk/gr-msdd6000/src/python/run_tests.in Modified: gnuradio/trunk/AUTHORS gnuradio/trunk/config/Makefile.am gnuradio/trunk/configure.ac Log: Merged r7857:7898 from n4hy/msddLTS into trunk, with modification. Adds gr-msdd6000 \ component, providing GNU Radio source and sink support for the Softronics Ltd. MSDD \ 6000 receiver. Modified: gnuradio/trunk/AUTHORS =================================================================== --- gnuradio/trunk/AUTHORS 2008-02-29 19:02:04 UTC (rev 7903) +++ gnuradio/trunk/AUTHORS 2008-02-29 19:26:49 UTC (rev 7904) @@ -12,3 +12,4 @@ Johnathan Corgan <jcorgan@corganenterprises.com> Build system, ongoing stuff, \ release manager Bdale Garbee <bdale@gag.com> Debian release packages Tom Rondeau <trondeau@vt.edu> Mostly digital waveforms and a little bit of \ trouble +Nate Goergen (UMD Student) Modified: gnuradio/trunk/config/Makefile.am =================================================================== --- gnuradio/trunk/config/Makefile.am 2008-02-29 19:02:04 UTC (rev 7903) +++ gnuradio/trunk/config/Makefile.am 2008-02-29 19:26:49 UTC (rev 7904) @@ -57,6 +57,7 @@ gr_check_usrp.m4 \ grc_pmt.m4 \ grc_usrp.m4 \ + grc_gr_msdd6000.m4 \ gr_doxygen.m4 \ gr_fortran.m4 \ gr_gprof.m4 \ Copied: gnuradio/trunk/config/grc_gr_msdd6000.m4 (from rev 7884, \ gnuradio/branches/developers/n4hy/msddLTS/config/grc_gr_msdd6000.m4) \ =================================================================== --- gnuradio/trunk/config/grc_gr_msdd6000.m4 (rev 0) +++ gnuradio/trunk/config/grc_gr_msdd6000.m4 2008-02-29 19:26:49 UTC (rev 7904) @@ -0,0 +1,38 @@ +dnl Copyright 2001,2002,2003,2004,2005,2006,2008 Free Software Foundation, Inc. +dnl +dnl This file is part of GNU Radio +dnl +dnl GNU Radio is free software; you can redistribute it and/or modify +dnl it under the terms of the GNU General Public License as published by +dnl the Free Software Foundation; either version 3, or (at your option) +dnl any later version. +dnl +dnl GNU Radio is distributed in the hope that it will be useful, +dnl but WITHOUT ANY WARRANTY; without even the implied warranty of +dnl MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +dnl GNU General Public License for more details. +dnl +dnl You should have received a copy of the GNU General Public License +dnl along with GNU Radio; see the file COPYING. If not, write to +dnl the Free Software Foundation, Inc., 51 Franklin Street, +dnl Boston, MA 02110-1301, USA. + +AC_DEFUN([GRC_GR_MSDD6000],[ + GRC_ENABLE([gr-msdd6000]) + + AC_CONFIG_FILES([\ + gr-msdd6000/Makefile \ + gr-msdd6000/src/Makefile \ + gr-msdd6000/src/lib/Makefile \ + gr-msdd6000/src/python/Makefile + gr-msdd6000/src/python/run_tests + ]) + + dnl Don't do gr-msdd6000 if gnuradio-core skipped + GRC_CHECK_DEPENDENCY(gr-msdd6000, gnuradio-core) + + GRC_BUILD_CONDITIONAL([gr-msdd6000],[ + dnl run_tests is created from run_tests.in. Make it executable. + AC_CONFIG_COMMANDS([run_tests_msdd6000], [chmod +x \ gr-msdd6000/src/python/run_tests]) + ]) +]) Modified: gnuradio/trunk/configure.ac =================================================================== --- gnuradio/trunk/configure.ac 2008-02-29 19:02:04 UTC (rev 7903) +++ gnuradio/trunk/configure.ac 2008-02-29 19:26:49 UTC (rev 7904) @@ -249,6 +249,7 @@ GRC_MBLOCK dnl this must come after GRC_PMT GRC_USRP GRC_GR_USRP dnl this must come after GRC_USRP +GRC_GR_MSDD6000 GRC_GR_AUDIO_ALSA GRC_GR_AUDIO_JACK GRC_GR_AUDIO_OSS Copied: gnuradio/trunk/gr-msdd6000 (from rev 7884, \ gnuradio/branches/developers/n4hy/msddLTS/gr-msdd6000) Property changes on: gnuradio/trunk/gr-msdd6000 ___________________________________________________________________ Name: svn:ignore + Makefile Makefile.in Deleted: gnuradio/trunk/gr-msdd6000/AUTHORS Copied: gnuradio/trunk/gr-msdd6000/AUTHORS (from rev 7884, \ gnuradio/branches/developers/n4hy/msddLTS/gr-msdd6000/AUTHORS) \ =================================================================== --- gnuradio/trunk/gr-msdd6000/AUTHORS (rev 0) +++ gnuradio/trunk/gr-msdd6000/AUTHORS 2008-02-29 19:26:49 UTC (rev 7904) @@ -0,0 +1,3 @@ +Charles Clancy +Nate Goergen +n4hy (Bob McGwier) Deleted: gnuradio/trunk/gr-msdd6000/Makefile.am Copied: gnuradio/trunk/gr-msdd6000/Makefile.am (from rev 7884, \ gnuradio/branches/developers/n4hy/msddLTS/gr-msdd6000/Makefile.am) \ =================================================================== --- gnuradio/trunk/gr-msdd6000/Makefile.am (rev 0) +++ gnuradio/trunk/gr-msdd6000/Makefile.am 2008-02-29 19:26:49 UTC (rev 7904) @@ -0,0 +1,25 @@ +# +# Copyright 2008 Free Software Foundation, Inc. +# +# This file is part of GNU Radio +# +# GNU Radio is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# GNU Radio is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Radio; see the file COPYING. If not, write to +# the Free Software Foundation, Inc., 51 Franklin Street, +# Boston, MA 02110-1301, USA. +# + +include $(top_srcdir)/Makefile.common + +SUBDIRS = src + Copied: gnuradio/trunk/gr-msdd6000/doc (from rev 7898, \ gnuradio/branches/developers/n4hy/msddLTS/gr-msdd6000/doc) Deleted: gnuradio/trunk/gr-msdd6000/doc/Softronics_Ltd_msdd6000_BlockDiagram.pdf Copied: gnuradio/trunk/gr-msdd6000/doc/Softronics_Ltd_msdd6000_BlockDiagram.pdf (from \ rev 7898, gnuradio/branches/developers/n4hy/msddLTS/gr-msdd6000/doc/Softronics_Ltd_msdd6000_BlockDiagram.pdf) =================================================================== --- gnuradio/trunk/gr-msdd6000/doc/Softronics_Ltd_msdd6000_BlockDiagram.pdf \ (rev 0) +++ gnuradio/trunk/gr-msdd6000/doc/Softronics_Ltd_msdd6000_BlockDiagram.pdf 2008-02-29 \ 19:26:49 UTC (rev 7904) @@ -0,0 +1,318 @@ +%PDF-1.3 +%쏢 +5 0 obj +<</Length 6 0 R/Filter /FlateDecode>> +stream +x\ُqH\NKG5x>}y7O؊ +_UΒ\,m 4p~ypn)1_Sź%6BU` \ fvO;w-ojnsju[R!o)ul/ٸ"=Hm+$HW +yl㚒G_ ̸mIyʨ%X3 e"G \ j<&,aҷf5RvW]~~L;俐u))QkE5=4? \ .6]]3cSŸW7EM<f$cZm&[3)Qk$cO^rd<ǒJ#-⟡?*Z7&vs\9Cak \ H^lSv.WJ/0jRω< \ sK+aUj$IX[5EO|Kob6.q}dV,k^QM$hݒr`=2ΞtݑyoU \ bl,Ai8zy2б#5KS`3DՑAgd17DЕcLjdHvbj-4fMl-3ۑdX \ {Ӓ7miy_T&=)aֹ- \ +FVcY<7YCB@PCTɂ5i4|%V) \ =$M_TqT>/w?_m+P \ % c4d>]LEҦ;v))mV#duxklKqJ2e!HuEP(+I-rv` \ l[<`10!H2knd+e=':J+4fpZ/7X.`ѪZT~?pciZ=TC" \ jy'%N^qE,zfuTtEͿJuٟv:^\7J)MBAr&_о~hiVsG:xV8~;N=0jfu-"Hk + MBmdQ9> \ E_+Y*|!* P&l}Ɇ.emA6DΓ!"b|L>V(}l \ >4ZUJFZ_02gMkMMٰ<=<$f'TRB7$RtI G65 cceMbTN}F2dSE' _nܒIpx&c > +v[<Jp>ۅ,dq:`# rUp]hΞjWܙI %q8S諏XA[2=s>i)s} \ )Ju4MVґ@p$TR2)~no8yΡheڈRZʐ2NVN \ :ed`($iIQ#O;9SY`AV'\6GaNFdIxƍMh3ɥ0>p{*24pǓ1ס3VIUfZQĉeBkv𤸍4a6j \ +D%UJAYІzreakmq.:b< !GDILcG}PJA*$p28A@T4-1eo|e R[Ga/XRdu]?6\uè \ \ X0or2GA{LdZ@kL7lcE:E3R˶:-d_4%[.Q1xS.&b7 \ [,^u#o?:XvK7G>`CQhp]dWZp+kad \ lFޜqhN$ьƭ-0b?B4%7w'LE,AܻY~5v<k9&Y$ā\ViwZ \ $1ݧ/Ӵ{pú?k-yp52F+ZsH+{:~@PmT^yn:i2Mxϫ/%db \ 1IY䊈N0\d]tmT_vvw&\,ڍ.&7 \ ِ"pqֳ4_(f\hQk 1Cb1( j-;;K%0CȣbaR=}h5%54K*v XI 1 \ %w lo[cRoAߘ&:rj^NDpK?a=Sq%T9KsÅ \ Kmc!@SDdz3x2$V0G7d]q5Xҽ+rn%p)9uzpvT<Jl_ +dWiֆ&z5$4Ý8FWaΒZiy"7r)mq`S7HϹ]qmZE@I86=bmͩmω5ƉB ZԯR)\u웮6tJrMچ9 1ؓtMN"dxԁJ \ Xb7#d5;,VB>eswV`Ɓ"&qIӣ+cwBӏ.Xk%S2<: \ +3j|7"[9sTNB[$>bj@T ;Gh +5z4[U !gRkj!f \ 0~(%HLJj(/@E'y{A#VAX!qU:[bJbyHOdK%s +yTLgB+q[iܥW +Nƶ; ` 6]|k0n42z7 퇽4zÓrYX0>B 7e˂TL gMrƄ|BGZIbۈKB}Mi}E הQW9 VQB&AX^ȼxO ,Jy +3Bǽ[P'8h5X6q VGB<*y)TyD>*3 u ڑ,0s^c˖chR`W_(<<Zp -qOf ) ?l: +p"af75vl{2\qUʜz]5 xQu=4']lKN%7 +qoqMUp \ U1sVL|p'57A*]~!p*7c]aA>EhB|if>ϩ 3L+0x'O \ hJ_la"30`$sH]Ta| s(clڛ *8ܹ*fOiƺ:YY] \ Sx"? :! Yi4 B+ \ 9FrkT>{;N̘#ZOO8+d^!9p@E4#1nKB}]ce{#iǼՌ=]qE5 \ ;*uʽ&4}v[˂7t_sq% WSrM.#mCRshJټ5.&C_Z$+ĔTK:)rc- \ ʘbJnIu r[ |pVtgK/ +뷰+av*g5hdi(큵nVҩ.Gr4U1&CF&qhK +*[gr/&]_fkg%ʬ+]7^LJ)ZTF/&NS,6ٽ6p3 \ 7|,Kbl7H9%k\Čekk':I7qoD6#JvM"7s> \ 1|Qq֫q^ +X I{,. FdQEƁJ<>wi~* 1x^}A#u.m+x +M/YM]/LW*q \ $(gfIiaK/Xp>B㪄NÍP:/a5-Y'}&]/H=~3W89|(C"TI/ٹ\U?`YTz}\%#< +1y;ƿZ5ruVutoih't!!!XoKo:}]L˥̃<"\6[-ƛDwOO H7-`۾%5YFl \ $w{~-{%YkwOv4d{VCv=#_&,ץX#qtR9zJ.wڕ+O<( \ <:=ҥ['KnET4.xۯȮNY[!Ҵ-vG*'r;Z4 rǃn \ CK/siUcɱB'2tܗ.烒*e veoc|;18X8x\Ci[,13coWŀԢ_ +q:~;/xCĨ7b!DqSfyAA^ Ucf'?0{[n Ts=F}2ە+S5-eJ*$/Dž#t.2$-dB +ĔMą,6\n)[,ɳnJO_ \ <t~+Xt84r+8MGbo|?.){<<)?<Ӗ˯\p8tJӹ3`aG| +[ lQθpP:u@Hv@OF2}Xxdž;B[`:͟GasyI2O +O8>l5WU(!qAʚ\kW`[ZM68 +ݨڣtxt1Wo˺XTk%ZUu<>l#_rzNw \ o%m<SZigKbt y/LͿ%A&KpȹvEdI?v{֯X61LO \ të'ȎS`-Ӿ5.c2+2%ԇ8F*+QYsPW \ i/x:ڈ3`kA \ ԄgX.SbFΞ˺nN0UrzkqC-iOs2<GA?xB?6bwI.ޒN^''0sZW}!ɶ[o> \ Z=uuuΝQnmu}3Ns'V?\KtzS;!۽E}pGϮ\_؉ \ 8WyC@G=:J^x5#\Zbcφng_߬9;)ޟjY \ pg_oϾcor-Vb8~GNbK0-w2x \ _QOl|5zpϿub}ZA&&vh||t`07R7'SbOC05d߫}<?ruJo3Bd#|wlwK^ +{ X?݈*?赦_8JZCՃ;;=s;4\́bGSDZ[]$9tg=䘺i/ \ j0o %uVpcuk4u{(=)"jiӌji̝> 5F*FUC~eNv4t}M@H>c'T +6endstream +endobj +6 0 obj +5987 +endobj +4 0 obj +<</Type/Page/MediaBox [0 0 612 792] +/Rotate 90/Parent 3 0 R +/Resources<</ProcSet[/PDF /Text] +/ExtGState 14 0 R +/Font 15 0 R +>> +/Contents 5 0 R +>> +endobj +3 0 obj +<< /Type /Pages /Kids [ +4 0 R +] /Count 1 +/Rotate 90>> +endobj +1 0 obj +<</Type /Catalog /Pages 3 0 R +>> +endobj +7 0 obj +<</Type/ExtGState +/OPM 1>>endobj +14 0 obj +<</R7 +7 0 R>> +endobj +15 0 obj +<</R13 +13 0 R/R11 +11 0 R/R9 +9 0 R>> +endobj +16 0 obj +<</Length1 27760/Filter/FlateDecode/Length 17 0 R>>stream +x xTU0>:U)IU2"$$B a0)0YT +2D[Aі"aH8S-*n͕ۍH+zk*}s^{X{gW@! V \ IHnog6'_G?1{ŲBH2yqϿyO"Ta\0w9C \ a]cM@g eRBDnX<{f2=-u7\լie2!3p ye \ nZdnsUpAH]FiۍPE_8EhH٥']iGϡq \ r1E>h,D 1:a?X]~H \ w$@}UtFo,Feh<ԿE_0h$ \ Ȁ؉f~cx =~oM^hUċ(mar'~tى(e$8 \ (%zhDףh0B!$c#idFp/@OctZ6=MlILi#ʃ1-D_R<<o7;MW&~x 9!,E302D/7h4= \ aA`0h'FG1G}؇Y~7b$ṣ~] C(p=ߡۘp=^縇W[VddgxO7ȍju \ =7wtx0^1܃"$ul#O_1Rv8{=!ww0S_ \ 1A90z;PS?OA/KF f7%bty< q!|pL&3iagbL'sUv ;c Xbn7{{{;Wsfsax,+%L=tMa=,q.Z<O'0`aRE&d.YG6{~x7 r \ ]L 314f:saYüͼÜf>gza\l]>fn w˧"i/M \ fatC<dkq/dcaaXIGLDalamXWd>JoZ0 \ UԎDzؗU=܄=n&MDς4J#x8O*i)* /E^<߆Z.q2:TxX \ c#@su}p9H/`VOhss@1 fQ|m \ ajt}t|!/Dppzn)P1HԵ2Ȓbz4 \ AԻ?K<3qsb1-~ppD'@T }>_=9}8?r+n?k-~ \ `{z(@2`6}EX"00t2Ey LJfZ13 \ 'EF'1.l_vj3 .X;q \ +6dAK@juØ>l'qP@[ߢh0}Q9Hjw,8? pM&ʹ`'1 \ c][`fGr:Tcx!jV9쪊CFJ(i>r:6E5ADX`d)i9ѣh:42f^@V͕ub&ZʚԜO5dMRM*PEAP \ Vu(ЉMh=աh ֫z\x0 Ձn +լXydS54 +GdD Bk#5r>DG<j:=rXվ`0Z?G͊9WA#nb \ wXHg߽yKf5sBsf^cfFi0[s>! [G4ll^ ͛7b./ \ R?6 d4m k' 7> Ur~sC#iNӢ@L + -ؼ ƻ9&lzDl +*}}vy- \ >ՒD>91*G^*czux (4"4`N7w0<{0T'*6VdaLѴYB)|VC \ PWWL7F)\"5(ñ|J" XS0=]ZE'jV P=vftH! ?|wfA":! \ Yv1DK/8%K.7#;bbΥfi`H;I #77p[;T|T,fH*F|^ +Dy4`zN3p &6NQ90xPg҃R _zE730^6Ny|EY ͛kBMgv&ZgjhsMvontqA;jDa Vixi ]*X*'7LF4 ˂.PE4=\ʥ MZNDץ!Ԫz݉'^hv'Iz<0,>PwsT=o- \ ΅ +h22cnfGj/:;̶bJeB1P783Tm/XE#Xw Vpji wIlni/$#άBJś`K3!Lp3[:NìBPt~P\8A#3ՌvCZmy)**fFeψ^a(5fcd \ خ:15? +\~1FFL&wHJ*#391bS5vhɤgg35LF}y@3 +7],Ab*aPc߫#g0Z9L*G k!.'ba6lKMP 2Q3m,4 \ hv鑬.ø\od#s[mz5wT\yYx&_J4KF@+ kpIc2tLU!#L$)v;=ߦ \ Ra^NGTOcb!/" tQH$@a ۃ;Ig0G',y=\S/:KEMa/n0v:H) +T +9Ji"AvB] vϷd<O+O~՞ܧ;r#cqY{Z%q>@QYeG.leZV \ b +v1@A ,+P{%w_n+ΖŪ`Nt^ߦǚoc`4!R=VI֣:pXn-Vpw[ݦ,J ѬC4D3@4DѬh&h& \ t:&h! ^zz ^ B 4B 4t 4t"("(! H("(! @t @ " " *@ C + z ztrs7 r@q8 r\9 xjtd \ 5ւkGa`[k98 +@ "C "11DLh6h6 t6ps/ 7VOעp > }zx+ڥ ;p5*Õ(G==\"n Np{ Nco\jYv +{n#3_/^'*Qt9 +ݧkl"WJ~# gKፐf > /|\%Q%] 1g$a =ߞ3߉&~Z + ίC-3QptcZQ(Hܑ":s 8Ԟ;_%(A ܳm_%G \ x =w sW)g)T8 MÉ)PmBZ;:ʆ~0;) \ +AfQ.]x̣}x820 p5+ + \ @'ٝx&*W۫dZ}0F]ٛB[8 \ a "dޤwg5__Vpʿ???ߘ \ kG0Q7g10vN}5?_8J'-+8J1gwR[|ጰU. \ +!!ShU$EYE^dE""ޙ \ T .̳gJO#,4lL-4ƺgYعIN,-㘵NceژP?aF!7F6>'hz5a_ \ سh+*ݕaR~}y4=vRClOz4VL#hmvjw3QFVw ]l31H(T;Wj6A5K&GZ pZ (Y/^POVP^/GVz,u:9.rrZ n pC( ސU +zzސ +RzJOֱ]cσ:a1p)ISh\pMW,pZg,O4͚3ƖVք#/}呓ͭn YhMj*hc ʪ)ŕ*WR}}> U 7Ny%计Aa᧑!Cc +8ZTPUPEhk}ө"-"jT+P%MI%5[J؍F.^;x/Ǟ˗/Rjcjc&HjBހy퓤n( \ 2q0`u o5uxӋ|-8B^&+;24}Jvoz(Pf'CR [e \ {pdwѭp^DDE0,izm4GKl|4Re$%+'/-OuC \ 9xAyTj6ıq#\0Gqp;W*!^ o`Qd]04}l7UxYF`0eг"e9Td}wxzqY#*mXdHހ=Ӵ{{ \ z Lr̰sXha + \ q}r\~Vա}d(@aC;!tfJWh}gWύ녙VVloS_X$߉DSYL0UFy7#vIKKNϷ,p.夜$ RƐ1HF-"|@>ߕU,;&nJwVgĽKTB31k2B\:LI'K?7B"܈qiQ>,j \ W&/,)T6ȢVݷu{'߁_RLԕ${xmxޅqpUoV5XLb9 MѤ-`2}cNr!Q02JLFMgleY|m(|(?[>5^(UV \ O?0):ņLdqX# \ Wj3z|o{{i#ҧxeraw72hv{gWrgy3 \ nt?{,=i{E+JWWKߚ~"]L;"D5)JF<ALXh$Fv]6N:t:o>$xV_q*,b_0Y \ b-ǖp#%(=n)ch7fRYQ-D$Gd \ <>auQJ!_KO<8[^,A2 \ HN%{PVIaay5^U۾uxh1~p~ԸQNſKzusݒ_>?cVJW|JZrKid~9#:=..3WT܉4c5>( +vvbBQv8(? ]r!ݕČݰFzr>N^~# \ Yްk%><l-免MbJ)V>hyKǞP漄a~Pf8*K&L]d ZU \ cF3|7|۷gg|-^\pӺE:>eN0ݰť_ V^e \ Orc@)c8xFW<d<e2]٭R^U$:WN6(2?yh&FVa HДn8$<$ \ bY @`L u^s%YKhOoSƮMZZNE,2l6_$UqƷ9$Z@ovR\b)q,ɚɭ_<?ߋs1pݷH&n W \ jDSXfiyXiCdجAKȺ \ ++2`jt6iR&bzuH.b$4/D(S3؝Ȯ{'~V[,~P%jZ2*Ҿlf5@]XsaoAͪG#h/$3 \ Rb) R=BťK_K&@-D:^A60 \ ^5+5yM}YG0oߜ>c}[7l>H3](iCn[ \ 嘭Mqp,jG]8pnТ( v0Ha]֤RBbN\ױcLgaY4}MʌuFlfOZ=YOM +ٳԎI xH s9:V: @b%9~F<"zo[8?v 4ONʘ\wk?x~ 9rMkJJ .Ă=la;XM114`# @ + :c 36J~!.(0hvM1* SX ; cͪ:s qֲ̋+ݎ)>-^ Ed?&'%>c]=tBEX9P$#9 y}}]Sokƛ"hEr+;O*ϸ؝3E]Clw7aXXlf z债dar/leݚtGZH[NKy$V<P5ŪTfeL +Is<?)3csY}_w]jk>mhNNZA)JmT\ex?}5^{?_5i MޕѩKEe\ozĉ'xzrkx \ fLwղ;n[1{vZcOqqa2װZ$>=#2@]Se7MKM1D&V:v}~bp9B`N-ɘ cR$:sIND:bζ$s^#OY՛Sey&/"S) kR e`X'ڲh篾[{\w?I.܂ '>M1iݲ^$.$$NjRYyO ,4 \ kAV̅2|yrq0**"2-˟3<lfdIb xeo8^5o0YL90҃TcYDsfcbf+($K.Z%"&YR q %`ws?aP<X.3>n{e 7 b+$wRDR"(Lژlջ|8L]dzˤn2 \ an;xsU2*_L}=B*WUXV \ +:$>0i;ȱA{(3jl/o _$U%C6-`h< um"% \ +؊@$wwt,ռ\860u ЕsG=As/ \ Z٨>JnWfz! /TigBU_\6ʅܜc 9mdnx][_16i\y/*ꩵca \ On~;~3?=vαE$_qQH\_W|dl?|L؋Nh679wkһ̻o)[3) \ ˹](r#L6'qsۥ7J\zDt҉i.w+45baTjw<-Z \ 3MSHo[ܑ&`@ÄtIHmga';!4RSP \ +`t%vAD?<W?78?>◿}m~|o \ .Vdݗ_~JBgȏj%y\sٹF.U:8r 6PYͪK$MYi \ @Z@jJTJ K$Hgق)N+UJ0BA~Φyd;8[FϨaҰᴜζٵ~&spDi!RL hvȁ[.r$&R_ː2uP V +`j(IH_@G*V[qOw[1H$L_ S \ >?m[v:h0zb[E"(9 _ׁԘȀCCcoL[UXl|ۙdNctlOﻟbvp1 HS +zqqkO],y<o^80,M3,boaWy)U(i~oIcgZ/Y)YklFF-Y`fkB S, ɓ&c엋dF\\ +WE\4hb * )tV2dMc|{`ܕO??xd}9mӋx;93|f [c"atZr2C$9A<R +ɉm]9[ԔzIaVPRmkU!TG'W2sP}NNLr \ ?EnyO@!Q`~|QpT`P"Ӹz8?5sg8s F(zM1qH&v\JeU[h<w50P4ÊiY +,͓*Յ&UGn7a `BQkm";XR(;Nmi9wϾD\ \ f;]VLv@]|͚=ԃZ_k"u-0o?=8tYؕr^0-?rKM\_a5z-M`PP##qk#( +Đ& ȁ!C#Rg#jO \xI"}%"6ƪ_l@*\ib9;ٹ*_ސ''i9Vw-y+s"v@^AnfjRVKTq \ n!C؈4T4 @$AKR,~@,qFA(Mbh1PO DD͔1PT15 \ #A%+u؈{w{iC%T<^"Y.fD 4YB27aS'V:dN49 VⱵ \ +mf* " *SeQ(ߪgVx=j_K_Kzzv31J}7&W} UdG0 \ +P1 ~|XGЫP4$UEIbxøD + +EVC%t4aFL AdDBF|Θ3f5f74fC $RQI?64)"_!d .9Hҁj܆t$QףI@b \ I#݇$J5@ezփRPO*8 <q2Ōư5z؊vÿ \ -~(2P0C:gN+ƘDC*)D7z48B쥐]"d2xz회 \ \a()ML$; HY99-rI0VX%l#<K~yH*Cel߷ \ yj1Fa? 5۹+b$w{*rn72notltmt5 +V {`+P$O8sɪHZ (]KoJoNoMoKgIۆ0fV5/_u1 W?pm$ݱ3 v_ԁxW| پ}Сnώ0<T'翧x \ yZ6uٻ(NpjVL&SFfFNzQj~\j\ʧ]._ҖS3,)+ZzM왵}7^|b.m;й{})4`VUE7r \ :Qnc*,2,2om̋ \ S,df:4<ʼtlX%H(mܕKNd4&֙4ęѮ(Fѡ6Վmvb@@"EU/q74p \ T" retZHٹpAե HN"ؙ:rق \ +Y,?`}n[ʼn%W{*Fg?{O|׳?gǘY \ N7rt7N|\ҙ~0,0F\nn2~,㉐1*_c&3Z`g\7ҷݱ3j \ s=Ȅ 3_--3o{濇defʕHVU3G)sC7+37)3wɻ3m,)|&ř)ddŮ)n \ ,vn>L"H!#>+3h4bi7qފpwcyU4+rsmjlZ%?hvR> G%4n mJK `K.]i|҇> \ 3=@v+Mr%`-ugyk&#)岛:[.~t(1ʈ̚.LY4^/} \ w]NV,jǏ ՑhڰgIm>`{{z!e87OYr/ۛJHvݽOcL?Ȥ.o*"^jZcd(\^v-oq&B !k 0zLZV \ \jU&4#*ɯ`[}*%*t~ڢ6"$>'>}o#FA(H \ +BD%uݲszSoPFPŅld4R;z_iHWkuX )t{i \ @7l %T +{j" u{ lݺՋn??XcOMc8LB<~mљ^ 9cSbH-}k|Nt' QEwo#; \ _(ReI\rP? *20̥SU<,QpLJe[Oe;A2'L( \ zZ15ml{/iW?hLjRW: jdPuEI 4 %& +/s +̲䯍IC-ONg] ғް?< m4<d$/vy8G) \ zf3Y"x@<r-٫:v|?SnceMVkqVF \ ,#rC($x!8;nX !^9"|-= + (u rInY@3Rz(^TB\2 +/W|OJd!wQ!եNKKZ2'LoC4xj|0&}X~op 2&9;Bhƥ;c}d~byj<Ssyܕ3].k}FWN9.?_| \ ⁖J2Gg]"Y5"9rU:wSbHgA.&Y*O;ɲ`TT2=b= s~Rw XQ 043bEp h^J%3\sp-v1.O H-|(Le }H& \ j/L-ދ/=29kNiGwP1-tr/kNcwtOQ6,9juw \ B/;AO6>ylʣ?k'}UP}@<;:#ԴovOmZv m \ ȡ?ZݹCeo jxPfϻ5q^h(/~<9MVK١P[o$[Fd "'Z3]Aۜ3~1F܌7)Oze-z*>ZnRRȻ7hy<< \ 4ld~N~,u@n;_Ӭ177nܻ}g#~&c$|T +]sN \ &4֨syu6͞dUU /y``XXg;j\hX˜enf%Ҽ˼uz)t \ +ELGL% +dDl(1db@TEC%[Ng(0ATЈMvꇻzg{0T8% \ hx+ uKf-m>bgK'MϱǦ/.K \ \X,TLLVrԚ@%95a"!g,Sm<,Iv\j4A0a)dW?){ \ Io4CzF)F=(BkZh0X |.k/'vf}ſ~YWܸn M\aM \ Q/4<Nl.Њ_v!PM}-(^Qd_#e<z__7O*J9͡ph&KxqԐQ& 'kDLn+յz|\b?F2%pA2tfqFX=jׄYMѝeP:DT1#cq65aSݭ+Z<n*=OWŭ0aJ֔aŪ \ fuZ@P`-nw !dURd=E%hI,h&ڽId%D/`:HLI<