[comp.sources.atari.st] v03i055: xbra -- XBRA trap-catching system

koreth@panarthea.ebay.sun.com (Steven Grimm) (05/31/90)

Submitted-by: micro@imada.dk (Claus Pedersen)
Posting-number: Volume 3, Issue 55
Archive-name: xbra

Here is a all new version of the XBRA package (29/5/90).
I have just added some switches to make porting more easy...

With this new version of the source it should be easy to port the routines
to other compilers.  It now accept parameters both in the registers and 
on the stack.
BUT the object file in this package is for Turbo C!!

Here follows the ZOOed and UUEd pack, complete with source, demo and a 
small doc file (12K).  [I left the binaries in here, since they aren't
useful to people who don't want the source. -sg]

The TEXT+DATA+BSS is less than 128 bytes!!!, not 500 as I did mention in
 a previous post - XB_kill+XB_remove is 20 bytes.

If you have problems with package please report back!

-Klaus  (micro@imada.dk)


--->8-----------------cut------------------------------->8----
table
 !"#$%&'()*+,-./0123456789:;<=>?
@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_
begin 644 xbra.zoo
M6D]/(#(N,# @07)C:&EV92X:  #<I\3]*@   -;___\"  $        !W*?$z
M_0(!? $  '<   "]%/QQVD&L 0  !0$   $           !X8G)A+G!R:@  y
M    $ !_[SX !B]X8G)A            0"DC*   =_@82+!@01!0Y+Q14V8,x
M'1!FWL@!00=-&1!8A$@) H),F39O0,!1>$9.F#8@>*A<R;(ECP8*8)+1P>6.w
MQ#5<5+B@\V8.B)] =X!P<_+B&S,@RN!I6(=.&#%L+HY\4_*D"Y@]8,*D,F0*v
ME2!2J+AX K1L4!!SG,JA4P<.B#%O/,)48;:N7:%PV\!)$Y7B&S@@TX*XD\8-u
MF3=W8&;<R'6LW;)""X]A4\<C1HT<09*I$_5J3 5"F:018U).'I]UYI0A Z(Pt
M18L=/X:<6K6-B]M;NU(APB2)$!>]A=Q%Z]1P&#FLV8PNG2<WE2=3@@/W/?SYs
M%!#*21]O#MJ@]^_@#;H<3[[\RH#<I\3] @%Z%0  R0$  +T4"6@E4A M  "Qr
M$P   0           'AB<F$N='AT       0 '_ZYP &+WAB<F$         q
M  ! *2,H  #ME)$S)\T;-R!T@)"1XT6-%SE@N&C00 &(BRHR:MS(L:/'CR!#p
M<J1H$2,(*FC*@, B1$H0$'/HU#%C!D0:A'30I)D# DZ8,6ML\C0CIXQ*.F] o
MU)E3A@4(*$1 A'%#!H2+JQ=!J""95476KUEYW!S#I@Z9,@KAL"D3ABD(,@=/n
MT(%9A@T;F&_JR!E3Q@?8OQBYF@1\4:P;LF;1@D@"@DZ8-2K=)"TZ!\[!.6'$m
MI&&3ADX>OX2_;JW8%426O%*+@B!JM'%2N%+=Y,EY\PP(%"?XPIG+U&[M%"#Nl
M=$;3."78T26U]ORYQND=G6.(CSGH^"9/A:&S:Q<M6#E@EBY=4,%"!3#*G8W+k
MX)D[M6J>O')@UCESIDQ,@V[FN.!.>O!?\$$,X<(4A*&D4A!S,-6&&&SD@9=>j
M?.VW76#]>?=?2P&Z\ 1A3XBA1AECS&7&9F5(."%AR)7V'88"(D$8$FR=%=^(i
M:YEXXE\I^G?CCCP"EJ.%8 %(1!%-/.'"$& 1448;2<$AQQMGR!%&&[<5-$8*h
M-F[WHU<KNC1DD>(]0>!%0[S1!APD5B400?AE.>&6A 'H A12* $8%$]^&*)2g
M3%6%% C3G4GB6TN^X2:<@!'QQA@G\'13<2K- 1]?(?2H97=<6JHICUN*Y.FGf
MH()$TJ@5D50D%4E8$02J3SA!4@^PQBIK=P:NA&%/3R(UW5WHY12I8U2%(4=5e
M=X3AX!LU.;9&;3#E$=.2( @4XAL$.=49"!45R],8185!1QE525J<M[A"*64;d
MV^;%1E73J;?37,+E!,(;OL;GI+E3ZH>M GB608=G(+ UAX/OU0%"&VF<@09Oc
MQCHE1AWPIH33'4E1>S"U*MT;9;X@H!&&0!V_\09D557D*[IU"<3309#"-*5*b
MTB(EAU/UJB2L2IK9=B^#2SJ:;$H.%NO&7!7E1<=^I"9G11%#4/&$%#Q*\405a
MJ#I1! @Q]"@UU4E8O1!)+[0@]MADM\#%7V&7K?;:9I/$!PA/0GR32EF_/;9?z
M;T]WUFH6QTW'W%B#P =)7+ ]]@M_\1":FU_QT!V/H/V%76B17Y2VX89S\?B-y
M;RM111-0N :WT8#+<)'=8N,-Z!M[F]$WZ6ZH9/K@%>Y8..:&(PZ6XH0Q7MCFx
MFP9?^5>3 ^8#\,%;VOGGH?_I-^ SG(Y\\CS>COO:+R2=E1-OW&%33<_''KC0w
M=*P,L;6\I7%F@\')T9E]+8=!!AF4K5Q31>'+;M/02?D:+8@R T$+0/"PB)$Kv
M#>"#G?[(9SXZ."<EJJD(7.!W+3A +'[SJ]^\$B@W\47O!R098!)P8IR868PQu
M9ZB#?>;@E/9 JBAB<% =#N.QN?$D?UB[RD1*5:%: :A<NGK#7=3R$_CY3W[Tt
M6^$&6Q:[]8RN@S9CS[Y&A =P;= ,3!'1DZCDOS(,30['^IE*\H<^J;!!7$CDs
M"1THMJ\TG&5H"$S#0%@X+_%]RS=NL(T(&+,&R7@O,T:SE4M$$!L_&8=>$*RCr
M2DQ6%\[D$00B>,(2G)*$$U )@F4@I ZTEYW+7:]LFJL('L3PA3:$X0QI& -Vq
MWO87$0"(D']A)?$TM<G: 68%GUS;"HP7FN+]Y7BB)*4;?2G+KXC@"TD@PA=@p
M"99BG@XL4E#@%Z+73 &F;GI9P64NR[9+L&ASFV-; 4E&^04ADD%:"G%F-*'Xo
M!=-5\VZ"6UWK7@?%A0@.FQ?Y)CA;T,W&+2XTC@OF%[Q(!S"N4IXJ<5U\<%@Wn
M7@+&EV !9G((PSO ^*XPDJ,E/B\RO*Q -*(;71[H;D-.<TH+.-*SY5^LM\_Lm
M\3 YM3H!.4V)2D8)12JKRP^PYL*&@]@F7L3QGT_^-1"$N!)#(F@A55I6$9D*l
MDPPGN*G_W$C0.([!6_A98L$6JL#].+6<ZY)65"USD_*)SF3&:>)<</@H_T4Gk
M##?987*X=P=KU20,=GGBWV+'$X_ED5DL"\/_IC4C(?;4>_[[X;V"R :G5.1:j
MPLFK&#+VA@2E@6>BPXP9ZB)#&L(5(0>Q3UW,X)SA!/(L,7E2'IA5D:G,1B>/i
MM$-G\"K7I"4M":!C I&*X 0JK"H)K7J5K(8[JPH]H3D@H"L("G:PA"U,*529h
M([ ,F;$G\8Q*0&V98G.U*"$Z5@'7.HLIJ<(3P4[GBT*<UYI:IK<RU"=V4OH;g
MRYZ32N(<A'U3D4J"EL2S^%0$E2K3(:V,8\I'456J2?$8R 3[WH'@5:^ HV]Tf
M<JI0=(G.?Q79+KVZRX;]G.>&"@S.9NZ"&9#YKRBH?%:U (77N_AOJ_O"H0M]e
MA9"KYM5_:E7D_MA;0S?4MB(^O%5JZQ BO:BDIR,K[U ,V[TYU%(!8-NGE*>,d
MNU J0)8S/64J$_*6,;A #)!\)?5V1+LK9X6<;IPE&;P,9A'@X<UX8"9@=G :c
MO2R&"!?=3IFQ3$J3@D@A9-#/7;)VHAU,06:G3*C%GK"NP<K,37L^,RD)"D8Nb
MC_G2D09,D9;6!!<P 01$@$$+B""#%P1!U$&(@5-:@((I0 &EE\Y*IO^BA"E a
M#8<WVL$06@SAV.4YEFXCS*:)Y.G;N#H%*W!*J$==ZE.W(-6Q_LJLP3+L8I<Tz
MK"!" 12&D()5M_K5.X#"4HCS53\SZM?WK(@SLR(%*HPI>+KF=8[96N,>2ZC,y
M+*6ROJGL4BA7J,XBSFOLK!C:)?K*+9-MBUD5&K"?$,>$\6%N60>B&P?NJX#+x
M1<W JW)?!]'(Q<;Y*DU3&547?M6-)Z"9<7XBDP>W]Z85F0Z:K%C6_AEGR'MZw
MCA<S;C#K.":O,,[?C_U-="0\X0HGV5 5IG U*B#A:D4B0A5T*USB6IVX)#&0v
M:FX& AH$[(L.(NO0G P\EGQA)S['*PJZ;:NSZ[3%:W>*V8O")('$O>W+LLO:u
MAUX$L/?D#66]3@BOE[2RMAWM;V<#"MX:'Q6,? Q.Z6EL 4BM%.R )"O(O.8Wt
MS_G.>_[SG>].$FIB22W;%#V/^N%;'W4"B$=5(461B1P0$@.2..$)5+B:0C[,s
M8H1,EL5VL6)V\XL# LY&):6O:50E+!WJ?%:-*4'>40=92!"<X.QD^$)4.QX"r
MV^->]R!HPF,B9>1QS<5_R2<Y3 I*Y+F@AV+#:@%>$Q8[,G3_I20QO-G3GM?%q
M>ZSQCQ=Y/N5HU.(4=@!X5:$"^6-YF =Z#OB $!B!XE0A(Q03+59>"+$4 W$6p
M(U)_O58BWI=[7"9^D"$?JI$3Y()^CQ=5..=^/ %_9"!_G'$&]7=_1)=_0]-Vo
M=/<&=L=X6A& ("!YM@%Q#%@1$GB$#]@=4E H*M,R.$049M(R$.<4L:<7^1$Xn
M".2$(19SZE(5O^<Z,T0&<G5[(KA[.K$M^?5[-K86Q#(<L0$"Q1=#WV)]*Q@<m
MT-%\0_-\D")]8F9RV*=]==0@-DB&X$>"Y'>"'G-^(5>'+7A3,"B#] <N-EAXl
M.6AV>:=X/NAXIB> DT=8EG<1*. _+9 #\[(;^!$"*=" 2+B*FM<=3) &)7@"k
M<\>$91!5&!=9=]%BQ>(L<$.+6EA/4,A%QE$1$'<;>"4N62A8DH$0/X1#'J-&j
MXT=",$-Y\;$% T0;+SAB^W*,2?%[EP@N78 E X8>.'06<.!%@59'+6,&+&=^i
MUB=^RI=3U7&%&*8 )\!HYP0B434B=2&&BS$7&@A]O9(4,[1Z",%K)Z9 Y64&h
MWQ(?]<@&"B=(+X%#,_0W=Q%T716"X,=[I;04=/ %!*02:RA\;N@_F-$&R,>(g
M[+<G;6&'.^<KR(-#VK(_%AA\8G@520,%PO(R#2EX%?)X3_8725!>?S=Q#ID4f
M@N4',V Z<@@_+5A:\F*2!<4LTQ<$A.1"W>$Z=M$]5A1#/!<?7M>4-A&#J<4Le
M"J$>^W%,;K1,<K4]WS>"XV>"1Y&(+9-^-M6([T<M,3A_-"B)G$2 <A"48,%[d
MO;)R&:1$R"*%U"@Z1EEQ0Y<5^2.87T&81"EV#2DZ& E%0[>$LH<0=O!@DID5c
M09!79E"0\G6% 5F7^U<0B9=RU><K#E*%L\<369.%,%DA.#0===!H7Y@72]56b
MQF&0'G:&!\,6]$B7LB@$7["# G$"W2&;5UB;-5$&:_):S#*3DG0;DW55&M@Ra
M(N!&A#238$@5;-<>W9&<;E>3;!!5T,D3,*"=(!(&W>D_WTD&A"09\-*2XTD&z
M6(*3^/=218 %09!;NE=U6-=#23%B'AE?*H$&W0,3ZJ,6*G$M.^$4F'13^:4>y
M4R*A3P9PY,.8B9>+UD<6B[(&VR>-S?(L5"(0:Q! Y (#>$ #,  #+01TJ%$1x
M"G84KY&@:I04IE2"@K64QC>'PB(E>1":)^))^T8V5M8C>?-_!V-Z6["470 "w
M/1!F&/*'(K #Z391)Y)O2RHV_482.J<:U[>6484>,.9&PSE&]C$7B8F-J6&Dv
M-Z6!?I)@YH13%3$'II17;:$@#!*;7;48(?J+>Z42+.,_Q8BDVJ&D80I*&U5-u
M^Q>B* "$,"JC- HH/044GUAFMO.HN9,T98I\) H4:0I]D?$R!F<<0G<2Q+F&t
M40H91"ES8;0O1[1?"\(^]/8G1R0'=+H% @07;B 7%T,&".0@O4JG8<"0 V&Ks
MK]IB7>!5DZJ>[.DO5DB;WX-3,NF&,)9,9L0&W4(&#I(M+0F<(MECM[%5+]B2r
M^$F3/\>&6 ("3U OPN$6F7FH^X*+(.!'(0E\;+@0,]H8Z@,_U#D0#L(4YV5_q
MM#(9OIB0]71*G^44!;$^#O*C<RF2O,:H20JJ3:H\.DB+E;J)('"I,]JID4H8p
M8,IO)"&G$/LH^@J=6&-7-7&O$::?OED5*.!"_%H1!=ECX,)V[XE( U&O)>*?o
MR3%Z/)<:AZ@2-"L^J(>B!EE]Z,F<M1ACUCJ;(^L4S'55"'&)-@$O;HB>EQA5n
M<EJ:AW&:O0B1>0 _+(-6,",L:9 9:^$H*&J7++B2<X$"G7$"7N@OE_E[_/>Om
M%E,1.B2._WF#%4&(!&("(( $7>-N!GIU/;"PL7JQ[VAZ=RL'[1<<>@F)?4D&l
M*J<23!(3$+H^*K&+"+8O' @X4JFY>Z(&'BD5S!H?^74"9;5]\7$"0AA5*! [k
MZ^6#%C,'#BH'1 ->0\-V6]N%9B0NJVM'(0>/ZM>(+9E?16HL2U1\%2&$=#2Jj
M+;-&23$B!,%3/K6NJ!HM>*5"2U255[E4:RJ&X^@H/%%@;L ^*#D5[$&4Q3)[i
MM:%#M\$8.<HG5C1>#N*@>L$3)@-&S/(G'1@N1$8<&>JK!7@;;7"P>!L<+3D#h
MT=.4/+$%?_)[B3J,"J!9D7)@.M "P-$%2E45_BL_C<%&<>J@""<P9K6LE\D6g
M$R:T,S-%:1"^.@9_)/.M[J,P%H=Q_H/#BE2X?VF(<BDZ@(L0<U 'YR@'LB4If
M\<$D>Z-S"!&XS)(_*X.B>^HLW[*BU$A'2!84YDHH3-("&G,N=I6T7#=#[(@Pe
MG"$L(B8O:+43CWD16F<SJB$I*-E<DA$?PDLM<Q$HM4%'!3=9"4R70L4<,*< d
M\LL^#"<$U *12T4%0^ P%\1<7,<:.EJLQ]HRD@(AGZRY")$MW H?J_$Q\/$^c
M(( D@8(F:R$';:G'K*J0:2M'78P7?XS),'&.8V!5Q7'("8$\23&:=V&V(8(?b
M/"&\O.8DHB7%*D$$,S!J-V!J,O!L-U#+@-$"_J/,ITFW!Q-VCMQQ ,P3RT9Ja
MIH9J,<#-( "L\P("1K##I&N9S>H3Y^(O<Z2TR[%?5?$HI^84J68C7? X\)P4z
M\\S#$RNARY'//<G//N'/.Q9JRJ9JH"8#^U'0M7/0((#,K]P"X,S,N!+-($/-y
MUHS-VHQN(*#11'<>>23.6U"E7-NO8^"19I(&>F!%DCE"P\P3:U(0+//"D3(Ix
M%ZL:Z"%8<Q OT?% ]?5U<@L_0#8$+< 9)8C//#E'^X&T)JG4Y$8%>B$&;S $w
MITH7YY<4%LUK%6'5*/G0Z!'1?;)C)^9>[S)'3E$7;@&;$/VG!">-)&&!0,'-v
M*[Q@\V-%@B4%17 $;['# )0&(,-\Z6$7+TB7*#;7!.&.]1C+)!(?YU40,J(5u
MGJP"^V$$1>&F*<;6Y1M:T)>"((S9LPP"7R"L<@&2)7:Z$O-U#<DL@A72!]&Ft
M"&6'3;V&!JP ,";5..3,>37;D,(4-),47O3$B*C:$SHT P'%WU(R"K#&4_(6s
M<3$78M M:P#8,ZO*K-VLL%W(ET%5\4'11*!JI,8"IU9]T.;)H8L0S-5:1HT0r
M#"=8IJ0&?5,&=^ ^W[(?6T!J-R4PR,JP==<4^O6U@>@@80 'YR@LP?TH!:?;q
M!TF4F_I@G^D^3QVM?XFTS$5%,#&\=&#(+^T4_?W?KFR21"TZ1CS>*Y;6:]$6p
M1^8OQ0D"??2@>HNBE;'#U_+";5U9>W4&_0G84D$ET(S/5O0G*<$&<%#'016<o
M![$F0^[B];(Z@C++='1'=U$1?PQ(FRS>9B++S>I">IVK \'-HXF,X6TP"TQ n
M\[$R\?&_KB4?]/&F(BVA-!Z$-O['%9'C=R!@+_457U#HAG[HB)[HBK[HC-[Hm
MA=X=B*-<=Q 91E$5@H6Z?U(?:Y5F+UQ9U84O%F8&/855C]2Q(' VA"$L-PO7l
M!%8HE88"3WSG]W$9/U#KL$88_?857.#HO-[KOH[H8TH: [0$$+D4V'*X #?3k
MY^48>_+'02T^0LTW6RD<CX1$]0,_&@N*",,M;P $ZB,_8> "9+ &\0H63Q,:j
MQ"Z?/ $%X#)'7G2RT781AS8E*(D0-3 #7! #-0#O\4X$2] "-2 #,O">3_!&i
M;C$%3Y T 0'<I\3] @$F&0  QQ4  +T4D6"8MBT&  !? P   0          h
M 'AB<F%C+F@        0 ']:?@ &+WAB<F$           ! *2,H  !?J!A(g
ML*!!$$B*!"%21 H((TF8%'GXQ"&5A""P")$29 B()D^(5)$(PJ!)@R\:*% If
M\*3+ES!CRCS)1:4*$#A!0 DC)TR;,G3*R)D#0H?-G$A!V"DSALX;.485W$R:e
ME J:-$2Q@J"#I@R(,&3(R"DSA^@;,UN[*F7J5,[6-R#2N DJ9TP9.'1<V#Q*d
M%42;,&?2C(DZM2_.)$3#@(#S1B[=MU]!^)DA X28/$&)SJ$CITY3%B#X&@9Qc
M)PW7M%XWRY%[!H0(C1Q%@#"39B@=T&;>L&'SYDX9,I;S@,CSIHY;&L&#BC:<b
MADP+U:R+@BB#QX7K+\V_B- K-8%W)T^H3-3Q,<R:U,:]<@U#!S6($W\#CSD!a
M0K7G]EKO/"43ADV:,V[\%L)>4ADF1W%TR%4&8:/A9)566BG&F&-"04:<<2!Xz
M=& ="0;('1<SA2CBB">EM-*)CF4D!'9SR+59?RCPYD9K2S7U%&ACH,%32?$)y
MEL(.+-V4!%KP 288?1"ZX1YL08"08QARO5=C6_21-Q8=QBD90TDFJI2B1MBYx
M\>)N,;XQXUHVRH&CCFZIT.,8H-G1&' J;-AA&3\&"4(28M+1'QN)*5G''$*1w
M409M 0)GIX+6J="E E^N.%8;;RQ5YIE3WN@DFSP:.4:>"@@$PJ25DN7>H@'.v
M=F ;[F6JYJA 94G4EFF@Q549*N6$JE=C%,<&<&)XE5L=;I#!74[@B2?=@T2-u
M$8:2P3KYYV^DF8;&5TKBD)Q71<I'WQU7Y9CK:+W.!:68[KVV41"R/0O<"=B1t
M\05]9K*11PA<CFN8EW.I^,4::9 I(XUL:?IDFV_^"(*H*-P*0@LY@/ &7FF8s
M&4(*^89Z$Q-IG/<>F*0N19\8'%:[VU>[W1%&'D2%K)Y:N^IKQJJM%NP6"OW-r
M 5>MV(+@AIDJ<C0J@@J"H"-1?IZGY*WZN@K"%BVDE5_ ;*"LLV5> ;S;;UVDq
M<*R#5[5,=*J&PE%&L68MK9898325%GOO->$I?>7ZZ6)H"N3D\ E/_%HC?;25p
M\:MU2;0WJ*E<:>44",0^&>6?[NF[:V)F/.8P&V%L%G23NVX5\'#%N;7KUR Do
M.QX(S(+P11N#TO$%UM)N#5QIISD\AT_<ODE?YOKV!>[9IX[ME<I9]3FML2XTn
M:F) W*?$_0(!RR8  ',9  "]%!U?EVEL'0  6 T   $           !X8G)Am
M8RYS        $ !_3-8 !B]X8G)A            0"DC*   50@<2+"@P8,(l
M$RI<*+"! A4@J*!),P=$FS=DZK I R)-&S@;VY1Q0Z<B'30<L0B1$@0$'#EOk
MZ+P9\X8-"#-OY("H,X?CG30G00QQ"?.,G#!M*JIPN/0AB"!DR)0AT]$-B),<j
MZ\ A$X8.1S,PVX#0 4)&CA<U7N2 X8(IB+=OERR! A?N"A!AHDX%,><GG3%Hi
M;N9T&>:H2*]R*KZQBI4OG3!CUK1U6E<NW;H@[IXP(J<,Q\YG*"*><Z)CQ3 @h
MI!0Y H),FLYCZ*2Q4V9R4X@M0"QA$X:G;A<@H$PMDW@D"!1MTHR!"<1CWC Ng
MR*Q)X;#Z0X;8013! N6)%"I30& ?;]!A&3QP<M(!H?(+Q31NYCQFPX*]$/?Qf
MY].W_Z7S1=KUM;=&&FRP81U3Y!4$@A-/4%%$>"@@\<05$3T1G'=4I"!>@@DYe
M1$4=<HCQQE @)%!$%%6 $ -F+.XP11GKI6$&"#1]1"!QA,W14T5P%(941?"!d
M )IHQ,WA$&>>25'&&14EH!IK1,#0 A$RO!"$E$&LN(-$GRU)9&(@W#$18%>Ac
M1.,;-FZD$TWQI2&5' ZQ*.><<NX EF>3;6DF3'7(YD89%?$$:)E=AB9?D2!$b
M.6655[:0Y7&-W5DHD%91,01U"NR0Q(QYO 'BF6GB2,9B)ZS'YAQNXHA53S=Ua
M5D9]6%G5:1UX=5:58#J%X= .;82AQF"=W2$'4+4=>!V'!VGG!!529'%A$LN&z
MAZQ";L%5!$ERY.'2&_"5-%:U++;W7GYAL($"&XN= 0)ML>54'V"%B==K:&.Dy
ML .X<VX*P@GS*E<:1;>JQ!*-:(01Y GLRB1':61U1@>(5L6 KYP,.CA61!-5x
M-$885HG!T<8%[N578!R#@ ,(8N3AU;[]CE&:F,JA,3&==;'Y&'PFF2F"P$&(w
M@)<;5)W@'AE?E+88&WF$P%0"3%=<Q,5-A+$&1W. R-%)71'*<ACTEB:?''7$v
M9EJ8.7'%1AIG_$F&T@_-_):XY!9X;KKKEM&N'.\6K),*+==G![=4J<"GGV78u
MZW9=2<3-QFE6"2J'5&; M]?@DMO&= ).0RTUU5:7F75C_'+MKV-@BPWP'667t
MB[;:;-\V9WO^O4';W&ZHF["[!,?+M^CUWDL9G;'3EO-GGA+>*II:WXZWD#!"s
M7-&*,A)Z.%R4_WFF1E1Y+%@=0-M&\X(-/DV61 !OW/''Y6Y$U<@_FXRRRAR%r
MWG688\K\^_<U+W9S?%KOO%+//PO:T(H&@J,E;6E-"Y_FIL:7SF%M/:!KF=?Hq
M4+H8501UCU-=VJ;2NL,)B$#F0E?MZG:WO.FN9?9Z"PH:TX(<%! .LEE,"# %p
M$9HQ(0T,/ 'LRO"?,I1&#'T*$PCQ4J [A"$/%0G>U?94/,E-[RU@05YCE'><o
M<LWA#1V94<G<L!C[#*QZ'"F823;'&)0\D80* \$6<G.2TPW1BEC4WH!"1H8Nn
MI,![-"-?$IMH/:G 821D4$P9OP(9"!9L/2>(VOQL9C#^G1%T3V #&=A5FLB5m
M09+ 2<)Z!)4S@,ED)VZ 5Y#2I[4S@O$T9D",UG@C'R^V!(Q7(1 (9J43,.*1l
M3ID;7\9 \(4V\(0.7T 9^N@HQ* T9@Y(B9\$21<V.IQ13F&X($H&*20^^B2:k
M59%/^J;B@FXRQ5C3,DAP@L"2)A3!05*05CBI=3\H^.@PB-+!X90GS_O)R9TZj
MVDOD$D,'X.AQ;(W)"QDZHZ,"SFB*=DOC)\_8+>*,H0PPM,WA6E;/&M()GSVAi
M2D_81(9,GF9;#=7))U'CAQG(X'U>J<C7FLF",[+OF!2$C[K\QQ*?<8PJ."G0h
M&^ZPEY3-TE,ZH0%*R\!0,K3@:S*]V'F (X(!BL!R";086:+&P*K9ZH%:D]_Hg
M5FJZ"Z;N;!M<VS?M^18P5O1[&-T+*_N),8 !##7I">E5L$A+H52S3Y6SSCH'f
MXDH03(%951@"%:J@F@WME2!NX5)?N?HP6Z'K#6LX345RBJX[S.&L<,&#&'K)e
MNXN180PN$ ,(:-HS?&EV:'4ARV=#.UH\N!8//IO3#K( 5! D@0B3P<QI:S))d
MNZD6M#:! ?[>XB*%<>TK@XDD5927V[J<=B04U!99XC2G)CS!"D5H@@N8 ((1c
M(*D,2F)2?5J @BE  5.ZW6P;\D!/ZLI)"5.0 @A(@ ,8V%>XPX7+#H9 RA. b
ML30HZ D;9G01UY@A#S)%;W6OF]WM'L>\*5A!?;SKJO!6! 3N99%UL>O@W4J2a
M72B PJ7&6][S[@ */ G,"3S<6Y<U5T[?"4]^Z;1?4OX)#^N!99!$Z887O^6Yz
M0*OH88<<3F,AB,A()H];I&#-?8D+57$[@5N@FZV++4UY]8$"MTBB*BPFDG<Gy
M:*E3S@.4MTSW(0F(TL641 <[E.LX,>B!$2F5._C<<6E$6!%96N"#$T"A,W;Hx
MCS7##!<N9/&NQIOSK7ALN4?MV0=\/@%O$"-HO/ZI-"^H5DXJFF8]@R#2:ZTTw
MX0C]%D-'#Y:*YF*,K,+HI5UI!330 9]!W17BB%IRF'8+)S&;*"E1R4I8DMBQv
MDDQL=CX99_.I9P*28 0C1 1$(AJ"0YBVX09SEP8H",(-4E"?* %[VD5P A&8u
M[9#3]J0P@"'+C(E[K>BV(*XDP54!L:(3'=Y'!5)60 (@0N4\Z  %3X&!#K0Lt
MUT]^N6O=%C@5[RB>:5?;P5&JSZ-HMH-'<?$.("6)2;RLO'PGX.'<O5*W3TIQs
M*IV))(W4V!O@H*TWS C>JC3X,LN]V1O30=D@?TH,NKTBB@=A/8!,U(I@OO$"r
M2G)?-B\-S(GC< 8[.-LQX+;.:6P$^%#%YHNE8#,GDP F%*$E<&E!#&0 =:EGq
MJ>D<YBZ5)(Y?&@]AY=I:NDBQV+*J?/)*&-;W$)H A:=?*<+U*?M=,*.IBMB;p
M)49; PA^,&TA.*$(+A ""%3]!<T>9=I[[SMWLPT#P!\G2Q%N41(J<ML"*I[Qo
M^G8\Y"5_6JQ3G I5QOJ."P:?;D[FM/#A,<X9'(7N[KS7TXXQ.(M-?(0LN<GVn
MQH\V"Y1O?F/+W\?!<G"V'',O*])?6:9^E_?UWSNW;<QX ,J959!FX9*%S6ZVm
M"0KB7 0YP$0.+5#T[!M9'QCTX E+: &RMTD&[T-DU^"B*+_6*(^R XER4@!Cl
M0#N14>\# N96!NAF/\4W@07A$'"S?&R@;,SF;!\2(B,R;1_'8-IU;=FV;0D'k
M;(XB;"8B;N2F;SF7)?5Q6NNE/"MP4CMP!<.R,OXU:':'12\1$S&1!W]T)E)Aj
M>]/&;,_F@=*F;R&(72/8:\!&8MJF(2>68KT60 ''=0D@!/$5>0ZX6><F!X !i
M@M7VA"7H>5D";"!P8BMWA=V"12(7<#VH<UQ7!$PP!44 @EPH!5[X@!%(AB+Hh
M8-@VA6QG)2H8;N-F!(WW>'VX6;E'>U8A6TZP4P''9]*7)7S6,F@'>9OW=_6!g
M V57)SA(+$:W7 DU&&^X+RQ&2=;1=5^G(F0'>A(7 Y>SAICH UZ!8P9E$;S#f
M=9O8>R,  SPW7"X"(U4A%7C /(:B2EFC!\3Q!EQ7;=V% D!F5$ 672GP C3 e
M FJV TZ@$RX' B+$)'-E$;)3&]ZD .;V,&9@!NJV;L3U=BPGCG23-:@A&R(1d
MC4['7=>8+2$V!-P8 RYP!]P&=0$YD)B2 $% !$0 C-LH=--&!/_3:S$(ANQHc
M!M.VB0X&@Y_7>10WBCK8CWGP+R2!10AU-T:H )1G>6&P>]@%C,((?/HF? J@b
M5Q1XD\=G:?&S0SW4?"#0;V2! M)'<%PV=_MR?2[C?U,6?C>7=^2G9N<'(^D'a
M9_>7?_+':I!8?SW0?N^G?U<7$]L#-/ZW@(#":P+(*,&VA@<X-@HH*-FC+7XHz
MAA)XDQ1H@?>A1!K8;$D8;8#HA()XAB=X)>#&@HJ8>EW(>F (@7+9>%JP>E_Xy
M!>9#03QTCJ(W(SI6$1.A%U:1&PX#,<?1>337'SSTCO!(7&7'9SSC JMH-[LXx
M:3AB2QJI=K^'=]^S WF&FO^CFIO%6^RRB[#D,3AA*T"ECVGW>5$7>'\G6U3%w
M$2]1!G:0!IZR1SJ9<>O11:X)CG]R>YL5F7AY.0FPABB0!AQ1!6YP-FZ@>+;4v
M30E)DS9)E\67D\:3?'/$!J4!*6;20B\40VXP0VXQB2O3.G#Q3[#D1X D2%ICu
M!H7D.8B$E*7!2#A32K]S LI%23<AGIAD6YNT(V7B25C$/3Q&1#;1&*>$%ZG$t
M=+_3&&O55[ D&S915[#Y?<X774$YE-IGE ?G+TH)?F5F96@&E:DAE6^V?G*&s
M3?,7)+F!?VK4 D"48Y-)&V10'ZH& O,Y%7;D/0#X.V>)@@6XE@E8GMKBE@T8r
MEV,X;.Y);';Y!?.9EQP(;1_(A&7XEX0(A8*I;XC8@EMXF(\9AF1"8T=@C"G*q
M,X@F.8L&B<#Q/8NH!8THFF*!/YIR4$PTG8J&$]Q#%;GA&G.0'JS"17+0*P62p
M!QE6FG7R:D*5@)\B=^4H>UC92, 1FT(WBXR:9P!E)DP03>L!J*;Z25@'1JPZo
MB)V'G%%7)\M)%,X)G;YAJ]170%9QG8&:G<$''M,6$-RGQ/T" =0K   8)P  n
MO13C<GP(O0<  +P$   !            >&)R861E;6\N8P   !  ?WUR  8Om
M>&)R80           $ I(R@  %^H&$BPH,&#"!,J7,B02P,%?%0DH((FS1P0l
M%D&$ 6&GC)P\(,;(J4.F#(B2;=Z @"/GS1DY8=JPT$@'A)@R<VJFJ3D'S9LZk
M;,B </.FYDT02%7P>1@1Z4@W-#6R8>.B*M*K6+-JW<JU:U:E3%5DI9B1I4N8j
M;4Z629D3)AV<('S> 4%'99TY)NF@,8E%B)0@($;22>,&;EVL8"&*I1MFC<F.i
M8^K*P>D"Q(F6=087/H'Q(N&<8::6$?H&JEZ303*_@2P9! V,)D$D;DIW+P@Kh
M0MB$<;/&LYNW(^'0J8QB3IHQ(%J N/M8#)LO<>J4D9ZBLM>MLQ=?)7O1[,N8g
M)V'>N;A1S)LV8C":MET'#AR/(-B4,5-SS!LYA>6 0$$81$JBV2$ETGEEM)!2f
M23.%QL8=8>1QD7*AS:%2?R7-L49=<(#0TQMSF0 "%4],L5)+W[4Q1U4NI"#;e
M4HI=UY433^PWAHJEU991:2:%$(*+UR7&!4- !BGDD"J\\-!#(Q V!ALDF20"d
M'F+ -(8+:(B I)),E@0"#W6=B(8/1RHP0DEF$&82$44P$406(,@09AEX  <5c
M&Z6= <(74)S1QA1IZ%'&#M<)I%:9A0G5'Q5#:$A'&'+0T5Y(;VA99)ACH,$Hb
M"%!N,8,,78#0 PA[B-#77W:(048;(O0!*%:"ELJ&6BF->!9XDRI IQMVNOH%a
M:_=Y"@(,>-P PZI;M5I&9+T>MJACUM5*6$T#[?J%&&',\4480GW*WV^RJ9 "z
ML#304 0+#V'%AIE<?0H#N0I@59)N(&FE+KM8F8?>%C'8T.E5/3R4P!X@)" Hy
M12:ET4889YCTAAD:<>012'>4,=4:1-T!%:,UW7'?&B"8\<94'%ZD@VQ&*I! x
M L#", 0,ZP);@PPLLY!R##$#FP,,.+2,APPW&*$S##WK'(,11@PA,QXS$#VNw
MOR@CK?31/1,--=$W')VT$398;401XP([=-%'PT T#F'/4,2Z_JH:YD-VO)&&v
M4(*9B4+;;Z?PT!Z3G6$1<.I!.X=(,ZDQ4QH[^/NW?I^J("VUUF);N,EI,(S"u
MNPVNL ((/H" III9J%BL6$A4JQ:\(, )1QH>C0;"#R3[NT<"E(.D[N,GJ^'Kt
MN8593GL"'NO'7P_#8L1#OH"F8;GG2 DZA:-F,*Q@?&9>M#!&!R?<MTJ'EU$&s
M5+6>G( *Q8D$P@J?T@"#YY_:*\86:E@.@H? FM$%[7T\5+\"81Y,& IV*[#'r
MK7;Z&!F^,(?V>(2 BQK#&FCG+P$2T(!R0& 8%.BK*4 0!;]B @A2 *@P)2!Rq
M^P%!"/KRA<\L:BIS<\ZNCB69F4!I)G$KC(KZ]R^!B85@@<D,NAAT$:+41$&3p
MP19(^E.I,!!F)J>93._*,#(3/F\GK3-9 BSX'CE@<&YN$XJW'%C *DJ0@AQDo
M&A2 TX;)S &#>-(3G_PT$QALD'[^\I>@DL"PT\BJ1*7KB'[LTP:X[&4R2+1-n
M#$W"0ZFP(8AD&*(;0",:+9;,ALFI3>IZMQPWM*"(_8'BR+HW!/NX83P8%($4m
MUK(:PMAID"@2P1O]1<+)I*0C&-05K^3@PO2$$7\FHZ)'KD@W+:: BQ#\(L=Nl
MF0!_3<91^ %!#![7AX  W*?$_0(!EB\  "$L  "]%/%RVB/X P  =0,   $ k
M          !X8G)A9&5M;RYT;W, $ !_U+@ !B]X8G)A            0"DCj
M*   P6@  &  %(( Z!"$8 (A0@@.$8(!0W" M(41"?K8"()*%2E"GK08 H*'i
M21X@0)AY(P=$$"I!I"1I,85*RI16RLB9D^:-FY0Q7,1(B6)("APX7N#( 4((h
M2S9AW) !D<0-'9UNPM#IF95-2H)']/GC-&)916)*5@$@8048$D S@%5$!F(-g
M  ;1U@&@D!< !VC\ @ 8@:RB,Q +H"$"Q@, /Q= (/$B^&"PW(+*)"/4Q]BQf
M"" HDI"PRT*$,B4:S/ SC=J,/2&A7B!XL>!'8P"V 2AQ$N3)N[M.<A$4 "R(e
M7D V&@>0  %)H"'P( 00$D'(*3 V&$0 $$(-!.I*4@ (< 8!DC3CI0P! T([d
M !%F-$B8#&!*$O<BKB3[AT])D#4.G)?>$-1-D4@4^QD3WGAG&"!@ .HAD8=$c
M)#P!PP @*"$"$\$1%  N/P  0@X527$& 2  X00D(U9DQ8DIKM@A  (HDAN'b
M00R13T6&@) &?R!  4,*__@CQ8_^5 '$&R@(@>20__!S9)1"! &&!$&@ P 4a
M=#Q #!#4" %#+"  ( 404@0A"Q\ 0- &.D[4\<( +R@0"3).Z!( (0T5L6-!z
M6@RASS^J9 B""B+F"0 ;2@!AA@0@#)%G &14V6)!SDS*VY\#F#(I#H8B"H*By
M=$0ZJ0]P!$#"%R9\$*=#2)P##C =(D 0$]\,<, +.OS#3IR?D8" " F($,40x
MZ?Q#3U.S(&*&#<V:X4ZJ<8Z0S' :Q H((&%H@^L  )BAS@@'(8#L77(  $-Cw
M!8RP"P2P0(1%$%$@\X\]("0"!P!QAB$+C$& $$F_J+@F0A BH (  7'2=@2Gv
MNB!VA@.TF3!%;DGPQL438+CS<$6^2$SQ A9CK#''[ICP1<,*(*$' %[D)D!Nu
M!3C1!!1/O " RP!HD)L)3CBQL<PTVXSSJG&"\(02>.@#Q S\;%N1,#'P4Y ^t
M0C" !P(".&T&/E5# H ^2FA="0%>X[-O",#H T6<+B !-0 -3-TP KDE<'*<s
M/P2@<VXQ\"9;;J,&L?&K&2&$A1!IVB$&&6TD+OGD".V[L!,.,6#F> !  L@)r
M\!P SP?\_."/Z7_\\\<]/]CS@SND/X#/ .!(448;;]B1AAMG@"!''5NY488+q
MQ%-.-T("F.& !1;@0(8#"# @O1,@*$"%$AA0X0(  0'<I\3] @&[,   XR\ p
M +T4QG%.Q$@!  #8     0           'AB<F%T8RYO '1O<P 0 '_&R  &o
M+WAB<F$           ! *2,H  #!: ! 4 _!@P@)XB ((:%#).?  7.2"P "n
M@DR^#3CP0L<_=D[JB !" H&(!"*B#$GWCQX((;,0F;$1TXP[. %"CDAV4 %$m
M0(#":,LX ( 9=2.@6%P)@($< #!X "@P8A<$6 VQ!(F"[)\]$(G@  @91M89l
M B""@(A$%I49>R*"B$ %@$!(+$*^I)F3QLT<40@QX-7KETX8P =E#)93ILT;k
M.X@)DAF\)@T;-@ B W S]> !SYT)?A8-^K-I *=)GUZ-NG4!  ):JRX->C9Ij
MA*E;L]ZMN[?H@-RGQ/T"                                        i
5                         /R#h
 g
end