summaryrefslogtreecommitdiff
path: root/app/mpg/1987/src/PUBINSPK.ELA
diff options
context:
space:
mode:
Diffstat (limited to 'app/mpg/1987/src/PUBINSPK.ELA')
-rw-r--r--app/mpg/1987/src/PUBINSPK.ELA654
1 files changed, 654 insertions, 0 deletions
diff --git a/app/mpg/1987/src/PUBINSPK.ELA b/app/mpg/1987/src/PUBINSPK.ELA
new file mode 100644
index 0000000..0650c20
--- /dev/null
+++ b/app/mpg/1987/src/PUBINSPK.ELA
@@ -0,0 +1,654 @@
+PACKETmpgtestelanprogramsDEFINESelantest:LETs17=0,s30="",s31="*** ELAN TEST VOR
+ZEITIG ABGEBROCHEN ***",s33=1000,s34=1,s35="line exceeding screen",s37="comment
+exceeding line",s38="text denoter too long (",s39=" characters)",s40="text denot
+er exceeding source line",s43=" ""("" open",s44=" ""["" open",s46=";",s47=".",
+s48="(",s49=")",s50="[",s51="]",s53=" ""("" open at end of unit",s54=" ""["" ope
+n at end of unit",s57=77,s58="=",s59="EUMEL - Datei : ",s60=" Zeilen , ",
+s61="Elan - Quelltext : ",s62=" Units , ",s63=" Scanner - Operationen durchg
+efuehrt.",s66="dito ",s67="dito",s68="EOLN ",s69=" ",s74=10,s75="00",s76=100,
+s77="0",s78=" Byte";LETs1=7,s2=8,s3=9,s4=2,s5=4,s6=6,s7=77,s8=255,s9="ENDIFIENDS
+ELECTENDREPEATPERENDPROCEDURENDPACKETENDOP",s10="WARNING: ",s11="ERROR : ";INT
+ VARs12;FILE VARs13;TEXT VARs14;PROCelantest:elantest(lastparam)ENDPROCelantest;
+PROCelantest(TEXT CONSTs15):INT VARs16:=s17,s18:=s17,s19:=s17,s20:=s17,s21:=s17,
+s22:=s17,s23,s24:=s17,s25:=s17,s26:=s17;TEXT VARs27,s28;FILE VARs29:=
+sequentialfile(input,s15);s13:=notefile;s12:=s17;s14:=s30;scan(s30);nextsymbol(
+s27);WHILE NOTeof(s29)REPs32;s36;s27:=incharetyUNTILs27<>s30PER;IFs27<>s30THEN
+putline(s13,s31)FI;s14:=s30;s56;modify(s29);noteedit(s29);line.s32:getline(s29,
+s27);continuescan(s27);s16INCR LENGTHs27;s18INCRs16DIVs33;s16:=s16MODs33;s12INCR
+s34;cout(s12);IF LENGTHs27>s7THENs64(s10+s35)FI.s36:REPEATnextsymbol(s28,s23);
+s24INCRs34;s41UNTILs23>=s1PER;IFs23=s2THENs64(s10+s37)FI;IFs23=s3THENs21INCR
+ LENGTHs28;IFs21>s8THENs64(s11+s38+text(s21)+s39)ELSEs64(s10+s40)FI ELSEs21:=s17
+FI;s20INCRs19DIVs33;s19:=s19MODs33.s41:IFs23=s1THENs42ELIFs23=s6THENs45ELIFs23=
+s5THENs21INCR LENGTHs28;IFs21>s8THENs64(s11+s38+text(s21)+s39)FI ELIFs23=s4CAND
+pos(s9,s28)<>s17THENs52FI;s19INCR LENGTHs28.s42:IFs25<>s17THENs64(s10+text(s25)+
+s43)FI;IFs26<>s17THENs64(s10+text(s26)+s44)FI.s45:IFs28=s46OR(s28=s47ANDs55)THEN
+s52ELIFs28=s48THENs25INCRs34ELIFs28=s49THENs25DECRs34ELIFs28=s50THENs26INCRs34
+ELIFs28=s51THENs26DECRs34FI.s52:s22INCRs34;IFs25<>s17THENs64(s11+text(s25)+s53);
+s25:=s17FI;IFs26<>s17THENs64(s11+text(s26)+s54);s26:=s17FI.s55:FALSE.s56:line(
+s13);putline(s13,s57*s58);putline(s13,s59+text(s12)+s60+s70(s18,s16));putline(
+s13,s61+text(s22)+s62+s70(s20,s19));putline(s13,text(s24)+s63);putline(s13,s57*
+s58).ENDPROCelantest;PROCs64(TEXT CONSTs65):IFs65=s14THENputline(s13,s66+text(
+s12));IFonlineTHENput(s12);putline(s67)FI;LEAVEs64FI;s14:=s65;putline(s13,s68+
+text(s12)+s69+s65);IFonlineTHENput(s12);putline(s65)FI ENDPROCs64;TEXT PROCs70(
+INT CONSTs71,s72):TEXT VARs73:=text(s71);IFs72<s74THENs73CATs75ELIFs72<s76THEN
+s73CATs77FI;s73CATtext(s72);s73CATs78;s73ENDPROCs70ENDPACKETmpgtestelanprograms;
+PACKETmpgarchivesystemDEFINESreserve,archive,release,archiv,archivname,
+archiverror,archivangemeldet,from,to,pla:LETs90="",s98="Unbekannte Laufwerksnumm
+er",s99="Gefundenes Archiv: """,s100="""",s101=""13""10"",s103="Archiv nicht ang
+emeldet",s105=1,s106=13,s107="Archiv heisst",s108=16,s116=70,s117="=",s119="_",
+s121="Archiv eingelegt",s123="PLA",s125=5,s126="ARCHIVNAME: ",s127=" ",s128=" "
+,s129="Date Store Contents",s131=6,s132="-",s135=3,s136="Archivlisting dru
+cken";LETs79=90,s80=91,s81=0,s82=1,s83=2,s84=1,s85=20,s86=19,s87="configurator";
+BOOL VARs88;TEXT VARs89:=s90;PROCreserve(TASK CONSTs91):reserve(s90,s91)ENDPROC
+reserve;PROCreserve(TEXT CONSTs92,TASK CONSTs91):IFs91=archiveTHENs88:=TRUE FI;
+call(s86,s92,s91)ENDPROCreserve;PROCarchive(TEXT CONSTs93):reserve(s93,archive)
+ENDPROCarchive;PROCarchive(TEXT CONSTs93,INT CONSTs94):reserve(s93,s94/archive)
+ENDPROCarchive;PROCarchive(TEXT CONSTs93,TASK CONSTs91):reserve(s93,s91)ENDPROC
+archive;PROCrelease(TASK CONSTs91):call(s85,s90,s91);IFs91=archiveTHENs88:=FALSE
+ FI ENDPROCrelease;PROCrelease:release(archive);ENDPROCrelease;PROCarchiv(INT
+ CONSTs95):SELECTs95OF CASEs81,s82:s96CASEs83:archivOTHERWISEs97ENDSELECT.s96:IF
+station(myself)<>s84THENs97ELSEreserve(archive);SELECTs95OF CASEs81:call(s79,s90
+,task(s87))CASEs82:call(s80,s90,task(s87))ENDSELECT;archivFI.s97:errorstop(s98)
+ENDPROCarchiv;PROCarchiv:s88:=TRUE;TEXT CONSTs93:=archivname;IFs89=s90THEN
+display(s99+s93+s100);ELSEerrorstop(s89)FI;display(s101).ENDPROCarchiv;BOOL PROC
+archivangemeldet:s88ENDPROCarchivangemeldet;TEXT PROCarchivname:TEXT VARs93:=s90
+;THESAURUS VARs102;IF NOTs88THENerrorstop(s103);s90ELSEs88:=FALSE;s89:=s90;
+disablestop;archive(s90);IFiserrorTHENs89:=errormessage;LEAVEarchivnameWITHs90FI
+;s102:=ALLarchive;s104;clearerror;enablestop;archive(s93);s88:=TRUE;s93FI.s104:
+IFsubtext(errormessage,s105,s106)=s107THENs93:=subtext(errormessage,s108,LENGTH
+errormessage-s105)ELSEs89:=errormessageFI ENDPROCarchivname;TEXT PROCarchiverror
+:s89ENDPROCarchiverror;PROCfrom(TEXT CONSTs93):fetch(s93,archive)ENDPROCfrom;
+PROCto(TEXT CONSTs93):BOOL CONSTs109:=commanddialogue;commanddialogue(FALSE);
+save(s93,archive);commanddialogue(s109)ENDPROCto;PROCto:to(lastparam)ENDPROCto;
+PROCfrom(THESAURUS CONSTs110):fetch(s110,archive)ENDPROCfrom;PROCto(THESAURUS
+ CONSTs110):BOOL CONSTs109:=commanddialogue;commanddialogue(FALSE);save(s110,
+archive);commanddialogue(s109)ENDPROCto;PROCpla:pla(TRUE)ENDPROCpla;PROCpla(BOOL
+ CONSTs111):LETs112=18;FILE VARs113;INT VARs114;TEXT CONSTs115:=s116*s117,s118:=
+s116*s119;TEXT VARs120;WHILEyes(s121)REPs122UNTIL NOTs111PER;release.s122:archiv
+;s113:=sequentialfile(output,s123);list(s113,archive);s124;s130;s133;s134.s124:
+modify(s113);toline(s113,s105);FORs114FROMs105UPTOs125REPinsertrecord(s113)PER;
+toline(s113,s105);writerecord(s113,s115);down(s113);writerecord(s113,s126+
+headline(s113)+s127+timeofday+s127+date);down(s113);writerecord(s113,s115);down(
+s113);writerecord(s113,s128);down(s113);writerecord(s113,s129).s130:toline(s113,
+s131);WHILE NOTeof(s113)REPreadrecord(s113,s120);IF(s120SUBs112)=s132THEN
+deleterecord(s113)ELSEdown(s113)FI PER.s133:output(s113);putline(s113,s118).s134
+:modify(s113);edit(s113);line(s135);IFyes(s136)THENprint(s123)FI;forget(s123,
+quiet)ENDPROCplaENDPACKETmpgarchivesystem;PACKETmpgsomeDEFINESsome,SOME,one,
+inchar,center,invers,editsome,editone,reorganize:LETs139=" ",s140=1,s144=2,s145=
+0,s148=""7"",s162=04,s163="-",s164="> "15"weitere Eintraege "14"",s165=52,s200=
+"",s203="Fenster zu klein",s206=""5"",s209=3,s210=5,s212=6,s213=""8"",s219="-> "
+,s220=" > ",s222="----> ",s225="""",s226=""5""13""10"",s228=79,s235=40,s245=4,
+s261=7,s262=8,s263=9,s267="Bitte warten !",s283="-> """,s284=""11"",s285=""2"",
+s306="!",s310=" INFO : Auswahl mehrerer Dateien ",s311=" INFO : Auswahl einer Da
+tei ",s312="q19",s320="zum Editieren",s324="Datei ",s325=30,s326=" wird reorgani
+siert :",s327=" ",s328=" ist keine Datei.",s330=""15" Mit den angekreuzte
+n Namen wird die gewaehlte Operation ausgefuehrt "14"",s331=" "15"
+Positionierungen: "14" ",s332=" Oben : zum vorausgehenden N
+amen",s333=" Unten : zum folgenden Namen ",s334="
+ HOP Oben : zum ersten Namen der (vorigen) Seite",s335="
+HOP Unten : zum letzten Namen der (vorigen) Seite",s336=" HOP RE
+TURN : aktuelle Zeile wird erste Zeile",s337=" ESC 1 : zum
+ ersten Namen der Liste",s338=" ESC 9 : zum letzten Namen d
+er Liste",s339=" ESC s : Liste nach Nummern ordnen",s340="
+ "15" Auswahl treffen: "14" ",s341=" ( Folgende Befehle sind
+ nur bei einer )",s342=" ( Auswahl von mehreren Namen M"218"glich.
+)",s343=" RETURN bzw. x: diesen Namen ankreuzen ",s344="
+ RUBOUT bzw. o: Kreuz vor dem Namen loeschen",s345=" HOP x
+ : alle Namen ankreuzen ",s346=" HOP o : alle Kreuz
+e loeschen ",s347=" ESC x : alle folgenden Namen ankreuz
+en",s348=" ESC o : alle folgenden Kreuze loeschen",s349="
+ RUBIN : einen neuen Namen eintragen",s350=" ( Nur
+ dieser Befehl kann benutzt werden , wenn )",s351=" ( die Auswahl e
+ines ! Namens m"218"glich ist. )",s352=" RETURN bzw. x: diesen
+ Namen auswaehlen",s353=" "15" Auswahl verlassen: "14"",s354="
+ ESC q : Auswaehlen beenden ",s355=" ESC a
+ : Auswahl abbrechen (ohne Kreuze !)",s356=""15" Zum Verlassen des
+Infos bitte 'ESC q' tippen! "14"";LETs137=80;TEXT PROCcenter(
+TEXT CONSTs138):center(s138,s139,s137-s140)ENDPROCcenter;TEXT PROCcenter(TEXT
+ CONSTs138,s141,INT CONSTs142):TEXT VARs143:=((s142-length(s138))DIVs144)*s141;
+s143CAT(s138+s143);IF(LENGTHs143)-s142=s145THENs143ELSEs143+s141FI ENDPROCcenter
+;TEXT PROCinvers(TEXT CONSTs138):s157+s138+s139+s158ENDPROCinvers;PROCinchar(
+TEXT VARs146,TEXT CONSTs147):REPgetchar(s146);IFpos(s147,s146)=s145THENout(s148)
+FI UNTILpos(s147,s146)<>s145PER ENDPROCinchar;LETs149=3,s150=24,s151=200;LETs152
+=""222"",s153=""1""27""3""10""13"x"12"o?"11"",s154=""3""10""12"o"13"x",s155="q19
+a"13"x"12"os";LETs156=""13""10"",s157=""15"",s158=""14"";LETs159="Auswahl einer
+Datei ( Bei Unklarheiten bitte <?> )",s160="Auswahl mehrerer Dateien ( Bei
+Unklarheiten bitte <?> )";TEXT CONSTs161:=s162*s163+s164+s165*s163;LETs166=1,
+s167=2,s168=3,s169=4,s170=5,s171=6,s172=7,s173=8,s174=9,s175=10;LETs176=1003;INT
+ VARs177,s178,s179,s180,s181,s182,s183;TEXT VARs184,s185,s186,s187;BOOL VARs188,
+s189;ROWs151TEXT VARs190;THESAURUS VARs191;FILE VARs192;DATASPACE VARs193;
+INITFLAG VARs194;THESAURUS PROCs195(THESAURUS CONSTs146,BOOL CONSTs196,TEXT
+ CONSTs197,INT CONSTs198,s199):IF NOTinitialized(s194)THENs329FI;s178:=s198;s180
+:=s199;s186:=s197;s184:=s200;s179:=s145;s185:=s200;s231;IFgroesstereditor>s145
+THEN INT VARs201,s202;geteditcursor(s201,s202);IFs150-s179-s149<s202THENs178:=
+s140ELSEs178:=s202;s181:=s180-s178-s149-s179+s140FI FI;IF(s199-s198-s179)<s149OR
+s198<s145ORs199>s150THENerrorstop(s203)FI;THESAURUS VARs204:=emptythesaurus;s191
+:=s146;INT VARs205;s177:=s145;FORs205FROMs140UPTOhighestentry(s146)REP IFname(
+s146,s205)<>s200THENs177INCRs140;s190[s177]:=name(s146,s205)FI PER;IFs177=s145
+THEN LEAVEs195WITHs204FI;s236;s189:=FALSE;s237(s196);IFs189THEN LEAVEs195WITH
+s204FI;cursor(s140,s180);out(s206);s207;s204.s207:TEXT VARs208;WHILEs184<>s200
+REPs208:=subtext(s184,s140,s209);s184:=subtext(s184,s210);insert(s204,s190[int(
+s208)])PER ENDPROCs195;PROCs211:cursor(s140,s179+s182+s178);out(s214(s183,TRUE)+
+s212*s213)ENDPROCs211;TEXT PROCs214(INT CONSTs215,BOOL CONSTs216):INT VARs217:=
+s307(s215);IFs217=s145THENs221ELSEs218FI.s218:IFs216THEN(s209-length(text(s217))
+)*s163+text(s217)+s219ELSEtext(s217,s209)+s220FI.s221:IFs216THENs222ELSEs212*
+s139FI ENDPROCs214;PROCs223(INT CONSTs224):cursor(s140,s179+s178);INT VARs205;
+s227;FORs205FROMs224UPTOs230REPout(s214(s205,FALSE));putline(s225+s190[s205]+
+s225+s206)PER;s229;IFs230<s224+s181THENout((s224+s181-s177)*s226);out(s206)FI.
+s227:IFs182=s183THENout(s228*s163)ELSEout(s161)FI;line.s229:IF NOT((s183+s181-
+s182)<=s177)ORs230=s177THENout(s228*s163)ELSEout(s161)FI.s230:min(s177,s224+s181
+)ENDPROCs223;PROCs231:IFpos(s186,s152)>s145THENs232ELIFs186<>s200ANDlength(s186)
+<s137THENs185CATs186;s185CATs156;s179:=s140ELIFs186<>s200THENs232FI;IFs179>s180-
+s178-s149THENs179:=s180-s178-s149FI;s181:=s180-s178-s149-s179+s140.s232:s187:=
+s186;REPs179INCRs140;s233;s185CATsubtext(s187,s140,pos(s187,s152)-s140);s185CAT
+s156;s187:=subtext(s187,pos(s187,s152)+s140);UNTILpos(s187,s152)=s145PER;IFs187
+<>s200THENs185CATs187;s185CATs156;s179INCRs140FI.s233:IF(pos(s187,s152)>s137OR
+pos(s187,s152)=s145)ANDlength(s187)>s137THENs234FI.s234:INT VARs205;FORs205FROM
+s137DOWNTOs235REP UNTIL(s187SUBs205)=s139PER;s187:=subtext(s187,s140,s205)+s152+
+subtext(s187,s205+s140)+s152ENDPROCs231;PROCs236:cursor(s140,s178);out(s185);
+s183:=s140;s182:=s140;s223(s140);s211ENDPROCs236;PROCs237(BOOL CONSTs196):s188:=
+FALSE;REPs238;s240UNTILs188PER.s238:TEXT VARs239;inchar(s239,s153).s240:SELECT
+pos(s153,s239)OF CASEs166:s242(s196)CASEs167:s260(s196)CASEs168:s293CASEs169:
+s298CASEs170:s276(s196,FALSE);s241CASEs171:s276(s196,TRUE);s241CASEs172:s279CASE
+s173:s279CASEs174:s308(s196)CASEs175:s280;IFs190[s183]<>s200THENs241FI ENDSELECT
+.s241:IF NOTs196THEN LEAVEs237FI ENDPROCs237;PROCs242(BOOL CONSTs196):s243;s240.
+s243:TEXT VARs244;getchar(s244).s240:SELECTpos(s154,s244)OF CASEs145:out(s148)
+CASEs140:s249CASEs144:s254CASEs209,s245:s248CASEs210:s246CASEs212:IFs196THENs247
+ELSEout(s148)FI ENDSELECT.s246:s182:=s140;s223(s183);s211.s247:INT VARs205;FOR
+s205FROMs140UPTOs177REP IFs307(s205)=s145THENs184CATs304(s205)FI PER;s290;s211.
+s248:s184:=s200;s290;s211.s249:IFs250THENout(s148)ELIFs251THENs252ELSEs253FI.
+s250:s183=s140.s251:s182=s140.s252:s183DECR(s181+s140);s183:=max(s183,s140);s223
+(s183);s211.s253:s303;s183DECR(s182-s140);s182:=s140;s211.s254:IFs255THENout(
+s148)ELIFs256THENs257ELSEs259FI.s255:s183=s177.s256:s182>s181.s257:INT VARs258:=
+s183;s183INCR(s181+s140);s183:=min(s183,s177);s182:=s183-s258;s223(s258+s140);
+s211.s259:s303;s258:=s183;s183INCR(s181+s140-s182);s183:=min(s177,s183);s182INCR
+(s183-s258);s211ENDPROCs242;PROCs260(BOOL CONSTs196):TEXT VARs244;getchar(s244);
+SELECTpos(s155,s244)OF CASEs145:out(s148)CASEs140:s188:=TRUE CASEs144:s273CASE
+s209:s274CASEs245:s189:=TRUE;s188:=TRUE CASEs210,s212:IFs196THENs272ELSEout(s148
+)FI CASEs261,s262:IFs196THENs268ELSEout(s148)FI CASEs263:s264ENDSELECT.s264:
+THESAURUS VARs265:=emptythesaurus;TEXT VARs208,s266:=s200;cursor(s140,s180);out(
+center(invers(s267),s163,s137-s140));s205:=s145;WHILEs184<>s200REPs205INCRs140;
+s208:=subtext(s184,s140,s209);s184:=subtext(s184,s210);insert(s265,s190[int(s208
+)]);s266CATs304(s205)PER;s177:=s145;s184:=s266;s191:=s265+s191;FORs205FROMs140
+UPTOhighestentry(s191)REP IFname(s191,s205)<>s200THENs177INCRs140;s190[s177]:=
+name(s191,s205)FI PER;cursor(s140,s180);out(s206);s236.s268:INT VARs269;FORs269
+FROMs183UPTOs177REP INT VARs270:=s307(s269);IFs270<>s145THENs271FI PER;s290;s211
+.s271:s184:=subtext(s184,s140,s245*s270-s245)+subtext(s184,s245*s270+s140).s272:
+INT VARs205;FORs205FROMs183UPTOs177REP IFs307(s205)=s145THENs184CATs304(s205)FI
+ PER;s290;s211.s273:IFs183=s140THENout(s148)ELIFs183=s182THENs303;s183:=s140;
+s182:=s140;s211ELSEs183:=s140;s182:=s140;s223(s140);s211FI.s274:IFs183=s177THEN
+out(s148)ELIFs275THENs303;s182INCR(s177-s183);s183:=s177;s211ELSEs183:=s177;s182
+:=s181+s140;s223(s177-s181);s211FI.s275:(s182+s177-s183)<s181+s140ENDPROCs260;
+PROCs276(BOOL CONSTs196,s277):INT VARs217:=s307(s183);IFs217<>s145THENout(s148);
+s278;LEAVEs276FI;s184CATs304(s183);IFs196THENs278FI.s278:IFs277THENs211ELSE IF
+s183<s177THENs298FI;IFs183=s177THENs211FI FI ENDPROCs276;PROCs279:INT VARs270:=
+s307(s183);IFs270=s145THENout(s148);LEAVEs279FI;s271;s303;s290;s211.s271:s184:=
+subtext(s184,s140,s245*s270-s245)+subtext(s184,s245*s270+s140)ENDPROCs279;PROC
+s280:IFs177=s151THENout(s148);LEAVEs280FI;s281;s282;s289.s281:INT VARs205;FOR
+s205FROMs177DOWNTOs183REPs190[s205+s140]:=s190[s205]PER;s190[s183]:=s225;s177
+INCRs140;s288;s184CATs304(s183);s289.s282:INT VARs217:=s307(s183);cursor(s140,
+s179+s182+s178);out(s206+(s209-length(text(s217)))*s163+text(s217)+s283);push(
+s284);editget(s190[s183]);IF(s286SUBlength(s286))=s225THENs286:=subtext(s286,
+s140,length(s286)-s140)FI;IFs190[s183]=s200THENs279;s287ELSEcursor(s140,s179+
+s182+s178);putline(s212*s285+s225+s190[s183]+s225)FI.s286:s190[s183].s287:FOR
+s205FROMs183UPTOs177-s140REPs190[s205]:=s190[s205+s140];change(s184,s304(s205+
+s140),s304(s205))PER;s177DECRs140.s288:FORs205FROMs177-s140DOWNTOs183REPchange(
+s184,s304(s205),s304(s205+s140))PER.s289:s223(s183-(s182-s140));s290;s211ENDPROC
+s280;PROCs290:INT VARs291,s292,s205;s291:=s183-s182+s140;s292:=min(s291+s181,
+s177);cursor(s140,s179+s140+s178);FORs205FROMs291UPTOs292REPout(s214(s205,FALSE)
+);linePER ENDPROCs290;PROCs293:IFs294THENs295ELSEout(s148)FI.s294:s183>s140.s295
+:IFs182=s140THENs296ELSEs297FI.s296:s183DECRs140;s223(s183);s211.s297:s303;s183
+DECRs140;s182DECRs140;s211ENDPROCs293;PROCs298:IFs299THENs300ELSEout(s148)FI.
+s299:s183<s177.s300:IFs182>s181THENs301ELSEs302FI.s301:s183INCRs140;s223(s183-
+s181);s211.s302:s303;s183INCRs140;s182INCRs140;s211ENDPROCs298;PROCs303:out(s214
+(s183,FALSE))ENDPROCs303;TEXT PROCs304(INT CONSTs305):text(s305,s209)+s306
+ENDPROCs304;INT PROCs307(INT CONSTs215):IFpos(s184,s304(s215))=s145THENs145ELSE(
+pos(s184,s304(s215))DIVs245)+s140FI ENDPROCs307;PROCs308(BOOL CONSTs309):modify(
+s192);IFs309THENheadline(s192,s310);ELSEheadline(s192,s311);FI;toline(s192,s140)
+;openeditor(groesstereditor+s140,s192,FALSE,s140,s178,s228,s180-s178+s140);edit(
+groesstereditor,s312,PROC(TEXT CONST)stdkommandointerpreter);s236ENDPROCs308;
+THESAURUS PROCsome(THESAURUS CONSTs146,TEXT CONSTs313,INT CONSTs198,s199):s195(
+s146,TRUE,s313,s198,s199)ENDPROCsome;THESAURUS PROCsome(THESAURUS CONSTs146):
+some(s146,center(invers(s160)),s140,s150)ENDPROCsome;THESAURUS PROCsome:s195(all
+,TRUE,center(invers(s160)),s140,s150)ENDPROCsome;THESAURUS PROCsome(TEXT CONST
+s314):some(ALLs314)ENDPROCsome;THESAURUS PROCsome(TASK CONSTs315):some(ALLs315)
+ENDPROCsome;THESAURUS OP SOME(THESAURUS CONSTs316):some(s316)ENDOP SOME;
+THESAURUS OP SOME(TASK CONSTs317):some(ALLs317)ENDOP SOME;THESAURUS OP SOME(TEXT
+ CONSTs314):some(ALLs314)ENDOP SOME;TEXT PROCone(THESAURUS CONSTs146,TEXT CONST
+s318,INT CONSTs198,s199):name(s195(s146,FALSE,s318,s198,s199),s140)ENDPROCone;
+TEXT PROCone(THESAURUS CONSTs146):one(s146,center(invers(s159)),s140,s150)
+ENDPROCone;TEXT PROCone(TASK CONSTs315):one(ALLs315)ENDPROCone;TEXT PROCone:one(
+all)ENDPROCone;TEXT PROCone(TEXT CONSTs314):one(ALLs314)ENDPROCone;PROCeditone:
+TEXT CONSTs319:=one(all,center(invers(s159))+s152+center(invers(s320)),s140,s150
+);IFs319<>s200CAND(NOTexists(s319)CORtype(old(s319))=s176)THENedit(s319)FI
+ ENDPROCeditone;PROCeditsome:THESAURUS CONSTs321:=some(all,center(invers(s160))+
+s152+center(invers(s320)),s140,s150);INT VARs205;FORs205FROMs140UPTOhighestentry
+(s321)REP TEXT VARs319:=name(s321,s205);IFs319<>s200CAND(NOTexists(s319)CORtype(
+old(s319))=s176)THENedit(s319)FI PER ENDPROCeditsome;PROCreorganize(THESAURUS
+ CONSTs146):page;do(PROC(TEXT CONST)s322,s146)ENDPROCreorganize;PROCs322(TEXT
+ CONSTs323):IFtype(old(s323))=s176THENput(s324+center(invers(s225+s323+s225),
+s139,s325)+s326);reorganize(s323)ELSEput(s327+center(invers(s225+s323+s225),s139
+,s325)+s328)FI;lineENDPROCs322;PROCs329:s193:=nilspace;s192:=sequentialfile(
+output,s193);putline(s192,s330);line(s192);putline(s192,s331);line(s192);putline
+(s192,s332);putline(s192,s333);putline(s192,s334);putline(s192,s335);putline(
+s192,s336);putline(s192,s337);putline(s192,s338);putline(s192,s339);line(s192);
+putline(s192,s340);line(s192);putline(s192,s341);putline(s192,s342);line(s192);
+putline(s192,s343);putline(s192,s344);putline(s192,s345);putline(s192,s346);
+putline(s192,s347);putline(s192,s348);putline(s192,s349);line(s192);putline(s192
+,s350);putline(s192,s351);line(s192);putline(s192,s352);line(s192);putline(s192,
+s353);line(s192);putline(s192,s354);putline(s192,s355);line(s192);putline(s192,
+s356);ENDPROCs329;ENDPACKETmpgsome;PACKETmpgdmDEFINESdm:LETs364="PUBLIC",s374="k
+",s375="q",s377="",s379=27,s380=" ",s381="V O R M O N I T O R ",s382=4,s383="t",
+s384="Task einstellen, mit der kommuniziert werden soll",s385="p",s386="Es soll
+ mit 'PUBLIC' kommuniziert werden",s387="v",s388="Es soll mit der Vatertask
+ kommuniziert werden",s389="a",s390="Es soll mit dem Archiv kommuniziert werd
+en",s391="Programm beenden",s393="Bitte Eingabe :",s394="tvapq",s395=0,s397="tva
+p",s399="ARCHIVE",s402=1,s403=20,s404=""7""15"FEHLER: ",s405=""14"",s407=14,s408
+="Neue Task:",s409="Mit der eigenen Task kann nicht kommuniziert werden.",s416=2
+,s417="Task ist nicht im Wartezustand",s420=15,s423="ARCHIVE ist nicht im Wartez
+ustand",s428=5,s429=" Erst Diskette einlegen !",s430=100,s432=24,s433="D A T E I
+ M O N I T O R ",s434=3,s435="Auflisten aller Dateien in dieser Task",s436="l",
+s437="Loeschen von Dateien in dieser Task",s438="Archiv: ",s439="Task : ",
+s440=40,s441="'",s442=" ...",s443="""",s447="des Archivs",s448="zum Archiv",s449
+="vom Archiv",s450="in ",s451="zu ",s452="von ",s453="u",s454="Uebersicht uebe
+r alle Dateien ",s455="s",s456="Senden von Dateien ",s457="h",s458="H
+olen von Dateien ",s459="c",s460="'Checken' von Dateien ",
+s461="Vernichten von Dateien ",s462="d",s463="Drucken einer Liste der Dat
+eien des Archivs",s464="f",s465="Formatieren einer Diskette",s466="i",s467="Init
+ialisieren/vollstaendiges Loeschen des Archivs",s468="n",s469="Neue Diskette anm
+elden",s470="Zurueck zum Vormonitor",s472=" Bitte warten...",s473=6,s474=7,
+s475=8,s476=9,s477=10,s478=11,s479=12,s482=""15"",s483=" "14"",s484=" ... ",s486
+="Formatieren einer Diskette.",s487="===========================",s488=""15"Acht
+ung: Alle Disketten-Informationen werden gel"218"scht!"14"",s489="Dies sind die
+moeglichen Formate:",s490="o",s491="... Ohne Format-Angabe",s492="0",s493="... S
+tandard-Format",s494="1",s495="... 40 Spur - 360 KB",s496="2",s497="... 80 Spur
+ - 720 KB",s498="3",s499="... IBM Std - 1200 KB",s500="... Es wird nicht format
+iert.",s502="Ihre Wahl:",s503="o01234q",s504="zuk"219"nftiger Name des Archives
+:",s508="Liste der eigenen Task",s510="Loeschen von Dateien ",s511=" Info mit <
+?>",s512="Bitte alle zu loeschenden Dateien ankreuzen",s513="(Ankreuzen mit <RET
+URN> )",s516="Bitte warten...",s521="nicht reserviert",s522="Haben Sie die Diske
+tte eingelegt und das Laufwerk geschlossen",s524=""15"Sie muessen unbedingt erst
+ das Archiv reservieren, "14"",s525=""15"sonst kann ich nicht darauf zugreifen!
+"14"",s527="Dateiliste",s533=""15"'Checken' von Dateien (auf dem Archiv) "14"",
+s534="Bitte alle zu 'checkenden' Dateien ankreuzen",s537=""15"Schreiben von Date
+ien "14" Info mit <?>",s538="Bitte alle zu schreibenden Dateien ankreuzen.",s542
+=" <--- """,s544="Bitte Warten",s545="-",s546=80,s548="Zuerst Dateien auf der Di
+skette loeschen?",s553=""15"Holen von Dateien "14" Info mit <?>",s554="Bitte al
+le zu holenden Dateien ankreuzen.",s555=" --> """,s558=""15"Vernichten (Loeschen
+) von Dateien "14" Info mit <?>",s559="Bitte alle zu loeschenden Dateien ankreuz
+en.",s562=""15"Vollstaendiges Loeschen des Archivs "14"",s563="Eingestellter Arc
+hivname: ",s564="Moechten Sie einen anderen Namen fuer das Archiv",s566="Bitte d
+en Namen fuer das Archiv (maximal 30 Buchstaben):",s567="Der neue Archivname ist
+ zu lang!",s569="Bitte Fehler beseitigen und Vorgang wiederholen!",s576="keine d
+iskette",s577=""15"Ich mache die Reservierung rueckgaengig! "14"",s578="inkonsis
+tent",s579=""15"Diskette ist nicht formatiert / initialisiert "14"",s580="Lesen
+unmoeglich",s581="Schreiben unmoeglich",s582=""15"Die Diskette ist falsch eingel
+egt "14"",s583=""15"oder das Laufwerk ist nicht geschlossen "14"",s584=""15"oder
+ die Diskette ist nicht formatiert !"14"",s585="Archiv heisst",s586="?????",s587
+=""15"Diskette nicht lesbar ! (Name: '?????') "14"",s588=""15"Moeglicherweise is
+t die Diskette defekt ! "14"",s589=""15"Diskette wurde mit anderem Namen angemel
+det!"14"",s590="Bitte neu reservieren!",s592="Bitte den Fehler beseitigen und da
+s Archiv neu reservieren !",s594="Zum Weitermachen bitte irgendeine Taste tippen
+!";LETs357=""15"",s358=""14"",s359=""222"",s360=24,s361="alnfqushcvdi",s362="al
+ qush v";TASK CONSTs363:=task(s364);TASK VARs365;BOOL VARs366:=archivangemeldet,
+s367,s368:=FALSE;TEXT VARs369,s370,s371;PROCdm:TEXT VARs372,s373:=
+lernsequenzauftaste(s374);REPs376UNTILs372=s375PER;lernsequenzauftastelegen(s374
+,s373).s376:s365:=s363;s392;IFs372<>s375ANDs370<>s377THENs424FI.s378:s370:=name(
+s365);page;write(s379*s380);write(s357);write(s381);write(s358);line(s382);s480(
+s383,s384);s480(s385,s386);s480(s387,s388);s480(s389,s390);s480(s375,s391).s392:
+IFisincharety(s377)THENs378FI;line;write(s393);inchar(s372,s394);out(s372);line;
+IFpos(s389,s372)=s395CANDs365=archiveTHENs574FI;s396.s396:IFpos(s397,s372)<>s395
+THENs398FI.s398:s370:=s377;IFs372=s389THENs370:=s399ELIFs372=s385THENs370:=s364
+ELIFs372=s387THENs370:=name(father)ELSEs406FI;TEXT VARs400;BOOL VARs401:=s370=
+s377CORs370=s364CORs410(s370,s400);IF NOTs401THENcursor(s402,s403);putline(s404+
+s400+s405);pause;s370:=s377;FI;IFs370=s377THENs365:=s363ELIFs370=s399THENs365:=
+archiveELSEs365:=task(s370)FI.s406:REPcursor(s402,s407);put(s408);editget(s370);
+line;IFs370=name(myself)THENputline(s409)FI;UNTILs370<>name(myself)PER;
+lernsequenzauftastelegen(s374,s370).ENDPROCdm;BOOL PROCs410(TEXT CONSTs411,TEXT
+ VARs412):disablestop;TASK VARs413:=task(s411);IFiserrorTHENs412:=errormessage;
+clearerror;enablestop;FALSE ELSEs414FI.s414:IFs411<>s399THENs415ELSEs422FI.s415:
+IFstatus(s413)<>s416THENs412:=s417;enablestop;FALSE ELSEs418FI.s418:INT CONST
+s419:=s420;DATASPACE VARs421:=nilspace;call(s419,s377,s421,s413);forget(s421);IF
+iserrorTHENs412:=errormessage;clearerror;enablestop;FALSE ELSEs412:=s377;
+enablestop;TRUE FI.s422:IFstatus(archive)<>s416THENs412:=s423;LEAVEs422WITH
+ FALSE FI;archive(s377);IFiserrorTHENs412:=errormessage;clearerror;enablestop;
+FALSE ELSEenablestop;s366:=TRUE;s368:=FALSE;s412:=s377;TRUE FI ENDPROCs410;PROC
+s424:s367:=(s365=archive);TEXT VARs425;IFs367THENs425:=s361ELSEs425:=s362FI;TEXT
+ VARs426;INT VARs427;s368:=FALSE;IFs367THENs514FI;REP IFisincharety(s377)THEN
+s431FI;line;write(s393);inchar(s426,s425);s427:=pos(s361,s426);IFs427>s428AND
+ NOTs368ANDs367THENline;putline(s429);pause(s430)ELIFs426<>s380THENs471FI UNTIL
+s426=s375PER;IFarchivangemeldetTHENs574FI.s431:page;write(s432*s380);write(s357)
+;write(s433);write(s358);line(s434);s480(s389,s435);s480(s436,s437);line(s416);
+write(s420*s380);IFs367THENwrite(s438)ELSEwrite(s439)FI;IFs367THEN IFs368THEN IF
+length(s369)>s440THENwrite(s441+subtext(s369,s402,s440)+s442)ELSEwrite(invers(
+s443+s369+s443))FI FI ELSEwrite(invers(s443+s370+s443))FI;line(s416);TEXT VAR
+s444,s445,s446;IFs367THENs444:=s447;s445:=s448;s446:=s449ELSEs444:=s450+s370;
+s445:=s451+s370;s446:=s452+s370FI;s480(s453,s454+s444);s480(s455,s456+s445);s480
+(s457,s458+s446);IFs367THENs480(s459,s460+s444)FI;s480(s387,s461+s444);IFs367
+THENs480(s462,s463);s480(s464,s465);s480(s466,s467);s480(s468,s469);FI;line(s402
+);s480(s375,s470).s471:out(s380+s426+s472);SELECTs427OF CASEs402:s505CASEs416:
+s509CASEs434:s572CASEs382:s485CASEs428:CASEs473:s526CASEs474:s535CASEs475:s551
+CASEs476:s531CASEs477:s556CASEs478:s570CASEs479:s560ENDSELECT ENDPROCs424;PROC
+s480(TEXT CONSTs413,s481):putline(s475*s380+s482+s413+s483+s484+s481)ENDPROCs480
+;PROCs485:page;putline(s486);putline(s487);putline(s488);line;putline(s489);s480
+(s490,s491);s480(s492,s493);s480(s494,s495);s480(s496,s497);s480(s498,s499);s480
+(s375,s500);TEXT VARs501;put(s502);inchar(s501,s503);IFs501=s375THEN LEAVEs485FI
+;out(s501);line;put(s504);editget(s369);line;archive(s369);s368:=TRUE;
+disablestop;IFs501=s490THENformat(archive)ELSEformat(int(s501),archive)FI;IF
+iserrorTHENs595(errormessage);clearerror;s368:=FALSE ELSEs369:=archivnameFI;
+enablestopENDPROCs485;PROCs505:DATASPACE VARs506:=nilspace;FILE VARs507:=
+sequentialfile(output,s506);list(s507);headline(s507,s508);modify(s507);toline(
+s507,s402);show(s507);forget(s506)ENDPROCs505;PROCs509:s371:=center(invers(s510)
++s511)+s359+center(s512)+s359+center(invers(s513));forget(some(all,s371,s402,
+s360))ENDPROCs509;PROCs514:TEXT VARs515;page;cursor(s402,s402);write(s516);line(
+s416);s517(s515);IFs515<>s377THENpage;line(s477);write(s482+s515+s483);s593;s368
+:=FALSE;s366:=FALSE;LEAVEs514FI;s519(s369,s515);IFs515<>s377THENs575(s515)FI.
+ENDPROCs514;PROCs517(TEXT VARs518):s518:=s377;IFs366THEN LEAVEs517FI;disablestop
+;archive(s377);IFiserrorTHENs518:=errormessage;s366:=FALSE;clearerror;enablestop
+;ELSEs366:=TRUE;s518:=s377;enablestopFI ENDPROCs517;PROCs519(TEXT VARs520,s518):
+page;line(s434);s518:=s377;IF NOTs366THENs520:=s377;s368:=FALSE;s518:=s521;LEAVE
+s519FI;IFyes(s522)THENline;write(s516);s520:=archivname;IFarchiverror<>s377THEN
+s518:=archiverror;s368:=FALSE ELSEs368:=TRUE FI ELSEs368:=FALSE;s520:=s377FI
+ ENDPROCs519;PROCs523:page;line(s474);write(s524);line(s416);write(s525);line(
+s416);s593ENDPROCs523;PROCs526:forget(s527,quiet);s528;s529;s530;forget(s527,
+quiet).s528:IFs367ANDs368AND NOTs366THENs523;LEAVEs526FI.s529:FILE VARs507:=
+sequentialfile(output,s527);disablestop;list(s507,s365);IFiserrorTHENpage;IFs367
+THENs575(errormessage)FI;clearerror;enablestop;LEAVEs526;ELSEenablestopFI.s530:
+show(s507)ENDPROCs526;PROCs531:s528;s532.s528:IFs367ANDs368AND NOTs366THENs523;
+LEAVEs531FI.s532:s371:=center(s533)+s359+center(s534);disablestop;check(some(ALL
+s365,s371,s402,s360),s365);s593;IFiserrorTHEN IFs367THENs575(errormessage)FI;
+clearerror;enablestop;LEAVEs531ELSEenablestop;FI ENDPROCs531;PROCs535:s528;s536.
+s528:IFs367ANDs368AND NOTs366THENs523;LEAVEs535FI.s536:s371:=center(s537)+s359+
+center(s538)+s359+center(invers(s513));THESAURUS VARs539:=some(ALLmyself,s371,
+s402,s360);s543;INT VARs540;TEXT VARs541;page;FORs540FROMs402UPTOhighestentry(
+s539)REPs541:=name(s539,s540);disablestop;IFs541<>s377THENputline(s370+s542+s541
++s443);save(s541,s365)FI;IFiserrorTHEN IFs367THENs575(errormessage)FI;clearerror
+;enablestop;LEAVEs535FI;enablestopPER.s543:IFs367CAND(s549(s539))THENout(center(
+invers(s544),s545,s546));THESAURUS CONSTs547:=s539/ALLs365;IFs549(s547)THENpage;
+putline(s548);erase(s547,s365)FI FI ENDPROCs535;BOOL PROCs549(THESAURUS CONST
+s413):INT VARs550;FORs550FROMs402UPTOhighestentry(s413)REP IFname(s413,s550)<>
+s377THEN LEAVEs549WITH TRUE FI PER;FALSE ENDPROCs549;PROCs551:s528;s552.s528:IF
+s367ANDs368AND NOTs366THENs523;LEAVEs551FI.s552:s371:=center(s553)+s359+center(
+s554);THESAURUS VARs539:=some(ALLs365,s371,s402,s360);INT VARs540;TEXT VARs541;
+page;FORs540FROMs402UPTOhighestentry(s539)REPs541:=name(s539,s540);disablestop;
+IFs541<>s377THENputline(s370+s555+s541+s443);fetch(s541,s365)FI;IFiserrorTHEN IF
+s367THENs575(errormessage)FI;clearerror;enablestop;LEAVEs551ELSEenablestopFI PER
+ ENDPROCs551;PROCs556:s528;s557.s528:IFs367ANDs368AND NOTs366THENs523;LEAVEs556
+FI.s557:s371:=center(s558)+s359+center(s559);disablestop;erase(some(ALLs365,s371
+,s402,s360),s365);IFiserrorTHEN IFs367THENs575(errormessage)FI;clearerror;
+enablestop;LEAVEs556ELSEenablestop;FI ENDPROCs556;PROCs560:TEXT VARs561;page;
+line(s416);write(center(s562));line(s416);IFs366ANDs368THENwrite(s563+invers(
+s443+s369+s443));line(s416);IFyes(s564)THENline(s416);s565ELSEs561:=s369FI ELSE
+s565FI;s568.s565:write(s566);line;getline(s561);s561:=compress(s561);IFlength(
+s561)>s440THENline(s416);write(s567);s593;LEAVEs560FI.s568:disablestop;s369:=
+s561;archive(s561);IFiserrorTHENs595(errormessage);line;write(s569);clearerror;
+enablestop;s593;s368:=FALSE;s366:=FALSE;LEAVEs560ELSEclear(archive);IFiserror
+THENpage;line(s416);s575(errormessage);clearerror;enablestop;s593;s368:=FALSE;
+LEAVEs560ELSEs369:=archivname;s368:=archiverror=s377FI FI ENDPROCs560;PROCs570:
+s528;s571;s593.s528:IFs367ANDs368AND NOTs366THENs523;LEAVEs570FI.s571:pla(FALSE)
+.ENDPROCs570;PROCs572:s528;s573.s528:IF NOTs366THENs514;LEAVEs572FI.s573:TEXT
+ VARs515;page;cursor(s402,s402);write(s516);line(s416);s519(s369,s515);IFs515<>
+s377THENs575(s515)FI.ENDPROCs572;PROCs574:s366:=FALSE;s368:=FALSE;
+commanddialogue(FALSE);release(archive);commanddialogue(TRUE)ENDPROCs574;PROC
+s575(TEXT CONSTs515):line(s416);IFs515=s521THENs523;ELIFs515=s576THENwrite(s577)
+;s591ELIFpos(s515,s578)>s395THENwrite(s579);s591;ELIFpos(s515,s580)>s395CORpos(
+s515,s581)>s395THENwrite(s582);line(s416);write(s583);line(s416);write(s584);
+s591;ELIFpos(s515,s585)>s395ANDpos(s515,s586)>s395THENwrite(s587);line(s416);
+write(s588);s591;ELIFpos(s515,s585)>s395THENwrite(invers(s515));line(s416);write
+(s589);line(s416);write(s590);s593ELSEwrite(invers(s515));s591FI ENDPROCs575;
+PROCs591:line(s416);write(s592);s593;s368:=FALSE ENDPROCs591;PROCs593:line(s416)
+;write(s594);pauseENDPROCs593;PROCs595(TEXT CONSTs515):page;line(s477);write(
+invers(s515));s593ENDPROCs595ENDPACKETmpgdm;PACKETmpgtoolsDEFINESput,th,gen:LET
+s596="E",s597=""27""2""27"p"27"qedit ("27"g)"13"",s599="TRUE",s600="FALSE",s606=
+"***",s607="-->",s608=""13""10"",s610=77,s611="=",s612=" wird insertiert"13""10"
+",s619="gen.",s622=0,s623="GENERIERUNG VON ",s624=16,s626=1,s627=2,s628="Bitte e
+ntfernen Sie Ihre Diskette aus dem Laufwerk!",s630="global manager";
+lernsequenzauftastelegen(s596,s597);PROCput(BOOL CONSTs598):IFs598THENput(s599)
+ELSEput(s600)FI ENDPROCput;PROCth(THESAURUS CONSTs601):THESAURUS VARs602:=SOME
+s601;s602:=emptythesaurusENDPROCth;BOOL VARs603:=FALSE;PROCs604(TEXT CONSTs605):
+IFexists(s605)THENdisplay(s606)ELSE IF NOTs603THENarchiv;s603:=TRUE FI;display(
+s607);from(s605)FI;display(s605+s608)ENDPROCs604;PROCs609(TEXT CONSTs605):line;
+out(s610*s611+s608);out(s605+s612);insert(s605);forget(s605,quiet)ENDPROCs609;
+LETs613=20;ROWs613TEXT VARs614;INT VARs615,s616;PROCgen:TEXT CONSTs617:=name(
+myself),s618:=s619+s617;TEXT VARs620;BOOL VARs621:=TRUE;s603:=FALSE;s615:=s622;
+s616:=s622;page;putline(s623+s617);putline((s624+length(s617))*s611);s604(s618);
+FILE VARs625:=sequentialfile(input,s618);WHILE NOTeof(s625)ANDs616<s613REP
+getline(s625,s620);s620:=compress(s620);IFs620=s618THENs621:=FALSE FI;IFs621THEN
+s615INCRs626FI;s616INCRs626;s604(s620);s614[s616]:=s620PER;forget(s618,quiet);IF
+s603THENrelease;line(s627);put(s628);lineFI;INT VARs629;FORs629FROMs626UPTOs615
+REPs609(s614[s629])PER;IFyes(s630)THENdo(s630)FI.ENDPROCgenENDPACKETmpgtools;
+PACKETtargethandlingDEFINES TARGET,initializetarget,completetarget,
+deleteintarget,selecttarget,actualtargetname,actualtargetset,targetnames:LETs638
+="Bezeichner bereits vorhanden",s640=0,s641="";TYPE TARGET=STRUCT(INTs631,
+THESAURUSs632,s633);LETs634=0;PROCinitializetarget(TARGET VARs635):s635.s633:=
+emptythesaurus;s635.s632:=emptythesaurus;s635.s631:=s634ENDPROCinitializetarget;
+PROCcompletetarget(TARGET VARs635,TEXT CONSTs636,s637):IF NOT(s635.s632CONTAINS
+s636)THENinsert(s635.s632,s636);insert(s635.s633,s637)ELSEerrorstop(s638)FI
+ ENDPROCcompletetarget;PROCdeleteintarget(TARGET VARs635,TEXT CONSTs636):INT
+ CONSTs639:=link(s635.s632,s636);delete(s635.s632,s639);delete(s635.s633,s639);
+s635.s631:=s634ENDPROCdeleteintarget;PROCselecttarget(TARGET VARs635,TEXT CONST
+s636,TEXT VARs637):INT VARs639:=link(s635.s632,s636);IFs639<>s640THENs637:=name(
+s635.s633,s639);s635.s631:=s639ELSEs637:=s641FI ENDPROCselecttarget;TEXT PROC
+actualtargetname(TARGET CONSTs635):IFs635.s631=s634THENs641ELSEname(s635.s632,
+s635.s631)FI ENDPROCactualtargetname;TEXT PROCactualtargetset(TARGET CONSTs635):
+IFs635.s631=s634THENs641ELSEname(s635.s633,s635.s631)FI ENDPROCactualtargetset;
+THESAURUS PROCtargetnames(TARGET CONSTs635):s635.s632ENDPROCtargetnamesENDPACKET
+targethandling;PACKETmpgprintcmdDEFINESprint,selectprinter,installprinters,
+listprinters,printer,printers:LETs650="",s654=1,s656=24,s660=0;TARGET VARs642;
+LETs643="PRINTER",s644="PRINTER AUSWAHL";LETs645=""222"";TARGET PROCprinters:
+s642ENDPROCprinters;PROCinstallprinters(FILE VARs646):initializetarget(s642);
+TEXT VARs647,s648;TEXT VARs649:=s650,s651:=s650;WHILE NOTeof(s646)REP TEXT VAR
+s652;getline(s646,s652);IFs652<>s650THEN INT CONSTs653:=pos(s652,s645);s647:=
+subtext(s652,s654,s653-s654);s648:=subtext(s652,s653+s654);completetarget(s642,
+s647,s648);IFint(s647)=station(myself)THENs649:=s647;s651:=s648FI FI PER;
+selecttarget(s642,s649,s651);IFs651<>s650THENfonttable(s651)FI ENDPROC
+installprinters;PROCselectprinter:TEXT VARs655;selecttarget(s642,one(targetnames
+(s642),s644,s654,s656),s655);IFs655<>s650THENfonttable(s655)FI ENDPROC
+selectprinter;PROClistprinters:th(targetnames(s642))ENDPROClistprinters;PROC
+print:print(lastparam)ENDPROCprint;PROCprint(TEXT CONSTs657):save(s657,printer)
+ENDPROCprint;PROCprint(THESAURUS CONSTs658):save(s658,printer)ENDPROCprint;TASK
+ PROCprinter:INT VARs659:=int(actualtargetname(s642));IFs659=s660THENniltaskELSE
+s659/s643FI ENDPROCprinterENDPACKETmpgprintcmd;PACKETeditmonitorDEFINES
+editmonitor,close,F,table:LETs670="quitmonitor:1.0edit:2.1run:3.1insert:4.1",
+s671="forget:5.1rename:6.2copy:7.2fetch:8.1",s672="save:9.1close:10.1fileinfo:11
+.0reorganize:12.1",s684=0,s689="",s698="Q",s702=""1""8""1""12"quitmonitor"13"",
+s703=1,s704="Editmonitor overflow: Bereits ",s705="Monitore geoeffnet",s708="
+"10"",s711=22,s715=""3"",s716=" ",s717=""13""10" ",s718="fk",s719="
+"27"k",s720=""13""5"",s721="f",s722=7,s725=50,s728=4,s730=""1"",s731=2,s732=" :
+",s733="""",s734=""5""10""13"",s735=""5"",s737=5,s738=" ",s739=11,s740="=",s741=
+16,s742=" ",s745=3,s746=6,s747=8,s748=9,s749=10,s750=12,s754=""7"",s765="Maxima
+l 10 Parallel-Editoren",s774=79,s775=25,s776=24,s778="Undefinierter Index [1;15]
+",s780=""5"? ",s781=""13""10"",s782=""2"",s783="Datei neu einrichten",s795=120;
+LETs661=18,s662=15,s663=1003,s664=24,s665=3,s666=4711,s667="Gib Edit-Monitor ",
+s668=" Kommando :";TEXT CONSTs669:=s670+s671+s672;LET SGHD=ROWs662STRUCT(
+THESAURUSs674,TEXTs675,FILEs676);LETs677=0,s678=1,s679=2;INT VARs680,s681,s682,
+s683:=s684,s685;TEXT VARs686,s687,s688:=s689,s690:=s689;BOOL VARs691,s692:=FALSE
+,s693:=FALSE;INITFLAG VARs694;SGHD VARs695;PROCeditmonitor:TEXT VARs696,s697:=
+lernsequenzauftaste(s698);INT VARs699,s700:=heapsize;disablestop;s701;s756;REP
+s706;s712;s743;s727UNTILs693PER;lernsequenzauftastelegen(s698,s697);s726.s701:
+lernsequenzauftastelegen(s698,s702);s693:=FALSE;s683INCRs703;IFs683>s662THENs683
+DECRs703;errorstop(s704+text(s662)+s705)ELSE IF NOTinitialized(s694)THEN FORs699
+FROMs703UPTOs662REPs695[s699].s674:=emptythesaurus;s695[s699].s675:=s689PER FI;
+FORs699FROMs703UPTOs662REPs695[s699].s675:=name(s695[s683].s674,s699)PER FI.s706
+:s707;s729.s707:out(s708);INT VARs709,s710;getcursor(s709,s710);FORs709FROMs703
+UPTOs710-s711REPout(s708)PER;s685:=max(s661,min(s710+s703,s711)).s712:BOOL VAR
+s713:=FALSE,s714:=FALSE;IFiserrorTHENs690:=s688;out(s715);puterror;clearerror;
+s714:=TRUE ELSEs690:=s689FI;out(s716);out(s798);out(s717);IF NOTs714THENs723FI;
+IFs713THENs680:=s666;LEAVEs712FI;editget(s690,s689,s718,s696);IFs696=s719THENout
+(s720);s690:=s688;out(s716);editget(s690,s689,s721,s696)FI;line;s688:=s690;s680
+:=s796(s690);paramposition(LENGTHs690+s722);IF(s680>s684ANDs680<=s662)ANDs682>
+s684THENs691:=TRUE ELSEs691:=FALSE;analyzecommand(s669,s690,s665,s680,s681,s686,
+s687)FI.s723:BOOL VARs724;s696:=getcharety;IFs696<>s689THENpush(s696);LEAVEs723
+FI;s696:=incharety(s725);IFs696<>s689THENtype(s696);LEAVEs723FI;FORs699FROMs703
+UPTOs662REPreorganize(s695[s699].s675,s713,s724,s699);UNTILs724ORs713PER.s726:
+s683DECRs703;s680:=s684;s693:=s683=s684;IFs683>s684THEN FORs699FROMs703UPTOs662
+REPs695[s699].s675:=name(s695[s683].s674,s699)PER;ELSEs686:=s689;s687:=s689;s690
+:=s689;s688:=s689FI.s727:IFheapsize>s700+s728THENcollectheapgarbage;s700:=
+heapsizeFI ENDPROCeditmonitor;PROCs729:INT VARs699;out(s730);FORs699FROMs703UPTO
+s662WHILE NOTisincharetyREPout(text(s699,s731));out(s732);IFs692THENs736FI;IF
+s695[s699].s675<>s689THENout(s733+s695[s699].s675+s733)FI;out(s734)PER;out(s735)
+;cursor(s703,s685).s736:IFexists(s695[s699].s675)THEN IFtype(old(s695[s699].s675
+))=s663THENout(text(lines(s695[s699].s676),s737));out(s738);out(text(segments(
+s695[s699].s676),s728));out(s738)ELSEout(s739*s740)FI;out(text(storage(old(s695[
+s699].s675)),s737))ELIFs695[s699].s675<>s689THENout(s741*s740)FI;out(s742).
+ENDPROCs729;PROCs743:enablestop;IFs680=s666THEN LEAVEs743FI;IFs691THENs761(s680)
+ELSEs744FI.s744:SELECTs680OF CASEs703:s693:=TRUE CASEs731:edit(s785(s686))CASE
+s745:run(s785(s686))CASEs728:insert(s785(s686))CASEs737:forget(s785(s686));close
+(int(s686))CASEs746:rename(s785(s686),s785(s687))CASEs722:copy(s785(s686),s785(
+s687))CASEs747:fetch(s785(s686))CASEs748:save(s785(s686))CASEs749:close(int(s686
+))CASEs739:s692:=NOTs692CASEs750:reorganize(s785(s686))OTHERWISEdo(s690)
+ENDSELECT ENDPROCs743;PROCclose(INT CONSTs751):IF(s751>s684ANDs751<=s662)CAND
+s695[s751].s675<>s689THEN IFexists(s695[s751].s675)CANDtype(old(s695[s751].s675)
+)=s663THENclose(s695[s751].s676)FI;INT VARs752;delete(s695[s683].s674,s695[s751]
+.s675,s752);s695[s751].s675:=s689FI ENDPROCclose;TEXT OP F(INT CONSTs753):IFs753
+>s684ANDs753<=s662THENs695[s753].s675ELSEout(s754);s689FI ENDOP F;OP F(INT CONST
+s753,TEXT CONSTs755):IFs753>s684ANDs753<=s662THENs695[s753].s675:=s755;insert(
+s695[s683].s674,s755);IFexists(s755)CANDtype(old(s755))=s663THENs695[s753].s676
+:=sequentialfile(modify,s755)FI ELSEout(s754)FI ENDOP F;PROCs756:table(some(all+
+s695[s683].s674+s757)).s757:IFs683=s703THENemptythesaurusELSEs695[s683-s703].
+s674FI ENDPROCs756;THESAURUS PROCtable:THESAURUS VARs758:=emptythesaurus;INT VAR
+s699;FORs699FROMs703UPTOs662REP IFexists(s695[s699].s675)AND NOT(s758CONTAINS
+s695[s699].s675)THENinsert(s758,s695[s699].s675)FI PER;s758ENDPROCtable;PROC
+table(THESAURUS CONSTs759):INT VARs699,s753:=s703,s709;TEXT VARs760;s695[s683].
+s674:=emptythesaurus;FORs699FROMs703UPTOs662REPs695[s699].s675:=s689PER;FORs699
+FROMs703UPTOhighestentry(s759)REPget(s759,s760,s709);IFs760<>s689THENs753Fs760;
+s753INCRs703FI UNTILs753>s662PER ENDPROCtable;PROCs761(INT CONSTs762):enablestop
+;IFs682=s703THENs763ELSEs764FI.s763:SELECTs777(s762)OF CASEs678:lastparam(s695[
+s762].s675);edit(s695[s762].s676);pageCASEs679:do(s695[s762].s675)ENDSELECT.s764
+:IFs682<=s749THENs766;IFgroesstereditor>s684THENedit(s703);WHILEgroesstereditor>
+s684REPquitPER;pageFI ELSEerrorstop(s765)FI.s766:TEXT VARs767,s768:=s689;INT VAR
+s769:=s703,s770:=s762,s771;WHILEgroesstereditor>s684REPquitPER;FORs771FROMs703
+UPTOs731REP IFs771=s731THENs690:=s768FI;scan(s690);nextsymbol(s767);REP INT VAR
+s772:=s777(s770);IFs771=s703THEN SELECTs772OF CASEs677:s682DECRs703CASEs678:s768
+CAT(s767+s738)CASEs679:s768CAT(s767+s738);s682DECRs703ENDSELECT ELSE SELECTs772
+OF CASEs678:s773CASEs679:do(s695[s770].s675);IFgroesstereditor>s684THEN
+bildzeigen;ueberschriftzeigenFI ENDSELECT FI;nextsymbol(s767);s770:=int(s767)
+UNTILs767=s689PER;s770:=s762;PER.s773:openeditor(groesstereditor+s703,s695[s770]
+.s676,TRUE,s703,s769,s774,s775-s769);s769INCR(s776DIVs682)ENDPROCs761;INT PROC
+s777(INT CONSTs762):IFs762>s684ANDs762<=s662THEN IFs695[s762].s675=s689THENs779;
+IFs695[s762].s675<>s689THEN IFexists(s695[s762].s675)THEN IFtype(old(s695[s762].
+s675))=s663THENs678ELSEs677FI ELSEs679FI ELSEs677FI ELIF NOTexists(s695[s762].
+s675)THENs679ELIFtype(old(s695[s762].s675))<>s663THENs677ELSEmodify(s695[s762].
+s676);s678FI ELSEerrorstop(s778);s677FI.s779:cursor(s728,s762);out(s780);editget
+(s695[s762].s675);IFs695[s762].s675<>s689THENs762Fs695[s762].s675;IF NOTexists(
+s695[s762].s675)THENout(s781);IFno(s737*s782+s783)THEN LEAVEs777WITHs677ELSEs784
+FI ELIFtype(old(s695[s762].s675))=s663THENs784FI FI.s784:s695[s762].s676:=
+sequentialfile(output,s695[s762].s675).ENDPROCs777;BOOL PROCisincharety:TEXT VAR
+s696:=getcharety;IFs696=s689THEN FALSE ELSEpush(s696);TRUE FI ENDPROCisincharety
+;TEXT PROCs785(TEXT CONSTs786):INT VARs699:=int(s786);IF(s699>s684ANDs699<=s662)
+THENs695[s699].s675ELSEs786FI.ENDPROCs785;PROCreorganize(TEXT CONSTs755,BOOL VAR
+s787,s788,INT CONSTs789):DATASPACE VARs790;FILE VARs791,s792;TEXT VARs760;INT
+ VARs793,s699,s794,s710;getcursor(s794,s710);s788:=FALSE;IF NOTexists(s755)COR
+type(old(s755))<>s663THEN LEAVEreorganizeFI;s791:=sequentialfile(modify,s755);
+s793:=lineno(s791);input(s791);IF(lines(s791)<s795CANDsegments(s791)<s746)COR
+lines(s791)DIVsegments(s791)>=s664THENmodify(s791);toline(s791,s793);LEAVE
+reorganizeFI;disablestop;s790:=nilspace;s792:=sequentialfile(output,s790);IFs692
+THEN FORs699FROMs703UPTOlines(s791)REPcursor(s728,s789);put(s699);getline(s791,
+s760);putline(s792,s760);IFiserrorCORisincharetyTHENs724FI PER ELSE FORs699FROM
+s703UPTOlines(s791)REPgetline(s791,s760);putline(s792,s760);IFiserrorCOR
+isincharetyTHENs724FI PER FI;copyattributes(s791,s792);modify(s792);toline(s792,
+s793);forget(s755,quiet);copy(s790,s755);forget(s790);s787:=TRUE.s724:cursor(
+s728,lines(s791));forget(s790);s788:=TRUE;cursor(s794,s710);enablestop;LEAVE
+reorganize.ENDPROCreorganize;INT PROCs796(TEXT CONSTs690):INT VARs797,s758:=s684
+;TEXT VARs767;s682:=s684;scan(s690);REPnextsymbol(s767,s797);IFs797=s745THEN IF
+s682=s684THENs758:=int(s767)FI;s682INCRs703ELIFs797<>s722THENs682:=s684FI UNTIL
+s797=s722ORs682=s684PER;s758ENDPROCs796;TEXT PROCs798:s667+text(s683)+s668
+ENDPROCs798;ENDPACKETeditmonitor;PACKETmpgglobalmanagerDEFINESmonitor,break,
+endglobalmanager,begin,beginpassword,managermessage,managerquestion,freemanager,
+stdmanager,mpgmanager,freeglobalmanager,globalmanager:LETs832="",s840="checkoff;
+endglobalmanager(TRUE);",s841="warnings off;sysout("""");sysin("""");",s842="mon
+itor",s847="Task-Passwort :",s848="Beginn-Passwort:",s854=2,s856=1,s860="Kein Z
+ugriffsrecht auf Task """,s861="""",s867="Falscher Auftrag fuer Task """,s875="-
+",s876="Passwort falsch",s881=""" existiert nicht",s882=""" loeschen",s885=""" u
+eberschreiben",s888=" ",s899="break:1.0end:2.0monitor:3.0stdbeginproc:4.1",s900=
+"Gib ",s901="-Kommando :",s902=0,s903=3,s904=4,s916=""3""13""5"",s920=6,s932="gi
+b kommando :",s936=""7"Speicher Engpass! Dateien loeschen!"13""10"",s938=5,s939=
+7,s940=8,s941=9,s942=10,s943=11,s944=12,s945=13,s946=14,s947=15,s948=16,s949=17,
+s950=18,s951=19;LETs799=0,s800=1,s801=2,s802=3,s803=4,s804=5,s805=6,s806=4,s807=
+9,s808=11,s809=12,s810=13,s811=14,s812=15,s813=17,s814=24,s815=100,s816=""7""13"
+"10""5"Fehler : ",s817=""13""10"";DATASPACE VARs818:=nilspace;BOUND STRUCT(TEXT
+s819,s820,s821)VARs822;BOUND TEXT VARs823;TASK VARs824,s825;FILE VARs826;INT VAR
+s827,s828,s829,s830;TEXT VARs831:=s832,s833,s834,s835:=s832,s836,s837,s838;TEXT
+ VARs839:=s840+s841+s842;BOOL VARs843,s844;PROCmpgmanager(PROC(DATASPACE VAR,INT
+ CONST,INT CONST,TASK CONST)s845):IFonlineTHEN TEXT VARs846;put(s847);
+getsecretline(s846);IFs846<>s832THENtaskpassword(s846)FI;put(s848);getsecretline
+(s846);IFs846<>s832THENbeginpassword(s846)FI FI;s844:=FALSE;globalmanager(PROC(
+DATASPACE VAR,INT CONST,INT CONST,TASK CONST)s845)ENDPROCmpgmanager;PROC
+globalmanager:mpgmanager(PROC(DATASPACE VAR,INT CONST,INT CONST,TASK CONST)
+stdmanager)ENDPROCglobalmanager;PROCglobalmanager(PROC(DATASPACE VAR,INT CONST,
+INT CONST,TASK CONST)s845):s843:=TRUE;s849(PROC(DATASPACE VAR,INT CONST,INT
+ CONST,TASK CONST)s845)ENDPROCglobalmanager;PROCs849(PROC(DATASPACE VAR,INT
+ CONST,INT CONST,TASK CONST)s845):s919;setautonom;disablestop;commanddialogue(
+FALSE);s825:=niltask;s851;REPwait(s818,s828,s824);IFs828<>s804THENs855;s845(s818
+,s828,s830,s824)ELIFs824=s825THENs857;s845(s818,s828,s830,s824)ELSEs858FI;s850;
+s853UNTIL(NOTs843)AND(NOTs844)PER;commanddialogue(TRUE);resetautonom.s850:IF
+iserrorTHENforget(s818);s818:=nilspace;s823:=s818;CONCR(s823):=errormessage;
+clearerror;send(s824,s801,s818)FI.s851:INT VARs852:=heapsize.s853:IFheapsize>
+s852+s854THENcollectheapgarbage;s852:=heapsizeFI.s855:s830:=s856;s829:=s828;s825
+:=s824.s857:s830INCRs856;s828:=s829.s858:forget(s818);s818:=nilspace;send(s824,
+s800,s818)ENDPROCs849;PROCfreeglobalmanager:mpgmanager(PROC(DATASPACE VAR,INT
+ CONST,INT CONST,TASK CONST)freemanager)ENDPROCfreeglobalmanager;PROCstdmanager(
+DATASPACE VARs818,INT CONSTs828,s859,TASK CONSTs824):IF(s828=s806ANDs862)CORs863
+THENfreemanager(s818,s828,s859,s824)ELSEerrorstop(s860+name(myself)+s861)FI.s862
+:(s864ORs865)ANDs843.s863:s864ORs865.s864:s824<supervisorORs824=supervisor.s865:
+s824<myselfENDPROCstdmanager;PROCfreemanager(DATASPACE VARs818,INT CONSTs828,
+s859,TASK CONSTs824):enablestop;IFs828>s815ANDs824=supervisorTHENs893ELIFs828=
+s806ANDs843THENs869ELSEs866FI.s866:s868;SELECTs828OF CASEs808:s879CASEs809:s883
+CASEs810:s889CASEs811:s880CASEs812:s890CASEs813:s891CASEs814:s907OTHERWISE
+errorstop(s867+name(myself)+s861)ENDSELECT.s868:IFs828>=s808ANDs828<=s811ANDs859
+=s856THENs822:=s818;s834:=s822.s819FI.s869:BOUND STRUCT(TEXTs870,s871,TASKs872,
+PROCAs873)VARs874:=s818;IFs835=s874.s871ANDs835<>s875THENs877ELIFs874.s871=s832
+THENs878ELSEerrorstop(s876)FI.s877:begin(s818,PROCs912,s827);send(s824,s827,s818
+).s878:send(s824,s807,s818).s879:IFreadpermission(s834,s822.s821)CORs824<
+supervisorTHENforget(s818);s818:=old(s834);send(s824,s799,s818)ELSEerrorstop(
+s876)FI.s880:s822:=s818;s834:=s822.s819;IF NOTexists(s834)THENmanagermessage(
+s861+s834+s881,s824)ELIFs830=s856THENmanagerquestion(s861+s834+s882,s824)ELIF
+writepermission(s834,s822.s820)CORs824<supervisorTHENforget(s834,quiet);send(
+s824,s799,s818)ELSEerrorstop(s876)FI.s883:IFs830=s856THENs884ELSEs886FI.s884:IF
+writepermission(s834,s822.s820)CORs824<supervisorTHENs838:=s834;s836:=s822.s820;
+s837:=s822.s821;IFexists(s834)THENmanagerquestion(s861+s834+s885,s824)ELSEsend(
+s824,s804,s818)FI;ELSEerrorstop(s876)FI.s886:forget(s838,quiet);copy(s818,s838);
+enterpassword(s838,s836,s837);forget(s818);s818:=nilspace;send(s824,s799,s818);
+s887.s887:replace(s836,s856,LENGTHs836*s888);replace(s837,s856,LENGTHs837*s888).
+s889:IFexists(s834)THENsend(s824,s799,s818)ELSEsend(s824,s805,s818)FI.s890:
+forget(s818);s818:=nilspace;s826:=sequentialfile(output,s818);list(s826);send(
+s824,s799,s818).s891:BOUND THESAURUS VARs892:=s818;s892:=all;send(s824,s799,s818
+).s893:TEXT VARs894,s895;INT VARs896,s897;TEXT CONSTs898:=s899;disablestop;call(
+supervisor,s828,s818,s827);forget(s818);IFs827=s799THEN IFs844THEN
+endglobalmanager(TRUE);LEAVEs893FI;s905;REPcommanddialogue(TRUE);getcommand(s900
++name(myself)+s901);analyzecommand(s898,s902,s896,s897,s894,s895);SELECTs896OF
+ CASEs856:s919CASEs854,s903:s843:=FALSE;s844:=FALSE;LEAVEs893CASEs904:s839:=s894
+OTHERWISEdocommandENDSELECT UNTIL NOTonlinePER;commanddialogue(FALSE);s919;
+setautonom;s906FI;enablestop.s905:IFs831<>s832THENout(s816);out(s831);out(s817);
+s831:=s832FI.s906:IFiserrorTHENs831:=errormessage;clearerrorFI.s907:FILE VARs908
+:=sequentialfile(input,s818);WHILE NOTeof(s908)REPgetline(s908,s833);IFexists(
+s833)THENforget(s833,quiet)FI PER;send(s824,s799,s818).ENDPROCfreemanager;PROC
+managerquestion(TEXT CONSTs909):forget(s818);s818:=nilspace;s823:=s818;s823:=
+s909;send(s824,s803,s818)ENDPROCmanagerquestion;PROCmanagerquestion(TEXT CONST
+s909,TASK CONSTs910):forget(s818);s818:=nilspace;s823:=s818;s823:=s909;send(s910
+,s803,s818)ENDPROCmanagerquestion;PROCmanagermessage(TEXT CONSTs911):forget(s818
+);s818:=nilspace;s823:=s818;s823:=s911;send(s824,s802,s818)ENDPROCmanagermessage
+;PROCmanagermessage(TEXT CONSTs911,TASK CONSTs910):forget(s818);s818:=nilspace;
+s823:=s818;s823:=s911;send(s910,s802,s818)ENDPROCmanagermessage;PROCs912:do(s839
+)ENDPROCs912;PROCbegin(TEXT CONSTs913):TASK VARs914;begin(s913,PROCmonitor,s914)
+ENDPROCbegin;PROCbeginpassword(TEXT CONSTs915):s917;s835:=s915;display(s916);
+covertracks.s917:replace(s835,s856,LENGTHs835*s888)ENDPROCbeginpassword;PROC
+endglobalmanager(BOOL CONSTs918):s843:=NOTs918;s844:=NOTs918ENDPROC
+endglobalmanager;PROCs919:eumelmustadvertise;s921(s920)ENDPROCs919;PROCbreak:IF
+s843THENs919;LEAVEbreakFI;s844:=TRUE;s843:=FALSE;s849(PROC(DATASPACE VAR,INT
+ CONST,INT CONST,TASK CONST)stdmanager)ENDPROCbreak;PROCs921(INT CONSTs922):
+DATASPACE VARs923:=nilspace;INT VARs924;call(supervisor,s922,s923,s924);IFs924=
+s801THEN BOUND TEXT VARs925:=s923;forget(s923);errorstop(s925)FI;forget(s923)
+ENDPROCs921;LETs926="edit:1.01end:3.0run:4.01runagain:6.0insert:7.01forget:9.01r
+ename:11.2copy:12.2list:13.0storageinfo:14.0taskinfo:15.0fetch:16.1save:17.01sav
+eall:19.0";INT VARs927,s928,s929;TEXT VARs930,s931;PROCmonitor:disablestop;s929
+:=heapsize;REPcommanddialogue(TRUE);sysin(s832);sysout(s832);s933;getcommand(
+s932);analyzecommand(s926,s904,s927,s928,s930,s931);s937;s853PER.s853:IFheapsize
+>s929+s904THENcollectheapgarbage;s929:=heapsizeFI.s933:INT VARs934,s935;storage(
+s934,s935);IFs935>s934THENout(s936)FI.ENDPROCmonitor;PROCs937:enablestop;SELECT
+s927OF CASEs856:editCASEs854:edit(s930)CASEs903:endCASEs904:runCASEs938:run(s930
+)CASEs920:runagainCASEs939:insertCASEs940:insert(s930)CASEs941:forgetCASEs942:
+forget(s930)CASEs943:rename(s930,s931)CASEs944:copy(s930,s931)CASEs945:listCASE
+s946:storageinfoCASEs947:taskinfoCASEs948:fetch(s930)CASEs949:saveCASEs950:save(
+s930)CASEs951:saveallOTHERWISEdocommandENDSELECT.ENDPROCs937;ENDPACKET
+mpgglobalmanager