/* Emacs style mode select -*- C++ -*- *----------------------------------------------------------------------------- * * * PrBoom a Doom port merged with LxDoom and LSDLDoom * based on BOOM, a modified and improved DOOM engine * Copyright (C) 1999 by * id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman * Copyright (C) 1999-2000 by * Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License * as published by the Free Software Foundation; either version 2 * of the License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA * 02111-1307, USA. * * DESCRIPTION: * The status bar widget definitions and prototypes * *-----------------------------------------------------------------------------*/ #ifndef __STLIB__ #define __STLIB__ // We are referring to patches. #include "r_defs.h" #include "v_video.h" // color ranges // // Background and foreground screen numbers // #define BG 4 #define FG 0 // // Typedefs of widgets // // Number widget typedef struct { // upper right-hand corner // of the number (right-justified) int x; int y; // max # of digits in number int width; // last number value int oldnum; // pointer to current value int* num; // pointer to boolean stating // whether to update number boolean* on; // list of patches for 0-9 const patchnum_t* p; // user data int data; } st_number_t; // Percent widget ("child" of number widget, // or, more precisely, contains a number widget.) typedef struct { // number information st_number_t n; // percent sign graphic const patchnum_t* p; } st_percent_t; // Multiple Icon widget typedef struct { // center-justified location of icons int x; int y; // last icon number int oldinum; // pointer to current icon int* inum; // pointer to boolean stating // whether to update icon boolean* on; // list of icons const patchnum_t* p; // user data int data; } st_multicon_t; // Binary Icon widget typedef struct { // center-justified location of icon int x; int y; // last icon value int oldval; // pointer to current icon status boolean* val; // pointer to boolean // stating whether to update icon boolean* on; const patchnum_t* p; // icon int data; // user data } st_binicon_t; // // Widget creation, access, and update routines // // Initializes widget library. // More precisely, initialize STMINUS, // everything else is done somewhere else. // void STlib_init(void); // Number widget routines void STlib_initNum ( st_number_t* n, int x, int y, const patchnum_t* pl, int* num, boolean* on, int width ); void STlib_updateNum ( st_number_t* n, int cm, boolean refresh ); // Percent widget routines void STlib_initPercent ( st_percent_t* p, int x, int y, const patchnum_t* pl, int* num, boolean* on, const patchnum_t* percent ); void STlib_updatePercent ( st_percent_t* per, int cm, int refresh ); // Multiple Icon widget routines void STlib_initMultIcon ( st_multicon_t* mi, int x, int y, const patchnum_t* il, int* inum, boolean* on ); void STlib_updateMultIcon ( st_multicon_t* mi, boolean refresh ); // Binary Icon widget routines void STlib_initBinIcon ( st_binicon_t* b, int x, int y, const patchnum_t* i, boolean* val, boolean* on ); void STlib_updateBinIcon ( st_binicon_t* bi, boolean refresh ); #endif )HҖFK# kD WoQ3$Hq4 vmIGyebҷo#c*[r)@d+l#@vN 5* hҔmn},ObL c*jlhj` *Y&b00jcolkϟ_dI^ZLޢxbp[MTiDR[ Iu3ս"}^ rSbe5k|M}Ez[2ݘŖ`ͬNџMlO+)?.rzFGJ\C19#Syj;K 6iINޗ(No& "Ɩ ۯd5F|x[* Ss3,ZDr8h(c#(b/`>#uD(UV'\cG{jeJ8R=;5H\+@/Z 5'CxlLfJ.GЩsd4 Eׇx=>/v&? GMJ_޾#H*]7hIs f6\RJnLZ8CZͩ~s(*O 9irת4 xv[PY%-ohPgݿhNA9ԸNML'_.+ 6+G5;*Q 4+a`ߘeFR^yg({NS%mҐ5~R4Srp7FXMTg5\Am{d.|a"Mt4Yю95&~OMXH.K;rޭ[1V"N6 jPS"Kֈ_:%3 L~6m9<#ֺa`OUK-]oh $ n(I>SJ}@ *o+lK$:$_y9@:kpgFJo>#8901}a$~RШw*W9zLĢ<i+[dp}(0hyi@n 1Pԛsv*p>%!#kǚ˾ Bipx(uALkpAuP/u!NOh ϝ#Tb.ίz.1 ,02@+8`< X3@HLTFadd{{nTv}_h 3YT Kʘϫ,1ϡt)ؤ쬭LXt㢭<*j]9Qbަ;̙諒y5v0gө'͇8|&їSceRG{L`m}`dhhv*u7 on|4޹A /wꤡ'ypu U$>5MtEA~ANp=N0I4acd+_qYb#ovZF(0#!D30E_G^.O3*g5E14y`3n'ȵ|f] {"Bㅂ~ISJẉk*K7?W"3 ƥpd‡/# xJZk)ytfS:| %-ۿ[KKhTk,fgʟBnڰ[2V; I4e;X)]5ƫa\F$G<+ѽ?!-E+sDԐ&8q~*%uyu'ءd ɭ0.(dBfm)'eN ]bR?ܱ -4{} f@ԅ=;>Bl_ ǐ[V;i$!? { k{$gR΃qv/ 袟O%{d`8hNsZ-*;U@1 #I+}UpŠ614L`MG`R6GHO>XYoNŖ\ oas +U!g.mw%J8t /qs7`[pBO.>HxM@Wni8M&ݸ]ۻ$ACp6DSvAep5հ~,u FTH| V*ϭaoDVLtMdl^&w9 &umP\kBӞiO;ۙ!6\IC[JJ~&y¨R=9$\ERYC/Rlr5V=;)ݕF`Sϵ80`D:%c&+gqU!BTw+O/4W_-rmjHI-RQ'|_͂GjL9 lBI$7'=ŦEqTz4 ,W}uf? tr/S!YXb֧eպ:bBU7 |Xݶգ=bJVLVuh'_IAkgkFೝ^DAoOAW+;'c^(dWH831@EdhFPkݖcY!O:tFPj0";ٟ; U#=5C?/d; Z o.o֣$?uP"1_ʃ@reLiꖑLޏ6$F9iX|Iv~ @HT~޽Ӆ2GVDm 3-IOk)lݶL,,"k8m7|9@'^Oy^Kސe?m,|8L y|]8EP8aymzXxŽjnþ0|.^2k%YZع*X̷A*$3l2]cqPUh-^_@z-"G" " 闒׳D4_i?򆱮b0aN?j.@5G  p^>+o*&zDUR[U$M݄WfcX +f])Vr/[X͝L`h7{g?PkԌ9Ɂ !02'v"MBԹ`y#ddw@qiYX7[ ZHnIn-@h28Pnf ѡM H52l2zgr'2bd .$oŏo*YlRe疉u|JkMIr.W-U0sְ'wWX XL1Ȯ%W~U6|ݰ8 c@pS7-S^FJ1LW6I =>2œN!p_}iFEIÑzװ@f,*e?NxHEsP?\THUI+QVм0HB<ݝ`&Lom,uWljbTUߗ.ʲlH^p^v u[p"C<*1#cLyM*JЋXuB%Z?A"=6J S"L;ǥG&pL=tV9o.(^#d1]mWQbͳ;W&gm< {S@_ s阧'ݣ@sQ9ŭH`xCAC`-V4༧ݬ=<Ȕ:pZIjѩNߢ;s;MD* 2uBY BrfU˔MNs&'a?mhE*YI|`q87Xxw Tp^G GuysHJQ+%lDr+gw;& "wԵ b}k"eP=_<&sF,Uh~Y}39蔼mPi [ĔO Nm&~y77Eoשz=V(.oi7;Okؐ9Aӽa/Ɩ윕w_;䵎=W|J/IkJGvޗw|ޭ!CTƾ㰻Cl5v#:HWoNPg0Q(Ox͞r;CSlu-W96HP X7ǔZόY DLS5W6gh$z󎟊X4p&?p[*9,#DzyVMl/$|mxF%:6‘E#/\?Ucel ڻV2:huA rR-cRz@(RH+ 4/O Vy.#+zz׷51qDv`{lP+W~=(4(vk\ T# G|"dyE).0HW6E>((xl6I#jh9Pm 4oY`Q9R9n𨶐`Ml::Koo tLunfŭ#hDMr)CC 4rG`k)3U+LeU<PXo`m!~#&oH4_ھ8+<ڼ Gh` \ʵ.y6ӕ 3IsD&/9DσF OwWAx2 =@j+;k)@kaI$Q#ADw[)Q}mJbTܖ"$㝊g{Y1.F1[*!AS|2"U*@*=P\A/YVPNjzVjTޟVZJr@lV3O i(+1*,B%0h?1$\%4oT '' K_@*7IxL)࠘=?vͩHyn1}B|l B\}c8Ӹbrd='lƧ{豰s[C\!WڗRKm需 ᒶ'!)ϕNRi),<&Q;yp>-޹:&Tmł oG̊lFroѕ6:8!r}tU.O bi8:ϣQ2xkFT T(Ik^\1?6/z&m {5T{pDq{"R|_.v X%Q;z6=Ky{BScOOS2!fLbe I}ڕnՋ`"`9b8HyXN\ٌ2&i2 }а8SWRi Rj%#ؑ% p1vhDoh$m@'`GQZkG+@/Xmz*̄E/8cͪȘѧΞ@n2H+\MbˮZ%){ϠDRͰ{ZH *swq$2pta1 1]64p 'K@nP%3DǺ}lEdha{͈W8ZT3/+Igٹ^8~BT/_Qi@SF#LMQ3c_`#κ@)RY=bKY` q|6= Cn`DלLpAGfV*62+ridwG|fyc:\aLOJ-_-ԛ0 ٸ=n^^R/`x8X ]sklp"uzC~pա>v3H0[Kd肯?1A?RDzj.3Ë&`*zVYsS55/y[` *O\VdK]ެBD'2nͮ~>U0v < 5[3ܡ˲'6ruǙ׵g)zQDڶ'PSD F rS~BCʄ(JȄoe+ 6VqG<^7B~  gW =DԲpk>_$pWzJ#:Kσ3b'6v_#IPU!z_ɜ)"wO.GtKF|̆-Y2{Xn$M5ulbڸl΁toD14W7IE)x*@p 7Usxph+꾬!z< xw /F0l6n?A4^EQǓô/476 겺?;糑QA}0Ec$w³B$Ms0szh=*zjѥs(}1ר=tT% tL2[0^0`hߘ OXn(tlu*AhXʪrtx+?K=L;w mƓ}a,I2ܳ!FF% I?VoTM\ J(}pHAEJ2YLr+W";`Mwx*!q{?LIޢ{[f#tv Q©| O}b0==}R(¬xWMdpީs)"{P[݋MJ1Yw-0 ysqM%=1IVIJ r/T;jGьL/wܤ2 Zw].k%|TiՅ^Xm0*FGVh֕HM}2/!pox"'џX5t=eI_3 'YncS'IVO{\ufI0D ݫ7Ou.nE[6M( b 9~HqQ% ?r܇KU5m3f́ s^{q:CG"`F赌 rI7uO=$U t O͎5 OXusZ$43uY@׿Ռ}KBd%|y}ʼfh41A8`8܏M^ vN:8i-5ϦȽO/ȋStbk=j܋}<7f^] P R8\@w3\ݗy5=XOIտail}D[#0(su9/PP"qA~ NkE6XDL\8iݝ @5zulR5f?4鲧' ]i[Q/=7opFw! L 0s3Bo0>ʙ+O&f@yl ^JR ޱhˀloK<\!fhwPB3q0R~j>AIw:z=\hfPkSǾܟb8!M@keyI75TO5z/+y=CV aqbс={R֨X~\Bt߷PzmŜ Yq&|KjSlaQ_`=oT֫ {auqxC?sL#:aʬʁ]D|w &,",ĈR *B6;WvtJiH}fotMz##Щ/tW 4TE.Fia1ɳťn¼Rc?wYtoN8G-|:\NYZ)8@iǒ:Q+ ={r7ok0(Xl[6mg7bwrc][".J>"+scbȺɇvN}I}"S7"W-N·Kq8o{K6qO0=T d %` R=.{X*"1<8!7Nĭbx0S7qw +z&zwHdVs\Ahz+/ǵđBVCm)HR@5 z rqw}4lIrPb80ɢQ)<"^(M|X~TVMjNZDOSd ?Y9tӗp6!k҅maERU.%'ng1 $}44'm2`P4S[z* r1ɷ)D;l^&3 7O݋-JTϨM~]2@\sƌbgcQcUێF\8cwuV(v7-,55fSqoncM@s/oq@h>˧ܡ?cPp'1vzҤ!2'+6[#0>қgI85>E[Tۛu9VaO1C|*5 yS,31-2Q8 s 0_F 9zs`8)Yݺ2U/sT,Je6(1pJLǟҩqœ#JVa)$>Al?զF]\O"F>ccZ%X;ޞF˱ y/aWmTGbo}ҜjŸ@. y#BTNo/X}&pH|zM݊k,0+OvY[-v^3W[;R )oz<\ٮ36XS ENCwt>=i`~mپG!TW3@?/ 3#ZP=[hf*BbgBX>4W.TaW 4oevj֨zBxtvzc\ʪ;ȵd~O"~Ȁ&?%[<^s,C g=J3bB$c $A?b(O&vRTJf"vA!ckC4:oFu!ceຒ8 =zWQ{'$+4Gd5-Gulr @* `A\.fCٰ?Ȱ1 @e=h/3"}34ohb¢Nxb-f&;P|8+Z$cr5i+j{{Z}Q6xS FS?j^,ck}(E^ >nBpai^o\m85RzlV612~j{لsOV̈́ RvgS<@Oz:=Q눨MTW𴀐`4mF=L \k>Ra:.)0ճYChi7m5k.vmx#%9=1l<;Lx! 8" TLI|?w DRCC|)6j^7hCm%>@}f[CYgIy|`?{o{` DB-n]l320Cl$UR攽{I bYa\.Las85؅O1R(`irpG -dzZTLdSogML jnk񨤅 U}6Y3V̰e3M)t.;iOVs\'$`7O$M~Ks 4~?%2Wʯ"D{4ZiTttHj,0L5mx#D+4a cpjIHo Hpsg+$XU0CO4x%3u% $/z7Q"zⅈ9E\^f47%`ȦW#tZU R惏7../4GZx"POAܱq ։x /ꩃtHXl,B8-kdI污7\aT.ϔuat4NaO sNZ_*-X}gdEF)x@Ǘ@,"$.f!['ACv)Zoz| rS2Gy'r>’ha"Edynq6ϥr,k,ơ:Boc撲%e](LvCse78K.%/)kOr)XŽm$Vs7 כ/]]!k_L4)R6lE.:mF-$ϊRݑڶ-t}ҹDU~Wje*D xo| e!ц4SNA-`¨Rچ_lw.k2p@,-`Z]8JqUuhBѐqL ]}ϒQjݛe^F9 [qǿ*oֶmb p Lw+@[VAkpى1|$Ki~Rrq;5#wG8ge}V~4D+LSǼx:CE:eI1OKoM}JC24L7ŹܞzO|'^[0/ѫ`kT>lgdu_wl:dt2(.t)>p4c &fDRc:f:ҹ-][O<{8wgGa$k ugi0q.H/ +aQxPuxFHn_4POSe)m,xWylq<{ѳ!4تpf;;D'@̗s;"".S&jk>vhs7Q {8OƆ%pW*j78?0C=PvFMMTe'o]ttrSIao ͜MЖJ1;h]5ސiK;Wíi'YqV7~zDk䚡\t&mvdn7?[L JS !8‘^_,myqɻ ]xTa9%!S?:M$.QDM\KTo*lg󫰢Walƃq'B5cQUQylMNE|O&V{Hwf}wNU4*_w"Z .SZNd%0@Ƣ<3]]FU9f'H:߸L@#P'p62{Lh8k3l+zY|'!گAx{0&yg~gWtQln}=O؋j ގ_Z\c9%1PA;;. >}:vF{EXZ-h3fQZ_@P3qvsطF9ޞkUvVb*쵻t1[aD(ݫ#ǜ5^cwɛ^ ,֭cb 6XVNVJ-q<P*/[d,Ȍ&(;/gB%R'3#u64]>cW2wFJkkuШt>qjsgwvIC>q${iF(RqwpS٥Qb_J1fS"b'#Fv`ݕSLNN(߮I l>?Ui1d 0!݅fKE{?S0Fکh[5lV5R #*bM\#j(|oCu9&Z]!(3nڍOV{ۍD >@8sQB*g#:,j)ǻ+{j^^7[)!IS1 DQge{0k)`JN' ЌcUgCiUY ]?jn?EV&&~"Q.0X7Zj lg A(pߓ.OiY}"Vo?Hsz.1~YzW_S$ᤢ`LاuЂN.^y0G ?s'{b?YCr Pυ,h RL%dJk|vsG+JW[F`y!)b0нh[ɰ/)(JFUQ $ю1Cs?rϾ9 =^0on[-ǟ fa20kD\6T5C>R$k?4w@FS3$ ]fsDxD3 3f/B] ʟFK Θ2D'ϵ+K\[ᑠ`bR 㮬JW.  H#nV]u[*qtT{cdMI,73By>' eHZ9I#ce]:Pi5D=/ao_ǎp9,,:H ejxEoV +oy' cyybYds">l_1Z>Wf.tЋFȈuf5s=q0#I\2!^ȋz62MA= HvsQZ#{=T^`PZSO5-eqQ©=(<b[ZwΨ9jA2mr>o!v>cN`SS<ۻ 6߱YCr&P|,oryv?e)/x/RYWԻDKxB;Ke趖1j;u>DwJT;y`̇|rR#cpXh g=Kbk>xI ЕnԎ2_)!`.\v 9SF/٨(e"XO!tib:5Lg UAj2RCek]wE$*Ju6X^@|pX=`Qh>B6s'2ma=]iiE-WgFZ.@!А7^КgQV<7APPF(g䙣@n=oFWm{bƼMCgIZd-4LG/ZsoӼ=x U? Ӯp7xvPTh)`:J0EsjHJˆ'Vn4TމRTet݅_俑F1A:/7ur("Oc>َE@XEk¶Q/-yq?ÚU:*1#MRS ]Yt(6c(SS(J>LGisotL:zKxFRNM\̨[V.(0qiŤNE^$Ns&7 {k&kX4u;Qq&dkؒ׾\Z?j|d @=J6kaSAe 1Ѷ5[ryٍ9ȧtPfcB# jk]/tADRPQ(/TyNe;g?&WW%8 %j5jK7\IRiMڄ;:wke[G:9zi= tJc2.Rub JPeR.>M<fJ A䙳NChTVU?0(C@ E_o3)f/2sq[ՖO u?pN9xjyw0+V[qlAI*p kTQRltfL4݈>O mQ2]UIt4yq`4+jw+PE^xq- y 2=*HuD`hO /GCu(/O23W093س~3qd~OzwSnYh$0O2~Hڨ2ς\e4y"㭬X; p E=a# ;^ƺ1m<)|?ґ1<e|4桕:ScʖǢ4)ɵZ_o\1‚O`}hAY/˚pZs6[18e ]xV,81Z6)&&RQ_7|%V\[Soze_'WU/CҦg*FKn ZbG6Zmg,:)gDb&VA}N^1}%qWuRfq°ȸ|b:H 9e/cIH-G/vu8D2HóuK cZڟn m^)V $?gW?H$OLYU.<]H܀z,rξءJdl5HWYuz.ӟH:PpcnGPUX`DH\$ز1Q@"VgؿɀS!y g1TX`5L(}3]FIX}'Mj%sK%`G)%#l~.g(Ƈ!7bnC8ۭ7S&(P%t86c.hp3\(\M-7n_6P`W{ &Q j۠|YF'-<Ewڭ4tGpI+|#$B'̻iu4w]t 0@(]RX- Kd!K:{XaI(#*ۇ Ÿd _>+)˶1ዞaH}_ڷ -C>OT눭Rꎢ]qp<;OkE3&.Aqm8Nijs2jJsjSF,Wtmi[b(>RO 7 [wѳWlN&_Ky*|J,:^ 9Ή'{~K3=kx;JqђJSdeY1\G{CҾ̤sОtXc:;pgQ_Fm5;rPm,XSE9_blqx"R鳠*J O]_]pa h7P@P֋5ŀd2fb|+), N?GgyQvˇ[ |7] q_5q5RƝUߑ}+lj # #{MspY M(`iy}Fe̯IFyNͪϾL6.Tas|Ɩ+q;j%M ʕ;Ey*Z+|xf0 ;xNum\yo 5IW^^r# m`wI_hӢHT8N nbb%vTv.nB®S" <:N4},P0sÐ1̍oZq7 {R1ʄgfh 9b+z>#/_7Q9)bVãD]Ht"8o[ΔAŁ+m9)vۗu\Q}1/=K 9O] vUz۳~,O%)$k v<&)³HHUx|r5Io=~>ry!:T[OIQwp#:ÕAMLA!H6E׎>YqI`ij^4lg꤭4cXoY-Kr4}Gx2;&srژ̔'_mv/P ;_  P#oL(~x [jobz%9q:7$iԂBC>"Uaѵ/8j0wz  #̵ @]a%&ghJ`J]ul{"$ \rݧvE%nY\}.rz˧^&6 qR\j=UGG0H+|uG۶ i`&N͋.V>r쳀6)!tn1oWE5&GeTڄbV{&|>LqP&b-'7ݲ4xHdAQNfF\FQr?p-cGڑbB?"%?:&oWb[yL b ktJ026Y]5|1Bֵ$@mdبzݒ^ed-#C2mg)կf*#ĹO+(F< bUb:Yþ- j&7_~ʭ55.91^b?Ż_c0ӕ@R.rfk kZnS'Misk_KN!S)CT64A˩R'R0U.,-Y# l\Dc1"l+. zC9Ի.s45x@gu}9jwfWm;M #PώC;O`֐\}z6cݰFǵNqFRܲ#|±)$R-Ą/ 5R:r5iModZZ@7.>aېpynS~_>_ ˀwe֛ ieˡ:{F}M5jl99?TzV~'##" EEU8~8t1[ Jmg5+?KCٻ(Dl(Il}>Atʀvk3^i=RQfɐ%!熜%;a}ʓbHYfb}!ә̴m"F][l?T*H:H-ѫvKZ%3O?4ɷx!6䄼 ȅN*物:FN&F=K,QG=?ܘBxZ(u sCQlE7-*1ټ%jtk?] 4'3[0:Fՙ뉓_Y6H3G -E[nڄZrګIA'hg‹,A[Tk*-WNx!28gb[8AeZ!|FTe9o7*f=J֎Qȅq>vtW Ab YiTKOUhՄ=aȟ)1@iRsxn   #։E@6纞%+>֖ `;a\Y7Ŭ{X mf|muB?={', vJiʰ*l3tWN_&_V lhcW_R2!Dq;6%ܞ ΣٛG2uX LyJ |Z֬]_d{6nKՃ.H7̝ϪîsUe,z#R5uў8T`ڰDE9mE+Ct SQCjJDDz7T_ë7Ydw3!4,%{ܬLKWRpJ,>A Yb#K^pF00èP(rTYio}747&dUo feH!Rvmc_ \3/Fw^[ZL kĸ eS/ ѮL*l)^~t!󵥡gW?vp**ǿw0.Bl`^|N?T('e.g_s J?n̘[YBVzaDMHº/͌4bT׉Tߕ-ugt*-0#x[>!c'1qՉžY`lnaps :.-OJVeu/q>VڲL @+8M4+r7Jr`S0U _]JHrsF"+-B5yg ,jzdwsa(l,1(H['-JI&i4d1A~lý!W_sQ78\{g3hr7Q U aM͞XpZb pyb(Bf"m 1}%m#vh=\M2?n2nz4/:_ U]aD\ٴu!?l2*o&cJ6!:Ph6[PU4ѫjԙ^1NTb {|9Mo*ǚ']xéQh2⚪,!hJjrnyB:~ }zuǠOBWp)|FHH|?_q"DjVY'ٚrxt"ʸ&# l⊜Y,Dc }fbfZƬ fP !_ aU e*12, s3"Mj6Fv]D2CjKX}p鐕' {u_czVB,\^Nˈ7dz]i҅r뗹]cث' Oд6;|3(n~{tz0W%"kaI) sq9RR$Ƥu6tp_Y躹`Q~74ֺ21̔H𧖎o_|+s (l  ގ D  eP}t6,2Ǒavps P8z65(+\oBA3*WD56 iGLaABr K{Ѝ}(5v<_&mzQ)Qs ; ɪPv~ԄF\?!ꄨB{Y7,6'~>_FHHI{W3EeRԍWd_ո6\U3x>G"C =b3"Y>䮌({WJsdB>@JNƍCIaYcpPlub@]pSugψkt_>H>Y/,5c9/]|-@E؊Cn;^O-nmHSF缾$)P"qVŧ9 Ese-CŞxr*Zxi4Dۜ' iNŀǛS{Z !cUo5ʎZ*j">gNRaaJu[R!!i`1):Y(i(R)Lv s|B O%* +$À6mfHe[@+xj|9BE7(`шc 엗\jE \f->Z>^as'n#c`~cK0!r`QzR*LI߮t\FLȟzHu[璻jzKƗSlluuVLz G*!!0A,u?S&^ noS1;q^R7s[O[&c0j{:d#a`} ILh*ڧ gY*OhdZbS3d7D⦚>_C2-|lr=ylU臄B8G1j,9'<) 2x۵q*:$&L^\F-Qpٗ,Lv.یwSR)0ަ_B)]:uIVNk _ю<"=>,;kN8,H:I0*Ho<)-5`ds].qF[< .QU$Jx|Lc) fw,gQ%It(;Zjݵ(\*TZ?3p 6@І۽%{8VZ+?$?\}Vλkz f<>V=\B>\JgXH9[] VЎH-MZ6}1?pV*ne AjYZc6aGb`P47NBc [0:PaJlruZt)g"YVH7DSDKLQcA>}+w뭘&[ &:}2&_o&&Q<:($q4Y2{|Q~˸N]i(fj2 YNݨC"F(bŶhcFW91GGX<b'UވŵwƗ`df^1d;E=8#vvzdM3J~ZyQs(05NXJ̠)ԉhYߙX,Z}ml ,-I'8 yݪdvT eÄ]|J?L#Ñ7e3B)4$8ȹf^EF]5Д<  wqdsZ]-Ĥ[S !](extlgBfg@VDm`5$ M*ÎouTq\H/U3:̌(EqOg۲ lAe(76^4ߝ9AGؕ"3lY4WC ^R  eϿ_o E'BQSsF<jaNv"SDӨjK;#NеHGYq'7SM4̺D? AvxyAu:ڶ-^ܲN) /!s|F\Ȟ(8w"EWHAM='c'<TGrβDό./"sBC.MEyo$ީ![ <Do}[)+ !N :V:8?zIA;$ɁxO.~ wOОZ7Aļz%Y;Ugw|G801%R`Bu o}}$] n1XFt>`ri?=!/(U"&/P%Z"&uSe>C,Zoq (rxG;6kK&BTпnA _c=Td=2O$Ҋn+gIV*Jb+ W%n`LCcW}Njd/_]8BVʒ`s"8Ҫ^צl {mꊪԢYyjVfe`~!]+XA?\okފ|C/&G [<ݐQĻz#1c1nZPhݟJCsvB08sԮS9):'fj\ Wy@7KZ{4&ʩ"8s|pcZѡaq&ӁMn&UN/;LCb{WyظoCnB^+|TA8 #sCW |ޥ<.*"uefȷ@Z&̾n3Nms=[>Ŗ?/]rp1}"͕eutUR-h$FH"z#`Ϳ [אX9fq ALzsz@X#8T@'9~&:W}N1]0%n<"mt'mndpH .:]쮥p4+)a)$XVgQx~x|A+i[XgĎ".Οf>$M#1C *4Ulw1)?sF pLAݒe)iq%~lN+i5Wb=I"k҄e!Fl\;֜8A)LeW=gE+ǹ >3/qm,D牢߂hzr!άCSN@pڮ7* .o#{a:UzhtiԶkZ*N"Tc7SܟXsc6yS04u[bhةd8b|ЫQM : /Ζc1f^s12cEάB#g,n6] K`svN/UzPoX$Lp N/Y_]$ʇMXY8|֣#q*dzj(|F ʀWzF?O7GtzP< ֍}&ٮ)8)$ѼeKbNp<  0~(=~,LM^1 h&FW*(Ql y,V8(u?(.sk#;dl/2]<|dZzL%ɇl(t1֕k6MR1^ucm;9Q3'Ѐ=! yV{ʦs?PYl-~@hMTIU3 [Тi`u3KiyWBن,3f]_\4v48+'}j4)[OLNٽ$s֚G 鉴a!6#1, #BAr>7/Dd8Xv"ȫjyb-Tp|#IH2-w%q8| m;wD`(wE\r޻Be}2ns:#*M^X]a *^u&ڴA4.! mE сҵ#?L}!o n}WeUx)s-l \ACxX6 Ziq'03 Y1?dcl]>%ȃ@ġ) jݝY>=( ʚ뽕7 }쟗Fvz\$*@凜hAnpFC,t9 P'䆿p;橜3ozG7|\Ԑ6aZ&UlѣDé+BqR$F MPW oF2Iv8X9aAC^s!DjS ؋Dk.o2D<@4QgX"FVCb͏ތVʸjBKvC:pq GX'A?Y WgM0tz3uqR%KTd:8b=a}=퐒0>Y` ~t—?81ݒ5@t3roh2*ǵu s\r}CiHPgF4?=/0"RӋRr.ٵ+~"} [d50yYUi٬F)y*?-<^O84&J(DK  w{[qJ꫍K ^e+fƅ~ZsboBEAzkcl/Xjx=$XՑ!J"sCUl)W˚T7YOIjUz^QrCSDXv7~,yՇkϮa{!z.'CS wYJ |l9RxE_%څՕePFKCP L&@T#\\UN8o\t Q27RAR R#M {T7QYJܚ8x0a]0PX@;KjO:.Bd ftN0GWϜ['qeǻvׯWe~5rn2|stiF^4aPi]/}O$_kyZsZa9|T0O '5@^N2'~z\KO>a-@O,{jDϜI7W~FG$dX"@1\$k$r0r{y+> 1R? qRv3 {-yё[dޖE|$*PjxRځO>ew"ui@qp4C&aVW d'_`XWhdMrS^3%LC w. p,F`r!UX?9J(+Ao ja.s2MK( &ҬY5\2ݎN獼bro6PCnZjw~{%@漸l*`Sl&/,8f[z (pXMÑ_@J6";dKWZ:^.&3/+|sa[;'d6&M% iGAϞ 4>‹í_3fM^Pa€#;*.[XFjrQڐK$0X? g~L`?;!D~$r"޸{vb焒eDf~K]yIK%#%v @@$SsW@P5peS=32OY')\N\Dpb&ї;;'n$RcM|ۚYmQ0fWz9||r'"gC5S4XpCboSxPkW/1JBw?Ə y > s.Tcl,H/v}I>.kF.3̿z>1R-0]+@7W 雹1L"[WoOO|4ur/N·|Ǘ$OZd(Mhf11K)HOED6߆rom`f- KTݱPp/ɾK!rrl|2Ye^DkN;|44E odL(Ҿ !d_IBjE(ـ,lqňW?ZlZjX4qB3Nq8YCr,$sI7sB/籚::(E˾bAص* K _5@"m7pONHCSa0pL ŠI&D#xs>CZS.]i6X6B[ַkчFIò tmp Ѩ%t21] A:GS5gl? QEIaLԢ*,)mųHl YpBtZ$#a!ߕa r5tm^nN&,Ѥ.Ӷ$_( um^R/wZxOc u\w/-/$oȯ gpdm%2_k OP9{jb@7k"[v#efȓ!{䄿RM?aGF?߬J3:f8@ %*ΪhuG~͉AZvR#Ln Ÿu/ Qź$""2;vygtuwdlߗxnx)!$5^;c䅃ػ} 75޹n9]N<0»p@K꣪2"' Bum"lKE.h5\UBӀKjr Ru[kRadi t^ƱWS<7@NMI2k:gl䥽+*bHqJ4]W"jkb?8 q_n_!gMr IFvuk4LPvCfS&j"mY)􁪛o px!H쨿eF-^e] f/`z%ѧ|(VEi:s2;n9]]Hr 1¤Ӟ?}S%Pp_/"--f wv`NSۋR=UvAL1C{x7Þ>nK|&)nDiO3P[Jccuf\:9ԇk{*8^;ޟxqĺlu-aLZWLtD6#_|ɜd!zAjVrdc]*]&>ˬ>{E)É8p"PnpQ įnqJPp|JYƶv-NDc,ŗYz 6 Su:vU.p\IڞTi)r{ۥgEqvQ!(3/$Ha.sur@o[EQN~!@r?ʨA n#t݄6R3~x5gyہ5)e|l;L~-p<RAz]lfks֤()b }C뢤M]ŁIt,_&em}@f1ߛRG`V*rӼ^GTn&k e&s b&|j۰6Sw|a!t|s>e!ԐeN) :j]0Y-vGK'j/Ұ.X[˫ ezujf |T \[9gqb(Ë}kuҎ9D] }c jt柴(2#1yIf*'vӑ<2iQH%7GH˒xxUQxϑHbtFKN Y 4_/슏^som~9ţƾOIփ̄Ba|r 3X]QD+&cyyGvt_#91nI3%ToiXRY$&"{/@ Q[+>#hF|OOT!k8oe9J3x˩ mx-eҀQV*aMB>"z^Pc=Rce4vh#sb(|dK;\r-?*$nganJz<;neVyJ;+CQeGlV%zXƫA6W $[uOQ( ޔC}/FqjMFG>e%.2Bp!v7=TWr<0wZ=Ÿ $7wK@S~H^_G+I2|Lʽc`5{P"C}g'rO1'{i㸵1Uu#㥼u+g4z/}ܠш=c ӏW޺;ڷ\fٶ0 84 AU7K%D)@d҅W~_yzl,* O[k4\j(yf`# ʑ Rk> Vj\m3&0"O Nz( dsa,&{XψG4qx"㒡5MvjGD2'wvA(K8iWlɧ|t>ڶp \$ ",Ma LNɝ7WFN-MMrNyŐnVWzWqAޠIkyzj Ro;FYiq%:>1sn,ʽ!9&3 Qa36@sVħտde5 &*N:Ujfp;aD0~n`◚r/e3?~66.uƽ`B+nO{ܫ/Y3jv}=)mA{bDhL/fY.,RZ&pRݔIx?uۘnˈNa‰Ǖb}geUFV|-. (dT }F@cBʼ-*Ӹؘ?GyN.蚇 ou1rntZo4 3atrNIh&~ r4Ĩ)rDmL(mfW g$[&'$ /Y@A{Uyp{BL], Po iw#]}OtB}RQ S_wM"Vl&vEJ6DޗHKE9SO6:+J^ޔQ]ɘ"vXWI]xC7rouغ2EI&awP/}ViƯT杖Ml&Jk˘ i ̣<'_,kDp)8ݗA{-V&Lȼ(v-|[3 ;a6J6.{KwH'#eJ$i8 o78f!yYS'qLJ؂d Ny>T%GLUL0ۗ9}ou 6`Xåa3Q!T5RE}jF=5 7;rEJm%j!Zf>*"ڼ>Ē2 9vno]`(w530rȎڂAC$IMɍOD5CR'3*Hn? A2pdwZ_꣊H)0ITmW~h2Z;3#<\wrXV>2Pn ؅)p96Ŧp:#jؽU&7y7bQĭbtkCuoғ\u/nDIL+J͘mɓ5}``P)\Z|ag5K ݺVaf|S t L`f/eM}hԔfZ~c_)~mGs jˣM u|x!w{W+ _A0]&JJ~ݧ T=JwLFS6]R,$]7IB(JAF~q|JkZ/X!;N)'_Ћ킚AAOiw~6 kssH>~uGd؜!t't}%3& X$nG2?  e/a76pK_b_ =]X;~T bTާ~A_#%aB()wnW 40`؇(ն\ΨA7%Z,%q,QxJ( d+/@k"Y%uhQۖLV?G ~Z^冄“J%{?fzv4r3U"?#39}hog;ZyM|(|HGS&ӌ0,v}Wը4:Uyˇ|?}N%TٺW4/GOJn$%,)5c]7%1Eߖ:ZyvunHak(cNzѧ0#7/m;8|%7e2OQxgj DFlQt7]#džΘx@4;;毡M@IS9x`C.99Qi;mhձgPvH:#nYkm&oHGZy*ķCJwq7-]wŘ~/(H{kkwjP^?aurPi+qbLnZ7 ?G4x@)2QCZi)FnB8KFQ^TJ5H,qBlj;a&X~G 0!/α#0f4z)֏;o38\_KB6 DŽp XK~Kf]G!^v <8ڭ@B!{gʖ7-3ga6Nc:W|w *1.u.8v0K-'>wa IF*I[/'c+hL!|)2'hLFuS(rYnY ߆]Ql~ن_ۗ歑W]l !:VzyS8% @*TCݎPNhϷ1jwD JVޤr|r_7TuwJ[0ƍIdˀ }ݑel]ikRp׃a^VEƳ(P3s95Lpq{]'{T(2f ~`f2MOohȻr2#@j[?S\2zbx = NnӧӛhdIw5.U0Ԟn5XmaiʥIy*r OOw$VtXIz5m(!Xu>eamkƓ+bxk?QzJP%( suGuoT*yg"ß͗EX#٣a=iW$0UVP¬{S7wםe[uZ)gbN-MBVEۖwJk@[\q+|l\ 9%m|JV42w FMؖZ+ZkkѣrM~lba#t~ޙ.׍ݴ! y)iW@7[Q/*K46~J"0_ 1nBUKúh5 &-g2v"Bbcm(̆l|$Xڨdқ*|i*Lok@h;rRС(CgS'\3+֦>8[]| J&:u4}Mv3Us-8 }ZuzOJ<=㡒‡SM%J"}ڼ:ݴ\r~+Ur*xXyZq"bs'- 5J\!ܭ4FVm͡86f_ :7}9ْ4廊st{I':Zccnz0 yimY,%VX¬ !Ho[Rrlpv_1*jۍPNl0UP~ Ih8(:Z;1U.QPx3ja@UY]2kux{txj3>x!.!_fq$';Xߋh `lTA\v9)HpSI Ȣ]̠BYIx $ڡ3Nų?>Hsi 831ޚ2!U9}ݯm5-^B9#PǤhS@b崻M~J)֎VXKPLy^e ?e c!/&˱`>wTѻM\>1W4i)|*[. T>xH$lɆk]pN yO|囼@:dG3fc&U/s$lMj j V8 (ҹd2Hi*>-]DB>Y8 ιbqu,ƅxIt{b]"-IX(v݅ܕQ%}sl"nK|=\)G#]e,<ݓ}E3}ɥ4bͼ|]<${xnpR(!Jѫ0oͨB %իsZM簘%1;NRMU7]$v r!0z1^ t](e@Ms ~E #S\{\l8cN>7I{ӱ O&oX4l!XI!.6ʔwɦ1mwsov=wjP6HkNKO'Hwo@ݓ&=wٽF7<)hW [G) Q⬚ h@{PبIǓAU}?.;BG+ⴽ'lqNEBǏ)(kyu, oa(B~S0>fn= d4Z|@I^E?!̒MڦH+Xd`}?9*J2е+~@V5$u2ڄaP*/<|ٛۯ@i]b]OCH N-)D~BGjSAwtibRn9B}ss6X 﫡dK :yyu)!3VFhAF2f6$JDtpNj/2rռT ۰ݯ"])0"jzpV9ڵ*EM~!hn/= cNm% vIzoMI2y– #+g/?F5vv /ۘ|Ո)[!izx Wb> 켖Sk/t"x6`kQ$ŁhBZB:͘䁄`2:h/ӕ+#wN^Qqn!ӇGjImjԄЛ@飄:'>%ڧP=dYt&{B\ghBkH̓hRّ);pY\9iR0y9ע@_[,Q|3A*eRNl ˧+u*S I(+ N$%EE,D?@DMI(hG2f UTY=G d䓅4m:3"̊~}蜽ʐ~ZMͫi, oITkP'X῀Hc]Z~qX49 G#&Bx;.^r^ >|su9}=ƦK*H 9|_ۓR<Sm=vTjl' 0m5o:&ބ.lJ Qu=:e]`޹b@^6;*jMP15A, 7lI1C?wB3|U_gݓx=n?3(Գ5 ݒ\2n'>~kr"eخwR(qZy&/0ڙa-R#ki>Uى}SV5kdS0$$ZdZF\o(kh꾛2\4*ͼ4>K]C8'`X/Ϻ==!>m Oj'V@o0j=pՃ -c1lJ$Ct%\a6OXMȲ`hsǏU,cR6!a4Ѿsn`$'nm7/ zÛ"*!G`[xVg:aOz>5: A!/:  J" V-X6-1 N"Q֏L?9 1oOU[)$En5 &n1J\|4?*!E\_dMG #}fv!Ш~dcY-UaIiH* %v)"~ v>D%du[-">7>}.!51!w2©oD6ONuc$Bޗ4`t5.R^|xEYjU˓~p9zNἜTlpp9c +Ne3 Ѫ4~3MM3޽=l_0~\iLrm<;-T{g)$Yegxbt,P<  ǡ;%ˋ5pw9vZa{tHֲ3E!:q7 w쏸/Y6tԺ8ĈhuXm*:|E)t]'eFj+II3 rrUʶ]Bw\fhnikj'%Uڕ*K6ɼVӀ/y# $rfm2 Bѳ0nM>`jm TBAY6Y`18jꀴf)PX/ ˓A˟zWRQf_/:̬BdCɤa.TNֻV @hsG߬tqS(|$?g"ֿѹbuROέ('w?MoE o;&uoF|6zC,c|*݌FP_9I8*kF5+$NzKÙK}?|ya.i _~Djj0hkuKG.2afHV|,R5%. 2PeFѾY ;h+h׺^tF!fr9Td_8՘;q.A)n;0T&Vp# X#YX@@|Zo sAeZ*XrOT~~Jǎ7⒪[䈫 YX^JH^ Dda"ʛNx5@nUC~zݟg(Kܣnv\s|~:qW^S⒈Xs:ZR?HSEWa4:w(2zdl.Su8CS_8St:㡂(o*y;CF<\J\HS¤}o Vî [_pqD?uaZ]r.͝E-p*Z׍zC߆rL }?KC|ܪ?v=.!Ȅ'@6f H}J sE\"ʂ(Zⵒy|.`,qpEUQBkPg~*`P?7ngZԕMVS$j|<T`Oѡ:AiճSRPϚCĵ? MH_7'p}=xB-aaRgLC']P!L_a5 Vk7 {FI=o8G*xxs?Br`'l]/ 1_yFs;޳p.ok֝;}> jvVZ#Cj"E#$`5o65m{$@rKRtO,%Ҥ6K*EH*q MdBzR 8]X[PӅוKt™Ix֧*e{"]O昘K 3߾Ȋm>Y35:n2PŴ(W EڋskFza͈+ǁG,=tceGׁ#}"E'j \ۗ jl|o46bk Z< zg2OIh iZuC* tigUd+c8"AHtFs _pXQhzENQ$7nAE^r;H.N1VkA$o= V6bxY%k%~yw3Mܚ;ip9ӕPLo{G߬#ju9==k&ק}AtPB((zr P鿓C[ u<9Z>c zV<{$Kx|Ef{2Q$'W 25!üE"A=o}Ԅ\T}1 /b%lxzcU׭N=XRW˒.I7I)YZulaZ-3'['? &; 31OX= % ׂ*j::+[?oiBs q'=n!Sfg:EFFΚVҽ]Y%zD -w>Z3HoxŊz(_MvRp/V5 0Q IaBZYIBƍ҆M4Et3R] 1* lL`ܸz?hИ3L`{|{T5ws*Q /Zvބ+܀ j\5ZK~5; [ 4l&$v sf:7k#D)Ʊ-)_f_u}-޴7PS[`Jx?)4mPcSpKۘ` rƋDmꤔ)-7/䭝!3mBn&.4b^E?=d}%zAr7RY.7&ũڂqyȩGѶCnjF)`?YdmEچ 782ZQT:3hК=/W6ȒyoV3r6&8.(cOGhfۺ\tfw>hȩb5"jmDSyrb6e~)ہT΄!mPz.N}ګlg4`;^wpzMh8d1L/l8| ( hXK}q*Y6/^*/TX )Eշpۃ&ԆYx\Oן(TGpqtA$ǁˬ((]z7P>ٺ y,<'?sPٗz^=&V)et|0_lq,E'q5a\+ FVrZ{hqz0G@џ$zItɓ'kv "[)H~£VTiÉXo9{, W!n#Pou%J;}w9К@ˑ9mź }F~&^e@6T|9i^=|lg^`{*e)"OCZ0PO84NP)1cV9<2?423TjfR٢8%EcV `K(,A]w:ɟQeE_xPWRfupWWxA4K Ƒx^ܠ&;n+ncCj1~9,R\b>qDS.O0!Yw, fL0g:b>\7 %fMD]!&N(sSRe` ߣ#E9B_4(ԻÈexN1G_n# TYU^4}4n?9> Z3A1SğgJ!~*B>{'k@m2^=5n`i:h$%(U\gЛwpHKѧҼCyY1Mk~~!FG">h%|J f3 ZQ ٧ ks>D.hcrle7g[hmE:؞"R8VPp)/Ju~KRJL* ջ#vxIUWǕ v~b1yt[&N=^̉띺?V/7PʹY2A;^?OM nGAY--]7C/ԛb/ķ}]aV I_}ے$P[q⷏{$ i$6?E Z0]4 Gp ,2FMȈzftg&fWٌXFM;_* E/d_x5[`{ ZKRR\6B _?6V?K*E<*樃C%On