about summary refs log tree commit diff stats
diff options
context:
space:
mode:
-rw-r--r--037call_reply.cc17
-rw-r--r--065duplex_list.mu46
2 files changed, 60 insertions, 3 deletions
diff --git a/037call_reply.cc b/037call_reply.cc
index 0d277658..fa224216 100644
--- a/037call_reply.cc
+++ b/037call_reply.cc
@@ -135,3 +135,20 @@ if (curr.name == "reply-if") {
   curr.operation = Recipe_number["reply"];
   curr.ingredients.swap(results);
 }
+// rewrite `reply-unless a, b, c, ...` to
+//   ```
+//   jump-if a, 1:offset
+//   reply b, c, ...
+//   ```
+if (curr.name == "reply-unless") {
+  assert(curr.products.empty());
+  curr.operation = Recipe_number["jump-if"];
+  vector<reagent> results;
+  copy(++curr.ingredients.begin(), curr.ingredients.end(), inserter(results, results.end()));
+  curr.ingredients.resize(1);
+  curr.ingredients.push_back(reagent("1:offset"));
+  result.steps.push_back(curr);
+  curr.clear();
+  curr.operation = Recipe_number["reply"];
+  curr.ingredients.swap(results);
+}
diff --git a/065duplex_list.mu b/065duplex_list.mu
index 8c5f6011..c33bce97 100644
--- a/065duplex_list.mu
+++ b/065duplex_list.mu
@@ -86,15 +86,17 @@ recipe insert-duplex [
   # in.next = new-node
   y:address:address:duplex-list <- get-address in:address:duplex-list/deref, next:offset
   y:address:address:duplex-list/deref <- copy new-node:address:duplex-list
+  # new-node.prev = in
+  y:address:address:duplex-list <- get-address new-node:address:duplex-list/deref, prev:offset
+  y:address:address:duplex-list/deref <- copy in:address:duplex-list
   # new-node.next = next-node
   y:address:address:duplex-list <- get-address new-node:address:duplex-list/deref, next:offset
   y:address:address:duplex-list/deref <- copy next-node:address:duplex-list
+  # if next-node is not null
+  reply-unless next-node:address:duplex-list, new-node:address:duplex-list
   # next-node.prev = new-node
   y:address:address:duplex-list <- get-address next-node:address:duplex-list/deref, prev:offset
   y:address:address:duplex-list/deref <- copy new-node:address:duplex-list
-  # new-node.prev = in
-  y:address:address:duplex-list <- get-address new-node:address:duplex-list/deref, prev:offset
-  y:address:address:duplex-list/deref <- copy in:address:duplex-list
   reply new-node:address:duplex-list  # just signalling something changed; don't rely on the result
 ]
 
@@ -134,3 +136,41 @@ scenario inserting-into-duplex-list [
     10 <- 1  # list back at start
   ]
 ]
+
+scenario inserting-at-end-of-duplex-list [
+  run [
+    1:address:duplex-list <- copy 0:literal  # 1 points to head of list
+    1:address:duplex-list <- push-duplex 3:literal, 1:address:duplex-list
+    1:address:duplex-list <- push-duplex 4:literal, 1:address:duplex-list
+    1:address:duplex-list <- push-duplex 5:literal, 1:address:duplex-list
+    2:address:duplex-list <- next-duplex 1:address:duplex-list  # 2 points inside list
+    2:address:duplex-list <- next-duplex 2:address:duplex-list  # now at end of list
+    2:address:duplex-list <- insert-duplex 6:literal, 2:address:duplex-list
+    # check structure like before
+    2:address:duplex-list <- copy 1:address:duplex-list
+    3:number <- first 2:address:duplex-list
+    2:address:duplex-list <- next-duplex 2:address:duplex-list
+    4:number <- first 2:address:duplex-list
+    2:address:duplex-list <- next-duplex 2:address:duplex-list
+    5:number <- first 2:address:duplex-list
+    2:address:duplex-list <- next-duplex 2:address:duplex-list
+    6:number <- first 2:address:duplex-list
+    2:address:duplex-list <- prev-duplex 2:address:duplex-list
+    7:number <- first 2:address:duplex-list
+    2:address:duplex-list <- prev-duplex 2:address:duplex-list
+    8:number <- first 2:address:duplex-list
+    2:address:duplex-list <- prev-duplex 2:address:duplex-list
+    9:number <- first 2:address:duplex-list
+    10:boolean <- equal 1:address:duplex-list, 2:address:duplex-list
+  ]
+  memory-should-contain [
+    3 <- 5  # scanning next
+    4 <- 4
+    5 <- 3
+    6 <- 6  # inserted element
+    7 <- 3  # then prev
+    8 <- 4
+    9 <- 5
+    10 <- 1  # list back at start
+  ]
+]
b(+$a e3W(54ӗ d54): aKN݄FEzXCNL0~yztl;WyNk*˩@߯~hy`?l76nw5w |,Mnfhn$w2Lm?}[{ObThDql[Bυ~o549T&c&ekk:W[~QN1]8F+uߤu +ΏWƧoٹV%4| Zx6l`&eJcL>& "g{9+ \u#8/=J`LE<4d9nۣJ1Cʝ9Ҹg>ұW^Wwm=aSЉXBӸI t6l^Mn6x'41q|,o6zt+_tp4|i?=z'<;}r# ߭փ?,`ѓ |R8k[ˢg5s&ݤ+tJ8h@ A`}$Mb0(0-PLd)^cT)@KH מYd@5 4fD(H*LWlw2;1\X&%BuN1s,aW{&W p㲃YOa"1qz" Kg>5A\2."}Uj_9Y~AkV^+6l+J.|I~vwԂ域m>?ݩҷGߞ =ݾBNW[x`͉sq6`P.$<;qң'N7_ :QzS~eed2ݜc+SţF DO R.%5 5)aa!j:wn!OB).%2 -K#A)q0>3H4Q2#.rHX{Df K2ǧL~?ts *9 l}>ˊg (yi*9=6g=9hMH@Pd0t{AwD VVZà9s;$9@UA6 lL%Hsatk8ȝᜡXJ %Q#' m2[%%;XQDjvA,IHӔRJ0ҹ+\-~xdeEI.s[8_w=,PE+W oM>̐g@r8־OzZ4:u He,HrU`sjAbƧѡ9ͳtqg 2ҒtVFN5 ɺd84ꕖk<|30/~yBx¤?SJ'(hY(/ &ч{jIO|]? *T8tl_7@`3_UԷ5^Q@Ԅ+x"# SpL9, d/$BUf*IﳒM ɘ`Jy8vu}ɪ gċ8m5&VX#.0YxL{<@RGq8Nj{3+zTziE>smmha4{>ZjH[d!!Mx1GG",&0ZwhS6Z֪Z%A!bʩP;ռў9bAÖb(R p1s{{%P:Xʜz_sz J 'Plͯbf^Ɖi.`b̚ zaax`Vˈ}< hf[qP@Vj(Fnƞ΅ke|~Fn`/u֒sѹfܤ&1 &h1dD]ܽFa2Ayz^Y^@ Uv^o}6N)Mn9,oX}kՄεy`YoMDAtAo,Mƀhkc 4,^CۮZuh<&sR$1 x x4>0.vQ4ίaWt>:WxP )pyv6M#/I(g'^AG۹,b&Z! p4q|ZHvֶm ] 稛q{;tllܗ⭭Cw&)69"&ڍv1D1߱h|C[B] Rfgͣ'ߤ3 ~Nϟ?y hNWcOkOn} 8=סs~zdg`|ޯ "iKSNT!S9$2WA_J HTژ ~7S[;1ix=?R~njFw=Ћn1QGZs1ޚ4OʛĤq̵v^uom9a_лdV0.q2Fv_>?=?龷&NN=Ϫ?Jl9@mok|/ώn ƊoHGs:u|gKcx+L$+J3<: gEGx:UvPƷ}0<>|;߽va١J0QEBC<} oaYN_wolD}RZQu3vzGQaxH6Fԫ&oWO͹R]D;ovv~F.F,ƿ2zSXHeoj}9zwp[*D/gƌ&,9_,ڱ0JV݆wxtryhw_G&`X/ek0&~b4֖ߑZ(jWZ5wTXCUtA07p -/ ˆ ח.~E,o:ŕaܾ;_-@UcֆH8%o< iCXV-k5# Pt6Q zƾ!7ABnЫ)_}t®_sPSgIٰ]hU{*އ1˔&oGݽcmf1x!.Ofkw,8]Xy}vQF)JC;_l|Q-FyP  ?+~t|,-p1ny^uM3i4t4Fhqz:oXyLg8=zw0>88ڱ(a2ƓѴ006gluW`:@fSG Z]\j_??eǾcqtuv}Ay9\sqM 2}~iD߸ P70e@ewNwN1>+K&x*3Kǻl|'T7|ѦiQG$e=)mۻ}έ9أ峠c/]fut̩g0}~p?}68!&Ou~J4X.C< 2ĔI v:;8囒脇NaDWk\8a9*&1$<$}wF˧zA_{}vD@v^{_.`|=82oQ㓣WۇgQL7 g&Y3a?`ޞ>8=iIWY$c4 o)V_S&-^;;[3LᒴMQ;'*qSh,/%mm"kc=zgy}AF"4=3? ^'yAAGX \H>qjQk:3:X~[׃r JpzE1̅ | Ch 2?;O?SRW:fMv|rI׷Ȥ f=7 Fr$8QI7d]=vro`S $ߝ9:99?;w&G,ׂw/G"VX"?~gW8at H'zI|q ~GΉ/mQ̇@SV;>x!waZP㸴>I4P`J-KshWyпoޓaCBCC(khDZ|%AMoSoꃁ?}O#yG=x{}0>0 $5!@®ِYvqn< Pd ՗}8?&`]Žz5$f̺>7 'ڃ+\~`W(C~X~Ha84$U x؏#>}MZ˓Ώ޼p@m Яy.^}k6$y$AڴucI9V[{QpD70b=ɩN%J77GOJ,^[7-G P0;@^][ @lBJk߯o ďN_m:fW)CޫΟ~pTdc6rL|#85[?8!$^m2Xpz؆VЄtt~Œ3)?Con)-qC5|Wu A!ϲ9}>Vaޝw[/ '{ExA }_t3"-8bQ/^58)F#to;=? u߼5!  IQQ:*aY(Ov{T1w_{srуx}t,9/#9祌g=9h&: X<׵L|#?}Ft+B1:4YP/??0l޽}?i@-,s!$p])%/֡Ҙ2.\p . t~^rLWtuu(?қط 18* ԑ_w+oa$YSsK b zpC7IN)=Sen¯387Yr_H,V?,kq}mMZU<_KF|^4V?F^o/!>oXxu b+[4Z߱Ul /V5da*/7'#'iW#?¿ohcG,EϢe(̏Li| Eˋ^{^;=Uix_Sy÷5<[7tVC}@rKMW*ߛ{WrWȹīcBQ׽zֻ,p)TS8I2uՆ\smJP>kkXۗ*Uu4@B/kc@?qz |9 ɗv%kS2^Tl/:6C|uz:n؃thIx3tE%d{/zi;?/i b>c07Iq:^K<pp-Se&cӨË* ζV8'_{l2ri;3@$- 5ۖo|$9]G8jh?1R6!ǫvy]+}T]$SQ'0L?*{5*Ih~))s8MmeKC7Ll`sӐi:eF 7orU:StZ;p5T_nO1b~qb|(m=Y in{af@@ssh>)ӱJZ{v^ BU̢ޗa|$~]uHßIg"-.g¨K3!}34喚_ZځA\+x/u}F)!jz?^)f)dqLvՐ+cjv15ҭlG Ρc ݻө@ 0ߝIAF^;TxD S#Yÿ-SLO,Kz0QZ)L7"BHiC=ǹ`o腙 nOor7XGaٽbZ{A7em,`JiQb$z~WM]A@ֱFoqm*D'Y{yfy6^< 6Lс`WUtWھliaph7ҏ;\#dKeۛXL׽6f"m65LKDEi b™{^8u]yi* -;DtUK}@o/&*#4.)$7\OHdrʭ-$kNTKѰL($GxY%'/A±3pW##RxX(40(Pc'e4ʨ:FrՎ]F'Z6'Mj|Z'Z1^_*AG֒_W0L JW {p*?: gwLbD4.`+*֐}x[ /ɪ^Sܖ/h1qPPD&z frq-z5XJE xx4w.S#P }the9 a|Q> ]6r'.sq$½u#- ڮg2ӝS0Y\ ^uhYy VancAԫbnXD)`T0sјpjM%,AbɡEXQk'PZ^N@L(K -\-Lk t*aX8P`}Gqr>`Z!vE+$YRŏ4*#8AlB('G: *bfX. MjI~Yjh#u3])r i]VQURܻ֗5++Eal˳l70 tvHC|aED‡X1Jߦf2J`zz36oK246amU^fhHo k~y{^Qg=F (w2nKb{ϯmJ) K[hM-BnmKA!XF$oLܡsZbAmI&HHkBꞧأzKCLͨϖ-Q1&MX;Yx'qYa.J_Ud$_)>}Bl(Y#542}= )oQASR M@wy- n} Z;J3M{ǃԫ@8+ E:|ZQ& I{_'13<5?V()Va9dw?>a(C̄3-a^5P6Qko_*76"@Xçkr.U8B% y֩g֔}M)};>m QQkr!U&O AD]gv0Haݸ!v0h#酚0G^-C)V1 _ǩf6" %]Ħv3Bt$yZ9ReYW [8nEd4ְ"n в {gHpnh6L5JMAaDKٸ:-cJYI6.Az_튄d,}[} "ien jK&t2 FYCe:HͨN!ݥc$*AꟐ1} ̽ʦ:7We|XS\V!]PEC"*НP!tS;ùD%HЛ^5ebiIZ(_J;IÌ|-mALaRp R'm"!2zbV DS+˃+tֳبE 0Vno̲ĵlKbr4qe!~Zj3kwʷ_}\6JldrK*k6:܊$Q1ȁ/ XY5f DdVhm95g,-@ʸ|`# 6MuďFYp"ʑu-YiY9|f hN5[dЄb~p#7`VKfDlY^ʵ/7|2w3[a\۬uض @f@km\kq췷i`dҞ0Rq& )lVr -\&Y;wR_yr5-l^\n;mfo,Cߒ30Ӹji* j猗C,!wL-`vj,笾z_FW]}QЋy8vuʠ=ϺyY_Πv*$ݢ<o|)%|CdCR4MjE8EyoЫU1Wbi[rJmu4 u|*{*̘m5AQQT+ЩՋKʥ =N5ۺkƙ ݦ]!{lMN5qnk[VYkq0g}‘?jRc,Ws?,tp+:zy T|q+xZmT߮oWG4nW=ѷ,kBE#[wﴵ"U z^MsSR؅ŁU v@䁱 9I$W`vAP^- +lvzjk]ᬫ#8K ]Ln]Sk.Թ(ϙQjAc=w:cy+ga=i!P8yno4>^A]В(K= FT֥{W7W h@ "ض\2K4vs3b+yO()"$b CorEN)WDa>4#ʝ$$-$>R &Y<%d*rd:kilG>s no`Xt{-57HG}Wp^ĦF;h<~ BKO%̀f|fiݣ}h@>ەFt9h#L~A%0>/h3=nEeYSe<*y*5U[.WRVq]eI= J nPYV#xE`V: ~Z"*)U{0/ 0_b5\YtǥXa绗BK吳4GS@}5ln^4C31C)cUҨ3:1=<"T*kԥBt uͯ/Aw{ 28W4 zŮ^sUJ9#Ш6)ħ"Tzua3E+xn|/[ :^ߐ[AX/_Va7t6sa/Y[=NB-9;Pj*5M/Eoq꧟T$8S_*,| =>{uu3t(TB9,<1(N _ tkm|}`o$I㓣WGa=f a*jdθxxLPDoOGᾅ(1phةK\$gBdغbKJDEqen_cqz-'nv_?;fyW,|@>q>|X߼=el U/=0*8), R[H,M\(s>ɮn xi_/R9>=Low_׿/Ŗ*|mIsʛ?.88{x^|h7ç 貑U,|H{6zOъG20ihqҍނe` ,r;3=SH")^33PЊ=s|vVLq'aYbD3PlC0/C/[d"nCXD|tI1AetWTi[2C g{+h.yg,={%1nyq eRАAq^]1Lqů審kX^+\U?&Mn]| ?.c"H6ڴ/ #n44Yd(}p# -{P"ɉ"$mX W%xeQxY>H؞]zb݄y!p_!<*&ټ 兘[,ಁdn6X҂- .Hhe-t-mܼ\I.+kRyc,ʕƨhʝ27#NqSS`!(':?> ztL5ΖS U6d-K"s|}Xͧ)7|BAu2% m': l0Q-:*pݍVZK`z3+ULlQQA V~c`+LzG2ǢE+wa=lNg÷$`8澓p?QBPP|z,#ݫH ]}h)j9Gu`ɥ\?8!\}<͊I$XKZMvE[m}_6A7JM (}8Ofcl@_(c8 '^|A\m>9g5٠#8M_DArba3+w zM'I;UFA9R9+raxE@`=yAMd 6 ;F '?hrʿ2։u弗-sJZk$PQw)1,8= tNbWaWm:L+l7c#TSL(]3 5ԒBq|Wu=dsgivkJBYL.T__?q 'y.BÏܬ<ծg=|.zq_^ UOc^-:bJ?|VqrUZsEvY+}X)e,8{č&a9!Mf:oIԭ|ԗ)Bz&ܺݼ\ո+lE֘-*G)]}a^nl0.Q m>/ +x=76k51gXPM{OY;tT% BveVDaۜA ࠿=0[Q1|$ 3ŠTf5hTtuG psat&0F?a5']/5)jU~h}i0z2>v(F]$~~ C /}}{+-GZ 6kTu BSxb|DɽN)}먤Q+!($¤R?MucT*RNwɸC;\1G^u{龵JNv8.ftp $aVW#zv|ŨyE ijSg<^(q b+*s Ԃ JZ'QlC&.E5 ؠ@g8J`%'@tE@+ƭpe TI=ZASR1X[#idΫ[0ݓ.QDL&(=)q apq$ 65:h&ӜɅjɡ`^E%*OcK*5vPUӏ& Zi؜c C-5ip.@ rqa:zq Yvz1N,J^gX1gW Qt0 N(( 0,4]kKKl`4i!>=8}i㓃CTv9{hUI)3| o%OV6htAFz,3R 3CqٛM+Z1#z=G{CMmEzQVr5@gDd5L V{/.Vb"ЛdȻD :S&sjzX %䂤(*Kf5)Dg_nSa\hư /kzҽ@~l?Ǽe4HqP4b ʹ\a7M$DUKo ȳqO$-->I&Q<ժ. FN3{ws MёV\,0aFiJ%9VϝWڻkZ}<`.5__1W٬HƄ; C듲1lRo_M'Gǿ Z{++O^;}ʒҦR#r\/ msqP}tpyzT^dX rcZ?K#$4~@k-$d*tƗ\c6׼+pHމ}ԭZ 'my-X/,ґ?|\tʩk6v+ApI0ͷ樉>t;{eȣR)¯$-7Ή!Uۀ}%Њل V_tev|}w`Kϟ=єsWܚ]vbHtC "NH Av݋X@,Z'6deZBkJ!=XKb[V0Ӣ¹j3 |c4@7ّAr7@:7# Z[hpA8?jfx" u")8~E, TzIl.F?Mipn2H~H~UpL]wsq݁-EP:VVX< oJvź>eL``>x>z'd ;}pt9NxQlJ:$K<:bko"Ubu;jGNo|;헼 wY)%&d[%rX5<6 MKD:3hX)K Ԉu$yB{cT%Pp 'Y?7o5eGE"A4j HñC*9q _7h3EE+&),0djL5] U"mJM:]FL/Aa3X}PWS˚zk |(}C+,qELzrxbGy|Q}u.6 d2e<[>?~7(Ild Yh B; ,]sLǑPb`7ZŽY* C-H³9fwlnYͧ=t6ȤSLnS o̪k\MY4[Y7_jIRnFseKݛ$|Eez ` ֖-JEnP%Zu ٛoㅖFq*ZŒ/idU:d':Du҂@0Å؋'*/51Q@Aݪĺ1$%E#QR@_GnYh nzM985NZt~] F{[-"F5d2~R$!Ss&5-5ՑN6ͅq-O0Oa%/etU},ޖ7H6W? ˜C&fP o{"'‰c%ȨFgh+n g<λwouwy|༿qw;Ϸvoo=xF>mH3eMx=zHѣz1m?|6oX 49ɲiQn羐gA{?_OӤlonmuQ hqpkW>x"^`sL~%8mz}_/jJ=&ְdpS̻Mp=8F nF,01H+ʼ?NtlIG7e^<k9I'{ɫӃ/W_'IJ)@}it ^7+x$2ZMo.p|Hw. ưv?\N76޽{wb4M.6BDb;˗{O;?? >@_>!}a ,_O^5v@ɔ>b;0t$`/E2Fּ7aPK(ʥlB4 Aȭer;I!cyq)KW+2tnVlR5h)0m^ZoZ_.),Ae5 UE%[z(Z 9\3Gs=QT-k|0k45Ļ&CN2yEʆ˟-$QcZx4gvxD#O< (+9n^UY>n|!ȨRa4>HP@O} 0˯tfcW,MmxloeY_*/_AwN%J#ĕ_I+~>K>#cky#7%4[?`KGm!1Ҟ'O 02"39| (#.+)i#όĹ+}50rrmjw?ᙽ fWx'r- UW*JDŽPD2sxr}D -]f}*p!"2$R{Yh-϶| NO58Bsz7i Fn,-2଑`5c>=@ZOo‰̋KMi+ژNj؟wi:λPm}/%WJ@XD'ƠTcqC=ǰ>: R gٔ wU35[o%ÔF;|ܾ Z.1{Yi*Zе2q~Ln'CΤ:g0gzCN"FU J> Jݽ Tw1]PŤD^f1yCsV%ˆ<{Mg[APvOCοv þ^'P*4(юH}oDT_Uݨ#gjC"MЅ&Vj%g,!S*,Lãe"AhWosp˯2t}k^/E![HE5a |P ra/[93К4TWh~؁U%<:|M5*R8-bn'bLsW;A4{Z;JQ-C6?\]V@QRLt"Wa` XIC 5*x 7%etUN5숢hRٖʺefSݺrYgd|'w-9(lDjբ$BΗ?$MdZhN*`*\^n4izY †a`>[a=aA3b2t8d匿̕cްR o1 /s0!޻7\)NaBn t﯆!kE'˔\FCA?ߢ_ȷݫ.vP<>Յ m UԈ2rۉ7Mq US M^iJW뮎l)[82ϠMn-+JEV'[3#M1Ҁ@,b] QcFO?%O9jәlQYo*w'iS߸ErٌZwQIR/-m|iɍZ7woA:m3Po*[GP^pU2{# phM0n5?:7}?mH} d4A_̢l7}aXfb|WֺP)o2GN;pDY.-iӃÖc eiK_ X٧{{VoE׽ hBWB a7?k&VŅσ|##~0cǿ\c, Mɷ¬DhכbPWђ]Ĕ}$].y߭?'s6F\]zq "^R67.54H@Vtrxy-ojDX_•*O(J2'gd Fh*qܺCG/ma*9~1`BN(d͞8 b@lW (>œ1LJ9-ޔ495֞G{l<*1+G&ͯʪ+|& :Py߿wۏ*2rXAp:MGo_>@+w~>znɭkdNYGp)S< g ??v;НqwzaGEA+lLNq_`/e6k{b*u+k۠)MA Ű!tP 2P > tL[,Í~|`-zDeѝЧUؽ'zO 8mK8RfqWiAIn|+~!?:6=n ‡E~S|`{]}U_&ѡ^ؾ_, %<q}|rptnm\׀@b[PO|r.hݾ[HڿhگXcA<<:=xFAM z4HgWW]̗}1kv'P #ÙL5߯: ޯo`n?;n;'k^gBRt]Eד[ yq#bXK3엇;ܮo`/i׽ ZK>:o l+ (ʕڮʜԝ;A4K]&x/F&wrGs\>癝$p#3QN !gߵݐ5?2}l?'U;f gv>vwn<#fWk̟܄eC̻ ava7+7 &-RC7ޮ3 c`xXkYu}4*7u;doR]~] F &.T;@HeU76n"!͞]A?oO]cs-3gƋiqde6֥h_B@Bs&AUe5;ۿupc_uD><=1nҽ~c=ʊ<89L MpLB/FYف>=vz;ddq:󭆧PDM 58~)ƶ,Op *>5!;dD/Jh1dζIG(p ]m85qφBH6l~Gb@;J)7(@G균xCi(/vrbVI% =#TAAD3m tϑj  ֐ s䙹@у .ke7`fՆvnkbc̀ޥ'-:BH|C֫z,GAuFNLfe75"tq^^*,A'="* G( aj[C065[*PFMʥ\禌Uq */Ae@#%"%z]$t:nk ZFB* ݤ$]yHth U[I 1d .NT\n mN¦P{?/l0 aGv-B)@T UVYHѨ-U&Օk-Qq iAj|QKRQ`*.TEwRQsrVQ*THo"vn4H)[Lj )g ŭiVV~\~j MZWe-ݞmkl3w1wlO |F֧$ަ7LIWl+"lSJ`#eẸ)* |<%|LCPnwHA[IF&&&8wq>b^/cctEp!e`qdNy;6;8 ʮƍHZ`o!i5t["%Γ""HBf_Kuh!`+3yI@~E̓.vPX=jNEʝv FӺAkI\' Sq,01ޣGtͭ2'7 ̙M@YfTZEGЊ ;{:Jp#=V2a^;t非,n9GKTAqK]w9RMJr: *k/ɇ8Bkv@@S&<aS Y^"q k,fz\RIe7F`tx+ŨHd{dqĶdRx5;99S0t2ʑH٥#>(G׽:" nhJyf m履ǝWGu^+/vP3)(C/CvOZS/`B -)_!ni+r-.P9'/W5e$lQ[4qhFkyםpt$`( pTrA>}+-V+N DŽ+zrSIs-q|=]VT3vXǼ;wK'6|,p%M'X<do{kѶ~xGQ\mW[i hv($B–w?9}|>EK]ay݆*Á]7TETw.K^! :n?zFOQ#ZA'~Դ(;Ee_u[B'ѧܯ."c.@j-GㄛI*7 )% o]D|ĚE-(Fe5ZxҙKM[J>n!䭝g˙gnIJ2I5?IѝĶ$jFm9{L2uļ$E͈jJ_^ 7mҝ*ZK"oLσĪ'^}Oӟ/ۡ@z{J/?˻qCE98` YH"yN#͇|ibJl2/p3~={E{7[/b^ {C8B"k{࿗Z/@=m놡v k੐(iC)٨/BM?D>AK+!]a,OBǫYMȁ8 r/<yAV4ʃcy0G:Ƀ:G604 O5{pԬrlaPݳBj糨OhxJ?ly6x/Gq4I"?4AD*P^6WG*ˁLW0 G/;l5:zE7iJ(,oҐVF+|h.St,i}>_ۇ'ߎOٗt8鏿_8}?@kfkmЪaξ^u/Ѵ[,ؐ6 )s=^A:{s1by+^BQ@iy %,ՀMA4U(8JKafblZFtZ\g}7>B_UƏз~ߘ"Aϋt_h"ڃ,:Fp ;1d0"- 8{3K_L4#w s"-<[A!Z(4IQF]$i%es#+Ons~,D?X PHDڠYH2Yif{Xi`ըVşQycU B#`.6/_'/@i=J6Ԩ<]#@oЌGԭd˨+k@&d`(hqh,3R6x_SyxH5⽎J#2KWSYa9^sb4#q>W g0!AQȢOjϪ 93Y7֔ZƴC!˅ Lx- k2IMB)p+$RN'''pFR[ f'”q+gsV^n;0K ade%뷙_AEsK&~\nF]e=WbҘN-2|jD'3>AO=[Da2. jWHPcqVR =o w]y)ev ?pJB]Cҵ+U*MRڏRjON^ӃgvON[(8 qvűo>(z< ȷPp鲴K+TFft K1C,l{jSܒW3tT+Y~Ty߭@n؏Aގ S;-EOՋc!Ho\ok;(륦.κbi G۪!5>V.j"Fw0HGf2wgb29 C1<+ HJͼCezT>VƢ=+ Xj;D 3 EҎXn=b>A MD{C~9J0NGvn'^$].=8R_oB[c)olQ 8z]b -.P%[W`>f3BQ bWU_V.`J5X*.b#^UAuh).zb%ׯ{wsa6ƬTw\pOQݐQ{^jfDǪk;A's4TOHdr렊6)\4DIaRUr JkGi.PWGa :zEk/s^AZY("ő]]44~h 2UZUpC:*7F]gTh"׿gD֩zD僧&KRS S}jO\?V?V߫*CD~S2V?ho\_wNۿ&ֺ[ZtKo{ G/f@釁ү^rYvO'-{k3ROR9iC x^< }om?DacPe`*D!<; ra; }'P3wTv)kqR"ۛ~SoX/֣UMN`)7۝it[R;RIHEJNNd$!kϦ3MHukIRp+]s޺ $1TF`UhV\XvF/ak註`4/rg#FE`*p>9z}&+Tb)$5t=H'a[VQXs`4N- >m!r<NtoFFE-6^r$*e {D;>سtQ1+*. E?=0d*KEϩ¹z|֋]g_?I)K8e fI:URr *2*Rp({(}?m-<xhEqCCI7U%2`Ƚpi^O5 DrN1Ǚ;'u0NL36&a_Jkb(aBGY9`ReDYRΈsڛ궙Z1dtN7]领R#XE!(iHnٴ􆸂n7rUu0ۚefh` l&}f^29k ɦp ͖a:rf rEu_/{Z)Uv3;Ji;HA*IqNjÝ, lȎ Rӭ6h,3xѤc8(fB0mD ]!kveSׇPb`CX*Ҹ=bᖂfڱ:1EaQC¦/K(v6~_X+W!<ܼj+>wj / b7Mƪ;wtxkP u@f: 2ǝ?Ѫ\N*5z ֛]e2H6Rɰ &ohû+[U'XY`Y%Z?oGE:Xۏno?o9Mj5mpϹ ֨|_oczO:Y-a7蕑M7JV^+wdwe-)B6Q.RD \U,;{{a6΃?T6` kqH=/.)Ɏ&#keTq"ʚ180{VA3(y >ϪEo*( |DMOåXD;I%9]-َvbٞ =P\+$ՊāubKCNyI $؍eq+fJm*n Ä@z..P)Բb'UAie_VʿO&tA=>6a8)4Q{!.bЮ*&mlp=HzaIJT>|Ub?5l:B_jZb- )>vn#|IReJ?M<~A/QpC=l,0wI0XΣ^W ( Nٻ|}ΙP9Cecf jL-&>)cosa|z?8`{1{}8-@`HVAÐ2Nߜ:^GfƦ-፨['NV@,X J}̆Y"Lj}d$cŠO^6 I4KMLZ%N}㘊&Ԅ 3i8[TwV6~ޔ8HgX ec T OD6^沛'gig8^['ԾHl^\Mm5l S~V>{0< [.Rl# Ra.+ XZt;,)٪FR [IЂ1ѵGJX?ݸi7fxV(b;{ys!OТƃt4v> MtIT\ue ȅ*҂Gtg_ 6\f߰ WhzY|{kWffӴFq W-dP 9X/<⁎ѿr+ ]ʳ[2`.*؇6Ր`e[-+ewqO *^50YJ MK}0rRQ@(҆uw.n?ա'ʊMa};Rrirӏag-e6Ez+ФN i HP GJ ?{JDH2qfH>lh[JA_(IV9}1 :JdE\L߻ ް#eO,- OЮ̈́*LL%Q!u5ghlWWT2jxEM҃@=0 k4*0lss|fk 7d-b> b]vavz AxU$Xm/a*q6D7 NZjdE d-l(\VN;x!]{9_y_lcW_+[8zį5yGJG+xN[+t__\>pg)|BDzm>pwvK-xU(YrBV$>c> ݀\v/ÆN$[h(&3̻GC_~[À֊%~ÝUx'sI,N>pc̮]ڬ0t5--LC F5Mt!N.z: ~Վ2خ=NAkJHQ7iH۔yagy谍dRqrӈ69|hq B?#:6_鋓0`nNND(c\GhDF>!e^o%"ECMRvaT&iLit7̐5ZW~Oj)o٦RCr}ǿ`PS[Q[:d%p!ݟĽ'"iIVNZleuԘj +?'7ruV4S ^}p{!^D.Jny2b<9>fCmD^:. GJхJg -Gzid pd2x0z;Mȯb25-dM%>W=ޒ<[7HsQ_˻¼oKUi, cjk1fΥɊcB(S$J׹U"+T^)Jl%Բ4,{?"d`rE8df7]?hʢsUB\3wVx6*MzZ5@.yM{ŬFMPT>x|E%ebgJ#;}-mu_3ev.%E :h6";P% */qWу[ĹJU5<9fZrK }zqN7/ XWoŅ}G+ٰ_O,F!a&1|ѢmA+BZ~l=p in⽔ é{P47MC$#*Uf:溓C= zPE:m3bSv|i]PxFK6wH"Gg. ):Hݗ*ZǔDz-m5)Zz^j*֊ ;~:) h %ሩb6O* ;I7i 2yr `^L C*~4nFMߺ[PG:?o`#^|n;)b݁^$(V+(εΧZP4O yjX٢;e =(-; wiw'<0D]8,[Wm{Jd0JxݤUu w}: }L.Um_A8_ﲋm1KһTYK@#Btc"sTűy762` v"v^%*u4d{UC&'}Om̎-)C ϸL%t`\-syS :(<إEQG4^߁Z8zz. 80w)ܿm?FFe`*+qRJkEvQg=R*v]fszUϧn pǝM˱[7ХQ`Ǐ;;W -]ԁ>\(1Uƒ=od$BΗI'Mj@SXX.Dp : l]񟛷,R "S8IM\H O&!HNqBOt<{싴7#AgW}eXCJ/,x2xaV+ oZU>5C|u~g AccK52k3 +e=' ˲F L7! ÝaM/KVPb4]xfQGfAF>)+>_euJe/u[ g5s!ⲙH`D@َs'| 7nx=z3K2; r4*?,i Xxe4^/)PVt%؍S)iS$HKW֧*s- T:M%E?тw]갛K`:[ʍx]`pv Vk _؜&۩ ;\tf+[ ?^#b {OM@7t%( jުD\HFԘmiCʚel5᳝QthJ2{[Vo1zh@'0&򙙳4Yq/DZCnE _yq^T e;nyb9A}l-VV:j n z n ~!{(ɰ لkp"m97wqgpx>a wUAz!"wvF(}"vNt>E5AU#gU(/Smp2DCjVA~7)%HnB:b$Zt<1wfk`4Ke/qL븇EdBHGx-dfW$APKGz DY"mMدF)HfoLFb߫d>BdaJUg;?-/t>@RlGGqǙDOA3pwNxaiO^ySJ.: g|oyp]Zր=e:x,:A^GZBooO^;5>9{lT@L֠h`"cAl¸sMH0(h|,;8!D[ CM.2n7POq%Uy"=AuZ*;|^0*xTCP$<`USn9ut&je饤FkB^9\>]{i'#./? ,}ɨ2I7*NTOÌTT`y.LLw"US.}&Y)몉ub~b:b=BC)0AAC`^E #kW-9x.& 1Wj3Wf G9}[wuSe+`@BLcV߿erOYWvh_^X9kKg헊騤hTpD - me !),9m/mro]4!i}}8 K%;~6Օ8P< \A[6m[An땠J (f͡` ?n! s+" O]>?(Eus* 3jn_T jEgAjDB$#-v[ڜ-[Q-P7MIl Mxʹel,tXRnMh1% οYJ=zpS=nUU*p{@ +MR`g$!,$A;e #wcp*]<ݻ|@!?8PhNWE-9H7H5sK 41Of<~0K w,  贯>cx|TXU\c_{vU_8Ax-÷ķv:V*M qb/!bR>BKv |2.71wXUɊ,lVx jMYsfuTyAc&fiߨur e-(5-yRNʕ F9U {ADa0HȲs<4XvrDl ޤT, O;e>5+2;n'?jr<1%5NT` >Ǘ^mԼ= Q3#>%O<5ay2Uf{[VBp~_ VxtbjZjv{- P,Q3a(۽d6{O^~Lg7fm2X-NuF'q(L$z-3:zEZ <;At-Q pJ@v1ԷmAl ^ YmAQn탹n J O>JjdeViHҬDPT %hq1oW-B;zWMx hH܌'E=;g)HҔuԫL4h#An'D hx-!#՚zXġJ,!>"FWxu &@0&KcUi\'%xO(}?mJޠ ELH$fӟЁ=?݀3IHz1If8M><* P%p`BTII<0]:DnM#ť jީ'Nm$Ϝ!ئpI\wLԳ| "Ϳt^dYWҒ LE|O/$83'm.Lbmͷ`㗶{ 7o/}@ c&GgN^a ;VҁPnvr֐E[E05J(g6ܨFnf[̞5l}*~4c I?Ud'<`(5͟+7-`7inØHz& m`H608|%?+hǃH w}KW=gA! :Nb|ABW ye.&**C-MAt>-EUC1w+6^Xd% 8b-[Y j>5ls#ʪzˤxKJrd: 5h-k='JcCA*&jMzjF]OX^\b2mk[u&jzq_܁+8ǧbʤXO"/MW4F*(C‚&^ƇV]&s>B8>[,$h;gj2Pd ~:<{hF0"q;p0>qb!Dw A1UmD].mTq:KH~Lrm~ŭ=5a8UTug/+A21 yX 0ÙS+t%1 -od@\(U :@wf8;{'QLjrsv!1<T2;OvL1)ŦCY̹s"ϴK0>6u6=Lg ]T̷jiVQQ|bA[% EE,i!za*b)DԲ}Ť,)evX팲ei\__` 4[_&K2oø:LĔM!"1/ʉhMęFt"DGC6DdfѥY+kr{yug& ۛǛDmٓŠt,f@ZC0ٟ  C.aCTow.~ϝ:SrݺT\ _3!Fx>-&@I[~j8Z'9)`w,5Gz-7vF,6iOL3gZC"2?Fi;{#tbo8m\9)d+_mn?e&5<l(ٰ*hGMxoGFQ!@-_Z{mqko}fgxųо{+#yϭã/hPlW3.WED[SG ^#`A|t2/Ffbifz|j ⼱ijO5A 6u|vŎuy}n~%YRELi!I$,k:#X^3Ot 8̹+&V]RHѤsYM&-i#4b~-<5~碭Z$Jr^Vk$4DvZt{ٸ@kmm^n`C$ɠCCL;njC9"0}/!Fow-FjWU۳bEc1U0U!/-5}s"8{g~*rٕ I* >l@`N'bj{ 4B槧OCϘXB){!?}BXltJV^N[F7OnWEa>lsed55'  λk^:e%9߰DŁmD&?kJ 8h^tr϶ ҲS0H=ρ-@# Uk5+baEs;=A,dPQIa1fjUHTfs`4YKnߖm;8vs[ B.\ӈX3 Npవ>:΃yTg sB;H "j"$w hVș>]LwKZo[ۭ18i`]I&uoc zދ XU(߆Lw&#_AgoȏrfJ9oOaQFTX~% ET1p((;wbV5$4('cSH%} J҄y 'f\B-Dr9ss7LӧR)yN<ܪ[A0bSO.K+{i rW7cbQ&!1<#/8")ٷ,;%%t^u 2,^l!b;'}Ty}xqeꩧ`0nVN*xL,x-34$ctך=eǠ:E> Өfd]er4ȡRBЭÞZP:o(@}"Бa;=]_Weuˡom(k PL}ե%AziV͟lQӉU#V0iĀp:q  {7s}YHӗDaUY A>CEPy!?r8I//S7\,taFpkDњzn]p•jn9~UkߤV9_.l-ݢ[SM cq_2^%OEAl Ҡ,JaHFq3؊]k1[j8!cn ŔLU>'Ov8erz+Jp48v*KM8 |~8<.K\ 3]~*g$񭁗(ȋ)|pc:Ϥq&]Bhts7apo jꍐyDolo8}B.$e!]"}^x[:" lfclX(I[x115 IF ZV3x8J~f4~Egd#Xtrwh w6R0]Qӕ`pI2iV︻P]OK/%mz{ hT!fs< Qu$^u[m<^N f{p.{c3%:4kK؀Zc-Sfnf2ܫ݌E35sv3.̃ܿL3k72<4i084fDuQp m|=ALjCp +oO>U$e]LnIu@ իIĵI!qCf-;? CvҮN3VЏwNs6c_YJQ|x39ԝU=î4|X]IxC8.'qE>?G:D p Pu?oow˛Ҥ s9K"(o[v-8سBW^_"^6\7ϷŤ9i \P\mEqZIS-I"kUbzo XsIh]Z_ YW?)ۤퟴ?kUuyoV1W"#zw}g2Ò7~jwQuzX@JiVXuf܁W0_- f 3%o8ZU!WiΌ$Kk#>(WZH&I@xW :V#o?3Z !vg7Y  [fz$2lO޻{&u<:ɛ㿛ov`ٳcNg_grKh(?3?83C6} BD{= 䟸۽q :ؓ9S2ɦs޵uF9=~٢6yT/nlYuyMÇ˄2E;?3'y@f#isdCʂ4&ȀZ0|*Tj ]<^Q#C1XE:;#o#zzb9L ! q1=80'`.K:VDN 7xKFes7,\opE4{_xgЈLРv+*;5>cY_CF)Xi`~Ƶrk^MSV3+b\YuR^ikJQë|@\-5jsk2)X}P)&lÎyԱV1Х$E/+JzҳqՔj\:>*`400ʾ8E;> W"ĥ? +++ CΡor8mfVV:;35_Jo؛6,9wV>tfjJmjOpn|)t5לAG#]sEK!'Yt*AQ׀ ̈́$o .\:mTܽ?MxFc,2]Dy Wd^h$$u!̇[b;BtnzQki*y!tH׫[ݟ7[>O%7D)Qerl;8wa9:x\?G38•[_SI M3f:RAĦBqa3C^[(sBH7Ǡl_wyeIIŝIuI97v^6A0X>[ŠaqԮ%_,&;-tw2>'j\BL`$M)u+z6i:.Dl?ږ"" ӮXEQEQ:6uo/&b\TC6$-YfD!ThEQl(x$9saZʓD!kGR5 ֤} NaEeF՞-AqUǘblɸ5(n_jTI_ fz(B*|6Χ2 |K@%̙C6: Tltls:*q۱ t<%(B0j0b7jm]8B=Yh&yT2m/` "$ե@??+nWڊ@/ˊu|*lɒzGO'%gYis,KOkG``? !0xti&<ϳ>G˪CӬh*Ov:`vbUfTue5$ep-[W n>P sw n!~J*G`d|vMG\X(Pu8 Y,B A8t0 뛲d*LTv&kU 19s/Χh_}nca(ր~|SABW.YN/āFٹU?ZyG [:XJWq6=#Z*vBxL7#qoxw )'cU <P;5Ã*_Z+/ÏK *u3u ]*E??s_ H9qW(Y_+ H!>$kx#܂;@.8CB ^Xύr'_9cUGI'Y[nK&Av) :@UD/Qt4H{(!0)QnVR!F[Ve%%EsJGR&5pH,{|^ -凮zƆْ.\$BgS9LWu !m ~~;UyB+=S-u+ 7(nwK w>)o"VOc^8gPvkKy8{NHH9^ȑ51whk*'">#wLSܡј9 kb7vJ*,:I9NN(.!Q>,NH49p9?5C2N"wZ@׎a~sp !+q/uz: , Y*D^^tB31>Ι5LE ֚7sRt,r®uJJ]j\GQau(uudbakG儥Nn;>rؚ$x7,x\Q7'7u-gnͭ\S|\BE $u҄m(uIͨH||+>cV93qix;/bF;LQ/hƓq@,C'S_Y] .ɒjd#MҍD]X}p2Bm:<[t)h2U L SZ`s筶n.qw0jB2j}? 'Bí'S itN.C=[b"onYe'ɿ7=kmqk :"XPcHT U5:vu_xlD.4!{?#^z/?EKLh u@{7?"Ah͂I^n!0XT̝A,` ƎòKΦbrA׼D."Am0?\ԹF~F.$(n6e}|(&CLJD[~=a:<ޮP4Ya\khXN2뵒!t|Tf-8y>E.b<ںŒ% dS-+^}t$+jKsEH!?vi݄-p2&oK[ x1:1U.aL5Lal O`"1N|O٢\c5yCfjYu^3)/,!l ЪQ18~7F3w.@(m(U +$yoCSz lkcNk(9$ņ 83/rJlv%m^U%sU$ a03Ѡ%Jw$,ڠ P ir0xb$PTkx$EۃC61ۈ%<&^\,wQ\H (94C sa;6,E7Ԇǀ% a[pE>3 ()vK#s,2NϦ}ڄȋ_}zit̓I7HA["R :i##EZ zɷo;USƯ [ AP7+As:d"a(bHu\G놿J\W/jЧnm;qIuMJ$Oh9jedlODbk&wPp6bݥUw_ 8M{ъK#pұNւj0c*w΂m+( z鷧AcZYiug&"+ա hX4nv 1 3q  ]!1ª @>o+'ʋ֫zDYTY0jQq$YNjϐ(Lp[ ρZaZ2J]'/ZAGK M:Z{䰡¢gB<;=Z6Fɟ L(\KYr:FT##~Gje{غ4eۋRžsG%#t*w뼛[`1Cԑ1\ʼQb,ٵi?n9KsO7q_HPG?zh'9) =lDSw[2ʍ7،Uf#F"V(CF UXd1gM^RR6&~*A&eNsA}Y׆f皍[ ,O,FDG-Z8b'`|Z~ E2#b9iMJZ <KQޫ[QpN6:)(U|2GTlCNhMSх/\l 's;쩪4e0N[I]/ 8:,5GK떨ԔU)TE]Uvk+v~y_8C ¦yϒUJ'iB!]xLD"{(9t: *v\8܆Dd3'ǏčR^X2l(ǏƨRnb1EHp-rب`\7Ts`VDkJwt-#i'"%m2VnDLª`ײc&-КtꝸCIBfF[%-րbۈ-'D0riˈV{x{;yGz;a·p d`ewCuQg@ Xԕt$T%5E_}Uϔv1wR=N:X{l+&K 令̛Mo`ƊJW&9݊k/W}&[};⬈ɑK7ͅQ56zG$)}1PQ MɝŬmΖu[X(3 eZ%T׬F`)oٍ43]f7l>iVlF).8̬Tq. R:sZ.&IUI;MC<W c㲌$gK3Wxpvcc) uOgsUBMsjwog>N\iq(z :A:M.VI/gNflN|_̀c2'ףPn}.*>fZix D4oM],"%;XѻO[vH21",8C1[U:a~SaeAsWEh/OWg.qzOoBu'xdw>Ǘy~4u2Ep cV_.H-ժ)#GC(r}n28kO2{ Zz>õP6yCI9nӓ?d5R`fk5(1nњ߈18bvvKS] ѴNn>|ԑ?zՁDSg2jL_Yjj)9퉅=SU0Dn1?: D -V9t`dRUTY`461H;$e`NH~1IʛU|ߋ𺲼*/d:~j7#], 1Cbux=fk-']1zP$ (>`\{v xZQB <yķPBx>~5,GOD?j`rS+Y,c[́މ6˕c\ߚv^oE7u5qz5B5[CusLy uJkUqhΨk]P]Zo n:mΫ,?QwȶlI2=>DuCg&1s3dlE%PA, "ǓeL eE $7 Aڼ?DaH]wC "!7#m^S*Mv;:5w.nܡV| lO'%yg‘8! Έ2;S%*IV[zw|GBA-%*M}C,ڒgº-וR$uj,E7Zc扫H ($Ϣ ĬXl5V's`L#ك"Qb_Ld$~V$WZ`'p+LjpE~JSY,1[DSrc6J"sc[O-98(#=B-aHwƕ)a:<cr5)15iQ+u<2>9%P5дhN7LgQ?BsYЃ*qVɢH0\ +R-C,2c3u-D-3E:qp sK^;rlJ7L#>vNiwcAQM.p"Z#Zċ;aw,]m B|[$_Y+n__ ~q'N!i|[T#-Sln=PXf0amYfƪ2?v`Sҡ\✆6Zv^s s"d ޔw÷V24@D?qw΂x -r6ķI2+!US'SVlgL:˹Ӭ}sc6yT5VW}><[*F,>W43jL̋pa?KvTxqnZU !wm$Yjb&뵩} D~M1v8wO X+M= G1J.>e t9f$L C ž^*?aPLJ\y'%JFT\?A A9LRYoa_bP!``̴Db&)FLUwW]^6+Kc*]cYǾ] WaI9i[x ;})ڄm[{a@w;;_4\xV.΁a@= wx`*Y bA},DPţ8FBt((F3R @=M^- bԯpPǟ[[/Z[?Hy}+K(Lb-$C7!.fb2VɍǛǣ?J#!4>D2\JvדmY(YI^aIsL/Bvs+vRoB=|0 *5)ffJx;:gyYU`Y$Rh\xJWw1F UV/P94sZ7ݦMT`;V+r+u)_MtNl:f>z[XLySSj@n\+q*h2&Rth+3S\͂`,Fi*L4 }Fq"u-Ei^Ә+:Ur<ÕߐB  Eػ8 .0$`^Ƹݭ~dS&4ZBcw[MpHƓNuiT6NO [Ep~6ӂR +&u+0*V)T[4 Ӣwu#|oPJ^~:qKx`s&1vuW[y.h&(,{V 櫗rca:|?{] (֩څ"&2z p<+|p&^Ah.Mu8a]v& 08Mw@p; ( fH1Āz3{ YaKcYuꕪZ:2mAKBd0hVatԑRxݬ`Y;Nc.Kx,Tqr$tai:s%f3PDIqA$E_౉Ig[3rK.w(yKؓR֓cf.BU=/X' UϏ",&\V8y]COJS.kf(XbJuҫ Q3v wЦOt8z.w_db rT _ғY!`s'H(?^.磁9( lhgޙxak 7?zvKX@'qӬ=NEwlNJ=桲9XKXzm%nӃY^I_e:c ^wN$>Z3( }Kļ I p(>\ w;7 >_n|~T2^}1T)݌̈́;'n-V9[jc/ǧ[bObrwmn{/wNb<銃ӳ[W̺Pw:&yBZ4~edΪS<iTD1fbBaŀ#7Y6wT_劔^sNRd["eTD"KW "-x^N@f7:{(<%hS@i/=M^lj}&6Ȟ (fC>1/ Α߹io 8#RSͻC6s[)Kʆۺ.cڦo+MKWoU.ĸ+7臦xp1Y:ԕׇ[{[o{6_㹼ӻ?:ʍ"N}_s|q\Wz]Ǿ!dih0k,WIkhY_p/u8r?zb֛a9[{ۛb-z=9S>?meU#P!A֟nC®5J_{BZ֛9 pO:ݷO_^_Qnn;=f<8xylC ~=F:; TTw3 = ~*GB8jono ^~Ɏ`NLtM,4 8y#0u>E4dz/9~d=TDx-A#酋,ݵ߃wp-f^+zu,~]9Ƀ[p^K-փ5H0+Sl"T)I6/0SG( t `HǺ> u7"={.ɛ\bƕu@hxR~P Ge$Z~7u!g š3/[r۔ŗz۬}`:A7+metz[fN)8ۙ8Ǣ ~F`)( %O,=0tbc6<{ν۶ۦy3o[~8(gCGm_}_>WQ1!#G?{ՇGLw;R4`~YsEg>F0n ^0 ڧCɀ10ኄ8Sfr6P<4eg IR& ˠWfF@|$/yw&dUwB&&pWzmH&Xn,;k1͝^$Sߺ-PkH{݃px+kk wNAgҀ߰xW?Zd4ǻ&08 AJuSM'"(b`8m`UKgv"{ 9 E阺7I8jhR:a5Q=>D+m+Gim8Ud&&Uhshd9GRGTtN }>Y֋@6*E{e.* e;Uය w-/A筼R0$;;I3靤\Sس( bJT&&GZgVʢn[Dã\Κ?nOː֊䊼txIpQ5KL"l& 2YWh9MX{/wZ QFj…(5…P^lׄڃXnmׄS䯛.Ċ1١P,B]x2|U⁽"^ x0X %XPGU,;ǟgk6фRCZC@ ՏC*r~Lvs ފzB61! =qFغ(,˳u R,[`.C1(b'N3wq|x+l@d eZƂ/H=sn 6uX j:äz٩ D¸88P?F¢5Tli5y^BYVՖJ}dj\{p ;l {}܊!.qJg='O=㼜j41L4fxW( gn)W`JVS BTR5}I`שD} wT ]oC/=?;ȭ(РcuVu$g!Byq2d3/URiwokU%~1xr3Rz4jZQlc_!=o?*oir@8IA36ZV$ceֲ9wH؞ĩ|!"A€Y"9KmQ/(YlyW.\<<bŢD?$-YIWHZMצ9}ρ?XD :ӀG鲳X%mI\To1F-KsP5~ji4֝i횫eu]{݊KޫK>Ê,JZIEI”#{tƓE᳀0/ܯUeB4{ْN{iEX+֫Ja3BX̝!fVjVZ2)[`&İʮ.g|f5}T(}T,'*=KӬۊ"Ƅ0e"0簴*Mm/{[/1̕BC5p1>(E%47GO-2_ pn]zZ F5G9OI>4 s s=b)A !X_KGd6FRp ýUHbFPGj&琳W鰻CNx6}SA@dI$D#K&@Kd-6qcA;n: sWfreD"6婍 :'E7f}1!wFVp0zmp 1Vg$5AJBbxL>Pdl ڳ;0HǏא vV͇A7 y B3ªq(/s ή#Վ 6>':pHg00!Vb%Q49XBˎ3~+3 dѢ uu#Dg c}e4( 4qRg//A?EN_˓??Z>8ף{O?xtwûhZ 4W<{޽`|ޮg q8'e媾<.nW6ޏ{`"~㿺t +qoe|'ؙ}SUݟZ;#(zErV;qc\.vC`| ^vz@2VVGpSZONR:7({bq'NBdѩqg8TU6=~vvZGGaln~y>PobuUTz(ܱ+ v*NJJCX˶,hɲ75]spkO>b KQUk0fDjTu)e%emC`t!-HoIym H9p~;9D|.GÔz蟕M:aǑAeCnenR"X2Ѭ%i88l`j`ӮȻeL۞ilQT]:hBܖ 1qksЪΊ?)R:oyHX7E8>jPB-,|<@vgdR-?X@9T!A0^L^IfYg8} +~r7ku 5+fl6_ڻۭcwW O"n&$X F3}`!Bhuc(P\ :'Ψ/`JwF#HIW}ԕz0 Jx?]9#`ûȡ:v~ R; •)a}/;!Ę#8zc?ENka$Q=u> O #&+r-?Uژ &WK- RूZ8+l|Q YN^\҂ZTiGGOgP^ ؉.KMuʙ`Zq܈ᝋ*W SޕLjxO9}XA)AYF*w*YP4[d+鐬"] \ХwtSYidJdf_=`Ctv3_xzjuk2u'7b[4)FlT7,+H*)v?UɎ^9{ٙsx= ䷓ \^lk*[ĥ6O>nc]~PK|=US@e!I$ ;}$J3-ۅ`41و>gN>Nݼ6,\ÉǠ*Fy1TԶrꐷtL[Tچ!=1<-ñ\CZj߯[obu ]WmcҳVYk .D[-T2Z0! qO+uRdY+/LuXVs[6bm Z^~fiZߙT a!η6*ˊnqބ`ljO@ l0!Qr]qyzk-&eb'tT9L:e&qia'ϋcF)ao_?'*[6܂uNZbp7䟥TpqV*@{Z:}"hH9~2:e##w;H~HEEU'9IE& aM)sjE ]sU}G75 y0Tq6lqyQ ?*e1*N_p bDAqD -ZJ,Kg.Z >PwEO@ժUB+ ^OGLs` HR`R&5 T` n&(ۮ\4#q͎\t6j:U 1DK D5h5U-d6Hb p[:bc"8ԇӄW&Oo>{:vXڗU"xʲvHew#q缩`̿hʹM[mc8D B򍝘9GO@ Uܻ!e -Kbԧ8 ]2Q J{ 8sdŽ7W05,>)d*ɈtݑqWn;uC:bt_{8%6TƗjimIJ.NUP#Tݴaˁ wt¹ ҁ+ԗ]1^f[l|VTP;;CYɅeZ&K,w ^ Ʉ--zBÍZ+Yԁ$AzDjO0v7C=X]v GPjR"SoݵN$g@Mh_Jŭpʢ=Vԝmj^AV_R Y /(;DMDiLS:Ɯf89,Vm^_76C؇C}Օ6 NU(jti?qVPlA MԩPKKR=1RШ/l{^酬Qct&0Dz];a/aTg@?~¯*aQvBo8kT0ݷ qšn 9U+ n$+kCgƋwðL; >u }4a[{^cZtdNr^N=sHgS*f|?&"}Um4; ,`5, NpY j"v -1X"pi.\'4{6~}`Z ] @ C$44P l(aׅ%[ ˂U˦tLe@[LGƓÐ3驵L52g|0; K\]k"+۞7)t:|^d[] `rǍ͏e)9m3wT7K;JY)g\V۱԰vG .ED;Ԡx^~L4DTs/rȹVz E=fD-($밋s]y]mh &mMj9}DkAQ0EyYՖsq۞`K_XɅh:xcT>pd ˀ6^][oۏA(Tm71,rR@[A4"JDP0deP.?Uڜc6z0Dۈk?W\Yh_ @ M7MTKY h/2#:eo8>~1rq*Gϭx_ t,w|!wuϲ_)_=x X_Y?ͺKd}{EwUG 헭ưh N&q2|l&C/ʘ oO` :] ]kWVMZ/&glX^zYNnlON^O*J IeQB́#J!1enj[G_ p1y.!jgjb:T"HŒ\Ə1`0i!IN_髏!a0z8H ~k2_!M|unr :\|̢PS82:iMS#ۓ0"p h%^btWkd?xC"{7O[d|RG]H#gLA:D  Gm U@OU>Ll$m-5e|q+ۜ1|GIz]j:9|o.v#fދmVi߳qob+M_[݇02b kZb#P~naCP|rs=Cu ?uf]!dn[iA -#I7ev4v:dEQ)1GBjw[Lbsmza,j!-?pYWa[DB4@xWGh.~6ъ㶼;a]:ĬTmw ,OҞ.fT$fQB@Fnt&?bp K{XN5a+AUw  cf˚L7ĤqQ>r܏8gr6\tl<䏳D`v`0P70fbg!ylh-Nu R*XWi'K=] D]1g"PZ@mTWBmƓQ(ϏdS!. +=1v2F]aPIFvtyxՂeob%^edl%ۛǛFTMՊ*^:(ۖ$V/+85HE&K"YMHWX~*s,U`-N};hBxRЇ2qc6f"2s`GAy02# VO10M% `]ARǫKWP֋LWR&`EM ɂL}ɻ=;cPM4AK(MtdIͫf0sy$4pU@:rCF##H\"s"3W/71o˸/M2{{q|y%C\N.A@ݻMx7x,"pU>HR iv gKL+ QCO/xTq>! u|mʋlrk"uL$R BV~@{* ~'FӅ#8Knyu?qpA֑s`7dic ہ^OK:\,+cGlCNҝUx}r[0w WxHӄԆn}瀭z!PYu&R` "g7c;aKpSNÿ$9. #B[ _3Y寀r*N2c9aql!XPSʼnA 4`)>ꈕ]f>|}ΆJ8gV/G|-uҙ:@^C_Ƒ+9/ֽ8E$>imcbdwzݎP2i-MYi׿PC;J!nȉ ;PcI*#лHYM\uU xGw'n] Iޛ:4d)zM71L~pbf^|*+z*1_\YC,,߻KgBRl rk1Y{1^)z[h PLݬk-aSl37^ {w}w~MI'pF<Kz}r_,w/c[HofY@uw"O|NgXu ~Nq~ __*6.2ֆT8FQko|:˿ܤu{ttē4:R" [ y Bd.(.L!ms]J ©'8<})m󦌬5;}~/q3 m%X1䑔OK6̫[G MXφ܍86}e r^2q6x*γ̑H9m7hy;KҪ`xp 8IŸsUgdtxX3OqlfpF aOb _\h؊t֩uAp< '1LaV,%Om#Yt>W ̝#[eܑ%Q-y$993sx!`M5o_W/ %qDުH?p;\vS9v.YuCʼNLyF8HMEYv-[ (!Y'шF/tڟ]^8VfZ";)NjṢÞd`#'C 5'ҭgג$?6`\[s@LlػB؍/fZiKuouÆ*f+ IX-&kM聜DP&4Qga/ÀL{v4Ϗ %?:ZBDܺ1ɔnۆ!-8Y ?^VD܇i}W$$R/жFkHAhbJW />Ζ I߭RſR՚(Oㄢ*K;Ó8eBvhM%zIme(9~dwe%jik$%aˎfLS5-F:tjjN* DPHm]j쾆TiQֹ,z 1e^B7X$*  _ILxjiVkrT}2'%J.\-a:8\5uАJ'_fsjʢkx֕q.}D`UmG 5 ү  &8CL橴NyeWbЦ0ژ8hV:l%!6%MN hMaRN3 )+PX3ދ:rd/aTSĖ_ӦQBiqt7T%&~Su;F`TGRs\DyG6:3BsZ` 9& GS\yYbp!X-+mt챝39%}\Zih wg*ΐҁS7%  [L$xs~rv~rJ~g,I2Ed('iqNmcz$Ȣ5fe"fJP+ʝaVgZ= _cɝB4=K \s|VO=끒7M2CN\dIQ4gJIKƸ `AFD{o9a;Poc߯TRN]~Y׳NиXpȂLR!PZS] ly,|.UmѼ*J*x-7^G'yY!ޘ\ y XlVGj dɜRj8O5{b*83S@uZ9Ҽh ):qB5Nj:"9yyA{YYa^]yb1oPZwt )*迌7(,3F|@KD7avW[]|OURlRʘZY o>*&(m*&Ϛf77{1qT1AӃ-4}2/CX[Eڲ%Vזz0YκV [3+G*"1."y#- o|9+R {8hG(k]*e2C꼉UqE 8ѵڐBhnM"y/֝RHgX@4Nx',lx)т b œwP)FCQۜFy%*;eю懧]&G^hk#-Q5re)Hy̸F,(fGlQ#޺DyU)(ex^ШI_FUM6|l1H=KFz[TK9'@ $e4H8Ύ0L ~eyem'@H SH1bz@SKjB ΎwF)ko; x_U_>"#+Xh i~qĨz 6[.;;\< >.Mֿvw ,F%¿GZ7÷k,MaNDsE:7[ CJ*+ D4BIP LAк4_G64$uM+M.uˇ'iq'^jGQ@S9!$ޫ}e9*CEC?`ks 1c=5cl sҌc_sČ}!S ~ n} RY*k9ID!RN]  _ aeBs,ԫ`vI-ikUv¸NC:QwGKBCsu|?눾sϪT~{T( 6/eymEq2m皴3aER5[F~o){(6Z^lagD5wNY~t>p5c>05!V]N2.<~RȊ=? ^$F 4>SV- 8IyXHq ކHoQ(qs~qrv%-T,EwUn⏥L#= և#oo..;mykU^ n1f֣BO.κ'/μۢ]>=;.Kᦚ d~سdCV-gɯ54TӗĞiʗg$ZϾζ\ ƌs4^/pוJ,\BeA> ,6'Q=LxydК>?)L-ΫCaQa Vy8H0ZiIi%}թMjW"X?B;?*[H)fU߯ 6 ES8`Q),aosQ0uw.Eā/Ϳn+ud|^>>q81w|Ej>7"1fɏ_p.:}2Y)-u}eћ)L*2X XZ3 "%"EiT`jΒZFBU8V7 eKd);_4bGX䓆Zmx~'42E6_AckKz׭Gd`hBdx,SSqiRd.(Ɵ#(;vocÓ"*7t+1cj ecF:Js_f`ZViY퇷:Ayd?~ S`184yպt&k(%3ɧ{Dʯ$Vӓ\L!|7A )R IdL2[x\#xUN۷YaLP^sPxuH]jV0$y.~kstvz|Dl_|:J-J[Uvfe)s@jIڑ*e lmb!T)9:|sFp7Jnye ;4pԞ"-tTRjG6Da4* R:T@N닇>3C?VNO7V<ƩUAqIzE|+FrꀍjU*]Bz0N}P7/.26Ӝqm^,ruy*@9B ڻFM{UZCQ $bdYCeJSAVnUid77 kio@|DډdMY.BO~b_ؘǎ!\}y'n8z!p-ui-#N8;M[mGˤ$)C9S | SLIu##fM? &Q,G7A8V9AQ/B9$Tj}'G3UE,P J %#HVsVdK"8݌F_ՠ䟔#vi4魥 AtQ)qaiu54X[g4q1.cGU #䑌aF~;N{ѹ (?¿229d+B:bѧqWZG@&Mݖ:t\m Q:lPaOʱg涝z33 g~,*853} ?b(N ?6X,!*Ll371?[4B@% '*)HQ*-Z'3M ^\%EdZz %E Z zhzg(q  =z//;y.0Qqi)p\)azAĮ)ԙq`\oG|XS@DDDi11:Eǰ:h {$GxJmf>-wXR8磢x"n|(XT,P%-*KJPeR~LLu(:sX;_6"}, ; t'?eW' n!Ie%6-eU"iQujsZ:ڠBc) _v_G5s}-% A4+R;XÖРF7ȶGHCwzߗ*pC~¿f}_N6آZЂU?ƌ7'g9 ;xw!w'-ƽ 9_3-`8uuO8EA*_ϙ!*VwwqMbDZҥlH(N_h'K3`w8O36}"d7 KU|eXTv8BfE6<@G/XfsUk3ZEP%uO8{qI&5zNC\?NMZS1C#P\Lpo-v:Ng^X)BZm^8=w}2jSڮC)׬+2s6ǯ\٦Ζj u2fr @Ӱ#XXr.MRf.O?_)~f#L2=Ck>9Ϗ>ON'[Ɉ]pطǝ'u%styr{mk(9^=`[A0sN;9@Si{u]6wFDMI;ï2& {'40;'LG ¤;0IX2Ir^J~t'maLQ9Ejtr"Qewxp0d0HՇ*}joFbj۠ - +J<(˺`%eVn TBR-y'fբn|>+|h2 ')_Q-NNeWՖ PXA-[UVk{M~Vyµ eųljiM|zMWh qaoы\d8NWd)&F; Iq{zYK $FyW8"9`=]85A!{mB;2(\D9*"$X͏!T<#LBgt}3 >eiMDBʓ99iKv5I UREǫHpXQ[@JϦ4%4Х⢌vIB+D~cLVD.qh/Հ׌JLn]2gK,%Gd]!(ϼvfo)_# w֛gh_JCI+=XS_Х-Epz}M#ҹy]ݣ||[sl?zӣDw z~\mRY}~~[Z[k)˖вiJlM^!eIVW@RԪ} %,&]E9L:< , ;]+Tk f3`qir/{[^ҹKNmٲ_'/6xד 1읪"zŒ:} 'z+Ǧj{;%m#vKiti-ƫmՎjfn>'~*|fFlu^6] U3%JQ˷oVC=uvsή tPr~G cb3U6ʮ?R|'8,sT۱SwJlHdsAﱱD>jC뫺>vILDhMiA:/e]-)s\cq)NYϬl 3VMOx!Y/! #0s bB u161h ݾp̆(BFUS|p(Y)-oRÛ08X&1/EuFMpnz; {i@#'Ʌ-߱+-xC]#]^aݻu̷*Q?&Kz~M% THeC$R*U<*=ª cv?ֽ_Aj~+ka?"zYX_fjWMӎu5&0e_)s2'9dU Q66Kl "dӫ"؍Jh%$Ž.4+GٯWB̕I~|- xNh;*{?QBԢMLұfº6O, 2[#c g TR6#Y ea?6[[<)Orci Ohʸܑ t7HBf "7[npF۽V{z]4=ˡ1GĚV2O2\)tUw)Ar9kSm,(+ 7ZKѴ/aSTDRF͒jdbXKG&5$Dz]}* :N%:~0JJUQp~ßC YǒF5TKwebڂKl=e?MǰD W*RafS~>qVijA݂xE#Fwcx( aNJ5&7u*ڰsZup4@=/uy"d#ً"d4RnOa<(g1Hyi"g/?Svx*FN2V\sVY᤿){`{ Arz/qj%D/K_V.QH8tQO] x23峸g?"dЛ%~<[h?bL6@sȽ8Q̹a唔UoUluNG+ dqJbE .$v p.)0xqE*qӴ{UUz=5(R9Oنv*мc,g] c2a˘?0U%m^J=inK୊D1P jYl#2jƺ}8%p.!c[@ &Q.mwRzdurg4K-L2 KSYv[J20hZ,:Q7L/G}l8;L7 et%VUU"VJ8M'7]՛RgҬ%ϺڰH,x4A)P|+f` 㡝h4kDo>q|s;៾H}Mpa }5tTo, h0&7AXpO:?4e] q4`t˥!@3Z 3s02Q1P.ѥ,){svtsaPح]\u0cqp|ͷ|bZ(h;x[8X-(3B^9U ZA3†NL˔,eFlO"b͝m;v{92tBNo|( 2c8`4  GB+L.lq4mxs/6N5 /ޞ\v?|K^I9(ņSt@&EOAFI?Z~m4m>:6<;.\gHVe=KtNٿV>$gdeOU8~v5F+,RS|| gwd ]އhyQXtB#=݇68$DE(h:Q`!FpedRGx3m(z?x͉p?zx[2Nzu*0:Y{k{os x_ wpvـqfEiKixM fAr4 3Z{Ϣ v{g9/?Mio0%- 0b!XBZ77m؟ `+Kq3i ACn8VyE` f(쇽׆Wn{o x? od*ir@@1sMKsQEq|'׆oZ\3Ŋo|_5Me.fOFQO>ܶo.sl|h̖"YZ$2O>l/>?{SN 9#77ork`>4rgO-na?z-E<~q' ڦ¹3ݦ&. NhӀ" ?dW5#{~ "IȦ}MVEʝǾA^ޏߍD .Tһ9Q'$]_Z.~o%W _puB H_g2Oq~w+x} 6: of)ȾQV8k߷QN7G. $%AgOe}$pW¾9h/֚g R`2r_>g,|?"d