diff --git a/figs/nhexa_actuator_model.pdf b/figs/nhexa_actuator_model.pdf index 7f8db88..8552a9d 100644 Binary files a/figs/nhexa_actuator_model.pdf and b/figs/nhexa_actuator_model.pdf differ diff --git a/figs/nhexa_actuator_model.png b/figs/nhexa_actuator_model.png index 0ed1605..abcd77d 100644 Binary files a/figs/nhexa_actuator_model.png and b/figs/nhexa_actuator_model.png differ diff --git a/figs/nhexa_actuator_model.svg b/figs/nhexa_actuator_model.svg index a741b9d..8fd45c3 100644 --- a/figs/nhexa_actuator_model.svg +++ b/figs/nhexa_actuator_model.svg @@ -21,11 +21,11 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="44.8" - inkscape:cx="27.165179" - inkscape:cy="47.845982" + inkscape:zoom="5.6" + inkscape:cx="101.25" + inkscape:cy="21.160714" inkscape:document-units="mm" - inkscape:current-layer="layer1" + inkscape:current-layer="layer5" inkscape:document-rotation="0" showgrid="false" inkscape:snap-midpoints="true" @@ -549,6 +549,36 @@ id="path9044" /> + + + + + + + + + + + + + + + + @@ -714,37 +744,6 @@ style="stroke-width:0.264583" x="36.421032" y="40.909164">Top Joint - - - - - - - - - - - - + transform="translate(3.94391, -10.3393)"> - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/nhexa_comp_multi_body_analytical.pdf b/figs/nhexa_comp_multi_body_analytical.pdf index 1f361fd..89d228c 100644 --- a/figs/nhexa_comp_multi_body_analytical.pdf +++ b/figs/nhexa_comp_multi_body_analytical.pdf @@ -3,7 +3,7 @@ 1 0 obj << /Producer (Apache FOP Version 2.4.0-SNAPSHOT: PDFDocumentGraphics2D) -/CreationDate (D:20250210180623+01'00') +/CreationDate (D:20250212102338+01'00') >> endobj 2 0 obj @@ -1041,295 +1041,299 @@ dX O߮ߩ?9yj}.bWd}eɁ5S/9m,6+Yݦ*++v5SI'SYOVDA7XzIG3SBL|+h[ݾξ16պJtҼZƤ rںoti<.!$y`q8#貨Rt%: ,*ŕD29>_Cie)‚֞3 ;ftnKjO .2N}G;#JN}I۪6ڐJN[­d֮=i@쳾tE+^]mi@Uy/zsF~۹8 d/ھ]7oa., ts/?s| ,iti{q.r n{iwyD ;vc;Ю,ޭ'\NpɃgy/Xi#P\N÷_v4bDЛteq⟛~gw*6,5ez 9m Ԛnu#?Fgxk U^>`lm{7U7|%&T.J3f[{^ZU\} A+3L*Ntf!.m2d_0қy 0#Lg+3a𼯢n$`lIᩤzbYϳY-Cg']Ubf0D'2o[ []f} K~} cB$YǮ3FUgXmIz D-+3tZ0bmZ =]Nfg1sdzTYt%mg3fcy/=)&| i\&넆j\aޢapNiXwӌ/^i0^{Ni}cW>֕Ѩ* s+ CRQZ Ԛnu#?Fgxk U^>`lm{7U7|%&T.J3f[{^ZU\} A+3L*Ntf!.m2d_0қy 0#Lg+޻ز,a[xGR" h G@nnkkWU>bڷ|FE2hMK[Xe"(A0N H]gX{Ye2͍"0e1W3ڒ7DKV^g8ʉ@yalڴfkF/{Ż04c +Ȯ3=H +J^g^zSL +L: YUW)ո + üE5Ұ6_0 a$0cW:Ѩ* s+ CRQZzxS/=S'3W⮗rJ2XW/3z0l2Xf zFY, -|MEfXARxV=Xe6EfXz[diK.2À '3LAaҤNfXT񤙯V)Bޫp' heQƎȳ  ؄QJn=qHR 'CMS" dA]xl:QkT:QLp3Q& 76z⢺ C/cA|`ԞtA4 TQWa`&HfNgز<2QaRxQTd⾫00TYp2êsy9aչ4%cVB{cV˜'7w2ês }5|Vc#4M-[fX$up:aQBbZܫ̰/ɗ*3 0VzO&3Pmhұ JSvV7UfXUmo2}%;MgXr%q?%݉#.3Av78"а:䉗\Gz`vBРjpSƶp5_4 ]+=&2ꕆb6Ewnj 00څeK{aсd>'6jPR;a[ (}09a؊prbJ-ņ1O!OmK=Fl"NlsGB \5:"QBI lSzK 7'9UuaLpv?QP8;a-Y)Z8/X(Wlz«0ΐnB5.cƹ,01v]kA||Nk mصv7(ZÐ}/5*섰K kRƹ2W᪄g]0*iӺsZXղgNkbj"Pi ]"ު5\U0CSص^T.\q0*oņQՂ:\ xъ/-SR8!<".7\Ut8TͺJbUH8a>6" 0UtJF SpzJB7cV S*:T-K,'QLƎK/:.^tn]jZ'vw S5k':] VS8M{j9vCJ^(ç&QԩUkSVw-qm;W>D(30:: NKe4(IAoVa62;G{xaT]Tq8*gTئ: ,@ߞSƁ+6c0EuvL0Fn|;aUaE*66: Lù:a5bR]uXO1Wa`dMc^UϠNNuX[s0N a=G2)H y$F q0Etl҉pTMt 2C'#qèX)/èEZh˓~RuFFj0;Pkyfd-Nv( cVIYDvp̆r0ܿ(#(ު:_IF3lUƎLArUH޸T5A$S0?^u*HcF^J3BF]8EW$p}#b0%xxP}_IO8ZUCSRlݩc9vaP ^u ZNuG+EMs*;a(U% ߭ۥUSTت:ҡ, -EmQ6xa(-6pYi^tXYtè: +jpwdTTRZj1;aMqrT9TI]sR'iGݰQ!cF1ܾfzax9YT^5U&LVxEQ,1#>ڋ(\oWaT H]Ru(Hw`dWa :Ur87!"9`܍iiJCIz4mWaul2 yF_=.8PN8p'8 }H^pmHj> Np wê^ k NpX 0%{aLXlph;rcN.mǫpRyhSR)F| l-%W^ܱ+g}j\QY5jlk@cd;C~F[lG{jCwV4Q S˱k/uNt۰\E:s :a ٪:]Uqx BAI:݌9EUE:Qxec_6H^u;zķI^0RujM:C<0^2%F{Uw"^ -^w0hܤ,ƖTVu)H|CFfmUmrUu"Nuè(TV$qiçv'Muuк6UuRBԬ8~O}֖f>0.Ќew$FËy*m(i<62vcFaqS!;!YKFJSza oTQԔ_'2 H)ԣJ:rT5^a1ffoè/dTH4!;+(JWzr|;CvXwzCZb'3MvXuv%>dx#Ja;]>.^wLftq, {aQ'8aSFr"/;%a3q8cI(6Uvz0,mj ߺ(+R~﮺@FI1Uwa!Q?xF/+1XUR 4;ܵVŪ@^u 4ˢ;l2t6ߜ0j Nl?Wa#bǨ;$$ì]^x%n%2u0 d%6qUxqTBi*< :fv^< B봇L/M=ppdtP xrjOC{5t5rqúyrV*= zVOa4ws\Y*,:O딇}`nElƁ^]z8 ڱK>Nš.>ΑkN|8/>v IWaeg^|wN,oDWar)gÉ0VŇ 4d^s?[ދ\H^FSVʜ| ֐9a,d[˩97Y{SQ9a``iPDØ[a`jpØ2rlúG07G//? -eA8)'c3 -86eUXeN|N+GOUŚva=d%bq@%ai^X[5k =U ߃S Ǝ̀|e51EwU `jΫ1Y$8ҁNVg:_;a2a3t?p'.B14sMrU 8nrZ)\JSf&\9`3A/As1V$Ug#&/A:;RVKGuVmĨRC'D"$5;EqDmdzV bDc|;L 1:a`l1ڦY)gѐ-]#sԇ#O[ sè6B{LOqy8V03VaݓCy?ԡF9rHV;a-HrQ/>'ۑɐ*om>0) `B}Xc=}Wa-8Vp"|x];șy3 -pDU~%az@r]^䇑4d֣I'*?#"uX9a=!<6a"R@ zVP+xֽxMUt_u\;ߪ??e V {f1gN{pԪ@{t\Ǧ@hD4S uzҺ? -Z0ғSi M 2iLņ[4! b0Wk.Փf;ǦAm7=zJwcANkh^)4U˓e !_pɉàɋ!֍031k%g-~'B6ܷ7O;]6؏Du)]^Z l86brlv"Ī܃3@ "Ss! 0Hv*B)2;_ L8L.r&B*.u:b`H{!K7ЙD&WNXwܐK2}P خ،&q>R5\GT -.p Fd]>6 b-% -MvNUX+;ѭirȋ1va -/"_?:K10Ԛ&vgC:1 O6ylĪ; blC8=׼5g.1兄2v"$L(^DQ --':8VY=KZZZŃC}nQAJK/%uOtj7b!ʆ'm Z}Uo5:gbQlP׆`,@n˼6E?HvwNl -thzZ^;wB&OצoZlF ,vC^{Zk'6GG׆`Y6JĴiPPMY>xҀξrD=b" |`xU:Q e"k70v9(\[n`ԻAZZ3Fv֎h*l(g -0 C,G m -[kMcw -[kB8]k@J8ZsUK_ӵڍTk \V]먅ai9]kb125fਦZ zcӵ cӵF؉{A504Ht l?oyյFN*mZ .8bTcӵh/JlطVi?amHCBvh -3%Melf( +-fc2a B)\_r$$Ju%,SXN웢Be "%{J N|& X19OZ[OTO+=U/EY{j P5K MV'|*Mȟ7n Yʑυ TlEbmsk0T=y.B)fJ<,mX÷ur:Ū$܆L쾮ɪ{G|89Z~>G?_?q}TQS 7޿Ƚ, 7 s0,?'N;|IzV"71egϐJnOwc:h[A`.vOw} h h\7 򟈛o.s@|w7D|ww'"n'; .s;]>;^?;^㱳3v3jewjB'2ScnvTFf7c}`o.n7}"tCק7,󵇿|}.h(C;2˷gpGؐ^C!H,>R^|;~Hп@|>;>lN*f@t/yV9g|LHl }3d?z(S! xU>2]!`@|ww@|y|{?.@|?oѐjڿ5~Z::>}3jBVN?5 nԾQ?5nDw@|wDͷ˟GͷoDoojin܄8jlLBan܄\| ?6=ǣ毇x9훱>3}χ7c}(ߍw} Tc>, h.xs1]!4^Q?6_qe;nfaݴbߍpM*eq ox>7\q`oD|sO7D|| n"n?7^q?7]q?7]2æʗ-4nS/xFo/=) opt_UxHyHJ?\rۿNnb߾ Fͧ7n"|&2l&_~or;Oq7Dy?MoDYv ? @pwn-?MD} 2 -G=CU תgf`1x厡?xy>n͟/v5z-`yŶW?=_oHz7{?=_loy{?<_mOv_ ՟/vRzB79(cOs1ӏ(9yT[^e&ʓ~/0yԜ[qVmCE%:~/'yT~g{T< -Y~v^Q?*U+?;^Z┽\ge)[W< -T~tGʣ2g;?<^U.—~/oyTGU5.?;^(nGU׮o G7Gգ{ -k3ꗏ(NX"!pʽv毚%H>^R]UFB+ ׀ͬMV"6?}f_p~G%9#3#rmď;CW}sI\x#޵~cto=1@lË4~c ="7Iϳx ],###uʲ_c_ 3T8_ѕngf?2U# bo u cYo,l V~j~$k€6% =Ǩ;ĉG#@uI;Ao 8pgm-?/Q1=JGwv_?>R?bM?_Jw+Nϧ2NXbg)@xA0q:/h9y|3rs0ШHPbU>N(~=F}xQjy_hL}hTaҞ"ğbE/}A>4ho̠j *D7[>^/-//g-+ l=?sUm)d/~~JvCcj_m6'xӀZ)$^FQ&IC 5Z5T#X,5? yrG|@MfL *UY%ύ%8jÏϐ^*f'&YәGzbdcFdXA_O,ZP#ӲN,QSK "]r9µaxѥ6`jAo2BA+$ '^y> f:K K,Vz}@+%)Wl(pAZgxNTɊIojLO~:kP"亢LOS#U;lǐ0z쉕/t -Ki7$qOަβԾdxEZc2bC>ڟvekʢ ԯ$% P000fzk _0 g~bI#Zp!t㾕,!MW& z%u`pQ oܷa.Y-e['Rl ! 峝=,a\6|$Y5yD8|bװpƪ0f@_卷r/# }*EƵi Q~bC>\kx IaĪh xuuB[}/M@{|ZLb׸D k\=6,Zo<+҄PoJdWIdya&Ð㾓^%P1X޷rcK2,c\]`o_H$Q9"8uJ*'pÍUY_xAE%Y{.pV/ e%b=XY⍔@zˣUHP%<%Y5'YϮxOreI~'~X_&Ʌ_;kI8_N. , `B eX9$B2 3scB^5.V8.o庤LS` (k2#/ug+.K; oWJ47$ȓ_'4m#UF)aq9\W ; YrY#q&p߈L @X/mcUV?նNLb֍k<Mqu8+2 @>9\V|H" ub~.̻H.OX@ůXxdNV&*4_dSae Zg2"J¼y zD =9D@&bC@D}3x,badI ,yAˁy"$K%%)]OEfKa|y#]+\8^݈@hr 78Ty kItKY*fIױYqL圮mʆyMi.TR,T 0< 2Bփ9 :$ӷi@vi<=,ՍyP5h"a|Ѡhpr -U4 sN|B SyYXPL" 4 #"= E.u)B< R?$\ l*+V6eo1(b#Dܑa#ZV['@fF$_ ?]'0ʵ['ev̙D 87 qu&8<X1(N3ɘ" S<@r7"Fbu%%|7ʇaPh|!r_4@^+~be2iuSI:m+ sI %|$u}cH7zmd]5kf.+zpGH91Oi JdV _Z$V<@ gn@``93M@ȒfY!Whl@Ⱥύ̏s<H Z$sŦ" q$<ޗ[8LΣ^`$L~] Jℒa]abqk Usy2!qDBn@ƝQa|ZPJJޚȲ'&ߏ%A2dK@=LqzVrs8 SZ857N$< E&'4 Kk ǀ7"S ~݋nbs4`1 -/Nn7 IQ )ɅFH7dtc9 i~ΙW6Ps։U*&)D,@)+gfc,J1\Fx }_P3`1ɞXUCI7? k$3[l @h^4$^NlNeb`Zh&u <UYAqe!s Gs @槷)< U8jMO3yhsE@c a@<-GXG$3寫5v+M v *&{KveTR^?Ki s @Iy)|{T +ǫ8[K yPn:`lgY)3gW\*%5G٩bA^xlL1yt,+|g%"j:ܮvh1nv'u!@w_|3W5ݒm,K70r[;U_֏SEb.X? -ksf䏒hJWts,>\/i|F>ߍO׬X>_ر,w_./ %0˒jʤ iE#0H" -y>_nZsx`..8C.B\YbBzYet,=/cD@pR'f_U(LP ouq~V~9@kLɍj15{_nΐU{Ӆ]5Lr<2{@_-Ĵ'RtOV/nsĈ|b Al $hŽ&CnpIMcIէdE6%do=% 0H /Xw$^h+qqE -peɪU}1Jz2a@]xŒehKb[Wp@謅W_椵KX-`g/u̦`n]Ym.qL-g7l̮ؖ`i~p#OM; `>OqIfH3C[/XhgI>fCFl}gׯoh_pcwK(T._Ry#.u؟sNdu_ RO蜮3RHh< |\5[Im0t{dv3[S -Y,vPYy -*{(yo#܊an? z&G"(Ŷ`YuIuu [ nd&ѲD R$hfO@>Ʈ[U/"mMPlk -N19@ٟTy32o.h3Eͯ5)]"X+2 g7̆FKRB?Y~_B$wE.cy i|vɮ4@Qk=j2 4@Qn)bOp,^%K᡾PMMeDBXveanPх%-8 V_^ EzꆱLZl3,_)-\(zV,SAס) 8 `tPlt|)D$?K/O \Y T^W>)]|M@IvR*1*՘ʠT56! g&o4đ+@cUt-qx<87]g9ٓX~g-ut&5m0=En'D gґ׬W#0Yj+8 ,^96eB֫-s- -ߐϕpp]pNPvVT$F - TT -P`XOpyՇr =5-Lx_(rC ^@H$1l, r)v]9q3l}renuun\NIѹΖp3O(ۖ| ؅|&Z -lm BNײ &J^HX qe!?ԅmpp4`IX1 CPI$^]¦z.gDjX߄Y+j y:j)эZEɪAc78>k5>bsե#X.>tk-? WڗCDٰ(&zğ>. -ޭSz5M8{+[=XZ9det+&Kh$d7y!Kx4"1&D+7PLNzsH4T՛(&<;?n`G8m>Ǝ$m/㍋Th/ nJ5kS,.,@~^\baij:`ŐqRHFiBp>B%TWr0MJwŊj&Įt`PsP]% 7 6 kWΛ 9 (UD')o&@L_jDb`A-PB 1x-Xg'$L D+W kٶvZ8o&X{/` ];).&@H" Fj7 &`P K[b]:[Xڂi]a0Z`F 3!&' c7 &Q!k'PXcYbq &3]>ü|vq9V[d_p<竕lyj'_]+ o.@뮔aP`bQd\XnUl\Xa j0i\xt`KUxSBW-mp@n*XytSV.PŮ&BSp`$D*SqK±T)fGtKRh`BuvPʯ@Ն檁f,7 6fk,M7(_EyH%4H[̕u_S2r@}Hǘ&/Η1ҝ!Y|A$8 5/'O6 $jgb\ȀbڒJ,d@~}d%.d@1Ɖqo|E$$AAD'g)"h@gg"\n2X'_PibS+#;$uTöZ - {=złeZգJ`H_C_ 0qU[tz\@0sXƞ TTSI湀`W6ڛ2shY> 𞹐 2-A=zu`O<LM䩀`d%vx.0LZ% Xfs}Rz.y'kzb1"\s0$jc8* H5}~ - v(@M#UdT@i<,[  ""EX{&0lE\~昀`t<<YgeL@a= ߰N` $ $`4 zfL@^+o%{"oۤH++CD`t&^z" x所`Oo\m=tOx-X -X<= @ךȁ9p00c<eJz=ٮg j}U* fKvOFi<<@ |C0Tɇ<)x0Te ~R<`h @'ĺ:R<`TJO(V<W=L7kH=<ױrIkwejQ0 6iz&6 ϊ{(hsh4Vffc0VtYu X3(i?NRlC) dɩݟ 6Hy& I5<6& Ou m3HbyIWYۋ6->91*M{IYƲ≀͚̰,Y8n,D{͛0V96o2æ-MfH46 -pB8k2b)&3lB8k2âE8k2æ)jMfpd1ܬ bA՚0X;<+͚̰ɈeZ-[&%ޚ S4\ KP96k22͚̰be&Κ̰i ӛc&3lZE8o2fA&#рP؏̰͛h%/Λ̰$/}˖ d&Ģ̰͛ C&3l:o2b&3lZJ8o2æ&3lZJ8o2Ð򷷍ϖЬG Ś0V|mdiun4/e&Wk2jCGŚ04Y+m,@‰PpldM՚ Lc 2UxCipmczHωzr0+Ŝ̰\-d^ihLh۳%SfNFvX V# { Wh@Ϝ9axubNfڤd-.9a2h&iӸaֹxj]ٱ&3V:;aNF,+rd];aي;aړP -~ld ɈAK=aSٓ6%W=aŴf=ardgOFX vL 2$8,o\'udD!gOF,c"D(k KΞ̰bΞ0oOfа7gOF 54JFFSLpd 9۹;!Ac>p86W2bE7ΖX^ΖX֪|Ɉ -dj3DgKFLS9[2b#qdQn^`K1\V_2b%#& V[2B2XlɈIb5gKI[2b1gFd󁭾d#KFK_24eZO; gLF/6U/l/db7,gLF4[V_2B}B;_2$KF.߱N|)]0O3ZLFL՚L1tU&#vd5d5;OfMX:ɢ%dbW{&&S ۠f z)FWt-dA-nΛLr:o2Cw+X7=L՛L7 |o&ɀ; .7bYy+rWӹh&VQ;Mo2`B >\7f -DVs2dK\^ɐ4C#^<6s2̡ -{MUSTi@VoK<G;d֒3'YiLɀIkŜ:ev8s2`8JvdKřk0͡3'SuRtљEl;B|VVs">֕Kzؓ)И?}'Sl1ZɀIxĮd|)&ٸ'S mJPV2be;4 K?q[e -C:) V2;3f,ʊnHle*NhZ5=ʐ;QV*<*Nx(kh-Gsã×}ڗy2Fݢ_aO2,lkzZ/͢L+Iô/se%ϲxWa|(âLzl}X Q+M2gQoIEdԴw2;s7)uCxaR-Hk5xE(hCfe\v2 Rn֗en80STnQx<,P,`4aQVDoe25iY6EY xW:neHӾYar`ϛvumveJ('`LZkCE{kgQ.y\-e -I#͢L}Y)&+c3ϩtB ;`q<62Zb΢L/woPh!s(S]բΡ ]DΡLw~GCvP/YP,N;k!+fPL"*%]q,A6stweZ0-eVjnjΠ )G<+ORnBޟLђJ՟ ruf*œj?:jɓP coΠ 'O|'+ L՞ 27ړAZ:'Ӎ~yldoZ['l͜ޝLD}Ow2$(Bjkmd(lr' 7c'KO'72l^>OޞLMfO,@s9dddٓ%_ɸ ɥ'TÞV}YY (:6{2\=pҬsd<Oz:we±3(\.q-m/0igPF t\W2b8%jPƳ@"gjPfAKiFՠ͠͠L,]͠ȭeAj7(3(ٹ3({`A㒋AaAYe#A|,mbΠCteİKՠ^9=V2btkΠj0:2J1 Xʈ⺔Ps%Y8cypl6 DOf߇,u5?1>j)92b]6 !V2TUÔH?ZzժS&+Ο̖nٙ~lOFLgʱcfOf+o=1w~ Zb'#v9];{2b-[ɈթqɈyɈɸC|ؓS֣`qZ;{2bzghiEByx{2Bs͞PkTtdTvd j'6YdĬs'#MFcydΟX<-T8[2Lqp%#&18-;[2ddgKF,gs$qdJ-:+9-awjKFL~1+#V[2BD*SՖjh͵ڒ'-ڙeO͕cR(s%iFՕX-y?9ldĊJZ+a}~h]SMvE*pFՕXCΕ؈{ɞ@s+@bPع ҹJFL\x/$\ 끢+ :W2bIJfsZ}Ɉevdumd`|8':[2budcrgKfvJFHnV|SA\Ɉ ts%3LGcYs @~VldU;sde/~ؒVْ6B-xْ6-1]ƱْVLْc˱ْvMՖ̰nJΖXΖ0td#xxW2i:W2ZcWs%#Vu -+aL &9\Ɉٵ\ \ɈӤ0+aٴ)+aΕٍoB$q)a]+7S29G+a*~lda{:]dĮc^JfX1>Jf0>gKF,~Ֆ̠ʎ[Jfа}JFLFIj3ܹOM `h Jf󸺒g_]ɈMùV߹Hɹ\VW2涝%3L?c%#CN;"ɽ-aǜ/aTŜ1r5&3 N՘̰}ld$ C1aT3aJtd,P?7ߝ5az{lddc&#eyU|b7a%YtDdb(LfP6 @juf=gLg2y@GC.M6xÛd&7?Ɏ{]?.fo2o7?ɀUQۛF&k>oZ!dV?5lĚ jǿ5`Mv5Y]WdfI™,ә {/N&C kHYWd}5?gM/L^5Ydտ9Y3dd 7ɬ9$na3'KJ/\u^@~כT;_z)7&i2=o^zI›U_ZU5j[=~MV5?ɚ2'_+s2F;~aNf=/BʞlfM{2;{iO&3=Y6?ž_ړ)e}iO(ҟK2?9Xw99+04o<).ݮD3P|:lQ|)]d'ROF_(JOf9;S-O˒';*:WNF)"NkN'N&K'tɨ5^q2PAɴsd<~x}6fkm}N,d. w6`6lGddv=hdd8نNf'LDpUlvd|j6MתMvVi2Kdp9 74udmh2kh]u4{FO:d4Ri2I-@#-ǦXV=zlUluGX|dKHU̫eU&[&Nu2٦E:l:Wɸ -**40ٽTѵ2' -}hY>dZVa2=G}hYZVa-0ً50G2Le&вmjw.gƯe%;p2cɰe!ѱdԈTǒ%۵sǒ&Ѳd=pocKjƎ% gɌhT2>ޠd֓J *JfuG:=J&xhQCgljJc͉ꡍIv~p#Q7m׈dY؋d\d'-I&g2IF==I&M2NI&5&"I1Zl`Il#$IKx%$Ͻ$$CJэլ&$'nJqѓdDY$y v>IFa<+J{TP:xlQ)1hM22ޘdV=֫IF#g|w$h5>ˬA6JYf%,jIњd1o&mG~:l`&̲IF92JZ+ZQ2-ߡd8^5Z'Q(يsqnWVd*׭JFwŦLXaSRK1uUɬgahQ2j:0 Рd:: F%' zU%c XAɸǛ(u0lPT]Q2UqƖ%l޺d2-wm&Za&[,Nc-.Z66݈hL -F`rjG1&4Rl2~PMU6H{dVYdB+6*'ۥ.hql8dm8}E@8V8ip2~ɨRUNF:E'[kwE'uO"N&~~b$N&R`Y'5 '(dV֦d[ NhMLߦ|Z>\v|(&)@&ۘ]2Qpdd_E?-䒭[Zd+?cGJ.&).=\l)dᣟ3d\_{%!­5SKRf쒭齕]en=\~ѨY*%:\vt~gv0?%d+Ѹdpd\ܨ̒)%[f@Ѹdz^qɶs^L@KLFpdLd&c+Glʄe206K+0yF&.]I&C~] &;Rz"S`2.mU؏L0gl~j3LF%<3LÊ9A LvL%]5F0>$L|^0x004(0 - DuoVK0N/0syronkL&SOS`2&ĴpɨsjU(LFaOxn(lUO2RHdRE&2Cx=(qo/L0yE&[G"=+2EBQ/FB9MFMm(6Rh46νCM2#N/`ip2p6^p2nV|)m2Ξ}-I&ze$L.'KKd#drIJ$اɕ!˪%3a9NCI'RQJ9LtjxDCWQϢ2Oqt2ijJA'&OpyL&d˝>.d8~<O&S<4K%L2؏'eG|L^  :n˾qm}Nvʲ>}N,s;d[lr7NU͂NƳ\k :!rQ'`v8dkr< -NF#VM'}lp2*oNs^tIaQx݇F쐋ʓ2<{'P @*jSxn P{O[Gx]B&P=z>tX2>}s L1G wFwUϦ?3|2y0dc qƭA(e?sN([02q5|^(5;W)<.b)㌚ 27P+pur$[\,pv0;eq^}w)M)_g$*LvaWepuBGp8k2wT&T&#G#AeoI2TQW Pd\(ȢES&o0aOzL2aˤ6)~ߥw$z))xt:Zt'@e -w:|`|$L" wʰvZIƽc$1L63eK-L2uzL2L`ʐG -(<2dLX =}v !2=poئ2*%`!epuH@7|њS%P<@R0IʐSA(Cvב2dEu ! -X<eTJ٤'EPl7>ezo#e8…N!j PYuʐ6 @ k -L#!xjA/8ex[4̍8p%ezh}(ù!>>+XO}8 >o3.?+=?` y P& d x ѵܖɐgO(CF HW[!{"(a1Pn.@+b]<Wc2d84QIe -t>xjDXDdo x%O!m'ex$eN D2Y#6v!_)3fogQTkxUx$t@X}BRKx1`!uU ysN(CB], -B2l#UV4ax0,LǃyÓ"g:u IOW>wj5d.=zx2D UɐMlN<C|2u';pNAc0tOY˓d;Nv<,:0Ć'4NJUe6>cl}`4>>نOvhM'Ze(Lw@U2f耲eիC瓭҆wxs?~eymZLAt>OFCY&'ۥ7dXNFtNv|u2?d_lMvi}rd;6w>L'; -q1k@]Ϟ@A 8(_>(㺡LuD+nLQ{H+QƷ6zJvDًtDنM(bF\(p5ʎ ;\Qƛ@)6FUuFoo^S -4H=,4FUn2cvFE]lT6DmY#h GCY)(>`(Ol"ꈲs֗(;9:lìHGY(TCq|Y%=HeׁÎ([uDnP鑥(JSQƇUl12j\U:([2o(tjg #;0AekMYtDٹ`R!6Qf -eV7eRhB]SODpT*Q6oKnMN(B2zNe<#ʖSņ(Qڞ(?e GOnB -<:L#'(#eV2eFTmB&x3~gʨU֗R2 e\peT{*D٩$;Lheޠ#ee~1~g&h;N-eR? Y!xw9JrutF,"U 茲tl֫m2yJJ=h2zqr(eqdo┡2i):e+f:embuʎDzSF ->*OUFQJjS*.*{\84~6@eRвДzT@2TvRWb٩P}h2I[l TF}ud?;-T.*職^2>Xv00:e\m3,9e/ϡpXqU8eeh)pؖ8e<-3e19yf֩5^A8e'*%)[*MYSRn:e+qZSU6NˢSfJ;-8eYBeLC. T&N(Pg7 }+PlUd)cNٷqQS/a2z\h})[:Th+Nٻ8eU!l{WlrֽSF^O\o^qx܅(3erSaʾʔtib޺) e'!W,#eR`29 eLc"e[F e'5&_`@v)QvM>iF}>eIW-e$*RvE_lDxHRAV) ZB)"Df^z\Hn0 eWҿ2FQbje0-3e_D2yMaʤ6” M[Z2SFǔm\_laŬ -SFsd\2QpO+C*["L|vV-3 -S%Ly3e"/+eZ(eQJu|6qlR2<RxvH&"ʄMxlTK-!e,HXmrZ ?2h2:TMlw&LSAʸsh )x똂)KJgn#.HنzۣCvW2P(!e|;}SFʸςM)]2P[!/hKH(U22ޭ)2/%!e:S2G -ULenlY2A'lnxÔ0elA2jط: SF=U7GKL䇞:).o29P+| SFK R&]yRƕ۹~A)쫛2ƹP)e 8^6RO[d2]&v)*HfS=)ô0=2ݥ_o^Gd-2ڑ2}VF2dv2~WQ&l)oIð@ImG Pj(zAsD@MϱLJss~OLpS_p@-n2ހ~í q6_hPOx2H>/]6&BOPƛ7Sty2^xϼ?wWdb~r27`PPƓgt5+=(ô(BtxԀJA(Cgc+ mJcS=i2K\P (?}¶c0e=p'9LL:a c}aȓILēTO3[Զl'i(nScɸ;A_7úyLkMM'YW:* X{3 ^%U*n GV٤T2d;=įt*2z*2 ƫdȞծuIİ ϫd >!y a;J -*2.cH0;րJ&ٵ8P2d'  (2)~#W}IP̋dH>NɋdN;D2d/E2Do{C,dly= ![iɐǝHl^$CE)Yz uHA$C& HA$C&> C$*/{׺3*] vY;E2d~$!;I$C6A2dH 2% ٥LGHSf=2dόI&naeH 2j8VNBHɐ3:^$ӌߥd&8x@A@{2.E2D.d 'ɐ]D2D'zL3>H)'ɐ=6aM#q{L}3v4G4:$C74{Ueg!fi,x :%ljiv怒!nA4cMm%CƇ^pzLW(f&D"L2x$lj1`iFhG%v&F}*&f*$C9`iɥL2l[@4-^%CDp *fUivr͑T2̢*C烃JѡSA%ґX`4{h?wQ9P2M`1J tz _{ =dؚicih! о4~ *f!dGɐQ/做Q2K%ӌs(FoOͣd[ (fJ>(ft (fJv _\{RfjqR~ DM_$KٯIkd;kdd&ٯIf&ٯIkdN[dBPI%E$E.JwFtaoCnTSl>1J կJ7~`.aP&U.m&l%;5_Ky?%MJG Nu*ٵ?@%2J6AU.HCln::nF%{PU2݋Ҫd۴*iU:L(noiQGK7(ٮ[hX|lQ26?P,*Jf[=ѣdXҡd4&ٽHkQˬde`] :6rt&٩{Zl>|M?-J[LKv*JvcGpiu%gUUquJnP2l'Q2T5(?jU2ِK6etoRÒ]UY}%5~`xsY}eJ%M-JF=ٱ%=JviU%{0Йd.뫚dҘdskkdֈdۮdca/HƥLU*N$#p̪HF]`|uHH%@5 hA2k@Q$[vTQ_nAT-xdϫ$WxdleLxсdǴ;lESt"G/q|*Zʹɤ~hE`:ߖe=*^n*m\Fp"3u,dDG/M}z4 n6<2Yn@2.~iYH*сd| Dz ֊6  ٳaɸO -HqA>*Zop_"("QL=X:w$HiN$;74"l$ Nt$H]F$z-H/ v"٥n:lrɬtb GKsUVlod4Td,WRI2j{(#fE$J6U${+6"|xH2q¨!h$B5JيOɤbWv[oDjc6"[ɦNUl.6рdǣk*Hv#'leYNԭk G;HT=pda#"\+hdt)$}ZZȶ'F/@zNGQ;y[ٵ&}K Fv1q`dRפȨ}]JeE##㇉R^#[ +1+FvmaV02;TXdMEV]j,ﳬezcQQ,Cws""'KZd_"kc$Gcjͅk"">-"q̍.S<;:h'63i0F2#DWq1)F^zT(CR52<5U#Ό6Yų2FF-Ճ FvjXa#v Q|m02jHtW1ZFum*Fv^دXd4\d?>OcGv+U,ٷ٩bd(1 ,cdߞ#^ۥbdϮpxziadɢrȨ{Gk FSF5+FMV:!N웶l0NyTLFvFF]U犧WçF1hdo8V9s٤}.>h=2C5;VhG%y>zd/Y>_zdmbGɫGF҂/}f#x=GqEUivAYQcydԥ yd4*r$WT@2z:(oXA2e:9>g⑱`ghe#ckExd,_ki}PG JV>r(lV@5נCe蟖52MI#^֢ՖFFoJ+3T M*)QfӢ]MWe#hdBsnCF5-T8 XG[[dpdphd\| -CxJ#۹#;Pyt9s#;߽#‘ݼH̑}GF#֨^<2p&;/-W<ۦ -Gvp;( lErdwtݒ&O -G6#;#_ɅFb#A GF-&x\9 4/uf xhFVYWXxd\EW5q!c-Cٽ9dN#H&k=o {?O>x-œd;Гdc-$'W\-$;6$l9'h^7ɘG+$㩗Zx$ )llMdB-&LKT@&ܖ+øw ]:gL2[d"i ɰ"`92 gΦgU&lUZ -bӟ `Umu%=g^%|^L2st-H*YdVVPɸ?1TCv־yPxS'IP<\CPxMcrP+*e$sPw OPx59_ya}nM*bJGА^%: -S3I%#Gbd %R=n_2T/]2YmnzL2>ep8J/ $I-Hy2G<ΥFg0g*{$L2 dѷH0dreA`2YO?`2y͑`2B_"fAplP% Fs$FQ]۝ Y X2d8nfϒIJ^*%T"dȴ#`2XZL&A }]N&CKɐ6ѧy]4u4YH0f|Vܼ3`$L߁͂LH02>,&>YP0En$ GlpAܶ(dV~ZV"1ܹ~lŀ3.n Wq4%ǻuzyLoT-\2%C@I1%h{֌wɤbf/,D@&Y24RdhH[K& 04\iz$Lo5d0WYpq 1^&LndxpPN&8 -4tR8:gɤ#q' <Gx2i[VY<g+ozSd%_9/xLSVzFxpѽYO:!9wҥb'}.R-6# )5Ol];ԗs@:Wjx;{^[ -P&b8}ȍwcJx9L}(FR~$L`xH@xt𮔑2Y;ЧNBd+E2yL".[2xLB\ dW>eؑwع@qi6GID+ݷ2w+l21?Rv(|+L2e.~.^Kwx)t0z:t8#<W2x.@IFqݡ2l"eﻰ2(40JŻ`$U] Dd( e[u.(Obi2xގ/e߰,"8C2vHFD\YoayL2CɺQ&vv ʐ-n&߬'ʰZb@1(i@IF< DH'$ (mǺ2DNS_mYPn[e: /#lK~ۮ2첦 7!zL2Wv!@"+Y|2k j/P&| C [>eؕf$ Pcx ࡂ$S'%P 2lQp6`FO(&D2jeQ tQCD2DS`2d&=Z'Ԋ}'C6혘їrف'Qr<wJ?d:O|2d\Cx>`~6IѠ!ۧ :/"H:pad i;jt2dxNlA'>hdȨCXS zA'C۲&~n#6`I:2$6d87''ijt@x]k!ۧpOش|2d#{OE Ok90eeO=3|2d >2zfOuU#dޱH$qp!fO䊘'C,9U1!or'}+W#jF$[ s@ۦPG0X hʐ1#JQce!WX: > P&}*z)en}|2D|*F\n!=n'C+ <2>|$Lǃy:G'C]x2d'd>NZ >K glŅy*#d-Zm&dȤjvY,mn>%]hOkGɐsI'Cv'*  yj5,!Ad٦!;^dvy#dXۻ`u3ԹQcπ @9Cn>Nִ>YOfQYT}>',2d9z̢'KQ,|2Z̲'+,|2˪OG^^̲(J2Z̲(e@YPfYYe@ePV2Yeu@fPfQYeu@YPfQYe@ePfYYez̲(kW&~E@f-PfYYe@ePfYie5@EPfYieu@ePYYeu@f-PfYYe=2x,2Z̲(42:̲(C6BePfY'i -euBePY+Y eBePfY'i -euBePY+YeBePfY'i euBeP٭SPfY'i -euB^( -etBEPfY'i -e}BV(4k2LV(,k2Z̲N(Ӭ,k2Z̲N(4k2dPfY'i euBfPfY'Y@F-PY Ye@ePY YۆF4k2:L(Bўieu@(Ө,2Z̲(Ө,2ZL(4k2:L(Ӭ,2Z YYe@ePƠH@f-PfYie@e2)2ZL(4k2ZL2L#fOL*u@F!#e@fqm"{5P} ٮ#azYHPlI(aYe$ ٔHDf-Qv?'$Zm"DfSU@i)ii\a{pˆB(CvrQ>{5\}$L]EKOvܸ+śF4;/d]<' OLh~Oކ|26v|2%4Q*',PЀnƒDl=+0iEdYX-iFCatGrk#!elɵIULc|04;/JfRJhG}+eX -HFRtLg!怔!{O]26? -RMHHftLR&َr#*e 2RD7 e]\hc$ *Rj׳\) 4R٥5RY/SWl Lf=ftLF`2dv)l-)<50eQmEsL2Gi 0;0 f0)};L0(fO83ey,#QeȶEL3>1THD#AeY!TifTL{UiV!.y )Fʐѕ˼07acZʐVKeSRfnRd{:Heh/iFZG^*CFLN*Cރ4{vT -R7%(>hk2DT{LG } !1$;l?O!l)eդ@!;m2ɸjbgpyx' ]q @o -mk;xzW?zDW${Jg2V:rLd4ՊŁ)) -JDbuS&I3e=hӕ#sIF"0ߠI_~C7eQl(2dR2xN(3>`I5pfG{5[)D,yQ"RƅN3PҘUYsFU^y ]|R=R&QsHd5}2Τ9R&uaB8 ŹR&.OL2~72n|G%{Lc1dI62ɸ&Q&:12ɨ9e5Q&uj1)e+E2X>@I5PX5e.͍2ɾr~(CmLGuAP\ -Bdsr^(CD ^(Cv-϶LHD2(C&'ʐ|0{L2P(x 9Q.C3G!@2ɘRneȨ (3edc(CFyu'Q'< oID!Db(C -D2.e.9<Qc/Q&LuHDLh ʐQ=2d@!{ }H%D!{7zLdz ʐ;QlqYdN eA(CxDw@ 4{@ D2t[TDdbZd ʐ\s\R,V#H>1Ql(C} Df_sDi' J6`;OxwHw$L`;2mfP1g2<|^ -%(eV.k>_cN)C0Y{gea @Oۮ2iʈ 4 J:~L>^]@_Ҫ ]{[)(e Ky^)C?R=e%+RGRtpq8B2hVW$+A)1Lpn&tW8)6%LqCLU'eL@$^ 1.@ǔ.M2Aa)2J5';C2jO dc85+Lܤϟx{(; vB# e}@^P&R䓒Q&hQ3GT$n (DтDum|(c>K BfQ2jyA(#E(%:./M[*Pj[DʤPFBN$&'`q ~}ʄbCOʸS3^E(a. e9E ] ej$q E(#P#e=2'q. eG.1(I(Xy8u\ʸ%{Qc{YQ&Wv$x?ľ2ʨ5a6e$K!x[!e<)NHFŎ/Xn^&C -D;1>dw2"Bmz agM4gJ衳 :ɛtN|c(h2d7Yƛr6f6M쑏m$L2Wz0x/=NlMN"1,k0q#{&ӌMdݺ7"d^>dIn$ ٔ#df`!;s'7*KнgLFɐQ?G8/ifuA&CFU@i_G<GGɐH8fb 8f7s[#dȸd;ys8Ftߩµ1C- :fSLkB!K -eNOt2iɐMaL39R;NYN貆ve&^{F4{Tɐ]/u2͸.i&G6Gɐݫ6'ЁE4.LG Rfw5dZL)d='&N&ɛcw9' SQ'C6i&РiSTZɐ IWx2h:FɆ'CFmӮڙF\W'ӌ.\''Cv,: >f|20odɐUK -L3^;4a19_G|;DPLg$L3; 22n݁2D%=PG=i@M%j<L#|i Y|2xUo'r@k~d秒my 9[L%*hP2$ڛ)㊒}QAɾd+&KI&E$[??d.+"ˊHF] P\VD2H,5TE$bhI2e$æ*Ie$ Y"ɤPhM/*$zѐd!K$ -I&>0`$sY!Ps$YȒE'm5$2IE$M -IdУtnRQ2L6d!K({A\VTgdRJeU%e*JE$Cњd!K&[1\VL2)iXB0~*J沂i%mИd_TL2L2L{+&YȒIS`IbmNTEw66Se$۸M2eUbmr&ˊIMGkdKd!J(Vev+JY%sYA>gd[U2vJAU%3hd[M2v+JA%݊}nE\VTڭ*VvJIU%{F%3NA|LWmLWmLWmLWmLWmL2vv+Ib Ib Ib Ie${${${${%{%{%3g1^g1޳ڍI:I:I:IfUuv0g!^g!^K!# Iv>${݆${݆${݆${݆${݆${݆${J}n%(Sad[IOڭ$'v+Ia$xvI9$j}n5(7UI9$jn5ɾn$j}n5hͥMGgn%>fd[IEV@oecv+Im(;I٭$GV2}n>Kd x\ztGF/s#P쑱xG#¹؎]=ԭC}nȰ.d[AEwv"ه"+PEҭ"gV2)6tH&,"gVtH,HZ$, -}n>Kd[A2gY$snɜ[@2gY$sn!ɜ[H2gY$sn1[L2Zb-TqJFٹy.(C }% -J~t -JPo~,(e:\:t4(.([d dv3tY#ɾ$!ȮL}^n%xWX&=,dBD˭"VlDVdE˭"V{֋d[I˭"VrHqU$[yp*d[E2.˄eU${*}HU$Vl+تHvd[Ed>d[Dŭ"هVCq+I%P܊}(nEV=2PQ-a$[yd_jݬed -IFmր$V@^hIUǭ$Orez)3{lU$smɜD[D2_V>ƲdgdX82>x#f^Wa -Gb -l2f $[xd _<2Ny2GiTY\(+92$%#kb>#C˲ȑQ 3GI58]#~V.[K2hx-WQ<2+o4 vݱX=2X %eh@O%&"u>$46"ťVE’Hvc$$ш Y|.dה08d+AUHFrגHF<=dq7gSY$۾*oY$* F$}I,"44Y$V"Ɖ$dܽ1 PD9u)G6OlP#xdxd0gDak-"#ln( -1G& -[xU<2i5;G&#TG&vL-`<24oo)xd]4xdMe82|wݱ/2d|(=2xxN0G>. OȐw4#{p8Z<2dFȐaH\īϠ1![m>6xd<xȐ=2D- :2.!cHv }v eg=K'1ݓNS+x892=a7WxBVqwze>ҥWChSX6uG8MF&Z~rȨwxQˁbI#ep\F"A #㓟R&WȤhݥ;F ' ]_,F?wHG7Ƅ`qqzhѳhi%&,2.OsYd<6rL-2\y%9A~ _^?`dr 7g8u8~kB#ad -aa @/vFlCA#CI!eͲ0򥸖*wۄ12}s/12|&BZL 02XY*K\^vy&  xY)ϑIv2 rl1ۿ"8xh+VUF?׎^Q^,`dn4"[wÙ`١@%=p]#͏#bdA"qcqL7BܙF?02~~]BȸֲLD#ّ:#cȸ&x@F\|?ߝxnƃ12>Oך#Gob[#bdfC[xV)˟ -DZ{ #LJLF&?Gi@02~}%42Yb:Fvːf_Y.La}|F62쎞aL_Ur b#d^y`D!dѐL+J uiy }Z2dzDǪ{A  2d 2dkA5F2Ȑao$ WM2dt /½B-0 OqxLSw/3d>1dx&n`ϐ!Ԙc$s 2tC5OC&x  U sG]Vp.(d2n; ѻ:2d -׼Bg;Yy مG@Ȑvd- dȴ2ɤ2d–o#dx}0, !C6r z>!ChEȐqIӲ/كwR8{4 -"9)d6~X13փB>WȐZ -2q{ >BL:5+ -drx/(dP(<'!{WBzP?f{9 }^^{@ܥW,)d.>:2n{{ csWK(@ dF#2n"qT1d6: 2ͤ:A'@!Cv[2d+@L3T2BT<dlpCAw!]'!{8%Ls_P$riry Us[6Sϐiv3dmve6 2/$0dMϐ!CL ;ّ2dȐi>=CZUU5(vgȐl4; s$;˜N 2d< Cds2]/CN-v 2dSd8$ Osf#Qd]w:LW_r_f/)2n=(2dc"Pdjl5(g՞y4C/)Qd]z*9XdXd?G[ZEٳvŁu?6$Lɋ8#Rd٦@!l"Pd\~$L]4{IȐͼ{)2&IDivH254"l{p-Pd1U(2lDȐM\Ɖ"LG4;LF4{%O!%oiK"5EEZ4 fE]"L#adE&L]ǔ#hi?y'$2da iݠg$LSE?v@4xOiƻCoKR4b4{XȐLaK -P(2͘F4C+(2 ]V(2͎@i6 f܆ui(`_fȐ6)2~"l^(2.fe-2dz"Lw3vc+/?L_>M-P#"/5E"Ff N#ɫ!z+ x"UFf ^#ˑ;u #H}(dA2^dA92 @#NQ.8*sZk^$@<Y#؆yf'F̻#02όme63sF3V27F晹 #ᆀyfpC<!2v02 ng&7̲~&6hdys,r!hd42Ϭ%hdٞydrC<{:3Ff #6;̲`=@<3!`dnt%+6ad ##HPf3Ff١ yfUw%a<-#jyfÌY仾F=;g02sg]f2F "E|"f"̞@?M\F晱A#LΌ=+/>!`d'#̷p3cFf#lܼ,e:3gf̲u52QE,/#Y#cf2Lg:pd90{d~YG晫Gf٧:e0yd90{d}yֹ8xduP G[vu#?香#Lͱ;/dݘ=2˞4Gu6 e0{d>a3f=2Z82{e=3kE82{e"xdX82=eNf,mA#*FL./l427[dcش3liI#^,dWyUi#LđYđYi s Fs Ff;A#쀤ՒFf;Ff2{92\eCVX𵌴 ػ,y$er92·CGfQ2sd?tKe%2a2GC$Gf+#Y]Gf|#vc42PhK5m,cWȘ /He4idKn,;mo,Y#́Y#1ܴ2;MFZzH3Gfh#O#&̲tõ jGfك:<2f?|b,YᓯJY -/xy[5xdsܖ<2Y<2&b,c2Y _Gf kmip Y&G8$Ln $ccLIA2BYֱ/%2_iI$MI$cv?qND2},VWD2a6dsɘY$LձH$+Уp4da'i#{"EI$L~g,>3%2@3daiMlOkkh"ext$Y7[,-E$̻٭D2dwM$ejIf$ G_D1z:DYIfLR/a{ZAI )&eJFdY?dY6.6&eri9S;&@o$~TL2ޓ$IKfK&ehlYvmw,,dX%َ&Իδ` -J5`k&}IfI$H'?ŀVD2P "ZD2˰vɘaaOw,V2zE-yd֤/xdۖ<25lڂƵ`6d,C7ol,l <2x$pd2[,{tK3tա9{du]-yd=oLKi eZ82އ7GL**mo\ }Fmi|3Gf eϠ!5idLNoU42nllI#cvm6(?=.&ϖ02˼|Șuo02=`dnWJe~ZȘ$E"Jh|M#d,^#g̲W?"clYzZtրdY`1],2f\YdY&DȘ@kK֯ף@ֵ [ȘY*Y#=ٚ>pdddb'1/@#LA;NkZʙ#cD#lpU42Xꠑ1$O#hX#1z4Kd2)v-Ad.߶$2fq6FbcDfmI"c f%2FIQ!2`iȘԡY"cvoÜ%2f_? 1=T{K07Hdxt3yŏ;Mũ? -Idv)<3Exmw\Ș}OELFg@1@"c& 7Sd 33*dELNA"l3Eƈ[+ZȘ4j" *kM3o6cdnY12f\#lU(y,hd̸#addh#7OqPhȘa׬1z:hdY׻|-id籃F_`{|. pdo6G>{,.`=N<Դ;Nciȵڟ8YawԷ 3|o\(F~#xdɘ듆#L7i#L.cbG#hȧko}4{c І̑i3sL3y"9sdKđ!zr82d-F2{Lkt֭,̑a.3i3 fc5Sd-ӡ"Ñ@{}b0Z9Lʹ12dhFžP;A#lfLCF͗W#L.n_02|3r4Z:{׌# Y#52;Q#ZvQȐݯFA#d#CƶomȐΔzFpG}`#Cv|82dS7)̑Ml5^8ly‘m'əqȹߙ<Vxd#n//|,|#QN#/z#u$6LɂU˛E- j2~K LqhF@} - %LBmhJa2Fai##a LzT2FbelHnYȬ^k#ak 2䇒02+c%02}~ӡ|ɂ>oȶW -#] -#.דFe[%|L93َe -L{-ӫC&'h:d2a-nߝ3;dTC&K'\mu&pqȺѲC[[2ڹ\2o(dhrV(dfBv'E!؛|qV2eL>A[,Gd|Ap+L3\TdKS*drD^eRd"ó=!CaJ Y5vdp3s@R^XcY4q2\/ -wb -N-Bv+VyRv]"YPP-nY`+}60#Cw'maȰEgᐁ%Lm8d"2O[2oo8p٩wQ}Ft0 `萡KEnsO=Or2͆MCֵ$% F2ZRci&A!CȹcDɌiح!̛%L{%!d:#d MN5M3BE 2}p"6,Q%AfNB 2>B%oۖـmpLShxנ26:҆`GzB[^2 /{2l8y2o2݋$4B6%sn -HB uLo˸t3m_ -+-!dz B ELo/_ڎsrp{]J]3CH΄~ XOuCL&:i%JNvZ !.sUD"TL2ԡ;;dZQ_CF;մ#:2I\TMڂC[׼(8dx$ny dؐa\pwcK0lvȺNf΍7΂CuMb'ZcCuMtp/T&n!hO%8dʧ~st0q{ )ElʡξLio8dԤ<1d"+V` w2`pm Cv!/Jj!N+'+!2P.VA![{2<:78<fq2Hg7+d.>&[bȔ=Pmd;-ar6!70d:F-9dxޒC ;Ciqd"B2o!2vw\lsrC0 2{,"o)k\@=d ic TG?})3EƇZ(L3܇a@A6O>[4;aLMh>}~@iP"c&fLDA2&Pdd#2BkȘ%&Dy 12 ->|e85p,r!`d02.h #?'g5 #Ffvi #n?/c9E$"@椖#dm"KEEf -pu#d,jІ"*6KELNNr#ücԒF J1FL>^gΪӚ)}<2f2L,ޭ!HȘ?ddVVɘ T} h}ɘi3;??7d[+I+ &qD2&2}"3Udɘy1zw8tŭbA2˅pɘә=8Ap}1gyrp6xd̬+ydhx$ uAQɘheKH[_ydf 1ْH[~ы5wZhuJ1C,5fr,P #>5c^L;HL7?Y$c&Wqu{ц -dlò q~æz-dvH{D2frU){sieJ%w=,e 0`dPx-bdv/9RkFf1A.i,YyȘݾ}p,̴#֏QrYUl呝fȼ=Aml;QdrmcdNQ($$YsVzdr'zdk ;Vl3ltw+92*\pd2 㕵Ȏ-+܍Vqd˽Gvs#u Y#C 5yU#َrVkdh#E/cn>|429N̬R٪m;,* ~VkdggWJ#k,B#M)0GJLCV*[1Tbd?lL#Ae F6Ae+FV -l2FV--oe"lY5~ExM(2o|vG)2=VLˏZI Z(2T>$V j;UsDf -onsh5Dviv )J~yr\}JukfY8dzB& V - -kSW -(20d2# r>v7fL+9Cj%C捫 L7r^+CG|%+C&sΟ2C[|+C&':W}uȬʐIs%L7O!ӍVfjC&v!;CO y}_!2Ԩ<.Џ6ӱ - %L >F/2^{C&+g~wC";p/[ _:d|Xrc>?8doꐱrYvB{"}]!2k_Ad[J 78Q\!"äVWȴץDv.$c|)Idk k]Hd^"6md]"gɼ@d)$2\i8]%2nD C= -T"Qqp@dv(5DUcc "$g+!2>k%D:#.!2kRBdR"ã%}-DvW?E"Dz-YVJdrp~YHd8?Hd7N\R"{VLЧ3Y@P7M|F&SQ)82(h.sL.^|ȱrd,8gN L0^WLo d^~n;6߇Sxdc- ݺz]Gv ۰^xdr|,<2OGhif#^ǭ "𬆚̉-!ٍɵ|\A[ ^db$jdz$EdlJL>Nbl{pK"O -iDocHP(e,w'ao^"VrYI2+YH]&K$ndVl?lgahAy5ɎA!46/+Lӟί&ىe$&ja򲵚d[ d]{+M2-&||Pdӿg %,ǎE韠ڕ$I?+If;TKL$:シ8-$̯{&,=&١.dLͦ{I&'mc+L2{$ ( JȬ(P)邒R?dcm LײdS2KORdZͿa2 Xg쑵݂_a2ͭc L,<J&Ú@Wl>Wd2\mLv⃆bɦLaۊV'd0Yd2Xd^E+Lt/X`2^wqd9dP%ĀwVl^e2L[d8 /2Wdt-I&EZ&U2x0gZL&GM|nЪ gLeLET#9TmL o)E @Q&#L }(;_;rvI22ߙe2>B~V yE&2Ny.2de5ͯ,5p^dIΟ2lad38\a2 0ÙHd -N{(0-4JD▸&#]&ӫU& ^w_m0n.B<6Mv=MJ@s5&SϝbFq+drt_|"dv&+Mǂ&CW+ٴ]|2Y׾&.>٦.fl󇛅OJ{d(u 1d0ot:̣|`t2P&/Ȳeqٱe z2Pm#W nP&ɪU(V e elί *; P.af 7tvv9DelG0+e!3?zv\9]%leLB/f<4P&3 - ֣P&+ʬd$(w򢕉2}de*, egD/ZZͅPCqWBى,]x DKBu"]3Dم[zeY(CuKe:8츴e7&Z|e2?>$ X^(ï15({5x+iBnao+2n␦lݽ"h: -5 ex͛>yjPvzW'z$DKo.d7*0)xZcPm,O&|kd[좓\P:"i(A'C+o1vlɬO -Y2N>-8ƅ%EGk -L؝cp0(dkZ M[lH*-d2@{r`L.[ZOG,LM>FUn >xr=X|2=&evrQh/f႑%}2=oe'$gɰ,)_dxO|N<2l<d7#3O7[GOc̓]{eK<ۘx2씣N<.d^߀t2't2}%ꠓhL߷ 2ZƗl2t^M6;i4~szBFld޾ҝ}??:igp/3Ƨ'5Xn&S/o=d$dx!p2&C:wjʋ&sLG 0[wǦEw ,dxcz -c_4"<Jr×"`] &c6M*TLl 6^3/dJ&Óg2djߓM2 rRl2܉ R -6ٍYRpJ.["M&˒i2:QI 4V"$d2l쒴d**M&=o5&L2 _i2(ee$?fkDxugi7I4ʷ$d7:*d -w*dq 06bg&Xsg &I<LϽL^`2d`2ɰIқ &CB&ЧKl'[dLmM654ٯ5"M-yljdScE&۴C_50٭~V,2٭ϴGLL(e2|*f>6=ஐaop~I&/0j~Mm8I&G>=K2F;%VDHkO[d2Q -a[a1?`P' r &m0}>L]$±mMO$۱o_hn칭AP0K3Z\2ND%LRL&Z$ Wd2fohTc|Zn3 c`!ao!dڂ% (a& J2Y׵o2LoiDLNL=y2pR%H2,b崶d@Q%d2lRO7PLvn6ddPz>h8d~+7G kc\MmXhO^&I= -4qغe4hf 4*uLdf Jrnv\ZɰI'\ 3]7dؓ7F4V@ML.? +oh2dط -PV{rf فX̙&S[3Me 7{q.dڒbLLu2 wyWɥ1FlɴM>1{d2(2erK4ۿiTY;-dELkWh2T"9d -&L3 6fLN{K2 -],e2-2fv\,o'St~E4x?4f[4ߤ&L_l|R]L!EnMCH5C -:f2ϲPA'c̬i&_CܤiLP6{Nvz+'L3TUإ~4/dVZi8f|crc#܌i&''cE˂1ЍrtA'*d}4U^Nۂ=d}+i$"*iI'c&s_t2'7NLwÑK[esg^@oKH[O`BWz:ey|yNƊlUlt2f_9ج BY-v4`ζ8\f<;1Ʀ{ iɘ><wh'c&FiKۃerēh^%CN=\;t2mҒNL$8:3ݫGkɸ'@o^St2f.oI'汧rF_hےNƬW&_|A'c-d!SN>:kt2f -➀7ddԩi/\J_'cfYD=x{ɘut2frlElS -SCdzEeɘiE'-0qP՛u2f'II'ce õA(s:{^A'c&s>3N|珥 {gKp25}[4%r3Nl`NL%:3.iNjk6.t2v|{WFt9r˄?r}ɘ6dvop2fON:t2f2rYV4,y9w 99'c$C_mɘOsɘmh]d{rkZɘۇ'cl{-q0bڦ1ώ6(z xܒN } :fhjV餓17z{K:3NLcZX s9կAxgq19I'cA'cEtɘɢЃN .^v:39RatRt2䫦µAb -1Sg?wĵ.?wƵL9`Iv,mMH#hvfNZz6#} +O#MfĻ[rbNƬړx*c'mjNvK21E_NW'u:Փ_N_u:_du:Qx9oQ -'M8_L8Y3Nfe85|8^'dp&m9=& ?&J̶l2f (co9 Nf&2j[&e[@&jdҧ?@&-ʥMfu\& -mK&xɬzt"hpi}aXulNV |N&?q2۶QdGN̩8-q2eYdc@Z'BYJ' u2YftSdw8r8ٮcxeۣ']d'&{cHemz5MvPs(m[y+lq2Y2VNM⎒&&X8[dZTjVdzG&٨Ri@RdCɰ8|NfjւP2Z3glɮKvJ`'' FOO;M|29OhO_QdSd>-ʴ@upG~+Pɕbf+L@[@\|WL.K -lY2cV@@oVerIzyk'5OƎ2O}DVYDTdҗ'zV@"O>|29IiN>ݴV  -l\|zXd5|2.áJ(Xe2|q.U@ #d(N"ʴV@5( (ۭ -ʮPM -̫+̷_>ٷg}2c+O*鲕'ӮE:N'?d[Oߴ'Dʓ =kl7ЋhO6,>Y7d[d'x.>%Aɜ(|2V:Wd(DW=t=j̻V>نӰ>7֮|2oPd6T mO&לAP߹d2,\|2pVdrXeX*ZcpSe2ײeZCB^ -(} -(-- , -,klZ'! -l +)|ʊ'_L+|V>Pd=|2^tj sOB}2j{Ov}'Y}2]O{O'CJ쒩3'>fk'{.O&c⣕>~ijdX#XZ}2&d\Y}H0 YeTemkӄ'f-<$-:فE'%΢A8>+LNvSPjB' Nvþ'|]@d,drʾUdk+N8KŽG*cNzR+qn-8o`؏4 [Imqdu-ds7d2gɾL ޅL& 0Y~+LF0YbVd"&kT0,ਸ਼&:0Vd2c L&!vXa2HmRd(dw;3Lv&vQd\dZwy&D0L|{+L&GΞa2|K!] ,ɁهOY!ﳕ2Ϸ -LieL:Wr!}*q."#dd:0Ű\xKU0ٯ% - -ل&&?fɺVI -&9..)ݳLrdv-א?d6jK}g;KkRdZFJfkqɾƝK&׼];VW˻d%ӝp8iKp-'Wl|@ɲ8&Cc:<0}g -MZ~ꒁ.Y\2ZLv쒝 - MY8\d}߳U.|X2%]V N.OKv%wrdus'D\Zd2 Kb6"Kǀe%+Kvub~mV تle̕%o6,,J%8},*Z7dJ[.UAU*\$eUɰe(eAo-A%/T2jPuQɂT2jmQɦuzOcJ&- -%Cm.dm$U~l*o&odr{`Edm͑WL&9de HsMF+I&3:k9d2bqWp #ߖ#5\=G -mod@Aߏi#CӝGaGhd#?=2q=,{d [3H|VLia8jj% Sg3Hl*LxjeLF\ $;YX<}?mȴ7e#cgόa. Lq YG`7Gnņ% PGvl<2<ߠ'pd7u# D52G{<2܍BG6nS;|ʝwwIelh]#ӖI$!g ."G͕I2?n*L.NpdL>d^x޽(>WL tqٞ%Vdт(` zS+JY2J&_Q2,mJvz/(~-_Q_%Ce͡ m̼[Pi XP_PR._P2bk07f/&](  -OPZ<JlM QSAnHJ2!7G[iw~ޒJƛ] , %[Z[6B/ -%%]9sP2+s(vޖ_r}3JM̈́%Ꮮ&7X2mq =6f`@~90̵@訮~,ZSK0},dLf !C-cmL:9&`0K?'L<F޺)AK3ہ\24Od.n+wd=?uvtzsiAiO28d~6dɇ"ffL_~oa42 T~:Y&nFL#Mif~L ;e2Θv\d2PiDiLiM57g˾Efط*&D?d!u8 C3ٲ&Wh2@i^A2F2$L {ղ?TU&Ly]2fr%EJnl&cLi&# i$_H剋(qlɘ=$qj{?֒L~ 1 F$`49"1C~bLz3df1"@N쎋qc~\a% U_Ƿ 1A\1d 1Li$q4;fbSK43>״1 e2F&e iߢ#1dy\\2f&d0ھ1^+ -.3y-].f;:!6d8h%c= .3BfL39ߛ]2FcKL%c`ܴ)XO.3a2f]~ LHLLFtfگrɘ3dvdv -;\2F9daH6dN#X2f́mfɘEX2fpˍH{M$/d̴iO0l &c&iٴ'%`2fa7Lu&$d `2fcɘɜp&cֵCcK03lYa2f0׶4L#,gt%ctx13Lw0]bLl|D,1{FɘE >d>wd2FhMpɘ>d>!d̮E -mtɘ>M0#ca2f :d^Ljh2JYWɘ*2#t|2d."d2f'$1$n^~L񝁳Lw>2e?w5: 23 <'g^V @N 2#"G23Oe2f7\-dnhB,aY&c]f{, 0fƣ#d}ӣ&cm1Jjw\h`' 1;}oVɘ]7dP\2f]717v0e\&|!& KIbgg\{'&c%9|Mf@=1&Lcɘra2fөYvzdYJ>d.[`20W7d`|,M2UMmV:$gj{&q2IhH2YH$nm $ã]$CFo PujLL2)M[+g%J'jahU2\ Z(a-(O0XHZdrQ(L2 QdVzTd2w$fVd'*ٰJ%{Qa=T2'Z%,Y*Q2 (M$6XICIQ{e [6lcIE$$Ӟ$AfHY iIa ]H-KL$ 5$Cct_]Y3$ -N+ JL&< -lܬc/ѱ j YGYIőBr<,{dΛGQyd<2ߞWyd_zdrEG s4[@2ju YE ^3Sɼr%tz*9Xd -H潕 LVol,Wdi3B$;M-@2Vd`_ɤ*lX$ ,@2}JUZ -$H4+ VL{:$$~{A25TV$HS?dJt@ ]G;}#J7˴ L6Y0Wxd{G!]eȴj챲 -$jn = |XAmT{hYdZjlX -$Ɇ_@2_Udصlmn5Hڍ${J -y)@axM@ ݾåp \vz^=Vd2BV\[ qY+Az \%lgh& `=U%;vUdJyʭ*ٷPq%ɌΕ%Qd'V̦{Kƽrp贗dX]pDY]%YJ[Z;V. -kY]2SvZKv-%鷅KvjۤVdX. L .٣_\2mG!mqۺ.٭Z} L΅f꒡-.|cKևm+*\Ӷ,Y%d_ʒu܊\XPqss+Y밮+K~`)ʒݨp,d oSd_?%,]26nKG+]2UeKvISd]%C _\2y.ݫKadϡm+a>kLx &{w0ˤc9.i@Ǧ &?# ٷK33mɾ&ө4?& -&;Y[`qX&cd2.t皫Kvt{\\dK^E-.꒝-tņ# -Ѳ0-0u{7&JL B{14`~ -FN,drt_8LmXa[&z0+ƭjCL>e29>2d oX*CZ&2x[dZfM[%dkh2txd3&kWl2M[|)&{F+Mf[E_{D94v%M˷wtM sώLɟJv ܽdxE e[q2yai78jXd8FmopYzOwˢMb/l]V Yɺ -q.E %ߙy2>X(PT2(cP S^ }^,dܣ@ٱk;g=2P⑗;8emϚ(ɟ@̍ (߶(Rqdȳ=V<>\sϳ2dh<{N`hd>o|2 d֪OvɕEFfr(pg1+e8JwWF}2TT.>8l}d]Ver3Ybʆ\ى{w2(Bf "(x[t4 z?Z{' ((Y( O;udKiw&)%d,N&|u -Lwk jMTɴpV G&cgBGR^fXl2t|^fM)=&M&K>- |l&abtmcO&ca'ƶ&)JJ_br`L.[ZO~8.,8\㰗6ٴʍ6 ha\x%~pLΟ`H(4l2;gvM 6d]_Vh25ۉ3dXd2VI&Íem:dF6\pl2 NÌl2>n:l2 x p`d][`!뿍&c2dHPcL A&ߨWCd2=isod/dee2!뿭6KkiS&L9\x{=dx!#aK{JgKdߧ%ý\2`2ܫßf 7_)m&60/np:"JAfL!nX|Jy-dJa%LɼsJ'2 w/X2T*?%CH%C ^]2>1{6dxԻ'oYs0dn ObJKr<& %dxK`ep.q_JaᑳKl`bÛ -&C^ڇo7J2k3LO !s}029>j9y4oa7d`T;.F/K2Zt;L-BKll쒔X2]ZU`42tf4cF2h4ߏbYXL3OK,CUh tKƇm29 !SJ١ޒJN5MkvkӾ`:bZR45 *fC{/*f2YǣA%c6 Q% 鱯)3JqE1dxd¾+KL_9?ڟh!,̒14A%{A%]Kk \2{w}̒1*ĒKxԲm%cvnF!_:~’`yx`ɘ}KxmGh`x~%/gN%L%G>= ,fa%/]GqĎ>=XA%l~[0d:|=_Q}P4%-de>.Gt&L -ic&Y& kld2; &eI ivֈ/e28C3L{)3L 02Kѳ8da[YF3LyTrd:9EL -]љa2g!…BηEL7uIwM.27IL˺5 3dPa3!VͲ6ܧma2DUr즁 JϦDK2&2!|>*2d$aPE0$aR{~ϭf _ d fLM-da|s`4(,'aĒi6C͍)#̯X2 rfL3g]S~Tff4Q!nrɴtb%;=_K*R?dhYkK٩#᮴-1+m ˔Si&$%cE˂1ЍrZܒKUpXki&fZ%ٷ{4K\ KL'7m F{x\2f(X,mua*h\kik,6C.ޱuqɘ(˛\2Vdx}f_9 BY-\2f .elI5miw07%66oa24dq̊;d1\B 03+GI0e\虥Fhې`2f&c{ȁM4k} 3M-dCo?X mz[ɘuK6xB1ci2n)'t5Nnc439s(h2fh2f;XZa{l2Gɘ el2f<'O8dQ9έMK4Ҿ-dG&c6Gso&c&3}L1Mlb&L.ikWFt1W,Lci{+w-lMl΁&ct+dC&cy3MLVU1ii7'A;'I&c$cD1Ckɘmh]sdi&ɭi&c6n"fj hiƒML?;z (й6'.d1Ca~CMrr>d䍞Ԧf -s3NLހw s9!AxgqN̶$q-v, =d5ie /A,o~3MQVl1/8öfzPq2f"4h?J9dGՒM xIy{9d)'>h -:erYX -`ˉ -:m\ɘ!,6y=_ ?=*|q3M(d8G+N&Nƨ<*p2\ p5NQ(dU8e%NY-لyVd8%@EdU:gNDNfYyVd:%NdNYyVd:gNdNYyVdU:GNYYVd9t2*̳J'M:e^t2{$fɘݘ/R i! øՀ̲Ep20|b" -`Y42փ%0L6Eq2˼\,lؙVrIŠY6lE,*'2PM:e=0A'캹F:e dq gzY潙Ofȴē1{;dyb,6ޙe5>fwm e [,;9YQ}Pf[fPfl)ed m$(LN8=3Pf_[\ w%f2o2^ ->n'쬓YĮ8߿>e_-dt؝'T-d@I zߒOfPfE`[Gʞ+-e]̲[(LFJ223Q@CJuO8De־"e)ԂPfً9"Y&e:[,{tb2NɵHYKKDe3 Y$Y(cm(ٿ A(ř(lF2flSТQfђQf|<'̢/2fnQfi,Qfmr(Lfl&d1+-fei،T5(=i0eoZL~lY6eq0e{Zȿ|2˰G?Y)2B`RfNc2f/nH0)i%p_߬itW2V9^[Z \Z`H6lRʘ|E~V,ˤYmR7Y) "Nŕ{-1e]2WHLsp,mcqpʘuْSfYSf\ANnYNgnvr C3#E1Ejpʘ}Sfͧ́)c޸-1euk;2XzI -_ S wa,Ĕ1;)f1PKHEC7 e̴Rf>pH3mWyeB*3RƈmZBʘ Rf$:f̗-eVS2nr2ng>ZRʘ'jI)L&ۢ1轲R:Je]A)cv&1Y)ctV2fX2 JgX EPʘ7L#>w,.l )cv1;OW?fd1ZܒQ[(c6.۞`@1{/D4z6=[ʘa"Y(cUH)i `4PH\vG=Z4@@}2ed}i 1'c*fq(CĪ'ct, <#b<խVK<3$w4LY'c$0] 'c"_Eak'Lނ\sO\S$~Jo\LN%ɷ-d;N4frv 43;dul&cvd2G5h&c&ز>eĶ|([ɘ2'42k?7drLqQh2& xL[ -nC8ؾh&C$n{(M/M{@!Z QշL32!n` ٫ye26H~M2J4A&Go~M2Ygc$)HMd2e,ßSL6^L_8d'd=-7dXkiu !Tc4ً,;'L[C ٳykp4:~v3d]T[46i&Bq`2~$i$뤄\2rl.{~s0d^\2p[X2d)h]CKlrb4c#̒1zL߹GuA%c$I%c*fT2fLX`VɘzE%caڤi&U2f'Zt>8[Rɘ}J[-d5|<# 4;tPɘ}1ҼU2fCw%1CH>L7rWKƌ[bɘ}KX2f_|`ɘ}5Ł%cՂW8djK쫄 -,mG,kƬ19Jl4d2}_T2fP*3*3[6dMؖ6!h)ii~D1 ]uo%c}G̒1QIz$lm1ieb,Y2&@g"5Kf̒1+q,,e;k"zJf:Z-*swlG4%oIfѸ؍=db٧lK&eh35Z2L2;xs!dvJXhE4=&el9 $z6v[4d6ܦF/+M2nvl;AIfC &]BM@#C1$ckI2^V9'"gyV2=I$i56A$ =x5I20_D2"mVD2NZ\9)mq ;Hƹލ":<`NA$º$L3NGi9I밎A$ K*dȮ_7 )#M)d* ρ-dir۶ u8 3 @0pnq/dd'5doH2d7/6dfd2:A>&UxQE2LV<0bLgdP|geT]&m N/0c]f[(GhJi>d[KG <擄&yFe<"L5Za6Gl1Ljכ$l`[,dɘm6_YpFm2r>pl6&h N 'l?']#NL&1)Sˮ4&C$aC"MHL(`+zɐ2Ȱ'4TdZ] }*95!p/!l -FL0$K䛮' ٷ{#d=hI)"dc!{rO%dx;^mqɐ)!U\2 hɶdH5ddQaKDɐ3b K3dgP1(292d'JTd! F.dȺO J6[ %C&#{'Lsw7ddrw6#TE%z_Q%C>~G ӿNJRɐK*~,dfcԤ!'EL5J*29lnsA%Cva Y%Ӭ{1VT4EL:X2D3d ,f^^X2F2uaٍmd~`díY%c]0Љ7?JlWռ%ى:BeȺ= (#{q1{!q@ɘgF4˃JL[\-dXT2fw/ -*3>s}^ ILofɘ!v+drn4& Kٻ1S=rĒ1;q^`ɘɑIT6d~Ē1:dL (ۋKq9d̴’!{Vg[TK 11d.T2xliVɘ92dLnP2f2t٩58LŖP2fr{1~%cN1mbI%L+ZRɘ,Jr%(e=َ@ɻ -(eZBɘ閏%l3d̮&%c;`q@m %L.$0'.|W%2`[\ 5.2/%sT2d(9dp ҃ٯl}@4%6!dvwP2˼F`F,dͭ %uhFɘs"2d=ֵ7d.}"JfmvgPɘ< 72nT2fi]2JfٰJq;O\6[R,{aPɘJf}RɘלT20d=fĒiw^q!V`,{mQ`ɘ}Kf"KlV,٬YJLD,*es{\@tg1θNlT2PUJƨ6&En_ꌎa *(&e\D.>o$a1⑭n${I'Yo$#bFU^OO w'e]IF4i.J20Cn~%$#HF j$F{ .b$#[b$K6d'_enF2b$#{O,q.A`@HDHF Mddզ;ņoiۅddEHFgKCdvKvW!Y-Mdd#|n$41}t#,$#cr+&95(Ȍ)8fHTd@8{dDcDIFvEb%rݧĀ+Q`]b@zxS/=S'3W⮗rJ2ØW/3z0l2Øf zFY, +| EfXטARxV=Xe6EfX-24%a@0iRD'3 Hx H!Uf8ꆓ S]dE޲( c^hYXWtIxlB(%l[w!fPԆ|lBYPצ3p,,ՇpT-k) c#BI.:䍍8:Ðij_D$9a`P>M>s:pp1UUgz4Eg8Y#Lp.FdT'^T*3 UV>̰\fNfXu.MIdUdU2̰͝\Bߨs_eMeSKV?$tNfX}*3K%Ǽ ;a9LUh^lӱ ;TZtl2êART]eՍ3>zVUb̰z_ǎcV\I?]-^l]H;aR +%p0P0G i'5OE/5TT]19FnrrvZZPS6^#wj CQ8Wa!^kM3]Ǯ5}),01V]kA||Nk mصv7(ZÐ}/5*K kRƾ2W᪄{]0*iӺsZØղgNkbh"Pi ]"ooq)vZq/*cZ7;:vaTN3Wjb*yyaK*)i˔:NyaC@ %OE.7^9T.a}.7DQƲIsc.jY%ɏa0r $**ϓ-^p[6K1*)* +!DSp0e NpYLzRIL^(#[%5Da2dURcQvP]07psXU}Z *BT]M~Z.6^0fQH#/8]Bc:7oLX裮a;aT:'j8 1]:NqʜP|8 ^Ysb0/H 8 a)y'8 %IMzal:AȕNqL0*ڐz|,RIn8t۵]i?:;0,àI%ǝn+AM>nyaTHcSFD(H%0:]qXH;/alֵ]qk 4蟑6sN$| KqÐ$o 0O亅LSwwUƞP~ Oa 6D9`{ðFz4k@NI_L X42m'yHv cF#ԸP0d(-9ü0t %c;^8A݅p+CwCfa!)c0q+c3FOaܒ(~2;a(Va芠^11CsXE;06l@9 J9v0gvZuh+d9val̂]sX aJUsaN+Us8|~7;/:*RC^tMӱc` afrnvúRP-DzYWTuA0 ':&:0X$a&7bT)a}jNtXwIwêar\]Eeɓw +aqE3eՋíKMndzDѿa*:|Uu8h !n1!H<TU=g{cw@\~>NAUtX%0j[ '/è=dNtCJtlèg:SFDtLxQFmLB |pе<'QWak䫖ѩ-찖hNvbQdQ" :6aE1j'; l q)i[;::VaJ4a0Ve :F%H:y%T)bVAvG0ʼ(WE0Y/:t&D>([DQ/spċWwVC~%mڋ(\oWaT H]Ru(Hw`dWa :Ur87!"9`܍aaJCIx4mWaul2 yF_=.8PN8p'8 }H^pmHj> Np wê^ k NpX 0%{a Xw6k8a4V '6Up8^ 4Oé~X)#`6sB~ĖWa|ǒ+C/3<>8a6(]Q cx \Zg/NqKQK8aTt@ 20&_+MZG)Q#n*=sل ]raρNsS~a5f/3A2V9(C6t*r5zawvUs`gMFIz:aķk^^s8}\ҮNsO2A5ՎMs~o%f1KCYuPwFɐ~^rX % KkLbNr">5ZZʨg@5z kC[pk-U=5;I+zisè)X5ݗB:':e s{sU9zbWְ~k;06\((T1T"*OSmɫ`PS< 2߫SF +2`NI:\gWKaÈr-Q?_u+Bu!M":a,I b?[ejץ": oWMŒ˳hwSFDEA: +>'SW>k>1Fnè3ֵfW{]찶L7dtfd/;CL&0^$S)lFI+ƱaNv .0 +$aIvκMvX2J,PҫcOH|3`:@Bu8m@z::Bݪ,SΪ(ю*NuXSFcfi&;z݁BvID(Bt(ױsl2t6ߜ0j Nl?Wal#bǨ;$$ì]^x%n%2u0 d&6qUxqTBi*< :fv^c< B봇L/L=ppdtP xrjOC{5t5rqúxrVj =+ʊ0ݻ9MpXKcw'uXI0"JcCoh.=t +إQ'aM2uWapVaŢ :^{]B)>崇Q* ş0*bŇg8*>̶BW$Pw)"C#EsNƤËmBFAU|X0,Yƶ]iŇ[6U|pcʙūp-za`9q{aυ5j9aʷ` I]m!34U~Xز\E})d N}XZL̩U9^C}B^̪> LbëclS>ԇAnQéc,@j2.˱Bv0+cP](`O۔}Wamy;Q;aq~j @-리$-[. H +ڪYk8 +ĨH|N+2et +Ę| U&B9 +gd[S K6;ad@|Ʉ9Ϥӝp͡8 - 6yU8`sIks)M;bpJ}JT1nIϘ[L^uvX3 T$QNDIkr 1v; Ĉv@:btT$WbMųXS Θ!a-]RI(ulW b,IL8{#*?4Q2#{MXK-e 4B"h Ntk"B ]ŋ1Gg!Zh7TF $I&MXa7ÒcAe1 L… YND;)ŋ1ʃ@%SCZ[*gcAKKK0x%ʖ֖`l8SIu@Ѵ$2NZl!DC-þBꀖfUX6.UymƫkC0Zd!CT`wG4͖̠KG +֭W#K)o*~m̆`J+2s@.k'z<űv`I;:z6ˤ&/Q"ܐwMДڀjyD@œDu&@ O !{ě҉j(^zDڲv B*l!7vE3EWakDA<^Uae9愭uo@n3UZm" UZsrZBՔT +MQ/}E V]k,}Nj7fRًZg4s[u2YtU^Ϊbk^.2H9M6pMc' Rcӵ6LUmlة5k dvS$Mv(cK *ftf4K50yF)[AQؔN^|q9ik`cjVN͒O:!:ik^!֛ 3Wik`rN2N>'m LYjwxL$ek@)>vZɎM<uM{ 9eki,6J~RI[WJ[W,\@tڛ,oMNZ[K5Y ӱ::$p4;i}U2f씭I;ܹ*m5K[c7'?}'m b;(:6ik ̎>'naQ-hע.&n 8Щ[GCp؉[k&n yrZ YNڿ,tl2M+X Wk;0 +jt p@(-d=ߑ8$C0e[z\ԏR&vࢅ3gTFvk:kzXQ {bP#`):AU Puq ,iPLe'x.+^r:It@ǰt2(n5@,qiBY +Lz\U/Xd,v6j-)cl7@imXn5KN`(Jvڗ#!Q:_/aªtb,S\0,YSZV7!>` ~ +uz֦*~*^pzA (2XS[_^nP8AS0,:6DE޸djk3G>RòAiy*}H6Su)]k0Pgc +P ~`cp2ճ:'Tdr*s[ +2+Ik0!&Z^j"[` @ElT,h#Ly+(+;^8Q%cBG6Zr +=.TnTY:UM: z.tny̾0#s]S^)z y#VO2MZ? . -PrץX-Ń^N`b5OK' +uXeS^{KkP-Vb-Gi544K#fUѡRF`S,H8l۹NWr:[X@leyn= -T@Y`[Z x ~!iJoK'00~7[A&J DP2VG +}M{{7VIr+N`35>NzѰ`ż0nBȏNmê v&UCEkKT*TZ8Q S|R2\t$Z_ ?}O( ~(d(T(#婾z; sч"w?4 M塽 Wp&?ޝ˄O"׻S}=r=7Gw\_\o_#׻9r;#ۣ9r;#ۣ9r;#*#W_MȅHm\+G,C*r9ǯ9T#כs}{zso\^#כ=r97DwGzzso\}A_\푫YWs?˥ Cеb]G**v;ǯYWT_]oͱݹ;v;c_]_]_]3zz?}5v=ǮؕΨݥw +]hh̋V쓡kH Bכs|s]S}Czw]o͹!t{ ]No<o4շG_֛7xC!Z9׃կ P_TooT8nR0jY\x ^RS +V⿨Nc1H *4Ҋ]9X z?04JvAO߾;q~"8m>? fXװ.!~ Y;?E_ʲEȟO/?e%, (zƷ| +Op\)Ϗ.}"r ?@u"?E|~,!|[O[~plYSB.X'鲠oo$?|~,jf ?O0{=^Iӟ\gLunӟ\Lmӟ\LXᄃs'U?|kP#yϼ1K'BϞ_?{2&q 5?SV>o<ӧu>Ο>_mbUOE=_-bOW ?}X)ӿ]"铿YSŢVC['5>_-bOW˫?}?}XPJO/P{ѓ9<\'^?\/?{QԵ$9 3rmďxgSW}sI\xqw?qt 4{~AR/gȐ-A&y!%38e/c?_ 3_*]te۞ُ^NbO>W&Sͺd-rܵ?3@*rw"w?ݏ zܟ€mNKzQIeGw |Gw"8A8{Mws! $a{M'=JG#w~D{N( BI?=w|hoO'ǩU)xè[m8K_yIFQ|Eq+Ί4%/n*Nrg}%xMg ~!+MgVj-yW{N +"'/N}I0(I_9iJÿ6iyqIKCO\U[ +j +_?}ZiG Rz-Ij=*LBKeZuKG=0oWk~@%D͘$T^B2q eszj[˸;ij>,L>bEBvgx:h$*ԘXHu|2%jk60y^C(/}dBIreb#jWg݆8Byqd뱌(b"J +:l% ők|bBTer쭏WXwtO'ba^1o,>| QPCi<1*fTrV V`ULnI kEGR +9ŜG!e84}1|.Yi;,3ULeO|"G&hPx^H˵,!m(KQ|IVWT;ؐE.'p%2'F.#k! fIb&V'ԡ LL™X@ႩH)a2{ݸ/%+-!KHә| kI e⭗R`9 C eyb9B1u <ϖP> xJ!k]kX/ y &q͂%L$#7V1+*oX7kiS)P49NIWWY{*b/u_ؠdk%ḛ$G:+\TZRt6|Xj䝧.Q H6P^I -ޘ<^IYѪq[F$$0(RN +@I/; }(6 ũ5K; 'NhHyzwB6Pkb&uĠY?Eh] +A<]W ~5N !2~녣m Zm1(?l޸'ׯ ;v1pEfa;Oia-$_!i˔Ǒ"$m\`-di:26 3 =}{԰XM'cI`"Xm;@uy+05{r [@c23yz'Wi  ̩^0i')HGp1Oj4fq MlhXڈ@i$i#DיEeF$X) Qu*̛jBzwOٓc@Sl(hח/z6!h4(6 M(B<t'ArxD h)/5oD@f{j}<` W7"$wa |nbr}*<9$%xLr1xLh&t̮r6e<"n0yd)yprysaj9C֍9 :$÷i@vi<=LՍyP5h"a|Ѡhpp +U4 sN|B XSyYXPL"_͆y$:!jp*ϲ 8+27]y@PwrkH԰-+aFy22所$E4 i69&q*dՓoAx-ˌo!Dl%d D@y:c]l"PXfu^JV" bO{2*7" 8ujH+ncD1g{Lpy&1%scQf1ٶEy(C/D&ğ%%|7ʇaPh|!r]4@^+nGu)F$9Ɔ%|$2~UY652{\OzpGwG$᜘'[D_\% 2w+/-OHʟPÙ;V7 \00@ș|MPy dIp`sɬ+46 ed]j9`$́- bHUfH1/qs _9F$ܧ8$@XWFW7}sbm#2t.Scr=w&$NHRȍ۸86]7T9V(1+2'|I,z)<g+S,m@@<!-D @u`"EXdcF!cE90lE^7Sy Q +G$@ned~s@J"rf9Lҍe8XHs +t:9@ED<(<ؕy5Jqg|21r%R>;#gϮ__k6U$JjSłc7 +bN,+|g%"j:ܮvh1} 7:Z;hrg붦[rf K |V +|>l8U >Gamnj>QRMCC1*n}Ras?mrx̪~.Y#tlrPb sLyL G XYa6$,sI5rS?":+|/_?XF'A`|#R>%4Wէ3AS,g)AlZfOl4U @&EC$/^AS8C7+0nw_-53ZKѡ6R$*V'OD+2Fxh|W!q&M:C` +CEfb_̧d(& X2|/tNk/yt%<2{??b G'_9Fb~>1 IZ4 aGp SjpImMcIէ8dE2%d`fɻaUr/4c +[\3WdjLbާla^?Ҡ:kʖ˘` k[C %?,ͼ1%iے,6nS ~)y'̧)"ux(qK% ,ɧ2-r`h׈l  C79n)>ʩTK +<}$Q.[_0&uw6UwBbUaF + gCC| F`4~_}&uk +VvUsu@ Z}j>+: \9 _AeOe(AEYTta;f &״2-B^d`;p`,2W +0t 9 +0U$-}uhDy + 3u#X>:-3؟<PAb I6smr}0*v2VETܬTN@Zcm2y SlqFc1*A9boT.q2;PuHgyȃC+hqych=ɁF=m!,uԴu7~o-(eޖ`d +͔D!9dʿ8F$&؀h)VoƖ*zsg'Ml ͧ |";KC0 +'`[PDn]*`I~&n{(oLK.,iIlV,Rؽt]ahGKgńc'iHyl ƊZ?&pji`KLvGE `WfxŅ(O[kC,,VU2Njən9`  PL.9[ib[bE5wՎqbWK: (VϹT(OfĮv bfSf䲸jbuI 2o&@'XPhi &PcB̎/ޮ`i  ɻZڂhEոmif7]v1bI]b$PjDv3b2 +㼅-.*@Uha VLi$ i_03bdn.@Lrb\$G5OĆ}@a Ve5ť/tLZ:b+Xm}V}- N WA\XU)..X=ا!.}Ģ<\Mm%ɸQݪظa j0a\xt]`KYxSBW-mİ@n*X~Aۂ )D+XbWP~)ZR[~i`_K"8{%XK#qW)4YBK[0:;(|5PG!{j m&SMZ%SM +y7z/r(ic_d|IW rkJZIr [2$3/;!<Ar{rdX@B{v+V΅ (-MGVBlB[+WaaLBr\_$Mtp+t&g.Av::Ȁ|iP*x3qlkSJsL@If cUmŢcЇ+T ={;@IUO<{(xS[kmx* X-'` + =SakOXƹGO$⑾ta6칀`׋#I=bsl7! 2shY> 9 2-z*0t +6kA<LM䩀`d%vx.0L% Xfs}Rz.y'kzb1"\s0$jc8* H5}~ + )@M#UdT@i<,[  ""EX{&0lE\~昀`t<<YN3geL@a= ߰N` $ $`4 zաv)RLS:"*r{0[''@Ei{/icu67"XR<lԍ܍"<] oD@rޠ^Fϐ@ŊS'#(k؈׸ ăm=E<YlBBeMkԺF{m.sb$$h@ X B= h׆d h1 0K)쨥H(+dye[(@\ٽՍ&Q6{4-?Ιq%~bȤؤ tzc2mUB$!&? hZOl>\l-j՗,/).7ɠ0ry5xk2yk jM6!3jXɞeMFCX&d+5ل̦a&ۡiచMVw rd>;aN6iְ=ŝlbau'9,d;xt8d67ĦUMo2.՛lba&]Vk2C.՛-d.7ĦMfzMl:5dl&tqX&6]Vo2.ślBa&W9o2̩YL6![pd3Lf4qpdL613qpd3&#t:cY_3&{]MgL&ު&5(8k2æ&88kr&3l88k9Ml396m3lG9Ml5a&d6Κlbf 6Κlb7fM61xpdMgM61[[&dΚ̰&f.ΚlbZ4MVk Y&d7جɈML6!kud3Lfppd3L61IdML613qpdML61sqpdkV3ad9M\39u^bM61v};k2&88kx&3l3ل9Mꫜ3as9Ml3a79Ml3 +]z-d3ř̐i:M-L61sqpdE%k3!\\Rֲ;gYs&3,[As&y;d>pL61vpds&3h:;8gu Y3a9MMΘ̠i&V+jLflud3gMFV\&fΚ0I -}Bѱ96I3İqld%؜&fΙ̰&*Lfxpd3ajM6A)bMfX+pd7aMf47oɧ&xXɈ9AjN6i񰚓vY46 +pB8k2b)&3lB8k2âE8k2æ)jMfpd1ܬ bA՚0XufMfԊtd2r-ږ-dloMf)_d%5ajfMfX2gMfشpdͱy6"7ay + ^Kh@(uMfXMfX엾eKaQzM bMfqd!}x6A7Qy6-%7aRy6-%7aqymmv҂`hXƊ͚XC=-΍ jMfTmhX&+:{H8 +͚̰6Za-=L[Ɉ4tmcIρzr0+Ŝ̰\-d^ih h۳%SfNFvX V# k Wh@Ϝ9a2yun1'3LxmRVs2՜0KIY ôi\yjx@< N+՝0cs'#z9w2. ՝̰lE`Ν0csY k(?6{2Ævnd @Lץ՞̰) +Ξ̰bZ3Ξ0l9V{2f'#v{_d\;@fk7.p:{2z'#1ik~Oz5qd΅gOfX1]YgOfǎ'3hX'#da6=a~lda aOf7{2bUٓwOfX1OftpdaTZ2bM?c'3,['3LL3Օ׷V2bvŠ̰b]Π̰fAa5 ]A!ZfPfXf4u?Ab! ˑ +Π̰ڨı!A1ݜFXp0՟PTYc'3,\ٓ$3,ݓ#=a(# B= +΍ Þ1jOf8ӱٓfs5'#rI;s2$Y٘@3'3lagK;h@=%;aݪ͜;Ƥss'3uB\#ΛP ӧ~ldu6s2bؙfNfX\ude--UJt;o298o2b:h6< =4;7՛0x7aھ545-5aAuldir/ yJzUcucLfXkΙXM |Wg2brzެdA،u 镬dMRgLf h5&3 4 ++ (96c2`<< (\86c2bdfLf|̲Vc2bh!jLfXcBK9&. 55siA0l$9o2b23Qoy5Û0MHn@b[dJKԞ`&3:k2vrldi5Aǝ51.d$ev6͕XFU>Ֆ>bC՗z<|ɈuKX@=ƻlCRi'Ɉc%#Ԧ%cEv>ŗP즞ɈfKFBhK$V|Ɉ];6c2b҉c2Ő~k Ӟ+,dj2>,N=RaQF͢ 5l8^X!2ؓ ~X:,E X/,ʮz[u(;hҳ[[ɧWaQ-z(C-NEY#nQPLCE=&t{xɔjO2d{zլ+:=<Z ~Q&<\(eeޢgnQ/ѰE?5=-F]fQ&󕤂aڗ92|ҒgYEY;,"(^#veBJӾY[RaQ&Yd15ݢ"MdЃ;^a Z &e&4E{p)^m.eTa֥RηCz)2q4D]hI[ݥ 3&eȦR&eIZ;(K7AxXKP8sme|>62$ +w? 9e<eܬ/p(CaTnQx<,P,`4aQVDoe24iY6EY 2yW:ne2HӾYar`L*yդ CADؙrPL:eMg;:&eҡ0)mn[IY^ע62,Mͣ (X=MXy<$W=Q&W 9n+^(л7z!9Oդ |dL2H*roRƝpI:2$9iuz1"gte + g(Դ6Oǥ(S]Σ KQ%P50 PfӧMΡK$Aqms(pUc(pz,4ŢL!EY/#;2dfl9N_~LfQXSYrt4qeZ98EtY>w:a Bet}-y%S ʀIDܠJP9e5(âǐ0gJFLf`uceԊWOՓؐ_IfZ?'bڡm`/2YL R[c3%#t >GT7cñf-Γ͓X2OQZgkΔduL̥hp;gJFL%:)aѷf5%#d:& >G[9S2 :UGgJfXS l\ +DZUC+$sq%3H9WdIJ +;[26[2b >_-:W[26%3s%#$vTq/9W2bz(\ X%+av-bYdsdͺPgKF2^tdMEgKFLqld2wdXrld]i%3%#炤%3(+!ޕ̠lڵΕ̰ؕ\ɈUJfy6;S2I:W2bmvm:W2ê)o:W2b4)LJfX6mJJfXcs%#$sv@`#3%3kfJX9gs%3L؏͕0rO˕ص\ +\ &lɈٯڒTq\ V\ɈDh5U P=z;W2I7y-Y] |WW2 +1(nt8W2Êm;W2úm)9W2bʹju%3l.9[296[2b =3k([zڒVMq6LUm Wc2Ð*\ fLFL0M9&DGjMf6yȲsY;fMfw66k2bZTJ[ (͚̠ r&#Cg2WLfi2MeںÛlB{M7d{Mvܛ&d&7d*?MFOɾ`MvڧIk2ޚʱ[6#dT;ɬ߂5ɝWdV_Y% g}ߧ3_81|iMdɠc~5^&3yd}VZd,^F?ot' `NfeM$t 9YjtPzaN&œpdқL1 4IyeJ|֛LBd֮ҚDT{|ޚko*w&k +ʜL&p~ͯ9X4' _+{Q'l=|̼d {2k|iO=YKz$/od`E+ЩzʟlvϿ'3Wd;@k{)EʞL_(dS=Y.ۗdI_ؓUz d2yNL;}NmNVMz/ɚiF- + Ma$)qJj*|)#'xB'AcX&%dV&;Dg]0dkƒd-YgrkO&ugQg7cg{?dw8kp2YUqe>+NbYkѫdRg6+_6٢Yl/qCd Óɨ ߯v=d=Mv|G8DKx'HLcU&[ySeKW&=Mvb.-#Ue2Ul8ddnt\U&z(LvDdS LFʜ*Le&в +}hYxK=Le&shY>d/Zd-0هUC +L=޹dYV]2oeɠ%ÆҖ%olFǒQ#JRKf{;l*K&F˒]UXÎ t,٪5;L6'%3Qtx[O>w(Wě(PCk(ESIRŪI^*I6'6&مHF݌]#aga/qqr*\+$»$Hk$>7:o&lFטdv$hI%iHŎt$/uT?dhZ +*IF7:WdjznnH2Vi*I&ǭFOee$O$|(Q@zmPE$52zcQ[[&Uo$,%xp*g̪I&OGkǼ?dLubd2&=|,(jhEɴxhQ2l@Gd+=JƝ]Y%?dz_*2a%3nOI%۟ s,JTzU% JΣEɨ,@a_Ps.4V7b%odhAn+SQwEdWiXBɤP>Z zEPp([Aɶ;*/-A2*uбnT2(רdSNJ6ehU)FͶ|+ufժdRmKFM=elrhT2= QxA&r[h2T2-MF=CB &;6uhh2e[hyӆ& Jɴ A*?W +ljl8Mܺhdt#ol2)M_;& l8^KC*6W5d#bZ dj AHd2ZlcdE+d[>'bKUu2js:}lyEKz/= .8lA'{4:]%[y#1O:YXoͫd,,ټ e, %;d}?Y/,+W\%[?1B!"z..+.LpвKUiXtn%Rn%(UlGO4nByuɶF2%DLu0KwdSct0٤2{Uղ$Q3U&;͢ɸv TIp솬0ś*+]pB"LMo&>Fxe}Eqvpe&*%㈆'܋0̼}g|KVvɨs%6;UlśK .7;CqpFZtxziQ\2dQd\G}k%t*sXxɾ*Q'i"}Ӗ&cdUh2@d%]+4o*2=`2F2}Zd"߀ײL6!AdLDaɸTVhLvJY&-$L[[_zԫdq^d̍ɋL5S̜ \n,&L&=VU˒Lc[ Ldie2j{x8{*% m ),d[{Eod?WKZ XLH)& +ϥ1)1:0PU|i&phVlc6PXvɨGFK4}KFKoi⒭U)dԛ0bdpQ~ +Oq~)L-.J MK6VvV>XpjKFf6p%8%<>쒭G}Ւqmr2KSf+o%4r>Gz%yM2#-2}wsÑBm0q%Zh:*n,LF?@9tw& !w%JwP`2؊LɸȶW&b?2d;a0}g0+h`],,02!, +Lv ք=do`2"z&dzd; qLCs &bSN0O=Nɘ&ΩU,2}aNƓ<ŹzFɤ+R+> u2Vfqcd /w:3Tl/ǓU!&oKF+Zy}}21nmXO& 胟s@Ok +/o< ydaR +Վ"I;P&V//HE9ǹ,cA(y2>Gʸ\N).~eοpeAcPv +CWJPv:ELOB^';~>?)^ίg\|2>hBO';p̑';e%K%d' \ο`)x2qO)<*[L<gEbV?dRrqDoNJN|NƆ%Y'HQ-8dRn0N&fAN&I'l}Ϩ'U\L:{L"7NGlmQN_4d+l24ܖh%MmolSjsa6,^n:ul2}l2QPO:7 7WFx§,py=Xx= 83:'Q +X!o?p2>Y 8o {\NFJM s%~%8_ 8[[REDF'1Pɨ5E|{Q'SR-ɸt1NƏݷDzx̋:)˒I:6Mnf_t:U5 :jp%d<&EL6y㤓(8X6E}ɨpUN=-!y; 8y%FQ'}tuC.6>*OvȀdadlCUv'e|DN(1/l@?nI(JtAw" e|.RlHBХbe02%\U=xϘ %Wx5P;8l];9Lvn`Gv{GHԼ\|DLO`93j."c`ʄߨC@`F粢x0sV9S=k)lrh"S&y0Iez9 6|y)2u]U s)춮e$ޕ[Pdd +PGIvJT&َHPFc?OS^q/@eqǢp8#Ndt=2h8;S-\DL"})B KŻ`j]U] Pd( Ae[Tt T&CeV]5Iòp8@ a$I&3(|526)&ieS&g)Z;;0eȖ<^ϔa?/V2ɜ2ɨ2)C)LD$0eX4R(eQrA)CD7쭿2LXؖ۷]5(ee-0HHl@$yl'HA!(NL0ʐ"eͷ0d0ʐ5R]ϩ|@ʐ!ex9VM4a|2dX@F12dLs@D47}2Dr['C>Ê ='X#^o1PL2@2aeNw@\uF ʐHD2&)<a5#e-d-Zm&dȤzē!{77 j/d~2z4 'ӌ#d蹊!cɐV<"F4M'Cv0ɐGʐwLg?(ÿjLP6*qc_(R e;@Ui_L_(~~ mgw 'OI듍\L<>O6l>47d#x2=d˓dF5:فD=:';pɤ{:> dɴ_deVNJt<٩=<ky2dx Z';qyЖ'=e-OF[˓8Md|2~Œ|~;l8O+yVy2dz(}Qd\d?dNw>١5Z(k J2zK`k2-ZeVWhʶTLV';OJdpŖ'CN''[iOthy2dSODv> Wd'@:lT~V'cAb:=>4:udF|~N'5'qLɎUdk|2V;*Oet9;o2>{e5.:놎2JeԮm2D!D2+e/e6!V +sULÍ(;6Ss5FoeVey5N-( eXBeVٻAʴeuS(GQf(1 Qf:'Ul?#[_xl茲 "QfU;nRS Qne(; MG]V;l9eܗ1CRG:*MuF_Vx7ʨqշW2PlQ 3ʤ=ZmQ.쌲acz!6-feI(۸OD*q[!x#I etM?e<ÁwP2V૫Dټ/6W: 9C ([Nm{tD";k{BR6=Qƻi +Q+k2@&j2(PC-Z#ʬvGQQF ebV(\#PlF( E(VY_Jʨ߃Y'qYBSQīeV2MGKQ{HCѧOCY%ʬy%ʨ9.pb({?F(C!^([udޢPv]?S7VT|/ Bv]턲M luB٦kTPgN/8~ +e,e2?zl)N(uZ +e\ mʨN(?bX9kBʔܧG˔]A>ʔ}SsrN=P:evֲS6o8eM-6N|2))ຊScʨǦ5LO딭&mN7PUO|* +TFoPfzqDb)Äq1,чW2z>a)KTr?2Wa[F ̔Qx)[֠j2z ┝qqʾy)q̔QrN)f+SӥH)۩o){ϼ5LkRT2hԪ 8+#e<Ÿ}_C푁UwC~E۱[2+!e|^@Q2zKl|\ݳI!Gl1o񂔝Ԙ`|E.L.ctF5~,ej]|&]MllHM~)!J)[YO,(k )[jY@[m2{q #e\‚^K^VRF)P̔QkHYfʸ:6):h SF74 ojLVSqEs|)*L qeD)EV2>ffl(3e=Y2+LW2eJϔ8LQkkƢQcG]+͒R㕘2IYr7yj(etwsQ6,N)뢔8AP+TlQ @)!f[B6{aBvRm/Hȭ^fQWmKQdpvH;!et*R6yxp[S-["ec +Ri1XFAPE6ߙ29,O)bs΁%lc +*.)92 ^ em)yhN_AxC AL)r> 6iW7nvMBʰCn2zl,!e"xWEʰgjXFxZBʨ󾔄Q,NE)T272ec8Sݺ S˲L”=lXbʨaN,LW[2^S/1ez +dh\Yb@>/L^.JJtJWnwnrTB5S=1lxJg|F0d^^~C>BOGS(SCM@Op ӢBp eҕQ*y ^ jP&)Maʄ/}pA% ێqD21鄁 PkKt%_}#O&02OƓsKXR <lQ۶JyMҎ'} y265yL8Tjf_x2W0d ; _ɤBM])ϓMi#^Fx2H5V4':=@t2@xdbdؠIφzzL:6d1<3N&#ot 'ESq2Y1 ) 'nYm2ȬDed]& !Y}6D`zCzL2:E&^ w0 6zJ+!Rd$ _ _yl—Zm):2[pG1Jx'CMˍdȸ)Oɐh:d&CF"#L&J}d% yk! ^$t-d&CfhDp=I%l_M3sg ]MQ2D-ѣdY6Jl.#Wɐ˝ F&JL,pb]πxL"zVT2dYeBPɐ|ҩd#dȸ&D!{V֝J&B7>!/U2d *2c+d莺#nXs(dbl@ɐiKP2do,dȤ~;^ĽQ2dV"dnOL2do &dLI7mVx+d|r&Ê }= 'sy $;5I&ٳ_I3+2L2d&C3/!8%/!;sɐԮɾ D{rVH^$i0HlA$Cw"jz gE2du"F r"  O#D2D|^$ s{?r^v?`ntD2deɐ1Ho$ ٴ4=t#dt@2dn0 "oO{dێȐ=>3H&-3#dȨX;g j#A$C xL3"!;l"iF7pr$CvoݯI2 \,$Cl5ĽM2,%L $UIwD@`(C%Oi2u:d&s-$f>ILʖ +YI2dT/I2x|$C&~ʮM;v~|4o$;x4,);?"21["f?"2zLI +("A%ѪA%Cv:U2J8T2l*dNEJ:c@4ztƣdx2DϒiFݲdn;X2ͦn= ,f ,w_g4z\`$ca@Ժl%Lj]Ē![",5~U8fX2ds`4۵:X`4!3JϣdZW+dٚtPɐZLaP2n=Q2D|0^q1ivzV@ɐH(ff=JٳP2d׫xLeJ٭[Jû%ӌ9Jw"X[7 z Q2^uȣd#ϛd G24M#s$LńI}HjiVڙdqd] f8I&N24 o%vx =Q'dVJe7GR43:d*FNLKGb%ܙFG@4}H*f4EcU2d# IS?i +bk9J٣vJL6@IZl'dFi%CFjG4o,L3ϡd=5!{l'dm:(fv8dѽ/ȣd=(s-|qIyLIvIKK?/5~M_,e&ٯIc}دIkkd&ٛd&ٯIj:-o6 %C%_%%(+%Ӆɿ %QROQ~T $*كT*JƷ%c%CV%TU;Jּ)JF/L7]*LJv.8Mשd׆L*V%P"UTA?Vt/J=8lӪdz4UNsT2&֢dE-ߠdFoQ KJvbEx@(moQ2LF3bI'Әd#IF- ,jIv2L2љdniM@iLG7(nQ2-۩d3*ٍJU:WV +J*َOAɰGPՠdUdC,%ӽI Kv4We>9z{% g&*ZLw4( *Jf[Lj(٥U:CgjJc͉IY#nN$Hvz4"JkD2UHfg:1"uu"S"X׀dAɨC ɮGlQHF}EQHɮS<^ чYA21FDG&N_Ӊd|HjH;Hvh)N$I$7~[E2&2H{2Hqыd\_Ա,Z6H6рd٤h fɸe$WLw ٪LGɦуdn2HZ+ڀd(߂dφ9$?dx0 ƝHvhN$}݊dtW`1dGq2I\cH2A +>d:6"٦B:0 ЈdQl.8 БdV#veft"پ`4؉dDi^$U$oN$uъd|D2ThE2鱎^$Jc4"~c݉dt@1iDケېdSvO$_%N;;בd|+u WK݋ISū*qhUD2j4"yBlD2,eI$̔F$/߫"E*:4"}I[v$٩*I&ӂx$(J$EW;Eˎ$Ifǽ:CN=IƎ J8^K%ɸ\J{${t"d7&$l9BmY2 Iv$v!N6ؑdtC$=V%f"ђdB}C,hI2 ЉmH2l-IF9VI$[G*@RQ*ɳT^I%ɨH&`*Tڈd}\# $7 *If+>U$]E$mm.وdoQF$:VADDV wfTlXh8yG0f#;adzzdS5 S9fÑxsU#;ѥFvhi#.`-FF-Z02zlmP02jH:-FFobdת*F-7(ıI]^#u* S[&Jy obdk'`dǬٵYPYc6Y-wͫȾϲZdEF ̂GYezg+.j}=&~bDlEE#0E64Z17L#;l02ꠝK`dTNTL]1ǽFƳ?x{#_rR12+ Iȸ$NTl:3hdfT4ى-F&ceMz +FF}S FSȨ!ѡ_jյyavcpgKE@h,23>EF٭$W^4Zdf,}{zm=j#F'#>q-F4Nw7[12\8V0oڲk;QS52{tCctuIWFv+^# F0G[>νrdq>zdX#a|g#|ꑝ)7&}J fNGF@UmG=VѲGFce݋GF uGQ'GpVUs^$e@S|aɨs=G +X<2@ [NjGƖ׃#cKk-⑱|)GCS4(Z=2qڮrdԣPrdYQv^W^42Y#ZֻȨ7U#gzw&z՗>XF6W[J)P527,jdpd FF MFvm6^52>qW U#Q mt?ȞR6cIom!pÑ}ÕqQ+ #)}b0:lj>o@ qdS|Z o Gv"2G[.{gkZxZ#CxdJ$_n* +pd3ʑQߝ[qdtK^<)gl(;:~%FGÊ9:],,qQ<0мxd6yd7oX=2/]<2aZe#_aq]0GS'GƅqxdFzzdb甫GƷb#;@mS萾G7'wOMzdR#<26YȸBj"Nl2Y7ы[5bNC͑52jBlEȀ*:UF2cA}KQ7$;l;c ,id1hIv+IoF#cS$82DϨ̑}92$_s#+y*jKg<8O;C#ȒZIG&:5 A2Vfqcd; gp;H_$l~&55I& +Ws›d0-Sɛdr[үat]08o=O$ò,&CJG倾\3 ;T͛dUKh*M&UוI{{1xM C#dgiXYA%&8\PYjA%Nٞ"&A%;Ps A%5.A%;dn@.HSqF$5G$Gb~~p%BK&|"0wi%EqKvkow6X2ga3T`$ḙ=K&+)zxL2 +\S4!ӎx$c=fk2dϻd2dE.Jw9 /%CbGa2^vY&ӌBsLf#dY]d&ӗr΀`2}6 `2}_#dl_ OdAdcd2|{S&q>![Igh[ vKKsGP߻d^_u" w]2QPppO cK&ǸzLiX3%&dQag Ja’!n] ,4p\2ɾ) IR\A&g%8xL2"ED@9yLZ@(dEdR-f&[%r6lm6dx-ӯ,O`IN&]j&IDžp8tJ'㌾J'ޏjǹ; [ +82dͯRsɤdn= +[e!dO-ϓqp;~=y2GwOY'm{;Efk>E2넰x2eJ<osLpqg*|]vP_~es\eH@m{m)@i0"7"P&'ލy(2A*23UJ2w#e»RFʰg@: e\.Mdp8o;2Lo /2ɾ +q(]w_@aGa>QƙQ&tB $߭I dH=}$LT2v<^F"0 +x:z],ᥤ<` 0^#$ OQ& uR ʰeRHIDrT $+RJaKǃWu%ex'H4GnQֹL2> 7$z;NYuɐ6 : k +!B [c} O- o˚ݏ8p%dzȐؠ@w 'C>Ol: >2cvɐ.q>.0< >@ɐV\4d=JW[!{"'a1Ons>+b gHǃW=4O \'mQ0en @2O`K3(C&kĐƎ8+EU!{P_Bc逰,@d1!uUp[KpmOL hJ,d 3 O _wɐ񞴢qDW:wj5d.=zx2D%v?ēih!Ne@з9d֗f\'CFUL' u,|2dհOFcifOxB!U!coNg2SF?.e)һJxd8Yd!>EOfQjdZ̢'2(C}2,E'4k}2:d',>&!{q&{2:̲(+4k2:̲ +ie%s@ePfYieu@YPfYYeu@EPfYie9r@EPfYieu@ePfY!2:^=e@ePfYieu@ePY Yeu@ePY Yeu@fPfQYe@ePfYY`s4S(4k2:̲(Ө,2: \t;euBePY+Y euBfPfY'i +euBePY+Y euBfPfY#i +euBePY'Y euBfO BePY+Y ez̲*i euBePY+Y eoZ̲N(Ӭ,k2Z̲N(4j2:LV(4j2:̲N(ӬʐBePY'Y eBePfكe@f-PfYieu@f-Pfo (Ӭ,2Z̲ E{PY YeZL(4k2L(4k2:̢(Ӭ,2ZL(4k2d=PfYieu@f +#e@ePY ieɤ`4k2Z̲(Ӭ4k2~,k2I@f-PfYiD C"ezL3|2:L3 (Ӭ4k2h\eu@f-PJ6^KRL(CeiFOH5x+L(Ӭ4k2Z2.6P F4!^K2"exieQCƵD&H@f5@d4e"Bff$Le2dS:#eDfBTh eMU1Q\P CPwpi-j  EԌsI2vg,I>q^4~o:'fit k$L3K<2aq Bfp«D Ȏ d2Oi4QX Ff|+uA4(Hf'7#!e1MJd;6ˍi$HJf=߀itq2d&H]rL3lLJfJ2f`O;^30e1egʐq$L]LniF= 1eava'fxLÀ@¤ c2>NO=i3ϔi 8ٚoptp4d*߁N! ]h.=TUPf P'$]8Y}$L3)7T&v89ZHv{*C;*ӌ.$|,*ӈ6<2GH:f(CIc^VeeRTy5۲w!@ + Qhq$ [+eȸ`NG!pHDwD3}#e2(C D4K ʐ[QS2d!Q2(C +Dgč/g +8/!zs ٻe(9P5exؿ6QoQ9emi(CrI`^sEKղXW#PHD*k [1e eȦDx╟[ D2WNDf#eك)eޕ)Oi$S#e; + #3#eW +lphv'4Y(+?wrDFm2}wv8QSyb1Eoۑ2v-p2m202-(2mY; ez/F%yLo+2U=RA)T4(eڀt?=ܡ"ߕ2mlCPʴYA)FRy)![<=R~ŏ9 ;hgRϟ]=nʼR&+#2X/@+e3x%w!}I2t]m7,Oez =ljJzJrthI)űYP$ZI^);L@2`^)F(۔21Uў8J2x7S&zLSƏS4BopMwʸ@N<LTy{ːL3Ȕ #S&6wLVi)CnȔ=R0eL-h2 J52~SRvJGl_4AJU)cOI4Ho2{b^GVAd~ض eR +{Bxc +{'|@D[O]HX]uDd'5qg{@Kpݪr[Bha +RKe`4JMN{aʰIt7,0eٴRFm9}% iOL29+eISŰR1Lv2-feqr|n)윶c!0e_YZ8`-U%~ )L꧝)h:R&=.L2?ʼx3bG@$oLYISXHD\'Rٱ<( en`sgd~_ +[`x쐊&}Dʨ}>/'㌫֬0P r>z9.؅ %$~SyBHOJBsD`Sv DfR(3eG Q LQ2 b{d >/%eKFʨ)Ol kx'p`P6onHBzeN(oo*I(Bv9 +e\":E(SdPz# g%I(F(`=F(Nx׆u,QPv6uPeP&|ҾlP(BWߏ"v(z$%ĠL'b-sI(]ND_eMD^(nk$(քH,(㭃oqd{:!e;>|(Խ@dQF@LF^F )]À~#R&"nHFbFǠ_#FlZ2^xD.;2suQW}fKW] +Qv{ќ2^5- elW8OBg) e׃?I(nkʤ+>}2'sGtv8h +Pv F8R-e(7\2GֱLBgY0ٯ:_: eI(]HBOISȜP{,& e.PFѽ]zI(1C`-(jQ\}NDg4 e@m q&^(Ĝw8y&7r4@'نqvNe|2Τ>OkU뮅QO]x'ܖ+ '/f xݎ7Nsv؝p2ΤX >qv 62NƝ<>c0dэC:g=NƙDI8Grx23У8ESjuWmTDLX%ddVSxg&.aQMƑ4PZM&f &CK/.d&CF=j,g E>9 }qL2j('`@!{'1MlgG># s/4ӊ %ݱ$!*nɐsQ&Z 22#Jf8n墂L L7^&CI#dȾe2dJl2^yѾH879İqƩϧL3V62[ @#oivވ`!{`i&l2dS;difM< G.q@ +2foI&CFL VM~q ֭lٌc. 'CN6LKk{ |(p2֮ͦ8] LC LG+ L- (teɐ[N٩CN\P3d)c'"'CGpmwzL[KP ٱ.dG4c\i'C6W-)|2x؞\Dc|i @2.2L4 W4uїn@fa5|2hԊqhd[Uڭ*'Vv8%Q2^i1^i1^i1^i1^i1LmHWڭ$ً6$ً6$ً6$ٗuvuvuvuvuvuv̜${${j7&6&6&6&UehHmHÜ݆${݆${-݆${4$auvvvvvvv+Iq$LB}n%>id[Hڭ$هVsRH-&VsvIY$lT&cvIR$UcvI1$76I2$J}n%Y}I٭$BŢX&>fd[I2 +H1$, +-|qAҭEteCuGGV b;v>Szd|@֫G#N? }n-ىddt C>Kd[E2xhDҭ"VCd[Eҭ""kVt+HY$, +}nɜ[@2gY$snɜ[H2gY$sn!ɜ[H2ga$sn1ɨ#?hIRat(e湠d5D*JP+(»((B d oYP2sѠdgӺdoŏj-\b$e$Vsn 2Iy$]ᗲc$[, y~>.d[E>XY>.d[E2U[/}\n%^.d[E˭"Vl9"}^nɸ,vUrHܪ"V+^XE@l`"*J*"ي:(FE$[sU$s0WE2,sщd|Fe"Se,cU$X"}*nɾZU$T*}*n>d[Eŭ$هVCq+J%[pCEVVel=@b}3IFw&Wd_Aj\,L1^d}[I$هVCp+I$.cA&(k +IrADY$ `ӲHh; ?Je@>䶊d_QJ}m%tp$gV֬$ƄF=Iꑚ$[$}_zd+d IFny$7ywb{V%֓eZ{=VI2p$WjчwK($9ZdS[I2jy}t$Wd<{*˕I2I2~LSDWIE$smU$[">*L?H2:ZV{el&щdiZYl!K"Wdh +cY$sl6j/pE$QU$5f$H"95d`N$֑V$\E2L*"ɨ H"Q.8y$Ci$J?W $׭[&x&7X%q WLdGA +}Tk614 g6Lj$$F mrZɾ$}ef]]@MJ@ W.d\AJŒx:/H_${,Tƺ4Ə%pPBGy#قl#`Ȩg}ydtR<2^F!myǑѳJQ?~U+{d;_ Q2UdlA2,wf$ʭe-Oq dRw5t,d<@٬ @B +HEV>ێ+d4*zHɎInrct١O#;6Zht}۲0‘-mtG|, TT7:қ;#cQqj<2"#q?u8 Gt/cy])‹)Z@[ʘ%l]-w;惧Qeq @gزSODJ? ."GF-[&v%ZQpd+lQ.1sd\ ˌ#`_Ex#xd46ubxb8<2.?xB=2_6>$d{VĒHvX؈d[I$AK"ٍMȒHF#v6dI$}(\S˜$MU[H"ʹ_K"ݜE2Ofle$060L%a +dxdl~[H&'&n,qn,@|ԥ <$ߢ#::2 0<2<>#CF-8Lh]ȐR#C#ydx0skH_za0@2ͬ>aC%$Ѫ@$RLe;u@2HɴoHf݂@2l3cNh$CFꄂ3`.;QHl^icCx!t6xd~U{dh[- 2W#(K }92m  YRL[ǸRϑ!۔p $`ᳯ52D4ӌM!; aY~Bz OV>k_(q42dK<ik4_#C>Pvz*<GlSL#CwLvFС^WM:ϥ]:G&wk}QaY%/D}882,~lv=:2G&]^zt6x?vd3j1~t+@X3r"9 c L!hx@GQ#'uG|z`8^, T:vO:LRxl\# +Y92=H^ #㣹NcG`a 4]Jk}Q#E-I$rMOm'O~Ju\#u78x02@w~a;Zd[#-2$vE)EϢEƧ"Lȸ4?=]?/gtYd2i>H~x"r块&,23 +~|yǂcd| lA# a*@vAãot{F&wЅ\l∜[$[ߪX#{&?F$;o] }gs$L2}1}t] ٢'F6;˗Z#ëmͽВ}?kCZ02'|$cgU, fpy42\/M#g3"09FvȞX0Z-C}*42f熦cd2 ٔʰ;z #2}{Vad_Sad2tP`eHe Gx@z39T 4=t$`dF& C7^`sܙ-VGl'I$< -NSL"Y5!2༕*D&DELfȰ4UȰ%gq9,,L>!?C&.=6s d8UJ͝;4H dԘ/2H߷eC&Jl!nnGr& ++7 $/lL d= gA>1 +$wxLwXs +S#1dcB9!)r!Cy`$oI!B-";`&)@dn߀%xL2Ӝ 2d׆)AdqzFȐNv${@ƅעrtDm^pj$ =<(sSk cC[_,{ J!Cr[IF- {;.!w{ s=JIFC2(2da 2D^kQȐ=Z= dwP0ȐIg`3Ȑݛn po C2d\Y4WȐ5 + +b2d?Ņ2N9z#kC ϐ!0+ǐ! =CLPc! :~1dO < c2D4V1FtY!{~OP$m2DLPȐv+d_ +2d2d!Crۑ!ӮwB$VמGȐm [!ÀVZb$ ٜ˥;e  !C%O˾d:I!#*dd"!bŸZ +2N^!CFÆk+dȘm2ddN +2T0>p7(dˡ㽠!CB] + +f\B;Ek2DyJxO+oGur^4!~S4a2d%]/p5 dm|G4q;dQ`!lP04"zxy al}@ȐMU2dSHS `!W fvο'BA2 k|A!>Coe2d+WImqhOmWDiFw(2^}Qd>|Sd4tȐG@iƫa8^gEl@ivp(23v"&"CS76n4&1E3#QdX{L@i|V4}"C6q'L3Y"3"5J@2n ej78,'#QKYT%~wr7Yϴ#`dUgFLQ0i `d=̀)Cz5bdʺ0@u!Xd=,2egZ 4)r Y:L  {zt< T-#`d=02euY#SY#FcFgZdKzY#S#G3G3mY:0zd~)T#YWFL٧:Ou<uaȔ});B5pd=OeG'hdNגF\v?8zd=vyO(jSa[yh7N6#?^<2 G}?oҒGGb'Y}#GmȑyxagCR#g> +g6"9rd'h#Cu3pdP[x>92dZs&5pd>vG֓,ȑan#i>3 Fc5Rd-á"Ñ@{rxKKu@F<%Xd ),2DٝF :oy|V02fQ<뛑F]ÿw1@tw[U#/z#y$6'΂]7<2-=20%{d mfGj(<2{K zI#CcVK!*ad KT6202?Sقؐ=2^c#ÍW #a #Ce=$Le$F/#CYv:#P>ad6!6n1erȰS # +#ôg>&i3FfDZx#[PF|N*}IMf.~>!cفv`~CvxN9E'щ!=fZ O7CWf=1dv.M +ك_2[2Ȝ{ ]jfptr6s^79dڛB,:dvlfr6},pvއ(Ca Da_1&lC\W!@ao:CA2 - Cf#[& x ٷX\0d6{^m e!CⓉ!]ɉ%lߖ>d}M .= ]鼎 V!mĐĐnѬ\2Z92/2)dhrV(dfBv;I!;74+d +}LGd|B(3\ToT0^eRlb㻭gA!{!Ca]de T2<̼x )dcԘ=)dX3Bf'; esA!RVyRV]"YPPm,0d>J!ݎ~Gk2C^8difv!#z?1r2_&=E !& 7N 8OQVaɏcc#DM/ wC/o= yvkӻ1H\Ȑy3% ѽy|P~@y~P"cf"lȸ>M `dZ@Ėz]Fl([Ș*qlk=hu*`dTထ)CzGȔFL//-Lwi #ӇDŽ"럗X`1>IbؘT>. clKYZS ,pu^2\5Zd:>axڇR`1mt21xR̨1φQ#YYȘAտ11Lg #c$cf +H (P|9 j5 1rgw\ dn4ɘW&WL2]&dLlHґE2fva 1H퍿HKNZl#Hr"@2f̞q!&cDW}1Gyv&1SWxn#HqAQɘmi;iTȮE1⵳%Yo@2F/a)jHٝemgaS9+d{E2fvٟ}oҒHV.6kI$cvP d̾E 1oTt=g4Be?хcTL %;H;;]5IB8dl==JwA2F{o;@2fv>G{G©ލ&xdXdz36rd]*1AQȘ7rddȘ8ɱ0đ1?#cvIϋ){[G^1DD}sȔ-A#1ZGȘm}GnȔy KK? 342f"!hdn1>wȘ}chȔB1F5 W@<Ί͎o 02f/S 7LG Wٹ.En $*GwLqd1kus]7Xds`1QE 'NX9OwGLrfȘxq[ynȘBȔWKG0 > D)mE̾]> >+ ?2= 3FB eȔ!1Zd_MȔw1;OL:>;]KF 3/W"N0{1GjmȔJ3FLYշ6rd^˃Fƈ{KGA#cI!?Q#Sfaw bȔq,42ώW2L)U$hd^9A#c稃mqu42fvS|%L٩A#cF%L١A#S:hd̜[Ȕid£ELѡA#Sv߬ 42eJFU]xȘ}!A#SvfȘ=جBlȔjJ42ej12F<ɿ#Svh02e妀yvPK2oF  3{];#Svc_Ȕj02f[ߩ:bd.>";"cfdvGr>Xd;-jȘʽEx,2eOjLٹ:,pdK 3V#G.FL5-qdn'vMJ $ +\ITI2΂$SwIiU Ķ$S3$&قCM2ojlJL\EEjTdIf_I?BeE=Ƕ$v,' +5d٣,mjWdv%B"+u+@[+HhcR٧upSd귅?xdjaUydvKlyC.<2ϝ٭%#QoGkUKLUG@GD ٽ =+A$P[3H֫w leY>=2_=ȆVrdUB%l;km+[W~s7Ző/V٥u#y Y#C 5yY#[يrVkdh#E82t^[͑]\|42;v̬R٬-'wXT])+ +>S`d+,0T6cd?l~PٌjM*1*+0**1T6ad˶EsfltʲEj"c5iIVQdv"[ȠP7)2/?j%Ev D!5Sd}߭z"\G!iB!2t~䛛!2Z ^]Cdf"^>z2KP)S, f^0eBƢZ!+(2|blDr߭fȜiC߄1;d^a \ 2|G+޸`{#53dX+2+!t萯`fD22;iG!aœff|Ud !yء'füjT?@d@[@dt!CmxϒCf_ ̮U̙ᤡ(:;d?6<lD&:vk,9d1oo!c*ٍ<߫گ3DvDƽU"[yc!2 hue̋? .%B?&op?%lɿȾׅDf 2;.mDf>( 2xVDv>0D; GDԍhR77Cd6lxs2Adv(5DUWD HVBd\k%Dn>".!2i)!2X[)ai_K!losh!aDvzD+%2;c8,$2l$ .Kd7R"{f.(Kd'GDi⫅D% mF05sd6r;Mݼ1sdGoXpd_ς#;`?;ٯ]vZ-}N-- ݺz]Gڰ^xdv|,<2OGvbiyf#.OʢGviGjrG2'6ydd"`HfsN^J3Hܽ~pZy G +ѢE26tmHfH7pK"Oqyɼ"v.Y$s(W컸dcׅHJ^nf JFX[iy<g6 Z@Ac2O3d(a>v,d Dߥv&~LijI5b_$C罗7$IfSftnI *lp0D6$øW/%d]2dx̺%N(*kJ>jXdvZ&~Wfν?R)`2/0[gf.u3L\Fg.z3d;osas=dXG[Vdӱ,-'hLfk .T|P2rֶY&?0 AV0]7d^E3Lcl|zh tɠJ&C22v{0Z&CNyɰ@_$7rגd2^XdмJ&O9Lvךe2;/LvV%h0d}YdY9d^DE9bɞ6drQɐ= e2d +LM{;d69%n͆xWEUn|&=Wm2 M6فSfɎg *=1d(@bP{!o|8̣|`2Pf/2ec@l2P~m#g l 7 e(d, CM[22d6 eq'P:]bo xL~)r :e+J|Xcŗ2xhfFv vF.B(SPIQM+exY(aXxB}B(CHWϲP6p2$dX8AMBvJ <K+2\pdO@t6=Z2yVf =e;~$}\e~خJ(1wҟBف +W Zgϫ&L\&;eWF2TߺUf&@/Pf8a&{; (0eva B":| +ladlf B 7qHS6KB$h +5 ex͋7XaY}Not!d8It<7KJ~<v~3ē2&O -].OӋM ݑ'շ Ws#Ovpˊ-dmp2$(v1{o܉+P`M3d"e|&Bkɐ6M{iZ,#Mp|l2,Aۇ-dxtyw7|߇&óyGM ;2l17o7up>,kdJ MFuc8gݟtvg|>p 4w}}&CfG & +]O= 0*ug`2T)d/&sL.0[ɰGkdž]Xɰ#=x6_V&CMPMu_,Mv&}Mc6M*T lD {lal2|sɰ, }ZF u_{PfaWM'W +]&0*ym2<}&eIF4ZQI 4f$$dv=X%ipXU^%2|Ԙh2pHG,K,Mf1́Mva je.8NɰHh&]4LvynTE/5y=&&_ v` 5W'Nm,}ݛY|"+5L>WnJ0eؤxÍ!CT -rLf"&sos&dךfɆ-dk`!o!dڂ) (a$|̕d>v|[lxJ$d^Ŷw/dؓgNI&II&Tj$LM* X2YeC&.J ' oͥHa>%d؆u؈vl2ߺUЌӮ+QHa{6٨3@ޯ7&C'u-d$Mji2I#M}~@MnM7M42H}7 pV{rF نQ,H9m_ͦ#Mi {q.d>۲A&sP܆b݃LS7s3=b b<۠pd2/xaǗ y~c@'-dEk>/daU 9d +3̳gK2 +],e2M2gV\lo'S|~E<~8 +i2Nno& ׇ"5d +GvԮ&d!)$i%NRY6vI}[[ y%\+c~ +(C#bgl;5([e+ @[@.BݖxY(3 ecV@ٍR'뭽*p>;>}bQ];K_ +[eT>ٹqݾ$9Udw.}2[(|a-jWdG]ešJ([t,2V@ݾx.E *.kG2PfDTyJ2lkPv'lUj7@YonRdz' O̓aJlɼkQy}'[ ǟ|c#';ߴ'@̓~ <*ЋckO\,>)l[d'xN>aÛ]u2PX\ᓡ'H}Ezc' +&߭>s&*|2T3wN>]2'>U>* (@ʤfl9)2k2!pT^ +(s +( [Z@Y>[X>٪Z'! +USdϥʊ'^L+|] O='T>٦E'Mɰ6Ο}27ZCVdiV>ٮzO|!02d2&l=* Vd >@Z-3>s|2UnO]}2x,>vS}2.> arʨKkӄ'F[,x2I:t ;cN[=I'EI'qWN:]:م%6ըN;78 +l @'"c'S.'ۻ=dgHel\Oj%Nv=w7&o`؏4 [I-6q9d:2پJ-d2teo> P0jeΟ7dhʑ ^*WSdGU0ٯ j+aSQQhLf#m,`2 G:hLe&C5&;D3d[ZdǪLLuW+a2qKD}o& ّ_a2}rե^@=هOY!u2׷ +ieu2g˅LL}L|$} ŝX.LG2~-afl=Mdf\;0d]~ahf*Vd6F`%T%m\,d}$Wd6{\՛s%s탾Xp3;KkRd^FJfkrɾƝKf];fW;d%p8iKp-'g6>ddտL A1dhpl=0v3L6@h&}KXtP%%frɰo2dE.p4ÅKf3[هeC%;kivr̮'}%;U.]2KbȄe%3KvWdb3KgalU6dδ=sfF%X#[d7N_*&JV7'iKbY%SJ%JXf [փYV *ҿB%EI% ZRi mRɆyzw]I%hBP3se{=dϿM2O'OIeⵓGfgI$ag N"#$Y?n*n&}d^s{޵(.|gL<5JVdф(`f e.>z>d2\ +lP2B{:O(*{5P2=y7d5`B_, %C-&UdXp]@в}E#dΆUJ؈JjGP2^&Q2d62͖7~zەX[Rp+%3a4dh׾@,? Ћ)g@Ek@`F̻dJ杷ķ_划ypA3d;`[tf`@3odٰ RjjM-d;q~g&CFFlPu&~L86jd2Tv srd ;׮&+U4 20"65d߶a]{V{ w[m;N`IOI#dxtfEMVKG]26h%LA% \[a`[]pMvr06&;I0/;a2 (B#`24d|^g=Z0@?~204 >Lq&CN[bmL:9&`0w/.SlHw>dNǽM.aK ]2\9y|"{p|tc_%!KÛ *H {~~q'&>73`2{ L~_(@Ii8,(yvװ)3o|8b:Lӊ݁L +!E 4GX4gTsl7 @%dhm'̳wIi2klGyR 4g@y^A2GvA'I& +kW˾J Syf39{ =۷ޖ#d e2( %#M](X#BN}(OGGeLA%Cd2 "L'e2^(q'^ͮ8 +vW[ɘ kO-dPe2Ϯo*d̠~1˗>&cvڵg1&^&cfWtyz#Li9da2Mc2d`.\2pImdp`ɘ6/l#Kb/Ē1[." 6y%c ;%dG0"e2fe2f-dUhBɔeQ&cFѻ, 0g£#dʾ1[c1JjW@'1ެ1;7dP\2fok%ct-5d8!M03B#L SIbg{g'&c%_dqz +1&Sfmɘva2fTɔ]}>2dvpZɔ=џLƊ[K0S-]Ko +. m&ٍ_+pwftɘ='LV~KE{70^y .g\2ep){} *MJo +*3{T2e)ӊU2eLnQ%StiXT2f0L١fA%S5ڠ1jy@uwDف*)fTɔ]QT2e_WK*> *3t?20 |%̳sA97^nZRɔg/αBPɔJ*2LN4eG44 *?/dn=*3GT2eB>2d d8 u)s)%ٵSPɔ dng +*{Q)g)dz ~Pɘ=}bPɔ6[v+XP2EJJJ1T2eJ P2oU@ɔ+'%SZBɘ4%Sّ#JW)!oK(3=IxIkP2euDhْIh_;d`)ۓI ꊣIlW`):[8d0߻4N&28wK&KxI Qiipag1dʎ2(2UL֙Ismi`I45(@K(2>kQ2f6zxQ2e6'L٩톣JG)x5 $@-d>m$ɔ]{H)Æ fhd(ƽ%g@lNWdRd6#Vd6[[>4ɎMXa_dMIJvq4ԫdMMu4IΤ&YQdd +?dve!e6dE$T$vZf egIVd^<`ާ4nYPCJaO%Vd%[+P2;z6d;?$c!im!G-0ɴDTzTd6v$fVd;*٭J%{¨R0T2'Z%;YTd|Pd7 KLm*?a$o$ƒ$ú$$$ ${¬ɼɎUA%H&S`lDBͨ5l̯Lmɾ#}#1#/ֱnlH6W{d%,mPUicoه({dc#ZT َIA2;x z_ +$;̹Ïw)/e?= =$1 m'~U }~KG2H{A2t6d6dGb#/˅Gf㴫g#{V>FMˋ;'켸Pdk\dvh&]zJY%!SnVɾhJO׈sM,;,p,]e6:3Kxof4ܫ\2%lKG^av+].flez+]2nUkK[d6*t1d 8Ba>~` M2SX'\JfxLvo +%g r2ݕUO4dkQLeִULYkE#A4o^;d#i26K45 +i2JoM~Muh[A>^Kloo;% *5[A@?;2MfN8~*&[q9&âv,d(d܌ S'ۗlPr'C1j{Mһw,dx*6q'Ct2{v,d q].:J֯3d^cŗ}ceg "L@S&%C5PNy5PΓOxm f+ v|_k';Pa!7dvg+3 x2@Rn靀+>o*' S|k.{2I=ex+ t, +e7ѷB(oPN@ +̆8e{ +l{s2v/I&Ðd&)v- N>\w%4d6\[ؓ`ﱰMc[a FM_dv&ۖSNҒ '{&f&1{m2ҲZG Ǥ^ 6bMLnҏ&;@!h^'(a>'i7M2,oӾ,t B`>(Ii&շ <p8[vYկ*d`c2dHPvA&c A&7ץc?^ɯ:d|[̆"e|%Y!G j3d5d%]7g ,.Q +,> ,~-&ó +>i`u 0ӖhbK&0_.܇^KD F&ghH +K{7P#ik%/%̩=9묒a.ç Jvx΅蒡hH%C #d;cȋaw ̳KO>at| +1dq!7%CMPKu_,Kv%}|)8/[G.>T0>|8Pqwu|:i0"=dx&u_;yf-nɐw\2^d!w.g7 .{aĒydRW%̮=|ґ%ɠ~?eYbX2ψ2?-d]C XFoX2.ڷdG?5dm~K;[Rd +Ȓ1,ޚ&d :dkU`ɘ}!KwwĒC_Y2fI,-ۖX2f" +1d1&[ٷDX2۫%Ul]8r5Ēy<}5?dZóyvsX`x}yl`x:,ZA%lcJ,g*kNhtxu~.dPa#`2V:d~A&ۀ`2ޖ_M0g;jRFo<4dm2d~k=69&F)~#le4d~G%}N00@g{§0ttF#v ]2DQصm% A]]K MR%.tƌ.2vh$\2dv/fٰM*׮-#LJU9.EYhI&@å ήd}Dd2To n0ݿu&C)֗?5d~޷ &C +sofU"W.26KM8 O lp0_\dtx~Λ蒑cL ]jo6Ua2! &Z@7 v$ +w}x^ϝ٭5d^fK]jX2/`d<[ipɜ{ד\2~"K5xW\2ϰs[FF.gmE̳gK* +]U2ljiS56\sqS5L%9;xV̳%X2p}Xs`<(,'aĒyvۇpӦ`H0Zb<3d8KOK2O-72#K}sK楣#|+3TUV?dhRUy;H+m >0|zvc\2CK\2VԾ,I.]qOn -dK^ML͚n`2f&'6.Gv#%Ȏ.3Ľik0cpɘn8`ik].Յoȹƛb3;Z'ن<%cE ϣg$W6dz@h%?UK̾Q%cq]/RMKӒK 70g4d̶>0Oh &cvt 5dT`2ukIۃ%3K7F!-d[;Lh2 F[ɴCoִ?mz[ɘohmMƌ[ɸ†\4޹9de@q;-F͛Nci\J^MͲ6fi{c&cv&cf,MM)NGGq++*M7Wvݶ#&c&ceA(sڨ{{M4#@@yAx=Ҧ%LK4g6W&cvcM&%3}H1MlMҶWWFt# =xȕ;Ml-lMl Mlí@y43i2f6Ť6._:\83tqzɐ+ip_8-?A;9d.ъm2f'N'c*F8 l2esd1C3=h2F 3OMA'S-]. Sl9Qk1;O :3>垴=X'ξa:Zc[G'q2n)qEGN֣''cTd=*pulr8Y +,E'Y)+qU8ٔ 8Y*g3Nd>>gNֳB'A'SVd=t:R'A'Yɔ:Y*lgNֳJ'SVd=tU:J'ѠzVdJgNֳJ'Y1uU:Y},AϞw5dJgNֳJ'SVd=tU:R'YzVdJgNֳJ'SVd=tU:R'Yz7dzǨɔ:Y*gNzTd=t2fxUdJLYɔ:R':Y +LodJLYɔ4djLVN֣ +'S>dJLY)y-/NֳJ'SVdNzגfh/u2eNƬz< =My>DQ'SVdJLY)+uGX :lߺ[ɔm'޵YVߗ^ؠ1YK:R'SVd*LQd>QJsp#v}KkK8'SVdlt2E}u:dJL~poɔ5ߒN̾rlqi{ɔ<2i'S ~;M-dJLYH|2e\Ɩ|2eH)#נ)Bhɔ){Q'cvaH-L4dv+v!Bg9(-d0|b" +bxktM`&c.?MȾt~#N7 82{b4 [ Є/7(L٭mA'S3] ?dPCͿ7d{`N8G:9.y9֒Nf +<2i'cwɔ);><}2[ɔ~AN>^ |2e~̳wm <"W%ym> <2J}2evzϖ|2eO_)$3dT4x2E'[ɔۻ4x~#Ol5ݖx2e(;zɔIؒv{>d|bK<2p}2f3'S%Lَϩ%Lى꫖2eny @eRʘHPN8=#POg]Ŀ(ShLg@'ctu2%X%vyv'SђO ;tƮԌ>4j'Sy'l$}K>'wK@2d܏=WZʔ PkD)+%(c@!vy'D2B"ǖZʔ" 1{12evP¥%LDyNEL.-eN|P>joPluۤQ(ӿAPř(SvF2flSТQȮ֒Q̾gQFپjQ0ʔd2e*QFl'M(c6eG~ٙ_vi@b3RwL/{,`4 (S6eq0ekؿ2e){w ꃗQ)Sagر|KJ$ݱ)L`wſQ)7Z^r48lؠ1Λ)ˠ)mRl7Q)SNř{l-1eʎSS2e63[rʔ1:eB~ntʘ];wL:u,#[؎/')c +Ń)c޸-1eNLg,y)cI;1eʠ-1e̶b-k`ʔ]l2F~j )St=R-!elAcDʘy;o+MR2FlR --!e 1*elm)RGʨ) (e]nI)cF%L jI)cf{d + +|x2e]A)cvMXA)cf7dGѵ1(e+(eUs"(eދ)".-!e̶- e#Rƌb2^ܒQꏆQ>:IOn DW}!PѳݒP ydB +>e|FJlOsmH@#{sN2fuk (!eֻ*#P"Gx}2Fh"+퍓4_x4@'V>mc\+m.׶Zɘ-O晝M2F]* 8/ +38g^ϟ{@H863{K4o[ɘ=wh2윽ٱ6d؁&˖h2f y=A 43lb8iWl'NEaM̦7N88`ɐ٢Hy1Ii<PM 4g/ +;@!Z8ؾmk&Cd=&OMٻӁ&Cf'Z o 2ghPe2d>=2ye26q#5d*Ѭ[L 2Rw2ڜl y/cus؁~Bkɼ;07Gņ,6 0g}˺02.6dauv5dngq1dŦvL͡LYzkp<~v3dyv~$L晍 }udQ%c% +ĒydSAu ,K f-dQ%cdSؠyfX?wT2f7$]J:q dy|ZT2f,% *wP<A%cʄF9d̞ؤ *gv>JlGn0%%׽>d^ՒJ.H϶q:d̾WPɘҼU2fJnI%c>7rWKƌ-d̾M%cf ,l>d̾1jAK+ +Y2~5g%cUBَ#,kƨ19JZ4gU2E _*J ~j@J 鿍*gw%M WJ{4݂b?a52d̾1bю؏u6G][bɘ}GȒ1PIz1K`ɘiXX2eGFLO%cV#KͷĒ){uvdɘٝp&Le)7djRɦb;}(^:L}{0ɔdSs%LL-dƽ%L.$L 5`DAIsW2LoףIscрRsI (^*M2]Uvh{FL73d41I]9$;?H+x,qd^ F0x&9d1 "hƻHq̇a$qQI8h}p,)O")#d膿ssw2 "^D2Pr~$Gz3d>96u "O첤mVA$Cv̧og@2s}Q@ + HghK c%doϙ˪$z@2 ͺq<:V[ro/ 1'vE2f~ F6HzHv#0-dڃ'$5e0E">av4$7 6G̛~ +I涘7&+٪,dfHp>|A$Ã\;g2uo$saۄ +j[lmK+d\ +̎SCȒ=Ў,\:-2KYvY2^*0%Q 2Kfī*Kv{maB^Kgj!5d8.t2K_[9>;=XO$:5diX2~%&mdԢ;FLzi麝v]cȒyf +ZbG3a%Canj%ffmy6W7dj1dvx*gv!;zqlcF3_/;#I%T^KyfY,ǨytvH[>{c)_PɐٵHyp#@!$̏7hg۽X6ddK(2lTyɳ={ۑ?v{xȎ,wFGsAt#Kadڿ~`%C ˊSYjy +׃8Uot]2l{=-&s#Ku3ػ۪w7dX7{р"dGpɰ + DQKګ\2wa%skVdAWv$ K#}'grɰkd2i $.lh;I&âOill#3d8oT& OW7ٸjj +L6|lLe 1x"na2H+bLgdP|ge\]&m \`G]f[( &{єR>d[[&͕ &zAe<"L5Za6GFct;Ljݷ7I2ٍ$rfA&̮+F'qiwh0׶7aW~0 A(ڮOMvcݔh2\ F>dpM%ԣDaґ&<⛲'>W#M}mv8^@Y=`PDeۇcHI}f&thM6&8F'h2*4zǴ&kshMf^MF"ڞ9d7BD,['CfW;MxXVɰ`Rɐ r鎞`2d/2 F :5U0W>wUv/ס5!;/!l +FL0$K' ٷ{#d=hI)"dc!{vO%dx+A6dД|Utɐ. . dT2$5dlR!%dؙg2nKUՙP2d3D lvP2dO'JaP2ـr! M2dg$Q$ ]=dkGxJw\!NuToQU2D਒a=II*2{OJ<4K*25dl~uQ%Z% 6\PɐBBlT<;{1VT<7E̳>X2D}gf<[1?X2zya`&s.ll##3dB.}g͇A%cjޒJlG!^ 2v`daJ^-d̞ސ8d޾3dA%c-T2f[XT2fG^T2f}q̦;1%cf*Cg\hT ,w,gҗK ]Kly%cfG&Q1KKLBo@ɘ}{q`ɘ=d,3d1d_Ց%c-%ccxRkL*/L-*(h (3t=iѩuqo-dNi_;9#JLĒJ+ZRɘ(J$xPɘP);؂JTO %LهX*32>g{2NEJٶhL*ZRɘ}NPɘ9h3. ZT; Ē)S1*JD#gpV* pvmg %c[P2e-ZBɘBJ l;0x{4}JP2e׺=Y8@ɻoLٍ -d|DŽ)3d̎M)劳X{[Bɔ in5) Qut<eanI%c7L]Jy*3`#,>dSӀ)$5ڟLYQ2F[hP2eҭ%SvhDɘs"2du (×[D];J _vie}c[Pɔu1vu *['GZwڞ8 @m:){0dlߓJ}RɘkN*2;/x.*]D ,gP#Npx +,W;KX2e7X2f[*CMFLQ_ *31d 8._%ct/uqv+dPUJtYM2E_LYL2fߚD0ɔ}K&2;yVohM2En$~5O$3<-,H8dʮr()S,1F{_Wg # mP_Ivdߌ($ϦWg1-kv1%>d'yKyDz ܵ\ddi7Ų=9$Lޚ?Ɉrl!YtXlJW]HFfA]dd["Kr@>Flmib$#'F20KI@#ٻ2Ȍ̏$ ;$Fi1EIFfLIFvfG$:їvQ &J2O(6Q-uH 6$M8Fc1 endstream endobj 130 0 obj -185458 +185382 endobj 131 0 obj [129 0 R] @@ -1525,44 +1529,31 @@ endobj endobj 154 0 obj << - /Length1 2828 + /Length1 2532 /Length 156 0 R /Filter /FlateDecode >> stream -xV}lS?w{vl'L'~6MF WJ'шSD74UZ^ -*Ƣn VU֩nX4Mڙ4Uu{Ϲs|O:xXz$2o3M}wdfZj|_ɱcyyo,r4>ӹlfdlW_/M4 - ]C%W>a)e?Cْ/A_ou -p~ - ֡,Md -ٿ?g'黏@ u}r*;*| <` r-|]#|2߇ |oyoBFam 'G/Џk.}^=NwSGw9n-ٷev=ڙY&#4 -=x ހp\k\% /#%X|SrYzNcp -Nq( -a8wC?2du6l2Fxʱ Ii+1O-$PLIѶ )$YJyOad9+Hք+2# -ۊpIWFY8fhwZ\ԛSTF=iCɍC#iW#Z_=3;ikks]TTFS} O)l23>3})Ia]%Lҕw¹ J+zkH+Tt;Pu(}CC -u%q%ƕPtm OJzd50zI,)$-2|¥LߛVCy$ ˾Kɰ:XXX300xX :̇Ese"^:1Va4:{B/~ý'1 - -X15RcD7[ .!Vq?C( cApÕBhD#j$ U"xA #!+˻- :t XpHWw7kM+lk ?6Vt4&_a:C P xߦŘB`r -ٚ1%yMިs66{P> []@F̬1XuDl#A"Zl@`-!ִo_Ky-{gRux+&lSaBTNEܕKPZ. s;oJz?d - >T!nw/7`'y!m$;rd)'iW?U\>nuJ|`u枃QƄSC.8T>Ę{~W/OPm?}2yhL١>Ug==vc&. -G?T*^lcYS|%*f@ {E}9OW1=Z<ǝӠ\R1 bCU!~)4U1x?0r -a r0 G t'> `7<ɣe 0SuF1p["eq3=;7Pv<_$a_.DBezbї诜؍'rG -vtD|R"SKҎLd)K4n+IRvj&; %2ۋ;2Roq|>{dz83ټ -0!~Ƒ7if3 -AjpcmS(fǎ3S_n'PI]E ] 8#wD+ZwQ\kBuk8Oڠ=kɅ\:-kl\ @3( +xVL{wv  gccpX(gHB~ĎP٘`Ie, +(jV]eUUEUMՁ$[uVuSXnMݐRiҺ'U߽w|X|[򒸸 @ s93񟰾?=3pZ +9N3sMI66-isC}4m9|?A_P\oy@0`򅥭s`S GRe= x0@bafĮzX {pހW + /\ m,8 à ]&QDpOCMߣ54=KOC=wd'w;{u2+y!ϓݤ6/ o#p nu؀7u +9Tb \Kp[p)(I82Ad?𐿛"ujb6U+ O9!WV%e>'Qߛ,5}F3v$5>kL~) $e8$mVԸ3::Zš&U H]Jԙ /}Kط˳3_I[/|^R٪{eOq@ptqIEE rLJh8IqhX1#"XE]u dR)d4FR4SC6[o)HbFAoEqaWI#29"I?ً-t {}2lֿ~?03t wu ;qp`j7~_}8N]6ms2bTLӱh{{ plkq˸Z# ;[*@ \$Z*N8P U'>Og8Okz!j  &Z #5c٢`'B؝V 89Px2w짒;,u;9&~xd 't^"k<@D*^#% &&+XH\]]&Ql\Wclӡǹ*`OdT43 Z1tZLFi%rA6E+:u6QHLztOgM]W0"88p?9}uNݡp |jqb<dNՌ^Zc=ܶ)l0{섯4|0Qx.l|F>u#Q"m;EuVM?~`T7x#p7ȳ@LNǷ[0TjFw z^-㹎˳yk{݆9[E0L:4`0yuf|P8> 2Sp(xJL wunɹ],x>3o=HzʘDϗ12`&7ʘGI +tLN2fBe̢>Yʘ2QfX A@m6 *">|GM# .caBIJa>9;Xʹ3xa3p0nYzJEh233.z{C^QQ 'Wg +ԲOfVGSrj*~Uϣ!fSKWI-`M 2Ȼ+t. 7WhQL͝ʪ_!:/My\z!| ,B*> stream -xk```d`b``j +xk```d& endstream endobj 157 0 obj -18 +15 endobj 158 0 obj << @@ -1582,19 +1573,17 @@ endobj /CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> /FontDescriptor 153 0 R /DW 0 -/W [ 0 [365 520 680 500 488 ] ] +/W [ 0 [365 297 500 488 ] ] >> endobj 159 0 obj << /Length 161 0 R /Filter /FlateDecode >> stream -x]j0 y -:!0 Ѕ}VR6sזC -x_%v/V؇3GbV'Ί~'mBp-Nݕ3\68ݤ $$:'8}Wk8ܾQs'H_E(a$. t\O]` \sFݡ5DE<ԉJZ$*N UzqnG3bu.AcוcE^u +x]Pj0+(9Cq ur$d࿯2.tAY͌e]}x+ z0MQ ;],m 8FYh2KngxY,gRKLp;&@I=4NֽrgF>^F%_C W9zn&,nenXmrU"*˫Ȩ&Ȍv%!&u19 "1qg]R^d endstream endobj 161 0 obj -252 +246 endobj 134 0 obj << /Type /Pages @@ -1879,46 +1868,46 @@ xref 0000006805 00000 n 0000006859 00000 n 0000006913 00000 n -0000192449 00000 n -0000192473 00000 n -0000192500 00000 n -0000206667 00000 n -0000206528 00000 n -0000192698 00000 n -0000192953 00000 n -0000199565 00000 n -0000199543 00000 n -0000199663 00000 n -0000199683 00000 n -0000200224 00000 n -0000199842 00000 n -0000200711 00000 n -0000200732 00000 n -0000200984 00000 n -0000202396 00000 n -0000202374 00000 n -0000202483 00000 n -0000202502 00000 n -0000202893 00000 n -0000202662 00000 n -0000203205 00000 n -0000203226 00000 n -0000203482 00000 n -0000205658 00000 n -0000205636 00000 n -0000205754 00000 n -0000205774 00000 n -0000206177 00000 n -0000205934 00000 n -0000206507 00000 n -0000206590 00000 n +0000192373 00000 n +0000192397 00000 n +0000192424 00000 n +0000206329 00000 n +0000206190 00000 n +0000192622 00000 n +0000192877 00000 n +0000199489 00000 n +0000199467 00000 n +0000199587 00000 n +0000199607 00000 n +0000200148 00000 n +0000199766 00000 n +0000200635 00000 n +0000200656 00000 n +0000200908 00000 n +0000202320 00000 n +0000202298 00000 n +0000202407 00000 n +0000202426 00000 n +0000202817 00000 n +0000202586 00000 n +0000203129 00000 n +0000203150 00000 n +0000203406 00000 n +0000205333 00000 n +0000205311 00000 n +0000205426 00000 n +0000205446 00000 n +0000205845 00000 n +0000205606 00000 n +0000206169 00000 n +0000206252 00000 n trailer << /Root 162 0 R /Info 1 0 R - /ID [<14C2A1F13F6AF213AEBA851BE5E253A4> <14C2A1F13F6AF213AEBA851BE5E253A4>] + /ID [<8AD167DBBF43946B4AB11B15FE8DB0BD> <8AD167DBBF43946B4AB11B15FE8DB0BD>] /Size 163 >> startxref -208756 +208418 %%EOF diff --git a/figs/nhexa_comp_multi_body_analytical.png b/figs/nhexa_comp_multi_body_analytical.png index baf2dad..a8a384f 100644 Binary files a/figs/nhexa_comp_multi_body_analytical.png and b/figs/nhexa_comp_multi_body_analytical.png differ diff --git a/figs/nhexa_control_cartesian.pdf b/figs/nhexa_control_cartesian.pdf index 34fc6ea..91058fa 100644 Binary files a/figs/nhexa_control_cartesian.pdf and b/figs/nhexa_control_cartesian.pdf differ diff --git a/figs/nhexa_control_cartesian.png b/figs/nhexa_control_cartesian.png index 74c4b3e..96b05e2 100644 Binary files a/figs/nhexa_control_cartesian.png and b/figs/nhexa_control_cartesian.png differ diff --git a/figs/nhexa_control_cartesian.svg b/figs/nhexa_control_cartesian.svg index 1720810..024e8ff 100644 --- a/figs/nhexa_control_cartesian.svg +++ b/figs/nhexa_control_cartesian.svg @@ -21,16 +21,16 @@ - + - + - + - + @@ -166,7 +166,7 @@ - + diff --git a/figs/nhexa_control_strut.pdf b/figs/nhexa_control_strut.pdf index e7858cc..f5ffdcf 100644 Binary files a/figs/nhexa_control_strut.pdf and b/figs/nhexa_control_strut.pdf differ diff --git a/figs/nhexa_control_strut.png b/figs/nhexa_control_strut.png index dcce9fa..344252f 100644 Binary files a/figs/nhexa_control_strut.png and b/figs/nhexa_control_strut.png differ diff --git a/figs/nhexa_control_strut.svg b/figs/nhexa_control_strut.svg index 81c5f8a..250c8d0 100644 --- a/figs/nhexa_control_strut.svg +++ b/figs/nhexa_control_strut.svg @@ -33,16 +33,16 @@ - + - + - + - + @@ -148,7 +148,7 @@ - + diff --git a/figs/nhexa_decentralized_hac_iff_loop_gain.pdf b/figs/nhexa_decentralized_hac_iff_loop_gain.pdf index aa3a267..e1c1ea3 100644 Binary files a/figs/nhexa_decentralized_hac_iff_loop_gain.pdf and b/figs/nhexa_decentralized_hac_iff_loop_gain.pdf differ diff --git a/figs/nhexa_decentralized_hac_iff_loop_gain.png b/figs/nhexa_decentralized_hac_iff_loop_gain.png index c643ad0..6792728 100644 Binary files a/figs/nhexa_decentralized_hac_iff_loop_gain.png and b/figs/nhexa_decentralized_hac_iff_loop_gain.png differ diff --git a/figs/nhexa_decentralized_hac_iff_plant_damped.pdf b/figs/nhexa_decentralized_hac_iff_plant_damped.pdf index ccc920a..04136e7 100644 Binary files a/figs/nhexa_decentralized_hac_iff_plant_damped.pdf and b/figs/nhexa_decentralized_hac_iff_plant_damped.pdf differ diff --git a/figs/nhexa_decentralized_hac_iff_plant_damped.png b/figs/nhexa_decentralized_hac_iff_plant_damped.png index 976240b..1462fcc 100644 Binary files a/figs/nhexa_decentralized_hac_iff_plant_damped.png and b/figs/nhexa_decentralized_hac_iff_plant_damped.png differ diff --git a/figs/nhexa_decentralized_hac_iff_plant_undamped.pdf b/figs/nhexa_decentralized_hac_iff_plant_undamped.pdf index d6da1f1..67aee14 100644 Binary files a/figs/nhexa_decentralized_hac_iff_plant_undamped.pdf and b/figs/nhexa_decentralized_hac_iff_plant_undamped.pdf differ diff --git a/figs/nhexa_decentralized_hac_iff_root_locus.pdf b/figs/nhexa_decentralized_hac_iff_root_locus.pdf index c32d55b..c3f9ae9 100644 Binary files a/figs/nhexa_decentralized_hac_iff_root_locus.pdf and b/figs/nhexa_decentralized_hac_iff_root_locus.pdf differ diff --git a/figs/nhexa_decentralized_hac_iff_root_locus.png b/figs/nhexa_decentralized_hac_iff_root_locus.png index dbac01b..864ab1a 100644 Binary files a/figs/nhexa_decentralized_hac_iff_root_locus.png and b/figs/nhexa_decentralized_hac_iff_root_locus.png differ diff --git a/figs/nhexa_decentralized_iff_loop_gain.pdf b/figs/nhexa_decentralized_iff_loop_gain.pdf index 49f3f21..805f724 100644 Binary files a/figs/nhexa_decentralized_iff_loop_gain.pdf and b/figs/nhexa_decentralized_iff_loop_gain.pdf differ diff --git a/figs/nhexa_decentralized_iff_root_locus.pdf b/figs/nhexa_decentralized_iff_root_locus.pdf index 61c8e50..08c8892 100644 Binary files a/figs/nhexa_decentralized_iff_root_locus.pdf and b/figs/nhexa_decentralized_iff_root_locus.pdf differ diff --git a/figs/nhexa_decentralized_iff_schematic.pdf b/figs/nhexa_decentralized_iff_schematic.pdf index 741b460..abf631c 100644 Binary files a/figs/nhexa_decentralized_iff_schematic.pdf and b/figs/nhexa_decentralized_iff_schematic.pdf differ diff --git a/figs/nhexa_decentralized_iff_schematic.png b/figs/nhexa_decentralized_iff_schematic.png index bdb568f..c193f90 100644 Binary files a/figs/nhexa_decentralized_iff_schematic.png and b/figs/nhexa_decentralized_iff_schematic.png differ diff --git a/figs/nhexa_decentralized_iff_schematic.svg b/figs/nhexa_decentralized_iff_schematic.svg index dbcb2df..bb8541b 100644 --- a/figs/nhexa_decentralized_iff_schematic.svg +++ b/figs/nhexa_decentralized_iff_schematic.svg @@ -48,13 +48,10 @@ - + - - - - + @@ -66,10 +63,10 @@ - + - + @@ -151,10 +148,7 @@ - - - - + diff --git a/figs/nhexa_forward_kinematics_approximate_errors.pdf b/figs/nhexa_forward_kinematics_approximate_errors.pdf index 8ccdd4b..5c4e94f 100644 Binary files a/figs/nhexa_forward_kinematics_approximate_errors.pdf and b/figs/nhexa_forward_kinematics_approximate_errors.pdf differ diff --git a/figs/nhexa_forward_kinematics_approximate_errors.png b/figs/nhexa_forward_kinematics_approximate_errors.png index 309ed30..c88bbac 100644 Binary files a/figs/nhexa_forward_kinematics_approximate_errors.png and b/figs/nhexa_forward_kinematics_approximate_errors.png differ diff --git a/figs/nhexa_hac_iff_schematic.pdf b/figs/nhexa_hac_iff_schematic.pdf index dd524a3..05c42fa 100644 Binary files a/figs/nhexa_hac_iff_schematic.pdf and b/figs/nhexa_hac_iff_schematic.pdf differ diff --git a/figs/nhexa_hac_iff_schematic.png b/figs/nhexa_hac_iff_schematic.png index a41ade3..f468b32 100644 Binary files a/figs/nhexa_hac_iff_schematic.png and b/figs/nhexa_hac_iff_schematic.png differ diff --git a/figs/nhexa_hac_iff_schematic.svg b/figs/nhexa_hac_iff_schematic.svg index 317e867..b81e30b 100644 --- a/figs/nhexa_hac_iff_schematic.svg +++ b/figs/nhexa_hac_iff_schematic.svg @@ -48,19 +48,19 @@ - + - + - + - + - + @@ -99,7 +99,7 @@ - + diff --git a/figs/nhexa_multi_body_plant_dL.pdf b/figs/nhexa_multi_body_plant_dL.pdf index 0e36d68..afff711 100644 Binary files a/figs/nhexa_multi_body_plant_dL.pdf and b/figs/nhexa_multi_body_plant_dL.pdf differ diff --git a/figs/nhexa_multi_body_plant_fm.pdf b/figs/nhexa_multi_body_plant_fm.pdf index 30f98fb..eb975c3 100644 --- a/figs/nhexa_multi_body_plant_fm.pdf +++ b/figs/nhexa_multi_body_plant_fm.pdf @@ -3,7 +3,7 @@ 1 0 obj << /Producer (Apache FOP Version 2.4.0-SNAPSHOT: PDFDocumentGraphics2D) -/CreationDate (D:20250210190447+01'00') +/CreationDate (D:20250212102353+01'00') >> endobj 2 0 obj @@ -1474,7 +1474,7 @@ d$x g>x.zMz팞֌.A;$:gR ڙ 39اٸb>z&{.R#!Wl ghA;3bpd^;c3[ᵏ;}ȝqsq!)pgE*Fyfw -&Z;c33W~ؙԧ=Y!vfm?dB}Ygt1N<#zu홾%Wufe9CuY>[g4s;Zgue‘h.:)9pFDD OV1j9vf<v{>ӝ;ceÌQavvalk?{lwlu"`q{ud=s~"oHD@6v={'"(1(erpv}^K?K"7xv +&Z;c33W~ؙԧ=Y!vfm?dB}Ygt1N<#zu홾%Wufe9CuY>[g4s;Zgue‘h.:)9pFDD OV1j9vf<v{>ӝ;ceÌQavvalk?{lwlu"`q{ud=s~"oHD@mafF}@2sspv}^K?K"7xv @䧑u b!c1?XgH(Um`LXg8b>`gʪ[m}vF+-R<؎3W?t>Oۛ'vHg,dr_$UE :'ΪyWOC^UL31 vUX!:Zuj0V C]z$s&>9յtfh"k8'_@:Sus?H:SC< Hg9Ƀ-D:ʔ>ծo$Q2]tԨZ~btF7 t2i#謱1M3tִM'!Ν@gUg͒LqjK:AfX#t:ӼgZ)ͬ t}zݠ3-i_4Lt*Q. 3T M;f5ΨpoU-hB:c'v tVmtN:Z՗37)*bxHgXakL=e E@:cw:N!WjtV%]}ʏ㻑!, 3jBtX 1@:+T88'Yn@ mPg hpwm@m7H 3^3򈩚Pg$༠ag(E;Ө{صvF^LkGn=3{tѝ{mL38ߤ̃<ΚYJ{Uu,ٜ#팴(kЎ9J,2PW^N3k xgqN] @@ -1512,7 +1512,7 @@ $ 'l]#c%stil FkLޛõ̺]`dv=adM0ŮI#cI4Ŋ`d&L_`d`# }a5~aQl'M0 FFm]&YE/ӳ02:KLEY1x9^OYM>j>Yd<>Exaէ=Yd|";C.$o$2)($pih7 "ce}^@d:AdqzDv~OY~kJ" L=Id3$}z!YF"ym~hg1A"lEHd\I"8`um"{ ̉/!e\9du_,2ޑ![RqfY27 YOν`Zv CS&4cȠ1Đm|jO@p(1f LbqVjU{rsOqXH#kYrWc_0dvDٌ!k|U'>1d!+u뀲ٓ/ P+l7![Ȋ(2}!dȎ섮ٶ@v)cYBWY5GWYz7 ;ޓ@VW{_ dDY5W~@ # l\ox8I p l+,c+T'{ܯ@ X kd^ - ;rY?5 ^dvA/2j @&3 ;@s@Y"@m2 ::eA kɏB Kd cDY @._aZ +l2k@fWXJW&>_XϱcJb>3J7(W ¿DD'h-g YXϱcJb>3J7(W ¿DD'h-g YZ0UT@DhMy]TYy,[Fݜ mc3D'.ԏNmADY+W% "ɉ, @@ -1536,131 +1536,123 @@ k i1Hb@Um7sBysQkYم#H3TY3Ed dY5"tע,FYm~lLOd~oC@QCՇADdR: 9"ڦx "uf9m2hN$wr\TXĖsuM,j읱gax@Ygt!tӜ Z:#؇jn "$|/mdn E }q62-[E.$r,5nq Gf..d\EڗoQJfQ҅EԁDYG͌ws(i|djHkY!EȨXE`!ɋÉf`h)Yte4gdQ[l,j"MY4<2B8Q,i%`*# LjmQG "-RGhZjq-JJ2<Hk(1 yboϵ Zxl3|(EZ'XZԭ87]E%SB67-Ҏrk-Gh#TUEItWAQ5|&oQ,jI.,EI|ܱ"ْ,҂{؋gtA(eI -t('EZj93E2&Z`u%v]q6-B -Ɨu-jxk.jZa1eH-y6*9H- GjӉUIuJ@-B>ZDv.@-Ңoygj)i"4*.6"-\#8`(#*~m"-Q6m{-JZA]-~ÍOEs;~Ma>Z.]sEhrשA+Eɀ]"rpS3RH4"vQhH-BcNn^?RhIdRZ]NJRio՜Gj6{mC9RJ FEh(GjguBH-~2yǼF1Phҽ͌Gj62Z=qfč"'nKEh׭ZZEt-jX7P6+%\"o]s-,+[rh2AB(;ci";["NWqiqfց[f On}g׉]"41dN{ph<~ri5M*lxc(-JZoEh2tn/-_me2,hi/Obˆ-J^b]Zmzhi7[UFjlAem/7ik&CEh n[j7-h߁:lisfnlq9;_"4*v "zwOr"c1([&huآ kwJ;#Ȍ,|"5;gY~&uх-BPiV-҆d g!VQk "œduЈ-R LrEjmMYJ"$f"uRi2lѦgoEhe,StFl>[F,;lms=PEg2EjvcGn-gU.:.RO YG= "fqlic`u"\FUZ\Dm{^x\H.BShH.giHݖVcH.BlHݝ䷔E.RW(CE&%c꠱\T|nr,#H;jrXH.B&Gr5^ڈ|Fr'RH.BeYR ۯfEڻȊSrqrle i_cZ,]wFrxVwFr:-EhrYƃ\DcZ]~r].Bkv* ":"޲$#Mk,Eh2Z}EtKJVVm@Y h#GvvYʰY|>ME4Rz`rdiD^ EY -v=Dߺv?s"4p]&ZX]Z5SAvzQnր.Bʮ!Fvz_Ҩ:h`ig[u"ڤP6H=:ulw /F; o#QN̥BǧSG]"mvG6;Vx*l_6M-ˍ~rg]#1c*Flo۪HOYd #;TL#üB;%Mמ#J_־}Fҷ/E(k׬}FҚ `uwm!:in~vd=h5R#{"]~R^s7Fؤ^l|68o(+/'|M5|EH+7@/^[U]€/ʚ|[ENim@/BK^I@/wH/Bȡ^0HgGڟ??;܏GO._}O'1wbY k} -,Ÿ~,5،;gQ~t^QD隟9g+lC,?Yԯv)?(;gѾ|LXui;,?Y|}Ğd|989P?"?Os_;iOFHNڭ)W9Zqڟ9.fTt݋Os_;w^ޠ{;gS'9T(Ql~~,NJ9vߊ/s_9y.F.~~,>rɺl ~+Ÿ~,>rG0?Y|}d`b=;ֵͭj5g\S~/ChQ1zC9翆׎~yҏ!zwW?nwFRͿqPym Lp'J>pxz>f"ӇjPx]@:m4鳇KTgUkBC*4"*""""rH~?M~~J~~?M~j q -Y㏭ӟ>{8f.碘GGy|ṣ2泇_%1=\犗Gggy|sͣ泇kk6=\T4~.yT|ṣ泇 g4=r=`Qϕ:~.yT|Sq\كE9:Q(2Geg?%9=xo{̛d|`%Um-ǪEaXGYӳ1S;ׂߦ^ VXӒcA}}G}{43cD̍!¡~xm?uUO_9߽uP?u[hlAȜ̞6uU Y~=p#ܺ/B-C_Q!Ȣf򐌥pzLxAx;?IDjqf9Bлd 2ty -y`UG_"$W--O[?r?q>>'oO'G_Oh?=_Eok,Y]1#3{M&LzBٕ8$k@x=/w0~rԗY#e -Jv_QByз9(fA_?tPp9½eEg!VowYSQ3yZ~DrNb}Ҿ4 -nI-k^dV2oJhЧ`Py5 L-E ԮOz|(y "nZUFlɹKRIXTqFk&廤l0Z9ZKRL(Ǎ -^HpuI~ dVvk<'5TeUy[rNҺ`HS2ڊkoJXYgvద;k޵ܲ2{.a׵ٰN2c&<(.ԮOkM6䭿.: 4$ޥڑ!Wqi ܨjTi\5@vM(əW2:\v&`4#]F_5S2ZkZYMeuy;ĩE˥A?BRHKcdZ3%TpZk@쉀[,c 5Wŀ5Hﮁ?l+b(_ -K]T{ dS:_ڮ&K~>Ùx@m+E']c2Kaφ pp{6Nb̹~Yn2赮%$%&a{DƢǶ ڔ=jhƆ.z q8h}Ͳk/ O\b1V.M`o@WBk?m)TR `Ih^ ڔ~xԩ} Dmy\ʞK=<^ &K,x׎lb'efsM~- 6hS2o+db7\%`-v.R\=.m. +Vs_8I%$,k'.őX(\o~8Rn$S"y/wBRk -j; w=Yw55Y\j+ymK J^ -Ҳw I]Sbjv@$_8ܡta4OrDvMj whS2پڔ0&Vgs6`:-فM0U%Ɉ5cyy_d> ވI``(9TEr"_E -)|ik&ɏ[,_2]+jSM-+K,Bo Vks -;EoK_J-GqJVK(ǶñO&QZ.M?&KzK'̯TUZ꒼H̕XB5>MɅۥu7-hIE-Lq(.pZ:/jeJB]K0&9 bb_e<:ԘumT )Q h|1le^ u&/D2} ! H3$TS|RR}'8ǥɢs@:ߟ+ ϋ ʳMtia.\BF9eұBF -m^`,:($b\ttIcXyN^'~ -k3>%E`a>kv ]7)Ժ&fS6M~kJd9l@Mu-;#ְkeĒtrdTB׮W]"GƾKz,}s~MSVHcIl2!z]m$qi2sOf*R$:*[uM"c.fvЉ:%׭$aΥCAH@tmI$fo䜓Y ?kͮnXgI.}Y]\Ov Kh|Mv+E*@j'Kt iZfcr5曧{4=$[n0&39͵k͡DzQ&?M0hģ\.f|5l]CY w0n1odPHIO֌ yc0uM/r.а-'ywEE15Vͺ_z^\@+К@&ᯇEVrn4Zcɔj+pw:Z}M9Wh)程Ǭҏ{ Vv7,+][hqLj]S]:*2oGYpȔƊɵyT$KjӪo\˞Y.[\nBc`i䟪 dY͟l,gӺpAF$F?U0ю]"eL,CFD{ɆN]&#;p] pMdzP_}E%6 5qF/q?..@{L/шLJk2D,?&q@ a\?.r%d :x;\˫|.]E^ڃz %䚬>,p&Cl7.h}}Nlǫ`%5EUրPg ]$lIY nK%tMbA:`Jݭ/D+![mS*+@v" G,*eۙ0-]8v84 6ӳ 6BF֮ɚĶeK=MfZ+նRQ@f#ɗzžSɋ& CKe ۢs5 ovv]Z&|k +v=Dߺv?s"4p]&ZX]Z5SAvzQnր.Bʮ!Fvz_Ҩ:h`ig[u"ڤP6H=:ulw /F; o#QN̥BǧSG]"mvG6;Vx*l_6M-ˍ~rg]#1c*Flo۪HOYd #;TL#üB;%Mמ#J_־}Fҷ/E(k׬}FҚ `uwm!:in~vd=h5R#{"]~R^s7Fؤ^l|68o(+/'|M5|EH+7@/^[U]€/ʚ|[ENim@/BK^I@/wH/Bȡ^70gGϾXSjb"#{о"'=?u+y +ZX)nc!g` ~oW˓o0MWn eD/QW`g:/s@w}$?Yl_> dOݷEZ{~~,ς+J\;gq|,v%k9-U~~,ڗh2vOq,xC9lԐ;g#Zg1wc'=` I5S;g._]s;g|{1wc箻~/Ÿ~,>vjc;g% tboEI%B[1w#'ObGNX}oEGN9RKZ_~޼кCTx@xjs>Fs_<װo/0/q@v;WA0C?~73;픁IDaWEP>|_ j>|>|(#^[}W?}yi>{{⻪p0W?}_e_?}]?}_[?|_%Z?}_dX?}_V?}_T?}_$S?}_=>/>/Ҷ>/>>/2>/R>/r>/#WOIOOiOWOOO|Z`a5S!9Uyutg?2=\0~.yT|sˣ$泇 _0=\(6~.yT|smͣ泇ju6=Q`e4ʚ~y|ṣ泇U{RQ%:~*Ιu>{(Q?q:=\$mσy3 \5 +ͽ%X(:8^Y~2K|wz6q*Z+{UXZr,`zo_8߼oH?of7]`ȟq_9߼s_8oݣ󇷮xw+Gn}k-߷-(˜SҁӦԘ.lj!Ԯld?[Cc(!9YK}>#65?s܅rk$S@>_ G/{9# w(pΟ?3G8p N`1̣Y׻ٿ^`r˿U(ZsWp/W2pV<k5_8T/Z/o #V/B2}>򐌥pzLxAx;?IDj1f9Bлd(:~dW|`UCEV ~vx_P?=oQZ-GotE?=}~z?gu<5ls2y +eWX^?tTQ_?tT0fMvԗ5:*h*Q~&CGmp؏Ax/}A rЗ9hXYx{7˲4:(cZK&vm/UpKp^r}&R ~KuWTB>\߷m aMPbo(ʯmv}һC3doqԪ87`Kέ\rL!#X3&.%Eʶ^RRE9n +gWGjCuIv bVvk<'5TeUy[rLҺGS2ڊko +XYgvذ;k޵q]NeE\Z1xw{iNoP؏^ZKSk{;k:UVPVJkAMqHV) ~mpV8vd%$^'gcoYkc.0b ]Y3\ך<%g/4SJpMyPV(&ҎCrE@\˹*m%)HٻX>I-58=- 7׎Z[T۾gprJ$*L+ U)eΤu~cͨk?r*QxkR]J7+)tI^P} YT7ϥ#Ҕ}8Vҥ Z* _Եګ:F#׌~\WplƸ3T% uLuZl ^c&<(.ԮOkM6䭿.: 4$ޥڑ!Wqi ڨjTi\5vM(əW0:\v&@4#]E_5xS2ZkZYMeuy;E˥?BRHKCdZ3%TpXk0[,c 5Wp5HA?l+b _ +K]T{ dS:_ڮ&K~>x@m+E']c2Kaφ oh{A6Nbȹ~Yn ޔ׺v(}FR;K[6`Sc.2-Ȇ@cXz 5ˮQr@ˡ5m&܁MógN`SV[͞Cf5%T$#vw\j}T?&x#b&=~`xRVEˉ~2(xOI(>'?n|tM ]aSL5HX/-tQ7c"tQiޖ"+Tj5 [Zp.=QmcL\L%ZdNyܗp( +wstkmk{[t,1JXSE]\AqS]W`S2G]GʄAc,CХl:M{KZQ$kYϕK%2cok5'Q4<0F&aM<5)puMƒ}&ud@6Ip}d_"%yC푆+ĥk2@#} ٷKoZВZ⚱eQd].v)p;} ZY/FG@g$̱q6ɫpNc{j)84We'5f]5UoJ~>'7^ #yYW#)ѢL{_H5 Tz<e m +Lqi(x+)S׾5:JNr%dcZ&{*)}K\m1 B"EM?AuK;g8SXVkuCIk m6eC~׺yLV n^ײ#bѪ(P @QF,!'A&Msd(e(Ү.=0g)O~J_Wbݟ:d|5 9H\;V}9,o+HU؊zkF; ^LuȯZ%ݟh zK>DIF3olӐ!N\o84˼mlL`LVC+nvN{}Bŗ ؝XnjZUjE͖ML1iMY穼&˵+w"8Ů-JQUR9ZçrF5{FI(Or$$dId4kI  p{4vKܟ#o\X.c*?/Y=Zk߯s6QqIb;4heхN)CbJp NV[#]Z-dh޵c٪B+}20%&p+pqi2/vHY2Kf]-`~D2+q8cd)?7yqGrܧKhk*$ePCӠvY%5Yi6-QK.)PϮɿkX4C 2Hĵ@M*DOnF;]è&h2;-M)4l6ߙ+ihC#ʕ9tMžSE"ƲǺ\c^0Lwrtf{ri(n륵Gb{' DvkqkF6MxYݟ)% _{0ں&Wʺd<\\Cu$ lHJ%uH`&A#)6ȉ$kF<hz3&?QT.knIy%j,$G&>FəV,e];ϺvۙYþSVl}lwURe/ +䟫]Y?K]+qR 4q12Wpi6$o_KY'ȃc/I,Q~}g{ˮAcݮYA‚o޷5]޺v>k'_ M]ddWI6$cXGh_Q25Kw]~޻sv5i +IV~}3I"5U&_оM$qX>.Mf{`7YLu$:*[uM"c.fvЉ:%׭$aΥC9H@tmI$fo䜓Y +?kͮ nXgI.}Y]\OvKh|Mv+E*@jKt hZfcr5曧{dK෰' +atMfrHkך3eM#L~l&сQG4]^k2jAZa +\c߮ɠ)5`,_䂯]a[ƹO +98\;v{,߷ci6uIͽOu&W 5߁vM_+d巳Zhb)m])VT/uR1еr~!LO+ZaRQcY]+nYYWԷԺxqtUd.߮ɏ0 +)kmH'#զU ] =,kA i]5"݄LǢ#:?UDk*?4Y&ΦuG&K @"$}aD5X`s%:EPvj7uM.5eA}AM4xKjGqF/q?..@{L/шLJk2D,?&q@ a\?.r%d :x;\˫|.]E^ڃz %䚬>,p&Cl7.h}}NlǫP%5EUրPg ]$lIY nK%tMbA:`Jݭ/D+![mS*+@v" G,*eۙ0-]8v84 6ӳ 6BF֮ɚĶeK=MfZ+նRQ@f#ɗzžSɋ& CKe ۢs5 ovv]Z&|k ɮQ# --U*w6Y Yķf9EM֍<յF.I袔+AQQI?X7,O[_(snX^_CzQٔMe(D 9MVq9YgC ymL66v[)4J/w#KXX" y ת<8~tQ/ĥE"ZY7+@qi4:4&cvk7 rX -|GLC 43zgksD)#Sy{vtMmk Zc.n)A]p*Nl(/w McU~.%<՞ʰ񝊶G{bԘVek]TT_~pߧ1ⱃá3grXYC7}nepuqM1fd xi[G=X}]I(_Ԯَk? H'$ VX\vּ5h]t{L,ekUB5M>wP'GG:#V]Kk`ĸquܧU5%>}kIv"T]RXO-IZj4AHւV(ӴC+ђm̪J2-O,d%wrIR$pV˦Z;a\~ %ɦt4YR -$823ZUM'j4kys-tITM^md fo[zh/fpck>K染Nx螔Yk]C%C{7/Bc+|2{+\(g)#4Y;Vo*wo卪p.Gχ>z[co#_PdđdzD[d(ŵG8WU4[i<^.VȞMy=:]QZ{0EQ0wSa!}޴HjZR{?Uc^}NV2/M@ ,LR+lß!sxs$wEkFNFRMw47YjOl<$ɪk:ţzmy|L߭b'6%ۥFʽd%fۦC_w\59fel}ge>z6F\%(}ݛ,1YI8i\m34EByphh2OZiHi2'tyv_Z)c>'];X_/,-HX]c&Iخ7MVU?'˶uMl,,&fրx\mj3Q34Bdھ0hۘd)'Ve;q|Q>Rz}ѝ w&64*!5s A4tE}tӶWigRvl)&D49<*+㎶Mqb -75Hŕ$U. KI|\=Fe?ixm-,QZD2eiB]5ym-v6vS]ɆܐeqE]Τ䚌2Va*l;l#]-$McRɍ`F_0Le)%iɷ]#=v&,\.>)Kang Dسs yO9!$5gӿΫkɛ>홏se<3A[ׇu2;<)5bm]H]k [mť#t\ !{;`(۵Ob虵_g4o¸C8ߜ8\x[klKF{Xh+tnXwÊ{wea;Bذ ϣ }h -U_wa}zlt,U8evya(;;uykNvB2F!o9P=6l7ݹ?mMmWAm0Z/6Rs^T_-E5&QXX[(k='Ǘ=ӊ *~]a7\Sh{;_uu+|oj|EZ u縱w|cڴV2!;?hn7Trg֕}z|4Un|O/SƾhV~~cV+M<*,kWkS! Z^"Pe۝O'VΆV+9NpWAϬ=곭a{k66#X ;l%_NlZeV^r5s][X1mѾjp%Qƞ:4$2l{(`ݢ[xm -6=!]`A5 Opxttlۦ=綊5jtr6V'fj˃]c8;6bڇS½3ku@0Yv{`|9<(~p{cq+;`eo{prdfLn$qkW<;]WO4 }F@'p(d؊Ь]m:lM\ĹxG+3wobMn ʶS:Oc@9Օ o'ZۂclEl-ږ9}ǁN?=8aʔY@eת1,Kuh}̎:OemnTf(s?o:N0:XyF֣xҲ*;iYpnmZcU.f@T0c/Ztټ"!;mtle5voRQta~~\x'@uFꋾV$D@h2 byǁ>`/)kKԇȰ>j]|@m~?nޘ1=Vl fl>|c{0Pf-u6ig ;.apa#246<2-?Ml nfy Ϳ=IK8tdpG 9R..8h6DSN } -{40C/X {˶yvݶ7ʹ܊=v3:Y:'@ր#:]*T}ZD@fzUvϼ}.7敵;~[YZ}Z51LȊ3;Re=1iUcաPqiUݳC> wtka 2[^rҲ{Q\Xx<)zvI|C>/m3+؞g9ޯO۞j(X:ӄ*^ک%lǦKemt,v3DvaK zۧJȮښw^A/>#kS{޹?mua/;mgÝXޘrg-o9o}.}ȷkLYi 癷E44~lEveȲ@se]N3l=2\ў]Hyү}0A=3k:eb<hsQ~7!{ڛw{O -!9};`n\]|QV -,hṋ#LqeI{8fz!⸅eUqd(,ɬ=!lvDdv{lu!Vvj‚}W {>*ǂ>²m]5ò;Y١*sfV ɹ>"*h:c[-#abO^О35P]mEǢbK7侯eM@drq(eqQnal+h&?t_ia;lVAb*oώʆ'_Ve>KSg37#BC_ta=ȷ/' z0cj]=pdcQi)^&uj3~'J[Zsb*v㐡N^4U{m6Qƶ0Pj)c ߶m :6ACGl(òovڧ\=È@^| ;itzYi_u=nkT֯76Bo]~k1^m]х]lxh>l4~ fGceX\݇mv[-o,I х&uQ'8pdǽ,EmI[ެnG`>.xf254蝉-K?ʎClZJ)F -Y#(+m.zgVGc®Mv3'c1\GvM9 2f'MjXr5(ryr/P/hF= )~y;[ -m_,>vbN S - -+n=d+Ȃ#{v{tYoK[:`_/g>C &h sQNy% qPvP]񂹿'J(XlYz {AT,g)c(|N28S yLaA0ݳ !qD8t0ۮؑG"(0jBm^EhTe7dzv-V~]L.|È]!a(Ds -_y7 6W SΛaW&f^+EB[ -ZԂ 0 "Ed /Ty fԽ_wP`2ZU٭7 Zu?sfj2a/=PKޛ Mۍ\pةgm;:-wi=ouڜZldKY=9ogӊ;֒˚B`~-ҹ G"^m1Ny9B/^DR7+T_1l8^{rրg8cς;&7#pzk~߯Y s쪭 c,Co{Tf -fo 24٨e^Z[0K'ms2k?5 -߯4k-?viY{yόx\a׸>jDeEiA-cd2r2<*B7Esg67;0c@f2,Dko-*Ȱx.&x: 5H?0Աf?.5;8wo[2L:zG_ѷ^M5qhytrgo)bhyXg)n4<Ғ7Xgytqa)-ᬱ-cd^2E+hGLe6+#ZVuh}ՙeѲ,S6Kk)u$<8,SƮ:eYSD2e#Y^:ޓeWwSeu0˘i~2lDe2eRG3k#Z5uD˔Zqhgܷ2EN,ST0}Т,D}f"NZt̳W2ew&Р)~A-LS̲@Ce[Ȗypn)b`2EU-Ss:e?ֻeʼCgp˔Pn2>.ڤiup2V -.S&{2f@e]7˔d_LQre>˔}Y')cA.S d\Z1/e\:L٦2A.S -d\ A.S!d\9?˔|Y')N.c d\:L'up2zu˔}Y2e@e>˔j='+ -Yup 2E@ֹe^˔Y).Sd\1{p3eVM2e~>eU? prW'{2e>`˔ފ߯˔`We0̒-SY[x2e^9e --2e8XGLYmr2T^̲͞_ur!Q.SVT0{LH t2ۮ#]@){Ltut&֑.S9c˔a2EΌup?z1똱.SFͫt}ᬋ.Se] ωΓtK{]ކ:e3]häE]H)*m˔Q#]Te/]Ƭ:L%2e&e|`)V:L٣.cTx_LѮN.S^XO)'3e0fUeN{Ceʰ +)]Mu˔Yee]Tt"l02EK.Sf.Sf3-2eAw.cB:LnG5u˔ڃ]u˘ /]hSqJo):.Stj`)fve.S6`);nvCuL2f+:eʼ?elˬ82Qk@THD-;N͇j񸶐e;gw&hKKkfQ6e{2MR6eUUS|SȲ3 dيOEYvS3lf-h$di#kJ` - Z6ehWNfhVeZ -fh~{hlevKV6e,6ZOePS3ȑe)ٲ]Zm& 8&ԲEcxNԲ M2/L29Ve3[:šeE5e6flNL-lSM2/2 ?lekʖ^m–]ƁԔ-.-CMٲ}ŝ fnd9l[fӖEla_OV# [횲e-Uem5-V:ԲK礙Z1QG'tZplV6{Ք-A#cXbTS}Ɩa(2/K2ml`9[MҔ-S]Ɩ]⑲e&eR̺0jʖ]ڊJ25(2ǦlA)[fTٲGȌ-8%eNP2_ٲSF[V,qˊM[ƫlܲ`V□ToU4ePS5:,ș\vZe>%ړ.ELDM׆ \v*/N_%p&p;/[.;Ŵ&nYɋ -nYHܲ*[^-;*M2`5qGgn:htvEK2̫OZ-#-2[eI/qne[V( -e>9albړף%eE'kr9[95sˬ֢M[aO Ƶ*ܲ&nX[ -;a"q.[Y2 ¬[%nYYleu:Yز]lY=g[_lY7/o6e@–}Mdv7>;[dl2[VЧ+2j–aGD̖=-k_w҄l5&쭕n1'p -kk=[k}زj``v29al!3eKIl㱘e3[ -pd\^ lYY-ñ^"[vq7B٪X=ۥyݳ[:-[ъspˠ?eǹ;ejS6eJpڂx0e߰DM2H  -p@p4 3;$l[A.k $6e>&rYrQ.4 xA2Z2 .[{{e <3]Y.|6e'NrIYpY|]vmp620-4ul2H";pyr-MF SEul1Ȗae{YGYǖaI[[^ -g C^ 2q5ĖN伙-; -lz-2 lٍ -HnMF}[vYE{ՈnY{8 -/c[24W! nFltm?ef"WMܲ$e"\ ["fnY[/s?sH-u3e#FtN?L2?e8&e6%?} \>[Ჯ6ߏp )eD.;sPw2찳"e*(f7eye˸o7exa+%C55PO4elek񙔑.!5e;68e˰Sf{`W6e:]Ԏu.&]qz tE:.]b.BO5qr*2T6e.qU˺I.CSԙ.%5em t~p.;s]Γ tYȶ)2da Ό]S.v4=eX_\O]>j2LfUda1`f=nDڀ(e'5mY֔ItNxN4Kه퀌[mk^p#^ -p˨Ѽ׃^U{¡5epYY'Ѻ~^ɧOlx>,ٵh0sޠߺF CFmNzxQ/ف$j.4ka!_>h /Ůa_92pe~Y1&~ -~350s52tUFm,_f/ơ)/k UD Q3Qy3+qlqPAԣ`,]8 7LUzO.K*=at=6 -f(m`fLX[S3,mgP -f.߁(VGWm_; f6Տ~F K9`eI0MƜ ]>$FH*ook3쾫΂i7t[Oˡx}měf;pl ?gRQ0Øon9*3ӞAWk073<`MعxQm0{QPfDˀ8lH0@q&?@aF %0pk?f(m2f- 흢 ,ع Noe#ae&ڳw[by6f(:<fRQ P*Yxʁ0kǼ0k/ _ N0h}[>afoeafu0߂hy!hM 3>ǂaV,fP,f'*k$7 1{Ϫbf ՇEcf|敤f)[4"f3 -NdL:MoGŬY>ݢbvΤ&jFt)Q8?KP̬ͅI1}W_```=EJbŖ͈G et"b˳ 1YDXT3|`77w7UfXԯΔMC`MvMYPW)3=D0l. a,x fl_lSQD,af+flC ;e#a.mEaveaZ'Y{ ?"bvLw`\m٬GT̮]3n3̧g$8#?aݵ+3<% cvmY{M;`1㍥F=fpyT -O-"f;VJLOM On2{2}!f(_%F3b]gk9!f&P&6 [ٌ]I~09Ӣs bKsg{B2>2Ĭ%"bviED7R6#f^ fy* ͆_Ϻ2̻)2VyfB(3d3zaA1+ߔ͊Yl7b(bv=E<ج32xˢb?~}L1[٤q;&[pM+"S6Y4sEL"wt =>T1̞2}dƝ1cHMk38f&:e1f3șbblV|T+抙2(BKT`I3!kG9S((fTD|N耚#fH3Ibf-5G4Y&EDB -*2 f8ͱ 13A b֖d#bp6w  3.I )b$)b9#+bvp䗈N1V'{~aҲ1"k3߉=~,H3XYXԒ!fN q/35̸f;2m}3'cE*_f2][ìX0[dc3Z3 Lea?aw~i$GNN5bfafMTk}ua7̬0c700fvDP9^`ɳ ){2%DF#݈{LQG~Gi{_`D/󨭠2Eygg3eRGL7 ~gt2f˗yn˔pzϗ)^/4/Ske=,2Ee`N/SS/3Xuz2LZzgze옢xGէ^f[ue\:YY0e>˔"e^ժtr'/we| )ijN.Sg]Ƭ:L+urO<+\ țW.Sg\:L'utv杰tt22fye^}YG){ɳ.Sg=]#:LGutGYcqh˔-˔WG);W5{2Ee;2eJL٥]Lk]A,]G)koFzL*#5{2e*2EE^\첹u˔2e,red#\ u˔y)+~,2em8Nen놪#\ h.cɏ>Lԑ.SYh]u˔9eJnPGYupuc):ePt2eŶj)0e^GY^ =\*Lٮ.SCOL 2e`2en nI2efnI2E*)T9eʼf˘ rM{L2enpSsLu_{˔2 .S[~{L١Z-Sf+e[Zֹe=2ehytu˔Y똲-&-K"w¿eW=e/7eb>|ܲ/7e{XWupth˦uEl.}B,e(%t2d /{hĽfv@e7&+2l,e8,emqewny7OEvXz٭bD/2luzG写^3ǚe#~/;9~Uɐfv(3kv,fRͳ5P[YMYMcfq6J3o]e0B,exoY|2{U6e) U|َ12d/yR5˼2H T/-e1+/c\M2cwlˬZ٤V(e{8l6e[L/Wa ^vnL2ԈIb x*D8'4ڛH\=jj2dxkVx[jZe좮)^e^8eeV hYLXS5ڃ3,Zn%xQY/C/]UIg-%x١ -/-VSitmg[皙^I/;ؤSS¦lvdxgxG V/#+QSflrehSSRL^B.4?KgKJ2a6R|+ex/;wS^f#2ka</c|MBN"c첶']CL*].i&vhXL#*ez,'tYrB72 ?e+flѴ.eheY=plԔ.ÊoU6e(f.;mUIb6&vYGے`y(eES^])2%vS2e^1e^eGE B?e 2lrubm8$v٢Kb5e\wk6eo&xBej]Vp@BD$ehYrllqK'ew=Mva˂]fwNw&{ek‘.`9wmJ2(:q`6Uل]>2hN[Vf6.e^v$xMx[ƝeSA(e e(8ml ,eP6e>dz&x7?e6Q4e/H𲓣pkyZNrH2ݨkB%&vq( Fln/;|w_وbql%fl/kah(vZ.MLNln4t0eXK0|˰>vkbuQڛCr.kG O{N8KHmjB:R -tYXEtx ])zv\n&%d5emըQ.C\:QarrY.GcDƩ\~ I#\jrYOFH:Y.À.貞]2av`ݘG0.[#z(xc - vu0߶dIj xҷ=Nx/^vխkˮO5|P[gK".;QIp]d+](]v!]v#-]de]@a{L2onk-.Co=5HV.Be]&eC&e:]vh=3e}]2r+eox8 jS4eϣi?.; j57]3]vqqM&r~O;A.Cʧ jh36eW{=& m0œwa\k@.2lk50X{6e>&pٱPnl+dಃG=\vX.! yumMҞnAb\2F SWp?.;پ pن^Npٶ}. 9e NA%8GSI~24oˮpw;@O,Cu"OUԎdf>Iy"˰U=sd:ǎB3YfKՙ,J`,k0Ndm:e>p2#%VmNb@󾅙`](2SnkbXM;*p`;S2>R ] [6eK,S䪬Lӻ$Ǹ^mk0yeL -{& Od6xels0pe;D}*2Lȕa#W"W}f >eiUFlzW)i+꒚eV`7Ek(bY[jiE "Xpn,,v,c+ -M'b}m,ڂI7"{PUߜT5~m=)24ر0ʶ}+C.*+xe7%^kx^Y[/F]s\k╡U siYVЭnM^&x$C.+{M5,5EVFkEJ Væ^M\ZR+;q3bex}$}-w]Vv?>p.4fZdDLEV"٤*4D+^ZfՖ+ۯQlʶb5XcQV)+>+㣯+GF O "Xd8#Xv핀eж9f6e@ŲCVeXUI,k?jfXҊ,ea"-`WeVϗ,e1jiglu/eF\XfL/eX+qem˱ Wpje>'N)VN,`e@L+kטVmQVb`eǢ+ÆG]Hy"V}M]8}ƕOVvvFi|͸w.f6(t+ko4fݹ˼2+é+#uM2%\YZ]42x2̫3l ˄+C̕aƕd+Cu"?ljW+1WvhL•-*˸ "W ͸22 : ՖLzeDže^YL-n`Fd^~oJ+ӝ'vT$1֋+L+;6˴2/ZmV3̟~2fO2 Dpl|#jeGʮGәVVTk\δD+s-< VVK2M5:P!x*2,GVY!{ReQ6[eYe>f8RWb60Zl%R٢ -D*{3eZ'eT%VQ&V75gVJa74?lWSݭ5L',je/Bieɴ2ieܕV'L+T+l.H2ojΕHUW+)e+SQTʕ -\VD%\E@+SK͹`Lݲȕ\qejCL󔎖pe@LKꕱ-4!5aSqe++qe"̚BkΕt˕7/GWvp䯹2N̟~˕reApe^qe;R+9W#3V -)ˎ_e|lO,eWk2k+;֗zej [2!Wf -Q+SL_peO땍^g__ʾWW԰jd8?6e7՛e}0k)|,,SĮ,,StYhy%Ao)z, -S=ZYc=ZȦ?ءeVt2:E˔mV]G3,2e.3֩eMA-SZZ晦0 le:L5֑--S6:ev[uteʎ\:Lj0Lު;Ld[A[ѩ1kKvtp2:Lɦy[晞L) O.S|:Lѩ'A.SŃ\춡@u˔_?e'1SEF2ϰqkYG)[ovV tM]EN.S5\ȵ.SҖ%TBzLup 2e~6eP8H֧˔9e>˔}Y');ɾr嚣}Y')N.Sdž\:b^^L'urMe$\zLZ\C>Lys~P')N.S d\Ƭ:L+upO 2e*()e>˔}Y')y)zNVp 2e/@ֹe>s˔Y){.Sd\:LcL2fV1F-˔;e,|˔~2e.Ne| )C_')C˘a%[d:eʼ0r˔<&[e8qpv]'{2e2re=5R2eC\̩`r22e]GL٥.SؙX2fb/D2eM#]sG)LGe2%y.c1c\W2eY]4L'{2eLc u˘YgLцI ^L=2ԑ.ST0\K),QGLكi^YgutK0e>L˔$.SfuvG;]ƨпv]x]Ƚ.S$Ofaͪ˘˔aUW.SLH)`:مѩ2Ehae]~ue]f<[eڃ.2]ƌuvݎjh)+L |h1^RLѦ.SuL]d.Sv[f20e] m.Sv<\2et"57eV:u˔y4+PHYysvs&l.Qn2M]ژe]3ņ5v/K2̚HMDqe.;4z-e2Η$eb؄-PٲIfjT3#[f$Ԃ[z-;$nSh-Î7_`PsĽȖam6fngF:~6e[  [qgef:,ex᷋lÉZM˂Z=X+ղfL-}pd׀Zvղqm!QvL2,+Vl6B]#el&8degȲ]&0VfddY[0HȲFה,4Zm224Plerв$в,C얬lVXlRSlY9_ \viMܲvܲv?!eUs샽[v8Tej틏ܲu(bn*enW$n[Gډ[f y?e]S x5uΓ^PqQZp|s–]Ė'G?J`nmnى3NnYrLskY/E-{Þ, nkU6esMܲlA [vD]d,eY3m Jܲr4ant,e5زv{o& ٲvo^lbʭ- Ȗn|&lwȖdOW6eՄ-Î䫙-{a#[־ 2k9Ml[+ݲ=cN2.{T3ee8zger–Bf`Ηlc1flȖز\[cVDn-U-{Kg u^[A!pˎsUwtlt0QoO`ڿae(020᲏ipgvR.;I.0\ BIl|@wMv/u\i&A.;4e(leQ\-/xf S!\#-lN䒲 .ۛ2+Tm6eXa(<[i:8eDڛ}V[ /nl2fE)2c./y- -H퓶&kG lYl82eXk-Cy33[v>+25Z6e@Aٲ-ݲD-e'֋ݲq^f ehB2z[o~t}De{I˾.c'pهE AlcEhܲ^^斑6[R?fp˾G薝~ e8/ZpP;MlJ .}8a-e_m-2:SNM\v~ 36eag DPUDQ.;oHq#nnWNwK6ejkB4lӟh6:53)#]C jvlBqfLa!tY#lt tY4;efg]MtY.(2 @u]&lQi]f tY[khU6eNl]n㠫 uߓ\R b3];Kj L( 2d3]vi纜'rmSe~G.@" c]#hz˰mg}Ԋ5e̪R.èc\xY{@ =/QT -˰-Njڲ/;)P24hX/ݷFlF zac᠗Qy˯ Cqk߳N/Nu= O1e7- &0e}XkѠaA/{uz25^fI:Ԩ]h`Y/ CCg}_]g sL5I)eVpcGM2(2g0ja!k,e,n~cYf_8h?eύCS~_.ԉ8$f8>fV,t)zG ՋY0pb%o>*ft3z]T0{0{lP.!&̘,3 -fX¡]Q0C筎: f0vls& '|˪/`9A0|HH T(P: f}Wu3nk f;&1GC/ױ?(3ۈ7.v ؂A03Τ8`1rT f=Ӄ$a9nfy.7;LE0[s:fێų0/:3`N0S顬LB0wqؐTeaM0J#`&~Py\'LU3Dn#;f8jT 9C%UYpa:u < -S3OLYՉ0;Mrt$Le?eYO0m0 k Y~nPʑM;΄0ڗ Yjgì+ Y{8aB 3!'瀘F1?Lgl$P;y#a^j9' 󃝢a%0|̦&p Za0BКf8}ìocY0PʷY4N6T 1;H3obUG6=&& +IShD+ fV̧Șu(3`Y[#8p}E`IM3 ̍Sq Y! gbD1k"-(ff1{81;P3ČӋ- pE }їgbvYw/f:y0konn&ٱH=!̰_)3<1f8+v*R6 fz`\ -A03uY0̈́پئ0Yt_3L]E5#Ẅ́نwFŒ]ڊ&춉˖lݵrO~ěE>5 f10?ӁY1{1]ffOH3)f/w3kqF~˜kW63fx0Kd@M3w"bK{T3N=><"foZDv fdHe%4CPJ,"f)\3=31s:9CvML3l@.1 fFavsEM 3 I9?"f$d}dYKEҐolF̼!A0`U4fGY) 3%uewSd٭0ÅQ6#fnf,ÂbVг)voF+Q2zxY1CgeElN,Q1+b5I1vxM(foWDmx,*f;eA1sq#Q<0*KI3/2'88f옵%1 1㻣i%I3EgFgack?ʭlv|h昽D2knA2{|b&=# dC2Ȍ;c:f*w+:f>-qLt(ʂcf7͚;f|3L#3 ]٬L1cWB3=;dQ(fC)fתrQ2Q̶15G̴"fZdkiLN3Tdf8p6#fcbv)f@Ĭ-!3GB3l1 f]f7wASL3HRLsFV/ b,O3 H3%1&e bvE׈٥g̿1{1;Y"f&ٳ%CR1^fjq*%ve+kfN0U V_e)Yaf_#fZf6 fl 0;1INkČ#5z4ͩ0 _?oYan``rfS3̓gReJ~G~6{2zLQ?_Q[AelyY) -PzL|'u|#=|G'{ѽ)ȗyts)i/L˜/Sƺ:evێ_& ~2yVG9;LYђk̔ᙈ{yN0Svm}3T 2f~"o26e00i/a)[K/SY_i_l"˔=YGٱr:Lw()ijO.Sg\Ȇ|)z2eE-\:L'ur}^L'urhoa˔}Y')CD˔Y')*U2O^˔|A.Sg\:Y'utW<2ExV>L7e\:L'utO<2eR;a2ee:˔YG)ȳ.Sg=]%zLGut<2e t@)k[LO)C%ᯎ.Sv,jevpmeNX rKS+L -у>X~.Sތ|#t2TF8keT,=e6Les=()!6eʞY\'{2TTGL).SVXe2q˔ UGLf +\ ;|p"۩#]:LwH)s ˔6pC2e2.S9u˔.eʊm.Stapp.;zLUp]ۋ\̇p20eʼd˔=ܚ2Fֹe62EeU-Sts˔yM 1k!2e r2;eP2E|p)e1:k\ȟ+zL+nCD[V$^Ls<{X?e6)1e[MP[Dsizp˦_np|9e_np˔Я-M=eMG. aa3\I.x]4%p&Hܲ=QnY{ni- pٹ.\$pu.;Y^X3샿[vK$rY ]ҥl.CB.l$.0?g:L,eW%x3y}YPK eɬ^Bc.S{2>5nLV6exb?_˾.-]e+G.h}YpkYZ,/nD/kA/SVM[^fe7?e'2z;9e 3g5Gb_vr6~Mp!̬P6flY>,f7gk()zߕ̀Ymfކf^ȗaY2]exl6S<, |Mcd"_fjy%e^f[V5 mcV^ƦeB٬Y!I/hQmpl.+^v<Xee5"2TpNh79/{Ԛe*2/cvM2v/;4$E]S,3q$ˬвxۯkgxYJ2,e^#D ^eZKC ^&Zx٩L/"+e53 sve^vIzM٬<2?"2Wxve3^FVx-ܕxٮ/9)А,exv3̵/S!\i/՗e('e mxY9V2)^v42Fd/xe3^"eDfǒemO6e?vE T]Lb..kG~UˎxUY.;\Nk.;oetNVLI;t٢iq] 5ʲH{D ֩)]ߪlP]veK.mJUM첂%.[QjQˊFlk+SevK2̧e:˼b*˼%ˮfv~#?e.qHE. Ik˸rlVߺM2+/+>8.GH0vn- -vNv{<2ÖMvYq:0ׄ#]fwf.ks0'vۖe{/Cж;P6erܹ]vٛlhGa˰ala;r}2_.H`7]nvj.Cqđ.dՄ.ux92 VPl5)mS6e&LKjڪQ*\G u2->-2\f1~.kS;gl~.CFB ]"vdcttR#]]6e=4e6Ì/^2 +.1jax]bGQ2̗ xn6i댗amɒo{2yF 0*^X x6/+\/#И"O|"^I[׌]6jbi.[חD,]vf]Wf uQrOBR|GZDLF ˁ.d@Z]zjT.kKmn]!&LM5HMtNU3~?{.{4g&˞bdBƛWf@q@Ԧh˞G~"]vD9k6en,fe[M2:v\OA.C"flˮ:_{.M a'.ø׀]Vez%e'j apY9qre2ex(3\ lK. dskt2,-Ã_f \-2m2%ivDSQe[ǝʼn[&Ȗ[X6eXzާs#[QkYϖCZk\' F&!:eXUÎlَAfEKSwXA-,(㤖I{WeR6ĽV^Nj Ӻj&hr jv -0ex~vj>elrdVXI{gV˰p^⤖vȳoZ3gԲ{KfY<2v,+qg6e@thͲN]eYvH`ͦYVXgY0Yf lf:v9hY~ 6e.OI$˖O$ -dJ/dMjL,S=j86tIJ~LȲ -oYʲ,gdp2D,e' ec锽bWA}˰>e0ex -@ubيV',2t;.o$8:5{l -uK:2  Yyɡlgb~Xf.]Iub|%MQ,;Xmw: [a8䐳2e60=l0ɘG7^cMb./A=eX.> A{kH,@oH,+lx d٦5Mdځ3Y}{/,+5eԙ,C{"wT,2|hF]-v. -.eXuDɲ6}Da=z2tf 5̖3Y]#Ya<2Hɩu}6eFJ2} 3|A>[QցeV' vU ,COw.6e}b.lˬޗ\3XUYwI.xe+q2ۚ*a M^_lʊb`ʰv\YLRU6rei+fG=J++ D U!\.}̕Ӟ\b9g SoW%5|+&`Y{nbPŲb6e׋Dlpe#X##Xre#XW~,,QO5ene#Xvn -,Ebѿ9e۩j+ {R6zehcamW]TVoK2tR_8/YDc ,kS`_ˌ,3ƙ^&LWY5ښcl 5|O3ZSlbYށ V֮1ۢ2l5<ʎEc#V !΃XY,Dbep++:X \ED+qe\ȕmPEWhn^ٻsye<WS'E3WGre~Kvhd$\d\W9f\٪ Wf-f+Ì+xWD~LE Wfcis@+[T,qeED2lqe>7reu?qe- \>H56 ˼vZ222ȼߔxe3,W;OƕΩ$\)2%jeIbWLVvlie^42RSl)gZ?dZY{S͞he٤6Gە]j3!2̩T+ieVZx)OXejj#tfBT6[e8YB6Зl|c+|p6_*+mbah JETfR˴&TO˨2MKL2ojj%]+XeKnji~:Z[kNdY^6ʴ3ie>0'ʸ+SsLOV_VD+[]pe|Ԝ+[YreWSW++<LNK2, --\ف>e3WƧseL+C'e+["Ԇre)-ʴze++c[ʕiV6<)W&ϕ0ʀ+2蕡Ͽ^}-*zey ͟. +?amը2kp~l ̣{Me8ɫj2?2^}S˔݅@Z3Ma2g 5ul2Nk#[ñ[mupV5[LϙyX)-SvBMReVG̳keX)TGLcu˘uYyvq)[դ7eDa˔y yv}˔; L'ur2` p"Uwp2_{w$#*}пt'=!עޘewWfFF*$ot"P1eZOpĉ .c1Y8e9o˘ V2fAe'-^A.ctq˘l$1r3;rːq"tYdp@1[n2f+'Y \$fGQha\Ƥߖ@ 2f@6e>l˘!A>#\la1A.cd\lCm\s rO 2f@6ebp˘} !W.c d\l$1{Q.cfG\C>y?h˘| 1A.C6d\' p3xm˘}e>l˘} 1~1zNLNp 2f/@6e>lp˘1{.cd\L2d>1-l˘-lȝ2f>evN?Mp>^˘E$1y+|A.cfg 6f\<2& o3\,#'aɞ p34.c?6^M^̳՟_ r,1wP0GY2fn3]D1{|Ot/D2f7.c9cG1NYe2&y.C60c\ W2f]],4&='Oe.Mt6.Cf2F5-0z2ffa^d6ekKeeKl˘\.cab],X&Oz6e4vmm<7e 2Fd&U,^ Oxr3[ ˘ED1á6e|2س.Cvdt#[hAej]tf];=2fA2] vͷjl1;lhOv3 .CFMv)](Ff.cvf2Ϭe]̎~cs}˘](՝2FQ57e8m˘Ŵl|,e]e(Mb2TU5Ioj,8B-vQ"vgu"&,e Nn,bE@` --Iل-Bn --Np-{)?e &MeJ-CCMSlYCe1lمSJ-!%8&Kjُ5yB-w {e[c-N}a26n-[y|UeN:(l&ٲTl2[vyAsl -rIlx&2p Mev;+l?elʖ=l-i*[ùF[Me׉}ŖmwlYb˸ԲJ-OԲB-)=Dk-~ -b0b$[vs^ew0lY I Ē- -֦2.Jv-!2 HdFlť(ɖҿ-Xɖ(lSMe/-"ٲ -eY-;yHeG< f&2\er[-QQvPФ[i&c}^,eljMd% ,*Z\֟tM {<+pY&5 \]θapYpۉߗN2-d[?O@$) -v>ثe{@-ք[>Zew-l_e1ܲ>n--m?en-&ݲ'ܲ Me=.B+nY0 [֟~+-ce-YeQ27YX[nʞ<+n!,eg -,-Q"ܲ=&[v-g-cfSn{4HeǍaS~ɳ–z,eʖߛ%츹3 زlƧ`ˮdl7m`;1ٲƚ`lEUf˞#~-&De,eLuˮwYem.{Ԕ[k}SlٱDemc2Ye~#eKIlŶg-^e]^)l~2Ke.F02+ݲgם2ORnbG\2S?ep̻e<lvˬoۃ.M4ـ4a Y>evxf5]mpa e`!IJ\Mei*\A3)ri\.H\f :*erA? -<.),Y?P Kri;,3\Lp^쾂f .=+o`rˬptpvLoV[柰2 ̖Y+z([W- ^hfˬ?,l`ˬRpĖh-̖YK !3[fw {Ėٜԉ̖lz2CAlmG(БTݲD -&U:ݲeVpe-nۯnY\s #YRಯe8 *\f [b")/c_eMr̺YܲeglH -?eQOyK}\аV~W2/SN5! sl&32[a DSDU.;͈/e~e˰/2{aKeelptel]IY(1h.l --.Ak=(e.1~BKcWlY}˳D}J=&j{ce|.[TZ|} ]5mha6e6?LOEWE.\fJY2]f6KZ-LVݐYӞv+x.;.m x4NvqϨe6=6eV/9gn`'l?V2kf@ˬ`e?n؈ < /lH7ٲ8iFlC@Z ˺}xf}ڬ^N\`ˬ_!,2h4gU5evs}O-ɯ7e֟|FKǤݦoY6a+MzU{߱[KYɨﴪ\Aa˼;CzeY2+"Y>et?ec&Mk,eq ?e`4YNkevl2A~˞6Me_28S3g@GIl {|l',K= f[pvWYAT0;I0]/03n!`LX,3 fvk+ ;W0߷2 f6yDWK:&Xcg,Q0A|!E8!m @m$?RY0o,923מ\$Yn6fyn;C+ 0[lnE5ff;߿&ldmj0ӝe Mq23(nh"l;֊fF0p?F~nl$s\`&̀D? V#ǰ`c>^"*N3Sb-pA03>sMÉ'W `v|=B-fS: 3Ww[l$a ƾafK$lU0wݷf#r`f㯨L,foa˄MiP٪awk_6f7 ҞT6f --f.B' b`_-1a/fA.y fnVY:{3dA@UɈ}j/1{W|a>h܄aEhf??Mٟ:"ʪ`v6Y kel}[+ao 6,VǛL= {ɄYẌ́ >fRQ!lTfϫ+¬%o歄Y, 3f;U,NT[̒atlm@5b v7c0;f6Y5Nl -1;B޽ꪘ`DbãĘy!˜ݸ4ŘE+bO^1`PSJ1[Q̳mf0+YB1큑YV^F(f1~gpH8fֶYv-~vrh1sm3aT9fQ3V+lKe,Ecɬ;RE%=+nFd} -2Jp0"Ҥcv-tch1s`V3l1Ë3V+n7fY1)TBӊbDPCk៲R()ue"fQ#3h12DLHbV3?"4bf*bf]3el S!f|bFT f$ -1 $T!f%bF@Tf.ٍUPD"fG 'm8 -u0@X!3%5bf F.>cCoC1 U fC- -1۹c2a5(ImSgfRfAavs|_@-qgtff~av`_#fkUf2 3;0n;iV? f'=bv3T0 3ׄfS_3̾S'5 37fx +-U*w6Y Yķf9EM֍<յF.I袔+AQQI?X7,O[_(snX^_CzQٔMe(D 9MVq9YgC ymL66v[)4J/w#KXX" y ת<8~tQ/ĥE"ZY7+@qi4:4&cvk7 rX +|GLC 43zgksD)#Sy{vtMmk Zc.n)A]p*Nl(/w McU~.%<՞ʰ񝊶G{bԘVek]TT_~pߧ1ⱃá3grXYC7}nepuqM1fd xi[G=X}]I(_Ԯَk? H'$ VX\vּ5h]t{L,ekUB5M>wP'GG:#V]Kk`ĸquܧU5%>}kIv"T]RXO-IZj4AHւV(ӴC+ђm̪J2-O,d%wrIR$pV˦Z;a(+AˮkS:,d)kY@xZNIV]ժ&U5VٵJ$&6j2\{Cf3ۈ7T=B]b3xhي%[O'tOʬ5FŮJ桽˛ǕK\B_=.`س”wNYnV7ōFdZjCb-y1B12)U-o@-7ґY/(2HYh +ڣ? +ōm4M/C+VSdO&SvduU="ɨQ;U)8Դ58fe_ܛ;X&/SV4?Ch\5Hﶃ&qc״z=;ucɥin՞~y.HU(uGfx[ňOlmKK{W>UK ̶M&3&?!kr:6}0l"KL Q7YcqҸ4-fLirS{<${dGddO(vWR4}Nv^4X+,[bM]oa/~Nm'٢5oYYMNa=<4f!.}'bϪso2=PƇ<ОEO:e^d<&og>7_(S ϹPo]CWF <w!uCv'lnqu>v,M쀡lײ?mg~Gм _g |l;C|sTrmE- Oybң йbi1+ݕ=? aRK<x?2V+W}݅D ù݃p;Ӯ_ؕ\WOT~Co ([QV^dcV^.yp=ᾂFp8qGo מ}W}zbv˱O]Vk|J(oe1Eafhٍ .8h仯e:I?b@걃x`U]( Vv 6R^=t>2;ۦcA8b6"X +2[A<׃c:ahϏ8k5빔o]Uwˎvq{wi^n[!ǬOc{W[I-lOXԥYg +7-!Ͼ7?tnuӱ\xW8ٽ +@.؁_ 6zٔ=[g'wfX_WpCc]9xQV;ee Q0'Lw(C;J,۰Hu?K{{5Ͷi\ahB`:vHEJ[{Qj՘kF\GQ{ `:7cm=_`O+2upO{~Յ#wԭ]Ծ:rhƒɟ5&>i +XɄ>cx_^s]PSt[W*:PW=e/>5Lžk|XV,rۯ}\[4u (@Vl|]+zlO,hƞz{ +@lwn:>(.[o8Z@:!]=۞϶sξHb?2ﰕ|1;EhYyɡ um]bI|âwG~)•D{:0\gȰ ?Xmwo]ÂC"*G^v wՀ8<э]Tlc*-k׀ʅX[!h$VBGګY.> h.v؈iB^s0O άם]fX؂(kkC|wDgkp2)!뾽jT8G=B\u_0+(Á~Q ˽ .Um3^p@p{[v<_ؘ*%(_gS6_kwۺ1+8.Q +^熻[ڕ\_?':{^xZ0/N{k<_X˴{E[R\p]++ؖ)Xշnb/ c]D⏽'ᆛ}v B!}Fh(t;`+IeBIЕ`.f؂=mHd9uA j_g2l oynWx喚@h}~0Ծ^]e6 ̶J@'0 lً|Q + mcbYl]9X%}{ۥŲR(>ۣ}N+]Uiف]+хʅ$"WXVLXR>\>w5 xps`m~-ޞ]vIF=ζ؀eS[rڈCvzϫK=S +cvew{= |Oƹk(?liIhwCK[4@2?D#ƭ }[ng{rV=:1v2Ǖ߯]v]?r>OR4k7#Ƣpa+v+Cb{Wvn +z7pw ѿ57(NU>rWW7Us/hn >܏]sFh[:-+S>dՖ]ư,1;66&-elБJX5v|K<| ϣِM w8-*.>ltdc2.u(;6¢s+d"VXԞY&@vRi +Wٍ?mKb~J<|W +.VjoXgh+klbvol,v0!+^2xh(JaeƐUSUBeVQԞvF02ѭ.8ly K˶e8DsaEf@gA^Zl' |dϬ`{RNx?m{l٣(:[c;z8O@{vkkn`.eӱ٥-e*/n<_+iS#Vx6CЯM=z_Mz총QFwb{cmKʮw l]"߮1eU%gUce²eؕj"ڇՖǿv9mk'ϰ!lpF{v!YiK!\e7̬yx=hЂNEYxioC=+Ƈ팂ɶr}vGY+d7 2>8L2ŕJ'ⴂ`ѻsUđZ&ٹ?R#"֑3;Z:: ]ƃųǫ ˶u ˂`0bf-fӫ̙~bXZ1$Vvd{?B{@D7w/ސ7 ;YqzơFYx@u`N|UǦu{[1=;6 +@f~Yi)~ {3>,O܌ Yw_ bhgN΃uhÑrE}覥|{N Ea^Z$"+mku^⊩ת۵"C;bv{TAdFeBuت-t ڷ-< Mjs #yYG-Km`L\- [lVd-vRYޘuA|{#K vEvm|Q.LW 7aqwl}'-D4#Gٟ%mym" zUРw&p.(;J<ͣi))dTؗby[M6)}02cznżb&rm5P.Șvd4c^ۣvb Ԡ,ɽB 9pp> 2lsl%*uݳ$>d؉9ӃDN+hn+` /M0Qɢf-mf}M, 1dF|cm2E97ٖVgV8wkBVf0쎡,:0O-1OO=cXv/d؆lcGEԢ}{}ǫSxT-FW[u3` #Zt]&gQx(.i)߀8'ظ_L:o] {^VU. +l]>*hS 2l~3tp^2P*.R~CU +ZvjWeV2N@,hܳ*ϙ=]ʰWoѿ{hGO=Y &8TIuB +Zv/.lFާLow]ʬv*h"~W~HnF|L؁&/T'9_C KB'57Xx҂Ǭx2@p|23-f8^S]g{}xNy0[Ȱ՞iUFAwPfdV(h$-M*Wey֗oB{].0ڷw-znBD[Grd6{{0d6a$_hEr'2 2aH}j-+DNtڊt{GNK,YBٿ?ЂŮBryeeh>?e?)XEK_0YV s LY=0d8`c{3O,vyGMg~ʩW*IASQ=X/Y<5 k4\ E0= .5}X }0Ehb~9@پ}m™|{/ۇ)("M)*=$j]':o4#: Gr?k^UCekr<3Ŗ7so_ފ= R8ٶM|LˉStXcΙN4pzeɸ{a= 5O2 #e0Sқy@ԠORV޽nF06*}E^{57h7M7h#fIDz.{¯`T=jKQ۵W>-C5koV(Q6s,`11{ݑ={E,h@E~||=Ess+?amը2kp~l ̣{Me8ɫj2?2^}S˔݅@Z3Ma2g 5ul2Nk#[ñ[mupV5[LϙyX)-SvBMReVG̳keX)TGLcu˘uYyvq)[դ7eDa˔y yv}˔; L'ur2` p"Uwp2ẓ2L٣S.c2eulM3= p26b.Sd\izurSO\kLmC()C"N.c:eaֲ.S2eL \k{Lka\-Kp 2e@e`m˘pO)[5s˔}Y')N.SvX}2E5G')N.S d\̏ L'ur3kżrO 2eHL+r22Lه}rN.S d\:Y'urW 2E@eUQ.S d˔}Y')N.S.S(2f@e^s}Y){.Sd=\:Lup:e̬bZX)[5!w˔Y);T4e]^˔ A.Sz+~N.S^]+1<3K:Lfmu˔ya)+xL˔q`2eNePex+{26{j~e6TGLY[S2e#5e8ntKg]3:e^:e6ZGL猕.S293eJ2=\Ƭc:L5:e.Li t2<':Oe. tzH1zt v2{d#]`.SFYtRt2eC`˔}XG)I,]*Z-2ev{Q2E:zL{a=]H )U+1; Y/)6f\ t26ԑ.Sfut Se/UGL^Lx˔]ez -2e.SVhv2.c&vM)]zLѩ]춚:easLp]y>e.2E>jn˘tH)jHiV.L?ΓMt5\ ]ܚeN[3L154fv kF^2e5. .|˂]vhyQz\~FjZ.c .[vzr}Z`:^-e6=/I`ł} [vA"evlީ|gFj]IC[f#wH2[o{-Ø-lPMܲ nulfL +̖uYdlo2]l{8W6e ZD-Cg'Q-#Q856eBݙe,-YVEl텺F$84ILqTUM2M5#:,e+>MdaNȲ3ɲae)Yi2g'he^9ehZ h*䚡eI9eoY-Y٬ؤjٲrIܲk2̏~p4njꖝ'-9&nY,-㻲-kO^~ݾݲgܲn-^X[6 &n=Y2 תlrN皸e?`%n@-lfYp4fnefi–dY`kt=?eߞMl9?e޼Ė[' [A4-Lزl-`lYAld [W3[F}I"e4r(زV&e{Ɯe* \&fn5cʪ!-q-/%زbl*-;p{%ee zle[fbY[[lun2lE+?-Bt2薩-Na*-k V5P -`(e,a6e24줦#\v("\5na08,e^v/e&GL\v iPh.ˤ&l[Q/:_$tCf GZ$8%e9e1\vٵ7eXWl˰Px ױupt 7-; 6^Z2LEoe̊Rֱe\^B#[fe['mMlY{׎&ز(2 yq$dd˰Z!\[:ff(|W4ejlbˀ8;e7Z(8#)e7e[5NneU#:7eq(nv\,e߷-߶薵\5q}#\Np nƊКem̽-#mR3 ֥~}-;@2p^᠞wٔ(\5'pYlqZ˾.[|?.e6t :VA.C9-fl˰(\vڛL畑.Fcn[Ma`gעA/hy^~2 ;5ek,FftQ/^A~Y=Z' [~jRˬ56eǘe(P.?e`/̵CXUY6 +~տp~˞f]2T33pFIpF}̬lDZY0CRRO`v~K3 (|0UW>f8i?,``(p\BL1amLYf̰C+|.` +[]u̶a|$4V?3'\/5LNU_& 7s`v Q0;ṵ: f(=׺vlMb>-^0ïcQ fo"\"`fIqF c娬L{B]I0Ìssܬ̌\nv +7e`bnEu̶'ߋg`_tfFU#`CY.f`!: ōDao+3d8G íM\$x'N2f dGvpԨ2 0[1r0K0~`ZWH=Sl&̶wz$ڲ`n$.;}c0kmHxV@KF0Cd"fϫ+¬}wF¬:rN 37f;E;Jam$MMԵfl a慠51p  Y1Ʋ`Bohlbv: fX3=mz4(f;WMM$W1flшW@̬*O;13=P61fFp:*fv:(fD1@,A1B4&lI_b~E[P̎͂ bq* bvf[6#f3ɋ/&^d1c)S uaLcWzBaQ:S6fy$;b4qV6 fBU^lSl̓`ff`f%, }MEeafjF=8 %Mm- ٺkf-7}rk0Aށq ba~gbbQ1v͸30f>7S^"*f1Cw׮lf`Η,0f'ɶ2f=&6-2fEČ76*f!Q1{|*xD>Xq+ 3?51.? 3 Ki|YD8Rf{v!f)btr@ f؀\ne3bvg'A&Lf'r~D.͝I3 3w٥!1;8HٌyCah6̎S6f~eK3? 3 [a lFܒY$ŬgS6+fߌWd`b3-YbV +3 kneb(fo5QޮL1(fYTv#ʂbFx`T6+f"/(f^1fmeNp(q0mͳ1kK6ctcwGM3&,K 3nf3Ƙ1k[d1{1d݂dPL2{6.Ḟewnj%"5u̮UVt|*Z☙Pn5w"gFgY1RbƮ+fzv,Q1{%Q4(S̮UL1ӣdm+/S1;)bfji#E $) 1d1 "f*3̚qlF6>3'S&Y[C!ff)b&@434$5nf_"f;;l[Y f"fK5bMHbKϘ'b-bv#E\cMgaQK:1bƽ0TJ,3Wf2#̜av|@Sto cbo F̴j 3,3m͆~avb d?1;9׈GkiB7 3Saf_ɿ0*.0Ĉ{!f'.˔=2t#2Eme]~F̣2/ճ/St~"2O=2EFz2N>.|{AS/<ҁ/Sf/_晖9_uu˔WG3Ml2e0󬭎sv%)30L8`8fd̔K2E04em˘a`f/_ò/S9=_ {:̳dLٮEjyp)*:LO2cYe0kUeY)c:eUxeo/ݽ]Ļ#zL&,?.'uv2I2e,.ͳ.SVn~tzL){2eQLٽp>@yp@)jBG1ȳ.S.e!g˔qG2e(8r"e¹]+ut2t_^L'4.SYO)s*{2Ϟ/c,a2eNut?2e;&r/ 2^ﬓ˔\c )4r˔e\j,2f;U )C.Sfu\.Sз:eifO):e].SƇ:e>˔}YG){볎tc9pur"Q.Sg\>L ReʊZL'urO<2e7rO<2fe )ijN.S + ){ųN.STTeY'):\:L'utN<2exe>|r24 o^L'urO<2exeڥweP#˘uYg){ɳ.Sg]%zLKt<2eye2f=.S.SJ*_]X^ں˔*2eV v2 t}v]F2ep˔Xzmz rzQ.SvkCl˔=Nep"6.S-\˔e8 )p2&AV>&?w2ESGLgut2Ց.SZ)m@2fe֍eT\s&)C]˔۪\b)b?x2f{-\vp22eL=2e>2`˔y){57e:'s˔m׻e>&s諃[R)A.cC/6e6 2e>$v˔eN2e}.Sf;.ct..XL?WnW2ejLHn2'kYyp˔m-Sfc^3^,- ^M)sp˦)ka_[e:eӵ{˦.B#\.(f"\P. iJ2Meg{ݲSݲƑ[s] +H"\vfpH rى~@Kve] ]vHHe]va&΀uX.fKg$xY/ apATY3Ƣ]e}jjݘ8l˰~}]/;0Z'5P5Vz]!d.8ײX; +߹ ^<^!^ben~˰O)ew@sˊfzkƗ(leW&CYۡl̬ٲ}HYn6 0CmeQ4f=R6f+v(̼ ?v/Ci-f-e>>VmxX22T5e;ȐEIT/JL/#1PS̶jƬMs50݅Y/Bhe^vc[Ѣ٤]VnU3^y$xٹ3P#J;$kD%e /kor"q ^5Tܓe;)^Zen)^vhjIxYfxIY5e/S3aM2_ /k",heXD=f mGlwU%˞e*LXMSљ^EWnkfz&`NM Y/y֓e~De(R24XfDM2[+];)^vs R!OYN!J22fxk )^B/0/+/ ^v/)QOHreRiNexȬ9^fE5 +9.s%2{slvv1tl.۝?]cE3]֖(f\ve ]v<26@v*E2kJ٣e.kճ.SS +UL' V5˶Ǘ&]۔emK]բhMyvVlo27eOtbyTfyKb]2 `-G~˰9׉]9e.]NlqdueVn^V| +q]vY `af&[-hVx6e- v95uba GnĜ]aN첷-+x"lVĽ]v Te^v\/9mY2MxEe, P6eowaL=/d^-в6BوϚeߤٌGф> N­^j.;!t ]֖̚ߛe#^ 3:F ^ƶ~e#^fWŁ/k חt]F}^mwljs719.ŏda-.vN eV]֑F.koE: 2<9].#]* ]J!*es`5e0&tjRڦlMrY`,UTF ܏rD9%eZ|Z6eWgcz]vr3\' +rE"e>2"dF Jlzvil_:eVQ]vc&lŎDe/=(> 2m/ے%5eK8e`x`Ul624m.;? +#^V3^G1e; ED+x .V/>m.Am]/XD'vY-vvYڅ&vvv.]1ɼ. Ԩ"]֖ZFCMvkjh霪fv~]hLB=vɄ.k7ˍ7@.〨MD=D,rlXwt 5ˮ﷚eu> +\E,]u\.k;0.O1\q!7./˰JNrbyҚeB.= +pangSJ\Ƈ<3\յ5J{Mp2LE^97ehP4fV6ez ;1e)G2X?8Yx2|N%9eQvg 02Xŗx3\d3e4YE[On 1@[e;eؙK ;' rM"-kۋl`˰OTG V9"ײ-+p׸Nl`'lفMBZ5uR˰.ٲJ1̊VlZXPcI-Óʤm{ܽ2 >,u){2LFWvB2Lr`T>|Vɬ2άaᬽI-gr fF;.ejͲy,eYVl2ˀ*e%X{~(ql薉eǙe7,"&l1e=Yɩ, 4e9^XLOb(){238V/a}4da*IJN&iY֋ev\BI,;puj6$t6e A,C lm\P(2J:Xv&ubp!gel`t{Je?$a1nba82,\^zl\|bكל,XD^YV؂(ȲMk,Ȳfl^YVn-k$V?&3YDX6e8Ќ , ,[\\> ?ԉ,k;?UQ;em&$,VY{9e;N dk-Ug +ϻF'vx;ejS,=GpmˌX;efփe;v}LửN`6XzL]l8rH2t]3l Y/fL,3M\V2;xe5UA0)M2<a l0-j#W.|\Y{.WV\B24\++=W)!s^-f̫KjVXMŲ_ƨX>ſqXf`3M`3kƕ5/"'\jjܟD+;mgX8Ų2]cZEeXrkyƊG Bv!YX5vWVt2?ZV5޹+۠=Zw.x ^S Nf5pejuH2oɸ2r̸U3,Ze3W'W Չ'^ +\١2 WX,ʊ&d\"$4|o04T[2}jmye2e6eeye-).gXLw+۝SISdJK˓L+[/28<.ʼh*je>ZRxϴ2ɴ=0%I+m+A+NgZ7BdZSV&r9v4̵L+;DS$XYџ.(6*G*Clp%ZemJ/GlVf +kKm^UW*ð#jk*He*̤iM2ėQebXeGXe*kKV!Ze+* T+u\M2vT+3Ȳmig$|`NqWZ3̏RLV 9W#V]2 LEQ)WVx(re[peXZ}$fO-51VNv"WsEƕ 1S:Z•i1V.W+x+kׄMƕKkƕjL2k +9W-Wv޼e\!\d;26-Ws_ʕA•yqjƕOKh^*2 [ +Xn,;~H~>^k,\WW[d[_ꕩ5oʄ|^mx++DRLN?+3a?W6ze+C+ZT^ԛ?]^VP2Qe@y,SthVoydYF̣>{LvF#:LepY摖Y:̣{LhGgh#b`)ZgD<`-SYIt2ϰrC˔,Ϗuf21]^L^#Yơ d2vב,̚"H)cX2e,󬽺,SǯYLhyf#*h)D:eYd2e#Zl׊s@<`):6vf}fG&3qW2e~3eX) 7Lk jg0ej,2eXG̳cw{L)ڭjn"3--S:[섚u˔魎pg&M˔Rp61..SIo˔ )A.fG );.v rO 2e2ExW2enGe nG\Ƭ/9e 2%=lgz2elĪ#\3>LQ2ELrۆQ.S~E\Lu<ƭe]lY1e6t2:Lr":LI[P 2e@e>˔1C Y.Sj)N.Sd\&:e'kN.S d\:LrO 2f֊y){2e@e6 rW 2ehe r!2EA\:L'urN 2e@e>˔ѫ\')N.S d\LU\9YQ8e:˔Y)-Sd=\zLup 2e3u˘Y.SjB).Svi˔: )A\ V~\ W.cyftn).SVlY):emsw˔VemH˔m6r2eʼGj˔qv2e6Lcgbu˘u˔m6 t+] 3eN)rf˔e{Ynjup2j^u˔ g] t2/2exNt˔]2e6ԑ.cf2E&-(z2ePGLQhse/]D2e*{2f%eʶ.@)0.SXLUZe4vC:evuv"zL2el +#]*-2f.G2aG)_v2Օv2lYg)kv3Zev;]<<2e,]LxI2ESzL1vS5Lm5u,Ôv2Lqp}˔];e|@1[ ԑ.S.Ӭ@e#]f!;͙.i'kLG54fvjcjfiw2֌.۽d,0k#]f6e]*(Դ"\ie\-uZ`lz:_bBEd:&ٲSΌlպP nهEFeN ;|-C#[1[٠e2ٔn&$lYǝ-븳Ȗن.e'j 7- j`qlVvAV3lZN^ZF&jqj>lTˎǵD-93AXZZ3X, uHqh,㨪ejFuY Vt}*ȲXeg6emG !N\SdhϞOв,C˼r2C@*вU5Cs@f -[Y-cIMղexL-ㄚeoG-3wM̖]J24hh6e4٤-euwOl–yf–aϱ*2ք-+)[}5c.v:djfjʖy!fƖaPlf.\Sj2lviejʖ-,ex6ew#[a2+,e z2ܵI2nה-Nglٮz-kigl2l1p]:'Բ]Z?:Բ_fZ[leE[e3 ;pE̖y_ʖi8elk2ml*2-0-eօQSVTʖAΖ?6enN2jΖ=@fl,)[pbƖa2ͬȖ4ܲd[VluM2^ek+ z-ev)\Vf>:snA[/e^e^}e"dni'n5ilwM26-;Ox[vs,CMܲEYh- [we[֞(-}-e'68Y;e2ٯ[fmL2{,e@4U䖝>5qJܲ$n[vْͲifܲ5(qbӄ-ɲz~`i=2r`dڽyy-+Nh"[e"[fز>]ȖV ;"f)lY&DdˬiP6eoLtˮ9TX[LQ2^kƖUC[蝕 [f 9-;_J"e,ٲU#[vJ`r-l=XٲFVŲf.2'yenيV~[-;Ue-S[-FU[<ǃ.k&j@ZPXl>9ehIMGx'QD gk rY{7`p%Y.5ڽf7_ˎMrY (в]IGMpjۣ^.tH2\OrSI.;qKr?c'k#no˰Pa nѷcAioϓ[fwX ll 46e.ʘcF (3̺?: #OښزM6e=P8eHȖaC& uR'lQlhdkĖqwfnPpFRtn5FkܲZ/ګFtnvQx2얡 +Yp0uoe[vm-k5j▵%.G?e2 ܲ5sz{[FڤfnK-1[vdh.A=4.)9Q&k(Oℵ}ݷ \~\lOA.;5u&r-\r[,a5Q.kCUE7#.{+#]ƍx~. ]9]ߝ/L ]ҰM.dԄ.[Ϥt1.۱ ř-3] Z4e.;y.eҤvHuY6e"ԣl07(]IwDMtz7emUH:M.kw\|OrJ5tf<,.kK/3] ,ȐtىrlEMYGq5' tf2TzvGK.zQ+&gha2J& s4eq%2lGQ5H/ö8iz찦LCupa]>ldtj[ 2 mW^F-2~ŭA/Cs::2O>}JǠз0`äaήE^޷5e2jwjPX#z$P^v]g  qA{N~.v 21$Y-kl15P\~˜_km6eng2=7M~YdR'f8gYَc` +ҥ3U/f‰fP`}p~uYR Q0Cn 3c:(aio; W0w\F :$mI0i~3 +fO^j̙3-Ln7!!5 +f'@RAx`v~C],a]uPL{u'ؚ}Z`_@ǣl#DD097c 9 |sQY'NZ`Y3olƋ m;Ǹ;FL03% +] aCRu7 ߾W4 +f(~p[_0CINr33We@ QeX`c. e`We#`y;n f+Lm Ne=aVô˾& [$<Q0w7fg~A0C+GZ6f:f^8FVk_6fU ҞT6fᄕ +u6L('b\͡1C13 f, f@Ö"f)]gf < ڕʌݧ*w'fm51ڻ#ag 3| 4, +fgi0{nLmHeH]vx+ ,3a֞˳0C0k +aR D$̞WWY$<捄Y{uf7n0vwDI 3~+ 3-k͆ D Akby8 be0C*f0;PY3t A4f{V3hPv>,3#H.0f7$5cN٢1'YU0v"cfz֡lb|=*fmuT!u&5QP#'07*f LbfǁYbfh.MŬ)T`@3N/lF>7 f(å3E_Meݽ"bRfìfǮ"0â~ul"Hwh"=lڅJ$ &fs) fKX6fb&lg}3uՌ0{p^7fJ) 3vi+&.[u=![o`lLf=#a|oET̰ c]̘/Y`?4Om5e{LlZdo,5"fQmT0;CȣbT}j1۱V2fjb]~rf#f 1C*1qp:CX]S 152A̰fNM͙55̜+N3 $]; f!f!f/KC."bvp1B1ȃUleul6ʖf~֕fMf:3 Gٌ%!f׳H YAlVug3D)f )f[9DŬg&Ō5Q.ނk]bQ̲GōD1;lV/E^&Q̼7cʜPaښgc֖l72nj:fMX@f&39f=1f1c(1ɢc.bɬ;񡊙dl\$ 3'KDj]ܭT13ѡ( 4kE33,web2Ō] 5W)fG:Xb.KiQ]>ʙbGD1V^"bwRF16FAHR3k9b2)b&:ETP!f5ٌm}f٥O MD$C SLhfitIjM3 I3['DvvB'ٶ?A4#E̴k %_#f1N[dFƚ f¢ 1;tbKŌ{a=0Yfo#eF9+V?0[}effbņf'i՚fXf* 34/ &K?? f'2ߪ#^{LwGv"LX~]N,2e>eYƃ]晛g]t"Se. t{|.\.S$.c֑g]l]8L}r"˔rO<2exen({2exeʢA.Sg\ A.Sg\V˔K5˔Ffg1ȳ.Sg]#:LKt<2eye>˔=7e{F]o1=] T:Lٱ+)*u/);Ub5e.M2e*X2F`:LY{3ePK)S )*2e\ֆ ){gq,S%S2El8#\[LYcY)kˌq.Sv[7T2eMF|p3L~e8ntB2e#]1.Sr:e: ˔˨LL.S)+USL-S~:eZ2eW9evm/p2z:e|d).SpknpuNZ)43w}L)*VWLѥ.S55\Ƭ8_l˔m3e|H )sC=eʮ\v9\\]p"2Eۻe n2[({2e6Nֲ-a)Cˣd[Zǔng6AnY[--~-SM-SB:L7u˦kMG\6F3,\f#PpY'E"\vҔe> qHG'e=,"e#,epeEdya +n-e +3v.kK& = E첑&L +/0]^͖eI_f/C.&fx EL%5.1qXوa|/#^v`Ovkjf^3CȢ]!d/qe/kk/kws̻y-BLZ5n'zaS˼?e樗/729֌/kQ%~5ˮM0C Ye0l`ʢhzl}W6f˷Qy~z-#_f/{[Z|t}Ɨ㭲/L$edjv4!|͓^敔^FbzmY /3Y xja e^f&ƶEA/kaI/ܪfzٽ +HscgFvH׈KP!9^DQSk'XwXS5RSԒ /cuM2/)/j@^fšel^DXegr+˰zzڎ%xJ=k/U $xheN3l;$:2ەMz&e6e^'8P_=ehڕxYepW6evS@/CC=Bee2RLp)^a)^V6^:V_R쟌-e[)dxٹӜ2Ys xkr]Kfe>l2bR +vO3];|G NJf-UQ.;Ufp8ˊy e8m.[1%T6eet'ה.G+"]g]&XtV|.C1Ovijfm/Ml)U5 +>ږlEͫE.+Lޖe>o,0..r.>-e.[@`aSsls!] 't'.].[}6ˬ/T"".C̒eMd(e[:.ۭl[2sk6e.\܎v=ϹÜeo[VbDFd {A& ^Fsڲ2ew)𲷋 Xl2/Ø +z@/k_/Clc[e/m/95˾I/ /[}~A[3+Ԣ]vzCBF]-57ˎGGL5efvuxmF̮e#^/6exY C@وrveobrb]v.ZB]ȝA|^#]*vYu UCY.|\v6ah3\)c Bn^\vY ^a3_19eܳ.5ˎr\f[!{|/5eX08ؕgǝdӡU4;uyfy#YV4&fYae,۟g2< &efY9'l$?%,[>(e(0e6}J2LmQ,- +!3!nN+XDMd٪c*zSY,A)hPcs 뗙2P Sef^q~^,{i(%*,U։e+ZLҲNXvlI,)/l0WXf%^A,ßڊ bv%Q։et6YG`M-2lC ~I,$c({ŲÎqn7eX$.c,IJ+9#Y"&Q6e&X6ek>dZH~LPg Ql p}XvXع*}bםY֮wv$6LIY衟s$9v20[dVwdY7O(v"l#&Y,{$)jw:-̬vxoEYw[[2laW & =6ߙ$qegزA,x_r` + WeXf'?evlk^+`R؛6yex:%++6g+>A re3 HUȕaZ4F ](]/2Ts7seh<9(3WVN{R6reC眽2LI[Ŀ^W,󭰚e9/e_CyڊUK]/bsÕ``˕`{\f WhnBFlGm>Qk`L)D q.XE ml3I蕡W]s^JwQY+[/] DJ}4Z =bWƎH˂Wnul6# Wtٌ\{ЗpelV`(G'5be_+R/H6lג +\鏛+#+`emK욵sV5^'#je*ʴ,he&0U٤&Zw6,pe@'\~je3W{ WJWNM\i\}M^m8J6zexo2'kl,À1I,;(Ҵ*2_MbY!W3ŲVeA,laE`˾,|d,Q3}LO;e,32gz)2g\g׌+kk^ENՆ3T+?VvhMpe+{2dZYƔ2oʰ+;X68>beB2k3`-pe~ӷ3Lkƕs1#WA{ ^Y{6{e]@^N\kʕe/ꢑpeƓqe^qefX&\fO 3'%^9N2-'\CelQXƕMɸEHhƕ$ȕa@׹ĕh,pe +8.,ejql4 [|S]ΰ$^<W;peȔ'V^\1eZٱqx\yT|lKMieieM7{a KfVQ+;oW>Vv=δ2oȴ2ZSLrh$ZkVvH?]bQlUЙU +Sld?J +۔*C_**1V֖|̯UaG֢U&`+U'RٻIe/ӚPe>/4.ʎ"0 U־t`>C,V +UVf븚jenVf:eQ+{L+HL+L͵2=fZZflUwA•}SsleGʕ:d\&N) \RP0ʶ":-ʰ(,reH\ZjΕc2 El犌+Sbʕt+bꕭ\Ro)W)W֮ +[9\=׌+[peZsl[y9ʸC ͕wrel[lh+ +Ԍ+9ZHU4d-AeHVLN)Xv +,e'e |"e,c诽2X_땹;l]\ɶ+Sk [2WV"\8eBd2&1c?eB 2&J1.cd\,6& 2f >'' r 2fo\ƨc} 1A.cۆ\ żrO 2f+H&+r3;X2fBeA\' rA 2f@6e>l˘h\ȎO.c d\&sbpː 1{-cd[F p 2f@6eg !1ha\laC1 .csi˘d/\,&[ r3;k1{2dg1YXx2f19e{Ll˘qpNelfej˘އfY39eD1Cv2f&{bmː-?!L1[ t;>u?̂.c1p2fмL1~躘2f11e91x.cvq}o˘=~t2cVL1Zik1G6e6ge K.cX[*.C6Xb]l}Lt2f2e|ճ.cpqo]hI.c^H1'3efaeN³l˘2\f\,&.c t.G'B .cT2f3{2f`12d,l˘mUf`C{˘av2%mN2F14eN6kLvg6lyf-]2fv e]BD1.Ch3],+]Ʈ@f3]!Lmi{'Kt3\.VnSti8Ӕ]2 6Em12&2Bx˼ae2xV첝U.{\ֿGhZ.È4E#p8,ܲ^+l_,p.Vev**[60iWfˮN;e> +BeW2,AeAV/ +[f3GXۯlϟܲՋjr>3e~ge26lΎ̖ Ye_e l}YV6 kJ-ۢ8Rev׀hB-OVlB[jنNa)f,,CiLI |SSdlSY;Y6qf,7p0 YvzpdY(,ZShYLN*P-&lrShv{.h{Le,e6iR--'Wjjb-swYf.JTj,eV4YR~j[e#.+زlu ̖a ul㫊-pAe?5ɖ bˬgٲ d^Ves Meś0ch-۶Yaˬ8,e{|VaSlO{Vٲ(x7"2n-N +l㼃`4[ƥ--Vj}RmejpNe?!el\lTe7<[&ٲ-YfbOe\ lW6͖qTeSlɖL@e$[0d..EIlJFQdj-{xTlمɖ=hPTl/̪lɓF-;Le7[7*۔[n-[&2L7 dY.;Nl"+LeQѢoJe[YJ4 qo(=\v ⸮N<m7\vinY'Uܲy"IeUش[^-*n&ܲ-CnfCz-Q%pEPnYli -cmwn5閝'<ݨeh-;qZqˢYex|gز[)lm-;m -0]▱g)zTܲРpPYq Ѹf-;UeO<` l"0!ܲo<+n0rޣA-;n +NF[v'[e˼l[v9̖7[f+"2[lY0!*[Fvf-{ge[v{.`mpݣ2\bˎ%-lɂ-9-;_Je+\vu n\fx7, +;f \"roF|.{++]x|L ^.ώ,e;gl4l(e+m&NJEA+tfPltZG.뿄ؘtn'_xe{]%_Sa6eV .$Htb]惞8[~i;G .4eʭ(*r02;T"2߰Y*]og̶2̲Ls]Mtqmc6e(ƣqˬ{F..~!4=evp>g.gjY3+G]fU>(eqFdMxfCF ̖AM{6e:^fNX6flp3^f +`ᤗAyǯ'^?ĭI/G6e~hYN~I/3Z:&6} +A<$[hˬ}ޢ_UJF~U^݁ Z.;Y? /e/S6)'nZc/3Me6|/  :vZc/SGf_6 _ܶi/eI +>:J*`foP`c;-f&H_Y0,]c + +(*Mπmz`Xх,np 3g}0dY0[{_Yؙ Y0 ϛ'Z֩6 f[?` s`f;|/I0=슒V@RBx`v~- f3]^A0liza98 F` . lCoj &9 ̂|cɑ d'=j%:5p0swةf_Mb+w+.0[7E6fE'foUϞ̕(;eľؽ$@@qۇ~Eaf߱V4 f6p΀6s#`f#37Wě$&?f̶9sM`fUp Yn AKLmNfqK&wŊl&lx0뗊 +af.0{^]f/y6o%K-gaY ޸0;?ةfqfߒ0̼f 3-kel{aMf+Ἅg0 Uͪav@eS@XbUW# w%̛|ƕ)-Z}*Oi2fgc U1\WŬ>ݪbcΤ fV I(f(f>YR̶hY~܊b8,( "gB^YF> f6 '"fv.,!f"fej0;_'f͍MAaf7K0e0 CfoŨ_qf~:^, f|iB0[?y̜, f^/Y&̶/*2Kن3*j0{l_/f S6f8(f7.{Ve㝻 [!oVҠ@8֟YV^̣*fƎ[ŘE{`̢W)f/wQ3[BG`t,3f`0f{l ı&#Vp*bVw*f֝= +^ZE6f2f0̮عQYRET!f6 +"fn +1{b&bR fe슿m%FEYp1BR4Wb@LB܇Bo_"fK.*bވYFbA fVy0ʆ~,e,l0.ei +e> @@ -1984,33 +1976,34 @@ endobj endobj 162 0 obj << - /Length1 3768 + /Length1 3692 /Length 164 0 R /Filter /FlateDecode >> stream -xW l[Ϲ/۱8q׵pkljcM8vѴ!MGk'iڪ]Net16r -XW*`I6A Tq:cM=?sBn4su¼{('&STb g`?D||rSO >)4h^bSb yPcRT~Yg?ox7s&ҨAxP@ّlzF>s6WqxsC8 ߇p L8l>0C+ -U -P_qpqs^.rr} e¾Ş`G,syœbv1t?Zr%n`<~/Ux Yx)x{ |>rY~<'8za8 {rv|6`ЅwB&A+*j*B9\K#ɝ'mቭk @%Xi5U},C"E_2I.'ghZy/:,vS Sa#8~!:y؊e2Bu4ۆ iYۇmۧoU;n|ŹӜI/ Jp@9ɓ Ov%WT0\d!baG͙y΄b.LeYt[2=X13Ψ͒KNuIKn0&@nEeNmw#`ÙhLOraWDt ܒ%XȏXgV"7b= p_ i[#7^7ۖ"\`d3'6\7M:ڪvQ1k'd-=žHeG]"D7DJZ5x`WT -h@`uTi VZ*d[g"l075b[o%u445Vi55դNhFr۰e{ƨ?cVKJlkK5-UUzH;-G"Mkܝ٧*H.-ұu 6kX 8RXk{•fթ?SpB 5D#C~NKSiJ3ä*F.e3zis{$dr BqO^w\:*PFciDLƦFuAKrX f;f&CM B*ԜYP;u,/Ow||׽- ЭpXzTVP-< : |o]?8Nu.|csO1|ayX-pkhELvw u6s*zoxaPΩ+X8j.1đ֯(cN fX!=fn.e5fބrbV]P! ={6eԓ_7lRc=7WS -?1biuGzIg9!TTWÜ/g!r*iJ_a}-jΜuTxZ)6(>+5x|ra3DC;jD:G)4Du\MJ,Ύf[p%'>#ݠxUFc6 lrU7KMJoK -21\ԶƍvR8*b䵄}G~Uz=GK -}G߀:#kc JwL)ܕej=o3Z-\ -D|ƠaF,GRڱ 8y4ƭ;sf6mRfW|)f>@`=C&=U7KeQ#pZÚjEv<`EIEy XoܪZyQM2)o[fhMdSI 1Ԥ̩eJv*lgݡ׏-wrIP)Kc=lL*0jڐ6uu`컿 -d,e=yr_o'=Cݛl[dw#B{g/W2 Q%ĐC(BJuXʉ wptrU - _DKbԐ/mJj}=e/h8^Ϫ:/涤M [3nWn[kmJ8C[?ݍ;|yPE͏o?9[.nnEgP8GdGVZG0AC -).n1;Tܞr<]2Q/<+~+;yYT3Yx= (vފz){܀C9Аg27p$a]y2#2- cyEP^栌8/hYs^Iyl"c](!'iHn|%iJB։yЭh霖6s,sG6`\~_$zfrVr<9 #7Zdvɩy.%ɃĂ[L&!yXZJ{oc8?;gg#2L&gg\B")qv`)Ƽи?c,,/n$q^TۓJŸHt)Bz)?B1yN} cEcX)<)jf%M3~i;VtV +xW{l?~/۱8q|8qώ&i;NhڐyM8ݤqv㡶*MWlXaC!`]xU0 Nbcڠ3`gs{=swk zSq@j'ŅNϤgGG+)Mlɢ'hHB +&cbrn}2>p|^?Keؿ7?^\z2>¾xP*Alz*z>͜s+qxgp~g$ ))!}ahVB4*U_>>~Ͻ==q.{`'5M2sǔGer +QW\YX)1XEc Sq~4E>1A؊wCFq3~;g[&Ph*XGRxzXDvޞhIXi5MXD=nZٳEf@ +_ LUX Sa#RL +-scV݉PeQ-ElO擮Ι\U7;>ϩ ƒ 0DDXD #W "K),@L+zFg3;iCY3ݶLXH mUD^ cV/Pf9,eH,܍ ̈́&ƔdE  +{ȞVg8H ڑ}E<v!^ k[_?2E(jNQ +/0o vC`bA&]~}W%ʎ@o@Վ\oU-hT,uS٩%F:RZdhvvי66ZIp3 n& KMS |!j-z&YhG9^ӮUk.)G]k͕ASzL;{]'n" ٧+F!䓛Ƕ"#8bS60Mʀru]ggN㹱)j\^C5j*P1HAT9săASQI̻ *)L_-@ˢd*I.o,QS#DO&z>P\嬂59Ծ2޻7YULg,5߱Pꐴp +L;?>inj]|ur6rΖp˫5Rԁm搿F8Bm\& *jj E@Nb㨵5z-if2J̷o(/z&2[ $zs kKULxgZ[{=v3:>gm+䤶@Ȟuwި,0gxB0 +t|E 3[gj YAJYXeff]<MJ9 fY P6hBM@]*2 @M$BEp2#OtQR@˦\\Rlad#%Р + +&*mVY%.=i!By=a{Ή ]ͮǓ#*cG@:4VtkBPVUnT +Ookq;]v}}  +9LS#v O9_ƞ¶ƈ8PQQT8~\~]uH;2H_ f].2}k,T0oSSt op7o!LA esyE޼́sp 2L'gxĭxR)88R7qסpld*5GYInI̡dl{ Horg.6^_/o[[+&ωcoo!Zbuu  + 訬k3m'+n%ڦ endstream endobj 164 0 obj -2745 +2685 endobj 163 0 obj << /Length 165 0 R /Filter /FlateDecode >> stream -xk```d -? +xk```d9 k endstream endobj 165 0 obj @@ -2034,14 +2027,14 @@ endobj /CIDSystemInfo << /Registry (Adobe) /Ordering (UCS) /Supplement 0 >> /FontDescriptor 161 0 R /DW 0 -/W [ 0 [365 488 877 344 500 520 502 411 ] ] +/W [ 0 [365 488 600 344 500 520 502 411 ] ] >> endobj 167 0 obj << /Length 169 0 R /Filter /FlateDecode >> stream x]j yY.pBд`t -1} )t7(kN+ѣQip1NJgE R SmBr-N*RJ6w$$:'8}WkpF!O>2},sd)CsejFb@59XOa1XuMTI6Q(6Չ.9хb<ճ+/|-VBSI)klJ +1} )t7(kN+ѣQip1NJgE R SmBr-N*RJ6w$$:'8}WkpF!O>2},sd)CsejFb@59XOa1XuMT!QE@tDwDB1o>sؤx56f endstream endobj 169 0 obj @@ -2342,48 +2335,48 @@ xref 0000007026 00000 n 0000007081 00000 n 0000007136 00000 n -0000295079 00000 n -0000295103 00000 n -0000338216 00000 n -0000338239 00000 n -0000338274 00000 n -0000352672 00000 n -0000352533 00000 n -0000338472 00000 n -0000338727 00000 n -0000344873 00000 n -0000344851 00000 n -0000344971 00000 n -0000344991 00000 n -0000345524 00000 n -0000345150 00000 n -0000346003 00000 n -0000346024 00000 n -0000346276 00000 n -0000347688 00000 n -0000347666 00000 n -0000347775 00000 n -0000347794 00000 n -0000348185 00000 n -0000347954 00000 n -0000348497 00000 n -0000348518 00000 n -0000348774 00000 n -0000351639 00000 n -0000351617 00000 n -0000351733 00000 n -0000351753 00000 n -0000352168 00000 n -0000351913 00000 n -0000352512 00000 n -0000352595 00000 n +0000295083 00000 n +0000295107 00000 n +0000338220 00000 n +0000338243 00000 n +0000338278 00000 n +0000352616 00000 n +0000352477 00000 n +0000338476 00000 n +0000338731 00000 n +0000344877 00000 n +0000344855 00000 n +0000344975 00000 n +0000344995 00000 n +0000345528 00000 n +0000345154 00000 n +0000346007 00000 n +0000346028 00000 n +0000346280 00000 n +0000347692 00000 n +0000347670 00000 n +0000347779 00000 n +0000347798 00000 n +0000348189 00000 n +0000347958 00000 n +0000348501 00000 n +0000348522 00000 n +0000348778 00000 n +0000351583 00000 n +0000351561 00000 n +0000351677 00000 n +0000351697 00000 n +0000352112 00000 n +0000351857 00000 n +0000352456 00000 n +0000352539 00000 n trailer << /Root 170 0 R /Info 1 0 R - /ID [<2E97CBEB1553645A7A71C469CD00F5F1> <2E97CBEB1553645A7A71C469CD00F5F1>] + /ID [ ] /Size 171 >> startxref -354863 +354807 %%EOF diff --git a/figs/nhexa_multi_body_plant_fm.png b/figs/nhexa_multi_body_plant_fm.png index 7cc9fc9..ac02be7 100644 Binary files a/figs/nhexa_multi_body_plant_fm.png and b/figs/nhexa_multi_body_plant_fm.png differ diff --git a/figs/nhexa_plant_frame_cartesian.pdf b/figs/nhexa_plant_frame_cartesian.pdf index b0834df..02849ff 100644 --- a/figs/nhexa_plant_frame_cartesian.pdf +++ b/figs/nhexa_plant_frame_cartesian.pdf @@ -3,7 +3,7 @@ 1 0 obj << /Producer (Apache FOP Version 2.4.0-SNAPSHOT: PDFDocumentGraphics2D) -/CreationDate (D:20250211161457+01'00') +/CreationDate (D:20250212102411+01'00') >> endobj 2 0 obj @@ -1795,7 +1795,7 @@ trailer << /Root 177 0 R /Info 1 0 R - /ID [<702751A13354B800966C2F86ED08799E> <702751A13354B800966C2F86ED08799E>] + /ID [<16AA5D2391995C6CB7427A6B63E375A9> <16AA5D2391995C6CB7427A6B63E375A9>] /Size 178 >> startxref diff --git a/figs/nhexa_plant_frame_struts.pdf b/figs/nhexa_plant_frame_struts.pdf index 7d9a584..b8d3cf8 100644 Binary files a/figs/nhexa_plant_frame_struts.pdf and b/figs/nhexa_plant_frame_struts.pdf differ diff --git a/figs/nhexa_plant_frame_struts.png b/figs/nhexa_plant_frame_struts.png index ad4d038..f60ed4b 100644 Binary files a/figs/nhexa_plant_frame_struts.png and b/figs/nhexa_plant_frame_struts.png differ diff --git a/figs/nhexa_stewart_decentralized_control.pdf b/figs/nhexa_stewart_decentralized_control.pdf index df7c299..6aa998e 100644 Binary files a/figs/nhexa_stewart_decentralized_control.pdf and b/figs/nhexa_stewart_decentralized_control.pdf differ diff --git a/figs/nhexa_stewart_decentralized_control.png b/figs/nhexa_stewart_decentralized_control.png index 4dbd585..dbf53df 100644 Binary files a/figs/nhexa_stewart_decentralized_control.png and b/figs/nhexa_stewart_decentralized_control.png differ diff --git a/figs/nhexa_stewart_decentralized_control.svg b/figs/nhexa_stewart_decentralized_control.svg index 630f82a..a10a82d 100644 --- a/figs/nhexa_stewart_decentralized_control.svg +++ b/figs/nhexa_stewart_decentralized_control.svg @@ -24,9 +24,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="2" - inkscape:cx="159" - inkscape:cy="97.25" + inkscape:zoom="11.313708" + inkscape:cx="328.80465" + inkscape:cy="58.115339" inkscape:document-units="mm" inkscape:current-layer="layer8" showgrid="false" @@ -1312,6 +1312,66 @@ id="path5937" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1890,7 +1950,7 @@ transform="scale(-1,1)" /> @@ -1898,7 +1958,7 @@ inkscape:groupmode="layer" id="layer8" inkscape:label="from_controllers" - transform="translate(9.5800018e-8,0.68497919)"> + transform="translate(9.58e-08, 0.684979)"> @@ -1939,7 +1999,7 @@ transform="matrix(-1,0,0,1,-9.5091123,-0.68497918)" /> @@ -1961,186 +2021,10 @@ transform="translate(-9.5091123,-0.68497918)" /> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/figs/nhexa_stewart_model_input_outputs.pdf b/figs/nhexa_stewart_model_input_outputs.pdf index d1970f0..f10fd60 100644 Binary files a/figs/nhexa_stewart_model_input_outputs.pdf and b/figs/nhexa_stewart_model_input_outputs.pdf differ diff --git a/figs/nhexa_stewart_model_input_outputs.png b/figs/nhexa_stewart_model_input_outputs.png index 28fa131..8065dd4 100644 Binary files a/figs/nhexa_stewart_model_input_outputs.png and b/figs/nhexa_stewart_model_input_outputs.png differ diff --git a/figs/nhexa_stewart_model_input_outputs.svg b/figs/nhexa_stewart_model_input_outputs.svg index 6adb2f9..166d4eb 100644 --- a/figs/nhexa_stewart_model_input_outputs.svg +++ b/figs/nhexa_stewart_model_input_outputs.svg @@ -24,16 +24,16 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="22.627417" - inkscape:cx="155.69607" - inkscape:cy="141.35507" + inkscape:zoom="4" + inkscape:cx="187.75" + inkscape:cy="149.875" inkscape:document-units="mm" - inkscape:current-layer="layer8" + inkscape:current-layer="layer9" showgrid="false" inkscape:window-width="2534" - inkscape:window-height="1367" + inkscape:window-height="1387" inkscape:window-x="11" - inkscape:window-y="60" + inkscape:window-y="38" inkscape:window-maximized="1" inkscape:document-rotation="0" inkscape:showpageshadow="2" @@ -1982,6 +1982,153 @@ style="fill:context-stroke;fill-rule:evenodd;stroke:none" id="path21-6" /> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1998,7 +2145,7 @@ inkscape:groupmode="layer" id="layer8" inkscape:label="Plant" - transform="translate(17.27609,-30.156658)"> + transform="translate(17.276082,-30.156619)"> + transform="translate(17.2761, -30.1567)"> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/simscape-nano-hexapod.org b/simscape-nano-hexapod.org index f1f9802..277d859 100644 --- a/simscape-nano-hexapod.org +++ b/simscape-nano-hexapod.org @@ -265,11 +265,27 @@ It should be the exact model reference that will be included in the NASS model ( ** TODO [#A] For simplicity, maybe not talk at all about parallel stiffness with the force sensor This could be the topic of the NASS section. -** TODO [#B] Check all notations +** DONE [#B] Check all notations +CLOSED: [2025-02-12 Wed 10:21] - [ ] Make sure they are all defined in correct order - [ ] Make sure all vectors and matrices are bold +| | uniaxial model | rotating model | HERE | Experimental | +|----------------------+----------------+----------------+-----------------------------------------------------+-----------------------------------------------------| +| Strut force | $f$ | $F_u$, $F_v$ | $\bm{f}$, $f_i$ | plant input $\bm{u}$, stack voltages $\bm{V}_a$ | +| Strut displacement | $d\mathcal{L}$ | $d_u$, $d_v$ | $\bm{\mathcal{L}}$, $l_i$ | | +| Error in strut frame | | | $\bm{\epsilon\mathcal{L}}$, $\epsilon\mathcal{L}_i$ | $\bm{\epsilon\mathcal{L}}$, $\epsilon\mathcal{L}_i$ | +| Encoder | - | | | $\bm{d}_e$ | +| Force Sensor | $f_n$ | $f_u$, $f_v$ | $\bm{f}_n$ | voltages: $\bm{V}_s$ | +| Sample motion | $d$ | | $\bm{\mathcal{X}}$ | $D_x$, ..., $R_y$ | +| Damped plant input | $u^\prime$ | | $\bm{f}^\prime$ | $\mathcal{u}^\prime$ | + +Conclusion: +- [X] Actuator forces: $\bm{\tau}$ => $\bm{f}$ and $f_i$ +- [X] Strut displacement: $d_L$ => $\bm{\mathcal{L}}$ and $l_i$ +- [X] Force sensor: $f_m$ => $\bm{f}_n$ and $f_{ni}$ + ** TODO [#B] Remove all un-used control architecture - [ ] Make sure HAC-IFF works as explained in the document @@ -371,7 +387,7 @@ Instead, a multi-body model of the Stewart platform is developed (Section ref:se From a control point of view, the Stewart platform is a MIMO system with complex dynamics. To control such system, it requires several tools to study interaction (Section ref:sec:nhexa_control). -* Active Vibration Platforms +* TODO Active Vibration Platforms <> ** Introduction :ignore: @@ -498,7 +514,7 @@ On the other hand, frames $\{A\}$ and $\{B\}$ are used to describe the relative For the nano-hexapod, frames $\{A\}$ and $\{B\}$ are chosen to be located at the theoretical focus point of the X-ray light which is $150\,mm$ above the top platform, i.e. above $\{M\}$. Location of the joints and orientation and length of the struts are crucial for subsequent kinematic, static, and dynamic analyses of the Stewart platform. -The center of rotation for the joint fixed to the base is noted $\bm{a}_i$, while $b_i$ is used for the top platform joints. +The center of rotation for the joint fixed to the base is noted $\bm{a}_i$, while $\bm{b}_i$ is used for the top platform joints. The struts orientation are represented by the unit vectors $\hat{\bm{s}}_i$ and their lengths by the scalars $l_i$. This is summarized in Figure ref:fig:nhexa_stewart_notations. @@ -565,14 +581,14 @@ As was shown in Section ref:ssec:nhexa_stewart_platform_kinematics, the strut le By taking the time derivative of the position loop close eqref:eq:nhexa_loop_closure, the /velocity loop closure/ is obtained eqref:eq:nhexa_loop_closure_velocity. \begin{equation}\label{eq:nhexa_loop_closure_velocity} - {}^A\bm{v}_p + {}^A \dot{\bm{R}}_B {}^B\bm{b}_i + {}^A\bm{R}_B \underbrace{{}^B\dot{\bm{b}_i}}_{=0} = \dot{l}_i {}^A\hat{\bm{s}}_i + l_i {}^A\dot{\hat{\bm{s}}}_i + \underbrace{{}^A\dot{a}_i}_{=0} + {}^A\bm{v}_p + {}^A \dot{\bm{R}}_B {}^B\bm{b}_i + {}^A\bm{R}_B \underbrace{{}^B\dot{\bm{b}_i}}_{=0} = \dot{l}_i {}^A\hat{\bm{s}}_i + l_i {}^A\dot{\hat{\bm{s}}}_i + \underbrace{{}^A\dot{\bm{a}}_i}_{=0} \end{equation} Moreover, we have: - ${}^A\dot{\bm{R}}_B {}^B\bm{b}_i = {}^A\bm{\omega} \times {}^A\bm{R}_B {}^B\bm{b}_i = {}^A\bm{\omega} \times {}^A\bm{b}_i$ in which ${}^A\bm{\omega}$ denotes the angular velocity of the moving platform expressed in the fixed frame $\{\bm{A}\}$. - $l_i {}^A\dot{\hat{\bm{s}}}_i = l_i \left( {}^A\bm{\omega}_i \times \hat{\bm{s}}_i \right)$ in which ${}^A\bm{\omega}_i$ is the angular velocity of strut $i$ express in fixed frame $\{\bm{A}\}$. -By multiplying both sides by ${}^A\hat{s}_i$, eqref:eq:nhexa_loop_closure_velocity_bis is obtained. +By multiplying both sides by ${}^A\hat{\bm{s}}_i$, eqref:eq:nhexa_loop_closure_velocity_bis is obtained. \begin{equation}\label{eq:nhexa_loop_closure_velocity_bis} {}^A\hat{\bm{s}}_i {}^A\bm{v}_p + \underbrace{{}^A\hat{\bm{s}}_i ({}^A\bm{\omega} \times {}^A\bm{b}_i)}_{=({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) {}^A\bm{\omega}} = \dot{l}_i + \underbrace{{}^A\hat{s}_i l_i \left( {}^A\bm{\omega}_i \times {}^A\hat{\bm{s}}_i \right)}_{=0} @@ -620,7 +636,7 @@ As the inverse kinematic can be easily solved exactly this is not much useful, h **** Range validity of the approximate inverse kinematics The accuracy of the Jacobian-based forward kinematics solution was estimated through a systematic error analysis. -For a series of platform positions along the $x$-axis, the exact strut lengths are computed using the analytical inverse kinematics equation eqref:eq:nhexa_inverse_kinematics. +For a series of platform positions along the $x\text{-axis}$, the exact strut lengths are computed using the analytical inverse kinematics equation eqref:eq:nhexa_inverse_kinematics. These strut lengths are then used with the Jacobian to estimate the platform pose, from which the error between the estimated and true poses can be calculated. The estimation errors in the $x$, $y$, and $z$ directions are shown in Figure ref:fig:nhexa_forward_kinematics_approximate_errors. @@ -682,25 +698,25 @@ exportFig('figs/nhexa_forward_kinematics_approximate_errors.pdf', 'width', 'wide The static force analysis of the Stewart platform can be elegantly performed using the principle of virtual work. This principle states that, for a system in static equilibrium, the total virtual work of all forces acting on the system must be zero for any virtual displacement compatible with the system's constraints. -Let $\bm{\tau} = [\tau_1, \tau_2, \cdots, \tau_6]^T$ represent the vector of actuator forces applied in each strut, and $\bm{\mathcal{F}} = [\bm{f}, \bm{n}]^T$ denote the external wrench (combined force $\bm{f}$ and torque $\bm{n}$) acting on the mobile platform at point $\bm{O}_B$. +Let $\bm{f} = [f_1, f_2, \cdots, f_6]^T$ represent the vector of actuator forces applied in each strut, and $\bm{\mathcal{F}} = [\bm{F}, \bm{n}]^T$ denote the external wrench (combined force $\bm{F}$ and torque $\bm{n}$) acting on the mobile platform at point $\bm{O}_B$. The virtual work $\delta W$ consists of two contributions: -- The work performed by the actuator forces through virtual strut displacements $\delta \bm{\mathcal{L}}$: $\bm{\tau}^T \delta \bm{\mathcal{L}}$ +- The work performed by the actuator forces through virtual strut displacements $\delta \bm{\mathcal{L}}$: $\bm{f}^T \delta \bm{\mathcal{L}}$ - The work performed by the external wrench through virtual platform displacements $\delta \bm{\mathcal{X}}$: $-\bm{\mathcal{F}}^T \delta \bm{\mathcal{X}}$ The principle of virtual work can thus be expressed as: \begin{equation} -\delta W = \bm{\tau}^T \delta \bm{\mathcal{L}} - \bm{\mathcal{F}}^T \delta \bm{\mathcal{X}} = 0 +\delta W = \bm{f}^T \delta \bm{\mathcal{L}} - \bm{\mathcal{F}}^T \delta \bm{\mathcal{X}} = 0 \end{equation} Using the Jacobian relationship that links virtual displacements eqref:eq:nhexa_inverse_kinematics_approximate, this equation becomes: \begin{equation} -\left( \bm{\tau}^T \bm{J} - \bm{\mathcal{F}}^T \right) \delta \bm{\mathcal{X}} = 0 +\left( \bm{f}^T \bm{J} - \bm{\mathcal{F}}^T \right) \delta \bm{\mathcal{X}} = 0 \end{equation} Since this equation must hold for any virtual displacement $\delta \bm{\mathcal{X}}$, the following force mapping relationships can be derived: \begin{equation}\label{eq:nhexa_jacobian_forces} -\bm{\tau}^T \bm{J} - \bm{\mathcal{F}}^T = 0 \quad \Rightarrow \quad \boxed{\bm{\mathcal{F}} = \bm{J}^T \bm{\tau}} \quad \text{and} \quad \boxed{\bm{\tau} = \bm{J}^{-T} \bm{\mathcal{F}}} +\bm{f}^T \bm{J} - \bm{\mathcal{F}}^T = 0 \quad \Rightarrow \quad \boxed{\bm{\mathcal{F}} = \bm{J}^T \bm{f}} \quad \text{and} \quad \boxed{\bm{f} = \bm{J}^{-T} \bm{\mathcal{F}}} \end{equation} These equations establish that the transpose of the Jacobian matrix maps actuator forces to platform forces and torques, while its inverse transpose maps platform forces and torques to required actuator forces. @@ -711,31 +727,31 @@ These equations establish that the transpose of the Jacobian matrix maps actuato The static stiffness characteristics of the Stewart platform play a crucial role in its performance, particularly for precision positioning applications. These characteristics are fundamentally determined by both the actuator properties and the platform geometry. -Starting from the individual actuators, the relationship between applied force $\delta \tau_i$ and resulting displacement $\delta l_i$ for each strut $i$ is characterized by its stiffness $k_i$: +Starting from the individual actuators, the relationship between applied force $f_i$ and resulting displacement $\delta l_i$ for each strut $i$ is characterized by its stiffness $k_i$: \begin{equation} -\tau_i = k_i \delta l_i, \quad i = 1,\ \dots,\ 6 +f_i = k_i \delta l_i, \quad i = 1,\ \dots,\ 6 \end{equation} -These individual relationships can be combined into a matrix form using the diagonal stiffness matrix $\mathcal{K}$: +These individual relationships can be combined into a matrix form using the diagonal stiffness matrix $\bm{\mathcal{K}}$: \begin{equation} -\bm{\tau} = \mathcal{K} \delta \bm{\mathcal{L}}, \quad \mathcal{K} = \text{diag}\left[ k_1,\ \dots,\ k_6 \right] +\bm{f} = \bm{\mathcal{K}} \cdot \delta \bm{\mathcal{L}}, \quad \bm{\mathcal{K}} = \text{diag}\left[ k_1,\ \dots,\ k_6 \right] \end{equation} By applying the force mapping relationships eqref:eq:nhexa_jacobian_forces derived in the previous section and the Jacobian relationship for small displacements eqref:eq:nhexa_forward_kinematics_approximate, the relationship between applied wrench $\bm{\mathcal{F}}$ and resulting platform displacement $\delta \bm{\mathcal{X}}$ is obtained eqref:eq:nhexa_stiffness_matrix. \begin{equation}\label{eq:nhexa_stiffness_matrix} -\bm{\mathcal{F}} = \underbrace{\bm{J}^T \mathcal{K} \bm{J}}_{\bm{K}} \delta \bm{\mathcal{X}} +\bm{\mathcal{F}} = \underbrace{\bm{J}^T \bm{\mathcal{K}} \bm{J}}_{\bm{K}} \cdot \delta \bm{\mathcal{X}} \end{equation} -where $\bm{K} = \bm{J}^T \mathcal{K} \bm{J}$ is identified as the platform stiffness matrix. +where $\bm{K} = \bm{J}^T \bm{\mathcal{K}} \bm{J}$ is identified as the platform stiffness matrix. The inverse relationship is given by the compliance matrix $\bm{C}$: \begin{equation} -\delta \bm{\mathcal{X}} = \underbrace{(\bm{J}^T \mathcal{K} \bm{J})^{-1}}_{\bm{C}} \bm{\mathcal{F}} +\delta \bm{\mathcal{X}} = \underbrace{(\bm{J}^T \bm{\mathcal{K}} \bm{J})^{-1}}_{\bm{C}} \bm{\mathcal{F}} \end{equation} These relationships reveal that the overall platform stiffness and compliance characteristics are determined by two factors: -- The individual actuator stiffnesses represented by $\mathcal{K}$ +- The individual actuator stiffnesses represented by $\bm{\mathcal{K}}$ - The geometric configuration embodied in the Jacobian matrix $\bm{J}$ This geometric dependency means that the platform's stiffness varies throughout its workspace, as the Jacobian matrix changes with the platform's position and orientation. @@ -756,33 +772,33 @@ For initial analysis, we consider a simplified model with the following assumpti Under these assumptions, the system dynamics can be expressed in the Cartesian space as: \begin{equation} -M s^2 \mathcal{X} = \Sigma \mathcal{F} +\bm{M} s^2 \bm{\mathcal{X}} = \Sigma \bm{\mathcal{F}} \end{equation} -where $M$ represents the platform mass matrix, $\mathcal{X}$ the platform pose, and $\Sigma \mathcal{F}$ the sum of forces acting on the platform. +where $\bm{M}$ represents the platform mass matrix, $\bm{\mathcal{X}}$ the platform pose, and $\Sigma \bm{\mathcal{F}}$ the sum of forces acting on the platform. -The primary forces acting on the system are actuator forces $\bm{\tau}$, elastic forces due to strut stiffness $-\mathcal{K} \mathcal{L}$ and damping forces in the struts $\mathcal{C} \dot{\mathcal{L}}$. +The primary forces acting on the system are actuator forces $\bm{f}$, elastic forces due to strut stiffness $-\bm{\mathcal{K}} \bm{\mathcal{L}}$ and damping forces in the struts $\bm{\mathcal{C}} \dot{\bm{\mathcal{L}}}$. \begin{equation} -\Sigma \bm{\mathcal{F}} = \bm{J}^T (\tau - \mathcal{K} \mathcal{L} - s \mathcal{C} \mathcal{L}), \quad \mathcal{K} = \text{diag}(k_1\,\dots\,k_6),\ \mathcal{C} = \text{diag}(c_1\,\dots\,c_6) +\Sigma \bm{\mathcal{F}} = \bm{J}^T (\bm{f} - \bm{\mathcal{K}} \bm{\mathcal{L}} - s \bm{\mathcal{C}} \bm{\mathcal{L}}), \quad \bm{\mathcal{K}} = \text{diag}(k_1\,\dots\,k_6),\ \bm{\mathcal{C}} = \text{diag}(c_1\,\dots\,c_6) \end{equation} Combining these forces and using eqref:eq:nhexa_forward_kinematics_approximate yields the complete dynamic equation eqref:eq:nhexa_dynamical_equations. \begin{equation}\label{eq:nhexa_dynamical_equations} -\bm{M} s^2 \bm{\mathcal{X}} = \bm{\mathcal{F}} - \bm{J}^T \bm{\mathcal{K}} \bm{J} \bm{\mathcal{X}} - \bm{J}^T \bm{\mathcal{C}} \bm{J} s \bm{\mathcal{X}} + \bm{M} s^2 \bm{\mathcal{X}} = \bm{\mathcal{F}} - \bm{J}^T \bm{\mathcal{K}} \bm{J} \bm{\mathcal{X}} - \bm{J}^T \bm{\mathcal{C}} \bm{J} s \bm{\mathcal{X}} \end{equation} -The transfer function in the Cartesian frame becomes eqref:eq:nhexa_transfer_function_cart. +The transfer function matrix in the Cartesian frame becomes eqref:eq:nhexa_transfer_function_cart. \begin{equation}\label{eq:nhexa_transfer_function_cart} -\frac{\mathcal{X}}{\mathcal{F}}(s) = ( M s^2 + \bm{J}^{T} \mathcal{C} J s + \bm{J}^{T} \mathcal{K} J )^{-1} + \frac{{\mathcal{X}}}{\bm{\mathcal{F}}}(s) = ( \bm{M} s^2 + \bm{J}^{T} \bm{\mathcal{C}} \bm{J} s + \bm{J}^{T} \bm{\mathcal{K}} \bm{J} )^{-1} \end{equation} Through coordinate transformation using the Jacobian matrix, the dynamics in the actuator space is obtained eqref:eq:nhexa_transfer_function_struts. \begin{equation}\label{eq:nhexa_transfer_function_struts} -\frac{\mathcal{L}}{\tau}(s) = ( \bm{J}^{-T} M \bm{J}^{-1} s^2 + \mathcal{C} + \mathcal{K} )^{-1} + \frac{\bm{\mathcal{L}}}{\bm{f}}(s) = ( \bm{J}^{-T} \bm{M} \bm{J}^{-1} s^2 + \bm{\mathcal{C}} + \bm{\mathcal{K}} )^{-1} \end{equation} While this simplified model provides useful insights, real Stewart platforms exhibit more complex behaviors. @@ -858,12 +874,12 @@ Finally, the validated model is employed to analyze the nano-hexapod dynamics, f **** Geometry The Stewart platform's geometry is defined by two principal coordinate frames (Figure ref:fig:nhexa_stewart_model_def): a fixed base frame $\{F\}$ and a moving platform frame $\{M\}$. -The joints connecting the actuators to these frames are located at positions ${}^Fa_i$ and ${}^Mb_i$ respectively. +The joints connecting the actuators to these frames are located at positions ${}^F\bm{a}_i$ and ${}^M\bm{b}_i$ respectively. The point of interest, denoted by frame $\{A\}$, is situated $150\,mm$ above the moving platform frame $\{M\}$. The geometric parameters of the nano-hexapod are summarized in Table ref:tab:nhexa_stewart_model_geometry. These parameters define the positions of all connection points in their respective coordinate frames. -From these parameters, key kinematic properties can be derived: the strut orientations $\hat{s}_i$, strut lengths $l_i$, and the system's Jacobian matrix $\bm{J}$. +From these parameters, key kinematic properties can be derived: the strut orientations $\hat{\bm{s}}_i$, strut lengths $l_i$, and the system's Jacobian matrix $\bm{J}$. #+attr_latex: :options [b]{0.6\linewidth} #+begin_minipage @@ -881,20 +897,20 @@ From these parameters, key kinematic properties can be derived: the strut orient #+attr_latex: :booktabs t :float nil :center nil | | $\bm{x}$ | $\bm{y}$ | $\bm{z}$ | |-----------+----------+----------+----------| -| ${}^MO_B$ | $0$ | $0$ | $150$ | -| ${}^FO_M$ | $0$ | $0$ | $95$ | -| ${}^Fa_1$ | $-92$ | $-77$ | $20$ | -| ${}^Fa_2$ | $92$ | $-77$ | $20$ | -| ${}^Fa_3$ | $113$ | $-41$ | $20$ | -| ${}^Fa_4$ | $21$ | $118$ | $20$ | -| ${}^Fa_5$ | $-21$ | $118$ | $20$ | -| ${}^Fa_6$ | $-113$ | $-41$ | $20$ | -| ${}^Mb_1$ | $-28$ | $-106$ | $-20$ | -| ${}^Mb_2$ | $28$ | $-106$ | $-20$ | -| ${}^Mb_3$ | $106$ | $28$ | $-20$ | -| ${}^Mb_4$ | $78$ | $78$ | $-20$ | -| ${}^Mb_5$ | $-78$ | $78$ | $-20$ | -| ${}^Mb_6$ | $-106$ | $28$ | $-20$ | +| ${}^M\bm{O}_B$ | $0$ | $0$ | $150$ | +| ${}^F\bm{O}_M$ | $0$ | $0$ | $95$ | +| ${}^F\bm{a}_1$ | $-92$ | $-77$ | $20$ | +| ${}^F\bm{a}_2$ | $92$ | $-77$ | $20$ | +| ${}^F\bm{a}_3$ | $113$ | $-41$ | $20$ | +| ${}^F\bm{a}_4$ | $21$ | $118$ | $20$ | +| ${}^F\bm{a}_5$ | $-21$ | $118$ | $20$ | +| ${}^F\bm{a}_6$ | $-113$ | $-41$ | $20$ | +| ${}^M\bm{b}_1$ | $-28$ | $-106$ | $-20$ | +| ${}^M\bm{b}_2$ | $28$ | $-106$ | $-20$ | +| ${}^M\bm{b}_3$ | $106$ | $28$ | $-20$ | +| ${}^M\bm{b}_4$ | $78$ | $78$ | $-20$ | +| ${}^M\bm{b}_5$ | $-78$ | $78$ | $-20$ | +| ${}^M\bm{b}_6$ | $-106$ | $28$ | $-20$ | #+latex: \captionof{table}{\label{tab:nhexa_stewart_model_geometry}Parameter values in [mm]} #+end_scriptsize #+end_minipage @@ -921,7 +937,7 @@ The actuator model comprises several key elements (Figure ref:fig:nhexa_actuator At its core, each actuator is modeled as a prismatic joint with internal stiffness $k_a$ and damping $c_a$, driven by a force source $f$. Similarly to what was found using the rotating 3-DoF model, a parallel stiffness $k_p$ is added in parallel with the force sensor to ensure stability when considering spindle rotation effects. -Each actuator is equipped with two sensors: a force sensor providing measurements $f_m$ and a relative motion sensor measuring displacement $d_L$. +Each actuator is equipped with two sensors: a force sensor providing measurements $f_n$ and a relative motion sensor measuring strut length $l_i$. The actuator parameters used in the conceptual phase are presented in Table ref:tab:nhexa_actuator_parameters. This modular approach to actuator modeling allows for future refinements as the design evolves, enabling the incorporation of additional dynamic effects or sensor characteristics as needed. @@ -952,7 +968,7 @@ This modular approach to actuator modeling allows for future refinements as the ** Validation of the multi-body model <> -The developed multi-body model of the Stewart platform is represented schematically in Figure ref:fig:nhexa_stewart_model_input_outputs, highlighting the key inputs and outputs: actuator forces $\bm{f}$, force sensor measurements $\bm{f}_m$, and relative displacement measurements $\bm{d}_L$. +The developed multi-body model of the Stewart platform is represented schematically in Figure ref:fig:nhexa_stewart_model_input_outputs, highlighting the key inputs and outputs: actuator forces $\bm{f}$, force sensor measurements $\bm{f}_n$, and relative displacement measurements $\bm{\mathcal{L}}$. The frames $\{F\}$ and $\{M\}$ serve as interfaces for integration with other elements in the multi-body system. A three-dimensional visualization of the model is presented in Figure ref:fig:nhexa_simscape_screenshot. @@ -1054,11 +1070,11 @@ ax1 = nexttile([2,1]); hold on; for i = 1:6 plot(freqs, abs(squeeze(freqresp(G_simscape(i,1), freqs, 'Hz'))), 'color', [colors(i,:), 0.5], ... - 'DisplayName', sprintf('$d_{L%i}/f_1$ - Multi-Body', i)) + 'DisplayName', sprintf('$l_%i/f_1$ - Multi-Body', i)) end for i = 1:6 plot(freqs, abs(squeeze(freqresp(G_analytical(i,1), freqs, 'Hz'))), '--', 'color', [colors(i,:)], ... - 'DisplayName', sprintf('$d_{L%i}/f_1$ - Analytical', i)) + 'DisplayName', sprintf('$l_%i/f_1$ - Analytical', i)) end hold off; set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); @@ -1099,17 +1115,17 @@ exportFig('figs/nhexa_comp_multi_body_analytical.pdf', 'width', 'wide', 'height' Following the validation of the multi-body model, a detailed analysis of the nano-hexapod dynamics has been performed. The model parameters are set according to the specifications outlined in Section ref:ssec:nhexa_model_def, with a payload mass of $10\,kg$. -Transfer functions from actuator forces $\bm{f}$ to both strut displacements $\bm{d}_L$ and force measurements $\bm{f}_m$ are derived from the multi-body model. +Transfer functions from actuator forces $\bm{f}$ to both strut displacements $\bm{\mathcal{L}}$ and force measurements $\bm{f}_n$ are derived from the multi-body model. The transfer functions relating actuator forces to strut displacements are presented in Figure ref:fig:nhexa_multi_body_plant_dL. -Due to the system's symmetrical design and identical strut configurations, all diagonal terms (transfer functions from force $f_i$ to displacement $d_{Li}$ of the same strut) exhibit identical behavior. +Due to the system's symmetrical design and identical strut configurations, all diagonal terms (transfer functions from force $f_i$ to displacement $l_i$ of the same strut) exhibit identical behavior. While the system possesses six degrees of freedom, only four distinct resonance frequencies are observed in the frequency response. This reduction from six to four observable modes is attributed to the system's symmetry, where two pairs of resonances occur at identical frequencies. The system's behavior can be characterized in three frequency regions. -At low frequencies, well below the first resonance, the plant demonstrates good decoupling between actuators, with the response dominated by the strut stiffness: $G(j\omega) \xrightarrow[\omega \to 0]{} \mathcal{K}^{-1}$. +At low frequencies, well below the first resonance, the plant demonstrates good decoupling between actuators, with the response dominated by the strut stiffness: $\bm{G}(j\omega) \xrightarrow[\omega \to 0]{} \bm{\mathcal{K}}^{-1}$. In the mid-frequency range, the system exhibits coupled dynamics through its resonant modes, reflecting the complex interactions between the platform's degrees of freedom. -At high frequencies, above the highest resonance, the response is governed by the payload's inertia mapped to the strut coordinates: $G(j\omega) \xrightarrow[\omega \to \infty]{} J M^{-T} J^T \frac{-1}{\omega^2}$ +At high frequencies, above the highest resonance, the response is governed by the payload's inertia mapped to the strut coordinates: $\bm{G}(j\omega) \xrightarrow[\omega \to \infty]{} \bm{J} \bm{M}^{-T} \bm{J}^T \frac{-1}{\omega^2}$ The force sensor transfer functions, shown in Figure ref:fig:nhexa_multi_body_plant_fm, display characteristics typical of collocated actuator-sensor pairs. Each actuator's transfer function to its associated force sensor exhibits alternating complex conjugate poles and zeros. @@ -1209,9 +1225,9 @@ for i = 1:5 end end plot(freqs, abs(squeeze(freqresp(G(7,1), freqs, 'Hz'))), 'color', colors(1,:), ... - 'DisplayName', '$f_{mi}/f_i$') + 'DisplayName', '$f_{ni}/f_i$') plot(freqs, abs(squeeze(freqresp(G_no_kp(7,1), freqs, 'Hz'))), 'color', colors(2,:), ... - 'DisplayName', '$f_{mi}/f_i$ (no $k_p$)') + 'DisplayName', '$f_{ni}/f_i$ (no $k_p$)') for i = 2:6 plot(freqs, abs(squeeze(freqresp(G(6+i,i), freqs, 'Hz'))), 'color', colors(1,:), ... 'HandleVisibility', 'off'); @@ -1219,7 +1235,7 @@ for i = 2:6 'HandleVisibility', 'off'); end plot(freqs, abs(squeeze(freqresp(G(7,2), freqs, 'Hz'))), 'color', [0, 0, 0, 0.2], ... - 'DisplayName', '$f_{mi}/f_j$') + 'DisplayName', '$f_{ni}/f_j$') hold off; set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); ylabel('Amplitude [N/N]'); set(gca, 'XTickLabel',[]); @@ -1251,13 +1267,13 @@ exportFig('figs/nhexa_multi_body_plant_fm.pdf', 'width', 'half', 'height', 600); #+caption: Bode plot of the transfer functions computed from the nano-hexapod multi-body model #+attr_latex: :options [htbp] #+begin_figure -#+attr_latex: :caption \subcaption{\label{fig:nhexa_multi_body_plant_dL}$\bm{f}$ to $\bm{d}_{L}$} +#+attr_latex: :caption \subcaption{\label{fig:nhexa_multi_body_plant_dL}$\bm{f}$ to $\bm{\mathcal{L}}$} #+attr_latex: :options {0.48\textwidth} #+begin_subfigure #+attr_latex: :width \linewidth [[file:figs/nhexa_multi_body_plant_dL.png]] #+end_subfigure -#+attr_latex: :caption \subcaption{\label{fig:nhexa_multi_body_plant_fm}$\bm{f}$ to $\bm{f}_{m}$} +#+attr_latex: :caption \subcaption{\label{fig:nhexa_multi_body_plant_fm}$\bm{f}$ to $\bm{f}_{n}$} #+attr_latex: :options {0.48\textwidth} #+begin_subfigure #+attr_latex: :width \linewidth @@ -1376,7 +1392,7 @@ Furthermore, at low frequencies, the plant exhibits good decoupling between stru \draw[->] ($(outputX) + (0.3, 0)$)node[branch]{} node[above]{$\bm{\mathcal{X}}$} -- ++(0, -1.2) -| (subr.south); \draw[->] (subr.east) -- node[midway, above]{$\bm{\epsilon}_{\mathcal{X}}$} (J.west); \draw[->] (J.east) -- node[midway, above]{$\bm{\epsilon}_{\mathcal{L}}$} (K.west); - \draw[->] (K.east) -- node[midway, above]{$\bm{\tau}$} (inputF); + \draw[->] (K.east) -- node[midway, above]{$\bm{f}$} (inputF); \draw[<-] (subr.west)node[above left]{$\bm{r}_{\mathcal{X}}$} -- ++(-0.8, 0); \end{tikzpicture} @@ -1399,7 +1415,7 @@ Furthermore, at low frequencies, the plant exhibits good decoupling between stru \draw[->] (subr.east) -- node[midway, above]{$\bm{\epsilon}_{\mathcal{X}}$} (K.west); \draw[->] (K.east) -- node[midway, above]{$\bm{\mathcal{F}}$} (J.west); - \draw[->] (J.east) -- node[midway, above]{$\bm{\tau}$} (inputF.west); + \draw[->] (J.east) -- node[midway, above]{$\bm{f}$} (inputF.west); \draw[<-] (subr.west)node[above left]{$\bm{r}_{\mathcal{X}}$} -- ++(-0.8, 0); \end{tikzpicture} #+end_src @@ -1479,13 +1495,13 @@ for i = 1:5 end end plot(freqs, abs(squeeze(freqresp(G_struts(1,1), freqs, 'Hz'))), 'color', colors(1,:), ... - 'DisplayName', '$-\epsilon_{\mathcal{L}i}/\tau_i$') + 'DisplayName', '$-\epsilon_{\mathcal{L}i}/f_i$') for i = 2:6 plot(freqs, abs(squeeze(freqresp(G_struts(i,i), freqs, 'Hz'))), 'color', colors(1,:), ... 'HandleVisibility', 'off'); end plot(freqs, abs(squeeze(freqresp(G_struts(1,2), freqs, 'Hz'))), 'color', [0, 0, 0, 0.2], ... - 'DisplayName', '$-\epsilon_{\mathcal{L}i}/\tau_j$') + 'DisplayName', '$-\epsilon_{\mathcal{L}i}/f_j$') hold off; set(gca, 'XScale', 'log'); set(gca, 'YScale', 'log'); ylabel('Amplitude [m/N]'); set(gca, 'XTickLabel',[]); @@ -1604,11 +1620,11 @@ The corresponding block diagram of the control loop is shown in Figure ref:fig:n % Connections and labels \draw[->] (outputL) -- ++(0.7, 0) coordinate(eastlac) |- (Klac.east); - \node[above right] at (outputL){$\bm{f}_m$}; + \node[above right] at (outputL){$\bm{f}_n$}; \draw[->] (Klac.west) -| (addF.north); \draw[->] (addF.east) -- (input) node[above left]{$\bm{f}$}; - \draw[->] (outputH) -- ++(1.7, 0) node[above left]{$\bm{d_L}$}; + \draw[->] (outputH) -- ++(1.7, 0) node[above left]{$\bm{\mathcal{L}}$}; \draw[<-] (addF.west) -- ++(-0.8, 0) node[above right]{$\bm{f}^{\prime}$}; \begin{scope}[on background layer] @@ -1640,7 +1656,7 @@ The Root Locus analysis, shown in Figure ref:fig:nhexa_decentralized_iff_root_lo A key characteristic of force feedback control with collocated sensor-actuator pairs is observed: all closed-loop poles are bounded to the left-half plane, indicating guaranteed stability [[cite:&preumont08_trans_zeros_struc_contr_with]]. This property is particularly valuable as the coupling is very large around resonance frequencies, enabling control of modes that would be difficult to include within the bandwidth using position feedback alone. -The bode plot of an individual loop gain (i.e. the loop gain of $K_{\text{IFF}}(s) \cdot \frac{f_{mi}}{f_i}(s)$), presented in Figure ref:fig:nhexa_decentralized_iff_loop_gain, exhibits the typical characteristics of integral force feedback of having a phase bounded between $-90^o$ and $+90^o$. +The bode plot of an individual loop gain (i.e. the loop gain of $K_{\text{IFF}}(s) \cdot \frac{f_{ni}}{f_i}(s)$), presented in Figure ref:fig:nhexa_decentralized_iff_loop_gain, exhibits the typical characteristics of integral force feedback of having a phase bounded between $-90^o$ and $+90^o$. The loop-gain is high around the resonance frequencies, indicating that the decentralized IFF provides significant control authority over these modes. This high gain, combined with the bounded phase, enables effective damping of the resonant modes while maintaining stability. @@ -1741,7 +1757,7 @@ exportFig('figs/nhexa_decentralized_iff_loop_gain.pdf', 'width', 'half', 'height #+caption: Decentralized IFF #+attr_latex: :options [htbp] #+begin_figure -#+attr_latex: :caption \subcaption{\label{fig:nhexa_decentralized_iff_loop_gain}Loop Gain: bode plot of $K_{\text{IFF}}(s) \frac{f_{m1}}{f_1}(s)$} +#+attr_latex: :caption \subcaption{\label{fig:nhexa_decentralized_iff_loop_gain}Loop Gain: bode plot of $K_{\text{IFF}}(s) \frac{f_{n1}}{f_1}(s)$} #+attr_latex: :options {0.48\textwidth} #+begin_subfigure #+attr_latex: :scale 0.85 @@ -1783,7 +1799,7 @@ A diagonal High Authority Controller $\bm{K}_{\text{HAC}}$ then processes these % Connections and labels \draw[->] (outputL) -- ++(0.7, 0) coordinate(eastlac) |- (Klac.east); - \node[above right] at (outputL){$\bm{f}_m$}; + \node[above right] at (outputL){$\bm{f}_n$}; \draw[->] (Klac.west) -| (addF.north); \draw[->] (addF.east) -- (input) node[above left]{$\bm{f}$}; diff --git a/simscape-nano-hexapod.pdf b/simscape-nano-hexapod.pdf index 3363e5a..b9200d7 100644 Binary files a/simscape-nano-hexapod.pdf and b/simscape-nano-hexapod.pdf differ diff --git a/simscape-nano-hexapod.tex b/simscape-nano-hexapod.tex index c2b4ed6..db59fa0 100644 --- a/simscape-nano-hexapod.tex +++ b/simscape-nano-hexapod.tex @@ -1,4 +1,4 @@ -% Created 2025-02-11 Tue 23:02 +% Created 2025-02-12 Wed 10:17 % Intended LaTeX compiler: pdflatex \documentclass[a4paper, 10pt, DIV=12, parskip=full, bibliography=totoc]{scrreprt} @@ -87,7 +87,6 @@ Maybe not the topic here. \begin{table}[htbp] -\caption{\label{tab:nhexa_serial_vs_parallel}Advantages and Disadvantages of both serial and parallel robots} \centering \begin{tabularx}{\linewidth}{lXX} \toprule @@ -98,6 +97,8 @@ Disadvantages & Low Stiffness & Small Workspace\\ Kinematic Struture & Open & Closed-loop\\ \bottomrule \end{tabularx} +\caption{\label{tab:nhexa_serial_vs_parallel}Advantages and Disadvantages of both serial and parallel robots} + \end{table} \chapter{The Stewart platform} @@ -147,7 +148,7 @@ On the other hand, frames \(\{A\}\) and \(\{B\}\) are used to describe the relat For the nano-hexapod, frames \(\{A\}\) and \(\{B\}\) are chosen to be located at the theoretical focus point of the X-ray light which is \(150\,mm\) above the top platform, i.e. above \(\{M\}\). Location of the joints and orientation and length of the struts are crucial for subsequent kinematic, static, and dynamic analyses of the Stewart platform. -The center of rotation for the joint fixed to the base is noted \(\bm{a}_i\), while \(b_i\) is used for the top platform joints. +The center of rotation for the joint fixed to the base is noted \(\bm{a}_i\), while \(\bm{b}_i\) is used for the top platform joints. The struts orientation are represented by the unit vectors \(\hat{\bm{s}}_i\) and their lengths by the scalars \(l_i\). This is summarized in Figure \ref{fig:nhexa_stewart_notations}. @@ -211,7 +212,7 @@ As was shown in Section \ref{ssec:nhexa_stewart_platform_kinematics}, the strut By taking the time derivative of the position loop close \eqref{eq:nhexa_loop_closure}, the \emph{velocity loop closure} is obtained \eqref{eq:nhexa_loop_closure_velocity}. \begin{equation}\label{eq:nhexa_loop_closure_velocity} - {}^A\bm{v}_p + {}^A \dot{\bm{R}}_B {}^B\bm{b}_i + {}^A\bm{R}_B \underbrace{{}^B\dot{\bm{b}_i}}_{=0} = \dot{l}_i {}^A\hat{\bm{s}}_i + l_i {}^A\dot{\hat{\bm{s}}}_i + \underbrace{{}^A\dot{a}_i}_{=0} + {}^A\bm{v}_p + {}^A \dot{\bm{R}}_B {}^B\bm{b}_i + {}^A\bm{R}_B \underbrace{{}^B\dot{\bm{b}_i}}_{=0} = \dot{l}_i {}^A\hat{\bm{s}}_i + l_i {}^A\dot{\hat{\bm{s}}}_i + \underbrace{{}^A\dot{\bm{a}}_i}_{=0} \end{equation} Moreover, we have: @@ -220,7 +221,7 @@ Moreover, we have: \item \(l_i {}^A\dot{\hat{\bm{s}}}_i = l_i \left( {}^A\bm{\omega}_i \times \hat{\bm{s}}_i \right)\) in which \({}^A\bm{\omega}_i\) is the angular velocity of strut \(i\) express in fixed frame \(\{\bm{A}\}\). \end{itemize} -By multiplying both sides by \({}^A\hat{s}_i\), \eqref{eq:nhexa_loop_closure_velocity_bis} is obtained. +By multiplying both sides by \({}^A\hat{\bm{s}}_i\), \eqref{eq:nhexa_loop_closure_velocity_bis} is obtained. \begin{equation}\label{eq:nhexa_loop_closure_velocity_bis} {}^A\hat{\bm{s}}_i {}^A\bm{v}_p + \underbrace{{}^A\hat{\bm{s}}_i ({}^A\bm{\omega} \times {}^A\bm{b}_i)}_{=({}^A\bm{b}_i \times {}^A\hat{\bm{s}}_i) {}^A\bm{\omega}} = \dot{l}_i + \underbrace{{}^A\hat{s}_i l_i \left( {}^A\bm{\omega}_i \times {}^A\hat{\bm{s}}_i \right)}_{=0} @@ -270,7 +271,7 @@ As the inverse kinematic can be easily solved exactly this is not much useful, h \paragraph{Range validity of the approximate inverse kinematics} The accuracy of the Jacobian-based forward kinematics solution was estimated through a systematic error analysis. -For a series of platform positions along the \$x\$-axis, the exact strut lengths are computed using the analytical inverse kinematics equation \eqref{eq:nhexa_inverse_kinematics}. +For a series of platform positions along the \(x\text{-axis}\), the exact strut lengths are computed using the analytical inverse kinematics equation \eqref{eq:nhexa_inverse_kinematics}. These strut lengths are then used with the Jacobian to estimate the platform pose, from which the error between the estimated and true poses can be calculated. The estimation errors in the \(x\), \(y\), and \(z\) directions are shown in Figure \ref{fig:nhexa_forward_kinematics_approximate_errors}. @@ -291,27 +292,27 @@ It can be computed once at the rest position and used for both forward and inver The static force analysis of the Stewart platform can be elegantly performed using the principle of virtual work. This principle states that, for a system in static equilibrium, the total virtual work of all forces acting on the system must be zero for any virtual displacement compatible with the system's constraints. -Let \(\bm{\tau} = [\tau_1, \tau_2, \cdots, \tau_6]^T\) represent the vector of actuator forces applied in each strut, and \(\bm{\mathcal{F}} = [\bm{f}, \bm{n}]^T\) denote the external wrench (combined force \(\bm{f}\) and torque \(\bm{n}\)) acting on the mobile platform at point \(\bm{O}_B\). +Let \(\bm{f} = [f_1, f_2, \cdots, f_6]^T\) represent the vector of actuator forces applied in each strut, and \(\bm{\mathcal{F}} = [\bm{F}, \bm{n}]^T\) denote the external wrench (combined force \(\bm{F}\) and torque \(\bm{n}\)) acting on the mobile platform at point \(\bm{O}_B\). The virtual work \(\delta W\) consists of two contributions: \begin{itemize} -\item The work performed by the actuator forces through virtual strut displacements \(\delta \bm{\mathcal{L}}\): \(\bm{\tau}^T \delta \bm{\mathcal{L}}\) +\item The work performed by the actuator forces through virtual strut displacements \(\delta \bm{\mathcal{L}}\): \(\bm{f}^T \delta \bm{\mathcal{L}}\) \item The work performed by the external wrench through virtual platform displacements \(\delta \bm{\mathcal{X}}\): \(-\bm{\mathcal{F}}^T \delta \bm{\mathcal{X}}\) \end{itemize} The principle of virtual work can thus be expressed as: \begin{equation} -\delta W = \bm{\tau}^T \delta \bm{\mathcal{L}} - \bm{\mathcal{F}}^T \delta \bm{\mathcal{X}} = 0 +\delta W = \bm{f}^T \delta \bm{\mathcal{L}} - \bm{\mathcal{F}}^T \delta \bm{\mathcal{X}} = 0 \end{equation} Using the Jacobian relationship that links virtual displacements \eqref{eq:nhexa_inverse_kinematics_approximate}, this equation becomes: \begin{equation} -\left( \bm{\tau}^T \bm{J} - \bm{\mathcal{F}}^T \right) \delta \bm{\mathcal{X}} = 0 +\left( \bm{f}^T \bm{J} - \bm{\mathcal{F}}^T \right) \delta \bm{\mathcal{X}} = 0 \end{equation} Since this equation must hold for any virtual displacement \(\delta \bm{\mathcal{X}}\), the following force mapping relationships can be derived: \begin{equation}\label{eq:nhexa_jacobian_forces} -\bm{\tau}^T \bm{J} - \bm{\mathcal{F}}^T = 0 \quad \Rightarrow \quad \boxed{\bm{\mathcal{F}} = \bm{J}^T \bm{\tau}} \quad \text{and} \quad \boxed{\bm{\tau} = \bm{J}^{-T} \bm{\mathcal{F}}} +\bm{f}^T \bm{J} - \bm{\mathcal{F}}^T = 0 \quad \Rightarrow \quad \boxed{\bm{\mathcal{F}} = \bm{J}^T \bm{f}} \quad \text{and} \quad \boxed{\bm{f} = \bm{J}^{-T} \bm{\mathcal{F}}} \end{equation} These equations establish that the transpose of the Jacobian matrix maps actuator forces to platform forces and torques, while its inverse transpose maps platform forces and torques to required actuator forces. @@ -322,32 +323,32 @@ These equations establish that the transpose of the Jacobian matrix maps actuato The static stiffness characteristics of the Stewart platform play a crucial role in its performance, particularly for precision positioning applications. These characteristics are fundamentally determined by both the actuator properties and the platform geometry. -Starting from the individual actuators, the relationship between applied force \(\delta \tau_i\) and resulting displacement \(\delta l_i\) for each strut \(i\) is characterized by its stiffness \(k_i\): +Starting from the individual actuators, the relationship between applied force \(f_i\) and resulting displacement \(\delta l_i\) for each strut \(i\) is characterized by its stiffness \(k_i\): \begin{equation} -\tau_i = k_i \delta l_i, \quad i = 1,\ \dots,\ 6 +f_i = k_i \delta l_i, \quad i = 1,\ \dots,\ 6 \end{equation} -These individual relationships can be combined into a matrix form using the diagonal stiffness matrix \(\mathcal{K}\): +These individual relationships can be combined into a matrix form using the diagonal stiffness matrix \(\bm{\mathcal{K}}\): \begin{equation} -\bm{\tau} = \mathcal{K} \delta \bm{\mathcal{L}}, \quad \mathcal{K} = \text{diag}\left[ k_1,\ \dots,\ k_6 \right] +\bm{f} = \bm{\mathcal{K}} \cdot \delta \bm{\mathcal{L}}, \quad \bm{\mathcal{K}} = \text{diag}\left[ k_1,\ \dots,\ k_6 \right] \end{equation} By applying the force mapping relationships \eqref{eq:nhexa_jacobian_forces} derived in the previous section and the Jacobian relationship for small displacements \eqref{eq:nhexa_forward_kinematics_approximate}, the relationship between applied wrench \(\bm{\mathcal{F}}\) and resulting platform displacement \(\delta \bm{\mathcal{X}}\) is obtained \eqref{eq:nhexa_stiffness_matrix}. \begin{equation}\label{eq:nhexa_stiffness_matrix} -\bm{\mathcal{F}} = \underbrace{\bm{J}^T \mathcal{K} \bm{J}}_{\bm{K}} \delta \bm{\mathcal{X}} +\bm{\mathcal{F}} = \underbrace{\bm{J}^T \bm{\mathcal{K}} \bm{J}}_{\bm{K}} \cdot \delta \bm{\mathcal{X}} \end{equation} -where \(\bm{K} = \bm{J}^T \mathcal{K} \bm{J}\) is identified as the platform stiffness matrix. +where \(\bm{K} = \bm{J}^T \bm{\mathcal{K}} \bm{J}\) is identified as the platform stiffness matrix. The inverse relationship is given by the compliance matrix \(\bm{C}\): \begin{equation} -\delta \bm{\mathcal{X}} = \underbrace{(\bm{J}^T \mathcal{K} \bm{J})^{-1}}_{\bm{C}} \bm{\mathcal{F}} +\delta \bm{\mathcal{X}} = \underbrace{(\bm{J}^T \bm{\mathcal{K}} \bm{J})^{-1}}_{\bm{C}} \bm{\mathcal{F}} \end{equation} These relationships reveal that the overall platform stiffness and compliance characteristics are determined by two factors: \begin{itemize} -\item The individual actuator stiffnesses represented by \(\mathcal{K}\) +\item The individual actuator stiffnesses represented by \(\bm{\mathcal{K}}\) \item The geometric configuration embodied in the Jacobian matrix \(\bm{J}\) \end{itemize} @@ -371,33 +372,33 @@ For initial analysis, we consider a simplified model with the following assumpti Under these assumptions, the system dynamics can be expressed in the Cartesian space as: \begin{equation} -M s^2 \mathcal{X} = \Sigma \mathcal{F} +\bm{M} s^2 \bm{\mathcal{X}} = \Sigma \bm{\mathcal{F}} \end{equation} -where \(M\) represents the platform mass matrix, \(\mathcal{X}\) the platform pose, and \(\Sigma \mathcal{F}\) the sum of forces acting on the platform. +where \(\bm{M}\) represents the platform mass matrix, \(\bm{\mathcal{X}}\) the platform pose, and \(\Sigma \bm{\mathcal{F}}\) the sum of forces acting on the platform. -The primary forces acting on the system are actuator forces \(\bm{\tau}\), elastic forces due to strut stiffness \(-\mathcal{K} \mathcal{L}\) and damping forces in the struts \(\mathcal{C} \dot{\mathcal{L}}\). +The primary forces acting on the system are actuator forces \(\bm{f}\), elastic forces due to strut stiffness \(-\bm{\mathcal{K}} \bm{\mathcal{L}}\) and damping forces in the struts \(\bm{\mathcal{C}} \dot{\bm{\mathcal{L}}}\). \begin{equation} -\Sigma \bm{\mathcal{F}} = \bm{J}^T (\tau - \mathcal{K} \mathcal{L} - s \mathcal{C} \mathcal{L}), \quad \mathcal{K} = \text{diag}(k_1\,\dots\,k_6),\ \mathcal{C} = \text{diag}(c_1\,\dots\,c_6) +\Sigma \bm{\mathcal{F}} = \bm{J}^T (\bm{f} - \bm{\mathcal{K}} \bm{\mathcal{L}} - s \bm{\mathcal{C}} \bm{\mathcal{L}}), \quad \bm{\mathcal{K}} = \text{diag}(k_1\,\dots\,k_6),\ \bm{\mathcal{C}} = \text{diag}(c_1\,\dots\,c_6) \end{equation} Combining these forces and using \eqref{eq:nhexa_forward_kinematics_approximate} yields the complete dynamic equation \eqref{eq:nhexa_dynamical_equations}. \begin{equation}\label{eq:nhexa_dynamical_equations} -\bm{M} s^2 \bm{\mathcal{X}} = \bm{\mathcal{F}} - \bm{J}^T \bm{\mathcal{K}} \bm{J} \bm{\mathcal{X}} - \bm{J}^T \bm{\mathcal{C}} \bm{J} s \bm{\mathcal{X}} + \bm{M} s^2 \bm{\mathcal{X}} = \bm{\mathcal{F}} - \bm{J}^T \bm{\mathcal{K}} \bm{J} \bm{\mathcal{X}} - \bm{J}^T \bm{\mathcal{C}} \bm{J} s \bm{\mathcal{X}} \end{equation} -The transfer function in the Cartesian frame becomes \eqref{eq:nhexa_transfer_function_cart}. +The transfer function matrix in the Cartesian frame becomes \eqref{eq:nhexa_transfer_function_cart}. \begin{equation}\label{eq:nhexa_transfer_function_cart} -\frac{\mathcal{X}}{\mathcal{F}}(s) = ( M s^2 + \bm{J}^{T} \mathcal{C} J s + \bm{J}^{T} \mathcal{K} J )^{-1} + \frac{{\mathcal{X}}}{\bm{\mathcal{F}}}(s) = ( \bm{M} s^2 + \bm{J}^{T} \bm{\mathcal{C}} \bm{J} s + \bm{J}^{T} \bm{\mathcal{K}} \bm{J} )^{-1} \end{equation} Through coordinate transformation using the Jacobian matrix, the dynamics in the actuator space is obtained \eqref{eq:nhexa_transfer_function_struts}. \begin{equation}\label{eq:nhexa_transfer_function_struts} -\frac{\mathcal{L}}{\tau}(s) = ( \bm{J}^{-T} M \bm{J}^{-1} s^2 + \mathcal{C} + \mathcal{K} )^{-1} + \frac{\bm{\mathcal{L}}}{\bm{f}}(s) = ( \bm{J}^{-T} \bm{M} \bm{J}^{-1} s^2 + \bm{\mathcal{C}} + \bm{\mathcal{K}} )^{-1} \end{equation} While this simplified model provides useful insights, real Stewart platforms exhibit more complex behaviors. @@ -438,12 +439,12 @@ Finally, the validated model is employed to analyze the nano-hexapod dynamics, f \paragraph{Geometry} The Stewart platform's geometry is defined by two principal coordinate frames (Figure \ref{fig:nhexa_stewart_model_def}): a fixed base frame \(\{F\}\) and a moving platform frame \(\{M\}\). -The joints connecting the actuators to these frames are located at positions \({}^Fa_i\) and \({}^Mb_i\) respectively. +The joints connecting the actuators to these frames are located at positions \({}^F\bm{a}_i\) and \({}^M\bm{b}_i\) respectively. The point of interest, denoted by frame \(\{A\}\), is situated \(150\,mm\) above the moving platform frame \(\{M\}\). The geometric parameters of the nano-hexapod are summarized in Table \ref{tab:nhexa_stewart_model_geometry}. These parameters define the positions of all connection points in their respective coordinate frames. -From these parameters, key kinematic properties can be derived: the strut orientations \(\hat{s}_i\), strut lengths \(l_i\), and the system's Jacobian matrix \(\bm{J}\). +From these parameters, key kinematic properties can be derived: the strut orientations \(\hat{\bm{s}}_i\), strut lengths \(l_i\), and the system's Jacobian matrix \(\bm{J}\). \begin{minipage}[b]{0.6\linewidth} \begin{center} @@ -459,20 +460,20 @@ From these parameters, key kinematic properties can be derived: the strut orient \toprule & \(\bm{x}\) & \(\bm{y}\) & \(\bm{z}\)\\ \midrule -\({}^MO_B\) & \(0\) & \(0\) & \(150\)\\ -\({}^FO_M\) & \(0\) & \(0\) & \(95\)\\ -\({}^Fa_1\) & \(-92\) & \(-77\) & \(20\)\\ -\({}^Fa_2\) & \(92\) & \(-77\) & \(20\)\\ -\({}^Fa_3\) & \(113\) & \(-41\) & \(20\)\\ -\({}^Fa_4\) & \(21\) & \(118\) & \(20\)\\ -\({}^Fa_5\) & \(-21\) & \(118\) & \(20\)\\ -\({}^Fa_6\) & \(-113\) & \(-41\) & \(20\)\\ -\({}^Mb_1\) & \(-28\) & \(-106\) & \(-20\)\\ -\({}^Mb_2\) & \(28\) & \(-106\) & \(-20\)\\ -\({}^Mb_3\) & \(106\) & \(28\) & \(-20\)\\ -\({}^Mb_4\) & \(78\) & \(78\) & \(-20\)\\ -\({}^Mb_5\) & \(-78\) & \(78\) & \(-20\)\\ -\({}^Mb_6\) & \(-106\) & \(28\) & \(-20\)\\ +\({}^M\bm{O}_B\) & \(0\) & \(0\) & \(150\)\\ +\({}^F\bm{O}_M\) & \(0\) & \(0\) & \(95\)\\ +\({}^F\bm{a}_1\) & \(-92\) & \(-77\) & \(20\)\\ +\({}^F\bm{a}_2\) & \(92\) & \(-77\) & \(20\)\\ +\({}^F\bm{a}_3\) & \(113\) & \(-41\) & \(20\)\\ +\({}^F\bm{a}_4\) & \(21\) & \(118\) & \(20\)\\ +\({}^F\bm{a}_5\) & \(-21\) & \(118\) & \(20\)\\ +\({}^F\bm{a}_6\) & \(-113\) & \(-41\) & \(20\)\\ +\({}^M\bm{b}_1\) & \(-28\) & \(-106\) & \(-20\)\\ +\({}^M\bm{b}_2\) & \(28\) & \(-106\) & \(-20\)\\ +\({}^M\bm{b}_3\) & \(106\) & \(28\) & \(-20\)\\ +\({}^M\bm{b}_4\) & \(78\) & \(78\) & \(-20\)\\ +\({}^M\bm{b}_5\) & \(-78\) & \(78\) & \(-20\)\\ +\({}^M\bm{b}_6\) & \(-106\) & \(28\) & \(-20\)\\ \bottomrule \end{tabularx} \captionof{table}{\label{tab:nhexa_stewart_model_geometry}Parameter values in [mm]} @@ -501,7 +502,7 @@ The actuator model comprises several key elements (Figure \ref{fig:nhexa_actuato At its core, each actuator is modeled as a prismatic joint with internal stiffness \(k_a\) and damping \(c_a\), driven by a force source \(f\). Similarly to what was found using the rotating 3-DoF model, a parallel stiffness \(k_p\) is added in parallel with the force sensor to ensure stability when considering spindle rotation effects. -Each actuator is equipped with two sensors: a force sensor providing measurements \(f_m\) and a relative motion sensor measuring displacement \(d_L\). +Each actuator is equipped with two sensors: a force sensor providing measurements \(f_n\) and a relative motion sensor measuring strut length \(l_i\). The actuator parameters used in the conceptual phase are presented in Table \ref{tab:nhexa_actuator_parameters}. This modular approach to actuator modeling allows for future refinements as the design evolves, enabling the incorporation of additional dynamic effects or sensor characteristics as needed. @@ -532,7 +533,7 @@ This modular approach to actuator modeling allows for future refinements as the \section{Validation of the multi-body model} \label{ssec:nhexa_model_validation} -The developed multi-body model of the Stewart platform is represented schematically in Figure \ref{fig:nhexa_stewart_model_input_outputs}, highlighting the key inputs and outputs: actuator forces \(\bm{f}\), force sensor measurements \(\bm{f}_m\), and relative displacement measurements \(\bm{d}_L\). +The developed multi-body model of the Stewart platform is represented schematically in Figure \ref{fig:nhexa_stewart_model_input_outputs}, highlighting the key inputs and outputs: actuator forces \(\bm{f}\), force sensor measurements \(\bm{f}_n\), and relative displacement measurements \(\bm{\mathcal{L}}\). The frames \(\{F\}\) and \(\{M\}\) serve as interfaces for integration with other elements in the multi-body system. A three-dimensional visualization of the model is presented in Figure \ref{fig:nhexa_simscape_screenshot}. @@ -584,10 +585,10 @@ The close agreement between both approaches across the frequency spectrum valida Following the validation of the multi-body model, a detailed analysis of the nano-hexapod dynamics has been performed. The model parameters are set according to the specifications outlined in Section \ref{ssec:nhexa_model_def}, with a payload mass of \(10\,kg\). -Transfer functions from actuator forces \(\bm{f}\) to both strut displacements \(\bm{d}_L\) and force measurements \(\bm{f}_m\) are derived from the multi-body model. +Transfer functions from actuator forces \(\bm{f}\) to both strut displacements \(\bm{\mathcal{L}}\) and force measurements \(\bm{f}_n\) are derived from the multi-body model. The transfer functions relating actuator forces to strut displacements are presented in Figure \ref{fig:nhexa_multi_body_plant_dL}. -Due to the system's symmetrical design and identical strut configurations, all diagonal terms (transfer functions from force \(f_i\) to displacement \(d_{Li}\) of the same strut) exhibit identical behavior. +Due to the system's symmetrical design and identical strut configurations, all diagonal terms (transfer functions from force \(f_i\) to displacement \(l_i\) of the same strut) exhibit identical behavior. While the system possesses six degrees of freedom, only four distinct resonance frequencies are observed in the frequency response. This reduction from six to four observable modes is attributed to the system's symmetry, where two pairs of resonances occur at identical frequencies. @@ -758,7 +759,7 @@ The Root Locus analysis, shown in Figure \ref{fig:nhexa_decentralized_iff_root_l A key characteristic of force feedback control with collocated sensor-actuator pairs is observed: all closed-loop poles are bounded to the left-half plane, indicating guaranteed stability \cite{preumont08_trans_zeros_struc_contr_with}. This property is particularly valuable as the coupling is very large around resonance frequencies, enabling control of modes that would be difficult to include within the bandwidth using position feedback alone. -The bode plot of an individual loop gain (i.e. the loop gain of \(K_{\text{IFF}}(s) \cdot \frac{f_{mi}}{f_i}(s)\)), presented in Figure \ref{fig:nhexa_decentralized_iff_loop_gain}, exhibits the typical characteristics of integral force feedback of having a phase bounded between \(-90^o\) and \(+90^o\). +The bode plot of an individual loop gain (i.e. the loop gain of \(K_{\text{IFF}}(s) \cdot \frac{f_{ni}}{f_i}(s)\)), presented in Figure \ref{fig:nhexa_decentralized_iff_loop_gain}, exhibits the typical characteristics of integral force feedback of having a phase bounded between \(-90^o\) and \(+90^o\). The loop-gain is high around the resonance frequencies, indicating that the decentralized IFF provides significant control authority over these modes. This high gain, combined with the bounded phase, enables effective damping of the resonant modes while maintaining stability. @@ -767,7 +768,7 @@ This high gain, combined with the bounded phase, enables effective damping of th \begin{center} \includegraphics[scale=1,scale=0.85]{figs/nhexa_decentralized_iff_loop_gain.png} \end{center} -\subcaption{\label{fig:nhexa_decentralized_iff_loop_gain}Loop Gain: bode plot of $K_{\text{IFF}}(s) \frac{f_{m1}}{f_1}(s)$} +\subcaption{\label{fig:nhexa_decentralized_iff_loop_gain}Loop Gain: bode plot of $K_{\text{IFF}}(s) \frac{f_{n1}}{f_1}(s)$} \end{subfigure} \begin{subfigure}{0.48\textwidth} \begin{center}