added a gpib plot receiver mockup for testing purpose. Seems to work.

Fri, 25 Jan 2008 20:25:39 +0100

author
David Douard <david.douard@logilab.fr>
date
Fri, 25 Jan 2008 20:25:39 +0100
changeset 27
0f8f2621418f
parent 26
e8f3c9276f3f
child 28
0a7270d439d0

added a gpib plot receiver mockup for testing purpose. Seems to work.

gpib_plotter.py file | annotate | diff | comparison | revisions
gpib_plotter_mockup.py file | annotate | diff | comparison | revisions
qgpib_plotter.py file | annotate | diff | comparison | revisions
--- a/gpib_plotter.py	Sun Jan 20 17:09:31 2008 +0100
+++ b/gpib_plotter.py	Fri Jan 25 20:25:39 2008 +0100
@@ -18,6 +18,9 @@
                  address=5):
         super(GPIBplotter, self).__init__(device, baudrate, timeout, address, mode=0)
 
+    def plotStarted(self):
+        pass
+
     def load_plot(self, wait_timeout=0):
         """
         Make a full plot process.
@@ -43,6 +46,7 @@
             if firstloop:
                 self._cnx.timeout = self._timeout
                 firstloop = False
+                self.plotStarted()
             if l == "":
                 if i == 0:# > (self._retries/2):
                     # ie. we just received new stuffs (i is reset in the else block)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gpib_plotter_mockup.py	Fri Jan 25 20:25:39 2008 +0100
@@ -0,0 +1,35 @@
+import glob
+import os
+import time
+import random
+
+class GPIBplotter:#(GPIB):
+    """
+    A mockup thet will find in a directory some HPGL files and feed them randomly
+    """
+    def __init__(self, device="/dev/ttyUSB0", baudrate=115200, timeout=0.1,
+                 address=5):
+        self._timeout = timeout
+        self.filenames = glob.glob('examples/*.plt')
+        self._next = random.randint(10,50)
+        self._num = 0
+
+    def plotStarted(self):
+        pass
+        
+    def load_plot(self, wait_timeout=0):
+        if wait_timeout:
+            time.sleep(wait_timeout)
+        self._num += 1
+        if self._num > self._next:
+            ret = open(random.choice(self.filenames)).read()
+            if len(ret)>0:
+                self.plotStarted()
+                self._num = 0
+                self._next = random.randint(10,100)
+                time.sleep(random.randint(1,3))
+                return ret
+            return None
+        return None
+    
+        
--- a/qgpib_plotter.py	Sun Jan 20 17:09:31 2008 +0100
+++ b/qgpib_plotter.py	Fri Jan 25 20:25:39 2008 +0100
@@ -1,11 +1,13 @@
 #
 
 import os, sys
+import time
 
 from PyQt4 import QtGui, QtCore, uic
 from PyQt4.QtCore import SIGNAL, Qt
 
-from gpib_plotter import GPIBplotter
+#from gpib_plotter import GPIBplotter
+from gpib_plotter_mockup import GPIBplotter
 from hpgl_qt import QHPGLPlotterWidget
 
 form_class, base_class = uic.loadUiType(os.path.join(os.path.dirname(__file__), "qhpgl_plotter.ui"))
@@ -21,6 +23,7 @@
     _pos = PreferenceItem(basetype=QtCore.QPoint)
     _size = PreferenceItem(basetype=QtCore.QSize)
     _appState = PreferenceItem(basetype=QtCore.QByteArray)
+
     
 class QtHPGLPlotter(QtGui.QMainWindow, form_class):
     def __init__(self, parent=None):
@@ -105,6 +108,21 @@
 
         if not self.plotsView.currentIndex().isValid():
             self.plotsView.setCurrentIndex(self.plotsView.model().index(0, 0))
+
+    def plotReceived(self, num):
+        print "plot received", num
+        self._receiving = False
+        self.setReceivingLed()
+        plot, timestamp = self.captureThread.getPlot(num)
+        name = "plot_%s"%(num)
+        lst = self.plotsView.model().stringList()
+        lst.append(name)            
+        self._plots[name] = plot
+        self.plotsView.model().setStringList(lst)
+
+    def plotStarted(self):
+        self._receiving = True
+        self.setReceivingLed()
         
     def saveTriggered(self, checked=False):
         print "save"
@@ -112,15 +130,22 @@
         print "saveAs"
         
     def initializeGPIB(self):
+        self._online = False
         try:
-            self.gpib_plotter = GPIBplotter(device=self._prefs.device,
+            self.gpib_plotter = QGPIBplotter(device=self._prefs.device,
                                             address=self._prefs.address,
                                             )
-        except:
+            self.captureThread = GPIBReceiver(self.gpib_plotter)
+            self.connect(self.captureThread, SIGNAL('plotReceived(int)'),
+                         self.plotReceived)
+            self.connect(self.captureThread, SIGNAL('plotStarted()'),
+                         self.plotStarted)
+            self.captureThread.start()
+        except Exception, e:
+            #print e
             self.gpib_plotter = None
-        self._online = False
         self.setCaptureLed()
-        
+
     def captureToggled(self, state):
         if state:
             if self.gpib_plotter is None:
@@ -129,22 +154,102 @@
                     QtGui.QMessageBox.critical(self, self.tr("GPIB error"),
                                                self.tr("<b>Unable to initialize GPIB connection</b>.<br>Please check your GPIB dongle and settings."))
                     self._online = False
-                else:
-                    # todo
-                    self._online = True
+                    self.setCaptureLed()
+                    return
+            self._online = True
+            self.captureThread.startCapture()
         else:
+            if self.captureThread:
+                self.captureThread.stopCapture()
             self._online = False
         self.setCaptureLed()
-            
-            
+        
     def setCaptureLed(self):
         if self._online:
-            icn = QtGui.QIcon(':/icons/led_green.png')
+            icn = QtGui.QIcon(':/icons/led_green.svg')
         else:
-            icn = QtGui.QIcon(':/icons/led_green_off.png')
+            icn = QtGui.QIcon(':/icons/led_green_off.svg')
         self.captureButton.setIcon(icn)
         self.captureButton.setChecked(self._online)
+
+    def setReceivingLed(self):
+        if self._receiving:
+            icn = QtGui.QIcon(':/icons/led_red.svg')
+        else:
+            icn = QtGui.QIcon(':/icons/led_red_off.svg')
+        self.receivingButton.setIcon(icn)
+
+class QGPIBplotter(GPIBplotter):
+    def __init__(self, device="/dev/ttyUSB0", baudrate=115200, timeout=0.1,
+                 address=5):
+        GPIBplotter.__init__(self, device, baudrate, timeout, address)        
+        self.emitter = None
+
+    def plotStarted(self):
+        if self.emitter:
+            self.emitter.emit(SIGNAL('plotStarted()'))
+            #self.emitter.msleep(1)
         
+class GPIBReceiver(QtCore.QThread):
+    def __init__(self, cnx):
+        QtCore.QThread.__init__(self)
+        self.gpibplotter = cnx
+        self.gpibplotter.emitter = self
+        
+        self._cancelmutex = QtCore.QMutex()
+        self._cancel = False
+        #self._nreceived = 0
+        self._plotsmutex = QtCore.QMutex()
+        self._plots = []
+        self._startstopmutex = QtCore.QMutex()
+        self._startstop = QtCore.QWaitCondition()
+        self._capturing = False
+        
+    def cancel(self):
+        self._cancelmutex.lock()
+        self._cancel = True
+        self._cancelmutex.unlock()
+
+    def startCapture(self):
+        self._startstop.wakeOne()
+
+    def stopCapture(self):
+        self._startstopmutex.lock()
+        self._capturing = False
+        self._startstopmutex.unlock()
+
+    def run(self):
+        while 1:
+            self._cancelmutex.lock()
+            if self._cancel:
+                return
+            self._cancelmutex.unlock()
+            self._startstopmutex.lock()
+            if not self._capturing:
+                self._startstop.wait(self._startstopmutex)
+                self._capturing = True
+            self._startstopmutex.unlock()
+        
+            plot = self.gpibplotter.load_plot(wait_timeout=0.1)
+            timestamp = time.time()
+            if plot:
+                self._plotsmutex.lock()
+                self._plots.append((plot, timestamp))
+                n = len(self._plots)
+                self._plotsmutex.unlock()
+                self.emit(SIGNAL('plotReceived(int)'), n-1)
+            self.msleep(10)
+            
+    def getPlot(self, num):
+        self._plotsmutex.lock()
+        try:
+            return self._plots[num]
+        finally:
+            self._plotsmutex.unlock()
+            
+        
+            
+
 if __name__ == '__main__':
     a = QtGui.QApplication([])
     w = QtHPGLPlotter()

mercurial

69|zޕzvIpevm {kr[[j$۶a/3&Ed̙$^fd|I~I~*xrM|:f#oz>"Ae??C)*5+,Yfd}z=V Oͮ IKI1?{\~.Ώp乧%= %KVI|nIvAj,*Y#S5—u>>7:>G1VW $K3Znu۬:zK%"/]to'$G9)9} `}uyk],Ufv5*g@9qߞ΂d XLd\j \ܦPMI&e2ܾ] 5L0uv$nS(L&pPJe2ܜ$R^sj ue ݼ5Ή52oϝj 2Ba(I$#ʴ,[]iSXֺÞwKe%x4Lfm1uvlG{ʹnݩs$e2no]Ή5)ߜL&] 5S(L&&)n&)&u8I%ܦPMMA3)&t&)&^7)&~ 5^o=+RFa׶;Κg4΄D@=]8_ye ˫$λs[̨i*)EHn7aŌZXN]<9 I`4Y$4νua%i:z:\_4G?]SNz],C1b:-eF-$IժllV V`ϫ'+|dI5Dx~32#Ԩn\_ſɢ9v=tD'nD-%j//gr/o4$o/V{$LAVK>]A(P#*!KKb;>n6esEE*эh4$0xBurKwy'7z %3&YfK1V!;nܗ/9J QG'm.^ory_ΏxTg39]~5H=ezoKPVIMA@EϷ ϏmL{ݡҁJ&몚͚3t{znEQ_aaqwzTwx{nwvv=R׭co )6ӮGZ}juIA{;{]un{#ݮ%nw8K|{,n{wBĽƲѤW[m˓u*=^쫫[g>zϾw||SXcu}*wۮf[,bXmws^%p\som-v+w7kVSޓW(i^Nsvlh l΢%g(<*}IH̀Rckk`jkmo45Ze^z yPcYIu4ugqW]xLyU}nׇǼO(r;]Eml-ANWffͭ*nm1){u-+םlsSewk ͮ{njo9rwuf;n|הv:˽ut{^z6iT6Ȣ۫MV'}^WB:ݻwmD{}/.>*k}]д}nXַw4{ݷZʼ{*(=}{ޯ+{UxWlM-r<קV|o]woi"u;wsy]:vǓ^[>j6Zݧл]O+lmv1W@os ZMR)og`fhĶ3OjYgɼo{unve۹5Xsa⨣Ww6]BsW=wm@ 5 g`}ˠrhz_^^%F;U8]u0cLVړ۹bB֔C7JU= 6{5!R#Kҽ4[1ZmUzIEGB2M.G0uì Uz3QRSYd*fT@kE@MaowZ@BD5k#U$̐@N"J^${Tw(RJPF0NT͒ޙus3!PD @ MmBɔ64h)1M B2#( jz2b2h DMBd2H@OIЃ@A@L44LQM#OP=A 2S&"  ??CIAU 4Ǡ|~Q>&@Hꢕ.¹ ,2e!0č-'?D=O$l I XR T[#BB?W$yv\?oeօ*mjEAl dOQl-G`}J _;$uVf|i ٿFffou!2.L6z10#:Wכ=_֢.qי-lZw=G j eT~ڶ$2]?U6 qc8(1V7U5֠Z]b:1n״gݟi\fxv[]uu֗ "Xh1iG(':N\-H7>,"yI>p(Q*g+j @6Q b@A[A;9ߖFKu0]t.Y0rP͟YՁwֽ322[&@V _`:iGaIK ;ù ȡ7DĐg~=du|ҊW伉"Ӽauߍ}v}N,VTLɘ-P.qeu_{wxzo!5z|,~ o>}5pne=͜`ݙNl pB W<+hjz [bШT(L \M^fu9%kuV$|m/BUb X,6&fec3vgv2j:cAt;<Ԓ~⊍7"zdxflPt-KMLN >ѐYfoKzCřذ͎{{k_[_\G>FШT* {5~R5JuuK$fp`j4Nj36^$[Ut ݹm4[ne{B:;hd &c3{mb0PmcN:D-ܕr&rm&9}ہ,ë/ٽ~  o4fs$whbB1A;ύ45yU{ޚ U[@ (YKCQ-đ'fk%޺M$kL]ׄ[ Dړ}V86 89K/Mq /9r*V%c9(`䐾>6|^ufp "ɩ0D܉tZ%IT,Y!:^l"%{,p$9"k^ ̺cNδFˣUv6Y BGL dd|0zx\GwcxT*P5ЛL S3bIo'K o}2uŦ;nDڱdh ED l.כmsțrz3(YL,-dk$+iVr)i$e:exVuTIbPh51SQgHB;Ag9B\JӖ6ᥔn!ms5giINFm㴒x߫k͂I@Za{8Βm`3 3p "LpXx[8c$JxE "DdJX"IZ0*ake֮I(ddddf־jlr3+H􆮢v*TbdԤaE6Tƴ,4Tms¡8jXO/Ncŵp=ao,*=g鹯QmWMY˾mu{}k´BjTCllY^&էWwl5rpiew곎Έ-vy7nFg]XpD݋]+j 4<&wB:!\.Z0ɿwt.dA%rO[ۻmG\%gV? -_wK?_-z.֐pwy333DGIc(\#y|f4fuk٫6{@% `O5)Jr)]};3 !$i?w߮=BgoFĄ<|]lE]Br 8o+oٿ= 6P۪^Xzğ@?eJ }ti$GM٢|0{@hqkϥ WTBBBH).QAڼHa9YQs;SX}!]oɝ3nz C}_bxػ < ^*[iEW_8|ԏ2jWCbb )'xֈ3h`hgP0lfΩΧhc 6aCqfMh:Gccq\dK"XdJ, KXX鍣;36m10lee홨:IqbjLk1q2E0s ( 1Tz(#-tڅWG]AcȠ[yݠ(Ɓ Ŷv"FB:[!caU܈þΌrnCE8(iDL0&,nivήmZ\J- 3h@"D31kC)W/76amP&jUq"X370`pI]Rݣ2J&st&K..%RṥT7bw(6jZ̸3 j/|SU(`"7//:kx~}HQ"TT>1CU8>a4M5[I2* FHH?.㞮,<9 g'g #҈řZ*~? ! ܐ$$OxB-jkJ}9xu ~q;*1lp!d)Id(4P_ayS@`_8$˖ FwAd/./p 0Mpξ|}D$K'mn~x~I|pثUYik}V]wI> <=[1P}/zB'ڝSo' /K)jԕK`:NGw5T?[7&u>6$鐦!Ds+#>,d Tfbԅ6 Y&ԩ?&-\/BRm$䗓{u%nHw啾=3RWƘ\3μkKUou#R}bJ PQhrHF-xxN@ Cv98+dLfΈ}NQD(ff,F*TP(ZZYܓ{fWP.A)~I``!zi2ie7VpEF1F1-}!|C8CZQbY Ȍ`r$!p4B$!F2 ?p}CAgC)xB!m/_O호fE@!QG֣HI?)@ݮ?~ߟ_5kY ! $rE#bĉ$O,;;b[uׯ^wwwwwwwww{<S2IUTI$I$I$G:;éAC$w.Ç9B W@8GDny;wwwwpûwwww{wwwwpT<<wv4mNSN&4jiӤөB,R+*ֵ[AVٴBԁmI!k[W;?I^[(*N9X`)~֖{8CɁHHHHHLykY\/ӝs;mpZO2Ri/{In9@ړWUZzS$I$/U\\{wku]W]C͵FF 9JAlлn]U}KYxz<_?c]Z6yyUך>PJ&RmqD>P>}?UK̭*D9F61hJsZ%0=?wݓt|^!U;>Õ/ŗ.Zè%1bM*cYcm/f=Z79ң=7f,N~xOroX0c9t*z[1H:;1P@ͱKiS$9Y2+}.@4ҡ0X''~8S#ƌzgM̈́>cdXvO$A ujs& Pa@TobBX`.gg~aF."F.d;PK[ ]lH?~,h=NQQsPoY^hFַ|AZڐ^He\d (W-d?v?HE;3^K9%:3O[ѷ.^60330 e]퍷gCNu'(CCU"4"fA141XR(^2DRߍ54H'"[XGN}!l&ԑ_vbB Db`sl\)B@Ml ? "ÂAaH?%;/{U%ևGH܍cw?b@P@$S̲ܒ0j)_>*5#0vq$BB`ſEVԭ[F IZ ضF UoM̪({; `[!j HlfmEd͑$IR31qE")B$Q_MzV ,O;'X0d ij!_XqT+HI[Sf!&'#YWvI9_O9_/rlal᝷spK[n#8t 4p8ރa$@h:psq@þ۔ GeZpN7I\[׭:׍`KsEč{mT6*ïUϝFo<f4lJ< Ŷ )L΄@ pQP8=Phf}8,=cto&6ivox$ d6̎NCr7#1j ŭC a@֡Ba,7>:7: P]yRC{t=c2;{1`F2GwZ-d֘?>5NIgkEd~m8v17cM7^ۇMqpnV0snK[wrw$ [LMp748t$ ֛7ٱ³ž ײdn"x Ħ yyOnU<=|tn9ZbEgQi}[:|Ju| ! Ox7 ۇ@VA?}Q3RbD~gJuP6֏{[436ʰ0K$u`@$~iVizWmmuS;\:o/CZz_[cv;ϟz˸c?JB&1h5o4I{23?m6QϮۇmɂi2`W?!4YFv '00yo-z63@Yǩ*;lMٖpeD0͂lE3$deHFl͙^28+Њ+TGuk R+D 5nfWzI0֊A)8V)= ξ>n7jpU KV":2* a'K30H.XkN RH*gBROm"A'$ @\HA0:"KPGQBwxx TB(olW U<,P)b{a ;kn\ \n.HYE@B~uapgI 6 y+OT Q)YI 0е)a#Bׂʾ @#D⎪9:½}A뿩qRPp>cpul;o\ yIua;1XsJ~aOyN@ *\jRTvzrVễ`pҭ)FsV $wUBϯ~ny^8 ׭[nܬ; #M*BPuuBJ;V/gY-.yE,HB/HcOBVs:5TB &25d،,_Pp8:t6<^%Ma%Pfh3Ln?ؒ0s7Θ :vT5Lj!QOCS©dM]:ոw*S{ո<S<|{U/SQxs (t!UPF71D >1[AtgB̴V=rn{DTz1U{/wmk(_r)G"[RR7#QDc#VRh40H.{CU,I:=hQIHbq:o 9U"{V+ x+Ӕw Z)שr<*Mc1^"-&)]?&&s:/]ӪYvA& }Kl>NY:N/[>ꘊߩv'А_}Ja|4Ma.<\o+䥕=m{$Mld(s(9m $$d$$ .X@*ZRbmEsg{;nNxoգN5qvh \ptMmᴸuG.L0<nC;H/L 3HF]1(I$ ZI TuyyuI{xyBQ!hԒ7ַKuN|si\? ^(<va {7\:,v<>*5!{~31Qݙ:7d66m#;:iֻfک oئ@%@k phqi }9שTH:7? 3`%C[0ٳ":oQYiXm0 ɛHKmR2 ɤB=F(dz D[70~hQX!s$jp2<{Kfag:m3?bH h'>,1@e 23"?,yztV7f֭*=Ōv'PNkUw gK2tbb A2f^nemsnﮥ=B_bK)3ڞ5en ydJxNFM'0A 3Yj[ɩACJO 'q?Yl_.̪0tӹw0ڄ1?$I$4jjdf 5vΒ1yҔ"Oy'4e,RLߺ~7_޿hC3A:e@WtgYV|OA@=QAPf# aP}8*[ުn =I 1DF"&Cmkz.SxwftO=B/C۱]תg_L)Nl8 94 `}2Ŀib8qR0h1wbRҡWs<=`w*Di=ߥ߫>dzL ()Jd>sk1'OF!O|B\It7VAٸ9}I|XLQ"f}| h>$hu}OORӔ>g!%I`YN~ҪGEHo7'IU ї?WG?Go̒y.hDClVinu~-dw r>[Oŋ 1 1{\.srAg?K-~fW2K[sIltHBQ1SARFCaL(Af e"faLrkDaQaA!0d(3 Bt! J11aР@С0!p 2 :d%aHB5)lFR o9o&8="mvфSҭ[ ʌ"uz[׬P?f0X%$nG /܍hLnB}m{~A@`1R*F0`$֙i[3$Ԭ(_ˌ.QGyDCD?=C\x>CA"mD0b GO0*3SC`<K poXN(9 ]x=}9\|kH, [+49DW,s^+]K2dFj3}uٿ~K }ڗFla;?bWW4b޿u Wq?Yke /Wa{G[|WϘ&`2A/ObF '"| PGV5O0uMnnlZc4 ]v 8']˨igG_O7Yy9]`p?!._ E9ğ=XH"-. z//=,~ Pt"ak{=13lX3Gy>!FL2X2@hbˇd Cb$CoA6I;H>/*OG&H@^Xb&ejĂA)-CəBae%́ @Ws!P}x<Ӱ:ǏoDOp 09]6!%>Rb߻1>5fAqG6g(I,ҙr|3<'O!!8yKam4]_+ ?(XiOW +>ߺuLBȶFKa)Dt\qTm‘cqƄ͒E`X!dΟ9O"X9Hߚ+@=iB\lSᐏ #N0%ɷhZ]0s _!~- D6_رOoM ֫b'RnV*Hv&o w?еDՂF0R.]h**"ʼn#$!hFۦw*,jEG<l fnfpp&FxBAc #YW!.SDC<ά7!HH 2 3 };!#woMsYxu]~//x3J#Af[o.ջ"_ GxBELv|W>˅v  " MV~h_~Ag?9knڋ0~/H*XxzYo??ܿ2YBL:pȖhB//F 78loQ jf[ۍ}mM&^+l(;dA';{0Y{Y|?Oƻ~>ߏq@b 5ឳ+I ,UIgw ;2Ggqş_i63ɶm3&gj:dlT}`Db2 ! Y7f㬘ɖMӥAÉR<>L@*[O#x?,*=q_Q=۶~yʾc݇D{mHe I R(JRRfeI! (~I `~\^ HeH]$@$$wߵW~O?U!hn$,WUy,c0~9$'4 ΰ W*VjK@FԀvyB ު@+D!0V O=5|!Pm]`)@Ā:ؼCwxM.G@n&=~O_r>8wVYe+\;3{tpjXJbLJJkTsScrkm-_x 1I=: D/E)("He&ckTKLlGՆϧdޭW)^4}~=X{S3u+I~Ufɼt|`vNsl IUsߍQ=\h_uQlmE,XT_5QE[j%/T{y޲eOì/Qܐ} R8 ..Agă/㉙( / {Gz}#`Œ8p?qI#5{W` !FG;:ɹϿ]+'Ud!UBH?Ha\Ĉ}@(cTOҧW BVV5Zi,D *66keZLkkFU F)PD*)E@Q R(@P4Q@KĴTQKBIX57F"1F 4hbƈѣDDDFՍZ 3:2̒1E$$XARE$,RHe13Sj4icV &̬"B(КIh@ TE)QFb,i"FCXȂ IQ 4FBVM#6(-%EXRTRbcDͣ& 2Vd QH(J*$b,TQѴh"Y & F,iJ* DѤ24l,dرa *KAMAF%d-#F)2&4PTI*M-%4IڢQY6ےڟucy$jă {=矿>18e0AoP}PSK!mJVh_ 1Ռ na0,k[ZyG,m{,\]\+,fd&,0@#NSJڷǃy뛥`Ȋ"U)d,B[- V-'>\|ylFcZ C^+,Ha2h5$zr$!PXEbG8$72B̈́1ʒBEkv+R/K̿4QO("0 ndoRss\QFq\Q!q\_EFrFm$2 HNs\eqHh(i1I!jAddR!C-@:mst'9[]R5֢^땱m>@-j>)  3'̭k{8UC`>H(gD:81Cd)ـ"eބFdAАR|y: 2}G PC%38bkӖFAdKӍȩfD &НTד+.f- XXdpLiP}*v7_CM8KEv:~\E<9_m5:,U +}/#&s}tЩatpj!61Z'Z]oys ,B|38ױ1PCgL1ͯL0Zel9!Kb`mxYl=j;=Vտuط3 uuM5bP1tNh:R@sJK6/S1: ڔ-a[S#0a&a j-_ybem=Fgd [$R\~Aj a&}pq|t[dg~"N2<(_^k9դIPlM (Rԭ?q0"CՖp{ N6YD$^TcdݍaI4МI^z6733 #<ĞЋ)n#`իaS4!"|fmr-'mCm=#f>Ojk8]$S{w]{fhiQ[i 8UaG.vKRG2=xQa.׆BQ4Vs$:˟Oy$yu!D f{ocD_n@Y#b~cf73-u"xxFTS⿭ۯv}KmzW|n-1L,AL.#h"A>7ת eSpHHR,><眮d#'k< xD$=}u'X$N>I'ɧ٥,|JJyi$zC33?{?ciCao>c>S_S6S]!flWtHq)S/r_S+O & ;<2&/}E|l iC|!I'Â! FQcYVu|wMK,Z[<}1)qԝȣ@|tN=پw2+2MFZj2Qe-0H BZ bw?O NA}b҈ /@?ZkʙS*eL񶪯[dզݞ?H6")?L/?2Mkܞd J=;DrW=ω#ta0At PҩVożjl e\G3xL&YeYeYeYeZ 0`3N{>f}S[QN-)O*F PKJ@Iu{Q$=!'+Ä́nZLu5ʹ:0-!B=6/Ϻ37 }jN &f pJa AXU"GfL+!p*jS\ a3"~vtu# (8SKY ]PB4UB-2$w .H H==NIcc<[m/Մobl~iihҴ*9;Y@F?$p7Gy[qy@1 + L)a2J.ҥKIaZֵY+VG!S dDdd ?+߿>WswvK333;3 j$I vJI'C]}~nf"ԘQ $1$SADx B*32ë)JRqpM5矎z m=ץY;NJʑ,UdZ:If2]Ԧ!~@9 8 s74K <!Lg|=QdMo >k$|3 u;CHQ7:j,! %ܸUN#ҰkMty&Ns2s9@eW}j(9(f$ sSD<Ɍ3G5=3#3gyif4*/b6?xPh4#&ٜ{F78de\ծAx y+uJGLyx~߭~I$D~varaara [']Oy"e4y\6Pgfh6)z۠]ǺRkn1mJy|+wfNƄ `6o}]nfd\n'k>,RƤ6%,-[^O~/|6d>. X}ߺ88B9_mmsª,= qU )U](pnl;Zίp֎&D3T_b~?ut0nxM _`p}G؇+sBՙ8!;K$g ġ~3319ifff7I"RI$I$GS!HK$ӔrG+rG+rRI$RJbi$Pi$MT[I%EPI%E>핷>ty }aST}9Ό+KFQI j`MᨕVV ) Q FR/}mt7i-kwϼ'xjw ߒny<֏rEzI c-BYn-Weso,G^Ր^PO!$UD<4a*" *9[`4%PER `,PXCI40X*DQKtсh\)2"&DBղnBG4chTi0HH\XͰb&IJJ&VE$4.0{f9&)C6)VtZa@Ѝ,@ P5GA9uUUQ92Q"EA 5R+JғÉ I(:8.'Y  IӶ*Hu@TeK7b+ ӣ x:m̈́* : BaL&zBY7a!Q= \I-͍pLꘘ$. SF$B-ō$ $DT 4 b0ux6=%)El65`0LPE.:`n [koi!/7[{AaN `dHQ & & p$Qw : 󧄈 F%HbP Q#jh:ЄmƐuWĒqDOZlms 8 MHl8Dkf 2 hTѩ[Ɗ*L) Y(@Q& #Al A(Nj5dM,KeN4e¡8 ѱLL,Dn!0 #tb(CPxha)lH44@e30uh(mqZ Mj6)iMIJ\D&fceh%@ȴIiCM'#ҙr,a*i"u&6 !wSH8 8yLH(k+\hVTEI${r`o|t铡SsXK:'X$L$gIwwj=$Kw`&9*ܲpڅcm"c!6QQ "F,!Vlʙ]-6FA `Ye]r]mu1fP "20,F>I!Pm@aP\f^=VbYLl5e4PVJNWA t2K5)$dwڧG?sDtur DqG]. K<8{[Ž}Q@JX E 0Li6 /TfT{W]j@p66Mah* \^מgx׿+.ta[}4H:5.!m @ZPd)I c˜"]Q.H 28 Ia(%#hkOJ̤+X SK,P"3H&\Z+Y:І #qFÂ#|3mAAĵ6ލq 4Ѣ1ՖTY.#QJǮ$:p\[m 1*iItPU"wvr76ǵi.- 5B(DvDPIKng=\淝O "64Ӧ$cӐ&Z،1ҭ[mm i PR -62WJ|5y$mCXDa l J+IB%3)%z :!Ѻ`4љSQAq b ίh/it]4v7քBmar ɈX#, $mɿ )DR*X$)Bd! €AB B2*3Jm4"^-`փP6XظA*plaD&DP0`P%gLvZ Ui1/qnH cRLn# 7[+G@vtku:{mZmlm)vVՆ-0.ŵ&`v2g5MSI،@` 9I9B,(H424XTnIMhkAQwpņJL!5,DQeBuk2V`t410nATDLi4L& I j:oB6-L\ři&xFG.ŁCm$7 (*pm"d~bsK5ZKM&3P0E" H1L[}1q=>?_N4$4m؁30ŕlHY'~4?!]?ꠝN!<(|=h+CJ&/=fHk!BlGאvӤ$sk; ^'Xf3]C≰!|=D[ e{vPzdtte$'1#g|N A$ymPs c8xGF\x<`p]-5~ǭG4X)1Q. ص *4~5q81r>/iȆ`.dתKC!a .^v10 7i6-7yp>  d/d8j]bgQsKP vy7[9=xk9bkZܺC#ׯ}u x4KF5v6xG#9fG#39f'!F&E&9)o'k;<uu{~g{9fhƫh5Z 7| ȋշ`O᳙s ḇ`}.iC،w~֛ \V3Zy=]ŝ pš:ں32&02gvVvj08 F:v|mrm1kd:%MRD!{Y3f.ܼ-ѺZwL^eG9^ud٫_ZvkkbAd䏩zi#WLHgsό@r(<,ͰJq0aP]z"(#BcE=`l.:Eq r"X^1Kv \ QčHR*Zn'$6 l L9%Q*ebq p֑Rr$';3 t/57c iChY3E5{&{Ǎ)?L)7 Q|{S<.==,COA_zPN1FGJl \c[."A ĨC_`<\db' H#^pŦC `eve(:ITA5R;s n(\/y5M,sK^?S`dn\ MЖ SlApF3rvah-TFNp&g}R$S0h"ߏR7Y-HWF4!'.qx"u}VLB*e> 6%4OLP{O-~M!ǖJ%^q L"l}/E#^ ߳ӕ Tn{ry9V8nf8;i.͈R0L 7<>. ӈH˒F& fMcbݣ C2ie"ws9#+5U4$jmnjwLN&@""]nQvwyY߬$hw!A,oM vA'>uc!BJ kl.eSXJA9@N gh$aacbYhf!P^OV:̺Jzz M>㓹뽁_0ۼ] JEޏt]e`0.틇0*Q.`HQ5VV j;! uf .Qj kh?0PQX*!bI (! yJ U=y" D*UD 88w0Gh*ɚZY*I`}@i$ $/8S[ŠP ARjP  4sSb<A T En=]7|Pp<5B:ڄMj]Z^3^%uЍ"Rn zK6G`a#3TM ۬bΡJ72C֦Vo y+IY .N:j Ҿ$ hE5jkhȤH&@C&gԈ#HK Ub\[8iov,0RMuw7(X%s\ґFH@#c=FQ&8 mkǿ7&YW$Zz枲F]Ꮺ^o-lDZ` 7YDmʚ `iaI#:6G$ Uo^+4h>6m $ O`6 Ƨ;5'b{&HI z$0;1䆵 M j]&3@tDM0CGl<ذiu^x$bZ@Ȏ\|m57qk)Q$! PbIc~6>!|Yݙd!`%4yBDh,&$Y űq uYu]rmiJTred`dFk R~w]$sA/e̒j X3mJ3}X#׃B()钂ʗ8P-r` 2Wrҍ˯im4vc'`kMI&R0] w5!o6HsJ>Y#tb zkZ葶JI$.j7Î5b"ȨjW1P ú.JhB$9P%7nky5[d|nt  +!Z*pmmͭ0 $6*Ҫ 8P9 0Jh֨@5#Ixrܹ\k@ɃH#K IVW&L DUsА fDIb-r &'l[ L0 Ee#:Gę2=H>[竳=sڥ6~d-e{޾[9)d$u9MW\"@I`"l9%QWӛ{-5f--iDӡݢ[^jj3B\A!i'9)`e[BWi+fͭpH4!ŚxJA*dPF_m箄5-ɥ H{ܷ)-Լr[ԫRKjjЇ6ٹ $ () $ysŴVa7ScTUj'r$JM` #H&D FF 13B h{ko]A򷞺PJI)5S ix 8&sybe>;Ft!=aB沝B틚^ P<<,Pw4! P{iC@:*z{دaGS?H=qʒx$e-G;S|W k=ۣOsQܕ/1*=s!A6I;vv BjJVDwϒ-A $45LxċDU-w$vIK=Qz誺yl5䙌Hjpu% .5AAxEojÉ# Gw-ګ}oB\Ki3f-q=;<PA u8ۇk $#!N%ץiH"]#h5o-XM޽ufe{N-Nwm8oN[*Z.o}Ĝ GgB{:98ƃra%ӐFŦ"r:M`Ǧߍj6}]I.Qii8-e{" wT|P,HL W:RvC5B@+sCFT;dc{QEXpDm@ *Odeu.+VSr .-x so v E/Ia'L "blĨGxwn!.`+rs̒lԶe\vw^>oE@&CwQX2`2K,#(9"TapM\*=J~_H^ dnקA$JtºY2jN,r<2PH&q42[m[m߅_g~ jISs(B|֯ތqZM)Wö;!¶*䨅F׉LATтC " C*|e ﰳThqE$=^#DS0i$C(|@ dQRa|3_3O!"d}}g>{k7QEǃ0izk,I#pI$I$I".i)ޏߤ@) 73E֦gۭi$zLն^r탩rS-JoۭmIvۭ6UUSiffeUVdJRt`=\_RlmGv>*3᳟D6};I;-fHC@11 O>r y|ԂBθ &:.XEp,ǜ:yZ9-nbR Pp ,1{Cx 1rKP@F<m롞:s;L?GbBLIٶ gCv[5:|,1DHhf?/&8B\kjX20nU]X84t+R8 _F84n]vi8QX;9Qxq_I!!! $섛=rc+-PAt?ܣPaL 1|5ZeAwyo/^4y.0cN',y^wNufrFqc8;Vb F6 d$am!8>N! z4(lG/i#ͻyee. NUVݩ^aM].f]kKD^>͞$ll +u'P$IQ \j2BE0jн,02Δ305=nr wXYz UR FJ],:J7Fh۝P30ď*1 76BBp$_NOA s}mҾ?C$" PaQDF)0mp@E'+I# m}qA5=\? ns ^4c"jUjU5s_~W8bF0m! zZ-m}8!;ŭ{KZ_+ɭ90@$+$KtAĶi-g6iInV\M둤}rW( Ut9,FBF$cϺ֒Gn@ dH7곉:]trTDpcdB{8-"[9"t߳S}*,-S"S&H}8W}VEyQ}/5Rk\_r䄈֮ $["9V KvjQkl7O0$DE.r@CHZ0|NqO{.m]uE9 UtM*m*n<zg9qm B*HR@[RڒmKjȕrD"%$ aDKpD }< R% (KwZ6LɒԱg;xF5߶սM$; 55޹B:K}nwڛi(L+BC׏[[f}5Ă;wǂ #vsRď}wјGsںY@/ rI;C^ԟDKdDmԅ k:Ȗ`%J90nu3ڋ]F]Ⱥu13/s qI`^JiG m sؠ4J0}_IH~7ݼ/j`u('ͦrB]MKZ)PĈ*0 ܈)pl' =.aT'$0C!q. >lԈQh)48p b6gB"o'|>S )dAohOb)@@k r)(tCb9!]"ˢI3a V{7UOSCڛͽ]ijq!ggĺ-gHjRzr,m'g;:cɴ<r=jիVTDDD\DDWߖX5WuV#o55E1I!` FU|;˟P\S 8:uXT-~q˩. 8ic 10Ó!u>#Qhr8cO lab#0<ٮ76]}AHFW-K *"+`! C)jg/ygc#k ~enDQ6"pbp[MH~_^Ӂb-~d>y%rxa]-/NUo4]UC"HID!D0fk.Lk~@? nsf帲:gaz{ E7M$1>6s_cy&j=NnI Lbcآ 0C>Mr#t:z\ O{%矅z9G^2m'JD68= yjeq:RM4ܺڸ%aZy%Je`UCOvs:`ut+%D*<=H@N%$^JNg M& JBMxINX+p)9B+3 #uT"1a)qSlI$5[(cF'%sH ޟ.r<,b-T=Z=j&xTqGU5 i@")o"aH5ki_Y+ZւyQ!`'Jf*[DXd@;!xi$:ռPF.c1hf2"f1!+NjDܲ x(ulh_:'A)v ȴW|Dɤ>0iq`-WϡW|+N{[,L ,) !!vY .p\ C@PLmB0P^799.}6uGn)se{LZ 7{,<箊)W= (jM<_Х,jj}MlxCrdd ^*DEP$eD@?!fݭz\dsF 5M(juF8oqIF[!$!9& Bz}/o5Hߨo/<X: Ija QFo`DE $<+°ٞƈq*ګ&adRaH:j`*aBԶ H;= A'qFz>U TޡH-Ie}"wL1QԾ\dc$Y,C\eHTkO?&2<1 t!-y㊴&U8$T,@N#,|ri&u'4|,CBԾk=XXqa1Yh ^^EE<ߕ´Šm%B[Ȭ,R"  Q ,n n)6wiHD7; qŸ qR;.Ei9;@jTb5tԾ⚖au?\ |# {2q ;WQI^fK&1ɑ Qi$5'Cnf^~K*WpB Z4sm*D = n4Wѧmx$pBdhˉ"'kInbpCN;Ľ쏿u)3p*;R0pL+K-U{/չ#`2p%r/T()w$.{:"k]#w'r{G[O :ɤxTԈ P b#X 2_N2?fUtޛxRI*2ֺ!eyKo%B @Njʺik@pr2vvrT*Q\C&eSҏ 8Hjn]Kj~aaDR9x5cI&[pxHM$&G0QV&k eDffg~6d5_T-P|19H1KbL`ʀf!AcnGzq0E0^Mi$',MhG)Q(nvF>e9ٕP>\q̒?j499tAL3 +IuNJLn4+c[n$^R`_htl2)(1QTL,Bƾ4N.R1+ miJTUF EiX̌VSQ %Ua Uh0m;HTԩE) #gU wdZz+]@mUY-.EG<gÉ=f^R=GF/C pOM4elŐ]w_\^ֶL4(PŐ"  -xgCf" _:MlrE{J4Mc-"fHI$Bm ߮R)qqFh'D$.޸46+k;b8X%;Kc,dkN,p0=I(Hg7:熍9h8yrs׏ܳ~]!GEuIH P/s,1RlTZ+"5>3{).>T#+8֐ |~+V~CB J1ULc_tdkg_ DO"m;^ O7C͋%RȤbH&[vLtqvoݦ0"B ,(Vď˻yLn9p@HxI b9h+= 7U6Mg0FCFCzė_Kv73Bd*`r( 4&\zܚ f@ n;,+\Pot,w#3&LOjPyPpsߟp{j86\GbH%Q,wu&eјЫ$aF\b;6nfb>]^뜸wQ !ݹpB/{I"HBH!͇hY8@]5g]sXXyMO4[jm f ][$D'ޮYW?Gm~B,Г$FZ$4}mmJ \&Mչ61f M $.ZZVjYMxp!ҞM_)yIܰ8kĵ-˅]Sib=geuvd]M mMݫvms|< sH(AB P{kח;*xy'ernh|΍p\ K*m#̆IBHD(断6ۖ#R)KP:1s\!@p 9qs/ a~-ś?09jBϾx+t?Oyi,B`NExȆBBUOa/>X!ŇCU냔v}498ABI$E (:_.<x2R#;hAٚ7겣(w#,LT6\Z}ĎCm9dԓոψ]mDc NpxDۃ`5"""""mDDDDD"""""QEQEQ-"""""""""&JȈY//XwϽ$B8;΢ V2 J(li7܌n3m5衼Pآe9x.Ň>mSjgLv=YE (R-;^JuǞ7#w9S6xLlljiדk({jbSYOV㡃^; lJ9a!7Svo91+>8&ap`h   ֟|L닭9$$s٦i.ysE(ex^'Ҹ~6yXni4Rv<$3HHq`Xf"XځC͍0Sngg:B"2$`>Ag*GC=gW-֤ͶݫFFh6ۣoem(pNZ  ր98~ x9};`s@U1/opb$}ͅ6 e?Ò6}Zyd#zDᤋU!EjG`#}xYA7ruf$"Fw1[Ojk2=l<}wߖٹ L 2ϫi9֜$Բ첒9lw#ǿw5J:⍉T,eK3ro"hrGn9u 0# s;tpD ME1[ȣc%r8<ۉb&EBBBBBBy{WLō\9ΧVw䯌$ҳ:Q/n:?2C/uDxu9uxy`ȧ-<16t%,I$kWxuo\nyfsFΕ <% \wY'IuFfMz:;}*za`wM,&&my!?؛Pԝ8Ff@;\QA^ 1Eh(;%ll7f|u^aw} w0=o[`sUmO:34hD׶%̢x,>}!{u߆'ȭo :}Fęh .oȿ(a#|9BĽ_]qB&@ÖPrC%˹3c!L:hHRCd4l;? ;Q/ 7Hqᣄ Qp0 `l! @pb Y57Bh^ I*G$yp&`qYDrWHf2ʯ<¢WaXdNJ},bӛ̍HT;|aUk a rsmrI[/l!9ڡ96'qcpl+v۽~_orݓm ˵94Y4ݫVzI5"@@?;~És")-NRsE4ƈn /=ΏA FJ3YO7WxQAP u\{d! RA"C7sEH&NpZZm)YHEY<b7X )GȠ\N{Ǒ &SNPWòBwUDˆO_@49b@bnm1Ԉ6S.y+CU5tW*Y)K/UW䐨߆{#JjW=Mvhα#3Ɏh)щnho4LF*դ8q&""s\w縯U-[n*:6Yd 0s !8$ 9v2GoAP5 3BƒN͒'8xҪf{;_e5E.lmUSǣo@<^5jӺm`dY'gI}s sg:\?J)T;/r:ZOjK5I15̮~}l!PýU^$X|8 mN˚/;MT&WPZ.eCQ|zlt-°fS 4lc\iogXW-C -hK"cg7;>$H̠aNsF>s&Yߴ2WAnfڀ'+`? .6MW.R 4(Hy`Լb0zdDLbˮσoYEjz<^mnჟCs22pic4xï]2an0;I.qF!4$2-2rZQK˾FQC˕qT# # y74q~aW;\K xz a(t 2K䥆2YǴS`ʤXA]ȧ 7gV$M|`z^hl -a_{Fg@턙.]X+v L br6#|(wgt(Kt(u{=PQ qC86t =dA6$J^FoP05'm#k +˺](,clI +pڮi{Vv -2˗A(-}s* Nڨ1oW%וYѶz\,Hv[ 0AJ4(Js \2$_SGWvuJvSl}s EW 8Y]\2]"(bԌ퉫8i$dUR#G^añ[Զ" h\l}1}}2| 1BGQy x>dJ']4uZ 3T9pG.A6QRٔ/ BzŅDsIF,sbWo+,A(P 115 +rXA Z0H큊9KS5;mujj\# V7tfsGx:P/G@ʧ6~ϼ94n OAÇ tJ/S /ŢmD&i:蚙t [0ԯ Dd=ík'ˋ^*Uc,*x[c'J^Vfwb[R`E`0^EVߏXص3_Fa|]w%TGR\ ^UB `ƟLK@11F Ȧ k a0cFm;w7.<$lsдSC$k%9_VT .'}Ћ2YQQ"5 lthV5[7(b M7Y߿"#|$}yI ] np7Xf=sȱAgw5B@ͬW,;bLȟhDP6#6zl(㔯*Iѵ]WAݭ?|" -8G_!)'Fp9#v0ӯ~;x!='g[p`6B>8BPDZ Nw4pah.B]Ph.BBk{x080j _%m<пp/seF4VmЬI$I$+=eo`U\F(&醣~ΣЃ:gS /\$.VۿǃsLv:WMFR D~ +!<6  -5:z]8Yє7hUU3)vu!'1014js(1Bd +v;0kT{c*Σ]i?| 5~Zk}L+ẅ81f*{G/'5ZE[Mj|m#=]gIyUV{Gڽows_emqoq1_lvr1,Ts!s)o^!dq=Orlw GOd85v0;>EZ#o *U'#8v,,m1}nY$8 ]È6BP: l9y2FVZl- ٱL"VdDLq/"j2 !F,$(aJg^9;},v^,ƭpr-Rm,BM0&]ȥ 4kaɤraQkeSs[BbKJeF lFq~5/Hڸ}*}o|R-$0m6fri T` HrfrDZ1`uel"Lx9sA2\DR41< !>O!1#=?:^_5aF}nR:xW`9ȰnnOnwm'cYh&荓 PA5 P3$d:RIh`h C &CP2 ";B;$pcw5zjC>'Έ2ՖNVoSmB1wv5iH4,f9NHX15T9x pgD̈́ȴϜIR)0G[rT@F1^CA9m&\@$#HTMĀ_}.6L`O=FA5#666."5VBL#L8BFi.>]FR2ȘFi; g^]Fh ۶WS ʘ0Q[nIq~/ +!4遀0 5նԓEaDu~O]_{趵32 $;hβ07ύbWhlI$`\>zLg:U9,FaD4ek8_#Z03r#kŎw\hl[_tv5NĘ("'4ГhPZOx-!~ y N͆OIdI'a9,XI3DeIo^;5 ܅nKx=D$JML]>HI$UL H@BeU~xSG5cl4ln"Ǯ /aEL{{)C]hY4ﮑ/H}q$xH<^%%&"AAHF>tnuZe> 8rRjG(Qt 3qԕ+x4! Rח⟫o1ABa'4=|7iaGd5=߷f^Pm?GkZf8*#ZHwdo>+T~|W@q5_Lcr)&lf(qR9hJ  Hat V^yC+ A4q͐gJo\u;653Y*RS__ -&)i>@U!V^J F4Ĩ 6'ЉA: H%)wuׄk_k]63lD%. l:W{UAUUU3u&`,uYn =X!PV@HfQ'X|H<'kSKpLasiS*uOvc8WG ',A8U[׿ dF @byޢ..h`ƁaEBӚ(x\@CGtN 5',8Ht+꾷w0R`R\Z աܰRleWcu v"NGWGs;nIȗ>eib}}Z I۩d\TEc@:.Ia.R[&,!sDd߂,c^_&aJB,vRZps "r+亖S@\@E8i6 15Z\r{F羧_9%:ce4<"e)o}~+Į8`ݗ'iD5HTCSNWHWb̅';4hׄ9|=m&FZiRN9ם~w8+592w^'- Pe+祚ƝzV(&Uk@HB8a 3&[kJ_uҽFa1QМδz_;%|]JJ]TkJ=vv7B+Ƥ񜷜||g_`uD6}ιc4A5od0aIH:c ìę>,ЌVpNmbbq&o*IѵȕL2e.EDd0H$gQkԙҷ;ma,] =6] aW´7jGfN\*ʾzn2wOYW @36VJН$ț4Yw_]^.m__ywYgW%Zow~"uK De'qA'ubŋ>ſK}lsnmaHѣ leS`vye JRn^(ʌג#h[eϳA|(l`p/JRةr2a[QxZQ$FḠcz&NnK<\Pwбi<5$T|ø+7ETr:לI)@V@i$p<E, rQD_N"edX.8ѹGs9Nrd2%K<C5=L: ϛbܥvN@Lݡhl$@G`,^~gL%֛=oYF[CkvN$ꠒ[Y>Nb@Y$F3]0CX0lę3 + U- QEghډ=;$_$.ilZŲ~4LRnIyzm~})œְ9XxҎ`- ͋ FcLǚ6*CaͶ9h& ɺ:CCXܝiMF K) Qm%yZ`C rҾ!wcZ>tV"h]#)Gg旤]T鴒rZwI0|kOU6o4P E*a;8E9@dSBkq+|m? Hϡ[3 9"䉄5 M+U(#$6ih/Zɂ%ƒ!4ӥdc:Ԉ ::C^=09U,fti׶by8`xH/}ӯ$jן2H=}Xb@2?&> ilRh{"njZuFr &UI؋s󨾭ubDKUNm1zZl \`Hp~@ S:4Rh ;0}9sҊ%ף.FcDRsja ]͎S<l 0ՃqlSC'3FBg 'D76lcM7[RxؐZYgYivW\M2aL|]ւwO}~D8'$^i9yTNQIc 8M0w] [`2&h Ci%W"AUMݑ9rX)RsqL)û1&jQr$R7̼Ǫ֠20eM嵻Cz A"-dYk$ДR%GK Bx7:Mocq!Lt`&IA)N/5q nj0o26ޣ9'VD*?EUI\6 aSG~S"QP>d٢!Bh06ZR(p:+eH͟y;aCP`k/'S#6J&Cd'&E1,Higt3e>k,HͿ-j>wh\r.s^|rx2IumG5R(?2j`$][FyIǑKm'P0R uxasv +4g.}Z$ժiLL?)oempԍ `HEHGtL(Sd׀kI 47hky$NB}u&˝ RƛSX$)ec5ZlV%snQ Vz_~W9UKA9 @E$mt]g.w^Sb$$$N_n dVBf8Г*~vr_rxXkv;5[yhT>ga S0L)#CF6I,vWeIoe=~$]׏+;x;H$4th7C[ۀ$"A뮈3y gɺИ,ɥ'Wfw*Q+6d Z4&^#;V  }4izmIiP(f/pm#Y:|tA OˠccO^:ps1׊ Rʅ)IiՄd$A; oIT9JTh"$I&:RM?TIFla <Bg-L0?"‹E|R6m۲0$I,HЏ4gz|8Dh߮ͤ@ak57ro|q;n :Sr؄&6FEBr L&'TlHJ*PjK0NrZ \/]3 I+n4p5yͯSmf$;vԈv+mbfZ8Pw- (DRJ`72ja""""""""UVZ{#NFUò6@N#pDϞja9翏B(Lͷol;섌1BF~]=_GƗ|Mi$,QÐF0R<4lᣣT F/IE `XeQ+ f$œ\mX#^c6LIT:7t'SfwԅdP .fa^\)ILb[I&MZaGc&p_ZcVbdZK*,sNxbbJx"asݶv t2y.}wV飋('ϘQqb$#&p|y''}Dp>:H6 .&8smÇmVe3tEv'kގ:N&߫Tj2]5a0EJCuYJoLIx;akC|FÿתL*8oȜ`ˉ n ގEm9jǟɒx0H0}i>AԌ ߗ\h3nq2IśBoH9%RMiijbTj#Biۧd1bAe 4^8IppD1"g@*8 -R5bgKF1R䐷n2cZqF(p'c*,TQLa,vp: q6u pŧ20 $7hGXcJ :(!ǘI\,n苬 :dR8 11}zGD(2 VkoІSB]ȽUږ1߸!fcm&З'to,mB^'NwyX& )IU7ﰸ}TpHqG.]պeY 5H4#'cl#( !4K/>h(Ԏ$6z&6QΨy'Qu{gL,U'BZ?q"!ʛZZbiki֙m,YRZMI- +JjThklSHbͳjMV%U)3V6Q6c)2mқIdڍfkR[VJMZ*5jR̖Jg|T^X7HŗE#:z}imW&U'fH|YnKDuS|*xF àƘ(n#bF  i $`D(}ivx]\4T-PE`ZU&Ja&]黻ѥɹ#7VKbN6&e& FqǬ?XCQ?ić,0)0 E'5#X!o I/ݧ9/e?w$+t!'.!f4Y#jϖt;8t[V $˿kP<s{z}/׏߻$uJJ`}l]zF3nꕼ9ZaqBT͙c^)n1u 6;KKxF$ZG mV,jpfn5r0b ZliHYaHt?O)h ,@Z-gt C2D&WI#[ëEySOT~`@>!@F))ˊG=]el< {'5l͚#!D(HTY#-5n-6:l;5jRoKȥDzaH?@|P0HD`(TR tX4ؘCҲ-4KM*F"\>O=Cէ*.zp%8߅uYf8uSӻ?<. ۗ|Cfu{1mf[ˊcǭC3!Ĵ`5=gQw!*Nh6Mى]fdN}\XMNZHkm-h^-VkӨ5I&d6bGԸ9q}+%[a#t㸔@6? [$"rɆp$ t}Rdӣ$u~m7W;* Ɏ-ZnDőA֤OIcV"e?lUbGdD T,G% 6` ?uZ|WrV9?i#x&w{xǚE MZAiU"zEѾo:|B a /N/?We_XzdwoC|O(I\ƋBJ-E%3VSo'7*$7jp+BhJFqB,spSc 2nyD }_.WS\)L!S'*>5ĝfjU_65 л v`dyޱMQ7µמFQY Კ)gvk&]jҩ^Xba!J^C+RWmSپM[>&U,^M鱟=<6] /2Vb B!2H,rM˒%K)e,K%ŒlwubŊJ*XXTX>ծbEߋvN $ [$!U_è5 b˖ &JH?)0HbN&&aیtI 3#/CYM| A%+$@ukt%J:$CRwDlҭZjՠNRI,EX@>/A @"Ec(ACV`a!>UYI~KPCì^dfm-s5K瀫kb}дO$|3 r0fA)4 _`׉x n %06ߴrw" He( ZlǛ_GbJ\hW2)ܦfEpa=RG 5R g$)p. ?qW /^dηc{41#003\:+Gn&Y;l?G/#-DG_A(+{+z=gApLjo{ DAT~a_kl<ĜՇDSp:Y#:3\OpZŊ0h4$:FqH/۲(*$"MoWY Y߬I3-6މԍDKV,ֶTЭmfj5I̖X, H$b 1r;`Xc' \/*wpYrC`-lRqb,M,>Xa)XkQ7dY ZfŪzHS>Rp<};֓a\Zjt_6c}nK,GB&UxXG$t~Tͭy._A_yPӰrWϊzи V[Ӎpm騌c"D$H;MA$BI0I$I IpG뮺mfdIW]|wwlcpޟ~ٓCfÙI[$%*.k CM !owZZ; I+d;L`e߼(J$d%rF]o72=V[!$LTȪ7{_!T_@C+NTKT2m܆ r?)v"x?sjZ۠M0zi?=i-FvڬJ]*ȓ=D01H`EQaU5ZRmYm %Htn_yT*h܄S_GDSǨ^.A&)`TLjG4A`0B0/ٹdb?aB>Ht:}ɼдS[lLR~䠹W=@ܝg4z?~I<",oQ=.",Uڷz}2HHX7>AY7'=0=DI :heFy@# `Yw5 z~'kϙ Aqy8;fB$ǜŸ2gӵ w_xw,J i)조2\Mc7)v2۠)dx,K$i¨҉"=$KBp6¹ `Au6v2/}k=~MF"vU6ABH.Ah,R _A5u֫\t**)}#MR>]0Ov@y1qgJa7GjDJE"?ZdX,@H(UzVhKk/$`h"d"@Dc{>4_?F(PqDVG}]q"k8FI{T3ڨGdr; 6k- @PPS;{O1Uxɼl?C;\XTT Vf1c,.&Bj=t{1SH 2իVZu;RgGtl1?GZFC  luj%օ^me'7o!.Y?N3h~ܯZby!AAse˺$$pAȈM[u}.yw:qE-6bv,O#Gf$ʮS؇S)ʊ]FB|4Fd0LėUضk,ـi1R [B ZȧwTcKQZ5ZS{{N>lЫ* Y V$IJ ZMc[s\JjϽrU\VV&mbYD"i_ñ, |ǯM=O1^G؏H !&-_U~5un~~ W_cq=jqOx*0\1 i[]H*(p"E@EvcR$"cۄ -Rs/10b`@(jBBZm̲Z,iI*YK B,if Y 2[,VHD({.dv>EEC$\BIK$}X U"Hs!ȆY-xzMc>##\t#|>lWRR13 S/so$1oDđ^ȇ쐄x y[-F$. @T̡0AX"i`f3b'Zs Ȭp z lAB8>M)c1 `ElVM4*jkrmr*IH^4TKbIXB EL#B)T-(j†qn]fMksM).lJJWPV A`c :hv_6) (T$OEޛ[KEl[B8`F7G_BذJITIKP(ʵ$rV}-Yא6)RR(J Qt\J1laORsIwat.HI2a@ Q>~ _j 1$]& ~Ƙ"R$όvd+ Pp1fzhCLo}2̝@$_UôvPƎl'%6j~jv%5R6%ʢR[QWg2q$.$ɤBI" d: vh߆hsĽBVVu$D)(%Nv6#qF֯UIIIώoș"dLXHLr;)?V-ab"xz:L_5 bs )EvDkK(+wp'[-hSƻbDbccQEc1bcc\\"b"F(Z7?xۇBNc%a 0d" ~_41!p ""*EX4v,j`e$`LRo6T :эl?MEm΄( @E"ʓ?S8Wo qd_ʫ#걥iqhіpa]QF\EN # % %i1±cDƣXB˜se0LZ0CFh)CAPbPbaFWE+EL+ rgޙEB)4 YmQ5肃0@ clֈ#CDoDBEap l*홶 W2%RtݍI, `BW֙[aKr`M%vSB2Ӣq8rfI)$z8=J|P`IoYcu;_2 ua'7%%ddFԹSFn3C\6I+hK.^-a0: TZC#@W{wt*CEBǩ[%NG#u`+)ŘQ@E`Z .,"ȩEd6Miԭ6MH}=cHa@>בXvq*LbX_6S讦 Xk,=B0 Ht(:Sgh}Dp8ǹ}r涰Yd*Q)Zsmi EIB#B0FJVj|2&a Aϐ1ލοMO`7 ho]u¸jw~$Њ }Q% A)_OcܐY NLHG%b⺐WV9@d ݽFNr 7r{~BoLn2YoDVߣWjE CZ~%-0!wUX&I,ċDkpZ,.-;G'8} .D~c %ZIRJ % $An(AAcqRHH: DD.@,FOyFPGiFFkJF3YcMTYbtճ?5BH1ȅE 1_0>ԕzj,tPZ%T(Aƃ5mퟀ-ZFi3|؉}>^As_h{KgQQHu( Ot#DjA~g.@D%I$$YQ܄DF(~?#ϙ m[M;]زiOjՖO]ի}y>MX:Q L֞ճ)j\XՌl^%zw2h(@y]TH($T@bB#Aexxǵ1  k`if @n-"UJ*ZYFۡ:Co7rݑ۱ 1JL Z-i2kZ"ߛr XxH뼺B[N^oImw"0l7ᖎIL:ˉh*>a$%Gek 5O$dUqd X,dޘ ˭  ,=!ffR%ٯ`{(R+[;L DG[w㈮.b[VemI! Y0`B'_͗+7?ڌ~~* THhM@iz 86 'v;ԡF~om5Xٝӭw"edK#->9OɗÙkW'a+ (N7MCq/0Ȟ1q$'"9,ל%yujq89:ͼck7@)5<DW߼PeaF"/9ǃh< fߓ CQi5UJIĚn;6!#俣ѿ2qkchb\ B`؛F? ɢmv Y>lIH$m@.OL1ۉE+44BܕfnNIF,f5w|LO &2-@^8#(=j/ e܁^X8)P~X_/Aq5dD RxmE}fWH/dOxRźH+(l_@Q6 V\V SG]([\sPTSHg8# 4p*^ŒLe.ԲSvDu(!@_+D:Jçkؽ=b }}EЃ?g^xz{N~[1Cو!EEWWkZ xbE=sw]WomnVxnᄐ>BZ[+ > R]1v,O[(ێaje k RPVQѹa߻ѿ {/O!6VmC3ߣfS6/sv 7&2{kg!!^Ϧ7?l߶>mffh!Bv:^zYn܏=^[ ֈG֏@֢(@*xQzI;-w꽯ʮp*s9I$DDDDI$x:Bq޻gS ;O6>ʺՂBXBGwdz Uub #e|}A Advwx`FbG>:̀cme}QT$}1ӻ}{i=}ۖ:MMJ[{ûwwwwwx|<<Qׯ^x"3333A"wwwC`X(ď`,^WyĒ]$3Dz ĕ4jhM^I%:Iwwwww$ILI$3wwwwp;I%wwwrI.'3Ifgnw|RSN&:yDz1c1Yekh$71d݊ |t>bYX~͗'}_G_c chN^jj%/ktC0 `H!{Z"ꬥ-便bի[׸I\Ix!.fg'hmִICm;> ff SлB@gKy՚"1Mϧ>(kPli _H:t9xqMn$7RY ~sf]fo g~ <:Tnb:3@ Z”0PBᇨ1*;I@!fd2ۨ$jh(i  QQQ4k>pSmn$DKcLzDMb`C m >[i)$TP %E I TPm%E p!HI$q?z?hF?G&dL||}j$- 8m53MU6IA,)y8 b%> } vJNW9_Ls??y=ORd"LԾgzE`V mjDZ4l*# Q>*[&MWyN!d $Tԭ%V-iVX*Abĩ?jg2Է a#Mv]6L!GՈGG5 #~Gr2mmʢ |tOنqgm[U}nϏ^ wX2FNA\٣̇aHhA Zfs!,pQCQ\ ns` !0"!"Q!μѸ35b Cd@ Z6{pJ@L XXLK^D˲q\PYɺLe"}'5 $<&>XoQ2~/}_"HꎒF[BH{{?Rf-qa4K Tś)L֨VkLVVҵHn: AK@1;~r P$w+RAU/kr딥mRMhbJa%kXf&O hm3 f5YCBȊDRIbWɑ1Gfq*'ڀTBEQF G"kuK.X1 6>Ȫ5w*o ЄBFv$Pb@#X?) I&=)yaS p=!A;N6()sL˸mJ*V.q3%%&L2bmTmeιVk]mjUWw|us\2;_umʹ$3"^Ỷ]~n\d4$)[rvwWJ  `Li%`.\0(5 6&mwn\nC&i$3"yjdЈ"""""""Zܸ5ΰ2F!za@E DRH¡I0̙"Et0HU,_ԊUIA]_B0VE`mBBV&T;!誟Ij=`t D#$=#_Q_{' Cd vs% "` ‚''D$X C~V2;;uPEx^[N-IFۇ I/]@U"-3mSliif 0# f$RCI ,DI/7ʶm"~#;SONB6?7GimG6ZćiQ4D?@͈<#=aK,}|})$|SlC5| T.eBJQz x( Uec<#Tx3 "OOqXwrrJǓsw+hT<R$L,hp&@H5ɂ*@}9z}"sa!d<"G4#i 'Xu"a )* *GYa&RHdwI0vּ;L4DISA8rQTIQWpRiTEHӱpn4O9a:$HϒCW.N}qlm[q[Q\P$bH( DMZSTd͓&2-Mkjm2*kmѵn*4j5iQEֶZ-%KJ4R%KRDig~1pIIE$: FZM ֚%ZUXȡuIm7bB Ē`XEP RPO $f6QCaHAet$$F#Y9 DXMFH K4O*Hpa$t<18I#Vu+E: @mCFh?߫Mw7);'hmmsXpoF!a]U!'IJO:$%Ó)KXT V'4"@nıAPGgPE iF"a 946D..x/$~|w@|))V +Eb(%dI$h&Pn"у,9(DUOa"{l@<_/w` +(( >~xGt'o"<ٓ rB24IxcyPI$@9NkQ HX#=Q,@"">!`C/ l7 ,wa&ס$AqHLbLI"U.$4## m\C-a˰#A eVRJ˕k4{Oՙ#X `b%ȩfN Ē")Bldo,LDَؚsۖN+bu3&}7m[tH0(s)9Q]`Qͫ&L*i)*fNPIbԈQWuB<$'b/띞orH(fB,Q[:e5tdN>=_?^%=PSu'Cmtj4IԂUg^P^\LUn$~9¸KRNc14## Qx=7f*BRdBx dD23x&C~^hʚ4vP}X:ѰꛬI JEeu pj↣ T"#aKHsnjIvCai)bUT$KEAa' hSn S  5~ zρDD,zg?D=JX,Eq$0ߓ>_sL"Nb+iMpn YG*(蹿lhb_)":moLo&<ڌ7s:##wN*=2|6-&BƜ", 2!hL1 b!$% %-.$"Q.AgC@->|TQFCU ?O[Bo) HM!$xI'`q TR9n_GFՕ)ե* `OOr}'a,{pH<͉$mS`?;7"G>d}<~u(ЅTOr|,f˳"o#-…* (1I`r{@v_m2 IA H\E ȇjhaD-!, d-) b Rn{KV:7h3'\ڕh;8F1| 3Q&+yxKT|@7\SXޔ@p! @-pVC-NbN!P6TSh* lXA3T:0J[B[(b"6 9ې* PQW= Ή C8xAꤣ)j aV%КCƒcӠA$eY䛘ؐ;Ď!QzfIUVJm-eZ5Q͛YmHNfijCڙkP7)!s ( (p٦! iH(f!)H >0eFS":B$=]Sq8>4)UHI(%"Q$>Ő}-^v I@NK U"'4XKIɊKsUk?XJ @1B`<.E?AĕRǩ E&𩒦ZQs 2͘cԜՄJlY $9a1QdJ X\##MG@Rh…qF{߻ҿKT8BH"`0,D:J ¤8E\[(j}>d`RZFHC+&,"""VWB   "nȊq#DGN!KkDFDU"{'$a7,܄NB6T'u®IQ E7+gE`ACU(lU  eJ+)c&gHRuМ@}jP%Dа=F7†a;G s$n&.;*px Ux,@C4 8AE$-1%#[UU.U26rMImKKMW*\r饙*KmK.s[nU*n7JmQ[e Y5L3'7.]\[Q-1IEi#X\K_^\SUI J0FфK H0-p&1Vc YL#K--nnrrIm12ȷ幸nTRVec\LZ.—MS[[M]srnQpACAܹtG`?܂OЯB*Q*HK!9ǿ'8}$Gx=!9{ng#~Dl@ WhKز("UVUZJ!GdJe8i;DG#ADuP%7.e=лCOȃ 4A YP4K BՒ9*/OцGH6<Inw }Pb%H,4Ћեߢ?G?~એAPzG? ބ62>2#SH?\fc* )nzdL9}?z@>ޫS@)r$Na$~`BIIzГ= >8M,aÊLxFS#MZBD-d&d{Oi8bhDl@'H%$>8 tA&$25OX@'kq}X7f TlduXƼBz˂P H,zNW@6lU^W5*m^ޮ>)'6THh dE|Et"X0FAHkmZ6mj(P(OfK&R }> jHII"HlBn$4v JH"PDNtVHRGHa߲ULBcYsi{Vm%j=mQ^{m" -͍ ٿcoX'x\onߞy4ьn>H{%TUEm#lζfӣܕ䫶DVNVw1,4kTi@7DSn`RL̳PzL1Ti@7R Za0Ti@;n5 ü9YaSEU)T/77H 2K%֭!nD !$HT(ʊS,뙬&; cI|)CRn A!Lj²حZt1.{ ȥEk* Βq Hy^LrYȷm^HhA[m44g$'}Si11p5Xg4.SgPݍ(]Fb-0nߎ{^'ToOac(iHiiwl0;Z}L":ɖ!C[L4$D!6 HJz֑Fm L2uA#zvu1љQ$ $"jR؂ۛ&6#Դ#H] yJo37H(*tsW0} B4 l皅)8k:AEƴshx&D3Hln@l$͜ BNH"nml6m湘1ԙ2jC%Ƀi&Ȏ>ΰǪq4hX*M1fj hW%᷏sUkéMLPD61 mr-˥Ղs[.D[s8.txnKs/ mRYP|a֑J3{l=s *H^:Fx NxaQR_sqHBBpD'XMozֺrs (.1+4-ɽf$mS5i0XKR MxUe˻ݴJ˪ՙX..ww1+:|]\%K@,9L6KRjRH\[:)X͚nŊ-mb-5pђKo5JxiiH 7LdM\DjuKe۾neNW仇1C mS;!kmoVWid,V-I+6Mk6zZG6+o^""""k:9DEbQ; qI*$ReqsvMbp([bp%BfFdˣ[im[ ,|G\-Җ[imNĔ_LS R&- .aHRRR)F͉Q%ĂTEL"6&EF*j4l+WzQ59,d$[S31[jkFEFQDڥփM+qbCcCKgd(QhvB .vk] F-1drԐ6k-4ƞLI#y]w P*R@ddBd2ͯ#^%}Sx9\̓/ A4T#C֥^W)pL l ,`"ʛJBVnXc@*^:W=w K7;)i.@f2 -ĈD@6Fp ӍvR6cI|޵d맅*zф`h6H(I]\b@Fhc $[URFؒY!YZ*[odSAbL[0dA$ а̷]f.38F=I+U?|9$IJۘ`ےL*yAr%uPkD`U> R@:>m~츀+DARB|!󢒊DD4jUm!`bieLifD6k&ld1 ,O8}Ie*d:)R4:*SDEQ`0+:85d5X)~ }DmiHHXTHF$AE9 C"44 م dhdYēՈ4!08SWh(脥25HsX&! SlG`bp  3/nE@ 'HyEeh~wUJ!YYaXFS20ĉ-Wae ->I7P/th@j z0.QQŠ6qu(2U0Q@*@h&iA"b"EJa#t`@X4PDY]f*IIJ]CRjbDA3(I*#Sts&rrtY:߰q`X.%ܩXJw;԰8QOp`e>,4;M6"&q#67xdž.U)Bz *tgT%K܉0sJADm L:Rn;h'DhQd0>J#|-Qa,9:Q8I=(*$Ti*#b@Dr4j&kVmbĪEg_|!N01G$4E_=oz_L*7B_#H("YW- v  uA~B\_Djƴ|e!Aeϭ;UOw,ӳ)l$ F(K>(P bPdC䁜:)4ak" ,t# ZP8"_]rTb\Tv`.ii ؎Vi %$ʰdKPe=5J(폶I'y~::*$$)PI*?PDdŋ c$6"t" Dn'VC1I=Dao4%7IQPFVJ 3$3r|3K!H,T> :  *n"8X+Ȉ4Yl!I RϢXÁ (EwU?=wCaR}?}I)$XV%$Ad$"zؤ"D8}j/#;EYgGf=j_g]G ֧5ϲMr$u%Ip-¾ Rr|( AkQ%GgptDY-HT/"w'GoQG!> /'{݈)2ZI,4!O<"ȅ*| Y"*yiq͵fqw[5 k JBx?R9hQ"5(%_ oa;Wx'VBx4D(H!3Zw]SҀ=/@Xr} ҈ ENt A@R (A"ZXUTF3\EE_DtWo㦞]Y|d:Mc@REJXPT0^(w(H'g_҈POKɼXbz?#it!gu;}oyA߂&d_!A _X/pعA;CAUA>J|w*] &vD5J<{}5H8bD"v)ȅ?t{1°|#:s>F>ezb ? Bv @ M>獁>{ATǭx"t`Md"o$M+֏xǩ4>.B.w FE$wU e$C%DObHp*KbH -H (0H$`XĴP@4@ʜRҭe1f.U6ŵ5˒PX 0Yap$"Z(5\R-\kIJ6mJՖ ifs}HjYbThIT;<)%Y%R_߇{Qqab}%cy2E,#e":R "UvԛVR̵!BJ"X"?d1"C4LyW9ÓA*T) \RE 'dhr65QRT &MRU5P"\Ʊ DA/U27 Ab]B)~=hhUZ"DbF!SR`s0(0Fq(Caшhпr:=RY)m,QRHD`O@O"0PAy1DQ-CAE<[!I"H!9X^ a:u鳨n`іNo=J{^~mͶ eMXBH7$Uœ=<$;:uK\ZFQmrOR"rd9ktIG˵LW ;!rݖ<МTpl[PCwm} Dd* BTN-%?ә1,=J@Ijђ-46y{Bx EtCOLtcH"IF2p:3yd >O=:<<MۭkJ6}+jMIJ)-GY`$e ;dWBwX?܂#&dI$H{; YBRB[$EYA@{| FrP *IdTRH>0\O|O3 =];j.º#ܞZ~5We̘"678Af95$O;;|!}PUǬ8s6+6S`^S_sTr9UG^na!˞Q?$Oi3 ̈́`* 1 !<〨R `8:h1&I@c)܈[$5\YO0t`'Ay;$`x,DݹpZ#(H#dWLip}Pj %QH)0AբHdբcI"ETHbC KIT H*HY,]KMjj3j- r+IeHs"m&FDng*͔[jMFj`DPb:IS$ 5 Za 47 !,I&$#{#* _́Ѫ 6#2R"(5%@Vg02#KĀiXȈE䙕g3|MS#@eLYӘ Dj{dUH;uINkd3dHj6I,!FY1we8uJFNfauF,&@ b7A( RkZA22daX^ Acnxi^RvЊ?}8v6Na†h8;!&DA5jY{p.(1惌/HX,2$Aso88=gH^%DA=b)*{Áٸ D_ " ҈Ah42X*r"ɉjMkI$**4(Hj9Y ̑n`P yON'k"PB "ቮ6{TW"0p=;C/`z KePRRY`pݭkŷ+QU$j$Ĝ3)B$Z>)gDVqBH &+E }h wo7;AP8Em"V]wA DJ/5m4Bz4Q 'ۊ~?:j^kE%\-w($T,,auaE5K8&AYs!P>y80lTN&d=%cB?Xuz`"E򤰪͏  5a 1Nڿr1Q_g|mVQ#7%BKDTs'"rL"gD !K1́CE?t"Ŕk}<$6|ݼ.ȅ|R`Fx~Hxxs88m ߌLf9cycNn:@ &lso6dQ@;'zIh.AwȤo>|:C0G*EACsMhaaAq7%TmH8dVom ~7\ƖHZ7FҭEə!a#n[44" eTŽ$=xo$YTdNhGry#eP~N+:Y۱E0t*'/.> @P; bOł)g/ 1Ww0!U@@QHƍ!I$%4d OJFTA$@J)=@ h @I C B?+!haT_̓lDbEVYih$sz) ")D J$_Ci cidLծJ3cUo>Ne萜3(ꆴ%RĘ2,a@#E$Td6A42}o$Nq2bCNT @$@2(tYF3;TĭA;M(aD N_fE|/(5W(O|K@ᠢS'o ®52nVBR}H8jG 9#@a2sQJT+&/o*MČ h2,C p14Z.KF,=xbpۈ(C, a{4l 9`PhJ&T, ܭ a&-^:r4"5StqW |K잻ntReLOPv-S  7)q!$P:y}Tm!h F%@B=N_ p HNzsk vNe:dG4<@cID 8zpXr//vk>9 mѹ!CݴJZ\‰ 0{cH085zI#by"o{(]ܳ`YjFom:Ca͜65l C1 tB'Wy7Y8bdw=f