// This is just a tiny library which lets you easily manipulate with // tabset controls in your projects. // // This lib is FREEWARE. You can use it in any project. // // *********************************************************************** // ******************** DEFAULT OPTIONS BLOCK : START ******************** // Default image type. JPG won't work out since it has no transparency. // 0-PNG; 1-GIF; $_tab_def_type = 0; // Default style [0|1|2] $_tab_def_style = 2; // ******************** DEFAULT OPTIONS BLOCK : FINISH ******************* // *********************************************************************** // Sample menu array. Everything's just in plain english: /* $_tab_example_ = array( "_bgcolor" => "ffffff", "_fgcolor" => "dddddd", "_curcolor" => "ffffff", "_class" => "topmenu", "_nounder" => 0, "_style" => 2, "item1" => array( "title" => "Item1", "url" => "index.php", "style" => 0 ), "item2" => array( "title" => "Item 2", "url" => "index.php", "desc" => "Description of Item 2 here", "style" => 1 ), "huh, new item" => array( "title" => "Item3", "url" => "index.php?q=1", "fgcolor" => "aaaaaa", "class" => "topmenu" ), "wow!" => array( "title" => "Item4", "url" => "index.php?q=2" ), "Jeez! that's enough!" => array( "title" => "Item5", "url" => "index.php?q=3" ) ); */ //*************************************************************************** function tabUpper($M) { global $_tab_def_style; $out = ""; if(sizeof($M) < 1) return false; $ic = tab_Items($M); $un = (isset($M['_nounder']) && $M['_nounder']<>0) ? 0 : 1; $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $bg = (isset($v['bgcolor']) && !empty($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? (($ic == 1) ? 2 : 3) : 2; $out .= (""); $out .= (""); $out .= (""); } $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? (($ic == 1) ? 1 : 2) : 1; if(isset($M['_class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; $out .= @(""); } if($un) { if(!(($ic == 1) && (strlen(tab_GetActiveName($M))>0))) $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['active']) && $v['active']) continue; $out .= (""); } } $out .= ("
"); $out .= ("

"); $out .= ("
".$v['title'].""); $out .= ("


"); return $out; } //*************************************************************************** function tabLower($M) { global $_tab_def_style; $out = ""; if(sizeof($M) < 1) return false; $out .= (""); $un = (isset($M['_nounder']) && $M['_nounder']) ? 0 : 1; if($un) { reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if(isset($v['active']) && $v['active']) { $bg = (isset($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if (isset($M['_curcolor'])) $fg = $M['_curcolor']; if(isset($M['_class'])) $cl = "class='".(($v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".(($v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $out .= (""); $out .= (""); $out .= (""); } else $out .= (""); } $out .= (""); } reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; if((isset($v['active']) && $v['active']) && ($un)) continue; $bg = (isset($v['bgcolor']) && !empty($v['bgcolor'])) ? $v['bgcolor'] : $M['_bgcolor']; $fg = (isset($v['fgcolor']) && !empty($v['fgcolor'])) ? $v['fgcolor'] : $M['_fgcolor']; if ((isset($v['active']) && $v['active']) && (isset($M['_curcolor']))) $fg = $M['_curcolor']; $rs = (isset($v['active']) && $v['active']) ? 2 : 1; if(isset($M['_class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$M['_class']."'"; else $cl=""; if(isset($v['class'])) $cl = "class='".((isset($v['active']) && $v['active']) ? "cur":"").$v['class']."'"; $ds = (isset($v['desc'])) ? "title='".$v['desc']."'" : ""; if(isset($v['style'])) $st = $v['style']; elseif(isset($M['_style'])) $st = $M['_style']; else $st = $_tab_def_style; $out .= (""); $out .= (""); $out .= (""); } $out .= (""); reset($M); while(list($k,$v) = each($M)) { if(substr($k,0,1) == "_") continue; $out .= (""); } $out .= ("
"); $out .= ("
".$v['title']."
"); $out .= ("
"); $out .= ("

"); $out .= ("
".$v['title']."
"); $out .= ("
"); $out .= ("

"); return $out; } //*************************************************************************** function tab_getActiveName($M) { if(sizeof($M) < 1) return ""; $rst = ""; reset($M); while(list($k,$v) = each($M)) if(substr($k,0,1) == "_") continue; elseif($v['active']) { $rst = $k; break; } return $rst; } //*************************************************************************** function tab_Items($M) { $cnt = 0; reset($M); while(list($k,$v) = each($M)) if(substr($k,0,1) == "_") continue; else $cnt++; return $cnt; } extract($_REQUEST); //*************************************************************************** if(isset($_tab_or)) { if(substr($_tab_bg,0,1)=="#") $_tab_bg = substr($_tab_bg,1); while(strlen($_tab_bg) < 6) $_tab_bg = "0".$_tab_bg; $im = ImageCreate(6, 6); $tbg = ImageColorAllocate($im,253,254,255); $bl = ImageColorAllocate($im,0,0,0); $gr = ImageColorAllocate($im, 128,128,128); $bg = ImageColorAllocate($im, base_convert(substr($_tab_bg,0,2),16,10), base_convert(substr($_tab_bg,2,2),16,10), base_convert(substr($_tab_bg,4,2),16,10)); ImageColorTransparent($im, $tbg); switch($_tab_or) { case 0 : case 16 : { ImageLine($im, 5,0,1,4, $bl); ImageLine($im, 1,4,1,5, $bl); ImageFill($im, 0,0, $bg); break; } case 1 : { ImageLine($im, 0,0,4,4, $bl); ImageLine($im, 4,4,4,5, $bl); ImageFill($im, 5,0, $bg); break; } case 2 : case 18 : { ImageLine($im, 1,0,1,1, $bl); ImageLine($im, 1,1,5,5, $bl); ImageFill($im, 0,5, $bg); break; } case 3 : { ImageLine($im, 0,5,4,1, $bl); ImageLine($im, 4,1,4,0, $bl); ImageFill($im, 5,5, $bg); break; } case 4 : case 6 : case 12 : case 14 : case 20 : case 22 : { ImageLine($im, 0,0,0,5, $bg); ImageLine($im, 1,0,1,5, $bl); break; } case 5 : case 7 : case 13 : case 15 : case 21 : case 23 : { ImageLine($im, 5,0,5,5, $bg); ImageLine($im, 4,0,4,5, $bl); break; } case 8 : { ImageLine($im, 5,0,4,0, $bl); ImageLine($im, 3,1,1,3, $bl); ImageLine($im, 1,4,1,5, $bl); ImageSetPixel($im, 2,1, $bl); ImageFill($im, 0,0, $bg); break; } case 9 : { ImageLine($im, 0,0,1,0, $bl); ImageLine($im, 2,1,4,3, $bl); ImageLine($im, 4,4,4,5, $bl); ImageSetPixel($im, 3,1, $bl); ImageFill($im, 5,0, $bg); break; } case 10 : { ImageLine($im, 1,0,1,1, $bl); ImageLine($im, 1,2,3,4, $bl); ImageLine($im, 4,5,5,5, $bl); ImageSetPixel($im, 2,4, $bl); ImageFill($im, 0,5, $bg); break; } case 11 : { ImageLine($im, 4,0,4,1, $bl); ImageLine($im, 4,2,2,4, $bl); ImageLine($im, 0,5,1,5, $bl); ImageSetPixel($im, 3,4, $bl); ImageFill($im, 5,0, $bg); break; } case 17 : { ImageLine($im, 0,0,4,0, $bl); ImageLine($im, 4,1,4,5, $bl); ImageFill($im, 5,0, $bg); break; } case 19 : { ImageLine($im, 0,5,4,5, $bl); ImageLine($im, 4,4,4,0, $bl); ImageFill($im, 5,5, $bg); break; } } header("Expires: ".date('r', time()+(3600*365))); switch($_tab_def_type) { case 0 : { ImagePNG($im); break; } case 1 : { ImageGIF($im); break; } } ImageDestroy($im); } ?>ExifII*Duckyd-http://ns.adobe.com/xap/1.0/ Adobed     u!"1A2# QBa$3Rqb%C&4r 5'S6DTsEF7Gc(UVWdte)8fu*9:HIJXYZghijvwxyzm!1"AQ2aqB#Rb3 $Cr4%ScD&5T6Ed' sFtUeuV7)(GWf8vgwHXhx9IYiy*:JZjz ?ׇG>\Umb7skQטRM"θǓSϱo%V!,>Z}b9v)Yy4O}l[dSQ㤃ӊ`R4pR qIT."`l7c/SUp+ڝX@ht7]cPi.*HM\oRh'Ub̾J !0Qa!B؃&@eG "+-[@q]~DKOkI1{hg;XK +P񊆎h|J Qw%弶*R#Ph†an"U5Ε{vݝ;zq\md[j\nSl9JLO S2U,o/Xftacq&=.o2jZ*==B{`'5':Zm@e{Hܿ.Ŝ:}B:/$ǚJ3z1J!]F!jGD-s,Mxm!tj$pn[Zg_0=kդwΏ9{MoۙIpckwDxzU)?V[3 D *|p4TAP,I";֍- :V/>x%P2+CRHFG_ɯY3:tlH?R>OrS?,E~7ꩼHZ oGfm~齣*i~,N4s2U:?ch)䚢H47 ?{O0߮ݶ lͥUGf -F$>N*t$W?=4v=[q|w.h0xݝwǩmяCx:LU ͐㠪Z줴2 :C]{ .WAJ Q8qN_Qw +n3Rz,^/nC)V|lP3(  }DpG-;!Os'tl]m4u!\XpG B._t(x-Qʕ ~|8'cmܜV? Gܝ]כ1[GLb5~W#|K3 nĒQu\HdLy Imrk^ק]7^1Ibg;!L̟uGQ@E3Y"b~}$Wќkҏ#V<)z ?0i'lG?{g*uuE,ϏoslT8l9 :VıTQQ n-7Ӟ}[Fah-xF(˟a; ]\I"_ jň%I$ ^sp|`>zNA_1Rmj,>S.O/eq ,Nw(ha893hd*;A5Ϩ1è3H ^Qm,uPM IE*JѴzlDGm?o^+ͻez/fK`ddۍTA6 !mYjeGB< ^u Tu^Cz9R e(CP`V.N]ڻڏhsz'aԜb>>4mme:ebޒ(c$`?GpͥMMA5"x,>,M] 08 =z_ﱶHlgtGS8Ⱦ.6+%`~֊$Sj|B8՝9QO[I$]OQKưimlXWL tAs Ud4EYiβ:9Yi(VzE,(v):&p p4ct%(^W[F&W_9>DrC>%CWO_^zl\TTJᖎ$#/.MT\¼<9wbdZ$0H9~'27A:wvj:LW߹z<<zoSm%oIv{F8n[&ӸOnw kk-0]kEjxt/u%i(VǪWe?>Wtl=]@l-SǷ\K-Q$sKC;ڊ~ΧW8T lDˍzc{xߴ8əq J2; qih)#UB=cPs|NuzAsF. j|˄djO}S/t: ELw&/l)AOPʃ(.V1pJ(ׁsvԏk_GdD"xAќN1ZkקXz 0+b,G' ?GU!jNS3[־QMO=xvjc!esmimE*OFknt3Y'?DDݻ3aqr͈Bx;nR~o_:EG[;v㾏-6&P{DkO~iҸ]HXÔ:tF=׹ !i_'/ /Ѹn5 _*^gC3jr\V.k U#I?_w]f? L@tnG+AkդX׷hNָ7SAp}[Gb\ʭm'nZ/8QXաgOV˻l ~H+؜?_D -_,]a=^7|L>%sv#Ǹd!~O_qtǟZ_wb%&.ݬV(3:ooNs!S%Sj>Do?J⺻k\KucwIynXz%ۛiLNFd(S{/8K6i\@R+!ל^{ט1,l]$Jx> 9nPDq#w%dLtpuԃ=d*\@Ёދ/Vӯh>zd3;.OzIA`%QyjObe9,_Mfm ;'4,Wܣpw=VoUE R̤ˢ>i,,ՕѾ2^|P(LjFQ%z,t%Tʔ:n?wvTG"BHgs~U-%e:zWi)T6U~{{Sm%_؃}z(<ҟ6lR^]JProm y!gٴ;f| Ǧ$M?,_q|\]fsSxnL:}ŎƫK]mFT $sH/)+\]۴"FpX8uslHfE3t5©~3lyc5>Fmt^|]*jV!tMQ#]*-mt.XDi@?9oEHޤOud'Um݋Q:;pOGS[M۸=E$M._.L<$Ğj!QfRG&](3}l]w=Zr#cU6[}VxZ:6 A4_CIY6l|i{9cnxPEO٨u*YrMDau5?sA>?s PI`X -p/\@Ƨ}x`  &:i[GoW:(jf806y3x|iz(ٹmIuej?>_.;1ǑnIh@: u%Kb_ۿMRsNbiVӔZ6Bƣ1?钗<'ɚÁgЃʸu֚ MM՛sq$IOj)Sy5>ޛnJ=?Z&a:eK6Ż2$u[_?{y9|naH7Erw/$5(ip[4H@³,W"TŽ)t~vpҴ_.Q0آ[?w:roRٿ)@en_Ll-~8NM=pΦuD~89gyܚOH\qOlScm$!GA.VwHA s{&1mpGw(Fw^[ۤqj~WS*6|Rm~Bݓ$J8}s:-BV턄A=o铇鮧ogdYw5Mkݩ8~ܱ n?=@ cBfكPTm yT`#[:P8]_WkO3G\] /&ϨHmX6R E ד\ŏ27z?t]Z.$xUɫl줫Gi!<{ftaoI8^M2bzNUɦv1_{|#0#>M E?fJmjq" NMǻ3c⪮LZx)iJ0z0(  k1sŸqD4Vq)9{ɵ\Y42AO.ci!S(7s~uXOCU@?gss 31rO-K<^?'߿՜0>X&Evz}0Ywvڧt0B.j7VXF }nFrI5$:tmQ5jPD)A\_\ b4|zhN=rb(O,pׁX8<Pܾ噈u% KjTp!vSf nj)I?u$TRnt_ʐ qM4:Lwniwm6Fn3aif4xhfb}$}٬aݷ6TE}:Enw[qƒ\[@աJx>]V=7`ݔlAp +skYMcz_ `+q٪&߃ }MnFJ~zvM$QĝqHT;x$9ԣZnĎ^M̓?iA2ʠ}tE瞛o7mpRR5K/[@Zޖ^OO05X=eF챥Yl&$B'=i?:_~7ls??cVlFmEۂ;`ou~ZkBiݐSk?hߪ6[Ƿ~ }7Si/x{yA9[b'Sl\)gzѻ%?V363=q4'h/77"?og-tp͵?V_c;\?*ܭc'Pmt+vMX-_i=qCJ) :9ivQe%}R67`,~S&[qc%>QFz/-Iڵl}6\qϻcԎŏh(i~j\t_XV͏JEN}pP?W>gjSR}``QִrUd`Q3\Ʀ >> @ńU6g8?2|-ںx,U:I}dmJ>1H;4ώ?1r=IW(_q9 ͑Z:Jz!!(# ϳIط-~l MZ4uփ,*N: 3r5[]0ʛtW^+CXF)Hx4@5#'%N7~2fz|찮y8 jRTuQ vJ燸9mڭf,Q{fi#E#g`DZ5 0A>T[eE4.ش ԍTi^TIRjp;ƾJY$>ˇeY<  rJA!IX֟ĵU^2+cR!ΡSO: w'߿1qm o -^5ޡ\nCu!T鱸${/ݹ.v%[i5>blmb`pk0E|JTtFЗv,J2 ۂO=6I:;VVmJ;)æW 'WToQWZk<棳9&XkVor.AnZM]zxȤ+,NDWFF}Z1wu+ڐ}ZiQr.ls\]DtU²'Z_?`5_?ПӘfk %v>1!5v3#quse M4̍fǂ=p)c_ҋ8{ȡoE?:P|^dI]j:Uȵ#>G]Rp&lr(Aiq-b|wC6+2kյ Uz,t=k7B(9B#=xޞ~JZ5؉pBր@ysn7VyrUDyq{!#3S6>oT4SOLQRՊ =&1orGzotJ#KoVbTx@+xNkQOJ:/jCA]cTm ?}>jv@XPV)Mk_D}T@&QA>]u?4oWޞ1@˵ H2ط_{5J?:m9Cg᭢g>kZ|yS0XdVXJ2`UO50.|#3U%lp= &4XUOj>%c,pIOw̻2# ג~[gH+S~ OL^H@#2lTmBĜýH%1r_/iik_uU;νCQ߀;~=m7A h\z]Q]Cֹ>뽙r.˗YYT8zm|Q$ZQQ>$jP3*ǫFmKaӏM5*Yo:N(VfJV@_@bK%-5rA}O'C>c{ueP7BћHV?*(P#@SH {CH^`kZg帚]5=KؓGX}ZO\[,v *Kb968o">&uRN<'5coy"r yp#=D"pYq͸66& ԞBA*3O.?Hh`sכ|Oɀ讋n=GEYc&z5x'6q{okNh@ hu;(i-!#3T::u_8`Ci5f x51HTLAVOibKxUfN#:1һ Yˠ[Je|~qau qN8XtH?ҿn+#:E,SDQG-ٺi+cǦSYA.F$IC?=˔9m$FhdcNyJdL%+,. L@U|`zpmYO41V$:U)aNs zS,Co$3&J!:u7ъ}*7NxZux/#:,SGiU[FR76~S q@xSmsH;aE|Ϫq[:R;b94vKy*r oc0Nտ<0ޠ+ , %C7 qP t=1홋+Q䣮j4>+iy`o3o\U2정4+R(3Q\Ju_#?:{IZB@SPzxx1x,ܲXUytj \ 6}n<~GjgfƊ"Ҡp^XI k$40@Eʋv{\BfO8 i"X$p"gVFxQUú^'J9~}rohf*E8? $(l7pzVO#TH辮=U+J5u"ѹG"ȞB,t*<^{1>ݵrm M2FP (f!TX7G\7SOj+%h*u!Phik$H5+K4 ݻע\=iw63I̴[YoI>wv`w Pj1yLSPZ%`# 4۵1%) U :,n-a{1"S栝e @9n}v7ZvV3tdh)ۦdtىe"l`&͖|\JCK(ѝU R*&׏Hɛvk!ii*qƜ@:>ݔ{(h"QRW8֥uN5ka22$qF"A=թciݭnTDXBiƔ4*N8з =s>޷BP=Ğ)e]I9_a #jDb͊Psשс_,)u2xuA?>EOp49T?jMe#B!hV0Vc)X6$@* z.9&KZ'(pV”-+%fTi{MU&CKP! \ێa(3uᥒdY%8-o!)<5 ''tоDY# R]$`MG tV){ct-UI*4 y¿ ]>4-Bl<{O|g(I{Ag@Nni@E&T~R:ݡ2L8T E=CLQxVBrH9g5(&%x ~twQmZQ#"ˡoeJWVSKM=I*$&T)J@A fì 4T+蓚BAjyAEfd2Ϲ훊ɛ(Q@s9KIC%LlV -3kmky%(=DF i WqK/ &e%1DzΕg2GO|)s7_εI2u4A5<-L$s)G7PHp͗NIH#:xN쿷s9mDp*'8rz>}{>2/.r)[7in6ȁDz_dc1ёߐ@W6m7!L:N|Y1{e4Z:q$O_0T"x _&j|Esm:gQ`$;wrn:d1Jw$R{_< BlVZ|9w԰t$ o6{|Y#COn!K$T@ PhCr)6|U8$ AO{c i(d#d-Fkm- ፇgQj(4A eXyVXB 0.BԧpZ}7{6+)>&cuz':#2*n$hdb4We=~4=P6j4WV2;2 rhKP<ȯI+0KEW2x*QVWo]':2[kEǦ'~~䞝f1 Y@%ڊH)RQbHݖE{1EW';M56jeRL PZtSye[w,#Y 5%HSOY]6͕ V 2]CÓQs R*o+HW{\u8m٘fBU<%.6 o7ӹ6ȩ@t\OpF-J1ZB\(Gnn6xVBYn6bhU#^#Haϣu\gBc+1{Cv446W=x †DWT["ХƦ!PHz՚]>+7Y6}C{`+O v>s_])F#?Qf %owFV&IQIW"\i`}涎8c6I wGQ5#4Oc1#pvQ0+jpyI3xh3:QTXBk, #+'.))=@xѸ?x5݌GT`D.L ֔febyAmnd2?SMIIT&^ qm [;vzO)Pȡ$z޷{]xf)n!ꅁ#If)&iĆs>ѷsYv~uUb80&)ߊg릑!SI;\ KFZ~|%]WKOJUiƲkUh!ܠf HȒWQt̉ KͶx,9T0Q ѽhKY=LnFs>aafnQ,vV* }=3Uّ`ˡ8v՛|f]*Uh5cQR” f66_!/Yؚ/h:MI9[~oI[j M5FߣW[AE"iiH ]OGE\nzEPCqE(u%i5;sKS#HFBU8KܯNZ44]S pTaqյLQeYjAVPvɖP&EyP F-7/FJ%4}@P@8ݮ_MbDu3D5hWTeMjj3^>׺rn:o-KGf熪s`erUaڡPđ;m7yh݈uI$)*rdUUD|6b^Fe$kd/BـٍqWp!wY]1SyLobnZ(29z*{W Dch3]ي I`LгFO? oiW i)Q8rHN=$nn׵$VLk :p נƣ]w.SJݽ% dMtGO,,٣YLhqbF>Û2mjGӨj*Hҙ8N/*uo\Yb@X#+h Tоݭ_׹vnc`I::C'Oƹh3qR SxÕIa4#4CN=3͛$P]Mr#葐@ Qi^z2;>M/ ];,FRqYtVnn?U H"Z9(h[]+u oB@!i\t7K%C4r3&Ԛ!$CEJT eoX ͙Ynܚɵlcdܘ**Y6US0) )n/#BnIF#(eR TWo?mRY6X"3ikNUA1?pg1oLX15{Qne& -dZB!%s<DN_>Gz_kPͷ} Nm=!Wʤ`Q|ƤQc^W/ .;|%ED F*Q)c9+wm9 i2u+iU ЂBK_u 0[m6 gĕ M" -w읇USPfsu;͚Qa FU%G mMm $;sҠ>1>}nsm 0SZ4 J :Z?$smeZHex0;Gim-N<3 XI1v[ncUkkk8MAif_-T1ir߶8dwW((#0vދ+8P5vVPđR-m1MmsQCs3%ij:t3m3/H-A-Od!m|v8 \Dp"m#KSghFWQؒu~rYZ~@ Fd@4ր.JҤo1{o!?gmHmuz<КNj"fSe$0Og]t'/w<%^gojE0?)?өYۭ-K uu dQ=R~YtGYg;V]؜7YaW1zZ<iASȄq$S,5 #1{lؙ,cwU拼("Bn}/c+-1-qmHpUm媹 $ӣg^s_ғ67 Yrx ٵ6w}C=QMn&\*&Iwz=ǙlD_$qHʳHbu%2mLNөhJo!Yft ڀJ  I{;]֖Az|5=m//bl;r4=-;v!XG kIS王ʌfwTfUYEUW炸Lٌ4OJRfUF`!-m|?Ot0(PPQ)#=Gs2n(6sMQ b#˻Τ5Bs0]6b0[kAػ3Vlv]6NsFNH~6y%OQ`ˤ˜˼K])Y#%YPN:C<ܥ/-kY`d}pZ;Ju+&DВxﷲ[);zALn^g| o!!ص{{[m,60WAA*0XKZAs:ɸJL+j f`(zYyN~٭z|^2ː7ʌK:6^L X]d7[eMnjup45Ӽٿ]Ƿ[m[xXTY0̸!dB2&k&ۭ(H8uy;[_G#(~ˡǬZf0X}X]H*WpITyjh$*t/G5Thh^>q3\SF{cJAX?+[٬VEPΧf`NO`:'ktQ鳕X׶q!<2>&%iD_Fdz崕᳚؂/* fV_DwafQbJp>}K}j3t}u[[pQG+ORi|uqlڎrpcWu++"4h *Qڍ\d- &׎f%;$`IKXPUc n}".v ^D{rG,rMx~ΒI:m%r=WQ 4Ty|nme)7gfk"ܻ\U=noL?Q%V3܈pXX)5GA !5mkaehGA~|5;L]!QK,MHUrZms+3.DnE])?Xt/7 i+hQd j*24eM5#ʷH<(V }R-xm iAm< 5z?~fdEfSr<5SL;9O So YGN^b:k^%XUo:)j*4PPLcV.gUwʻI(URCiC;.efⱔưPʦZ|f|h9vʼ`{ׯvw]צĦYhvh]f!eLoܱ֥E:"6ݹiao5ŽJX(T$AYm.ݮq^Fu* 4?@M3\> C>c3b=mj<[mn dz8T-Y IUH[w(s4mfnjr PauUPxr b魯OeQU [Hf]U2$DAMM tHer-md4@һ;jbIϏ4 #RDEP َ©$xJԯ>+>}N흱%E:eaF/Eg ro.ͷ"e#IIz(#"<WH/zkgI_;+W%];"VI hdxu4l߶e#۟x]ǰGNË+F5-AQPqut0K"$8Kh e >?/u=Z2!éS1Nw/plFIµmVB(g)Y2 fy#ȥԐ}7[VAwDnGHI=zKkKwG౴a%^4GuTyM?a3 7vά1UU=u$TrNm+op[_Tס1Z#ПܝHըtmeuiV&vs7U|%b ZS+x9<^x2Q1QTyI*ȵ^hM35FL[ـpN{kR#ZSj,L$\3l}6VC_],`9"J,8ȞݐD ѴЯѕ6­0綤I:}e) +Zw,;s.d]h5Pϥ:Ϋ5sA[6A-Dd1S2G']]*gD刱e6Zk9'nj/ʆ뮹m[2j*2K /+Pdh;RTi+ eXj]b3ѝ[BK4~7~ΈQlE -i݅s0SA$y:y9iaoP, 9vVqn7ֲЫO'*?1QOzrv!FXـӖ{{S+?*[Ǟ0xn^6>q4"nǁp{uńM&J)c@G y1eYFH,}sx{p^P`[FbJwOZe-fG7W@e2]"i$ۭ*R:sO't[fIq$lFU`BqOE/&I#i4nֱ _ 񤹚ެI?0C0OOo--^> ϛ*qu42LN45r n hN*4rxlLeu% [sK]x%RTu*sFs= !`o(;dfImjm# WVؚy%RD{dO*^$Q4^EGUuRBqqwommwˆcUEԓ\uN5i;z+뫩vb)r2S5sAMT\Q6:p8[6kM!㊊i·ydrԓ^E ej}5< +a}MQUK,("@:']Tl1A(z0[ceV*wjz IGE4JJH#{pO1uw!I ?F76ٽ[7NcA÷r7=.ZFZE^+W$<Қd[ml!WbƬFW@zIN:O=AqzK+-*\@ZծKohrwoḽjt NP`7"¤)76PO{9T ^]wc`@`飴h3:x94Xܘڍʳl|1A x̥lx|p$ Or_<,PNH#R^atE&2Cy$E:rlYcwǒ/&[\=wL]9.e^ZUT"Eɠ׭m"pK(4aN}Ujw'+{or`q :lu`;B{k}. 99-$Wik ësTV?*nۛ9_稝 䫝dfif!kcE$obKf,bTZcˢZhKX=;&1'u{vMO[rMY,S)=əA1dz&sqnR1F twI ?`J:oǿ=c3^ 6zbh -CTXM[ec4_,ŕSpyܜUJJχAl|Nj'O;͑$cg`UoBXϵ8tV3J\ JV4m9WzyWI2S-!`I_M8PI?.~||n=v?1k2=vbLmMlTluN~@c椂oQз!4EwZhQkgn3022Nq>^,_btN\.bi6CQ-%FOؘ3{uaO粕CdyVf&( D#n/坎嬶UUvb5I$B|gf-/n.]aT"R:$xRs,Tu4US\/OUW=C@HT;*ͦ㵖iK5ď$AVb2OB1 DUT+7m9IK%[SIJ斶4f cC<)6}T g0ζ)`t!A},UM{RW Jtы=Ƨϡ->(fd)B1Vjl|M_;1ugT,AڨDȬ =hkC=!.NTowVkpOϕޛ02jL/ȼEYɏF*<5=(1R'IIX۽疷[oVP)0HBRD:ثvbۓ|d]G(UƙaD|7қ[k۷`etdQ~%ⸯn^(s;oTvqre[/lc+bJ]5N;l㫪)5x]N:4Dd*g!K=Q#Fi|[ݹenYV 5P4|^X*6.nhT`;q4h"MEF;0ʢ'E59 %T|*f'$R]CW] QPucѕfO#ZRϫf9}~|}6Oj&mR^<.j-D40jZ0Pk>wvmscDA uK GIC1Mcbo^eVٜ*1oL%cuC1Ѫ&;k3_jbIiY>|]"n-)nV @)0@4ߙNswN#*Lw}$4",FZQC 4 ^R1q*@ٔ3đ*2@:.љˡAUOhR˞d#Q%*z䬍+hʚLtH'UN T 鯧N DtF)4R'qrt!jY\V@8(" t_+SRKCMMhF5 Ee~]v׏Jh*xt]4MPn8(f9>ݻSm" G5%5UEV?ObO gl0e+ =kcFC/N2UvOAzxS%Ojzj("(4 aI&c@MT(=?q\\Rj~gע޵y*KjI2$qUaG\r=~WJjkx3~e) z|>+i*IJb`G2 bJ{xLxRb_>|dSNk'/*d$BP#iO55P@Eklgc으 _$C >ji{2B ?=9­Uz!Ud.aаLtg#Or[s!t32+(PQil=7_^^V?^ev0[B)pOl]^mrV'ncRI%jCCMQSu󯧙6AC?^kq.ћ)vд3ĭ9#G͜B~cB:#Stoi,քNF|6c5%Vң :J>9+O25EL:nE7j#Bzi<)Қ,C,3K+KD!u .[H-{}@:k0sBG |CtOKVUG DrFKYcp8IC[-9/n梪lHs9Tվߙѹa i cX]d6?@ѱ iƥOy=͆GCp̫)_.8 nwQPOYg)$I}.v^1TWRVi嬬@XTSG I$bPwB+)% ke *gW:-՘Q'}߷w'n>0g:*)+1_k'hhT21}Sㆮ q4pxUI&}dtQm3\BqZ?gKzlZ3[k(7 R2M͒ev0V&kTجɤU Mʳsm,QduR;hGӮ} >0x᳘&/[=Rl~MM IOPC>2I%LMK8{7V{٠h '`<!շK+4h]4'Շ ptWLm5UNńwTl5e i#T1T&Fsy$q W9]TcAЕzl 6yt\HcتIݙIͫnDTJN^,uSW ۫m$KF]Nጫ̐l*E,-@8y;ޝ)7). aTJ]@,*j)4ۇpP' ,%%y cd?qH|r7on}jgB(rܕ uOO!*a -D~Zk@iN WebH) J M iIOܰ]Fg(IUǗVe&Nܟ"{g$9}6f*bjJDA>7 ja,E r*ɻјZ`2ܓn=>C~L7`"-: _}Eg6S~-cٹuT?rdq"4O]ݩ*$Ilўm:)%Ʈ=hՕ& YRe>$T(]MCfT !raJJ SxndkPLp@.zgkx-nXyw::~o^۽1ͷc̔0:ʺLM5(5sn4&rl-ZW:YG[{J%F "_Ȋ<5:c(к_ X{#RO?E]M\Ր8]bWSiBTDSEzT/ @cb xⵌUT}/t_nVj2D'W˫3cL!' K&JJ$~939+yqJ+.͗SxVtQ?8-/Wdu/ko%&K üsCSHTFE|kehlqZŸ-~"10x:6&Jz?gQtV8b O[aF<_q0;Jعcp "p*{\}Ö7ʥ0RT>ʎy~讶?W|)=> (J<&Eyӽ[{)Ol *$dñW=L wΣnlEO疪gwtPɑ*eHv4MYW.%Cx#qyy|(>ij3P^'7dL/oޖGRú65RE+c$ڞE~#D|'evFǗ5ˍ2;{+E|>G/>'unJ$hZdGc船UjEp@*PCSO:jN=xYJPJGq;*{ni)sIiq̂EYQM$8`~屐:GT&VSq+'"té#d[m},4I8 .;s1[q:MrٚN>ҤHqSD#dnM9iFkb b"CxW]1HUQ"0 tqExu{ue<{}l5- ;IPMBPtU[2SLqbj454iT;T\O)ƽCz&T"M0+!6t$Дd(xuCm{ox 6/hnr4I$s`s8d-'8XK 0 -f;l-̕skѢeJ(|>;Kכ+w1X f];x\M-xmdD,M<(Qƪo.޻ێYy[8@pDiv,AFh(1Ng=}ݘ 4x1GtU"1b!n-"=&2\S[S?ݝ4pO(9W8.s/ENGh鯯@Oq-MD'r \+3aϩTcS(#W9,X*+1G JM~buOL-w "l,*0h[59RhWJ1w`rnݯvT.{{?i/gWnjsnֹ:M$T[hSo}F$TX]U8IZbUK\TG-R8VsD &*sؘ  ԟ.?][Q) //7^ZJ鮷\Nbef;xfC!OJLVʟ;sG_W_?=~]|_~7uk^>T>+{`}SN:>ƾ~ʽW_B>oWtoV7?JxcUxڃx{Ҽ|3x }>ʵδ$n??:u?<*kwӫcR/uo}-5yz2HKG Kum^?}>{4/ZWNiMx{?/8?mW~/sF-ɟ^5VE~ W-A?6]wӦCN#xW\_O~4k+^_43K׫&զǓFN~޺H_oo2>sC_Uiώߢݞ/׷կM98z4x_+\V> x_[3!COü-_}O_՗WOjE):E? >,ΫD_w/B{??&_ ~>m˓~-:55?į+ˢloe^;iLgPnO1^<9t}ͽ~*= _!O^|O3NKW^uq_Eҟ>5T}NTk_}Y߂_OWOij=}ד[/zo