Home » Archimedes archive » Acorn User » AU 1997-04 A.adf » Extras1 » MenuBar2/!MenuBar/Utils/!Password/!RunImage
MenuBar2/!MenuBar/Utils/!Password/!RunImage
This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.
Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.
Tape/disk: | Home » Archimedes archive » Acorn User » AU 1997-04 A.adf » Extras1 |
Filename: | MenuBar2/!MenuBar/Utils/!Password/!RunImage |
Read OK: | ✔ |
File size: | 396E bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
10REM > <Password$Dir>.!RunImage 20: 30ON ERROR PROCerror:END 40: 50task$="Password" 60purpose$="Edit MenuBar's passwords" 70version$="1.00 (3 Apr 1996)" 80author$="(c) Graham Crow 1996" 90: 100PROCinit 110PROCloadtemplates 120PROCbaricon 130PROCiniticons 140PROCcreateicons 150PROCowc(main%) 160: 170ON ERROR PROCwimperror 180quit%=FALSE 190REPEAT:PROCpoll:UNTIL quit% 200$q%="TASK":SYS "Wimp_CloseDown",task%,!q% 210END 220: 230REM------ 240REM. POLL 250REM------ 260: 270DEFPROCpoll 280SYS "Wimp_Poll",,q% TO reason% 290CASE reason% OF 300 WHEN 2:PROCow2(q%!0) 310 WHEN 3:PROCcw(q%!0) 320 WHEN 6:PROCmouse(q%) 330 WHEN 8:PROCkeypress(q%) 340 WHEN 9:PROCmenuselect(q%) 350 WHEN 17,18:PROCreceive(q%) 360ENDCASE 370ENDPROC 380: 390REM------ 400REM. INIT 410REM------ 420: 430DEFPROCinit 440qsize%=&200 450DIM q% qsize% 460bufsize%=&300 470DIM buffer% bufsize% 480panesize%=36 490DIM pq% panesize% 500DIM mb1% 100 510maxbars%=30:bars%=0 520m%=maxbars% 530DIM barname%(m%) :FOR J%=0 TO m%:DIM a% 11:barname%(J%)=a% :NEXT 540DIM password%(m%):FOR J%=0 TO m%:DIM a% 11:password%(J%)=a%:NEXT 550DIM passval%(m%) :FOR J%=0 TO m%:DIM a% 4:passval%(J%)=a% :NEXT 560DIM active%(m%) 570DIM rembarname$(m%) 580DIM rempassword$(m%) 590DIM remactive%(m%) 600DIM optval% 14:$optval%="Soptoff,opton" 610DIM null% 2:$null%="" 620taskdir$=FNosvar(task$+"$Dir") 630F%=0:REM file handle 640datadir$="" 650REM position of pane in parent 660pot%=168:pol%=20:panewid%=768:panehgt%=484 670PROCwimpinit(q%) 680ENDPROC 690: 700DEFPROCwimpinit(q%) 710$q%="TASK" 711SYS "Wimp_Initialise",200,!q%,task$ TO version%,task% 720IF version%<310 THEN 730 ERROR 0, task$+" needs OS 3.1 or greater":END 740ENDIF 750IF FNth(task$)>0 THEN 760 ERROR 0, task$+" is already running":END 770ENDIF 790ENDPROC 800: 810DEFPROCiniticons 820LOCAL wh%:wh%=info% 830PROCit(wh%,0,task$) 840PROCit(wh%,1,purpose$) 850PROCit(wh%,2,author$) 860PROCit(wh%,3,version$) 870ENDPROC 880: 890REM---------- 900REM. MESSAGES 910REM---------- 920: 930DEFPROCreceive(q%) 940sender%=q%!4 950CASE q%!16 OF 960 REM action code 970 WHEN 0:quit%=TRUE 980 WHEN 3:PROCdataload(q%) 990 WHEN 9:PROCmenuselect(q%) 1000ENDCASE 1010ENDPROC 1020: 1030REM------ 1040REM. LOAD 1050REM------ 1060: 1070DEFPROCdataload(q%) 1080REM object dragged onto us 1090filetype%=q%!40 1100path$=FNname(q%+44) 1110q%!12=q%!8:q%!16=4 1120SYS "Wimp_SendMessage",17,q%,q%!4:REM ack 1130IF FNoktoload(path$,filetype%) THEN 1140 PROCloadfile(path$,filetype%) 1150ENDIF 1160ENDPROC 1170: 1180DEFFNoktoload(path$,filetype%) 1190LOCAL f$,n%:n%=TRUE 1200f$="Library.Data" 1210IF filetype%<>&1000 OR RIGHT$(path$,LENf$)<>f$ THEN 1220 s$="Drag MenuBar's '.."+f$+"' directory" 1230 ans%=FNreport(s$,1):n%=FALSE 1240ENDIF 1250IF n% THEN datadir$=path$ 1260=n% 1270: 1280DEFPROCloadfile(path$,filetype%) 1290REM read bar names and place in array 1300LOCAL J%,more%,next%,name$,type%,s$,m$,f% 1310PROCcw(main%) 1320REM flush arrays 1330FOR J%=1 TO maxbars% 1340 $barname%(J%)="" 1350 $password%(J%)="" 1360 $passval%(J%)="A":REM unwritable 1370 PROCui(pane%,maxbars%*3+J%-1) 1380NEXT 1390rembarname$()="" 1400rempassword$()="" 1410active%()=FALSE 1420remactive%()=FALSE 1430J%=1:next%=0 1440REPEAT 1450 SYS "OS_GBPB",10,path$,q%,1,next%,100,"*" TO ,,,more%,next% 1460 IF more% THEN 1470 name$=FNname(q%+20) 1480 obj%=FNobjtype(path$+"."+name$) 1490 type%=((!q%)>>>8) AND &FFF 1500 IF obj%=1 AND type%=&FFD THEN 1510 $barname%(J%)=name$ 1520 rembarname$(J%)=name$ 1530 password$=FNgetpassword(path$,name$) 1540 rempassword$(J%)=password$ 1550 IF active% THEN active%(J%)=TRUE:remactive%(J%)=TRUE 1560 $passval%(J%)="A~ " 1570 $password%(J%)=password$ 1580 J%+=1 1590 ENDIF 1600 ENDIF 1610UNTIL next%=-1 OR J%>maxbars% 1620bars%=J%-1 1630PROCit(main%,0,path$) 1640IF bars%>0 THEN 1650 FOR J%=1 TO bars% 1660 f%=&1400B133:PROCsis(pane%,maxbars%*3+J%-1,f%) 1670 IF active%(J%) THEN PROCsi(pane%,maxbars%*3+J%-1) 1680 NEXT 1690 IF bars%<maxbars% THEN 1700 FOR J%=bars%+1 TO maxbars% 1710 f%=&1440B133:REM greyed 1720 PROCsis(pane%,maxbars%*3+J%-1,f%) 1730 NEXT 1740 ENDIF 1750ENDIF 1760PROCow(main%) 1770PROChome(pane%) 1780PROCbeep 1790ENDPROC 1800: 1810REM---------- 1820REM. PASSWORD 1830REM---------- 1840: 1850DEFFNgetpassword(fsp$,bar$) 1860LOCAL J%,factor%,c%,s$:s$="" 1870F%=OPENUP(fsp$+"."+bar$) 1880PTR#F%=32 1890active%=BGET#F% 1900factor%=BGET#F% 1910REPEAT 1920 c%=BGET#F% 1930 IF c%>31 THEN c%-=factor%:s$+=CHR$c% 1940UNTIL c%<32 OR LENs$>9 1950CLOSE#F%:F%=0 1960=s$ 1970: 1980REM------ 1990REM. SAVE 2000REM------ 2010: 2020DEFPROCsave(fsp$) 2030REM Save button clicked 2040LOCAL J%,K%,n%,c$,c% 2050IF bars%=0 OR fsp$="" THEN 2060 PROCbuzz 2070ELSE 2080 FOR J%=1 TO bars% 2090 bar$=$barname%(J%) 2100 F%=OPENUP(fsp$+"."+bar$) 2110 REM poke all zeros 2120 PTR#F%=32:FOR K%=0 TO 15:BPUT#F%,0:NEXT 2130 : 2140 PTR#F%=32 2150 active%=FNis(pane%,maxbars%*3+J%-1) 2160 IF active% THEN active%=RND(254)+1 ELSE active%=0 2170 BPUT#F%,active% 2180 : 2190 password$=$password%(J%) 2200 IF password$<>"" THEN factor%=58+RND(75) ELSE factor%=0 2210 BPUT#F%,factor% 2220 : 2230 IF password$<>"" THEN 2240 FOR K%=1 TO LEN(password$) 2250 c$=MID$(password$,K%,1) 2260 c%=ASCc$+factor% 2270 BPUT#F%,c% 2280 NEXT 2290 ENDIF 2300 CLOSE#F%:F%=0 2310 NEXT 2320 PROCbeep 2330ENDIF 2340ENDPROC 2350: 2360REM------- 2370REM. MOUSE 2380REM------- 2390: 2400DEFPROCmouse(q%) 2410LOCAL mx%,my%,mb%,wh%,ih% 2420mx%=q%!0:my%=q%!4:mb%=q%!8:wh%=q%!12:ih%=q%!16 2430CASE wh% OF 2440 WHEN -2 2450 CASE mb% OF 2460 WHEN 2:PROCmenu(wh%,ih%,mx%,my%) 2470 OTHERWISE:PROCow(main%) 2480 ENDCASE 2490 : 2500 WHEN pane% 2510 CASE mb% OF 2520 IF mb%=2 THEN PROCmenu(wh%,ih%,mx%,my%) 2530 ENDCASE 2540 : 2550 WHEN main% 2560 CASE mb% OF 2570 WHEN 2:PROCmenu(wh%,ih%,mx%,my%) 2580 WHEN 1,4: 2590 CASE ih% OF 2600 WHEN 3:PROCcancel(wh%,mb%) 2610 WHEN 4:PROCsave(datadir$) 2620 ENDCASE 2630 ENDCASE 2640ENDCASE 2650ENDPROC 2660: 2670DEFPROCcancel(wh%,mb%) 2680REM restore values 2690LOCAL J% 2700IF bars%>0 THEN 2710 FOR J%=1 TO bars% 2720 $barname%(J%)=rembarname$(J%) 2730 $password%(J%)=rempassword$(J%) 2740 IF remactive%(J%) THEN 2750 PROCsi(pane%,maxbars%*3+J%-1) 2760 ELSE 2770 PROCui(pane%,maxbars%*3+J%-1) 2780 ENDIF 2790 NEXT 2800 IF mb%=1 THEN 2810 PROChome(pane%) 2820 PROCforce(pane%) 2830 ELSE 2840 PROCcw(main%) 2850 ENDIF 2860 PROCbeep 2870ELSE 2880 IF mb%<>1 THEN PROCcw(main%) 2890ENDIF 2900ENDPROC 2910: 2920REM------ 2930REM. KEYS 2940REM------ 2950: 2960DEFPROCkeypress(q%) 2970LOCAL wh%,ih%,c% 2980wh%=q%!0:ih%=q%!4:c%=q%!24 2990CASE c% OF 3000 WHEN 13:PROCreturn(wh%,ih%) 3010 WHEN 30:PROChome(wh%) 3020 WHEN 388:PROCtest:REM F4 3030 WHEN 398:PROCdown(wh%,ih%) 3040 WHEN 399:PROCup(wh%,ih%) 3050ENDCASE 3060ENDPROC 3070: 3080DEFPROChome(wh%) 3090IF wh%=pane% THEN 3100 !q%=wh%:SYS "Wimp_GetWindowState",,q% 3110 q%!20=0:q%!24=0:SYS "Wimp_OpenWindow",,q% 3120 PROCcaret(wh%,maxbars%*2) 3130ENDIF 3140ENDPROC 3150: 3160DEFPROCreturn(wh%,ih%) 3170ret%=TRUE 3180IF wh%=pane% AND ih%<maxbars%*3-1 THEN 3190 PROCscroll(wh%,ih%,0,4) 3200 PROCcaret(wh%,ih%+1) 3210ENDIF 3220ENDPROC 3230: 3240DEFPROCdown(wh%,ih%) 3250IF wh%=pane% AND ih%<maxbars%*3-1 THEN 3260 PROCscroll(wh%,ih%,0,4) 3270 PROCcaret(wh%,ih%+1) 3280ENDIF 3290ENDPROC 3300: 3310DEFPROCup(wh%,ih%) 3320IF wh%=pane% AND ih%>maxbars%*2 THEN 3330 PROCscroll(wh%,ih%,1,4) 3340 PROCcaret(wh%,ih%-1) 3350ENDIF 3360ENDPROC 3370: 3380DEFPROCscroll(wh%,ih%,way%,gap%) 3390REM way%: 0=down, 1=up 3400LOCAL w%,i%,n%,s%:s%=FALSE 3410REM get window edge (wa coords) 3420q%!0=wh%:SYS "Wimp_GetWindowState",,q% 3430IF way%=0 THEN w%=q%!24-(q%!16-q%!8) ELSE w%=q%!24 3440REM get icon edge (wa coords) 3450IF way%=0 THEN q%!4=ih%+1 ELSE q%!4=ih%-1 3460q%!0=wh%:SYS "Wimp_GetIconState",,q% 3470CASE way% OF 3480 WHEN 0:i%=q%!12:IF i%<w% THEN s%=TRUE 3490 WHEN 1:i%=q%!20:IF i%>w% THEN s%=TRUE 3500ENDCASE 3510IF s% THEN 3520 CASE way% OF 3530 WHEN 0:n%=ABS(i%)-ABS(w%)+gap% 3540 WHEN 1:n%=ABS(w%)-ABS(i%)+gap% 3550 ENDCASE 3560 !q%=wh%:SYS "Wimp_GetWindowState",,q% 3570 IF way%=0 THEN q%!24-=n% ELSE q%!24+=n% 3580 SYS "Wimp_OpenWindow",,q% 3590ENDIF 3600ENDPROC 3610: 3620DEFPROCcaret(wh%,ih%) 3630LOCAL s$:s$=FNit(wh%,ih%) 3640SYS "Wimp_SetCaretPosition",wh%,ih%,,,-1,LENs$ 3650ENDPROC 3660: 3670DEFPROCtest 3680ENDPROC 3690: 3700REM------ 3710REM. MENU 3720REM------ 3730: 3740DEFPROCmenu(wh%,ih%,mx%,my%) 3750REM middle button clicked 3760CASE wh% OF 3770 WHEN main%,pane%:IF bars%>0 THEN PROCmainmenu(wh%,ih%,mx%,my%) 3780 WHEN -2:PROCbarmenu(wh%,mx%,my%) 3790ENDCASE 3800ENDPROC 3810: 3820DEFPROCbarmenu(wh%,mx%,my%) 3830LOCAL f%,b%,g%:b%=&7000021:g%=&7400021:REM flags=black,grey 3840remwh%=wh%:remx%=mx%:remy%=my%:i%=0 3850a%=mb1%:!a%=baricon%:p%=a%+32:$(a%+4)=task$ 3860a%!16=&70207:a%!20=128:a%!24=44:a%!28=0 3870s$="Info":p%!0=0:p%!4=info%:p%!8=b%:$(p%+12)=s$:p%+=24:i%+=1 3880s$="Quit":p%!0=&80:p%!4=0:p%!8=b%:$(p%+12)=s$:i%+=1 3890SYS "Wimp_CreateMenu",,mb1%+4,mx%-64,96+i%*44 3900ENDPROC 3910: 3920DEFPROCmainmenu(wh%,ih%,mx%,my%) 3930LOCAL f%,b%,g%,m$,n$,n2$,n3$,path$,leaf$,w1%,w2%,wid%,t% 3940remx%=mx%:remy%=my%:remwh%=wh% 3950b%=&7000021:g%=&7400021:f%=b% 3960: 3970a%=mb1%:p%=a%+28:$a%="Main" 3980a%!12=&70207:a%!16=5*16:a%!20=44:a%!24=0 3990s$="All active":p%!0=0:p%!4=0:p%!8=f%:$(p%+12)=s$:p%+=24 4000s$="None active":p%!0=&80:p%!4=0:p%!8=f%:$(p%+12)=s$ 4010: 4020SYS "Wimp_CreateMenu",,mb1%,mx%-64,my% 4030ENDPROC 4040: 4050DEFPROCmenuselect(q%) 4060CASE remwh% OF 4070 WHEN main%,pane%:PROCmainchoice(q%) 4080 OTHERWISE:IF q%!0=1 THEN quit%=TRUE 4090ENDCASE 4100ENDPROC 4110: 4120DEFPROCmainchoice(q%) 4130REM click on menu from polling loop 4140LOCAL n%:n%=q%!0 4150SYS "Wimp_GetPointerInfo",,q%:mb%=q%!8:stay%=mb%=1 4160CASE n% OF 4170 WHEN 0:FOR J%=1 TO bars%:PROCsi(pane%,maxbars%*3+J%-1):NEXT 4180 WHEN 1:FOR J%=1 TO bars%:PROCui(pane%,maxbars%*3+J%-1):NEXT 4190ENDCASE 4200IF stay% THEN PROCmainmenu(remx%,remy%,remwh%) 4210ENDPROC 4220: 4230REM------ 4240REM. MISC 4250REM------ 4260: 4270DEFFNth(task$) 4280REM look for task handle of named task 4290REM if task not loaded, returns zero 4300LOCAL a%,f%,t$,th% 4310SYS "TaskManager_EnumerateTasks",,q%,qsize% TO ,r1% 4320a%=q% 4330REPEAT 4340 f%=a%!12 4350 IF (f% AND 1)=0 THEN th%=a%!0:t$=FNname(a%!4) 4360 a%+=16 4370UNTIL a%>=r1% OR t$=task$ 4380IF t$=task$ THEN=th% 4390=0 4400: 4410DEFFNname(ptr%) 4420LOCAL s$:s$="" 4430WHILE ?ptr%<>0:s$+=CHR$?ptr%:ptr%+=1:ENDWHILE 4440=s$ 4450: 4460DEFFNobjtype(path$) 4470LOCAL type% 4480REM 0=Not found, 1-File, 2=Dir 4490SYS "XOS_File",5,path$ TO type% 4500=type% 4510: 4520DEFFNosvar(osvar$) 4530LOCAL len% 4540REM If not found don't report error 4550SYS "XOS_ReadVarVal",osvar$,q%,200,0,3 TO,,len% 4560?(q%+len%)=&D 4570=$q% 4580: 4590DEFPROCbeep:SOUND 1,-10,200,1:ENDPROC 4600DEFPROCbuzz:SOUND 1,-15,50,4:ENDPROC 4610: 4620REM--------- 4630REM. WINDOWS 4640REM--------- 4650: 4660DEFPROCloadtemplates 4670LOCAL tbuff%,end% 4680tbuff%=buffer%:end%=buffer%+bufsize% 4690SYS "Wimp_OpenTemplate",,taskdir$+".Templates" 4700main%=FNtwindow("Main",end%,tbuff%) 4710pane%=FNtwindow("Pane",end%,tbuff%) 4720info%=FNtwindow("Info",end%,tbuff%) 4730SYS "Wimp_CloseTemplate" 4740ENDPROC 4750: 4760DEFFNtwindow(t$,end%,RETURN tbuff%) 4770LOCAL wh% 4780SYS "Wimp_LoadTemplate",,q%,tbuff%,end%,-1,t$,0 TO ,,tbuff% 4790SYS "Wimp_CreateWindow",,q% TO wh% 4800=wh% 4810: 4820DEFPROCow(wh%) 4830REM at my behest - on top 4840q%!0=wh%:SYS "Wimp_GetWindowState",,q%:q%!28=-1 4850IF wh%=main% THEN PROCpane(wh%) 4860SYS "Wimp_OpenWindow",,q% 4870ENDPROC 4880: 4890DEFPROCow2(wh%) 4900REM from Wimp Poll 4910IF wh%=main% THEN PROCpane(wh%) 4920SYS "Wimp_OpenWindow",,q% 4930ENDPROC 4940: 4950DEFPROCcw(wh%) 4960!q%=wh%:SYS "Wimp_CloseWindow",,q% 4970IF wh%=main% THEN PROCcw(pane%) 4980ENDPROC 4990: 5000DEFPROCowc(wh%) 5010REM at my behest - on top and in centre 5020q%!0=wh%:SYS "Wimp_GetWindowState",,q% 5030SYS "OS_ReadModeVariable",-1,11 TO ,,xwindlimit% 5040SYS "OS_ReadModeVariable",-1,4 TO ,,xeigfactor% 5050SYS "OS_ReadModeVariable",-1,12 TO ,,ywindlimit% 5060SYS "OS_ReadModeVariable",-1,5 TO ,,yeigfactor% 5070xwindlimit%=xwindlimit%<<xeigfactor% 5080ywindlimit%=ywindlimit%<<yeigfactor% 5090xeigfactor%=q%!12-q%!4 5100yeigfactor%=q%!16-q%!8 5110q%!4 =(xwindlimit%-xeigfactor%)>>1 5120q%!8 =(ywindlimit%-yeigfactor%)>>1 5130q%!12=q%!4+xeigfactor% 5140q%!16=q%!8+yeigfactor% 5150q%!28=-1 5160IF wh%=main% THEN PROCpane(wh%) 5170SYS "Wimp_OpenWindow",,q% 5180ENDPROC 5190: 5200DEFPROCforce(wh%) 5210!q%=wh%:SYS "Wimp_GetWindowState",,q% 5220SYS "Wimp_ForceRedraw",-1,q%!4,q%!8,q%!12,q%!16 5230ENDPROC 5240: 5250DEFPROCsetextent(wh%,miny%,maxx%) 5260q%!0=0:q%!4=miny%:q%!8=maxx%:q%!12=0 5270SYS "Wimp_SetExtent",wh%,q% 5280ENDPROC 5290: 5300REM------ 5310REM. PANE 5320REM------ 5330: 5340DEFPROCpane(parent%) 5350LOCAL x%,y%,b% 5360REM parent is in q% 5370x%=q%!4:y%=q%!16:b%=q%!28 5380REM get pane state in pq% 5390pq%!0=pane% 5400SYS "Wimp_GetWindowState",,pq% 5410REM determine position for pane 5420pq%!4=x%+pol% 5430pq%!12=x%+pol%+panewid% 5440pq%!8=y%-pot%-panehgt% 5450pq%!16=y%-pot% 5460REM and open it at correct point in stack 5470pq%!28=b%:SYS "Wimp_OpenWindow",,pq% 5480REM open parent behind pane 5490q%!28=pane% 5500ENDPROC 5510: 5520REM------- 5530REM. ICONS 5540REM------- 5550: 5560DEFPROCbaricon 5570q%!0=-1:q%!4=0:q%!8=0:q%!12=68:q%!16=68:q%!20=&3002 5580$(q%+24)="!password" 5590SYS "Wimp_CreateIcon",,q% TO baricon% 5600ENDPROC 5610: 5620DEFPROCcreateicons 5630REM icons for pane 5640LOCAL wh%,ih%,vg%,ix%,iy%,iw%,f%,i%,w%,h%,m% 5650wh%=pane%:ih%=44:vg%=4:iy%=-(ih%+vg%) 5660: 5670REM number 5680ix%=6:iw%=36:f%=&27006039 5690FOR J%=1 TO maxbars% 5700 s$=RIGHT$(" "+STR$J%,2) 5710 i%=FNicon(wh%,ix%,iy%,iw%,ih%,f%,s$,0,0,0) 5720 iy%-=(ih%+vg%) 5730NEXT 5740: 5750REM bar names 5760ix%=48:iw%=234:iy%=-(ih%+vg%):f%=&17000135 5770FOR J%=1 TO maxbars% 5780 $barname%(J%)="" 5790 i%=FNicon(wh%,ix%,iy%,iw%,ih%,f%,"",barname%(J%),-1,11) 5800 iy%-=(ih%+vg%) 5810NEXT 5820: 5830REM passwords 5840ix%=290:iw%=234:iy%=-(ih%+vg%):f%=&0700E135 5850FOR J%=1 TO maxbars% 5860 $password%(J%)="" 5870 $passval%(J%)="A":REM no chrs allowed 5880 i%=FNicon(wh%,ix%,iy%,iw%,ih%,f%,"",password%(J%),passval%(J%),11) 5890 iy%-=(ih%+vg%) 5900NEXT 5910: 5920REM opt buttons 5930ix%=532:iw%=44:iy%=-(ih%+vg%):f%=&1440B133 5940FOR J%=1 TO maxbars% 5950 i%=FNicon(wh%,ix%,iy%,iw%,ih%,f%,"",null%,optval%,2) 5960 iy%-=(ih%+vg%) 5970NEXT 5980: 5990REM set window wa extent 6000h%=maxbars%*(ih%+vg%)+vg% 6010PROCsetextent(wh%,-h%,592) 6020ENDPROC 6030: 6040DEFFNicon(wh%,ix%,iy%,iw%,ih%,flag%,text$,d1%,d2%,d3%) 6050q%!0=wh%:q%!4=ix%:q%!8=iy%:q%!12=ix%+iw%:q%!16=iy%+ih%:q%!20=flag% 6060IF d1%=0 THEN 6070 $(q%+24)=text$ 6080ELSE 6090 q%!24=d1%:q%!28=d2%:q%!32=d3% 6100ENDIF 6110SYS "Wimp_CreateIcon",,q% TO ih% 6120=ih% 6130: 6140DEFPROCit(wh%,ih%,text$) 6150q%!0=wh%:q%!4=ih% 6160SYS "Wimp_GetIconState",,q% 6170$(q%!28)=text$ 6180q%!0=wh%:q%!4=ih%:q%!8=0:q%!12=0 6190SYS "Wimp_SetIconState",,q% 6200ENDPROC 6210: 6220DEFFNit(wh%,ih%) 6230q%!0=wh%:q%!4=ih% 6240SYS "Wimp_GetIconState",,q% 6250=$(q%!28) 6260: 6270DEFFNis(wh%,ih%) 6280LOCAL n% 6290!q%=wh%:q%!4=ih% 6300SYS "Wimp_GetIconState",,q% 6310n%=((q%!24)>>21) AND 1 6320IF n%=0 THEN=FALSE 6330=TRUE 6340: 6350DEFPROCsi(wh%,ih%) 6360q%!0=wh%:q%!4=ih% 6370q%!8=1<<21:q%!12=1<<21 6380SYS "Wimp_SetIconState",,q% 6390ENDPROC 6400: 6410DEFPROCui(wh%,ih%) 6420q%!0=wh%:q%!4=ih% 6430q%!8=0:q%!12=1<<21 6440SYS "Wimp_SetIconState",,q% 6450ENDPROC 6460: 6470DEFPROCsis(wh%,ih%,newflags%) 6480REM set icon state 6490LOCAL clear%,eor% 6500clear%=&FFFFFFFF:eor%=newflags% 6510q%!0=wh%:q%!4=ih%:q%!8=eor%:q%!12=clear% 6520SYS "Wimp_SetIconState",,q% 6530ENDPROC 6540: 6550REM----------------- 6560REM. ERRORS/MESSAGES 6570REM----------------- 6580: 6590DEFPROCerror 6600REM before entering polling loop 6610SYS "Hourglass_Smash" 6620IF F%>0 THEN CLOSE#F%:F%=0 6630ERROR EXT ERR,REPORT$+" at line "+STR$ERL 6640ENDPROC 6650: 6660DEFPROCwimperror 6670LOCAL ans% 6680SYS "Wimp_DragBox",,-1:SYS "Hourglass_Smash" 6690IF F%>0 THEN CLOSE#F%:F%=0 6700!q%=ERR:s$="OK to continue, CANCEL to kill "+task$ 6710$(q%+4)=REPORT$+" (Internal error "+STR$ERL+") "+s$+CHR$0 6720SYS "Wimp_ReportError",q%,3,task$ TO ,ans% 6730IF ans%=2 THEN $q%="TASK":SYS "Wimp_CloseDown",task%,!q%:END 6740ENDPROC 6750: 6760DEFFNreport(err$,flag%) 6770LOCAL ans% 6780REM flag%=01 (OK) 6790REM flag%=02 (CANCEL) 6800REM flag%=03 (OK,CANCEL) 6810REM flag%+16 (no 'Error' in title) 6820!q%=1:$(q%+4)=err$+CHR$0 6830SYS "Wimp_ReportError",q%,flag%,task$ TO ,ans% 6840=ans% 6850: 6860DEFPROCdl(list$) 6870REM debug list 6880LOCAL ccc%,ttt%,mmm%,ggg%,sss$,ccc$,var$():DIM var$(20) 6890ggg%=4:REM omit lines at top of screen 6900LOCAL ERROR 6910ON ERROR LOCAL VDU4:PRINTTAB(0,ttt%+ggg%+2)"ERROR!":VDU5:ENDPROC 6920FOR ttt%=1 TO LEN(list$) 6930 ccc$=MID$(list$,ttt%,1) 6940 IF ccc$<>"," THEN sss$+=ccc$ 6950 IF ccc$="," OR ttt%=LEN(list$) THEN 6960 IF LENsss$>mmm% THEN mmm%=LENsss$ 6970 var$(ccc%)=sss$:sss$="":ccc%+=1 6980 ENDIF 6990NEXT 7000VDU4 7010FOR ttt%=0 TO ccc%-1 7020 sss$=var$(ttt%) 7030 PRINTTAB(0,ttt%+ggg%)STRING$(30," ") 7040 IF LEFT$(sss$,1)="~" THEN 7050 sss$=RIGHT$(sss$,LENsss$-1) 7060 ccc$=STRING$(mmm%-LENsss$," ") 7070 PRINTTAB(0,ttt%+ggg%)sss$+ccc$+" =&";STR$~(EVALsss$) 7080 ELSE 7090 ccc$=STRING$(mmm%-LENsss$," ") 7100 PRINTTAB(0,ttt%+ggg%) sss$+ccc$+" = ";EVAL(sss$) 7110 ENDIF 7120NEXT:VDU5 7130ENDPROC
� > <Password$Dir>.!RunImage : � � �error:� (: 2task$="Password" <'purpose$="Edit MenuBar's passwords" F version$="1.00 (3 Apr 1996)" P"author$="(c) Graham Crow 1996" Z: d �init n�loadtemplates x�baricon ��initicons ��createicons ��owc(main%) �: �� � �wimperror �quit%=� ��:�poll:� quit% �,$q%="TASK":ș "Wimp_CloseDown",task%,!q% �� �: ��------ ��. POLL ��------ : ��poll ș "Wimp_Poll",,q% � reason% "Ȏ reason% � , � 2:�ow2(q%!0) 6 � 3:�cw(q%!0) @ � 6:�mouse(q%) J � 8:�keypress(q%) T � 9:�menuselect(q%) ^ � 17,18:�receive(q%) h� r� |: ��------ ��. INIT ��------ �: � ��init �qsize%=&200 �� q% qsize% �bufsize%=&300 �� buffer% bufsize% �panesize%=36 �� pq% panesize% �� mb1% 100 �maxbars%=30:bars%=0 m%=maxbars% :� barname%(m%) :� J%=0 � m%:� a% 11:barname%(J%)=a% :� :� password%(m%):� J%=0 � m%:� a% 11:password%(J%)=a%:� &:� passval%(m%) :� J%=0 � m%:� a% 4:passval%(J%)=a% :� 0� active%(m%) :� rembarname$(m%) D� rempassword$(m%) N� remactive%(m%) X*� optval% 14:$optval%="Soptoff,opton" b� null% 2:$null%="" l!taskdir$=�osvar(task$+"$Dir") vF%=0:� file handle �datadir$="" � � position of pane in parent �.pot%=168:pol%=20:panewid%=768:panehgt%=484 ��wimpinit(q%) �� �: ���wimpinit(q%) �$q%="TASK" �7ș "Wimp_Initialise",200,!q%,task$ � version%,task% �� version%<310 � �, � 0, task$+" needs OS 3.1 or greater":� �� �� �th(task$)>0 � �' � 0, task$+" is already running":� � � : *��initicons 4� wh%:wh%=info% >�it(wh%,0,task$) H�it(wh%,1,purpose$) R�it(wh%,2,author$) \�it(wh%,3,version$) f� p: z�---------- ��. MESSAGES ��---------- �: ���receive(q%) �sender%=q%!4 �Ȏ q%!16 � � � action code � � 0:quit%=� � � 3:�dataload(q%) � � 9:�menuselect(q%) �� �� �: �------ �. LOAD �------ $: .��dataload(q%) 8� object dragged onto us Bfiletype%=q%!40 Lpath$=�name(q%+44) Vq%!12=q%!8:q%!16=4 `*ș "Wimp_SendMessage",17,q%,q%!4:� ack j"� �oktoload(path$,filetype%) � t �loadfile(path$,filetype%) ~� �� �: �ݤoktoload(path$,filetype%) �� f$,n%:n%=� �f$="Library.Data" �*� filetype%<>&1000 � �path$,�f$)<>f$ � �- s$="Drag MenuBar's '.."+f$+"' directory" � ans%=�report(s$,1):n%=� �� �� n% � datadir$=path$ �=n% �: ��loadfile(path$,filetype%) '� read bar names and place in array )� J%,more%,next%,name$,type%,s$,m$,f% �cw(main%) (� flush arrays 2� J%=1 � maxbars% < $barname%(J%)="" F $password%(J%)="" P# $passval%(J%)="A":� unwritable Z �ui(pane%,maxbars%*3+J%-1) d� nrembarname$()="" xrempassword$()="" �active%()=� �remactive%()=� �J%=1:next%=0 �� �> ș "OS_GBPB",10,path$,q%,1,next%,100,"*" � ,,,more%,next% � � more% � � name$=�name(q%+20) �$ obj%=�objtype(path$+"."+name$) � type%=((!q%)>>>8) � &FFF � � obj%=1 � type%=&FFD � � $barname%(J%)=name$ � rembarname$(J%)=name$ �* password$=�getpassword(path$,name$) ! rempassword$(J%)=password$ 1 � active% � active%(J%)=�:remactive%(J%)=� $passval%(J%)="A~ " " $password%(J%)=password$ , J%+=1 6 � @ � J� next%=-1 � J%>maxbars% Tbars%=J%-1 ^�it(main%,0,path$) h� bars%>0 � r � J%=1 � bars% |1 f%=&1400B133:�sis(pane%,maxbars%*3+J%-1,f%) �0 � active%(J%) � �si(pane%,maxbars%*3+J%-1) � � � � bars%<maxbars% � � � J%=bars%+1 � maxbars% � f%=&1440B133:� greyed �% �sis(pane%,maxbars%*3+J%-1,f%) � � � � �� ��ow(main%) ��home(pane%) � �beep �� : �---------- �. PASSWORD &�---------- 0: :ݤgetpassword(fsp$,bar$) D� J%,factor%,c%,s$:s$="" NF%=�(fsp$+"."+bar$) X�#F%=32 bactive%=�#F% lfactor%=�#F% v� � c%=�#F% �" � c%>31 � c%-=factor%:s$+=�c% �� c%<32 � �s$>9 � �#F%:F%=0 �=s$ �: ��------ ��. SAVE ��------ �: ���save(fsp$) �� Save button clicked �� J%,K%,n%,c$,c% � bars%=0 � fsp$="" � �buzz � � J%=1 � bars% * bar$=$barname%(J%) 4 F%=�(fsp$+"."+bar$) > � poke all zeros H" �#F%=32:� K%=0 � 15:�#F%,0:� R : \ �#F%=32 f( active%=�is(pane%,maxbars%*3+J%-1) p. � active% � active%=�(254)+1 � active%=0 z �#F%,active% � : � password$=$password%(J%) �4 � password$<>"" � factor%=58+�(75) � factor%=0 � �#F%,factor% � : � � password$<>"" � � � K%=1 � �(password$) � c$=�password$,K%,1) � c%=�c$+factor% � �#F%,c% � � � � � �#F%:F%=0 � �beep � $� .: 8�------- B�. MOUSE L�------- V: `��mouse(q%) j� mx%,my%,mb%,wh%,ih% t2mx%=q%!0:my%=q%!4:mb%=q%!8:wh%=q%!12:ih%=q%!16 ~Ȏ wh% � � � -2 � Ȏ mb% � � � 2:�menu(wh%,ih%,mx%,my%) � :�ow(main%) � � � : � � pane% � Ȏ mb% � �& � mb%=2 � �menu(wh%,ih%,mx%,my%) � � � : � � main% Ȏ mb% � � 2:�menu(wh%,ih%,mx%,my%) � 1,4: Ȏ ih% � ( � 3:�cancel(wh%,mb%) 2 � 4:�save(datadir$) < � F � P� Z� d: n��cancel(wh%,mb%) x� restore values �� J% �� bars%>0 � � � J%=1 � bars% �# $barname%(J%)=rembarname$(J%) �% $password%(J%)=rempassword$(J%) � � remactive%(J%) � �! �si(pane%,maxbars%*3+J%-1) � � �! �ui(pane%,maxbars%*3+J%-1) � � � � � � mb%=1 � � �home(pane%) �force(pane%) � �cw(main%) " � , �beep 6� @ � mb%<>1 � �cw(main%) J� T� ^: h�------ r�. KEYS |�------ �: ���keypress(q%) �� wh%,ih%,c% �wh%=q%!0:ih%=q%!4:c%=q%!24 �Ȏ c% � � � 13:�return(wh%,ih%) � � 30:�home(wh%) � � 388:�test:� F4 � � 398:�down(wh%,ih%) � � 399:�up(wh%,ih%) �� �� �: ��home(wh%) � wh%=pane% � ) !q%=wh%:ș "Wimp_GetWindowState",,q% &- q%!20=0:q%!24=0:ș "Wimp_OpenWindow",,q% 0 �caret(wh%,maxbars%*2) :� D� N: X��return(wh%,ih%) b ret%=� l$� wh%=pane% � ih%<maxbars%*3-1 � v �scroll(wh%,ih%,0,4) � �caret(wh%,ih%+1) �� �� �: ���down(wh%,ih%) �$� wh%=pane% � ih%<maxbars%*3-1 � � �scroll(wh%,ih%,0,4) � �caret(wh%,ih%+1) �� �� �: ���up(wh%,ih%) �"� wh%=pane% � ih%>maxbars%*2 � �scroll(wh%,ih%,1,4) �caret(wh%,ih%-1) � � *: 4��scroll(wh%,ih%,way%,gap%) >� way%: 0=down, 1=up H� w%,i%,n%,s%:s%=� R!� get window edge (wa coords) \)q%!0=wh%:ș "Wimp_GetWindowState",,q% f/� way%=0 � w%=q%!24-(q%!16-q%!8) � w%=q%!24 p� get icon edge (wa coords) z&� way%=0 � q%!4=ih%+1 � q%!4=ih%-1 �'q%!0=wh%:ș "Wimp_GetIconState",,q% � Ȏ way% � � � 0:i%=q%!12:� i%<w% � s%=� � � 1:i%=q%!20:� i%>w% � s%=� �� � � s% � � Ȏ way% � � � 0:n%=�(i%)-�(w%)+gap% � � 1:n%=�(w%)-�(i%)+gap% � � �) !q%=wh%:ș "Wimp_GetWindowState",,q% �% � way%=0 � q%!24-=n% � q%!24+=n% � ș "Wimp_OpenWindow",,q% � � : $��caret(wh%,ih%) .� s$:s$=�it(wh%,ih%) 8/ș "Wimp_SetCaretPosition",wh%,ih%,,,-1,�s$ B� L: V ��test `� j: t�------ ~�. MENU ��------ �: ���menu(wh%,ih%,mx%,my%) �� middle button clicked �Ȏ wh% � �9 � main%,pane%:� bars%>0 � �mainmenu(wh%,ih%,mx%,my%) � � -2:�barmenu(wh%,mx%,my%) �� �� �: ���barmenu(wh%,mx%,my%) �9� f%,b%,g%:b%=&7000021:g%=&7400021:� flags=black,grey 'remwh%=wh%:remx%=mx%:remy%=my%:i%=0 /a%=mb1%:!a%=baricon%:p%=a%+32:$(a%+4)=task$ +a%!16=&70207:a%!20=128:a%!24=44:a%!28=0 @s$="Info":p%!0=0:p%!4=info%:p%!8=b%:$(p%+12)=s$:p%+=24:i%+=1 (7s$="Quit":p%!0=&80:p%!4=0:p%!8=b%:$(p%+12)=s$:i%+=1 20ș "Wimp_CreateMenu",,mb1%+4,mx%-64,96+i%*44 <� F: P��mainmenu(wh%,ih%,mx%,my%) Z8� f%,b%,g%,m$,n$,n2$,n3$,path$,leaf$,w1%,w2%,wid%,t% d"remx%=mx%:remy%=my%:remwh%=wh% n!b%=&7000021:g%=&7400021:f%=b% x: �a%=mb1%:p%=a%+28:$a%="Main" �,a%!12=&70207:a%!16=5*16:a%!20=44:a%!24=0 �<s$="All active":p%!0=0:p%!4=0:p%!8=f%:$(p%+12)=s$:p%+=24 �8s$="None active":p%!0=&80:p%!4=0:p%!8=f%:$(p%+12)=s$ �: �)ș "Wimp_CreateMenu",,mb1%,mx%-64,my% �� �: ���menuselect(q%) �Ȏ remwh% � �" � main%,pane%:�mainchoice(q%) � :� q%!0=1 � quit%=� �� � : ��mainchoice(q%) "%� click on menu from polling loop ,� n%:n%=q%!0 65ș "Wimp_GetPointerInfo",,q%:mb%=q%!8:stay%=mb%=1 @Ȏ n% � J4 � 0:� J%=1 � bars%:�si(pane%,maxbars%*3+J%-1):� T4 � 1:� J%=1 � bars%:�ui(pane%,maxbars%*3+J%-1):� ^� h+� stay% � �mainmenu(remx%,remy%,remwh%) r� |: ��------ ��. MISC ��------ �: �ݤth(task$) �(� look for task handle of named task �&� if task not loaded, returns zero �� a%,f%,t$,th% �5ș "TaskManager_EnumerateTasks",,q%,qsize% � ,r1% � a%=q% �� � f%=a%!12 �+ � (f% � 1)=0 � th%=a%!0:t$=�name(a%!4) a%+=16 � a%>=r1% � t$=task$ � t$=task$ �=th% &=0 0: :ݤname(ptr%) D� s$:s$="" N$ȕ ?ptr%<>0:s$+=�?ptr%:ptr%+=1:� X=s$ b: lݤobjtype(path$) v� type% � � 0=Not found, 1-File, 2=Dir �!ș "XOS_File",5,path$ � type% � =type% �: �ݤosvar(osvar$) � � len% �%� If not found don't report error �1ș "XOS_ReadVarVal",osvar$,q%,200,0,3 �,,len% �?(q%+len%)=&D �=$q% �: ���beep:� 1,-10,200,1:� ���buzz:� 1,-15,50,4:� : �--------- �. WINDOWS �--------- *: 4��loadtemplates >� tbuff%,end% H(tbuff%=buffer%:end%=buffer%+bufsize% R1ș "Wimp_OpenTemplate",,taskdir$+".Templates" \&main%=�twindow("Main",end%,tbuff%) f&pane%=�twindow("Pane",end%,tbuff%) p&info%=�twindow("Info",end%,tbuff%) zș "Wimp_CloseTemplate" �� �: �ݤtwindow(t$,end%,� tbuff%) � � wh% �=ș "Wimp_LoadTemplate",,q%,tbuff%,end%,-1,t$,0 � ,,tbuff% �$ș "Wimp_CreateWindow",,q% � wh% �=wh% �: � ��ow(wh%) �� at my behest - on top �2q%!0=wh%:ș "Wimp_GetWindowState",,q%:q%!28=-1 �� wh%=main% � �pane(wh%) �ș "Wimp_OpenWindow",,q% � : ��ow2(wh%) $� from Wimp Poll .� wh%=main% � �pane(wh%) 8ș "Wimp_OpenWindow",,q% B� L: V ��cw(wh%) `%!q%=wh%:ș "Wimp_CloseWindow",,q% j� wh%=main% � �cw(pane%) t� ~: ���owc(wh%) �)� at my behest - on top and in centre �)q%!0=wh%:ș "Wimp_GetWindowState",,q% �2ș "OS_ReadModeVariable",-1,11 � ,,xwindlimit% �2ș "OS_ReadModeVariable",-1,4 � ,,xeigfactor% �2ș "OS_ReadModeVariable",-1,12 � ,,ywindlimit% �2ș "OS_ReadModeVariable",-1,5 � ,,yeigfactor% �(xwindlimit%=xwindlimit%<<xeigfactor% �(ywindlimit%=ywindlimit%<<yeigfactor% �xeigfactor%=q%!12-q%!4 �yeigfactor%=q%!16-q%!8 �&q%!4 =(xwindlimit%-xeigfactor%)>>1 &q%!8 =(ywindlimit%-yeigfactor%)>>1 q%!12=q%!4+xeigfactor% q%!16=q%!8+yeigfactor% q%!28=-1 (� wh%=main% � �pane(wh%) 2ș "Wimp_OpenWindow",,q% <� F: P��force(wh%) Z(!q%=wh%:ș "Wimp_GetWindowState",,q% d2ș "Wimp_ForceRedraw",-1,q%!4,q%!8,q%!12,q%!16 n� x: � ��setextent(wh%,miny%,maxx%) �(q%!0=0:q%!4=miny%:q%!8=maxx%:q%!12=0 �ș "Wimp_SetExtent",wh%,q% �� �: ��------ ��. PANE ��------ �: ���pane(parent%) �� x%,y%,b% �� parent is in q% �x%=q%!4:y%=q%!16:b%=q%!28 � get pane state in pq% pq%!0=pane% !ș "Wimp_GetWindowState",,pq% "!� determine position for pane ,pq%!4=x%+pol% 6pq%!12=x%+pol%+panewid% @pq%!8=y%-pot%-panehgt% Jpq%!16=y%-pot% T+� and open it at correct point in stack ^'pq%!28=b%:ș "Wimp_OpenWindow",,pq% h� open parent behind pane rq%!28=pane% |� �: ��------- ��. ICONS ��------- �: � ��baricon �7q%!0=-1:q%!4=0:q%!8=0:q%!12=68:q%!16=68:q%!20=&3002 �$(q%+24)="!password" �'ș "Wimp_CreateIcon",,q% � baricon% �� �: ���createicons �� icons for pane ,� wh%,ih%,vg%,ix%,iy%,iw%,f%,i%,w%,h%,m% )wh%=pane%:ih%=44:vg%=4:iy%=-(ih%+vg%) : &� number 0ix%=6:iw%=36:f%=&27006039 :� J%=1 � maxbars% D s$=�" "+�J%,2) N. i%=�icon(wh%,ix%,iy%,iw%,ih%,f%,s$,0,0,0) X iy%-=(ih%+vg%) b� l: v� bar names �.ix%=48:iw%=234:iy%=-(ih%+vg%):f%=&17000135 �� J%=1 � maxbars% � $barname%(J%)="" �; i%=�icon(wh%,ix%,iy%,iw%,ih%,f%,"",barname%(J%),-1,11) � iy%-=(ih%+vg%) �� �: �� passwords �/ix%=290:iw%=234:iy%=-(ih%+vg%):f%=&0700E135 �� J%=1 � maxbars% � $password%(J%)="" �( $passval%(J%)="A":� no chrs allowed �F i%=�icon(wh%,ix%,iy%,iw%,ih%,f%,"",password%(J%),passval%(J%),11) iy%-=(ih%+vg%) � : � opt buttons *.ix%=532:iw%=44:iy%=-(ih%+vg%):f%=&1440B133 4� J%=1 � maxbars% >8 i%=�icon(wh%,ix%,iy%,iw%,ih%,f%,"",null%,optval%,2) H iy%-=(ih%+vg%) R� \: f� set window wa extent ph%=maxbars%*(ih%+vg%)+vg% z�setextent(wh%,-h%,592) �� �: �7ݤicon(wh%,ix%,iy%,iw%,ih%,flag%,text$,d1%,d2%,d3%) �Fq%!0=wh%:q%!4=ix%:q%!8=iy%:q%!12=ix%+iw%:q%!16=iy%+ih%:q%!20=flag% � � d1%=0 � � $(q%+24)=text$ �� �# q%!24=d1%:q%!28=d2%:q%!32=d3% �� �"ș "Wimp_CreateIcon",,q% � ih% �=ih% �: ���it(wh%,ih%,text$) q%!0=wh%:q%!4=ih% ș "Wimp_GetIconState",,q% $(q%!28)=text$ $$q%!0=wh%:q%!4=ih%:q%!8=0:q%!12=0 .ș "Wimp_SetIconState",,q% 8� B: Lݤit(wh%,ih%) Vq%!0=wh%:q%!4=ih% `ș "Wimp_GetIconState",,q% j =$(q%!28) t: ~ݤis(wh%,ih%) �� n% �!q%=wh%:q%!4=ih% �ș "Wimp_GetIconState",,q% �n%=((q%!24)>>21) � 1 �� n%=0 �=� �=� �: ���si(wh%,ih%) �q%!0=wh%:q%!4=ih% �q%!8=1<<21:q%!12=1<<21 �ș "Wimp_SetIconState",,q% �� : ��ui(wh%,ih%) q%!0=wh%:q%!4=ih% q%!8=0:q%!12=1<<21 (ș "Wimp_SetIconState",,q% 2� <: F��sis(wh%,ih%,newflags%) P� set icon state Z� clear%,eor% d#clear%=&FFFFFFFF:eor%=newflags% n,q%!0=wh%:q%!4=ih%:q%!8=eor%:q%!12=clear% xș "Wimp_SetIconState",,q% �� �: ��----------------- ��. ERRORS/MESSAGES ��----------------- �: ���error �"� before entering polling loop �ș "Hourglass_Smash" �� F%>0 � �#F%:F%=0 �� � �,�$+" at line "+Þ �� �: ��wimperror � ans% .ș "Wimp_DragBox",,-1:ș "Hourglass_Smash" "� F%>0 � �#F%:F%=0 ,4!q%=�:s$="OK to continue, CANCEL to kill "+task$ 60$(q%+4)=�$+" (Internal error "+Þ+") "+s$+�0 @,ș "Wimp_ReportError",q%,3,task$ � ,ans% J9� ans%=2 � $q%="TASK":ș "Wimp_CloseDown",task%,!q%:� T� ^: hݤreport(err$,flag%) r � ans% |� flag%=01 (OK) �� flag%=02 (CANCEL) �� flag%=03 (OK,CANCEL) �$� flag%+16 (no 'Error' in title) �!q%=1:$(q%+4)=err$+�0 �0ș "Wimp_ReportError",q%,flag%,task$ � ,ans% � =ans% �: ���dl(list$) �� debug list �5� ccc%,ttt%,mmm%,ggg%,sss$,ccc$,var$():� var$(20) �(ggg%=4:� omit lines at top of screen �� � �*� � � �4:�0,ttt%+ggg%+2)"ERROR!":�5:� � ttt%=1 � �(list$) ccc$=�list$,ttt%,1) � ccc$<>"," � sss$+=ccc$ &! � ccc$="," � ttt%=�(list$) � 0 � �sss$>mmm% � mmm%=�sss$ :% var$(ccc%)=sss$:sss$="":ccc%+=1 D � N� X�4 b� ttt%=0 � ccc%-1 l sss$=var$(ttt%) v �0,ttt%+ggg%)�30," ") � � �sss$,1)="~" � � sss$=�sss$,�sss$-1) � ccc$=�mmm%-�sss$," ") �- �0,ttt%+ggg%)sss$+ccc$+" =&";�~(�sss$) � � � ccc$=�mmm%-�sss$," ") �, �0,ttt%+ggg%) sss$+ccc$+" = ";�(sss$) � � ��:�5 �� �
00000000 0d 00 0a 20 f4 20 3e 20 3c 50 61 73 73 77 6f 72 |... . > <Passwor| 00000010 64 24 44 69 72 3e 2e 21 52 75 6e 49 6d 61 67 65 |d$Dir>.!RunImage| 00000020 0d 00 14 05 3a 0d 00 1e 10 ee 20 85 20 f2 65 72 |....:..... . .er| 00000030 72 6f 72 3a e0 0d 00 28 05 3a 0d 00 32 14 74 61 |ror:...(.:..2.ta| 00000040 73 6b 24 3d 22 50 61 73 73 77 6f 72 64 22 0d 00 |sk$="Password"..| 00000050 3c 27 70 75 72 70 6f 73 65 24 3d 22 45 64 69 74 |<'purpose$="Edit| 00000060 20 4d 65 6e 75 42 61 72 27 73 20 70 61 73 73 77 | MenuBar's passw| 00000070 6f 72 64 73 22 0d 00 46 20 76 65 72 73 69 6f 6e |ords"..F version| 00000080 24 3d 22 31 2e 30 30 20 28 33 20 41 70 72 20 31 |$="1.00 (3 Apr 1| 00000090 39 39 36 29 22 0d 00 50 22 61 75 74 68 6f 72 24 |996)"..P"author$| 000000a0 3d 22 28 63 29 20 47 72 61 68 61 6d 20 43 72 6f |="(c) Graham Cro| 000000b0 77 20 31 39 39 36 22 0d 00 5a 05 3a 0d 00 64 09 |w 1996"..Z.:..d.| 000000c0 f2 69 6e 69 74 0d 00 6e 12 f2 6c 6f 61 64 74 65 |.init..n..loadte| 000000d0 6d 70 6c 61 74 65 73 0d 00 78 0c f2 62 61 72 69 |mplates..x..bari| 000000e0 63 6f 6e 0d 00 82 0e f2 69 6e 69 74 69 63 6f 6e |con.....initicon| 000000f0 73 0d 00 8c 10 f2 63 72 65 61 74 65 69 63 6f 6e |s.....createicon| 00000100 73 0d 00 96 0f f2 6f 77 63 28 6d 61 69 6e 25 29 |s.....owc(main%)| 00000110 0d 00 a0 05 3a 0d 00 aa 12 ee 20 85 20 f2 77 69 |....:..... . .wi| 00000120 6d 70 65 72 72 6f 72 0d 00 b4 0b 71 75 69 74 25 |mperror....quit%| 00000130 3d a3 0d 00 be 13 f5 3a f2 70 6f 6c 6c 3a fd 20 |=......:.poll:. | 00000140 71 75 69 74 25 0d 00 c8 2c 24 71 25 3d 22 54 41 |quit%...,$q%="TA| 00000150 53 4b 22 3a c8 99 20 22 57 69 6d 70 5f 43 6c 6f |SK":.. "Wimp_Clo| 00000160 73 65 44 6f 77 6e 22 2c 74 61 73 6b 25 2c 21 71 |seDown",task%,!q| 00000170 25 0d 00 d2 05 e0 0d 00 dc 05 3a 0d 00 e6 0b f4 |%.........:.....| 00000180 2d 2d 2d 2d 2d 2d 0d 00 f0 0b f4 2e 20 50 4f 4c |------...... POL| 00000190 4c 0d 00 fa 0b f4 2d 2d 2d 2d 2d 2d 0d 01 04 05 |L.....------....| 000001a0 3a 0d 01 0e 0a dd f2 70 6f 6c 6c 0d 01 18 20 c8 |:......poll... .| 000001b0 99 20 22 57 69 6d 70 5f 50 6f 6c 6c 22 2c 2c 71 |. "Wimp_Poll",,q| 000001c0 25 20 b8 20 72 65 61 73 6f 6e 25 0d 01 22 10 c8 |% . reason%.."..| 000001d0 8e 20 72 65 61 73 6f 6e 25 20 ca 0d 01 2c 13 20 |. reason% ...,. | 000001e0 c9 20 32 3a f2 6f 77 32 28 71 25 21 30 29 0d 01 |. 2:.ow2(q%!0)..| 000001f0 36 12 20 c9 20 33 3a f2 63 77 28 71 25 21 30 29 |6. . 3:.cw(q%!0)| 00000200 0d 01 40 13 20 c9 20 36 3a f2 6d 6f 75 73 65 28 |..@. . 6:.mouse(| 00000210 71 25 29 0d 01 4a 16 20 c9 20 38 3a f2 6b 65 79 |q%)..J. . 8:.key| 00000220 70 72 65 73 73 28 71 25 29 0d 01 54 18 20 c9 20 |press(q%)..T. . | 00000230 39 3a f2 6d 65 6e 75 73 65 6c 65 63 74 28 71 25 |9:.menuselect(q%| 00000240 29 0d 01 5e 19 20 c9 20 31 37 2c 31 38 3a f2 72 |)..^. . 17,18:.r| 00000250 65 63 65 69 76 65 28 71 25 29 0d 01 68 05 cb 0d |eceive(q%)..h...| 00000260 01 72 05 e1 0d 01 7c 05 3a 0d 01 86 0b f4 2d 2d |.r....|.:.....--| 00000270 2d 2d 2d 2d 0d 01 90 0b f4 2e 20 49 4e 49 54 0d |----...... INIT.| 00000280 01 9a 0b f4 2d 2d 2d 2d 2d 2d 0d 01 a4 05 3a 0d |....------....:.| 00000290 01 ae 0a dd f2 69 6e 69 74 0d 01 b8 0f 71 73 69 |.....init....qsi| 000002a0 7a 65 25 3d 26 32 30 30 0d 01 c2 0f de 20 71 25 |ze%=&200..... q%| 000002b0 20 71 73 69 7a 65 25 0d 01 cc 11 62 75 66 73 69 | qsize%....bufsi| 000002c0 7a 65 25 3d 26 33 30 30 0d 01 d6 16 de 20 62 75 |ze%=&300..... bu| 000002d0 66 66 65 72 25 20 62 75 66 73 69 7a 65 25 0d 01 |ffer% bufsize%..| 000002e0 e0 10 70 61 6e 65 73 69 7a 65 25 3d 33 36 0d 01 |..panesize%=36..| 000002f0 ea 13 de 20 70 71 25 20 70 61 6e 65 73 69 7a 65 |... pq% panesize| 00000300 25 0d 01 f4 0e de 20 6d 62 31 25 20 31 30 30 0d |%..... mb1% 100.| 00000310 01 fe 17 6d 61 78 62 61 72 73 25 3d 33 30 3a 62 |...maxbars%=30:b| 00000320 61 72 73 25 3d 30 0d 02 08 0f 6d 25 3d 6d 61 78 |ars%=0....m%=max| 00000330 62 61 72 73 25 0d 02 12 3a de 20 62 61 72 6e 61 |bars%...:. barna| 00000340 6d 65 25 28 6d 25 29 20 3a e3 20 4a 25 3d 30 20 |me%(m%) :. J%=0 | 00000350 b8 20 6d 25 3a de 20 61 25 20 31 31 3a 62 61 72 |. m%:. a% 11:bar| 00000360 6e 61 6d 65 25 28 4a 25 29 3d 61 25 20 3a ed 0d |name%(J%)=a% :..| 00000370 02 1c 3a de 20 70 61 73 73 77 6f 72 64 25 28 6d |..:. password%(m| 00000380 25 29 3a e3 20 4a 25 3d 30 20 b8 20 6d 25 3a de |%):. J%=0 . m%:.| 00000390 20 61 25 20 31 31 3a 70 61 73 73 77 6f 72 64 25 | a% 11:password%| 000003a0 28 4a 25 29 3d 61 25 3a ed 0d 02 26 3a de 20 70 |(J%)=a%:...&:. p| 000003b0 61 73 73 76 61 6c 25 28 6d 25 29 20 3a e3 20 4a |assval%(m%) :. J| 000003c0 25 3d 30 20 b8 20 6d 25 3a de 20 61 25 20 20 34 |%=0 . m%:. a% 4| 000003d0 3a 70 61 73 73 76 61 6c 25 28 4a 25 29 3d 61 25 |:passval%(J%)=a%| 000003e0 20 3a ed 0d 02 30 11 de 20 61 63 74 69 76 65 25 | :...0.. active%| 000003f0 28 6d 25 29 0d 02 3a 15 de 20 72 65 6d 62 61 72 |(m%)..:.. rembar| 00000400 6e 61 6d 65 24 28 6d 25 29 0d 02 44 16 de 20 72 |name$(m%)..D.. r| 00000410 65 6d 70 61 73 73 77 6f 72 64 24 28 6d 25 29 0d |empassword$(m%).| 00000420 02 4e 14 de 20 72 65 6d 61 63 74 69 76 65 25 28 |.N.. remactive%(| 00000430 6d 25 29 0d 02 58 2a de 20 6f 70 74 76 61 6c 25 |m%)..X*. optval%| 00000440 20 20 31 34 3a 24 6f 70 74 76 61 6c 25 3d 22 53 | 14:$optval%="S| 00000450 6f 70 74 6f 66 66 2c 6f 70 74 6f 6e 22 0d 02 62 |optoff,opton"..b| 00000460 1b de 20 6e 75 6c 6c 25 20 20 20 20 20 32 3a 24 |.. null% 2:$| 00000470 6e 75 6c 6c 25 3d 22 22 0d 02 6c 21 74 61 73 6b |null%=""..l!task| 00000480 64 69 72 24 3d a4 6f 73 76 61 72 28 74 61 73 6b |dir$=.osvar(task| 00000490 24 2b 22 24 44 69 72 22 29 0d 02 76 16 46 25 3d |$+"$Dir")..v.F%=| 000004a0 30 3a f4 20 66 69 6c 65 20 68 61 6e 64 6c 65 0d |0:. file handle.| 000004b0 02 80 0f 64 61 74 61 64 69 72 24 3d 22 22 0d 02 |...datadir$=""..| 000004c0 8a 20 f4 20 70 6f 73 69 74 69 6f 6e 20 6f 66 20 |. . position of | 000004d0 70 61 6e 65 20 69 6e 20 70 61 72 65 6e 74 0d 02 |pane in parent..| 000004e0 94 2e 70 6f 74 25 3d 31 36 38 3a 70 6f 6c 25 3d |..pot%=168:pol%=| 000004f0 32 30 3a 70 61 6e 65 77 69 64 25 3d 37 36 38 3a |20:panewid%=768:| 00000500 70 61 6e 65 68 67 74 25 3d 34 38 34 0d 02 9e 11 |panehgt%=484....| 00000510 f2 77 69 6d 70 69 6e 69 74 28 71 25 29 0d 02 a8 |.wimpinit(q%)...| 00000520 05 e1 0d 02 b2 05 3a 0d 02 bc 12 dd f2 77 69 6d |......:......wim| 00000530 70 69 6e 69 74 28 71 25 29 0d 02 c6 0e 24 71 25 |pinit(q%)....$q%| 00000540 3d 22 54 41 53 4b 22 0d 02 c7 37 c8 99 20 22 57 |="TASK"...7.. "W| 00000550 69 6d 70 5f 49 6e 69 74 69 61 6c 69 73 65 22 2c |imp_Initialise",| 00000560 32 30 30 2c 21 71 25 2c 74 61 73 6b 24 20 b8 20 |200,!q%,task$ . | 00000570 76 65 72 73 69 6f 6e 25 2c 74 61 73 6b 25 0d 02 |version%,task%..| 00000580 d0 14 e7 20 76 65 72 73 69 6f 6e 25 3c 33 31 30 |... version%<310| 00000590 20 8c 0d 02 da 2c 20 85 20 30 2c 20 74 61 73 6b | ...., . 0, task| 000005a0 24 2b 22 20 6e 65 65 64 73 20 4f 53 20 33 2e 31 |$+" needs OS 3.1| 000005b0 20 6f 72 20 67 72 65 61 74 65 72 22 3a e0 0d 02 | or greater":...| 000005c0 e4 05 cd 0d 02 ee 14 e7 20 a4 74 68 28 74 61 73 |........ .th(tas| 000005d0 6b 24 29 3e 30 20 8c 0d 02 f8 27 20 85 20 30 2c |k$)>0 ....' . 0,| 000005e0 20 74 61 73 6b 24 2b 22 20 69 73 20 61 6c 72 65 | task$+" is alre| 000005f0 61 64 79 20 72 75 6e 6e 69 6e 67 22 3a e0 0d 03 |ady running":...| 00000600 02 05 cd 0d 03 16 05 e1 0d 03 20 05 3a 0d 03 2a |.......... .:..*| 00000610 0f dd f2 69 6e 69 74 69 63 6f 6e 73 0d 03 34 13 |...initicons..4.| 00000620 ea 20 77 68 25 3a 77 68 25 3d 69 6e 66 6f 25 0d |. wh%:wh%=info%.| 00000630 03 3e 14 f2 69 74 28 77 68 25 2c 30 2c 74 61 73 |.>..it(wh%,0,tas| 00000640 6b 24 29 0d 03 48 17 f2 69 74 28 77 68 25 2c 31 |k$)..H..it(wh%,1| 00000650 2c 70 75 72 70 6f 73 65 24 29 0d 03 52 16 f2 69 |,purpose$)..R..i| 00000660 74 28 77 68 25 2c 32 2c 61 75 74 68 6f 72 24 29 |t(wh%,2,author$)| 00000670 0d 03 5c 17 f2 69 74 28 77 68 25 2c 33 2c 76 65 |..\..it(wh%,3,ve| 00000680 72 73 69 6f 6e 24 29 0d 03 66 05 e1 0d 03 70 05 |rsion$)..f....p.| 00000690 3a 0d 03 7a 0f f4 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |:..z..----------| 000006a0 0d 03 84 0f f4 2e 20 4d 45 53 53 41 47 45 53 0d |...... MESSAGES.| 000006b0 03 8e 0f f4 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 03 |....----------..| 000006c0 98 05 3a 0d 03 a2 11 dd f2 72 65 63 65 69 76 65 |..:......receive| 000006d0 28 71 25 29 0d 03 ac 10 73 65 6e 64 65 72 25 3d |(q%)....sender%=| 000006e0 71 25 21 34 0d 03 b6 0e c8 8e 20 71 25 21 31 36 |q%!4...... q%!16| 000006f0 20 ca 0d 03 c0 12 20 f4 20 61 63 74 69 6f 6e 20 | ..... . action | 00000700 63 6f 64 65 0d 03 ca 10 20 c9 20 30 3a 71 75 69 |code.... . 0:qui| 00000710 74 25 3d b9 0d 03 d4 16 20 c9 20 33 3a f2 64 61 |t%=..... . 3:.da| 00000720 74 61 6c 6f 61 64 28 71 25 29 0d 03 de 18 20 c9 |taload(q%).... .| 00000730 20 39 3a f2 6d 65 6e 75 73 65 6c 65 63 74 28 71 | 9:.menuselect(q| 00000740 25 29 0d 03 e8 05 cb 0d 03 f2 05 e1 0d 03 fc 05 |%)..............| 00000750 3a 0d 04 06 0b f4 2d 2d 2d 2d 2d 2d 0d 04 10 0b |:.....------....| 00000760 f4 2e 20 4c 4f 41 44 0d 04 1a 0b f4 2d 2d 2d 2d |.. LOAD.....----| 00000770 2d 2d 0d 04 24 05 3a 0d 04 2e 12 dd f2 64 61 74 |--..$.:......dat| 00000780 61 6c 6f 61 64 28 71 25 29 0d 04 38 1c f4 20 6f |aload(q%)..8.. o| 00000790 62 6a 65 63 74 20 64 72 61 67 67 65 64 20 6f 6e |bject dragged on| 000007a0 74 6f 20 75 73 0d 04 42 13 66 69 6c 65 74 79 70 |to us..B.filetyp| 000007b0 65 25 3d 71 25 21 34 30 0d 04 4c 16 70 61 74 68 |e%=q%!40..L.path| 000007c0 24 3d a4 6e 61 6d 65 28 71 25 2b 34 34 29 0d 04 |$=.name(q%+44)..| 000007d0 56 16 71 25 21 31 32 3d 71 25 21 38 3a 71 25 21 |V.q%!12=q%!8:q%!| 000007e0 31 36 3d 34 0d 04 60 2a c8 99 20 22 57 69 6d 70 |16=4..`*.. "Wimp| 000007f0 5f 53 65 6e 64 4d 65 73 73 61 67 65 22 2c 31 37 |_SendMessage",17| 00000800 2c 71 25 2c 71 25 21 34 3a f4 20 61 63 6b 0d 04 |,q%,q%!4:. ack..| 00000810 6a 22 e7 20 a4 6f 6b 74 6f 6c 6f 61 64 28 70 61 |j". .oktoload(pa| 00000820 74 68 24 2c 66 69 6c 65 74 79 70 65 25 29 20 8c |th$,filetype%) .| 00000830 0d 04 74 1f 20 f2 6c 6f 61 64 66 69 6c 65 28 70 |..t. .loadfile(p| 00000840 61 74 68 24 2c 66 69 6c 65 74 79 70 65 25 29 0d |ath$,filetype%).| 00000850 04 7e 05 cd 0d 04 88 05 e1 0d 04 92 05 3a 0d 04 |.~...........:..| 00000860 9c 1f dd a4 6f 6b 74 6f 6c 6f 61 64 28 70 61 74 |....oktoload(pat| 00000870 68 24 2c 66 69 6c 65 74 79 70 65 25 29 0d 04 a6 |h$,filetype%)...| 00000880 10 ea 20 66 24 2c 6e 25 3a 6e 25 3d b9 0d 04 b0 |.. f$,n%:n%=....| 00000890 15 66 24 3d 22 4c 69 62 72 61 72 79 2e 44 61 74 |.f$="Library.Dat| 000008a0 61 22 0d 04 ba 2a e7 20 66 69 6c 65 74 79 70 65 |a"...*. filetype| 000008b0 25 3c 3e 26 31 30 30 30 20 84 20 c2 70 61 74 68 |%<>&1000 . .path| 000008c0 24 2c a9 66 24 29 3c 3e 66 24 20 8c 0d 04 c4 2d |$,.f$)<>f$ ....-| 000008d0 20 73 24 3d 22 44 72 61 67 20 4d 65 6e 75 42 61 | s$="Drag MenuBa| 000008e0 72 27 73 20 27 2e 2e 22 2b 66 24 2b 22 27 20 64 |r's '.."+f$+"' d| 000008f0 69 72 65 63 74 6f 72 79 22 0d 04 ce 1c 20 61 6e |irectory".... an| 00000900 73 25 3d a4 72 65 70 6f 72 74 28 73 24 2c 31 29 |s%=.report(s$,1)| 00000910 3a 6e 25 3d a3 0d 04 d8 05 cd 0d 04 e2 19 e7 20 |:n%=........... | 00000920 6e 25 20 8c 20 64 61 74 61 64 69 72 24 3d 70 61 |n% . datadir$=pa| 00000930 74 68 24 0d 04 ec 07 3d 6e 25 0d 04 f6 05 3a 0d |th$....=n%....:.| 00000940 05 00 1f dd f2 6c 6f 61 64 66 69 6c 65 28 70 61 |.....loadfile(pa| 00000950 74 68 24 2c 66 69 6c 65 74 79 70 65 25 29 0d 05 |th$,filetype%)..| 00000960 0a 27 f4 20 72 65 61 64 20 62 61 72 20 6e 61 6d |.'. read bar nam| 00000970 65 73 20 61 6e 64 20 70 6c 61 63 65 20 69 6e 20 |es and place in | 00000980 61 72 72 61 79 0d 05 14 29 ea 20 4a 25 2c 6d 6f |array...). J%,mo| 00000990 72 65 25 2c 6e 65 78 74 25 2c 6e 61 6d 65 24 2c |re%,next%,name$,| 000009a0 74 79 70 65 25 2c 73 24 2c 6d 24 2c 66 25 0d 05 |type%,s$,m$,f%..| 000009b0 1e 0e f2 63 77 28 6d 61 69 6e 25 29 0d 05 28 12 |...cw(main%)..(.| 000009c0 f4 20 66 6c 75 73 68 20 61 72 72 61 79 73 0d 05 |. flush arrays..| 000009d0 32 15 e3 20 4a 25 3d 31 20 b8 20 6d 61 78 62 61 |2.. J%=1 . maxba| 000009e0 72 73 25 0d 05 3c 15 20 24 62 61 72 6e 61 6d 65 |rs%..<. $barname| 000009f0 25 28 4a 25 29 3d 22 22 0d 05 46 16 20 24 70 61 |%(J%)=""..F. $pa| 00000a00 73 73 77 6f 72 64 25 28 4a 25 29 3d 22 22 0d 05 |ssword%(J%)=""..| 00000a10 50 23 20 24 70 61 73 73 76 61 6c 25 28 4a 25 29 |P# $passval%(J%)| 00000a20 3d 22 41 22 3a f4 20 75 6e 77 72 69 74 61 62 6c |="A":. unwritabl| 00000a30 65 0d 05 5a 1f 20 f2 75 69 28 70 61 6e 65 25 2c |e..Z. .ui(pane%,| 00000a40 6d 61 78 62 61 72 73 25 2a 33 2b 4a 25 2d 31 29 |maxbars%*3+J%-1)| 00000a50 0d 05 64 05 ed 0d 05 6e 14 72 65 6d 62 61 72 6e |..d....n.rembarn| 00000a60 61 6d 65 24 28 29 3d 22 22 0d 05 78 15 72 65 6d |ame$()=""..x.rem| 00000a70 70 61 73 73 77 6f 72 64 24 28 29 3d 22 22 0d 05 |password$()=""..| 00000a80 82 0f 61 63 74 69 76 65 25 28 29 3d a3 0d 05 8c |..active%()=....| 00000a90 12 72 65 6d 61 63 74 69 76 65 25 28 29 3d a3 0d |.remactive%()=..| 00000aa0 05 96 10 4a 25 3d 31 3a 6e 65 78 74 25 3d 30 0d |...J%=1:next%=0.| 00000ab0 05 a0 05 f5 0d 05 aa 3e 20 c8 99 20 22 4f 53 5f |.......> .. "OS_| 00000ac0 47 42 50 42 22 2c 31 30 2c 70 61 74 68 24 2c 71 |GBPB",10,path$,q| 00000ad0 25 2c 31 2c 6e 65 78 74 25 2c 31 30 30 2c 22 2a |%,1,next%,100,"*| 00000ae0 22 20 b8 20 2c 2c 2c 6d 6f 72 65 25 2c 6e 65 78 |" . ,,,more%,nex| 00000af0 74 25 0d 05 b4 0e 20 e7 20 6d 6f 72 65 25 20 8c |t%.... . more% .| 00000b00 0d 05 be 18 20 20 6e 61 6d 65 24 3d a4 6e 61 6d |.... name$=.nam| 00000b10 65 28 71 25 2b 32 30 29 0d 05 c8 24 20 20 6f 62 |e(q%+20)...$ ob| 00000b20 6a 25 3d a4 6f 62 6a 74 79 70 65 28 70 61 74 68 |j%=.objtype(path| 00000b30 24 2b 22 2e 22 2b 6e 61 6d 65 24 29 0d 05 d2 1e |$+"."+name$)....| 00000b40 20 20 74 79 70 65 25 3d 28 28 21 71 25 29 3e 3e | type%=((!q%)>>| 00000b50 3e 38 29 20 80 20 26 46 46 46 0d 05 dc 1d 20 20 |>8) . &FFF.... | 00000b60 e7 20 6f 62 6a 25 3d 31 20 80 20 74 79 70 65 25 |. obj%=1 . type%| 00000b70 3d 26 46 46 44 20 8c 0d 05 e6 1a 20 20 20 24 62 |=&FFD ..... $b| 00000b80 61 72 6e 61 6d 65 25 28 4a 25 29 3d 6e 61 6d 65 |arname%(J%)=name| 00000b90 24 0d 05 f0 1c 20 20 20 72 65 6d 62 61 72 6e 61 |$.... rembarna| 00000ba0 6d 65 24 28 4a 25 29 3d 6e 61 6d 65 24 0d 05 fa |me$(J%)=name$...| 00000bb0 2a 20 20 20 70 61 73 73 77 6f 72 64 24 3d a4 67 |* password$=.g| 00000bc0 65 74 70 61 73 73 77 6f 72 64 28 70 61 74 68 24 |etpassword(path$| 00000bd0 2c 6e 61 6d 65 24 29 0d 06 04 21 20 20 20 72 65 |,name$)...! re| 00000be0 6d 70 61 73 73 77 6f 72 64 24 28 4a 25 29 3d 70 |mpassword$(J%)=p| 00000bf0 61 73 73 77 6f 72 64 24 0d 06 0e 31 20 20 20 e7 |assword$...1 .| 00000c00 20 61 63 74 69 76 65 25 20 8c 20 61 63 74 69 76 | active% . activ| 00000c10 65 25 28 4a 25 29 3d b9 3a 72 65 6d 61 63 74 69 |e%(J%)=.:remacti| 00000c20 76 65 25 28 4a 25 29 3d b9 0d 06 18 1a 20 20 20 |ve%(J%)=..... | 00000c30 24 70 61 73 73 76 61 6c 25 28 4a 25 29 3d 22 41 |$passval%(J%)="A| 00000c40 7e 20 22 0d 06 22 1f 20 20 20 24 70 61 73 73 77 |~ "..". $passw| 00000c50 6f 72 64 25 28 4a 25 29 3d 70 61 73 73 77 6f 72 |ord%(J%)=passwor| 00000c60 64 24 0d 06 2c 0c 20 20 20 4a 25 2b 3d 31 0d 06 |d$..,. J%+=1..| 00000c70 36 07 20 20 cd 0d 06 40 06 20 cd 0d 06 4a 1c fd |6. ...@. ...J..| 00000c80 20 6e 65 78 74 25 3d 2d 31 20 84 20 4a 25 3e 6d | next%=-1 . J%>m| 00000c90 61 78 62 61 72 73 25 0d 06 54 0e 62 61 72 73 25 |axbars%..T.bars%| 00000ca0 3d 4a 25 2d 31 0d 06 5e 16 f2 69 74 28 6d 61 69 |=J%-1..^..it(mai| 00000cb0 6e 25 2c 30 2c 70 61 74 68 24 29 0d 06 68 0f e7 |n%,0,path$)..h..| 00000cc0 20 62 61 72 73 25 3e 30 20 8c 0d 06 72 13 20 e3 | bars%>0 ...r. .| 00000cd0 20 4a 25 3d 31 20 b8 20 62 61 72 73 25 0d 06 7c | J%=1 . bars%..|| 00000ce0 31 20 20 66 25 3d 26 31 34 30 30 42 31 33 33 3a |1 f%=&1400B133:| 00000cf0 f2 73 69 73 28 70 61 6e 65 25 2c 6d 61 78 62 61 |.sis(pane%,maxba| 00000d00 72 73 25 2a 33 2b 4a 25 2d 31 2c 66 25 29 0d 06 |rs%*3+J%-1,f%)..| 00000d10 86 30 20 20 e7 20 61 63 74 69 76 65 25 28 4a 25 |.0 . active%(J%| 00000d20 29 20 8c 20 f2 73 69 28 70 61 6e 65 25 2c 6d 61 |) . .si(pane%,ma| 00000d30 78 62 61 72 73 25 2a 33 2b 4a 25 2d 31 29 0d 06 |xbars%*3+J%-1)..| 00000d40 90 06 20 ed 0d 06 9a 17 20 e7 20 62 61 72 73 25 |.. ..... . bars%| 00000d50 3c 6d 61 78 62 61 72 73 25 20 8c 0d 06 a4 1d 20 |<maxbars% ..... | 00000d60 20 e3 20 4a 25 3d 62 61 72 73 25 2b 31 20 b8 20 | . J%=bars%+1 . | 00000d70 6d 61 78 62 61 72 73 25 0d 06 ae 1c 20 20 20 66 |maxbars%.... f| 00000d80 25 3d 26 31 34 34 30 42 31 33 33 3a f4 20 67 72 |%=&1440B133:. gr| 00000d90 65 79 65 64 0d 06 b8 25 20 20 20 f2 73 69 73 28 |eyed...% .sis(| 00000da0 70 61 6e 65 25 2c 6d 61 78 62 61 72 73 25 2a 33 |pane%,maxbars%*3| 00000db0 2b 4a 25 2d 31 2c 66 25 29 0d 06 c2 07 20 20 ed |+J%-1,f%).... .| 00000dc0 0d 06 cc 06 20 cd 0d 06 d6 05 cd 0d 06 e0 0e f2 |.... ...........| 00000dd0 6f 77 28 6d 61 69 6e 25 29 0d 06 ea 10 f2 68 6f |ow(main%).....ho| 00000de0 6d 65 28 70 61 6e 65 25 29 0d 06 f4 09 f2 62 65 |me(pane%).....be| 00000df0 65 70 0d 06 fe 05 e1 0d 07 08 05 3a 0d 07 12 0f |ep.........:....| 00000e00 f4 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 07 1c 0f f4 |.----------.....| 00000e10 2e 20 50 41 53 53 57 4f 52 44 0d 07 26 0f f4 2d |. PASSWORD..&..-| 00000e20 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 07 30 05 3a 0d 07 |---------..0.:..| 00000e30 3a 1c dd a4 67 65 74 70 61 73 73 77 6f 72 64 28 |:...getpassword(| 00000e40 66 73 70 24 2c 62 61 72 24 29 0d 07 44 1c ea 20 |fsp$,bar$)..D.. | 00000e50 4a 25 2c 66 61 63 74 6f 72 25 2c 63 25 2c 73 24 |J%,factor%,c%,s$| 00000e60 3a 73 24 3d 22 22 0d 07 4e 17 46 25 3d ad 28 66 |:s$=""..N.F%=.(f| 00000e70 73 70 24 2b 22 2e 22 2b 62 61 72 24 29 0d 07 58 |sp$+"."+bar$)..X| 00000e80 0b cf 23 46 25 3d 33 32 0d 07 62 10 61 63 74 69 |..#F%=32..b.acti| 00000e90 76 65 25 3d 9a 23 46 25 0d 07 6c 10 66 61 63 74 |ve%=.#F%..l.fact| 00000ea0 6f 72 25 3d 9a 23 46 25 0d 07 76 05 f5 0d 07 80 |or%=.#F%..v.....| 00000eb0 0c 20 63 25 3d 9a 23 46 25 0d 07 8a 22 20 e7 20 |. c%=.#F%..." . | 00000ec0 63 25 3e 33 31 20 8c 20 63 25 2d 3d 66 61 63 74 |c%>31 . c%-=fact| 00000ed0 6f 72 25 3a 73 24 2b 3d bd 63 25 0d 07 94 13 fd |or%:s$+=.c%.....| 00000ee0 20 63 25 3c 33 32 20 84 20 a9 73 24 3e 39 0d 07 | c%<32 . .s$>9..| 00000ef0 9e 0d d9 23 46 25 3a 46 25 3d 30 0d 07 a8 07 3d |...#F%:F%=0....=| 00000f00 73 24 0d 07 b2 05 3a 0d 07 bc 0b f4 2d 2d 2d 2d |s$....:.....----| 00000f10 2d 2d 0d 07 c6 0b f4 2e 20 53 41 56 45 0d 07 d0 |--...... SAVE...| 00000f20 0b f4 2d 2d 2d 2d 2d 2d 0d 07 da 05 3a 0d 07 e4 |..------....:...| 00000f30 10 dd f2 73 61 76 65 28 66 73 70 24 29 0d 07 ee |...save(fsp$)...| 00000f40 19 f4 20 53 61 76 65 20 62 75 74 74 6f 6e 20 63 |.. Save button c| 00000f50 6c 69 63 6b 65 64 0d 07 f8 14 ea 20 4a 25 2c 4b |licked..... J%,K| 00000f60 25 2c 6e 25 2c 63 24 2c 63 25 0d 08 02 19 e7 20 |%,n%,c$,c%..... | 00000f70 62 61 72 73 25 3d 30 20 84 20 66 73 70 24 3d 22 |bars%=0 . fsp$="| 00000f80 22 20 8c 0d 08 0c 0a 20 f2 62 75 7a 7a 0d 08 16 |" ..... .buzz...| 00000f90 05 cc 0d 08 20 13 20 e3 20 4a 25 3d 31 20 b8 20 |.... . . J%=1 . | 00000fa0 62 61 72 73 25 0d 08 2a 18 20 20 62 61 72 24 3d |bars%..*. bar$=| 00000fb0 24 62 61 72 6e 61 6d 65 25 28 4a 25 29 0d 08 34 |$barname%(J%)..4| 00000fc0 19 20 20 46 25 3d ad 28 66 73 70 24 2b 22 2e 22 |. F%=.(fsp$+"."| 00000fd0 2b 62 61 72 24 29 0d 08 3e 16 20 20 f4 20 70 6f |+bar$)..>. . po| 00000fe0 6b 65 20 61 6c 6c 20 7a 65 72 6f 73 0d 08 48 22 |ke all zeros..H"| 00000ff0 20 20 cf 23 46 25 3d 33 32 3a e3 20 4b 25 3d 30 | .#F%=32:. K%=0| 00001000 20 b8 20 31 35 3a d5 23 46 25 2c 30 3a ed 0d 08 | . 15:.#F%,0:...| 00001010 52 07 20 20 3a 0d 08 5c 0d 20 20 cf 23 46 25 3d |R. :..\. .#F%=| 00001020 33 32 0d 08 66 28 20 20 61 63 74 69 76 65 25 3d |32..f( active%=| 00001030 a4 69 73 28 70 61 6e 65 25 2c 6d 61 78 62 61 72 |.is(pane%,maxbar| 00001040 73 25 2a 33 2b 4a 25 2d 31 29 0d 08 70 2e 20 20 |s%*3+J%-1)..p. | 00001050 e7 20 61 63 74 69 76 65 25 20 8c 20 61 63 74 69 |. active% . acti| 00001060 76 65 25 3d b3 28 32 35 34 29 2b 31 20 8b 20 61 |ve%=.(254)+1 . a| 00001070 63 74 69 76 65 25 3d 30 0d 08 7a 12 20 20 d5 23 |ctive%=0..z. .#| 00001080 46 25 2c 61 63 74 69 76 65 25 0d 08 84 07 20 20 |F%,active%.... | 00001090 3a 0d 08 8e 1e 20 20 70 61 73 73 77 6f 72 64 24 |:.... password$| 000010a0 3d 24 70 61 73 73 77 6f 72 64 25 28 4a 25 29 0d |=$password%(J%).| 000010b0 08 98 34 20 20 e7 20 70 61 73 73 77 6f 72 64 24 |..4 . password$| 000010c0 3c 3e 22 22 20 8c 20 66 61 63 74 6f 72 25 3d 35 |<>"" . factor%=5| 000010d0 38 2b b3 28 37 35 29 20 8b 20 66 61 63 74 6f 72 |8+.(75) . factor| 000010e0 25 3d 30 0d 08 a2 12 20 20 d5 23 46 25 2c 66 61 |%=0.... .#F%,fa| 000010f0 63 74 6f 72 25 0d 08 ac 07 20 20 3a 0d 08 b6 17 |ctor%.... :....| 00001100 20 20 e7 20 70 61 73 73 77 6f 72 64 24 3c 3e 22 | . password$<>"| 00001110 22 20 8c 0d 08 c0 1c 20 20 20 e3 20 4b 25 3d 31 |" ..... . K%=1| 00001120 20 b8 20 a9 28 70 61 73 73 77 6f 72 64 24 29 0d | . .(password$).| 00001130 08 ca 1b 20 20 20 20 63 24 3d c1 70 61 73 73 77 |... c$=.passw| 00001140 6f 72 64 24 2c 4b 25 2c 31 29 0d 08 d4 16 20 20 |ord$,K%,1).... | 00001150 20 20 63 25 3d 97 63 24 2b 66 61 63 74 6f 72 25 | c%=.c$+factor%| 00001160 0d 08 de 0f 20 20 20 20 d5 23 46 25 2c 63 25 0d |.... .#F%,c%.| 00001170 08 e8 09 20 20 20 ed 20 0d 08 f2 07 20 20 cd 0d |... . .... ..| 00001180 08 fc 0f 20 20 d9 23 46 25 3a 46 25 3d 30 0d 09 |... .#F%:F%=0..| 00001190 06 06 20 ed 0d 09 10 0a 20 f2 62 65 65 70 0d 09 |.. ..... .beep..| 000011a0 1a 05 cd 0d 09 24 05 e1 0d 09 2e 05 3a 0d 09 38 |.....$......:..8| 000011b0 0c f4 2d 2d 2d 2d 2d 2d 2d 0d 09 42 0c f4 2e 20 |..-------..B... | 000011c0 4d 4f 55 53 45 0d 09 4c 0c f4 2d 2d 2d 2d 2d 2d |MOUSE..L..------| 000011d0 2d 0d 09 56 05 3a 0d 09 60 0f dd f2 6d 6f 75 73 |-..V.:..`...mous| 000011e0 65 28 71 25 29 0d 09 6a 19 ea 20 6d 78 25 2c 6d |e(q%)..j.. mx%,m| 000011f0 79 25 2c 6d 62 25 2c 77 68 25 2c 69 68 25 0d 09 |y%,mb%,wh%,ih%..| 00001200 74 32 6d 78 25 3d 71 25 21 30 3a 6d 79 25 3d 71 |t2mx%=q%!0:my%=q| 00001210 25 21 34 3a 6d 62 25 3d 71 25 21 38 3a 77 68 25 |%!4:mb%=q%!8:wh%| 00001220 3d 71 25 21 31 32 3a 69 68 25 3d 71 25 21 31 36 |=q%!12:ih%=q%!16| 00001230 0d 09 7e 0c c8 8e 20 77 68 25 20 ca 0d 09 88 09 |..~... wh% .....| 00001240 20 c9 20 2d 32 0d 09 92 0d 20 c8 8e 20 6d 62 25 | . -2.... .. mb%| 00001250 20 ca 0d 09 9c 20 20 20 c9 20 32 3a f2 6d 65 6e | .... . 2:.men| 00001260 75 28 77 68 25 2c 69 68 25 2c 6d 78 25 2c 6d 79 |u(wh%,ih%,mx%,my| 00001270 25 29 0d 09 a6 12 20 20 7f 3a f2 6f 77 28 6d 61 |%).... .:.ow(ma| 00001280 69 6e 25 29 0d 09 b0 06 20 cb 0d 09 ba 06 20 3a |in%).... ..... :| 00001290 0d 09 c4 0c 20 c9 20 70 61 6e 65 25 0d 09 ce 0d |.... . pane%....| 000012a0 20 c8 8e 20 6d 62 25 20 ca 0d 09 d8 26 20 20 e7 | .. mb% ....& .| 000012b0 20 6d 62 25 3d 32 20 8c 20 f2 6d 65 6e 75 28 77 | mb%=2 . .menu(w| 000012c0 68 25 2c 69 68 25 2c 6d 78 25 2c 6d 79 25 29 0d |h%,ih%,mx%,my%).| 000012d0 09 e2 06 20 cb 0d 09 ec 06 20 3a 0d 09 f6 0c 20 |... ..... :.... | 000012e0 c9 20 6d 61 69 6e 25 0d 0a 00 0d 20 c8 8e 20 6d |. main%.... .. m| 000012f0 62 25 20 ca 0d 0a 0a 20 20 20 c9 20 32 3a f2 6d |b% .... . 2:.m| 00001300 65 6e 75 28 77 68 25 2c 69 68 25 2c 6d 78 25 2c |enu(wh%,ih%,mx%,| 00001310 6d 79 25 29 0d 0a 14 0c 20 20 c9 20 31 2c 34 3a |my%).... . 1,4:| 00001320 0d 0a 1e 0e 20 20 c8 8e 20 69 68 25 20 ca 0d 0a |.... .. ih% ...| 00001330 28 1b 20 20 20 c9 20 33 3a f2 63 61 6e 63 65 6c |(. . 3:.cancel| 00001340 28 77 68 25 2c 6d 62 25 29 0d 0a 32 1a 20 20 20 |(wh%,mb%)..2. | 00001350 c9 20 34 3a f2 73 61 76 65 28 64 61 74 61 64 69 |. 4:.save(datadi| 00001360 72 24 29 0d 0a 3c 07 20 20 cb 0d 0a 46 06 20 cb |r$)..<. ...F. .| 00001370 0d 0a 50 05 cb 0d 0a 5a 05 e1 0d 0a 64 05 3a 0d |..P....Z....d.:.| 00001380 0a 6e 15 dd f2 63 61 6e 63 65 6c 28 77 68 25 2c |.n...cancel(wh%,| 00001390 6d 62 25 29 0d 0a 78 14 f4 20 72 65 73 74 6f 72 |mb%)..x.. restor| 000013a0 65 20 76 61 6c 75 65 73 0d 0a 82 08 ea 20 4a 25 |e values..... J%| 000013b0 0d 0a 8c 0f e7 20 62 61 72 73 25 3e 30 20 8c 0d |..... bars%>0 ..| 000013c0 0a 96 13 20 e3 20 4a 25 3d 31 20 b8 20 62 61 72 |... . J%=1 . bar| 000013d0 73 25 0d 0a a0 23 20 20 24 62 61 72 6e 61 6d 65 |s%...# $barname| 000013e0 25 28 4a 25 29 3d 72 65 6d 62 61 72 6e 61 6d 65 |%(J%)=rembarname| 000013f0 24 28 4a 25 29 0d 0a aa 25 20 20 24 70 61 73 73 |$(J%)...% $pass| 00001400 77 6f 72 64 25 28 4a 25 29 3d 72 65 6d 70 61 73 |word%(J%)=rempas| 00001410 73 77 6f 72 64 24 28 4a 25 29 0d 0a b4 18 20 20 |sword$(J%).... | 00001420 e7 20 72 65 6d 61 63 74 69 76 65 25 28 4a 25 29 |. remactive%(J%)| 00001430 20 8c 0d 0a be 21 20 20 20 f2 73 69 28 70 61 6e | ....! .si(pan| 00001440 65 25 2c 6d 61 78 62 61 72 73 25 2a 33 2b 4a 25 |e%,maxbars%*3+J%| 00001450 2d 31 29 0d 0a c8 07 20 20 cc 0d 0a d2 21 20 20 |-1).... ....! | 00001460 20 f2 75 69 28 70 61 6e 65 25 2c 6d 61 78 62 61 | .ui(pane%,maxba| 00001470 72 73 25 2a 33 2b 4a 25 2d 31 29 0d 0a dc 07 20 |rs%*3+J%-1).... | 00001480 20 cd 0d 0a e6 06 20 ed 0d 0a f0 0e 20 e7 20 6d | ..... ..... . m| 00001490 62 25 3d 31 20 8c 0d 0a fa 12 20 20 f2 68 6f 6d |b%=1 ..... .hom| 000014a0 65 28 70 61 6e 65 25 29 0d 0b 04 13 20 20 f2 66 |e(pane%).... .f| 000014b0 6f 72 63 65 28 70 61 6e 65 25 29 0d 0b 0e 06 20 |orce(pane%).... | 000014c0 cc 0d 0b 18 10 20 20 f2 63 77 28 6d 61 69 6e 25 |..... .cw(main%| 000014d0 29 0d 0b 22 06 20 cd 0d 0b 2c 0a 20 f2 62 65 65 |)..". ...,. .bee| 000014e0 70 0d 0b 36 05 cc 0d 0b 40 1a 20 e7 20 6d 62 25 |p..6....@. . mb%| 000014f0 3c 3e 31 20 8c 20 f2 63 77 28 6d 61 69 6e 25 29 |<>1 . .cw(main%)| 00001500 0d 0b 4a 05 cd 0d 0b 54 05 e1 0d 0b 5e 05 3a 0d |..J....T....^.:.| 00001510 0b 68 0b f4 2d 2d 2d 2d 2d 2d 0d 0b 72 0b f4 2e |.h..------..r...| 00001520 20 4b 45 59 53 0d 0b 7c 0b f4 2d 2d 2d 2d 2d 2d | KEYS..|..------| 00001530 0d 0b 86 05 3a 0d 0b 90 12 dd f2 6b 65 79 70 72 |....:......keypr| 00001540 65 73 73 28 71 25 29 0d 0b 9a 10 ea 20 77 68 25 |ess(q%)..... wh%| 00001550 2c 69 68 25 2c 63 25 0d 0b a4 1e 77 68 25 3d 71 |,ih%,c%....wh%=q| 00001560 25 21 30 3a 69 68 25 3d 71 25 21 34 3a 63 25 3d |%!0:ih%=q%!4:c%=| 00001570 71 25 21 32 34 0d 0b ae 0b c8 8e 20 63 25 20 ca |q%!24...... c% .| 00001580 0d 0b b8 1b 20 c9 20 20 31 33 3a f2 72 65 74 75 |.... . 13:.retu| 00001590 72 6e 28 77 68 25 2c 69 68 25 29 0d 0b c2 15 20 |rn(wh%,ih%).... | 000015a0 c9 20 20 33 30 3a f2 68 6f 6d 65 28 77 68 25 29 |. 30:.home(wh%)| 000015b0 0d 0b cc 15 20 c9 20 33 38 38 3a f2 74 65 73 74 |.... . 388:.test| 000015c0 3a f4 20 46 34 0d 0b d6 19 20 c9 20 33 39 38 3a |:. F4.... . 398:| 000015d0 f2 64 6f 77 6e 28 77 68 25 2c 69 68 25 29 0d 0b |.down(wh%,ih%)..| 000015e0 e0 17 20 c9 20 33 39 39 3a f2 75 70 28 77 68 25 |.. . 399:.up(wh%| 000015f0 2c 69 68 25 29 0d 0b ea 05 cb 0d 0b f4 05 e1 0d |,ih%)...........| 00001600 0b fe 05 3a 0d 0c 08 0f dd f2 68 6f 6d 65 28 77 |...:......home(w| 00001610 68 25 29 0d 0c 12 11 e7 20 77 68 25 3d 70 61 6e |h%)..... wh%=pan| 00001620 65 25 20 8c 0d 0c 1c 29 20 21 71 25 3d 77 68 25 |e% ....) !q%=wh%| 00001630 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 6e |:.. "Wimp_GetWin| 00001640 64 6f 77 53 74 61 74 65 22 2c 2c 71 25 0d 0c 26 |dowState",,q%..&| 00001650 2d 20 71 25 21 32 30 3d 30 3a 71 25 21 32 34 3d |- q%!20=0:q%!24=| 00001660 30 3a c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e 57 |0:.. "Wimp_OpenW| 00001670 69 6e 64 6f 77 22 2c 2c 71 25 0d 0c 30 1b 20 f2 |indow",,q%..0. .| 00001680 63 61 72 65 74 28 77 68 25 2c 6d 61 78 62 61 72 |caret(wh%,maxbar| 00001690 73 25 2a 32 29 0d 0c 3a 05 cd 0d 0c 44 05 e1 0d |s%*2)..:....D...| 000016a0 0c 4e 05 3a 0d 0c 58 15 dd f2 72 65 74 75 72 6e |.N.:..X...return| 000016b0 28 77 68 25 2c 69 68 25 29 0d 0c 62 0a 72 65 74 |(wh%,ih%)..b.ret| 000016c0 25 3d b9 0d 0c 6c 24 e7 20 77 68 25 3d 70 61 6e |%=...l$. wh%=pan| 000016d0 65 25 20 80 20 69 68 25 3c 6d 61 78 62 61 72 73 |e% . ih%<maxbars| 000016e0 25 2a 33 2d 31 20 8c 0d 0c 76 19 20 f2 73 63 72 |%*3-1 ...v. .scr| 000016f0 6f 6c 6c 28 77 68 25 2c 69 68 25 2c 30 2c 34 29 |oll(wh%,ih%,0,4)| 00001700 0d 0c 80 16 20 f2 63 61 72 65 74 28 77 68 25 2c |.... .caret(wh%,| 00001710 69 68 25 2b 31 29 0d 0c 8a 05 cd 0d 0c 94 05 e1 |ih%+1)..........| 00001720 0d 0c 9e 05 3a 0d 0c a8 13 dd f2 64 6f 77 6e 28 |....:......down(| 00001730 77 68 25 2c 69 68 25 29 0d 0c b2 24 e7 20 77 68 |wh%,ih%)...$. wh| 00001740 25 3d 70 61 6e 65 25 20 80 20 69 68 25 3c 6d 61 |%=pane% . ih%<ma| 00001750 78 62 61 72 73 25 2a 33 2d 31 20 8c 0d 0c bc 19 |xbars%*3-1 .....| 00001760 20 f2 73 63 72 6f 6c 6c 28 77 68 25 2c 69 68 25 | .scroll(wh%,ih%| 00001770 2c 30 2c 34 29 0d 0c c6 16 20 f2 63 61 72 65 74 |,0,4).... .caret| 00001780 28 77 68 25 2c 69 68 25 2b 31 29 0d 0c d0 05 cd |(wh%,ih%+1).....| 00001790 0d 0c da 05 e1 0d 0c e4 05 3a 0d 0c ee 11 dd f2 |.........:......| 000017a0 75 70 28 77 68 25 2c 69 68 25 29 0d 0c f8 22 e7 |up(wh%,ih%)...".| 000017b0 20 77 68 25 3d 70 61 6e 65 25 20 80 20 69 68 25 | wh%=pane% . ih%| 000017c0 3e 6d 61 78 62 61 72 73 25 2a 32 20 8c 0d 0d 02 |>maxbars%*2 ....| 000017d0 19 20 f2 73 63 72 6f 6c 6c 28 77 68 25 2c 69 68 |. .scroll(wh%,ih| 000017e0 25 2c 31 2c 34 29 0d 0d 0c 16 20 f2 63 61 72 65 |%,1,4).... .care| 000017f0 74 28 77 68 25 2c 69 68 25 2d 31 29 0d 0d 16 05 |t(wh%,ih%-1)....| 00001800 cd 0d 0d 20 05 e1 0d 0d 2a 05 3a 0d 0d 34 1f dd |... ....*.:..4..| 00001810 f2 73 63 72 6f 6c 6c 28 77 68 25 2c 69 68 25 2c |.scroll(wh%,ih%,| 00001820 77 61 79 25 2c 67 61 70 25 29 0d 0d 3e 18 f4 20 |way%,gap%)..>.. | 00001830 77 61 79 25 3a 20 30 3d 64 6f 77 6e 2c 20 31 3d |way%: 0=down, 1=| 00001840 75 70 0d 0d 48 16 ea 20 77 25 2c 69 25 2c 6e 25 |up..H.. w%,i%,n%| 00001850 2c 73 25 3a 73 25 3d a3 0d 0d 52 21 f4 20 67 65 |,s%:s%=...R!. ge| 00001860 74 20 77 69 6e 64 6f 77 20 65 64 67 65 20 28 77 |t window edge (w| 00001870 61 20 63 6f 6f 72 64 73 29 0d 0d 5c 29 71 25 21 |a coords)..\)q%!| 00001880 30 3d 77 68 25 3a c8 99 20 22 57 69 6d 70 5f 47 |0=wh%:.. "Wimp_G| 00001890 65 74 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c |etWindowState",,| 000018a0 71 25 0d 0d 66 2f e7 20 77 61 79 25 3d 30 20 8c |q%..f/. way%=0 .| 000018b0 20 77 25 3d 71 25 21 32 34 2d 28 71 25 21 31 36 | w%=q%!24-(q%!16| 000018c0 2d 71 25 21 38 29 20 8b 20 77 25 3d 71 25 21 32 |-q%!8) . w%=q%!2| 000018d0 34 0d 0d 70 1f f4 20 67 65 74 20 69 63 6f 6e 20 |4..p.. get icon | 000018e0 65 64 67 65 20 28 77 61 20 63 6f 6f 72 64 73 29 |edge (wa coords)| 000018f0 0d 0d 7a 26 e7 20 77 61 79 25 3d 30 20 8c 20 71 |..z&. way%=0 . q| 00001900 25 21 34 3d 69 68 25 2b 31 20 8b 20 71 25 21 34 |%!4=ih%+1 . q%!4| 00001910 3d 69 68 25 2d 31 0d 0d 84 27 71 25 21 30 3d 77 |=ih%-1...'q%!0=w| 00001920 68 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 49 |h%:.. "Wimp_GetI| 00001930 63 6f 6e 53 74 61 74 65 22 2c 2c 71 25 0d 0d 8e |conState",,q%...| 00001940 0d c8 8e 20 77 61 79 25 20 ca 0d 0d 98 20 20 c9 |... way% .... .| 00001950 20 30 3a 69 25 3d 71 25 21 31 32 3a e7 20 69 25 | 0:i%=q%!12:. i%| 00001960 3c 77 25 20 8c 20 73 25 3d b9 0d 0d a2 20 20 c9 |<w% . s%=.... .| 00001970 20 31 3a 69 25 3d 71 25 21 32 30 3a e7 20 69 25 | 1:i%=q%!20:. i%| 00001980 3e 77 25 20 8c 20 73 25 3d b9 0d 0d ac 05 cb 0d |>w% . s%=.......| 00001990 0d b6 0a e7 20 73 25 20 8c 0d 0d c0 0e 20 c8 8e |.... s% ..... ..| 000019a0 20 77 61 79 25 20 ca 0d 0d ca 1d 20 20 c9 20 30 | way% ..... . 0| 000019b0 3a 6e 25 3d 94 28 69 25 29 2d 94 28 77 25 29 2b |:n%=.(i%)-.(w%)+| 000019c0 67 61 70 25 0d 0d d4 1d 20 20 c9 20 31 3a 6e 25 |gap%.... . 1:n%| 000019d0 3d 94 28 77 25 29 2d 94 28 69 25 29 2b 67 61 70 |=.(w%)-.(i%)+gap| 000019e0 25 0d 0d de 06 20 cb 0d 0d e8 29 20 21 71 25 3d |%.... ....) !q%=| 000019f0 77 68 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 |wh%:.. "Wimp_Get| 00001a00 57 69 6e 64 6f 77 53 74 61 74 65 22 2c 2c 71 25 |WindowState",,q%| 00001a10 0d 0d f2 25 20 e7 20 77 61 79 25 3d 30 20 8c 20 |...% . way%=0 . | 00001a20 71 25 21 32 34 2d 3d 6e 25 20 8b 20 71 25 21 32 |q%!24-=n% . q%!2| 00001a30 34 2b 3d 6e 25 0d 0d fc 1d 20 c8 99 20 22 57 69 |4+=n%.... .. "Wi| 00001a40 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c |mp_OpenWindow",,| 00001a50 71 25 0d 0e 06 05 cd 0d 0e 10 05 e1 0d 0e 1a 05 |q%..............| 00001a60 3a 0d 0e 24 14 dd f2 63 61 72 65 74 28 77 68 25 |:..$...caret(wh%| 00001a70 2c 69 68 25 29 0d 0e 2e 18 ea 20 73 24 3a 73 24 |,ih%)..... s$:s$| 00001a80 3d a4 69 74 28 77 68 25 2c 69 68 25 29 0d 0e 38 |=.it(wh%,ih%)..8| 00001a90 2f c8 99 20 22 57 69 6d 70 5f 53 65 74 43 61 72 |/.. "Wimp_SetCar| 00001aa0 65 74 50 6f 73 69 74 69 6f 6e 22 2c 77 68 25 2c |etPosition",wh%,| 00001ab0 69 68 25 2c 2c 2c 2d 31 2c a9 73 24 0d 0e 42 05 |ih%,,,-1,.s$..B.| 00001ac0 e1 0d 0e 4c 05 3a 0d 0e 56 0a dd f2 74 65 73 74 |...L.:..V...test| 00001ad0 0d 0e 60 05 e1 0d 0e 6a 05 3a 0d 0e 74 0b f4 2d |..`....j.:..t..-| 00001ae0 2d 2d 2d 2d 2d 0d 0e 7e 0b f4 2e 20 4d 45 4e 55 |-----..~... MENU| 00001af0 0d 0e 88 0b f4 2d 2d 2d 2d 2d 2d 0d 0e 92 05 3a |.....------....:| 00001b00 0d 0e 9c 1b dd f2 6d 65 6e 75 28 77 68 25 2c 69 |......menu(wh%,i| 00001b10 68 25 2c 6d 78 25 2c 6d 79 25 29 0d 0e a6 1b f4 |h%,mx%,my%).....| 00001b20 20 6d 69 64 64 6c 65 20 62 75 74 74 6f 6e 20 63 | middle button c| 00001b30 6c 69 63 6b 65 64 0d 0e b0 0c c8 8e 20 77 68 25 |licked...... wh%| 00001b40 20 ca 0d 0e ba 39 20 c9 20 6d 61 69 6e 25 2c 70 | ....9 . main%,p| 00001b50 61 6e 65 25 3a e7 20 62 61 72 73 25 3e 30 20 8c |ane%:. bars%>0 .| 00001b60 20 f2 6d 61 69 6e 6d 65 6e 75 28 77 68 25 2c 69 | .mainmenu(wh%,i| 00001b70 68 25 2c 6d 78 25 2c 6d 79 25 29 0d 0e c4 1f 20 |h%,mx%,my%).... | 00001b80 c9 20 2d 32 3a f2 62 61 72 6d 65 6e 75 28 77 68 |. -2:.barmenu(wh| 00001b90 25 2c 6d 78 25 2c 6d 79 25 29 0d 0e ce 05 cb 0d |%,mx%,my%)......| 00001ba0 0e d8 05 e1 0d 0e e2 05 3a 0d 0e ec 1a dd f2 62 |........:......b| 00001bb0 61 72 6d 65 6e 75 28 77 68 25 2c 6d 78 25 2c 6d |armenu(wh%,mx%,m| 00001bc0 79 25 29 0d 0e f6 39 ea 20 66 25 2c 62 25 2c 67 |y%)...9. f%,b%,g| 00001bd0 25 3a 62 25 3d 26 37 30 30 30 30 32 31 3a 67 25 |%:b%=&7000021:g%| 00001be0 3d 26 37 34 30 30 30 32 31 3a f4 20 66 6c 61 67 |=&7400021:. flag| 00001bf0 73 3d 62 6c 61 63 6b 2c 67 72 65 79 0d 0f 00 27 |s=black,grey...'| 00001c00 72 65 6d 77 68 25 3d 77 68 25 3a 72 65 6d 78 25 |remwh%=wh%:remx%| 00001c10 3d 6d 78 25 3a 72 65 6d 79 25 3d 6d 79 25 3a 69 |=mx%:remy%=my%:i| 00001c20 25 3d 30 0d 0f 0a 2f 61 25 3d 6d 62 31 25 3a 21 |%=0.../a%=mb1%:!| 00001c30 61 25 3d 62 61 72 69 63 6f 6e 25 3a 70 25 3d 61 |a%=baricon%:p%=a| 00001c40 25 2b 33 32 3a 24 28 61 25 2b 34 29 3d 74 61 73 |%+32:$(a%+4)=tas| 00001c50 6b 24 0d 0f 14 2b 61 25 21 31 36 3d 26 37 30 32 |k$...+a%!16=&702| 00001c60 30 37 3a 61 25 21 32 30 3d 31 32 38 3a 61 25 21 |07:a%!20=128:a%!| 00001c70 32 34 3d 34 34 3a 61 25 21 32 38 3d 30 0d 0f 1e |24=44:a%!28=0...| 00001c80 40 73 24 3d 22 49 6e 66 6f 22 3a 70 25 21 30 3d |@s$="Info":p%!0=| 00001c90 30 3a 70 25 21 34 3d 69 6e 66 6f 25 3a 70 25 21 |0:p%!4=info%:p%!| 00001ca0 38 3d 62 25 3a 24 28 70 25 2b 31 32 29 3d 73 24 |8=b%:$(p%+12)=s$| 00001cb0 3a 70 25 2b 3d 32 34 3a 69 25 2b 3d 31 0d 0f 28 |:p%+=24:i%+=1..(| 00001cc0 37 73 24 3d 22 51 75 69 74 22 3a 70 25 21 30 3d |7s$="Quit":p%!0=| 00001cd0 26 38 30 3a 70 25 21 34 3d 30 3a 70 25 21 38 3d |&80:p%!4=0:p%!8=| 00001ce0 62 25 3a 24 28 70 25 2b 31 32 29 3d 73 24 3a 69 |b%:$(p%+12)=s$:i| 00001cf0 25 2b 3d 31 0d 0f 32 30 c8 99 20 22 57 69 6d 70 |%+=1..20.. "Wimp| 00001d00 5f 43 72 65 61 74 65 4d 65 6e 75 22 2c 2c 6d 62 |_CreateMenu",,mb| 00001d10 31 25 2b 34 2c 6d 78 25 2d 36 34 2c 39 36 2b 69 |1%+4,mx%-64,96+i| 00001d20 25 2a 34 34 0d 0f 3c 05 e1 0d 0f 46 05 3a 0d 0f |%*44..<....F.:..| 00001d30 50 1f dd f2 6d 61 69 6e 6d 65 6e 75 28 77 68 25 |P...mainmenu(wh%| 00001d40 2c 69 68 25 2c 6d 78 25 2c 6d 79 25 29 0d 0f 5a |,ih%,mx%,my%)..Z| 00001d50 38 ea 20 66 25 2c 62 25 2c 67 25 2c 6d 24 2c 6e |8. f%,b%,g%,m$,n| 00001d60 24 2c 6e 32 24 2c 6e 33 24 2c 70 61 74 68 24 2c |$,n2$,n3$,path$,| 00001d70 6c 65 61 66 24 2c 77 31 25 2c 77 32 25 2c 77 69 |leaf$,w1%,w2%,wi| 00001d80 64 25 2c 74 25 0d 0f 64 22 72 65 6d 78 25 3d 6d |d%,t%..d"remx%=m| 00001d90 78 25 3a 72 65 6d 79 25 3d 6d 79 25 3a 72 65 6d |x%:remy%=my%:rem| 00001da0 77 68 25 3d 77 68 25 0d 0f 6e 21 62 25 3d 26 37 |wh%=wh%..n!b%=&7| 00001db0 30 30 30 30 32 31 3a 67 25 3d 26 37 34 30 30 30 |000021:g%=&74000| 00001dc0 32 31 3a 66 25 3d 62 25 0d 0f 78 05 3a 0d 0f 82 |21:f%=b%..x.:...| 00001dd0 1f 61 25 3d 6d 62 31 25 3a 70 25 3d 61 25 2b 32 |.a%=mb1%:p%=a%+2| 00001de0 38 3a 24 61 25 3d 22 4d 61 69 6e 22 0d 0f 8c 2c |8:$a%="Main"...,| 00001df0 61 25 21 31 32 3d 26 37 30 32 30 37 3a 61 25 21 |a%!12=&70207:a%!| 00001e00 31 36 3d 35 2a 31 36 3a 61 25 21 32 30 3d 34 34 |16=5*16:a%!20=44| 00001e10 3a 61 25 21 32 34 3d 30 0d 0f 96 3c 73 24 3d 22 |:a%!24=0...<s$="| 00001e20 41 6c 6c 20 61 63 74 69 76 65 22 3a 70 25 21 30 |All active":p%!0| 00001e30 3d 30 3a 70 25 21 34 3d 30 3a 70 25 21 38 3d 66 |=0:p%!4=0:p%!8=f| 00001e40 25 3a 24 28 70 25 2b 31 32 29 3d 73 24 3a 70 25 |%:$(p%+12)=s$:p%| 00001e50 2b 3d 32 34 0d 0f a0 38 73 24 3d 22 4e 6f 6e 65 |+=24...8s$="None| 00001e60 20 61 63 74 69 76 65 22 3a 70 25 21 30 3d 26 38 | active":p%!0=&8| 00001e70 30 3a 70 25 21 34 3d 30 3a 70 25 21 38 3d 66 25 |0:p%!4=0:p%!8=f%| 00001e80 3a 24 28 70 25 2b 31 32 29 3d 73 24 0d 0f aa 05 |:$(p%+12)=s$....| 00001e90 3a 0d 0f b4 29 c8 99 20 22 57 69 6d 70 5f 43 72 |:...).. "Wimp_Cr| 00001ea0 65 61 74 65 4d 65 6e 75 22 2c 2c 6d 62 31 25 2c |eateMenu",,mb1%,| 00001eb0 6d 78 25 2d 36 34 2c 6d 79 25 0d 0f be 05 e1 0d |mx%-64,my%......| 00001ec0 0f c8 05 3a 0d 0f d2 14 dd f2 6d 65 6e 75 73 65 |...:......menuse| 00001ed0 6c 65 63 74 28 71 25 29 0d 0f dc 0f c8 8e 20 72 |lect(q%)...... r| 00001ee0 65 6d 77 68 25 20 ca 0d 0f e6 22 20 c9 20 6d 61 |emwh% ...." . ma| 00001ef0 69 6e 25 2c 70 61 6e 65 25 3a f2 6d 61 69 6e 63 |in%,pane%:.mainc| 00001f00 68 6f 69 63 65 28 71 25 29 0d 0f f0 19 20 7f 3a |hoice(q%).... .:| 00001f10 e7 20 71 25 21 30 3d 31 20 8c 20 71 75 69 74 25 |. q%!0=1 . quit%| 00001f20 3d b9 0d 0f fa 05 cb 0d 10 04 05 e1 0d 10 0e 05 |=...............| 00001f30 3a 0d 10 18 14 dd f2 6d 61 69 6e 63 68 6f 69 63 |:......mainchoic| 00001f40 65 28 71 25 29 0d 10 22 25 f4 20 63 6c 69 63 6b |e(q%).."%. click| 00001f50 20 6f 6e 20 6d 65 6e 75 20 66 72 6f 6d 20 70 6f | on menu from po| 00001f60 6c 6c 69 6e 67 20 6c 6f 6f 70 0d 10 2c 10 ea 20 |lling loop..,.. | 00001f70 6e 25 3a 6e 25 3d 71 25 21 30 0d 10 36 35 c8 99 |n%:n%=q%!0..65..| 00001f80 20 22 57 69 6d 70 5f 47 65 74 50 6f 69 6e 74 65 | "Wimp_GetPointe| 00001f90 72 49 6e 66 6f 22 2c 2c 71 25 3a 6d 62 25 3d 71 |rInfo",,q%:mb%=q| 00001fa0 25 21 38 3a 73 74 61 79 25 3d 6d 62 25 3d 31 0d |%!8:stay%=mb%=1.| 00001fb0 10 40 0b c8 8e 20 6e 25 20 ca 0d 10 4a 34 20 c9 |.@... n% ...J4 .| 00001fc0 20 30 3a e3 20 4a 25 3d 31 20 b8 20 62 61 72 73 | 0:. J%=1 . bars| 00001fd0 25 3a f2 73 69 28 70 61 6e 65 25 2c 6d 61 78 62 |%:.si(pane%,maxb| 00001fe0 61 72 73 25 2a 33 2b 4a 25 2d 31 29 3a ed 0d 10 |ars%*3+J%-1):...| 00001ff0 54 34 20 c9 20 31 3a e3 20 4a 25 3d 31 20 b8 20 |T4 . 1:. J%=1 . | 00002000 62 61 72 73 25 3a f2 75 69 28 70 61 6e 65 25 2c |bars%:.ui(pane%,| 00002010 6d 61 78 62 61 72 73 25 2a 33 2b 4a 25 2d 31 29 |maxbars%*3+J%-1)| 00002020 3a ed 0d 10 5e 05 cb 0d 10 68 2b e7 20 73 74 61 |:...^....h+. sta| 00002030 79 25 20 8c 20 f2 6d 61 69 6e 6d 65 6e 75 28 72 |y% . .mainmenu(r| 00002040 65 6d 78 25 2c 72 65 6d 79 25 2c 72 65 6d 77 68 |emx%,remy%,remwh| 00002050 25 29 0d 10 72 05 e1 0d 10 7c 05 3a 0d 10 86 0b |%)..r....|.:....| 00002060 f4 2d 2d 2d 2d 2d 2d 0d 10 90 0b f4 2e 20 4d 49 |.------...... MI| 00002070 53 43 0d 10 9a 0b f4 2d 2d 2d 2d 2d 2d 0d 10 a4 |SC.....------...| 00002080 05 3a 0d 10 ae 0f dd a4 74 68 28 74 61 73 6b 24 |.:......th(task$| 00002090 29 0d 10 b8 28 f4 20 6c 6f 6f 6b 20 66 6f 72 20 |)...(. look for | 000020a0 74 61 73 6b 20 68 61 6e 64 6c 65 20 6f 66 20 6e |task handle of n| 000020b0 61 6d 65 64 20 74 61 73 6b 0d 10 c2 26 f4 20 69 |amed task...&. i| 000020c0 66 20 74 61 73 6b 20 6e 6f 74 20 6c 6f 61 64 65 |f task not loade| 000020d0 64 2c 20 72 65 74 75 72 6e 73 20 7a 65 72 6f 0d |d, returns zero.| 000020e0 10 cc 12 ea 20 61 25 2c 66 25 2c 74 24 2c 74 68 |.... a%,f%,t$,th| 000020f0 25 0d 10 d6 35 c8 99 20 22 54 61 73 6b 4d 61 6e |%...5.. "TaskMan| 00002100 61 67 65 72 5f 45 6e 75 6d 65 72 61 74 65 54 61 |ager_EnumerateTa| 00002110 73 6b 73 22 2c 2c 71 25 2c 71 73 69 7a 65 25 20 |sks",,q%,qsize% | 00002120 b8 20 2c 72 31 25 0d 10 e0 09 61 25 3d 71 25 0d |. ,r1%....a%=q%.| 00002130 10 ea 05 f5 0d 10 f4 0d 20 66 25 3d 61 25 21 31 |........ f%=a%!1| 00002140 32 0d 10 fe 2b 20 e7 20 28 66 25 20 80 20 31 29 |2...+ . (f% . 1)| 00002150 3d 30 20 8c 20 74 68 25 3d 61 25 21 30 3a 74 24 |=0 . th%=a%!0:t$| 00002160 3d a4 6e 61 6d 65 28 61 25 21 34 29 0d 11 08 0b |=.name(a%!4)....| 00002170 20 61 25 2b 3d 31 36 0d 11 12 18 fd 20 61 25 3e | a%+=16..... a%>| 00002180 3d 72 31 25 20 84 20 74 24 3d 74 61 73 6b 24 0d |=r1% . t$=task$.| 00002190 11 1c 14 e7 20 74 24 3d 74 61 73 6b 24 20 8c 3d |.... t$=task$ .=| 000021a0 74 68 25 0d 11 26 06 3d 30 0d 11 30 05 3a 0d 11 |th%..&.=0..0.:..| 000021b0 3a 10 dd a4 6e 61 6d 65 28 70 74 72 25 29 0d 11 |:...name(ptr%)..| 000021c0 44 0e ea 20 73 24 3a 73 24 3d 22 22 0d 11 4e 24 |D.. s$:s$=""..N$| 000021d0 c8 95 20 3f 70 74 72 25 3c 3e 30 3a 73 24 2b 3d |.. ?ptr%<>0:s$+=| 000021e0 bd 3f 70 74 72 25 3a 70 74 72 25 2b 3d 31 3a ce |.?ptr%:ptr%+=1:.| 000021f0 0d 11 58 07 3d 73 24 0d 11 62 05 3a 0d 11 6c 14 |..X.=s$..b.:..l.| 00002200 dd a4 6f 62 6a 74 79 70 65 28 70 61 74 68 24 29 |..objtype(path$)| 00002210 0d 11 76 0b ea 20 74 79 70 65 25 0d 11 80 20 f4 |..v.. type%... .| 00002220 20 30 3d 4e 6f 74 20 66 6f 75 6e 64 2c 20 31 2d | 0=Not found, 1-| 00002230 46 69 6c 65 2c 20 32 3d 44 69 72 0d 11 8a 21 c8 |File, 2=Dir...!.| 00002240 99 20 22 58 4f 53 5f 46 69 6c 65 22 2c 35 2c 70 |. "XOS_File",5,p| 00002250 61 74 68 24 20 b8 20 74 79 70 65 25 0d 11 94 0a |ath$ . type%....| 00002260 3d 74 79 70 65 25 0d 11 9e 05 3a 0d 11 a8 13 dd |=type%....:.....| 00002270 a4 6f 73 76 61 72 28 6f 73 76 61 72 24 29 0d 11 |.osvar(osvar$)..| 00002280 b2 0a ea 20 6c 65 6e 25 0d 11 bc 25 f4 20 49 66 |... len%...%. If| 00002290 20 6e 6f 74 20 66 6f 75 6e 64 20 64 6f 6e 27 74 | not found don't| 000022a0 20 72 65 70 6f 72 74 20 65 72 72 6f 72 0d 11 c6 | report error...| 000022b0 31 c8 99 20 22 58 4f 53 5f 52 65 61 64 56 61 72 |1.. "XOS_ReadVar| 000022c0 56 61 6c 22 2c 6f 73 76 61 72 24 2c 71 25 2c 32 |Val",osvar$,q%,2| 000022d0 30 30 2c 30 2c 33 20 b8 2c 2c 6c 65 6e 25 0d 11 |00,0,3 .,,len%..| 000022e0 d0 11 3f 28 71 25 2b 6c 65 6e 25 29 3d 26 44 0d |..?(q%+len%)=&D.| 000022f0 11 da 08 3d 24 71 25 0d 11 e4 05 3a 0d 11 ee 1a |...=$q%....:....| 00002300 dd f2 62 65 65 70 3a d4 20 31 2c 2d 31 30 2c 32 |..beep:. 1,-10,2| 00002310 30 30 2c 31 3a e1 0d 11 f8 19 dd f2 62 75 7a 7a |00,1:.......buzz| 00002320 3a d4 20 31 2c 2d 31 35 2c 35 30 2c 34 3a e1 0d |:. 1,-15,50,4:..| 00002330 12 02 05 3a 0d 12 0c 0e f4 2d 2d 2d 2d 2d 2d 2d |...:.....-------| 00002340 2d 2d 0d 12 16 0e f4 2e 20 57 49 4e 44 4f 57 53 |--...... WINDOWS| 00002350 0d 12 20 0e f4 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 12 |.. ..---------..| 00002360 2a 05 3a 0d 12 34 13 dd f2 6c 6f 61 64 74 65 6d |*.:..4...loadtem| 00002370 70 6c 61 74 65 73 0d 12 3e 11 ea 20 74 62 75 66 |plates..>.. tbuf| 00002380 66 25 2c 65 6e 64 25 0d 12 48 28 74 62 75 66 66 |f%,end%..H(tbuff| 00002390 25 3d 62 75 66 66 65 72 25 3a 65 6e 64 25 3d 62 |%=buffer%:end%=b| 000023a0 75 66 66 65 72 25 2b 62 75 66 73 69 7a 65 25 0d |uffer%+bufsize%.| 000023b0 12 52 31 c8 99 20 22 57 69 6d 70 5f 4f 70 65 6e |.R1.. "Wimp_Open| 000023c0 54 65 6d 70 6c 61 74 65 22 2c 2c 74 61 73 6b 64 |Template",,taskd| 000023d0 69 72 24 2b 22 2e 54 65 6d 70 6c 61 74 65 73 22 |ir$+".Templates"| 000023e0 0d 12 5c 26 6d 61 69 6e 25 3d a4 74 77 69 6e 64 |..\&main%=.twind| 000023f0 6f 77 28 22 4d 61 69 6e 22 2c 65 6e 64 25 2c 74 |ow("Main",end%,t| 00002400 62 75 66 66 25 29 0d 12 66 26 70 61 6e 65 25 3d |buff%)..f&pane%=| 00002410 a4 74 77 69 6e 64 6f 77 28 22 50 61 6e 65 22 2c |.twindow("Pane",| 00002420 65 6e 64 25 2c 74 62 75 66 66 25 29 0d 12 70 26 |end%,tbuff%)..p&| 00002430 69 6e 66 6f 25 3d a4 74 77 69 6e 64 6f 77 28 22 |info%=.twindow("| 00002440 49 6e 66 6f 22 2c 65 6e 64 25 2c 74 62 75 66 66 |Info",end%,tbuff| 00002450 25 29 0d 12 7a 1b c8 99 20 22 57 69 6d 70 5f 43 |%)..z... "Wimp_C| 00002460 6c 6f 73 65 54 65 6d 70 6c 61 74 65 22 0d 12 84 |loseTemplate"...| 00002470 05 e1 0d 12 8e 05 3a 0d 12 98 1f dd a4 74 77 69 |......:......twi| 00002480 6e 64 6f 77 28 74 24 2c 65 6e 64 25 2c f8 20 74 |ndow(t$,end%,. t| 00002490 62 75 66 66 25 29 0d 12 a2 09 ea 20 77 68 25 0d |buff%)..... wh%.| 000024a0 12 ac 3d c8 99 20 22 57 69 6d 70 5f 4c 6f 61 64 |..=.. "Wimp_Load| 000024b0 54 65 6d 70 6c 61 74 65 22 2c 2c 71 25 2c 74 62 |Template",,q%,tb| 000024c0 75 66 66 25 2c 65 6e 64 25 2c 2d 31 2c 74 24 2c |uff%,end%,-1,t$,| 000024d0 30 20 b8 20 2c 2c 74 62 75 66 66 25 0d 12 b6 24 |0 . ,,tbuff%...$| 000024e0 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 57 |.. "Wimp_CreateW| 000024f0 69 6e 64 6f 77 22 2c 2c 71 25 20 b8 20 77 68 25 |indow",,q% . wh%| 00002500 0d 12 c0 08 3d 77 68 25 0d 12 ca 05 3a 0d 12 d4 |....=wh%....:...| 00002510 0d dd f2 6f 77 28 77 68 25 29 0d 12 de 1b f4 20 |...ow(wh%)..... | 00002520 61 74 20 6d 79 20 62 65 68 65 73 74 20 2d 20 6f |at my behest - o| 00002530 6e 20 74 6f 70 0d 12 e8 32 71 25 21 30 3d 77 68 |n top...2q%!0=wh| 00002540 25 3a c8 99 20 22 57 69 6d 70 5f 47 65 74 57 69 |%:.. "Wimp_GetWi| 00002550 6e 64 6f 77 53 74 61 74 65 22 2c 2c 71 25 3a 71 |ndowState",,q%:q| 00002560 25 21 32 38 3d 2d 31 0d 12 f2 1c e7 20 77 68 25 |%!28=-1..... wh%| 00002570 3d 6d 61 69 6e 25 20 8c 20 f2 70 61 6e 65 28 77 |=main% . .pane(w| 00002580 68 25 29 0d 12 fc 1c c8 99 20 22 57 69 6d 70 5f |h%)...... "Wimp_| 00002590 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 71 25 0d |OpenWindow",,q%.| 000025a0 13 06 05 e1 0d 13 10 05 3a 0d 13 1a 0e dd f2 6f |........:......o| 000025b0 77 32 28 77 68 25 29 0d 13 24 14 f4 20 66 72 6f |w2(wh%)..$.. fro| 000025c0 6d 20 57 69 6d 70 20 50 6f 6c 6c 0d 13 2e 1c e7 |m Wimp Poll.....| 000025d0 20 77 68 25 3d 6d 61 69 6e 25 20 8c 20 f2 70 61 | wh%=main% . .pa| 000025e0 6e 65 28 77 68 25 29 0d 13 38 1c c8 99 20 22 57 |ne(wh%)..8... "W| 000025f0 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c |imp_OpenWindow",| 00002600 2c 71 25 0d 13 42 05 e1 0d 13 4c 05 3a 0d 13 56 |,q%..B....L.:..V| 00002610 0d dd f2 63 77 28 77 68 25 29 0d 13 60 25 21 71 |...cw(wh%)..`%!q| 00002620 25 3d 77 68 25 3a c8 99 20 22 57 69 6d 70 5f 43 |%=wh%:.. "Wimp_C| 00002630 6c 6f 73 65 57 69 6e 64 6f 77 22 2c 2c 71 25 0d |loseWindow",,q%.| 00002640 13 6a 1c e7 20 77 68 25 3d 6d 61 69 6e 25 20 8c |.j.. wh%=main% .| 00002650 20 f2 63 77 28 70 61 6e 65 25 29 0d 13 74 05 e1 | .cw(pane%)..t..| 00002660 0d 13 7e 05 3a 0d 13 88 0e dd f2 6f 77 63 28 77 |..~.:......owc(w| 00002670 68 25 29 0d 13 92 29 f4 20 61 74 20 6d 79 20 62 |h%)...). at my b| 00002680 65 68 65 73 74 20 2d 20 6f 6e 20 74 6f 70 20 61 |ehest - on top a| 00002690 6e 64 20 69 6e 20 63 65 6e 74 72 65 0d 13 9c 29 |nd in centre...)| 000026a0 71 25 21 30 3d 77 68 25 3a c8 99 20 22 57 69 6d |q%!0=wh%:.. "Wim| 000026b0 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 65 |p_GetWindowState| 000026c0 22 2c 2c 71 25 0d 13 a6 32 c8 99 20 22 4f 53 5f |",,q%...2.. "OS_| 000026d0 52 65 61 64 4d 6f 64 65 56 61 72 69 61 62 6c 65 |ReadModeVariable| 000026e0 22 2c 2d 31 2c 31 31 20 b8 20 2c 2c 78 77 69 6e |",-1,11 . ,,xwin| 000026f0 64 6c 69 6d 69 74 25 0d 13 b0 32 c8 99 20 22 4f |dlimit%...2.. "O| 00002700 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 69 61 62 |S_ReadModeVariab| 00002710 6c 65 22 2c 2d 31 2c 34 20 20 b8 20 2c 2c 78 65 |le",-1,4 . ,,xe| 00002720 69 67 66 61 63 74 6f 72 25 0d 13 ba 32 c8 99 20 |igfactor%...2.. | 00002730 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 72 69 |"OS_ReadModeVari| 00002740 61 62 6c 65 22 2c 2d 31 2c 31 32 20 b8 20 2c 2c |able",-1,12 . ,,| 00002750 79 77 69 6e 64 6c 69 6d 69 74 25 0d 13 c4 32 c8 |ywindlimit%...2.| 00002760 99 20 22 4f 53 5f 52 65 61 64 4d 6f 64 65 56 61 |. "OS_ReadModeVa| 00002770 72 69 61 62 6c 65 22 2c 2d 31 2c 35 20 20 b8 20 |riable",-1,5 . | 00002780 2c 2c 79 65 69 67 66 61 63 74 6f 72 25 0d 13 ce |,,yeigfactor%...| 00002790 28 78 77 69 6e 64 6c 69 6d 69 74 25 3d 78 77 69 |(xwindlimit%=xwi| 000027a0 6e 64 6c 69 6d 69 74 25 3c 3c 78 65 69 67 66 61 |ndlimit%<<xeigfa| 000027b0 63 74 6f 72 25 0d 13 d8 28 79 77 69 6e 64 6c 69 |ctor%...(ywindli| 000027c0 6d 69 74 25 3d 79 77 69 6e 64 6c 69 6d 69 74 25 |mit%=ywindlimit%| 000027d0 3c 3c 79 65 69 67 66 61 63 74 6f 72 25 0d 13 e2 |<<yeigfactor%...| 000027e0 1a 78 65 69 67 66 61 63 74 6f 72 25 3d 71 25 21 |.xeigfactor%=q%!| 000027f0 31 32 2d 71 25 21 34 0d 13 ec 1a 79 65 69 67 66 |12-q%!4....yeigf| 00002800 61 63 74 6f 72 25 3d 71 25 21 31 36 2d 71 25 21 |actor%=q%!16-q%!| 00002810 38 0d 13 f6 26 71 25 21 34 20 3d 28 78 77 69 6e |8...&q%!4 =(xwin| 00002820 64 6c 69 6d 69 74 25 2d 78 65 69 67 66 61 63 74 |dlimit%-xeigfact| 00002830 6f 72 25 29 3e 3e 31 0d 14 00 26 71 25 21 38 20 |or%)>>1...&q%!8 | 00002840 3d 28 79 77 69 6e 64 6c 69 6d 69 74 25 2d 79 65 |=(ywindlimit%-ye| 00002850 69 67 66 61 63 74 6f 72 25 29 3e 3e 31 0d 14 0a |igfactor%)>>1...| 00002860 1a 71 25 21 31 32 3d 71 25 21 34 2b 78 65 69 67 |.q%!12=q%!4+xeig| 00002870 66 61 63 74 6f 72 25 0d 14 14 1a 71 25 21 31 36 |factor%....q%!16| 00002880 3d 71 25 21 38 2b 79 65 69 67 66 61 63 74 6f 72 |=q%!8+yeigfactor| 00002890 25 0d 14 1e 0c 71 25 21 32 38 3d 2d 31 0d 14 28 |%....q%!28=-1..(| 000028a0 1c e7 20 77 68 25 3d 6d 61 69 6e 25 20 8c 20 f2 |.. wh%=main% . .| 000028b0 70 61 6e 65 28 77 68 25 29 0d 14 32 1c c8 99 20 |pane(wh%)..2... | 000028c0 22 57 69 6d 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 |"Wimp_OpenWindow| 000028d0 22 2c 2c 71 25 0d 14 3c 05 e1 0d 14 46 05 3a 0d |",,q%..<....F.:.| 000028e0 14 50 10 dd f2 66 6f 72 63 65 28 77 68 25 29 0d |.P...force(wh%).| 000028f0 14 5a 28 21 71 25 3d 77 68 25 3a c8 99 20 22 57 |.Z(!q%=wh%:.. "W| 00002900 69 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 |imp_GetWindowSta| 00002910 74 65 22 2c 2c 71 25 0d 14 64 32 c8 99 20 22 57 |te",,q%..d2.. "W| 00002920 69 6d 70 5f 46 6f 72 63 65 52 65 64 72 61 77 22 |imp_ForceRedraw"| 00002930 2c 2d 31 2c 71 25 21 34 2c 71 25 21 38 2c 71 25 |,-1,q%!4,q%!8,q%| 00002940 21 31 32 2c 71 25 21 31 36 0d 14 6e 05 e1 0d 14 |!12,q%!16..n....| 00002950 78 05 3a 0d 14 82 20 dd f2 73 65 74 65 78 74 65 |x.:... ..setexte| 00002960 6e 74 28 77 68 25 2c 6d 69 6e 79 25 2c 6d 61 78 |nt(wh%,miny%,max| 00002970 78 25 29 0d 14 8c 28 71 25 21 30 3d 30 3a 71 25 |x%)...(q%!0=0:q%| 00002980 21 34 3d 6d 69 6e 79 25 3a 71 25 21 38 3d 6d 61 |!4=miny%:q%!8=ma| 00002990 78 78 25 3a 71 25 21 31 32 3d 30 0d 14 96 1e c8 |xx%:q%!12=0.....| 000029a0 99 20 22 57 69 6d 70 5f 53 65 74 45 78 74 65 6e |. "Wimp_SetExten| 000029b0 74 22 2c 77 68 25 2c 71 25 0d 14 a0 05 e1 0d 14 |t",wh%,q%.......| 000029c0 aa 05 3a 0d 14 b4 0b f4 2d 2d 2d 2d 2d 2d 0d 14 |..:.....------..| 000029d0 be 0b f4 2e 20 50 41 4e 45 0d 14 c8 0b f4 2d 2d |.... PANE.....--| 000029e0 2d 2d 2d 2d 0d 14 d2 05 3a 0d 14 dc 13 dd f2 70 |----....:......p| 000029f0 61 6e 65 28 70 61 72 65 6e 74 25 29 0d 14 e6 0e |ane(parent%)....| 00002a00 ea 20 78 25 2c 79 25 2c 62 25 0d 14 f0 15 f4 20 |. x%,y%,b%..... | 00002a10 70 61 72 65 6e 74 20 69 73 20 69 6e 20 71 25 0d |parent is in q%.| 00002a20 14 fa 1d 78 25 3d 71 25 21 34 3a 79 25 3d 71 25 |...x%=q%!4:y%=q%| 00002a30 21 31 36 3a 62 25 3d 71 25 21 32 38 0d 15 04 1b |!16:b%=q%!28....| 00002a40 f4 20 67 65 74 20 70 61 6e 65 20 73 74 61 74 65 |. get pane state| 00002a50 20 69 6e 20 70 71 25 0d 15 0e 0f 70 71 25 21 30 | in pq%....pq%!0| 00002a60 3d 70 61 6e 65 25 0d 15 18 21 c8 99 20 22 57 69 |=pane%...!.. "Wi| 00002a70 6d 70 5f 47 65 74 57 69 6e 64 6f 77 53 74 61 74 |mp_GetWindowStat| 00002a80 65 22 2c 2c 70 71 25 0d 15 22 21 f4 20 64 65 74 |e",,pq%.."!. det| 00002a90 65 72 6d 69 6e 65 20 70 6f 73 69 74 69 6f 6e 20 |ermine position | 00002aa0 66 6f 72 20 70 61 6e 65 0d 15 2c 11 70 71 25 21 |for pane..,.pq%!| 00002ab0 34 3d 78 25 2b 70 6f 6c 25 0d 15 36 1b 70 71 25 |4=x%+pol%..6.pq%| 00002ac0 21 31 32 3d 78 25 2b 70 6f 6c 25 2b 70 61 6e 65 |!12=x%+pol%+pane| 00002ad0 77 69 64 25 0d 15 40 1a 70 71 25 21 38 3d 79 25 |wid%..@.pq%!8=y%| 00002ae0 2d 70 6f 74 25 2d 70 61 6e 65 68 67 74 25 0d 15 |-pot%-panehgt%..| 00002af0 4a 12 70 71 25 21 31 36 3d 79 25 2d 70 6f 74 25 |J.pq%!16=y%-pot%| 00002b00 0d 15 54 2b f4 20 61 6e 64 20 6f 70 65 6e 20 69 |..T+. and open i| 00002b10 74 20 61 74 20 63 6f 72 72 65 63 74 20 70 6f 69 |t at correct poi| 00002b20 6e 74 20 69 6e 20 73 74 61 63 6b 0d 15 5e 27 70 |nt in stack..^'p| 00002b30 71 25 21 32 38 3d 62 25 3a c8 99 20 22 57 69 6d |q%!28=b%:.. "Wim| 00002b40 70 5f 4f 70 65 6e 57 69 6e 64 6f 77 22 2c 2c 70 |p_OpenWindow",,p| 00002b50 71 25 0d 15 68 1d f4 20 6f 70 65 6e 20 70 61 72 |q%..h.. open par| 00002b60 65 6e 74 20 62 65 68 69 6e 64 20 70 61 6e 65 0d |ent behind pane.| 00002b70 15 72 0f 71 25 21 32 38 3d 70 61 6e 65 25 0d 15 |.r.q%!28=pane%..| 00002b80 7c 05 e1 0d 15 86 05 3a 0d 15 90 0c f4 2d 2d 2d ||......:.....---| 00002b90 2d 2d 2d 2d 0d 15 9a 0c f4 2e 20 49 43 4f 4e 53 |----...... ICONS| 00002ba0 0d 15 a4 0c f4 2d 2d 2d 2d 2d 2d 2d 0d 15 ae 05 |.....-------....| 00002bb0 3a 0d 15 b8 0d dd f2 62 61 72 69 63 6f 6e 0d 15 |:......baricon..| 00002bc0 c2 37 71 25 21 30 3d 2d 31 3a 71 25 21 34 3d 30 |.7q%!0=-1:q%!4=0| 00002bd0 3a 71 25 21 38 3d 30 3a 71 25 21 31 32 3d 36 38 |:q%!8=0:q%!12=68| 00002be0 3a 71 25 21 31 36 3d 36 38 3a 71 25 21 32 30 3d |:q%!16=68:q%!20=| 00002bf0 26 33 30 30 32 0d 15 cc 18 24 28 71 25 2b 32 34 |&3002....$(q%+24| 00002c00 29 3d 22 21 70 61 73 73 77 6f 72 64 22 0d 15 d6 |)="!password"...| 00002c10 27 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 |'.. "Wimp_Create| 00002c20 49 63 6f 6e 22 2c 2c 71 25 20 b8 20 62 61 72 69 |Icon",,q% . bari| 00002c30 63 6f 6e 25 0d 15 e0 05 e1 0d 15 ea 05 3a 0d 15 |con%.........:..| 00002c40 f4 11 dd f2 63 72 65 61 74 65 69 63 6f 6e 73 0d |....createicons.| 00002c50 15 fe 14 f4 20 69 63 6f 6e 73 20 66 6f 72 20 70 |.... icons for p| 00002c60 61 6e 65 0d 16 08 2c ea 20 77 68 25 2c 69 68 25 |ane...,. wh%,ih%| 00002c70 2c 76 67 25 2c 69 78 25 2c 69 79 25 2c 69 77 25 |,vg%,ix%,iy%,iw%| 00002c80 2c 66 25 2c 69 25 2c 77 25 2c 68 25 2c 6d 25 0d |,f%,i%,w%,h%,m%.| 00002c90 16 12 29 77 68 25 3d 70 61 6e 65 25 3a 69 68 25 |..)wh%=pane%:ih%| 00002ca0 3d 34 34 3a 76 67 25 3d 34 3a 69 79 25 3d 2d 28 |=44:vg%=4:iy%=-(| 00002cb0 69 68 25 2b 76 67 25 29 0d 16 1c 05 3a 0d 16 26 |ih%+vg%)....:..&| 00002cc0 0c f4 20 6e 75 6d 62 65 72 0d 16 30 1d 69 78 25 |.. number..0.ix%| 00002cd0 3d 36 3a 69 77 25 3d 33 36 3a 66 25 3d 26 32 37 |=6:iw%=36:f%=&27| 00002ce0 30 30 36 30 33 39 0d 16 3a 15 e3 20 4a 25 3d 31 |006039..:.. J%=1| 00002cf0 20 b8 20 6d 61 78 62 61 72 73 25 0d 16 44 14 20 | . maxbars%..D. | 00002d00 73 24 3d c2 22 20 20 22 2b c3 4a 25 2c 32 29 0d |s$=." "+.J%,2).| 00002d10 16 4e 2e 20 69 25 3d a4 69 63 6f 6e 28 77 68 25 |.N. i%=.icon(wh%| 00002d20 2c 69 78 25 2c 69 79 25 2c 69 77 25 2c 69 68 25 |,ix%,iy%,iw%,ih%| 00002d30 2c 66 25 2c 73 24 2c 30 2c 30 2c 30 29 0d 16 58 |,f%,s$,0,0,0)..X| 00002d40 13 20 69 79 25 2d 3d 28 69 68 25 2b 76 67 25 29 |. iy%-=(ih%+vg%)| 00002d50 0d 16 62 05 ed 0d 16 6c 05 3a 0d 16 76 0f f4 20 |..b....l.:..v.. | 00002d60 62 61 72 20 6e 61 6d 65 73 0d 16 80 2e 69 78 25 |bar names....ix%| 00002d70 3d 34 38 3a 69 77 25 3d 32 33 34 3a 69 79 25 3d |=48:iw%=234:iy%=| 00002d80 2d 28 69 68 25 2b 76 67 25 29 3a 66 25 3d 26 31 |-(ih%+vg%):f%=&1| 00002d90 37 30 30 30 31 33 35 0d 16 8a 15 e3 20 4a 25 3d |7000135..... J%=| 00002da0 31 20 b8 20 6d 61 78 62 61 72 73 25 0d 16 94 15 |1 . maxbars%....| 00002db0 20 24 62 61 72 6e 61 6d 65 25 28 4a 25 29 3d 22 | $barname%(J%)="| 00002dc0 22 0d 16 9e 3b 20 69 25 3d a4 69 63 6f 6e 28 77 |"...; i%=.icon(w| 00002dd0 68 25 2c 69 78 25 2c 69 79 25 2c 69 77 25 2c 69 |h%,ix%,iy%,iw%,i| 00002de0 68 25 2c 66 25 2c 22 22 2c 62 61 72 6e 61 6d 65 |h%,f%,"",barname| 00002df0 25 28 4a 25 29 2c 2d 31 2c 31 31 29 0d 16 a8 13 |%(J%),-1,11)....| 00002e00 20 69 79 25 2d 3d 28 69 68 25 2b 76 67 25 29 0d | iy%-=(ih%+vg%).| 00002e10 16 b2 05 ed 0d 16 bc 05 3a 0d 16 c6 0f f4 20 70 |........:..... p| 00002e20 61 73 73 77 6f 72 64 73 0d 16 d0 2f 69 78 25 3d |asswords.../ix%=| 00002e30 32 39 30 3a 69 77 25 3d 32 33 34 3a 69 79 25 3d |290:iw%=234:iy%=| 00002e40 2d 28 69 68 25 2b 76 67 25 29 3a 66 25 3d 26 30 |-(ih%+vg%):f%=&0| 00002e50 37 30 30 45 31 33 35 0d 16 da 15 e3 20 4a 25 3d |700E135..... J%=| 00002e60 31 20 b8 20 6d 61 78 62 61 72 73 25 0d 16 e4 16 |1 . maxbars%....| 00002e70 20 24 70 61 73 73 77 6f 72 64 25 28 4a 25 29 3d | $password%(J%)=| 00002e80 22 22 0d 16 ee 28 20 24 70 61 73 73 76 61 6c 25 |""...( $passval%| 00002e90 28 4a 25 29 3d 22 41 22 3a f4 20 6e 6f 20 63 68 |(J%)="A":. no ch| 00002ea0 72 73 20 61 6c 6c 6f 77 65 64 0d 16 f8 46 20 69 |rs allowed...F i| 00002eb0 25 3d a4 69 63 6f 6e 28 77 68 25 2c 69 78 25 2c |%=.icon(wh%,ix%,| 00002ec0 69 79 25 2c 69 77 25 2c 69 68 25 2c 66 25 2c 22 |iy%,iw%,ih%,f%,"| 00002ed0 22 2c 70 61 73 73 77 6f 72 64 25 28 4a 25 29 2c |",password%(J%),| 00002ee0 70 61 73 73 76 61 6c 25 28 4a 25 29 2c 31 31 29 |passval%(J%),11)| 00002ef0 0d 17 02 13 20 69 79 25 2d 3d 28 69 68 25 2b 76 |.... iy%-=(ih%+v| 00002f00 67 25 29 0d 17 0c 05 ed 0d 17 16 05 3a 0d 17 20 |g%).........:.. | 00002f10 11 f4 20 6f 70 74 20 62 75 74 74 6f 6e 73 0d 17 |.. opt buttons..| 00002f20 2a 2e 69 78 25 3d 35 33 32 3a 69 77 25 3d 34 34 |*.ix%=532:iw%=44| 00002f30 3a 69 79 25 3d 2d 28 69 68 25 2b 76 67 25 29 3a |:iy%=-(ih%+vg%):| 00002f40 66 25 3d 26 31 34 34 30 42 31 33 33 0d 17 34 15 |f%=&1440B133..4.| 00002f50 e3 20 4a 25 3d 31 20 b8 20 6d 61 78 62 61 72 73 |. J%=1 . maxbars| 00002f60 25 0d 17 3e 38 20 69 25 3d a4 69 63 6f 6e 28 77 |%..>8 i%=.icon(w| 00002f70 68 25 2c 69 78 25 2c 69 79 25 2c 69 77 25 2c 69 |h%,ix%,iy%,iw%,i| 00002f80 68 25 2c 66 25 2c 22 22 2c 6e 75 6c 6c 25 2c 6f |h%,f%,"",null%,o| 00002f90 70 74 76 61 6c 25 2c 32 29 0d 17 48 13 20 69 79 |ptval%,2)..H. iy| 00002fa0 25 2d 3d 28 69 68 25 2b 76 67 25 29 0d 17 52 05 |%-=(ih%+vg%)..R.| 00002fb0 ed 0d 17 5c 05 3a 0d 17 66 1a f4 20 73 65 74 20 |...\.:..f.. set | 00002fc0 77 69 6e 64 6f 77 20 77 61 20 65 78 74 65 6e 74 |window wa extent| 00002fd0 0d 17 70 1d 68 25 3d 6d 61 78 62 61 72 73 25 2a |..p.h%=maxbars%*| 00002fe0 28 69 68 25 2b 76 67 25 29 2b 76 67 25 0d 17 7a |(ih%+vg%)+vg%..z| 00002ff0 1b f2 73 65 74 65 78 74 65 6e 74 28 77 68 25 2c |..setextent(wh%,| 00003000 2d 68 25 2c 35 39 32 29 0d 17 84 05 e1 0d 17 8e |-h%,592)........| 00003010 05 3a 0d 17 98 37 dd a4 69 63 6f 6e 28 77 68 25 |.:...7..icon(wh%| 00003020 2c 69 78 25 2c 69 79 25 2c 69 77 25 2c 69 68 25 |,ix%,iy%,iw%,ih%| 00003030 2c 66 6c 61 67 25 2c 74 65 78 74 24 2c 64 31 25 |,flag%,text$,d1%| 00003040 2c 64 32 25 2c 64 33 25 29 0d 17 a2 46 71 25 21 |,d2%,d3%)...Fq%!| 00003050 30 3d 77 68 25 3a 71 25 21 34 3d 69 78 25 3a 71 |0=wh%:q%!4=ix%:q| 00003060 25 21 38 3d 69 79 25 3a 71 25 21 31 32 3d 69 78 |%!8=iy%:q%!12=ix| 00003070 25 2b 69 77 25 3a 71 25 21 31 36 3d 69 79 25 2b |%+iw%:q%!16=iy%+| 00003080 69 68 25 3a 71 25 21 32 30 3d 66 6c 61 67 25 0d |ih%:q%!20=flag%.| 00003090 17 ac 0d e7 20 64 31 25 3d 30 20 8c 0d 17 b6 14 |.... d1%=0 .....| 000030a0 20 20 24 28 71 25 2b 32 34 29 3d 74 65 78 74 24 | $(q%+24)=text$| 000030b0 0d 17 c0 05 cc 0d 17 ca 23 20 20 71 25 21 32 34 |........# q%!24| 000030c0 3d 64 31 25 3a 71 25 21 32 38 3d 64 32 25 3a 71 |=d1%:q%!28=d2%:q| 000030d0 25 21 33 32 3d 64 33 25 0d 17 d4 05 cd 0d 17 de |%!32=d3%........| 000030e0 22 c8 99 20 22 57 69 6d 70 5f 43 72 65 61 74 65 |".. "Wimp_Create| 000030f0 49 63 6f 6e 22 2c 2c 71 25 20 b8 20 69 68 25 0d |Icon",,q% . ih%.| 00003100 17 e8 08 3d 69 68 25 0d 17 f2 05 3a 0d 17 fc 17 |...=ih%....:....| 00003110 dd f2 69 74 28 77 68 25 2c 69 68 25 2c 74 65 78 |..it(wh%,ih%,tex| 00003120 74 24 29 0d 18 06 15 71 25 21 30 3d 77 68 25 3a |t$)....q%!0=wh%:| 00003130 71 25 21 34 3d 69 68 25 0d 18 10 1e c8 99 20 22 |q%!4=ih%...... "| 00003140 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 |Wimp_GetIconStat| 00003150 65 22 2c 2c 71 25 0d 18 1a 12 24 28 71 25 21 32 |e",,q%....$(q%!2| 00003160 38 29 3d 74 65 78 74 24 0d 18 24 24 71 25 21 30 |8)=text$..$$q%!0| 00003170 3d 77 68 25 3a 71 25 21 34 3d 69 68 25 3a 71 25 |=wh%:q%!4=ih%:q%| 00003180 21 38 3d 30 3a 71 25 21 31 32 3d 30 0d 18 2e 1e |!8=0:q%!12=0....| 00003190 c8 99 20 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e |.. "Wimp_SetIcon| 000031a0 53 74 61 74 65 22 2c 2c 71 25 0d 18 38 05 e1 0d |State",,q%..8...| 000031b0 18 42 05 3a 0d 18 4c 11 dd a4 69 74 28 77 68 25 |.B.:..L...it(wh%| 000031c0 2c 69 68 25 29 0d 18 56 15 71 25 21 30 3d 77 68 |,ih%)..V.q%!0=wh| 000031d0 25 3a 71 25 21 34 3d 69 68 25 0d 18 60 1e c8 99 |%:q%!4=ih%..`...| 000031e0 20 22 57 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 | "Wimp_GetIconSt| 000031f0 61 74 65 22 2c 2c 71 25 0d 18 6a 0d 3d 24 28 71 |ate",,q%..j.=$(q| 00003200 25 21 32 38 29 0d 18 74 05 3a 0d 18 7e 11 dd a4 |%!28)..t.:..~...| 00003210 69 73 28 77 68 25 2c 69 68 25 29 0d 18 88 08 ea |is(wh%,ih%).....| 00003220 20 6e 25 0d 18 92 14 21 71 25 3d 77 68 25 3a 71 | n%....!q%=wh%:q| 00003230 25 21 34 3d 69 68 25 0d 18 9c 1e c8 99 20 22 57 |%!4=ih%...... "W| 00003240 69 6d 70 5f 47 65 74 49 63 6f 6e 53 74 61 74 65 |imp_GetIconState| 00003250 22 2c 2c 71 25 0d 18 a6 18 6e 25 3d 28 28 71 25 |",,q%....n%=((q%| 00003260 21 32 34 29 3e 3e 32 31 29 20 80 20 31 0d 18 b0 |!24)>>21) . 1...| 00003270 0e e7 20 6e 25 3d 30 20 8c 3d a3 0d 18 ba 06 3d |.. n%=0 .=.....=| 00003280 b9 0d 18 c4 05 3a 0d 18 ce 11 dd f2 73 69 28 77 |.....:......si(w| 00003290 68 25 2c 69 68 25 29 0d 18 d8 15 71 25 21 30 3d |h%,ih%)....q%!0=| 000032a0 77 68 25 3a 71 25 21 34 3d 69 68 25 0d 18 e2 1a |wh%:q%!4=ih%....| 000032b0 71 25 21 38 3d 31 3c 3c 32 31 3a 71 25 21 31 32 |q%!8=1<<21:q%!12| 000032c0 3d 31 3c 3c 32 31 0d 18 ec 1e c8 99 20 22 57 69 |=1<<21...... "Wi| 000032d0 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 65 22 |mp_SetIconState"| 000032e0 2c 2c 71 25 0d 18 f6 05 e1 0d 19 00 05 3a 0d 19 |,,q%.........:..| 000032f0 0a 11 dd f2 75 69 28 77 68 25 2c 69 68 25 29 0d |....ui(wh%,ih%).| 00003300 19 14 15 71 25 21 30 3d 77 68 25 3a 71 25 21 34 |...q%!0=wh%:q%!4| 00003310 3d 69 68 25 0d 19 1e 16 71 25 21 38 3d 30 3a 71 |=ih%....q%!8=0:q| 00003320 25 21 31 32 3d 31 3c 3c 32 31 0d 19 28 1e c8 99 |%!12=1<<21..(...| 00003330 20 22 57 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 | "Wimp_SetIconSt| 00003340 61 74 65 22 2c 2c 71 25 0d 19 32 05 e1 0d 19 3c |ate",,q%..2....<| 00003350 05 3a 0d 19 46 1c dd f2 73 69 73 28 77 68 25 2c |.:..F...sis(wh%,| 00003360 69 68 25 2c 6e 65 77 66 6c 61 67 73 25 29 0d 19 |ih%,newflags%)..| 00003370 50 14 f4 20 73 65 74 20 69 63 6f 6e 20 73 74 61 |P.. set icon sta| 00003380 74 65 0d 19 5a 11 ea 20 63 6c 65 61 72 25 2c 65 |te..Z.. clear%,e| 00003390 6f 72 25 0d 19 64 23 63 6c 65 61 72 25 3d 26 46 |or%..d#clear%=&F| 000033a0 46 46 46 46 46 46 46 3a 65 6f 72 25 3d 6e 65 77 |FFFFFFF:eor%=new| 000033b0 66 6c 61 67 73 25 0d 19 6e 2c 71 25 21 30 3d 77 |flags%..n,q%!0=w| 000033c0 68 25 3a 71 25 21 34 3d 69 68 25 3a 71 25 21 38 |h%:q%!4=ih%:q%!8| 000033d0 3d 65 6f 72 25 3a 71 25 21 31 32 3d 63 6c 65 61 |=eor%:q%!12=clea| 000033e0 72 25 0d 19 78 1e c8 99 20 22 57 69 6d 70 5f 53 |r%..x... "Wimp_S| 000033f0 65 74 49 63 6f 6e 53 74 61 74 65 22 2c 2c 71 25 |etIconState",,q%| 00003400 0d 19 82 05 e1 0d 19 8c 05 3a 0d 19 96 16 f4 2d |.........:.....-| 00003410 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d |----------------| 00003420 0d 19 a0 16 f4 2e 20 45 52 52 4f 52 53 2f 4d 45 |...... ERRORS/ME| 00003430 53 53 41 47 45 53 0d 19 aa 16 f4 2d 2d 2d 2d 2d |SSAGES.....-----| 00003440 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 19 b4 05 |------------....| 00003450 3a 0d 19 be 0b dd f2 65 72 72 6f 72 0d 19 c8 22 |:......error..."| 00003460 f4 20 62 65 66 6f 72 65 20 65 6e 74 65 72 69 6e |. before enterin| 00003470 67 20 70 6f 6c 6c 69 6e 67 20 6c 6f 6f 70 0d 19 |g polling loop..| 00003480 d2 18 c8 99 20 22 48 6f 75 72 67 6c 61 73 73 5f |.... "Hourglass_| 00003490 53 6d 61 73 68 22 0d 19 dc 16 e7 20 46 25 3e 30 |Smash"..... F%>0| 000034a0 20 8c 20 d9 23 46 25 3a 46 25 3d 30 0d 19 e6 1b | . .#F%:F%=0....| 000034b0 85 20 a2 20 9f 2c f6 24 2b 22 20 61 74 20 6c 69 |. . .,.$+" at li| 000034c0 6e 65 20 22 2b c3 9e 0d 19 f0 05 e1 0d 19 fa 05 |ne "+...........| 000034d0 3a 0d 1a 04 0f dd f2 77 69 6d 70 65 72 72 6f 72 |:......wimperror| 000034e0 0d 1a 0e 0a ea 20 61 6e 73 25 0d 1a 18 2e c8 99 |..... ans%......| 000034f0 20 22 57 69 6d 70 5f 44 72 61 67 42 6f 78 22 2c | "Wimp_DragBox",| 00003500 2c 2d 31 3a c8 99 20 22 48 6f 75 72 67 6c 61 73 |,-1:.. "Hourglas| 00003510 73 5f 53 6d 61 73 68 22 0d 1a 22 16 e7 20 46 25 |s_Smash"..".. F%| 00003520 3e 30 20 8c 20 d9 23 46 25 3a 46 25 3d 30 0d 1a |>0 . .#F%:F%=0..| 00003530 2c 34 21 71 25 3d 9f 3a 73 24 3d 22 4f 4b 20 74 |,4!q%=.:s$="OK t| 00003540 6f 20 63 6f 6e 74 69 6e 75 65 2c 20 43 41 4e 43 |o continue, CANC| 00003550 45 4c 20 74 6f 20 6b 69 6c 6c 20 22 2b 74 61 73 |EL to kill "+tas| 00003560 6b 24 0d 1a 36 30 24 28 71 25 2b 34 29 3d f6 24 |k$..60$(q%+4)=.$| 00003570 2b 22 20 28 49 6e 74 65 72 6e 61 6c 20 65 72 72 |+" (Internal err| 00003580 6f 72 20 22 2b c3 9e 2b 22 29 20 22 2b 73 24 2b |or "+..+") "+s$+| 00003590 bd 30 0d 1a 40 2c c8 99 20 22 57 69 6d 70 5f 52 |.0..@,.. "Wimp_R| 000035a0 65 70 6f 72 74 45 72 72 6f 72 22 2c 71 25 2c 33 |eportError",q%,3| 000035b0 2c 74 61 73 6b 24 20 b8 20 2c 61 6e 73 25 0d 1a |,task$ . ,ans%..| 000035c0 4a 39 e7 20 61 6e 73 25 3d 32 20 8c 20 24 71 25 |J9. ans%=2 . $q%| 000035d0 3d 22 54 41 53 4b 22 3a c8 99 20 22 57 69 6d 70 |="TASK":.. "Wimp| 000035e0 5f 43 6c 6f 73 65 44 6f 77 6e 22 2c 74 61 73 6b |_CloseDown",task| 000035f0 25 2c 21 71 25 3a e0 0d 1a 54 05 e1 0d 1a 5e 05 |%,!q%:...T....^.| 00003600 3a 0d 1a 68 18 dd a4 72 65 70 6f 72 74 28 65 72 |:..h...report(er| 00003610 72 24 2c 66 6c 61 67 25 29 0d 1a 72 0a ea 20 61 |r$,flag%)..r.. a| 00003620 6e 73 25 0d 1a 7c 13 f4 20 66 6c 61 67 25 3d 30 |ns%..|.. flag%=0| 00003630 31 20 28 4f 4b 29 0d 1a 86 17 f4 20 66 6c 61 67 |1 (OK)..... flag| 00003640 25 3d 30 32 20 28 43 41 4e 43 45 4c 29 0d 1a 90 |%=02 (CANCEL)...| 00003650 1a f4 20 66 6c 61 67 25 3d 30 33 20 28 4f 4b 2c |.. flag%=03 (OK,| 00003660 43 41 4e 43 45 4c 29 0d 1a 9a 24 f4 20 66 6c 61 |CANCEL)...$. fla| 00003670 67 25 2b 31 36 20 28 6e 6f 20 27 45 72 72 6f 72 |g%+16 (no 'Error| 00003680 27 20 69 6e 20 74 69 74 6c 65 29 0d 1a a4 19 21 |' in title)....!| 00003690 71 25 3d 31 3a 24 28 71 25 2b 34 29 3d 65 72 72 |q%=1:$(q%+4)=err| 000036a0 24 2b bd 30 0d 1a ae 30 c8 99 20 22 57 69 6d 70 |$+.0...0.. "Wimp| 000036b0 5f 52 65 70 6f 72 74 45 72 72 6f 72 22 2c 71 25 |_ReportError",q%| 000036c0 2c 66 6c 61 67 25 2c 74 61 73 6b 24 20 b8 20 2c |,flag%,task$ . ,| 000036d0 61 6e 73 25 0d 1a b8 09 3d 61 6e 73 25 0d 1a c2 |ans%....=ans%...| 000036e0 05 3a 0d 1a cc 0f dd f2 64 6c 28 6c 69 73 74 24 |.:......dl(list$| 000036f0 29 0d 1a d6 10 f4 20 64 65 62 75 67 20 6c 69 73 |)..... debug lis| 00003700 74 0d 1a e0 35 ea 20 63 63 63 25 2c 74 74 74 25 |t...5. ccc%,ttt%| 00003710 2c 6d 6d 6d 25 2c 67 67 67 25 2c 73 73 73 24 2c |,mmm%,ggg%,sss$,| 00003720 63 63 63 24 2c 76 61 72 24 28 29 3a de 20 76 61 |ccc$,var$():. va| 00003730 72 24 28 32 30 29 0d 1a ea 28 67 67 67 25 3d 34 |r$(20)...(ggg%=4| 00003740 3a f4 20 6f 6d 69 74 20 6c 69 6e 65 73 20 61 74 |:. omit lines at| 00003750 20 74 6f 70 20 6f 66 20 73 63 72 65 65 6e 0d 1a | top of screen..| 00003760 f4 07 ea 20 85 0d 1a fe 2a ee 20 85 20 ea 20 ef |... ....*. . . .| 00003770 34 3a f1 8a 30 2c 74 74 74 25 2b 67 67 67 25 2b |4:..0,ttt%+ggg%+| 00003780 32 29 22 45 52 52 4f 52 21 22 3a ef 35 3a e1 0d |2)"ERROR!":.5:..| 00003790 1b 08 17 e3 20 74 74 74 25 3d 31 20 b8 20 a9 28 |.... ttt%=1 . .(| 000037a0 6c 69 73 74 24 29 0d 1b 12 18 20 63 63 63 24 3d |list$).... ccc$=| 000037b0 c1 6c 69 73 74 24 2c 74 74 74 25 2c 31 29 0d 1b |.list$,ttt%,1)..| 000037c0 1c 1d 20 e7 20 63 63 63 24 3c 3e 22 2c 22 20 8c |.. . ccc$<>"," .| 000037d0 20 73 73 73 24 2b 3d 63 63 63 24 0d 1b 26 21 20 | sss$+=ccc$..&! | 000037e0 e7 20 63 63 63 24 3d 22 2c 22 20 84 20 74 74 74 |. ccc$="," . ttt| 000037f0 25 3d a9 28 6c 69 73 74 24 29 20 8c 0d 1b 30 1f |%=.(list$) ...0.| 00003800 20 20 e7 20 a9 73 73 73 24 3e 6d 6d 6d 25 20 8c | . .sss$>mmm% .| 00003810 20 6d 6d 6d 25 3d a9 73 73 73 24 0d 1b 3a 25 20 | mmm%=.sss$..:% | 00003820 20 76 61 72 24 28 63 63 63 25 29 3d 73 73 73 24 | var$(ccc%)=sss$| 00003830 3a 73 73 73 24 3d 22 22 3a 63 63 63 25 2b 3d 31 |:sss$="":ccc%+=1| 00003840 0d 1b 44 06 20 cd 0d 1b 4e 05 ed 0d 1b 58 06 ef |..D. ...N....X..| 00003850 34 0d 1b 62 15 e3 20 74 74 74 25 3d 30 20 b8 20 |4..b.. ttt%=0 . | 00003860 63 63 63 25 2d 31 0d 1b 6c 14 20 73 73 73 24 3d |ccc%-1..l. sss$=| 00003870 76 61 72 24 28 74 74 74 25 29 0d 1b 76 1b 20 f1 |var$(ttt%)..v. .| 00003880 8a 30 2c 74 74 74 25 2b 67 67 67 25 29 c4 33 30 |.0,ttt%+ggg%).30| 00003890 2c 22 20 22 29 0d 1b 80 15 20 e7 20 c0 73 73 73 |," ").... . .sss| 000038a0 24 2c 31 29 3d 22 7e 22 20 8c 0d 1b 8a 19 20 20 |$,1)="~" ..... | 000038b0 73 73 73 24 3d c2 73 73 73 24 2c a9 73 73 73 24 |sss$=.sss$,.sss$| 000038c0 2d 31 29 0d 1b 94 1b 20 20 63 63 63 24 3d c4 6d |-1).... ccc$=.m| 000038d0 6d 6d 25 2d a9 73 73 73 24 2c 22 20 22 29 0d 1b |mm%-.sss$," ")..| 000038e0 9e 2d 20 20 f1 8a 30 2c 74 74 74 25 2b 67 67 67 |.- ..0,ttt%+ggg| 000038f0 25 29 73 73 73 24 2b 63 63 63 24 2b 22 20 3d 26 |%)sss$+ccc$+" =&| 00003900 22 3b c3 7e 28 a0 73 73 73 24 29 0d 1b a8 07 20 |";.~(.sss$).... | 00003910 20 cc 0d 1b b2 1b 20 20 63 63 63 24 3d c4 6d 6d | ..... ccc$=.mm| 00003920 6d 25 2d a9 73 73 73 24 2c 22 20 22 29 0d 1b bc |m%-.sss$," ")...| 00003930 2c 20 20 f1 8a 30 2c 74 74 74 25 2b 67 67 67 25 |, ..0,ttt%+ggg%| 00003940 29 20 73 73 73 24 2b 63 63 63 24 2b 22 20 3d 20 |) sss$+ccc$+" = | 00003950 22 3b a0 28 73 73 73 24 29 0d 1b c6 06 20 cd 0d |";.(sss$).... ..| 00003960 1b d0 08 ed 3a ef 35 0d 1b da 05 e1 0d ff |....:.5.......| 0000396e