Home » Personal collection » Acorn hard disk » apps » Econet » Oddments/!Tree/!RunImage

Oddments/!Tree/!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 » Personal collection » Acorn hard disk » apps » Econet
Filename: Oddments/!Tree/!RunImage
Read OK:
File size: 10BF9 bytes
Load address: 0000
Exec address: 0000
File contents
   10REM>SCSI::SCSIDrive4.$.!Develop.Files.Treev1.!Tree.!RunImage
   20ON ERROR PROCalert("Major BAD error from Tree",REPORT$+" "+STR$(ERL),0):SYS &000400DD,taskhandle%,&4B534154:END
   30:
   40tasksize%=256*1024
   50smegblocksize%=400
   60endprog%=HIMEM
   70:
   80REM         by Richard Samphire 1993     ----------- BOO !
   90:
  100SYS&000406C0
  110SYS &00000010 TO env$
  120IF INSTR(env$," -quit ") THEN
  130doubleclick$=MID$(env$,INSTR(env$,CHR$(34),INSTR(env$,CHR$(34))+1)+1)
  140ENDIF
  150year$="93"
  160ver$="v1.06a (19-09-"+year$+")"
  170name$="Tree"
  180mag$="� Archimedes World 1993"
  190purpose$="Shows tree display of files"
  200PROCinitsprites
  210taskhandle%=FNinitialise(name$)
  220iconbar%=FNiconbar("!"+name$,-1)
  230mainmenu%=FNcreatemenu(name$,3,"Info>info%|Options�|Quit",150)
  240savemenu%=FNcreatemenu("Save",3,"Text>savetree%|-Draw>savedraw%|Tree>saveas%",150)
  250miscmenu%=FNcreatemenu("Misc",4,"Info>info%|-Statistics>stats%|ReDraw Icons|Print text>print%",250)
  260othermenu%=FNcreatemenu("Tree",7,"-Misc>miscmenu%|-File>savemenu%|Open Parent|File Info>finfo%|-Search�|-Options�|Quit",250)
  270PROCiconputtext(info%,11,FNicontext(info%,11)+year$)
  280PROCiconputtext(info%,3,ver$)
  290PROCiconputtext(info%,0,name$)
  300PROCiconputtext(info%,1,purpose$)
  310PROCiconputtext(info%,8,mag$)
  320SYS &000406C2
  330PROCiconputtext(title%,1,mag$)
  340PROCdotitle(200)
  350IF FNcheckfreespace<=smegblocksize% THEN PROCalert("Message from Tree","Unable to find enough free memory.",0):END
  360heapsize%=smegblocksize%
  370SYS "Wimp_SlotSize",tasksize%+heapsize%,-1
  380SYS "XOS_Heap",0,endprog%,,heapsize%
  390blocksize%=4
  400SYS "XOS_Heap",2,endprog%,,4 TO ,,icondata%
  410IF doubleclick$<>" " THEN
  420PROCloadmyfile(doubleclick$)
  430ENDIF
  440REPEAT
  450SYS &000400C7,0,block% TO reason%,block%
  460CASE reason% OF
  470WHEN 0
  480PROCnull
  490WHEN 1
  500PROCredrawwindow(0)
  510WHEN 2
  520PROCopenwindow(0,FALSE)
  530WHEN 3
  540PROCclosewindow(0)
  550WHEN 4
  560PROCpointerleave
  570WHEN 5
  580PROCpointerenter
  590WHEN 6
  600PROCmouseclick
  610WHEN 7
  620PROCuserdragbox
  630WHEN 8
  640PROCkeypressed
  650WHEN 9
  660PROCmenuselection
  670WHEN 10
  680PROCscrollrequest
  690WHEN 11
  700PROClosecaret
  710WHEN 12
  720PROCgaincaret
  730WHEN 17
  740PROCusermessage
  750WHEN 18
  760PROCusermessagerecorded
  770WHEN 19
  780PROCusermessageacknowledge
  790ENDCASE
  800UNTIL exit
  810SYS &000400DD,taskhandle%,&4B534154
  820END
  830DEF FNinitialise(name$)
  840maxnumber=4096
  850mody%=FALSE
  860DIM col(199)
  870DIM block% 2048
  880DIM block2% 2048
  890DIM block3% 2048
  900DIM buf% 41
  910DIM messages% 60
  920messages%!0=1
  930messages%!4=8
  940messages%!8=14
  950messages%!12=&404
  960messages%!16=&405
  970messages%!20=&403
  980messages%!24=2
  990messages%!28=3
 1000messages%!32=4
 1010messages%!36=&80140
 1020messages%!40=&80144
 1030messages%!44=5
 1040messages%!48=&80147
 1050messages%!52=&400c9
 1060messages%!56=&80142
 1070SYS &400C0,300,&4B534154,name$,messages% TO wimpversion%,th%
 1080searchwindow%=FALSE
 1090searchfile=TRUE
 1100searchtype=FALSE
 1110asct%=ASC("T")
 1120ascl%=ASC("L")
 1130currentsearch=-1
 1140casesens=FALSE
 1150iii%=0
 1160dirs=FALSE
 1170exit = FALSE
 1180flufend%=TRUE
 1190menunumber% = 0
 1200iconsprites=TRUE
 1210headings=TRUE
 1220sourcedir=TRUE
 1230date=TRUE
 1240pressed=FALSE
 1250fheadings=TRUE
 1260fsourcedir=TRUE
 1270fdate=TRUE
 1280headcount=2
 1290makeexit=FALSE
 1300tjunc$="+�"
 1310endjunc$="'�"
 1320linejunc$="|"
 1330ftjunc$="+�"
 1340fendjunc$="'�"
 1350flinejunc$="|"
 1360cols=7
 1370fincols=7
 1380rows=50
 1390doprint%=FALSE
 1400frows=50
 1410columns=FALSE
 1420ficonsprites=TRUE
 1430lineobj=TRUE
 1440flineobj=TRUE
 1450tttemp%=0
 1460info=TRUE
 1470boxr=0
 1480boxg=0
 1490boxb=0
 1500fboxr=0
 1510fboxg=0
 1520fboxb=0
 1530oufile%=OPENIN("<Tree$Dir>.Options")
 1540IF oufile%<>0 THEN
 1550INPUT #oufile%,headcount
 1560INPUT #oufile%,headings
 1570INPUT #oufile%,sourcedir
 1580INPUT #oufile%,date
 1590INPUT #oufile%,linejunc$
 1600INPUT #oufile%,tjunc$
 1610INPUT #oufile%,endjunc$
 1620INPUT #oufile%,cols
 1630INPUT #oufile%,iconsprites
 1640INPUT #oufile%,rows
 1650INPUT #oufile%,boxr
 1660INPUT #oufile%,boxg
 1670INPUT #oufile%,boxb
 1680INPUT #oufile%,lineobj
 1690INPUT #oufile%,dirs
 1700CLOSE #oufile%
 1710fheadings=headings
 1720fsourcedir=sourcedir
 1730fdate=date
 1740flinejunc$=linejunc$
 1750ftjunc$=tjunc$
 1760fendjunc$=endjunc$
 1770fincols=cols
 1780ficonsprites=iconsprites
 1790frows=rows
 1800fboxr=boxr
 1810fboxg=boxg
 1820fboxb=boxb
 1830flineobj=lineobj
 1840fdirs=dirs
 1850ELSE
 1860PROCdefaults(FALSE)
 1870ENDIF
 1880DIM win% 4096*6
 1890DIM ind% 4096*6
 1900DIM mainwindow% 512
 1910DIM indmain% 512
 1920SYS &000400D9,,"<Tree$Dir>.Templates"
 1930SYS &000400DB,,win%,ind%,ind%+4096,-1,"info",0 TO ,,ind%
 1940win%!64=sprite%
 1950SYS &000400C1,,win% TO info%
 1960SYS &000400DB,,win%,ind%,ind%+4096,-1,"saveas",0 TO ,,ind%
 1970SYS &000400C1,,win% TO saveas%
 1980SYS &000400DB,,win%,ind%,ind%+4096,-1,"savetree",0 TO ,,ind%
 1990SYS &000400C1,,win% TO savetree%
 2000SYS &000400DB,,mainwindow%,indmain%,indmain%+4096,-1,"main",0 TO ,,indmain%
 2010SYS &000400C1,,mainwindow% TO main%
 2020SYS &000400DB,,win%,ind%,ind%+4096,-1,"pane",0 TO ,,ind%
 2030win%!64=sprite%
 2040SYS &000400C1,,win% TO pane%
 2050SYS &000400DB,,win%,ind%,ind%+4096,-1,"options",0 TO ,,ind%
 2060SYS &000400C1,,win% TO options%
 2070SYS &000400DB,,win%,ind%,ind%+4096,-1,"stats",0 TO ,,ind%
 2080SYS &000400C1,,win% TO stats%
 2090SYS &000400DB,,win%,ind%,ind%+4096,-1,"savedraw",0 TO ,,ind%
 2100win%!64=sprite%
 2110SYS &000400C1,,win% TO savedraw%
 2120SYS &000400DB,,win%,ind%,ind%+4096,-1,"fileinfo",0 TO ,,ind%
 2130SYS &000400C1,,win% TO finfo%
 2140SYS &000400DB,,win%,ind%,ind%+4096,-1,"printtext",0 TO ,,ind%
 2150win%!64=sprite%
 2160SYS &000400C1,,win% TO print%
 2170SYS &000400DB,,win%,ind%,ind%+4096,-1,"dis",0 TO ,,ind%
 2180SYS &000400C1,,win% TO mycontrol%
 2190SYS &000400DB,,win%,ind%,ind%+4096,-1,"title",0 TO ,,ind%
 2200win%!64=sprite%
 2210SYS &000400C1,,win% TO title%
 2220SYS &000400DB,,win%,ind%,ind%+4096,-1,"search",0 TO ,,ind%
 2230win%!64=sprite%
 2240SYS &000400C1,,win% TO search%
 2250SYS &000400DA
 2260slidewindow%=-1
 2270slideicon%=-1
 2280slidesize%=-1
 2290oldworkx%=-1
 2300rrange%=-1
 2310sizemaxx%=-1
 2320sizeminx%=-1
 2330=th%
 2340DEF FNiconbar(Sprite$,side%)
 2350block%!0=side%
 2360block%!4=0
 2370block%!8=0
 2380block%!12=29*2
 2390block%!16=40*2
 2400block%!20=&3002
 2410$(block%+24)=Sprite$
 2420SYS &000400C2,,block% TO icon%
 2430=icon%
 2440DEF PROCnull
 2450CASE slideicon% OF
 2460WHEN 28
 2470PROCdoslide(slidewindow%,slideicon%,slidesize%,TRUE,255)
 2480WHEN 31
 2490PROCdoslide(slidewindow%,slideicon%,slidesize%,TRUE,255)
 2500WHEN 34
 2510PROCdoslide(slidewindow%,slideicon%,slidesize%,TRUE,255)
 2520ENDCASE
 2530ENDPROC
 2540DEF PROCredrawwindow(wind%)
 2550SYS&000406C0
 2560IF wind%<>0 THEN
 2570block%!0=wind%
 2580ENDIF
 2590SYS &000400C8,,block% TO flag
 2600WHILE flag
 2610IF block%!0=main% THEN PROCdolines(block%!8,block%!16,block%!24)
 2620IF block%!0=pane% THEN PROCdocolourbox(boxr,boxg,boxb,FALSE)
 2630SYS &000400CA,,block% TO flag
 2640ENDWHILE
 2650SYS&000406C2
 2660ENDPROC
 2670DEF PROCopenwindow(wind%,stag%)
 2680IF wind%<>0 THEN
 2690block%!0=wind%
 2700SYS &000400CB,,block%
 2710ENDIF
 2720IF block%!0=main% AND searchwindow% THEN
 2730mainminx%=block%!4
 2740mainminy%=block%!8
 2750mainmaxx%=block%!12
 2760mainmaxy%=block%!16
 2770mainscrollx%=block%!20
 2780mainscrolly%=block%!24
 2790backhand%=block%!28
 2800block%!0=search%
 2810SYS &400cb,,block%
 2820block%!0=search%
 2830block%!4=mainminx%-318
 2840block%!8=mainmaxy%-636
 2850block%!12=mainmaxx%+block%!4
 2860block%!16=mainmaxy%
 2870block%!28=backhand%
 2880SYS &400C5,,block%
 2890block%!0=main%
 2900block%!4=mainminx%
 2910block%!8=mainminy%
 2920block%!12=mainmaxx%
 2930block%!16=mainmaxy%
 2940block%!20=mainscrollx%
 2950block%!24=mainscrolly%
 2960block%!28=search%
 2970ENDIF
 2980IF block%!0=options% THEN
 2990mainminx%=block%!4
 3000mainminy%=block%!8
 3010mainmaxx%=block%!12
 3020mainmaxy%=block%!16
 3030mainscrollx%=block%!20
 3040mainscrolly%=block%!24
 3050backhand%=block%!28
 3060block%!0=pane%
 3070SYS &400cb,,block%
 3080block%!0=pane%
 3090block%!4=mainminx%+20
 3100block%!8=mainminy%+18
 3110block%!12=mainmaxx%+block%!4
 3120block%!16=mainmaxy%-18
 3130block%!28=backhand%
 3140SYS &400C5,,block%
 3150block%!0=options%
 3160block%!4=mainminx%
 3170block%!8=mainminy%
 3180block%!12=mainmaxx%
 3190block%!16=mainmaxy%
 3200block%!20=mainscrollx%
 3210block%!24=mainscrolly%
 3220block%!28=pane%
 3230ENDIF
 3240SYS &000400C5,,block%
 3250ENDPROC
 3260DEF PROCclosewindow(wind%)
 3270IF wind%<>0 THEN
 3280  block%!0=wind%
 3290ENDIF
 3300IF block%!0=options% THEN
 3310  block%!0=pane%
 3320  SYS &000400C6,,block%
 3330  block%!0=options%
 3340ENDIF
 3350IF block%!0=main% AND mody% THEN
 3360  press%=FNmycontrol
 3370  block%!0=mycontrol%
 3380  SYS &000400C6,,block%
 3390  block%!0=main%
 3400  CASE press% OF
 3410    WHEN 0
 3420      IF makeexit THEN exit=TRUE
 3430      SYS "XOS_Heap",4,endprog%,icondata%,-blocksize% TO ,,icondata%
 3440      SYS "XOS_Heap",5,endprog%,,-heapsize%+smegblocksize%
 3450      heapsize%=smegblocksize%
 3460      SYS "Wimp_SlotSize",tasksize%+heapsize%,-1
 3470      blocksize%=4
 3480    WHEN 1
 3490      IF exit THEN exit=FALSE
 3500      makeexit=FALSE
 3510      ENDPROC
 3520    WHEN 2
 3530      IF exit THEN
 3540        exit=FALSE
 3550        makeexit=TRUE
 3560      ENDIF
 3570      SYS&000400CF,,block2%
 3580      xx%=block2%!0
 3590      yy%=block2%!4
 3600      bb%=block2%!8
 3610      flufend%=TRUE
 3620      PROCdrawmenu(saveas%,xx%,yy%)
 3630      ENDPROC
 3640  ENDCASE
 3650ENDIF
 3660IF block%!0=search% THEN searchwindow%=FALSE
 3670IF block%!0=main% THEN
 3680  searchwindow%=FALSE
 3690  block%!0=search%
 3700  SYS &000400C6,,block%
 3710  SYS "XOS_Heap",4,endprog%,icondata%,-blocksize% TO ,,icondata%
 3720  SYS "XOS_Heap",5,endprog%,,-heapsize%+smegblocksize%
 3730  heapsize%=smegblocksize%
 3740  SYS "Wimp_SlotSize",tasksize%+heapsize%,-1
 3750  blocksize%=4
 3760  mody%=FALSE
 3770  IF pressed THEN SYS "Wimp_ProcessKey",&1FC
 3780  iii%=0
 3790  block%!0=main%
 3800ENDIF
 3810SYS &000400C6,,block%
 3820ENDPROC
 3830DEF PROCpointerleave
 3840ENDPROC
 3850DEF PROCpointerenter
 3860ENDPROC
 3870DEF PROCmouseclick
 3880LOCAL ERROR
 3890ON ERROR LOCAL PROCalert("Error from Tree",REPORT$,0):ENDPROC
 3900x%=block%!0
 3910y%=block%!4
 3920button%=block%!8
 3930window%=block%!12
 3940icon%=block%!16
 3950CASE button% OF
 3960WHEN 1
 3970IF window%=search% THEN PROCclicksearch(icon%)
 3980IF window%=print% THEN PROCclickprint(icon%)
 3990IF window%=savedraw% AND icon%=2 THEN
 4000IF INSTR(FNicontext(savedraw%,1),".")=0 THEN
 4010PROCalert("Tree","To save, drag the file icon to a directory viewer",2)
 4020SYS&000400D4,-1
 4030ELSE
 4040poowindow%=savedraw%
 4050PROCsave(FNicontext(savedraw%,1))
 4060ENDIF
 4070ENDIF
 4080IF window%=saveas% AND icon%=2 THEN
 4090IF INSTR(FNicontext(saveas%,1),".")=0 THEN
 4100PROCalert("Tree","To save, drag the file icon to a directory viewer",2)
 4110SYS&000400D4,-1
 4120ELSE
 4130poowindow%=saveas%
 4140PROCsave(FNicontext(saveas%,1))
 4150ENDIF
 4160ENDIF
 4170IF window%=savetree% AND icon%=2 THEN
 4180IF INSTR(FNicontext(savetree%,1),".")=0 THEN
 4190PROCalert("Tree","To save, drag the file icon to a directory viewer",2)
 4200SYS&000400D4,-1
 4210ELSE
 4220poowindow%=savetree%
 4230PROCsave(FNicontext(savetree%,1))
 4240ENDIF
 4250ENDIF
 4260IF window%=options% THEN PROCclickoptions(icon%)
 4270IF window%=pane% THEN PROCclickpane(icon%)
 4280IF window%=main% AND icon%>0 THEN
 4290PROCuselicon(main%,icon%)
 4300PROCgetvars(icon%-1,FALSE)
 4310OSCLI("FILER_RUN "+$filename%)
 4320ENDIF
 4330IF window%=savedraw% AND icon%=3 THEN
 4340columns=NOT columns
 4350IF columns THEN PROCselicon(savedraw%,3) ELSE PROCuselicon(savedraw%,3)
 4360ENDIF
 4370WHEN 2
 4380IF window%=-2 THEN
 4390PROCdrawmenu(mainmenu%,x%-100,228)
 4400menunumber%=1
 4410ENDIF
 4420IF window%=main% THEN
 4430PROCgetprinterinfo
 4440PROCiconputtext(print%,0,printer$)
 4450copies=1
 4460PROCiconputtext(print%,2,STR$(copies))
 4470IF columns THEN PROCselicon(savedraw%,3) ELSE PROCuselicon(savedraw%,3)
 4480flufend%=FALSE
 4490PROCiconputtext(stats%,1,STR$(iii%))
 4500PROCiconputtext(stats%,3,STR$(blocksize%))
 4510IF icon%>0 THEN
 4520currentsearch=icon%
 4530PROCusmi(othermenu%,3)
 4540PROCusmi(othermenu%,4)
 4550PROCgetvars(icon%-1,FALSE)
 4560PROCiconputtext(finfo%,0,FNgLn($filename%))
 4570IF type%!0>=0 AND type%!0<=&FFF THEN
 4580  PROCiconputtext(finfo%,3,"&"+FNpad(type%!0))
 4590  IF FNspriteexists("file_"+FNpad(type%!0)) THEN
 4600  PROCseticonsprite(finfo%,1,"Sfile_"+FNpad(type%!0))
 4610  ELSE
 4620  PROCseticonsprite(finfo%,1,"Sfile_xxx")
 4630  ENDIF
 4640ELSE
 4650  IF LEFT$(FNgLn($filename%),1)="!" AND type%!0=-1 THEN
 4660  PROCiconputtext(finfo%,3,"Application")
 4670  IF FNspriteexists(FNgLn($filename%)) THEN
 4680  PROCseticonsprite(finfo%,1,"S"+FNgLn($filename%))
 4690  ELSE
 4700  PROCseticonsprite(finfo%,1,"Sapplication")
 4710  ENDIF
 4720  ENDIF
 4730  IF LEFT$(FNgLn($filename%),1)<>"!" AND type%!0=-1 THEN
 4740  PROCiconputtext(finfo%,3,"Directory")
 4750  PROCseticonsprite(finfo%,1,"Sdirectory")
 4760  ENDIF
 4770  IF type%!0=-2 THEN
 4780  PROCiconputtext(finfo%,3,"File")
 4790  PROCseticonsprite(finfo%,1,"Sfile_xxx")
 4800  ENDIF
 4810ENDIF
 4820PROCiconputtext(finfo%,5,STR$(readlength%!0))
 4830PROCiconputtext(finfo%,7,FNattributes(attributes%!0))
 4840PROCiconputtext(finfo%,8,FNmyconvert(ladr%!0,eadr%!0))
 4850ELSE
 4860PROCsmi(othermenu%,3)
 4870PROCsmi(othermenu%,4)
 4880ENDIF
 4890PROCdrawmenu(othermenu%,x%-100,y%)
 4900menunumber%=2
 4910ENDIF
 4920WHEN 4
 4930IF window%=search% THEN PROCclicksearch(icon%)
 4940IF window%=print% THEN PROCclickprint(icon%)
 4950IF window%=savedraw% AND icon%=3 THEN
 4960columns=NOT columns
 4970IF columns THEN PROCselicon(savedraw%,3) ELSE PROCuselicon(savedraw%,3)
 4980ENDIF
 4990IF window%=savedraw% AND icon%=2 THEN
 5000IF INSTR(FNicontext(savedraw%,1),".")=0 THEN
 5010PROCalert("Tree","To save, drag the file icon to a directory viewer",2)
 5020SYS&000400D4,-1
 5030ELSE
 5040poowindow%=savedraw%
 5050PROCsave(FNicontext(savedraw%,1))
 5060ENDIF
 5070ENDIF
 5080IF window%=saveas% AND icon%=2 THEN
 5090IF INSTR(FNicontext(saveas%,1),".")=0 THEN
 5100PROCalert("Tree","To save, drag the file icon to a directory viewer",2)
 5110SYS&000400D4,-1
 5120ELSE
 5130poowindow%=saveas%
 5140PROCsave(FNicontext(saveas%,1))
 5150SYS&000400D4,-1
 5160ENDIF
 5170ENDIF
 5180IF window%=savetree% AND icon%=2 THEN
 5190IF INSTR(FNicontext(savetree%,1),".")=0 THEN
 5200PROCalert("Tree","To save, drag the file icon to a directory viewer",2)
 5210SYS&000400D4,-1
 5220ELSE
 5230poowindow%=savetree%
 5240PROCsave(FNicontext(savetree%,1))
 5250SYS&000400D4,-1
 5260ENDIF
 5270ENDIF
 5280IF window%=pane% THEN PROCclickpane(icon%)
 5290IF window%=options% THEN PROCclickoptions(icon%)
 5300IF window%=main% AND icon%>0 THEN
 5310PROCuselicon(main%,icon%)
 5320PROCgetvars(icon%-1,FALSE)
 5330OSCLI("FILER_RUN "+$filename%)
 5340ENDIF
 5350WHEN 16,64
 5360IF window%=main% AND icon%>0 THEN
 5370PROCdragmyfile
 5380tempicon%=icon%
 5390ENDIF
 5400IF window%=saveas% AND icon%=0 THEN
 5410poowindow%=window%
 5420lastwindow%=poowindow%
 5430PROCdrawbox(saveas%,0,"file_353")
 5440ENDIF
 5450IF window%=savetree% AND icon%=0 THEN
 5460poowindow%=window%
 5470lastwindow%=poowindow%
 5480PROCdrawbox(savetree%,0,"file_fff")
 5490ENDIF
 5500IF window%=savedraw% AND icon%=0 THEN
 5510poowindow%=window%
 5520lastwindow%=poowindow%
 5530PROCdrawbox(savedraw%,0,"file_aff")
 5540ENDIF
 5550ENDCASE
 5560ENDPROC
 5570DEF PROCuserdragbox
 5580LOCAL ERROR
 5590ON ERROR LOCAL PROCalert("Error from Tree",REPORT$,0):ENDPROC
 5600SYS "DragASprite_Stop"
 5610tt%=block%+256
 5620SYS&000400CF,,tt%
 5630xx%=tt%!0
 5640yy%=tt%!4
 5650bb%=tt%!8
 5660wind%=tt%!12
 5670icon%=tt%!16
 5680CASE lastwindow% OF
 5690WHEN saveas%,savetree%
 5700block%!0=256
 5710block%!12=0
 5720block%!16=1
 5730block%!20=wind%
 5740block%!24=icon%
 5750block%!28=xx%
 5760block%!32=yy%
 5770block%!36=1
 5780IF lastwindow%=savetree% THEN
 5790block%!40=&fff
 5800ELSE
 5810block%!40=&353
 5820ENDIF
 5830bblock%=block%+256
 5840bblock%!0=lastwindow%
 5850bblock%!4=1
 5860SYS&000400CE,0,bblock%
 5870text%=bblock%!28
 5880w$=FNgLn($text%)
 5890$(block%+44)=w$+CHR$0
 5900SYS&000400E7,17,block%,wind%,icon%
 5910IF wind%<>saveas% AND wind%<>savetree% THEN SYS&000400D4,-1
 5920WHEN main%
 5930poowindow%=main%
 5940PROCgetvars(tempicon%-1,FALSE)
 5950block%!0=256
 5960block%!12=0
 5970block%!16=1
 5980block%!20=wind%
 5990block%!24=icon%
 6000block%!28=xx%
 6010block%!32=yy%
 6020block%!36=readlength%!0
 6030block%!40=type%!0
 6040$(block%+44)=$filename%+CHR$0
 6050SYS&000400E7,17,block%,wind%,icon%
 6060PROCuselicon(main%,tempicon%)
 6070WHEN savedraw%
 6080block%!0=256
 6090block%!12=0
 6100block%!16=1
 6110block%!20=wind%
 6120block%!24=icon%
 6130block%!28=xx%
 6140block%!32=yy%
 6150block%!36=1
 6160block%!40=&aff
 6170bblock%=block%+256
 6180bblock%!0=lastwindow%
 6190bblock%!4=1
 6200SYS&000400CE,0,bblock%
 6210text%=bblock%!28
 6220w$=FNgLn($text%)
 6230$(block%+44)=w$+CHR$0
 6240SYS&000400E7,17,block%,wind%,icon%
 6250IF wind%<>savedraw% THEN SYS&000400D4,-1
 6260WHEN pane%
 6270IF slidewindow%>-1 AND slideicon%>-1 AND slidesize%>-1 THEN
 6280size%=sizemaxx%-sizeminx%
 6290ppos%=(oldworkx%-sizeminx%)
 6300num%=(rrange%/size%)*ppos%
 6310CASE slideicon% OF
 6320WHEN 28,31,34
 6330oldworkx%=newx%
 6340ENDCASE
 6350:
 6360slidewindow%=-1
 6370slideicon%=-1
 6380slidesize%=-1
 6390ENDIF
 6400ENDCASE
 6410ENDPROC
 6420DEF PROCkeypressed
 6430wind%=block%!0
 6440icon%=block%!4
 6450key%=block%!24
 6460CASE key% OF
 6470WHEN 398,13
 6480IF wind%=saveas% THEN
 6490IF INSTR(FNicontext(saveas%,1),".")=0 THEN
 6500PROCalert("Tree","To save, drag the file icon to a directory viewer",2)
 6510SYS&000400D4,-1
 6520ELSE
 6530poowindow%=saveas%
 6540PROCsave(FNicontext(saveas%,1))
 6550SYS&000400D4,,-1
 6560ENDIF
 6570ENDIF
 6580IF wind%=savetree% THEN
 6590IF INSTR(FNicontext(savetree%,1),".")=0 THEN
 6600PROCalert("Tree","To save, drag the file icon to a directory viewer",2)
 6610SYS&000400D4,-1
 6620ELSE
 6630poowindow%=savetree%
 6640PROCsave(FNicontext(savetree%,1))
 6650SYS&000400D4,,-1
 6660ENDIF
 6670ENDIF
 6680OTHERWISE
 6690SYS "Wimp_ProcessKey",key%
 6700ENDCASE
 6710ENDPROC
 6720DEF PROCmenuselection
 6730CASE menunumber% OF
 6740WHEN 1
 6750SYS&000400D5,,mainmenu%,block%,block%+24
 6760trunc$=FNgLn($(block%+24))
 6770IF trunc$="Quit" THEN
 6780exit=TRUE
 6790makeexit=TRUE
 6800PROCclosewindow(main%)
 6810ENDIF
 6820IF trunc$="Options�" THEN
 6830PROCpane
 6840PROCopenwindow(options%,FALSE)
 6850ENDIF
 6860WHEN 2
 6870SYS&000400D5,,othermenu%,block%,block%+24
 6880trunc$=FNgLn($(block%+24))
 6890IF trunc$="Quit" THEN
 6900makeexit=TRUE
 6910exit = TRUE
 6920PROCclosewindow(main%)
 6930ENDIF
 6940IF trunc$="ReDraw Icons" THEN PROCmajorredraw
 6950IF trunc$="Open Parent" THEN OSCLI("FILER_OPENDIR "+pooup$)
 6960IF trunc$="Search�" THEN PROCopensearch
 6970IF trunc$="Options�" THEN
 6980PROCpane
 6990PROCopenwindow(options%,FALSE)
 7000ENDIF
 7010ENDCASE
 7020SYS&000400CF,,block%+256
 7030brr%=block%+256
 7040button%=brr%!8
 7050IF button%=1 THEN
 7060IF menunumber%=1 THEN SYS &000400D4,,mainmenu%,brr%!0-68,(64*4)+64
 7070IF menunumber%=2 THEN SYS &000400D4,,othermenu%,brr%!0-68,brr%!4
 7080ENDIF
 7090ENDPROC
 7100ENDPROC
 7110DEF PROCscrollrequest
 7120ENDPROC
 7130DEF PROClosecaret
 7140ENDPROC
 7150DEF PROCgaincaret
 7160ENDPROC
 7170DEF PROCusermessage
 7180LOCAL ERROR
 7190ON ERROR LOCAL PROCalert("Error from Tree",REPORT$,0):ENDPROC
 7200CASE block%!16 OF
 7210WHEN 0
 7220exit = TRUE
 7230WHEN 2
 7240PROCsave(FNgetstring(block%+44))
 7250WHEN &80147
 7260PROCgetprinterinfo
 7270
 7280ENDCASE
 7290ENDPROC
 7300DEF PROCusermessagerecorded
 7310LOCAL ERROR
 7320ON ERROR LOCAL PROCalert("Error from Tree",REPORT$,0):ENDPROC
 7330CASE block%!16 OF
 7340WHEN 0
 7350exit = TRUE
 7360WHEN &80142
 7370IF doprint% AND FALSE THEN
 7380doprint%=FALSE
 7390PROCalert("Message from Tree","Load the RiscOS 3 !Printers application to print from Tree.",0)
 7400ENDIF
 7410WHEN 3
 7420PROCload(block%!20,block%!24,block%!40,FNgetstring(block%+44))
 7430WHEN 5
 7440IF block%!40=&353 THEN
 7450block%!12=block%!8
 7460SYS&000600E7,17,block%,block%!20
 7470PROCload(block%!20,block%!24,block%!40,FNgetstring(block%+44))
 7480ENDIF
 7490WHEN 8
 7500IF mody% THEN
 7510  pressed=TRUE
 7520  block%!12=block%!8
 7530  SYS "Wimp_SendMessage",19,block%,0
 7540  PROCsicon(mycontrol%,6)
 7550  PROCclosewindow(main%)
 7560ENDIF
 7570ENDCASE
 7580ENDPROC
 7590DEF PROCusermessageacknowledge
 7600CASE block%!16 OF
 7610WHEN &80142
 7620IF doprint% THEN
 7630doprint%=FALSE
 7640PROCalert("Message from Tree","Load the RiscOS 3 !Printers application to print from Tree.",0)
 7650ENDIF
 7660ENDCASE
 7670ENDPROC
 7680DEFFNparseLine(A$,B$(),C$)
 7690LOCAL D%,E%:D%=DIM(B$(),1)
 7700WHILE (A$<>"")AND(E%<=D%)
 7710B$(E%)=FNparseWord(A$,C$)
 7720E%+=1
 7730ENDWHILE
 7740=E%
 7750DEFFNparseWord(RETURN A$,B$)
 7760LOCAL C$,D%,E%,F$:D%=1:E%=LEN(A$):C$=MID$(A$,D%,1)
 7770WHILE (INSTR(B$,C$)=0)AND(D%<=E%):D%+=1:C$=MID$(A$,D%,1):ENDWHILE
 7780F$=LEFT$(A$,D%-1):A$=MID$(A$,D%+1):E%=LEN(A$):D%=1:C$=MID$(A$,D%,1)
 7790WHILE (INSTR(B$,C$)>0)AND(D%<=E%):D%+=1:C$=MID$(A$,D%,1):ENDWHILE
 7800A$=MID$(A$,D%)
 7810=F$
 7820DEF FNcreatemenu(title$,entries%,entries$,width%)
 7830LOCAL menu%,word$()
 7840DIM menu% 24+entries%*24
 7850DIM word$(entries%)
 7860tr%=FNparseLine(entries$,word$(),"|")
 7870tr%-=1
 7880$(menu%+0)=title$+CHR$0
 7890menu%!12=7
 7900menu%!13=2
 7910menu%!14=7
 7920menu%!15=0
 7930menu%!16=width%
 7940menu%!20=44
 7950menu%!24=0
 7960FOR loop%=0 TO tr%
 7970p%=(loop%*24)+28
 7980IF loop%=entries%-1 THEN menu%!p%=128 ELSE menu%!p%=0
 7990IF MID$(word$(loop%),1,1)="-" THEN
 8000menu%!p%+=2
 8010ENDIF
 8020IF title$="Filetypes" THEN menu%!p%+=8
 8030p%+=4
 8040IF INSTR(word$(loop%),">") = 0 THEN
 8050menu%!p%=-1
 8060ELSE
 8070menu%!p%=EVAL(MID$(word$(loop%),INSTR(word$(loop%),">")+1))
 8080ENDIF
 8090p%+=4
 8100menu%!p%=&7009031
 8110p%+=4
 8120IF INSTR(word$(loop%),">") = 0 THEN
 8130IF MID$(word$(loop%),1,1)="-" THEN
 8140$(menu%+p%)=MID$(word$(loop%),2)
 8150ELSE
 8160$(menu%+p%)=word$(loop%)
 8170ENDIF
 8180ELSE
 8190IF MID$(word$(loop%),1,1)="-" THEN
 8200$(menu%+p%)=MID$(word$(loop%),2,INSTR(word$(loop%),">")-2)
 8210ELSE
 8220$(menu%+p%)=MID$(word$(loop%),1,INSTR(word$(loop%),">")-1)
 8230ENDIF
 8240ENDIF
 8250NEXTloop%
 8260=menu%
 8270DEFPROCdrawmenu(m%,xx%,yy%)
 8280SYS &000400D4,,m%,xx%,yy%
 8290ENDPROC
 8300DEFPROCsicon(wind%,icon%)
 8310block%!0=wind%
 8320block%!4=icon%
 8330block%!8=%10000000000000000000000
 8340block%!12=%10000000000000000000000
 8350SYS &400CD,,block%
 8360ENDPROC
 8370DEFPROCusicon(wind%,icon%)
 8380block%!0=wind%
 8390block%!4=icon%
 8400block%!8=0
 8410block%!12=%10000000000000000000000
 8420SYS &400CD,,block%
 8430ENDPROC
 8440DEFPROCselicon(wind%,icon%)
 8450block%!0=wind%
 8460block%!4=icon%
 8470block%!8=%1000000000000000000000
 8480block%!12=%1000000000000000000000
 8490SYS &400CD,,block%
 8500ENDPROC
 8510DEFPROCuselicon(wind%,icon%)
 8520block%!0=wind%
 8530block%!4=icon%
 8540block%!8=0
 8550block%!12=%1000000000000000000000
 8560SYS &400CD,,block%
 8570ENDPROC
 8580DEFPROCtmi(m%,i%)
 8590ui=m%+(28+(24*i%))
 8600!ui=!ui OR %1
 8610ENDPROC
 8620DEFPROCutmi(m%,i%)
 8630ui=m%+(28+(24*i%))
 8640!ui=!ui ANDNOT %1
 8650ENDPROC
 8660DEFPROCsmi(m%,i%)
 8670ui=m%+(36+(24*i%))
 8680!ui=!ui OR %10000000000000000000000
 8690ENDPROC
 8700DEFPROCusmi(m%,i%)
 8710ui=m%+(36+(24*i%))
 8720!ui=!ui ANDNOT %10000000000000000000000
 8730ENDPROC
 8740DEFFNgLn(A$)
 8750LOCAL B%
 8760IF INSTR(A$,".")=0 THEN =A$
 8770IF INSTR(A$,".")>0 THEN
 8780B%=LENA$
 8790WHILE(MID$(A$,B%,1)<>".")AND(B%>0)
 8800B%-=1
 8810ENDWHILE
 8820=RIGHT$(A$,LENA$-B%)
 8830DEF FNgetstring(array%)
 8840LOCAL path$,pointer%
 8850path$=""
 8860pointer%=array%
 8870REPEAT
 8880path$+=CHR$?pointer%
 8890pointer%+=1
 8900UNTIL ?pointer%=0 OR ?pointer%=13
 8910=path$
 8920DEFPROCload(window%,icon%,filetype%,path$)
 8930LOCAL ERROR
 8940ON ERROR LOCAL PROCalert("Error from Tree",REPORT$,0):ENDPROC
 8950IF window%=-2 AND filetype%<>&353 THEN PROCdofiles(path$)
 8960IF filetype%=&353 THEN
 8970PROCclosewindow(main%)
 8980PROCloadmyfile(path$)
 8990ENDIF
 9000ENDPROC
 9010DEFPROCsave(p$)
 9020LOCAL ERROR
 9030ON ERROR LOCAL PROCalert("Error from Tree",REPORT$,0):ENDPROC
 9040SYS &00062401
 9050CASE poowindow% OF
 9060WHEN saveas%
 9070SYS&000406C0
 9080SYS "OS_File",10,p$,&353,,icondata%,icondata%+blocksize%
 9090SYS&000406C2
 9100mody%=FALSE
 9110IF makeexit THEN exit=TRUE
 9120IF flufend% THEN
 9130block%!0=main%
 9140SYS &000400C6,,block%
 9150ENDIF
 9160IF pressed THEN SYS "Wimp_ProcessKey",&1FC
 9170WHEN savetree%
 9180PROCexport(p$,TRUE)
 9190WHEN savedraw%
 9200PROCdodraw(p$)
 9210WHEN main%
 9220IF block%!36=-1 THEN
 9230PROCgetvars(tempicon%-1,FALSE)
 9240block%!0=256
 9250block%!12=0
 9260block%!16=3
 9270block%!36=readlength%!0
 9280block%!40=type%!0
 9290$(block%+44)=$filename%+CHR$0
 9300SYS&000400E7,17,block%,wind%,icon%
 9310ELSE
 9320PROCgetvars(tempicon%-1,FALSE)
 9330IF FNcheckfreespace>=(40*1024) THEN
 9340p$=LEFT$(p$,LEN(p$)-(LEN($filename%)+1))
 9350SYS "Wimp_StartTask","filer_action"
 9360block%!0=256
 9370block%!12=0
 9380block%!16=&403
 9390cft2=LEN($filename%)
 9400WHILE MID$($filename%,cft2,1)<>"."
 9410cft2-=1
 9420ENDWHILE
 9430dddup$=MID$($filename%,1,cft2-1)
 9440$(block%+20)=dddup$+CHR$0
 9450SYS "Wimp_SendMessage",17,block%,0
 9460block%!0=256
 9470block%!12=0
 9480block%!16=&404
 9490$(block%+20)=FNgLn($filename%)+CHR$0
 9500SYS "Wimp_SendMessage",17,block%,0
 9510block%!0=256
 9520block%!12=0
 9530block%!16=&405
 9540block%!20=0
 9550block%!24=%10001
 9560$(block%+28)=p$+CHR$0
 9570SYS "Wimp_SendMessage",17,block%,0
 9580ELSE
 9590p$=LEFT$(p$,LEN(p$)-(LEN($filename%)+1))
 9600OSCLI("COPY "+$filename%+" "+p$+"."+FNgLn($filename%)+" R~C")
 9610ENDIF
 9620ENDIF
 9630WHEN print%
 9640PROCexport(p$,FALSE)
 9650block%!16=3
 9660FOR printcount=1 TO copies
 9670SYS&000400E7,17,block%,block%!20,block%!24
 9680NEXT printcount
 9690doprint%=FALSE
 9700ENDCASE
 9710IF p$<>"<Wimp$Scrap>" AND (poowindow%<>main%) AND poowindow%<>print% THEN PROCiconputtext(poowindow%,1,p$)
 9720ENDPROC
 9730DEFPROCloadmyfile(p$)
 9740LOCAL ERROR
 9750ON ERROR LOCAL PROCalert("Error from Tree",REPORT$,0):ENDPROC
 9760localsprites=TRUE
 9770columns=FALSE
 9780archi%=FNmodulepresent("SparkFS")
 9790thebigone=0
 9800block%!0=main%
 9810SYS &000400C3,,block%
 9820SYS &000400C1,,mainwindow% TO main%
 9830SYS&000406C0
 9840block%!0=main%
 9850SYS &400cc,,block%
 9860workminx=block%!44
 9870workminy=block%!48
 9880workmaxx=block%!52
 9890workmaxy=block%!56
 9900infile%=OPENIN(p$)
 9910newlen%=EXT#infile%
 9920CLOSE #infile%
 9930SYS "XOS_Heap",4,endprog%,icondata%,-blocksize% TO ,,icondata%
 9940SYS "XOS_Heap",5,endprog%,,-heapsize%+smegblocksize%
 9950blocksize%=4
 9960heapsize%=smegblocksize%
 9970blocksize%+=newlen%
 9980duf%=FALSE
 9990IF blocksize%>heapsize% THEN
10000  duf%=TRUE
10010  heapsize%+=newlen%
10020  IF FNcheckfreespace<=heapsize% THEN
10030    PROCalert("Message from Tree","Unable to find enough free memory.",0)
10040    heapsize%-=newlen%
10050    blocksize%-=newlen%
10060    ENDPROC
10070  ENDIF
10080SYS "Wimp_SlotSize",tasksize%+heapsize%,-1
10090  SYS "XOS_Heap",5,endprog%,,newlen%
10100ELSE
10110  IF FNcheckfreespace<=heapsize% THEN
10120    PROCalert("Message from Tree","Unable to find enough free memory.",0)
10130    blocksize%-=newlen%
10140    ENDPROC
10150  ENDIF
10160SYS "Wimp_SlotSize",tasksize%+heapsize%,-1
10170
10180ENDIF
10190SYS "XOS_Heap",4,endprog%,icondata%,newlen% TO ,,icondata%
10200IF icondata%=0 THEN
10210PROCalert("Message from Tree","Unable to find enough free memory.",0)
10220blocksize%-=newlen%
10230IF duf% THEN heapsize%-=newlen%
10240ENDPROC
10250ENDIF
10260newbase%=icondata%
10270SYS &00000008,12,p$,newbase%
10280iii%=newbase%!0
10290PROCgetvars(0,FALSE)
10300pa$=$filename%
10310cft=LEN(pa$)
10320WHILE MID$(pa$,cft,1)<>"."
10330cft-=1
10340ENDWHILE
10350pooup$=MID$(pa$,1,cft-1)
10360PROCtitle(main%,pooup$)
10370FOR myup=0 TO iii%-1
10380IF iii%-1<>0 THEN SYS&000406C4,(myup/(iii%-1))*100
10390PROCgetvars(myup,FALSE)
10400Qpos=(numbericons%!0)*50
10410block%!0=main%
10420block%!4=0
10430SYS &400CE,,block%
10440fag%=block%+4
10450um1%=fag%!4
10460um2%=fag%!12
10470block%!0=main%
10480block%!4=myup
10490SYS &400CE,,block%
10500fag%=block%+4
10510fag%!0=main%
10520fag%!8=fag%!8-44
10530fag%!4=um1%+Qpos
10540nut=fag%!8
10550fag%!16=fag%!16-44
10560fag%!12=um2%+Qpos
10570fcack$=FNgLn($filename%)
10580IF fag%!12>thebigone THEN thebigone=fag%!12
10590fag%!24=text%
10600IF type%!0>&FFF OR type%!0<&0 THEN
10610  IF LEFT$(fcack$,1)="!" THEN
10620    IF NOT FNspriteexists(fcack$) AND iconsprites THEN
10630    tty%=OPENIN($filename%+".!Sprites")
10640      IF tty%>0 AND tty%<=255 THEN
10650        wlll%=EXT#tty%
10660        CLOSE#tty%
10670      ENDIF
10680      IF tty%>0 AND tty%<=255 AND localsprites THEN
10690        IF FNfiletypeofafile($filename%+".!Sprites")=&FF9 THEN
10700          IF FNcheckfreespace>wlll% THEN
10710            REMOSCLI("ICONSPRITES "+$filename%+".!Sprites")
10720            IF localsprites THEN PROCloadsprites2
10730          ELSE
10740            PROCalert("Message from Tree","No room for sprites. Forgetting to load any more !Sprite files.",0)
10750            localsprites=FALSE
10760            valid$="Sdirectory"
10770          ENDIF
10780        ENDIF
10790      ENDIF
10800    ENDIF
10810    valid$="S"+fcack$
10820    IF NOT FNspriteexists(MID$(valid$,2,LEN(valid$))) THEN valid$="Sapplication"
10830  ELSE
10840    valid$="Sdirectory"
10850  ENDIF
10860ELSE
10870  valid$="Sfile_"+FNpad(type%!0)
10880ENDIF
10890IF type%!0=-2 AND valid$="Sdirectory" THEN valid$="Sfile_xxx"
10900IF NOT FNspriteexists(MID$(valid$,2,LEN(valid$))) THEN valid$="Sfile_xxx"
10910$valid%=valid$
10920fag%!28=valid%
10930fag%!32=LEN(fcack$)
10940SYS &400C2,,fag%
10950NEXTmyup
10960block%!0=workminx
10970block%!4=nut-4
10980block%!8=thebigone+20
10990block%!12=workmaxy
11000SYS &400d7,main%,block%
11010SYS &000400D1,main%,block%!0,block%!4,block%!8,block%!12
11020PROCopenwindow(main%,TRUE)
11030PROCiconputtext(saveas%,1,p$)
11040SYS&000406C2
11050flufend%=FALSE
11060ENDPROC
11070DEF FNicontext(window%,icon%)
11080block%!0=window% : block%!4=icon%
11090SYS &000400CE,,block%
11100IF ((block%!24) AND &100)=0 ERROR 1,"Icon isn't indirected"
11110=$(block%!28)
11120DEF PROCiconputtext(window%,icon%,text$)
11130block2%!0=window% : block2%!4=icon%
11140SYS &000400CE,,block2%
11150IF ((block2%!24) AND &100)=0 ERROR 1,"Icon isn't indirected"
11160$(block2%!28)=text$
11170block2%!0=window% : block2%!4=icon%
11180block2%!8=0 : block2%!12=0
11190SYS &000400CD,,block2%
11200ENDPROC
11210DEFPROCseticonsprite(w%,i%,s$)
11220block%!0=w%
11230block%!4=i%
11240SYS &000400CE,,block%
11250$block%!32=s$
11260block%!0=w%
11270block%!8=0
11280block%!12=0
11290SYS&000400CD,,block%
11300ENDPROC
11310DEFPROCdrawbox(wi%,ic%,sn$)
11320SYS &00000035,MODE,11 TO ,,xpixlimit
11330SYS &00000035,MODE,12 TO ,,ypixlimit
11340SYS &00000035,MODE,4 TO ,,xfact
11350SYS &00000035,MODE,5 TO ,,yfact
11360maxX=(xpixlimit+1)<<xfact
11370maxY=(ypixlimit+1)<<yfact
11380block%!0=wi%
11390SYS&000400CB,,block%
11400ys%=block%!16-block%!8:X%=block%!4:Y%=block%!8
11410yoff%=block%!24
11420block%!0=wi%:block%!4=ic%
11430SYS&000400CE,,block%
11440block%!8+=X%
11450block%!12+=Y%+ys%-yoff%
11460block%!16+=X%
11470block%!20+=Y%+ys%-yoff%
11480block%!4=5
11490SYS&000400CF,,block2%
11500block%!24=0-(block2%!0-block%!8)
11510block%!28=0-(block2%!4-block%!12)
11520block%!32=maxX+(block%!16-block2%!0)-2
11530block%!36=maxY+(block%!20-block2%!4)-4
11540block%!0=ic%
11550IF sn$="" THEN
11560SYS&000400D0,,block%
11570ELSE
11580SYS "DragASprite_Start",%11000101,1,sn$,block%+8
11590ENDIF
11600lastwindow%=wi%
11610ENDPROC
11620DEF PROCiconcaret(window%,icon%,chars%)
11630SYS &000400D2,window%,icon%,,,-1,chars%
11640ENDPROC
11650DEFPROCdofiles(pa$)
11660LOCAL ERROR
11670ON ERROR LOCAL PROCalert("Error from Tree",REPORT$,0):ENDPROC
11680columns=FALSE
11690localsprites=TRUE
11700SYS "XOS_Heap",4,endprog%,icondata%,-blocksize% TO ,,icondata%
11710SYS "XOS_Heap",5,endprog%,,-heapsize%+smegblocksize%
11720heapsize%=smegblocksize%
11730SYS "Wimp_SlotSize",tasksize%+heapsize%,-1
11740blocksize%=4
11750IF icondata%=0 THEN PROCalert("Message from Tree","Unable to find enough free memory.",0):ENDPROC
11760block%!0=main%
11770SYS &000400C3,,block%
11780SYS &000400C1,,mainwindow% TO main%
11790SYS&000406C0
11800cft=LEN(pa$)
11810thebigone=0
11820WHILE MID$(pa$,cft,1)<>"."
11830cft-=1
11840ENDWHILE
11850pooup$=MID$(pa$,1,cft-1)
11860PROCtitle(main%,pooup$)
11870block%!0=main%
11880SYS &400cc,,block%
11890workminx=block%!44
11900workminy=block%!48
11910workmaxx=block%!52
11920workmaxy=block%!56
11930iii%=0
11940tttemp%=0
11950archiver%=FNmodulepresent("SparkFS")
11960tempcack$=""
11970PROCread(pooup$,0,FALSE,0)
11980REMPROCgafup
11990PROCdirs(FALSE)
12000IF iii%>0 THEN
12010block%!0=workminx
12020block%!4=nut-4
12030block%!8=thebigone+20
12040block%!12=workmaxy
12050SYS &400d7,main%,block%
12060SYS &000400D1,main%,block%!0,block%!4,block%!8,block%!12
12070PROCopenwindow(main%,TRUE)
12080mody%=TRUE
12090ELSE
12100PROCclosewindow(main%)
12110PROCalert("Error from Tree","Unable to create tree of '"+pooup$+"'",0)
12120mody%=FALSE
12130ENDPROC
12140ENDIF
12150SYS&000406C2
12160ENDPROC
12170DEF FNgetstring(array%)
12180LOCAL path$,pointer%
12190path$=""
12200pointer%=array%
12210REPEAT
12220path$+=CHR$?pointer%
12230pointer%+=1
12240UNTIL ?pointer%=0 OR ?pointer%=13
12250=path$
12260DEFPROCgetvars(richicon%,resetflag%)
12270LOCAL ERROR
12280ON ERROR LOCAL PROCalert("Error from Tree",REPORT$,0):ENDPROC
12290fixbase%=icondata%
12300total%=fixbase%
12310base%=fixbase%+((richicon%)*400)+4
12320text%=base%
12330valid%=base%+24
12340filename%=base%+48
12350type%=base%+304
12360numbericons%=base%+308
12370readlength%=base%+312
12380attributes%=base%+316
12390ladr%=base%+320
12400eadr%=base%+324
12410treedef%=base%+328
12420IF richicon%=0 THEN richicon%+=1
12430base2%=(icondata%)+((richicon%-1)*400)+4
12440text2%=base2%
12450valid2%=base2%+24
12460filename2%=base2%+48
12470type2%=base2%+304
12480numbericons2%=base2%+308
12490readlength2%=base2%+312
12500attributes2%=base2%+316
12510ladr2%=base2%+320
12520eadr2%=base2%+324
12530treedef2%=base2%+328
12540IF resetflag% THEN
12550$(treedef%)=STRING$(63,"O")
12560ENDIF
12570ENDPROC
12580DEFPROCread(path$,tb,flag,mycounter)
12590LOCAL ERROR
12600ON ERROR LOCAL PROCalert("Error from Tree",REPORT$,0):ENDPROC
12610PROCgogo
12620ENDPROC
12630DEFPROCgogo
12640LOCAL offset,temp$
12650offset=0
12660REPEAT
12670$(buf%+20)=CHR$0
12680SYS&0002000C,10,path$+CHR$0,buf%,maxnumber,offset,41,"" TO R0,R1,R2,R3,offset
12690temp$=FNgetstring(buf%+20)
12700IF offset=0 THEN ENDPROC
12710IF temp$<>CHR$0 THEN
12720blocksize%=blocksize%+400
12730IF blocksize%>heapsize% THEN
12740SYS "XOS_Heap",5,endprog%,,400 TO ,,,temp%
12750IF temp%<>400 THEN PROCalert("Message from Tree","Unable to find enough free memory. About to try to display all that has been read.",0):ENDPROC
12760heapsize%+=400
12770IF FNcheckfreespace<=smegblocksize% THEN
12780PROCalert("Message from Tree","Unable to find enough free memory. About to try to display all that has been read.",0)
12790heapsize%-=400
12800blocksize%-=400
12810ENDPROC
12820ENDIF
12830SYS "Wimp_SlotSize",tasksize%+heapsize%+smegblocksize%,-1
12840ENDIF
12850SYS "XOS_Heap",4,endprog%,icondata%,400 TO ,,icondata%
12860IF icondata%=0 THEN PROCalert("Message from Tree","Unable to find enough free memory. About to try to display all that has been read.",0):ENDPROC
12870PROCgetvars(iii%,TRUE)
12880fty%=FNfilestype(buf%!16,buf%!0)
12890$filename%=path$+"."+temp$
12900type%!0=fty%
12910readlength%!0=buf%!8
12920attributes%!0=buf%!12
12930ladr%!0=buf%!0
12940eadr%!0=buf%!4
12950:
12960block%!0=main%
12970block%!4=0
12980SYS &400CE,,block%
12990fag%=block%+4
13000um1%=fag%!4
13010um2%=fag%!12
13020block%!0=main%
13030block%!4=iii%
13040SYS &400CE,,block%
13050fag%=block%+4
13060fag%!0=main%
13070fag%!8=fag%!8-44
13080fag%!4=um1%+tb
13090nut=fag%!8
13100fag%!16=fag%!16-44
13110fag%!12=um2%+tb
13120IF fag%!12>thebigone THEN thebigone=fag%!12
13130IF offset=-1 THEN
13140?(treedef%+mycounter)=ascl%
13150ELSE
13160?(treedef%+mycounter)=asct%
13170ENDIF
13180numbericons%!0=mycounter
13190IF (iii%-1)>=0 THEN
13200FOR smeg%=0 TO (numbericons2%!0)
13210IF ?(treedef2%+smeg%)=asct% AND ?(treedef%+smeg%)<>ascl% THEN ?(treedef%+smeg%)=asct%
13220NEXTsmeg%
13230ENDIF
13240$text%=temp$
13250fag%!24=text%
13260IF fty%>&FFF OR fty%<&0 THEN
13270  IF LEFT$(temp$,1)="!" THEN
13280    IF NOT FNspriteexists(temp$) AND iconsprites THEN
13290      tty%=OPENIN(path$+"."+temp$+".!Sprites")
13300      IF tty%<>0 THEN
13310        wlll%=EXT#tty%
13320        CLOSE#tty%
13330      ENDIF
13340      IF tty%<>0 AND localsprites THEN
13350        IF FNfiletypeofafile(path$+"."+temp$+".!Sprites")=&FF9 THEN
13360          IF FNcheckfreespace>wlll% THEN
13370            IF localsprites THEN PROCloadsprites
13380          ELSE
13390            PROCalert("Message from Tree","No room for sprites. Forgetting to load any more !Sprite files.",0)
13400            localsprites=FALSE
13410            valid$="Sdirectory"
13420          ENDIF
13430        ENDIF
13440      ENDIF
13450    ENDIF
13460    valid$="S"+temp$
13470    IF NOT FNspriteexists(MID$(valid$,2,LEN(valid$))) THEN valid$="Sapplication"
13480  ELSE
13490    valid$="Sdirectory"
13500  ENDIF
13510ELSE
13520  valid$="Sfile_"+FNpad(fty%)
13530ENDIF
13540IF type%!0=-2 AND valid$="Sdirectory" THEN valid$="Sfile_xxx"
13550IF NOT FNspriteexists(MID$(valid$,2,LEN(valid$))) THEN valid$="Sfile_xxx"
13560$valid%=valid$
13570fag%!28=valid%
13580fag%!32=LEN(temp$)
13590SYS &400C2,,fag%
13600iii%+=1
13610total%!0=iii%
13620ENDIF
13630IF buf%!16=2 OR (fty%=&ddc AND archiver%) OR fty%=&fc8 THEN
13640IF temp$<>CHR$0 THEN
13650PROCread(path$+"."+temp$,tb+50,TRUE,mycounter+1)
13660ENDIF
13670ENDIF
13680UNTIL offset=-1
13690ENDPROC
13700:
13710DEFPROCloadsprites
13720LOCAL ERROR
13730ON ERROR LOCAL PROCalert("Message from Tree","Error whilst trying to ICONSPRITE !Sprites file. "+REPORT$+". Not bothering with any more !Sprite files.",0)
13740OSCLI("ICONSPRITES "+path$+"."+temp$+".!Sprites")
13750localsprites=FALSE
13760ENDPROC
13770:
13780DEFPROCloadsprites2
13790LOCAL ERROR
13800ON ERROR LOCAL PROCalert("Message from Tree","Error whilst trying to ICONSPRITE !Sprites file. "+REPORT$+". Not bothering with any more !Sprite files.",0)
13810OSCLI("ICONSPRITES "+$filename%+".!Sprites")
13820localsprites=FALSE
13830ENDPROC
13840:
13850DEFPROCgafup
13860ENDPROC
13870REMsmeg%=iii%-1
13880REMPROCgetvars(smeg%,FALSE)
13890REMWHILE numbericons%!0>0
13900REMPROCgetvars(smeg%,FALSE)
13910REMFOR smeg2%=0 TO (numbericons%!0)-1
13920REM?(treedef%+smeg2%)=ascl%
13930REMNEXT smeg2%
13940REMsmeg%-=1
13950REMENDWHILE
13960FOR smeg2%=iii%-1 TO 1 STEP -1
13970PROCgetvars(smeg2%,FALSE)
13980FOR smeg3%=0 TO (numbericons%!0)
13990    IF ?(treedef%+smeg3%)=ascl% OR ?(treedef%+smeg3%)=ASC"F" THEN
14000    ?(treedef2%+smeg3%)=ASC"F"
14010    ELSE
14020    ?(treedef2%+smeg3%)=ASC"O"
14030    ENDIF
14040    IF ?(treedef%+smeg3%)=ASC"F" THEN
14050       ?(treedef%+smeg3%)=asct%
14060       ?(treedef2%+smeg3%)=ASC"F"
14070    ENDIF
14080NEXTsmeg3%
14090NEXTsmeg2%
14100ENDPROC
14110:
14120DEFFNws(s)
14130DIM sp% s
14140=sp%
14150DEF FNfilestype(obj%,type%)
14160IF obj%=1 AND (type% AND &FFF00000) <> &FFF00000 THEN
14170type%=-2
14180ELSE
14190IF obj%=1 THEN type%=(type% AND &FFF00) >> 8 ELSE type%=-1
14200ENDIF
14210=type%
14220DEFFNpad(qq)
14230far$=STR$~(qq)
14240CASE LEN(far$) OF
14250WHEN 0
14260far$="000"
14270WHEN 1
14280far$="00"+far$
14290WHEN 2
14300far$="0"+far$
14310ENDCASE
14320=far$
14330DEFPROCdolines(miny%,maxy%,scrolly%)
14340SYS&000400E6,fincols
14350top%=ABS(scrolly% DIV 44)
14360bot%=(maxy%-miny%-scrolly%) DIV 44
14370block2%!0=main%
14380SYS&400cb,,block2%
14390topx%=block2%!4-block2%!20
14400topy%=block2%!16-block2%!24
14410tobot%=bot%
14420IF tobot%>iii%-1 THEN tobot%=iii%-1
14430FOR puke%=top% TO tobot%
14440PROCgetvars(puke%,FALSE)
14450FOR subcount%=0 TO (numbericons%!0)-1
14460IF ?(treedef%+subcount%)=asct% AND subcount%<(numbericons%!0) THEN
14470PROCbar(topx%+(subcount%*50),topy%-puke%*44)
14480IF topy%-puke%*44 > tttemp% THEN tttemp%=topy%-puke%*44
14490ENDIF
14500NEXT subcount%
14510IF ?(treedef%+numbericons%!0)=ascl% THEN
14520PROCbotbar(topx%+((numbericons%!0)*50),topy%-puke%*44)
14530IF topy%-puke%*44 > tttemp% THEN tttemp%=topy%-puke%*44
14540ENDIF
14550IF ?(treedef%+numbericons%!0)=asct% THEN
14560PROCtbar(topx%+((numbericons%!0)*50),topy%-puke%*44)
14570IF topy%-puke%*44 > tttemp% THEN tttemp%=topy%-puke%*44
14580ENDIF
14590NEXT puke%
14600ENDPROC
14610DEFPROCtbar(xp%,yp%)
14620xp%+=8
14630LINE xp%,yp%,xp%,yp%-44
14640LINE xp%,yp%-22,xp%+36,yp%-22
14650ENDPROC
14660DEFPROCbotbar(xp%,yp%)
14670xp%+=8
14680LINE xp%,yp%,xp%,yp%-22
14690LINE xp%,yp%-22,xp%+36,yp%-22
14700ENDPROC
14710DEFPROCbar(xp%,yp%)
14720xp%+=8
14730LINE xp%,yp%,xp%,yp%-44
14740ENDPROC
14750DEFPROCtitle(w%,title$)
14760block%!0 = w%
14770SYS &000400CC,,block%
14780po% = !(block%+76)
14790$po% = title$+CHR$0
14800ENDPROC
14810DEFFNspriteexists(sprite$)
14820SYS&000600E9,24,,sprite$ TO R0%
14830IF R0%>600 OR R0%<0 THEN =FALSE ELSE =TRUE
14840DEFPROCmajorredraw
14850SYS&000406C0
14860FOR myup=0 TO iii%-1
14870IF iii%-1<>0 THEN SYS&000406C4,(myup/(iii%-1))*100
14880PROCgetvars(myup,FALSE)
14890temp$=FNgLn($filename%)
14900IF type%!0>&FFF OR type%!0<&0 THEN
14910IF LEFT$(temp$,1)="!" THEN
14920valid$="S"+temp$
14930ELSE
14940valid$="Sdirectory"
14950ENDIF
14960ELSE
14970valid$="Sfile_"+FNpad(type%!0)
14980ENDIF
14990IF NOT FNspriteexists(MID$(valid$,2,LEN(valid$))) THEN
15000  IF LEFT$(temp$,1)<>"!" THEN
15010    valid$="Sfile_xxx"
15020  ELSE
15030    valid$="SApplication"
15040  ENDIF
15050ENDIF
15060PROCseticonsprite(main%,myup+1,valid$)
15070NEXTmyup
15080SYS&000406C2
15090ENDPROC
15100DEFPROCalert(title$,message$,button%)
15110CLOSE #0
15120LOCAL response%
15130$(block2%+4)=message$
15140CASE button% OF
15150WHEN 2    : response%=1
15160WHEN 1    : response%=15
15170WHEN 3    : response%=(1<<5)+16
15180WHEN 4    : response%=(1<<6)+16
15190OTHERWISE : response%=16
15200ENDCASE
15210SYS &000400DF,block2%,response%,title$ TO ,response%
15220ENDPROC
15230DEFPROCexport(afile$,msgflg)
15240SYS &000406C0
15250SYS &08,11,afile$,&fff,0,0
15260mmy%=OPENOUT(afile$)
15270IF fheadings AND fsourcedir THEN
15280lll$="Tree display of '"+pooup$+"'"
15290FOR strptr%=1 TO LEN(lll$)
15300BPUT #mmy%,ASC(MID$(lll$,strptr%,strptr%))
15310NEXT strptr%
15320BPUT #mmy%,10
15330ENDIF
15340IF fheadings AND fdate THEN
15350lll$="Exported on "+TIME$
15360FOR strptr%=1 TO LEN(lll$)
15370BPUT #mmy%,ASC(MID$(lll$,strptr%,strptr%))
15380NEXT strptr%
15390BPUT #mmy%,10
15400ENDIF
15410IF fheadings THEN BPUT #mmy%,10
15420FOR puke%=0 TO iii%-1
15430PROCgetvars(puke%,FALSE)
15440IF iii%-1<>0 THEN SYS&000406C4,(puke%/(iii%-1))*100
15450line$="    "
15460FOR subcount%=0 TO (numbericons%!0)-1
15470IF ?(treedef%+subcount%)=asct% AND (subcount%)<numbericons%!0 THEN
15480line$+=flinejunc$+"  "
15490ENDIF
15500IF ?(treedef%+subcount%)<>asct% AND ?(treedef%+subcount%)<>ascl% THEN
15510line$+="   "
15520ENDIF
15530NEXT subcount%
15540ffff$=FNgLn($filename%)
15550IF ?(treedef%+numbericons%!0)=ascl% THEN
15560line$+=fendjunc$+ffff$
15570ENDIF
15580IF ?(treedef%+numbericons%!0)=asct% THEN
15590line$+=ftjunc$+ffff$
15600ENDIF
15610FOR strptr%=1 TO LEN(line$)
15620BPUT #mmy%,ASC(MID$(line$,strptr%,strptr%))
15630NEXT strptr%
15640BPUT #mmy%,10
15650NEXT puke%
15660filelength%=EXT#mmy%
15670CLOSE #mmy%
15680SYS&000406C2
15690IF msgflg THEN
15700block%!0=256
15710block%!12=0
15720block%!16=3
15730block%!20=wind%
15740block%!24=icon%
15750block%!28=x%
15760block%!32=y%
15770block%!36=filelength%
15780block%!40=&FFF
15790$(block%+44)=afile$+CHR$0
15800SYS&000400E7,17,block%,wind%,icon%
15810ENDIF
15820ENDPROC
15830DEFPROCclickoptions(ic%)
15840LOCAL ERROR
15850ON ERROR LOCAL PROCalert("Error from Tree",REPORT$,0):ENDPROC
15860CASE ic% OF
15870WHEN 2
15880headcount=oldhead
15890PROCclosewindow(options%)
15900WHEN 0
15910tt1=fincols
15920tt2=cols
15930frows=VAL(FNicontext(pane%,22))
15940IF frows<1 THEN frows=1
15950fincols=cols
15960fheadings=headings
15970fsourcedir=sourcedir
15980linejunc$=FNPpad(FNicontext(pane%,8),1)
15990tjunc$=FNPpad(FNicontext(pane%,9),2)
16000endjunc$=FNPpad(FNicontext(pane%,10),2)
16010flinejunc$=linejunc$
16020fendjunc$=endjunc$
16030ftjunc$=tjunc$
16040fdate=date
16050fboxr=boxr
16060fboxg=boxg
16070fboxb=boxb
16080IF dirs<>fdirs THEN
16090fdirs=dirs
16100PROCdirs(TRUE)
16110ENDIF
16120flineobj=lineobj
16130IF button%<>1 THEN PROCclosewindow(options%)
16140IF tt1<>tt2 THEN PROCredrawwindow(main%)
16150WHEN 1
16160SYS&000406C0
16170frows=VAL(FNicontext(pane%,22))
16180IF frows<1 THEN frows=1
16190tt1=fincols
16200tt2=cols
16210fincols=cols
16220ficonsprites=iconsprites
16230fheadings=headings
16240fsourcedir=sourcedir
16250linejunc$=FNPpad(FNicontext(pane%,8),1)
16260tjunc$=FNPpad(FNicontext(pane%,9),2)
16270endjunc$=FNPpad(FNicontext(pane%,10),2)
16280flinejunc$=linejunc$
16290fendjunc$=endjunc$
16300ftjunc$=tjunc$
16310fdate=date
16320fboxr=boxr
16330fboxg=boxg
16340fboxb=boxb
16350flineobj=lineobj
16360IF dirs<>fdirs THEN
16370fdirs=dirs
16380PROCdirs(TRUE)
16390ENDIF
16400IF button%<>1 THEN PROCclosewindow(options%)
16410IF tt1<>tt2 THEN PROCredrawwindow(main%)
16420oufile%=OPENOUT("<Tree$Dir>.Options")
16430PRINT #oufile%,headcount
16440PRINT #oufile%,fheadings
16450PRINT #oufile%,fsourcedir
16460PRINT #oufile%,fdate
16470PRINT #oufile%,flinejunc$
16480PRINT #oufile%,ftjunc$
16490PRINT #oufile%,fendjunc$
16500PRINT #oufile%,fincols
16510PRINT #oufile%,ficonsprites
16520PRINT #oufile%,frows
16530PRINT #oufile%,fboxr
16540PRINT #oufile%,fboxg
16550PRINT #oufile%,fboxb
16560PRINT #oufile%,flineobj
16570PRINT #oufile%,fdirs
16580CLOSE #oufile%
16590SYS&000406C2
16600
16610WHEN 3
16620PROCdefaults(TRUE)
16630ENDCASE
16640ENDPROC
16650DEFPROCclickpane(ic%)
16660CASE ic% OF
16670WHEN 38
16680boxr-=1
16690IF boxr>=0 AND boxr<=255 THEN
16700PROCsetbar(pane%,28,27,255,boxr)
16710PROCiconputtext(pane%,35,STR$(boxr))
16720PROCdocolourbox(boxr,boxg,boxb,TRUE)
16730ENDIF
16740IF boxr<0 THEN boxr=0
16750WHEN 41
16760boxr+=1
16770IF boxr>=0 AND boxr<=255 THEN
16780PROCsetbar(pane%,28,27,255,boxr)
16790PROCiconputtext(pane%,35,STR$(boxr))
16800PROCdocolourbox(boxr,boxg,boxb,TRUE)
16810ENDIF
16820IF boxr>255 THEN boxr=255
16830:
16840WHEN 39
16850boxg-=1
16860IF boxg>=0 AND boxg<=255 THEN
16870PROCsetbar(pane%,31,30,255,boxg)
16880PROCiconputtext(pane%,36,STR$(boxg))
16890PROCdocolourbox(boxr,boxg,boxb,TRUE)
16900ENDIF
16910IF boxg<0 THEN boxg=0
16920WHEN 42
16930boxg+=1
16940IF boxg>=0 AND boxg<=255 THEN
16950PROCsetbar(pane%,31,30,255,boxg)
16960PROCiconputtext(pane%,36,STR$(boxg))
16970PROCdocolourbox(boxr,boxg,boxb,TRUE)
16980ENDIF
16990IF boxg>255 THEN boxg=255
17000:
17010WHEN 40
17020boxb-=1
17030IF boxb>=0 AND boxb<=255 THEN
17040PROCsetbar(pane%,34,33,255,boxb)
17050PROCiconputtext(pane%,37,STR$(boxb))
17060PROCdocolourbox(boxr,boxg,boxb,TRUE)
17070ENDIF
17080IF boxb<0 THEN boxb=0
17090WHEN 43
17100boxb+=1
17110IF boxb>=0 AND boxb<=255 THEN
17120PROCsetbar(pane%,34,33,255,boxb)
17130PROCiconputtext(pane%,37,STR$(boxb))
17140PROCdocolourbox(boxr,boxg,boxb,TRUE)
17150ENDIF
17160IF boxb>255 THEN boxb=255
17170WHEN 44
17180lineobj=NOT lineobj
17190IF lineobj THEN
17200PROCselicon(pane%,44)
17210ELSE
17220PROCuselicon(pane%,44)
17230ENDIF
17240WHEN 2
17250headings=NOT headings
17260PROCheadings
17270WHEN 46,47,48,49
17280dirs=NOT dirs
17290IF dirs THEN
17300PROCselicon(pane%,46)
17310ELSE
17320PROCuselicon(pane%,46)
17330ENDIF
17340WHEN 3
17350sourcedir=NOT sourcedir
17360IF sourcedir THEN
17370headcount+=1
17380PROCselicon(pane%,3)
17390ELSE
17400headcount-=1
17410IF headcount>0 THEN
17420PROCuselicon(pane%,3)
17430ELSE
17440sourcedir=NOT sourcedir
17450headcount=1
17460ENDIF
17470ENDIF
17480WHEN 4
17490date=NOT date
17500IF date THEN
17510headcount+=1
17520PROCselicon(pane%,4)
17530ELSE
17540headcount-=1
17550IF headcount>0 THEN
17560PROCuselicon(pane%,4)
17570ELSE
17580date=NOT date
17590headcount=1
17600ENDIF
17610ENDIF
17620WHEN 13
17630IF button%=4 THEN cols-=1
17640IF button%=1 THEN cols+=1
17650IF cols>=0 AND cols <=15 THEN
17660PROCiconputtext(pane%,14,STR$(cols))
17670PROCcolourset(cols)
17680ENDIF
17690IF cols<0 THEN cols=0
17700IF cols>15 THEN cols=15
17710WHEN 15
17720IF button%=4 THEN cols+=1
17730IF button%=1 THEN cols-=1
17740IF cols>=0 AND cols <=15 THEN
17750PROCiconputtext(pane%,14,STR$(cols))
17760PROCcolourset(cols)
17770ENDIF
17780IF cols>15 THEN cols=15
17790IF cols<0 THEN cols=0
17800WHEN 17
17810iconsprites=NOT iconsprites
17820IF iconsprites THEN
17830PROCselicon(pane%,17)
17840ELSE
17850PROCuselicon(pane%,17)
17860ENDIF
17870WHEN 21
17880rows=VAL(FNicontext(pane%,22))
17890IF button%=4 THEN rows-=1
17900IF button%=1 THEN rows+=1
17910IF rows>=1 AND rows<=999 THEN
17920PROCiconputtext(pane%,22,STR$(rows))
17930ENDIF
17940IFrows>999 THEN rows=999
17950IFrows<1 THEN rows=1
17960PROCIconCaret(pane%,22,LEN(STR$(rows)))
17970WHEN 23
17980rows=VAL(FNicontext(pane%,22))
17990IF button%=4 THEN rows+=1
18000IF button%=1 THEN rows-=1
18010IF rows>=1 AND rows<=999 THEN
18020PROCiconputtext(pane%,22,STR$(rows))
18030ENDIF
18040IFrows>999 THEN rows=999
18050IFrows<1 THEN rows=1
18060PROCIconCaret(pane%,22,LEN(STR$(rows)))
18070WHEN 28,27
18080PROCdragslidericon(pane%,28,27)
18090WHEN 31,30
18100PROCdragslidericon(pane%,31,30)
18110WHEN 34,33
18120PROCdragslidericon(pane%,34,33)
18130ENDCASE
18140ENDPROC
18150DEFPROCpane
18160oldhead=headcount
18170headings=fheadings
18180boxr=fboxr
18190boxg=fboxg
18200boxb=fboxb
18210PROCsetbar(pane%,28,27,255,boxr)
18220PROCsetbar(pane%,31,30,255,boxg)
18230PROCsetbar(pane%,34,33,255,boxb)
18240PROCdocolourbox(boxr,boxg,boxb,TRUE)
18250:
18260PROCiconputtext(pane%,35,STR$(boxr))
18270PROCiconputtext(pane%,36,STR$(boxg))
18280PROCiconputtext(pane%,37,STR$(boxb))
18290:
18300PROCheadings
18310sourcedir=fsourcedir
18320IF sourcedir THEN
18330PROCselicon(pane%,3)
18340ELSE
18350PROCuselicon(pane%,3)
18360ENDIF
18370date=fdate
18380IF date THEN
18390PROCselicon(pane%,4)
18400ELSE
18410PROCuselicon(pane%,4)
18420ENDIF
18430PROCiconputtext(pane%,8,linejunc$)
18440PROCiconputtext(pane%,9,tjunc$)
18450PROCiconputtext(pane%,10,endjunc$)
18460cols=fincols
18470PROCiconputtext(pane%,14,STR$(cols))
18480PROCcolourset(cols)
18490iconsprites=ficonsprites
18500IF iconsprites THEN
18510PROCselicon(pane%,17)
18520ELSE
18530PROCuselicon(pane%,17)
18540ENDIF
18550rows=frows
18560PROCiconputtext(pane%,22,STR$(rows))
18570:
18580lineobj=flineobj
18590IF lineobj THEN
18600PROCselicon(pane%,44)
18610ELSE
18620PROCuselicon(pane%,44)
18630ENDIF
18640IF dirs THEN
18650PROCselicon(pane%,46)
18660ELSE
18670PROCuselicon(pane%,46)
18680ENDIF
18690ENDPROC
18700DEFPROCheadings
18710IF headings THEN
18720PROCselicon(pane%,2)
18730PROCusicon(pane%,3)
18740PROCusicon(pane%,4)
18750ELSE
18760PROCuselicon(pane%,2)
18770PROCsicon(pane%,3)
18780PROCsicon(pane%,4)
18790ENDIF
18800ENDPROC
18810DEFPROCcolourset(c)
18820PROCchangebcolour(pane%,14,c)
18830CASE c OF
18840WHEN 0,1,2,3,9,12,14,15
18850PROCchangefcolour(pane%,14,7)
18860OTHERWISE
18870PROCchangefcolour(pane%,14,0)
18880ENDCASE
18890ENDPROC
18900DEFPROCchangebcolour(wi%,ic%,co%)
18910block%!0=wi%
18920block%!4=ic%
18930block%!8=(co%<<28)
18940block%!12=(%1111<<28)
18950SYS &400CD,,block%
18960ENDPROC
18970DEFPROCchangefcolour(wi%,ic%,co%)
18980block%!0=wi%
18990block%!4=ic%
19000block%!8=(co%<<24)
19010block%!12=(%1111<<24)
19020SYS &400CD,,block%
19030ENDPROC
19040DEFFNPpad(st$,n)
19050LOCAL p
19060p=LEN(st$)
19070st$=st$+STRING$(n-p," ")
19080=st$
19090DEFPROCdefaults(flagg%)
19100dirs=FALSE
19110PROCuselicon(pane%,46)
19120boxr=0
19130boxg=0
19140boxb=0
19150PROCsetbar(pane%,28,27,255,boxr)
19160PROCsetbar(pane%,31,30,255,boxg)
19170PROCsetbar(pane%,34,33,255,boxb)
19180PROCdocolourbox(boxr,boxg,boxb,TRUE)
19190PROCiconputtext(pane%,35,STR$(boxr))
19200PROCiconputtext(pane%,36,STR$(boxg))
19210PROCiconputtext(pane%,37,STR$(boxb))
19220rows=50
19230headings=TRUE
19240sourcedir=TRUE
19250date=TRUE
19260headcount=2
19270tjunc$="+�"
19280endjunc$="'�"
19290linejunc$="|"
19300cols=7
19310iconsprites=TRUE
19320IF flagg% THEN
19330PROCheadings
19340IF sourcedir THEN
19350PROCselicon(pane%,3)
19360ELSE
19370PROCuselicon(pane%,3)
19380ENDIF
19390IF date THEN
19400PROCselicon(pane%,4)
19410ELSE
19420PROCuselicon(pane%,4)
19430ENDIF
19440PROCiconputtext(pane%,8,linejunc$)
19450PROCiconputtext(pane%,9,tjunc$)
19460PROCiconputtext(pane%,10,endjunc$)
19470PROCiconputtext(pane%,14,STR$(cols))
19480PROCcolourset(cols)
19490IF iconsprites THEN
19500PROCselicon(pane%,17)
19510ELSE
19520PROCuselicon(pane%,17)
19530ENDIF
19540PROCiconputtext(pane%,22,STR$(rows))
19550ENDIF
19560lineobj=TRUE
19570IF lineobj THEN
19580PROCselicon(pane%,44)
19590ELSE
19600PROCuselicon(pane%,44)
19610ENDIF
19620ENDPROC
19630DEFFNmodulepresent(modulename$)
19640SYS &0002001E,18,modulename$ TO M0,M1,M2,M3,M4,M5
19650IF M2=0 AND M3=0 AND M4=0 AND M5=0 THEN =0 ELSE =1
19660DEFFNfiletypeofafile(file$)
19670LOCAL obj%
19680SYS &00000008,5,file$ TO obj%,,mynewtype%
19690IF obj%=1 AND (mynewtype% AND &FFF00000) <> &FFF00000 THEN
19700mynewtype%=-2
19710ELSE
19720IF obj%=1 THEN mynewtype%=(mynewtype% AND &FFF00) >> 8 ELSE mynewtype%=-1
19730ENDIF
19740=mynewtype%
19750:
19760DEFFNcheckfreespace
19770SYS"Wimp_SlotSize",-1,-1 TO ,,freepool
19780=freepool
19790:
19800DEFPROCdodraw(file$)
19810SYS &08,11,file$,&aff,0,0
19820SYS "Hourglass_On"
19830recalcx%=0
19840X%=OPENOUT(file$)
19850topx%=300
19860dummytopy%=8150
19870topy%=8150
19880tttemp%=200
19890dummyx%=0
19900IF tttemp%<830 THEN tttemp%=830
19910IF columns THEN
19920PROCmakedrawfileheader(topx%-150,topy%-((rows-1)*22)-50,0,topy%+200)
19930ELSE
19940PROCmakedrawfileheader(topx%-150,topy%-((iii%-1)*22)-50,tttemp%+50,topy%+200)
19950ENDIF
19960:
19970PROCobjectheader(0,8+FNfonttablesize("Homerton.Medium"),0,0,0,0,FALSE)
19980PROCfonttable(1,"Homerton.Medium")
19990:
20000PROCobjectheader(11,64+24,0,0,0,0,TRUE)
20010PROCobject
20020:
20030PROCobjectheader(2,24+16+24+4,topx%-100,topy%+144,topx%-100+650,topy%+144,TRUE)
20040PROCpathheader(255,0,0)
20050PROCdrawfilemove(topx%-100,topy%+144)
20060PROCdrawfiledraw(topx%-100+650,topy%+144)
20070PROCendpath
20080:
20090PROCtextobject(1,255,0,0,14,14,topx%-100,topy%+150,"Tree ("+MID$(ver$,1,6)+") - by Richard Samphire 1993")
20100PROCtextobject(1,0,0,0,10,10,topx%-100,topy%+40,"Tree of :")
20110PROCtextobject(1,0,68,153,8,8,topx%-30,topy%+15,pooup$)
20120:
20130pfaf%=0
20140duff%=0
20150Alinecount%=0
20160Blinecount%=0
20170FOR puke%=0 TO iii%-1
20180IF puke%>0 AND (puke% MOD rows = 0) AND columns THEN
20190topx%=(recalcx%+200)
20200col(duff%)=topx%
20210topy%=dummytopy%
20220recalcx%=0
20230pfaf%=0
20240duff%+=1
20250IF duff%>199 THEN
20260duff%=199
20270ERROR 0,"A tree draw file can only have 199 columns."
20280ENDIF
20290ENDIF
20300IF iii%-1<>0 THEN SYS&000406C4,(puke%/(iii%-1))*100
20310PROCgetvars(puke%,FALSE)
20320FOR subcount%=0 TO (numbericons%!0)-1
20330IF ?(treedef%+subcount%)=asct% AND subcount%<(numbericons%!0) THEN
20340IF NOT lineobj THEN PROCdrawbar(topx%+(subcount%*25),topy%-pfaf%*22)
20350Alinecount%+=1
20360ENDIF
20370NEXT subcount%
20380IF ?(treedef%+numbericons%!0)=ascl% THEN
20390IF NOT lineobj THEN PROCdrawbotbar(topx%+((numbericons%!0)*25),topy%-pfaf%*22)
20400PROCsprite(topx%+((numbericons%!0)*25)+24,(topy%-pfaf%*22)-20)
20410PROCtextobject(1,0,0,0,8,8,topx%+((numbericons%!0)*25)+55,(topy%-pfaf%*22)-18,FNgLn($filename%))
20420Blinecount%+=1
20430ENDIF
20440IF ?(treedef%+numbericons%!0)=asct% THEN
20450IF NOT lineobj THEN PROCdrawtbar(topx%+((numbericons%!0)*25),topy%-pfaf%*22)
20460PROCsprite(topx%+((numbericons%!0)*25)+24,(topy%-pfaf%*22)-20)
20470PROCtextobject(1,0,0,0,8,8,topx%+((numbericons%!0)*25)+55,(topy%-pfaf%*22)-18,FNgLn($filename%))
20480Blinecount%+=1
20490ENDIF
20500pfaf%+=1
20510NEXT puke%
20520:
20530IF lineobj THEN
20540PROCobjectheader(2,24+16+(Blinecount%*48)+(Alinecount%*24)+4,x,y-22,x+18,y,TRUE)
20550PROCpathheader(fboxr,fboxg,fboxb)
20560topx%=300
20570dummytopy%=8150
20580topy%=8150
20590tttemp%=200
20600dummyx%=0
20610pfaf%=0
20620duff%=0
20630FOR puke%=0 TO iii%-1
20640IF puke%>0 AND (puke% MOD rows = 0) AND columns THEN
20650topx%=col(duff%)
20660topy%=dummytopy%
20670recalcx%=0
20680pfaf%=0
20690duff%+=1
20700ENDIF
20710IF iii%-1<>0 THEN SYS&000406C4,(puke%/(iii%-1))*100
20720PROCgetvars(puke%,FALSE)
20730FOR subcount%=0 TO (numbericons%!0)-1
20740IF ?(treedef%+subcount%)=asct% AND subcount%<(numbericons%!0) THEN
20750PROCdrawbar2(topx%+(subcount%*25),topy%-pfaf%*22)
20760ENDIF
20770NEXT subcount%
20780IF ?(treedef%+numbericons%!0)=ascl% THEN
20790PROCdrawbotbar2(topx%+((numbericons%!0)*25),topy%-pfaf%*22)
20800ENDIF
20810IF ?(treedef%+numbericons%!0)=asct% THEN
20820PROCdrawtbar2(topx%+((numbericons%!0)*25),topy%-pfaf%*22)
20830ENDIF
20840pfaf%+=1
20850NEXT puke%
20860PROCendpath
20870ENDIF
20880:
20890filelength%=EXT#X%
20900IF columns THEN
20910PTR#X%=32
20920block2%!0=FNtodraw(dummyx%+250)
20930SYS "OS_GBPB",2,X%,block2%,4
20940ENDIF
20950CLOSE#X%
20960SYS "Hourglass_Smash"
20970OSCLI("SETTYPE "+file$+" &AFF")
20980block%!0=256
20990block%!12=0
21000block%!16=3
21010block%!20=wind%
21020block%!24=icon%
21030block%!28=x%
21040block%!32=y%
21050block%!36=filelength%
21060block%!40=&aff
21070$(block%+44)=file$+CHR$0
21080SYS&000400E7,17,block%,wind%,icon%
21090ENDPROC
21100:
21110DEFPROCmakedrawfileheader(xl,yl,xh,yh)
21120$(block2%+0)="Draw"
21130block2%!4=201
21140block2%!8=0
21150$(block2%+12)="Tree        "
21160block2%!24=FNtodraw(xl)
21170block2%!28=FNtodraw(yl)
21180block2%!32=FNtodraw(xh)
21190block2%!36=FNtodraw(yh)
21200SYS "OS_GBPB",2,X%,block2%,40
21210ENDPROC
21220:
21230DEFPROCobjectheader(type,size,xl,yl,xh,yh,flg)
21240block2%!0=type
21250block2%!4=size
21260IF flg THEN
21270block2%!8=FNtodraw(xl)
21280block2%!12=FNtodraw(yl)
21290block2%!16=FNtodraw(xh)
21300block2%!20=FNtodraw(yh)
21310SYS "OS_GBPB",2,X%,block2%,24
21320ELSE
21330SYS "OS_GBPB",2,X%,block2%,8
21340ENDIF
21350ENDPROC
21360:
21370DEFFNtodraw(num)
21380=num*256
21390:
21400DEFPROCpathheader(r,g,b)
21410block2%!0=-1
21420?(block2%+4)=0
21430?(block2%+5)=r
21440?(block2%+6)=g
21450?(block2%+7)=b
21460block2%!8=0
21470block2%!12=%1101000
21480SYS "OS_GBPB",2,X%,block2%,16
21490ENDPROC
21500:
21510DEFPROCdrawfilemove(x,y)
21520block2%!0=2
21530block2%!4=FNtodraw(x)
21540block2%!8=FNtodraw(y)
21550SYS "OS_GBPB",2,X%,block2%,12
21560ENDPROC
21570:
21580DEFPROCdrawfiledraw(x,y)
21590block2%!0=8
21600block2%!4=FNtodraw(x)
21610block2%!8=FNtodraw(y)
21620SYS "OS_GBPB",2,X%,block2%,12
21630ENDPROC
21640:
21650DEFPROCendpath
21660block2%!0=0
21670SYS "OS_GBPB",2,X%,block2%,4
21680ENDPROC
21690:
21700DEFPROCobject
21710block2%!0=(0+1)*&100
21720block2%!4=0
21730|(block2%+8)=1.0
21740block2%!16=2
21750block2%!20=0
21760block2%!24=0
21770block2%!28=0
21780block2%!32=0
21790block2%!36=1
21800block2%!40=1
21810block2%!44=1
21820block2%!48=0
21830block2%!52=1
21840block2%!56=0
21850block2%!60=4096
21860SYS "OS_GBPB",2,X%,block2%,64
21870ENDPROC
21880:
21890DEFPROCdrawtbar(x,y)
21900PROCobjectheader(2,24+16+24+24+4,x,y-22,x+18,y,TRUE)
21910PROCpathheader(fboxr,fboxg,fboxb)
21920PROCdrawfilemove(x,y)
21930PROCdrawfiledraw(x,y-22)
21940PROCdrawfilemove(x,y-11)
21950PROCdrawfiledraw(x+18,y-11)
21960PROCendpath
21970ENDPROC
21980:
21990DEFPROCdrawbotbar(x,y)
22000PROCobjectheader(2,24+16+24+24+4,x,y-11,x+18,y,TRUE)
22010PROCpathheader(fboxr,fboxg,fboxb)
22020PROCdrawfilemove(x,y)
22030PROCdrawfiledraw(x,y-11)
22040PROCdrawfilemove(x,y-11)
22050PROCdrawfiledraw(x+18,y-11)
22060PROCendpath
22070ENDPROC
22080:
22090DEFPROCdrawbar(x,y)
22100PROCobjectheader(2,24+16+24+4,x,y-22,x+18,y,TRUE)
22110PROCpathheader(fboxr,fboxg,fboxb)
22120PROCdrawfilemove(x,y)
22130PROCdrawfiledraw(x,y-22)
22140PROCendpath
22150ENDPROC
22160:
22170DEFPROCfonttable(number,font$)
22180FOR blank%=0 TO 20+LEN(font$)
22190?(block2%+blank%)=0
22200NEXTblank%
22210?(block2%+0)=number
22220$(block2%+1)=font$+CHR$0
22230SYS "OS_GBPB",2,X%,block2%,FNfonttablesize(font$)
22240ENDPROC
22250:
22260DEFFNfonttablesize(FO$)
22270l=0
22280FO$=FO$+CHR$0
22290l+=LEN(FO$)
22300cs=l MOD 4
22310IF cs>0 THEN cs=4-cs
22320cs+=LEN(FO$)
22330=cs+12
22340:
22350DEFPROCtextobject(number,r,g,b,px,py,x,y,str$)
22360MXP=px*1000
22370MYP=py*1000
22380SYS &40088,,MXP,MYP TO ,MMXP,MMYP
22390MMXP=MMXP*(LEN(str$)/2)
22400sx=0
22410FOR b=0 TO LEN(str$)
22420PROCobjectheader(1,24+FNfontsize(str$),x,y,x+MMXP,y+MMYP,TRUE)
22430IF x>recalcx% THEN recalcx%=x
22440IF x+MMXP>dummyx% THEN dummyx%=x+MMXP
22450FOR blank%=0 TO 40+LEN(str$)
22460?(block2%+blank%)=0
22470NEXTblank%
22480?(block2%+0)=0
22490?(block2%+1)=r
22500?(block2%+2)=g
22510?(block2%+3)=b
22520?(block2%+4)=0
22530?(block2%+5)=255
22540?(block2%+6)=255
22550?(block2%+7)=255
22560block2%!8=number
22570block2%!12=px*640
22580block2%!16=py*640
22590block2%!20=FNtodraw(x)
22600block2%!24=FNtodraw(y)
22610$(block2%+28)=str$+CHR$0
22620SYS "OS_GBPB",2,X%,block2%,FNfontsize(str$)
22630ENDPROC
22640:
22650DEFFNfontsize(FO$)
22660l=0
22670FO$=FO$+CHR$0
22680l+=LEN(FO$)
22690cs=l MOD 4
22700IF cs>0 THEN cs=4-cs
22710cs+=LEN(FO$)
22720=cs+28
22730:
22740DEFPROCsprite(XXMY,YYMY)
22750fcack$=FNgLn($filename%)
22760IF type%!0>&FFF OR type%!0<&0 THEN
22770  IF LEFT$(fcack$,1)="!" THEN
22780    valid$=fcack$
22790  IF NOT FNspriteexists(valid$) THEN valid$="application"
22800  ELSE
22810    valid$="directory"
22820  ENDIF
22830ELSE
22840  valid$="file_"+FNpad(type%!0)
22850  IF NOT FNspriteexists(valid$) THEN valid$="file_xxx"
22860ENDIF
22870:
22880PROCsubspr
22890ENDPROC
22900:
22910DEFPROCsubspr
22920LOCAL ERROR
22930ON ERROR LOCAL IF ERR=134 THEN PROCsubspr2:ENDPROC
22940SYS &400EA TO newarea
22950SYS &2E,256+24,newarea,valid$ TO ,,sprpointer%
22960:
22970spritelength%=sprpointer%!0
22980mval=(24+spritelength%) MOD 4
22990IF mval>0 THEN mval=4-mval
23000PROCobjectheader(5,24+spritelength%+mval,XXMY,YYMY,XXMY+20,YYMY+20,TRUE)
23010SYS "OS_GBPB",2,X%,sprpointer%,spritelength%
23020block2%!0=0
23030SYS "OS_GBPB",2,X%,block2%,mval
23040ENDPROC
23050:
23060DEFPROCsubspr2
23070LOCAL ERROR
23080ON ERROR LOCAL ERROR 0,REPORT$+STR$(ERL)
23090SYS &400ea TO ,newarea
23100SYS &2e,256+24,newarea,valid$ TO ,,sprpointer%
23110:
23120spritelength%=sprpointer%!0
23130mval=(24+spritelength%) MOD 4
23140IF mval>0 THEN mval=4-mval
23150PROCobjectheader(5,24+spritelength%+mval,XXMY,YYMY,XXMY+20,YYMY+20,TRUE)
23160SYS "OS_GBPB",2,X%,sprpointer%,spritelength%
23170block2%!0=0
23180SYS "OS_GBPB",2,X%,block2%,mval
23190ENDPROC
23200:
23210DEFPROCIconCaret(window%,icon%,chars%)
23220SYS "Wimp_SetCaretPosition",window%,icon%,,,-1,chars%
23230ENDPROC
23240:
23250DEFPROCdrawtbar2(x,y)
23260PROCdrawfilemove(x,y)
23270PROCdrawfiledraw(x,y-22)
23280PROCdrawfilemove(x,y-11)
23290PROCdrawfiledraw(x+18,y-11)
23300ENDPROC
23310:
23320DEFPROCdrawbotbar2(x,y)
23330PROCdrawfilemove(x,y)
23340PROCdrawfiledraw(x,y-11)
23350PROCdrawfilemove(x,y-11)
23360PROCdrawfiledraw(x+18,y-11)
23370ENDPROC
23380:
23390DEFPROCdrawbar2(x,y)
23400PROCdrawfilemove(x,y)
23410PROCdrawfiledraw(x,y-22)
23420ENDPROC
23430:
23440
23450DEFFNattributes(attrib)
23460attribute$=""
23470IF attrib AND %1000 THEN attribute$+="L"
23480IF attrib AND %10 THEN attribute$+="W"
23490IF attrib AND %1 THEN attribute$+="R"
23500attribute$+="/"
23510IF attrib AND %10000000 THEN attribute$+="l"
23520IF attrib AND %100000 THEN attribute$+="w"
23530IF attrib AND %10000 THEN attribute$+="r"
23540=attribute$
23550:
23560DEFFNmyconvert(laddress,eaddress)
23570IF (laddress AND %11111111111100000000000000000000) = %11111111111100000000000000000000 THEN
23580templ=laddress AND (NOT %11111111111111111111111100000000)
23590?(block2%+4)=templ
23600tempe=eaddress AND (NOT %00000000111111111111111111111111)
23610?(block2%+3)=tempe>>24
23620tempe=eaddress AND (NOT %11111111000000001111111111111111)
23630?(block2%+2)=tempe>>16
23640tempe=eaddress AND (NOT %11111111111111110000000011111111)
23650?(block2%+1)=tempe>>8
23660tempe=eaddress AND (NOT %11111111111111111111111100000000)
23670?(block2%+0)=tempe
23680result%=block2%+256
23690SYS "OS_ConvertStandardDateAndTime",block2%,result%,256
23700=FNgetstring(result%)
23710ENDIF
23720=STR$~(laddress)+"    "+STR$~(eaddress)
23730:
23740DEFPROCgetprinterinfo
23750SYS "XPDriver_Info" TO R0,R1,R2,R3,R4,R5,R6,R7
23760IF R1=0 AND R2=0 AND R3=0 AND R4=0 AND R5=0 AND R6=0 THEN
23770driver%=FALSE
23780printer$="None Installed"
23790ELSE
23800driver%=TRUE
23810printer$=FNgetstring(R4)
23820ENDIF
23830ENDPROC
23840:
23850DEFPROCclickprint(ic%)
23860CASE ic% OF
23870WHEN 1
23880copies=VAL(FNicontext(print%,2))
23890IF copies<0 THEN copies=1
23900IF copies>999 THEN copies=999
23910IF button%=4 THEN copies-=1
23920IF button%=1 THEN copies+=1
23930IF copies<1 THEN copies=1
23940IF copies>999 THEN copies=999
23950PROCiconputtext(print%,2,STR$(copies))
23960PROCIconCaret(print%,2,LEN(STR$(copies)))
23970WHEN 3
23980copies=VAL(FNicontext(print%,2))
23990IF copies<1 THEN copies=1
24000IF copies>999 THEN copies=999
24010IF button%=1 THEN copies-=1
24020IF button%=4 THEN copies+=1
24030IF copies<0 THEN copies=1
24040IF copies>999 THEN copies=999
24050PROCiconputtext(print%,2,STR$(copies))
24060PROCIconCaret(print%,2,LEN(STR$(copies)))
24070WHEN 5
24080copies=VAL(FNicontext(print%,2))
24090IF copies<1 THEN copies=1
24100IF copies>999 THEN copies=999
24110doprint%=TRUE
24120poowindow%=print%
24130block%!0=256
24140block%!12=0
24150block%!16=&80142
24160block%!20=0
24170block%!24=0
24180block%!28=0
24190block%!32=0
24200block%!36=-1
24210block%!40=&FFF
24220$(block%+44)=FNgLn("<Wimp$Scrap>")+CHR$0
24230SYS "Wimp_SendMessage",18,block%,0
24240IF button%<>1 THEN SYS "Wimp_CreateMenu",-1
24250ENDIF
24260ENDCASE
24270ENDPROC
24280:
24290DEFFNmycontrol
24300block2%!0=mycontrol%
24310SYS &000400CB,,block2%
24320SYS &000400C5,,block2%
24330tBB=-1
24340REPEAT
24350SYS &000400C7,0,block2% TO reason2%,block2%
24360CASE reason2% OF
24370WHEN 1
24380SYS &000400C8,,block2% TO flag
24390WHILE flag
24400PROCdolines(block2%!8,block2%!16,block2%!24)
24410SYS &000400CA,,block2% TO flag
24420ENDWHILE
24430WHEN 2
24440SYS &000400C5,,block2%
24450WHEN 6
24460subbutton%=block2%!8
24470subwindow%=block2%!12
24480subicon%=block2%!16
24490IF subwindow%=mycontrol% THEN
24500CASE subicon% OF
24510WHEN 5 : tBB = 0
24520WHEN 6 : tBB = 1
24530WHEN 7 : tBB = 2
24540ENDCASE
24550ENDIF
24560WHEN 18
24570IF block2%!16=8 THEN
24580  block2%!12=block2%!8
24590  SYS "Wimp_SendMessage",19,block2%,0
24600  PROCsicon(mycontrol%,6)
24610  pressed=TRUE
24620ENDIF
24630ENDCASE
24640
24650UNTIL tBB>-1
24660=tBB
24670:
24680DEFPROCdragslidericon(win%,dragicon%,sizeicon%)
24690block%!0=win%
24700block%!4=sizeicon%
24710SYS "Wimp_GetIconState",,block%
24720sminx%=block%!8
24730sminy%=block%!12
24740smaxx%=block%!16
24750smaxy%=block%!20
24760SYS "Wimp_GetPointerInfo",,block%
24770mx%=block%!0
24780block%!0=win%
24790SYS "Wimp_GetWindowInfo",,block%
24800calcx%=(mx%-(block%!4-block%!20))+block%!44
24810SYS &35,MODE,4 TO ,,xfact%
24820iconminx%=sminx%+(block%!4-block%!20)
24830iconmaxx%=iconminx%+(smaxx%-sminx%)
24840iconminy%=sminy%+(block%!16-block%!24)
24850SYS &35,MODE,5 TO ,,yfact%
24860iconmaxy%=iconminy%+(smaxy%-sminy%)-(1<<yfact%)
24870block%!0=win%
24880block%!4=7
24890block%!8=iconminx%
24900block%!12=iconminy%
24910block%!16=iconmaxx%
24920block%!20=iconmaxy%
24930block%!24=block%!8
24940block%!28=block%!12
24950block%!32=block%!16
24960block%!36=block%!20
24970SYS "Wimp_DragBox",,block%
24980slidewindow%=win%
24990slideicon%=dragicon%
25000slidesize%=sizeicon%
25010lastwindow%=win%
25020block%!0=win%
25030block%!4=dragicon%
25040SYS "Wimp_GetIconState",,block%
25050oldworkx%=block%!16
25060ENDPROC
25070:
25080DEFPROCdoslide(win%,dragicon%,sizeicon%,const%,range%)
25090block%!0=win%
25100block%!4=sizeicon%
25110SYS "Wimp_GetIconState",,block%
25120sizeminx%=block%!8
25130sizeminy%=block%!12
25140sizemaxx%=block%!16
25150sizemaxy%=block%!20
25160MOUSE mx%,my%,mb%
25170block%!0=win%
25180SYS "Wimp_GetWindowInfo",,block%
25190minx%=block%!4
25200scrx%=block%!20
25210newx%=mx%+(scrx%-minx%)
25220IF newx%<>oldworkx% THEN
25230  block%!0=win%
25240  block%!4=dragicon%
25250  SYS "Wimp_GetIconState",,block%
25260  block%!16=newx%
25270  block%!0=win%
25280  block%!4=dragicon%
25290  SYS "Wimp_DeleteIcon",,block%
25300  block%!4=win%
25310  SYS "Wimp_CreateIcon",,block%+4
25320newblock%=block%+4
25330IF oldworkx%<newx% THEN
25340newblock%!4=sizeminx%
25350ELSE
25360newblock%!4=newx%
25370ENDIF
25380newblock%!8=sizeminy%
25390IF oldworkx%>newx% THEN
25400newblock%!12=sizemaxx%
25410ELSE
25420newblock%!12=newx%
25430ENDIF
25440newblock%!16=sizemaxy%
25450SYS "Wimp_UpdateWindow",,newblock% TO flag
25460WHILE flag
25470SYS "Wimp_GetRectangle",,newblock% TO flag
25480ENDWHILE
25490  IF const% THEN
25500    size%=sizemaxx%-sizeminx%
25510    ppos%=(newx%-sizeminx%)
25520    number%=(range%/size%)*ppos%
25530    :
25540    CASE slideicon% OF
25550    WHEN 28
25560    boxr=number%
25570    PROCiconputtext(pane%,35,STR$(boxr))
25580    PROCdocolourbox(boxr,boxg,boxb,TRUE)
25590    WHEN 31
25600    boxg=number%
25610    PROCiconputtext(pane%,36,STR$(boxg))
25620    PROCdocolourbox(boxr,boxg,boxb,TRUE)
25630    WHEN 34
25640    boxb=number%
25650    PROCiconputtext(pane%,37,STR$(boxb))
25660    PROCdocolourbox(boxr,boxg,boxb,TRUE)
25670    ENDCASE
25680  ENDIF
25690ENDIF
25700block%!0=win%
25710block%!4=dragicon%
25720SYS "Wimp_GetIconState",,block%
25730oldworkx%=block%!16
25740rrange%=range%
25750ENDPROC
25760:
25770DEFPROCsetbar(win%,dragicon%,sizeicon%,range%,number%)
25780IF number%<0 THEN number%=0
25790IF number%>range% THEN number%=range%
25800block%!0=win%
25810block%!4=sizeicon%
25820SYS "Wimp_GetIconState",,block%
25830sizeminx%=block%!8
25840sizeminy%=block%!12
25850sizemaxx%=block%!16
25860sizemaxy%=block%!20
25870newx%=sizeminx%+(number%/(range%/(sizemaxx%-sizeminx%)))
25880block%!0=win%
25890block%!4=dragicon%
25900SYS "Wimp_GetIconState",,block%
25910block%!16=newx%
25920block%!0=win%
25930block%!4=dragicon%
25940SYS "Wimp_DeleteIcon",,block%
25950block%!4=win%
25960SYS "Wimp_CreateIcon",,block%+4
25970newblock%=block%+4
25980IF oldworkx%<newx% THEN
25990newblock%!4=sizeminx%
26000ELSE
26010newblock%!4=newx%
26020ENDIF
26030newblock%!8=sizeminy%
26040IF oldworkx%<newx% THEN
26050newblock%!12=newx%
26060ELSE
26070newblock%!12=sizemaxx%
26080ENDIF
26090newblock%!16=sizemaxy%
26100SYS "Wimp_UpdateWindow",,newblock% TO flag
26110WHILE flag
26120SYS "Wimp_GetRectangle",,newblock% TO flag
26130ENDWHILE
26140oldworkx%=newx%
26150ENDPROC
26160:
26170DEFFNgetbarvalue(win%,dragicon%,sizeicon%,range%)
26180block%!0=win%
26190block%!4=sizeicon%
26200SYS "Wimp_GetIconState",,block%
26210sizeminx%=block%!8
26220sizemaxx%=block%!16
26230block%!0=win%
26240block%!4=dragicon%
26250SYS "Wimp_GetIconState",,block%
26260=(range%/(sizemaxx%-sizeminx%))*(block%!16-block%!8)
26270:
26280DEFFNtopal(r,g,b)
26290C=0
26300C=C OR (b<<24)
26310C=C OR (g<<16)
26320C=C OR (r<<8)
26330=C
26340:
26350DEFPROCdocolourbox(r,g,b,flg)
26360block2%!0=pane%
26370SYS&400cb,,block2%
26380btopx%=block2%!4-block2%!20
26390btopy%=block2%!16-block2%!24
26400IF flg THEN
26410block2%!0=pane%
26420block2%!4=45
26430SYS "Wimp_GetIconState",,block2%
26440newblock%=block2%+4
26450newblock%!0=pane%
26460SYS "Wimp_UpdateWindow",,newblock% TO fflag
26470WHILE fflag
26480SYS "ColourTrans_SetGCOL",FNtopal(r,g,b),,,%100000000,0
26490RECTANGLE FILL btopx%+234,btopy%-1036,234,38
26500SYS "Wimp_GetRectangle",,newblock% TO fflag
26510ENDWHILE
26520ELSE
26530SYS "ColourTrans_SetGCOL",FNtopal(r,g,b),,,%100000000,0
26540RECTANGLE FILL btopx%+234,btopy%-1036,234,38
26550ENDIF
26560ENDPROC
26570:
26580DEFPROCdotitle(funny)
26590PROCcentrewindow(title%)
26600SYS &000400C7,0,block2% TO reason2%,block2%
26610t=TIME
26620REPEAT
26630UNTIL TIME>t+funny
26640PROCclosewindow(title%)
26650ENDPROC
26660:
26670DEFPROCinitsprites
26680SYS "OS_ReadModeVariable",-1,5 TO ,,yeig%
26690IF yeig%<2 THEN sprite$="Sprites" ELSE sprite$="Sprites"
26700SYS "OS_File",17,"<Tree$Dir>."+sprite$ TO type%,,,,length%
26710DIM sprite% length%+4
26720!sprite%=length%+4
26730SYS "OS_SpriteOp",266,sprite%,"<Tree$Dir>."+sprite$
26740ENDPROC
26750:
26760DEFPROCcentrewindow(win%)
26770SYS &00000035,MODE,11 TO ,,xpixlimit
26780SYS &00000035,MODE,12 TO ,,ypixlimit
26790SYS &00000035,MODE,4 TO ,,xfact
26800SYS &00000035,MODE,5 TO ,,yfact
26810maxX=(xpixlimit+1)<<xfact
26820maxY=(ypixlimit+1)<<yfact
26830:
26840block%!0=win%
26850SYS &000400CB,,block%
26860:
26870IF NOT FNisopen(win%) THEN
26880wx%=block%!12-block%!4
26890wx2%=wx% DIV 2
26900cX=maxX DIV 2
26910block%!4=cX-wx2%
26920block%!12=block%!4+wx%
26930wy%=block%!16-block%!8
26940wy2%=wy% DIV 2
26950cY=maxY DIV 2
26960block%!8=cY-wy2%
26970block%!16=block%!8+wy%
26980ENDIF
26990:
27000SYS &000400C5,,block%
27010ENDPROC
27020:
27030DEFPROCdragmyfile
27040PROCgetvars(icon%-1,FALSE)
27050fty%=type%!0
27060temp$=FNgLn($filename%)
27070IF fty%>&FFF OR fty%<&0 THEN
27080  IF LEFT$(temp$,1)="!" THEN
27090    valid$=temp$
27100    IF NOT FNspriteexists(valid$) THEN valid$="application"
27110  ELSE
27120    valid$="directory"
27130  ENDIF
27140ELSE
27150  valid$="file_"+FNpad(fty%)
27160ENDIF
27170IF type%!0=-2 AND valid$="directory" THEN valid$="file_xxx"
27180IF NOT FNspriteexists(valid$) THEN valid$="file_xxx"
27190:
27200PROCsubspr3
27210SYS &00000035,MODE,4 TO ,,xfact
27220SYS &00000035,MODE,5 TO ,,yfact
27230wpix%=wpix2%<<xfact
27240hpix%=hpix2%<<yfact
27250:
27260block%!0=x%-(wpix% DIV 2)
27270block%!4=y%-(hpix% DIV 2)
27280block%!8=block%!0+wpix%
27290block%!12=block%!4+hpix%
27300:
27310SYS "DragASprite_Start",%11000101,newarea,valid$,block%
27320lastwindow%=main%
27330ENDPROC
27340:
27350DEFPROCsubspr3
27360LOCAL ERROR
27370ON ERROR LOCAL IF ERR=134 THEN PROCsubspr4:ENDPROC
27380SYS &400EA TO newarea
27390SYS &2e,256+40,newarea,valid$ TO ,,,wpix2%,hpix2%
27400ENDPROC
27410:
27420DEFPROCsubspr4
27430LOCAL ERROR
27440ON ERROR LOCAL ERROR 0,REPORT$
27450SYS &400ea TO ,newarea
27460SYS &2e,256+40,newarea,valid$ TO ,,,wpix2%,hpix2%
27470ENDPROC
27480:
27490DEFPROCdirs(inflg)
27500IF iii%>0 THEN
27510  SYS "Hourglass_On"
27520  IF fdirs THEN
27530    FOR smeg%=1 TO iii%
27540      IF iii%-1<>0 THEN SYS&000406C4,(smeg%/(iii%-1))*100
27550        PROCgetvars(smeg%-1,FALSE)
27560        IF type%!0<>-1 THEN PROCsicon(main%,smeg%)
27570      NEXTsmeg%
27580    ELSE
27590      IF inflg THEN
27600        FOR smeg%=1 TO iii%
27610          IF iii%-1<>0 THEN SYS&000406C4,(smeg%/(iii%-1))*100
27620          PROCgetvars(smeg%-1,FALSE)
27630          IF type%!0<>-1 THEN PROCusicon(main%,smeg%)
27640        NEXTsmeg%
27650      ENDIF
27660    ENDIF
27670  SYS "Hourglass_Smash"
27680ENDIF
27690ENDPROC
27700:
27710DEFPROCopensearch
27720cursearch=currentsearch-1
27730IF cursearch=0 THEN PROCsicon(search%,4) ELSE PROCusicon(search%,4)
27740IF cursearch=iii%-1 THEN PROCsicon(search%,5) ELSE PROCusicon(search%,5)
27750PROCgetvars(cursearch,FALSE)
27760PROCiconputtext(search%,8,FNgLn($filename%))
27770IF NOT FNisopen(search%) THEN
27780casesens=FALSE
27790PROCuselicon(search%,11)
27800searchfile=TRUE
27810searchtype=FALSE
27820PROCselicon(search%,0)
27830PROCuselicon(search%,1)
27840PROCusicon(search%,2)
27850PROCsicon(search%,3)
27860PROCiconputtext(search%,2,"")
27870PROCiconputtext(search%,3,"")
27880REMPROCcentrewindow(search%)
27890searchwindow%=TRUE
27900PROCopenwindow(main%,FALSE)
27910ENDIF
27920ENDPROC
27930:
27940DEFPROCclicksearch(ic%)
27950CASE ic% OF
27960WHEN 14
27970PROCclosewindow(search%)
27980WHEN 11,12
27990casesens=NOT casesens
28000IF casesens THEN
28010PROCselicon(search%,11)
28020ELSE
28030PROCuselicon(search%,11)
28040ENDIF
28050WHEN 0
28060IF searchtype THEN
28070searchfile=NOT searchfile
28080ENDIF
28090IF searchfile THEN
28100PROCselicon(search%,0)
28110PROCusicon(search%,2)
28120PROCiconcaret(search%,2,LEN(FNicontext(search%,2)))
28130ELSE
28140PROCuselicon(search%,0)
28150PROCsicon(search%,2)
28160PROCiconcaret(search%,3,LEN(FNicontext(search%,3)))
28170ENDIF
28180WHEN 1
28190IF searchfile THEN
28200searchtype=NOT searchtype
28210ENDIF
28220IF searchtype THEN
28230PROCselicon(search%,1)
28240PROCusicon(search%,3)
28250PROCiconcaret(search%,3,LEN(FNicontext(search%,3)))
28260ELSE
28270PROCuselicon(search%,1)
28280PROCsicon(search%,3)
28290PROCiconcaret(search%,2,LEN(FNicontext(search%,2)))
28300ENDIF
28310WHEN 4
28320IF searchfile AND FNicontext(search%,2)="" THEN PROCalert("Message from Tree","Please enter a search filename.",0)
28330IF searchtype AND FNicontext(search%,3)="" THEN PROCalert("Message from Tree","Please enter a search filetype.",0)
28340IF (searchfile AND FNicontext(search%,2)<>"") OR (searchtype AND FNicontext(search%,3)<>"") THEN PROCsearchup(cursearch,FNicontext(search%,2),FNicontext(search%,3))
28350WHEN 5
28360IF searchfile AND FNicontext(search%,2)="" THEN PROCalert("Message from Tree","Please enter a search filename.",0)
28370IF searchtype AND FNicontext(search%,3)="" THEN PROCalert("Message from Tree","Please enter a search filetype.",0)
28380IF (searchfile AND FNicontext(search%,2)<>"") OR (searchtype AND FNicontext(search%,3)<>"") THEN PROCsearchdown(cursearch,FNicontext(search%,2),FNicontext(search%,3))
28390ENDCASE
28400ENDPROC
28410:
28420DEFFNisopen(win%)
28430block3%!0=win%
28440SYS "Wimp_GetWindowState",,block3%
28450winflags%=block3%!32
28460IF (winflags% AND %10000000000000000) = 65536 THEN
28470=TRUE
28480ELSE
28490=FALSE
28500ENDIF
28510:
28520DEFPROCviewicon(win%,ic%)
28530block%!0=win%
28540block%!4=ic%
28550SYS "Wimp_GetIconState",,block%
28560middle%=block%!12+(block%!20-block%!12)
28570block%!0=win%
28580SYS "Wimp_GetWindowState",,block%
28590block%!24=middle%+((block%!16-block%!8) DIV 2)
28600SYS "Wimp_OpenWindow",,block%
28610ENDPROC
28620:
28630DEFPROCsearchup(c,searchstring1$,searchstring2$)
28640subsearchstring1$=searchstring1$
28650subsearchstring2$=searchstring2$
28660PROCuselicon(main%,c+1)
28670found=-1
28680IF c-1>=0 THEN
28690smeg%=c-1
28700SYS "Hourglass_On"
28710REPEAT
28720PROCgetvars(smeg%,FALSE)
28730IF found=-1 THEN
28740IF casesens THEN
28750ttfilename$=FNgLn($filename%)
28760ttfbo$=FNpad(type%!0)
28770ELSE
28780ttfilename$=FNtolower(FNgLn($filename%))
28790ttfbo$=FNtolower(FNpad(type%!0))
28800searchstring1$=FNtolower(searchstring1$)
28810searchstring2$=FNtolower(searchstring2$)
28820ENDIF
28830IF INSTR(subsearchstring1$,"*")>0 THEN
28840fudge=INSTR(subsearchstring1$,"*")-1
28850IF casesens THEN
28860searchstring1$=MID$(subsearchstring1$,1,fudge)
28870ttfilename$=MID$(ttfilename$,1,fudge)
28880ELSE
28890searchstring1$=FNtolower(MID$(subsearchstring1$,1,fudge))
28900ttfilename$=FNtolower(MID$(ttfilename$,1,fudge))
28910ENDIF
28920ENDIF
28930IF INSTR(subsearchstring2$,"*")>0 THEN
28940fudge=INSTR(subsearchstring2$,"*")-1
28950IF casesens THEN
28960searchstring2$=MID$(subsearchstring2$,1,fudge)
28970ttfbo$=MID$(ttfbo$,1,fudge)
28980ELSE
28990searchstring2$=FNtolower(MID$(subsearchstring2$,1,fudge))
29000ttfbo$=FNtolower(MID$(ttfbo$,1,fudge))
29010ENDIF
29020ENDIF
29030IF ttfilename$=searchstring1$ AND searchfile AND NOT searchtype THEN found=smeg%
29040IF ttfbo$=searchstring2$ AND NOT searchfile AND searchtype THEN found=smeg%
29050IF ttfilename$=searchstring1$ AND ttfbo$=searchstring2$ AND searchfile AND searchtype THEN found=smeg%
29060ENDIF
29070smeg%-=1
29080UNTILfound>-1 OR smeg%<0
29090SYS "Hourglass_Smash"
29100ENDIF
29110IF found=-1 THEN
29120PROCalert("Message from Tree","'"+FNicontext(search%,2)+"' was not found above the current file.",0)
29130ELSE
29140PROCviewicon(main%,found+1)
29150PROCselicon(main%,found+1)
29160cursearch=found
29170IF cursearch=0 THEN PROCsicon(search%,4) ELSE PROCusicon(search%,4)
29180IF cursearch=iii%-1 THEN PROCsicon(search%,5) ELSE PROCusicon(search%,5)
29190PROCgetvars(cursearch,FALSE)
29200PROCiconputtext(search%,8,FNgLn($filename%))
29210ENDIF
29220ENDPROC
29230:
29240DEFFNtolower(A$)
29250FOR q=1 TO LEN(A$)
29260IF ASC(MID$(A$,q,1))>=ASC"A" AND ASC(MID$(A$,q,1))<=ASC"Z" THEN MID$(A$,q,1)=CHR$(ASC(MID$(A$,q,1))+(ASC"a"-ASC"A"))
29270NEXT q
29280=A$
29290:
29300DEFPROCsearchdown(c,searchstring1$,searchstring2$)
29310subsearchstring1$=searchstring1$
29320subsearchstring2$=searchstring2$
29330PROCuselicon(main%,c+1)
29340found=-1
29350IF c+1<=iii%-1 THEN
29360smeg%=c+1
29370SYS "Hourglass_On"
29380REPEAT
29390PROCgetvars(smeg%,FALSE)
29400IF found=-1 THEN
29410IF casesens THEN
29420ttfilename$=FNgLn($filename%)
29430ttfbo$=FNpad(type%!0)
29440ELSE
29450ttfilename$=FNtolower(FNgLn($filename%))
29460ttfbo$=FNtolower(FNpad(type%!0))
29470searchstring1$=FNtolower(searchstring1$)
29480searchstring2$=FNtolower(searchstring2$)
29490ENDIF
29500IF INSTR(subsearchstring1$,"*")>0 THEN
29510fudge=INSTR(subsearchstring1$,"*")-1
29520IF casesens THEN
29530searchstring1$=MID$(subsearchstring1$,1,fudge)
29540ttfilename$=MID$(ttfilename$,1,fudge)
29550ELSE
29560searchstring1$=FNtolower(MID$(subsearchstring1$,1,fudge))
29570ttfilename$=FNtolower(MID$(ttfilename$,1,fudge))
29580ENDIF
29590ENDIF
29600IF INSTR(subsearchstring2$,"*")>0 THEN
29610fudge=INSTR(subsearchstring2$,"*")-1
29620IF casesens THEN
29630searchstring2$=MID$(subsearchstring2$,1,fudge)
29640ttfbo$=MID$(ttfbo$,1,fudge)
29650ELSE
29660searchstring2$=FNtolower(MID$(subsearchstring2$,1,fudge))
29670ttfbo$=FNtolower(MID$(ttfbo$,1,fudge))
29680ENDIF
29690ENDIF
29700IF ttfilename$=searchstring1$ AND searchfile AND NOT searchtype THEN found=smeg%
29710IF ttfbo$=searchstring2$ AND NOT searchfile AND searchtype THEN found=smeg%
29720IF ttfilename$=searchstring1$ AND ttfbo$=searchstring2$ AND searchfile AND searchtype THEN found=smeg%
29730ENDIF
29740smeg%+=1
29750UNTILfound>-1 OR smeg%>iii%+1
29760SYS "Hourglass_Smash"
29770ENDIF
29780IF found=-1 THEN
29790PROCalert("Message from Tree","'"+FNicontext(search%,2)+"' was not found below the current file.",0)
29800ELSE
29810PROCviewicon(main%,found+1)
29820PROCselicon(main%,found+1)
29830cursearch=found
29840IF cursearch=0 THEN PROCsicon(search%,4) ELSE PROCusicon(search%,4)
29850IF cursearch=iii%-1 THEN PROCsicon(search%,5) ELSE PROCusicon(search%,5)
29860PROCgetvars(cursearch,FALSE)
29870PROCiconputtext(search%,8,FNgLn($filename%))
29880ENDIF
29890ENDPROC

>�>SCSI::SCSIDrive4.$.!Develop.Files.Treev1.!Tree.!RunImage
^� � �alert("Major BAD error from Tree",�$+" "+�(�),0):ș &000400DD,taskhandle%,&4B534154:�
:
(tasksize%=256*1024
2smegblocksize%=400
<endprog%=�
F:
P<�         by Richard Samphire 1993     ----------- BOO !
Z:
dș&000406C0
nș &00000010 � env$
x� �env$," -quit ") �
�5doubleclick$=�env$,�env$,�(34),�env$,�(34))+1)+1)
��
�year$="93"
�#ver$="v1.06a (19-09-"+year$+")"
�name$="Tree"
�"mag$="� Archimedes World 1993"
�*purpose$="Shows tree display of files"
��initsprites
�"taskhandle%=�initialise(name$)
�#iconbar%=�iconbar("!"+name$,-1)
�Amainmenu%=�createmenu(name$,3,"Info>info%|Options�|Quit",150)
�Usavemenu%=�createmenu("Save",3,"Text>savetree%|-Draw>savedraw%|Tree>saveas%",150)
�fmiscmenu%=�createmenu("Misc",4,"Info>info%|-Statistics>stats%|ReDraw Icons|Print text>print%",250)
othermenu%=�createmenu("Tree",7,"-Misc>miscmenu%|-File>savemenu%|Open Parent|File Info>finfo%|-Search�|-Options�|Quit",250)
4�iconputtext(info%,11,�icontext(info%,11)+year$)
�iconputtext(info%,3,ver$)
"�iconputtext(info%,0,name$)
,"�iconputtext(info%,1,purpose$)
6�iconputtext(info%,8,mag$)
@ș &000406C2
J�iconputtext(title%,1,mag$)
T�dotitle(200)
^l� �checkfreespace<=smegblocksize% � �alert("Message from Tree","Unable to find enough free memory.",0):�
hheapsize%=smegblocksize%
r-ș "Wimp_SlotSize",tasksize%+heapsize%,-1
|'ș "XOS_Heap",0,endprog%,,heapsize%
�blocksize%=4
�-ș "XOS_Heap",2,endprog%,,4 � ,,icondata%
�� doubleclick$<>" " �
��loadmyfile(doubleclick$)
��
��
�*ș &000400C7,0,block% � reason%,block%
�Ȏ reason% �
�� 0
�	�null
�� 1
��redrawwindow(0)
�� 2
�openwindow(0,�)
� 3
�closewindow(0)
&� 4
0�pointerleave
:� 5
D�pointerenter
N� 6
X�mouseclick
b� 7
l�userdragbox
v� 8
��keypressed
�� 9
��menuselection
�� 10
��scrollrequest
�� 11
��losecaret
�� 12
��gaincaret
�� 17
��usermessage
�� 18
��usermessagerecorded
� 19
�usermessageacknowledge
�
 
� exit
*&ș &000400DD,taskhandle%,&4B534154
4�
>� �initialise(name$)
Hmaxnumber=4096
Rmody%=�
\� col(199)
f� block% 2048
p� block2% 2048
z� block3% 2048
�
� buf% 41
�� messages% 60
�messages%!0=1
�messages%!4=8
�messages%!8=14
�messages%!12=&404
�messages%!16=&405
�messages%!20=&403
�messages%!24=2
�messages%!28=3
�messages%!32=4
�messages%!36=&80140
�messages%!40=&80144
messages%!44=5
messages%!48=&80147
messages%!52=&400c9
$messages%!56=&80142
.>ș &400C0,300,&4B534154,name$,messages% � wimpversion%,th%
8searchwindow%=�
Bsearchfile=�
Lsearchtype=�
Vasct%=�("T")
`ascl%=�("L")
jcurrentsearch=-1
tcasesens=�
~
iii%=0
�
dirs=�
�exit = �
�flufend%=�
�menunumber% = 0
�iconsprites=�
�headings=�
�sourcedir=�
�
date=�
�
pressed=�
�fheadings=�
�fsourcedir=�
�fdate=�
headcount=2

makeexit=�
tjunc$="+�"
endjunc$="'�"
(linejunc$="|"
2ftjunc$="+�"
<fendjunc$="'�"
Fflinejunc$="|"
P
cols=7
Z
fincols=7
drows=50
ndoprint%=�
xfrows=50
�
columns=�
�ficonsprites=�
�
lineobj=�
�flineobj=�
�
tttemp%=0
�
info=�
�
boxr=0
�
boxg=0
�
boxb=0
�fboxr=0
�fboxg=0
�fboxb=0
�#oufile%=�("<Tree$Dir>.Options")
� oufile%<>0 �
� #oufile%,headcount
� #oufile%,headings
"� #oufile%,sourcedir
,� #oufile%,date
6� #oufile%,linejunc$
@� #oufile%,tjunc$
J� #oufile%,endjunc$
T� #oufile%,cols
^� #oufile%,iconsprites
h� #oufile%,rows
r� #oufile%,boxr
|� #oufile%,boxg
�� #oufile%,boxb
�� #oufile%,lineobj
�� #oufile%,dirs
�� #oufile%
�fheadings=headings
�fsourcedir=sourcedir
�fdate=date
�flinejunc$=linejunc$
�ftjunc$=tjunc$
�fendjunc$=endjunc$
�fincols=cols
�ficonsprites=iconsprites
�frows=rows
fboxr=boxr
fboxg=boxg
fboxb=boxb
&flineobj=lineobj
0fdirs=dirs
:�
D�defaults(�)
N�
X� win% 4096*6
b� ind% 4096*6
l� mainwindow% 512
v� indmain% 512
�(ș &000400D9,,"<Tree$Dir>.Templates"
�:ș &000400DB,,win%,ind%,ind%+4096,-1,"info",0 � ,,ind%
�win%!64=sprite%
�ș &000400C1,,win% � info%
�<ș &000400DB,,win%,ind%,ind%+4096,-1,"saveas",0 � ,,ind%
� ș &000400C1,,win% � saveas%
�>ș &000400DB,,win%,ind%,ind%+4096,-1,"savetree",0 � ,,ind%
�"ș &000400C1,,win% � savetree%
�Mș &000400DB,,mainwindow%,indmain%,indmain%+4096,-1,"main",0 � ,,indmain%
�%ș &000400C1,,mainwindow% � main%
�:ș &000400DB,,win%,ind%,ind%+4096,-1,"pane",0 � ,,ind%
�win%!64=sprite%
�ș &000400C1,,win% � pane%
=ș &000400DB,,win%,ind%,ind%+4096,-1,"options",0 � ,,ind%
!ș &000400C1,,win% � options%
;ș &000400DB,,win%,ind%,ind%+4096,-1,"stats",0 � ,,ind%
 ș &000400C1,,win% � stats%
*>ș &000400DB,,win%,ind%,ind%+4096,-1,"savedraw",0 � ,,ind%
4win%!64=sprite%
>"ș &000400C1,,win% � savedraw%
H>ș &000400DB,,win%,ind%,ind%+4096,-1,"fileinfo",0 � ,,ind%
Rș &000400C1,,win% � finfo%
\?ș &000400DB,,win%,ind%,ind%+4096,-1,"printtext",0 � ,,ind%
fwin%!64=sprite%
pș &000400C1,,win% � print%
z9ș &000400DB,,win%,ind%,ind%+4096,-1,"dis",0 � ,,ind%
�#ș &000400C1,,win% � mycontrol%
�;ș &000400DB,,win%,ind%,ind%+4096,-1,"title",0 � ,,ind%
�win%!64=sprite%
�ș &000400C1,,win% � title%
�<ș &000400DB,,win%,ind%,ind%+4096,-1,"search",0 � ,,ind%
�win%!64=sprite%
� ș &000400C1,,win% � search%
�ș &000400DA
�slidewindow%=-1
�slideicon%=-1
�slidesize%=-1
�oldworkx%=-1
�rrange%=-1
	sizemaxx%=-1
	sizeminx%=-1
	=th%
	$� �iconbar(Sprite$,side%)
	.block%!0=side%
	8block%!4=0
	Bblock%!8=0
	Lblock%!12=29*2
	Vblock%!16=40*2
	`block%!20=&3002
	j$(block%+24)=Sprite$
	t ș &000400C2,,block% � icon%
	~
=icon%
	�� �null
	�Ȏ slideicon% �
	�� 28
	�6�doslide(slidewindow%,slideicon%,slidesize%,�,255)
	�� 31
	�6�doslide(slidewindow%,slideicon%,slidesize%,�,255)
	�� 34
	�6�doslide(slidewindow%,slideicon%,slidesize%,�,255)
	��
	��
	�� �redrawwindow(wind%)
	�ș&000406C0
� wind%<>0 �

block%!0=wind%
�
ș &000400C8,,block% � flag
(ȕ flag
2=� block%!0=main% � �dolines(block%!8,block%!16,block%!24)
<5� block%!0=pane% � �docolourbox(boxr,boxg,boxb,�)
Fș &000400CA,,block% � flag
P�
Zș&000406C2
d�
n� �openwindow(wind%,stag%)
x� wind%<>0 �
�block%!0=wind%
�ș &000400CB,,block%
��
�&� block%!0=main% � searchwindow% �
�mainminx%=block%!4
�mainminy%=block%!8
�mainmaxx%=block%!12
�mainmaxy%=block%!16
�mainscrollx%=block%!20
�mainscrolly%=block%!24
�backhand%=block%!28
�block%!0=search%
�ș &400cb,,block%
block%!0=search%
block%!4=mainminx%-318
block%!8=mainmaxy%-636
" block%!12=mainmaxx%+block%!4
,block%!16=mainmaxy%
6block%!28=backhand%
@ș &400C5,,block%
Jblock%!0=main%
Tblock%!4=mainminx%
^block%!8=mainminy%
hblock%!12=mainmaxx%
rblock%!16=mainmaxy%
|block%!20=mainscrollx%
�block%!24=mainscrolly%
�block%!28=search%
��
�� block%!0=options% �
�mainminx%=block%!4
�mainminy%=block%!8
�mainmaxx%=block%!12
�mainmaxy%=block%!16
�mainscrollx%=block%!20
�mainscrolly%=block%!24
�backhand%=block%!28
�block%!0=pane%
�ș &400cb,,block%
block%!0=pane%
block%!4=mainminx%+20
block%!8=mainminy%+18
& block%!12=mainmaxx%+block%!4
0block%!16=mainmaxy%-18
:block%!28=backhand%
Dș &400C5,,block%
Nblock%!0=options%
Xblock%!4=mainminx%
bblock%!8=mainminy%
lblock%!12=mainmaxx%
vblock%!16=mainmaxy%
�block%!20=mainscrollx%
�block%!24=mainscrolly%
�block%!28=pane%
��
�ș &000400C5,,block%
��
�� �closewindow(wind%)
�� wind%<>0 �
�  block%!0=wind%
��
�� block%!0=options% �
�  block%!0=pane%
�  ș &000400C6,,block%

  block%!0=options%

�

� block%!0=main% � mody% �

   press%=�mycontrol

*  block%!0=mycontrol%

4  ș &000400C6,,block%

>  block%!0=main%

H  Ȏ press% �

R    � 0

\      � makeexit � exit=�

fF      ș "XOS_Heap",4,endprog%,icondata%,-blocksize% � ,,icondata%

p=      ș "XOS_Heap",5,endprog%,,-heapsize%+smegblocksize%

z"      heapsize%=smegblocksize%

�3      ș "Wimp_SlotSize",tasksize%+heapsize%,-1

�      blocksize%=4

�    � 1

�      � exit � exit=�

�      makeexit=�

�      �

�    � 2

�      � exit �

�        exit=�

�        makeexit=�

�      �

�      ș&000400CF,,block2%

�      xx%=block2%!0
      yy%=block2%!4
      bb%=block2%!8
      flufend%=�
$$      �drawmenu(saveas%,xx%,yy%)
.      �
8  �
B�
L(� block%!0=search% � searchwindow%=�
V� block%!0=main% �
`  searchwindow%=�
j  block%!0=search%
t  ș &000400C6,,block%
~B  ș "XOS_Heap",4,endprog%,icondata%,-blocksize% � ,,icondata%
�9  ș "XOS_Heap",5,endprog%,,-heapsize%+smegblocksize%
�  heapsize%=smegblocksize%
�/  ș "Wimp_SlotSize",tasksize%+heapsize%,-1
�  blocksize%=4
�
  mody%=�
�+  � pressed � ș "Wimp_ProcessKey",&1FC
�  iii%=0
�  block%!0=main%
��
�ș &000400C6,,block%
��
�� �pointerleave
�

� �pointerenter
�
� �mouseclick
(� �
2*� � � �alert("Error from Tree",�$,0):�
<x%=block%!0
Fy%=block%!4
Pbutton%=block%!8
Zwindow%=block%!12
dicon%=block%!16
nȎ button% �
x� 1
�+� window%=search% � �clicksearch(icon%)
�)� window%=print% � �clickprint(icon%)
�#� window%=savedraw% � icon%=2 �
�&� ��icontext(savedraw%,1),".")=0 �
�H�alert("Tree","To save, drag the file icon to a directory viewer",2)
�ș&000400D4,-1
��
�poowindow%=savedraw%
�!�save(�icontext(savedraw%,1))
��
��
�!� window%=saveas% � icon%=2 �
�$� ��icontext(saveas%,1),".")=0 �
H�alert("Tree","To save, drag the file icon to a directory viewer",2)
ș&000400D4,-1
�
"poowindow%=saveas%
,�save(�icontext(saveas%,1))
6�
@�
J#� window%=savetree% � icon%=2 �
T&� ��icontext(savetree%,1),".")=0 �
^H�alert("Tree","To save, drag the file icon to a directory viewer",2)
hș&000400D4,-1
r�
|poowindow%=savetree%
�!�save(�icontext(savetree%,1))
��
��
�-� window%=options% � �clickoptions(icon%)
�'� window%=pane% � �clickpane(icon%)
�� window%=main% � icon%>0 �
��uselicon(main%,icon%)
��getvars(icon%-1,�)
��("FILER_RUN "+$filename%)
��
�#� window%=savedraw% � icon%=3 �
�columns=� columns
�>� columns � �selicon(savedraw%,3) � �uselicon(savedraw%,3)
�
� 2
� window%=-2 �
&#�drawmenu(mainmenu%,x%-100,228)
0menunumber%=1
:�
D� window%=main% �
N�getprinterinfo
X#�iconputtext(print%,0,printer$)
bcopies=1
l$�iconputtext(print%,2,�(copies))
v>� columns � �selicon(savedraw%,3) � �uselicon(savedraw%,3)
�flufend%=�
�"�iconputtext(stats%,1,�(iii%))
�(�iconputtext(stats%,3,�(blocksize%))
�� icon%>0 �
�currentsearch=icon%
��usmi(othermenu%,3)
��usmi(othermenu%,4)
��getvars(icon%-1,�)
�+�iconputtext(finfo%,0,�gLn($filename%))
�"� type%!0>=0 � type%!0<=&FFF �
�.  �iconputtext(finfo%,3,"&"+�pad(type%!0))
�.  � �spriteexists("file_"+�pad(type%!0)) �
�5  �seticonsprite(finfo%,1,"Sfile_"+�pad(type%!0))
  �
*  �seticonsprite(finfo%,1,"Sfile_xxx")
  �
 �
*/  � ��gLn($filename%),1)="!" � type%!0=-1 �
4*  �iconputtext(finfo%,3,"Application")
>)  � �spriteexists(�gLn($filename%)) �
H3  �seticonsprite(finfo%,1,"S"+�gLn($filename%))
R  �
\-  �seticonsprite(finfo%,1,"Sapplication")
f  �
p  �
z0  � ��gLn($filename%),1)<>"!" � type%!0=-1 �
�(  �iconputtext(finfo%,3,"Directory")
�+  �seticonsprite(finfo%,1,"Sdirectory")
�  �
�  � type%!0=-2 �
�#  �iconputtext(finfo%,3,"File")
�*  �seticonsprite(finfo%,1,"Sfile_xxx")
�  �
��
�+�iconputtext(finfo%,5,�(readlength%!0))
�5�iconputtext(finfo%,7,�attributes(attributes%!0))
�6�iconputtext(finfo%,8,�myconvert(ladr%!0,eadr%!0))
��
��smi(othermenu%,3)
�smi(othermenu%,4)
�
#�drawmenu(othermenu%,x%-100,y%)
$menunumber%=2
.�
8� 4
B+� window%=search% � �clicksearch(icon%)
L)� window%=print% � �clickprint(icon%)
V#� window%=savedraw% � icon%=3 �
`columns=� columns
j>� columns � �selicon(savedraw%,3) � �uselicon(savedraw%,3)
t�
~#� window%=savedraw% � icon%=2 �
�&� ��icontext(savedraw%,1),".")=0 �
�H�alert("Tree","To save, drag the file icon to a directory viewer",2)
�ș&000400D4,-1
��
�poowindow%=savedraw%
�!�save(�icontext(savedraw%,1))
��
��
�!� window%=saveas% � icon%=2 �
�$� ��icontext(saveas%,1),".")=0 �
�H�alert("Tree","To save, drag the file icon to a directory viewer",2)
�ș&000400D4,-1
�

poowindow%=saveas%
�save(�icontext(saveas%,1))
ș&000400D4,-1
(�
2�
<#� window%=savetree% � icon%=2 �
F&� ��icontext(savetree%,1),".")=0 �
PH�alert("Tree","To save, drag the file icon to a directory viewer",2)
Zș&000400D4,-1
d�
npoowindow%=savetree%
x!�save(�icontext(savetree%,1))
�ș&000400D4,-1
��
��
�'� window%=pane% � �clickpane(icon%)
�-� window%=options% � �clickoptions(icon%)
�� window%=main% � icon%>0 �
��uselicon(main%,icon%)
��getvars(icon%-1,�)
��("FILER_RUN "+$filename%)
��
�� 16,64
�� window%=main% � icon%>0 �
��dragmyfile
tempicon%=icon%
�
!� window%=saveas% � icon%=0 �
"poowindow%=window%
,lastwindow%=poowindow%
6"�drawbox(saveas%,0,"file_353")
@�
J#� window%=savetree% � icon%=0 �
Tpoowindow%=window%
^lastwindow%=poowindow%
h$�drawbox(savetree%,0,"file_fff")
r�
|#� window%=savedraw% � icon%=0 �
�poowindow%=window%
�lastwindow%=poowindow%
�$�drawbox(savedraw%,0,"file_aff")
��
��
��
�� �userdragbox
�� �
�*� � � �alert("Error from Tree",�$,0):�
�ș "DragASprite_Stop"
�tt%=block%+256
�ș&000400CF,,tt%
�
xx%=tt%!0

yy%=tt%!4

bb%=tt%!8
wind%=tt%!12
&icon%=tt%!16
0Ȏ lastwindow% �
:� saveas%,savetree%
Dblock%!0=256
Nblock%!12=0
Xblock%!16=1
bblock%!20=wind%
lblock%!24=icon%
vblock%!28=xx%
�block%!32=yy%
�block%!36=1
�� lastwindow%=savetree% �
�block%!40=&fff
��
�block%!40=&353
��
�bblock%=block%+256
�bblock%!0=lastwindow%
�bblock%!4=1
�ș&000400CE,0,bblock%
�text%=bblock%!28
�w$=�gLn($text%)
$(block%+44)=w$+�0
%ș&000400E7,17,block%,wind%,icon%
8� wind%<>saveas% � wind%<>savetree% � ș&000400D4,-1
 � main%
*poowindow%=main%
4�getvars(tempicon%-1,�)
>block%!0=256
Hblock%!12=0
Rblock%!16=1
\block%!20=wind%
fblock%!24=icon%
pblock%!28=xx%
zblock%!32=yy%
�block%!36=readlength%!0
�block%!40=type%!0
�$(block%+44)=$filename%+�0
�%ș&000400E7,17,block%,wind%,icon%
��uselicon(main%,tempicon%)
�� savedraw%
�block%!0=256
�block%!12=0
�block%!16=1
�block%!20=wind%
�block%!24=icon%
�block%!28=xx%
�block%!32=yy%
block%!36=1
block%!40=&aff
bblock%=block%+256
$bblock%!0=lastwindow%
.bblock%!4=1
8ș&000400CE,0,bblock%
Btext%=bblock%!28
Lw$=�gLn($text%)
V$(block%+44)=w$+�0
`%ș&000400E7,17,block%,wind%,icon%
j'� wind%<>savedraw% � ș&000400D4,-1
t� pane%
~7� slidewindow%>-1 � slideicon%>-1 � slidesize%>-1 �
�size%=sizemaxx%-sizeminx%
�ppos%=(oldworkx%-sizeminx%)
�num%=(rrange%/size%)*ppos%
�Ȏ slideicon% �
�� 28,31,34
�oldworkx%=newx%
��
�:
�slidewindow%=-1
�slideicon%=-1
�slidesize%=-1
��
�

�
� �keypressed
wind%=block%!0
(icon%=block%!4
2key%=block%!24
<
Ȏ key% �
F� 398,13
P� wind%=saveas% �
Z$� ��icontext(saveas%,1),".")=0 �
dH�alert("Tree","To save, drag the file icon to a directory viewer",2)
nș&000400D4,-1
x�
�poowindow%=saveas%
��save(�icontext(saveas%,1))
�ș&000400D4,,-1
��
��
�� wind%=savetree% �
�&� ��icontext(savetree%,1),".")=0 �
�H�alert("Tree","To save, drag the file icon to a directory viewer",2)
�ș&000400D4,-1
��
�poowindow%=savetree%
�!�save(�icontext(savetree%,1))
�ș&000400D4,,-1
�
�

"ș "Wimp_ProcessKey",key%
,�
6�
@� �menuselection
JȎ menunumber% �
T� 1
^+ș&000400D5,,mainmenu%,block%,block%+24
htrunc$=�gLn($(block%+24))
r� trunc$="Quit" �
|
exit=�
�makeexit=�
��closewindow(main%)
��
�� trunc$="Options�" �
�	�pane
��openwindow(options%,�)
��
�� 2
�,ș&000400D5,,othermenu%,block%,block%+24
�trunc$=�gLn($(block%+24))
�� trunc$="Quit" �
�makeexit=�
�exit = �
�closewindow(main%)
�
*� trunc$="ReDraw Icons" � �majorredraw
&7� trunc$="Open Parent" � �("FILER_OPENDIR "+pooup$)
0$� trunc$="Search�" � �opensearch
:� trunc$="Options�" �
D	�pane
N�openwindow(options%,�)
X�
b�
lș&000400CF,,block%+256
vbrr%=block%+256
�button%=brr%!8
�� button%=1 �
�A� menunumber%=1 � ș &000400D4,,mainmenu%,brr%!0-68,(64*4)+64
�?� menunumber%=2 � ș &000400D4,,othermenu%,brr%!0-68,brr%!4
��
��
��
�� �scrollrequest
��
�� �losecaret
��
�� �gaincaret
��
� �usermessage
� �
*� � � �alert("Error from Tree",�$,0):�
 Ȏ block%!16 �
*� 0
4exit = �
>� 2
H �save(�getstring(block%+44))
R� &80147
\�getprinterinfo
f
p�
z�
�� �usermessagerecorded
�� �
�*� � � �alert("Error from Tree",�$,0):�
�Ȏ block%!16 �
�� 0
�exit = �
�� &80142
�� doprint% � � �
�doprint%=�
�_�alert("Message from Tree","Load the RiscOS 3 !Printers application to print from Tree.",0)
��
�� 3
�>�load(block%!20,block%!24,block%!40,�getstring(block%+44))
� 5
� block%!40=&353 �
block%!12=block%!8
$#ș&000600E7,17,block%,block%!20
.>�load(block%!20,block%!24,block%!40,�getstring(block%+44))
8�
B� 8
L
� mody% �
V  pressed=�
`  block%!12=block%!8
j'  ș "Wimp_SendMessage",19,block%,0
t  �sicon(mycontrol%,6)
~  �closewindow(main%)
��
��
��
�� �usermessageacknowledge
�Ȏ block%!16 �
�� &80142
�� doprint% �
�doprint%=�
�_�alert("Message from Tree","Load the RiscOS 3 !Printers application to print from Tree.",0)
��
��
��
ݤparseLine(A$,B$(),C$)

� D%,E%:D%=�(B$(),1)
ȕ (A$<>"")�(E%<=D%)
B$(E%)=�parseWord(A$,C$)
(	E%+=1
2�
<=E%
FݤparseWord(� A$,B$)
P,� C$,D%,E%,F$:D%=1:E%=�(A$):C$=�A$,D%,1)
Z0ȕ (�B$,C$)=0)�(D%<=E%):D%+=1:C$=�A$,D%,1):�
d8F$=�A$,D%-1):A$=�A$,D%+1):E%=�(A$):D%=1:C$=�A$,D%,1)
n0ȕ (�B$,C$)>0)�(D%<=E%):D%+=1:C$=�A$,D%,1):�
xA$=�A$,D%)
�=F$
�2� �createmenu(title$,entries%,entries$,width%)
�� menu%,word$()
�� menu% 24+entries%*24
�� word$(entries%)
�(tr%=�parseLine(entries$,word$(),"|")
�
tr%-=1
�$(menu%+0)=title$+�0
�menu%!12=7
�menu%!13=2
�menu%!14=7
�menu%!15=0
�menu%!16=width%
menu%!20=44
menu%!24=0
� loop%=0 � tr%
"p%=(loop%*24)+28
,2� loop%=entries%-1 � menu%!p%=128 � menu%!p%=0
6� �word$(loop%),1,1)="-" �
@menu%!p%+=2
J�
T&� title$="Filetypes" � menu%!p%+=8
^	p%+=4
h� �word$(loop%),">") = 0 �
rmenu%!p%=-1
|�
�3menu%!p%=�(�word$(loop%),�word$(loop%),">")+1))
��
�	p%+=4
�menu%!p%=&7009031
�	p%+=4
�� �word$(loop%),">") = 0 �
�� �word$(loop%),1,1)="-" �
� $(menu%+p%)=�word$(loop%),2)
��
�$(menu%+p%)=word$(loop%)
��
��
�� �word$(loop%),1,1)="-" �
 5$(menu%+p%)=�word$(loop%),2,�word$(loop%),">")-2)
 �
 5$(menu%+p%)=�word$(loop%),1,�word$(loop%),">")-1)
 &�
 0�
 :
�loop%
 D
=menu%
 N��drawmenu(m%,xx%,yy%)
 Xș &000400D4,,m%,xx%,yy%
 b�
 l��sicon(wind%,icon%)
 vblock%!0=wind%
 �block%!4=icon%
 �%block%!8=%10000000000000000000000
 �&block%!12=%10000000000000000000000
 �ș &400CD,,block%
 ��
 ���usicon(wind%,icon%)
 �block%!0=wind%
 �block%!4=icon%
 �block%!8=0
 �&block%!12=%10000000000000000000000
 �ș &400CD,,block%
 ��
 ���selicon(wind%,icon%)
!block%!0=wind%
!block%!4=icon%
!$block%!8=%1000000000000000000000
! %block%!12=%1000000000000000000000
!*ș &400CD,,block%
!4�
!>��uselicon(wind%,icon%)
!Hblock%!0=wind%
!Rblock%!4=icon%
!\block%!8=0
!f%block%!12=%1000000000000000000000
!pș &400CD,,block%
!z�
!���tmi(m%,i%)
!�ui=m%+(28+(24*i%))
!�!ui=!ui � %1
!��
!���utmi(m%,i%)
!�ui=m%+(28+(24*i%))
!�!ui=!ui �� %1
!��
!���smi(m%,i%)
!�ui=m%+(36+(24*i%))
!�&!ui=!ui � %10000000000000000000000
!��
!���usmi(m%,i%)
"ui=m%+(36+(24*i%))
"'!ui=!ui �� %10000000000000000000000
"�
"$
ݤgLn(A$)
".� B%
"8� �A$,".")=0 � =A$
"B� �A$,".")>0 �
"L
B%=�A$
"Vȕ(�A$,B%,1)<>".")�(B%>0)
"`	B%-=1
"j�
"t=�A$,�A$-B%)
"~� �getstring(array%)
"�� path$,pointer%
"�path$=""
"�pointer%=array%
"��
"�path$+=�?pointer%
"�pointer%+=1
"� � ?pointer%=0 � ?pointer%=13
"�
=path$
"�)��load(window%,icon%,filetype%,path$)
"�� �
"�*� � � �alert("Error from Tree",�$,0):�
"�4� window%=-2 � filetype%<>&353 � �dofiles(path$)
#� filetype%=&353 �
#
�closewindow(main%)
#�loadmyfile(path$)
#�
#(�
#2��save(p$)
#<� �
#F*� � � �alert("Error from Tree",�$,0):�
#Pș &00062401
#ZȎ poowindow% �
#d
� saveas%
#nș&000406C0
#x;ș "OS_File",10,p$,&353,,icondata%,icondata%+blocksize%
#�ș&000406C2
#�mody%=�
#�� makeexit � exit=�
#�� flufend% �
#�block%!0=main%
#�ș &000400C6,,block%
#��
#�)� pressed � ș "Wimp_ProcessKey",&1FC
#�� savetree%
#��export(p$,�)
#�� savedraw%
#��dodraw(p$)
#�� main%
$� block%!36=-1 �
$�getvars(tempicon%-1,�)
$block%!0=256
$"block%!12=0
$,block%!16=3
$6block%!36=readlength%!0
$@block%!40=type%!0
$J$(block%+44)=$filename%+�0
$T%ș&000400E7,17,block%,wind%,icon%
$^�
$h�getvars(tempicon%-1,�)
$r"� �checkfreespace>=(40*1024) �
$|#p$=�p$,�(p$)-(�($filename%)+1))
$�&ș "Wimp_StartTask","filer_action"
$�block%!0=256
$�block%!12=0
$�block%!16=&403
$�cft2=�($filename%)
$�ȕ �$filename%,cft2,1)<>"."
$�cft2-=1
$��
$� dddup$=�$filename%,1,cft2-1)
$�$(block%+20)=dddup$+�0
$�%ș "Wimp_SendMessage",17,block%,0
$�block%!0=256
$�block%!12=0
%block%!16=&404
%$$(block%+20)=�gLn($filename%)+�0
%%ș "Wimp_SendMessage",17,block%,0
%&block%!0=256
%0block%!12=0
%:block%!16=&405
%Dblock%!20=0
%Nblock%!24=%10001
%X$(block%+28)=p$+�0
%b%ș "Wimp_SendMessage",17,block%,0
%l�
%v#p$=�p$,�(p$)-(�($filename%)+1))
%�<�("COPY "+$filename%+" "+p$+"."+�gLn($filename%)+" R~C")
%��
%��
%�� print%
%��export(p$,�)
%�block%!16=3
%�� printcount=1 � copies
%�-ș&000400E7,17,block%,block%!20,block%!24
%�� printcount
%�doprint%=�
%��
%�c� p$<>"<Wimp$Scrap>" � (poowindow%<>main%) � poowindow%<>print% � �iconputtext(poowindow%,1,p$)
%��
&��loadmyfile(p$)
&� �
&*� � � �alert("Error from Tree",�$,0):�
& localsprites=�
&*
columns=�
&4$archi%=�modulepresent("SparkFS")
&>thebigone=0
&Hblock%!0=main%
&Rș &000400C3,,block%
&\%ș &000400C1,,mainwindow% � main%
&fș&000406C0
&pblock%!0=main%
&zș &400cc,,block%
&�workminx=block%!44
&�workminy=block%!48
&�workmaxx=block%!52
&�workmaxy=block%!56
&�infile%=�(p$)
&�newlen%=�#infile%
&�� #infile%
&�@ș "XOS_Heap",4,endprog%,icondata%,-blocksize% � ,,icondata%
&�7ș "XOS_Heap",5,endprog%,,-heapsize%+smegblocksize%
&�blocksize%=4
&�heapsize%=smegblocksize%
&�blocksize%+=newlen%
&�
duf%=�
'� blocksize%>heapsize% �
'  duf%=�
'  heapsize%+=newlen%
'$$  � �checkfreespace<=heapsize% �
'.J    �alert("Message from Tree","Unable to find enough free memory.",0)
'8    heapsize%-=newlen%
'B    blocksize%-=newlen%
'L	    �
'V  �
'`-ș "Wimp_SlotSize",tasksize%+heapsize%,-1
'j'  ș "XOS_Heap",5,endprog%,,newlen%
't�
'~$  � �checkfreespace<=heapsize% �
'�J    �alert("Message from Tree","Unable to find enough free memory.",0)
'�    blocksize%-=newlen%
'�	    �
'�  �
'�-ș "Wimp_SlotSize",tasksize%+heapsize%,-1
'�
'��
'�<ș "XOS_Heap",4,endprog%,icondata%,newlen% � ,,icondata%
'�� icondata%=0 �
'�F�alert("Message from Tree","Unable to find enough free memory.",0)
'�blocksize%-=newlen%
'�� duf% � heapsize%-=newlen%
(�
(
�
(newbase%=icondata%
(ș &00000008,12,p$,newbase%
((iii%=newbase%!0
(2�getvars(0,�)
(<pa$=$filename%
(Fcft=�(pa$)
(Pȕ �pa$,cft,1)<>"."
(Z
cft-=1
(d�
(npooup$=�pa$,1,cft-1)
(x�title(main%,pooup$)
(�� myup=0 � iii%-1
(�1� iii%-1<>0 � ș&000406C4,(myup/(iii%-1))*100
(��getvars(myup,�)
(�Qpos=(numbericons%!0)*50
(�block%!0=main%
(�block%!4=0
(�ș &400CE,,block%
(�fag%=block%+4
(�um1%=fag%!4
(�um2%=fag%!12
(�block%!0=main%
(�block%!4=myup
(�ș &400CE,,block%
)fag%=block%+4
)fag%!0=main%
)fag%!8=fag%!8-44
)"fag%!4=um1%+Qpos
),nut=fag%!8
)6fag%!16=fag%!16-44
)@fag%!12=um2%+Qpos
)Jfcack$=�gLn($filename%)
)T+� fag%!12>thebigone � thebigone=fag%!12
)^fag%!24=text%
)h!� type%!0>&FFF � type%!0<&0 �
)r  � �fcack$,1)="!" �
)|1    � � �spriteexists(fcack$) � iconsprites �
)�&    tty%=�($filename%+".!Sprites")
)�       � tty%>0 � tty%<=255 �
)�        wlll%=�#tty%
)�        �#tty%
)�      �
)�/      � tty%>0 � tty%<=255 � localsprites �
)�=        � �filetypeofafile($filename%+".!Sprites")=&FF9 �
)�'          � �checkfreespace>wlll% �
)�=            �OSCLI("ICONSPRITES "+$filename%+".!Sprites")
)�.            � localsprites � �loadsprites2
)�          �
)�o            �alert("Message from Tree","No room for sprites. Forgetting to load any more !Sprite files.",0)
)�            localsprites=�
*#            valid$="Sdirectory"
*          �
*
        �
*&      �
*0	    �
*:    valid$="S"+fcack$
*DG    � � �spriteexists(�valid$,2,�(valid$))) � valid$="Sapplication"
*N  �
*X    valid$="Sdirectory"
*b  �
*l�
*v#  valid$="Sfile_"+�pad(type%!0)
*��
*�;� type%!0=-2 � valid$="Sdirectory" � valid$="Sfile_xxx"
*�@� � �spriteexists(�valid$,2,�(valid$))) � valid$="Sfile_xxx"
*�$valid%=valid$
*�fag%!28=valid%
*�fag%!32=�(fcack$)
*�ș &400C2,,fag%
*�	�myup
*�block%!0=workminx
*�block%!4=nut-4
*�block%!8=thebigone+20
*�block%!12=workmaxy
*�ș &400d7,main%,block%
+;ș &000400D1,main%,block%!0,block%!4,block%!8,block%!12
+�openwindow(main%,�)
+�iconputtext(saveas%,1,p$)
+ ș&000406C2
+*flufend%=�
+4�
+>� �icontext(window%,icon%)
+H%block%!0=window% : block%!4=icon%
+Rș &000400CE,,block%
+\8� ((block%!24) � &100)=0 � 1,"Icon isn't indirected"
+f=$(block%!28)
+p'� �iconputtext(window%,icon%,text$)
+z'block2%!0=window% : block2%!4=icon%
+�ș &000400CE,,block2%
+�9� ((block2%!24) � &100)=0 � 1,"Icon isn't indirected"
+�$(block2%!28)=text$
+�'block2%!0=window% : block2%!4=icon%
+�block2%!8=0 : block2%!12=0
+�ș &000400CD,,block2%
+��
+���seticonsprite(w%,i%,s$)
+�block%!0=w%
+�block%!4=i%
+�ș &000400CE,,block%
+�$block%!32=s$
+�block%!0=w%
,block%!8=0
,block%!12=0
,ș&000400CD,,block%
,$�
,.��drawbox(wi%,ic%,sn$)
,8#ș &00000035,�,11 � ,,xpixlimit
,B#ș &00000035,�,12 � ,,ypixlimit
,Lș &00000035,�,4 � ,,xfact
,Vș &00000035,�,5 � ,,yfact
,`maxX=(xpixlimit+1)<<xfact
,jmaxY=(ypixlimit+1)<<yfact
,tblock%!0=wi%
,~ș&000400CB,,block%
,�2ys%=block%!16-block%!8:X%=block%!4:Y%=block%!8
,�yoff%=block%!24
,�block%!0=wi%:block%!4=ic%
,�ș&000400CE,,block%
,�block%!8+=X%
,�block%!12+=Y%+ys%-yoff%
,�block%!16+=X%
,�block%!20+=Y%+ys%-yoff%
,�block%!4=5
,�ș&000400CF,,block2%
,�$block%!24=0-(block2%!0-block%!8)
,�%block%!28=0-(block2%!4-block%!12)
-*block%!32=maxX+(block%!16-block2%!0)-2
-
*block%!36=maxY+(block%!20-block2%!4)-4
-block%!0=ic%
-� sn$="" �
-(ș&000400D0,,block%
-2�
-<3ș "DragASprite_Start",%11000101,1,sn$,block%+8
-F�
-Plastwindow%=wi%
-Z�
-d&� �iconcaret(window%,icon%,chars%)
-n*ș &000400D2,window%,icon%,,,-1,chars%
-x�
-���dofiles(pa$)
-�� �
-�*� � � �alert("Error from Tree",�$,0):�
-�
columns=�
-�localsprites=�
-�@ș "XOS_Heap",4,endprog%,icondata%,-blocksize% � ,,icondata%
-�7ș "XOS_Heap",5,endprog%,,-heapsize%+smegblocksize%
-�heapsize%=smegblocksize%
-�-ș "Wimp_SlotSize",tasksize%+heapsize%,-1
-�blocksize%=4
-�X� icondata%=0 � �alert("Message from Tree","Unable to find enough free memory.",0):�
-�block%!0=main%
-�ș &000400C3,,block%
.%ș &000400C1,,mainwindow% � main%
.ș&000406C0
.cft=�(pa$)
."thebigone=0
.,ȕ �pa$,cft,1)<>"."
.6
cft-=1
.@�
.Jpooup$=�pa$,1,cft-1)
.T�title(main%,pooup$)
.^block%!0=main%
.hș &400cc,,block%
.rworkminx=block%!44
.|workminy=block%!48
.�workmaxx=block%!52
.�workmaxy=block%!56
.�
iii%=0
.�
tttemp%=0
.�'archiver%=�modulepresent("SparkFS")
.�tempcack$=""
.��read(pooup$,0,�,0)
.��PROCgafup
.��dirs(�)
.�� iii%>0 �
.�block%!0=workminx
.�block%!4=nut-4
.�block%!8=thebigone+20
/block%!12=workmaxy
/ș &400d7,main%,block%
/;ș &000400D1,main%,block%!0,block%!4,block%!8,block%!12
/&�openwindow(main%,�)
/0mody%=�
/:�
/D�closewindow(main%)
/NG�alert("Error from Tree","Unable to create tree of '"+pooup$+"'",0)
/Xmody%=�
/b�
/l�
/vș&000406C2
/��
/�� �getstring(array%)
/�� path$,pointer%
/�path$=""
/�pointer%=array%
/��
/�path$+=�?pointer%
/�pointer%+=1
/� � ?pointer%=0 � ?pointer%=13
/�
=path$
/�#��getvars(richicon%,resetflag%)
/�� �
/�*� � � �alert("Error from Tree",�$,0):�
0fixbase%=icondata%
0total%=fixbase%
0&base%=fixbase%+((richicon%)*400)+4
0 text%=base%
0*valid%=base%+24
04filename%=base%+48
0>type%=base%+304
0Hnumbericons%=base%+308
0Rreadlength%=base%+312
0\attributes%=base%+316
0fladr%=base%+320
0peadr%=base%+324
0ztreedef%=base%+328
0� � richicon%=0 � richicon%+=1
0�,base2%=(icondata%)+((richicon%-1)*400)+4
0�text2%=base2%
0�valid2%=base2%+24
0�filename2%=base2%+48
0�type2%=base2%+304
0�numbericons2%=base2%+308
0�readlength2%=base2%+312
0�attributes2%=base2%+316
0�ladr2%=base2%+320
0�eadr2%=base2%+324
0�treedef2%=base2%+328
0�� resetflag% �
1$(treedef%)=�63,"O")
1�
1�
1$#��read(path$,tb,flag,mycounter)
1.� �
18*� � � �alert("Error from Tree",�$,0):�
1B	�gogo
1L�
1V
��gogo
1`� offset,temp$
1joffset=0
1t�
1~$(buf%+20)=�0
1�Lș&0002000C,10,path$+�0,buf%,maxnumber,offset,41,"" � R0,R1,R2,R3,offset
1�temp$=�getstring(buf%+20)
1�� offset=0 � �
1�� temp$<>�0 �
1�blocksize%=blocksize%+400
1�� blocksize%>heapsize% �
1�,ș "XOS_Heap",5,endprog%,,400 � ,,,temp%
1·� temp%<>400 � �alert("Message from Tree","Unable to find enough free memory. About to try to display all that has been read.",0):�
1�heapsize%+=400
1�'� �checkfreespace<=smegblocksize% �
1�v�alert("Message from Tree","Unable to find enough free memory. About to try to display all that has been read.",0)
1�heapsize%-=400
2blocksize%-=400
2
�
2�
2<ș "Wimp_SlotSize",tasksize%+heapsize%+smegblocksize%,-1
2(�
228ș "XOS_Heap",4,endprog%,icondata%,400 � ,,icondata%
2<�� icondata%=0 � �alert("Message from Tree","Unable to find enough free memory. About to try to display all that has been read.",0):�
2F�getvars(iii%,�)
2P#fty%=�filestype(buf%!16,buf%!0)
2Z$filename%=path$+"."+temp$
2dtype%!0=fty%
2nreadlength%!0=buf%!8
2xattributes%!0=buf%!12
2�ladr%!0=buf%!0
2�eadr%!0=buf%!4
2�:
2�block%!0=main%
2�block%!4=0
2�ș &400CE,,block%
2�fag%=block%+4
2�um1%=fag%!4
2�um2%=fag%!12
2�block%!0=main%
2�block%!4=iii%
2�ș &400CE,,block%
2�fag%=block%+4
3fag%!0=main%
3fag%!8=fag%!8-44
3fag%!4=um1%+tb
3"nut=fag%!8
3,fag%!16=fag%!16-44
36fag%!12=um2%+tb
3@+� fag%!12>thebigone � thebigone=fag%!12
3J� offset=-1 �
3T?(treedef%+mycounter)=ascl%
3^�
3h?(treedef%+mycounter)=asct%
3r�
3|numbericons%!0=mycounter
3�� (iii%-1)>=0 �
3�!� smeg%=0 � (numbericons2%!0)
3�S� ?(treedef2%+smeg%)=asct% � ?(treedef%+smeg%)<>ascl% � ?(treedef%+smeg%)=asct%
3�
�smeg%
3��
3�$text%=temp$
3�fag%!24=text%
3�� fty%>&FFF � fty%<&0 �
3�  � �temp$,1)="!" �
3�0    � � �spriteexists(temp$) � iconsprites �
3�-      tty%=�(path$+"."+temp$+".!Sprites")
3�      � tty%<>0 �
3�        wlll%=�#tty%
4        �#tty%
4      �
4$      � tty%<>0 � localsprites �
4&B        � �filetypeofafile(path$+"."+temp$+".!Sprites")=&FF9 �
40'          � �checkfreespace>wlll% �
4:-            � localsprites � �loadsprites
4D          �
4No            �alert("Message from Tree","No room for sprites. Forgetting to load any more !Sprite files.",0)
4X            localsprites=�
4b#            valid$="Sdirectory"
4l          �
4v
        �
4�      �
4�	    �
4�    valid$="S"+temp$
4�G    � � �spriteexists(�valid$,2,�(valid$))) � valid$="Sapplication"
4�  �
4�    valid$="Sdirectory"
4�  �
4��
4�   valid$="Sfile_"+�pad(fty%)
4��
4�;� type%!0=-2 � valid$="Sdirectory" � valid$="Sfile_xxx"
4�@� � �spriteexists(�valid$,2,�(valid$))) � valid$="Sfile_xxx"
4�$valid%=valid$
5fag%!28=valid%
5fag%!32=�(temp$)
5ș &400C2,,fag%
5 iii%+=1
5*total%!0=iii%
54�
5>7� buf%!16=2 � (fty%=&ddc � archiver%) � fty%=&fc8 �
5H� temp$<>�0 �
5R.�read(path$+"."+temp$,tb+50,�,mycounter+1)
5\�
5f�
5p� offset=-1
5z�
5�:
5���loadsprites
5�� �
5��� � � �alert("Message from Tree","Error whilst trying to ICONSPRITE !Sprites file. "+�$+". Not bothering with any more !Sprite files.",0)
5�1�("ICONSPRITES "+path$+"."+temp$+".!Sprites")
5�localsprites=�
5��
5�:
5���loadsprites2
5�� �
5�� � � �alert("Message from Tree","Error whilst trying to ICONSPRITE !Sprites file. "+�$+". Not bothering with any more !Sprite files.",0)
5�,�("ICONSPRITES "+$filename%+".!Sprites")
5�localsprites=�
6�
6:
6��gafup
6$�
6.�smeg%=iii%-1
68�PROCgetvars(smeg%,FALSE)
6B�WHILE numbericons%!0>0
6L�PROCgetvars(smeg%,FALSE)
6V'�FOR smeg2%=0 TO (numbericons%!0)-1
6`�?(treedef%+smeg2%)=ascl%
6j�NEXT smeg2%
6t
�smeg%-=1
6~
�ENDWHILE
6�� smeg2%=iii%-1 � 1 � -1
6��getvars(smeg2%,�)
6�!� smeg3%=0 � (numbericons%!0)
6�>    � ?(treedef%+smeg3%)=ascl% � ?(treedef%+smeg3%)=�"F" �
6�     ?(treedef2%+smeg3%)=�"F"
6�	    �
6�     ?(treedef2%+smeg3%)=�"O"
6�	    �
6�#    � ?(treedef%+smeg3%)=�"F" �
6�#       ?(treedef%+smeg3%)=asct%
6�#       ?(treedef2%+smeg3%)=�"F"
6�	    �
7�smeg3%
7
�smeg2%
7�
7:
7(ݤws(s)
72� sp% s
7<=sp%
7F� �filestype(obj%,type%)
7P1� obj%=1 � (type% � &FFF00000) <> &FFF00000 �
7Ztype%=-2
7d�
7n5� obj%=1 � type%=(type% � &FFF00) >> 8 � type%=-1
7x�
7�
=type%
7�
ݤpad(qq)
7�far$=�~(qq)
7�Ȏ �(far$) �
7�� 0
7�far$="000"
7�� 1
7�far$="00"+far$
7�� 2
7�far$="0"+far$
7��
7�	=far$
7�#��dolines(miny%,maxy%,scrolly%)
8ș&000400E6,fincols
8top%=�(scrolly% � 44)
8$bot%=(maxy%-miny%-scrolly%) � 44
8"block2%!0=main%
8,ș&400cb,,block2%
86topx%=block2%!4-block2%!20
8@topy%=block2%!16-block2%!24
8Jtobot%=bot%
8T#� tobot%>iii%-1 � tobot%=iii%-1
8^� puke%=top% � tobot%
8h�getvars(puke%,�)
8r&� subcount%=0 � (numbericons%!0)-1
8|@� ?(treedef%+subcount%)=asct% � subcount%<(numbericons%!0) �
8�-�bar(topx%+(subcount%*50),topy%-puke%*44)
8�7� topy%-puke%*44 > tttemp% � tttemp%=topy%-puke%*44
8��
8�� subcount%
8�(� ?(treedef%+numbericons%!0)=ascl% �
8�7�botbar(topx%+((numbericons%!0)*50),topy%-puke%*44)
8�7� topy%-puke%*44 > tttemp% � tttemp%=topy%-puke%*44
8��
8�(� ?(treedef%+numbericons%!0)=asct% �
8�5�tbar(topx%+((numbericons%!0)*50),topy%-puke%*44)
8�7� topy%-puke%*44 > tttemp% � tttemp%=topy%-puke%*44
8��
8�� puke%
9�
9��tbar(xp%,yp%)
9
xp%+=8
9&� xp%,yp%,xp%,yp%-44
90� xp%,yp%-22,xp%+36,yp%-22
9:�
9D��botbar(xp%,yp%)
9N
xp%+=8
9X� xp%,yp%,xp%,yp%-22
9b� xp%,yp%-22,xp%+36,yp%-22
9l�
9v��bar(xp%,yp%)
9�
xp%+=8
9�� xp%,yp%,xp%,yp%-44
9��
9���title(w%,title$)
9�block%!0 = w%
9�ș &000400CC,,block%
9�po% = !(block%+76)
9�$po% = title$+�0
9��
9�ݤspriteexists(sprite$)
9�!ș&000600E9,24,,sprite$ � R0%
9�� R0%>600 � R0%<0 � =� � =�
9���majorredraw
:ș&000406C0
:� myup=0 � iii%-1
:1� iii%-1<>0 � ș&000406C4,(myup/(iii%-1))*100
: �getvars(myup,�)
:*temp$=�gLn($filename%)
:4!� type%!0>&FFF � type%!0<&0 �
:>� �temp$,1)="!" �
:Hvalid$="S"+temp$
:R�
:\valid$="Sdirectory"
:f�
:p�
:z!valid$="Sfile_"+�pad(type%!0)
:��
:�-� � �spriteexists(�valid$,2,�(valid$))) �
:�  � �temp$,1)<>"!" �
:�    valid$="Sfile_xxx"
:�  �
:�    valid$="SApplication"
:�  �
:��
:�'�seticonsprite(main%,myup+1,valid$)
:�	�myup
:�ș&000406C2
:��
:�$��alert(title$,message$,button%)
;� #0
;� response%
;$(block2%+4)=message$
;$Ȏ button% �
;.� 2    : response%=1
;8� 1    : response%=15
;B � 3    : response%=(1<<5)+16
;L � 4    : response%=(1<<6)+16
;V : response%=16
;`�
;j6ș &000400DF,block2%,response%,title$ � ,response%
;t�
;~��export(afile$,msgflg)
;�ș &000406C0
;�ș &08,11,afile$,&fff,0,0
;�mmy%=�(afile$)
;�� fheadings � fsourcedir �
;�'lll$="Tree display of '"+pooup$+"'"
;�� strptr%=1 � �(lll$)
;�%� #mmy%,�(�lll$,strptr%,strptr%))
;�
� strptr%
;�� #mmy%,10
;��
;�� fheadings � fdate �
;�lll$="Exported on "+�$
<� strptr%=1 � �(lll$)
<
%� #mmy%,�(�lll$,strptr%,strptr%))
<
� strptr%
<� #mmy%,10
<(�
<2� fheadings � � #mmy%,10
<<� puke%=0 � iii%-1
<F�getvars(puke%,�)
<P2� iii%-1<>0 � ș&000406C4,(puke%/(iii%-1))*100
<Zline$="    "
<d&� subcount%=0 � (numbericons%!0)-1
<n@� ?(treedef%+subcount%)=asct% � (subcount%)<numbericons%!0 �
<xline$+=flinejunc$+"  "
<��
<�C� ?(treedef%+subcount%)<>asct% � ?(treedef%+subcount%)<>ascl% �
<�line$+="   "
<��
<�� subcount%
<�ffff$=�gLn($filename%)
<�(� ?(treedef%+numbericons%!0)=ascl% �
<�line$+=fendjunc$+ffff$
<��
<�(� ?(treedef%+numbericons%!0)=asct% �
<�line$+=ftjunc$+ffff$
<��
<�� strptr%=1 � �(line$)
=&� #mmy%,�(�line$,strptr%,strptr%))
=
� strptr%
=� #mmy%,10
="� puke%
=,filelength%=�#mmy%
=6� #mmy%
=@ș&000406C2
=J� msgflg �
=Tblock%!0=256
=^block%!12=0
=hblock%!16=3
=rblock%!20=wind%
=|block%!24=icon%
=�block%!28=x%
=�block%!32=y%
=�block%!36=filelength%
=�block%!40=&FFF
=�$(block%+44)=afile$+�0
=�%ș&000400E7,17,block%,wind%,icon%
=��
=��
=���clickoptions(ic%)
=�� �
=�*� � � �alert("Error from Tree",�$,0):�
=�Ȏ ic% �
=�� 2
>headcount=oldhead
>�closewindow(options%)
>� 0
>&tt1=fincols
>0tt2=cols
>: frows=�(�icontext(pane%,22))
>D� frows<1 � frows=1
>Nfincols=cols
>Xfheadings=headings
>bfsourcedir=sourcedir
>l)linejunc$=�Ppad(�icontext(pane%,8),1)
>v&tjunc$=�Ppad(�icontext(pane%,9),2)
>�)endjunc$=�Ppad(�icontext(pane%,10),2)
>�flinejunc$=linejunc$
>�fendjunc$=endjunc$
>�ftjunc$=tjunc$
>�fdate=date
>�fboxr=boxr
>�fboxg=boxg
>�fboxb=boxb
>�� dirs<>fdirs �
>�fdirs=dirs
>��dirs(�)
>��
>�flineobj=lineobj
?)� button%<>1 � �closewindow(options%)
?%� tt1<>tt2 � �redrawwindow(main%)
?� 1
? ș&000406C0
?* frows=�(�icontext(pane%,22))
?4� frows<1 � frows=1
?>tt1=fincols
?Htt2=cols
?Rfincols=cols
?\ficonsprites=iconsprites
?ffheadings=headings
?pfsourcedir=sourcedir
?z)linejunc$=�Ppad(�icontext(pane%,8),1)
?�&tjunc$=�Ppad(�icontext(pane%,9),2)
?�)endjunc$=�Ppad(�icontext(pane%,10),2)
?�flinejunc$=linejunc$
?�fendjunc$=endjunc$
?�ftjunc$=tjunc$
?�fdate=date
?�fboxr=boxr
?�fboxg=boxg
?�fboxb=boxb
?�flineobj=lineobj
?�� dirs<>fdirs �
?�fdirs=dirs
?��dirs(�)
@�
@)� button%<>1 � �closewindow(options%)
@%� tt1<>tt2 � �redrawwindow(main%)
@$#oufile%=�("<Tree$Dir>.Options")
@.� #oufile%,headcount
@8� #oufile%,fheadings
@B� #oufile%,fsourcedir
@L� #oufile%,fdate
@V� #oufile%,flinejunc$
@`� #oufile%,ftjunc$
@j� #oufile%,fendjunc$
@t� #oufile%,fincols
@~� #oufile%,ficonsprites
@�� #oufile%,frows
@�� #oufile%,fboxr
@�� #oufile%,fboxg
@�� #oufile%,fboxb
@�� #oufile%,flineobj
@�� #oufile%,fdirs
@�� #oufile%
@�ș&000406C2
@�
@�� 3
@��defaults(�)
@��
A�
A
��clickpane(ic%)
AȎ ic% �
A� 38
A(boxr-=1
A2� boxr>=0 � boxr<=255 �
A<!�setbar(pane%,28,27,255,boxr)
AF"�iconputtext(pane%,35,�(boxr))
AP"�docolourbox(boxr,boxg,boxb,�)
AZ�
Ad� boxr<0 � boxr=0
An� 41
Axboxr+=1
A�� boxr>=0 � boxr<=255 �
A�!�setbar(pane%,28,27,255,boxr)
A�"�iconputtext(pane%,35,�(boxr))
A�"�docolourbox(boxr,boxg,boxb,�)
A��
A�� boxr>255 � boxr=255
A�:
A�� 39
A�boxg-=1
A�� boxg>=0 � boxg<=255 �
A�!�setbar(pane%,31,30,255,boxg)
A�"�iconputtext(pane%,36,�(boxg))
A�"�docolourbox(boxr,boxg,boxb,�)
B�
B� boxg<0 � boxg=0
B� 42
B"boxg+=1
B,� boxg>=0 � boxg<=255 �
B6!�setbar(pane%,31,30,255,boxg)
B@"�iconputtext(pane%,36,�(boxg))
BJ"�docolourbox(boxr,boxg,boxb,�)
BT�
B^� boxg>255 � boxg=255
Bh:
Br� 40
B|boxb-=1
B�� boxb>=0 � boxb<=255 �
B�!�setbar(pane%,34,33,255,boxb)
B�"�iconputtext(pane%,37,�(boxb))
B�"�docolourbox(boxr,boxg,boxb,�)
B��
B�� boxb<0 � boxb=0
B�� 43
B�boxb+=1
B�� boxb>=0 � boxb<=255 �
B�!�setbar(pane%,34,33,255,boxb)
B�"�iconputtext(pane%,37,�(boxb))
B�"�docolourbox(boxr,boxg,boxb,�)
B��
C� boxb>255 � boxb=255
C� 44
Clineobj=� lineobj
C&� lineobj �
C0�selicon(pane%,44)
C:�
CD�uselicon(pane%,44)
CN�
CX� 2
Cbheadings=� headings
Cl
�headings
Cv� 46,47,48,49
C�dirs=� dirs
C�� dirs �
C��selicon(pane%,46)
C��
C��uselicon(pane%,46)
C��
C�� 3
C�sourcedir=� sourcedir
C�� sourcedir �
C�headcount+=1
C��selicon(pane%,3)
C��
C�headcount-=1
D� headcount>0 �
D�uselicon(pane%,3)
D�
D sourcedir=� sourcedir
D*headcount=1
D4�
D>�
DH� 4
DRdate=� date
D\� date �
Dfheadcount+=1
Dp�selicon(pane%,4)
Dz�
D�headcount-=1
D�� headcount>0 �
D��uselicon(pane%,4)
D��
D�date=� date
D�headcount=1
D��
D��
D�� 13
D�� button%=4 � cols-=1
D�� button%=1 � cols+=1
D�� cols>=0 � cols <=15 �
D�"�iconputtext(pane%,14,�(cols))
E�colourset(cols)
E�
E� cols<0 � cols=0
E$� cols>15 � cols=15
E.� 15
E8� button%=4 � cols+=1
EB� button%=1 � cols-=1
EL� cols>=0 � cols <=15 �
EV"�iconputtext(pane%,14,�(cols))
E`�colourset(cols)
Ej�
Et� cols>15 � cols=15
E~� cols<0 � cols=0
E�� 17
E�iconsprites=� iconsprites
E�� iconsprites �
E��selicon(pane%,17)
E��
E��uselicon(pane%,17)
E��
E�� 21
E�rows=�(�icontext(pane%,22))
E�� button%=4 � rows-=1
E�� button%=1 � rows+=1
E�� rows>=1 � rows<=999 �
F"�iconputtext(pane%,22,�(rows))
F
�
F�rows>999 � rows=999
F�rows<1 � rows=1
F(#�IconCaret(pane%,22,�(�(rows)))
F2� 23
F<rows=�(�icontext(pane%,22))
FF� button%=4 � rows+=1
FP� button%=1 � rows-=1
FZ� rows>=1 � rows<=999 �
Fd"�iconputtext(pane%,22,�(rows))
Fn�
Fx�rows>999 � rows=999
F��rows<1 � rows=1
F�#�IconCaret(pane%,22,�(�(rows)))
F�� 28,27
F� �dragslidericon(pane%,28,27)
F�� 31,30
F� �dragslidericon(pane%,31,30)
F�� 34,33
F� �dragslidericon(pane%,34,33)
F��
F��
F�
��pane
F�oldhead=headcount
F�headings=fheadings
Gboxr=fboxr
Gboxg=fboxg
Gboxb=fboxb
G"!�setbar(pane%,28,27,255,boxr)
G,!�setbar(pane%,31,30,255,boxg)
G6!�setbar(pane%,34,33,255,boxb)
G@"�docolourbox(boxr,boxg,boxb,�)
GJ:
GT"�iconputtext(pane%,35,�(boxr))
G^"�iconputtext(pane%,36,�(boxg))
Gh"�iconputtext(pane%,37,�(boxb))
Gr:
G|
�headings
G�sourcedir=fsourcedir
G�� sourcedir �
G��selicon(pane%,3)
G��
G��uselicon(pane%,3)
G��
G�date=fdate
G�� date �
G��selicon(pane%,4)
G��
G��uselicon(pane%,4)
G��
G�#�iconputtext(pane%,8,linejunc$)
H �iconputtext(pane%,9,tjunc$)
H#�iconputtext(pane%,10,endjunc$)
Hcols=fincols
H&"�iconputtext(pane%,14,�(cols))
H0�colourset(cols)
H:iconsprites=ficonsprites
HD� iconsprites �
HN�selicon(pane%,17)
HX�
Hb�uselicon(pane%,17)
Hl�
Hvrows=frows
H�"�iconputtext(pane%,22,�(rows))
H�:
H�lineobj=flineobj
H�� lineobj �
H��selicon(pane%,44)
H��
H��uselicon(pane%,44)
H��
H�� dirs �
H��selicon(pane%,46)
H��
H��uselicon(pane%,46)
H��
I�
I��headings
I� headings �
I �selicon(pane%,2)
I*�usicon(pane%,3)
I4�usicon(pane%,4)
I>�
IH�uselicon(pane%,2)
IR�sicon(pane%,3)
I\�sicon(pane%,4)
If�
Ip�
Iz��colourset(c)
I��changebcolour(pane%,14,c)
I�
Ȏ c �
I�� 0,1,2,3,9,12,14,15
I��changefcolour(pane%,14,7)
I�
I��changefcolour(pane%,14,0)
I��
I��
I� ��changebcolour(wi%,ic%,co%)
I�block%!0=wi%
I�block%!4=ic%
I�block%!8=(co%<<28)
I�block%!12=(%1111<<28)
Jș &400CD,,block%
J�
J ��changefcolour(wi%,ic%,co%)
J$block%!0=wi%
J.block%!4=ic%
J8block%!8=(co%<<24)
JBblock%!12=(%1111<<24)
JLș &400CD,,block%
JV�
J`ݤPpad(st$,n)
Jj� p
Jtp=�(st$)
J~st$=st$+�n-p," ")
J�=st$
J���defaults(flagg%)
J�
dirs=�
J��uselicon(pane%,46)
J�
boxr=0
J�
boxg=0
J�
boxb=0
J�!�setbar(pane%,28,27,255,boxr)
J�!�setbar(pane%,31,30,255,boxg)
J�!�setbar(pane%,34,33,255,boxb)
J�"�docolourbox(boxr,boxg,boxb,�)
J�"�iconputtext(pane%,35,�(boxr))
K"�iconputtext(pane%,36,�(boxg))
K
"�iconputtext(pane%,37,�(boxb))
Krows=50
Kheadings=�
K(sourcedir=�
K2
date=�
K<headcount=2
KFtjunc$="+�"
KPendjunc$="'�"
KZlinejunc$="|"
Kd
cols=7
Kniconsprites=�
Kx� flagg% �
K�
�headings
K�� sourcedir �
K��selicon(pane%,3)
K��
K��uselicon(pane%,3)
K��
K�� date �
K��selicon(pane%,4)
K��
K��uselicon(pane%,4)
K��
K�#�iconputtext(pane%,8,linejunc$)
K� �iconputtext(pane%,9,tjunc$)
L#�iconputtext(pane%,10,endjunc$)
L"�iconputtext(pane%,14,�(cols))
L�colourset(cols)
L"� iconsprites �
L,�selicon(pane%,17)
L6�
L@�uselicon(pane%,17)
LJ�
LT"�iconputtext(pane%,22,�(rows))
L^�
Lh
lineobj=�
Lr� lineobj �
L|�selicon(pane%,44)
L��
L��uselicon(pane%,44)
L��
L��
L� ݤmodulepresent(modulename$)
L�3ș &0002001E,18,modulename$ � M0,M1,M2,M3,M4,M5
L�)� M2=0 � M3=0 � M4=0 � M5=0 � =0 � =1
L�ݤfiletypeofafile(file$)
L�
� obj%
L�+ș &00000008,5,file$ � obj%,,mynewtype%
L�6� obj%=1 � (mynewtype% � &FFF00000) <> &FFF00000 �
L�mynewtype%=-2
L��
MD� obj%=1 � mynewtype%=(mynewtype% � &FFF00) >> 8 � mynewtype%=-1
M�
M=mynewtype%
M&:
M0ݤcheckfreespace
M:(ș"Wimp_SlotSize",-1,-1 � ,,freepool
MD
=freepool
MN:
MX��dodraw(file$)
Mbș &08,11,file$,&aff,0,0
Mlș "Hourglass_On"
Mvrecalcx%=0
M�X%=�(file$)
M�
topx%=300
M�dummytopy%=8150
M�topy%=8150
M�tttemp%=200
M�
dummyx%=0
M�� tttemp%<830 � tttemp%=830
M�� columns �
M�E�makedrawfileheader(topx%-150,topy%-((rows-1)*22)-50,0,topy%+200)
M��
M�N�makedrawfileheader(topx%-150,topy%-((iii%-1)*22)-50,tttemp%+50,topy%+200)
M��
M�:
NB�objectheader(0,8+�fonttablesize("Homerton.Medium"),0,0,0,0,�)
N#�fonttable(1,"Homerton.Medium")
N:
N %�objectheader(11,64+24,0,0,0,0,�)
N*�object
N4:
N>M�objectheader(2,24+16+24+4,topx%-100,topy%+144,topx%-100+650,topy%+144,�)
NH�pathheader(255,0,0)
NR&�drawfilemove(topx%-100,topy%+144)
N\*�drawfiledraw(topx%-100+650,topy%+144)
Nf�endpath
Np:
Nzg�textobject(1,255,0,0,14,14,topx%-100,topy%+150,"Tree ("+�ver$,1,6)+") - by Richard Samphire 1993")
N�=�textobject(1,0,0,0,10,10,topx%-100,topy%+40,"Tree of :")
N�8�textobject(1,0,68,153,8,8,topx%-30,topy%+15,pooup$)
N�:
N�pfaf%=0
N�duff%=0
N�Alinecount%=0
N�Blinecount%=0
N�� puke%=0 � iii%-1
N�.� puke%>0 � (puke% � rows = 0) � columns �
N�topx%=(recalcx%+200)
N�col(duff%)=topx%
N�topy%=dummytopy%
N�recalcx%=0
Opfaf%=0
Oduff%+=1
O� duff%>199 �
O$
duff%=199
O.5� 0,"A tree draw file can only have 199 columns."
O8�
OB�
OL2� iii%-1<>0 � ș&000406C4,(puke%/(iii%-1))*100
OV�getvars(puke%,�)
O`&� subcount%=0 � (numbericons%!0)-1
Oj@� ?(treedef%+subcount%)=asct% � subcount%<(numbericons%!0) �
Ot?� � lineobj � �drawbar(topx%+(subcount%*25),topy%-pfaf%*22)
O~Alinecount%+=1
O��
O�� subcount%
O�(� ?(treedef%+numbericons%!0)=ascl% �
O�I� � lineobj � �drawbotbar(topx%+((numbericons%!0)*25),topy%-pfaf%*22)
O�?�sprite(topx%+((numbericons%!0)*25)+24,(topy%-pfaf%*22)-20)
O�`�textobject(1,0,0,0,8,8,topx%+((numbericons%!0)*25)+55,(topy%-pfaf%*22)-18,�gLn($filename%))
O�Blinecount%+=1
O��
O�(� ?(treedef%+numbericons%!0)=asct% �
O�G� � lineobj � �drawtbar(topx%+((numbericons%!0)*25),topy%-pfaf%*22)
O�?�sprite(topx%+((numbericons%!0)*25)+24,(topy%-pfaf%*22)-20)
O�`�textobject(1,0,0,0,8,8,topx%+((numbericons%!0)*25)+55,(topy%-pfaf%*22)-18,�gLn($filename%))
PBlinecount%+=1
P
�
Ppfaf%+=1
P� puke%
P(:
P2� lineobj �
P<N�objectheader(2,24+16+(Blinecount%*48)+(Alinecount%*24)+4,x,y-22,x+18,y,�)
PF"�pathheader(fboxr,fboxg,fboxb)
PP
topx%=300
PZdummytopy%=8150
Pdtopy%=8150
Pntttemp%=200
Px
dummyx%=0
P�pfaf%=0
P�duff%=0
P�� puke%=0 � iii%-1
P�.� puke%>0 � (puke% � rows = 0) � columns �
P�topx%=col(duff%)
P�topy%=dummytopy%
P�recalcx%=0
P�pfaf%=0
P�duff%+=1
P��
P�2� iii%-1<>0 � ș&000406C4,(puke%/(iii%-1))*100
P��getvars(puke%,�)
P�&� subcount%=0 � (numbericons%!0)-1
Q@� ?(treedef%+subcount%)=asct% � subcount%<(numbericons%!0) �
Q2�drawbar2(topx%+(subcount%*25),topy%-pfaf%*22)
Q�
Q"� subcount%
Q,(� ?(treedef%+numbericons%!0)=ascl% �
Q6<�drawbotbar2(topx%+((numbericons%!0)*25),topy%-pfaf%*22)
Q@�
QJ(� ?(treedef%+numbericons%!0)=asct% �
QT:�drawtbar2(topx%+((numbericons%!0)*25),topy%-pfaf%*22)
Q^�
Qhpfaf%+=1
Qr� puke%
Q|�endpath
Q��
Q�:
Q�filelength%=�#X%
Q�� columns �
Q��#X%=32
Q�"block2%!0=�todraw(dummyx%+250)
Q�ș "OS_GBPB",2,X%,block2%,4
Q��
Q��#X%
Q�ș "Hourglass_Smash"
Q��("SETTYPE "+file$+" &AFF")
Q�block%!0=256
Q�block%!12=0
Rblock%!16=3
Rblock%!20=wind%
Rblock%!24=icon%
R&block%!28=x%
R0block%!32=y%
R:block%!36=filelength%
RDblock%!40=&aff
RN$(block%+44)=file$+�0
RX%ș&000400E7,17,block%,wind%,icon%
Rb�
Rl:
Rv%��makedrawfileheader(xl,yl,xh,yh)
R�$(block2%+0)="Draw"
R�block2%!4=201
R�block2%!8=0
R� $(block2%+12)="Tree        "
R�block2%!24=�todraw(xl)
R�block2%!28=�todraw(yl)
R�block2%!32=�todraw(xh)
R�block2%!36=�todraw(yh)
R� ș "OS_GBPB",2,X%,block2%,40
R��
R�:
R�-��objectheader(type,size,xl,yl,xh,yh,flg)
R�block2%!0=type
Sblock2%!4=size
S� flg �
Sblock2%!8=�todraw(xl)
S block2%!12=�todraw(yl)
S*block2%!16=�todraw(xh)
S4block2%!20=�todraw(yh)
S> ș "OS_GBPB",2,X%,block2%,24
SH�
SRș "OS_GBPB",2,X%,block2%,8
S\�
Sf�
Sp:
Szݤtodraw(num)
S�=num*256
S�:
S���pathheader(r,g,b)
S�block2%!0=-1
S�?(block2%+4)=0
S�?(block2%+5)=r
S�?(block2%+6)=g
S�?(block2%+7)=b
S�block2%!8=0
S�block2%!12=%1101000
S� ș "OS_GBPB",2,X%,block2%,16
S��
S�:
T��drawfilemove(x,y)
Tblock2%!0=2
Tblock2%!4=�todraw(x)
T$block2%!8=�todraw(y)
T. ș "OS_GBPB",2,X%,block2%,12
T8�
TB:
TL��drawfiledraw(x,y)
TVblock2%!0=8
T`block2%!4=�todraw(x)
Tjblock2%!8=�todraw(y)
Tt ș "OS_GBPB",2,X%,block2%,12
T~�
T�:
T�
��endpath
T�block2%!0=0
T�ș "OS_GBPB",2,X%,block2%,4
T��
T�:
T���object
T�block2%!0=(0+1)*&100
T�block2%!4=0
T�|(block2%+8)=1.0
T�block2%!16=2
T�block2%!20=0
Ublock2%!24=0
U
block2%!28=0
Ublock2%!32=0
Ublock2%!36=1
U(block2%!40=1
U2block2%!44=1
U<block2%!48=0
UFblock2%!52=1
UPblock2%!56=0
UZblock2%!60=4096
Ud ș "OS_GBPB",2,X%,block2%,64
Un�
Ux:
U���drawtbar(x,y)
U�2�objectheader(2,24+16+24+24+4,x,y-22,x+18,y,�)
U�"�pathheader(fboxr,fboxg,fboxb)
U��drawfilemove(x,y)
U��drawfiledraw(x,y-22)
U��drawfilemove(x,y-11)
U��drawfiledraw(x+18,y-11)
U��endpath
U��
U�:
U���drawbotbar(x,y)
U�2�objectheader(2,24+16+24+24+4,x,y-11,x+18,y,�)
U�"�pathheader(fboxr,fboxg,fboxb)
V�drawfilemove(x,y)
V�drawfiledraw(x,y-11)
V�drawfilemove(x,y-11)
V"�drawfiledraw(x+18,y-11)
V,�endpath
V6�
V@:
VJ��drawbar(x,y)
VT/�objectheader(2,24+16+24+4,x,y-22,x+18,y,�)
V^"�pathheader(fboxr,fboxg,fboxb)
Vh�drawfilemove(x,y)
Vr�drawfiledraw(x,y-22)
V|�endpath
V��
V�:
V���fonttable(number,font$)
V�� blank%=0 � 20+�(font$)
V�?(block2%+blank%)=0
V��blank%
V�?(block2%+0)=number
V�$(block2%+1)=font$+�0
V�3ș "OS_GBPB",2,X%,block2%,�fonttablesize(font$)
V��
V�:
V�ݤfonttablesize(FO$)
V�l=0
WFO$=FO$+�0
W
l+=�(FO$)
Wcs=l � 4
W&� cs>0 � cs=4-cs
W0cs+=�(FO$)
W:
=cs+12
WD:
WN-��textobject(number,r,g,b,px,py,x,y,str$)
WXMXP=px*1000
WbMYP=py*1000
Wl#ș &40088,,MXP,MYP � ,MMXP,MMYP
WvMMXP=MMXP*(�(str$)/2)
W�sx=0
W�� b=0 � �(str$)
W�;�objectheader(1,24+�fontsize(str$),x,y,x+MMXP,y+MMYP,�)
W�� x>recalcx% � recalcx%=x
W�%� x+MMXP>dummyx% � dummyx%=x+MMXP
W�� blank%=0 � 40+�(str$)
W�?(block2%+blank%)=0
W��blank%
W�?(block2%+0)=0
W�?(block2%+1)=r
W�?(block2%+2)=g
W�?(block2%+3)=b
W�?(block2%+4)=0
X?(block2%+5)=255
X?(block2%+6)=255
X?(block2%+7)=255
X block2%!8=number
X*block2%!12=px*640
X4block2%!16=py*640
X>block2%!20=�todraw(x)
XHblock2%!24=�todraw(y)
XR$(block2%+28)=str$+�0
X\-ș "OS_GBPB",2,X%,block2%,�fontsize(str$)
Xf�
Xp:
Xzݤfontsize(FO$)
X�l=0
X�FO$=FO$+�0
X�
l+=�(FO$)
X�cs=l � 4
X�� cs>0 � cs=4-cs
X�cs+=�(FO$)
X�
=cs+28
X�:
X���sprite(XXMY,YYMY)
X�fcack$=�gLn($filename%)
X�!� type%!0>&FFF � type%!0<&0 �
X�  � �fcack$,1)="!" �
X�    valid$=fcack$
Y6  � � �spriteexists(valid$) � valid$="application"
Y  �
Y    valid$="directory"
Y$  �
Y.�
Y8"  valid$="file_"+�pad(type%!0)
YB3  � � �spriteexists(valid$) � valid$="file_xxx"
YL�
YV:
Y`�subspr
Yj�
Yt:
Y~��subspr
Y�� �
Y�� � � � �=134 � �subspr2:�
Y�ș &400EA � newarea
Y�0ș &2E,256+24,newarea,valid$ � ,,sprpointer%
Y�:
Y�spritelength%=sprpointer%!0
Y�mval=(24+spritelength%) � 4
Y�� mval>0 � mval=4-mval
Y�F�objectheader(5,24+spritelength%+mval,XXMY,YYMY,XXMY+20,YYMY+20,�)
Y�/ș "OS_GBPB",2,X%,sprpointer%,spritelength%
Y�block2%!0=0
Y�"ș "OS_GBPB",2,X%,block2%,mval
Z�
Z
:
Z
��subspr2
Z� �
Z(� � � � 0,�$+�(�)
Z2ș &400ea � ,newarea
Z<0ș &2e,256+24,newarea,valid$ � ,,sprpointer%
ZF:
ZPspritelength%=sprpointer%!0
ZZmval=(24+spritelength%) � 4
Zd� mval>0 � mval=4-mval
ZnF�objectheader(5,24+spritelength%+mval,XXMY,YYMY,XXMY+20,YYMY+20,�)
Zx/ș "OS_GBPB",2,X%,sprpointer%,spritelength%
Z�block2%!0=0
Z�"ș "OS_GBPB",2,X%,block2%,mval
Z��
Z�:
Z�%��IconCaret(window%,icon%,chars%)
Z�8ș "Wimp_SetCaretPosition",window%,icon%,,,-1,chars%
Z��
Z�:
Z���drawtbar2(x,y)
Z��drawfilemove(x,y)
Z��drawfiledraw(x,y-22)
Z��drawfilemove(x,y-11)
Z��drawfiledraw(x+18,y-11)
[�
[:
[��drawbotbar2(x,y)
["�drawfilemove(x,y)
[,�drawfiledraw(x,y-11)
[6�drawfilemove(x,y-11)
[@�drawfiledraw(x+18,y-11)
[J�
[T:
[^��drawbar2(x,y)
[h�drawfilemove(x,y)
[r�drawfiledraw(x,y-22)
[|�
[�:
[�
[�ݤattributes(attrib)
[�attribute$=""
[�&� attrib � %1000 � attribute$+="L"
[�$� attrib � %10 � attribute$+="W"
[�#� attrib � %1 � attribute$+="R"
[�attribute$+="/"
[�*� attrib � %10000000 � attribute$+="l"
[�(� attrib � %100000 � attribute$+="w"
[�'� attrib � %10000 � attribute$+="r"
[�=attribute$
[�:
\"ݤmyconvert(laddress,eaddress)
\Z� (laddress � %11111111111100000000000000000000) = %11111111111100000000000000000000 �
\:templ=laddress � (� %11111111111111111111111100000000)
\&?(block2%+4)=templ
\0:tempe=eaddress � (� %00000000111111111111111111111111)
\:?(block2%+3)=tempe>>24
\D:tempe=eaddress � (� %11111111000000001111111111111111)
\N?(block2%+2)=tempe>>16
\X:tempe=eaddress � (� %11111111111111110000000011111111)
\b?(block2%+1)=tempe>>8
\l:tempe=eaddress � (� %11111111111111111111111100000000)
\v?(block2%+0)=tempe
\�result%=block2%+256
\�:ș "OS_ConvertStandardDateAndTime",block2%,result%,256
\�=�getstring(result%)
\��
\�%=�~(laddress)+"    "+�~(eaddress)
\�:
\���getprinterinfo
\�0ș "XPDriver_Info" � R0,R1,R2,R3,R4,R5,R6,R7
\�/� R1=0 � R2=0 � R3=0 � R4=0 � R5=0 � R6=0 �
\�
driver%=�
\�printer$="None Installed"
\��
\�
driver%=�
]printer$=�getstring(R4)
]�
]�
] :
]*��clickprint(ic%)
]4Ȏ ic% �
]>� 1
]H!copies=�(�icontext(print%,2))
]R� copies<0 � copies=1
]\� copies>999 � copies=999
]f� button%=4 � copies-=1
]p� button%=1 � copies+=1
]z� copies<1 � copies=1
]�� copies>999 � copies=999
]�$�iconputtext(print%,2,�(copies))
]�%�IconCaret(print%,2,�(�(copies)))
]�� 3
]�!copies=�(�icontext(print%,2))
]�� copies<1 � copies=1
]�� copies>999 � copies=999
]�� button%=1 � copies-=1
]�� button%=4 � copies+=1
]�� copies<0 � copies=1
]�� copies>999 � copies=999
]�$�iconputtext(print%,2,�(copies))
]�%�IconCaret(print%,2,�(�(copies)))
^� 5
^!copies=�(�icontext(print%,2))
^� copies<1 � copies=1
^$� copies>999 � copies=999
^.doprint%=�
^8poowindow%=print%
^Bblock%!0=256
^Lblock%!12=0
^Vblock%!16=&80142
^`block%!20=0
^jblock%!24=0
^tblock%!28=0
^~block%!32=0
^�block%!36=-1
^�block%!40=&FFF
^�($(block%+44)=�gLn("<Wimp$Scrap>")+�0
^�%ș "Wimp_SendMessage",18,block%,0
^�*� button%<>1 � ș "Wimp_CreateMenu",-1
^��
^��
^��
^�:
^�ݤmycontrol
^�block2%!0=mycontrol%
^�ș &000400CB,,block2%
_ș &000400C5,,block2%
_

tBB=-1
_�
_-ș &000400C7,0,block2% � reason2%,block2%
_(Ȏ reason2% �
_2� 1
_< ș &000400C8,,block2% � flag
_Fȕ flag
_P-�dolines(block2%!8,block2%!16,block2%!24)
_Z ș &000400CA,,block2% � flag
_d�
_n� 2
_xș &000400C5,,block2%
_�� 6
_�subbutton%=block2%!8
_�subwindow%=block2%!12
_�subicon%=block2%!16
_�� subwindow%=mycontrol% �
_�Ȏ subicon% �
_�� 5 : tBB = 0
_�� 6 : tBB = 1
_�� 7 : tBB = 2
_��
_��
_�� 18
_�� block2%!16=8 �
`  block2%!12=block2%!8
`(  ș "Wimp_SendMessage",19,block2%,0
`  �sicon(mycontrol%,6)
`"  pressed=�
`,�
`6�
`@
`J� tBB>-1
`T=tBB
`^:
`h.��dragslidericon(win%,dragicon%,sizeicon%)
`rblock%!0=win%
`|block%!4=sizeicon%
`�"ș "Wimp_GetIconState",,block%
`�sminx%=block%!8
`�sminy%=block%!12
`�smaxx%=block%!16
`�smaxy%=block%!20
`�$ș "Wimp_GetPointerInfo",,block%
`�mx%=block%!0
`�block%!0=win%
`�#ș "Wimp_GetWindowInfo",,block%
`�/calcx%=(mx%-(block%!4-block%!20))+block%!44
`�ș &35,�,4 � ,,xfact%
`�)iconminx%=sminx%+(block%!4-block%!20)
`�'iconmaxx%=iconminx%+(smaxx%-sminx%)
a*iconminy%=sminy%+(block%!16-block%!24)
aș &35,�,5 � ,,yfact%
a3iconmaxy%=iconminy%+(smaxy%-sminy%)-(1<<yfact%)
a&block%!0=win%
a0block%!4=7
a:block%!8=iconminx%
aDblock%!12=iconminy%
aNblock%!16=iconmaxx%
aXblock%!20=iconmaxy%
abblock%!24=block%!8
alblock%!28=block%!12
avblock%!32=block%!16
a�block%!36=block%!20
a�ș "Wimp_DragBox",,block%
a�slidewindow%=win%
a�slideicon%=dragicon%
a�slidesize%=sizeicon%
a�lastwindow%=win%
a�block%!0=win%
a�block%!4=dragicon%
a�"ș "Wimp_GetIconState",,block%
a�oldworkx%=block%!16
a��
a�:
a�5��doslide(win%,dragicon%,sizeicon%,const%,range%)
bblock%!0=win%
bblock%!4=sizeicon%
b"ș "Wimp_GetIconState",,block%
b sizeminx%=block%!8
b*sizeminy%=block%!12
b4sizemaxx%=block%!16
b>sizemaxy%=block%!20
bHȗ mx%,my%,mb%
bRblock%!0=win%
b\#ș "Wimp_GetWindowInfo",,block%
bfminx%=block%!4
bpscrx%=block%!20
bznewx%=mx%+(scrx%-minx%)
b�� newx%<>oldworkx% �
b�  block%!0=win%
b�  block%!4=dragicon%
b�$  ș "Wimp_GetIconState",,block%
b�  block%!16=newx%
b�  block%!0=win%
b�  block%!4=dragicon%
b�"  ș "Wimp_DeleteIcon",,block%
b�  block%!4=win%
b�$  ș "Wimp_CreateIcon",,block%+4
b�newblock%=block%+4
b�� oldworkx%<newx% �
b�newblock%!4=sizeminx%
c�
cnewblock%!4=newx%
c�
c$newblock%!8=sizeminy%
c.� oldworkx%>newx% �
c8newblock%!12=sizemaxx%
cB�
cLnewblock%!12=newx%
cV�
c`newblock%!16=sizemaxy%
cj,ș "Wimp_UpdateWindow",,newblock% � flag
ctȕ flag
c~,ș "Wimp_GetRectangle",,newblock% � flag
c��
c�  � const% �
c�!    size%=sizemaxx%-sizeminx%
c�    ppos%=(newx%-sizeminx%)
c�$    number%=(range%/size%)*ppos%
c�	    :
c�    Ȏ slideicon% �
c�    � 28
c�    boxr=number%
c�&    �iconputtext(pane%,35,�(boxr))
c�&    �docolourbox(boxr,boxg,boxb,�)
c�    � 31
d    boxg=number%
d
&    �iconputtext(pane%,36,�(boxg))
d&    �docolourbox(boxr,boxg,boxb,�)
d    � 34
d(    boxb=number%
d2&    �iconputtext(pane%,37,�(boxb))
d<&    �docolourbox(boxr,boxg,boxb,�)
dF	    �
dP  �
dZ�
ddblock%!0=win%
dnblock%!4=dragicon%
dx"ș "Wimp_GetIconState",,block%
d�oldworkx%=block%!16
d�rrange%=range%
d��
d�:
d�5��setbar(win%,dragicon%,sizeicon%,range%,number%)
d�� number%<0 � number%=0
d�%� number%>range% � number%=range%
d�block%!0=win%
d�block%!4=sizeicon%
d�"ș "Wimp_GetIconState",,block%
d�sizeminx%=block%!8
d�sizeminy%=block%!12
d�sizemaxx%=block%!16
esizemaxy%=block%!20
e<newx%=sizeminx%+(number%/(range%/(sizemaxx%-sizeminx%)))
eblock%!0=win%
e"block%!4=dragicon%
e,"ș "Wimp_GetIconState",,block%
e6block%!16=newx%
e@block%!0=win%
eJblock%!4=dragicon%
eT ș "Wimp_DeleteIcon",,block%
e^block%!4=win%
eh"ș "Wimp_CreateIcon",,block%+4
ernewblock%=block%+4
e|� oldworkx%<newx% �
e�newblock%!4=sizeminx%
e��
e�newblock%!4=newx%
e��
e�newblock%!8=sizeminy%
e�� oldworkx%<newx% �
e�newblock%!12=newx%
e��
e�newblock%!12=sizemaxx%
e��
e�newblock%!16=sizemaxy%
e�,ș "Wimp_UpdateWindow",,newblock% � flag
e�ȕ flag
f,ș "Wimp_GetRectangle",,newblock% � flag
f�
foldworkx%=newx%
f&�
f0:
f:2ݤgetbarvalue(win%,dragicon%,sizeicon%,range%)
fDblock%!0=win%
fNblock%!4=sizeicon%
fX"ș "Wimp_GetIconState",,block%
fbsizeminx%=block%!8
flsizemaxx%=block%!16
fvblock%!0=win%
f�block%!4=dragicon%
f�"ș "Wimp_GetIconState",,block%
f�8=(range%/(sizemaxx%-sizeminx%))*(block%!16-block%!8)
f�:
f�ݤtopal(r,g,b)
f�C=0
f�C=C � (b<<24)
f�C=C � (g<<16)
f�C=C � (r<<8)
f�=C
f�:
f���docolourbox(r,g,b,flg)
f�block2%!0=pane%
gș&400cb,,block2%
gbtopx%=block2%!4-block2%!20
g btopy%=block2%!16-block2%!24
g � flg �
g*block2%!0=pane%
g4block2%!4=45
g>#ș "Wimp_GetIconState",,block2%
gHnewblock%=block2%+4
gRnewblock%!0=pane%
g\-ș "Wimp_UpdateWindow",,newblock% � fflag
gfȕ fflag
gp9ș "ColourTrans_SetGCOL",�topal(r,g,b),,,%100000000,0
gz'ȓ Ȑ btopx%+234,btopy%-1036,234,38
g�-ș "Wimp_GetRectangle",,newblock% � fflag
g��
g��
g�9ș "ColourTrans_SetGCOL",�topal(r,g,b),,,%100000000,0
g�'ȓ Ȑ btopx%+234,btopy%-1036,234,38
g��
g��
g�:
g���dotitle(funny)
g��centrewindow(title%)
g�-ș &000400C7,0,block2% � reason2%,block2%
g�t=�
g��
h� �>t+funny
h�closewindow(title%)
h�
h$:
h.��initsprites
h8+ș "OS_ReadModeVariable",-1,5 � ,,yeig%
hB5� yeig%<2 � sprite$="Sprites" � sprite$="Sprites"
hL<ș "OS_File",17,"<Tree$Dir>."+sprite$ � type%,,,,length%
hV� sprite% length%+4
h`!sprite%=length%+4
hj6ș "OS_SpriteOp",266,sprite%,"<Tree$Dir>."+sprite$
ht�
h~:
h���centrewindow(win%)
h�#ș &00000035,�,11 � ,,xpixlimit
h�#ș &00000035,�,12 � ,,ypixlimit
h�ș &00000035,�,4 � ,,xfact
h�ș &00000035,�,5 � ,,yfact
h�maxX=(xpixlimit+1)<<xfact
h�maxY=(ypixlimit+1)<<yfact
h�:
h�block%!0=win%
h�ș &000400CB,,block%
h�:
h�� � �isopen(win%) �
iwx%=block%!12-block%!4
i
wx2%=wx% � 2
icX=maxX � 2
iblock%!4=cX-wx2%
i(block%!12=block%!4+wx%
i2wy%=block%!16-block%!8
i<wy2%=wy% � 2
iFcY=maxY � 2
iPblock%!8=cY-wy2%
iZblock%!16=block%!8+wy%
id�
in:
ixș &000400C5,,block%
i��
i�:
i���dragmyfile
i��getvars(icon%-1,�)
i�fty%=type%!0
i�temp$=�gLn($filename%)
i�� fty%>&FFF � fty%<&0 �
i�  � �temp$,1)="!" �
i�    valid$=temp$
i�8    � � �spriteexists(valid$) � valid$="application"
i�  �
i�    valid$="directory"
i�  �
j�
j  valid$="file_"+�pad(fty%)
j�
j"9� type%!0=-2 � valid$="directory" � valid$="file_xxx"
j,1� � �spriteexists(valid$) � valid$="file_xxx"
j6:
j@�subspr3
jJș &00000035,�,4 � ,,xfact
jTș &00000035,�,5 � ,,yfact
j^wpix%=wpix2%<<xfact
jhhpix%=hpix2%<<yfact
jr:
j|block%!0=x%-(wpix% � 2)
j�block%!4=y%-(hpix% � 2)
j�block%!8=block%!0+wpix%
j�block%!12=block%!4+hpix%
j�:
j�:ș "DragASprite_Start",%11000101,newarea,valid$,block%
j�lastwindow%=main%
j��
j�:
j�
��subspr3
j�� �
j�� � � � �=134 � �subspr4:�
j�ș &400EA � newarea
j�3ș &2e,256+40,newarea,valid$ � ,,,wpix2%,hpix2%
k�
k:
k
��subspr4
k&� �
k0� � � � 0,�$
k:ș &400ea � ,newarea
kD3ș &2e,256+40,newarea,valid$ � ,,,wpix2%,hpix2%
kN�
kX:
kb��dirs(inflg)
kl� iii%>0 �
kv  ș "Hourglass_On"
k�  � fdirs �
k�    � smeg%=1 � iii%
k�8      � iii%-1<>0 � ș&000406C4,(smeg%/(iii%-1))*100
k�        �getvars(smeg%-1,�)
k�/        � type%!0<>-1 � �sicon(main%,smeg%)
k�      �smeg%
k�	    �
k�      � inflg �
k�        � smeg%=1 � iii%
k�<          � iii%-1<>0 � ș&000406C4,(smeg%/(iii%-1))*100
k�!          �getvars(smeg%-1,�)
k�2          � type%!0<>-1 � �usicon(main%,smeg%)
k�        �smeg%
l      �
l	    �
l  ș "Hourglass_Smash"
l �
l*�
l4:
l>��opensearch
lHcursearch=currentsearch-1
lR:� cursearch=0 � �sicon(search%,4) � �usicon(search%,4)
l\?� cursearch=iii%-1 � �sicon(search%,5) � �usicon(search%,5)
lf�getvars(cursearch,�)
lp,�iconputtext(search%,8,�gLn($filename%))
lz� � �isopen(search%) �
l�casesens=�
l��uselicon(search%,11)
l�searchfile=�
l�searchtype=�
l��selicon(search%,0)
l��uselicon(search%,1)
l��usicon(search%,2)
l��sicon(search%,3)
l��iconputtext(search%,2,"")
l��iconputtext(search%,3,"")
l��PROCcentrewindow(search%)
l�searchwindow%=�
l��openwindow(main%,�)
m�
m�
m:
m$��clicksearch(ic%)
m.Ȏ ic% �
m8� 14
mB�closewindow(search%)
mL� 11,12
mVcasesens=� casesens
m`� casesens �
mj�selicon(search%,11)
mt�
m~�uselicon(search%,11)
m��
m�� 0
m�� searchtype �
m�searchfile=� searchfile
m��
m�� searchfile �
m��selicon(search%,0)
m��usicon(search%,2)
m�1�iconcaret(search%,2,�(�icontext(search%,2)))
m��
m��uselicon(search%,0)
m��sicon(search%,2)
n1�iconcaret(search%,3,�(�icontext(search%,3)))
n
�
n� 1
n� searchfile �
n(searchtype=� searchtype
n2�
n<� searchtype �
nF�selicon(search%,1)
nP�usicon(search%,3)
nZ1�iconcaret(search%,3,�(�icontext(search%,3)))
nd�
nn�uselicon(search%,1)
nx�sicon(search%,3)
n�1�iconcaret(search%,2,�(�icontext(search%,2)))
n��
n�� 4
n�l� searchfile � �icontext(search%,2)="" � �alert("Message from Tree","Please enter a search filename.",0)
n�l� searchtype � �icontext(search%,3)="" � �alert("Message from Tree","Please enter a search filetype.",0)
n��� (searchfile � �icontext(search%,2)<>"") � (searchtype � �icontext(search%,3)<>"") � �searchup(cursearch,�icontext(search%,2),�icontext(search%,3))
n�� 5
n�l� searchfile � �icontext(search%,2)="" � �alert("Message from Tree","Please enter a search filename.",0)
n�l� searchtype � �icontext(search%,3)="" � �alert("Message from Tree","Please enter a search filetype.",0)
nܚ� (searchfile � �icontext(search%,2)<>"") � (searchtype � �icontext(search%,3)<>"") � �searchdown(cursearch,�icontext(search%,2),�icontext(search%,3))
n��
n��
n�:
oݤisopen(win%)
oblock3%!0=win%
o%ș "Wimp_GetWindowState",,block3%
o"winflags%=block3%!32
o,0� (winflags% � %10000000000000000) = 65536 �
o6=�
o@�
oJ=�
oT�
o^:
oh��viewicon(win%,ic%)
orblock%!0=win%
o|block%!4=ic%
o�"ș "Wimp_GetIconState",,block%
o�+middle%=block%!12+(block%!20-block%!12)
o�block%!0=win%
o�$ș "Wimp_GetWindowState",,block%
o�0block%!24=middle%+((block%!16-block%!8) � 2)
o� ș "Wimp_OpenWindow",,block%
o��
o�:
o�/��searchup(c,searchstring1$,searchstring2$)
o�$subsearchstring1$=searchstring1$
o�$subsearchstring2$=searchstring2$
o��uselicon(main%,c+1)
o�found=-1
p� c-1>=0 �
p
smeg%=c-1
pș "Hourglass_On"
p&�
p0�getvars(smeg%,�)
p:� found=-1 �
pD� casesens �
pN ttfilename$=�gLn($filename%)
pXttfbo$=�pad(type%!0)
pb�
pl*ttfilename$=�tolower(�gLn($filename%))
pv"ttfbo$=�tolower(�pad(type%!0))
p�+searchstring1$=�tolower(searchstring1$)
p�+searchstring2$=�tolower(searchstring2$)
p��
p�!� �subsearchstring1$,"*")>0 �
p�#fudge=�subsearchstring1$,"*")-1
p�� casesens �
p�.searchstring1$=�subsearchstring1$,1,fudge)
p�%ttfilename$=�ttfilename$,1,fudge)
p��
p�8searchstring1$=�tolower(�subsearchstring1$,1,fudge))
p�/ttfilename$=�tolower(�ttfilename$,1,fudge))
p��
p��
q!� �subsearchstring2$,"*")>0 �
q#fudge=�subsearchstring2$,"*")-1
q� casesens �
q .searchstring2$=�subsearchstring2$,1,fudge)
q*ttfbo$=�ttfbo$,1,fudge)
q4�
q>8searchstring2$=�tolower(�subsearchstring2$,1,fudge))
qH%ttfbo$=�tolower(�ttfbo$,1,fudge))
qR�
q\�
qfJ� ttfilename$=searchstring1$ � searchfile � � searchtype � found=smeg%
qpE� ttfbo$=searchstring2$ � � searchfile � searchtype � found=smeg%
qz`� ttfilename$=searchstring1$ � ttfbo$=searchstring2$ � searchfile � searchtype � found=smeg%
q��
q�smeg%-=1
q��found>-1 � smeg%<0
q�ș "Hourglass_Smash"
q��
q�� found=-1 �
q�d�alert("Message from Tree","'"+�icontext(search%,2)+"' was not found above the current file.",0)
q��
q��viewicon(main%,found+1)
q��selicon(main%,found+1)
q�cursearch=found
q�:� cursearch=0 � �sicon(search%,4) � �usicon(search%,4)
q�?� cursearch=iii%-1 � �sicon(search%,5) � �usicon(search%,5)
r�getvars(cursearch,�)
r,�iconputtext(search%,8,�gLn($filename%))
r�
r$�
r.:
r8ݤtolower(A$)
rB� q=1 � �(A$)
rLQ� �(�A$,q,1))>=�"A" � �(�A$,q,1))<=�"Z" � �A$,q,1)=�(�(�A$,q,1))+(�"a"-�"A"))
rV� q
r`=A$
rj:
rt1��searchdown(c,searchstring1$,searchstring2$)
r~$subsearchstring1$=searchstring1$
r�$subsearchstring2$=searchstring2$
r��uselicon(main%,c+1)
r�found=-1
r�� c+1<=iii%-1 �
r�
smeg%=c+1
r�ș "Hourglass_On"
r��
r��getvars(smeg%,�)
r�� found=-1 �
r�� casesens �
r� ttfilename$=�gLn($filename%)
r�ttfbo$=�pad(type%!0)
s�
s
*ttfilename$=�tolower(�gLn($filename%))
s"ttfbo$=�tolower(�pad(type%!0))
s+searchstring1$=�tolower(searchstring1$)
s(+searchstring2$=�tolower(searchstring2$)
s2�
s<!� �subsearchstring1$,"*")>0 �
sF#fudge=�subsearchstring1$,"*")-1
sP� casesens �
sZ.searchstring1$=�subsearchstring1$,1,fudge)
sd%ttfilename$=�ttfilename$,1,fudge)
sn�
sx8searchstring1$=�tolower(�subsearchstring1$,1,fudge))
s�/ttfilename$=�tolower(�ttfilename$,1,fudge))
s��
s��
s�!� �subsearchstring2$,"*")>0 �
s�#fudge=�subsearchstring2$,"*")-1
s�� casesens �
s�.searchstring2$=�subsearchstring2$,1,fudge)
s�ttfbo$=�ttfbo$,1,fudge)
s��
s�8searchstring2$=�tolower(�subsearchstring2$,1,fudge))
s�%ttfbo$=�tolower(�ttfbo$,1,fudge))
s��
s��
tJ� ttfilename$=searchstring1$ � searchfile � � searchtype � found=smeg%
tE� ttfbo$=searchstring2$ � � searchfile � searchtype � found=smeg%
t`� ttfilename$=searchstring1$ � ttfbo$=searchstring2$ � searchfile � searchtype � found=smeg%
t"�
t,smeg%+=1
t6�found>-1 � smeg%>iii%+1
t@ș "Hourglass_Smash"
tJ�
tT� found=-1 �
t^d�alert("Message from Tree","'"+�icontext(search%,2)+"' was not found below the current file.",0)
th�
tr�viewicon(main%,found+1)
t|�selicon(main%,found+1)
t�cursearch=found
t�:� cursearch=0 � �sicon(search%,4) � �usicon(search%,4)
t�?� cursearch=iii%-1 � �sicon(search%,5) � �usicon(search%,5)
t��getvars(cursearch,�)
t�,�iconputtext(search%,8,�gLn($filename%))
t��
t��
�
00000000  0d 00 0a 3e f4 3e 53 43  53 49 3a 3a 53 43 53 49  |...>.>SCSI::SCSI|
00000010  44 72 69 76 65 34 2e 24  2e 21 44 65 76 65 6c 6f  |Drive4.$.!Develo|
00000020  70 2e 46 69 6c 65 73 2e  54 72 65 65 76 31 2e 21  |p.Files.Treev1.!|
00000030  54 72 65 65 2e 21 52 75  6e 49 6d 61 67 65 0d 00  |Tree.!RunImage..|
00000040  14 5e ee 20 85 20 f2 61  6c 65 72 74 28 22 4d 61  |.^. . .alert("Ma|
00000050  6a 6f 72 20 42 41 44 20  65 72 72 6f 72 20 66 72  |jor BAD error fr|
00000060  6f 6d 20 54 72 65 65 22  2c f6 24 2b 22 20 22 2b  |om Tree",.$+" "+|
00000070  c3 28 9e 29 2c 30 29 3a  c8 99 20 26 30 30 30 34  |.(.),0):.. &0004|
00000080  30 30 44 44 2c 74 61 73  6b 68 61 6e 64 6c 65 25  |00DD,taskhandle%|
00000090  2c 26 34 42 35 33 34 31  35 34 3a e0 0d 00 1e 05  |,&4B534154:.....|
000000a0  3a 0d 00 28 16 74 61 73  6b 73 69 7a 65 25 3d 32  |:..(.tasksize%=2|
000000b0  35 36 2a 31 30 32 34 0d  00 32 16 73 6d 65 67 62  |56*1024..2.smegb|
000000c0  6c 6f 63 6b 73 69 7a 65  25 3d 34 30 30 0d 00 3c  |locksize%=400..<|
000000d0  0e 65 6e 64 70 72 6f 67  25 3d 93 0d 00 46 05 3a  |.endprog%=...F.:|
000000e0  0d 00 50 3c f4 20 20 20  20 20 20 20 20 20 62 79  |..P<.         by|
000000f0  20 52 69 63 68 61 72 64  20 53 61 6d 70 68 69 72  | Richard Samphir|
00000100  65 20 31 39 39 33 20 20  20 20 20 2d 2d 2d 2d 2d  |e 1993     -----|
00000110  2d 2d 2d 2d 2d 2d 20 42  4f 4f 20 21 0d 00 5a 05  |------ BOO !..Z.|
00000120  3a 0d 00 64 0f c8 99 26  30 30 30 34 30 36 43 30  |:..d...&000406C0|
00000130  0d 00 6e 17 c8 99 20 26  30 30 30 30 30 30 31 30  |..n... &00000010|
00000140  20 b8 20 65 6e 76 24 0d  00 78 18 e7 20 a7 65 6e  | . env$..x.. .en|
00000150  76 24 2c 22 20 2d 71 75  69 74 20 22 29 20 8c 0d  |v$," -quit ") ..|
00000160  00 82 35 64 6f 75 62 6c  65 63 6c 69 63 6b 24 3d  |..5doubleclick$=|
00000170  c1 65 6e 76 24 2c a7 65  6e 76 24 2c bd 28 33 34  |.env$,.env$,.(34|
00000180  29 2c a7 65 6e 76 24 2c  bd 28 33 34 29 29 2b 31  |),.env$,.(34))+1|
00000190  29 2b 31 29 0d 00 8c 05  cd 0d 00 96 0e 79 65 61  |)+1).........yea|
000001a0  72 24 3d 22 39 33 22 0d  00 a0 23 76 65 72 24 3d  |r$="93"...#ver$=|
000001b0  22 76 31 2e 30 36 61 20  28 31 39 2d 30 39 2d 22  |"v1.06a (19-09-"|
000001c0  2b 79 65 61 72 24 2b 22  29 22 0d 00 aa 10 6e 61  |+year$+")"....na|
000001d0  6d 65 24 3d 22 54 72 65  65 22 0d 00 b4 22 6d 61  |me$="Tree"..."ma|
000001e0  67 24 3d 22 a9 20 41 72  63 68 69 6d 65 64 65 73  |g$=". Archimedes|
000001f0  20 57 6f 72 6c 64 20 31  39 39 33 22 0d 00 be 2a  | World 1993"...*|
00000200  70 75 72 70 6f 73 65 24  3d 22 53 68 6f 77 73 20  |purpose$="Shows |
00000210  74 72 65 65 20 64 69 73  70 6c 61 79 20 6f 66 20  |tree display of |
00000220  66 69 6c 65 73 22 0d 00  c8 10 f2 69 6e 69 74 73  |files".....inits|
00000230  70 72 69 74 65 73 0d 00  d2 22 74 61 73 6b 68 61  |prites..."taskha|
00000240  6e 64 6c 65 25 3d a4 69  6e 69 74 69 61 6c 69 73  |ndle%=.initialis|
00000250  65 28 6e 61 6d 65 24 29  0d 00 dc 23 69 63 6f 6e  |e(name$)...#icon|
00000260  62 61 72 25 3d a4 69 63  6f 6e 62 61 72 28 22 21  |bar%=.iconbar("!|
00000270  22 2b 6e 61 6d 65 24 2c  2d 31 29 0d 00 e6 41 6d  |"+name$,-1)...Am|
00000280  61 69 6e 6d 65 6e 75 25  3d a4 63 72 65 61 74 65  |ainmenu%=.create|
00000290  6d 65 6e 75 28 6e 61 6d  65 24 2c 33 2c 22 49 6e  |menu(name$,3,"In|
000002a0  66 6f 3e 69 6e 66 6f 25  7c 4f 70 74 69 6f 6e 73  |fo>info%|Options|
000002b0  8c 7c 51 75 69 74 22 2c  31 35 30 29 0d 00 f0 55  |.|Quit",150)...U|
000002c0  73 61 76 65 6d 65 6e 75  25 3d a4 63 72 65 61 74  |savemenu%=.creat|
000002d0  65 6d 65 6e 75 28 22 53  61 76 65 22 2c 33 2c 22  |emenu("Save",3,"|
000002e0  54 65 78 74 3e 73 61 76  65 74 72 65 65 25 7c 2d  |Text>savetree%|-|
000002f0  44 72 61 77 3e 73 61 76  65 64 72 61 77 25 7c 54  |Draw>savedraw%|T|
00000300  72 65 65 3e 73 61 76 65  61 73 25 22 2c 31 35 30  |ree>saveas%",150|
00000310  29 0d 00 fa 66 6d 69 73  63 6d 65 6e 75 25 3d a4  |)...fmiscmenu%=.|
00000320  63 72 65 61 74 65 6d 65  6e 75 28 22 4d 69 73 63  |createmenu("Misc|
00000330  22 2c 34 2c 22 49 6e 66  6f 3e 69 6e 66 6f 25 7c  |",4,"Info>info%||
00000340  2d 53 74 61 74 69 73 74  69 63 73 3e 73 74 61 74  |-Statistics>stat|
00000350  73 25 7c 52 65 44 72 61  77 20 49 63 6f 6e 73 7c  |s%|ReDraw Icons||
00000360  50 72 69 6e 74 20 74 65  78 74 3e 70 72 69 6e 74  |Print text>print|
00000370  25 22 2c 32 35 30 29 0d  01 04 7f 6f 74 68 65 72  |%",250)....other|
00000380  6d 65 6e 75 25 3d a4 63  72 65 61 74 65 6d 65 6e  |menu%=.createmen|
00000390  75 28 22 54 72 65 65 22  2c 37 2c 22 2d 4d 69 73  |u("Tree",7,"-Mis|
000003a0  63 3e 6d 69 73 63 6d 65  6e 75 25 7c 2d 46 69 6c  |c>miscmenu%|-Fil|
000003b0  65 3e 73 61 76 65 6d 65  6e 75 25 7c 4f 70 65 6e  |e>savemenu%|Open|
000003c0  20 50 61 72 65 6e 74 7c  46 69 6c 65 20 49 6e 66  | Parent|File Inf|
000003d0  6f 3e 66 69 6e 66 6f 25  7c 2d 53 65 61 72 63 68  |o>finfo%|-Search|
000003e0  8c 7c 2d 4f 70 74 69 6f  6e 73 8c 7c 51 75 69 74  |.|-Options.|Quit|
000003f0  22 2c 32 35 30 29 0d 01  0e 34 f2 69 63 6f 6e 70  |",250)...4.iconp|
00000400  75 74 74 65 78 74 28 69  6e 66 6f 25 2c 31 31 2c  |uttext(info%,11,|
00000410  a4 69 63 6f 6e 74 65 78  74 28 69 6e 66 6f 25 2c  |.icontext(info%,|
00000420  31 31 29 2b 79 65 61 72  24 29 0d 01 18 1e f2 69  |11)+year$).....i|
00000430  63 6f 6e 70 75 74 74 65  78 74 28 69 6e 66 6f 25  |conputtext(info%|
00000440  2c 33 2c 76 65 72 24 29  0d 01 22 1f f2 69 63 6f  |,3,ver$).."..ico|
00000450  6e 70 75 74 74 65 78 74  28 69 6e 66 6f 25 2c 30  |nputtext(info%,0|
00000460  2c 6e 61 6d 65 24 29 0d  01 2c 22 f2 69 63 6f 6e  |,name$)..,".icon|
00000470  70 75 74 74 65 78 74 28  69 6e 66 6f 25 2c 31 2c  |puttext(info%,1,|
00000480  70 75 72 70 6f 73 65 24  29 0d 01 36 1e f2 69 63  |purpose$)..6..ic|
00000490  6f 6e 70 75 74 74 65 78  74 28 69 6e 66 6f 25 2c  |onputtext(info%,|
000004a0  38 2c 6d 61 67 24 29 0d  01 40 10 c8 99 20 26 30  |8,mag$)..@... &0|
000004b0  30 30 34 30 36 43 32 0d  01 4a 1f f2 69 63 6f 6e  |00406C2..J..icon|
000004c0  70 75 74 74 65 78 74 28  74 69 74 6c 65 25 2c 31  |puttext(title%,1|
000004d0  2c 6d 61 67 24 29 0d 01  54 11 f2 64 6f 74 69 74  |,mag$)..T..dotit|
000004e0  6c 65 28 32 30 30 29 0d  01 5e 6c e7 20 a4 63 68  |le(200)..^l. .ch|
000004f0  65 63 6b 66 72 65 65 73  70 61 63 65 3c 3d 73 6d  |eckfreespace<=sm|
00000500  65 67 62 6c 6f 63 6b 73  69 7a 65 25 20 8c 20 f2  |egblocksize% . .|
00000510  61 6c 65 72 74 28 22 4d  65 73 73 61 67 65 20 66  |alert("Message f|
00000520  72 6f 6d 20 54 72 65 65  22 2c 22 55 6e 61 62 6c  |rom Tree","Unabl|
00000530  65 20 74 6f 20 66 69 6e  64 20 65 6e 6f 75 67 68  |e to find enough|
00000540  20 66 72 65 65 20 6d 65  6d 6f 72 79 2e 22 2c 30  | free memory.",0|
00000550  29 3a e0 0d 01 68 1c 68  65 61 70 73 69 7a 65 25  |):...h.heapsize%|
00000560  3d 73 6d 65 67 62 6c 6f  63 6b 73 69 7a 65 25 0d  |=smegblocksize%.|
00000570  01 72 2d c8 99 20 22 57  69 6d 70 5f 53 6c 6f 74  |.r-.. "Wimp_Slot|
00000580  53 69 7a 65 22 2c 74 61  73 6b 73 69 7a 65 25 2b  |Size",tasksize%+|
00000590  68 65 61 70 73 69 7a 65  25 2c 2d 31 0d 01 7c 27  |heapsize%,-1..|'|
000005a0  c8 99 20 22 58 4f 53 5f  48 65 61 70 22 2c 30 2c  |.. "XOS_Heap",0,|
000005b0  65 6e 64 70 72 6f 67 25  2c 2c 68 65 61 70 73 69  |endprog%,,heapsi|
000005c0  7a 65 25 0d 01 86 10 62  6c 6f 63 6b 73 69 7a 65  |ze%....blocksize|
000005d0  25 3d 34 0d 01 90 2d c8  99 20 22 58 4f 53 5f 48  |%=4...-.. "XOS_H|
000005e0  65 61 70 22 2c 32 2c 65  6e 64 70 72 6f 67 25 2c  |eap",2,endprog%,|
000005f0  2c 34 20 b8 20 2c 2c 69  63 6f 6e 64 61 74 61 25  |,4 . ,,icondata%|
00000600  0d 01 9a 19 e7 20 64 6f  75 62 6c 65 63 6c 69 63  |..... doubleclic|
00000610  6b 24 3c 3e 22 20 22 20  8c 0d 01 a4 1d f2 6c 6f  |k$<>" " ......lo|
00000620  61 64 6d 79 66 69 6c 65  28 64 6f 75 62 6c 65 63  |admyfile(doublec|
00000630  6c 69 63 6b 24 29 0d 01  ae 05 cd 0d 01 b8 05 f5  |lick$)..........|
00000640  0d 01 c2 2a c8 99 20 26  30 30 30 34 30 30 43 37  |...*.. &000400C7|
00000650  2c 30 2c 62 6c 6f 63 6b  25 20 b8 20 72 65 61 73  |,0,block% . reas|
00000660  6f 6e 25 2c 62 6c 6f 63  6b 25 0d 01 cc 10 c8 8e  |on%,block%......|
00000670  20 72 65 61 73 6f 6e 25  20 ca 0d 01 d6 07 c9 20  | reason% ...... |
00000680  30 0d 01 e0 09 f2 6e 75  6c 6c 0d 01 ea 07 c9 20  |0.....null..... |
00000690  31 0d 01 f4 14 f2 72 65  64 72 61 77 77 69 6e 64  |1.....redrawwind|
000006a0  6f 77 28 30 29 0d 01 fe  07 c9 20 32 0d 02 08 14  |ow(0)..... 2....|
000006b0  f2 6f 70 65 6e 77 69 6e  64 6f 77 28 30 2c a3 29  |.openwindow(0,.)|
000006c0  0d 02 12 07 c9 20 33 0d  02 1c 13 f2 63 6c 6f 73  |..... 3.....clos|
000006d0  65 77 69 6e 64 6f 77 28  30 29 0d 02 26 07 c9 20  |ewindow(0)..&.. |
000006e0  34 0d 02 30 11 f2 70 6f  69 6e 74 65 72 6c 65 61  |4..0..pointerlea|
000006f0  76 65 0d 02 3a 07 c9 20  35 0d 02 44 11 f2 70 6f  |ve..:.. 5..D..po|
00000700  69 6e 74 65 72 65 6e 74  65 72 0d 02 4e 07 c9 20  |interenter..N.. |
00000710  36 0d 02 58 0f f2 6d 6f  75 73 65 63 6c 69 63 6b  |6..X..mouseclick|
00000720  0d 02 62 07 c9 20 37 0d  02 6c 10 f2 75 73 65 72  |..b.. 7..l..user|
00000730  64 72 61 67 62 6f 78 0d  02 76 07 c9 20 38 0d 02  |dragbox..v.. 8..|
00000740  80 0f f2 6b 65 79 70 72  65 73 73 65 64 0d 02 8a  |...keypressed...|
00000750  07 c9 20 39 0d 02 94 12  f2 6d 65 6e 75 73 65 6c  |.. 9.....menusel|
00000760  65 63 74 69 6f 6e 0d 02  9e 08 c9 20 31 30 0d 02  |ection..... 10..|
00000770  a8 12 f2 73 63 72 6f 6c  6c 72 65 71 75 65 73 74  |...scrollrequest|
00000780  0d 02 b2 08 c9 20 31 31  0d 02 bc 0e f2 6c 6f 73  |..... 11.....los|
00000790  65 63 61 72 65 74 0d 02  c6 08 c9 20 31 32 0d 02  |ecaret..... 12..|
000007a0  d0 0e f2 67 61 69 6e 63  61 72 65 74 0d 02 da 08  |...gaincaret....|
000007b0  c9 20 31 37 0d 02 e4 10  f2 75 73 65 72 6d 65 73  |. 17.....usermes|
000007c0  73 61 67 65 0d 02 ee 08  c9 20 31 38 0d 02 f8 18  |sage..... 18....|
000007d0  f2 75 73 65 72 6d 65 73  73 61 67 65 72 65 63 6f  |.usermessagereco|
000007e0  72 64 65 64 0d 03 02 08  c9 20 31 39 0d 03 0c 1b  |rded..... 19....|
000007f0  f2 75 73 65 72 6d 65 73  73 61 67 65 61 63 6b 6e  |.usermessageackn|
00000800  6f 77 6c 65 64 67 65 0d  03 16 05 cb 0d 03 20 0a  |owledge....... .|
00000810  fd 20 65 78 69 74 0d 03  2a 26 c8 99 20 26 30 30  |. exit..*&.. &00|
00000820  30 34 30 30 44 44 2c 74  61 73 6b 68 61 6e 64 6c  |0400DD,taskhandl|
00000830  65 25 2c 26 34 42 35 33  34 31 35 34 0d 03 34 05  |e%,&4B534154..4.|
00000840  e0 0d 03 3e 18 dd 20 a4  69 6e 69 74 69 61 6c 69  |...>.. .initiali|
00000850  73 65 28 6e 61 6d 65 24  29 0d 03 48 12 6d 61 78  |se(name$)..H.max|
00000860  6e 75 6d 62 65 72 3d 34  30 39 36 0d 03 52 0b 6d  |number=4096..R.m|
00000870  6f 64 79 25 3d a3 0d 03  5c 0e de 20 63 6f 6c 28  |ody%=...\.. col(|
00000880  31 39 39 29 0d 03 66 11  de 20 62 6c 6f 63 6b 25  |199)..f.. block%|
00000890  20 32 30 34 38 0d 03 70  12 de 20 62 6c 6f 63 6b  | 2048..p.. block|
000008a0  32 25 20 32 30 34 38 0d  03 7a 12 de 20 62 6c 6f  |2% 2048..z.. blo|
000008b0  63 6b 33 25 20 32 30 34  38 0d 03 84 0d de 20 62  |ck3% 2048..... b|
000008c0  75 66 25 20 34 31 0d 03  8e 12 de 20 6d 65 73 73  |uf% 41..... mess|
000008d0  61 67 65 73 25 20 36 30  0d 03 98 11 6d 65 73 73  |ages% 60....mess|
000008e0  61 67 65 73 25 21 30 3d  31 0d 03 a2 11 6d 65 73  |ages%!0=1....mes|
000008f0  73 61 67 65 73 25 21 34  3d 38 0d 03 ac 12 6d 65  |sages%!4=8....me|
00000900  73 73 61 67 65 73 25 21  38 3d 31 34 0d 03 b6 15  |ssages%!8=14....|
00000910  6d 65 73 73 61 67 65 73  25 21 31 32 3d 26 34 30  |messages%!12=&40|
00000920  34 0d 03 c0 15 6d 65 73  73 61 67 65 73 25 21 31  |4....messages%!1|
00000930  36 3d 26 34 30 35 0d 03  ca 15 6d 65 73 73 61 67  |6=&405....messag|
00000940  65 73 25 21 32 30 3d 26  34 30 33 0d 03 d4 12 6d  |es%!20=&403....m|
00000950  65 73 73 61 67 65 73 25  21 32 34 3d 32 0d 03 de  |essages%!24=2...|
00000960  12 6d 65 73 73 61 67 65  73 25 21 32 38 3d 33 0d  |.messages%!28=3.|
00000970  03 e8 12 6d 65 73 73 61  67 65 73 25 21 33 32 3d  |...messages%!32=|
00000980  34 0d 03 f2 17 6d 65 73  73 61 67 65 73 25 21 33  |4....messages%!3|
00000990  36 3d 26 38 30 31 34 30  0d 03 fc 17 6d 65 73 73  |6=&80140....mess|
000009a0  61 67 65 73 25 21 34 30  3d 26 38 30 31 34 34 0d  |ages%!40=&80144.|
000009b0  04 06 12 6d 65 73 73 61  67 65 73 25 21 34 34 3d  |...messages%!44=|
000009c0  35 0d 04 10 17 6d 65 73  73 61 67 65 73 25 21 34  |5....messages%!4|
000009d0  38 3d 26 38 30 31 34 37  0d 04 1a 17 6d 65 73 73  |8=&80147....mess|
000009e0  61 67 65 73 25 21 35 32  3d 26 34 30 30 63 39 0d  |ages%!52=&400c9.|
000009f0  04 24 17 6d 65 73 73 61  67 65 73 25 21 35 36 3d  |.$.messages%!56=|
00000a00  26 38 30 31 34 32 0d 04  2e 3e c8 99 20 26 34 30  |&80142...>.. &40|
00000a10  30 43 30 2c 33 30 30 2c  26 34 42 35 33 34 31 35  |0C0,300,&4B53415|
00000a20  34 2c 6e 61 6d 65 24 2c  6d 65 73 73 61 67 65 73  |4,name$,messages|
00000a30  25 20 b8 20 77 69 6d 70  76 65 72 73 69 6f 6e 25  |% . wimpversion%|
00000a40  2c 74 68 25 0d 04 38 13  73 65 61 72 63 68 77 69  |,th%..8.searchwi|
00000a50  6e 64 6f 77 25 3d a3 0d  04 42 10 73 65 61 72 63  |ndow%=...B.searc|
00000a60  68 66 69 6c 65 3d b9 0d  04 4c 10 73 65 61 72 63  |hfile=...L.searc|
00000a70  68 74 79 70 65 3d a3 0d  04 56 10 61 73 63 74 25  |htype=...V.asct%|
00000a80  3d 97 28 22 54 22 29 0d  04 60 10 61 73 63 6c 25  |=.("T")..`.ascl%|
00000a90  3d 97 28 22 4c 22 29 0d  04 6a 14 63 75 72 72 65  |=.("L")..j.curre|
00000aa0  6e 74 73 65 61 72 63 68  3d 2d 31 0d 04 74 0e 63  |ntsearch=-1..t.c|
00000ab0  61 73 65 73 65 6e 73 3d  a3 0d 04 7e 0a 69 69 69  |asesens=...~.iii|
00000ac0  25 3d 30 0d 04 88 0a 64  69 72 73 3d a3 0d 04 92  |%=0....dirs=....|
00000ad0  0c 65 78 69 74 20 3d 20  a3 0d 04 9c 0e 66 6c 75  |.exit = .....flu|
00000ae0  66 65 6e 64 25 3d b9 0d  04 a6 13 6d 65 6e 75 6e  |fend%=.....menun|
00000af0  75 6d 62 65 72 25 20 3d  20 30 0d 04 b0 11 69 63  |umber% = 0....ic|
00000b00  6f 6e 73 70 72 69 74 65  73 3d b9 0d 04 ba 0e 68  |onsprites=.....h|
00000b10  65 61 64 69 6e 67 73 3d  b9 0d 04 c4 0f 73 6f 75  |eadings=.....sou|
00000b20  72 63 65 64 69 72 3d b9  0d 04 ce 0a 64 61 74 65  |rcedir=.....date|
00000b30  3d b9 0d 04 d8 0d 70 72  65 73 73 65 64 3d a3 0d  |=.....pressed=..|
00000b40  04 e2 0f 66 68 65 61 64  69 6e 67 73 3d b9 0d 04  |...fheadings=...|
00000b50  ec 10 66 73 6f 75 72 63  65 64 69 72 3d b9 0d 04  |..fsourcedir=...|
00000b60  f6 0b 66 64 61 74 65 3d  b9 0d 05 00 0f 68 65 61  |..fdate=.....hea|
00000b70  64 63 6f 75 6e 74 3d 32  0d 05 0a 0e 6d 61 6b 65  |dcount=2....make|
00000b80  65 78 69 74 3d a3 0d 05  14 0f 74 6a 75 6e 63 24  |exit=.....tjunc$|
00000b90  3d 22 2b 98 22 0d 05 1e  11 65 6e 64 6a 75 6e 63  |="+."....endjunc|
00000ba0  24 3d 22 27 98 22 0d 05  28 11 6c 69 6e 65 6a 75  |$="'."..(.lineju|
00000bb0  6e 63 24 3d 22 7c 22 0d  05 32 10 66 74 6a 75 6e  |nc$="|"..2.ftjun|
00000bc0  63 24 3d 22 2b 98 22 0d  05 3c 12 66 65 6e 64 6a  |c$="+."..<.fendj|
00000bd0  75 6e 63 24 3d 22 27 98  22 0d 05 46 12 66 6c 69  |unc$="'."..F.fli|
00000be0  6e 65 6a 75 6e 63 24 3d  22 7c 22 0d 05 50 0a 63  |nejunc$="|"..P.c|
00000bf0  6f 6c 73 3d 37 0d 05 5a  0d 66 69 6e 63 6f 6c 73  |ols=7..Z.fincols|
00000c00  3d 37 0d 05 64 0b 72 6f  77 73 3d 35 30 0d 05 6e  |=7..d.rows=50..n|
00000c10  0e 64 6f 70 72 69 6e 74  25 3d a3 0d 05 78 0c 66  |.doprint%=...x.f|
00000c20  72 6f 77 73 3d 35 30 0d  05 82 0d 63 6f 6c 75 6d  |rows=50....colum|
00000c30  6e 73 3d a3 0d 05 8c 12  66 69 63 6f 6e 73 70 72  |ns=.....ficonspr|
00000c40  69 74 65 73 3d b9 0d 05  96 0d 6c 69 6e 65 6f 62  |ites=.....lineob|
00000c50  6a 3d b9 0d 05 a0 0e 66  6c 69 6e 65 6f 62 6a 3d  |j=.....flineobj=|
00000c60  b9 0d 05 aa 0d 74 74 74  65 6d 70 25 3d 30 0d 05  |.....tttemp%=0..|
00000c70  b4 0a 69 6e 66 6f 3d b9  0d 05 be 0a 62 6f 78 72  |..info=.....boxr|
00000c80  3d 30 0d 05 c8 0a 62 6f  78 67 3d 30 0d 05 d2 0a  |=0....boxg=0....|
00000c90  62 6f 78 62 3d 30 0d 05  dc 0b 66 62 6f 78 72 3d  |boxb=0....fboxr=|
00000ca0  30 0d 05 e6 0b 66 62 6f  78 67 3d 30 0d 05 f0 0b  |0....fboxg=0....|
00000cb0  66 62 6f 78 62 3d 30 0d  05 fa 23 6f 75 66 69 6c  |fboxb=0...#oufil|
00000cc0  65 25 3d 8e 28 22 3c 54  72 65 65 24 44 69 72 3e  |e%=.("<Tree$Dir>|
00000cd0  2e 4f 70 74 69 6f 6e 73  22 29 0d 06 04 12 e7 20  |.Options")..... |
00000ce0  6f 75 66 69 6c 65 25 3c  3e 30 20 8c 0d 06 0e 18  |oufile%<>0 .....|
00000cf0  e8 20 23 6f 75 66 69 6c  65 25 2c 68 65 61 64 63  |. #oufile%,headc|
00000d00  6f 75 6e 74 0d 06 18 17  e8 20 23 6f 75 66 69 6c  |ount..... #oufil|
00000d10  65 25 2c 68 65 61 64 69  6e 67 73 0d 06 22 18 e8  |e%,headings.."..|
00000d20  20 23 6f 75 66 69 6c 65  25 2c 73 6f 75 72 63 65  | #oufile%,source|
00000d30  64 69 72 0d 06 2c 13 e8  20 23 6f 75 66 69 6c 65  |dir..,.. #oufile|
00000d40  25 2c 64 61 74 65 0d 06  36 18 e8 20 23 6f 75 66  |%,date..6.. #ouf|
00000d50  69 6c 65 25 2c 6c 69 6e  65 6a 75 6e 63 24 0d 06  |ile%,linejunc$..|
00000d60  40 15 e8 20 23 6f 75 66  69 6c 65 25 2c 74 6a 75  |@.. #oufile%,tju|
00000d70  6e 63 24 0d 06 4a 17 e8  20 23 6f 75 66 69 6c 65  |nc$..J.. #oufile|
00000d80  25 2c 65 6e 64 6a 75 6e  63 24 0d 06 54 13 e8 20  |%,endjunc$..T.. |
00000d90  23 6f 75 66 69 6c 65 25  2c 63 6f 6c 73 0d 06 5e  |#oufile%,cols..^|
00000da0  1a e8 20 23 6f 75 66 69  6c 65 25 2c 69 63 6f 6e  |.. #oufile%,icon|
00000db0  73 70 72 69 74 65 73 0d  06 68 13 e8 20 23 6f 75  |sprites..h.. #ou|
00000dc0  66 69 6c 65 25 2c 72 6f  77 73 0d 06 72 13 e8 20  |file%,rows..r.. |
00000dd0  23 6f 75 66 69 6c 65 25  2c 62 6f 78 72 0d 06 7c  |#oufile%,boxr..||
00000de0  13 e8 20 23 6f 75 66 69  6c 65 25 2c 62 6f 78 67  |.. #oufile%,boxg|
00000df0  0d 06 86 13 e8 20 23 6f  75 66 69 6c 65 25 2c 62  |..... #oufile%,b|
00000e00  6f 78 62 0d 06 90 16 e8  20 23 6f 75 66 69 6c 65  |oxb..... #oufile|
00000e10  25 2c 6c 69 6e 65 6f 62  6a 0d 06 9a 13 e8 20 23  |%,lineobj..... #|
00000e20  6f 75 66 69 6c 65 25 2c  64 69 72 73 0d 06 a4 0e  |oufile%,dirs....|
00000e30  d9 20 23 6f 75 66 69 6c  65 25 0d 06 ae 16 66 68  |. #oufile%....fh|
00000e40  65 61 64 69 6e 67 73 3d  68 65 61 64 69 6e 67 73  |eadings=headings|
00000e50  0d 06 b8 18 66 73 6f 75  72 63 65 64 69 72 3d 73  |....fsourcedir=s|
00000e60  6f 75 72 63 65 64 69 72  0d 06 c2 0e 66 64 61 74  |ourcedir....fdat|
00000e70  65 3d 64 61 74 65 0d 06  cc 18 66 6c 69 6e 65 6a  |e=date....flinej|
00000e80  75 6e 63 24 3d 6c 69 6e  65 6a 75 6e 63 24 0d 06  |unc$=linejunc$..|
00000e90  d6 12 66 74 6a 75 6e 63  24 3d 74 6a 75 6e 63 24  |..ftjunc$=tjunc$|
00000ea0  0d 06 e0 16 66 65 6e 64  6a 75 6e 63 24 3d 65 6e  |....fendjunc$=en|
00000eb0  64 6a 75 6e 63 24 0d 06  ea 10 66 69 6e 63 6f 6c  |djunc$....fincol|
00000ec0  73 3d 63 6f 6c 73 0d 06  f4 1c 66 69 63 6f 6e 73  |s=cols....ficons|
00000ed0  70 72 69 74 65 73 3d 69  63 6f 6e 73 70 72 69 74  |prites=iconsprit|
00000ee0  65 73 0d 06 fe 0e 66 72  6f 77 73 3d 72 6f 77 73  |es....frows=rows|
00000ef0  0d 07 08 0e 66 62 6f 78  72 3d 62 6f 78 72 0d 07  |....fboxr=boxr..|
00000f00  12 0e 66 62 6f 78 67 3d  62 6f 78 67 0d 07 1c 0e  |..fboxg=boxg....|
00000f10  66 62 6f 78 62 3d 62 6f  78 62 0d 07 26 14 66 6c  |fboxb=boxb..&.fl|
00000f20  69 6e 65 6f 62 6a 3d 6c  69 6e 65 6f 62 6a 0d 07  |ineobj=lineobj..|
00000f30  30 0e 66 64 69 72 73 3d  64 69 72 73 0d 07 3a 05  |0.fdirs=dirs..:.|
00000f40  cc 0d 07 44 10 f2 64 65  66 61 75 6c 74 73 28 a3  |...D..defaults(.|
00000f50  29 0d 07 4e 05 cd 0d 07  58 11 de 20 77 69 6e 25  |)..N....X.. win%|
00000f60  20 34 30 39 36 2a 36 0d  07 62 11 de 20 69 6e 64  | 4096*6..b.. ind|
00000f70  25 20 34 30 39 36 2a 36  0d 07 6c 15 de 20 6d 61  |% 4096*6..l.. ma|
00000f80  69 6e 77 69 6e 64 6f 77  25 20 35 31 32 0d 07 76  |inwindow% 512..v|
00000f90  12 de 20 69 6e 64 6d 61  69 6e 25 20 35 31 32 0d  |.. indmain% 512.|
00000fa0  07 80 28 c8 99 20 26 30  30 30 34 30 30 44 39 2c  |..(.. &000400D9,|
00000fb0  2c 22 3c 54 72 65 65 24  44 69 72 3e 2e 54 65 6d  |,"<Tree$Dir>.Tem|
00000fc0  70 6c 61 74 65 73 22 0d  07 8a 3a c8 99 20 26 30  |plates"...:.. &0|
00000fd0  30 30 34 30 30 44 42 2c  2c 77 69 6e 25 2c 69 6e  |00400DB,,win%,in|
00000fe0  64 25 2c 69 6e 64 25 2b  34 30 39 36 2c 2d 31 2c  |d%,ind%+4096,-1,|
00000ff0  22 69 6e 66 6f 22 2c 30  20 b8 20 2c 2c 69 6e 64  |"info",0 . ,,ind|
00001000  25 0d 07 94 13 77 69 6e  25 21 36 34 3d 73 70 72  |%....win%!64=spr|
00001010  69 74 65 25 0d 07 9e 1e  c8 99 20 26 30 30 30 34  |ite%...... &0004|
00001020  30 30 43 31 2c 2c 77 69  6e 25 20 b8 20 69 6e 66  |00C1,,win% . inf|
00001030  6f 25 0d 07 a8 3c c8 99  20 26 30 30 30 34 30 30  |o%...<.. &000400|
00001040  44 42 2c 2c 77 69 6e 25  2c 69 6e 64 25 2c 69 6e  |DB,,win%,ind%,in|
00001050  64 25 2b 34 30 39 36 2c  2d 31 2c 22 73 61 76 65  |d%+4096,-1,"save|
00001060  61 73 22 2c 30 20 b8 20  2c 2c 69 6e 64 25 0d 07  |as",0 . ,,ind%..|
00001070  b2 20 c8 99 20 26 30 30  30 34 30 30 43 31 2c 2c  |. .. &000400C1,,|
00001080  77 69 6e 25 20 b8 20 73  61 76 65 61 73 25 0d 07  |win% . saveas%..|
00001090  bc 3e c8 99 20 26 30 30  30 34 30 30 44 42 2c 2c  |.>.. &000400DB,,|
000010a0  77 69 6e 25 2c 69 6e 64  25 2c 69 6e 64 25 2b 34  |win%,ind%,ind%+4|
000010b0  30 39 36 2c 2d 31 2c 22  73 61 76 65 74 72 65 65  |096,-1,"savetree|
000010c0  22 2c 30 20 b8 20 2c 2c  69 6e 64 25 0d 07 c6 22  |",0 . ,,ind%..."|
000010d0  c8 99 20 26 30 30 30 34  30 30 43 31 2c 2c 77 69  |.. &000400C1,,wi|
000010e0  6e 25 20 b8 20 73 61 76  65 74 72 65 65 25 0d 07  |n% . savetree%..|
000010f0  d0 4d c8 99 20 26 30 30  30 34 30 30 44 42 2c 2c  |.M.. &000400DB,,|
00001100  6d 61 69 6e 77 69 6e 64  6f 77 25 2c 69 6e 64 6d  |mainwindow%,indm|
00001110  61 69 6e 25 2c 69 6e 64  6d 61 69 6e 25 2b 34 30  |ain%,indmain%+40|
00001120  39 36 2c 2d 31 2c 22 6d  61 69 6e 22 2c 30 20 b8  |96,-1,"main",0 .|
00001130  20 2c 2c 69 6e 64 6d 61  69 6e 25 0d 07 da 25 c8  | ,,indmain%...%.|
00001140  99 20 26 30 30 30 34 30  30 43 31 2c 2c 6d 61 69  |. &000400C1,,mai|
00001150  6e 77 69 6e 64 6f 77 25  20 b8 20 6d 61 69 6e 25  |nwindow% . main%|
00001160  0d 07 e4 3a c8 99 20 26  30 30 30 34 30 30 44 42  |...:.. &000400DB|
00001170  2c 2c 77 69 6e 25 2c 69  6e 64 25 2c 69 6e 64 25  |,,win%,ind%,ind%|
00001180  2b 34 30 39 36 2c 2d 31  2c 22 70 61 6e 65 22 2c  |+4096,-1,"pane",|
00001190  30 20 b8 20 2c 2c 69 6e  64 25 0d 07 ee 13 77 69  |0 . ,,ind%....wi|
000011a0  6e 25 21 36 34 3d 73 70  72 69 74 65 25 0d 07 f8  |n%!64=sprite%...|
000011b0  1e c8 99 20 26 30 30 30  34 30 30 43 31 2c 2c 77  |... &000400C1,,w|
000011c0  69 6e 25 20 b8 20 70 61  6e 65 25 0d 08 02 3d c8  |in% . pane%...=.|
000011d0  99 20 26 30 30 30 34 30  30 44 42 2c 2c 77 69 6e  |. &000400DB,,win|
000011e0  25 2c 69 6e 64 25 2c 69  6e 64 25 2b 34 30 39 36  |%,ind%,ind%+4096|
000011f0  2c 2d 31 2c 22 6f 70 74  69 6f 6e 73 22 2c 30 20  |,-1,"options",0 |
00001200  b8 20 2c 2c 69 6e 64 25  0d 08 0c 21 c8 99 20 26  |. ,,ind%...!.. &|
00001210  30 30 30 34 30 30 43 31  2c 2c 77 69 6e 25 20 b8  |000400C1,,win% .|
00001220  20 6f 70 74 69 6f 6e 73  25 0d 08 16 3b c8 99 20  | options%...;.. |
00001230  26 30 30 30 34 30 30 44  42 2c 2c 77 69 6e 25 2c  |&000400DB,,win%,|
00001240  69 6e 64 25 2c 69 6e 64  25 2b 34 30 39 36 2c 2d  |ind%,ind%+4096,-|
00001250  31 2c 22 73 74 61 74 73  22 2c 30 20 b8 20 2c 2c  |1,"stats",0 . ,,|
00001260  69 6e 64 25 0d 08 20 1f  c8 99 20 26 30 30 30 34  |ind%.. ... &0004|
00001270  30 30 43 31 2c 2c 77 69  6e 25 20 b8 20 73 74 61  |00C1,,win% . sta|
00001280  74 73 25 0d 08 2a 3e c8  99 20 26 30 30 30 34 30  |ts%..*>.. &00040|
00001290  30 44 42 2c 2c 77 69 6e  25 2c 69 6e 64 25 2c 69  |0DB,,win%,ind%,i|
000012a0  6e 64 25 2b 34 30 39 36  2c 2d 31 2c 22 73 61 76  |nd%+4096,-1,"sav|
000012b0  65 64 72 61 77 22 2c 30  20 b8 20 2c 2c 69 6e 64  |edraw",0 . ,,ind|
000012c0  25 0d 08 34 13 77 69 6e  25 21 36 34 3d 73 70 72  |%..4.win%!64=spr|
000012d0  69 74 65 25 0d 08 3e 22  c8 99 20 26 30 30 30 34  |ite%..>".. &0004|
000012e0  30 30 43 31 2c 2c 77 69  6e 25 20 b8 20 73 61 76  |00C1,,win% . sav|
000012f0  65 64 72 61 77 25 0d 08  48 3e c8 99 20 26 30 30  |edraw%..H>.. &00|
00001300  30 34 30 30 44 42 2c 2c  77 69 6e 25 2c 69 6e 64  |0400DB,,win%,ind|
00001310  25 2c 69 6e 64 25 2b 34  30 39 36 2c 2d 31 2c 22  |%,ind%+4096,-1,"|
00001320  66 69 6c 65 69 6e 66 6f  22 2c 30 20 b8 20 2c 2c  |fileinfo",0 . ,,|
00001330  69 6e 64 25 0d 08 52 1f  c8 99 20 26 30 30 30 34  |ind%..R... &0004|
00001340  30 30 43 31 2c 2c 77 69  6e 25 20 b8 20 66 69 6e  |00C1,,win% . fin|
00001350  66 6f 25 0d 08 5c 3f c8  99 20 26 30 30 30 34 30  |fo%..\?.. &00040|
00001360  30 44 42 2c 2c 77 69 6e  25 2c 69 6e 64 25 2c 69  |0DB,,win%,ind%,i|
00001370  6e 64 25 2b 34 30 39 36  2c 2d 31 2c 22 70 72 69  |nd%+4096,-1,"pri|
00001380  6e 74 74 65 78 74 22 2c  30 20 b8 20 2c 2c 69 6e  |nttext",0 . ,,in|
00001390  64 25 0d 08 66 13 77 69  6e 25 21 36 34 3d 73 70  |d%..f.win%!64=sp|
000013a0  72 69 74 65 25 0d 08 70  1f c8 99 20 26 30 30 30  |rite%..p... &000|
000013b0  34 30 30 43 31 2c 2c 77  69 6e 25 20 b8 20 70 72  |400C1,,win% . pr|
000013c0  69 6e 74 25 0d 08 7a 39  c8 99 20 26 30 30 30 34  |int%..z9.. &0004|
000013d0  30 30 44 42 2c 2c 77 69  6e 25 2c 69 6e 64 25 2c  |00DB,,win%,ind%,|
000013e0  69 6e 64 25 2b 34 30 39  36 2c 2d 31 2c 22 64 69  |ind%+4096,-1,"di|
000013f0  73 22 2c 30 20 b8 20 2c  2c 69 6e 64 25 0d 08 84  |s",0 . ,,ind%...|
00001400  23 c8 99 20 26 30 30 30  34 30 30 43 31 2c 2c 77  |#.. &000400C1,,w|
00001410  69 6e 25 20 b8 20 6d 79  63 6f 6e 74 72 6f 6c 25  |in% . mycontrol%|
00001420  0d 08 8e 3b c8 99 20 26  30 30 30 34 30 30 44 42  |...;.. &000400DB|
00001430  2c 2c 77 69 6e 25 2c 69  6e 64 25 2c 69 6e 64 25  |,,win%,ind%,ind%|
00001440  2b 34 30 39 36 2c 2d 31  2c 22 74 69 74 6c 65 22  |+4096,-1,"title"|
00001450  2c 30 20 b8 20 2c 2c 69  6e 64 25 0d 08 98 13 77  |,0 . ,,ind%....w|
00001460  69 6e 25 21 36 34 3d 73  70 72 69 74 65 25 0d 08  |in%!64=sprite%..|
00001470  a2 1f c8 99 20 26 30 30  30 34 30 30 43 31 2c 2c  |.... &000400C1,,|
00001480  77 69 6e 25 20 b8 20 74  69 74 6c 65 25 0d 08 ac  |win% . title%...|
00001490  3c c8 99 20 26 30 30 30  34 30 30 44 42 2c 2c 77  |<.. &000400DB,,w|
000014a0  69 6e 25 2c 69 6e 64 25  2c 69 6e 64 25 2b 34 30  |in%,ind%,ind%+40|
000014b0  39 36 2c 2d 31 2c 22 73  65 61 72 63 68 22 2c 30  |96,-1,"search",0|
000014c0  20 b8 20 2c 2c 69 6e 64  25 0d 08 b6 13 77 69 6e  | . ,,ind%....win|
000014d0  25 21 36 34 3d 73 70 72  69 74 65 25 0d 08 c0 20  |%!64=sprite%... |
000014e0  c8 99 20 26 30 30 30 34  30 30 43 31 2c 2c 77 69  |.. &000400C1,,wi|
000014f0  6e 25 20 b8 20 73 65 61  72 63 68 25 0d 08 ca 10  |n% . search%....|
00001500  c8 99 20 26 30 30 30 34  30 30 44 41 0d 08 d4 13  |.. &000400DA....|
00001510  73 6c 69 64 65 77 69 6e  64 6f 77 25 3d 2d 31 0d  |slidewindow%=-1.|
00001520  08 de 11 73 6c 69 64 65  69 63 6f 6e 25 3d 2d 31  |...slideicon%=-1|
00001530  0d 08 e8 11 73 6c 69 64  65 73 69 7a 65 25 3d 2d  |....slidesize%=-|
00001540  31 0d 08 f2 10 6f 6c 64  77 6f 72 6b 78 25 3d 2d  |1....oldworkx%=-|
00001550  31 0d 08 fc 0e 72 72 61  6e 67 65 25 3d 2d 31 0d  |1....rrange%=-1.|
00001560  09 06 10 73 69 7a 65 6d  61 78 78 25 3d 2d 31 0d  |...sizemaxx%=-1.|
00001570  09 10 10 73 69 7a 65 6d  69 6e 78 25 3d 2d 31 0d  |...sizeminx%=-1.|
00001580  09 1a 08 3d 74 68 25 0d  09 24 1d dd 20 a4 69 63  |...=th%..$.. .ic|
00001590  6f 6e 62 61 72 28 53 70  72 69 74 65 24 2c 73 69  |onbar(Sprite$,si|
000015a0  64 65 25 29 0d 09 2e 12  62 6c 6f 63 6b 25 21 30  |de%)....block%!0|
000015b0  3d 73 69 64 65 25 0d 09  38 0e 62 6c 6f 63 6b 25  |=side%..8.block%|
000015c0  21 34 3d 30 0d 09 42 0e  62 6c 6f 63 6b 25 21 38  |!4=0..B.block%!8|
000015d0  3d 30 0d 09 4c 12 62 6c  6f 63 6b 25 21 31 32 3d  |=0..L.block%!12=|
000015e0  32 39 2a 32 0d 09 56 12  62 6c 6f 63 6b 25 21 31  |29*2..V.block%!1|
000015f0  36 3d 34 30 2a 32 0d 09  60 13 62 6c 6f 63 6b 25  |6=40*2..`.block%|
00001600  21 32 30 3d 26 33 30 30  32 0d 09 6a 18 24 28 62  |!20=&3002..j.$(b|
00001610  6c 6f 63 6b 25 2b 32 34  29 3d 53 70 72 69 74 65  |lock%+24)=Sprite|
00001620  24 0d 09 74 20 c8 99 20  26 30 30 30 34 30 30 43  |$..t .. &000400C|
00001630  32 2c 2c 62 6c 6f 63 6b  25 20 b8 20 69 63 6f 6e  |2,,block% . icon|
00001640  25 0d 09 7e 0a 3d 69 63  6f 6e 25 0d 09 88 0b dd  |%..~.=icon%.....|
00001650  20 f2 6e 75 6c 6c 0d 09  92 13 c8 8e 20 73 6c 69  | .null...... sli|
00001660  64 65 69 63 6f 6e 25 20  ca 0d 09 9c 08 c9 20 32  |deicon% ...... 2|
00001670  38 0d 09 a6 36 f2 64 6f  73 6c 69 64 65 28 73 6c  |8...6.doslide(sl|
00001680  69 64 65 77 69 6e 64 6f  77 25 2c 73 6c 69 64 65  |idewindow%,slide|
00001690  69 63 6f 6e 25 2c 73 6c  69 64 65 73 69 7a 65 25  |icon%,slidesize%|
000016a0  2c b9 2c 32 35 35 29 0d  09 b0 08 c9 20 33 31 0d  |,.,255)..... 31.|
000016b0  09 ba 36 f2 64 6f 73 6c  69 64 65 28 73 6c 69 64  |..6.doslide(slid|
000016c0  65 77 69 6e 64 6f 77 25  2c 73 6c 69 64 65 69 63  |ewindow%,slideic|
000016d0  6f 6e 25 2c 73 6c 69 64  65 73 69 7a 65 25 2c b9  |on%,slidesize%,.|
000016e0  2c 32 35 35 29 0d 09 c4  08 c9 20 33 34 0d 09 ce  |,255)..... 34...|
000016f0  36 f2 64 6f 73 6c 69 64  65 28 73 6c 69 64 65 77  |6.doslide(slidew|
00001700  69 6e 64 6f 77 25 2c 73  6c 69 64 65 69 63 6f 6e  |indow%,slideicon|
00001710  25 2c 73 6c 69 64 65 73  69 7a 65 25 2c b9 2c 32  |%,slidesize%,.,2|
00001720  35 35 29 0d 09 d8 05 cb  0d 09 e2 05 e1 0d 09 ec  |55).............|
00001730  1a dd 20 f2 72 65 64 72  61 77 77 69 6e 64 6f 77  |.. .redrawwindow|
00001740  28 77 69 6e 64 25 29 0d  09 f6 0f c8 99 26 30 30  |(wind%)......&00|
00001750  30 34 30 36 43 30 0d 0a  00 10 e7 20 77 69 6e 64  |0406C0..... wind|
00001760  25 3c 3e 30 20 8c 0d 0a  0a 12 62 6c 6f 63 6b 25  |%<>0 .....block%|
00001770  21 30 3d 77 69 6e 64 25  0d 0a 14 05 cd 0d 0a 1e  |!0=wind%........|
00001780  1f c8 99 20 26 30 30 30  34 30 30 43 38 2c 2c 62  |... &000400C8,,b|
00001790  6c 6f 63 6b 25 20 b8 20  66 6c 61 67 0d 0a 28 0b  |lock% . flag..(.|
000017a0  c8 95 20 66 6c 61 67 0d  0a 32 3d e7 20 62 6c 6f  |.. flag..2=. blo|
000017b0  63 6b 25 21 30 3d 6d 61  69 6e 25 20 8c 20 f2 64  |ck%!0=main% . .d|
000017c0  6f 6c 69 6e 65 73 28 62  6c 6f 63 6b 25 21 38 2c  |olines(block%!8,|
000017d0  62 6c 6f 63 6b 25 21 31  36 2c 62 6c 6f 63 6b 25  |block%!16,block%|
000017e0  21 32 34 29 0d 0a 3c 35  e7 20 62 6c 6f 63 6b 25  |!24)..<5. block%|
000017f0  21 30 3d 70 61 6e 65 25  20 8c 20 f2 64 6f 63 6f  |!0=pane% . .doco|
00001800  6c 6f 75 72 62 6f 78 28  62 6f 78 72 2c 62 6f 78  |lourbox(boxr,box|
00001810  67 2c 62 6f 78 62 2c a3  29 0d 0a 46 1f c8 99 20  |g,boxb,.)..F... |
00001820  26 30 30 30 34 30 30 43  41 2c 2c 62 6c 6f 63 6b  |&000400CA,,block|
00001830  25 20 b8 20 66 6c 61 67  0d 0a 50 05 ce 0d 0a 5a  |% . flag..P....Z|
00001840  0f c8 99 26 30 30 30 34  30 36 43 32 0d 0a 64 05  |...&000406C2..d.|
00001850  e1 0d 0a 6e 1e dd 20 f2  6f 70 65 6e 77 69 6e 64  |...n.. .openwind|
00001860  6f 77 28 77 69 6e 64 25  2c 73 74 61 67 25 29 0d  |ow(wind%,stag%).|
00001870  0a 78 10 e7 20 77 69 6e  64 25 3c 3e 30 20 8c 0d  |.x.. wind%<>0 ..|
00001880  0a 82 12 62 6c 6f 63 6b  25 21 30 3d 77 69 6e 64  |...block%!0=wind|
00001890  25 0d 0a 8c 18 c8 99 20  26 30 30 30 34 30 30 43  |%...... &000400C|
000018a0  42 2c 2c 62 6c 6f 63 6b  25 0d 0a 96 05 cd 0d 0a  |B,,block%.......|
000018b0  a0 26 e7 20 62 6c 6f 63  6b 25 21 30 3d 6d 61 69  |.&. block%!0=mai|
000018c0  6e 25 20 80 20 73 65 61  72 63 68 77 69 6e 64 6f  |n% . searchwindo|
000018d0  77 25 20 8c 0d 0a aa 16  6d 61 69 6e 6d 69 6e 78  |w% .....mainminx|
000018e0  25 3d 62 6c 6f 63 6b 25  21 34 0d 0a b4 16 6d 61  |%=block%!4....ma|
000018f0  69 6e 6d 69 6e 79 25 3d  62 6c 6f 63 6b 25 21 38  |inminy%=block%!8|
00001900  0d 0a be 17 6d 61 69 6e  6d 61 78 78 25 3d 62 6c  |....mainmaxx%=bl|
00001910  6f 63 6b 25 21 31 32 0d  0a c8 17 6d 61 69 6e 6d  |ock%!12....mainm|
00001920  61 78 79 25 3d 62 6c 6f  63 6b 25 21 31 36 0d 0a  |axy%=block%!16..|
00001930  d2 1a 6d 61 69 6e 73 63  72 6f 6c 6c 78 25 3d 62  |..mainscrollx%=b|
00001940  6c 6f 63 6b 25 21 32 30  0d 0a dc 1a 6d 61 69 6e  |lock%!20....main|
00001950  73 63 72 6f 6c 6c 79 25  3d 62 6c 6f 63 6b 25 21  |scrolly%=block%!|
00001960  32 34 0d 0a e6 17 62 61  63 6b 68 61 6e 64 25 3d  |24....backhand%=|
00001970  62 6c 6f 63 6b 25 21 32  38 0d 0a f0 14 62 6c 6f  |block%!28....blo|
00001980  63 6b 25 21 30 3d 73 65  61 72 63 68 25 0d 0a fa  |ck%!0=search%...|
00001990  15 c8 99 20 26 34 30 30  63 62 2c 2c 62 6c 6f 63  |... &400cb,,bloc|
000019a0  6b 25 0d 0b 04 14 62 6c  6f 63 6b 25 21 30 3d 73  |k%....block%!0=s|
000019b0  65 61 72 63 68 25 0d 0b  0e 1a 62 6c 6f 63 6b 25  |earch%....block%|
000019c0  21 34 3d 6d 61 69 6e 6d  69 6e 78 25 2d 33 31 38  |!4=mainminx%-318|
000019d0  0d 0b 18 1a 62 6c 6f 63  6b 25 21 38 3d 6d 61 69  |....block%!8=mai|
000019e0  6e 6d 61 78 79 25 2d 36  33 36 0d 0b 22 20 62 6c  |nmaxy%-636.." bl|
000019f0  6f 63 6b 25 21 31 32 3d  6d 61 69 6e 6d 61 78 78  |ock%!12=mainmaxx|
00001a00  25 2b 62 6c 6f 63 6b 25  21 34 0d 0b 2c 17 62 6c  |%+block%!4..,.bl|
00001a10  6f 63 6b 25 21 31 36 3d  6d 61 69 6e 6d 61 78 79  |ock%!16=mainmaxy|
00001a20  25 0d 0b 36 17 62 6c 6f  63 6b 25 21 32 38 3d 62  |%..6.block%!28=b|
00001a30  61 63 6b 68 61 6e 64 25  0d 0b 40 15 c8 99 20 26  |ackhand%..@... &|
00001a40  34 30 30 43 35 2c 2c 62  6c 6f 63 6b 25 0d 0b 4a  |400C5,,block%..J|
00001a50  12 62 6c 6f 63 6b 25 21  30 3d 6d 61 69 6e 25 0d  |.block%!0=main%.|
00001a60  0b 54 16 62 6c 6f 63 6b  25 21 34 3d 6d 61 69 6e  |.T.block%!4=main|
00001a70  6d 69 6e 78 25 0d 0b 5e  16 62 6c 6f 63 6b 25 21  |minx%..^.block%!|
00001a80  38 3d 6d 61 69 6e 6d 69  6e 79 25 0d 0b 68 17 62  |8=mainminy%..h.b|
00001a90  6c 6f 63 6b 25 21 31 32  3d 6d 61 69 6e 6d 61 78  |lock%!12=mainmax|
00001aa0  78 25 0d 0b 72 17 62 6c  6f 63 6b 25 21 31 36 3d  |x%..r.block%!16=|
00001ab0  6d 61 69 6e 6d 61 78 79  25 0d 0b 7c 1a 62 6c 6f  |mainmaxy%..|.blo|
00001ac0  63 6b 25 21 32 30 3d 6d  61 69 6e 73 63 72 6f 6c  |ck%!20=mainscrol|
00001ad0  6c 78 25 0d 0b 86 1a 62  6c 6f 63 6b 25 21 32 34  |lx%....block%!24|
00001ae0  3d 6d 61 69 6e 73 63 72  6f 6c 6c 79 25 0d 0b 90  |=mainscrolly%...|
00001af0  15 62 6c 6f 63 6b 25 21  32 38 3d 73 65 61 72 63  |.block%!28=searc|
00001b00  68 25 0d 0b 9a 05 cd 0d  0b a4 19 e7 20 62 6c 6f  |h%.......... blo|
00001b10  63 6b 25 21 30 3d 6f 70  74 69 6f 6e 73 25 20 8c  |ck%!0=options% .|
00001b20  0d 0b ae 16 6d 61 69 6e  6d 69 6e 78 25 3d 62 6c  |....mainminx%=bl|
00001b30  6f 63 6b 25 21 34 0d 0b  b8 16 6d 61 69 6e 6d 69  |ock%!4....mainmi|
00001b40  6e 79 25 3d 62 6c 6f 63  6b 25 21 38 0d 0b c2 17  |ny%=block%!8....|
00001b50  6d 61 69 6e 6d 61 78 78  25 3d 62 6c 6f 63 6b 25  |mainmaxx%=block%|
00001b60  21 31 32 0d 0b cc 17 6d  61 69 6e 6d 61 78 79 25  |!12....mainmaxy%|
00001b70  3d 62 6c 6f 63 6b 25 21  31 36 0d 0b d6 1a 6d 61  |=block%!16....ma|
00001b80  69 6e 73 63 72 6f 6c 6c  78 25 3d 62 6c 6f 63 6b  |inscrollx%=block|
00001b90  25 21 32 30 0d 0b e0 1a  6d 61 69 6e 73 63 72 6f  |%!20....mainscro|
00001ba0  6c 6c 79 25 3d 62 6c 6f  63 6b 25 21 32 34 0d 0b  |lly%=block%!24..|
00001bb0  ea 17 62 61 63 6b 68 61  6e 64 25 3d 62 6c 6f 63  |..backhand%=bloc|
00001bc0  6b 25 21 32 38 0d 0b f4  12 62 6c 6f 63 6b 25 21  |k%!28....block%!|
00001bd0  30 3d 70 61 6e 65 25 0d  0b fe 15 c8 99 20 26 34  |0=pane%...... &4|
00001be0  30 30 63 62 2c 2c 62 6c  6f 63 6b 25 0d 0c 08 12  |00cb,,block%....|
00001bf0  62 6c 6f 63 6b 25 21 30  3d 70 61 6e 65 25 0d 0c  |block%!0=pane%..|
00001c00  12 19 62 6c 6f 63 6b 25  21 34 3d 6d 61 69 6e 6d  |..block%!4=mainm|
00001c10  69 6e 78 25 2b 32 30 0d  0c 1c 19 62 6c 6f 63 6b  |inx%+20....block|
00001c20  25 21 38 3d 6d 61 69 6e  6d 69 6e 79 25 2b 31 38  |%!8=mainminy%+18|
00001c30  0d 0c 26 20 62 6c 6f 63  6b 25 21 31 32 3d 6d 61  |..& block%!12=ma|
00001c40  69 6e 6d 61 78 78 25 2b  62 6c 6f 63 6b 25 21 34  |inmaxx%+block%!4|
00001c50  0d 0c 30 1a 62 6c 6f 63  6b 25 21 31 36 3d 6d 61  |..0.block%!16=ma|
00001c60  69 6e 6d 61 78 79 25 2d  31 38 0d 0c 3a 17 62 6c  |inmaxy%-18..:.bl|
00001c70  6f 63 6b 25 21 32 38 3d  62 61 63 6b 68 61 6e 64  |ock%!28=backhand|
00001c80  25 0d 0c 44 15 c8 99 20  26 34 30 30 43 35 2c 2c  |%..D... &400C5,,|
00001c90  62 6c 6f 63 6b 25 0d 0c  4e 15 62 6c 6f 63 6b 25  |block%..N.block%|
00001ca0  21 30 3d 6f 70 74 69 6f  6e 73 25 0d 0c 58 16 62  |!0=options%..X.b|
00001cb0  6c 6f 63 6b 25 21 34 3d  6d 61 69 6e 6d 69 6e 78  |lock%!4=mainminx|
00001cc0  25 0d 0c 62 16 62 6c 6f  63 6b 25 21 38 3d 6d 61  |%..b.block%!8=ma|
00001cd0  69 6e 6d 69 6e 79 25 0d  0c 6c 17 62 6c 6f 63 6b  |inminy%..l.block|
00001ce0  25 21 31 32 3d 6d 61 69  6e 6d 61 78 78 25 0d 0c  |%!12=mainmaxx%..|
00001cf0  76 17 62 6c 6f 63 6b 25  21 31 36 3d 6d 61 69 6e  |v.block%!16=main|
00001d00  6d 61 78 79 25 0d 0c 80  1a 62 6c 6f 63 6b 25 21  |maxy%....block%!|
00001d10  32 30 3d 6d 61 69 6e 73  63 72 6f 6c 6c 78 25 0d  |20=mainscrollx%.|
00001d20  0c 8a 1a 62 6c 6f 63 6b  25 21 32 34 3d 6d 61 69  |...block%!24=mai|
00001d30  6e 73 63 72 6f 6c 6c 79  25 0d 0c 94 13 62 6c 6f  |nscrolly%....blo|
00001d40  63 6b 25 21 32 38 3d 70  61 6e 65 25 0d 0c 9e 05  |ck%!28=pane%....|
00001d50  cd 0d 0c a8 18 c8 99 20  26 30 30 30 34 30 30 43  |....... &000400C|
00001d60  35 2c 2c 62 6c 6f 63 6b  25 0d 0c b2 05 e1 0d 0c  |5,,block%.......|
00001d70  bc 19 dd 20 f2 63 6c 6f  73 65 77 69 6e 64 6f 77  |... .closewindow|
00001d80  28 77 69 6e 64 25 29 0d  0c c6 10 e7 20 77 69 6e  |(wind%)..... win|
00001d90  64 25 3c 3e 30 20 8c 0d  0c d0 14 20 20 62 6c 6f  |d%<>0 .....  blo|
00001da0  63 6b 25 21 30 3d 77 69  6e 64 25 0d 0c da 05 cd  |ck%!0=wind%.....|
00001db0  0d 0c e4 19 e7 20 62 6c  6f 63 6b 25 21 30 3d 6f  |..... block%!0=o|
00001dc0  70 74 69 6f 6e 73 25 20  8c 0d 0c ee 14 20 20 62  |ptions% .....  b|
00001dd0  6c 6f 63 6b 25 21 30 3d  70 61 6e 65 25 0d 0c f8  |lock%!0=pane%...|
00001de0  1a 20 20 c8 99 20 26 30  30 30 34 30 30 43 36 2c  |.  .. &000400C6,|
00001df0  2c 62 6c 6f 63 6b 25 0d  0d 02 17 20 20 62 6c 6f  |,block%....  blo|
00001e00  63 6b 25 21 30 3d 6f 70  74 69 6f 6e 73 25 0d 0d  |ck%!0=options%..|
00001e10  0c 05 cd 0d 0d 16 1e e7  20 62 6c 6f 63 6b 25 21  |........ block%!|
00001e20  30 3d 6d 61 69 6e 25 20  80 20 6d 6f 64 79 25 20  |0=main% . mody% |
00001e30  8c 0d 0d 20 17 20 20 70  72 65 73 73 25 3d a4 6d  |... .  press%=.m|
00001e40  79 63 6f 6e 74 72 6f 6c  0d 0d 2a 19 20 20 62 6c  |ycontrol..*.  bl|
00001e50  6f 63 6b 25 21 30 3d 6d  79 63 6f 6e 74 72 6f 6c  |ock%!0=mycontrol|
00001e60  25 0d 0d 34 1a 20 20 c8  99 20 26 30 30 30 34 30  |%..4.  .. &00040|
00001e70  30 43 36 2c 2c 62 6c 6f  63 6b 25 0d 0d 3e 14 20  |0C6,,block%..>. |
00001e80  20 62 6c 6f 63 6b 25 21  30 3d 6d 61 69 6e 25 0d  | block%!0=main%.|
00001e90  0d 48 11 20 20 c8 8e 20  70 72 65 73 73 25 20 ca  |.H.  .. press% .|
00001ea0  0d 0d 52 0b 20 20 20 20  c9 20 30 0d 0d 5c 1d 20  |..R.    . 0..\. |
00001eb0  20 20 20 20 20 e7 20 6d  61 6b 65 65 78 69 74 20  |     . makeexit |
00001ec0  8c 20 65 78 69 74 3d b9  0d 0d 66 46 20 20 20 20  |. exit=...fF    |
00001ed0  20 20 c8 99 20 22 58 4f  53 5f 48 65 61 70 22 2c  |  .. "XOS_Heap",|
00001ee0  34 2c 65 6e 64 70 72 6f  67 25 2c 69 63 6f 6e 64  |4,endprog%,icond|
00001ef0  61 74 61 25 2c 2d 62 6c  6f 63 6b 73 69 7a 65 25  |ata%,-blocksize%|
00001f00  20 b8 20 2c 2c 69 63 6f  6e 64 61 74 61 25 0d 0d  | . ,,icondata%..|
00001f10  70 3d 20 20 20 20 20 20  c8 99 20 22 58 4f 53 5f  |p=      .. "XOS_|
00001f20  48 65 61 70 22 2c 35 2c  65 6e 64 70 72 6f 67 25  |Heap",5,endprog%|
00001f30  2c 2c 2d 68 65 61 70 73  69 7a 65 25 2b 73 6d 65  |,,-heapsize%+sme|
00001f40  67 62 6c 6f 63 6b 73 69  7a 65 25 0d 0d 7a 22 20  |gblocksize%..z" |
00001f50  20 20 20 20 20 68 65 61  70 73 69 7a 65 25 3d 73  |     heapsize%=s|
00001f60  6d 65 67 62 6c 6f 63 6b  73 69 7a 65 25 0d 0d 84  |megblocksize%...|
00001f70  33 20 20 20 20 20 20 c8  99 20 22 57 69 6d 70 5f  |3      .. "Wimp_|
00001f80  53 6c 6f 74 53 69 7a 65  22 2c 74 61 73 6b 73 69  |SlotSize",tasksi|
00001f90  7a 65 25 2b 68 65 61 70  73 69 7a 65 25 2c 2d 31  |ze%+heapsize%,-1|
00001fa0  0d 0d 8e 16 20 20 20 20  20 20 62 6c 6f 63 6b 73  |....      blocks|
00001fb0  69 7a 65 25 3d 34 0d 0d  98 0b 20 20 20 20 c9 20  |ize%=4....    . |
00001fc0  31 0d 0d a2 19 20 20 20  20 20 20 e7 20 65 78 69  |1....      . exi|
00001fd0  74 20 8c 20 65 78 69 74  3d a3 0d 0d ac 14 20 20  |t . exit=.....  |
00001fe0  20 20 20 20 6d 61 6b 65  65 78 69 74 3d a3 0d 0d  |    makeexit=...|
00001ff0  b6 0b 20 20 20 20 20 20  e1 0d 0d c0 0b 20 20 20  |..      .....   |
00002000  20 c9 20 32 0d 0d ca 12  20 20 20 20 20 20 e7 20  | . 2....      . |
00002010  65 78 69 74 20 8c 0d 0d  d4 12 20 20 20 20 20 20  |exit .....      |
00002020  20 20 65 78 69 74 3d a3  0d 0d de 16 20 20 20 20  |  exit=.....    |
00002030  20 20 20 20 6d 61 6b 65  65 78 69 74 3d b9 0d 0d  |    makeexit=...|
00002040  e8 0b 20 20 20 20 20 20  cd 0d 0d f2 1e 20 20 20  |..      .....   |
00002050  20 20 20 c8 99 26 30 30  30 34 30 30 43 46 2c 2c  |   ..&000400CF,,|
00002060  62 6c 6f 63 6b 32 25 0d  0d fc 17 20 20 20 20 20  |block2%....     |
00002070  20 78 78 25 3d 62 6c 6f  63 6b 32 25 21 30 0d 0e  | xx%=block2%!0..|
00002080  06 17 20 20 20 20 20 20  79 79 25 3d 62 6c 6f 63  |..      yy%=bloc|
00002090  6b 32 25 21 34 0d 0e 10  17 20 20 20 20 20 20 62  |k2%!4....      b|
000020a0  62 25 3d 62 6c 6f 63 6b  32 25 21 38 0d 0e 1a 14  |b%=block2%!8....|
000020b0  20 20 20 20 20 20 66 6c  75 66 65 6e 64 25 3d b9  |      flufend%=.|
000020c0  0d 0e 24 24 20 20 20 20  20 20 f2 64 72 61 77 6d  |..$$      .drawm|
000020d0  65 6e 75 28 73 61 76 65  61 73 25 2c 78 78 25 2c  |enu(saveas%,xx%,|
000020e0  79 79 25 29 0d 0e 2e 0b  20 20 20 20 20 20 e1 0d  |yy%)....      ..|
000020f0  0e 38 07 20 20 cb 0d 0e  42 05 cd 0d 0e 4c 28 e7  |.8.  ...B....L(.|
00002100  20 62 6c 6f 63 6b 25 21  30 3d 73 65 61 72 63 68  | block%!0=search|
00002110  25 20 8c 20 73 65 61 72  63 68 77 69 6e 64 6f 77  |% . searchwindow|
00002120  25 3d a3 0d 0e 56 16 e7  20 62 6c 6f 63 6b 25 21  |%=...V.. block%!|
00002130  30 3d 6d 61 69 6e 25 20  8c 0d 0e 60 15 20 20 73  |0=main% ...`.  s|
00002140  65 61 72 63 68 77 69 6e  64 6f 77 25 3d a3 0d 0e  |earchwindow%=...|
00002150  6a 16 20 20 62 6c 6f 63  6b 25 21 30 3d 73 65 61  |j.  block%!0=sea|
00002160  72 63 68 25 0d 0e 74 1a  20 20 c8 99 20 26 30 30  |rch%..t.  .. &00|
00002170  30 34 30 30 43 36 2c 2c  62 6c 6f 63 6b 25 0d 0e  |0400C6,,block%..|
00002180  7e 42 20 20 c8 99 20 22  58 4f 53 5f 48 65 61 70  |~B  .. "XOS_Heap|
00002190  22 2c 34 2c 65 6e 64 70  72 6f 67 25 2c 69 63 6f  |",4,endprog%,ico|
000021a0  6e 64 61 74 61 25 2c 2d  62 6c 6f 63 6b 73 69 7a  |ndata%,-blocksiz|
000021b0  65 25 20 b8 20 2c 2c 69  63 6f 6e 64 61 74 61 25  |e% . ,,icondata%|
000021c0  0d 0e 88 39 20 20 c8 99  20 22 58 4f 53 5f 48 65  |...9  .. "XOS_He|
000021d0  61 70 22 2c 35 2c 65 6e  64 70 72 6f 67 25 2c 2c  |ap",5,endprog%,,|
000021e0  2d 68 65 61 70 73 69 7a  65 25 2b 73 6d 65 67 62  |-heapsize%+smegb|
000021f0  6c 6f 63 6b 73 69 7a 65  25 0d 0e 92 1e 20 20 68  |locksize%....  h|
00002200  65 61 70 73 69 7a 65 25  3d 73 6d 65 67 62 6c 6f  |eapsize%=smegblo|
00002210  63 6b 73 69 7a 65 25 0d  0e 9c 2f 20 20 c8 99 20  |cksize%.../  .. |
00002220  22 57 69 6d 70 5f 53 6c  6f 74 53 69 7a 65 22 2c  |"Wimp_SlotSize",|
00002230  74 61 73 6b 73 69 7a 65  25 2b 68 65 61 70 73 69  |tasksize%+heapsi|
00002240  7a 65 25 2c 2d 31 0d 0e  a6 12 20 20 62 6c 6f 63  |ze%,-1....  bloc|
00002250  6b 73 69 7a 65 25 3d 34  0d 0e b0 0d 20 20 6d 6f  |ksize%=4....  mo|
00002260  64 79 25 3d a3 0d 0e ba  2b 20 20 e7 20 70 72 65  |dy%=....+  . pre|
00002270  73 73 65 64 20 8c 20 c8  99 20 22 57 69 6d 70 5f  |ssed . .. "Wimp_|
00002280  50 72 6f 63 65 73 73 4b  65 79 22 2c 26 31 46 43  |ProcessKey",&1FC|
00002290  0d 0e c4 0c 20 20 69 69  69 25 3d 30 0d 0e ce 14  |....  iii%=0....|
000022a0  20 20 62 6c 6f 63 6b 25  21 30 3d 6d 61 69 6e 25  |  block%!0=main%|
000022b0  0d 0e d8 05 cd 0d 0e e2  18 c8 99 20 26 30 30 30  |........... &000|
000022c0  34 30 30 43 36 2c 2c 62  6c 6f 63 6b 25 0d 0e ec  |400C6,,block%...|
000022d0  05 e1 0d 0e f6 13 dd 20  f2 70 6f 69 6e 74 65 72  |....... .pointer|
000022e0  6c 65 61 76 65 0d 0f 00  05 e1 0d 0f 0a 13 dd 20  |leave.......... |
000022f0  f2 70 6f 69 6e 74 65 72  65 6e 74 65 72 0d 0f 14  |.pointerenter...|
00002300  05 e1 0d 0f 1e 11 dd 20  f2 6d 6f 75 73 65 63 6c  |....... .mousecl|
00002310  69 63 6b 0d 0f 28 07 ea  20 85 0d 0f 32 2a ee 20  |ick..(.. ...2*. |
00002320  85 20 ea 20 f2 61 6c 65  72 74 28 22 45 72 72 6f  |. . .alert("Erro|
00002330  72 20 66 72 6f 6d 20 54  72 65 65 22 2c f6 24 2c  |r from Tree",.$,|
00002340  30 29 3a e1 0d 0f 3c 0f  78 25 3d 62 6c 6f 63 6b  |0):...<.x%=block|
00002350  25 21 30 0d 0f 46 0f 79  25 3d 62 6c 6f 63 6b 25  |%!0..F.y%=block%|
00002360  21 34 0d 0f 50 14 62 75  74 74 6f 6e 25 3d 62 6c  |!4..P.button%=bl|
00002370  6f 63 6b 25 21 38 0d 0f  5a 15 77 69 6e 64 6f 77  |ock%!8..Z.window|
00002380  25 3d 62 6c 6f 63 6b 25  21 31 32 0d 0f 64 13 69  |%=block%!12..d.i|
00002390  63 6f 6e 25 3d 62 6c 6f  63 6b 25 21 31 36 0d 0f  |con%=block%!16..|
000023a0  6e 10 c8 8e 20 62 75 74  74 6f 6e 25 20 ca 0d 0f  |n... button% ...|
000023b0  78 07 c9 20 31 0d 0f 82  2b e7 20 77 69 6e 64 6f  |x.. 1...+. windo|
000023c0  77 25 3d 73 65 61 72 63  68 25 20 8c 20 f2 63 6c  |w%=search% . .cl|
000023d0  69 63 6b 73 65 61 72 63  68 28 69 63 6f 6e 25 29  |icksearch(icon%)|
000023e0  0d 0f 8c 29 e7 20 77 69  6e 64 6f 77 25 3d 70 72  |...). window%=pr|
000023f0  69 6e 74 25 20 8c 20 f2  63 6c 69 63 6b 70 72 69  |int% . .clickpri|
00002400  6e 74 28 69 63 6f 6e 25  29 0d 0f 96 23 e7 20 77  |nt(icon%)...#. w|
00002410  69 6e 64 6f 77 25 3d 73  61 76 65 64 72 61 77 25  |indow%=savedraw%|
00002420  20 80 20 69 63 6f 6e 25  3d 32 20 8c 0d 0f a0 26  | . icon%=2 ....&|
00002430  e7 20 a7 a4 69 63 6f 6e  74 65 78 74 28 73 61 76  |. ..icontext(sav|
00002440  65 64 72 61 77 25 2c 31  29 2c 22 2e 22 29 3d 30  |edraw%,1),".")=0|
00002450  20 8c 0d 0f aa 48 f2 61  6c 65 72 74 28 22 54 72  | ....H.alert("Tr|
00002460  65 65 22 2c 22 54 6f 20  73 61 76 65 2c 20 64 72  |ee","To save, dr|
00002470  61 67 20 74 68 65 20 66  69 6c 65 20 69 63 6f 6e  |ag the file icon|
00002480  20 74 6f 20 61 20 64 69  72 65 63 74 6f 72 79 20  | to a directory |
00002490  76 69 65 77 65 72 22 2c  32 29 0d 0f b4 12 c8 99  |viewer",2)......|
000024a0  26 30 30 30 34 30 30 44  34 2c 2d 31 0d 0f be 05  |&000400D4,-1....|
000024b0  cc 0d 0f c8 18 70 6f 6f  77 69 6e 64 6f 77 25 3d  |.....poowindow%=|
000024c0  73 61 76 65 64 72 61 77  25 0d 0f d2 21 f2 73 61  |savedraw%...!.sa|
000024d0  76 65 28 a4 69 63 6f 6e  74 65 78 74 28 73 61 76  |ve(.icontext(sav|
000024e0  65 64 72 61 77 25 2c 31  29 29 0d 0f dc 05 cd 0d  |edraw%,1))......|
000024f0  0f e6 05 cd 0d 0f f0 21  e7 20 77 69 6e 64 6f 77  |.......!. window|
00002500  25 3d 73 61 76 65 61 73  25 20 80 20 69 63 6f 6e  |%=saveas% . icon|
00002510  25 3d 32 20 8c 0d 0f fa  24 e7 20 a7 a4 69 63 6f  |%=2 ....$. ..ico|
00002520  6e 74 65 78 74 28 73 61  76 65 61 73 25 2c 31 29  |ntext(saveas%,1)|
00002530  2c 22 2e 22 29 3d 30 20  8c 0d 10 04 48 f2 61 6c  |,".")=0 ....H.al|
00002540  65 72 74 28 22 54 72 65  65 22 2c 22 54 6f 20 73  |ert("Tree","To s|
00002550  61 76 65 2c 20 64 72 61  67 20 74 68 65 20 66 69  |ave, drag the fi|
00002560  6c 65 20 69 63 6f 6e 20  74 6f 20 61 20 64 69 72  |le icon to a dir|
00002570  65 63 74 6f 72 79 20 76  69 65 77 65 72 22 2c 32  |ectory viewer",2|
00002580  29 0d 10 0e 12 c8 99 26  30 30 30 34 30 30 44 34  |)......&000400D4|
00002590  2c 2d 31 0d 10 18 05 cc  0d 10 22 16 70 6f 6f 77  |,-1.......".poow|
000025a0  69 6e 64 6f 77 25 3d 73  61 76 65 61 73 25 0d 10  |indow%=saveas%..|
000025b0  2c 1f f2 73 61 76 65 28  a4 69 63 6f 6e 74 65 78  |,..save(.icontex|
000025c0  74 28 73 61 76 65 61 73  25 2c 31 29 29 0d 10 36  |t(saveas%,1))..6|
000025d0  05 cd 0d 10 40 05 cd 0d  10 4a 23 e7 20 77 69 6e  |....@....J#. win|
000025e0  64 6f 77 25 3d 73 61 76  65 74 72 65 65 25 20 80  |dow%=savetree% .|
000025f0  20 69 63 6f 6e 25 3d 32  20 8c 0d 10 54 26 e7 20  | icon%=2 ...T&. |
00002600  a7 a4 69 63 6f 6e 74 65  78 74 28 73 61 76 65 74  |..icontext(savet|
00002610  72 65 65 25 2c 31 29 2c  22 2e 22 29 3d 30 20 8c  |ree%,1),".")=0 .|
00002620  0d 10 5e 48 f2 61 6c 65  72 74 28 22 54 72 65 65  |..^H.alert("Tree|
00002630  22 2c 22 54 6f 20 73 61  76 65 2c 20 64 72 61 67  |","To save, drag|
00002640  20 74 68 65 20 66 69 6c  65 20 69 63 6f 6e 20 74  | the file icon t|
00002650  6f 20 61 20 64 69 72 65  63 74 6f 72 79 20 76 69  |o a directory vi|
00002660  65 77 65 72 22 2c 32 29  0d 10 68 12 c8 99 26 30  |ewer",2)..h...&0|
00002670  30 30 34 30 30 44 34 2c  2d 31 0d 10 72 05 cc 0d  |00400D4,-1..r...|
00002680  10 7c 18 70 6f 6f 77 69  6e 64 6f 77 25 3d 73 61  |.|.poowindow%=sa|
00002690  76 65 74 72 65 65 25 0d  10 86 21 f2 73 61 76 65  |vetree%...!.save|
000026a0  28 a4 69 63 6f 6e 74 65  78 74 28 73 61 76 65 74  |(.icontext(savet|
000026b0  72 65 65 25 2c 31 29 29  0d 10 90 05 cd 0d 10 9a  |ree%,1))........|
000026c0  05 cd 0d 10 a4 2d e7 20  77 69 6e 64 6f 77 25 3d  |.....-. window%=|
000026d0  6f 70 74 69 6f 6e 73 25  20 8c 20 f2 63 6c 69 63  |options% . .clic|
000026e0  6b 6f 70 74 69 6f 6e 73  28 69 63 6f 6e 25 29 0d  |koptions(icon%).|
000026f0  10 ae 27 e7 20 77 69 6e  64 6f 77 25 3d 70 61 6e  |..'. window%=pan|
00002700  65 25 20 8c 20 f2 63 6c  69 63 6b 70 61 6e 65 28  |e% . .clickpane(|
00002710  69 63 6f 6e 25 29 0d 10  b8 1f e7 20 77 69 6e 64  |icon%)..... wind|
00002720  6f 77 25 3d 6d 61 69 6e  25 20 80 20 69 63 6f 6e  |ow%=main% . icon|
00002730  25 3e 30 20 8c 0d 10 c2  1a f2 75 73 65 6c 69 63  |%>0 ......uselic|
00002740  6f 6e 28 6d 61 69 6e 25  2c 69 63 6f 6e 25 29 0d  |on(main%,icon%).|
00002750  10 cc 17 f2 67 65 74 76  61 72 73 28 69 63 6f 6e  |....getvars(icon|
00002760  25 2d 31 2c a3 29 0d 10  d6 1e ff 28 22 46 49 4c  |%-1,.).....("FIL|
00002770  45 52 5f 52 55 4e 20 22  2b 24 66 69 6c 65 6e 61  |ER_RUN "+$filena|
00002780  6d 65 25 29 0d 10 e0 05  cd 0d 10 ea 23 e7 20 77  |me%)........#. w|
00002790  69 6e 64 6f 77 25 3d 73  61 76 65 64 72 61 77 25  |indow%=savedraw%|
000027a0  20 80 20 69 63 6f 6e 25  3d 33 20 8c 0d 10 f4 15  | . icon%=3 .....|
000027b0  63 6f 6c 75 6d 6e 73 3d  ac 20 63 6f 6c 75 6d 6e  |columns=. column|
000027c0  73 0d 10 fe 3e e7 20 63  6f 6c 75 6d 6e 73 20 8c  |s...>. columns .|
000027d0  20 f2 73 65 6c 69 63 6f  6e 28 73 61 76 65 64 72  | .selicon(savedr|
000027e0  61 77 25 2c 33 29 20 8b  20 f2 75 73 65 6c 69 63  |aw%,3) . .uselic|
000027f0  6f 6e 28 73 61 76 65 64  72 61 77 25 2c 33 29 0d  |on(savedraw%,3).|
00002800  11 08 05 cd 0d 11 12 07  c9 20 32 0d 11 1c 12 e7  |......... 2.....|
00002810  20 77 69 6e 64 6f 77 25  3d 2d 32 20 8c 0d 11 26  | window%=-2 ...&|
00002820  23 f2 64 72 61 77 6d 65  6e 75 28 6d 61 69 6e 6d  |#.drawmenu(mainm|
00002830  65 6e 75 25 2c 78 25 2d  31 30 30 2c 32 32 38 29  |enu%,x%-100,228)|
00002840  0d 11 30 11 6d 65 6e 75  6e 75 6d 62 65 72 25 3d  |..0.menunumber%=|
00002850  31 0d 11 3a 05 cd 0d 11  44 15 e7 20 77 69 6e 64  |1..:....D.. wind|
00002860  6f 77 25 3d 6d 61 69 6e  25 20 8c 0d 11 4e 13 f2  |ow%=main% ...N..|
00002870  67 65 74 70 72 69 6e 74  65 72 69 6e 66 6f 0d 11  |getprinterinfo..|
00002880  58 23 f2 69 63 6f 6e 70  75 74 74 65 78 74 28 70  |X#.iconputtext(p|
00002890  72 69 6e 74 25 2c 30 2c  70 72 69 6e 74 65 72 24  |rint%,0,printer$|
000028a0  29 0d 11 62 0c 63 6f 70  69 65 73 3d 31 0d 11 6c  |)..b.copies=1..l|
000028b0  24 f2 69 63 6f 6e 70 75  74 74 65 78 74 28 70 72  |$.iconputtext(pr|
000028c0  69 6e 74 25 2c 32 2c c3  28 63 6f 70 69 65 73 29  |int%,2,.(copies)|
000028d0  29 0d 11 76 3e e7 20 63  6f 6c 75 6d 6e 73 20 8c  |)..v>. columns .|
000028e0  20 f2 73 65 6c 69 63 6f  6e 28 73 61 76 65 64 72  | .selicon(savedr|
000028f0  61 77 25 2c 33 29 20 8b  20 f2 75 73 65 6c 69 63  |aw%,3) . .uselic|
00002900  6f 6e 28 73 61 76 65 64  72 61 77 25 2c 33 29 0d  |on(savedraw%,3).|
00002910  11 80 0e 66 6c 75 66 65  6e 64 25 3d a3 0d 11 8a  |...flufend%=....|
00002920  22 f2 69 63 6f 6e 70 75  74 74 65 78 74 28 73 74  |".iconputtext(st|
00002930  61 74 73 25 2c 31 2c c3  28 69 69 69 25 29 29 0d  |ats%,1,.(iii%)).|
00002940  11 94 28 f2 69 63 6f 6e  70 75 74 74 65 78 74 28  |..(.iconputtext(|
00002950  73 74 61 74 73 25 2c 33  2c c3 28 62 6c 6f 63 6b  |stats%,3,.(block|
00002960  73 69 7a 65 25 29 29 0d  11 9e 0f e7 20 69 63 6f  |size%))..... ico|
00002970  6e 25 3e 30 20 8c 0d 11  a8 17 63 75 72 72 65 6e  |n%>0 .....curren|
00002980  74 73 65 61 72 63 68 3d  69 63 6f 6e 25 0d 11 b2  |tsearch=icon%...|
00002990  17 f2 75 73 6d 69 28 6f  74 68 65 72 6d 65 6e 75  |..usmi(othermenu|
000029a0  25 2c 33 29 0d 11 bc 17  f2 75 73 6d 69 28 6f 74  |%,3).....usmi(ot|
000029b0  68 65 72 6d 65 6e 75 25  2c 34 29 0d 11 c6 17 f2  |hermenu%,4).....|
000029c0  67 65 74 76 61 72 73 28  69 63 6f 6e 25 2d 31 2c  |getvars(icon%-1,|
000029d0  a3 29 0d 11 d0 2b f2 69  63 6f 6e 70 75 74 74 65  |.)...+.iconputte|
000029e0  78 74 28 66 69 6e 66 6f  25 2c 30 2c a4 67 4c 6e  |xt(finfo%,0,.gLn|
000029f0  28 24 66 69 6c 65 6e 61  6d 65 25 29 29 0d 11 da  |($filename%))...|
00002a00  22 e7 20 74 79 70 65 25  21 30 3e 3d 30 20 80 20  |". type%!0>=0 . |
00002a10  74 79 70 65 25 21 30 3c  3d 26 46 46 46 20 8c 0d  |type%!0<=&FFF ..|
00002a20  11 e4 2e 20 20 f2 69 63  6f 6e 70 75 74 74 65 78  |...  .iconputtex|
00002a30  74 28 66 69 6e 66 6f 25  2c 33 2c 22 26 22 2b a4  |t(finfo%,3,"&"+.|
00002a40  70 61 64 28 74 79 70 65  25 21 30 29 29 0d 11 ee  |pad(type%!0))...|
00002a50  2e 20 20 e7 20 a4 73 70  72 69 74 65 65 78 69 73  |.  . .spriteexis|
00002a60  74 73 28 22 66 69 6c 65  5f 22 2b a4 70 61 64 28  |ts("file_"+.pad(|
00002a70  74 79 70 65 25 21 30 29  29 20 8c 0d 11 f8 35 20  |type%!0)) ....5 |
00002a80  20 f2 73 65 74 69 63 6f  6e 73 70 72 69 74 65 28  | .seticonsprite(|
00002a90  66 69 6e 66 6f 25 2c 31  2c 22 53 66 69 6c 65 5f  |finfo%,1,"Sfile_|
00002aa0  22 2b a4 70 61 64 28 74  79 70 65 25 21 30 29 29  |"+.pad(type%!0))|
00002ab0  0d 12 02 07 20 20 cc 0d  12 0c 2a 20 20 f2 73 65  |....  ....*  .se|
00002ac0  74 69 63 6f 6e 73 70 72  69 74 65 28 66 69 6e 66  |ticonsprite(finf|
00002ad0  6f 25 2c 31 2c 22 53 66  69 6c 65 5f 78 78 78 22  |o%,1,"Sfile_xxx"|
00002ae0  29 0d 12 16 07 20 20 cd  0d 12 20 05 cc 0d 12 2a  |)....  ... ....*|
00002af0  2f 20 20 e7 20 c0 a4 67  4c 6e 28 24 66 69 6c 65  |/  . ..gLn($file|
00002b00  6e 61 6d 65 25 29 2c 31  29 3d 22 21 22 20 80 20  |name%),1)="!" . |
00002b10  74 79 70 65 25 21 30 3d  2d 31 20 8c 0d 12 34 2a  |type%!0=-1 ...4*|
00002b20  20 20 f2 69 63 6f 6e 70  75 74 74 65 78 74 28 66  |  .iconputtext(f|
00002b30  69 6e 66 6f 25 2c 33 2c  22 41 70 70 6c 69 63 61  |info%,3,"Applica|
00002b40  74 69 6f 6e 22 29 0d 12  3e 29 20 20 e7 20 a4 73  |tion")..>)  . .s|
00002b50  70 72 69 74 65 65 78 69  73 74 73 28 a4 67 4c 6e  |priteexists(.gLn|
00002b60  28 24 66 69 6c 65 6e 61  6d 65 25 29 29 20 8c 0d  |($filename%)) ..|
00002b70  12 48 33 20 20 f2 73 65  74 69 63 6f 6e 73 70 72  |.H3  .seticonspr|
00002b80  69 74 65 28 66 69 6e 66  6f 25 2c 31 2c 22 53 22  |ite(finfo%,1,"S"|
00002b90  2b a4 67 4c 6e 28 24 66  69 6c 65 6e 61 6d 65 25  |+.gLn($filename%|
00002ba0  29 29 0d 12 52 07 20 20  cc 0d 12 5c 2d 20 20 f2  |))..R.  ...\-  .|
00002bb0  73 65 74 69 63 6f 6e 73  70 72 69 74 65 28 66 69  |seticonsprite(fi|
00002bc0  6e 66 6f 25 2c 31 2c 22  53 61 70 70 6c 69 63 61  |nfo%,1,"Sapplica|
00002bd0  74 69 6f 6e 22 29 0d 12  66 07 20 20 cd 0d 12 70  |tion")..f.  ...p|
00002be0  07 20 20 cd 0d 12 7a 30  20 20 e7 20 c0 a4 67 4c  |.  ...z0  . ..gL|
00002bf0  6e 28 24 66 69 6c 65 6e  61 6d 65 25 29 2c 31 29  |n($filename%),1)|
00002c00  3c 3e 22 21 22 20 80 20  74 79 70 65 25 21 30 3d  |<>"!" . type%!0=|
00002c10  2d 31 20 8c 0d 12 84 28  20 20 f2 69 63 6f 6e 70  |-1 ....(  .iconp|
00002c20  75 74 74 65 78 74 28 66  69 6e 66 6f 25 2c 33 2c  |uttext(finfo%,3,|
00002c30  22 44 69 72 65 63 74 6f  72 79 22 29 0d 12 8e 2b  |"Directory")...+|
00002c40  20 20 f2 73 65 74 69 63  6f 6e 73 70 72 69 74 65  |  .seticonsprite|
00002c50  28 66 69 6e 66 6f 25 2c  31 2c 22 53 64 69 72 65  |(finfo%,1,"Sdire|
00002c60  63 74 6f 72 79 22 29 0d  12 98 07 20 20 cd 0d 12  |ctory")....  ...|
00002c70  a2 14 20 20 e7 20 74 79  70 65 25 21 30 3d 2d 32  |..  . type%!0=-2|
00002c80  20 8c 0d 12 ac 23 20 20  f2 69 63 6f 6e 70 75 74  | ....#  .iconput|
00002c90  74 65 78 74 28 66 69 6e  66 6f 25 2c 33 2c 22 46  |text(finfo%,3,"F|
00002ca0  69 6c 65 22 29 0d 12 b6  2a 20 20 f2 73 65 74 69  |ile")...*  .seti|
00002cb0  63 6f 6e 73 70 72 69 74  65 28 66 69 6e 66 6f 25  |consprite(finfo%|
00002cc0  2c 31 2c 22 53 66 69 6c  65 5f 78 78 78 22 29 0d  |,1,"Sfile_xxx").|
00002cd0  12 c0 07 20 20 cd 0d 12  ca 05 cd 0d 12 d4 2b f2  |...  .........+.|
00002ce0  69 63 6f 6e 70 75 74 74  65 78 74 28 66 69 6e 66  |iconputtext(finf|
00002cf0  6f 25 2c 35 2c c3 28 72  65 61 64 6c 65 6e 67 74  |o%,5,.(readlengt|
00002d00  68 25 21 30 29 29 0d 12  de 35 f2 69 63 6f 6e 70  |h%!0))...5.iconp|
00002d10  75 74 74 65 78 74 28 66  69 6e 66 6f 25 2c 37 2c  |uttext(finfo%,7,|
00002d20  a4 61 74 74 72 69 62 75  74 65 73 28 61 74 74 72  |.attributes(attr|
00002d30  69 62 75 74 65 73 25 21  30 29 29 0d 12 e8 36 f2  |ibutes%!0))...6.|
00002d40  69 63 6f 6e 70 75 74 74  65 78 74 28 66 69 6e 66  |iconputtext(finf|
00002d50  6f 25 2c 38 2c a4 6d 79  63 6f 6e 76 65 72 74 28  |o%,8,.myconvert(|
00002d60  6c 61 64 72 25 21 30 2c  65 61 64 72 25 21 30 29  |ladr%!0,eadr%!0)|
00002d70  29 0d 12 f2 05 cc 0d 12  fc 16 f2 73 6d 69 28 6f  |)..........smi(o|
00002d80  74 68 65 72 6d 65 6e 75  25 2c 33 29 0d 13 06 16  |thermenu%,3)....|
00002d90  f2 73 6d 69 28 6f 74 68  65 72 6d 65 6e 75 25 2c  |.smi(othermenu%,|
00002da0  34 29 0d 13 10 05 cd 0d  13 1a 23 f2 64 72 61 77  |4)........#.draw|
00002db0  6d 65 6e 75 28 6f 74 68  65 72 6d 65 6e 75 25 2c  |menu(othermenu%,|
00002dc0  78 25 2d 31 30 30 2c 79  25 29 0d 13 24 11 6d 65  |x%-100,y%)..$.me|
00002dd0  6e 75 6e 75 6d 62 65 72  25 3d 32 0d 13 2e 05 cd  |nunumber%=2.....|
00002de0  0d 13 38 07 c9 20 34 0d  13 42 2b e7 20 77 69 6e  |..8.. 4..B+. win|
00002df0  64 6f 77 25 3d 73 65 61  72 63 68 25 20 8c 20 f2  |dow%=search% . .|
00002e00  63 6c 69 63 6b 73 65 61  72 63 68 28 69 63 6f 6e  |clicksearch(icon|
00002e10  25 29 0d 13 4c 29 e7 20  77 69 6e 64 6f 77 25 3d  |%)..L). window%=|
00002e20  70 72 69 6e 74 25 20 8c  20 f2 63 6c 69 63 6b 70  |print% . .clickp|
00002e30  72 69 6e 74 28 69 63 6f  6e 25 29 0d 13 56 23 e7  |rint(icon%)..V#.|
00002e40  20 77 69 6e 64 6f 77 25  3d 73 61 76 65 64 72 61  | window%=savedra|
00002e50  77 25 20 80 20 69 63 6f  6e 25 3d 33 20 8c 0d 13  |w% . icon%=3 ...|
00002e60  60 15 63 6f 6c 75 6d 6e  73 3d ac 20 63 6f 6c 75  |`.columns=. colu|
00002e70  6d 6e 73 0d 13 6a 3e e7  20 63 6f 6c 75 6d 6e 73  |mns..j>. columns|
00002e80  20 8c 20 f2 73 65 6c 69  63 6f 6e 28 73 61 76 65  | . .selicon(save|
00002e90  64 72 61 77 25 2c 33 29  20 8b 20 f2 75 73 65 6c  |draw%,3) . .usel|
00002ea0  69 63 6f 6e 28 73 61 76  65 64 72 61 77 25 2c 33  |icon(savedraw%,3|
00002eb0  29 0d 13 74 05 cd 0d 13  7e 23 e7 20 77 69 6e 64  |)..t....~#. wind|
00002ec0  6f 77 25 3d 73 61 76 65  64 72 61 77 25 20 80 20  |ow%=savedraw% . |
00002ed0  69 63 6f 6e 25 3d 32 20  8c 0d 13 88 26 e7 20 a7  |icon%=2 ....&. .|
00002ee0  a4 69 63 6f 6e 74 65 78  74 28 73 61 76 65 64 72  |.icontext(savedr|
00002ef0  61 77 25 2c 31 29 2c 22  2e 22 29 3d 30 20 8c 0d  |aw%,1),".")=0 ..|
00002f00  13 92 48 f2 61 6c 65 72  74 28 22 54 72 65 65 22  |..H.alert("Tree"|
00002f10  2c 22 54 6f 20 73 61 76  65 2c 20 64 72 61 67 20  |,"To save, drag |
00002f20  74 68 65 20 66 69 6c 65  20 69 63 6f 6e 20 74 6f  |the file icon to|
00002f30  20 61 20 64 69 72 65 63  74 6f 72 79 20 76 69 65  | a directory vie|
00002f40  77 65 72 22 2c 32 29 0d  13 9c 12 c8 99 26 30 30  |wer",2)......&00|
00002f50  30 34 30 30 44 34 2c 2d  31 0d 13 a6 05 cc 0d 13  |0400D4,-1.......|
00002f60  b0 18 70 6f 6f 77 69 6e  64 6f 77 25 3d 73 61 76  |..poowindow%=sav|
00002f70  65 64 72 61 77 25 0d 13  ba 21 f2 73 61 76 65 28  |edraw%...!.save(|
00002f80  a4 69 63 6f 6e 74 65 78  74 28 73 61 76 65 64 72  |.icontext(savedr|
00002f90  61 77 25 2c 31 29 29 0d  13 c4 05 cd 0d 13 ce 05  |aw%,1)).........|
00002fa0  cd 0d 13 d8 21 e7 20 77  69 6e 64 6f 77 25 3d 73  |....!. window%=s|
00002fb0  61 76 65 61 73 25 20 80  20 69 63 6f 6e 25 3d 32  |aveas% . icon%=2|
00002fc0  20 8c 0d 13 e2 24 e7 20  a7 a4 69 63 6f 6e 74 65  | ....$. ..iconte|
00002fd0  78 74 28 73 61 76 65 61  73 25 2c 31 29 2c 22 2e  |xt(saveas%,1),".|
00002fe0  22 29 3d 30 20 8c 0d 13  ec 48 f2 61 6c 65 72 74  |")=0 ....H.alert|
00002ff0  28 22 54 72 65 65 22 2c  22 54 6f 20 73 61 76 65  |("Tree","To save|
00003000  2c 20 64 72 61 67 20 74  68 65 20 66 69 6c 65 20  |, drag the file |
00003010  69 63 6f 6e 20 74 6f 20  61 20 64 69 72 65 63 74  |icon to a direct|
00003020  6f 72 79 20 76 69 65 77  65 72 22 2c 32 29 0d 13  |ory viewer",2)..|
00003030  f6 12 c8 99 26 30 30 30  34 30 30 44 34 2c 2d 31  |....&000400D4,-1|
00003040  0d 14 00 05 cc 0d 14 0a  16 70 6f 6f 77 69 6e 64  |.........poowind|
00003050  6f 77 25 3d 73 61 76 65  61 73 25 0d 14 14 1f f2  |ow%=saveas%.....|
00003060  73 61 76 65 28 a4 69 63  6f 6e 74 65 78 74 28 73  |save(.icontext(s|
00003070  61 76 65 61 73 25 2c 31  29 29 0d 14 1e 12 c8 99  |aveas%,1))......|
00003080  26 30 30 30 34 30 30 44  34 2c 2d 31 0d 14 28 05  |&000400D4,-1..(.|
00003090  cd 0d 14 32 05 cd 0d 14  3c 23 e7 20 77 69 6e 64  |...2....<#. wind|
000030a0  6f 77 25 3d 73 61 76 65  74 72 65 65 25 20 80 20  |ow%=savetree% . |
000030b0  69 63 6f 6e 25 3d 32 20  8c 0d 14 46 26 e7 20 a7  |icon%=2 ...F&. .|
000030c0  a4 69 63 6f 6e 74 65 78  74 28 73 61 76 65 74 72  |.icontext(savetr|
000030d0  65 65 25 2c 31 29 2c 22  2e 22 29 3d 30 20 8c 0d  |ee%,1),".")=0 ..|
000030e0  14 50 48 f2 61 6c 65 72  74 28 22 54 72 65 65 22  |.PH.alert("Tree"|
000030f0  2c 22 54 6f 20 73 61 76  65 2c 20 64 72 61 67 20  |,"To save, drag |
00003100  74 68 65 20 66 69 6c 65  20 69 63 6f 6e 20 74 6f  |the file icon to|
00003110  20 61 20 64 69 72 65 63  74 6f 72 79 20 76 69 65  | a directory vie|
00003120  77 65 72 22 2c 32 29 0d  14 5a 12 c8 99 26 30 30  |wer",2)..Z...&00|
00003130  30 34 30 30 44 34 2c 2d  31 0d 14 64 05 cc 0d 14  |0400D4,-1..d....|
00003140  6e 18 70 6f 6f 77 69 6e  64 6f 77 25 3d 73 61 76  |n.poowindow%=sav|
00003150  65 74 72 65 65 25 0d 14  78 21 f2 73 61 76 65 28  |etree%..x!.save(|
00003160  a4 69 63 6f 6e 74 65 78  74 28 73 61 76 65 74 72  |.icontext(savetr|
00003170  65 65 25 2c 31 29 29 0d  14 82 12 c8 99 26 30 30  |ee%,1))......&00|
00003180  30 34 30 30 44 34 2c 2d  31 0d 14 8c 05 cd 0d 14  |0400D4,-1.......|
00003190  96 05 cd 0d 14 a0 27 e7  20 77 69 6e 64 6f 77 25  |......'. window%|
000031a0  3d 70 61 6e 65 25 20 8c  20 f2 63 6c 69 63 6b 70  |=pane% . .clickp|
000031b0  61 6e 65 28 69 63 6f 6e  25 29 0d 14 aa 2d e7 20  |ane(icon%)...-. |
000031c0  77 69 6e 64 6f 77 25 3d  6f 70 74 69 6f 6e 73 25  |window%=options%|
000031d0  20 8c 20 f2 63 6c 69 63  6b 6f 70 74 69 6f 6e 73  | . .clickoptions|
000031e0  28 69 63 6f 6e 25 29 0d  14 b4 1f e7 20 77 69 6e  |(icon%)..... win|
000031f0  64 6f 77 25 3d 6d 61 69  6e 25 20 80 20 69 63 6f  |dow%=main% . ico|
00003200  6e 25 3e 30 20 8c 0d 14  be 1a f2 75 73 65 6c 69  |n%>0 ......useli|
00003210  63 6f 6e 28 6d 61 69 6e  25 2c 69 63 6f 6e 25 29  |con(main%,icon%)|
00003220  0d 14 c8 17 f2 67 65 74  76 61 72 73 28 69 63 6f  |.....getvars(ico|
00003230  6e 25 2d 31 2c a3 29 0d  14 d2 1e ff 28 22 46 49  |n%-1,.).....("FI|
00003240  4c 45 52 5f 52 55 4e 20  22 2b 24 66 69 6c 65 6e  |LER_RUN "+$filen|
00003250  61 6d 65 25 29 0d 14 dc  05 cd 0d 14 e6 0b c9 20  |ame%).......... |
00003260  31 36 2c 36 34 0d 14 f0  1f e7 20 77 69 6e 64 6f  |16,64..... windo|
00003270  77 25 3d 6d 61 69 6e 25  20 80 20 69 63 6f 6e 25  |w%=main% . icon%|
00003280  3e 30 20 8c 0d 14 fa 0f  f2 64 72 61 67 6d 79 66  |>0 ......dragmyf|
00003290  69 6c 65 0d 15 04 13 74  65 6d 70 69 63 6f 6e 25  |ile....tempicon%|
000032a0  3d 69 63 6f 6e 25 0d 15  0e 05 cd 0d 15 18 21 e7  |=icon%........!.|
000032b0  20 77 69 6e 64 6f 77 25  3d 73 61 76 65 61 73 25  | window%=saveas%|
000032c0  20 80 20 69 63 6f 6e 25  3d 30 20 8c 0d 15 22 16  | . icon%=0 ...".|
000032d0  70 6f 6f 77 69 6e 64 6f  77 25 3d 77 69 6e 64 6f  |poowindow%=windo|
000032e0  77 25 0d 15 2c 1a 6c 61  73 74 77 69 6e 64 6f 77  |w%..,.lastwindow|
000032f0  25 3d 70 6f 6f 77 69 6e  64 6f 77 25 0d 15 36 22  |%=poowindow%..6"|
00003300  f2 64 72 61 77 62 6f 78  28 73 61 76 65 61 73 25  |.drawbox(saveas%|
00003310  2c 30 2c 22 66 69 6c 65  5f 33 35 33 22 29 0d 15  |,0,"file_353")..|
00003320  40 05 cd 0d 15 4a 23 e7  20 77 69 6e 64 6f 77 25  |@....J#. window%|
00003330  3d 73 61 76 65 74 72 65  65 25 20 80 20 69 63 6f  |=savetree% . ico|
00003340  6e 25 3d 30 20 8c 0d 15  54 16 70 6f 6f 77 69 6e  |n%=0 ...T.poowin|
00003350  64 6f 77 25 3d 77 69 6e  64 6f 77 25 0d 15 5e 1a  |dow%=window%..^.|
00003360  6c 61 73 74 77 69 6e 64  6f 77 25 3d 70 6f 6f 77  |lastwindow%=poow|
00003370  69 6e 64 6f 77 25 0d 15  68 24 f2 64 72 61 77 62  |indow%..h$.drawb|
00003380  6f 78 28 73 61 76 65 74  72 65 65 25 2c 30 2c 22  |ox(savetree%,0,"|
00003390  66 69 6c 65 5f 66 66 66  22 29 0d 15 72 05 cd 0d  |file_fff")..r...|
000033a0  15 7c 23 e7 20 77 69 6e  64 6f 77 25 3d 73 61 76  |.|#. window%=sav|
000033b0  65 64 72 61 77 25 20 80  20 69 63 6f 6e 25 3d 30  |edraw% . icon%=0|
000033c0  20 8c 0d 15 86 16 70 6f  6f 77 69 6e 64 6f 77 25  | .....poowindow%|
000033d0  3d 77 69 6e 64 6f 77 25  0d 15 90 1a 6c 61 73 74  |=window%....last|
000033e0  77 69 6e 64 6f 77 25 3d  70 6f 6f 77 69 6e 64 6f  |window%=poowindo|
000033f0  77 25 0d 15 9a 24 f2 64  72 61 77 62 6f 78 28 73  |w%...$.drawbox(s|
00003400  61 76 65 64 72 61 77 25  2c 30 2c 22 66 69 6c 65  |avedraw%,0,"file|
00003410  5f 61 66 66 22 29 0d 15  a4 05 cd 0d 15 ae 05 cb  |_aff")..........|
00003420  0d 15 b8 05 e1 0d 15 c2  12 dd 20 f2 75 73 65 72  |.......... .user|
00003430  64 72 61 67 62 6f 78 0d  15 cc 07 ea 20 85 0d 15  |dragbox..... ...|
00003440  d6 2a ee 20 85 20 ea 20  f2 61 6c 65 72 74 28 22  |.*. . . .alert("|
00003450  45 72 72 6f 72 20 66 72  6f 6d 20 54 72 65 65 22  |Error from Tree"|
00003460  2c f6 24 2c 30 29 3a e1  0d 15 e0 19 c8 99 20 22  |,.$,0):....... "|
00003470  44 72 61 67 41 53 70 72  69 74 65 5f 53 74 6f 70  |DragASprite_Stop|
00003480  22 0d 15 ea 12 74 74 25  3d 62 6c 6f 63 6b 25 2b  |"....tt%=block%+|
00003490  32 35 36 0d 15 f4 14 c8  99 26 30 30 30 34 30 30  |256......&000400|
000034a0  43 46 2c 2c 74 74 25 0d  15 fe 0d 78 78 25 3d 74  |CF,,tt%....xx%=t|
000034b0  74 25 21 30 0d 16 08 0d  79 79 25 3d 74 74 25 21  |t%!0....yy%=tt%!|
000034c0  34 0d 16 12 0d 62 62 25  3d 74 74 25 21 38 0d 16  |4....bb%=tt%!8..|
000034d0  1c 10 77 69 6e 64 25 3d  74 74 25 21 31 32 0d 16  |..wind%=tt%!12..|
000034e0  26 10 69 63 6f 6e 25 3d  74 74 25 21 31 36 0d 16  |&.icon%=tt%!16..|
000034f0  30 14 c8 8e 20 6c 61 73  74 77 69 6e 64 6f 77 25  |0... lastwindow%|
00003500  20 ca 0d 16 3a 17 c9 20  73 61 76 65 61 73 25 2c  | ...:.. saveas%,|
00003510  73 61 76 65 74 72 65 65  25 0d 16 44 10 62 6c 6f  |savetree%..D.blo|
00003520  63 6b 25 21 30 3d 32 35  36 0d 16 4e 0f 62 6c 6f  |ck%!0=256..N.blo|
00003530  63 6b 25 21 31 32 3d 30  0d 16 58 0f 62 6c 6f 63  |ck%!12=0..X.bloc|
00003540  6b 25 21 31 36 3d 31 0d  16 62 13 62 6c 6f 63 6b  |k%!16=1..b.block|
00003550  25 21 32 30 3d 77 69 6e  64 25 0d 16 6c 13 62 6c  |%!20=wind%..l.bl|
00003560  6f 63 6b 25 21 32 34 3d  69 63 6f 6e 25 0d 16 76  |ock%!24=icon%..v|
00003570  11 62 6c 6f 63 6b 25 21  32 38 3d 78 78 25 0d 16  |.block%!28=xx%..|
00003580  80 11 62 6c 6f 63 6b 25  21 33 32 3d 79 79 25 0d  |..block%!32=yy%.|
00003590  16 8a 0f 62 6c 6f 63 6b  25 21 33 36 3d 31 0d 16  |...block%!36=1..|
000035a0  94 1d e7 20 6c 61 73 74  77 69 6e 64 6f 77 25 3d  |... lastwindow%=|
000035b0  73 61 76 65 74 72 65 65  25 20 8c 0d 16 9e 12 62  |savetree% .....b|
000035c0  6c 6f 63 6b 25 21 34 30  3d 26 66 66 66 0d 16 a8  |lock%!40=&fff...|
000035d0  05 cc 0d 16 b2 12 62 6c  6f 63 6b 25 21 34 30 3d  |......block%!40=|
000035e0  26 33 35 33 0d 16 bc 05  cd 0d 16 c6 16 62 62 6c  |&353.........bbl|
000035f0  6f 63 6b 25 3d 62 6c 6f  63 6b 25 2b 32 35 36 0d  |ock%=block%+256.|
00003600  16 d0 19 62 62 6c 6f 63  6b 25 21 30 3d 6c 61 73  |...bblock%!0=las|
00003610  74 77 69 6e 64 6f 77 25  0d 16 da 0f 62 62 6c 6f  |twindow%....bblo|
00003620  63 6b 25 21 34 3d 31 0d  16 e4 19 c8 99 26 30 30  |ck%!4=1......&00|
00003630  30 34 30 30 43 45 2c 30  2c 62 62 6c 6f 63 6b 25  |0400CE,0,bblock%|
00003640  0d 16 ee 14 74 65 78 74  25 3d 62 62 6c 6f 63 6b  |....text%=bblock|
00003650  25 21 32 38 0d 16 f8 13  77 24 3d a4 67 4c 6e 28  |%!28....w$=.gLn(|
00003660  24 74 65 78 74 25 29 0d  17 02 16 24 28 62 6c 6f  |$text%)....$(blo|
00003670  63 6b 25 2b 34 34 29 3d  77 24 2b bd 30 0d 17 0c  |ck%+44)=w$+.0...|
00003680  25 c8 99 26 30 30 30 34  30 30 45 37 2c 31 37 2c  |%..&000400E7,17,|
00003690  62 6c 6f 63 6b 25 2c 77  69 6e 64 25 2c 69 63 6f  |block%,wind%,ico|
000036a0  6e 25 0d 17 16 38 e7 20  77 69 6e 64 25 3c 3e 73  |n%...8. wind%<>s|
000036b0  61 76 65 61 73 25 20 80  20 77 69 6e 64 25 3c 3e  |aveas% . wind%<>|
000036c0  73 61 76 65 74 72 65 65  25 20 8c 20 c8 99 26 30  |savetree% . ..&0|
000036d0  30 30 34 30 30 44 34 2c  2d 31 0d 17 20 0b c9 20  |00400D4,-1.. .. |
000036e0  6d 61 69 6e 25 0d 17 2a  14 70 6f 6f 77 69 6e 64  |main%..*.poowind|
000036f0  6f 77 25 3d 6d 61 69 6e  25 0d 17 34 1b f2 67 65  |ow%=main%..4..ge|
00003700  74 76 61 72 73 28 74 65  6d 70 69 63 6f 6e 25 2d  |tvars(tempicon%-|
00003710  31 2c a3 29 0d 17 3e 10  62 6c 6f 63 6b 25 21 30  |1,.)..>.block%!0|
00003720  3d 32 35 36 0d 17 48 0f  62 6c 6f 63 6b 25 21 31  |=256..H.block%!1|
00003730  32 3d 30 0d 17 52 0f 62  6c 6f 63 6b 25 21 31 36  |2=0..R.block%!16|
00003740  3d 31 0d 17 5c 13 62 6c  6f 63 6b 25 21 32 30 3d  |=1..\.block%!20=|
00003750  77 69 6e 64 25 0d 17 66  13 62 6c 6f 63 6b 25 21  |wind%..f.block%!|
00003760  32 34 3d 69 63 6f 6e 25  0d 17 70 11 62 6c 6f 63  |24=icon%..p.bloc|
00003770  6b 25 21 32 38 3d 78 78  25 0d 17 7a 11 62 6c 6f  |k%!28=xx%..z.blo|
00003780  63 6b 25 21 33 32 3d 79  79 25 0d 17 84 1b 62 6c  |ck%!32=yy%....bl|
00003790  6f 63 6b 25 21 33 36 3d  72 65 61 64 6c 65 6e 67  |ock%!36=readleng|
000037a0  74 68 25 21 30 0d 17 8e  15 62 6c 6f 63 6b 25 21  |th%!0....block%!|
000037b0  34 30 3d 74 79 70 65 25  21 30 0d 17 98 1e 24 28  |40=type%!0....$(|
000037c0  62 6c 6f 63 6b 25 2b 34  34 29 3d 24 66 69 6c 65  |block%+44)=$file|
000037d0  6e 61 6d 65 25 2b bd 30  0d 17 a2 25 c8 99 26 30  |name%+.0...%..&0|
000037e0  30 30 34 30 30 45 37 2c  31 37 2c 62 6c 6f 63 6b  |00400E7,17,block|
000037f0  25 2c 77 69 6e 64 25 2c  69 63 6f 6e 25 0d 17 ac  |%,wind%,icon%...|
00003800  1e f2 75 73 65 6c 69 63  6f 6e 28 6d 61 69 6e 25  |..uselicon(main%|
00003810  2c 74 65 6d 70 69 63 6f  6e 25 29 0d 17 b6 0f c9  |,tempicon%).....|
00003820  20 73 61 76 65 64 72 61  77 25 0d 17 c0 10 62 6c  | savedraw%....bl|
00003830  6f 63 6b 25 21 30 3d 32  35 36 0d 17 ca 0f 62 6c  |ock%!0=256....bl|
00003840  6f 63 6b 25 21 31 32 3d  30 0d 17 d4 0f 62 6c 6f  |ock%!12=0....blo|
00003850  63 6b 25 21 31 36 3d 31  0d 17 de 13 62 6c 6f 63  |ck%!16=1....bloc|
00003860  6b 25 21 32 30 3d 77 69  6e 64 25 0d 17 e8 13 62  |k%!20=wind%....b|
00003870  6c 6f 63 6b 25 21 32 34  3d 69 63 6f 6e 25 0d 17  |lock%!24=icon%..|
00003880  f2 11 62 6c 6f 63 6b 25  21 32 38 3d 78 78 25 0d  |..block%!28=xx%.|
00003890  17 fc 11 62 6c 6f 63 6b  25 21 33 32 3d 79 79 25  |...block%!32=yy%|
000038a0  0d 18 06 0f 62 6c 6f 63  6b 25 21 33 36 3d 31 0d  |....block%!36=1.|
000038b0  18 10 12 62 6c 6f 63 6b  25 21 34 30 3d 26 61 66  |...block%!40=&af|
000038c0  66 0d 18 1a 16 62 62 6c  6f 63 6b 25 3d 62 6c 6f  |f....bblock%=blo|
000038d0  63 6b 25 2b 32 35 36 0d  18 24 19 62 62 6c 6f 63  |ck%+256..$.bbloc|
000038e0  6b 25 21 30 3d 6c 61 73  74 77 69 6e 64 6f 77 25  |k%!0=lastwindow%|
000038f0  0d 18 2e 0f 62 62 6c 6f  63 6b 25 21 34 3d 31 0d  |....bblock%!4=1.|
00003900  18 38 19 c8 99 26 30 30  30 34 30 30 43 45 2c 30  |.8...&000400CE,0|
00003910  2c 62 62 6c 6f 63 6b 25  0d 18 42 14 74 65 78 74  |,bblock%..B.text|
00003920  25 3d 62 62 6c 6f 63 6b  25 21 32 38 0d 18 4c 13  |%=bblock%!28..L.|
00003930  77 24 3d a4 67 4c 6e 28  24 74 65 78 74 25 29 0d  |w$=.gLn($text%).|
00003940  18 56 16 24 28 62 6c 6f  63 6b 25 2b 34 34 29 3d  |.V.$(block%+44)=|
00003950  77 24 2b bd 30 0d 18 60  25 c8 99 26 30 30 30 34  |w$+.0..`%..&0004|
00003960  30 30 45 37 2c 31 37 2c  62 6c 6f 63 6b 25 2c 77  |00E7,17,block%,w|
00003970  69 6e 64 25 2c 69 63 6f  6e 25 0d 18 6a 27 e7 20  |ind%,icon%..j'. |
00003980  77 69 6e 64 25 3c 3e 73  61 76 65 64 72 61 77 25  |wind%<>savedraw%|
00003990  20 8c 20 c8 99 26 30 30  30 34 30 30 44 34 2c 2d  | . ..&000400D4,-|
000039a0  31 0d 18 74 0b c9 20 70  61 6e 65 25 0d 18 7e 37  |1..t.. pane%..~7|
000039b0  e7 20 73 6c 69 64 65 77  69 6e 64 6f 77 25 3e 2d  |. slidewindow%>-|
000039c0  31 20 80 20 73 6c 69 64  65 69 63 6f 6e 25 3e 2d  |1 . slideicon%>-|
000039d0  31 20 80 20 73 6c 69 64  65 73 69 7a 65 25 3e 2d  |1 . slidesize%>-|
000039e0  31 20 8c 0d 18 88 1d 73  69 7a 65 25 3d 73 69 7a  |1 .....size%=siz|
000039f0  65 6d 61 78 78 25 2d 73  69 7a 65 6d 69 6e 78 25  |emaxx%-sizeminx%|
00003a00  0d 18 92 1f 70 70 6f 73  25 3d 28 6f 6c 64 77 6f  |....ppos%=(oldwo|
00003a10  72 6b 78 25 2d 73 69 7a  65 6d 69 6e 78 25 29 0d  |rkx%-sizeminx%).|
00003a20  18 9c 1e 6e 75 6d 25 3d  28 72 72 61 6e 67 65 25  |...num%=(rrange%|
00003a30  2f 73 69 7a 65 25 29 2a  70 70 6f 73 25 0d 18 a6  |/size%)*ppos%...|
00003a40  13 c8 8e 20 73 6c 69 64  65 69 63 6f 6e 25 20 ca  |... slideicon% .|
00003a50  0d 18 b0 0e c9 20 32 38  2c 33 31 2c 33 34 0d 18  |..... 28,31,34..|
00003a60  ba 13 6f 6c 64 77 6f 72  6b 78 25 3d 6e 65 77 78  |..oldworkx%=newx|
00003a70  25 0d 18 c4 05 cb 0d 18  ce 05 3a 0d 18 d8 13 73  |%.........:....s|
00003a80  6c 69 64 65 77 69 6e 64  6f 77 25 3d 2d 31 0d 18  |lidewindow%=-1..|
00003a90  e2 11 73 6c 69 64 65 69  63 6f 6e 25 3d 2d 31 0d  |..slideicon%=-1.|
00003aa0  18 ec 11 73 6c 69 64 65  73 69 7a 65 25 3d 2d 31  |...slidesize%=-1|
00003ab0  0d 18 f6 05 cd 0d 19 00  05 cb 0d 19 0a 05 e1 0d  |................|
00003ac0  19 14 11 dd 20 f2 6b 65  79 70 72 65 73 73 65 64  |.... .keypressed|
00003ad0  0d 19 1e 12 77 69 6e 64  25 3d 62 6c 6f 63 6b 25  |....wind%=block%|
00003ae0  21 30 0d 19 28 12 69 63  6f 6e 25 3d 62 6c 6f 63  |!0..(.icon%=bloc|
00003af0  6b 25 21 34 0d 19 32 12  6b 65 79 25 3d 62 6c 6f  |k%!4..2.key%=blo|
00003b00  63 6b 25 21 32 34 0d 19  3c 0d c8 8e 20 6b 65 79  |ck%!24..<... key|
00003b10  25 20 ca 0d 19 46 0c c9  20 33 39 38 2c 31 33 0d  |% ...F.. 398,13.|
00003b20  19 50 15 e7 20 77 69 6e  64 25 3d 73 61 76 65 61  |.P.. wind%=savea|
00003b30  73 25 20 8c 0d 19 5a 24  e7 20 a7 a4 69 63 6f 6e  |s% ...Z$. ..icon|
00003b40  74 65 78 74 28 73 61 76  65 61 73 25 2c 31 29 2c  |text(saveas%,1),|
00003b50  22 2e 22 29 3d 30 20 8c  0d 19 64 48 f2 61 6c 65  |".")=0 ...dH.ale|
00003b60  72 74 28 22 54 72 65 65  22 2c 22 54 6f 20 73 61  |rt("Tree","To sa|
00003b70  76 65 2c 20 64 72 61 67  20 74 68 65 20 66 69 6c  |ve, drag the fil|
00003b80  65 20 69 63 6f 6e 20 74  6f 20 61 20 64 69 72 65  |e icon to a dire|
00003b90  63 74 6f 72 79 20 76 69  65 77 65 72 22 2c 32 29  |ctory viewer",2)|
00003ba0  0d 19 6e 12 c8 99 26 30  30 30 34 30 30 44 34 2c  |..n...&000400D4,|
00003bb0  2d 31 0d 19 78 05 cc 0d  19 82 16 70 6f 6f 77 69  |-1..x......poowi|
00003bc0  6e 64 6f 77 25 3d 73 61  76 65 61 73 25 0d 19 8c  |ndow%=saveas%...|
00003bd0  1f f2 73 61 76 65 28 a4  69 63 6f 6e 74 65 78 74  |..save(.icontext|
00003be0  28 73 61 76 65 61 73 25  2c 31 29 29 0d 19 96 13  |(saveas%,1))....|
00003bf0  c8 99 26 30 30 30 34 30  30 44 34 2c 2c 2d 31 0d  |..&000400D4,,-1.|
00003c00  19 a0 05 cd 0d 19 aa 05  cd 0d 19 b4 17 e7 20 77  |.............. w|
00003c10  69 6e 64 25 3d 73 61 76  65 74 72 65 65 25 20 8c  |ind%=savetree% .|
00003c20  0d 19 be 26 e7 20 a7 a4  69 63 6f 6e 74 65 78 74  |...&. ..icontext|
00003c30  28 73 61 76 65 74 72 65  65 25 2c 31 29 2c 22 2e  |(savetree%,1),".|
00003c40  22 29 3d 30 20 8c 0d 19  c8 48 f2 61 6c 65 72 74  |")=0 ....H.alert|
00003c50  28 22 54 72 65 65 22 2c  22 54 6f 20 73 61 76 65  |("Tree","To save|
00003c60  2c 20 64 72 61 67 20 74  68 65 20 66 69 6c 65 20  |, drag the file |
00003c70  69 63 6f 6e 20 74 6f 20  61 20 64 69 72 65 63 74  |icon to a direct|
00003c80  6f 72 79 20 76 69 65 77  65 72 22 2c 32 29 0d 19  |ory viewer",2)..|
00003c90  d2 12 c8 99 26 30 30 30  34 30 30 44 34 2c 2d 31  |....&000400D4,-1|
00003ca0  0d 19 dc 05 cc 0d 19 e6  18 70 6f 6f 77 69 6e 64  |.........poowind|
00003cb0  6f 77 25 3d 73 61 76 65  74 72 65 65 25 0d 19 f0  |ow%=savetree%...|
00003cc0  21 f2 73 61 76 65 28 a4  69 63 6f 6e 74 65 78 74  |!.save(.icontext|
00003cd0  28 73 61 76 65 74 72 65  65 25 2c 31 29 29 0d 19  |(savetree%,1))..|
00003ce0  fa 13 c8 99 26 30 30 30  34 30 30 44 34 2c 2c 2d  |....&000400D4,,-|
00003cf0  31 0d 1a 04 05 cd 0d 1a  0e 05 cd 0d 1a 18 05 7f  |1...............|
00003d00  0d 1a 22 1d c8 99 20 22  57 69 6d 70 5f 50 72 6f  |.."... "Wimp_Pro|
00003d10  63 65 73 73 4b 65 79 22  2c 6b 65 79 25 0d 1a 2c  |cessKey",key%..,|
00003d20  05 cb 0d 1a 36 05 e1 0d  1a 40 14 dd 20 f2 6d 65  |....6....@.. .me|
00003d30  6e 75 73 65 6c 65 63 74  69 6f 6e 0d 1a 4a 14 c8  |nuselection..J..|
00003d40  8e 20 6d 65 6e 75 6e 75  6d 62 65 72 25 20 ca 0d  |. menunumber% ..|
00003d50  1a 54 07 c9 20 31 0d 1a  5e 2b c8 99 26 30 30 30  |.T.. 1..^+..&000|
00003d60  34 30 30 44 35 2c 2c 6d  61 69 6e 6d 65 6e 75 25  |400D5,,mainmenu%|
00003d70  2c 62 6c 6f 63 6b 25 2c  62 6c 6f 63 6b 25 2b 32  |,block%,block%+2|
00003d80  34 0d 1a 68 1d 74 72 75  6e 63 24 3d a4 67 4c 6e  |4..h.trunc$=.gLn|
00003d90  28 24 28 62 6c 6f 63 6b  25 2b 32 34 29 29 0d 1a  |($(block%+24))..|
00003da0  72 15 e7 20 74 72 75 6e  63 24 3d 22 51 75 69 74  |r.. trunc$="Quit|
00003db0  22 20 8c 0d 1a 7c 0a 65  78 69 74 3d b9 0d 1a 86  |" ...|.exit=....|
00003dc0  0e 6d 61 6b 65 65 78 69  74 3d b9 0d 1a 90 17 f2  |.makeexit=......|
00003dd0  63 6c 6f 73 65 77 69 6e  64 6f 77 28 6d 61 69 6e  |closewindow(main|
00003de0  25 29 0d 1a 9a 05 cd 0d  1a a4 19 e7 20 74 72 75  |%).......... tru|
00003df0  6e 63 24 3d 22 4f 70 74  69 6f 6e 73 8c 22 20 8c  |nc$="Options." .|
00003e00  0d 1a ae 09 f2 70 61 6e  65 0d 1a b8 1b f2 6f 70  |.....pane.....op|
00003e10  65 6e 77 69 6e 64 6f 77  28 6f 70 74 69 6f 6e 73  |enwindow(options|
00003e20  25 2c a3 29 0d 1a c2 05  cd 0d 1a cc 07 c9 20 32  |%,.).......... 2|
00003e30  0d 1a d6 2c c8 99 26 30  30 30 34 30 30 44 35 2c  |...,..&000400D5,|
00003e40  2c 6f 74 68 65 72 6d 65  6e 75 25 2c 62 6c 6f 63  |,othermenu%,bloc|
00003e50  6b 25 2c 62 6c 6f 63 6b  25 2b 32 34 0d 1a e0 1d  |k%,block%+24....|
00003e60  74 72 75 6e 63 24 3d a4  67 4c 6e 28 24 28 62 6c  |trunc$=.gLn($(bl|
00003e70  6f 63 6b 25 2b 32 34 29  29 0d 1a ea 15 e7 20 74  |ock%+24))..... t|
00003e80  72 75 6e 63 24 3d 22 51  75 69 74 22 20 8c 0d 1a  |runc$="Quit" ...|
00003e90  f4 0e 6d 61 6b 65 65 78  69 74 3d b9 0d 1a fe 0c  |..makeexit=.....|
00003ea0  65 78 69 74 20 3d 20 b9  0d 1b 08 17 f2 63 6c 6f  |exit = ......clo|
00003eb0  73 65 77 69 6e 64 6f 77  28 6d 61 69 6e 25 29 0d  |sewindow(main%).|
00003ec0  1b 12 05 cd 0d 1b 1c 2a  e7 20 74 72 75 6e 63 24  |.......*. trunc$|
00003ed0  3d 22 52 65 44 72 61 77  20 49 63 6f 6e 73 22 20  |="ReDraw Icons" |
00003ee0  8c 20 f2 6d 61 6a 6f 72  72 65 64 72 61 77 0d 1b  |. .majorredraw..|
00003ef0  26 37 e7 20 74 72 75 6e  63 24 3d 22 4f 70 65 6e  |&7. trunc$="Open|
00003f00  20 50 61 72 65 6e 74 22  20 8c 20 ff 28 22 46 49  | Parent" . .("FI|
00003f10  4c 45 52 5f 4f 50 45 4e  44 49 52 20 22 2b 70 6f  |LER_OPENDIR "+po|
00003f20  6f 75 70 24 29 0d 1b 30  24 e7 20 74 72 75 6e 63  |oup$)..0$. trunc|
00003f30  24 3d 22 53 65 61 72 63  68 8c 22 20 8c 20 f2 6f  |$="Search." . .o|
00003f40  70 65 6e 73 65 61 72 63  68 0d 1b 3a 19 e7 20 74  |pensearch..:.. t|
00003f50  72 75 6e 63 24 3d 22 4f  70 74 69 6f 6e 73 8c 22  |runc$="Options."|
00003f60  20 8c 0d 1b 44 09 f2 70  61 6e 65 0d 1b 4e 1b f2  | ...D..pane..N..|
00003f70  6f 70 65 6e 77 69 6e 64  6f 77 28 6f 70 74 69 6f  |openwindow(optio|
00003f80  6e 73 25 2c a3 29 0d 1b  58 05 cd 0d 1b 62 05 cb  |ns%,.)..X....b..|
00003f90  0d 1b 6c 1b c8 99 26 30  30 30 34 30 30 43 46 2c  |..l...&000400CF,|
00003fa0  2c 62 6c 6f 63 6b 25 2b  32 35 36 0d 1b 76 13 62  |,block%+256..v.b|
00003fb0  72 72 25 3d 62 6c 6f 63  6b 25 2b 32 35 36 0d 1b  |rr%=block%+256..|
00003fc0  80 12 62 75 74 74 6f 6e  25 3d 62 72 72 25 21 38  |..button%=brr%!8|
00003fd0  0d 1b 8a 11 e7 20 62 75  74 74 6f 6e 25 3d 31 20  |..... button%=1 |
00003fe0  8c 0d 1b 94 41 e7 20 6d  65 6e 75 6e 75 6d 62 65  |....A. menunumbe|
00003ff0  72 25 3d 31 20 8c 20 c8  99 20 26 30 30 30 34 30  |r%=1 . .. &00040|
00004000  30 44 34 2c 2c 6d 61 69  6e 6d 65 6e 75 25 2c 62  |0D4,,mainmenu%,b|
00004010  72 72 25 21 30 2d 36 38  2c 28 36 34 2a 34 29 2b  |rr%!0-68,(64*4)+|
00004020  36 34 0d 1b 9e 3f e7 20  6d 65 6e 75 6e 75 6d 62  |64...?. menunumb|
00004030  65 72 25 3d 32 20 8c 20  c8 99 20 26 30 30 30 34  |er%=2 . .. &0004|
00004040  30 30 44 34 2c 2c 6f 74  68 65 72 6d 65 6e 75 25  |00D4,,othermenu%|
00004050  2c 62 72 72 25 21 30 2d  36 38 2c 62 72 72 25 21  |,brr%!0-68,brr%!|
00004060  34 0d 1b a8 05 cd 0d 1b  b2 05 e1 0d 1b bc 05 e1  |4...............|
00004070  0d 1b c6 14 dd 20 f2 73  63 72 6f 6c 6c 72 65 71  |..... .scrollreq|
00004080  75 65 73 74 0d 1b d0 05  e1 0d 1b da 10 dd 20 f2  |uest.......... .|
00004090  6c 6f 73 65 63 61 72 65  74 0d 1b e4 05 e1 0d 1b  |losecaret.......|
000040a0  ee 10 dd 20 f2 67 61 69  6e 63 61 72 65 74 0d 1b  |... .gaincaret..|
000040b0  f8 05 e1 0d 1c 02 12 dd  20 f2 75 73 65 72 6d 65  |........ .userme|
000040c0  73 73 61 67 65 0d 1c 0c  07 ea 20 85 0d 1c 16 2a  |ssage..... ....*|
000040d0  ee 20 85 20 ea 20 f2 61  6c 65 72 74 28 22 45 72  |. . . .alert("Er|
000040e0  72 6f 72 20 66 72 6f 6d  20 54 72 65 65 22 2c f6  |ror from Tree",.|
000040f0  24 2c 30 29 3a e1 0d 1c  20 12 c8 8e 20 62 6c 6f  |$,0):... ... blo|
00004100  63 6b 25 21 31 36 20 ca  0d 1c 2a 07 c9 20 30 0d  |ck%!16 ...*.. 0.|
00004110  1c 34 0c 65 78 69 74 20  3d 20 b9 0d 1c 3e 07 c9  |.4.exit = ...>..|
00004120  20 32 0d 1c 48 20 f2 73  61 76 65 28 a4 67 65 74  | 2..H .save(.get|
00004130  73 74 72 69 6e 67 28 62  6c 6f 63 6b 25 2b 34 34  |string(block%+44|
00004140  29 29 0d 1c 52 0c c9 20  26 38 30 31 34 37 0d 1c  |))..R.. &80147..|
00004150  5c 13 f2 67 65 74 70 72  69 6e 74 65 72 69 6e 66  |\..getprinterinf|
00004160  6f 0d 1c 66 04 0d 1c 70  05 cb 0d 1c 7a 05 e1 0d  |o..f...p....z...|
00004170  1c 84 1a dd 20 f2 75 73  65 72 6d 65 73 73 61 67  |.... .usermessag|
00004180  65 72 65 63 6f 72 64 65  64 0d 1c 8e 07 ea 20 85  |erecorded..... .|
00004190  0d 1c 98 2a ee 20 85 20  ea 20 f2 61 6c 65 72 74  |...*. . . .alert|
000041a0  28 22 45 72 72 6f 72 20  66 72 6f 6d 20 54 72 65  |("Error from Tre|
000041b0  65 22 2c f6 24 2c 30 29  3a e1 0d 1c a2 12 c8 8e  |e",.$,0):.......|
000041c0  20 62 6c 6f 63 6b 25 21  31 36 20 ca 0d 1c ac 07  | block%!16 .....|
000041d0  c9 20 30 0d 1c b6 0c 65  78 69 74 20 3d 20 b9 0d  |. 0....exit = ..|
000041e0  1c c0 0c c9 20 26 38 30  31 34 32 0d 1c ca 14 e7  |.... &80142.....|
000041f0  20 64 6f 70 72 69 6e 74  25 20 80 20 a3 20 8c 0d  | doprint% . . ..|
00004200  1c d4 0e 64 6f 70 72 69  6e 74 25 3d a3 0d 1c de  |...doprint%=....|
00004210  5f f2 61 6c 65 72 74 28  22 4d 65 73 73 61 67 65  |_.alert("Message|
00004220  20 66 72 6f 6d 20 54 72  65 65 22 2c 22 4c 6f 61  | from Tree","Loa|
00004230  64 20 74 68 65 20 52 69  73 63 4f 53 20 33 20 21  |d the RiscOS 3 !|
00004240  50 72 69 6e 74 65 72 73  20 61 70 70 6c 69 63 61  |Printers applica|
00004250  74 69 6f 6e 20 74 6f 20  70 72 69 6e 74 20 66 72  |tion to print fr|
00004260  6f 6d 20 54 72 65 65 2e  22 2c 30 29 0d 1c e8 05  |om Tree.",0)....|
00004270  cd 0d 1c f2 07 c9 20 33  0d 1c fc 3e f2 6c 6f 61  |...... 3...>.loa|
00004280  64 28 62 6c 6f 63 6b 25  21 32 30 2c 62 6c 6f 63  |d(block%!20,bloc|
00004290  6b 25 21 32 34 2c 62 6c  6f 63 6b 25 21 34 30 2c  |k%!24,block%!40,|
000042a0  a4 67 65 74 73 74 72 69  6e 67 28 62 6c 6f 63 6b  |.getstring(block|
000042b0  25 2b 34 34 29 29 0d 1d  06 07 c9 20 35 0d 1d 10  |%+44))..... 5...|
000042c0  16 e7 20 62 6c 6f 63 6b  25 21 34 30 3d 26 33 35  |.. block%!40=&35|
000042d0  33 20 8c 0d 1d 1a 16 62  6c 6f 63 6b 25 21 31 32  |3 .....block%!12|
000042e0  3d 62 6c 6f 63 6b 25 21  38 0d 1d 24 23 c8 99 26  |=block%!8..$#..&|
000042f0  30 30 30 36 30 30 45 37  2c 31 37 2c 62 6c 6f 63  |000600E7,17,bloc|
00004300  6b 25 2c 62 6c 6f 63 6b  25 21 32 30 0d 1d 2e 3e  |k%,block%!20...>|
00004310  f2 6c 6f 61 64 28 62 6c  6f 63 6b 25 21 32 30 2c  |.load(block%!20,|
00004320  62 6c 6f 63 6b 25 21 32  34 2c 62 6c 6f 63 6b 25  |block%!24,block%|
00004330  21 34 30 2c a4 67 65 74  73 74 72 69 6e 67 28 62  |!40,.getstring(b|
00004340  6c 6f 63 6b 25 2b 34 34  29 29 0d 1d 38 05 cd 0d  |lock%+44))..8...|
00004350  1d 42 07 c9 20 38 0d 1d  4c 0d e7 20 6d 6f 64 79  |.B.. 8..L.. mody|
00004360  25 20 8c 0d 1d 56 0f 20  20 70 72 65 73 73 65 64  |% ...V.  pressed|
00004370  3d b9 0d 1d 60 18 20 20  62 6c 6f 63 6b 25 21 31  |=...`.  block%!1|
00004380  32 3d 62 6c 6f 63 6b 25  21 38 0d 1d 6a 27 20 20  |2=block%!8..j'  |
00004390  c8 99 20 22 57 69 6d 70  5f 53 65 6e 64 4d 65 73  |.. "Wimp_SendMes|
000043a0  73 61 67 65 22 2c 31 39  2c 62 6c 6f 63 6b 25 2c  |sage",19,block%,|
000043b0  30 0d 1d 74 1a 20 20 f2  73 69 63 6f 6e 28 6d 79  |0..t.  .sicon(my|
000043c0  63 6f 6e 74 72 6f 6c 25  2c 36 29 0d 1d 7e 19 20  |control%,6)..~. |
000043d0  20 f2 63 6c 6f 73 65 77  69 6e 64 6f 77 28 6d 61  | .closewindow(ma|
000043e0  69 6e 25 29 0d 1d 88 05  cd 0d 1d 92 05 cb 0d 1d  |in%)............|
000043f0  9c 05 e1 0d 1d a6 1d dd  20 f2 75 73 65 72 6d 65  |........ .userme|
00004400  73 73 61 67 65 61 63 6b  6e 6f 77 6c 65 64 67 65  |ssageacknowledge|
00004410  0d 1d b0 12 c8 8e 20 62  6c 6f 63 6b 25 21 31 36  |...... block%!16|
00004420  20 ca 0d 1d ba 0c c9 20  26 38 30 31 34 32 0d 1d  | ...... &80142..|
00004430  c4 10 e7 20 64 6f 70 72  69 6e 74 25 20 8c 0d 1d  |... doprint% ...|
00004440  ce 0e 64 6f 70 72 69 6e  74 25 3d a3 0d 1d d8 5f  |..doprint%=...._|
00004450  f2 61 6c 65 72 74 28 22  4d 65 73 73 61 67 65 20  |.alert("Message |
00004460  66 72 6f 6d 20 54 72 65  65 22 2c 22 4c 6f 61 64  |from Tree","Load|
00004470  20 74 68 65 20 52 69 73  63 4f 53 20 33 20 21 50  | the RiscOS 3 !P|
00004480  72 69 6e 74 65 72 73 20  61 70 70 6c 69 63 61 74  |rinters applicat|
00004490  69 6f 6e 20 74 6f 20 70  72 69 6e 74 20 66 72 6f  |ion to print fro|
000044a0  6d 20 54 72 65 65 2e 22  2c 30 29 0d 1d e2 05 cd  |m Tree.",0).....|
000044b0  0d 1d ec 05 cb 0d 1d f6  05 e1 0d 1e 00 1b dd a4  |................|
000044c0  70 61 72 73 65 4c 69 6e  65 28 41 24 2c 42 24 28  |parseLine(A$,B$(|
000044d0  29 2c 43 24 29 0d 1e 0a  18 ea 20 44 25 2c 45 25  |),C$)..... D%,E%|
000044e0  3a 44 25 3d de 28 42 24  28 29 2c 31 29 0d 1e 14  |:D%=.(B$(),1)...|
000044f0  18 c8 95 20 28 41 24 3c  3e 22 22 29 80 28 45 25  |... (A$<>"").(E%|
00004500  3c 3d 44 25 29 0d 1e 1e  1c 42 24 28 45 25 29 3d  |<=D%)....B$(E%)=|
00004510  a4 70 61 72 73 65 57 6f  72 64 28 41 24 2c 43 24  |.parseWord(A$,C$|
00004520  29 0d 1e 28 09 45 25 2b  3d 31 0d 1e 32 05 ce 0d  |)..(.E%+=1..2...|
00004530  1e 3c 07 3d 45 25 0d 1e  46 18 dd a4 70 61 72 73  |.<.=E%..F...pars|
00004540  65 57 6f 72 64 28 f8 20  41 24 2c 42 24 29 0d 1e  |eWord(. A$,B$)..|
00004550  50 2c ea 20 43 24 2c 44  25 2c 45 25 2c 46 24 3a  |P,. C$,D%,E%,F$:|
00004560  44 25 3d 31 3a 45 25 3d  a9 28 41 24 29 3a 43 24  |D%=1:E%=.(A$):C$|
00004570  3d c1 41 24 2c 44 25 2c  31 29 0d 1e 5a 30 c8 95  |=.A$,D%,1)..Z0..|
00004580  20 28 a7 42 24 2c 43 24  29 3d 30 29 80 28 44 25  | (.B$,C$)=0).(D%|
00004590  3c 3d 45 25 29 3a 44 25  2b 3d 31 3a 43 24 3d c1  |<=E%):D%+=1:C$=.|
000045a0  41 24 2c 44 25 2c 31 29  3a ce 0d 1e 64 38 46 24  |A$,D%,1):...d8F$|
000045b0  3d c0 41 24 2c 44 25 2d  31 29 3a 41 24 3d c1 41  |=.A$,D%-1):A$=.A|
000045c0  24 2c 44 25 2b 31 29 3a  45 25 3d a9 28 41 24 29  |$,D%+1):E%=.(A$)|
000045d0  3a 44 25 3d 31 3a 43 24  3d c1 41 24 2c 44 25 2c  |:D%=1:C$=.A$,D%,|
000045e0  31 29 0d 1e 6e 30 c8 95  20 28 a7 42 24 2c 43 24  |1)..n0.. (.B$,C$|
000045f0  29 3e 30 29 80 28 44 25  3c 3d 45 25 29 3a 44 25  |)>0).(D%<=E%):D%|
00004600  2b 3d 31 3a 43 24 3d c1  41 24 2c 44 25 2c 31 29  |+=1:C$=.A$,D%,1)|
00004610  3a ce 0d 1e 78 0e 41 24  3d c1 41 24 2c 44 25 29  |:...x.A$=.A$,D%)|
00004620  0d 1e 82 07 3d 46 24 0d  1e 8c 32 dd 20 a4 63 72  |....=F$...2. .cr|
00004630  65 61 74 65 6d 65 6e 75  28 74 69 74 6c 65 24 2c  |eatemenu(title$,|
00004640  65 6e 74 72 69 65 73 25  2c 65 6e 74 72 69 65 73  |entries%,entries|
00004650  24 2c 77 69 64 74 68 25  29 0d 1e 96 13 ea 20 6d  |$,width%)..... m|
00004660  65 6e 75 25 2c 77 6f 72  64 24 28 29 0d 1e a0 1a  |enu%,word$()....|
00004670  de 20 6d 65 6e 75 25 20  32 34 2b 65 6e 74 72 69  |. menu% 24+entri|
00004680  65 73 25 2a 32 34 0d 1e  aa 15 de 20 77 6f 72 64  |es%*24..... word|
00004690  24 28 65 6e 74 72 69 65  73 25 29 0d 1e b4 28 74  |$(entries%)...(t|
000046a0  72 25 3d a4 70 61 72 73  65 4c 69 6e 65 28 65 6e  |r%=.parseLine(en|
000046b0  74 72 69 65 73 24 2c 77  6f 72 64 24 28 29 2c 22  |tries$,word$(),"|
000046c0  7c 22 29 0d 1e be 0a 74  72 25 2d 3d 31 0d 1e c8  ||")....tr%-=1...|
000046d0  18 24 28 6d 65 6e 75 25  2b 30 29 3d 74 69 74 6c  |.$(menu%+0)=titl|
000046e0  65 24 2b bd 30 0d 1e d2  0e 6d 65 6e 75 25 21 31  |e$+.0....menu%!1|
000046f0  32 3d 37 0d 1e dc 0e 6d  65 6e 75 25 21 31 33 3d  |2=7....menu%!13=|
00004700  32 0d 1e e6 0e 6d 65 6e  75 25 21 31 34 3d 37 0d  |2....menu%!14=7.|
00004710  1e f0 0e 6d 65 6e 75 25  21 31 35 3d 30 0d 1e fa  |...menu%!15=0...|
00004720  13 6d 65 6e 75 25 21 31  36 3d 77 69 64 74 68 25  |.menu%!16=width%|
00004730  0d 1f 04 0f 6d 65 6e 75  25 21 32 30 3d 34 34 0d  |....menu%!20=44.|
00004740  1f 0e 0e 6d 65 6e 75 25  21 32 34 3d 30 0d 1f 18  |...menu%!24=0...|
00004750  13 e3 20 6c 6f 6f 70 25  3d 30 20 b8 20 74 72 25  |.. loop%=0 . tr%|
00004760  0d 1f 22 14 70 25 3d 28  6c 6f 6f 70 25 2a 32 34  |..".p%=(loop%*24|
00004770  29 2b 32 38 0d 1f 2c 32  e7 20 6c 6f 6f 70 25 3d  |)+28..,2. loop%=|
00004780  65 6e 74 72 69 65 73 25  2d 31 20 8c 20 6d 65 6e  |entries%-1 . men|
00004790  75 25 21 70 25 3d 31 32  38 20 8b 20 6d 65 6e 75  |u%!p%=128 . menu|
000047a0  25 21 70 25 3d 30 0d 1f  36 1e e7 20 c1 77 6f 72  |%!p%=0..6.. .wor|
000047b0  64 24 28 6c 6f 6f 70 25  29 2c 31 2c 31 29 3d 22  |d$(loop%),1,1)="|
000047c0  2d 22 20 8c 0d 1f 40 0f  6d 65 6e 75 25 21 70 25  |-" ...@.menu%!p%|
000047d0  2b 3d 32 0d 1f 4a 05 cd  0d 1f 54 26 e7 20 74 69  |+=2..J....T&. ti|
000047e0  74 6c 65 24 3d 22 46 69  6c 65 74 79 70 65 73 22  |tle$="Filetypes"|
000047f0  20 8c 20 6d 65 6e 75 25  21 70 25 2b 3d 38 0d 1f  | . menu%!p%+=8..|
00004800  5e 09 70 25 2b 3d 34 0d  1f 68 1e e7 20 a7 77 6f  |^.p%+=4..h.. .wo|
00004810  72 64 24 28 6c 6f 6f 70  25 29 2c 22 3e 22 29 20  |rd$(loop%),">") |
00004820  3d 20 30 20 8c 0d 1f 72  0f 6d 65 6e 75 25 21 70  |= 0 ...r.menu%!p|
00004830  25 3d 2d 31 0d 1f 7c 05  cc 0d 1f 86 33 6d 65 6e  |%=-1..|.....3men|
00004840  75 25 21 70 25 3d a0 28  c1 77 6f 72 64 24 28 6c  |u%!p%=.(.word$(l|
00004850  6f 6f 70 25 29 2c a7 77  6f 72 64 24 28 6c 6f 6f  |oop%),.word$(loo|
00004860  70 25 29 2c 22 3e 22 29  2b 31 29 29 0d 1f 90 05  |p%),">")+1))....|
00004870  cd 0d 1f 9a 09 70 25 2b  3d 34 0d 1f a4 15 6d 65  |.....p%+=4....me|
00004880  6e 75 25 21 70 25 3d 26  37 30 30 39 30 33 31 0d  |nu%!p%=&7009031.|
00004890  1f ae 09 70 25 2b 3d 34  0d 1f b8 1e e7 20 a7 77  |...p%+=4..... .w|
000048a0  6f 72 64 24 28 6c 6f 6f  70 25 29 2c 22 3e 22 29  |ord$(loop%),">")|
000048b0  20 3d 20 30 20 8c 0d 1f  c2 1e e7 20 c1 77 6f 72  | = 0 ...... .wor|
000048c0  64 24 28 6c 6f 6f 70 25  29 2c 31 2c 31 29 3d 22  |d$(loop%),1,1)="|
000048d0  2d 22 20 8c 0d 1f cc 20  24 28 6d 65 6e 75 25 2b  |-" .... $(menu%+|
000048e0  70 25 29 3d c1 77 6f 72  64 24 28 6c 6f 6f 70 25  |p%)=.word$(loop%|
000048f0  29 2c 32 29 0d 1f d6 05  cc 0d 1f e0 1c 24 28 6d  |),2).........$(m|
00004900  65 6e 75 25 2b 70 25 29  3d 77 6f 72 64 24 28 6c  |enu%+p%)=word$(l|
00004910  6f 6f 70 25 29 0d 1f ea  05 cd 0d 1f f4 05 cc 0d  |oop%)...........|
00004920  1f fe 1e e7 20 c1 77 6f  72 64 24 28 6c 6f 6f 70  |.... .word$(loop|
00004930  25 29 2c 31 2c 31 29 3d  22 2d 22 20 8c 0d 20 08  |%),1,1)="-" .. .|
00004940  35 24 28 6d 65 6e 75 25  2b 70 25 29 3d c1 77 6f  |5$(menu%+p%)=.wo|
00004950  72 64 24 28 6c 6f 6f 70  25 29 2c 32 2c a7 77 6f  |rd$(loop%),2,.wo|
00004960  72 64 24 28 6c 6f 6f 70  25 29 2c 22 3e 22 29 2d  |rd$(loop%),">")-|
00004970  32 29 0d 20 12 05 cc 0d  20 1c 35 24 28 6d 65 6e  |2). .... .5$(men|
00004980  75 25 2b 70 25 29 3d c1  77 6f 72 64 24 28 6c 6f  |u%+p%)=.word$(lo|
00004990  6f 70 25 29 2c 31 2c a7  77 6f 72 64 24 28 6c 6f  |op%),1,.word$(lo|
000049a0  6f 70 25 29 2c 22 3e 22  29 2d 31 29 0d 20 26 05  |op%),">")-1). &.|
000049b0  cd 0d 20 30 05 cd 0d 20  3a 0a ed 6c 6f 6f 70 25  |.. 0... :..loop%|
000049c0  0d 20 44 0a 3d 6d 65 6e  75 25 0d 20 4e 1a dd f2  |. D.=menu%. N...|
000049d0  64 72 61 77 6d 65 6e 75  28 6d 25 2c 78 78 25 2c  |drawmenu(m%,xx%,|
000049e0  79 79 25 29 0d 20 58 1c  c8 99 20 26 30 30 30 34  |yy%). X... &0004|
000049f0  30 30 44 34 2c 2c 6d 25  2c 78 78 25 2c 79 79 25  |00D4,,m%,xx%,yy%|
00004a00  0d 20 62 05 e1 0d 20 6c  18 dd f2 73 69 63 6f 6e  |. b... l...sicon|
00004a10  28 77 69 6e 64 25 2c 69  63 6f 6e 25 29 0d 20 76  |(wind%,icon%). v|
00004a20  12 62 6c 6f 63 6b 25 21  30 3d 77 69 6e 64 25 0d  |.block%!0=wind%.|
00004a30  20 80 12 62 6c 6f 63 6b  25 21 34 3d 69 63 6f 6e  | ..block%!4=icon|
00004a40  25 0d 20 8a 25 62 6c 6f  63 6b 25 21 38 3d 25 31  |%. .%block%!8=%1|
00004a50  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
00004a60  30 30 30 30 30 30 0d 20  94 26 62 6c 6f 63 6b 25  |000000. .&block%|
00004a70  21 31 32 3d 25 31 30 30  30 30 30 30 30 30 30 30  |!12=%10000000000|
00004a80  30 30 30 30 30 30 30 30  30 30 30 30 0d 20 9e 15  |000000000000. ..|
00004a90  c8 99 20 26 34 30 30 43  44 2c 2c 62 6c 6f 63 6b  |.. &400CD,,block|
00004aa0  25 0d 20 a8 05 e1 0d 20  b2 19 dd f2 75 73 69 63  |%. .... ....usic|
00004ab0  6f 6e 28 77 69 6e 64 25  2c 69 63 6f 6e 25 29 0d  |on(wind%,icon%).|
00004ac0  20 bc 12 62 6c 6f 63 6b  25 21 30 3d 77 69 6e 64  | ..block%!0=wind|
00004ad0  25 0d 20 c6 12 62 6c 6f  63 6b 25 21 34 3d 69 63  |%. ..block%!4=ic|
00004ae0  6f 6e 25 0d 20 d0 0e 62  6c 6f 63 6b 25 21 38 3d  |on%. ..block%!8=|
00004af0  30 0d 20 da 26 62 6c 6f  63 6b 25 21 31 32 3d 25  |0. .&block%!12=%|
00004b00  31 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |1000000000000000|
00004b10  30 30 30 30 30 30 30 0d  20 e4 15 c8 99 20 26 34  |0000000. .... &4|
00004b20  30 30 43 44 2c 2c 62 6c  6f 63 6b 25 0d 20 ee 05  |00CD,,block%. ..|
00004b30  e1 0d 20 f8 1a dd f2 73  65 6c 69 63 6f 6e 28 77  |.. ....selicon(w|
00004b40  69 6e 64 25 2c 69 63 6f  6e 25 29 0d 21 02 12 62  |ind%,icon%).!..b|
00004b50  6c 6f 63 6b 25 21 30 3d  77 69 6e 64 25 0d 21 0c  |lock%!0=wind%.!.|
00004b60  12 62 6c 6f 63 6b 25 21  34 3d 69 63 6f 6e 25 0d  |.block%!4=icon%.|
00004b70  21 16 24 62 6c 6f 63 6b  25 21 38 3d 25 31 30 30  |!.$block%!8=%100|
00004b80  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
00004b90  30 30 30 0d 21 20 25 62  6c 6f 63 6b 25 21 31 32  |000.! %block%!12|
00004ba0  3d 25 31 30 30 30 30 30  30 30 30 30 30 30 30 30  |=%10000000000000|
00004bb0  30 30 30 30 30 30 30 30  0d 21 2a 15 c8 99 20 26  |00000000.!*... &|
00004bc0  34 30 30 43 44 2c 2c 62  6c 6f 63 6b 25 0d 21 34  |400CD,,block%.!4|
00004bd0  05 e1 0d 21 3e 1b dd f2  75 73 65 6c 69 63 6f 6e  |...!>...uselicon|
00004be0  28 77 69 6e 64 25 2c 69  63 6f 6e 25 29 0d 21 48  |(wind%,icon%).!H|
00004bf0  12 62 6c 6f 63 6b 25 21  30 3d 77 69 6e 64 25 0d  |.block%!0=wind%.|
00004c00  21 52 12 62 6c 6f 63 6b  25 21 34 3d 69 63 6f 6e  |!R.block%!4=icon|
00004c10  25 0d 21 5c 0e 62 6c 6f  63 6b 25 21 38 3d 30 0d  |%.!\.block%!8=0.|
00004c20  21 66 25 62 6c 6f 63 6b  25 21 31 32 3d 25 31 30  |!f%block%!12=%10|
00004c30  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
00004c40  30 30 30 30 0d 21 70 15  c8 99 20 26 34 30 30 43  |0000.!p... &400C|
00004c50  44 2c 2c 62 6c 6f 63 6b  25 0d 21 7a 05 e1 0d 21  |D,,block%.!z...!|
00004c60  84 10 dd f2 74 6d 69 28  6d 25 2c 69 25 29 0d 21  |....tmi(m%,i%).!|
00004c70  8e 16 75 69 3d 6d 25 2b  28 32 38 2b 28 32 34 2a  |..ui=m%+(28+(24*|
00004c80  69 25 29 29 0d 21 98 10  21 75 69 3d 21 75 69 20  |i%)).!..!ui=!ui |
00004c90  84 20 25 31 0d 21 a2 05  e1 0d 21 ac 11 dd f2 75  |. %1.!....!....u|
00004ca0  74 6d 69 28 6d 25 2c 69  25 29 0d 21 b6 16 75 69  |tmi(m%,i%).!..ui|
00004cb0  3d 6d 25 2b 28 32 38 2b  28 32 34 2a 69 25 29 29  |=m%+(28+(24*i%))|
00004cc0  0d 21 c0 11 21 75 69 3d  21 75 69 20 80 ac 20 25  |.!..!ui=!ui .. %|
00004cd0  31 0d 21 ca 05 e1 0d 21  d4 10 dd f2 73 6d 69 28  |1.!....!....smi(|
00004ce0  6d 25 2c 69 25 29 0d 21  de 16 75 69 3d 6d 25 2b  |m%,i%).!..ui=m%+|
00004cf0  28 33 36 2b 28 32 34 2a  69 25 29 29 0d 21 e8 26  |(36+(24*i%)).!.&|
00004d00  21 75 69 3d 21 75 69 20  84 20 25 31 30 30 30 30  |!ui=!ui . %10000|
00004d10  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
00004d20  30 30 0d 21 f2 05 e1 0d  21 fc 11 dd f2 75 73 6d  |00.!....!....usm|
00004d30  69 28 6d 25 2c 69 25 29  0d 22 06 16 75 69 3d 6d  |i(m%,i%)."..ui=m|
00004d40  25 2b 28 33 36 2b 28 32  34 2a 69 25 29 29 0d 22  |%+(36+(24*i%))."|
00004d50  10 27 21 75 69 3d 21 75  69 20 80 ac 20 25 31 30  |.'!ui=!ui .. %10|
00004d60  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
00004d70  30 30 30 30 30 0d 22 1a  05 e1 0d 22 24 0d dd a4  |00000."...."$...|
00004d80  67 4c 6e 28 41 24 29 0d  22 2e 08 ea 20 42 25 0d  |gLn(A$)."... B%.|
00004d90  22 38 16 e7 20 a7 41 24  2c 22 2e 22 29 3d 30 20  |"8.. .A$,".")=0 |
00004da0  8c 20 3d 41 24 0d 22 42  12 e7 20 a7 41 24 2c 22  |. =A$."B.. .A$,"|
00004db0  2e 22 29 3e 30 20 8c 0d  22 4c 0a 42 25 3d a9 41  |.")>0 .."L.B%=.A|
00004dc0  24 0d 22 56 1d c8 95 28  c1 41 24 2c 42 25 2c 31  |$."V...(.A$,B%,1|
00004dd0  29 3c 3e 22 2e 22 29 80  28 42 25 3e 30 29 0d 22  |)<>".").(B%>0)."|
00004de0  60 09 42 25 2d 3d 31 0d  22 6a 05 ce 0d 22 74 10  |`.B%-=1."j..."t.|
00004df0  3d c2 41 24 2c a9 41 24  2d 42 25 29 0d 22 7e 18  |=.A$,.A$-B%)."~.|
00004e00  dd 20 a4 67 65 74 73 74  72 69 6e 67 28 61 72 72  |. .getstring(arr|
00004e10  61 79 25 29 0d 22 88 14  ea 20 70 61 74 68 24 2c  |ay%)."... path$,|
00004e20  70 6f 69 6e 74 65 72 25  0d 22 92 0c 70 61 74 68  |pointer%."..path|
00004e30  24 3d 22 22 0d 22 9c 13  70 6f 69 6e 74 65 72 25  |$=""."..pointer%|
00004e40  3d 61 72 72 61 79 25 0d  22 a6 05 f5 0d 22 b0 15  |=array%."...."..|
00004e50  70 61 74 68 24 2b 3d bd  3f 70 6f 69 6e 74 65 72  |path$+=.?pointer|
00004e60  25 0d 22 ba 0f 70 6f 69  6e 74 65 72 25 2b 3d 31  |%."..pointer%+=1|
00004e70  0d 22 c4 20 fd 20 3f 70  6f 69 6e 74 65 72 25 3d  |.". . ?pointer%=|
00004e80  30 20 84 20 3f 70 6f 69  6e 74 65 72 25 3d 31 33  |0 . ?pointer%=13|
00004e90  0d 22 ce 0a 3d 70 61 74  68 24 0d 22 d8 29 dd f2  |."..=path$.".)..|
00004ea0  6c 6f 61 64 28 77 69 6e  64 6f 77 25 2c 69 63 6f  |load(window%,ico|
00004eb0  6e 25 2c 66 69 6c 65 74  79 70 65 25 2c 70 61 74  |n%,filetype%,pat|
00004ec0  68 24 29 0d 22 e2 07 ea  20 85 0d 22 ec 2a ee 20  |h$)."... ..".*. |
00004ed0  85 20 ea 20 f2 61 6c 65  72 74 28 22 45 72 72 6f  |. . .alert("Erro|
00004ee0  72 20 66 72 6f 6d 20 54  72 65 65 22 2c f6 24 2c  |r from Tree",.$,|
00004ef0  30 29 3a e1 0d 22 f6 34  e7 20 77 69 6e 64 6f 77  |0):..".4. window|
00004f00  25 3d 2d 32 20 80 20 66  69 6c 65 74 79 70 65 25  |%=-2 . filetype%|
00004f10  3c 3e 26 33 35 33 20 8c  20 f2 64 6f 66 69 6c 65  |<>&353 . .dofile|
00004f20  73 28 70 61 74 68 24 29  0d 23 00 16 e7 20 66 69  |s(path$).#... fi|
00004f30  6c 65 74 79 70 65 25 3d  26 33 35 33 20 8c 0d 23  |letype%=&353 ..#|
00004f40  0a 17 f2 63 6c 6f 73 65  77 69 6e 64 6f 77 28 6d  |...closewindow(m|
00004f50  61 69 6e 25 29 0d 23 14  16 f2 6c 6f 61 64 6d 79  |ain%).#...loadmy|
00004f60  66 69 6c 65 28 70 61 74  68 24 29 0d 23 1e 05 cd  |file(path$).#...|
00004f70  0d 23 28 05 e1 0d 23 32  0e dd f2 73 61 76 65 28  |.#(...#2...save(|
00004f80  70 24 29 0d 23 3c 07 ea  20 85 0d 23 46 2a ee 20  |p$).#<.. ..#F*. |
00004f90  85 20 ea 20 f2 61 6c 65  72 74 28 22 45 72 72 6f  |. . .alert("Erro|
00004fa0  72 20 66 72 6f 6d 20 54  72 65 65 22 2c f6 24 2c  |r from Tree",.$,|
00004fb0  30 29 3a e1 0d 23 50 10  c8 99 20 26 30 30 30 36  |0):..#P... &0006|
00004fc0  32 34 30 31 0d 23 5a 13  c8 8e 20 70 6f 6f 77 69  |2401.#Z... poowi|
00004fd0  6e 64 6f 77 25 20 ca 0d  23 64 0d c9 20 73 61 76  |ndow% ..#d.. sav|
00004fe0  65 61 73 25 0d 23 6e 0f  c8 99 26 30 30 30 34 30  |eas%.#n...&00040|
00004ff0  36 43 30 0d 23 78 3b c8  99 20 22 4f 53 5f 46 69  |6C0.#x;.. "OS_Fi|
00005000  6c 65 22 2c 31 30 2c 70  24 2c 26 33 35 33 2c 2c  |le",10,p$,&353,,|
00005010  69 63 6f 6e 64 61 74 61  25 2c 69 63 6f 6e 64 61  |icondata%,iconda|
00005020  74 61 25 2b 62 6c 6f 63  6b 73 69 7a 65 25 0d 23  |ta%+blocksize%.#|
00005030  82 0f c8 99 26 30 30 30  34 30 36 43 32 0d 23 8c  |....&000406C2.#.|
00005040  0b 6d 6f 64 79 25 3d a3  0d 23 96 17 e7 20 6d 61  |.mody%=..#... ma|
00005050  6b 65 65 78 69 74 20 8c  20 65 78 69 74 3d b9 0d  |keexit . exit=..|
00005060  23 a0 10 e7 20 66 6c 75  66 65 6e 64 25 20 8c 0d  |#... flufend% ..|
00005070  23 aa 12 62 6c 6f 63 6b  25 21 30 3d 6d 61 69 6e  |#..block%!0=main|
00005080  25 0d 23 b4 18 c8 99 20  26 30 30 30 34 30 30 43  |%.#.... &000400C|
00005090  36 2c 2c 62 6c 6f 63 6b  25 0d 23 be 05 cd 0d 23  |6,,block%.#....#|
000050a0  c8 29 e7 20 70 72 65 73  73 65 64 20 8c 20 c8 99  |.). pressed . ..|
000050b0  20 22 57 69 6d 70 5f 50  72 6f 63 65 73 73 4b 65  | "Wimp_ProcessKe|
000050c0  79 22 2c 26 31 46 43 0d  23 d2 0f c9 20 73 61 76  |y",&1FC.#... sav|
000050d0  65 74 72 65 65 25 0d 23  dc 11 f2 65 78 70 6f 72  |etree%.#...expor|
000050e0  74 28 70 24 2c b9 29 0d  23 e6 0f c9 20 73 61 76  |t(p$,.).#... sav|
000050f0  65 64 72 61 77 25 0d 23  f0 0f f2 64 6f 64 72 61  |edraw%.#...dodra|
00005100  77 28 70 24 29 0d 23 fa  0b c9 20 6d 61 69 6e 25  |w(p$).#... main%|
00005110  0d 24 04 14 e7 20 62 6c  6f 63 6b 25 21 33 36 3d  |.$... block%!36=|
00005120  2d 31 20 8c 0d 24 0e 1b  f2 67 65 74 76 61 72 73  |-1 ..$...getvars|
00005130  28 74 65 6d 70 69 63 6f  6e 25 2d 31 2c a3 29 0d  |(tempicon%-1,.).|
00005140  24 18 10 62 6c 6f 63 6b  25 21 30 3d 32 35 36 0d  |$..block%!0=256.|
00005150  24 22 0f 62 6c 6f 63 6b  25 21 31 32 3d 30 0d 24  |$".block%!12=0.$|
00005160  2c 0f 62 6c 6f 63 6b 25  21 31 36 3d 33 0d 24 36  |,.block%!16=3.$6|
00005170  1b 62 6c 6f 63 6b 25 21  33 36 3d 72 65 61 64 6c  |.block%!36=readl|
00005180  65 6e 67 74 68 25 21 30  0d 24 40 15 62 6c 6f 63  |ength%!0.$@.bloc|
00005190  6b 25 21 34 30 3d 74 79  70 65 25 21 30 0d 24 4a  |k%!40=type%!0.$J|
000051a0  1e 24 28 62 6c 6f 63 6b  25 2b 34 34 29 3d 24 66  |.$(block%+44)=$f|
000051b0  69 6c 65 6e 61 6d 65 25  2b bd 30 0d 24 54 25 c8  |ilename%+.0.$T%.|
000051c0  99 26 30 30 30 34 30 30  45 37 2c 31 37 2c 62 6c  |.&000400E7,17,bl|
000051d0  6f 63 6b 25 2c 77 69 6e  64 25 2c 69 63 6f 6e 25  |ock%,wind%,icon%|
000051e0  0d 24 5e 05 cc 0d 24 68  1b f2 67 65 74 76 61 72  |.$^...$h..getvar|
000051f0  73 28 74 65 6d 70 69 63  6f 6e 25 2d 31 2c a3 29  |s(tempicon%-1,.)|
00005200  0d 24 72 22 e7 20 a4 63  68 65 63 6b 66 72 65 65  |.$r". .checkfree|
00005210  73 70 61 63 65 3e 3d 28  34 30 2a 31 30 32 34 29  |space>=(40*1024)|
00005220  20 8c 0d 24 7c 23 70 24  3d c0 70 24 2c a9 28 70  | ..$|#p$=.p$,.(p|
00005230  24 29 2d 28 a9 28 24 66  69 6c 65 6e 61 6d 65 25  |$)-(.($filename%|
00005240  29 2b 31 29 29 0d 24 86  26 c8 99 20 22 57 69 6d  |)+1)).$.&.. "Wim|
00005250  70 5f 53 74 61 72 74 54  61 73 6b 22 2c 22 66 69  |p_StartTask","fi|
00005260  6c 65 72 5f 61 63 74 69  6f 6e 22 0d 24 90 10 62  |ler_action".$..b|
00005270  6c 6f 63 6b 25 21 30 3d  32 35 36 0d 24 9a 0f 62  |lock%!0=256.$..b|
00005280  6c 6f 63 6b 25 21 31 32  3d 30 0d 24 a4 12 62 6c  |lock%!12=0.$..bl|
00005290  6f 63 6b 25 21 31 36 3d  26 34 30 33 0d 24 ae 16  |ock%!16=&403.$..|
000052a0  63 66 74 32 3d a9 28 24  66 69 6c 65 6e 61 6d 65  |cft2=.($filename|
000052b0  25 29 0d 24 b8 1f c8 95  20 c1 24 66 69 6c 65 6e  |%).$.... .$filen|
000052c0  61 6d 65 25 2c 63 66 74  32 2c 31 29 3c 3e 22 2e  |ame%,cft2,1)<>".|
000052d0  22 0d 24 c2 0b 63 66 74  32 2d 3d 31 0d 24 cc 05  |".$..cft2-=1.$..|
000052e0  ce 0d 24 d6 20 64 64 64  75 70 24 3d c1 24 66 69  |..$. dddup$=.$fi|
000052f0  6c 65 6e 61 6d 65 25 2c  31 2c 63 66 74 32 2d 31  |lename%,1,cft2-1|
00005300  29 0d 24 e0 1a 24 28 62  6c 6f 63 6b 25 2b 32 30  |).$..$(block%+20|
00005310  29 3d 64 64 64 75 70 24  2b bd 30 0d 24 ea 25 c8  |)=dddup$+.0.$.%.|
00005320  99 20 22 57 69 6d 70 5f  53 65 6e 64 4d 65 73 73  |. "Wimp_SendMess|
00005330  61 67 65 22 2c 31 37 2c  62 6c 6f 63 6b 25 2c 30  |age",17,block%,0|
00005340  0d 24 f4 10 62 6c 6f 63  6b 25 21 30 3d 32 35 36  |.$..block%!0=256|
00005350  0d 24 fe 0f 62 6c 6f 63  6b 25 21 31 32 3d 30 0d  |.$..block%!12=0.|
00005360  25 08 12 62 6c 6f 63 6b  25 21 31 36 3d 26 34 30  |%..block%!16=&40|
00005370  34 0d 25 12 24 24 28 62  6c 6f 63 6b 25 2b 32 30  |4.%.$$(block%+20|
00005380  29 3d a4 67 4c 6e 28 24  66 69 6c 65 6e 61 6d 65  |)=.gLn($filename|
00005390  25 29 2b bd 30 0d 25 1c  25 c8 99 20 22 57 69 6d  |%)+.0.%.%.. "Wim|
000053a0  70 5f 53 65 6e 64 4d 65  73 73 61 67 65 22 2c 31  |p_SendMessage",1|
000053b0  37 2c 62 6c 6f 63 6b 25  2c 30 0d 25 26 10 62 6c  |7,block%,0.%&.bl|
000053c0  6f 63 6b 25 21 30 3d 32  35 36 0d 25 30 0f 62 6c  |ock%!0=256.%0.bl|
000053d0  6f 63 6b 25 21 31 32 3d  30 0d 25 3a 12 62 6c 6f  |ock%!12=0.%:.blo|
000053e0  63 6b 25 21 31 36 3d 26  34 30 35 0d 25 44 0f 62  |ck%!16=&405.%D.b|
000053f0  6c 6f 63 6b 25 21 32 30  3d 30 0d 25 4e 14 62 6c  |lock%!20=0.%N.bl|
00005400  6f 63 6b 25 21 32 34 3d  25 31 30 30 30 31 0d 25  |ock%!24=%10001.%|
00005410  58 16 24 28 62 6c 6f 63  6b 25 2b 32 38 29 3d 70  |X.$(block%+28)=p|
00005420  24 2b bd 30 0d 25 62 25  c8 99 20 22 57 69 6d 70  |$+.0.%b%.. "Wimp|
00005430  5f 53 65 6e 64 4d 65 73  73 61 67 65 22 2c 31 37  |_SendMessage",17|
00005440  2c 62 6c 6f 63 6b 25 2c  30 0d 25 6c 05 cc 0d 25  |,block%,0.%l...%|
00005450  76 23 70 24 3d c0 70 24  2c a9 28 70 24 29 2d 28  |v#p$=.p$,.(p$)-(|
00005460  a9 28 24 66 69 6c 65 6e  61 6d 65 25 29 2b 31 29  |.($filename%)+1)|
00005470  29 0d 25 80 3c ff 28 22  43 4f 50 59 20 22 2b 24  |).%.<.("COPY "+$|
00005480  66 69 6c 65 6e 61 6d 65  25 2b 22 20 22 2b 70 24  |filename%+" "+p$|
00005490  2b 22 2e 22 2b a4 67 4c  6e 28 24 66 69 6c 65 6e  |+"."+.gLn($filen|
000054a0  61 6d 65 25 29 2b 22 20  52 7e 43 22 29 0d 25 8a  |ame%)+" R~C").%.|
000054b0  05 cd 0d 25 94 05 cd 0d  25 9e 0c c9 20 70 72 69  |...%....%... pri|
000054c0  6e 74 25 0d 25 a8 11 f2  65 78 70 6f 72 74 28 70  |nt%.%...export(p|
000054d0  24 2c a3 29 0d 25 b2 0f  62 6c 6f 63 6b 25 21 31  |$,.).%..block%!1|
000054e0  36 3d 33 0d 25 bc 1b e3  20 70 72 69 6e 74 63 6f  |6=3.%... printco|
000054f0  75 6e 74 3d 31 20 b8 20  63 6f 70 69 65 73 0d 25  |unt=1 . copies.%|
00005500  c6 2d c8 99 26 30 30 30  34 30 30 45 37 2c 31 37  |.-..&000400E7,17|
00005510  2c 62 6c 6f 63 6b 25 2c  62 6c 6f 63 6b 25 21 32  |,block%,block%!2|
00005520  30 2c 62 6c 6f 63 6b 25  21 32 34 0d 25 d0 10 ed  |0,block%!24.%...|
00005530  20 70 72 69 6e 74 63 6f  75 6e 74 0d 25 da 0e 64  | printcount.%..d|
00005540  6f 70 72 69 6e 74 25 3d  a3 0d 25 e4 05 cb 0d 25  |oprint%=..%....%|
00005550  ee 63 e7 20 70 24 3c 3e  22 3c 57 69 6d 70 24 53  |.c. p$<>"<Wimp$S|
00005560  63 72 61 70 3e 22 20 80  20 28 70 6f 6f 77 69 6e  |crap>" . (poowin|
00005570  64 6f 77 25 3c 3e 6d 61  69 6e 25 29 20 80 20 70  |dow%<>main%) . p|
00005580  6f 6f 77 69 6e 64 6f 77  25 3c 3e 70 72 69 6e 74  |oowindow%<>print|
00005590  25 20 8c 20 f2 69 63 6f  6e 70 75 74 74 65 78 74  |% . .iconputtext|
000055a0  28 70 6f 6f 77 69 6e 64  6f 77 25 2c 31 2c 70 24  |(poowindow%,1,p$|
000055b0  29 0d 25 f8 05 e1 0d 26  02 14 dd f2 6c 6f 61 64  |).%....&....load|
000055c0  6d 79 66 69 6c 65 28 70  24 29 0d 26 0c 07 ea 20  |myfile(p$).&... |
000055d0  85 0d 26 16 2a ee 20 85  20 ea 20 f2 61 6c 65 72  |..&.*. . . .aler|
000055e0  74 28 22 45 72 72 6f 72  20 66 72 6f 6d 20 54 72  |t("Error from Tr|
000055f0  65 65 22 2c f6 24 2c 30  29 3a e1 0d 26 20 12 6c  |ee",.$,0):..& .l|
00005600  6f 63 61 6c 73 70 72 69  74 65 73 3d b9 0d 26 2a  |ocalsprites=..&*|
00005610  0d 63 6f 6c 75 6d 6e 73  3d a3 0d 26 34 24 61 72  |.columns=..&4$ar|
00005620  63 68 69 25 3d a4 6d 6f  64 75 6c 65 70 72 65 73  |chi%=.modulepres|
00005630  65 6e 74 28 22 53 70 61  72 6b 46 53 22 29 0d 26  |ent("SparkFS").&|
00005640  3e 0f 74 68 65 62 69 67  6f 6e 65 3d 30 0d 26 48  |>.thebigone=0.&H|
00005650  12 62 6c 6f 63 6b 25 21  30 3d 6d 61 69 6e 25 0d  |.block%!0=main%.|
00005660  26 52 18 c8 99 20 26 30  30 30 34 30 30 43 33 2c  |&R... &000400C3,|
00005670  2c 62 6c 6f 63 6b 25 0d  26 5c 25 c8 99 20 26 30  |,block%.&\%.. &0|
00005680  30 30 34 30 30 43 31 2c  2c 6d 61 69 6e 77 69 6e  |00400C1,,mainwin|
00005690  64 6f 77 25 20 b8 20 6d  61 69 6e 25 0d 26 66 0f  |dow% . main%.&f.|
000056a0  c8 99 26 30 30 30 34 30  36 43 30 0d 26 70 12 62  |..&000406C0.&p.b|
000056b0  6c 6f 63 6b 25 21 30 3d  6d 61 69 6e 25 0d 26 7a  |lock%!0=main%.&z|
000056c0  15 c8 99 20 26 34 30 30  63 63 2c 2c 62 6c 6f 63  |... &400cc,,bloc|
000056d0  6b 25 0d 26 84 16 77 6f  72 6b 6d 69 6e 78 3d 62  |k%.&..workminx=b|
000056e0  6c 6f 63 6b 25 21 34 34  0d 26 8e 16 77 6f 72 6b  |lock%!44.&..work|
000056f0  6d 69 6e 79 3d 62 6c 6f  63 6b 25 21 34 38 0d 26  |miny=block%!48.&|
00005700  98 16 77 6f 72 6b 6d 61  78 78 3d 62 6c 6f 63 6b  |..workmaxx=block|
00005710  25 21 35 32 0d 26 a2 16  77 6f 72 6b 6d 61 78 79  |%!52.&..workmaxy|
00005720  3d 62 6c 6f 63 6b 25 21  35 36 0d 26 ac 11 69 6e  |=block%!56.&..in|
00005730  66 69 6c 65 25 3d 8e 28  70 24 29 0d 26 b6 15 6e  |file%=.(p$).&..n|
00005740  65 77 6c 65 6e 25 3d a2  23 69 6e 66 69 6c 65 25  |ewlen%=.#infile%|
00005750  0d 26 c0 0e d9 20 23 69  6e 66 69 6c 65 25 0d 26  |.&... #infile%.&|
00005760  ca 40 c8 99 20 22 58 4f  53 5f 48 65 61 70 22 2c  |.@.. "XOS_Heap",|
00005770  34 2c 65 6e 64 70 72 6f  67 25 2c 69 63 6f 6e 64  |4,endprog%,icond|
00005780  61 74 61 25 2c 2d 62 6c  6f 63 6b 73 69 7a 65 25  |ata%,-blocksize%|
00005790  20 b8 20 2c 2c 69 63 6f  6e 64 61 74 61 25 0d 26  | . ,,icondata%.&|
000057a0  d4 37 c8 99 20 22 58 4f  53 5f 48 65 61 70 22 2c  |.7.. "XOS_Heap",|
000057b0  35 2c 65 6e 64 70 72 6f  67 25 2c 2c 2d 68 65 61  |5,endprog%,,-hea|
000057c0  70 73 69 7a 65 25 2b 73  6d 65 67 62 6c 6f 63 6b  |psize%+smegblock|
000057d0  73 69 7a 65 25 0d 26 de  10 62 6c 6f 63 6b 73 69  |size%.&..blocksi|
000057e0  7a 65 25 3d 34 0d 26 e8  1c 68 65 61 70 73 69 7a  |ze%=4.&..heapsiz|
000057f0  65 25 3d 73 6d 65 67 62  6c 6f 63 6b 73 69 7a 65  |e%=smegblocksize|
00005800  25 0d 26 f2 17 62 6c 6f  63 6b 73 69 7a 65 25 2b  |%.&..blocksize%+|
00005810  3d 6e 65 77 6c 65 6e 25  0d 26 fc 0a 64 75 66 25  |=newlen%.&..duf%|
00005820  3d a3 0d 27 06 1c e7 20  62 6c 6f 63 6b 73 69 7a  |=..'... blocksiz|
00005830  65 25 3e 68 65 61 70 73  69 7a 65 25 20 8c 0d 27  |e%>heapsize% ..'|
00005840  10 0c 20 20 64 75 66 25  3d b9 0d 27 1a 18 20 20  |..  duf%=..'..  |
00005850  68 65 61 70 73 69 7a 65  25 2b 3d 6e 65 77 6c 65  |heapsize%+=newle|
00005860  6e 25 0d 27 24 24 20 20  e7 20 a4 63 68 65 63 6b  |n%.'$$  . .check|
00005870  66 72 65 65 73 70 61 63  65 3c 3d 68 65 61 70 73  |freespace<=heaps|
00005880  69 7a 65 25 20 8c 0d 27  2e 4a 20 20 20 20 f2 61  |ize% ..'.J    .a|
00005890  6c 65 72 74 28 22 4d 65  73 73 61 67 65 20 66 72  |lert("Message fr|
000058a0  6f 6d 20 54 72 65 65 22  2c 22 55 6e 61 62 6c 65  |om Tree","Unable|
000058b0  20 74 6f 20 66 69 6e 64  20 65 6e 6f 75 67 68 20  | to find enough |
000058c0  66 72 65 65 20 6d 65 6d  6f 72 79 2e 22 2c 30 29  |free memory.",0)|
000058d0  0d 27 38 1a 20 20 20 20  68 65 61 70 73 69 7a 65  |.'8.    heapsize|
000058e0  25 2d 3d 6e 65 77 6c 65  6e 25 0d 27 42 1b 20 20  |%-=newlen%.'B.  |
000058f0  20 20 62 6c 6f 63 6b 73  69 7a 65 25 2d 3d 6e 65  |  blocksize%-=ne|
00005900  77 6c 65 6e 25 0d 27 4c  09 20 20 20 20 e1 0d 27  |wlen%.'L.    ..'|
00005910  56 07 20 20 cd 0d 27 60  2d c8 99 20 22 57 69 6d  |V.  ..'`-.. "Wim|
00005920  70 5f 53 6c 6f 74 53 69  7a 65 22 2c 74 61 73 6b  |p_SlotSize",task|
00005930  73 69 7a 65 25 2b 68 65  61 70 73 69 7a 65 25 2c  |size%+heapsize%,|
00005940  2d 31 0d 27 6a 27 20 20  c8 99 20 22 58 4f 53 5f  |-1.'j'  .. "XOS_|
00005950  48 65 61 70 22 2c 35 2c  65 6e 64 70 72 6f 67 25  |Heap",5,endprog%|
00005960  2c 2c 6e 65 77 6c 65 6e  25 0d 27 74 05 cc 0d 27  |,,newlen%.'t...'|
00005970  7e 24 20 20 e7 20 a4 63  68 65 63 6b 66 72 65 65  |~$  . .checkfree|
00005980  73 70 61 63 65 3c 3d 68  65 61 70 73 69 7a 65 25  |space<=heapsize%|
00005990  20 8c 0d 27 88 4a 20 20  20 20 f2 61 6c 65 72 74  | ..'.J    .alert|
000059a0  28 22 4d 65 73 73 61 67  65 20 66 72 6f 6d 20 54  |("Message from T|
000059b0  72 65 65 22 2c 22 55 6e  61 62 6c 65 20 74 6f 20  |ree","Unable to |
000059c0  66 69 6e 64 20 65 6e 6f  75 67 68 20 66 72 65 65  |find enough free|
000059d0  20 6d 65 6d 6f 72 79 2e  22 2c 30 29 0d 27 92 1b  | memory.",0).'..|
000059e0  20 20 20 20 62 6c 6f 63  6b 73 69 7a 65 25 2d 3d  |    blocksize%-=|
000059f0  6e 65 77 6c 65 6e 25 0d  27 9c 09 20 20 20 20 e1  |newlen%.'..    .|
00005a00  0d 27 a6 07 20 20 cd 0d  27 b0 2d c8 99 20 22 57  |.'..  ..'.-.. "W|
00005a10  69 6d 70 5f 53 6c 6f 74  53 69 7a 65 22 2c 74 61  |imp_SlotSize",ta|
00005a20  73 6b 73 69 7a 65 25 2b  68 65 61 70 73 69 7a 65  |sksize%+heapsize|
00005a30  25 2c 2d 31 0d 27 ba 04  0d 27 c4 05 cd 0d 27 ce  |%,-1.'...'....'.|
00005a40  3c c8 99 20 22 58 4f 53  5f 48 65 61 70 22 2c 34  |<.. "XOS_Heap",4|
00005a50  2c 65 6e 64 70 72 6f 67  25 2c 69 63 6f 6e 64 61  |,endprog%,iconda|
00005a60  74 61 25 2c 6e 65 77 6c  65 6e 25 20 b8 20 2c 2c  |ta%,newlen% . ,,|
00005a70  69 63 6f 6e 64 61 74 61  25 0d 27 d8 13 e7 20 69  |icondata%.'... i|
00005a80  63 6f 6e 64 61 74 61 25  3d 30 20 8c 0d 27 e2 46  |condata%=0 ..'.F|
00005a90  f2 61 6c 65 72 74 28 22  4d 65 73 73 61 67 65 20  |.alert("Message |
00005aa0  66 72 6f 6d 20 54 72 65  65 22 2c 22 55 6e 61 62  |from Tree","Unab|
00005ab0  6c 65 20 74 6f 20 66 69  6e 64 20 65 6e 6f 75 67  |le to find enoug|
00005ac0  68 20 66 72 65 65 20 6d  65 6d 6f 72 79 2e 22 2c  |h free memory.",|
00005ad0  30 29 0d 27 ec 17 62 6c  6f 63 6b 73 69 7a 65 25  |0).'..blocksize%|
00005ae0  2d 3d 6e 65 77 6c 65 6e  25 0d 27 f6 1f e7 20 64  |-=newlen%.'... d|
00005af0  75 66 25 20 8c 20 68 65  61 70 73 69 7a 65 25 2d  |uf% . heapsize%-|
00005b00  3d 6e 65 77 6c 65 6e 25  0d 28 00 05 e1 0d 28 0a  |=newlen%.(....(.|
00005b10  05 cd 0d 28 14 16 6e 65  77 62 61 73 65 25 3d 69  |...(..newbase%=i|
00005b20  63 6f 6e 64 61 74 61 25  0d 28 1e 1f c8 99 20 26  |condata%.(.... &|
00005b30  30 30 30 30 30 30 30 38  2c 31 32 2c 70 24 2c 6e  |00000008,12,p$,n|
00005b40  65 77 62 61 73 65 25 0d  28 28 13 69 69 69 25 3d  |ewbase%.((.iii%=|
00005b50  6e 65 77 62 61 73 65 25  21 30 0d 28 32 11 f2 67  |newbase%!0.(2..g|
00005b60  65 74 76 61 72 73 28 30  2c a3 29 0d 28 3c 12 70  |etvars(0,.).(<.p|
00005b70  61 24 3d 24 66 69 6c 65  6e 61 6d 65 25 0d 28 46  |a$=$filename%.(F|
00005b80  0e 63 66 74 3d a9 28 70  61 24 29 0d 28 50 17 c8  |.cft=.(pa$).(P..|
00005b90  95 20 c1 70 61 24 2c 63  66 74 2c 31 29 3c 3e 22  |. .pa$,cft,1)<>"|
00005ba0  2e 22 0d 28 5a 0a 63 66  74 2d 3d 31 0d 28 64 05  |.".(Z.cft-=1.(d.|
00005bb0  ce 0d 28 6e 18 70 6f 6f  75 70 24 3d c1 70 61 24  |..(n.pooup$=.pa$|
00005bc0  2c 31 2c 63 66 74 2d 31  29 0d 28 78 18 f2 74 69  |,1,cft-1).(x..ti|
00005bd0  74 6c 65 28 6d 61 69 6e  25 2c 70 6f 6f 75 70 24  |tle(main%,pooup$|
00005be0  29 0d 28 82 15 e3 20 6d  79 75 70 3d 30 20 b8 20  |).(... myup=0 . |
00005bf0  69 69 69 25 2d 31 0d 28  8c 31 e7 20 69 69 69 25  |iii%-1.(.1. iii%|
00005c00  2d 31 3c 3e 30 20 8c 20  c8 99 26 30 30 30 34 30  |-1<>0 . ..&00040|
00005c10  36 43 34 2c 28 6d 79 75  70 2f 28 69 69 69 25 2d  |6C4,(myup/(iii%-|
00005c20  31 29 29 2a 31 30 30 0d  28 96 14 f2 67 65 74 76  |1))*100.(...getv|
00005c30  61 72 73 28 6d 79 75 70  2c a3 29 0d 28 a0 1c 51  |ars(myup,.).(..Q|
00005c40  70 6f 73 3d 28 6e 75 6d  62 65 72 69 63 6f 6e 73  |pos=(numbericons|
00005c50  25 21 30 29 2a 35 30 0d  28 aa 12 62 6c 6f 63 6b  |%!0)*50.(..block|
00005c60  25 21 30 3d 6d 61 69 6e  25 0d 28 b4 0e 62 6c 6f  |%!0=main%.(..blo|
00005c70  63 6b 25 21 34 3d 30 0d  28 be 15 c8 99 20 26 34  |ck%!4=0.(.... &4|
00005c80  30 30 43 45 2c 2c 62 6c  6f 63 6b 25 0d 28 c8 11  |00CE,,block%.(..|
00005c90  66 61 67 25 3d 62 6c 6f  63 6b 25 2b 34 0d 28 d2  |fag%=block%+4.(.|
00005ca0  0f 75 6d 31 25 3d 66 61  67 25 21 34 0d 28 dc 10  |.um1%=fag%!4.(..|
00005cb0  75 6d 32 25 3d 66 61 67  25 21 31 32 0d 28 e6 12  |um2%=fag%!12.(..|
00005cc0  62 6c 6f 63 6b 25 21 30  3d 6d 61 69 6e 25 0d 28  |block%!0=main%.(|
00005cd0  f0 11 62 6c 6f 63 6b 25  21 34 3d 6d 79 75 70 0d  |..block%!4=myup.|
00005ce0  28 fa 15 c8 99 20 26 34  30 30 43 45 2c 2c 62 6c  |(.... &400CE,,bl|
00005cf0  6f 63 6b 25 0d 29 04 11  66 61 67 25 3d 62 6c 6f  |ock%.)..fag%=blo|
00005d00  63 6b 25 2b 34 0d 29 0e  10 66 61 67 25 21 30 3d  |ck%+4.)..fag%!0=|
00005d10  6d 61 69 6e 25 0d 29 18  14 66 61 67 25 21 38 3d  |main%.)..fag%!8=|
00005d20  66 61 67 25 21 38 2d 34  34 0d 29 22 14 66 61 67  |fag%!8-44.)".fag|
00005d30  25 21 34 3d 75 6d 31 25  2b 51 70 6f 73 0d 29 2c  |%!4=um1%+Qpos.),|
00005d40  0e 6e 75 74 3d 66 61 67  25 21 38 0d 29 36 16 66  |.nut=fag%!8.)6.f|
00005d50  61 67 25 21 31 36 3d 66  61 67 25 21 31 36 2d 34  |ag%!16=fag%!16-4|
00005d60  34 0d 29 40 15 66 61 67  25 21 31 32 3d 75 6d 32  |4.)@.fag%!12=um2|
00005d70  25 2b 51 70 6f 73 0d 29  4a 1b 66 63 61 63 6b 24  |%+Qpos.)J.fcack$|
00005d80  3d a4 67 4c 6e 28 24 66  69 6c 65 6e 61 6d 65 25  |=.gLn($filename%|
00005d90  29 0d 29 54 2b e7 20 66  61 67 25 21 31 32 3e 74  |).)T+. fag%!12>t|
00005da0  68 65 62 69 67 6f 6e 65  20 8c 20 74 68 65 62 69  |hebigone . thebi|
00005db0  67 6f 6e 65 3d 66 61 67  25 21 31 32 0d 29 5e 11  |gone=fag%!12.)^.|
00005dc0  66 61 67 25 21 32 34 3d  74 65 78 74 25 0d 29 68  |fag%!24=text%.)h|
00005dd0  21 e7 20 74 79 70 65 25  21 30 3e 26 46 46 46 20  |!. type%!0>&FFF |
00005de0  84 20 74 79 70 65 25 21  30 3c 26 30 20 8c 0d 29  |. type%!0<&0 ..)|
00005df0  72 18 20 20 e7 20 c0 66  63 61 63 6b 24 2c 31 29  |r.  . .fcack$,1)|
00005e00  3d 22 21 22 20 8c 0d 29  7c 31 20 20 20 20 e7 20  |="!" ..)|1    . |
00005e10  ac 20 a4 73 70 72 69 74  65 65 78 69 73 74 73 28  |. .spriteexists(|
00005e20  66 63 61 63 6b 24 29 20  80 20 69 63 6f 6e 73 70  |fcack$) . iconsp|
00005e30  72 69 74 65 73 20 8c 0d  29 86 26 20 20 20 20 74  |rites ..).&    t|
00005e40  74 79 25 3d 8e 28 24 66  69 6c 65 6e 61 6d 65 25  |ty%=.($filename%|
00005e50  2b 22 2e 21 53 70 72 69  74 65 73 22 29 0d 29 90  |+".!Sprites").).|
00005e60  20 20 20 20 20 20 20 e7  20 74 74 79 25 3e 30 20  |       . tty%>0 |
00005e70  80 20 74 74 79 25 3c 3d  32 35 35 20 8c 0d 29 9a  |. tty%<=255 ..).|
00005e80  18 20 20 20 20 20 20 20  20 77 6c 6c 6c 25 3d a2  |.        wlll%=.|
00005e90  23 74 74 79 25 0d 29 a4  12 20 20 20 20 20 20 20  |#tty%.)..       |
00005ea0  20 d9 23 74 74 79 25 0d  29 ae 0b 20 20 20 20 20  | .#tty%.)..     |
00005eb0  20 cd 0d 29 b8 2f 20 20  20 20 20 20 e7 20 74 74  | ..)./      . tt|
00005ec0  79 25 3e 30 20 80 20 74  74 79 25 3c 3d 32 35 35  |y%>0 . tty%<=255|
00005ed0  20 80 20 6c 6f 63 61 6c  73 70 72 69 74 65 73 20  | . localsprites |
00005ee0  8c 0d 29 c2 3d 20 20 20  20 20 20 20 20 e7 20 a4  |..).=        . .|
00005ef0  66 69 6c 65 74 79 70 65  6f 66 61 66 69 6c 65 28  |filetypeofafile(|
00005f00  24 66 69 6c 65 6e 61 6d  65 25 2b 22 2e 21 53 70  |$filename%+".!Sp|
00005f10  72 69 74 65 73 22 29 3d  26 46 46 39 20 8c 0d 29  |rites")=&FF9 ..)|
00005f20  cc 27 20 20 20 20 20 20  20 20 20 20 e7 20 a4 63  |.'          . .c|
00005f30  68 65 63 6b 66 72 65 65  73 70 61 63 65 3e 77 6c  |heckfreespace>wl|
00005f40  6c 6c 25 20 8c 0d 29 d6  3d 20 20 20 20 20 20 20  |ll% ..).=       |
00005f50  20 20 20 20 20 f4 4f 53  43 4c 49 28 22 49 43 4f  |     .OSCLI("ICO|
00005f60  4e 53 50 52 49 54 45 53  20 22 2b 24 66 69 6c 65  |NSPRITES "+$file|
00005f70  6e 61 6d 65 25 2b 22 2e  21 53 70 72 69 74 65 73  |name%+".!Sprites|
00005f80  22 29 0d 29 e0 2e 20 20  20 20 20 20 20 20 20 20  |").)..          |
00005f90  20 20 e7 20 6c 6f 63 61  6c 73 70 72 69 74 65 73  |  . localsprites|
00005fa0  20 8c 20 f2 6c 6f 61 64  73 70 72 69 74 65 73 32  | . .loadsprites2|
00005fb0  0d 29 ea 0f 20 20 20 20  20 20 20 20 20 20 cc 0d  |.)..          ..|
00005fc0  29 f4 6f 20 20 20 20 20  20 20 20 20 20 20 20 f2  |).o            .|
00005fd0  61 6c 65 72 74 28 22 4d  65 73 73 61 67 65 20 66  |alert("Message f|
00005fe0  72 6f 6d 20 54 72 65 65  22 2c 22 4e 6f 20 72 6f  |rom Tree","No ro|
00005ff0  6f 6d 20 66 6f 72 20 73  70 72 69 74 65 73 2e 20  |om for sprites. |
00006000  46 6f 72 67 65 74 74 69  6e 67 20 74 6f 20 6c 6f  |Forgetting to lo|
00006010  61 64 20 61 6e 79 20 6d  6f 72 65 20 21 53 70 72  |ad any more !Spr|
00006020  69 74 65 20 66 69 6c 65  73 2e 22 2c 30 29 0d 29  |ite files.",0).)|
00006030  fe 1e 20 20 20 20 20 20  20 20 20 20 20 20 6c 6f  |..            lo|
00006040  63 61 6c 73 70 72 69 74  65 73 3d a3 0d 2a 08 23  |calsprites=..*.#|
00006050  20 20 20 20 20 20 20 20  20 20 20 20 76 61 6c 69  |            vali|
00006060  64 24 3d 22 53 64 69 72  65 63 74 6f 72 79 22 0d  |d$="Sdirectory".|
00006070  2a 12 0f 20 20 20 20 20  20 20 20 20 20 cd 0d 2a  |*..          ..*|
00006080  1c 0d 20 20 20 20 20 20  20 20 cd 0d 2a 26 0b 20  |..        ..*&. |
00006090  20 20 20 20 20 cd 0d 2a  30 09 20 20 20 20 cd 0d  |     ..*0.    ..|
000060a0  2a 3a 19 20 20 20 20 76  61 6c 69 64 24 3d 22 53  |*:.    valid$="S|
000060b0  22 2b 66 63 61 63 6b 24  0d 2a 44 47 20 20 20 20  |"+fcack$.*DG    |
000060c0  e7 20 ac 20 a4 73 70 72  69 74 65 65 78 69 73 74  |. . .spriteexist|
000060d0  73 28 c1 76 61 6c 69 64  24 2c 32 2c a9 28 76 61  |s(.valid$,2,.(va|
000060e0  6c 69 64 24 29 29 29 20  8c 20 76 61 6c 69 64 24  |lid$))) . valid$|
000060f0  3d 22 53 61 70 70 6c 69  63 61 74 69 6f 6e 22 0d  |="Sapplication".|
00006100  2a 4e 07 20 20 cc 0d 2a  58 1b 20 20 20 20 76 61  |*N.  ..*X.    va|
00006110  6c 69 64 24 3d 22 53 64  69 72 65 63 74 6f 72 79  |lid$="Sdirectory|
00006120  22 0d 2a 62 07 20 20 cd  0d 2a 6c 05 cc 0d 2a 76  |".*b.  ..*l...*v|
00006130  23 20 20 76 61 6c 69 64  24 3d 22 53 66 69 6c 65  |#  valid$="Sfile|
00006140  5f 22 2b a4 70 61 64 28  74 79 70 65 25 21 30 29  |_"+.pad(type%!0)|
00006150  0d 2a 80 05 cd 0d 2a 8a  3b e7 20 74 79 70 65 25  |.*....*.;. type%|
00006160  21 30 3d 2d 32 20 80 20  76 61 6c 69 64 24 3d 22  |!0=-2 . valid$="|
00006170  53 64 69 72 65 63 74 6f  72 79 22 20 8c 20 76 61  |Sdirectory" . va|
00006180  6c 69 64 24 3d 22 53 66  69 6c 65 5f 78 78 78 22  |lid$="Sfile_xxx"|
00006190  0d 2a 94 40 e7 20 ac 20  a4 73 70 72 69 74 65 65  |.*.@. . .spritee|
000061a0  78 69 73 74 73 28 c1 76  61 6c 69 64 24 2c 32 2c  |xists(.valid$,2,|
000061b0  a9 28 76 61 6c 69 64 24  29 29 29 20 8c 20 76 61  |.(valid$))) . va|
000061c0  6c 69 64 24 3d 22 53 66  69 6c 65 5f 78 78 78 22  |lid$="Sfile_xxx"|
000061d0  0d 2a 9e 12 24 76 61 6c  69 64 25 3d 76 61 6c 69  |.*..$valid%=vali|
000061e0  64 24 0d 2a a8 12 66 61  67 25 21 32 38 3d 76 61  |d$.*..fag%!28=va|
000061f0  6c 69 64 25 0d 2a b2 15  66 61 67 25 21 33 32 3d  |lid%.*..fag%!32=|
00006200  a9 28 66 63 61 63 6b 24  29 0d 2a bc 13 c8 99 20  |.(fcack$).*.... |
00006210  26 34 30 30 43 32 2c 2c  66 61 67 25 0d 2a c6 09  |&400C2,,fag%.*..|
00006220  ed 6d 79 75 70 0d 2a d0  15 62 6c 6f 63 6b 25 21  |.myup.*..block%!|
00006230  30 3d 77 6f 72 6b 6d 69  6e 78 0d 2a da 12 62 6c  |0=workminx.*..bl|
00006240  6f 63 6b 25 21 34 3d 6e  75 74 2d 34 0d 2a e4 19  |ock%!4=nut-4.*..|
00006250  62 6c 6f 63 6b 25 21 38  3d 74 68 65 62 69 67 6f  |block%!8=thebigo|
00006260  6e 65 2b 32 30 0d 2a ee  16 62 6c 6f 63 6b 25 21  |ne+20.*..block%!|
00006270  31 32 3d 77 6f 72 6b 6d  61 78 79 0d 2a f8 1a c8  |12=workmaxy.*...|
00006280  99 20 26 34 30 30 64 37  2c 6d 61 69 6e 25 2c 62  |. &400d7,main%,b|
00006290  6c 6f 63 6b 25 0d 2b 02  3b c8 99 20 26 30 30 30  |lock%.+.;.. &000|
000062a0  34 30 30 44 31 2c 6d 61  69 6e 25 2c 62 6c 6f 63  |400D1,main%,bloc|
000062b0  6b 25 21 30 2c 62 6c 6f  63 6b 25 21 34 2c 62 6c  |k%!0,block%!4,bl|
000062c0  6f 63 6b 25 21 38 2c 62  6c 6f 63 6b 25 21 31 32  |ock%!8,block%!12|
000062d0  0d 2b 0c 18 f2 6f 70 65  6e 77 69 6e 64 6f 77 28  |.+...openwindow(|
000062e0  6d 61 69 6e 25 2c b9 29  0d 2b 16 1e f2 69 63 6f  |main%,.).+...ico|
000062f0  6e 70 75 74 74 65 78 74  28 73 61 76 65 61 73 25  |nputtext(saveas%|
00006300  2c 31 2c 70 24 29 0d 2b  20 0f c8 99 26 30 30 30  |,1,p$).+ ...&000|
00006310  34 30 36 43 32 0d 2b 2a  0e 66 6c 75 66 65 6e 64  |406C2.+*.flufend|
00006320  25 3d a3 0d 2b 34 05 e1  0d 2b 3e 1e dd 20 a4 69  |%=..+4...+>.. .i|
00006330  63 6f 6e 74 65 78 74 28  77 69 6e 64 6f 77 25 2c  |context(window%,|
00006340  69 63 6f 6e 25 29 0d 2b  48 25 62 6c 6f 63 6b 25  |icon%).+H%block%|
00006350  21 30 3d 77 69 6e 64 6f  77 25 20 3a 20 62 6c 6f  |!0=window% : blo|
00006360  63 6b 25 21 34 3d 69 63  6f 6e 25 0d 2b 52 18 c8  |ck%!4=icon%.+R..|
00006370  99 20 26 30 30 30 34 30  30 43 45 2c 2c 62 6c 6f  |. &000400CE,,blo|
00006380  63 6b 25 0d 2b 5c 38 e7  20 28 28 62 6c 6f 63 6b  |ck%.+\8. ((block|
00006390  25 21 32 34 29 20 80 20  26 31 30 30 29 3d 30 20  |%!24) . &100)=0 |
000063a0  85 20 31 2c 22 49 63 6f  6e 20 69 73 6e 27 74 20  |. 1,"Icon isn't |
000063b0  69 6e 64 69 72 65 63 74  65 64 22 0d 2b 66 11 3d  |indirected".+f.=|
000063c0  24 28 62 6c 6f 63 6b 25  21 32 38 29 0d 2b 70 27  |$(block%!28).+p'|
000063d0  dd 20 f2 69 63 6f 6e 70  75 74 74 65 78 74 28 77  |. .iconputtext(w|
000063e0  69 6e 64 6f 77 25 2c 69  63 6f 6e 25 2c 74 65 78  |indow%,icon%,tex|
000063f0  74 24 29 0d 2b 7a 27 62  6c 6f 63 6b 32 25 21 30  |t$).+z'block2%!0|
00006400  3d 77 69 6e 64 6f 77 25  20 3a 20 62 6c 6f 63 6b  |=window% : block|
00006410  32 25 21 34 3d 69 63 6f  6e 25 0d 2b 84 19 c8 99  |2%!4=icon%.+....|
00006420  20 26 30 30 30 34 30 30  43 45 2c 2c 62 6c 6f 63  | &000400CE,,bloc|
00006430  6b 32 25 0d 2b 8e 39 e7  20 28 28 62 6c 6f 63 6b  |k2%.+.9. ((block|
00006440  32 25 21 32 34 29 20 80  20 26 31 30 30 29 3d 30  |2%!24) . &100)=0|
00006450  20 85 20 31 2c 22 49 63  6f 6e 20 69 73 6e 27 74  | . 1,"Icon isn't|
00006460  20 69 6e 64 69 72 65 63  74 65 64 22 0d 2b 98 17  | indirected".+..|
00006470  24 28 62 6c 6f 63 6b 32  25 21 32 38 29 3d 74 65  |$(block2%!28)=te|
00006480  78 74 24 0d 2b a2 27 62  6c 6f 63 6b 32 25 21 30  |xt$.+.'block2%!0|
00006490  3d 77 69 6e 64 6f 77 25  20 3a 20 62 6c 6f 63 6b  |=window% : block|
000064a0  32 25 21 34 3d 69 63 6f  6e 25 0d 2b ac 1e 62 6c  |2%!4=icon%.+..bl|
000064b0  6f 63 6b 32 25 21 38 3d  30 20 3a 20 62 6c 6f 63  |ock2%!8=0 : bloc|
000064c0  6b 32 25 21 31 32 3d 30  0d 2b b6 19 c8 99 20 26  |k2%!12=0.+.... &|
000064d0  30 30 30 34 30 30 43 44  2c 2c 62 6c 6f 63 6b 32  |000400CD,,block2|
000064e0  25 0d 2b c0 05 e1 0d 2b  ca 1d dd f2 73 65 74 69  |%.+....+....seti|
000064f0  63 6f 6e 73 70 72 69 74  65 28 77 25 2c 69 25 2c  |consprite(w%,i%,|
00006500  73 24 29 0d 2b d4 0f 62  6c 6f 63 6b 25 21 30 3d  |s$).+..block%!0=|
00006510  77 25 0d 2b de 0f 62 6c  6f 63 6b 25 21 34 3d 69  |w%.+..block%!4=i|
00006520  25 0d 2b e8 18 c8 99 20  26 30 30 30 34 30 30 43  |%.+.... &000400C|
00006530  45 2c 2c 62 6c 6f 63 6b  25 0d 2b f2 11 24 62 6c  |E,,block%.+..$bl|
00006540  6f 63 6b 25 21 33 32 3d  73 24 0d 2b fc 0f 62 6c  |ock%!32=s$.+..bl|
00006550  6f 63 6b 25 21 30 3d 77  25 0d 2c 06 0e 62 6c 6f  |ock%!0=w%.,..blo|
00006560  63 6b 25 21 38 3d 30 0d  2c 10 0f 62 6c 6f 63 6b  |ck%!8=0.,..block|
00006570  25 21 31 32 3d 30 0d 2c  1a 17 c8 99 26 30 30 30  |%!12=0.,....&000|
00006580  34 30 30 43 44 2c 2c 62  6c 6f 63 6b 25 0d 2c 24  |400CD,,block%.,$|
00006590  05 e1 0d 2c 2e 1a dd f2  64 72 61 77 62 6f 78 28  |...,....drawbox(|
000065a0  77 69 25 2c 69 63 25 2c  73 6e 24 29 0d 2c 38 23  |wi%,ic%,sn$).,8#|
000065b0  c8 99 20 26 30 30 30 30  30 30 33 35 2c eb 2c 31  |.. &00000035,.,1|
000065c0  31 20 b8 20 2c 2c 78 70  69 78 6c 69 6d 69 74 0d  |1 . ,,xpixlimit.|
000065d0  2c 42 23 c8 99 20 26 30  30 30 30 30 30 33 35 2c  |,B#.. &00000035,|
000065e0  eb 2c 31 32 20 b8 20 2c  2c 79 70 69 78 6c 69 6d  |.,12 . ,,ypixlim|
000065f0  69 74 0d 2c 4c 1e c8 99  20 26 30 30 30 30 30 30  |it.,L... &000000|
00006600  33 35 2c eb 2c 34 20 b8  20 2c 2c 78 66 61 63 74  |35,.,4 . ,,xfact|
00006610  0d 2c 56 1e c8 99 20 26  30 30 30 30 30 30 33 35  |.,V... &00000035|
00006620  2c eb 2c 35 20 b8 20 2c  2c 79 66 61 63 74 0d 2c  |,.,5 . ,,yfact.,|
00006630  60 1d 6d 61 78 58 3d 28  78 70 69 78 6c 69 6d 69  |`.maxX=(xpixlimi|
00006640  74 2b 31 29 3c 3c 78 66  61 63 74 0d 2c 6a 1d 6d  |t+1)<<xfact.,j.m|
00006650  61 78 59 3d 28 79 70 69  78 6c 69 6d 69 74 2b 31  |axY=(ypixlimit+1|
00006660  29 3c 3c 79 66 61 63 74  0d 2c 74 10 62 6c 6f 63  |)<<yfact.,t.bloc|
00006670  6b 25 21 30 3d 77 69 25  0d 2c 7e 17 c8 99 26 30  |k%!0=wi%.,~...&0|
00006680  30 30 34 30 30 43 42 2c  2c 62 6c 6f 63 6b 25 0d  |00400CB,,block%.|
00006690  2c 88 32 79 73 25 3d 62  6c 6f 63 6b 25 21 31 36  |,.2ys%=block%!16|
000066a0  2d 62 6c 6f 63 6b 25 21  38 3a 58 25 3d 62 6c 6f  |-block%!8:X%=blo|
000066b0  63 6b 25 21 34 3a 59 25  3d 62 6c 6f 63 6b 25 21  |ck%!4:Y%=block%!|
000066c0  38 0d 2c 92 13 79 6f 66  66 25 3d 62 6c 6f 63 6b  |8.,..yoff%=block|
000066d0  25 21 32 34 0d 2c 9c 1d  62 6c 6f 63 6b 25 21 30  |%!24.,..block%!0|
000066e0  3d 77 69 25 3a 62 6c 6f  63 6b 25 21 34 3d 69 63  |=wi%:block%!4=ic|
000066f0  25 0d 2c a6 17 c8 99 26  30 30 30 34 30 30 43 45  |%.,....&000400CE|
00006700  2c 2c 62 6c 6f 63 6b 25  0d 2c b0 10 62 6c 6f 63  |,,block%.,..bloc|
00006710  6b 25 21 38 2b 3d 58 25  0d 2c ba 1b 62 6c 6f 63  |k%!8+=X%.,..bloc|
00006720  6b 25 21 31 32 2b 3d 59  25 2b 79 73 25 2d 79 6f  |k%!12+=Y%+ys%-yo|
00006730  66 66 25 0d 2c c4 11 62  6c 6f 63 6b 25 21 31 36  |ff%.,..block%!16|
00006740  2b 3d 58 25 0d 2c ce 1b  62 6c 6f 63 6b 25 21 32  |+=X%.,..block%!2|
00006750  30 2b 3d 59 25 2b 79 73  25 2d 79 6f 66 66 25 0d  |0+=Y%+ys%-yoff%.|
00006760  2c d8 0e 62 6c 6f 63 6b  25 21 34 3d 35 0d 2c e2  |,..block%!4=5.,.|
00006770  18 c8 99 26 30 30 30 34  30 30 43 46 2c 2c 62 6c  |...&000400CF,,bl|
00006780  6f 63 6b 32 25 0d 2c ec  24 62 6c 6f 63 6b 25 21  |ock2%.,.$block%!|
00006790  32 34 3d 30 2d 28 62 6c  6f 63 6b 32 25 21 30 2d  |24=0-(block2%!0-|
000067a0  62 6c 6f 63 6b 25 21 38  29 0d 2c f6 25 62 6c 6f  |block%!8).,.%blo|
000067b0  63 6b 25 21 32 38 3d 30  2d 28 62 6c 6f 63 6b 32  |ck%!28=0-(block2|
000067c0  25 21 34 2d 62 6c 6f 63  6b 25 21 31 32 29 0d 2d  |%!4-block%!12).-|
000067d0  00 2a 62 6c 6f 63 6b 25  21 33 32 3d 6d 61 78 58  |.*block%!32=maxX|
000067e0  2b 28 62 6c 6f 63 6b 25  21 31 36 2d 62 6c 6f 63  |+(block%!16-bloc|
000067f0  6b 32 25 21 30 29 2d 32  0d 2d 0a 2a 62 6c 6f 63  |k2%!0)-2.-.*bloc|
00006800  6b 25 21 33 36 3d 6d 61  78 59 2b 28 62 6c 6f 63  |k%!36=maxY+(bloc|
00006810  6b 25 21 32 30 2d 62 6c  6f 63 6b 32 25 21 34 29  |k%!20-block2%!4)|
00006820  2d 34 0d 2d 14 10 62 6c  6f 63 6b 25 21 30 3d 69  |-4.-..block%!0=i|
00006830  63 25 0d 2d 1e 0e e7 20  73 6e 24 3d 22 22 20 8c  |c%.-... sn$="" .|
00006840  0d 2d 28 17 c8 99 26 30  30 30 34 30 30 44 30 2c  |.-(...&000400D0,|
00006850  2c 62 6c 6f 63 6b 25 0d  2d 32 05 cc 0d 2d 3c 33  |,block%.-2...-<3|
00006860  c8 99 20 22 44 72 61 67  41 53 70 72 69 74 65 5f  |.. "DragASprite_|
00006870  53 74 61 72 74 22 2c 25  31 31 30 30 30 31 30 31  |Start",%11000101|
00006880  2c 31 2c 73 6e 24 2c 62  6c 6f 63 6b 25 2b 38 0d  |,1,sn$,block%+8.|
00006890  2d 46 05 cd 0d 2d 50 13  6c 61 73 74 77 69 6e 64  |-F...-P.lastwind|
000068a0  6f 77 25 3d 77 69 25 0d  2d 5a 05 e1 0d 2d 64 26  |ow%=wi%.-Z...-d&|
000068b0  dd 20 f2 69 63 6f 6e 63  61 72 65 74 28 77 69 6e  |. .iconcaret(win|
000068c0  64 6f 77 25 2c 69 63 6f  6e 25 2c 63 68 61 72 73  |dow%,icon%,chars|
000068d0  25 29 0d 2d 6e 2a c8 99  20 26 30 30 30 34 30 30  |%).-n*.. &000400|
000068e0  44 32 2c 77 69 6e 64 6f  77 25 2c 69 63 6f 6e 25  |D2,window%,icon%|
000068f0  2c 2c 2c 2d 31 2c 63 68  61 72 73 25 0d 2d 78 05  |,,,-1,chars%.-x.|
00006900  e1 0d 2d 82 12 dd f2 64  6f 66 69 6c 65 73 28 70  |..-....dofiles(p|
00006910  61 24 29 0d 2d 8c 07 ea  20 85 0d 2d 96 2a ee 20  |a$).-... ..-.*. |
00006920  85 20 ea 20 f2 61 6c 65  72 74 28 22 45 72 72 6f  |. . .alert("Erro|
00006930  72 20 66 72 6f 6d 20 54  72 65 65 22 2c f6 24 2c  |r from Tree",.$,|
00006940  30 29 3a e1 0d 2d a0 0d  63 6f 6c 75 6d 6e 73 3d  |0):..-..columns=|
00006950  a3 0d 2d aa 12 6c 6f 63  61 6c 73 70 72 69 74 65  |..-..localsprite|
00006960  73 3d b9 0d 2d b4 40 c8  99 20 22 58 4f 53 5f 48  |s=..-.@.. "XOS_H|
00006970  65 61 70 22 2c 34 2c 65  6e 64 70 72 6f 67 25 2c  |eap",4,endprog%,|
00006980  69 63 6f 6e 64 61 74 61  25 2c 2d 62 6c 6f 63 6b  |icondata%,-block|
00006990  73 69 7a 65 25 20 b8 20  2c 2c 69 63 6f 6e 64 61  |size% . ,,iconda|
000069a0  74 61 25 0d 2d be 37 c8  99 20 22 58 4f 53 5f 48  |ta%.-.7.. "XOS_H|
000069b0  65 61 70 22 2c 35 2c 65  6e 64 70 72 6f 67 25 2c  |eap",5,endprog%,|
000069c0  2c 2d 68 65 61 70 73 69  7a 65 25 2b 73 6d 65 67  |,-heapsize%+smeg|
000069d0  62 6c 6f 63 6b 73 69 7a  65 25 0d 2d c8 1c 68 65  |blocksize%.-..he|
000069e0  61 70 73 69 7a 65 25 3d  73 6d 65 67 62 6c 6f 63  |apsize%=smegbloc|
000069f0  6b 73 69 7a 65 25 0d 2d  d2 2d c8 99 20 22 57 69  |ksize%.-.-.. "Wi|
00006a00  6d 70 5f 53 6c 6f 74 53  69 7a 65 22 2c 74 61 73  |mp_SlotSize",tas|
00006a10  6b 73 69 7a 65 25 2b 68  65 61 70 73 69 7a 65 25  |ksize%+heapsize%|
00006a20  2c 2d 31 0d 2d dc 10 62  6c 6f 63 6b 73 69 7a 65  |,-1.-..blocksize|
00006a30  25 3d 34 0d 2d e6 58 e7  20 69 63 6f 6e 64 61 74  |%=4.-.X. icondat|
00006a40  61 25 3d 30 20 8c 20 f2  61 6c 65 72 74 28 22 4d  |a%=0 . .alert("M|
00006a50  65 73 73 61 67 65 20 66  72 6f 6d 20 54 72 65 65  |essage from Tree|
00006a60  22 2c 22 55 6e 61 62 6c  65 20 74 6f 20 66 69 6e  |","Unable to fin|
00006a70  64 20 65 6e 6f 75 67 68  20 66 72 65 65 20 6d 65  |d enough free me|
00006a80  6d 6f 72 79 2e 22 2c 30  29 3a e1 0d 2d f0 12 62  |mory.",0):..-..b|
00006a90  6c 6f 63 6b 25 21 30 3d  6d 61 69 6e 25 0d 2d fa  |lock%!0=main%.-.|
00006aa0  18 c8 99 20 26 30 30 30  34 30 30 43 33 2c 2c 62  |... &000400C3,,b|
00006ab0  6c 6f 63 6b 25 0d 2e 04  25 c8 99 20 26 30 30 30  |lock%...%.. &000|
00006ac0  34 30 30 43 31 2c 2c 6d  61 69 6e 77 69 6e 64 6f  |400C1,,mainwindo|
00006ad0  77 25 20 b8 20 6d 61 69  6e 25 0d 2e 0e 0f c8 99  |w% . main%......|
00006ae0  26 30 30 30 34 30 36 43  30 0d 2e 18 0e 63 66 74  |&000406C0....cft|
00006af0  3d a9 28 70 61 24 29 0d  2e 22 0f 74 68 65 62 69  |=.(pa$)..".thebi|
00006b00  67 6f 6e 65 3d 30 0d 2e  2c 17 c8 95 20 c1 70 61  |gone=0..,... .pa|
00006b10  24 2c 63 66 74 2c 31 29  3c 3e 22 2e 22 0d 2e 36  |$,cft,1)<>"."..6|
00006b20  0a 63 66 74 2d 3d 31 0d  2e 40 05 ce 0d 2e 4a 18  |.cft-=1..@....J.|
00006b30  70 6f 6f 75 70 24 3d c1  70 61 24 2c 31 2c 63 66  |pooup$=.pa$,1,cf|
00006b40  74 2d 31 29 0d 2e 54 18  f2 74 69 74 6c 65 28 6d  |t-1)..T..title(m|
00006b50  61 69 6e 25 2c 70 6f 6f  75 70 24 29 0d 2e 5e 12  |ain%,pooup$)..^.|
00006b60  62 6c 6f 63 6b 25 21 30  3d 6d 61 69 6e 25 0d 2e  |block%!0=main%..|
00006b70  68 15 c8 99 20 26 34 30  30 63 63 2c 2c 62 6c 6f  |h... &400cc,,blo|
00006b80  63 6b 25 0d 2e 72 16 77  6f 72 6b 6d 69 6e 78 3d  |ck%..r.workminx=|
00006b90  62 6c 6f 63 6b 25 21 34  34 0d 2e 7c 16 77 6f 72  |block%!44..|.wor|
00006ba0  6b 6d 69 6e 79 3d 62 6c  6f 63 6b 25 21 34 38 0d  |kminy=block%!48.|
00006bb0  2e 86 16 77 6f 72 6b 6d  61 78 78 3d 62 6c 6f 63  |...workmaxx=bloc|
00006bc0  6b 25 21 35 32 0d 2e 90  16 77 6f 72 6b 6d 61 78  |k%!52....workmax|
00006bd0  79 3d 62 6c 6f 63 6b 25  21 35 36 0d 2e 9a 0a 69  |y=block%!56....i|
00006be0  69 69 25 3d 30 0d 2e a4  0d 74 74 74 65 6d 70 25  |ii%=0....tttemp%|
00006bf0  3d 30 0d 2e ae 27 61 72  63 68 69 76 65 72 25 3d  |=0...'archiver%=|
00006c00  a4 6d 6f 64 75 6c 65 70  72 65 73 65 6e 74 28 22  |.modulepresent("|
00006c10  53 70 61 72 6b 46 53 22  29 0d 2e b8 10 74 65 6d  |SparkFS")....tem|
00006c20  70 63 61 63 6b 24 3d 22  22 0d 2e c2 17 f2 72 65  |pcack$="".....re|
00006c30  61 64 28 70 6f 6f 75 70  24 2c 30 2c a3 2c 30 29  |ad(pooup$,0,.,0)|
00006c40  0d 2e cc 0e f4 50 52 4f  43 67 61 66 75 70 0d 2e  |.....PROCgafup..|
00006c50  d6 0c f2 64 69 72 73 28  a3 29 0d 2e e0 0e e7 20  |...dirs(.)..... |
00006c60  69 69 69 25 3e 30 20 8c  0d 2e ea 15 62 6c 6f 63  |iii%>0 .....bloc|
00006c70  6b 25 21 30 3d 77 6f 72  6b 6d 69 6e 78 0d 2e f4  |k%!0=workminx...|
00006c80  12 62 6c 6f 63 6b 25 21  34 3d 6e 75 74 2d 34 0d  |.block%!4=nut-4.|
00006c90  2e fe 19 62 6c 6f 63 6b  25 21 38 3d 74 68 65 62  |...block%!8=theb|
00006ca0  69 67 6f 6e 65 2b 32 30  0d 2f 08 16 62 6c 6f 63  |igone+20./..bloc|
00006cb0  6b 25 21 31 32 3d 77 6f  72 6b 6d 61 78 79 0d 2f  |k%!12=workmaxy./|
00006cc0  12 1a c8 99 20 26 34 30  30 64 37 2c 6d 61 69 6e  |.... &400d7,main|
00006cd0  25 2c 62 6c 6f 63 6b 25  0d 2f 1c 3b c8 99 20 26  |%,block%./.;.. &|
00006ce0  30 30 30 34 30 30 44 31  2c 6d 61 69 6e 25 2c 62  |000400D1,main%,b|
00006cf0  6c 6f 63 6b 25 21 30 2c  62 6c 6f 63 6b 25 21 34  |lock%!0,block%!4|
00006d00  2c 62 6c 6f 63 6b 25 21  38 2c 62 6c 6f 63 6b 25  |,block%!8,block%|
00006d10  21 31 32 0d 2f 26 18 f2  6f 70 65 6e 77 69 6e 64  |!12./&..openwind|
00006d20  6f 77 28 6d 61 69 6e 25  2c b9 29 0d 2f 30 0b 6d  |ow(main%,.)./0.m|
00006d30  6f 64 79 25 3d b9 0d 2f  3a 05 cc 0d 2f 44 17 f2  |ody%=../:.../D..|
00006d40  63 6c 6f 73 65 77 69 6e  64 6f 77 28 6d 61 69 6e  |closewindow(main|
00006d50  25 29 0d 2f 4e 47 f2 61  6c 65 72 74 28 22 45 72  |%)./NG.alert("Er|
00006d60  72 6f 72 20 66 72 6f 6d  20 54 72 65 65 22 2c 22  |ror from Tree","|
00006d70  55 6e 61 62 6c 65 20 74  6f 20 63 72 65 61 74 65  |Unable to create|
00006d80  20 74 72 65 65 20 6f 66  20 27 22 2b 70 6f 6f 75  | tree of '"+poou|
00006d90  70 24 2b 22 27 22 2c 30  29 0d 2f 58 0b 6d 6f 64  |p$+"'",0)./X.mod|
00006da0  79 25 3d a3 0d 2f 62 05  e1 0d 2f 6c 05 cd 0d 2f  |y%=../b.../l.../|
00006db0  76 0f c8 99 26 30 30 30  34 30 36 43 32 0d 2f 80  |v...&000406C2./.|
00006dc0  05 e1 0d 2f 8a 18 dd 20  a4 67 65 74 73 74 72 69  |.../... .getstri|
00006dd0  6e 67 28 61 72 72 61 79  25 29 0d 2f 94 14 ea 20  |ng(array%)./... |
00006de0  70 61 74 68 24 2c 70 6f  69 6e 74 65 72 25 0d 2f  |path$,pointer%./|
00006df0  9e 0c 70 61 74 68 24 3d  22 22 0d 2f a8 13 70 6f  |..path$=""./..po|
00006e00  69 6e 74 65 72 25 3d 61  72 72 61 79 25 0d 2f b2  |inter%=array%./.|
00006e10  05 f5 0d 2f bc 15 70 61  74 68 24 2b 3d bd 3f 70  |.../..path$+=.?p|
00006e20  6f 69 6e 74 65 72 25 0d  2f c6 0f 70 6f 69 6e 74  |ointer%./..point|
00006e30  65 72 25 2b 3d 31 0d 2f  d0 20 fd 20 3f 70 6f 69  |er%+=1./. . ?poi|
00006e40  6e 74 65 72 25 3d 30 20  84 20 3f 70 6f 69 6e 74  |nter%=0 . ?point|
00006e50  65 72 25 3d 31 33 0d 2f  da 0a 3d 70 61 74 68 24  |er%=13./..=path$|
00006e60  0d 2f e4 23 dd f2 67 65  74 76 61 72 73 28 72 69  |./.#..getvars(ri|
00006e70  63 68 69 63 6f 6e 25 2c  72 65 73 65 74 66 6c 61  |chicon%,resetfla|
00006e80  67 25 29 0d 2f ee 07 ea  20 85 0d 2f f8 2a ee 20  |g%)./... ../.*. |
00006e90  85 20 ea 20 f2 61 6c 65  72 74 28 22 45 72 72 6f  |. . .alert("Erro|
00006ea0  72 20 66 72 6f 6d 20 54  72 65 65 22 2c f6 24 2c  |r from Tree",.$,|
00006eb0  30 29 3a e1 0d 30 02 16  66 69 78 62 61 73 65 25  |0):..0..fixbase%|
00006ec0  3d 69 63 6f 6e 64 61 74  61 25 0d 30 0c 13 74 6f  |=icondata%.0..to|
00006ed0  74 61 6c 25 3d 66 69 78  62 61 73 65 25 0d 30 16  |tal%=fixbase%.0.|
00006ee0  26 62 61 73 65 25 3d 66  69 78 62 61 73 65 25 2b  |&base%=fixbase%+|
00006ef0  28 28 72 69 63 68 69 63  6f 6e 25 29 2a 34 30 30  |((richicon%)*400|
00006f00  29 2b 34 0d 30 20 0f 74  65 78 74 25 3d 62 61 73  |)+4.0 .text%=bas|
00006f10  65 25 0d 30 2a 13 76 61  6c 69 64 25 3d 62 61 73  |e%.0*.valid%=bas|
00006f20  65 25 2b 32 34 0d 30 34  16 66 69 6c 65 6e 61 6d  |e%+24.04.filenam|
00006f30  65 25 3d 62 61 73 65 25  2b 34 38 0d 30 3e 13 74  |e%=base%+48.0>.t|
00006f40  79 70 65 25 3d 62 61 73  65 25 2b 33 30 34 0d 30  |ype%=base%+304.0|
00006f50  48 1a 6e 75 6d 62 65 72  69 63 6f 6e 73 25 3d 62  |H.numbericons%=b|
00006f60  61 73 65 25 2b 33 30 38  0d 30 52 19 72 65 61 64  |ase%+308.0R.read|
00006f70  6c 65 6e 67 74 68 25 3d  62 61 73 65 25 2b 33 31  |length%=base%+31|
00006f80  32 0d 30 5c 19 61 74 74  72 69 62 75 74 65 73 25  |2.0\.attributes%|
00006f90  3d 62 61 73 65 25 2b 33  31 36 0d 30 66 13 6c 61  |=base%+316.0f.la|
00006fa0  64 72 25 3d 62 61 73 65  25 2b 33 32 30 0d 30 70  |dr%=base%+320.0p|
00006fb0  13 65 61 64 72 25 3d 62  61 73 65 25 2b 33 32 34  |.eadr%=base%+324|
00006fc0  0d 30 7a 16 74 72 65 65  64 65 66 25 3d 62 61 73  |.0z.treedef%=bas|
00006fd0  65 25 2b 33 32 38 0d 30  84 20 e7 20 72 69 63 68  |e%+328.0. . rich|
00006fe0  69 63 6f 6e 25 3d 30 20  8c 20 72 69 63 68 69 63  |icon%=0 . richic|
00006ff0  6f 6e 25 2b 3d 31 0d 30  8e 2c 62 61 73 65 32 25  |on%+=1.0.,base2%|
00007000  3d 28 69 63 6f 6e 64 61  74 61 25 29 2b 28 28 72  |=(icondata%)+((r|
00007010  69 63 68 69 63 6f 6e 25  2d 31 29 2a 34 30 30 29  |ichicon%-1)*400)|
00007020  2b 34 0d 30 98 11 74 65  78 74 32 25 3d 62 61 73  |+4.0..text2%=bas|
00007030  65 32 25 0d 30 a2 15 76  61 6c 69 64 32 25 3d 62  |e2%.0..valid2%=b|
00007040  61 73 65 32 25 2b 32 34  0d 30 ac 18 66 69 6c 65  |ase2%+24.0..file|
00007050  6e 61 6d 65 32 25 3d 62  61 73 65 32 25 2b 34 38  |name2%=base2%+48|
00007060  0d 30 b6 15 74 79 70 65  32 25 3d 62 61 73 65 32  |.0..type2%=base2|
00007070  25 2b 33 30 34 0d 30 c0  1c 6e 75 6d 62 65 72 69  |%+304.0..numberi|
00007080  63 6f 6e 73 32 25 3d 62  61 73 65 32 25 2b 33 30  |cons2%=base2%+30|
00007090  38 0d 30 ca 1b 72 65 61  64 6c 65 6e 67 74 68 32  |8.0..readlength2|
000070a0  25 3d 62 61 73 65 32 25  2b 33 31 32 0d 30 d4 1b  |%=base2%+312.0..|
000070b0  61 74 74 72 69 62 75 74  65 73 32 25 3d 62 61 73  |attributes2%=bas|
000070c0  65 32 25 2b 33 31 36 0d  30 de 15 6c 61 64 72 32  |e2%+316.0..ladr2|
000070d0  25 3d 62 61 73 65 32 25  2b 33 32 30 0d 30 e8 15  |%=base2%+320.0..|
000070e0  65 61 64 72 32 25 3d 62  61 73 65 32 25 2b 33 32  |eadr2%=base2%+32|
000070f0  34 0d 30 f2 18 74 72 65  65 64 65 66 32 25 3d 62  |4.0..treedef2%=b|
00007100  61 73 65 32 25 2b 33 32  38 0d 30 fc 12 e7 20 72  |ase2%+328.0... r|
00007110  65 73 65 74 66 6c 61 67  25 20 8c 0d 31 06 18 24  |esetflag% ..1..$|
00007120  28 74 72 65 65 64 65 66  25 29 3d c4 36 33 2c 22  |(treedef%)=.63,"|
00007130  4f 22 29 0d 31 10 05 cd  0d 31 1a 05 e1 0d 31 24  |O").1....1....1$|
00007140  23 dd f2 72 65 61 64 28  70 61 74 68 24 2c 74 62  |#..read(path$,tb|
00007150  2c 66 6c 61 67 2c 6d 79  63 6f 75 6e 74 65 72 29  |,flag,mycounter)|
00007160  0d 31 2e 07 ea 20 85 0d  31 38 2a ee 20 85 20 ea  |.1... ..18*. . .|
00007170  20 f2 61 6c 65 72 74 28  22 45 72 72 6f 72 20 66  | .alert("Error f|
00007180  72 6f 6d 20 54 72 65 65  22 2c f6 24 2c 30 29 3a  |rom Tree",.$,0):|
00007190  e1 0d 31 42 09 f2 67 6f  67 6f 0d 31 4c 05 e1 0d  |..1B..gogo.1L...|
000071a0  31 56 0a dd f2 67 6f 67  6f 0d 31 60 12 ea 20 6f  |1V...gogo.1`.. o|
000071b0  66 66 73 65 74 2c 74 65  6d 70 24 0d 31 6a 0c 6f  |ffset,temp$.1j.o|
000071c0  66 66 73 65 74 3d 30 0d  31 74 05 f5 0d 31 7e 11  |ffset=0.1t...1~.|
000071d0  24 28 62 75 66 25 2b 32  30 29 3d bd 30 0d 31 88  |$(buf%+20)=.0.1.|
000071e0  4c c8 99 26 30 30 30 32  30 30 30 43 2c 31 30 2c  |L..&0002000C,10,|
000071f0  70 61 74 68 24 2b bd 30  2c 62 75 66 25 2c 6d 61  |path$+.0,buf%,ma|
00007200  78 6e 75 6d 62 65 72 2c  6f 66 66 73 65 74 2c 34  |xnumber,offset,4|
00007210  31 2c 22 22 20 b8 20 52  30 2c 52 31 2c 52 32 2c  |1,"" . R0,R1,R2,|
00007220  52 33 2c 6f 66 66 73 65  74 0d 31 92 1d 74 65 6d  |R3,offset.1..tem|
00007230  70 24 3d a4 67 65 74 73  74 72 69 6e 67 28 62 75  |p$=.getstring(bu|
00007240  66 25 2b 32 30 29 0d 31  9c 12 e7 20 6f 66 66 73  |f%+20).1... offs|
00007250  65 74 3d 30 20 8c 20 e1  0d 31 a6 11 e7 20 74 65  |et=0 . ..1... te|
00007260  6d 70 24 3c 3e bd 30 20  8c 0d 31 b0 1d 62 6c 6f  |mp$<>.0 ..1..blo|
00007270  63 6b 73 69 7a 65 25 3d  62 6c 6f 63 6b 73 69 7a  |cksize%=blocksiz|
00007280  65 25 2b 34 30 30 0d 31  ba 1c e7 20 62 6c 6f 63  |e%+400.1... bloc|
00007290  6b 73 69 7a 65 25 3e 68  65 61 70 73 69 7a 65 25  |ksize%>heapsize%|
000072a0  20 8c 0d 31 c4 2c c8 99  20 22 58 4f 53 5f 48 65  | ..1.,.. "XOS_He|
000072b0  61 70 22 2c 35 2c 65 6e  64 70 72 6f 67 25 2c 2c  |ap",5,endprog%,,|
000072c0  34 30 30 20 b8 20 2c 2c  2c 74 65 6d 70 25 0d 31  |400 . ,,,temp%.1|
000072d0  ce 87 e7 20 74 65 6d 70  25 3c 3e 34 30 30 20 8c  |... temp%<>400 .|
000072e0  20 f2 61 6c 65 72 74 28  22 4d 65 73 73 61 67 65  | .alert("Message|
000072f0  20 66 72 6f 6d 20 54 72  65 65 22 2c 22 55 6e 61  | from Tree","Una|
00007300  62 6c 65 20 74 6f 20 66  69 6e 64 20 65 6e 6f 75  |ble to find enou|
00007310  67 68 20 66 72 65 65 20  6d 65 6d 6f 72 79 2e 20  |gh free memory. |
00007320  41 62 6f 75 74 20 74 6f  20 74 72 79 20 74 6f 20  |About to try to |
00007330  64 69 73 70 6c 61 79 20  61 6c 6c 20 74 68 61 74  |display all that|
00007340  20 68 61 73 20 62 65 65  6e 20 72 65 61 64 2e 22  | has been read."|
00007350  2c 30 29 3a e1 0d 31 d8  12 68 65 61 70 73 69 7a  |,0):..1..heapsiz|
00007360  65 25 2b 3d 34 30 30 0d  31 e2 27 e7 20 a4 63 68  |e%+=400.1.'. .ch|
00007370  65 63 6b 66 72 65 65 73  70 61 63 65 3c 3d 73 6d  |eckfreespace<=sm|
00007380  65 67 62 6c 6f 63 6b 73  69 7a 65 25 20 8c 0d 31  |egblocksize% ..1|
00007390  ec 76 f2 61 6c 65 72 74  28 22 4d 65 73 73 61 67  |.v.alert("Messag|
000073a0  65 20 66 72 6f 6d 20 54  72 65 65 22 2c 22 55 6e  |e from Tree","Un|
000073b0  61 62 6c 65 20 74 6f 20  66 69 6e 64 20 65 6e 6f  |able to find eno|
000073c0  75 67 68 20 66 72 65 65  20 6d 65 6d 6f 72 79 2e  |ugh free memory.|
000073d0  20 41 62 6f 75 74 20 74  6f 20 74 72 79 20 74 6f  | About to try to|
000073e0  20 64 69 73 70 6c 61 79  20 61 6c 6c 20 74 68 61  | display all tha|
000073f0  74 20 68 61 73 20 62 65  65 6e 20 72 65 61 64 2e  |t has been read.|
00007400  22 2c 30 29 0d 31 f6 12  68 65 61 70 73 69 7a 65  |",0).1..heapsize|
00007410  25 2d 3d 34 30 30 0d 32  00 13 62 6c 6f 63 6b 73  |%-=400.2..blocks|
00007420  69 7a 65 25 2d 3d 34 30  30 0d 32 0a 05 e1 0d 32  |ize%-=400.2....2|
00007430  14 05 cd 0d 32 1e 3c c8  99 20 22 57 69 6d 70 5f  |....2.<.. "Wimp_|
00007440  53 6c 6f 74 53 69 7a 65  22 2c 74 61 73 6b 73 69  |SlotSize",tasksi|
00007450  7a 65 25 2b 68 65 61 70  73 69 7a 65 25 2b 73 6d  |ze%+heapsize%+sm|
00007460  65 67 62 6c 6f 63 6b 73  69 7a 65 25 2c 2d 31 0d  |egblocksize%,-1.|
00007470  32 28 05 cd 0d 32 32 38  c8 99 20 22 58 4f 53 5f  |2(...228.. "XOS_|
00007480  48 65 61 70 22 2c 34 2c  65 6e 64 70 72 6f 67 25  |Heap",4,endprog%|
00007490  2c 69 63 6f 6e 64 61 74  61 25 2c 34 30 30 20 b8  |,icondata%,400 .|
000074a0  20 2c 2c 69 63 6f 6e 64  61 74 61 25 0d 32 3c 88  | ,,icondata%.2<.|
000074b0  e7 20 69 63 6f 6e 64 61  74 61 25 3d 30 20 8c 20  |. icondata%=0 . |
000074c0  f2 61 6c 65 72 74 28 22  4d 65 73 73 61 67 65 20  |.alert("Message |
000074d0  66 72 6f 6d 20 54 72 65  65 22 2c 22 55 6e 61 62  |from Tree","Unab|
000074e0  6c 65 20 74 6f 20 66 69  6e 64 20 65 6e 6f 75 67  |le to find enoug|
000074f0  68 20 66 72 65 65 20 6d  65 6d 6f 72 79 2e 20 41  |h free memory. A|
00007500  62 6f 75 74 20 74 6f 20  74 72 79 20 74 6f 20 64  |bout to try to d|
00007510  69 73 70 6c 61 79 20 61  6c 6c 20 74 68 61 74 20  |isplay all that |
00007520  68 61 73 20 62 65 65 6e  20 72 65 61 64 2e 22 2c  |has been read.",|
00007530  30 29 3a e1 0d 32 46 14  f2 67 65 74 76 61 72 73  |0):..2F..getvars|
00007540  28 69 69 69 25 2c b9 29  0d 32 50 23 66 74 79 25  |(iii%,.).2P#fty%|
00007550  3d a4 66 69 6c 65 73 74  79 70 65 28 62 75 66 25  |=.filestype(buf%|
00007560  21 31 36 2c 62 75 66 25  21 30 29 0d 32 5a 1e 24  |!16,buf%!0).2Z.$|
00007570  66 69 6c 65 6e 61 6d 65  25 3d 70 61 74 68 24 2b  |filename%=path$+|
00007580  22 2e 22 2b 74 65 6d 70  24 0d 32 64 10 74 79 70  |"."+temp$.2d.typ|
00007590  65 25 21 30 3d 66 74 79  25 0d 32 6e 18 72 65 61  |e%!0=fty%.2n.rea|
000075a0  64 6c 65 6e 67 74 68 25  21 30 3d 62 75 66 25 21  |dlength%!0=buf%!|
000075b0  38 0d 32 78 19 61 74 74  72 69 62 75 74 65 73 25  |8.2x.attributes%|
000075c0  21 30 3d 62 75 66 25 21  31 32 0d 32 82 12 6c 61  |!0=buf%!12.2..la|
000075d0  64 72 25 21 30 3d 62 75  66 25 21 30 0d 32 8c 12  |dr%!0=buf%!0.2..|
000075e0  65 61 64 72 25 21 30 3d  62 75 66 25 21 34 0d 32  |eadr%!0=buf%!4.2|
000075f0  96 05 3a 0d 32 a0 12 62  6c 6f 63 6b 25 21 30 3d  |..:.2..block%!0=|
00007600  6d 61 69 6e 25 0d 32 aa  0e 62 6c 6f 63 6b 25 21  |main%.2..block%!|
00007610  34 3d 30 0d 32 b4 15 c8  99 20 26 34 30 30 43 45  |4=0.2.... &400CE|
00007620  2c 2c 62 6c 6f 63 6b 25  0d 32 be 11 66 61 67 25  |,,block%.2..fag%|
00007630  3d 62 6c 6f 63 6b 25 2b  34 0d 32 c8 0f 75 6d 31  |=block%+4.2..um1|
00007640  25 3d 66 61 67 25 21 34  0d 32 d2 10 75 6d 32 25  |%=fag%!4.2..um2%|
00007650  3d 66 61 67 25 21 31 32  0d 32 dc 12 62 6c 6f 63  |=fag%!12.2..bloc|
00007660  6b 25 21 30 3d 6d 61 69  6e 25 0d 32 e6 11 62 6c  |k%!0=main%.2..bl|
00007670  6f 63 6b 25 21 34 3d 69  69 69 25 0d 32 f0 15 c8  |ock%!4=iii%.2...|
00007680  99 20 26 34 30 30 43 45  2c 2c 62 6c 6f 63 6b 25  |. &400CE,,block%|
00007690  0d 32 fa 11 66 61 67 25  3d 62 6c 6f 63 6b 25 2b  |.2..fag%=block%+|
000076a0  34 0d 33 04 10 66 61 67  25 21 30 3d 6d 61 69 6e  |4.3..fag%!0=main|
000076b0  25 0d 33 0e 14 66 61 67  25 21 38 3d 66 61 67 25  |%.3..fag%!8=fag%|
000076c0  21 38 2d 34 34 0d 33 18  12 66 61 67 25 21 34 3d  |!8-44.3..fag%!4=|
000076d0  75 6d 31 25 2b 74 62 0d  33 22 0e 6e 75 74 3d 66  |um1%+tb.3".nut=f|
000076e0  61 67 25 21 38 0d 33 2c  16 66 61 67 25 21 31 36  |ag%!8.3,.fag%!16|
000076f0  3d 66 61 67 25 21 31 36  2d 34 34 0d 33 36 13 66  |=fag%!16-44.36.f|
00007700  61 67 25 21 31 32 3d 75  6d 32 25 2b 74 62 0d 33  |ag%!12=um2%+tb.3|
00007710  40 2b e7 20 66 61 67 25  21 31 32 3e 74 68 65 62  |@+. fag%!12>theb|
00007720  69 67 6f 6e 65 20 8c 20  74 68 65 62 69 67 6f 6e  |igone . thebigon|
00007730  65 3d 66 61 67 25 21 31  32 0d 33 4a 11 e7 20 6f  |e=fag%!12.3J.. o|
00007740  66 66 73 65 74 3d 2d 31  20 8c 0d 33 54 1f 3f 28  |ffset=-1 ..3T.?(|
00007750  74 72 65 65 64 65 66 25  2b 6d 79 63 6f 75 6e 74  |treedef%+mycount|
00007760  65 72 29 3d 61 73 63 6c  25 0d 33 5e 05 cc 0d 33  |er)=ascl%.3^...3|
00007770  68 1f 3f 28 74 72 65 65  64 65 66 25 2b 6d 79 63  |h.?(treedef%+myc|
00007780  6f 75 6e 74 65 72 29 3d  61 73 63 74 25 0d 33 72  |ounter)=asct%.3r|
00007790  05 cd 0d 33 7c 1c 6e 75  6d 62 65 72 69 63 6f 6e  |...3|.numbericon|
000077a0  73 25 21 30 3d 6d 79 63  6f 75 6e 74 65 72 0d 33  |s%!0=mycounter.3|
000077b0  86 13 e7 20 28 69 69 69  25 2d 31 29 3e 3d 30 20  |... (iii%-1)>=0 |
000077c0  8c 0d 33 90 21 e3 20 73  6d 65 67 25 3d 30 20 b8  |..3.!. smeg%=0 .|
000077d0  20 28 6e 75 6d 62 65 72  69 63 6f 6e 73 32 25 21  | (numbericons2%!|
000077e0  30 29 0d 33 9a 53 e7 20  3f 28 74 72 65 65 64 65  |0).3.S. ?(treede|
000077f0  66 32 25 2b 73 6d 65 67  25 29 3d 61 73 63 74 25  |f2%+smeg%)=asct%|
00007800  20 80 20 3f 28 74 72 65  65 64 65 66 25 2b 73 6d  | . ?(treedef%+sm|
00007810  65 67 25 29 3c 3e 61 73  63 6c 25 20 8c 20 3f 28  |eg%)<>ascl% . ?(|
00007820  74 72 65 65 64 65 66 25  2b 73 6d 65 67 25 29 3d  |treedef%+smeg%)=|
00007830  61 73 63 74 25 0d 33 a4  0a ed 73 6d 65 67 25 0d  |asct%.3...smeg%.|
00007840  33 ae 05 cd 0d 33 b8 10  24 74 65 78 74 25 3d 74  |3....3..$text%=t|
00007850  65 6d 70 24 0d 33 c2 11  66 61 67 25 21 32 34 3d  |emp$.3..fag%!24=|
00007860  74 65 78 74 25 0d 33 cc  1b e7 20 66 74 79 25 3e  |text%.3... fty%>|
00007870  26 46 46 46 20 84 20 66  74 79 25 3c 26 30 20 8c  |&FFF . fty%<&0 .|
00007880  0d 33 d6 17 20 20 e7 20  c0 74 65 6d 70 24 2c 31  |.3..  . .temp$,1|
00007890  29 3d 22 21 22 20 8c 0d  33 e0 30 20 20 20 20 e7  |)="!" ..3.0    .|
000078a0  20 ac 20 a4 73 70 72 69  74 65 65 78 69 73 74 73  | . .spriteexists|
000078b0  28 74 65 6d 70 24 29 20  80 20 69 63 6f 6e 73 70  |(temp$) . iconsp|
000078c0  72 69 74 65 73 20 8c 0d  33 ea 2d 20 20 20 20 20  |rites ..3.-     |
000078d0  20 74 74 79 25 3d 8e 28  70 61 74 68 24 2b 22 2e  | tty%=.(path$+".|
000078e0  22 2b 74 65 6d 70 24 2b  22 2e 21 53 70 72 69 74  |"+temp$+".!Sprit|
000078f0  65 73 22 29 0d 33 f4 15  20 20 20 20 20 20 e7 20  |es").3..      . |
00007900  74 74 79 25 3c 3e 30 20  8c 0d 33 fe 18 20 20 20  |tty%<>0 ..3..   |
00007910  20 20 20 20 20 77 6c 6c  6c 25 3d a2 23 74 74 79  |     wlll%=.#tty|
00007920  25 0d 34 08 12 20 20 20  20 20 20 20 20 d9 23 74  |%.4..        .#t|
00007930  74 79 25 0d 34 12 0b 20  20 20 20 20 20 cd 0d 34  |ty%.4..      ..4|
00007940  1c 24 20 20 20 20 20 20  e7 20 74 74 79 25 3c 3e  |.$      . tty%<>|
00007950  30 20 80 20 6c 6f 63 61  6c 73 70 72 69 74 65 73  |0 . localsprites|
00007960  20 8c 0d 34 26 42 20 20  20 20 20 20 20 20 e7 20  | ..4&B        . |
00007970  a4 66 69 6c 65 74 79 70  65 6f 66 61 66 69 6c 65  |.filetypeofafile|
00007980  28 70 61 74 68 24 2b 22  2e 22 2b 74 65 6d 70 24  |(path$+"."+temp$|
00007990  2b 22 2e 21 53 70 72 69  74 65 73 22 29 3d 26 46  |+".!Sprites")=&F|
000079a0  46 39 20 8c 0d 34 30 27  20 20 20 20 20 20 20 20  |F9 ..40'        |
000079b0  20 20 e7 20 a4 63 68 65  63 6b 66 72 65 65 73 70  |  . .checkfreesp|
000079c0  61 63 65 3e 77 6c 6c 6c  25 20 8c 0d 34 3a 2d 20  |ace>wlll% ..4:- |
000079d0  20 20 20 20 20 20 20 20  20 20 20 e7 20 6c 6f 63  |           . loc|
000079e0  61 6c 73 70 72 69 74 65  73 20 8c 20 f2 6c 6f 61  |alsprites . .loa|
000079f0  64 73 70 72 69 74 65 73  0d 34 44 0f 20 20 20 20  |dsprites.4D.    |
00007a00  20 20 20 20 20 20 cc 0d  34 4e 6f 20 20 20 20 20  |      ..4No     |
00007a10  20 20 20 20 20 20 20 f2  61 6c 65 72 74 28 22 4d  |       .alert("M|
00007a20  65 73 73 61 67 65 20 66  72 6f 6d 20 54 72 65 65  |essage from Tree|
00007a30  22 2c 22 4e 6f 20 72 6f  6f 6d 20 66 6f 72 20 73  |","No room for s|
00007a40  70 72 69 74 65 73 2e 20  46 6f 72 67 65 74 74 69  |prites. Forgetti|
00007a50  6e 67 20 74 6f 20 6c 6f  61 64 20 61 6e 79 20 6d  |ng to load any m|
00007a60  6f 72 65 20 21 53 70 72  69 74 65 20 66 69 6c 65  |ore !Sprite file|
00007a70  73 2e 22 2c 30 29 0d 34  58 1e 20 20 20 20 20 20  |s.",0).4X.      |
00007a80  20 20 20 20 20 20 6c 6f  63 61 6c 73 70 72 69 74  |      localsprit|
00007a90  65 73 3d a3 0d 34 62 23  20 20 20 20 20 20 20 20  |es=..4b#        |
00007aa0  20 20 20 20 76 61 6c 69  64 24 3d 22 53 64 69 72  |    valid$="Sdir|
00007ab0  65 63 74 6f 72 79 22 0d  34 6c 0f 20 20 20 20 20  |ectory".4l.     |
00007ac0  20 20 20 20 20 cd 0d 34  76 0d 20 20 20 20 20 20  |     ..4v.      |
00007ad0  20 20 cd 0d 34 80 0b 20  20 20 20 20 20 cd 0d 34  |  ..4..      ..4|
00007ae0  8a 09 20 20 20 20 cd 0d  34 94 18 20 20 20 20 76  |..    ..4..    v|
00007af0  61 6c 69 64 24 3d 22 53  22 2b 74 65 6d 70 24 0d  |alid$="S"+temp$.|
00007b00  34 9e 47 20 20 20 20 e7  20 ac 20 a4 73 70 72 69  |4.G    . . .spri|
00007b10  74 65 65 78 69 73 74 73  28 c1 76 61 6c 69 64 24  |teexists(.valid$|
00007b20  2c 32 2c a9 28 76 61 6c  69 64 24 29 29 29 20 8c  |,2,.(valid$))) .|
00007b30  20 76 61 6c 69 64 24 3d  22 53 61 70 70 6c 69 63  | valid$="Sapplic|
00007b40  61 74 69 6f 6e 22 0d 34  a8 07 20 20 cc 0d 34 b2  |ation".4..  ..4.|
00007b50  1b 20 20 20 20 76 61 6c  69 64 24 3d 22 53 64 69  |.    valid$="Sdi|
00007b60  72 65 63 74 6f 72 79 22  0d 34 bc 07 20 20 cd 0d  |rectory".4..  ..|
00007b70  34 c6 05 cc 0d 34 d0 20  20 20 76 61 6c 69 64 24  |4....4.   valid$|
00007b80  3d 22 53 66 69 6c 65 5f  22 2b a4 70 61 64 28 66  |="Sfile_"+.pad(f|
00007b90  74 79 25 29 0d 34 da 05  cd 0d 34 e4 3b e7 20 74  |ty%).4....4.;. t|
00007ba0  79 70 65 25 21 30 3d 2d  32 20 80 20 76 61 6c 69  |ype%!0=-2 . vali|
00007bb0  64 24 3d 22 53 64 69 72  65 63 74 6f 72 79 22 20  |d$="Sdirectory" |
00007bc0  8c 20 76 61 6c 69 64 24  3d 22 53 66 69 6c 65 5f  |. valid$="Sfile_|
00007bd0  78 78 78 22 0d 34 ee 40  e7 20 ac 20 a4 73 70 72  |xxx".4.@. . .spr|
00007be0  69 74 65 65 78 69 73 74  73 28 c1 76 61 6c 69 64  |iteexists(.valid|
00007bf0  24 2c 32 2c a9 28 76 61  6c 69 64 24 29 29 29 20  |$,2,.(valid$))) |
00007c00  8c 20 76 61 6c 69 64 24  3d 22 53 66 69 6c 65 5f  |. valid$="Sfile_|
00007c10  78 78 78 22 0d 34 f8 12  24 76 61 6c 69 64 25 3d  |xxx".4..$valid%=|
00007c20  76 61 6c 69 64 24 0d 35  02 12 66 61 67 25 21 32  |valid$.5..fag%!2|
00007c30  38 3d 76 61 6c 69 64 25  0d 35 0c 14 66 61 67 25  |8=valid%.5..fag%|
00007c40  21 33 32 3d a9 28 74 65  6d 70 24 29 0d 35 16 13  |!32=.(temp$).5..|
00007c50  c8 99 20 26 34 30 30 43  32 2c 2c 66 61 67 25 0d  |.. &400C2,,fag%.|
00007c60  35 20 0b 69 69 69 25 2b  3d 31 0d 35 2a 11 74 6f  |5 .iii%+=1.5*.to|
00007c70  74 61 6c 25 21 30 3d 69  69 69 25 0d 35 34 05 cd  |tal%!0=iii%.54..|
00007c80  0d 35 3e 37 e7 20 62 75  66 25 21 31 36 3d 32 20  |.5>7. buf%!16=2 |
00007c90  84 20 28 66 74 79 25 3d  26 64 64 63 20 80 20 61  |. (fty%=&ddc . a|
00007ca0  72 63 68 69 76 65 72 25  29 20 84 20 66 74 79 25  |rchiver%) . fty%|
00007cb0  3d 26 66 63 38 20 8c 0d  35 48 11 e7 20 74 65 6d  |=&fc8 ..5H.. tem|
00007cc0  70 24 3c 3e bd 30 20 8c  0d 35 52 2e f2 72 65 61  |p$<>.0 ..5R..rea|
00007cd0  64 28 70 61 74 68 24 2b  22 2e 22 2b 74 65 6d 70  |d(path$+"."+temp|
00007ce0  24 2c 74 62 2b 35 30 2c  b9 2c 6d 79 63 6f 75 6e  |$,tb+50,.,mycoun|
00007cf0  74 65 72 2b 31 29 0d 35  5c 05 cd 0d 35 66 05 cd  |ter+1).5\...5f..|
00007d00  0d 35 70 0f fd 20 6f 66  66 73 65 74 3d 2d 31 0d  |.5p.. offset=-1.|
00007d10  35 7a 05 e1 0d 35 84 05  3a 0d 35 8e 11 dd f2 6c  |5z...5..:.5....l|
00007d20  6f 61 64 73 70 72 69 74  65 73 0d 35 98 07 ea 20  |oadsprites.5... |
00007d30  85 0d 35 a2 8d ee 20 85  20 ea 20 f2 61 6c 65 72  |..5... . . .aler|
00007d40  74 28 22 4d 65 73 73 61  67 65 20 66 72 6f 6d 20  |t("Message from |
00007d50  54 72 65 65 22 2c 22 45  72 72 6f 72 20 77 68 69  |Tree","Error whi|
00007d60  6c 73 74 20 74 72 79 69  6e 67 20 74 6f 20 49 43  |lst trying to IC|
00007d70  4f 4e 53 50 52 49 54 45  20 21 53 70 72 69 74 65  |ONSPRITE !Sprite|
00007d80  73 20 66 69 6c 65 2e 20  22 2b f6 24 2b 22 2e 20  |s file. "+.$+". |
00007d90  4e 6f 74 20 62 6f 74 68  65 72 69 6e 67 20 77 69  |Not bothering wi|
00007da0  74 68 20 61 6e 79 20 6d  6f 72 65 20 21 53 70 72  |th any more !Spr|
00007db0  69 74 65 20 66 69 6c 65  73 2e 22 2c 30 29 0d 35  |ite files.",0).5|
00007dc0  ac 31 ff 28 22 49 43 4f  4e 53 50 52 49 54 45 53  |.1.("ICONSPRITES|
00007dd0  20 22 2b 70 61 74 68 24  2b 22 2e 22 2b 74 65 6d  | "+path$+"."+tem|
00007de0  70 24 2b 22 2e 21 53 70  72 69 74 65 73 22 29 0d  |p$+".!Sprites").|
00007df0  35 b6 12 6c 6f 63 61 6c  73 70 72 69 74 65 73 3d  |5..localsprites=|
00007e00  a3 0d 35 c0 05 e1 0d 35  ca 05 3a 0d 35 d4 12 dd  |..5....5..:.5...|
00007e10  f2 6c 6f 61 64 73 70 72  69 74 65 73 32 0d 35 de  |.loadsprites2.5.|
00007e20  07 ea 20 85 0d 35 e8 8d  ee 20 85 20 ea 20 f2 61  |.. ..5... . . .a|
00007e30  6c 65 72 74 28 22 4d 65  73 73 61 67 65 20 66 72  |lert("Message fr|
00007e40  6f 6d 20 54 72 65 65 22  2c 22 45 72 72 6f 72 20  |om Tree","Error |
00007e50  77 68 69 6c 73 74 20 74  72 79 69 6e 67 20 74 6f  |whilst trying to|
00007e60  20 49 43 4f 4e 53 50 52  49 54 45 20 21 53 70 72  | ICONSPRITE !Spr|
00007e70  69 74 65 73 20 66 69 6c  65 2e 20 22 2b f6 24 2b  |ites file. "+.$+|
00007e80  22 2e 20 4e 6f 74 20 62  6f 74 68 65 72 69 6e 67  |". Not bothering|
00007e90  20 77 69 74 68 20 61 6e  79 20 6d 6f 72 65 20 21  | with any more !|
00007ea0  53 70 72 69 74 65 20 66  69 6c 65 73 2e 22 2c 30  |Sprite files.",0|
00007eb0  29 0d 35 f2 2c ff 28 22  49 43 4f 4e 53 50 52 49  |).5.,.("ICONSPRI|
00007ec0  54 45 53 20 22 2b 24 66  69 6c 65 6e 61 6d 65 25  |TES "+$filename%|
00007ed0  2b 22 2e 21 53 70 72 69  74 65 73 22 29 0d 35 fc  |+".!Sprites").5.|
00007ee0  12 6c 6f 63 61 6c 73 70  72 69 74 65 73 3d a3 0d  |.localsprites=..|
00007ef0  36 06 05 e1 0d 36 10 05  3a 0d 36 1a 0b dd f2 67  |6....6..:.6....g|
00007f00  61 66 75 70 0d 36 24 05  e1 0d 36 2e 11 f4 73 6d  |afup.6$...6...sm|
00007f10  65 67 25 3d 69 69 69 25  2d 31 0d 36 38 1d f4 50  |eg%=iii%-1.68..P|
00007f20  52 4f 43 67 65 74 76 61  72 73 28 73 6d 65 67 25  |ROCgetvars(smeg%|
00007f30  2c 46 41 4c 53 45 29 0d  36 42 1b f4 57 48 49 4c  |,FALSE).6B..WHIL|
00007f40  45 20 6e 75 6d 62 65 72  69 63 6f 6e 73 25 21 30  |E numbericons%!0|
00007f50  3e 30 0d 36 4c 1d f4 50  52 4f 43 67 65 74 76 61  |>0.6L..PROCgetva|
00007f60  72 73 28 73 6d 65 67 25  2c 46 41 4c 53 45 29 0d  |rs(smeg%,FALSE).|
00007f70  36 56 27 f4 46 4f 52 20  73 6d 65 67 32 25 3d 30  |6V'.FOR smeg2%=0|
00007f80  20 54 4f 20 28 6e 75 6d  62 65 72 69 63 6f 6e 73  | TO (numbericons|
00007f90  25 21 30 29 2d 31 0d 36  60 1d f4 3f 28 74 72 65  |%!0)-1.6`..?(tre|
00007fa0  65 64 65 66 25 2b 73 6d  65 67 32 25 29 3d 61 73  |edef%+smeg2%)=as|
00007fb0  63 6c 25 0d 36 6a 10 f4  4e 45 58 54 20 73 6d 65  |cl%.6j..NEXT sme|
00007fc0  67 32 25 0d 36 74 0d f4  73 6d 65 67 25 2d 3d 31  |g2%.6t..smeg%-=1|
00007fd0  0d 36 7e 0d f4 45 4e 44  57 48 49 4c 45 0d 36 88  |.6~..ENDWHILE.6.|
00007fe0  1c e3 20 73 6d 65 67 32  25 3d 69 69 69 25 2d 31  |.. smeg2%=iii%-1|
00007ff0  20 b8 20 31 20 88 20 2d  31 0d 36 92 16 f2 67 65  | . 1 . -1.6...ge|
00008000  74 76 61 72 73 28 73 6d  65 67 32 25 2c a3 29 0d  |tvars(smeg2%,.).|
00008010  36 9c 21 e3 20 73 6d 65  67 33 25 3d 30 20 b8 20  |6.!. smeg3%=0 . |
00008020  28 6e 75 6d 62 65 72 69  63 6f 6e 73 25 21 30 29  |(numbericons%!0)|
00008030  0d 36 a6 3e 20 20 20 20  e7 20 3f 28 74 72 65 65  |.6.>    . ?(tree|
00008040  64 65 66 25 2b 73 6d 65  67 33 25 29 3d 61 73 63  |def%+smeg3%)=asc|
00008050  6c 25 20 84 20 3f 28 74  72 65 65 64 65 66 25 2b  |l% . ?(treedef%+|
00008060  73 6d 65 67 33 25 29 3d  97 22 46 22 20 8c 0d 36  |smeg3%)=."F" ..6|
00008070  b0 20 20 20 20 20 3f 28  74 72 65 65 64 65 66 32  |.     ?(treedef2|
00008080  25 2b 73 6d 65 67 33 25  29 3d 97 22 46 22 0d 36  |%+smeg3%)=."F".6|
00008090  ba 09 20 20 20 20 cc 0d  36 c4 20 20 20 20 20 3f  |..    ..6.     ?|
000080a0  28 74 72 65 65 64 65 66  32 25 2b 73 6d 65 67 33  |(treedef2%+smeg3|
000080b0  25 29 3d 97 22 4f 22 0d  36 ce 09 20 20 20 20 cd  |%)=."O".6..    .|
000080c0  0d 36 d8 23 20 20 20 20  e7 20 3f 28 74 72 65 65  |.6.#    . ?(tree|
000080d0  64 65 66 25 2b 73 6d 65  67 33 25 29 3d 97 22 46  |def%+smeg3%)=."F|
000080e0  22 20 8c 0d 36 e2 23 20  20 20 20 20 20 20 3f 28  |" ..6.#       ?(|
000080f0  74 72 65 65 64 65 66 25  2b 73 6d 65 67 33 25 29  |treedef%+smeg3%)|
00008100  3d 61 73 63 74 25 0d 36  ec 23 20 20 20 20 20 20  |=asct%.6.#      |
00008110  20 3f 28 74 72 65 65 64  65 66 32 25 2b 73 6d 65  | ?(treedef2%+sme|
00008120  67 33 25 29 3d 97 22 46  22 0d 36 f6 09 20 20 20  |g3%)=."F".6..   |
00008130  20 cd 0d 37 00 0b ed 73  6d 65 67 33 25 0d 37 0a  | ..7...smeg3%.7.|
00008140  0b ed 73 6d 65 67 32 25  0d 37 14 05 e1 0d 37 1e  |..smeg2%.7....7.|
00008150  05 3a 0d 37 28 0b dd a4  77 73 28 73 29 0d 37 32  |.:.7(...ws(s).72|
00008160  0b de 20 73 70 25 20 73  0d 37 3c 08 3d 73 70 25  |.. sp% s.7<.=sp%|
00008170  0d 37 46 1c dd 20 a4 66  69 6c 65 73 74 79 70 65  |.7F.. .filestype|
00008180  28 6f 62 6a 25 2c 74 79  70 65 25 29 0d 37 50 31  |(obj%,type%).7P1|
00008190  e7 20 6f 62 6a 25 3d 31  20 80 20 28 74 79 70 65  |. obj%=1 . (type|
000081a0  25 20 80 20 26 46 46 46  30 30 30 30 30 29 20 3c  |% . &FFF00000) <|
000081b0  3e 20 26 46 46 46 30 30  30 30 30 20 8c 0d 37 5a  |> &FFF00000 ..7Z|
000081c0  0c 74 79 70 65 25 3d 2d  32 0d 37 64 05 cc 0d 37  |.type%=-2.7d...7|
000081d0  6e 35 e7 20 6f 62 6a 25  3d 31 20 8c 20 74 79 70  |n5. obj%=1 . typ|
000081e0  65 25 3d 28 74 79 70 65  25 20 80 20 26 46 46 46  |e%=(type% . &FFF|
000081f0  30 30 29 20 3e 3e 20 38  20 8b 20 74 79 70 65 25  |00) >> 8 . type%|
00008200  3d 2d 31 0d 37 78 05 cd  0d 37 82 0a 3d 74 79 70  |=-1.7x...7..=typ|
00008210  65 25 0d 37 8c 0d dd a4  70 61 64 28 71 71 29 0d  |e%.7....pad(qq).|
00008220  37 96 0f 66 61 72 24 3d  c3 7e 28 71 71 29 0d 37  |7..far$=.~(qq).7|
00008230  a0 10 c8 8e 20 a9 28 66  61 72 24 29 20 ca 0d 37  |.... .(far$) ..7|
00008240  aa 07 c9 20 30 0d 37 b4  0e 66 61 72 24 3d 22 30  |... 0.7..far$="0|
00008250  30 30 22 0d 37 be 07 c9  20 31 0d 37 c8 12 66 61  |00".7... 1.7..fa|
00008260  72 24 3d 22 30 30 22 2b  66 61 72 24 0d 37 d2 07  |r$="00"+far$.7..|
00008270  c9 20 32 0d 37 dc 11 66  61 72 24 3d 22 30 22 2b  |. 2.7..far$="0"+|
00008280  66 61 72 24 0d 37 e6 05  cb 0d 37 f0 09 3d 66 61  |far$.7....7..=fa|
00008290  72 24 0d 37 fa 23 dd f2  64 6f 6c 69 6e 65 73 28  |r$.7.#..dolines(|
000082a0  6d 69 6e 79 25 2c 6d 61  78 79 25 2c 73 63 72 6f  |miny%,maxy%,scro|
000082b0  6c 6c 79 25 29 0d 38 04  17 c8 99 26 30 30 30 34  |lly%).8....&0004|
000082c0  30 30 45 36 2c 66 69 6e  63 6f 6c 73 0d 38 0e 19  |00E6,fincols.8..|
000082d0  74 6f 70 25 3d 94 28 73  63 72 6f 6c 6c 79 25 20  |top%=.(scrolly% |
000082e0  81 20 34 34 29 0d 38 18  24 62 6f 74 25 3d 28 6d  |. 44).8.$bot%=(m|
000082f0  61 78 79 25 2d 6d 69 6e  79 25 2d 73 63 72 6f 6c  |axy%-miny%-scrol|
00008300  6c 79 25 29 20 81 20 34  34 0d 38 22 13 62 6c 6f  |ly%) . 44.8".blo|
00008310  63 6b 32 25 21 30 3d 6d  61 69 6e 25 0d 38 2c 15  |ck2%!0=main%.8,.|
00008320  c8 99 26 34 30 30 63 62  2c 2c 62 6c 6f 63 6b 32  |..&400cb,,block2|
00008330  25 0d 38 36 1e 74 6f 70  78 25 3d 62 6c 6f 63 6b  |%.86.topx%=block|
00008340  32 25 21 34 2d 62 6c 6f  63 6b 32 25 21 32 30 0d  |2%!4-block2%!20.|
00008350  38 40 1f 74 6f 70 79 25  3d 62 6c 6f 63 6b 32 25  |8@.topy%=block2%|
00008360  21 31 36 2d 62 6c 6f 63  6b 32 25 21 32 34 0d 38  |!16-block2%!24.8|
00008370  4a 0f 74 6f 62 6f 74 25  3d 62 6f 74 25 0d 38 54  |J.tobot%=bot%.8T|
00008380  23 e7 20 74 6f 62 6f 74  25 3e 69 69 69 25 2d 31  |#. tobot%>iii%-1|
00008390  20 8c 20 74 6f 62 6f 74  25 3d 69 69 69 25 2d 31  | . tobot%=iii%-1|
000083a0  0d 38 5e 19 e3 20 70 75  6b 65 25 3d 74 6f 70 25  |.8^.. puke%=top%|
000083b0  20 b8 20 74 6f 62 6f 74  25 0d 38 68 15 f2 67 65  | . tobot%.8h..ge|
000083c0  74 76 61 72 73 28 70 75  6b 65 25 2c a3 29 0d 38  |tvars(puke%,.).8|
000083d0  72 26 e3 20 73 75 62 63  6f 75 6e 74 25 3d 30 20  |r&. subcount%=0 |
000083e0  b8 20 28 6e 75 6d 62 65  72 69 63 6f 6e 73 25 21  |. (numbericons%!|
000083f0  30 29 2d 31 0d 38 7c 40  e7 20 3f 28 74 72 65 65  |0)-1.8|@. ?(tree|
00008400  64 65 66 25 2b 73 75 62  63 6f 75 6e 74 25 29 3d  |def%+subcount%)=|
00008410  61 73 63 74 25 20 80 20  73 75 62 63 6f 75 6e 74  |asct% . subcount|
00008420  25 3c 28 6e 75 6d 62 65  72 69 63 6f 6e 73 25 21  |%<(numbericons%!|
00008430  30 29 20 8c 0d 38 86 2d  f2 62 61 72 28 74 6f 70  |0) ..8.-.bar(top|
00008440  78 25 2b 28 73 75 62 63  6f 75 6e 74 25 2a 35 30  |x%+(subcount%*50|
00008450  29 2c 74 6f 70 79 25 2d  70 75 6b 65 25 2a 34 34  |),topy%-puke%*44|
00008460  29 0d 38 90 37 e7 20 74  6f 70 79 25 2d 70 75 6b  |).8.7. topy%-puk|
00008470  65 25 2a 34 34 20 3e 20  74 74 74 65 6d 70 25 20  |e%*44 > tttemp% |
00008480  8c 20 74 74 74 65 6d 70  25 3d 74 6f 70 79 25 2d  |. tttemp%=topy%-|
00008490  70 75 6b 65 25 2a 34 34  0d 38 9a 05 cd 0d 38 a4  |puke%*44.8....8.|
000084a0  0f ed 20 73 75 62 63 6f  75 6e 74 25 0d 38 ae 28  |.. subcount%.8.(|
000084b0  e7 20 3f 28 74 72 65 65  64 65 66 25 2b 6e 75 6d  |. ?(treedef%+num|
000084c0  62 65 72 69 63 6f 6e 73  25 21 30 29 3d 61 73 63  |bericons%!0)=asc|
000084d0  6c 25 20 8c 0d 38 b8 37  f2 62 6f 74 62 61 72 28  |l% ..8.7.botbar(|
000084e0  74 6f 70 78 25 2b 28 28  6e 75 6d 62 65 72 69 63  |topx%+((numberic|
000084f0  6f 6e 73 25 21 30 29 2a  35 30 29 2c 74 6f 70 79  |ons%!0)*50),topy|
00008500  25 2d 70 75 6b 65 25 2a  34 34 29 0d 38 c2 37 e7  |%-puke%*44).8.7.|
00008510  20 74 6f 70 79 25 2d 70  75 6b 65 25 2a 34 34 20  | topy%-puke%*44 |
00008520  3e 20 74 74 74 65 6d 70  25 20 8c 20 74 74 74 65  |> tttemp% . ttte|
00008530  6d 70 25 3d 74 6f 70 79  25 2d 70 75 6b 65 25 2a  |mp%=topy%-puke%*|
00008540  34 34 0d 38 cc 05 cd 0d  38 d6 28 e7 20 3f 28 74  |44.8....8.(. ?(t|
00008550  72 65 65 64 65 66 25 2b  6e 75 6d 62 65 72 69 63  |reedef%+numberic|
00008560  6f 6e 73 25 21 30 29 3d  61 73 63 74 25 20 8c 0d  |ons%!0)=asct% ..|
00008570  38 e0 35 f2 74 62 61 72  28 74 6f 70 78 25 2b 28  |8.5.tbar(topx%+(|
00008580  28 6e 75 6d 62 65 72 69  63 6f 6e 73 25 21 30 29  |(numbericons%!0)|
00008590  2a 35 30 29 2c 74 6f 70  79 25 2d 70 75 6b 65 25  |*50),topy%-puke%|
000085a0  2a 34 34 29 0d 38 ea 37  e7 20 74 6f 70 79 25 2d  |*44).8.7. topy%-|
000085b0  70 75 6b 65 25 2a 34 34  20 3e 20 74 74 74 65 6d  |puke%*44 > tttem|
000085c0  70 25 20 8c 20 74 74 74  65 6d 70 25 3d 74 6f 70  |p% . tttemp%=top|
000085d0  79 25 2d 70 75 6b 65 25  2a 34 34 0d 38 f4 05 cd  |y%-puke%*44.8...|
000085e0  0d 38 fe 0b ed 20 70 75  6b 65 25 0d 39 08 05 e1  |.8... puke%.9...|
000085f0  0d 39 12 13 dd f2 74 62  61 72 28 78 70 25 2c 79  |.9....tbar(xp%,y|
00008600  70 25 29 0d 39 1c 0a 78  70 25 2b 3d 38 0d 39 26  |p%).9..xp%+=8.9&|
00008610  18 86 20 78 70 25 2c 79  70 25 2c 78 70 25 2c 79  |.. xp%,yp%,xp%,y|
00008620  70 25 2d 34 34 0d 39 30  1e 86 20 78 70 25 2c 79  |p%-44.90.. xp%,y|
00008630  70 25 2d 32 32 2c 78 70  25 2b 33 36 2c 79 70 25  |p%-22,xp%+36,yp%|
00008640  2d 32 32 0d 39 3a 05 e1  0d 39 44 15 dd f2 62 6f  |-22.9:...9D...bo|
00008650  74 62 61 72 28 78 70 25  2c 79 70 25 29 0d 39 4e  |tbar(xp%,yp%).9N|
00008660  0a 78 70 25 2b 3d 38 0d  39 58 18 86 20 78 70 25  |.xp%+=8.9X.. xp%|
00008670  2c 79 70 25 2c 78 70 25  2c 79 70 25 2d 32 32 0d  |,yp%,xp%,yp%-22.|
00008680  39 62 1e 86 20 78 70 25  2c 79 70 25 2d 32 32 2c  |9b.. xp%,yp%-22,|
00008690  78 70 25 2b 33 36 2c 79  70 25 2d 32 32 0d 39 6c  |xp%+36,yp%-22.9l|
000086a0  05 e1 0d 39 76 12 dd f2  62 61 72 28 78 70 25 2c  |...9v...bar(xp%,|
000086b0  79 70 25 29 0d 39 80 0a  78 70 25 2b 3d 38 0d 39  |yp%).9..xp%+=8.9|
000086c0  8a 18 86 20 78 70 25 2c  79 70 25 2c 78 70 25 2c  |... xp%,yp%,xp%,|
000086d0  79 70 25 2d 34 34 0d 39  94 05 e1 0d 39 9e 16 dd  |yp%-44.9....9...|
000086e0  f2 74 69 74 6c 65 28 77  25 2c 74 69 74 6c 65 24  |.title(w%,title$|
000086f0  29 0d 39 a8 11 62 6c 6f  63 6b 25 21 30 20 3d 20  |).9..block%!0 = |
00008700  77 25 0d 39 b2 18 c8 99  20 26 30 30 30 34 30 30  |w%.9.... &000400|
00008710  43 43 2c 2c 62 6c 6f 63  6b 25 0d 39 bc 16 70 6f  |CC,,block%.9..po|
00008720  25 20 3d 20 21 28 62 6c  6f 63 6b 25 2b 37 36 29  |% = !(block%+76)|
00008730  0d 39 c6 14 24 70 6f 25  20 3d 20 74 69 74 6c 65  |.9..$po% = title|
00008740  24 2b bd 30 0d 39 d0 05  e1 0d 39 da 1b dd a4 73  |$+.0.9....9....s|
00008750  70 72 69 74 65 65 78 69  73 74 73 28 73 70 72 69  |priteexists(spri|
00008760  74 65 24 29 0d 39 e4 21  c8 99 26 30 30 30 36 30  |te$).9.!..&00060|
00008770  30 45 39 2c 32 34 2c 2c  73 70 72 69 74 65 24 20  |0E9,24,,sprite$ |
00008780  b8 20 52 30 25 0d 39 ee  1f e7 20 52 30 25 3e 36  |. R0%.9... R0%>6|
00008790  30 30 20 84 20 52 30 25  3c 30 20 8c 20 3d a3 20  |00 . R0%<0 . =. |
000087a0  8b 20 3d b9 0d 39 f8 11  dd f2 6d 61 6a 6f 72 72  |. =..9....majorr|
000087b0  65 64 72 61 77 0d 3a 02  0f c8 99 26 30 30 30 34  |edraw.:....&0004|
000087c0  30 36 43 30 0d 3a 0c 15  e3 20 6d 79 75 70 3d 30  |06C0.:... myup=0|
000087d0  20 b8 20 69 69 69 25 2d  31 0d 3a 16 31 e7 20 69  | . iii%-1.:.1. i|
000087e0  69 69 25 2d 31 3c 3e 30  20 8c 20 c8 99 26 30 30  |ii%-1<>0 . ..&00|
000087f0  30 34 30 36 43 34 2c 28  6d 79 75 70 2f 28 69 69  |0406C4,(myup/(ii|
00008800  69 25 2d 31 29 29 2a 31  30 30 0d 3a 20 14 f2 67  |i%-1))*100.: ..g|
00008810  65 74 76 61 72 73 28 6d  79 75 70 2c a3 29 0d 3a  |etvars(myup,.).:|
00008820  2a 1a 74 65 6d 70 24 3d  a4 67 4c 6e 28 24 66 69  |*.temp$=.gLn($fi|
00008830  6c 65 6e 61 6d 65 25 29  0d 3a 34 21 e7 20 74 79  |lename%).:4!. ty|
00008840  70 65 25 21 30 3e 26 46  46 46 20 84 20 74 79 70  |pe%!0>&FFF . typ|
00008850  65 25 21 30 3c 26 30 20  8c 0d 3a 3e 15 e7 20 c0  |e%!0<&0 ..:>.. .|
00008860  74 65 6d 70 24 2c 31 29  3d 22 21 22 20 8c 0d 3a  |temp$,1)="!" ..:|
00008870  48 14 76 61 6c 69 64 24  3d 22 53 22 2b 74 65 6d  |H.valid$="S"+tem|
00008880  70 24 0d 3a 52 05 cc 0d  3a 5c 17 76 61 6c 69 64  |p$.:R...:\.valid|
00008890  24 3d 22 53 64 69 72 65  63 74 6f 72 79 22 0d 3a  |$="Sdirectory".:|
000088a0  66 05 cd 0d 3a 70 05 cc  0d 3a 7a 21 76 61 6c 69  |f...:p...:z!vali|
000088b0  64 24 3d 22 53 66 69 6c  65 5f 22 2b a4 70 61 64  |d$="Sfile_"+.pad|
000088c0  28 74 79 70 65 25 21 30  29 0d 3a 84 05 cd 0d 3a  |(type%!0).:....:|
000088d0  8e 2d e7 20 ac 20 a4 73  70 72 69 74 65 65 78 69  |.-. . .spriteexi|
000088e0  73 74 73 28 c1 76 61 6c  69 64 24 2c 32 2c a9 28  |sts(.valid$,2,.(|
000088f0  76 61 6c 69 64 24 29 29  29 20 8c 0d 3a 98 18 20  |valid$))) ..:.. |
00008900  20 e7 20 c0 74 65 6d 70  24 2c 31 29 3c 3e 22 21  | . .temp$,1)<>"!|
00008910  22 20 8c 0d 3a a2 1a 20  20 20 20 76 61 6c 69 64  |" ..:..    valid|
00008920  24 3d 22 53 66 69 6c 65  5f 78 78 78 22 0d 3a ac  |$="Sfile_xxx".:.|
00008930  07 20 20 cc 0d 3a b6 1d  20 20 20 20 76 61 6c 69  |.  ..:..    vali|
00008940  64 24 3d 22 53 41 70 70  6c 69 63 61 74 69 6f 6e  |d$="SApplication|
00008950  22 0d 3a c0 07 20 20 cd  0d 3a ca 05 cd 0d 3a d4  |".:..  ..:....:.|
00008960  27 f2 73 65 74 69 63 6f  6e 73 70 72 69 74 65 28  |'.seticonsprite(|
00008970  6d 61 69 6e 25 2c 6d 79  75 70 2b 31 2c 76 61 6c  |main%,myup+1,val|
00008980  69 64 24 29 0d 3a de 09  ed 6d 79 75 70 0d 3a e8  |id$).:...myup.:.|
00008990  0f c8 99 26 30 30 30 34  30 36 43 32 0d 3a f2 05  |...&000406C2.:..|
000089a0  e1 0d 3a fc 24 dd f2 61  6c 65 72 74 28 74 69 74  |..:.$..alert(tit|
000089b0  6c 65 24 2c 6d 65 73 73  61 67 65 24 2c 62 75 74  |le$,message$,but|
000089c0  74 6f 6e 25 29 0d 3b 06  08 d9 20 23 30 0d 3b 10  |ton%).;... #0.;.|
000089d0  0f ea 20 72 65 73 70 6f  6e 73 65 25 0d 3b 1a 19  |.. response%.;..|
000089e0  24 28 62 6c 6f 63 6b 32  25 2b 34 29 3d 6d 65 73  |$(block2%+4)=mes|
000089f0  73 61 67 65 24 0d 3b 24  10 c8 8e 20 62 75 74 74  |sage$.;$... butt|
00008a00  6f 6e 25 20 ca 0d 3b 2e  18 c9 20 32 20 20 20 20  |on% ..;... 2    |
00008a10  3a 20 72 65 73 70 6f 6e  73 65 25 3d 31 0d 3b 38  |: response%=1.;8|
00008a20  19 c9 20 31 20 20 20 20  3a 20 72 65 73 70 6f 6e  |.. 1    : respon|
00008a30  73 65 25 3d 31 35 0d 3b  42 20 c9 20 33 20 20 20  |se%=15.;B . 3   |
00008a40  20 3a 20 72 65 73 70 6f  6e 73 65 25 3d 28 31 3c  | : response%=(1<|
00008a50  3c 35 29 2b 31 36 0d 3b  4c 20 c9 20 34 20 20 20  |<5)+16.;L . 4   |
00008a60  20 3a 20 72 65 73 70 6f  6e 73 65 25 3d 28 31 3c  | : response%=(1<|
00008a70  3c 36 29 2b 31 36 0d 3b  56 14 7f 20 3a 20 72 65  |<6)+16.;V.. : re|
00008a80  73 70 6f 6e 73 65 25 3d  31 36 0d 3b 60 05 cb 0d  |sponse%=16.;`...|
00008a90  3b 6a 36 c8 99 20 26 30  30 30 34 30 30 44 46 2c  |;j6.. &000400DF,|
00008aa0  62 6c 6f 63 6b 32 25 2c  72 65 73 70 6f 6e 73 65  |block2%,response|
00008ab0  25 2c 74 69 74 6c 65 24  20 b8 20 2c 72 65 73 70  |%,title$ . ,resp|
00008ac0  6f 6e 73 65 25 0d 3b 74  05 e1 0d 3b 7e 1b dd f2  |onse%.;t...;~...|
00008ad0  65 78 70 6f 72 74 28 61  66 69 6c 65 24 2c 6d 73  |export(afile$,ms|
00008ae0  67 66 6c 67 29 0d 3b 88  10 c8 99 20 26 30 30 30  |gflg).;.... &000|
00008af0  34 30 36 43 30 0d 3b 92  1d c8 99 20 26 30 38 2c  |406C0.;.... &08,|
00008b00  31 31 2c 61 66 69 6c 65  24 2c 26 66 66 66 2c 30  |11,afile$,&fff,0|
00008b10  2c 30 0d 3b 9c 12 6d 6d  79 25 3d ae 28 61 66 69  |,0.;..mmy%=.(afi|
00008b20  6c 65 24 29 0d 3b a6 1e  e7 20 66 68 65 61 64 69  |le$).;... fheadi|
00008b30  6e 67 73 20 80 20 66 73  6f 75 72 63 65 64 69 72  |ngs . fsourcedir|
00008b40  20 8c 0d 3b b0 27 6c 6c  6c 24 3d 22 54 72 65 65  | ..;.'lll$="Tree|
00008b50  20 64 69 73 70 6c 61 79  20 6f 66 20 27 22 2b 70  | display of '"+p|
00008b60  6f 6f 75 70 24 2b 22 27  22 0d 3b ba 19 e3 20 73  |ooup$+"'".;... s|
00008b70  74 72 70 74 72 25 3d 31  20 b8 20 a9 28 6c 6c 6c  |trptr%=1 . .(lll|
00008b80  24 29 0d 3b c4 25 d5 20  23 6d 6d 79 25 2c 97 28  |$).;.%. #mmy%,.(|
00008b90  c1 6c 6c 6c 24 2c 73 74  72 70 74 72 25 2c 73 74  |.lll$,strptr%,st|
00008ba0  72 70 74 72 25 29 29 0d  3b ce 0d ed 20 73 74 72  |rptr%)).;... str|
00008bb0  70 74 72 25 0d 3b d8 0e  d5 20 23 6d 6d 79 25 2c  |ptr%.;... #mmy%,|
00008bc0  31 30 0d 3b e2 05 cd 0d  3b ec 19 e7 20 66 68 65  |10.;....;... fhe|
00008bd0  61 64 69 6e 67 73 20 80  20 66 64 61 74 65 20 8c  |adings . fdate .|
00008be0  0d 3b f6 1a 6c 6c 6c 24  3d 22 45 78 70 6f 72 74  |.;..lll$="Export|
00008bf0  65 64 20 6f 6e 20 22 2b  91 24 0d 3c 00 19 e3 20  |ed on "+.$.<... |
00008c00  73 74 72 70 74 72 25 3d  31 20 b8 20 a9 28 6c 6c  |strptr%=1 . .(ll|
00008c10  6c 24 29 0d 3c 0a 25 d5  20 23 6d 6d 79 25 2c 97  |l$).<.%. #mmy%,.|
00008c20  28 c1 6c 6c 6c 24 2c 73  74 72 70 74 72 25 2c 73  |(.lll$,strptr%,s|
00008c30  74 72 70 74 72 25 29 29  0d 3c 14 0d ed 20 73 74  |trptr%)).<... st|
00008c40  72 70 74 72 25 0d 3c 1e  0e d5 20 23 6d 6d 79 25  |rptr%.<... #mmy%|
00008c50  2c 31 30 0d 3c 28 05 cd  0d 3c 32 1c e7 20 66 68  |,10.<(...<2.. fh|
00008c60  65 61 64 69 6e 67 73 20  8c 20 d5 20 23 6d 6d 79  |eadings . . #mmy|
00008c70  25 2c 31 30 0d 3c 3c 16  e3 20 70 75 6b 65 25 3d  |%,10.<<.. puke%=|
00008c80  30 20 b8 20 69 69 69 25  2d 31 0d 3c 46 15 f2 67  |0 . iii%-1.<F..g|
00008c90  65 74 76 61 72 73 28 70  75 6b 65 25 2c a3 29 0d  |etvars(puke%,.).|
00008ca0  3c 50 32 e7 20 69 69 69  25 2d 31 3c 3e 30 20 8c  |<P2. iii%-1<>0 .|
00008cb0  20 c8 99 26 30 30 30 34  30 36 43 34 2c 28 70 75  | ..&000406C4,(pu|
00008cc0  6b 65 25 2f 28 69 69 69  25 2d 31 29 29 2a 31 30  |ke%/(iii%-1))*10|
00008cd0  30 0d 3c 5a 10 6c 69 6e  65 24 3d 22 20 20 20 20  |0.<Z.line$="    |
00008ce0  22 0d 3c 64 26 e3 20 73  75 62 63 6f 75 6e 74 25  |".<d&. subcount%|
00008cf0  3d 30 20 b8 20 28 6e 75  6d 62 65 72 69 63 6f 6e  |=0 . (numbericon|
00008d00  73 25 21 30 29 2d 31 0d  3c 6e 40 e7 20 3f 28 74  |s%!0)-1.<n@. ?(t|
00008d10  72 65 65 64 65 66 25 2b  73 75 62 63 6f 75 6e 74  |reedef%+subcount|
00008d20  25 29 3d 61 73 63 74 25  20 80 20 28 73 75 62 63  |%)=asct% . (subc|
00008d30  6f 75 6e 74 25 29 3c 6e  75 6d 62 65 72 69 63 6f  |ount%)<numberico|
00008d40  6e 73 25 21 30 20 8c 0d  3c 78 1a 6c 69 6e 65 24  |ns%!0 ..<x.line$|
00008d50  2b 3d 66 6c 69 6e 65 6a  75 6e 63 24 2b 22 20 20  |+=flinejunc$+"  |
00008d60  22 0d 3c 82 05 cd 0d 3c  8c 43 e7 20 3f 28 74 72  |".<....<.C. ?(tr|
00008d70  65 65 64 65 66 25 2b 73  75 62 63 6f 75 6e 74 25  |eedef%+subcount%|
00008d80  29 3c 3e 61 73 63 74 25  20 80 20 3f 28 74 72 65  |)<>asct% . ?(tre|
00008d90  65 64 65 66 25 2b 73 75  62 63 6f 75 6e 74 25 29  |edef%+subcount%)|
00008da0  3c 3e 61 73 63 6c 25 20  8c 0d 3c 96 10 6c 69 6e  |<>ascl% ..<..lin|
00008db0  65 24 2b 3d 22 20 20 20  22 0d 3c a0 05 cd 0d 3c  |e$+="   ".<....<|
00008dc0  aa 0f ed 20 73 75 62 63  6f 75 6e 74 25 0d 3c b4  |... subcount%.<.|
00008dd0  1a 66 66 66 66 24 3d a4  67 4c 6e 28 24 66 69 6c  |.ffff$=.gLn($fil|
00008de0  65 6e 61 6d 65 25 29 0d  3c be 28 e7 20 3f 28 74  |ename%).<.(. ?(t|
00008df0  72 65 65 64 65 66 25 2b  6e 75 6d 62 65 72 69 63  |reedef%+numberic|
00008e00  6f 6e 73 25 21 30 29 3d  61 73 63 6c 25 20 8c 0d  |ons%!0)=ascl% ..|
00008e10  3c c8 1a 6c 69 6e 65 24  2b 3d 66 65 6e 64 6a 75  |<..line$+=fendju|
00008e20  6e 63 24 2b 66 66 66 66  24 0d 3c d2 05 cd 0d 3c  |nc$+ffff$.<....<|
00008e30  dc 28 e7 20 3f 28 74 72  65 65 64 65 66 25 2b 6e  |.(. ?(treedef%+n|
00008e40  75 6d 62 65 72 69 63 6f  6e 73 25 21 30 29 3d 61  |umbericons%!0)=a|
00008e50  73 63 74 25 20 8c 0d 3c  e6 18 6c 69 6e 65 24 2b  |sct% ..<..line$+|
00008e60  3d 66 74 6a 75 6e 63 24  2b 66 66 66 66 24 0d 3c  |=ftjunc$+ffff$.<|
00008e70  f0 05 cd 0d 3c fa 1a e3  20 73 74 72 70 74 72 25  |....<... strptr%|
00008e80  3d 31 20 b8 20 a9 28 6c  69 6e 65 24 29 0d 3d 04  |=1 . .(line$).=.|
00008e90  26 d5 20 23 6d 6d 79 25  2c 97 28 c1 6c 69 6e 65  |&. #mmy%,.(.line|
00008ea0  24 2c 73 74 72 70 74 72  25 2c 73 74 72 70 74 72  |$,strptr%,strptr|
00008eb0  25 29 29 0d 3d 0e 0d ed  20 73 74 72 70 74 72 25  |%)).=... strptr%|
00008ec0  0d 3d 18 0e d5 20 23 6d  6d 79 25 2c 31 30 0d 3d  |.=... #mmy%,10.=|
00008ed0  22 0b ed 20 70 75 6b 65  25 0d 3d 2c 16 66 69 6c  |".. puke%.=,.fil|
00008ee0  65 6c 65 6e 67 74 68 25  3d a2 23 6d 6d 79 25 0d  |elength%=.#mmy%.|
00008ef0  3d 36 0b d9 20 23 6d 6d  79 25 0d 3d 40 0f c8 99  |=6.. #mmy%.=@...|
00008f00  26 30 30 30 34 30 36 43  32 0d 3d 4a 0e e7 20 6d  |&000406C2.=J.. m|
00008f10  73 67 66 6c 67 20 8c 0d  3d 54 10 62 6c 6f 63 6b  |sgflg ..=T.block|
00008f20  25 21 30 3d 32 35 36 0d  3d 5e 0f 62 6c 6f 63 6b  |%!0=256.=^.block|
00008f30  25 21 31 32 3d 30 0d 3d  68 0f 62 6c 6f 63 6b 25  |%!12=0.=h.block%|
00008f40  21 31 36 3d 33 0d 3d 72  13 62 6c 6f 63 6b 25 21  |!16=3.=r.block%!|
00008f50  32 30 3d 77 69 6e 64 25  0d 3d 7c 13 62 6c 6f 63  |20=wind%.=|.bloc|
00008f60  6b 25 21 32 34 3d 69 63  6f 6e 25 0d 3d 86 10 62  |k%!24=icon%.=..b|
00008f70  6c 6f 63 6b 25 21 32 38  3d 78 25 0d 3d 90 10 62  |lock%!28=x%.=..b|
00008f80  6c 6f 63 6b 25 21 33 32  3d 79 25 0d 3d 9a 19 62  |lock%!32=y%.=..b|
00008f90  6c 6f 63 6b 25 21 33 36  3d 66 69 6c 65 6c 65 6e  |lock%!36=filelen|
00008fa0  67 74 68 25 0d 3d a4 12  62 6c 6f 63 6b 25 21 34  |gth%.=..block%!4|
00008fb0  30 3d 26 46 46 46 0d 3d  ae 1a 24 28 62 6c 6f 63  |0=&FFF.=..$(bloc|
00008fc0  6b 25 2b 34 34 29 3d 61  66 69 6c 65 24 2b bd 30  |k%+44)=afile$+.0|
00008fd0  0d 3d b8 25 c8 99 26 30  30 30 34 30 30 45 37 2c  |.=.%..&000400E7,|
00008fe0  31 37 2c 62 6c 6f 63 6b  25 2c 77 69 6e 64 25 2c  |17,block%,wind%,|
00008ff0  69 63 6f 6e 25 0d 3d c2  05 cd 0d 3d cc 05 e1 0d  |icon%.=....=....|
00009000  3d d6 17 dd f2 63 6c 69  63 6b 6f 70 74 69 6f 6e  |=....clickoption|
00009010  73 28 69 63 25 29 0d 3d  e0 07 ea 20 85 0d 3d ea  |s(ic%).=... ..=.|
00009020  2a ee 20 85 20 ea 20 f2  61 6c 65 72 74 28 22 45  |*. . . .alert("E|
00009030  72 72 6f 72 20 66 72 6f  6d 20 54 72 65 65 22 2c  |rror from Tree",|
00009040  f6 24 2c 30 29 3a e1 0d  3d f4 0c c8 8e 20 69 63  |.$,0):..=.... ic|
00009050  25 20 ca 0d 3d fe 07 c9  20 32 0d 3e 08 15 68 65  |% ..=... 2.>..he|
00009060  61 64 63 6f 75 6e 74 3d  6f 6c 64 68 65 61 64 0d  |adcount=oldhead.|
00009070  3e 12 1a f2 63 6c 6f 73  65 77 69 6e 64 6f 77 28  |>...closewindow(|
00009080  6f 70 74 69 6f 6e 73 25  29 0d 3e 1c 07 c9 20 30  |options%).>... 0|
00009090  0d 3e 26 0f 74 74 31 3d  66 69 6e 63 6f 6c 73 0d  |.>&.tt1=fincols.|
000090a0  3e 30 0c 74 74 32 3d 63  6f 6c 73 0d 3e 3a 20 66  |>0.tt2=cols.>: f|
000090b0  72 6f 77 73 3d bb 28 a4  69 63 6f 6e 74 65 78 74  |rows=.(.icontext|
000090c0  28 70 61 6e 65 25 2c 32  32 29 29 0d 3e 44 17 e7  |(pane%,22)).>D..|
000090d0  20 66 72 6f 77 73 3c 31  20 8c 20 66 72 6f 77 73  | frows<1 . frows|
000090e0  3d 31 0d 3e 4e 10 66 69  6e 63 6f 6c 73 3d 63 6f  |=1.>N.fincols=co|
000090f0  6c 73 0d 3e 58 16 66 68  65 61 64 69 6e 67 73 3d  |ls.>X.fheadings=|
00009100  68 65 61 64 69 6e 67 73  0d 3e 62 18 66 73 6f 75  |headings.>b.fsou|
00009110  72 63 65 64 69 72 3d 73  6f 75 72 63 65 64 69 72  |rcedir=sourcedir|
00009120  0d 3e 6c 29 6c 69 6e 65  6a 75 6e 63 24 3d a4 50  |.>l)linejunc$=.P|
00009130  70 61 64 28 a4 69 63 6f  6e 74 65 78 74 28 70 61  |pad(.icontext(pa|
00009140  6e 65 25 2c 38 29 2c 31  29 0d 3e 76 26 74 6a 75  |ne%,8),1).>v&tju|
00009150  6e 63 24 3d a4 50 70 61  64 28 a4 69 63 6f 6e 74  |nc$=.Ppad(.icont|
00009160  65 78 74 28 70 61 6e 65  25 2c 39 29 2c 32 29 0d  |ext(pane%,9),2).|
00009170  3e 80 29 65 6e 64 6a 75  6e 63 24 3d a4 50 70 61  |>.)endjunc$=.Ppa|
00009180  64 28 a4 69 63 6f 6e 74  65 78 74 28 70 61 6e 65  |d(.icontext(pane|
00009190  25 2c 31 30 29 2c 32 29  0d 3e 8a 18 66 6c 69 6e  |%,10),2).>..flin|
000091a0  65 6a 75 6e 63 24 3d 6c  69 6e 65 6a 75 6e 63 24  |ejunc$=linejunc$|
000091b0  0d 3e 94 16 66 65 6e 64  6a 75 6e 63 24 3d 65 6e  |.>..fendjunc$=en|
000091c0  64 6a 75 6e 63 24 0d 3e  9e 12 66 74 6a 75 6e 63  |djunc$.>..ftjunc|
000091d0  24 3d 74 6a 75 6e 63 24  0d 3e a8 0e 66 64 61 74  |$=tjunc$.>..fdat|
000091e0  65 3d 64 61 74 65 0d 3e  b2 0e 66 62 6f 78 72 3d  |e=date.>..fboxr=|
000091f0  62 6f 78 72 0d 3e bc 0e  66 62 6f 78 67 3d 62 6f  |boxr.>..fboxg=bo|
00009200  78 67 0d 3e c6 0e 66 62  6f 78 62 3d 62 6f 78 62  |xg.>..fboxb=boxb|
00009210  0d 3e d0 13 e7 20 64 69  72 73 3c 3e 66 64 69 72  |.>... dirs<>fdir|
00009220  73 20 8c 0d 3e da 0e 66  64 69 72 73 3d 64 69 72  |s ..>..fdirs=dir|
00009230  73 0d 3e e4 0c f2 64 69  72 73 28 b9 29 0d 3e ee  |s.>...dirs(.).>.|
00009240  05 cd 0d 3e f8 14 66 6c  69 6e 65 6f 62 6a 3d 6c  |...>..flineobj=l|
00009250  69 6e 65 6f 62 6a 0d 3f  02 29 e7 20 62 75 74 74  |ineobj.?.). butt|
00009260  6f 6e 25 3c 3e 31 20 8c  20 f2 63 6c 6f 73 65 77  |on%<>1 . .closew|
00009270  69 6e 64 6f 77 28 6f 70  74 69 6f 6e 73 25 29 0d  |indow(options%).|
00009280  3f 0c 25 e7 20 74 74 31  3c 3e 74 74 32 20 8c 20  |?.%. tt1<>tt2 . |
00009290  f2 72 65 64 72 61 77 77  69 6e 64 6f 77 28 6d 61  |.redrawwindow(ma|
000092a0  69 6e 25 29 0d 3f 16 07  c9 20 31 0d 3f 20 0f c8  |in%).?... 1.? ..|
000092b0  99 26 30 30 30 34 30 36  43 30 0d 3f 2a 20 66 72  |.&000406C0.?* fr|
000092c0  6f 77 73 3d bb 28 a4 69  63 6f 6e 74 65 78 74 28  |ows=.(.icontext(|
000092d0  70 61 6e 65 25 2c 32 32  29 29 0d 3f 34 17 e7 20  |pane%,22)).?4.. |
000092e0  66 72 6f 77 73 3c 31 20  8c 20 66 72 6f 77 73 3d  |frows<1 . frows=|
000092f0  31 0d 3f 3e 0f 74 74 31  3d 66 69 6e 63 6f 6c 73  |1.?>.tt1=fincols|
00009300  0d 3f 48 0c 74 74 32 3d  63 6f 6c 73 0d 3f 52 10  |.?H.tt2=cols.?R.|
00009310  66 69 6e 63 6f 6c 73 3d  63 6f 6c 73 0d 3f 5c 1c  |fincols=cols.?\.|
00009320  66 69 63 6f 6e 73 70 72  69 74 65 73 3d 69 63 6f  |ficonsprites=ico|
00009330  6e 73 70 72 69 74 65 73  0d 3f 66 16 66 68 65 61  |nsprites.?f.fhea|
00009340  64 69 6e 67 73 3d 68 65  61 64 69 6e 67 73 0d 3f  |dings=headings.?|
00009350  70 18 66 73 6f 75 72 63  65 64 69 72 3d 73 6f 75  |p.fsourcedir=sou|
00009360  72 63 65 64 69 72 0d 3f  7a 29 6c 69 6e 65 6a 75  |rcedir.?z)lineju|
00009370  6e 63 24 3d a4 50 70 61  64 28 a4 69 63 6f 6e 74  |nc$=.Ppad(.icont|
00009380  65 78 74 28 70 61 6e 65  25 2c 38 29 2c 31 29 0d  |ext(pane%,8),1).|
00009390  3f 84 26 74 6a 75 6e 63  24 3d a4 50 70 61 64 28  |?.&tjunc$=.Ppad(|
000093a0  a4 69 63 6f 6e 74 65 78  74 28 70 61 6e 65 25 2c  |.icontext(pane%,|
000093b0  39 29 2c 32 29 0d 3f 8e  29 65 6e 64 6a 75 6e 63  |9),2).?.)endjunc|
000093c0  24 3d a4 50 70 61 64 28  a4 69 63 6f 6e 74 65 78  |$=.Ppad(.icontex|
000093d0  74 28 70 61 6e 65 25 2c  31 30 29 2c 32 29 0d 3f  |t(pane%,10),2).?|
000093e0  98 18 66 6c 69 6e 65 6a  75 6e 63 24 3d 6c 69 6e  |..flinejunc$=lin|
000093f0  65 6a 75 6e 63 24 0d 3f  a2 16 66 65 6e 64 6a 75  |ejunc$.?..fendju|
00009400  6e 63 24 3d 65 6e 64 6a  75 6e 63 24 0d 3f ac 12  |nc$=endjunc$.?..|
00009410  66 74 6a 75 6e 63 24 3d  74 6a 75 6e 63 24 0d 3f  |ftjunc$=tjunc$.?|
00009420  b6 0e 66 64 61 74 65 3d  64 61 74 65 0d 3f c0 0e  |..fdate=date.?..|
00009430  66 62 6f 78 72 3d 62 6f  78 72 0d 3f ca 0e 66 62  |fboxr=boxr.?..fb|
00009440  6f 78 67 3d 62 6f 78 67  0d 3f d4 0e 66 62 6f 78  |oxg=boxg.?..fbox|
00009450  62 3d 62 6f 78 62 0d 3f  de 14 66 6c 69 6e 65 6f  |b=boxb.?..flineo|
00009460  62 6a 3d 6c 69 6e 65 6f  62 6a 0d 3f e8 13 e7 20  |bj=lineobj.?... |
00009470  64 69 72 73 3c 3e 66 64  69 72 73 20 8c 0d 3f f2  |dirs<>fdirs ..?.|
00009480  0e 66 64 69 72 73 3d 64  69 72 73 0d 3f fc 0c f2  |.fdirs=dirs.?...|
00009490  64 69 72 73 28 b9 29 0d  40 06 05 cd 0d 40 10 29  |dirs(.).@....@.)|
000094a0  e7 20 62 75 74 74 6f 6e  25 3c 3e 31 20 8c 20 f2  |. button%<>1 . .|
000094b0  63 6c 6f 73 65 77 69 6e  64 6f 77 28 6f 70 74 69  |closewindow(opti|
000094c0  6f 6e 73 25 29 0d 40 1a  25 e7 20 74 74 31 3c 3e  |ons%).@.%. tt1<>|
000094d0  74 74 32 20 8c 20 f2 72  65 64 72 61 77 77 69 6e  |tt2 . .redrawwin|
000094e0  64 6f 77 28 6d 61 69 6e  25 29 0d 40 24 23 6f 75  |dow(main%).@$#ou|
000094f0  66 69 6c 65 25 3d ae 28  22 3c 54 72 65 65 24 44  |file%=.("<Tree$D|
00009500  69 72 3e 2e 4f 70 74 69  6f 6e 73 22 29 0d 40 2e  |ir>.Options").@.|
00009510  18 f1 20 23 6f 75 66 69  6c 65 25 2c 68 65 61 64  |.. #oufile%,head|
00009520  63 6f 75 6e 74 0d 40 38  18 f1 20 23 6f 75 66 69  |count.@8.. #oufi|
00009530  6c 65 25 2c 66 68 65 61  64 69 6e 67 73 0d 40 42  |le%,fheadings.@B|
00009540  19 f1 20 23 6f 75 66 69  6c 65 25 2c 66 73 6f 75  |.. #oufile%,fsou|
00009550  72 63 65 64 69 72 0d 40  4c 14 f1 20 23 6f 75 66  |rcedir.@L.. #ouf|
00009560  69 6c 65 25 2c 66 64 61  74 65 0d 40 56 19 f1 20  |ile%,fdate.@V.. |
00009570  23 6f 75 66 69 6c 65 25  2c 66 6c 69 6e 65 6a 75  |#oufile%,flineju|
00009580  6e 63 24 0d 40 60 16 f1  20 23 6f 75 66 69 6c 65  |nc$.@`.. #oufile|
00009590  25 2c 66 74 6a 75 6e 63  24 0d 40 6a 18 f1 20 23  |%,ftjunc$.@j.. #|
000095a0  6f 75 66 69 6c 65 25 2c  66 65 6e 64 6a 75 6e 63  |oufile%,fendjunc|
000095b0  24 0d 40 74 16 f1 20 23  6f 75 66 69 6c 65 25 2c  |$.@t.. #oufile%,|
000095c0  66 69 6e 63 6f 6c 73 0d  40 7e 1b f1 20 23 6f 75  |fincols.@~.. #ou|
000095d0  66 69 6c 65 25 2c 66 69  63 6f 6e 73 70 72 69 74  |file%,ficonsprit|
000095e0  65 73 0d 40 88 14 f1 20  23 6f 75 66 69 6c 65 25  |es.@... #oufile%|
000095f0  2c 66 72 6f 77 73 0d 40  92 14 f1 20 23 6f 75 66  |,frows.@... #ouf|
00009600  69 6c 65 25 2c 66 62 6f  78 72 0d 40 9c 14 f1 20  |ile%,fboxr.@... |
00009610  23 6f 75 66 69 6c 65 25  2c 66 62 6f 78 67 0d 40  |#oufile%,fboxg.@|
00009620  a6 14 f1 20 23 6f 75 66  69 6c 65 25 2c 66 62 6f  |... #oufile%,fbo|
00009630  78 62 0d 40 b0 17 f1 20  23 6f 75 66 69 6c 65 25  |xb.@... #oufile%|
00009640  2c 66 6c 69 6e 65 6f 62  6a 0d 40 ba 14 f1 20 23  |,flineobj.@... #|
00009650  6f 75 66 69 6c 65 25 2c  66 64 69 72 73 0d 40 c4  |oufile%,fdirs.@.|
00009660  0e d9 20 23 6f 75 66 69  6c 65 25 0d 40 ce 0f c8  |.. #oufile%.@...|
00009670  99 26 30 30 30 34 30 36  43 32 0d 40 d8 04 0d 40  |.&000406C2.@...@|
00009680  e2 07 c9 20 33 0d 40 ec  10 f2 64 65 66 61 75 6c  |... 3.@...defaul|
00009690  74 73 28 b9 29 0d 40 f6  05 cb 0d 41 00 05 e1 0d  |ts(.).@....A....|
000096a0  41 0a 14 dd f2 63 6c 69  63 6b 70 61 6e 65 28 69  |A....clickpane(i|
000096b0  63 25 29 0d 41 14 0c c8  8e 20 69 63 25 20 ca 0d  |c%).A.... ic% ..|
000096c0  41 1e 08 c9 20 33 38 0d  41 28 0b 62 6f 78 72 2d  |A... 38.A(.boxr-|
000096d0  3d 31 0d 41 32 1b e7 20  62 6f 78 72 3e 3d 30 20  |=1.A2.. boxr>=0 |
000096e0  80 20 62 6f 78 72 3c 3d  32 35 35 20 8c 0d 41 3c  |. boxr<=255 ..A<|
000096f0  21 f2 73 65 74 62 61 72  28 70 61 6e 65 25 2c 32  |!.setbar(pane%,2|
00009700  38 2c 32 37 2c 32 35 35  2c 62 6f 78 72 29 0d 41  |8,27,255,boxr).A|
00009710  46 22 f2 69 63 6f 6e 70  75 74 74 65 78 74 28 70  |F".iconputtext(p|
00009720  61 6e 65 25 2c 33 35 2c  c3 28 62 6f 78 72 29 29  |ane%,35,.(boxr))|
00009730  0d 41 50 22 f2 64 6f 63  6f 6c 6f 75 72 62 6f 78  |.AP".docolourbox|
00009740  28 62 6f 78 72 2c 62 6f  78 67 2c 62 6f 78 62 2c  |(boxr,boxg,boxb,|
00009750  b9 29 0d 41 5a 05 cd 0d  41 64 15 e7 20 62 6f 78  |.).AZ...Ad.. box|
00009760  72 3c 30 20 8c 20 62 6f  78 72 3d 30 0d 41 6e 08  |r<0 . boxr=0.An.|
00009770  c9 20 34 31 0d 41 78 0b  62 6f 78 72 2b 3d 31 0d  |. 41.Ax.boxr+=1.|
00009780  41 82 1b e7 20 62 6f 78  72 3e 3d 30 20 80 20 62  |A... boxr>=0 . b|
00009790  6f 78 72 3c 3d 32 35 35  20 8c 0d 41 8c 21 f2 73  |oxr<=255 ..A.!.s|
000097a0  65 74 62 61 72 28 70 61  6e 65 25 2c 32 38 2c 32  |etbar(pane%,28,2|
000097b0  37 2c 32 35 35 2c 62 6f  78 72 29 0d 41 96 22 f2  |7,255,boxr).A.".|
000097c0  69 63 6f 6e 70 75 74 74  65 78 74 28 70 61 6e 65  |iconputtext(pane|
000097d0  25 2c 33 35 2c c3 28 62  6f 78 72 29 29 0d 41 a0  |%,35,.(boxr)).A.|
000097e0  22 f2 64 6f 63 6f 6c 6f  75 72 62 6f 78 28 62 6f  |".docolourbox(bo|
000097f0  78 72 2c 62 6f 78 67 2c  62 6f 78 62 2c b9 29 0d  |xr,boxg,boxb,.).|
00009800  41 aa 05 cd 0d 41 b4 19  e7 20 62 6f 78 72 3e 32  |A....A... boxr>2|
00009810  35 35 20 8c 20 62 6f 78  72 3d 32 35 35 0d 41 be  |55 . boxr=255.A.|
00009820  05 3a 0d 41 c8 08 c9 20  33 39 0d 41 d2 0b 62 6f  |.:.A... 39.A..bo|
00009830  78 67 2d 3d 31 0d 41 dc  1b e7 20 62 6f 78 67 3e  |xg-=1.A... boxg>|
00009840  3d 30 20 80 20 62 6f 78  67 3c 3d 32 35 35 20 8c  |=0 . boxg<=255 .|
00009850  0d 41 e6 21 f2 73 65 74  62 61 72 28 70 61 6e 65  |.A.!.setbar(pane|
00009860  25 2c 33 31 2c 33 30 2c  32 35 35 2c 62 6f 78 67  |%,31,30,255,boxg|
00009870  29 0d 41 f0 22 f2 69 63  6f 6e 70 75 74 74 65 78  |).A.".iconputtex|
00009880  74 28 70 61 6e 65 25 2c  33 36 2c c3 28 62 6f 78  |t(pane%,36,.(box|
00009890  67 29 29 0d 41 fa 22 f2  64 6f 63 6f 6c 6f 75 72  |g)).A.".docolour|
000098a0  62 6f 78 28 62 6f 78 72  2c 62 6f 78 67 2c 62 6f  |box(boxr,boxg,bo|
000098b0  78 62 2c b9 29 0d 42 04  05 cd 0d 42 0e 15 e7 20  |xb,.).B....B... |
000098c0  62 6f 78 67 3c 30 20 8c  20 62 6f 78 67 3d 30 0d  |boxg<0 . boxg=0.|
000098d0  42 18 08 c9 20 34 32 0d  42 22 0b 62 6f 78 67 2b  |B... 42.B".boxg+|
000098e0  3d 31 0d 42 2c 1b e7 20  62 6f 78 67 3e 3d 30 20  |=1.B,.. boxg>=0 |
000098f0  80 20 62 6f 78 67 3c 3d  32 35 35 20 8c 0d 42 36  |. boxg<=255 ..B6|
00009900  21 f2 73 65 74 62 61 72  28 70 61 6e 65 25 2c 33  |!.setbar(pane%,3|
00009910  31 2c 33 30 2c 32 35 35  2c 62 6f 78 67 29 0d 42  |1,30,255,boxg).B|
00009920  40 22 f2 69 63 6f 6e 70  75 74 74 65 78 74 28 70  |@".iconputtext(p|
00009930  61 6e 65 25 2c 33 36 2c  c3 28 62 6f 78 67 29 29  |ane%,36,.(boxg))|
00009940  0d 42 4a 22 f2 64 6f 63  6f 6c 6f 75 72 62 6f 78  |.BJ".docolourbox|
00009950  28 62 6f 78 72 2c 62 6f  78 67 2c 62 6f 78 62 2c  |(boxr,boxg,boxb,|
00009960  b9 29 0d 42 54 05 cd 0d  42 5e 19 e7 20 62 6f 78  |.).BT...B^.. box|
00009970  67 3e 32 35 35 20 8c 20  62 6f 78 67 3d 32 35 35  |g>255 . boxg=255|
00009980  0d 42 68 05 3a 0d 42 72  08 c9 20 34 30 0d 42 7c  |.Bh.:.Br.. 40.B||
00009990  0b 62 6f 78 62 2d 3d 31  0d 42 86 1b e7 20 62 6f  |.boxb-=1.B... bo|
000099a0  78 62 3e 3d 30 20 80 20  62 6f 78 62 3c 3d 32 35  |xb>=0 . boxb<=25|
000099b0  35 20 8c 0d 42 90 21 f2  73 65 74 62 61 72 28 70  |5 ..B.!.setbar(p|
000099c0  61 6e 65 25 2c 33 34 2c  33 33 2c 32 35 35 2c 62  |ane%,34,33,255,b|
000099d0  6f 78 62 29 0d 42 9a 22  f2 69 63 6f 6e 70 75 74  |oxb).B.".iconput|
000099e0  74 65 78 74 28 70 61 6e  65 25 2c 33 37 2c c3 28  |text(pane%,37,.(|
000099f0  62 6f 78 62 29 29 0d 42  a4 22 f2 64 6f 63 6f 6c  |boxb)).B.".docol|
00009a00  6f 75 72 62 6f 78 28 62  6f 78 72 2c 62 6f 78 67  |ourbox(boxr,boxg|
00009a10  2c 62 6f 78 62 2c b9 29  0d 42 ae 05 cd 0d 42 b8  |,boxb,.).B....B.|
00009a20  15 e7 20 62 6f 78 62 3c  30 20 8c 20 62 6f 78 62  |.. boxb<0 . boxb|
00009a30  3d 30 0d 42 c2 08 c9 20  34 33 0d 42 cc 0b 62 6f  |=0.B... 43.B..bo|
00009a40  78 62 2b 3d 31 0d 42 d6  1b e7 20 62 6f 78 62 3e  |xb+=1.B... boxb>|
00009a50  3d 30 20 80 20 62 6f 78  62 3c 3d 32 35 35 20 8c  |=0 . boxb<=255 .|
00009a60  0d 42 e0 21 f2 73 65 74  62 61 72 28 70 61 6e 65  |.B.!.setbar(pane|
00009a70  25 2c 33 34 2c 33 33 2c  32 35 35 2c 62 6f 78 62  |%,34,33,255,boxb|
00009a80  29 0d 42 ea 22 f2 69 63  6f 6e 70 75 74 74 65 78  |).B.".iconputtex|
00009a90  74 28 70 61 6e 65 25 2c  33 37 2c c3 28 62 6f 78  |t(pane%,37,.(box|
00009aa0  62 29 29 0d 42 f4 22 f2  64 6f 63 6f 6c 6f 75 72  |b)).B.".docolour|
00009ab0  62 6f 78 28 62 6f 78 72  2c 62 6f 78 67 2c 62 6f  |box(boxr,boxg,bo|
00009ac0  78 62 2c b9 29 0d 42 fe  05 cd 0d 43 08 19 e7 20  |xb,.).B....C... |
00009ad0  62 6f 78 62 3e 32 35 35  20 8c 20 62 6f 78 62 3d  |boxb>255 . boxb=|
00009ae0  32 35 35 0d 43 12 08 c9  20 34 34 0d 43 1c 15 6c  |255.C... 44.C..l|
00009af0  69 6e 65 6f 62 6a 3d ac  20 6c 69 6e 65 6f 62 6a  |ineobj=. lineobj|
00009b00  0d 43 26 0f e7 20 6c 69  6e 65 6f 62 6a 20 8c 0d  |.C&.. lineobj ..|
00009b10  43 30 16 f2 73 65 6c 69  63 6f 6e 28 70 61 6e 65  |C0..selicon(pane|
00009b20  25 2c 34 34 29 0d 43 3a  05 cc 0d 43 44 17 f2 75  |%,44).C:...CD..u|
00009b30  73 65 6c 69 63 6f 6e 28  70 61 6e 65 25 2c 34 34  |selicon(pane%,44|
00009b40  29 0d 43 4e 05 cd 0d 43  58 07 c9 20 32 0d 43 62  |).CN...CX.. 2.Cb|
00009b50  17 68 65 61 64 69 6e 67  73 3d ac 20 68 65 61 64  |.headings=. head|
00009b60  69 6e 67 73 0d 43 6c 0d  f2 68 65 61 64 69 6e 67  |ings.Cl..heading|
00009b70  73 0d 43 76 11 c9 20 34  36 2c 34 37 2c 34 38 2c  |s.Cv.. 46,47,48,|
00009b80  34 39 0d 43 80 0f 64 69  72 73 3d ac 20 64 69 72  |49.C..dirs=. dir|
00009b90  73 0d 43 8a 0c e7 20 64  69 72 73 20 8c 0d 43 94  |s.C... dirs ..C.|
00009ba0  16 f2 73 65 6c 69 63 6f  6e 28 70 61 6e 65 25 2c  |..selicon(pane%,|
00009bb0  34 36 29 0d 43 9e 05 cc  0d 43 a8 17 f2 75 73 65  |46).C....C...use|
00009bc0  6c 69 63 6f 6e 28 70 61  6e 65 25 2c 34 36 29 0d  |licon(pane%,46).|
00009bd0  43 b2 05 cd 0d 43 bc 07  c9 20 33 0d 43 c6 19 73  |C....C... 3.C..s|
00009be0  6f 75 72 63 65 64 69 72  3d ac 20 73 6f 75 72 63  |ourcedir=. sourc|
00009bf0  65 64 69 72 0d 43 d0 11  e7 20 73 6f 75 72 63 65  |edir.C... source|
00009c00  64 69 72 20 8c 0d 43 da  10 68 65 61 64 63 6f 75  |dir ..C..headcou|
00009c10  6e 74 2b 3d 31 0d 43 e4  15 f2 73 65 6c 69 63 6f  |nt+=1.C...selico|
00009c20  6e 28 70 61 6e 65 25 2c  33 29 0d 43 ee 05 cc 0d  |n(pane%,3).C....|
00009c30  43 f8 10 68 65 61 64 63  6f 75 6e 74 2d 3d 31 0d  |C..headcount-=1.|
00009c40  44 02 13 e7 20 68 65 61  64 63 6f 75 6e 74 3e 30  |D... headcount>0|
00009c50  20 8c 0d 44 0c 16 f2 75  73 65 6c 69 63 6f 6e 28  | ..D...uselicon(|
00009c60  70 61 6e 65 25 2c 33 29  0d 44 16 05 cc 0d 44 20  |pane%,3).D....D |
00009c70  19 73 6f 75 72 63 65 64  69 72 3d ac 20 73 6f 75  |.sourcedir=. sou|
00009c80  72 63 65 64 69 72 0d 44  2a 0f 68 65 61 64 63 6f  |rcedir.D*.headco|
00009c90  75 6e 74 3d 31 0d 44 34  05 cd 0d 44 3e 05 cd 0d  |unt=1.D4...D>...|
00009ca0  44 48 07 c9 20 34 0d 44  52 0f 64 61 74 65 3d ac  |DH.. 4.DR.date=.|
00009cb0  20 64 61 74 65 0d 44 5c  0c e7 20 64 61 74 65 20  | date.D\.. date |
00009cc0  8c 0d 44 66 10 68 65 61  64 63 6f 75 6e 74 2b 3d  |..Df.headcount+=|
00009cd0  31 0d 44 70 15 f2 73 65  6c 69 63 6f 6e 28 70 61  |1.Dp..selicon(pa|
00009ce0  6e 65 25 2c 34 29 0d 44  7a 05 cc 0d 44 84 10 68  |ne%,4).Dz...D..h|
00009cf0  65 61 64 63 6f 75 6e 74  2d 3d 31 0d 44 8e 13 e7  |eadcount-=1.D...|
00009d00  20 68 65 61 64 63 6f 75  6e 74 3e 30 20 8c 0d 44  | headcount>0 ..D|
00009d10  98 16 f2 75 73 65 6c 69  63 6f 6e 28 70 61 6e 65  |...uselicon(pane|
00009d20  25 2c 34 29 0d 44 a2 05  cc 0d 44 ac 0f 64 61 74  |%,4).D....D..dat|
00009d30  65 3d ac 20 64 61 74 65  0d 44 b6 0f 68 65 61 64  |e=. date.D..head|
00009d40  63 6f 75 6e 74 3d 31 0d  44 c0 05 cd 0d 44 ca 05  |count=1.D....D..|
00009d50  cd 0d 44 d4 08 c9 20 31  33 0d 44 de 19 e7 20 62  |..D... 13.D... b|
00009d60  75 74 74 6f 6e 25 3d 34  20 8c 20 63 6f 6c 73 2d  |utton%=4 . cols-|
00009d70  3d 31 0d 44 e8 19 e7 20  62 75 74 74 6f 6e 25 3d  |=1.D... button%=|
00009d80  31 20 8c 20 63 6f 6c 73  2b 3d 31 0d 44 f2 1b e7  |1 . cols+=1.D...|
00009d90  20 63 6f 6c 73 3e 3d 30  20 80 20 63 6f 6c 73 20  | cols>=0 . cols |
00009da0  3c 3d 31 35 20 8c 0d 44  fc 22 f2 69 63 6f 6e 70  |<=15 ..D.".iconp|
00009db0  75 74 74 65 78 74 28 70  61 6e 65 25 2c 31 34 2c  |uttext(pane%,14,|
00009dc0  c3 28 63 6f 6c 73 29 29  0d 45 06 14 f2 63 6f 6c  |.(cols)).E...col|
00009dd0  6f 75 72 73 65 74 28 63  6f 6c 73 29 0d 45 10 05  |ourset(cols).E..|
00009de0  cd 0d 45 1a 15 e7 20 63  6f 6c 73 3c 30 20 8c 20  |..E... cols<0 . |
00009df0  63 6f 6c 73 3d 30 0d 45  24 17 e7 20 63 6f 6c 73  |cols=0.E$.. cols|
00009e00  3e 31 35 20 8c 20 63 6f  6c 73 3d 31 35 0d 45 2e  |>15 . cols=15.E.|
00009e10  08 c9 20 31 35 0d 45 38  19 e7 20 62 75 74 74 6f  |.. 15.E8.. butto|
00009e20  6e 25 3d 34 20 8c 20 63  6f 6c 73 2b 3d 31 0d 45  |n%=4 . cols+=1.E|
00009e30  42 19 e7 20 62 75 74 74  6f 6e 25 3d 31 20 8c 20  |B.. button%=1 . |
00009e40  63 6f 6c 73 2d 3d 31 0d  45 4c 1b e7 20 63 6f 6c  |cols-=1.EL.. col|
00009e50  73 3e 3d 30 20 80 20 63  6f 6c 73 20 3c 3d 31 35  |s>=0 . cols <=15|
00009e60  20 8c 0d 45 56 22 f2 69  63 6f 6e 70 75 74 74 65  | ..EV".iconputte|
00009e70  78 74 28 70 61 6e 65 25  2c 31 34 2c c3 28 63 6f  |xt(pane%,14,.(co|
00009e80  6c 73 29 29 0d 45 60 14  f2 63 6f 6c 6f 75 72 73  |ls)).E`..colours|
00009e90  65 74 28 63 6f 6c 73 29  0d 45 6a 05 cd 0d 45 74  |et(cols).Ej...Et|
00009ea0  17 e7 20 63 6f 6c 73 3e  31 35 20 8c 20 63 6f 6c  |.. cols>15 . col|
00009eb0  73 3d 31 35 0d 45 7e 15  e7 20 63 6f 6c 73 3c 30  |s=15.E~.. cols<0|
00009ec0  20 8c 20 63 6f 6c 73 3d  30 0d 45 88 08 c9 20 31  | . cols=0.E... 1|
00009ed0  37 0d 45 92 1d 69 63 6f  6e 73 70 72 69 74 65 73  |7.E..iconsprites|
00009ee0  3d ac 20 69 63 6f 6e 73  70 72 69 74 65 73 0d 45  |=. iconsprites.E|
00009ef0  9c 13 e7 20 69 63 6f 6e  73 70 72 69 74 65 73 20  |... iconsprites |
00009f00  8c 0d 45 a6 16 f2 73 65  6c 69 63 6f 6e 28 70 61  |..E...selicon(pa|
00009f10  6e 65 25 2c 31 37 29 0d  45 b0 05 cc 0d 45 ba 17  |ne%,17).E....E..|
00009f20  f2 75 73 65 6c 69 63 6f  6e 28 70 61 6e 65 25 2c  |.uselicon(pane%,|
00009f30  31 37 29 0d 45 c4 05 cd  0d 45 ce 08 c9 20 32 31  |17).E....E... 21|
00009f40  0d 45 d8 1f 72 6f 77 73  3d bb 28 a4 69 63 6f 6e  |.E..rows=.(.icon|
00009f50  74 65 78 74 28 70 61 6e  65 25 2c 32 32 29 29 0d  |text(pane%,22)).|
00009f60  45 e2 19 e7 20 62 75 74  74 6f 6e 25 3d 34 20 8c  |E... button%=4 .|
00009f70  20 72 6f 77 73 2d 3d 31  0d 45 ec 19 e7 20 62 75  | rows-=1.E... bu|
00009f80  74 74 6f 6e 25 3d 31 20  8c 20 72 6f 77 73 2b 3d  |tton%=1 . rows+=|
00009f90  31 0d 45 f6 1b e7 20 72  6f 77 73 3e 3d 31 20 80  |1.E... rows>=1 .|
00009fa0  20 72 6f 77 73 3c 3d 39  39 39 20 8c 0d 46 00 22  | rows<=999 ..F."|
00009fb0  f2 69 63 6f 6e 70 75 74  74 65 78 74 28 70 61 6e  |.iconputtext(pan|
00009fc0  65 25 2c 32 32 2c c3 28  72 6f 77 73 29 29 0d 46  |e%,22,.(rows)).F|
00009fd0  0a 05 cd 0d 46 14 18 e7  72 6f 77 73 3e 39 39 39  |....F...rows>999|
00009fe0  20 8c 20 72 6f 77 73 3d  39 39 39 0d 46 1e 14 e7  | . rows=999.F...|
00009ff0  72 6f 77 73 3c 31 20 8c  20 72 6f 77 73 3d 31 0d  |rows<1 . rows=1.|
0000a000  46 28 23 f2 49 63 6f 6e  43 61 72 65 74 28 70 61  |F(#.IconCaret(pa|
0000a010  6e 65 25 2c 32 32 2c a9  28 c3 28 72 6f 77 73 29  |ne%,22,.(.(rows)|
0000a020  29 29 0d 46 32 08 c9 20  32 33 0d 46 3c 1f 72 6f  |)).F2.. 23.F<.ro|
0000a030  77 73 3d bb 28 a4 69 63  6f 6e 74 65 78 74 28 70  |ws=.(.icontext(p|
0000a040  61 6e 65 25 2c 32 32 29  29 0d 46 46 19 e7 20 62  |ane%,22)).FF.. b|
0000a050  75 74 74 6f 6e 25 3d 34  20 8c 20 72 6f 77 73 2b  |utton%=4 . rows+|
0000a060  3d 31 0d 46 50 19 e7 20  62 75 74 74 6f 6e 25 3d  |=1.FP.. button%=|
0000a070  31 20 8c 20 72 6f 77 73  2d 3d 31 0d 46 5a 1b e7  |1 . rows-=1.FZ..|
0000a080  20 72 6f 77 73 3e 3d 31  20 80 20 72 6f 77 73 3c  | rows>=1 . rows<|
0000a090  3d 39 39 39 20 8c 0d 46  64 22 f2 69 63 6f 6e 70  |=999 ..Fd".iconp|
0000a0a0  75 74 74 65 78 74 28 70  61 6e 65 25 2c 32 32 2c  |uttext(pane%,22,|
0000a0b0  c3 28 72 6f 77 73 29 29  0d 46 6e 05 cd 0d 46 78  |.(rows)).Fn...Fx|
0000a0c0  18 e7 72 6f 77 73 3e 39  39 39 20 8c 20 72 6f 77  |..rows>999 . row|
0000a0d0  73 3d 39 39 39 0d 46 82  14 e7 72 6f 77 73 3c 31  |s=999.F...rows<1|
0000a0e0  20 8c 20 72 6f 77 73 3d  31 0d 46 8c 23 f2 49 63  | . rows=1.F.#.Ic|
0000a0f0  6f 6e 43 61 72 65 74 28  70 61 6e 65 25 2c 32 32  |onCaret(pane%,22|
0000a100  2c a9 28 c3 28 72 6f 77  73 29 29 29 0d 46 96 0b  |,.(.(rows))).F..|
0000a110  c9 20 32 38 2c 32 37 0d  46 a0 20 f2 64 72 61 67  |. 28,27.F. .drag|
0000a120  73 6c 69 64 65 72 69 63  6f 6e 28 70 61 6e 65 25  |slidericon(pane%|
0000a130  2c 32 38 2c 32 37 29 0d  46 aa 0b c9 20 33 31 2c  |,28,27).F... 31,|
0000a140  33 30 0d 46 b4 20 f2 64  72 61 67 73 6c 69 64 65  |30.F. .dragslide|
0000a150  72 69 63 6f 6e 28 70 61  6e 65 25 2c 33 31 2c 33  |ricon(pane%,31,3|
0000a160  30 29 0d 46 be 0b c9 20  33 34 2c 33 33 0d 46 c8  |0).F... 34,33.F.|
0000a170  20 f2 64 72 61 67 73 6c  69 64 65 72 69 63 6f 6e  | .dragslidericon|
0000a180  28 70 61 6e 65 25 2c 33  34 2c 33 33 29 0d 46 d2  |(pane%,34,33).F.|
0000a190  05 cb 0d 46 dc 05 e1 0d  46 e6 0a dd f2 70 61 6e  |...F....F....pan|
0000a1a0  65 0d 46 f0 15 6f 6c 64  68 65 61 64 3d 68 65 61  |e.F..oldhead=hea|
0000a1b0  64 63 6f 75 6e 74 0d 46  fa 16 68 65 61 64 69 6e  |dcount.F..headin|
0000a1c0  67 73 3d 66 68 65 61 64  69 6e 67 73 0d 47 04 0e  |gs=fheadings.G..|
0000a1d0  62 6f 78 72 3d 66 62 6f  78 72 0d 47 0e 0e 62 6f  |boxr=fboxr.G..bo|
0000a1e0  78 67 3d 66 62 6f 78 67  0d 47 18 0e 62 6f 78 62  |xg=fboxg.G..boxb|
0000a1f0  3d 66 62 6f 78 62 0d 47  22 21 f2 73 65 74 62 61  |=fboxb.G"!.setba|
0000a200  72 28 70 61 6e 65 25 2c  32 38 2c 32 37 2c 32 35  |r(pane%,28,27,25|
0000a210  35 2c 62 6f 78 72 29 0d  47 2c 21 f2 73 65 74 62  |5,boxr).G,!.setb|
0000a220  61 72 28 70 61 6e 65 25  2c 33 31 2c 33 30 2c 32  |ar(pane%,31,30,2|
0000a230  35 35 2c 62 6f 78 67 29  0d 47 36 21 f2 73 65 74  |55,boxg).G6!.set|
0000a240  62 61 72 28 70 61 6e 65  25 2c 33 34 2c 33 33 2c  |bar(pane%,34,33,|
0000a250  32 35 35 2c 62 6f 78 62  29 0d 47 40 22 f2 64 6f  |255,boxb).G@".do|
0000a260  63 6f 6c 6f 75 72 62 6f  78 28 62 6f 78 72 2c 62  |colourbox(boxr,b|
0000a270  6f 78 67 2c 62 6f 78 62  2c b9 29 0d 47 4a 05 3a  |oxg,boxb,.).GJ.:|
0000a280  0d 47 54 22 f2 69 63 6f  6e 70 75 74 74 65 78 74  |.GT".iconputtext|
0000a290  28 70 61 6e 65 25 2c 33  35 2c c3 28 62 6f 78 72  |(pane%,35,.(boxr|
0000a2a0  29 29 0d 47 5e 22 f2 69  63 6f 6e 70 75 74 74 65  |)).G^".iconputte|
0000a2b0  78 74 28 70 61 6e 65 25  2c 33 36 2c c3 28 62 6f  |xt(pane%,36,.(bo|
0000a2c0  78 67 29 29 0d 47 68 22  f2 69 63 6f 6e 70 75 74  |xg)).Gh".iconput|
0000a2d0  74 65 78 74 28 70 61 6e  65 25 2c 33 37 2c c3 28  |text(pane%,37,.(|
0000a2e0  62 6f 78 62 29 29 0d 47  72 05 3a 0d 47 7c 0d f2  |boxb)).Gr.:.G|..|
0000a2f0  68 65 61 64 69 6e 67 73  0d 47 86 18 73 6f 75 72  |headings.G..sour|
0000a300  63 65 64 69 72 3d 66 73  6f 75 72 63 65 64 69 72  |cedir=fsourcedir|
0000a310  0d 47 90 11 e7 20 73 6f  75 72 63 65 64 69 72 20  |.G... sourcedir |
0000a320  8c 0d 47 9a 15 f2 73 65  6c 69 63 6f 6e 28 70 61  |..G...selicon(pa|
0000a330  6e 65 25 2c 33 29 0d 47  a4 05 cc 0d 47 ae 16 f2  |ne%,3).G....G...|
0000a340  75 73 65 6c 69 63 6f 6e  28 70 61 6e 65 25 2c 33  |uselicon(pane%,3|
0000a350  29 0d 47 b8 05 cd 0d 47  c2 0e 64 61 74 65 3d 66  |).G....G..date=f|
0000a360  64 61 74 65 0d 47 cc 0c  e7 20 64 61 74 65 20 8c  |date.G... date .|
0000a370  0d 47 d6 15 f2 73 65 6c  69 63 6f 6e 28 70 61 6e  |.G...selicon(pan|
0000a380  65 25 2c 34 29 0d 47 e0  05 cc 0d 47 ea 16 f2 75  |e%,4).G....G...u|
0000a390  73 65 6c 69 63 6f 6e 28  70 61 6e 65 25 2c 34 29  |selicon(pane%,4)|
0000a3a0  0d 47 f4 05 cd 0d 47 fe  23 f2 69 63 6f 6e 70 75  |.G....G.#.iconpu|
0000a3b0  74 74 65 78 74 28 70 61  6e 65 25 2c 38 2c 6c 69  |ttext(pane%,8,li|
0000a3c0  6e 65 6a 75 6e 63 24 29  0d 48 08 20 f2 69 63 6f  |nejunc$).H. .ico|
0000a3d0  6e 70 75 74 74 65 78 74  28 70 61 6e 65 25 2c 39  |nputtext(pane%,9|
0000a3e0  2c 74 6a 75 6e 63 24 29  0d 48 12 23 f2 69 63 6f  |,tjunc$).H.#.ico|
0000a3f0  6e 70 75 74 74 65 78 74  28 70 61 6e 65 25 2c 31  |nputtext(pane%,1|
0000a400  30 2c 65 6e 64 6a 75 6e  63 24 29 0d 48 1c 10 63  |0,endjunc$).H..c|
0000a410  6f 6c 73 3d 66 69 6e 63  6f 6c 73 0d 48 26 22 f2  |ols=fincols.H&".|
0000a420  69 63 6f 6e 70 75 74 74  65 78 74 28 70 61 6e 65  |iconputtext(pane|
0000a430  25 2c 31 34 2c c3 28 63  6f 6c 73 29 29 0d 48 30  |%,14,.(cols)).H0|
0000a440  14 f2 63 6f 6c 6f 75 72  73 65 74 28 63 6f 6c 73  |..colourset(cols|
0000a450  29 0d 48 3a 1c 69 63 6f  6e 73 70 72 69 74 65 73  |).H:.iconsprites|
0000a460  3d 66 69 63 6f 6e 73 70  72 69 74 65 73 0d 48 44  |=ficonsprites.HD|
0000a470  13 e7 20 69 63 6f 6e 73  70 72 69 74 65 73 20 8c  |.. iconsprites .|
0000a480  0d 48 4e 16 f2 73 65 6c  69 63 6f 6e 28 70 61 6e  |.HN..selicon(pan|
0000a490  65 25 2c 31 37 29 0d 48  58 05 cc 0d 48 62 17 f2  |e%,17).HX...Hb..|
0000a4a0  75 73 65 6c 69 63 6f 6e  28 70 61 6e 65 25 2c 31  |uselicon(pane%,1|
0000a4b0  37 29 0d 48 6c 05 cd 0d  48 76 0e 72 6f 77 73 3d  |7).Hl...Hv.rows=|
0000a4c0  66 72 6f 77 73 0d 48 80  22 f2 69 63 6f 6e 70 75  |frows.H.".iconpu|
0000a4d0  74 74 65 78 74 28 70 61  6e 65 25 2c 32 32 2c c3  |ttext(pane%,22,.|
0000a4e0  28 72 6f 77 73 29 29 0d  48 8a 05 3a 0d 48 94 14  |(rows)).H..:.H..|
0000a4f0  6c 69 6e 65 6f 62 6a 3d  66 6c 69 6e 65 6f 62 6a  |lineobj=flineobj|
0000a500  0d 48 9e 0f e7 20 6c 69  6e 65 6f 62 6a 20 8c 0d  |.H... lineobj ..|
0000a510  48 a8 16 f2 73 65 6c 69  63 6f 6e 28 70 61 6e 65  |H...selicon(pane|
0000a520  25 2c 34 34 29 0d 48 b2  05 cc 0d 48 bc 17 f2 75  |%,44).H....H...u|
0000a530  73 65 6c 69 63 6f 6e 28  70 61 6e 65 25 2c 34 34  |selicon(pane%,44|
0000a540  29 0d 48 c6 05 cd 0d 48  d0 0c e7 20 64 69 72 73  |).H....H... dirs|
0000a550  20 8c 0d 48 da 16 f2 73  65 6c 69 63 6f 6e 28 70  | ..H...selicon(p|
0000a560  61 6e 65 25 2c 34 36 29  0d 48 e4 05 cc 0d 48 ee  |ane%,46).H....H.|
0000a570  17 f2 75 73 65 6c 69 63  6f 6e 28 70 61 6e 65 25  |..uselicon(pane%|
0000a580  2c 34 36 29 0d 48 f8 05  cd 0d 49 02 05 e1 0d 49  |,46).H....I....I|
0000a590  0c 0e dd f2 68 65 61 64  69 6e 67 73 0d 49 16 10  |....headings.I..|
0000a5a0  e7 20 68 65 61 64 69 6e  67 73 20 8c 0d 49 20 15  |. headings ..I .|
0000a5b0  f2 73 65 6c 69 63 6f 6e  28 70 61 6e 65 25 2c 32  |.selicon(pane%,2|
0000a5c0  29 0d 49 2a 14 f2 75 73  69 63 6f 6e 28 70 61 6e  |).I*..usicon(pan|
0000a5d0  65 25 2c 33 29 0d 49 34  14 f2 75 73 69 63 6f 6e  |e%,3).I4..usicon|
0000a5e0  28 70 61 6e 65 25 2c 34  29 0d 49 3e 05 cc 0d 49  |(pane%,4).I>...I|
0000a5f0  48 16 f2 75 73 65 6c 69  63 6f 6e 28 70 61 6e 65  |H..uselicon(pane|
0000a600  25 2c 32 29 0d 49 52 13  f2 73 69 63 6f 6e 28 70  |%,2).IR..sicon(p|
0000a610  61 6e 65 25 2c 33 29 0d  49 5c 13 f2 73 69 63 6f  |ane%,3).I\..sico|
0000a620  6e 28 70 61 6e 65 25 2c  34 29 0d 49 66 05 cd 0d  |n(pane%,4).If...|
0000a630  49 70 05 e1 0d 49 7a 12  dd f2 63 6f 6c 6f 75 72  |Ip...Iz...colour|
0000a640  73 65 74 28 63 29 0d 49  84 1e f2 63 68 61 6e 67  |set(c).I...chang|
0000a650  65 62 63 6f 6c 6f 75 72  28 70 61 6e 65 25 2c 31  |ebcolour(pane%,1|
0000a660  34 2c 63 29 0d 49 8e 0a  c8 8e 20 63 20 ca 0d 49  |4,c).I.... c ..I|
0000a670  98 18 c9 20 30 2c 31 2c  32 2c 33 2c 39 2c 31 32  |... 0,1,2,3,9,12|
0000a680  2c 31 34 2c 31 35 0d 49  a2 1e f2 63 68 61 6e 67  |,14,15.I...chang|
0000a690  65 66 63 6f 6c 6f 75 72  28 70 61 6e 65 25 2c 31  |efcolour(pane%,1|
0000a6a0  34 2c 37 29 0d 49 ac 05  7f 0d 49 b6 1e f2 63 68  |4,7).I....I...ch|
0000a6b0  61 6e 67 65 66 63 6f 6c  6f 75 72 28 70 61 6e 65  |angefcolour(pane|
0000a6c0  25 2c 31 34 2c 30 29 0d  49 c0 05 cb 0d 49 ca 05  |%,14,0).I....I..|
0000a6d0  e1 0d 49 d4 20 dd f2 63  68 61 6e 67 65 62 63 6f  |..I. ..changebco|
0000a6e0  6c 6f 75 72 28 77 69 25  2c 69 63 25 2c 63 6f 25  |lour(wi%,ic%,co%|
0000a6f0  29 0d 49 de 10 62 6c 6f  63 6b 25 21 30 3d 77 69  |).I..block%!0=wi|
0000a700  25 0d 49 e8 10 62 6c 6f  63 6b 25 21 34 3d 69 63  |%.I..block%!4=ic|
0000a710  25 0d 49 f2 16 62 6c 6f  63 6b 25 21 38 3d 28 63  |%.I..block%!8=(c|
0000a720  6f 25 3c 3c 32 38 29 0d  49 fc 19 62 6c 6f 63 6b  |o%<<28).I..block|
0000a730  25 21 31 32 3d 28 25 31  31 31 31 3c 3c 32 38 29  |%!12=(%1111<<28)|
0000a740  0d 4a 06 15 c8 99 20 26  34 30 30 43 44 2c 2c 62  |.J.... &400CD,,b|
0000a750  6c 6f 63 6b 25 0d 4a 10  05 e1 0d 4a 1a 20 dd f2  |lock%.J....J. ..|
0000a760  63 68 61 6e 67 65 66 63  6f 6c 6f 75 72 28 77 69  |changefcolour(wi|
0000a770  25 2c 69 63 25 2c 63 6f  25 29 0d 4a 24 10 62 6c  |%,ic%,co%).J$.bl|
0000a780  6f 63 6b 25 21 30 3d 77  69 25 0d 4a 2e 10 62 6c  |ock%!0=wi%.J..bl|
0000a790  6f 63 6b 25 21 34 3d 69  63 25 0d 4a 38 16 62 6c  |ock%!4=ic%.J8.bl|
0000a7a0  6f 63 6b 25 21 38 3d 28  63 6f 25 3c 3c 32 34 29  |ock%!8=(co%<<24)|
0000a7b0  0d 4a 42 19 62 6c 6f 63  6b 25 21 31 32 3d 28 25  |.JB.block%!12=(%|
0000a7c0  31 31 31 31 3c 3c 32 34  29 0d 4a 4c 15 c8 99 20  |1111<<24).JL... |
0000a7d0  26 34 30 30 43 44 2c 2c  62 6c 6f 63 6b 25 0d 4a  |&400CD,,block%.J|
0000a7e0  56 05 e1 0d 4a 60 11 dd  a4 50 70 61 64 28 73 74  |V...J`...Ppad(st|
0000a7f0  24 2c 6e 29 0d 4a 6a 07  ea 20 70 0d 4a 74 0c 70  |$,n).Jj.. p.Jt.p|
0000a800  3d a9 28 73 74 24 29 0d  4a 7e 15 73 74 24 3d 73  |=.(st$).J~.st$=s|
0000a810  74 24 2b c4 6e 2d 70 2c  22 20 22 29 0d 4a 88 08  |t$+.n-p," ").J..|
0000a820  3d 73 74 24 0d 4a 92 16  dd f2 64 65 66 61 75 6c  |=st$.J....defaul|
0000a830  74 73 28 66 6c 61 67 67  25 29 0d 4a 9c 0a 64 69  |ts(flagg%).J..di|
0000a840  72 73 3d a3 0d 4a a6 17  f2 75 73 65 6c 69 63 6f  |rs=..J...uselico|
0000a850  6e 28 70 61 6e 65 25 2c  34 36 29 0d 4a b0 0a 62  |n(pane%,46).J..b|
0000a860  6f 78 72 3d 30 0d 4a ba  0a 62 6f 78 67 3d 30 0d  |oxr=0.J..boxg=0.|
0000a870  4a c4 0a 62 6f 78 62 3d  30 0d 4a ce 21 f2 73 65  |J..boxb=0.J.!.se|
0000a880  74 62 61 72 28 70 61 6e  65 25 2c 32 38 2c 32 37  |tbar(pane%,28,27|
0000a890  2c 32 35 35 2c 62 6f 78  72 29 0d 4a d8 21 f2 73  |,255,boxr).J.!.s|
0000a8a0  65 74 62 61 72 28 70 61  6e 65 25 2c 33 31 2c 33  |etbar(pane%,31,3|
0000a8b0  30 2c 32 35 35 2c 62 6f  78 67 29 0d 4a e2 21 f2  |0,255,boxg).J.!.|
0000a8c0  73 65 74 62 61 72 28 70  61 6e 65 25 2c 33 34 2c  |setbar(pane%,34,|
0000a8d0  33 33 2c 32 35 35 2c 62  6f 78 62 29 0d 4a ec 22  |33,255,boxb).J."|
0000a8e0  f2 64 6f 63 6f 6c 6f 75  72 62 6f 78 28 62 6f 78  |.docolourbox(box|
0000a8f0  72 2c 62 6f 78 67 2c 62  6f 78 62 2c b9 29 0d 4a  |r,boxg,boxb,.).J|
0000a900  f6 22 f2 69 63 6f 6e 70  75 74 74 65 78 74 28 70  |.".iconputtext(p|
0000a910  61 6e 65 25 2c 33 35 2c  c3 28 62 6f 78 72 29 29  |ane%,35,.(boxr))|
0000a920  0d 4b 00 22 f2 69 63 6f  6e 70 75 74 74 65 78 74  |.K.".iconputtext|
0000a930  28 70 61 6e 65 25 2c 33  36 2c c3 28 62 6f 78 67  |(pane%,36,.(boxg|
0000a940  29 29 0d 4b 0a 22 f2 69  63 6f 6e 70 75 74 74 65  |)).K.".iconputte|
0000a950  78 74 28 70 61 6e 65 25  2c 33 37 2c c3 28 62 6f  |xt(pane%,37,.(bo|
0000a960  78 62 29 29 0d 4b 14 0b  72 6f 77 73 3d 35 30 0d  |xb)).K..rows=50.|
0000a970  4b 1e 0e 68 65 61 64 69  6e 67 73 3d b9 0d 4b 28  |K..headings=..K(|
0000a980  0f 73 6f 75 72 63 65 64  69 72 3d b9 0d 4b 32 0a  |.sourcedir=..K2.|
0000a990  64 61 74 65 3d b9 0d 4b  3c 0f 68 65 61 64 63 6f  |date=..K<.headco|
0000a9a0  75 6e 74 3d 32 0d 4b 46  0f 74 6a 75 6e 63 24 3d  |unt=2.KF.tjunc$=|
0000a9b0  22 2b 98 22 0d 4b 50 11  65 6e 64 6a 75 6e 63 24  |"+.".KP.endjunc$|
0000a9c0  3d 22 27 98 22 0d 4b 5a  11 6c 69 6e 65 6a 75 6e  |="'.".KZ.linejun|
0000a9d0  63 24 3d 22 7c 22 0d 4b  64 0a 63 6f 6c 73 3d 37  |c$="|".Kd.cols=7|
0000a9e0  0d 4b 6e 11 69 63 6f 6e  73 70 72 69 74 65 73 3d  |.Kn.iconsprites=|
0000a9f0  b9 0d 4b 78 0e e7 20 66  6c 61 67 67 25 20 8c 0d  |..Kx.. flagg% ..|
0000aa00  4b 82 0d f2 68 65 61 64  69 6e 67 73 0d 4b 8c 11  |K...headings.K..|
0000aa10  e7 20 73 6f 75 72 63 65  64 69 72 20 8c 0d 4b 96  |. sourcedir ..K.|
0000aa20  15 f2 73 65 6c 69 63 6f  6e 28 70 61 6e 65 25 2c  |..selicon(pane%,|
0000aa30  33 29 0d 4b a0 05 cc 0d  4b aa 16 f2 75 73 65 6c  |3).K....K...usel|
0000aa40  69 63 6f 6e 28 70 61 6e  65 25 2c 33 29 0d 4b b4  |icon(pane%,3).K.|
0000aa50  05 cd 0d 4b be 0c e7 20  64 61 74 65 20 8c 0d 4b  |...K... date ..K|
0000aa60  c8 15 f2 73 65 6c 69 63  6f 6e 28 70 61 6e 65 25  |...selicon(pane%|
0000aa70  2c 34 29 0d 4b d2 05 cc  0d 4b dc 16 f2 75 73 65  |,4).K....K...use|
0000aa80  6c 69 63 6f 6e 28 70 61  6e 65 25 2c 34 29 0d 4b  |licon(pane%,4).K|
0000aa90  e6 05 cd 0d 4b f0 23 f2  69 63 6f 6e 70 75 74 74  |....K.#.iconputt|
0000aaa0  65 78 74 28 70 61 6e 65  25 2c 38 2c 6c 69 6e 65  |ext(pane%,8,line|
0000aab0  6a 75 6e 63 24 29 0d 4b  fa 20 f2 69 63 6f 6e 70  |junc$).K. .iconp|
0000aac0  75 74 74 65 78 74 28 70  61 6e 65 25 2c 39 2c 74  |uttext(pane%,9,t|
0000aad0  6a 75 6e 63 24 29 0d 4c  04 23 f2 69 63 6f 6e 70  |junc$).L.#.iconp|
0000aae0  75 74 74 65 78 74 28 70  61 6e 65 25 2c 31 30 2c  |uttext(pane%,10,|
0000aaf0  65 6e 64 6a 75 6e 63 24  29 0d 4c 0e 22 f2 69 63  |endjunc$).L.".ic|
0000ab00  6f 6e 70 75 74 74 65 78  74 28 70 61 6e 65 25 2c  |onputtext(pane%,|
0000ab10  31 34 2c c3 28 63 6f 6c  73 29 29 0d 4c 18 14 f2  |14,.(cols)).L...|
0000ab20  63 6f 6c 6f 75 72 73 65  74 28 63 6f 6c 73 29 0d  |colourset(cols).|
0000ab30  4c 22 13 e7 20 69 63 6f  6e 73 70 72 69 74 65 73  |L".. iconsprites|
0000ab40  20 8c 0d 4c 2c 16 f2 73  65 6c 69 63 6f 6e 28 70  | ..L,..selicon(p|
0000ab50  61 6e 65 25 2c 31 37 29  0d 4c 36 05 cc 0d 4c 40  |ane%,17).L6...L@|
0000ab60  17 f2 75 73 65 6c 69 63  6f 6e 28 70 61 6e 65 25  |..uselicon(pane%|
0000ab70  2c 31 37 29 0d 4c 4a 05  cd 0d 4c 54 22 f2 69 63  |,17).LJ...LT".ic|
0000ab80  6f 6e 70 75 74 74 65 78  74 28 70 61 6e 65 25 2c  |onputtext(pane%,|
0000ab90  32 32 2c c3 28 72 6f 77  73 29 29 0d 4c 5e 05 cd  |22,.(rows)).L^..|
0000aba0  0d 4c 68 0d 6c 69 6e 65  6f 62 6a 3d b9 0d 4c 72  |.Lh.lineobj=..Lr|
0000abb0  0f e7 20 6c 69 6e 65 6f  62 6a 20 8c 0d 4c 7c 16  |.. lineobj ..L|.|
0000abc0  f2 73 65 6c 69 63 6f 6e  28 70 61 6e 65 25 2c 34  |.selicon(pane%,4|
0000abd0  34 29 0d 4c 86 05 cc 0d  4c 90 17 f2 75 73 65 6c  |4).L....L...usel|
0000abe0  69 63 6f 6e 28 70 61 6e  65 25 2c 34 34 29 0d 4c  |icon(pane%,44).L|
0000abf0  9a 05 cd 0d 4c a4 05 e1  0d 4c ae 20 dd a4 6d 6f  |....L....L. ..mo|
0000ac00  64 75 6c 65 70 72 65 73  65 6e 74 28 6d 6f 64 75  |dulepresent(modu|
0000ac10  6c 65 6e 61 6d 65 24 29  0d 4c b8 33 c8 99 20 26  |lename$).L.3.. &|
0000ac20  30 30 30 32 30 30 31 45  2c 31 38 2c 6d 6f 64 75  |0002001E,18,modu|
0000ac30  6c 65 6e 61 6d 65 24 20  b8 20 4d 30 2c 4d 31 2c  |lename$ . M0,M1,|
0000ac40  4d 32 2c 4d 33 2c 4d 34  2c 4d 35 0d 4c c2 29 e7  |M2,M3,M4,M5.L.).|
0000ac50  20 4d 32 3d 30 20 80 20  4d 33 3d 30 20 80 20 4d  | M2=0 . M3=0 . M|
0000ac60  34 3d 30 20 80 20 4d 35  3d 30 20 8c 20 3d 30 20  |4=0 . M5=0 . =0 |
0000ac70  8b 20 3d 31 0d 4c cc 1c  dd a4 66 69 6c 65 74 79  |. =1.L....filety|
0000ac80  70 65 6f 66 61 66 69 6c  65 28 66 69 6c 65 24 29  |peofafile(file$)|
0000ac90  0d 4c d6 0a ea 20 6f 62  6a 25 0d 4c e0 2b c8 99  |.L... obj%.L.+..|
0000aca0  20 26 30 30 30 30 30 30  30 38 2c 35 2c 66 69 6c  | &00000008,5,fil|
0000acb0  65 24 20 b8 20 6f 62 6a  25 2c 2c 6d 79 6e 65 77  |e$ . obj%,,mynew|
0000acc0  74 79 70 65 25 0d 4c ea  36 e7 20 6f 62 6a 25 3d  |type%.L.6. obj%=|
0000acd0  31 20 80 20 28 6d 79 6e  65 77 74 79 70 65 25 20  |1 . (mynewtype% |
0000ace0  80 20 26 46 46 46 30 30  30 30 30 29 20 3c 3e 20  |. &FFF00000) <> |
0000acf0  26 46 46 46 30 30 30 30  30 20 8c 0d 4c f4 11 6d  |&FFF00000 ..L..m|
0000ad00  79 6e 65 77 74 79 70 65  25 3d 2d 32 0d 4c fe 05  |ynewtype%=-2.L..|
0000ad10  cc 0d 4d 08 44 e7 20 6f  62 6a 25 3d 31 20 8c 20  |..M.D. obj%=1 . |
0000ad20  6d 79 6e 65 77 74 79 70  65 25 3d 28 6d 79 6e 65  |mynewtype%=(myne|
0000ad30  77 74 79 70 65 25 20 80  20 26 46 46 46 30 30 29  |wtype% . &FFF00)|
0000ad40  20 3e 3e 20 38 20 8b 20  6d 79 6e 65 77 74 79 70  | >> 8 . mynewtyp|
0000ad50  65 25 3d 2d 31 0d 4d 12  05 cd 0d 4d 1c 0f 3d 6d  |e%=-1.M....M..=m|
0000ad60  79 6e 65 77 74 79 70 65  25 0d 4d 26 05 3a 0d 4d  |ynewtype%.M&.:.M|
0000ad70  30 14 dd a4 63 68 65 63  6b 66 72 65 65 73 70 61  |0...checkfreespa|
0000ad80  63 65 0d 4d 3a 28 c8 99  22 57 69 6d 70 5f 53 6c  |ce.M:(.."Wimp_Sl|
0000ad90  6f 74 53 69 7a 65 22 2c  2d 31 2c 2d 31 20 b8 20  |otSize",-1,-1 . |
0000ada0  2c 2c 66 72 65 65 70 6f  6f 6c 0d 4d 44 0d 3d 66  |,,freepool.MD.=f|
0000adb0  72 65 65 70 6f 6f 6c 0d  4d 4e 05 3a 0d 4d 58 13  |reepool.MN.:.MX.|
0000adc0  dd f2 64 6f 64 72 61 77  28 66 69 6c 65 24 29 0d  |..dodraw(file$).|
0000add0  4d 62 1c c8 99 20 26 30  38 2c 31 31 2c 66 69 6c  |Mb... &08,11,fil|
0000ade0  65 24 2c 26 61 66 66 2c  30 2c 30 0d 4d 6c 15 c8  |e$,&aff,0,0.Ml..|
0000adf0  99 20 22 48 6f 75 72 67  6c 61 73 73 5f 4f 6e 22  |. "Hourglass_On"|
0000ae00  0d 4d 76 0e 72 65 63 61  6c 63 78 25 3d 30 0d 4d  |.Mv.recalcx%=0.M|
0000ae10  80 0f 58 25 3d ae 28 66  69 6c 65 24 29 0d 4d 8a  |..X%=.(file$).M.|
0000ae20  0d 74 6f 70 78 25 3d 33  30 30 0d 4d 94 13 64 75  |.topx%=300.M..du|
0000ae30  6d 6d 79 74 6f 70 79 25  3d 38 31 35 30 0d 4d 9e  |mmytopy%=8150.M.|
0000ae40  0e 74 6f 70 79 25 3d 38  31 35 30 0d 4d a8 0f 74  |.topy%=8150.M..t|
0000ae50  74 74 65 6d 70 25 3d 32  30 30 0d 4d b2 0d 64 75  |ttemp%=200.M..du|
0000ae60  6d 6d 79 78 25 3d 30 0d  4d bc 1f e7 20 74 74 74  |mmyx%=0.M... ttt|
0000ae70  65 6d 70 25 3c 38 33 30  20 8c 20 74 74 74 65 6d  |emp%<830 . tttem|
0000ae80  70 25 3d 38 33 30 0d 4d  c6 0f e7 20 63 6f 6c 75  |p%=830.M... colu|
0000ae90  6d 6e 73 20 8c 0d 4d d0  45 f2 6d 61 6b 65 64 72  |mns ..M.E.makedr|
0000aea0  61 77 66 69 6c 65 68 65  61 64 65 72 28 74 6f 70  |awfileheader(top|
0000aeb0  78 25 2d 31 35 30 2c 74  6f 70 79 25 2d 28 28 72  |x%-150,topy%-((r|
0000aec0  6f 77 73 2d 31 29 2a 32  32 29 2d 35 30 2c 30 2c  |ows-1)*22)-50,0,|
0000aed0  74 6f 70 79 25 2b 32 30  30 29 0d 4d da 05 cc 0d  |topy%+200).M....|
0000aee0  4d e4 4e f2 6d 61 6b 65  64 72 61 77 66 69 6c 65  |M.N.makedrawfile|
0000aef0  68 65 61 64 65 72 28 74  6f 70 78 25 2d 31 35 30  |header(topx%-150|
0000af00  2c 74 6f 70 79 25 2d 28  28 69 69 69 25 2d 31 29  |,topy%-((iii%-1)|
0000af10  2a 32 32 29 2d 35 30 2c  74 74 74 65 6d 70 25 2b  |*22)-50,tttemp%+|
0000af20  35 30 2c 74 6f 70 79 25  2b 32 30 30 29 0d 4d ee  |50,topy%+200).M.|
0000af30  05 cd 0d 4d f8 05 3a 0d  4e 02 42 f2 6f 62 6a 65  |...M..:.N.B.obje|
0000af40  63 74 68 65 61 64 65 72  28 30 2c 38 2b a4 66 6f  |ctheader(0,8+.fo|
0000af50  6e 74 74 61 62 6c 65 73  69 7a 65 28 22 48 6f 6d  |nttablesize("Hom|
0000af60  65 72 74 6f 6e 2e 4d 65  64 69 75 6d 22 29 2c 30  |erton.Medium"),0|
0000af70  2c 30 2c 30 2c 30 2c a3  29 0d 4e 0c 23 f2 66 6f  |,0,0,0,.).N.#.fo|
0000af80  6e 74 74 61 62 6c 65 28  31 2c 22 48 6f 6d 65 72  |nttable(1,"Homer|
0000af90  74 6f 6e 2e 4d 65 64 69  75 6d 22 29 0d 4e 16 05  |ton.Medium").N..|
0000afa0  3a 0d 4e 20 25 f2 6f 62  6a 65 63 74 68 65 61 64  |:.N %.objecthead|
0000afb0  65 72 28 31 31 2c 36 34  2b 32 34 2c 30 2c 30 2c  |er(11,64+24,0,0,|
0000afc0  30 2c 30 2c b9 29 0d 4e  2a 0b f2 6f 62 6a 65 63  |0,0,.).N*..objec|
0000afd0  74 0d 4e 34 05 3a 0d 4e  3e 4d f2 6f 62 6a 65 63  |t.N4.:.N>M.objec|
0000afe0  74 68 65 61 64 65 72 28  32 2c 32 34 2b 31 36 2b  |theader(2,24+16+|
0000aff0  32 34 2b 34 2c 74 6f 70  78 25 2d 31 30 30 2c 74  |24+4,topx%-100,t|
0000b000  6f 70 79 25 2b 31 34 34  2c 74 6f 70 78 25 2d 31  |opy%+144,topx%-1|
0000b010  30 30 2b 36 35 30 2c 74  6f 70 79 25 2b 31 34 34  |00+650,topy%+144|
0000b020  2c b9 29 0d 4e 48 18 f2  70 61 74 68 68 65 61 64  |,.).NH..pathhead|
0000b030  65 72 28 32 35 35 2c 30  2c 30 29 0d 4e 52 26 f2  |er(255,0,0).NR&.|
0000b040  64 72 61 77 66 69 6c 65  6d 6f 76 65 28 74 6f 70  |drawfilemove(top|
0000b050  78 25 2d 31 30 30 2c 74  6f 70 79 25 2b 31 34 34  |x%-100,topy%+144|
0000b060  29 0d 4e 5c 2a f2 64 72  61 77 66 69 6c 65 64 72  |).N\*.drawfiledr|
0000b070  61 77 28 74 6f 70 78 25  2d 31 30 30 2b 36 35 30  |aw(topx%-100+650|
0000b080  2c 74 6f 70 79 25 2b 31  34 34 29 0d 4e 66 0c f2  |,topy%+144).Nf..|
0000b090  65 6e 64 70 61 74 68 0d  4e 70 05 3a 0d 4e 7a 67  |endpath.Np.:.Nzg|
0000b0a0  f2 74 65 78 74 6f 62 6a  65 63 74 28 31 2c 32 35  |.textobject(1,25|
0000b0b0  35 2c 30 2c 30 2c 31 34  2c 31 34 2c 74 6f 70 78  |5,0,0,14,14,topx|
0000b0c0  25 2d 31 30 30 2c 74 6f  70 79 25 2b 31 35 30 2c  |%-100,topy%+150,|
0000b0d0  22 54 72 65 65 20 28 22  2b c1 76 65 72 24 2c 31  |"Tree ("+.ver$,1|
0000b0e0  2c 36 29 2b 22 29 20 2d  20 62 79 20 52 69 63 68  |,6)+") - by Rich|
0000b0f0  61 72 64 20 53 61 6d 70  68 69 72 65 20 31 39 39  |ard Samphire 199|
0000b100  33 22 29 0d 4e 84 3d f2  74 65 78 74 6f 62 6a 65  |3").N.=.textobje|
0000b110  63 74 28 31 2c 30 2c 30  2c 30 2c 31 30 2c 31 30  |ct(1,0,0,0,10,10|
0000b120  2c 74 6f 70 78 25 2d 31  30 30 2c 74 6f 70 79 25  |,topx%-100,topy%|
0000b130  2b 34 30 2c 22 54 72 65  65 20 6f 66 20 3a 22 29  |+40,"Tree of :")|
0000b140  0d 4e 8e 38 f2 74 65 78  74 6f 62 6a 65 63 74 28  |.N.8.textobject(|
0000b150  31 2c 30 2c 36 38 2c 31  35 33 2c 38 2c 38 2c 74  |1,0,68,153,8,8,t|
0000b160  6f 70 78 25 2d 33 30 2c  74 6f 70 79 25 2b 31 35  |opx%-30,topy%+15|
0000b170  2c 70 6f 6f 75 70 24 29  0d 4e 98 05 3a 0d 4e a2  |,pooup$).N..:.N.|
0000b180  0b 70 66 61 66 25 3d 30  0d 4e ac 0b 64 75 66 66  |.pfaf%=0.N..duff|
0000b190  25 3d 30 0d 4e b6 11 41  6c 69 6e 65 63 6f 75 6e  |%=0.N..Alinecoun|
0000b1a0  74 25 3d 30 0d 4e c0 11  42 6c 69 6e 65 63 6f 75  |t%=0.N..Blinecou|
0000b1b0  6e 74 25 3d 30 0d 4e ca  16 e3 20 70 75 6b 65 25  |nt%=0.N... puke%|
0000b1c0  3d 30 20 b8 20 69 69 69  25 2d 31 0d 4e d4 2e e7  |=0 . iii%-1.N...|
0000b1d0  20 70 75 6b 65 25 3e 30  20 80 20 28 70 75 6b 65  | puke%>0 . (puke|
0000b1e0  25 20 83 20 72 6f 77 73  20 3d 20 30 29 20 80 20  |% . rows = 0) . |
0000b1f0  63 6f 6c 75 6d 6e 73 20  8c 0d 4e de 18 74 6f 70  |columns ..N..top|
0000b200  78 25 3d 28 72 65 63 61  6c 63 78 25 2b 32 30 30  |x%=(recalcx%+200|
0000b210  29 0d 4e e8 14 63 6f 6c  28 64 75 66 66 25 29 3d  |).N..col(duff%)=|
0000b220  74 6f 70 78 25 0d 4e f2  14 74 6f 70 79 25 3d 64  |topx%.N..topy%=d|
0000b230  75 6d 6d 79 74 6f 70 79  25 0d 4e fc 0e 72 65 63  |ummytopy%.N..rec|
0000b240  61 6c 63 78 25 3d 30 0d  4f 06 0b 70 66 61 66 25  |alcx%=0.O..pfaf%|
0000b250  3d 30 0d 4f 10 0c 64 75  66 66 25 2b 3d 31 0d 4f  |=0.O..duff%+=1.O|
0000b260  1a 11 e7 20 64 75 66 66  25 3e 31 39 39 20 8c 0d  |... duff%>199 ..|
0000b270  4f 24 0d 64 75 66 66 25  3d 31 39 39 0d 4f 2e 35  |O$.duff%=199.O.5|
0000b280  85 20 30 2c 22 41 20 74  72 65 65 20 64 72 61 77  |. 0,"A tree draw|
0000b290  20 66 69 6c 65 20 63 61  6e 20 6f 6e 6c 79 20 68  | file can only h|
0000b2a0  61 76 65 20 31 39 39 20  63 6f 6c 75 6d 6e 73 2e  |ave 199 columns.|
0000b2b0  22 0d 4f 38 05 cd 0d 4f  42 05 cd 0d 4f 4c 32 e7  |".O8...OB...OL2.|
0000b2c0  20 69 69 69 25 2d 31 3c  3e 30 20 8c 20 c8 99 26  | iii%-1<>0 . ..&|
0000b2d0  30 30 30 34 30 36 43 34  2c 28 70 75 6b 65 25 2f  |000406C4,(puke%/|
0000b2e0  28 69 69 69 25 2d 31 29  29 2a 31 30 30 0d 4f 56  |(iii%-1))*100.OV|
0000b2f0  15 f2 67 65 74 76 61 72  73 28 70 75 6b 65 25 2c  |..getvars(puke%,|
0000b300  a3 29 0d 4f 60 26 e3 20  73 75 62 63 6f 75 6e 74  |.).O`&. subcount|
0000b310  25 3d 30 20 b8 20 28 6e  75 6d 62 65 72 69 63 6f  |%=0 . (numberico|
0000b320  6e 73 25 21 30 29 2d 31  0d 4f 6a 40 e7 20 3f 28  |ns%!0)-1.Oj@. ?(|
0000b330  74 72 65 65 64 65 66 25  2b 73 75 62 63 6f 75 6e  |treedef%+subcoun|
0000b340  74 25 29 3d 61 73 63 74  25 20 80 20 73 75 62 63  |t%)=asct% . subc|
0000b350  6f 75 6e 74 25 3c 28 6e  75 6d 62 65 72 69 63 6f  |ount%<(numberico|
0000b360  6e 73 25 21 30 29 20 8c  0d 4f 74 3f e7 20 ac 20  |ns%!0) ..Ot?. . |
0000b370  6c 69 6e 65 6f 62 6a 20  8c 20 f2 64 72 61 77 62  |lineobj . .drawb|
0000b380  61 72 28 74 6f 70 78 25  2b 28 73 75 62 63 6f 75  |ar(topx%+(subcou|
0000b390  6e 74 25 2a 32 35 29 2c  74 6f 70 79 25 2d 70 66  |nt%*25),topy%-pf|
0000b3a0  61 66 25 2a 32 32 29 0d  4f 7e 12 41 6c 69 6e 65  |af%*22).O~.Aline|
0000b3b0  63 6f 75 6e 74 25 2b 3d  31 0d 4f 88 05 cd 0d 4f  |count%+=1.O....O|
0000b3c0  92 0f ed 20 73 75 62 63  6f 75 6e 74 25 0d 4f 9c  |... subcount%.O.|
0000b3d0  28 e7 20 3f 28 74 72 65  65 64 65 66 25 2b 6e 75  |(. ?(treedef%+nu|
0000b3e0  6d 62 65 72 69 63 6f 6e  73 25 21 30 29 3d 61 73  |mbericons%!0)=as|
0000b3f0  63 6c 25 20 8c 0d 4f a6  49 e7 20 ac 20 6c 69 6e  |cl% ..O.I. . lin|
0000b400  65 6f 62 6a 20 8c 20 f2  64 72 61 77 62 6f 74 62  |eobj . .drawbotb|
0000b410  61 72 28 74 6f 70 78 25  2b 28 28 6e 75 6d 62 65  |ar(topx%+((numbe|
0000b420  72 69 63 6f 6e 73 25 21  30 29 2a 32 35 29 2c 74  |ricons%!0)*25),t|
0000b430  6f 70 79 25 2d 70 66 61  66 25 2a 32 32 29 0d 4f  |opy%-pfaf%*22).O|
0000b440  b0 3f f2 73 70 72 69 74  65 28 74 6f 70 78 25 2b  |.?.sprite(topx%+|
0000b450  28 28 6e 75 6d 62 65 72  69 63 6f 6e 73 25 21 30  |((numbericons%!0|
0000b460  29 2a 32 35 29 2b 32 34  2c 28 74 6f 70 79 25 2d  |)*25)+24,(topy%-|
0000b470  70 66 61 66 25 2a 32 32  29 2d 32 30 29 0d 4f ba  |pfaf%*22)-20).O.|
0000b480  60 f2 74 65 78 74 6f 62  6a 65 63 74 28 31 2c 30  |`.textobject(1,0|
0000b490  2c 30 2c 30 2c 38 2c 38  2c 74 6f 70 78 25 2b 28  |,0,0,8,8,topx%+(|
0000b4a0  28 6e 75 6d 62 65 72 69  63 6f 6e 73 25 21 30 29  |(numbericons%!0)|
0000b4b0  2a 32 35 29 2b 35 35 2c  28 74 6f 70 79 25 2d 70  |*25)+55,(topy%-p|
0000b4c0  66 61 66 25 2a 32 32 29  2d 31 38 2c a4 67 4c 6e  |faf%*22)-18,.gLn|
0000b4d0  28 24 66 69 6c 65 6e 61  6d 65 25 29 29 0d 4f c4  |($filename%)).O.|
0000b4e0  12 42 6c 69 6e 65 63 6f  75 6e 74 25 2b 3d 31 0d  |.Blinecount%+=1.|
0000b4f0  4f ce 05 cd 0d 4f d8 28  e7 20 3f 28 74 72 65 65  |O....O.(. ?(tree|
0000b500  64 65 66 25 2b 6e 75 6d  62 65 72 69 63 6f 6e 73  |def%+numbericons|
0000b510  25 21 30 29 3d 61 73 63  74 25 20 8c 0d 4f e2 47  |%!0)=asct% ..O.G|
0000b520  e7 20 ac 20 6c 69 6e 65  6f 62 6a 20 8c 20 f2 64  |. . lineobj . .d|
0000b530  72 61 77 74 62 61 72 28  74 6f 70 78 25 2b 28 28  |rawtbar(topx%+((|
0000b540  6e 75 6d 62 65 72 69 63  6f 6e 73 25 21 30 29 2a  |numbericons%!0)*|
0000b550  32 35 29 2c 74 6f 70 79  25 2d 70 66 61 66 25 2a  |25),topy%-pfaf%*|
0000b560  32 32 29 0d 4f ec 3f f2  73 70 72 69 74 65 28 74  |22).O.?.sprite(t|
0000b570  6f 70 78 25 2b 28 28 6e  75 6d 62 65 72 69 63 6f  |opx%+((numberico|
0000b580  6e 73 25 21 30 29 2a 32  35 29 2b 32 34 2c 28 74  |ns%!0)*25)+24,(t|
0000b590  6f 70 79 25 2d 70 66 61  66 25 2a 32 32 29 2d 32  |opy%-pfaf%*22)-2|
0000b5a0  30 29 0d 4f f6 60 f2 74  65 78 74 6f 62 6a 65 63  |0).O.`.textobjec|
0000b5b0  74 28 31 2c 30 2c 30 2c  30 2c 38 2c 38 2c 74 6f  |t(1,0,0,0,8,8,to|
0000b5c0  70 78 25 2b 28 28 6e 75  6d 62 65 72 69 63 6f 6e  |px%+((numbericon|
0000b5d0  73 25 21 30 29 2a 32 35  29 2b 35 35 2c 28 74 6f  |s%!0)*25)+55,(to|
0000b5e0  70 79 25 2d 70 66 61 66  25 2a 32 32 29 2d 31 38  |py%-pfaf%*22)-18|
0000b5f0  2c a4 67 4c 6e 28 24 66  69 6c 65 6e 61 6d 65 25  |,.gLn($filename%|
0000b600  29 29 0d 50 00 12 42 6c  69 6e 65 63 6f 75 6e 74  |)).P..Blinecount|
0000b610  25 2b 3d 31 0d 50 0a 05  cd 0d 50 14 0c 70 66 61  |%+=1.P....P..pfa|
0000b620  66 25 2b 3d 31 0d 50 1e  0b ed 20 70 75 6b 65 25  |f%+=1.P... puke%|
0000b630  0d 50 28 05 3a 0d 50 32  0f e7 20 6c 69 6e 65 6f  |.P(.:.P2.. lineo|
0000b640  62 6a 20 8c 0d 50 3c 4e  f2 6f 62 6a 65 63 74 68  |bj ..P<N.objecth|
0000b650  65 61 64 65 72 28 32 2c  32 34 2b 31 36 2b 28 42  |eader(2,24+16+(B|
0000b660  6c 69 6e 65 63 6f 75 6e  74 25 2a 34 38 29 2b 28  |linecount%*48)+(|
0000b670  41 6c 69 6e 65 63 6f 75  6e 74 25 2a 32 34 29 2b  |Alinecount%*24)+|
0000b680  34 2c 78 2c 79 2d 32 32  2c 78 2b 31 38 2c 79 2c  |4,x,y-22,x+18,y,|
0000b690  b9 29 0d 50 46 22 f2 70  61 74 68 68 65 61 64 65  |.).PF".pathheade|
0000b6a0  72 28 66 62 6f 78 72 2c  66 62 6f 78 67 2c 66 62  |r(fboxr,fboxg,fb|
0000b6b0  6f 78 62 29 0d 50 50 0d  74 6f 70 78 25 3d 33 30  |oxb).PP.topx%=30|
0000b6c0  30 0d 50 5a 13 64 75 6d  6d 79 74 6f 70 79 25 3d  |0.PZ.dummytopy%=|
0000b6d0  38 31 35 30 0d 50 64 0e  74 6f 70 79 25 3d 38 31  |8150.Pd.topy%=81|
0000b6e0  35 30 0d 50 6e 0f 74 74  74 65 6d 70 25 3d 32 30  |50.Pn.tttemp%=20|
0000b6f0  30 0d 50 78 0d 64 75 6d  6d 79 78 25 3d 30 0d 50  |0.Px.dummyx%=0.P|
0000b700  82 0b 70 66 61 66 25 3d  30 0d 50 8c 0b 64 75 66  |..pfaf%=0.P..duf|
0000b710  66 25 3d 30 0d 50 96 16  e3 20 70 75 6b 65 25 3d  |f%=0.P... puke%=|
0000b720  30 20 b8 20 69 69 69 25  2d 31 0d 50 a0 2e e7 20  |0 . iii%-1.P... |
0000b730  70 75 6b 65 25 3e 30 20  80 20 28 70 75 6b 65 25  |puke%>0 . (puke%|
0000b740  20 83 20 72 6f 77 73 20  3d 20 30 29 20 80 20 63  | . rows = 0) . c|
0000b750  6f 6c 75 6d 6e 73 20 8c  0d 50 aa 14 74 6f 70 78  |olumns ..P..topx|
0000b760  25 3d 63 6f 6c 28 64 75  66 66 25 29 0d 50 b4 14  |%=col(duff%).P..|
0000b770  74 6f 70 79 25 3d 64 75  6d 6d 79 74 6f 70 79 25  |topy%=dummytopy%|
0000b780  0d 50 be 0e 72 65 63 61  6c 63 78 25 3d 30 0d 50  |.P..recalcx%=0.P|
0000b790  c8 0b 70 66 61 66 25 3d  30 0d 50 d2 0c 64 75 66  |..pfaf%=0.P..duf|
0000b7a0  66 25 2b 3d 31 0d 50 dc  05 cd 0d 50 e6 32 e7 20  |f%+=1.P....P.2. |
0000b7b0  69 69 69 25 2d 31 3c 3e  30 20 8c 20 c8 99 26 30  |iii%-1<>0 . ..&0|
0000b7c0  30 30 34 30 36 43 34 2c  28 70 75 6b 65 25 2f 28  |00406C4,(puke%/(|
0000b7d0  69 69 69 25 2d 31 29 29  2a 31 30 30 0d 50 f0 15  |iii%-1))*100.P..|
0000b7e0  f2 67 65 74 76 61 72 73  28 70 75 6b 65 25 2c a3  |.getvars(puke%,.|
0000b7f0  29 0d 50 fa 26 e3 20 73  75 62 63 6f 75 6e 74 25  |).P.&. subcount%|
0000b800  3d 30 20 b8 20 28 6e 75  6d 62 65 72 69 63 6f 6e  |=0 . (numbericon|
0000b810  73 25 21 30 29 2d 31 0d  51 04 40 e7 20 3f 28 74  |s%!0)-1.Q.@. ?(t|
0000b820  72 65 65 64 65 66 25 2b  73 75 62 63 6f 75 6e 74  |reedef%+subcount|
0000b830  25 29 3d 61 73 63 74 25  20 80 20 73 75 62 63 6f  |%)=asct% . subco|
0000b840  75 6e 74 25 3c 28 6e 75  6d 62 65 72 69 63 6f 6e  |unt%<(numbericon|
0000b850  73 25 21 30 29 20 8c 0d  51 0e 32 f2 64 72 61 77  |s%!0) ..Q.2.draw|
0000b860  62 61 72 32 28 74 6f 70  78 25 2b 28 73 75 62 63  |bar2(topx%+(subc|
0000b870  6f 75 6e 74 25 2a 32 35  29 2c 74 6f 70 79 25 2d  |ount%*25),topy%-|
0000b880  70 66 61 66 25 2a 32 32  29 0d 51 18 05 cd 0d 51  |pfaf%*22).Q....Q|
0000b890  22 0f ed 20 73 75 62 63  6f 75 6e 74 25 0d 51 2c  |".. subcount%.Q,|
0000b8a0  28 e7 20 3f 28 74 72 65  65 64 65 66 25 2b 6e 75  |(. ?(treedef%+nu|
0000b8b0  6d 62 65 72 69 63 6f 6e  73 25 21 30 29 3d 61 73  |mbericons%!0)=as|
0000b8c0  63 6c 25 20 8c 0d 51 36  3c f2 64 72 61 77 62 6f  |cl% ..Q6<.drawbo|
0000b8d0  74 62 61 72 32 28 74 6f  70 78 25 2b 28 28 6e 75  |tbar2(topx%+((nu|
0000b8e0  6d 62 65 72 69 63 6f 6e  73 25 21 30 29 2a 32 35  |mbericons%!0)*25|
0000b8f0  29 2c 74 6f 70 79 25 2d  70 66 61 66 25 2a 32 32  |),topy%-pfaf%*22|
0000b900  29 0d 51 40 05 cd 0d 51  4a 28 e7 20 3f 28 74 72  |).Q@...QJ(. ?(tr|
0000b910  65 65 64 65 66 25 2b 6e  75 6d 62 65 72 69 63 6f  |eedef%+numberico|
0000b920  6e 73 25 21 30 29 3d 61  73 63 74 25 20 8c 0d 51  |ns%!0)=asct% ..Q|
0000b930  54 3a f2 64 72 61 77 74  62 61 72 32 28 74 6f 70  |T:.drawtbar2(top|
0000b940  78 25 2b 28 28 6e 75 6d  62 65 72 69 63 6f 6e 73  |x%+((numbericons|
0000b950  25 21 30 29 2a 32 35 29  2c 74 6f 70 79 25 2d 70  |%!0)*25),topy%-p|
0000b960  66 61 66 25 2a 32 32 29  0d 51 5e 05 cd 0d 51 68  |faf%*22).Q^...Qh|
0000b970  0c 70 66 61 66 25 2b 3d  31 0d 51 72 0b ed 20 70  |.pfaf%+=1.Qr.. p|
0000b980  75 6b 65 25 0d 51 7c 0c  f2 65 6e 64 70 61 74 68  |uke%.Q|..endpath|
0000b990  0d 51 86 05 cd 0d 51 90  05 3a 0d 51 9a 14 66 69  |.Q....Q..:.Q..fi|
0000b9a0  6c 65 6c 65 6e 67 74 68  25 3d a2 23 58 25 0d 51  |lelength%=.#X%.Q|
0000b9b0  a4 0f e7 20 63 6f 6c 75  6d 6e 73 20 8c 0d 51 ae  |... columns ..Q.|
0000b9c0  0b cf 23 58 25 3d 33 32  0d 51 b8 22 62 6c 6f 63  |..#X%=32.Q."bloc|
0000b9d0  6b 32 25 21 30 3d a4 74  6f 64 72 61 77 28 64 75  |k2%!0=.todraw(du|
0000b9e0  6d 6d 79 78 25 2b 32 35  30 29 0d 51 c2 1f c8 99  |mmyx%+250).Q....|
0000b9f0  20 22 4f 53 5f 47 42 50  42 22 2c 32 2c 58 25 2c  | "OS_GBPB",2,X%,|
0000ba00  62 6c 6f 63 6b 32 25 2c  34 0d 51 cc 05 cd 0d 51  |block2%,4.Q....Q|
0000ba10  d6 08 d9 23 58 25 0d 51  e0 18 c8 99 20 22 48 6f  |...#X%.Q.... "Ho|
0000ba20  75 72 67 6c 61 73 73 5f  53 6d 61 73 68 22 0d 51  |urglass_Smash".Q|
0000ba30  ea 1f ff 28 22 53 45 54  54 59 50 45 20 22 2b 66  |...("SETTYPE "+f|
0000ba40  69 6c 65 24 2b 22 20 26  41 46 46 22 29 0d 51 f4  |ile$+" &AFF").Q.|
0000ba50  10 62 6c 6f 63 6b 25 21  30 3d 32 35 36 0d 51 fe  |.block%!0=256.Q.|
0000ba60  0f 62 6c 6f 63 6b 25 21  31 32 3d 30 0d 52 08 0f  |.block%!12=0.R..|
0000ba70  62 6c 6f 63 6b 25 21 31  36 3d 33 0d 52 12 13 62  |block%!16=3.R..b|
0000ba80  6c 6f 63 6b 25 21 32 30  3d 77 69 6e 64 25 0d 52  |lock%!20=wind%.R|
0000ba90  1c 13 62 6c 6f 63 6b 25  21 32 34 3d 69 63 6f 6e  |..block%!24=icon|
0000baa0  25 0d 52 26 10 62 6c 6f  63 6b 25 21 32 38 3d 78  |%.R&.block%!28=x|
0000bab0  25 0d 52 30 10 62 6c 6f  63 6b 25 21 33 32 3d 79  |%.R0.block%!32=y|
0000bac0  25 0d 52 3a 19 62 6c 6f  63 6b 25 21 33 36 3d 66  |%.R:.block%!36=f|
0000bad0  69 6c 65 6c 65 6e 67 74  68 25 0d 52 44 12 62 6c  |ilelength%.RD.bl|
0000bae0  6f 63 6b 25 21 34 30 3d  26 61 66 66 0d 52 4e 19  |ock%!40=&aff.RN.|
0000baf0  24 28 62 6c 6f 63 6b 25  2b 34 34 29 3d 66 69 6c  |$(block%+44)=fil|
0000bb00  65 24 2b bd 30 0d 52 58  25 c8 99 26 30 30 30 34  |e$+.0.RX%..&0004|
0000bb10  30 30 45 37 2c 31 37 2c  62 6c 6f 63 6b 25 2c 77  |00E7,17,block%,w|
0000bb20  69 6e 64 25 2c 69 63 6f  6e 25 0d 52 62 05 e1 0d  |ind%,icon%.Rb...|
0000bb30  52 6c 05 3a 0d 52 76 25  dd f2 6d 61 6b 65 64 72  |Rl.:.Rv%..makedr|
0000bb40  61 77 66 69 6c 65 68 65  61 64 65 72 28 78 6c 2c  |awfileheader(xl,|
0000bb50  79 6c 2c 78 68 2c 79 68  29 0d 52 80 17 24 28 62  |yl,xh,yh).R..$(b|
0000bb60  6c 6f 63 6b 32 25 2b 30  29 3d 22 44 72 61 77 22  |lock2%+0)="Draw"|
0000bb70  0d 52 8a 11 62 6c 6f 63  6b 32 25 21 34 3d 32 30  |.R..block2%!4=20|
0000bb80  31 0d 52 94 0f 62 6c 6f  63 6b 32 25 21 38 3d 30  |1.R..block2%!8=0|
0000bb90  0d 52 9e 20 24 28 62 6c  6f 63 6b 32 25 2b 31 32  |.R. $(block2%+12|
0000bba0  29 3d 22 54 72 65 65 20  20 20 20 20 20 20 20 22  |)="Tree        "|
0000bbb0  0d 52 a8 1a 62 6c 6f 63  6b 32 25 21 32 34 3d a4  |.R..block2%!24=.|
0000bbc0  74 6f 64 72 61 77 28 78  6c 29 0d 52 b2 1a 62 6c  |todraw(xl).R..bl|
0000bbd0  6f 63 6b 32 25 21 32 38  3d a4 74 6f 64 72 61 77  |ock2%!28=.todraw|
0000bbe0  28 79 6c 29 0d 52 bc 1a  62 6c 6f 63 6b 32 25 21  |(yl).R..block2%!|
0000bbf0  33 32 3d a4 74 6f 64 72  61 77 28 78 68 29 0d 52  |32=.todraw(xh).R|
0000bc00  c6 1a 62 6c 6f 63 6b 32  25 21 33 36 3d a4 74 6f  |..block2%!36=.to|
0000bc10  64 72 61 77 28 79 68 29  0d 52 d0 20 c8 99 20 22  |draw(yh).R. .. "|
0000bc20  4f 53 5f 47 42 50 42 22  2c 32 2c 58 25 2c 62 6c  |OS_GBPB",2,X%,bl|
0000bc30  6f 63 6b 32 25 2c 34 30  0d 52 da 05 e1 0d 52 e4  |ock2%,40.R....R.|
0000bc40  05 3a 0d 52 ee 2d dd f2  6f 62 6a 65 63 74 68 65  |.:.R.-..objecthe|
0000bc50  61 64 65 72 28 74 79 70  65 2c 73 69 7a 65 2c 78  |ader(type,size,x|
0000bc60  6c 2c 79 6c 2c 78 68 2c  79 68 2c 66 6c 67 29 0d  |l,yl,xh,yh,flg).|
0000bc70  52 f8 12 62 6c 6f 63 6b  32 25 21 30 3d 74 79 70  |R..block2%!0=typ|
0000bc80  65 0d 53 02 12 62 6c 6f  63 6b 32 25 21 34 3d 73  |e.S..block2%!4=s|
0000bc90  69 7a 65 0d 53 0c 0b e7  20 66 6c 67 20 8c 0d 53  |ize.S... flg ..S|
0000bca0  16 19 62 6c 6f 63 6b 32  25 21 38 3d a4 74 6f 64  |..block2%!8=.tod|
0000bcb0  72 61 77 28 78 6c 29 0d  53 20 1a 62 6c 6f 63 6b  |raw(xl).S .block|
0000bcc0  32 25 21 31 32 3d a4 74  6f 64 72 61 77 28 79 6c  |2%!12=.todraw(yl|
0000bcd0  29 0d 53 2a 1a 62 6c 6f  63 6b 32 25 21 31 36 3d  |).S*.block2%!16=|
0000bce0  a4 74 6f 64 72 61 77 28  78 68 29 0d 53 34 1a 62  |.todraw(xh).S4.b|
0000bcf0  6c 6f 63 6b 32 25 21 32  30 3d a4 74 6f 64 72 61  |lock2%!20=.todra|
0000bd00  77 28 79 68 29 0d 53 3e  20 c8 99 20 22 4f 53 5f  |w(yh).S> .. "OS_|
0000bd10  47 42 50 42 22 2c 32 2c  58 25 2c 62 6c 6f 63 6b  |GBPB",2,X%,block|
0000bd20  32 25 2c 32 34 0d 53 48  05 cc 0d 53 52 1f c8 99  |2%,24.SH...SR...|
0000bd30  20 22 4f 53 5f 47 42 50  42 22 2c 32 2c 58 25 2c  | "OS_GBPB",2,X%,|
0000bd40  62 6c 6f 63 6b 32 25 2c  38 0d 53 5c 05 cd 0d 53  |block2%,8.S\...S|
0000bd50  66 05 e1 0d 53 70 05 3a  0d 53 7a 11 dd a4 74 6f  |f...Sp.:.Sz...to|
0000bd60  64 72 61 77 28 6e 75 6d  29 0d 53 84 0c 3d 6e 75  |draw(num).S..=nu|
0000bd70  6d 2a 32 35 36 0d 53 8e  05 3a 0d 53 98 17 dd f2  |m*256.S..:.S....|
0000bd80  70 61 74 68 68 65 61 64  65 72 28 72 2c 67 2c 62  |pathheader(r,g,b|
0000bd90  29 0d 53 a2 10 62 6c 6f  63 6b 32 25 21 30 3d 2d  |).S..block2%!0=-|
0000bda0  31 0d 53 ac 12 3f 28 62  6c 6f 63 6b 32 25 2b 34  |1.S..?(block2%+4|
0000bdb0  29 3d 30 0d 53 b6 12 3f  28 62 6c 6f 63 6b 32 25  |)=0.S..?(block2%|
0000bdc0  2b 35 29 3d 72 0d 53 c0  12 3f 28 62 6c 6f 63 6b  |+5)=r.S..?(block|
0000bdd0  32 25 2b 36 29 3d 67 0d  53 ca 12 3f 28 62 6c 6f  |2%+6)=g.S..?(blo|
0000bde0  63 6b 32 25 2b 37 29 3d  62 0d 53 d4 0f 62 6c 6f  |ck2%+7)=b.S..blo|
0000bdf0  63 6b 32 25 21 38 3d 30  0d 53 de 17 62 6c 6f 63  |ck2%!8=0.S..bloc|
0000be00  6b 32 25 21 31 32 3d 25  31 31 30 31 30 30 30 0d  |k2%!12=%1101000.|
0000be10  53 e8 20 c8 99 20 22 4f  53 5f 47 42 50 42 22 2c  |S. .. "OS_GBPB",|
0000be20  32 2c 58 25 2c 62 6c 6f  63 6b 32 25 2c 31 36 0d  |2,X%,block2%,16.|
0000be30  53 f2 05 e1 0d 53 fc 05  3a 0d 54 06 17 dd f2 64  |S....S..:.T....d|
0000be40  72 61 77 66 69 6c 65 6d  6f 76 65 28 78 2c 79 29  |rawfilemove(x,y)|
0000be50  0d 54 10 0f 62 6c 6f 63  6b 32 25 21 30 3d 32 0d  |.T..block2%!0=2.|
0000be60  54 1a 18 62 6c 6f 63 6b  32 25 21 34 3d a4 74 6f  |T..block2%!4=.to|
0000be70  64 72 61 77 28 78 29 0d  54 24 18 62 6c 6f 63 6b  |draw(x).T$.block|
0000be80  32 25 21 38 3d a4 74 6f  64 72 61 77 28 79 29 0d  |2%!8=.todraw(y).|
0000be90  54 2e 20 c8 99 20 22 4f  53 5f 47 42 50 42 22 2c  |T. .. "OS_GBPB",|
0000bea0  32 2c 58 25 2c 62 6c 6f  63 6b 32 25 2c 31 32 0d  |2,X%,block2%,12.|
0000beb0  54 38 05 e1 0d 54 42 05  3a 0d 54 4c 17 dd f2 64  |T8...TB.:.TL...d|
0000bec0  72 61 77 66 69 6c 65 64  72 61 77 28 78 2c 79 29  |rawfiledraw(x,y)|
0000bed0  0d 54 56 0f 62 6c 6f 63  6b 32 25 21 30 3d 38 0d  |.TV.block2%!0=8.|
0000bee0  54 60 18 62 6c 6f 63 6b  32 25 21 34 3d a4 74 6f  |T`.block2%!4=.to|
0000bef0  64 72 61 77 28 78 29 0d  54 6a 18 62 6c 6f 63 6b  |draw(x).Tj.block|
0000bf00  32 25 21 38 3d a4 74 6f  64 72 61 77 28 79 29 0d  |2%!8=.todraw(y).|
0000bf10  54 74 20 c8 99 20 22 4f  53 5f 47 42 50 42 22 2c  |Tt .. "OS_GBPB",|
0000bf20  32 2c 58 25 2c 62 6c 6f  63 6b 32 25 2c 31 32 0d  |2,X%,block2%,12.|
0000bf30  54 7e 05 e1 0d 54 88 05  3a 0d 54 92 0d dd f2 65  |T~...T..:.T....e|
0000bf40  6e 64 70 61 74 68 0d 54  9c 0f 62 6c 6f 63 6b 32  |ndpath.T..block2|
0000bf50  25 21 30 3d 30 0d 54 a6  1f c8 99 20 22 4f 53 5f  |%!0=0.T.... "OS_|
0000bf60  47 42 50 42 22 2c 32 2c  58 25 2c 62 6c 6f 63 6b  |GBPB",2,X%,block|
0000bf70  32 25 2c 34 0d 54 b0 05  e1 0d 54 ba 05 3a 0d 54  |2%,4.T....T..:.T|
0000bf80  c4 0c dd f2 6f 62 6a 65  63 74 0d 54 ce 18 62 6c  |....object.T..bl|
0000bf90  6f 63 6b 32 25 21 30 3d  28 30 2b 31 29 2a 26 31  |ock2%!0=(0+1)*&1|
0000bfa0  30 30 0d 54 d8 0f 62 6c  6f 63 6b 32 25 21 34 3d  |00.T..block2%!4=|
0000bfb0  30 0d 54 e2 14 7c 28 62  6c 6f 63 6b 32 25 2b 38  |0.T..|(block2%+8|
0000bfc0  29 3d 31 2e 30 0d 54 ec  10 62 6c 6f 63 6b 32 25  |)=1.0.T..block2%|
0000bfd0  21 31 36 3d 32 0d 54 f6  10 62 6c 6f 63 6b 32 25  |!16=2.T..block2%|
0000bfe0  21 32 30 3d 30 0d 55 00  10 62 6c 6f 63 6b 32 25  |!20=0.U..block2%|
0000bff0  21 32 34 3d 30 0d 55 0a  10 62 6c 6f 63 6b 32 25  |!24=0.U..block2%|
0000c000  21 32 38 3d 30 0d 55 14  10 62 6c 6f 63 6b 32 25  |!28=0.U..block2%|
0000c010  21 33 32 3d 30 0d 55 1e  10 62 6c 6f 63 6b 32 25  |!32=0.U..block2%|
0000c020  21 33 36 3d 31 0d 55 28  10 62 6c 6f 63 6b 32 25  |!36=1.U(.block2%|
0000c030  21 34 30 3d 31 0d 55 32  10 62 6c 6f 63 6b 32 25  |!40=1.U2.block2%|
0000c040  21 34 34 3d 31 0d 55 3c  10 62 6c 6f 63 6b 32 25  |!44=1.U<.block2%|
0000c050  21 34 38 3d 30 0d 55 46  10 62 6c 6f 63 6b 32 25  |!48=0.UF.block2%|
0000c060  21 35 32 3d 31 0d 55 50  10 62 6c 6f 63 6b 32 25  |!52=1.UP.block2%|
0000c070  21 35 36 3d 30 0d 55 5a  13 62 6c 6f 63 6b 32 25  |!56=0.UZ.block2%|
0000c080  21 36 30 3d 34 30 39 36  0d 55 64 20 c8 99 20 22  |!60=4096.Ud .. "|
0000c090  4f 53 5f 47 42 50 42 22  2c 32 2c 58 25 2c 62 6c  |OS_GBPB",2,X%,bl|
0000c0a0  6f 63 6b 32 25 2c 36 34  0d 55 6e 05 e1 0d 55 78  |ock2%,64.Un...Ux|
0000c0b0  05 3a 0d 55 82 13 dd f2  64 72 61 77 74 62 61 72  |.:.U....drawtbar|
0000c0c0  28 78 2c 79 29 0d 55 8c  32 f2 6f 62 6a 65 63 74  |(x,y).U.2.object|
0000c0d0  68 65 61 64 65 72 28 32  2c 32 34 2b 31 36 2b 32  |header(2,24+16+2|
0000c0e0  34 2b 32 34 2b 34 2c 78  2c 79 2d 32 32 2c 78 2b  |4+24+4,x,y-22,x+|
0000c0f0  31 38 2c 79 2c b9 29 0d  55 96 22 f2 70 61 74 68  |18,y,.).U.".path|
0000c100  68 65 61 64 65 72 28 66  62 6f 78 72 2c 66 62 6f  |header(fboxr,fbo|
0000c110  78 67 2c 66 62 6f 78 62  29 0d 55 a0 16 f2 64 72  |xg,fboxb).U...dr|
0000c120  61 77 66 69 6c 65 6d 6f  76 65 28 78 2c 79 29 0d  |awfilemove(x,y).|
0000c130  55 aa 19 f2 64 72 61 77  66 69 6c 65 64 72 61 77  |U...drawfiledraw|
0000c140  28 78 2c 79 2d 32 32 29  0d 55 b4 19 f2 64 72 61  |(x,y-22).U...dra|
0000c150  77 66 69 6c 65 6d 6f 76  65 28 78 2c 79 2d 31 31  |wfilemove(x,y-11|
0000c160  29 0d 55 be 1c f2 64 72  61 77 66 69 6c 65 64 72  |).U...drawfiledr|
0000c170  61 77 28 78 2b 31 38 2c  79 2d 31 31 29 0d 55 c8  |aw(x+18,y-11).U.|
0000c180  0c f2 65 6e 64 70 61 74  68 0d 55 d2 05 e1 0d 55  |..endpath.U....U|
0000c190  dc 05 3a 0d 55 e6 15 dd  f2 64 72 61 77 62 6f 74  |..:.U....drawbot|
0000c1a0  62 61 72 28 78 2c 79 29  0d 55 f0 32 f2 6f 62 6a  |bar(x,y).U.2.obj|
0000c1b0  65 63 74 68 65 61 64 65  72 28 32 2c 32 34 2b 31  |ectheader(2,24+1|
0000c1c0  36 2b 32 34 2b 32 34 2b  34 2c 78 2c 79 2d 31 31  |6+24+24+4,x,y-11|
0000c1d0  2c 78 2b 31 38 2c 79 2c  b9 29 0d 55 fa 22 f2 70  |,x+18,y,.).U.".p|
0000c1e0  61 74 68 68 65 61 64 65  72 28 66 62 6f 78 72 2c  |athheader(fboxr,|
0000c1f0  66 62 6f 78 67 2c 66 62  6f 78 62 29 0d 56 04 16  |fboxg,fboxb).V..|
0000c200  f2 64 72 61 77 66 69 6c  65 6d 6f 76 65 28 78 2c  |.drawfilemove(x,|
0000c210  79 29 0d 56 0e 19 f2 64  72 61 77 66 69 6c 65 64  |y).V...drawfiled|
0000c220  72 61 77 28 78 2c 79 2d  31 31 29 0d 56 18 19 f2  |raw(x,y-11).V...|
0000c230  64 72 61 77 66 69 6c 65  6d 6f 76 65 28 78 2c 79  |drawfilemove(x,y|
0000c240  2d 31 31 29 0d 56 22 1c  f2 64 72 61 77 66 69 6c  |-11).V"..drawfil|
0000c250  65 64 72 61 77 28 78 2b  31 38 2c 79 2d 31 31 29  |edraw(x+18,y-11)|
0000c260  0d 56 2c 0c f2 65 6e 64  70 61 74 68 0d 56 36 05  |.V,..endpath.V6.|
0000c270  e1 0d 56 40 05 3a 0d 56  4a 12 dd f2 64 72 61 77  |..V@.:.VJ...draw|
0000c280  62 61 72 28 78 2c 79 29  0d 56 54 2f f2 6f 62 6a  |bar(x,y).VT/.obj|
0000c290  65 63 74 68 65 61 64 65  72 28 32 2c 32 34 2b 31  |ectheader(2,24+1|
0000c2a0  36 2b 32 34 2b 34 2c 78  2c 79 2d 32 32 2c 78 2b  |6+24+4,x,y-22,x+|
0000c2b0  31 38 2c 79 2c b9 29 0d  56 5e 22 f2 70 61 74 68  |18,y,.).V^".path|
0000c2c0  68 65 61 64 65 72 28 66  62 6f 78 72 2c 66 62 6f  |header(fboxr,fbo|
0000c2d0  78 67 2c 66 62 6f 78 62  29 0d 56 68 16 f2 64 72  |xg,fboxb).Vh..dr|
0000c2e0  61 77 66 69 6c 65 6d 6f  76 65 28 78 2c 79 29 0d  |awfilemove(x,y).|
0000c2f0  56 72 19 f2 64 72 61 77  66 69 6c 65 64 72 61 77  |Vr..drawfiledraw|
0000c300  28 78 2c 79 2d 32 32 29  0d 56 7c 0c f2 65 6e 64  |(x,y-22).V|..end|
0000c310  70 61 74 68 0d 56 86 05  e1 0d 56 90 05 3a 0d 56  |path.V....V..:.V|
0000c320  9a 1d dd f2 66 6f 6e 74  74 61 62 6c 65 28 6e 75  |....fonttable(nu|
0000c330  6d 62 65 72 2c 66 6f 6e  74 24 29 0d 56 a4 1c e3  |mber,font$).V...|
0000c340  20 62 6c 61 6e 6b 25 3d  30 20 b8 20 32 30 2b a9  | blank%=0 . 20+.|
0000c350  28 66 6f 6e 74 24 29 0d  56 ae 17 3f 28 62 6c 6f  |(font$).V..?(blo|
0000c360  63 6b 32 25 2b 62 6c 61  6e 6b 25 29 3d 30 0d 56  |ck2%+blank%)=0.V|
0000c370  b8 0b ed 62 6c 61 6e 6b  25 0d 56 c2 17 3f 28 62  |...blank%.V..?(b|
0000c380  6c 6f 63 6b 32 25 2b 30  29 3d 6e 75 6d 62 65 72  |lock2%+0)=number|
0000c390  0d 56 cc 19 24 28 62 6c  6f 63 6b 32 25 2b 31 29  |.V..$(block2%+1)|
0000c3a0  3d 66 6f 6e 74 24 2b bd  30 0d 56 d6 33 c8 99 20  |=font$+.0.V.3.. |
0000c3b0  22 4f 53 5f 47 42 50 42  22 2c 32 2c 58 25 2c 62  |"OS_GBPB",2,X%,b|
0000c3c0  6c 6f 63 6b 32 25 2c a4  66 6f 6e 74 74 61 62 6c  |lock2%,.fonttabl|
0000c3d0  65 73 69 7a 65 28 66 6f  6e 74 24 29 0d 56 e0 05  |esize(font$).V..|
0000c3e0  e1 0d 56 ea 05 3a 0d 56  f4 18 dd a4 66 6f 6e 74  |..V..:.V....font|
0000c3f0  74 61 62 6c 65 73 69 7a  65 28 46 4f 24 29 0d 56  |tablesize(FO$).V|
0000c400  fe 07 6c 3d 30 0d 57 08  0e 46 4f 24 3d 46 4f 24  |..l=0.W..FO$=FO$|
0000c410  2b bd 30 0d 57 12 0d 6c  2b 3d a9 28 46 4f 24 29  |+.0.W..l+=.(FO$)|
0000c420  0d 57 1c 0c 63 73 3d 6c  20 83 20 34 0d 57 26 14  |.W..cs=l . 4.W&.|
0000c430  e7 20 63 73 3e 30 20 8c  20 63 73 3d 34 2d 63 73  |. cs>0 . cs=4-cs|
0000c440  0d 57 30 0e 63 73 2b 3d  a9 28 46 4f 24 29 0d 57  |.W0.cs+=.(FO$).W|
0000c450  3a 0a 3d 63 73 2b 31 32  0d 57 44 05 3a 0d 57 4e  |:.=cs+12.WD.:.WN|
0000c460  2d dd f2 74 65 78 74 6f  62 6a 65 63 74 28 6e 75  |-..textobject(nu|
0000c470  6d 62 65 72 2c 72 2c 67  2c 62 2c 70 78 2c 70 79  |mber,r,g,b,px,py|
0000c480  2c 78 2c 79 2c 73 74 72  24 29 0d 57 58 0f 4d 58  |,x,y,str$).WX.MX|
0000c490  50 3d 70 78 2a 31 30 30  30 0d 57 62 0f 4d 59 50  |P=px*1000.Wb.MYP|
0000c4a0  3d 70 79 2a 31 30 30 30  0d 57 6c 23 c8 99 20 26  |=py*1000.Wl#.. &|
0000c4b0  34 30 30 38 38 2c 2c 4d  58 50 2c 4d 59 50 20 b8  |40088,,MXP,MYP .|
0000c4c0  20 2c 4d 4d 58 50 2c 4d  4d 59 50 0d 57 76 19 4d  | ,MMXP,MMYP.Wv.M|
0000c4d0  4d 58 50 3d 4d 4d 58 50  2a 28 a9 28 73 74 72 24  |MXP=MMXP*(.(str$|
0000c4e0  29 2f 32 29 0d 57 80 08  73 78 3d 30 0d 57 8a 13  |)/2).W..sx=0.W..|
0000c4f0  e3 20 62 3d 30 20 b8 20  a9 28 73 74 72 24 29 0d  |. b=0 . .(str$).|
0000c500  57 94 3b f2 6f 62 6a 65  63 74 68 65 61 64 65 72  |W.;.objectheader|
0000c510  28 31 2c 32 34 2b a4 66  6f 6e 74 73 69 7a 65 28  |(1,24+.fontsize(|
0000c520  73 74 72 24 29 2c 78 2c  79 2c 78 2b 4d 4d 58 50  |str$),x,y,x+MMXP|
0000c530  2c 79 2b 4d 4d 59 50 2c  b9 29 0d 57 9e 1d e7 20  |,y+MMYP,.).W... |
0000c540  78 3e 72 65 63 61 6c 63  78 25 20 8c 20 72 65 63  |x>recalcx% . rec|
0000c550  61 6c 63 78 25 3d 78 0d  57 a8 25 e7 20 78 2b 4d  |alcx%=x.W.%. x+M|
0000c560  4d 58 50 3e 64 75 6d 6d  79 78 25 20 8c 20 64 75  |MXP>dummyx% . du|
0000c570  6d 6d 79 78 25 3d 78 2b  4d 4d 58 50 0d 57 b2 1b  |mmyx%=x+MMXP.W..|
0000c580  e3 20 62 6c 61 6e 6b 25  3d 30 20 b8 20 34 30 2b  |. blank%=0 . 40+|
0000c590  a9 28 73 74 72 24 29 0d  57 bc 17 3f 28 62 6c 6f  |.(str$).W..?(blo|
0000c5a0  63 6b 32 25 2b 62 6c 61  6e 6b 25 29 3d 30 0d 57  |ck2%+blank%)=0.W|
0000c5b0  c6 0b ed 62 6c 61 6e 6b  25 0d 57 d0 12 3f 28 62  |...blank%.W..?(b|
0000c5c0  6c 6f 63 6b 32 25 2b 30  29 3d 30 0d 57 da 12 3f  |lock2%+0)=0.W..?|
0000c5d0  28 62 6c 6f 63 6b 32 25  2b 31 29 3d 72 0d 57 e4  |(block2%+1)=r.W.|
0000c5e0  12 3f 28 62 6c 6f 63 6b  32 25 2b 32 29 3d 67 0d  |.?(block2%+2)=g.|
0000c5f0  57 ee 12 3f 28 62 6c 6f  63 6b 32 25 2b 33 29 3d  |W..?(block2%+3)=|
0000c600  62 0d 57 f8 12 3f 28 62  6c 6f 63 6b 32 25 2b 34  |b.W..?(block2%+4|
0000c610  29 3d 30 0d 58 02 14 3f  28 62 6c 6f 63 6b 32 25  |)=0.X..?(block2%|
0000c620  2b 35 29 3d 32 35 35 0d  58 0c 14 3f 28 62 6c 6f  |+5)=255.X..?(blo|
0000c630  63 6b 32 25 2b 36 29 3d  32 35 35 0d 58 16 14 3f  |ck2%+6)=255.X..?|
0000c640  28 62 6c 6f 63 6b 32 25  2b 37 29 3d 32 35 35 0d  |(block2%+7)=255.|
0000c650  58 20 14 62 6c 6f 63 6b  32 25 21 38 3d 6e 75 6d  |X .block2%!8=num|
0000c660  62 65 72 0d 58 2a 15 62  6c 6f 63 6b 32 25 21 31  |ber.X*.block2%!1|
0000c670  32 3d 70 78 2a 36 34 30  0d 58 34 15 62 6c 6f 63  |2=px*640.X4.bloc|
0000c680  6b 32 25 21 31 36 3d 70  79 2a 36 34 30 0d 58 3e  |k2%!16=py*640.X>|
0000c690  19 62 6c 6f 63 6b 32 25  21 32 30 3d a4 74 6f 64  |.block2%!20=.tod|
0000c6a0  72 61 77 28 78 29 0d 58  48 19 62 6c 6f 63 6b 32  |raw(x).XH.block2|
0000c6b0  25 21 32 34 3d a4 74 6f  64 72 61 77 28 79 29 0d  |%!24=.todraw(y).|
0000c6c0  58 52 19 24 28 62 6c 6f  63 6b 32 25 2b 32 38 29  |XR.$(block2%+28)|
0000c6d0  3d 73 74 72 24 2b bd 30  0d 58 5c 2d c8 99 20 22  |=str$+.0.X\-.. "|
0000c6e0  4f 53 5f 47 42 50 42 22  2c 32 2c 58 25 2c 62 6c  |OS_GBPB",2,X%,bl|
0000c6f0  6f 63 6b 32 25 2c a4 66  6f 6e 74 73 69 7a 65 28  |ock2%,.fontsize(|
0000c700  73 74 72 24 29 0d 58 66  05 e1 0d 58 70 05 3a 0d  |str$).Xf...Xp.:.|
0000c710  58 7a 13 dd a4 66 6f 6e  74 73 69 7a 65 28 46 4f  |Xz...fontsize(FO|
0000c720  24 29 0d 58 84 07 6c 3d  30 0d 58 8e 0e 46 4f 24  |$).X..l=0.X..FO$|
0000c730  3d 46 4f 24 2b bd 30 0d  58 98 0d 6c 2b 3d a9 28  |=FO$+.0.X..l+=.(|
0000c740  46 4f 24 29 0d 58 a2 0c  63 73 3d 6c 20 83 20 34  |FO$).X..cs=l . 4|
0000c750  0d 58 ac 14 e7 20 63 73  3e 30 20 8c 20 63 73 3d  |.X... cs>0 . cs=|
0000c760  34 2d 63 73 0d 58 b6 0e  63 73 2b 3d a9 28 46 4f  |4-cs.X..cs+=.(FO|
0000c770  24 29 0d 58 c0 0a 3d 63  73 2b 32 38 0d 58 ca 05  |$).X..=cs+28.X..|
0000c780  3a 0d 58 d4 17 dd f2 73  70 72 69 74 65 28 58 58  |:.X....sprite(XX|
0000c790  4d 59 2c 59 59 4d 59 29  0d 58 de 1b 66 63 61 63  |MY,YYMY).X..fcac|
0000c7a0  6b 24 3d a4 67 4c 6e 28  24 66 69 6c 65 6e 61 6d  |k$=.gLn($filenam|
0000c7b0  65 25 29 0d 58 e8 21 e7  20 74 79 70 65 25 21 30  |e%).X.!. type%!0|
0000c7c0  3e 26 46 46 46 20 84 20  74 79 70 65 25 21 30 3c  |>&FFF . type%!0<|
0000c7d0  26 30 20 8c 0d 58 f2 18  20 20 e7 20 c0 66 63 61  |&0 ..X..  . .fca|
0000c7e0  63 6b 24 2c 31 29 3d 22  21 22 20 8c 0d 58 fc 15  |ck$,1)="!" ..X..|
0000c7f0  20 20 20 20 76 61 6c 69  64 24 3d 66 63 61 63 6b  |    valid$=fcack|
0000c800  24 0d 59 06 36 20 20 e7  20 ac 20 a4 73 70 72 69  |$.Y.6  . . .spri|
0000c810  74 65 65 78 69 73 74 73  28 76 61 6c 69 64 24 29  |teexists(valid$)|
0000c820  20 8c 20 76 61 6c 69 64  24 3d 22 61 70 70 6c 69  | . valid$="appli|
0000c830  63 61 74 69 6f 6e 22 0d  59 10 07 20 20 cc 0d 59  |cation".Y..  ..Y|
0000c840  1a 1a 20 20 20 20 76 61  6c 69 64 24 3d 22 64 69  |..    valid$="di|
0000c850  72 65 63 74 6f 72 79 22  0d 59 24 07 20 20 cd 0d  |rectory".Y$.  ..|
0000c860  59 2e 05 cc 0d 59 38 22  20 20 76 61 6c 69 64 24  |Y....Y8"  valid$|
0000c870  3d 22 66 69 6c 65 5f 22  2b a4 70 61 64 28 74 79  |="file_"+.pad(ty|
0000c880  70 65 25 21 30 29 0d 59  42 33 20 20 e7 20 ac 20  |pe%!0).YB3  . . |
0000c890  a4 73 70 72 69 74 65 65  78 69 73 74 73 28 76 61  |.spriteexists(va|
0000c8a0  6c 69 64 24 29 20 8c 20  76 61 6c 69 64 24 3d 22  |lid$) . valid$="|
0000c8b0  66 69 6c 65 5f 78 78 78  22 0d 59 4c 05 cd 0d 59  |file_xxx".YL...Y|
0000c8c0  56 05 3a 0d 59 60 0b f2  73 75 62 73 70 72 0d 59  |V.:.Y`..subspr.Y|
0000c8d0  6a 05 e1 0d 59 74 05 3a  0d 59 7e 0c dd f2 73 75  |j...Yt.:.Y~...su|
0000c8e0  62 73 70 72 0d 59 88 07  ea 20 85 0d 59 92 1e ee  |bspr.Y... ..Y...|
0000c8f0  20 85 20 ea 20 e7 20 9f  3d 31 33 34 20 8c 20 f2  | . . . .=134 . .|
0000c900  73 75 62 73 70 72 32 3a  e1 0d 59 9c 17 c8 99 20  |subspr2:..Y.... |
0000c910  26 34 30 30 45 41 20 b8  20 6e 65 77 61 72 65 61  |&400EA . newarea|
0000c920  0d 59 a6 30 c8 99 20 26  32 45 2c 32 35 36 2b 32  |.Y.0.. &2E,256+2|
0000c930  34 2c 6e 65 77 61 72 65  61 2c 76 61 6c 69 64 24  |4,newarea,valid$|
0000c940  20 b8 20 2c 2c 73 70 72  70 6f 69 6e 74 65 72 25  | . ,,sprpointer%|
0000c950  0d 59 b0 05 3a 0d 59 ba  1f 73 70 72 69 74 65 6c  |.Y..:.Y..spritel|
0000c960  65 6e 67 74 68 25 3d 73  70 72 70 6f 69 6e 74 65  |ength%=sprpointe|
0000c970  72 25 21 30 0d 59 c4 1f  6d 76 61 6c 3d 28 32 34  |r%!0.Y..mval=(24|
0000c980  2b 73 70 72 69 74 65 6c  65 6e 67 74 68 25 29 20  |+spritelength%) |
0000c990  83 20 34 0d 59 ce 1a e7  20 6d 76 61 6c 3e 30 20  |. 4.Y... mval>0 |
0000c9a0  8c 20 6d 76 61 6c 3d 34  2d 6d 76 61 6c 0d 59 d8  |. mval=4-mval.Y.|
0000c9b0  46 f2 6f 62 6a 65 63 74  68 65 61 64 65 72 28 35  |F.objectheader(5|
0000c9c0  2c 32 34 2b 73 70 72 69  74 65 6c 65 6e 67 74 68  |,24+spritelength|
0000c9d0  25 2b 6d 76 61 6c 2c 58  58 4d 59 2c 59 59 4d 59  |%+mval,XXMY,YYMY|
0000c9e0  2c 58 58 4d 59 2b 32 30  2c 59 59 4d 59 2b 32 30  |,XXMY+20,YYMY+20|
0000c9f0  2c b9 29 0d 59 e2 2f c8  99 20 22 4f 53 5f 47 42  |,.).Y./.. "OS_GB|
0000ca00  50 42 22 2c 32 2c 58 25  2c 73 70 72 70 6f 69 6e  |PB",2,X%,sprpoin|
0000ca10  74 65 72 25 2c 73 70 72  69 74 65 6c 65 6e 67 74  |ter%,spritelengt|
0000ca20  68 25 0d 59 ec 0f 62 6c  6f 63 6b 32 25 21 30 3d  |h%.Y..block2%!0=|
0000ca30  30 0d 59 f6 22 c8 99 20  22 4f 53 5f 47 42 50 42  |0.Y.".. "OS_GBPB|
0000ca40  22 2c 32 2c 58 25 2c 62  6c 6f 63 6b 32 25 2c 6d  |",2,X%,block2%,m|
0000ca50  76 61 6c 0d 5a 00 05 e1  0d 5a 0a 05 3a 0d 5a 14  |val.Z....Z..:.Z.|
0000ca60  0d dd f2 73 75 62 73 70  72 32 0d 5a 1e 07 ea 20  |...subspr2.Z... |
0000ca70  85 0d 5a 28 15 ee 20 85  20 ea 20 85 20 30 2c f6  |..Z(.. . . . 0,.|
0000ca80  24 2b c3 28 9e 29 0d 5a  32 18 c8 99 20 26 34 30  |$+.(.).Z2... &40|
0000ca90  30 65 61 20 b8 20 2c 6e  65 77 61 72 65 61 0d 5a  |0ea . ,newarea.Z|
0000caa0  3c 30 c8 99 20 26 32 65  2c 32 35 36 2b 32 34 2c  |<0.. &2e,256+24,|
0000cab0  6e 65 77 61 72 65 61 2c  76 61 6c 69 64 24 20 b8  |newarea,valid$ .|
0000cac0  20 2c 2c 73 70 72 70 6f  69 6e 74 65 72 25 0d 5a  | ,,sprpointer%.Z|
0000cad0  46 05 3a 0d 5a 50 1f 73  70 72 69 74 65 6c 65 6e  |F.:.ZP.spritelen|
0000cae0  67 74 68 25 3d 73 70 72  70 6f 69 6e 74 65 72 25  |gth%=sprpointer%|
0000caf0  21 30 0d 5a 5a 1f 6d 76  61 6c 3d 28 32 34 2b 73  |!0.ZZ.mval=(24+s|
0000cb00  70 72 69 74 65 6c 65 6e  67 74 68 25 29 20 83 20  |pritelength%) . |
0000cb10  34 0d 5a 64 1a e7 20 6d  76 61 6c 3e 30 20 8c 20  |4.Zd.. mval>0 . |
0000cb20  6d 76 61 6c 3d 34 2d 6d  76 61 6c 0d 5a 6e 46 f2  |mval=4-mval.ZnF.|
0000cb30  6f 62 6a 65 63 74 68 65  61 64 65 72 28 35 2c 32  |objectheader(5,2|
0000cb40  34 2b 73 70 72 69 74 65  6c 65 6e 67 74 68 25 2b  |4+spritelength%+|
0000cb50  6d 76 61 6c 2c 58 58 4d  59 2c 59 59 4d 59 2c 58  |mval,XXMY,YYMY,X|
0000cb60  58 4d 59 2b 32 30 2c 59  59 4d 59 2b 32 30 2c b9  |XMY+20,YYMY+20,.|
0000cb70  29 0d 5a 78 2f c8 99 20  22 4f 53 5f 47 42 50 42  |).Zx/.. "OS_GBPB|
0000cb80  22 2c 32 2c 58 25 2c 73  70 72 70 6f 69 6e 74 65  |",2,X%,sprpointe|
0000cb90  72 25 2c 73 70 72 69 74  65 6c 65 6e 67 74 68 25  |r%,spritelength%|
0000cba0  0d 5a 82 0f 62 6c 6f 63  6b 32 25 21 30 3d 30 0d  |.Z..block2%!0=0.|
0000cbb0  5a 8c 22 c8 99 20 22 4f  53 5f 47 42 50 42 22 2c  |Z.".. "OS_GBPB",|
0000cbc0  32 2c 58 25 2c 62 6c 6f  63 6b 32 25 2c 6d 76 61  |2,X%,block2%,mva|
0000cbd0  6c 0d 5a 96 05 e1 0d 5a  a0 05 3a 0d 5a aa 25 dd  |l.Z....Z..:.Z.%.|
0000cbe0  f2 49 63 6f 6e 43 61 72  65 74 28 77 69 6e 64 6f  |.IconCaret(windo|
0000cbf0  77 25 2c 69 63 6f 6e 25  2c 63 68 61 72 73 25 29  |w%,icon%,chars%)|
0000cc00  0d 5a b4 38 c8 99 20 22  57 69 6d 70 5f 53 65 74  |.Z.8.. "Wimp_Set|
0000cc10  43 61 72 65 74 50 6f 73  69 74 69 6f 6e 22 2c 77  |CaretPosition",w|
0000cc20  69 6e 64 6f 77 25 2c 69  63 6f 6e 25 2c 2c 2c 2d  |indow%,icon%,,,-|
0000cc30  31 2c 63 68 61 72 73 25  0d 5a be 05 e1 0d 5a c8  |1,chars%.Z....Z.|
0000cc40  05 3a 0d 5a d2 14 dd f2  64 72 61 77 74 62 61 72  |.:.Z....drawtbar|
0000cc50  32 28 78 2c 79 29 0d 5a  dc 16 f2 64 72 61 77 66  |2(x,y).Z...drawf|
0000cc60  69 6c 65 6d 6f 76 65 28  78 2c 79 29 0d 5a e6 19  |ilemove(x,y).Z..|
0000cc70  f2 64 72 61 77 66 69 6c  65 64 72 61 77 28 78 2c  |.drawfiledraw(x,|
0000cc80  79 2d 32 32 29 0d 5a f0  19 f2 64 72 61 77 66 69  |y-22).Z...drawfi|
0000cc90  6c 65 6d 6f 76 65 28 78  2c 79 2d 31 31 29 0d 5a  |lemove(x,y-11).Z|
0000cca0  fa 1c f2 64 72 61 77 66  69 6c 65 64 72 61 77 28  |...drawfiledraw(|
0000ccb0  78 2b 31 38 2c 79 2d 31  31 29 0d 5b 04 05 e1 0d  |x+18,y-11).[....|
0000ccc0  5b 0e 05 3a 0d 5b 18 16  dd f2 64 72 61 77 62 6f  |[..:.[....drawbo|
0000ccd0  74 62 61 72 32 28 78 2c  79 29 0d 5b 22 16 f2 64  |tbar2(x,y).["..d|
0000cce0  72 61 77 66 69 6c 65 6d  6f 76 65 28 78 2c 79 29  |rawfilemove(x,y)|
0000ccf0  0d 5b 2c 19 f2 64 72 61  77 66 69 6c 65 64 72 61  |.[,..drawfiledra|
0000cd00  77 28 78 2c 79 2d 31 31  29 0d 5b 36 19 f2 64 72  |w(x,y-11).[6..dr|
0000cd10  61 77 66 69 6c 65 6d 6f  76 65 28 78 2c 79 2d 31  |awfilemove(x,y-1|
0000cd20  31 29 0d 5b 40 1c f2 64  72 61 77 66 69 6c 65 64  |1).[@..drawfiled|
0000cd30  72 61 77 28 78 2b 31 38  2c 79 2d 31 31 29 0d 5b  |raw(x+18,y-11).[|
0000cd40  4a 05 e1 0d 5b 54 05 3a  0d 5b 5e 13 dd f2 64 72  |J...[T.:.[^...dr|
0000cd50  61 77 62 61 72 32 28 78  2c 79 29 0d 5b 68 16 f2  |awbar2(x,y).[h..|
0000cd60  64 72 61 77 66 69 6c 65  6d 6f 76 65 28 78 2c 79  |drawfilemove(x,y|
0000cd70  29 0d 5b 72 19 f2 64 72  61 77 66 69 6c 65 64 72  |).[r..drawfiledr|
0000cd80  61 77 28 78 2c 79 2d 32  32 29 0d 5b 7c 05 e1 0d  |aw(x,y-22).[|...|
0000cd90  5b 86 05 3a 0d 5b 90 04  0d 5b 9a 18 dd a4 61 74  |[..:.[...[....at|
0000cda0  74 72 69 62 75 74 65 73  28 61 74 74 72 69 62 29  |tributes(attrib)|
0000cdb0  0d 5b a4 11 61 74 74 72  69 62 75 74 65 24 3d 22  |.[..attribute$="|
0000cdc0  22 0d 5b ae 26 e7 20 61  74 74 72 69 62 20 80 20  |".[.&. attrib . |
0000cdd0  25 31 30 30 30 20 8c 20  61 74 74 72 69 62 75 74  |%1000 . attribut|
0000cde0  65 24 2b 3d 22 4c 22 0d  5b b8 24 e7 20 61 74 74  |e$+="L".[.$. att|
0000cdf0  72 69 62 20 80 20 25 31  30 20 8c 20 61 74 74 72  |rib . %10 . attr|
0000ce00  69 62 75 74 65 24 2b 3d  22 57 22 0d 5b c2 23 e7  |ibute$+="W".[.#.|
0000ce10  20 61 74 74 72 69 62 20  80 20 25 31 20 8c 20 61  | attrib . %1 . a|
0000ce20  74 74 72 69 62 75 74 65  24 2b 3d 22 52 22 0d 5b  |ttribute$+="R".[|
0000ce30  cc 13 61 74 74 72 69 62  75 74 65 24 2b 3d 22 2f  |..attribute$+="/|
0000ce40  22 0d 5b d6 2a e7 20 61  74 74 72 69 62 20 80 20  |".[.*. attrib . |
0000ce50  25 31 30 30 30 30 30 30  30 20 8c 20 61 74 74 72  |%10000000 . attr|
0000ce60  69 62 75 74 65 24 2b 3d  22 6c 22 0d 5b e0 28 e7  |ibute$+="l".[.(.|
0000ce70  20 61 74 74 72 69 62 20  80 20 25 31 30 30 30 30  | attrib . %10000|
0000ce80  30 20 8c 20 61 74 74 72  69 62 75 74 65 24 2b 3d  |0 . attribute$+=|
0000ce90  22 77 22 0d 5b ea 27 e7  20 61 74 74 72 69 62 20  |"w".[.'. attrib |
0000cea0  80 20 25 31 30 30 30 30  20 8c 20 61 74 74 72 69  |. %10000 . attri|
0000ceb0  62 75 74 65 24 2b 3d 22  72 22 0d 5b f4 0f 3d 61  |bute$+="r".[..=a|
0000cec0  74 74 72 69 62 75 74 65  24 0d 5b fe 05 3a 0d 5c  |ttribute$.[..:.\|
0000ced0  08 22 dd a4 6d 79 63 6f  6e 76 65 72 74 28 6c 61  |."..myconvert(la|
0000cee0  64 64 72 65 73 73 2c 65  61 64 64 72 65 73 73 29  |ddress,eaddress)|
0000cef0  0d 5c 12 5a e7 20 28 6c  61 64 64 72 65 73 73 20  |.\.Z. (laddress |
0000cf00  80 20 25 31 31 31 31 31  31 31 31 31 31 31 31 30  |. %1111111111110|
0000cf10  30 30 30 30 30 30 30 30  30 30 30 30 30 30 30 30  |0000000000000000|
0000cf20  30 30 30 29 20 3d 20 25  31 31 31 31 31 31 31 31  |000) = %11111111|
0000cf30  31 31 31 31 30 30 30 30  30 30 30 30 30 30 30 30  |1111000000000000|
0000cf40  30 30 30 30 30 30 30 30  20 8c 0d 5c 1c 3a 74 65  |00000000 ..\.:te|
0000cf50  6d 70 6c 3d 6c 61 64 64  72 65 73 73 20 80 20 28  |mpl=laddress . (|
0000cf60  ac 20 25 31 31 31 31 31  31 31 31 31 31 31 31 31  |. %1111111111111|
0000cf70  31 31 31 31 31 31 31 31  31 31 31 30 30 30 30 30  |1111111111100000|
0000cf80  30 30 30 29 0d 5c 26 16  3f 28 62 6c 6f 63 6b 32  |000).\&.?(block2|
0000cf90  25 2b 34 29 3d 74 65 6d  70 6c 0d 5c 30 3a 74 65  |%+4)=templ.\0:te|
0000cfa0  6d 70 65 3d 65 61 64 64  72 65 73 73 20 80 20 28  |mpe=eaddress . (|
0000cfb0  ac 20 25 30 30 30 30 30  30 30 30 31 31 31 31 31  |. %0000000011111|
0000cfc0  31 31 31 31 31 31 31 31  31 31 31 31 31 31 31 31  |1111111111111111|
0000cfd0  31 31 31 29 0d 5c 3a 1a  3f 28 62 6c 6f 63 6b 32  |111).\:.?(block2|
0000cfe0  25 2b 33 29 3d 74 65 6d  70 65 3e 3e 32 34 0d 5c  |%+3)=tempe>>24.\|
0000cff0  44 3a 74 65 6d 70 65 3d  65 61 64 64 72 65 73 73  |D:tempe=eaddress|
0000d000  20 80 20 28 ac 20 25 31  31 31 31 31 31 31 31 30  | . (. %111111110|
0000d010  30 30 30 30 30 30 30 31  31 31 31 31 31 31 31 31  |0000000111111111|
0000d020  31 31 31 31 31 31 31 29  0d 5c 4e 1a 3f 28 62 6c  |1111111).\N.?(bl|
0000d030  6f 63 6b 32 25 2b 32 29  3d 74 65 6d 70 65 3e 3e  |ock2%+2)=tempe>>|
0000d040  31 36 0d 5c 58 3a 74 65  6d 70 65 3d 65 61 64 64  |16.\X:tempe=eadd|
0000d050  72 65 73 73 20 80 20 28  ac 20 25 31 31 31 31 31  |ress . (. %11111|
0000d060  31 31 31 31 31 31 31 31  31 31 31 30 30 30 30 30  |1111111111100000|
0000d070  30 30 30 31 31 31 31 31  31 31 31 29 0d 5c 62 19  |00011111111).\b.|
0000d080  3f 28 62 6c 6f 63 6b 32  25 2b 31 29 3d 74 65 6d  |?(block2%+1)=tem|
0000d090  70 65 3e 3e 38 0d 5c 6c  3a 74 65 6d 70 65 3d 65  |pe>>8.\l:tempe=e|
0000d0a0  61 64 64 72 65 73 73 20  80 20 28 ac 20 25 31 31  |address . (. %11|
0000d0b0  31 31 31 31 31 31 31 31  31 31 31 31 31 31 31 31  |1111111111111111|
0000d0c0  31 31 31 31 31 31 30 30  30 30 30 30 30 30 29 0d  |11111100000000).|
0000d0d0  5c 76 16 3f 28 62 6c 6f  63 6b 32 25 2b 30 29 3d  |\v.?(block2%+0)=|
0000d0e0  74 65 6d 70 65 0d 5c 80  17 72 65 73 75 6c 74 25  |tempe.\..result%|
0000d0f0  3d 62 6c 6f 63 6b 32 25  2b 32 35 36 0d 5c 8a 3a  |=block2%+256.\.:|
0000d100  c8 99 20 22 4f 53 5f 43  6f 6e 76 65 72 74 53 74  |.. "OS_ConvertSt|
0000d110  61 6e 64 61 72 64 44 61  74 65 41 6e 64 54 69 6d  |andardDateAndTim|
0000d120  65 22 2c 62 6c 6f 63 6b  32 25 2c 72 65 73 75 6c  |e",block2%,resul|
0000d130  74 25 2c 32 35 36 0d 5c  94 18 3d a4 67 65 74 73  |t%,256.\..=.gets|
0000d140  74 72 69 6e 67 28 72 65  73 75 6c 74 25 29 0d 5c  |tring(result%).\|
0000d150  9e 05 cd 0d 5c a8 25 3d  c3 7e 28 6c 61 64 64 72  |....\.%=.~(laddr|
0000d160  65 73 73 29 2b 22 20 20  20 20 22 2b c3 7e 28 65  |ess)+"    "+.~(e|
0000d170  61 64 64 72 65 73 73 29  0d 5c b2 05 3a 0d 5c bc  |address).\..:.\.|
0000d180  14 dd f2 67 65 74 70 72  69 6e 74 65 72 69 6e 66  |...getprinterinf|
0000d190  6f 0d 5c c6 30 c8 99 20  22 58 50 44 72 69 76 65  |o.\.0.. "XPDrive|
0000d1a0  72 5f 49 6e 66 6f 22 20  b8 20 52 30 2c 52 31 2c  |r_Info" . R0,R1,|
0000d1b0  52 32 2c 52 33 2c 52 34  2c 52 35 2c 52 36 2c 52  |R2,R3,R4,R5,R6,R|
0000d1c0  37 0d 5c d0 2f e7 20 52  31 3d 30 20 80 20 52 32  |7.\./. R1=0 . R2|
0000d1d0  3d 30 20 80 20 52 33 3d  30 20 80 20 52 34 3d 30  |=0 . R3=0 . R4=0|
0000d1e0  20 80 20 52 35 3d 30 20  80 20 52 36 3d 30 20 8c  | . R5=0 . R6=0 .|
0000d1f0  0d 5c da 0d 64 72 69 76  65 72 25 3d a3 0d 5c e4  |.\..driver%=..\.|
0000d200  1d 70 72 69 6e 74 65 72  24 3d 22 4e 6f 6e 65 20  |.printer$="None |
0000d210  49 6e 73 74 61 6c 6c 65  64 22 0d 5c ee 05 cc 0d  |Installed".\....|
0000d220  5c f8 0d 64 72 69 76 65  72 25 3d b9 0d 5d 02 1b  |\..driver%=..]..|
0000d230  70 72 69 6e 74 65 72 24  3d a4 67 65 74 73 74 72  |printer$=.getstr|
0000d240  69 6e 67 28 52 34 29 0d  5d 0c 05 cd 0d 5d 16 05  |ing(R4).]....]..|
0000d250  e1 0d 5d 20 05 3a 0d 5d  2a 15 dd f2 63 6c 69 63  |..] .:.]*...clic|
0000d260  6b 70 72 69 6e 74 28 69  63 25 29 0d 5d 34 0c c8  |kprint(ic%).]4..|
0000d270  8e 20 69 63 25 20 ca 0d  5d 3e 07 c9 20 31 0d 5d  |. ic% ..]>.. 1.]|
0000d280  48 21 63 6f 70 69 65 73  3d bb 28 a4 69 63 6f 6e  |H!copies=.(.icon|
0000d290  74 65 78 74 28 70 72 69  6e 74 25 2c 32 29 29 0d  |text(print%,2)).|
0000d2a0  5d 52 19 e7 20 63 6f 70  69 65 73 3c 30 20 8c 20  |]R.. copies<0 . |
0000d2b0  63 6f 70 69 65 73 3d 31  0d 5d 5c 1d e7 20 63 6f  |copies=1.]\.. co|
0000d2c0  70 69 65 73 3e 39 39 39  20 8c 20 63 6f 70 69 65  |pies>999 . copie|
0000d2d0  73 3d 39 39 39 0d 5d 66  1b e7 20 62 75 74 74 6f  |s=999.]f.. butto|
0000d2e0  6e 25 3d 34 20 8c 20 63  6f 70 69 65 73 2d 3d 31  |n%=4 . copies-=1|
0000d2f0  0d 5d 70 1b e7 20 62 75  74 74 6f 6e 25 3d 31 20  |.]p.. button%=1 |
0000d300  8c 20 63 6f 70 69 65 73  2b 3d 31 0d 5d 7a 19 e7  |. copies+=1.]z..|
0000d310  20 63 6f 70 69 65 73 3c  31 20 8c 20 63 6f 70 69  | copies<1 . copi|
0000d320  65 73 3d 31 0d 5d 84 1d  e7 20 63 6f 70 69 65 73  |es=1.]... copies|
0000d330  3e 39 39 39 20 8c 20 63  6f 70 69 65 73 3d 39 39  |>999 . copies=99|
0000d340  39 0d 5d 8e 24 f2 69 63  6f 6e 70 75 74 74 65 78  |9.].$.iconputtex|
0000d350  74 28 70 72 69 6e 74 25  2c 32 2c c3 28 63 6f 70  |t(print%,2,.(cop|
0000d360  69 65 73 29 29 0d 5d 98  25 f2 49 63 6f 6e 43 61  |ies)).].%.IconCa|
0000d370  72 65 74 28 70 72 69 6e  74 25 2c 32 2c a9 28 c3  |ret(print%,2,.(.|
0000d380  28 63 6f 70 69 65 73 29  29 29 0d 5d a2 07 c9 20  |(copies))).]... |
0000d390  33 0d 5d ac 21 63 6f 70  69 65 73 3d bb 28 a4 69  |3.].!copies=.(.i|
0000d3a0  63 6f 6e 74 65 78 74 28  70 72 69 6e 74 25 2c 32  |context(print%,2|
0000d3b0  29 29 0d 5d b6 19 e7 20  63 6f 70 69 65 73 3c 31  |)).]... copies<1|
0000d3c0  20 8c 20 63 6f 70 69 65  73 3d 31 0d 5d c0 1d e7  | . copies=1.]...|
0000d3d0  20 63 6f 70 69 65 73 3e  39 39 39 20 8c 20 63 6f  | copies>999 . co|
0000d3e0  70 69 65 73 3d 39 39 39  0d 5d ca 1b e7 20 62 75  |pies=999.]... bu|
0000d3f0  74 74 6f 6e 25 3d 31 20  8c 20 63 6f 70 69 65 73  |tton%=1 . copies|
0000d400  2d 3d 31 0d 5d d4 1b e7  20 62 75 74 74 6f 6e 25  |-=1.]... button%|
0000d410  3d 34 20 8c 20 63 6f 70  69 65 73 2b 3d 31 0d 5d  |=4 . copies+=1.]|
0000d420  de 19 e7 20 63 6f 70 69  65 73 3c 30 20 8c 20 63  |... copies<0 . c|
0000d430  6f 70 69 65 73 3d 31 0d  5d e8 1d e7 20 63 6f 70  |opies=1.]... cop|
0000d440  69 65 73 3e 39 39 39 20  8c 20 63 6f 70 69 65 73  |ies>999 . copies|
0000d450  3d 39 39 39 0d 5d f2 24  f2 69 63 6f 6e 70 75 74  |=999.].$.iconput|
0000d460  74 65 78 74 28 70 72 69  6e 74 25 2c 32 2c c3 28  |text(print%,2,.(|
0000d470  63 6f 70 69 65 73 29 29  0d 5d fc 25 f2 49 63 6f  |copies)).].%.Ico|
0000d480  6e 43 61 72 65 74 28 70  72 69 6e 74 25 2c 32 2c  |nCaret(print%,2,|
0000d490  a9 28 c3 28 63 6f 70 69  65 73 29 29 29 0d 5e 06  |.(.(copies))).^.|
0000d4a0  07 c9 20 35 0d 5e 10 21  63 6f 70 69 65 73 3d bb  |.. 5.^.!copies=.|
0000d4b0  28 a4 69 63 6f 6e 74 65  78 74 28 70 72 69 6e 74  |(.icontext(print|
0000d4c0  25 2c 32 29 29 0d 5e 1a  19 e7 20 63 6f 70 69 65  |%,2)).^... copie|
0000d4d0  73 3c 31 20 8c 20 63 6f  70 69 65 73 3d 31 0d 5e  |s<1 . copies=1.^|
0000d4e0  24 1d e7 20 63 6f 70 69  65 73 3e 39 39 39 20 8c  |$.. copies>999 .|
0000d4f0  20 63 6f 70 69 65 73 3d  39 39 39 0d 5e 2e 0e 64  | copies=999.^..d|
0000d500  6f 70 72 69 6e 74 25 3d  b9 0d 5e 38 15 70 6f 6f  |oprint%=..^8.poo|
0000d510  77 69 6e 64 6f 77 25 3d  70 72 69 6e 74 25 0d 5e  |window%=print%.^|
0000d520  42 10 62 6c 6f 63 6b 25  21 30 3d 32 35 36 0d 5e  |B.block%!0=256.^|
0000d530  4c 0f 62 6c 6f 63 6b 25  21 31 32 3d 30 0d 5e 56  |L.block%!12=0.^V|
0000d540  14 62 6c 6f 63 6b 25 21  31 36 3d 26 38 30 31 34  |.block%!16=&8014|
0000d550  32 0d 5e 60 0f 62 6c 6f  63 6b 25 21 32 30 3d 30  |2.^`.block%!20=0|
0000d560  0d 5e 6a 0f 62 6c 6f 63  6b 25 21 32 34 3d 30 0d  |.^j.block%!24=0.|
0000d570  5e 74 0f 62 6c 6f 63 6b  25 21 32 38 3d 30 0d 5e  |^t.block%!28=0.^|
0000d580  7e 0f 62 6c 6f 63 6b 25  21 33 32 3d 30 0d 5e 88  |~.block%!32=0.^.|
0000d590  10 62 6c 6f 63 6b 25 21  33 36 3d 2d 31 0d 5e 92  |.block%!36=-1.^.|
0000d5a0  12 62 6c 6f 63 6b 25 21  34 30 3d 26 46 46 46 0d  |.block%!40=&FFF.|
0000d5b0  5e 9c 28 24 28 62 6c 6f  63 6b 25 2b 34 34 29 3d  |^.($(block%+44)=|
0000d5c0  a4 67 4c 6e 28 22 3c 57  69 6d 70 24 53 63 72 61  |.gLn("<Wimp$Scra|
0000d5d0  70 3e 22 29 2b bd 30 0d  5e a6 25 c8 99 20 22 57  |p>")+.0.^.%.. "W|
0000d5e0  69 6d 70 5f 53 65 6e 64  4d 65 73 73 61 67 65 22  |imp_SendMessage"|
0000d5f0  2c 31 38 2c 62 6c 6f 63  6b 25 2c 30 0d 5e b0 2a  |,18,block%,0.^.*|
0000d600  e7 20 62 75 74 74 6f 6e  25 3c 3e 31 20 8c 20 c8  |. button%<>1 . .|
0000d610  99 20 22 57 69 6d 70 5f  43 72 65 61 74 65 4d 65  |. "Wimp_CreateMe|
0000d620  6e 75 22 2c 2d 31 0d 5e  ba 05 cd 0d 5e c4 05 cb  |nu",-1.^....^...|
0000d630  0d 5e ce 05 e1 0d 5e d8  05 3a 0d 5e e2 0f dd a4  |.^....^..:.^....|
0000d640  6d 79 63 6f 6e 74 72 6f  6c 0d 5e ec 18 62 6c 6f  |mycontrol.^..blo|
0000d650  63 6b 32 25 21 30 3d 6d  79 63 6f 6e 74 72 6f 6c  |ck2%!0=mycontrol|
0000d660  25 0d 5e f6 19 c8 99 20  26 30 30 30 34 30 30 43  |%.^.... &000400C|
0000d670  42 2c 2c 62 6c 6f 63 6b  32 25 0d 5f 00 19 c8 99  |B,,block2%._....|
0000d680  20 26 30 30 30 34 30 30  43 35 2c 2c 62 6c 6f 63  | &000400C5,,bloc|
0000d690  6b 32 25 0d 5f 0a 0a 74  42 42 3d 2d 31 0d 5f 14  |k2%._..tBB=-1._.|
0000d6a0  05 f5 0d 5f 1e 2d c8 99  20 26 30 30 30 34 30 30  |..._.-.. &000400|
0000d6b0  43 37 2c 30 2c 62 6c 6f  63 6b 32 25 20 b8 20 72  |C7,0,block2% . r|
0000d6c0  65 61 73 6f 6e 32 25 2c  62 6c 6f 63 6b 32 25 0d  |eason2%,block2%.|
0000d6d0  5f 28 11 c8 8e 20 72 65  61 73 6f 6e 32 25 20 ca  |_(... reason2% .|
0000d6e0  0d 5f 32 07 c9 20 31 0d  5f 3c 20 c8 99 20 26 30  |._2.. 1._< .. &0|
0000d6f0  30 30 34 30 30 43 38 2c  2c 62 6c 6f 63 6b 32 25  |00400C8,,block2%|
0000d700  20 b8 20 66 6c 61 67 0d  5f 46 0b c8 95 20 66 6c  | . flag._F... fl|
0000d710  61 67 0d 5f 50 2d f2 64  6f 6c 69 6e 65 73 28 62  |ag._P-.dolines(b|
0000d720  6c 6f 63 6b 32 25 21 38  2c 62 6c 6f 63 6b 32 25  |lock2%!8,block2%|
0000d730  21 31 36 2c 62 6c 6f 63  6b 32 25 21 32 34 29 0d  |!16,block2%!24).|
0000d740  5f 5a 20 c8 99 20 26 30  30 30 34 30 30 43 41 2c  |_Z .. &000400CA,|
0000d750  2c 62 6c 6f 63 6b 32 25  20 b8 20 66 6c 61 67 0d  |,block2% . flag.|
0000d760  5f 64 05 ce 0d 5f 6e 07  c9 20 32 0d 5f 78 19 c8  |_d..._n.. 2._x..|
0000d770  99 20 26 30 30 30 34 30  30 43 35 2c 2c 62 6c 6f  |. &000400C5,,blo|
0000d780  63 6b 32 25 0d 5f 82 07  c9 20 36 0d 5f 8c 18 73  |ck2%._... 6._..s|
0000d790  75 62 62 75 74 74 6f 6e  25 3d 62 6c 6f 63 6b 32  |ubbutton%=block2|
0000d7a0  25 21 38 0d 5f 96 19 73  75 62 77 69 6e 64 6f 77  |%!8._..subwindow|
0000d7b0  25 3d 62 6c 6f 63 6b 32  25 21 31 32 0d 5f a0 17  |%=block2%!12._..|
0000d7c0  73 75 62 69 63 6f 6e 25  3d 62 6c 6f 63 6b 32 25  |subicon%=block2%|
0000d7d0  21 31 36 0d 5f aa 1d e7  20 73 75 62 77 69 6e 64  |!16._... subwind|
0000d7e0  6f 77 25 3d 6d 79 63 6f  6e 74 72 6f 6c 25 20 8c  |ow%=mycontrol% .|
0000d7f0  0d 5f b4 11 c8 8e 20 73  75 62 69 63 6f 6e 25 20  |._.... subicon% |
0000d800  ca 0d 5f be 11 c9 20 35  20 3a 20 74 42 42 20 3d  |.._... 5 : tBB =|
0000d810  20 30 0d 5f c8 11 c9 20  36 20 3a 20 74 42 42 20  | 0._... 6 : tBB |
0000d820  3d 20 31 0d 5f d2 11 c9  20 37 20 3a 20 74 42 42  |= 1._... 7 : tBB|
0000d830  20 3d 20 32 0d 5f dc 05  cb 0d 5f e6 05 cd 0d 5f  | = 2._...._...._|
0000d840  f0 08 c9 20 31 38 0d 5f  fa 14 e7 20 62 6c 6f 63  |... 18._... bloc|
0000d850  6b 32 25 21 31 36 3d 38  20 8c 0d 60 04 1a 20 20  |k2%!16=8 ..`..  |
0000d860  62 6c 6f 63 6b 32 25 21  31 32 3d 62 6c 6f 63 6b  |block2%!12=block|
0000d870  32 25 21 38 0d 60 0e 28  20 20 c8 99 20 22 57 69  |2%!8.`.(  .. "Wi|
0000d880  6d 70 5f 53 65 6e 64 4d  65 73 73 61 67 65 22 2c  |mp_SendMessage",|
0000d890  31 39 2c 62 6c 6f 63 6b  32 25 2c 30 0d 60 18 1a  |19,block2%,0.`..|
0000d8a0  20 20 f2 73 69 63 6f 6e  28 6d 79 63 6f 6e 74 72  |  .sicon(mycontr|
0000d8b0  6f 6c 25 2c 36 29 0d 60  22 0f 20 20 70 72 65 73  |ol%,6).`".  pres|
0000d8c0  73 65 64 3d b9 0d 60 2c  05 cd 0d 60 36 05 cb 0d  |sed=..`,...`6...|
0000d8d0  60 40 04 0d 60 4a 0c fd  20 74 42 42 3e 2d 31 0d  |`@..`J.. tBB>-1.|
0000d8e0  60 54 08 3d 74 42 42 0d  60 5e 05 3a 0d 60 68 2e  |`T.=tBB.`^.:.`h.|
0000d8f0  dd f2 64 72 61 67 73 6c  69 64 65 72 69 63 6f 6e  |..dragslidericon|
0000d900  28 77 69 6e 25 2c 64 72  61 67 69 63 6f 6e 25 2c  |(win%,dragicon%,|
0000d910  73 69 7a 65 69 63 6f 6e  25 29 0d 60 72 11 62 6c  |sizeicon%).`r.bl|
0000d920  6f 63 6b 25 21 30 3d 77  69 6e 25 0d 60 7c 16 62  |ock%!0=win%.`|.b|
0000d930  6c 6f 63 6b 25 21 34 3d  73 69 7a 65 69 63 6f 6e  |lock%!4=sizeicon|
0000d940  25 0d 60 86 22 c8 99 20  22 57 69 6d 70 5f 47 65  |%.`.".. "Wimp_Ge|
0000d950  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 62 6c 6f  |tIconState",,blo|
0000d960  63 6b 25 0d 60 90 13 73  6d 69 6e 78 25 3d 62 6c  |ck%.`..sminx%=bl|
0000d970  6f 63 6b 25 21 38 0d 60  9a 14 73 6d 69 6e 79 25  |ock%!8.`..sminy%|
0000d980  3d 62 6c 6f 63 6b 25 21  31 32 0d 60 a4 14 73 6d  |=block%!12.`..sm|
0000d990  61 78 78 25 3d 62 6c 6f  63 6b 25 21 31 36 0d 60  |axx%=block%!16.`|
0000d9a0  ae 14 73 6d 61 78 79 25  3d 62 6c 6f 63 6b 25 21  |..smaxy%=block%!|
0000d9b0  32 30 0d 60 b8 24 c8 99  20 22 57 69 6d 70 5f 47  |20.`.$.. "Wimp_G|
0000d9c0  65 74 50 6f 69 6e 74 65  72 49 6e 66 6f 22 2c 2c  |etPointerInfo",,|
0000d9d0  62 6c 6f 63 6b 25 0d 60  c2 10 6d 78 25 3d 62 6c  |block%.`..mx%=bl|
0000d9e0  6f 63 6b 25 21 30 0d 60  cc 11 62 6c 6f 63 6b 25  |ock%!0.`..block%|
0000d9f0  21 30 3d 77 69 6e 25 0d  60 d6 23 c8 99 20 22 57  |!0=win%.`.#.. "W|
0000da00  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 49 6e 66  |imp_GetWindowInf|
0000da10  6f 22 2c 2c 62 6c 6f 63  6b 25 0d 60 e0 2f 63 61  |o",,block%.`./ca|
0000da20  6c 63 78 25 3d 28 6d 78  25 2d 28 62 6c 6f 63 6b  |lcx%=(mx%-(block|
0000da30  25 21 34 2d 62 6c 6f 63  6b 25 21 32 30 29 29 2b  |%!4-block%!20))+|
0000da40  62 6c 6f 63 6b 25 21 34  34 0d 60 ea 19 c8 99 20  |block%!44.`.... |
0000da50  26 33 35 2c eb 2c 34 20  b8 20 2c 2c 78 66 61 63  |&35,.,4 . ,,xfac|
0000da60  74 25 0d 60 f4 29 69 63  6f 6e 6d 69 6e 78 25 3d  |t%.`.)iconminx%=|
0000da70  73 6d 69 6e 78 25 2b 28  62 6c 6f 63 6b 25 21 34  |sminx%+(block%!4|
0000da80  2d 62 6c 6f 63 6b 25 21  32 30 29 0d 60 fe 27 69  |-block%!20).`.'i|
0000da90  63 6f 6e 6d 61 78 78 25  3d 69 63 6f 6e 6d 69 6e  |conmaxx%=iconmin|
0000daa0  78 25 2b 28 73 6d 61 78  78 25 2d 73 6d 69 6e 78  |x%+(smaxx%-sminx|
0000dab0  25 29 0d 61 08 2a 69 63  6f 6e 6d 69 6e 79 25 3d  |%).a.*iconminy%=|
0000dac0  73 6d 69 6e 79 25 2b 28  62 6c 6f 63 6b 25 21 31  |sminy%+(block%!1|
0000dad0  36 2d 62 6c 6f 63 6b 25  21 32 34 29 0d 61 12 19  |6-block%!24).a..|
0000dae0  c8 99 20 26 33 35 2c eb  2c 35 20 b8 20 2c 2c 79  |.. &35,.,5 . ,,y|
0000daf0  66 61 63 74 25 0d 61 1c  33 69 63 6f 6e 6d 61 78  |fact%.a.3iconmax|
0000db00  79 25 3d 69 63 6f 6e 6d  69 6e 79 25 2b 28 73 6d  |y%=iconminy%+(sm|
0000db10  61 78 79 25 2d 73 6d 69  6e 79 25 29 2d 28 31 3c  |axy%-sminy%)-(1<|
0000db20  3c 79 66 61 63 74 25 29  0d 61 26 11 62 6c 6f 63  |<yfact%).a&.bloc|
0000db30  6b 25 21 30 3d 77 69 6e  25 0d 61 30 0e 62 6c 6f  |k%!0=win%.a0.blo|
0000db40  63 6b 25 21 34 3d 37 0d  61 3a 16 62 6c 6f 63 6b  |ck%!4=7.a:.block|
0000db50  25 21 38 3d 69 63 6f 6e  6d 69 6e 78 25 0d 61 44  |%!8=iconminx%.aD|
0000db60  17 62 6c 6f 63 6b 25 21  31 32 3d 69 63 6f 6e 6d  |.block%!12=iconm|
0000db70  69 6e 79 25 0d 61 4e 17  62 6c 6f 63 6b 25 21 31  |iny%.aN.block%!1|
0000db80  36 3d 69 63 6f 6e 6d 61  78 78 25 0d 61 58 17 62  |6=iconmaxx%.aX.b|
0000db90  6c 6f 63 6b 25 21 32 30  3d 69 63 6f 6e 6d 61 78  |lock%!20=iconmax|
0000dba0  79 25 0d 61 62 16 62 6c  6f 63 6b 25 21 32 34 3d  |y%.ab.block%!24=|
0000dbb0  62 6c 6f 63 6b 25 21 38  0d 61 6c 17 62 6c 6f 63  |block%!8.al.bloc|
0000dbc0  6b 25 21 32 38 3d 62 6c  6f 63 6b 25 21 31 32 0d  |k%!28=block%!12.|
0000dbd0  61 76 17 62 6c 6f 63 6b  25 21 33 32 3d 62 6c 6f  |av.block%!32=blo|
0000dbe0  63 6b 25 21 31 36 0d 61  80 17 62 6c 6f 63 6b 25  |ck%!16.a..block%|
0000dbf0  21 33 36 3d 62 6c 6f 63  6b 25 21 32 30 0d 61 8a  |!36=block%!20.a.|
0000dc00  1d c8 99 20 22 57 69 6d  70 5f 44 72 61 67 42 6f  |... "Wimp_DragBo|
0000dc10  78 22 2c 2c 62 6c 6f 63  6b 25 0d 61 94 15 73 6c  |x",,block%.a..sl|
0000dc20  69 64 65 77 69 6e 64 6f  77 25 3d 77 69 6e 25 0d  |idewindow%=win%.|
0000dc30  61 9e 18 73 6c 69 64 65  69 63 6f 6e 25 3d 64 72  |a..slideicon%=dr|
0000dc40  61 67 69 63 6f 6e 25 0d  61 a8 18 73 6c 69 64 65  |agicon%.a..slide|
0000dc50  73 69 7a 65 25 3d 73 69  7a 65 69 63 6f 6e 25 0d  |size%=sizeicon%.|
0000dc60  61 b2 14 6c 61 73 74 77  69 6e 64 6f 77 25 3d 77  |a..lastwindow%=w|
0000dc70  69 6e 25 0d 61 bc 11 62  6c 6f 63 6b 25 21 30 3d  |in%.a..block%!0=|
0000dc80  77 69 6e 25 0d 61 c6 16  62 6c 6f 63 6b 25 21 34  |win%.a..block%!4|
0000dc90  3d 64 72 61 67 69 63 6f  6e 25 0d 61 d0 22 c8 99  |=dragicon%.a."..|
0000dca0  20 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  | "Wimp_GetIconSt|
0000dcb0  61 74 65 22 2c 2c 62 6c  6f 63 6b 25 0d 61 da 17  |ate",,block%.a..|
0000dcc0  6f 6c 64 77 6f 72 6b 78  25 3d 62 6c 6f 63 6b 25  |oldworkx%=block%|
0000dcd0  21 31 36 0d 61 e4 05 e1  0d 61 ee 05 3a 0d 61 f8  |!16.a....a..:.a.|
0000dce0  35 dd f2 64 6f 73 6c 69  64 65 28 77 69 6e 25 2c  |5..doslide(win%,|
0000dcf0  64 72 61 67 69 63 6f 6e  25 2c 73 69 7a 65 69 63  |dragicon%,sizeic|
0000dd00  6f 6e 25 2c 63 6f 6e 73  74 25 2c 72 61 6e 67 65  |on%,const%,range|
0000dd10  25 29 0d 62 02 11 62 6c  6f 63 6b 25 21 30 3d 77  |%).b..block%!0=w|
0000dd20  69 6e 25 0d 62 0c 16 62  6c 6f 63 6b 25 21 34 3d  |in%.b..block%!4=|
0000dd30  73 69 7a 65 69 63 6f 6e  25 0d 62 16 22 c8 99 20  |sizeicon%.b.".. |
0000dd40  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
0000dd50  74 65 22 2c 2c 62 6c 6f  63 6b 25 0d 62 20 16 73  |te",,block%.b .s|
0000dd60  69 7a 65 6d 69 6e 78 25  3d 62 6c 6f 63 6b 25 21  |izeminx%=block%!|
0000dd70  38 0d 62 2a 17 73 69 7a  65 6d 69 6e 79 25 3d 62  |8.b*.sizeminy%=b|
0000dd80  6c 6f 63 6b 25 21 31 32  0d 62 34 17 73 69 7a 65  |lock%!12.b4.size|
0000dd90  6d 61 78 78 25 3d 62 6c  6f 63 6b 25 21 31 36 0d  |maxx%=block%!16.|
0000dda0  62 3e 17 73 69 7a 65 6d  61 78 79 25 3d 62 6c 6f  |b>.sizemaxy%=blo|
0000ddb0  63 6b 25 21 32 30 0d 62  48 12 c8 97 20 6d 78 25  |ck%!20.bH... mx%|
0000ddc0  2c 6d 79 25 2c 6d 62 25  0d 62 52 11 62 6c 6f 63  |,my%,mb%.bR.bloc|
0000ddd0  6b 25 21 30 3d 77 69 6e  25 0d 62 5c 23 c8 99 20  |k%!0=win%.b\#.. |
0000dde0  22 57 69 6d 70 5f 47 65  74 57 69 6e 64 6f 77 49  |"Wimp_GetWindowI|
0000ddf0  6e 66 6f 22 2c 2c 62 6c  6f 63 6b 25 0d 62 66 12  |nfo",,block%.bf.|
0000de00  6d 69 6e 78 25 3d 62 6c  6f 63 6b 25 21 34 0d 62  |minx%=block%!4.b|
0000de10  70 13 73 63 72 78 25 3d  62 6c 6f 63 6b 25 21 32  |p.scrx%=block%!2|
0000de20  30 0d 62 7a 1b 6e 65 77  78 25 3d 6d 78 25 2b 28  |0.bz.newx%=mx%+(|
0000de30  73 63 72 78 25 2d 6d 69  6e 78 25 29 0d 62 84 18  |scrx%-minx%).b..|
0000de40  e7 20 6e 65 77 78 25 3c  3e 6f 6c 64 77 6f 72 6b  |. newx%<>oldwork|
0000de50  78 25 20 8c 0d 62 8e 13  20 20 62 6c 6f 63 6b 25  |x% ..b..  block%|
0000de60  21 30 3d 77 69 6e 25 0d  62 98 18 20 20 62 6c 6f  |!0=win%.b..  blo|
0000de70  63 6b 25 21 34 3d 64 72  61 67 69 63 6f 6e 25 0d  |ck%!4=dragicon%.|
0000de80  62 a2 24 20 20 c8 99 20  22 57 69 6d 70 5f 47 65  |b.$  .. "Wimp_Ge|
0000de90  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 62 6c 6f  |tIconState",,blo|
0000dea0  63 6b 25 0d 62 ac 15 20  20 62 6c 6f 63 6b 25 21  |ck%.b..  block%!|
0000deb0  31 36 3d 6e 65 77 78 25  0d 62 b6 13 20 20 62 6c  |16=newx%.b..  bl|
0000dec0  6f 63 6b 25 21 30 3d 77  69 6e 25 0d 62 c0 18 20  |ock%!0=win%.b.. |
0000ded0  20 62 6c 6f 63 6b 25 21  34 3d 64 72 61 67 69 63  | block%!4=dragic|
0000dee0  6f 6e 25 0d 62 ca 22 20  20 c8 99 20 22 57 69 6d  |on%.b."  .. "Wim|
0000def0  70 5f 44 65 6c 65 74 65  49 63 6f 6e 22 2c 2c 62  |p_DeleteIcon",,b|
0000df00  6c 6f 63 6b 25 0d 62 d4  13 20 20 62 6c 6f 63 6b  |lock%.b..  block|
0000df10  25 21 34 3d 77 69 6e 25  0d 62 de 24 20 20 c8 99  |%!4=win%.b.$  ..|
0000df20  20 22 57 69 6d 70 5f 43  72 65 61 74 65 49 63 6f  | "Wimp_CreateIco|
0000df30  6e 22 2c 2c 62 6c 6f 63  6b 25 2b 34 0d 62 e8 16  |n",,block%+4.b..|
0000df40  6e 65 77 62 6c 6f 63 6b  25 3d 62 6c 6f 63 6b 25  |newblock%=block%|
0000df50  2b 34 0d 62 f2 17 e7 20  6f 6c 64 77 6f 72 6b 78  |+4.b... oldworkx|
0000df60  25 3c 6e 65 77 78 25 20  8c 0d 62 fc 19 6e 65 77  |%<newx% ..b..new|
0000df70  62 6c 6f 63 6b 25 21 34  3d 73 69 7a 65 6d 69 6e  |block%!4=sizemin|
0000df80  78 25 0d 63 06 05 cc 0d  63 10 15 6e 65 77 62 6c  |x%.c....c..newbl|
0000df90  6f 63 6b 25 21 34 3d 6e  65 77 78 25 0d 63 1a 05  |ock%!4=newx%.c..|
0000dfa0  cd 0d 63 24 19 6e 65 77  62 6c 6f 63 6b 25 21 38  |..c$.newblock%!8|
0000dfb0  3d 73 69 7a 65 6d 69 6e  79 25 0d 63 2e 17 e7 20  |=sizeminy%.c... |
0000dfc0  6f 6c 64 77 6f 72 6b 78  25 3e 6e 65 77 78 25 20  |oldworkx%>newx% |
0000dfd0  8c 0d 63 38 1a 6e 65 77  62 6c 6f 63 6b 25 21 31  |..c8.newblock%!1|
0000dfe0  32 3d 73 69 7a 65 6d 61  78 78 25 0d 63 42 05 cc  |2=sizemaxx%.cB..|
0000dff0  0d 63 4c 16 6e 65 77 62  6c 6f 63 6b 25 21 31 32  |.cL.newblock%!12|
0000e000  3d 6e 65 77 78 25 0d 63  56 05 cd 0d 63 60 1a 6e  |=newx%.cV...c`.n|
0000e010  65 77 62 6c 6f 63 6b 25  21 31 36 3d 73 69 7a 65  |ewblock%!16=size|
0000e020  6d 61 78 79 25 0d 63 6a  2c c8 99 20 22 57 69 6d  |maxy%.cj,.. "Wim|
0000e030  70 5f 55 70 64 61 74 65  57 69 6e 64 6f 77 22 2c  |p_UpdateWindow",|
0000e040  2c 6e 65 77 62 6c 6f 63  6b 25 20 b8 20 66 6c 61  |,newblock% . fla|
0000e050  67 0d 63 74 0b c8 95 20  66 6c 61 67 0d 63 7e 2c  |g.ct... flag.c~,|
0000e060  c8 99 20 22 57 69 6d 70  5f 47 65 74 52 65 63 74  |.. "Wimp_GetRect|
0000e070  61 6e 67 6c 65 22 2c 2c  6e 65 77 62 6c 6f 63 6b  |angle",,newblock|
0000e080  25 20 b8 20 66 6c 61 67  0d 63 88 05 ce 0d 63 92  |% . flag.c....c.|
0000e090  10 20 20 e7 20 63 6f 6e  73 74 25 20 8c 0d 63 9c  |.  . const% ..c.|
0000e0a0  21 20 20 20 20 73 69 7a  65 25 3d 73 69 7a 65 6d  |!    size%=sizem|
0000e0b0  61 78 78 25 2d 73 69 7a  65 6d 69 6e 78 25 0d 63  |axx%-sizeminx%.c|
0000e0c0  a6 1f 20 20 20 20 70 70  6f 73 25 3d 28 6e 65 77  |..    ppos%=(new|
0000e0d0  78 25 2d 73 69 7a 65 6d  69 6e 78 25 29 0d 63 b0  |x%-sizeminx%).c.|
0000e0e0  24 20 20 20 20 6e 75 6d  62 65 72 25 3d 28 72 61  |$    number%=(ra|
0000e0f0  6e 67 65 25 2f 73 69 7a  65 25 29 2a 70 70 6f 73  |nge%/size%)*ppos|
0000e100  25 0d 63 ba 09 20 20 20  20 3a 0d 63 c4 17 20 20  |%.c..    :.c..  |
0000e110  20 20 c8 8e 20 73 6c 69  64 65 69 63 6f 6e 25 20  |  .. slideicon% |
0000e120  ca 0d 63 ce 0c 20 20 20  20 c9 20 32 38 0d 63 d8  |..c..    . 28.c.|
0000e130  14 20 20 20 20 62 6f 78  72 3d 6e 75 6d 62 65 72  |.    boxr=number|
0000e140  25 0d 63 e2 26 20 20 20  20 f2 69 63 6f 6e 70 75  |%.c.&    .iconpu|
0000e150  74 74 65 78 74 28 70 61  6e 65 25 2c 33 35 2c c3  |ttext(pane%,35,.|
0000e160  28 62 6f 78 72 29 29 0d  63 ec 26 20 20 20 20 f2  |(boxr)).c.&    .|
0000e170  64 6f 63 6f 6c 6f 75 72  62 6f 78 28 62 6f 78 72  |docolourbox(boxr|
0000e180  2c 62 6f 78 67 2c 62 6f  78 62 2c b9 29 0d 63 f6  |,boxg,boxb,.).c.|
0000e190  0c 20 20 20 20 c9 20 33  31 0d 64 00 14 20 20 20  |.    . 31.d..   |
0000e1a0  20 62 6f 78 67 3d 6e 75  6d 62 65 72 25 0d 64 0a  | boxg=number%.d.|
0000e1b0  26 20 20 20 20 f2 69 63  6f 6e 70 75 74 74 65 78  |&    .iconputtex|
0000e1c0  74 28 70 61 6e 65 25 2c  33 36 2c c3 28 62 6f 78  |t(pane%,36,.(box|
0000e1d0  67 29 29 0d 64 14 26 20  20 20 20 f2 64 6f 63 6f  |g)).d.&    .doco|
0000e1e0  6c 6f 75 72 62 6f 78 28  62 6f 78 72 2c 62 6f 78  |lourbox(boxr,box|
0000e1f0  67 2c 62 6f 78 62 2c b9  29 0d 64 1e 0c 20 20 20  |g,boxb,.).d..   |
0000e200  20 c9 20 33 34 0d 64 28  14 20 20 20 20 62 6f 78  | . 34.d(.    box|
0000e210  62 3d 6e 75 6d 62 65 72  25 0d 64 32 26 20 20 20  |b=number%.d2&   |
0000e220  20 f2 69 63 6f 6e 70 75  74 74 65 78 74 28 70 61  | .iconputtext(pa|
0000e230  6e 65 25 2c 33 37 2c c3  28 62 6f 78 62 29 29 0d  |ne%,37,.(boxb)).|
0000e240  64 3c 26 20 20 20 20 f2  64 6f 63 6f 6c 6f 75 72  |d<&    .docolour|
0000e250  62 6f 78 28 62 6f 78 72  2c 62 6f 78 67 2c 62 6f  |box(boxr,boxg,bo|
0000e260  78 62 2c b9 29 0d 64 46  09 20 20 20 20 cb 0d 64  |xb,.).dF.    ..d|
0000e270  50 07 20 20 cd 0d 64 5a  05 cd 0d 64 64 11 62 6c  |P.  ..dZ...dd.bl|
0000e280  6f 63 6b 25 21 30 3d 77  69 6e 25 0d 64 6e 16 62  |ock%!0=win%.dn.b|
0000e290  6c 6f 63 6b 25 21 34 3d  64 72 61 67 69 63 6f 6e  |lock%!4=dragicon|
0000e2a0  25 0d 64 78 22 c8 99 20  22 57 69 6d 70 5f 47 65  |%.dx".. "Wimp_Ge|
0000e2b0  74 49 63 6f 6e 53 74 61  74 65 22 2c 2c 62 6c 6f  |tIconState",,blo|
0000e2c0  63 6b 25 0d 64 82 17 6f  6c 64 77 6f 72 6b 78 25  |ck%.d..oldworkx%|
0000e2d0  3d 62 6c 6f 63 6b 25 21  31 36 0d 64 8c 12 72 72  |=block%!16.d..rr|
0000e2e0  61 6e 67 65 25 3d 72 61  6e 67 65 25 0d 64 96 05  |ange%=range%.d..|
0000e2f0  e1 0d 64 a0 05 3a 0d 64  aa 35 dd f2 73 65 74 62  |..d..:.d.5..setb|
0000e300  61 72 28 77 69 6e 25 2c  64 72 61 67 69 63 6f 6e  |ar(win%,dragicon|
0000e310  25 2c 73 69 7a 65 69 63  6f 6e 25 2c 72 61 6e 67  |%,sizeicon%,rang|
0000e320  65 25 2c 6e 75 6d 62 65  72 25 29 0d 64 b4 1b e7  |e%,number%).d...|
0000e330  20 6e 75 6d 62 65 72 25  3c 30 20 8c 20 6e 75 6d  | number%<0 . num|
0000e340  62 65 72 25 3d 30 0d 64  be 25 e7 20 6e 75 6d 62  |ber%=0.d.%. numb|
0000e350  65 72 25 3e 72 61 6e 67  65 25 20 8c 20 6e 75 6d  |er%>range% . num|
0000e360  62 65 72 25 3d 72 61 6e  67 65 25 0d 64 c8 11 62  |ber%=range%.d..b|
0000e370  6c 6f 63 6b 25 21 30 3d  77 69 6e 25 0d 64 d2 16  |lock%!0=win%.d..|
0000e380  62 6c 6f 63 6b 25 21 34  3d 73 69 7a 65 69 63 6f  |block%!4=sizeico|
0000e390  6e 25 0d 64 dc 22 c8 99  20 22 57 69 6d 70 5f 47  |n%.d.".. "Wimp_G|
0000e3a0  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 62 6c  |etIconState",,bl|
0000e3b0  6f 63 6b 25 0d 64 e6 16  73 69 7a 65 6d 69 6e 78  |ock%.d..sizeminx|
0000e3c0  25 3d 62 6c 6f 63 6b 25  21 38 0d 64 f0 17 73 69  |%=block%!8.d..si|
0000e3d0  7a 65 6d 69 6e 79 25 3d  62 6c 6f 63 6b 25 21 31  |zeminy%=block%!1|
0000e3e0  32 0d 64 fa 17 73 69 7a  65 6d 61 78 78 25 3d 62  |2.d..sizemaxx%=b|
0000e3f0  6c 6f 63 6b 25 21 31 36  0d 65 04 17 73 69 7a 65  |lock%!16.e..size|
0000e400  6d 61 78 79 25 3d 62 6c  6f 63 6b 25 21 32 30 0d  |maxy%=block%!20.|
0000e410  65 0e 3c 6e 65 77 78 25  3d 73 69 7a 65 6d 69 6e  |e.<newx%=sizemin|
0000e420  78 25 2b 28 6e 75 6d 62  65 72 25 2f 28 72 61 6e  |x%+(number%/(ran|
0000e430  67 65 25 2f 28 73 69 7a  65 6d 61 78 78 25 2d 73  |ge%/(sizemaxx%-s|
0000e440  69 7a 65 6d 69 6e 78 25  29 29 29 0d 65 18 11 62  |izeminx%))).e..b|
0000e450  6c 6f 63 6b 25 21 30 3d  77 69 6e 25 0d 65 22 16  |lock%!0=win%.e".|
0000e460  62 6c 6f 63 6b 25 21 34  3d 64 72 61 67 69 63 6f  |block%!4=dragico|
0000e470  6e 25 0d 65 2c 22 c8 99  20 22 57 69 6d 70 5f 47  |n%.e,".. "Wimp_G|
0000e480  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 62 6c  |etIconState",,bl|
0000e490  6f 63 6b 25 0d 65 36 13  62 6c 6f 63 6b 25 21 31  |ock%.e6.block%!1|
0000e4a0  36 3d 6e 65 77 78 25 0d  65 40 11 62 6c 6f 63 6b  |6=newx%.e@.block|
0000e4b0  25 21 30 3d 77 69 6e 25  0d 65 4a 16 62 6c 6f 63  |%!0=win%.eJ.bloc|
0000e4c0  6b 25 21 34 3d 64 72 61  67 69 63 6f 6e 25 0d 65  |k%!4=dragicon%.e|
0000e4d0  54 20 c8 99 20 22 57 69  6d 70 5f 44 65 6c 65 74  |T .. "Wimp_Delet|
0000e4e0  65 49 63 6f 6e 22 2c 2c  62 6c 6f 63 6b 25 0d 65  |eIcon",,block%.e|
0000e4f0  5e 11 62 6c 6f 63 6b 25  21 34 3d 77 69 6e 25 0d  |^.block%!4=win%.|
0000e500  65 68 22 c8 99 20 22 57  69 6d 70 5f 43 72 65 61  |eh".. "Wimp_Crea|
0000e510  74 65 49 63 6f 6e 22 2c  2c 62 6c 6f 63 6b 25 2b  |teIcon",,block%+|
0000e520  34 0d 65 72 16 6e 65 77  62 6c 6f 63 6b 25 3d 62  |4.er.newblock%=b|
0000e530  6c 6f 63 6b 25 2b 34 0d  65 7c 17 e7 20 6f 6c 64  |lock%+4.e|.. old|
0000e540  77 6f 72 6b 78 25 3c 6e  65 77 78 25 20 8c 0d 65  |workx%<newx% ..e|
0000e550  86 19 6e 65 77 62 6c 6f  63 6b 25 21 34 3d 73 69  |..newblock%!4=si|
0000e560  7a 65 6d 69 6e 78 25 0d  65 90 05 cc 0d 65 9a 15  |zeminx%.e....e..|
0000e570  6e 65 77 62 6c 6f 63 6b  25 21 34 3d 6e 65 77 78  |newblock%!4=newx|
0000e580  25 0d 65 a4 05 cd 0d 65  ae 19 6e 65 77 62 6c 6f  |%.e....e..newblo|
0000e590  63 6b 25 21 38 3d 73 69  7a 65 6d 69 6e 79 25 0d  |ck%!8=sizeminy%.|
0000e5a0  65 b8 17 e7 20 6f 6c 64  77 6f 72 6b 78 25 3c 6e  |e... oldworkx%<n|
0000e5b0  65 77 78 25 20 8c 0d 65  c2 16 6e 65 77 62 6c 6f  |ewx% ..e..newblo|
0000e5c0  63 6b 25 21 31 32 3d 6e  65 77 78 25 0d 65 cc 05  |ck%!12=newx%.e..|
0000e5d0  cc 0d 65 d6 1a 6e 65 77  62 6c 6f 63 6b 25 21 31  |..e..newblock%!1|
0000e5e0  32 3d 73 69 7a 65 6d 61  78 78 25 0d 65 e0 05 cd  |2=sizemaxx%.e...|
0000e5f0  0d 65 ea 1a 6e 65 77 62  6c 6f 63 6b 25 21 31 36  |.e..newblock%!16|
0000e600  3d 73 69 7a 65 6d 61 78  79 25 0d 65 f4 2c c8 99  |=sizemaxy%.e.,..|
0000e610  20 22 57 69 6d 70 5f 55  70 64 61 74 65 57 69 6e  | "Wimp_UpdateWin|
0000e620  64 6f 77 22 2c 2c 6e 65  77 62 6c 6f 63 6b 25 20  |dow",,newblock% |
0000e630  b8 20 66 6c 61 67 0d 65  fe 0b c8 95 20 66 6c 61  |. flag.e.... fla|
0000e640  67 0d 66 08 2c c8 99 20  22 57 69 6d 70 5f 47 65  |g.f.,.. "Wimp_Ge|
0000e650  74 52 65 63 74 61 6e 67  6c 65 22 2c 2c 6e 65 77  |tRectangle",,new|
0000e660  62 6c 6f 63 6b 25 20 b8  20 66 6c 61 67 0d 66 12  |block% . flag.f.|
0000e670  05 ce 0d 66 1c 13 6f 6c  64 77 6f 72 6b 78 25 3d  |...f..oldworkx%=|
0000e680  6e 65 77 78 25 0d 66 26  05 e1 0d 66 30 05 3a 0d  |newx%.f&...f0.:.|
0000e690  66 3a 32 dd a4 67 65 74  62 61 72 76 61 6c 75 65  |f:2..getbarvalue|
0000e6a0  28 77 69 6e 25 2c 64 72  61 67 69 63 6f 6e 25 2c  |(win%,dragicon%,|
0000e6b0  73 69 7a 65 69 63 6f 6e  25 2c 72 61 6e 67 65 25  |sizeicon%,range%|
0000e6c0  29 0d 66 44 11 62 6c 6f  63 6b 25 21 30 3d 77 69  |).fD.block%!0=wi|
0000e6d0  6e 25 0d 66 4e 16 62 6c  6f 63 6b 25 21 34 3d 73  |n%.fN.block%!4=s|
0000e6e0  69 7a 65 69 63 6f 6e 25  0d 66 58 22 c8 99 20 22  |izeicon%.fX".. "|
0000e6f0  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
0000e700  65 22 2c 2c 62 6c 6f 63  6b 25 0d 66 62 16 73 69  |e",,block%.fb.si|
0000e710  7a 65 6d 69 6e 78 25 3d  62 6c 6f 63 6b 25 21 38  |zeminx%=block%!8|
0000e720  0d 66 6c 17 73 69 7a 65  6d 61 78 78 25 3d 62 6c  |.fl.sizemaxx%=bl|
0000e730  6f 63 6b 25 21 31 36 0d  66 76 11 62 6c 6f 63 6b  |ock%!16.fv.block|
0000e740  25 21 30 3d 77 69 6e 25  0d 66 80 16 62 6c 6f 63  |%!0=win%.f..bloc|
0000e750  6b 25 21 34 3d 64 72 61  67 69 63 6f 6e 25 0d 66  |k%!4=dragicon%.f|
0000e760  8a 22 c8 99 20 22 57 69  6d 70 5f 47 65 74 49 63  |.".. "Wimp_GetIc|
0000e770  6f 6e 53 74 61 74 65 22  2c 2c 62 6c 6f 63 6b 25  |onState",,block%|
0000e780  0d 66 94 38 3d 28 72 61  6e 67 65 25 2f 28 73 69  |.f.8=(range%/(si|
0000e790  7a 65 6d 61 78 78 25 2d  73 69 7a 65 6d 69 6e 78  |zemaxx%-sizeminx|
0000e7a0  25 29 29 2a 28 62 6c 6f  63 6b 25 21 31 36 2d 62  |%))*(block%!16-b|
0000e7b0  6c 6f 63 6b 25 21 38 29  0d 66 9e 05 3a 0d 66 a8  |lock%!8).f..:.f.|
0000e7c0  12 dd a4 74 6f 70 61 6c  28 72 2c 67 2c 62 29 0d  |...topal(r,g,b).|
0000e7d0  66 b2 07 43 3d 30 0d 66  bc 11 43 3d 43 20 84 20  |f..C=0.f..C=C . |
0000e7e0  28 62 3c 3c 32 34 29 0d  66 c6 11 43 3d 43 20 84  |(b<<24).f..C=C .|
0000e7f0  20 28 67 3c 3c 31 36 29  0d 66 d0 10 43 3d 43 20  | (g<<16).f..C=C |
0000e800  84 20 28 72 3c 3c 38 29  0d 66 da 06 3d 43 0d 66  |. (r<<8).f..=C.f|
0000e810  e4 05 3a 0d 66 ee 1c dd  f2 64 6f 63 6f 6c 6f 75  |..:.f....docolou|
0000e820  72 62 6f 78 28 72 2c 67  2c 62 2c 66 6c 67 29 0d  |rbox(r,g,b,flg).|
0000e830  66 f8 13 62 6c 6f 63 6b  32 25 21 30 3d 70 61 6e  |f..block2%!0=pan|
0000e840  65 25 0d 67 02 15 c8 99  26 34 30 30 63 62 2c 2c  |e%.g....&400cb,,|
0000e850  62 6c 6f 63 6b 32 25 0d  67 0c 1f 62 74 6f 70 78  |block2%.g..btopx|
0000e860  25 3d 62 6c 6f 63 6b 32  25 21 34 2d 62 6c 6f 63  |%=block2%!4-bloc|
0000e870  6b 32 25 21 32 30 0d 67  16 20 62 74 6f 70 79 25  |k2%!20.g. btopy%|
0000e880  3d 62 6c 6f 63 6b 32 25  21 31 36 2d 62 6c 6f 63  |=block2%!16-bloc|
0000e890  6b 32 25 21 32 34 0d 67  20 0b e7 20 66 6c 67 20  |k2%!24.g .. flg |
0000e8a0  8c 0d 67 2a 13 62 6c 6f  63 6b 32 25 21 30 3d 70  |..g*.block2%!0=p|
0000e8b0  61 6e 65 25 0d 67 34 10  62 6c 6f 63 6b 32 25 21  |ane%.g4.block2%!|
0000e8c0  34 3d 34 35 0d 67 3e 23  c8 99 20 22 57 69 6d 70  |4=45.g>#.. "Wimp|
0000e8d0  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
0000e8e0  62 6c 6f 63 6b 32 25 0d  67 48 17 6e 65 77 62 6c  |block2%.gH.newbl|
0000e8f0  6f 63 6b 25 3d 62 6c 6f  63 6b 32 25 2b 34 0d 67  |ock%=block2%+4.g|
0000e900  52 15 6e 65 77 62 6c 6f  63 6b 25 21 30 3d 70 61  |R.newblock%!0=pa|
0000e910  6e 65 25 0d 67 5c 2d c8  99 20 22 57 69 6d 70 5f  |ne%.g\-.. "Wimp_|
0000e920  55 70 64 61 74 65 57 69  6e 64 6f 77 22 2c 2c 6e  |UpdateWindow",,n|
0000e930  65 77 62 6c 6f 63 6b 25  20 b8 20 66 66 6c 61 67  |ewblock% . fflag|
0000e940  0d 67 66 0c c8 95 20 66  66 6c 61 67 0d 67 70 39  |.gf... fflag.gp9|
0000e950  c8 99 20 22 43 6f 6c 6f  75 72 54 72 61 6e 73 5f  |.. "ColourTrans_|
0000e960  53 65 74 47 43 4f 4c 22  2c a4 74 6f 70 61 6c 28  |SetGCOL",.topal(|
0000e970  72 2c 67 2c 62 29 2c 2c  2c 25 31 30 30 30 30 30  |r,g,b),,,%100000|
0000e980  30 30 30 2c 30 0d 67 7a  27 c8 93 20 c8 90 20 62  |000,0.gz'.. .. b|
0000e990  74 6f 70 78 25 2b 32 33  34 2c 62 74 6f 70 79 25  |topx%+234,btopy%|
0000e9a0  2d 31 30 33 36 2c 32 33  34 2c 33 38 0d 67 84 2d  |-1036,234,38.g.-|
0000e9b0  c8 99 20 22 57 69 6d 70  5f 47 65 74 52 65 63 74  |.. "Wimp_GetRect|
0000e9c0  61 6e 67 6c 65 22 2c 2c  6e 65 77 62 6c 6f 63 6b  |angle",,newblock|
0000e9d0  25 20 b8 20 66 66 6c 61  67 0d 67 8e 05 ce 0d 67  |% . fflag.g....g|
0000e9e0  98 05 cc 0d 67 a2 39 c8  99 20 22 43 6f 6c 6f 75  |....g.9.. "Colou|
0000e9f0  72 54 72 61 6e 73 5f 53  65 74 47 43 4f 4c 22 2c  |rTrans_SetGCOL",|
0000ea00  a4 74 6f 70 61 6c 28 72  2c 67 2c 62 29 2c 2c 2c  |.topal(r,g,b),,,|
0000ea10  25 31 30 30 30 30 30 30  30 30 2c 30 0d 67 ac 27  |%100000000,0.g.'|
0000ea20  c8 93 20 c8 90 20 62 74  6f 70 78 25 2b 32 33 34  |.. .. btopx%+234|
0000ea30  2c 62 74 6f 70 79 25 2d  31 30 33 36 2c 32 33 34  |,btopy%-1036,234|
0000ea40  2c 33 38 0d 67 b6 05 cd  0d 67 c0 05 e1 0d 67 ca  |,38.g....g....g.|
0000ea50  05 3a 0d 67 d4 14 dd f2  64 6f 74 69 74 6c 65 28  |.:.g....dotitle(|
0000ea60  66 75 6e 6e 79 29 0d 67  de 19 f2 63 65 6e 74 72  |funny).g...centr|
0000ea70  65 77 69 6e 64 6f 77 28  74 69 74 6c 65 25 29 0d  |ewindow(title%).|
0000ea80  67 e8 2d c8 99 20 26 30  30 30 34 30 30 43 37 2c  |g.-.. &000400C7,|
0000ea90  30 2c 62 6c 6f 63 6b 32  25 20 b8 20 72 65 61 73  |0,block2% . reas|
0000eaa0  6f 6e 32 25 2c 62 6c 6f  63 6b 32 25 0d 67 f2 07  |on2%,block2%.g..|
0000eab0  74 3d 91 0d 67 fc 05 f5  0d 68 06 0f fd 20 91 3e  |t=..g....h... .>|
0000eac0  74 2b 66 75 6e 6e 79 0d  68 10 18 f2 63 6c 6f 73  |t+funny.h...clos|
0000ead0  65 77 69 6e 64 6f 77 28  74 69 74 6c 65 25 29 0d  |ewindow(title%).|
0000eae0  68 1a 05 e1 0d 68 24 05  3a 0d 68 2e 11 dd f2 69  |h....h$.:.h....i|
0000eaf0  6e 69 74 73 70 72 69 74  65 73 0d 68 38 2b c8 99  |nitsprites.h8+..|
0000eb00  20 22 4f 53 5f 52 65 61  64 4d 6f 64 65 56 61 72  | "OS_ReadModeVar|
0000eb10  69 61 62 6c 65 22 2c 2d  31 2c 35 20 b8 20 2c 2c  |iable",-1,5 . ,,|
0000eb20  79 65 69 67 25 0d 68 42  35 e7 20 79 65 69 67 25  |yeig%.hB5. yeig%|
0000eb30  3c 32 20 8c 20 73 70 72  69 74 65 24 3d 22 53 70  |<2 . sprite$="Sp|
0000eb40  72 69 74 65 73 22 20 8b  20 73 70 72 69 74 65 24  |rites" . sprite$|
0000eb50  3d 22 53 70 72 69 74 65  73 22 0d 68 4c 3c c8 99  |="Sprites".hL<..|
0000eb60  20 22 4f 53 5f 46 69 6c  65 22 2c 31 37 2c 22 3c  | "OS_File",17,"<|
0000eb70  54 72 65 65 24 44 69 72  3e 2e 22 2b 73 70 72 69  |Tree$Dir>."+spri|
0000eb80  74 65 24 20 b8 20 74 79  70 65 25 2c 2c 2c 2c 6c  |te$ . type%,,,,l|
0000eb90  65 6e 67 74 68 25 0d 68  56 17 de 20 73 70 72 69  |ength%.hV.. spri|
0000eba0  74 65 25 20 6c 65 6e 67  74 68 25 2b 34 0d 68 60  |te% length%+4.h`|
0000ebb0  16 21 73 70 72 69 74 65  25 3d 6c 65 6e 67 74 68  |.!sprite%=length|
0000ebc0  25 2b 34 0d 68 6a 36 c8  99 20 22 4f 53 5f 53 70  |%+4.hj6.. "OS_Sp|
0000ebd0  72 69 74 65 4f 70 22 2c  32 36 36 2c 73 70 72 69  |riteOp",266,spri|
0000ebe0  74 65 25 2c 22 3c 54 72  65 65 24 44 69 72 3e 2e  |te%,"<Tree$Dir>.|
0000ebf0  22 2b 73 70 72 69 74 65  24 0d 68 74 05 e1 0d 68  |"+sprite$.ht...h|
0000ec00  7e 05 3a 0d 68 88 18 dd  f2 63 65 6e 74 72 65 77  |~.:.h....centrew|
0000ec10  69 6e 64 6f 77 28 77 69  6e 25 29 0d 68 92 23 c8  |indow(win%).h.#.|
0000ec20  99 20 26 30 30 30 30 30  30 33 35 2c eb 2c 31 31  |. &00000035,.,11|
0000ec30  20 b8 20 2c 2c 78 70 69  78 6c 69 6d 69 74 0d 68  | . ,,xpixlimit.h|
0000ec40  9c 23 c8 99 20 26 30 30  30 30 30 30 33 35 2c eb  |.#.. &00000035,.|
0000ec50  2c 31 32 20 b8 20 2c 2c  79 70 69 78 6c 69 6d 69  |,12 . ,,ypixlimi|
0000ec60  74 0d 68 a6 1e c8 99 20  26 30 30 30 30 30 30 33  |t.h.... &0000003|
0000ec70  35 2c eb 2c 34 20 b8 20  2c 2c 78 66 61 63 74 0d  |5,.,4 . ,,xfact.|
0000ec80  68 b0 1e c8 99 20 26 30  30 30 30 30 30 33 35 2c  |h.... &00000035,|
0000ec90  eb 2c 35 20 b8 20 2c 2c  79 66 61 63 74 0d 68 ba  |.,5 . ,,yfact.h.|
0000eca0  1d 6d 61 78 58 3d 28 78  70 69 78 6c 69 6d 69 74  |.maxX=(xpixlimit|
0000ecb0  2b 31 29 3c 3c 78 66 61  63 74 0d 68 c4 1d 6d 61  |+1)<<xfact.h..ma|
0000ecc0  78 59 3d 28 79 70 69 78  6c 69 6d 69 74 2b 31 29  |xY=(ypixlimit+1)|
0000ecd0  3c 3c 79 66 61 63 74 0d  68 ce 05 3a 0d 68 d8 11  |<<yfact.h..:.h..|
0000ece0  62 6c 6f 63 6b 25 21 30  3d 77 69 6e 25 0d 68 e2  |block%!0=win%.h.|
0000ecf0  18 c8 99 20 26 30 30 30  34 30 30 43 42 2c 2c 62  |... &000400CB,,b|
0000ed00  6c 6f 63 6b 25 0d 68 ec  05 3a 0d 68 f6 17 e7 20  |lock%.h..:.h... |
0000ed10  ac 20 a4 69 73 6f 70 65  6e 28 77 69 6e 25 29 20  |. .isopen(win%) |
0000ed20  8c 0d 69 00 1a 77 78 25  3d 62 6c 6f 63 6b 25 21  |..i..wx%=block%!|
0000ed30  31 32 2d 62 6c 6f 63 6b  25 21 34 0d 69 0a 10 77  |12-block%!4.i..w|
0000ed40  78 32 25 3d 77 78 25 20  81 20 32 0d 69 14 0f 63  |x2%=wx% . 2.i..c|
0000ed50  58 3d 6d 61 78 58 20 81  20 32 0d 69 1e 14 62 6c  |X=maxX . 2.i..bl|
0000ed60  6f 63 6b 25 21 34 3d 63  58 2d 77 78 32 25 0d 69  |ock%!4=cX-wx2%.i|
0000ed70  28 1a 62 6c 6f 63 6b 25  21 31 32 3d 62 6c 6f 63  |(.block%!12=bloc|
0000ed80  6b 25 21 34 2b 77 78 25  0d 69 32 1a 77 79 25 3d  |k%!4+wx%.i2.wy%=|
0000ed90  62 6c 6f 63 6b 25 21 31  36 2d 62 6c 6f 63 6b 25  |block%!16-block%|
0000eda0  21 38 0d 69 3c 10 77 79  32 25 3d 77 79 25 20 81  |!8.i<.wy2%=wy% .|
0000edb0  20 32 0d 69 46 0f 63 59  3d 6d 61 78 59 20 81 20  | 2.iF.cY=maxY . |
0000edc0  32 0d 69 50 14 62 6c 6f  63 6b 25 21 38 3d 63 59  |2.iP.block%!8=cY|
0000edd0  2d 77 79 32 25 0d 69 5a  1a 62 6c 6f 63 6b 25 21  |-wy2%.iZ.block%!|
0000ede0  31 36 3d 62 6c 6f 63 6b  25 21 38 2b 77 79 25 0d  |16=block%!8+wy%.|
0000edf0  69 64 05 cd 0d 69 6e 05  3a 0d 69 78 18 c8 99 20  |id...in.:.ix... |
0000ee00  26 30 30 30 34 30 30 43  35 2c 2c 62 6c 6f 63 6b  |&000400C5,,block|
0000ee10  25 0d 69 82 05 e1 0d 69  8c 05 3a 0d 69 96 10 dd  |%.i....i..:.i...|
0000ee20  f2 64 72 61 67 6d 79 66  69 6c 65 0d 69 a0 17 f2  |.dragmyfile.i...|
0000ee30  67 65 74 76 61 72 73 28  69 63 6f 6e 25 2d 31 2c  |getvars(icon%-1,|
0000ee40  a3 29 0d 69 aa 10 66 74  79 25 3d 74 79 70 65 25  |.).i..fty%=type%|
0000ee50  21 30 0d 69 b4 1a 74 65  6d 70 24 3d a4 67 4c 6e  |!0.i..temp$=.gLn|
0000ee60  28 24 66 69 6c 65 6e 61  6d 65 25 29 0d 69 be 1b  |($filename%).i..|
0000ee70  e7 20 66 74 79 25 3e 26  46 46 46 20 84 20 66 74  |. fty%>&FFF . ft|
0000ee80  79 25 3c 26 30 20 8c 0d  69 c8 17 20 20 e7 20 c0  |y%<&0 ..i..  . .|
0000ee90  74 65 6d 70 24 2c 31 29  3d 22 21 22 20 8c 0d 69  |temp$,1)="!" ..i|
0000eea0  d2 14 20 20 20 20 76 61  6c 69 64 24 3d 74 65 6d  |..    valid$=tem|
0000eeb0  70 24 0d 69 dc 38 20 20  20 20 e7 20 ac 20 a4 73  |p$.i.8    . . .s|
0000eec0  70 72 69 74 65 65 78 69  73 74 73 28 76 61 6c 69  |priteexists(vali|
0000eed0  64 24 29 20 8c 20 76 61  6c 69 64 24 3d 22 61 70  |d$) . valid$="ap|
0000eee0  70 6c 69 63 61 74 69 6f  6e 22 0d 69 e6 07 20 20  |plication".i..  |
0000eef0  cc 0d 69 f0 1a 20 20 20  20 76 61 6c 69 64 24 3d  |..i..    valid$=|
0000ef00  22 64 69 72 65 63 74 6f  72 79 22 0d 69 fa 07 20  |"directory".i.. |
0000ef10  20 cd 0d 6a 04 05 cc 0d  6a 0e 1f 20 20 76 61 6c  | ..j....j..  val|
0000ef20  69 64 24 3d 22 66 69 6c  65 5f 22 2b a4 70 61 64  |id$="file_"+.pad|
0000ef30  28 66 74 79 25 29 0d 6a  18 05 cd 0d 6a 22 39 e7  |(fty%).j....j"9.|
0000ef40  20 74 79 70 65 25 21 30  3d 2d 32 20 80 20 76 61  | type%!0=-2 . va|
0000ef50  6c 69 64 24 3d 22 64 69  72 65 63 74 6f 72 79 22  |lid$="directory"|
0000ef60  20 8c 20 76 61 6c 69 64  24 3d 22 66 69 6c 65 5f  | . valid$="file_|
0000ef70  78 78 78 22 0d 6a 2c 31  e7 20 ac 20 a4 73 70 72  |xxx".j,1. . .spr|
0000ef80  69 74 65 65 78 69 73 74  73 28 76 61 6c 69 64 24  |iteexists(valid$|
0000ef90  29 20 8c 20 76 61 6c 69  64 24 3d 22 66 69 6c 65  |) . valid$="file|
0000efa0  5f 78 78 78 22 0d 6a 36  05 3a 0d 6a 40 0c f2 73  |_xxx".j6.:.j@..s|
0000efb0  75 62 73 70 72 33 0d 6a  4a 1e c8 99 20 26 30 30  |ubspr3.jJ... &00|
0000efc0  30 30 30 30 33 35 2c eb  2c 34 20 b8 20 2c 2c 78  |000035,.,4 . ,,x|
0000efd0  66 61 63 74 0d 6a 54 1e  c8 99 20 26 30 30 30 30  |fact.jT... &0000|
0000efe0  30 30 33 35 2c eb 2c 35  20 b8 20 2c 2c 79 66 61  |0035,.,5 . ,,yfa|
0000eff0  63 74 0d 6a 5e 17 77 70  69 78 25 3d 77 70 69 78  |ct.j^.wpix%=wpix|
0000f000  32 25 3c 3c 78 66 61 63  74 0d 6a 68 17 68 70 69  |2%<<xfact.jh.hpi|
0000f010  78 25 3d 68 70 69 78 32  25 3c 3c 79 66 61 63 74  |x%=hpix2%<<yfact|
0000f020  0d 6a 72 05 3a 0d 6a 7c  1b 62 6c 6f 63 6b 25 21  |.jr.:.j|.block%!|
0000f030  30 3d 78 25 2d 28 77 70  69 78 25 20 81 20 32 29  |0=x%-(wpix% . 2)|
0000f040  0d 6a 86 1b 62 6c 6f 63  6b 25 21 34 3d 79 25 2d  |.j..block%!4=y%-|
0000f050  28 68 70 69 78 25 20 81  20 32 29 0d 6a 90 1b 62  |(hpix% . 2).j..b|
0000f060  6c 6f 63 6b 25 21 38 3d  62 6c 6f 63 6b 25 21 30  |lock%!8=block%!0|
0000f070  2b 77 70 69 78 25 0d 6a  9a 1c 62 6c 6f 63 6b 25  |+wpix%.j..block%|
0000f080  21 31 32 3d 62 6c 6f 63  6b 25 21 34 2b 68 70 69  |!12=block%!4+hpi|
0000f090  78 25 0d 6a a4 05 3a 0d  6a ae 3a c8 99 20 22 44  |x%.j..:.j.:.. "D|
0000f0a0  72 61 67 41 53 70 72 69  74 65 5f 53 74 61 72 74  |ragASprite_Start|
0000f0b0  22 2c 25 31 31 30 30 30  31 30 31 2c 6e 65 77 61  |",%11000101,newa|
0000f0c0  72 65 61 2c 76 61 6c 69  64 24 2c 62 6c 6f 63 6b  |rea,valid$,block|
0000f0d0  25 0d 6a b8 15 6c 61 73  74 77 69 6e 64 6f 77 25  |%.j..lastwindow%|
0000f0e0  3d 6d 61 69 6e 25 0d 6a  c2 05 e1 0d 6a cc 05 3a  |=main%.j....j..:|
0000f0f0  0d 6a d6 0d dd f2 73 75  62 73 70 72 33 0d 6a e0  |.j....subspr3.j.|
0000f100  07 ea 20 85 0d 6a ea 1e  ee 20 85 20 ea 20 e7 20  |.. ..j... . . . |
0000f110  9f 3d 31 33 34 20 8c 20  f2 73 75 62 73 70 72 34  |.=134 . .subspr4|
0000f120  3a e1 0d 6a f4 17 c8 99  20 26 34 30 30 45 41 20  |:..j.... &400EA |
0000f130  b8 20 6e 65 77 61 72 65  61 0d 6a fe 33 c8 99 20  |. newarea.j.3.. |
0000f140  26 32 65 2c 32 35 36 2b  34 30 2c 6e 65 77 61 72  |&2e,256+40,newar|
0000f150  65 61 2c 76 61 6c 69 64  24 20 b8 20 2c 2c 2c 77  |ea,valid$ . ,,,w|
0000f160  70 69 78 32 25 2c 68 70  69 78 32 25 0d 6b 08 05  |pix2%,hpix2%.k..|
0000f170  e1 0d 6b 12 05 3a 0d 6b  1c 0d dd f2 73 75 62 73  |..k..:.k....subs|
0000f180  70 72 34 0d 6b 26 07 ea  20 85 0d 6b 30 10 ee 20  |pr4.k&.. ..k0.. |
0000f190  85 20 ea 20 85 20 30 2c  f6 24 0d 6b 3a 18 c8 99  |. . . 0,.$.k:...|
0000f1a0  20 26 34 30 30 65 61 20  b8 20 2c 6e 65 77 61 72  | &400ea . ,newar|
0000f1b0  65 61 0d 6b 44 33 c8 99  20 26 32 65 2c 32 35 36  |ea.kD3.. &2e,256|
0000f1c0  2b 34 30 2c 6e 65 77 61  72 65 61 2c 76 61 6c 69  |+40,newarea,vali|
0000f1d0  64 24 20 b8 20 2c 2c 2c  77 70 69 78 32 25 2c 68  |d$ . ,,,wpix2%,h|
0000f1e0  70 69 78 32 25 0d 6b 4e  05 e1 0d 6b 58 05 3a 0d  |pix2%.kN...kX.:.|
0000f1f0  6b 62 11 dd f2 64 69 72  73 28 69 6e 66 6c 67 29  |kb...dirs(inflg)|
0000f200  0d 6b 6c 0e e7 20 69 69  69 25 3e 30 20 8c 0d 6b  |.kl.. iii%>0 ..k|
0000f210  76 17 20 20 c8 99 20 22  48 6f 75 72 67 6c 61 73  |v.  .. "Hourglas|
0000f220  73 5f 4f 6e 22 0d 6b 80  0f 20 20 e7 20 66 64 69  |s_On".k..  . fdi|
0000f230  72 73 20 8c 0d 6b 8a 18  20 20 20 20 e3 20 73 6d  |rs ..k..    . sm|
0000f240  65 67 25 3d 31 20 b8 20  69 69 69 25 0d 6b 94 38  |eg%=1 . iii%.k.8|
0000f250  20 20 20 20 20 20 e7 20  69 69 69 25 2d 31 3c 3e  |      . iii%-1<>|
0000f260  30 20 8c 20 c8 99 26 30  30 30 34 30 36 43 34 2c  |0 . ..&000406C4,|
0000f270  28 73 6d 65 67 25 2f 28  69 69 69 25 2d 31 29 29  |(smeg%/(iii%-1))|
0000f280  2a 31 30 30 0d 6b 9e 1f  20 20 20 20 20 20 20 20  |*100.k..        |
0000f290  f2 67 65 74 76 61 72 73  28 73 6d 65 67 25 2d 31  |.getvars(smeg%-1|
0000f2a0  2c a3 29 0d 6b a8 2f 20  20 20 20 20 20 20 20 e7  |,.).k./        .|
0000f2b0  20 74 79 70 65 25 21 30  3c 3e 2d 31 20 8c 20 f2  | type%!0<>-1 . .|
0000f2c0  73 69 63 6f 6e 28 6d 61  69 6e 25 2c 73 6d 65 67  |sicon(main%,smeg|
0000f2d0  25 29 0d 6b b2 10 20 20  20 20 20 20 ed 73 6d 65  |%).k..      .sme|
0000f2e0  67 25 0d 6b bc 09 20 20  20 20 cc 0d 6b c6 13 20  |g%.k..    ..k.. |
0000f2f0  20 20 20 20 20 e7 20 69  6e 66 6c 67 20 8c 0d 6b  |     . inflg ..k|
0000f300  d0 1c 20 20 20 20 20 20  20 20 e3 20 73 6d 65 67  |..        . smeg|
0000f310  25 3d 31 20 b8 20 69 69  69 25 0d 6b da 3c 20 20  |%=1 . iii%.k.<  |
0000f320  20 20 20 20 20 20 20 20  e7 20 69 69 69 25 2d 31  |        . iii%-1|
0000f330  3c 3e 30 20 8c 20 c8 99  26 30 30 30 34 30 36 43  |<>0 . ..&000406C|
0000f340  34 2c 28 73 6d 65 67 25  2f 28 69 69 69 25 2d 31  |4,(smeg%/(iii%-1|
0000f350  29 29 2a 31 30 30 0d 6b  e4 21 20 20 20 20 20 20  |))*100.k.!      |
0000f360  20 20 20 20 f2 67 65 74  76 61 72 73 28 73 6d 65  |    .getvars(sme|
0000f370  67 25 2d 31 2c a3 29 0d  6b ee 32 20 20 20 20 20  |g%-1,.).k.2     |
0000f380  20 20 20 20 20 e7 20 74  79 70 65 25 21 30 3c 3e  |     . type%!0<>|
0000f390  2d 31 20 8c 20 f2 75 73  69 63 6f 6e 28 6d 61 69  |-1 . .usicon(mai|
0000f3a0  6e 25 2c 73 6d 65 67 25  29 0d 6b f8 12 20 20 20  |n%,smeg%).k..   |
0000f3b0  20 20 20 20 20 ed 73 6d  65 67 25 0d 6c 02 0b 20  |     .smeg%.l.. |
0000f3c0  20 20 20 20 20 cd 0d 6c  0c 09 20 20 20 20 cd 0d  |     ..l..    ..|
0000f3d0  6c 16 1a 20 20 c8 99 20  22 48 6f 75 72 67 6c 61  |l..  .. "Hourgla|
0000f3e0  73 73 5f 53 6d 61 73 68  22 0d 6c 20 05 cd 0d 6c  |ss_Smash".l ...l|
0000f3f0  2a 05 e1 0d 6c 34 05 3a  0d 6c 3e 10 dd f2 6f 70  |*...l4.:.l>...op|
0000f400  65 6e 73 65 61 72 63 68  0d 6c 48 1d 63 75 72 73  |ensearch.lH.curs|
0000f410  65 61 72 63 68 3d 63 75  72 72 65 6e 74 73 65 61  |earch=currentsea|
0000f420  72 63 68 2d 31 0d 6c 52  3a e7 20 63 75 72 73 65  |rch-1.lR:. curse|
0000f430  61 72 63 68 3d 30 20 8c  20 f2 73 69 63 6f 6e 28  |arch=0 . .sicon(|
0000f440  73 65 61 72 63 68 25 2c  34 29 20 8b 20 f2 75 73  |search%,4) . .us|
0000f450  69 63 6f 6e 28 73 65 61  72 63 68 25 2c 34 29 0d  |icon(search%,4).|
0000f460  6c 5c 3f e7 20 63 75 72  73 65 61 72 63 68 3d 69  |l\?. cursearch=i|
0000f470  69 69 25 2d 31 20 8c 20  f2 73 69 63 6f 6e 28 73  |ii%-1 . .sicon(s|
0000f480  65 61 72 63 68 25 2c 35  29 20 8b 20 f2 75 73 69  |earch%,5) . .usi|
0000f490  63 6f 6e 28 73 65 61 72  63 68 25 2c 35 29 0d 6c  |con(search%,5).l|
0000f4a0  66 19 f2 67 65 74 76 61  72 73 28 63 75 72 73 65  |f..getvars(curse|
0000f4b0  61 72 63 68 2c a3 29 0d  6c 70 2c f2 69 63 6f 6e  |arch,.).lp,.icon|
0000f4c0  70 75 74 74 65 78 74 28  73 65 61 72 63 68 25 2c  |puttext(search%,|
0000f4d0  38 2c a4 67 4c 6e 28 24  66 69 6c 65 6e 61 6d 65  |8,.gLn($filename|
0000f4e0  25 29 29 0d 6c 7a 1a e7  20 ac 20 a4 69 73 6f 70  |%)).lz.. . .isop|
0000f4f0  65 6e 28 73 65 61 72 63  68 25 29 20 8c 0d 6c 84  |en(search%) ..l.|
0000f500  0e 63 61 73 65 73 65 6e  73 3d a3 0d 6c 8e 19 f2  |.casesens=..l...|
0000f510  75 73 65 6c 69 63 6f 6e  28 73 65 61 72 63 68 25  |uselicon(search%|
0000f520  2c 31 31 29 0d 6c 98 10  73 65 61 72 63 68 66 69  |,11).l..searchfi|
0000f530  6c 65 3d b9 0d 6c a2 10  73 65 61 72 63 68 74 79  |le=..l..searchty|
0000f540  70 65 3d a3 0d 6c ac 17  f2 73 65 6c 69 63 6f 6e  |pe=..l...selicon|
0000f550  28 73 65 61 72 63 68 25  2c 30 29 0d 6c b6 18 f2  |(search%,0).l...|
0000f560  75 73 65 6c 69 63 6f 6e  28 73 65 61 72 63 68 25  |uselicon(search%|
0000f570  2c 31 29 0d 6c c0 16 f2  75 73 69 63 6f 6e 28 73  |,1).l...usicon(s|
0000f580  65 61 72 63 68 25 2c 32  29 0d 6c ca 15 f2 73 69  |earch%,2).l...si|
0000f590  63 6f 6e 28 73 65 61 72  63 68 25 2c 33 29 0d 6c  |con(search%,3).l|
0000f5a0  d4 1e f2 69 63 6f 6e 70  75 74 74 65 78 74 28 73  |...iconputtext(s|
0000f5b0  65 61 72 63 68 25 2c 32  2c 22 22 29 0d 6c de 1e  |earch%,2,"").l..|
0000f5c0  f2 69 63 6f 6e 70 75 74  74 65 78 74 28 73 65 61  |.iconputtext(sea|
0000f5d0  72 63 68 25 2c 33 2c 22  22 29 0d 6c e8 1e f4 50  |rch%,3,"").l...P|
0000f5e0  52 4f 43 63 65 6e 74 72  65 77 69 6e 64 6f 77 28  |ROCcentrewindow(|
0000f5f0  73 65 61 72 63 68 25 29  0d 6c f2 13 73 65 61 72  |search%).l..sear|
0000f600  63 68 77 69 6e 64 6f 77  25 3d b9 0d 6c fc 18 f2  |chwindow%=..l...|
0000f610  6f 70 65 6e 77 69 6e 64  6f 77 28 6d 61 69 6e 25  |openwindow(main%|
0000f620  2c a3 29 0d 6d 06 05 cd  0d 6d 10 05 e1 0d 6d 1a  |,.).m....m....m.|
0000f630  05 3a 0d 6d 24 16 dd f2  63 6c 69 63 6b 73 65 61  |.:.m$...clicksea|
0000f640  72 63 68 28 69 63 25 29  0d 6d 2e 0c c8 8e 20 69  |rch(ic%).m.... i|
0000f650  63 25 20 ca 0d 6d 38 08  c9 20 31 34 0d 6d 42 19  |c% ..m8.. 14.mB.|
0000f660  f2 63 6c 6f 73 65 77 69  6e 64 6f 77 28 73 65 61  |.closewindow(sea|
0000f670  72 63 68 25 29 0d 6d 4c  0b c9 20 31 31 2c 31 32  |rch%).mL.. 11,12|
0000f680  0d 6d 56 17 63 61 73 65  73 65 6e 73 3d ac 20 63  |.mV.casesens=. c|
0000f690  61 73 65 73 65 6e 73 0d  6d 60 10 e7 20 63 61 73  |asesens.m`.. cas|
0000f6a0  65 73 65 6e 73 20 8c 0d  6d 6a 18 f2 73 65 6c 69  |esens ..mj..seli|
0000f6b0  63 6f 6e 28 73 65 61 72  63 68 25 2c 31 31 29 0d  |con(search%,11).|
0000f6c0  6d 74 05 cc 0d 6d 7e 19  f2 75 73 65 6c 69 63 6f  |mt...m~..uselico|
0000f6d0  6e 28 73 65 61 72 63 68  25 2c 31 31 29 0d 6d 88  |n(search%,11).m.|
0000f6e0  05 cd 0d 6d 92 07 c9 20  30 0d 6d 9c 12 e7 20 73  |...m... 0.m... s|
0000f6f0  65 61 72 63 68 74 79 70  65 20 8c 0d 6d a6 1b 73  |earchtype ..m..s|
0000f700  65 61 72 63 68 66 69 6c  65 3d ac 20 73 65 61 72  |earchfile=. sear|
0000f710  63 68 66 69 6c 65 0d 6d  b0 05 cd 0d 6d ba 12 e7  |chfile.m....m...|
0000f720  20 73 65 61 72 63 68 66  69 6c 65 20 8c 0d 6d c4  | searchfile ..m.|
0000f730  17 f2 73 65 6c 69 63 6f  6e 28 73 65 61 72 63 68  |..selicon(search|
0000f740  25 2c 30 29 0d 6d ce 16  f2 75 73 69 63 6f 6e 28  |%,0).m...usicon(|
0000f750  73 65 61 72 63 68 25 2c  32 29 0d 6d d8 31 f2 69  |search%,2).m.1.i|
0000f760  63 6f 6e 63 61 72 65 74  28 73 65 61 72 63 68 25  |concaret(search%|
0000f770  2c 32 2c a9 28 a4 69 63  6f 6e 74 65 78 74 28 73  |,2,.(.icontext(s|
0000f780  65 61 72 63 68 25 2c 32  29 29 29 0d 6d e2 05 cc  |earch%,2))).m...|
0000f790  0d 6d ec 18 f2 75 73 65  6c 69 63 6f 6e 28 73 65  |.m...uselicon(se|
0000f7a0  61 72 63 68 25 2c 30 29  0d 6d f6 15 f2 73 69 63  |arch%,0).m...sic|
0000f7b0  6f 6e 28 73 65 61 72 63  68 25 2c 32 29 0d 6e 00  |on(search%,2).n.|
0000f7c0  31 f2 69 63 6f 6e 63 61  72 65 74 28 73 65 61 72  |1.iconcaret(sear|
0000f7d0  63 68 25 2c 33 2c a9 28  a4 69 63 6f 6e 74 65 78  |ch%,3,.(.icontex|
0000f7e0  74 28 73 65 61 72 63 68  25 2c 33 29 29 29 0d 6e  |t(search%,3))).n|
0000f7f0  0a 05 cd 0d 6e 14 07 c9  20 31 0d 6e 1e 12 e7 20  |....n... 1.n... |
0000f800  73 65 61 72 63 68 66 69  6c 65 20 8c 0d 6e 28 1b  |searchfile ..n(.|
0000f810  73 65 61 72 63 68 74 79  70 65 3d ac 20 73 65 61  |searchtype=. sea|
0000f820  72 63 68 74 79 70 65 0d  6e 32 05 cd 0d 6e 3c 12  |rchtype.n2...n<.|
0000f830  e7 20 73 65 61 72 63 68  74 79 70 65 20 8c 0d 6e  |. searchtype ..n|
0000f840  46 17 f2 73 65 6c 69 63  6f 6e 28 73 65 61 72 63  |F..selicon(searc|
0000f850  68 25 2c 31 29 0d 6e 50  16 f2 75 73 69 63 6f 6e  |h%,1).nP..usicon|
0000f860  28 73 65 61 72 63 68 25  2c 33 29 0d 6e 5a 31 f2  |(search%,3).nZ1.|
0000f870  69 63 6f 6e 63 61 72 65  74 28 73 65 61 72 63 68  |iconcaret(search|
0000f880  25 2c 33 2c a9 28 a4 69  63 6f 6e 74 65 78 74 28  |%,3,.(.icontext(|
0000f890  73 65 61 72 63 68 25 2c  33 29 29 29 0d 6e 64 05  |search%,3))).nd.|
0000f8a0  cc 0d 6e 6e 18 f2 75 73  65 6c 69 63 6f 6e 28 73  |..nn..uselicon(s|
0000f8b0  65 61 72 63 68 25 2c 31  29 0d 6e 78 15 f2 73 69  |earch%,1).nx..si|
0000f8c0  63 6f 6e 28 73 65 61 72  63 68 25 2c 33 29 0d 6e  |con(search%,3).n|
0000f8d0  82 31 f2 69 63 6f 6e 63  61 72 65 74 28 73 65 61  |.1.iconcaret(sea|
0000f8e0  72 63 68 25 2c 32 2c a9  28 a4 69 63 6f 6e 74 65  |rch%,2,.(.iconte|
0000f8f0  78 74 28 73 65 61 72 63  68 25 2c 32 29 29 29 0d  |xt(search%,2))).|
0000f900  6e 8c 05 cd 0d 6e 96 07  c9 20 34 0d 6e a0 6c e7  |n....n... 4.n.l.|
0000f910  20 73 65 61 72 63 68 66  69 6c 65 20 80 20 a4 69  | searchfile . .i|
0000f920  63 6f 6e 74 65 78 74 28  73 65 61 72 63 68 25 2c  |context(search%,|
0000f930  32 29 3d 22 22 20 8c 20  f2 61 6c 65 72 74 28 22  |2)="" . .alert("|
0000f940  4d 65 73 73 61 67 65 20  66 72 6f 6d 20 54 72 65  |Message from Tre|
0000f950  65 22 2c 22 50 6c 65 61  73 65 20 65 6e 74 65 72  |e","Please enter|
0000f960  20 61 20 73 65 61 72 63  68 20 66 69 6c 65 6e 61  | a search filena|
0000f970  6d 65 2e 22 2c 30 29 0d  6e aa 6c e7 20 73 65 61  |me.",0).n.l. sea|
0000f980  72 63 68 74 79 70 65 20  80 20 a4 69 63 6f 6e 74  |rchtype . .icont|
0000f990  65 78 74 28 73 65 61 72  63 68 25 2c 33 29 3d 22  |ext(search%,3)="|
0000f9a0  22 20 8c 20 f2 61 6c 65  72 74 28 22 4d 65 73 73  |" . .alert("Mess|
0000f9b0  61 67 65 20 66 72 6f 6d  20 54 72 65 65 22 2c 22  |age from Tree","|
0000f9c0  50 6c 65 61 73 65 20 65  6e 74 65 72 20 61 20 73  |Please enter a s|
0000f9d0  65 61 72 63 68 20 66 69  6c 65 74 79 70 65 2e 22  |earch filetype."|
0000f9e0  2c 30 29 0d 6e b4 98 e7  20 28 73 65 61 72 63 68  |,0).n... (search|
0000f9f0  66 69 6c 65 20 80 20 a4  69 63 6f 6e 74 65 78 74  |file . .icontext|
0000fa00  28 73 65 61 72 63 68 25  2c 32 29 3c 3e 22 22 29  |(search%,2)<>"")|
0000fa10  20 84 20 28 73 65 61 72  63 68 74 79 70 65 20 80  | . (searchtype .|
0000fa20  20 a4 69 63 6f 6e 74 65  78 74 28 73 65 61 72 63  | .icontext(searc|
0000fa30  68 25 2c 33 29 3c 3e 22  22 29 20 8c 20 f2 73 65  |h%,3)<>"") . .se|
0000fa40  61 72 63 68 75 70 28 63  75 72 73 65 61 72 63 68  |archup(cursearch|
0000fa50  2c a4 69 63 6f 6e 74 65  78 74 28 73 65 61 72 63  |,.icontext(searc|
0000fa60  68 25 2c 32 29 2c a4 69  63 6f 6e 74 65 78 74 28  |h%,2),.icontext(|
0000fa70  73 65 61 72 63 68 25 2c  33 29 29 0d 6e be 07 c9  |search%,3)).n...|
0000fa80  20 35 0d 6e c8 6c e7 20  73 65 61 72 63 68 66 69  | 5.n.l. searchfi|
0000fa90  6c 65 20 80 20 a4 69 63  6f 6e 74 65 78 74 28 73  |le . .icontext(s|
0000faa0  65 61 72 63 68 25 2c 32  29 3d 22 22 20 8c 20 f2  |earch%,2)="" . .|
0000fab0  61 6c 65 72 74 28 22 4d  65 73 73 61 67 65 20 66  |alert("Message f|
0000fac0  72 6f 6d 20 54 72 65 65  22 2c 22 50 6c 65 61 73  |rom Tree","Pleas|
0000fad0  65 20 65 6e 74 65 72 20  61 20 73 65 61 72 63 68  |e enter a search|
0000fae0  20 66 69 6c 65 6e 61 6d  65 2e 22 2c 30 29 0d 6e  | filename.",0).n|
0000faf0  d2 6c e7 20 73 65 61 72  63 68 74 79 70 65 20 80  |.l. searchtype .|
0000fb00  20 a4 69 63 6f 6e 74 65  78 74 28 73 65 61 72 63  | .icontext(searc|
0000fb10  68 25 2c 33 29 3d 22 22  20 8c 20 f2 61 6c 65 72  |h%,3)="" . .aler|
0000fb20  74 28 22 4d 65 73 73 61  67 65 20 66 72 6f 6d 20  |t("Message from |
0000fb30  54 72 65 65 22 2c 22 50  6c 65 61 73 65 20 65 6e  |Tree","Please en|
0000fb40  74 65 72 20 61 20 73 65  61 72 63 68 20 66 69 6c  |ter a search fil|
0000fb50  65 74 79 70 65 2e 22 2c  30 29 0d 6e dc 9a e7 20  |etype.",0).n... |
0000fb60  28 73 65 61 72 63 68 66  69 6c 65 20 80 20 a4 69  |(searchfile . .i|
0000fb70  63 6f 6e 74 65 78 74 28  73 65 61 72 63 68 25 2c  |context(search%,|
0000fb80  32 29 3c 3e 22 22 29 20  84 20 28 73 65 61 72 63  |2)<>"") . (searc|
0000fb90  68 74 79 70 65 20 80 20  a4 69 63 6f 6e 74 65 78  |htype . .icontex|
0000fba0  74 28 73 65 61 72 63 68  25 2c 33 29 3c 3e 22 22  |t(search%,3)<>""|
0000fbb0  29 20 8c 20 f2 73 65 61  72 63 68 64 6f 77 6e 28  |) . .searchdown(|
0000fbc0  63 75 72 73 65 61 72 63  68 2c a4 69 63 6f 6e 74  |cursearch,.icont|
0000fbd0  65 78 74 28 73 65 61 72  63 68 25 2c 32 29 2c a4  |ext(search%,2),.|
0000fbe0  69 63 6f 6e 74 65 78 74  28 73 65 61 72 63 68 25  |icontext(search%|
0000fbf0  2c 33 29 29 0d 6e e6 05  cb 0d 6e f0 05 e1 0d 6e  |,3)).n....n....n|
0000fc00  fa 05 3a 0d 6f 04 12 dd  a4 69 73 6f 70 65 6e 28  |..:.o....isopen(|
0000fc10  77 69 6e 25 29 0d 6f 0e  12 62 6c 6f 63 6b 33 25  |win%).o..block3%|
0000fc20  21 30 3d 77 69 6e 25 0d  6f 18 25 c8 99 20 22 57  |!0=win%.o.%.. "W|
0000fc30  69 6d 70 5f 47 65 74 57  69 6e 64 6f 77 53 74 61  |imp_GetWindowSta|
0000fc40  74 65 22 2c 2c 62 6c 6f  63 6b 33 25 0d 6f 22 18  |te",,block3%.o".|
0000fc50  77 69 6e 66 6c 61 67 73  25 3d 62 6c 6f 63 6b 33  |winflags%=block3|
0000fc60  25 21 33 32 0d 6f 2c 30  e7 20 28 77 69 6e 66 6c  |%!32.o,0. (winfl|
0000fc70  61 67 73 25 20 80 20 25  31 30 30 30 30 30 30 30  |ags% . %10000000|
0000fc80  30 30 30 30 30 30 30 30  30 29 20 3d 20 36 35 35  |000000000) = 655|
0000fc90  33 36 20 8c 0d 6f 36 06  3d b9 0d 6f 40 05 cc 0d  |36 ..o6.=..o@...|
0000fca0  6f 4a 06 3d a3 0d 6f 54  05 cd 0d 6f 5e 05 3a 0d  |oJ.=..oT...o^.:.|
0000fcb0  6f 68 18 dd f2 76 69 65  77 69 63 6f 6e 28 77 69  |oh...viewicon(wi|
0000fcc0  6e 25 2c 69 63 25 29 0d  6f 72 11 62 6c 6f 63 6b  |n%,ic%).or.block|
0000fcd0  25 21 30 3d 77 69 6e 25  0d 6f 7c 10 62 6c 6f 63  |%!0=win%.o|.bloc|
0000fce0  6b 25 21 34 3d 69 63 25  0d 6f 86 22 c8 99 20 22  |k%!4=ic%.o.".. "|
0000fcf0  57 69 6d 70 5f 47 65 74  49 63 6f 6e 53 74 61 74  |Wimp_GetIconStat|
0000fd00  65 22 2c 2c 62 6c 6f 63  6b 25 0d 6f 90 2b 6d 69  |e",,block%.o.+mi|
0000fd10  64 64 6c 65 25 3d 62 6c  6f 63 6b 25 21 31 32 2b  |ddle%=block%!12+|
0000fd20  28 62 6c 6f 63 6b 25 21  32 30 2d 62 6c 6f 63 6b  |(block%!20-block|
0000fd30  25 21 31 32 29 0d 6f 9a  11 62 6c 6f 63 6b 25 21  |%!12).o..block%!|
0000fd40  30 3d 77 69 6e 25 0d 6f  a4 24 c8 99 20 22 57 69  |0=win%.o.$.. "Wi|
0000fd50  6d 70 5f 47 65 74 57 69  6e 64 6f 77 53 74 61 74  |mp_GetWindowStat|
0000fd60  65 22 2c 2c 62 6c 6f 63  6b 25 0d 6f ae 30 62 6c  |e",,block%.o.0bl|
0000fd70  6f 63 6b 25 21 32 34 3d  6d 69 64 64 6c 65 25 2b  |ock%!24=middle%+|
0000fd80  28 28 62 6c 6f 63 6b 25  21 31 36 2d 62 6c 6f 63  |((block%!16-bloc|
0000fd90  6b 25 21 38 29 20 81 20  32 29 0d 6f b8 20 c8 99  |k%!8) . 2).o. ..|
0000fda0  20 22 57 69 6d 70 5f 4f  70 65 6e 57 69 6e 64 6f  | "Wimp_OpenWindo|
0000fdb0  77 22 2c 2c 62 6c 6f 63  6b 25 0d 6f c2 05 e1 0d  |w",,block%.o....|
0000fdc0  6f cc 05 3a 0d 6f d6 2f  dd f2 73 65 61 72 63 68  |o..:.o./..search|
0000fdd0  75 70 28 63 2c 73 65 61  72 63 68 73 74 72 69 6e  |up(c,searchstrin|
0000fde0  67 31 24 2c 73 65 61 72  63 68 73 74 72 69 6e 67  |g1$,searchstring|
0000fdf0  32 24 29 0d 6f e0 24 73  75 62 73 65 61 72 63 68  |2$).o.$subsearch|
0000fe00  73 74 72 69 6e 67 31 24  3d 73 65 61 72 63 68 73  |string1$=searchs|
0000fe10  74 72 69 6e 67 31 24 0d  6f ea 24 73 75 62 73 65  |tring1$.o.$subse|
0000fe20  61 72 63 68 73 74 72 69  6e 67 32 24 3d 73 65 61  |archstring2$=sea|
0000fe30  72 63 68 73 74 72 69 6e  67 32 24 0d 6f f4 18 f2  |rchstring2$.o...|
0000fe40  75 73 65 6c 69 63 6f 6e  28 6d 61 69 6e 25 2c 63  |uselicon(main%,c|
0000fe50  2b 31 29 0d 6f fe 0c 66  6f 75 6e 64 3d 2d 31 0d  |+1).o..found=-1.|
0000fe60  70 08 0e e7 20 63 2d 31  3e 3d 30 20 8c 0d 70 12  |p... c-1>=0 ..p.|
0000fe70  0d 73 6d 65 67 25 3d 63  2d 31 0d 70 1c 15 c8 99  |.smeg%=c-1.p....|
0000fe80  20 22 48 6f 75 72 67 6c  61 73 73 5f 4f 6e 22 0d  | "Hourglass_On".|
0000fe90  70 26 05 f5 0d 70 30 15  f2 67 65 74 76 61 72 73  |p&...p0..getvars|
0000fea0  28 73 6d 65 67 25 2c a3  29 0d 70 3a 10 e7 20 66  |(smeg%,.).p:.. f|
0000feb0  6f 75 6e 64 3d 2d 31 20  8c 0d 70 44 10 e7 20 63  |ound=-1 ..pD.. c|
0000fec0  61 73 65 73 65 6e 73 20  8c 0d 70 4e 20 74 74 66  |asesens ..pN ttf|
0000fed0  69 6c 65 6e 61 6d 65 24  3d a4 67 4c 6e 28 24 66  |ilename$=.gLn($f|
0000fee0  69 6c 65 6e 61 6d 65 25  29 0d 70 58 18 74 74 66  |ilename%).pX.ttf|
0000fef0  62 6f 24 3d a4 70 61 64  28 74 79 70 65 25 21 30  |bo$=.pad(type%!0|
0000ff00  29 0d 70 62 05 cc 0d 70  6c 2a 74 74 66 69 6c 65  |).pb...pl*ttfile|
0000ff10  6e 61 6d 65 24 3d a4 74  6f 6c 6f 77 65 72 28 a4  |name$=.tolower(.|
0000ff20  67 4c 6e 28 24 66 69 6c  65 6e 61 6d 65 25 29 29  |gLn($filename%))|
0000ff30  0d 70 76 22 74 74 66 62  6f 24 3d a4 74 6f 6c 6f  |.pv"ttfbo$=.tolo|
0000ff40  77 65 72 28 a4 70 61 64  28 74 79 70 65 25 21 30  |wer(.pad(type%!0|
0000ff50  29 29 0d 70 80 2b 73 65  61 72 63 68 73 74 72 69  |)).p.+searchstri|
0000ff60  6e 67 31 24 3d a4 74 6f  6c 6f 77 65 72 28 73 65  |ng1$=.tolower(se|
0000ff70  61 72 63 68 73 74 72 69  6e 67 31 24 29 0d 70 8a  |archstring1$).p.|
0000ff80  2b 73 65 61 72 63 68 73  74 72 69 6e 67 32 24 3d  |+searchstring2$=|
0000ff90  a4 74 6f 6c 6f 77 65 72  28 73 65 61 72 63 68 73  |.tolower(searchs|
0000ffa0  74 72 69 6e 67 32 24 29  0d 70 94 05 cd 0d 70 9e  |tring2$).p....p.|
0000ffb0  21 e7 20 a7 73 75 62 73  65 61 72 63 68 73 74 72  |!. .subsearchstr|
0000ffc0  69 6e 67 31 24 2c 22 2a  22 29 3e 30 20 8c 0d 70  |ing1$,"*")>0 ..p|
0000ffd0  a8 23 66 75 64 67 65 3d  a7 73 75 62 73 65 61 72  |.#fudge=.subsear|
0000ffe0  63 68 73 74 72 69 6e 67  31 24 2c 22 2a 22 29 2d  |chstring1$,"*")-|
0000fff0  31 0d 70 b2 10 e7 20 63  61 73 65 73 65 6e 73 20  |1.p... casesens |
00010000  8c 0d 70 bc 2e 73 65 61  72 63 68 73 74 72 69 6e  |..p..searchstrin|
00010010  67 31 24 3d c1 73 75 62  73 65 61 72 63 68 73 74  |g1$=.subsearchst|
00010020  72 69 6e 67 31 24 2c 31  2c 66 75 64 67 65 29 0d  |ring1$,1,fudge).|
00010030  70 c6 25 74 74 66 69 6c  65 6e 61 6d 65 24 3d c1  |p.%ttfilename$=.|
00010040  74 74 66 69 6c 65 6e 61  6d 65 24 2c 31 2c 66 75  |ttfilename$,1,fu|
00010050  64 67 65 29 0d 70 d0 05  cc 0d 70 da 38 73 65 61  |dge).p....p.8sea|
00010060  72 63 68 73 74 72 69 6e  67 31 24 3d a4 74 6f 6c  |rchstring1$=.tol|
00010070  6f 77 65 72 28 c1 73 75  62 73 65 61 72 63 68 73  |ower(.subsearchs|
00010080  74 72 69 6e 67 31 24 2c  31 2c 66 75 64 67 65 29  |tring1$,1,fudge)|
00010090  29 0d 70 e4 2f 74 74 66  69 6c 65 6e 61 6d 65 24  |).p./ttfilename$|
000100a0  3d a4 74 6f 6c 6f 77 65  72 28 c1 74 74 66 69 6c  |=.tolower(.ttfil|
000100b0  65 6e 61 6d 65 24 2c 31  2c 66 75 64 67 65 29 29  |ename$,1,fudge))|
000100c0  0d 70 ee 05 cd 0d 70 f8  05 cd 0d 71 02 21 e7 20  |.p....p....q.!. |
000100d0  a7 73 75 62 73 65 61 72  63 68 73 74 72 69 6e 67  |.subsearchstring|
000100e0  32 24 2c 22 2a 22 29 3e  30 20 8c 0d 71 0c 23 66  |2$,"*")>0 ..q.#f|
000100f0  75 64 67 65 3d a7 73 75  62 73 65 61 72 63 68 73  |udge=.subsearchs|
00010100  74 72 69 6e 67 32 24 2c  22 2a 22 29 2d 31 0d 71  |tring2$,"*")-1.q|
00010110  16 10 e7 20 63 61 73 65  73 65 6e 73 20 8c 0d 71  |... casesens ..q|
00010120  20 2e 73 65 61 72 63 68  73 74 72 69 6e 67 32 24  | .searchstring2$|
00010130  3d c1 73 75 62 73 65 61  72 63 68 73 74 72 69 6e  |=.subsearchstrin|
00010140  67 32 24 2c 31 2c 66 75  64 67 65 29 0d 71 2a 1b  |g2$,1,fudge).q*.|
00010150  74 74 66 62 6f 24 3d c1  74 74 66 62 6f 24 2c 31  |ttfbo$=.ttfbo$,1|
00010160  2c 66 75 64 67 65 29 0d  71 34 05 cc 0d 71 3e 38  |,fudge).q4...q>8|
00010170  73 65 61 72 63 68 73 74  72 69 6e 67 32 24 3d a4  |searchstring2$=.|
00010180  74 6f 6c 6f 77 65 72 28  c1 73 75 62 73 65 61 72  |tolower(.subsear|
00010190  63 68 73 74 72 69 6e 67  32 24 2c 31 2c 66 75 64  |chstring2$,1,fud|
000101a0  67 65 29 29 0d 71 48 25  74 74 66 62 6f 24 3d a4  |ge)).qH%ttfbo$=.|
000101b0  74 6f 6c 6f 77 65 72 28  c1 74 74 66 62 6f 24 2c  |tolower(.ttfbo$,|
000101c0  31 2c 66 75 64 67 65 29  29 0d 71 52 05 cd 0d 71  |1,fudge)).qR...q|
000101d0  5c 05 cd 0d 71 66 4a e7  20 74 74 66 69 6c 65 6e  |\...qfJ. ttfilen|
000101e0  61 6d 65 24 3d 73 65 61  72 63 68 73 74 72 69 6e  |ame$=searchstrin|
000101f0  67 31 24 20 80 20 73 65  61 72 63 68 66 69 6c 65  |g1$ . searchfile|
00010200  20 80 20 ac 20 73 65 61  72 63 68 74 79 70 65 20  | . . searchtype |
00010210  8c 20 66 6f 75 6e 64 3d  73 6d 65 67 25 0d 71 70  |. found=smeg%.qp|
00010220  45 e7 20 74 74 66 62 6f  24 3d 73 65 61 72 63 68  |E. ttfbo$=search|
00010230  73 74 72 69 6e 67 32 24  20 80 20 ac 20 73 65 61  |string2$ . . sea|
00010240  72 63 68 66 69 6c 65 20  80 20 73 65 61 72 63 68  |rchfile . search|
00010250  74 79 70 65 20 8c 20 66  6f 75 6e 64 3d 73 6d 65  |type . found=sme|
00010260  67 25 0d 71 7a 60 e7 20  74 74 66 69 6c 65 6e 61  |g%.qz`. ttfilena|
00010270  6d 65 24 3d 73 65 61 72  63 68 73 74 72 69 6e 67  |me$=searchstring|
00010280  31 24 20 80 20 74 74 66  62 6f 24 3d 73 65 61 72  |1$ . ttfbo$=sear|
00010290  63 68 73 74 72 69 6e 67  32 24 20 80 20 73 65 61  |chstring2$ . sea|
000102a0  72 63 68 66 69 6c 65 20  80 20 73 65 61 72 63 68  |rchfile . search|
000102b0  74 79 70 65 20 8c 20 66  6f 75 6e 64 3d 73 6d 65  |type . found=sme|
000102c0  67 25 0d 71 84 05 cd 0d  71 8e 0c 73 6d 65 67 25  |g%.q....q..smeg%|
000102d0  2d 3d 31 0d 71 98 17 fd  66 6f 75 6e 64 3e 2d 31  |-=1.q...found>-1|
000102e0  20 84 20 73 6d 65 67 25  3c 30 0d 71 a2 18 c8 99  | . smeg%<0.q....|
000102f0  20 22 48 6f 75 72 67 6c  61 73 73 5f 53 6d 61 73  | "Hourglass_Smas|
00010300  68 22 0d 71 ac 05 cd 0d  71 b6 10 e7 20 66 6f 75  |h".q....q... fou|
00010310  6e 64 3d 2d 31 20 8c 0d  71 c0 64 f2 61 6c 65 72  |nd=-1 ..q.d.aler|
00010320  74 28 22 4d 65 73 73 61  67 65 20 66 72 6f 6d 20  |t("Message from |
00010330  54 72 65 65 22 2c 22 27  22 2b a4 69 63 6f 6e 74  |Tree","'"+.icont|
00010340  65 78 74 28 73 65 61 72  63 68 25 2c 32 29 2b 22  |ext(search%,2)+"|
00010350  27 20 77 61 73 20 6e 6f  74 20 66 6f 75 6e 64 20  |' was not found |
00010360  61 62 6f 76 65 20 74 68  65 20 63 75 72 72 65 6e  |above the curren|
00010370  74 20 66 69 6c 65 2e 22  2c 30 29 0d 71 ca 05 cc  |t file.",0).q...|
00010380  0d 71 d4 1c f2 76 69 65  77 69 63 6f 6e 28 6d 61  |.q...viewicon(ma|
00010390  69 6e 25 2c 66 6f 75 6e  64 2b 31 29 0d 71 de 1b  |in%,found+1).q..|
000103a0  f2 73 65 6c 69 63 6f 6e  28 6d 61 69 6e 25 2c 66  |.selicon(main%,f|
000103b0  6f 75 6e 64 2b 31 29 0d  71 e8 13 63 75 72 73 65  |ound+1).q..curse|
000103c0  61 72 63 68 3d 66 6f 75  6e 64 0d 71 f2 3a e7 20  |arch=found.q.:. |
000103d0  63 75 72 73 65 61 72 63  68 3d 30 20 8c 20 f2 73  |cursearch=0 . .s|
000103e0  69 63 6f 6e 28 73 65 61  72 63 68 25 2c 34 29 20  |icon(search%,4) |
000103f0  8b 20 f2 75 73 69 63 6f  6e 28 73 65 61 72 63 68  |. .usicon(search|
00010400  25 2c 34 29 0d 71 fc 3f  e7 20 63 75 72 73 65 61  |%,4).q.?. cursea|
00010410  72 63 68 3d 69 69 69 25  2d 31 20 8c 20 f2 73 69  |rch=iii%-1 . .si|
00010420  63 6f 6e 28 73 65 61 72  63 68 25 2c 35 29 20 8b  |con(search%,5) .|
00010430  20 f2 75 73 69 63 6f 6e  28 73 65 61 72 63 68 25  | .usicon(search%|
00010440  2c 35 29 0d 72 06 19 f2  67 65 74 76 61 72 73 28  |,5).r...getvars(|
00010450  63 75 72 73 65 61 72 63  68 2c a3 29 0d 72 10 2c  |cursearch,.).r.,|
00010460  f2 69 63 6f 6e 70 75 74  74 65 78 74 28 73 65 61  |.iconputtext(sea|
00010470  72 63 68 25 2c 38 2c a4  67 4c 6e 28 24 66 69 6c  |rch%,8,.gLn($fil|
00010480  65 6e 61 6d 65 25 29 29  0d 72 1a 05 cd 0d 72 24  |ename%)).r....r$|
00010490  05 e1 0d 72 2e 05 3a 0d  72 38 11 dd a4 74 6f 6c  |...r..:.r8...tol|
000104a0  6f 77 65 72 28 41 24 29  0d 72 42 11 e3 20 71 3d  |ower(A$).rB.. q=|
000104b0  31 20 b8 20 a9 28 41 24  29 0d 72 4c 51 e7 20 97  |1 . .(A$).rLQ. .|
000104c0  28 c1 41 24 2c 71 2c 31  29 29 3e 3d 97 22 41 22  |(.A$,q,1))>=."A"|
000104d0  20 80 20 97 28 c1 41 24  2c 71 2c 31 29 29 3c 3d  | . .(.A$,q,1))<=|
000104e0  97 22 5a 22 20 8c 20 c1  41 24 2c 71 2c 31 29 3d  |."Z" . .A$,q,1)=|
000104f0  bd 28 97 28 c1 41 24 2c  71 2c 31 29 29 2b 28 97  |.(.(.A$,q,1))+(.|
00010500  22 61 22 2d 97 22 41 22  29 29 0d 72 56 07 ed 20  |"a"-."A")).rV.. |
00010510  71 0d 72 60 07 3d 41 24  0d 72 6a 05 3a 0d 72 74  |q.r`.=A$.rj.:.rt|
00010520  31 dd f2 73 65 61 72 63  68 64 6f 77 6e 28 63 2c  |1..searchdown(c,|
00010530  73 65 61 72 63 68 73 74  72 69 6e 67 31 24 2c 73  |searchstring1$,s|
00010540  65 61 72 63 68 73 74 72  69 6e 67 32 24 29 0d 72  |earchstring2$).r|
00010550  7e 24 73 75 62 73 65 61  72 63 68 73 74 72 69 6e  |~$subsearchstrin|
00010560  67 31 24 3d 73 65 61 72  63 68 73 74 72 69 6e 67  |g1$=searchstring|
00010570  31 24 0d 72 88 24 73 75  62 73 65 61 72 63 68 73  |1$.r.$subsearchs|
00010580  74 72 69 6e 67 32 24 3d  73 65 61 72 63 68 73 74  |tring2$=searchst|
00010590  72 69 6e 67 32 24 0d 72  92 18 f2 75 73 65 6c 69  |ring2$.r...useli|
000105a0  63 6f 6e 28 6d 61 69 6e  25 2c 63 2b 31 29 0d 72  |con(main%,c+1).r|
000105b0  9c 0c 66 6f 75 6e 64 3d  2d 31 0d 72 a6 13 e7 20  |..found=-1.r... |
000105c0  63 2b 31 3c 3d 69 69 69  25 2d 31 20 8c 0d 72 b0  |c+1<=iii%-1 ..r.|
000105d0  0d 73 6d 65 67 25 3d 63  2b 31 0d 72 ba 15 c8 99  |.smeg%=c+1.r....|
000105e0  20 22 48 6f 75 72 67 6c  61 73 73 5f 4f 6e 22 0d  | "Hourglass_On".|
000105f0  72 c4 05 f5 0d 72 ce 15  f2 67 65 74 76 61 72 73  |r....r...getvars|
00010600  28 73 6d 65 67 25 2c a3  29 0d 72 d8 10 e7 20 66  |(smeg%,.).r... f|
00010610  6f 75 6e 64 3d 2d 31 20  8c 0d 72 e2 10 e7 20 63  |ound=-1 ..r... c|
00010620  61 73 65 73 65 6e 73 20  8c 0d 72 ec 20 74 74 66  |asesens ..r. ttf|
00010630  69 6c 65 6e 61 6d 65 24  3d a4 67 4c 6e 28 24 66  |ilename$=.gLn($f|
00010640  69 6c 65 6e 61 6d 65 25  29 0d 72 f6 18 74 74 66  |ilename%).r..ttf|
00010650  62 6f 24 3d a4 70 61 64  28 74 79 70 65 25 21 30  |bo$=.pad(type%!0|
00010660  29 0d 73 00 05 cc 0d 73  0a 2a 74 74 66 69 6c 65  |).s....s.*ttfile|
00010670  6e 61 6d 65 24 3d a4 74  6f 6c 6f 77 65 72 28 a4  |name$=.tolower(.|
00010680  67 4c 6e 28 24 66 69 6c  65 6e 61 6d 65 25 29 29  |gLn($filename%))|
00010690  0d 73 14 22 74 74 66 62  6f 24 3d a4 74 6f 6c 6f  |.s."ttfbo$=.tolo|
000106a0  77 65 72 28 a4 70 61 64  28 74 79 70 65 25 21 30  |wer(.pad(type%!0|
000106b0  29 29 0d 73 1e 2b 73 65  61 72 63 68 73 74 72 69  |)).s.+searchstri|
000106c0  6e 67 31 24 3d a4 74 6f  6c 6f 77 65 72 28 73 65  |ng1$=.tolower(se|
000106d0  61 72 63 68 73 74 72 69  6e 67 31 24 29 0d 73 28  |archstring1$).s(|
000106e0  2b 73 65 61 72 63 68 73  74 72 69 6e 67 32 24 3d  |+searchstring2$=|
000106f0  a4 74 6f 6c 6f 77 65 72  28 73 65 61 72 63 68 73  |.tolower(searchs|
00010700  74 72 69 6e 67 32 24 29  0d 73 32 05 cd 0d 73 3c  |tring2$).s2...s<|
00010710  21 e7 20 a7 73 75 62 73  65 61 72 63 68 73 74 72  |!. .subsearchstr|
00010720  69 6e 67 31 24 2c 22 2a  22 29 3e 30 20 8c 0d 73  |ing1$,"*")>0 ..s|
00010730  46 23 66 75 64 67 65 3d  a7 73 75 62 73 65 61 72  |F#fudge=.subsear|
00010740  63 68 73 74 72 69 6e 67  31 24 2c 22 2a 22 29 2d  |chstring1$,"*")-|
00010750  31 0d 73 50 10 e7 20 63  61 73 65 73 65 6e 73 20  |1.sP.. casesens |
00010760  8c 0d 73 5a 2e 73 65 61  72 63 68 73 74 72 69 6e  |..sZ.searchstrin|
00010770  67 31 24 3d c1 73 75 62  73 65 61 72 63 68 73 74  |g1$=.subsearchst|
00010780  72 69 6e 67 31 24 2c 31  2c 66 75 64 67 65 29 0d  |ring1$,1,fudge).|
00010790  73 64 25 74 74 66 69 6c  65 6e 61 6d 65 24 3d c1  |sd%ttfilename$=.|
000107a0  74 74 66 69 6c 65 6e 61  6d 65 24 2c 31 2c 66 75  |ttfilename$,1,fu|
000107b0  64 67 65 29 0d 73 6e 05  cc 0d 73 78 38 73 65 61  |dge).sn...sx8sea|
000107c0  72 63 68 73 74 72 69 6e  67 31 24 3d a4 74 6f 6c  |rchstring1$=.tol|
000107d0  6f 77 65 72 28 c1 73 75  62 73 65 61 72 63 68 73  |ower(.subsearchs|
000107e0  74 72 69 6e 67 31 24 2c  31 2c 66 75 64 67 65 29  |tring1$,1,fudge)|
000107f0  29 0d 73 82 2f 74 74 66  69 6c 65 6e 61 6d 65 24  |).s./ttfilename$|
00010800  3d a4 74 6f 6c 6f 77 65  72 28 c1 74 74 66 69 6c  |=.tolower(.ttfil|
00010810  65 6e 61 6d 65 24 2c 31  2c 66 75 64 67 65 29 29  |ename$,1,fudge))|
00010820  0d 73 8c 05 cd 0d 73 96  05 cd 0d 73 a0 21 e7 20  |.s....s....s.!. |
00010830  a7 73 75 62 73 65 61 72  63 68 73 74 72 69 6e 67  |.subsearchstring|
00010840  32 24 2c 22 2a 22 29 3e  30 20 8c 0d 73 aa 23 66  |2$,"*")>0 ..s.#f|
00010850  75 64 67 65 3d a7 73 75  62 73 65 61 72 63 68 73  |udge=.subsearchs|
00010860  74 72 69 6e 67 32 24 2c  22 2a 22 29 2d 31 0d 73  |tring2$,"*")-1.s|
00010870  b4 10 e7 20 63 61 73 65  73 65 6e 73 20 8c 0d 73  |... casesens ..s|
00010880  be 2e 73 65 61 72 63 68  73 74 72 69 6e 67 32 24  |..searchstring2$|
00010890  3d c1 73 75 62 73 65 61  72 63 68 73 74 72 69 6e  |=.subsearchstrin|
000108a0  67 32 24 2c 31 2c 66 75  64 67 65 29 0d 73 c8 1b  |g2$,1,fudge).s..|
000108b0  74 74 66 62 6f 24 3d c1  74 74 66 62 6f 24 2c 31  |ttfbo$=.ttfbo$,1|
000108c0  2c 66 75 64 67 65 29 0d  73 d2 05 cc 0d 73 dc 38  |,fudge).s....s.8|
000108d0  73 65 61 72 63 68 73 74  72 69 6e 67 32 24 3d a4  |searchstring2$=.|
000108e0  74 6f 6c 6f 77 65 72 28  c1 73 75 62 73 65 61 72  |tolower(.subsear|
000108f0  63 68 73 74 72 69 6e 67  32 24 2c 31 2c 66 75 64  |chstring2$,1,fud|
00010900  67 65 29 29 0d 73 e6 25  74 74 66 62 6f 24 3d a4  |ge)).s.%ttfbo$=.|
00010910  74 6f 6c 6f 77 65 72 28  c1 74 74 66 62 6f 24 2c  |tolower(.ttfbo$,|
00010920  31 2c 66 75 64 67 65 29  29 0d 73 f0 05 cd 0d 73  |1,fudge)).s....s|
00010930  fa 05 cd 0d 74 04 4a e7  20 74 74 66 69 6c 65 6e  |....t.J. ttfilen|
00010940  61 6d 65 24 3d 73 65 61  72 63 68 73 74 72 69 6e  |ame$=searchstrin|
00010950  67 31 24 20 80 20 73 65  61 72 63 68 66 69 6c 65  |g1$ . searchfile|
00010960  20 80 20 ac 20 73 65 61  72 63 68 74 79 70 65 20  | . . searchtype |
00010970  8c 20 66 6f 75 6e 64 3d  73 6d 65 67 25 0d 74 0e  |. found=smeg%.t.|
00010980  45 e7 20 74 74 66 62 6f  24 3d 73 65 61 72 63 68  |E. ttfbo$=search|
00010990  73 74 72 69 6e 67 32 24  20 80 20 ac 20 73 65 61  |string2$ . . sea|
000109a0  72 63 68 66 69 6c 65 20  80 20 73 65 61 72 63 68  |rchfile . search|
000109b0  74 79 70 65 20 8c 20 66  6f 75 6e 64 3d 73 6d 65  |type . found=sme|
000109c0  67 25 0d 74 18 60 e7 20  74 74 66 69 6c 65 6e 61  |g%.t.`. ttfilena|
000109d0  6d 65 24 3d 73 65 61 72  63 68 73 74 72 69 6e 67  |me$=searchstring|
000109e0  31 24 20 80 20 74 74 66  62 6f 24 3d 73 65 61 72  |1$ . ttfbo$=sear|
000109f0  63 68 73 74 72 69 6e 67  32 24 20 80 20 73 65 61  |chstring2$ . sea|
00010a00  72 63 68 66 69 6c 65 20  80 20 73 65 61 72 63 68  |rchfile . search|
00010a10  74 79 70 65 20 8c 20 66  6f 75 6e 64 3d 73 6d 65  |type . found=sme|
00010a20  67 25 0d 74 22 05 cd 0d  74 2c 0c 73 6d 65 67 25  |g%.t"...t,.smeg%|
00010a30  2b 3d 31 0d 74 36 1c fd  66 6f 75 6e 64 3e 2d 31  |+=1.t6..found>-1|
00010a40  20 84 20 73 6d 65 67 25  3e 69 69 69 25 2b 31 0d  | . smeg%>iii%+1.|
00010a50  74 40 18 c8 99 20 22 48  6f 75 72 67 6c 61 73 73  |t@... "Hourglass|
00010a60  5f 53 6d 61 73 68 22 0d  74 4a 05 cd 0d 74 54 10  |_Smash".tJ...tT.|
00010a70  e7 20 66 6f 75 6e 64 3d  2d 31 20 8c 0d 74 5e 64  |. found=-1 ..t^d|
00010a80  f2 61 6c 65 72 74 28 22  4d 65 73 73 61 67 65 20  |.alert("Message |
00010a90  66 72 6f 6d 20 54 72 65  65 22 2c 22 27 22 2b a4  |from Tree","'"+.|
00010aa0  69 63 6f 6e 74 65 78 74  28 73 65 61 72 63 68 25  |icontext(search%|
00010ab0  2c 32 29 2b 22 27 20 77  61 73 20 6e 6f 74 20 66  |,2)+"' was not f|
00010ac0  6f 75 6e 64 20 62 65 6c  6f 77 20 74 68 65 20 63  |ound below the c|
00010ad0  75 72 72 65 6e 74 20 66  69 6c 65 2e 22 2c 30 29  |urrent file.",0)|
00010ae0  0d 74 68 05 cc 0d 74 72  1c f2 76 69 65 77 69 63  |.th...tr..viewic|
00010af0  6f 6e 28 6d 61 69 6e 25  2c 66 6f 75 6e 64 2b 31  |on(main%,found+1|
00010b00  29 0d 74 7c 1b f2 73 65  6c 69 63 6f 6e 28 6d 61  |).t|..selicon(ma|
00010b10  69 6e 25 2c 66 6f 75 6e  64 2b 31 29 0d 74 86 13  |in%,found+1).t..|
00010b20  63 75 72 73 65 61 72 63  68 3d 66 6f 75 6e 64 0d  |cursearch=found.|
00010b30  74 90 3a e7 20 63 75 72  73 65 61 72 63 68 3d 30  |t.:. cursearch=0|
00010b40  20 8c 20 f2 73 69 63 6f  6e 28 73 65 61 72 63 68  | . .sicon(search|
00010b50  25 2c 34 29 20 8b 20 f2  75 73 69 63 6f 6e 28 73  |%,4) . .usicon(s|
00010b60  65 61 72 63 68 25 2c 34  29 0d 74 9a 3f e7 20 63  |earch%,4).t.?. c|
00010b70  75 72 73 65 61 72 63 68  3d 69 69 69 25 2d 31 20  |ursearch=iii%-1 |
00010b80  8c 20 f2 73 69 63 6f 6e  28 73 65 61 72 63 68 25  |. .sicon(search%|
00010b90  2c 35 29 20 8b 20 f2 75  73 69 63 6f 6e 28 73 65  |,5) . .usicon(se|
00010ba0  61 72 63 68 25 2c 35 29  0d 74 a4 19 f2 67 65 74  |arch%,5).t...get|
00010bb0  76 61 72 73 28 63 75 72  73 65 61 72 63 68 2c a3  |vars(cursearch,.|
00010bc0  29 0d 74 ae 2c f2 69 63  6f 6e 70 75 74 74 65 78  |).t.,.iconputtex|
00010bd0  74 28 73 65 61 72 63 68  25 2c 38 2c a4 67 4c 6e  |t(search%,8,.gLn|
00010be0  28 24 66 69 6c 65 6e 61  6d 65 25 29 29 0d 74 b8  |($filename%)).t.|
00010bf0  05 cd 0d 74 c2 05 e1 0d  ff                       |...t.....|
00010bf9