@CAT,P 1015-005-023.,///10000 @ASG,T TEMP.,///10000 @ELT,OI TEMP.1015-005-023,,,130035053241,000 )@@G@@**PF**@@@[EG@@@@@@@@@@@[@D+@@@]FE@@@@@@@J@@]=@@@]F^ EQ@@@@@@@@@@@@@@@@@@AA )@@G@@@@@@@@@@@@@@@@@@@@@@@@P@@E*@@@]F^ ;Q@@@@@@@@@@@!@@@@@@@@@@@@@@@@@@@@@@@@AB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@K@@M/[[YFID @@@@@@@@ @@@ @@@@_B@@[@@[BV )@@G@@@@@@_AL""[ZFMFD @@,@@@@K[@@@BULLETIN @ @@@[[@@@[H@@@@_C[V\][FBW )@@G@@PCF @@@@@@@@[@@@ @ @@@[[@@@@$@@@[@P@FJ]]FINIT1 BX )@@G@@@@@@@@@@ @@@ @@@[[Z@@ @@<@@@[@/@F?]]FMFD @@@@@@@@A@@@BY )@@G@@ =@@]@@@@@@ C@@@[[=@F;]]FMFD @@@@@@@@[@@@NEWS BZ )@@G@@@ @@@[@@@@##@@@[A?[!9]]FDIREC$ @@@@@@@@[@@@NEWS @ @@@[[@@@@XCA )@@G@@@@@[D\[!;]]F@F@@@@BUILT-IN RANDOM SYMMETRICAL DESIGN ROUTINE, OR COMBINECB )@@G@@ THAT WITH @G@@@@RANDOM TITLES FOR THE DESIGNS. THIS IS ACCOMPLISHED VCC )@@G@@IA ONE-LETTER @F@@@@OPTIONS FOLLOWING THE YEAR ON THE DATA CARD. THCD )@@G@@E OPTION LETTER @F@@@@GOES IN COLUMN 11. THE LETTER 'N' IS USED IF NOCE )@@G@@ DESIGNS OR TITLES@F@@@@ARE DESIRED, WHILE A BLANK IN COLUMN 11 MEANS THCF )@@G@@AT A DESIGN IS @F@@@@WANTED, BUT NO TITLES ARE TO BE PRINTED. THE LECG )@@G@@TTER 'T' ENABLES @A@@@@BOTH THE DESIGN AND TITLE ROUTINES. @[@@@@ CH )@@G@@@ @@@@ EXAMPLE: 00/00/1972T @[@@@@ @E@@@@THIS WOULD PRODUCECI )@@G@@ MONTHLY CALENDARS FOR THE YEAR 1972, @B@@@@COMPLETE WITH RANDOM PICCJ )@@G@@TURES AND TITLES. @[@@@@ @G@@@@ NOTE - THE SLASHES SHOWN IN THE EXCK )@@G@@AMPLES ABOVE ARE OPTIONAL. ANY @E@@@@ CHARACTER, INCLUDING CL )@@G@@THE BLANK, MAY BE SUBSTITUTED.@[@@@@ @F@@@@AS AN ADDITIONAL FEATURECM )@@G@@, PERSONALIZED MESSAGES MAY BE DISPLAYED @F@@@@ON MONTHLY OR YEARLY CALCN )@@G@@ENDARS BY ADDING ANOTHER FIELD TO THE DATA@G@@@@CARD. TYPE 'DUFF' IN COCO )@@G@@LUMNS 12-15, AND THEN THE NUMBER OF LINES IN @F@@@@YOUR MESSAGE (UP TCP )@@G@@O 5) IN COLUMN 16. EACH LINE OF THE MESSAGE MAY@F@@@@BE UP TO 30 CHARACCQ )@@G@@TERS LONG, TYPED ON SEPARATE CARDS IMMEDIATELY @E@@@@FOLLOWING THE CALECR )@@G@@NDAR DATA CARD. CENTERING OF THE MESSAGE @A@@@@WITHIN THE 30 SPACES IS CS )@@G@@SUGGESTED. @[@@@@ @^@@@@ EXAMPLE: 1 @CAL @A@@@@ CT )@@G@@ 2 01/00/1975NDUFF2 @B@@@@ 3 COMPLIMENTS OF CU )@@G@@@B@@@@ 4 UHMC COMPUTER CENTER @[@@@@ @F@@@@FROM DCV )@@G@@EMAND TERMINALS, HOLIDAYS, MESSAGE, PICTURES, AND TITLES @F@@@@WILL BCW )@@G@@E IGNORED, AND A SMALLER CALENDAR WILL BE PRINTED. THIS @F@@@@AUTOMACX )@@G@@TIC FEATURE MAY BE OVERRIDDEN BY TWO MORE OPTION LETTERS @F@@@@PUT INCY )@@G@@ COLUMN 11 OF ANY DATA CARD EXCEPT THOSE FOR HOLIDAYS AND @F@@@@MESSAGCZ )@@G@@ES. THE LETTER 'D' SWITCHES THE PROGRAM TO 'DEMAND' MODE, @E@@@@WHILE DA )@@G@@'B' SWITCHES IT TO 'BATCH' MODE. WHEN USING THE @CAL @G@@@@PROCESSOR FRDB )@@G@@OM A TELETYPE, THE 'B' OPTION SHOULD ONLY BE USED IF YOU @F@@@@ARE BRDC )@@G@@EAKPOINTING THE PRINTOUT TO A FILE FOR SUBSEQUENT SYMMING @#@@@@TO A PDD )@@G@@RINTER. @[@@@@ ___ULAR CHARACTER, BUT IS PRINTED AS A SPACE, THDE )@@G@@US ALLOWING MORE @F@@@@THAN ONE WORD PER LINE FPR THE HOLIDAY (NORMALLYDF )@@G@@*[@@@@*SDFF*@E@@@@ @COND SIMPLY PRINTS THE CURRENT VALUE OF THE CONDITIODG )@@G@@N WORD@C@@@@ IN OCTAL. THE PROCESSOR CALL IS JUST @COND. ___ETJEK)CT[DH )@@G@@D-G^[DES)DLPETO^[@CTJD1^*[@@@@*SDFF*@E@@@@LOOKEQ IS A FORTRAN SUBROUTINEDI )@@G@@ ENABLING FORTRAN PROGRAMS TO @G@@@@SEARCH TABLES USING THE HIGH SPPED SDJ )@@G@@EARCH FUNCTION OF THE UNIVAC 1108. @D@@@@FOR DETAILS, SEE THE LONG VERSDK )@@G@@ION OF THIS LISTING. @[@@@@******@[@@@@ @^@@@@THE LOOKEQ CALL ISDL )@@G@@: @[@@@@ @A@@@@ I=LOOKEQ(ARG,TAB,LEN,MASK) @[@@@@ DM )@@G@@@F@@@@ ARG IS THE ITEM BEING SEARCHED FOR, E.G. IF YOU ARE SEARCHINGDN )@@G@@@F@@@@ FOR THE FIRST OCCURENCE OF THE NUMBER 3.25279841, THEN YOU WOULD DO )@@G@@@ @@@@ SET ARG EQUAL TO 3.25279841. @B@@@@ TAB IS THE TABLE TO BE SEDP )@@G@@ARCHED. @A@@@@ LEN IS THE LENGTH OF THE TABLE.@F@@@@ I WILL DQ )@@G@@BE SET EQUAL TO THE INDEX INTO THE TABLE WHERE THE @F@@@@ CONTENTS OFDR )@@G@@ ARG WERE FOUND. IF THERE WAS NO FIND, I WILL BE SET @]@@@@ TO ZERO. DS )@@G@@@F@@@@ MASK, IF SET NONZERO, WILL CAUSE THE SEARCH TO BE A MASKED DT )@@G@@@F@@@@ SEARCH. THAT IS, IF THE MASK HAS THE VALUE 077770000 OCTAL, THE DU )@@G@@@E@@@@ SEARCH WILL CONSIDER ONLY THE MIDDLE THIRD OF EACH WORD. @[@@@@DV )@@G@@ @]@@@@ EXAMPLE: @[@@@@ @ @@@@ DIMENSION LIST(35) DW )@@G@@@ @@@@ LIST(12)='KEPOOT' @C@@@@ I=LOOKEQ('CAHOOT',LISDX )@@G@@T,35,0777777) @[@@@@ @F@@@@ THIS WILL SEARCH THE 35 WORDS ODY )@@G@@F THE ARRAY LIST, LOOKING FOR @F@@@@ THR FIRST WORD WHOSE BOTTOM HALF ISDZ )@@G@@ THE SAME AS THE BOTTOM HALF @F@@@@ OF 'CAHOOT'. IT WILL RETURN A VALUEEA )@@G@@ 12, BECAUSE THE BOTTOM HALF @F@@@@ OF LIST(12)='OOT', THE SAME AS THE EB )@@G@@BOTTOM HALF OF THE ARGUMENT. @[@@@@ @]@@@@ NOTES: @[@@@@ EC )@@G@@@E@@@@ THE RESULT WILL BE MOST USEFUL IF THE TABLE IS A ONE- @F@@@@ED )@@G@@ DIMENSIONED ARRAY, BECAUSE IN THAT CASE THE VALUE OF I MAY BE @^@@@@EE )@@G@@ USED AS A SUBSCRIPT. @D@@@@ IF MASKING IS NOT DESIRED, SPECIFY O EF )@@G@@AS THE MASK.@F@@@@ USERS OF THE @MAD COMPILER WILL NOT NEED THIS ROUEG )@@G@@TINE, BUT @F@@@@ MAY INSTEAD USE THE .FIND. AND .SEARCH. FUNCTIONS OF EH )@@G@@THE MAD @]@@@@ COMPILER. ___ET ^[OD[ ^[]D9OE-JD*)D[[D-A@K@@@@^[JC0)EI )@@G@@D-DETO @1AK(B*$D9JE)$ ))E-CC*)ET[D( ^[[ES)E-CC*)CLJE-OD9H^[CCDGC0)D9A^[OEJ )@@G@@D[ ^[[ELBE(HC(IE),@[@@@@*[@@@@*SDFF*@G@@@@TDUMP IS A UTILITY TAPE-DUMPINEK )@@G@@G ROUTINE. DETAILS THE THE LONG VERSION @#@@@@OF THIS ITEM. @[@@@@EL )@@G@@******@[@@@@ @ @@@@ TAPE DUMP ROUTINE @A@@@@ WILEM )@@G@@L DUMP ANY 7-TRACK TAPE @D@@@@ RECORDS MUST BE < 2000WORDS (SEE EN )@@G@@'G' OPTION) @[@@@@ @B@@@@ @TDUMP,OPTIONS FILENAME.,N EO )@@G@@@[@@@@ @B@@@@ N IS # OF FILES TO DUMP (<9) @[@@@@ EP )@@G@@@#@@@@ OPTIONS ARE: @[@@@@ @^@@@@ O FOR OCTAL @ @@@@EQ )@@G@@ F FOR FLOATING POINT@B@@@@ A FOR ALPHANUMERIC (FIELDAER )@@G@@TA) @^@@@@ I FOR INTEGER @B@@@@ B PICK UP USER-SUPPLES )@@G@@IED FORMAT @D@@@@ G FOR 2K MORE BUFFER (TOTAL=4K RECORDS) ET )@@G@@@C@@@@ C FOR SELECTIVE DUMPING (SEE BELOW) @B@@@@ T EU )@@G@@FOR TRANSLATE (BCD-FIELDATA) @C@@@@ N TO SUPPRESS PRINTING OF EV )@@G@@RECORD COUNT@D@@@@ R TO REWIND TAPE WHEN DONE (@REWIND WON'T) EW )@@G@@@C@@@@ S TO RECOGNIZE SOFTWARE (SDF) EOF @D@@@@ EX )@@G@@ (IE,77K IN S1 OF FIRST WORD OF RECORD) @C@@@@ X FOR PARTIAL EY )@@G@@DUMP - (10 RECORDS) @E@@@@ Z TO PRINT EVEN THOUGH UNRECOVEREZ )@@G@@ABLE PARITY ERRORS@[@@@@ @B@@@@ FILENAME MUST END WITH A PERIODFA )@@G@@ (.) @E@@@@ TAPE SHOULD BE @ASG'D WITH PROPER DENSITY IF KNOWN. FB )@@G@@@B@@@@ SELECTIVE DUMPING WITH 'C' OPTION: @#@@@@ COMMANDS FC )@@G@@@ @@@@ COMMAND FORM - COMMAND/N @ @@@@ ALLOWABLE COMMANDS ARE FD )@@G@@@[@@@@ @D@@@@ DUMPA - DUMP N RECORDS IN ALPHANUMERIC FORMAT FE )@@G@@@C@@@@ DUMPO - DUMP N RECORDS IN OCTAL FORMAT @ @@@@ SKIPFFF )@@G@@ - SKIP N FILES @C@@@@ SKIPR - SKIP N RECORDS (STOPS AT EOR) FG )@@G@@@A@@@@ BSF - BACKSPACE N RECORDS @A@@@@ BSR - BACKSPACEFH )@@G@@ N RECORDS @B@@@@ (EOR COUNTS AS A RECORD) @[@@@@ FI )@@G@@@D@@@@ PROCESSOR CALL CARD FORMAT FOR SELECTIVE DUMPING:@[@@@@ FJ )@@G@@@E@@@@ @TDUMP,C FILENAME.,DUMPA/100,BSR/15,DUMPO/30,SKIPF/2 @[@@@@FK )@@G@@ @ @@@@ DUMPA & DUMPO STOP AT EOF@C@@@@ T.N.S & Z OPTIONS AFL )@@G@@LLOWED WITH C OPTION @E@@@@ UP TO 30 COMMANDS ALLOWED, FOLLOW EXEFM )@@G@@C CONVENTIONS @B@@@@ FOR CONTINUATION OF CONTROL CARDS @[@@@@FN )@@G@@ @F@@@@ NOTE: NO FUR/PUR ROUTINES WILL WORK AFTER A TAPE HAS BEEN FO )@@G@@USED @D@@@@ BY TDUMP UNLESS IT IS FIRST @FREE'ED AND THEN @ASG'ED@D@@@@FP )@@G@@ IF THERE ARE ANY PROBLEMS, SEE THE PEOPLE IN 26A ___D9MC-N^@)@E@@@@FQ )@@G@@*[@@@@*SDFF*@F@@@@ @TRANSLATE IS A PROCESSOR SUPPORTED BY UHMC WHICH PROFR )@@G@@DUCES SOURCE@G@@@@IMAGES COMPATIBLE WITH THE UNIVAC 1108 SYSTEM FORMAT, FS )@@G@@BY TRANSLATING @G@@@@^[?HD!HD4^[\I(4I[5I),^@):@@@KU@@@@@@:@@@K=@D@@@@FT )@@G@@^@)C[[ETB -OFTEF*)I--I[>H1-H(> -PBC\ 8\ 8\ 9L -2G(>H)<:@@@K,@B@@@@^@)C[PFU )@@G@@ET ^@)^@)^@)DDIC1DD- -4GD0G(,GD!G*):@@@K8@B@@@@^@)C[NETB -G^@)^@)D1 E8%FV )@@G@@E- ETO 1#E1OJ[8J@):@@@L]@]@@@@^@)ETBES)^@):@@@LG@D@@@@^@)DDI^@)E-[E[ ^@)FW )@@G@@CLGD9#DS?GC)^[GCD]C(G -+^@)EL CS?GS):@@@LQ@F@@@@^@)D9PE))E[MDDIE))^[MC(#FX )@@G@@ -<^@)D-[CL D)?D9HDDOE- C))^[GDDHDDO -=^@):@@@L)@]@@@@^@)C[ D9A^@):@@@L%FY )@@G@@@]@@@@^@)C[ D9A^@):@@@L4@ @@@@^@)C[AEL C*)^@)^@)I--I[>H1-H(>:@@@L"@@@@@@FZ )@@G@@:@@@MC@A@@@@AD^DDNDS)C-[E-[^[ADDGC*)E-J^[OCDKC*):@@@MM@H@@@@^[OH[>^[&H9?GA )@@G@@H-\I9(H1$^[2I(,IT4IL>GD!^[3H[\I(?G))GL>^[5IT>G))I-\^[$H8)G12H9!^@):@@@MWGB )@@G@@@^@@@@^[=HD3HS)I-\^[4GD0G*,^@):@@@M&@@@@@@:@@@M0@ @@@@^@)C[[ETB -[^@)^@)GC )@@G@@G1(H->H1-H(>:@@@M'@B@@@@^@)C[PET ^@)^@)^@)DDIC1DD- -&HD?G(,GD!G*):@@@N^GD )@@G@@@D@@@@^@)C[[ETB -OFTEF*)I--I[>H1-H(> -PBC\ 8\ 8\ 9L -2G(>H)<:@@@NI@B@@@@GE )@@G@@^@)C[PET ^@)^@)^@)D9PE-ADDGC*?I--I[>H1-H(>:@@@NS@B@@@@^@)C[NETB -G^@)^@)GF )@@G@@D1 E8%E- ETO 1#E1OJ[8J@):@@@N+@]@@@@^@)ETBES)^@):@@@N?@^@@@@^@)DDI^[^DDNGG )@@G@@CS)^[MC(# -<:@@@N6@D@@@@^@)D9PE))^[OCDKC*)^[]D-JCTF --^@)D-[CL D)?GK)^[MGH )@@G@@C(# -<:@@@O@@]@@@@^@)C[ D9A^@):@@@OE@]@@@@^@)C[ D9A^@):@@@OO@ @@@@^@)C[AGI )@@G@@EL C*)^@)^@)I--I[>H1-H(>:@@@OY@ @@@@^@)C[AEL C*)^@)^@)G1(H->H1-H(>:@@@O*GJ )@@G@@@@@@@@:@@@O2@K@@@@^[DG0)HD4^[(IS)G->IT(IL>G))I-\^[0I(4^[!I(?I-(I[?G*)G1(GK )@@G@@H->IS)I9*HD^[4H[>^[3GD!G*):@@@O/@J@@@@^[+H-\GT:^[3HD'G*?GL )@@G@@^[2G( ))GD,G))H--GL>H))IT4GD4I(3^[\H0)H9,G*)I--I[> ))I-*G*)GM )@@G@@:@@@PA@H@@@@^[3G(1I(>H1^[4I9\^[@C(JC13 C)GN )@@G@@I9\I(?G))GL>BK)^@):@@@PK@@@@@@:@@@PU@]@@@@^@)C[ D9A^@):@@@P=@]@@@@^@)C[ GO )@@G@@D9A^@):@@@P,@ @@@@^@)C[AEL C*)^@)^@)G1(H->H1-H(>:@@@P8@A@@@@^@)C[[ETB -[GP )@@G@@^@)^@)G1(H->H1-H(>AK)^@):@@@Q]@B@@@@^@)C[PET ^@)^@)^@)DDIC1DD- -&HD?G(,GQ )@@G@@GD!G*2:@@@QG@ @@@@^@)C[SEDO^@)^@)^@)CTQE-8J[8^@):@@@QQ@A@@@@^@)C[AEL C*)GR )@@G@@^@)^@)G1(H->H1-H(>AK)^@):@@@Q)@A@@@@^@)C[[ETB -[^@)^@)G1(H->H1-H(>AS)^@)GS )@@G@@:@@@Q%@B@@@@^@)C[PET ^@)^@)^@)DDIC1DD- -&HD?G(,GD!G*3:@@@Q4@ @@@@^@)C[SGT )@@G@@EDO^@)^@)^@)CTQE-8J[8^@):@@@Q"@A@@@@^@)C[AEL C*)^@)^@)G1(H->H1-H(>AS)^@)GU )@@G@@:@@@RC@^@@@@^@)^[>I-< 0?^[5H14HD?^@):@@@RM@ @@@@^@)C[AEL C*)^@)^@)I--I[>GV )@@G@@H1-H(>:@@@RW@@@@@@:@@@R&@A@@@@AD^DDNDS)C(GC(HC(IE)*ES(^[OD8)E-[E[ :@@@R0GW )@@G@@@J@@@@^[OH[>^[&H9?H-\I9(H1$^[2I(,IT4IL>GD!^[3H[\I(?G))GL>^[5IT>G))I-\^[0GX )@@G@@I(4^[-H0)G(?G(!G(,I))^@):@@@R'@F@@@@^[\IK)G(?G(!G(,I-3^[&IL\H*)GC)I[2H9$GY )@@G@@IL-H*)G1(H->^[\H0)I-\^[4GD0G*,:@@@S^@@@@@@:@@@SI@I@@@@^@)^@% K% K)D1JE- GZ )@@G@@BK)^[^H8)H1\I))I(3G*)G(?G(!G(,I-3^[7H[(GT*^[*GD6G*)C@)IT(G9,IS)^@):@@@SSHA )@@G@@@H@@@@^@)^@)^@)^@)HD,^[^[\G0)GD,^[@^[3HB )@@G@@HD$H0)I9(H-?:@@@S+@H@@@@^@)^@)^@)^@)I->IL!HD,GD4G*)CTQE)?^[-H1=^[4H[>^[\HC )@@G@@I[>IL-I-(H1$^[3JD3I->H*)I9(H-?:@@@S?@I@@@@^@)^@)^@)^@)GD4I->H(0I))I-\^[0HD )@@G@@IL\GT>IT3^[4H[>^[(H(-G9>^[-IS)GD,^[ CTG^[^[4H[>^[@^[3HD$H13^[4H8)IT\H(>^[\I-*G(2^[G1\IL>^[3I--IL4HD,G8)CTQE),:@@@TE@@@@@@:@@@TOHG )@@G@@@ @@@@^@)C[[ETB -[^@)^@)G1(H->H1-H(>:@@@TY@D@@@@^@)C[[ETB -OFTEF*)I--I[>HH )@@G@@H1-H(> -PBC\ 8\ 8\ 9L -2G(>H)<:@@@T*@B@@@@^@)C[PET ^@)^@)^@)D9PE-ADDGC*?HI )@@G@@I--I[>H1-H(>:@@@T2@B@@@@^@)C[NETB -G^@)^@)D1 E8%E- ETO 1#E1OJ[8J@):@@@T/HJ )@@G@@@]@@@@^@)ETBES)^@):@@@UA@^@@@@^@)DDI^[#CDMC))^[MC(# -<:@@@UK@D@@@@^@)D9PHK )@@G@@E))^[OCDKC*)^[]D-JCTF --^@)D-[CL D)?GK)^[MC(# -<:@@@UU@]@@@@^@)C[ D9A^@)HL )@@G@@:@@@U=@]@@@@^@)C[ D9A^@):@@@U,@B@@@@^@)C[[C-^^@)^@)^@)G1(H->H1-H(> 1>H->HM )@@G@@H(>H14:@@@U8@J@@@@^@)^@)^@)GD=G-(I-(H9,GD?^[@CD^C))IT4GD4G(!G(,I-3^[(G0)HN )@@G@@G->IT(IL>G);^[4H[(IS)I9(H-?^[0I(4^@):@@@V]@F@@@@^@)^@)^@)I-*G*)G(?G(!G(,HO )@@G@@I-3^[4H9$G(4H[>IK)HD,^[\H1>^[4GD0G*)G1(H->:@@@VG@ @@@@^@)C[AEL C*)^@)^@)HP )@@G@@I--I[>H1-H(>:@@@VQ@ @@@@^@)C[AEL C*)^@)^@)G1(H->H1-H(>:@@@V)@@@@@@:@@@V%HQ )@@G@@@K@@@@^[DG0)HD4^[(IS)G->IT(IL>G))I-\^[!GD:G*)G(-GT*^[>H->H(>H14^[+G*)GC)HR )@@G@@IT>I[-IL-I->^[&HD?G*)H9,^[4H[>:@@@V4@K@@@@^[4GD0G*?^[4H[>H0)I-*G*)IT>ID5HS )@@G@@G(,GT>^@*IT4GD2I-(H1$^[7HD4H@)I-*G*)I-7H8)C[ D9AIS(^[7H95H-=^[+G*':@@@V"HT )@@G@@@]@@@@^@)C[ D9A^@):@@@WC@]@@@@^@)C[ D9A^@):@@@WM@B@@@@^@)C[[C-^^@)^@)^@)HU )@@G@@G1(H->H1-H(> 1>H->H(>H14:@@@WW@]@@@@^@)C[ D9A^@):@@@W&@ @@@@^@)C[SEDO^@)HV )@@G@@^@)^@)CTQE-8J[8^@):@@@W0@B@@@@^@)C[[C-^^@)^@)^@)G1(H->H1-H(> 1>H->H(>H14HW )@@G@@:@@@W'@]@@@@^@)C[ D9A^@):@@@X^@ @@@@^@)C[SEDO^@)^@)^@)CTQE-8J[8^@):@@@XIHX )@@G@@@^@@@@^@)^@)G(4GS, ))I(,I-(H)):@@@XS@ @@@@^@)C[AEL C*)^@)^@)I--I[>H1-H(>HY )@@G@@:@@@X+@ @@@@^@)C[AEL C*)^@)^@)G1(H->H1-H(>:@@@X?@@@@@@:@@@X6@K@@@@^[DH0)HZ )@@G@@G((I-*G(2^[^[&HD?G*)H92^[\IA )@@G@@H1>^[>H->H(>H14^@):@@@Y@@M@@@@^[0G(2^[&HD?G*(^[(I))HD3^[0H93IT(GL?G*)I-\IB )@@G@@^[*GD6G*)G(?G(!G(,I-3^[4GD:G(,^[&IL\H*)I1-IL(H95IS)I[2H9$IL-H*)^@):@@@YEIC )@@G@@@H@@@@^[&HD?G(3 ))I[2H96HD=HD,G8)I-*G(9^[-IL>^[-H-?^[-IT3HD$H1>G))I-\^[4ID )@@G@@H[>^[2I(, 0):@@@YO@@@@@@:@@@YY@]@@@@ADJE-CC(M^@):@@@Y*@J@@@@^[ J[(IT4HD,IE )@@G@@G8)G(?G(!G(,I-3^[7H[(GT*^[-IL>^[AHD>H-=GD4GC)GT-H0)GL>^[IL4G(=^[4IF )@@G@@H8)^@):@@@Y2@G@@@@^[[ET#DDD^[+JC)I-*G*)G1\H-?H97HD,G8)IT>ID5G(,GT>^[\G0)IG )@@G@@GT\H(!GD,G-3BK)^@):@@@Y/@@@@@@:@@@ZA@A@@@@^@)^@)^[@CDNC8?CC)^@)G1(H->H1-IH )@@G@@H(>^@):@@@ZK@C@@@@^@)^@)^[@C(^ -PEC)^@)G1(H->H1-H(> 1>H->H(>H14^@):@@@ZUII )@@G@@@#@@@@^@)^@)^[ F[DE))^@):@@@Z=@A@@@@^@)^@)^[@C1MC( ^@)^@)G1(H->H1-H(>^@)IJ )@@G@@:@@@Z,@@@@@@:@@@Z8@K@@@@^[ J[(IT4HD,G8)ET^C0)G--I--^[&HD?G(3^[7H[(GT*^[-IK )@@G@@IL>^[AHD>H-=GD4GC)GT-H0)GL>^[IL4G(=^[4H8):@@@)]@J@@@@^[[ET#DDD^[+IL )@@G@@JC)I-*G*)G1\H-?H97HD,G8)IT>ID5G(,GT>^[\G0)GT\H(!GD,G-3^@*I[2H96HD=HD,G8)IM )@@G@@I-*GD4:@@@)G@G@@@@^[2G(^[,H94^[?H9,G9>IK)I-*GD,^@1AS2^[H1-IO )@@G@@H(>^@):@@@)%@A@@@@^@)^@)^[@C(^ -PEC)^@)G1(H->H1-H(> 0):@@@)4@#@@@@^@)^@)IP )@@G@@^[ F[DE))^@):@@@)"@A@@@@^@)^@)^[@C1MC( ^@)^@)G1(H->H1-H(>^@)_@@@@@ IQ )@@G@@ @@@[[@[[000891275P 3039900 IR )@@G@@ *[@@@[*SDFF*:@@@[=@B@@@@^@)^@)^@)HD!I[?HDGC):@@@[8@I@@@@GS)^@)^@)I->IL!HD,GD?^[&HD?G*)H[-IS)AK0A@)IU )@@G@@IT>GT4H92IS) @5A00A@)I9\IL=IS(^[0G(2^[0HD=:@@@]]@H@@@@GS)^@)^@)ITGT4H92^@1BC0:@@@]G@B@@@@IW )@@G@@^@)^@)^@)I[-IL-H(>I->IK)HD2G(IX )@@G@@I->IK)G1(H-,I(!B*1A04^@):@@@])@[@@@@GS)^@):@@@]%@D@@@@GS)^@)^@)H->GD6G*)IY )@@G@@I-*G(3G*)I[-IL-H(>I->IL3^[-H-\H1>^@):@@@]4@C@@@@^@)^@)^@)I[-IL-H(>I->IK)IZ )@@G@@HD+I(&IT'B((IL>GT3JK:AS):@@@]"@B@@@@^@)^@)^@)I[-IL-H(>I->IK)IL=B*7 K2 K%JA )@@G@@AC8 S1:@@@#C@B@@@@^@)^@)^@)I[-IL-H(>I->IK)IL?B*7 K2 K%AC8 S2:@@@#M@B@@@@JB )@@G@@^@)^@)^@)I[-IL-H(>I->IK)I92B*7 K2 K%AC8 S4:@@@#W@B@@@@^@)^@)^@)I[-IL-H(>JC )@@G@@I->IK)I(,B*3 K2 K%AC8 S5:@@@#&@C@@@@^@)^@)^@)I[-IL-H(>I->IK)I97B*7 K2 K%JD )@@G@@AC8 S2A*)^@):@@@#0@C@@@@^@)^@)^@)I[-IL-H(>I->IK)I9?B*7 K2 K%AC8 S2A0)^@)JE )@@G@@:@@@#'@C@@@@^@)^@)^@)I[-IL-H(>I->IK)H-:B*7 K2 K%AC8 S3A))^@):@@@^^@C@@@@JF )@@G@@^@)^@)^@)I[-IL-H(>I->IK)G1?B*4 K2 K%AC8 S3A*)^@):@@@^I@C@@@@^@)^@)^@)I[-JG )@@G@@IL-H(>I->IK)G12B*4 K2 K%AC8 S3A0)^@):@@@^S@A@@@@^@)^@)^@)I[-IL-H(>I->IK)JH )@@G@@G1B*1:@@@^+@[@@@@GS)^@):@@@^?@B@@@@^@)^@)^@)HD,I->G9>IK)I-(I[+I(&JI )@@G@@ [(GL5G13JK(:@@@^6@C@@@@^@)^@)^@)GT*GD2GDIK%A))I-(I[2G(< [(IL>GT3JK(JJ )@@G@@:@@@ @@E@@@@^@)^@)^@)G(1I((I1-H->H1GS*AC( C)JK )@@G@@:@@@ E@[@@@@GS)^@):@@@ O@ @@@@^@)^@)^@)I92HD4G**A0?AC0 C)^@):@@@ Y@E@@@@JL )@@G@@^@)^@1A@)G1\IL!GD4 @$A[ H14G(2^[KDD^^[,I(!GL>IK$ 8$^[SF[S^8(:@@@ *@A@@@@JM )@@G@@^@)^@)^@)IL>GD= @5 )1A*(^[0HD=H15H*):@@@ 2@^@@@@^@)^@1A*)G1\IL!GD4 [(AS(JN )@@G@@:@@@ /@E@@@@GS)^@)^@)I-5IL,^[0HD=^[,I(!GL>IK)HD,I-\^[2G(GT,I(!B**I[(G-,I(! *1 C%AK0A@:AC)^@):@@@AK@[@@@@JP )@@G@@GS)^@):@@@AU@ @@@@GS)^@)^@)GT\H1,G(GD=^[4JR )@@G@@G(2H((H1-H))G1(H->:@@@B]@K@@@@^@)^@)^@)GT-H-?^[>3IS*IL= ->=H9,G*?I-(JS )@@G@@I[+I(& -&HD?H15H*?HD2G(IL2H92^@):@@@BQ@C@@@@^@)^@)^@)HD&^@*I-(I[+I(&JU )@@G@@ @1 C,H-4 00 C)I-*G(,^@):@@@B)@A@@@@^@)^@)^@)^@)^@)I92HD4G**A0?A)0 C)^@)JV )@@G@@:@@@B%@E@@@@^@)^@4A@)^@)^@)G1\IL!GD4 @$A[ACTNES)C(2IL\IK)H9,^[MC)$ C)^@)JW )@@G@@:@@@B4@F@@@@^@)^@)^@)^@)^@)GT-H-?^[=I(!I@) [4HD0GL5G0*AC( -4HD0GL5G0*AS(JX )@@G@@ )0 C):@@@B"@^@@@@^@)^@)^@)^@)^@)IT4H90^@):@@@CC@#@@@@^@)^@)^@)G(,G))HD&JY )@@G@@:@@@CM@[@@@@GS)^@):@@@CW@C@@@@GS)^@)^@)G9>I))H15H(+G(2^[\G0)H90G(,^[3GT2JZ )@@G@@G(>H0):@@@C&@B@@@@^@)^@)^@)I92HD4G**A0?A*0 C)I-(I[2G(< @4 C):@@@C0@D@@@@KA )@@G@@^@)^@5A@)G1\IL!GD4^@*^8)D90G(,^[NGT2G(>H0)HD3^@$ --A)(:@@@C'@[@@@@GS)^@)KB )@@G@@:@@@D^@#@@@@^@)^@)^@)HS.A*3A@6:@@@DI@ @@@@^@)^@)^@)G-\^@1A@0^[(B*1 )8^@)KC )@@G@@:@@@DS@#@@@@^@)^@)^@)H).HS:AC3:@@@D+@D@@@@^@)^@)^@)I92HD4G**A0?A05 C) [4KD )@@G@@HD0IL>GS*HK( -%B(: -? C):@@@D?@A@@@@^@)^@6A*)G1\IL!GD4 @$^@$ )1A--A)(^@)KE )@@G@@:@@@D6@#@@@@^@)^@)^@)HS.HS:AC4:@@@E@@^@@@@^@)AC0A@)GT\H14HD,I(>^@):@@@EEKF )@@G@@@[@@@@GS)^@):@@@EO@ @@@@^@)^@)^@)I92HD4G**A0?AC8A@(^@):@@@EY@B@@@@^@)AC8KG )@@G@@A@)G1\IL!GD4 @$A[ H1=^[\G0)C-5H(0^8(:@@@E*@ @@@@^@)^@)^@)GT-H-?^[=HD3GT\KH )@@G@@H0)^@):@@@E2@#@@@@^@)^@)^@)IT4H90^@):@@@E/@#@@@@^@)^@)^@)G(,G))^@)_@@@@@KI )@@G@@C*)^@%CT[D-G^[#E-N (#D9HD([D1^ES)^@)G#@___@@@@@@@@@@@@@^_A[%65 IF SYSSETKJ )@@G@@UP<>'N' K[^@@@@[[R@#@A[A[^ SYSSETUP WOULD Y*[@@@[*SDFF*:@@@[=@B@@@@KK )@@G@@^@)^@)^@)HD!I[?HDGT\IL=IS)G12H9!^[(IT4GD2I))I-\^[(IT4H90^[7HD4H@)GD3GT(HC)JL>IL\G(3^@)KN )@@G@@:@@@]]@[@@@@GS)^@):@@@]G@F@@@@GS)^@)^@)H(-J@)I[\IT3HD+H->^[2G(^[(IS)A)0A@0^[7H92G-3:@@@]Q@B@@@@^@)^@)^@)I[-IL-H(>I->IK)H(-J[2IT'B*4KP )@@G@@A@0A@):@@@])@[@@@@GS)^@):@@@]%@D@@@@GS)^@)^@)H->GD6G*)I-*G(3G*)I[-IL-H(>KQ )@@G@@I->IL3^[-H-\H1>^@):@@@]4@C@@@@^@)^@)^@)I[-IL-H(>I->IK)H(+I(&IT'B(!GD8IL3KR )@@G@@JK:AS):@@@]"@B@@@@^@)^@)^@)I[-IL-H(>I->IK)IL=B*7 K2 K%AC8 S1:@@@#C@B@@@@KS )@@G@@^@)^@)^@)I[-IL-H(>I->IK)IL?B*7 K2 K%AC8 S2:@@@#M@B@@@@^@)^@)^@)I[-IL-H(>KT )@@G@@I->IK)I92B*7 K2 K%AC8 S4:@@@#W@B@@@@^@)^@)^@)I[-IL-H(>I->IK)I(,B*3 K2 K%KU )@@G@@AC8 S5:@@@#&@C@@@@^@)^@)^@)I[-IL-H(>I->IK)I97B*7 K2 K%AC8 S2A*)^@):@@@#0KV )@@G@@@C@@@@^@)^@)^@)I[-IL-H(>I->IK)I9?B*7 K2 K%AC8 S2A0)^@):@@@#'@C@@@@^@)^@)KW )@@G@@^@)I[-IL-H(>I->IK)H-:B*7 K2 K%AC8 S3A))^@):@@@^^@C@@@@^@)^@)^@)I[-IL-H(>KX )@@G@@I->IK)G1?B*4 K2 K%AC8 S3A*)^@):@@@^I@C@@@@^@)^@)^@)I[-IL-H(>I->IK)G12B*4KY )@@G@@ K2 K%AC8 S3A0)^@):@@@^S@A@@@@^@)^@)^@)I[-IL-H(>I->IK)G1B*1:@@@^+KZ )@@G@@@[@@@@GS)^@):@@@^?@B@@@@^@)^@)^@)HD,I->G9>IK)I-(I[+I(& [!GL5G13JK(:@@@^6LA )@@G@@@C@@@@^@)^@)^@)GT*GD2GDIK%A))I-(I[2G(< [!GD8IL3JK(:@@@ @@D@@@@^@)^@)LB )@@G@@^@)G(1I((I1-H->H1GS?I-(I[+I(& @4 C(:@@@ O@A@@@@^@)^@)^@)GT*LC )@@G@@GD2GDIK%AC)GD,IT7G(2:@@@ Y@E@@@@^@)^@)^@)GT*GD2GDIK%AC)^[9G(3AC\LD )@@G@@^9T^8\ -9G(3AK\^99^8\^@):@@@ <@C@@@@^@)^@)^@)G--I--^[4HD0IL>GS\H(-J[2IT'LE )@@G@@ K$A@0A@0^8\:@@@ *@[@@@@GS)^@):@@@ 2@ @@@@^@)^@)^@)I92HD4G**A0?AC0 C)^@)LF )@@G@@:@@@ /@G@@@@^@)^@1A@)G1\IL!GD4 @$A[ H14G(2^[ODDK^[&HD?G*)H15H(+G(2^8\^8)LG )@@G@@F[SF[S^8(^@):@@@AA@A@@@@^@)^@)^@)IL>GD= @5 )1A*(^[&HD?H15H*):@@@AK@^@@@@LH )@@G@@^@)^@1A*)G1\IL!GD4 [(A)(:@@@AU@ @@@@^@)^@)^@)I92HD4G**A0?AK0 C)^@):@@@A=LI )@@G@@@H@@@@^@)^@2A@)G1\IL!GD4 @$A[ H14G(2^[2G(^[(H0)I9\IL=IS$ 8$LJ )@@G@@^[SF[SF@$ C):@@@A,@A@@@@^@)^@)^@)IL>GD= @5 )1A*(^[(IL>GT3JK):@@@A8@C@@@@LK )@@G@@^@)^@)^@)HD& [(IL>GT3JK,G94 1!GD8IL3JK(^[4H[>H0):@@@B]@A@@@@^@)^@)^@)^@)LL )@@G@@^@)I92HD4G**A0?AK2 C)^@):@@@BG@G@@@@^@)^@2AK)^@)^@)G1\IL!GD4 @$^[2G(^8(:@@@BQ@^@@@@^@)^@)^@)^@)^@)IT4H90^@)LN )@@G@@:@@@B)@#@@@@^@)^@)^@)G(,G))HD&:@@@B%@A@@@@^@)^@)^@)HD+I(&IT'B((IL>GT3JK:LO )@@G@@AS)^@):@@@B4@[@@@@GS)^@):@@@B"@ @@@@^@)^@)^@)I92HD4G**A0?AK5 C)^@):@@@CCLP )@@G@@@I@@@@^@)^@2A*)G1\IL!GD4 @$A[ H14G(2^[3I--IL4HD,G8)IL>GT\IL=^[,I(!GL>IK$LQ )@@G@@ 8$^[SF[SF[S^8(^@):@@@CM@A@@@@^@)^@)^@)IL>GD= @5 )3A@(^[(IT4GD2I)):@@@CWLR )@@G@@@^@@@@^@)^@3A@)G1\IL!GD4 [(A*(:@@@C&@ @@@@^@)^@)^@)I92HD4G**A0?AS5 C)^@)LS )@@G@@:@@@C0@H@@@@^@)^@3A*)G1\IL!GD4 @$A[ H14G(2^[>H1=HD,G8)IL>GT\IL=^[,I(!GL>LT )@@G@@IK$ 8$^[SF[SF[S^8(:@@@C'@A@@@@^@)^@)^@)IL>GD= @5 )3A@(^[(IT4H90^@):@@@D^LU )@@G@@@[@@@@GS)^@):@@@DI@E@@@@GS)^@)^@)IT>G*)HD&^[4H[>JC)IL>GD?H-9^[7GD,I))I-\LV )@@G@@^[=H8)HD4^@):@@@DS@A@@@@^@)^@)^@)I92HD4G**A0?A)0 C)G1(H-,I(!:@@@D+@I@@@@LW )@@G@@^@)^@4A@)G1\IL!GD4 @$A[AHD?G*)^8?HC3 )$^[4H8)GL>^[(H1(I-(GD?HD'G(=B8)FC)LX )@@G@@H92^[I^8(^@):@@@D?@A@@@@^@)^@)^@)IL>GD= @5 )4A*(^[-H13I9>IK):@@@D6@^@@@@LY )@@G@@^@)^@4A*)G1\IL!GD4 [-AC(:@@@E@@H@@@@^@)^@)^@)HD& [-H13I9>IK,G(1 19G(3AC,LZ )@@G@@H92 1-H13I9>IK,G(1 19G(3AK(^[$H8)I-\^@5A@):@@@EE@ @@@@^@)^@)^@)I92HD4G**MA )@@G@@A0?A)7 C)^@):@@@EO@ @@@@^@)^@4A8)G1\IL!GD4 @$^[]JD>^8(:@@@EY@#@@@@^@)^@)MB )@@G@@^@)IT4H90^@):@@@E*@[@@@@GS)^@):@@@E2@ @@@@GS)^@)^@)GT\H1,G(^@):@@@FU@I@@@@ME )@@G@@^@)^@)^@)GT-H-?^[>3IS*G12 ->=H9,G*?I-(I[+I(& -&HD?H15H*?HD2G(IL2H92^@):@@@F,MG )@@G@@@D@@@@^@)^@)^@)HD&^@*I-(I[+I(& @1 C,G9> 00 C)G9\^[4H8)A00^@):@@@F8@ @@@@MH )@@G@@^@)^@)^@)I92HD4G**A0?A*5 C)^@):@@@G]@D@@@@^@)^@5A*)G1\IL!GD4 @$A[ACTNES)MI )@@G@@C(2IL\IK)H9,^[AEK$ C)^@):@@@GG@E@@@@^@)^@)^@)GT-H-?^[=I(!I@) [4HD0GL5G0*MJ )@@G@@AC( -4HD0GL5G0*AS( )0 C):@@@GQ@#@@@@^@)^@)^@)IT4H90^@):@@@G)@[@@@@GS)^@)MK )@@G@@:@@@G%@B@@@@^@)^@6A@)G-\^@1A@0^[(B((IT4GD2I)?HD3I-\I@):@@@G4@I@@@@^@)^@)ML )@@G@@^@)GT-H-?^[>3IS*I97 ->=H9,G*?I-(I[+I(& -&HD?H15H*?HD2G(IL2H92^@):@@@HC@D@@@@MN )@@G@@^@)^@)^@)HD&^@*I-(I[+I(& @1 C,G9> 00 C)G9\^[4H8)AC0A@):@@@HM@ @@@@^@)^@)MO )@@G@@^@)I92HD4G**A0?A80 C)HC):@@@HW@G@@@@^@)^@7A@)G1\IL!GD4 @$A[ACTNES)C(2IL\MP )@@G@@IK)H9,^[RE8)H9&^[2G(^@):@@@I^@[@@@@GS)^@):@@@II@A@@@@GS)^@)^@)I(,MS )@@G@@H-\GT:^[4H[>^[&HD?G*)^@):@@@IS@I@@@@^@)^@)^@)GT-H-?^[>3IS*I(, ->=H9,MT )@@G@@G*?I-(I[+I(& -&HD?H15H*?HD2G(IL2H92^@):@@@I?@D@@@@^@)^@)^@)HD&^@*I-(I[+I(& @1 C,MV )@@G@@G9> 00 C)G9\^[4H8)AC7A@):@@@I6@ @@@@^@)^@)^@)I92HD4G**A0?AC6A@(^@):@@@J@MW )@@G@@@D@@@@^@)AC6A@)G1\IL!GD4 @$A[ACTNES)C(2IL\IK)H9,^[PD0$ C)^@):@@@JE@E@@@@MX )@@G@@^@)^@)^@)GT-H-?^[=I(!I@) [4HD0GL5G0*AC( -4HD0GL5G0*AS( )0 C):@@@JO@ @@@@MY )@@G@@^@)AC7A@)I92HD4G**A0?AC8A@(^@):@@@JY@D@@@@^@)AC8A@)G1\IL!GD4 @$A[AHD?G*)MZ )@@G@@DD,HD4HD-H-(JL>G)$ C)^@):@@@J*@ @@@@^@)AK0A@)GT-H-?^[=HD3GT\H0)^@):@@@J2NA )@@G@@@#@@@@^@)^@)^@)IT4H90^@):@@@J/@#@@@@^@)^@)^@)G(,G))^@)_@@@@@ NB )@@G@@ 1000000000 *[@@@[*SDFF*:@@@[=@^@@@@NC )@@G@@^@)^@)^@)^@)^@)GD3GT(HC):@@@[,@^@@@@^)*AC( -3I))^@)GD8IK=^@):@@@[8@A@@@@ND )@@G@@^@)^@)^@)^@)^@)H)?I*)^@)^@)^@)J@7 )0:@@@]]@J@@@@^@)^@)^@)^@)^@)I->I@?I*)NE )@@G@@^@)^@)GC5 )1 K\ @$FK$ *$E8$ C)^@) 0)I->IT4^[&H92^[7^[\I[4HD\H0)^@):@@@]GNF )@@G@@@A@@@@^@)^@)^@)^@)^@)H)?I*)^@)^@)^@)J@7 )1:@@@]Q@N@@@@^@)^@)^@)^@)^@)G-3NG )@@G@@H))^@)^@)^@)GC5 )2A0)^@)^@)^@)^@)^@)^@) 0)IT*HD&I))H90I-(H9,IS)HD,I-\^[-NH )@@G@@A0)G1\IK)H--I->IK)I(3G*):@@@]V@M@@@@^@)^@)^@)^@)^@)H)?I*)^@)^@)^@)GC0 -!NI )@@G@@H9=I[:I))^@)^@)^@)^@) 0)I[2G(0GD2G*)G1\IK)H(\G->^[3G(4^[\H0)G(2^[(H97^))NJ )@@G@@:@@@]X@K@@@@^@)^@)^@)^@)^@)G(2^@)^@)^@)^@)HD\I8=^@)^@)^@)^@)^@)^@)^@) 0)NK )@@G@@G1\ILIK!I9\IL=^[!H9=G*):@@@])@K@@@@^@)^@)^@)^@)^@)H-8HC?I*)NL )@@G@@^@)^@)GC0 )0AK0A@)^@)^@)^@)^@)^@) 0)IT>I))H-(H1>^[3I[-GT(H1$^[4H8)AK)^@)NM )@@G@@:@@@]%@J@@@@^@)^@)^@)^@)^@)G(2^@)^@)^@)^@)GD0IL(H14^))^@)^@)^@)^@)^@) 0)NN )@@G@@I[2HD,I))GD,^[>H(0I-9^[?HD,G*):@@@]4@B@@@@^@)^@)^@)^@)^@)H)?J[5^@)^@)^@)NO )@@G@@IK2 )!A@1A)):@@@]"@B@@@@^@)^@)^@)^@)^@)H)?I*)^@)^@)^@)J@1A@?A@)^@):@@@#CNP )@@G@@@K@@@@GL?HT?I@)^@)^@)H)?I*)^@)^@)^@)GC0 )7^@)^@)^@)^@)^@)^@)^@) 0)IT-I1>NQ )@@G@@^@8^[7H92G-3^[\G0)A@4A@0IS)^@):@@@#M@F@@@@^@)^@)^@)^@)^@)H))^@)^@)^@)^@)NR )@@G@@GC1 )*A@4A@0 )0A)0A@?A@4A@0 )0A)0A@(:@@@#W@C@@@@^@)^@)^@)^@)^@)IS)^@)^@)NS )@@G@@^@)^@)GC1 -3GD6G*?GC0^@):@@@#&@B@@@@^@)^@)^@)^@)^@)HL$G))^@)^@)^@)GC0 )=NT )@@G@@ *1^@):@@@#0@K@@@@^@)^@)^@)^@)^@)H)?I*)^@)^@)^@)GC0 -(H10HT4^@)^@)^@)^@)NU )@@G@@^@) 0)I[(GT:^[5I@)I--I[>^[( 9\^[0GDI)):@@@#'@H@@@@^@)^@)^@)^@)^@)G(2NV )@@G@@^@)^@)^@)^@)HD\I8=^@)^@)^@)^@)^@)^@)^@) 0)IL>GD=^[-^[+H-\GT::@@@^^@J@@@@NW )@@G@@^@)^@)^@)^@)^@)H)?IS1^@)^@)^@)GC1 )3 --A@)^@)^@)^@)^@)^@) 0)I[5I))HC\H8)NX )@@G@@IT4GD4I(3^[(H0)GC1:@@@^I@M@@@@^@)^@)^@)^@)^@)I-> -5^@)^@)^@)GC1 )4^@)^@)NY )@@G@@^@)^@)^@)^@)^@) 0)GT*G(^[IT3^[+GD=^[( 9\^[3I--I-5IS)^@):@@@^+@K@@@@GT\H14HD,^@)^@)H)?H@2^@)OB )@@G@@^@)^@)GC4 -(H10HT4 S3^@)^@)^@)^@) 0)G9>I))H15H(+G(2^[\G0)I9\IL=IS)IL>GD=OC )@@G@@:@@@^?@I@@@@^@)^@)^@)^@)^@)H-3IT?^@)^@)^@)GC4 )1^@)^@)^@)^@)^@)^@)^@) 0)OD )@@G@@H(5H-4HD0H-9^[+JC)AK)^@):@@@^6@I@@@@^@)^@)^@)^@)^@)H)?IS3^@)^@)^@)GC1 -(OE )@@G@@H10HT4 S3^@)^@)^@)^@) 0)G9>I))GD&GS)I1-H-5G*)^@):@@@ @@L@@@@^@)^@)^@)^@)OF )@@G@@^@)I->I@?I*)^@)^@)GC1 )3^@)^@)^@)^@)^@)^@)^@) 0)IT5GL4IL-GT4^[\H1I-+JD4 C)^@)OK )@@G@@:@@@ 2@B@@@@^@)^@)^@)^@)^@)H))^@)^@)^@)^@)J@2 )*AC?A@(:@@@ /@M@@@@H-(H1>OL )@@G@@H-0^@)^@)I-?G*?I*)^@)^@)GC4 )1A0)^@)^@)^@)^@)^@)^@) 0)GT*G(G))^S)OQ )@@G@@H9&^[*GD?G17H92G-3:@@@A,@L@@@@^@)^@)^@)^@)^@)IT3H))^@)^@)^@)GC5 )1^@)^@)OR )@@G@@^@)^@)^@)^@)^@) 0)G-(I0)GL9^@2 ))GC5^@.^@<^[\G0)I9\IL=IS)^@):@@@A8@K@@@@OS )@@G@@GL5G1?H9\I@)^@)H))^@)^@)^@)^@)GC0 -+I(& )%J@4^@)^@)^@)^@) 0)G9>I))H1>J[4OT )@@G@@^[7H92G))HD,^[+I(&G1>IK):@@@B]@I@@@@^@)^@)^@)^@)^@)I->^@)^@)^@)^@)GC0 -3OU )@@G@@GD6G*? L8AS)^@)^@)^@) 0)IT>G*)HD&^@.^@0A)0A@)^@):@@@BG@B@@@@^@)^@)^@)^@)OV )@@G@@^@)HK)^@)^@)^@)^@)G9\I-?HD,G*):@@@BQ@M@@@@^@)^@)^@)^@)^@)HL$G))^@)^@)^@)OW )@@G@@GC5 -+I(&H-\H90^@)^@)^@)^@) 0)H-\H90^[4H[2I*)GD?H))I9\IL=IS)HD,^[+I(&G1>OX )@@G@@IK)^@):@@@B)@B@@@@^@)^@)^@)^@)^@)GC?I*)^@)^@)^@)J@1A@?A@4A@):@@@B%@K@@@@OY )@@G@@^@)^@)^@)^@)^@)GD, -5^@)^@)^@)GC4 )1A0)^@)^@)^@)^@)^@)^@) 0)IL>G-5GT>^[-OZ )@@G@@H(\I(,I))H->G14^[4H8)G-\:@@@B4@A@@@@^@)^@)^@)^@)^@)H-, -5^@)^@)^@)GC7 )1PA )@@G@@:@@@B"@B@@@@^@)^@)^@)^@)^@)HK)^@)^@)^@)^@)H-(H1>H-0^@):@@@CC@L@@@@G9\I-?PB )@@G@@HD,G*)^@)H))^@)^@)^@)^@)J@3 )*AC?IT4IL*G(8 C)^@)^@) 0)IT>I))I(0^[&H92^[2PC )@@G@@G(!H94G*)G(8G( C):@@@CW@D@@@@^@)^@)^@)^@)^@)H))^@)^@)^@)^@)J@5 )*AC?IT4IL>GL S2A*(^@)PF )@@G@@:@@@C0@B@@@@^@)^@)^@)^@)^@)H))^@)^@)^@)^@)GC0 -8AC0^@):@@@C'@B@@@@^@)^@)PG )@@G@@^@)^@)^@)H-3IT?^@)^@)^@)GC0 )1AK)^@):@@@D^@B@@@@^@)^@)^@)^@)^@)IT3H))^@)PH )@@G@@^@)^@)GC0 )0 -8A8):@@@DI@A@@@@^@)^@)^@)^@)^@)H)?I*)^@)^@)^@)IK1 )5:@@@DSPI )@@G@@@L@@@@GD=IL?I@1^@)^@)H-3IT<^@)^@)^@)GC0 )4^@)^@)^@)^@)^@)^@)^@) 0)GT2G(-PJ )@@G@@I->^[*G(8^[-G-=IL>IT3^[6GD?I(>IS)^@):@@@D+@B@@@@^@)^@)^@)^@)^@)GD,G)?I*)PK )@@G@@^@)^@)GC0 )0AC7^@):@@@D?@C@@@@^@)^@)^@)^@)^@)H))^@)^@)^@)^@)GC2 -*G(8GT*PL )@@G@@IK?GC1:@@@D6@M@@@@^@)^@)^@)^@)^@)G(8^@)^@)^@)^@)A@? L8AS)^@)^@)^@)^@)^@)PM )@@G@@^@) 0)IT4IL*G(8BK)GC2^[(H14H8)H[>J@)I[-IL4^[\G0)H-(H1>:@@@E@@C@@@@^@)^@)PN )@@G@@^@)^@)^@)HL$G))^@)^@)^@)IK1 --G-2H-0AC)^@):@@@EE@B@@@@^@)^@)^@)^@)^@)GC?PO )@@G@@I*)^@)^@)^@)J@1A@?A@4A@):@@@EO@A@@@@^@)^@)^@)^@)^@)GC?I*)^@)^@)^@)J@3 )1PP )@@G@@:@@@EY@B@@@@^@)^@)^@)^@)^@)H))^@)^@)^@)^@)GC0 -8AK)^@):@@@E*@B@@@@^@)^@)PQ )@@G@@^@)^@)^@)H-3IT?^@)^@)^@)GC0 )1B@)^@):@@@E2@B@@@@^@)^@)^@)^@)^@)IT3H))^@)PR )@@G@@^@)^@)GC0 )0 -8A8):@@@E/@A@@@@^@)^@)^@)^@)^@)H)?I*)^@)^@)^@)IK1 )4:@@@FAPS )@@G@@@A@@@@GD=IL?I@2^@)^@)H-3IT<^@)^@)^@)GC0 )4:@@@FK@B@@@@^@)^@)^@)^@)^@)GD,PT )@@G@@G)?I*)^@)^@)GC0 )0AC7^@):@@@FU@C@@@@^@)^@)^@)^@)^@)H))^@)^@)^@)^@)GC2 -*PU )@@G@@G(8GT*IK?GC1:@@@F=@L@@@@^@)^@)^@)^@)^@)G(8^@)^@)^@)^@)A@? L8AS)^@)^@)^@)PV )@@G@@^@)^@)^@) 0)IT4H92G*)GT*GD2^[(H14H8)I[2HD,I))H-(H1>^@):@@@F,@C@@@@^@)^@)PW )@@G@@^@)^@)^@)HL$G))^@)^@)^@)IK1 --G-2H-0AK)^@):@@@F8@A@@@@^@)^@)^@)^@)^@)GC?PX )@@G@@I*)^@)^@)^@)J@4 )1:@@@G]@B@@@@^@)^@)^@)^@)^@)H)?I*)^@)^@)^@)IK1 )1A*)^@)PY )@@G@@:@@@GG@B@@@@^@)^@)^@)^@)^@)I-?G*?I*)^@)^@)GC4 )1A*)^@):@@@GQ@B@@@@^@)^@)PZ )@@G@@^@)^@)^@)H))^@)^@)^@)^@)IK1 --A))^@):@@@G)@B@@@@I92G-?I@)^@)^@)H)?I*)^@)QA )@@G@@^@)^@)GC2 )$^@$^@):@@@G%@L@@@@^@)^@)^@)^@)^@)G(8^@)^@)^@)^@)A@? L8AS)^@)QB )@@G@@^@)^@)^@)^@)^@) 0)IT4H92G*)GL?GD,HS)HD,I-\^[0IL(H14^[?HD,G*):@@@G4@A@@@@QC )@@G@@^@)^@)^@)^@)^@)H)?I*)^@)^@)^@)IK3 )1:@@@G"@N@@@@GL9I-?I@)^@)^@)G(8^@)^@)QD )@@G@@^@)^@)A@? L8AC)^@)^@)^@)^@)^@)^@) 0)G9>I-+JD4BK)I[5I))GT*GD2^[&IL\H*)GL5QE )@@G@@G0)HD,I-\^[-A@)^@):@@@HC@A@@@@^@)^@)^@)^@)^@)GD,G)?I*)^@)^@)GC0 )3:@@@HMQF )@@G@@@B@@@@^@)^@)^@)^@)^@)IS)^@)^@)^@)^@)GC0 --AK)^@):@@@HW@A@@@@^@)^@)^@)^@)QG )@@G@@^@)IT3H))^@)^@)^@)GC0 )2:@@@H&@M@@@@^@)^@)^@)^@)^@)HL,^@)^@)^@)^@)GC6 )=QH )@@G@@ S2^@)^@)^@)^@)^@)^@) 0)GC)H90I-(H9,^[!G(-H13^[,H8)I-2GD,IT?GD4HD\H0)^@)QI )@@G@@:@@@H0@K@@@@^@)^@)^@)^@)^@)G(8^@)^@)^@)^@)G9>I--IT< --AC)^@)^@)^@)^@) 0)QJ )@@G@@I[5I))GD3GT(HC)G(1I((I0)HD,I-\^[-AK):@@@H'@K@@@@^@)^@)^@)^@)^@)I-?G*?I*)QK )@@G@@^@)^@)GC2 )0A)0^@)^@)^@)^@)^@)^@) 0)HD3^[(I))GC)GL-G))GT*GD2GDIK)^@)QL )@@G@@:@@@I^@L@@@@^@)^@)^@)^@)^@)H-- -5^@)^@)^@)GC2 )0A87^@)^@)^@)^@)^@)^@) 0)QM )@@G@@JD>IS?^[2G(0H--GT>^[7HD4H@)GD3GT(HC)^8_^8):@@@II@L@@@@^@)^@)^@)^@)^@)I-$QN )@@G@@ -5^@)^@)^@)GC2 )0AK0A@)^@)^@)^@)^@)^@) 0)HD3^[(I))GC)GL(G8)GL-G))GT*GD2QO )@@G@@GDIK)B8):@@@IS@L@@@@^@)^@)^@)^@)^@)H-- -5^@)^@)^@)GC2 )0A87^@)^@)^@)QP )@@G@@^@)^@)^@) 0)JD>IS?^[2G(0H--GT>^[7HD4H@)GD3GT(HC)^8_^8):@@@I+@L@@@@^@)^@)QQ )@@G@@^@)^@)^@)G(8^@)^@)^@)^@)A@? L8A*)^@)^@)^@)^@)^@)^@) 0)IT4H92G*)HD,I-\^[-QR )@@G@@ITGC):@@@I?@A@@@@^@)^@)^@)^@)^@)H-3IT?^@)^@)^@)GC0 )2QS )@@G@@:@@@I6@B@@@@^@)^@)^@)^@)^@)H(?I*?I*)^@)^@)GC0 )0 --AC):@@@J@@A@@@@^@)^@)QT )@@G@@^@)^@)^@)IT3H))^@)^@)^@)GC0 )4:@@@JE@J@@@@^@)^@)^@)^@)^@)H))^@)^@)^@)^@)QU )@@G@@GC2 -*G(8GT*IK?GC0^@)^@)^@) 0)G9>I))G1(IL3I))H[>J@)G-(G9(I)):@@@JO@L@@@@QV )@@G@@^@)^@)^@)^@)^@)G(8^@)^@)^@)^@)A@? L8AS)^@)^@)^@)^@)^@)^@) 0)IT4H92G*)HD,QW )@@G@@I-\^[*G(8^[0IL(H14^[-IL>GC)^@):@@@JY@J@@@@^@)^@)^@)^@)^@)H))^@)^@)^@)^@)QX )@@G@@GC2 -*G(8GT*IK?GC1^@)^@)^@) 0)G9>I))IT>GT\H1=^[*G(8^[=HD$HD4:@@@J*@L@@@@QY )@@G@@^@)^@)^@)^@)^@)G(8^@)^@)^@)^@)A@? L8AS)^@)^@)^@)^@)^@)^@) 0)IT4H92G*)HD,QZ )@@G@@I-\^[*G(8^[0IL(H14^[-IL>GC)^@):@@@J2@B@@@@^@)^@)^@)^@)^@)HL$G))^@)^@)^@)RA )@@G@@IK3 -+JD4H-0:@@@J/@B@@@@^@)^@)^@)^@)^@)HL$G))^@)^@)^@)IK1 -7IL=H-0:@@@KARB )@@G@@@B@@@@^@)^@)^@)^@)^@)I-$ -5^@)^@)^@)GC4 )1A*)^@):@@@KK@B@@@@^@)^@)^@)^@)RC )@@G@@^@)HK)^@)^@)^@)^@)I[2I-?HD,G*):@@@KU@B@@@@^@)^@)^@)^@)^@)GD,I*?I*)^@)^@)RD )@@G@@GC4 )1A))^@):@@@K=@B@@@@^@)^@)^@)^@)^@)H)?I*)^@)^@)^@)GC2 )$^@$^@):@@@K,RE )@@G@@@B@@@@^@)^@)^@)^@)^@)H-,^@)^@)^@)^@)GC5 --A*)^@):@@@K8@A@@@@GL?GD,HT(I))RF )@@G@@^@)H)?I*)^@)^@)^@)IK1 )4:@@@L]@M@@@@^@)^@)^@)^@)^@)G(8^@)^@)^@)^@)A@? L8RG )@@G@@AS)^@)^@)^@)^@)^@)^@) 0)IT4H92G*)GL?GD,HS)HD,I-\^[*G(8^[0IL(H14^[-IL>GC)RH )@@G@@:@@@LG@B@@@@^@)^@)^@)^@)^@)HL$G))^@)^@)^@)IK1 )= *1^@):@@@LQ@L@@@@^@)^@)RI )@@G@@^@)^@)^@)G(8^@)^@)^@)^@)A@? L8A*)^@)^@)^@)^@)^@)^@) 0)IT4H92G*)HD,I-\^[-RJ )@@G@@ITGC):@@@L)@B@@@@^@)^@)^@)^@)^@)G(8^@)^@)^@)^@)A@? L8RK )@@G@@A*)^@):@@@L%@B@@@@^@)^@)^@)^@)^@)GD, -5^@)^@)^@)J@1A@?AK)^@):@@@L4@C@@@@RL )@@G@@^@)^@)^@)^@)^@)HL$G))^@)^@)^@)GC5 -+H--H1:HD4^@):@@@L"@B@@@@I[2I-?HD,G*)RM )@@G@@^@)HL0^@)^@)^@)^@)GC7 )= S3^@):@@@MC@B@@@@^@)^@)^@)^@)^@)H)?I*)^@)^@)^@)RN )@@G@@GC7 )$ K$^@):@@@MM@C@@@@^@)^@)^@)^@)^@)IS?IC1^@)^@)^@)GC7 -?HD,G*:A))^@)RO )@@G@@:@@@MW@L@@@@^@)^@)^@)^@)^@)H))^@)^@)^@)^@)GC0 )*A@1A)1 -?HD,G*(^@)^@) 0)RP )@@G@@H-(H1>^[3I[-GS)B*)AC;^[7H92G))GT4^@.^@3AS):@@@M&@B@@@@^@)^@)^@)^@)^@)G(2RQ )@@G@@^@)^@)^@)^@)GD0IL(H14^)):@@@M0@B@@@@^@)^@)^@)^@)^@)GD, -5^@)^@)^@)GC4 )1RR )@@G@@A0)^@):@@@M'@C@@@@^@)^@)^@)^@)^@)HL0^@)^@)^@)^@)GC4 -?HD,G(?I@)^@):@@@N^RS )@@G@@@B@@@@^@)^@)^@)^@)^@)H-8HC?I*)^@)^@)GC0 )0AC0A@):@@@NI@M@@@@^@)^@)^@)^@)RT )@@G@@^@)G(2^@)^@)^@)^@)GD0IL(H14^))^@)^@)^@)^@)^@) 0)I[2HD,I))GL?GD,HS)H-(H1>RU )@@G@@^[+G(4I9>G(,^[+H-\GT:IS):@@@NS@B@@@@^@)^@)^@)^@)^@)HK)^@)^@)^@)^@)GL?HT?RV )@@G@@I@)^@):@@@N+@L@@@@GL-G-(H8)^@)^@)I-,G*?I*)^@)^@)GC1 )1^@)^@)^@)^@)^@)^@)RW )@@G@@^@) 0)GT\H(>^[*G(2G*)G1\IK)GL-G))HC\H8)IT4GD4^@):@@@N?@M@@@@^@)^@)^@)^@)RX )@@G@@^@)G(2^@)^@)^@)^@)G(8HD4^))^@)^@)^@)^@)^@)^@) 0)ID5HD4^[(G0)I--I[>^[!GD2RY )@@G@@HS) [3I--I-5IS)B*)AC(^@):@@@N6@A@@@@^@)^@)^@)^@)^@)G-3H))^@)^@)^@)GC1 )3RZ )@@G@@:@@@O@@A@@@@^@)^@)^@)^@)^@)H-3IT?^@)^@)^@)GC1 )6:@@@OE@A@@@@^@)^@)^@)^@)SA )@@G@@^@)H-=IT?^@)^@)^@)GC1 )3:@@@OO@B@@@@^@)^@)^@)^@)^@)GC?I*)^@)^@)^@)GC1 )$SB )@@G@@A@0^8):@@@OY@C@@@@^@)^@)^@)^@)^@)IS?H@1^@)^@)^@)GC1 -+GD=H(3G8:A)):@@@O*SC )@@G@@@C@@@@^@)^@)^@)^@)^@)H))^@)^@)^@)^@)GC0 -+GD=I[G(0^[$H9(H1$^@):@@@PU@C@@@@^@)^@)^@)^@)^@)H)?IC4^@)^@)^@)GC0 -+I(& )%SH )@@G@@J@2^@):@@@P=@B@@@@^@)^@)^@)^@)^@)H-!HK)^@)^@)^@)J@1 )0 -8AC):@@@P,@C@@@@SI )@@G@@G9>I-+JD4^@)^@)H)?IC1^@)^@)^@)GC0 -+I(& -8AK)^@):@@@P8@C@@@@^@)^@)^@)^@)SJ )@@G@@^@)H)?IC2^@)^@)^@)GC0 -+I(& -8AK)^@):@@@Q]@C@@@@^@)^@)^@)^@)^@)H)?IC3^@)SK )@@G@@^@)^@)GC0 -+I(& -8AK)^@):@@@QG@C@@@@^@)^@)^@)^@)^@)H-!HK)^@)^@)^@)J@1 -$SL )@@G@@G(4GL9I)!AK):@@@QQ@B@@@@^@)^@)^@)^@)^@)IS?IC4^@)^@)^@)GC2 )0 )%J@4:@@@Q)SM )@@G@@@B@@@@^@)^@)^@)^@)^@)H-!HK)^@)^@)^@)J@3 )0 -8AS):@@@Q%@B@@@@IT4IL*G(8^@)SN )@@G@@^@)IS?IC1^@)^@)^@)GC2 )0 -8A)):@@@Q4@B@@@@^@)^@)^@)^@)^@)IS?IC2^@)^@)^@)SO )@@G@@GC2 )0 -8A)):@@@Q"@B@@@@^@)^@)^@)^@)^@)IS?IC3^@)^@)^@)GC2 )0 -8A)):@@@RCSP )@@G@@@C@@@@^@)^@)^@)^@)^@)H-!HK)^@)^@)^@)J@3 -3I-2H[>J@!AK):@@@RM@B@@@@^@)^@)SQ )@@G@@^@)^@)^@)IS?IC4^@)^@)^@)GC2 )0 )%J@6:@@@RW@B@@@@^@)^@)^@)^@)^@)H-!HK)^@)SR )@@G@@^@)^@)J@5 )0 -8A*):@@@R&@B@@@@IT4IL>GL<^@)^@)IS?IC1^@)^@)^@)GC2 )0 -8A0)SS )@@G@@:@@@R0@B@@@@^@)^@)^@)^@)^@)IS?IC2^@)^@)^@)GC2 )0 -8A0):@@@R'@B@@@@^@)^@)ST )@@G@@^@)^@)^@)IS?IC3^@)^@)^@)GC2 )0 -8A0):@@@S^@C@@@@^@)^@)^@)^@)^@)H-!HK)^@)SU )@@G@@^@)^@)J@5 -3I-2G(+GS!AK):@@@SI@C@@@@G9>I--IT<^@)^@)H)?IC1^@)^@)^@)GC2 --SV )@@G@@IT^@)^@)^@)IL>IS)^@)^@)^@)B@)^@):@@@T*@A@@@@GL5G0)^@)^@)^@)IL>IS)^@)TD )@@G@@^@)^@)A)0BC6:@@@T2@[@@@@H-(H1>:@@@T/@E@@@@^@)^@)^@)^@)^@)G-\^@)^@)^@)^@)TE )@@G@@AS3^@?^@)^@:^@)^@$^@)^@)^8)^@):@@@UA@C@@@@GL-G-!IT$^@)^@)^94GD0G*)HC\H8)TF )@@G@@G(2IL\IK'^[8J@$^@):@@@UK@E@@@@GL-G-0GT7^@)^@) S)^@)^@)^@)^@)A@2A@0 S= (+TG )@@G@@GD=H(3G8?GL-G-!IT$:@@@UU@]@@@@H[>J[GL<^@)^@) S)TJ )@@G@@^@)^@)^@)^@)A@0A@0 )0A@0AC?A@0A@2 )0A@0AS):@@@V]@E@@@@^@)^@)^@)^@)^@) S)TK )@@G@@^@)^@)^@)^@)A@2AS4 )0A@1AC?A@2A@6 )0AC7A8):@@@VG@E@@@@^@)^@)^@)^@)^@) S)TL )@@G@@^@)^@)^@)^@)A@2AK7 )0AK1A*?A@2AC6 )0A@1AS):@@@VQ@E@@@@^@)^@)^@)^@)^@) S)TM )@@G@@^@)^@)^@)^@)A@0AC4 )0A@1A*?A@0AC6 )0A@1A8):@@@V)@E@@@@^@)^@)^@)^@)^@) S)TN )@@G@@^@)^@)^@)^@)A@0AK0 )0A@2AC?A@0AK2 )0A@2AS):@@@V%@E@@@@^@)^@)^@)^@)^@) S)TO )@@G@@^@)^@)^@)^@)A@2AS5 )0AK0A*?A@0AC0 )0AK0A8):@@@V4@E@@@@^@)^@)^@)^@)^@) S)TP )@@G@@^@)^@)^@)^@)A@0AS0 )0A@3AC?A@2AK2 )0AK1A8):@@@V"@E@@@@^@)^@)^@)^@)^@) S)TQ )@@G@@^@)^@)^@)^@)A@0AS4 )0A@3A*?A@0AS6 )0A@3A8):@@@WC@E@@@@^@)^@)^@)^@)^@) S)TR )@@G@@^@)^@)^@)^@)A@2A@0 )0AK0AC?A@2A@2 )0AK0AS):@@@WM@E@@@@^@)^@)^@)^@)^@) S)TS )@@G@@^@)^@)^@)^@)A@2A@4 )0A@1AK?A@0AK7 )0A@3AS):@@@WW@E@@@@^@)^@)^@)^@)^@) S)TT )@@G@@^@)^@)^@)^@)A@2AC0 )0AK1AC?A@2AC2 )0AK1AS):@@@W&@E@@@@^@)^@)^@)^@)^@) S)TU )@@G@@^@)^@)^@)^@)A@2AC4 )0A@0A*?A@0A@6 )0A@0A8):@@@W0@E@@@@^@)^@)^@)^@)^@) S)TV )@@G@@^@)^@)^@)^@)A@2AK0 )0AK2AC?A@0AK6 )0AK2AS):@@@W'@E@@@@^@)^@)^@)^@)^@) S)TW )@@G@@^@)^@)^@)^@)A@2AK4 )0AK2A*?A@2AK6 )0A@0A)):@@@X^@E@@@@^@)^@)^@)^@)^@) S)TX )@@G@@^@)^@)^@)^@)A@2AS0 )0AK3AC?A@2AS2 )0AK3AS):@@@XI@E@@@@^@)^@)^@)^@)^@) S)TY )@@G@@^@)^@)^@)^@)A@0AK4 )0A@2A*?A@2AS6 )0A@3AK):@@@XS@E@@@@^@)^@)^@)^@)^@) S)TZ )@@G@@^@)^@)^@)^@)A@0A)0 )0AK4A@?A@2A)1 )0AK4AK):@@@X+@E@@@@^@)^@)^@)^@)^@) S)UA )@@G@@^@)^@)^@)^@)A@2A)3 )0AK4A)?A@2A)5 )0AK4A0):@@@X?@E@@@@^@)^@)^@)^@)^@) S)UB )@@G@@^@)^@)^@)^@)A@2A)7 )0AK5A@?A@1AS3 )0A@5A0):@@@X6@E@@@@^@)^@)^@)^@)^@) S)UC )@@G@@^@)^@)^@)^@)A@0A84 )0A@5A@?A@0A*3 )0A@4AC):@@@Y@@E@@@@^@)^@)^@)^@)^@) S)UD )@@G@@^@)^@)^@)^@)A@0A)6 )0AK5AC?A@2A*2 )0AK5AS):@@@YE@E@@@@^@)^@)^@)^@)^@) S)UE )@@G@@^@)^@)^@)^@)A@2A*4 )0AK5A*?A@2A*6 )0AK5A8):@@@YO@E@@@@^@)^@)^@)^@)^@) S)UF )@@G@@^@)^@)^@)^@)A@2A00 )0AK6AC?A@1AS5 )0A@4A)):@@@YY@E@@@@^@)^@)^@)^@)^@) S)UG )@@G@@^@)^@)^@)^@)A@0A*2 )0A@5AC?A@0A83 )0AC3A0):@@@Y*@E@@@@^@)^@)^@)^@)^@) S)UH )@@G@@^@)^@)^@)^@)A@0A*5 )0A@5A8?A@2A02 )0AK6AS):@@@Y2@E@@@@^@)^@)^@)^@)^@) S)UI )@@G@@^@)^@)^@)^@)A@2A04 )0AK6A*?A@2A06 )0AK6A8):@@@Y/@E@@@@^@)^@)^@)^@)^@) S)UJ )@@G@@^@)^@)^@)^@)A@2A80 )0AK7AC?A@1A84 )0A@5A)):@@@ZA@E@@@@^@)^@)^@)^@)^@) S)UK )@@G@@^@)^@)^@)^@)A@0A)5 )0AC3A8?A@0A86 )0A@7A8):@@@ZK@E@@@@^@)^@)^@)^@)^@) S)UL )@@G@@^@)^@)^@)^@)A@2A82 )0AK7AS?A@2A84 )0AK7A*):@@@ZU@E@@@@^@)^@)^@)^@)^@) S)UM )@@G@@^@)^@)^@)^@)A@2A86 )0AK7A8?A@3A@0 )0AS0AC):@@@Z=@E@@@@^@)^@)^@)^@)^@) S)UN )@@G@@^@)^@)^@)^@)A@3A@2 )0AC4A@?A@0A82 )0A@4AS):@@@Z,@E@@@@^@)^@)^@)^@)^@) S)UO )@@G@@^@)^@)^@)^@)A@1A@0 )0A@4A8?A@0A85 )0A@4AK):@@@Z8@E@@@@^@)^@)^@)^@)^@) S)UP )@@G@@^@)^@)^@)^@)A@3A@3 )0AC4AC?A@1A)2 )0AC4AS):@@@)]@E@@@@^@)^@)^@)^@)^@) S)UQ )@@G@@^@)^@)^@)^@)A@1A)4 )0AC4A*?A@1A)6 )0AC4A8):@@@)G@E@@@@^@)^@)^@)^@)^@) S)UR )@@G@@^@)^@)^@)^@)A@1A*0 )0AC5AC?A@3A@4 )0AS0A*):@@@)Q@E@@@@^@)^@)^@)^@)^@) S)US )@@G@@^@)^@)^@)^@)A@3A@6 )0AS0A8?A@3AC0 )0AS1AC):@@@))@E@@@@^@)^@)^@)^@)^@) S)UT )@@G@@^@)^@)^@)^@)A@3AC2 )0AC5AK?A@1A*3 )0AC5A)):@@@)%@E@@@@^@)^@)^@)^@)^@) S)UU )@@G@@^@)^@)^@)^@)A@1A*5 )0AC5A0?A@1A*7 )0AC6A@):@@@)4@E@@@@^@)^@)^@)^@)^@) S)UV )@@G@@^@)^@)^@)^@)A@1A01 )0AC6AK?A@3AC3 )0AS1A)):@@@)"@E@@@@^@)^@)^@)^@)^@) S)UW )@@G@@^@)^@)^@)^@)A@3AC5 )0AS1A0?A@3AC7 )0AS2A@):@@@-C@E@@@@^@)^@)^@)^@)^@) S)UX )@@G@@^@)^@)^@)^@)A@3AK1 )0AC7A0?A@1A03 )0AC6A)):@@@-M@E@@@@^@)^@)^@)^@)^@) S)UY )@@G@@^@)^@)^@)^@)A@1A05 )0AC6A0?A@1A07 )0AC7A@):@@@-W@E@@@@^@)^@)^@)^@)^@) S)UZ )@@G@@^@)^@)^@)^@)A@1A81 )0AC7AK?A@3AK2 )0AS2AS):@@@-&@E@@@@^@)^@)^@)^@)^@) S)VA )@@G@@^@)^@)^@)^@)A@3AK4 )0AS2A*?A@3AK6 )0AS2A8):@@@-0@E@@@@^@)^@)^@)^@)^@) S)VB )@@G@@^@)^@)^@)^@)A@3AS0 )0AS3AC?A@3AS2 )0AS3AS):@@@-'@E@@@@^@)^@)^@)^@)^@) S)VC )@@G@@^@)^@)^@)^@)A@3AS4 )0AS3A*?A@3AS6 )0AS3A8):@@@+^@E@@@@^@)^@)^@)^@)^@) S)VD )@@G@@^@)^@)^@)^@)A@3A)0 )0AS4AC?A@3A)2 )0AS4AS):@@@+I@E@@@@^@)^@)^@)^@)^@) S)VE )@@G@@^@)^@)^@)^@)A@3A)4 )0AS4A*?A@3A)6 )0AS4A8):@@@+S@E@@@@^@)^@)^@)^@)^@) S)VF )@@G@@^@)^@)^@)^@)A@1A83 )0AC0AC?A@1A@2 )0AC0AS):@@@++@E@@@@^@)^@)^@)^@)^@) S)VG )@@G@@^@)^@)^@)^@)A@1A@4 )0AC0A*?A@1A@6 )0AC0A8):@@@+?@E@@@@^@)^@)^@)^@)^@) S)VH )@@G@@^@)^@)^@)^@)A@1AC0 )0AC1AC?A@3A*0 )0AS5AC):@@@+6@E@@@@^@)^@)^@)^@)^@) S)VI )@@G@@^@)^@)^@)^@)A@3A*2 )0AS5AS?A@3A*4 )0AS5A*):@@@<@@E@@@@^@)^@)^@)^@)^@) S)VJ )@@G@@^@)^@)^@)^@)A@1A85 )0AC1AK?A@1AC3 )0AC1A)):@@@^8,^@):@@@A8@G@@@@^@)^@)XA )@@G@@^@)^@0AC)^[OETOE-MD0!D(NC8)^@)^@)^@)^@)^@)^[KDD#^[S @2B@(^[QCDGE( :@@@B]XB )@@G@@@K@@@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@$HD3^[,H97^[(H0)XC )@@G@@I->IT4 94IL-HD,HD,G8)H(\G->^8,:@@@BG@]@@@@^@)^@)^@) K):@@@BQ@B@@@@^@)^@)XD )@@G@@^@)^[KELJCT C-PEL ^[^DDQDDNDDJD0,^@):@@@B)@ @@@@^@)^@)^@)^@1AC0A@!DDIDDOXE )@@G@@ 0)^@):@@@B%@F@@@@^@)^@)^@)^@)^@)^[HD9QC*)D-JE8!E1[D-PC(N^[OD8)D(#CK!E[[XF )@@G@@CTFC(O 0)^@):@@@B4@E@@@@^@)^@)^@)^@)^@)^[HD9QC*)D(#CK!E-MDDIDDO^[OD8)D(#XG )@@G@@CK!E[AE(ICS,:@@@B"@I@@@@^@)^@)^@) K)^@)^[KE(O^[DD0)D(JC- EL[E- D-T^[]DDBXH )@@G@@^[IE(HCL EK)C1JEK)DDIE[PE))D- D1BE-C:@@@CC@D@@@@^@)^@)^@)^@)^@)^[HD9QC*)XI )@@G@@AC0A@)E-J^[HCT] (KD- D1BE-C 0):@@@CM@E@@@@^@)^@)^@) K)^@)^[BC(O^[[C-^EL XJ )@@G@@ETN^[JC0)D( ETNCDBC*)CLPC1AC(M:@@@CW@G@@@@^@)^@)^@)^@)^@)^[#CDGD))^9[CTGXK )@@G@@D9#^8)E(NDDIC8)D(NC8!CLPC1A^[]E(AC0!D-JCS,:@@@C&@E@@@@^@)^@)^@)^@)^@)^[HXL )@@G@@D9QC*)CLPC1A (GD9#^[OD8)D(#CK!E[]E(AC0,^@):@@@C0@H@@@@^@)^@)^@) K)^@)^[MXM )@@G@@C(GC([ET ^[HC(NET[C9 ^[[C1OC(M^[RC*)C9 E))CDGD))D9A^[DE))^@):@@@C'@C@@@@XN )@@G@@^@)^@)^@)^@)^@)^[HD9QC*)AC)E-J^[HCT] (]DDOAK,^@):@@@D^@F@@@@^@)^@)^@) K)XO )@@G@@^@)^[DD1DE-DCDGDDUC*)CDIC))C9 E))DDIE[PE))D( ETNCDBC*):@@@DI@H@@@@^@)^@)XP )@@G@@^@)^@)^@)^[#CDGD))^9#D(#CK$^[PETDD1B^[HCT] (KCD#DT E))D(#CK!ETOCDOE(N 0)XQ )@@G@@:@@@DS@D@@@@^@)^@)^@)^@)^@)^[DC0)D(#CK!ETOCDOE(N^[ID9O^@.^[UC(MD8):@@@D+XR )@@G@@@K@@@@^@)^@)^@)^@)^@)^@)^@)^[^DDNE[GCDT^@$DDIE[PE))C(MELJEK)^8)D(#CK!ETOXS )@@G@@CDOE(N^[PE[JD0)E[MDDIE- EK)^@):@@@D?@K@@@@^@)^@)^@)^@)^@)^@)^@)^[^DDNE[GXT )@@G@@CDT^@$DDIE[PE))C(MELJEK)^8)D(#CK!ETOCDOE(N^[PE[JD0)CTJD1ND9GC*)^@):@@@D6XU )@@G@@@C@@@@^@)^@)^@)^@)^@)^@)^@)^[#CDGD))^9 EL CD]E)=^8,^@):@@@E@@B@@@@^@)^@)XV )@@G@@^@)^@)^@)^[DC0)D(#CK!E[HD))B*)FL ELJ:@@@EE@H@@@@^@)^@)^@)^@)^@)^@)^@)^[^XW )@@G@@DDNE[GCDT^@$D1J^[DD1KE(O^[OC(SE))^8)E(KD9I^[KELDD1OC(M:@@@EO@H@@@@^@)^@)XX )@@G@@^@)^@)^@)^@)^@)^[^DDNE[GCDT^@$D1J^[DD1KE(O^[OC(SE))^8)E(KD9I^[#D9IETJD- XY )@@G@@:@@@EY@C@@@@^@)^@)^@)^@)^@)^@)^@)^[#CDGD))^9 EL CD]E)=^8,^@):@@@E*@A@@@@XZ )@@G@@^@)^@)^@)^@1AK0A@!ET D1^ (JE(OE[PE),:@@@E2@G@@@@^@)^@)^@)^@)^@)^[#CDGD))YA )@@G@@^9PET ELDC)$^[PETDD1B^[PET EK!DD^^[NDDOC*!DD^ 0):@@@E/@D@@@@^@)^@)^@)^@)YB )@@G@@^@)^[HD9QC*)ETKCD#C(N^[OD8)D(NC8!CLPC1A 0):@@@FA@E@@@@^@)^@)^@)^@)^@)^[HYC )@@G@@D9QC*)E(NC(M (DC))E-J^[HETB (OC(SE)1 0)^@):@@@FK@E@@@@^@)^@)^@)^@)^@)^[HYD )@@G@@D9QC*)ETDE- (DC))E-J^[HETB (OC(SE)2 0)^@):@@@FU@D@@@@^@)^@)^@)^@)^@)^[HYE )@@G@@D9QC*)^9KDD^^@$^[OD8)D(NC8!E- F[OAS,:@@@F=@D@@@@^@)^@)^@)^@)^@)^[HD9QC*)YF )@@G@@D(#CK!E[KDD^^[OD8)D(NC8!E[DC),:@@@F,@C@@@@^@)^@)^@) K)^@)^[NC(O^[OD[ ^[NYG )@@G@@C(IC))C1PD1#E-DD9I:@@@F8@E@@@@^@)^@)^@)^@)^@)^[HD9QC*)D(#CK!ET D1^^[OD8)YH )@@G@@D(#CK!E[AE(ICS,^@):@@@G]@C@@@@^@)^@)^@) K)^@)^[UC(MD8)E-CC*)D( ETNCDBC*)YI )@@G@@DD^^@):@@@GG@C@@@@^@)^@)^@)^@)^@)^[HD9QC*)FL ELJ^[OD8)D(#CK!E[DC),:@@@GQYJ )@@G@@@G@@@@^@)^@)^@) K)^@)^[OC(GD))D1PD(]C(M^[JC0)CTCCDMCD#E- ELN^[DD0)D( ETNYK )@@G@@CDBC*):@@@G)@D@@@@^@)^@)^@)^@)^@)^[HD9QC*)A86^[OD8)D(#CK!E[GC(IC9OD@,^@)YL )@@G@@:@@@G%@F@@@@^@)^@)^@) K)^@)^[OC(GD))CD^C-MC(NES)D9A^[HC(NET[C9 ^[]E(AC1 YM )@@G@@EK)^@):@@@G4@E@@@@^@)^@)^@)^@)^@)^[HD9QC*)CLPC1A (GD9#^[OD8)D(#CK!E[]E(AYN )@@G@@C0,^@):@@@G"@G@@@@^@)^@)^@) K)^@)^[JE(OE[PE))D( ETNCDBC*)ETOCDME-N^[[E))YO )@@G@@CL C9DD1IDDIC8)^@):@@@HC@C@@@@^@)^@)^@)^@)^@)^[HD9QC*)AC)E-J^[HCT] (KETOYP )@@G@@CDME),:@@@HM@D@@@@^@)^@)^@) K)^@)^[NC(O^[GCDNE))CLGD9#DS)DDIC-DCT[E-JEK)YQ )@@G@@:@@@HW@C@@@@^@)^@)^@)^@)^@)^[HD9QC*)AC)E-J^[HCT] (]DDOA@,^@):@@@H&@C@@@@YR )@@G@@^@)^@)^@) K)^@)^[NC(O^[HD9^C*)CTCCDIC9 ^[]DDO^@):@@@H0@C@@@@^@)^@)^@)^@)YS )@@G@@^@)^[HD9QC*)AC)E-J^[HCT] (]DDOA0,^@):@@@H'@L@@@@^@)^@)^@)^@)^@)^[DC0)D(#YT )@@G@@CK!E-MCDIES!CTJC- ^@.^@$D(#CLIELH^8)D9M^[HCT] (OEL[D1N (#D9^C*)B*)^9!GT+YU )@@G@@H12H*$:@@@I^@C@@@@^@)^@)^@) K)^@)^@)^@)^[NC(O^[ID9MD([D))D(JC- ^@):@@@IIYV )@@G@@@D@@@@^@)^@)^@)^@)^@)^@)^@)^[HD9QC*)A@)E-J^[HCT] (KD(JC- ^@):@@@IS@F@@@@YW )@@G@@^@)^@)^@)^@)^@)^@)^@)^[HD9QC*)D1JELHCDG (HETB^[OD8)D(NC8!EL ETO^@):@@@I+YX )@@G@@@C@@@@^@)^@)^@)^@)^@)^@)^@)^[BD8)E-J^@1B@0A@!ET D1^ 0):@@@I?@L@@@@^@)^@)YY )@@G@@^@)^@)^@)^[DC0)D(#CK!E-MCDIES!CTJC- ^@.^@$D(#CLOETO^8)D9M^[HCT] (OEL[D1NYZ )@@G@@ (#D9^C*)B*)^9!GT+I-3I)$:@@@I6@E@@@@^@)^@)^@) K)^@)^@)^@)^[NC(O^[OC(NE)\ZA )@@G@@E-MCDDD1DD1B^[HD9^C*)^@):@@@J@@D@@@@^@)^@)^@)^@)^@)^@)^@)^[HD9QC*)AS)E-JZB )@@G@@^[HCT] (KD(JC- ^@):@@@JE@F@@@@^@)^@)^@)^@)^@)^@)^@)^[HD9QC*)E-NE-OELI (HZC )@@G@@ETB^[OD8)D(NC8!EL ETO^@):@@@JO@C@@@@^@)^@)^@)^@)^@)^@)^@)^[BD8)E-J^@1B@0ZD )@@G@@A@!ET D1^ 0):@@@JY@E@@@@^@)^@)^@) K)^@)^@)^@)^[(G0)H1>HD4H[>IK?^[-IT3I(!ZE )@@G@@G*)D(#CLDD1A:@@@J*@B@@@@^@)^@)^@)^@)^@)^[DC0)D(#CK!E[HD9^C*)B*)A@):@@@J2ZF )@@G@@@F@@@@^@)^@)^@)^@)^@)^@)^@)^[HD9QC*)D1JELHCDG (HETB^[OD8)D(NC8!EL ETO^@)ZG )@@G@@:@@@J/@C@@@@^@)^@)^@)^@)^@)^@)^@)^[BD8)E-J^@1B@0A@!ET D1^ 0):@@@KA@B@@@@ZH )@@G@@^@)^@)^@)^@)^@)^[DC0)D(#CK!E[HD9^C*)B*)AS):@@@KK@F@@@@^@)^@)^@)^@)^@)^@)ZI )@@G@@^@)^[HD9QC*)E-NE-OELI (HETB^[OD8)D(NC8!EL ETO^@):@@@KU@C@@@@^@)^@)^@)^@)ZJ )@@G@@^@)^@)^@)^[BD8)E-J^@1B@0A@!ET D1^ 0):@@@K=@ @@@@^@)^@)^@)^@1B@0A@!ET D1^ZK )@@G@@ 0)^@):@@@K,@A@@@@^@)^@)^@) K)^@)^[NC(IC))D9PE-KE(O^@):@@@K8@H@@@@^@)^@)ZL )@@G@@^@)^@)^@)^[#CDGD))^9#D(#CK$^[PETDD1B^[HCT] (KCD#DT E))D(#CK!ETOCDOE(N 0)ZM )@@G@@:@@@L]@D@@@@^@)^@)^@)^@)^@)^[DC0)D(#CK!ETOCDOE(N^[ID9O^@.^[UC(MD8):@@@LGZN )@@G@@@J@@@@^@)^@)^@)^@)^@)^@)^@)^[^DDNE[GCDT^@$ET D1^^[ ELMD9M^@$^[HCT] (NE-[ZO )@@G@@E-PES)E(KD9I^[KELDD1OC(M:@@@LQ@J@@@@^@)^@)^@)^@)^@)^@)^@)^[^DDNE[GCDT^@$ZP )@@G@@ET D1^^[ ELMD9M^@$^[HCT] (NE-[E-PES)E(KD9I^[#D9IETJD- :@@@L)@C@@@@^@)^@)ZQ )@@G@@^@)^@)^@)^@)^@)^[#CDGD))^9 EL CD]E)=^8,^@):@@@L%@ @@@@^@)^@)^@)^@1BC0A@!ZR )@@G@@E- ELH 0)^@):@@@L4@E@@@@^@)^@)^@)^@)^@)^[HD9QC*)D(#CK!E- ELH^[OD8)D(#CK!ZS )@@G@@E[AE(ICS,^@):@@@L"@C@@@@^@)^@)^@)^@)^@)^[HD9QC*)FL ELJ^[OD8)D(#CK!E[DC),ZT )@@G@@:@@@MC@H@@@@^@)^@)^@)^@)^@)^[#CDGD))^9#D(#CK$^[PETDD1B^[HCT] (KCD#DT E))ZU )@@G@@D(#CK!ETOCDOE(N 0):@@@MM@ @@@@^@)^@)^@)^@)^@)^[NE-JE@)ELPD0,_@@@@@9!)EK-ZV )@@G@@*[@@@[*SDFF*:@@@[=@C@@@@^@)^@)^@)^[DC- D1ODDADD#CDODDJD0)C-DE1DETDD9I 0)ZW )@@G@@:@@@[,@B@@@@^@)^@)^@)^[KELJC9MCDH (DC),^[HD9^CTCC8,^@):@@@[8@E@@@@^@)^@)ZX )@@G@@^@) L^CDOC*!E9MDDOE- D0,^@)^@)DLPD))AK1 ))AC9B@8 0)^@):@@@]]@B@@@@^@)^@)ZY )@@G@@^@)^[^CDOC*!CTJD(KDDGC(^ 0)E-JC-[FC,:@@@]G@E@@@@^@)^@)^@) K)^@)^[#D9HE[JZZ )@@G@@D9G^[HD9^C*)CTCCDIC9 ^[KELJC9MCDH^@):@@@]Q@@@@@@:@@@])@B@@@@^@)^@)^@)^[ AA )@@G@@D1QDDMD9ID( D1O^[^DDQDDNDDJD0,:@@@]%@C@@@@^@)^@)^@)^[#D9IC1DC9PEL[E-DD9IAB )@@G@@^[NC(#E-DD9I 0)^@):@@@]4@F@@@@^@)^@)^@)^[ND9PEL#C*!CTJD(KE(OC(M 0)E(IDDQAC )@@G@@CD# *1AC0A@!A00C(DES,^@):@@@]"@F@@@@^@)^@)^@)^[JCLEC(#E)!CTJD(KE(OC(M 0)AD )@@G@@E(IDDQCD# *1AC0A@!A00C(DES,^@):@@@#C@@@@@@:@@@#M@A@@@@^@)^@)^@)^[^CDOCC)AE )@@G@@C-DE1DETDD9I 0)^@):@@@#W@C@@@@^@)^@)^@)^[RD9MDTDD1B (NE-JEL[C9 ^[NC(#E-DAF )@@G@@D9I 0):@@@#&@G@@@@^@)^@)^@) K)^@)^[HE[[^[[C-[E[OC(^^[AELJD*)CD#D(KC-A^[DAG )@@G@@D0)E-DE[GDD]^))^@):@@@#0@ @@@@^@)^@)^@)^@0AC)^[#D(KCLPC0,^@):@@@#'@A@@@@AH )@@G@@^@)^@)^@)^@)^@)^@0AK)^[RD9MC)0AC,^@):@@@^^@E@@@@^@)^@)^@)^@)^@)^@)^@)^@0AI )@@G@@AS)^[#D(KD(JC))^@)^@)^[KDD#^@1 @6 C,:@@@^I@E@@@@^@)^@)^@)^@)^@)^@)^@)^@0AJ )@@G@@AS)^[#D(KCTOD))^@)^@)^[KDD#^@1 @6 C,:@@@^S@F@@@@^@)^@)^@)^@)^@)^@)^@)^@0AK )@@G@@AS)^[#D(KCTCEK)^@)^@)^[KDD#^[NAC*A0( 0)^@):@@@^+@G@@@@^@)^@)^@)^@)^@)^@)AL )@@G@@^@)^@0AS)^[#D(KCTIE))^@)^@)^[KDD#^@)BC*A*(^@)CTJD(K 0):@@@^?@A@@@@^@)^@)AM )@@G@@^@)^@)^@)^@0AK)^[RD9MC)0AK,^@):@@@^6@H@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#AN )@@G@@D(KE[DC))^@)^@)^[KDD#^@9 @5 C)^[PET[C9 ^[#D9HE@,:@@@ @@H@@@@^@)^@)^@)^@)AO )@@G@@^@)^@)^@)^@0AS)^[#D(KE[ C))^@)^@)^[KDD#^@9 @5 C)^[PET[C9 ^[#D9HE@,:@@@ EAP )@@G@@@A@@@@^@)^@)^@)^@)^@)^@0AK)^[RD9MC)0AS,^@):@@@ O@F@@@@^@)^@)^@)^@)^@)^@)AQ )@@G@@^@)^@0AS)^[#D(KF[DC))^@)^@)^[KDD#^@1 @1AK( 0)^@):@@@ Y@F@@@@^@)^@)^@)^@)AR )@@G@@^@)^@)^@)^@0AS)^[#D(KD(DC))^@)^@)^[KDD#^@1 @1AK( 0)^@):@@@ *@E@@@@^@)^@)AS )@@G@@^@)^@)^@)^@)^@)^@0AS)^[#D(KD(OE@)^@)^@)^[KDD#^@1 @6 C,:@@@ 2@E@@@@^@)^@)AT )@@G@@^@)^@)^@)^@)^@)^@0AS)^[#D(KE[ME))^@)^@)^[KDD#^@1 @6 C,:@@@ /@A@@@@^@)^@)AU )@@G@@^@)^@)^@)^@0AK)^[RD9MC)0A),^@):@@@AA@F@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#AV )@@G@@D(KALIC))^@)^@)^[KDD#^@1 @1AK( 0)^@):@@@AK@F@@@@^@)^@)^@)^@)^@)^@)^@)^@0AW )@@G@@AS)^[#D(KADNE))^@)^@)^[KDD#^@1 @1AK( 0)^@):@@@AU@F@@@@^@)^@)^@)^@)^@)^@)AX )@@G@@^@)^@0AS)^[#D(KCTGC))^@)^@)^[KDD#^@1 @1AK( 0)^@):@@@A=@A@@@@^@)^@)^@)^@)AY )@@G@@^@)^@0AK)^[RD9MC)0A*,^@):@@@A,@I@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#D(KC- AZ )@@G@@E0)^@)^@)^[KDD#^@9 @1A@(^@)E(NCDBC*)CTJD(K 0)^@):@@@A8@A@@@@^@)^@)^@)^@)BA )@@G@@^@)^@0AK)^[RD9MC)0A0,^@):@@@B]@I@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#D(KDDOBB )@@G@@D*)^@)^@)^[KDD#^[NBC*AC0 C)^[PET[C9 ^[#D9HE@,^@):@@@BG@A@@@@^@)^@)^@)^@)BC )@@G@@^@)^@0AK)^[RD9MC)0A8,^@):@@@BQ@I@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#D(KF[OBD )@@G@@D*)^@)^@)^[KDD#^[NBC*AC0 C)^[PET[C9 ^[#D9HE@,^@):@@@B)@A@@@@^@)^@)^@)^@)BE )@@G@@^@)^@0AK)^[RD9MC)0B@,^@):@@@B%@I@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#D(KE-JBF )@@G@@C))^@)^@)^[KDD#^[NBC*AC0 C)^[PET[C9 ^[#D9HE@,^@):@@@B4@A@@@@^@)^@)^@)^@)BG )@@G@@^@)^@0AK)^[RD9MC)0BC,^@):@@@B"@H@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#D(KD-IBH )@@G@@CS)^@)^@)^[KDD#^@9 @5 C)^[PET[C9 ^[#D9HE@,:@@@CC@B@@@@^@)^@)^@)^@)^@)^@)BI )@@G@@^@)^@0AS)^[#D(KD9NE),^@):@@@CM@E@@@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^@0A))^[#BJ )@@G@@D(KETOCS)^[KDD#^@1 @6 C,:@@@CW@F@@@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^@0A))^[#BK )@@G@@D(KETOE8)^[KDD#^@1 @1AK( 0)^@):@@@C&@F@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#BL )@@G@@D(KEL C))EL C- C1DD1 ES)CTHE[JETO 0):@@@C0@E@@@@^@)^@)^@)^@)^@)^@)^@)^@)BM )@@G@@^@)^@0A))^[NE-SCS)^@)^[KDD#^@1 @6 C,:@@@C'@F@@@@^@)^@)^@)^@)^@)^@)^@)^@)BN )@@G@@^@)^@0A))^[NE-SE8)^@)^[KDD#^@1 @1AK( 0)^@):@@@D^@A@@@@^@)^@)^@)^@)^@)^@0BO )@@G@@AK)^[RD9MC)1A@,^@):@@@DI@H@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#D(KE[[EK)^@)BP )@@G@@^@)^[KDD#^@9 @5 C)^[PET[C9 ^[#D9HE@,:@@@DS@H@@@@^@)^@)^@)^@)^@)^@)^@)^@0BQ )@@G@@AS)^[#D(KCDGE))^@)^@)^[KDD#^@9 @5 C)^[PET[C9 ^[#D9HE@,:@@@D+@E@@@@^@)^@)BR )@@G@@^@)^@)^@)^@0AK)^[RD9MC)1AC)^@)^@)^@)^@)^[KDD#^[S @4 C,:@@@D?@E@@@@^@)^@)BS )@@G@@^@)^@)^@)^@0AK)^[RD9MC)1AK)^@)^@)^@)^@)^[KDD#^[S @4 C,:@@@D6@A@@@@^@)^@)BT )@@G@@^@)^@)^@)^@0AK)^[RD9MC)1AS,^@):@@@E@@E@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[TBU )@@G@@ET#ELR^@)^@)^@)^[KDD#^@1 @6 C,:@@@EE@E@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[TBV )@@G@@ET#EL#^@)^@)^@)^[KDD#^@1 @6 C,:@@@EO@E@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[ABW )@@G@@DDGD- EK)^@)^@)^[KDD#^@1 @6 C,:@@@EY@E@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#BX )@@G@@D(KD-[C))^@)^@)^[KDD#^@1 @6 C,:@@@E*@F@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#BY )@@G@@D(KETOCK)^@)^@)^[KDD#^@1 @1AK( 0)^@):@@@E2@E@@@@^@)^@)^@)^@)^@)^@0AK)^[RBZ )@@G@@D9MC)1AT[^[MC(^C(ADDIC(N^[RD9MC)1AS,:@@@E/@F@@@@^@)^@)^@)^@)^@)^@)^@)^@0CA )@@G@@AS)^[TET#EK)^@)^@)^@)^[KDD#^@1 @1AK( 0)^@):@@@FA@F@@@@^@)^@)^@)^@)^@)^@)CB )@@G@@^@)^@0AS)^[ADDGD- EK)^@)^@)^[KDD#^@1 @1AK( 0)^@):@@@FK@F@@@@^@)^@)^@)^@)CC )@@G@@^@)^@)^@)^@0AS)^[ADDGD- EK)^@)^@)^[KDD#^@1 @1AK( 0)^@):@@@FU@E@@@@^@)^@)CD )@@G@@^@)^@)^@)^@0AK)^[ADDGD- EK)^@)^@)^@)^@)^[KDD#^[S @8 C,:@@@F=@A@@@@^@)^@)CE )@@G@@^@)^@)^@)^@0AK)^[RD9MC)1A0,^@):@@@F,@I@@@@^@)^@)^@)^@)^@)^@)^@)^@0AS)^[#CF )@@G@@D(KE-MD0)^@)^@)^[KDD#^[S @0A0(^[PET[C9 ^[^DDNE@!AC,^@):@@@F8@J@@@@^@)^@)CG )@@G@@^@) K)^@)^[OD[ ^[HC(NET[C9 ^[]E(AC1 EK)ETCD9PD-^^[[D-RCDTES)CL ^[MDDBD[OCH )@@G@@^[[C1OC(M^@):@@@G]@ @@@@^@)^@)^@) K)^@)^[OD[ ^[HE[[^@):@@@GG@ @@@@^@)^@)CI )@@G@@^@)^@0AC)^[HETB (]E(AC0,:@@@GQ@F@@@@^@)^@)^@)^@)^@)^@0AK)^[HETB (OC(SE)1CJ )@@G@@^@)^@)^@)^@)^[KDD#^[S @6 C,^@):@@@G)@F@@@@^@)^@)^@)^@)^@)^@0AK)^[HETB (OCK )@@G@@C(SE)1CC)^@)^@)^@)^[KDD#^[S @2 C,^@):@@@G%@F@@@@^@)^@)^@)^@)^@)^@0AK)^[HCL )@@G@@ETB (OC(SE)2^@)^@)^@)^@)^[KDD#^[S @6 C,^@):@@@G4@F@@@@^@)^@)^@)^@)^@)^@0CM )@@G@@AK)^[HETB (OC(SE)2CC)^@)^@)^@)^[KDD#^[S @2 C,^@):@@@G"@F@@@@^@)^@)^@)^@)CN )@@G@@^@)^@0AK)^[HETB (OC(SE)3^@)^@)^@)^@)^[KDD#^[S @4 C,^@):@@@HC@F@@@@^@)^@)CO )@@G@@^@)^@)^@)^@0AK)^[HETB (KDD^^@)^@)^@)^@)^@)^[KDD#^@9 @4 C,^@):@@@HM@F@@@@CP )@@G@@^@)^@)^@)^@)^@)^@0AK)^[HETB (MC(NE))^@)^@)^@)^@)^[KDD#^[S @5A86 C,:@@@HWCQ )@@G@@@]@@@@^@)^@)^@) K):@@@H&@J@@@@^@)^@)^@)^@0AC)^[#D(KETDFK)^@)^@)^@)^@)^@)CR )@@G@@^@)^@)^[KDD#^@9 @1A@(^[#D9HE@)^[QCDGE( ^@1A06 0):@@@H0@D@@@@^@)^@)^@) K)CS )@@G@@^@)^[#D(KETDFK)B*) @6^@:^@5BC4 C\A)) S)AC6:@@@H'@]@@@@^@)^@)^@) K):@@@I^CT )@@G@@@B@@@@^@)^@)^@) K)^@)^[ME-MCDID8)E[[EL[D( E- ELN:@@@II@ @@@@^@)^@)^@)^@0CU )@@G@@AC)^[^CDODD^ 0)^@):@@@IS@I@@@@^@)^@)^@)^@)^@)^@0AK)^[#D(KE-TE@)^@)^@)^@)CV )@@G@@^@)^@)^[KDD#^@9 @5 C)CTJD(K^@)E1[D-PC*)AC,:@@@I+@G@@@@^@)^@)^@)^@)^@)^@0CW )@@G@@AK)^[^CDOD-JCS)^@)^@)^@)^@)^@)^[KDD#^@9 @5 C)CTJD(K 0):@@@I?@G@@@@^@)^@)CX )@@G@@^@)^@0AC)^[HETB (GC(IC9OD@)^@)^@)^@)^@)^@)^[KDD#^@9 @1A@(^[#D9HE@,:@@@I6CY )@@G@@@]@@@@^@)^@)^@) K):@@@J@@H@@@@^@)^@)^@)^@0AC)^[PET EK!DD^^@)^@)^@)^@)^@)CZ )@@G@@^@)^@)^[KDD#^[S @6 C)C-DETK *1 0)^@):@@@JE@H@@@@^@)^@)^@)^@0AC)^[NDDOC*!DA )@@G@@DD^^@)^@)^@)^@)^@)^@)^@)^[KDD#^[S @6 C)C-DETK *1 0)^@):@@@JO@K@@@@^@)^@)DB )@@G@@^@)^@0AC)^[ID9MD([D)!E-#D9^C*)^@)^@)^@)^@)^[KDD#^[S @6 C)C-DETK *1^[QCDGDC )@@G@@E( ^@$D(^D1JELH^8,:@@@JY@K@@@@^@)^@)^@)^@0AC)^[OETOE-MD0!E-#D9^C*)^@)^@)DD )@@G@@^@)^@)^[KDD#^[S @6 C)C-DETK *1^[QCDGE( ^@$D(^E-[ETO^8,:@@@J*@K@@@@^@)^@)DE )@@G@@^@)^@0AC)^[JE[ODDJD0!D([ETF^@)^@)^@)^@)^@)^[KDD#^@9 @1A@(^[#D9HE@)E1[D-PDF )@@G@@C*)AK6A@0BC3 0)^@):@@@J2@L@@@@^@)^@)^@) K)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)DG )@@G@@^@)^@)^@2A00A@9AS)B*)A@7A83A87A*)^[BC(OES)ELDC))D9A^[J^@&^[T:@@@J/@G@@@@DH )@@G@@^@)^@)^@)^@0AC)^[JE[ODDJD0!EL E-PELI^@)^@)^@)^@)^[KDD#^@9 @1A@(^[#D9HE@,DI )@@G@@:@@@KA@G@@@@^@)^@)^@)^@0AC)^[ID9MD([D)!D(NC8)^@)^@)^@)^@)^@)^[KDD#^[S @2DJ )@@G@@B@(^[QCDGE( :@@@KK@K@@@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)DK )@@G@@^9(IS)H1\I8)HD,^[,H92H(-H))H(\G->^@)^@)^@)^@$ 0):@@@KU@G@@@@^@)^@)^@)^@0DL )@@G@@AC)^[OETOE-MD0!D(NC8)^@)^@)^@)^@)^@)^[KDD#^[S @2B@(^[QCDGE( :@@@K=@K@@@@DM )@@G@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^9(IS)H1\I8)HD,^[4G(3I)\DN )@@G@@I-2GD(H1(H1$^[!H9=G*$ 0):@@@K,@]@@@@^@)^@)^@) K):@@@K8@B@@@@^@)^@)^@)^[KDO )@@G@@ELJCT C-PEL ^[^DDQDDNDDJD0,^@):@@@L]@ @@@@^@)^@)^@)^@1AC0A@!DDIDDO 0)^@)DP )@@G@@:@@@LG@G@@@@^@)^@)^@) K)^@)^[$G(4^[(H10I(4^[!G(3IT-G9>^[(H0)CTHE[]E(A^@&DQ )@@G@@^[HETBCLPC0):@@@LQ@F@@@@^@)^@)^@)^@)^@)^[#CDGD))^9#DDIDDO^8)E(NDDIC8)CTHDR )@@G@@E[]E(A^[#D(KETDFK,:@@@L)@B@@@@^@)^@)^@)^@1AK0A@!CLPDDGC)!D9PE-KE(O 0)^@)DS )@@G@@:@@@L%@G@@@@^@)^@)^@)^@)^@)^[#CDGD))^9PET ELDC)$^[PETDD1B^[PET EK!DD^^[NDT )@@G@@DDOC*!DD^ 0):@@@L4@D@@@@^@)^@)^@)^@)^@)^[HD9QC*)ETKCD#C(N^[OD8)D(NC8!CLPDU )@@G@@C1A 0):@@@L"@E@@@@^@)^@)^@)^@)^@)^[HD9QC*)E(NC(M (DC))E-J^[HETB (OC(SE)1DV )@@G@@ 0)^@):@@@MC@E@@@@^@)^@)^@)^@)^@)^[HD9QC*)ETDE- (DC))E-J^[HETB (OC(SE)2DW )@@G@@ 0)^@):@@@MM@D@@@@^@)^@)^@)^@)^@)^[HD9QC*)^9KDD^^@$^[OD8)D(NC8!E- F[OAS,DX )@@G@@:@@@MW@C@@@@^@)^@)^@)^@)^@)^[HD9QC*)A)0^[OD8)CTHE[#D1O 0)^@):@@@M&@D@@@@DY )@@G@@^@)^@)^@)^@)^@)^[HD9QC*)A)0^[OD8)D(NC8!D- D1BE-C 0)^@):@@@M0@B@@@@^@)^@)DZ )@@G@@^@)^@)^@)^[HD9QC*)A@)E-J^[#D(KE[ME),:@@@M'@H@@@@^@)^@)^@) K)^@)^@0AC3^@*EA )@@G@@G->GT(H(-H))AC1 C)HD3^[4IL-H13GD^[7H[-I))G-(IL>GT4HD\H0)I-\^[$H8)EJ )@@G@@:@@@OY@D@@@@^@)^@)^@)^@)^@)^[DC0)CTHE[OELI^@.^[ID9MD([D)!E-#D9^C*):@@@O*EK )@@G@@@C@@@@^@)^@)^@)^@)^@)^@)^@)^[HD9QC*)A@)E-J^[#D(KD(JC)):@@@O2@H@@@@^@)^@)EL )@@G@@^@) K)^@)^@)^@)^[3G(4^[!H9=G*)GT*GD,G9>^[&I(,GT4HD\H0) @0AC6^@.^@1A)(^@)EM )@@G@@:@@@O/@C@@@@^@)^@)^@)^@)^@)^@)^@)^[HD9QC*)AC4^[OD8)CTHE[#E-G:@@@P[@M@@@@EN )@@G@@^@)^@)^@) K)^@)^@)^@)^[$G(4^[2HD=^[\G0)I->IT4^@&^[4IL-HD,HD,G8)H90I-(H9,EO )@@G@@IS)^[=HD3I[>H13G*)I9(I-*^[4H[(IS)^@):@@@PA@J@@@@^@)^@)^@) K)^@)^@)^@)^[#EP )@@G@@CDGD))^9#E(JE[IC)$^[PETDD1B^[JE[ODDJD0!D([ETF^[JE[ODDJD0!EL E-PELI:@@@PKEQ )@@G@@@F@@@@^@)^@)^@)^@)^@)^@)^@)^[HD9QC*)D1JELHCDG (HETB^[OD8)D(NC8!EL ETO^@)ER )@@G@@:@@@PU@C@@@@^@)^@)^@)^@)^@)^@)^@)^[BD8)E-J^@1BC0A@!ET D1^ 0):@@@P=@D@@@@ES )@@G@@^@)^@)^@)^@)^@)^[DC0)CTHE[OELI^@.^[OETOE-MD0!E-#D9^C*):@@@P,@C@@@@^@)^@)ET )@@G@@^@)^@)^@)^@)^@)^[HD9QC*)AC4^[OD8)CTHE[#E-G:@@@P8@C@@@@^@)^@)^@)^@)^@)^@)EU )@@G@@^@)^[HD9QC*)AS)E-J^[#D(KD(JC)):@@@Q]@F@@@@^@)^@)^@)^@)^@)^@)^@)^[HD9QC*)EV )@@G@@E-NE-OELI (HETB^[OD8)D(NC8!EL ETO^@):@@@QG@C@@@@^@)^@)^@)^@)^@)^@)^@)^[BEW )@@G@@D8)E-J^@1BC0A@!ET D1^ 0):@@@QQ@F@@@@^@)^@)^@) K)^@)^[(G0)H1>HD4H[>IK?^[4EX )@@G@@H[>H0)GD3IT5H(>^[HC-DD1AD8)^@):@@@Q)@A@@@@^@)^@)^@)^@)^@)^[DC0)CTHE[HD9^EY )@@G@@^@.^@0:@@@Q%@F@@@@^@)^@)^@)^@)^@)^@)^@)^[HD9QC*)D1JELHCDG (HETB^[OD8)D(NEZ )@@G@@C8!EL ETO^@):@@@Q4@C@@@@^@)^@)^@)^@)^@)^@)^@)^[BD8)E-J^@1BC0A@!ET D1^ 0)FA )@@G@@:@@@Q"@A@@@@^@)^@)^@)^@)^@)^[DC0)CTHE[HD9^^@.^@3:@@@R@@F@@@@^@)^@)^@)^@)FB )@@G@@^@)^@)^@)^[HD9QC*)E-NE-OELI (HETB^[OD8)D(NC8!EL ETO^@):@@@R]@C@@@@^@)^@)FC )@@G@@^@)^@)^@)^@)^@)^[BD8)E-J^@1BC0A@!ET D1^ 0):@@@RC@ @@@@^@)^@)^@)^@1BC0A@!FD )@@G@@ET D1^ 0)^@):@@@RM@C@@@@^@)^@)^@) K)^@)^[3G(,G))H95I-0I(4^[!G(3IT-G9>^@)FE )@@G@@:@@@RW@G@@@@^@)^@)^@)^@)^@)^[#CDGD))^9#ELOELID8$^[PETDD1B^[^CDODD^^[HETBFF )@@G@@ (GC(IC9OD@,:@@@R&@B@@@@^@)^@)^@)^@)^@)^[#CDGD))^9#E-MD(IB@$^@,^@):@@@R0FG )@@G@@@ @@@@^@)^@)^@)^@)^@)^[NE-JE@)ELPD0,_@@@@@EL^CC)^@)^@)^@)^@5A09A@)D-[FL FH )@@G@@EK)^@)^@)^@)^@)^@5A80A@)*[@@@@*SDFF*:@@@[=@F@@@@. THIS PROGRAM MFI )@@G@@UST RUN PRIVLEDGED IN ORDER TO GET THE :@@@[,@E@@@@. PROJECT FJ )@@G@@ID, ACCOUNT NUMBER, READ KEY AND WRITE KEY:@@@[8@A@@@@. FOR FILEFK )@@G@@S BEING SAVED. :@@@]]@@@@@@:@@@]G@C@@@@. THE FOLLOWING FILES FL )@@G@@MUST BE ASSIGNED: :@@@]Q@G@@@@. ADD-FILE DISK FOR THEFM )@@G@@ ADD STREAM FOR @COPY,G'S :@@@])@G@@@@. DEL-FILE FN )@@G@@DISK FOR THE ADD STREAM FOR @DELETE'S :@@@]%@D@@@@. FO )@@G@@ TAPE1 TAPE FOR THE OUTPUT :@@@]"@@@@@@:@@@#C@E@@@@. THFP )@@G@@E FOLLOWING FILE IS @ASG,T'ED BY THIS PROGRAM: :@@@#M@E@@@@. FQ )@@G@@ ADDASG DISK FOR THE @ADD FOR ADD-FILE:@@@#W@@@@@@:@@@#&@D@@@@FR )@@G@@. NEEDS A LIB RLIB*RLIB FOR MAPPING :@@@#0@@@@@@:@@@#'FS )@@G@@@ @@@@. HEAD FILE FORMAT: :@@@^^@B@@@@. WORDFT )@@G@@ 0 **RC** :@@@^I@C@@@@. 1 FROM PACKFU )@@G@@ ID :@@@^S@C@@@@. 2 FROM EQUIP TYPE:@@@^+FV )@@G@@@C@@@@. 3-4 QUALIFIER :@@@^?@C@@@@. FW )@@G@@ 5-6 FILE NAME :@@@^6@C@@@@. FX )@@G@@ 7-8 PROJECT ID :@@@ @@D@@@@. 9-10FY )@@G@@ ACCOUNT NUMBER :@@@ E@D@@@@. 11 CYCFZ )@@G@@LE NUMBER (OCTAL) :@@@ O@B@@@@. 12 READ KEY GA )@@G@@:@@@ Y@B@@@@. 13 WRITE KEY:@@@ *@E@@@@. GB )@@G@@ 14,S6 PCHAR FLAG (4 BITS XXXX00) :@@@ 2@F@@@@. GC )@@G@@ 1000 = POSITION GRANULARITY :@@@ /@E@@@@GD )@@G@@. 0010 = WORD ADDRESSABLE :@@@AA@E@@@@GE )@@G@@. 15,S6 INHIBIT FLAGS (6 BITS) :@@@AK@D@@@@GF )@@G@@. 100 000 = @ASG,G :@@@AU@D@@@@. GG )@@G@@ 010 000 = @ASG,V :@@@A=@D@@@@. GH )@@G@@ 001 000 = NOT @ASG,P:@@@A,@D@@@@. GI )@@G@@ 000 010 = @ASG,W :@@@A8@D@@@@. GJ )@@G@@ 000 001 = @ASG,R :@@@B]@E@@@@. 16 GK )@@G@@ HIGHEST TRACK ASSIGNED + 1 :@@@BG@C@@@@. 17 GL )@@G@@ INITIAL RESERVE:@@@BQ@E@@@@. 18 MAXIMUM NGM )@@G@@UMBER OF GRANULES :@@@B)@D@@@@. 19 FILLER (FGN )@@G@@D BLANKS) :@@@B%@^@@@@$(01) AXR$ . :@@@B4@#@@@@ MFGO )@@G@@D$DEF :@@@B"@]@@@@ST . :@@@CC@E@@@@ LXI,U X11,030000GP )@@G@@1 . GET THE PCT BDI :@@@CM@D@@@@ LBJ X11,$+1 GQ )@@G@@ . BASE THE PCT:@@@CW@F@@@@ L,U X1,RPCTA$ GR )@@G@@ . GET THE PCT ADDRESS :@@@C&@F@@@@ L,S2 A1,4,X1 GS )@@G@@ . GET THE PRIV INDICATOR :@@@C0@E@@@@ TEP,U A1,0GT )@@G@@40 . IS HE PRIVILEGED? :@@@C'@D@@@@ J REWIGU )@@G@@NDTAPES . YES--GO ON :@@@D^@B@@@@ L A0,(0106,DGV )@@G@@LOC) . :@@@DI@F@@@@ ER PRINT$ . TELL TGW )@@G@@HEM TO ASG DLOC$ :@@@DS@D@@@@ ER EXIT$ . GX )@@G@@GO AWAY :@@@D+@^@@@@REWINDTAPES . :@@@D?@D@@@@ LXGY )@@G@@I,U X11,0300000 . BDI OF 0 :@@@D6@E@@@@ LBJ GZ )@@G@@ X11,$+1 . UNBASE THE PCT :@@@E@@F@@@@ SZ HA )@@G@@ A8 . SAVE AREA FOR TOTAL SIZE:@@@EE@F@@@@ SZHB )@@G@@ A9 . SAVE AREA FOR FILE COUNT:@@@EO@E@@@@ HC )@@G@@ L,U A0,FACPKT . GET THE FACIL$ PKT:@@@EY@E@@@@ HD )@@G@@ ER FACIL$ . CHECK ON ADD-FILE :@@@E*@D@@@@ HE )@@G@@ TNZ,S1 FACPKT+6 . IS IT ASG? :@@@E2@E@@@@ J HF )@@G@@ ASGFILES . NO--GO TELL THEM :@@@E/@E@@@@ DLHG )@@G@@ A1,('DEL-FILE ') . GET DEL-FILE NAME :@@@FA@F@@@@ DSHH )@@G@@ A1,FACPKT . PUT IN FACIL$ PACKET :@@@FK@B@@@@ HI )@@G@@ L,U A0,FACPKT . :@@@FU@ @@@@ ER FACIHJ )@@G@@L$ :@@@F=@D@@@@ TNZ,S1 FACPKT+6 . IS IT ASG? HK )@@G@@:@@@F,@E@@@@ J ASGFILES . NO--GO TELL THEM HL )@@G@@:@@@F8@B@@@@ DL A1,('TAPE1 ') . :@@@G]@F@@@@ HM )@@G@@ DS A1,FACPKT . PUT IN NEXT FILE NAME :@@@GG@E@@@@HN )@@G@@ L,U A0,FACPKT . GET THE PACKET :@@@GQ@D@@@@HO )@@G@@ ER FACIL$ . GO CHECK IT :@@@G)@E@@@@ HP )@@G@@ L,S1 A1,FACPKT+6 . GET THE EQUIP TYPE:@@@G%@E@@@@ HQ )@@G@@ TE,U A1,015 . IS IT A TAPE? :@@@G4@E@@@@ HR )@@G@@ J ASGFILES . NO--GO TELL THEM :@@@I^@E@@@@ HS )@@G@@ L,U A0,TAPE1PKT . GET THE PACKET :@@@II@D@@@@ HT )@@G@@ ER IOW$ . REWIND TAPE1:@@@I?@F@@@@ L,HU )@@G@@U A1,W$ . GET THE WRITE FUNCTION :@@@I6@F@@@@ HV )@@G@@ S,S2 A1,TAPE1PKT+3 . PUT IT IN THE PACKET :@@@JE@E@@@@HW )@@G@@ J GETPACK . GO GET PACKID :@@@JO@]@@@@HX )@@G@@ASGFILES . :@@@JY@B@@@@ L A0,(0112,ASKASG) . :@@@J*HY )@@G@@@B@@@@ ER PRINT$ . :@@@J2@D@@@@ ERHZ )@@G@@ EXIT$ . GO AWAY :@@@J/@]@@@@GETPACK . :@@@KAIA )@@G@@@F@@@@ L,U A0,ASKPACK . GET THE TREAD PAKCET IB )@@G@@:@@@KK@E@@@@ ER TREAD$ . GET THE PACKID IC )@@G@@:@@@KU@E@@@@ L A0,PACKIN . GET THE PACKID ID )@@G@@:@@@K=@F@@@@ S A0,MFDPKT+5 . PUT IT IN THE MFD IE )@@G@@PACKET:@@@K,@F@@@@ L,U A0,ASKEQUIP . GET THE TREAIF )@@G@@D PACKET :@@@K8@E@@@@ ER TREAD$ . GET THIG )@@G@@E EQUIP TYPE:@@@L]@E@@@@ L A0,EQUIPIN . GET THIH )@@G@@E EQUIP TYPE:@@@LG@G@@@@ S A0,MFDPKT+4 . PUT ITII )@@G@@ INT THE MFD PACKET :@@@LQ@F@@@@ L,U A0,CSF IJ )@@G@@ . GET @BRKPT ADD-FILE :@@@L)@E@@@@ ER CSF$ IK )@@G@@ . CLOSE ADD-FILE :@@@L%@F@@@@ L,U A0,CSF2 IL )@@G@@ . GET @BRKPT DEL-FILE :@@@L4@E@@@@ ER CSF$IM )@@G@@ . CLOSE DEL-FILE :@@@L"@D@@@@ L A1,BIN )@@G@@RK . GET @BRK :@@@MC@E@@@@ S A1,ADDLINEIO )@@G@@ . PUT IT IN THE LINE:@@@MM@D@@@@ L,U A1,1 IP )@@G@@ . GET THE LEN :@@@MW@F@@@@ S,S3 A1,PRTPKT IQ )@@G@@ . PUT IT IN THE PRTPKT :@@@M&@B@@@@ L,U A0,PRTPKT IR )@@G@@ . :@@@M0@D@@@@ ER PRNTA$ . WRITE IS )@@G@@IT OUT:@@@M'@E@@@@ L,U A1,026 . GET THE PROPIT )@@G@@ER LEN:@@@N^@D@@@@ S,S3 A1,PRTPKT . RESTORE IT IU )@@G@@:@@@NI@F@@@@ L X10,(MPKTLEN,MFDPKT) . MFD CONTROL PACKEIV )@@G@@T :@@@NS@D@@@@ L,U A1,0 . GET A 0 IW )@@G@@:@@@N+@G@@@@ LXI,U X11,0 . INDICATE LMJ RATHEIX )@@G@@R THAN LBJ :@@@N?@E@@@@ LMJ X11,MFDSET$ . INIT MIY )@@G@@FD PACKET :@@@N6@D@@@@ ER EABT$ . BLOW UIZ )@@G@@P :@@@O@@F@@@@ L,U A0,020 . INDICATE MAIJA )@@G@@N ITEMS ONLY:@@@OE@E@@@@ S A0,IDBITS,X10 . PUT INJB )@@G@@ THE PACKET :@@@OO@G@@@@ LXI,U X11,0 . INDICAJC )@@G@@TE LMJ RATHER THAN LBJ :@@@OY@G@@@@ LMJ X11,MFDINT$ JD )@@G@@ . GO GET THE FIRST MAIN ITEM :@@@O*@D@@@@ ER EABTJE )@@G@@$ . BLOW UP :@@@O2@C@@@@ J DONE JF )@@G@@ . AT END:@@@O/@D@@@@ DL A4,1,A1 . JG )@@G@@GET THE QUAL:@@@PA@E@@@@ DS A4,HOLDQ . JH )@@G@@AND SAVE IT :@@@PK@E@@@@ DL A4,3,A1 . GET THJI )@@G@@E FILE NAME :@@@PU@E@@@@ DS A4,HOLDFN . ANJJ )@@G@@D SAVE IT :@@@P=@D@@@@ DL A4,5,A1 . GET THJK )@@G@@E PROJ:@@@P,@E@@@@ DS A4,HOLDPROJ . AND SAVEJL )@@G@@ IT :@@@P8@F@@@@ DL A4,7,A1 . GET THE ACCOJM )@@G@@UNT NUM :@@@Q]@E@@@@ DS A4,HOLDACCT . ANJN )@@G@@D SAVE IT :@@@QG@D@@@@ L,T3 A4,17,A1 . GET CYJO )@@G@@CLE :@@@QQ@D@@@@ S A4,HOLDCYC . SAVE CYCLE JP )@@G@@:@@@Q)@D@@@@ L,S1 A4,13,A1 . GET GRAN :@@@Q%JQ )@@G@@@D@@@@ S A4,HOLDGRAN . SAVE IT :@@@Q4@D@@@@JR )@@G@@ L,S2 A4,17,A1 . GET ASG OPT :@@@Q"@D@@@@ JS )@@G@@ S A4,HOLDOPT . SAVE IT :@@@RC@D@@@@ L,JT )@@G@@H1 A4,20,A1 . GET INIT RES:@@@RM@D@@@@ S JU )@@G@@ A4,HOLDINIT . SAVE IT :@@@RW@D@@@@ L,H1 A4,2JV )@@G@@1,A1 . GET MAX SIZE:@@@R&@D@@@@ S A4,HOLDMAXJW )@@G@@ . SAVE IT :@@@R0@D@@@@ L,H1 A4,22,A1 JX )@@G@@ . GET SIZE :@@@R'@F@@@@ A,U A4,1 . JY )@@G@@ADJUST FOR STARTING AT 0:@@@S^@F@@@@ TP 13,A1 JZ )@@G@@ . POSITION GRANULARITY? :@@@SI@G@@@@ LSSL A4,6 KA )@@G@@ . MULTIPLY BY 64 TO GET TRACKS :@@@SS@F@@@@ A KB )@@G@@ A8,A4 . ACCUMULATE TOTAL TRACKS :@@@S+@D@@@@ S KC )@@G@@ A4,HOLDSIZE . SAVE IT :@@@S?@E@@@@ L,H1 KD )@@G@@ A4,24,A1 . H1 OF READ KEY :@@@S6@D@@@@ S,H1 KE )@@G@@ A4,HOLDREAD . SAVE IT :@@@T@@E@@@@ L,H1 A4,2KF )@@G@@5,A1 . H2 OF READ KEY :@@@TE@F@@@@ S,H2 A4,HKG )@@G@@OLDREAD . SAVE REST OF READ KEY :@@@TO@E@@@@ L,H1 KH )@@G@@ A4,26,A1 . H1 OF WRITE KEY :@@@TY@F@@@@ S,H1 KI )@@G@@ A4,HOLDWRITE . SAVE H1 OF WRITE KEY :@@@T*@E@@@@ L,KJ )@@G@@H1 A4,27,A1 . H2 OF WRITE KEY :@@@T2@F@@@@ S,KK )@@G@@H2 A4,HOLDWRITE . SAVE REST OF WRITE KEY :@@@T/@E@@@@ KL )@@G@@ A,U A9,1 . BUMP FILE COUNT :@@@UA@E@@@@ KM )@@G@@ L,U A0,TAPE1PKT . GET HEAD PACKET :@@@UK@B@@@@ KN )@@G@@ ER IOW$ . :@@@UU@D@@@@ TZ,S1 TAPEKO )@@G@@1PKT+3 . GOOD WRITE? :@@@U=@E@@@@ ER ERR$ KP )@@G@@ . NO--CALL DIANNE :@@@VQ@A@@@@ L A7,('TIP$ KQ )@@G@@ ') :@@@V)@E@@@@ TE A7,HOLDQ . IS IT A TIP KR )@@G@@FILE :@@@V%@F@@@@ J BUILDCOPY . NO-GO BUILD KS )@@G@@COPY IMAGE :@@@Y@@]@@@@DOTPFREE . :@@@YE@B@@@@ E$DIT EDITKT )@@G@@PKT . :@@@YO@ @@@@ E$COPY 29,XQTLINE:@@@YY@#@@@@KU )@@G@@ E$DITX :@@@Y*@ @@@@ L,U A0,PRTPKT :@@@Y2@ @@@@KV )@@G@@ ER PRNTA$ :@@@Y/@ @@@@ E$DIT EDITPKT KW )@@G@@:@@@ZA@ @@@@ E$COPY 9,TPFREE :@@@ZK@ @@@@ DL KX )@@G@@ A4,HOLDQ :@@@ZU@ @@@@ DS A4,EDITQ :@@@Z=@ @@@@ KY )@@G@@ E$MSG EDITQ :@@@Z,@^@@@@ E$CHAR '*' :@@@Z8@ @@@@KZ )@@G@@ DL A4,HOLDFN :@@@)]@ @@@@ DS A4,EDITQ LA )@@G@@:@@@)G@ @@@@ E$MSG EDITQ :@@@)Q@#@@@@ E$DITX LB )@@G@@:@@@))@ @@@@ L,U A0,PRTPKT :@@@)%@ @@@@ ER LC )@@G@@ PRNTA$ :@@@)4@]@@@@BUILDCOPY . :@@@)"@E@@@@ E$DIT EDITLD )@@G@@PKT . START EDITING :@@@-C@D@@@@ E$COPY 10,CLE )@@G@@OPY . PUT IN @COPY:@@@-M@E@@@@ LMJ X9,BUILDFNLF )@@G@@ . GO BUILD FILE NAME:@@@-W@E@@@@ E$CHAR '.' LG )@@G@@ . PUT IN A PERIOD :@@@-&@D@@@@ E$COPY 7,TAPE1 LH )@@G@@ . PUT IN TAPE1:@@@-0@A@@@@ E$DITX . STOP EDITING LI )@@G@@:@@@-'@E@@@@ L,U A0,PRTPKT . GET PRINT PACKET LJ )@@G@@:@@@+^@D@@@@ ER PRNTA$ . PUT IT OUT :@@@]@E@@@@ E$CHAR '/' . PUT IN A SLASH LV )@@G@@:@@@>G@E@@@@ L A7,HOLDWRITE . GET THE WRITE KEY LW )@@G@@:@@@>Q@F@@@@ S A7,EDITQ+1 . SAVE IT WITH SPACELX )@@G@@S :@@@>)@E@@@@ E$MSG EDITQ+1 . PUT IN WRITELY )@@G@@ KEY :@@@>%@]@@@@SENDDEL . :@@@>4@E@@@@ E$CHAR '.' LZ )@@G@@ . PUT IN THE PERIOD :@@@>"@D@@@@ E$DITX MA )@@G@@ . STOP EDITING:@@@&C@E@@@@ L,U A0,PRTPKT2 MB )@@G@@ . GET PRINTA PKT :@@@&M@D@@@@ ER PRNTA$ MC )@@G@@ . SEND IT :@@@&W@F@@@@ J MFDNXT$ . MD )@@G@@GO GET NEXT MAIN ITEM :@@@&&@E@@@@ . MFDNXT$ RETURNS ME )@@G@@TO AFTER THE MFDINT$ :@@@&0@]@@@@BUILDFN . :@@@&'@D@@@@ DLMF )@@G@@ A4,HOLDQ . SAVE QUAL :@@@$^@B@@@@ DS MG )@@G@@ A4,EDITQ . :@@@$I@D@@@@ E$MSG EDITQ MH )@@G@@ . PUT IN QUAL :@@@$S@^@@@@ E$CHAR '*' :@@@$+@D@@@@ MI )@@G@@ DL A4,HOLDFN . SAVE FILE :@@@$?@B@@@@ DSMJ )@@G@@ A4,EDITQ . :@@@$6@B@@@@ E$MSG EDITQ MK )@@G@@ . :@@@*@@B@@@@ E$CHAR '(' . :@@@*EML )@@G@@@ @@@@ E$DECV HOLDCYC :@@@*O@B@@@@ E$CHAR ')' MM )@@G@@ . :@@@*Y@A@@@@ L A7,(' ') :@@@**MN )@@G@@@F@@@@ TNE A7,HOLDREAD . IS THERE A READ KEY? MO )@@G@@:@@@*2@D@@@@ J 0,X9 . NO--GO BACK :@@@*/MP )@@G@@@^@@@@ E$CHAR '/' :@@@(A@A@@@@ L A4,HOLDREAMQ )@@G@@D :@@@(K@B@@@@ S A4,EDITQ+1 . :@@@(U@B@@@@MR )@@G@@ E$MSG EDITQ+1 . :@@@(=@C@@@@ J MS )@@G@@ 0,X9 . RETURN:@@@(,@]@@@@DONE . :@@@(8@E@@@@ MT )@@G@@ L,U A0,WEF$ . GET EOF MARKER :@@@%]@E@@@@ MU )@@G@@ S,S2 A0,TAPE1PKT+3 . PUT IN IO PACKET :@@@%Q@B@@@@ MV )@@G@@ L,U A0,TAPE1PKT . :@@@%)@E@@@@ ER IOW$MW )@@G@@ . WRITE TAPE MARK :@@@%"@D@@@@ L A1,BMX )@@G@@RKN . GET @BRK,N :@@@:C@F@@@@ S A1,ADDLINEMY )@@G@@ . PUT IT IN THE BUFFER :@@@:M@D@@@@ L,U A1,1MZ )@@G@@ . GET THE LEN :@@@:W@E@@@@ S,S3 A1,PRTPKT NA )@@G@@ . CHANGE THE LEN :@@@:&@E@@@@ L,U A0,PRTPKT NB )@@G@@ . GET THE PACKET :@@@:0@D@@@@ ER PRNTA$ NC )@@G@@ . WRITE IT OUT:@@@:'@ @@@@ L,U A0,CSF :@@@?^ND )@@G@@@E@@@@ ER CSF$ . CLOSE OUT ADD-FILE:@@@?INE )@@G@@@^@@@@ TZ A0 :@@@?S@^@@@@ ER ERR$:@@@?+NF )@@G@@@B@@@@ L,U A0,CSF2 . :@@@??@E@@@@ ERNG )@@G@@ CSF$ . CLOSE OUT DEL-FILE:@@@?6@D@@@@ TZNH )@@G@@ A0 . GOOD STATUS?:@@@!@@D@@@@ ER NI )@@G@@ ERR$ . NO--BLOW UP :@@@!E@E@@@@ E$DIT EDITNJ )@@G@@PKT . START EDITING :@@@!O@E@@@@ E$DECV A9 NK )@@G@@ . NUMBER OF FILES :@@@!Y@B@@@@ E$COPY 17,FNL )@@G@@ILECNT . :@@@!*@E@@@@ E$DECV A8 . NM )@@G@@NUMBER OF TRACKS :@@@!2@B@@@@ E$COPY 7,TRKCNT . NN )@@G@@:@@@!/@^@@@@ E$DITX . :@@@,A@B@@@@ L A0,(NO )@@G@@0126,ADDLINE) :@@@,K@B@@@@ ER PRINT$ . NP )@@G@@:@@@,U@]@@@@ASKADD . :@@@,=@ @@@@ L,U A0,ADDQUES:@@@,,NQ )@@G@@@ @@@@ ER TREAD$ :@@@,8@E@@@@ L,S1 A1,ANR )@@G@@DDANS . GET THE ANSWER :@@@\]@D@@@@ TNE,U A1,'NS )@@G@@Y' . ANS YES? :@@@\G@E@@@@ J ADDIT NT )@@G@@ . YES--GO ADD IT :@@@\Q@D@@@@ TE,U A1,'N' NU )@@G@@ . ANS NO? :@@@\)@E@@@@ J ASKADD NV )@@G@@ . NO--GO ASK AGAIN :@@@\%@F@@@@ L A0,(0101,DON1) NW )@@G@@ . GET THE PRINT PACKET :@@@\4@F@@@@ ER PRINT$ NX )@@G@@ . PRINT THE TOTAL LINE :@@@\"@B@@@@ ER EXITNY )@@G@@$ . :@@@0C@]@@@@ADDIT . :@@@0M@ @@@@ L,U NZ )@@G@@ A0,ADDASG :@@@0W@B@@@@ ER CSF$ . :@@@0&OA )@@G@@@ @@@@ L,U A0,ADDWRT :@@@00@^@@@@ ER IOW$OB )@@G@@:@@@0'@A@@@@ L,U A0,ADDLINE2 :@@@1^@^@@@@ EROC )@@G@@ CSF$:@@@1I@A@@@@ L,U A0,(0104,ADDED) :@@@1S@ @@@@OD )@@G@@ ER PRINT$ :@@@1+@ @@@@ ER EXIT$ OE )@@G@@:@@@1?@]@@@@ENDIT . :@@@16@A@@@@ L A0,(0105,NOPACK)OF )@@G@@:@@@2@@ @@@@ ER PRINT$ :@@@2E@C@@@@ ER OG )@@G@@ EXIT$ . END IT:@@@2O@]@@@@$(02) . :@@@2Y@E@@@@DLOC OH )@@G@@ 'THIS RUN MUST BE PRIVILEGED, BYE BYE.' :@@@2*@ @@@@BRK OI )@@G@@ '@BRK ' :@@@22@ @@@@BRKN '@BRK,N' :@@@2/OJ )@@G@@@B@@@@ADDASG '@ASG,T ADDASG. . ' :@@@3A@B@@@@ADDWRT I$OK )@@G@@OD 'ADDASG',W$ 7,ADDBUF :@@@3K@A@@@@ADDBUF + 0500130000OL )@@G@@000 :@@@3U@ @@@@ '*SDFF*' :@@@3=@A@@@@ + OM )@@G@@ 000300000000 :@@@3,@B@@@@ '@ADD,PEL ADD-FION )@@G@@LE.' :@@@38@A@@@@ + 0770000000000 :@@@4]@B@@@@ADDLINOO )@@G@@E2 '@ADD ADDASG. . ' :@@@4G@C@@@@ADDED 'ADDOP )@@G@@-FILE HAS BEEN ADDED' :@@@4Q@A@@@@ADDQUES + 0110,ADDQUE OQ )@@G@@:@@@4)@A@@@@ + ENDIT,ADDANS :@@@4%@F@@@@ADDQUE OR )@@G@@ 'SHOULD ''ADD-FILE'' BE ADDED DYNAMICALLY? Y OR N' :@@@44@B@@@@FILECNOS )@@G@@T ' FILES REQUIRING ' :@@@4"@ @@@@TRKCNT ' TROT )@@G@@ACKS ':@@@5C@D@@@@NOPACK 'NO PACKID OR EQUIP SPECIFIED' OU )@@G@@:@@@5M@F@@@@ASKASG 'NEED DEL-FILE, ADD-FILE, AND TAPE1 ASSIGNED PLEASE OV )@@G@@ ':@@@5W@A@@@@PRTPKT + 0126,ADDLINE :@@@5&@A@@@@ OW )@@G@@ 'ADD-FILE ' :@@@50@A@@@@PRTPKT2 + 0126,ADDLIOX )@@G@@NE :@@@5'@A@@@@ + 'DEL-FILE ' :@@@6^@D@@@@XQTLINOY )@@G@@E '@XQT,MXUZ TIP$*TIPRUN$.TREG ' :@@@6I@A@@@@TPFREE OZ )@@G@@ 'TPFREE,K ' :@@@6S@B@@@@CSF '@BRKPT ADD-FILEPA )@@G@@ . ' :@@@6+@B@@@@CSF2 '@BRKPT DEL-FILE . ' :@@@6?@A@@@@PB )@@G@@FACPKT 'ADD-FILE ' :@@@66@^@@@@ RES 10 PC )@@G@@:@@@7@@B@@@@EDITPKT E$PKTF 22,ADDLINE 'MSG',' ' :@@@7E@^@@@@ADDLINPD )@@G@@E $RES 22 :@@@7O@ @@@@EDITQ ' ' :@@@7Y@ @@@@PE )@@G@@ ' ' :@@@7*@ @@@@ ' ' PF )@@G@@:@@@72@A@@@@COPY '@COPY,G ' :@@@7/@A@@@@DELETE PG )@@G@@ '@DELETE,C ' :@@@8A@ @@@@TAPE1 ',TAPE1. ':@@@8UPH )@@G@@@^@@@@ADDANS + 0 :@@@8=@ @@@@TAPEOUT '**RC**' PI )@@G@@:@@@8,@^@@@@PACKIN + 0 :@@@88@^@@@@EQUIPIN + 0 PJ )@@G@@:@@@9]@^@@@@HOLDQ $RES 2 :@@@9G@^@@@@HOLDFN $RES 2 PK )@@G@@:@@@9Q@^@@@@HOLDPROJ $RES 2 :@@@9)@^@@@@HOLDACCT $RES 2 PL )@@G@@:@@@9%@^@@@@HOLDCYC $RES 1 :@@@94@^@@@@HOLDREAD RES 1 PM )@@G@@:@@@9"@^@@@@HOLDWRITE RES 1 :@@@'C@^@@@@HOLDGRAN RES 1 PN )@@G@@:@@@'M@^@@@@HOLDOPT RES 1 :@@@'W@^@@@@HOLDSIZE RES 1 PO )@@G@@:@@@'&@^@@@@HOLDINIT RES 1 :@@@'0@^@@@@HOLDMAX RES 1 PP )@@G@@:@@@''@^@@@@ ' ' :@@@;^@C@@@@TAPE1PKT I$OT 'TAPPQ )@@G@@E1',REW$ 20,TAPEOUT :@@@;S@ @@@@ASKPACK + 0103,PACKQ:@@@;+PR )@@G@@@A@@@@ + ENDIT,PACKIN :@@@;?@A@@@@ASKEQUIP + PS )@@G@@ 0104,EQUIPQ :@@@;6@A@@@@ + ENDIT,EQUIPIN :@@@/@PT )@@G@@@A@@@@PACKQ 'ENTER PACK ID' :@@@/E@B@@@@EQUIPQ PU )@@G@@ 'ENTER EQUIPMENT TYPE':@@@/O@ @@@@MSPKT + MSALL$ :@@@/YPV )@@G@@@ @@@@ + 01600,BUF :@@@/*@^@@@@ RES 3 PW )@@G@@:@@@/2@ @@@@DON1 'DONE' :@@@//@ @@@@BUF RES PX )@@G@@ 01600 :@@@.A@]@@@@MFDPKT . :@@@.K@B@@@@ + 0 PY )@@G@@ . :@@@.U@B@@@@ + 0 . PZ )@@G@@:@@@.=@A@@@@ + MFDPKT+MPKTLEN :@@@.,@ @@@@ + QA )@@G@@ 0,000001 :@@@.8@ @@@@ 'F50M ' :@@@"]@ @@@@QB )@@G@@ 'QUIDB1' :@@@"G@ @@@@ 'TDIR$'DL QC )@@G@@:@@@"Q@^@@@@ + 0 :@@@")@^@@@@ + 0 QD )@@G@@:@@@"%@^@@@@ + 0 :@@@"4@A@@@@ RES BASLQE )@@G@@EN+ACTLEN-11:@@@""@ @@@@MPKTLEN EQU $-MFDPKT :@@@_C@^@@@@ QF )@@G@@ END ST _@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QG )@@G@@*[@@@@*SDFF*:@@@[=@G@@@@. THIS PROGRAM MUST RUN PRIVILEDGED IN OQH )@@G@@RDER TO DREG THE FILES :@@@[,@@@@@@:@@@[8@C@@@@. THE FOLLOWING QI )@@G@@FILES MUST BE ASSIGNED :@@@]]@G@@@@. COPY-FILE DISK QJ )@@G@@FOR THE ADD STREAM FOR @COPY,G'S :@@@]G@G@@@@. TAPEQK )@@G@@ TAPE FOR THE INPUT (USE EITHER TAPE1 OR :@@@]Q@E@@@@. QL )@@G@@ TAPE2 FROM PACK-COPY) :@@@])@[@@@@. :@@@]%QM )@@G@@@F@@@@. THE FOLLOWING FILE IS @ASG,T'ED BY THIS PROGRAM AND QN )@@G@@:@@@]4@ @@@@. WRITTEN INTO: :@@@]"@G@@@@. QO )@@G@@ ADD-COPY DISK CONTAINING THE @ADD FOR COPY-FILE :@@@#C@[@@@@. QP )@@G@@:@@@#M@ @@@@. HEAD FILE FORMAT: :@@@#W@B@@@@. QQ )@@G@@ WORD 0 **RC** :@@@#&@C@@@@. 1 FROQR )@@G@@M PACK ID :@@@#0@C@@@@. 2 FROM EQUIP TYPEQS )@@G@@:@@@#'@C@@@@. 3-4 QUALIFIER :@@@^^@C@@@@QT )@@G@@. 5-6 FILE NAME :@@@^I@C@@@@. QU )@@G@@ 7-8 PROJECT ID :@@@^S@D@@@@. QV )@@G@@ 9-10 ACCOUNT NUMBER :@@@^+@D@@@@. 11 QW )@@G@@ CYCLE NUMBER (OCTAL) :@@@^?@B@@@@. 12 REAQX )@@G@@D KEY :@@@^6@B@@@@. 13 WRITE KEY:@@@ @@E@@@@QY )@@G@@. 14,S6 PCHAR FLAG (4 BITS XXXX00) :@@@ E@F@@@@QZ )@@G@@. 1000 = POSITION GRANULARITY :@@@ ORA )@@G@@@E@@@@. 0010 = WORD ADDRESSABLE :@@@ YRB )@@G@@@E@@@@. 15,S6 INHIBIT FLAGS (6 BITS) :@@@ *RC )@@G@@@D@@@@. 100 000 = @ASG,G :@@@ 2@D@@@@RD )@@G@@. 010 000 = @ASG,V :@@@ /@D@@@@. RE )@@G@@ 001 000 = NOT @ASG,P:@@@AA@D@@@@. RF )@@G@@ 000 010 = @ASG,W :@@@AK@D@@@@. RG )@@G@@ 000 001 = @ASG,R :@@@AU@E@@@@. RH )@@G@@ 16 HIGHEST TRACK ASSIGNED + 1 :@@@A=@C@@@@. RI )@@G@@ 17 INITIAL RESERVE:@@@A,@E@@@@. 18 MAXRJ )@@G@@IMUM NUMBER OF GRANULES :@@@A8@D@@@@. 19 FILRK )@@G@@LER (FD BLANKS) :@@@B]@^@@@@$(01) AXR$ . :@@@BG@]@@@@ST RL )@@G@@ . :@@@BQ@E@@@@ LXI,U X11,0300001 . GET THE PCK RM )@@G@@BDI :@@@B)@D@@@@ LBJ X11,$+1 . BASE THE PCTRN )@@G@@:@@@B%@F@@@@ L,U X1,RPCTA$ . GET THE PCT ADDRESRO )@@G@@S :@@@B4@F@@@@ L,S2 A1,4,X1 . GET THE PRIVRP )@@G@@ INDICATOR :@@@B"@D@@@@ TEP,U A1,040 . PRIVILRQ )@@G@@EGED? :@@@CC@D@@@@ J REWINDTAPES . YES--GO ON RR )@@G@@:@@@CM@B@@@@ L A0,(0106,DLOC) . :@@@CW@F@@@@ RS )@@G@@ ER PRINT$ . TELL THEM TO ASG DLOC$ :@@@C&@D@@@@RT )@@G@@ ER EXIT$ . GOOD BYE :@@@C0@]@@@@REWINDRU )@@G@@TAPES.:@@@C'@D@@@@ LXI,U X11,0300000 . BDI OF 0 RV )@@G@@:@@@D^@D@@@@ LBJ X11,$+1 . UNBASE PCT :@@@DIRW )@@G@@@F@@@@ L,U A0,FACPKT . GET THE FACIL$ PACKET RX )@@G@@:@@@DS@H@@@@ ER FACIL$ . GET THE FILE INFO RY )@@G@@FOR COPY-FILE :@@@D+@E@@@@ TNZ,S1 FACPKT+6 . RZ )@@G@@IS IT ASSIGNED :@@@D?@E@@@@ J ASGFILES . SA )@@G@@NO--GO TELL THEM :@@@D6@F@@@@ DL A1,('TAPE ') . SB )@@G@@GET OTHER FILE NAME :@@@E@@F@@@@ DS A1,FACPKT SC )@@G@@ . PUT IT IN THE PACKET :@@@EE@F@@@@ L,U A0,FACPKT SD )@@G@@ . GET THE FACIL$ PACKET :@@@EO@F@@@@ ER FACISE )@@G@@L$ . GET THE INFO FOR TAPE :@@@EY@E@@@@ L,S1 SF )@@G@@ A1,FACPKT+6 . GET THE EQUIP TYPE:@@@E*@D@@@@ TNE,U SG )@@G@@ A1,015 . IS IT TAPE? :@@@E2@G@@@@ J CLOSSH )@@G@@ECOPY . YES--GO CLOSE THE COPY FILE :@@@E/@]@@@@ASGFILES . SI )@@G@@:@@@FA@F@@@@ L A0,(0106,ASGIT) . GET THE PRINT PACKSJ )@@G@@ET :@@@FK@G@@@@ ER PRINT$ . TELL THEM TOSK )@@G@@ ASG THE FILES :@@@FU@D@@@@ ER EXIT$ . SL )@@G@@GO AWAY :@@@F=@]@@@@CLOSECOPY . :@@@F,@F@@@@ L,U A0,CSM )@@G@@SF . GET THE BRKPT IMAGE :@@@F8@H@@@@ ER SN )@@G@@ CSF$ . CLOSE OUT COPY FILE JUST IN CASE :@@@G]@E@@@@SO )@@G@@ L A0,(0111,REMDEL) . REMIND USER TO :@@@GG@G@@@@SP )@@G@@ ER PRINT$ . DELETE THE FILES FIRST SQ )@@G@@:@@@GQ@E@@@@ L,U A0,TAPEIOW . GET THE IOW PACKETSR )@@G@@:@@@G)@E@@@@ ER IOW$ . REWIND THE TAPE SS )@@G@@:@@@G%@E@@@@ L,U A1,R$ . GET THE FUNCTION ST )@@G@@:@@@G4@F@@@@ S,S2 A1,TAPEIOW+3 . PUT IT IN THE PACKSU )@@G@@ET :@@@G"@B@@@@ L X1,(4,PACKTABLE) . :@@@HC@E@@@@SV )@@G@@ SZ A9 . CLEAR PACK COUNTER:@@@HM@]@@@@SW )@@G@@PACKLOOP . :@@@HW@A@@@@ L,U A0,PACKQUES :@@@H&@E@@@@SX )@@G@@ ER TREAD$ . GET THE PACKID :@@@H0@D@@@@SY )@@G@@ L,H1 A1,PACKID . GET THE ANS :@@@H'@C@@@@ SZ )@@G@@ TNE,U A1,'END' . END? :@@@I^@G@@@@ J TA )@@G@@ STARTTAPE . YES--LET'S GO READ THE TAPE :@@@II@A@@@@ TB )@@G@@ L,U A0,EQUIPQUES :@@@IS@E@@@@ ER TREAD$ TC )@@G@@ . GET THE EQUIP TYPE:@@@I+@A@@@@ L,U A0,SIZEQUETD )@@G@@S :@@@I?@H@@@@ ER TREAD$ . GET THE NUMBTE )@@G@@ER OF TRACKS TO LOAD :@@@I6@F@@@@ FDTOBIN TRKSIN TOTTRKS TF )@@G@@ . CONVERT TRACKS TO BIN :@@@J@@E@@@@ L A1,PACKID TG )@@G@@ . GET THE PACKID :@@@JE@F@@@@ S A1,0,X1 TH )@@G@@ . PUT IT IN THE TABLE :@@@JO@E@@@@ L A1,ETI )@@G@@QUIP . GET THE EQUIP TYPE:@@@JY@F@@@@ S A1,1TJ )@@G@@,X1 . PUT IT IN THE TABLE :@@@J*@E@@@@ L TK )@@G@@ A1,TOTTRKS . GET TOTAL TRACKS :@@@J2@F@@@@ S TL )@@G@@ A1,2,X1 . PUT IT IN THE TABLE :@@@J/@F@@@@ SZTM )@@G@@ 3,*X1 . CLEAR THE FILE COUNTER :@@@KA@E@@@@ TN )@@G@@ A,U A9,1 . BUMP PACK COUNT :@@@KK@D@@@@ TO )@@G@@ TE,U A9,5 . FIVE YET? :@@@KU@E@@@@ J TP )@@G@@ PACKLOOP . NO--GO ASK AGAIN :@@@K=@]@@@@STARTTAPE . TQ )@@G@@:@@@K,@D@@@@ L A1,BRK . GET @BRK :@@@K8TR )@@G@@@F@@@@ S A1,CATLINE . PUT IT IN THE BUFFER TS )@@G@@:@@@L]@D@@@@ L,U A1,1 . GET THE LEN :@@@LGTT )@@G@@@E@@@@ S,S3 A1,COPYFILE . CHANGE THE PACKET :@@@LQTU )@@G@@@E@@@@ L,U A0,COPYFILE . GET THE PACKET :@@@L)TV )@@G@@@D@@@@ ER PRNTA$ . WRITE IT OUT:@@@L%@E@@@@TW )@@G@@ L,U A1,026 . GET THE PROPER LEN:@@@L4@D@@@@TX )@@G@@ S,S3 A1,COPYFILE . RESTORE IT :@@@L"@]@@@@READTATY )@@G@@PE .:@@@MC@ @@@@ L,U A0,TAPEIOW:@@@MM@F@@@@ ERTZ )@@G@@ IOW$ . READ THE HEADER BLOCK :@@@MW@D@@@@ UA )@@G@@ TZ,S1 TAPEIOW+3 . GOOD STATUS?:@@@M&@F@@@@ J UB )@@G@@ CKTAPESTAT . NO--GO CHECK STATUS :@@@M0@F@@@@ UC )@@G@@ L A1,BUF . GET THE HEADER WORD :@@@M'@G@@@@UD )@@G@@ TE A1,('**RC**') . IS IT REALLY A HEADER BLOCK? UE )@@G@@:@@@N^@E@@@@ J BADTAPE . NO--GO TO ERROR UF )@@G@@:@@@NI@F@@@@ L X9,(4,PACKTABLE-4) . GET PACK TABLE POIUG )@@G@@NTER :@@@NS@]@@@@FINDROOM . :@@@N+@F@@@@ L A4,2+4,*X9UH )@@G@@ . GET ROOM ON THE PACK :@@@N?@E@@@@ TP A4 UI )@@G@@ . END OF TABLE? :@@@N6@D@@@@ J OUTOUJ )@@G@@FSPACE . YES--TROUBLE:@@@O@@E@@@@ TLE A4,BUF+16 UK )@@G@@ . ROOM ON THIS PACK?:@@@OE@F@@@@ J FINDROOM UL )@@G@@ . NO--GO TRY ANOTHER PACK :@@@OO@E@@@@ AN A4,BUM )@@G@@UF+16 . SUBTRACT OUT SIZE :@@@OY@D@@@@ S A4,2UN )@@G@@,X9 . PUT IT BACK :@@@O*@F@@@@ L A1,3,X9 UO )@@G@@ . GET THE FILE COUNTER :@@@O2@D@@@@ A,U A1,1UP )@@G@@ . BUMP IT BY 1:@@@O/@D@@@@ S A1,3,X9 UQ )@@G@@ . PUT IT BACK :@@@PA@B@@@@ E$DIT EDITPKT UR )@@G@@ . :@@@PK@E@@@@ E$COPY 6,CAT . PUT IN @ASG,US )@@G@@C :@@@PU@E@@@@ L A4,BUF+15 . GET ASG OPTIUT )@@G@@ONS :@@@P=@F@@@@ LSSL A4,30 . SHIFT OVER TUU )@@G@@O G OPT :@@@P,@D@@@@ JPS A4,NOGOPT . NO G OUV )@@G@@PTION :@@@P8@E@@@@ E$CHAR 'G' . PUT IN A G OUW )@@G@@PTION :@@@Q]@]@@@@NOGOPT . :@@@QG@D@@@@ JPS A4,NOVOPT UX )@@G@@ . NO V OPTION :@@@QQ@E@@@@ E$CHAR 'V' UY )@@G@@ . PUT IN A V OPTION :@@@Q)@]@@@@NOVOPT . :@@@Q%@D@@@@ JNUZ )@@G@@S A4,NOPOPT . NO P OPT :@@@Q4@E@@@@ E$CHAR VA )@@G@@ 'P' . PUT IN A P OPT :@@@Q"@]@@@@NOPOPT . :@@@RCVB )@@G@@@E@@@@ JPS A4,$+1 . SKIP OVER X OPTION:@@@RMVC )@@G@@@D@@@@ JPS A4,NOWOPT . NO W OPTION :@@@RW@E@@@@VD )@@G@@ E$CHAR 'W' . PUT IN W OPTION :@@@R&@]@@@@VE )@@G@@NOWOPT . :@@@R0@D@@@@ JPS A4,NOROPT . NO R OVF )@@G@@PTION :@@@R'@E@@@@ E$CHAR 'R' . PUT IN R OPTVG )@@G@@ION :@@@S^@]@@@@NOROPT . :@@@SI@]@@@@GETFILE . :@@@SS@E@@@@ VH )@@G@@ E$SKIP 5 . SKIP 5 COLUMNS :@@@S+@E@@@@ VI )@@G@@ LMJ X10,BUILDFILEN . GO BUILD FILE NAME:@@@S?@^@@@@ VJ )@@G@@ E$CHAR '.' :@@@S6@^@@@@ E$CHAR ',' :@@@T@@E@@@@ VK )@@G@@ L A4,1,X9 . GET EQUIP TYPE :@@@TE@D@@@@ VL )@@G@@ S A4,HOLDQ . SAVE IT :@@@TO@E@@@@ L VM )@@G@@ A4,BUF+14 . GET FILE TYPE :@@@TY@G@@@@ LSVN )@@G@@SL A4,32 . SHIFT OVER TO WAD INDICATOR :@@@T*@D@@@@VO )@@G@@ L,U A5,'D' . GET A D :@@@T2@D@@@@ VP )@@G@@ TP A4 . IS IT WAD? :@@@T/@E@@@@ S,VQ )@@G@@S1 A5,HOLDQ . CHANGE F TO D :@@@UA@E@@@@ SFVR )@@G@@S HOLDQ+1 . CLEAR NEXT WORD :@@@UK@D@@@@ E$VS )@@G@@MSG HOLDQ . COPY IT IN :@@@UU@B@@@@ E$CHAR VT )@@G@@ '/' . :@@@U=@E@@@@ L A4,BUF+17 VU )@@G@@ . GET THE INIT RES :@@@U,@F@@@@ LMJ X10,CONVERTTOWORVV )@@G@@DS . CONVERT TO WORDS IF WAD :@@@U8@D@@@@ S A4,BUF+17 VW )@@G@@ . PUT IT BACK :@@@V]@E@@@@ E$DECV BUF+17 VX )@@G@@ . PUT IN INIT RES :@@@VG@B@@@@ E$CHAR '/' VY )@@G@@ . :@@@VQ@E@@@@ L A4,BUF+14 . GET FILE TYPVZ )@@G@@E :@@@V)@G@@@@ LSSL A4,30 . SHIFT OVER TWA )@@G@@O POS INDICATOR :@@@V%@D@@@@ JP A4,NOTPOS . WB )@@G@@NOT POSITION:@@@V4@B@@@@ E$COPY 3,POS . :@@@V"WC )@@G@@@]@@@@NOTPOS . :@@@WC@^@@@@ E$CHAR '/' :@@@WM@D@@@@ WD )@@G@@ L A4,BUF+18 . GET MAX SIZE:@@@WW@F@@@@ LMWE )@@G@@J X10,CONVERTTOWORDS . CONVERT TO WORDS IF WAD:@@@W&@E@@@@ WF )@@G@@ S A4,BUF+18 . AND PUT IT BACK :@@@W0@E@@@@ WG )@@G@@ E$DECV BUF+18 . PUT IN MAX SIZE :@@@W'@B@@@@ WH )@@G@@ E$CHAR ',' . :@@@X^@D@@@@ L A4,0WI )@@G@@,X9 . GET PACK ID :@@@XI@D@@@@ S A4,HOLDQ WJ )@@G@@ . SAVE IT :@@@XS@B@@@@ E$MSG HOLDQ WK )@@G@@ . :@@@X+@B@@@@ E$SKIP 5 . :@@@X?@D@@@@WL )@@G@@ E$CHAR '.' . TERMINATOR :@@@X6@^@@@@ WM )@@G@@ E$DITX . :@@@Y@@B@@@@ L A0,(0126,CATLINE) WN )@@G@@:@@@YE@B@@@@ ER PRINT$ . :@@@YO@ @@@@ WO )@@G@@ L,U A0,CATLINE:@@@YY@D@@@@ ER CSF$ WP )@@G@@ . CAT THE FILE:@@@Y*@D@@@@ TP A0 . WQ )@@G@@GOOD CAT? :@@@Y2@D@@@@ J BADCAT . NO--PRWR )@@G@@OBLEMS:@@@Y/@E@@@@ JZ A0,DREG . GO PERFORM DWS )@@G@@REG :@@@ZA@F@@@@ S A0,HOLDQ . SAVE THE CSFWT )@@G@@ STATUS :@@@ZK@B@@@@ E$DIT EDITPKT . :@@@ZUWU )@@G@@@B@@@@ E$COPY 13,FACWARN . :@@@Z=@E@@@@ E$WV )@@G@@OCTF 12,HOLDQ . EDIT IN THE STATUS:@@@Z,@^@@@@ E$WW )@@G@@DITX . :@@@Z8@B@@@@ L,U A0,(0126,CATLINE) . :@@@)]WX )@@G@@@B@@@@ ER PRINT$ . :@@@)G@]@@@@DREG . WY )@@G@@:@@@)Q@B@@@@ E$DIT EDITPKT . :@@@))@F@@@@ WZ )@@G@@ E$COPY 16,DREGUSE . PUT IN @USE DREG-FILE., :@@@)%@E@@@@XA )@@G@@ LMJ X10,BUILDFILEN . PUT IN FILE NAME :@@@)4@B@@@@XB )@@G@@ E$CHAR '.' . :@@@)"@B@@@@ E$SKIP XC )@@G@@ 3 . :@@@-C@F@@@@ E$CHAR '.' XD )@@G@@ . PUT IN A TERMINATOR :@@@-M@^@@@@ E$DITX . :@@@-WXE )@@G@@@B@@@@ L,U A0,CATLINE . :@@@-&@D@@@@ ERXF )@@G@@ CSF$ . DO THE @USE :@@@-0@E@@@@ DL XG )@@G@@ A4,BUF+7 . GET THE PROJ ID :@@@-'@E@@@@ DS XH )@@G@@ A4,DREGPROJ . PUT IT IN DREG PKT:@@@+^@D@@@@ DL XI )@@G@@ A4,BUF+9 . GET THE ACCT:@@@+I@F@@@@ DS A4,DXJ )@@G@@REGACCT . PUT IT IN THE DREG PKT :@@@+S@F@@@@ L,U XK )@@G@@ A0,DREGPKT . GET THE DREG PACKET :@@@++@G@@@@ ERXL )@@G@@ MSCON$ . PUT IN PROPER PROJ AND ACCT :@@@+?@D@@@@XM )@@G@@ SSL A0,18 . RJ STATUS :@@@+6@D@@@@ XN )@@G@@ JZ A0,BUILDCOPY . GOOD STATUS?:@@@<@@E@@@@ S,XO )@@G@@H2 A0,HOLDQ . SAVE THE STATUS :@@@]XY )@@G@@@F@@@@ E$CHAR '.' . PUT IN A TERMINATOR XZ )@@G@@:@@@>G@^@@@@ E$DITX . :@@@>Q@B@@@@ L,U A0,CYA )@@G@@ATLINE . :@@@>)@E@@@@ ER CSF$ . YB )@@G@@FREE THE FILE :@@@>%@B@@@@ E$DIT EDITPKT . YC )@@G@@:@@@>4@E@@@@ E$COPY 8,ASGA . PUT IN @ASG,AQ YD )@@G@@:@@@>"@F@@@@ LMJ X10,BUILDFILEN . GO PUT IN FILE NAMYE )@@G@@E :@@@&C@^@@@@ E$CHAR '.' :@@@&M@^@@@@ E$SKIP YF )@@G@@ 5 :@@@&W@F@@@@ E$CHAR '.' . PUT IN A TERYG )@@G@@MINATOR :@@@&&@^@@@@ E$DITX . :@@@&0@E@@@@ L,YH )@@G@@U A0,COPYFILE . GET PRINTA PKT :@@@&'@F@@@@ ERYI )@@G@@ PRNTA$ . PUT @ASG,AQ IN FILE :@@@$^@B@@@@ YJ )@@G@@ E$DIT EDITPKT . :@@@$I@F@@@@ E$COPY 14,CYK )@@G@@OPY . PUT IN @COPY,G TAPE., :@@@$S@A@@@@ LMJ YL )@@G@@ X10,BUILDFILEN :@@@$+@^@@@@ E$CHAR '.' :@@@$?@^@@@@ YM )@@G@@ E$DITX . :@@@$6@B@@@@ L,U A0,COPYFILE . YN )@@G@@:@@@*@@D@@@@ ER PRNTA$ . WRITE IT OUT:@@@*EYO )@@G@@@B@@@@ E$DIT EDITPKT . :@@@*O@D@@@@ E$YP )@@G@@COPY 6,FREE . PUT IN @FREE:@@@*Y@E@@@@ LMJ YQ )@@G@@ X10,BUILDFILEN . PUT IN FILE NAME :@@@**@^@@@@ E$CHAR YR )@@G@@ '.' :@@@*2@#@@@@ E$DITX :@@@*/@D@@@@ L,U A0,CYS )@@G@@OPYFILE . GET PACKET :@@@(A@D@@@@ ER PRNTA$ YT )@@G@@ . WRITE IT OUT:@@@(K@D@@@@ L A7,('TIP$ ') YU )@@G@@ . GET TIP$ :@@@(U@E@@@@ TNE A7,BUF+3 . YV )@@G@@IS QUAL TIP$? :@@@(=@E@@@@ J DOTPASG . YW )@@G@@YES--GO DO TP ASG :@@@(,@D@@@@ L A7,('MMIS ') . YX )@@G@@GET MMIS :@@@(8@E@@@@ TNE A7,BUF+3 . IS QUAYY )@@G@@L MMIS? :@@@%]@H@@@@ J READTAPE . NO--GYZ )@@G@@O READ ANOTHER TAPE BLOCK :@@@%G@E@@@@ DL A7,BUF+5 ZA )@@G@@ . GET THE FILE NAME :@@@%Q@D@@@@ DTE A7,('PROV-ZB )@@G@@HCOS-AR') . MAGIC FILE? :@@@%)@E@@@@ J TEST2 ZC )@@G@@ . NO--GO TRY ANOTHER:@@@%%@E@@@@ J DOTPASG ZD )@@G@@ . YES--GO DO TPASG :@@@%4@]@@@@TEST2 . :@@@%"@D@@@@ DTZE )@@G@@E A7,('PROV-TOSS-AR') . MAGIC FILE? :@@@:C@E@@@@ J ZF )@@G@@ TEST3 . NO--GO TO TEST 3 :@@@:M@E@@@@ J ZG )@@G@@ DOTPASG . YES--GO DO TPASG :@@@:W@]@@@@TEST3 . :@@@:&ZH )@@G@@@D@@@@ DTE A7,('PROV-OPER-AR') . MAGIC FILE? :@@@:0@F@@@@ZI )@@G@@ J READTAPE . NO--GO READ THE TAPE :@@@:'ZJ )@@G@@@]@@@@DOTPASG . :@@@?^@B@@@@ E$DIT EDITPKT . ZK )@@G@@:@@@?I@B@@@@ E$COPY 29,XQTLINE . :@@@?S@^@@@@ ZL )@@G@@ E$DITX . :@@@?+@E@@@@ L,U A0,COPYFILE . ZM )@@G@@GET THE PACKET :@@@??@D@@@@ ER PRNTA$ . ZN )@@G@@WRITE IT OUT:@@@?6@ @@@@ E$DIT EDITPKT :@@@!@@E@@@@ ZO )@@G@@ E$COPY 8,TPASG . PUT IN TPASG,K :@@@!E@D@@@@ ZP )@@G@@ DL A7,BUF+3 . GET THE QUAL:@@@!O@D@@@@ DSZQ )@@G@@ A7,HOLDQ . SAVE IT :@@@!Y@D@@@@ E$MSG ZR )@@G@@ HOLDQ . PUT IT IN :@@@!*@B@@@@ E$CHAR '*' ZS )@@G@@ . :@@@!2@E@@@@ DL A7,BUF+5 . ZT )@@G@@GET FILE NAME :@@@!/@B@@@@ DS A7,HOLDQ . ZU )@@G@@:@@@,A@D@@@@ E$MSG HOLDQ . PUT IT IN :@@@,KZV )@@G@@@E@@@@ L A7,(' ') . GET SOME SPACES :@@@,UZW )@@G@@@F@@@@ TNE A7,BUF+12 . IS THERE A READ KEY? ZX )@@G@@:@@@,=@G@@@@ J NOREADKEY . NO--GO CHECK FOR WZY )@@G@@RITE KEY :@@@,,@D@@@@ E$CHAR '/' . PUT INZZ )@@G@@ SLASH:@@@,8@E@@@@ L A7,BUF+12 . GET THE READAA )@@G@@ KEY :@@@\]@D@@@@ S A7,HOLDQ+1 . SAVE IT AB )@@G@@:@@@\G@D@@@@ E$MSG HOLDQ+1 . EDIT IT IN :@@@\QAC )@@G@@@]@@@@NOREADKEY . :@@@\)@B@@@@ L A7,(' ') . AD )@@G@@:@@@\%@F@@@@ TNE A7,BUF+13 . IS THERE A WRITE KAE )@@G@@EY? :@@@\4@F@@@@ J SENDTPASG . NO--GO SEND AF )@@G@@THE TPASG :@@@\"@E@@@@ L,U A1,2 . SET FOAG )@@G@@R 2 SLASHES :@@@0C@F@@@@ TE A7,BUF+12 . WAS THAH )@@G@@ERE A READ KEY? :@@@0M@G@@@@ L,U A1,1 . AI )@@G@@YES--ONLY ONE SLASH NEEDED :@@@0W@D@@@@ L,U A0,SLASHESAJ )@@G@@ . GET SLASHS :@@@0&@F@@@@ LMJ X11,ECOPY$ AK )@@G@@ . GO COPY IN THE SLASH(S) :@@@00@E@@@@ L A7,BUF+13 AL )@@G@@ . GET THE WRITE KEY :@@@0'@D@@@@ S A7,HOLDQ+1AM )@@G@@ . SAVE IT :@@@1^@D@@@@ E$MSG HOLDQ+1 AN )@@G@@ . PUT IT IN :@@@1I@]@@@@SENDTPASG . :@@@1S@^@@@@ E$DITX AO )@@G@@ . :@@@1+@E@@@@ L,U A0,COPYFILE . GET THE PACKAP )@@G@@ET :@@@1?@D@@@@ ER PRNTA$ . WRITE IT OUTAQ )@@G@@:@@@16@C@@@@ J READTAPE . :@@@2@@^@@@@AR )@@G@@BUILDFILEN . :@@@2E@D@@@@ DL A4,BUF+3 AS )@@G@@ . GET QUAL :@@@2O@ @@@@ DS A4,HOLDQ :@@@2Y@ @@@@AT )@@G@@ E$MSG HOLDQ :@@@2*@^@@@@ E$CHAR '*' :@@@22AU )@@G@@@E@@@@ DL A4,BUF+5 . GET FILE NAME :@@@2/AV )@@G@@@B@@@@ DS A4,HOLDQ . :@@@3A@ @@@@ E$AW )@@G@@MSG HOLDQ :@@@3K@^@@@@ E$CHAR '(' :@@@3U@ @@@@ AX )@@G@@ E$DECV BUF+11 :@@@3=@^@@@@ E$CHAR ')' :@@@3,@G@@@@AY )@@G@@ E$CHAR '/' . SLASH IN CASE OF READ KEY AZ )@@G@@:@@@38@A@@@@ L A7,(' ') :@@@4]@F@@@@ TNBA )@@G@@E A7,BUF+12 . IS THERE A READ KEY? :@@@4G@D@@@@ BB )@@G@@ J NOREAD . NO READ KEY :@@@4Q@E@@@@ L BC )@@G@@ A4,BUF+12 . GET THE READ KEY :@@@4)@ @@@@ S BD )@@G@@ A4,HOLDQ :@@@4%@ @@@@ SFS HOLDQ+1 :@@@44@E@@@@BE )@@G@@ E$MSG HOLDQ . PUT IN READ KEY :@@@4"@]@@@@BF )@@G@@NOREAD . :@@@5C@H@@@@ E$CHAR '/' . PUT INBG )@@G@@ SLASH IN CASE OF WRITE KEY :@@@5M@F@@@@ TNE A7,BUF+13 BH )@@G@@ . IS THERE A WRITE KEY? :@@@5W@D@@@@ J 0,X1BI )@@G@@0 . NO--RETURN :@@@5&@E@@@@ L A4,BUF+13 BJ )@@G@@ . GET WRITE KEY :@@@50@B@@@@ S A4,HOLDQ BK )@@G@@ . :@@@5'@ @@@@ SFS HOLDQ+1 :@@@6^@ @@@@ BL )@@G@@ E$MSG HOLDQ :@@@6I@ @@@@ J 0,X10 :@@@6SBM )@@G@@@^@@@@CKTAPESTAT . :@@@6+@E@@@@ L,S1 A1,TAPEIOWBN )@@G@@+3 . GET THE STATUS :@@@6?@C@@@@ TE,U A1,1 BO )@@G@@ . EOF? :@@@66@E@@@@ ER ERR$ . BP )@@G@@BAD TAPE ERROR :@@@7@@D@@@@ L A1,BRKN . BQ )@@G@@GET @BRK,N :@@@7E@F@@@@ S A1,CATLINE . PUT ITBR )@@G@@ IN THE BUFFER :@@@7O@D@@@@ L,U A1,1 . BS )@@G@@GET THE LEN :@@@7Y@F@@@@ S,S3 A1,COPYFILE . PUT ITBT )@@G@@ IN THE PACKET :@@@7*@E@@@@ L,U A0,COPYFILE . BU )@@G@@GET THE PACKET :@@@72@D@@@@ ER PRNTA$ . BV )@@G@@WRITE IT OUT:@@@7/@ @@@@ L,U A0,CSF :@@@8A@E@@@@ BW )@@G@@ ER CSF$ . CLOSE THE ADD FILE:@@@8K@D@@@@ BX )@@G@@ TP A0 . GOOD STATUS?:@@@8U@^@@@@ ERBY )@@G@@ ERR$:@@@8=@ @@@@ L,U A0,ASG :@@@8,@^@@@@ BZ )@@G@@ ER CSF$:@@@88@^@@@@ TP A0 :@@@9]@^@@@@ CA )@@G@@ ER ERR$:@@@9G@ @@@@ L,U A0,ADDPKT :@@@9Q@^@@@@CB )@@G@@ ER IOW$:@@@9)@ @@@@ L,U A0,ADDIT :@@@9%CC )@@G@@@B@@@@ ER CSF$ . :@@@94@^@@@@ TPCD )@@G@@ A0 :@@@9"@^@@@@ ER ERR$:@@@'C@E@@@@ L CE )@@G@@ X9,(4,PACKTABLE) . GET THE TABLE :@@@'M@F@@@@ L,CF )@@G@@U R5,4 . GET THE LOOP COUNTER :@@@'W@^@@@@PACKPRCG )@@G@@TLOOP . :@@@'&@E@@@@ L A5,3,X9 . CH )@@G@@GET THE FILE COUNT:@@@'0@F@@@@ JN A5,FINISH . CI )@@G@@GET OUT IF END OF TABLE :@@@''@F@@@@ JZ A5,LOOPBACK CJ )@@G@@ . DON'T PRINT IF CNT = 0 :@@@;^@ @@@@ E$DIT EDITPKT CK )@@G@@:@@@;I@E@@@@ S A5,HOLDQ . SAVE THE COUNT CL )@@G@@:@@@;S@D@@@@ E$DECV HOLDQ . EDIT IT IN :@@@;+CM )@@G@@@E@@@@ E$COPY 27,NOFILES . PUT IN FILES MSG :@@@;?CN )@@G@@@E@@@@ L A4,0,X9 . GET THE PACKID :@@@;6CO )@@G@@@D@@@@ S A4,HOLDQ . SAVE IT :@@@/@@E@@@@CP )@@G@@ E$COPY 6,HOLDQ . COPY IN PACKID :@@@/E@^@@@@CQ )@@G@@ E$DITX . :@@@/O@B@@@@ L A0,(0126,CATLINECR )@@G@@) . :@@@/Y@D@@@@ ER PRINT$ . PRINT IT CS )@@G@@:@@@/*@]@@@@LOOPBACK . :@@@/2@D@@@@ NOP 0,0,*X9 CT )@@G@@ . BUMP X9 :@@@//@E@@@@ JGD R5,PACKPRTLOOP . CU )@@G@@LOOP BACK IF MORE :@@@.A@]@@@@FINISH . :@@@.K@A@@@@ L CV )@@G@@ A0,(0101,DONE) :@@@.U@ @@@@ ER PRINT$ :@@@.=@ @@@@CW )@@G@@ ER EXIT$ :@@@.,@]@@@@BADTAPE . :@@@.8@B@@@@ CX )@@G@@ L A0,(0104,BADTAPE2) :@@@"]@ @@@@ ER PRINCY )@@G@@T$ :@@@"G@ @@@@ ER EXIT$ :@@@"Q@^@@@@OUTOFSPACE CZ )@@G@@ . :@@@")@A@@@@ L A0,(0105,OUTERR):@@@"%@ @@@@DA )@@G@@ ER PRINT$ :@@@"4@ @@@@ ER EXIT$ DB )@@G@@:@@@""@]@@@@BADCAT . :@@@_C@E@@@@ S A0,HOLDQ DC )@@G@@ . SAVE THE STATUS :@@@_M@B@@@@ E$DIT EDITPKT DD )@@G@@ . :@@@_W@E@@@@ E$COPY 37,CATERR . PUT IN ERR MDE )@@G@@SG :@@@_&@B@@@@ E$OCTF 12,HOLDQ . :@@@_0@^@@@@DF )@@G@@ E$DITX . :@@@_'@B@@@@ L A0,(0126,CATLINEDG )@@G@@) . :@@[@^@ @@@@ ER PRINT$ :@@[@I@^@@@@ ERDH )@@G@@ ERR$:@@[@S@]@@@@END . :@@[@+@A@@@@ L A0,(DI )@@G@@0106,ENDERR):@@[@?@ @@@@ ER PRINT$ :@@[@6@ @@@@ DJ )@@G@@ ER EXIT$ :@@[[@@^@@@@CONVERTTOWORDS . :@@[[E@E@@@@DK )@@G@@ L A6,A4 . SAVE ORIGINAL SIZE:@@[[O@E@@@@DL )@@G@@ L A5,BUF+14 . GET THE FILE TYPE :@@[[Y@E@@@@DM )@@G@@ LSSL A5,30 . SHIFT OVER TO POS :@@[[*@D@@@@DN )@@G@@ TP A5 . IS IT POS? :@@[[2@E@@@@ DO )@@G@@ MSI,U A4,64 . YES--MULT BY 64 :@@[[/@F@@@@ DP )@@G@@ LSSL A5,2 . SHIFT OVER TO WAD BIT :@@[]A@F@@@@DQ )@@G@@ MSI,U A4,1792 . YES--CONVERT TO WORDS :@@[]KDR )@@G@@@D@@@@ TN A5 . IS IT WAD? :@@[]U@F@@@@DS )@@G@@ L A4,A6 . NO--RESTORE ORIG VALUE :@@[]=DT )@@G@@@C@@@@ J 0,X10 . RETURN:@@[],@]@@@@$(00) DU )@@G@@ . :@@[]8@E@@@@DLOC 'THIS RUN MUST BE PRIVILEGED. BYE DV )@@G@@BYE.' :@@[#]@A@@@@FACPKT 'COPY-FILE ' :@@[#G@^@@@@ DW )@@G@@ RES 10 :@@[#Q@E@@@@ASGIT 'COPY-FILE AND TAPE MUDX )@@G@@ST BE ASSIGNED' :@@[#)@D@@@@NOFILES ' FILES WERE LOADED TODY )@@G@@ PACK ' :@@[#%@ @@@@BRK '@BRK ' :@@[#4@ @@@@BRKN DZ )@@G@@ '@BRK,N' :@@[#"@F@@@@REMDEL 'UNLESS YOU HAVE DELETED THEA )@@G@@E FILES DO NOT PROCEED!!' :@@[^C@^@@@@SLASHES '//':@@[^MEB )@@G@@@^@@@@DREGPKT + 037 :@@[^W@A@@@@ 'DREG-FILEEC )@@G@@' :@@[^&@^@@@@DREGPROJ RES 2 :@@[^0@^@@@@DREGACCT RES ED )@@G@@ 2 :@@[^'@^@@@@ RES 3 :@@[ ^@C@@@@DREGSTAT EE )@@G@@ 'MSCON STATUS FROM DREG = ' :@@[ I@B@@@@DREGUSE '@USE DREGEF )@@G@@-FILE.,' :@@[ S@ @@@@FREE '@FREE ' :@@[ +@ @@@@ASGA EG )@@G@@ '@ASG,AQ ':@@[ ?@D@@@@XQTLINE '@XQT,MXUZ TIP$*EH )@@G@@TIPRUN$.TREG ' :@@[ 6@ @@@@TPASG 'TPASG,K ':@@[A@@A@@@@EI )@@G@@FACWARN 'FAC WARNING = ':@@[AE@D@@@@ENDERR 'ENTEJ )@@G@@ER END AFTER LAST PACKID SET' :@@[AO@E@@@@CATERR 'ERROR IN EK )@@G@@PROCESSING THE @ASG STATUS = ':@@[AY@C@@@@BADTAPE2 'HEADER BLEL )@@G@@OCKS ARE BAD' :@@[A*@D@@@@OUTERR 'WE HAVE RUN OUT OF DIEM )@@G@@SK SPACE' :@@[A2@B@@@@ASG '@ASG,T ADD-COPY. . ' :@@[A/EN )@@G@@@B@@@@CSF '@BRKPT COPY-FILE . ' :@@[BA@B@@@@ADDPKT I$EO )@@G@@OD 'ADD-COPY',W$ 8,ADDBUF:@@[BK@B@@@@ADDIT '@ADD ADDEP )@@G@@-COPY. . ' :@@[BU@ @@@@DONE 'DONE' :@@[B=@A@@@@COPYFIEQ )@@G@@LE + 0126,CATLINE :@@[B,@A@@@@ 'COPY-FILEER )@@G@@' :@@[B8@A@@@@ADDBUF + 0500130000000 :@@[C]@ @@@@ ES )@@G@@ '*SDFF*' :@@[CG@A@@@@ + 000400000000 ET )@@G@@:@@[CQ@B@@@@ '@ADD,PEL COPY-FILE.' :@@[C)@A@@@@ EU )@@G@@ + 0770000000000 :@@[C%@A@@@@ 'COPY-FILEEV )@@G@@' :@@[C4@B@@@@EDITPKT E$PKTF 22,CATLINE 'MSG',' ' :@@[C"@^@@@@EW )@@G@@CATLINE RES 22 :@@[DC@ @@@@POS 'POS ' :@@[DMEX )@@G@@@ @@@@HOLDQ ' ' :@@[DW@ @@@@ ' EY )@@G@@ ' :@@[D&@ @@@@ ' ' :@@[D0@B@@@@TAPEIOW I$EZ )@@G@@OT 'TAPE',REW$ 20,BUF :@@[D'@^@@@@BUF RES 20 :@@[E^FA )@@G@@@ @@@@CAT '@ASG,C' :@@[EI@A@@@@COPY '@COFB )@@G@@PY,G TAPE.,':@@[ES@A@@@@PACKQUES + 0104,PACKQUE :@@[E+@ @@@@FC )@@G@@ + END,PACKID:@@[E?@B@@@@PACKQUE 'ENTER PACFD )@@G@@KID OR END' :@@[E6@A@@@@EQUIPQUES + 0103,EQUIPQUE :@@[F@@ @@@@FE )@@G@@ + END,EQUIP :@@[FE@B@@@@EQUIPQUE 'ENTER EQUFF )@@G@@IP TYPE' :@@[FO@A@@@@SIZEQUES + 0112,SIZEQUE :@@[FY@ @@@@FG )@@G@@ + END,TRKSIN:@@[F*@G@@@@SIZEQUE 'ENTER NUMBER OF TRAFH )@@G@@CKS TO LOAD (6 CHAR WITH LEADING ZEROS)' :@@[F2@^@@@@PACKID + FI )@@G@@ 0 :@@[F/@^@@@@EQUIP + 0 :@@[GA@^@@@@TRKSIN + FJ )@@G@@ 0 :@@[GK@^@@@@TOTTRKS + 0 :@@[GU@^@@@@ RES FK )@@G@@ 25 :@@[G=@G@@@@PACKTABLE . . 5 ENTRIES WIFL )@@G@@TH AN END OF TABLE:@@[G,@D@@@@ . FM )@@G@@ ENTRY :@@[G8@E@@@@ . 4 WORDFN )@@G@@S PER ENTRY :@@[H]@F@@@@ . CONTFO )@@G@@AINING PACKID :@@[HG@F@@@@ . FP )@@G@@ EQUIP TYPE :@@[HQ@G@@@@ FQ )@@G@@ . NUMBER OF TRKS :@@[H)@H@@@@ FR )@@G@@ . NO OF FILES LOADED :@@[H%@ @@@@ FS )@@G@@ DO 24 , -0 :@@[H4@^@@@@ END ST _@@@@@A@0A@1FT )@@G@@A*6A)2A@0A@)^@)^@)A@2A@0AK0AC0A@0A@)^@)^@)A@0A@0*[@@@[*SDFF*:@@@[=@B@@@@FU )@@G@@^@)^@)^@)^@)^[KCD#DS)D(JE1 ^[PE-DD-DE-DC(N:@@@[,@@@@@@:@@@[8@]@@@@ADBC(IFV )@@G@@C(MCDG:@@@]]@J@@@@^[OI9\^[0IL\G92GD!IS)H[-I1>^[+G(>H0)G->I1>H-\I[>G))I-\FW )@@G@@^[3HD!I[?HD&JC)I-*G*)H(\I1(H1$^[\G0):@@@]G@J@@@@^[&HD?G(3^[&IL\H*)H9,G*)FX )@@G@@G-(IT:^[0GD^[&HD?G(3^[4H8)GC)CTJE[T -B^[&H92H(-I))I--I[>^[-FZ )@@G@@H1=^[3GD6G*)I-*G*):@@@])@J@@@@^[(H1&H92H(-I-(H9,^[,G(>G->G))I-\^[2G(^[&HD?G(3 0)^[KCD#DS!EL ETOD9MC*)^@):@@@]%@H@@@@^[GT-I--H-\G8)I-*G*)G1(H->IS)GD,G))GT\I[9^[4H[>H*)HD,:@@@]4GC )@@G@@@A@@@@^[&IL\H*)I-*G*)CTJE[T -B^[4GD0G*,^@):@@@]"@@@@@@:@@@#C@#@@@@ADKCD#GD )@@G@@DS!CTJE[T^@):@@@#M@E@@@@^[OH[>^[&H9?H-\I9(H1$^[&HD?G(3^[!I(3I))GL>^[-IT3GE )@@G@@HD$H1>G)'^@):@@@#W@@@@@@:@@@#&@H@@@@^@)^@)CD^C)!C1DD- ^@)^[=HD3HS)G1(H->GF )@@G@@^[&H92^[4H[>^[@CD^C))IT4IL>GD!^[&H92^[4H[>:@@@#0@D@@@@^@)^@)^@)^@)^@)^@)GG )@@G@@^@)^@)^[@CTJE[T -B^[3I--I->H(>H14IS):@@@#'@H@@@@^@)^@)C- D)!C1DD- ^@)^[=GH )@@G@@HD3HS)G1(H->^[&H92^[4H[>^[@CD^C))IT4IL>GD!^[&H92^[4H[>:@@@^^@D@@@@^@)^@)GI )@@G@@^@)^@)^@)^@)^@)^@)^[@C- D- E- ^[3I--I->H(>H14IS):@@@^I@D@@@@^@)^@)E-[E[ GJ )@@G@@AC)^@)^@)^[4GD0G*)G1\IK)I-*G*)H95I-0I(4^@):@@@^S@G@@@@^@)^@)E-[E[ AK)^@)GK )@@G@@^@)^[4GD0G*)G1\IK)GL-GT:I(0^[H0)C[SEDO^[IC(R LOC(NE),E[[CTF (#D9KFC)^@):@@@^6@@@@@@:@@@ @GM )@@G@@@J@@@@^[OH[>^[0IL\G92GD!^[7HD?H))GD3HS)G1\IK)I-*G*)I[-GT: (DC))GD,G))G(1GN )@@G@@I((I[!G(,I))I-9I[>^[\G0):@@@ E@K@@@@^[4H[>^[0GDG),^@)GO )@@G@@D9,GT>^[4H[(IS)H[-IS)GL>G(,^[>H14G(2G(=^[+JC)I-*G*)I(3G(2 )):@@@ O@J@@@@GP )@@G@@^[4H[>^[0IL\G92GD!^[IS)GC)H-(IT4^[\G0)I-*G*)G1(H->IS)H9,^[4H[>GQ )@@G@@^[0GD^[=HD2G(IS,^@):@@@ *@I@@@@^[OH[(IS)G1(GS )@@G@@H->^[=HD2G(H0)H95I))I-\^[4H[>^[\I(4I[5I))I--I[>IS,GT )@@G@@:@@@ 2@I@@@@^[OH[>^[0IL\G92GD!^[7HD?H))E-KC1MC( ^[-H19^[ODDK^[&HD?G(3^[\GU )@@G@@H0)I-*G*)I[-GT: 0)^[DI)):@@@ /@K@@@@^[4H[>H0)I[2G(0GD2G(3^[-H0)C[[C-^^[3GV )@@G@@I-2G(-H*)GT\H14GD(H1(H1$^[4H[>^[#D9KFC?C8)IT4GD4G(!G(,I-3^@):@@@AA@J@@@@GW )@@G@@^[,G(^@):@@@AK@I@@@@^[5IT>IK)HD&^[4H[>^[@CD^C))IT4IL>GD!^[3H[\GY )@@G@@I(?G))GL>^[=JD,GD!HDG),^@):@@@AU@@@@@@:@@@A=@K@@@@^[OH[>GZ )@@G@@^[0IL\G92GD!^[-H-3H8)I[2G(0GD2G(3^[-H1\I-*G(2^[@CD^C))IT4IL>GD!^[H(>H14IS)H1>GT>IT3GD2HB )@@G@@JC)I-\^[=G(?G(4G*)I-*G*)G1(H->IS)H9,^[4H[>^[0GDHC )@@G@@^[@CD^C))IT4IL>GD!^[&H92^[4H[>^[@CTJE[T -B^[3I--I->H(>H14IS)HD3^[+IL-GT:HD )@@G@@G(4G(=^[+JC):@@@B]@J@@@@^[-H0)C[]ELF^[-H1=^[-H0)C[]ELF -I ))GD,G))I-*HD3HE )@@G@@^[\I(4I[5I))IT*H95H-=^[+G*)GT*G(G))I-\:@@@BG@J@@@@^[+G*)IT5IL>^[4H[>HF )@@G@@^[#D9KFC?C8)IT4GD4G(!G(,I-3^[7G(2G*)IT5GTH*)G1-HD?G(= ))I-*G*)I[2H9+H->H*)IT*H95H-=^[+G*)GT\IL2HH )@@G@@G(G))GD,G))E[[CTF (#D9KFC):@@@BR@I@@@@^[2G*!IL5H0,^@)E-*G*)C[[C-^^[3HI )@@G@@I-2G(-H*)H9&^[4H[>^[@C- D- E- IS)IT*H95H-=^[+G*)I(3G(=:@@@B)@F@@@@^[\H1?HJ )@@G@@JC)GD&I->IK)G9\H9=^[4GD0G(3^[*GD6G*)GL>G(,^[0IL\G-5GT>G),^@):@@@B%@@@@@@HK )@@G@@:@@@B4@^@@@@ADKCD#DS!EL ETOD9MC*)^@):@@@B"@E@@@@^[OH[>^[&H9?H-\I9(H1$^[&HL )@@G@@HD?G(3^[!I(3I))GL>^[-IT3HD$H1>G)'^@):@@@CC@@@@@@:@@@CM@H@@@@^@)^@)CTJE[THM )@@G@@ (ADDGC*)^[=HD3HS)G1(H->^[&H92^[4H[>^[@CD^C))IT4IL>GD!^[&H92^[4H[>:@@@CWHN )@@G@@@D@@@@^@)^@)^@)^@)^@)^@)^@)^@)C[#D9KFC?C8)IT4GD4G(!G(,I-3^@):@@@C&@I@@@@HO )@@G@@^@)^@)E-[E[ ^@)^@)^@)^[4GD0G*)G1\IK)I-*G*)HD,I[5I);^[5IT>^[>HD4H[>IK)E-[HP )@@G@@E[ AC)H92^@):@@@C0@E@@@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^[OCDKC*2^[&IL\H*)E[[HQ )@@G@@CTF (#D9KFC):@@@C'@@@@@@:@@@D^@C@@@@^[OH[>H0)C[SEDO^[IC(R LOC(NE),E[[CTFHR )@@G@@ (MC(NE-JEL :@@@DI@@@@@@:@@@DS@J@@@@^[OH[>^[0IL\G92GD!^[7HD?H))GD3HS)G1\HS )@@G@@IK)I-*G*)I[-GT: (DC))GD,G))G(1I((I[!G(,I))I-9I[>^[\G0):@@@D+@J@@@@^[4H[>HT )@@G@@^[0GD^[&HD?G(3^[-IL>^[+G((H1$^[!H96G(= 0)^[DI))I9(HU )@@G@@H-?^[-H-3H8):@@@D?@J@@@@^[-IT:^[&H92^[,I(!GL>IK)H9&^[4IL-GT:IS)I-\^[5IT>HV )@@G@@ 0)^[OH[(IS)HD3^[=H9,G*)I-\^[0IL\I1(G->^@):@@@D6@J@@@@^[4H[>^[-GL(H-(I-9HW )@@G@@^[4H8)IT0IL>GD=^[&HD?G(3^[\I(4 0)^[OH[>^[0IL\G92GD!^[7HD?H))I--HT>^[5I@)HX )@@G@@:@@@E@@J@@@@^[4H8)G1(I1>^[0GD^[4H[>:@@@EE@I@@@@^[3H9?HD^[3I[2G(-G))H9,^[4I9\^[0GD^[,G((G9*IC )@@G@@GL\IL*H9\G))H9&^@1A*?A@0A@)I-2GDID )@@G@@^[0IL\G92GD!^[7HD?H))IL>GD=^[4H[>^[&HD?G*)G-(IL>GT4H92JC)HD,G1\IL!GD4HD\IE )@@G@@H0)H9,:@@@E/@J@@@@^[4H[>^[&IL\H14^[\G0)I-*G*)I--I[>^[-H1=^[+I((H-=^[@CT[IF )@@G@@E))HD!GD$G(3^[&H92^[4H[>^[&HD?G(3 0):@@@FA@J@@@@^[DI))I9(H-?^[^[&HD?G(3^[-H1=^[2I(,^[^EL C8)I-\^[0I(4^[4H[>H*)I(,G->IK)^@):@@@FKIH )@@G@@@J@@@@^[4H[>^[0IL\I[>IK)I[2H9%G(II )@@G@@^[&HD?G(3^[7HD?H))GL>^@):@@@FU@J@@@@^[G))HD,^[&IL\H*)I-*G*)I--I[>IJ )@@G@@^[-H1=^[ODDK^[&HD?G(3^[7HD?H))GL>^[-IT3HD$H1>G))I-\^@):@@@F=@]@@@@^[ODDKIK )@@G@@ 0)^@)_@@@@@@@@#@@BK0205@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@*[@@@@*SDFF*:@@@[=@[@@@@IM )@@G@@ . :@@@[,@[@@@@ . :@@@[8@B@@@@ AXR$ IN )@@G@@ . :@@@]]@B@@@@ MFD$DEF . :@@@]G@[@@@@IO )@@G@@ . :@@@]Q@[@@@@ . :@@@])@B@@@@ . WRITTEN BY: FERRELL MOULTIP )@@G@@RIE :@@@]%@D@@@@ . FOR: DOAS OF THE STATE OF GEORGIA IQ )@@G@@:@@@]4@A@@@@ . TIME: JUNE 1976 :@@@]"@[@@@@ . :@@@#CIR )@@G@@@[@@@@ . :@@@#M@E@@@@/ . MFDRD IS A COLLECTION OF ROUTINESIS )@@G@@ FOR READING:@@@#W@D@@@@ . THE UNIVAC EXEC VIII MASTER FILE DIRECIT )@@G@@TORY. :@@@#&@F@@@@ . THESE ROUTINES WILL ACCESS EITHER THE FIXED IU )@@G@@DIRECTORY :@@@#0@F@@@@ . OR THE DIRECTORY OF A REMOVABLE PACK (IV )@@G@@SEE PACKET DOC). :@@@#'@G@@@@ . THE DATA AREAS FOR THESE ROIW )@@G@@UTINES ARE ENTIRELY IN THE :@@@^^@G@@@@ . USER SUPPLIED PACKETIX )@@G@@ AND THE MCORE'D AREA, I.E. MFDRD MAY :@@@^I@G@@@@ . BE MAPPEIY )@@G@@D INTO A WRITE-PROTECTED BANK. AS A RESULT OF THIS :@@@^S@G@@@@ . IZ )@@G@@ MFDRD COULD EVEN BE COMMON BANKED SINCE IT IS ALSO ACTIVITY :@@@^+JA )@@G@@@F@@@@ . REENTRANT. FURTHER, THERE IS CODE IN MFDRD WHICH ALLOWSJB )@@G@@:@@@^?@F@@@@ . MULTIPLE USER ACTIVITIES TO PROCESS THE SAME COPY JC )@@G@@OF THE:@@@^6@C@@@@ . DIRECTORY SIMULTANEOUSLY IF DESIRED. :@@@ @JD )@@G@@@F@@@@ . THESE ROUTINES WERE WRITTEN IN AN EFFORT TO PROVIDEJE )@@G@@:@@@ E@F@@@@ . A SIMPLE, UNIFORM AND EFFICIENT METHOD OF ACESSINGJF )@@G@@ THE :@@@ O@D@@@@ . MASTER FILE DIRECTORY FROM A USER PROGRAM. JG )@@G@@:@@@ Y@[@@@@ . :@@@ *@[@@@@ . :@@@ 2@D@@@@ . GENERALJH )@@G@@ COMPATABLILITY INFORMATION :@@@ /@[@@@@ . :@@@AA@[@@@@ . :@@@AKJI )@@G@@@F@@@@ . THESE ROUTINES ARE COMPATABLE WITH ALL CURRENT JJ )@@G@@:@@@AU@E@@@@ . 1100 SERIES MACHINES (1106,1108,1100/XX INCLUDING JK )@@G@@:@@@A=@F@@@@ . 1100/80) AND ALL MODES OF THEM (IE QUARTER, THIRD JL )@@G@@AND :@@@A,@A@@@@ . CHARACTER ADDRESSING). :@@@A8@[@@@@ . JM )@@G@@:@@@B]@G@@@@ . THESE ROUTINES WILL RUN UNDER AND AGAINST DIRJN )@@G@@ECTORIES :@@@BG@F@@@@ . PRODUCED BY ANY EXEC VIII, LEVELS 27 TJO )@@G@@HROUGH THE CURRENT:@@@BQ@G@@@@ . (NOW EXEC VIII LEVEL 33R1). THEJP )@@G@@Y ARE CAPABLE OF HANDLING :@@@B)@G@@@@ . DIRECTORIES ON ANY DJQ )@@G@@RUM OR DISK TYPES (IE F4, F17, F33 ETC). :@@@B%@[@@@@ . :@@@B4@[@@@@JR )@@G@@ . :@@@B"@C@@@@ . GENERAL USEAGE INFORMATION :@@@CCJS )@@G@@@[@@@@ . :@@@CM@[@@@@ . :@@@CW@D@@@@ . THERE ARE 8 ROUTJT )@@G@@INES IN THIS PACKAGE. :@@@C&@[@@@@ . :@@@C0@F@@@@ . 1-MFDSETJU )@@G@@$ - THIS ROUTINE INITILIZES THE MFDRD D-BANK :@@@C'@F@@@@ . JV )@@G@@ AND ACQUIRES THE CORE NEEDED FOR BUFFERS :@@@D^@C@@@@ . JW )@@G@@ AND CONVERSION TABLES :@@@DI@F@@@@ . 2-MFDINTJX )@@G@@$ - THIS ROUTINE WILL START RETURN DIRECTORY :@@@DS@D@@@@ . JY )@@G@@ ITEMS OF THE REQUESTED TYPE :@@@D+@F@@@@ . 3-MFDRD$JZ )@@G@@ - THIS ROUTINE WILL READ A GIVEN SECTOR (28 :@@@D?@ @@@@ . KA )@@G@@ WORDS):@@@D6@G@@@@ . 4-MFDHSH$ - THIS ROUTINE WILL KB )@@G@@RETURN THE MFD LOOKUP TABLE :@@@E@@G@@@@ . ENTRY KC )@@G@@FOR THE SEARCH OR LEAD ITEM OF A GIVEN :@@@EE@B@@@@ . KD )@@G@@ QUALIFIER*FILE :@@@EO@G@@@@ . 5-MFDLOOK$ - THIS ROUTINEKE )@@G@@ WILL LOOKUP QUAL*FILE(CYCLE) IN :@@@EY@G@@@@ . KF )@@G@@THE MFD AND RETURN A BUFFER CONTAINING THE MAIN :@@@E*@B@@@@ . KG )@@G@@ ITEM SECTOR 0 :@@@E2@F@@@@ . 6-MFDNXT$ - THIS RKH )@@G@@OUTINE WILL RETURN WITH THE NEXT :@@@E/@F@@@@ . KI )@@G@@ITEM ENCOUNTERED OF THE TYPE REQUESTED :@@@FA@F@@@@ . 7-MFDSTPKJ )@@G@@$ - THIS ROUTINE WILL NOTIFY MFDRD THAT THE :@@@FK@G@@@@ . KK )@@G@@ PROGRAM DOES NOT WANT ANY MORE ITEMS RETURNED :@@@FU@G@@@@KL )@@G@@ . 8-MFDCLS$ - THIS ROUTINE WILL CLOSE MFDRD AND RETURN ANY KM )@@G@@:@@@F=@E@@@@ . CORE ACQUIRED BY THE CALL TO MFDSET$KN )@@G@@:@@@F,@[@@@@ . :@@@F8@F@@@@ . SOME OF THESE ROUTINES WILLKO )@@G@@ NOT RETURN TO NEXT :@@@G]@F@@@@ . INSTRUCTION (AS WILL BE EXKP )@@G@@PLAINED LATER). THE ONES :@@@GG@F@@@@ . THAT DO RETURN IN-LIKQ )@@G@@NE MAY BE ACCESSED BY EITHER A LMJ :@@@GQ@F@@@@ . OR LBJ INSTRUCKR )@@G@@TION. RETURN WILL BE BY THE APPROPRIATE :@@@G)@F@@@@ . METHOD DKS )@@G@@EPENDING ON THE CALLING METHOD (IF X11 INCREMENT:@@@G%@D@@@@ . ISKT )@@G@@ NON-ZERO AN LBJ CALL WILL BE ASSUMED). :@@@G4@F@@@@ . THEKU )@@G@@ ROUTINES THAT DO NOT RETURN IN-LINE CAN BE :@@@G"@F@@@@ . ACKV )@@G@@CESSED BY A J OF LBJ INSTRUCTION. ONCE AGAIN THE :@@@HC@F@@@@ . KW )@@G@@ APPROPRIATE RETURN WILL BE CHOSEN (THE METHOD WILL BE :@@@HM@D@@@@KX )@@G@@ . DETERMINED BY THE INITIAL CALL TO MFDINT$). :@@@HW@[@@@@ . KY )@@G@@:@@@H&@F@@@@ . NONE OF THE MINOR REGISTERS (EXECPT X10 AND X11) AKZ )@@G@@RE :@@@H0@E@@@@ . PRESERVED OVER CALLS TO ANY OF THE MFDRD ROULA )@@G@@TINES.:@@@H'@E@@@@/ . CONTROL PACKET ITS USE AND DESCRIPTIOLB )@@G@@N :@@@I^@[@@@@ . :@@@II@D@@@@ . PARAMETER ARELC )@@G@@A DEFINITIONS :@@@IS@[@@@@ . :@@@I+@H@@@@. :------------------LD )@@G@@-----------------------------------------------------::@@@I?@H@@@@. 0 :LE )@@G@@ UCORE : MAXACT : CURACT : IDBITS :LF )@@G@@:@@@I6@H@@@@. :------------------------------------------------------LG )@@G@@-----------------::@@@J@@H@@@@. 1 : ::@@@JE@H@@@@. :------------------LI )@@G@@-----------------------------------------------------::@@@JO@H@@@@. 2 :LJ )@@G@@ UHIGH : UFRST :LK )@@G@@:@@@JY@H@@@@. :------------------------------------------------------LL )@@G@@-----------------::@@@J*@H@@@@. 3 : :LM )@@G@@ UGOPT : DLOOK : DBUFS ::@@@J2@H@@@@. :------------------LN )@@G@@-----------------------------------------------------::@@@J/@H@@@@. 4 :LO )@@G@@ UEQUIP :LP )@@G@@:@@@KA@H@@@@. :------------------------------------------------------LQ )@@G@@-----------------::@@@KK@H@@@@. 5 : UPALR )@@G@@CK ::@@@KU@H@@@@. :------------------LS )@@G@@-----------------------------------------------------::@@@K=@H@@@@. 6 :LT )@@G@@ UFILE :LU )@@G@@:@@@K,@H@@@@. :------------------------------------------------------LV )@@G@@-----------------::@@@K8@H@@@@. 7 : UFILLW )@@G@@E1 ::@@@L]@H@@@@. :------------------LX )@@G@@-----------------------------------------------------::@@@LG@H@@@@. 8 :LY )@@G@@ DTDATE :LZ )@@G@@:@@@LQ@H@@@@. :------------------------------------------------------MA )@@G@@-----------------::@@@L)@H@@@@. 9 : DTYMB )@@G@@PE ::@@@L%@H@@@@. :------------------MC )@@G@@-----------------------------------------------------::@@@L4@H@@@@. 10 :MD )@@G@@ DCLUTS : XPKID :ME )@@G@@:@@@L"@H@@@@. :------------------------------------------------------MF )@@G@@-----------------::@@@MC@H@@@@. : RES BASLEN+MG )@@G@@ACTLEN*NACTS-11 . ::@@@MM@H@@@@. :------------------MH )@@G@@-----------------------------------------------------::@@@MW@[@@@@ . MI )@@G@@:@@@M&@[@@@@ . :@@@M0@E@@@@ . PARAMETER DEFINITIONS (DEFIMJ )@@G@@NED IN MFD$DEF) :@@@M'@[@@@@ . :@@@N^@[@@@@ . :@@@NI@E@@@@ . UCMK )@@G@@ORE EQUF 0,,H1 . USER INTIAL CORE:@@@NS@G@@@@ . MAML )@@G@@XACT EQUF 0,,S4 . MAXIMUM NBR OF ACTIVITIES :@@@N+MM )@@G@@@G@@@@ . CURACT EQUF 0,,S5 . CURRENT NBR OF ACTIVITMN )@@G@@IES :@@@N?@F@@@@ . IDBITS EQUF 0,,S6 . USER SELECMO )@@G@@TION BITS :@@@N6@D@@@@ . EQUF 1,,W . :@@@O@@H@@@@ . UHIGH EQUF 2,,H1 . USERS CURRMQ )@@G@@ENT HIGHEST ADDRESS :@@@OE@F@@@@ . UFRST EQUF 2,,H2 MR )@@G@@ . USERS BASE ADDRESS :@@@OO@D@@@@ . EQUF 3,,H1 MS )@@G@@ . :@@@OY@G@@@@ . UGOPT EQUF 3,,S4 MT )@@G@@ . <> 0 IMPLIES "G-OPTION" :@@@O*@F@@@@ . DLOOK EQUF MU )@@G@@3,,S5 . LOOK AHEAD I/O AMOUNT :@@@O2@F@@@@ . DBUFS EQUFMV )@@G@@ 3,,S6 . # SCRATCH BUFFERS :@@@O/@F@@@@ . UEQUIP MW )@@G@@ EQUF 4,,W . EQUIP TYPE FOR PACKID :@@@PA@F@@@@ . UPMX )@@G@@ACK EQUF 5,,W . PACKID FOR DGETP$ :@@@PK@F@@@@MY )@@G@@ . UFILE EQUF 6,,W . 2 WORDS OF FILE NAME :@@@PUMZ )@@G@@@F@@@@ . UFILE1 EQUF 7,,W . (2ND FILE NAME WORD) NA )@@G@@:@@@P=@[@@@@ . :@@@P,@[@@@@ . :@@@P8@F@@@@ . DTDATE EQUF NB )@@G@@8,,W . DIRECTORY TDATE$ WORD :@@@Q]@F@@@@ . DTYPE EQUFNC )@@G@@ 9,,W . DIRECTORY TIME WORD :@@@QG@E@@@@ . DCLUTS ND )@@G@@ EQUF 10,,H1 . DCLUTS VALUE :@@@QQ@E@@@@ . XPKID NE )@@G@@ EQUF 10,,H2 . XPKID ADDRESS :@@@Q)@G@@@@ . USREND NF )@@G@@ EQU 10 . END OF USER SUPPLIED AREA :@@@Q%@G@@@@NG )@@G@@ . USRLEN EQU USREND-0+1 . LENGTH OF USER SUPPLIED AREANH )@@G@@:@@@Q4@[@@@@ . :@@@Q"@[@@@@ . :@@@RC@G@@@@ . COMBSE EQU NI )@@G@@USREND+1 . BASE OF COMMON PKT AREA :@@@RM@D@@@@ . COMEND NJ )@@G@@ EQU COMBSE+28+8*WAITCT+16*DIRECT .:@@@RW@G@@@@ . COMLEN EQU NK )@@G@@ COMEND-COMBSE+1 . LENGTH OF COMMON PKT AREA :@@@R&@[@@@@ . NL )@@G@@:@@@R0@[@@@@ . :@@@R'@G@@@@ . ACTBSE EQU COMEND+1 NM )@@G@@. FWA OF ACTIVITY SCR AREA :@@@S^@G@@@@ . ACTEND EQU ACTBSENN )@@G@@+41-2*DADSTD . LWA OF ACTIVITY SCR AREA :@@@SI@G@@@@ . ACTLEN EQU NO )@@G@@ ACTEND-ACTBSE+1 . LENGTH OF ACTIVITY SCR AREA :@@@SS@[@@@@ . NP )@@G@@:@@@S+@[@@@@ . :@@@S?@F@@@@ . BASLEN EQU USRLEN+COMLEN NQ )@@G@@. LENGTH OF FIXED PKT :@@@S6@[@@@@ . :@@@T@@[@@@@ . :@@@TE@F@@@@NR )@@G@@ . NOTE: ACTUAL PKT LENGTH IS: BASLEN+ACTLEN*NACTS . :@@@TONS )@@G@@@[@@@@ . :@@@TY@[@@@@ . :@@@T*@[@@@@ . :@@@T2@B@@@@ . ACNT )@@G@@TIVITY COMMON AREA DEFINITIONS:@@@T/@[@@@@ . :@@@UA@[@@@@ . :@@@UKNU )@@G@@@[@@@@ . :@@@UU@F@@@@LOCKUP EQUF COMBSE+0,,W . T/S CELLNV )@@G@@ FOR PKT LOCKUP :@@@U=@E@@@@EQTYPE EQUF COMBSE+1,,S1 . OFNW )@@G@@FSET INTO FATBL :@@@U,@G@@@@PRVFLG EQUF COMBSE+1,,S2 . NONX )@@G@@NZERO IF SYS$*DLOC$ ASG'ED :@@@U8@F@@@@DGTFLG EQUF COMBSE+1,,NY )@@G@@S3 . 0/1 -> DIRECT/TDIR$ I/O :@@@V]@E@@@@GOPT EQUF COMBNZ )@@G@@SE+1,,S4 . >0 IF G-OPTION SET :@@@VG@C@@@@ . EQUF COMBOA )@@G@@SE+1,,S5 . :@@@VQ@C@@@@ . EQUF COMBSE+1,,S6 OB )@@G@@ . :@@@V)@F@@@@DTRKS EQUF COMBSE+2,,H1 . NUMBER SOC )@@G@@YSTEM MFD TRACKS :@@@V%@F@@@@DTABLE EQUF COMBSE+2,,H2 . BAOD )@@G@@SE ADDR FOR CONV TABLE :@@@V4@F@@@@DGETPK EQUF COMBSE+3,,W OE )@@G@@ . 5 WORD AREA FOR DGET$ :@@@V"@E@@@@DGETID EQUF COMBSE+8,,OF )@@G@@W . DGETP$ PACKID WORD :@@@WC@D@@@@TDFREE EQUF COMBSE+9 OG )@@G@@ . '@FREE,R ' :@@@WM@D@@@@FREEFL EQUF COMBSE+11 OH )@@G@@ . 'FILENAME ':@@@WW@C@@@@TDSPS EQUF COMBSE+13,,H1 . ' OI )@@G@@. ' :@@@W&@B@@@@A2SVE EQUF COMBSE+13,,H2 . :@@@W0@D@@@@OJ )@@G@@TDASG EQUF COMBSE+14 . '@ASG,T ':@@@W'@D@@@@ASGFLEOK )@@G@@ EQUF COMBSE+16 . 'FILENAME ':@@@X^@C@@@@ASGEQP EQOL )@@G@@UF COMBSE+18 . ', F/0':@@@XI@C@@@@MAXSIZ EQUF COMBOM )@@G@@SE+19 . '000000':@@@XS@D@@@@ASGSPC EQUF COMBSE+20 ON )@@G@@ . '/TRK/131021 ':@@@X+@D@@@@TFASG EQUF COMBSE+22 . '@OO )@@G@@ASG,T TFL$,':@@@X?@C@@@@EQPTYP EQUF COMBSE+24 . 'FEQTYP'OP )@@G@@:@@@X6@C@@@@TFCOMMA EQUF COMBSE+25 . ', ':@@@Y@@C@@@@OQ )@@G@@PACKID EQUF COMBSE+26 . 'PACKID':@@@YE@C@@@@TFSPS EQOR )@@G@@UF COMBSE+27,,H1 . ' . ' :@@@YO@B@@@@A4SVE EQUF COMBOS )@@G@@SE+27,,H2 . :@@@YY@[@@@@. :@@@Y*@B@@@@ ON WAITOT )@@G@@CT . :@@@Y2@D@@@@RQIO EQUF COMBSE+28,,W . # OU )@@G@@ASYNC I/O'S :@@@Y/@E@@@@RQTIM EQUF COMBSE+29,,W . WAIT TIMOV )@@G@@E TOTAL :@@@ZA@E@@@@RQWT EQUF COMBSE+30,,W . # ASYNC OW )@@G@@I/O WAITS :@@@ZK@E@@@@RQFND EQUF COMBSE+31,,W . PRE-READOX )@@G@@ SUCCESSES :@@@ZU@E@@@@RQCNT EQUF COMBSE+32,,W . ITEM REAOY )@@G@@D COUNT :@@@Z=@D@@@@RQTMP EQUF COMBSE+33,,W . TEMP CELOZ )@@G@@L :@@@Z,@F@@@@RQFPC EQUF COMBSE+34,,W . % PRE-READ SUCPA )@@G@@CEEDING :@@@Z8@G@@@@RQWPC EQUF COMBSE+35,,W . % ASYNC PB )@@G@@I/O'S WHICH MUST WAIT :@@@)]@B@@@@ OFF WAITCT PC )@@G@@ . :@@@)G@[@@@@. :@@@)Q@[@@@@. :@@@))@B@@@@ ON PD )@@G@@ DIRECT . :@@@)%@B@@@@DIRBSE EQU COMBSE+27+8*WAITPE )@@G@@CT+1 .:@@@)4@E@@@@MSPKT EQUF DIRBSE+0 . MSCON$ MSALL$ PF )@@G@@PACKET:@@@)"@E@@@@ERRPKT EQUF DIRBSE+5 . SNAP$/COM$ PACPG )@@G@@KET :@@@-C@F@@@@ERRMSG EQUF DIRBSE+8 . MFD TRACK I/O PH )@@G@@ERR MSG :@@@-M@G@@@@ERRLEN EQUF 8 . LENGTH OPI )@@G@@F ERROR MESSAGE BUFFER :@@@-W@F@@@@ DO 1-((ACTBSE**0177777)=((ERRMSG**0PJ )@@G@@177777)+ERRLEN)) , XYZ$ . :@@@-&@B@@@@ OFF DIRECT PK )@@G@@ . :@@@-0@[@@@@. :@@@-'@[@@@@. :@@@+^@C@@@@. ACPL )@@G@@TIVITY SCRATCH AREA DEFINITIONS :@@@+I@[@@@@. :@@@+S@[@@@@. PM )@@G@@:@@@++@D@@@@XPTRSV EQUF ACTBSE+0,,W . XPTR SAVE AREA:@@@+?PN )@@G@@@E@@@@INTRTN EQUF ACTBSE+1,,W . MFDINT$ RETURN WORD :@@@+6PO )@@G@@@E@@@@RDRTN EQUF ACTBSE+2,,W . MFDHSH$ RETURN WORD :@@@<@PP )@@G@@@F@@@@ALLJGD EQUF ACTBSE+3,,H1 . JGD FOR ALLOCATION MASKS PQ )@@G@@:@@@]@E@@@@QD )@@G@@IOPKT2 EQUF ACTBSE+27,,W . PRE-READ I/O PACKET :@@@>G@F@@@@QE )@@G@@ATRMFLG EQUF ACTBSE+33,,S1 . ACTIVITY TERMINATION FLAG :@@@>QQF )@@G@@@H@@@@LOOKSGN EQUF ACTBSE+33,,S3 . FD SIGN FOR FILE LOOKUP (+QG )@@G@@,-,NULL) :@@@>)@D@@@@LOOKCYC EQUF ACTBSE+33,,H2 . BINARY CQH )@@G@@YCLE #:@@@>%@E@@@@LOOKCALL EQUF ACTBSE+34,,W . LOOKUP RETURN QI )@@G@@WORD :@@@>4@E@@@@LOOKQUAL EQUF ACTBSE+35,,W . LOOKUP QUALIFIQJ )@@G@@ER :@@@>"@E@@@@LOOKQUAL1 EQUF ACTBSE+36,,W . LOOKUP QUAL (WQK )@@G@@ORD 2):@@@&C@E@@@@LOOKFILE EQUF ACTBSE+37,,W . LOOKUP FILENAMQL )@@G@@E :@@@&M@E@@@@LOOKFILE1 EQUF ACTBSE+38,,W . LOOKUP FILE (WQM )@@G@@ORD 2):@@@&W@G@@@@LOOKACW EQUF ACTBSE+39,,W . BUFFER-NUMBER/QN )@@G@@ACW FOR LOOKUP USE:@@@&&@[@@@@. :@@@&0@B@@@@ ON 1-DAQO )@@G@@DSTD . :@@@&'@F@@@@CDAS EQUF ACTBSE+40,,W . CUQP )@@G@@RRENT MFD DAS ADDRESS :@@@$^@F@@@@PDAS EQUF ACTBSE+41,,W QQ )@@G@@ . PREVIOUS MFD DAS ADDRESS :@@@$I@B@@@@ OFF 1-DADSTD QR )@@G@@ . :@@@$S@[@@@@. :@@@$+@G@@@@ DO 1-((ACTBSE**0177777+41-2*DQS )@@G@@ADSTD+1-ACTLEN-BASLEN)=0) , + 09. **ERR** :@@@$?@[@@@@. :@@@$6@[@@@@QT )@@G@@. :@@@*@@D@@@@/ . CONTROL PARAMETER EXPLANATIONS QU )@@G@@:@@@*E@[@@@@. :@@@*O@[@@@@. :@@@*Y@F@@@@. IF 'PACKID' = QV )@@G@@0, THEN MFDRD WILL BE SETUP FOR SCANNING :@@@**@F@@@@. THE FIXEQW )@@G@@D MASS STORAGE DIRECTORY. IF MFDRD IS UNABLE TO:@@@*2@F@@@@. A QX )@@G@@TEMPORARY FILE (TFIL$) ON THE SPECIFIED PACK, A 0,X11 :@@@*/@F@@@@. QY )@@G@@ RETURN FROM MFDSET WILL BE MADE WITH A0 CONTAINING THE :@@@(A@ @@@@QZ )@@G@@. ASG REJECT STATUS. :@@@(K@[@@@@. :@@@(U@[@@@@. :@@@(=RA )@@G@@@G@@@@. 'ID SELECTION BITS' ARE THE ID BITS FOR THE VARIOUS MFD RB )@@G@@ITEMS::@@@(,@ @@@@. 004 SEARCH ITEM :@@@(8@ @@@@. RC )@@G@@010 LEAD ITEM :@@@%]@ @@@@. 020 MAIN ITEM :@@@%G@ @@@@RD )@@G@@. 000 ALL ITEMS :@@@%Q@F@@@@. THE MASK CAN BE SET RE )@@G@@TO RETRIEVE MORE THAN ONE TYPE. :@@@%)@[@@@@. :@@@%%@D@@@@. RF )@@G@@ THE DEFINITIONS OF BITS IN 'FLAGS' ARE: :@@@%4@E@@@@. 1*RG )@@G@@/0 INHIBIT ABS I/O, USE TDIR$ IF IT EXISTS :@@@%"@C@@@@. 1*RH )@@G@@/1 -> 1*/5 RESERVED FOR FUTURE USE :@@@:C@[@@@@. :@@@:M@G@@@@. RI )@@G@@ 'CURRENT BASE ADDRESS' IS THE BASE ADDRESS FROM WHICH MFDRD :@@@:WRJ )@@G@@@G@@@@. CAN MCORE$ TO OBTAIN BUFFER SPACE. 'HIGHEST CORE ADDRESRK )@@G@@S' :@@@:&@G@@@@. IS THE CURRENT UPPER LIMIT OF THE BANK IN WHRL )@@G@@ICH MFDRD IS TO :@@@:0@C@@@@. ALLOCATE BUFFER SPACE OR 0 IF UNRM )@@G@@KNOWN.:@@@:'@[@@@@. :@@@?^@G@@@@. 'INITIAL USER CORE' IS AN RN )@@G@@AMOUNT OF EXTRA CORE WHICH MFDRD :@@@?I@F@@@@. WILL OBTAIN SORO )@@G@@ THAT YOU NEED NOT INITIALLY PERFORM AN :@@@?S@ @@@@. EXPENSIVRP )@@G@@E MCORE$. :@@@?+@[@@@@. :@@@??@E@@@@. 'LOOK-AHEAD' IS THE RQ )@@G@@NUMBER OF EXTRA SECTORS TO BE :@@@?6@F@@@@. READ ON ANY BUFFER #RR )@@G@@0 SECTOR READ REQUEST. IF ON A :@@@!@@G@@@@. BUFFER #1 -> NRS )@@G@@ READ REQUEST THE SECTOR IS IN CORE, IT WILL :@@@!E@F@@@@. BERT )@@G@@ RETURNED WITHOUT REQUIREING AN ADDITIONAL I/O ACCESS.:@@@!O@[@@@@. RU )@@G@@:@@@!Y@F@@@@. WARNING: MFDRD EXPECTS THE USER TO REGISTER FOR AND IGNRV )@@G@@ORE :@@@!*@F@@@@. ANY I/O CONTINGENCIES WHICH IT GENERATES. MRW )@@G@@FDRD CHECKS :@@@!2@F@@@@. THE PACKET STATUS ON ALL I/O REQUESTS RX )@@G@@AND EXPECTS THIS :@@@!/@F@@@@. TYPE OF ERROR IN SOME CASES. YORY )@@G@@UR PROGRAM MAY NOT RUN :@@@,A@A@@@@. WITHOUT THIS REGISTRATION!RZ )@@G@@:@@@,K@[@@@@. :@@@,U@[@@@@. :@@@,=@F@@@@. WARNING: MFDRD EXPESA )@@G@@CTS THE USER TO REGISTER T/S QUEUEING :@@@,,@F@@@@. VIA ER TSB )@@G@@SQRG$ IF HE INTENDS TO UTILIZE MORE THAN ONE :@@@,8@F@@@@. ACSC )@@G@@TIVITY THROUGH MFDRD. IF THIS IS NOT DONE, MFDRD'S :@@@\]@E@@@@. SD )@@G@@ MULTI-ACTIVITY CODE WILL NOT WORK EFFICIENTLY. :@@@\G@[@@@@. SE )@@G@@:@@@\Q@E@@@@. WARNING: THE MULTI-ACTIVITY CODE (MAXACT>1) MAY BE VERYSF )@@G@@:@@@\)@F@@@@. HAZARDOUS TO YOUR PROGRAMS SANITY! IF THE USER ISSG )@@G@@ NOT :@@@\%@F@@@@. PRIVILEGED AND MFDF$$ DIRECT I/O IS BEING USSH )@@G@@ED THEN DUE :@@@\4@G@@@@. TO THE SECURITY CODE IN THE EXEC (I.E.SI )@@G@@ MAX OF ONE ACTIVITY :@@@\"@F@@@@. AND SYNCHRONOUS I/O ONLY) SJ )@@G@@MORE THAN ONE ACTIVITY HAS NO :@@@0C@G@@@@. MEANING AND WILL RESSK )@@G@@ULT IN AN ERR$. ALSO, UNDER THE CURRENT :@@@0M@G@@@@. IMPLEMENSL )@@G@@TATION, IF DIRECT MFD I/O (MFDF$$ OR ABR$) IS NOT :@@@0W@F@@@@. SM )@@G@@ BEING USED THEN ONLY THE FIRST ACTIVITY WILL RETURN MFD :@@@0&@F@@@@SN )@@G@@. ITEMS, ANY OTHERS WILL TAKE AN IMMEDIATE 'NO MORE ITEMS':@@@00SO )@@G@@@B@@@@. RETURN UPON CALLING MFDINT$. :@@@0'@[@@@@. :@@@1^SP )@@G@@@E@@@@. WARNING: THE USER PACKET SIZE IS MFDRD CONFIGURATION :@@@1ISQ )@@G@@@F@@@@. DEPENDENT. IF THE PKT SIZE IS WRONG VERY STRANGE AND SR )@@G@@:@@@1S@F@@@@. MYSTERIOUS ERRORS CAN OCCUR. IN ORDER TO PREVENT SS )@@G@@THIS :@@@1+@F@@@@. FROM ACCIDENTALLY HAPPENING, IF X10I IS NONZST )@@G@@ERO ON ENTRY:@@@1?@G@@@@. TO MFDSET$ THEN MFDRD WILL VERIFY THATSU )@@G@@ THE REQUIRED PACKET :@@@16@F@@@@. LENGTH IS LESS THAN OR EQUSV )@@G@@AL TO X10I. THUS, BY PLACING :@@@2@@F@@@@. THE SUPPLIED LENGTH SW )@@G@@IN X10I ACCIDENTAL PACKET OVERWRITES:@@@2E@ @@@@. CAN BE PREVENTSX )@@G@@ED. :@@@2O@[@@@@/ . :@@@2Y@G@@@@ . LX X10,(SUPPLIED PKSY )@@G@@T LENGTH, CONTROL-PACKET ADDRESS) . :@@@2*@B@@@@ . LMJ X11,SZ )@@G@@MFDSET$ . :@@@22@E@@@@ . . (CTA )@@G@@SF$ STATUS -> A0) :@@@2/@ @@@@ . :@@@3A@[@@@@TB )@@G@@ . :@@@3K@ @@@@ . - OR - :@@@3U@[@@@@ . :@@@3=TC )@@G@@@G@@@@ . LX X10,(SUPPLIED PKT LENGTH, CONTROL-PACKET ADDRETD )@@G@@SS) . :@@@3,@B@@@@ . LXI,U X11,BDI . :@@@38@B@@@@TE )@@G@@ . LBJ X11,MFDSET$ . :@@@4]@E@@@@ . . (CSF$ STATUS -> A0) :@@@4G@ @@@@ . :@@@4Q@[@@@@ . :@@@4)@B@@@@ . A0 = USER CORE BASE TH )@@G@@ADDRESS :@@@4%@B@@@@ . A1 = USER CORE LAST ADDRESS :@@@44TI )@@G@@@[@@@@ . :@@@4"@[@@@@ . :@@@5C@B@@@@ . LX,U X10,CONTROTJ )@@G@@L-PACKET . :@@@5M@B@@@@ . LMJ/LBJ X11,MFDINT$ . :@@@5WTK )@@G@@@ @@@@ . :@@@5&@A@@@@ . :@@@50@ @@@@ . :@@@5'@[@@@@ . TM )@@G@@:@@@6^@[@@@@ . :@@@6I@A@@@@ . A0 = I/O PACKET ADDRESS :@@@6STN )@@G@@@A@@@@ . A1 = SECTOR CORE ADDRESS :@@@6+@[@@@@ . :@@@6?@[@@@@TO )@@G@@ . :@@@66@B@@@@. 1) L,U X10,CONTROL-PACKET .:@@@7@@B@@@@TP )@@G@@ . L A2,(I/O-ADDRESS) . :@@@7E@F@@@@ . L TQ )@@G@@ A1,(BUFFER-NUMBER(0 -> N-1)) -OR- (I/O ACW) :@@@7O@E@@@@ . LMTR )@@G@@J/LBJ X11,MFDRD$ . READ SECTOR AT (A2) :@@@7Y@^@@@@ . :@@@7*@A@@@@ . (A0 & A1 AS FROM MFDINT$) :@@@72@[@@@@TT )@@G@@ . :@@@7/@[@@@@ . :@@@8A@B@@@@. 2) L,U X10,CONTROL-PACKTU )@@G@@ET .:@@@8K@D@@@@ . L,U A1,SCRATCH-BUFFER-NUMBER/ADDRESS .TV )@@G@@:@@@8U@B@@@@ . DL A2,(QUAL) . :@@@8=@B@@@@ . TW )@@G@@ DL A4,(FILE) . :@@@8,@E@@@@ . LMJ/LBJ X11,TX )@@G@@MFDHSH$ . HASH LOOKUP OF Q*F :@@@88@^@@@@ . TY )@@G@@:@@@9]@A@@@@ . (A0 & A1 AS FROM MFDINT$) :@@@9G@[@@@@ . :@@@9QTZ )@@G@@@[@@@@ . :@@@9)@B@@@@. 3) L,U X10,CONTROL-PACKET .:@@@9%UA )@@G@@@F@@@@ . L A0,(1*/6++0,SCRATCH-BUFFER-NUMBER/ADDRESS) UB )@@G@@:@@@94@G@@@@ . L A1,(FD CYCLE SIGN (+,- OR NULL),REL/ABS UC )@@G@@CYCLE). :@@@9"@B@@@@ . DL A2,(QUAL) . :@@@'CUD )@@G@@@B@@@@ . DL A4,(FILE) . :@@@'M@F@@@@ . LMUE )@@G@@J/LBJ X11,MFDLOOK$ . GET MAIN ITEM SECTOR 0 :@@@'W@^@@@@ . UF )@@G@@ :@@@'&@A@@@@ . (A0 & A1 AS FROM MFDINT$) :@@@'0UG )@@G@@@[@@@@ . :@@@''@[@@@@ . :@@@;^@B@@@@. 4) L,U X10,CONTROUH )@@G@@L-PACKET .:@@@;I@D@@@@ . J/LBJ MFDNXT$ . GET NEXTUI )@@G@@ ITEM :@@@;S@[@@@@ . :@@@;+@[@@@@ . :@@@;?@B@@@@. 5) L,U UJ )@@G@@ X10,CONTROL-PACKET .:@@@;6@F@@@@ . J/LBJ MFDSTP$ UK )@@G@@ . ALL DONE, NO MORE NEEDED :@@@/@@[@@@@ . :@@@/E@[@@@@ . :@@@/OUL )@@G@@@B@@@@. 6) L,U X10,CONTROL-PACKET .:@@@/Y@F@@@@ . J/UM )@@G@@LBJ MFDCLS$ . ALL DONE, CLEAN UP RETURN :@@@/*@[@@@@ . UN )@@G@@:@@@/2@[@@@@ . :@@@//@[@@@@/ . :@@@.A@[@@@@ . :@@@.K@B@@@@P UO )@@G@@ PROC 3 . :@@@.U@B@@@@WAIT* NAME UP )@@G@@ . :@@@.=@B@@@@ TP P(1,1),P(1,2),P(1,3) .UQ )@@G@@:@@@.,@E@@@@ DO WAITCT=0 , ER WAIT$ . WAIT FOR COMPLETION UR )@@G@@:@@@.8@B@@@@ ON WAITCT . :@@@"]@E@@@@ US )@@G@@ LMJ X11,IOWCNT . GO LOG THIS WAIT :@@@"G@B@@@@ UT )@@G@@ LXM X10,PKTADDR,X10 . :@@@"Q@B@@@@ TS LOCKUU )@@G@@UP,X10 . :@@@")@F@@@@ LX X11,RQIO,X10 . GEUV )@@G@@T TOTAL ASYNC I/O CNT :@@@"%@D@@@@ A,U X11,1 UW )@@G@@ . INC BY ONE :@@@"4@D@@@@ SX X11,RQIO,X10 . ANUX )@@G@@D SAVE IT :@@@""@B@@@@ C$TS LOCKUP,X10 . :@@@_CUY )@@G@@@B@@@@ NOP ,,*X10 . :@@@_M@B@@@@ OFUZ )@@G@@F WAITCT . :@@@_W@B@@@@ END VA )@@G@@ . :@@@_&@F@@@@ . THE FOLLOWING PROC IS FROM VB )@@G@@THE OLD SYSLIB AND:@@@_0@H@@@@ . IS NECESSARY SINCE MFVC )@@G@@DRD MAY TRY TO CLEAR A TEST AND :@@@_'@G@@@@ . SETVD )@@G@@ CELL THAT IS ALREADY CLEAR. PRINT TRANSACTION :@@[@^@G@@@@ . VE )@@G@@ HAD THE SAME PROBLEM. THE NEW C$TS PROC GIVES AN :@@[@I@G@@@@VF )@@G@@ . ER ERR$ WHEN YOU TRY TO CLEAR A T/S CELL THAT IS VG )@@G@@:@@[@S@A@@@@ . ALREADY CLEAR. :@@[@+@]@@@@ . VH )@@G@@:@@[@?@ @@@@ . 3/87 RC :@@[@6@B@@@@P$ PROC VI )@@G@@ 1,3 . :@@[[@@B@@@@C$TS* NAME CTS$ VJ )@@G@@ . :@@[[E@B@@@@C$TSA* NAME CTSA$ . :@@[[O@B@@@@VK )@@G@@ SZ,015 P$(1,1),P$(1,2) . :@@[[Y@B@@@@ TZ,01 VL )@@G@@ P$(1,1),P$(1,2) . :@@[[*@B@@@@ ER P$(0,0) VM )@@G@@ . :@@[[2@B@@@@ END . :@@[[/@[@@@@VN )@@G@@ . :@@[]A@[@@@@ . :@@[]K@F@@@@/$(1) LIT VO )@@G@@ . THESE ARE READ ONLY TOO :@@[]U@[@@@@ . :@@[]=@[@@@@ . :@@[],VP )@@G@@@B@@@@MFDSET$* . :@@[]8@E@@@@ L VQ )@@G@@ A0,X10 . GET PKT ADDRESS :@@[#]@D@@@@ SSVR )@@G@@L A0,18 . GET LENGTH :@@[#G@E@@@@ JZ VS )@@G@@ A0,PKTOK . IF ZERO -- ACCEPT IT:@@[#Q@E@@@@ L,U VT )@@G@@ A1,ACTLEN . GET ACTIVITY LENGTH :@@[#)@F@@@@ TZ VU )@@G@@ MAXACT,X10 . MORE THAN ONE SPECIFIED? :@@[#%@D@@@@ MSVV )@@G@@I A1,MAXACT,X10 . COMPUTE MAX :@@[#4@E@@@@ TLE,U VW )@@G@@ A0,BASLEN,A1 . REQUIRED .LE. GIVEN?:@@[#"@E@@@@ ER VX )@@G@@ ERR$ . NO, CAN'T HAVE THAT!:@@[^C@F@@@@PKTOK L VY )@@G@@ A0,UPACK,X10 . GET USER SUPPLIED PACKID :@@[^M@D@@@@ S VZ )@@G@@ A0,DGETID,X10 . SET DGET$ ID :@@[^W@F@@@@ JZ WA )@@G@@ A0,MFDFIX . JUMP IF DOING FIXED MS MFD:@@[^&@B@@@@ S WB )@@G@@ A0,PACKID,X10 . :@@[^0@E@@@@ L A0,(6*/33)WC )@@G@@ . SET REJECT STATUS :@@[^'@F@@@@ L A1,UEQUIP,WD )@@G@@X10 . GET SUPPLIED EQUIPMENT :@@[ ^@C@@@@ TNE A1,(WE )@@G@@' ') . BLANKS? :@@[ I@E@@@@ J RTRN WF )@@G@@ . YES, ERROR RETURN :@@[ S@F@@@@ AND,U A1,077 WG )@@G@@ . EXTRACT ONE CHARACTER :@@[ +@D@@@@ TE,U A2,' ' WH )@@G@@ . IS IT A BLANK?:@@[ ?@D@@@@ J $+3 WI )@@G@@ . NO, ALL DONE :@@[ 6@E@@@@ SSC A1,6 . YEWJ )@@G@@S, SHIFT IT AROUND:@@[A@@E@@@@ J $-4 . ANWK )@@G@@D LOOK FOR MORE :@@[AE@B@@@@ S A1,EQPTYP,X10 . WL )@@G@@:@@[AO@B@@@@ DL A0,('@ASG,T TFL$,') . :@@[AY@B@@@@ WM )@@G@@ DS A0,TFASG,X10 . :@@[A*@B@@@@ L A0,(WN )@@G@@', ') . :@@[A2@B@@@@ S A0,TFCOMMA,X10 . WO )@@G@@:@@[A/@B@@@@ L,U A0,' . ' . :@@[BA@B@@@@ WP )@@G@@ S A0,TFSPS,X10 . :@@[BK@B@@@@TFASGL L,U A0,TWQ )@@G@@FASG,X10 . :@@[BU@F@@@@ ER CSF$ . ASWR )@@G@@G TEMP FILE ON DEVICE :@@[B=@F@@@@ JN A0,RTRN WS )@@G@@ . ERROR IF CAN'T GET IT :@@[B,@F@@@@ TOP A0,(1*/33)WT )@@G@@ . ALREADY ASG'ED ON ANOTHER?:@@[B8@D@@@@ J TFACWU )@@G@@MP . NO, GOT IT :@@[C]@B@@@@ L,U A0,TFFREE WV )@@G@@ . :@@[CG@E@@@@ ER CSF$ . FREE THEWW )@@G@@ OLD ONE :@@[CQ@D@@@@ JN A0,RTRN . ?? ERRORWX )@@G@@ ?? :@@[C)@E@@@@ J TFASGL . AND GO ASG IT WY )@@G@@AGAIN :@@[C%@E@@@@TFACMP L,U A0,DGETP$ . GET MSCON SUB-WZ )@@G@@FNC :@@[C4@E@@@@ J STMFD . AND CONTINUE SXA )@@G@@ETUP :@@[C"@B@@@@MFDFIX L,U A0,DGET$ . :@@[DC@E@@@@XB )@@G@@STMFD S A0,DGETPK,X10 . SET MSCON$ FUNCTION :@@[DM@F@@@@XC )@@G@@ A,U X11,1 . INC TO TAKE NORMAL RETURN :@@[DWXD )@@G@@@G@@@@ SX X11,RDRTN,X10 . TEMP SAVE OF RETURN ADDRESXE )@@G@@S :@@[D&@E@@@@ L A0,UGOPT,X10 . GET USER GOPT XF )@@G@@FLAG :@@[D0@E@@@@ S A0,GOPT,X10 . SET IN LOCAL CXG )@@G@@ELL :@@[D'@E@@@@ L A0,TSCELL . GET AT TSQ T/SXH )@@G@@ CELL :@@[E^@E@@@@ S A0,LOCKUP,X10 . AND SET INTO NXI )@@G@@EW PKT:@@[EI@B@@@@ ON DIRECT . :@@[ES@B@@@@XJ )@@G@@ L A0,(+MSALL$,MSALL$) . :@@[E+@D@@@@ S XK )@@G@@ A0,MSPKT,X10 . INIT MSCON PKT:@@[E?@B@@@@ ON DADSXL )@@G@@ . :@@[E6@B@@@@ SZ MSPKT+3,X10 . XM )@@G@@:@@[F@@B@@@@ OFF DADS . :@@[FE@B@@@@ XN )@@G@@ OFF DIRECT . :@@[FO@B@@@@ DL A0,(XO )@@G@@'@FREE,R ') . :@@[FY@B@@@@ DS A0,TDFREE,X10 . XP )@@G@@:@@[F*@B@@@@ DL A0,('@ASG,T ') . :@@[F2@B@@@@ XQ )@@G@@ DS A0,TDASG,X10 . :@@[F/@B@@@@ DL A0,(XR )@@G@@', F/0000000') . :@@[GA@B@@@@ DS A0,ASGEQP,X10 . XS )@@G@@:@@[GK@B@@@@ DL A0,('/TRK/131021 ') . :@@[GU@B@@@@ XT )@@G@@ DS A0,ASGSPC,X10 . :@@[G=@B@@@@ L,U A0,'XU )@@G@@ . ' . :@@[G,@B@@@@ S A0,TDSPS,X10 . XV )@@G@@:@@[G8@B@@@@ L A0,(R$,0,0) . :@@[H]@F@@@@ XW )@@G@@ S A0,IOPKT1+3,X10 . SET FUNCTION IN THE PACKET:@@[HG@E@@@@XX )@@G@@ SZ CURACT,X10 . MARK RE-INITIALIZED :@@[HQ@B@@@@XY )@@G@@ L,U A0,1 . :@@[H)@F@@@@ TNZ XZ )@@G@@ MAXACT,X10 . ANY ACTIVITIES SPECIFIED? :@@[H%@G@@@@ S YA )@@G@@ A0,MAXACT,X10 . NO, MUST HAVE AT LEAST ONE! :@@[H4@B@@@@YB )@@G@@ ON MFDFIO . :@@[H"@F@@@@ TZ YC )@@G@@ GOPT,X10 . FORCED TO USE TDIR$ ?? :@@[IC@E@@@@ J YD )@@G@@ SETFLE . YES, SKIP CHECK :@@[IM@B@@@@ ONYE )@@G@@ ABSREAD . :@@[IW@B@@@@ L,U A0,DGETPK+YF )@@G@@1,X10 . :@@[I&@B@@@@ L A1,(1,4) . :@@[I0YG )@@G@@@D@@@@ ER PCT$ . GET PRIV FLAG :@@[I'@B@@@@YH )@@G@@ L A0,DGETPK+1,X10,S2 . :@@[J^@D@@@@ TOP,U YI )@@G@@ A0,040 . PRIVILEGED? :@@[JI@E@@@@ SZ A0 YJ )@@G@@ . NO, CLEAR ANY BITS :@@[JS@E@@@@ S A0,PYK )@@G@@RVFLG,X10 . SAVE IT'S VALUE :@@[J+@B@@@@ OFF ABSRYL )@@G@@EAD . :@@[J?@B@@@@ L A2,('MFDF$$') . YM )@@G@@:@@[J6@B@@@@ SZ A3 . :@@[K@@F@@@@ YN )@@G@@ DS A2,IOPKT1,X10 . SET DIRECTORY FILE NAME :@@[KE@E@@@@YO )@@G@@ L,U A0,IOPKTA+5,X10 . GET DUMMY I/O BUFFER:@@[KO@E@@@@YP )@@G@@ LXI,U A0,1 . SET DUMMY LENGTH :@@[KY@E@@@@YQ )@@G@@ S A0,IOPKT1+4,X10 . SET DUMMY I/O ACW :@@[K*@E@@@@YR )@@G@@ SZ IOPKT1+5,X10 . SET DUMMY I/O ADDR :@@[K2@B@@@@YS )@@G@@ L,U A0,IOPKT1,X10 . :@@[K/@F@@@@ ER YT )@@G@@ IOW$ . TRY OUT THAT FILE NAME :@@[LA@F@@@@ TZYU )@@G@@ 3,A0,S1 . WAS IT A GOOD FILENAME? :@@[LK@G@@@@ YV )@@G@@ J SETFLE . NO, FUNCTION NOT IMPLEMENTED :@@[LUYW )@@G@@@B@@@@ ON 1-ABSREAD . :@@[L=@B@@@@ L,YX )@@G@@U A0,DGETPK+1,X10 . :@@[L,@B@@@@ L A1,(1,4) YY )@@G@@ . :@@[L8@D@@@@ ER PCT$ . GET PRIVYZ )@@G@@ FLAG :@@[M]@B@@@@ L A0,DGETPK+1,X10,S2 . :@@[MG@D@@@@ZA )@@G@@ TOP,U A0,040 . PRIVILEGED? :@@[MQ@E@@@@ ZB )@@G@@ SZ A0 . NO, CLEAR ANY BITS :@@[M)@E@@@@ ZC )@@G@@ S A0,PRVFLG,X10 . SAVE IT'S VALUE :@@[M%@B@@@@ ZD )@@G@@ OFF 1-ABSREAD . :@@[M4@B@@@@ L,U A1,1ZE )@@G@@ . :@@[M"@E@@@@ TNZ PRVFLG,X10 . PRZF )@@G@@IVILEGED USER? :@@[NC@E@@@@ TNE A1,MAXACT,X10 . ORZG )@@G@@ SINGLE ACTIVITY? :@@[NM@D@@@@ J $+2 . YEZH )@@G@@S, LEGAL :@@[NW@D@@@@ ER ERR$ . NO, ILLEZI )@@G@@GAL :@@[N&@E@@@@ L A0,(-1,0,0) . GET INFO$ FUNCZJ )@@G@@TION :@@[N0@B@@@@ S A0,DGETPK,X10 . :@@[N'@E@@@@ZK )@@G@@ L,U A0,IOPKTB,X10 . GET TEMP BUFFER :@@[O^@D@@@@ZL )@@G@@ LXI,U A0,5 . SET ACW LENGTH:@@[OI@C@@@@ ZM )@@G@@ S A0,DGETPK+1,X10 . SET ACW :@@[OS@B@@@@ LXI,U ZN )@@G@@ A0,2 . :@@[O+@B@@@@ LXM,U A0,DGETPK,X10 ZO )@@G@@ . :@@[O?@E@@@@ ER INFO$ . RETRIEVE DCLUTZP )@@G@@S :@@[O6@D@@@@ TZ 0,A0,S3 . ERROR STATUS??ZQ )@@G@@:@@[P@@E@@@@ ER ERR$ . YES, ERROR HIM OFF ZR )@@G@@:@@[PE@E@@@@ L A0,IOPKTB,X10 . GET DCLUTS VALUE ZS )@@G@@:@@[PO@D@@@@ S A0,DCLUTS,X10 . AND SAVE IT :@@[PYZT )@@G@@@E@@@@ J NOTFLE . AND SKIP AROUND :@@[P*ZU )@@G@@@B@@@@SETFLE OFF MFDFIO . :@@[P2@E@@@@ DLZV )@@G@@ A0,UFILE,X10 . LOAD USER FILE NAME :@@[P/@B@@@@ DSZW )@@G@@ A0,IOPKT1,X10 . :@@[QA@E@@@@ DS A0,DGETPK+ZX )@@G@@1,X10 . SET DGET$ FILE NAME :@@[QK@E@@@@ DS A0,FREEFL,ZY )@@G@@X10 . SET FILE TO @FREE :@@[QU@C@@@@ TNE A0,(' ZZ )@@G@@ ') . DUMMY? :@@[Q=@C@@@@ ER ERR$ . YEAA )@@G@@S :@@[Q,@E@@@@CHRADJ AND,U A1,077 . EXTRACT CHARACAB )@@G@@TER :@@[Q8@C@@@@ TE,U A2,' ' . RJ YET? :@@[R]AC )@@G@@@C@@@@ J RJFLE . YES :@@[RG@B@@@@ AD )@@G@@ DSC A0,6 . :@@[RQ@E@@@@ J CHRAAE )@@G@@DJ . AND CHECK AGAIN :@@[R)@E@@@@RJFLE DS A0,AAF )@@G@@SGFLE,X10 . SET INTO ASG IMAGE :@@[R%@B@@@@NOTFLE LX,U X8,0AG )@@G@@,X10 . :@@[R4@B@@@@ LXI,U X8,ACTLEN . AH )@@G@@:@@[R"@F@@@@ L R1,MAXACT,X10 . GET NUMBER PKTS TO IAI )@@G@@NIT :@@[SC@F@@@@ L A2,UFRST,X10 . GET BASE CORE AJ )@@G@@ADDRESS :@@[SM@D@@@@ J ACTLP . AND SETUAK )@@G@@P PKTS:@@[SW@D@@@@ACTLPA DL A0,IOPKT1,X10 . GET FILENAME AL )@@G@@:@@[S&@B@@@@ DS A0,IOPKT1,X8 . :@@[S0@B@@@@ AM )@@G@@ DS A0,IOPKT2,X8 . :@@[S'@B@@@@ DS A0,IAN )@@G@@OPKTA,X8 . :@@[T^@B@@@@ DS A0,IOPKTB,X8 . AO )@@G@@:@@[TI@F@@@@ S A2,DASBUF,X8 . SET DAS SAVE BUFFER AP )@@G@@ADDR :@@[TS@E@@@@ L A1,IOPKT1+3,X10 . GET FUNCTION WAQ )@@G@@ORD :@@[T+@B@@@@ ON MFDFIO . :@@[T?@F@@@@AR )@@G@@ LXM,U A1,0 . CLEAR ANY WORDS XFERRED :@@[T6AS )@@G@@@B@@@@ OFF MFDFIO . :@@[U@@F@@@@ LXAT )@@G@@I,U A2,28 . SET SECTOR LENGTH IN ACW :@@[UE@B@@@@ AU )@@G@@ DS A1,IOPKT1+3,X8 . :@@[UO@B@@@@ S A1,IAV )@@G@@OPKT2+3,X8 . :@@[UY@E@@@@ L A0,DLOOK,X10 . GEAW )@@G@@T LOOKAHEAD AMOUNT:@@[U*@E@@@@ A A0,DBUFS,X10 . PLAX )@@G@@US USER BUFFERS :@@[U2@E@@@@ MSI,U A0,28 . COAY )@@G@@NVERT TO WORDS :@@[U/@E@@@@ A,U A2,28,A0 . GEAZ )@@G@@T NEXT AVAIL CORE :@@[VA@C@@@@ LXI,U A2,1792 . SEBA )@@G@@T ACW :@@[VK@D@@@@ DS A1,IOPKTA+3,X8 . SET TRK ACW BB )@@G@@:@@[VU@E@@@@ A,U A2,1792 . GET NEXT ADDRESS BC )@@G@@:@@[V=@D@@@@ DS A1,IOPKTB+3,X8 . SET NEXT ACW :@@[V,BD )@@G@@@B@@@@ A,U A2,1792 . :@@[V8@D@@@@ S BE )@@G@@ X10,PKTADDR,X8 . SAVE PKT ADDR :@@[W]@E@@@@ SZ BF )@@G@@ ATRMFLG,X8 . CLEAR ACTIVE FLAG :@@[WG@E@@@@ L,U BG )@@G@@ A0,IOPKTA,X8 . GET FIRST PKT ADDR :@@[WQ@E@@@@ LXI,U BH )@@G@@ A0,IOPKTB,X8 . GET SECOND PKT ADDR :@@[W)@D@@@@ S BI )@@G@@ A0,IOPTR,*X8 . SET DBUF PTRS :@@[W%@D@@@@ACTLP JGD R1,ABJ )@@G@@CTLPA . INIT ALL PKTS :@@[W4@E@@@@ L A0,IOPKTB+BK )@@G@@4,X10 . GET BASE TRK ADDR :@@[W"@B@@@@ LXI A0,IOPKTA+BL )@@G@@4,X10 . :@@[XC@E@@@@ S A0,DGETPK+4,X10 . SET DGETBM )@@G@@$ BUFFERS :@@[XM@B@@@@ ON DIRECT . :@@[XWBN )@@G@@@E@@@@ S A2,MSPKT+1,X10,H2 . SET MSALL$ ADDRESS :@@[X&BO )@@G@@@B@@@@ OFF DIRECT . :@@[X0@F@@@@ S BP )@@G@@ A2,DTABLE,X10 . SET BASE ADDR FOR CONV TBL:@@[X'@B@@@@ BQ )@@G@@ ON DIRECT . :@@[Y^@F@@@@ TZ GOPTBR )@@G@@,X10 . FORCED TO USE OLD TDIR$ ??:@@[YI@D@@@@ J BS )@@G@@ NOMSAL . YES, GO TO IT :@@[YS@B@@@@ ON ABSRBT )@@G@@EAD . :@@[Y+@B@@@@ ON 1-MFDFIO . BU )@@G@@:@@[Y?@B@@@@ L,U A0,CDAS,X10 . :@@[Y6@F@@@@ BV )@@G@@ L A1,(1,4) . GET PRIV FLAG FROM PCT :@@[Z@@B@@@@BW )@@G@@ ER PCT$ . :@@[ZE@B@@@@ L BX )@@G@@ A1,CDAS,X10,S2 . :@@[ZO@D@@@@ TEP,U A1,040 BY )@@G@@ . PRIVILEGED? :@@[ZY@D@@@@ J GBUF . YEBZ )@@G@@S, GO TO IT :@@[Z*@B@@@@ OFF 1-MFDFIO . :@@[Z2CA )@@G@@@B@@@@ ON MFDFIO . :@@[Z/@D@@@@ TZCB )@@G@@ PRVFLG,X10 . PRIVILEGED?? :@@[)A@E@@@@ J CC )@@G@@ GBUF . YES, CHECK IT OUT :@@[)K@B@@@@ OFF CD )@@G@@ MFDFIO . :@@[)U@B@@@@ OFF ABSREAD CE )@@G@@ . :@@[)=@B@@@@ ON MFDFIO . :@@[),@F@@@@CF )@@G@@ TZ IOPKT1+1,X10 . DIRECT I/O TO MFDF$$ ?? :@@[)8CG )@@G@@@B@@@@ OFF MFDFIO . :@@[-]@E@@@@ J CH )@@G@@ NOMSAL . NO, GO DO DGET$ :@@[-G@[@@@@ . :@@[-QCI )@@G@@@F@@@@ . WE ARE GOING TO PROCESS THE MFD BY LINKING THROUGH THE CJ )@@G@@:@@[-)@G@@@@ . UNIT TABLES AND READING THE MFD DIRECTLY FROM THE CK )@@G@@UNITS USING :@@[-%@F@@@@ . THE ABR$ I/O FUNCTION ON LEVELS PRIOR CL )@@G@@TO EXEC 33R1. NOW:@@[-4@G@@@@ . ACCQUIRE THE UNIT TABLES AND XPKCM )@@G@@ID (OR LDAT) AND MCORE$ FOR :@@[-"@A@@@@ . THE REQUIRED BUFFER CN )@@G@@SPACE.:@@[+C@[@@@@ . :@@[+M@B@@@@GBUF L,U A0,MSPKT,X10 CO )@@G@@ . :@@[+W@F@@@@ ER MSCON$ . RETRIEVE MASS CP )@@G@@STORAGE TBLS:@@[+&@B@@@@ ON DADONLY++(1-DADS) . :@@[+0CQ )@@G@@@B@@@@ ON DADONLY . :@@[+'@F@@@@ TNCR )@@G@@Z MSPKT+3,X10 . WRONG FORMAT DIRECTORY? :@@[<^@B@@@@ CS )@@G@@ OFF DADONLY . :@@[A@D@@@@ S DE )@@G@@ A0,A1 . SAVE STATUS :@@[>K@B@@@@ SSL A1,1DF )@@G@@8 . :@@[>U@E@@@@ AND,U A1,077 . EXDG )@@G@@TRACT ERROR CODE :@@[>=@F@@@@ TE,U A2,027 . ISDH )@@G@@ IT BUFFER TOO SMALL? :@@[>,@F@@@@ TNE,U A2,025 DI )@@G@@ . OR BUFFER OUT OF RANGE? :@@[>8@F@@@@ J $+2 DJ )@@G@@ . YES, SKIP AND CONTINUE :@@[&]@E@@@@ ER ERR$DK )@@G@@ . NO, CAN'T RECOVER :@@[&G@^@@@@ ON DADSDL )@@G@@:@@[&Q@F@@@@ L,H1 A1,MSPKT,X10 GET MSCON$ LEVEL FLADM )@@G@@G :@@[&)@F@@@@ SSL A1,6 JUST THE PROPEDN )@@G@@R 12 BITS :@@[&%@E@@@@ L,H1 A0,MSPKT+2,X10 GET NEEDDO )@@G@@ED SIZE :@@[&4@E@@@@ JNZ A1,$+2 JUMP IF DP )@@G@@LEVEL 35 :@@[&"@^@@@@ OFF DADS:@@[$C@E@@@@ L,DQ )@@G@@H2 A0,MSPKT+2,X10 GET PROPER SIZE :@@[$M@E@@@@ S,DR )@@G@@H1 A0,MSPKT+1,X10 . GET BIGGER BUFFER :@@[$W@E@@@@ A,DS )@@G@@H2 A0,MSPKT+1,X10 . GET NEW HIGHEST ADDR:@@[$&@E@@@@ S DT )@@G@@ A0,XPTRSV,X10 . SAVE NEW USER BASE :@@[$0@E@@@@ A DU )@@G@@ A0,UCORE,X10 . ADD INITIAL-CORE :@@[$'@E@@@@ ERDV )@@G@@ MCORE$ . AND EXPAND TO IT :@@[*^@D@@@@ J DW )@@G@@ GBUF . GO GET IT :@@[*I@G@@@@GOTIT SZ,S3 DX )@@G@@ MSPKT,X10 MAKE MSCON$ FLAG A HALF-WORD :@@[*S@E@@@@ DY )@@G@@ L A0,MSPKT+2,X10,H1 . GET OFFSET TO XPKID :@@[*+@E@@@@ DZ )@@G@@ A A0,MSPKT+1,X10,H2 . ADD BASE ADDRESS :@@[*?@D@@@@ EA )@@G@@ S A0,XPKID,X10 . AND SAVE IT :@@[*6@^@@@@ ONEB )@@G@@ DADS:@@[(@@D@@@@ TZ,H1 MSPKT,X10 ON LEVELEC )@@G@@ 35 ? :@@[(E@F@@@@ SZ XPKID,X10 YES, CLEAR XPKED )@@G@@ID CELL :@@[(O@^@@@@ OFF DADS:@@[(Y@F@@@@ SZEE )@@G@@ DGTFLG,X10 . CLEAR DGET$ DONE FLAG :@@[(*@F@@@@ EF )@@G@@ ER TDATE$ . GET CURRENT TIME AND DATE :@@[(2@E@@@@EG )@@G@@ S A0,DTDATE,X10 . AND FAKE FOR USER :@@[(/@B@@@@EH )@@G@@ ON ABSREAD . :@@[%A@B@@@@ ON EI )@@G@@ MFDFIO . :@@[%K@B@@@@ SZ A0 EJ )@@G@@ . :@@[%U@F@@@@ TNZ IOPKT1+1,X10 . DIRECT I/O TO EK )@@G@@MFDF$$ ?? :@@[%=@G@@@@ L A0,(1*/35+1) . YES, SETEL )@@G@@ NEW FORMAT, DIRECT READ:@@[%,@B@@@@ S A0,DTYPE,X10 EM )@@G@@ . :@@[%8@F@@@@ JN A0,ABSIO . AND ALL DONE IEN )@@G@@F DIRECT I/O:@@[:]@B@@@@ OFF MFDFIO . :@@[:GEO )@@G@@@B@@@@ ON (1-MFDFIO)**DADS . :@@[:Q@E@@@@ SZEP )@@G@@ DTYPE,X10 . SET OLD FORMAT FLAG :@@[:)@B@@@@ OFEQ )@@G@@F (1-MFDFIO)**DADS . :@@[:%@E@@@@ SZ DCLUTS,X10ER )@@G@@ . CLEAR DCLUTS FLAG :@@[:4@D@@@@ L,U A0,ABR$ ES )@@G@@ . RESET DBANK :@@[:"@D@@@@ S A0,IOPKTA+3,X10,ET )@@G@@S2 . SET I/O FNCS :@@[?C@B@@@@ S A0,IOPKTB+3,X10,S2 . EU )@@G@@:@@[?M@B@@@@ S A0,IOPKT1+3,X10,S2 . :@@[?W@B@@@@ EV )@@G@@ S A0,IOPKT2+3,X10,S2 . :@@[?&@B@@@@ OFF ABSREW )@@G@@EAD . :@@[?0@B@@@@ ON 1-ABSREAD . EX )@@G@@:@@[?'@G@@@@ L A0,(1*/35+1) . YES, SET NEW FORMAT,EY )@@G@@ DIRECT READ:@@[!^@B@@@@ S A0,DTYPE,X10 . :@@[!IEZ )@@G@@@B@@@@ OFF 1-ABSREAD . :@@[!S@G@@@@ J FA )@@G@@ ABSIO . AND SKIP DGET$ (HOORAY !! ) :@@[!+@B@@@@FB )@@G@@ OFF DIRECT . :@@[!?@[@@@@ . :@@[!6@G@@@@FC )@@G@@ . WE ARE GOING TO PROCESS THE MFD BY LINKING THROUGH A COPY FD )@@G@@:@@[,@@F@@@@ . OF THE MFDF OBTAINED VIA MSCON$ DGET$ FUNCTION. OFE )@@G@@BTAIN :@@[,E@F@@@@ . BUFFER SPACE, ASSIGN TDIR$ AND DO THE DGET$ FF )@@G@@FUNCTION. :@@[,O@[@@@@ . :@@[,Y@F@@@@NOMSAL SZ XPTRSV,X10FG )@@G@@ . CLEAR CORE ADDR REGISTER :@@[,*@B@@@@ ON 1-DAFH )@@G@@DONLY . :@@[,2@F@@@@ SZ DGETPK+3,X10 . CLFI )@@G@@EAR DGET$ DONE FLAG :@@[,/@B@@@@ OFF 1-DADONLY FJ )@@G@@ . :@@[\A@D@@@@ TNZ GOPT,X10 . G-OPTION SET? FK )@@G@@:@@[\K@G@@@@ J DOMSC . NO, GO DO DGET$ TO GFL )@@G@@ET SIZE :@@[\U@F@@@@DOASG L,U A0,TDASG,X10 . YES, MAYFM )@@G@@BE USE OLD TDIR$ :@@[\=@E@@@@ ER CSF$ . TRFN )@@G@@Y TO ASSIGN TDIR$ :@@[\,@F@@@@ TP A0 . ISFO )@@G@@ IT ASSIGNED NOW ?? :@@[\8@F@@@@ ER ERR$ FP )@@G@@ . NO, WELL GET OUT QUICK ! :@@[0]@F@@@@ TZ GOPT,X10 FQ )@@G@@ . DOES HE LIKE THIS COPY? :@@[0G@G@@@@ TOP A0,(FR )@@G@@1*/33) . AND WAS IT ALREADY ASG'ED ? :@@[0Q@E@@@@ J FS )@@G@@ DOMSC . NO, MUST DO A DGET$ :@@[0)@G@@@@DOMCORE L FT )@@G@@ A0,IOPKT1+4,X10,H2 . YES, TRY TO USE THE OLD FILE :@@[0%@G@@@@FU )@@G@@ A,U A0,27 . INSURE SUFFICIENT ROOM FOR I/O FV )@@G@@:@@[04@E@@@@ TG A0,UHIGH,X10 . ALREADY GOT IT? FW )@@G@@:@@[0"@F@@@@ ER MCORE$ . ACCQUIRE MINIMUM SPAFX )@@G@@CE :@@[1C@E@@@@ J NODGET . GO READ FILE HFY )@@G@@EADER :@@[1M@F@@@@DOMSC SZ GOPT,X10 . NOT USING OLD FZ )@@G@@TDIR$ NOW :@@[1W@B@@@@ L,U A0,DGETPK,X10 . :@@[1&GA )@@G@@@E@@@@ ER MSCON$ . READ THE DIRECTORY :@@[10GB )@@G@@@D@@@@ TZ DGETID,X10 . DGETP$ DONE?? :@@[1'@E@@@@GC )@@G@@ TZ XPTRSV,X10 . MCORE$ DONE YET? :@@[2^@C@@@@GD )@@G@@ JP A0,NODGET . GOT IT :@@[2I@B@@@@ JPGE )@@G@@ A0,DOMCORE . :@@[2S@D@@@@ S A0,A4 GF )@@G@@ . GET STATUS :@@[2+@B@@@@ SSL A4,18 GG )@@G@@ . :@@[2?@B@@@@ AND,U A4,077 . :@@[26@F@@@@GH )@@G@@ TNE,U A5,022 . IS IT FILE NOT ASSIGNED? :@@[3@GI )@@G@@@F@@@@ J GETFLE . YES, GO BUILD ASG IMAGE GJ )@@G@@:@@[3E@B@@@@ TE,U A5,033 . :@@[3O@E@@@@ GK )@@G@@ TNE,U A5,034 . IS FILE TOO SMALL? :@@[3Y@G@@@@ GL )@@G@@ J FREFLE . YES, FREE AND REASSIGN TDIR$ :@@[3*GM )@@G@@@E@@@@ TNZ XPTRSV,X10 . NOT MCORE'ED YET? :@@[32GN )@@G@@@E@@@@ TE,U A5,025 . BUFFER OUT OF RANGE?:@@[3/GO )@@G@@@G@@@@ ER ERR$ . NO, DON'T WANT TO KNOW 'BOGP )@@G@@UT IT :@@[4A@F@@@@ J GETBUF . YES, JUST DO TGQ )@@G@@HE MCORE$ :@@[4K@B@@@@FREFLE L,U A0,TDFREE,X10 . :@@[4UGR )@@G@@@E@@@@ ER CSF$ . YES, FREE OLD COPY :@@[4=GS )@@G@@@F@@@@ JP A0,GETFLE . MCORE$ AND REASG IF OK GT )@@G@@:@@[4,@F@@@@ ER ERR$ . CAN'T IMAGINE THIS .GU )@@G@@ . . :@@[48@D@@@@GETFLE L A0,DGETPK+3,X10 . GET MAX SIZE GV )@@G@@:@@[5]@D@@@@ A,U A0,10 . INC FOR GROWTH:@@[5GGW )@@G@@@D@@@@ L,U R1,5 . GET COUNT :@@[5Q@B@@@@GX )@@G@@DCLP DSL A0,3 . :@@[5)@B@@@@ SSL GY )@@G@@ A1,3 . :@@[5%@E@@@@ JGD R1,DCLP GZ )@@G@@ . AND GO DO THE REST :@@[54@B@@@@ A A1,('000000') HA )@@G@@ . :@@[5"@G@@@@ S A1,MAXSIZ,X10 . SET INIT SIZE HB )@@G@@IN ASG,T IMAGE :@@[6C@G@@@@GETBUF L A0,DGETPK+3,X10 . GEHC )@@G@@T NUMBER DIRECTORY TRACKS :@@[6M@F@@@@ JZ A0,DOASG HD )@@G@@ . DUMB DGETP$ DOESN'T RTN IT:@@[6W@G@@@@ A,U A0,1HE )@@G@@0+2 . ADD GROWTH AND SEARCH FUDGES :@@[6&@F@@@@ LSHF )@@G@@SL A0,1 . (NEED TWO WORDS/ENTRY) :@@[60@E@@@@ HG )@@G@@ A A0,DTABLE,X10 . ADD TO BASE ADDR :@@[6'@G@@@@ HH )@@G@@ S A0,XPTRSV,X10 . SAVE FOR RETURN CALCULATION :@@[7^HI )@@G@@@G@@@@ A A0,UCORE,X10 . ADD IN USER'S INITIAL ALLOHJ )@@G@@C. :@@[7I@E@@@@ TG A0,UHIGH,X10 . ALREADY GOT ENHK )@@G@@OUGH? :@@[7S@G@@@@ ER MCORE$ . GET ALL REQUIRHL )@@G@@ED SPACE AT ONCE :@@[7+@F@@@@ TE,U A5,025 . GEHM )@@G@@T HERE ONLY FOR BUFFER? :@@[7?@E@@@@ J DOASG HN )@@G@@ . NO, MUST ASG TDIR$ :@@[76@E@@@@ J DOMSC HO )@@G@@ . YES, GO TRY AGAIN :@@[8@@[@@@@ . :@@[8E@F@@@@ . TDIR$ NOHP )@@G@@W CONTAINS A COPY OF THE MFD, READ THE HEADER :@@[8O@D@@@@ . ANHQ )@@G@@D COMPUTE THE NUMBER OF DIRECTORY TRACKS. :@@[8Y@[@@@@ . :@@[8*@F@@@@HR )@@G@@NODGET L A0,XPTRSV,X10 . GET HIGHEST CORE ADDR :@@[82HS )@@G@@@G@@@@ AN A0,DTABLE,X10 . GET LENGTH OF ADDR CONV TBHT )@@G@@L :@@[8/@E@@@@ AN,U A0,2 . SUBTRACT FUDGEHU )@@G@@ WORDS:@@[9A@D@@@@ SSA A0,1 . DIVIDE BY TWO HV )@@G@@:@@[9K@E@@@@ TLE A0,DGETPK+3,X10 . DIRECTORY EXPAND ?? HW )@@G@@:@@[9U@F@@@@ SZ XPTRSV,X10 . YES, FORCE NEW MCOREHX )@@G@@$ :@@[9=@B@@@@ SZ IOPKT1+5,X10 . :@@[9,@B@@@@HY )@@G@@ ON DIRECT . :@@[98@F@@@@ L,U HZ )@@G@@ A0,1 . SET REL READ FUNCTION :@@[']@E@@@@ S IA )@@G@@ A0,DGTFLG,X10 . SET DGET$ DONE FLAG :@@['G@B@@@@ OFIB )@@G@@F DIRECT . :@@['Q@E@@@@ L,U A0,IOPKT1,IC )@@G@@X10 . READ 1ST SECTOR :@@[')@B@@@@ ER IOW$ ID )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@#@@@@@@IH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@II )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^@@ACONFIG @@+@@^)@@RUJIP )@@G@@EQUFS @@+@@ )@@R=/BUMP @@+@@A)@@R1LCONFIG @@<@@@@@@R2\IQ )@@G@@EQUFS @@<@@@@@@R.WBUMP @@<@@@@@@SD1@G@@@@ : : IR )@@G@@ : : : @G@@@@ : $> :IS )@@G@@ N L : 1 R(4) : GREATER THAN OR EQUAL : @G@@@@ : IT )@@G@@ : : : : @G@@@@IU )@@G@@ : > : N L : 0 R(4) : GREATER THAN : IV )@@G@@@F@@@@ :...............................................................:IW )@@G@@@[@@@@ @^@@@@ NOTES FOR TABLE 5.1 @[@@@@ @G@@@@ (1) IF TIX )@@G@@HE LEFT OPERAND OF THE POWER (*) IS NEGATIVE, THEN @G@@@@ APL\1IY )@@G@@100 WILL ATTEMPT TO GIVE A REAL-VALUED RESULT; IF THE RESULT @G@@@@IZ )@@G@@ IS A COMPLEX NUMBER, A DOMAIN ERROR WILL RESULT. HENCE &27*1%3 JA )@@G@@@G@@@@ WILL YIELD THE CUBE ROOT OF &27, I.E. &3, BUT &27*0.5 WILL GIVE JB )@@G@@A @D@@@@ DOMAIN ERROR, AS THE SQUARE ROOT OF &27 IS IMAGINARY.@[@@@@JC )@@G@@ @G@@@@ (2) THE GENERAL DEFINITION OF THE RESIDUE FUNCTION FOR LJD )@@G@@EFT AND @A@@@@ RIGHT OPERANDS L AND R IS GIVEN BY @[@@@@ @C@@@@JE )@@G@@ L NON-ZERO R-($!L)#$LR%$!L @[@@@@ @A@@@@ JF )@@G@@ L ZERO,R$>0 R @[@@@@ @C@@@@ L ZERO,R<0 JG )@@G@@ DOMAIN ERROR @[@@@@ @G@@@@ (3) PERMISSIBLE VALUES FORJH )@@G@@ THE LEFT ARGUMENT OF THE GENERALIZED @G@@@@ CIRCULAR FUNCTION OPERAJI )@@G@@TOR $T ARE THE INTEGERS &7 TO 7, WHERE THE @G@@@@ NEGATIVE VALUES CJJ )@@G@@ORRESPOND TO THE INVERSES OF THE POSITIVE VALUES. @G@@@@ IN ADDITIONJK )@@G@@, THE LEFT ARGUMENT VALUES FOR THE HYPERBOLIC FUNCTIONS @[@@@@*****^JL )@@G@@@G@@@@A USER'S GUIDE TO APL\1100 (PRELIMINARY) JM )@@G@@ 4- 5@[@@@@ @[@@@@ @[@@@@ @G@@@@ DIFFER FROM THE CORRESJN )@@G@@PONDING VALUES FOR THE NORMAL TRIGONOMETRIC @G@@@@ VALUES BY FOUR. JO )@@G@@ THE TABLE BELOW GIVES THE FUNCTION OF THE RIGHT @F@@@@ OPERAND R FJP )@@G@@OR EACH OF THE ALLOWED VALUES OF THE LEFT OPERAND L: @[@@@@ @F@@@@JQ )@@G@@ .................................................................@G@@@@JR )@@G@@ : $TL L>0 L<0 : $TL L>0 L<0 : JS )@@G@@@F@@@@ :..............................:................................:JT )@@G@@@G@@@@ : 0 (L-R*2)*.5 SAME : 4 (1+R*2)*.5 (&1+R*2)*.5 JU )@@G@@: @G@@@@ : : JV )@@G@@ : @G@@@@ : 1 SIN R ARCSIN R : 5 SINH R AJW )@@G@@RCSINH R : @G@@@@ : : JX )@@G@@ : @G@@@@ : 2 COS R ARCLOS R : 6 JY )@@G@@ COSH R ARCCOSH R : @G@@@@ : : JZ )@@G@@ : @G@@@@ : 3 TAN R ARCTAN RKA )@@G@@ : 7 TANH R ARCTANH R : @F@@@@ :......................KB )@@G@@.........................................:@[@@@@ @G@@@@ (4) THE KC )@@G@@REDUCTION IDENTITIES FOR THE RELATIONAL OPERATORS ARE @G@@@@ MEANIKD )@@G@@NGFUL ONLY WHEN THESE OPERATORS ARE APPLIED TO LOGICAL @G@@@@KE )@@G@@ OPERANDS (I.E. 0 AND 1). IN THESE CASES, THEY ARE EQUIVALENT TO KF )@@G@@@G@@@@ BOOLEAN FUNCTIONS OF TWO OPERANDS, FOR EXAMPLE $= IS EQUIVALENT TKG )@@G@@O @ @@@@ THE EXCLUSIVE OR FUNCTION. @[@@@@ @G@@@@ (5) THE KH )@@G@@DYADIC PRIMITIVE OPERATORS = AND $= ARE SUBJECT TO @E@@@@ FUZZIKI )@@G@@NG WHEN APPLIED TO NUMERIC ARGUMENTS (SEE CHAPTER 6). @[@@@@ @[@@@@KJ )@@G@@*****^@G@@@@A USER'S GUIDE TO APL\1100 (PRELIMINARY) KK )@@G@@ 4- 6@[@@@@ @[@@@@ @[@@@@ @D@@@@ TKL )@@G@@ABLE 5.2 PRIMITIVE MONADIC SCALARS @[@@@@ @F@@@@ .................KM )@@G@@................................................@G@@@@ : SYMBOL : KN )@@G@@DOMAIN : NAME/DEFINITION : @G@@@@ : KO )@@G@@ : O R : : @F@@@@ :....KP )@@G@@......:...............:....................................:@G@@@@ : KQ )@@G@@ + : N N : PLUS. HAS THE SAME EFFECT AS : @G@@@@KR )@@G@@ : : : ADDING ZERO TO THE OPERAND, : KS )@@G@@@G@@@@ : : : I.E. +R IS EQUIVALENT TO 0+R KT )@@G@@: @G@@@@ : : : KU )@@G@@ : @G@@@@ : - : N N : NEGATE. CHANGES THE KV )@@G@@SIGN OF THE : @G@@@@ : : : OPERAND. -R ISKW )@@G@@ EQUIVALENT TO : @G@@@@ : : : 0-R KX )@@G@@ : @G@@@@ : : : KY )@@G@@ : @G@@@@ : # : N N :KZ )@@G@@ SIGN. 1, 0 OR &1 DEPENDING ON : @G@@@@ : : LA )@@G@@ : WHETHER THE OPERAND IS POSITIVE, : @G@@@@ : : LB )@@G@@ : ZERO OR NEGATIVE : @G@@@@ : LC )@@G@@ : : : @G@@@@ : LD )@@G@@ % : N N : RECIPROCAL. %R IS EQUIVALENT : @G@@@@LE )@@G@@ : : : TO 1%R : LF )@@G@@@G@@@@ : : : LG )@@G@@: @G@@@@ : $C : N I : CEILING. THE SMALLEST INTELH )@@G@@GER : @G@@@@ : : : GREATER THAN THE OPERLI )@@G@@AND. THIS : @G@@@@ : : : OPERATOR IS SUBLJ )@@G@@JECT TO FUZZING : @G@@@@ : : : (CHAPTER LK )@@G@@6) : @G@@@@ : : : LL )@@G@@ : @G@@@@ : $L : N I :LM )@@G@@ FLOOR. THE LARGEST INTEGER : @G@@@@ : : LN )@@G@@ : NOT GREATER THAN THE OPERAND. : @G@@@@ : : LO )@@G@@ : FOR POSITIVE OPERANDS, THIS : @G@@@@ : LP )@@G@@ : : AMOUNTS TO TRUNCATION. THIS : @G@@@@ : LQ )@@G@@ : : OPERATOR IS ALSO AFFECTED BY : @G@@@@LR )@@G@@ : : : FUZZING : LS )@@G@@@G@@@@ : : : LT )@@G@@: @G@@@@ : * : N N : EXPONENTION. THE NUMBER 'ELU )@@G@@' : @G@@@@ : : : (BASE OF NATURAL LOGALV )@@G@@RITHMS) : @G@@@@ : : : RAISED TO THE SLW )@@G@@PECIFIED POWER : @G@@@@ : : : LX )@@G@@ : @G@@@@ : $* : N N : NATLY )@@G@@URAL LOGARITHM OF THE OPERAND : @G@@@@ : : :LZ )@@G@@ : @G@@@@ : $! : N MA )@@G@@N : MAGNITUDE : @G@@@@ : : MB )@@G@@ : : @G@@@@ : ! MC )@@G@@ : N N : FACTIONAL. GENERALIZED (VIA THE : @G@@@@ : MD )@@G@@ : : GAMMA FUNCTION) TO NON-INTEGER : @G@@@@ME )@@G@@ : : : OPERANDS. NEGATIVE INTEGER : MF )@@G@@@G@@@@ : : : OPERANDS GIVE DOMAIN ERRORS MG )@@G@@: @F@@@@ :..........:...............:...............................MH )@@G@@.....:@[@@@@*****^@G@@@@A USER'S GUIDE TO APL\1100 (PRELIMINARY) MI )@@G@@ 4- 7@[@@@@ @[@@@@ @[@@@@ @[@@@@ MJ )@@G@@@B@@@@ TABLE 5.2 (CONTINUED) @[@@@@ @F@@@@ .....MK )@@G@@............................................................@G@@@@ : SYML )@@G@@MBOL : DOMAIN : NAME/DEFINITION : @G@@@@MM )@@G@@ : : O R : : MN )@@G@@@F@@@@ :..........:...............:....................................:MO )@@G@@@G@@@@ : : : MP )@@G@@: @G@@@@ : ? : N N : ROLL. A RANDOM INTEGER CHOMQ )@@G@@SEN : @G@@@@ : : : FROM THE SET $IR. ?6 MR )@@G@@6 IS EQUIVA-: @G@@@@ : : : LENT TO THE RANMS )@@G@@DOM ROLL OF : @G@@@@ : : : A PAIR OFMT )@@G@@ DICE. THE PSEUDO- : @G@@@@ : : : RANMU )@@G@@DOM NUMBER SEQUENCE USED MAY : @G@@@@ : : :MV )@@G@@ BE ALTERED BY THE SETLINK : @G@@@@ : : MW )@@G@@ : FUNCTION IN THE WORKSPACE 1 WSFNS: @G@@@@ : : MX )@@G@@ : : @G@@@@ : $T MY )@@G@@ : N N : PI TIMES THE RIGHT OPERAND : @G@@@@ : MZ )@@G@@ : : : @G@@@@NA )@@G@@ : $N : L L : NOT. THE BOOLEAN NOT OPERATOR : NB )@@G@@@F@@@@ :..........:...............:....................................:NC )@@G@@@[@@@@ @[@@@@ @ @@@@ 4. 2. COMPOUND OPERATORS @[@@@@ ND )@@G@@@[@@@@ @G@@@@ APL\1100 PROVIDES THREE GENERALIZED PRIMITIVE OPNE )@@G@@ERATORS WHICH @G@@@@ ARE USED IN CONJUNCTION WITH DYADIC SCALARNF )@@G@@ OPERATORS. THESE @G@@@@ OPERATORS APPLY THE SPECIFIED DYADIC NG )@@G@@ SCALAR OPERATORS TO THE @G@@@@ OPERANDS IN A MANNER OTHER THAN NH )@@G@@THE STRICTLY ELEMENT-BY-ELEMENT @G@@@@ APPLICATION OF THE DYADS TNI )@@G@@HEMSELVES, AND PRODUCE RESULTS WHOSE @G@@@@ RANK AND DIMENSIONS NJ )@@G@@DIFFER FROM THOSE OF THE OPERANDS. THESE @G@@@@ OPERATORS ARE RENK )@@G@@DUCTION (A GENERALIZATION OF THE MATHEMATICAL SUM @E@@@@ AND PRODUCTNL )@@G@@ OPERATORS), INNER PRODUCT, AND OUTER PRODUCT. @[@@@@ @^@@@@ 4. 2NM )@@G@@. 1. REDUCTION @[@@@@ @F@@@@ REDUCTION IS A MONADIC OPNN )@@G@@ERATION INDICATED BY THE /@G@@@@ CHARACTER. IT IS ALWAYS DONE NO )@@G@@IN CONJUNCTION WITH A PRIMITIVE @G@@@@ DYADIC SCALAR OPERATOR, WHINP )@@G@@CH IS WRITTEN IMMEDIATELY TO THE LEFT @G@@@@ OF THE /. THUS, A RENQ )@@G@@DUCTION WITH RESPECT TO ADDITION IS WRITTEN @G@@@@ AS +/. A REDUCNR )@@G@@TION WITH RESPECT TO THE CEILING WOULD BE WRITTEN @[@@@@ $C/. @[@@@@NS )@@G@@ @G@@@@ THE MOST OBVIOUS EXAMPLE OF REDUCTION IS ITS APPLICATINT )@@G@@ON TO A @G@@@@ VECTOR. A REDUCTION WITH RESPECT TO SOME OPERATOR NU )@@G@@IS EQUIVALENT @G@@@@ TO HAVING WRITTEN THE OPERATOR BETWEEN EACH ELENV )@@G@@MENT OF THE VECTOR. @#@@@@ FOR EXAMPLE, @[@@@@ @ @@@@ NW )@@G@@ +/ 2 3 4 *[@@@@*SDFF*@F@@@@THE LONG VERSION OF THIS ITEM NX )@@G@@CONTAINS A (THICK) MANUAL FOR @RALPH@ @@@@TO GET IT: @NEWS,OLM RALPH NY )@@G@@@[@@@@******@[@@@@ @[@@@@ @[@@@@ @[@@@@ @[@@@@ NZ )@@G@@@[@@@@ @[@@@@ @C@@@@ A GUIDE TO PROGRAMMING WOA )@@G@@ITH @[@@@@ @[@@@@ @C@@@@ RRRR AA L OB )@@G@@PPPP H H@C@@@@ R R AA L P P H H@C@@@@OC )@@G@@ R R A A L P P H H@C@@@@ RRRROD )@@G@@ A A L PPPP HHHHH@C@@@@ R R AAAAAA L OE )@@G@@P H H@C@@@@ R R A A L P H H@C@@@@OF )@@G@@ R R A A LLLLL P H H@[@@@@ @D@@@@ OG )@@G@@ THE UNIVERSITY OF MARYLAND FORTRAN-V @D@@@@ FOR OH )@@G@@THE UNIVAC 1100 SERIES COMPUTERS @[@@@@ @A@@@@ OI )@@G@@BY BRIAN K. REID @[@@@@ @[@@@@ @[@@@@ @[@@@@ @[@@@@OJ )@@G@@ @[@@@@ @[@@@@ @[@@@@ @[@@@@ @[@@@@ @[@@@@OK )@@G@@ @[@@@@ @[@@@@ @[@@@@ @[@@@@ @[@@@@ @F@@@@OL )@@G@@ THE RALPH SYSTEM WAS WRITTEN BY EDWARD J. BARKMEYER, JR., @F@@@@OM )@@G@@ BRIAN K. REID, AND GEORGE W. BALTZ, WITH HELP FROM OTHERS, AT THE@F@@@@ON )@@G@@ UNIVERSITY OF MARYLAND AND FUNDED IN PART BY GRANT NSG-398 OF THE@C@@@@OO )@@G@@ NATIONAL AERONATUTICS AND SPACE ADMINISTRATION.@[@@@@*****^@G@@@@A GUIDOP )@@G@@E TO PROGRAMMING WITH RALPH (DECEMBER 1971 VERSION) 0- 2@[@@@@OQ )@@G@@ @[@@@@ @[@@@@ @#@@@@ INTRODUCTION @[@@@@ @[@@@@OR )@@G@@ @G@@@@ THIS MANUAL IS INTENDED TO BE A SELF-CONTAINED REFEREOS )@@G@@NCE FOR @F@@@@ ALL ASPECTS OF PROGRAMMING WITH THE UNIVERSITY OF MAROT )@@G@@YLAND RALPH @F@@@@ FORTRAN/MAD SYSTEM AT AN INTRODUCTORY LEVEL. A READEOU )@@G@@R WITH NO @F@@@@ PREVIOUS EXPERIENCE ON AN 1108 SHOULD BE ABLE TO SUCCOV )@@G@@ESSFULLY @G@@@@ CODE, PUNCH, AND RUN A FORTRAN OR MAD PROGRAM REFERENOW )@@G@@CING ONLY THE @F@@@@ INFORMATION CONTAINED HEREIN. SUPPLEMENTARY SYOX )@@G@@STEM INFORMATION @D@@@@ MAY BE HAD FROM THE APPROPRIATE UNIVAC PUBLICATOY )@@G@@ION. @[@@@@ @F@@@@ WHERE APPLICABLE, SPECIFIC REFERENCES TO OZ )@@G@@OTHER PUBLICATIONS@G@@@@ ARE MADE, TO ENABLE THE READER TO PURSUE FURTHEPA )@@G@@R A TOPIC WHICH WAS @G@@@@ ONLY SKETCHED IN THIS MANUAL. ALL REFEREPB )@@G@@NCES TO UNIVAC DOCUMENTA- @A@@@@ TION GIVE MANUAL NUMBER AND TITLE. PC )@@G@@@[@@@@ @F@@@@ THE CHAPTERS ON DEBUGGING, DIAGNOSTIC AIDS AND PD )@@G@@ERROR MESSA-@G@@@@ GES SHOULD PROVE INVALUABLE TO THE BEGINNING AND ADVAPE )@@G@@NCED PROGRAM- @F@@@@ MER ALIKE. A NUMBER OF HINTS, BASED ON SEVERALPF )@@G@@ YEARS' COLLECTION@G@@@@ OF THE MOST COMMON ERRORS MADE BY THE AVERAGE UPG )@@G@@SER UNFAMILIAR WITH @F@@@@ THE EXEC 8 SYSTEM HAVE BEEN INCLUDED, IN PH )@@G@@THE HOPE THAT A PROGRAM-@F@@@@ MER WILL BE ABLE TO AVOID THESE ERRORS WIPI )@@G@@THOUT GOING THROUGH THE @G@@@@ FRUSTRATING EXPERIENCE OF TRIAL-AND-ERRORPJ )@@G@@ FAMILIARIZATION WITH THE @F@@@@ QUIRKS OF THE OPERATING SYSTEM. HEPK )@@G@@ MAY NOW IMMEDIATELY GRADUATE @F@@@@ TO THE REALM OF THE ESOTERIC ERROR,PL )@@G@@ SKIPPING THE STANDARD ONES @]@@@@ COMPLETELY.@[@@@@ @[@@@@ PM )@@G@@@D@@@@ BRIAN K. REID @D@@@@ PN )@@G@@ JULY, 1971 @[@@@@*****^@G@@@@A GUIDPO )@@G@@E TO PROGRAMMING WITH RALPH (DECEMBER 1971 VERSION) 0- 3@[@@@@PP )@@G@@ @[@@@@ @[@@@@ @#@@@@ ACKNOWLEDGEMENTS @[@@@@ @[@@@@PQ )@@G@@ @[@@@@ @[@@@@ @F@@@@ WE WOULD LIKE TO THANK THE GOPR )@@G@@OD PEOPLE WHO HELPED US WITH @]@@@@ RALPH: @[@@@@ @F@@@@ PS )@@G@@ GARY GRAUNKE, FOR HIS WORK ON THE MONITOR LIBRARY AND ELE- @G@@@@ MENTAPT )@@G@@RY FUNCTIONS. JOHN LOXTON FOR THE STORAGE-ALLOCATION SECTION @F@@@@PU )@@G@@ OF RALPH. RAY SPALDING FOR THE 'PRINT RESULTS' SUBROUTINE AND @F@@@@PV )@@G@@ ASSOCIATED LABORS. JAMES SNIVELY FOR HIS INITIAL WORK ON THE @F@@@@PW )@@G@@ ARITHMETIC EXPRESSION SCANNER. DAVID JEFFERSON FOR MOST OF THE @F@@@@PX )@@G@@ OPERATOR-DEFINITION SEQUENCES. DOROTHY KOHNE FOR MOST OF THE @E@@@@PY )@@G@@ 'READ DATA' SIMPLIFIED I/O SUBROUTINE. THOMAS HALL FOR THE@^@@@@ 'INCLPZ )@@G@@UDE' PROCESSOR. @[@@@@ @F@@@@ WE WOULD LIKE TO THANK PROF. QA )@@G@@MARSHALL D. ABRAMS FOR HIS @F@@@@ PATIENT TESTING OF RALPH, AND HIS SQB )@@G@@TUDENTS FOR MAKING ERRORS WE @G@@@@ NEVER EXPECTED ANYONE TO MAKE. MANQC )@@G@@Y THANKS TO MIKE MCAMIS FOR THE @G@@@@ INCREDIBLY FIENDISH TEST PROGQD )@@G@@RAMS HE TURNED OUT, AND FOR DARING TO @B@@@@ USE RALPH IN CLASS PROJQE )@@G@@ECTS BEFORE ANYONE@ @@@@ ELSE WAS EVEN SHINING SHOES @^@@@@ WITH ITS COQF )@@G@@RE DUMPS. @[@@@@ @F@@@@ FINALLY, THANKS GO TO MR. ALFRED BEQG )@@G@@AM FOR HIS GUIDANCE, @F@@@@ INSPIRATION, AND PRODDING; THE ENTIRE RALQH )@@G@@PH PROJECT WAS CONCEIVED@ @@@@ AND ORGANIZED BY MR. BEAM. @[@@@@ QI )@@G@@@F@@@@ THE RALPH COMPILER BORROWS HEAVILY FROM THE INCREDIBLE QJ )@@G@@@F@@@@ SOPHISTICATION OF THE IBM 709/7090 MAD TRANSLATOR AS CODED ORI- QK )@@G@@@F@@@@ GINALLY BY MESSRS. BRUCE ARDEN, BERNARD GALLER, AND ROBERT GRAHAMQL )@@G@@@G@@@@ OF THE UNIVERSITY OF MICHIGAN IN 1959. THE COMPLETE UNDERSTANDINQM )@@G@@G @F@@@@ OF THEIR OVERALL LOGIC STRUCTURE, COUPLED WITH THE OUT-AND-QN )@@G@@OUT @F@@@@ PLAGIARISM OF SOME OF THEIR PROGRAMMING TRICKS, PLUS TWO YEQO )@@G@@ARS OF@F@@@@ CAREFUL REDESIGN BASED ON ADVANCES IN THE COMPUTER FIELD INQP )@@G@@ THE @F@@@@ TEN YEARS SINCE MAD FIRST APPEARED HAS ENABLED US TO PRODUCQQ )@@G@@E WHAT@F@@@@ WE FIRMLY BELIEVE TO BE THE MOST POWERFUL AND EFFICIENT FORQR )@@G@@TRAN @^@@@@ COMPILER EVER WRITTEN. @[@@@@ @[@@@@ @E@@@@ QS )@@G@@ EDWARD BARKMEYER @D@@@@ QT )@@G@@ BRIAN REID @D@@@@ QU )@@G@@ GEORGE BALTZ @[@@@@ @F@@@@ QV )@@G@@ COLLEGE PARK, MARYLAND @[@@@@ @[@@@@*****^@G@@@@QW )@@G@@A GUIDE TO PROGRAMMING WITH RALPH (DECEMBER 1971 VERSION) 0- 4QX )@@G@@@[@@@@ @[@@@@ @[@@@@ @]@@@@ CONTENTS @[@@@@ @[@@@@QY )@@G@@ @[@@@@ @F@@@@ 1. THE RALPH COMPILER QZ )@@G@@ 1-1 @G@@@@ 1. 1. OVERALL PHILOSOPHY AND DESIGN RA )@@G@@ 1- 1 @G@@@@ 1. 1. 1. RALPH IN AN 1108 INSTALLATRB )@@G@@ION 1- 2 @G@@@@ 1. 2. STATEMENT TYPES AND CLARC )@@G@@SSIFICATIONS 1- 4 @G@@@@ 1. 2. 1. ASSIGNMENT STARD )@@G@@TEMENTS 1- 4 @G@@@@ 1. 2. 2. PROGRAM RE )@@G@@CONTROL STATEMENTS 1- 4 @G@@@@ 1. 2. 3. INRF )@@G@@PUT/OUTPUT STATEMENTS 1- 4 @G@@@@ 1. 2. RG )@@G@@4. SUBROUTINE STATEMENTS 1- 4 @G@@@@ RH )@@G@@1. 2. 5. DECLARATION STATEMENTS 1- 5 @G@@@@RI )@@G@@ 1. 2. 6. MISCELLANEOUS AND SPECIAL-PURPOSE STATEMENTS 1- 5 RJ )@@G@@@G@@@@ 1. 3. RALPH UNDER EXEC 8 RK )@@G@@1- 6 @F@@@@ 2. COMPUTATION ON THE UNIVAC 1108 RL )@@G@@2-1 @G@@@@ 2. 1. DESCRIPTION OF THE MACHINE RM )@@G@@ 2- 1 @G@@@@ 2. 1. 1. PROCESSOR AND MEMORY RN )@@G@@ 2- 1 @G@@@@ 2. 1. 2. PERIPHERAL SUBSYSTEMS RO )@@G@@ 2- 1 @G@@@@ 2. 1. 3. REMOTE COMPUTING RP )@@G@@ 2- 2 @G@@@@ 2. 2. ARITHMETIC CAPABILITIESRQ )@@G@@ AND CHARACTERISTICS 2- 3 @G@@@@ 2. 2. 1. INTEGER ARITHMRR )@@G@@ETIC 2- 3 @G@@@@ 2. 2. 2. FLOATINGRS )@@G@@-POINT ARITHMETIC 2- 4 @G@@@@ 2. 2. 3. DORT )@@G@@UBLE-PRECISION ARITHMETIC 2- 5 @F@@@@ 3. SYNTACRU )@@G@@TIC ELEMENTS OF RALPH SOURCE STATEMENTS 3-1 @G@@@@ 3. 1. RV )@@G@@ MODES 3- 1 @G@@@@ RW )@@G@@3. 2. OPERANDS 3- 3 @G@@@@RX )@@G@@ 3. 2. 1. CONSTANTS 3- 3 RY )@@G@@@G@@@@ 3. 2. 2. VARIABLES RZ )@@G@@3- 7 @G@@@@ 3. 2. 3. FUNCTION PARAMETERS SA )@@G@@ 3- 9 @G@@@@ 3. 2. 4. FUNCTION REFERENCES SB )@@G@@ 3- 9 @G@@@@ 3. 3. OPERATORS SC )@@G@@ 3- 21 @G@@@@ 3. 3. 1. COMPUTATIONAL OPERATORS SD )@@G@@ 3- 22 @G@@@@ 3. 3. 2. CONVERSION OPERATORSSE )@@G@@ 3- 23 @G@@@@ 3. 3. 3. MANIPULATIVE OSF )@@G@@PERATORS 3- 23 @G@@@@ 3. 3. 4. COMPARATSG )@@G@@IVE OPERATORS 3- 24 @G@@@@ 3. 3. 5. LOSH )@@G@@GICAL OPERATORS 3- 25 @G@@@@ 3. 3. SI )@@G@@6. MISCELLANEOUS OPERATORS 3- 25 @G@@@@ SJ )@@G@@3. 3. 7. TABLE OF OPERATORS, PRECEDENCES, AND TYPES 3- 27 @G@@@@SK )@@G@@ 3. 4. EXPRESSIONS 3- 29 SL )@@G@@@G@@@@ 3. 4. 1. SIMPLE EXPRESSIONS SM )@@G@@3- 29 @G@@@@ 3. 4. 2. THE ALTERNATIVE EXPRESSION SN )@@G@@ 3- 30 @G@@@@ 3. 4. 3. THE ITERATIVE EXPRESSION SO )@@G@@ 3- 30 @G@@@@ 3. 4. 4. OPERATOR-MODE COMBINATIONS SP )@@G@@ 3- 31 @G@@@@ 3. 4. 5. MODE CONVERSION SQ )@@G@@ 3- 31 @G@@@@ 3. 4. 6. OPERATOR PRECEDENCE SR )@@G@@ 3- 32 @F@@@@ 4. ASSIGNMENT STATEMENTS SS )@@G@@ 4-1 @G@@@@ 4. 1. SIMPLE ASSIGNMENTST )@@G@@ STATEMENTS 4- 1 @G@@@@ 4. 2. ITERATIVE ASU )@@G@@SSIGNMENT STATEMENTS 4- 1 @G@@@@ 4. 3. THE OSV )@@G@@PERAND REVERSAL STATEMENT 4- 2 @[@@@@*****^@G@@@@SW )@@G@@A GUIDE TO PROGRAMMING WITH RALPH (DECEMBER 1971 VERSION) 0- 5SX )@@G@@@[@@@@ @[@@@@ @[@@@@ @G@@@@ 4. 4. MODE CONVERSION ISY )@@G@@N ASSIGNMENT STATEMENTS 4- 3 @F@@@@ 5. CONTROL STATEMENTSSZ )@@G@@ 5-1 @G@@@@ 5. 1. TRANSFER OFTA )@@G@@ CONTROL 5- 1 @G@@@@ 5. 1. 1. UNTB )@@G@@CONDITIONAL TRANSFER 5- 1 @G@@@@ 5. 1. TC )@@G@@2. INDEXED TRANSFER 5- 2 @G@@@@ TD )@@G@@5. 1. 3. STATEMENT-LABEL VARIABLES 5- 2 @G@@@@TE )@@G@@ 5. 1. 4. ASSIGNED TRANSFERS 5- 3 TF )@@G@@@G@@@@ 5. 2. THE 'CONTINUE' STATEMENT (FORTRAN AND MAD) TG )@@G@@5- 5 @G@@@@ 5. 3. CONDITIONAL STATEMENTS TH )@@G@@ 5- 5 @G@@@@ 5. 3. 1. SIMPLE CONDITIONALS (MAD AND FORTRAN) TI )@@G@@ 5- 5 @G@@@@ 5. 3. 2. ARITHMETIC CONDITIONALS (FORTRANTJ )@@G@@ ONLY) 5- 6 @G@@@@ 5. 3. 3. COMPOUND CONDITIONALS (MATK )@@G@@D ONLY) 5- 8 @G@@@@ 5. 4. TERMINATION OF PROGRAM TL )@@G@@ 5- 10 @G@@@@ 5. 5. ITERATION STATEMETM )@@G@@NTS 5- 11 @G@@@@ 5. 5. 1. 'DO' STATN )@@G@@TEMENT (FORTRAN) 5- 11 @G@@@@ 5. 5. 2. 'TTO )@@G@@HROUGH' STATEMENT (MAD) 5- 12 @G@@@@ 5. 5. TP )@@G@@3. NESTING OF ITERATION STATEMENTS **PF**@@@]S=@@@@@@@@@@@[TQ )@@G@@@#0@@@]FE@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TR )@@G@@@]G@@@]F^ ;Q@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TS )@@G@@@@@@@@@@@@@@@@@@@@@@C@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TT )@@G@@@@@@@@@@ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@^@@@@@@@@@@@@@@@@@@@@@@@@@@@TW )@@G@@@@@@@@@@[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@A@@@@@@@@@@@@@@@@@@@@@@@@@@@TY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TZ )@@G@@@@@@@@@@@@@@@@@@@#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@@@@@@@@@@@@@D@@@@@@@@@@@]@@@@@@@@@@@@@@@UC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@B@@@UD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@E@@ERALPH @@@@@@@@[@@@UE )@@G@@ARCHIVE @ @@@[B@@@Y[@@@@W@#IK#NDDOC @@@@@@@@[@@@ARCHIVE UF )@@G@@@ @@@[B@@@#Q@@@@'[[3-DEDAPL @@@@@@@@[@@@ARCHIVE @ @@@[B@@@N^UG )@@G@@@@@@.RAN/DTDASCII-COBOL @@@@@@@@[@@@ARCHIVE @ @@@[@@@@C#@@@[KVC'G^IDUH )@@G@@EDM @@@@@@@@[@@@ARCHIVE @ @@@[B@@@L.@@@[SYAGSE^DRPG UI )@@G@@@@@@@@@K[@@@ARCHIVE @ @@@[@@@@#;@@@[%VI-! ]EMANUALS @@@@@@@@[@@@UJ )@@G@@ @ @@@[@@@@@#@@@[,QL4EETEEDN @@@@@@@@[@@@ARCHIVE UK )@@G@@@ @@@[[@@@]?@@@[,T@"ZEVENPL @@@@@@@@[@@@ARCHIVE @ @@@[B@@@N_UL )@@G@@@@@[1 #PREVEEDQ @@@@@@@K[@@@ARCHIVE @ @@@[[@@@N)@@@] ^M1 [RFUM )@@G@@1753 TO 9999. DETAILS IN THE LONG VERSION OF THIS ITEM. @[@@@@******UN )@@G@@@[@@@@ @F@@@@CAL IS CAPABLE OF QUICKLY DETERMINING THE DAY OF WEEK UO )@@G@@FOR ANY @E@@@@DATE WITHIN ITS RANGE (1753-9999), AND OF PRINTING FULUP )@@G@@L-PAGE@F@@@@DISPLAYS (WITH PICTURES, EVEN!) FOR ANY MONTH, OR FOR EACH MUQ )@@G@@ONTH @#@@@@OF A GIVEN YEAR. @[@@@@ @ @@@@THE CALL IS SIMPLY: @CUR )@@G@@AL @E@@@@ (DATA CARD(S) AS DESCRIBED BELOW) US )@@G@@@[@@@@ @F@@@@TO FIND THE DAY OF WEEK FOR A SPECIFIC DATE, ENTER THEUT )@@G@@ MONTH, @ @@@@DAY, AND YEAR IN COLUMNS 1-10.@[@@@@ @ @@@@ EXAMUU )@@G@@PLE: 06/16/1950 @[@@@@ @F@@@@TO PRINT THE CALENDAR FOR A SPUV )@@G@@ECIFIC MONTH, ENTER ONLY THE MONTH @C@@@@AND THE YEAR, LEAVING THE DAY UW )@@G@@BLANK OR ZERO. @[@@@@ @ @@@@ EXAMPLE: 10/00/1852 @[@@@@UX )@@G@@ @E@@@@FOR A COMPLETE YEAR'S CALENDARS, LEAVE THE MONTH, AS WELL ASUY )@@G@@@#@@@@THE DAY, BLANK. @[@@@@ @ @@@@ EXAMPLE: 00/00/1984 UZ )@@G@@@[@@@@ @E@@@@HOLIDAYS MAY BE ADDED TO MONTHLY AND YEARLY CALENDARS VA )@@G@@BY @F@@@@SPECIFYING THE MONTH AND DAY OF THE DESIRED HOLIDAY, LEAVINGVB )@@G@@ THE @F@@@@YEAR BLANK. THE NAME OF THE HOLIDAY, WHICH MAY NOT EXCEED 7VC )@@G@@ WORDS@E@@@@AND/OR 12 CHARACTERS PER WORD, FOLLOWS IN COLUMNS 11-80. VD )@@G@@@[@@@@ @B@@@@ EXAMPLES: 01/01 NEW YEAR'S DAY @B@@@@ VE )@@G@@ 11/27 THANKSGIVING DAY @[@@@@ @E@@@@UP TO 100 HOLIDAYSVF )@@G@@ MAY BE USED IN ONE RUN. THEY SHOULD BE @F@@@@INSERTED -BEFORE- THE MOVG )@@G@@NTH OR YEAR TO BE PRINTED, AND WILL BE @G@@@@HONORED FOR ALL SUBSEQUEVH )@@G@@NT CALENDARS GENERATED BY THIS CALL ON @CAL. @E@@@@THE CHARACTER '@' VI )@@G@@WITHIN A HOLIDAY NAME WILL BE COUNTED AS A@F@@@@REGULAR CHARACTER, BUT IVJ )@@G@@S PRINTED AS A SPACE, THUS ALLOWING MORE @F@@@@THAN ONE WORD PER LINE FVK )@@G@@PR THE HOLIDAY (NORMALLY, @CAL PUTS ONE @G@@@@WORD ON EACH HOLIDAY LINVL )@@G@@E, AND CENTERS THEM). IF A HOLIDAY NAME IS @F@@@@TOO LONG TO FIT ONVM )@@G@@ ONE CARD, PUT A '+' IN COLUMN 80 OF THAT CARD, @F@@@@AND CONTINUE THE HVN )@@G@@OLIDAY NAME ON THE NEXT CARD, STARTING IN COLUMN@F@@@@2. NOTE THAT IMBEVO )@@G@@DDED BLANKS SIGNIFY THE ENDS OF WORDS, AND THAT @E@@@@TWO OR MORE BLANKSVP )@@G@@ IN A ROW SIGNIFY THE END OF THE IMAGE. @[@@@@*****^@G@@@@WHEN PRODUCIVQ )@@G@@NG A MONTHLY OR YEARLY CALENDAR, ONE MAY ELECT TO USE THE @F@@@@BUILT-VR )@@G@@IN RANDOM SYMMETRICAL DESIGN ROUTINE, OR COMBINE THAT WITH @G@@@@RANDOMVS )@@G@@ TITLES FOR THE DESIGNS. THIS IS ACCOMPLISHED VIA ONE-LETTER @F@@@@VT )@@G@@OPTIONS FOLLOWING THE YEAR ON THE DATA CARD. THE OPTION LETTER @F@@@@VU )@@G@@GOES IN COLUMN 11. THE LETTER 'N' IS USED IF NO DESIGNS OR TITLES@F@@@@VV )@@G@@ARE DESIRED, WHILE A BLANK IN COLUMN 11 MEANS THAT A DESIGN IS @F@@@@VW )@@G@@WANTED, BUT NO TITLES ARE TO BE PRINTED. THE LETTER 'T' ENABLES @A@@@@VX )@@G@@BOTH THE DESIGN AND TITLE ROUTINES. @[@@@@ @ @@@@ EXAMPLE: 00/VY )@@G@@00/1972T @[@@@@ @E@@@@THIS WOULD PRODUCE MONTHLY CALENDARS FOR TVZ )@@G@@HE YEAR 1972, @B@@@@COMPLETE WITH RANDOM PICTURES AND TITLES. @[@@@@WA )@@G@@ @G@@@@ NOTE - THE SLASHES SHOWN IN THE EXAMPLES ABOVE ARE OPTIONAWB )@@G@@L. ANY @E@@@@ CHARACTER, INCLUDING THE BLANK, MAY BE SUBSTIWC )@@G@@TUTED.@[@@@@ @F@@@@AS AN ADDITIONAL FEATURE, PERSONALIZED MESSAGES WD )@@G@@MAY BE DISPLAYED @F@@@@ON MONTHLY OR YEARLY CALENDARS BY ADDING ANOTHERWE )@@G@@ FIELD TO THE DATA@G@@@@CARD. TYPE 'DUFF' IN COLUMNS 12-15, AND THEN THWF )@@G@@E NUMBER OF LINES IN @F@@@@YOUR MESSAGE (UP TO 5) IN COLUMN 16. EACHWG )@@G@@ LINE OF THE MESSAGE MAY@F@@@@BE UP TO 30 CHARACTERS LONG, TYPED ON SEPAWH )@@G@@RATE CARDS IMMEDIATELY @E@@@@FOLLOWING THE CALENDAR DATA CARD. CENTERIWI )@@G@@NG OF THE MESSAGE @A@@@@WITHIN THE 30 SPACES IS SUGGESTED. @[@@@@ WJ )@@G@@@^@@@@ EXAMPLE: 1 @CAL @A@@@@ 2 01/00/1975NDUFF2 WK )@@G@@@B@@@@ 3 COMPLIMENTS OF @B@@@@ 4 WL )@@G@@ UHMC COMPUTER CENTER @[@@@@ @F@@@@FROM DEMAND TERMINALS, HOLIDAYWM )@@G@@S, MESSAGE, PICTURES, AND TITLES @F@@@@WILL BE IGNORED, AND A SMALLERWN )@@G@@ CALENDAR WILL BE PRINTED. THIS @F@@@@AUTOMATIC FEATURE MAY BE OVERRWO )@@G@@IDDEN BY TWO MORE OPTION LETTERS @F@@@@PUT IN COLUMN 11 OF ANY DATA CWP )@@G@@ARD EXCEPT THOSE FOR HOLIDAYS AND @F@@@@MESSAGES. THE LETTER 'D' SWITWQ )@@G@@CHES THE PROGRAM TO 'DEMAND' MODE, @E@@@@WHILE 'B' SWITCHES IT TO 'BATCWR )@@G@@H' MODE. WHEN USING THE @CAL @G@@@@PROCESSOR FROM A TELETYPE, THE 'B' OWS )@@G@@PTION SHOULD ONLY BE USED IF YOU @F@@@@ARE BREAKPOINTING THE PRINTOUTWT )@@G@@ TO A FILE FOR SUBSEQUENT SYMMING @#@@@@TO A PRINTER. @[@@@@ WU )@@G@@___ULAR CHARACTER, BUT IS PRINTED AS A SPACE, THUS ALLOWING MORE @F@@@@WV )@@G@@THAN ONE WORD PER LINE FPR THE HOLIDAY (NORMALLY*[@@@@*SDFF*@E@@@@ @CONDWW )@@G@@ SIMPLY PRINTS THE CURRENT VALUE OF THE CONDITION WORD@C@@@@ IN OCTAL. WX )@@G@@THE PROCESSOR CALL IS JUST @COND. ___ETJEK)CT[D-G^[DES)DLPETO^[@CTJD1^WY )@@G@@*[@@@@*SDFF*@E@@@@LOOKEQ IS A FORTRAN SUBROUTINE ENABLING FORTRAN PROGRAWZ )@@G@@MS TO @G@@@@SEARCH TABLES USING THE HIGH SPPED SEARCH FUNCTION OF THE UNXA )@@G@@IVAC 1108. @D@@@@FOR DETAILS, SEE THE LONG VERSION OF THIS LISTING. XB )@@G@@@[@@@@******@[@@@@ @^@@@@THE LOOKEQ CALL IS: @[@@@@ @A@@@@XC )@@G@@ I=LOOKEQ(ARG,TAB,LEN,MASK) @[@@@@ @F@@@@ ARG IS THE ITXD )@@G@@EM BEING SEARCHED FOR, E.G. IF YOU ARE SEARCHING@F@@@@ FOR THE FIRST OCCXE )@@G@@URENCE OF THE NUMBER 3.25279841, THEN YOU WOULD @ @@@@ SET ARG EQUAL TO XF )@@G@@3.25279841. @B@@@@ TAB IS THE TABLE TO BE SEARCHED. @A@@@@ LXG )@@G@@EN IS THE LENGTH OF THE TABLE.@F@@@@ I WILL BE SET EQUAL TO THE INDEXH )@@G@@X INTO THE TABLE WHERE THE @F@@@@ CONTENTS OF ARG WERE FOUND. IF THERXI )@@G@@E WAS NO FIND, I WILL BE SET @]@@@@ TO ZERO. @F@@@@ MASK, IF SET XJ )@@G@@NONZERO, WILL CAUSE THE SEARCH TO BE A MASKED @F@@@@ SEARCH. THAT IS, XK )@@G@@IF THE MASK HAS THE VALUE 077770000 OCTAL, THE @E@@@@ SEARCH WILL CONSIXL )@@G@@DER ONLY THE MIDDLE THIRD OF EACH WORD. @[@@@@ @]@@@@ EXAMPLE: XM )@@G@@@[@@@@ @ @@@@ DIMENSION LIST(35) @ @@@@ LIST(12)=XN )@@G@@'KEPOOT' @C@@@@ I=LOOKEQ('CAHOOT',LIST,35,0777777) @[@@@@XO )@@G@@ @F@@@@ THIS WILL SEARCH THE 35 WORDS OF THE ARRAY LIST, LOOKINXP )@@G@@G FOR @F@@@@ THR FIRST WORD WHOSE BOTTOM HALF IS THE SAME AS THE BOTTOM XQ )@@G@@HALF @F@@@@ OF 'CAHOOT'. IT WILL RETURN A VALUE 12, BECAUSE THE BOTTOM XR )@@G@@HALF @F@@@@ OF LIST(12)='OOT', THE SAME AS THE BOTTOM HALF OF THE ARGUMXS )@@G@@ENT. @[@@@@ @]@@@@ NOTES: @[@@@@ @E@@@@ THE RESULT WIXT )@@G@@LL BE MOST USEFUL IF THE TABLE IS A ONE- @F@@@@ DIMENSIONED ARRAY, BECAXU )@@G@@USE IN THAT CASE THE VALUE OF I MAY BE @^@@@@ USED AS A SUBSCRIPT. XV )@@G@@@D@@@@ IF MASKING IS NOT DESIRED, SPECIFY O AS THE MASK.@F@@@@ UXW )@@G@@SERS OF THE @MAD COMPILER WILL NOT NEED THIS ROUTINE, BUT @F@@@@ MAY IXX )@@G@@NSTEAD USE THE .FIND. AND .SEARCH. FUNCTIONS OF THE MAD @]@@@@ COMPIXY )@@G@@LER. ___ET ^[OD[ ^[]D9OE-JD*)D[[D-A@K@@@@^[JC0)D-DETO @1AK(B*$D9JE)$ ))XZ )@@G@@E-CC*)ET[D( ^[[ES)E-CC*)CLJE-OD9H^[CCDGC0)D9A^[OD[ ^[[ELBE(HC(IE),@[@@@@YA )@@G@@*[@@@@*SDFF*@G@@@@TDUMP IS A UTILITY TAPE-DUMPING ROUTINE. DETAILS THE YB )@@G@@THE LONG VERSION @#@@@@OF THIS ITEM. @[@@@@******@[@@@@ @ @@@@YC )@@G@@ TAPE DUMP ROUTINE @A@@@@ WILL DUMP ANY 7-TRACK TAPE YD )@@G@@@D@@@@ RECORDS MUST BE < 2000WORDS (SEE 'G' OPTION) @[@@@@ YE )@@G@@@B@@@@ @TDUMP,OPTIONS FILENAME.,N @[@@@@ @B@@@@ YF )@@G@@ N IS # OF FILES TO DUMP (<9) @[@@@@ @#@@@@ OPTIONS ARE: YG )@@G@@@[@@@@ @^@@@@ O FOR OCTAL @ @@@@ F FOR FLOATINGYH )@@G@@ POINT@B@@@@ A FOR ALPHANUMERIC (FIELDATA) @^@@@@ I YI )@@G@@FOR INTEGER @B@@@@ B PICK UP USER-SUPPLIED FORMAT @D@@@@ YJ )@@G@@ G FOR 2K MORE BUFFER (TOTAL=4K RECORDS) @C@@@@ C FOR SEYK )@@G@@LECTIVE DUMPING (SEE BELOW) @B@@@@ T FOR TRANSLATE (BCD-FIELDYL )@@G@@ATA) @C@@@@ N TO SUPPRESS PRINTING OF RECORD COUNT@D@@@@ YM )@@G@@ R TO REWIND TAPE WHEN DONE (@REWIND WON'T) @C@@@@ S TO RECYN )@@G@@OGNIZE SOFTWARE (SDF) EOF @D@@@@ (IE,77K IN S1 OF FIRSTYO )@@G@@ WORD OF RECORD) @C@@@@ X FOR PARTIAL DUMP - (10 RECORDS) YP )@@G@@@E@@@@ Z TO PRINT EVEN THOUGH UNRECOVERABLE PARITY ERRORS@[@@@@YQ )@@G@@ @B@@@@ FILENAME MUST END WITH A PERIOD (.) @E@@@@ TAPE SHYR )@@G@@OULD BE @ASG'D WITH PROPER DENSITY IF KNOWN. @B@@@@ SELECTIVE DUMYS )@@G@@PING WITH 'C' OPTION: @#@@@@ COMMANDS @ @@@@ COMMAND FORM YT )@@G@@- COMMAND/N @ @@@@ ALLOWABLE COMMANDS ARE @[@@@@ @D@@@@ YU )@@G@@ DUMPA - DUMP N RECORDS IN ALPHANUMERIC FORMAT @C@@@@ DUMPO - DUMYV )@@G@@P N RECORDS IN OCTAL FORMAT @ @@@@ SKIPF - SKIP N FILES @C@@@@YW )@@G@@ SKIPR - SKIP N RECORDS (STOPS AT EOR) @A@@@@ BSF - BACYX )@@G@@KSPACE N RECORDS @A@@@@ BSR - BACKSPACE N RECORDS @B@@@@ YY )@@G@@ (EOR COUNTS AS A RECORD) @[@@@@ @D@@@@ PROCESSOR CALYZ )@@G@@L CARD FORMAT FOR SELECTIVE DUMPING:@[@@@@ @E@@@@ @TDUMP,C FIZA )@@G@@LENAME.,DUMPA/100,BSR/15,DUMPO/30,SKIPF/2 @[@@@@ @ @@@@ DUMPA &ZB )@@G@@ DUMPO STOP AT EOF@C@@@@ T.N.S & Z OPTIONS ALLOWED WITH C OPTION ZC )@@G@@@E@@@@ UP TO 30 COMMANDS ALLOWED, FOLLOW EXEC CONVENTIONS @B@@@@ZD )@@G@@ FOR CONTINUATION OF CONTROL CARDS @[@@@@ @F@@@@ NOTE: NO FZE )@@G@@UR/PUR ROUTINES WILL WORK AFTER A TAPE HAS BEEN USED @D@@@@ BY TDUMP UNZF )@@G@@LESS IT IS FIRST @FREE'ED AND THEN @ASG'ED@D@@@@ IF THERE ARE ANY PROBLEZG )@@G@@MS, SEE THE PEOPLE IN 26A ___D9MC-N^@)@E@@@@*[@@@@*SDFF*@F@@@@ @TRANZH )@@G@@SLATE IS A PROCESSOR SUPPORTED BY UHMC WHICH PRODUCES SOURCE@G@@@@IMAGESZI )@@G@@ COMPATIBLE WITH THE UNIVAC 1108 SYSTEM FORMAT, BY TRANSLATING @G@@@@ZJ )@@G@@*DP@@@PR@000BC4866CR1 BC4866G[I]CM@@@@@@@@@@@@ @A@[@@@RUN MZK )@@G@@ATHISEN,13010,3935024624,$5.00@^@[@@@CAT,P MICRO*MAXLIK. @^@[@@@ASG,AZL )@@G@@ MICRO*MAXLIK. @ @[@@@USE DATA-FILE2.,MICRO*MAXLIK.@ @[@@@ASG,TV TAPEZM )@@G@@.,U9V,$TTS467 @^@[@@@ASG,A MADISON*TOP. @ @[@@@USE DATA-FILE.,MAZN )@@G@@DISON*TOP. @]@[@@@ASG,T 20 @]@[@@@ASG,T 21 @#@[@@@XQT RS*FS.TRAIN ZO )@@G@@@B@]@@ TRAIN VERSION 2.1 -- 09 JANUARY 1978 @A@[@@ RUN AT 02:25:ZP )@@G@@25 ON 12/01/78 0]@@@@M,66, 0, 0. @#@]@@ DATA-FILE IS @ @[@@ AMPS ZQ )@@G@@BW 4 BANDS 31 JULY 74 @ @]@@ NO PREVIOUS TRAINING SETS. @ @[@@ ZR )@@G@@CLASS 1--BARE SOIL-1 @A@[@@ UNCORRECTED APEX POINTS-- @ @[@@ZS )@@G@@ ( 83, 224) ( 89, 231) @ @[@@ CORRECTED APEX POINTS-- @D@[@@ZT )@@G@@ ( 83, 224) ( 83, 231) ( 89, 231) ( 89, 224) @B@[@@ 56 DZU )@@G@@ATA POINTS FILED IN FILE 20 @@@[@@@ @[@@ CLASS 2--BARE SOIL 2 ZV )@@G@@@A@[@@ UNCORRECTED APEX POINTS-- @ @[@@ ( 9, 219) ( 11,ZW )@@G@@ 224) @ @[@@ CORRECTED APEX POINTS-- @D@[@@ ( 9, 219) ( 9,ZX )@@G@@ 224) ( 11, 224) ( 11, 219) @B@[@@ 18 DATA POINTS FILED IN FILEZY )@@G@@ 20 @@@[@@@ @[@@ CLASS 3--BARE SOIL 3 @A@[@@ UNCORRECTED ZZ )@@G@@APEX POINTS-- @ @[@@ ( 24, 352) ( 26, 354) @ @[@@ CORRECAA )@@G@@TED APEX POINTS-- @D@[@@ ( 24, 352) ( 24, 354) ( 26, 354) ( 26,AB )@@G@@ 352) @A@[@@ 9 DATA POINTS FILED IN FILE([@@@@ 20 @@@[@@@ @[@@AC )@@G@@ CLASS 4--BARE SOIL 4 @A@[@@ UNCORRECTED APEX POINTS-- AD )@@G@@@ @[@@ ( 67, 393) ( 74, 397) @ @[@@ CORRECTED APEX POINTS-- AE )@@G@@@D@[@@ ( 67, 393) ( 67, 397) ( 74, 397) ( 74, 393) @B@[@@ AF )@@G@@ 40 DATA POINTS FILED IN FILE 20 @@@[@@@ @[@@ CLASS 5--BARE SOIAG )@@G@@L 5 @A@[@@ UNCORRECTED APEX POINTS-- @ @[@@ ( 84, 389) AH )@@G@@( 89, 392) @ @[@@ CORRECTED APEX POINTS-- @D@[@@ ( 84, 389) AI )@@G@@( 84, 392) ( 89, 392) ( 89, 389) @B@[@@ 24 DATA POINTS FILED IAJ )@@G@@N FILE 20 @@@[@@@^@[@@ CLASS 6--BS 6 @A@[@@ UNCORRECTED AK )@@G@@APEX POINTS-- @ @[@@ ( 58, 229) ( 60, 234) @ @[@@ CORRECAL )@@G@@TED APEX POINTS-- @D@[@@ ( 58, 229) ( 58, 234) ( 60, 234) ( 60,AM )@@G@@ 229) @B@[@@ 18 DATA POINTS FILED IN FILE 20 @@@[@@@^@[@@ AN )@@G@@CLASS 7--VEG. 1 @A@[@@ UNCORRECTED APEX POINTS-- @ @[@@ AO )@@G@@( 1, 251) ( 8, 263) @ @[@@ CORRECTED APEX POINTS-- @D@[@@ AP )@@G@@( 1, 251) ( 1, 263) ( 8, 263) ( 8, 251) @B@[@@ 104 DATA POAQ )@@G@@INTS FILED IN FILE 20 @@@[@@@^@[@@ CLASS 8--VEG. 2 @A@[@@ AR )@@G@@UNCORRECTED APEX POINTS-- @ @[@@ ( 49, 210) ( 54, 229) @ @[@@AS )@@G@@ CORRECTED APEX POINTS-- @D@[@@ ( 49, 210) ( 49, 229) ( 54,AT )@@G@@ 229) ( 54, 210) @B@[@@ 120 DATA POINTS FILED IN FILE 20 @@@[@@AU )@@G@@@#@[@@ CLASS 9--VE([@@@@G. 3 @A@[@@ UNCORRECTED APEX POINTS-AV )@@G@@- @ @[@@ ( 58, 284) ( 69, 300) @ @[@@ CORRECTED APEX POIAW )@@G@@NTS-- @D@[@@ ( 58, 284) ( 58, 300) ( 69, 300) ( 69, 284) @B@[@@AX )@@G@@ 204 DATA POINTS FILED IN FILE 20 @@@[@@@^@[@@ CLASS 10--VEAY )@@G@@G. 4 @A@[@@ UNCORRECTED APEX POINTS-- @ @[@@ ( 4, 350) AZ )@@G@@( 9, 359) @ @[@@ CORRECTED APEX POINTS-- @D@[@@ ( 4, 350) BA )@@G@@( 4, 359) ( 9, 359) ( 9, 350) @B@[@@ 60 DATA POINTS FILED IBB )@@G@@N FILE 20 @@@[@@@^@[@@ CLASS 11--VEG. 5 @A@[@@ UNCORRECTED BC )@@G@@APEX POINTS-- @ @[@@ ( 9, 399) ( 20, 410) @ @[@@ CORRECBD )@@G@@TED APEX POINTS-- @D@[@@ ( 9, 399) ( 9, 410) ( 20, 410) ( 20,BE )@@G@@ 399) @B@[@@ 144 DATA POINTS FILED IN FILE 20 @@@[@@@^@[@@ BF )@@G@@CLASS 12--VEG. 6 @A@[@@ UNCORRECTED APEX POINTS-- @ @[@@ BG )@@G@@( 74, 404) ( 85, 410) @ @[@@ CORRECTED APEX POINTS-- @D@[@@ BH )@@G@@( 74, 404) ( 74, 410) ( 85, 410) ( 85, 404) @B@[@@ 84 DATA POBI )@@G@@INTS FILED IN FILE 20 @@@[@@@^@[@@ CLASS 13--VEG. 7 @A@[@@ BJ )@@G@@UNCORRECTED APEX POINTS-- @ @[@@ ( 67, 363) ( 70, 385) @ @[@@BK )@@G@@ CORRECTED APEX POINTS-- @D@[@@ ( 67, 363) ( 67, 385) ( 70,BL )@@G@@ 385) ( 70, 363) @B@[@@ 92 DATA POINTS FILED IN FILE 20 @@@[@@BM )@@G@@@^@[@@ CLASS 14--VEG. 8 @A@[@@ UNCORRECTED APEX POINTS-- BN )@@G@@@ @[@@ ( 95, 367) ( 100, 384) @ @[@@ CORRECTED APEX POINTS-- BO )@@G@@@D@[@@ ( 95, 367) ( 95, 384) ( 100, 384) ( 100, 367) @B@[@@ BP )@@G@@ 108 DATA POINTS FILED IN FILE 20 @@@[@@@^@[@@ CLASS 15--VEG. 9 BQ )@@G@@@A@[@@ UNCORRECTED APEX POINTS-- @ @[@@ ( 37, 352) ( 43,BR )@@G@@ 365) @ @[@@ CORRECTED APEX POINTS-- @D@[@@ ( 37, 352) ( 37,BS )@@G@@ 365) ( 43, 365) ( 43, 352) @B@[@@ 98 DATA POINTS FILED IN FILEBT )@@G@@ 20 @@@[@@@ @[@@ CLASS 16--IMPERVIOUS 1 @A@[@@ UNCORRECTED BU )@@G@@APEX POINTS-- @ @[@@ ( 22, 279) ( 26, 292) @ @[@@ CORRECBV )@@G@@TED APEX POINTS-- @D@[@@ ( 22, 279) ( 22, 292) ( 26, 292) ( 26,BW )@@G@@ 279) @B@[@@ 70 DATA POINTS FILED IN FILE 20 @@@[@@@ @[@@ BX )@@G@@CLASS 17--IMPERVIOUS 2 @A@[@@ UNCORRECTED APEX POINTS-- @ @[@@BY )@@G@@ ( 96, 286) ( 100, 301) @ @[@@ CORRECTED APEX POINTS-- @D@[@@BZ )@@G@@ ( 96, 286) ( 96, 301) ( 100, 301) ( 100, 286) @B@[@@ 80 DCA )@@G@@ATA POINTS FILED IN FILE 20 @@@[@@@ @[@@ CLASS 18--IMPERVIOUS 3 CB )@@G@@@A@[@@ UNCORRECTED APEX POINTS-- @ @[@@ ( 87, 370) ( 89,CC )@@G@@ 382) @ @[@@ CORRECTED APEX POINTS-- @D@[@@ ( 87, 370) ( 87,CD )@@G@@ 382) ( 89, 382) ( 89, 370) @B@[@@ 39 DATA POINTS FILED IN FILECE )@@G@@ 20 @@@[@@@ @[@@ CLASS 19--IMPERVIOUS 4 @A@[@@ UNCORRECTED CF )@@G@@APEX POINTS-- @^@[@@ ( 41, 379) ( 48,([@@@@ 383) @ @[@@ CG )@@G@@CORRECTED APEX POINTS-- @D@[@@ ( 41, 379) ( 41, 383) ( 48, 383) CH )@@G@@( 48, 379) @B@[@@ 40 DATA POINTS FILED IN FILE 20 @@@[@@@ @[@@CI )@@G@@ CLASS 20--IMPERVIOUS 5 @A@[@@ UNCORRECTED APEX POINTS-- CJ )@@G@@@ @[@@ ( 66, 398) ( 69, 404) @ @[@@ CORRECTED APEX POINTS-- CK )@@G@@@D@[@@ ( 66, 398) ( 66, 404) ( 69, 404) ( 69, 398) @B@[@@ CL )@@G@@ 28 DATA POINTS FILED IN FILE 20 @@@[@@@ @[@@ CLASS 21--IMPERVIOCM )@@G@@US 6 @A@[@@ UNCORRECTED APEX POINTS-- @ @[@@ ( 62, 242) CN )@@G@@( 66, 249) @ @[@@ CORRECTED APEX POINTS-- @D@[@@ ( 62, 242) CO )@@G@@( 62, 249) ( 66, 249) ( 66, 242) @B@[@@ 40 DATA POINTS FILED ICP )@@G@@N FILE 20 @@@[@@@^@[@@ CLASS 22--WATER 1 @A@[@@ UNCORRECTED CQ )@@G@@APEX POINTS-- @ @[@@ ( 1, 270) ( 10, 288) @ @[@@ CORRECCR )@@G@@TED APEX POINTS-- @D@[@@ ( 1, 270) ( 1, 288) ( 10, 288) ( 10,CS )@@G@@ 270) @B@[@@ 190 DATA POINTS FILED IN FILE 20 @@@[@@@^@[@@ CT )@@G@@CLASS 23--WATER 2 @A@[@@ UNCORRECTED APEX POINTS-- @ @[@@ CU )@@G@@( 28, 242) ( 31, 245) @ @[@@ CORRECTED APEX POINTS-- @D@[@@ CV )@@G@@( 28, 242) ( 28, 245) ( 31, 245) ( 31, 242) @B@[@@ 16 DATA POCW )@@G@@INTS FILED IN FILE 20 @@@[@@@^@[@@ CLASS 24--WATER 3 @A@[@@ CX )@@G@@UNCORRECTED APEX POINTS-- @ @[@@ ( 95, 334) ( 99, 338) @^@[@@CY )@@G@@ CORRECTED APEX POI([@@@@NTS-- @D@[@@ ( 95, 334) ( 95, 338) CZ )@@G@@( 99, 338) ( 99, 334) @B@[@@ 25 DATA POINTS FILED IN FILE 20 DA )@@G@@@@@[@@@^@[@@ CLASS 25--WATER 4 @A@[@@ UNCORRECTED APEX POINTS-DB )@@G@@- @ @[@@ ( 10, 366) ( 15, 371) @ @[@@ CORRECTED APEX POIDC )@@G@@NTS-- @D@[@@ ( 10, 366) ( 10, 371) ( 15, 371) ( 15, 366) @B@[@@DD )@@G@@ 36 DATA POINTS FILED IN FILE 20 @@@[@@@]@#@@ STOP TRAIN @#@[@@DE )@@G@@@XQT RS*FS.STATS @B@]@@ STATS -- VERSION 2.2 -- 18 MARCH 1978 @A@[@@DF )@@G@@ RUN AT 02:25:31 ON 12/01/78 @]@#@@ STOP STATS @#@[@@@XQT RS*FS.MDG )@@G@@AXLIK @D__@@ PROGRAM -- VERSION 3.4 -- 12 JULY 1978 @A@[@@DH )@@G@@ RUN AT 02:25:53 ON 12/01/78@#@]@@ DATA-FILE IS @ @[@@ AMPS DI )@@G@@BW 4 BANDS 31 JULY 74 @@@[@@@^@[@@ INPUT OPTIONS: @A@[@@ DJ )@@G@@ CLASSIFY 1 1 210 100 410 @#@[@@ PRINT @#@[@@ FIDK )@@G@@LE @J@[@@ SYMBOLS 1/# 2/# 3/# 4/# 5/# 6/# 7/\ 8/\ 9/\ 10/\ 1DL )@@G@@1/\ 12/\ 13/\ 14/\ 15/\ 16/O @E@[@@ 17/O 18/O 19/O 20/O 21/O 2DM )@@G@@2/* 22/* 23/* 24/* 25/* @B@[@@ *** INPUT CARD SYNTAX ERROR ***: DN )@@G@@@D@[@@ 17/O 18/O 19/O 20/O 21/O 22/* 22/* 23/* 24/* 25/*@B@[@@ER ABODO )@@G@@RT$ ABORT ADR: 017044 BDI:000004@ @[@@RUNSTREAM ANALYSIS TERMINATED DP )@@G@@@@@[@@0[@@@@R . @F@[@@ RUNID: BC4866 PROJECT: 13010 DQ )@@G@@USER: 3935024624 @C@[@@02:25:23 LOAD $TTS467 9/3 TAPE -1 BC4866 DR )@@G@@@ @[@@02:25:53 BC4866 ABORT @D@]@@ ITEM DS )@@G@@ AMOUNT COST @D@]@@CPU TIME 00:00:03.542 DT )@@G@@ $0.03@D@[@@FILE I/O REQUESTS 128 $0.01DU )@@G@@@D@[@@FILE I/O WORDS 335274 $0.01@D@[@@MEMORYDV )@@G@@ USAGE 0.079 $0.01@D@[@@CARDS IN DW )@@G@@ 68 $0.03@D@[@@PAGES PRINTED DX )@@G@@ 4 $0.05@D@[@@TAPE MOUNTS 1DY )@@G@@ $0.18@D@[@@SOFTWARE SUPPORT 8 $0.03DZ )@@G@@@D@[@@JOB CHARGE 1 $0.06@D@]@@TOTAL EA )@@G@@COST $0.41@I@]@@ THE ABOVE DOLLEB )@@G@@AR AMOUNTS ARE APPROXIMATE AND ARE BASED ON RATES FOR WEEKEND RUNS@D@[@@EC )@@G@@PROJ BALANCE $16.55@C@]@@ INITIATIED )@@G@@ON TIME: 02:25:22 DEC 1,1978 @C@]@@ TERMINATION TIME: 02:25:EE )@@G@@55 DEC 1,1978 @C@]@@ PREVIOUS RUN TIME: 02:25:20 DEC 1,1978 EF )@@G@@0^@@@@D,@@TTY RUN=CLS,BRF=ON _@_____P__________________________________EG )@@G@@________________________________________________________________________EH )@@G@@_________________________V______________________________________________EI )@@G@@________________________________________________________________________EJ )@@G@@________________________________________________________________________EK )@@G@@________________________________________________________________________EL )@@G@@________________________________________________________________________EM )@@G@@________________________________________________________________________EN )@@G@@________________________________________________________________________EO )@@G@@________________________________________________________________________EP )@@G@@________________________________________________________________________EQ )@@G@@________________________________________________________________________ER )@@G@@________________________________________________________________________ES )@@G@@________________________________________________________________________ET )@@G@@________________________________________________________________________EU )@@G@@________________________________________________________________________EV )@@G@@________________________________________________________________________EW )@@G@@________________________________________________________________________EX )@@G@@________________________________________________________________________EY )@@G@@________________________________________________________________________EZ )@@G@@________________________________________________________________________FA )@@G@@________________________________________________________________________FB )@@G@@________________________________________________________________________FC )@@G@@________________________@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@FZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@GZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@HZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ID )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@II )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@IZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@JZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ME )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ML )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ND )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ON )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QP )@@G@@@@@@@@@[$@@@@@%@@@@@7@@@@@@@@@@@@@@@@@@@@@@@:@@@@@@@@@@[Q@@@@[V@@@@@@@@@QQ )@@G@@@@N@@@@@4@@R@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@$@@@@[0@[G@@@@@@@@@@@A@@@@@@QR )@@G@@@@5@@@@@>@@@@@@@@^@@@@@@@@@@@J@@<@@@@@@@[M@@@@[:@@@@@@@@@@@@@@ @@M@@@@@@QS )@@G@@@[4@[W@@@@@@@[!@@@@@3@@@@@@@["@@@@@@@@@@[)@@@@@@@@@@@Y@@X@@@@@&@@@@[S@@@QT )@@G@@@@!@@@@@D@@@@@@@[>@@*@@@@@@@@[@]@@@@@@]@@@@@-@@@@@@@@(@@@@@@@@@@@@@@+@@@QU )@@G@@@@@@@'@[6@@@@@@@@@@[K@@@@@@@@@@[T@@@@@@@[B@@@@@@@@@@@U@[;@@@@@@@@9@] @@@QV )@@G@@@@@@@?@[N@@T@@@@@H@@@@@@@[2@@@@@V@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@LQW )@@G@@@@@@@I@@@@[1@@@@@@@@@@@@@@@@@@@@Z@@@@@@@@/@[X@@@@@@@@@@@@@@@@[\@@@@@@@@@QX )@@G@@@@@@[Z@@@@[H@@@@@C@@@@@@@@@@@@@[ @@@@@@@@S@@@@[,@@@@@@@@B@@@@@@@@@@@@@@@QY )@@G@@@@@@@G@@1@@@@[(@@W@[F@@@@[O@@@@@@@@,@@@@[&@@;@@@@@@@@#@[E@@@@@@@@@@@F@@@QZ )@@G@@@@@@@@@[9@@@@@@@[A@@@@@@@@@@@@@[=@@@@@@@@Q@@@@@@@@@@[U@@@@@@@@@@@@@[D@@@RA )@@G@@@@@@@@@[[@@@@@@@@@@]A@@@@@@@[%@@@@@@@@@@@.@@^@]BTCORE$ @@#@@E@@@@@@RB )@@G@@CHK000 @@N@@@@@@@@@GALI @@N@@@@@@@@@LNKRTN @@N@@K@@@@@@RC )@@G@@CHK220 @@N@@@@@@@@@AAOPT @@N@@@@@@@@@FFOPT @@N@@6@@@@@@RD )@@G@@XXOPT @@N@@@@@@@@@KKOPT @@N@@O@@@@@@GBU @@N@@P@@@@@@RE )@@G@@SZCHK @@N@@0@@@@@@UNOPT @@N@@@@@@@@@NSZOPT @@N@@)@@@@@@RF )@@G@@DIRSIZ @@O@@@@@@@@@DIREND @@O@@@@@@@@@DIRINT @@O@@@@@@@@@RG )@@G@@DIRSEC @@O@@@@@@@@@DIREC$FLAG @@O@@@@@@@@@GOTONE @@O@@@@@@@@@RH )@@G@@DIREC$ @@O@@@@@@@@@DGETP$FN$WD$@@O@@@@@@@@@PAKID$ @@O@[I@@@@@@RI )@@G@@DIRECERR @@P@@@@@@@@@DIR$ET @@Q@@\@@@@@@DIRLNK @@Q@@@@@@@@@RJ )@@G@@DGET$BUF2 @@Q@@"@@@@@@DSEG @@R@@@@@@@@@PMORE @@S@@@@@@@@@RK )@@G@@OPNSRT @@T@@_@@@@@@NOSORTF @@T@@@@@@@@@ROPN$ @@T@@=@@@@@@RL )@@G@@RTMIN$ @@T@@@@@@@@@RTMAX$ @@T@@@@@@@@@RTPT$ @@T@[]@@@@@@RM )@@G@@RTST$ @@T@@@@@@@@@RTMT$ @@T@@@@@@@@@RLBLK$ @@T@@8@@@@@@RN )@@G@@GOTREC @@T@]B@@@@@@DOSORT @@T@@2@@@@@@LPOC @@T@@@@@@@@@RO )@@G@@SRTNXT @@T@[P@@@@@@TOT000 @@U@@@@@@@@@MSG @@V@@@@@@@@@RP )@@G@@FCT @@V@[C@@@@@@SDF000 @@V@@@@@@@@@SDF100 @@V@[#@@@@@@RQ )@@G@@SORTF @@-@][@@@@@@PNAME @@=@@@@@@@@@POUT @@=@[3@@@@@@RR )@@G@@VTOT @@=@@@@@@@@@GTOT @@=@@@@@@@@@LINOUT @@=@[@@@@@@@RS )@@G@@PROJPK @@=@@@@@@@@@PCT @@=@[L@@@@@@MFD$ @@=@@@@@@@@@RT )@@G@@LI0 @@=@@@@@@@@@MI0 @@=@@@@@@@@@MI1 @@=@@@@@@@@@RU )@@G@@SNOITPO @@=@@@@@@@@@OPTWRD @@=@@@@@@@@@SPEC4 @@=@[J@@@@@@RV )@@G@@INS1 @@=@@@@@@@@@TMASK @@=@[R@@@@@@SPC @@=@[^@@@@@@RW )@@G@@INS2 @@=@@@@@@@@@INS3 @@=@@@@@@@@@POLINK @@=@@@@@@@@@RX )@@G@@POLISH @@=@@@@@@@@@ECODE @@=@[5@@@@@@SZOPT @@=@@@@@@@@@RY )@@G@@CNT1 @@=@@@@@@@@@PFCT @@=@[8@@@@@@CNT2 @@=@[*@@@@@@RZ )@@G@@RTOT @@=@[Y@@@@@@TOT @@=@@@@@@@@@SECTOT @@=@[.@@@@@@SA )@@G@@ACMASK @@=@[+@@@@@@EQUCD @@=@[_@@@@@@EQUCDL @@=@@@@@@@@@SB )@@G@@SUB30 @@=@@@@@@@@@SUB35 @@=@@@@@@@@@SUB36 @@=@[7@@@@@@SC )@@G@@TAPTYP @@=@]]@@@@@@EDPACK @@=@[?@@@@@@REVT @@=@@@@@@@@@SD )@@G@@REVO @@=@@@@@@@@@REVG @@=@[<@@@@@@REVV @@=@@@@@@@@@SE )@@G@@REVR @@=@[-@@@@@@REVD @@=@@@@@@@@@UNCHEK @@=@@@@@@@@@SF )@@G@@SZLOD @@=@@@@@@@@@SZBAK @@=@@@@@@@@@DATREF @@=@@@@@@@@@SG )@@G@@RPR @@=@@@@@@@@@RPRL @@=@@@@@@@@@FLAGS @@=@[/@@@@@@SH )@@G@@MRFLGS @@=@@@@@@@@@LINE2 @@=@@@@@@@@@FLAG3 @@=@@@@@@@@@SI )@@G@@FLAG4 @@=@@@@@@@@@FLAG5 @@=@@@@@@@@@SIZE @@=@@@@@@@@@SJ )@@G@@OPTIONS @@=@]#@@@@@@TABLE2 @@=@@@@@@@@@SORTBL @@=@@@@@@@@@SK )@@G@@ADDKEYS @@=@@@@@@@@@MFD100 @@=@@@@@@@@@MFD200 @@=@@@@@@@@@SL )@@G@@MFD300 @@=@@@@@@@@@MFD500 @@=@@@@@@@@@MFD600 @@=@@@@@@@@@SM )@@G@@MFD700 @@=@@@@@@@@@MFD900 @@=@@@@@@@@@SPECER @@=@@@@@@@@@SN )@@G@@POLTRAN @@=@['@@@@@@FREIM @@>@]^@@@@@@RDPKT @@>@@@@@@@@@SO )@@G@@FITEM @@>@@@@@@@@@QF000 @@>@@@@@@@@@QF900 @@>@@@@@@@@@SP )@@G@@IN2000 @@$@@@@@@@@@GOON @@$@@@@@@@@@QOPT @@$@@@@@@@@@SQ )@@G@@POPT @@$@@@@@@@@@AOPT @@$@@@@@@@@@FOPT @@$@@@@@@@@@SR )@@G@@ZOPT @@$@@@@@@@@@XOPT @@$@@@@@@@@@KOPT @@$@@@@@@@@@SS )@@G@@PR000 @@*@@@@@@@@@PR300 @@*@@@@@@@@@PR600 @@*@@@@@@@@@ST )@@G@@LEVEL @@(@@@@@@@@@IN1000 @@?@@@@@@@@@E EQUAL TO WITHIN A SPECSU )@@G@@IFIED PERCEN- @G@@@@ TAGE ERROR, THEY ARE TREATED AS IF THEY SV )@@G@@WERE EXACTLY EQUAL. @G@@@@ FUZZING IS APPLIED TO ALL OF THE RELATISW )@@G@@ONAL OPERATORS (=, $=, >, @G@@@@ <, ETC.), WHEN USED AS SCALARS, ASX )@@G@@S PART OF A COMPOUND OPERATION, @G@@@@ OR WHEN IMPLICIT AS IN THE DYSY )@@G@@ADIC 'INDEX OF' ($I) AND 'MEMBERSHIP' @G@@@@ ($E) OPERATORS. IN ADSZ )@@G@@DITION, IT IS USED IN THE CEILING AND FLOOR @F@@@@ OPERATORS, AND INTA )@@G@@ THE EVALUATION OF INDICES FOR SUBSCRIPTING. @[@@@@ @G@@@@ TB )@@G@@ ONE SHOULD REALIZE THAT ALTHOUGH FUZZING DOES GIVE THE @G@@@@TC )@@G@@ DESIRED RESULT IN MOST CASES, IT DESTROYS THE TRANSITIVITY OF THE TD )@@G@@@G@@@@ EQUALITY RELATION - E.G. IT IS POSSIBLE TO HAVE THREE VARIABLETE )@@G@@S @G@@@@ A, B AND C SUCH THAT A=B IS TRUE, B=C IS TRUE, BUT C=ATF )@@G@@ IS NOT @G@@@@ TRUE. SINCE SUBTRACTION IS NOT SUBJECT TO FUZZING, TG )@@G@@THIS COULD BE @G@@@@ DETECTED BY EXAMINING THE DIFFERENCES BETWEEN TTH )@@G@@HESE VARIABLES. IN @D@@@@ PRACTICE, THIS ANOMALY IS RARELY OF ANY CTI )@@G@@ONSEQUENCE. @[@@@@ @[@@@@*****^@G@@@@A USER'S GUIDE TO APL\1100 (PRTJ )@@G@@ELIMINARY) 5- 10@[@@@@ @[@@@@ @[@@@@TK )@@G@@ @G@@@@ IT IS RECOGNIZED THAT IN CERTAIN APPLICATIONS (PARTITL )@@G@@CULARLY @G@@@@ NUMERICAL ANALYSIS), FUZZING IS A DISTINCTLY UNDESIRTM )@@G@@ABLE FEATURE. @G@@@@ ALL INTERNAL CALCULATIONS IN APL\1100 ARE CARTN )@@G@@RIED TO AN ACCURACY @G@@@@ OF 60 BITS, BUT IN FUZZING, ONLY THE MOSTO )@@G@@T SIGNIFICANT 48 BITS ARE @G@@@@ CONSIDERED. ASSOCIATED WITH EACH TP )@@G@@WORKSPACE IS A 'FUZZ CONSTANT'; @G@@@@ FOR A CLEAR WORKSPACE ITS TQ )@@G@@VALUE IS 12 (I.E. 60-48). THE FUZZ @G@@@@ CONSTANT FOR A GIVEN TR )@@G@@WORKSPACE MAY BE CHANGED THROUGH THE USE OF @D@@@@ THE )FUZZ COMMANDTS )@@G@@ OR THE FUNCTION FUZZ IN 1 WSFNS. @[@@@@ @G@@@@ EXTREME CAUTTT )@@G@@ION SHOULD BE USED WHEN CHANGING THE VALUE OF THE @G@@@@ FUZZING CONTU )@@G@@STANT. A SMALL FUZZING CONSTANT, OR NO FUZZING AT ALL @G@@@@ CAN TV )@@G@@CAUSE THE CEILING AND FLOOR OPERATORS TO GIVE UNDESIRED @G@@@@TW )@@G@@ RESULTS, AND CAN CAUSE ERRORS IN THE EVALUATION OF SUBSCRIPTS. A TX )@@G@@@G@@@@ LARGE FUZZING CONSTANT CAN CAUSE APL TO CONSIDER TWO QUANTITIES TTY )@@G@@O @G@@@@ BE EQUAL WHICH CLEARLY SHOULD NOT BE. THE STANDARD TZ )@@G@@FUZZING @G@@@@ CONSTANT OF 12 IS AN OPTIMUM VALUE FOR ALMOST ALL WOUA )@@G@@RK ON AN 1100 @#@@@@ SERIES MACHINE. @[@@@@ @[@@@@ @#@@@@UB )@@G@@ 5. 8. COMMENTS@[@@@@ @[@@@@ @G@@@@ COMMENTS MAY BEUC )@@G@@ ENTERED ON ANY LINE OF INPUT TO APL EXCEPT @G@@@@ THE HEADER LINE OUD )@@G@@F A FUNCTION. COMMENTS ARE PRECEDED BY THE LAMP @G@@@@ ($:) SYMBOLUE )@@G@@; ANYTHING TO THE RIGHT OF THE LAMP IS CONSIDERED AS A @G@@@@ COMMEUF )@@G@@NT, AND NOT PROCESSED BY APL. A LINE CONTAINING ONLY A LAMP @G@@@@UG )@@G@@ AND NOTHING ELSE (I.E. NULL COMMENTS) HAS SPECIAL SIGNIFICANCE IN UH )@@G@@@G@@@@ FUNCTION EDITING. WHEN IN FUNCTION DEFINITION MODE, ONUI )@@G@@E @G@@@@ INDICATES THAT A PARTICULAR LINE OF THE FUNCTION IS TO BE EUJ )@@G@@NTIRELY @G@@@@ DELETED BY TYPING A LINE CONTAINING ONLY A LAMP. UK )@@G@@E.G., IN THE @A@@@@ FUNCTION DEFINITION MODE, THE LINE @^@@@@ UL )@@G@@ [5] $: @D@@@@ WILL CAUSE LINE 5 OF THE FUNCTION TO BE DELETEDUM )@@G@@. @[@@@@ @[@@@@ @ @@@@ 5. 9. USE OF THE BREAK KEY@[@@@@UN )@@G@@ @[@@@@ @G@@@@ IT IS SOMETIMES DESIRABLE TO INTERRUPT PUO )@@G@@ROCESSING WHICH APL @G@@@@ IS DOING. THIS MAY OCCUR BECAUSE IT APPEUP )@@G@@ARS AS IF AN APL FUNCTION @G@@@@ IS LOOPING, OR BECAUSE ONE WISHES UQ )@@G@@TO CANCEL THE PRINTOUT OF (SAY) @C@@@@ THE TEXT OF A FUNCTION OR AN UR )@@G@@ )SI DISPLAY. @[@@@@ @G@@@@ WHEN USING A TELETYPE, APL MUS )@@G@@AY BE INTERRUPTED T ANY TIME BY @G@@@@ DEPRESSING THE 'BREAK' KEY. UT )@@G@@ THIS WILL RESULT IN A RESPONSE FROM @#@@@@ THE SYSTEM OF @[@@@@UU )@@G@@ @B@@@@ INTRPT LAST LINE @[@@@@ @G@@@@UV )@@G@@ AT THIS POINT, ONE SHOULD PRESS THE BRK-RLS BUTTON, AND ENTER A UW )@@G@@@[@@@@*****^@G@@@@A USER'S GUIDE TO APL\1100 (PRELIMINARY) UX )@@G@@ 5- 11@[@@@@ @[@@@@ @[@@@@ @G@@@@ CARRIAGE REUY )@@G@@TURN. IF APL WAS PRINTING AT THE TIME BREAK WAS HIT, @G@@@@ A FEUZ )@@G@@W MORE LINES OF OUTPUT MAY PRINT. THE SYSTEM WILL THEN @G@@@@VA )@@G@@ SUSPEND THE EXECUTING FUNCTION (F THERE WAS ONE) AND RETURN TO THE VB )@@G@@@G@@@@ DESK CALCULATOR MODE. IF THE SYSTEM WAS IN FUNCTION DEFINITIOVC )@@G@@N @G@@@@ MODE, IT WILL NOT RETURN TO DESK CALCULATOR MODE, BUT WILL VD )@@G@@INSTEAD @G@@@@ PROMPT YOU FOR THE NEXT LINE OF INPUT TO THE FUNCTIONVE )@@G@@. ONE SHOULD @G@@@@ NOT TYPE THE CHARACTER X IN RESPONSE TO THVF )@@G@@E INTRPT LAST LINE @G@@@@ MESSAGE, AS THIS WILL CAUSE EXEC 8 VG )@@G@@TO ABORT APL ENTIRELY AND @A@@@@ RETURN TO THE EXEC 8 CONTROL MODE. VH )@@G@@@[@@@@ @G@@@@ A SIMILAR PROCEDURE IS AVAILABLE WHEN USING VI )@@G@@DEVICES OTHER @G@@@@ THAN TELETYPES AS TERMINALS. FOR EXAMPLE, WVJ )@@G@@HEN USING TERMINALS @G@@@@ COMPATIBLE WITH THE IBM 2741, THE ATTN VK )@@G@@KEY IS GENERALLY USED FOR @G@@@@ THE BREAK FUNCTION. ONE SHOULDVL )@@G@@ CONSULT THE APPROPRIATE UNIVAC @G@@@@ MANUALS AND ANY SPECIAL SIVM )@@G@@TE-DEPENDENT INFORMATION TO DETERMINE @D@@@@ THE EXACT PROCEDURE FORVN )@@G@@ DEVICES OTHER THAN TELETYPES.@[@@@@ @[@@@@ @[@@@@ @^@@@@VO )@@G@@ 5.10. SIDE EFFECTS @[@@@@ @[@@@@ @G@@@@ SIDE EFFECTSVP )@@G@@ ARE APPARENT ANOMALIES IN A PROGRAMMING LANGUAGE @G@@@@ WHICH CAN VQ )@@G@@ CAUSE IT TO GIVE OTHERWISE UNEXPECTED RESULTS. ALL @G@@@@ CONTEVR )@@G@@MPORARY COMPUTER LANGUAGES EXHIBIT SIDE EFFECTS TO SOME @G@@@@VS )@@G@@ DEGREE OR OTHER. ALTHOUGH THE ORIGINAL DESIGNERS OF APL[3] WERE VT )@@G@@@G@@@@ CAREFUL TO ELIMINATE MOST CASES IN WHICH THEY COULD OCCURVU )@@G@@. @G@@@@ NEVERTHELESS, THE TWO AREAS IN WHICH THEY APPEAR ARE IN THEVV )@@G@@ USE OF @G@@@@ THE SPECIFICATION ($S) OPERATOR, AND IN THE MASKINVW )@@G@@G OF VARIABLE @ @@@@ NAMES IN FUNCTION EXECUTION. @[@@@@ @[@@@@VX )@@G@@ @ @@@@ 5.10. 1. SPECIFICATION @[@@@@ @G@@@@ TWO ANVY )@@G@@OMALIES EXIST IN THE USE OF THE SPECIFICATION OPERATOR, @G@@@@ ONE VZ )@@G@@WHICH MAY BE CAUSED BY THE OCCURRENCE OF AN ERROR IN A @G@@@@WA )@@G@@ PROGRAM, THE OTHER WHEN THE $S OPERATOR IS USED IN PARENTHESES. WB )@@G@@@G@@@@ TO DEMONSTRATE THE FORMER, CONSIDER THE FOLLOWING APL STATEMENTSWC )@@G@@: @[@@@@ @ @@@@ J $S 1 + V$S 2 @ @@@@ AWD )@@G@@$S V + J$S 3 + J @[@@@@ @G@@@@ AFTER THE EXECUTION OF THE SECOND WE )@@G@@STATEMENT, THE VALUE OF J WILL @G@@@@ BE SIX, AND A WILL BE EIGHT.WF )@@G@@ CONSIDER NOW INSTEAD THAT V IS UN- @A@@@@ DEFINED - I.E. THE STATWG )@@G@@EMENTS ARE: @[@@@@ @#@@@@ J $ S 3@A@@@@ A $ S VWH )@@G@@ + J $S 3 + J @[@@@@ @G@@@@ IN THIS CASE, A 'VALUE ERROR' WILLWI )@@G@@ BE SIGNALLED WHEN APL A(]@@@[H9?G(-H0)BS)@]@[@[^@)^@)AS0 0)@]@[@[^@)^@)WJ )@@G@@AS1 0)@A@[@[^@)^@)AS2 0)^@)^@)^@)GT-IT>^[4AC)H9&@]@[@[^@)^@)AS3 0)@C@[@[WK )@@G@@^@)^@)AS4 0)^@)^@)^@)I-ZIL>GD? -4F9(H14G($G(2^@'@A@[@[^@)^@)AS5 0)^@)^@)WL )@@G@@^@)^@)^[+G($HD,^@)@I@[@[^@)^@)AS6 0)^@)^@)^@)^@)^[(G0) [4AK)B*)I-ZGL\H9?WM )@@G@@G(-H0(^[\IK) [4AK)B*)I-ZIT4IL(H1$ C)@A@[@[^@)^@)AS7 0)^@)^@)^@)^@)^@)^@)WN )@@G@@I-*G(,@B@[@[^@)^@)AS8 0)^@)^@)^@)^@)^@)^@)^@)^[+G($HD,@F@[@[^@)^@)AS9 0)WO )@@G@@^@)^@)^@)^@)^@)^@)^@)^[>IL2H92F90IL\GS*G(2ILZGS(^@;^@)@R@[@[^@)^@)A)0 0)WP )@@G@@^@)^@)^@)^@)^@)^@)^@)^[7IL(I->H-, [=HD-G9,F9&HD?G*?^8*^8?G(2ILZGS?^8(^@%WQ )@@G@@ K%^[3G(!GD,I-(GS)G(2IL\IK)BK)HD,GT\H(0GD4HD+H->^@$ ))@N@[@[^@)^@)A)1 0)WR )@@G@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^9\I[>IL-H1=^[4JD0G(3^[&H92^[2G(?GD4WS )@@G@@HD\H1-H))H90G(2GD4H92^8(^@;^@)@I@[@[^@)^@)A)2 0)^@)^@)^@)^@)^@)^@)^@)^[3WT )@@G@@G(!F93I--GT:FT3F*,G(2IL\ILZIL>GS)BK.^[4IL5G*)BS)@D@[@[^@)^@)A)3 0)^@)^@)WU )@@G@@^@)^@)^@)^@)^@)^[$H94H8)IL>I-5IL,^@;@B@[@[^@)^@)A)4 0)^@)^@)^@)^@)^@)^@)WV )@@G@@^@)^[>H1=^@;@]@[@[^@)^@)A)5 0)@E@[@[^@)^@)A)6 0)^@)^@)^@)^@)^[\G1&AC)BK.WW )@@G@@^[4F93 1\G1&IT>I))BS)^@)@G@[@[^@)^@)A)7 0)^@)^@)^@)^@)^[\G1&AK)BK.^[3G(!WX )@@G@@F93I--GT:FT3ALX 1\G1&IT>I))BS)@E@[@[^@)^@)A)8 0)^@)^@)^@)^@)^[?G(6AC)BK.WY )@@G@@^[4F93 10IL\GTZH->I0)BS)@H@[@[^@)^@)A)9 0)^@)^@)^@)^@)^[?G(6AK)BK.^[3G(!WZ )@@G@@F93I--GT:FT3ALX 10IL\GTZH->I0)BS)^@)@]@[@[^@)^@)A*0 0)@I@[@[^@)^@)A*1 0)XA )@@G@@^@)^@)^@)^@)^[(G0) [4AC)B*)I-ZHD,I->G9>IK(^[-H1=^@*I)2^@.^[4F9(H14G($G(2XB )@@G@@([@@@[ C)^@)@A@[@[^@)^@)A*2 0)^@)^@)^@)^@)^@)^@)I-*G(,@B@[@[^@)^@)A*3 0)XC )@@G@@^@)^@)^@)^@)^@)^@)^@)^[+G($HD,@D@[@[^@)^@)A*4 0)^@)^@)^@)^@)^@)^@)^@)^[(XD )@@G@@G0)I-ZIS,I->H(0H92@C@[@[^@)^@)A*5 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)I-*G(,^@)XE )@@G@@@K@[@[^@)^@)A*6 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[$G(,G(2F9(H13I-2 [JE[#XF )@@G@@F9NE(] -\G1&AC?H->I02 -\G1&AK(@C@[@[^@)^@)A*7 0)^@)^@)^@)^@)^@)^@)^@)^@)XG )@@G@@^@)G(?IT>^@)@D@[@[^@)^@)A*8 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[+G($HD,^@)XH )@@G@@@G@[@[^@)^@)A*9 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[\G1&^@'B*)H1>I9ZI->H(0XI )@@G@@^@;^@)@K@[@[^@)^@)A00 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[$G(,G(2F9(H13I-2XJ )@@G@@ [JE[#F9GC)?H9&G0?H->I01 -\G1&AC(^@;@L@[@[^@)^@)A01 0)^@)^@)^@)^@)^@)^@)XK )@@G@@^@)^@)^@)^@)^[$G(,G(2F9(H13I-2 [JE[#F9NE(] -\G1& -?G(6AK?H9&G02 C)BS)^@)XL )@@G@@@F@[@[^@)^@)A02 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[\G1&AC)BK.^[\G1&^@;^@)XM )@@G@@@D@[@[^@)^@)A03 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[>H1=^@;^@)@B@[@[^@)^@)XN )@@G@@A04 0)^@)^@)^@)^@)^@)^@)^@)^[>H1=^@)@A@[@[^@)^@)A05 0)^@)^@)^@)^@)^@)^@)XO )@@G@@G(?IT>@B@[@[^@)^@)A06 0)^@)^@)^@)^@)^@)^@)^@)^[+G($HD,@E@[@[^@)^@)A07 0)XP )@@G@@^@)^@)^@)^@)^@)^@)^@)^[(G0)I)1^@.^[4F9(H14G($G(2@C@[@[^@)^@)A08 0)^@)^@)XQ )@@G@@^@)^@)^@)^@)^@)^@)^@)I-*G(,^@)@F@[@[^@)^@)A09 0)^@)^@)^@)^@)^@)^@)^@)^@)XR )@@G@@^@)^@)^[(G0)I-ZIS,I->H(0H92^@)@D@[@[^@)^@)A80 0)^@)^@)^@)^@)^@)^@)^@)^@)XS )@@G@@^@)^@)^@)^@)I-*G(,@K@[@[^@)^@)A81 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)XT )@@G@@^@)^[$G(,G(2F9(H13I-2 [JE[#F9AD-JCDO -\G1&AC?A@?([@@@[A@(^@)@D@[@[^@)^@)XU )@@G@@A82 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)G(?IT>@E@[@[^@)^@)A83 0)^@)^@)XV )@@G@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[+G($HD,@H@[@[^@)^@)A84 0)^@)^@)^@)^@)XW )@@G@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^[\G1&^@'B*)H1>I9ZI->H(0^@;@M@[@[^@)^@)A85 0)XX )@@G@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[$G(,G(2F9(H13I-2 [JE[#F9GC)?H9&XY )@@G@@G0?H->I01 -\G1&AC(^@;^@)@I@[@[^@)^@)A86 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)XZ )@@G@@^@)^@)^@)^[4F93 14G(!I[\IK)BK.^[4IL5G*)BS)@L@[@[^@)^@)A87 0)^@)^@)^@)^@)YA )@@G@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^[$G(,G(2F9(H13I-2 [JE[#F9AD-JCDO -\G1& )0 )0YB )@@G@@ C)BS)@G@[@[^@)^@)A88 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[\G1&AC)YC )@@G@@BK.^[\G1&^@;@E@[@[^@)^@)A89 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[>YD )@@G@@H1=^@;@]@[@[^@)^@)B@0 0)@E@[@[^@)^@)B@1 0)^@)^@)^@)^@)^@)^@)^@)^[(G0)I)2YE )@@G@@^@.^[4F9(H14G($G(2@C@[@[^@)^@)B@2 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)I-*G(,^@)YF )@@G@@@H@[@[^@)^@)B@3 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[(G0)IT>H(ZIT4GDH(0H92@D@[@[^@)^@)B@4 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)I-*G(,YH )@@G@@@L@[@[^@)^@)B@5 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[$G(,G(2F9(H13YI )@@G@@I-2 [JE[#F9AD-JCDO -\G1&AK?A@?A@(^@)@D@[@[^@)^@)B@6 0)^@)^@)^@)^@)^@)^@)YJ )@@G@@^@)^@)^@)^@)^@)^@)G(?IT>@E@[@[^@)^@)B@7 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)YK )@@G@@^@)^@)^@)^[+G($HD,@N@[@[^@)^@)B@8 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)YL )@@G@@^@)^[$G(,G(2F9(H13I-2 [JE[#F9GC)?I1\H--I)1 -?G(6AK?H9&G02 C)BS)^@)@^@[@[YM )@@G@@^@)^@)B@9 0)^@)^@)^@)^@)(I@@@[^@)^@)^@)^@)^@)^@)^@)^@)^@)^[$G(,G(2F9(H13YN )@@G@@I-2 [JE[#F9AD-JCDO -6H9?GD4AC?A@?A@(^@;^@)@G@[@[^@)^@)BC0 0)^@)^@)^@)^@)YO )@@G@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^[?G(6AK)BK.^@0^@;^@)@H@[@[^@)^@)BC1 0)^@)^@)YP )@@G@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[\G1&AK)BK.^[6H9?GD4AC)BS)@E@[@[^@)^@)YQ )@@G@@BC2 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[>H1=^@;@]@[@[^@)^@)BC3 0)YR )@@G@@@D@[@[^@)^@)BC4 0)^@)^@)^@)^@)^@)^@)^@)^[(G0)I-ZIS,I->H(0H92@C@[@[^@)^@)YS )@@G@@BC5 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)I-*G(,^@)@D@[@[^@)^@)BC6 0)^@)^@)^@)^@)YT )@@G@@^@)^@)^@)^@)^@)^@)^[+G($HD,^@)@G@[@[^@)^@)BC7 0)^@)^@)^@)^@)^@)^@)^@)^@)YU )@@G@@^@)^@)^[\G1&^@'B*)H1>I9ZI->H(0^@;^@)@K@[@[^@)^@)BC8 0)^@)^@)^@)^@)^@)^@)YV )@@G@@^@)^@)^@)^@)^[$G(,G(2F9(H13I-2 [JE[#F9GC)?H9&G0?H->I01 -\G1&AC(^@;@F@[@[YW )@@G@@^@)^@)BC9 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[\G1&AC)BK.^[\G1&^@;^@)@D@[@[YX )@@G@@^@)^@1A@0 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[>H1=^@;^@)@]@[@[^@)^@1A@1 0)YY )@@G@@@K@[@[^@)^@1A@2 0)^@)^@)^@)^@)^@)^@)^@)^[$G(,G(2F9(H13I-2 [JE[#F93I(+IK?YZ )@@G@@H9&G01 -?G(6AK?H9&G02 C)BS)^@)@B@[@[^@)^@1A@3 0)^@)^@)^@)^@)^@)^@)^@)^[>ZA )@@G@@H1=^@;@]@[@[^@)^@1A@4 0)@D@[@[^@)^@1A@5 0)^@)^@)^@)^@)^[&IL>G(ZI->H(0 [\ZB )@@G@@G1&AC(^@;^@)@E@[@[^@)^@1A@6 0)^@)^@)^@)^@)^[(G0)IT>H(ZIT4GDZC )@@G@@H(0H92@A@[@[^@)^@1A@7 0)^@)^@)^@)^@)^@)^@)I-*G(,@E@[@[^@)^@1A@8 0)^@)^@)ZD )@@G@@^@)^@)^@)^@)^@)^[&IL>G(ZI->H(0 [\G1&AK(^@;@]@[@[^@)^@1A@9 0)@H@[@[^@)^@1ZE )@@G@@AC0 0)^@)^@)^@)^@)^[3G(!F93I--GT:FT3F*,H90I-(H(ZG(6GD?^@'B*)I-2I(>^@;^@)ZF )@@G@@@B@[@[^@)^@1AC1 0)^@)^@)^@)^@)^[,G(7 [0 C)BS)^@)@D@[@[^@)^@1AC2 0)^@)^@)ZG )@@G@@^@)^@)^[0F0,H1>J[4^@'B*)H1(H))BS)^@)@G@[@[^@)^@1AC3 0)^@)^@)^@)^@)^[0F0,ZH )@@G@@G(,I-2JC)BK.^[0IL\G92GD!F9J[4^@'B*)ZK )@@G@@H1(H))BS)^@)@H@[@[^@)^@1AC7 0)^@)^@)^@)^@)^[0F0,G(,I-2JC)BK.^[0IL\G92GD!ZL )@@G@@F9^@'B*)I@)BS)@]@[@[^@)^@1AC9 0)@C@[@[^@)^@1AK0 0)^@)^@)ZN )@@G@@^@)^@)^[^@'B*)D9KCTZCLU^@;^@)@G@[@[^@)^@1AK2 0)^@)^@)^@)^@)^@)^@)ZP )@@G@@H->IT3^@'^@)H90GT\G->^@'B*)D9KCTZCLGFK)BS)@G@[@[^@)^@1AK3 0)^@)^@)^@)^@)ZQ )@@G@@^@)^@)H->ITZG(1BK)H90GT\G->^@'B*)D9KCTZCLIC9U^@;@H@[@[^@)^@1AK4 0)^@)^@)ZR )@@G@@^@)^@)^@)^@)G92G(-I->IK)BK)H90GT\G->^@'B*)D9KCTZCLBFK)BS)^@)@I@[@[^@)^@1ZS )@@G@@AK5 0)^@)^@)^@)^@)^@)^@)G92G(-I->ILZG(1^@'^[\I[H1=^@;^@)@]@[@[^@)^@1AK8 0)ZV )@@G@@@G@[@[^@)^@1AK9 0)^@)^@)^@)^@)^[$G(,G(2F9(H13I-2 [\I[H(0H92ZY )@@G@@^@'B*)G1-H-3G*)BS)@A@[@[^@)^@1AS2 0)^@)^@)^@)^@)^[>H1=^@;^@)@]@[@[^@)^@1ZZ )@@G@@AS3 0)@B@[@[^@)^@1AS4 0)^@)^@)^@)I-ZGL\H9?G(-H0)BK)^@)@A@[@[^@)^@1AS5 0)AA )@@G@@^@)^@)^@)^@)^[+G($HD,^@)@D@[@[^@)^@1AS6 0)^@)^@)^@)^@)^[(G0)I)2^@/B0)I-ZAB )@@G@@GL\H9?G(-H0)@A@[@[^@)^@1AS7 0)^@)^@)^@)^@)^@)^@)I-*G(,@B@[@[^@)^@1AS8 0)AC )@@G@@^@)^@)^@)^@)^@)^@)^@)^[+G($HD,@F@[@[^@)^@1AS9 0)^@)^@)^@)^@)^@)^@)^@)^[>AD )@@G@@IL2H92F90IL\GS*G(2ILZGS(^@;^@)@R@[@[^@)^@1A)0 0)^@)^@)^@)^@)^@)^@)^@)^[7AE )@@G@@IL(I->H-, [=HD-G9,F9&HD?G*?^8*^8?G(2ILZGS?^8(^@% K%^[3G(!GD,I-(GS)G(2IL\AF )@@G@@IK)BK)HD,GT\H(+GD4HD+H->^@$ ))@N@[@[^@)^@1A)1 0)^@)^@)^@)^@)^@)^@)^@)^@)AG )@@G@@^@)^@)^@)^@)^9\I[>IL-H1=^[4JD0G(3^[&H92^[2G(?GD4HD\H1-H))H90G(2GD4H92^8(AH )@@G@@^@;^@)@I@[@[^@)^@1A)2 0)^@)^@)^@)^@)^@)^@)^@)^[3G(!F93I--GT:FT3F*,G(2IL\AI )@@G@@ILZIL>GS)^@'B*)I-2I(>^@;@D@[@[^@)^@1A)3 0)^@)^@)^@)^@)^@)^@)^@)^[$H94H8)AJ )@@G@@IL>I-5IL,^@;@B@[@[^@)^@1A)4 0)^@)^@)^@)^@)^@)^@)^@)^[>H1=^@;@D@[@[^@)^@1AK )@@G@@A)5 0)^@)^@)^@)^@)^[>IL2H92F90IL\GS*G(2ILZGS(^@;@R@[@[^@)^@1A)6 0)^@)^@)AL )@@G@@^@)^@)^[7IL(I->H-, [=HD-G9,F9&HD?G*?^8*^8?G(2ILZGS?^8(^@% K%^[>IL2H92^@'AM )@@G@@^@$^9+H9\H->GD,^8$^[2G(?^@$^9+H9\H->GD,^8$^8?^@)@L@[@[^@)^@1A)7 0)^@)^@)AN )@@G@@^@)^@)^@)^@)^@)^@)^8)H[-IS)H1\I))JD>I))GL>G(,^[(H(0H->H(>H14G(=^@,^[3H92AO )@@G@@IL9^8(^@;^@)@H@[@[^@)^@1A)8 0)^@)^@)^@)^@)^[3G(!F93I--GT:FT3F*,G(2IL\IK0AP )@@G@@IL>GS)BK.^[4IL5G*)BS)^@)@A@[@[^@)^@1A)9 0)^@)^@)^@)^@)^[>H1=^@;^@)@^@[@[AQ )@@G@@^@)^@1A*0 0)^@)^@)^@)I-Z(]@@@[IT4IL(H1$^@'@A@[@[^@)^@1A*1 0)^@)^@)^@)^@)AR )@@G@@^[+G($HD,^@)@D@[@[^@)^@1A*2 0)^@)^@)^@)^@)^[(G0)I)2^@/B0)I-ZIT4IL(H1$^@)AS )@@G@@@A@[@[^@)^@1A*3 0)^@)^@)^@)^@)^@)^@)I-*G(,@B@[@[^@)^@1A*4 0)^@)^@)^@)^@)AT )@@G@@^@)^@)^@)^[+G($HD,@F@[@[^@)^@1A*5 0)^@)^@)^@)^@)^@)^@)^@)^[>IL2H92F90IL\AU )@@G@@GS*G(2ILZGS(^@;^@)@R@[@[^@)^@1A*6 0)^@)^@)^@)^@)^@)^@)^@)^[7IL(I->H-, [=AV )@@G@@HD-G9,F9&HD?G*?^8*^8?G(2ILZGS?^8(^@% K%^[3G(!GD,I-(GS)G(2IL\IK)BK)HD,GT\AW )@@G@@H(+GD4HD+H->^@$ ))@N@[@[^@)^@1A*7 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)AX )@@G@@^9\I[>IL-H1=^[4JD0G(3^[&H92^[2G(?GD4HD\H1-H))H90G(2GD4H92^8(^@;^@)@I@[@[AY )@@G@@^@)^@1A*8 0)^@)^@)^@)^@)^@)^@)^@)^[3G(!F93I--GT:FT3F*,G(2IL\ILZIL>GS)^@'AZ )@@G@@B*)I-2I(>^@;@D@[@[^@)^@1A*9 0)^@)^@)^@)^@)^@)^@)^@)^[$H94H8)IL>I-5IL,^@;BA )@@G@@@B@[@[^@)^@1A00 0)^@)^@)^@)^@)^@)^@)^@)^[>H1=^@;@D@[@[^@)^@1A01 0)^@)^@)BB )@@G@@^@)^@)^[>IL2H92F90IL\GS*G(2ILZGS(^@;@Q@[@[^@)^@1A02 0)^@)^@)^@)^@)^[7IL(BC )@@G@@I->H-, [=HD-G9,F9&HD?G*?^8*^8?G(2ILZGS?^8(^@% K%^[>IL2H92^@'^@$^93I-2HD,BD )@@G@@G8$^8)IL>H))^8$IT4IL(H1$^8$^8?@L@[@[^@)^@1A03 0)^@)^@)^@)^@)^@)^@)^@)^@)BE )@@G@@^8)H[-IS)H1\I))JD>I))GL>G(,^[(H(0H->H(>H14G(=^@,^[3H92IL9^8(^@;^@)@H@[@[BF )@@G@@^@)^@1A04 0)^@)^@)^@)^@)^[3G(!F93I--GT:FT3F*,G(2IL\ILZIL>GS)BK.^[4IL5G*)BG )@@G@@BS)^@)@A@[@[^@)^@1A05 0)^@)^@)^@)^@)^[>H1=^@;^@)@]@[@[^@)^@1A06 0)@D@[@[BH )@@G@@^@)^@1A07 0)^@)^@)^@)G(,G))BS)^@)JS)H9&^[BO )@@G@@H))IL>I-5IL,^@;^@)@]@[@[^@)^@)^@6 0)@^@[@[^@)^@)^@7 0)^@)^@)I1-IK)@B@[@[BP )@@G@@^@)^@)^@8 0)^@)^@)^@)G(2ILZGS)BK)GT*GD2^@;@B@[@[^@)^@)^@9 0)^@)^@)^@)IS)BQ )@@G@@BK)HD,I->G9>IK)BS)@D@[@[^@)^@)AC0 0)^@)^@)^@)I@)BK)F1G9(H0)^@)@C@[@[^@)^@)BS )@@G@@AC3 0)^@)^@)IS)BK.^[3G(!F93I--GT:F94H90^@;@E@[@[^@)^@)AC4 0)^@)^@)HD&^[3BT )@@G@@G(!F93I--GT:FT3F*,G(2IL\ILZIL>GS)^@)@A@[@[^@)^@)AC5 0)^@)^@)^@)^@)^[4H[>BU )@@G@@H0)^@)@D@[@[^@)^@)AC6 0)^@)^@)^@)^@)^@)^@)G9\I-\^[2G(4I(2H0)BS)^@)@H@[@[BV )@@G@@^@)^@)AC7 0)^@)^@)HD&^[3G(!F93I--GT:FT3F*,G(8I[2F94JD0G*)B)"^[4F9(H14G($BW )@@G@@G(2^@)@ @[@[^@)^@)AC8 0)^@)^@)^@)I-*G(,^@)@A@[@[^@)^@)AC9 0)^@)^@)^@)^@)BX )@@G@@^[+G($HD,^@)@H@[@[^@)^@)AK0 0)^@)^@)^@)^@)^[3G(!F93I--GT:FT3F*,G(2IL\ILZBY )@@G@@IL>GS)BK.^[4IL5G*)BS)^@)@D@[@[^@)^@)AK1 0)^@)^@)^@)^@)^[>IL2H92F90IL\GS*BZ )@@G@@G(2ILZGS(^@;@R@[@[^@)^@)AK2 0)^@)^@)^@)^@)^[7IL(I->H-, [=HD-G9,F9&HD?G*?CA )@@G@@^8*^8?G(2ILZGS?^8(^@% K%^[3G(!GD,I-(GS)G(2IL\IK)BK)H1\H0!GL\H9?G(-H0)H->CB )@@G@@G14^@$ ))^@)@ @[@[^@)^@)AK3 0)^@)^@)^@)^@)^@)^@)(C@@@[^@)^@)^@)^@)^@)^@)CC )@@G@@^9\I[>IL-H1=^[&H92^@&^8(^@;^@)@C@[@[^@)^@)AK4 0)^@)^@)^@)^@)^[$H94H8)IL>CD )@@G@@I-5IL,^@;^@)@A@[@[^@)^@)AK5 0)^@)^@)^@)^@)^[>H1=^@;^@)@E@[@[^@)^@)AK6 0)CE )@@G@@^@)^@)HD&^[3G(!F93I--GT:FT3F*,H90I-(H(ZG(6GD?^@)@ @[@[^@)^@)AK7 0)^@)^@)CF )@@G@@^@)I-*G(,^@)@A@[@[^@)^@)AK8 0)^@)^@)^@)^@)^[+G($HD,^@)@L@[@[^@)^@)AK9 0)CG )@@G@@^@)^@)^@)^@)^[+GDIK(^@;@ @[@[^@)^@)AS0 0)^@)^@)^@)^@)^[>H1=@ @[@[^@)^@)AS1 0)CI )@@G@@^@)^@)^@)G(?IT>^@)@A@[@[^@)^@)AS2 0)^@)^@)^@)^@)^[+G($HD,^@)@H@[@[^@)^@)CJ )@@G@@AS3 0)^@)^@)^@)^@)^[3G(!F93I--GT:FT3F*,H90I-(H(ZG(6GD?^@'B*)I-2I(>^@;^@)CK )@@G@@@Q@[@[^@)^@)AS4 0)^@)^@)^@)^@)^[$G(,G(2F9(H13I-2 [JE[#F9GC)?I1\H--I)1 -3CL )@@G@@G(!F93I--GT:FT3F*,I[2H9J[4^@'B*)H1(H))BS)^@)@G@[@[^@)^@)AS7 0)^@)^@)^@)^@)^[0F0,G(,I-2CO )@@G@@JC)BK.^[0IL\G92GD!F9^@'B*)I@)BS)@H@[@[^@)^@)AS9 0)^@)^@)^@)^@)CQ )@@G@@^[$G(,G(2F9(H13I-2 [JE[#F9]FK?I1\H--I)1 )0 )0 C)BS)^@)@G@[@[^@)^@)A)0 0)CR )@@G@@^@)^@)^@)^@)^[3G(!F93I--GT:FT3F*,I->H(0H92^@'B*)G1-H-3G*)BS)@A@[@[^@)^@)CS )@@G@@A)1 0)^@)^@)^@)^@)^[>H1=^@;^@)@]@[@[^@)^@)A)2 0)@B@[@[^@)^@)A)3 0)^@)^@)CT )@@G@@IL>I-5IL,^@'^[>H1=^@;^@)+@@@@@0E@@@@H,,1, ===== CONSTACU )@@G@@BLE =====. (G@@@@ CV )@@G@@ +@@@@[@O__@[^@)^@)^@1 0)^@)^@)I[2H9ILZGT\H13I)*GT\H13I-ZI1-H)'HD,I->G9>IK)BS)I1-IK)GTZH9&G13G(4^@'CX )@@G@@^[(H14G($G(2 C;^@)@K@[@[^@)^@)^@2 0)^@)^@)JT H14G(2IS)I1-H-5G*)HD,^[4H[>CY )@@G@@^[I-5IL,IS)I-*G*)@K@[@[^@)^@)^@3 0)^@)^@)CZ )@@G@@^[\G1&IT>I),^[OH[>^[4GD+H->^[(IS)H(-HD,I--HD,G(=^[-IS)GC)H-(H1:G(=^[?HD3DA )@@G@@I))J*)@]@[@[^@)^@)^@4 0)@E@[@[^@)^@)^@5 0)^@)^@)^@)I1-IK)I@)BK)F1G9(H0)DC )@@G@@@C@[@[^@)^@)^@8 0)^@)^@)^@)^@)^[(G0)GT\H13I-ZI1-H).A@)@I@[@[^@)^@)^@9 0)DD )@@G@@^@)^@)^@)^@)^@)^@)I-*G(,^@)^@)^@)^@)^@)^@)^@)JS)GT\H(!H9,H-9^[5IT>G))J*)DE )@@G@@@D@[@[^@)^@)AC0 0)^@)^@)^@)^@)^@)^@)^@)^[I)'B*0^@)@A@[@[^@)^@)DF )@@G@@AC1 0)^@)^@)^@)^@)^@)^@)G(?IT>@E@[@[^@)^@)AC2 0)^@)^@)^@)^@)^@)^@)^@)^[(DG )@@G@@G0)GT\H13I-ZI1-H).AC)^@)@I@[@[^@)^@)AC3 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)I-*DH )@@G@@G(,^@)^@)^@)^@)^@)^@)^@)JS)I-*GD4^[4H9\^[.@F@[@[^@)^@)AC4 0)^@)^@)^@)^@)DI )@@G@@^@)^@)^@)^@)^@)^@)^[I))BK.^@1^@)@C@[@[^@)^@)AC5 0)^@)^@)^@)^@)DJ )@@G@@^@)^@)^@)^@)^@)G(?IT>^@)@G@[@[^@)^@)AC6 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)DK )@@G@@^[7HD4H@)GT\H13I-ZI--GL?G*)G-\@E@[@[^@)^@)AC7 0)^@)^@)^@)^@)^@)^@)^@)^@)DL )@@G@@^@)^@)^@)^@)GL>G9(H0)^@)@I@[@[^@)^@)AC8 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)DM )@@G@@^@)^@)^@)^[I)'B(?G(,G94H@)BS)^@)@^@[@[^@)^@)AC9 0)^@)^@)^@)^@)DN )@@G@@(D@@@[^@)^@)^@)^@)^@)^@)^@)^@)^@)^[?G(,G94H@) S'B*)AC)BS)^@)@F@[@[^@)^@)DO )@@G@@AK0 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[,G(7 [0 C)BS)@I@[@[^@)^@)DP )@@G@@AK1 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[0F0,G(,I-2JC'B(DR )@@G@@J[4BK.H1(H))BS)^@)@H@[@[^@)^@)AK3 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)DS )@@G@@^@)^[?GD3I-Y 1,G(8I)'B(0^@;^@)@F@[@[^@)^@)AK4 0)^@)^@)^@)^@)^@)^@)^@)^@)DT )@@G@@^@)^@)^@)^@)^@)^[?GD3I)'B(0^@;@E@[@[^@)^@)AK5 0)^@)^@)^@)^@)^@)^@)^@)^@)DU )@@G@@^@)^@)^@)^@)G(,G))BS)^@)@F@[@[^@)^@)AK6 0)^@)^@)^@)G(,G))BS)^@)^[;^[\G0)DV )@@G@@G(,I->ILZGT\H13I))J*)^@)@]@[@[^@)^@)AK7 0)@]@[@[^@)^@)AK8 0)@]@[@[^@)^@)DW )@@G@@AK9 0)@O@[@[^@)^@)AS0 0)^@)^@)I[2H9ILZGTZIT4IL(H1$ [6GD2DX )@@G@@^[3^@'^[YH1\G9\F93I-2HD,G8)BS)I1-IK)H))BK)HD,I->G9>IK(^@;^@)@]@[@[^@)^@)DY )@@G@@AS1 0)@ @[@[^@)^@)AS2 0)^@)^@)GL>G9(H0)^@)@E@[@[^@)^@)AS3 0)^@)^@)^@)H)'DZ )@@G@@B( 1?G(,G94H@)BS)^@)@H@[@[^@)^@)AS4 0)^@)^@)^@)GT\H13I-ZEA )@@G@@I--GL?G*,H->H1$I-*^@:BK.^[3F0,I9ZH->H1$I-*^@;^@)@H@[@[^@)^@)AS5 0)^@)^@)EB )@@G@@^@)GT\H13I-ZI--GL?G*,H--IT4F0,H1>J[4^@'B*)ITY 1&HD2IT4^@;^@)@G@[@[^@)^@)EC )@@G@@AS6 0)^@)^@)^@)GT\H13I-ZI--GL?G*,H--IT4^@'B*)ITY 13F9?GD3I))BS)^@)@B@[@[ED )@@G@@^@)^@)AS7 0)^@)^@)^@)G-(IT0H93G**IS(^@;^@)@E@[@[^@)^@)AS8 0)^@)^@)G(,G))EE )@@G@@BS)^[;^[\G0)G(,I->ILZGTZIT4IL(H1$^[.+@@@@@0G@@@@H,,1, =EF )@@G@@==== ENV1 =====. (E@@@@ EG )@@G@@ +@@@@[@E__@[^@)^@)^@1 0)^@)^@)EH )@@G@@C(IE1DELJD1HC(IE))C- CTGCDMCDODDJD1N^@;^@)@]@[@[^@)^@)^@2 0)@]@[@[^@)^@)EI )@@G@@^@3 0)@ @[@[^@)^@)^@4 0)^@)^@)GT\H13I))^@)@N@[@[^@)^@)^@5 0)^@)^@)^@)^@)EJ )@@G@@GTZHD,I[5I-ZH->H1$I-*B*8AK)BS)^[;^[4H[>^[3H95IL^[?G(,G94H@)J*)@M@[@[^@)^@)^@6 0)^@)^@)^@)^@)GTZHD=G(,I-ZH15H(+G(2B*4EL )@@G@@AK)BS)JS)I-*G*)I-\HT>H0)H15H(+G(2^[&H92^[(G->H14HD&HD>IK)J*)@K@[@[^@)^@)EM )@@G@@^@7 0)^@)^@)^@)^@)GTZH(-J[ZI->IL!HD,GD?B*7A@)BS)JS)I-*G*)H(-J@)I->IL!HD,EN )@@G@@GD?^[,I(!GL>IK)J*)@E@[@[^@)^@)^@8 0)^@)^@)^@)^@)ITF9-IT3G9,B*5^@;^@)@E@[@[^@)^@)AK2 0)^@)^@)^@)HD,I-=HD6F9-IT3EY )@@G@@G9,B*6^@;^[>J[0F9-IT3G9,(G@@@[B*7^@;^[\ILZGD3IT$H0.B@)BS)GD,G-ZGD3IT$H0.EZ )@@G@@BC)BS)GT-I-ZGD3IT$H0.AC0^@;^@)@]@[@[^@)^@)AK3 0)@M@[@[^@)^@)AK4 0)^@)^@)FA )@@G@@^@)I-2I(,GS.AC)BS)G1?H9\IK.AK)BS)GT>HD?HD,G8.AS)BS)^@)^@)^@)^@)^@)JT&H92FB )@@G@@^[PD1[ELTD9K^[.^@)@]@[@[^@)^@)AK5 0)@H@[@[^@)^@)AK6 0)^@)^@)^@)^@)^@)^@)FC )@@G@@^@)^@)^@)^@)^@)^@)^@)^@)^@)JT&H92^[MC(GD9K^[.^@)@P@[@[^@)^@)AK7 0)^@)^@)FD )@@G@@^@)G(1I(-H).AC)BS)H->IT3B*2^@;^[?G(3ITZG(1B*3^@;^[$IL>GD4G(2B*4^@;^[$IL>FE )@@G@@GD4G(2F9>IC.A*)BS)H1\I-ZG(1B*6^@;^@)@]@[@[^@)^@)AK8 0)@G@[@[^@)^@)AK9 0)FF )@@G@@^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)JS)G1\IK)CTJD1NE-[D1O^[.^@)@L@[@[^@)^@)FG )@@G@@AS0 0)^@)^@)^@)I-ZGL\H9?G(-H0.AC)BS)I-ZHD,I->G9>IK.AK)BS)I-ZIL>GD?B*3^@;FH )@@G@@^[4F93I-2HD,G8.A))BS)^@)@]@[@[^@)^@)AS1 0)@K@[@[^@)^@)AS2 0)^@)^@)^@)^@)FI )@@G@@^@)^@)^@)^[;^[OC(MD(DD1[D-N^[MC(LE(DELDD1B^[NC(HCDIE-DCS)EL CTJEL^ES)J*)FJ )@@G@@@M@[@[^@)^@)AS3 0)^@)^@)^@)I-ZGD3IT(G9,H90B*4A@)BS)I-ZGT\H13I--H14B*4AC)FK )@@G@@BS)I-ZHD=B*4AK)BS)I-ZH(5H-4H90B*4AS)BS)^@)@I@[@[^@)^@)AS4 0)^@)^@)^@)I-ZFL )@@G@@I[?I(3H90B*4A))BS)I-ZIL>H-\I@.A)5^@;^[4F95H1-IL9H90B*4A0)BS)@]@[@[^@)^@)FM )@@G@@AS5 0)@]@[@[^@)^@)AS6 0)@F@[@[^@)^@)AS7 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)FN )@@G@@JS)E-CC*)D9KCTJC- ES)J*)@P@[@[^@)^@)AS8 0)^@)^@)^@)D9KCTZC1DF@.A-]^@;^[JFO )@@G@@E[#F9IC(BB*1A[]^@;^[JE[#F9AD-JCDOB*1A-]^@;^[JE[#F9ID9OB*2A[]^@;^[JE[#F9]FP )@@G@@B*3A[]^@;^@)@P@[@[^@)^@)AS9 0)^@)^@)^@)D9KCTZCLUB*4A[]^@;^[JE[#F9]D1UB*5FQ )@@G@@A[]^@;^[JE[#F9]C9UB*6A[]^@;^[JE[#F9]D1BFK.A80CK)BS)D9KCTZCLGFK.AC0A[]^@;FR )@@G@@@R@[@[^@)^@)A)0 0)^@)^@)^@)D9KCTZCLID-UB*1AC0CK)BS)D9KCTZCL[D).AC2A[]^@;FS )@@G@@^[JE[#F9]DTOB*1AK4CK)BS)D9KCTZETQCS.AC3A[]^@;^[JE[#F9OELIC8.AC3A-]^@;^@)FT )@@G@@@Q@[@[^@)^@)A)1 0)^@)^@)^@)D9KCTZETCD).AC4A[]^@;^[JE[#F9ND[MB*1A*0CK)BS)FU )@@G@@D9KCTZD-^CC.AC6A[]^@;^[JE[#F9NE).AC7A[]^@;^[JE[#F9GC).AK0A[]^@;^@)@N@[@[FV )@@G@@^@)^@)A)2 0)^@)^@)^@)D9KCTZCD^C).AK1A[]^@;^[JE[#F9[C-^EK.AK1A-]^@;^[JE[#FW )@@G@@F9NE(]B*2AK0CK)BS)D9KCTZETPCLMB*2AK4CK)BS)@N@[@[^@)^@)A)3 0)^@)^@)^@)D9KFX )@@G@@CTZD(PD).AK3A[]^@;^[JE[#F9HE(GEK.AK3A-]^@;^[JE[#F9^DDQB*2A)0CK)BS)D9KCTZFY )@@G@@C-DE1MB*2A)4CK)BS)@G@[@[^@)^@)A)4 0)^@)^@)^@)D9KCTZC(SE@.AK5A[]^@;^[JE[#FZ )@@G@@F9 F[KEL B*2A*4CK)BS)^@)@J@[@[^@)^@)A)5 0)^@)^@)^@)D9KCTZCDIC).AK6A[]^@;GA )@@G@@^[JE[#F9JEK.AK7A[]^@;^[JE[#F9SD9MB*3A@0CK)BS)^@)@N@[@[^@)^@)A)6 0)^@)^@)GB )@@G@@^@)D9KCTZEL^D).AS1A[]^@;^[JE[#F9MC-MB*3AC4CK)BS)D9KCTZEL^DC.AS2A[]^@;^[JGC )@@G@@E[#F9METOEK.AS2A-]^@;^@)@Q@[@[^@)^@)A)7 0)^@)^@)^@)D9KCTZE9GB*3AS0CK)BS)GD )@@G@@D9KCTZE9MB*3AS4CK)BS)D9KCTZE9DB*3A)0CK)BTJE[#F9RETOEK.AS5A[]^@;D9KCTZETFGE )@@G@@E@.AS6A[]^@)BS)^@)@O@[@[^@)^@)A)8 0)^@)^@)^@)D9KCTZCT[E).AS5A-]^@;^[JE[#GF )@@G@@F9NE(NE-MB*3A04CK)BS)D9KCTZETOC(LB*3A80CK)BS)D9KCTZETOD-NES.AS7A-]^@;^@)GG )@@G@@@C@[@[^@)^@)A)9 0)^@)^@)^@)D9KCTZETOE[#B*1A84CK)BS)^@)@]@[@[^@)^@)A*0 0)GH )@@G@@@]@[@[^@)^@)A*1 0)@E@[@[^@)^@)A*2 0)^@)^@)^@)GTZIT>H(ZIT4GD^@.GI )@@G@@^@1AK0^@;^@)@]@[@[^@)^@)A*3 0)@B@[@[^@)^@)A*4 0)^@)^@)^@)I1\H--I)1^@.^@0GJ )@@G@@^@;^@)@A@[@[^@)^@)A*5 0)^@)^@)^@)I1\H--I)2^@.^@9([@@@[^@;^@)@B@[@[^@)^@)GK )@@G@@A*6 0)^@)^@)^@)I1\H--I)3^@.^@1A@)BS)@]@[@[^@)^@)A*7 0)@]@[@[^@)^@)A*8 0)GL )@@G@@@^@[@[^@)^@)A*9 0)^@)^@)I-9I[>@H@[@[^@)^@)A00 0)^@)^@)^@)^@)I-ZHD,I[5I-ZGM )@@G@@H->H1$I-*^@.^@0 0,GTZHD,I[5I-ZH->H1$I-*^@;@H@[@[^@)^@)A01 0)^@)^@)^@)^@)GN )@@G@@I-ZH(-J[ZI->IL!HD,GD?^@.^@1 0,GTZH(-J[ZI->IL!HD,GD?^@;@I@[@[^@)^@)A02 0)GO )@@G@@^@)^@)^@)^@)I-ZIL>ITZI9ZH->H1$I-*^@.^@1 0,ITITZI9\IL=^@.^[0GDG))GD2IL-JDVI-ZIL>GQ )@@G@@ITZI9ZH->H1$I-*F*)H9&^[^@.^[0GDG))GD2IL-JDVI-ZHD,I[5I-ZH->H1$I-*F*)H9&^[H(ZIT4GD -4F9>J[0IK?I-ZI[\ITZH(-IL:G(2 C)BS)^@)@]@[@[^@)^@)A09 0)@E@[@[GV )@@G@@^@)^@)A80 0)^@)^@)^@)GT\H13I--H14F9>H14IL9^@.^@)IL>GT\IL=^@)@H@[@[^@)^@)GW )@@G@@A81 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[>H14IL9^@'^[(H14G($G(2^@;GX )@@G@@@J@[@[^@)^@)A82 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[,G(8I))BK)F1H14IL9F90I))B*)F1H1$I-*HD )@@G@@^@'^[(H14G($G(2^@;@L@[@[^@)^@)B@0 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)HE )@@G@@ITZG1(IL3I)?ITZH--IT4^@'^[H1=^@;^@)@]@[@[^@)^@)B@2 0)@]@[@[^@)^@)HG )@@G@@B@3 0)@G@[@[^@)^@)B@4 0)^@)^@)^@)H1\G9\F93I-2HD,G9ZI[4^@.^[YH1\G9\F93I-2HH )@@G@@HD,G8)BS)^@)@]@[@[^@)^@)B@5 0)@]@[@[^@)^@)B@6 0)@E@[@[^@)^@)B@7 0)^@)^@)HI )@@G@@^@)I1-IL(GD,I-ZI--G9ZI))B*)A@, 06A*5AS5^@;@]@[@[^@)^@)B@8 0)@]@[@[^@)^@)HJ )@@G@@B@9 0)@]@[@[^@)^@)BC0 0)@C@[@[^@)^@)BC1 0)^@)^@)H--GL>H-ZIT4GDHK )@@G@@^@.^@)@A@[@[^@)^@)BC2 0)^@)^@)^@)^@)^[2G(J[4^@'^[YH--GL>H-ZIT4GD^@;^@)@E@[@[^@)^@)BC4 0)HM )@@G@@^@)^@)^@)^@)^@)^@)H--GLZIT4IK)BK)IL>ITZI9\IL=^@;@H@[@[^@)^@)BC5 0)^@)^@)HN )@@G@@^@)^@)^@)^@)G(8HD4F9(H1&^@'^[^[H1=^@;^@)^@)^@)^[;^[\G0)IL>GT\IL=HS )@@G@@^[.^@)@I@[@[^@)^@1A@0 0)^@)^@)^@)I-ZIT>H(ZIT4GD^@.^@1 0,GTZIT>HT )@@G@@H(ZIT4GD^@;^@)@B@[@[^@)^@1A@1 0)^@)^@)IT>H(ZIT4GD^@.HU )@@G@@@ @[@[^@)^@1A@2 0)^@)^@)^@)IL>GT\IL=@ @[@[^@)^@1A@3 0)^@)^@)^@)^@)^[>IL2HV )@@G@@( @@@[H92F92G(<^@'^[+H9\H->GD,^@;^@)@G@[@[^@)^@1A@4 0)^@)^@)^@)^@)^[F9&^@'^[3G(!F93I--GT:F94^[\G0)^@)@C@[@[^@)^@1A@5 0)^@)^@)^@)^@)HX )@@G@@^@)^@)I-ZI-\HT>H0)BK)^@)@I@[@[^@)^@1A@6 0)^@)^@)^@)^@)^@)^@) @)^[H1ZG0)BK)I1-IL(GD,I-ZI--G9ZI))H9&^@)@I@[@[^@)^@1A@7 0)^@)^@)^@)^@)HZ )@@G@@^@)^@)^@)^@)^@)I-ZGD3IT(G9,H90 -4F9!I(?I-\I@?I-ZI[?I(3H90 ))@M@[@[^@)^@1IA )@@G@@A@8 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[4F92G(?H90 -4F95H1-IL9H90^@'^@) @)IB )@@G@@H90G(2^@'^[(H14G($G(2^@(^@;^@)@I@[@[^@)^@1A@9 0)^@)^@)^@)^@)^@)^@)^@)^@)IC )@@G@@^@)I-ZHD=^@'^@*^[(G-ZG0)BK)IL>ITZI9\IL=^@(^@;^@)@E@[@[^@)^@1AC0 0)^@)^@)ID )@@G@@^@)^@)^@)^@)^@)^@)^@)I-ZGT\H13I--H14^@'^@)@L@[@[^@)^@1AC1 0)^@)^@)^@)^@)IE )@@G@@^@)^@)^@)^@)^@) @)^[G9>IK)BK) [(H14G($G(2F96^@'^[(H14II )@@G@@G($G(2 C)BS)@J@[@[^@)^@1AC4 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)I-ZIL>IJ )@@G@@GD?^@'^@*^[2G(-H-ZI0)BK)IL>GD?^@(^@;@L@[@[^@)^@1AC5 0)^@)^@)^@)^@)^@)^@)IK )@@G@@^@)^@)^@)^@)^@)^@)I-ZIT4IL(H1$^@'^@*IT4IL(H1$F96^@'^[YH1\G9\F93I-2HD,G8(IL )@@G@@@B@[@[^@)^@1AC6 0)^@)^@)^@)^@)^@)^@)^@)^@)^@) C)@A@[@[^@)^@1AC7 0)^@)^@)IM )@@G@@^@)^@)^@)^@) C)BS)@C@[@[^@)^@1AC8 0)^@)^@)^@)^@)^@)^@)I-ZHD=F9?HD3I))BK)IN )@@G@@@B@[@[^@)^@1AC9 0)^@)^@)^@)^@)^@)^@) @)^[(G-ZGT\(^@@@[I(,I))BK)HD,I->G9>IO )@@G@@IK)BS)@F@[@[^@)^@1AK0 0)^@)^@)^@)^@)^@)^@)^@)^[(G-ZH-(IT4^@'^[(H14G($G(2IP )@@G@@ C)BS)@B@[@[^@)^@1AK1 0)^@)^@)^@)^@)^@)^@)I-ZG->GT?^@'@G@[@[^@)^@1AK2 0)IQ )@@G@@^@)^@)^@)^@)^@)^@) @)^[4F9=G(^@'^[(H14G($G(2^@(^@;@B@[@[^@)^@1IR )@@G@@AK3 0)^@)^@)^@)^@)^@)^@)I-ZI-9I[>^@'@F@[@[^@)^@1AK4 0)^@)^@)^@)^@)^@)^@)IS )@@G@@ @)^[4JD0G(ZI))BK)HD,I->G9>IK)BS)^@)@G@[@[^@)^@1AK5 0)^@)^@)^@)^@)^@)^@)IT )@@G@@^@)^[4JD0G(ZIT(JL>^@'^[(H14G($G(2 C)BS)^@)@D@[@[^@)^@1AK6 0)^@)^@)^@)^@)IU )@@G@@^@)^@)I-ZI[\ITZH(-IL:G(2^@'^@)@F@[@[^@)^@1AK7 0)^@)^@)^@)^@)^@)^@) @)I[\IV )@@G@@ITZH(-IL:^@'^[(H14G($G(2^@(^@;@B@[@[^@)^@1AK8 0)^@)^@)^@)^@)^@)^@)I-ZG(8IW )@@G@@I[2^@'@M@[@[^@)^@1AK9 0)^@)^@)^@)^@)^@)^@) @)^[J[0IK?IL>GD=H9,IX )@@G@@H-9 -4G(!I[\IK?IL>G9(IT4G(2^@'^[+H9\H->GD,^@;^@)@H@[@[^@)^@1AS0 0)^@)^@)IY )@@G@@^@)^@)^@)^@)^@)^[0IL\GTZH->I0?H9&G13G(4^@'^[(H14G($G(2^@;^@)@I@[@[^@)^@1IZ )@@G@@AS1 0)^@)^@)^@)^@)^@)^@)^@)^[GD,^[\G0)^@)@E@[@[^@)^@1AS4 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)JD )@@G@@^@)^@)I-2I(>^@'^@)@N@[@[^@)^@1AS5 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)JE )@@G@@^@)^@*^[+H9\H-ZI-2I(> -+H9\H-ZG1-H-3G*)BK)F1 -4H9:G(,F93I-2HD,G8?HD,I[5I-ZH-(H1>^@'^[0GDG))GD2IL-JDVI-ZHD,I[5JJ )@@G@@I-ZH->H1$I-*F*)H9&^[^@?^[H14F9(H10I(4F9^[(H1=JN )@@G@@G(8^@)@M@[@[^@)^@1A)5 0)^@)^@)^@)^@)H9&^[4H[>^[?GD3I))GT\H13I(!G(=^[^[(H1=G(8@G@[@[^@)^@1A)6 0)^@)^@)JP )@@G@@^@)^@)H9&^[4H[>^[?GD3I))GT*GD2^[(H0)I-*G*)H-(H1>^@,^[.@]@[@[^@)^@1A)7 0)JQ )@@G@@@E@[@[^@)^@1A)8 0)^@)^@)^@)^@)H-(H1>F9,I(!GL>IK)BK)HD,I->G9>IK)BS)@E@[@[JR )@@G@@^@)^@1A)9 0)^@)^@)^@)^@)G(2IL\ILZGT\I(,I))BK)HD,I->G9>IK)BS)@F@[@[^@)^@1JS )@@G@@A*0 0)^@)^@)^@)^@)H-(H1>F9>IL2H92F9G))BK)GL\H9?G(-H0)BS)^[;^[4IL5G*)HD&^[4H[>^[H14^[(H10I(4^[?HD,G*)H[-IS)GL>G(,^[?HD3I->G))J*)@D@[@[^@)^@1A*2 0)JV )@@G@@^@)^@)^@)^@)G(2IL\IL3^@'^[+H9\H->GD,^@;^@)@D@[@[^@)^@1A*3 0)^@)^@)^@)^@)JW )@@G@@H1>IT4HD,G8)BK)HD,I->G9>IK)BS)@R@[@[^@)^@1A*4 0)^@)^@)^@)^@)E-[CLGC(N^@'JX )@@G@@^[4G(8I))BS)^[;^[4H[>^[,GD!G*)H9&^[4H[>^[&HD?G*)I9(I-*^[4H[>^[3GT-H1,G(2JY )@@G@@^[-H1=^[0GD2IT>IK)I--GL?G(3^[.@A@[@[^@)^@1A*5 0)^@)^@)^@)^@)G-(GD$H1ZG1(JZ )@@G@@(G@@@[H->^@'I->J[4^@;^@)JS)I->J[4^[&HD?G*)G1\IK)I-*G*)G-(GD$H1\IT4HD^[3G(!GD,I-(GS)IL\I(4HD,G(3^[.^@)@]@[@[KC )@@G@@^@)^@1A00 0)@]@[@[^@)^@1A01 0)@G@[@[^@)^@1A02 0)^@)^@)^@)H--GL>H-ZIT4GDH1$I-*^@'^[(H14G($G(2^@;^@)@K@[@[^@)^@1A05 0)^@)^@)^@)^@)^@)^@)KG )@@G@@^@)^@)^@)^@)^@)^@)G1(IL3I)?H--IT4^@'^[YGT\H13I--H14F9>H14IL9^@;^@)@D@[@[KH )@@G@@^@)^@1A06 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[>H1=^@;^@)@]@[@[^@)^@1A07 0)KI )@@G@@@F@[@[^@)^@1A08 0)^@)^@)^@)I[2H9$IL-H(ZGT\I(,I->IK)BK)HD,I->G9>IK)BS)^@)KJ )@@G@@@]@[@[^@)^@1A09 0)@I@[@[^@)^@1A80 0)^@)^@)^@)GD3GTZI-\F9&HD>H-=^@'^[-IL2KK )@@G@@GD9FS0 0,AC2A9X^[\G0)HD,I->G9>IK)BS)@]@[@[^@)^@1A81 0)@M@[@[^@)^@1A82 0)KL )@@G@@^@)^@)^@)IT>H(ZIT4GDH(ZIT4GDF*)H9&^[3G(!KM )@@G@@F93I--GT:F9,H9=G*)BS)^@)@]@[@[^@)^@1A83 0)@E@[@[^@)^@1A84 0)^@)^@)^@)IT>KN )@@G@@H(ZIT4GDG9>IK)BS)@D@[@[^@)^@1A85 0)^@)^@)I[2H9IK) ))@D@[@[^@)^@1A87 0)^@)^@)I[2H9F9\I(4^@?^@)JS)H-(IT4IS)H95KR )@@G@@I))I-*G*)GT5IL2G(,I))HD,I[5I))H-(H1>^[.^@)@@@[@[(O@@@[^@)^@1A89 0)^@)^@)KS )@@G@@I[2H9IK*I1-IK)H(-HL\IK)BK)I-ZH(-J[ZI->IL!HD,GD?^@;^[6KT )@@G@@GD2^[!HD,H92^@'^[(H14G($G(2^@;@K@[@[^@)^@1B@0 0)^@)^@)^@)^@)^@)^@)^@)^@)KU )@@G@@^@)I1-IK)I-\HT>H1ZI[\HD,I->IK)BK)I-ZHD,I[5I-ZH->H1$I-* C) ))@H@[@[^@)^@1KV )@@G@@B@1 0)^@)^@)I[2H9IL2F9<^@'^[F94G(!I@*I)'HD,I->G9>IK( ))@F@[@[^@)^@1B@5 0)^@)^@)KZ )@@G@@G15H1G9>IK) ))^@)@N@[@[^@)^@1B@6 0)^@)^@)LA )@@G@@I[2H9ILZGT\H13I)*GT\H13I-ZI1-H)'HD,I->G9>IK;I1-IK)GTZH9&LB )@@G@@G13G(4BL(H14G($G(2 C?^@)@N@[@[^@)^@1B@7 0)^@)^@)I[2H9ILZLC )@@G@@GTZIT4IL(H1$ [6GD2^[3BL,H9$H9ZIT4IL(H1$F90I);I1-IK)H)'HD,I->G9>IK( ))^@)LD )@@G@@@P@[@[^@)^@1B@8 0)^@)^@)I[2H9H(ZIT*HD&I)*I-\HT>H0?H((H1\IK'LE )@@G@@HD,I->G9>IK)BS)I-\HT>H1ZI[\HD,I->IK'I-ZHD,I[5I-ZH->H1$I-* C?@D@[@[^@)^@1LF )@@G@@B@9 0)^@)^@)I[2H9IL!F9!I(?I-\I[ZG1-GT4H92 ))^@)@E@[@[^@)^@1BC2 0)^@)^@)LI )@@G@@I[2H9J[0ILZI[?I(3H90F94G(2H*?@C@[@[^@)^@1BC3 0)^@)^@)I[2H9H-\I@?^@)@[@[@[^@)^@1(C@@@[BC5 0)^@)^@)I[2H9J[0ILZH92 ))@J@[@[^@)^@1BC9 0)^@)^@)I[2H9H1>ILZLO )@@G@@HD,IT4IK*H90GT\G-> -2G($ -+F92G($ -=HD3I[? C?^@)@M@[@[^@)^@2A@0 0)^@)^@)LP )@@G@@I[2H9H14IL9F90I);^[=G(3I))LQ )@@G@@BK)HD,I->G9>IK( ))@C@[@[^@)^@2A@1 0)^@)^@)I[2H9J[(I-ZHD= -H))IL>LY )@@G@@I-5IL,^@;^@)@]@[@[^@)^@)^@9 0)@^@[@[^@)^@)AC0 0)^@)^@)I1-IK)@E@[@[^@)^@)LZ )@@G@@AC1 0)^@)^@)^@)H))BK)F1?GD+G(?F93I--GT:F9,H9=G*)BS)^@)@C@[@[^@)^@)AC2 0)MA )@@G@@^@)^@)^@)IT4IK)BK)IL>ITZI9\IL=^@;^@)@A@[@[^@)^@)AC3 0)^@)^@)^@)GS)BK)GT*MB )@@G@@GD2^@;@E@[@[^@)^@)AC4 0)^@)^@)^@)I@)BK)GT\H13I--H14F9>H14IL9F90I))BS)^@)MC )@@G@@@]@[@[^@)^@)AC5 0)@ @[@[^@)^@)AC6 0)^@)^@)GL>G9(H0)^@)@]@[@[^@)^@)AC7 0)MD )@@G@@(F@@@[^@)^@)^@)IT4IK)BK.^[3G(!F93I--GT:FT3G(!F93I--GT:F94H90F*,HD=F9&^@;ME )@@G@@@D@[@[^@)^@)AC8 0)^@)^@)^@)IT>H(ZIT4GDJ[4^@.^[,HD? C)^@)@A@[@[^@)^@)AK4 0)^@)^@)^@)^@)^@)^@)MJ )@@G@@I-*G(,@B@[@[^@)^@)AK5 0)^@)^@)^@)^@)^@)^@)^@)^[+G($HD,@E@[@[^@)^@)AK6 0)MK )@@G@@^@)^@)^@)^@)^@)^@)^@)^[>IL2H9ZI[2H9< [< C)BS)^@)@M@[@[^@)^@)AK7 0)^@)^@)ML )@@G@@^@)^@)^@)^@)^@)^[7IL(I->H-, [=HD-G9,F9&HD?G*?^8*^8?GS?^8(^@% K%^[>IL2H92MM )@@G@@^@'^[?GD+G(?^@$ ))@O@[@[^@)^@)AK8 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^[3I-2MN )@@G@@ )$^[&H92^[ F[DE))G-\G(3^[,H94^[>J[(IT4^[7HD4H[(H0)HD,H1>IL!H93I))^8?^@)MO )@@G@@@F@[@[^@)^@)AK9 0)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@)^@$I[2H9I-5MR )@@G@@IL,^@;@B@[@[^@)^@)AS2 0)^@)^@)^@)^@)^@)^@)^@)^[>H1=^@;@C@[@[^@)^@)AS3 0)MS )@@G@@^@)^@)^@)^@)^[?^@'B*)H-Y 1,G(8I))BS)@D@[@[^@)^@)AS4 0)^@)^@)^@)^@)^[>H1=MT )@@G@@^@;^@)JS)H9&^[7H[(H->^[.@]@[@[^@)^@)AS5 0)@A@[@[^@)^@)AS6 0)^@)^@)^@)H1>MU )@@G@@I8*I@(^@;^@)@E@[@[^@)^@)AS7 0)^@)^@)^@)I[Y 1,G(8I))BK.^[?F0,G(8HD4F9(H1&MV )@@G@@^@;^@)@A@[@[^@)^@)AS8 0)^@)^@)^@)I[Y 1>H14IL9^@'( @@@[B*)I[2H9$IL-H(ZGT\MW )@@G@@I(,I->IK)BS)@E@[@[^@)^@)AS9 0)^@)^@)^@)G9>H1>ILZHD,IT4IK*D9KCTZCK?A@?A@?MX )@@G@@A@(^@;@C@[@[^@)^@)A)0 0)^@)^@)^@)H-Y 1>J[(I-ZHD,G0)BK.^[0^@;@]@[@[^@)^@)MY )@@G@@A)1 0)@B@[@[^@)^@)A)2 0)^@)^@)IL>I-5IL,BK)G(,G))BS)^@)@]@[@[^@)^@)A)3 0)MZ )@@G@@@]@[@[^@)^@)A)4 0)@]@[@[^@)^@)A)5 0)@G@[@[^@)^@)A)6 0)^@)^@)^@)^@)^@)^@)NA )@@G@@^@)^[;^@/ETOB0)BK'B*)CTJD1ODDIE( ^[DC))J*)@]@[@[^@)^@)A)7 0)@D@[@[^@)^@)NB )@@G@@A)8 0)^@)^@)I[2H9F9(G))BS)@]@[@[^@)^@)A)9 0)@B@[@[NC )@@G@@^@)^@)A*0 0)^@)^@)H--GL>H))IL>I-5IL,^@;^@)@]@[@[^@)^@)A*1 0)@^@[@[^@)^@)ND )@@G@@A*2 0)^@)^@)I1-IK)@E@[@[^@)^@)A*3 0)^@)^@)^@)H))BK)F1?GD+G(?F93I--GT:F9,NE )@@G@@H9=G*)BS)^@)@C@[@[^@)^@)A*4 0)^@)^@)^@)IT4IK)BK)IL>ITZI9\IL=^@;^@)@A@[@[NF )@@G@@^@)^@)A*5 0)^@)^@)^@)GS)BK)GT*GD2^@;@E@[@[^@)^@)A*6 0)^@)^@)^@)I@)BK)GT\NG )@@G@@H13I--H14F9>H14IL9F90I))BS)^@)@]@[@[^@)^@)A*7 0)@ @[@[^@)^@)A*8 0)^@)^@)NH )@@G@@GL>G9(H0)^@)@H@[@[^@)^@)A*9 0)^@)^@)^@)IT4IK)BK.^[3G(!F93I--GT:FT3G(!F93NI )@@G@@I--GT:F94H90F*,HD=F9&^@;@D@[@[^@)^@)A00 0)^@)^@)^@)IT>H(ZIT4GDJ[4^@.^[,HD? C)^@)@A@[@[^@)^@)NN )@@G@@A06 0)^@)^@)^@)^@)^@)^@)I-*G(,@B@[@[^@)^@)A07 0)^@)^@)^@)^@)^@)^@)^@)^[+NO )@@G@@G($HD,@]@[@[^@)^@)A08 0)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@NZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ON )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@OZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@PZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@QZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@RZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ST )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@SZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@TZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@US )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@UZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@VZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@WZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@XZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@YZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ZZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@AZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@BZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@CZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DD )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DR )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DS )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DT )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DV )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DW )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DX )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DY )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DZ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EA )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EB )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EC )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ED )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EF )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EG )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EH )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EJ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EK )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EL )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EM )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EO )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EP )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EQ )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ER )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ES )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ET )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EU )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[@@@@*SDFF*@F@@_@*. THIS ELEMENT SHOULD CONTAINEV )@@G@@ ALL LOCAL MODIFICATIONS TO @MFD. ___^[OD8)C[HC1^ 0)___@@[H@@^1279 ,BUFSIZ EQU DIRSIZ @^@@@@DEBUG EQFG )@@G@@U 0 @[@@@@. @A@@@@. INITIALIZE AND SET UP ADDTBL @[@@@@FH )@@G@@. @ @@@@DIR$ET* L,U A0,MCTPKT @^@@@@ ER MCT$FI )@@G@@@D@@@@ L,S1 A1,MCTPKT . GET STATUS @G@@@@ FJ )@@G@@ L,U A0,8 . SET FOR DIREC$ ERROR TYPE 8 @G@@@@FK )@@G@@ JNZ A1,OVFL+2 . IF STATUS NONZERO, ERROR OFF FL )@@G@@@F@@@@ L,T2 A0,MCTTBL+5 . GET MCT LEVEL INDICATOR FM )@@G@@@G@@@@ JZ A0,$+4 . IF NOT P1, SKIP THIS STUFN )@@G@@FF @F@@@@ L,U A0,03 . CHANGE MASKS ACCORFO )@@G@@DINGLY@B@@@@ S,S1 A0,MASK1 . @B@@@@ S,FP )@@G@@S1 A0,MASK2 . @A@@@@ L A0,*DIREC$+1 FQ )@@G@@@ @@@@ AN A0,*DIREC$@^@@@@ SSL A0,6@A@@@@FR )@@G@@ TG,U A0,BUFSIZ+1 @^@@@@ J OVFL@A@@@@FS )@@G@@ L A3,DIREC$+3 @ @@@@ L A0,*DIREC$FT )@@G@@@ @@@@ S A0,5,A3 @A@@@@ L A0,DIREC$+FU )@@G@@2 @ @@@@ LXI,U A0,27 @ @@@@ S A0,4FV )@@G@@,A3 @A@@@@ L A1,(1,ADDTBL) @^@@@@ LXI,U FW )@@G@@ A2,3@ @@@@LOOP L,U A0,0,A3 @^@@@@ ER IOW$FX )@@G@@@^@@@@ TZ,S1 3,A3@^@@@@ SLJ IOR @A@@@@ FY )@@G@@ LXM A2,DIREC$+2 @ @@@@DOIT L A0,0,*A2 @ @@@@FZ )@@G@@ JZ A0,DOIT @ @@@@ JP A0,$+4 @A@@@@GA )@@G@@ TE A0,DIREC$+7 @^@@@@ J DOIT@ @@@@GB )@@G@@ J NXTDAS @ @@@@ S A0,0,*A1 @ @@@@GC )@@G@@ L A0,5,A3 @ @@@@ A,U A0,64 @ @@@@GD )@@G@@ S A0,5,A3 @^@@@@ J DOIT@ @@@@NXTDASGE )@@G@@ L A0,5,A3 @A@@@@ TLE A0,*DIREC$+1 @^@@@@GF )@@G@@ J LOOP@ @@@@ L,U A0,0,A1 @ @@@@ GG )@@G@@ AN,U A0,ADDTBL @ @@@@ S A0,ADDL @ @@@@ GH )@@G@@ L,U A0,28 @ @@@@ S,H1 A0,4,A3 @^@@@@ GI )@@G@@ J 5,11@[@@@@. @C@@@@. CODE RIPPED OFF FROM @SECURE ELEMEGJ )@@G@@NT DIRECT @[@@@@. @ @@@@DIRLNK* S R1,SAVE @ @@@@ GK )@@G@@ DO DEBUG>0 , SLJ TON$ @^@@@@ TZ ADDL@ @@@@ TNGL )@@G@@Z *DIREC$ @ @@@@ J NOTINT @ @@@@ S GM )@@G@@ R2,SAVE+1 @ @@@@ S X4,SAVE+2 @ @@@@ L GN )@@G@@ A0,*3,X11 @ @@@@ JZ A0,ADDCN3 @ @@@@ L GO )@@G@@ A1,A0 @ @@@@ SSL A1,24 @ @@@@ ANGP )@@G@@D,U A1,0377 @D@@@@ TEP,U A2,0200 . PHASE 3 GQ )@@G@@DISC? @ @@@@ J ADDCN1 @ @@@@ L,U A1,MGR )@@G@@CTTBL @E@@@@MCTI L,T2 A3,8,A1 . GET HEADER LENGTH GS )@@G@@@F@@@@ TZ,T2 MCTTBL+5 . EXEC LEVEL 30 OR HIGHER?GT )@@G@@@G@@@@ L,T2 A3,6,A1 . YES, GET IT FROM ELSEWHEGU )@@G@@RE @F@@@@ A A1,A3 . POINT TO PROPER PLGV )@@G@@ACE @ @@@@ A A1,A2 @ @@@@ L,T3 A2,0GW )@@G@@,A1 @ @@@@ A,U A2,MCTTBL @ @@@@ L,S1 A3,0GX )@@G@@,A2 @ @@@@ TG,U A3,030 @ @@@@ J ADDCGY )@@G@@N1 @ @@@@ LXM,U X4,ADDTBL @^@@@@ LXI,U X4,1GZ )@@G@@@ @@@@ADDCN0 L A1,0,*X4 @ @@@@ AND A1,MASK1 HA )@@G@@@^@@@@ AN,U A2,1@ @@@@ AU,U A2,1792 @ @@@@HB )@@G@@ AND A0,MASK1 @ @@@@ TNW A2,A1 @^@@@@HC )@@G@@ J $+7 @ @@@@ADDCN4 L A3,ADDL @ @@@@ HD )@@G@@ A,U A3,ADDTBL @^@@@@ A,U A3,1@ @@@@ TNHE )@@G@@E,U A3,0,X4 @ @@@@ J ADDCN3 @ @@@@ J HF )@@G@@ ADDCN0 @ @@@@ L,U A3,0,X4 @^@@@@ ANHG )@@G@@,U A3,1@^@@@@ A,U A2,1@ @@@@ AN A1,AHH )@@G@@2 @^@@@@ TN 0,A3@^@@@@ J $+4 @A@@@@HI )@@G@@ AND A0,(0777777) @ @@@@ AN,H2 A1,0,A3 HJ )@@G@@@ @@@@ JN A1,ADDCN4 @^@@@@ SZ A0 @ @@@@HK )@@G@@ DI,U A0,034 @ @@@@ JNZ A1,ADDCN3 @ @@@@HL )@@G@@ S A0,A1 @ @@@@ J ADDCN2 @ @@@@HM )@@G@@ADDCN1 LXM,U X4,ADDTBL @^@@@@ LXI,U X4,1@ @@@@ HN )@@G@@ L A2,ADDL @ @@@@ S A2,R1 @ @@@@ HO )@@G@@ L R2,MASK2 @ @@@@ MSE A0,0,*X4 @ @@@@ HP )@@G@@ J ADDCN3 @ @@@@ L R1,SAVE @ @@@@ HQ )@@G@@ L R2,SAVE+1 @A@@@@ AND A0,(0777777) @ @@@@HR )@@G@@ L,U A3,0,X4 @^@@@@ AN,U A3,1@ @@@@ HS )@@G@@ AN,H2 A1,0,A3 @ @@@@ S A1,A0 @ @@@@ADDCN2HT )@@G@@ AN,U A3,ADDTBL @ @@@@ L X4,SAVE+2 @A@@@@ HU )@@G@@ A A3,*DIREC$+4 @^@@@@ LSSL A3,6@ @@@@ HV )@@G@@ A A0,A3 @A@@@@ L A3,DIREC$+3 @ @@@@HW )@@G@@ S A0,5,A3 @ @@@@ L A2,*DIREC$@^@@@@HX )@@G@@ AN,U A2,1@^@@@@ SSL A2,6@^@@@@ SSHY )@@G@@L A0,6@ @@@@ TNE A0,A2 @^@@@@ J HZ )@@G@@ BT @ @@@@ L A0,2,X11 @ @@@@ LXI,U A0,2IA )@@G@@8 @ @@@@ S A0,4,A3 @ @@@@ L,U A0,0IB )@@G@@,A3 @^@@@@ ER IOW$@^@@@@ TZ,S1 3,A3@^@@@@IC )@@G@@ SLJ IOR @ @@@@ DO DEBUG>0 , SLJ TOFF$ @ @@@@ ID )@@G@@ J 5,X11 @ @@@@ DO DEBUG>0 ,KILL* SLJ TOFF$ @^@@@@ DO DIE )@@G@@EBUG>0 , J 1,11 @ @@@@BT MSI,U A1,034 @A@@@@ A IF )@@G@@ A1,DIREC$+8 @^@@@@ LXI,U A1,1@ @@@@ L IG )@@G@@ A0,2,X11 @^@@@@ LXI,U A0,1@ @@@@ L,U IH )@@G@@ R1,28 @ @@@@ BT A0,0,*A1 @ @@@@ J II )@@G@@ 5,X11 @^@@@@OVFL L,U A0,6@ @@@@ L,U A1,DIJ )@@G@@IRSIZ @ @@@@ DS A0,*1,X11 @ @@@@ J *0,XIK )@@G@@11 @^@@@@ADDCN3 L,U A0,7@ @@@@ L A1,*3,X11 IL )@@G@@@ @@@@ L X4,SAVE+2 @ @@@@ DS A0,*1,X11 IM )@@G@@@ @@@@ DO DEBUG>0 , SLJ TOFF$ @ @@@@ J *0,X11 IN )@@G@@@^@@@@IOR J 0 @^@@@@ L,U A0,2@A@@@@ IO )@@G@@ L A1,DIREC$+3 @ @@@@ L A1,3,A1 @ @@@@IP )@@G@@ DS A0,*1,11 @ @@@@ J *0,11 @^@@@@IQ )@@G@@NOTINT L,U A0,5@^@@@@ SZ A1 @ @@@@ DSIR )@@G@@ A0,*1,11 @ @@@@ J *0,11 @[@@@@$(0) @ @@@@IS )@@G@@MCTPKT + MCTTBL @^@@@@ADDL + 0 @#@@@@DGET$BIT )@@G@@UF2* . @ @@@@ADDTBL RES BUFSIZ @^@@@@MCTTBL RES IU )@@G@@ 512 @^@@@@SAVE + 0 @^@@@@ + 0 @^@@@@IV )@@G@@ + 0 @A@@@@MASK1 + 017777777777 @A@@@@IW )@@G@@MASK2 + 017777777700 @#@@@@ END ___ J IX )@@G@@ ADDCN2 @ @@@@ADDCN1 LXM,U X4,A*[@@@@*SDFF*@#@@@@$(1) IY )@@G@@ AXR$ @[@@@@. @F@@@@. DYNAMIC SEGMENT MCORE ROUTINE - CHUNK OFIZ )@@G@@ 'DLOAD$' RLIB$ ELEMENT @[@@@@. @G@@@@DSEG* LSSL A1,2 JA )@@G@@ . CONVERT SEGID TO SLT INDEX @F@@@@ A,U A1,SJB )@@G@@LT$ . GET ADDR OF SLT ENTRY @G@@@@ L,S2 A0,,JC )@@G@@A1 . TEST IF SEG DEFINED AS DSEG @B@@@@ TE,U JD )@@G@@ A0,011 . @B@@@@ TNE,U A0,010 . JE )@@G@@@F@@@@ J $+2 . IS A DSEG - CONTINUE JF )@@G@@@#@@[@ NOP @F[@@@ L,H1 A0,1,A1 . JG )@@G@@LOAD IBANK ADDR NEEDED @H@@@@ L,S2 A2,SLT$ . JH )@@G@@DETERMINE IF SLT FORMAT COMPLEX @B@@@@ TNE,U A2,022 JI )@@G@@ . @E@@@@ J DLOAD0 . IF COMPLEX, JJ )@@G@@DLOAD0@F@@@@ JZ A0,$+3 . CHECK FOR VOID SEGJK )@@G@@MENT @G@@@@ A A0,(1*/34) . SET PROGRAM-WIDE BJL )@@G@@IT FOR MCORE@D@@@@ ER MCORE$ . EXPAND IBANKJM )@@G@@@F@@@@ L,H1 A0,2,A1 . LOAD DBANK ADDR NEEDED JN )@@G@@@E@@@@ JZ A0,DLOAD2 . CHECK FOR VOID SEG@E@@@@JO )@@G@@ A A0,(1*/34) . SET PGM-WIDE BIT @D@@@@ JP )@@G@@ ER MCORE$ . EXPAND DBANK@D@@@@ J JQ )@@G@@ DLOAD2 . CONTINUE @G@@@@DLOAD0 L A2,A1 JR )@@G@@ . SAVE INITIAL SLT ENTRY ADDR @E@@@@DLOAD1 JZ A0,$JS )@@G@@+4 . CHECK FOR VOID SEG@F@@@@ LXI,T1 A0,2,A2 JT )@@G@@ . LOAD BDI FOR THIS BANK @E@@@@ A A0,(1*/34)JU )@@G@@ . SET PGM-WIDE BIT @D@@@@ ER MCORE$ JV )@@G@@ . EXPAND BANK @G@@@@ L,H2 A2,2,A2 . LOAD LJW )@@G@@INK TO NEXT EXTENSION @G@@@@ JZ A2,DLOAD2 . JX )@@G@@JUMP IF ALL EXTENSIONS DONE @F@@@@ A,U A2,SLT$ JY )@@G@@ . COMPUTE EXTENSION ADDR @F@@@@ L,H2 A0,1,A2 JZ )@@G@@ . LOAD BANK ADDR NEEDED @F@@@@ J DLOAD1 KA )@@G@@ . CONTINUE EXPANSION LOOP @F@@@@DLOAD2 L,U A2,024 KB )@@G@@ . MARK SEG AS OVERLAY SEG @B@@@@ S,S2 A2,,A1 KC )@@G@@ . @C@@@@ J 0,X11 . RETURN@#@@@@ KD )@@G@@ END ___@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@KE )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[@@@@*SDFF*@]@@@@SEG MAIN @ @@@@IN MFD,DSEKF )@@G@@G,EDIT$,EDIT$T @#@@@@SEG IN1SG,(MAIN) @^@@@@IN INIT1,INFOR$,ID KG )@@G@@@#@@@@SEG IN2SG,(MAIN) @]@@@@IN INIT2 @^@@@@SEG CHEKPRTSG,(MAIN) KH )@@G@@@#@@@@IN CHECK,PRINT @#@@@@SEG PR2SG,(MAIN) @]@@@@IN PRINT2 @#@@@@KI )@@G@@SEG TOTSEG,(MAIN)@]@@@@IN TOTALS @A@@@@SEG QFSEG,(CHEKPRTSG,TOTSEG,PKJ )@@G@@R2SG) @]@@@@IN QF @A@@@@DSEG DIRSEG,(CHEKPRTSG,TOTSEG,PR2SG)@ @@@@KK )@@G@@IN DIREC$,DIRLNK,DIRERR @#@@@@DSEG SDFOSG,() @#@@@@IN WOUT,SDKL )@@G@@FO @#@@@@DSEG SORTSG,() @B@@@@IN SORTER,PRATTS,BKEYS,RDFM$,PCOREKM )@@G@@,REBD$@^@@@@IN KRFIND,BCONSG,SORTF@[@@@@END ___ -^DDMC(MEK)^@)@^@@@@KN )@@G@@C-NC(B^[NC-AD9NC8? @(^@)@^@@@@DDI^@)^[RD9PE)?ET^*[@@@@*SDFF*@]@@@@IBANK,KO )@@G@@M IB1@[@@@@$EVEN @]@@@@SEG MAIN @A@@@@IN MFD,DSEG,EDIT$($ALL),EDITKP )@@G@@$T @#@@@@SEG IN1SG,(MAIN) @^@@@@IN INIT1,INFOR$,ID @#@@@@SEG IKQ )@@G@@N2SG,(MAIN) @]@@@@IN INIT2 @^@@@@SEG CHEKPRTSG,(MAIN) @#@@@@IN CKR )@@G@@HECK,PRINT @#@@@@SEG PR2SG,(MAIN) @]@@@@IN PRINT2 @#@@@@SEG TOTSEG,KS )@@G@@(MAIN)@]@@@@IN TOTALS @A@@@@SEG QFSEG,(CHEKPRTSG,TOTSEG,PR2SG) @]@@@@KT )@@G@@IN QF @A@@@@DSEG DIRSEG,(CHEKPRTSG,TOTSEG,PR2SG)@ @@@@IN DIREC$,KU )@@G@@DIRLNK,DIRERR @#@@@@DSEG SDFOSG,() @#@@@@IN WOUT,SDFO @#@@@@KV )@@G@@DSEG SORTSG,() @B@@@@IN SORTER,PRATTS,BKEYS,RDFM$,PCORE,REBD$@^@@@@KW )@@G@@IN KRFIND,BCONSG,SORTF@#@@@@DBANK,MC DB1 @[@@@@$ODD @]@@@@SEG MKX )@@G@@AIN @^@@@@IN MFD,DSEG,EDIT$T @#@@@@SEG IN1SG,(MAIN) @#@@@@IN IKY )@@G@@NIT1,INFOR$ @#@@@@SEG IN2SG,(MAIN) @]@@@@IN INIT2 @^@@@@SEG CHEKPRTKZ )@@G@@SG,(MAIN) @#@@@@IN CHECK,PRINT @#@@@@SEG PR2SG,(MAIN) @]@@@@IN PLA )@@G@@RINT2 @#@@@@SEG TOTSEG,(MAIN)@]@@@@IN TOTALS @A@@@@SEG QFSEG,(CHEKPRLB )@@G@@TSG,TOTSEG,PR2SG) @]@@@@IN QF @A@@@@DSEG DIRSEG,(CHEKPRTSG,TOTSEG,LC )@@G@@PR2SG)@ @@@@IN DIREC$,DIRLNK,DIRERR @#@@@@DSEG SDFOSG,() @#@@@@LD )@@G@@IN WOUT,SDFO @#@@@@DSEG SORTSG,() @B@@@@IN SORTER,PRATTS,BKEYSLE )@@G@@,RDFM$,PCORE,REBD$@^@@@@IN KRFIND,BCONSG,SORTF@[@@@@END ___@@@ET C8)LF )@@G@@^[OD9OET C8? [HCDDD0(^@)@#@@@@DDI^@)^[OD9OCDGES)@D@@@@ET C8)^[LC1NC(B )*LG )@@G@@CTCC(FE[ME-NC8?E-JE-NC(B*[@@@@*SDFF*@#@@@@$(1) LIT. @#@@@@ LH )@@G@@ AXR$ @H@@@@ CONFIG . DEFINE CONFILI )@@G@@GURATION PARAMETERS @D@@@@ EQUFS . LJ )@@G@@DEFINE TAGS @E@@@@ERRMSG 'MFD ERROR TYPE & CODE &' . DIREC$ ERRORLK )@@G@@ MSG @^@@@@. DIREC$ ERROR ROUTINE @[@@@@. @G@@@@DIRECERR* LXI LL )@@G@@ X11,X11 . SAVE RETURN ADDR IN UPPER X11 @E@@@@ LALM )@@G@@ A0,ECODE . GET ERROR TYPE @D@@@@ TE,U LN )@@G@@ A0,3 . DIRSEC EOF? @C@@_@ J ERR100 LO )@@G@@ . NO @ @@@@ ON SORTOK @E@@@@ TZLP )@@G@@ SORT . SORT DESIRED? @D@@@@ J LQ )@@G@@ DOSORT . YES, DO IT @ @@@@ OFF SORTOK LR )@@G@@@E@@_@ J MFD600 . NO, FINISH UP @D@@_@LS )@@G@@ERR100 E$DIT EDPACK . OPEN EDIT @E@@@@ E$LT )@@G@@MSG ERRMSG . EDIT START OF MSG @E@@@@ E$DECV LU )@@G@@ ECODE . EDIT ERROR TYPE @F@@@@ TNZ ECODLV )@@G@@E+1 . ERROR CODE PRESENT? @E@@_@ J ERR2LW )@@G@@00 . NO, PRINT MSG @D@@@@ E$MSGR LX )@@G@@ . CONTINUE MSG@E@@@@ E$OCTF 12,ECODE+1 . LY )@@G@@EDIT ERROR CODE @D@@_@ERR200 P$RINT POUT . PRINT LZ )@@G@@MSG @D@@@@ L A0,X11 . GET X11 @G@@@@MA )@@G@@ SSL A0,18 . ISOLATE DIRECERR RTN SAVE MB )@@G@@@E@@@@ LXI,U X11,0 . PREVENT LOOPS @B@@@@MC )@@G@@ AN,U A0,LNKRTN . @G@@@@ SR R15,MD )@@G@@BMI1 . MARK AS BAD MAIN ITEM SEC 1 @G@@@@ JZ ME )@@G@@ A0,CHK220 . TO 'MIJP' IF FROM 'GOLINK' @D@@_@ J MF )@@G@@ MFD700 . ELSE EXIT @#@@@@ END ___E[MMG )@@G@@*[@@@@*SDFF*@]@@@@LEVEL* . @#@@@@ '6.4' @#@@@@ ENMH )@@G@@D ___@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@MI )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@*[@@@@*SDFF*@#@@_@@ASM MFD,MFD @[@@_@-3,3 MJ )@@G@@@^@@_@FLAP EQU 1 @^@@_@@MAP,BN MAP,MFD/FLAP @[@@_@@EOF MK )@@G@@___@_@C[HCDK -]D0)^[HCDK -HC1^ 9AD-[E@)^@)@[@@_@*[@@@@*SDFF*@^@@_@. @MFDML )@@G@@ PRINT2 ROUTINE @[@@_@ @G@@_@. CALLED BY PRINT ROUTINE IF ADDITIOMM )@@G@@NAL LINES ARE NEEDED FOR MULTIPLE @E@@_@. TAPE REELS, DISC PACKS, AND/MN )@@G@@OR SECURE BACKUPS. ALSO EDITS@G@@_@. LAPSE ENTRIES AND EXTRA INFORMATIOMO )@@G@@N PROVIDED BY FITEM$ WHEN THE 'QF' @^@@_@. OPTIONS ARE USED. @[@@@@MP )@@G@@. @#@@@@ AXR$ @H@@@@ CONFIG MQ )@@G@@ . DEFINE CONFIGURATION PARAMETERS @D@@@@ EQUFS MR )@@G@@ . DEFINE TAGS @E@@@@MI2 RES 28 MS )@@G@@ . MI 2-N BUFFER @^@@@@LINK RES 1 @#@@@@MORE 'MMT )@@G@@ORE &'@^@@_@PACKS 'PACKS:&' @^@@@@REELS 'REELS:&' @^@@@@MU )@@G@@BAKS 'BACKUPS:&' @B@@@@LAPS 'LAPSE FROM & AT & TO & AT &' MV )@@G@@@E@@@@TAP1 'UNIT: & REELS: & INDEX: & CURRENT: & NEXT: &'@B@@@@MW )@@G@@TAP2 'NOISE: &FILES EXTENDED: &' @ @@@@TAP3 'BLOCKS EXTENDMX )@@G@@ED: &'@^@@@@COL1 EQU 5 @^@@@@COL2 EQU 19 @^@@@@MY )@@G@@COL3 EQU 124 @^@@@@COL4 EQU 64 @^@@@@PAKBIT EQMZ )@@G@@U 040 @^@@@@BAKBIT EQU 020 @^@@@@LPSBIT EQU 010 NA )@@G@@@#@@_@/$(1),PMORE* . @[@@@@. @A@@@@. HANDLE EXTRA TAPE REELS FIRSNB )@@G@@T @[@@@@. @G@@@@ LA A8,NTP . GET NUNC )@@G@@MBER OF EXTRA REELS @F@@@@ JZ A8,PM200 . ND )@@G@@IF NONE, SKIP TO PACKS @D@@@@ E$DIT EDPACK . NE )@@G@@OPEN EDIT @D@@@@ E$COL COL1 . POSITION NF )@@G@@@C@@@@ E$MSG MORE . 'MORE'@D@@@@ E$NG )@@G@@MSG REELS . 'REELS:' @D@@@@ E$COL COL2NH )@@G@@ . POSITION @E@@@@ E$FD1 MI0+27 NI )@@G@@ . EDIT SECOND REEL @E@@@@ AN,U A8,1 . NJ )@@G@@ONE LESS TO DO @F@@@@ JZ A8,PM110 . PRINT NK )@@G@@IF THAT'S ALL @F@@@@ LA,U A0,MI0 . FIRST NL )@@G@@LINK WORD ADDR @B@@@@ J $+2 . @F@@@@NM )@@G@@PM100 LA,U A0,MI2 . GET NEXT LINK WORD ADDR @E@@@@NN )@@G@@ LMJ X10,GETNXT . GET NEXT SECTOR @E@@@@ NO )@@G@@ J PM110 . NO MORE, SO PRINT @G@@@@ LXNP )@@G@@ X4,(1,2) . GET SECTOR INDEX AND INCREMENT@F@@@@ NQ )@@G@@ LXI,U X10,26 . WORD LIMIT IN SECTOR @E@@@@ NR )@@G@@ LMJ X10,EDSUB . FORM PRINT LINES @F@@@@ J NS )@@G@@ PM100 . NEED ANOTHER SECTOR @E@@@@PM110 P$NT )@@G@@RINT POUT . PRINT THE LINE @ @@@@. NOW DO REMOVABLENU )@@G@@ DISC PACKS @[@@@@. @G@@@@PM200 LA A8,NRP . NV )@@G@@GET NUMBER OF EXTRA PACKS @G@@@@ JZ A8,PM300 NW )@@G@@ . IF NONE, GO ON TO BACKUPS @D@@@@ E$DIT EDPACK NX )@@G@@ . OPEN EDIT @D@@@@ E$COL COL1 . NY )@@G@@POSITION @C@@@@ E$MSG MORE . 'MORE'@D@@@@NZ )@@G@@ E$MSG PACKS . 'PACKS:' @D@@@@ E$OA )@@G@@COL COL2 . POSITION @E@@@@ TNZ TEMPOB )@@G@@ . TEMPORARY FILE? @F@@@@ J PM208 OC )@@G@@ . NO, HANDLE NORMALLY @G@@@@ E$FD1 MI1+19 OD )@@G@@ . YES, QF SETS UP 1-WRD ENTRIES @H@@@@ LX X4,(OE )@@G@@1,20) . SET INDEX AND INC FOR PACKS 3-10 @D@@@@ J OF )@@G@@ PM210 . CONTINUE @E@@_@PM208 E$FD1 MI1+OG )@@G@@20 . EDIT SECOND PACKID@H@@@@ LX X4,(2,22) OH )@@G@@ . SET INDEX AND INC FOR PACKS 3-5 @E@@@@PM210 AN,U OI )@@G@@ A8,1 . ONE LESS PACK @G@@@@ JZ A8,POJ )@@G@@M230 . IF NO MORE, JUST PRINT LINE @F@@@@ E$CHAR OK )@@G@@ ',' . OTHERWISE, EDIT COMMA @D@@@@ E$SKIP OL )@@G@@ 1 . POSITION @E@@@@ E$FD1 MI1,X4 OM )@@G@@ . EDIT NEXT PACKID @F@@@@ L,U A0,26 ON )@@G@@ . ASSUME 5 2-WORD ENTRIES @E@@@@ TZ TEMP OO )@@G@@ . TEMPORARY FILE? @F@@@@ L,U A0,27 . OP )@@G@@YES, 10 1-WORD ENTRIES @F@@@@ TLEM X4,A0 . OQ )@@G@@ANY MORE IN THIS SECTOR?@E@@@@ J PM210 . OR )@@G@@YES, GO GET THEM @H@@@@ AN,U A8,1 . NO MOROS )@@G@@E THIS SECOTR...ONE LESS TO DO@F@@@@ JZ A8,PM230 OT )@@G@@ . IF NO MORE, PRINT LINE @F@@@@ LA,U A0,MI1 OU )@@G@@ . FIRST LINK WORD ADDR @B@@@@ J $+2 OV )@@G@@ . @F@@@@PM220 LA,U A0,MI2 . NEXT LINK WORD ADDOW )@@G@@R @E@@@@ LMJ X10,GETNXT . GET NEXT SECTOR OX )@@G@@@F@@@@ J PM230 . NO MORE, PRINT LINE OY )@@G@@@F@@@@ LA,S1 A0,MI2+7 . GET DESCRIPTOR BITS OZ )@@G@@@F@@@@ TOP,U A0,PAKBIT . IS THIS A PACKID SECTOR?PA )@@G@@@F@@@@ J PM220 . NO, TRY NEXT SECTOR PB )@@G@@@F@@@@ LX X4,(2,8) . GET SECTOR INDEX AND INCPC )@@G@@@E@@@@ LXI,U X10,26 . SECTOR WORD LIMIT @E@@@@PD )@@G@@ LMJ X10,EDSUB . FORM PRINT LINES @E@@@@ PE )@@G@@ J PM220 . NEED NEXT SECTOR @D@@@@PM230 P$PF )@@G@@RINT POUT . PRINT LINE @ @@@@. NOW FOR EXTRA BACKUP RPG )@@G@@EELS @[@@@@. @G@@@@PM300 LA A8,NSB . GET NUPH )@@G@@MBER OF EXTRA BACKUPS @E@@@@ JZ A8,PM400 . PI )@@G@@IF NONE, GO ON @D@@@@ E$DIT EDPACK . OPEN EPJ )@@G@@DIT @D@@@@ E$COL COL1 . POSITION @C@@@@PK )@@G@@ E$MSG MORE . 'MORE'@D@@@@ E$MSG PL )@@G@@ BAKS . 'BACKUPS:' @D@@@@ E$COL COL2 PM )@@G@@ . POSITION @F@@@@ E$FD1 MI1+12 . PN )@@G@@EDIT SECOND BACKUP REEL @E@@@@ AN,U A8,1 . PO )@@G@@ONE LESS TO DO @F@@@@ JZ A8,PM320 . IF NO PP )@@G@@MORE, PRINT LINE @F@@@@ LA,U A0,MI1 . FIRST PQ )@@G@@LINK WORD ADDR @B@@@@ J $+2 . @E@@@@PR )@@G@@PM310 LA,U A0,MI2 . NEXT LINK ADDR @E@@@@ PS )@@G@@ LMJ X10,GETNXT . GET NEXT SECTOR @G@@@@ J PT )@@G@@ PM320 . NO MORE SECTORS, SO PRINT @F@@@@ PU )@@G@@ LA,S1 A0,MI2+7 . GET DESCRIPTOR BITS @F@@@@ PV )@@G@@ TOP,U A0,BAKBIT . IS THIS A BACKUP SECTOR?@F@@@@ PW )@@G@@ J PM310 . NO, GET NEXT SECTOR @F@@@@ PX )@@G@@ LX X4,(1,8) . GET SECTOR INDEX AND INC@E@@@@ PY )@@G@@ LXI,U X10,27 . SECTOR WORD LIMIT @E@@@@ LMPZ )@@G@@J X10,EDSUB . FORM PRINT LINES @E@@@@ J QA )@@G@@ PM310 . NEED NEXT SECTOR @^@@@@PM320 P$RINT POUTQB )@@G@@@#@@@@. LAPSE EDITING @[@@@@. @G@@_@PM400 LA A8,NLPS QC )@@G@@ . GET NUMBER OF LAPSE ENTRIES @F@@@@ JZ A8,PQD )@@G@@M500 . IF NONE, WE'RE THROUGH @F@@@@ LX X4,(QE )@@G@@2,MI1+13) . GET MI1 INC AND INDEX @E@@@@PM410 LMJ X10,QF )@@G@@LPSED . EDIT LAPSE ENTRY @D@@@@ TLEM,U X4,MI1+15 QG )@@G@@ . THAT ALL? @E@@@@ J PM410 . QH )@@G@@NO, GET NEXT ONE @F@@@@ LA,U A0,MI1 . GET FIQI )@@G@@RST LINK ADDR @B@@@@ J $+2 . @E@@@@QJ )@@G@@PM420 LA,U A0,MI2 . GET NEXT LINK ADDR@E@@@@ QK )@@G@@ LMJ X10,GETNXT . GET NEXT SECTOR @E@@@@ J QL )@@G@@ PM500 . NO MORE, GO ON @E@@@@ LA,S1 QM )@@G@@ A0,MI2+7 . GET DESC BITS @E@@@@ TOP,U A0,LQN )@@G@@PSBIT . LAPSE ENTRIES? @F@@@@ J PM420 QO )@@G@@ . NO, TRY ANOTHER SECTOR @F@@@@ LX X4,(2,MI2+QP )@@G@@8) . SET MI2 INDEX AND INC @E@@@@PM430 LMJ X10,LPSED QQ )@@G@@ . EDIT LAPSE ENTRY @G@@@@ TLEM,U X4,MI2+26 QR )@@G@@ . FINISHED WITH THIS SECTOR? @G@@@@ J PM430 QS )@@G@@ . NOT YET, CONTINUE EDITING @F@@@@ J PM42QT )@@G@@0 . YES, GET NEXT SECTOR @[@@@@. @D@@@@LPSED E$QU )@@G@@DIT EDPACK . OPEN EDIT @D@@@@ E$COL COL1QV )@@G@@ . POSITION @D@@@@ E$MSG LAPS QW )@@G@@ . 'LAPSE FROM'@E@@@@ E$DAY1 0,X4 . EDIT SQX )@@G@@TART DATE @C@@@@ E$MSGR . 'AT' @E@@@@QY )@@G@@ E$TIME 0,X4 . EDIT START TIME @C@@@@ QZ )@@G@@ E$MSGR . 'TO' @E@@@@ E$DAY1 1,X4RA )@@G@@ . EDIT END DATE @C@@@@ E$MSGR RB )@@G@@ . 'AT' @D@@@@ E$TIME 1,X4 . END TIRC )@@G@@ME @D@@@@ P$RINT POUT . PRINT LINE @^@@@@RD )@@G@@ AN,U A8,1@F@@@@ JZ A8,PM500 . RE )@@G@@IF THAT'S ALL, STOP @C@@@@ J 0,X10 . RF )@@G@@RETURN@[@@@@. @G@@@@. ALL DONE, RETURN TO MAIN PRINT SEGMENT ...BURG )@@G@@T IF QF OPTIONS ARE @^@@@@. SET, FREE FILE FIRST @[@@@@. @E@@_@RH )@@G@@PM500 TZ QANDF2 . QF OPTIONS SET? @F@@@@ RI )@@G@@ TZ QFITEM . WITHOUT FITEM$ DONE? @C@@@@ RJ )@@G@@ J PM600 . NO @F@@@@ LA,U A0,'RK )@@G@@ ' . YES, HAVE TO FREE FILE. @G@@@@ TZ QFASRL )@@G@@G . ASG'D BY QF OPTIONS ONLY? @H@@@@ LA,U RM )@@G@@ A0,'R' . YES, DO @FREE,R INSTEAD OF @FREE,A @F@@@@ RN )@@G@@ SA,S2 A0,FREIM+1 . STORE CORRECT OPTION @D@@@@ RO )@@G@@ LA,U A0,FREIM . GET IMAGE @E@@@@ ER RP )@@G@@ CSF$ . FREE THE FILE @E@@@@ JZ A0,PRQ )@@G@@M600 . IF OK, THAT'S ALL @E@@@@ ER EABT$ RR )@@G@@ . SIGNIFY ERROR @]@@@@PM600 . @D@@@@ TZ RS )@@G@@ TAP . TAPE FILE? @E@@@@ TNZ QFITEM RT )@@G@@ . AND FITEM$ DONE @C@@_@ J PM900 RU )@@G@@ . NO @[@@@@. @F@@@@. FILE IS TAPE FILE, ASSIGNED BY THE USER.RV )@@G@@ WE CAN EDIT ADDITIONAL@D@@@@. INFORMATION ABOUT IT NOW, USING INFO FRORW )@@G@@M FITEM$. @[@@@@. @D@@@@ E$DIT EDPACK . RX )@@G@@OPEN EDIT @D@@@@ E$COL COL1 . POSITION RY )@@G@@@D@@@@ E$MSG TAP1 . 'TAPE IS ON'@E@@@@ RZ )@@G@@ E$DECV FITEM+9,,T1 . EDIT FIRST SS# @B@@@@ E$SA )@@G@@CHAR '/' . @D@@@@ E$DECV FITEM+9,,S3 SB )@@G@@ . UNIT #1 @E@@@@ LA,S3 A0,FITEM+6 . GET UNSC )@@G@@IT COUNT @D@@@@ TNE,U A0,1 . JUST ONE? SD )@@G@@@F@@@@ J PM610 . YES, SKIP SECOND ONE SE )@@G@@@B@@@@ E$CHAR ',' . @F@@@@ LA,H2 SF )@@G@@ A0,FITEM+9 . GET SECOND SUBSYSTEM # @E@@@@ SSL SG )@@G@@ A0,6 . GET RID OF UNIT # @D@@@@ E$DECV SH )@@G@@ . EDIT SS # @B@@@@ E$CHAR '/' SI )@@G@@ . @D@@@@ E$DECV FITEM+9,,S6 . EDIT UNIT # @E@@_@SJ )@@G@@PM610 E$MSGR . TOTAL REEL COUNT @D@@@@ SK )@@G@@ E$DECV FITEM+8,,S1 . EDIT COUNT @G@@@@ E$MSGR SL )@@G@@ . CONTINUE WITH 'REEL INDEX' @D@@@@ E$SM )@@G@@DECV FITEM+10,,S3 . EDIT INDEX @D@@@@ TNZ,S1 FITESN )@@G@@M+8 . ANY REELS? @C@@@@ J PM620 SO )@@G@@ . NO @F@@@@ TNZ FITEM+11 . CURRENT REELSP )@@G@@ THERE? @C@@@@ J PM620 . NO @E@@@@SQ )@@G@@ E$MSGR . CURRENT REEL= @E@@@@ SR )@@G@@ E$FD1 FITEM+11 . EDIT CURRENT REEL @D@@@@ TNSS )@@G@@Z FITEM+12 . ANOTHER ONE?@E@@@@ J PM62ST )@@G@@0 . NO, PRINT THIS ONE@F@@@@ E$MSGR SU )@@G@@ . YES, EDIT NEXT REEL= @D@@@@ E$FD1 FITEM+12 SV )@@G@@ . EDIT REEL @D@@@@PM620 P$RINT POUT . SW )@@G@@PRINT LINE @E@@@@ E$DIT EDPACK . START ANOTHESX )@@G@@R LINE@D@@@@ E$COL COL1 . POSITION @D@@@@SY )@@G@@ E$MSG TAP2 . EDIT 'NOISE'@F@@@@ E$SZ )@@G@@DECV FITEM+8,,S3 . EDIT NOISE CONSTANT @D@@@@ E$TA )@@G@@SKIP 2 . POSITION @E@@@@ LA,S1 A0,FTB )@@G@@ITEM+6 . GET EQUIP CODE @D@@@@ TG,U A0,011 TC )@@G@@ . U12/16/20? @B@@@@ TG,U A0,016 . TD )@@G@@@C@@@@ J PM630 . NO @E@@@@ E$TE )@@G@@MSGR . YES, EDIT MSG @F@@@@ E$DECV TF )@@G@@ FITEM+10,,S4 . EDIT FILES EXTENDED @D@@@@ E$SKIP TG )@@G@@ 2 . POSITION @D@@@@PM630 E$MSG TAP3 TH )@@G@@ . EDIT MSG @F@@@@ E$DECV FITEM+10,,T3 . TI )@@G@@EDIT BLOCKS EXTENDED @D@@@@ P$RINT POUT . TJ )@@G@@PRINT LINE @ @@_@. RETURN TO CHECK/PRINT SEG @[@@_@. @F@@_@PM900 TK )@@G@@ L$OAD CHEKPRTSG,PR600,1 . RETURN TO MAIN PRINT SEG@^@@_@/. EDTL )@@G@@ITING SUBROUTINE @[@@_@. @D@@@@EDSUB E$CHAR ',' TM )@@G@@ . EDIT A COMMA@G@@@@ E$SKIP 1 . AND SPTN )@@G@@ACE TO SEPARATE ITEMS @E@@@@ E$COLN . TO )@@G@@GET CURRENT COL @F@@@@ L,U A1,COL3 . ASSUMETP )@@G@@ BATCH, LONG LINE @D@@@@ TNZ A7 . DEMANDTQ )@@G@@? @E@@@@ L,U A1,COL4 . YES, SHORTER LINE TR )@@G@@@F@@@@ TLE A0,A1 . ROOM FOR ANOTHER ITEM? TS )@@G@@@C@@@@ J EDSUB2 . YES @F@@@@ P$TT )@@G@@RINT POUT . NO, PRINT THIS LINE @F@@@@ E$TU )@@G@@DIT EDPACK . AND START ANOTHER ONE @D@@@@ E$TV )@@G@@COL COL2 . POSITION @E@@@@EDSUB2 E$FD1 MI2,TW )@@G@@X4 . EDIT NEXT ITEM @E@@@@ AN,U A8,1 TX )@@G@@ . ONE LESS TO DO @G@@@@ JZ A8,1,X10 TY )@@G@@ . IF NO MORE, RETURN TO 1,X10 @G@@@@ LA A0,X10 TZ )@@G@@ . GET LIMIT AND RETURN ADDR @E@@@@ SSL A0,1UA )@@G@@8 . ISOLATE LIMIT @G@@@@ TLEM X4,A0 UB )@@G@@ . REACHED END OF THIS SECTOR? @E@@@@ J EDSUUC )@@G@@B . NO, KEEP GOING @F@@@@ J 0,X10 UD )@@G@@ . YES, RETURN TO 0,X10 @C@@_@/. SUBROUTINE TO READ UP NEXTUE )@@G@@ DIRECTORY ITEM @[@@_@. @F@@_@GETNXT TZ QANDF2 UF )@@G@@ . ARE QF OPTIONS SET? @H@@@@ J ITSQF UG )@@G@@ . YES, DO DREAD$ FOR DESIRED SECTOR @[@@_@. @D@@_@. QF OPTIONSUH )@@G@@ NOT SET: USE DIRLNK TO GET NEXT SECTOR @[@@_@. @F@@@@ LAUI )@@G@@ A0,,A0 . GET LINK WORD IN A0 @G@@@@ JNUJ )@@G@@ A0,,X10 . ERROR RETURN IF LINK NEGATIVE @E@@@@ UK )@@G@@ SA A0,LINK . STORE LINK WORD @F@@@@ LMUL )@@G@@J X11,DIRLNK . LINK TO DESIRED SECTOR @D@@@@ J UM )@@G@@ NORTN . ERROR RETURN@D@@@@ + ECODUN )@@G@@E . ERROR CODE @D@@@@ + MI2 UO )@@G@@ . BUFFER ADDR @E@@@@ + LINK . ADDR OUP )@@G@@F LINK WORD @C@@@@ + 0 . WB @E@@@@UQ )@@G@@ J 1,X10 . NORMAL RETURN @[@@@@. UR )@@G@@@C@@_@. QF OPTION ARE SET: GET NEXT SECTOR VIA DREAD$@[@@_@. @F@@_@US )@@G@@ITSQF TP 0,A0 . LINK WORD NEGATIVE? @E@@@@UT )@@G@@NORTN J 0,X10 . YES, ERROR RETURN @F@@@@ UU )@@G@@ TNE,U A0,MI2 . FIRST TIME THROUGH? @G@@@@ UV )@@G@@ J ITSQF1 . NO, PACKET ALREADY SET UP @E@@@@UW )@@G@@ LXI,U A1,03401 . GET MAIN ITEMS, @G@@@@ UX )@@G@@ TNE,U A0,MI0 . UNLESS LINK WORD IS MI0+0, @H@@@@UY )@@G@@ LXI,U A1,03402 . IN WHICH CASE, GET GRANULE ITEUZ )@@G@@MS @F@@@@ LXM,U A1,MI2 . FOR TAPE REEL NUMBVA )@@G@@ERS @F@@@@ SA A1,RDPKT+3 . STORE IN MSCON$ PAVB )@@G@@CKET @G@@@@ LA,U A1,2 . ASSUME START WITH VC )@@G@@SECTOR 2 @F@@@@ TNE,U A0,MI0 . GETTING GRANVD )@@G@@ULE ITEMS? @F@@@@ SZ A1 . YES, START WVE )@@G@@ITH SECTOR 0@D@@@@ J ITSQF2 . CONTINUE VF )@@G@@@G@@@@ITSQF1 L,T1 A1,RDPKT+4 . GET PREVIOUS STARTING SEVG )@@G@@CTOR @F@@@@ A,U A1,1 . INCREMENT TO NEXT VH )@@G@@SECTOR@G@@@@ITSQF2 SA,T1 A1,RDPKT+4 . AND STORE IN MSCONVI )@@G@@$ PACKET @E@@@@ LA,U A0,RDPKT . GET ADDR OF VJ )@@G@@PACKET@E@@@@ ER MSCON$ . DO THE DREAD$ VK )@@G@@@C@@@@ TP A0 . OK? @E@@@@ J VL )@@G@@ 0,X10 . NO, ERROR RETURN @E@@@@ J VM )@@G@@ 1,X10 . YES, NORMAL RETURN@#@@@@ END ___@@@VN )@@G@@ J EDSUB . NO, KEEP GOING @F@@@@ VO )@@G@@ J 0,X10 . YES, RETURN *[@@@@*SDFF*@#@@@@$(1) VP )@@G@@ AXR$ @H@@@@ CONFIG . DEFINE CONFIVQ )@@G@@GURATION PARAMETERS @D@@@@ EQUFS . VR )@@G@@DEFINE TAGS @[@@@@. @F@@@@. THIS ROUTINE VALIDATES EACH DIRECTORY ITVS )@@G@@EM RETURNED BY DIREC$ @F@@@@. (OR BY DREAD$ FOR QF OPTIONS) AND DECIDEVT )@@G@@S WHETHER IT IS WORTH @G@@@@. PRINTING. IF SO, IT WILL RETURN TO 'MFDVU )@@G@@500' IN THE MAIN SEGMENT, @C@@@@. WHERE EITHER OF TWO ACTIONS WILL TVV )@@G@@AKE PLACE: @[@@@@. @H@@@@. A. IF SORT IS SPECIFIED, RELEASE THE RECVW )@@G@@ORD (MAIN ITEM SECTORS 0 AND 1) @ @@@@. TO THE SORT ROUTINE. VX )@@G@@@G@@@@. B. IF NO SORT IS SPECIFIED, JUMP TO THE PRINT ROUTINE TO EDIT THVY )@@G@@E @B@@@@. USEFUL INFORMATION ABOUT THE FILE. @[@@@@. @F@@@@VZ )@@G@@. WHEN SEARCHING DGET FILE, GET LEAD ITEM FIRST...PERFORM WHAT @F@@@@WA )@@G@@. CHECKS CAN BE DONE ON IT: IF IT PASSES, CHECK ALL MAIN ITEMS @E@@@@WB )@@G@@. FOR THIS LEAD ITEM. IF IT FAILS, GET ANOTHER LEAD ITEM. @[@@@@. WC )@@G@@@F@@@@CHK000* TZ QANDF . ARE Q AND F OPTIONS SET?WD )@@G@@@H@@@@ J CHK090 . ALREADY HAVE MI SEC 0/1 WE )@@G@@FROM DREAD$ @F@@@@CHK001 TNZ QANDF2 . IF Q+F OPTS,WF )@@G@@ FINUP NOW @F@@@@ LMJ X11,DIRSEC . GET NEXT L.IWG )@@G@@./M.I. SEC @D@@@@ J CHK080 . ERROR RETURNWH )@@G@@@G@@@@ + ECODE . ERROR CODES IN ECODE,ECOWI )@@G@@DE+1 @G@@@@ + LI0 . PUT LI'S IN LI0, MWJ )@@G@@I'S IN MI0 @C@@@@ + 0 . WB @H@@@@WK )@@G@@ JNZ A0,CHK100 . A0=0 IF LEAD ITEM, 1 IF MAIN IWL )@@G@@TEM @[@@@@. @F@@@@. HAVE LEAD ITEM - PERFORM G,T,O,K,F,P,Q,I OPTIOWM )@@G@@N CHECKS ON IT @F@@@@. IF GOOD, GET MAIN ITEM SEC 0 - IF N.G., GET ANWN )@@G@@OTHER LEAD ITEM. @[@@@@. @F@@@@ SZ FLAGS1 WO )@@G@@ . CLEAR TAP,GFIL FLAGS @E@@@@ SZ A14 WP )@@G@@ . CLEAR RDSC FLAG @D@@@@ L,S1 A0,LI0+9 . WQ )@@G@@GET MEDIUM @D@@@@ TE,U A0,075 . 8414/24 WR )@@G@@@F@@@@ TNE,U A0,076 . OR 8440 REMOVABLE DISC? WS )@@G@@@E@@@@ S R15,A14 . YES, SET RDSC FLAG@C@@@@WT )@@G@@ TG,U A0,020 . TAPE? @C@@@@ J WU )@@G@@ CHK020 . NO @E@@@@ TP TPT WV )@@G@@ . YES, WANT TAPES? @G@@@@ J GALI . WW )@@G@@NO, GET ANOTHER LEAD ITEM @E@@@@ S R15,TAP WX )@@G@@ . YES, SET TAPE FLAG@D@@@@ J CHK030 . WY )@@G@@CONTINUE @[@@@@. @B@@@@. FILE IS NOT A TAPE - DO WE WANT IT? WZ )@@G@@@[@@@@. @F@@@@CHK020 TZ TPT . NOT TAPE, WAXA )@@G@@NT TAPES? @H@@@@ EX REVT . YES (NO), GEXB )@@G@@T ANOTHER LEAD ITEM @[@@@@. @ @@@@. FILE HAS PASSED TAPE TEST XC )@@G@@@D@@@@. IF O OR K-OPTION IS SET, FILE MUST BE REMOVABLE DISC@[@@@@. XD )@@G@@@G@@@@CHK030 TZ OPT . WANT REMOVABLE DISC FILEXE )@@G@@S? @I@@@@ EX REVO . YES, GALI IF NOT RXF )@@G@@EM (NO, GALI IF REM) @E@@@@ TZ KPT . XG )@@G@@K-OPTION SET? @F@@@@ JZ A14,GALI . YES, MXH )@@G@@UST BE REM DISC @[@@@@. @ @@@@. CHECK FOR G-OPTION FILE @[@@@@XI )@@G@@. @G@@@@ TNZ GPT . LOOKING FOR G-OPTIXJ )@@G@@ON FILES? @C@@@@ J $+3 . NO @E@@@@XK )@@G@@ EX REVG . G-OPTION FILE? @E@@@@ XL )@@G@@ J GALI . NO (YES), GALI @E@@@@ TPXM )@@G@@ LI0+10 . G-OPTIN FILE? @E@@@@ S XN )@@G@@ R15,GFIL . YES, SET FLAG @[@@@@. @F@@@@. IF TAPE EQXO )@@G@@UIP WAS GIVEN IN SPEC3, CHECK FOR RIGHT TAPE EQUIP @[@@@@. @D@@@@XP )@@G@@ L A1,TPT . GET T-OPTION@G@@@@ TNXQ )@@G@@E,U A1,1 . IS IT SET (AND NOT REVERSED)? @G@@@@ XR )@@G@@ TNZ EQDX . AND WAS EQUIP SPEC'D IN SPEC3?@D@@@@XS )@@G@@ J CHK050 . NO, CONTINUE@F@@@@ TEXT )@@G@@ A0,EQDX . RIGHT TAPE EQUIP TYPE? @G@@@@ J XU )@@G@@ GALI . NO, GET ANOTHER LEAD ITEM @]@@@@CHK050XV )@@G@@ . @^@@@@ ON NSSP@G@@@@ TNZ TESTS XW )@@G@@ . ANY SPECIAL TESTS TO BE DONE? @D@@@@ J CHK0XX )@@G@@60 . NO, GO ON @[@@@@. @F@@@@. SPECIAL TESTS WERE SPEXY )@@G@@CIFIED. WE MUST NOW PERFORM EACH OF THESE@F@@@@. TESTS TO DETERMINE WHEXZ )@@G@@THER FURTHER PROCESSING OF THIS FILE IS @E@@@@. NECESSARY. IF NOT, WEYA )@@G@@ CAN JUST GET ANOTHER LEAD ITEM. @F@@@@. ANY LEAD ITEM TESTS CAN BE DYB )@@G@@ONE NOW, BUT WE MUST ASSUME THAT ANY@E@@@@. MAIN ITEM TESTS WILL PASS. YC )@@G@@HOWEVER, IF ANY XOR'S WERE @F@@@@. SPECIFIED, WE CANNOT DO ANY OF THEYD )@@G@@ TESTS NOW, AND MUST GO ON TO @^@@@@. PROCESS THE MAIN ITEM.@[@@@@. YE )@@G@@@F@@@@ LA A0,AOX . GET AND/OR/XOR BITS YF )@@G@@@E@@@@ TEP,U A0,XOR . ANY XOR'S DONE? @F@@@@YG )@@G@@ J CHK060 . YES, MUST GET MAIN ITEM @H@@@@YH )@@G@@ LMJ X11,CHK900 . JUMP TO LEAD ITEM TESTS ROUTINYI )@@G@@E @H@@@@ J GALI . FAILURE - GET ANOTYJ )@@G@@HER LEAD ITEM @F@@@@ J CHK060 . ALL TEYK )@@G@@STS (AND'S) PASSED@H@@@@ LMJ X11,POLTRAN . UNCLEAYL )@@G@@R - EVALUATE POLISH EXPRESSION@H@@@@ JZ A0,GALI YM )@@G@@ . IF FALSE, GET ANOTHER LEAD ITEM @]@@@@CHK060 . @^@@@@ YN )@@G@@ OFF NSSP@G@@@@ TZ LIOPT . F,I,Q,YO )@@G@@ OR P OPTION SPEC'D? @F@@@@ J 0,X9 . YP )@@G@@YES, CHECK CONDITION @E@@@@ J CHK001 . YQ )@@G@@NOW GET MAIN ITEM @[@@@@. @D@@@@. DON'T LIKE THIS LEAD ITEM - GET ANYR )@@G@@OTHER LEAD ITEM @[@@@@. @G@@@@GALI* SZ GOTONE YS )@@G@@ . CLEAR DIREC$'S LINCOR FLAG @G@@@@ J CHK000 YT )@@G@@ . GO BACK FOR ANOTHER LEAD ITEM @[@@@@. @E@@@@. DIRSEC ERRYU )@@G@@OR, OR QF OPTIONS AND FILE HAS BEEN PRINTED @[@@@@. @E@@@@CHK080YV )@@G@@ TNZ QANDF2 . Q AND F OPTIONS? @F@@@@ J YW )@@G@@ DIRECERR . NO, HANDLE DIREC$ ERROR @ @@@@ ONYX )@@G@@ SORTOK @E@@@@ TZ SORT . SORT SYY )@@G@@PECIFIED? @D@@@@ J DOSORT . YES, DO SORTYZ )@@G@@@ @@@@ OFF SORTOK @G@@_@ J QF900 ZA )@@G@@ . ISSUE READ$ FOR ANOTHER FILE @[@@@@. @D@@@@. Q AND F OPZB )@@G@@TIONS ARE SET - ALREADY HAVE MAIN ITEM. @[@@@@. @D@@@@CHK090 SZZC )@@G@@ QANDF . AVOID LOOPS @[@@@@. @D@@@@. HAVE MAIN ZD )@@G@@ITEM - LEAD ITEM HAS ALREADY PASSED TESTS @[@@@@. @G@@@@CHK100 SZZE )@@G@@ A13 . CLEAR BACKED-UP (BAK) FLAG @E@@@@ ZF )@@G@@ TZ QANDF2 . IF QF OPTIONS SET,@D@@@@ J ZG )@@G@@ $+3 . SKIP SZ'S @E@@@@ SZ MI1+ZH )@@G@@11 . CLEAR BACKUP WORD @E@@@@ SZ MI1+18 ZI )@@G@@ . CLEAR PACKID WORD @F@@@@ SZ FLAGS2 ZJ )@@G@@ . CLEAR VFIL,BMI1 FLAGS @E@@@@ L,S2 A0,MI0+17 ZK )@@G@@ . GET INHIBIT FLAGS @[@@@@. @C@@@@. IF V-OPTION SPEC'D, CHECK FOZL )@@G@@R V-OPTION FILE @[@@@@. @G@@@@ TNZ VPT ZM )@@G@@ . LOOKING FOR V-OPTION FILES? @C@@@@ J $+3 ZN )@@G@@ . NO @F@@@@ EX REVV . YES, VZO )@@G@@-OPTION FILE? @F@@@@ J CHK000 . NO, GEZP )@@G@@T ANOTHER ITEM @E@@@@ TEP,U A0,020 . V-OPTIZQ )@@G@@ON FILE? @E@@@@ S R15,VFIL . YES, SET FLAZR )@@G@@G @[@@@@. @B@@@@. SET A13 NONZERO IF FILE IS BACKED UP @[@@@@ZS )@@G@@. @F@@@@ LA,S1 A0,MI0+12 . GET DESCRIPTOR BITZT )@@G@@S @D@@@@ TEP,U A0,020 . BACKED UP? @E@@@@ZU )@@G@@ LA,U A13,1 . YES, SO SET FLAG @[@@@@. ZV )@@G@@@F@@@@. CONVERT REFERENCE AND CATALOGUE DATES TO FORM MORE EASILY TESTEDZW )@@G@@@#@@@@. AND/OR SORTED. @[@@@@. @F@@@@ LA,U A2,1 ZX )@@G@@ . FOR REF AND CAT DATES @D@@@@CHK120 LA,S3 A0,MI0+18,ZY )@@G@@A2 . GET YEAR @F@@@@ LA A1,MI0+18,A2 . ZZ )@@G@@GET ENTIRE DATE IN A1 @G@@@@ LDSL A0,12 . AA )@@G@@SHIFT MO,DAY ONTO YR IN A0 @F@@@@ SA,H1 A0,MI0+18,A2 AB )@@G@@ . STORE AS YR,MON,DAY @ @@@@ JGD A2,CHK120 @[@@@@AC )@@G@@. @G@@@@. DETERMINE WHETHER OR NOT A CALL TO DIRLNK IS NECESSARY TO AD )@@G@@GET THE @G@@@@. FILE'S MAIN ITEM SECTOR 1. IF POSSIBLE, AVOID THE CAE )@@G@@ALL TO DIRLNK @^@@@@. TO SAVE I/O, EEC. @[@@@@. @G@@@@ AF )@@G@@ TZ SIZFLG . IF SIZE OPT AND FILE BACKED UP@G@@@@AG )@@G@@ JNZ A13,CHK200 . MUST LINK FOR BACKUP SIZE AH )@@G@@@I@@@@ ON NSSP . ************************AI )@@G@@**************** @F@@@@ TNZ TESTS . SPECIAAJ )@@G@@L TEST GIVEN? @C@@@@ J CHK140 . NO AK )@@G@@@E@@@@ JNZ A13,CHK200 . IF BACKED UP, OR @E@@@@AL )@@G@@ JNZ A14,CHK200 . REM DISC, LINK. @]@@@@CHK140AM )@@G@@ . @I@@@@ OFF NSSP . ******************AN )@@G@@********************** @G@@@@ DO NODMPK>0 , JZ A7,CHK22AO )@@G@@0 . IF DEMAND, JUST GO ON @I@@@@ ON NODMPK<1 AP )@@G@@ . **************************************** @G@@@@ JNZ AQ )@@G@@ A7,$+2 . IF NOT DEMAND, LET IT THROUGH @H@@@@ JZAR )@@G@@ A14,CHK220 . DEMAND - IF FIXED, DON'T NEED MI1 @I@@@@AS )@@G@@ OFF . ******************************AT )@@G@@********** @G@@@@ JNZ A14,CHK200 . BATCH - IF RAU )@@G@@EMOVABLE, LINK @G@@@@ JZ A13,CHK220 . FIXED AV )@@G@@- NO LINK IF NO BACKUP @[@@@@. @G@@@@. IF FILE IS BACKED UP OR REMOAW )@@G@@VABLE, MUST LINK TO MI SEC 1 FOR MORE INFO@[@@@@. @E@@@@CHK200 TZAX )@@G@@ QANDF2 . QF OPTIONS SET? @G@@@@ J AY )@@G@@ 0,X9 . YES, HAVE MI1 FROM DREAD$ @F@@@@ LAAZ )@@G@@,T1 A0,MI0+12 . GET DESCRIPTOR BITS @F@@@@ TOBA )@@G@@P,U A0,0200 . BAD MAIN ITEM SECTOR 1? @D@@@@ J BB )@@G@@ CHK210 . NO, GO LINK @E@@@@ SR R15,BC )@@G@@BMI1 . YES, SET FLAG @H@@@@ DSL A13,72 BD )@@G@@ . CLEAR REM DISC & BACKED-UP FLAGS @D@@@@ J BE )@@G@@ CHK220 . DON'T LINK @F@@@@CHK210 LMJ X11,DIRLNKBF )@@G@@ . LINK TO M.I. SECTOR 1 @D@@@@LNKRTN* J DIRECERR BG )@@G@@ . ERROR RETURN@G@@@@ + ECODE . BH )@@G@@ERROR CODES IN ECODE,ECODE+1 @G@@@@ + MI1 BI )@@G@@ . PUT IT IN MI SEC 1 BUFFER @C@@@@ + MI0+13 BJ )@@G@@ . LINK @C@@@@ + 0 . WB BK )@@G@@@[@@@@. @F@@@@. DIREC$ ERROR ROUTINE RETURNS HERE IF ERROR OCCURRED BL )@@G@@AT 'CHK210' @[@@@@. @F@@@@CHK220* TZ LIOPT . BM )@@G@@Q,F,I, OR P OPTIONS SET?@G@@@@ J GBU . BN )@@G@@YES, ALREADY PERFORMED TESTS @E@@@@ J 0,X9 BO )@@G@@ . NO, PERFORM TESTS @ @@@@/. CHECK DESIRED PARAMETERS @[@@@@. BP )@@G@@@B@@@@. ACCOUNT, PROJECT, OR QUALIFIER CHECK @[@@@@. @G@@@@AAOPT*BQ )@@G@@ TZ CPT . C-OPTION SET FOR PARTIAL SPEC?@F@@@@BR )@@G@@ J CHK280 . YES, CHECK PARTIAL SPEC @G@@@@BS )@@G@@CHK250 DTE A9,0,X7 . DOES SPEC MATCH THAT OF FILE? BT )@@G@@@E@@@@ J CHK270 . NO, GET ANOTHER @[@@@@BU )@@G@@. @#@@@@. TEST PASSED @[@@@@. @E@@@@CHK260 TNZ LIOPBV )@@G@@T . LEAD ITEM OPTION @F@@@@ J GBU BW )@@G@@ . NO, MAIN ITEM, SO GO ON @D@@@@ J CHK001 BX )@@G@@ . YES, GET MI0@[@@@@. @#@@@@. TEST FAILED @[@@@@. BY )@@G@@@E@@@@CHK270 TNZ LIOPT . LEAD ITEM OPTION @F@@@@BZ )@@G@@ J CHK001 . NO, GET ANOTHER ITEM @G@@@@CA )@@G@@ J GALI . YES, GET ANOTHER LEAD ITEM CB )@@G@@@[@@@@. @ @@@@. CATEGORY (PARTIAL SPECS) @[@@@@. @H@@@@CHK280CC )@@G@@ LX X11,(66,0) . KLUDGE - ONCE THROUGH FOR C-OPT CD )@@G@@@E@@@@ TZ YPT . IS Y-OPTION SET? @F@@@@CE )@@G@@ LX X11,(3,0) . YES, DO IT 11 TIMES @G@@@@CF )@@G@@CHK290 DL A9,0,X7 . GET PARAMATER FROM LI0 OR MI0 CG )@@G@@@E@@@@ DSC A9,0,*X11 . ROTATE 0-11 CHARS @F@@@@CH )@@G@@ AND A10,ACMASK+1 . MASK OFF DESIRED CHARS @B@@@@CI )@@G@@ AND A9,ACMASK . @C@@@@ DAN A10,CJ )@@G@@MFD$+9 . MATCH?@D@@@@ DJZ A10,CHK260 . CK )@@G@@IF SO, TOK @F@@@@ TLEM,U X11,66 . SHIFTED 11 CCL )@@G@@HARS YET? @F@@@@ J CHK290 . NO, SHIFT ANCM )@@G@@OTHER CHAR @G@@@@ J CHK270 . YES, NO MATCCN )@@G@@H - GET ANOTHER @[@@@@. @ @@@@. F OR I OPTIONS - FILENAME @[@@@@CO )@@G@@. @E@@@@FFOPT* TZ IPT . IS I-OPTION SET? CP )@@G@@@F@@@@ J CHK310 . YES, FILENAME CHECK ONLYCQ )@@G@@@G@@@@ DL A0,PCT . GET QUAL SPEC SAVED IN PCR )@@G@@CT @D@@@@ DTE A0,LI0+1 . QUAL MATCH? @E@@@@CS )@@G@@ J GALI . NO, TRY AGAIN @E@@@@CHK310CT )@@G@@ TZ CPT . PARTIAL FILENAME? @H@@@@ J CU )@@G@@ CHK280 . YES, HANDLE LIKE PARTIAL ACCOUNT @F@@@@CV )@@G@@ J CHK250 . NO, MAKE SIMPLE CHECK @[@@@@CW )@@G@@. @^@@@@. X-OPTION (EXEC FILES) @[@@@@. @ @@@@XXOPT* LA CX )@@G@@ A0,MI0+7 @D@@@@ TZ,S1 MI0+8 . NO ACCOUNT? CY )@@G@@@F@@@@ TNE A0,('INSTAL') . OR='INSTALLATION' ? CZ )@@G@@@E@@@@ J GBU . YES, SNAGGED ONE @E@@@@DA )@@G@@ J CHK001 . NO, TRY AGAIN @[@@@@. DB )@@G@@@A@@@@. K-OPTION (REMOVABLE DISC PACK) @[@@@@. @F@@@@KKOPT* JZDC )@@G@@ A14,CHK001 . IF NOT REM, TRY AGAIN @D@@@@ TZDD )@@G@@ BMI1 . BAD MI1? @G@@@@ J CHK0DE )@@G@@01 . YES, DON'T BOTHER CHECKING @F@@@@ L,U DF )@@G@@ R1,5 . FOR FIRST 5 PACKIDS @F@@@@ L DG )@@G@@ A0,(2,MI1+18) . CHECK SPEC VS. PACK LIST@D@@@@ SE DH )@@G@@ A9,0,*A0 . FIND IT? @G@@@@ J $+2 DI )@@G@@ . NO, MAYBE TRY SECOND SPEC @G@@@@ J GBU DJ )@@G@@ . YES, CONTINUE OTHER CHECKS @F@@@@ JZ DK )@@G@@ A10,CHK001 . 2ND SPEC GIVEN? NO,SEC@G@@@@ L,U DL )@@G@@ R1,5 . YES, NOW CHECK FOR 2ND SPEC @B@@@@ L DM )@@G@@ A0,(2,MI1+18) . @D@@@@ SE A10,0,*A0 DN )@@G@@ . FIND IT? @E@@@@ J CHK001 . NO, TRDO )@@G@@Y NEXT FILE @F@@@@ . YES, CONTINUDP )@@G@@E TO GBU @C@@@@/. SPECIAL SIZE AND TYPE-OF-FILE OPTIONS @[@@@@DQ )@@G@@. @D@@@@GBU* TNZ RPT . R-OPTION? @D@@@@DR )@@G@@ J CHK410 . NOT R, TRY D@[@@@@. @D@@@@DS )@@G@@. R-OPTION - CHECK FOR VARIOUS DISABLED INDICATIONS @[@@@@. @F@@@@DT )@@G@@ LA,S1 A0,MI0+11 . PICK UP DISABLE-BITS @F@@@@DU )@@G@@ LA A1,DISDX . GET PARAMETER INDEX @E@@@@DV )@@G@@ TNE,U A1,RPRL . LAST ITEM (BMI)? @F@@@@ DW )@@G@@ LA,T1 A0,MI0+12 . YES, GET OTHER BITS @E@@@@ DX )@@G@@ EX REVR . CHECK PARAMETER @F@@@@ J DY )@@G@@ CHK000 . NO, TRY ANOTHER FILE @[@@@@. @F@@@@DZ )@@G@@. DATE OPTION ROUTINE (ONLY FILES NOT REF'D SINCE DATE SPECIFIED) @[@@@@EA )@@G@@. @E@@@@CHK410 TNZ DPT . D-OPTION SET? EB )@@G@@@D@@@@ J CHK420 . NO, GO ON @F@@@@ EC )@@G@@ LA,H1 A0,MI0+18 . GET YR,MON,DAY IN A0 @F@@@@ ED )@@G@@ LA A1,DATREF . YR,MO,DA I/P IN H2 OF A1@G@@@@ EE )@@G@@ EX REVD . M.I. DATE LE (GT) INPUT DATE? @E@@@@EF )@@G@@ J CHK000 . NO, GET ANOTHER @F@@@@CHK420EG )@@G@@ SZ A15 . INITIALIZE TOTAL TRACKS @G@@@@ EH )@@G@@ SZ,H2 MI0+14 . INITIALIZE FILE SIZE HOLDER @D@@@@EI )@@G@@ L A0,TPT . GET T-OPTION@F@@@@ TEEJ )@@G@@,U A0,1 . SET (AND NOT REVERSED)? @D@@@@ TNEK )@@G@@Z EQDX . SPEC3 GIVEN?@D@@@@ J CHK4EL )@@G@@30 . NO,CHK430 @F@@@@ LA A0,EQDX EM )@@G@@ . GET EQUIP INDEX IN A0 @G@@@@ TNZ,H2 MI0+19,A0 EN )@@G@@ . ANY GRANS ON SPEC'D EQUIP? @F@@@@ J CHK000 EO )@@G@@ . NO, TRY ANOTHER FILE @D@@@@CHK430 TZ TAP EP )@@G@@ . TAPE FILE? @F@@@@ J *SZOPT . EQ )@@G@@YES, DON'T ADD UP TRACKS@[@@@@. @F@@@@. ADD UP MASS STORAGE GRANULE ER )@@G@@COUNTS, AND STORE TOTAL IN MI0+14. @E@@@@. SHOULD ALL BE ZERO IF FILE IES )@@G@@S UNLOADED, BUT DO IT ANYHOW. @[@@@@. @ @@@@ LA,H2 A15,ET )@@G@@MI0+27@ @@@@ LX,U X11,6 @G@@@@ AA,H2 A15,EU )@@G@@MI0+20,X11 . ADD TRACKS ON EACH DEVICE @ @@@@ JGD EV )@@G@@ X11,$-1 @F@@@@ TP MI0+13 . POSITION GRAEW )@@G@@NULARITY? @G@@@@ LSSL A15,6 . MULTIPLY BY EX )@@G@@64 TO GET TRACKS @G@@@@ SA,H2 A15,MI0+14 . STORE EY )@@G@@FILE SIZE IN MI0+14 @[@@@@. @G@@@@. IF A SPEC3 EQUIP TYPE WAS GIEZ )@@G@@VEN, USE GRAN COUNT ON THAT EQUIPMENT @^@@@@. ONLY IN THE TOTALS. FA )@@G@@@[@@@@. @F@@@@ LA A0,EQDX . GET F-TYPE EFB )@@G@@QUIP INDEX @G@@@@ JZ A0,CHK435 . WAS ONE SPECFC )@@G@@IFIED (IN SPEC3)? @H@@@@ LA,H2 A15,MI0+19,A0 . YES, GFD )@@G@@ET GRAN CNT ON THAT EQUIP ONLY@F@@@@ TP MI0+13 FE )@@G@@ . POSITION GRANULARITY? @E@@@@ LSSL A15,6 FF )@@G@@ . YES, MULT BY 64 @[@@@@. @F@@@@. IF FILE IS UNLOADED, BE SUREFG )@@G@@ TRACK COUNT IS ZERO FOR TOTALS @[@@@@. @D@@@@CHK435 TP FH )@@G@@ MI0+12 . UNLOADED? @G@@@@ SZ A15 FI )@@G@@ . YES, ZERO OUT TOTAL IN A15 @F@@@@ J *SZOFJ )@@G@@PT . JUMP TO PROPER ROUTINE @[@@@@. @F@@@@. CHECK AGAIFK )@@G@@NST SIZE IN SPEC2 (USE SECURE TAPE BLOCKS IF UNLOADED)@[@@@@. @D@@@@FL )@@G@@SZCHK* TZ TAP . TAPE FILE? @F@@@@ J FM )@@G@@ CHK460 . YES, SKIP SIZE CHECK @E@@@@ TPFN )@@G@@ MI0+12 . IS FILE LOADED? @G@@@@ J FO )@@G@@ CHK450 . NO, SKIP LOADED TRACK CHECK @F@@@@ EXFP )@@G@@ SZLOD . IS FILE > SPEC2 TRACKS? @G@@@@ J FQ )@@G@@ CHK460 . YES, BUT CHECK FOR U-OPTION @E@@@@ FR )@@G@@ J CHK000 . NO, GET NEXT FILE @G@@@@CHK450 JZFS )@@G@@ A13,CHK000 . IF NO BACKUP, TRY ANOTHER @G@@@@ FT )@@G@@ LA,H2 A15,MI1+9 . YES, GET BACKUP BLOCK COUNT @F@@@@FU )@@G@@ EX SZBAK . MORE THAN SPEC2 BLOCKS? @F@@@@FV )@@G@@ J CHK000 . NOPE, TRY NEXT FILE @E@@@@FW )@@G@@CHK460 TNZ UPT . U-OPTION SET? @E@@@@ FX )@@G@@ J NSZOPT . IF NOT, GO ON @[@@@@. @ @@@@FY )@@G@@. U-OPTION (UNLOADED FILES) @[@@@@. @D@@@@UNOPT* EX UNCHFZ )@@G@@EK . U-OPTION @F@@@@ J CHK000 GA )@@G@@ . FILE IS NOT UNLOADED @[@@@@. @E@@@@. NO SPECIAL SIZE OPTIONGB )@@G@@S (OR THEY ALL PASSED THE TESTS) @[@@@@. @]@@@@NSZOPT* . @I@@@@GC )@@G@@ ON NSSP . ******************************GD )@@G@@********** @F@@@@ TNZ TESTS . ANY SPECIAL GE )@@G@@TESTS TO DO?@D@@@@ J CHK500 . NO, GO ON GF )@@G@@@[@@@@. @^@@@@. PERFORM SPEC 4-N TESTS@[@@@@. @D@@@@ LMGG )@@G@@J X11,CHK905 . YES, DO THEM@F@@@@ J CHK0GH )@@G@@00 . ALL AND'S AND ONE FAILED@F@@@@ J CHK5GI )@@G@@00 . ALL AND'S AND ALL PASSED@H@@@@ LMJ X11,GJ )@@G@@POLTRAN . UNCLEAR - EVALUATE POLISH EXPRESSION@F@@@@ JZGK )@@G@@ A0,CHK000 . IF FALSE, GET NEXT FILE @]@@@@CHK500 . GL )@@G@@@I@@@@ OFF NSSP . ************************GM )@@G@@**************** @F@@@@ TNZ QANDF2 . NO TOTGN )@@G@@ALS IF QF OPTIONS @G@@@@ TZ TAP . IS THIGO )@@G@@S A CAT'D TAPE FILE? @F@@@@ J MFD500 . GP )@@G@@YES, SKIP SIZE STUFF @D@@@@ JZ A14,$+7 . GQ )@@G@@REMOVABLE? @F@@@@ BUMP RTOT,A15 . ACCUMULATE RGR )@@G@@EM TRACKS @F@@@@ BUMP RFCT . INCREMENT REGS )@@G@@M FILE COUNT@E@@@@ TNZ VFIL . V-OPTION FILGT )@@G@@E? @C@@@@ J $+7 . NOPE @F@@@@ GU )@@G@@ BUMP VTOT,A15 . ACCUMULATE V-OPT TRACKS @G@@@@ GV )@@G@@ BUMP VFCT . INCREMENT V-OPTION FILE COUNT @E@@@@GW )@@G@@ TNZ GFIL . G-OPTION FILE? @C@@@@ GX )@@G@@ J $+7 . NO @G@@@@ BUMP GTOTGY )@@G@@,A15 . ACCUMULATE G-OPTION TRACKS @G@@@@ BUMP GZ )@@G@@ GFCT . INCREMENT G-OPTION FILE COUNT @H@@@@ JNHA )@@G@@Z A14,MFD500 . IF REM DISC, DON'T INC FIXED TRKS @E@@@@HB )@@G@@ TP MI0+12 . IS FILE LOADED? @G@@@@ HC )@@G@@ J MFD500 . NO, DON'T ADD TO FIXED TRACKS @G@@@@HD )@@G@@ BUMP TOT,A15 . INCREMENT TOTAL FIXED TRACKS HE )@@G@@@E@@@@ J MFD500 . RETURN TO MAIN SEG@A@@@@HF )@@G@@/. SPEC4-N SPECIAL TEST SUBROUTINE @[@@@@. @E@@@@. PERFORM ALL SPECHG )@@G@@4-N TESTS, PUTTING RESULTS IN POLISH TABLE@D@@@@. IF TEST PASSES, RESULTHH )@@G@@ = 1. IF FAILURE, RESULT = 0.@[@@@@. @E@@@@. LINKAGE IS: LMJ X1HI )@@G@@1,CHK900 OR LMJ X11,CHK905 @B@@@@. @B@@@@. @E@@@@. HK )@@G@@ @[@@@@. @F@@@@HL )@@G@@. CHK900 IS ENTRY POINT FOR LEAD ITEM CHECKS. ALL LEAD ITEM TESTS@G@@@@HM )@@G@@. ARE DONE, BUT RESULT OF ALL MAIN ITEM TESTS IS ASSUMED TO BE 1 (PASS).HN )@@G@@@[@@@@. @G@@@@. CHK905 IS ENTRY POINT FOR MAIN ITEM CHECKS. ALL TESHO )@@G@@TS ARE DONE IN @]@@@@. THIS CASE.@[@@@@. @G@@@@. 'DEFINITE FAILURHP )@@G@@E' AND 'DEFINITE SUCCESS' RETURNS ARE TAKEN ONLY IF @F@@@@. NO OR'S ORHQ )@@G@@ XOR'S WERE DONE (JUST AND'S), AND EITHER ONE OF THE @D@@@@. AND'S FAILHR )@@G@@ED, OR ALL OF THEM PASSED, RESPECTIVELY. @[@@@@. @^@@@@ ONHS )@@G@@ NSSP@F@@@@CHK900 LA,U A3,MI0-1 . GET LAST ADDHT )@@G@@R OF LI0 @G@@@@ J CHK906 . GO ON FOR LEHU )@@G@@AD ITEM TESTS @F@@@@CHK905 LA,U A3,0700000 . MARK AHV )@@G@@S MAIN ITEM CHECK @F@@@@CHK906 LA A1,AOX . GET ANHW )@@G@@D/OR/XOR BITS @G@@@@ AND,U A1,OR+XOR . GET JUHX )@@G@@ST OR/XOR BITS IN A2 @G@@@@ L R1,TESTS . HY )@@G@@GET NUMBER OF TESTS TO DO @E@@@@ JGD R1,$+1 HZ )@@G@@ . ADJUST FOR JGD @E@@@@ LX X2,(1,0) . IA )@@G@@INITIALIZE INDEX @I@@@@CHK910 TLE,H2 A3,INS1,X2 . L.I. CIB )@@G@@HECK AND TEST OF STUFF IN M.I.? @H@@@@ J CHK925 IC )@@G@@ . YES, ASSUME TEST PASSED FOR NOW @I@@@@ EX ID )@@G@@ INS1,X2 . EXECUTE REMOTE LOAD OF DIRECTORY INFO @E@@@@IE )@@G@@ TNZ INS2,X2 . IS THIS A DTE? @F@@@@ IF )@@G@@ J CHK920 . YES, SKIP AND/STORE @F@@@@ IG )@@G@@ AND A0,TMASK,X2 . PERFORM 'AND' WITH MASK @F@@@@ IH )@@G@@ SA A1,SPC . STORE RESULT IN SPC @H@@@@ II )@@G@@ EX INS2,X2 . EXECUTE REMOTE LOAD OF SPEC VALUE IJ )@@G@@@G@@@@CHK920 EX INS3,X2 . EXECUTE REMOTE TEST INSTIK )@@G@@R @D@@@@ J CHK930 . TEST FAILED @F@@@@IL )@@G@@CHK925 LA,U A0,1 . MARK TEST SUCCEEDED @C@@@@IM )@@G@@ J CHK940 . GO ON @E@@@@CHK930 SZ IN )@@G@@ A0 . MARK TEST FAILED @]@@@@CHK940 . @H@@@@ IO )@@G@@ JNZ A2,CHK942 . IF OR'S OR XOR'S SPEC'D, HANDLE THEMIP )@@G@@@I@@@@ JZ A0,0,X11 . ONLY AND'S - IF ANY FAILIQ )@@G@@, DEF. FAILURE @E@@@@ J CHK944 . THIS OIR )@@G@@NE PASSED @F@@@@CHK942 LA A1,POLINK,X2 . GET POLISH TIS )@@G@@BL INDEX @H@@@@ SA A0,POLISH,A1 . STORE RESULTIT )@@G@@ OF TEST IN POLISH TABLE@F@@@@CHK944 NOP 0,0,*X2 . IU )@@G@@INCREMENT TEST INDEX @E@@@@ JGD R1,CHK910 . IV )@@G@@PERFORM ALL TESTS @H@@@@ JZ A2,1,X11 . SUCCESIW )@@G@@S IF ONLY AND'S (ALL PASSED) @H@@@@ J 2,X11 IX )@@G@@ . RETURN FOR POLISH TBL EVALUATION @^@@@@ OFF NSSPIY )@@G@@@#@@@@ END ___@@@. @G@@@@. CHK905 IS ENTRY POINT FOR MAIZ )@@G@@IN ITEM CHECKS. ALL TESTS ARE DONE IN @]@@@@. THIS CASE.@[@@@@. JA )@@G@@@G@@@@. 'DEFINITE FAILURE' AND 'DEFINITE SUCCESS*[@@@@*SDFF*@A@@_@. @MFDJB )@@G@@ SUMMARY PRINTING ROUTINE @[@@_@. @D@@_@. CALLED AT TERMINATION JC )@@G@@UNLESS QF OPTIONS ARE SET. @[@@_@. @#@@@@ AXR$ @H@@@@JD )@@G@@ CONFIG . DEFINE CONFIGURATION PARAMETERJE )@@G@@S @D@@@@ EQUFS . DEFINE TAGS @G@@_@JF )@@G@@TOTM01 'TRKS&: FIXED=&' . TOTAL FIXED STORAGE ON-LINE JG )@@G@@@B@@@@TOTM02 ' REMOV=& V-OPT=& G-OPT=&' @B@@@@TOTM03 ' TOTALJH )@@G@@ BACKUP TAPE BLOCKS=&' @F@@@@TOTM04 'FILES: TOTAL=&' . JI )@@G@@TOTAL FILES PRINTED @G@@@@TOTM05 ' TAPES=&' . JJ )@@G@@TOTAL CAT'D TAPES PRINTED @[@@@@$(1). @]@@_@TOT000*. @ @@@@ JK )@@G@@ E$DIT EDPACK @E@@@@ E$MSG TOTM01 . JL )@@G@@TRKS: FIXED = @D@@@@ LA A0,TPT . GET T-JM )@@G@@OPTION@F@@@@ TNE,U A0,1 . SET (AND NOT REVERJN )@@G@@SED)? @F@@@@ J TOT100 . YES, DO NORMAL STUJO )@@G@@FF @G@@@@ TNZ EQDX . F-TYPE EQUIP GIVENJP )@@G@@ IN SPEC3? @F@@@@ J TOT100 . NO, DO NORMAJQ )@@G@@L STUFF @E@@@@ E$SKIP 1 . YES, SKIP A JR )@@G@@SPACE @D@@@@ E$CHAR '(' . OPEN PAREN @E@@@@JS )@@G@@ LA A0,EQDX . GET EQUIP INDEX @E@@@@ JT )@@G@@ E$FD1 EQUCD-1,A0 . EDIT EQUIP TYPE @D@@@@ E$JU )@@G@@CHAR ')' . CLOSE PAREN @E@@_@TOT100 E$MSGR JV )@@G@@ . RESUME MSG EDIT @F@@@@ E$DECV TOT JW )@@G@@ . EDIT TOTAL FIXED TRACKS @D@@@@ E$MSG TOTM02 JX )@@G@@ . REMOVABLE = @F@@@@ E$DECV RTOT . JY )@@G@@EDIT TOTAL REM. TRACKS @ @@@@ ON GVHUSH @E@@@@ JZ )@@G@@ TNZ DLA . IS RUN PRIVILEGED?@F@@@@ J KA )@@G@@ TOT200 . NO, SKIP V/G TOTALS @#@@@@ OFKB )@@G@@F @D@@@@ E$MSGR . V-OPT = @F@@@@KC )@@G@@ E$DECV VTOT . EDIT V-OPTION TRACKS @D@@@@KD )@@G@@ E$MSGR . G-OPT = @F@@@@ E$KE )@@G@@DECV GTOT . EDIT G-OPTION TRACKS @G@@@@TOT200 JZKF )@@G@@ A7,TOT300 . IF DEMAND, SKIP SEC TRACKS @F@@@@ KG )@@G@@ E$MSG TOTM03 . BACKUP TAPE BLOCKS = @E@@@@ KH )@@G@@ E$DECV SECTOT . EDIT SECURE TRACKS@F@@@@TOT300 P$KI )@@G@@RINT POUT . PRINT FIRST TOTALS LINE @ @@@@ E$KJ )@@G@@DIT EDPACK @E@@@@ E$MSG TOTM04 . FILES:KK )@@G@@ TOTAL = @E@@@@ E$DECV PFCT . EDIT TOTAL FKL )@@G@@ILES @D@@@@ E$MSG TOTM02 . REMOVABLE = @G@@@@KM )@@G@@ E$DECV RFCT . EDIT REMOVABLE FILE TOTAL KN )@@G@@@ @@@@ ON GVHUSH @E@@@@ TNZ DLA KO )@@G@@ . IS RUN PRIVILEGED?@F@@@@ J TOT400 KP )@@G@@ . NO, SKIP V/G TOTALS @#@@@@ OFF @D@@@@ E$KQ )@@G@@MSGR . V-OPT = @F@@@@ E$DECV VFCTKR )@@G@@ . EDIT V-OPTION FILE TOTAL@D@@@@ E$MSGR KS )@@G@@ . G-OPT = @F@@@@ E$DECV GFCT KT )@@G@@ . EDIT G-OPTION FILE TOTAL@D@@@@TOT400 E$MSG TOTM05 KU )@@G@@ . TAPES = @F@@@@ E$DECV TFCT . EDIT TKV )@@G@@APE FILE COUNT @#@@@@ E$DITX @F@@@@ P$RINT POUTKW )@@G@@ . PRINT SECOND TOTALS LINE@E@@@@ J MFD7KX )@@G@@00 . RETURN TO MAIN SEG@#@@@@ END ___ KY )@@G@@ . SET (AND NOT REVERSED)? @F@@@@ J TOT100 KZ )@@G@@ . YES, DO NORMAL STUFF @G@@@@ TNZ EQDX LA )@@G@@*[@@@@*SDFF*@ @@@@*. @MFD GENERATION SKELETON @[@@@@*. @^@@@@*. SLB )@@G@@GS'S ACCEPTED: @[@@@@*. @G@@@@*. FULL ASSEMBLY @PDP ALL PROLC )@@G@@CS,, ASSEMBLE ALL ASM ELEMENTS, @G@@@@*. AND PELD )@@G@@RFORM THE COLLECTION, APPLYING ALL PCF @A@@@@*. LE )@@G@@CORRECTIONS.@[@@@@*. @F@@@@*. UPDATE OPTION PERFORM A SYMBOLICLF )@@G@@ UPDATE, MERGING IN @C@@@@*. THE PCF CORRECTIONLG )@@G@@S @[@@@@*. @F@@@@*. LIST OPTION GENERATE LISTINGS OF EACLH )@@G@@H ELEMENT WHICH IS@A@@@@*. PROCESSED. @[@@@@*. LI )@@G@@@E@@@@*. DO , SPECIFIES THAT THIS ELEMNT EXISTS ONLY @B@@@@*. LN )@@G@@ IN THE PCF/TCF. @[@@@@*. @[@@@@*. @#@@@@*DEFINE PROLO )@@G@@C @]@@@@*IF [LIST]>0@A@@@@#HDG *** [#1] *** @[@@@@LP )@@G@@*END @A@@@@*IF COLUMN SEARCH FROM NEW FOR [#1] @#@@@@#PDP,[#2]I [#1] LQ )@@G@@@[@@@@*ELSE @#@@@@*IF [UPDATE]>0 @^@@@@#PDP,[#2] [#1],[#1] @[@@@@LR )@@G@@*ELSE @^@@@@#PDP,[#2] [#1],U-[#1] @[@@@@*END @[@@@@*END @#@@@@*CORRELS )@@G@@CT [#1] @[@@@@*END @^@@@@*IF [#1] HAS CORRECTIONS@]@@@@*SET PDPCHG LT )@@G@@@[@@@@*END @[@@@@*END @[@@@@*. @]@@@@*DEFINE PASM@]@@@@*IF [LIST]>0LU )@@G@@@A@@@@#HDG *** [#1] *** @[@@@@*END @A@@@@*IF COLUMN SLV )@@G@@EARCH FROM NEW FOR [#1] @^@@@@#ASM,[#2]I [#1],[#1] @[@@@@*ELSE @#@@@@LW )@@G@@*IF [UPDATE]>0 @ @@@@#ASM,[#2] [#1],[#1],[#1] @[@@@@*ELSE @^@@@@LX )@@G@@#ASM,[#2] [#1],[#1] @[@@@@*END @[@@@@*END @#@@@@*CORRECT [#1] LY )@@G@@@[@@@@*END @[@@@@*END @[@@@@*. @F@@@@*CREATE SGS: ASM CHECK,DIREC$,LZ )@@G@@DIRERR,DIRLNK,DSEG,ID,INIT1,INIT2,; @E@@@@ MFD,PRINT,PRIMA )@@G@@NT2,QF,SORTER,TOTALS,WOUT @^@@@@*CREATE SGS: PDP PROCS @ @@@@*CREATMB )@@G@@E SGS: MAP MAP,MFD,B @#@@@@*CLEAR PDPCHG @[@@@@*. @ @@@@*INCREMC )@@G@@MENT A TO [PDP,1,1] @D@@_@*IF [FULL]>0 OR ROW SEARCH FROM DO FOR [PDMD )@@G@@P,1,1,A] @]@@@@*IF [LIST]>0@ @@@@*PROCESS PROC [PDP,1,1,A] AL @[@@@@ME )@@G@@*ELSE @ @@@@*PROCESS PROC [PDP,1,1,A] A @[@@@@*END @[@@@@*END @[@@@@MF )@@G@@*LOOP @[@@@@*. @ @@@@*INCREMENT A TO [ASM,1,1] @G@@_@*IF [FULL]>0MG )@@G@@ OR PDPCHG IS SET OR ROW SEARCH FROM DO FOR [ASM,1,1,A] @]@@@@*IF [LMH )@@G@@IST]>0@ @@@@*PROCESS PASM [ASM,1,1,A] SK @[@@@@*ELSE @ @@@@*PROCESS PASMI )@@G@@M [ASM,1,1,A] N @[@@@@*END @[@@@@*END @[@@@@*LOOP @[@@@@*. @^@@@@MJ )@@G@@*INCREMENT A TO [MAP,1] @]@@@@*IF [LIST]>0@B@@@@#HDG *** MK )@@G@@ [MAP,1,A,1] ***@[@@@@*END @]@@@@*EDIT ON @#@@@@#MAP,[MAP,1,A,3]& ML )@@G@@@]@@@@*IF [LIST]>0@ @@@@S [MAP,1,A,1],[MAP,1,A,2]& @[@@@@*ELSE @ @@@@MM )@@G@@N [MAP,1,A,1],[MAP,1,A,2]& @[@@@@*END @#@@@@*IF [UPDATE]>0 @#@@@@MN )@@G@@,[MAP,1,A,1]& @[@@@@*END @]@@@@*EDIT OFF @^@@@@*CORRECT [MAP,1,A,MO )@@G@@1] @[@@@@*END @[@@@@*LOOP @[@@@@#EOF @]@@@@*IF [LIST]>0@[@@@@#HDG,NMP )@@G@@@[@@@@*END ___ CORRECTIONS.@[@@@@*. @F@@@@*. UPDATE OPTIONMQ )@@G@@*[@@@@*SDFF*@G@@@@. DIREC$ IS AN NYU-WRITTEN SET OF ROUTINES FOR RETRIEVMR )@@G@@ING INFORMATION @H@@@@. FROM THE MASTER FILE DIRECTORY. THE ROUTINES MS )@@G@@INVOLVED ARE: DIREND, DIRINT, @^@@@@. DIRSEC, AND DIRLNK. @D@@@@. EACHMT )@@G@@ HAS BEEN WRITTEN TO BE CALLABLE FROM FORTRAN-V.@[@@@@. @D@@@@. DIREMU )@@G@@ND - FREES DGET$ FILE AND ZEROES DRUM ADDRESS. @[@@@@. @^@@@@. CMV )@@G@@ALLING SEQUENCE: @[@@@@. @ @@@@. FORTRAN: CALL DIREND @[@@@@MW )@@G@@. @A@@@@. ASSEMBLY: LMJ X11,DIREND @E@@@@. +MX )@@G@@ 0 . FORTRAN COMPATIBILITY@[@@@@. @[@@@@. @H@@@@MY )@@G@@. DIRINT - ASSIGNS DGET$ FILE ($$--DGET--$$) AND DOES DGET$. DIRINT ATTMZ )@@G@@EMPTS @H@@@@. TO DO A DOUBLE-BUFFERED DGET$, AND IF THAT FAILS NA )@@G@@DUE TO AN EXEC @G@@@@. LOWER THAN 27-20-225, IT TRIES AGAIN NB )@@G@@WITH A NORMAL DGET$. @G@@@@. A TAG 'DIRSIZ' EXISTS IN BOTH ENC )@@G@@LEMENTS OF THE DIREC$ PACKAGE,@H@@@@. DIREC$ AND DIRLNK. THIS ND )@@G@@VALUE IS USED AS THE INITIAL RESERVE FOR @H@@@@. THE DGET$ FILNE )@@G@@E. IF THIS IS NOT ENOUGH, DIREC$ WILL TRY AGAIN USING@I@@@@. TNF )@@G@@HE SIZE RETURNED BY MSCON$ WHEN THIS OCCURS. IF DIRSIZ IS CHANGED, NG )@@G@@@C@@@@. IT MUST BE CHANGED IN BOTH ELEMENTS. @[@@@@. @^@@@@NH )@@G@@. CALLING SEQUENCE: @[@@@@. @D@@@@. FORTRAN: CALL DIRINT($NI )@@G@@ERR,ECODE,MASK,FORK) @[@@@@. @A@@@@. ASSEMBLY: LMJ X11,DIRNJ )@@G@@INT @E@@@@. + ERTN . ERROR RETURN ADDR NK )@@G@@@G@@@@. + ECODE . ADDR OF 2-WORD ERROR CODE BNL )@@G@@UFFER @D@@@@. + MASK . ADDR OF MASK @E@@@@NM )@@G@@. + FORK . ADDR OF FORK$ WORD @E@@@@. NN )@@G@@ + 0 . FORTRAN COMPATIBILITY@[@@@@. @F@@@@NO )@@G@@. DIRINT MASK VALUES: (BITS MAY BE SET IN ANY COMBINATION) @[@@@@NP )@@G@@. @C@@@@. IF BIT 0 IS SET, DON'T INITIALIZE DIRLNK @F@@@@. NQ )@@G@@ IF BIT 1 IS SET, TELL DIRSEC TO GET LEAD ITEMS (SECTOR 0) @F@@@@. NR )@@G@@ IF BIT 2 IS SET, DIRSEC WILL GET MAIN ITEMS (SECTOR 0) @F@@@@. NS )@@G@@ IF BIT 3 IS SET, DIRSEC WILL PUT LEAD ITEMS IN BUFFER ADDR @E@@@@. NT )@@G@@ GIVEN IN DIRSEC CALL, AND MAIN ITEMS IN BUFFER+28. @F@@@@. IF BONU )@@G@@TH BITS 1&2 ARE SET, DIRSEC WILL RETRIEVE LEAD ITEMS @F@@@@. AS NV )@@G@@WELL AS MAIN ITEMS, AND WILL RETURN WITH A0=0 IF IT @G@@@@. FOUNW )@@G@@ND A LEAD ITEM, AND A0=1 IF IT FOUND A MAIN ITEM. IF IT @G@@@@. NX )@@G@@ IS DESIRED TO MOVE ON TO THE NEXT LEAD ITEM WITHOUT RETURNING @H@@@@NY )@@G@@. ALL THE MAIN ITEMS FOR THE CURRENT LEAD ITEM, DIREC$'S EXTERNALNZ )@@G@@IZED @G@@@@. CELL 'GOTONE' SHOULD BE CLEARED BEFORE THE NEXT DIROA )@@G@@SEC CALL. @[@@@@. @H@@@@. FORK$ WORD - WHEN DOING A DOUBLE-BUFFOB )@@G@@ERED DGET$, NO OTHER ACTIVITES MAY @H@@@@. BE ACTIVE. IF THE FORK$ OC )@@G@@WORD IS NON-ZERO, DIRINT WILL DO AN ER FORK$ TO @H@@@@. THE ADDRESS SOD )@@G@@PECIFIED, AFTER THE ACTUAL DGET$ IS DONE. IF THE FORK$ WORD@C@@@@. COE )@@G@@ONTAINS 0, THEN NO ER FORK$ WILL BE DONE. @[@@@@. @[@@@@. @E@@@@OF )@@G@@. DIRSEC - GETS THE NEXT DESIRED ITEM FROM THE DGET$ FILE @[@@@@. OG )@@G@@@^@@@@. CALLING SEQUENCE: @[@@@@. @C@@@@. FORTRAN: CALL DIOH )@@G@@RSEC($ERR,ECODE,BUFF) @[@@@@. @A@@@@. ASSEMBLY: LMJ X11,DIROI )@@G@@SEC @E@@@@. + ERTN . ERROR RETURN ADDR OJ )@@G@@@G@@@@. + ECODE . ADDR OF 2-WORD ERROR CODE BOK )@@G@@UFFER @G@@@@. + BUFF . WHERE TO PUT THE INFOOL )@@G@@RMATION @E@@@@. + 0 . FORTRAN COMPATIOM )@@G@@BILITY@[@@@@. @A@@@@. SEE NOTES UNDER DIRINT @[@@@@. ON )@@G@@@D@@@@. DIRLNK - LINK TO ANOTHER LEAD ITEM/MAIN ITEM SECTOR @[@@@@. OO )@@G@@@^@@@@. CALLING SEQUENCE: @[@@@@. @D@@@@. FORTRAN: CALL DIOP )@@G@@RLNK($ERR,ECODE,ITEM,LINK) @[@@@@. @A@@@@. ASSEMBLY: LMJ XOQ )@@G@@11,DIRLNK @E@@@@. + ERTN . ERROR RETURN ADOR )@@G@@DR @G@@@@. + ECODE . ADDR OF 2-WORD ERROR OS )@@G@@CODE BUFFER @D@@@@. + ITEM . WHERE TO PUT ITOT )@@G@@@D@@@@. + LINK . ADDR OF LINK @E@@@@. OU )@@G@@ + 0 . FORTRAN COMPATIBILITY@[@@@@. @[@@@@OV )@@G@@. @#@@@@. ERROR CODES: @[@@@@. @D@@@@. 1 - MSCON$ DGET$ ERROROW )@@G@@ (WORD 1 IS CONTENTS OF A0) @D@@@@. 2 - I/O ERROR (WORD 1 IS CONTENTS OX )@@G@@OF IOPACKET+3) @^@@@@. 3 - EOF ON DIRSEC CALL@F@@@@. 4 - CSF$ ERROR OOY )@@G@@N @ASG,T OF SCRATCH FILE (STATUS IS IN WORD 1) @E@@@@. 5 - CALL MADE ONOZ )@@G@@ DIRSEC OR DIRLNK WHEN NOT INITIALIZED @H@@@@. 6 - NUMBER OF DIRECTORPA )@@G@@Y TRACKS TOO BIG - OVERFLEW ADDTBL IN DIRLNK DURING @G@@@@. INITIAPB )@@G@@LIZATION. INCREASE 'DIRSIZ' (CURRENT VALUE IN WORD 1). @D@@@@. 7 - PC )@@G@@BAD ADDRESS PASSED TO DIRLNK (ADDR IN WORD 1) @D@@@@. 8 - ERROR RETURNPD )@@G@@ FROM ER MCT$ (STATUS IN WORD 1) @B@@@@. 9 - BAD DIRINT MASK (MASK INPE )@@G@@ WORD 1) @[@@@@. @[@@@@/$(1) @#@@@@ AXR$ @^@@@@DEBUG PF )@@G@@ EQU 0 @G@@@@DIRSIZ* EQU 0 . DIRSIZPG )@@G@@ IS THE INITIAL SIZE OF @E@@@@ . PH )@@G@@THE DGET$ FILE. @G@@@@ . IF THIPI )@@G@@S IS NOT ENOUGH, DIREC$ @H@@@@ . PJ )@@G@@WILL FREE THE FILE AND REASSIGN @G@@@@ PK )@@G@@ . IT WITH THE PROPER RESERVE. @G@@@@ PL )@@G@@ . IF CHANGED, DIRLNK MUST BE @E@@@@ PM )@@G@@ . REASSEMBLED, ALSO.@B@@@@ PN )@@G@@ . @I@@@@ . IF YOUPO )@@G@@R DIRECTORY SIZE REMAINS FAIRLY @H@@@@ PP )@@G@@ . STABLE (SAY, AROUND 150 TRACKS) @G@@@@ PQ )@@G@@ . THEN YOU SHOULD SET DIRSIZ TO @H@@@@ PR )@@G@@ . THAT VALUE, PLUS SOME EXPANSION @H@@@@PS )@@G@@ . FACTOR. IF, ON THE OTHER HANDPT )@@G@@, @G@@@@ . YOUR DIRECTORY SIZPU )@@G@@E KEEPS @H@@@@ . INCREASING, PV )@@G@@SET DIRSIZ TO ZERO. @B@@@@ . PW )@@G@@@D@@@@DIREND* L A0,FREE . CHANGE CSFIM@D@@@@ PX )@@G@@ LA A1,CSFIM . TO 'FREE' @F@@@@ S PY )@@G@@ A0,CSFIM . AFTER SAVING 'ASG,T' @A@@@@ LA PZ )@@G@@ A0,(4,CSFIM) @^@@@@ ER CSF$@E@@@@ SA QA )@@G@@ A1,CSFIM . RESTORE 'ASG,T' @E@@@@ SZ NXSEQB )@@G@@C . ZERO DRUM ADDRESS @C@@@@ J 1,X11 QC )@@G@@ . RETURN@[@@@@. @[@@@@. @]@@@@DIRINT* . @D@@@@ QD )@@G@@ S X11,SAVX11 . SAVE X11 @E@@@@ L QE )@@G@@ A0,*2,X11 . GET DIRINT MASK @E@@@@ TOP,U A0,2QF )@@G@@ . WANT LEAD ITEMS @E@@@@ TEP,U A0,4 QG )@@G@@ . OR MAIN ITEMS? @D@@@@ J $+2 QH )@@G@@ . YES, GO ON @D@@@@ J BADMASK . NO, BAQI )@@G@@D MASK@G@@@@ SZ SEP . CLEAR SEPARATE LI/QJ )@@G@@MI BUFF FLAG@D@@@@ TOP,U A0,010 . BIT 3 SET? QK )@@G@@@C@@@@ J NOSEP . NO @E@@@@ SAQL )@@G@@ A0,SEP . YES, SET FLAG @D@@@@ AN,U QM )@@G@@ A0,010 . CLEAR BIT 3 @[@@@@NOSEP.@^@@@@ SZ QN )@@G@@ A1 @^@@@@ DSL A0,2@ @@@@ LSSL A0,17 QO )@@G@@@F@@@@ LDSL A0,18 . SET MASK SO H1=WANTM QP )@@G@@@D@@@@ S A0,MASK . AND H2=WANTL@[@@@@REASG.QQ )@@G@@@F@@@@ LA A1,MSPKT+3 . GET INITIAL RESERVE QR )@@G@@@F@@@@ JZ A1,ZRO . IF ZERO, LEAVE IT ALONE QS )@@G@@@D@@@@ SSL A1,5 . ADD ABOUT 3%@G@@@@ QT )@@G@@ TLE,U A1,3 . AT LEAST 3 TRACKS BEING ADDED?@G@@@@QU )@@G@@ LA,U A1,2 . NO, ADD 2 TRACKS TO ACCOMODATEQV )@@G@@@E@@@@ . DYNAMIC EXPANSION @D@@@@QW )@@G@@ AA A1,MSPKT+3 . TO BE SAFE @]@@@@ZRO . QX )@@G@@@D@@@@ LA A2,SLASH . '/ ' @F@@@@CN QY )@@G@@ SZ A0 . CONVERT TO FD DECIMAL @ @@@@ QZ )@@G@@ DI,U A0,10 @F@@@@ AA,U A1,060 . RA )@@G@@CONVERT TO FIELDATA @E@@@@ DSL A1,6 . RB )@@G@@LEFT-JUSTIFY IN A2@ @@@@ LA A1,A0 @ @@@@ JNRC )@@G@@Z A0,CN @E@@@@ SA A2,INTRES . STORE RD )@@G@@IN ASG IMAGE@D@@@@ L,U A0,CSFIM . ASG FILE RE )@@G@@@^@@@@ ER CSF$@ @@@@ JNZ A0,CSFR @D@@@@RF )@@G@@ L,U A0,MSPKT . DO DGET$ @E@@@@ ERRG )@@G@@ MSCON$ . TRY DBDGET$ FIRST @E@@@@ JP RH )@@G@@ A0,DGETOK . DID THAT GO OKAY? @F@@@@ L A1,ARI )@@G@@0 . NO, GET EXEC INDICATOR @ @@@@ SSL A1,3RJ )@@G@@0 @F@@@@ TG,U A1,043 . IS DBDGET$ OPERATIRK )@@G@@ONAL? @F@@@@ J MSCR . YES, SOMETHING'S WRL )@@G@@RONG @C@@@@ L,U A0,010 . NO @ @@@@ RM )@@G@@ S A0,MSPKT @ @@@@ L,U A0,MSPKT @G@@@@ RN )@@G@@ ER MSCON$ . SO DO A REGULAR DGET$ THEN @ @@@@RO )@@G@@ JN A0,MSCR @F@@@@DGETOK L A0,*3,X11 RP )@@G@@ . WANNA FORK ANYTHING? @ @@@@ JZ A0,$+2 @D@@@@RQ )@@G@@ ER FORK$ . YES, DO IT @H@@@@ SZRR )@@G@@ IOPAK+5 . INITIALIZE DGET$ DRUM ADDR TO ZERO @E@@@@RS )@@G@@ L,U A0,IOPAK . READ FIRST SEC @^@@@@ RT )@@G@@ ER IOW$@ @@@@ TZ,S1 IOPAK+3 @^@@@@ SLRU )@@G@@J IOR @E@@@@ L,H1 A0,BUF+2 . FIRST DIR TRRV )@@G@@K @^@@@@ AN,U A0,1@F@@@@ S A0,FIRSTR RW )@@G@@ . SAVE ADDR OF FIRST TRK @E@@@@ LSSL A0,6 RX )@@G@@ . CONVERT TO SECTORS@H@@@@ S A0,NXSEC RY )@@G@@ . SET NXSEC = ADDR OF FIRST SECTOR @ @@@@ L,H2 A0,BRZ )@@G@@UF+2 @F@@@@ LSSL A0,6 . NUMBER OF DIRECTORSA )@@G@@Y @E@@@@ S A0,QSEC . SECTORS WRITTEN SB )@@G@@@E@@@@ L,U A0,BUF+24 . SET UP TRACK INDEX@F@@@@SC )@@G@@ S A0,DX . WILL START WITH BUF+27 @E@@@@SD )@@G@@ L A0,ENDWD . GET END SENTINEL @G@@@@ SE )@@G@@ S A0,BUF . STORE IN FIRST WORD OF BUFFER @F@@@@SF )@@G@@ S A0,BUF+27 . AND IN LAST (28TH) WORD @G@@@@SG )@@G@@ J DIR$ET . INITIALIZE AND SET UP ADDTBL SH )@@G@@@[@@@@. @E@@@@. DIRSEC ENTRANCE - RETRIEVE NEXT SECTOR OF DESIRED TYSI )@@G@@PE @[@@@@. @]@@@@DIRSEC*. @D@@@@ S X11,SAVX11SJ )@@G@@ . STORE X11 @G@@@@ TZ GOTONE . SK )@@G@@HAVE A LEAD ITEM ALREADY? @G@@@@ J LINCOR SL )@@G@@ . YES, SEE IF USER WANTS MITM @]@@@@DIRSC2. @F@@@@ L SM )@@G@@ A2,NXSEC . GET ADDR OF NEXT SECTOR @F@@@@ JZSN )@@G@@ A2,NOTINT . ERROR IF NOT INITIALIZED@F@@@@ TGSO )@@G@@ A2,QSEC . BEYOND LAST SECTOR? @G@@@@ J SP )@@G@@ EOF . YES, RETURN WITH EOF STATUS @G@@@@ SQ )@@G@@ AND,U A2,077 . GET SECTOR ADDR WITHIN TRACK @F@@@@SR )@@G@@ JNZ A3,STRK . FIRST SECTOR IN TRACK? @G@@@@SS )@@G@@ S A2,IOPAK+5 . NO,STRK YES, READ TRACK ST )@@G@@@D@@@@ L A0,(1792,TRKBUF) . INTO TRKBUF @ @@@@ SU )@@G@@ S A0,IOPAK+4@ @@@@ L,U A0,IOPAK @C@@@@ SV )@@G@@ ER IOW$ . DO IT @C@@@@ TZ,S1 IOPASW )@@G@@K+3 . IO OK?@F@@@@ SLJ IOR . SX )@@G@@NOPE, RETURN IO STATUS @E@@@@NEWDX L A1,DX . SY )@@G@@GET TRACK INDEX @G@@@@ A,U A1,3 . INCREMSZ )@@G@@ENT TO NEXT TRACK DESC @E@@@@ S A1,DX . TA )@@G@@SET NEW INDEX @E@@@@ L A1,0,A1 . GET TRTB )@@G@@ACK ADDR @F@@@@ JZ A1,NEWDX . IF ZERO, TRYTC )@@G@@ ANOTHER @E@@@@ JP A1,STRK . TRACK IN USETD )@@G@@? @H@@@@ TE A1,ENDWD . YES,STRK NO,CHECTE )@@G@@K FOR END OF TRACK@F@@@@ J NEWDX . NOT ENTF )@@G@@D, TRY ANOTHER @G@@@@ L,U A0,BUF . END OFTG )@@G@@ TRACK- RESET INDEX @ @@@@ S A0,DX @E@@@@ TH )@@G@@ L,U R1,27 . SET FOR 27-WORD BT@C@@@@ LXTI )@@G@@I,U A0,1 . OF DAS@E@@@@ L A1,(1,TRKBTJ )@@G@@UF) . FROM TRKBUF TO BUF@ @@@@ BT A0,0,*A1 @[@@@@TK )@@G@@STRK. @E@@@@ . A2 HAS SECTOR ADDRTL )@@G@@@G@@@@ SSC A2,5 . POSITION FOR SECTOR 32 TTM )@@G@@EST @G@@@@ AND,U A2,1 . SET UP A3 AS INDEXTN )@@G@@ TO FIRST @D@@@@ A,U A3,1 . OR SECOND TO )@@G@@@H@@@@ A A3,DX . WORD FOLLOWING TRACK ADDTP )@@G@@RESS IN DAS @F@@@@ SSL A2,31 . GET SECTOR NTQ )@@G@@UMBER MOD 32@H@@@@ L A0,0,A3 . GET BIT MASKTR )@@G@@ FOR THESE 32 SECTORS @G@@@@ LSSL A0,0,A2 . TS )@@G@@ISOLATE BIT FOR THIS SECTOR @ @@@@ ON DEBUG>1 @ @@@@TT )@@G@@ S A0,SNAP+2 @ @@@@ L,U A0,SNAP @ @@@@TU )@@G@@ ER SNAP$ @#@@@@ OFF @H@@@@ JPTV )@@G@@ A0,BUMP1 . IF BIT CLEAR, THIS SECTOR NOT IN USE@E@@@@TW )@@G@@ L A2,NXSEC . IN USE - GET ADDR @F@@@@ TX )@@G@@ AND,U A2,077 . ISOLATE SECTOR NUMBER @F@@@@ TY )@@G@@ MSI,U A3,28 . CONVERT TO WORD COUNT @F@@@@ TZ )@@G@@ L A0,TRKBUF,A3 . GET FIRST WORD OF SECTOR@D@@@@/. UA )@@G@@ ACCORDING TO RCR, AT LEVEL 27-20-143, NORMAL@G@@@@. DIRECTORUB )@@G@@Y HOUSKEEPING MAY LEAVE SHREDS OF MAIN ITEMS LYING @F@@@@. ARUC )@@G@@OUND WITH DAS BITS SAYING THEY'RE IN USE. THEREFORE, @G@@@@. WEUD )@@G@@ HAVE TO SEARCH THE DGET$ FILE IGNORING MITMS & SNAGGING @G@@@@. UE )@@G@@ ONLY LITMS. IF THE USER WANTS MITMS, WE'LL HAVE TO USE DIRLNK @D@@@@UF )@@G@@. TO GET THEM, FEEDING IT LINKS FROM THE LITM.@[@@@@. @D@@@@UG )@@G@@ AND A0,LMASK . LEAD ITEM? @E@@@@ JZUH )@@G@@ A1,BUMP1 . NO,BUMP1 YES @A@@@@ L UI )@@G@@ A0,(1,TRKBUF) @F@@@@ AU A0,A3 . A1 = (UJ )@@G@@1,TRKBUF+ITEMADDR)@ @@@@ LXM,U A0,LBUF @E@@@@ L,UK )@@G@@U R1,28 . BLOCK TRANSFER @D@@@@ BT UL )@@G@@ A0,0,*A1 . LITM TO LBUF@F@@@@ A,U A2,1 UM )@@G@@ . INCREMENT TO NEXT SECTOR@ @@@@ S A2,NXSEC UN )@@G@@@^@@@@ L,U A0,1@E@@@@ S A0,GOTONE UO )@@G@@ . MARK LITM IN CORE @E@@@@ TNZ WANTL . UP )@@G@@USER WANTS LITM? @F@@@@ J GTMITM . NO, GOUQ )@@G@@ GET HIM A MITM @F@@@@ L A0,(1,TRKBUF) . YES, BUR )@@G@@T HIM THIS LITM @ @@@@ AU A0,A3 @ @@@@ L US )@@G@@ X11,SAVX11@F@@@@ LXM A0,2,X11 . GET USUT )@@G@@ER'S BUFFER ADDR @ @@@@ L,U R1,28 @G@@@@ BTUU )@@G@@ A0,0,*A1 . BT LEAD ITEM TO USER BUFFER @F@@@@ UV )@@G@@ SZ A0 . SET LEAAD-ITEM FLAG, AND@C@@@@ UW )@@G@@ J 4,X11 . RETURN@F@@@@LINCOR. UX )@@G@@ . LEAD ITEM IS IN CORE @F@@@@ TNZ WANTUY )@@G@@M . DOES USER WANT MITMS? @F@@@@ J DIRSUZ )@@G@@C2 . NO, GO FIND ANOTHER LITM@]@@@@GTMITM. @G@@@@ VA )@@G@@ L A0,HMANY . HOW MANY MITM'S PASSED SO FAR @G@@@@VB )@@G@@ TG,S4 A0,LBUF+9 . ANY MORE LEFT IN THIS LITM? VC )@@G@@@E@@@@ J NOMORM . NO, GO GET LITMS @G@@@@VD )@@G@@ A,U A0,1 . YES, SHOW WE PASSED 1 MORE VE )@@G@@@ @@@@ S A0,HMANY @ @@@@ L A0,(1,0) VF )@@G@@@E@@@@LIT0 TZ LBUF+11,A0 . FIND NEXT LINK @ @@@@VG )@@G@@ J GOTIT @E@@@@ TLEM,U A0,16 VH )@@G@@ . END OF LITM 0? @E@@@@ J LIT0 . VI )@@G@@NO, KEEP GOING @E@@@@ TZ GOTL0 . YES, LVJ )@@G@@ITM 1 INCOR?@C@@@@ J GOTL1 . YES @D@@@@VK )@@G@@ LMJ X11,DIRLNK . NO, GET IT @F@@@@ J VL )@@G@@ NOMORM . IF ERR, FORGET THIS FILE@ @@@@ + VM )@@G@@ ECODE @E@@@@ + L0BUF . PUT ITVN )@@G@@ IN L0BUF @F@@@@ + LBUF . USE LBUF+0 AVO )@@G@@S LINK WORD @C@@@@ + 0 . WB @^@@@@VP )@@G@@ L,U A0,1@E@@@@ S A0,GOTL0 . VQ )@@G@@MARK L1 INCOR @ @@@@GOTL1 L A0,(1,0) @E@@@@GOTL1A TZVR )@@G@@ L0BUF+1,A0 . LOOK FOR LINK @D@@@@ J VS )@@G@@ GOTIT2 . GOT LINK @E@@@@ TLEM,U A0,14 VT )@@G@@ . AT END OF L1? @E@@@@ J GOTL1A VU )@@G@@ . NO, TRY NEXT LINK @F@@@@ . VV )@@G@@YES, FORGET THIS FILE @E@@@@NOMORM SZ LFLAG . VW )@@G@@GOTL0,HMANY=0 @E@@@@ SZ GOTONE . CLEAR VX )@@G@@LINCOR FLAG @E@@@@ J DIRSC2 . GET NEXT LITVY )@@G@@M @[@@@@. @D@@@@GOTIT A,U A0,LBUF+11 . FOR LIVZ )@@G@@0 @^@@@@ J $+2 @[@@@@. @E@@@@GOTIT2 A,U WA )@@G@@ A0,L0BUF+1 . FOR LI1 AND UP @D@@@@ L A1,0WB )@@G@@,A0 . PICK UP LINK@D@@@@ SZ 0,A0 WC )@@G@@ . MARK IT USED@G@@@@ S A1,MILINK . SAVE LWD )@@G@@INK WORD FOR DIRLNK @ @@@@ L X11,SAVX11@F@@@@ WE )@@G@@ L A1,2,X11 . GET USER'S BUFFER ADDR @F@@@@ WF )@@G@@ TZ SEP . SEPARATE LI/MI BUFFERS? @F@@@@ WG )@@G@@ A,U A1,28 . YES, PUT MI IN BUFF+28 @E@@@@ WH )@@G@@ S A1,$+4 . STORE FOR DIRLNK @E@@@@ LMWI )@@G@@J X11,DIRLNK . LINK TO MAIN ITEM @F@@@@ J WJ )@@G@@ NOMORM . IF ERR, FORGET THIS FILE@ @@@@ + WK )@@G@@ ECODE @D@@@@ + 0 . BUFFER ADDR WL )@@G@@@D@@@@ + MILINK . LINK WORD @^@@@@ WM )@@G@@ + 0 @ @@@@ L X11,SAVX11@E@@@@ L,WN )@@G@@U A0,1 . SET MAIN-ITEM FLAG@C@@@@ J WO )@@G@@ 4,X11 . RETURN@[@@@@. @ @@@@MSCR L A1,AWP )@@G@@0 @H@@@@ LSSL A0,12 . GET ERROR STATUS -WQ )@@G@@ IF IT'S 033, @H@@@@ SSL A0,30 . EXEC WR )@@G@@HAS RESET INITIAL RESERVE @G@@@@ TNE,U A0,033 WS )@@G@@ . IN MSPKT+3 TO NEEDED VALUE, @E@@@@ J TRYAGN WT )@@G@@ . SO TRY AGAIN @F@@@@DGETER L,U A0,1 WU )@@G@@ . NO GOOD, SET ERROR TYPE @F@@@@ J ERREXT WV )@@G@@ . AND DO ERROR RETURN @F@@@@TRYAGN L A0,TRYCNT WW )@@G@@ . GET DGET$ ATTEMPT COUNT @E@@@@ A,U A0,1 WX )@@G@@ . INCREMENT COUNT @D@@@@ S A0,TRYCNT . WY )@@G@@STORE IT @E@@@@ TG,U A0,3 . THIRD ATTEMPWZ )@@G@@T? @D@@@@ J DGETER . YES, QUIT @ @@@@XA )@@G@@ ON DIRSIZ>0 @^@@@@ AN,U A0,1@F@@@@ XB )@@G@@ JNZ A0,$+3 . IF FIRST TIME THRU, @H@@@@ XC )@@G@@ L,U A0,LOGMSG . TELL 'EM DIRSIZ GOTTA BE CHANGED XD )@@G@@@^@@@@ ER CSF$@ @@@@ OFF DIRSIZ>0 @E@@@@XE )@@G@@ LMJ X11,DIREND . FREE DGET$ FILE @^@@@@ XF )@@G@@ + 0 @F@@@@ L X11,SAVX11 . RETRIEXG )@@G@@VE RETURN ADDR @H@@@@ J REASG . TRY REXH )@@G@@-ASSIGNING WITH PROPER RESERVE@[@@@@. @^@@@@IOR J 0 XI )@@G@@@^@@@@ L,U A0,2@ @@@@ L A1,IOPAK+3@ @@@@XJ )@@G@@ J ERREXT @]@@@@BADMASK. @E@@@@ L XK )@@G@@ A1,A0 . GET MASK IN A1 @G@@@@ L,U A0,9XL )@@G@@ . SET 'BAD MASK' ERROR CODE @B@@@@ J XM )@@G@@ ERREXT . @[@@@@EOF. @F@@@@ L A0,FIRSTR XN )@@G@@ . GET ADDR OF FIRST TR1CK @E@@@@ LSSL A0,6 XO )@@G@@ . CNVT 2 SECTORS @F@@@@ S A0,NXSEC XP )@@G@@ . STORE AS NEXT SECTOR @E@@@@ SZ GOTONE XQ )@@G@@ . CLEAR LINCOR FLAG @E@@@@ SZ LFLAG . XR )@@G@@CLEAR GOTL0,HMANY @F@@@@ L,U A0,BUF+24 . RE-INIXS )@@G@@TIALIZE TRK INDEX @ @@@@ S A0,DX @D@@@@. NOW, IF SOXT )@@G@@MEONE GETS EOF RTN, THEN CALLS AGAIN, @A@@@@. THEY WILL START OVER AXU )@@G@@T BEGINNING @A@@@@. >>>WITHOUT<<< RE-INITIALIZING @G@@@@ L,XV )@@G@@U A0,3 . SET 'DIRSEC EOF' ERROR CODE @^@@@@ XW )@@G@@ SZ A1 @ @@@@ J ERREXT @[@@@@. @F@@@@XX )@@G@@CSFR XOR A0,(1*/33) . FILE ALREADY ASSIGNED? @E@@@@XY )@@G@@ JZ A1,RERUN . YES, MAY BE RERUN @E@@@@ XZ )@@G@@ L A1,A0 . NO, A1 GETS STATUS@F@@@@ L,YA )@@G@@U A0,4 . A0 GETS CSF$ ERROR CODE @ @@@@ J YB )@@G@@ ERREXT @F@@@@RERUN TNZ NXSEC . ALREADYC )@@G@@Y INITIALIZED? @D@@@@ J DGETOK . NO, DOYD )@@G@@ IT @E@@@@ SZ GOTONE . YES, CLEAR FLAGS YE )@@G@@@B@@@@ SZ LFLAG . @E@@@@ LA YF )@@G@@ A0,FIRSTR . GET FIRST TRK ADDR@E@@@@ LSSL A0,6YG )@@G@@ . CONVERT TO SECTORS@F@@@@ SA A0,NXSEC YH )@@G@@ . INITIALIZE NEXT SECTOR @F@@@@ L,U A0,BUF+24 YI )@@G@@ . INITIALIZE TRK INDEX @ @@@@ S A0,DX YJ )@@G@@@C@@@@ J 5,X11 . RETURN@ @@@@BUMP1 L YK )@@G@@ A2,NXSEC @^@@@@ A,U A2,1@ @@@@ S YL )@@G@@ A2,NXSEC @ @@@@ J DIRSEC+1 @ @@@@BUMP64 L YM )@@G@@ A1,NXSEC @ @@@@ A,U A1,64 @ @@@@ XOR,U YN )@@G@@ A1,63 @ @@@@ S A2,NXSEC @ @@@@ J YO )@@G@@ DIRSEC+1 @^@@@@NOTINT L,U A0,5@^@@@@ SZ A1 YP )@@G@@@F@@@@ERREXT L X11,SAVX11 . GET CORRECT RETURN POINT YQ )@@G@@@ @@@@ DS A0,*1,X11 @ @@@@ J *0,X11 YR )@@G@@@[@@@@$(4) @#@@@@FREE '@FREE '@#@@@@SLASH '/ '@F@@@@TRYCNTYS )@@G@@ + 0 . DGET$ ATTEMPT COUNT @B@@@@CSFIM YT )@@G@@ '@ASG,T $$--DGET--$$,F/' @ @@@@INTRES ' /2000 . ' YU )@@G@@@ @@@@LMASK + 1*/33 @#@@@@DIREC$FLAG* . @^@@@@LFLAG YV )@@G@@ + 0 @^@@@@MASK + 0 @F@@@@GOTONE* + YW )@@G@@ 0 . LEAD-ITEM-IN-CORE FLAG @G@@@@SEP + YX )@@G@@ 0 . SEPARATE LI/MI BUFFERS FLAG @ @@@@GOTL0 EQYY )@@G@@UF LFLAG,,S2 @ @@@@HMANY EQUF LFLAG,,H2 @ @@@@WANTM EQYZ )@@G@@UF MASK,,H1 @ @@@@WANTL EQUF MASK,,H2 @^@@@@IOPAK '$ZA )@@G@@$--DGET--$$'@^@@@@ + 0 @ @@@@ + R$,0ZB )@@G@@,0 @ @@@@ + 28,BUF @^@@@@ + 0 ZC )@@G@@@^@@@@TRKBUF RES 1792@^@@@@ECODE + 0 @^@@@@ ZD )@@G@@ + 0 @^@@@@MILINK + 0 @^@@@@SAVX11 + ZE )@@G@@ 0 @^@@@@LBUF RES 28 @^@@@@L0BUF RES 28 @^@@@@ZF )@@G@@BUF RES 28 @^@@@@NXSEC + 0 @^@@@@FIRSTR + ZG )@@G@@ 0 @^@@@@QSEC + 0 @^@@@@DX + 0 ZH )@@G@@@[@@@@/. @ @@@@DIREC$* + NXSEC @^@@@@ + ZI )@@G@@ QSEC@^@@@@ + BUF @ @@@@ + IOPAK ZJ )@@G@@@ @@@@ + FIRSTR @G@@@@ + 0 ZK )@@G@@ . DIRLNK MUST RETURN OWN ERRORS @G@@@@ + 0 ZL )@@G@@ . TO KEEP RETURN POINTS STRAIGHT @ @@@@ENDWD - ZM )@@G@@ 'ENDEND' @ @@@@ + TRKBUF @E@@@@ . ***************ZN )@@G@@********** ADD NOTHING ABOVE THIS LINE @[@@@@/. @D@@@@DGETP$FN$WD$ZO )@@G@@* . TO ALLOW CHANING OF MSCON$ FUNCTION@#@@@@MSPKT + 015 @^@@@@ZP )@@G@@ '$$--DGET--$$'@H@@@@PAKID$* + DIRSIZ . ZQ )@@G@@NECESSARY RESERVE RETURNED HERE @I@@@@ ZR )@@G@@ . SHOULD CONTAIN PACKID IF DOING DGETP$ @F@@@@ + ZS )@@G@@TRKBUF,DGET$BUF2 . BUFFERS FOR DBDGET$ @ @@@@ ONZT )@@G@@ DIRSIZ>0 @E@@@@LOGMSG '@LOG DIREC$ MSG - DIRSIZ SHOULD BE IZU )@@G@@NCREASED . '@ @@@@ OFF DIRSIZ>0 @ @@@@ ON ZV )@@G@@ DEBUG>1 @#@@@@SNAP 'NXTADR'@A@@@@ + 0700001,NXZW )@@G@@SEC @^@@@@ + 0 @#@@@@ OFF @#@@@@ ZX )@@G@@ END ___ L *[@@@@*SDFF*@ @@@@. @MFD SDF OUTPUT ROUTINE ZY )@@G@@@[@@@@. @F@@@@. CALLED IF W-OPTION IS SET. WRITES EACH QUALIFIER*FIZZ )@@G@@LENAME(CYC) @ @@@@. INTO SDF FILE CALLED OUT$$$.@[@@@@. @#@@@@ AA )@@G@@ AXR$ @H@@@@ CONFIG . DEFINE CONFIAB )@@G@@GURATION PARAMETERS @D@@@@ EQUFS . AC )@@G@@DEFINE TAGS @I@@@@ ON WOPTOK . ************AD )@@G@@**************************** @^@@@@BUFFA RES 28 @^@@@@BUFFB AE )@@G@@ RES 28 @B@@@@MSG* 'OUTPUT IN DATAFILE OUT$$$.' @#@@_@AF )@@G@@FILES ' '@^@@@@ RES 5 @ @@@@OUT$$$ '@ASG,T AG )@@G@@OUT$$$ . ' @#@@@@SDFF '*SDFF*'@^@@@@FCT* 'OUT$$$ ' @^@@@@AH )@@G@@ + 0 @ @@@@ + 010,0,0 @^@@@@ AI )@@G@@ + 28,0@^@@@@ + 0 @A@@@@ + AJ )@@G@@ BUFFA,BUFFB @^@@@@ + 1,0 @ @@@@ + AK )@@G@@ 1,SDFF @^@@@@ + 1,0 @ @@@@ + 0500AL )@@G@@1,0,0 @[@@@@/$(1).@[@@@@. @C@@@@. SDF INITIALIZATION: SET UP FCT ANAM )@@G@@D OPEN SDFO @[@@@@. @E@@@@SDF000* LA,U A0,OUT$$$ . AN )@@G@@ASSIGN OUT$$$ @^@@@@ ER CSF$@E@@@@ JN AO )@@G@@ A0,SDF010 . ERR$ IF NO GOOD @E@@@@ LA,U A0,FAP )@@G@@CT . OK, OPEN SDFO @ @@@@ LMJ X11,SDFOO AQ )@@G@@@F@@@@ LMJ X11,SDFO . WRITE '*SDFF*' LABEL AR )@@G@@@E@@@@SDF010 ER ERR$ . GET OUT IF NO GOOD@ @@@@AS )@@G@@ LA,U A0,06 @F@@@@ SA,T1 A0,FCT+10 AT )@@G@@ . SET TO WRITE 6 WORDS @G@@@@ LA,U A0,FILES AU )@@G@@ . STARTING WITH WORD OF BLANKS @E@@@@ SA,H2 A0,FCT+8 AV )@@G@@ . ALL SET, GO TO IT!@F@@@@ SR R15,SDFLOD AW )@@G@@ . SET SDF OPENED FLAG @F@@@@ J MFD200 AX )@@G@@ . RETURN TO PRINT ROUTINE @[@@@@. @^@@@@. SDF OUTPUT ROUTINE AY )@@G@@@[@@@@. @D@@@@SDF100* L,U R1,5 . BT 5 WORDS AZ )@@G@@@E@@@@ L A0,(1,LINOUT+7) . FROM PRINT BUFFER @F@@@@BA )@@G@@ L A1,(1,FILES+1) . TO SDF OUTPUT BUFFER @D@@@@BB )@@G@@ BT A1,0,*A0 . DO THE BT @C@@@@ LABC )@@G@@,U A0,5 . BLANK @G@@@@ SA,S1 A0,FILES+1BD )@@G@@ . BLANK OUT DISAB CHAR, IF ANY @D@@@@ LA,U A0,FBE )@@G@@CT . ADDR OF FCT @D@@@@ LMJ X11,SDFO BF )@@G@@ . WRITE IT OUT@^@@@@ ER ERR$@G@@@@ JNZ BG )@@G@@ A7,PR300 . IF BATCH, PRINT INFO, ALSO @[@@@@. @G@@@@BH )@@G@@. W-OPTION WAS USED IN DEMAND (SHORT LISTING) MODE. IF THE S-OPTION BI )@@G@@@F@@@@. WAS ALSO USED EXPLICITLY, PRINT THE INFO. IF NOT, JUST GO BACK BJ )@@G@@@^@@@@. FOR ANOTHER FILE. @[@@@@. @E@@@@ TNZ SPT BK )@@G@@ . S-OPTION SET? @H@@@@ J MFD300 BL )@@G@@ . NO, GET NEXT FILE (NO PRINTING) @E@@@@ J BM )@@G@@ PR300 . RETURN TO MAIN SEG@I@@@@ OFF WOPTBN )@@G@@OK . **************************************** @#@@@@ BO )@@G@@ END ___************************************* @^@@@@BUFFA REBP )@@G@@S 28 @^@@@@BUFFB RES 28 @B@@@@*[@@@@*SDFF*@ @@@@. @MFDBQ )@@G@@ SORT INTERFACE ROUTINES@[@@@@. @F@@@@. SORT PROCEDURE ALTERS MAIN IBR )@@G@@TEM SECTOR 0, WORDS 14, 18, AND 19. @[@@@@. @A@@@@. WORD 14 IS USED BS )@@G@@TO SAVE FLAGS @[@@@@. @H@@@@. ------------------------------BT )@@G@@------------------------------------- @H@@@@. : SUBCODE : BAKBU )@@G@@ : RDSC : TOTAL SIZE : @H@@@@. ------BV )@@G@@------------------------------------------------------------- @[@@@@BW )@@G@@. @G@@@@. SUBCODE IS FROM LEAD ITEM, 'BAK' IS BACKUP FLAG IN A13, ANBX )@@G@@D 'RDSC' @F@@@@. IS REMOVABLE-DISC FLAG IN A14. TOTAL SIZE IS NUMBERBY )@@G@@ ACCUMULATED@ @@@@. IN A15 BY 'CHECK' ROUTINE. @[@@@@. @G@@@@. WORDBZ )@@G@@S 18 AND 19, WHICH CONTAIN THE TIME AND DATE OF LAST REFERENCE @G@@@@CA )@@G@@. AND OF CATALOGUING, ARE MODIFIED SO THAT THE DATES ARE MORE EASILY CB )@@G@@@]@@@@. SORTED. @[@@@@. @H@@@@. ------------------------------CC )@@G@@------------------------------------- @H@@@@. : YEAR : MONCD )@@G@@ : DAY : TIME : @H@@@@. ------CE )@@G@@------------------------------------------------------------- @B@@@@CF )@@G@@. : : @B@@@@. :<-- THIS PORTIONCG )@@G@@ IS SORTED -->: @[@@@@. @#@@@@ AXR$ @H@@@@ COCH )@@G@@NFIG . DEFINE CONFIGURATION PARAMETERS @D@@@@CI )@@G@@ EQUFS . DEFINE TAGS @ @@@@ ONCJ )@@G@@ SORTOK @E@@@@NREC + NFILES/2 . NUMBERCK )@@G@@ OF RECORDS @E@@@@NCHAR + 56*6 . CHAR PER RECCL )@@G@@ORD @[@@@@. @[@@@@$(1). @[@@@@. @A@@@@. CALL SORTF TO ASSIGN SCM )@@G@@ORT FILES @[@@@@. @]@@@@OPNSRT* . @F@@@@ SR R15,CN )@@G@@SORTED . MARK SORT-SEG-LOADED @F@@@@ LA,U A0,NCO )@@G@@FILES . GET NUMBER OF FILES @H@@@@ TZ ZPT CP )@@G@@ . PRIVILEGED AND DOING EVERYTHING? @G@@@@ SACQ )@@G@@ A0,NREC . YES, BETTER INCREASE NREC @D@@@@ CR )@@G@@ DO SRTDBG , P$RINT (0101,('SORTF ')) @E@@@@ LMJ CS )@@G@@ X11,SORTF . ASSIGN SORT FILES @E@@@@ + NRECCT )@@G@@ . NUMBER OF RECORDS @G@@@@ + NCHAR CU )@@G@@ . NUMBER OF CHAR PER RECORD @C@@@@ + 0 CV )@@G@@ . WB @G@@@@NOSORTF* R$OPN SORTBL . CW )@@G@@OPEN SORT, RETURN TO FPOC @[@@@@. @F@@@@. DON'T NEED PARAMETER CCX )@@G@@ARD PROCESSING, SO REPLACE KPARCD WITH: @[@@@@. @ @@@@ROPN$* LMCY )@@G@@J X1,RSTRG$ @#@@@@ 'ROPN$ '@ @@@@ J RBPNCZ )@@G@@$ @]@@@@RTMIN$*. @]@@@@RTMAX$*. @]@@@@RTPT$*. @]@@@@RTST$*DA )@@G@@. @]@@@@RTMT$*. @]@@@@RLBLK$*. @[@@@@. @^@@@@. RELEASE REDB )@@G@@CORD TO SORT@[@@@@. @]@@@@GOTREC* . @E@@@@ LA A0,FDC )@@G@@LAGS . GET LI/MI FLAGS @D@@@@ SA A0,MI0 DD )@@G@@ . STORE IN MI0@D@@@@ LA,S3 A0,LI0+10 . DE )@@G@@GET SUBCODE @D@@@@ SA,S1 A0,MI0+14 . SAVE SUBCODEDF )@@G@@@F@@@@ SA,S2 A13,MI0+14 . SAVE RDSC AND BAK FLAGS DG )@@G@@@B@@@@ SA,S3 A14,MI0+14 . @D@@@@ DO DH )@@G@@ SRTDBG , P$RINT (0101,('RREL$ ')) @F@@@@ L,U A0,MI0 DI )@@G@@ . PASS THIS FILE TO SORT @B@@@@ R$REL DJ )@@G@@ . @G@@@@ J CHK000 . GET NEXT FILDK )@@G@@E (SEG IS LOADED) @[@@@@. @B@@@@. DIRSEC EOF HAS OCCURRED,: DO THE SDL )@@G@@ORT @[@@@@. @]@@@@DOSORT* . @D@@@@ DO SRTDBG , PDM )@@G@@$RINT (0101,('RSORT$')) @G@@@@ R$SORT . DN )@@G@@DO THE SORT, RETURN TO LPOC @]@@@@LPOC* . @D@@@@ DO DO )@@G@@ SRTDBG , P$RINT (0101,('LPOC ')) @[@@@@. @F@@@@. GET NEXT RECORD DP )@@G@@FROM SORT, AND JUMP TO PRINT ROUTINE WITH IT @[@@@@. @]@@@@SRTNXTDQ )@@G@@* . @D@@@@ DO SRTDBG , P$RINT (0101,('RRET$ ')) @I@@@@DR )@@G@@ R$RET SRTEOF . GET NEXT RECORD - IF EOF, GO TDS )@@G@@O SRTEOF @^@@@@ LXI,U A0,1@ @@@@ L A1,(DT )@@G@@1,MI0)@ @@@@ L,U R1,56 @ @@@@ BT A1,0DU )@@G@@,*A0 @ @@@@ L A0,MI0 @E@@@@ S A0,FDV )@@G@@LAGS . RESTORE FLAGS @E@@@@ LA,S1 A0,MI0+14 DW )@@G@@ . RETRIEVE SUBCODE @ @@@@ S,S3 A0,LI0+10 @F@@@@DX )@@G@@ LA,S2 A13,MI0+14 . RETRIEVE RDSC, BAK FLAGS@B@@@@DY )@@G@@ LA,S3 A14,MI0+14 . @E@@@@ LA,H2 A15,DZ )@@G@@MI0+14 . RETRIEVE SIZE @I@@_@ J PR000 EA )@@G@@ . JUMP TO PRINT ROUTINE (SEG IS LOADED) @[@@@@. @A@@@@EB )@@G@@. EOF STATUS RECEIVED FROM SORT @[@@@@. @D@@@@SRTEOF TNZ EC )@@G@@ QANDF2 . QF OPTIONS? @F@@@@ J MFD600 ED )@@G@@ . NO, RETURN TO MAIN SEG @G@@@@ J QF900 EE )@@G@@ . YES, RETURN FOR ANOTHER FILE @ @@@@ OFF SORTEF )@@G@@OK @#@@@@ END ___ . NUMBER OF CHAR PER RECORD @C@@@@EG )@@G@@ + 0 . WB @G@@@@NOSORTF* R$OPN EH )@@G@@ SORTBL . OPEN SORT, RETURN TO FPO*[@@@@*SDFF*@G@@@@. @MFDEI )@@G@@ PRINT ROUTINE - FORMS ONE-LINE SUMMARY LISTING FOR EACH FILE @[@@@@EJ )@@G@@. @#@@@@ AXR$ @H@@@@ CONFIG EK )@@G@@ . DEFINE CONFIGURATION PARAMTERES @D@@@@ EQUFS EL )@@G@@ . DEFINE TAGS @[@@@@. @^@@@@P PROC 1,3 EM )@@G@@@^@@@@CHECK* NAME 0 @E@@@@ LA,U A0,P(1,1) EN )@@G@@ . GET OPTION LETTER @G@@@@ DO P(1,2)='TOP' , TOP,U AEO )@@G@@1,P(1,3) . CHECK OPTION BIT @G@@@@ DO P(1,2)='TEP' , TEP )@@G@@EP,U A1,P(1,3) . CHECK OPTION BIT @G@@@@ EX ST,*A2 EQ )@@G@@ . STORE LETTER IN PRINT LINE @#@@@@ END @[@@@@ER )@@G@@. @G@@@@WRNCHR EQU '?' . WARNING-ONLY DISABES )@@G@@LED CHAR @F@@@@HDWCHR EQU '!' . HARDWARE-DISET )@@G@@ABLED CHAR @F@@@@HDWBIT EQU 020 . HARDWARE-DISEU )@@G@@ABLED BIT @G@@@@BBTCHR EQU '#' . BAD BACKUP TEV )@@G@@APE DISABLE CHAR @F@@@@BBTBIT EQU 04 . BAD-BAEW )@@G@@CKUP TAPE BIT @G@@@@BMICHR EQU '#' . BAD M.EX )@@G@@I. SECTOR 1 DISABLE CHAR@D@@@@LPSCHR EQU '\' . EY )@@G@@LAPSE CHAR @E@@@@NOBCHR EQU '"' . NO-BACKUP CHEZ )@@G@@AR @F@@@@BNCCHR EQU '^' . BACKUP NOT CURRENTFA )@@G@@ CHAR @[@@@@. @C@@@@OTHTYP 'CARD' . 040 FB )@@G@@@C@@@@ '??' . 041 @C@@@@ 'PFC )@@G@@TP' . 042 @C@@@@ '??' FD )@@G@@ . 043 @C@@@@ 'HSP' . 044 FE )@@G@@@C@@@@ 'MHSP' . 045 @C@@@@ '?FF )@@G@@?' . 046 @C@@@@ '9300' FG )@@G@@ . 047 @C@@@@ '1004' . 050 FH )@@G@@@C@@@@ '??' . 051 @C@@@@ '?FI )@@G@@?' . 052 @C@@@@ '??' FJ )@@G@@ . 053 @C@@@@ '??' . 054 FK )@@G@@@C@@@@ '??' . 055 @C@@@@ '?FL )@@G@@?' . 056 @C@@@@ '0770' FM )@@G@@ . 057 @C@@@@ 'CONSOL' . 060 FN )@@G@@@C@@@@ '??' . 061 @C@@@@ '?FO )@@G@@?' . 062 @C@@@@ '??' FP )@@G@@ . 063 @C@@@@ '??' . 064 FQ )@@G@@@C@@@@ '??' . 065 @C@@@@ '?FR )@@G@@?' . 066 @C@@@@ '??' FS )@@G@@ . 067 @C@@@@ 'CTS' . 070 FT )@@G@@@C@@@@ 'WTS' . 071 @C@@@@ 'CFU )@@G@@TMC' . 072 @C@@@@ 'C/SP' FV )@@G@@ . 073 @C@@@@ '??' . 074 FW )@@G@@@C@@@@ '??' . 075 @C@@@@ '?FX )@@G@@?' . 076 @C@@@@ 'ARB' FY )@@G@@ . 077 @ @@@@ ON SNAPOK @A@@@@SNAPKT 'MFZ )@@G@@I0' . SNAP$ PACKET @D@@@@ + 28,MI0 . GA )@@G@@ASSUME MI0 @^@@@@ + 0 @ @@@@ OFF SNAPGB )@@G@@OK @[@@@@. @ @@@@. STORE TABLE FOR CAT OPTIONS @[@@@@. @C@@@@GC )@@G@@ST SA,S2 A0,LINOUT+1 . A @[@@@@. @C@@@@ GD )@@G@@ SA,S3 A0,LINOUT+1 . AB @C@@@@ SA,S4 A0,LGE )@@G@@INOUT+1 . ABC @C@@@@ SA,S1 A0,LINOUT+1 . GF )@@G@@DABC @C@@@@ SA,S6 A0,LINOUT . EDABC @C@@@@ GG )@@G@@ SA,S5 A0,LINOUT . FEDABC@D@@@@ SA,S4 A0,LGH )@@G@@INOUT . GFEDABC @D@@@@ SA,S3 A0,LINOUT GI )@@G@@ . HGFEDABC @D@@@@ SA,S2 A0,LINOUT . IHGFEDGJ )@@G@@ABC @D@@@@ SA,S1 A0,LINOUT . JIHGFEDABC @B@@_@GK )@@G@@/$(1),PR000* . START PRINT ROUTINE @[@@@@. @E@@@@. BETTER CONGL )@@G@@VERT THE CAT AND REF DATES BACK TO TDATE$ FORMAT@[@@@@. @E@@@@ GM )@@G@@ LA,U A2,1 . DO BOTH DATES @H@@@@PR010 LAGN )@@G@@,H1 A0,MI0+18,A2 . PICK UP DATE IN YR,MON,DAY FORMAT @F@@@@GO )@@G@@ SA,T1 A0,MI0+18,A2 . STORE MON,DAY IN T1 @F@@@@GP )@@G@@ SSL A0,12 . GET YEAR ALONE IN A0 @G@@@@GQ )@@G@@ SA,S3 A0,MI0+18,A2 . STORE IT IN TDATE$ FORMAT GR )@@G@@@F@@@@ JGD A2,PR010 . GO BACK FOR REF DATE GS )@@G@@@E@@@@ TZ QANDF2 . QF OPTIONS SET? @G@@@@GT )@@G@@ J PR030 . YES, DON'T BOTHER WITH TOTALS GU )@@G@@@[@@@@. @#@@@@. INCREMENT TOTALS@[@@@@. @G@@@@ BUMP GV )@@G@@ PFCT . INCREMENT TOTAL FILE COUNT @D@@@@ TNGW )@@G@@Z TAP . TAPE FILE? @C@@@@ J $+4 GX )@@G@@ . NO @G@@@@ BUMP TFCT . GY )@@G@@INCREMENT TAPE FILE COUNT @I@@@@ JZ A7,PR020 GZ )@@G@@ . IF DEMAND, DON'T CARE ABOUT BKP BLOCKS @G@@@@ JZ HA )@@G@@ A13,PR020 . IF NO BACKUP, CHECK J-OPTION @F@@@@ TNHB )@@G@@Z MI1+11 . REALLY GOT A BACKUP? @C@@@@ J HC )@@G@@ PR020 . NO @H@@@@ BUMP SECTOT,MI1HD )@@G@@+9,,H2 . YES, INCREMENT BACKUP TAPE BLOCKS @D@@@@. CHECK FOR J-OPTIHE )@@G@@ON: IF SET, DON'T PRINT ANYTHING @[@@@@. @E@@@@PR020 TZ HF )@@G@@ JPT . J-OPTION SET? @I@@@@ J MFD3HG )@@G@@00 . YES - DON'T PRINT, JUST GET NEXT FILE @D@@@@PR030 HH )@@G@@ E$DIT EDPACK . OPEN EDIT @G@@@@ TNZ HI )@@G@@ ARB . ARBITRARY DEVICE FILE, OR @E@@@@ TZHJ )@@G@@ TAP . CAT'D TAPE FILE? @F@@@@ J HK )@@G@@ PR040 . YES, SKIP MAX GRAN STUFF@D@@@@ E$DECF HL )@@G@@ 4,MI0+21,,H1 . MAX GRAN @F@@@@ LA,U A0,'T' HM )@@G@@ . ASSUME TRACK GRANULARITY@E@@@@ TP MI0+13 HN )@@G@@ . POSITION GRAN? @D@@@@ LA,U A0,'P' HO )@@G@@ . YES, SAY SO @#@@@@ E$CHAR @[@@@@. @A@@@@. EDIT CATALHP )@@G@@OGUE OPTION LETTERS @[@@@@. @E@@@@PR040 LA,S2 A1,MI0+17 HQ )@@G@@ . GET OPTION BITS @H@@@@ LA A2,(1,0) HR )@@G@@ . SET TO STORE OPTIONS IN PRINT LINE @F@@@@ CHECK 'P',HS )@@G@@'TOP',010 . CHECK FOR PUBLIC FILE @D@@@@ CHECK 'R',HT )@@G@@'TEP',1 . READ-ONLY? @ @@@@ ON GVHUSH>1 @E@@@@HU )@@G@@ TNZ DLA . IS RUN PRIVILEGED?@G@@@@ HV )@@G@@ J PR050 . NO, SKIP PRINT OF G/V OPTIONS @#@@@@HW )@@G@@ OFF @D@@@@ CHECK 'V','TEP',020 . V-OPTIHX )@@G@@ON? @D@@@@ CHECK 'G','TEP',040 . G-OPTION? @D@@@@HY )@@G@@PR050 CHECK 'W','TEP',2 . WRITE-ONLY? @C@@@@. EDIT A LETHZ )@@G@@TER INDICATING FILE @ASG STATE: @C@@@@. BLANK - FILE NOT CURRENTLY AIA )@@G@@SSIGNED TO ANYONE @C@@@@. A - FILE ASSIGNED TO AT LEAST ONE RUN IB )@@G@@@C@@@@. X - FILE EXCLUSIVELY ASSIGNED TO SOME RUN @D@@@@. C - (QIC )@@G@@F OPTIONS ONLY) FILE @ASG,C BY THIS RUN @D@@@@. U - (QF OPTIONS ONID )@@G@@LY) FILE @ASG,U BY THIS RUN @F@@@@. T - (QF OPTIONS ONLY) TEMPORARIE )@@G@@Y FILE ASSIGNED TO THIS RUN @[@@@@. @E@@@@ LA,T2 A0,MIF )@@G@@I0+17 . GET ASG COUNT @G@@@@ TZ QFASG IG )@@G@@ . ASG'D FOR QF OPTION DREAD? @F@@@@ AN,U A0,1IH )@@G@@ . YES, DON'T COUNT IT @F@@@@ JZ A0,PII )@@G@@R060 . ASSIGNED TO ANYONE? @F@@@@ LA,U A0,'IJ )@@G@@A' . YES, GET SET FOR 'A' @F@@@@ TEP,U A1,4IK )@@G@@ . IS IT EXCLUSIVELY ASG'D?@E@@@@ LA,U A0,'IL )@@G@@X' . YES, CHANGE TO 'X'@E@@@@ TZ UCOPT IM )@@G@@ . @ASG,U OR @ASG,C? @E@@@@ LA A0,UCOPT IN )@@G@@ . YES, GET LETTER @E@@@@ TZ TEMP . IO )@@G@@TEMPORARY FILE? @E@@@@ LA,U A0,'T' . YES, GIP )@@G@@ET A 'T' @E@@@@ EX ST,*A2 . STORE PROPERIQ )@@G@@ CHAR @[@@@@. @D@@@@. IF TAPE FILE, EDIT MODE BITS AND EQUIPMENT TYPIR )@@G@@E @[@@@@. @E@@@@PR060 TNZ TAP . CAT'D IS )@@G@@TAPE FILE? @F@@@@ J PR110 . NO, GET F-EQIT )@@G@@UIP TYPE @F@@@@ LA,S4 A1,MI0+21 . GET TAPE MODIU )@@G@@E CODES @E@@@@ JZ A1,PR070 . IF ZERO, U12IV )@@G@@/16/20@E@@@@ LA,U A0,'O' . ASSUME ODD PARITY IW )@@G@@@D@@@@ TEP,U A1,040 . EVEN PARITY?@C@@@@ IX )@@G@@ LA,U A0,'E' . YES @F@@@@ EX ST,*IY )@@G@@A2 . STORE CORRECT LETTER @E@@@@ CHECK 'I',IZ )@@G@@'TEP',2 . SOFT-TRANSLATE? @E@@@@ LA A0,A1 JA )@@G@@ . GET BITS IN A0 @F@@@@ AND,U A0,030 JB )@@G@@ . MASK OUT UNWANTED BITS @F@@@@ LA,U A0,'H' JC )@@G@@ . ASSUME HIGH DENSITY @E@@@@ TNE,U A1,020 JD )@@G@@ . MEDIUM DENSITY? @C@@@@ LA,U A0,'M' . JE )@@G@@YES @D@@@@ TNE,U A1,010 . LOW DENSITY?@C@@@@JF )@@G@@ LA,U A0,'L' . YES @F@@@@ EX JG )@@G@@ ST,*A2 . STORE CORRECT LETTER @D@@@@ J JH )@@G@@ PR100 . CONTINUE @E@@@@PR070 . CODE FOR U12/16/20 MJI )@@G@@ODES SHOULD BE ADDED HERE @E@@@@PR100 LA,S3 A1,MI0+21 JJ )@@G@@ . GET OTHER BITS @D@@@@ CHECK 'J','TEP',040 . JK )@@G@@J-OPTION? @E@@@@ LA,S1 A0,MI0+17 . GET EQUIPMENJL )@@G@@T CODE@F@@@@ LA A1,TAPTYP-1,A0 . GET TAPE EQUIP TYPJM )@@G@@E @F@@@@ J PR150 . PUT IT IN OUTPUT IJN )@@G@@MAGE @[@@@@. @B@@@@. NOT A TAPE FILE - EDIT EQUIPMENT TYPE @[@@@@JO )@@G@@. @E@@@@PR110 LA,S1 A0,MI0+17 . GET EQUIPMENT CODEJP )@@G@@@E@@@@ TLE,U A0,040 . MASS STORAGE? @E@@@@JQ )@@G@@ J PR120 . YES, HANDLE IT @G@@@@ JR )@@G@@ LA A1,OTHTYP-040,A0 . NO, SOME OTHER DEVICE TYPE @D@@@@JS )@@G@@ J PR150 . EDIT IT @[@@@@. @G@@@@JT )@@G@@. MASS STORAGE FILE - TAKE SUBCODE INTO ACCOUNT. IF REMOVABLE DISC, JU )@@G@@@ @@@@. EDIT THE PACKID INSTEAD. @[@@@@. @H@@@@PR120 LA JV )@@G@@ A1,EQUCD-030,A0 . GET NORMAL MASS STORAGE EQUIP TYPE @D@@@@. JW )@@G@@ TNE,U A0,036 . F40/30 ? @E@@@@. J JX )@@G@@ PR130 . YES, CHECK SUBCODE@F@@@@ TE,U A0,0JY )@@G@@30 . F2/3/60 OR F14/24 ? @B@@@@ TNE,U A0,0JZ )@@G@@35 . @F@@@@ J $+2 . YES, CKA )@@G@@HECK FOR SUBCODE @F@@@@ J PR140 . NO, NOKB )@@G@@RMAL EQUIP TYPE @E@@@@PR130 TNZ,S3 LI0+10 . SUBCODKC )@@G@@E PRESENT? @C@@@@ J PR140 . NO @E@@@@KD )@@G@@ L,U A2,SUB35-1 . ASSUME F14/24 @E@@@@ KE )@@G@@ TNE,U A0,030 . REALLY F2/3/60? @C@@@@ L,KF )@@G@@U A2,SUB30-1 . YES @D@@@@. TNE,U A0,036 KG )@@G@@ . F40/F30? @C@@@@. L,U A2,SUB36-1 . KH )@@G@@YES @F@@@@ A,S3 A2,LI0+10 . ADD SUBCODE TO GETKI )@@G@@ INDEX@D@@@@ L A1,0,A2 . LOAD SUBTYPE@E@@@@KJ )@@G@@PR140 AND A1,(0757777777777) . CHANGE 'F' TO 'D' @E@@@@ KK )@@G@@ L,S1 A0,MI0+13 . GET PCHAR FLAGS @G@@@@ TEKL )@@G@@P,U A0,010 . BIT 33 SET (WORD ADDRESSABLE)?@E@@@@ KM )@@G@@ L A1,A2 . GET 'D' VERSION @F@@@@ JZKN )@@G@@ A14,PR150 . IF FIXED, SKIP PACKID @H@@@@ TNKO )@@G@@Z,H2 MI1+17 . SHOULD HAVE A NONZERO PACK COUNT @G@@@@KP )@@G@@ J PR150 . BUT IF IT DOESN'T, SKIP PACKIDKQ )@@G@@@I@@@@ ON NODMPK>0 . ************************KR )@@G@@**************** @G@@@@ LXM,U A1,'R ' . ADD ANKS )@@G@@ 'R' TO 'F14' OR 'F40' @F@@@@ TZ A7 . KT )@@G@@IF RUN IS DEMAND, DON'T @I@@@@ OFF . KU )@@G@@**************************************** @F@@@@ LA A1,MKV )@@G@@I1+18 . PICK UP FIRST PACK ID @[@@@@. @F@@@@. FINALLY HAKW )@@G@@VE EQUIP TYPE IN A1 - STORE IT IN THE PRINT IMAGE @[@@@@. @A@@@@KX )@@G@@PR150 LA A2,(' ') @ @@@@ DSC A1,30 KY )@@G@@@E@@@@ SA,S6 A1,LINOUT+1 . STORE EQUIP TYPE @A@@@@KZ )@@G@@ SA A2,LINOUT+2 @F@@@@ E$COL 17 LA )@@G@@ . LEAVE ROOM FOR PACKID @D@@@@. EDIT TOTAL ASSIGN COUNT AND LB )@@G@@DATE LAST REFERENCED @[@@@@. @D@@@@ E$DECF 4,MI0+15,,LC )@@G@@H2 . ASG COUNT @^@@@@ E$COL 22 @E@@@@ E$LD )@@G@@DAY1 MI0+18 . DATE LAST REF'D @E@@@@ TZ LE )@@G@@ TAP . CAT'D TAPE FILE? @F@@@@ J PR17LF )@@G@@0 . YES, PICK UP REEL NUMBER@E@@@@ TZ ARB LG )@@G@@ . ARBITRARY DEVICE? @F@@@@ J PR180 LH )@@G@@ . YES, GO ON TO QUALIFIER @[@@@@. @C@@@@. EDIT HIGHEST/TOTLI )@@G@@AL TRACKS (*UNL* IF UNLOADED) @[@@@@. @^@@@@ E$COL 36 LJ )@@G@@@E@@@@ TN MI0+12 . IS FILE UNLOADED? @C@@@@LK )@@G@@ J PR160 . NO @E@@@@ E$FD1 LL )@@G@@ ('*UNL* ') . YES, PRINT *UNL* @E@@@@ J PR18LM )@@G@@0 . GO GET QUALIFIER @F@@@@PR160 E$DECF 4,MI0+14,,LN )@@G@@H2 . TOTAL LOADED TRACKS @G@@@@ E$COL 31 LO )@@G@@ . BACK UP FOR HIGHEST TRACK @F@@@@ E$DECF 4,MILP )@@G@@0+23,,H1 . HIGHEST TRACK REFERENCED@G@@@@ J PR18LQ )@@G@@0 . GET QUALIFIER, FILENAME, ETC @[@@@@. @C@@@@. EDITLR )@@G@@ REEL NUMBEER FOR CATALOGUED TAPE FILE @[@@@@. @D@@@@PR170 TNLS )@@G@@Z,H2 MI0+20 . ANY REELS? @D@@@@ J PR18LT )@@G@@0 . NO, SKIP IT @E@@@@ E$COL 31 LU )@@G@@ . YES, MOVE OVER @E@@@@ E$COPY 6,MI0+26 . LV )@@G@@INSERT REEL NUMBER@E@@@@. EDIT Q*F(C) PRECEDED BY A CHAR DENOTING DISABLLW )@@G@@ED STATUS @[@@@@. @^@@@@PR180 E$COL 42 @F@@@@ LALX )@@G@@,U A0,' ' . ASSUME NOT DISABLED @G@@@@ TNLY )@@G@@ MI0+11 . IS FILE DISABLED IN ANY WAY? @F@@@@ LZ )@@G@@ J PR190 . NO, EDIT A SPACE HERE @F@@@@ MA )@@G@@ LA,S1 A1,MI0+11 . YES, GET DISABLE-BITS @G@@@@ MB )@@G@@ LA,U A0,WRNCHR . ASSUME WARNING-ONLY DISABLED @E@@@@MC )@@G@@ TEP,U A1,BBTBIT . BAD BACKUP TAPE? @F@@@@ MD )@@G@@ LA,U A0,BBTCHR . YES, GET BAD-TAPE CHAR @F@@@@ ME )@@G@@ TZ BMI1 . BAD MAIN ITEM SECTOR 1? @F@@@@ MF )@@G@@ LA,U A0,BMICHR . YES, GET BAD-MI1 CHAR @E@@@@ MG )@@G@@ TEP,U A1,HDWBIT . HARDWARE-DISABLED?@E@@@@ LAMH )@@G@@,U A0,HDWCHR . YES, GET CHAR @E@@@@PR190 E$CHAR MI )@@G@@ . STORE DISABLE-CHAR@[@@@@. @E@@@@. EXEC FILENMJ )@@G@@AMES MAY HAVE @ SIGNS AND SPACES IMBEDDED WITHIN@G@@@@. THE QUALIFIER ANMK )@@G@@D FILENAME. MUST COUNT CHARACTERS, AND USE ECOPY$. @[@@@@. @D@@@@ML )@@G@@ DL A2,MI0+1 . GET QUAL @G@@@@ LMMM )@@G@@J X11,TRAIL . COUNT CHARS - TRAILING BLANKS @B@@@@ MN )@@G@@ LA,U A0,MI0+1 . @G@@@@ LMJ X11,ECOPY$MO )@@G@@ . EDIT CORRECT NUMBER OF CHAR @D@@@@ E$CHAR '*' MP )@@G@@ . ASTERISK @D@@@@ DL A2,MI0+3 MQ )@@G@@ . GET FILENAME@G@@@@ LMJ X11,TRAIL . COUNT MR )@@G@@CHARS - TRALING BLANKS @B@@@@ LA,U A0,MI0+3 . MS )@@G@@@G@@@@ LMJ X11,ECOPY$ . EDIT CORRECT NUMBER OF CMT )@@G@@HARS @D@@@@ E$CHAR '(' . OPEN PAREN @D@@@@MU )@@G@@ E$DECV MI0+17,,T3 . F-CYCLE @D@@@@ E$MV )@@G@@CHAR ')' . CLOSE PAREN @I@@@@ ON WOPTMW )@@G@@OK . **************************************** @[@@@@. MX )@@G@@@E@@@@. CHECK FOR W-OPTION: IF SET, WRITE Q*F(C) TO SDF FILE @[@@@@MY )@@G@@. @E@@@@ TZ WPT . W-OPTION SET? MZ )@@G@@@H@@@@ J SDF100 . YES, JUMP TO SDF OUTPUT NA )@@G@@ROUTINE @]@@@@PR300* . @I@@@@ OFF WOPTOK NB )@@G@@ . **************************************** @H@@@@ JZ NC )@@G@@ A7,PR460 . IF DEMAND, SKIP ACCT, PROJ, ETC. @[@@@@. ND )@@G@@@F@@@@. LONG LISTING - CONTINUE EDITING: ADD ACCOUNT, PROJ, DATE CAT'D NE )@@G@@@[@@@@. @ @@@@ DL A0,MI0+7 @E@@@@ DS NF )@@G@@ A0,LINOUT+12 . ACCOUNT NUMBER @^@@@@ E$COL 85 NG )@@G@@@D@@@@ E$COPY 12,MI0+5 . PROJECT-ID @^@@@@ NH )@@G@@ E$COL 98 @E@@@@ TZ TEMP . TEMPORNI )@@G@@ARY FILE? @E@@@@ J PR400 . YES, NO CAT NJ )@@G@@DATE @F@@@@ E$DAY1 MI0+19 . NO, EDIT CATALOGUENK )@@G@@ DATE @D@@@@ J PR410 . CONTINUE @E@@@@NL )@@G@@PR400 E$COPY 6,('') . SAY IT'S TEMPORARY@A@@@@. EDITNM )@@G@@ SECURE BACKUP INFORMATION @[@@@@. @G@@@@PR410 JNZ A13,NN )@@G@@PR430 . IF THERE'S A BACKUP, GO GET IT@F@@@@ TNZ NO )@@G@@ BMI1 . BAD MAIN ITEM SECTOR 1? @D@@@@ J NP )@@G@@ PR420 . NO, CONTINUE@D@@@@ DL A0,('***BANQ )@@G@@D MI SE') . GET MSG @F@@@@ DS A0,LINOUT+18 . NR )@@G@@STORE IN PRINT LINE @E@@@@ LA A0,('C 1***') . NS )@@G@@GET END OF MSG @F@@@@ SA A0,LINOUT+20 . STORE NT )@@G@@IN PRINT LINE @G@@@@ J PR480 . CHECK NU )@@G@@FOR LAPSES AND PRINT @[@@@@. @]@@@@. NO BACKUP @[@@@@. @D@@@@NV )@@G@@PR420 LA A0,('*NONE*') . NO BACKUP @A@@@@ LANW )@@G@@ A1,(' ') @ @@@@ DSC A0,30 @A@@@@ NX )@@G@@ SA,S6 A0,LINOUT+17 @E@@@@ SA A1,LINOUT+18 NY )@@G@@ . STORE IN IMAGE @E@@@@ LA,U A0,NOBCHR . NZ )@@G@@GET NO-BACKUP CHAR@F@@@@ SA,S6 A0,LINOUT+6 . STORE OA )@@G@@IN PRINT LINE @G@@@@ J PR480 . CHECK OB )@@G@@FOR LAPSES AND PRINT @[@@@@. @D@@@@. MAKE SURE BACKUP EXISTS BEFOOC )@@G@@RE TRYING TO EDIT IT @[@@@@. @G@@@@PR430 TNZ MI1+11 OD )@@G@@ . IS THERE REALLY A BACKUP? @C@@@@ J PR42OE )@@G@@0 . NO @[@@@@. @H@@@@. EDIT BACKUP REEL NUMBER, FILOF )@@G@@E POSITION, BLOCK COUNT, AND CREATION TIME/DATE @[@@@@. @^@@@@ OG )@@G@@ E$SKIP 1 @D@@@@ E$COPY 6,MI1+11 . BACKUPOH )@@G@@ REEL @^@@@@ E$COL 114 @E@@@@ E$DECF 3,MI1+10,,OI )@@G@@T2 . BACKUP POSITION @^@@@@ E$COL 117 @D@@@@ OJ )@@G@@ E$DECF 4,MI1+9,,H2 . SEC TRACKS @^@@@@ ON OK )@@G@@ DCFZ@^@@@@ E$SKIP 1 @D@@@@ E$DCFZ 2,MI1+8,,SOL )@@G@@1 . EDIT MONTH @E@@@@ E$DCFZ 2,MI1+8,,S2 . OM )@@G@@EDIT BACKUP DATE @^@@@@ OFF DCFZ@ @@@@ ON ON )@@G@@ DCFZ<1 @^@@@@ SZ A0 @G@@@@ LA,S1 A1,MOO )@@G@@I1+8 . MONTH TAPE WRITTEN (TDATE$) @F@@@@ DI,U OP )@@G@@ A0,10 . GET FD DECIMAL NUMBER @ @@@@ AA,U OQ )@@G@@ A0,060 @E@@@@ SA,S3 A0,LINOUT+20 . FOR OUTPUT IOR )@@G@@MAGE @ @@@@ AA,U A1,060 @A@@@@ SA,S4 A1,LOS )@@G@@INOUT+20 @G@@@@ LA,S2 A1,MI1+8 . DAY TAPE WRIOT )@@G@@TTEN (TDATE$) @^@@@@ SZ A0 @F@@@@ DI,U OU )@@G@@ A0,10 . GET FD DECIMAL NUMBER @ @@@@ AA,U OV )@@G@@ A0,060 @E@@@@ SA,S5 A0,LINOUT+20 . FOR OUTPUT IOW )@@G@@MAGE @ @@@@ AA,U A1,060 @A@@@@ SA,S6 A1,LOX )@@G@@INOUT+20 @ @@@@ OFF DCFZ<1 @^@@@@ E$COL OY )@@G@@ 127 @G@@@@ E$TIME MI1+8 . EDIT IN TIME TAPE OZ )@@G@@WRITTEN @G@@@@. ADD CHAR TO PRINT LINE INDICATING WHETHER BACKUP IS PA )@@G@@CURRENT OR NOT @[@@@@. @I@@@@PR460 LA,U A0,NOBCHR PB )@@G@@ . ASSUME NO BACKUP - GET NO-BACKUP CHAR @F@@@@ JZ PC )@@G@@ A13,PR470 . IF NO BACKUP, SAY SO @D@@@@ TP PD )@@G@@ MI0+12 . UNLOADED? @G@@@@ J PR480 PE )@@G@@ . YES, BACKUP MUST BE CURRENT @G@@@@ LA,U A0,BPF )@@G@@NCCHR . GET BACKUP NOT CURRENT CHAR @G@@@@ TZ PG )@@G@@ MI0+10 . UPDATED SINCE BACKUP CREATED? @F@@@@PR470 SAPH )@@G@@,S6 A0,LINOUT+6 . STORE BACKUP STATUS @[@@@@. @ @@@@PI )@@G@@. CHECK FOR LAPSE ENTRIES @[@@@@. @F@@@@PR480 LA,T1 A1,MPJ )@@G@@I0+12 . GET DESCRIPTOR FLAGS @E@@@@ LA,U A0,LPK )@@G@@PSCHR . GET LAPSE CHAR @F@@@@ TEP,U A1,0400 PL )@@G@@ . BIT 32 (LAPSE) SET? @G@@@@ SA,S6 A0,LINOUT+PM )@@G@@6 . YES, ADD CHAR TO OUTPUT LINE @F@@@@ LA,U A0,'PN )@@G@@D' . GET TO-BE-DROPPED CHAR @G@@@@ TEP,U A1,0PO )@@G@@1 . BIT 24 SET (TO BE DROPPED)? @G@@@@ SA,S6 PP )@@G@@ A0,LINOUT+6 . YES, STORE IN OUTPUT IMAGE @[@@@@. @C@@@@PQ )@@G@@. THE TIME HAS COME TO PRINT THE INFORMATION @[@@@@. @D@@@@ PR )@@G@@ P$RINT POUT . PRINT LINE @G@@@@ SZ PS )@@G@@ LINE2 . CLEAR NRP,NTP,NLPS,NSB FLAGS @ @@@@ ONPT )@@G@@ EXTRA @[@@@@. @G@@@@. DETERMINE WHETHER OR NOT ADDITIONAPU )@@G@@L PRINT LINES ARE NEEDED TO EDIT @#@@@@. MORE STUFF. @[@@@@. PV )@@G@@@C@@@@ TNZ TAP . TAPE? @C@@@@ J PW )@@G@@ PR500 . NO @[@@@@. @E@@@@. TAPE FILE: SECOPX )@@G@@ND LINE NEEDED IF >1 REEL IN DIRECTORY @[@@@@. @G@@@@ LAPY )@@G@@,H2 A0,MI0+20 . GET NUMBER OF REELS CATALOGUED@D@@@@ PZ )@@G@@ JZ A0,PR520 . SKIP IF NONE@D@@@@ AN,U QA )@@G@@ A0,1 . LESS ONE @G@@@@ SA A0,NTP QB )@@G@@ . SET NUMBER OF REELS LEFT TO DO@D@@@@ J PR52QC )@@G@@0 . CONTINUE @F@@@@PR500 TZ BMI1 QD )@@G@@ . BAD MAIN ITEM SEC 1? @E@@@@ J PR520 QE )@@G@@ . YES, SKIP AHEAD @F@@@@ JZ A14,PR510 . QF )@@G@@REM DISC? NO,PR510 @[@@@@. @F@@@@. REMOVABLE DISC FILE: SECONDQG )@@G@@ LINE NEEDED IF >1 PACK IN DIRECTORY@[@@@@. @F@@@@ LA,T3 QH )@@G@@ A0,MI1+17 . YES, GET NUMBER OF PACKS@E@@@@ JZ QI )@@G@@ A0,PR510 . IF NONE, SKIP @G@@@@ AN,U A0,1QJ )@@G@@ . BUT ONE HAS ALREADY BEEN DONE @G@@@@ SA QK )@@G@@ A0,NRP . STORE REMAINING PACK COUNT @[@@@@. @G@@@@QL )@@G@@. LAPSE ENTRIES AND ADDITIONAL BACKUP TAPES REQUIRE SECOND LINE, BUT QM )@@G@@@B@@@@. DON'T DO IT IF DEMAND (SHORT LISTING). @[@@@@. @G@@@@PR510 QN )@@G@@ JZ A7,PR520 . NO BACKUPS OR LAPSES IF DEMAND@F@@@@QO )@@G@@ LA,S2 A0,MI1+7 . SECURE BACKUP REEL COUNT@E@@@@QP )@@G@@ JZ A0,PR520 . IF NONE, SKIP @D@@@@ QQ )@@G@@ AN,U A0,1 . LESS ONE @G@@@@ SA QR )@@G@@ A0,NSB . NUMBER OF BACKUPS LEFT TO DO @F@@@@ LAQS )@@G@@,S1 A0,MI0+12 . GET DESCRIPTOR BITS @D@@@@ TOQT )@@G@@P,U A0,04 . ANY LAPSES? @D@@@@ J PR52QU )@@G@@0 . NO, GO ON @G@@@@ LA,T2 A0,MI1+7 QV )@@G@@ . GET NUMBEER OF LAPSE ENTRIES @D@@@@ SA A0,NLPS QW )@@G@@ . AND STORE IT@[@@@@. @H@@@@. IF ADDITIONAL LINES ARE NECEQX )@@G@@SSARY FOR ANY OF THE ABOVE REASONS, OVERLAY @G@@@@. THIS SEGMENT WITQY )@@G@@H 'PR2SG' AND JUMP TO IT. ALSO GO TO PR2SG IF THE QF @F@@@@. OPTIONS WEQZ )@@G@@RE USED, SINCE THE FITEM$ GIVES ADDITIONAL INFORMATION@ @@@@. ABOUT SUCHRA )@@G@@ THINGS AS TAPES. @[@@@@. @G@@@@PR520 TNZ LINE2 RB )@@G@@ . ANYTHING TO PRINT ON 2ND LINE?@E@@@@ TZ QFITEM RC )@@G@@ . QF WITH FITEM$? @F@@@@ J $+2 RD )@@G@@ . YES, PRINT MORE STUFF @C@@@@ J PR600 RE )@@G@@ . NOPE @I@@@@ L$OAD PR2SG,PMORE,1 . JUMP TO ADDIRF )@@G@@TIONAL-LINES PRINT ROUTINE @#@@@@ OFF @[@@@@. @G@@@@RG )@@G@@. IF MASS STORAGE EQUIPMENT TYPE WAS GIVEN IN SPEC3, AN ADDITIONAL LINE RH )@@G@@@G@@@@. IS PRINTED GIVING INITIAL RESERVE AND BREAKDOWN OF GRANULE COUNTRI )@@G@@S BY @#@@@@. EQUIPMENT TYPE. @[@@@@. @F@@@@PR600* TNZ TAP RJ )@@G@@ . SKIP IF FILE IS TAPE @F@@@@ TNZ LIN2RK )@@G@@OP . OTHERWISE, HANDLE LIN2OP@E@@@@ J PR90RL )@@G@@0 . CHECK FOR SNAP$ @D@@@@ E$DIT EDPACK RM )@@G@@ . OPEN EDIT @^@@@@ E$COL 5 @E@@@@ E$RN )@@G@@COPY 12,('INIT. RES.: ') . INITIAL RESERVE @D@@@@ E$DECV RO )@@G@@ MI0+20,,H1 . EDIT RESERVE@E@@@@ LA,U A0,'T' RP )@@G@@ . ASSUME TRACKS @D@@@@ TP MI0+13 RQ )@@G@@ . POSITION? @C@@@@ LA,U A0,'P' . YES RR )@@G@@@G@@@@ E$CHAR . EDIT GRANULARITY INDICATRS )@@G@@OR @D@@@@ TP MI0+12 . LOADED FILE?@H@@@@RT )@@G@@ TZ,H2 MI0+14 . OR UNLOADED WITH GRANS LYING ARU )@@G@@ROUND?@H@@@@ J $+2 . YES, BETTER PRINT RV )@@G@@THOSE GRANULES @F@@@@ J PR640 . NO, NORW )@@G@@ GRANULE COUNT @[@@@@. @^@@@@. EDIT GRANULE COUNTS @[@@@@. RX )@@G@@@B@@@@ E$COPY 12,(' GRANULES: ') . @H@@@@ LX,U RY )@@G@@ X4,7 . INITIALIZE FOR NO. OF EQUIP TYPES @F@@@@PR610 RZ )@@G@@ TNZ,H2 MI0+20,X4 . ANY GRANS ON THIS EQUIP?@F@@@@ SA )@@G@@ J PR630 . NO, TRY THE NEXT ONE @E@@@@ SB )@@G@@ E$COLN . GET CURRENT COLUMN@E@@@@ LASC )@@G@@,U A1,122 . ASSUME BATCH MODE @D@@@@ TNZ SD )@@G@@ A7 . DEMAND? @E@@@@ LA,U A1,62 SE )@@G@@ . YES, SHORTER LINES@E@@@@ TLE A0,A1 SF )@@G@@ . REACHED MAX YET? @F@@@@ J PR620 . SG )@@G@@NO, CONTINUE EDITING @F@@@@ P$RINT POUT . SH )@@G@@YES, PRINT CURRENT LINE @E@@@@ E$DIT EDPACK . SI )@@G@@AND START ANOTHER @F@@@@ E$COL 19 . START SJ )@@G@@AT 19, AND GO ON @E@@@@PR620 E$FD1 EQUCD,X4 . GET EQSK )@@G@@UIP CODE @D@@@@ E$CHAR '=' . EDIT = SIGN SL )@@G@@@F@@@@ E$DECV MI0+20,X4,H2 . EDIT NO. OF GRANULES SM )@@G@@@F@@@@ E$SKIP 2 . MOVE OVER FOR NEXT ONE SN )@@G@@@D@@@@PR630 JGD X4,PR610 . MORE TYPES? @E@@@@PR640 SO )@@G@@ P$RINT POUT . PRINT THE LINE @]@@@@/PR900 . SP )@@G@@@ @@@@ ON SNAPOK @[@@@@. @C@@@@. PERFORM SNAP$ OFSQ )@@G@@ DIRECTORY ITEMS IF DESIRED @[@@@@. @E@@@@ LA A2,SSR )@@G@@NAP . GET SNAP FLAG @F@@@@ JZ A2,PR990 SS )@@G@@ . IF NO SNAP WANTED, GO ON@G@@@@ JNB A2,PR920 ST )@@G@@ . IF NO LEAD ITEM SNAP, PR920 @E@@@@ DO SORTOK>0 , SU )@@G@@TZ SORT . SORT BEING DONE, @F@@@@ TZ QANDF2 SV )@@G@@ . AND QF OPTIONS NOT SET? @F@@@@ J PR910 SW )@@G@@ . NO, LINK NOT NEEDED @[@@@@. @F@@@@. SNAP OF LEAD ITESX )@@G@@M IS WANTED, BUT SORT LOST IT, SO WE MUST USE @ @@@@. DIRLNK TO OBTAINSY )@@G@@ IT AGAIN. @[@@@@. @D@@@@ LMJ X11,DIRLNK . SZ )@@G@@CALL DIRLNK @D@@@@ J DIRECERR . ERROR RETURNTA )@@G@@@D@@@@ + ECODE . ERROR CODE @E@@@@ TB )@@G@@ + LI0 . LEAD ITEM BUFFER @E@@@@ + TC )@@G@@ MI0+11 . LINK TO LEAD ITEM @C@@@@ + TD )@@G@@ 0 . WB @D@@@@ LA A2,SNAP TE )@@G@@ . RELOAD A2 @[@@@@. @ @@@@. SNAP LEAD ITEM SECTOR 0 @[@@@@TF )@@G@@. @F@@@@PR910 LA,U A0,'LI0' . GET NAME FOR SNAP TG )@@G@@HEADER@F@@@@ SA,H1 A0,SNAPKT . STORE IN SNAP PACKTH )@@G@@ET @G@@@@ LA,U A0,LI0 . GET ADDR OF BUFFERTI )@@G@@ TO SNAP @F@@@@ SA,H2 A0,SNAPKT+1 . STORE IN SNATJ )@@G@@P PACKET @F@@@@ LA,U A0,SNAPKT . GET ADDR OF TK )@@G@@SNAP$ PACKET@E@@@@ ER SNAP$ . SNAP LEAD ITTL )@@G@@EM @E@@@@PR920 TOP,U A2,02 . MI0 SNAP DESIRED? TM )@@G@@@D@@@@ J PR930 . NO, PR930 @[@@@@. TN )@@G@@@ @@@@. SNAP MAIN ITEM SECTOR 0 @[@@@@. @B@@@@ LA,U TO )@@G@@ A0,'MI0' . @B@@@@ SA,H1 A0,SNAPKT . TP )@@G@@@B@@@@ LA,U A0,MI0 . @B@@@@ SA,H2 TQ )@@G@@ A0,SNAPKT+1 . @B@@@@ LA,U A0,SNAPKT . TR )@@G@@@F@@@@ ER SNAP$ . SNAP MAIN ITEM SECTOR 0 TS )@@G@@@E@@@@PR930 TOP,U A2,04 . MI1 SNAP DESIRED? @D@@@@TT )@@G@@ J PR940 . NO, PR940 @E@@@@ TZTU )@@G@@ BMI1 . BAD MI1 LINK? @E@@@@ J TV )@@G@@ PR940 . YES, SKIP SNAP$ @E@@@@ TNZ A14 TW )@@G@@ . REMOVABLE DISC? @E@@@@ TZ A13 TX )@@G@@ . OR HAS BACKUP? @G@@@@ J $+2 TY )@@G@@ . YES, SHOULD HAVE DECENT MI1 @E@@@@ J PR940 TZ )@@G@@ . NO, DON'T SNAP MI1@[@@@@. @ @@@@. SNAP MAIN ITEM SECTOR UA )@@G@@1 @[@@@@. @B@@@@ LA,U A0,'MI1' . @B@@@@UB )@@G@@ SA,H1 A0,SNAPKT . @B@@@@ LA,U A0,MUC )@@G@@I1 . @B@@@@ SA,H2 A0,SNAPKT+1 . @B@@@@UD )@@G@@ LA,U A0,SNAPKT . @F@@@@ ER SNAPUE )@@G@@$ . SNAP MAIN ITEM SECTOR 1 @D@@@@PR940 TZ QANDUF )@@G@@F2 . QF OPTIONS? @F@@@@ J PR960 UG )@@G@@ . YES, CANNOT SNAP GTB @E@@@@ TOP,U A2,010 UH )@@G@@ . GTB TO BE SNAPPED?@D@@@@ J PR960 . UI )@@G@@NO, GO ON @[@@@@. @^@@@@. SNAP GRANULE ITEMS @[@@@@. @F@@@@UJ )@@G@@ LA,U A0,'GTB' . GET SNAP HEADER NAME @E@@@@UK )@@G@@ SA,H1 A0,SNAPKT . STORE IN SNAP$ PKT@F@@@@ UL )@@G@@ LA,U A0,MI0 . SET SNAP START ADDR @C@@@@ UM )@@G@@ SA,H2 A0,SNAPKT+1 . IN PKT@F@@@@PR950 TP MI0 UN )@@G@@ . ANY MORE GRANULE ITEMS? @E@@@@ J PR96UO )@@G@@0 . NO, THAT'S ALL @G@@@@ LMJ X11,DIRLNKUP )@@G@@ . YES, LINK TO NEXT GRANULE ITEM@D@@@@ J DIREUQ )@@G@@CERR . ERROR RETURN@D@@@@ + ECODE UR )@@G@@ . ERROR CODE @F@@@@ + MI0 . PUT GRUS )@@G@@ANULE ITEM IN MI0 @E@@@@ + MI0 . LINK WUT )@@G@@ORD IS MI0+0@C@@@@ + 0 . WB @E@@@@UU )@@G@@ LA,U A0,SNAPKT . GET SNAP$ PKT ADDR@C@@@@ UV )@@G@@ ER SNAP$ . DO IT @F@@@@ J PR95UW )@@G@@0 . AND GO BACK FOR MORE @[@@@@. @E@@@@. ALL SNAPS UX )@@G@@DONE - SKIP A LINE BEFORE PRINTING NEXT FILE @[@@@@. @D@@@@PR960 UY )@@G@@ P$RINT (0100,0) . SKIP A LINE @]@@@@PR990 . @#@@@@UZ )@@G@@ OFF @E@@@@ J MFD300 . GET NEVA )@@G@@XT FILE @[@@@@. @F@@@@. TRAILING-BLANK COUNTING ROUTINE FOR QUALVB )@@G@@ AND FILENAME EDITING @[@@@@. @F@@@@TRAIL L,U A1,12 VC )@@G@@ . ASSUME 12-CHAR NAME @E@@@@ AND,U A3,077 VD )@@G@@ . ISOLATE LAST CHAR @C@@@@ TE,U A4,5 VE )@@G@@ . BLANK?@H@@@@ J 0,X11 . NO, RETURN WVF )@@G@@ITH CHAR COUNT IN A1 @E@@@@ AN,U A1,1 . VG )@@G@@YES, 1 LESS CHAR @G@@@@ DSL A2,6 . GET NEVH )@@G@@XT CHAR INTO POSITION @G@@@@ J TRAIL+1 . VI )@@G@@CHECK UNTIL NON-BLANK FOUND @#@@@@ END ___@@@ J VJ )@@G@@)@@[#]@H@K)#K)HK#1)C]N1)C])@@@@@@@@@@@@@@@@@@@@@/K@@@6/,0@@@(0@@@@/K@@@;VK )@@G@@*4@@@@AA@@@@)@C[F@K)]^C])[@@@@@@@@@@/K@@@P!8@@@K^#0@@U:8@@@"%8@@@.R7@@@DVL )@@G@@ @@@@U C@@@@/^@@@/AB@@@@)@L[#]@-@K)]K^C]^C#=C]^C#0@@@@')@@@@*W@@@I')@@@@VM )@@G@@*W@@@N/K@@@R^30@@@/K@@@40W@@@NAC@@@@)@T[#]@-@K)CK^C^^[]@(]@C@@@@@@^70@@@VN )@@G@@0@@@@E/K@@@4')@@@@/K@@@Z(W@@@A/#)@@4*W@@@EAD@@@@)@-[#]@)K)BK^C[4[]@P@@@@VO )@@G@@@@@@@@/K@@@1(*@@@@/K@@@4%0@@@@/K@@@$(0@@@@:8K@@[RZK@@NAE@@@@)@([F]@WK^[@VP )@@G@@K^C^O[]@O@@@*4@@@@/@@@@4/,0@@@/K@@@1/K@@@4/,0@#//K@@@1=8@@@CC)@@@@AF@@@@VQ )@@G@@)@2[]K^C^=[]@H][H]@P][K@@@@@@@/K@@@@*0@@@@/K@@@@(0@@@@/K@@@@ @@@@@/K@@@]VR )@@G@@/KD@@@AG@@@@)@'[#][P]@GK)#K^C]4C]4C@)@@@@@ ^@@@@ @@@@M @@@@F/K@@[[*0@@@@VS )@@G@@ @@@@T 4@@@@/K@@@@AH@@@@)[][F]@1]@-@K)QK[]@D]@0@=8@@@KC4@@@G^$0@@@=8@@@KVT )@@G@@/K@@@@')@@@@/K@@[B(W@@@PR3@@@LAI@@@@)[F[E^C#^C#[]@1@K)#K@@@@/BK@[W*?@@@@VU )@@G@@8#)@[H[CI@@M;?@@@GC@Y@@MC?I@@MC8)@@[C;K@@[AJ@@@@)[O[F]@P@K^[@K^[@K)#@@@@VV )@@G@@*0@@@@/#K@[%/B)@[W/#)@[%/ 0@[U/B)@[W/BK@[W/K@@[S(*@@@@AK@@@@)[X[EK)G^[]@VW )@@G@@CK^C 4C^0@@@/K@@@@/,0@@@/K@@[%;JK@[C^<0@@@/K@@[=>8@@]@CW@@@G/KD@@@AL@@@@VX )@@G@@)[&[]/S]@=/S]@?/S]@0K) K[]@)@@*W@@@]/KD@@@/K@@]X*4@@@@@@@@@@@@@@@H@@@@@@VY )@@G@@@@@@@@AM@@@@)[,[F@^[]@P@K^C[O[@@@@@@/K@@@4/K@@@](4@@@@/K@@@]/K@@]X(4@@@@VZ )@@G@@/K@@[49"R@@@/K@@[7AN@@@@)[7[##@[]@-#@@^CA^CA^CAK@@@@@@9&)@@D+]K@@@+])@@[WA )@@G@@;AV)@@9,R@@@R]0@@[*W@@@SR]0@@@AO@@@@)[_[F@^[@K)CK^CA=C]=@@@@/K@@@49/@@@[WB )@@G@@9?@@@@/K@@]C*W@@@C/K@@[4/K@@['$'0@[]9')@[1AP@@@@)]C[F]@-@K^C#^C#^G@^[@K@WC )@@G@@/#)@@]/K@@@]/K@@]X:@@@@]*4@@@CC@@@@B/K@@[\/K@@[7*W@@@]AQ@@@@)]L[F]@D@^G@WD )@@G@@[@K^@@@@@@@@N8K@@ /])@@]/K@@]X/K@@]S2]W)@@R#@@@#N8K@@ /K@@@]*)@@@@AR@@@@WE )@@G@@)]U[##@@K^C]^[]@1]@W(@6@@@@@@@:8K@@@C=K@@@C4@@@F/K@@]>(W@@@L/K@@@]2]?)@@WF )@@G@@R#@@@#AS@@@@)]+[#]@1][1@K)CK^C#^CBOCB)@@@@')@@@@C@K@@@CC@@@M/K@@]:(W@@@#WG )@@G@@/K@@@@')@@@@CW@@@GAT@@@@)]%[F@^C#^C][]@X@K)BK)G@(^G@@NC0@@@@/K@@]4(0@@@@WH )@@G@@%8@@@[RZ@@@N ^@@@I @@@@V/K@@@@AU@@@@)]3[F@K)]K)ZK)G^C#^[]@0@;:0@@A0@@@@HWI )@@G@@8]0@]8GB;@@OR'0@@ACB0@@V/K@K@@*0@@@@/K@@@@AV@@@@)]/[#]@1]@X@K)GK)G^C#@@@WJ )@@G@@@@@@@@ @@@@V0@@@@G;:0@@A0@@@@HCB/@@N/@@@#]C0@@@@[B0@@IAW@@@@)#^[F][.]@D@WK )@@G@@K)GK^CC^[@K@/#K@@@/K@@@@/K@@#K')@@@@/K@@#G0@@@@G/K@@#K*0@@@@/K@K@@AX@@@@WL )@@G@@)#H[#]@!]] @K)CK^CC=[]@O@@@@@@(*@@@@/K@@@@')@@@@/K@@#O(W@@@O/K@@@@')@@@@WM )@@G@@CB0@@DAY@@@@)#P[F@K^[@K)LK^C@4C@=CC0/K@@@@*0@@@@(0@@@@/@@@@@/,0@@@/K@@#VWN )@@G@@/K@@@@/,0@#"/K@@#VAZ@@@@)#Y[F@K)=^CD^C@L]@ ]@D@@/K@@#!(=@@@@AA0@@@O'0@@[WO )@@G@@RA0@@@A]0@@@O]0@@VR]0@@@/#)@#>BA@@@@)#$[#]]OK)>K)@^C@^C@=@@@@@@@@@/K@@#5WP )@@G@@(4@@@@AE0@@@O'0@@[RE0@@@A]0@@@O]0@@VR]0@@@BB@@@@)#\[#]]SK)&K)@^C@^CC4C#@WQ )@@G@@@@@@@@0@@@@G/B)@@@AA0@@@O'0@@[RA0@@@A]0@@@O]0@@VR]0@@@BC@@@@)#7[#]]H]]WKWR )@@G@@)$K)@K)%K):K)(K)?K@@@@@@@@C8@@@[/K@@^K')]@@@')]@@@[@K@@@WU )@@G@@+@]@@@/K@@^G(@]@@@BF@@@@)^J[N@^@K^CFOCF-@@/@:@@[8KK@^^/S])@@[@H@@@C@M@@@WV )@@G@@/K@@^Q/@F@@@/^)@^O @@@@G/K@@^LBG@@@@)^T@E@)@@@*@(@Q@@@@@@@@@@@@@@@@@@@@@WW )@@G@@@@@@@@@@[@@@@@]@@MINSTAL@@#@@@@[]@@@/KF@@]BH@@@@@@^@@]@@A@@\@[=@@G@]O@@@WX )@@G@@@@@@@ @@@@^UCNT1 CNT2 FLAGS MRFLGS LINE2 WY )@@G@@FLAG3 FLAG4 FLAG5 OPTIONS ECODE LI0 WZ )@@G@@MI1 MI0 DIRSEC REVT REVO REVG XA )@@G@@POLTRAN GOTONE DIRECERR DOSORT QF900 REVV XB )@@G@@DIRLNK ACMASK MFD$ PCT RPRL REVR XC )@@G@@DATREF REVD SZOPT SZLOD SZBAK UNCHEK XD )@@G@@MFD500 RTOT VTOT GTOT TOT INS1 XE )@@G@@INS2 TMASK SPC INS3 POLINK POLISH XF )@@G@@CHK000 @@[@@@@@@@@@GALI @@[@@@@@@@@4LNKRTN @@[@@@@@@@[>XG )@@G@@CHK220 @@[@@@@@@@[%AAOPT @@[@@@@@@@[!FFOPT @@[@@@@@@@]#XH )@@G@@XXOPT @@[@@@@@@@]FKKOPT @@[@@@@@@@]KGBU @@[@@@@@@@]XXI )@@G@@SZCHK @@[@@@@@@@# UNOPT @@[@@@@@@@#MNSZOPT @@[@@@@@@@#OXJ )@@G@@ J PR950 . AND GO BACK FOR MORE @[@@@@XK )@@G@@. @E@@@@. ALL SNAPS DONE - SKIP A LINE BEFOR)@@[##@L#@L#@L#@[]@ #@L#XL )@@G@@@K@@@@/KF@@[ @@@X,[@K@@#'=@@@@C@@@@@A#@@@#C@K@@#R#@@@@AA@@@@)@C[F#@K[@K^XM )@@G@@G[[@@@@@@@@@/K@@@N>8@@@C @@@@J/K@@#K/K@@@I=8@@@^>8@@@]R#FK@]A]0@WTAB@@@@XN )@@G@@)@L[N#@K@^G[^G[^@@;CK@@ /@K@@YC@K@X"A#@@@H;?@@@M;*@@@L;G@@@] @@@@HP;@@@CXO )@@G@@[@@@@JAC@@@@)@V[M^G[^G[@@K@@@@/^@@@ZC@K@@G;GK@@AG8K@@0W8@@@E @@@@GC@)@@[XP )@@G@@G@K@X"C8K@@]?8K@@#AD@@@@)@>[F#@K()C-@]) G[^C@=@@;CK@@YR#K@@G/C@@@5'=@@@@XQ )@@G@@R;@@X;/^@@#X'=@@@@R;@@@#[@)@@CAE@@@@)@,[EK[#@K()C-@^)]@@@@@@/@@@@8R#FK@#XR )@@G@@/G@@]/'=@@@@R;@@X;A#@@X;R;@@@C/K@@]/!8K@@R#@@@#AB@@@GO;@@@[/K@@]>AQ@@@@)]R[#@K)AK#1)G[#1)G[#1)G[@@@@@R;@@@[YF )@@G@@@@@@@@@@@@WU@@@@W6@@@@WQ/K@@]>/,0@@@/K@@])AR@@@@)]Z[##@L#@[#@L@^[#@L#@K@YG )@@G@@@@@@@@ @@@@I @@@@G/K@@]-$;@@@I/K@@]%*@G@W7R#@@@#A3@@@GAS@@@@)]$[F@ES]C[NYH )@@G@@@K^G[^G[@@@@R#V@@]R]0@WTA#K@WS @G@@@R#W@@@O;@@W7/K@@]:O;@@W>/K@@[IAT@@@@YI )@@G@@)]0[##@KK^C[=@/S#@KJA@0^@@@@@@@@@@WS@@@@@@@@@@WQ/K@@]>/,0@@@A#K@]6O;K@@WYJ )@@G@@*@@@@JAU@@@@)]8[MK0^@@K@@@@@@@R;@@@[/K@@##:8@@@V;C@@@Y;*@@@GR#K@@G/KF@@^YK )@@G@@R;@@@[R]0@WT@@@@@@AV@@@@)#][F@K0^^G[[@K[#@K@@@@@R]0@WT@@@@@@/,0@@@/K@@#[YL )@@G@@!8@@@#A#@@@]O;@@@[R#@@@]/K@@#7AW@@@@)#F[N@[#@L@[@K0^@@;*@@@AR#@@X\/K@@#7YM )@@G@@R;@@@DR#K@@G/K@@#7R#K@@NR;@@@]/K@@@@/K@@@SAX@@@@)#P[##@L#@L#@K()C-)C]@@@YN )@@G@@@@@@@@/K@@#7 @@@@HR;@@@#A#@@X1R;@@X% @@@@G @@@@IA#@@X,AY@@@@)#X[F#@[@[@KYO )@@G@@0^K^G[^G[@@@ @@@@G @@@@I/K@@@5(@@@X,/K@@#7R;@@@^R#K@@G/@K@#+-@@@@^AZ@@@@YP )@@G@@)#&[F#@KK0^ES]CS]]A@)-)CA#)@X,O;)@@[R#)@X,/KF@@ A#@@X1R;@@X%[@@@X,;*@@@AYQ )@@G@@C@@@X\BA@@@@)#\[F@K0^[#@L@[#@K@@@@@@R]0@WT @@@@HR;@@@ /K@@[GA#)@X,-8K@@_YR )@@G@@O;K@[@R#K@X,/K@@[GBB@@@@)#8@M@)@@[A@)@@@@@,F/ ET--$$$$--DG @ASG,TYS )@@G@@@@@@@@/ @FREE /KFK@@9*FK@[BC@@@@)@C[Y@)@@@@@@@@@@@ET--$$$$--DG@@@@@@YT )@@G@@@@@@@@@@@@@@@@@@@@C@@@@@. /2000 BD@@@@)@N@Y@<1?C@])@@@@@)WQ@&@YU )@@G@@)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@W@XM@@@@@@BE@@@@)X,[A@)@/S@JYV )@@G@@A@#1)@/S@@@@@@@@@@@@@@@K@@@@XM@@@@X0@@@@X,@@@@@@@@@@@@@@@@@@@@@@@@BF@@@@YW )@@G@@)X6[I@<1)@@/S@@@@@@@@@@@@@@@@@ET--$$$$--DG@@@@@H@@@@@Q5?65?6@@@@@@@@@@@@YX )@@G@@@@@@X\BG@@@@)X_@I@<[EK#))@@@*()CO0^ES]@@@@@@@@@@@@@@@@C@@@@@@@[@@@@@[@@QYY )@@G@@@W@@@Q@@^@@#@@Q@@@BH@@@@@@^@@ @@D@@C@@T@@D@@.@@@@@@@@ @@@@#'@@@@@@@@@@@@YZ )@@G@@@@@@Y@R$ CSF$ MSCON$ FORK$ IOW$ DIR$ETZA )@@G@@ DIRLNK DGET$BUF2 DIRSIZ @C@@@@@@@@@@DIREND @@[@@@ZB )@@G@@@@@@@@DIRINT @@[@@@@@@@@CDIRSEC @@[@@@@@@@[FDIREC$FLAG @@^@@@ZC )@@G@@@@@@@GGOTONE @@^@@@@@@@@IDIREC$ @@^@@@@@@@X2DGETP$FN$WD$@@^@@@ZD )@@G@@@@@@X;PAKID$ @@^@@@@@@@X"SL A1,3 . SHIFT DIGIT ZE )@@G@@INTO A1 @E@@@@ JGD A3,IN1758 . DO FOR ALL CZF )@@G@@HARS @[@@@@. @H@@@@)@@[M@^C [@K) K)V@/K@@@@*0@@@@/K@@@F%8@@@#C@@@@@ZG )@@G@@&]0@@FODE & PE & CROR TYMFD ERAA@@@@)@E[#][0(@Y-@M)CKCCKECKDCKE@@@(@@@@[ZH )@@G@@/,0@@@C@@@@@/,0@@@C8@@@@/,0@@@C/@@@@/K@@@@AB@@@@)@M[F@K)RK)O^CA^CBOCB)@@ZI )@@G@@;C@@@MR#@@@F'=@@@@R#@@@@/,0@@@C8K@@GC@@@@[/,0@@@/K@@@RAC@@@@)@V@%EKJ*K[CZJ )@@G@@KKCKK)@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/K@@@@/@@@@@^<0@@@P;@@@@&'0@@@AD@@@@ZK )@@G@@@@^@@]@@A@@+@[E@@[@[I@@@@@@@@@@@@@@)CNT1 CNT2 FLAGS ZL )@@G@@MRFLGS LINE2 FLAG3 FLAG4 FLAG5 OPTIONS ZM )@@G@@EDIT$ EDITR$ ECHAR$ ECOL$ ESKIP$ ECLEAR$ ZN )@@G@@EDPACK EMSG$ EOCTV$ EDECV$ EFD1$ ECODE ZO )@@G@@EDITX$ ECOLN$ EMSGR$ EOCTF$ EDECF$ EDCFZ$ ZP )@@G@@DOSORT MFD600 POUT PRINT$ LNKRTN CHK220 ZQ )@@G@@MFD700 DIRECERR @@[@@@@@@@@^U A0,015 . GET S1ZR )@@G@@)@@[E()@-@]-)@C]A@]@CS@@A7@@W R;@@@#/@@@@ERV@@OB/^K@]MR;@@@CR7K@@@'=@@@@ZS )@@G@@R;@@@@AA@@@@)@D[F#@[]@D]@C^[]@D]@C@@A#J@@ R#@K@@R#0@@#/K@@]K!8@@O[;C@@@AZT )@@G@@P#@K@@R#@K@[A7@@WAAB@@@@)@M[F]@C^G@@K)#^@@@@@@@@'^@@]T*4J@@#'=@@@@R;J@@@ZU )@@G@@&;)@@#R#K@WBA#J@@^&;@@@VR#@@@]AC@@@@)@V[N]@CK^[]@D@K@@O;@@[@R#J@@ A#H)@@ZV )@@G@@/K@@@$/K@@@W%@@@@B/C@@@+/@@@@WR#I)@@Q#)@@]AD@@@@)@>[EK[]@D@]&@]A@@@@@@@@ZW )@@G@@R;@@@WA#@@@[P;@@@]R;H@@@/K@@@R?@@K@[R#J@@ /K@@@WA#J@@ AE@@@@)@,[E^G@^G@^ZX )@@G@@C@=[#@[#@@@@R#FK@#A[@@W^^@)@W#/K@@]Z(@@K@@*@@@@[^@K@W]/KF@@ AFJ@@^AF@@@@ZY )@@G@@)@7[N@@^@()@CS@@@@RV.@@A*S@@OBRV.@@CR;K@O]/K@@[>=8)@]@+8K@#_;CK@@SR#K@@GZZ )@@G@@/@@@]OAG@@@@)[[[M@()@]@O0@@@@@R#O)@@&9@@@[Q9@@@]/K@@[>!80@@SR7"@@@O;)@O]AA )@@G@@RR!@@@O#K@@IO#K@@JAH@@@@)[F[F#@@^G@[@K0@ES@@@@@@O;0@@[O;0@@]R#0@@[/K@@[RAB )@@G@@\@)@@H+@@@W K8)@W@P;)@@[+@K@W AI@@@@)[O[MK^@@^[#@@@@@@+@@@WC/K@@[)1@J@@@AC )@@G@@P#K@@IO;)@@[P;0@@[R;4@@@/K@@[E/K@@]O:84@@@AJ@@@@)[Y[MK@K[@ES@]A@@@R#)@@[AD )@@G@@&9@@@[Q9@@@]/K@@[3A#@@@H/^K@]OW8@@@W @@@@G/GK@[LPBZ@@@AK@@@@)[*[EK0@^[#@AE )@@G@@[#@[#@@@@@@@P;0@@[R;4@@@+@@@WCN@)@W#N@K@W]/K@@]O9@^)@@N@)@WAA#)@[[AL@@@@AF )@@G@@)[1[E]&@]A@]^@KCK[@@@@@@A#J@@ R#0@@#O#@@@J;*0@@AO#0K@^R[@@W^P;0@@]A#K@@GAG )@@G@@PBZ@@@AM@@@@)['[N]@C@K@@@@@@@@R;J@@@A#J@@^&;@@@WR#F@@]/K@@]C:@@@@I;C@@@AAH )@@G@@;C)@@AP;)@@[R#)K@@AN@@@@)]^[N]@GK@K)]@@@@@N8K@@W&;@@@[R#F@@]&;K@@[O#K@@CAI )@@G@@T8K@@W/KF@@ '^@@]T*4J@@#'=@@@@AO@@@@)]I[M@(@@@CS@@@@@@9*FK@[R[@@W^R#VK@#AJ )@@G@@R;@@@B/KFK@@9*FK@[R;K@@@R;@@@A/KF@@ M#H)@@AP@@@@)]S[U[]@C@@@/KFK@@9*FK@[AK )@@G@@ @@@@HR;@@@ /KFK@@9*FK@[R#X@@#R#K@@#R;@@@]/K@@@@/KFK@@AQ@@@@)@@@K/S@@@@@AL )@@G@@)W]@8@])@@@@@@@___@@[@@][____@[_____@@@@@@@@@@@@@@@@@@@@@@@@@@@@O]AR@@@@AM )@@G@@@@^@@]@@A@@^@@I@@#@@U@@@@@@@WD@@@@]8@@@)C4@@@B/K@@[F/,)@^^C8@@@@/K@@[]C8@@@@BI )@@G@@/]@@[FAK@@@@)[B[##@@K^[]] ]]D]@L@@@@@@@@@@/]@@[:CU@@@@'=@@@@R#@@@@/K@@[[BJ )@@G@@/,)@#:&')@@UR[@@@/AL@@@@)[J[](@Y-@MCKACS@CKCCS@CKC@@@@/,0@@@C8@@@+/,0@@@BK )@@G@@C8@@@X/,0@@@C/@@@ /,0@@@C/@@@@AM@@@@)[R[EK)GK)PK)N^@(@%) G@@C8@@@@/K@@[)BL )@@G@@C8@@@@/]@@[(H'@@@[/,0@@@C@@@@G/,0@@@C/@@@NAN@@@@)[)[F@K^G@[@K0@^[@@@@@@@BM )@@G@@/K@@[Z/,)@#:&')@@VR[@@@./K@@[Z>8@@@KC4@@@B/K@@[(/,)@^^AO@@@@)[([#]] ]]D]BN )@@G@@@L@K0@K]=]%@@@@@@@/K@@[,$9@@@J/,)@["R[@@@"/]@@]OC2@@@@'=@@@@R#@@@@AP@@@@BO )@@G@@)[1[E(@%) G@^[@K0@^[#@@@R[@@@_/K@@[3>8@@@CC4@@@B/K@@]O/,)@^^C8@@@@/K@@[4BP )@@G@@C8@@@@AQ@@@@)['[#@ES@C]@O)JK)D^C#@@@@@@@@@/,0@@@C/@@@ /,0@@@C/@@@@/K@@[3BQ )@@G@@/K@@['$9@@@U/,)@["AR@@@@)]][F#@[][@K)RK)W^C =CB@C@^@@[/,0@@@/,0@@@C@^@@@BR )@@G@@/,0@@@/,0@@@C@^@@@/,0@@@C8@@@=AS@@@@)]F[F][X][0K)QK)-K)+^@@@/KE@@@/]@@]OBS )@@G@@H'@@@['=@@@@R#@@@@/,0@@@C@^@@[/,0@@@/,0@@@AT@@@@)]O[#]@H]@T@^C[-]]G([A@@BT )@@G@@@@@@@@C8@@@@[0@@@[C8@@@R*4@@@@C8@@@ /K@@]Z*0@@@@*0@@@@AU@@@@)]W[#]]L@K)>BU )@@G@@K)]K)AK]=['^[C@@@@/,0@@@C/@@@@/K@@#$(0@@@@*0@@@@'=@@@@/@@@]Z'=@@@@AV@@@@BV )@@G@@)]=[]K)GK0@K)KK)XK)M^C]0@@@@@@/,0@@@C/@@@//,0@@@CW@@@D/,0@@@C8@@@(/,0@@@BW )@@G@@C/@@@ AW@@@@)]?[F][5][D][4K[]@!][4@@;C@@@AC^@@@D/,0@@@C/@@@,/K@@]':8@@@[BX )@@G@@C?@@@A/,0@@@C?@@@DAX@@@@)]5[#][CK)FK)XK)MK)WK)XK)M@@@@/,0@@@C4@@@C/,0@@@BY )@@G@@/,0@@@C)@@@D/,0@@@C/@@@//,0@@@AY@@@@)].[#][1][5][D][5@K)XK^CB@@@@@/,0@@@BZ )@@G@@/K@@#G(@@@@F/K@@#G(4@@@C/,0@@@C?@@@E/,0@@@AZ@@@@)# [#][5][H][5@K)WK)XK)NCA )@@G@@K)-@@@R#@@@@/,0@@@C@@@@G/,0@@@/K@@#G(@@@@G/,0@@@C@@@@FBA@@@@)#H[#]]C(@Y-CB )@@G@@@MCKACS@CKCCKI)@@@C?@@@C/,0@@@C8@@@1/,0@@@C/@@@ /,0@@@C/@@@@'=@@@@BB@@@@CC )@@G@@)#P[F][CK)HK)X[@K)WK)X@@C*@@@E/,0@@@/K@@#-!8@@@I!8@@@DC4@@@A/,0@@@C/@@@]CD )@@G@@/,0@@@BC@@@@)#Y[#][CK)HK0@K)KK)XK)MK)-@@@@R#@@@@/,0@@@CO@@@E/,0@@@C8@@@6CE )@@G@@/,0@@@C/@@@]/,0@@@BD@@@@)#&[#]]C(@/ CB4CD-]@?@@@@@@@@@C/@@@[/,0@@@C/@@@,CF )@@G@@'=@@@@R;K@@@&;@)@@R;@@@@'=@@@@BE@@@@)#,[F]@5][?@K^CCOCC)@@@@'=@@@@R#@@@@CG )@@G@@/K@@#;?@@@@HR;K@[@(@@@@NR;K@[//,0@@@/,0@@@BF@@@@)#7[E(@Y-@MCKACS@CKD)@@@CH )@@G@@C@@@@E/]E@@[H'@@@[/,0@@@C@^@@@/,0@@@C/@@@N/,0@@@C/@@@@BG@@@@)^@[E^@K)#K@CI )@@G@@K0@@@@@@@@@@[@@@@W/GE@@@C@G@@@/K@@^K*0@@@@/KE@@@/K@@#:$[@@@G;C@@@MBH@@@@CJ )@@G@@)^D[#]]X@JA@))JA@0@JA@0@@@@@@@0@G@@@/KE@@[@@@@@@@@@@@W@@@@@@@@@@@@/K@@^LCK )@@G@@/,0@@@BI@@@@)^L[EES@C@O)O]&@]^ @@@@@C8K@@][@K@@#Q;K@@@&;K@W]:8@@@@&;K@W[CL )@@G@@/K@@^X:8@@@@/KE@@@BJ@@@@)^U[E(@*C]^ @-[KO)*K)(@@0@@@@G'=@@@@C8@@@@[WK@@^CM )@@G@@O;K@@[RZK@@^/K@@^Z @@@@H:8@@@@BK@@@@)^<@M@)@9@8@]=](K@@@@@@@@@]@@C@@]@@HCN )@@G@@@@[@@C@@]@@C@@]@@Q@@[@@O@@[@@]/KE@@[/KE@@@BL@@@@@@^@@]@@A@@%@[U@@[@[Y@@@CO )@@G@@@@@@[@@@@@^>CNT1 CNT2 FLAGS MRFLGS LINE2 CP )@@G@@FLAG3 FLAG4 FLAG5 OPTIONS EDIT$ EDITR$ CQ )@@G@@ECHAR$ ECOL$ ESKIP$ ECLEAR$ EDPACK EMSG$ CR )@@G@@EOCTV$ EDECV$ EFD1$ MI0 MI1 ETIME$ CS )@@G@@EDAY1$ EDAY2$ EDAY3$ EDITX$ ECOLN$ EMSGR$ CT )@@G@@FITEM CHEKPRTSG PR600 ECODE POUT PRINT$ CU )@@G@@FREIM CSF$ EABT$ LOAD$ DIRLNK RDPKT CV )@@G@@MSCON$ PMORE @@[@@@@@@@@@ SR R15,DLA . CW )@@G@@YES, SO SET DLOC$-ASG'D FLAG @E@@@@ LA A0,FTMPKT CX )@@G@@)@@@K@)@@@3]@OK)CK0@K)EJA@0@@@@@@@@@/,0@@@[@@@@@*W@@@TC8@[OS^$0@@@@@@@ KCY )@@G@@@@@@%GAA@@@@)@A[]/S#@@EK^*]^[S-@S-@^@@@@@@C@@@@@/K@@@@ROPN$ /?K@@@/,0@@ECZ )@@G@@R;0@@@@@@@@@@@@@@[AB@@@@)@I[#]@5]@9]@5]@5]@4(@U-@Y-@)@/K@@@@/,0@@@R;@@@@DA )@@G@@[\)@@I[3K@@I[4@@@IC?@@@E[@@@@@AC@@@@)@Q[F][ ][C*]A@@CKA*K[@@A#@@@@R#@@@@DB )@@G@@M#W)@@N8K@@8R#K@@]&;@@@[@@@@@>/,0@@@/,0@@@AD@@@@)@Z[#]@5]@9]@5]@5]@5][H]DC )@@G@@@H][K@/K@@@@(0@@@@/K@@@@CB0@@IC\)@@IC3K@@IA\@@@EC4@@@IAE@@@@)@$@F][O@@@@DD )@@G@@)@]@C(@U@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@[@@@/K@@@@AF@@@@DE )@@G@@@@^@@]@@A@@Q@@2@@H@[&@@@@@@@@#@@@@@*CNT1 CNT2 FLAGS DF )@@G@@MRFLGS LINE2 FLAG3 FLAG4 FLAG5 OPTIONS DG )@@G@@SORTBL SORTF RSTRG$ RBPN$ MI0 LI0 DH )@@G@@RREL$ CHK000 RSORT$ RRET$ PR000 MFD600 DI )@@G@@QF900 OPNSRT @@[@@@@@@@@@NOSORTF @@[@@@@@@@@CROPN$ DJ )@@G@@@@[@@@@@@@@ERTMIN$ @@[@@@@@@@@HRTMAX$ @@[@@@@@@@@HRTPT$ DK )@@G@@@@[@@@@@@@@HRTST$ @@[@@@@@@@@HRTMT$ @@[@@@@@@@@HRLBLK$ DL )@@G@@@@[@@@@@@@@HGOTREC @@[@@@@@@@@HDOSORT @@[@@@@@@@@QLPOC DM )@@G@@@@[@@@@@@@@RSRTNXT @@[@@@@@@@@R@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@DN )@@G@@@@@@@@@@@@@@@@@@@@@@@@@@)@@[S@@@@@@@UP TAPL BACK TOTAT=& G-OP-OPT=&DO )@@G@@V=& V REMOD=& FIXETRKS&:AA@@@@)@F@8@@@@@@@)@@@M(@Y-@M@/,0@@@C/@@@@DP )@@G@@S=& TAPE=& TOTALFILES:KS=& E BLOCAB@@@@)@][F#@[][[]@)K^C[4@K)H@DQ )@@G@@/,0@@@C/@@@[/K@@@M(0@@@@/K@@@M:8@@@[CW@@@N/,0@@@C8@@@@AC@@@@)@F[]K)FK)BYDR )@@G@@)OK)N^C]4C 0@@@@@@/,0@@@/,0@@@C/@@@)/,0@@@C@GJ_"C0@@@@/,0@@@C/@@@(AD@@@@DS )@@G@@)@N[#][-][D#@[][[][>][D][X][*@C@@@@@/,0@@@/,0@@@C@@@@@/,0@@@C8@@@#/,0@@@DT )@@G@@C@@@@@AE@@@@)@V[#][D][X][!][D@K0@K)KK)W@@@C@@@@@/,0@@@C8@@@C/[0@@=/,0@@@DU )@@G@@C@@@@@/,0@@@/,0@@@AF@@@@)@<[#][D][9][/(@Y-@M-)@-@)-@'@C@@@@@/,0@@@C8@@@HDV )@@G@@/,0@@@C/@@@@'=@@@@R#@@@@/,0@@@AG@@@@)@:[#][D#@[][[]@ ][D][X]@[][C@/,0@@@DW )@@G@@CC@@@@/,0@@@/,0@@@C^@@@@/,0@@@C8@@@#/,0@@@AH@@@@)@3[#][X]@[][D#@[][[]@ ]DX )@@G@@[D][O@/,0@@@/,0@@@CC@@@@/,0@@@C8@@@K/,0@@@C^@@@@/,0@@@AI@@@@)@;@V][9][.]DY )@@G@@]@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@/K@@@@'=@@@@R#@@@@AJ@@@@DZ )@@G@@@@^@@]@@A@@-@[C@@[@[G@@@@@@@@M@@@@@"CNT1 CNT2 FLAGS EA )@@G@@MRFLGS LINE2 FLAG3 FLAG4 FLAG5 OPTIONS EB )@@G@@EDIT$ EDITR$ ECHAR$ ECOL$ ESKIP$ ECLEAR$ EC )@@G@@EDPACK EMSG$ EOCTV$ EDECV$ EFD1$ EQUCD ED )@@G@@EDITX$ ECOLN$ EMSGR$ TOT RTOT VTOT EE )@@G@@GTOT SECTOT PFCT POUT PRINT$ MFD700 EF )@@G@@TOT000 @@[@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@EG )@@G@@)@8@0@@@@@@@)[#@S@@@@@@@$ . OUT$$@ASG,T $. OUT$$TAFILE IN DAEH )@@G@@OUTPUTAA@@@@)[A[K@@G^*[K@@@@@@@@[@[A@@[@@@@@@@@W@@@@@@@@W@@@@C@@@@@@@@@@EI )@@G@@ OUT$$$*SDFF*AB@@@@)[K@K@)@@@2()@-@M) G@^C]=C]0@@/,0@@@/,0@@@C8@@[BEJ )@@G@@/G@@@A'=@@@@C8@@[#*[@@@@@@[@@@AC@@@@)@A[#]@0K0@ES@CS@CK]*KA)@@@@@@N8K@@ EK )@@G@@/K@@@@^<0@@@[^@@[JC8@@@.[W@@[LC8@@@A'=@@@@AD@@@@)@I[##@[#@@^G@]&@]^[U^[)EL )@@G@@@@@@@@'=@@@@/,0@@@C8@@[B[4@@@"C8@@@ M#W)@@R#K@[NR#@@[MAE@@@@)@Q@<]@.]@-]EM )@@G@@[[]@/@)[M@K(@WO@@@@@@@@@@@@@@@@@[@@"@@[@@B/K@@@@/K@@@@(W@@@M/ 0@@@AF@@@@EN )@@G@@@@^@@]@@A@@L@@*@@^@@8@@@@@@@[O@@@@@UCNT1 CNT2 FLAGS EO )@@G@@MRFLGS LINE2 FLAG3 FLAG4 FLAG5 OPTIONS EP )@@G@@CSF$ SDFOO SDFO ERR$ MFD200 LINOUT EQ )@@G@@PR300 MFD300 MSG @@@@@@@@@@@8FCT @@@@@@@@@@[BER )@@G@@SDF000 @@[@@@@@@@@@SDF100 @@[@@@@@@@@H*[@@@@*SDFF*@D@@@@ M F ES )@@G@@D -- MASTER FILE DIRECTORY INFORMATION PROCESSOR@]@@@@SPACE 15 @F@@@@ET )@@G@@ M F D -- MASTER FILE DIRECTORY INFORMATION PROCESSOR @]@@@@EU )@@G@@SPACE 5 @C@@@@ R. DUFF KURLAND @C@@@@EV )@@G@@ NEW YORK UNIVERSITY @C@@@@ EW )@@G@@ UHMC COMPUTER CENTER @E@@@@ 1 WASHINGTON SQUAREEX )@@G@@ VILLAGE - SUITE 1F @C@@@@ NEW YORK, NEW YORKEY )@@G@@ 10012@[@@@@SPACE @B@@@@ JANUARY, 1975@#@@@@EZ )@@G@@4INTRODUCTION @]@@@@COLUMN 2 @E@@@@ @MFD IS A MASTER FILE DIRFA )@@G@@ECTORY LISTING PROCESSOR, @E@@@@ A PING-PONG EFFORT OF AT&T, SIAC, AFB )@@G@@ND NYU SYSTEMS STAFFS. @E@@@@ UOM'S @CATALOG WAS USED AS A BASIS FOR @MFC )@@G@@FD'S PREDECESSOR, @E@@@@ @WHURP. @WIPE REPLACED @WHURP WHEN MSCON$ AND FD )@@G@@@SECURE CAME@F@@@@ ON THE SCENE, AND @WIPE WAS RENAMED @MFD AFTER LEVEL FE )@@G@@3.8 BECAUSE @ @@@@ NOBODY LIKED THE NAME @WIPE. @^@@@@4PRIVILEGED FEATURFF )@@G@@ES @E@@@@ THIS INFORMATION IS FOR USE BY INSTALLATION MANAGEMENTFG )@@G@@@G@@@@ AND SYSTEMS PROGRAMERS, AND IS NOT INTENDED FOR THE GENERAL USER.FH )@@G@@ IT @F@@@@ EXPLAINS CERTAIN FEATURES OF @MFD THAT ARE ONLY AVAILABLE TFI )@@G@@O @#@@@@ PRIVILEGED USERS.@[@@@@SPACE @G@@@@ WHEN IN PRIVILEGED MODEFJ )@@G@@, THE 'Z' OPTION MAY BE USED TO DIRECT @MFD @F@@@@ TO LIST ALL FILESFK )@@G@@ IN THE DIRECTORY, HONORING ONLY THE SECONDARY @G@@@@ ATTRIBUTE OPTIONSFL )@@G@@ AND SPECIAL SPEC FIELD TESTS. THAT IS, NO CHECK ON @C@@@@ FILENAME, AFM )@@G@@CCOUNT, PROJECT, ETC., WILL BE DONE.@[@@@@SPACE @G@@@@ IN PRIVILEGED MODFN )@@G@@E ONLY, THE 'QFK' OPTIONS USED TOGETHER WILL CAUSE @F@@@@ @MFD TO PRIFO )@@G@@NT THE READ AND WRITE KEYS OF THE FILE GIVEN IN SPEC1.@[@@@@SPACE @F@@@@FP )@@G@@ THE TAG 'PRVOPS' IN THE PROC ELEMENT MAY BE CHANGED TO DECLARE @B@@@@FQ )@@G@@ ANY OPTION TO BE A PRIVILEGED OPTION. @D@@@@ THE 'Z' OPTION SHOULD AFR )@@G@@LWAYS BE IN THIS LIST. OTHER @C@@@@ LIKELY OPTIONS ARE 'I', 'C', 'Y', AFS )@@G@@ND 'X'. @^@@@@4@MFD GENERATION NOTES @G@@_@ SEVERAL ELEMENTS ARE INFT )@@G@@CLUDED IN THIS FILE FOR MAINTENANCE OF @MFD. @B@@_@ THEIR NAMES AND PFU )@@G@@URPOSES ARE GIVEN BELOW:@[@@_@SPACE @]@@_@COLUMN 11 @B@@_@ SKEL THFV )@@G@@E @MFD MAINTENANCE SKELETON. @D@@_@ ALL SYMBOLICS ARE ASSUMED FW )@@G@@TO BE IN TPF$. @[@@_@SPACE @E@@_@ PCF THE PERMANENT CORRECTION FFX )@@G@@ILE NEEDED TO BRING THE @G@@_@ BASE LEVEL SYMBOLICS IN THIS FILFY )@@G@@E UP TO THE LATEST VERSION. @[@@_@SPACE @F@@_@ TCF AN EMPTY ELEMEFZ )@@G@@NT PROVIDED FOR LOCAL SITE MODIFICATIONS @[@@_@SPACE @F@@_@ GEN ANGA )@@G@@ @ADD STREAM WHICH USES THE ABOVE ELEMENTS TO GENERATE@E@@_@ ANGB )@@G@@ @MFD ABSOLUTE. AS SHIPPED, IT WILL ASSEBLE @D@@_@ ALL THE GC )@@G@@ELEMENTS, CREATING A FULL LISTING. @[@@_@SPACE @]@@_@COLUMN 2 @F@@@@GD )@@G@@ @MFD MAKES USE OF THE 'SORTF' SUBROUTINE, THE SYMBOLICS FOR WHICH@D@@@@GE )@@G@@ MAY BE FOUND IN ANOTHER FILE ON THIS RELEASE TAPE. @G@@@@ THIS ROUTINGF )@@G@@E CAME FROM THE UNIVERSITY OF MARYLAND, BUT WE HAVE MODIFIED@F@@@@ IT ATGG )@@G@@ NYU TO USE REMOVABLE DISCS FOR THE 'XB' SORT FILE IF THE @G@@@@ SIZE GH )@@G@@OF 'XB' IS GREATER THAN 3 POSITIONS, OR IF THERE IS NOT ENOUGH @G@@@@GI )@@G@@ FIXED MASS STORAGE TO HOLD IT. IN THIS CASE, 'XB' WILL BE ASSIGNED GJ )@@G@@@F@@@@ ON F14, USING PACKID 'SORT01' (AND IF THE SIZE IS GREATER THAN 45GK )@@G@@@G@@@@ POSITIONS, 'SORT02' IS USED AS WELL). THIS MAY HAVE TO BE CHANGEGL )@@G@@D @#@@@@ AT MANY SITES. @[@@@@SPACE @E@@@@ USE OF THE 'B' OPTION WGM )@@G@@HEN COLLECTING @MFD IS ENCOURAGED. @[@@@@SPACE @F@@@@ IF YOU MAKE ANY MGN )@@G@@ODIFICATIONS OR ENHANCEMENTS TO @MFD, PLEASE @E@@@@ LET US KNOW ABOUTGO )@@G@@ THEM. THEY MIGHT BE WORTH ADDING TO THE @#@@@@ RELEASED VERSION.@[@@@@GP )@@G@@SPACE @[@@@@SPACE @F@@@@ A GENERAL REDESIGN USING COMMON BANKS IS CONTEMGQ )@@G@@PLATED, AS IS THE @H@@@@ ELIMINATION OF THE ADMITTEDLY AWKWARD SPEC FIELGR )@@G@@DS AND THE IMPLEMENTATION @B@@@@ OF AN @MFD 'LANGUAGE' TO REPLACE THGS )@@G@@EM. @^@@@@4USER DOCUMENTATION @G@@@@ USER DOCUMENTATION ON @MGT )@@G@@FD MAY BE FOUND IN THE ELEMENT 'MFD/NEWS' @F@@@@ IN THIS FILE. FOR EASEGU )@@G@@ OF MAINTENANCE, IT IS NOT INCLUDED AS @^@@@@ PART OF THIS ELEMENT. GV )@@G@@___@@@ TO LIST ALL FILES IN THE DIRECTORY, HONOR*[@@@@*SDFF*@A@@@@. @MFDGW )@@G@@ INITIALIZATION - PHASE 1 @[@@@@. @G@@@@. ALL USE OF INFOR$ MUSTGX )@@G@@ BE COMPLETE BY THE END OF THIS ROUTINE, SINCE @G@@@@. INFOR$ IS COLLECGY )@@G@@TED IN THE INIT1 SEGMENT, WHICH GETS OVERLAYED AFTER @#@@@@. INITIALIZAGZ )@@G@@TION. @[@@@@. @#@@@@ AXR$ @F@@@@ CONFIG HA )@@G@@ . DEFINE CONFIG PARAMETERS@E@@@@ EQUFS HB )@@G@@ . DEFINE EQUF'S @[@@@@. @D@@@@. REMOTE LOAD TABLHC )@@G@@E FOR C/Y OPTION SPEC MASK, ETC. @[@@@@. @E@@@@ACLD LA,S1 HD )@@G@@ A0,0,X2 . GENERAL LOAD TABLE@ @@@@ LA,S2 A0,0HE )@@G@@,X2 @ @@@@ LA,S3 A0,0,X2 @ @@@@ LA,S4 A0,0HF )@@G@@,X2 @ @@@@ LA,S5 A0,0,X2 @ @@@@ LA,S6 A0,0HG )@@G@@,X2 @ @@@@ LA,S1 A0,1,X2 @ @@@@ LA,S2 A0,1HH )@@G@@,X2 @ @@@@ LA,S3 A0,1,X2 @ @@@@ LA,S4 A0,1HI )@@G@@,X2 @ @@@@ LA,S5 A0,1,X2 @ @@@@ LA,S6 A0,1HJ )@@G@@,X2 @[@@@@. @^@@@@ ON NSSP@[@@@@. @C@@@@. INITHK )@@G@@IAL VALUES FOR REMOTE TEST INSTRUCTIONS @[@@@@. @B@@@@INITINS1 LAHL )@@G@@ A0,MI0 . @B@@@@INITINS2 LA A0,SPEC4 HM )@@G@@ . @ @@@@INITINS3 TE A0,SPC @B@@@@INITMSK - 0 HN )@@G@@ . @B@@@@INITDTE DTE A0,SPEC4 . @[@@@@HO )@@G@@. @E@@@@. TABLE OF LEGAL SPEC4-N FILENAME (TEST LOCATION) VALUES HP )@@G@@@C@@@@. ALSO USED FOR SORT KEYS IF SORT IS CONFIGURED @[@@@@. @G@@@@HQ )@@G@@. -------------------------------------------------------------------HR )@@G@@@G@@@@. 0 : SPEC VALUE (FIRST 3 CHAR) : J-DESIG :TEST INDEX: OFFHS )@@G@@SET :@G@@@@. -------------------------------------------------------HT )@@G@@------------@[@@@@. @H@@@@. S5 = 0 IF 'DTE' IS TO BE ASSUMED, OTHERWHU )@@G@@ISE = INDEX+1 INTO OPCODE TABLE @[@@@@. @[@@@@. @G@@@@. IF SHV )@@G@@ORT IS NOT CONFIGURED, TABLE WILL BE MADE UP OF 1-WORD ENTRIES @G@@@@HW )@@G@@. IN THE ABOVE FORMAT...IF SORT IS CONFIGURED, ENTRIES WILL BE THREE HX )@@G@@@G@@@@. WORDS LONG, WHERE FIRST WORD HAS ABOVE FORMAT, AND THE OTHER TWOHY )@@G@@ WORDS@ @@@@. HAVE THE FOLLOWING FORMAT: @[@@@@. @G@@@@. -------HZ )@@G@@------------------------------------------------------------@G@@@@. 1 :IA )@@G@@ 03 : KEY TYPE : ORDER : MS BIT : 0 :@G@@@@IB )@@G@@. -------------------------------------------------------------------IC )@@G@@@G@@@@. 2 : 77 : WORD NUMBER : NUMBER OF BITS ID )@@G@@ :@G@@@@. -------------------------------------------------------IE )@@G@@------------@[@@@@. @F@@@@. AND ARE BOTH ZERO IF NO SORT IS AVAILABLIF )@@G@@E FOR THIS SPEC VALUE. @D@@@@. 'WORD NUMBER' HERE IS RELATIVE TO MI0&1 IG )@@G@@SORT RECORD @[@@@@. @#@@@@P PROC @D@@@@TB1* NAME IH )@@G@@ 0 . MI0 KEYS @D@@@@TB2* NAME 1 II )@@G@@ . MI1 KEYS @ @@@@F FORM 18,6,6,6 @ @@@@SRT1 IJ )@@G@@ FORM 6,6,6,6,12@ @@@@SRT2 FORM 6,12,18 @C@@@@ IK )@@G@@ F P(1,1),P(1,2),P(1,3),P(1,4) @ @@@@ ON SORTIL )@@G@@OK @F@@@@ DO P(1,4)=0 , GO ZERO . NO SORT FOR LI0,MIIM )@@G@@0,MI1 @G@@@@ DO P(1,2)=0 ,TYPE EQU 'A' . FULL WORD - ASSUMEIN )@@G@@ ALPHA SORT @G@@@@ DO P(1,2)>0 ,TYPE EQU 'B' . PARTIAL WORDIO )@@G@@ - BINARY SORT @[@@@@. @C@@@@. SET MOST-SIGNIFICANT-BIT BASED ON IP )@@G@@J-DESIGNATOR@[@@@@. @F@@@@J EQU P(1,2) . IQ )@@G@@PICK UP J-DESIGNATOR @F@@@@ DO (J=W)++(J=H1)++(J=XH1)++(J=T1IR )@@G@@)++(J=S1) ,MSBIT EQU 1 @F@@@@ DO J=S2 IS )@@G@@ ,MSBIT EQU 7 @F@@@@ DO (J=T2)++(J=S3) IT )@@G@@ ,MSBIT EQU 13 @F@@@@ DO (J=H2)++(J=XH2)++(J=S4) IU )@@G@@ ,MSBIT EQU 19 @F@@@@ DO (J=T3)++(J=S5) IV )@@G@@ ,MSBIT EQU 25 @F@@@@ DO J=S6 IW )@@G@@ ,MSBIT EQU 31 @[@@@@. @C@@@@. GENERATE FIRST WORD OF SORT IX )@@G@@KEY PARAMETER @[@@@@. @B@@@@ SRT1 03,TYPE,'A',MSBIIY )@@G@@T,0 @[@@@@. @G@@@@ DO P(0,0)=0 ,WORD EQU P(1,4) . OFIZ )@@G@@FSET IS RELATIVE TO MI0 @H@@@@ DO P(0,0)=1 ,WORD EQU P(1,4)+28 JA )@@G@@ . OFFSET IS FOR MI1 - CONVERT IT @[@@@@. @G@@@@. SET KEY LENGTH IJB )@@G@@N BITS, BASED ON J-DESIGNATOR AND TEST BEING DONE @E@@@@. IF WHOLE WJC )@@G@@ORD AND NOT 'DTE', 36 BITS. IF 'DTE', 72 BITS. @B@@@@. IF PARTIAL WORD,JD )@@G@@ CORRECT NUMBER OF BITS @[@@@@. @G@@@@ DO (P(1,3)>DTE)**(J=JE )@@G@@0) ,BITS EQU 36 . WHOLE WORD @G@@@@ DO P(1,3)=DTE JF )@@G@@,BITS EQU 72 . TWO WORDS @F@@@@ DO J>T1 JG )@@G@@,BITS EQU 6 . SIXTH@F@@@@ DO (J=T1JH )@@G@@)++(J=T2)++(J=T3) ,BITS EQU 12 . THIRD@F@@@@ DO (J=H1JI )@@G@@)++(J=XH1)++(J=H2)++(J=XH2) ,BITS EQU 18 . HALF @[@@@@. @C@@@@. GENEJJ )@@G@@RATE SECOND WORD OF SORT KEY PARAMETER @[@@@@. @A@@@@ SRJK )@@G@@T2 077,WORD,BITS @^@@@@ GO ETBL@#@@@@ZERO NAJL )@@G@@ME @F@@@@ + 0D . NO SORT FOR THIS IJM )@@G@@TEM @#@@@@ETBL NAME @ @@@@ OFF SORTOK @#@@@@JN )@@G@@ END @[@@@@. @E@@@@TBL4 TB1 'LI0',0,0,0 JO )@@G@@ . LEAD ITEM SECTOR 0@D@@@@QU TB1 'QUA',0,DTE,1 . JP )@@G@@QUALIFIER @D@@@@FI TB1 'FIL',0,DTE,3 . FILENAME JQ )@@G@@@D@@@@ TB1 'PRO',0,DTE,5 . PROJECT-ID @ @@@@LI0X JR )@@G@@ EQU $-TBL4 @E@@@@ TB1 'MI0',0,0,0 . JS )@@G@@MAIN ITEM SECTOR 0@D@@@@ TB1 'ACC',0,DTE,7 . ACCOUNJT )@@G@@T @H@@@@SI TB1 'SIZ',H2,TG,14 . SPECIAL-TOT TRKS SJU )@@G@@AVED IN MI0+14 @E@@@@ TB1 'EQU',S1,TE,17 . EQUIPMJV )@@G@@ENT CODE @D@@@@FCY TB1 'FCY',T3,TE,17 . F-CYCLE JW )@@G@@@F@@@@ TB1 'REF',H1,TLE,18 . DATE LAST REFERENCED JX )@@G@@@E@@@@ TB1 'CAT',H1,TLE,19 . DATE CATALOGUED @D@@@@JY )@@G@@ TB1 'REE',0,TE,26 . TAPE REEL @ @@@@MI0X EQJZ )@@G@@U $-TBL4 @E@@@@ TB2 'MI1',0,0,0 . MAIN IKA )@@G@@TEM SECTOR 1@E@@@@ TB2 'BTB',H2,TG,9 . BACKUP TAPE KB )@@G@@BLOCKS@F@@@@ TB2 'BFP',T2,TE,10 . BACKUP FILE POSITIKC )@@G@@ON @D@@@@ TB2 'BAC',0,TE,11 . BACKUP REEL @C@@@@KD )@@G@@ TB2 'PAC',0,TE,18 . PACKID@ @@@@TBL4L EQU KE )@@G@@ $-TBL4 @[@@@@. @C@@@@. TABLE OF OPCODE MNEMONICS AND OCTAL CODEKF )@@G@@S @[@@@@. @^@@@@DTE EQU 0 @A@@@@OPCODE + KG )@@G@@ 'TZ ',0500000 @ @@@@TZ EQU $-OPCODE @A@@@@ + KH )@@G@@ 'TNZ',0510000 @ @@@@TNZ EQU $-OPCODE @A@@@@ KI )@@G@@ + 'TP ',0600000 @ @@@@TP EQU $-OPCODE @A@@@@KJ )@@G@@ + 'TN ',0610000 @ @@@@TN EQU $-OPCODE KK )@@G@@@A@@@@ + 'TEP',0440000 @ @@@@TEP EQU $-OPKL )@@G@@CODE @A@@@@ + 'TOP',0450000 @ @@@@TOP EQU KM )@@G@@ $-OPCODE @A@@@@ + 'TE ',0520000 @ @@@@TE EQKN )@@G@@U $-OPCODE @A@@@@ + 'TNE',0530000 @ @@@@TNE KO )@@G@@ EQU $-OPCODE @A@@@@ + 'TLE',0540000 @ @@@@KP )@@G@@TLE EQU $-OPCODE @A@@@@ + 'TNG',0540000 KQ )@@G@@@ @@@@TNG EQU $-OPCODE @A@@@@ + 'TG ',0550KR )@@G@@000 @ @@@@TG EQU $-OPCODE @ @@@@OPCODL EQU $-OPKS )@@G@@CODE @[@@@@. @^@@@@. TABLE OF J-DESIGNATORS@[@@@@. @C@@@@JTAB KT )@@G@@ 'W' . 0 @C@@@@ 'H2' KU )@@G@@ . 1 @C@@@@ 'H1' . KV )@@G@@2 @C@@@@ 'XH2' . 3 @C@@@@ KW )@@G@@ 'XH1' . 4 @C@@@@ 'T3' KX )@@G@@ . 5 @C@@@@ 'T2' . KY )@@G@@6 @C@@@@ 'T1' . 7 @C@@@@ KZ )@@G@@ 'S6' . 10 @C@@@@ 'S5' LA )@@G@@ . 11 @C@@@@ 'S4' . LB )@@G@@12 @C@@@@ 'S3' . 13 @C@@@@ LC )@@G@@ 'S2' . 14 @C@@@@ 'S1' LD )@@G@@ . 15 @ @@@@JTABL EQU $-JTAB @[@@@@. LE )@@G@@@ @@@@ ON SORTOK @F@@@@SRTHSP + 0 LF )@@G@@ . SORT-THIS-SPEC FLAG @#@@@@ OFF @ @@@@ LG )@@G@@ ON SNAPOK @F@@@@SNTHSP + 0 . LH )@@G@@SNAP-THIS-SPEC FLAG @#@@@@ OFF @H@@@@ OFF LI )@@G@@ NSSP . ************************************@[@@@@. LJ )@@G@@@^@@@@OPERM 'OPTION ERROR'@^@@@@/$(1). SET OPTIONS @[@@@@. LK )@@G@@@D@@@@IN1000* L,U R15,1 . CONSTANT=+1 @F@@@@ LL )@@G@@ SA A5,OPTWRD . SAVE OPTIONS FOR INIT2 @F@@@@ LM )@@G@@ LSSL A5,10 . GET 'A' BIT IN POS. 35 @G@@@@ LN )@@G@@ LX X11,(1,0) . INITIALIZE OPTION TABLE INDEX @E@@@@LO )@@G@@IN1001 JPS A5,IN1002 . IS OPTION SET? @F@@@@ LP )@@G@@ SR,T1 R15,OPTIONS,X11 . YES, SET OPTION FLAG @E@@@@IN1002LQ )@@G@@ TLEM,U X11,25 . FINISHED YET? @D@@@@ J LR )@@G@@ IN1001 . NO, CONTINUE@ @@@@ ON