ZTDTTAB 
ASCII 
COMMON
*NOSEQ
*WIDTH 95 
  
^0 ZTDTTAB  ^C^O^N^T^A^I^N^S ^T^Y^P^E ^D^E^C^L^A^R^A^T^I^O^N^S ^U^S^E^D ^B^Y ^T^H^E TDU ^T^A^B^L^E ^H^A^N^D^L^E^R ^E^T. 
  
  CONST 
     ^C^O^M^M^U^N^I^C^A^T^I^O^N^S_^T^Y^P^E_^M^A^X = 3,     ^0 ^A^C^T^U^A^L ^O^R^D^I^N^A^L ^V^A^L^U^E^S ^2 
     ^I^N^V^A^L^I^D_^C^U^R^S^O^R = 0,              ^0 '^O^R^D^I^N^A^L' ^V^A^L^U^E ^2
     ^A^S^Y^N^C^H_^C^O^M^M = 1,                 ^0 '^O^R^D^I^N^A^L' ^V^A^L^U^E ^2 
     ^B^I^N^A^R^Y_^C^U^R^S^O^R = 1,               ^0 '^O^R^D^I^N^A^L' ^V^A^L^U^E ^2 
     ^C^U^R^S^O^R_^E^N^C^O^D^I^N^G_^M^A^X = 6,         ^0 '^I^N^V^A^L^I^D' ^I^S ^A^L^W^A^Y^S #0 ^2
     ^P^A^R^M_^F^L^A^G_^M^A^X = 56,              ^0 ^U^P^P^E^R ^B^O^U^N^D ^O^F ^P^A^R^M ^F^L^A^G ^A^R^R^A^Y ^2
     ^S^C^R^E^E^N_^S^I^Z^E_^M^A^X = 3,             ^0 ^U^P ^T^O 4 ^S^C^R^E^E^N ^S^I^Z^E^S ^2
     ^S^I^Z^E_^R^O^W_^M^A^X = 64,               ^0 ^N^U^M^B^E^R ^O^F ^R^O^W^S ^O^N ^A ^S^C^R^E^E^N ^2 
     ^S^I^Z^E_^C^O^L_^M^A^X = 255,              ^0 ^N^U^M^B^E^R ^O^F ^C^O^L^U^M^N^S ^O^N ^A ^S^C^R^E^E^N ^2 
     ^B^I^N^A^R^Y_^C^O^L_^M^A^X = 128,            ^0 ^B^I^N^A^R^Y_^C^U^R^S^O^R ^M^A^X^I^M^U^M ^S^C^R^E^E^N ^C^O^L 
     ^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^M^A^X_^O^R^D = 6,     ^0 ^C^U^R^S^O^R ^B^E^H^A^V^I^O^R ^M^A^X^I^M^U^M ^O^R^D^I^N^A^L
     ^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^M^A^X = 14,        ^0 ^U^P^P^E^R ^B^O^U^N^D ^F^O^R ^W^R^A^P/^S^C^R^O^L^L ^E^T^C.
     ^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^D^I^V = 6,         ^0 ^U^P^P^E^R ^B^O^U^N^D ^F^O^R ^W^R^A^P/^S^C^R^O^L^L ^E^T^C.
     ^N^O_^O^R^D^I^N^A^L = 0,                  ^0 ^E^N^U^M^E^R^A^T^E^D-^S^T^Y^L^E ^O^R^D^I^N^A^L ^V^A^L^U^E ^2
     ^O^V^E^R^S^T^R^I^K^E_^O^R^D^I^N^A^L = 37;         ^0 VIRTERM-^C^O^M^P^A^T^I^B^L^E ^2 
  
  TYPE
     ^O^R^D^I^N^A^L_^T^Y^P^E = 0 .. 255,         ^0 ^I^N^P^U^T ^A^N^D ^O^U^T^P^U^T VIRTERM ^O^R^D^I^N^A^L 
  
     ^C^O^M^M^U^N^I^C^A^T^I^O^N^S_^T^Y^P^E = 0 .. ^C^O^M^M^U^N^I^C^A^T^I^O^N^S_^T^Y^P^E_^M^A^X, 
        ^0 ^I^N^V^A^L^I^D, ^A^S^Y^N^C^H, ^S^Y^N^C^H, ^S^N^A ^2
  
     ^C^U^R^S^O^R_^E^N^C^O^D^I^N^G_^T^Y^P^E = 0 .. ^C^U^R^S^O^R_^E^N^C^O^D^I^N^G_^M^A^X,
        ^0 ^T^H^E^S^E ^O^R^D^I^N^A^L^S ^I^N^D^I^C^A^T^E ^W^H^A^T ^M^E^T^H^O^D ^O^F ^C^U^R^S^O^R ^P^O^S^I^T^I^O^N^I^N^G ^I^S ^U
        ^0 ^I^N^V^A^L^I^D_^C^U^R^S^O^R, ^B^I^N^A^R^Y, ^C^D^C721, ^A^N^S^I, ^I^B^M3270, ^I^B^M3151, ^U^S^E^R ^2
  
     ^P^A^R^A^M^E^T^E^R_^R^E^C^O^R^D = RECORD        ^0 ^C^O^N^T^A^I^N^S ^N^O^N-^I^N^P^U^T/^O^U^T^P^U^T ^P^A^R^A^M^E
        ^M^O^D^E^L_^N^A^M^E@D STRING (7),       ^0 ^T^E^R^M^I^N^A^L-^T^Y^P^E ^C^O^D^E ^A^S ^K^N^O^W^N ^B^Y ^U 
        ^M^O^D^E^L_^N^A^M^E_^L^E^N@D 0 .. 7,       ^0 ^L^E^N^G^T^H ^O^F ^M^O^D^E^L ^N^A^M^E ^S^T^R^I^N^G ^U^S^E^D 
        ^C^O^M^M^U^N^I^C^A^T^I^O^N^S@D ^C^O^M^M^U^N^I^C^A^T^I^O^N^S_^T^Y^P^E,   ^0 ^A^S^Y^N^C^H, ^S^Y^N^C^H, SNA, ^E^T^C
        ^C^U^R^S^O^R_^E^N^C^O^D^I^N^G@D ^C^U^R^S^O^R_^E^N^C^O^D^I^N^G_^T^Y^P^E, ^0 ^C^U^R^S^O^R-^P^O^S^I^T^I^O^N^I^N^G ^I^N^F^O 
        ^C^U^R^S^O^R_^B^I^A^S: -127 .. 127,     ^0 ^C^U^R^S^O^R ^A^D^D^R^E^S^S^I^N^G ^O^F^F^S^E^T 
        ^F^L^A^G@D ARRAY [ 0 .. ^P^A^R^M_^F^L^A^G_^M^A^X ] OF BOOLEAN, ^0 ^V^A^R^I^O^U^S ^F^L^A^G^S 
        ^S^I^Z^E@D ARRAY [ 0 .. ^S^C^R^E^E^N_^S^I^Z^E_^M^A^X ] OF RECORD ^0 ^S^C^R^E^E^N ^S^I^Z^E^S ^2
           ^C^O^L^S@D 0 .. ^S^I^Z^E_^C^O^L_^M^A^X,
           ^R^O^W^S@D 0 .. ^S^I^Z^E_^R^O^W_^M^A^X,
        RECEND, 
        ^C^U^R^S^O^R_^B^E^H^A^V^I^O^R@D ARRAY [ 0 .. ^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^M^A^X ] 
                           OF -1 .. ^C^U^R^S^O^R_^B^E^H^A^V^I^O^R_^M^A^X_^O^R^D , 
        ^C^U^R^S^O^R_^P^O^S_^C^O^L^U^M^N_^F^L^A^G@D BOOLEAN, ^0 TRUE ^I^F ^C^O^L^U^M^N ^P^O^S ^G^O^E^S ^F^I^R^S^T 
        ^C^U^R^S^O^R_^P^O^S_^L^E^N^G^T^H@D ARRAY [ 0 .. 1 ] OF 0 .. 7, ^0 # ^D^I^G^I^T^S ^P^E^R ^X/ 
        ^F^U^N^C^T^I^O^N_^K^E^Y_^M^A^R^K@D 0 .. 7,    ^0 # ^C^H^A^R^S ^O^F ^B^L^O^T^C^H ^L^E^F^T ^B^Y ^F^U^N^C^T^I
     RECEND,
  
     ^S^T^R^I^N^G_^N^O^D^E = PACKED RECORD      ^0 ^A^N ^O^R^D^I^N^A^L-^D^E^S^I^G^N^A^T^E^D ^C^H^A^R ^S^E^Q^U^E 
        ^L^E^N^G^T^H@D 0 .. 32767,           ^0 ^L^E^N^G^T^H ^O^F ^C^H^A^R_^S^E^Q^U^E^N^C^E ^2
        ^C^H^A^R^S@D @BSTRING(*),            ^0 ^T^H^E ^S^E^Q^U^E^N^C^E ^I^T^S^E^L^F ^2 
     RECEND,
  
     ^D^U^M^P_^P^R^O^C^E^D^U^R^E_^T^Y^P^E =            ^0 ^D^U^M^P^S ^S^T^R^I^N^G ^N^O^D^E^S ^F^R^O^M ^T^A^B^L^E^S ^2 
        @BPROCEDURE ( ^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E; 
                     VAR ^L^E^N^G^T^H@D INTEGER;
                     VAR ^C^H^A^R^S@D @BSTRING(*);
                     VAR ^T^O^T^A^L_^O^R^D^I^N^A^L^S@D INTEGER; ^0 ^L^A^S^T ^O^R^D^I^N^A^L ^I^N ^T^A^B^L
                     VAR ^T^O^T^A^L_^C^H^A^R^A^C^T^E^R^S@D INTEGER; 
                     VAR ^N^O^D^E_^R^E^T^U^R^N^E^D@D BOOLEAN),
  
     ^O^P^C^O^D^E_^T^Y^P^E = (^F^A^I^L, ^L^I^S^T, ^R^A^N^G^E, ^S^I^N^G^L^E_^A^C^T^I^O^N_^R^A^N^G^E), ^0 ^I^N^P^U^T ^O^P^C 
  
     ^I^N^P^U^T_^A^C^T^I^O^N = PACKED RECORD     ^0 ^O^R^D^I^N^A^L/^P^O^I^N^T^E^R ^P^A^I^R ^2 
        ^O^R^D^I^N^A^L@D ^O^R^D^I^N^A^L_^T^Y^P^E,        ^0 0 = ^N^O ^O^R^D^I^N^A^L, ^L^O^O^K ^A^T ^N^E^X^T_^N^O^D
        ^N^E^X^T_^O^F^F^S^E^T@D 0 .. 4095,       ^0 ^O^U^T^P^U^T-^T^A^B^L^E-^S^T^Y^L^E ^P^O^I^N^T^E^R ^2
        ^N^E^X^T_^L^E^V^E^L@D ALIGNED @B^I^N^P^U^T_^N^O^D^E, ^0 ^P^O^I^N^T^S ^T^O ^A^N^O^T^H^E^R ^N^O^D^E ^2
     RECEND,
  
     ^L^I^S^T_^N^O^D^E = PACKED ARRAY [1 .. *] OF ^0 1 ^E^L^E^M^E^N^T ^F^O^R ^E^A^C^H ^C^H^A^R ^I^N ^L
        PACKED RECORD                 ^0 ^E^A^C^H ^N^O^D^E ^O^F ^A^N ^I^N^P^U^T-^P^A^R^S^E ^L^I^S^T 
           ^C^H^A^R^A^C^T^E^R@D CHAR,           ^0 ^C^H^A^R^A^C^T^E^R ^T^O ^M^A^T^C^H ^2
           ^A^C^T^I^O^N@D ^I^N^P^U^T_^A^C^T^I^O^N,      ^0 ^O^R^D^I^N^A^L/^P^O^I^N^T^E^R ^P^A^I^R ^2
        RECEND, 
  
     ^R^A^N^G^E_^N^O^D^E = PACKED ARRAY [ * ] OF ^0 1 ^A^C^T^I^O^N ^F^O^R ^E^A^C^H ^C^H^A^R ^I^N ^R^A^N^G 
        ^I^N^P^U^T_^A^C^T^I^O^N,                 ^0 ^O^R^D^I^N^A^L/^P^O^I^N^T^E^R ^P^A^I^R ^2 
  
     ^I^N^P^U^T_^N^O^D^E = BOUND RECORD        ^0 ^L^I^N^K^E^D ^L^I^S^T ^O^F ^I^N^P^U^T-^P^A^R^S^I^N^G ^R^U^L 
        ^N^E^X^T_^N^O^D^E@D @B^I^N^P^U^T_^N^O^D^E,       ^0 '^R^E^A^L' ^T^A^B^L^E ^W^I^L^L ^U^S^E ^C^O^N^S^E^C^U^T^I^V
        ^O^F^F^S^E^T@D 0 .. 4095,            ^0 ^T^A^R^G^E^T ^T^A^B^L^E ^O^F^F^S^E^T ^O^F ^T^H^I^S ^N^O^D^E 
        ^N^O^D^E_^V^I^S^I^T^E^D@D BOOLEAN,        ^0 ^N^O^D^E ^H^A^S ^B^E^E^N ^V^I^S^I^T^E^D ^I^N ^T^H^I^S ^P^A 
        CASE ^O^P^C^O^D^E@D ^O^P^C^O^D^E_^T^Y^P^E OF   ^0 ^F^A^I^L, ^L^I^S^T, ^R^A^N^G^E, ^S^I^N^G^L^E-^A^C^T^I^O^N 
           = ^F^A^I^L =                   ^0 ^F^A^I^L ^2
              ,                       ^0 ^N^O ^P^A^R^A^M^E^T^E^R^S ^2 
           = ^L^I^S^T =                   ^0 ^L^I^S^T ^2
              ^L^I^S^T_^C^H^A^R^A^C^T^E^R_^C^O^U^N^T@D 1 .. 1023,  ^0  ^C^O^U^N^T ^O^F ^C^H^A^R^S ^I^N ^L^I^S 
              ^L^I^S^T_^P^O^I^N^T^E^R@D @B ^L^I^S^T_^N^O^D^E, ^0 ^L^I^S^T ^O^F ^C^H^A^R/^A^C^T^I^O^N ^P^A^I^R^S ^2
           = ^R^A^N^G^E =                  ^0 ^R^A^N^G^E ^2 
              ^R^A^N^G^E_^L^O^W^E^R_^B^O^U^N^D@D CHAR,^0 ^F^I^R^S^T ^C^H^A^R^A^C^T^E^R ^O^F ^R^A^N^G^E ^2 
              ^R^A^N^G^E_^U^P^P^E^R_^B^O^U^N^D@D CHAR,^0 ^L^A^S^T ^C^H^A^R^A^C^T^E^R ^I^N ^R^A^N^G^E ^2 
              ^R^A^N^G^E_^P^O^I^N^T^E^R@D @B ^R^A^N^G^E_^N^O^D^E, ^0 ^L^I^S^T ^O^F ^A^C^T^I^O^N^S, 1/^C^H^A^R ^I^N
           = ^S^I^N^G^L^E_^A^C^T^I^O^N_^R^A^N^G^E =    ^0 ^S^I^N^G^L^E-^A^C^T^I^O^N ^R^A^N^G^E ^2 
              ^S^A^R_^L^O^W^E^R_^B^O^U^N^D@D CHAR,  ^0 ^F^I^R^S^T ^C^H^A^R ^O^F ^R^A^N^G^E ^2 
              ^S^A^R_^U^P^P^E^R_^B^O^U^N^D@D CHAR,  ^0 ^L^A^S^T ^C^H^A^R ^I^N ^R^A^N^G^E ^2 
              ^S^A^R_^A^C^T^I^O^N@D ^I^N^P^U^T_^A^C^T^I^O^N,^0 ^O^R^D^I^N^A^L/^P^O^I^N^T^E^R ^P^A^I^R ^2
        CASEND, 
     RECEND,
  
     ^A^P^P^S^T^R_^N^O^D^E = RECORD             ^0 ^L^I^N^K^E^D ^L^I^S^T ^O^F ^A^P^P^L^I^C^A^T^I^O^N ^S^T^R^I^N 
        ^N^E^X^T_^N^O^D^E@D @B^A^P^P^S^T^R_^N^O^D^E,      ^0 '^R^E^A^L' ^T^A^B^L^E ^W^I^L^L ^U^S^E ^C^O^N^S^E^C^U^T^I^V 
        ^N^A^M^E@D STRING(31),             ^0 ^N^O^N-^U^N^I^Q^U^E ^K^E^Y ^F^O^R ^T^H^I^S ^A^P^P^L^I^C^T^N 
        ^V^A^L^U^E@D ^S^T^R^I^N^G_^N^O^D^E,           ^0 ^L^E^N^G^T^H ^A^N^D ^C^O^N^T^E^N^T^S ^O^F ^T^H^E ^S^T^R^I^N
     RECEND;
