Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!rpi!crdgw1!sixhub!crdgw1.crd.ge.com!ibmbin-request From: ibmbin-request@crdgw1.crd.ge.com Newsgroups: comp.binaries.ibm.pc Subject: v09i047: ana, binary file analyzer (part 01/02) Summary: Display file contents, user controlled format Message-ID: <2453@sixhub.UUCP> Date: 30 Nov 90 10:05:33 GMT Sender: davidsen@sixhub.UUCP Followup-To: comp.binaries.ibm.pc.d Lines: 536 Approved: davidsen@sixhub.UUCP X-Submissions-to: ibmbin@crdgw1.crd.ge.com X-Questions-to: ibmbin-request@crdgw1.crd.ge.com Checksum: 817491940 (Verify with "brik -cv") Posting-number: Volume 09, Issue 047 Submitted-by: tam@cronos.metaphor.com Archive-name: ana/part01 ANA - binary file analyzer. Documentation included. The submitter says: ANA is an utility program to assist users (especailly software developer) who are interested in ANAlyzing the binary contents of any file. This program may be easier for users who know C since the terminology used here is C like. Its major function is primarily to display the hexadecimal contents of any file interactively. On top of it, there are a lot of features built in to make this utility more flexible and useful. Some of these features include: able to dump the display buffer into a file, set the display length and base, pack the display and search for combination of bytes (search has not yet been built). An unique feature of this utility is perhaps its ability to analyze certain structure. This feature is especially geared for software developers. Sometimes data files are an array of records, each record contains information of different types. For example, the data file maybe a control file of a print queue. There are a number of records in there to represent the number of files waiting to be printed. Each record in turns contains different fields, these fields may indicate the file name to be printed, its priority and so on. They may have data type of character (1 byte), integer (2 or 4 bytes) and ASCII string. Using ANA, user can create an ASCII file in which the structure is defined. ANA then maps the data file into the structure and intreprets them as a series of fields instead of a string of bytes. [ Checksums obtained with the 4.3BSD "sum" or System V "sum -r" command. checksum size (bytes) file (between BEGIN--cut and END--cut lines) 29560 29840 part01 57830 29524 part02 checksum size (bytes) file 51326 43068 ana.zoo -- bill ] ana part01/02 BEGIN--cut here--cut here begin 644 ana.zoo M6D]/(#(N,#`@07)C:&EV92X:``#X((`V+.&S-T[A@MHY"A0XAEY+@`4?#.FYH)-:ZA M2N=-TX,L;X:\LQ'-T*\@W+RYLQ7)7*MRN"I\X^8$'8%KY`IE>N;-FX12.Y95 MF,:GG#1B+E(5@]-HFC)SMA8\V/"FFS%LZBPTF)4JTYA909RIDV8TQ81IS"1U MT_'IVSI+T^*D4]JG1!8@V)0)Z1)$X+D&D2^6Z09VR,5YOKH0*#"(DR`@AKQI MT^9UTSK81"(4EG*D)Q>31`0)*F)K9MU()TT:@D3=YK62=DX8O"!@NQ%`# M>76(H=$<:$@$@G\RT`""$C5U%$,..8X!W$AW`.57<>7+0T6%W'94$PAA\T<2?&V=H)I"&2\$!!TMCI!$& M;TO1MN-V+KD1$GX@G'309RV]N*`9'H78(1EOM!@E'?)Y"4)#1_57T5-#:F@= M=E.!8`9+90`'AW`]40640W+22>*3<.0QW4`*P*`A$DD<@003B2)!Q107$JD" M5U)F=>1P)%4F1T=D+,D43DVM5,<8=-3!4H=9/%%%52:Z(=&@DH(@15%RR$'1 M&51U2@=3ZO'684EFX$?5;I:RM"M&?,&JX:2SPH%?2"W6JF5W8X3HJD*>>I1' M1)FUF>&D1(`'1Z9NB(?MKIZ=F55'9@B'!V3"R8E?=V1Z"P*XXH+01DT8W:EG M1IBE.P=]5,TQ!IUN*/LM"%,0;)%,>1$KAQEAC&':P6_,T:$=EGW5X9U+!BM' M&]UBN"P(0K#&1DB@CA$&&RWR5)8<+_#H!IJ\:67OI`UW]A4=<%ST)QF-K?$G M3:6FA9K"]S),:[7RYG4>'3F[47*L1>!11HM,/A&1K1@!R7`>OK7Q9'C-@<#6 M1U6^&])%&6TDZ,X@!)%V&\*ZH/?>%PH4@X9).$%%$5*T\`04A`R9'01YCE&@;99:[H%%12I<46 M&VS8"R8(:L3T'$A;38&3Q5T6_%14<:Z8TDI9LM&1LS6&86"=P:<5)YK\\864 MR1E^Z(8;(BY8T8H($`!9B+BLHP`\'7$2\M"&O*0 MKZ5`('?X7&Z&)3G,\`8V%7F3\O30/=21RUPVXXV4.F0;BK`+8*W[V`E3*!`< MD80J1>%/:D3VL/VH38C'$4K\?@0\)^:L#3AYPT/.`!.9)"1!NNE0_,12!J9Q MQ4;Z"H,:J$23SVP0A"9,0W<>`\#%$&T.(%-,@DB#!X1L39&8B^*+J,@E*PK$ M1/&2F/_2P$-!@>`)%2G+N&RS$>"@3GK2"P[HMB2GHB0M8)')",M2:9;NC$4@ M*NK0".6F+V')R5WP,DW:4$,3-O1N.U2Q#>ID4LLEF2I@OPO-0MCCO'B512!D MR)<3'QE)DM3!#$")F)16*">`Q0A3XVQ,.84#)+9Y1PQYLE/%C(8Z<,J3)QWQ MCDR,`C4R\J@-E"G7(6W3JX"A8*!R@-I!.B27D!`E=":I2"Y7E@(_VLTBW(M# M'?1DRVO2,I@6P0@).[*BKQT$#AW:R/LHL](_4>1E>=##_A1@L>:!RC$:O&86 MJWE+1,[PDB\#(*[0$[6F#"]VN;)*#_0 MA!\RS`$X18$:64WW)"F%`2A-P'GACKYZ,%LJLVX%/G`[0UF1(*8!:DX$*JE,NJ*%M.I5 MU?D@ZG(2!I@&<+V(W8U90BRJ$4LO;;LQ[7`ZA#JS*84I$+O,]5K+W-#"E3,O0S)8,X?Y(%AO\#5+UBW##ZP%PAF@&?LZ-E3?`:8 MGPGF`Q#PP"=&H<,7$$*&4\VAT3R@YQD^\H6G?"$R>95#H`GEH,@%S49P3H(; M3MTAEX&9EA*D9&LNV1TV`&2!-2$,TD#'K9B M-Y:N6FB7,I'6TM,1&.`ALR]K,R7CTLLEY>R,[>MGN:/%DKV:F-HA@3235N0= M*WKFU.B6MX+6YA8NX)L-^L8U)ITI:-\!*5Z]3D,:=H26^.9E7^+344FBDM&F MB"A>(@4=9H`3\I$O^0PL$/3GLHTFX*`YXT>)9+"]$('&=VQ@^[ MI=N=<])[;44JJ@JZCT$Z6W?2UJ&;QY3'DQQ8<91RT*TGI$-^T>X93I#<'('. M+1"MEJ#)*(*5B$@$4*X!D9KU+#A78=7[5%`+AF1O&!C^\(9GC^'_\S<86!`& M4H:!@V"@=QC8X#\W^`\._I.#_V`'!D+X3_Q@0(3_%.$_1@`!'_;&^M:SG@^$ MQP/B#1\#&+"G]G'^6PPL&`,IQ\!!`HKSY6.0^1AL?D)QQDX,0A^#^,6@]#$X M?0Q2OWK76U]OL"<4D=H3^(0,'D.'K[T,("]YREL>!C>``0Y@4*$@@!X&0R`] M#(H``R,,J?8QR+\,>O][`<7`!L1G?!,2`T&P?,WW?-$W?7!V/U1A'L\2-?2" M2!1C=`#4+BF13%O!=S6R%.)F:<#A@!NX7E!'1`)1!FV1&@E221JG:U2R@B]S M64LA!F_0&7,%+5_%,9M2%1'1'%3T/0*A6@C%6EQ"(P23,V<5/-1$A"YAA%_F M;3(1.AV!@_T1$UKW&ID!`E2&%SFG`-0E1P_!%F(3)^,T;?SR0/"UA&94!VX@ M'!JS(*_$%M0T@UD1;N-F;L%C=`+Q;*?B+,W1/65GA5"V?>Z10L-A1D1"!&2X M,AVR?=D!)58H:.XQ!D;3!(=!%=OW=^1JB'6B3$(AH,(\!!QMT/8)F`P&2(3\``BV` MA0X!!X)&B_^$7KSR&#-1%?:8!OBH)K3TASRX%!R3$=W41^6U(BO"3/`A,@5) M)!(96BQA!Y=!%W#&CQ8$`D4@.(0#D"!`!`?9$:ZB$N84:A^I(;6(+BO"$B,Q M)]NQ842T&..4+:"63@+&&)`$4*]27D,G<.B8(3.9<.(8-B/"CFVXD7"@*PKB M%%T2<),4E2K)DE*@-C:$E)%TDQG2A6H&AB-B6(%()/PH9<'ADE.`*:XB%$69 M&LZ(!FCYDNEV+2&6!L8H385%E.=DE/Z16L=CE@#UEAK"CZ7&%`%9ER%QEZ$2 M:=UCE=?SE'YY8IIEF9!6(YE)BFU(F*J#+H@%-GC4E:F4('T913A1!W2U)ESB M1#PA/N0$4#693HZ9(?Q8`_U($IH5D%3P!F=P!O$"@B&AF=8F$WVI:@&DAI]8 M3`N17!Q8::5X4I-D(D;(2@`L_K"+PX)0"<+ MC2[[I#;[`B`PLS%DLT1#D@M!;T$+`CS;LWE*LBN0M#1KLW="A3O;E]O7M"XI MM#5+LG"D6JBBM%;[LB1;`E`[M"S1M0MQ=$1+2K.&M%4[KNB(M290MEN;*0KADD0P%VOX!B,A8D4UL0?CD(?$57V96U!CO":% MO/>XO``32"[VJ[5Q+=#+$C%R58<:4W]AN(@TL4:WL8O1'>.R7HO!%,.E5U+Y M(3:&D2#::O`J2P@QJ.A($6^7&M*[$?,3KM5+1HI)D^@[/T#B1_RX>2_IDK"I M6AX#K.)"I@QX1G)$%:5C-(@5FE2Y%-!BJUKR$-(%D;-C$SK2J401C`K@BPU< M!P\,$U*2$0%T$@EAFD!IIR[0>3?ADCA1@Q`YL6L@P68"I29\)B\CF["ZP_,R MFYHA5TE\2-DD&@'CE$^IOMN"31KE9`%C&T>Z5]1B+="SQ6N!'QA^S.Y-1!F>`$]S#9+(AOK%Q%ECF:Q+23(Z:1R:Y"9D!6 M8[?D5U3RL,)!P%%"1&DQQ`E.7T"/L;1`'*E:A45_1'.9"R`&* MQ0J=,WWI1`Z-%@F](BY!$2]7BD,U3"44T4F%'!*V'#04&RR%:N+[,FF@R6-" M$A?=*9L"@T:Q&IR<62-'1KL!'(Y%)0\!),#!)>+*F>U"O'0!B>`KJ3\-V81D%CQ/16UFG',O"F< M(928%NRS)M>"6!9ZP43J!DQ*O_,8K7"]OX,KQOF*1:1L0>,2HU+ZB0HRQ'BS M$#?Z)8W1(AHSR#+8$!_8H#_1Q$VH(R;X2F:HB3,L!WTIG=T7V%78GS(*H"M2 M@S;<>R`0!RX9!:QQMSBE4Z@MOE20%5V[),J4$!<8$D=BG"DTVP[2(0$9=VY! M1DPQ-55#IM'M;UE1$:[S-`ER=E.9F1TL+7L%PDJL.XSIJ4BTOD@YQ@--IC'11$%*3$EL#-_[AKOA[N/!JG1(6T=FU'?BH(`)<6$4CQW\&4FP(OB#DBR]2 M&G#*-DX4DNSF)'-0(#)!67NU$A0Q!T:)XZ9A)#+LK&_PT5]),`F!6`WG)-7E M,$?.$F2VY/5;GA9'&P&)&IK5OK>ZQW+@X>B=(4E0FW@4 MJ>Z,L_["YWY.18*<$)Y<%#/58`O#&Y(W\<$N9:5[X]XH-MPO**ZN"MZOL!D32,0U!5LN++(X%RN9FK M+XR**[.]>4(QF9@RQ`LD%-[X$5#,]OIA1OK#*X$F)7GBC0]D"*MW*YEFTGX/=TG=PZ:FQON.,X?&4 M[AVQ[&BP%:3<>7K@DGJ0RG(DL=FBK99I6&0J!/,:)T$T="$N-B@5DMU%C0YD M'CS11I-T\*J\)'X\Z[(4POZAK8HI%&[)E'G$;QZR-7*8@SYI-ANQ%1)*IGP$ M`@:=T%`JNRE!N_!=WP8CG3$I`^](WGDK,RQ`K>EX4Z'-^KREZD(_;HA42*3KU<82?!VE`ZPGV) MYJ>NOB"A-DIQXB:,8J&^HBX@`Q;TM`&IR`,<$F!OR[V]CW\O90$Y^)X=0)=" MDAZ3X3F"^%`F$+Z;(5/@SR;USF<`9\E\/IR_\MU*PVJ8!I1%5"36FJ[S5%.1 M@4N"1X*6U[B#X>$D6").RW(,*O\%[M+^52:&$Z:!WT'5L.46_-Q#O?&"`H/N M'\0F'`E1S$808#'?="!6F.ABH3DFC<8B$!$L,?P+/H12@8$U(GZ#3$UYH88T(WP!3WDRY,0)&QR=8)_07 MHG@2L_D("Z0.8*XR(Q$V`GY@;8CEYWB;/X.ORHT(N"DNP`RT`3J`=SJ.RVL. MM^;4.9&2,,VV1_>@8>N%E=FA:8ME4$C3,R3N$B)!@L`B''P&!Y>*>T9Q` MQ3&FRR3Q?)#N3Z`O384N%)R*4-#4JWM51N3`%R"`9.`+M`80L`7VT@MH*).F5MR* M+"$EN@"(0TLD6FA"_B0B:4[KJR7/;?Q.%LTP7'K!T)6$085QP&!O)CB#`I:`Q&L/;@!A_8M:\,#,@2?Y% M'50+]*M2[!6&(P<"EZW(0Q[D[45[F'):?J MP!`LYQ&TAS)L@()F@@W"LM)J4MT-`5G3:)"QA$`HOG;#-N(/FFR728[\\IK0 M`B-R,/$"'PK$&%)?^M+-(1(G48L%1"/4EY+:B%A6?&$#WK1]5J:D658PB9]C M`Z'$G)AP9J)&Y`T<47S5A)BX?=001J2)+K$F!D7.!"(>D(8PBC[Q[/!$I7@3 MA:)%+(I6(RI2Q=[FU!Y"^R`23\U\B`UG81'S&%><8E\!5FD(J@:KPN(&(XM[ MQ2PNH!6REL*?GD`F-$5N7+ST1\G,@K/HAN=.94F.45)*]L(=&%X(`0K&A:#` M,(R94T%Q=I$UP4$E:*%NRA+1B'ENJX`Z05,$L$`0:`)0@`D4`0^X?:8`1!19 MT6-8O`\Y!IY$U1L@"@SJV2"7*J%;6IYL-&>`1%M1A*OC&F'C-2P.M@'WB$0C ME%S@6I7HC28AOG66DU+%9(E2XX-TS`Z9B8$Q]?H=_',+*T*:-,>553^8P'`P M:'+"5)`V%N(B4-SW`XJI846DK&S45=(&4TB*W%$5F@KV>(54C6](,ER"G`F: MVZ?,R.!AJ5Z\#XL=H8V`2/IA&6DF0T.<)`B9!_[ZX7X$9M.+E&#`D7%?)IU[ MHB;]3.WP0OB(7QB:>\1N'5)GE!OT=]#`@BPI(/-O+%A(BLB93F)+N!.OT20L MFN)0>UHB47R1#P$V^IDW,*N(Q%7$D3&R#'P!ZB@>X,P52!#1T,NH-);2(5P< MU_@-=>.#+`3>0"IBW06"-%A".U$%Z6?&?"3&RX1(TIQDA-,Q221&%C2`1<4[ MG`3S]0478/>@&$EBI3`8<-AMAI@3F4:V[A:B"_91F4Q":,$NRF2W04F-=A*@ M(!<4;K$.#%J\%W/JO`@!,1J02D6(#3["(I\2D-210:X'Q!`E\`;00$4(7I8( M=!&)2RDCY<)6T)04(E5V'A1@;XP`#9`!,V#Z.2SD*"2)9`[2E#7@\,00>]-[ M<``.T%W;QPF`C@_C#\O9241/PLLS\`?78(;XVQ""+U(B0;00&,0=Y6&<.&B' M,5VLHJ,4SE`'5M-#,X0O$`VQ,9^V)<<(#9@!5@B:!I,:2F0J[!RYCD_*#\G` M:\(4V7@@0F.]\#)OF1?`)201ER)B]C5'&:2&>)HI^2MM@SX,EJ;"%+I8'I27 MJ&$UKD=6R!T)6KE1@GS$)(X^JK`'PA;?6HFI(0CL`(^9(>)C#!B9XJL/]*6S M5S`H')H*6%^(-+8N&O`WL`#)6CPP(`:0S.V#'W8FS?P/AB)GIIIHR.)LD$S0 M52`S+U`,VA%78EA#L&@%4SRHL2PIQ31$?`R&RV$JS3&NY)7`R-/4:5%S4W`S MU:A9SH!1P"=-D&*2F^VS]IZ`%FX`60@2[0%(AA.;2>!G2OF*;]B`N;(VH@,TK0\ZFHXA1( M5*1&``HBP71DA>Y5')#GJI@#4F%<*",4\!7R0DEX"`TA(:P?/(`#+@]!F8); MXY9$+O%2',!$7TAQ$VP4SK"*=0KW'ZCH0F/M)U2O.''BFAJ1X).ULX)>$N,2 MZ]8+3Y*$0((2)IPR(.4L!D`#+)5$5$&/K\(=!4UW&`VV87YJ(]?A,O6;'%,* MO++QX`'`YZ5F0.3!`S3`0;!*V:-_8.4,"*3V13&JP2>ZG4`;5Y&9V\@BBIU# M)VCR0)$)(0OB(D"<_O:4)FF\T)0R``?<`!I0`VB`XS$4@[20^E%$RCZ%1FQ` M,XX40':(.R"II`@WA*2,2)(JS'A!`V;`_IE]'4^3"@TLAY8\*570E/DGD(X? MXD-*=R4@[:6^=/_(F05D)BA@4=E)10':<:1BP]0"6AI=F)"J6]F=*&86^*-F MH6L51KCQLQ6U?A:/P[P6H((IK)\>&DBJA?`;%`$!W*?$_0(````````````` M````````````````````````````````````````````````````_(/&4`4.AG M_8,*`'^T%`````````````!`*2,H``";:$$0H`H`!P!``$@6X-^_7`L`($"R M"TD)```\8`00`(`$`%(46+D(X(6)C0"N&%@G(1R",BD-O(EI+":WF#T"J"2C MTX"AGLQZKFN"LJC1HTB3*EW*M*G3IU"C2IU*M:K5JUBS:MW*M>O3*HO8X:(& M`%VW$[CX$(""2Y(`MI_>HH/78A`Q`[A*O<6%2JZM%78)C`*380$P.D9P<0`` M!5T''G8%C-)'8!&V8TCLB'S-` M>7/G#.@FJ8@\R`^!`'4PX&(FMY!J`8T,R?C7V)Z0R"PA+?)BX-\=Y,J9H_/5 M(W#RY5!6`&N,K$+@T0IP.6PLPT1D8]D!X/(F=\?Q[]I9/5^M*#NF'GH`4,<` MZ=!G!X$I#,`#&0.FHX4`?A#X@H(_-.A$`!&F$X\`"@#3X"4`L!!"@[\(P((" M#8H0``L"-+C!B@,TR%$ZZP@`27(P,(>+$P#8L0(Z M(P!A%P)7X@4`@6$$@*:/0%JV2).+6.%/(H>XL4(BE\!QZ"%J''H)&RO@`L8$ MC:%P0#H\?(FCCCSR&>2011Z9Y))).IEX``$D@ONP*``1^4(#+L5#D8L4`4:#3#V#$$'",KO\: M?F)+J!PKI`.#`-OVB(PZQ"C(LE%'?0&S\!\&'`S`7X@9&5#L320X'(.QOL$G=C/EBP3BQIK87+/;)RQ@\!Z`2SVUWI+/#QPC9@L$XD M=Z/#0@;K',)9T+@4P%C6;.JQ`IMXK!`*D$!`$<@P@:PP!2X",)8+`@!$D0L! ML46!%3-PC]J+TP,@21`'SD] M&Z2#@?5KHZ,%$NDPP/W"IZ4#P/C:F?-!.O3X`PD+1-`!#PL2-'C#/RPLT"`) M_?B#3(,+^(?_&B2$?_1G.4?"!0C6@HYRI"`PZX`!"]#0@P<`X`[GB`8X)K&K M4R"!`)#P@@#D,``3$,"$O@@`+TI(`'<,P`$#0,,)"4"#`?A@`'TQ(1D$``A? M+"<.="`0&?B!C@1L8#K5N0$N;,#`2SRP6KC('3KJ(()%E*,+PX`$6,1B@+)T M8016$$\B<*6DZ1!`$0?`Q"+@80]"9*`"`@@B(%X``C.B<1'(4",V['&(-Q*@ M#@H`1#Z"P`<="-((?ZB!&?]AA#.FT3+1&`>Z7)B)13A!']/A1S3"$8UI;+*3 MG_0D)Z100(=(-#+`C2F!"B(#"ZO MF$5%&($3_TD#`.C0@3OL@`5AP!(+!D"'$:PC!F43F+FVQ@>OK4,%6=M:D0*P MCM)H-4A;\X-7TU,!GZ+C&2>(##HT-U0LTK-UZ,A$"+*6""_X`Q"_Z.I2\6*" M`JP#A+A0@4\!J]:E1DP&AAW`$A?[BR(Y%A<^B"PNA.!3S@"@`.BXPPGDN4NQ M^",`Z#A""-:!`(SZ$Z"-%"A*"ZI2A"K4I`P5D`:0%[0"U&$/F=N<$MQ*@[A6 MB[3)(8`_`I8F;\$#'TKL,;_W`$>8$F-$.0-UFE8\LEW'J,[QJ`ON/U!RZ0X59;?!<[ M!E@N.DXP+P0O]Q^V("\Z&/"`\WAH`NPY`H10'`DHQNM*,K^&A(1_JYV)KTCBXV M*`)8ZM(5P%2F-&V,,FR0TYW^S:T'.#".(6%4I/:`#4O]P!V:P`(RT"$'+*)# M":9:AR"$]1:`\.H.LMIE/,R;5`6#UJ1G#&0&`=@Z!#`".:4"$+0(5)[/M#@ZJ'#PZAB@XED+1<7;S3$_=&"-BQC&(CPP444@ M@MLJ:$<4+(.#5ZB5#L;`Q1A60@Q(W#LMC$$',51CK8];7`(^IRXN7!!T5Q!= MI"!/M\A70/(5^&&C\%CY1`&!"VY_P`_0X#JW_]"'9-Q;$8#@-B;>5K8W:)P7 MJY4"Q2T>`5S@0>.H"(%=/![U.EMFZE4W.YS5>`=) M)P`N%!!T#!`]V(?@6`"(C/ESKR#S*]@!D?V0`L!V;:D$RL,_0C'13`R`42N8 MP*-6(`4H`%:P#3J%@*%@@'20PGUA_<7I@YB.-P2`]2MP/>QE#ZG:WYZB8,.% MS@Y;-D1HG!L@F-/<*XIT7%Q"X\;(_EV@CFZ_J]OS1!9]Q?W@`8Y6/.5:-_S+ M-Q#SF6.CYC?_!2XBL9)>=#[Y]_`+'+,"E\`Q]Z`-B6`!%;<#!$-U%)T&\AC2/=S M3$<>*TA^_[<"Z6=T?E!'-O!^A2=V&_!UR>"#9"<,9Y=V&[!VOO!_F1"``]B` M!YB`"]B`=*`!$/AS"M$87#"#&`@8/K"!?X`.N&`*&D<)'[`.6+!]/%9WKZ!Q M@/`!>T>#Z88NZ#=1ZF=U[;>#ZD)X+3=_]:=X^8<+J=!_/T=YC:$.AR-Y<;AN MR1<`L!`/@Q`,!)`(3B`/J$AJJVAJKE9, MLX@`@C2,K0@`8Y1U'D`9Z2`,(#0=F'0IE%`9GKB$?H`/JV0/"R`-=(``*V`% M^'"``6`%],`ZC)$DW.!M3D`/@1`,W!8%8Z(/Z.`%YC%M5_(#?T(/E>0%_#`` M1X``$W`%"N!\?V`!@X4+M;`2B/4+AR8IE((.,>`!0"XD-#EDVXA"1D](8MR`STX:1&JDD',D6Z[`2 MA'`K_JB2@V(%W@B.XB@HYHB.O;2.1F"3[QB/\UB/Z&`'/ZF/AW$$0YE)`DF0 M!HF0"AE]^]"4F7,`;!&5Z)`$5(D`S5`#:SD([(``B\`-S9`#']`,/;"1'>D` M@HD.0^"&Q,``)$D/5=,$`^"5V@@/+$F6XP@/9YF.L%.3[HB3;\F3Z$`/JT(G MAU$$=PF0>7F4?+F0%W``U`HF4@*"4=!`Q,P"W"6"=",!(])`.A"``W;F;>YF4?1DQ5F">DI*>$SD#[.F86-F1:9"9 M.V"=13=1%66!1(9\_Z@/.7`%&,`''O`'!9`#1V`!=G`!*.<%[VF$"00'F7D` M$KH.TH`+")YN.?*>D'\G":+FD%\K"::>F:-^F6.@F7 MJ,`RMMD@9/*?1AF@X3F@N&`'!@H("-H8>;`!R.F<&6D'8#J?LY0.+Q!-/QJD M8MF295FD,8F6H,:.KZFD.VF/,N"DHT$@`("F_HB74PJ>XADQFV"@I;"EZ#`` M7EJ58FJ5B_J<\^D*EY(+_="/N=`Z2Y@/0EH`*Z`,`?".ZHBD;9F3=8H.O1`: M=-D@F_!,V>BGW]F;T0<,P(E8RF"HC;!;BAJFT-F@;#$-EY(%JDH/E0H`EYJI MF]JI,ZF6;`F;2RJ;36"J3TH@*_"K1`F@@-J7>#$.L5HV[6"H'6"K^?F<5ZD/ M68D+]G`IZ;`/U/@/2F0`"-`8%,">?S8"D(`$/9``%X0.&L1!_W`*&"`!=M`` M8/``J/``+``!&!`!H@`!B!`!\-``7N``X.``U+@(F9%*5T(@,K`/6T9/TE`6 MJU`!G6@/'1$*T,@*YV,']J`804<`AR,`J80DCK`KT5((`;!WI#@:'0"7Z?!$ M_OF,%G@'&H`.1109XD%:8V(/]=@8A@``-MLD5_(,U#@(/Q`C(G"T4]`8""`` M3IS@`*07WQ&`+#%2D8'!-!/ M=5`.F00(."`@#S``\S`=")`(2N00.*;()U`'-^#(@,`'`G#)+Z`(1!``_P$( M`#`')O#%#&`,!#``W[8(Z'1D0"#*_[A.!Y`(5R```T!=@V`,`Y`(9)(.C@`` M@.`'E$<'1/#'BLP%@&3&4.#(1J!/8J#(,%`'#*#)?!``>%`'!$"2_(`>P/H+@-[3HF!H`.2Y"/O>BT'J(#N/`-)VT'*7T#+-VV=5`! M*(T+XJ"Z3W`!_MO$I`4(3G!:.RT/JFL#0`U%-!DFTT5$MW`XWTI$*,`T>(0F MBZ`-]^`&E6&:C!`ZB<`)GC,%_T`+H8,+!Y``C9$/%K!W3OW4Z-`'4HT+,D!K M-.W*@6`,J6,%:X0.IV!UK8L$(`[V]9M#%.;J=0#QS*>(=L1*V`/ZQ!I M']0L[,`"43`%Z*``";!W0$!\8O`/LR'<`(`IC%1+-OA!0+`#QF!RG/%!N/#@ MWF8,!U08I;-(HSO8FC4#D",#<1!7DZH(/Z,`.1.Z?R("WVI`) M*X`,&Z`-KNQZR#`!"-@(D=T)D!(F47YM5/[=.8#EQ(D.9_`.0A5/1$5/V%`6 M:>``(]T1R:$"_T"*G/N^GVO$7&Q;,B8@%ND#C20@;H`+A6#<3C"7V"&[C?$+ M/+L.5S`%R0'JZ-`()!`8R'/IQHP+G&#<).#I9@)MHZYB1-S'_%#1NYW(/Y`' M@,09C80.[0`!ZZ`*D-"))%W?)-T@+J`GS*#6IZX=IF"J@M%(HP$#N/`,TJ[` MC0$)UCX*V'X8!/*]WHX+TF#;``%@5+?E*QC23AV<"96NL;`J)0@[1";)>9U+"25^1!_:+ M0`0"'J,`(($#-'\,;`"FO_F7;IX+D[A_[VCF.(%>Y$RB13JX!U4BG0P-?I#3 M<$$'6`"-H1/4//]$5""@`$1_2&S219_\L0[VV720!VCD/_`!AY(.9$``.!#I M8!;$FA70(&1*AF@$`:!#T($,P`)*0(-`!WOJ?Q"(?!`B_@B!4`4=;A%\"5&# M"73*`M`I-$"G3`'2$@BV$2F;`Q"@'HT)?(`+<@`*1`<.H.95!YZT!G$!$'B# M_H#T&0`R:`9+61JD@W:`#1:!-R@.]*`:#(2X@`E(/VEP"/%!(\0%4^`-!@/2 MIP#D23\*%/9`G.&#]J4/:@^0^P+2#QS<"EAD!?3!"O!$&T`L>4*VH`:DGS)( M.EDL$!ZM,4$/XIH+6(6XH`Y(OUC0#&Z`$<`'S<`&V`%ZP)@<$V223)0)%P`" MZ:<)S!8M;(3HX`_<0B@`Y`B!]`L$EU`LC8!?"$8Z(35D"X]@`:2#-?`/LJ$W M^H4+H!3B0DT@#JM`.?1$F'`&_,(9H`Z_85X0AS_@'9)"?:`(WE%&00#10!]$ M`VS@#Y)!'<`'N!`6B$,0`#W^Q#[LA_3@'VJ0:"`-"N)!Q(6[0!R>C_?1`AJ$ MWV,1#0((X(\&0`><09I1!2R@X7&9-,(6C,$;_`3-3Y<\/W3P!D82WULJ"N#O MH8-OP`]X@Z4+83G1!@P[.+``9(.EJ2@4(!=TBG2@W;X;%BB*JX&1H"E_D`-" M#`'X`Y+$^?$23X!:-@`"`#;IAH\LMJ^1`7C:&RP!UV4U<#1=X@)SFP.C7_9+ M`D01!M`8YD$#B`S+#8"!C-FU*9X$&7@P!`<*K*WQ1;PPCZ%8%Y,-]B"*.4=, M"%=YZV[7YMF\`+TS;;@L,`TL%-*!LX M@"ZB@S%P%]6B@HL`BH`0Q"=<,`14XQ-HC03`".0`6Y`C_D`ZP`5'0#7Z@-8H M`!)<=(!X?S&!3`'5F`)PHV[DC?_`-^*"*Z`:,0!Q3`Z+JS$D@H/#0WS!X@)V M<<`PJ@MV02@BV^P)$X\QO54Y=*`&1))EA(Z9,3G\Q<9@"SPCG=-OZ,V[/9N4 M.",S,X9`\(,QMEQ$!CR( MC:&"2F`?8I0Y`@1'(!T[`'S@`93"+`0`[X`',Q"'D!_7([JC& M#"`@TX.[VW*":[HXPE^(THR*/C@2Z*`4O#$$``0:!"-8D/(@';2\/V$/AH8\ MJ`-X8&0<@$I##^S6=+`'1H4>X(`#`&]ZVR=+(SV`E,F!5Q$)5*,N@(INXY4, M&+NV(QTA3O(4C$)(-DO68A;9-;U&L?`U(X``AH8"\`,1P$^\R4:""*:;4",J1H4` M'(DQD1[,@6H<`5`1+]Q(N\)+,$!9:`<$0)@H.\IC1B@6!E@`(ZH.;`#C:"-T MHQU0`'^`0-2"0$8=%`&Q1`"=`(`1#(,5X`WN MP3:@!4H@>A90#V``)H`%.`#\X!?@@`R0"X!!"U@!SX#7S`-5\#X7@0.@`A=@ M'+"&:(`.N,$`4&GRLQV@`R0``-XG9S@!$X`SE(`H:@-4'CJH`-J@,02``#`, M7$`H,`F.0`0-``!@`V8#,O@()Z`Q\`+4`@4(@`T(!#[`"EP`:V`-E@<6>*#_ MP`)H@0N@'FB-!3BCVU,^`(`:$#T3@0>0!Q*`$1@`>B`!'$"D`0`E0!<``!,0 M/=\G\C`#%V"I%%`'@`8N`"-P`'#@`C@"`]!"3YD-8`$`H!@8`#7@2;7!#-@& MO,L#8-+J^3[301X(`#9`E;J!5KH+QF@LQ:3O!#W`$P2!*F`!` M0.#@32YH``#`%Y`#"3`/3`$=6`"Y(#KR&GG@"NK`:BD'!L`#'("-$H`>P`30 MGZR`!02!,2D-P($D2*?KM``H`&&@"M:!.WB?NX!V`()38$[U#P`@`M%3#B@` M>R`,`,%X`@2/P)P"@260!\X!0/`EY\*O@>B.`1!(D,X%=*\`#*NRB-V,9.LT M2&27*P"`=1(R6KF2"T"`=0A`B@P0((J"9'4\^)*2X9=,='\2,OQEIZ$=`(%\ M6+E@S5H=`O\L<+G@:Z?.AF$2,MV)[@P`=+4`+`!&)P(6!>2@U%DPR`\!`'4* M'#-BM"H$`%W)U3FP2"TM)LU"?/'29=@B!V@NC#NP2P"`?Q[,7/!0S((\";@` ME+C[`9`/&!,`T&G@`52,"8ME3*`5.<2'83ONS5'PY,FB!N/L_8NV3IYIU`X& MO2.PJ,""(@+HR/O789V[B!-Q\0,`!5TC`8-\V+A,QZB%Z+C^*4>W1\"B[F$`"`#.?RP(@,X MXNP#"#U59(8.*__@PM%R/`@0(0!>#/.(`3R$!L-=HR`P@2X<44A'"HX88,`$ M)J#(`@",&+#"!/9E,A(@,_PCCRNNU+'/$4$D'%V+2@04/ M(M!!`@]*ISYS3#2#;-(L$$TTZ$T2#2@!U*+-.`&:VN0*< M)PRJRYUY[DE1,G]N*BB=!!2ZSC:(*LJHHW5(L\XE%GP0Y`@3#'#-$=&<4ZL0 M@(CCSPKB+$+,*"5,L`@V`^QCP0$V)/+#$$,48\.0K*@B9AWZV""EBD]V-(!] MJIR)I9I=?LD'G'@PZ^P0E%X9CIK=M"D&G%X,BBF>`ZC"IY^`TB$J'0;`PL4\ M^483L*(#SP&P"/D60^F7+L"IPJ"W;(KO.IZ"&NB@``N<;S8&IX.P);`LO$XS MW\)ZS`$`%&8"AQEY@***)BSB@8N.#&-??S@6^<\"V]#A@`F4L8R9`3H:P:,^ MBQP#!`G^&+&(/]&8DTL"59&BW"+&H.,)`*.<,($!'ASPP2+/&-O?%TF,0S,! M-NQ@`#D2U`%!%"'],GNL8TE>W74A#&$97?&/'02@LXS/ M6H$@R2+ZC&ZDCDDF,9A/0`E%%'587$`+$'=]P;KK`$QA0!0C$7"(`P14$,5R MN42PA8;89\&(-EGE><`6?`633A3[`"!'!?:Q/LP<^"RG@5L"QC_'`>@X`,!U M_V0B?@)"!T>&(8H%3,`K=1`!94(T`#DP8$YSB"`(X`.+`JQC0Q.P@P!@,8%= M^&`"U\#$*``P@6$H@ACKN`?D)C((=CC@"E;XA9$6,3M[$,$`0,A3.A8!`!P: M8!!U&$`Z!+$?=$`BB,3@#CX6X8U`K`,+Q3H$/R:0""/PPPKHP`,!!K%$11#A M`"KXRA89X$4!9(4/4AA+ M>(H`+J@@1SK:$1VBR",Q"+`.`D#B'T[P!RX4H!S9^4-V_$"'$"C@10,@`@HJ`P!>W]@P930$<9,/#)+&P!"RM`1@I,.@!L!,"1`EB'&L9Q MA74<8P=.X(<<6#`#:2#J'G;@!Z)6((R7NM0^8#S`Q>(Z8@$()A@``H_\JP%`,`X& MS,57P7BJ5`VPT;D@8'6PO&<^]]G/?P9TH$;P1T$/FM"%;LVAM(IH#B=:@(I> MM`!ZW6A'/YI#!(3THC$HZ4GIH`*5LC08+M7>%&**CD)<`*PZY:E/@>I((BH" M*RXQQCKFH%2F&@&(L#VM2!O`5G2<@`!:P&E6ZL`?J`9#JE0-AE5WFU5@;'4Y M4?@J,0R`4RW(=:0[U5P=4)#65VCU`&Q=CD7U&->R3@"O>NUN`(#`SG4L@K"& M1>QF5[!8:33VL4:([#)AV4)V8%.&O@##!+0X#^IQG/2<[D9!L$XP&0,4@XH0*(-2!"J@00!V"P(``("*'4@O$ M.Z08B&,L%!4350!JSZ+%-00`"R4E0"*,4@!H#!$""=R39`$MN\@2>O%`QD_D`J(`M$U!!@)=4>0B!\`>'0;=L M-$S@7\O&PP3J0`)[',+/.^S`1@`0A4:0Y0HS[06:#=#M=?C@?V_FPA2T6`@` M;&$+TJ6#-1:!6"H08`7*$$(B*+"(*@A`"8F@@@#&`8(H1&&N!)CI(,I='C[H MAG*(J(!*Z^`+K:IE'94&!K;]?"5RY((PVG,I.G*``"\B`'[(6$B'#E10 M1-M[0`?,T&#N+%@!'3C`@AO0P0:%9]DZK`$)7P1@`(+GQU"/D+B' M,0A3!W$,PAG.,8<_5@^(=;P`4I M`E!.!`!S=NC0Q`%0?D5]9*4/1(2#DC8!R+XG_X1'0&XW-FQ@P#(T`K\0PZ011TDP#/15$=4 M`23$G*XA`PD,`(74@0[80S#`5@,P712%X"$LU$6AP"+D&Q%PV69EA1]P`#1- MAR(P@1BU0Q2@0SZ<7'OEP&;1P0$H&"IMV0K>&2L5X"M]AX00$$3<$QE:@2]( MD1DF@A_X@TD4GI$,@C$@0`[8`"90@!Q0`!#U6#QH$1?\PQGMD#@<`9]``A8^ MBFX<@X3Y@P$^#R30@PS\`VC,P!',P!S,P![,`"G,@#7,0$;@0AP$`#H\03V$ M1-`9`3X@@A'L0Z>Q0B*8TSKZ`YP$D1_@`P#T@:ZE8SJ(`@'L`BA0``N```]@ MP1T4P#60P`.L0PAPP@XDBR@(SQ0G#6@6\20G!B@6\.0G#B@6\*0G"^@6]R0G". M`1UH``_,`1U@BAO0013P`!S0`1CP0!%D(@\<`0_M`@"DPU6@`R$(0"/XPB/X M@[*HPA-T6SI("CH<`AK]0QU(`",`0W@C_X0EF@PR<(0)`" M@'Q*@C]@P5,E:54\P@P:PB3X@PY834=@@(\"J9`>0)'Z0I16*3K`09.6A7S2 M9SJ`'>*Y`U$"P4TR``AH)#R,Q5_^0;0=@%_R#9SU`%6PZ>.:NQ8``*FPT/( MJ>#IPZ76`)@^DH^>@(N":@2D!3P0AN#)`PS(0A0(`#`A@A7,`[*^)K1.AVW. MH!'H`P*XJ*L5`#KH0T(`BXJ,U: MZPKH;$<\@(O^1@)8*P@$K5PZV`I4;!\(@'T8P!5$@8M.E%P@@RR``#K\*A0H M"[C)PR(X`3R@@R&XA8LB0&:XZ+%9K2S``!(!0!9\`5>APQJ4+18]ZMIF[1ZP M9P)0E1T@0"O`(P+PA=^VPB)`0RM(0N`.@XM>"0*@PSK\@R,(0S@-`SIL0S7A M0W<-@",`PS"0S3!@@CX9U#\\@0#@0?K]P(]R81$.@_1(P10LQSS<@QYMUP&P MF7ZFPSAL@.E,"CY<`8Z8`"N@`S+X##Z(PSTLP#]\@>"D!3X8R3",0P;T[N]N MI3`X2/$>;_(N+UJDX_/VPQ5,`B[]@0+\S$[RZY==A"0P5CQ,PCW$@R0Q1P.\AP$\1@+DPSHL`"WXP%W(00$80[9= M1CHP@SQ0%@][@`\G<1"O@PJT*@)$'QT@P5A8$G96Q))$B!`@\1*TJ@+8G@,, M0.)U&`+D`0H\A@4,,;.0)#N)L0"0<0BLL8I8@1OSX21-#C\\1A[_[^3HFA,@ M`/PI`"WD<1(#PBGX63^DPQE`L0OADS0V$*W(P0`H@A_\DQ$HP!4A@$E0EC0B M@BON$T"M'@"D0O3532L#V0'8@P$,0`4`0E'XWN00`!TJP#'00@_$@@!,P#U`PP@L5C*@PBTWVE3'T@MQAT&YM1P80#Y8 M,1K`#R*/0QA$(9%IP4\$Q5`4Q5$@#]C^DQ480$0',P'00@*@6Q2"Z@T\LI_M M0TA0U=@3@@ MV#%855ZDPPK@:3Y*0$>H`8)O^1"APP4` M@"K`-^+QPSJ,`SHP0$>(@RNM@Q<@QS^@0PRPPVZ=C;Z-@P1$06?=$]ZJ9,.-A-$2M`P-8-@!P M0`8E%M-2%8Z[4CK@@CN8]@*XA&JE#RNX.FH/^J6W-I]T%SAL>OII@ZJDGP]N&@GOL`#$DS`H00UK.AWVL@SZD@PD`)D=<&,P9E"\P@P3D`!<8 MP!PTP!(L`2`\0`!\.P+<;R)P@3+9$P*";1?E`SK<`01V.SI8``#,@5@V0ONL M:YS/00'0",R&81#(M#],`57-W2)\@0+@R#J,0%]OP:H(P10L`J,S/`+L@#>$ MWA(\/`-`0B-0@3_LP#3,03@,`#S(P0BT@JK!@]0@@4K-P0BDO!P4R^&JFC<, M@#`4`&&8CJ2](CDL`C!LP2(^3#@^#@0ENL@S@,\>Y"PPI< M`9?Q7];_TQTH@,!1@!`,@#P<`P%D4B+@_A=D`5]`@]@+P*,^@!+`O1/L@#4D M<0Y<@3_,@0U4?!0P@CP#DPS#HT]SM`.X/D8MG`%I!#\@D=."?^(.GD?)F MPVHP'5]@&%R817`-G`@CP`:<:Q&0A=YQ)!I!':@F?L#<^`XD$0V&%6=1"[2G MK)&")'`P2L$$2`;S@!0L@GFP.QY'"9N`WJ#32(T*R+DTX.]0$F2!::@:`9`" M5V`+?($Q<`;&$@E(`2T@,-@F&-``\$`1N*'F@2D0'!L`&'2`&B(#]0$-G`@2 M4`3`=#`&6`3M@SNR0%$9`$1``C80-L$T&J`"P91X\$RB@1;Y`,%HBJA`=5`%2 MDDR,!2[``1D`YHB3N4,V2@$O+`5>(`]NPFU"(\1,N,@26^(>0(&<-!V"TH6J M$CG@#GP`%@`#Y,`&X$C1`*H80GU@#:7!-AP`V4"$_!2"U1&X@9QH`9/`I6$# M<7@/M($KT6$A8190-40V%PC`4QD$^0"X!8``\@'301T3Q&XB2%&V+$`WY(#C*(`V`''P`]X`$H#"')`#Z@#%R!V MS(Z9<@:,H@'H+O^$5#0-.`,)C("1XP%FX1GLDIR8$:(',?`""L`$J`R.8!_, M!^M0!EIL+1J`M@@%@8$)L"MTT3LH@[)0P@"C)<&+``(4`RO```:=?3`;@#'.<1K4QJ_\P!1@?EX``:S!N"<- MW,@B*%WCP`/L`&7`4I3!(K@!M$`!1`%(0"V.&SC0!U@@$8`>%Y`"K,X*@`;K M(!L8@"GPNM!!-F`'6D`+;`';5580@"KH;A=`":R#8+`#R,*_$'N%Q0))NP7@ M8(8CY]M?:L$(W9AMPHM`AQ<3`.G$B^&C!'`,^,8$R'?K@`E``I]C`-Z!%WL4 M$D"+*`$`<$80G0&(`'TL+5B2(^(-^.,2`2+F3#_R`]D1J?S6,-DJ8V0YI(-Z M@'+83`)(?&J(A20'+6D0\`'"T`?0PB>R M$%`@%X`.,H&&3";L)!&0)'[5!Q#`_\@$Z>`#!`!((%U>0D&1!_;@`#P* M"T!;`@@R6`3:8)Y,#L6R`:9!.F`?<*@0'2+20LM&2D&Q!RNN6$`@!P END--cut here--cut here