      SUBROUTINE START0
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER OPEN,EQUAL
      INTEGER BUF(102)
      INTEGER AAAAA0(13)
      INTEGER AAAAB0(4)
      INTEGER AAAAC0(19)
      DATA AAAAA0/189,243,244,225,244,233,243,244,233,227,243,189,0/
      DATA AAAAB0/249,229,243,0/
      DATA AAAAC0/189,243,244,225,244,243,228,233,242,189,175,243,232,18
     *9,240,233,228,189,0/
      CALL EXPAND(AAAAA0,BUF,102)
      IF((EQUAL(BUF,AAAAB0).NE.1))GOTO 10000
        CIREC0=OPEN(AAAAC0,3)
        IF((CIREC0.NE.-3))GOTO 10001
          CALL PRINT(1,'can''t open record file*n.')
          GOTO 10003
10001     CALL WIND(CIREC0)
10002   GOTO 10003
10000   CIREC0=-3
10003 RETURN
      END
      SUBROUTINE STOPL0
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      IF((CIREC0.EQ.-3))GOTO 10004
        CALL CLOSE(CIREC0)
10004 RETURN
      END
      SUBROUTINE LOGIN0(INFOF0,INFO)
      INTEGER INFOF0(1),INFO(1)
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER FMT(102)
      INTEGER AAAAD0(35)
      DATA AAAAD0/189,228,225,244,229,189,160,189,244,233,237,229,189,16
     *0,189,240,233,228,189,160,189,245,243,229,242,189,170,181,177,244,
     *170,178,233,160,0/
      IF((CIREC0.EQ.-3))GOTO 10005
        CALL EXPAND(AAAAD0,FMT,102)
        CALL PRINT(CIREC0,FMT,CIFIL0)
        CALL PRINT(CIREC0,INFOF0,INFO)
        CALL PUTCH(138,CIREC0)
        CALL FLUSH$(CIREC0)
10005 RETURN
      END
      SUBROUTINE PROCE0
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER STR(102)
      INTEGER COMMA0
      INTEGER SVGET
      INTEGER AAAAE0(7)
      DATA AAAAE0/223,232,229,236,236,239,0/
      IF((SVGET(AAAAE0,STR,102).EQ.-1))GOTO 10006
      IF((STR(1).EQ.0))GOTO 10006
        CALL LSMAKE(COMMA0,STR)
        CALL PUTBA0(COMMA0)
        IF((AND(CITRA0,:100000).EQ.0))GOTO 10007
          CALL NETTR0(COMMA0,CIFIL0)
10007 CONTINUE
10006 RETURN
      END
      INTEGER FUNCTION SHELL(FD)
      INTEGER FD
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER HPTRA0(128)
      INTEGER HBUFA0(4096)
      INTEGER HBFAA0,HBLAA0,HPFAA0,HPLAA0,HLINE0,HONAA0
      COMMON /HISTCM/HBFAA0,HBLAA0,HPFAA0,HPLAA0,HLINE0,HPTRA0,HBUFA0,HO
     *NAA0
      LOGICAL TRACE
      INTEGER COMMB0
      INTEGER STATUS
      INTEGER VAL(2)
      INTEGER GETCL,EVALN0,EVALFN,EVALIT,EVALCN
      INTEGER SVGET,ISATTY
      EXTERNAL SHANY$
      SHORTCALL MKONU$(24)
      INTEGER AAAAF0(3)
      INTEGER AAAAG0(34)
      INTEGER AAAAH0(11)
      INTEGER AAAAI0(10)
      INTEGER AAAAJ0(35)
      INTEGER AAAAK0(11)
      INTEGER AAAAL0(11)
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      DATA AAAAF0/4,-15922,-9820/
      DATA AAAAG0/211,232,229,236,236,160,210,229,227,245,242,243,233,23
     *9,238,160,204,233,237,233,244,160,197,248,227,229,229,228,229,228,
     *161,170,238,0/
      DATA AAAAH0/189,246,225,242,243,230,233,236,229,189,0/
      DATA AAAAI0/223,238,239,244,244,249,229,239,230,0/
      DATA AAAAJ0/245,243,229,160,167,243,244,239,240,167,160,244,239,16
     *0,229,248,233,244,160,244,232,229,160,243,245,226,243,249,243,244,
     *229,237,170,238,0/
      DATA AAAAK0/189,246,225,242,243,230,233,236,229,189,0/
      DATA AAAAL0/189,232,233,243,244,230,233,236,229,189,0/
      CALL MKONU$(AAAAF0,LOC(SHANY$))
      IF((CIFIL0.LT.10))GOTO 10008
        CALL PRINT(1,AAAAG0)
        SHELL=-3
        RETURN
10008 CIFIL0=CIFIL0+(1)
      CIBUF0(CIFIL0)=0
      CIFDA0(CIFIL0)=FD
      IF((CIFIL0.NE.1))GOTO 10009
        CICNO0(1)=0
        TRACE=(AND(CITRA0,:4).NE.0)
        CALL SVREST(AAAAH0,TRACE)
        CALL PROCE0
        GOTO 10010
10009   CICNO0(CIFIL0)=CICNO0(CIFIL0-1)
        CALL SVPUSH
        CALL SAVES0
10010 CONTINUE
1     STATUS=-2
10011 IF((GETCL(COMMB0).EQ.-1))GOTO 10012
        IF((CMDST0.NE.0))GOTO 10013
        IF((AND(CITRA0,:2000).EQ.0))GOTO 10013
          CALL SINGL0(STATUS)
10013   IF((STATUS.EQ.-3))GOTO 10014
        IF((CMDST0.NE.0))GOTO 10014
        IF((EVALN0(COMMB0,STATUS).EQ.-3))GOTO 10014
        IF((EVALCN(COMMB0,STATUS).EQ.-3))GOTO 10014
        IF((EVALFN(COMMB0,STATUS).EQ.-3))GOTO 10014
        IF((EVALN0(COMMB0,STATUS).EQ.-3))GOTO 10014
        IF((EVALIT(COMMB0,STATUS).EQ.-3))GOTO 10014
        IF((EVALN0(COMMB0,STATUS).EQ.-3))GOTO 10014
          CALL PARSE(COMMB0,STATUS)
10014   CALL LSFREE(COMMB0,10000)
        CALL REMOV0
        CALL BREAK$(1)
        IF((CMDST0.EQ.0))GOTO 10015
          STATUS=-3
10015   IF((STATUS.NE.-3))GOTO 10016
          CALL ERRMSG(0,0,0)
          IF((CIFIL0.LE.1))GOTO 10017
          IF((ISATTY(CIFDA0(CIFIL0)).EQ.1))GOTO 10017
            CALL BREAK$(0)
            GOTO 10012
10017   CONTINUE
10016   STATUS=-2
        CMDST0=0
        CALL BREAK$(0)
      GOTO 10011
10012 IF((ISPHA0.NE.0))GOTO 10018
      IF((CIFIL0.GT.1))GOTO 10018
        IF((SVGET(AAAAI0,VAL,2).LT.0))GOTO 10019
          CALL PRINT(1,AAAAJ0)
          GOTO 1
10019 CONTINUE
10018 IF((CIFIL0.NE.1))GOTO 10020
        TRACE=(AND(CITRA0,:4).NE.0)
        CALL SVSAVE(AAAAK0,TRACE)
        IF((HONAA0.NE.1))GOTO 10022
        IF((ISPHA0.NE.0))GOTO 10022
          CALL HISTT0(AAAAL0)
10021   GOTO 10022
10020   CALL RESTO0
        CALL SVPOP
10022 CIFIL0=CIFIL0-(1)
      SHELL=STATUS
      RETURN
      END
      SUBROUTINE SINGL0(STATUS)
      INTEGER STATUS
      INTEGER C
      INTEGER GETCH
      CALL PRINT(1,'continue? .')
10023 IF((GETCH(C,1).NE.160))GOTO 10024
      GOTO 10023
10024 IF((C.EQ.-1))GOTO 10026
      IF((C.EQ.238))GOTO 10026
      IF((C.EQ.206))GOTO 10026
      GOTO 10025
10026   STATUS=-3
        GOTO 10027
10025   STATUS=-2
10027 CONTINUE
10028 IF((C.EQ.138))GOTO 10029
      IF((C.EQ.-1))GOTO 10029
        CALL GETCH(C,1)
      GOTO 10028
10029 RETURN
      END
      SUBROUTINE NETTR0(CMD,LEVEL,TYPE)
      INTEGER CMD
      INTEGER LEVEL
      INTEGER TYPE(1)
      LOGICAL MISSIN
      INTEGER AAAAM0(7)
      INTEGER AAAAN0(10)
      DATA AAAAM0/219,170,178,233,221,160,0/
      DATA AAAAN0/219,170,178,233,186,170,243,221,160,0/
      IF((.NOT.MISSIN(TYPE)))GOTO 10030
        CALL PRINT(1,AAAAM0,LEVEL)
        GOTO 10031
10030   CALL PRINT(1,AAAAN0,LEVEL,TYPE)
10031 CALL LSPUTF(CMD,1)
      CALL PUTCH(138,1)
      RETURN
      END
      SUBROUTINE SEARC0(P,C1,C1POS,C2,C2POS)
      INTEGER P
      INTEGER C1,C2
      INTEGER C1POS,C2POS
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER POS
      INTEGER PTR
      INTEGER C,QUOTE
      INTEGER AAAAO0
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      C1POS=0
      C2POS=0
      POS=0
      PTR=P
10033   AAAAO0=1
        GOTO 10032
10034   CONTINUE
10035   IF((C.EQ.162))GOTO 10037
        IF((C.EQ.167))GOTO 10037
        GOTO 10036
10037     QUOTE=C
10038       AAAAO0=2
            GOTO 10032
10039     CONTINUE
          IF((C.EQ.QUOTE))GOTO 10040
          IF((C.EQ.0))GOTO 10040
          GOTO 10038
10040     CONTINUE
          IF((C.EQ.0))GOTO 10035
            AAAAO0=3
            GOTO 10032
10042     CONTINUE
10041   GOTO 10035
10036   IF((C.NE.0))GOTO 10043
          RETURN
10043     IF((C.NE.C1))GOTO 10044
            C1POS=POS
            GOTO 10045
10044       IF((C.NE.C2))GOTO 10046
              C2POS=POS
              RETURN
10046     CONTINUE
10045   CONTINUE
      GOTO 10033
10032 CONTINUE
10047 IF((LSREF0(PTR).LT.300))GOTO 10048
        PTR=LSREF0(PTR)-300
      GOTO 10047
10048 C=LSREF0(PTR)
      IF((C.EQ.0))GOTO 10049
        PTR=PTR+(1)
10049 POS=POS+(1)
      GOTO 10050
10050 GOTO(10034,10039,10042),AAAAO0
      GOTO 10050
      END
      INTEGER FUNCTION NEXTU0(PTR,POS,C)
      INTEGER PTR
      INTEGER POS
      INTEGER C
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER QUOTE
      INTEGER AAAAP0
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      AAAAP0=1
      GOTO 10051
10052 CONTINUE
10053 IF((C.EQ.167))GOTO 10055
      IF((C.EQ.162))GOTO 10055
      GOTO 10054
10055   QUOTE=C
10056     AAAAP0=2
          GOTO 10051
10057   CONTINUE
        IF((C.EQ.QUOTE))GOTO 10058
        IF((C.EQ.0))GOTO 10058
        GOTO 10056
10058   CONTINUE
        IF((C.EQ.0))GOTO 10053
          AAAAP0=3
          GOTO 10051
10060   CONTINUE
10059 GOTO 10053
10054 NEXTU0=C
      RETURN
10051 CONTINUE
10061 IF((LSREF0(PTR).LT.300))GOTO 10062
        PTR=LSREF0(PTR)-300
      GOTO 10061
10062 C=LSREF0(PTR)
      IF((C.EQ.0))GOTO 10063
        PTR=PTR+(1)
10063 POS=POS+(1)
      GOTO 10064
10064 GOTO(10052,10057,10060),AAAAP0
      GOTO 10064
      END
      INTEGER FUNCTION GETCL(COMMB0)
      INTEGER COMMB0
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER C,PROMPT(102)
      INTEGER BUF,P
      INTEGER COMME0,LEN,JUNK
      INTEGER LSGETF,SVGET,LSPOS,HISTS0
      LOGICAL CONTI0
      LOGICAL ISATTY
      INTEGER STDPR0(3)
      SHORTCALL MKONU$(18)
      EXTERNAL LSQUIT
      INTEGER AAAAQ0
      INTEGER AAAAR0(4)
      INTEGER AAAAS0(8)
      INTEGER AAAAT0(4)
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      DATA STDPR0/221,160,0/
      DATA AAAAR0/5,-11819,-13868,-23392/
      DATA AAAAS0/223,240,242,239,237,240,244,0/
      DATA AAAAT0/5,-11819,-13868,-23392/
      CALL BREAK$(1)
      IF((.NOT.ISATTY(CIFDA0(CIFIL0))))GOTO 10066
        CALL MKONU$(AAAAR0,LOC(LSQUIT))
10066 COMMB0=CIBUF0(CIFIL0)
      CIBUF0(CIFIL0)=0
      IF((SVGET(AAAAS0,PROMPT,102).NE.-1))GOTO 10067
        CALL SCOPY(STDPR0,1,PROMPT,1)
10067 GETCL=-2
10068 IF((COMMB0.NE.0))GOTO 10069
      IF((CMDST0.NE.0))GOTO 10069
        IF((.NOT.ISATTY(CIFDA0(CIFIL0))))GOTO 10070
          CALL GOSSIP
          CALL MAILC0
          CALL PUTLIN(PROMPT,1)
10070   CONTI0=.TRUE.
10071   IF((.NOT.CONTI0))GOTO 10072
        IF((CMDST0.NE.0))GOTO 10072
          LEN=LSGETF(BUF,CIFDA0(CIFIL0))
          IF((LEN.NE.-1))GOTO 10073
            GOTO 10072
10073     CALL LSDEL(BUF,LEN,1)
          IF((COMMB0.NE.0))GOTO 10074
            COMMB0=BUF
            GOTO 10075
10074       CALL LSJOIN(COMMB0,BUF)
10075     IF((AND(CITRA0,:100000).EQ.0))GOTO 10076
            CALL NETTR0(BUF,CIFIL0)
10076     IF((LEN.LE.1))GOTO 10077
          IF((LSPOS(BUF,LEN-1).NE.223))GOTO 10077
            CALL LSDEL(BUF,1,10000)
            GOTO 10071
10077       CONTI0=.FALSE.
10078   GOTO 10071
10072   IF((COMMB0.NE.0))GOTO 10079
          GETCL=-1
          GOTO 10069
10079   CALL SEARC0(COMMB0,0,JUNK,163,COMME0)
        IF((COMME0.LE.0))GOTO 10080
          CALL LSDEL(COMMB0,COMME0,10000)
10080   P=COMMB0
        AAAAQ0=1
        GOTO 10065
10081   AAAAQ0=2
        GOTO 10065
10085   CONTINUE
10083   IF((C.EQ.160))GOTO 10081
        IF((C.EQ.137))GOTO 10081
        GOTO 10082
10082   IF((C.NE.0))GOTO 10087
          CALL LSFREE(COMMB0,10000)
10087   IF((.NOT.ISATTY(CIFDA0(CIFIL0))))GOTO 10068
          IF((HISTS0(COMMB0).NE.-3))GOTO 10089
            CALL LSFREE(COMMB0,10000)
10089   CONTINUE
10088 GOTO 10068
10069 CALL RVONU$(AAAAT0)
      CALL BREAK$(0)
      RETURN
10065 CONTINUE
10090 IF((LSREF0(P).LT.300))GOTO 10091
        P=LSREF0(P)-300
      GOTO 10090
10091 C=LSREF0(P)
      IF((C.EQ.0))GOTO 10093
        P=P+(1)
10092 GOTO 10093
10093 GOTO(10083,10085),AAAAQ0
      GOTO 10093
      END
      SUBROUTINE PUTBA0(PTR)
      INTEGER PTR
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER JUNK
      INTEGER AAAAU0(2)
      DATA AAAAU0/187,0/
      IF((CIBUF0(CIFIL0).NE.0))GOTO 10094
        CIBUF0(CIFIL0)=PTR
        GOTO 10095
10094   CIBUF0(CIFIL0)=LSJOIN(PTR,LSJOIN(LSMAKE(JUNK,AAAAU0),CIBUF0(CIFI
     *L0)))
10095 PTR=0
      RETURN
      END
      INTEGER FUNCTION EVALN0(COMMB0,STATUS)
      INTEGER COMMB0
      INTEGER STATUS
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER POS,BRACE0,BRACK0
      INTEGER C,QUOTE
      INTEGER REST,PTR
      INTEGER AAAAV0
      INTEGER AAAAW0
      INTEGER AAAAX0
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      BRACK0=0
      BRACE0=0
      PTR=COMMB0
      POS=0
10097   AAAAV0=1
        GOTO 10096
10098   CONTINUE
10099   IF((C.EQ.162))GOTO 10101
        IF((C.EQ.167))GOTO 10101
        GOTO 10100
10101     QUOTE=C
10102       AAAAV0=2
            GOTO 10096
10103     CONTINUE
          IF((C.EQ.QUOTE))GOTO 10104
          IF((C.EQ.0))GOTO 10104
          GOTO 10102
10104     CONTINUE
          IF((C.EQ.0))GOTO 10099
            AAAAV0=3
            GOTO 10096
10106     CONTINUE
10105   GOTO 10099
10100   AAAAW0=C
        GOTO 10107
10108     BRACK0=BRACK0+(1)
        GOTO 10109
10110     BRACK0=BRACK0-(1)
        GOTO 10109
10111     BRACE0=BRACE0+(1)
        GOTO 10109
10112     BRACE0=BRACE0-(1)
        GOTO 10109
10115     IF((BRACE0.NE.0))GOTO 10109
          IF((BRACK0.NE.0))GOTO 10109
            GOTO 10114
10107   IF(AAAAW0.EQ.0)GOTO 10114
        IF(AAAAW0.EQ.187)GOTO 10115
        AAAAX0=AAAAW0-218
        GOTO(10108,10117,10110),AAAAX0
        AAAAX0=AAAAW0-250
        GOTO(10111,10117,10112),AAAAX0
10117   CONTINUE
10109 CONTINUE
      GOTO 10097
10114 IF((C.NE.187))GOTO 10118
        CALL LSCUT(COMMB0,POS-1,REST)
        CALL LSDEL(REST,1,1)
        CALL PUTBA0(REST)
10118 STATUS=-2
      EVALN0=STATUS
      RETURN
10096 CONTINUE
10119 IF((LSREF0(PTR).LT.300))GOTO 10120
        PTR=LSREF0(PTR)-300
      GOTO 10119
10120 C=LSREF0(PTR)
      IF((C.EQ.0))GOTO 10121
        PTR=PTR+(1)
10121 POS=POS+(1)
      GOTO 10122
10122 GOTO(10098,10103,10106),AAAAV0
      GOTO 10122
      END
      INTEGER FUNCTION EVALFN(COMMB0,STATUS)
      INTEGER COMMB0
      INTEGER STATUS
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER NEXTI0(10),NEXTO0(10),IPDAA0(5,3,10),OPDAA0(5,3,10),DEFAU0
     *(6)
      COMMON /PORTCM/NEXTI0,NEXTO0,IPDAA0,OPDAA0,DEFAU0
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER FNSTA0,FNEND,FNSIZE,POS,QUOTF0
      INTEGER LSGETF,SHELL,SVGET,EQUAL
      INTEGER IFD,OFD
      INTEGER MKTEMP
      INTEGER PTR,FNCALL,ARGPTR,P
      INTEGER C,QUOTG0(5)
      INTEGER AAAAY0
      INTEGER AAAAZ0(11)
      INTEGER AAABA0(4)
      INTEGER AAABB0(2)
      INTEGER AAABC0(2)
      INTEGER AAABD0(2)
      INTEGER AAABE0(3)
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      DATA AAAAZ0/223,241,245,239,244,229,223,239,240,244,0/
      DATA AAABA0/217,197,211,0/
      DATA AAABB0/162,0/
      DATA AAABC0/160,0/
      DATA AAABD0/162,0/
      DATA AAABE0/230,238,0/
      STATUS=-3
      IFD=-3
      OFD=-3
10124   CALL SEARC0(COMMB0,219,FNSTA0,221,FNEND)
        GOTO 10125
10126     CALL ERRMSG(COMMB0,FNEND,'unpaired right bracket.')
        GOTO 10130
10128     CALL ERRMSG(COMMB0,FNSTA0,'unpaired left bracket.')
        GOTO 10130
10129     STATUS=-2
        GOTO 10130
10125   IF((FNSTA0.NE.0))GOTO 10131
        IF((FNEND.EQ.0))GOTO 10131
        GOTO 10126
10131   IF((FNSTA0.EQ.0))GOTO 10132
        IF((FNEND.NE.0))GOTO 10132
        GOTO 10128
10132   IF((FNSTA0.NE.0))GOTO 10133
        IF((FNEND.NE.0))GOTO 10133
        GOTO 10129
10133   CONTINUE
        IF((OFD.NE.-3))GOTO 10134
          OFD=MKTEMP(3)
          IF((OFD.NE.-3))GOTO 10136
            CALL ERRMSG(COMMB0,FNEND,'can''t create temp for function ou
     *tput.')
            GOTO 10130
10134     CALL REWIND(OFD)
          CALL TRUNC(OFD)
10136   IF((IFD.NE.-3))GOTO 10137
          IFD=MKTEMP(3)
          IF((IFD.NE.-3))GOTO 10139
            CALL ERRMSG(COMMB0,FNEND,'can''t create function temp.')
            GOTO 10130
10137     CALL REWIND(IFD)
          CALL TRUNC(IFD)
10139   FNSIZE=FNEND-FNSTA0+1
        FNCALL=LSSUBS(COMMB0,FNSTA0+1,FNSIZE-2)
        CALL LSDEL(COMMB0,FNSTA0,FNSIZE)
        CALL LSPUTF(FNCALL,IFD)
        CALL PUTCH(138,IFD)
        CALL REWIND(IFD)
        CALL LSFREE(FNCALL,10000)
        STDPO0(2)=OFD
        IF((SHELL(IFD).NE.-3))GOTO 10140
          CALL ERRMSG(0,0,0)
          GOTO 10130
10140   CALL REWIND(OFD)
        IF((SVGET(AAAAZ0,QUOTG0,5).EQ.-1))GOTO 10141
        IF((EQUAL(QUOTG0,AAABA0).EQ.0))GOTO 10141
          QUOTF0=1
          GOTO 10142
10141     QUOTF0=0
10142   CALL LSALLO(ARGPTR,0)
        CALL BREAK$(1)
10143   IF((LSGETF(PTR,OFD).EQ.-1))GOTO 10144
          POS=0
          P=PTR
          AAAAY0=1
          GOTO 10123
10145     AAAAY0=2
          GOTO 10123
10149     CONTINUE
10147     IF((C.EQ.0))GOTO 10146
            IF((C.NE.162))GOTO 10150
            IF((QUOTF0.EQ.0))GOTO 10150
              CALL LSINS(PTR,POS,CIQUO0,1,4)
              POS=POS+(4)
              GOTO 10145
10150         IF((C.NE.138))GOTO 10152
                CALL LSDEL(PTR,POS,1)
                POS=POS-(1)
10152       CONTINUE
10151     GOTO 10145
10146     IF((QUOTF0.EQ.0))GOTO 10153
            PTR=LSJOIN(LSMAKE(P,AAABB0),PTR)
10153     PTR=LSJOIN(LSMAKE(P,AAABC0),PTR)
          CALL LSJOIN(ARGPTR,PTR)
          IF((QUOTF0.NE.1))GOTO 10143
            CALL LSJOIN(ARGPTR,LSMAKE(P,AAABD0))
10154   GOTO 10143
10144   CALL BREAK$(0)
        CALL LSDEL(ARGPTR,1,1)
        CALL LSINS(COMMB0,FNSTA0-1,ARGPTR,1,10000)
        CALL LSFREE(ARGPTR,10000)
      GOTO 10124
10130 IF((IFD.EQ.-3))GOTO 10155
        CALL RMTEMP(IFD)
10155 IF((OFD.EQ.-3))GOTO 10156
        CALL RMTEMP(OFD)
10156 IF((STATUS.NE.-2))GOTO 10157
      IF((AND(CITRA0,:20000).EQ.0))GOTO 10157
        CALL NETTR0(COMMB0,CIFIL0,AAABE0)
10157 EVALFN=STATUS
      RETURN
10123 CONTINUE
10158 IF((LSREF0(P).LT.300))GOTO 10159
        P=LSREF0(P)-300
      GOTO 10158
10159 C=LSREF0(P)
      IF((C.EQ.0))GOTO 10160
        P=P+(1)
10160 POS=POS+(1)
      GOTO 10161
10161 GOTO(10147,10149),AAAAY0
      GOTO 10161
      END
      INTEGER FUNCTION EVALIT(COMMB0,STATUS)
      INTEGER COMMB0
      INTEGER STATUS
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER ITSTA0(10),ITBLA0(10)
      INTEGER ITSTB0,ITEND,ITLEN0,ITGRO0,J,JUNK
      INTEGER ITPTR(10),PTR,P,M
      INTEGER C
      INTEGER AAABF0
      INTEGER AAABG0(2)
      INTEGER AAABH0(2)
      INTEGER AAABI0(3)
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      DATA AAABG0/160,0/
      DATA AAABH0/187,0/
      DATA AAABI0/233,244,0/
      ITGRO0=0
      STATUS=-3
10163   CALL SEARC0(COMMB0,168,ITSTB0,169,ITEND)
        GOTO 10164
10165     CALL ERRMSG(COMMB0,ITEND,'unpaired right paren.')
        GOTO 10169
10167     CALL ERRMSG(COMMB0,ITSTB0,'unpaired left paren.')
        GOTO 10169
10168     STATUS=-2
        GOTO 10169
10164   IF((ITSTB0.NE.0))GOTO 10170
        IF((ITEND.EQ.0))GOTO 10170
        GOTO 10165
10170   IF((ITSTB0.EQ.0))GOTO 10171
        IF((ITEND.NE.0))GOTO 10171
        GOTO 10167
10171   IF((ITSTB0.NE.0))GOTO 10172
        IF((ITEND.NE.0))GOTO 10172
        GOTO 10168
10172   CONTINUE
        IF((ITGRO0.LT.10))GOTO 10173
          CALL ERRMSG(COMMB0,ITSTB0,'too many iteration groups.')
          GOTO 10169
10173   ITGRO0=ITGRO0+(1)
        ITLEN0=ITEND-ITSTB0+1
        ITSTA0(ITGRO0)=ITSTB0-1
        ITPTR(ITGRO0)=LSSUBS(COMMB0,ITSTB0+1,ITLEN0-2)
        CALL LSJOIN(ITPTR(ITGRO0),LSMAKE(P,AAABG0))
        CALL LSDEL(COMMB0,ITSTB0,ITLEN0)
      GOTO 10163
10169 IF((ITGRO0.LE.0))GOTO 10174
        IF((STATUS.EQ.-3))GOTO 10175
          J=2
          GOTO 10178
10176     J=J+(1)
10178     IF((J.GT.ITGRO0))GOTO 10177
            IF((ITSTA0(J).GE.ITSTA0(J-1)))GOTO 10176
              CALL ERRMSG(ITPTR(J-1),1,'nested iteration not supported.'
     *)
              STATUS=-3
              GOTO 10177
10177   CONTINUE
10175   IF((STATUS.EQ.-3))GOTO 10180
          STATUS=-3
          CALL LSALLO(PTR,0)
10181       DO 10182 J=1,ITGRO0
              P=ITPTR(J)
              AAABF0=1
              GOTO 10162
10184         CONTINUE
10185         IF((C.NE.160))GOTO 10186
                CALL LSDEL(ITPTR(J),1,1)
                P=ITPTR(J)
                AAABF0=2
                GOTO 10162
10186         CALL SEARC0(ITPTR(J),138,JUNK,160,ITBLA0(J))
10182       CONTINUE
10183       IF((ITBLA0(1).NE.0))GOTO 10188
              J=2
              GOTO 10191
10189         J=J+(1)
10191         IF((J.GT.ITGRO0))GOTO 10190
                IF((ITBLA0(J).EQ.0))GOTO 10189
                  CALL ERRMSG(ITPTR(J),1,'unbalanced iteration groups.')
                  GOTO 10193
10190         STATUS=-2
              GOTO 10193
10188       J=2
            GOTO 10196
10194       J=J+(1)
10196       IF((J.GT.ITGRO0))GOTO 10195
              IF((ITBLA0(J).NE.0))GOTO 10194
                CALL ERRMSG(ITPTR(1),1,'unbalanced iteration groups.')
                GOTO 10193
10195       M=0
            CALL LSCOPY(COMMB0,1,M,1)
            J=ITGRO0
            GOTO 10200
10198       J=J-(1)
10200       IF((J.LT.1))GOTO 10199
              CALL LSCUT(ITPTR(J),ITBLA0(J)-1,P)
              CALL LSINS(M,ITSTA0(J),ITPTR(J),1,10000)
              CALL LSFREE(ITPTR(J),10000)
              ITPTR(J)=P
            GOTO 10198
10199       CALL LSJOIN(PTR,LSMAKE(P,AAABH0))
            CALL LSJOIN(PTR,M)
          GOTO 10181
10193   CONTINUE
10180   DO 10201 J=1,ITGRO0
          CALL LSFREE(ITPTR(J),10000)
10201   CONTINUE
10202   IF((STATUS.EQ.-3))GOTO 10203
          CALL LSDEL(PTR,1,1)
          CALL LSFREE(COMMB0,10000)
          COMMB0=PTR
          GOTO 10204
10203     CALL LSFREE(PTR,10000)
10204 CONTINUE
10174 IF((STATUS.EQ.-3))GOTO 10205
      IF((AND(CITRA0,:10000).EQ.0))GOTO 10205
        CALL NETTR0(COMMB0,CIFIL0,AAABI0)
10205 EVALIT=STATUS
      RETURN
10162 CONTINUE
10206 IF((LSREF0(P).LT.300))GOTO 10207
        P=LSREF0(P)-300
      GOTO 10206
10207 C=LSREF0(P)
      IF((C.EQ.0))GOTO 10209
        P=P+(1)
10208 GOTO 10209
10209 GOTO(10184,10185),AAABF0
      GOTO 10209
      END
      SUBROUTINE INITI0
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER NEXTA0,ARGTA0(2,64)
      COMMON /ARGCOM/NEXTA0,ARGTA0
      INTEGER NEXTI0(10),NEXTO0(10),IPDAA0(5,3,10),OPDAA0(5,3,10),DEFAU0
     *(6)
      COMMON /PORTCM/NEXTI0,NEXTO0,IPDAA0,OPDAA0,DEFAU0
      INTEGER HPTRA0(128)
      INTEGER HBUFA0(4096)
      INTEGER HBFAA0,HBLAA0,HPFAA0,HPLAA0,HLINE0,HONAA0
      COMMON /HISTCM/HBFAA0,HBLAA0,HPFAA0,HPLAA0,HLINE0,HPTRA0,HBUFA0,HO
     *NAA0
      INTEGER I
      INTEGER AAABJ0(5)
      DATA AAABJ0/167,162,167,162,0/
      HONAA0=0
      CIFIL0=0
      NEXTA0=1
      DO 10210 I=1,10
        NEXTI0(I)=1
        NEXTO0(I)=1
10210 CONTINUE
10211 DO 10212 I=1,6
        DEFAU0(I)=1
10212 CONTINUE
10213 CALL LSINIT
      CALL LSMAKE(CIQUO0,AAABJ0)
      CALL SVINIT
      CALL HISTI0
      CALL MAILI0
      RETURN
      END
      SUBROUTINE SAVES0
      INTEGER NEXTA0,ARGTA0(2,64)
      COMMON /ARGCOM/NEXTA0,ARGTA0
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER CURNO0,CMDCU0,SYMTY0,SYMIP0,SYMOP0,SYMNO0,SYMLE0
      INTEGER SYMTE0(102),SYMST0(102)
      INTEGER CMDAA0,CMDPT0
      COMMON /PARCOM/CURNO0,CMDAA0,CMDPT0,CMDCU0,SYMTY0,SYMIP0,SYMOP0,SY
     *MNO0,SYMLE0,SYMTE0,SYMST0
      INTEGER NEXTI0(10),NEXTO0(10),IPDAA0(5,3,10),OPDAA0(5,3,10),DEFAU0
     *(6)
      COMMON /PORTCM/NEXTI0,NEXTO0,IPDAA0,OPDAA0,DEFAU0
      INTEGER SAVEN0(10,10),SAVEO0(10,10),SAVEI0(150,10),SAVEP0(150,10)
      INTEGER SAVEQ0(6,10)
      INTEGER SAVEA0(128,10)
      INTEGER SAVER0(10)
      INTEGER SAVEC0(10)
      COMMON /SAVCOM/SAVEN0,SAVEO0,SAVEI0,SAVEP0,SAVEQ0,SAVEA0,SAVER0,SA
     *VEC0
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      CALL MOVE$(ARGTA0,SAVEA0(1,CIFIL0),128)
      SAVER0(CIFIL0)=NEXTA0
      NEXTA0=1
      CALL MOVE$(NEXTI0,SAVEN0(1,CIFIL0),10)
      CALL MOVE$(NEXTO0,SAVEO0(1,CIFIL0),10)
      CALL MOVE$(IPDAA0,SAVEI0(1,CIFIL0),150)
      CALL MOVE$(OPDAA0,SAVEP0(1,CIFIL0),150)
      CALL MOVE$(DEFAU0,SAVEQ0(1,CIFIL0),6)
      CALL MOVE$(STDPO0,DEFAU0,6)
      SAVEC0(CIFIL0)=CURNO0
      RETURN
      END
      SUBROUTINE RESTO0
      INTEGER NEXTA0,ARGTA0(2,64)
      COMMON /ARGCOM/NEXTA0,ARGTA0
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER NEXTI0(10),NEXTO0(10),IPDAA0(5,3,10),OPDAA0(5,3,10),DEFAU0
     *(6)
      COMMON /PORTCM/NEXTI0,NEXTO0,IPDAA0,OPDAA0,DEFAU0
      INTEGER CURNO0,CMDCU0,SYMTY0,SYMIP0,SYMOP0,SYMNO0,SYMLE0
      INTEGER SYMTE0(102),SYMST0(102)
      INTEGER CMDAA0,CMDPT0
      COMMON /PARCOM/CURNO0,CMDAA0,CMDPT0,CMDCU0,SYMTY0,SYMIP0,SYMOP0,SY
     *MNO0,SYMLE0,SYMTE0,SYMST0
      INTEGER SAVEN0(10,10),SAVEO0(10,10),SAVEI0(150,10),SAVEP0(150,10)
      INTEGER SAVEQ0(6,10)
      INTEGER SAVEA0(128,10)
      INTEGER SAVER0(10)
      INTEGER SAVEC0(10)
      COMMON /SAVCOM/SAVEN0,SAVEO0,SAVEI0,SAVEP0,SAVEQ0,SAVEA0,SAVER0,SA
     *VEC0
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      NEXTA0=SAVER0(CIFIL0)
      CALL MOVE$(SAVEA0(1,CIFIL0),ARGTA0,128)
      CALL MOVE$(SAVEN0(1,CIFIL0),NEXTI0,10)
      CALL MOVE$(SAVEO0(1,CIFIL0),NEXTO0,10)
      CALL MOVE$(SAVEI0(1,CIFIL0),IPDAA0,150)
      CALL MOVE$(SAVEP0(1,CIFIL0),OPDAA0,150)
      CALL MOVE$(DEFAU0,STDPO0,6)
      CALL MOVE$(SAVEQ0(1,CIFIL0),DEFAU0,6)
      CURNO0=SAVEC0(CIFIL0)
      RETURN
      END
      SUBROUTINE ERRMSG(CMD,CP,MSG)
      INTEGER CMD
      INTEGER CP,MSG
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER AAABK0(5)
      DATA AAABK0/197,160,170,240,0/
      CALL CONTE0(CMD,CP)
      IF((MSG.EQ.0))GOTO 10214
        CALL PRINT(1,'*p*n.',MSG)
        CALL LOGIN0(AAABK0,MSG)
10214 CALL WIND(CIFDA0(CIFIL0))
      CALL LSFREE(CIBUF0(CIFIL0),10000)
      CIBUF0(CIFIL0)=0
      RETURN
      END
      SUBROUTINE CONTE0(CMD,CP)
      INTEGER CMD
      INTEGER CP
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER LOGSTR(60)
      INTEGER AAABL0(5)
      DATA AAABL0/195,160,170,243,0/
      IF((CMD.NE.0))GOTO 10215
        RETURN
10215 CALL LSPUTF(CMD,1)
      CALL PUTCH(138,1)
      CALL PRINT(1,'*#c*n.',-CP,222)
      IF((CIREC0.EQ.-3))GOTO 10216
        CALL LSEXTR(CMD,LOGSTR,60)
        CALL LOGIN0(AAABL0,LOGSTR)
10216 RETURN
      END
      SUBROUTINE GOSSIP
      COMMON /SWT$CM/TERMB0(128),TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFC
     *H0,ESCCH0,RTCHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0(6),KILLR0(33),FDMEM0(
     *16,128),RESES0(846),FDBUF0(16384),PASSW0(7),BPLAB0(4),UTEMP0,FDLAS
     *0,PRTDE0(17),PRTFO0(9),UHASH0(37),UTEMQ0(4059),RESET0(985),CMDST0,
     *COMUN0,RTLAB0(4),FIRST0,ARGCA0,ARGVA0(256),TERMA0(6),TERMT0(7),LWO
     *RD0,LSHOA0,LSTOP0,LSNAA0,LSREF0(16384),RESEU0(743),TSSTA0,TSGTA0,T
     *SATA0,TSEOS0,TSUNA0(32),TSPSA0(32),TSBFA0(32,32),TSPWA0(3,32),TSPA
     *T0(180),RESEV0(680),NEWSC0(85,51),RESEW0(785),CURSC0(85,51),RESEX0
     *(785),TCCLE0(10),TCCLF0(10),TCCLG0(10),TCCUR0(10),TCCUS0(10),TCCUT
     *0(10),TCCUU0(10),TCCUV0(10),TCABS0(10),TCVER0(10),TCHOR0(10),TCINS
     *0(10),TCDEL0(10),TCSHI0(10),TCSHJ0(10),TCCOO0,TCSHK0,TCCOP0,TCSEQ0
     *,TCSPE0,TCCLH0,TCLIN0,TCPOS0,TCWRA0,TCCLR0,TCCEO0,TCCEP0,TCABT0,TC
     *VES0,TCHOS0,TCHOM0,TCLEF0,TCUPL0,UNPRI0,COLCH0(51),COLCI0(51),ROWC
     *H0,ROWCI0,LASTC0(51),MAXRO0,MAXCO0,CURRO0,CURCO0,MSGRO0,MSGOW0(85)
     *,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0(128,20),LASTF0,TABSA0(85),INPU
     *T0(51),INPUU0(51),INBUF0(85),LASTD0,INSER0,INVER0,DUPLE0,INPUV0,PB
     *BUF0(400),PBPTR0,FNUSE0(20),DEFBU0(1000),LASTE0,NESTI0,RESEY0(1)
      INTEGER TERMB0,TERMC0,TERMD0,ECHAR0,KCHAR0,NLCHA0,EOFCH0,ESCCH0,RT
     *CHA0,ISPHA0,CPUTY0,ERRCO0,STDPO0,FDMEM0,RESES0,FDBUF0,PASSW0,BPLAB
     *0,UTEMP0,UHASH0,UTEMQ0,RESET0,CMDST0,COMUN0,RTLAB0,FIRST0,ARGCA0,A
     *RGVA0,TERMA0,TERMT0,LSHOA0,LSTOP0,LSNAA0,LSREF0,RESEU0,FDLAS0,KILL
     *R0,PRTDE0,PRTFO0,LWORD0,TSSTA0,TSGTA0,TSATA0,TSEOS0,TSUNA0,TSPSA0,
     *TSBFA0,TSPWA0,TSPAT0,RESEV0,NEWSC0,RESEW0,CURSC0,RESEX0,TCCLE0,TCC
     *LF0,TCCLG0,TCCUR0,TCCUS0,TCCUT0,TCCUU0,TCCUV0,TCABS0,TCVER0,TCHOR0
     *,TCINS0,TCDEL0,TCCLH0,TCLIN0,TCPOS0,TCSHI0,TCSHJ0,TCCOO0,TCSHK0,TC
     *COP0,TCSEQ0,TCDEM0,TCWRA0,TCCLR0,TCSPE0,TCCEO0,TCCEP0,TCABT0,TCVES
     *0,TCHOS0,UNPRI0,COLCH0,COLCI0,ROWCH0,ROWCI0,LASTC0,MAXRO0,MAXCO0,C
     *URRO0,CURCO0,MSGRO0,MSGOW0,PADRO0,PADCO0,PADLE0,DISPL0,FNTAB0,LAST
     *F0,TABSA0,INPUT0,INPUU0,INBUF0,LASTD0,INSER0,INVER0,DUPLE0,INPUV0,
     *PBBUF0,PBPTR0,FNUSE0,DEFBU0,LASTE0,NESTI0,TCHOM0,TCLEF0,TCUPL0,RES
     *EY0
      INTEGER FDESC0(16),FDDEV0(1),FDUNI0(1),FDBUG0(1),FDBUH0(1),FDBUI0(
     *1),FDCOU0(1),FDBCO0(1),FDFLA0(1),FDVCS0(1),FDVCT0(1),FDOPS0(1),FDO
     *PT0(1),FDOPU0(1)
      INTEGER SVGET
      INTEGER OPEN,MKTEMP
      INTEGER FD,TFD
      INTEGER BUF(1)
      INTEGER PAUSE0,DISPM0
      INTEGER G1(16)
      INTEGER G2(16)
      INTEGER AAABM0(14)
      INTEGER AAABN0(12)
      INTEGER AAABO0(15)
      INTEGER AAABP0(15)
      EQUIVALENCE (FDMEM0,FDESC0),(FDDEV0,FDESC0(1)),(FDUNI0,FDESC0(2)),
     *(FDBUG0,FDESC0(3)),(FDBUH0,FDESC0(4)),(FDBUI0,FDESC0(5)),(FDCOU0,F
     *DESC0(6)),(FDBCO0,FDESC0(7)),(FDFLA0,FDESC0(8)),(FDVCS0,FDESC0(9))
     *,(FDVCT0,FDESC0(10)),(FDOPS0,FDESC0(11)),(FDOPT0,FDESC0(12)),(FDOP
     *U0,FDESC0(13))
      DATA G1/189,231,239,243,243,233,240,189,175,189,245,243,229,242,18
     *9,0/
      DATA G2/189,231,239,243,243,233,240,189,175,170,189,240,233,228,18
     *9,0/
      DATA AAABM0/223,240,225,245,243,229,223,231,239,243,243,233,240,0/
      DATA AAABN0/223,246,244,232,223,231,239,243,243,233,240,0/
      DATA AAABO0/231,239,243,243,233,240,160,219,170,233,171,221,191,16
     *0,0/
      DATA AAABP0/231,239,243,243,233,240,160,219,170,233,164,221,191,16
     *0,0/
      PAUSE0=1
      IF((SVGET(AAABM0,BUF,1).EQ.-1))GOTO 10217
        PAUSE0=0
10217 IF((SVGET(AAABN0,BUF,1).EQ.-1))GOTO 10218
        PAUSE0=PAUSE0+(2)
10218 DISPM0=0
      TFD=MKTEMP(3)
      IF((TFD.NE.-3))GOTO 10219
        RETURN
10219 IF((ISPHA0.NE.0))GOTO 10220
        FD=OPEN(G1,1)
        IF((FD.EQ.-3))GOTO 10221
          DISPM0=1
          CALL FCOPY(FD,TFD)
          CALL CLOSE(FD)
          CALL REMOVE(G1)
10221 CONTINUE
10220 FD=OPEN(G2,1)
      IF((FD.EQ.-3))GOTO 10222
        DISPM0=1
        CALL FCOPY(FD,TFD)
        CALL CLOSE(FD)
        CALL REMOVE(G2)
10222 IF((DISPM0.NE.0))GOTO 10223
        CALL RMTEMP(TFD)
        RETURN
10223 CALL REWIND(TFD)
      IF((ISPHA0.NE.0))GOTO 10224
        CALL PAGE(TFD,AAABO0,AAABP0,23,1,PAUSE0)
        GOTO 10225
10224   CALL FCOPY(TFD,1)
10225 CALL RMTEMP(TFD)
      RETURN
      END
      INTEGER FUNCTION EVALCN(COMMB0,STATUS)
      INTEGER COMMB0
      INTEGER STATUS
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER CNSTA0,CNEND,FD
      INTEGER CREATE
      INTEGER NODET0,PNAME
      INTEGER LSSUBS
      INTEGER NAME(20)
      INTEGER AAABQ0(17)
      INTEGER AAABR0(7)
      INTEGER AAABS0(3)
      DATA AAABQ0/189,244,229,237,240,189,175,227,238,189,240,233,228,18
     *9,170,233,0/
      DATA AAABR0/222,227,238,175,170,233,0/
      DATA AAABS0/227,238,0/
      STATUS=-3
10226   CALL SEARC0(COMMB0,251,CNSTA0,253,CNEND)
        GOTO 10227
10228     CALL ERRMSG(COMMB0,CNEND,'unpaired right brace.')
        GOTO 10232
10230     CALL ERRMSG(COMMB0,CNSTA0,'unpaired left brace.')
        GOTO 10232
10231     STATUS=-2
        GOTO 10232
10227   IF((CNSTA0.NE.0))GOTO 10233
        IF((CNEND.EQ.0))GOTO 10233
        GOTO 10228
10233   IF((CNSTA0.EQ.0))GOTO 10234
        IF((CNEND.NE.0))GOTO 10234
        GOTO 10230
10234   IF((CNSTA0.NE.0))GOTO 10235
        IF((CNEND.NE.0))GOTO 10235
        GOTO 10231
10235   CONTINUE
        CICNO0(CIFIL0)=CICNO0(CIFIL0)+(1)
        CALL ENCODE(NAME,20,AAABQ0,CICNO0(CIFIL0))
        FD=CREATE(NAME,2)
        IF((FD.NE.-3))GOTO 10236
          CALL ERRMSG(COMMB0,CNSTA0,'can''t create compound node temp.')
          GOTO 10232
10236   CALL ENCODE(NAME,20,AAABR0,CICNO0(CIFIL0))
        NODET0=LSSUBS(COMMB0,CNSTA0+1,CNEND-CNSTA0-1)
        CALL LSPUTF(NODET0,FD)
        CALL PUTCH(138,FD)
        CALL CLOSE(FD)
        CALL LSDEL(COMMB0,CNSTA0,CNEND-CNSTA0+1)
        CALL LSMAKE(PNAME,NAME)
        CALL LSINS(COMMB0,CNSTA0-1,PNAME,1,10000)
        CALL LSFREE(PNAME,10000)
        CALL LSFREE(NODET0,10000)
      GOTO 10226
10232 IF((STATUS.NE.-2))GOTO 10237
      IF((AND(CITRA0,:40000).EQ.0))GOTO 10237
        CALL NETTR0(COMMB0,CIFIL0,AAABS0)
10237 EVALCN=STATUS
      RETURN
      END
      SUBROUTINE REMOV0
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER BOTTOM
      INTEGER NAME(20)
      INTEGER AAABT0(17)
      DATA AAABT0/189,244,229,237,240,189,175,227,238,189,240,233,228,18
     *9,170,233,0/
      IF((CIFIL0.GT.1))GOTO 10238
        BOTTOM=0
        GOTO 10239
10238   BOTTOM=CICNO0(CIFIL0-1)
10239 CONTINUE
10240 IF((CICNO0(CIFIL0).LE.BOTTOM))GOTO 10241
        CALL ENCODE(NAME,20,AAABT0,CICNO0(CIFIL0))
        CALL REMOVE(NAME)
        CICNO0(CIFIL0)=CICNO0(CIFIL0)-(1)
      GOTO 10240
10241 RETURN
      END
      SUBROUTINE MAILI0
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER AT
      INTEGER FD,PFD
      INTEGER ENTRY(32)
      INTEGER OPEN
      INTEGER * 4 SZFIL$
      INTEGER FINFO$,MAPFD
      INTEGER M1(14)
      DATA M1/189,237,225,233,236,189,175,189,245,243,229,242,189,0/
      CALL GETTIM(CICHE0)
      CIMDA0=CICHE0
      CIMSI0=0
      IF((FINFO$(M1,ENTRY,AT).EQ.-2))GOTO 10242
        CALL FOLLOW(0,0)
        RETURN
10242 CALL FOLLOW(0,0)
      CALL CV$DQS(ENTRY(21),CIMDA0)
      FD=OPEN(M1,1)
      IF((FD.NE.-3))GOTO 10243
        RETURN
10243 PFD=MAPFD(FD)
      IF((PFD.NE.-3))GOTO 10244
        CALL CLOSE(FD)
        RETURN
10244 CIMSI0=SZFIL$(PFD)
      IF((CIMSI0.NE.-3))GOTO 10245
        CIMSI0=0
10245 CALL CLOSE(FD)
      RETURN
      END
      SUBROUTINE MAILC0
      INTEGER CIFIL0,CIFDA0(10),CIERR0,CITRA0,CICNO0(10)
      INTEGER CIBUF0(10),CIQUO0,CISEA0,CIQUP0,CIERS0,CIPRO0,CIHEL0,CIDEF
     *0
      INTEGER CIREC0
      INTEGER * 4 CIMDA0,CIMSI0,CICHE0
      COMMON /CICOM/CIQUO0,CISEA0,CIQUP0,CIPRO0,CIHEL0,CIERS0,CIDEF0,CIF
     *IL0,CITRA0,CIREC0,CIERR0,CIFDA0,CICNO0,CIBUF0,CIMDA0,CIMSI0,CICHE0
      INTEGER AT,I
      INTEGER FD,PFD
      INTEGER * 4 CURR,DELTA
      INTEGER CHK(102)
      INTEGER ENTRY(32)
      INTEGER OPEN
      INTEGER * 4 SZFIL$,CTOL
      INTEGER FINFO$,MAPFD,SVGET
      INTEGER M1(14)
      INTEGER AAABU0(12)
      INTEGER AAABV0(20)
      DATA M1/189,237,225,233,236,189,175,189,245,243,229,242,189,0/
      DATA AAABU0/223,237,225,233,236,223,227,232,229,227,235,0/
      DATA AAABV0/217,239,245,160,232,225,246,229,160,238,229,247,160,23
     *7,225,233,236,170,238,0/
      IF((SVGET(AAABU0,CHK,102).NE.-1))GOTO 10246
        RETURN
10246 I=1
      DELTA=CTOL(CHK,I)/4
      IF((DELTA.NE.0))GOTO 10247
        DELTA=15
10247 CALL GETTIM(CURR)
      IF((CURR.GE.CICHE0+DELTA))GOTO 10248
        RETURN
10248 CICHE0=CURR
      IF((FINFO$(M1,ENTRY,AT).EQ.-2))GOTO 10249
        CIMDA0=CICHE0-DELTA-1
        CALL FOLLOW(0,0)
        CIMSI0=0
        RETURN
10249 CALL FOLLOW(0,0)
      CALL CV$DQS(ENTRY(21),CURR)
      IF((CURR.GT.CIMDA0))GOTO 10250
        RETURN
10250 CIMDA0=CURR
      FD=OPEN(M1,1)
      IF((FD.NE.-3))GOTO 10251
        RETURN
10251 PFD=MAPFD(FD)
      IF((PFD.NE.-3))GOTO 10252
        CALL CLOSE(FD)
        RETURN
10252 CURR=SZFIL$(PFD)
      IF((CURR.GT.CIMSI0))GOTO 10253
        CIMSI0=CURR
        CALL CLOSE(FD)
        RETURN
10253 CIMSI0=CURR
      CALL CLOSE(FD)
      CALL PRINT(1,AAABV0)
      RETURN
      END
C ---- Long Name Map ----
C forgetcmd                      forge0
C installationcmd                insta0
C Cimdate                        cimda0
C Fdflags                        fdfla0
C setupports                     setuq0
C singlestep                     singl0
C timecmd                        timec0
C Eofchar                        eofch0
C Inputstart                     input0
C reserveport                    reser0
C searchfor                      searc0
C Escchar                        escch0
C Invertcase                     inver0
C loginnamecmd                   logio0
C Tccoordchar                    tccoo0
C Tabs                           tabsa0
C Fdbufstart                     fdbug0
C histsave                       histt0
C Symiport                       symip0
C whencmd                        whenc0
C Citrace                        citra0
C Rtchar                         rtcha0
C Prtdest                        prtde0
C Tcdelline                      tcdel0
C Colchgstop                     colci0
C Rowchgstart                    rowch0
C Maxcol                         maxco0
C executenode                    execv0
C putbackcommand                 putba0
C results                        resul0
C Echar                          echar0
C Tseos                          tseos0
C Tclinedelay                    tclin0
C Fnused                         fnuse0
C getneta                        getne0
C initports                      initp0
C lookuplabel                    looku0
C Termcount                      termd0
C Reservedio                     reses0
C Tsstate                        tssta0
C Tccursorright                  tccut0
C Tcabspos                       tcabs0
C Tcposdelay                     tcpos0
C Tchorlen                       tchos0
C dropcmd                        dropc0
C Cierrorflag                    cierr0
C Reservedopen                   reset0
C Lsna                           lsnaa0
C Tcseqtype                      tcseq0
C Unprintablechar                unpri0
C Fdesc                          fdesc0
C stdprompt                      stdpr0
C Symstr                         symst0
C nodetext                       nodet0
C checklabels                    check0
C dumpcmd                        dumpc0
C dumpports                      dumpp0
C histinit                       histi0
C selectport                     selec0
C Cputype                        cputy0
C Prtform                        prtfo0
C Tsbf                           tsbfa0
C Curcol                         curco0
C Lastfn                         lastf0
C Insertmode                     inser0
C commentpos                     comme0
C quoteoption                    quotf0
C argstocmd                      argst0
C histlook                       histl0
C makeportlist                   makep0
C Cihello                        cihel0
C Fdbuf                          fdbuf0
C Argv                           argva0
C Lstop                          lstop0
C Tcceollen                      tccep0
C Symoport                       symop0
C cleanupports                   clean0
C getnexttoken                   getng0
C histcmd                        histc0
C initconnect                    initc0
C nextunquotedchar               nextu0
C nextwhiletoken                 nextw0
C Tcshiftchar                    tcshk0
C Inputwait                      inpuv0
C Fdunit                         fduni0
C Cmdptr                         cmdpt0
C createlabel                    creat0
C gotocmd                        gotoc0
C Cibuf                          cibuf0
C Termcp                         termc0
C Kchar                          kchar0
C Fdmem                          fdmem0
C Fddev                          fddev0
C Fdvcstat1                      fdvcs0
C Hbf                            hbfaa0
C clrargs                        clrar0
C enterlabel                     enter0
C exitcmd                        exitd0
C loginfo                        login0
C shtracecmd                     shtra0
C Lastdef                        laste0
C Tcdelaytime                    tcdem0
C Fdvcstat2                      fdvct0
C Cidefaultsr                    cidef0
C Killresp                       killr0
C Tccleardelay                   tcclh0
C Padrow                         padro0
C Fntab                          fntab0
C varscmd                        varsc0
C Reservednewscr                 resew0
C Reservedcurscr                 resex0
C continued                      conti0
C quotevalue                     quotg0
C restorestate                   resto0
C vpsdcmd                        vpsdc0
C Utempbuf                       utemq0
C Rtlabel                        rtlab0
C Lsho                           lshoa0
C Tcvertpos                      tcver0
C Tcwraparound                   tcwra0
C Tchomelen                      tchom0
C Cmd                            cmdaa0
C Savenextiport                  saven0
C assigniports                   assig0
C histarg                        hista0
C Tcceoslen                      tcceo0
C Fdbufend                       fdbui0
C execute                        execu0
C findlabel                      findl0
C makeiport                      makei0
C symboltrace                    symbo0
C infofmt                        infof0
C Tcspeed                        tcspe0
C Tcleftlen                      tclef0
C Pbbuf                          pbbuf0
C Fdopstat1                      fdops0
C Hbl                            hblaa0
C Saveargtable                   savea0
C Passwd                         passw0
C Newscr                         newsc0
C Curscr                         cursc0
C Duplex                         duple0
C Fdopstat2                      fdopt0
C Hline                          hline0
C Nextiport                      nexti0
C indexcmd                       index0
C primoscmd                      primo0
C Tccursorhome                   tccur0
C Fdopstat3                      fdopu0
C whilecmd                       while0
C Tspath                         tspat0
C bracecount                     brace0
C Argtable                       argta0
C display                        dispm0
C clrports                       clrpo0
C initlabels                     initl0
C savestate                      saves0
C Ciprompt                       cipro0
C Tsat                           tsata0
C Tccursorleft                   tccus0
C Colchgstart                    colch0
C Savenextoport                  saveo0
C Saveipd                        savei0
C assignoports                   assih0
C histget                        histh0
C nargscmd                       nargs0
C Reservedshell                  reseu0
C Inbuf                          inbuf0
C Nestingcount                   nesti0
C Savecurnode                    savec0
C makeoport                      makeo0
C Cifile                         cifil0
C Cierrorcontext                 ciers0
C Reservedtscan                  resev0
C Defbuf                         defbu0
C Hptr                           hptra0
C getelement                     getel0
C stopcmd                        stopc0
C Uhashtb                        uhash0
C Fdbuflen                       fdbuh0
C Nextoport                      nexto0
C Ipd                            ipdaa0
C Symlen                         symle0
C casecmd                        casec0
C stoplogging                    stopl0
C commands                       comma0
C Cmdstat                        cmdst0
C Tchorpos                       tchor0
C Tcinsline                      tcins0
C Msgowner                       msgow0
C Hpf                            hpfaa0
C itgroups                       itgro0
C Curnode                        curno0
C Symtype                        symty0
C invokevar                      invom0
C Cifd                           cifda0
C Cicnodes                       cicno0
C Cisearchrule                   cisea0
C Fdlastfd                       fdlas0
C Termattr                       terma0
C bracketcount                   brack0
C Saveporttable                  saveq0
C datecmd                        datec0
C Ciquoteopt                     ciqup0
C Tsgt                           tsgta0
C Tcshiftout                     tcshj0
C Inputstop                      inpuu0
C Saveopd                        savep0
C accessarg                      acces0
C echocmd                        echoc0
C invokeint                      invol0
C substrcmd                      subst0
C Firstuse                       first0
C Tcshiftin                      tcshi0
C Displaytime                    displ0
C Fdcount                        fdcou0
C Symtext                        symte0
C declarecmd                     decla0
C nettrace                       nettr0
C Cirecord                       cirec0
C Cimsize                        cimsi0
C cnstart                        cnsta0
C getnetlabel                    getnf0
C Cicheck                        ciche0
C Termbuf                        termb0
C Lsref                          lsref0
C Tcabslen                       tcabt0
C Rowchgstop                     rowci0
C Maxrow                         maxro0
C Padcol                         padco0
C Lastcharscanned                lastd0
C Opd                            opdaa0
C mailinit                       maili0
C Msgrow                         msgro0
C Padlen                         padle0
C Hpl                            hplaa0
C Savenextarg                    saver0
C histfind                       histf0
C histsub                        hists0
C Stdporttbl                     stdpo0
C Hon                            honaa0
C Defaultporttable               defau0
C fnstart                        fnsta0
C itstartpos                     itsta0
C exitcasecmd                    exitc0
C histfree                       histg0
C histque                        histq0
C redirector                     redir0
C Argc                           argca0
C Termtype                       termt0
C Tccleartoeol                   tcclf0
C invokeext                      invok0
C takecmd                        takec0
C Tccursordown                   tccuv0
C Currow                         curro0
C mailchk                        mailc0
C Nextarg                        nexta0
C Cmdcursor                      cmdcu0
C context                        conte0
C histexp                        histe0
C setupargs                      setup0
C Ciquote                        ciquo0
C Nlchar                         nlcha0
C Isphantom                      ispha0
C Tsun                           tsuna0
C Tsps                           tspsa0
C Reservedvthmisc                resey0
C clrlabels                      clrla0
C Tcuplen                        tcupl0
C Lastchar                       lastc0
C evalcmd                        evalc0
C evalnetsep                     evaln0
C linecmd                        linec0
C repeatcmd                      repea0
C Utemptop                       utemp0
C itblankpos                     itbla0
C elsecmd                        elsec0
C removecn                       remov0
C Bplabel                        bplab0
C itlength                       itlen0
C nodesepr                       nodes0
C Tspw                           tspwa0
C Tcclearscreen                  tccle0
C Tccoordtype                    tccop0
C Tcvertlen                      tcves0
C Fdbcount                       fdbco0
C getchar                        getch0
C initargs                       inita0
C initializeeverything           initi0
C processhello                   proce0
C Comunit                        comun0
C Tccleartoeos                   tcclg0
C Tccursorup                     tccuu0
C command                        commb0
C Symnode                        symno0
C pauseval                       pause0
C assignports                    assii0
C filetype                       filet0
C quotecmd                       quote0
C Tcclrlen                       tcclr0
C Hbuf                           hbufa0
C itstart                        itstb0
C argscmd                        argsc0
C argument                       argum0
C declaredcmd                    declb0
C startlogging                   start0
C Errcod                         errco0
C Lword                          lword0
C Pbptr                          pbptr0
