Table of Contents

TDUEX

Table Of Contents

Source Code

TDUEX.txt
ASCII
*NOSEQ
*WIDTH 95
MODULE ^T^D^U^E^X;

?? SET ( CHKALL @D= ON ), RIGHT @D= 110 ??

^0  P^R^O^G^R^A^M@D  TDUEX  ^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  C^O^M^P^I^L^E ^T^E^R^M^I^N^A^L ^D^E^F^I^N^I^T^I^O^N^S ^F^O^R ^T^H^E ^U^S^E ^O^F ^T^H^E ^T^E^R^M^I^N^A^L- ^2
^0            ^I^N^D^E^P^E^N^D^E^N^T ^H^A^N^D^L^E^R VIRTERM.  T^H^I^S ^H^A^N^D^L^E^R ^I^S ^U^S^E^D ^B^Y FSE, ^2
^0            SCREEN, ^A^N^D ^P^O^S^S^I^B^L^Y ^O^T^H^E^R ^P^R^O^G^R^A^M^S.  ^2
^0            TDU ^T^A^K^E^S ^I^T^S ^I^N^P^U^T ("^S^O^U^R^C^E") ^I^N ^T^H^E ^F^O^R^M ^O^F SCL-^L^I^K^E ^S^T^A^T^E^M^E^N^T^S^2
^0            ^W^H^I^C^H ^D^E^F^I^N^E ^T^H^E ^C^H^A^R^A^C^T^E^R^I^S^T^I^C^S ^O^F ^T^H^E ^P^A^R^T^I^C^U^L^A^R ^T^E^R^M^I^N^A^L.  ^2
^0            A^S ^O^U^T^P^U^T ("^O^B^J^E^C^T") ^I^T ^P^R^O^D^U^C^E^S ^A V^I^R^T^U^A^L T^E^R^M^I^N^A^L T^A^B^L^E (VTT) ^2
^0            ^W^H^I^C^H ^I^S ^I^N ^T^H^E ^F^O^R^M ^O^F COMPASS ^S^O^U^R^C^E ^C^O^D^E.  T^H^I^S ^S^O^U^R^C^E ^I^S ^2
^0            ^I^N ^T^U^R^N ^F^E^D ^T^H^R^O^U^G^H COMPASS ^W^H^I^C^H ^P^R^O^D^U^C^E^S ^A ^R^E^L^O^C^A^T^A^B^L^E ^V^E^R^S^I^O^N,^2
^0            ^W^H^I^C^H ^I^S ^T^H^E^N ^L^I^N^K^E^D ^T^O ^P^R^O^D^U^C^E ^T^H^E ^A^B^S^O^L^U^T^E ^V^E^R^S^I^O^N ^T^H^A^T ^C^A^N ^B^E ^2
^0            ^D^I^R^E^C^T^L^Y ^L^O^A^D^E^D ^B^Y VIRTERM.  ^2
^0  M^O^D^U^L^E^S@D  T^H^E TDU ^P^R^O^G^R^A^M ^I^S ^C^O^M^P^O^S^E^D ^O^F ^F^O^U^R ^S^E^P^A^R^A^T^E^L^Y ^C^O^M^P^I^L^E^D ^M^O^D^U^L^E^S@D

^0            ^O  TDUEX (^T^H^I^S ^M^O^D^U^L^E) ^I^S ^T^H^E ^M^A^I^N ^P^R^O^G^R^A^M.  I^T ^C^A^L^L^S ^P^R^O^C^E^D^U^R^E^S ^2
^0               ^F^R^O^M ^T^H^E ^O^T^H^E^R ^M^O^D^U^L^E^S.  T^H^I^S ^M^O^D^U^L^E ^A^L^S^O ^S^U^P^P^L^I^E^S ^F^I^L^E- ^A^N^D ^2
^0               ^E^R^R^O^R-^H^A^N^D^L^I^N^G ^P^R^O^C^E^D^U^R^E^S ^U^S^E^D ^B^Y ^A^L^L ^T^H^E ^O^T^H^E^R ^M^O^D^U^L^E^S. ^2
^0            ^O  TDUIN ^P^E^R^F^O^R^M^S ^T^H^E ^I^N^P^U^T ^H^A^N^D^L^I^N^G ^F^U^N^C^T^I^O^N^S.  I^T ^R^E^A^D^S ^T^H^E ^2
^0               TDL ^S^O^U^R^C^E ^F^I^L^E, ^T^R^A^N^S^L^A^T^E^S ^I^T ^I^N^T^O ^I^N^T^E^R^M^E^D^I^A^T^E ^F^O^R^M, ^A^N^D ^2
^0               ^W^R^I^T^E^S ^T^H^A^T ^I^N^T^E^R^M^E^D^I^A^T^E ^O^U^T^P^U^T ^T^O ^I^N^T^E^R^N^A^L ^T^A^B^L^E^S ^M^A^N^A^G^E^D ^2
^0               ^B^Y TDUTAB. ^2
^0            ^O  TDUTAB ^M^A^N^A^G^E^S ^T^H^E ^I^N^T^E^R^M^E^D^I^A^T^E ^D^A^T^A ^P^R^O^D^U^C^E^D ^B^Y TDUIN ^A^N^D ^2
^0               ^C^O^N^S^U^M^E^D ^B^Y TDUOUT.  I^T ^H^I^D^E^S, ^A^S ^M^U^C^H ^A^S ^P^O^S^S^I^B^L^E, ^A^L^L ^T^H^E ^2
^0               ^D^E^T^A^I^L^S ^O^F ^T^H^E ^T^A^B^L^E^S ^W^H^I^C^H ^C^O^N^T^A^I^N ^T^H^I^S ^D^A^T^A.  T^H^I^S ^S^E^R^V^E^S ^2
^0               ^T^O ^I^S^O^L^A^T^E TDUIN ^A^N^D TDUOUT ^F^R^O^M ^C^H^A^N^G^E^S ^M^A^D^E ^I^N ^E^A^C^H ^O^T^H^E^R. ^2
^0            ^O  TDUOUT ^P^R^O^D^U^C^E^S ^T^H^E ^O^U^T^P^U^T ^T^A^B^L^E ^F^R^O^M ^T^H^E ^I^N^T^E^R^M^E^D^I^A^T^E ^D^A^T^A. ^2
^0               I^T ^H^I^D^E^S ^A^L^L ^D^E^T^A^I^L^S ^O^F ^T^A^R^G^E^T ^M^A^C^H^I^N^E ^W^O^R^D ^A^N^D ^B^Y^T^E ^S^I^Z^E^S, ^2
^0               ^A^L^I^G^N^M^E^N^T, ^A^N^D ^O^B^J^E^C^T ^C^O^D^E ^F^O^R^M^A^T (^E.^G., ^T^H^E CYBER 170 ^2
^0               ^V^E^R^S^I^O^N ^P^R^O^D^U^C^E^S COMPASS ^S^O^U^R^C^E ^C^O^D^E). ^2

^0 ?? PUSH ( LIST @D= OFF ) ??          ^0 ^U^N-^C^O^M^M^E^N^T ^T^H^I^S ^L^I^S^T ^F^O^R ^N^O ^C^O^M^M ^L^I^S^T ^2
  ?? PUSH ( LIST @D= ON ) ??           ^0 ^U^N-^C^O^M^M^E^N^T ^T^H^I^S ^L^I^N^E ^F^O^R ^C^O^M^M^D^E^C^K ^L^I^S^T^2

?? NEWTITLE @D= 'F^I^L^E I/O' ??

^0 ***************************************** ^2
^0 ^C^O^M^M^O^N ^D^E^C^K ^P^X^I^O^T^Y^P, ^F^O^R ^F^I^L^E ^I/^O ^F^O^L^L^O^W^S ^2
*CALL PXIOTYP

^0 ********************************************* ^2
^0 ^C^O^M^M^O^N ^D^E^C^K ^L^G^Z, ^F^O^R ^L^E^G^I^B^L^E ^F^I^L^E ^I/^O ^F^O^L^L^O^W^S ^2
*CALLALL LGZ

^0 ************************************ ^2
^0 ^C^O^M^M^O^N ^D^E^C^K ^F^Z, ^F^O^R ^F^I^L^E ^I/^O ^F^O^L^L^O^W^S ^2
*CALLALL FZ

?? OLDTITLE ??
?? POP ??
?? NEWTITLE @D= 'E^R^R^O^R ^H^A^N^D^L^I^N^G, ^I^N^I^T^I^A^L^I^Z^A^T^I^O^N, ^A^N^D ^M^E^S^S^A^G^E^S' ??
?? EJECT ??

^0 ************************************************************** ^2
^0 ^C^O^N^S^T^A^N^T^S ^A^N^D ^T^Y^P^E^S ^F^O^R ^P^R^O^C^E^D^U^R^E^S ^W^H^I^C^H ^A^R^E XDCL'^E^D ^I^N TDUEX@D ^2
*CALL ZTDCERR
*CALL ZTDTFIL

^0 ************************ ^2
^0 ^P^A^R^S^E^R ^E^R^R^O^R ^C^O^N^D^I^T^I^O^N^S@D ^2
*CALL ZTDAMT0
*CALL ZTDCCON
*CALL ZTDCCLC

^0 **************************** ^2
^0 ^I^N^I^T^I^A^L^I^Z^A^T^I^O^N & ^T^E^R^M^I^N^A^T^I^O^N ^2
*CALL ZUTPCSA
*CALL ZOSPINI
*CALL ZOSPEND

^0 ************************* ^2
^0 ^S^T^A^T^U^S ^M^E^S^S^A^G^E ^F^O^R^M^A^T^T^I^N^G ^2
*CALL ZOSPFMG

?? OLDTITLE ??

  PROCEDURE [XREF] ^R^E^A^D_^T^D^L_^S^T^A^T^E^M^E^N^T^S;

  PROCEDURE [XREF] ^I^N^I^T^I^A^L^I^Z^E_^T^A^B^L^E^S;

  PROCEDURE [XREF] ^W^R^I^T^E_^T^A^B^L^E^S;

  PROCEDURE [XREF] ^O^P^T^I^M^I^Z^E_^T^A^B^L^E^S;

  ?? EJECT ??
^0 ?? POP ??

  VAR
     ^T^D^U_^V^E^R^S^I^O^N_^N^U^M@D [XDCL] INTEGER @D= 1; ^0 ^V^E^R^S^I^O^N 1 ^2

  VAR
     ^E^R^R^O^R_^F^L^A^G@D BOOLEAN @D= FALSE,    ^0 ^A^N ^E^R^R^O^R ^H^A^S ^O^C^C^U^R^R^E^D ^2

     ^I^N^P^U^T_^F^I^L^E,
     ^O^U^T^P^U^T_^F^I^L^E,
     ^E^R^R^O^R_^F^I^L^E@D ^F^I^L^E,
     ^I^N^P^U^T_^F^I^L^E_^N^A^M^E,                 ^0 ^F^R^O^M ^C^O^N^T^R^O^L ^S^T^A^T^E^M^E^N^T ^2
     ^O^U^T^P^U^T_^F^I^L^E_^N^A^M^E,
     ^E^R^R^O^R_^F^I^L^E_^N^A^M^E@D ^O^S^T$^N^A^M^E_^D^E^S^C^R^I^P^T^O^R,

     ^S^T^A^T^U^S@D ^O^S^T$^S^T^A^T^U^S,

     ^C^O^M^M^A^N^D_^N^A^M^E@D ^O^S^T$^N^A^M^E_^D^E^S^C^R^I^P^T^O^R,
     ^C^O^N^T^R^O^L_^S^T^A^T^E^M^E^N^T_^A^R^G^U^M^E^N^T^S@D ARRAY [ 1 .. 3 ] OF STRING(7)
        @D= [ 'TDUIN', 'TDUOUT', 'OUTPUT' ];

  ?? NEWTITLE @D= '^O^P^E^N_^F^I^L^E' ??
  ?? EJECT ??

  PROCEDURE [XDCL] ^O^P^E^N_^F^I^L^E (^F^I^L^E_^I^D@D ^F^I^L^E_^S^E^L^E^C^T^O^R;
        ^I^N^P^U^T_^O^U^T^P^U^T@D ^I^N^P^U^T_^O^U^T^P^U^T_^S^E^L^E^C^T^O^R;
        ^C^O^D^E_^S^E^T@D ^C^O^D^E_^S^E^T_^S^E^L^E^C^T^O^R);
     VAR
        ^F@D ^F^I^L^E,
        ^F_^N^A^M^E@D ^O^S^T$^N^A^M^E_^D^E^S^C^R^I^P^T^O^R;

     CASE ^F^I^L^E_^I^D OF
        = ^I^N^P^U^T_^F^I^L^E_^S^E^L =
           ^F @D= ^I^N^P^U^T_^F^I^L^E;
           ^F_^N^A^M^E @D= ^I^N^P^U^T_^F^I^L^E_^N^A^M^E;
        = ^O^U^T^P^U^T_^F^I^L^E_^S^E^L =
           ^F @D= ^O^U^T^P^U^T_^F^I^L^E;
           ^F_^N^A^M^E @D= ^O^U^T^P^U^T_^F^I^L^E_^N^A^M^E;
        = ^E^R^R^O^R_^F^I^L^E_^S^E^L =
           ^F @D= ^E^R^R^O^R_^F^I^L^E;
           ^F_^N^A^M^E @D= ^E^R^R^O^R_^F^I^L^E_^N^A^M^E;
     CASEND;
     CASE ^I^N^P^U^T_^O^U^T^P^U^T OF
        = ^I^N^P^U^T_^S^E^L =
           ^L^G#^O^P^E^N(^F, ^F_^N^A^M^E.^S^T^R(1,^F_^N^A^M^E.^L^E^N^G^T^H), ^O^L^D#, ^I^N^P^U^T#, ^F^I^R^S^T#);
        = ^O^U^T^P^U^T_^S^E^L =
           ^L^G#^O^P^E^N(^F, ^F_^N^A^M^E.^S^T^R(1,^F_^N^A^M^E.^L^E^N^G^T^H), ^N^E^W#, ^O^U^T^P^U^T#, ^F^I^R^S^T#);
     CASEND;
     CASE ^C^O^D^E_^S^E^T OF
        = ^A^S^C^I^I_^S^E^L =
           ;
        = ^A^S^C^I^I64_^S^E^L =
           ^L^G#^C^O^D^E^S^E^T(^F, ^A^S^C^I^I64#);   ^0 ^U^S^E 6-^B^I^T ^D^I^S^P^L^A^Y ^C^O^D^E ^2
     CASEND;
     CASE ^F^I^L^E_^I^D OF
        = ^I^N^P^U^T_^F^I^L^E_^S^E^L =
           ^I^N^P^U^T_^F^I^L^E @D= ^F;
        = ^O^U^T^P^U^T_^F^I^L^E_^S^E^L =
           ^O^U^T^P^U^T_^F^I^L^E @D= ^F;
        = ^E^R^R^O^R_^F^I^L^E_^S^E^L =
           ^E^R^R^O^R_^F^I^L^E @D= ^F;
     CASEND;
  PROCEND ^O^P^E^N_^F^I^L^E;
  ?? OLDTITLE ??

  ?? NEWTITLE @D= '^C^L^O^S^E_^F^I^L^E' ??
  ?? SKIP @D= 4 ??

  PROCEDURE [XDCL] ^C^L^O^S^E_^F^I^L^E (^F^I^L^E_^I^D@D ^F^I^L^E_^S^E^L^E^C^T^O^R);
     CASE ^F^I^L^E_^I^D OF
        = ^I^N^P^U^T_^F^I^L^E_^S^E^L =
           ^L^G#^C^L^O^S^E(^I^N^P^U^T_^F^I^L^E, ^F^I^R^S^T#);
        = ^O^U^T^P^U^T_^F^I^L^E_^S^E^L =
           ^L^G#^C^L^O^S^E(^O^U^T^P^U^T_^F^I^L^E, ^F^I^R^S^T#);
        = ^E^R^R^O^R_^F^I^L^E_^S^E^L =
           ^L^G#^C^L^O^S^E(^E^R^R^O^R_^F^I^L^E, ^F^I^R^S^T#);
     CASEND;
  PROCEND ^C^L^O^S^E_^F^I^L^E;
  ?? OLDTITLE ??

  ?? NEWTITLE @D= '^G^E^T_^F^I^L^E' ??
  ?? EJECT ??

  PROCEDURE [XDCL] ^G^E^T_^F^I^L^E (^F^I^L^E_^I^D@D ^F^I^L^E_^S^E^L^E^C^T^O^R;
        VAR ^T^E^X^T@D STRING(*);
        VAR ^T^E^X^T_^L^E^N@D INTEGER;
        VAR ^E^O^F_^F^L^A^G@D BOOLEAN);
     VAR
        ^S^T^R^U^C^T^U^R^E_^M^A^R^K@D ^F^I^L^E_^M^A^R^K;

     ^T^E^X^T @D= '';
     CASE ^F^I^L^E_^I^D OF
        = ^I^N^P^U^T_^F^I^L^E_^S^E^L =
           ^L^G#^G^E^T(^I^N^P^U^T_^F^I^L^E, ^T^E^X^T_^L^E^N, ^T^E^X^T);
           ^F#^M^A^R^K(^I^N^P^U^T_^F^I^L^E, ^S^T^R^U^C^T^U^R^E_^M^A^R^K);
        = ^O^U^T^P^U^T_^F^I^L^E_^S^E^L =
           ^L^G#^G^E^T(^O^U^T^P^U^T_^F^I^L^E, ^T^E^X^T_^L^E^N, ^T^E^X^T);
           ^F#^M^A^R^K(^O^U^T^P^U^T_^F^I^L^E, ^S^T^R^U^C^T^U^R^E_^M^A^R^K);
        = ^E^R^R^O^R_^F^I^L^E_^S^E^L =
           ^L^G#^G^E^T(^E^R^R^O^R_^F^I^L^E, ^T^E^X^T_^L^E^N, ^T^E^X^T);
           ^F#^M^A^R^K(^E^R^R^O^R_^F^I^L^E, ^S^T^R^U^C^T^U^R^E_^M^A^R^K);
     CASEND;
     IF ( ^S^T^R^U^C^T^U^R^E_^M^A^R^K = ^E^O^F# ) OR
        ( ^S^T^R^U^C^T^U^R^E_^M^A^R^K = ^E^O^I# ) THEN
        ^E^O^F_^F^L^A^G @D= TRUE
     ELSE
        ^E^O^F_^F^L^A^G @D= FALSE
     IFEND
  PROCEND ^G^E^T_^F^I^L^E;
  ?? OLDTITLE ??

  ?? NEWTITLE @D= '^P^U^T_^F^I^L^E' ??
  ?? SKIP @D= 4 ??

  PROCEDURE [XDCL] ^P^U^T_^F^I^L^E (^F^I^L^E_^I^D@D ^F^I^L^E_^S^E^L^E^C^T^O^R;
        ^T^E^X^T@D STRING(*));
     CASE ^F^I^L^E_^I^D OF
        = ^I^N^P^U^T_^F^I^L^E_^S^E^L =
           ^L^G#^P^U^T(^I^N^P^U^T_^F^I^L^E, ^T^E^X^T);
        = ^O^U^T^P^U^T_^F^I^L^E_^S^E^L =
           ^L^G#^P^U^T(^O^U^T^P^U^T_^F^I^L^E, ^T^E^X^T);
        = ^E^R^R^O^R_^F^I^L^E_^S^E^L =
           ^L^G#^P^U^T(^E^R^R^O^R_^F^I^L^E, ^T^E^X^T);
     CASEND
  PROCEND ^P^U^T_^F^I^L^E;
  ?? OLDTITLE ??

  ?? NEWTITLE @D= '^R^E^P^O^R^T_^E^R^R^O^R' ??
  ?? EJECT ??

  PROCEDURE [XDCL] ^R^E^P^O^R^T_^E^R^R^O^R (^T^E^X^T@D STRING(*));
     VAR
        ^S^T^R_^N^D^X,
        ^S^T^R_^L^E^N^G^T^H@D INTEGER;

     IF NOT ^E^R^R^O^R_^F^L^A^G THEN
        ^O^P^E^N_^F^I^L^E(^E^R^R^O^R_^F^I^L^E_^S^E^L, ^O^U^T^P^U^T_^S^E^L, ^A^S^C^I^I_^S^E^L);
        ^E^R^R^O^R_^F^L^A^G @D= TRUE
     IFEND;
     ^S^T^R_^N^D^X @D= 1;
     WHILE ^S^T^R_^N^D^X <= STRLENGTH(^T^E^X^T) DO
        ^S^T^R_^L^E^N^G^T^H @D= ( STRLENGTH(^T^E^X^T) - ^S^T^R_^N^D^X ) + 1;
        IF ^S^T^R_^L^E^N^G^T^H > 80 THEN
           ^S^T^R_^L^E^N^G^T^H @D= 80
        IFEND;
        ^P^U^T_^F^I^L^E(^E^R^R^O^R_^F^I^L^E_^S^E^L, ^T^E^X^T(^S^T^R_^N^D^X, ^S^T^R_^L^E^N^G^T^H));
        ^S^T^R_^N^D^X @D= ^S^T^R_^N^D^X + ^S^T^R_^L^E^N^G^T^H
     WHILEND
  PROCEND ^R^E^P^O^R^T_^E^R^R^O^R;
  ?? OLDTITLE ??

  ?? NEWTITLE @D= '^E^R^R^O^R_^S^T^A^T^U^S' ??
  ?? EJECT ??

  PROCEDURE [XDCL] ^E^R^R^O^R_^S^T^A^T^U^S (^S^T^A^T^U^S@D ^O^S^T$^S^T^A^T^U^S);
     VAR
        ^R^E^E^N^T^R^Y,
        ^M^E^S^S^A^G^E_^C^O^M^P^L^E^T^E@D BOOLEAN,
        ^L^E^N^G^T^H@D 0 .. ^O^S^C$^M^A^X_^S^T^R^I^N^G_^L^E^N^G^T^H,
        ^M^S^G@D STRING(79);

     ^R^E^P^O^R^T_^E^R^R^O^R(' ');
     ^R^E^E^N^T^R^Y @D= FALSE;
     REPEAT
        ^O^S^P$^F^O^R^M^A^T_^M^E^S^S^A^G^E(^R^E^E^N^T^R^Y, ^M^E^S^S^A^G^E_^C^O^M^P^L^E^T^E, ^L^E^N^G^T^H,
           ^M^S^G, ^S^T^A^T^U^S);
        ^R^E^P^O^R^T_^E^R^R^O^R(^M^S^G(1,^L^E^N^G^T^H));
        ^R^E^E^N^T^R^Y @D= TRUE;
     UNTIL ^M^E^S^S^A^G^E_^C^O^M^P^L^E^T^E;
  PROCEND ^E^R^R^O^R_^S^T^A^T^U^S;
  ?? OLDTITLE ??

  ?? NEWTITLE @D= '^I^N^T^E^R^P^R^E^T_^C^O^N^T^R^O^L_^S^T^A^T^E^M^E^N^T' ??
  ?? EJECT ??

  PROCEDURE ^I^N^T^E^R^P^R^E^T_^C^O^N^T^R^O^L_^S^T^A^T^E^M^E^N^T;
     VAR
        ^C^O^M^M^A^N^D_^L^I^N^E_^P^O^I^N^T^E^R@D @BSTRING(*),
        ^C^O^M^M^A^N^D_^L^I^N^E_^I^N^D^E^X@D ^C^L^T$^S^T^R^I^N^G_^I^N^D^E^X;

     ^O^S^P$^I^N^I^T^I^A^T^E(^C^O^M^M^A^N^D_^N^A^M^E, ^C^O^M^M^A^N^D_^L^I^N^E_^P^O^I^N^T^E^R,
        ^C^O^M^M^A^N^D_^L^I^N^E_^I^N^D^E^X, ^S^T^A^T^U^S);
     ^U^T^P$^G^E^T_^C^O^N^T^R^O^L_^S^T^A^T^E^M^E^N^T_^A^R^G^S(^C^O^N^T^R^O^L_^S^T^A^T^E^M^E^N^T_^A^R^G^U^M^E^N^T^S);
     ^I^N^P^U^T_^F^I^L^E_^N^A^M^E.^T^Y^P @D= ^C^L^C$^N^O^S170_^N^A^M^E;
     ^I^N^P^U^T_^F^I^L^E_^N^A^M^E.^L^E^N^G^T^H @D= 7;
     ^I^N^P^U^T_^F^I^L^E_^N^A^M^E.^S^T^R @D= ^C^O^N^T^R^O^L_^S^T^A^T^E^M^E^N^T_^A^R^G^U^M^E^N^T^S[1];
     ^O^U^T^P^U^T_^F^I^L^E_^N^A^M^E.^T^Y^P @D= ^C^L^C$^N^O^S170_^N^A^M^E;
     ^O^U^T^P^U^T_^F^I^L^E_^N^A^M^E.^L^E^N^G^T^H @D= 7;
     ^O^U^T^P^U^T_^F^I^L^E_^N^A^M^E.^S^T^R @D= ^C^O^N^T^R^O^L_^S^T^A^T^E^M^E^N^T_^A^R^G^U^M^E^N^T^S[2];
     ^E^R^R^O^R_^F^I^L^E_^N^A^M^E.^T^Y^P @D= ^C^L^C$^N^O^S170_^N^A^M^E;
     ^E^R^R^O^R_^F^I^L^E_^N^A^M^E.^L^E^N^G^T^H @D= 7;
     ^E^R^R^O^R_^F^I^L^E_^N^A^M^E.^S^T^R @D= ^C^O^N^T^R^O^L_^S^T^A^T^E^M^E^N^T_^A^R^G^U^M^E^N^T^S[3]
  PROCEND ^I^N^T^E^R^P^R^E^T_^C^O^N^T^R^O^L_^S^T^A^T^E^M^E^N^T;
  ?? OLDTITLE ??
  ?? EJECT ??

  PROGRAM ^T^D^U^E^X;
     ^I^N^T^E^R^P^R^E^T_^C^O^N^T^R^O^L_^S^T^A^T^E^M^E^N^T;
     ^I^N^I^T^I^A^L^I^Z^E_^T^A^B^L^E^S;
     IF NOT ^E^R^R^O^R_^F^L^A^G THEN
        ^R^E^A^D_^T^D^L_^S^T^A^T^E^M^E^N^T^S;
        IF NOT ^E^R^R^O^R_^F^L^A^G THEN
           ^O^P^T^I^M^I^Z^E_^T^A^B^L^E^S;
           IF NOT ^E^R^R^O^R_^F^L^A^G THEN
              ^W^R^I^T^E_^T^A^B^L^E^S
           IFEND
        IFEND
     IFEND;
     IF ^E^R^R^O^R_^F^L^A^G THEN
        ^C^L^O^S^E_^F^I^L^E(^E^R^R^O^R_^F^I^L^E_^S^E^L);
        ^0 ^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^R^R^O^R_^T^E^R^M^I^N^A^T^I^O^N,
        ^0    '', ^S^T^A^T^U^S)
     IFEND;
     ^O^S^P$^T^E^R^M^I^N^A^T^E(^C^O^M^M^A^N^D_^N^A^M^E, ^S^T^A^T^U^S)
  PROCEND ^T^D^U^E^X;

MODEND ^T^D^U^E^X;