TDUIN 
ASCII 
*NOSEQ
*WIDTH 95 
MODULE ^T^D^U^I^N;
  
?? SET ( CHKALL @D= ON ), RIGHT @D= 110 ??
  
^0  M^O^D^U^L^E @D  TDUIN  ^2 
^0            C^O^P^Y^R^I^G^H^T C^O^N^T^R^O^L D^A^T^A S^Y^S^T^E^M^S I^N^C.  1992.  ^2 
^0  W^R^I^T^T^E^N@D  1/84 ^B^Y R. L^I^N^D^S^E^Y  ^2 
^0  V^E^R^S^I^O^N@D  C^Y^B^E^R 170, ^V^E^R^S^I^O^N 1 ^2 
^0  P^U^R^P^O^S^E@D  T^H^I^S ^M^O^D^U^L^E ^P^R^O^V^I^D^E^S ^T^H^E ^I^N^P^U^T ^R^E^A^D^I^N^G ^A^N^D ^P^A^R^S^I^N^G ^F^U^N^C^T^I^O^N
^0            ^O^F ^T^H^E TDL ^L^A^N^G^U^A^G^E ^O^N ^B^E^H^A^L^F ^O^F ^T^H^E TDU ^P^R^O^G^R^A^M. ^2 
  
^0 ?? PUSH ( LIST @D= OFF ) ??          ^0^U^S^E ^T^H^I^S ^L^I^N^E ^T^O ^S^U^P^P^R^E^S^S ^C^O^M^M^D^E^C 
  ?? PUSH ( LIST @D= ON )  ??          ^0^U^S^E ^T^H^I^S ^L^I^N^E ^T^O ^L^I^S^T ^C^O^M^M^O^N ^D^E^C^K 
  
?? NEWTITLE @D= 'SCL ^P^A^R^S^I^N^G ^D^E^C^L^A^R^A^T^I^O^N^S' ??
?? SKIP @D= 4 ??
  
^0 ****************************** ^2
^0 SCL ^T^Y^P^E^S ^A^N^D ^R^O^U^T^I^N^E^S ^F^O^L^L^O^W@D ^2 
*CALL ZTDPCLP 
*CALL ZUTVCTT 
  
^0 ***************** ^2 
^0 ^E^R^R^O^R ^C^O^N^D^I^T^I^O^N^S@D ^2 
*CALL ZTDCCON 
*CALL ZTDCCLC 
  
?? OLDTITLE ??
?? NEWTITLE @D= 'PDT''^S ^F^O^R TDL' ?? 
?? EJECT ?? 
  
^0 ********************* ^2 
^0 PDT'^S ^F^O^R TDL ^F^O^L^L^O^W@D ^2
*CALL ZTDVPDT 
  
?? OLDTITLE ??
?? NEWTITLE @D= 'ZTDTTAB' ??
?? EJECT ?? 
  
^0 **************************** ^2
^0 ^C^O^M^M^O^N ^D^E^C^K ZTDTTAB ^F^O^L^L^O^W^S@D ^2
*CALL ZTDTTAB 
  
?? OLDTITLE ??
?? NEWTITLE @D= 'ZTDVERB' ??
?? EJECT ?? 
  
^0 **************************** ^2
^0 ^C^O^M^M^O^N ^D^E^C^K ZTDVERB ^F^O^L^L^O^W^S@D ^2
*CALL ZTDVERB 
  
?? OLDTITLE ??
?? NEWTITLE @D= '^T^D^U XREF''^S' ??
?? EJECT ?? 
  
^0 ***************** ^2 
^0 ^T^D^U ^F^I^L^E ^H^A^N^D^L^E^R@D ^2
*CALL ZTDPFIL 
  
^0 ************************** ^2
^0 ^T^D^U ^E^R^R^O^R ^H^A^N^D^L^E^R ^F^O^L^L^O^W^S@D ^2 
*CALL ZTDPERR 
  
^0 ****************************** ^2
^0 ^T^A^B^L^E-^H^A^N^D^L^I^N^G ^S^T^O^R^E ^P^R^O^C^E^D^U^R^E^S ^2 
*CALLC ZTDPTBS
  
?? OLDTITLE ??
?? NEWTITLE @D= '^T^D^U^I^N ^V^A^R^I^A^B^L^E^S' ??
?? EJECT ?? 
?? POP ?? 
  
  VAR 
     ^L^I^N^E_^L^E^N^G^T^H@D INTEGER, 
     ^L^I^N^E_^B^U^F^F^E^R@D STRING(^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E), 
     ^L^I^N^E_^N^U^M^B^E^R@D INTEGER @D= 0, 
  
     ^S^O^U^R^C^E_^S^T^R^I^N^G@D STRING(^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E), ^0 ^F^O^R ^P^A^R^S^E^R ^T^O ^S^C^A^N ^2 
     ^S^O^U^R^C^E_^L^E^N^G^T^H@D ^C^L^T$^S^T^R^I^N^G_^I^N^D^E^X, ^0 ^V^A^L^I^D ^L^E^N^G^T^H ^O^F ^S^O^U^R^C^E_^S^T^R^I^N^G ^2 
     ^S^O^U^R^C^E_^I^N^D^E^X@D ^C^L^T$^S^T^R^I^N^G_^I^N^D^E^X,  ^0 ^C^U^R^R^E^N^T ^S^C^A^N ^P^O^S^I^T^I^O^N ^I^N ^S^O^U^R^C^E 
     ^O^L^D_^I^N^D^E^X@D ^C^L^T$^S^T^R^I^N^G_^I^N^D^E^X,     ^0 ^S^A^V^E^D ^S^C^A^N ^P^O^S^I^T^I^O^N ^2 
     ^P^D^T@D @B^C^L^T$^P^A^R^A^M^E^T^E^R_^D^E^S^C^R^I^P^T^O^R_^T^A^B^L^E, ^0 ^T^H^E ^P^D^T ^F^O^R ^T^H^E ^C^U^R^R^E^N^T ^V^E^R 
     ^P^V^T@D @B^C^L^T$^P^A^R^A^M^E^T^E^R_^V^A^L^U^E_^T^A^B^L^E,  ^0 ^R^E^T^U^R^N^E^D ^P^V^T ^F^R^O^M ^T^H^E ^P^A^R^S^E ^2
     ^S^T^A^T^U^S@D ^O^S^T$^S^T^A^T^U^S,
  
     ^E^M^P^T^Y_^F^I^L^E@D BOOLEAN, 
     ^E^R^R^O^R_^R^E^T^U^R^N@D ^E^R^R^O^R_^T^Y^P^E, 
     ^P^A^R^M_^R^E^C@D ^P^A^R^A^M^E^T^E^R_^R^E^C^O^R^D, 
  
     ^S^I^Z^E_^N^D^X: INTEGER,
     ^J^U^N^K_^S^T^R^I^N^G@D STRING(80),
     ^J^U^N^K_^L^E^N@D INTEGER; 
  
  TYPE
     ^T^D^L_^V^A^R^I^A^B^L^E = PACKED RECORD     ^0 ^M^Y ^S^P^E^C^I^A^L^I^Z^E^D ^V^E^R^S^I^O^N ^O^F ^C^L^T$^V^A 
        ^N^A^M^E@D ^O^S^T$^N^A^M^E, 
        ^N^E^X^T_^V^A^R^I^A^B^L^E@D @B^T^D^L_^V^A^R^I^A^B^L^E,
        ^S^T^R_^L^E^N^G^T^H@D 0 .. ^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E, 
        ^V^A^L^U^E@D @BSTRING(*), 
     RECEND;
  
  VAR 
     ^V^A^R^I^A^B^L^E_^L^I^S^T@D @B^T^D^L_^V^A^R^I^A^B^L^E; 
  
  ?? OLDTITLE ??
  ?? NEWTITLE @D= '^R^E^A^D_^T^D^L_^S^T^A^T^E^M^E^N^T^S' ?? 
  ?? EJECT ?? 
  
  PROCEDURE [XDCL] ^R^E^A^D_^T^D^L_^S^T^A^T^E^M^E^N^T^S;
  
  ?? NEWTITLE @D= '^S^O^U^R^C^E_^E^R^R^O^R' ??
  ?? SKIP @D= 4 ??
  
  PROCEDURE ^S^O^U^R^C^E_^E^R^R^O^R (^S^T^A^T^U^S@D ^O^S^T$^S^T^A^T^U^S); 
     VAR
        ^L^E^N^G^T^H@D 0 .. ^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E,
        ^M^S^G@D STRING(^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E + 7); 
  
     ^E^R^R^O^R_^S^T^A^T^U^S(^S^T^A^T^U^S); 
     ^M^S^G @D= ''; 
     STRINGREP(^M^S^G, ^L^E^N^G^T^H, ^L^I^N^E_^N^U^M^B^E^R@D 5, '@D ',
        ^S^O^U^R^C^E_^S^T^R^I^N^G(1,^S^O^U^R^C^E_^L^E^N^G^T^H));
     ^R^E^P^O^R^T_^E^R^R^O^R(^M^S^G(1,^L^E^N^G^T^H)); 
     ^M^S^G @D= ''; 
     IF ( 7 + ^S^O^U^R^C^E_^I^N^D^E^X ) > ^L^E^N^G^T^H THEN 
        ^M^S^G(^L^E^N^G^T^H) @D= '@B' 
     ELSE 
        ^M^S^G(7 + ^S^O^U^R^C^E_^I^N^D^E^X) @D= '@B'
     IFEND; 
     ^R^E^P^O^R^T_^E^R^R^O^R(^M^S^G(1,^L^E^N^G^T^H)); 
  PROCEND ^S^O^U^R^C^E_^E^R^R^O^R;
  ?? OLDTITLE ??
  
     ?? NEWTITLE @D= '^A^D^D_^V^A^R^I^A^B^L^E_^T^O_^S^Y^M^B^O^L_^T^A^B^L^E' ??
     ?? EJECT ??
  
     PROCEDURE ^A^D^D_^V^A^R^I^A^B^L^E_^T^O_^S^Y^M^B^O^L_^T^A^B^L^E (^N^A^M^E@D ^O^S^T$^N^A^M^E_^D^E^S^C^R^I^P^T^O^R; 
           VAR ^V^A^R^I^A^B^L^E@D @B^T^D^L_^V^A^R^I^A^B^L^E; VAR ^E^R^R^O^R_^R^E^T^U^R^N@D ^E^R^R^O^R_^T^Y^P^E);
  
        ALLOCATE ^V^A^R^I^A^B^L^E;
        IF ^V^A^R^I^A^B^L^E = NIL THEN
           ^E^R^R^O^R_^R^E^T^U^R^N @D= ^N^O_^R^O^O^M_^E^R^R^O^R;
           ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, ^C^L^C$^T^A^B^L^E_^O^V^E^R^F^L^O^W,
              ^N^A^M^E.^S^T^R(1,^N^A^M^E.^L^E^N^G^T^H), ^S^T^A^T^U^S);
           ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R( 
              ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S);
           ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
        ELSE
           ^E^R^R^O^R_^R^E^T^U^R^N @D= ^N^O_^E^R^R^O^R; 
           ^V^A^R^I^A^B^L^E@B.^N^A^M^E @D= ^N^A^M^E.^S^T^R(1,^N^A^M^E.^L^E^N^G^T^H);
           ^V^A^R^I^A^B^L^E@B.^N^E^X^T_^V^A^R^I^A^B^L^E @D= ^V^A^R^I^A^B^L^E_^L^I^S^T;
           ^V^A^R^I^A^B^L^E@B.^S^T^R_^L^E^N^G^T^H @D= 0;
           ^V^A^R^I^A^B^L^E@B.^V^A^L^U^E @D= NIL; 
           ^V^A^R^I^A^B^L^E_^L^I^S^T @D= ^V^A^R^I^A^B^L^E 
        IFEND 
     PROCEND ^A^D^D_^V^A^R^I^A^B^L^E_^T^O_^S^Y^M^B^O^L_^T^A^B^L^E;
     ?? OLDTITLE ?? 
  
     ?? NEWTITLE @D= '^A^S^S^I^G^N_^V^A^L^U^E_^T^O_^V^A^R^I^A^B^L^E' ?? 
     ?? SKIP @D= 4 ?? 
  
     PROCEDURE ^A^S^S^I^G^N_^V^A^L^U^E_^T^O_^V^A^R^I^A^B^L^E (^V^A^L^U^E_^S^T^R^I^N^G@D STRING(*);
           ^V^A^L^U^E_^L^E^N^G^T^H@D 0 .. ^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E;
           VAR ^V^A^R^I^A^B^L^E@D @B^T^D^L_^V^A^R^I^A^B^L^E; VAR ^E^R^R^O^R_^R^E^T^U^R^N@D ^E^R^R^O^R_^T^Y^P^E);
  
        IF ^V^A^R^I^A^B^L^E@B.^V^A^L^U^E <> NIL THEN
           FREE ^V^A^R^I^A^B^L^E@B.^V^A^L^U^E 
        IFEND;
        IF ^V^A^L^U^E_^L^E^N^G^T^H > 0 THEN 
           ALLOCATE ^V^A^R^I^A^B^L^E@B.^V^A^L^U^E @D [ ^V^A^L^U^E_^L^E^N^G^T^H ]
        ELSE
           ALLOCATE ^V^A^R^I^A^B^L^E@B.^V^A^L^U^E @D [ 1 ]
        IFEND;
        IF ^V^A^R^I^A^B^L^E@B.^V^A^L^U^E = NIL THEN 
           ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, ^C^L^C$^T^A^B^L^E_^O^V^E^R^F^L^O^W,
              ^V^A^R^I^A^B^L^E@B.^N^A^M^E, ^S^T^A^T^U^S); 
           ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R( 
              ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S);
           ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S); 
           ^E^R^R^O^R_^R^E^T^U^R^N @D= ^N^O_^R^O^O^M_^E^R^R^O^R;
        ELSE
           ^E^R^R^O^R_^R^E^T^U^R^N @D= ^N^O_^E^R^R^O^R; 
           ^V^A^R^I^A^B^L^E@B.^S^T^R_^L^E^N^G^T^H @D= ^V^A^L^U^E_^L^E^N^G^T^H;
           ^V^A^R^I^A^B^L^E@B.^V^A^L^U^E@B @D= ^V^A^L^U^E_^S^T^R^I^N^G(1,^V^A^L^U^E_^L^E^N^G^T^H) 
        IFEND 
     PROCEND ^A^S^S^I^G^N_^V^A^L^U^E_^T^O_^V^A^R^I^A^B^L^E; 
     ?? OLDTITLE ?? 
  
     ?? NEWTITLE @D= '^I^N^I^T^I^A^L^I^Z^E_^P^A^R^S^I^N^G_^T^A^B^L^E^S' ??
     ?? EJECT ??
  
     PROCEDURE ^I^N^I^T^I^A^L^I^Z^E_^P^A^R^S^I^N^G_^T^A^B^L^E^S;
        VAR 
           ^V^A^R_^N^D^X@D INTEGER, 
           ^C^H^A^R_^V^A^L^U^E@D STRING(1), 
           ^N^A^M^E@D ^O^S^T$^N^A^M^E_^D^E^S^C^R^I^P^T^O^R, 
           ^V^A^R^I^A^B^L^E@D @B^T^D^L_^V^A^R^I^A^B^L^E,
           ^E^R^R^O^R_^R^E^T^U^R^N@D ^E^R^R^O^R_^T^Y^P^E; 
  
        ^V^A^R^I^A^B^L^E_^L^I^S^T @D= NIL;
        FOR ^V^A^R_^N^D^X @D= 1 TO ^P^R^E^D^E^F^I^N^E^D_^V^A^R^I^A^B^L^E_^C^O^U^N^T DO
           ^N^A^M^E.^L^E^N^G^T^H @D= ^P^R^E^D^E^F^I^N^E^D_^V^A^R^I^A^B^L^E^S[^V^A^R_^N^D^X].^L^E^N^G^T^H; 
           ^N^A^M^E.^S^T^R @D= ^P^R^E^D^E^F^I^N^E^D_^V^A^R^I^A^B^L^E^S[^V^A^R_^N^D^X].^N^A^M^E; 
           ^A^D^D_^V^A^R^I^A^B^L^E_^T^O_^S^Y^M^B^O^L_^T^A^B^L^E(^N^A^M^E, ^V^A^R^I^A^B^L^E, ^E^R^R^O^R_^R^E^T^U^R^N); 
           IF ^E^R^R^O^R_^R^E^T^U^R^N = ^N^O_^E^R^R^O^R THEN
              ^C^H^A^R_^V^A^L^U^E(1) @D= CHR(^P^R^E^D^E^F^I^N^E^D_^V^A^R^I^A^B^L^E^S[^V^A^R_^N^D^X].^A^S^C^I^I);
              ^A^S^S^I^G^N_^V^A^L^U^E_^T^O_^V^A^R^I^A^B^L^E(^C^H^A^R_^V^A^L^U^E, 1, ^V^A^R^I^A^B^L^E, ^E^R^R^O^R_^R^E 
           IFEND
        FOREND
     PROCEND ^I^N^I^T^I^A^L^I^Z^E_^P^A^R^S^I^N^G_^T^A^B^L^E^S;
     ?? OLDTITLE ?? 
  
     ?? NEWTITLE @D= '^O^P^E^N_^I^N^P^U^T_^F^I^L^E' ??
     ?? SKIP @D= 4 ?? 
  
     PROCEDURE ^O^P^E^N_^I^N^P^U^T_^F^I^L^E;
        ^O^P^E^N_^F^I^L^E(^I^N^P^U^T_^F^I^L^E_^S^E^L, ^I^N^P^U^T_^S^E^L, ^A^S^C^I^I_^S^E^L);
        ^L^I^N^E_^N^U^M^B^E^R @D= 0 
     PROCEND ^O^P^E^N_^I^N^P^U^T_^F^I^L^E;
     ?? OLDTITLE ?? 
  
     ?? NEWTITLE @D= '^R^E^A^D_^L^I^N^E' ?? 
     ?? SKIP @D= 4 ?? 
  
     PROCEDURE ^R^E^A^D_^L^I^N^E (VAR ^E^O^F_^F^L^A^G@D BOOLEAN); 
           ^G^E^T_^F^I^L^E(^I^N^P^U^T_^F^I^L^E_^S^E^L, ^L^I^N^E_^B^U^F^F^E^R, ^L^I^N^E_^L^E^N^G^T^H, ^E^O^F_^F^L^A^G);
           ^L^I^N^E_^N^U^M^B^E^R @D= ^L^I^N^E_^N^U^M^B^E^R + 1
     PROCEND ^R^E^A^D_^L^I^N^E; 
     ?? OLDTITLE ?? 
  
     ?? NEWTITLE @D= '^A^N^A^L^Y^Z^E_^L^I^N^E^S' ?? 
     ?? EJECT ??
  
     PROCEDURE ^A^N^A^L^Y^Z^E_^L^I^N^E^S; 
        VAR 
           ^E^O^F_^F^L^A^G, 
           ^F^O^U^N^D@D BOOLEAN,
           ^P^A^R^M_^N^D^X@D INTEGER, 
           ^V^E^R^B_^T^Y^P@D ^V^E^R^B_^T^Y^P^E, 
           ^I^N_^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E, 
           ^O^U^T_^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E, 
           ^T^O^K^E^N@D ^C^L^T$^T^O^K^E^N;
  
        ?? NEWTITLE @D= '^T^E^S^T_^P^A^R^M_^G^I^V^E^N' ?? 
        ?? EJECT ?? 
  
        PROCEDURE ^T^E^S^T_^P^A^R^M_^G^I^V^E^N (^P^A^R^M_^N^A^M^E@D STRING(*); VAR ^G^I^V^E^N@D BOOL
           ^C^L^P$^T^E^S^T_^P^A^R^A^M^E^T^E^R(^P^V^T, ^P^A^R^M_^N^A^M^E, ^G^I^V^E^N, ^S^T^A^T^U^S); 
           IF NOT ^G^I^V^E^N THEN 
              ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                 ^C^L^C$^R^E^Q^U^I^R^E^D_^P^A^R^A^M^E^T^E^R_^M^I^S^S^I^N^G, ^P^A^R^M_^N^A^M^E, ^S^T^A^T^U^S); 
              ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R(
                 ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S); 
              ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
           IFEND
        PROCEND ^T^E^S^T_^P^A^R^M_^G^I^V^E^N; 
        ?? OLDTITLE ??
  
        ?? NEWTITLE @D= '^P^A^R^M_^T^O_^N^A^M^E' ?? 
        ?? SKIP @D= 4 ??
  
        PROCEDURE ^P^A^R^M_^T^O_^N^A^M^E (^P^A^R^M_^N^A^M^E@D STRING(*); VAR ^R^E^S^U^L^T@D STRING
              VAR ^R^E^S^U^L^T_^L^E^N^G^T^H@D ^O^S^T$^S^T^R^I^N^G_^S^I^Z^E);
           VAR
              ^G^I^V^E^N@D BOOLEAN, 
              ^V^A^L^U^E@D ^C^L^T$^V^A^L^U^E; 
  
           ^T^E^S^T_^P^A^R^M_^G^I^V^E^N(^P^A^R^M_^N^A^M^E, ^G^I^V^E^N); 
           IF NOT ^G^I^V^E^N THEN 
              ^R^E^S^U^L^T_^L^E^N^G^T^H @D= 0 
           ELSE 
              ^C^L^P$^G^E^T_^V^A^L^U^E(^P^V^T, ^P^A^R^M_^N^A^M^E, 1, 1, ^C^L^C$^L^O^W, ^V^A^L^U^E, ^S^T^A^T^U^S 
              ^C^L^P$^C^O^N^V^E^R^T_^V^A^L^U^E_^T^O_^S^T^R^I^N^G(^V^A^L^U^E, ^R^E^S^U^L^T, ^R^E^S^U^L^T_^L^E^N^G^T^H, 
                 ^S^T^A^T^U^S); 
              IF NOT ^S^T^A^T^U^S.^N^O^R^M^A^L THEN 
                 ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
              IFEND 
           IFEND
        PROCEND ^P^A^R^M_^T^O_^N^A^M^E; 
        ?? OLDTITLE ??
  
        ?? NEWTITLE @D= '^P^A^R^M_^T^O_^I^N^T^E^G^E^R' ?? 
        ?? SKIP @D= 4 ??
  
        PROCEDURE ^P^A^R^M_^T^O_^I^N^T^E^G^E^R (^P^A^R^M_^N^A^M^E@D STRING(*); VAR ^R^E^S^U^L^T@D INT 
           VAR
              ^G^I^V^E^N@D BOOLEAN, 
              ^T^E^M^P_^I^N^T^E^G^E^R@D ^C^L^T$^I^N^T^E^G^E^R,
              ^V^A^L^U^E@D ^C^L^T$^V^A^L^U^E; 
  
           ^T^E^S^T_^P^A^R^M_^G^I^V^E^N(^P^A^R^M_^N^A^M^E, ^G^I^V^E^N); 
           IF NOT ^G^I^V^E^N THEN 
              ^R^E^S^U^L^T @D= 0
           ELSE 
              ^C^L^P$^G^E^T_^V^A^L^U^E(^P^V^T, ^P^A^R^M_^N^A^M^E, 1, 1, ^C^L^C$^L^O^W, ^V^A^L^U^E, ^S^T^A^T^U^S 
              ^C^L^P$^C^O^N^V^E^R^T_^V^A^L^U^E_^T^O_^I^N^T^E^G^E^R(^V^A^L^U^E, ^T^E^M^P_^I^N^T^E^G^E^R, ^S^T^A^T^U^S);
              IF ^S^T^A^T^U^S.^N^O^R^M^A^L THEN 
                 ^R^E^S^U^L^T @D= ^T^E^M^P_^I^N^T^E^G^E^R.^I^N^T
              ELSE
                 ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
              IFEND 
           IFEND
        PROCEND ^P^A^R^M_^T^O_^I^N^T^E^G^E^R; 
        ?? OLDTITLE ??
  
        ?? NEWTITLE @D= '^P^A^R^M_^T^O_^B^O^O^L^E^A^N' ?? 
        ?? SKIP @D= 4 ??
  
        PROCEDURE ^P^A^R^M_^T^O_^B^O^O^L^E^A^N (^P^A^R^M_^N^A^M^E@D STRING(*); VAR ^R^E^S^U^L^T@D BOO 
           VAR
              ^G^I^V^E^N@D BOOLEAN, 
              ^V^A^L^U^E@D ^C^L^T$^V^A^L^U^E; 
  
           ^T^E^S^T_^P^A^R^M_^G^I^V^E^N(^P^A^R^M_^N^A^M^E, ^G^I^V^E^N); 
           IF NOT ^G^I^V^E^N THEN 
              ^R^E^S^U^L^T @D= FALSE
           ELSE 
              ^C^L^P$^G^E^T_^V^A^L^U^E(^P^V^T, ^P^A^R^M_^N^A^M^E, 1, 1, ^C^L^C$^L^O^W, ^V^A^L^U^E, ^S^T^A^T^U^S 
              ^C^L^P$^C^O^N^V^E^R^T_^V^A^L^U^E_^T^O_^B^O^O^L^E^A^N(^V^A^L^U^E, ^R^E^S^U^L^T, ^S^T^A^T^U^S); 
              IF NOT ^S^T^A^T^U^S.^N^O^R^M^A^L THEN 
                 ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
              IFEND 
           IFEND
        PROCEND ^P^A^R^M_^T^O_^B^O^O^L^E^A^N; 
        ?? OLDTITLE ??
  
        ?? NEWTITLE @D= '^P^A^R^M_^T^O_^S^T^R^I^N^G' ?? 
        ?? SKIP @D= 4 ??
  
        PROCEDURE ^P^A^R^M_^T^O_^S^T^R^I^N^G (^P^A^R^M_^N^A^M^E@D STRING(*);
              VAR ^R^E^S^U^L^T@D STRING(*); 
              VAR ^R^E^S^U^L^T_^L^E^N^G^T^H@D ^O^S^T$^S^T^R^I^N^G_^S^I^Z^E);
           ^0 ^S^P^E^C^I^A^L ^C^A^S^E@D ^T^H^I^S ^R^O^U^T^I^N^E ^T^A^K^E^S ^A ^M^U^L^T^I-^V^A^L^U^E^D ^P^A^R^A^M^E^T^E^R, 
           ^0   ^S^T^R^I^N^G, ^I^N^T^E^G^E^R, ^O^R ^V^A^R^I^A^B^L^E ^V^A^L^U^E^S, ^A^N^D ^C^O^N^C^A^T^E^N^A^T^E^S ^T^H^E
           ^0   ^I^N^T^O ^A ^S^I^N^G^L^E ^R^E^S^U^L^T ^S^T^R^I^N^G ^2 
  
           VAR
              ^G^I^V^E^N@D BOOLEAN, 
              ^V^A^R^I^A^B^L^E@D @B^T^D^L_^V^A^R^I^A^B^L^E, 
              ^S^E^T_^C^O^U^N^T,
              ^S^E^T_^N^D^X@D 0 .. ^C^L^C$^M^A^X_^V^A^L^U^E_^S^E^T^S, 
              ^V^A^L^U^E@D ^C^L^T$^V^A^L^U^E; 
  
           ^R^E^S^U^L^T_^L^E^N^G^T^H @D= 0; 
           ^T^E^S^T_^P^A^R^M_^G^I^V^E^N(^P^A^R^M_^N^A^M^E, ^G^I^V^E^N); 
           IF ^G^I^V^E^N THEN 
              ^C^L^P$^G^E^T_^S^E^T_^C^O^U^N^T(^P^V^T, ^P^A^R^M_^N^A^M^E, ^S^E^T_^C^O^U^N^T, ^S^T^A^T^U^S);
              IF NOT ^S^T^A^T^U^S.^N^O^R^M^A^L THEN 
                 ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
              ELSE
                 FOR ^S^E^T_^N^D^X @D= 1 TO ^S^E^T_^C^O^U^N^T DO
                    ^C^L^P$^G^E^T_^V^A^L^U^E(^P^V^T, ^P^A^R^M_^N^A^M^E, ^S^E^T_^N^D^X, 1, ^C^L^C$^L^O^W,
                       ^V^A^L^U^E, ^S^T^A^T^U^S); 
                    IF NOT ^S^T^A^T^U^S.^N^O^R^M^A^L THEN 
                       ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                    ELSE
                       CASE ^V^A^L^U^E.^T^Y^P OF
                          = ^C^L^C$^S^T^R^I^N^G_^V^A^L^U^E =
                             IF ( ^R^E^S^U^L^T_^L^E^N^G^T^H + ^V^A^L^U^E.^S^T^R_^L^E^N^G^T^H ) >
                                   ^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E THEN 
                                ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                                   ^C^L^C$^S^T^R^I^N^G_^O^V^E^R^F^L^O^W, '', ^S^T^A^T^U^S); 
                                ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                             IFEND; 
                             STRINGREP(^R^E^S^U^L^T, ^R^E^S^U^L^T_^L^E^N^G^T^H, 
                                ^R^E^S^U^L^T(1,^R^E^S^U^L^T_^L^E^N^G^T^H),
                                ^V^A^L^U^E.^S^T^R(1,^V^A^L^U^E.^S^T^R_^L^E^N^G^T^H)); 
                          = ^C^L^C$^I^N^T^E^G^E^R_^V^A^L^U^E =
                             IF ^R^E^S^U^L^T_^L^E^N^G^T^H >= ^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E THE
                                ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                                   ^C^L^C$^S^T^R^I^N^G_^O^V^E^R^F^L^O^W, '', ^S^T^A^T^U^S); 
                                ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                             IFEND; 
                             STRINGREP(^R^E^S^U^L^T, ^R^E^S^U^L^T_^L^E^N^G^T^H, 
                                ^R^E^S^U^L^T(1,^R^E^S^U^L^T_^L^E^N^G^T^H),
                                CHR(^V^A^L^U^E.^I^N^T.^I^N^T)); 
                          = ^C^L^C$^N^A^M^E_^V^A^L^U^E =
                             ^F^I^N^D_^V^A^R^I^A^B^L^E(^V^A^L^U^E.^N^A^M^E, ^F^O^U^N^D, ^V^A^R^I^A^B^L^E);
                             IF ^F^O^U^N^D THEN 
                                IF ( ^R^E^S^U^L^T_^L^E^N^G^T^H +
                                        ^V^A^R^I^A^B^L^E@B.^S^T^R_^L^E^N^G^T^H ) >
                                      ^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E THEN
                                   ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L( 
                                      ^T^D^C_^P^R^O^D_^C^O^D^E, 
                                      ^C^L^C$^S^T^R^I^N^G_^O^V^E^R^F^L^O^W, '', ^S^T^A^T^U^S);
                                   ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                                IFEND;
                                STRINGREP(^R^E^S^U^L^T, ^R^E^S^U^L^T_^L^E^N^G^T^H,
                                   ^R^E^S^U^L^T(1,^R^E^S^U^L^T_^L^E^N^G^T^H), 
                                   ^V^A^R^I^A^B^L^E@B.^V^A^L^U^E@B(1,^V^A^R^I^A^B^L^E@B.^S^T^R_^L^E^N^G 
                             ELSE 
                                ^E^R^R^O^R_^T^A^B^L^E(^N^O^T_^F^O^U^N^D_^E^R^R^O^R, 
                                   ^V^A^L^U^E.^N^A^M^E.^S^T^R(1,^V^A^L^U^E.^N^A^M^E.^L^E^N^G^T^H))
                             IFEND; 
                          = ^C^L^C$^U^N^K^N^O^W^N_^V^A^L^U^E =
                             ^R^E^S^U^L^T @D= ' ';
                             ^R^E^S^U^L^T_^L^E^N^G^T^H @D= 0; 
                          = ^C^L^C$^B^O^O^L^E^A^N_^V^A^L^U^E, ^C^L^C$^S^T^A^T^U^S_^V^A^L^U^E, 
                            ^C^L^C$^V^A^R^I^A^B^L^E_^R^E^F^E^R^E^N^C^E =
                             ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                                ^T^D^E_^I^N^V^A^L^I^D_^T^Y^P^E, '', ^S^T^A^T^U^S);
                             ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S); 
                       CASEND 
                    IFEND 
                 FOREND 
              IFEND 
           IFEND
        PROCEND ^P^A^R^M_^T^O_^S^T^R^I^N^G; 
        ?? OLDTITLE ??
  
        ?? NEWTITLE @D= '^E^R^R^O^R_^T^A^B^L^E' ??
        ?? EJECT ?? 
  
        PROCEDURE ^E^R^R^O^R_^T^A^B^L^E (^E^R^R^O^R_^R^E^T^U^R^N@D ^E^R^R^O^R_^T^Y^P^E; ^T^E^X^T@D STRING(*)
  
           CASE ^E^R^R^O^R_^R^E^T^U^R^N OF
              = ^N^O_^R^O^O^M_^E^R^R^O^R =
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, ^T^D^E_^N^O_^R^O^O^M,
                    ^T^E^X^T, ^S^T^A^T^U^S);
                 ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R( 
                    ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S);
              = ^D^U^P^L^I^C^A^T^E_^E^R^R^O^R = 
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, ^T^D^E_^D^U^P^L^I^C^A^T^E_^V^E 
                    ^T^E^X^T, ^S^T^A^T^U^S);
                 ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R( 
                    ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S);
              = ^D^U^P^L^I^C^A^T^E_^I^N^P^U^T_^E^R^R^O^R =
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, ^T^D^E_^D^U^P^L^I^C^A^T^E_^I^N 
                    ^T^E^X^T, ^S^T^A^T^U^S);
                 ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R( 
                    ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S);
              = ^S^U^P^E^R^S^E^T_^E^R^R^O^R = 
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, ^T^D^E_^S^U^P^E^R^S^E^T, 
                    ^T^E^X^T, ^S^T^A^T^U^S);
                 ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R( 
                    ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S);
              = ^S^U^B^S^E^T_^E^R^R^O^R = 
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, ^T^D^E_^S^U^B^S^E^T, 
                    ^T^E^X^T, ^S^T^A^T^U^S);
                 ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R( 
                    ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S);
              = ^N^O^T_^F^O^U^N^D_^E^R^R^O^R =
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, ^T^D^E_^N^O^T_^F^O^U^N^D,
                    ^T^E^X^T, ^S^T^A^T^U^S);
                 ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R( 
                    ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S);
           CASEND;
           ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
        PROCEND ^E^R^R^O^R_^T^A^B^L^E;
        ?? OLDTITLE ??
  
        ?? NEWTITLE @D= '^F^I^N^D_^V^A^R^I^A^B^L^E' ??
        ?? EJECT ?? 
  
        PROCEDURE ^F^I^N^D_^V^A^R^I^A^B^L^E (^N^A^M^E@D ^O^S^T$^N^A^M^E_^D^E^S^C^R^I^P^T^O^R; 
              VAR ^F^O^U^N^D@D BOOLEAN; VAR ^V^A^R^I^A^B^L^E@D @B^T^D^L_^V^A^R^I^A^B^L^E);
  
           ^F^O^U^N^D @D= FALSE;
           ^V^A^R^I^A^B^L^E @D= ^V^A^R^I^A^B^L^E_^L^I^S^T;
           WHILE ( ^F^O^U^N^D = FALSE ) AND 
                 ( ^V^A^R^I^A^B^L^E <> NIL ) DO 
              IF ( ^V^A^R^I^A^B^L^E@B.^N^A^M^E = ^N^A^M^E.^S^T^R(1,^N^A^M^E.^L^E^N^G^T^H) ) AND 
                 ( ^V^A^R^I^A^B^L^E@B.^V^A^L^U^E <> NIL ) THEN
                 ^F^O^U^N^D @D= TRUE
              ELSE
                 ^V^A^R^I^A^B^L^E @D= ^V^A^R^I^A^B^L^E@B.^N^E^X^T_^V^A^R^I^A^B^L^E
              IFEND 
           WHILEND
        PROCEND ^F^I^N^D_^V^A^R^I^A^B^L^E;
        ?? OLDTITLE ??
  
        ?? NEWTITLE @D= '^S^E^A^R^C^H_^V^E^R^B_^T^A^B^L^E' ?? 
        ?? EJECT ?? 
  
        PROCEDURE ^S^E^A^R^C^H_^V^E^R^B_^T^A^B^L^E (^S^T^R@D ^O^S^T$^N^A^M^E; VAR ^T^Y^P@D ^V^E^R^B_^T^Y^P^E; 
              VAR ^I^N_^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E; VAR ^O^U^T_^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P
              VAR ^F^O^U^N^D@D BOOLEAN);
           VAR
              ^V^E^R^B_^N^D^X@D 1 .. ^M^A^X_^V^E^R^B_^C^O^U^N^T + 1;
  
           ^F^O^U^N^D @D= FALSE;
           ^V^E^R^B_^N^D^X @D= 1; 
           WHILE ( ^V^E^R^B_^N^D^X <= ^M^A^X_^V^E^R^B_^C^O^U^N^T ) AND ( NOT ^F^O^U^N^D ) DO
              IF ^V^E^R^B_^T^A^B^L^E[^V^E^R^B_^N^D^X].^N^A^M^E = ^S^T^R THEN
                 ^F^O^U^N^D @D= TRUE; 
                 ^T^Y^P @D= ^V^E^R^B_^T^A^B^L^E[^V^E^R^B_^N^D^X].^T^Y^P;
                 ^I^N_^O^R^D^I^N^A^L @D= ^V^E^R^B_^T^A^B^L^E[^V^E^R^B_^N^D^X].^I^N_^O^R^D^I^N^A^L;
                 ^O^U^T_^O^R^D^I^N^A^L @D= ^V^E^R^B_^T^A^B^L^E[^V^E^R^B_^N^D^X].^O^U^T_^O^R^D^I^N^A^L 
              ELSE
                 ^V^E^R^B_^N^D^X @D= ^V^E^R^B_^N^D^X + 1
              IFEND 
           WHILEND
        PROCEND ^S^E^A^R^C^H_^V^E^R^B_^T^A^B^L^E; 
        ?? OLDTITLE ??
  
        ?? NEWTITLE @D= '^P^R^O^C^E^S^S_^V^E^R^B' ??
        ?? EJECT ?? 
  
        PROCEDURE ^P^R^O^C^E^S^S_^V^E^R^B (^T^Y^P@D ^V^E^R^B_^T^Y^P^E;
              ^I^N_^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E; ^O^U^T_^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E; 
              ^N^A^M^E@D ^O^S^T$^N^A^M^E_^D^E^S^C^R^I^P^T^O^R); 
  
           ?? NEWTITLE @D= '^W^R^I^T^E_^P^A^R^M' ?? 
           ?? SKIP @D= 4 ?? 
  
           PROCEDURE ^W^R^I^T^E_^P^A^R^M (^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E; 
                 ^F^L^A^G_^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E);
              VAR 
                 ^R^E^S^U^L^T@D INTEGER,
                 ^V^A^R^I^A^B^L^E@D @B^T^D^L_^V^A^R^I^A^B^L^E,
                 ^V^A^L^U^E@D ^C^L^T$^V^A^L^U^E,
                 ^B^A^D_^N^A^M^E, 
                 ^F^O^U^N^D@D BOOLEAN,
                 ^N^A^M^E_^N^D^X, 
                 ^T^E^M^P_^S^T^R^I^N^G_^L^E^N@D ^O^S^T$^S^T^R^I^N^G_^S^I^Z^E, 
                 ^T^E^M^P_^S^T^R^I^N^G@D STRING(^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E); 
  
              CASE ^O^R^D^I^N^A^L OF
                 = ^P^A^R^M_^N^A^M^E_^O^R^D =    ^0 ^M^O^D^E^L ^N^A^M^E ^A^N^D ^L^E^N^G^T^H ^2
                    ^P^A^R^M_^T^O_^N^A^M^E('VALUE', ^T^E^M^P_^S^T^R^I^N^G, ^T^E^M^P_^S^T^R^I^N^G_^L^E^N); 
                    IF ^T^E^M^P_^S^T^R^I^N^G_^L^E^N = 0 THEN
                       ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                          ^T^D^E_^N^A^M^E_^R^E^Q^U^I^R^E^D, '', ^S^T^A^T^U^S);
                       ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                    ELSEIF ^T^E^M^P_^S^T^R^I^N^G_^L^E^N > 6 THEN
                       ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                          ^T^D^E_^N^A^M^E_^T^O^O_^L^O^N^G, '', ^S^T^A^T^U^S); 
                       ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                    ELSE
                       ^B^A^D_^N^A^M^E @D= FALSE; 
                       FOR ^S^I^Z^E_^N^D^X @D= 1 TO ^T^E^M^P_^S^T^R^I^N^G_^L^E^N DO 
                          IF NOT (
                             ( ( ^T^E^M^P_^S^T^R^I^N^G(^S^I^Z^E_^N^D^X) >= '0' ) AND
                               ( ^T^E^M^P_^S^T^R^I^N^G(^S^I^Z^E_^N^D^X) <= '9' ) ) OR 
                             ( ( ^T^E^M^P_^S^T^R^I^N^G(^S^I^Z^E_^N^D^X) >= 'A' ) AND
                               ( ^T^E^M^P_^S^T^R^I^N^G(^S^I^Z^E_^N^D^X) <= 'Z' ) ) OR 
                             ( ( ^T^E^M^P_^S^T^R^I^N^G(^S^I^Z^E_^N^D^X) >= '^A' ) AND 
                               ( ^T^E^M^P_^S^T^R^I^N^G(^S^I^Z^E_^N^D^X) <= '^Z' ) ) ) THEN
                             ^B^A^D_^N^A^M^E @D= TRUE 
                          IFEND 
                       FOREND;
                       IF ^B^A^D_^N^A^M^E THEN
                          ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                             ^T^D^E_^I^N^V^A^L^I^D_^N^A^M^E, '', ^S^T^A^T^U^S); 
                          ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                       ELSE 
                          ^P^A^R^M_^R^E^C.^M^O^D^E^L_^N^A^M^E @D= 
                             ^T^E^M^P_^S^T^R^I^N^G(1,^T^E^M^P_^S^T^R^I^N^G_^L^E^N); 
                          ^P^A^R^M_^R^E^C.^M^O^D^E^L_^N^A^M^E_^L^E^N @D= ^T^E^M^P_^S^T^R^I^N^G_^L^E^N 
                       IFEND
                    IFEND;
                 = ^P^A^R^M_^C^O^M^M^U^N^I^C^A^T^I^O^N^S_^O^R^D = 
                    ^C^L^P$^G^E^T_^V^A^L^U^E(^P^V^T, 'TYPE', 1, 1, ^C^L^C$^L^O^W, ^V^A^L^U^E, ^S^T^A
                    IF NOT ^S^T^A^T^U^S.^N^O^R^M^A^L THEN 
                       ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                    ELSE
                       IF ^V^A^L^U^E.^T^Y^P <> ^C^L^C$^N^A^M^E_^V^A^L^U^E THEN
                          ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                             ^T^D^E_^I^N^V^A^L^I^D_^C^O^M^M, '', ^S^T^A^T^U^S); 
                          ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                       ELSE 
                          ^F^I^N^D_^V^A^R^I^A^B^L^E(^V^A^L^U^E.^N^A^M^E, ^F^O^U^N^D, ^V^A^R^I^A^B^L^E); 
                          IF ^F^O^U^N^D THEN
                             IF ( ORD(^V^A^R^I^A^B^L^E@B.^V^A^L^U^E@B(1)) < 0 ) OR
                                ( ORD(^V^A^R^I^A^B^L^E@B.^V^A^L^U^E@B(1)) > 
                                   ^C^O^M^M^U^N^I^C^A^T^I^O^N^S_^T^Y^P^E_^M^A^X ) THEN
                                ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                                   ^T^D^E_^I^N^V^A^L^I^D_^C^O^M^M, '', ^S^T^A^T^U^S); 
                                ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                             ELSE 
                                ^P^A^R^M_^R^E^C.^C^O^M^M^U^N^I^C^A^T^I^O^N^S @D=
                                   ORD(^V^A^R^I^A^B^L^E@B.^V^A^L^U^E@B(1))
                             IFEND
                          ELSE
                             ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                                ^T^D^E_^I^N^V^A^L^I^D_^C^O^M^M, '', ^S^T^A^T^U^S);
                             ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                          IFEND 
                       IFEND
                    IFEND;
                 = ^P^A^R^M_^C^U^R^S^O^R_^E^N^C^O^D^I^N^G_^O^R^D =
                    ^C^L^P$^G^E^T_^V^A^L^U^E(^P^V^T, 'TYPE', 1, 1, ^C^L^C$^L^O^W, ^V^A^L^U^E, ^S^T^A
                    IF NOT ^S^T^A^T^U^S.^N^O^R^M^A^L THEN 
                       ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                    ELSE
                       IF ^V^A^L^U^E.^T^Y^P <> ^C^L^C$^N^A^M^E_^V^A^L^U^E THEN
                          ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                             ^T^D^E_^I^N^V^A^L^I^D_^C^U^R^S^O^R, '', ^S^T^A^T^U^S); 
                          ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                       ELSE 
                          ^F^I^N^D_^V^A^R^I^A^B^L^E(^V^A^L^U^E.^N^A^M^E, ^F^O^U^N^D, ^V^A^R^I^A^B^L^E); 
                          IF ^F^O^U^N^D THEN
                             IF ( ORD(^V^A^R^I^A^B^L^E@B.^V^A^L^U^E@B(1)) < 0 ) OR
                                ( ORD(^V^A^R^I^A^B^L^E@B.^V^A^L^U^E@B(1)) > 
                                   ^C^U^R^S^O^R_^E^N^C^O^D^I^N^G_^M^A^X ) THEN
                                ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                                   ^T^D^E_^I^N^V^A^L^I^D_^C^U^R^S^O^R, '', ^S^T^A^T^U^S); 
                                ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                             ELSE 
                                ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^E^N^C^O^D^I^N^G @D= 
                                   ORD(^V^A^R^I^A^B^L^E@B.^V^A^L^U^E@B(1))
                             IFEND
                          ELSE
                             ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                                ^T^D^E_^I^N^V^A^L^I^D_^C^U^R^S^O^R, '', ^S^T^A^T^U^S);
                             ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                          IFEND 
                       IFEND
                    IFEND;
                    ^P^A^R^M_^T^O_^I^N^T^E^G^E^R('BIAS', ^R^E^S^U^L^T); 
                    IF ( ^R^E^S^U^L^T < LOWERVALUE(^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^B^I^A^S) ) OR
                       ( ^R^E^S^U^L^T > UPPERVALUE(^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^B^I^A^S) ) THE 
                       ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                          ^T^D^E_^B^I^A^S_^O^U^T_^O^F_^R^A^N^G^E, '', ^S^T^A^T^U^S);
                       ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                    ELSE
                       ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^B^I^A^S @D= ^R^E^S^U^L^T 
                    IFEND;
                 = ^P^A^R^M_^F^L^A^G^S_^O^R^D =   ^0 ^B^O^O^L^E^A^N ^F^L^A^G^S ^2 
                    ^P^A^R^M_^T^O_^B^O^O^L^E^A^N('VALUE', ^P^A^R^M_^R^E^C.^F^L^A^G[^F^L^A^G_^O^R^D^I^N^A^L] 
                 = ^P^A^R^M_^S^I^Z^E_^O^R^D =    ^0 ^S^C^R^E^E^N ^S^I^Z^E^S ^2
                    ^S^I^Z^E_^N^D^X @D= 0;
                    WHILE ( ^S^I^Z^E_^N^D^X <= ^S^C^R^E^E^N_^S^I^Z^E_^M^A^X ) AND 
                          ( ( ^P^A^R^M_^R^E^C.^S^I^Z^E[^S^I^Z^E_^N^D^X].^C^O^L^S <> 0 ) OR
                            ( ^P^A^R^M_^R^E^C.^S^I^Z^E[^S^I^Z^E_^N^D^X].^R^O^W^S <> 0 ) ) DO
                       ^S^I^Z^E_^N^D^X @D= ^S^I^Z^E_^N^D^X + 1
                    WHILEND;
                    IF ^S^I^Z^E_^N^D^X > ^S^C^R^E^E^N_^S^I^Z^E_^M^A^X THEN
                       ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                          ^T^D^E_^S^C^R^E^E^N_^S^I^Z^E_^O^V^E^R^F^L^O^W, '', ^S^T^A^T^U^S); 
                       ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                    ELSE
                       ^P^A^R^M_^T^O_^I^N^T^E^G^E^R('ROWS', ^J^U^N^K_^L^E^N); 
                       IF ( ^J^U^N^K_^L^E^N < 0 ) OR ( ^J^U^N^K_^L^E^N > ^S^I^Z^E_^R^O^W_^M^A^X 
                          ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                             ^T^D^E_^S^C^R^E^E^N_^R^O^W_^O^V^E^R^F^L^O^W, '', ^S^T^A^T^U^S);
                          ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                       ELSE 
                          ^P^A^R^M_^R^E^C.^S^I^Z^E[^S^I^Z^E_^N^D^X].^R^O^W^S @D= ^J^U^N^K_^L^E^N
                       IFEND; 
                       ^P^A^R^M_^T^O_^I^N^T^E^G^E^R('COLUMNS', ^J^U^N^K_^L^E^N);
                       IF ( ^J^U^N^K_^L^E^N < 0 ) OR ( ^J^U^N^K_^L^E^N > ^S^I^Z^E_^C^O^L_^M^A^X 
                          ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                             ^T^D^E_^S^C^R^E^E^N_^C^O^L_^O^V^E^R^F^L^O^W, '', ^S^T^A^T^U^S);
                          ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                       ELSE 
                          ^P^A^R^M_^R^E^C.^S^I^Z^E[^S^I^Z^E_^N^D^X].^C^O^L^S @D= ^J^U^N^K_^L^E^N
                       IFEND; 
                       ^T^E^S^T_^P^A^R^M_^G^I^V^E^N('OUT', ^F^O^U^N^D); ^0 ^W^R^I^T^E_^O^U^T ^I^S^N'^T
                       IF ^F^O^U^N^D THEN 
                          ^W^R^I^T^E_^O^U^T(^S^I^Z^E_^O^U^T^P^U^T_^O^R^D + ^S^I^Z^E_^N^D^X) 
                       IFEND
                    IFEND;
                 = ^P^A^R^M_^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^O^R^D =
                    ^C^L^P$^G^E^T_^V^A^L^U^E(^P^V^T, 'TYPE', 1, 1, ^C^L^C$^L^O^W, ^V^A^L^U^E, ^S^T^A
                    IF NOT ^S^T^A^T^U^S.^N^O^R^M^A^L THEN 
                       ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                    ELSE
                       IF ^V^A^L^U^E.^T^Y^P <> ^C^L^C$^N^A^M^E_^V^A^L^U^E THEN
                          ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                             ^T^D^E_^I^N^V^A^L^I^D_^C^U^R^S^O^R_^B^E^H^A^V^I^O^R, '', ^S^T^A^T^U^S);
                          ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                       ELSE 
                          ^F^I^N^D_^V^A^R^I^A^B^L^E(^V^A^L^U^E.^N^A^M^E, ^F^O^U^N^D, ^V^A^R^I^A^B^L^E); 
                          IF ^F^O^U^N^D THEN
                             IF ( ORD(^V^A^R^I^A^B^L^E@B.^V^A^L^U^E@B(1)) < 0 ) OR
                                ( ORD(^V^A^R^I^A^B^L^E@B.^V^A^L^U^E@B(1)) > 
                                   ^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^M^A^X ) THEN
                                ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                                   ^T^D^E_^I^N^V^A^L^I^D_^C^U^R^S^O^R_^B^E^H^A^V^I^O^R, '', ^S^T^A^T
                                ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                             ELSE 
                                ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^B^E^H^A^V^I^O^R[^F^L^A^G_^O^R^D^I^N^A^L] @D 
                                   ORD(^V^A^R^I^A^B^L^E@B.^V^A^L^U^E@B(1))
                             IFEND
                          ELSE
                             ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                                ^T^D^E_^I^N^V^A^L^I^D_^C^U^R^S^O^R_^B^E^H^A^V^I^O^R, '', ^S^T^A^T^U^S)
                             ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                          IFEND 
                       IFEND
                    IFEND;
                 = ^P^A^R^M_^C^U^R^S^O^R_^P^O^S_^C^O^L^U^M^N_^F^L^A^G_^O^R^D = ^0 ^C^O^L^U^M^N/^R^O^W ^F^I^R^S^T
                    ^P^A^R^M_^T^O_^B^O^O^L^E^A^N('VALUE', ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^P^O^S_^C^O^L^U^M^N_ 
                 = ^P^A^R^M_^C^U^R^S^O^R_^P^O^S_^L^E^N^G^T^H_^O^R^D = ^0 # ^C^H^A^R^S ^P^E^R ^E^A^C^H ^X/^Y ^V
                    ^P^A^R^M_^T^O_^I^N^T^E^G^E^R('VALUE', ^R^E^S^U^L^T);
                    IF ( ^R^E^S^U^L^T < 0 ) OR
                       ( ^R^E^S^U^L^T > UPPERVALUE( 
                          ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^P^O^S_^L^E^N^G^T^H[^F^L^A^G_^O^R^D^I^N^A^L]) ) TH 
                       ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                          ^T^D^E_^C^U^R^S^O^R_^L^E^N_^O^U^T_^O^F_^R^A^N^G^E, '', ^S^T^A^T^U^S); 
                       ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                    ELSE
                       ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^P^O^S_^L^E^N^G^T^H[^F^L^A^G_^O^R^D^I^N^A^L] @D= ^R^E^S^U^L 
                    IFEND;
                 = ^P^A^R^M_^F^U^N^C^T^I^O^N_^K^E^Y_^M^A^R^K_^O^R^D = ^0 # ^C^H^A^R^S ^O^F ^B^L^O^T^C^H ^L^E^F^T
                    ^P^A^R^M_^T^O_^I^N^T^E^G^E^R('VALUE', ^R^E^S^U^L^T);
                    IF ( ^R^E^S^U^L^T < 0 ) OR
                       ( ^R^E^S^U^L^T > UPPERVALUE( 
                          ^P^A^R^M_^R^E^C.^F^U^N^C^T^I^O^N_^K^E^Y_^M^A^R^K) ) THEN
                       ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                          ^T^D^E_^F^U^N^C^T^I^O^N_^K^E^Y_^M^A^R^K_^R^A^N^G^E, '', ^S^T^A^T^U^S);
                       ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                    ELSE
                       ^P^A^R^M_^R^E^C.^F^U^N^C^T^I^O^N_^K^E^Y_^M^A^R^K @D= ^R^E^S^U^L^T
                    IFEND;
              CASEND
           PROCEND ^W^R^I^T^E_^P^A^R^M; 
           ?? OLDTITLE ?? 
  
           ?? NEWTITLE @D= '^W^R^I^T^E_^I^N' ?? 
           ?? EJECT ??
  
           PROCEDURE ^W^R^I^T^E_^I^N (^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E);
              VAR 
                 ^I^N_^G^I^V^E^N, 
                 ^I^N^O^U^T_^G^I^V^E^N, 
                 ^L^A^B^E^L_^G^I^V^E^N@D BOOLEAN, 
                 ^L^A^B^E^L_^L^E^N@D ^O^S^T$^S^T^R^I^N^G_^S^I^Z^E,
                 ^L^A^B^E^L_^N^A^M^E@D ^O^S^T$^N^A^M^E, 
                 ^S^T^R^I^N^G_^L^E^N@D ^O^S^T$^S^T^R^I^N^G_^S^I^Z^E,
                 ^I^N^P^U^T_^S^T^R^I^N^G@D STRING(^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E); 
  
              ^C^L^P$^T^E^S^T_^P^A^R^A^M^E^T^E^R(^P^V^T, 'LABEL', ^L^A^B^E^L_^G^I^V^E^N, ^S^T^A^T^U^S); 
              IF ^L^A^B^E^L_^G^I^V^E^N THEN 
                 ^P^A^R^M_^T^O_^N^A^M^E('LABEL', ^L^A^B^E^L_^N^A^M^E, ^L^A^B^E^L_^L^E^N); 
                 ^S^T^O^R^E_^K^E^Y_^N^A^M^E_^N^O^D^E(^O^R^D^I^N^A^L, ^L^A^B^E^L_^L^E^N, ^L^A^B^E^L_^N^A^M^E,
                    ^E^R^R^O^R_^R^E^T^U^R^N); 
                 IF ^E^R^R^O^R_^R^E^T^U^R^N <> ^N^O_^E^R^R^O^R THEN 
                    ^E^R^R^O^R_^T^A^B^L^E(^E^R^R^O^R_^R^E^T^U^R^N, ^L^A^B^E^L_^N^A^M^E) 
                 IFEND
              IFEND;
              ^C^L^P$^T^E^S^T_^P^A^R^A^M^E^T^E^R(^P^V^T, 'IN', ^I^N_^G^I^V^E^N, ^S^T^A^T^U^S);
              ^C^L^P$^T^E^S^T_^P^A^R^A^M^E^T^E^R(^P^V^T, 'INOUT', ^I^N^O^U^T_^G^I^V^E^N, ^S^T^A^T^U^S); 
              IF ^I^N_^G^I^V^E^N AND ^I^N^O^U^T_^G^I^V^E^N THEN 
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                    ^T^D^E_^D^U^P^L^I^C^A^T^E_^I^N_^I^N^O^U^T, '', ^S^T^A^T^U^S); 
                 ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
              IFEND;
              IF ^I^N_^G^I^V^E^N THEN 
                 ^P^A^R^M_^T^O_^S^T^R^I^N^G('IN', ^I^N^P^U^T_^S^T^R^I^N^G, ^S^T^R^I^N^G_^L^E^N) 
              ELSEIF ^I^N^O^U^T_^G^I^V^E^N THEN 
                 ^P^A^R^M_^T^O_^S^T^R^I^N^G('INOUT', ^I^N^P^U^T_^S^T^R^I^N^G, ^S^T^R^I^N^G_^L^E^N)
              ELSE
                 RETURN               ^0 ^N^O ^M^A^J^O^R ^O^B^J^E^C^T^I^O^N ^I^F ^U^N^S^P^E^C^I^F^I^E 
              IFEND;
              ^S^T^O^R^E_^I^N^P^U^T_^N^O^D^E(^O^R^D^I^N^A^L, ^S^T^R^I^N^G_^L^E^N, ^I^N^P^U^T_^S^T^R^I^N^G,
                 ^E^R^R^O^R_^R^E^T^U^R^N);
              IF ^E^R^R^O^R_^R^E^T^U^R^N <> ^N^O_^E^R^R^O^R THEN
                 ^E^R^R^O^R_^T^A^B^L^E(^E^R^R^O^R_^R^E^T^U^R^N, ^N^A^M^E.^S^T^R(1,^N^A^M^E.^L^E^N^G^T^H)) 
              IFEND 
           PROCEND ^W^R^I^T^E_^I^N; 
           ?? OLDTITLE ?? 
  
           ?? NEWTITLE @D= '^W^R^I^T^E_^O^U^T' ?? 
           ?? EJECT ??
  
           PROCEDURE ^W^R^I^T^E_^O^U^T (^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E);
              VAR 
                 ^O^U^T_^G^I^V^E^N, 
                 ^I^N^O^U^T_^G^I^V^E^N@D BOOLEAN, 
                 ^S^T^R^I^N^G_^L^E^N@D ^O^S^T$^S^T^R^I^N^G_^S^I^Z^E,
                 ^O^U^T^P^U^T_^S^T^R^I^N^G@D STRING(^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E); 
  
              ^C^L^P$^T^E^S^T_^P^A^R^A^M^E^T^E^R(^P^V^T, 'OUT', ^O^U^T_^G^I^V^E^N, ^S^T^A^T^U^S); 
              ^C^L^P$^T^E^S^T_^P^A^R^A^M^E^T^E^R(^P^V^T, 'INOUT', ^I^N^O^U^T_^G^I^V^E^N, ^S^T^A^T^U^S); 
              IF ^O^U^T_^G^I^V^E^N AND ^I^N^O^U^T_^G^I^V^E^N THEN 
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                    ^T^D^E_^D^U^P^L^I^C^A^T^E_^O^U^T_^I^N^O^U^T, '', ^S^T^A^T^U^S); 
                 ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
              IFEND;
              IF ^O^U^T_^G^I^V^E^N THEN 
                 ^P^A^R^M_^T^O_^S^T^R^I^N^G('OUT', ^O^U^T^P^U^T_^S^T^R^I^N^G, ^S^T^R^I^N^G_^L^E^N)
              ELSEIF ^I^N^O^U^T_^G^I^V^E^N THEN 
                 ^P^A^R^M_^T^O_^S^T^R^I^N^G('INOUT', ^O^U^T^P^U^T_^S^T^R^I^N^G, ^S^T^R^I^N^G_^L^E^N)
              ELSE
                 RETURN               ^0 ^N^O ^M^A^J^O^R ^O^B^J^E^C^T^I^O^N ^I^F ^U^N^S^P^E^C^I^F^I^E 
              IFEND;
              ^S^T^O^R^E_^O^U^T^P^U^T_^N^O^D^E(^O^R^D^I^N^A^L, ^S^T^R^I^N^G_^L^E^N, ^O^U^T^P^U^T_^S^T^R^I^N^G,
                 ^E^R^R^O^R_^R^E^T^U^R^N);
              IF ^E^R^R^O^R_^R^E^T^U^R^N <> ^N^O_^E^R^R^O^R THEN
                 ^E^R^R^O^R_^T^A^B^L^E(^E^R^R^O^R_^R^E^T^U^R^N, ^N^A^M^E.^S^T^R(1,^N^A^M^E.^L^E^N^G^T^H)) 
              IFEND 
           PROCEND ^W^R^I^T^E_^O^U^T; 
           ?? OLDTITLE ?? 
  
           ?? NEWTITLE @D= '^W^R^I^T^E_^I^N^I^T' ?? 
           ?? EJECT ??
  
           PROCEDURE ^W^R^I^T^E_^I^N^I^T (^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E);
              VAR 
                 ^O^U^T_^G^I^V^E^N@D BOOLEAN, 
                 ^S^T^R^I^N^G_^L^E^N@D ^O^S^T$^S^T^R^I^N^G_^S^I^Z^E,
                 ^O^U^T^P^U^T_^S^T^R^I^N^G@D STRING(^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E); 
  
              ^C^L^P$^T^E^S^T_^P^A^R^A^M^E^T^E^R(^P^V^T, 'OUT', ^O^U^T_^G^I^V^E^N, ^S^T^A^T^U^S); 
              IF ^O^U^T_^G^I^V^E^N THEN 
                 ^P^A^R^M_^T^O_^S^T^R^I^N^G('OUT', ^O^U^T^P^U^T_^S^T^R^I^N^G, ^S^T^R^I^N^G_^L^E^N); 
                 ^S^T^O^R^E_^R^E^S^E^T_^S^E^Q^U^E^N^C^E(^O^R^D^I^N^A^L, ^S^T^R^I^N^G_^L^E^N, ^O^U^T^P^U^T_^S^T^R^I^N^G
                    ^E^R^R^O^R_^R^E^T^U^R^N); 
                 IF ^E^R^R^O^R_^R^E^T^U^R^N <> ^N^O_^E^R^R^O^R THEN 
                    ^E^R^R^O^R_^T^A^B^L^E(^E^R^R^O^R_^R^E^T^U^R^N, ^N^A^M^E.^S^T^R(1,^N^A^M^E.^L^E^N^G^T^H))
                 IFEND
              IFEND 
           PROCEND ^W^R^I^T^E_^I^N^I^T; 
           ?? OLDTITLE ?? 
  
           ?? NEWTITLE @D= '^W^R^I^T^E_^A^P^P^S^T^R' ?? 
           ?? EJECT ??
  
           PROCEDURE ^W^R^I^T^E_^A^P^P^S^T^R; 
              VAR 
                 ^C^H^A^R_^N^D^X@D INTEGER, 
                 ^S^T^R^I^N^G_^L^E^N@D ^O^S^T$^S^T^R^I^N^G_^S^I^Z^E,
                 ^O^U^T^P^U^T_^S^T^R^I^N^G@D STRING(^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E), 
                 ^N^A^M^E_^L^E^N@D ^O^S^T$^S^T^R^I^N^G_^S^I^Z^E,
                 ^N^A^M^E@D ^O^S^T$^N^A^M^E;
  
              ^P^A^R^M_^T^O_^N^A^M^E('NAME', ^N^A^M^E, ^N^A^M^E_^L^E^N);
              IF (^N^A^M^E_^L^E^N < 1) OR (^N^A^M^E_^L^E^N > 7) THEN
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                    ^T^D^E_^A^P^P^S^T^R_^N^A^M^E_^T^O^O_^L^O^N^G, '', ^S^T^A^T^U^S);
                 ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
              IFEND;
              FOR ^C^H^A^R_^N^D^X @D= 1 ^T^O ^N^A^M^E_^L^E^N DO ^0 ^T^E^S^T ^F^O^R ^V^A^L^I^D^I^T^Y ^I^N C- 
                 IF ^U^T^V$^C^O^N^V^E^R^T_^A^S^C^I^I_^T^O_^A^S^C^I^I64[^N^A^M^E(^C^H^A^R_^N^D^X)] = 0 THE 
                    ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                       ^T^D^E_^I^N^V^A^L^I^D_^A^P^P^S^T^R_^N^A^M^E, ^N^A^M^E(1,^N^A^M^E_^L^E^N), ^S^T^A^T^U^S 
                    ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R(
                       ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S); 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                 IFEND
              FOREND; 
              ^P^A^R^M_^T^O_^S^T^R^I^N^G('OUT', ^O^U^T^P^U^T_^S^T^R^I^N^G, ^S^T^R^I^N^G_^L^E^N);
              ^S^T^O^R^E_^A^P^P^S^T^R_^N^O^D^E(^N^A^M^E(1,^N^A^M^E_^L^E^N), ^S^T^R^I^N^G_^L^E^N, ^O^U^T^P^U^T_^S^T^R
                 ^E^R^R^O^R_^R^E^T^U^R^N);
              IF ^E^R^R^O^R_^R^E^T^U^R^N <> ^N^O_^E^R^R^O^R THEN
                 ^E^R^R^O^R_^T^A^B^L^E(^E^R^R^O^R_^R^E^T^U^R^N, ^N^A^M^E(1,^N^A^M^E_^L^E^N))
              IFEND 
           PROCEND ^W^R^I^T^E_^A^P^P^S^T^R; 
           ?? OLDTITLE ?? 
           ?? EJECT ??
  
           CASE ^T^Y^P OF 
              = ^V_^P^A^R^M = 
                 ^C^L^P$^S^C^A^N_^P^A^R^A^M^E^T^E^R_^L^I^S^T(^S^O^U^R^C^E_^S^T^R^I^N^G, ^S^O^U^R^C^E_^I^N^D^E^X,
                    @B^P^A^R^M_^P^D^T, ^P^V^T, ^S^T^A^T^U^S); 
                 IF ^S^T^A^T^U^S.^N^O^R^M^A^L THEN
                    ^W^R^I^T^E_^P^A^R^M(^I^N_^O^R^D^I^N^A^L, ^O^U^T_^O^R^D^I^N^A^L) 
                 ELSE 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                 IFEND; 
              = ^V_^I^N = 
                 ^C^L^P$^S^C^A^N_^P^A^R^A^M^E^T^E^R_^L^I^S^T(^S^O^U^R^C^E_^S^T^R^I^N^G, ^S^O^U^R^C^E_^I^N^D^E^X,
                    @B^I^N_^P^D^T, ^P^V^T, ^S^T^A^T^U^S); 
                 IF ^S^T^A^T^U^S.^N^O^R^M^A^L THEN
                    ^W^R^I^T^E_^I^N(^I^N_^O^R^D^I^N^A^L)
                 ELSE 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                 IFEND; 
              = ^V_^O^U^T = 
                 ^C^L^P$^S^C^A^N_^P^A^R^A^M^E^T^E^R_^L^I^S^T(^S^O^U^R^C^E_^S^T^R^I^N^G, ^S^O^U^R^C^E_^I^N^D^E^X,
                    @B^O^U^T_^P^D^T, ^P^V^T, ^S^T^A^T^U^S); 
                 IF ^S^T^A^T^U^S.^N^O^R^M^A^L THEN
                    ^W^R^I^T^E_^O^U^T(^O^U^T_^O^R^D^I^N^A^L)
                 ELSE 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                 IFEND; 
              = ^V_^I^N^O^U^T = 
                 ^C^L^P$^S^C^A^N_^P^A^R^A^M^E^T^E^R_^L^I^S^T(^S^O^U^R^C^E_^S^T^R^I^N^G, ^S^O^U^R^C^E_^I^N^D^E^X,
                    @B^I^N^O^U^T_^P^D^T, ^P^V^T, ^S^T^A^T^U^S); 
                 IF ^S^T^A^T^U^S.^N^O^R^M^A^L THEN
                    ^W^R^I^T^E_^I^N(^I^N_^O^R^D^I^N^A^L); 
                    ^W^R^I^T^E_^O^U^T(^O^U^T_^O^R^D^I^N^A^L)
                 ELSE 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                 IFEND; 
              = ^V_^I^N^I^T = 
                 ^C^L^P$^S^C^A^N_^P^A^R^A^M^E^T^E^R_^L^I^S^T(^S^O^U^R^C^E_^S^T^R^I^N^G, ^S^O^U^R^C^E_^I^N^D^E^X,
                    @B^I^N^I^T_^P^D^T, ^P^V^T, ^S^T^A^T^U^S); 
                 IF ^S^T^A^T^U^S.^N^O^R^M^A^L THEN
                    ^W^R^I^T^E_^I^N^I^T(^O^U^T_^O^R^D^I^N^A^L)
                 ELSE 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                 IFEND; 
              = ^V_^A^P^P^S^T^R = 
                 ^C^L^P$^S^C^A^N_^P^A^R^A^M^E^T^E^R_^L^I^S^T(^S^O^U^R^C^E_^S^T^R^I^N^G, ^S^O^U^R^C^E_^I^N^D^E^X,
                    @B^A^P^P^S^T^R_^P^D^T, ^P^V^T, ^S^T^A^T^U^S); 
                 IF ^S^T^A^T^U^S.^N^O^R^M^A^L THEN
                    ^W^R^I^T^E_^A^P^P^S^T^R 
                 ELSE 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                 IFEND; 
           CASEND;
           ^C^L^P$^F^R^E^E_^P^A^R^A^M^E^T^E^R_^V^A^L^U^E_^T^A^B^L^E(^P^V^T) 
        PROCEND ^P^R^O^C^E^S^S_^V^E^R^B;
        ?? OLDTITLE ??
  
        ?? NEWTITLE @D= '^P^R^O^C^E^S^S_^V^A^R^I^A^B^L^E' ??
        ?? EJECT ?? 
  
        PROCEDURE ^P^R^O^C^E^S^S_^V^A^R^I^A^B^L^E (^N^A^M^E@D ^O^S^T$^N^A^M^E_^D^E^S^C^R^I^P^T^O^R);
           VAR
              ^F^O^U^N^D@D BOOLEAN, 
              ^E^R^R^O^R_^R^E^T^U^R^N@D ^E^R^R^O^R_^T^Y^P^E,
              ^V^A^R^I^A^B^L^E@D @B^T^D^L_^V^A^R^I^A^B^L^E; 
  
           ?? NEWTITLE @D= '^P^A^R^S^E_^V^A^R^I^A^B^L^E_^A^S^S^I^G^N^M^E^N^T' ??
           ?? SKIP @D= 4 ?? 
  
           PROCEDURE ^P^A^R^S^E_^V^A^R^I^A^B^L^E_^A^S^S^I^G^N^M^E^N^T (VAR ^V^A^R^I^A^B^L^E@D @B^T^D^L_^V^A^R^I^A 
                 VAR ^E^R^R^O^R_^R^E^T^U^R^N@D ^E^R^R^O^R_^T^Y^P^E);
              VAR 
                 ^V^A^R^I^A^B^L^E_^R^E^F^E^R^E^N^C^E@D @B^T^D^L_^V^A^R^I^A^B^L^E, 
                 ^T^O^K^E^N@D ^C^L^T$^T^O^K^E^N,
                 ^F^O^U^N^D@D BOOLEAN,
                 ^N^E^W_^S^T^R_^L^E^N^G^T^H,
                 ^V^A^L^U^E_^L^E^N^G^T^H@D INTEGER, 
                 ^N^E^W_^S^T^R, 
                 ^V^A^L^U^E_^S^T^R^I^N^G@D STRING(^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E); 
  
              ^O^L^D_^I^N^D^E^X @D= ^S^O^U^R^C^E_^I^N^D^E^X;
              ^C^L^P$^S^C^A^N_^T^O^K^E^N(^C^L^C$^N^O^T_^I^N_^E^X^P^R^E^S^S^I^O^N, ^S^O^U^R^C^E_^S^T^R^I^N^G,
                 ^S^O^U^R^C^E_^I^N^D^E^X, ^T^O^K^E^N, ^S^T^A^T^U^S);
              IF NOT ^S^T^A^T^U^S.^N^O^R^M^A^L THEN 
                 ^S^O^U^R^C^E_^I^N^D^E^X @D= ^O^L^D_^I^N^D^E^X; ^0 ^P^O^I^N^T ^T^O ^O^F^F^E^N^D^I^N^G ^T^O^K^E^N ^2 
                 ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S); 
                 ^E^R^R^O^R_^R^E^T^U^R^N @D= ^N^O^T_^F^O^U^N^D_^E^R^R^O^R;
                 RETURN 
              IFEND;
              IF ^T^O^K^E^N.^T^Y^P <> ^C^L^C$^A^S^S^I^G^N_^T^O^K^E^N THEN 
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                    ^T^D^E_^I^N^V^A^L^I^D_^V^E^R^B_^V^A^R^I^A^B^L^E, '', ^S^T^A^T^U^S); 
                 ^S^O^U^R^C^E_^I^N^D^E^X @D= ^O^L^D_^I^N^D^E^X; ^0 ^P^O^I^N^T ^T^O ^O^F^F^E^N^D^I^N^G ^T^O^K^E^N ^2 
                 ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S); 
                 ^E^R^R^O^R_^R^E^T^U^R^N @D= ^N^O^T_^F^O^U^N^D_^E^R^R^O^R;
                 RETURN 
              IFEND;
              ^V^A^L^U^E_^L^E^N^G^T^H @D= 0;
              REPEAT
                 ^N^E^W_^S^T^R_^L^E^N^G^T^H @D= 0;
                 ^O^L^D_^I^N^D^E^X @D= ^S^O^U^R^C^E_^I^N^D^E^X; 
                 ^C^L^P$^S^C^A^N_^T^O^K^E^N(^C^L^C$^N^O^T_^I^N_^E^X^P^R^E^S^S^I^O^N, ^S^O^U^R^C^E_^S^T^R^I^N^G, 
                    ^S^O^U^R^C^E_^I^N^D^E^X, ^T^O^K^E^N, ^S^T^A^T^U^S); 
                 IF NOT ^S^T^A^T^U^S.^N^O^R^M^A^L THEN
                    ^S^O^U^R^C^E_^I^N^D^E^X @D= ^O^L^D_^I^N^D^E^X; ^0 ^P^O^I^N^T ^T^O ^O^F^F^E^N^D^I^N^G ^T^O^K^E 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S);
                    ^E^R^R^O^R_^R^E^T^U^R^N @D= ^N^O^T_^F^O^U^N^D_^E^R^R^O^R; 
                    RETURN
                 IFEND; 
                 IF ^T^O^K^E^N.^T^Y^P = ^C^L^C$^N^A^M^E_^T^O^K^E^N THEN 
                    ^F^I^N^D_^V^A^R^I^A^B^L^E(^T^O^K^E^N.^N^A^M^E, ^F^O^U^N^D, ^V^A^R^I^A^B^L^E_^R^E^F^E^R^E^N^C^E) 
                    IF NOT ^F^O^U^N^D THEN
                       ^E^R^R^O^R_^R^E^T^U^R^N @D= ^N^O^T_^F^O^U^N^D_^E^R^R^O^R;
                       ^E^R^R^O^R_^T^A^B^L^E(^E^R^R^O^R_^R^E^T^U^R^N, 
                          ^T^O^K^E^N.^N^A^M^E.^S^T^R(1,^T^O^K^E^N.^N^A^M^E.^L^E^N^G^T^H));
                       RETURN 
                    IFEND;
                    ^N^E^W_^S^T^R @D= ^V^A^R^I^A^B^L^E_^R^E^F^E^R^E^N^C^E@B.^V^A^L^U^E@B; 
                    ^N^E^W_^S^T^R_^L^E^N^G^T^H @D= ^V^A^R^I^A^B^L^E_^R^E^F^E^R^E^N^C^E@B.^S^T^R_^L^E^N^G^T^H
                 ELSEIF ^T^O^K^E^N.^T^Y^P = ^C^L^C$^S^T^R^I^N^G_^T^O^K^E^N THEN 
                    ^N^E^W_^S^T^R @D= ^T^O^K^E^N.^S^T^R;
                    ^N^E^W_^S^T^R_^L^E^N^G^T^H @D= ^T^O^K^E^N.^S^T^R_^L^E^N^G^T^H 
                 ELSEIF ^T^O^K^E^N.^T^Y^P = ^C^L^C$^I^N^T^E^G^E^R_^T^O^K^E^N THEN 
                    IF ( ^T^O^K^E^N.^I^N^T.^I^N^T < 0 ) OR
                       ( ^T^O^K^E^N.^I^N^T.^I^N^T > 127 ) THEN
                       ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                          ^T^D^E_^I^N^V^A^L^I^D_^C^H^A^R^A^C^T^E^R, '', ^S^T^A^T^U^S);
                       ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
                    ELSE
                       ^N^E^W_^S^T^R(1) @D= CHR(^T^O^K^E^N.^I^N^T.^I^N^T);
                       ^N^E^W_^S^T^R_^L^E^N^G^T^H @D= 1 
                    IFEND 
                 ELSEIF ( ^T^O^K^E^N.^T^Y^P <> ^C^L^C$^C^A^T_^T^O^K^E^N ) AND 
                        ( ^T^O^K^E^N.^T^Y^P <> ^C^L^C$^L^P^A^R^E^N_^T^O^K^E^N ) AND 
                        ( ^T^O^K^E^N.^T^Y^P <> ^C^L^C$^R^P^A^R^E^N_^T^O^K^E^N ) AND 
                        ( ^T^O^K^E^N.^T^Y^P <> ^C^L^C$^E^O^S_^T^O^K^E^N ) THEN
                    ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, ^C^L^C$^I^N^V^A^L^I^D,
                       ^T^O^K^E^N.^S^T^R(1,^T^O^K^E^N.^S^T^R_^L^E^N^G^T^H), ^S^T^A^T^U^S);
                    ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R(
                       ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S); 
                    ^S^O^U^R^C^E_^I^N^D^E^X @D= ^O^L^D_^I^N^D^E^X; ^0 ^P^O^I^N^T ^T^O ^O^F^F^E^N^D^I^N^G ^T^O^K^E 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S);
                    ^E^R^R^O^R_^R^E^T^U^R^N @D= ^N^O^T_^F^O^U^N^D_^E^R^R^O^R; 
                    RETURN
                 IFEND; 
                 IF ( ^V^A^L^U^E_^L^E^N^G^T^H + ^N^E^W_^S^T^R_^L^E^N^G^T^H ) >
                       ^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E THEN 
                    ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                       ^C^L^C$^S^T^R^I^N^G_^O^V^E^R^F^L^O^W, '', ^S^T^A^T^U^S); 
                    ^S^O^U^R^C^E_^I^N^D^E^X @D= ^O^L^D_^I^N^D^E^X; ^0 ^P^O^I^N^T ^T^O ^O^F^F^E^N^D^I^N^G ^T^O^K^E 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S);
                    ^E^R^R^O^R_^R^E^T^U^R^N @D= ^N^O_^R^O^O^M_^E^R^R^O^R; 
                    RETURN
                 IFEND; 
                 IF ^N^E^W_^S^T^R_^L^E^N^G^T^H > 0 THEN 
                    STRINGREP(^V^A^L^U^E_^S^T^R^I^N^G, ^V^A^L^U^E_^L^E^N^G^T^H, 
                       ^V^A^L^U^E_^S^T^R^I^N^G(1,^V^A^L^U^E_^L^E^N^G^T^H),
                       ^N^E^W_^S^T^R(1,^N^E^W_^S^T^R_^L^E^N^G^T^H)) 
                 IFEND
              UNTIL ^S^O^U^R^C^E_^I^N^D^E^X > ^S^O^U^R^C^E_^L^E^N^G^T^H;
              ^A^S^S^I^G^N_^V^A^L^U^E_^T^O_^V^A^R^I^A^B^L^E(^V^A^L^U^E_^S^T^R^I^N^G, ^V^A^L^U^E_^L^E^N^G^T^H, 
                 ^V^A^R^I^A^B^L^E, ^E^R^R^O^R_^R^E^T^U^R^N) 
           PROCEND ^P^A^R^S^E_^V^A^R^I^A^B^L^E_^A^S^S^I^G^N^M^E^N^T;
           ?? OLDTITLE ?? 
           ?? EJECT ??
  
           ^F^I^N^D_^V^A^R^I^A^B^L^E(^N^A^M^E, ^F^O^U^N^D, ^V^A^R^I^A^B^L^E); 
           IF ^F^O^U^N^D THEN 
              ^P^A^R^S^E_^V^A^R^I^A^B^L^E_^A^S^S^I^G^N^M^E^N^T(^V^A^R^I^A^B^L^E, ^E^R^R^O^R_^R^E^T^U^R^N) 
           ELSE 
              ^A^D^D_^V^A^R^I^A^B^L^E_^T^O_^S^Y^M^B^O^L_^T^A^B^L^E(^N^A^M^E, ^V^A^R^I^A^B^L^E, ^E^R^R^O^R_^R^E^T^U^R^N) 
              IF ^E^R^R^O^R_^R^E^T^U^R^N = ^N^O_^E^R^R^O^R THEN 
                 ^P^A^R^S^E_^V^A^R^I^A^B^L^E_^A^S^S^I^G^N^M^E^N^T(^V^A^R^I^A^B^L^E, ^E^R^R^O^R_^R^E^T^U^R^N)
              IFEND 
           IFEND
        PROCEND ^P^R^O^C^E^S^S_^V^A^R^I^A^B^L^E;
        ?? OLDTITLE ??
  
        ?? NEWTITLE @D= '^C^H^E^C^K_^A^N^D_^P^R^O^C^E^S^S_^S^T^A^T^E^M^E^N^T' ??
        ?? EJECT ?? 
  
        PROCEDURE ^C^H^E^C^K_^A^N^D_^P^R^O^C^E^S^S_^S^T^A^T^E^M^E^N^T;
              IF ^T^O^K^E^N.^T^Y^P <> ^C^L^C$^N^A^M^E_^T^O^K^E^N THEN 
                 CASE ^T^O^K^E^N.^T^Y^P OF
                    = ^C^L^C$^U^N^K^N^O^W^N_^T^O^K^E^N .. ^C^L^C$^S^T^R^I^N^G_^T^O^K^E^N =
                       ^J^U^N^K_^S^T^R^I^N^G @D= ^T^O^K^E^N.^S^T^R(1,^T^O^K^E^N.^S^T^R_^L^E^N^G^T^H); 
                       ^J^U^N^K_^L^E^N @D= ^T^O^K^E^N.^S^T^R_^L^E^N^G^T^H;
                    = ^C^L^C$^B^O^O^L^E^A^N_^T^O^K^E^N =
                       ^J^U^N^K_^S^T^R^I^N^G @D= '';
                       STRINGREP(^J^U^N^K_^S^T^R^I^N^G, ^J^U^N^K_^L^E^N, ^T^O^K^E^N.^B^O^O^L);
                    = ^C^L^C$^I^N^T^E^G^E^R_^T^O^K^E^N =
                       ^J^U^N^K_^S^T^R^I^N^G @D= 'INTEGER'; 
                       ^J^U^N^K_^L^E^N @D= 7; 
                 CASEND;
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                    ^T^D^E_^E^X^P^E^C^T^I^N^G_^V^E^R^B_^V^A^R^I^A^B^L^E, ^J^U^N^K_^S^T^R^I^N^G(1,^J^U^N^K_^L^E^N) 
                    ^S^T^A^T^U^S);
                 ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R( 
                    ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S);
                 ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S)
              ELSE
                 ^S^E^A^R^C^H_^V^E^R^B_^T^A^B^L^E(^T^O^K^E^N.^N^A^M^E.^S^T^R(1,^T^O^K^E^N.^N^A^M^E.^L^E^N^G^T^H), 
                    ^V^E^R^B_^T^Y^P, ^I^N_^O^R^D^I^N^A^L, ^O^U^T_^O^R^D^I^N^A^L, ^F^O^U^N^D); 
                 IF ^F^O^U^N^D THEN 
                    ^P^R^O^C^E^S^S_^V^E^R^B(^V^E^R^B_^T^Y^P, ^I^N_^O^R^D^I^N^A^L, ^O^U^T_^O^R^D^I^N^A^L,
                       ^T^O^K^E^N.^N^A^M^E);
                 ELSE 
                    ^P^R^O^C^E^S^S_^V^A^R^I^A^B^L^E(^T^O^K^E^N.^N^A^M^E)
                 IFEND
              IFEND 
        PROCEND ^C^H^E^C^K_^A^N^D_^P^R^O^C^E^S^S_^S^T^A^T^E^M^E^N^T;
  
        ?? EJECT ?? 
  
        ^E^M^P^T^Y_^F^I^L^E @D= TRUE; 
        ^P^A^R^M_^R^E^C.^M^O^D^E^L_^N^A^M^E @D= ' ';
        ^P^A^R^M_^R^E^C.^M^O^D^E^L_^N^A^M^E_^L^E^N @D= 0; 
        ^P^A^R^M_^R^E^C.^C^O^M^M^U^N^I^C^A^T^I^O^N^S @D= ^A^S^Y^N^C^H_^C^O^M^M; 
        ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^E^N^C^O^D^I^N^G @D= ^I^N^V^A^L^I^D_^C^U^R^S^O^R;
        ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^B^I^A^S @D= 0;
        FOR ^P^A^R^M_^N^D^X @D= 0 TO ^P^A^R^M_^F^L^A^G_^M^A^X DO
           ^P^A^R^M_^R^E^C.^F^L^A^G[^P^A^R^M_^N^D^X] @D= FALSE
        FOREND; 
        FOR ^P^A^R^M_^N^D^X @D= 0 TO ^S^C^R^E^E^N_^S^I^Z^E_^M^A^X DO
           ^P^A^R^M_^R^E^C.^S^I^Z^E[^P^A^R^M_^N^D^X].^C^O^L^S @D= 0;
           ^P^A^R^M_^R^E^C.^S^I^Z^E[^P^A^R^M_^N^D^X].^R^O^W^S @D= 0 
        FOREND; 
        FOR ^P^A^R^M_^N^D^X @D= 0 TO ^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^M^A^X DO
           ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^B^E^H^A^V^I^O^R[^P^A^R^M_^N^D^X] @D= -1
        FOREND; 
        ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^P^O^S_^C^O^L^U^M^N_^F^L^A^G @D= FALSE;
        FOR ^P^A^R^M_^N^D^X @D= 0 TO 1 DO 
           ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^P^O^S_^L^E^N^G^T^H[^P^A^R^M_^N^D^X] @D= 0
        FOREND; 
  
        ^R^E^A^D_^L^I^N^E(^E^O^F_^F^L^A^G); 
        WHILE NOT ^E^O^F_^F^L^A^G DO
           ^S^O^U^R^C^E_^S^T^R^I^N^G @D= ^L^I^N^E_^B^U^F^F^E^R; 
           ^S^O^U^R^C^E_^L^E^N^G^T^H @D= ^L^I^N^E_^L^E^N^G^T^H; 
           ^S^O^U^R^C^E_^I^N^D^E^X @D= 1; 
           WHILE ^S^O^U^R^C^E_^I^N^D^E^X <= ^S^O^U^R^C^E_^L^E^N^G^T^H DO ^0 ^P^R^E-^S^C^A^N ^F^O^R ^C^O^N^T^I^N^U 
              REPEAT
                 ^O^L^D_^I^N^D^E^X @D= ^S^O^U^R^C^E_^I^N^D^E^X; 
                 ^C^L^P$^S^C^A^N_^T^O^K^E^N(^C^L^C$^N^O^T_^I^N_^E^X^P^R^E^S^S^I^O^N, ^S^O^U^R^C^E_^S^T^R^I^N^G, 
                    ^S^O^U^R^C^E_^I^N^D^E^X, ^T^O^K^E^N, ^S^T^A^T^U^S); 
                 IF NOT ^S^T^A^T^U^S.^N^O^R^M^A^L THEN
                    ^S^O^U^R^C^E_^I^N^D^E^X @D= ^O^L^D_^I^N^D^E^X; ^0 ^P^O^I^N^T ^T^O ^O^F^F^E^N^D^I^N^G ^T^O^K^E 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S);
                    ^S^O^U^R^C^E_^I^N^D^E^X @D= ^S^O^U^R^C^E_^L^E^N^G^T^H + 1 ^0 ^S^T^O^P ^S^C^A^N^N^I^N^G ^N^O 
                 IFEND
              UNTIL ( ^S^O^U^R^C^E_^I^N^D^E^X > ^S^O^U^R^C^E_^L^E^N^G^T^H ) OR
                    ( ^T^O^K^E^N.^T^Y^P = ^C^L^C$^E^L^L^I^P^S^I^S_^T^O^K^E^N ); 
              IF ^S^T^A^T^U^S.^N^O^R^M^A^L AND
                 ( ^T^O^K^E^N.^T^Y^P = ^C^L^C$^E^L^L^I^P^S^I^S_^T^O^K^E^N ) THEN
                 ^R^E^A^D_^L^I^N^E(^E^O^F_^F^L^A^G);
                 IF ( ^O^L^D_^I^N^D^E^X + ^L^I^N^E_^L^E^N^G^T^H ) > ^O^S^C$^M^A^X_^S^T^R^I^N^G_^S^I^Z^E TH
                    ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                       ^T^D^E_^C^O^N^T^I^N^U^A^T^I^O^N_^O^V^E^R^F^L^O^W, '', ^S^T^A^T^U^S); 
                    ^S^O^U^R^C^E_^E^R^R^O^R(^S^T^A^T^U^S) 
                 ELSE 
                    STRINGREP(^S^O^U^R^C^E_^S^T^R^I^N^G, ^S^O^U^R^C^E_^L^E^N^G^T^H, 
                       ^S^O^U^R^C^E_^S^T^R^I^N^G(1,^O^L^D_^I^N^D^E^X-1),
                       ^L^I^N^E_^B^U^F^F^E^R(1,^L^I^N^E_^L^E^N^G^T^H)); 
                    ^S^O^U^R^C^E_^I^N^D^E^X @D= ^O^L^D_^I^N^D^E^X 
                 IFEND
              IFEND 
           WHILEND; 
           ^S^O^U^R^C^E_^I^N^D^E^X @D= 1; 
           ^C^L^P$^S^C^A^N_^T^O^K^E^N(^C^L^C$^N^O^T_^I^N_^E^X^P^R^E^S^S^I^O^N, ^S^O^U^R^C^E_^S^T^R^I^N^G, 
              ^S^O^U^R^C^E_^I^N^D^E^X, ^T^O^K^E^N, ^S^T^A^T^U^S); 
           IF ^S^T^A^T^U^S.^N^O^R^M^A^L AND       ^0 ^E^R^R^O^R ^R^E^P^O^R^T^E^D ^D^U^R^I^N^G ^P^R^E-^S^C^A^N ^2
              ( ^S^O^U^R^C^E_^I^N^D^E^X <= ^S^O^U^R^C^E_^L^E^N^G^T^H ) THEN 
              ^E^M^P^T^Y_^F^I^L^E @D= FALSE;    ^0 ^F^O^U^N^D ^S^O^M^E^T^H^I^N^G ^2 
              ^C^H^E^C^K_^A^N^D_^P^R^O^C^E^S^S_^S^T^A^T^E^M^E^N^T 
           IFEND; 
           ^R^E^A^D_^L^I^N^E(^E^O^F_^F^L^A^G);
        WHILEND;
  
        ^S^T^O^R^E_^P^A^R^A^M^E^T^E^R^S(^P^A^R^M_^R^E^C)
     PROCEND ^A^N^A^L^Y^Z^E_^L^I^N^E^S; 
     ?? OLDTITLE ?? 
  
     ?? NEWTITLE @D= '^G^L^O^B^A^L_^E^D^I^T^S' ?? 
     ?? EJECT ??
  
     PROCEDURE ^G^L^O^B^A^L_^E^D^I^T^S; 
        VAR 
           ^B^E^H^A^V^I^O^R_^N^D^X@D 0 .. ^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^M^A^X; 
  
        IF ^E^M^P^T^Y_^F^I^L^E THEN 
           ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, ^T^D^E_^E^M^P^T^Y_^F^I^L^E,
              '', ^S^T^A^T^U^S);
           ^E^R^R^O^R_^S^T^A^T^U^S(^S^T^A^T^U^S)
        ELSE
           IF ^P^A^R^M_^R^E^C.^M^O^D^E^L_^N^A^M^E_^L^E^N = 0 THEN 
              ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                 ^C^L^C$^R^E^Q^U^I^R^E^D_^P^A^R^A^M^E^T^E^R_^M^I^S^S^I^N^G, 
                 ^V^E^R^B_^T^A^B^L^E[^P^A^R^M_^N^A^M^E_^V^E^R^B].^N^A^M^E, ^S^T^A^T^U^S); 
              ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R(
                 ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S); 
              ^E^R^R^O^R_^S^T^A^T^U^S(^S^T^A^T^U^S) 
           IFEND; 
           IF ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^E^N^C^O^D^I^N^G = ^I^N^V^A^L^I^D_^C^U^R^S^O^R THEN
              ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E, 
                 ^C^L^C$^R^E^Q^U^I^R^E^D_^P^A^R^A^M^E^T^E^R_^M^I^S^S^I^N^G, 
                 ^V^E^R^B_^T^A^B^L^E[^P^A^R^M_^C^U^R^S^O^R_^E^N^C^O^D^I^N^G_^V^E^R^B].^N^A^M^E, ^S^T^A^T^U^S);
              ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R(
                 ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S); 
              ^E^R^R^O^R_^S^T^A^T^U^S(^S^T^A^T^U^S) 
           IFEND; 
           IF ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^E^N^C^O^D^I^N^G = ^B^I^N^A^R^Y_^C^U^R^S^O^R THEN
              ^J^U^N^K_^L^E^N := 0; 
              ^S^I^Z^E_^N^D^X := 0; 
              WHILE ( ^S^I^Z^E_^N^D^X <= ^S^C^R^E^E^N_^S^I^Z^E_^M^A^X ) AND 
                    ( ^P^A^R^M_^R^E^C.^S^I^Z^E[^S^I^Z^E_^N^D^X].^C^O^L^S <> 0 ) AND 
                    ( ^P^A^R^M_^R^E^C.^S^I^Z^E[^S^I^Z^E_^N^D^X].^R^O^W^S <> 0 ) DO
                 IF ^J^U^N^K_^L^E^N < ^P^A^R^M_^R^E^C.^S^I^Z^E[^S^I^Z^E_^N^D^X].^C^O^L^S THEN 
                    ^J^U^N^K_^L^E^N := ^P^A^R^M_^R^E^C.^S^I^Z^E[^S^I^Z^E_^N^D^X].^C^O^L^S 
                 IFEND; 
                 ^S^I^Z^E_^N^D^X := ^S^I^Z^E_^N^D^X + 1 
              WHILEND;
              IF ^J^U^N^K_^L^E^N + ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^B^I^A^S > ^B^I^N^A^R^Y_^C^O^L_^M^A^X THEN
                 ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                    ^C^L^C$^V^A^L^U^E_^O^U^T_^O^F_^R^A^N^G^E, 
                    ^V^E^R^B_^T^A^B^L^E[^P^A^R^M_^S^E^T_^S^I^Z^E_^V^E^R^B].^N^A^M^E, ^S^T^A^T^U^S); 
                 ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R( ' ',
                    ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S); 
                 ^E^R^R^O^R_^S^T^A^T^U^S(^S^T^A^T^U^S)
              IFEND 
           IFEND; 
           FOR ^B^E^H^A^V^I^O^R_^N^D^X @D= 0 TO ^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^M^A^X DO 
              IF ^P^A^R^M_^R^E^C.^C^U^R^S^O^R_^B^E^H^A^V^I^O^R[^B^E^H^A^V^I^O^R_^N^D^X] < 0 THEN
                 IF ^B^E^H^A^V^I^O^R_^N^D^X < ^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^D^I^V THEN 
                   ^O^S^P$^S^E^T_^S^T^A^T^U^S_^A^B^N^O^R^M^A^L(^T^D^C_^P^R^O^D_^C^O^D^E,
                      ^C^L^C$^R^E^Q^U^I^R^E^D_^P^A^R^A^M^E^T^E^R_^M^I^S^S^I^N^G,
                      ^V^E^R^B_^T^A^B^L^E[^P^A^R^M_^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^V^E^R^B + ^B^E^H^A^V^I^O^R_^N^D 
                      ^S^T^A^T^U^S);
                   ^O^S^P$^A^P^P^E^N^D_^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R( 
                      ' ', ^O^S^C$^S^T^A^T^U^S_^P^A^R^A^M^E^T^E^R_^D^E^L^I^M^I^T^E^R, ^S^T^A^T^U^S);
                   ^E^R^R^O^R_^S^T^A^T^U^S(^S^T^A^T^U^S)
                 IFEND
              IFEND 
  
           FOREND 
        IFEND 
     PROCEND ^G^L^O^B^A^L_^E^D^I^T^S; 
     ?? OLDTITLE ?? 
  
     ?? NEWTITLE @D= '^C^L^O^S^E_^I^N^P^U^T_^F^I^L^E' ??
     ?? EJECT ??
  
     PROCEDURE ^C^L^O^S^E_^I^N^P^U^T_^F^I^L^E;
        ^C^L^O^S^E_^F^I^L^E(^I^N^P^U^T_^F^I^L^E_^S^E^L);
     PROCEND ^C^L^O^S^E_^I^N^P^U^T_^F^I^L^E;
     ?? OLDTITLE ?? 
     ?? EJECT ??
  
     ^I^N^I^T^I^A^L^I^Z^E_^P^A^R^S^I^N^G_^T^A^B^L^E^S;
     ^O^P^E^N_^I^N^P^U^T_^F^I^L^E;
     ^A^N^A^L^Y^Z^E_^L^I^N^E^S; 
     ^G^L^O^B^A^L_^E^D^I^T^S; 
     ^C^L^O^S^E_^I^N^P^U^T_^F^I^L^E;
  
  PROCEND ^R^E^A^D_^T^D^L_^S^T^A^T^E^M^E^N^T^S; 
  ?? OLDTITLE ??
  
MODEND ^T^D^U^I^N;
