Home » Archimedes archive » Acorn User » AU 1997-04 B.adf » PD » Knit/EasyKnit/!EasyKnit/!RunImage

Knit/EasyKnit/!EasyKnit/!RunImage

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Archimedes archive » Acorn User » AU 1997-04 B.adf » PD
Filename: Knit/EasyKnit/!EasyKnit/!RunImage
Read OK:
File size: 22B99 bytes
Load address: 0000
Exec address: 0000
File contents
    1REM           >!RunImage
    2REM Program   !EasyKnit
    3version$=     "V4.51c 6th Feb 1997"
    4REM Author    LEN A&J Muir August 1995
    5:
    6ON ERROR :SYS &000406C2:PRINT REPORT$+" at line ";ERL:QUIT
    7:
    8PROCkc
    9ON ERROR SYS &000406C2:PROCsb
   10REPEAT
   11PROCqd
   12UNTIL exit%=TRUE
   13SYS&000400DD
   14END
   15:
   16DEF PROCkc
   17LOCAL size%,indsize%,i%,ptr%
   18SYS &000406C0
   19DIM block% 5000, imenu% 28+3*24, smenu% 28+3*24, dmenu% 28+4*24, emenu% 28+11*24, colmenu% 28+16*24
   20DIM maskmenu% 28+4*24, editmenu% 28+3*24, unitmenu% 28+2*24, rulermenu% 28+1*24
   21menuindsize%=200
   22DIM menuind% menuindsize%: $menuind%="":menuindfree%=menuind%+12
   23DIM name% 12
   24DIM carb% 24
   25DIM timeblock% 10
   26DIM timeanswer% 100
   27DIM transform% 23
   28DIM patstore% 120
   29appsize%=HIMEM-&8000
   30heap%=0
   31SYS &00000051 TO page%
   32!block%=2: block%!4=3: block%!8=9: block%!12=10: block%!16=&400C0
   33block%!20=&400C1: block%!24=&502: block%!28=5: block%!32=0
   34SYS&000400C0,310,&4B534154,"EasyKnit",block%
   35ON ERROR SYS &000406C2:PROCsb:QUIT
   36block%!0=-1
   37block%!4=0:block%!8=0
   38block%!12=68:block%!16=68
   39block%!20=&301A
   40$(block%+24)="!EasyKnit"+CHR$0
   41SYS&000400C2,,block% TO ibaricon%
   42IF FNr(-1,5)<>FNr(-1,4) THEN
   43toolspr%=FNp("<EasyKnit$Dir>.Resources.Sprites.Buttons")
   44titlespr%=FNp("<EasyKnit$Dir>.Resources.Sprites.TitleSpr")
   45ELSE
   46toolspr%=FNp("<EasyKnit$Dir>.Resources.Sprites.Buttons22")
   47titlespr%=FNp("<EasyKnit$Dir>.Resources.Sprites.TitleSpr22")
   48ENDIF
   49PROCjc
   50SYS &000400D9,,"<EasyKnit$Dir>.Resources.Templates"
   51indsize%=0: i%=0
   52REPEAT
   53$name%="*"
   54SYS &000400DB,,0,,,-1,name%,i% TO ,,size%,,,,i%
   55indsize%+=size%
   56UNTIL i%=0
   57DIM windowind% indsize%
   58info%=FNo("Info",0)
   59saveplus%=FNo("SavePlus",toolspr%)
   60save%=FNo("Save",0)
   61savebox%=saveplus%
   62main%=FNo("Tensions",toolspr%)
   63edit%=FNo("Edit",0)
   64titlewin%=FNo("Title",titlespr%)
   65zoom%=FNo("Zoom",toolspr%)
   66tbar%=FNo("Toolbar",toolspr%)
   67toprule%=FNo("Rule",0)
   68SYS&000400C1,,block% TO botrule%
   69SYS&000400C1,,block% TO leftrule%
   70SYS&000400C1,,block% TO rightrule%
   71cornertl%=FNo("Corner",0)
   72SYS&000400C1,,block% TO cornertr%
   73SYS&000400C1,,block% TO cornerbl%
   74SYS&000400C1,,block% TO cornerbr%
   75colchoose%=FNo("ColChoose",toolspr%)
   76colpane%=FNo("ColPane",toolspr%)
   77colcreate%=FNo("ColCreate",0)
   78largepick%=FNo("ColPickL",0)
   79smallpick%=FNo("ColPickS",0)
   80tbardisp%=FNo("ToolDisplay",0)
   81pattern%=FNo("Pattern",toolspr%)
   82ask%=FNo("Ask",0)
   83print%=FNo("Print",0)
   84report%=FNo("Report",0)
   85symbpick%=FNo("SymbPick",toolspr%)
   86SYS&000400DA
   87PROChe(imenu%,1)
   88PROChe(smenu%,2)
   89PROChe(dmenu%,3)
   90PROChe(emenu%,4)
   91PROChe(colmenu%,5)
   92PROChe(maskmenu%,6)
   93PROChe(editmenu%,7)
   94PROChe(unitmenu%,8)
   95PROChe(rulermenu%,9)
   96ptr%=colmenu%+28+8
   97FOR i%=0 TO 15
   98!ptr%=(&7000021+(i%<<28))
   99ptr%+=24
  100NEXT i%
  101ptr%=colmenu%+28+8
  102FOR i%=4 TO 8
  103ptr%!(i%*24)=(ptr%!(i%*24) AND NOT (%1111<<24))
  104NEXT i%
  105ptr%=colmenu%+28+8+10*24:!ptr%=(!ptr% AND NOT (%1111<<24))
  106ptr%=colmenu%+28+8+11*24:!ptr%=(!ptr% AND NOT (%1111<<24))
  107ptr%=colmenu%+28+8+13*24:!ptr%=(!ptr% AND NOT (%1111<<24))
  108PROCse(editmenu%,1)
  109PROCwe(editmenu%,0)
  110PROCwe(editmenu%,2)
  111PROCse(unitmenu%,1)
  112PROCwe(unitmenu%,0)
  113wimp_setistate%=&400CD
  114ct_setgcol%=&40743
  115wimp_setcol%=&400E6
  116PROCtb
  117$titleversion%=version$
  118PROCmd(titlewin%)
  119PROCed(1)
  120PROCcc(1)
  121PROCje(smenu%,0,1)
  122PROCje(smenu%,1,1)
  123PROCje(smenu%,2,0)
  124PROCfe(main%,37,0<<21,1<<21)
  125PROCfe(main%,37,1<<22,1<<22)
  126PROCfe(main%,37,3<<24,15<<24)
  127PROCre(5)
  128$sclmul%="1"
  129$scldiv%="1"
  130$trow%=""
  131$tstitch%=""
  132PROCfe(tbar%,9,1<<21,1<<21)
  133PROCfe(tbar%,5,1<<21,1<<21)
  134PROCse(emenu%,2)
  135PROCfe(tbar%,7,1<<21,1<<21)
  136PROCse(emenu%,4)
  137PROCfe(tbar%,12,1<<21,1<<21)
  138PROCfe(tbar%,13,0<<21,1<<21)
  139$patstore%="Project"
  140$(patstore%+100)="1"
  141$(patstore%+105)="18.1"
  142$(patstore%+110)="26.2"
  143patstore%?115=TRUE
  144editstore%=0
  145draw%=0
  146coltable%=0
  147paltable%=0
  148copyblock%=0
  149currentcol%=0
  150gridcol%=7
  151backcol%=0
  152forecol%=7
  153rulerfcol%=7
  154rulerbcol%=0
  155maxcol%=1
  156sourcespr%=0
  157sprite$="0"
  158spriteon%=FALSE
  159transtable%=0
  160nametable%=0
  161zoomstack%=0
  162tbarht%=96
  163tbarw%=824
  164rulesize%=70
  165colsize%=20
  166colpick%=smallpick%
  167edmul%=1: eddiv%=1
  168dragtype%=0
  169manner%=1
  170exit%=FALSE
  171drawheader%=TRUE
  172drawrulers%=TRUE
  173plaintext%=FALSE
  174pagerulers%=FALSE
  175mainopen%=FALSE
  176createopen%=FALSE
  177titleopen%=TRUE
  178helpon%=FALSE
  179infobuff%=0
  180helpbuff%=0
  181editopen%=FALSE
  182colcreateopen%=FALSE
  183coords%=FALSE
  184intbar%=FALSE
  185gridon%=TRUE
  186showmask%=FALSE
  187editcreated%=FALSE
  188starred%=FALSE
  189copy%=FALSE
  190oldrow%=-1
  191oldstitch%=-1
  192mask%=&400
  193$infoversion%=version$
  194sprite_file$=""
  195draw_file$=""
  196pattern_file$="Pattern"
  197state_file$="EasyKnit"
  198pictype$="none"
  199PROChd
  200SYS &00000042 TO tittime%
  201tittime%+=600
  202symbstore%=0
  203symbpoint%=0
  204symbsize%=0
  205descinfobuff%=0
  206descbuff%=0
  207extradescinfobuff%=0
  208extradescbuff%=0
  209SYS&00000010 TO env$
  210i%=INSTR(env$,"""")
  211i%=INSTR(env$,"""",i%+1)
  212REPEAT i%+=1
  213UNTIL MID$(env$,i%,1)<>" "
  214data_infile$=MID$(env$,i%)
  215IF INSTR(data_infile$,".")<>0 THEN
  216IF titleopen%=TRUE THEN PROCab
  217PROCqc(0)
  218ENDIF
  219SYS &000406C1
  220ENDPROC
  221:
  222DEF FNo(ident$,sprites%)
  223LOCAL whan%
  224$name%=ident$
  225SYS&000400DB,,block%,windowind%,windowind%+indsize%,fontdata%,name%,0  TO ,,windowind%
  226IF sprites%<>0 THEN block%!64=sprites%
  227SYS&000400C1,,block% TO whan%
  228=whan%
  229:
  230DEF PROCtb
  231infoversion%=FNi(info%,4)
  232saveone%    =FNi(saveplus%,4)
  233savetwo%    =FNi(saveplus%,5)
  234!block%=savebox%:block%!4=0: SYS &000400CE,,block%: savespr%=block%!32
  235sclmul% =FNi(zoom%,0)
  236scldiv% =FNi(zoom%,1)
  237trow%   =FNi(tbardisp%,3)
  238tstitch%=FNi(tbardisp%,4)
  239cname%  =FNi(colcreate%,3)
  240titleversion%       =FNi(titlewin%,6)
  241tension_sq_width%   =FNi(main%,15)
  242tension_sq_height%  =FNi(main%,16)
  243tension_sq_stitches%=FNi(main%,17)
  244tension_sq_rows%    =FNi(main%,18)
  245conv_rows%          =FNi(main%,19)
  246ans_conv_rows%      =FNi(main%,20)
  247conv_stitches%      =FNi(main%,21)
  248ans_conv_stitches%  =FNi(main%,22)
  249grows%    =FNi(main%,29)
  250gstitches%=FNi(main%,30)
  251gheight%  =FNi(main%,31)
  252gwidth%   =FNi(main%,32)
  253tdset%    =FNi(main%,46)
  254disptext% =FNi(main%,27)
  255tsqtunit% =FNi(main%,38)
  256tsqbunit% =FNi(main%,39)
  257contunit% =FNi(main%,48)
  258conbunit% =FNi(main%,49)
  259grdtunit% =FNi(main%,50)
  260grdbunit% =FNi(main%,51)
  261projname%=FNi(pattern%,8)
  262roffset%=FNi(pattern%,9)
  263tframeh%=FNi(pattern%,10)
  264tframew%=FNi(pattern%,11)
  265askquestion%=FNi(ask%,2)
  266askbutton0%=FNi(ask%,0)
  267askbutton1%=FNi(ask%,1)
  268prname%=FNi(print%,13)
  269prscale%=FNi(print%,5)
  270prtiles%=FNi(print%,10)
  271rep%=FNi(report%,1)
  272describe%=FNi(symbpick%,0)
  273!block%=main%: SYS &000400CC,,block%: maintitle%=block%!76
  274!block%=edit%: SYS &000400CC,,block%: edittitle%=block%!76
  275!block%=pattern%: SYS &000400CC,,block%: patterntitle%=block%!76
  276ENDPROC
  277:
  278DEF FNi(whan%,icon%)
  279block%!0=whan%: block%!4=icon%
  280SYS &000400CE,,block%
  281=block%!28
  282:
  283DEF PROCed(state%)
  284LOCAL icon%
  285CASE state% OF
  286WHEN 1
  287PROCzb(1)
  288PROCac(1)
  289PROCdc(0)
  290WHEN 2
  291PROCzb(0)
  292PROCac(1)
  293PROCdc(0)
  294WHEN 3
  295PROCzb(0)
  296PROCac(1)
  297PROCdc(0)
  298WHEN 4
  299PROCzb(1)
  300PROCac(0)
  301PROCdc(0)
  302WHEN 5
  303PROCac(0)
  304PROCbc(0)
  305PROCdc(0)
  306WHEN 6
  307PROCdc(1)
  308PROCzb(1)
  309PROCac(1)
  310FOR icon%= 42 TO 45
  311PROCfe(main%,icon%,0<<22,1<<22)
  312NEXT icon%
  313PROCfe(main%,29,0<<22,1<<22)
  314PROCfe(main%,30,0<<22,1<<22)
  315PROCfe(main%,26,7<<24,15<<24)
  316PROCfe(main%,33,7<<24,15<<24)
  317PROCfe(main%,34,7<<24,15<<24)
  318ENDCASE
  319mastergrey%=state%
  320ENDPROC
  321:
  322DEF PROCdc(grey%)
  323LOCAL icon%,gtext%
  324IF grey%=0 THEN gtext%=7
  325IF grey%=1 THEN gtext%=3
  326PROCfe(main%,3,gtext%<<24,15<<24)
  327FOR icon%=5 TO 8
  328PROCfe(main%,icon%,gtext%<<24,15<<24)
  329NEXT icon%
  330PROCfe(main%,38,gtext%<<24,15<<24)
  331PROCfe(main%,39,gtext%<<24,15<<24)
  332PROCfe(main%,47,gtext%<<24,15<<24)
  333FOR icon%= 15 TO 18
  334PROCfe(main%,icon%,grey%<<22,1<<22)
  335NEXT icon%
  336PROCfe(main%,46,grey%<<22,1<<22)
  337ENDPROC
  338:
  339DEF PROCzb(grey%)
  340LOCAL icon%,gtext%
  341IF grey%=0 THEN gtext%=7
  342IF grey%=1 THEN gtext%=3
  343icon%=4
  344PROCfe(main%,icon%,gtext%<<24,15<<24)
  345FOR icon%= 19 TO 24
  346PROCfe(main%,icon%,grey%<<22,1<<22)
  347NEXT icon%
  348FOR icon%= 9 TO 14
  349PROCfe(main%,icon%,gtext%<<24,15<<24)
  350NEXT icon%
  351FOR icon%= 40 TO 41
  352PROCfe(main%,icon%,grey%<<22,1<<22)
  353NEXT icon%
  354FOR icon%= 48 TO 49
  355PROCfe(main%,icon%,gtext%<<24,15<<24)
  356NEXT icon%
  357ENDPROC
  358:
  359DEF PROCac(grey%)
  360LOCAL icon%,gtext%
  361IF grey%=0 THEN gtext%=7
  362IF grey%=1 THEN gtext%=3
  363icon%=26
  364PROCfe(main%,icon%,gtext%<<24,15<<24)
  365icon%=37
  366PROCfe(main%,icon%,grey%<<22,1<<22)
  367PROCfe(main%,icon%,gtext%<<24,15<<24)
  368FOR icon%= 29 TO 32
  369PROCfe(main%,icon%,grey%<<22,1<<22)
  370NEXT icon%
  371FOR icon%= 33 TO 36
  372PROCfe(main%,icon%,gtext%<<24,15<<24)
  373NEXT icon%
  374FOR icon%= 42 TO 45
  375PROCfe(main%,icon%,grey%<<22,1<<22)
  376NEXT icon%
  377PROCfe(main%,50,gtext%<<24,15<<24)
  378PROCfe(main%,51,gtext%<<24,15<<24)
  379ENDPROC
  380:
  381DEF PROCbc(grey%)
  382LOCAL gtext%,tex%,numb%
  383IF grey%=0 THEN gtext%=7: tex%=3: numb%=1
  384IF grey%=1 THEN gtext%=3: tex%=7: numb%=0
  385PROCfe(main%,4,gtext%<<24,15<<24)
  386PROCfe(main%,9,gtext%<<24,15<<24)
  387PROCfe(main%,10,gtext%<<24,15<<24)
  388FOR icon%= 11 TO 14
  389PROCfe(main%,icon%,tex%<<24,15<<24)
  390NEXT icon%
  391PROCfe(main%,19,grey%<<22,1<<22)
  392PROCfe(main%,20,numb%<<22,1<<22)
  393PROCfe(main%,21,grey%<<22,1<<22)
  394PROCfe(main%,22,numb%<<22,1<<22)
  395PROCfe(main%,40,numb%<<22,1<<22)
  396PROCfe(main%,41,numb%<<22,1<<22)
  397PROCfe(main%,31,numb%<<22,1<<22)
  398PROCfe(main%,32,numb%<<22,1<<22)
  399PROCfe(main%,35,tex%<<24,15<<24)
  400PROCfe(main%,36,tex%<<24,15<<24)
  401PROCfe(main%,48,gtext%<<24,15<<24)
  402PROCfe(main%,49,gtext%<<24,15<<24)
  403PROCfe(main%,50,tex%<<24,15<<24)
  404PROCfe(main%,51,tex%<<24,15<<24)
  405ENDPROC
  406:
  407DEF PROCcc(grey%)
  408PROCfe(main%,0,grey%<<22,1<<22)
  409ENDPROC
  410:
  411DEF FNr(mode%,var%)
  412LOCAL result%
  413SYS &00000035,mode%,var% TO ,,result%
  414=result%
  415:
  416DEF PROCka(quest$,but1$,but0$,type%)
  417LOCAL w%,h%
  418VDU 7
  419$askquestion%=quest$
  420$askbutton0%=but1$
  421$askbutton1%=but0$
  422asktype%=type%
  423SYS &000400D3,,block%+1000
  424PROCmd(ask%)
  425SYS &000400D2,ask%,-1,0,0,0,0
  426SYS &000400E0,,block%
  427w%=block%!12-block%!4
  428h%=block%!16-block%!8
  429MOUSE TO block%!4+w%/2,block%!8+h%/2
  430MOUSE RECTANGLE block%!4,block%!8,w%-xpix%,h%-ypix%
  431!block%=edit%
  432w%=dragtype%
  433dragtype%=-1
  434PROCnc
  435dragtype%=w%
  436ENDPROC
  437:
  438DEF PROCwd(report$)
  439LOCAL w%,h%
  440VDU 7
  441$rep%=report$
  442SYS &000400D3,,block%+1000
  443PROCmd(report%)
  444SYS &000400D2,report%,-1,0,0,0,0
  445SYS &000400E0,,block%
  446w%=block%!12-block%!4
  447h%=block%!16-block%!8
  448MOUSE TO block%!4+w%/2,block%!8+h%/2
  449MOUSE RECTANGLE block%!4,block%!8,w%-xpix%,h%-ypix%
  450!block%=edit%
  451w%=dragtype%
  452dragtype%=-1
  453PROCnc
  454dragtype%=w%
  455ENDPROC
  456:
  457DEF PROCsb
  458LOCAL answer%
  459!block%=ERR
  460$(block%+4)=REPORT$+" (Error code "+STR$(ERL)+")"+CHR$0
  461SYS&000400DF,block%,3,"EasyKnit" TO ,answer%
  462IF answer%=2 THEN SYS &000400DD: END
  463ENDPROC
  464:
  465DEF PROCfe(whan%,icon%,e%,c%)
  466block%!900=whan%:block%!904=icon%
  467block%!908=e%:block%!912=c%
  468SYS wimp_setistate%,,block%+900
  469ENDPROC
  470:
  471DEF PROCoa(whan%,icon%,index%)
  472SYS &000400D2,whan%,icon%,-1,-1,-1,index%
  473ENDPROC
  474:
  475DEF PROCxb
  476SYS &000400D3,,carb%
  477ENDPROC
  478:
  479DEF FNl(whan%,icon%)
  480block%!(0+1024)=whan%: block%!(4+1024)=icon%
  481SYS &000400CE,,block%+1024
  482=((block%!(24+1024) AND 1<<21)<>0)
  483:
  484DEF FNm(whan%,icon%)
  485block%!(0+1024)=whan%: block%!(4+1024)=icon%
  486SYS &000400CE,,block%+1024
  487=((block%!(24+1024) AND 1<<22)<>0)
  488:
  489DEF PROCqd
  490LOCAL reason%
  491IF titleopen%=TRUE THEN
  492SYS &000400E1,mask%,block%,tittime% TO reason%
  493ELSE
  494SYS &000400C7,mask%,block% TO reason%
  495ENDIF
  496CASE reason% OF
  497WHEN 0:PROCkd
  498WHEN 1:PROCud
  499WHEN 2:PROCld
  500WHEN 3:PROCza(!block%)
  501WHEN 4:PROCnc
  502WHEN 5:PROCrb
  503WHEN 6:PROCid
  504WHEN 7:PROCkb
  505WHEN 8:PROCmc
  506WHEN 9:PROCfd
  507WHEN 17,18:PROCgd
  508WHEN 19:SYS &00000008,6,block%+44
  509ERROR,255,"Data transfer failed: Receiver died"
  510ENDCASE
  511ENDPROC
  512:
  513DEF PROCkd
  514LOCAL mx%,my%,orx%,ory%,wx%,wy%,stitch%,row%,num%
  515IF titleopen%=TRUE THEN
  516PROCab
  517ELSE
  518IF coords%=TRUE THEN
  519
  520SYS &000400CF,,block%
  521mx%=block%!0: my%=block%!4
  522!block%=edit%
  523SYS&000400CB,,block%
  524orx%=(block%!4-block%!20)
  525ory%=(block%!16-block%!24)
  526wx%=(mx%-orx%-rulesize%)
  527wy%=(my%-ory%-rulesize%+editht%)
  528stitch%=wx%/stw%+1
  529row%=wy%/rht%+1
  530IF stitch%>0 AND stitch%<=gridwidth% AND row%>0 AND row%<=gridheight% THEN
  531IF row%<>oldrow% OR stitch%<>oldstitch% THEN
  532CASE manner% OF
  533WHEN 0,1
  534$trow%=STR$(row%)
  535$tstitch%=STR$(stitch%)
  536PROCfe(tbardisp%,3,0,0)
  537PROCfe(tbardisp%,4,0,0)
  538oldrow%=row%: oldstitch%=stitch%
  539WHEN 2
  540$trow%=STR$(row%)
  541IF stitch%<=gridwidth%/2 THEN num%=gridwidth%/2-stitch%+1 ELSE num%=stitch%-gridwidth%/2
  542$tstitch%=STR$(num%)
  543PROCfe(tbardisp%,3,0,0)
  544PROCfe(tbardisp%,4,0,0)
  545oldrow%=row%: oldstitch%=stitch%
  546ENDCASE
  547ENDIF
  548ELSE
  549$trow%=""
  550$tstitch%=""
  551oldrow%=-1: oldstitch%=-1
  552PROCfe(tbardisp%,3,0,0)
  553PROCfe(tbardisp%,4,0,0)
  554ENDIF
  555IF dragtype%=1 OR dragtype%=2 THEN
  556
  557IF INKEY(-113)=TRUE THEN SYS &000400D0,,-1: dragtype%=0
  558ENDIF
  559ENDIF
  560IF intbar%=TRUE THEN
  561
  562SYS &000400CF,,block%
  563mx%=block%!0: my%=block%!4
  564!block%=tbar%
  565SYS&000400CB,,block%
  566IF mx%<block%!4+32 THEN
  567IF block%!20>0 THEN
  568block%!20-=2-(block%!4+16>mx%)*2
  569IF block%!20<0 THEN block%!20=0
  570SYS&000400C5,,block%
  571ENDIF
  572ENDIF
  573IF mx%>block%!12-32 THEN
  574IF block%!20<tbarw%-(block%!12-block%!4) THEN
  575block%!20+=2-(block%!12-mx%<16)*2
  576IF block%!20>tbarw%-(block%!12-block%!4) THEN block%!20=tbarw%-(block%!12-block%!4)
  577SYS&000400C5,,block%
  578ENDIF
  579ENDIF
  580ENDIF
  581ENDIF
  582ENDPROC
  583:
  584DEF PROCud
  585LOCAL more%,wx%,wy%,w%,h%,xx%,row%,stitch%,rh%,sw%
  586LOCAL minx%,miny%,maxx%,maxy%,sminx%,smaxx%,sminy%,smaxy%,min%,max%,x%,y%
  587LOCAL xc%,yc%,r%,g%,b%,rgb%,col%,column%
  588LOCAL minrow%,maxrow%,minsqr%,maxsqr%,min%,max%,i%,xl%,xh%,yl%,yh%
  589LOCAL scalex,scaley,scl%,num%,ymove%,xmove%
  590SYS &000400C8,,block% TO more%
  591WHILE more%
  592CASE block%!0 OF
  593WHEN symbpick%
  594wx%=block%!4-block%!20
  595wy%=block%!16-block%!24
  596minx%=block%!28-wx%+46
  597maxx%=block%!36-wx%+46
  598miny%=block%!32-wy%+16
  599maxy%=block%!40-wy%+16
  600min%=minx%/76
  601max%=maxx%/76
  602min%-=1
  603max%+=1
  604IF max%>8 THEN max%=8
  605IF min%<0 THEN min%=0
  606IF min%>max% THEN min%=max%
  607IF maxy%>-76 THEN
  608transform%!0 =2<<16
  609transform%!4 =0
  610transform%!8 =0
  611transform%!12=2<<16
  612transform%!20=(wy%-76)<<8
  613FOR i%=symbpage%*9 TO symbpage%*9+8
  614IF i%<symbmax%+1 THEN
  615transform%!16=(wx%+(i%-symbpage%*9+1)*76+46)<<8
  616SYS &00045540,0,symbpoint%!(i%*4),symbsize%!(i%*4),transform%,block%+28
  617ENDIF
  618NEXT i%
  619ENDIF
  620WHEN colpick%
  621wx%=block%!4-block%!20
  622wy%=block%!16-block%!24
  623minx%=block%!28-wx%-40
  624maxx%=block%!36-wx%-40
  625miny%=block%!32-wy%+40
  626maxy%=block%!40-wy%+40
  627wx%+=40: wy%-=(40+colsize%)
  628IF maxx%>0 AND minx%<16*colsize%+xpix% AND maxy%>-16*colsize% AND miny%<ypix% THEN
  629minrow%=-maxy%/colsize%
  630maxrow%=(-miny%/colsize%)
  631minsqr%=minx%/colsize%
  632maxsqr%=maxx%/colsize%
  633IF minrow%<0 THEN minrow%=0
  634IF maxrow%>15 THEN maxrow%=15
  635IF minsqr%<0 THEN minsqr%=0
  636IF maxsqr%>15 THEN maxsqr%=15
  637IF minsqr%>maxsqr% THEN minsqr%=maxsqr%
  638IF minrow%>maxrow% THEN minrow%=maxrow%
  639SYS ct_setgcol%,0
  640RECTANGLE FILL wx%,wy%-15*colsize%,16*colsize%,16*colsize%
  641FOR row%=minrow% TO maxrow%
  642FOR column%=minsqr% TO maxsqr%
  643col%=row%*16+column%
  644r%=col% AND 15
  645g%=((col% AND 48)>>2) OR col% AND 3
  646b%=(col% AND 192)>>4 OR col% AND 3
  647rgb%=(b%<<24)OR(g%<<16)OR(r%<<8)
  648rgb%=rgb% OR (rgb%<<4)
  649SYS ct_setgcol%,rgb%
  650RECTANGLE FILL wx%+column%*colsize%+xpix%,wy%-row%*colsize%+ypix%,colsize%-xpix2%,colsize%-ypix2%
  651NEXT column%
  652NEXT row%
  653ENDIF
  654WHEN colchoose%
  655wx%=block%!4-block%!20
  656wy%=block%!16-block%!24
  657minx%=block%!28-wx%
  658maxx%=block%!36-wx%
  659miny%=block%!32-wy%+22
  660maxy%=block%!40-wy%+22
  661min%=miny%/76
  662max%=maxy%/76
  663max%+=1
  664IF max%>0 THEN max%=0
  665IF min%<-(maxcol%+1) THEN min%=-(maxcol%+1)
  666IF minx%<90 THEN
  667FOR i%=min% TO max%
  668SYS ct_setgcol%,paltable%!(-i%*4-4)
  669RECTANGLE FILL 22+wx%,(i%-1)*76-24-64+wy%,64,60
  670NEXT i%
  671ENDIF
  672WHEN colpane%
  673wx%=block%!4-block%!20
  674wy%=block%!16-block%!24
  675minx%=block%!28-wx%
  676maxx%=block%!36-wx%
  677miny%=block%!32-wy%+22
  678maxy%=block%!40-wy%+22
  679min%=miny%/76
  680max%=maxy%/76
  681IF max%>0 THEN max%=0
  682IF min%<-maxcol% THEN min%=-maxcol%
  683IF minx%<90 THEN
  684FOR i%=min% TO max%
  685SYS ct_setgcol%,paltable%!(-i%*4)
  686RECTANGLE FILL 22+wx%,i%*76-24-64+wy%,64,60
  687NEXT i%
  688ENDIF
  689WHEN edit%
  690wx%=block%!4-block%!20
  691wy%=block%!16-block%!24
  692minx%=block%!28-wx%
  693maxx%=block%!36-wx%
  694miny%=block%!32-wy%+editht%
  695maxy%=block%!40-wy%+editht%
  696minx%-=stw%
  697maxx%+=stw%
  698miny%-=rht%
  699maxy%+=rht%
  700sminx%=(minx%-rulesize%)/stw%
  701smaxx%=(maxx%-rulesize%)/stw%
  702sminy%=(miny%-rulesize%)/rht%
  703smaxy%=(maxy%-rulesize%)/rht%
  704IF sminx%<0 THEN sminx%=0
  705IF sminy%<0 THEN sminy%=0
  706IF smaxx%>gridwidth% THEN smaxx%=gridwidth%
  707IF smaxy%>gridheight% THEN smaxy%=gridheight%
  708IF sminx%>smaxx% THEN sminx%=smaxx%
  709IF sminy%>smaxy% THEN sminy%=smaxy%
  710xc%=wx%+rulesize%
  711yc%=wy%-editht%+rulesize%
  712IF spriteon%=TRUE THEN
  713CASE pictype$ OF
  714WHEN "sprite"
  715block%!100=xc%<<8
  716block%!104=(yc%+gridheight%*rht%)<<8
  717block%!108=(xc%+gridwidth%*stw%)<<8
  718block%!112=(yc%+gridheight%*rht%)<<8
  719block%!116=(xc%+gridwidth%*stw%)<<8
  720block%!120=yc%<<8
  721block%!124=xc%<<8
  722block%!128=yc%<<8
  723
  724SYS&0000002E,&238,sourcespr%,sourceaddr%,1,0,0,block%+100,transtable%
  725WHEN "draw"
  726scalex=(((gridwidth%*stw%)<<8)/(drawx%))
  727scaley=(((gridheight%*rht%)<<8)/(drawy%-1))
  728transform%!0 =scalex*65536
  729transform%!4 =0
  730transform%!8 =0
  731transform%!12=scaley*65536
  732transform%!16=(xc%<<8)-drawxoffset%*scalex
  733transform%!20=(yc%<<8)-drawyoffset%*scaley
  734
  735SYS &00045540,0,draw%,drawlen%,transform%,block%+28
  736ENDCASE
  737ENDIF
  738CASE manner% OF
  739WHEN 0,1
  740
  741sw%=stw%+xpix2%*(gridon%=TRUE)
  742rh%=rht%+ypix2%*(gridon%=TRUE)
  743y%=yc%-ypix%*(gridon%=TRUE)
  744xx%=xc%-xpix%*(gridon%=TRUE)
  745FORw%=sminx%TOsmaxx%-1:x%=xx%+w%*stw%:FORh%=sminy%TOsmaxy%-1:col%=coltable%?(h%*gridwidth%+w%):IFshowmask%col%=col%AND191
  746IF(col%AND192)=0SYSct_setgcol%,paltable%!((col%AND63)*4):RECTANGLEFILLx%,y%+h%*rht%,sw%,rh%
  747NEXT:NEXT
  748
  749IF maxx%>rulesize% AND minx%<rulesize%+gridwidth%*stw% AND maxy%>rulesize% AND miny%<rulesize%+gridheight%*rht% AND FNl(tbar%,5) THEN
  750SYS wimp_setcol%,gridcol%
  751
  752yl%=yc%+sminy%*rht%: yh%=yc%+smaxy%*rht%
  753FOR x%=sminx% TO smaxx%
  754MOVE xc%+x%*stw%,yl%
  755DRAW xc%+x%*stw%,yh%
  756NEXT x%
  757
  758xl%=xc%+sminx%*stw%: xh%=xc%+smaxx%*stw%
  759FOR y%=sminy% TO smaxy%
  760MOVE xl%,yc%+y%*rht%
  761DRAW xh%,yc%+y%*rht%
  762NEXT y%
  763ENDIF
  764IF NOT pagerulers% THEN
  765SYS wimp_setcol%,forecol%
  766
  767IF minx%<rulesize% THEN
  768min%=(miny%-rulesize%)/rht%
  769max%=(maxy%-rulesize%)/rht%
  770IF max%>gridheight% THEN max%=gridheight%
  771IF min%<0 THEN min%=0
  772min%=min% DIV 10
  773max%=max% DIV 10
  774FOR row%=min% TO max%
  775x%=xc%
  776y%=yc%+row%*rht%*10+16
  777MOVE x%+(16*(row%>0))+(16*(row%>9))-40,y%
  778PRINT ;row%*10
  779MOVE x%-20,y%-16
  780DRAW x%,y%-16
  781NEXT row%
  782ENDIF
  783
  784IF maxx%>rulesize%+gridwidth%*stw% THEN
  785min%=(miny%-rulesize%)/rht%
  786max%=(maxy%-rulesize%)/rht%
  787IF max%>gridheight% THEN max%=gridheight%
  788IF min%<0 THEN min%=0
  789min%=min% DIV 10
  790max%=max% DIV 10
  791FOR row%=min% TO max%
  792x%=xc%+24+gridwidth%*stw%
  793y%=row%*rht%*10+yc%+16
  794MOVE x%,y%
  795PRINT ;row%*10
  796MOVE x%-4,y%-16
  797DRAW x%-24,y%-16
  798NEXT row%
  799ENDIF
  800
  801IF miny%<rulesize% THEN
  802min%=(minx%-rulesize%)/stw%
  803max%=(maxx%-rulesize%)/stw%
  804IF max%>gridwidth% THEN max%=gridwidth%
  805IF min%<0 THEN min%=0
  806min%=min% DIV 10
  807max%=max% DIV 10
  808FOR stitch%=min% TO max%
  809x%=xc%+stitch%*stw%*10
  810y%=yc%-24
  811MOVE x%+(16*(stitch%>0))+(8*(stitch%>9)),y%
  812PRINT ;stitch%*10
  813MOVE x%,y%+4
  814DRAW x%,y%+20
  815NEXT stitch%
  816ENDIF
  817
  818IF maxy%>editht%-rulesize%-tbarht% THEN
  819min%=(minx%-rulesize%)/stw%
  820max%=(maxx%-rulesize%)/stw%
  821IF max%>gridwidth% THEN max%=gridwidth%
  822IF min%<0 THEN min%=0
  823min%=min% DIV 10
  824max%=max% DIV 10
  825FOR stitch%=min% TO max%
  826x%=xc%+stitch%*stw%*10
  827y%=yc%+gridheight%*rht%+52
  828MOVE x%+(16*(stitch%>0))+(8*(stitch%>9)),y%
  829PRINT ;stitch%*10
  830MOVE x%,y%-32
  831DRAW x%,y%-52
  832NEXT stitch%
  833ENDIF
  834ENDIF
  835WHEN 2
  836
  837scl%=(stw%-30)/2
  838nummin%=sminx%-1
  839nummax%=smaxx%+1
  840nummin%-=nummin%MOD2
  841IF nummin%<0 THEN nummin%=0
  842IF nummax%>gridwidth% THEN nummax%=gridwidth%
  843FOR x%=nummin% TO nummax% STEP 2
  844IF x% MOD 2=0 THEN
  845IF x%<=gridwidth%/2 THEN
  846num%=gridwidth%/2-x%
  847IF num% MOD 2=1 THEN num%-=1 : xmove%=stw% ELSE xmove%=0
  848IF num% MOD12=0 THEN SYS wimp_setcol%,11 ELSE SYS wimp_setcol%,gridcol%
  849IF num%=0 THEN
  850MOVE xc%+(gridwidth%/2)*stw%-8,yc%-4
  851PRINT ;num%
  852MOVE xc%+(gridwidth%/2)*stw%-8,yc%+gridheight%*rht%+32
  853PRINT ;num%
  854ELSE
  855IF num%<10 THEN xmove%+=8
  856MOVE xc%+x%*stw%+xmove%+scl%,yc%-4
  857PRINT ;num%
  858MOVE xc%+x%*stw%+xmove%+scl%,yc%+gridheight%*rht%+32
  859PRINT ;num%
  860ENDIF
  861ELSE
  862num%=x%-gridwidth%/2
  863IF num% MOD 2=1 THEN num%-=1 : xmove%=stw% ELSE xmove%=0
  864IF num% MOD12=0 THEN SYS wimp_setcol%,11 ELSE SYS wimp_setcol%,gridcol%
  865IF num%<10 THEN xmove%-=8
  866MOVE xc%+(x%-1)*stw%-xmove%+scl%,yc%-4
  867IF num%<>0 THEN PRINT ;num%
  868MOVE xc%+(x%-1)*stw%-xmove%+scl%,yc%+gridheight%*rht%+32
  869IF num%<>0 THEN PRINT ;num%
  870ENDIF
  871ENDIF
  872NEXT x%
  873
  874nummin%=sminy%-1
  875nummax%=smaxy%+1
  876nummin%-=nummin% MOD 2
  877nummax%+=nummax% MOD 2
  878IF nummin%<0 THEN nummin%=0
  879IF nummax%>gridheight% THEN nummax%=gridheight%
  880FOR y%=nummin% TO nummax% STEP 2
  881IF y%=0 THEN ymove%=12 ELSE ymove%=-scl%
  882IF y%<10 THEN xmove%=16 ELSE xmove%=0
  883IF y%>99 THEN xmove%=-16
  884IF y%MOD10=0 THEN SYS wimp_setcol%,11 ELSE SYS wimp_setcol%,gridcol%
  885MOVE xc%-36+xmove%,yc%+y%*rht%-2+ymove%
  886PRINT ;y%
  887MOVE xc%+gridwidth%*stw%+4,yc%+y%*rht%-2+ymove%
  888PRINT ;y%
  889NEXT y%
  890IF maxx%>rulesize% AND minx%<rulesize%+gridwidth%*stw% AND maxy%>rulesize% AND miny%<rulesize%+gridheight%*rht% AND FNl(tbar%,5) THEN
  891SYS wimp_setcol%,gridcol%
  892
  893yl%=yc%+sminy%*rht%: yh%=yc%+smaxy%*rht%
  894FOR x%=sminx% TO smaxx%
  895IF (gridwidth%/2-x%)MOD12=0 THEN SYS wimp_setcol%,11 ELSE SYS wimp_setcol%,gridcol%
  896MOVE xc%+x%*stw%,yl%
  897DRAW xc%+x%*stw%,yh%
  898NEXT x%
  899
  900xl%=xc%+sminx%*stw%: xh%=xc%+smaxx%*stw%
  901FOR y%=sminy% TO smaxy%
  902IF y% MOD 10=0 THEN SYS wimp_setcol%,11 ELSE SYS wimp_setcol%,gridcol%
  903MOVE xl%,yc%+y%*rht%
  904DRAW xh%,yc%+y%*rht%
  905NEXT y%
  906
  907transform%!0 =(edmul%/eddiv%)*65536
  908transform%!4 =0
  909transform%!8 =0
  910transform%!12=(edmul%/eddiv%)*65536
  911y%=yc%-ypix%*(gridon%=TRUE)
  912xx%=xc%-xpix%*(gridon%=TRUE)
  913FORw%=sminx%TOsmaxx%-1:x%=xx%+w%*stw%:transform%!16=x%<<8:FORh%=sminy%TOsmaxy%-1:symb%=coltable%?(h%*gridwidth%+w%)
  914IF (symb%AND128)=0 THEN
  915transform%!20=(y%+h%*rht%)<<8
  916SYS &00045540,0,symbpoint%!(symb%*4),symbsize%!(symb%*4),transform%,block%+28
  917ENDIF
  918NEXT:NEXT
  919ENDIF
  920ENDCASE
  921WHEN toprule%
  922wx%=block%!4-block%!20
  923wy%=block%!16-block%!24
  924xc%=wx%+rulesize%-xpix%
  925yc%=wy%-rulesize%+52
  926minx%=block%!28-wx%
  927maxx%=block%!36-wx%
  928min%=(minx%-rulesize%)/stw%-5
  929max%=(maxx%-rulesize%)/stw%+5
  930min%-=min% MOD 2
  931max%+=max% MOD 2
  932IF max%>gridwidth% THEN max%=gridwidth%
  933IF min%<0 THEN min%=0
  934SYS wimp_setcol%,rulerfcol%
  935scl%=(stw%-30)/2
  936CASE manner% OF
  937WHEN 0,1
  938FOR stitch%=min% TO max%
  939x%=xc%+stitch%*stw%
  940IF stitch%MOD10=0 THEN
  941MOVE x%+(16*(stitch%>9))+(8*(stitch%>99))+(8*(stitch%>999)),yc%
  942PRINT ;stitch%
  943MOVE x%,yc%-32
  944DRAW x%,yc%-52
  945ELSE
  946MOVE x%,yc%-42-(7*(stitch%MOD5=0))
  947DRAW x%,yc%-52
  948ENDIF
  949NEXT stitch%
  950WHEN 2
  951FOR x%=min% TO max% STEP 2
  952IF x%<=gridwidth%/2 THEN
  953num%=gridwidth%/2-x%
  954IF num% MOD 2=1 THEN num%-=1 : xmove%=stw% ELSE xmove%=0
  955IF num% MOD 12=0 THEN SYS wimp_setcol%,11 ELSE SYS wimp_setcol%,rulerfcol%
  956IF num%=0 THEN
  957MOVE xc%+(gridwidth%/2)*stw%-8,yc%-24
  958PRINT ;num%
  959ELSE
  960IF num%<10 THEN xmove%+=8
  961MOVE xc%+x%*stw%+xmove%+scl%,yc%-24
  962PRINT ;num%
  963ENDIF
  964ELSE
  965num%=x%-gridwidth%/2
  966IF num% MOD 2=1 THEN num%-=1 : xmove%=stw% ELSE xmove%=0
  967IF num% MOD 12=0 THEN SYS wimp_setcol%,11 ELSE SYS wimp_setcol%,rulerfcol%
  968IF num%<10 THEN xmove%-=8
  969MOVE xc%+(x%-1)*stw%-xmove%+scl%,yc%-24
  970IF num%<>0 THEN PRINT ;num%
  971ENDIF
  972NEXT x%
  973ENDCASE
  974WHEN botrule%
  975wx%=block%!4-block%!20
  976wy%=block%!16-block%!24
  977xc%=wx%+rulesize%-xpix%
  978yc%=wy%-26
  979minx%=block%!28-wx%
  980maxx%=block%!36-wx%
  981min%=(minx%-rulesize%)/stw%-5
  982max%=(maxx%-rulesize%)/stw%+5
  983min%-=min% MOD 2
  984max%+=max% MOD 2
  985IF max%>gridwidth% THEN max%=gridwidth%
  986IF min%<0 THEN min%=0
  987SYS wimp_setcol%,rulerfcol%
  988scl%=(stw%-30)/2
  989CASE manner% OF
  990WHEN 0,1
  991FOR stitch%=min% TO max%
  992x%=xc%+stitch%*stw%
  993IF stitch%MOD10=0 THEN
  994MOVE x%+(16*(stitch%>9))+(8*(stitch%>99))+(8*(stitch%>999)),yc%
  995PRINT ;stitch%
  996MOVE x%,wy%-20
  997DRAW x%,wy%
  998ELSE
  999MOVE x%,wy%-10+(7*(stitch%MOD5=0))
 1000DRAW x%,wy%
 1001ENDIF
 1002NEXT stitch%
 1003WHEN 2
 1004FOR x%=min% TO max% STEP 2
 1005IF x%<=gridwidth%/2 THEN
 1006num%=gridwidth%/2-x%
 1007IF num% MOD 2=1 THEN num%-=1 : xmove%=stw% ELSE xmove%=0
 1008IF num% MOD 12=0 THEN SYS wimp_setcol%,11 ELSE SYS wimp_setcol%,rulerfcol%
 1009IF num%=0 THEN
 1010MOVE xc%+(gridwidth%/2)*stw%-8,yc%+24
 1011PRINT ;num%
 1012ELSE
 1013IF num%<10 THEN xmove%+=8
 1014MOVE xc%+x%*stw%+xmove%+scl%,yc%+24
 1015PRINT ;num%
 1016ENDIF
 1017ELSE
 1018num%=x%-gridwidth%/2
 1019IF num% MOD 2=1 THEN num%-=1 : xmove%=stw% ELSE xmove%=0
 1020IF num% MOD 12=0 THEN SYS wimp_setcol%,11 ELSE SYS wimp_setcol%,rulerfcol%
 1021IF num%<10 THEN xmove%-=8
 1022MOVE xc%+(x%-1)*stw%-xmove%+scl%,yc%+24
 1023IF num%<>0 THEN PRINT ;num%
 1024ENDIF
 1025NEXT x%
 1026ENDCASE
 1027WHEN leftrule%
 1028wx%=block%!4-block%!20
 1029wy%=block%!16-block%!24
 1030xc%=wx%+rulesize%-xpix2%
 1031yc%=wy%+ruleheight%+rulesize%
 1032miny%=block%!32-wy%-ruleheight%
 1033maxy%=block%!40-wy%-ruleheight%
 1034min%=(miny%-rulesize%)/rht%-5
 1035max%=(maxy%-rulesize%)/rht%+5
 1036IF max%>gridheight% THEN max%=gridheight%
 1037IF min%<0 THEN min%=0
 1038SYS wimp_setcol%,rulerfcol%
 1039CASE manner% OF
 1040WHEN 0,1
 1041FOR row%=min% TO max%
 1042x%=xc%-26
 1043y%=yc%+row%*rht%+ypix%
 1044IF row%MOD10=0 THEN
 1045MOVE x%+(16*(row%>9))+(16*(row%>99))+(8*(row%>999)),y%-ypix2%-(32*(row%=0))
 1046PRINT ;row%
 1047MOVE xc%-20,y%
 1048DRAW xc%,y%
 1049ELSE
 1050MOVE xc%-10+(7*(row%MOD5=0)),y%
 1051DRAW xc%,y%
 1052ENDIF
 1053NEXT row%
 1054WHEN 2
 1055min%-=min% MOD 2
 1056scl%=(stw%-30)/2
 1057xmove%=0
 1058FOR y%=min% TO max% STEP 2
 1059IF y%<10 THEN xmove%=16 ELSE xmove%=0
 1060IF y%>99 THEN xmove%-=16
 1061IF y% MOD 10=0 THEN SYS wimp_setcol%,11 ELSE SYS wimp_setcol%,rulerfcol%
 1062MOVE xc%-32+xmove%,yc%+y%*rht%-scl%
 1063PRINT ;y%
 1064NEXT y%
 1065ENDCASE
 1066WHEN rightrule%
 1067wx%=block%!4-block%!20
 1068wy%=block%!16-block%!24
 1069xc%=wx%
 1070yc%=wy%+ruleheight%+rulesize%
 1071miny%=block%!32-wy%-ruleheight%
 1072maxy%=block%!40-wy%-ruleheight%
 1073min%=(miny%-rulesize%)/rht%-5
 1074max%=(maxy%-rulesize%)/rht%+5
 1075IF max%>gridheight% THEN max%=gridheight%
 1076IF min%<0 THEN min%=0
 1077SYS wimp_setcol%,rulerfcol%
 1078CASE manner% OF
 1079WHEN 0,1
 1080FOR row%=min% TO max%
 1081x%=xc%+10
 1082y%=yc%+row%*rht%+ypix%
 1083IF row%MOD10=0 THEN
 1084MOVE x%+(8*(row%>999)),y%-ypix2%-(32*(row%=0))
 1085PRINT ;row%
 1086MOVE xc%+20,y%
 1087DRAW xc%,y%
 1088ELSE
 1089MOVE xc%+10-(7*(row%MOD5=0)),y%
 1090DRAW xc%,y%
 1091ENDIF
 1092NEXT row%
 1093WHEN 2
 1094min%-=min% MOD 2
 1095scl%=(stw%-30)/2
 1096FOR y%=min% TO max% STEP 2
 1097IF y% MOD 10=0 THEN SYS wimp_setcol%,11 ELSE SYS wimp_setcol%,rulerfcol%
 1098MOVE xc%,yc%+y%*rht%-scl%
 1099PRINT ;y%
 1100NEXT y%
 1101ENDCASE
 1102ENDCASE
 1103
 1104SYS &000400CA,,block% TO more%
 1105ENDWHILE
 1106ENDPROC
 1107:
 1108DEF PROCqc(answer%)
 1109IF answer%=0 THEN
 1110IF titleopen%=TRUE THEN PROCab
 1111IF mainopen%=FALSE THEN PROCnd(main%)
 1112IF editopen%=TRUE THEN PROCza(edit%)
 1113IF sourcespr%<>0 THEN sourcespr%=FNh(sourcespr%)
 1114IF transtable%<>0 THEN transtable%=FNh(transtable%)
 1115IF coltable%<>0 THEN coltable%=FNh(coltable%)
 1116editcreated%=FALSE
 1117state_file$=data_infile$
 1118PROCdb
 1119IF editstore%<>0 THEN editstore%=FNh(editstore%)
 1120!block%=main%
 1121CASE manner% OF
 1122WHEN 0,2: block%!4=30
 1123WHEN 1  : block%!4=16
 1124ENDCASE
 1125block%!24=&18F
 1126PROCmc
 1127PROCmb
 1128ENDIF
 1129ENDPROC
 1130:
 1131DEF PROCod(answer%)
 1132IF answer%=0 THEN
 1133PROCza(edit%)
 1134PROCza(colchoose%)
 1135PROCza(colcreate%)
 1136IF coltable%<>0 THEN coltable%=FNh(coltable%)
 1137IF transtable%<>0 THEN transtable%=FNh(transtable%)
 1138PROCje(smenu%,0,1)
 1139PROCje(smenu%,1,1)
 1140editstore%=FNh(editstore%)
 1141editcreated%=FALSE
 1142PROCte(1)
 1143ELSE
 1144$tension_sq_width%=$(editstore%+0): PROCfe(main%,15,0,0)
 1145$tension_sq_height%=$(editstore%+7): PROCfe(main%,16,0,0)
 1146$tension_sq_stitches%=$(editstore%+14): PROCfe(main%,17,0,0)
 1147$tension_sq_rows%=$(editstore%+21): PROCfe(main%,18,0,0)
 1148$tdset%=$(editstore%+28): PROCfe(main%,46,0,0)
 1149$conv_rows%=$(editstore%+35): PROCfe(main%,19,0,0)
 1150$ans_conv_rows%=$(editstore%+42): PROCfe(main%,20,0,0)
 1151$conv_stitches%=$(editstore%+49): PROCfe(main%,21,0,0)
 1152$ans_conv_stitches%=$(editstore%+56): PROCfe(main%,22,0,0)
 1153$grows%=$(editstore%+63): PROCfe(main%,29,0,0)
 1154$gstitches%=$(editstore%+70): PROCfe(main%,30,0,0)
 1155$gheight%=$(editstore%+77): PROCfe(main%,31,0,0)
 1156$gwidth%=$(editstore%+84): PROCfe(main%,32,0,0)
 1157IF editstore%?91=0 THEN
 1158PROCfe(main%,37,0<<21,1<<21)
 1159ELSE
 1160PROCfe(main%,37,1<<21,1<<21)
 1161ENDIF
 1162ENDIF
 1163ENDPROC
 1164:
 1165DEF PROCxa
 1166IF starred%=TRUE THEN
 1167PROCka("Clearing the memory will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",9)
 1168ELSE
 1169PROCib
 1170ENDIF
 1171ENDPROC
 1172:
 1173DEF PROCib
 1174PROCza(edit%)
 1175PROCza(colcreate%)
 1176IF transtable%<>0 THEN transtable%=FNh(transtable%)
 1177IF coltable%<>0 THEN coltable%=FNh(coltable%)
 1178IF infobuff%<>0 THEN infobuff%=FNh(infobuff%)
 1179IF helpbuff%<>0 THEN helpbuff%=FNh(helpbuff%)
 1180IF paltable%<>0 THEN paltable%=FNh(paltable%)
 1181IF nametable%<>0 THEN nametable%=FNh(nametable%)
 1182IF editstore%<>0 THEN editstore%=FNh(editstore%)
 1183IF symbstore%<>0 THEN symbstore%=FNh(symbstore%)
 1184IF symbpoint%<>0 THEN symbpoint%=FNh(symbpoint%)
 1185IF symbsize%<>0 THEN symbsize%=FNh(symbsize%)
 1186IF nametable%<>0 THEN nametable%=FNh(nametable%)
 1187IF descinfobuff%<>0 THEN descinfobuff%=FNh(descinfobuff%)
 1188IF descbuff%<>0 THEN descbuff%=FNh(descbuff%)
 1189IF extradescinfobuff%<>0 THEN extradescinfobuff%=FNh(extradescinfobuff%)
 1190IF extradescbuff%<>0 THEN extradescbuff%=FNh(extradescbuff%)
 1191IF draw%<>0 THEN draw%=FNh(draw%)
 1192IF sourcespr%<>0 THEN sourcespr%=FNh(sourcespr%)
 1193PROCje(smenu%,0,1)
 1194PROCje(smenu%,1,1)
 1195PROCse(editmenu%,1)
 1196PROCwe(editmenu%,0)
 1197PROCwe(editmenu%,2)
 1198sprite_file$=""
 1199draw_file$=""
 1200pictype$="none"
 1201helpon%=FALSE
 1202PROCfe(main%,52,0<<21,1<<21)
 1203PROCte(0)
 1204PROCya
 1205PROCed(1)
 1206PROCcc(1)
 1207$tension_sq_width%="0.0": PROCfe(main%,15,0,0)
 1208$tension_sq_height%="0.0": PROCfe(main%,16,0,0)
 1209$grows%="0": PROCfe(main%,29,0,0)
 1210$gstitches%="0": PROCfe(main%,30,0,0)
 1211$gheight%="0.0": PROCfe(main%,31,0,0)
 1212$gwidth%="0.0": PROCfe(main%,32,0,0)
 1213PROCre(5)
 1214IF mainopen%=TRUE THEN PROCoa(main%,15,LEN$tension_sq_width%)
 1215editcreated%=FALSE
 1216ENDPROC
 1217:
 1218DEF PROChd
 1219LOCAL xef%,yef%,size%
 1220xef%=FNr(-1,4)
 1221yef%=FNr(-1,5)
 1222xpix%=1<<xef%: xpix2%=2<<xef%
 1223ypix%=1<<yef%: ypix2%=2<<yef%
 1224IF sourcespr%<>0 THEN
 1225SYS &00040740,sourcespr%,sourceaddr%,-1,-1,0,1,0,0 TO ,,,,size%
 1226IF transtable%<>0 THEN transtable%=FNh(transtable%)
 1227transtable%=FNb(size%)
 1228SYS &00040740,sourcespr%,sourceaddr%,-1,-1,transtable%,1,0,0
 1229ENDIF
 1230ENDPROC
 1231:
 1232DEF PROCbf
 1233LOCAL i%
 1234SYS &000406C0
 1235IF coltable%<>0 THEN coltable%=FNh(coltable%)
 1236coltable%=FNb(gridheight%*gridwidth%+8)
 1237FOR i%=0 TO gridheight%*gridwidth% STEP 4
 1238coltable%!i%=&80808080
 1239NEXT i%
 1240SYS &000406C1
 1241ENDPROC
 1242:
 1243DEF PROCbd(file$)
 1244LOCAL han%,row%,col_count%,rows_offset%,dir%,stitch%,col%,terminator%,current%
 1245LOCAL ERROR
 1246ON ERROR LOCAL: PROCpd: RESTORE ERROR: ENDPROC
 1247SYS &000406C3,1
 1248han%=-1
 1249rows_offset%=VAL$(patstore%+100)-1
 1250han%=OPENOUT(file$)
 1251?block%=3
 1252SYS &00000007,14,block%
 1253SYS &0004304B,-1,block%,timeanswer%,100,"%we %zdy%st %mo %ce%yr (%z12:%mi %am)" TO ,terminator%
 1254?terminator%=13
 1255BPUT#han%,CHR$(9)+CHR$(9)+CHR$(9)+CHR$(9)+$patstore%
 1256BPUT#han%,CHR$(9)+CHR$(9)+CHR$(9)+"File Created : "+$timeanswer%
 1257BPUT#han%,CHR$(9)+CHR$(9)+CHR$(9)+STR$(gridheight%)+" Rows (from "+STR$(rows_offset%+1)+" to "+STR$(rows_offset%+gridheight%)+")"
 1258BPUT#han%,CHR$(9)+CHR$(9)+CHR$(9)+"Stitches : "+STR$(gridwidth%)
 1259BPUT#han%,CHR$(9)+CHR$(9)+CHR$(9)+"Number of colours used : "+STR$(FNg)
 1260BPUT#han%,CHR$(9)+CHR$(9)+CHR$(9)+"Tension dial setting   : "+$tdset%+CHR$(10)+CHR$(10)
 1261IF patstore%?115=255 THEN
 1262stitch%=0
 1263dir%=1
 1264ELSE
 1265stitch%=gridwidth%-1
 1266dir%=-1
 1267ENDIF
 1268row%=0
 1269col_count%=0
 1270WHILE row%<gridheight%
 1271SYS &000406C4,(row%*100)/gridheight%
 1272BPUT#han%,"Row    ";
 1273IF row%+rows_offset%>=9 THEN PTR#han%=PTR#han%-1
 1274IF row%+rows_offset%>=99 THEN PTR#han%=PTR#han%-1
 1275IF row%+rows_offset%>=999 THEN PTR#han%=PTR#han%-1
 1276BPUT#han%,STR$(row%+rows_offset%+1)+" :"+CHR$(9);
 1277current%=(coltable%?(row%*gridwidth%+stitch%))
 1278WHILE stitch%<gridwidth% AND stitch%>-1
 1279col%=(coltable%?(row%*gridwidth%+stitch%))
 1280IF col%=current% THEN
 1281col_count%+=1
 1282ELSE
 1283IF (current% AND 128)=0 THEN
 1284BPUT#han%,STR$col_count%+" "+$(nametable%+(current%AND63)*13)+CHR$(9);
 1285ELSE
 1286BPUT#han%,STR$col_count%+" "+"Blank"+CHR$(9);
 1287ENDIF
 1288col_count%=1
 1289current%=col%
 1290ENDIF
 1291stitch%+=dir%
 1292ENDWHILE
 1293IF (current% AND 128)=0 THEN
 1294BPUT#han%,STR$col_count%+" "+$(nametable%+(current%AND63)*13)+CHR$(9);
 1295ELSE
 1296BPUT#han%,STR$col_count%+" "+"Blank"+CHR$(9);
 1297ENDIF
 1298BPUT#han%,CHR$(10);
 1299IF (row%+6)MOD5=0 THEN BPUT#han%,CHR$(10);
 1300row%+=1
 1301col_count%=0
 1302IF stitch%<0 THEN stitch%=0: dir%=1
 1303IF stitch%>gridwidth%-1 THEN stitch%=gridwidth%-1: dir%=-1
 1304ENDWHILE
 1305SYS &000406C1
 1306CLOSE#han%
 1307han%=-1
 1308OSCLI("SetType "+file$+" Text")
 1309RESTORE ERROR
 1310ENDPROC
 1311:
 1312DEF PROCpd
 1313IF han%<>-1 THEN CLOSE#han%
 1314han%=-1
 1315PROCsb
 1316ENDPROC
 1317:
 1318DEF FNg
 1319LOCAL num%,i%,col%
 1320num%=0
 1321FOR i%=block% TO block%+maxcol%
 1322?i%=0
 1323NEXT i%
 1324FOR i%=0 TO gridwidth%*gridheight%-1
 1325col%=(coltable%?i%) AND 63
 1326block%?col%=1
 1327NEXT i%
 1328FOR i%=block% TO block%+maxcol%
 1329IF ?i%<>0 THEN num%+=1
 1330NEXT i%
 1331=num%
 1332:
 1333DEF PROCwc(file$)
 1334LOCAL han%,row%,col_count%,rows_offset%,dir%,stitch%,col%,terminator%,current%
 1335LOCAL framewd%,frameht%,charwd%,maxlen%,tab%,currtab%,columns%,curcolumn%
 1336LOCAL ERROR
 1337ON ERROR LOCAL: PROCpd: RESTORE ERROR: ENDPROC
 1338SYS &000406C3,1
 1339han%=-1
 1340rows_offset%=VAL$(patstore%+100)-1
 1341IF rows_offset%<0 THEN rows_offset%=0
 1342framewd%=INT(((VAL$(patstore%+110))*10*72)/25.4)
 1343frameht%=INT(((VAL$(patstore%+105))*10*72)/25.4)
 1344charwd%=6
 1345SYS &00000029,26,"<EasyKnit$Dir>.Resources.AdvHeader",file$,(1<<10)+(1<<1)
 1346han%=OPENUP(file$)
 1347PTR#han%=EXT#han%
 1348maxlen%=0
 1349FOR col%=0 TO maxcol%
 1350IF LEN$(nametable%+col%*13)>maxlen% THEN maxlen%=LEN$(nametable%+col%*13)
 1351NEXT col%
 1352IF maxlen%<LEN("Blank") THEN maxlen%=LEN("Blank")
 1353maxlen%+=7
 1354tab%=maxlen%*charwd%
 1355currtab%=85
 1356IF gridheight%>9 THEN currtab%+=charwd%
 1357IF gridheight%>99 THEN currtab%+=charwd%
 1358IF gridheight%>999 THEN currtab%+=charwd%
 1359columns%=0
 1360WHILE currtab%<framewd%-tab%
 1361
 1362BPUT#han%,"right "+STR$(currtab%-6)+",";
 1363BPUT#han%,STR$currtab%+"pt,";
 1364columns%+=1
 1365currtab%+=tab%
 1366ENDWHILE
 1367PTR#han%=PTR#han%-1
 1368BPUT#han%,"}";
 1369?block%=3
 1370SYS &00000007,14,block%
 1371SYS &0004304B,-1,block%,timeanswer%,100,"%we %zdy%st %mo %ce%yr (%z12:%mi %am)" TO ,terminator%
 1372?terminator%=13
 1373BPUT#han%,"{""Heading"" on}{font Trinity.Medium}{fontsize 18pt}{tab}"+$patstore%
 1374BPUT#han%,"{fontsize}{""Heading"" off}{""Sub Heading"" on}{fontsize 14pt}{tab}"+"File Created : "+$timeanswer%
 1375BPUT#han%,"{tab}"+STR$(gridheight%)+" Rows (from "+STR$(rows_offset%+1)+" to "+STR$(rows_offset%+gridheight%)+")"
 1376BPUT#han%,"{tab}Stitches : "+STR$(gridwidth%)
 1377BPUT#han%,"{tab}Number of colours used : "+STR$(FNg)
 1378BPUT#han%,"{tab}Tension dial setting   : "+$tdset%
 1379BPUT#han%,"{font}{fontsize}{""Sub Heading"" off}{""Rows"" on}"
 1380BPUT#han%,"{""Rows"" off}{""Rows"" on}"
 1381BPUT#han%,"{""Rows"" off}{""Rows"" on}{font Corpus.Medium}";
 1382IF patstore%?115=255 THEN
 1383stitch%=0
 1384dir%=1
 1385ELSE
 1386stitch%=gridwidth%-1
 1387dir%=-1
 1388ENDIF
 1389row%=0
 1390col_count%=0
 1391WHILE row%<gridheight%
 1392SYS &000406C4,(row%*100)/gridheight%
 1393IF (row% MOD 5=0) AND row%<>0 THEN
 1394curcolumn%=0
 1395BPUT#han%,"***";
 1396WHILE curcolumn%<columns%
 1397BPUT#han%,"{tab}{tab}****";
 1398curcolumn%+=1
 1399ENDWHILE
 1400BPUT#han%,CHR$(10);
 1401ENDIF
 1402BPUT#han%,"Row ";
 1403
 1404IF gridheight%>9 AND row%+rows_offset%<9 THEN BPUT#han%," ";
 1405IF gridheight%>99 AND row%+rows_offset%<99 THEN BPUT#han%," ";
 1406IF gridheight%>999 AND row%+rows_offset%<999 THEN BPUT#han%," ";
 1407BPUT#han%,STR$(row%+rows_offset%+1)+" :";
 1408current%=(coltable%?(row%*gridwidth%+stitch%))
 1409curcolumn%=1
 1410WHILE stitch%<gridwidth% AND stitch%>-1
 1411col%=(coltable%?(row%*gridwidth%+stitch%))
 1412IF col%=current% THEN
 1413col_count%+=1
 1414ELSE
 1415IF (current% AND 128)=0 THEN
 1416BPUT#han%,"{tab}"+STR$col_count%+"{tab}"+$(nametable%+(current%AND63)*13);
 1417curcolumn%+=1
 1418IF curcolumn%>columns% THEN
 1419curcolumn%=1
 1420BPUT#han%,CHR$(10);
 1421ENDIF
 1422ELSE
 1423BPUT#han%,"{tab}"+STR$col_count%+"{tab}Blank";
 1424curcolumn%+=1
 1425IF curcolumn%>columns% THEN
 1426curcolumn%=1
 1427BPUT#han%,CHR$(10);
 1428ENDIF
 1429ENDIF
 1430col_count%=1
 1431current%=col%
 1432ENDIF
 1433stitch%+=dir%
 1434ENDWHILE
 1435IF (current% AND 128)=0 THEN
 1436BPUT#han%,"{tab}"+STR$col_count%+"{tab}"+$(nametable%+(current%AND63)*13);
 1437ELSE
 1438BPUT#han%,"{tab}"+STR$col_count%+"{tab}Blank";
 1439ENDIF
 1440BPUT#han%,CHR$(10);
 1441row%+=1
 1442col_count%=0
 1443IF stitch%<0 THEN stitch%=0: dir%=1
 1444IF stitch%>gridwidth%-1 THEN stitch%=gridwidth%-1: dir%=-1
 1445ENDWHILE
 1446SYS &000406C1
 1447CLOSE#han%
 1448han%=-1
 1449RESTORE ERROR
 1450ENDPROC
 1451:
 1452DEF PROCld
 1453LOCAL stack%,orig%,flags%,toggle%
 1454IF !block%=colcreate% THEN
 1455createopen%=TRUE
 1456block%!100=colpane%
 1457SYS &000400CB,,block%+100
 1458block%!104=block%!4+42
 1459block%!112=block%!104+362
 1460block%!116=block%!16-30
 1461block%!108=block%!116-300
 1462block%!128=block%!28
 1463SYS &000400C5,,block%+100
 1464block%!28=colpane%
 1465ENDIF
 1466IF !block%=edit% THEN
 1467orig%=block%!28
 1468stack%=block%!28
 1469block%!200=tbardisp%
 1470SYS &000400CB,,block%+200
 1471IF stack%<>-1 AND stack%<>-2 AND stack%<>-3 THEN
 1472IF zoomstack%=0 THEN stack%=block%!228 ELSE stack%=zoomstack%
 1473ENDIF
 1474block%!200=edit%
 1475SYS &000400CB,,block%+200
 1476flags%=block%!232: flags%=flags% AND(1<<16)
 1477toggle%=block%!232: toggle%=toggle% AND(1<<19)
 1478IF flags%=(1<<16) AND zoomstack%=0 AND stack%<>-2 AND toggle%<>1 THEN block%!28=tbar%
 1479IF toggle%=(1<<19) THEN block%!28=-1
 1480block%!200=edit%
 1481SYS &000400C5,,block%
 1482SYS &000400CB,,block%+200
 1483IF orig%=-2 THEN stack%=block%!228
 1484block%!100=tbardisp%
 1485block%!104=block%!204
 1486block%!112=block%!204+240
 1487block%!108=block%!216-tbarht%
 1488block%!116=block%!216
 1489block%!120=0:block%!124=0
 1490block%!128=stack%
 1491SYS &000400C5,,block%+100
 1492block%!100=tbar%
 1493SYS &000400CB,,block%+100
 1494block%!104=block%!204+240
 1495block%!112=block%!212
 1496block%!108=block%!216-tbarht%
 1497block%!116=block%!216
 1498block%!124=0
 1499block%!128=tbardisp%
 1500SYS &000400C5,,block%+100
 1501IF pagerulers%=TRUE THEN
 1502block%!100=cornertl%
 1503block%!104=block%!204
 1504block%!112=block%!204+rulesize%-xpix2%
 1505block%!108=block%!216-rulesize%-tbarht%+ypix2%
 1506block%!116=block%!216-tbarht%
 1507block%!120=0:block%!124=0
 1508block%!128=tbar%
 1509SYS &000400C5,,block%+100
 1510block%!100=cornertr%
 1511block%!104=block%!212-rulesize%+xpix2%
 1512block%!112=block%!212
 1513block%!108=block%!216-rulesize%-tbarht%+ypix2%
 1514block%!116=block%!216-tbarht%
 1515block%!120=0:block%!124=0
 1516block%!128=cornertl%
 1517SYS &000400C5,,block%+100
 1518block%!100=cornerbl%
 1519block%!104=block%!204
 1520block%!112=block%!204+rulesize%-xpix2%
 1521block%!108=block%!208
 1522block%!116=block%!208+rulesize%-ypix%
 1523block%!120=0:block%!124=0
 1524block%!128=cornertr%
 1525SYS &000400C5,,block%+100
 1526block%!100=cornerbr%
 1527block%!104=block%!212-rulesize%+xpix2%
 1528block%!112=block%!212
 1529block%!108=block%!208
 1530block%!116=block%!208+rulesize%-ypix%
 1531block%!120=0:block%!124=0
 1532block%!128=cornerbl%
 1533SYS &000400C5,,block%+100
 1534block%!100=botrule%
 1535block%!104=block%!204+xpix%
 1536block%!112=block%!212-xpix%
 1537block%!108=block%!208+ypix%
 1538block%!116=block%!208+rulesize%-ypix%
 1539block%!120=block%!220:block%!124=0
 1540block%!128=cornerbr%
 1541SYS &000400C5,,block%+100
 1542block%!100=leftrule%
 1543block%!104=block%!204+xpix%
 1544block%!112=block%!204+rulesize%-xpix%
 1545block%!108=block%!208+ypix%
 1546block%!116=block%!216-ypix%
 1547block%!120=0:block%!124=block%!224
 1548block%!128=botrule%
 1549SYS &000400C5,,block%+100
 1550block%!100=rightrule%
 1551block%!104=block%!212-rulesize%+xpix2%
 1552block%!112=block%!212-xpix%
 1553block%!108=block%!208+ypix%
 1554block%!116=block%!216-ypix%
 1555block%!120=0:block%!124=block%!224
 1556block%!128=leftrule%
 1557SYS &000400C5,,block%+100
 1558block%!100=toprule%
 1559block%!104=block%!204+xpix%
 1560block%!112=block%!212-xpix%
 1561block%!108=block%!216-rulesize%-tbarht%+ypix2%
 1562block%!116=block%!216-tbarht%+ypix2%
 1563block%!120=block%!220:block%!124=0
 1564block%!128=rightrule%
 1565SYS &000400C5,,block%+100
 1566block%!28=toprule%
 1567ELSE
 1568block%!28=tbar%
 1569ENDIF
 1570ENDIF
 1571IF !block%<>edit% THEN SYS &000400C5,,block%
 1572IF !block%=edit% AND zoomstack%<>0 THEN
 1573IF orig%=-2 THEN block%!28=tbar%
 1574SYS &000400C5,,block%
 1575ENDIF
 1576ENDPROC
 1577:
 1578DEF PROCnd(whan%)
 1579LOCAL w%,h%
 1580CASE whan% OF
 1581WHEN savebox%
 1582dragtype%=0
 1583WHEN edit%
 1584editopen%=TRUE
 1585
 1586PROCob
 1587!block%=edit%
 1588SYS &000400CB,,block%
 1589block%!28=-1
 1590PROCld
 1591WHEN colcreate%
 1592
 1593createopen%=TRUE
 1594editcol%=-2
 1595$cname%=""
 1596PROCfe(colcreate%,3,0,0)
 1597PROCxb
 1598IF carb%!0=colcreate% THEN SYS &000400D2,-1
 1599!block%=colcreate%
 1600SYS &000400CB,,block%
 1601w%=block%!12-block%!4
 1602h%=block%!16-block%!8
 1603block%!100=edit%
 1604SYS &000400CB,,block%+100
 1605block%!4=block%!104
 1606block%!8=block%!116-h%-tbarht%-42
 1607block%!12=block%!4+w%
 1608block%!16=block%!116-tbarht%-42
 1609block%!28=-1
 1610PROCld
 1611WHEN colpick%
 1612
 1613block%!0=colpick%
 1614SYS &000400CB,,block%
 1615w%=block%!12-block%!4
 1616h%=block%!16-block%!8
 1617block%!100=colcreate%
 1618SYS &000400CB,,block%+100
 1619block%!4=block%!112+xpix2%
 1620block%!8=block%!116-h%
 1621block%!12=block%!4+w%
 1622block%!16=block%!116
 1623block%!28=-1
 1624PROCld
 1625OTHERWISE
 1626block%!0=whan%
 1627SYS &000400CB,,block%
 1628block%!28=-1
 1629SYS &000400C5,,block%
 1630ENDCASE
 1631IF whan%=main% THEN
 1632mainopen%=TRUE
 1633CASE manner% OF
 1634WHEN 0,2
 1635PROCoa(main%,29,LEN$(grows%))
 1636WHEN 1
 1637IF FNm(main%,19) THEN
 1638PROCoa(main%,15,LEN$tension_sq_width%)
 1639ELSE
 1640PROCoa(main%,19,LEN$conv_rows%)
 1641ENDIF
 1642ENDCASE
 1643ENDIF
 1644ENDPROC
 1645:
 1646DEF PROCob
 1647LOCAL width%,extra%
 1648width%=stw%*gridwidth%+rulesize%*2
 1649ruleheight%=-rht%*gridheight%-rulesize%*2-tbarht%
 1650editht%=-ruleheight%
 1651PROCjd(edit%,0,ruleheight%,width%,0)
 1652IF width%<tbarw% THEN extra%=tbarw%-width% ELSE extra%=0
 1653PROCjd(tbar%,0,-tbarht%,width%+extra%,0)
 1654PROCjd(toprule%,0,-rulesize%,width%,0)
 1655PROCjd(botrule%,0,-rulesize%,width%,0)
 1656PROCjd(leftrule%,0,ruleheight%,rulesize%,0)
 1657PROCjd(rightrule%,0,ruleheight%,rulesize%,0)
 1658ENDPROC
 1659:
 1660DEF PROCjd(whan%,minx%,miny%,maxx%,maxy%)
 1661block%!300=whan%
 1662SYS &000400C6,,block%+300
 1663block%!300=minx%
 1664block%!304=miny%
 1665block%!308=maxx%
 1666block%!312=maxy%
 1667SYS &000400D7,whan%,block%+300
 1668ENDPROC
 1669:
 1670DEF PROCza(whan%)
 1671LOCAL wx%,wy%
 1672CASE whan% OF
 1673WHEN main%
 1674mainopen%=FALSE
 1675PROCxb
 1676IF carb%!0=main% THEN SYS &000400D2,-1
 1677WHEN edit%
 1678editopen%=FALSE
 1679!block%=tbardisp%
 1680SYS &000400C6,,block%
 1681!block%=tbar%
 1682SYS &000400C6,,block%
 1683!block%=toprule%
 1684SYS &000400C6,,block%
 1685!block%=botrule%
 1686SYS &000400C6,,block%
 1687!block%=leftrule%
 1688SYS &000400C6,,block%
 1689!block%=rightrule%
 1690SYS &000400C6,,block%
 1691!block%=cornertl%
 1692SYS &000400C6,,block%
 1693!block%=cornertr%
 1694SYS &000400C6,,block%
 1695!block%=cornerbl%
 1696SYS &000400C6,,block%
 1697!block%=cornerbr%
 1698SYS &000400C6,,block%
 1699!block%=zoom%
 1700SYS &000400C6,,block%
 1701!block%=colcreate%
 1702SYS &000400C6,,block%
 1703!block%=colpane%
 1704SYS &000400C6,,block%
 1705!block%=colpick%
 1706SYS &000400C6,,block%
 1707!block%=colchoose%
 1708SYS &000400C6,,block%
 1709!block%=symbpick%
 1710SYS &000400C6,,block%
 1711IF copy%=TRUE THEN PROCpb
 1712WHEN colcreate%
 1713createopen%=FALSE
 1714!block%=colpane%
 1715SYS &000400C6,,block%
 1716!block%=colpick%
 1717SYS &000400C6,,block%
 1718!block%=edit%
 1719SYS &000400CB,,block%
 1720wx%=block%!4-block%!20
 1721wy%=block%!16-block%!24
 1722SYS &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
 1723ENDCASE
 1724!block%=whan%
 1725SYS &000400C6,,block%
 1726ENDPROC
 1727:
 1728DEF PROCrb
 1729IF !block%=edit% THEN
 1730mask%=&400:coords%=TRUE
 1731IF copy%=TRUE THEN SYS &000400E9,36,0,"ptr_botleft",2,0,10,0,0
 1732ENDIF
 1733IF !block%=tbar% THEN mask%=&400:intbar%=TRUE
 1734ENDPROC
 1735:
 1736DEF PROCnc
 1737IF !block%=edit% AND copy%=TRUE THEN *POINTER 1
 1738IF !block%=edit% AND dragtype%<>1 THEN
 1739mask%=&401:coords%=FALSE
 1740$trow%=""
 1741$tstitch%=""
 1742PROCfe(tbardisp%,3,0,0)
 1743PROCfe(tbardisp%,4,0,0)
 1744oldrow%=-1: oldstitch%=-1
 1745ENDIF
 1746IF !block%=tbar% THEN mask%=&401:intbar%=FALSE
 1747ENDPROC
 1748:
 1749DEF PROCid
 1750LOCAL button%,window%,icon%,mx%,my%,flags%,gridfigs%
 1751LOCAL wx%,wy%,orx%,ory%,stitch%,row%,minx%,miny%,maxx%,maxy%
 1752LOCAL column%,col%,x%,y%,w%,h%,r%,g%,b%,l%,t%,rgb%,task%,newsymb%
 1753LOCAL stw,rht,width%,height%,scalex,scaley,scale%,len%,zero%,newpage%,inc%
 1754mx%=block%!0
 1755my%=block%!4
 1756button%=block%!8
 1757window%=block%!12
 1758icon%=block%!16
 1759IF titleopen%=TRUE THEN PROCab
 1760IF button%=2 THEN
 1761CASE window% OF
 1762WHEN -2: PROCle(imenu%,block%!0-64,140+2*44)
 1763WHEN main%: PROCle(dmenu%,mx%-64,my%)
 1764WHEN edit%
 1765IF copy%=TRUE THEN PROCpb
 1766PROCle(emenu%,mx%-64,my%)
 1767WHEN tbar%: IF icon%=10 AND maxcol%<>-1 THEN PROCle(maskmenu%,mx%-64,my%)
 1768WHEN toprule%,botrule%,leftrule%,rightrule%
 1769PROCle(rulermenu%,mx%-64,my%)
 1770ENDCASE
 1771ELSE
 1772CASE window% OF
 1773WHEN -2
 1774PROCnd(main%)
 1775WHEN symbpick%
 1776PROCwa(icon%)
 1777WHEN print%
 1778CASE icon% OF
 1779WHEN 8
 1780PROCna
 1781stw=stitchwidth
 1782rht=rowht
 1783SYS &00080143 TO ,w%,h%,l%,b%,r%,t%
 1784width%=r%-l%
 1785height%=t%-b%
 1786SYS &00040088,,width%,height% TO ,width%,height%
 1787scalex=0
 1788WHILE (100*2+gridwidth%*stw*scalex)<width%: scalex+=0.01: ENDWHILE
 1789scaley=0
 1790WHILE (100*3+gridheight%*rht*scaley)<height%: scaley+=0.01: ENDWHILE
 1791scalex-=0.01
 1792scaley-=0.01
 1793IF scalex>scaley THEN scale%=100*scaley ELSE scale%=100*scalex
 1794$prscale%=STR$(scale%)
 1795PROCfe(print%,5,0,0)
 1796PROCxb
 1797IF carb%!0=print% AND carb%!4=5 THEN PROCoa(print%,5,LEN$prscale%)
 1798PROCsd
 1799WHEN 11
 1800PROCrd
 1801IF button%=4 THEN SYS&000400D4,,-1
 1802WHEN 15
 1803PROCic(print%,5,999,1,button%,1)
 1804PROCsd
 1805WHEN 16
 1806PROCic(print%,5,999,1,button%,-1)
 1807PROCsd
 1808WHEN 17
 1809SYS &000400D4,,-1
 1810ENDCASE
 1811WHEN ask%
 1812PROCza(ask%)
 1813PROCoa(block%!1000,block%!1004,block%!1020)
 1814PROCvb(w%,h%)
 1815MOUSE RECTANGLE 0,0,w%,h%
 1816CASE asktype% OF
 1817WHEN 0 : PROCod(icon%): IF icon%=0 THEN PROCrc: editcreated%=FALSE
 1818WHEN 1 : PROCqc(icon%)
 1819WHEN 2 : IF icon%=0 THEN PROCqa
 1820WHEN 3 : IF icon%=0 THEN PROCra
 1821WHEN 4 : IF icon%=0 THEN PROCsa
 1822WHEN 5 : IF icon%=0 THEN PROCpa
 1823WHEN 6 : PROCod(icon%): IF icon%=0 THEN PROCpc
 1824WHEN 7 : PROCod(icon%)
 1825WHEN 8 : IF icon%=0 THEN exit%=TRUE
 1826WHEN 9 : IF icon%=0 THEN PROCib
 1827WHEN10 : IF icon%=0 THEN PROCta
 1828ENDCASE
 1829WHEN report%
 1830PROCza(report%)
 1831PROCoa(block%!1000,block%!1004,block%!1020)
 1832PROCvb(w%,h%)
 1833MOUSE RECTANGLE 0,0,w%,h%
 1834WHEN pattern%
 1835CASE icon% OF
 1836WHEN 12,13
 1837PROCfe(pattern%,icon%,1<<21,1<<21)
 1838WHEN 15
 1839$projname%=$patstore%
 1840$roffset%=$(patstore%+100)
 1841$tframeh%=$(patstore%+105)
 1842$tframew%=$(patstore%+110)
 1843PROCfe(pattern%,8,0,0)
 1844PROCfe(pattern%,9,0,0)
 1845PROCfe(pattern%,10,0,0)
 1846PROCfe(pattern%,11,0,0)
 1847IF patstore%?115=255 THEN
 1848PROCfe(pattern%,12,1<<21,1<<21)
 1849PROCfe(pattern%,13,0<<21,1<<21)
 1850ELSE
 1851PROCfe(pattern%,12,0<<21,1<<21)
 1852PROCfe(pattern%,13,1<<21,1<<21)
 1853ENDIF
 1854IF button%=4 THEN SYS &000400D4,,-1
 1855PROCxb
 1856IF !carb%=pattern% THEN
 1857!block%=pattern%
 1858block%!4=carb%!4
 1859SYS &000400CE,,block%
 1860PROCoa(pattern%,carb%!4,LEN$(block%!28))
 1861ENDIF
 1862WHEN 14
 1863$patstore%=$projname%
 1864$(patstore%+100)=$roffset%
 1865$(patstore%+105)=$tframeh%
 1866$(patstore%+110)=$tframew%
 1867patstore%?115=FNl(pattern%,12)
 1868IF button%=4 THEN SYS &000400D4,,-1
 1869PROCte(1)
 1870ENDCASE
 1871WHEN savebox%
 1872CASE icon% OF
 1873WHEN 0
 1874IF (button% AND &50)>0 THEN
 1875IF button%=&10 THEN adjust%=TRUE ELSE adjust%=FALSE
 1876PROCjb(RIGHT$($savespr%,8),icon%,savebox%)
 1877ENDIF
 1878WHEN 2: adjust%=(button%=1): PROCtd
 1879WHEN 3: PROCza(savebox%): SYS &000400D4,,-1
 1880WHEN 4
 1881CASE savetype% OF
 1882WHEN 1
 1883drawheader%=FNl(savebox%,4)
 1884WHEN 2
 1885IF FNl(savebox%,4)=TRUE THEN
 1886PROCfe(savebox%,5,0<<21,1<<21)
 1887plaintext%=TRUE
 1888ELSE
 1889PROCfe(savebox%,5,1<<21,1<<21)
 1890plaintext%=FALSE
 1891ENDIF
 1892ENDCASE
 1893WHEN 5
 1894CASE savetype% OF
 1895WHEN 1
 1896drawrulers%=FNl(savebox%,5)
 1897WHEN 2
 1898IF FNl(savebox%,5)=TRUE THEN
 1899PROCfe(savebox%,4,0<<21,1<<21)
 1900plaintext%=FALSE
 1901ELSE
 1902PROCfe(savebox%,4,1<<21,1<<21)
 1903plaintext%=TRUE
 1904ENDIF
 1905ENDCASE
 1906ENDCASE
 1907WHEN colcreate%
 1908CASE icon% OF
 1909WHEN 0
 1910maxcol%+=1
 1911IF maxcol%=32 THEN
 1912maxcol%=31
 1913PROCwd("Sorry, there can be no more than 32 colours.")
 1914ELSE
 1915paltable%!(maxcol%*4)=&DDDDDD00
 1916$(nametable%+maxcol%*13)="Colour "+STR$(maxcol%+1)
 1917PROCyc
 1918PROCfe(colpane%,maxcol%*3+1,1<<21,1<<21)
 1919IF editcol%<>-2 THEN PROCfe(colpane%,editcol%*3+1,0<<21,1<<21)
 1920editcol%=maxcol%
 1921block%!24=-(124+maxcol%*76)+block%!16-block%!8
 1922SYS &000400C5,,block%
 1923SYS &000400D1,colpane%,0,-20-76-maxcol%*76,362,20-maxcol%*76
 1924!block%=colpick%
 1925SYS &000400CB,,block%
 1926IF ((block%?34) AND 1)<>1 THEN PROCnd(colpick%)
 1927$cname%="Colour "+STR$(maxcol%+1)
 1928PROCfe(colcreate%,3,0,0)
 1929PROCoa(colcreate%,3,LEN$cname%)
 1930!block%=colchoose%
 1931SYS &000400CB,,block%
 1932IF ((block%?34) AND 1)=1 THEN
 1933PROCxc
 1934SYS &000400C5,,block%
 1935SYS &000400D1,colchoose%,0,-20-maxcol%*76-3*76,362,-20-maxcol%*76-2*76
 1936ENDIF
 1937ENDIF
 1938WHEN 1
 1939
 1940IF editcol%<>-2 AND maxcol%>0 THEN
 1941col%=editcol%
 1942WHILE col%<maxcol%
 1943$(nametable%+col%*13)=$(nametable%+(col%+1)*13)
 1944paltable%!(col%*4)=paltable%!((col%+1)*4)
 1945col%+=1
 1946ENDWHILE
 1947maxcol%-=1
 1948PROCyc
 1949SYS &000400C5,,block%
 1950SYS &000400D1,colpane%,0,-20-(maxcol%+2)*76,362,-20-(editcol%)*76
 1951$cname%=""
 1952PROCfe(colcreate%,3,0,0)
 1953PROCoa(colcreate%,3,LEN$cname%)
 1954!block%=colchoose%
 1955SYS &000400CB,,block%
 1956IF currentcol%>editcol% THEN currentcol%-=1
 1957IF currentcol%>maxcol% THEN currentcol%=maxcol%
 1958IF ((block%?34) AND 1)=1 THEN
 1959PROCxc
 1960SYS &000400C5,,block%
 1961SYS &000400D1,colchoose%,0,-20-(maxcol%+4)*76,362,-20-(editcol%+2)*76
 1962ENDIF
 1963
 1964SYS &000406C0
 1965FOR stitch%=0 TO gridwidth%*gridheight%
 1966col%=coltable%?stitch%
 1967IF (col% AND 63)=editcol% THEN coltable%?stitch%=128
 1968IF ((col%AND 63)>editcol%) AND ((col%AND128)=0) THEN
 1969col%-=1: coltable%?stitch%=col%
 1970ENDIF
 1971NEXT stitch%
 1972SYS &000406C1
 1973!block%=edit%
 1974SYS &000400CB,,block%
 1975wx%=block%!4-block%!20
 1976wy%=block%!16-block%!24
 1977SYS &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
 1978editcol%=-2
 1979ELSE
 1980IF editcol%=-2 THEN PROCwd("Please select a colour to remove.")
 1981IF maxcol%=0 THEN PROCwd("There must be at least one colour defined.")
 1982ENDIF
 1983WHEN 2
 1984IF editcol%<>-2 THEN
 1985!block%=colpick%
 1986SYS &000400CB,,block%
 1987IF ((block%?34) AND 1)<>1 THEN PROCnd(colpick%)
 1988ELSE
 1989PROCwd("Please select a colour to alter.")
 1990ENDIF
 1991ENDCASE
 1992WHEN toprule%,botrule%,rightrule%,leftrule%
 1993SYS &000400D2,edit%,-1,0,0,0,0
 1994WHEN edit%
 1995SYS &000400D2,edit%,-1,0,0,0,0
 1996IF maxcol%<0 THEN
 1997PROCwd("Please pick some colours to use first.")
 1998PROCnb
 1999ELSE
 2000IF (FNl(tbar%,13) OR FNl(tbar%,4)) THEN
 2001
 2002!block%=edit%
 2003SYS &000400CB,,block%
 2004orx%=(block%!4-block%!20)
 2005ory%=(block%!16-block%!24)
 2006wx%=(mx%-orx%-rulesize%)
 2007wy%=(my%-ory%-rulesize%+editht%)
 2008IF (button% AND &50)>0 THEN
 2009IF wx%>0 AND wx%<gridwidth%*stw% AND wy%>0 AND wy%<gridheight%*rht% THEN
 2010IF pagerulers%=FALSE THEN
 2011
 2012IF block%!4<orx%+rulesize% THEN block%!4+=(orx%+rulesize%)-block%!4
 2013IF block%!12>orx%+rulesize%+gridwidth%*stw% THEN block%!12-=block%!12-(orx%+rulesize%+gridwidth%*stw%)
 2014IF block%!8<ory%-editht%+rulesize% THEN block%!8+=(ory%-editht%+rulesize%)-block%!8
 2015block%!16-=tbarht%
 2016IF block%!16>ory%-tbarht%-rulesize% THEN block%!16-=block%!16-(ory%-tbarht%-rulesize%)
 2017ELSE
 2018block%!4+=rulesize%
 2019block%!8+=rulesize%
 2020block%!12-=rulesize%
 2021block%!16-=rulesize%+tbarht%
 2022ENDIF
 2023block%!100=edit%
 2024block%!104=6
 2025block%!108=mx%
 2026block%!112=my%
 2027block%!116=mx%
 2028block%!120=my%
 2029block%!124=block%!4
 2030block%!128=block%!8
 2031block%!132=block%!12
 2032block%!136=block%!16
 2033SYS &000400D0,,block%+100
 2034dragtype%=1
 2035IF starred%=FALSE THEN PROCte(1)
 2036ENDIF
 2037ELSE
 2038IF copy%=TRUE THEN
 2039
 2040stitch%=wx%/stw%
 2041row%=wy%/rht%
 2042w%=copymaxst%-copyminst%
 2043h%=copymaxrow%-copyminrow%
 2044IF copyblock%=0 THEN
 2045copyblock%=FNb((w%+1)*(h%+1))
 2046FOR x%=0 TO w%
 2047FOR y%=0 TO h%
 2048copyblock%?(y%*(w%+1)+x%)=coltable%?((y%+copyminrow%)*gridwidth%+x%+copyminst%)
 2049NEXT y%
 2050NEXT x%
 2051ENDIF
 2052FOR x%=0 TO w%
 2053IF x%+stitch%<gridwidth% THEN
 2054FOR y%=0 TO h%
 2055IF y%+row%<gridheight% THEN
 2056coltable%?((y%+row%)*gridwidth%+x%+stitch%)=copyblock%?(y%*(w%+1)+x%)
 2057ELSE
 2058y%=h%
 2059ENDIF
 2060NEXT y%
 2061ELSE
 2062x%=w%
 2063ENDIF
 2064NEXT x%
 2065minx%=stitch%*stw%+rulesize%+xpix%*(gridon%=TRUE)
 2066maxx%=minx%+(w%+1)*stw%-xpix2%*(gridon%=TRUE)
 2067miny%=row%*rht%+rulesize%-editht%-ypix%*(gridon%=TRUE)
 2068maxy%=miny%+(h%+1)*rht%-ypix2%*(gridon%=TRUE)
 2069SYS &000400D1,edit%,minx%,miny%,maxx%,maxy%
 2070IF button%=4 THEN PROCpb
 2071ELSE
 2072IF NOT FNl(tbar%,4) THEN PROCua
 2073ENDIF
 2074ENDIF
 2075ELSE
 2076
 2077!block%=edit%
 2078SYS&000400CB,,block%
 2079orx%=(block%!4-block%!20)
 2080ory%=(block%!16-block%!24)
 2081wx%=(mx%-orx%-rulesize%)
 2082wy%=(my%-ory%-rulesize%+editht%)
 2083IF wx%>0 AND wx%<gridwidth%*stw% AND wy%>0 AND wy%<gridheight%*rht% THEN
 2084stitch%=wx%/stw%
 2085row%=wy%/rht%
 2086PROCua
 2087minx%=stitch%*stw%+rulesize%+xpix%*(gridon%=TRUE)
 2088maxx%=stitch%*stw%+stw%+rulesize%-xpix%*(gridon%=TRUE)
 2089miny%=row%*rht%+rulesize%-editht%-ypix%*(gridon%=TRUE)
 2090maxy%=row%*rht%+rht%+rulesize%-editht%-ypix%*(gridon%=TRUE)
 2091SYS &000400D1,edit%,minx%,miny%,maxx%,maxy%
 2092IF starred%=FALSE THEN PROCte(1)
 2093ENDIF
 2094ENDIF
 2095ENDIF
 2096WHEN zoom%
 2097CASE icon% OF
 2098WHEN 2,3
 2099PROCic(zoom%,0,8,1,button%,(icon%=3)-(icon%=2))
 2100PROCcf
 2101WHEN 4,5
 2102PROCic(zoom%,1,8,1,button%,(icon%=5)-(icon%=4))
 2103PROCcf
 2104ENDCASE
 2105WHEN tbar%
 2106CASE icon% OF
 2107WHEN 4
 2108PROCfe(tbar%,4,1<<21,1<<21)
 2109WHEN 5: PROCec
 2110WHEN 6: PROCzd
 2111WHEN 7: PROCme
 2112WHEN 8
 2113CASE manner% OF
 2114WHEN 0,1
 2115IF button%=4 THEN PROCcb ELSE PROCnb
 2116WHEN 2
 2117PROCpe
 2118ENDCASE
 2119WHEN 9: PROCke
 2120WHEN 10
 2121IF button%=1 THEN
 2122PROCvd
 2123ELSE
 2124IF maxcol%<>-1 THEN PROCle(maskmenu%,mx%-64,my%)
 2125ENDIF
 2126WHEN 11
 2127!block%=tbar%
 2128SYS &000400CC,,block%
 2129x%=block%!(4+88+11*32+0)+block%!4-block%!20
 2130y%=block%!8
 2131x%-=130: y%-=42
 2132!block%=zoom%
 2133SYS &000400CC,,block%
 2134SYS &000400C3,,block%
 2135block%!32=(block%!32) OR (1<<25)
 2136SYS &000400C1,,block%+4 TO zoom%
 2137!block%=zoom%
 2138w%=block%!12-block%!4
 2139h%=block%!16-block%!8
 2140block%!4=x%
 2141block%!8=y%-h%
 2142block%!12=x%+w%
 2143block%!16=y%
 2144block%!28=-1
 2145SYS &000400C5,,block%
 2146$sclmul%=STR$edmul%:PROCfe(zoom%,0,0,0)
 2147$scldiv%=STR$eddiv%:PROCfe(zoom%,1,0,0)
 2148PROCoa(zoom%,0,LEN$sclmul%)
 2149WHEN 12
 2150PROCfe(tbar%,12,1<<21,1<<21)
 2151WHEN 13
 2152PROCfe(tbar%,13,1<<21,1<<21)
 2153ENDCASE
 2154IF icon%<14 AND icon%>3 AND copy%=TRUE THEN PROCpb
 2155WHEN colchoose%
 2156CASE currentcol% OF
 2157WHEN 64
 2158PROCfe(colchoose%,1,0<<21,1<<21)
 2159WHEN 128
 2160PROCfe(colchoose%,4,0<<21,1<<21)
 2161OTHERWISE
 2162PROCfe(colchoose%,currentcol%*3+7,0<<21,1<<21)
 2163ENDCASE
 2164IF icon%MOD3=0 THEN
 2165currentcol%=icon%/3-2
 2166ELSE
 2167currentcol%=(icon%-2)/3-2
 2168ENDIF
 2169CASE currentcol% OF
 2170WHEN -1
 2171currentcol%=128
 2172PROCfe(colchoose%,4,1<<21,1<<21)
 2173WHEN -2
 2174currentcol%=64
 2175PROCfe(colchoose%,1,1<<21,1<<21)
 2176OTHERWISE
 2177PROCfe(colchoose%,currentcol%*3+7,1<<21,1<<21)
 2178ENDCASE
 2179WHEN colpane%
 2180IF editcol%<>-2 THEN PROCfe(colpane%,editcol%*3+1,0<<21,1<<21)
 2181IF icon%MOD3=0 THEN
 2182editcol%=icon%/3
 2183ELSE
 2184editcol%=(icon%-2)/3
 2185ENDIF
 2186PROCfe(colpane%,editcol%*3+1,1<<21,1<<21)
 2187$cname%=$(nametable%+editcol%*13)
 2188PROCfe(colcreate%,3,0,0)
 2189PROCoa(colcreate%,3,LEN$cname%)
 2190WHEN colpick%
 2191!block%=colpick%
 2192SYS&000400CB,,block%
 2193orx%=(block%!4-block%!20)
 2194ory%=(block%!16-block%!24)
 2195wx%=(mx%-orx%-40)
 2196wy%=-(my%-ory%+40)
 2197CASE icon% OF
 2198WHEN 17
 2199row%=wy%/colsize%
 2200column%=wx%/colsize%
 2201col%=row%*16+column%
 2202IF editcol%<>-2 THEN
 2203IF row%>-1 AND row%<16 AND column%>-1 AND column%<16 THEN
 2204r%=col% AND 15
 2205g%=((col% AND 48)>>2) OR col% AND 3
 2206b%=(col% AND 192)>>4 OR col% AND 3
 2207rgb%=(b%<<24)OR(g%<<16)OR(r%<<8)
 2208rgb%=rgb% OR (rgb%<<4)
 2209paltable%!(editcol%*4)=rgb%
 2210SYS &000400D1,colpane%,0,-20-76*editcol%-76,90,-20-76*editcol%
 2211!block%=colchoose%
 2212SYS &000400CB,,block%
 2213IF ((block%?34) AND 1)=1 THEN
 2214SYS &000400D1,colchoose%,0,-20-76*editcol%-76*3,90,-20-76*editcol%-76*2
 2215PROCxc
 2216SYS &000400C5,,block%
 2217ENDIF
 2218ENDIF
 2219ELSE
 2220PROCwd("Please select a colour first")
 2221ENDIF
 2222WHEN 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
 2223IF editcol%<>-2 THEN
 2224CASE icon% OF
 2225WHEN 1: rgb%=&FFFFFF00
 2226WHEN 2: rgb%=&DDDDDD00
 2227WHEN 3: rgb%=&BBBBBB00
 2228WHEN 4: rgb%=&99999900
 2229WHEN 5: rgb%=&77777700
 2230WHEN 6: rgb%=&55555500
 2231WHEN 7: rgb%=&33333300
 2232WHEN 8: rgb%=&00000000
 2233WHEN 9: rgb%=&99440000
 2234WHEN 10:rgb%=&00EEEE00
 2235WHEN 11:rgb%=&00CC0000
 2236WHEN 12:rgb%=&0000DD00
 2237WHEN 13:rgb%=&BBEEEE00
 2238WHEN 14:rgb%=&00885500
 2239WHEN 15:rgb%=&00BBFF00
 2240WHEN 16:rgb%=&FFBB0000
 2241ENDCASE
 2242paltable%!(editcol%*4)=rgb%
 2243SYS &000400D1,colpane%,0,-20-76*editcol%-76,90,-20-76*editcol%
 2244!block%=colchoose%
 2245SYS &000400CB,,block%
 2246IF ((block%?34) AND 1)=1 THEN
 2247SYS &000400D1,colchoose%,0,-20-76*editcol%-3*76,90,-20-76*editcol%-2*76
 2248PROCxc
 2249SYS &000400C5,,block%
 2250ENDIF
 2251ELSE
 2252PROCwd("Please select a colour first")
 2253ENDIF
 2254WHEN 18
 2255IF colpick%=smallpick% THEN
 2256!block%=colpick%
 2257SYS &000400C6,,block%
 2258colpick%=largepick%
 2259colsize%=40
 2260PROCnd(colpick%)
 2261ELSE
 2262!block%=colpick%
 2263SYS &000400C6,,block%
 2264colpick%=smallpick%
 2265colsize%=20
 2266PROCnd(colpick%)
 2267ENDIF
 2268ENDCASE
 2269WHEN main%
 2270CASE icon% OF
 2271WHEN 0
 2272PROCre(0)
 2273PROCmb
 2274IF button%=4 THEN PROCza(main%)
 2275WHEN 23
 2276PROCxd
 2277PROCic(main%,20,999,0,button%,1)
 2278
 2279$conv_rows%=FNq(VAL$ans_conv_rows%,row_height)
 2280PROCfe(main%,19,0,0)
 2281$conv_stitches%=FNq(spx%*VAL$conv_rows%,1/spy%)
 2282PROCfe(main%,21,0,0)
 2283$ans_conv_stitches%=FNs(conv_stitches%,stitch_width)
 2284PROCfe(main%,22,0,0)
 2285IF VAL$conv_rows%<>0 THEN
 2286PROCcc(0)
 2287ELSE
 2288PROCcc(1)
 2289ENDIF
 2290WHEN 24
 2291PROCxd
 2292PROCic(main%,20,999,0,button%,-1)
 2293$conv_rows%=FNq(VAL$ans_conv_rows%,row_height)
 2294PROCfe(main%,19,0,0)
 2295$conv_stitches%=FNq(spx%*VAL$conv_rows%,1/spy%)
 2296PROCfe(main%,21,0,0)
 2297$ans_conv_stitches%=FNs(conv_stitches%,stitch_width)
 2298PROCfe(main%,22,0,0)
 2299IF VAL$conv_rows%<>0 THEN
 2300PROCcc(0)
 2301PROCre(6)
 2302ELSE
 2303PROCcc(1)
 2304PROCre(2)
 2305ENDIF
 2306WHEN 37
 2307IF FNl(main%,37) THEN
 2308zero%=FNe
 2309IF zero%=FALSE THEN
 2310PROCfe(main%,37,0<<21,1<<21)
 2311PROCfe(main%,4,3<<24,15<<24)
 2312FOR icon%= 9 TO 10
 2313PROCfe(main%,icon%,1<<24,15<<24)
 2314NEXT icon%
 2315PROCwd("Please enter Tension square measurements and try again")
 2316PROCoa(main%,15,LEN$tension_sq_width%)
 2317PROCre(5)
 2318PROCcc(1)
 2319ELSE
 2320PROCoa(main%,29,LEN$grows%)
 2321$gheight%=LEFT$(STR$(row_height),5) : PROCfe(main%,31,0,0)
 2322$gwidth%=LEFT$(STR$(stitch_width),5) : PROCfe(main%,32,0,0)
 2323PROCed(5)
 2324IF VAL$grows%<>0 THEN
 2325$conv_rows%=FNq(VAL$grows%,row_height)
 2326PROCfe(main%,19,0,0)
 2327ENDIF
 2328IF VAL$gstitches%<>0 THEN
 2329$conv_stitches%=FNq(VAL$gstitches%,stitch_width)
 2330PROCfe(main%,21,0,0)
 2331ENDIF
 2332ENDIF
 2333gridfigs%=FNc
 2334IF gridfigs%=FALSE THEN
 2335PROCre(4)
 2336PROCcc(1)
 2337ELSE
 2338PROCre(6)
 2339PROCcc(0)
 2340ENDIF
 2341ELSE
 2342PROCoa(main%,29,LEN$grows%)
 2343PROCed(4)
 2344$conv_rows%="0.0": PROCfe(main%,19,0,0)
 2345$conv_stitches%="0.0": PROCfe(main%,21,0,0)
 2346ENDIF
 2347gridfigs%=FNc
 2348IF gridfigs%=FALSE THEN
 2349PROCre(4)
 2350PROCcc(1)
 2351ELSE
 2352PROCre(6)
 2353PROCcc(0)
 2354ENDIF
 2355WHEN 40
 2356PROCxd
 2357PROCic(main%,22,999,0,button%,-1)
 2358
 2359$conv_stitches%=FNq(VAL$ans_conv_stitches%,stitch_width)
 2360PROCfe(main%,21,0,0)
 2361$conv_rows%=FNq(spy%*VAL$conv_stitches%,1/spx%)
 2362PROCfe(main%,19,0,0)
 2363$ans_conv_rows%=FNs(conv_rows%,row_height)
 2364PROCfe(main%,20,0,0)
 2365IF VAL$conv_stitches%<>0 THEN
 2366PROCcc(0)
 2367PROCre(6)
 2368ELSE
 2369PROCcc(1)
 2370PROCre(2)
 2371ENDIF
 2372WHEN 41
 2373PROCxd
 2374PROCic(main%,22,999,0,button%,1)
 2375$conv_stitches%=FNq(VAL$ans_conv_stitches%,stitch_width)
 2376PROCfe(main%,21,0,0)
 2377$conv_rows%=FNq(spy%*VAL$conv_stitches%,1/spx%)
 2378PROCfe(main%,19,0,0)
 2379$ans_conv_rows%=FNs(conv_rows%,row_height)
 2380PROCfe(main%,20,0,0)
 2381IF VAL$conv_stitches%<>0 THEN
 2382PROCcc(0)
 2383PROCre(6)
 2384ELSE
 2385PROCcc(1)
 2386PROCre(2)
 2387ENDIF
 2388WHEN 42
 2389PROCxd
 2390PROCic(main%,30,999,0,button%,1)
 2391IF FNl(main%,37) THEN
 2392$conv_stitches%=FNq(VAL$gstitches%,stitch_width)
 2393PROCfe(main%,21,0,0)
 2394ENDIF
 2395gridfigs%=FNc
 2396IF gridfigs%=FALSE THEN
 2397PROCcc(1)
 2398IF manner%<>2 THEN PROCre(4) ELSE PROCre(7)
 2399ELSE
 2400PROCcc(0)
 2401PROCre(6)
 2402ENDIF
 2403WHEN 43
 2404PROCxd
 2405PROCic(main%,30,999,0,button%,-1)
 2406IF FNl(main%,37) THEN
 2407$conv_stitches%=FNq(VAL$gstitches%,stitch_width)
 2408PROCfe(main%,21,0,0)
 2409ENDIF
 2410gridfigs%=FNc
 2411IF gridfigs%=FALSE THEN
 2412PROCcc(1)
 2413IF manner%<>2 THEN PROCre(4) ELSE PROCre(7)
 2414ELSE
 2415PROCcc(0)
 2416PROCre(6)
 2417ENDIF
 2418WHEN 44
 2419PROCxd
 2420PROCic(main%,29,999,0,button%,1)
 2421IF FNl(main%,37) THEN
 2422$conv_rows%=FNq(VAL$grows%,row_height)
 2423PROCfe(main%,19,0,0)
 2424ENDIF
 2425gridfigs%=FNc
 2426IF gridfigs%=FALSE THEN
 2427PROCcc(1)
 2428IF manner%<>2 THEN PROCre(4) ELSE PROCre(7)
 2429ELSE
 2430PROCcc(0)
 2431PROCre(6)
 2432ENDIF
 2433WHEN 45
 2434PROCxd
 2435PROCic(main%,29,999,0,button%,-1)
 2436IF FNl(main%,37) THEN
 2437$conv_rows%=FNq(VAL$grows%,row_height)
 2438PROCfe(main%,19,0,0)
 2439ENDIF
 2440gridfigs%=FNc
 2441IF gridfigs%=FALSE THEN
 2442PROCcc(1)
 2443IF manner%<>2 THEN PROCre(4) ELSE PROCre(7)
 2444ELSE
 2445PROCcc(0)
 2446PROCre(6)
 2447ENDIF
 2448WHEN 52
 2449IF helpon%=FALSE THEN
 2450SYS&00041500,,"<EasyKnit$Dir>.Resources.Messages" TO ,,len%
 2451infobuff%=FNb(16)
 2452helpbuff%=FNb(len%)
 2453SYS&00041501,infobuff%,"<EasyKnit$Dir>.Resources.Messages",helpbuff%
 2454helpon%=TRUE
 2455x%=0
 2456SYS &00042681,x%,block%,4500 TO ,y%
 2457x%=0
 2458REPEAT
 2459task%=!(block%+4+x%*16)
 2460r%=-1
 2461REPEAT:r%+=1:UNTIL task%?r%<32
 2462task%?r%=13
 2463x%+=1
 2464UNTIL (block%+4+x%*16>y%) OR $task%="Help"
 2465IF $task%<>"Help" THEN *Filer_Run Resources:$.Apps.!Help
 2466ELSE
 2467SYS &00041504,infobuff%
 2468infobuff%=FNh(infobuff%)
 2469helpbuff%=FNh(helpbuff%)
 2470helpon%=FALSE
 2471ENDIF
 2472ENDCASE
 2473ENDCASE
 2474ENDIF
 2475ENDPROC
 2476:
 2477DEF PROCua
 2478LOCAL orx%,ory%,wx%,wy%,stitch%,row%
 2479!block%=edit%
 2480SYS&000400CB,,block%
 2481orx%=(block%!4-block%!20)
 2482ory%=(block%!16-block%!24)
 2483wx%=(mx%-orx%-rulesize%)
 2484wy%=(my%-ory%-rulesize%+editht%)
 2485stitch%=wx%/stw%
 2486row%=wy%/rht%
 2487CASE manner% OF
 2488WHEN 0,1
 2489IF button%=4 THEN
 2490col%=coltable%?(row%*gridwidth%+stitch%)
 2491IF currentcol%<>64 THEN
 2492col%=currentcol%
 2493ELSE
 2494col%=(col% AND NOT 64) EOR 64
 2495ENDIF
 2496coltable%?(row%*gridwidth%+stitch%)=col%
 2497ELSE
 2498CASE currentcol% OF
 2499WHEN 64
 2500PROCfe(colchoose%,1,0<<21,1<<21)
 2501WHEN 128
 2502PROCfe(colchoose%,4,0<<21,1<<21)
 2503OTHERWISE
 2504PROCfe(colchoose%,currentcol%*3+7,0<<21,1<<21)
 2505ENDCASE
 2506currentcol%=coltable%?(row%*gridwidth%+stitch%)
 2507IF currentcol%=128 THEN
 2508PROCfe(colchoose%,4,1<<21,1<<21)
 2509ELSE
 2510PROCfe(colchoose%,currentcol%*3+7,1<<21,1<<21)
 2511ENDIF
 2512ENDIF
 2513WHEN 2
 2514IF copy%=TRUE THEN
 2515*POINTER 1
 2516ELSE
 2517IF button%=4 THEN
 2518coltable%?(row%*gridwidth%+stitch%)=currentsymb%
 2519ELSE
 2520IF currentsymb%<>128 THEN
 2521PROCfe(symbpick%,currentsymb%-symbpage%*9+12,0<<21,1<<21)
 2522ELSE
 2523PROCfe(symbpick%,11,0<<21,1<<21)
 2524ENDIF
 2525newsymb%=coltable%?(row%*gridwidth%+stitch%)
 2526IF newsymb%=128 THEN
 2527newsymb%=1
 2528PROCwa(newsymb%)
 2529ELSE
 2530symbpage%=newsymb% DIV 10
 2531PROCwa(newsymb%-symbpage%*9+12)
 2532ENDIF
 2533!block%=symbpick%
 2534SYS &000400CB,,block%
 2535wx%=block%!4-block%!20
 2536wy%=block%!16-block%!24
 2537SYS &000400D1,symbpick%,block%!4-wx%,block%!16-wy%-76,block%!12-wx%,block%!16-wy%
 2538PROChb
 2539ENDIF
 2540ENDIF
 2541ENDCASE
 2542ENDPROC
 2543:
 2544DEF PROCwa(icon%)
 2545CASE icon% OF
 2546WHEN 1,11
 2547IF icon%>10 THEN icon%-=10
 2548IF currentsymb%<>128 THEN PROCfe(symbpick%,currentsymb%-symbpage%*9+12,0<<21,1<<21)
 2549currentsymb%=128
 2550PROCfe(symbpick%,11,1<<21,1<<21)
 2551PROChb
 2552WHEN 2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20
 2553IF icon%>10 THEN icon%-=10
 2554icon%-=2
 2555IF (icon%+symbpage%*9)<=symbmax% THEN
 2556IF currentsymb%<>128 THEN
 2557PROCfe(symbpick%,currentsymb%-symbpage%*9+12,0<<21,1<<21)
 2558ELSE
 2559PROCfe(symbpick%,11,0<<21,1<<21)
 2560ENDIF
 2561currentsymb%=icon%+symbpage%*9
 2562PROCfe(symbpick%,currentsymb%-symbpage%*9+12,1<<21,1<<21)
 2563PROChb
 2564ELSE
 2565PROCfe(symbpick%,icon%+12,0<<21,1<<21)
 2566IF currentsymb%<>128 THEN
 2567PROCfe(symbpick%,currentsymb%-symbpage%*9+12,1<<21,1<<21)
 2568ELSE
 2569PROCfe(symbpick%,11,1<<21,1<<21)
 2570ENDIF
 2571ENDIF
 2572WHEN 21,22
 2573IF icon%=21 THEN inc%=-1 ELSE inc%=1
 2574newpage%=symbpage%-(button%=4)*inc%+(button%=1)*inc%
 2575IF (newpage%>=0) AND (newpage%*9<=symbmax%) THEN
 2576IF currentsymb%<>128 THEN
 2577PROCfe(symbpick%,currentsymb%-symbpage%*9+12,0<<21,1<<21)
 2578IF symbpage%>newpage% THEN currentsymb%-=9 ELSE currentsymb%+=9
 2579IF currentsymb%>symbmax% THEN currentsymb%=symbmax%
 2580PROCfe(symbpick%,currentsymb%-newpage%*9+12,1<<21,1<<21)
 2581ENDIF
 2582symbpage%=newpage%
 2583!block%=symbpick%
 2584SYS &000400CB,,block%
 2585wx%=block%!4-block%!20
 2586wy%=block%!16-block%!24
 2587SYS &000400D1,symbpick%,block%!4-wx%,block%!16-wy%-76,block%!12-wx%,block%!16-wy%
 2588PROChb
 2589ELSE
 2590VDU 7
 2591ENDIF
 2592ENDCASE
 2593ENDPROC
 2594:
 2595DEF PROCmb
 2596LOCAL i%
 2597CASE manner% OF
 2598WHEN 0,1
 2599PROCna
 2600IF paltable%=0 THEN
 2601maxcol%=0
 2602paltable%=FNb(33*4)
 2603IF nametable%<>0 THEN nametable%=FNh(nametable%)
 2604nametable%=FNb(13*33)
 2605paltable%!0=&DDDDDD00
 2606$nametable%="Colour 1"
 2607ENDIF
 2608PROChd
 2609IF coltable%=0 THEN PROCbf
 2610IF FNl(tbar%,7) THEN spriteon%=TRUE ELSE spriteon%=FALSE
 2611block%!0=tbar%
 2612block%!4=7
 2613SYS &000400CE,,block%
 2614CASE pictype$ OF
 2615WHEN "sprite"
 2616$(block%!32)="Ssprite,psprite"
 2617WHEN "draw"
 2618$(block%!32)="Sdraw,pdraw"
 2619ENDCASE
 2620WHEN 2
 2621IF editcreated%=FALSE THEN
 2622IF coltable%<>0 THEN coltable%=FNh(coltable%)
 2623IF paltable%<>0 THEN paltable%=FNh(paltable%)
 2624IF nametable%<>0 THEN nametable%=FNh(nametable%)
 2625IF symbstore%<>0 THEN symbstore%=FNh(symbstore%)
 2626IF symbpoint%<>0 THEN symbpoint%=FNh(symbpoint%)
 2627IF symbsize%<>0 THEN symbsize%=FNh(symbsize%)
 2628gridwidth%=VAL$gstitches%
 2629gridheight%=VAL$grows%
 2630IF gridwidth%<24 THEN gridwidth%=24
 2631gridwidth%+=gridwidth% MOD 2
 2632$gstitches%=STR$gridwidth% :PROCfe(main%,30,0,0)
 2633coltable%=FNb(gridwidth%*gridheight%+8)
 2634FOR i%=0 TO gridwidth%*gridheight% STEP 4
 2635coltable%!i%=&80808080
 2636NEXT i%
 2637PROCsc
 2638ENDIF
 2639PROCcf
 2640ENDCASE
 2641PROCnd(edit%)
 2642SYS &000400D2,edit%,-1,0,0,0,0
 2643IF editstore%=0 THEN
 2644editstore%=FNb(100)
 2645$(editstore%+0)=$tension_sq_width%
 2646$(editstore%+7)=$tension_sq_height%
 2647$(editstore%+14)=$tension_sq_stitches%
 2648$(editstore%+21)=$tension_sq_rows%
 2649$(editstore%+28)=$tdset%
 2650$(editstore%+35)=$conv_rows%
 2651$(editstore%+42)=$ans_conv_rows%
 2652$(editstore%+49)=$conv_stitches%
 2653$(editstore%+56)=$ans_conv_stitches%
 2654$(editstore%+63)=$grows%
 2655$(editstore%+70)=$gstitches%
 2656$(editstore%+77)=$gheight%
 2657$(editstore%+84)=$gwidth%
 2658editstore%?91=FNl(main%,37)
 2659ENDIF
 2660editcreated%=TRUE
 2661IF manner%<>2 THEN
 2662PROCje(smenu%,0,0)
 2663PROCje(smenu%,1,0)
 2664ENDIF
 2665PROCje(smenu%,2,0)
 2666ENDPROC
 2667:
 2668DEF PROCsc
 2669LOCAL i%,c%,size%,num%,oldi%,ptr%,pochle%,extrasymb%,extrasize%,extranum%,extrai%,flags%
 2670
 2671SYS &00000029,28,"<EasyKnit$Dir>.Resources.Symbols.*" TO ,,size%,num%
 2672SYS &00000029,28,"<EasyKnit$Dir>.Resources.Symbols.Describe" TO ,,i%
 2673num%-=1
 2674SYS &00020029,28,"<EasyKnit$Dir>.^.Symbols.*" TO ,,extrasize%,extranum%;flags%
 2675IF (flags% AND 1)=1 THEN
 2676extrasize%=0:extranum%=0
 2677extrasymb%=FALSE
 2678ELSE
 2679extrasymb%=TRUE
 2680ENDIF
 2681SYS &00020029,28,"<EasyKnit$Dir>.^.Symbols.Describe" TO ,,extrai%;flags%
 2682IF (flags% AND 1)=1 THEN extrai%=0 ELSE extranum%-=1:IF extranum%<0 THEN extranum%=0
 2683symbmax%=num%+extranum%-1
 2684i%+=extrai%
 2685symbstore%=FNb(size%+extrasize%-i%)
 2686symbpoint%=FNb((num%+extranum%)*4)
 2687symbsize%=FNb((num%+extranum%)*4)
 2688nametable%=FNb((num%+extranum%)*11)
 2689
 2690SYS&0000000C,9,"<EasyKnit$Dir>.Resources.Symbols",block%,num%+1,0,3000,"*"
 2691i%=0 : oldi%=block%:pochle%=0
 2692FOR c%=0 TO num%
 2693WHILE block%?i%<>0
 2694i%+=1
 2695ENDWHILE
 2696block%?i%=13
 2697IF $(oldi%)="Describe" THEN
 2698pochle%=1
 2699ELSE
 2700$(nametable%+(c%-pochle%)*11)=$(oldi%)
 2701ENDIF
 2702i%+=1
 2703oldi%=block%+i%
 2704NEXT c%
 2705c%=0: pochle%=0
 2706
 2707FOR i%=0 TO num%-1
 2708path$="<EasyKnit$Dir>.Resources.Symbols."+$(nametable%+i%*11)
 2709SYS&00000008,&FF,path$,symbstore%+c%,0 TO ,,,,size%
 2710symbpoint%!(i%*4)=symbstore%+c%
 2711symbsize%!(i%*4)=size%
 2712c%+=size%
 2713NEXT i%
 2714IF extrasymb%=TRUE THEN
 2715
 2716ptr%=c%
 2717SYS&0000000C,9,"<EasyKnit$Dir>.^.Symbols",block%,extranum%+1,0,3000,"*"
 2718i%=0 : oldi%=block%:pochle%=0
 2719FOR c%=num% TO num%+extranum%
 2720WHILE block%?i%<>0
 2721i%+=1
 2722ENDWHILE
 2723block%?i%=13
 2724IF $(oldi%)="Describe" THEN
 2725pochle%=1
 2726ELSE
 2727$(nametable%+(c%-pochle%)*11)=$(oldi%)
 2728ENDIF
 2729i%+=1
 2730oldi%=block%+i%
 2731NEXT c%
 2732c%=ptr%: pochle%=0
 2733
 2734FOR i%=num% TO num%+extranum%-1
 2735path$="<EasyKnit$Dir>.^.Symbols."+$(nametable%+i%*11)
 2736SYS&00000008,&FF,path$,symbstore%+c%,0 TO ,,,,size%
 2737symbpoint%!(i%*4)=symbstore%+c%
 2738symbsize%!(i%*4)=size%
 2739c%+=size%
 2740NEXT i%
 2741ENDIF
 2742stw%=30: stitchwidth=30: stitch_width=30
 2743rht%=30: rowht=30: row_height=30
 2744currentsymb%=0
 2745symbpage%=0
 2746SYS&00041500,,"<EasyKnit$Dir>.Resources.Symbols.Describe" TO ,,len%
 2747descinfobuff%=FNb(16)
 2748descbuff%=FNb(len%)
 2749SYS&00041501,descinfobuff%,"<EasyKnit$Dir>.Resources.Symbols.Describe",descbuff%
 2750IF extrasymb%=TRUE THEN
 2751SYS&00041500,,"<EasyKnit$Dir>.^.Symbols.Describe" TO ,,len%
 2752extradescinfobuff%=FNb(16)
 2753extradescbuff%=FNb(len%)
 2754SYS&00041501,extradescinfobuff%,"<EasyKnit$Dir>.^.Symbols.Describe",extradescbuff%
 2755ENDIF
 2756FOR icon%=11 TO 20
 2757PROCfe(symbpick%,icon%,0<<21,1<<21)
 2758NEXT icon%
 2759PROCfe(symbpick%,currentsymb%+12,1<<21,1<<21)
 2760PROChb
 2761ENDPROC
 2762:
 2763DEF PROChb
 2764LOCAL ptr%,len%,text$,tok$,i%,flags%
 2765IF currentsymb%=128 THEN
 2766tok$="Rubber"
 2767ELSE
 2768tok$=$(nametable%+currentsymb%*11)
 2769ENDIF
 2770SYS &00061502,descinfobuff%,tok$,0 TO ,,ptr%,len%;flags%
 2771IF (flags% AND 1)=1 THEN SYS &00061502,extradescinfobuff%,tok$,0 TO ,,ptr%,len%;flags%
 2772IF (flags% AND 1)=0 THEN
 2773text$=""
 2774FOR i%=0 TO len%-1
 2775text$+=CHR$(ptr%?i%)
 2776NEXT i%
 2777IF LEN(text$)>40 THEN text$=LEFT$(text$,40)
 2778$describe%=text$
 2779ELSE
 2780$describe%=tok$
 2781ENDIF
 2782PROCfe(symbpick%,0,0,0)
 2783ENDPROC
 2784:
 2785DEF PROClb
 2786IF sourcespr%<>0 THEN sourcespr%=FNh(sourcespr%)
 2787IF coltable%<>0 THEN coltable%=FNh(coltable%)
 2788IF draw%<>0 THEN draw%=FNh(draw%)
 2789IF symbstore%<>0 THEN symbstore%=FNh(symbstore%)
 2790IF symbpoint%<>0 THEN symbpoint%=FNh(symbpoint%)
 2791IF symbsize%<>0 THEN symbsize%=FNh(symbsize%)
 2792IF nametable%<>0 THEN nametable%=FNh(nametable%)
 2793IF descinfobuff%<>0 THEN descinfobuff%=FNh(descinfobuff%)
 2794IF descbuff%<>0 THEN descbuff%=FNh(descbuff%)
 2795IF extradescinfobuff%<>0 THEN extradescinfobuff%=FNh(extradescinfobuff%)
 2796IF extradescbuff%<>0 THEN extradescbuff%=FNh(extradescbuff%)
 2797ENDPROC
 2798:
 2799DEF PROCqa
 2800LOCAL gridfigs%
 2801pictype$="none"
 2802PROCse(editmenu%,0)
 2803PROCwe(editmenu%,1)
 2804PROCwe(editmenu%,2)
 2805manner%=0
 2806spriteon%=FALSE
 2807editcreated%=FALSE
 2808IF editopen%=TRUE THEN PROCza(edit%)
 2809PROClb
 2810PROCfe(tbar%,7,1<<22,1<<22)
 2811PROCfe(tbar%,7,0<<21,1<<21)
 2812PROCfe(tbar%,5,0<<22,1<<22)
 2813PROCfe(tbar%,5,1<<21,1<<21)
 2814PROCfe(tbar%,9,0<<22,1<<22)
 2815PROCfe(tbar%,10,0<<22,1<<22)
 2816PROCje(emenu%,4,1)
 2817PROCje(emenu%,7,0)
 2818PROCwe(emenu%,4)
 2819IF FNl(main%,37) THEN
 2820PROCed(5)
 2821ELSE
 2822PROCed(4)
 2823ENDIF
 2824PROCte(0)
 2825gridfigs%=FNc
 2826IF gridfigs%=FALSE THEN
 2827PROCre(4)
 2828PROCcc(1)
 2829ELSE
 2830PROCre(6)
 2831PROCcc(0)
 2832ENDIF
 2833PROCoa(main%,29,LEN$grows%)
 2834$ans_conv_rows%="0": PROCfe(main%,20,0,0)
 2835$conv_rows%="0.0": PROCfe(main%,19,0,0)
 2836$ans_conv_stitches%="0": PROCfe(main%,22,0,0)
 2837$conv_stitches%="0.0": PROCfe(main%,21,0,0)
 2838IF FNl(main%,37) THEN
 2839IF VAL$grows%<>0 THEN
 2840$conv_rows%=FNq(VAL$grows%,row_height)
 2841PROCfe(main%,19,0,0)
 2842IF VAL$gstitches%<>0 THEN
 2843$conv_stitches%=FNq(VAL$gstitches%,stitch_width)
 2844PROCfe(main%,21,0,0)
 2845ENDIF
 2846ENDIF
 2847ENDIF
 2848ENDPROC
 2849:
 2850DEF PROCra
 2851LOCAL zero%
 2852manner%=1
 2853PROCse(editmenu%,1)
 2854PROCwe(editmenu%,0)
 2855PROCwe(editmenu%,2)
 2856PROCed(1)
 2857PROCcc(1)
 2858PROCte(0)
 2859spriteon%=TRUE
 2860editcreated%=FALSE
 2861IF editopen%=TRUE THEN PROCza(edit%)
 2862PROClb
 2863PROCfe(tbar%,7,0<<22,1<<22)
 2864PROCfe(tbar%,7,1<<21,1<<21)
 2865PROCfe(tbar%,5,0<<22,1<<22)
 2866PROCfe(tbar%,5,1<<21,1<<21)
 2867PROCfe(tbar%,9,0<<22,1<<22)
 2868PROCfe(tbar%,10,0<<22,1<<22)
 2869PROCje(emenu%,4,0)
 2870PROCje(emenu%,7,0)
 2871PROCse(emenu%,4)
 2872PROCoa(main%,15,LEN$tension_sq_width%)
 2873$ans_conv_rows%="0": PROCfe(main%,20,0,0)
 2874$conv_rows%="0.0": PROCfe(main%,19,0,0)
 2875$ans_conv_stitches%="0": PROCfe(main%,22,0,0)
 2876$conv_stitches%="0.0": PROCfe(main%,21,0,0)
 2877zero%=FNe
 2878IF zero%=FALSE THEN
 2879PROCcc(0)
 2880PROCre(5)
 2881ELSE
 2882PROCcc(1)
 2883PROCre(1)
 2884ENDIF
 2885ENDPROC
 2886:
 2887DEF PROCta
 2888LOCAL zero%
 2889manner%=2
 2890stw%=30
 2891rht%=30
 2892stitchwidth=30
 2893rowht=30
 2894PROCed(6)
 2895PROCse(editmenu%,2)
 2896PROCwe(editmenu%,0)
 2897PROCwe(editmenu%,1)
 2898PROCje(smenu%,0,1)
 2899PROCje(smenu%,1,1)
 2900spriteon%=FALSE
 2901editcreated%=FALSE
 2902IF editopen%=TRUE THEN PROCza(edit%)
 2903PROClb
 2904PROCfe(tbar%,5,1<<22,1<<22)
 2905PROCfe(tbar%,5,1<<21,1<<21)
 2906PROCfe(tbar%,7,1<<22,1<<22)
 2907PROCfe(tbar%,7,0<<21,1<<21)
 2908PROCfe(tbar%,9,1<<22,1<<22)
 2909PROCfe(tbar%,10,1<<22,1<<22)
 2910PROCje(emenu%,4,1)
 2911PROCje(emenu%,7,1)
 2912PROCwe(emenu%,4)
 2913PROCte(0)
 2914PROCoa(main%,29,LEN$grows%)
 2915zero%=FNd
 2916IF zero%=TRUE THEN
 2917PROCcc(0)
 2918PROCre(5)
 2919ELSE
 2920PROCcc(1)
 2921PROCre(7)
 2922ENDIF
 2923ENDPROC
 2924:
 2925DEF PROCsa
 2926IF FNn(unitmenu%,0)=FALSE THEN
 2927PROCxa
 2928PROCse(unitmenu%,0)
 2929PROCwe(unitmenu%,1)
 2930$tsqtunit%="in": PROCfe(main%,38,0,0)
 2931$tsqbunit%="in": PROCfe(main%,39,0,0)
 2932$contunit%="in": PROCfe(main%,48,0,0)
 2933$conbunit%="in": PROCfe(main%,49,0,0)
 2934$grdtunit%="in": PROCfe(main%,50,0,0)
 2935$grdbunit%="in": PROCfe(main%,51,0,0)
 2936PROCbb(1)
 2937ENDIF
 2938ENDPROC
 2939:
 2940DEF PROCpa
 2941IF FNn(unitmenu%,1)=FALSE THEN
 2942PROCxa
 2943PROCse(unitmenu%,1)
 2944PROCwe(unitmenu%,0)
 2945$tsqtunit%="cm": PROCfe(main%,38,0,0)
 2946$tsqbunit%="cm": PROCfe(main%,39,0,0)
 2947$contunit%="cm": PROCfe(main%,48,0,0)
 2948$conbunit%="cm": PROCfe(main%,49,0,0)
 2949$grdtunit%="cm": PROCfe(main%,50,0,0)
 2950$grdbunit%="cm": PROCfe(main%,51,0,0)
 2951PROCbb(0)
 2952ENDIF
 2953ENDPROC
 2954:
 2955DEF PROCpc
 2956LOCAL a%,l%,zero%
 2957IF draw%<>0 THEN draw%=FNh(draw%)
 2958IF sourcespr%<>0 THEN sourcespr%=FNh(sourcespr%)
 2959IF coltable%<>0 THEN coltable%=FNh(coltable%)
 2960IF mainopen%=FALSE THEN PROCnd(main%)
 2961pictype$="draw"
 2962a%=OPENINpathfile$
 2963l%=EXT#a%
 2964CLOSE #a%
 2965draw%=FNb(l%)
 2966OSCLI("Load "+pathfile$+" "+STR$~(draw%))
 2967drawlen%=l%
 2968drawx%=draw%!32-draw%!24
 2969drawy%=draw%!36-draw%!28
 2970drawxoffset%=draw%!24
 2971drawyoffset%=draw%!28
 2972spx%=drawx%>>8
 2973spy%=drawy%>>8
 2974zero%=FNe
 2975IF zero%=TRUE THEN
 2976PROCcc(0)
 2977PROCed(3)
 2978PROCre(2)
 2979PROCoa(main%,19,LEN$conv_rows%)
 2980ELSE
 2981PROCre(5)
 2982PROCed(1)
 2983PROCoa(main%,15,LEN$tension_sq_width%)
 2984ENDIF
 2985PROCya
 2986editcreated%=FALSE
 2987ENDPROC
 2988:
 2989DEF PROCrc
 2990LOCAL zero%,xe%,ye%,size%
 2991IF sourcespr%<>0 THEN sourcespr%=FNh(sourcespr%)
 2992IF draw%<>0 THEN draw%=FNh(draw%)
 2993IF coltable%<>0 THEN coltable%=FNh(coltable%)
 2994IF mainopen%=FALSE THEN PROCnd(main%)
 2995pictype$="sprite"
 2996sprite_file$=pathfile$
 2997sourcespr%=FNp(sprite_file$)
 2998sarealen%=!sourcespr%
 2999zero%=FNe
 3000IF zero%=TRUE THEN
 3001PROCed(3)
 3002PROCre(2)
 3003PROCoa(main%,19,LEN$conv_rows%)
 3004ELSE
 3005PROCre(5)
 3006PROCed(1)
 3007PROCoa(main%,15,LEN$tension_sq_width%)
 3008ENDIF
 3009SYS &0000002E,&10D,sourcespr%,block%,&100,1 TO ,,,name_len%
 3010block%?name_len%=13
 3011sprite$=$block%
 3012SYS &0000002E,&118,sourcespr%,sprite$ TO ,,sourceaddr%
 3013SYS &0000002E,&228,sourcespr%,sourceaddr% TO ,,,spx%,spy%,,mode%
 3014xe%=FNr(mode%,4)
 3015ye%=FNr(mode%,5)
 3016spx%=spx%<<xe%
 3017spy%=spy%<<ye%
 3018SYS &00040740,sourcespr%,sourceaddr%,-1,-1,0,1,0,0 TO ,,,,size%
 3019transtable%=FNb(size%)
 3020SYS &00040740,sourcespr%,sourceaddr%,-1,-1,transtable%,1,0,0
 3021PROCya
 3022editcreated%=FALSE
 3023ENDPROC
 3024:
 3025DEF PROCxd
 3026IF editcreated%=TRUE THEN
 3027PROCka("Changing that will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",7)
 3028ENDIF
 3029ENDPROC
 3030:
 3031DEF PROCya
 3032$conv_rows%="0.0": PROCfe(main%,19,0,0)
 3033$conv_stitches%="0.0": PROCfe(main%,21,0,0)
 3034$ans_conv_rows%="0": PROCfe(main%,20,0,0)
 3035$ans_conv_stitches%="0": PROCfe(main%,22,0,0)
 3036PROCcc(1)
 3037ENDPROC
 3038:
 3039DEF PROCec
 3040LOCAL wx%,wy%
 3041IF FNl(tbar%,5) THEN
 3042PROCse(emenu%,2)
 3043gridon%=TRUE
 3044ELSE
 3045PROCwe(emenu%,2)
 3046gridon%=FALSE
 3047ENDIF
 3048!block%=edit%
 3049SYS &000400CB,,block%
 3050wx%=block%!4-block%!20
 3051wy%=block%!16-block%!24
 3052SYS &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
 3053ENDPROC
 3054:
 3055DEF PROCzd
 3056LOCAL wx%,wy%
 3057IF FNl(tbar%,6) THEN
 3058PROCse(emenu%,3)
 3059pagerulers%=TRUE
 3060!block%=edit%: SYS&000400CB,,block%:PROCld
 3061ELSE
 3062PROCwe(emenu%,3)
 3063pagerulers%=FALSE
 3064!block%=toprule%
 3065SYS &000400C6,,block%
 3066!block%=botrule%
 3067SYS &000400C6,,block%
 3068!block%=leftrule%
 3069SYS &000400C6,,block%
 3070!block%=rightrule%
 3071SYS &000400C6,,block%
 3072!block%=cornertl%
 3073SYS &000400C6,,block%
 3074!block%=cornertr%
 3075SYS &000400C6,,block%
 3076!block%=cornerbl%
 3077SYS &000400C6,,block%
 3078!block%=cornerbr%
 3079SYS &000400C6,,block%
 3080ENDIF
 3081!block%=edit%
 3082SYS &000400CB,,block%
 3083wx%=block%!4-block%!20
 3084wy%=block%!16-block%!24
 3085SYS &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
 3086ENDPROC
 3087:
 3088DEF PROCme
 3089LOCAL wx%,wy%
 3090IF FNl(tbar%,7) THEN
 3091spriteon%=TRUE
 3092PROCse(emenu%,4)
 3093ELSE
 3094spriteon%=FALSE
 3095PROCwe(emenu%,4)
 3096ENDIF
 3097!block%=edit%
 3098SYS &000400CB,,block%
 3099wx%=block%!4-block%!20
 3100wy%=block%!16-block%!24
 3101SYS &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
 3102ENDPROC
 3103:
 3104DEF PROCpe
 3105!block%=tbar%
 3106SYS &000400CC,,block%
 3107x%=block%!(4+88+8*32+0)+block%!4-block%!20
 3108y%=block%!8
 3109x%-=416: y%-=42
 3110!block%=symbpick%
 3111SYS &000400CB,,block%
 3112w%=block%!12-block%!4
 3113h%=block%!16-block%!8
 3114block%!4=x%
 3115block%!8=y%-h%
 3116block%!12=x%+w%
 3117block%!16=y%
 3118block%!28=-1
 3119SYS &000400C5,,block%
 3120ENDPROC
 3121:
 3122DEF PROCnb
 3123PROCyc
 3124PROCnd(colcreate%)
 3125ENDPROC
 3126:
 3127DEF PROCcb
 3128LOCAL x%,y%,w%,h%
 3129IF maxcol%<>-1 THEN
 3130PROCxc
 3131!block%=tbar%
 3132SYS &000400CC,,block%
 3133x%=block%!(4+88+8*32+0)+block%!4-block%!20
 3134y%=block%!8
 3135x%-=162: y%-=42
 3136!block%=colchoose%
 3137SYS &000400CB,,block%
 3138w%=block%!12-block%!4
 3139h%=block%!16-block%!8
 3140block%!4=x%
 3141block%!8=y%-h%
 3142block%!12=x%+w%
 3143block%!16=y%
 3144block%!28=-1
 3145SYS &000400C5,,block%
 3146ELSE
 3147PROCwd("Please pick some colours to use first.")
 3148PROCnb
 3149ENDIF
 3150ENDPROC
 3151:
 3152DEF PROCxc
 3153LOCAL i%,colour%,maxicon%
 3154!block%=colchoose%
 3155SYS &000400CC,,block%
 3156block%!(4+44)=-(276+maxcol%*76)
 3157IF block%!(4+44)>-300 THEN block%!(4+44)=-300
 3158SYS &000400D7,colchoose%,block%+44
 3159FOR i%=0 TO 28 STEP 4
 3160block%!(1004+i%)=block%!(4+88+6*32+i%)
 3161NEXT i%
 3162FOR i%=0 TO 28 STEP 4
 3163block%!(1044+i%)=block%!(4+88+7*32+i%)
 3164NEXT i%
 3165FOR i%=0 TO 28 STEP 4
 3166block%!(1084+i%)=block%!(4+88+8*32+i%)
 3167NEXT i%
 3168maxicon%=(block%!(4+84))
 3169block%!(2000)=colchoose%
 3170WHILE maxicon%>5
 3171block%!(2000+4)=maxicon%
 3172SYS &000400C4,,block%+2000
 3173maxicon%-=1
 3174ENDWHILE
 3175block%!1000=colchoose%: block%!1040=colchoose%: block%!1080=colchoose%
 3176colour%=0
 3177WHILE colour%<=maxcol%
 3178SYS &000400C2,,block%+1000
 3179SYS &000400C2,,block%+1040
 3180block%!1104=nametable%+colour%*13
 3181SYS &000400C2,,block%+1080
 3182block%!1008-=76: block%!1016-=76
 3183block%!1048-=76: block%!1056-=76
 3184block%!1088-=76: block%!1096-=76
 3185colour%+=1
 3186ENDWHILE
 3187IF maxcol%<>-1 THEN
 3188FOR i%=0 TO maxcol%
 3189IF i%=currentcol% THEN
 3190PROCfe(colchoose%,i%*3+7,1<<21,1<<21)
 3191ELSE
 3192PROCfe(colchoose%,i%*3+7,0<<21,1<<21)
 3193ENDIF
 3194NEXT i%
 3195IF currentcol%=64 THEN PROCfe(colchoose%,1,1<<21,1<<21)
 3196IF currentcol%=128 THEN PROCfe(colchoose%,4,1<<21,1<<21)
 3197ENDIF
 3198ENDPROC
 3199:
 3200DEF PROCyc
 3201LOCAL i%,colour%,maxicon%
 3202!block%=colpane%
 3203SYS &000400CC,,block%
 3204block%!(4+44)=-(124+maxcol%*76)
 3205IF block%!(4+44)>-300 THEN block%!(4+44)=-300
 3206SYS &000400D7,colpane%,block%+44
 3207FOR i%=0 TO 28 STEP 4
 3208block%!(1004+i%)=block%!(4+88+i%)
 3209NEXT i%
 3210FOR i%=0 TO 28 STEP 4
 3211block%!(1044+i%)=block%!(4+88+32+i%)
 3212NEXT i%
 3213FOR i%=0 TO 28 STEP 4
 3214block%!(1084+i%)=block%!(4+88+64+i%)
 3215NEXT i%
 3216maxicon%=(block%!(4+84))
 3217block%!(2000)=colpane%
 3218WHILE maxicon%>-1
 3219block%!(2000+4)=maxicon%
 3220SYS &000400C4,,block%+2000
 3221maxicon%-=1
 3222ENDWHILE
 3223block%!1000=colpane%: block%!1040=colpane%: block%!1080=colpane%
 3224colour%=0
 3225WHILE colour%<=maxcol%
 3226SYS &000400C2,,block%+1000
 3227SYS &000400C2,,block%+1040
 3228block%!1104=nametable%+colour%*13
 3229SYS &000400C2,,block%+1080
 3230block%!1008-=76: block%!1016-=76
 3231block%!1048-=76: block%!1056-=76
 3232block%!1088-=76: block%!1096-=76
 3233colour%+=1
 3234ENDWHILE
 3235FOR i%=0 TO maxcol%
 3236PROCfe(colpane%,i%*3+1,0<<21,1<<21)
 3237NEXT i%
 3238ENDPROC
 3239:
 3240DEF PROCke
 3241LOCAL orx%,ory%,col%,row%,stitch%,minrow%,maxrow%,minst%,maxst%
 3242LOCAL minx%,miny%,maxx%,maxy%,minvrow%,maxvrow%,minvst%,maxvst%
 3243SYS &000406C0
 3244IF FNl(tbar%,9)=FALSE THEN
 3245showmask%=TRUE
 3246PROCse(maskmenu%,0)
 3247ELSE
 3248showmask%=FALSE
 3249PROCwe(maskmenu%,0)
 3250ENDIF
 3251!block%=edit%
 3252SYS &000400CB,,block%
 3253orx%=block%!4-block%!20
 3254ory%=block%!16-block%!24
 3255minx%=block%!4-orx%
 3256maxx%=block%!12-orx%
 3257miny%=block%!8-ory%+editht%
 3258maxy%=block%!16-ory%+editht%
 3259minvst%=(minx%-rulesize%)/stw%-1
 3260maxvst%=(maxx%-rulesize%)/stw%+1
 3261minvrow%=(miny%-rulesize%)/rht%-1
 3262maxvrow%=(maxy%-rulesize%-tbarht%)/rht%+1
 3263IF minvst%<0 THEN minvst%=0
 3264IF maxvst%>gridwidth%-1 THEN maxvst%=gridwidth%-1
 3265IF minvrow%<0 THEN minvrow%=0
 3266IF maxvrow%>gridheight%-1 THEN maxvrow%=gridheight%-1
 3267minst%=maxvst%
 3268maxst%=minvst%
 3269minrow%=maxvrow%
 3270maxrow%=minvrow%
 3271FOR stitch%=minvst% TO maxvst%
 3272FOR row%=minvrow% TO maxvrow%
 3273col%=coltable%?(row%*gridwidth%+stitch%)
 3274IF (col%AND64)=64 AND (col%AND128)=0 THEN
 3275IF row%<minrow% THEN minrow%=row%
 3276IF row%>maxrow% THEN maxrow%=row%
 3277IF stitch%<minst% THEN minst%=stitch%
 3278IF stitch%>maxst% THEN maxst%=stitch%
 3279ENDIF
 3280NEXT row%
 3281NEXT stitch%
 3282maxst%+=1:maxrow%+=1
 3283SYS &000400D1,edit%,minst%*stw%+rulesize%,minrow%*rht%+rulesize%-editht%,maxst%*stw%+rulesize%,maxrow%*rht%+rulesize%-editht%
 3284SYS &000406C1
 3285ENDPROC
 3286:
 3287DEF PROCvd
 3288LOCAL wx%,wy%,i%
 3289SYS &000406C0
 3290showmask%=FALSE
 3291PROCwe(maskmenu%,0)
 3292PROCfe(tbar%,9,0<<21,1<<21)
 3293FOR i%=0 TO gridheight%*gridwidth% STEP 4
 3294coltable%!i%=coltable%!i% AND &BFBFBFBF
 3295NEXT i%
 3296!block%=edit%
 3297SYS &000400CB,,block%
 3298wx%=block%!4-block%!20
 3299wy%=block%!16-block%!24
 3300SYS &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
 3301SYS &000406C1
 3302ENDPROC
 3303:
 3304DEF PROCcd
 3305LOCAL stitch%,wx%,wy%,col%
 3306IF currentcol%=64 OR currentcol%=128 THEN
 3307PROCwd("Please select a colour to be left unmasked.")
 3308ELSE
 3309SYS &000406C0
 3310showmask%=FALSE
 3311PROCwe(maskmenu%,0)
 3312PROCfe(tbar%,9,0<<21,1<<21)
 3313FOR stitch%=0 TO gridheight%*gridwidth%
 3314col%=coltable%?stitch%
 3315IF (col% AND 63)<>currentcol% THEN
 3316col%=col% OR 64
 3317ELSE
 3318col%=col% AND 191
 3319ENDIF
 3320coltable%?stitch%=col%
 3321NEXT stitch%
 3322!block%=edit%
 3323SYS &000400CB,,block%
 3324wx%=block%!4-block%!20
 3325wy%=block%!16-block%!24
 3326SYS &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
 3327SYS &000406C1
 3328ENDIF
 3329ENDPROC
 3330:
 3331DEF PROCdd
 3332LOCAL stitch%,wx%,wy%,col%
 3333IF currentcol%=64 OR currentcol%=128 THEN
 3334PROCwd("Please select a colour to mask.")
 3335ELSE
 3336SYS &000406C0
 3337showmask%=FALSE
 3338PROCwe(maskmenu%,0)
 3339PROCfe(tbar%,9,0<<21,1<<21)
 3340FOR stitch%=0 TO gridheight%*gridwidth%
 3341col%=coltable%?stitch%
 3342IF (col% AND 63)=currentcol% THEN
 3343col%=col% OR 64
 3344ELSE
 3345col%=col% AND 191
 3346ENDIF
 3347coltable%?stitch%=col%
 3348NEXT stitch%
 3349!block%=edit%
 3350SYS &000400CB,,block%
 3351wx%=block%!4-block%!20
 3352wy%=block%!16-block%!24
 3353SYS &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
 3354SYS &000406C1
 3355ENDIF
 3356ENDPROC
 3357:
 3358DEF PROCla
 3359!block%=edit%
 3360SYS &000400CC,,block%
 3361SYS &000400C3,,block%
 3362block%?(4+35)=backcol%
 3363SYS &000400C1,,block%+4 TO edit%
 3364CASE backcol% OF
 3365WHEN 4,5,6,7,8,10,11,13
 3366forecol%=0
 3367OTHERWISE
 3368forecol%=7
 3369ENDCASE
 3370!block%=edit%
 3371PROCld
 3372ENDPROC
 3373:
 3374DEF FNt(whan%)
 3375!block%=whan%
 3376SYS &000400CC,,block%
 3377SYS &000400C3,,block%
 3378block%?(4+35)=rulerbcol%
 3379block%?(4+32)=rulerbcol%
 3380SYS &000400C1,,block%+4 TO whan%
 3381!block%=whan%
 3382=whan%
 3383:
 3384DEF PROCcf
 3385LOCAL oldstw%,oldrht%
 3386edmul%=VAL($sclmul%)
 3387eddiv%=VAL($scldiv%)
 3388oldstw=stw%:oldrht=rht%
 3389stw%=INT((stitchwidth*edmul%)/eddiv%)
 3390rht%=INT((rowht*edmul%)/eddiv%)
 3391!block%=tbardisp%
 3392SYS &000400CB,,block%
 3393zoomstack%=block%!28
 3394!block%=edit%
 3395SYS &000400CB,,block%
 3396PROCob
 3397block%!20=block%!20*(stw%/oldstw)
 3398block%!24=block%!24*(rht%/oldrht)
 3399PROCld
 3400zoomstack%=0
 3401ENDPROC
 3402:
 3403DEF PROCyd
 3404LOCAL orx%,ory%,stitch%,row%,minx%,miny%,maxx%,maxy%
 3405LOCAL minstitch%,maxstitch%,minrow%,maxrow%,col%,blank%
 3406SYS &000406C0
 3407block%!100=edit%
 3408SYS&000400CB,,block%+100
 3409orx%=(block%!104-block%!120)
 3410ory%=(block%!116-block%!124-editht%)
 3411minx%=(block%!0-orx%)
 3412miny%=(block%!4-ory%)
 3413maxx%=(block%!8-orx%)
 3414maxy%=(block%!12-ory%)
 3415IF minx%>maxx% THEN SWAP minx%,maxx%
 3416IF miny%>maxy% THEN SWAP miny%,maxy%
 3417minstitch%=(minx%-rulesize%)/stw%
 3418maxstitch%=(maxx%-rulesize%)/stw%
 3419minrow%=(miny%-rulesize%)/rht%
 3420maxrow%=(maxy%-rulesize%)/rht%
 3421IF minstitch%<0 THEN minstitch%=0
 3422IF maxstitch%>gridwidth%-1 THEN maxstitch%=gridwidth%-1
 3423IF minrow%<0 THEN minrow%=0
 3424IF maxrow%>gridheight%-1 THEN maxrow%=gridheight%-1
 3425blank%=FNl(tbar%,4)
 3426IF blank%=TRUE AND (currentcol%=64 OR currentcol%=128) THEN
 3427PROCwd("Please select a colour to fill the blank stitches with.")
 3428ELSE
 3429IF blank%=TRUE AND manner%=2 THEN
 3430copyminrow%=minrow%
 3431copymaxrow%=maxrow%
 3432copyminst%=minstitch%
 3433copymaxst%=maxstitch%
 3434SYS &000400E9,36,0,"ptr_botleft",2,0,10,0,0
 3435copy%=TRUE
 3436ELSE
 3437FOR row%=minrow% TO maxrow%
 3438FOR stitch%=minstitch% TO maxstitch%
 3439col%=coltable%?(row%*gridwidth%+stitch%)
 3440IF blank%=FALSE THEN
 3441IF currentcol%<>64 THEN
 3442IF manner%<>2 THEN col%=currentcol% ELSE col%=currentsymb%
 3443ELSE
 3444col%=(col% AND NOT 64) EOR 64
 3445ENDIF
 3446ELSE
 3447IF currentcol%<>64 THEN
 3448IF ((col%AND128)=128) THEN col%=currentcol%
 3449ELSE
 3450IF ((col%AND128)=128) THEN col%=(col% AND NOT 64) EOR 64
 3451ENDIF
 3452ENDIF
 3453coltable%?(row%*gridwidth%+stitch%)=col%
 3454NEXT stitch%
 3455NEXT row%
 3456SYS &000400D1,edit%,minx%-stw%,miny%-editht%-rht%,maxx%+stw%,maxy%-editht%+rht%
 3457ENDIF
 3458ENDIF
 3459SYS &000406C1
 3460dragtype%=0
 3461ENDPROC
 3462:
 3463DEF PROCpb
 3464copy%=FALSE
 3465copyblock%=FNh(copyblock%)
 3466*POINTER 1
 3467ENDPROC
 3468:
 3469DEF PROCte(savestate%)
 3470LOCAL tit$,max%
 3471IF savestate%=0 THEN
 3472tit$=$maintitle%
 3473IF RIGHT$(tit$)="*" THEN tit$=LEFT$(tit$): $maintitle%=tit$
 3474tit$=$edittitle%
 3475IF RIGHT$(tit$)="*" THEN tit$=LEFT$(tit$): $edittitle%=tit$
 3476tit$=$patterntitle%
 3477IF RIGHT$(tit$)="*" THEN tit$=LEFT$(tit$): $patterntitle%=tit$
 3478starred%=FALSE
 3479ELSE
 3480tit$=$maintitle%
 3481IF RIGHT$(tit$)<>"*" THEN tit$+="*": $maintitle%=tit$
 3482tit$=$edittitle%
 3483IF RIGHT$(tit$)<>"*" THEN tit$+="*": $edittitle%=tit$
 3484tit$=$patterntitle%
 3485IF RIGHT$(tit$)<>"*" THEN tit$+="*": $patterntitle%=tit$
 3486starred%=TRUE
 3487ENDIF
 3488IF mainopen%=TRUE THEN
 3489!block%=main%
 3490SYS &000400E0,,block%
 3491max%=block%!16
 3492SYS &000400CB,,block%
 3493SYS &000400D1,-1,block%!4,block%!16+4,block%!12,max%+(block%!16)
 3494ENDIF
 3495IF editopen%=TRUE THEN
 3496!block%=edit%
 3497SYS &000400E0,,block%
 3498max%=block%!16
 3499SYS &000400CB,,block%
 3500SYS &000400D1,-1,block%!4,block%!16+4,block%!12,max%+(block%!16)
 3501ENDIF
 3502SYS &000400CB,,block%
 3503IF ((block%?34) AND 1)=1 THEN
 3504!block%=pattern%
 3505SYS &000400E0,,block%
 3506max%=block%!16
 3507SYS &000400CB,,block%
 3508SYS &000400D1,-1,block%!4,block%!16+4,block%!12,max%+(block%!16)
 3509ENDIF
 3510ENDPROC
 3511:
 3512DEF PROCic(whan%,icon%,max%,min%,button%,inc%)
 3513LOCAL var%,index%
 3514block%!0=whan%: block%!4=icon%
 3515SYS &000400CE,,block%
 3516var%=VAL($(block%!28))-(button%=4)*inc%+(button%=1)*inc%
 3517IF var%>max% THEN var%=max%: VDU 7
 3518IF var%<min% THEN var%=min%: VDU 7
 3519$(block%!28)=STR$(var%)
 3520block%!8=0: block%!12=0
 3521SYS &000400CD,,block%
 3522PROCxb
 3523IF carb%!0=whan% AND carb%!4=icon% THEN
 3524index%=carb%!20
 3525IF index%>LEN(STR$(var%)) THEN index%=LEN(STR$(var%))
 3526PROCoa(whan%,icon%,index%)
 3527ENDIF
 3528ENDPROC
 3529:
 3530DEF PROCkb
 3531CASE dragtype% OF
 3532WHEN 0: PROClc
 3533WHEN 1,2: PROCyd
 3534ENDCASE
 3535ENDPROC
 3536:
 3537DEF PROCle(menu%,mx%,my%)
 3538menuopen%=menu%
 3539SYS&000400D4,,menu%,mx%,my%
 3540IF menu%=savebox% THEN dragtype%=0
 3541ENDPROC
 3542:
 3543DEF PROCve(menu%,item%)
 3544?(menu%+28+item%*24)=(?(menu%+28+item%*24) AND NOT 0) EOR 1
 3545ENDPROC
 3546:
 3547DEF PROCse(menu%,item%)
 3548?(menu%+28+item%*24)=?(menu%+28+item%*24) OR 1
 3549ENDPROC
 3550:
 3551DEF PROCwe(menu%,item%)
 3552?(menu%+28+item%*24)=(?(menu%+28+item%*24) AND NOT 1) EOR 0
 3553ENDPROC
 3554:
 3555DEF PROCue(menu%,item%)
 3556?(menu%+38+item%*24)=(?(menu%+38+item%*24) AND NOT 0<<6) EOR 1<<6
 3557ENDPROC
 3558:
 3559DEF PROCje(menu%,item%,shade%)
 3560?(menu%+38+item%*24)=(?(menu%+38+item%*24) AND NOT 1<<6) EOR shade%<<6
 3561ENDPROC
 3562:
 3563DEF FNn(menu%,item%)
 3564=(?(menu%+28+item%*24) AND 1)<>0
 3565:
 3566DEF PROCfd
 3567LOCAL sel%,subsel%,button%,mx%,my%
 3568sel%=!block%: subsel%=block%!4
 3569SYS&000400CF,,block%
 3570mx%=!block%: my%=block%!4
 3571button%=block%!8
 3572CASE menuopen% OF
 3573WHEN imenu%
 3574CASE sel% OF
 3575WHEN 0: PROCle(info%,mx%,my%)
 3576WHEN 1: PROCxa
 3577WHEN 2: PROCva
 3578ENDCASE
 3579WHEN emenu%
 3580CASE sel% OF
 3581WHEN 2
 3582IF subsel%=-1 THEN
 3583IF manner%<>2 THEN
 3584PROCfe(tbar%,5,1<<21,0<<21)
 3585PROCec
 3586ENDIF
 3587ELSE
 3588PROCwe(colmenu%,gridcol%)
 3589gridcol%=subsel%
 3590PROCse(colmenu%,gridcol%)
 3591PROCfe(tbar%,5,1<<21,1<<21)
 3592PROCec
 3593ENDIF
 3594WHEN 3
 3595PROCfe(tbar%,6,1<<21,0<<21)
 3596PROCzd
 3597WHEN 4
 3598PROCfe(tbar%,7,1<<21,0<<21)
 3599PROCme
 3600WHEN 5
 3601CASE manner% OF
 3602WHEN 0,1:PROCcb
 3603WHEN 2:PROCpe
 3604ENDCASE
 3605WHEN 6
 3606PROCnb
 3607WHEN 7
 3608CASE subsel% OF
 3609WHEN 0
 3610PROCfe(tbar%,9,1<<21,0<<21)
 3611PROCke
 3612WHEN 1
 3613PROCvd
 3614WHEN 2
 3615PROCcd
 3616WHEN 3
 3617PROCdd
 3618ENDCASE
 3619WHEN 8
 3620IF subsel%<>-1 THEN
 3621PROCwe(colmenu%,backcol%)
 3622backcol%=subsel%
 3623PROCse(colmenu%,backcol%)
 3624ENDIF
 3625PROCla
 3626ENDCASE
 3627WHEN rulermenu%
 3628IF subsel%<>-1 THEN
 3629PROCwe(colmenu%,rulerbcol%)
 3630rulerbcol%=subsel%
 3631PROCse(colmenu%,rulerbcol%)
 3632CASE rulerbcol% OF
 3633WHEN 4,5,6,7,8,10,11,13
 3634rulerfcol%=0
 3635OTHERWISE
 3636rulerfcol%=7
 3637ENDCASE
 3638toprule%=FNt(toprule%): PROCld
 3639botrule%=FNt(botrule%): PROCld
 3640leftrule%=FNt(leftrule%): PROCld
 3641rightrule%=FNt(rightrule%): PROCld
 3642ENDIF
 3643WHEN maskmenu%
 3644CASE sel% OF
 3645WHEN 0
 3646PROCfe(tbar%,9,1<<21,0<<21)
 3647PROCke
 3648WHEN 1
 3649PROCvd
 3650WHEN 2
 3651PROCcd
 3652WHEN 3
 3653PROCdd
 3654ENDCASE
 3655WHEN dmenu%
 3656CASE sel% OF
 3657WHEN 1
 3658CASE subsel% OF
 3659WHEN 0
 3660IF editcreated%=TRUE THEN
 3661PROCka("Changing to grid only will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",2)
 3662ELSE
 3663PROCqa
 3664ENDIF
 3665WHEN 1
 3666IF editcreated%=TRUE THEN
 3667PROCka("Changing to grid & picture will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",3)
 3668ELSE
 3669PROCra
 3670ENDIF
 3671WHEN 2
 3672IF editcreated%=TRUE THEN
 3673PROCka("Changing to Punchcard will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",10)
 3674ELSE
 3675PROCta
 3676ENDIF
 3677ENDCASE
 3678WHEN 2
 3679CASE subsel% OF
 3680WHEN 0
 3681IF editcreated%=TRUE THEN
 3682PROCka("Changing to inches will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",4)
 3683ELSE
 3684PROCsa
 3685ENDIF
 3686WHEN 1
 3687IF editcreated%=TRUE THEN
 3688PROCka("Changing to cm will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",5)
 3689ELSE
 3690PROCpa
 3691ENDIF
 3692ENDCASE
 3693WHEN 3
 3694IF INSTR(state_file$,".")<>0 THEN
 3695PROCce(state_file$)
 3696ELSE
 3697PROCie(3)
 3698SYS &000400CF,,block%
 3699PROCle(savebox%,mx%-64,my%)
 3700ENDIF
 3701ENDCASE
 3702ENDCASE
 3703IF button%=1 THEN PROCle(menuopen%,0,0)
 3704ENDPROC
 3705:
 3706DEF PROCva
 3707IF RIGHT$($maintitle%)="*" THEN
 3708PROCka("There is unsaved work in EasyKnit. Do you want to Discard it or Cancel the Quit?","Discard","Cancel",8)
 3709ELSE
 3710exit%=TRUE
 3711ENDIF
 3712ENDPROC
 3713:
 3714DEF PROCgd
 3715LOCAL mx%,my%,han%,len%,counter%,icon%
 3716CASE block%!16 OF
 3717WHEN 0: PROCva
 3718WHEN 2: PROCeb
 3719WHEN 3:
 3720CASE block%!40 OF
 3721WHEN &0F0
 3722counter%=block%+44
 3723WHILE ?counter%<>0
 3724counter%+=1:ENDWHILE
 3725?counter%=13
 3726data_infile$=$(block%+44)
 3727IF editcreated%=TRUE THEN
 3728PROCka("Loading that will cause any current work to be lost. Are you sure you wish to do that?","Continue","Cancel",1)
 3729ELSE
 3730PROCqc(0)
 3731ENDIF
 3732WHEN &AFF
 3733counter%=block%+44
 3734WHILE ?counter%<>0
 3735counter%+=1:ENDWHILE
 3736?counter%=13
 3737pathfile$=$(block%+44)
 3738IF editcreated%=TRUE THEN
 3739PROCka("Changing that will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",6)
 3740ELSE
 3741PROCpc
 3742ENDIF
 3743WHEN &FF9
 3744counter%=block%+44
 3745WHILE ?counter%<>0
 3746counter%+=1:ENDWHILE
 3747?counter%=13
 3748pathfile$=$(block%+44)
 3749IF editcreated%=TRUE THEN
 3750PROCka("Changing that will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",0)
 3751ELSE
 3752PROCrc
 3753ENDIF
 3754ENDCASE
 3755WHEN 5:
 3756IF block%!40=&0F0 THEN
 3757PROCoc
 3758
 3759counter%=block%+44
 3760WHILE ?counter%<>0
 3761counter%+=1:ENDWHILE
 3762?counter%=13
 3763data_infile$=$(block%+44)
 3764IF editcreated%=TRUE THEN
 3765PROCka("Loading that will cause any current work to be lost. Are you sure you wish to do that?","Continue","Cancel",1)
 3766ELSE
 3767PROCqc(0)
 3768ENDIF
 3769ENDIF
 3770WHEN 10
 3771
 3772han%=block%!20
 3773SYS &00000023,"EasyKnit$Dir",block%+512,256,0,0 TO ,,len%
 3774block%?(512+len%)=13
 3775BPUT#han%,"Run "+$(block%+512)
 3776WHEN &400C0
 3777losecaret%=FALSE
 3778IF (menuopen%=dmenu% AND block%!32=3) OR (menuopen%=imenu% AND block%!32=1) OR (menuopen%=emenu% AND block%!32=0) THEN
 3779mx%=block%!24: my%=block%!28
 3780IF block%!36=0 THEN PROCie(1)
 3781IF block%!36=1 THEN PROCie(2)
 3782IF block%!36=2 THEN PROCie(3)
 3783block%!20=savebox%
 3784block%!24=mx%: block%!28=my%
 3785ENDIF
 3786IF menuopen%=emenu% THEN
 3787CASE block%!32 OF
 3788WHEN 1
 3789block%!100=zoom%
 3790SYS &000400CC,,block%+100
 3791SYS &000400C3,,block%+100
 3792block%!132=((block%!132) AND NOT (1<<25))
 3793SYS &000400C1,,block%+104 TO zoom%
 3794block%!20=zoom%
 3795$sclmul%=STR$edmul%
 3796$scldiv%=STR$eddiv%
 3797WHEN 2
 3798FOR counter%=0 TO 15
 3799PROCwe(colmenu%,counter%)
 3800NEXT counter%
 3801PROCse(colmenu%,gridcol%)
 3802WHEN 8
 3803FOR counter%=0 TO 15
 3804PROCwe(colmenu%,counter%)
 3805NEXT counter%
 3806PROCse(colmenu%,backcol%)
 3807WHEN 10
 3808losecaret%=NOT(FNu)
 3809ENDCASE
 3810ENDIF
 3811IF (menuopen%=emenu% AND block%!32=9) OR (menuopen%=dmenu% AND block%!32=0) THEN
 3812$projname%=$patstore%
 3813$roffset%=$(patstore%+100)
 3814$tframeh%=$(patstore%+105)
 3815$tframew%=$(patstore%+110)
 3816IF patstore%?115=255 THEN
 3817PROCfe(pattern%,12,1<<21,1<<21)
 3818PROCfe(pattern%,13,0<<21,1<<21)
 3819ELSE
 3820PROCfe(pattern%,12,0<<21,1<<21)
 3821PROCfe(pattern%,13,1<<21,1<<21)
 3822ENDIF
 3823ENDIF
 3824IF menuopen%=rulermenu% THEN
 3825FOR counter%=0 TO 15
 3826PROCwe(colmenu%,counter%)
 3827NEXT counter%
 3828PROCse(colmenu%,rulerbcol%)
 3829ENDIF
 3830SYS &000400E8,,block%!20,block%!24,block%!28
 3831IF losecaret%=TRUE THEN SYS &000400D2,carb%!0,carb%!4,carb%!8,carb%!12,carb%!16,carb%!20
 3832WHEN 9,&400C1
 3833PROChd
 3834WHEN &502
 3835IF helpon%=TRUE THEN
 3836block%!40=block%!32
 3837han%=block%!32
 3838icon%=block%!36
 3839PROCfc(han%,icon%)
 3840ENDIF
 3841ENDCASE
 3842ENDPROC
 3843:
 3844DEF PROCde(message$)
 3845block%!12=block%!8
 3846block%!16=&503
 3847$(block%+20)=message$
 3848!block%=256
 3849SYS &000400E7,17,block%,block%!4
 3850ENDPROC
 3851:
 3852DEF PROCmc
 3853LOCAL key%,icon%,whan%,processed%,mx%,my%,keepcaret%,zero%,gridfigs%
 3854whan%=block%!0
 3855icon%=block%!4
 3856key%=block%!24
 3857processed%=FALSE
 3858CASE whan% OF
 3859WHEN ask%
 3860IF key%=13 THEN
 3861block%!0=0
 3862block%!4=0
 3863block%!8=4
 3864block%!12=ask%
 3865block%!16=0
 3866PROCid
 3867ENDIF
 3868processed%=TRUE
 3869editcreated%=FALSE
 3870WHEN print%
 3871IF key%=13 THEN
 3872PROCfe(print%,11,1<<21,1<<21)
 3873PROCrd
 3874PROCfe(print%,11,0<<21,1<<21)
 3875SYS &000400D4,,-1
 3876processed%=TRUE
 3877ENDIF
 3878CASE icon% OF
 3879WHEN 5
 3880PROCsd
 3881ENDCASE
 3882WHEN pattern%
 3883IF key%=13 AND icon%=11 THEN PROCoa(pattern%,8,LEN$patstore%)
 3884WHEN colcreate%
 3885CASE key% OF
 3886WHEN &18F,&19A
 3887IF editcol%>0 THEN
 3888PROCfe(colpane%,editcol%*3+1,0<<21,1<<21)
 3889editcol%-=1
 3890PROCfe(colpane%,editcol%*3+1,1<<21,1<<21)
 3891$cname%=$(nametable%+editcol%*13)
 3892PROCfe(colcreate%,3,0,0)
 3893PROCoa(colcreate%,3,LEN$cname%)
 3894ELSE
 3895VDU 7
 3896ENDIF
 3897WHEN &18E,&18A,13
 3898IF editcol%<maxcol% THEN
 3899PROCfe(colpane%,editcol%*3+1,0<<21,1<<21)
 3900editcol%+=1
 3901PROCfe(colpane%,editcol%*3+1,1<<21,1<<21)
 3902$cname%=$(nametable%+editcol%*13)
 3903PROCfe(colcreate%,3,0,0)
 3904PROCoa(colcreate%,3,LEN$cname%)
 3905ELSE
 3906VDU 7
 3907ENDIF
 3908OTHERWISE
 3909IF  editcol%<>-2 THEN
 3910$(nametable%+(editcol%*13))=$cname%
 3911PROCfe(colchoose%,editcol%*3+8,0,0)
 3912PROCfe(colpane%,editcol%*3+2,0,0)
 3913ELSE
 3914PROCwd("Please select a colour")
 3915ENDIF
 3916ENDCASE
 3917WHEN zoom%
 3918CASE icon% OF
 3919WHEN 0
 3920CASE key% OF
 3921WHEN 13,&18E,&18F,&18A,&19A
 3922IF VAL$sclmul%>8 THEN $sclmul%="8":PROCfe(zoom%,0,0,0)
 3923PROCoa(zoom%,1,LEN$scldiv%)
 3924ENDCASE
 3925WHEN 1
 3926CASE key% OF
 3927WHEN 13
 3928IF VAL$sclmul%>8 THEN $sclmul%="8":PROCfe(zoom%,0,0,0)
 3929IF VAL$scldiv%>8 THEN $scldiv%="8":PROCfe(zoom%,1,0,0)
 3930PROCcf
 3931PROCza(zoom%)
 3932SYS &000400D4,,-1
 3933WHEN &18E,&18F,&18A,&19A
 3934PROCoa(zoom%,0,LEN$sclmul%)
 3935ENDCASE
 3936processed%=TRUE
 3937ENDCASE
 3938WHEN savebox%
 3939IF key%=13 AND icon%=1 THEN adjust%=FALSE:PROCtd:processed%=TRUE
 3940WHEN edit%
 3941CASE key% OF
 3942WHEN 27
 3943IF copy%=TRUE THEN PROCpb
 3944WHEN &183
 3945PROCie(3)
 3946SYS &000400CF,,block%
 3947mx%=block%!0
 3948my%=block%!4
 3949PROCle(savebox%,mx%-64,my%)
 3950icon%=60000
 3951processed%=TRUE
 3952WHEN &193
 3953PROCie(1)
 3954SYS &000400CF,,block%
 3955mx%=block%!0
 3956my%=block%!4
 3957PROCle(savebox%,mx%-64,my%)
 3958icon%=60000
 3959processed%=TRUE
 3960WHEN &1A3
 3961PROCie(2)
 3962SYS &000400CF,,block%
 3963mx%=block%!0
 3964my%=block%!4
 3965PROCle(savebox%,mx%-64,my%)
 3966icon%=60000
 3967processed%=TRUE
 3968WHEN &180
 3969SYS &000400CF,,block%
 3970mx%=block%!0
 3971my%=block%!4
 3972keepcaret%=FNu
 3973PROCle(print%,mx%-64,my%)
 3974icon%=60000
 3975processed%=TRUE
 3976IF NOT keepcaret% THEN SYS &000400D2,carb%!0,carb%!4,carb%!8,carb%!12,carb%!16,carb%!20
 3977ENDCASE
 3978WHEN main%
 3979CASE key% OF
 3980WHEN &193
 3981
 3982icon%=60000
 3983processed%=TRUE
 3984WHEN &183
 3985
 3986PROCie(3)
 3987SYS &000400CF,,block%
 3988mx%=block%!0
 3989my%=block%!4
 3990PROCle(savebox%,mx%-64,my%)
 3991processed%=TRUE
 3992icon%=60000
 3993ENDCASE
 3994CASE icon% OF
 3995WHEN 15,16,17,18,46
 3996CASE key% OF
 3997WHEN &18E,&18A,13
 3998processed%=TRUE
 3999icon%+=1
 4000IF icon%>46 THEN icon%=15
 4001IF icon%>18 THEN icon%=46
 4002block%!0=main%: block%!4=icon%
 4003SYS &000400CE,,block%
 4004PROCoa(main%,icon%,LEN$(block%!28))
 4005WHEN &18F,&19A
 4006processed%=TRUE
 4007icon%-=1
 4008IF icon%<15 THEN icon%=46
 4009IF icon%<46 AND icon%>18 THEN icon%=18
 4010block%!0=main%: block%!4=icon%
 4011SYS &000400CE,,block%
 4012PROCoa(main%,icon%,LEN$(block%!28))
 4013WHEN &7F,&18B,&19B,&1AB
 4014IF icon%<>46 THEN PROCxd
 4015processed%=TRUE
 4016OTHERWISE
 4017IF key%>32 AND key%<&180 AND icon%<>46 THEN PROCxd
 4018IF key%<>&1CC THEN processed%=TRUE
 4019ENDCASE
 4020zero%=FNe
 4021IF FNn(editmenu%,1) THEN
 4022IF zero%=FALSE THEN
 4023PROCcc(1)
 4024PROCre(5)
 4025PROCya
 4026ELSE
 4027IF pictype$="none" THEN
 4028PROCre(1)
 4029PROCcc(1)
 4030ELSE
 4031IF VAL($conv_rows%)<>0 THEN
 4032PROCre(6)
 4033PROCcc(0)
 4034ELSE
 4035PROCre(2)
 4036PROCcc(1)
 4037PROCed(3)
 4038ENDIF
 4039ENDIF
 4040ENDIF
 4041stitch_width=0
 4042row_height=0
 4043IF VAL$(tension_sq_stitches%)<>0 THEN stitch_width=VAL$(tension_sq_width%)/VAL$(tension_sq_stitches%)
 4044IF VAL$(tension_sq_rows%)<>0 THEN row_height=VAL$(tension_sq_height%)/VAL$(tension_sq_rows%)
 4045$ans_conv_rows%=FNs(conv_rows%,row_height): PROCfe(main%,20,0,0)
 4046$conv_rows%=FNq(VAL$(ans_conv_rows%),row_height): PROCfe(main%,19,0,0)
 4047$ans_conv_stitches%=FNs(conv_stitches%,stitch_width): PROCfe(main%,22,0,0)
 4048$conv_stitches%=FNq(VAL$(ans_conv_stitches%),stitch_width): PROCfe(main%,21,0,0)
 4049IF FNl(main%,37) THEN
 4050$gheight%=LEFT$(STR$(row_height),5) : PROCfe(main%,31,0,0)
 4051PROCfe(main%,31,1<<22,1<<22)
 4052$gwidth%=LEFT$(STR$(stitch_width),5) : PROCfe(main%,32,0,0)
 4053PROCfe(main%,32,1<<22,1<<22)
 4054ENDIF
 4055ELSE
 4056IF zero%=FALSE THEN
 4057PROCcc(1)
 4058PROCre(5)
 4059ELSE
 4060gridfigs%=FNc
 4061IF gridfigs%=FALSE THEN
 4062PROCcc(1)
 4063PROCre(4)
 4064ELSE
 4065PROCcc(0)
 4066PROCre(6)
 4067ENDIF
 4068ENDIF
 4069IF VAL$(tension_sq_stitches%)<>0 THEN stitch_width=VAL$(tension_sq_width%)/VAL$(tension_sq_stitches%)
 4070IF VAL$(tension_sq_rows%)<>0 THEN row_height=VAL$(tension_sq_height%)/VAL$(tension_sq_rows%)
 4071IF FNl(main%,37) THEN
 4072$gheight%=LEFT$(STR$(row_height),5) : PROCfe(main%,31,0,0)
 4073PROCfe(main%,31,1<<22,1<<22)
 4074$gwidth%=LEFT$(STR$(stitch_width),5) : PROCfe(main%,32,0,0)
 4075PROCfe(main%,32,1<<22,1<<22)
 4076IF VAL$grows%<>0 THEN
 4077$conv_rows%=FNq(VAL$grows%,row_height)
 4078PROCfe(main%,19,0,0)
 4079ENDIF
 4080IF VAL$gstitches%<>0 THEN
 4081$conv_stitches%=FNq(VAL$gstitches%,stitch_width)
 4082PROCfe(main%,21,0,0)
 4083ENDIF
 4084ELSE
 4085IF VAL$conv_rows%<>0 THEN
 4086$ans_conv_rows%="0": PROCfe(main%,20,0,0)
 4087$conv_rows%="0.0": PROCfe(main%,19,0,0)
 4088$ans_conv_stitches%="0": PROCfe(main%,22,0,0)
 4089$conv_stitches%="0.0": PROCfe(main%,21,0,0)
 4090ENDIF
 4091ENDIF
 4092ENDIF
 4093WHEN 19,20,21,22
 4094CASE key% OF
 4095WHEN 13
 4096processed%=TRUE
 4097IF FNn(editmenu%,1) THEN
 4098IF VAL$conv_rows%<>0 THEN PROCmb
 4099ELSE
 4100gridfigs%=FNc
 4101IF gridfigs%=TRUE THEN
 4102PROCmb
 4103ELSE
 4104IF icon%=19 THEN PROCoa(main%,21,LEN$(conv_stitches%))
 4105IF icon%=21 THEN PROCoa(main%,29,LEN$(grows%))
 4106ENDIF
 4107ENDIF
 4108WHEN &18E,&18A
 4109processed%=TRUE
 4110IF FNn(editmenu%,1) THEN
 4111icon%+=1
 4112IF icon%>22 THEN icon%=19
 4113block%!0=main%: block%!4=icon%
 4114SYS &000400CE,,block%
 4115PROCoa(main%,icon%,LEN$(block%!28))
 4116ELSE
 4117IF icon%=19 THEN PROCoa(main%,21,LEN$(conv_stitches%))
 4118IF icon%=21 THEN PROCoa(main%,29,LEN$(grows%))
 4119ENDIF
 4120WHEN &18F,&19A
 4121processed%=TRUE
 4122IF FNn(editmenu%,1) THEN
 4123icon%-=1
 4124IF icon%<19 THEN icon%=22
 4125block%!0=main%: block%!4=icon%
 4126SYS &000400CE,,block%
 4127PROCoa(main%,icon%,LEN$(block%!28))
 4128ELSE
 4129IF icon%=19 THEN PROCoa(main%,30,LEN$(gstitches%))
 4130IF icon%=21 THEN PROCoa(main%,19,LEN$(conv_stitches%))
 4131ENDIF
 4132WHEN &7F,&18B,&19B,&1AB
 4133PROCxd
 4134processed%=TRUE
 4135OTHERWISE
 4136IF key%>32 AND key%<&180 THEN PROCxd
 4137IF key%<>&1CC THEN processed%=TRUE
 4138ENDCASE
 4139IF FNn(editmenu%,1) THEN
 4140IF icon%=19 THEN
 4141$ans_conv_rows%=FNs(conv_rows%,row_height)
 4142PROCfe(main%,20,0,0)
 4143$conv_stitches%=FNq(spx%*VAL$conv_rows%,1/spy%)
 4144PROCfe(main%,21,0,0)
 4145$ans_conv_stitches%=FNs(conv_stitches%,stitch_width)
 4146PROCfe(main%,22,0,0)
 4147ENDIF
 4148IF icon%=20 THEN
 4149$conv_rows%=FNq(VAL$ans_conv_rows%,row_height)
 4150PROCfe(main%,19,0,0)
 4151$conv_stitches%=FNq(spx%*VAL$conv_rows%,1/spy%)
 4152PROCfe(main%,21,0,0)
 4153$ans_conv_stitches%=FNs(conv_stitches%,stitch_width)
 4154PROCfe(main%,22,0,0)
 4155ENDIF
 4156IF icon%=21 THEN
 4157$ans_conv_stitches%=FNs(conv_stitches%,stitch_width)
 4158PROCfe(main%,22,0,0)
 4159$conv_rows%=FNq(spy%*VAL$conv_stitches%,1/spx%)
 4160PROCfe(main%,19,0,0)
 4161$ans_conv_rows%=FNs(conv_rows%,row_height)
 4162PROCfe(main%,20,0,0)
 4163ENDIF
 4164IF icon%=22 THEN
 4165$conv_stitches%=FNq(VAL$ans_conv_stitches%,stitch_width)
 4166PROCfe(main%,21,0,0)
 4167$conv_rows%=FNq(spy%*VAL$conv_stitches%,1/spx%)
 4168PROCfe(main%,19,0,0)
 4169$ans_conv_rows%=FNs(conv_rows%,row_height)
 4170PROCfe(main%,20,0,0)
 4171ENDIF
 4172zero%=FNe
 4173IF zero%=TRUE AND VAL$conv_rows%<>0 THEN
 4174PROCcc(0)
 4175PROCre(6)
 4176ELSE
 4177PROCcc(1)
 4178PROCre(2)
 4179ENDIF
 4180ELSE
 4181CASE icon% OF
 4182WHEN 19
 4183IF row_height<>0 THEN
 4184$grows%=FNs(conv_rows%,row_height)
 4185PROCfe(main%,29,0,0)
 4186ELSE
 4187$grows%="0"
 4188PROCfe(main%,29,0,0)
 4189ENDIF
 4190gridfigs%=FNc
 4191IF gridfigs%=FALSE THEN
 4192PROCcc(1)
 4193PROCre(4)
 4194ELSE
 4195PROCcc(0)
 4196PROCre(6)
 4197ENDIF
 4198WHEN 21
 4199IF stitch_width<>0 THEN
 4200$gstitches%=FNs(conv_stitches%,stitch_width)
 4201PROCfe(main%,30,0,0)
 4202ELSE
 4203$gstitches%=STR$0
 4204PROCfe(main%,30,0,0)
 4205ENDIF
 4206gridfigs%=FNc
 4207IF gridfigs%=FALSE THEN
 4208PROCcc(1)
 4209PROCre(4)
 4210ELSE
 4211PROCcc(0)
 4212PROCre(6)
 4213ENDIF
 4214ENDCASE
 4215ENDIF
 4216WHEN 29
 4217gridfigs%=FNc
 4218IF gridfigs%=FALSE THEN
 4219PROCcc(1)
 4220IF manner%<>2 THEN PROCre(4) ELSE PROCre(7)
 4221ELSE
 4222PROCcc(0)
 4223PROCre(6)
 4224ENDIF
 4225CASE key% OF
 4226WHEN &18E,&18A
 4227processed%=TRUE
 4228icon%=30
 4229block%!0=main%: block%!4=icon%
 4230SYS &000400CE,,block%
 4231PROCoa(main%,icon%,LEN$(block%!28))
 4232WHEN &18F,&19A
 4233processed%=TRUE
 4234IF FNl(main%,37) THEN
 4235icon%=21
 4236ELSE
 4237icon%=32
 4238ENDIF
 4239IF manner%=2 THEN icon%=30
 4240block%!0=main%: block%!4=icon%
 4241SYS &000400CE,,block%
 4242PROCoa(main%,icon%,LEN$(block%!28))
 4243WHEN 13
 4244gridfigs%=FNc
 4245IF gridfigs%=TRUE THEN
 4246PROCmb
 4247ELSE
 4248icon%=30
 4249block%!0=main%: block%!4=icon%
 4250SYS &000400CE,,block%
 4251PROCoa(main%,icon%,LEN$(block%!28))
 4252ENDIF
 4253WHEN &7F,&18B,&19B,&1AB
 4254PROCxd
 4255processed%=TRUE
 4256OTHERWISE
 4257IF key%>32 AND key%<&180 THEN PROCxd
 4258IF key%<>&1CC THEN processed%=TRUE
 4259ENDCASE
 4260IF FNl(main%,37) THEN
 4261$conv_rows%=FNq(VAL$grows%,row_height)
 4262PROCfe(main%,19,0,0)
 4263ENDIF
 4264WHEN 30
 4265gridfigs%=FNc
 4266IF gridfigs%=FALSE THEN
 4267PROCcc(1)
 4268IF manner%<>2 THEN PROCre(4) ELSE PROCre(7)
 4269ELSE
 4270PROCcc(0)
 4271PROCre(6)
 4272ENDIF
 4273CASE key% OF
 4274WHEN &18E,&18A
 4275processed%=TRUE
 4276IF FNl(main%,37) THEN
 4277icon%=19
 4278ELSE
 4279icon%=31
 4280ENDIF
 4281IF manner%=2 THEN icon%=29
 4282block%!0=main%: block%!4=icon%
 4283SYS &000400CE,,block%
 4284PROCoa(main%,icon%,LEN$(block%!28))
 4285WHEN &18F,&19A
 4286processed%=TRUE
 4287icon%=29
 4288block%!0=main%: block%!4=icon%
 4289SYS &000400CE,,block%
 4290PROCoa(main%,icon%,LEN$(block%!28))
 4291WHEN 13
 4292gridfigs%=FNc
 4293IF gridfigs%=TRUE THEN
 4294PROCmb
 4295ELSE
 4296IF FNl(main%,37) THEN
 4297icon%=19
 4298ELSE
 4299icon%=31
 4300ENDIF
 4301IF manner%=2 THEN icon%=29
 4302block%!0=main%: block%!4=icon%
 4303SYS &000400CE,,block%
 4304PROCoa(main%,icon%,LEN$(block%!28))
 4305ENDIF
 4306WHEN &7F,&18B,&19B,&1AB
 4307PROCxd
 4308processed%=TRUE
 4309OTHERWISE
 4310IF key%>32 AND key%<&180 THEN PROCxd
 4311processed%=TRUE
 4312ENDCASE
 4313IF FNl(main%,37) THEN
 4314$conv_stitches%=FNq(VAL$gstitches%,stitch_width)
 4315PROCfe(main%,21,0,0)
 4316ENDIF
 4317WHEN 31
 4318CASE key% OF
 4319WHEN &18E,&18A
 4320processed%=TRUE
 4321IF FNl(main%,37) THEN
 4322icon%=29
 4323ELSE
 4324icon%=32
 4325ENDIF
 4326block%!0=main%: block%!4=icon%
 4327SYS &000400CE,,block%
 4328PROCoa(main%,icon%,LEN$(block%!28))
 4329WHEN &18F,&19A
 4330processed%=TRUE
 4331icon%=30
 4332block%!0=main%: block%!4=icon%
 4333SYS &000400CE,,block%
 4334PROCoa(main%,icon%,LEN$(block%!28))
 4335WHEN 13
 4336gridfigs%=FNc
 4337IF gridfigs%=TRUE THEN
 4338PROCmb
 4339ELSE
 4340icon%=32
 4341block%!0=main%: block%!4=icon%
 4342SYS &000400CE,,block%
 4343PROCoa(main%,icon%,LEN$(block%!28))
 4344ENDIF
 4345WHEN &7F,&18B,&19B,&1AB
 4346PROCxd
 4347processed%=TRUE
 4348OTHERWISE
 4349IF key%>32 AND key%<&180 THEN PROCxd
 4350IF key%<>&1CC THEN processed%=TRUE
 4351ENDCASE
 4352WHEN 32
 4353gridfigs%=FNc
 4354IF gridfigs%=FALSE THEN
 4355PROCcc(1)
 4356PROCre(4)
 4357ELSE
 4358PROCcc(0)
 4359PROCre(6)
 4360ENDIF
 4361CASE key% OF
 4362WHEN &18E,&18A
 4363processed%=TRUE
 4364IF FNl(main%,37) THEN
 4365icon%=19
 4366ELSE
 4367icon%=29
 4368ENDIF
 4369block%!0=main%: block%!4=icon%
 4370SYS &000400CE,,block%
 4371PROCoa(main%,icon%,LEN$(block%!28))
 4372WHEN &18F,&19A
 4373processed%=TRUE
 4374IF FNl(main%,37) THEN
 4375icon%=29
 4376ELSE
 4377icon%=31
 4378ENDIF
 4379block%!0=main%: block%!4=icon%
 4380SYS &000400CE,,block%
 4381PROCoa(main%,icon%,LEN$(block%!28))
 4382WHEN 13
 4383gridfigs%=FNc
 4384IF gridfigs%=TRUE THEN
 4385PROCmb
 4386ELSE
 4387icon%=29
 4388block%!0=main%: block%!4=icon%
 4389SYS &000400CE,,block%
 4390PROCoa(main%,icon%,LEN$(block%!28))
 4391ENDIF
 4392WHEN &7F,&18B,&19B,&1AB
 4393PROCxd
 4394processed%=TRUE
 4395OTHERWISE
 4396IF key%>32 AND key%<&180 THEN PROCxd
 4397IF key%<>&1CC THEN processed%=TRUE
 4398ENDCASE
 4399ENDCASE
 4400ENDCASE
 4401IF NOT processed% THEN SYS &000400DC,key%
 4402ENDPROC
 4403:
 4404DEF FNc
 4405LOCAL ic%,gridfigs%
 4406CASE manner% OF
 4407WHEN 0,1
 4408gridfigs%=TRUE
 4409FOR ic%=29 TO 32
 4410block%!(0+1024)=main%: block%!(4+1024)=ic%
 4411SYS &000400CE,,block%+1024
 4412IF VAL$(block%!(28+1024))=0 THEN gridfigs%=FALSE
 4413NEXT ic%
 4414WHEN 2
 4415gridfigs%=FNd
 4416ENDCASE
 4417=gridfigs%
 4418:
 4419DEF FNe
 4420LOCAL icon%,zero%
 4421zero%=TRUE
 4422FOR icon%=15 TO 18
 4423block%!0=main%: block%!4=icon%
 4424SYS &000400CE,,block%
 4425IF VAL$(block%!28)=0 THEN zero%=FALSE
 4426NEXT icon%
 4427=zero%
 4428:
 4429DEF FNd
 4430LOCAL icon%,zero%
 4431zero%=TRUE
 4432FOR icon%=29 TO 30
 4433block%!0=main%: block%!4=icon%
 4434SYS &000400CE,,block%
 4435IF VAL$(block%!28)=0 THEN zero%=FALSE
 4436NEXT icon%
 4437=zero%
 4438:
 4439DEF PROCre(var%)
 4440CASE var% OF
 4441WHEN 0
 4442$disptext%="Fill in the stitches in the Edit window"
 4443WHEN 1
 4444$disptext%="Drag in a Sprite or Draw File"
 4445WHEN 2
 4446$disptext%="Set Desired Size of Picture"
 4447WHEN 3
 4448$disptext%="Save Out Data"
 4449WHEN 4
 4450$disptext%="Enter Grid Control Information"
 4451WHEN 5
 4452$disptext%="Enter Tension Square Measurements"
 4453WHEN 6
 4454$disptext%="Ready to Edit (Click on the Edit Button)"
 4455WHEN 7
 4456$disptext%="Enter size of punchcard grid"
 4457ENDCASE
 4458textdispvar%=var%
 4459PROCfe(main%,27,0,0)
 4460ENDPROC
 4461:
 4462DEF FNs(int%,real)
 4463LOCAL answer$,result%
 4464IF real=0 THEN
 4465result%=0
 4466ELSE
 4467result=VAL$(int%)/real
 4468result%=result
 4469IF result-result%>0.5 THEN result%+=1
 4470ENDIF
 4471answer$=STR$(result%)
 4472IF LEN(answer$)>4 THEN answer$=LEFT$(answer$,4)
 4473=answer$
 4474:
 4475DEF FNq(int,real)
 4476LOCAL result$,i%,final$,digit1%,digit2%,result%
 4477result%=int*real
 4478result$=STR$(int*real)
 4479i%=INSTR(result$,".")
 4480IF i%<>0 THEN
 4481i%+=1
 4482digit1%=VAL(MID$(result$,i%,1))
 4483i%+=1
 4484IF i%<=LEN(result$) THEN digit2%=VAL(MID$(result$,i%,1)) ELSE digit2%=1
 4485IF digit2%>5 THEN digit1%+=1
 4486IF digit1%=10 THEN result%+=1: digit1%=0
 4487final$=STR$(result%)+"."+STR$(digit1%)
 4488ELSE
 4489final$=result$+".0"
 4490ENDIF
 4491=final$
 4492:
 4493DEF PROCbb(factor%)
 4494LOCAL multi
 4495IF factor%=1 THEN
 4496multi=0.3937
 4497ELSE
 4498multi=2.54
 4499ENDIF
 4500IF VAL$(tension_sq_width%)<>0 THEN
 4501$tension_sq_width%=FNq(multi,VAL$tension_sq_width%)
 4502PROCfe(main%,15,0,0)
 4503ENDIF
 4504IF VAL$(tension_sq_height%)<>0 THEN
 4505$tension_sq_height%=FNq(multi,VAL$tension_sq_height%)
 4506PROCfe(main%,16,0,0)
 4507ENDIF
 4508IF VAL$(conv_rows%)<>0 THEN
 4509$conv_rows%=FNq(multi,VAL$conv_rows%)
 4510PROCfe(main%,19,0,0)
 4511ENDIF
 4512IF VAL$(conv_stitches%)<>0 THEN
 4513$conv_stitches%=FNq(multi,VAL$conv_stitches%)
 4514PROCfe(main%,21,0,0)
 4515ENDIF
 4516IF VAL$(gheight%)<>0 THEN
 4517$gheight%=LEFT$(STR$(multi*VAL$gheight%),5)
 4518PROCfe(main%,31,0,0)
 4519ENDIF
 4520IF VAL$(gwidth%)<>0 THEN
 4521$gwidth%=LEFT$(STR$(multi*VAL$gwidth%),5)
 4522PROCfe(main%,32,0,0)
 4523ENDIF
 4524IF VAL$(tension_sq_stitches%)<>0 THEN stitch_width=VAL$(tension_sq_width%)/VAL$(tension_sq_stitches%)
 4525IF VAL$(tension_sq_rows%)<>0 THEN row_height=VAL$(tension_sq_height%)/VAL$(tension_sq_rows%)
 4526ENDPROC
 4527:
 4528DEF PROCna
 4529CASE manner% OF
 4530WHEN 0
 4531stitchwidth=FNf(VAL$gwidth%)
 4532rowht=FNf(VAL$gheight%)
 4533stitchwidth%=INT(stitchwidth)
 4534rowht%=INT(rowht)
 4535gridwidth%=VAL$gstitches%
 4536gridheight%=VAL$grows%
 4537g%=0
 4538WHEN 1
 4539gridwidth%=VAL$ans_conv_stitches%
 4540gridheight%=VAL$ans_conv_rows%
 4541stitchwidth=FNf(stitch_width)
 4542rowht=FNf(row_height)
 4543stitchwidth%=INT(stitchwidth)
 4544rowht%=INT(rowht)
 4545g%=0
 4546ENDCASE
 4547stw%=INT((stitchwidth*edmul%)/eddiv%)
 4548rht%=INT((rowht*edmul%)/eddiv%)
 4549ENDPROC
 4550:
 4551DEF PROCjb(sprite$,icon%,whan%)
 4552LOCAL ox%,oy%
 4553!block%=whan%
 4554SYS &000400CB,,block%
 4555ox%=block%!4-block%!20
 4556oy%=block%!16-block%!24
 4557block%!4=icon%
 4558SYS &000400CE,,block%
 4559block%!8=ox%+block%!8
 4560block%!12=oy%+block%!12
 4561block%!16=ox%+block%!16
 4562block%!20=oy%+block%!20
 4563SYS&00042400,%11000101,1,sprite$,block%+8
 4564ENDPROC
 4565:
 4566DEF PROCie(type%)
 4567CASE type% OF
 4568WHEN 1
 4569
 4570savebox%=saveplus%
 4571!block%=savebox%:block%!4=0: SYS &000400CE,,block%: savespr%=block%!32
 4572savepath%=FNi(savebox%,1)
 4573$savespr%="Sfile_AFF"
 4574ftype%=&AFF
 4575savetype%=1: dragtype%=0
 4576fsize%=99
 4577IF draw_file$="" THEN $savepath%="Result" ELSE $savepath%=draw_file$
 4578$saveone%="Add heading"
 4579$savetwo%="Add Rulers"
 4580IF drawheader%=TRUE THEN PROCfe(savebox%,4,1<<21,1<<21) ELSE PROCfe(savebox%,4,0<<21,1<<21)
 4581IF drawrulers%=TRUE THEN PROCfe(savebox%,5,1<<21,1<<21) ELSE PROCfe(savebox%,5,0<<21,1<<21)
 4582WHEN 2
 4583
 4584savebox%=saveplus%
 4585!block%=savebox%:block%!4=0: SYS &000400CE,,block%: savespr%=block%!32
 4586savepath%=FNi(savebox%,1)
 4587$savespr%="Sfile_FFF"
 4588ftype%=&FFF
 4589savetype%=2: dragtype%=0
 4590fsize%=99
 4591$savepath%=pattern_file$
 4592$saveone%="Plain text"
 4593$savetwo%="Advance text"
 4594IF plaintext%=TRUE THEN
 4595PROCfe(savebox%,4,1<<21,1<<21)
 4596PROCfe(savebox%,5,0<<21,1<<21)
 4597ELSE
 4598PROCfe(savebox%,4,0<<21,1<<21)
 4599PROCfe(savebox%,5,1<<21,1<<21)
 4600ENDIF
 4601WHEN 3
 4602
 4603savebox%=save%
 4604!block%=savebox%:block%!4=0: SYS &000400CE,,block%: savespr%=block%!32
 4605savepath%=FNi(savebox%,1)
 4606$savespr%="Sfile_0F0"
 4607$savepath%=state_file$
 4608ftype%=&0F0
 4609savetype%=3: dragtype%=0
 4610fsize%=99
 4611ENDCASE
 4612ENDPROC
 4613:
 4614DEF PROCtd
 4615IF INSTR($savepath%,".") THEN
 4616PROCbe($savepath%)
 4617ELSE
 4618PROCwd("To save, drag the icon to a directory viewer")
 4619ENDIF
 4620ENDPROC
 4621:
 4622DEF PROCbe(fname$)
 4623CASE savetype% OF
 4624WHEN 1
 4625PROCzc
 4626IF block%!36>-1 THEN draw_file$=fname$
 4627PROCae(fname$,dfile%)
 4628dfile%=FNh(dfile%)
 4629IF FNn(editmenu%,0) THEN PROCte(0): PROCre(6)
 4630IF FNn(editmenu%,1) THEN PROCte(0): PROCre(6)
 4631WHEN 2
 4632IF block%!36>-1 THEN pattern_file$=fname$
 4633IF plaintext%=TRUE THEN
 4634PROCbd(fname$)
 4635ELSE
 4636PROCwc(fname$)
 4637ENDIF
 4638WHEN 3
 4639IF block%!36>-1 THEN state_file$=fname$
 4640PROCce(fname$)
 4641ENDCASE
 4642IF NOT adjust% THEN
 4643!block%=savebox%
 4644SYS &000400C6,,block%
 4645SYS &000400D4,,-1
 4646ENDIF
 4647ENDPROC
 4648:
 4649DEF PROClc
 4650SYS&00042401
 4651SYS &000400CF,,block%
 4652block%!20=block%!12
 4653block%!24=block%!16
 4654block%!28=block%!0
 4655block%!32=block%!4
 4656block%!36=fsize%
 4657block%!0=64:block%!12=0
 4658block%!16=1:block%!40=ftype%
 4659$(block%+44)=FNj($savepath%)
 4660SYS &000400E7,17,block%,block%!20,block%!24
 4661ENDPROC
 4662:
 4663DEF PROCoc
 4664block%!12=block%!8
 4665block%!16=4
 4666SYS &000400E7,17,block%,block%!4
 4667ENDPROC
 4668:
 4669DEF FNk(name$)
 4670WHILE INSTR(name$,".")
 4671name$=MID$(name$,INSTR(name$,".")+1)
 4672ENDWHILE
 4673=name$
 4674:
 4675DEF FNj(name$)
 4676WHILE INSTR(name$,".")
 4677name$=MID$(name$,INSTR(name$,".")+1)
 4678ENDWHILE
 4679=name$+CHR$(0)
 4680:
 4681DEF PROCeb
 4682LOCAL b%,a%,word%,fullname$
 4683fullname$=""
 4684FOR word%=0 TO 508 STEP 4:block%!(512+word%)=block%!word%:NEXT word%
 4685a%=0
 4686b%=block%?(44+a%)
 4687WHILE b%<>0
 4688fullname$+=CHR$(b%)
 4689a%+=1
 4690b%=block%?(44+a%)
 4691ENDWHILE
 4692IF block%!36>-1 THEN
 4693$savepath%=fullname$
 4694PROCfe(savebox%,1,0,0)
 4695PROCoa(savebox%,1,LEN$savepath%)
 4696ENDIF
 4697PROCbe(fullname$)
 4698FOR word%=0 TO 508 STEP 4:block%!word%=block%!(512+word%):NEXT word%
 4699block%!12=block%!8
 4700block%!16=3:!block%=256
 4701SYS &000400E7,18,block%,block%!20,block%!24
 4702ENDPROC
 4703:
 4704DEF PROChe(menu%,menunum%)
 4705LOCAL num%,width%,ptr%,i%,item$
 4706LOCAL DATA
 4707RESTORE +1
 4708DATA Menu#,1
 4709DATA EasyKnit
 4710DATA &00,info%,Info
 4711DATA &00,-1,Clear
 4712DATA &80,-1,Quit
 4713DATA Menu#,2
 4714DATA Save
 4715DATA &08,savebox%,Draw
 4716DATA &08,savebox%,Pattern
 4717DATA &88,savebox%,EasyKnit
 4718DATA Menu#,3
 4719DATA EasyKnit
 4720DATA &08,pattern%,Project Info
 4721DATA &00,editmenu%,Mode
 4722DATA &00,unitmenu%,Units
 4723DATA &80,smenu%,Save
 4724DATA Menu#,4
 4725DATA Edit
 4726DATA &00,smenu%,Save
 4727DATA &08,zoom%,Zoom
 4728DATA &08,colmenu%,Grid Lines
 4729DATA &00,-1,Rulers
 4730DATA &00,-1,Show Picture
 4731DATA &00,-1,Select Colour
 4732DATA &00,-1,Edit Colours
 4733DATA &00,maskmenu%,Mask
 4734DATA &08,colmenu%,Background
 4735DATA &08,pattern%,Project Info
 4736DATA &88,print%,Print
 4737DATA Menu#,5
 4738DATA Colour
 4739DATA &00,-1,"0"
 4740DATA &00,-1,"1"
 4741DATA &00,-1,"2"
 4742DATA &00,-1,"3"
 4743DATA &00,-1,"4"
 4744DATA &00,-1,"5"
 4745DATA &00,-1,"6"
 4746DATA &00,-1,"7"
 4747DATA &00,-1,"8"
 4748DATA &00,-1,"9"
 4749DATA &00,-1,"10"
 4750DATA &00,-1,"11"
 4751DATA &00,-1,"12"
 4752DATA &00,-1,"13"
 4753DATA &00,-1,"14"
 4754DATA &80,-1,"15"
 4755DATA Menu#,6
 4756DATA Mask
 4757DATA &00,-1,Show masked stitches
 4758DATA &00,-1,Remove mask
 4759DATA &00,-1,All except current
 4760DATA &80,-1,Only current
 4761DATA Menu#,7
 4762DATA Mode
 4763DATA &00,-1,Grid only
 4764DATA &00,-1,Grid and picture
 4765DATA &80,-1,Punchcard
 4766DATA Menu#,8
 4767DATA Units
 4768DATA &00,-1,Use inches
 4769DATA &80,-1,Use centimeters
 4770DATA Menu#,9
 4771DATA Ruler
 4772DATA &88,colmenu%,Colour
 4773REPEAT
 4774REPEAT
 4775READ item$
 4776UNTIL item$="Menu#"
 4777READ num%
 4778UNTIL num%=menunum%
 4779READ $menu%
 4780width%=(LEN($menu%)-2)*16
 4781menu%!12=&00070207:menu%!20=44:menu%!24=0
 4782ptr%=menu%+28
 4783REPEAT
 4784READ !ptr%:READ ptr%!4
 4785ptr%!8=&7000021:READ item$
 4786IF (LEN(item$)+1)*16>width% THEN width%=(LEN(item$)+1)*16
 4787IF LEN(item$)<12 THEN
 4788$(ptr%+12)=item$
 4789ELSE
 4790ptr%!8=&7000121
 4791ptr%!12=menuindfree%: $menuindfree%=item$: menuindfree%+=LEN(item$)+1
 4792ptr%!16=menuind%: ptr%!20=LEN(item$)+1
 4793IF menuindfree%>menuind%+menuindsize% THEN ERROR 0,"Increase menuindsize% (in PROCinit)"
 4794ENDIF
 4795ptr%+=24
 4796UNTIL (!(ptr%-24) AND &80)<>0
 4797menu%!16=width%
 4798RESTORE DATA
 4799ENDPROC
 4800:
 4801DEFPROCgb(line%,mess$,var)
 4802mess$=LEFT$(mess$,14)
 4803var$=STR$(var)
 4804PROCfb(line%,mess$+STRING$(25-LEN(mess$)-LEN(var$)," ")+var$)
 4805ENDPROC
 4806:
 4807DEFPROCfb(line%,mess$)
 4808SYS &00000024,"db$mess","XX"
 4809SYS &00000024,"db$mess"+STR$(line%),mess$
 4810ENDPROC
 4811:
 4812DEF PROCma(berty$)
 4813LOCAL berty%
 4814berty%=OPENUP("<EasyKnit$Dir>.^.Berty")
 4815PTR#berty%=EXT#berty%
 4816BPUT#berty%,berty$
 4817CLOSE#berty%
 4818ENDPROC
 4819:
 4820DEF PROCzc
 4821LOCAL currentgroup%,dbuff%,ptr%,yh%,numb%,len%,i%
 4822ox%=200
 4823oy%=250
 4824dbuff%=80+12*(gridwidth%+3)+12*(gridheight%+3)+1024
 4825SYS &000406C0
 4826PROCna
 4827IF FNn(editmenu%,1) THEN
 4828CASE pictype$ OF
 4829WHEN "sprite"
 4830dbuff%+=(sarealen%+4)/4
 4831WHEN "draw"
 4832dbuff%+=drawlen%
 4833ENDCASE
 4834ENDIF
 4835dfile%=FNa("EasyKnit",dbuff%)
 4836PROCqe
 4837PROCoe("Group")
 4838IF FNn(editmenu%,1) THEN
 4839CASE pictype$ OF
 4840WHEN "sprite"
 4841
 4842FOR i%=0 TO !sourcespr%-4 STEP 4
 4843!(file_pointer%+8+i%)=sourcespr%!i%
 4844NEXT i%
 4845
 4846SYS &0000002E,&10D,file_pointer%+8,block%,&100,1 TO ,,,name_len%
 4847block%?name_len%=13
 4848sprite$=$block%
 4849
 4850SYS &0000002E,&118,file_pointer%+8,sprite$ TO ,,spraddr%
 4851
 4852SYS &0000002E,512+54,file_pointer%+8,spraddr%
 4853
 4854SYS &0000002E,&228,file_pointer%+8,spraddr% TO ,,,width%,height%,,mode%
 4855len%=!(file_pointer%+8+12)
 4856sprwidth%=FNf(stitch_width)*VAL$ans_conv_stitches%
 4857sprheight%=FNf(row_height)*VAL$ans_conv_rows%
 4858file_pointer%!0=5
 4859file_pointer%!4=len%+24
 4860file_pointer%!8=ox%<<8
 4861file_pointer%!12=oy%<<8
 4862file_pointer%!16=(ox%+sprwidth%)<<8
 4863file_pointer%!20=(oy%+sprheight%)<<8
 4864file_pointer%+=24+len%
 4865PROCha(ox%+sprwidth%,oy%+sprheight%)
 4866PROCye(ox%,oy%,ox%+sprwidth%,oy%+sprheight%)
 4867ENDCASE
 4868ENDIF
 4869PROCad
 4870mgstart%!4=file_pointer%-mgstart%
 4871ENDPROC
 4872:
 4873DEF FNf(cm)
 4874LOCAL factor
 4875IF FNn(unitmenu%,0) THEN
 4876factor=180
 4877ELSE
 4878factor=70.866
 4879ENDIF
 4880=cm*factor
 4881:
 4882DEF PROCad
 4883LOCAL totwidth$,tothigh$,unit$,txtpos%
 4884PROCne("griddivs")
 4885PROCgc
 4886PROCze
 4887PROCqb
 4888PROCne("gridlines")
 4889PROChc
 4890PROCaf
 4891PROCqb
 4892IF FNn(unitmenu%,0) THEN
 4893unit$=" in."
 4894ELSE
 4895unit$=" cm."
 4896ENDIF
 4897IF drawheader%=TRUE THEN
 4898PROCne("Text")
 4899IF FNn(editmenu%,0) THEN
 4900
 4901
 4902txtpos%=yh%+4*(FNf(VAL$gheight%))
 4903totwidth$=STR$(VAL$gstitches%*VAL$gwidth%)
 4904tothigh$=STR$(VAL$grows%*VAL$gheight%)
 4905PROCz(0,&FFFFFF00,1,32,32,ox%,txtpos%+315,$patstore%)
 4906PROCz(0,&FFFFFF00,1,20,20,ox%,txtpos%+250,("Grid "+$gstitches%+" Wide x "+$grows%+" High"))
 4907PROCz(0,&FFFFFF00,1,16,16,ox%,txtpos%+200,("Height of one Row = "+LEFT$($gheight%,5)+unit$))
 4908PROCz(0,&FFFFFF00,1,16,16,ox%,txtpos%+150,("Width of one Coulmn = "+LEFT$($gwidth%,5)+unit$))
 4909PROCz(0,&FFFFFF00,1,20,16,ox%,txtpos%+100,("Total grid size "+LEFT$(totwidth$,5)+unit$+" Wide by "+LEFT$(tothigh$,5)+unit$+" High"))
 4910ELSE
 4911
 4912txtpos%=(2*rowht)+yh%
 4913PROCz(0,&FFFFFF00,1,32,32,ox%,txtpos%+400,$patstore%)
 4914PROCz(0,&FFFFFF00,1,16,16,ox%,txtpos%+350,("Pattern "+$ans_conv_stitches%+" Stitches By "+$ans_conv_rows%+" Rows"))
 4915PROCz(0,&FFFFFF00,1,16,16,ox%,txtpos%+300,("Height of Row = "+LEFT$(STR$row_height,5)+unit$))
 4916PROCz(0,&FFFFFF00,1,16,16,ox%,txtpos%+250,("Width of Stitch = "+LEFT$(STR$stitch_width,5)+unit$))
 4917PROCz(0,&FFFFFF00,1,20,16,ox%,txtpos%+200,("Knitted size "+LEFT$($conv_stitches%,5)+unit$+" Wide By "+LEFT$($conv_rows%,5)+unit$+" High"))
 4918PROCz(0,&FFFFFF00,1,16,16,ox%,txtpos%+150,("Tension dial setting = "+$tdset%))
 4919ENDIF
 4920PROCqb
 4921ENDIF
 4922PROCia
 4923SYS &000406C1
 4924ENDPROC
 4925:
 4926DEF PROCqe
 4927PROCaa
 4928PROCx("Trinity.Medium")
 4929PROCx("Homerton.Medium.Oblique")
 4930ENDPROC
 4931:
 4932DEF PROChc
 4933LOCAL linenum%,c%,extra%,xl%,yl%,xh%
 4934xl%=ox%-2*stitchwidth: yl%=oy%
 4935xh%=xl%+gridwidth%*stitchwidth+4*stitchwidth
 4936yh%=yl%+gridheight%*rowht
 4937IF currentgroup%=TRUE THEN PROCxe(xl%,yl%,xh%,yh%)
 4938PROCye(xl%,yl%,xh%,yh%)
 4939linenum%=(gridheight%+1)/10
 4940PROCfa(-1,0,4<<8,2,xl%,yl%,xh%,yh%)
 4941extra%=1.5*stitchwidth
 4942FOR c%=0 TO linenum%
 4943PROCea(ox%-extra%,oy%+c%*rowht*10)
 4944PROCca(ox%+extra%+gridwidth%*stitchwidth,oy%+c%*rowht*10)
 4945NEXT c%
 4946PROCga
 4947ENDPROC
 4948:
 4949DEF PROCaf
 4950LOCAL linenum%,c%,xl%,yl%,xh%,yh%
 4951xl%=ox%: yl%=oy%-2*rowht
 4952xh%=xl%+gridwidth%*stitchwidth
 4953yh%=yl%+gridheight%*rowht+4*rowht
 4954IF currentgroup%=TRUE THEN PROCxe(xl%,yl%,xh%,yh%)
 4955PROCye(xl%,yl%,xh%,yh%)
 4956linenum%=(gridwidth%+1)/10
 4957PROCfa(-1,0,4<<8,2,xl%,yl%,xh%,yh%)
 4958extra%=1.5*rowht
 4959FOR c%=0 TO linenum%
 4960PROCea(ox%+c%*stitchwidth*10,oy%-extra%)
 4961PROCca(ox%+c%*stitchwidth*10,oy%+extra%+gridheight%*rowht)
 4962NEXT c%
 4963PROCga
 4964ENDPROC
 4965:
 4966DEF PROCgc
 4967LOCAL c%,extra%,xl%,yl%,xh%,yh%
 4968xl%=ox%-stitchwidth*g%: yl%=oy%-rowht
 4969xh%=xl%+gridwidth%*stitchwidth+2*stitchwidth*g%
 4970yh%=yl%+gridheight%*rowht+2*rowht*g%
 4971IF currentgroup%=TRUE THEN PROCxe(xl%,yl%,xh%,yh%)
 4972PROCye(xl%,yl%,xh%,yh%)
 4973PROCfa(-1,0,1<<8,2,xl%,yl%,xh%,yh%)
 4974FOR c%=-g% TO gridheight%+g%
 4975IF c% MOD 10<>0 THEN
 4976PROCea(ox%-stitchwidth*g%,oy%+c%*rowht)
 4977PROCca(ox%+(gridwidth%+1*g%)*stitchwidth,oy%+c%*rowht)
 4978ENDIF
 4979NEXT c%
 4980PROCga
 4981ENDPROC
 4982:
 4983DEF PROCze
 4984LOCAL c%,xl%,yl%,xh%,yh%
 4985xl%=ox%-stitchwidth*g%: yl%=oy%-rowht*g%
 4986xh%=xl%+gridwidth%*stitchwidth+2*stitchwidth*g%
 4987yh%=yl%+gridheight%*rowht+2*rowht*g%
 4988IF currentgroup%=TRUE THEN PROCxe(xl%,yl%,xh%,yh%)
 4989PROCye(xl%,yl%,xh%,yh%)
 4990PROCfa(-1,0,1<<8,2,xl%,yl%,xh%,yh%)
 4991FOR c%=-g% TO gridwidth%+g%
 4992IF c% MOD 10<>0 THEN
 4993PROCea(ox%+c%*stitchwidth,oy%-rowht*g%)
 4994PROCca(ox%+c%*stitchwidth,oy%+(gridheight%+1*g%)*rowht)
 4995ENDIF
 4996NEXT c%
 4997PROCga
 4998ENDPROC
 4999:
 5000DEF PROCia
 5001LOCAL bx%,by%,num%,linenum%,tby%,rbx%,p%
 5002IF drawrulers%=TRUE THEN
 5003PROCne("RulerBottom")
 5004bx%=ox%-30
 5005by%=oy%-2*rowht-38
 5006linenum%=(gridwidth%+1)/10
 5007FOR num%=0 TO linenum%
 5008PROCz(0,&FFFFFF00,2,16,16,bx%+num%*10*stitchwidth,by%,STR$(num%*10))
 5009NEXT num%
 5010PROCqb
 5011PROCne("RulerLHS")
 5012bx%=ox%-2*stitchwidth-30
 5013by%=oy%-10
 5014p%=0
 5015linenum%=(gridheight%+1)/10
 5016FOR num%=0 TO linenum%
 5017IF num%*10>9 THEN p%=25
 5018IF num%*10>99 THEN p%=45
 5019PROCz(0,&FFFFFF00,2,16,16,bx%-p%,by%+num%*10*rowht,STR$(num%*10))
 5020NEXT num%
 5021PROCqb
 5022PROCne("RulerTop")
 5023bx%=ox%-30
 5024tby%=oy%+gridheight%*rowht+2*rowht+13
 5025linenum%=(gridwidth%+1)/10
 5026FOR num%=0 TO linenum%
 5027PROCz(0,&FFFFFF00,2,16,16,bx%+num%*10*stitchwidth,tby%,STR$(num%*10))
 5028NEXT num%
 5029PROCqb
 5030PROCne("RulerRHS")
 5031by%=oy%-10
 5032rbx%=ox%+gridwidth%*stitchwidth+2*stitchwidth+10
 5033linenum%=(gridheight%+1)/10
 5034FOR num%=0 TO linenum%
 5035PROCz(0,&FFFFFF00,2,16,16,rbx%,by%+num%*10*rowht,STR$(num%*10))
 5036NEXT num%
 5037PROCqb
 5038ENDIF
 5039ENDPROC
 5040:
 5041DEF PROCae(filepath$,draw_file%)
 5042SYS &000406C0
 5043OSCLI("SAVE "+filepath$+" "+STR$~draw_file%+" "+STR$~file_pointer%)
 5044OSCLI("SetType "+filepath$+" &AFF")
 5045SYS &000406C1
 5046ENDPROC
 5047:
 5048DEF FNa(program_name$,words%)
 5049LOCAL i%,draw_file%
 5050IF draw_file%<>0 THEN
 5051draw_file%=FNh(draw_file%)
 5052draw_file%=FNb(40+4*words%)
 5053ELSE
 5054draw_file%=FNb(40+4*words%)
 5055IF draw_file%=0 THEN ERROR 0,"Sorry, not enough free RAM to create the file. Please try to make more available then try again."
 5056dfilestart%=draw_file%
 5057ENDIF
 5058file_length%=draw_file%+40+4*words% : file_pointer%=draw_file%+4
 5059$draw_file%="Draw"
 5060PROCw(201)
 5061PROCw(0)
 5062program_name$=LEFT$(program_name$,11)
 5063program_name$+=STRING$(11-LENprogram_name$," ")
 5064$(draw_file%+12)=program_name$
 5065file_pointer%+=12
 5066PROCba(0,0,0,0)
 5067=draw_file%
 5068:
 5069DEF PROCfa(Fill_Colour%,Line_Colour%,Line_Width%,Style%,xl%,yl%,xh%,yh%)
 5070LOCAL w%
 5071w%=(Line_Width%>>8)/2+(Line_Width%>>8) MOD 2
 5072object%=file_pointer%
 5073PROCw(2)
 5074PROCw(80)
 5075PROCba(xl%-w%,yl%-w%,xh%+w%+1,yh%+w%+1)
 5076PROCw(Fill_Colour%)
 5077PROCw(Line_Colour%)
 5078PROCw(Line_Width%)
 5079PROCw(Style%)
 5080ENDPROC
 5081:
 5082DEF PROCga
 5083LOCAL object_length%
 5084PROCw(0)
 5085object_length%=file_pointer%-object%
 5086object%!4=object_length%
 5087ENDPROC
 5088:
 5089DEF PROCw(x%)
 5090IF file_pointer%>file_length% THEN ERROR 0,"File buffer too short"
 5091!file_pointer%=x%
 5092file_pointer%+=4
 5093ENDPROC
 5094:
 5095DEF PROCba(xmin%,ymin%,xmax%,ymax%)
 5096PROCw(xmin%<<8)
 5097PROCw(ymin%<<8)
 5098PROCw(xmax%<<8)
 5099PROCw(ymax%<<8)
 5100PROCha(xmax%,ymax%)
 5101ENDPROC
 5102:
 5103DEF PROCha(x%,y%)
 5104IF x%>((dfile%!32)>>8) THEN dfile%!32=x%<<8
 5105IF y%>((dfile%!36)>>8) THEN dfile%!36=y%<<8
 5106ENDPROC
 5107:
 5108DEF PROCoe(groupname$)
 5109mgstart%=file_pointer%
 5110mgstart%!0=6
 5111mgstart%!4=0
 5112mgstart%!8=5000<<8
 5113mgstart%!12=50000<<8
 5114mgstart%!16=0
 5115mgstart%!20=0
 5116file_pointer%+=24
 5117groupname$=LEFT$(groupname$,11)
 5118groupname$+=STRING$(11-LENgroupname$," ")
 5119$(file_pointer%)=groupname$
 5120file_pointer%+=12
 5121ENDPROC
 5122:
 5123DEF PROCne(groupname$)
 5124currentgroup%=TRUE
 5125groupstart%=file_pointer%
 5126groupstart%!0=6
 5127groupstart%!4=0
 5128groupstart%!8=5000<<8
 5129groupstart%!12=50000<<8
 5130groupstart%!16=0
 5131groupstart%!20=0
 5132file_pointer%+=24
 5133groupname$=LEFT$(groupname$,11)
 5134groupname$+=STRING$(11-LENgroupname$," ")
 5135$(file_pointer%)=groupname$
 5136file_pointer%+=12
 5137ENDPROC
 5138:
 5139DEF PROCxe(lx%,ly%,hx%,hy%)
 5140IF lx%<((groupstart%!8)>>8) THEN groupstart%!8=lx%<<8
 5141IF ly%<((groupstart%!12)>>8) THEN groupstart%!12=ly%<<8
 5142IF hx%>((groupstart%!16)>>8) THEN groupstart%!16=(hx%+1)<<8
 5143IF hy%>((groupstart%!20)>>8) THEN groupstart%!20=(hy%+1)<<8
 5144ENDPROC
 5145:
 5146DEF PROCye(lx%,ly%,hx%,hy%)
 5147IF lx%<((mgstart%!8)>>8) THEN mgstart%!8=lx%<<8
 5148IF ly%<((mgstart%!12)>>8) THEN mgstart%!12=ly%<<8
 5149IF hx%>((mgstart%!16)>>8) THEN mgstart%!16=(hx%+1)<<8
 5150IF hy%>((mgstart%!20)>>8) THEN mgstart%!20=(hy%+1)<<8
 5151ENDPROC
 5152:
 5153DEF PROCqb
 5154currentgroup%=FALSE
 5155groupstart%!4=file_pointer%-groupstart%
 5156ENDPROC
 5157:
 5158DEF PROCea(x%,y%)
 5159PROCw(2) : PROCw(x%*256) : PROCw(y%*256)
 5160ENDPROC
 5161:
 5162DEF PROCca(x%,y%)
 5163PROCw(8) : PROCw(x%*256) : PROCw(y%*256)
 5164ENDPROC
 5165:
 5166DEF PROCz(Colour%,Hint%,Style%,xSize%,ySize%,x%,y%,Text$)
 5167LOCAL text_object%,wd%,ht%,dec%
 5168text_object%=file_pointer%
 5169PROCw(1)
 5170PROCw(0)
 5171PROCda(Style%,xSize%,ySize%,Text$,wd%,ht%,dec%)
 5172PROCba(x%,y%+dec%,x%+wd%,y%+ht%+dec%)
 5173PROCw(Colour%)
 5174PROCw(Hint%)
 5175PROCw(Style%)
 5176PROCw(xSize%*640)
 5177PROCw(ySize%*640)
 5178PROCw(x%<<8)
 5179PROCw(y%<<8)
 5180PROCy(Text$)
 5181text_object%!4=file_pointer%-text_object%
 5182IF currentgroup%=TRUE THEN PROCxe(x%,y%+dec%,x%+wd%+1,y%+ht%+dec%+1)
 5183PROCye(x%,y%+dec%,x%+wd%+1,y%+ht%+dec%+1)
 5184ENDPROC
 5185:
 5186DEF PROCda(font%,x%,y%,text$,RETURN wd%,RETURN ht%,RETURN dec%)
 5187LOCAL ptr%,font$,han%,char%,xl%,yl%,xh%,yh%
 5188ptr%=dfile%+40
 5189WHILE !ptr%<>0
 5190ptr%+=ptr%!4
 5191ENDWHILE
 5192ptr%+=8
 5193WHILE ?ptr%<>font%
 5194REPEAT
 5195ptr%+=1
 5196UNTIL ?ptr%=0
 5197WHILE ?ptr%=0
 5198ptr%+=1
 5199ENDWHILE
 5200ENDWHILE
 5201ptr%+=1
 5202font$=""
 5203WHILE ?ptr%<>0
 5204font$+=CHR$(?ptr%)
 5205ptr%+=1
 5206ENDWHILE
 5207SYS &00040081,,font$,x%*16,y%*16,0,0 TO han%
 5208block%!0=0
 5209block%!4=0
 5210block%!8=0
 5211block%!12=0
 5212block%!16=-1
 5213SYS &000400A1,han%,text$,(1<<5)+(1<<18),1<30,1<<30,block%,0,0
 5214SYS &00040088,,block%!20,block%!24 TO ,xl%,yl%
 5215SYS &00040088,,block%!28,block%!32 TO ,xh%,yh%
 5216dec%=yl%
 5217wd%=xh%-xl%
 5218ht%=yh%-yl%
 5219SYS &00040082,han%
 5220ENDPROC
 5221:
 5222DEF PROCaa
 5223font_object%=file_pointer%
 5224font_number%=1
 5225PROCw(0)
 5226PROCw(8)
 5227ENDPROC
 5228:
 5229DEF PROCx(font$)
 5230?file_pointer%=font_number%
 5231font_number%+=1
 5232file_pointer%+=1
 5233PROCy(font$)
 5234font_object%!4=file_pointer%-font_object%
 5235ENDPROC
 5236:
 5237DEF PROCy(string$)
 5238$file_pointer%=string$
 5239file_pointer%+=LENstring$
 5240?file_pointer%=0
 5241file_pointer%+=1
 5242WHILE file_pointer% MOD 4 <> 0
 5243?file_pointer%=0
 5244file_pointer%+=1
 5245ENDWHILE
 5246ENDPROC
 5247:
 5248DEF FNb(size%)
 5249size%+=0
 5250errflag%=0
 5251IF heap%=0 PROCge(size%+16)
 5252IF NOT errflag% THEN
 5253SYS &0002001D,1,heap% TO ,,free%
 5254IF free%<size% PROCyb(size%,1)
 5255IF NOT errflag% THEN
 5256SYS &0002001D,2,heap%,,size% TO ,,ptr%
 5257ENDIF
 5258ENDIF
 5259IF errflag% THEN =0 ELSE =ptr%
 5260:
 5261DEF FNh(ptr%)
 5262SYS &0002001D,3,heap%,ptr%
 5263PROCvc
 5264=0
 5265:
 5266DEF PROCvc
 5267LOCAL s%,flag%
 5268REPEAT
 5269SYS &0002001D,5,heap%,,-page% TO ,,,s%;flag%
 5270IF flag% AND 1 THEN
 5271SYS &0002001D,5,heap%,,s%
 5272ELSE
 5273SYS &000400EC,appsize%-page%,-1
 5274appsize%-=page%:heapsize%-=page%
 5275ENDIF
 5276UNTIL flag% AND 1
 5277ENDPROC
 5278:
 5279DEF PROCja(RETURN ptr%,size%)
 5280LOCAL flag%
 5281errflag%=0:REPEAT
 5282SYS &0002001D,4,heap%,ptr%,size% TO ,,ptr%;flag%
 5283IF flag% AND 1 PROCyb(page%,1)
 5284UNTIL (flag% AND 1)=0 OR errflag%=TRUE
 5285IF NOT errflag% THEN
 5286IF size%<0 PROCvc
 5287ENDIF
 5288ENDPROC
 5289:
 5290DEF PROCyb(mem%,x%)
 5291LOCAL new%
 5292SYS &000400EC,appsize%+mem%,-1 TO new%
 5293IF new%<appsize%+mem% THEN
 5294errflag%=TRUE
 5295SYS &000400EC,appsize%,-1
 5296ERROR 1<<30,"Not enough memory"
 5297ELSE
 5298IF x% SYS &0002001D,5,heap%,,new%-appsize%
 5299heapsize%=new%+&8000-HIMEM
 5300appsize%=new%
 5301ENDIF
 5302ENDPROC
 5303:
 5304DEF PROCge(initsize%)
 5305PROCyb(initsize%,0)
 5306IF NOT errflag% THEN
 5307heap%=HIMEM
 5308SYS &0002001D,0,heap%,,heapsize%
 5309ENDIF
 5310ENDPROC
 5311:
 5312:
 5313DEF PROCjc
 5314LOCAL f%
 5315fontdata%=FNb(&100)
 5316FOR f%=fontdata% TO fontdata%+252 STEP 4:!f%=0:NEXT
 5317ENDPROC
 5318:
 5319DEF PROCuc
 5320LOCAL f%
 5321FOR f%=0 TO 255
 5322WHILE fontdata%?f%>0
 5323fontdata%?f%-=1
 5324SYS &00040082,f%
 5325ENDWHILE
 5326NEXT
 5327fontdata%=FNh(fontdata%)
 5328ENDPROC
 5329:
 5330DEF FNp(a$)
 5331LOCAL a%,l%,s%
 5332a%=OPENINa$
 5333l%=EXT#a%+4
 5334CLOSE #a%
 5335s%=FNb(l%)
 5336!s%=l%
 5337SYS &0000002E,&10A,s%,a$
 5338=s%
 5339:
 5340DEF PROCee(block%,minx%,miny%,maxx%,maxy%)
 5341block%! 0=minx%
 5342block%! 4=miny%
 5343block%! 8=maxx%
 5344block%!12=maxy%
 5345ENDPROC
 5346:
 5347DEF PROCvb(RETURN x%,RETURN y%)
 5348LOCAL xp%,yp%
 5349SYS &00000035,-1,4  TO ,,xp%
 5350SYS &00000035,-1,5  TO ,,yp%
 5351SYS &00000035,-1,11 TO ,,x%
 5352SYS &00000035,-1,12 TO ,,y%
 5353x%=(x%+1)<<xp%
 5354y%=(y%+1)<<yp%
 5355ENDPROC
 5356:
 5357DEF PROCwb(block%,RETURN x%,RETURN y%)
 5358x%=block%!8-block%!0
 5359y%=block%!12-block%!4
 5360ENDPROC
 5361:
 5362DEF PROCmd(hand%)
 5363LOCAL x%,y%,wx%,wy%
 5364!block%=hand%
 5365SYS &000400CB,,block%
 5366PROCvb(x%,y%)
 5367PROCwb(block%+4,wx%,wy%)
 5368x%=x%>>1
 5369y%=y%>>1
 5370wx%=wx%>>1
 5371wy%=wy%>>1
 5372PROCee(block%+4,x%-wx%,y%-wy%,x%+wx%,y%+wy%)
 5373block%!28=-1
 5374SYS &000400C5,,block%
 5375ENDPROC
 5376:
 5377DEF PROCab
 5378block%!4500=titlewin%
 5379SYS &000400C3,,block%+4500
 5380titlewin%=0:mask%=mask% EOR 1
 5381PROCuc
 5382titlespr%=FNh(titlespr%)
 5383titleopen%=FALSE
 5384ENDPROC
 5385:
 5386DEF PROCfc(han%,icon%)
 5387LOCAL ptr%,len%,text$,i%,tok$
 5388CASE han% OF
 5389WHEN main%
 5390tok$="main"
 5391CASE icon% OF
 5392WHEN 19
 5393IF FNn(editmenu%,1) THEN tok$="main19a" ELSE tok$="main19b"
 5394icon%=-1
 5395WHEN 21
 5396IF FNn(editmenu%,1) THEN tok$="main21a" ELSE tok$="main21b"
 5397icon%=-1
 5398WHEN 25,26,29,30,33,34,35,36,50,51
 5399IF manner%=2 THEN tok$="mainpunch"
 5400ENDCASE
 5401WHEN pattern%
 5402tok$="pattern"
 5403CASE icon% OF
 5404WHEN 2,8,7,9,3,10,4,6,11,12,13,14,15
 5405OTHERWISE
 5406icon%=-1
 5407ENDCASE
 5408WHEN tbardisp%: tok$="tbardisp": icon%=-1
 5409WHEN zoom%: tok$="zoom": icon%=-1
 5410WHEN save%: tok$="save": icon%=-1
 5411WHEN print%: tok$="print"
 5412WHEN ask%: tok$="ask": icon%=-1
 5413WHEN report%: tok$="report": icon%=-1
 5414WHEN saveplus%
 5415tok$="saveplus"
 5416CASE icon% OF
 5417WHEN 4,5
 5418OTHERWISE
 5419icon%=-1
 5420ENDCASE
 5421WHEN info%: tok$="info": icon%=-1
 5422WHEN largepick%,smallpick%
 5423tok$="pic"
 5424IF icon%=18 THEN
 5425IF han%=largepick% THEN tok$="pic18a" ELSE tok$="pic18b"
 5426icon%=-1
 5427ENDIF
 5428WHEN colcreate%: tok$="colcreate"
 5429WHEN colchoose%
 5430tok$="colchoose"
 5431IF icon%>5 THEN icon%=-1
 5432WHEN colpane%: tok$="colpane": icon%=-1
 5433WHEN tbar%
 5434tok$="tbar"
 5435IF icon%<4 THEN icon%=-1
 5436IF manner%=2 AND (icon%=4 OR icon%=8 OR icon%=12 OR icon%=13) THEN tok$="tbarpunch"
 5437WHEN edit%,cornertl%,cornertr%,cornerbl%,cornerbr%
 5438tok$="edit": icon%=-1
 5439IF manner%=2 THEN  tok$="editpunch": icon%=-1
 5440WHEN -2: tok$="ibar": icon%=-1
 5441WHEN titlewin%: tok$="titlewin": icon%=-1
 5442WHEN toprule%,botrule%,leftrule%,rightrule%: tok$="ruler": icon%=-1
 5443OTHERWISE
 5444SYS &000400F4,0,block%+800
 5445sel%=block%!800: subsel%=block%!804
 5446subsubsel%=block%!808
 5447icon%=sel%
 5448CASE menuopen% OF
 5449WHEN imenu%
 5450tok$="imenu"
 5451WHENrulermenu%
 5452tok$="rulermenu" : icon%=-1
 5453WHEN emenu%
 5454tok$="emenu"
 5455CASE sel% OF
 5456WHEN 0
 5457CASE subsel% OF
 5458
 5459WHEN 0,1,2 : tok$="smenu": icon%=subsel%
 5460ENDCASE
 5461WHEN 2
 5462CASE subsel% OF
 5463
 5464WHEN 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 : tok$="gridcolmenu": icon%=-1
 5465ENDCASE
 5466WHEN 7
 5467CASE subsel% OF
 5468
 5469WHEN 0,1,2,3 : tok$="maskmenu": icon%=subsel%
 5470ENDCASE
 5471WHEN 8
 5472CASE subsel% OF
 5473
 5474WHEN 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 : tok$="bkgndcolmenu": icon%=-1
 5475ENDCASE
 5476ENDCASE
 5477WHEN dmenu%
 5478tok$="dmenu"
 5479CASE sel% OF
 5480WHEN 1
 5481CASE subsel% OF
 5482
 5483WHEN 0,1,2 : tok$="modemenu": icon%=subsel%
 5484ENDCASE
 5485WHEN 2
 5486CASE subsel% OF
 5487
 5488WHEN 0,1 : tok$="unitmenu": icon%=subsel%
 5489ENDCASE
 5490WHEN 3
 5491CASE subsel% OF
 5492
 5493WHEN 0,1,2 : tok$="smenu": icon%=subsel%
 5494ENDCASE
 5495ENDCASE
 5496ENDCASE
 5497ENDCASE
 5498IF icon%<>-1 THEN tok$=tok$+STR$(icon%)
 5499SYS &00041502,infobuff%,tok$,0 TO ,,ptr%,len%
 5500text$=""
 5501FOR i%=0 TO len%-1
 5502text$+=CHR$(ptr%?i%)
 5503NEXT i%
 5504PROCde(text$)
 5505ENDPROC
 5506:
 5507DEF PROCce(file$)
 5508LOCAL out%
 5509out%=OPENOUT (file$)
 5510PRINT#out%,$tension_sq_width%,$tension_sq_height%
 5511PRINT#out%,$tension_sq_stitches%,$tension_sq_rows%
 5512PRINT#out%,$tdset%
 5513PRINT#out%,$conv_rows%,$ans_conv_rows%
 5514PRINT#out%,$conv_stitches%,$ans_conv_stitches%
 5515PRINT#out%,manner%
 5516PRINT#out%,FNn(unitmenu%,0)
 5517PRINT#out%,$grows%,$gstitches%
 5518PRINT#out%,$gheight%,$gwidth%
 5519PRINT#out%,textdispvar%
 5520PRINT#out%,FNl(main%,37)
 5521PRINT#out%,FNl(main%,0)
 5522PRINT#out%,mastergrey%
 5523PRINT#out%,$patstore%,$(patstore%+100)
 5524PRINT#out%,$(patstore%+105),$(patstore%+110)
 5525PRINT#out%,patstore%?115
 5526PRINT#out%,$sclmul%,$scldiv%
 5527IF coltable%<>0 THEN
 5528PRINT#out%,1,gridwidth%*gridheight%
 5529SYS &0000000C,2,out%,coltable%,gridwidth%*gridheight%
 5530ELSE
 5531PRINT#out%,0,0
 5532ENDIF
 5533IF nametable%<>0 AND manner%<>2 THEN
 5534PRINT#out%,1,13*33
 5535SYS &0000000C,2,out%,nametable%,13*33
 5536ELSE
 5537PRINT#out%,0,0
 5538ENDIF
 5539IF paltable%<>0 THEN
 5540PRINT#out%,1,4*33
 5541SYS &0000000C,2,out%,paltable%, 4*33
 5542ELSE
 5543PRINT#out%,0,0
 5544ENDIF
 5545PRINT#out%,pictype$
 5546CASE pictype$ OF
 5547WHEN "sprite"
 5548PRINT#out%,!sourcespr%,sprite$,spriteon%
 5549SYS &0000000C,2,out%,sourcespr%,!sourcespr%
 5550WHEN "draw"
 5551PRINT#out%,drawlen%
 5552SYS &0000000C,2,out%,draw%,drawlen%
 5553ENDCASE
 5554PRINT#out%,FNn(emenu%,2)
 5555PRINT#out%,gridcol%
 5556PRINT#out%,backcol%
 5557PRINT#out%,maxcol%
 5558PRINT#out%,rulerbcol%
 5559PRINT#out%,rulerfcol%
 5560PRINT#out%,pagerulers%
 5561PRINT#out%,manner%
 5562CLOSE#out%
 5563OSCLI("SetType "+file$+" 0F0")
 5564PROCte(0)
 5565ENDPROC
 5566:
 5567DEF PROCdb
 5568LOCAL in%,var%,var1%,var2%,text%,var$,greyno%
 5569SYS &000406C0
 5570in%=OPENIN(state_file$)
 5571INPUT#in%,$tension_sq_width%,$tension_sq_height%: PROCfe(main%,15,0,0): PROCfe(main%,16,0,0)
 5572INPUT#in%,$tension_sq_stitches%,$tension_sq_rows%: PROCfe(main%,17,0,0): PROCfe(main%,18,0,0)
 5573INPUT#in%,$tdset%: PROCfe(main%,46,0,0)
 5574INPUT#in%,$conv_rows%,$ans_conv_rows%: PROCfe(main%,19,0,0): PROCfe(main%,20,0,0)
 5575INPUT#in%,$conv_stitches%,$ans_conv_stitches%: PROCfe(main%,21,0,0): PROCfe(main%,22,0,0)
 5576INPUT#in%,var%
 5577PROCwe(editmenu%,0)
 5578PROCwe(editmenu%,1)
 5579PROCwe(editmenu%,2)
 5580PROCse(editmenu%,var%)
 5581INPUT#in%,var%
 5582IF var%=0 THEN
 5583PROCse(unitmenu%,1)
 5584PROCwe(unitmenu%,0)
 5585$tsqtunit%="cm": PROCfe(main%,38,0,0)
 5586$tsqbunit%="cm": PROCfe(main%,39,0,0)
 5587$contunit%="cm": PROCfe(main%,48,0,0)
 5588$conbunit%="cm": PROCfe(main%,49,0,0)
 5589$grdtunit%="cm": PROCfe(main%,50,0,0)
 5590$grdbunit%="cm": PROCfe(main%,51,0,0)
 5591ELSE
 5592PROCse(unitmenu%,0)
 5593PROCwe(unitmenu%,1)
 5594$tsqtunit%="in": PROCfe(main%,38,0,0)
 5595$tsqbunit%="in": PROCfe(main%,39,0,0)
 5596$contunit%="in": PROCfe(main%,48,0,0)
 5597$conbunit%="in": PROCfe(main%,49,0,0)
 5598$grdtunit%="in": PROCfe(main%,50,0,0)
 5599$grdbunit%="in": PROCfe(main%,51,0,0)
 5600ENDIF
 5601INPUT#in%,$grows%,$gstitches%: PROCfe(main%,29,0,0): PROCfe(main%,30,0,0)
 5602INPUT#in%,$gheight%,$gwidth%: PROCfe(main%,31,0,0): PROCfe(main%,32,0,0)
 5603INPUT#in%,var%: PROCre(var%)
 5604INPUT#in%,var%
 5605IF var%=0 THEN
 5606PROCfe(main%,37,0<<21,1<<21)
 5607ELSE
 5608PROCfe(main%,37,1<<21,1<<21)
 5609stitch_width=0
 5610IF VAL$(tension_sq_stitches%)<>0 THEN stitch_width=VAL$(tension_sq_width%)/VAL$(tension_sq_stitches%)
 5611ENDIF
 5612INPUT#in%,var%
 5613IF var%=0 THEN
 5614PROCcc(0)
 5615ELSE
 5616PROCcc(1)
 5617ENDIF
 5618INPUT#in%,greyno%
 5619IF greyno%=5 THEN PROCac(0)
 5620PROCed(greyno%)
 5621INPUT#in%,$patstore%,$(patstore%+100) : PROCfe(pattern%,8,0,0): PROCfe(pattern%,9,0,0)
 5622INPUT#in%,$(patstore%+105),$(patstore%+110) : PROCfe(pattern%,10,0,0): PROCfe(pattern%,11,0,0)
 5623INPUT#in%,var%
 5624patstore%?115=var%
 5625IF var%=0 THEN
 5626PROCfe(pattern%,12,0<<21,1<<21)
 5627PROCfe(pattern%,13,1<<21,1<<21)
 5628ELSE
 5629PROCfe(pattern%,12,1<<21,1<<21)
 5630PROCfe(pattern%,13,0<<21,1<<21)
 5631ENDIF
 5632INPUT#in%,$sclmul%,$scldiv%: PROCfe(zoom%,0,0,0): PROCfe(zoom%,1,0,0)
 5633edmul%=VAL($sclmul%)
 5634eddiv%=VAL($scldiv%)
 5635INPUT#in%,var%,var1%
 5636IF var%=1 THEN
 5637coltable%=FNb(var1%+8)
 5638SYS &0000000C,4,in%,coltable%,var1%
 5639ELSE
 5640coltable%=0
 5641ENDIF
 5642INPUT#in%,var%,var1%
 5643IF var%=1 THEN
 5644nametable%=FNb(var1%)
 5645SYS &0000000C,4,in%,nametable%,var1%
 5646ELSE
 5647nametable%=0
 5648ENDIF
 5649INPUT#in%,var%,var1%
 5650IF var%=1 THEN
 5651paltable%=FNb(var1%)
 5652SYS &0000000C,4,in%,paltable%,var1%
 5653ELSE
 5654paltable%=0
 5655ENDIF
 5656INPUT#in%,pictype$
 5657CASE pictype$ OF
 5658WHEN "none"
 5659sourcespr%=0
 5660PROCfe(tbar%,7,1<<22,1<<22)
 5661PROCfe(tbar%,7,0<<21,1<<21)
 5662PROCfe(tbar%,5,0<<22,1<<22)
 5663PROCfe(tbar%,5,1<<21,1<<21)
 5664PROCfe(tbar%,9,0<<22,1<<22)
 5665PROCfe(tbar%,10,0<<22,1<<22)
 5666PROCwe(emenu%,4)
 5667PROCje(emenu%,4,1)
 5668WHEN "sprite"
 5669INPUT#in%,var%,sprite$,spriteon%
 5670PROCfe(tbar%,7,0<<22,1<<22)
 5671PROCfe(tbar%,5,0<<22,1<<22)
 5672PROCfe(tbar%,5,1<<21,1<<21)
 5673PROCfe(tbar%,9,0<<22,1<<22)
 5674PROCfe(tbar%,10,0<<22,1<<22)
 5675IF spriteon%=TRUE THEN
 5676PROCfe(tbar%,7,1<<21,1<<21)
 5677ELSE
 5678PROCfe(tbar%,7,0<<21,1<<21)
 5679ENDIF
 5680PROCse(emenu%,4)
 5681PROCje(emenu%,4,0)
 5682sourcespr%=FNb(var%)
 5683SYS &0000000C,4,in%,sourcespr%,var%
 5684sarealen%=!sourcespr%
 5685SYS &0000002E,&118,sourcespr%,sprite$ TO ,,sourceaddr%
 5686
 5687SYS &0000002E,&228,sourcespr%,sourceaddr% TO ,,,spx%,spy%,,mode%
 5688xe%=FNr(mode%,4)
 5689ye%=FNr(mode%,5)
 5690spx%=spx%<<xe%
 5691spy%=spy%<<ye%
 5692SYS &00040740,sourcespr%,sourceaddr%,-1,-1,0,1,0,0 TO ,,,,size%
 5693transtable%=FNb(size%)
 5694SYS &00040740,sourcespr%,sourceaddr%,-1,-1,transtable%,1,0,0
 5695WHEN "draw"
 5696INPUT#in%,drawlen%
 5697PROCfe(tbar%,7,0<<22,1<<22)
 5698PROCfe(tbar%,7,1<<21,1<<21)
 5699PROCfe(tbar%,5,0<<22,1<<22)
 5700PROCfe(tbar%,5,1<<21,1<<21)
 5701PROCfe(tbar%,9,0<<22,1<<22)
 5702PROCfe(tbar%,10,0<<22,1<<22)
 5703PROCse(emenu%,4)
 5704PROCje(emenu%,4,0)
 5705draw%=FNb(drawlen%)
 5706SYS &0000000C,4,in%,draw%,drawlen%
 5707drawx%=draw%!32-draw%!24
 5708drawy%=draw%!36-draw%!28
 5709drawxoffset%=draw%!24
 5710drawyoffset%=draw%!28
 5711spx%=drawx%>>8
 5712spy%=drawy%>>8
 5713ENDCASE
 5714INPUT#in%,var%
 5715PROCse(colmenu%,var%)
 5716INPUT#in%,gridcol%
 5717INPUT#in%,backcol%
 5718!block%=edit%
 5719SYS &000400CC,,block%
 5720SYS &000400C3,,block%
 5721?(block%+4+35)=backcol%
 5722SYS &000400C1,,block%+4 TO edit%
 5723CASE backcol% OF
 5724WHEN 4,5,6,7,8,10,11,13
 5725forecol%=0
 5726OTHERWISE
 5727forecol%=7
 5728ENDCASE
 5729INPUT#in%,maxcol%
 5730IF PTR#in%<>EXT#in% THEN
 5731INPUT#in%,rulerbcol%
 5732INPUT#in%,rulerfcol%
 5733INPUT#in%,pagerulers%
 5734toprule%=FNt(toprule%)
 5735botrule%=FNt(botrule%)
 5736leftrule%=FNt(leftrule%)
 5737rightrule%=FNt(rightrule%)
 5738IF pagerulers%=TRUE THEN
 5739PROCfe(tbar%,6,1<<21,1<<21)
 5740PROCse(emenu%,3)
 5741ELSE
 5742PROCfe(tbar%,6,0<<21,1<<21)
 5743PROCwe(emenu%,3)
 5744ENDIF
 5745INPUT#in%,manner%
 5746CASE manner% OF
 5747WHEN 0,1
 5748PROCje(emenu%,7,0)
 5749WHEN 2
 5750IF nametable%<>0 THEN nametable%=FNh(nametable%)
 5751IF symbstore%<>0 THEN symbstore%=FNh(symbstore%)
 5752IF symbpoint%<>0 THEN symbpoint%=FNh(symbpoint%)
 5753IF symbsize%<>0 THEN symbsize%=FNh(symbsize%)
 5754IF paltable%<>0 THEN paltable%=FNh(paltable%)
 5755IF draw%<>0 THEN draw%=FNh(draw%)
 5756IF sourcespr%<>0 THEN sourcespr%=FNh(sourcespr%)
 5757stw%=INT((30*edmul%)/eddiv%)
 5758rht%=INT((30*edmul%)/eddiv%)
 5759stitchwidth=stw%
 5760rowht=rht%
 5761gridwidth%=VAL$gstitches%
 5762gridheight%=VAL$grows%
 5763PROCsc
 5764PROCed(6)
 5765PROCse(editmenu%,2)
 5766PROCwe(editmenu%,0)
 5767PROCwe(editmenu%,1)
 5768PROCje(smenu%,0,1)
 5769PROCje(smenu%,1,1)
 5770spriteon%=FALSE
 5771editcreated%=TRUE
 5772PROCfe(tbar%,5,1<<22,1<<22)
 5773PROCfe(tbar%,5,1<<21,1<<21)
 5774PROCfe(tbar%,7,1<<22,1<<22)
 5775PROCfe(tbar%,7,0<<21,1<<21)
 5776PROCfe(tbar%,9,1<<22,1<<22)
 5777PROCfe(tbar%,10,1<<22,1<<22)
 5778PROCje(emenu%,4,1)
 5779PROCje(emenu%,7,1)
 5780PROCwe(emenu%,4)
 5781ENDCASE
 5782ENDIF
 5783CLOSE#in%
 5784IF starred%=TRUE THEN PROCte(0)
 5785SYS &000406C1
 5786ENDPROC
 5787:
 5788DEF PROCrd
 5789LOCAL pf%,w%,h%,rect%,trans%,plotat%,more%,f1%,f2%,f3%,min%,max%,col%
 5790LOCAL wx%,wy%,minx%,maxx%,miny%,maxy%,sminx%,smaxx%,sminy%,smaxy%,y%,xx%,xc%,yc%
 5791LOCAL tilex%,tiley%,prtranstable%,size%,Y0%,Y1%,X0%,X1%
 5792LOCAL dec%,wd%,ht%,pgrid%,psprite%,pstitches%,pmirror%,pgridw%,xoffset,prstitch%
 5793LOCAL scl%,nummin%,nummax%,num%
 5794pgrid%=FNl(print%,2)
 5795psprite%=FNl(print%,3)
 5796pstitches%=FNl(print%,4)
 5797pmirror%=FNl(print%,19)
 5798rect%=FNb(16): trans%=FNb(16)
 5799plotat%=FNb(8)
 5800prtranstable%=0
 5801SYS &000406C0
 5802pf%=OPENOUT("printer:")
 5803SYS &00080145,pf%,"EasyKnit"
 5804LOCAL ERROR
 5805ON ERROR LOCAL:RESTORE ERROR:PROCtc:ENDPROC
 5806SYS &00040081,,"Trinity.Medium",10*16,10*16 TO f1%
 5807SYS &00040081,,"Trinity.Medium",14*16,14*16 TO f2%
 5808SYS &00040081,,"Homerton.Medium.Oblique",8*16,8*16 TO f3%
 5809IF tilesw%=0 AND tilesh%=0 THEN
 5810xc%=(prw%-prpatw%)/2
 5811yc%=(prh%-prpath%)/2
 5812IF xc%<100 THEN xc%=100
 5813IF yc%<100 THEN yc%=100
 5814ELSE
 5815xc%=100
 5816yc%=100
 5817ENDIF
 5818titlex%=xc%+prpatw%/2-100
 5819titley%=yc%+prpath%-220
 5820!trans%=1<<16: trans%!4=0
 5821trans%!8=0: trans%!12=1<<16
 5822plotat%!0=prl%
 5823plotat%!4=prb%
 5824sminx%=0
 5825smaxx%=numstw%+2
 5826sminy%=0
 5827smaxy%=numsth%+2
 5828IF sminx%<0 THEN sminx%=0
 5829IF smaxx%>gridwidth% THEN smaxx%=gridwidth%
 5830IF sminy%<0 THEN sminy%=0
 5831IF smaxy%>gridheight% THEN smaxy%=gridheight%
 5832FOR tilex%=0 TO tilesw%
 5833FOR tiley%=0 TO tilesh%
 5834minx%=tilex%*numstw%*prstw-prstw
 5835miny%=tiley%*numsth%*prrht-prrht
 5836maxx%=xc%+minx%+numstw%*prstw+2*prstw+200
 5837maxy%=yc%+miny%+numsth%*prrht+2*prrht+200
 5838rect%!0=minx%
 5839rect%!4=miny%
 5840rect%!8=maxx%
 5841rect%!12=maxy%
 5842SYS &0008014B,0,rect%,trans%,plotat%,&FFFFFF00
 5843SYS &0008014C,1,block%,0,0 TO more%
 5844SYS &0004074F,,&FFFFFF00,0,6
 5845IF psprite%=TRUE AND pictype$="sprite" THEN
 5846SYS &00040740,sourcespr%,sourceaddr%,-1,-1,0,1,0,0 TO ,,,,size%
 5847IF prtranstable%<>0 THEN prtranstable%=FNh(prtranstable%)
 5848prtranstable%=FNb(size%)
 5849SYS &00040740,sourcespr%,sourceaddr%,-1,-1,prtranstable%,1,0,0
 5850ENDIF
 5851WHILE more%
 5852
 5853IF tiley%=tilesh% THEN
 5854SYS &0004008A,f2%
 5855PROCub($patstore%,f1%,dec%,wd%,ht%)
 5856SYS &00040086,,$patstore%,16,titlex%-wd%/2,titley%
 5857ENDIF
 5858IF psprite%=TRUE THEN
 5859CASE pictype$ OF
 5860WHEN "sprite"
 5861Y0%=(yc%+gridheight%*prrht)<<8
 5862Y1%=yc%<<8
 5863X0%=xc%<<8
 5864X1%=(xc%+gridwidth%*prstw)<<8
 5865IF FNl(print%,18)=TRUE THEN SWAP Y0%,Y1%
 5866IF pmirror%=TRUE THEN SWAP X0%,X1%
 5867block%!100=X0%
 5868block%!104=Y0%
 5869block%!108=X1%
 5870block%!112=Y0%
 5871block%!116=X1%
 5872block%!120=Y1%
 5873block%!124=X0%
 5874block%!128=Y1%
 5875
 5876SYS&0000002E,&238,sourcespr%,sourceaddr%,1,0,0,block%+100,prtranstable%
 5877WHEN "draw"
 5878scalex=((gridwidth%*prstw)<<8)/(drawx%-1)
 5879scaley=((gridheight%*prrht)<<8)/(drawy%-1)
 5880IF pmirror%=TRUE THEN scalex=-scalex
 5881block%!100 =scalex*65536
 5882block%!104 =0
 5883block%!108 =0
 5884block%!112=scaley*65536
 5885block%!116=(xc%<<8)-drawxoffset%*scalex
 5886IF pmirror%=TRUE THEN block%!116=block%!116-drawx%*scalex
 5887block%!120=(yc%<<8)-drawyoffset%*scaley
 5888
 5889SYS &00045540,0,draw%,drawlen%,block%+100,0
 5890ENDCASE
 5891ENDIF
 5892CASE manner% OF
 5893WHEN 0,1
 5894
 5895IF pstitches%=TRUE THEN
 5896pminx%=(block%!0-xc%)/prstw-1
 5897pminy%=(block%!4-yc%)/prrht-1
 5898pmaxx%=(block%!8-xc%)/prstw+1
 5899pmaxy%=(block%!12-yc%)/prrht+1
 5900IF pminx%<sminx% THEN pminx%=sminx%
 5901IF pmaxx%>smaxx% THEN pmaxx%=smaxx%
 5902IF pminy%<sminy% THEN pminy%=sminy%
 5903IF pmaxy%>smaxy% THEN pmaxy%=smaxy%
 5904y%=yc%-ypix%*(pgrid%=TRUE)
 5905xx%=xc%-xpix%*(pgrid%=TRUE)
 5906w%=pminx%
 5907WHILE w%<pmaxx%
 5908x%=xx%+w%*prstw+(pgrid%=TRUE)
 5909sw%=(w%+1)*prstw-w%*prstw+(pgrid%=TRUE)
 5910h%=pminy%
 5911WHILE h%<smaxy%
 5912rh%=(h%+1)*prrht-h%*prrht+(pgrid%=TRUE)
 5913IF pmirror%=TRUE THEN
 5914col%=coltable%?(h%*gridwidth%+gridwidth%-w%-1)
 5915ELSE
 5916col%=coltable%?(h%*gridwidth%+w%)
 5917ENDIF
 5918IFshowmask% col%=col%AND191
 5919IF(col%AND192)=0 THEN SYS ct_setgcol%,paltable%!((col%AND63)*4):RECTANGLEFILLx%,y%+h%*prrht+(pgrid%=TRUE),sw%,rh%
 5920h%+=1
 5921ENDWHILE
 5922w%+=1
 5923ENDWHILE
 5924ENDIF
 5925
 5926IF pgrid%=TRUE THEN
 5927SYS ct_setgcol%,FNv(gridcol%)
 5928
 5929yl%=yc%+sminy%*prrht: yh%=yc%+smaxy%*prrht
 5930FOR x%=sminx% TO smaxx%
 5931MOVE xc%+x%*prstw,yl%
 5932DRAW xc%+x%*prstw,yh%
 5933NEXT x%
 5934
 5935xl%=xc%+sminx%*prstw: xh%=xc%+smaxx%*prstw
 5936FOR y%=sminy% TO smaxy%
 5937MOVE xl%,yc%+y%*prrht
 5938DRAW xh%,yc%+y%*prrht
 5939NEXT y%
 5940SYS &0004008A,f1%
 5941
 5942IF minx%<100 THEN
 5943min%=sminy%
 5944max%=smaxy%
 5945IF min%<>0 THEN min%+=(5-(min%MOD5))
 5946SYS ct_setgcol%,0
 5947FOR row%=min% TO max% STEP 5
 5948x%=xc%
 5949y%=yc%+row%*prrht
 5950IF row% MOD 10=0 THEN
 5951PROCub(STR$(row%),f1%,dec%,wd%,ht%)
 5952SYS &00040086,,STR$(row%),16,x%-wd%-24,y%-ht%/2
 5953MOVE x%,y%
 5954DRAW x%-20,y%
 5955ELSE
 5956MOVE x%,y%
 5957DRAW x%-10,y%
 5958ENDIF
 5959NEXT row%
 5960ENDIF
 5961
 5962IF maxx%>100+gridwidth%*prstw THEN
 5963min%=sminy%
 5964max%=smaxy%
 5965IF min%<>0 THEN min%+=(5-(min%MOD5))
 5966SYS ct_setgcol%,0
 5967FOR row%=min% TO max% STEP 5
 5968x%=xc%+gridwidth%*prstw
 5969y%=yc%+row%*prrht
 5970IF row% MOD 10=0 THEN
 5971PROCub(STR$(row%),f1%,dec%,wd%,ht%)
 5972SYS &00040086,,STR$(row%),16,x%+24,y%-ht%/2
 5973MOVE x%,y%
 5974DRAW x%+20,y%
 5975ELSE
 5976MOVE x%,y%
 5977DRAW x%+10,y%
 5978ENDIF
 5979NEXT row%
 5980ENDIF
 5981prgridw%=gridwidth%-gridwidth%MOD10
 5982IF pmirror%=TRUE THEN xoffset=prstw*(gridwidth%MOD10) ELSE xoffset=0
 5983
 5984IF miny%<100 THEN
 5985min%=sminx%
 5986max%=smaxx%
 5987IF pmirror%=TRUE AND max%>prgridw% THEN max%=prgridw%
 5988IF min%<>0 THEN min%+=(5-(min%MOD5))
 5989SYS ct_setgcol%,0
 5990FOR stitch%=min% TO max% STEP 5
 5991x%=xc%+stitch%*prstw+xoffset
 5992y%=yc%
 5993IF stitch% MOD 10=0 THEN
 5994IF pmirror%=TRUE THEN prstitch%=prgridw%-stitch% ELSE prstitch%=stitch%
 5995PROCub(STR$(prstitch%),f1%,dec%,wd%,ht%)
 5996SYS &00040086,,STR$(prstitch%),16,x%-wd%/2,y%-ht%-24
 5997MOVE x%,y%
 5998DRAW x%,y%-20
 5999ELSE
 6000MOVE x%,y%
 6001DRAW x%,y%-10
 6002ENDIF
 6003NEXT stitch%
 6004ENDIF
 6005
 6006IF maxy%>100+gridheight%*prrht THEN
 6007min%=sminx%
 6008max%=smaxx%
 6009IF pmirror%=TRUE AND max%>prgridw% THEN max%=prgridw%
 6010IF min%<>0 THEN min%+=(5-(min%MOD5))
 6011SYS ct_setgcol%,0
 6012FOR stitch%=min% TO max% STEP 5
 6013x%=xc%+stitch%*prstw+xoffset
 6014y%=yc%+gridheight%*prrht
 6015IF stitch% MOD 10=0 THEN
 6016IF pmirror%=TRUE THEN prstitch%=prgridw%-stitch% ELSE prstitch%=stitch%
 6017PROCub(STR$(prstitch%),f1%,dec%,wd%,ht%)
 6018SYS &00040086,,STR$(prstitch%),16,x%-wd%/2,y%+24
 6019MOVE x%,y%
 6020DRAW x%,y%+20
 6021ELSE
 6022MOVE x%,y%
 6023DRAW x%,y%+10
 6024ENDIF
 6025NEXT stitch%
 6026ENDIF
 6027ENDIF
 6028WHEN 2
 6029SYS &0004008A,f1%
 6030
 6031scl%=(prstw-30)/2
 6032pminx%=(block%!0-xc%)/prstw-1
 6033pminy%=(block%!4-yc%)/prrht-1
 6034pmaxx%=(block%!8-xc%)/prstw+1
 6035pmaxy%=(block%!12-yc%)/prrht+1
 6036IF pminx%<sminx% THEN pminx%=sminx%
 6037IF pmaxx%>smaxx% THEN pmaxx%=smaxx%
 6038IF pminy%<sminy% THEN pminy%=sminy%
 6039IF pmaxy%>smaxy% THEN pmaxy%=smaxy%
 6040nummin%=pminx%-1
 6041nummax%=pmaxx%+1
 6042nummin%-=nummin%MOD2
 6043IF nummin%<0 THEN nummin%=0
 6044IF nummax%>gridwidth% THEN nummax%=gridwidth%
 6045FOR x%=nummin% TO nummax% STEP 2
 6046IF x% MOD 2=0 THEN
 6047IF x%<=gridwidth%/2 THEN
 6048num%=gridwidth%/2-x%
 6049IF num% MOD 2=1 THEN num%-=1 : xmove%=prstw ELSE xmove%=0
 6050IF num%=0 THEN
 6051PROCub(STR$(num%),f1%,dec%,wd%,ht%)
 6052SYS &00040086,,STR$(num%),16,xc%+(gridwidth%/2)*prstw-wd%/2-1,yc%-22
 6053SYS &00040086,,STR$(num%),16,xc%+(gridwidth%/2)*prstw-wd%/2-1,yc%+gridheight%*prrht+4
 6054ELSE
 6055IF num%<10 THEN xmove%+=8
 6056PROCub(STR$(num%),f1%,dec%,wd%,ht%)
 6057SYS &00040086,,STR$(num%),16,xc%+x%*prstw+xmove%+scl%,yc%-22
 6058SYS &00040086,,STR$(num%),16,xc%+x%*prstw+xmove%+scl%,yc%+gridheight%*prrht+4
 6059ENDIF
 6060ELSE
 6061num%=x%-gridwidth%/2
 6062IF num% MOD 2=1 THEN num%-=1 : xmove%=prstw ELSE xmove%=0
 6063IF num%<10 THEN xmove%-=8
 6064PROCub(STR$(num%),f1%,dec%,wd%,ht%)
 6065IF num%<>0 THEN SYS &00040086,,STR$(num%),16,xc%+(x%-1)*prstw-xmove%+scl%,yc%-22
 6066IF num%<>0 THEN SYS &00040086,,STR$(num%),16,xc%+(x%-1)*prstw-xmove%+scl%,yc%+4+gridheight%*prrht
 6067ENDIF
 6068ENDIF
 6069NEXT x%
 6070
 6071nummin%=pminy%-1
 6072nummax%=pmaxy%+1
 6073nummin%-=nummin% MOD 2
 6074nummax%+=nummax% MOD 2
 6075IF nummin%<0 THEN nummin%=0
 6076IF nummax%>gridheight% THEN nummax%=gridheight%
 6077FOR y%=nummin% TO nummax% STEP 2
 6078PROCub(STR$(y%),f1%,dec%,wd%,ht%)
 6079IF y%=0 THEN ymove%=ht%-4 ELSE ymove%=-scl%-4
 6080SYS &00040086,,STR$(y%),16,xc%-wd%-8,yc%+y%*prrht-2+ymove%-ht%
 6081SYS &00040086,,STR$(y%),16,xc%+gridwidth%*prstw+4,yc%+y%*prrht-2+ymove%-ht%
 6082NEXT y%
 6083SYS wimp_setcol%,gridcol%
 6084
 6085yl%=yc%+pminy%*prrht: yh%=yc%+pmaxy%*prrht
 6086FOR x%=pminx% TO pmaxx%
 6087IF (gridwidth%/2-x%)MOD12=0 THEN
 6088MOVE xc%+x%*prstw+1,yl%
 6089DRAW xc%+x%*prstw+1,yh%
 6090MOVE xc%+x%*prstw-1,yl%
 6091DRAW xc%+x%*prstw-1,yh%
 6092ENDIF
 6093MOVE xc%+x%*prstw,yl%
 6094DRAW xc%+x%*prstw,yh%
 6095NEXT x%
 6096
 6097xl%=xc%+pminx%*prstw: xh%=xc%+pmaxx%*prstw
 6098FOR y%=pminy% TO pmaxy%
 6099IF y% MOD 10=0 THEN
 6100MOVE xl%,yc%+y%*prrht+1
 6101DRAW xh%,yc%+y%*prrht+1
 6102MOVE xl%,yc%+y%*prrht-1
 6103DRAW xh%,yc%+y%*prrht-1
 6104ENDIF
 6105MOVE xl%,yc%+y%*prrht
 6106DRAW xh%,yc%+y%*prrht
 6107NEXT y%
 6108
 6109transform%!0 =prscale*65536
 6110transform%!4 =0
 6111transform%!8 =0
 6112transform%!12=prscale*65536
 6113y%=yc%
 6114xx%=xc%
 6115FORw%=pminx%TOpmaxx%-1:x%=xx%+w%*prstw:transform%!16=x%<<8:FORh%=pminy%TOpmaxy%-1:symb%=coltable%?(h%*gridwidth%+w%)
 6116IF (symb%AND128)=0 THEN
 6117transform%!20=(y%+h%*prrht)<<8
 6118SYS &00045540,0,symbpoint%!(symb%*4),symbsize%!(symb%*4),transform%,0
 6119ENDIF
 6120NEXT:NEXT
 6121ENDCASE
 6122SYS &0008014D,,block% TO more%
 6123ENDWHILE
 6124sminy%+=numsth%
 6125smaxy%+=numsth%
 6126IF sminy%<0 THEN sminy%=0
 6127IF smaxy%>gridheight% THEN smaxy%=gridheight%
 6128NEXT tiley%
 6129sminy%=0
 6130smaxy%=numsth%+2
 6131sminx%+=numstw%
 6132smaxx%+=numstw%
 6133IF sminx%<0 THEN sminx%=0
 6134IF smaxx%>gridwidth% THEN smaxx%=gridwidth%
 6135IF sminy%<0 THEN sminy%=0
 6136IF smaxy%>gridheight% THEN smaxy%=gridheight%
 6137NEXT tilex%
 6138SYS &00080148,pf%
 6139SYS &000406C1
 6140RESTORE ERROR
 6141CLOSE#pf%
 6142rect%=FNh(rect%)
 6143trans%=FNh(trans%)
 6144plotat%=FNh(plotat%)
 6145SYS &00040082,f1%
 6146SYS &00040082,f2%
 6147SYS &00040082,f3%
 6148ENDPROC
 6149:
 6150DEF PROCtc
 6151SYS &00080149,pf%
 6152CLOSE#pf%
 6153SYS &000400D2,-1
 6154SYS &000406C1
 6155PROCwd(REPORT$+" at line "+STR$(ERL))
 6156rect%=FNh(rect%)
 6157trans%=FNh(trans%)
 6158plotat%=FNh(plotat%)
 6159SYS &00040082,f1%
 6160SYS &00040082,f2%
 6161SYS &00040082,f3%
 6162ENDPROC
 6163:
 6164DEF PROCub(text$,han%,RETURN dec%,RETURN wd%,RETURN ht%)
 6165LOCAL xl%,yl%,xh%,yh%
 6166block%!100=0
 6167block%!104=0
 6168block%!108=0
 6169block%!112=0
 6170block%!116=-1
 6171SYS &000400A1,han%,text$,(1<<5)+(1<<18),1<30,1<<30,block%+100,0,0
 6172SYS &00040088,,block%!120,block%!124 TO ,xl%,yl%
 6173SYS &00040088,,block%!128,block%!132 TO ,xh%,yh%
 6174dec%=yl%
 6175wd%=xh%-xl%
 6176ht%=yh%-yl%
 6177ENDPROC
 6178:
 6179DEF PROCsd
 6180prscale=(VAL$prscale%)/100
 6181PROCna
 6182prstw=stitchwidth*prscale
 6183prrht=rowht*prscale
 6184SYS &00080143 TO ,prw%,prh%,prl%,prb%,prr%,prt%
 6185prwidth%=prr%-prl%
 6186prheight%=prt%-prb%
 6187SYS &00040088,,prwidth%,prheight% TO ,prwidth%,prheight%
 6188SYS &00040088,,prw%,prh% TO ,prw%,prh%
 6189prpatw%=100*2+gridwidth%*prstw
 6190prpath%=100*3+gridheight%*prrht
 6191IF prpatw%<=prwidth% THEN
 6192tilesw%=0
 6193numstw%=gridwidth%
 6194ELSE
 6195tilesw%=(prpatw%+2*prstw)/prwidth%
 6196numstw%=(prwidth%-100)/prstw-4
 6197ENDIF
 6198IF prpath%<=prheight% THEN
 6199tilesh%=0
 6200numsth%=gridheight%
 6201ELSE
 6202tilesh%=(prpath%+2*prrht)/prheight%
 6203numsth%=(prheight%-100)/prrht-4
 6204ENDIF
 6205IF tilesw%=0 AND tilesh%=0 THEN
 6206$prtiles%="1"
 6207ELSE
 6208$prtiles%=STR$(tilesw%+1)+" by "+STR$(tilesh%+1)
 6209ENDIF
 6210PROCfe(print%,10,0,0)
 6211ENDPROC
 6212:
 6213DEF FNu
 6214LOCAL loaded%,i%,flags%,pname%
 6215loaded%=TRUE
 6216LOCAL ERROR
 6217ON ERROR LOCAL :loaded%=FALSE: flags%=1
 6218IF loaded%=TRUE THEN SYS &000A0140 TO ,,,,pname%;flags%
 6219RESTORE ERROR
 6220IF (flags% AND 1)=1 THEN loaded%=FALSE
 6221IF loaded%=FALSE THEN
 6222$prname%="No printer driver"
 6223$prtiles%=""
 6224PROCfe(print%,11,1<<22,1<<22)
 6225PROCfe(print%,5,1<<22,1<<22)
 6226PROCfe(print%,15,1<<22,1<<22)
 6227PROCfe(print%,16,1<<22,1<<22)
 6228PROCfe(print%,10,1<<22,1<<22)
 6229PROCfe(print%,8,1<<22,1<<22)
 6230PROCxb
 6231ELSE
 6232IF FNm(print%,11) THEN
 6233PROCfe(print%,11,0<<22,1<<22)
 6234PROCfe(print%,5,0<<22,1<<22)
 6235PROCfe(print%,15,0<<22,1<<22)
 6236PROCfe(print%,16,0<<22,1<<22)
 6237PROCfe(print%,10,0<<22,1<<22)
 6238PROCfe(print%,8,0<<22,1<<22)
 6239ENDIF
 6240i%=0
 6241WHILE pname%?i%>31
 6242prname%?i%=pname%?i%
 6243i%+=1
 6244ENDWHILE
 6245prname%?i%=13
 6246PROCsd
 6247ENDIF
 6248CASE manner% OF
 6249WHEN 0,1
 6250PROCfe(print%,2,0<<22,1<<22)
 6251PROCfe(print%,4,0<<22,1<<22)
 6252PROCfe(print%,19,0<<22,1<<22)
 6253IF pictype$="none" THEN PROCfe(print%,3,1<<22,1<<22) ELSE PROCfe(print%,3,0<<22,1<<22)
 6254IF pictype$="sprite" THEN PROCfe(print%,18,0<<22,1<<22) ELSE PROCfe(print%,18,1<<22,1<<22)
 6255WHEN 2
 6256PROCfe(print%,2,1<<22,1<<22)
 6257PROCfe(print%,3,1<<22,1<<22)
 6258PROCfe(print%,4,1<<22,1<<22)
 6259PROCfe(print%,18,1<<22,1<<22)
 6260PROCfe(print%,19,1<<22,1<<22)
 6261PROCfe(print%,2,1<<21,1<<21)
 6262PROCfe(print%,4,1<<21,1<<21)
 6263PROCfe(print%,18,0<<21,1<<21)
 6264PROCfe(print%,19,0<<21,1<<21)
 6265PROCfe(print%,3,0<<21,1<<21)
 6266ENDCASE
 6267=loaded%
 6268:
 6269DEF FNv(wimpcol%)
 6270LOCAL rgb%
 6271CASE wimpcol% OF
 6272WHEN 0: rgb%=&FFFFFF00
 6273WHEN 1: rgb%=&DDDDDD00
 6274WHEN 2: rgb%=&BBBBBB00
 6275WHEN 3: rgb%=&99999900
 6276WHEN 4: rgb%=&77777700
 6277WHEN 5: rgb%=&55555500
 6278WHEN 6: rgb%=&33333300
 6279WHEN 7: rgb%=&00000000
 6280WHEN 8: rgb%=&99440000
 6281WHEN 9: rgb%=&00EEEE00
 6282WHEN 10:rgb%=&00CC0000
 6283WHEN 11:rgb%=&0000DD00
 6284WHEN 12:rgb%=&BBEEEE00
 6285WHEN 13:rgb%=&00885500
 6286WHEN 14:rgb%=&00BBFF00
 6287WHEN 15:rgb%=&FFBB0000
 6288ENDCASE
 6289=rgb%
�           >!RunImage
� Program   !EasyKnit
'version$=     "V4.51c 6th Feb 1997"
&� Author    � A&J Muir August 1995
:
+� � :ș &000406C2:� �$+" at line ";�:Ș
:
�kc
	� � ș &000406C2:�sb

�
�qd

� exit%=�

ș&000400DD
�
:
	� �kc
� size%,indsize%,i%,ptr%
ș &000406C0
e� block% 5000, imenu% 28+3*24, smenu% 28+3*24, dmenu% 28+4*24, emenu% 28+11*24, colmenu% 28+16*24
Q� maskmenu% 28+4*24, editmenu% 28+3*24, unitmenu% 28+2*24, rulermenu% 28+1*24
menuindsize%=200
B� menuind% menuindsize%: $menuind%="":menuindfree%=menuind%+12
� name% 12
� carb% 24
� timeblock% 10
� timeanswer% 100
� transform% 23
� patstore% 120
appsize%=�-&8000
heap%=0
ș &00000051 � page%
 E!block%=2: block%!4=3: block%!8=9: block%!12=10: block%!16=&400C0
!>block%!20=&400C1: block%!24=&502: block%!28=5: block%!32=0
"/ș&000400C0,310,&4B534154,"EasyKnit",block%
#� � ș &000406C2:�sb:Ș
$block%!0=-1
%block%!4=0:block%!8=0
&block%!12=68:block%!16=68
'block%!20=&301A
($(block%+24)="!EasyKnit"+�0
)#ș&000400C2,,block% � ibaricon%
*� �r(-1,5)<>�r(-1,4) �
+;toolspr%=�p("<EasyKnit$Dir>.Resources.Sprites.Buttons")
,=titlespr%=�p("<EasyKnit$Dir>.Resources.Sprites.TitleSpr")
-�
.=toolspr%=�p("<EasyKnit$Dir>.Resources.Sprites.Buttons22")
/?titlespr%=�p("<EasyKnit$Dir>.Resources.Sprites.TitleSpr22")
0�
1�jc
26ș &000400D9,,"<EasyKnit$Dir>.Resources.Templates"
3indsize%=0: i%=0
4�
5$name%="*"
61ș &000400DB,,0,,,-1,name%,i% � ,,size%,,,,i%
7indsize%+=size%
8
� i%=0
9� windowind% indsize%
:info%=�o("Info",0)
;%saveplus%=�o("SavePlus",toolspr%)
<save%=�o("Save",0)
=savebox%=saveplus%
>!main%=�o("Tensions",toolspr%)
?edit%=�o("Edit",0)
@#titlewin%=�o("Title",titlespr%)
Azoom%=�o("Zoom",toolspr%)
B tbar%=�o("Toolbar",toolspr%)
Ctoprule%=�o("Rule",0)
D"ș&000400C1,,block% � botrule%
E#ș&000400C1,,block% � leftrule%
F$ș&000400C1,,block% � rightrule%
Gcornertl%=�o("Corner",0)
H#ș&000400C1,,block% � cornertr%
I#ș&000400C1,,block% � cornerbl%
J#ș&000400C1,,block% � cornerbr%
K'colchoose%=�o("ColChoose",toolspr%)
L#colpane%=�o("ColPane",toolspr%)
M colcreate%=�o("ColCreate",0)
Nlargepick%=�o("ColPickL",0)
Osmallpick%=�o("ColPickS",0)
P!tbardisp%=�o("ToolDisplay",0)
Q#pattern%=�o("Pattern",toolspr%)
Rask%=�o("Ask",0)
Sprint%=�o("Print",0)
Treport%=�o("Report",0)
U%symbpick%=�o("SymbPick",toolspr%)
Vș&000400DA
W�he(imenu%,1)
X�he(smenu%,2)
Y�he(dmenu%,3)
Z�he(emenu%,4)
[�he(colmenu%,5)
\�he(maskmenu%,6)
]�he(editmenu%,7)
^�he(unitmenu%,8)
_�he(rulermenu%,9)
`ptr%=colmenu%+28+8
a� i%=0 � 15
b!ptr%=(&7000021+(i%<<28))
cptr%+=24
d� i%
eptr%=colmenu%+28+8
f� i%=4 � 8
g/ptr%!(i%*24)=(ptr%!(i%*24) � � (%1111<<24))
h� i%
i:ptr%=colmenu%+28+8+10*24:!ptr%=(!ptr% � � (%1111<<24))
j:ptr%=colmenu%+28+8+11*24:!ptr%=(!ptr% � � (%1111<<24))
k:ptr%=colmenu%+28+8+13*24:!ptr%=(!ptr% � � (%1111<<24))
l�se(editmenu%,1)
m�we(editmenu%,0)
n�we(editmenu%,2)
o�se(unitmenu%,1)
p�we(unitmenu%,0)
qwimp_setistate%=&400CD
rct_setgcol%=&40743
swimp_setcol%=&400E6
t�tb
u$titleversion%=version$
v�md(titlewin%)
w
�ed(1)
x
�cc(1)
y�je(smenu%,0,1)
z�je(smenu%,1,1)
{�je(smenu%,2,0)
|�fe(main%,37,0<<21,1<<21)
}�fe(main%,37,1<<22,1<<22)
~�fe(main%,37,3<<24,15<<24)

�re(5)
�$sclmul%="1"
�$scldiv%="1"
�
$trow%=""
�$tstitch%=""
��fe(tbar%,9,1<<21,1<<21)
��fe(tbar%,5,1<<21,1<<21)
��se(emenu%,2)
��fe(tbar%,7,1<<21,1<<21)
��se(emenu%,4)
��fe(tbar%,12,1<<21,1<<21)
��fe(tbar%,13,0<<21,1<<21)
�$patstore%="Project"
�$(patstore%+100)="1"
�$(patstore%+105)="18.1"
�$(patstore%+110)="26.2"
�patstore%?115=�
�editstore%=0
�draw%=0
�coltable%=0
�paltable%=0
�copyblock%=0
�currentcol%=0
�gridcol%=7
�backcol%=0
�forecol%=7
�rulerfcol%=7
�rulerbcol%=0
�
maxcol%=1
�sourcespr%=0
�sprite$="0"
�spriteon%=�
�transtable%=0
�nametable%=0
�zoomstack%=0
�tbarht%=96
�tbarw%=824
�rulesize%=70
�colsize%=20
�colpick%=smallpick%
�edmul%=1: eddiv%=1
�dragtype%=0
�
manner%=1
�exit%=�
�drawheader%=�
�drawrulers%=�
�plaintext%=�
�pagerulers%=�
�mainopen%=�
�createopen%=�
�titleopen%=�
�
helpon%=�
�infobuff%=0
�helpbuff%=0
�editopen%=�
�colcreateopen%=�
�
coords%=�
�
intbar%=�
�
gridon%=�
�showmask%=�
�editcreated%=�
�starred%=�
�copy%=�
�oldrow%=-1
�oldstitch%=-1
�mask%=&400
�$infoversion%=version$
�sprite_file$=""
�draw_file$=""
�pattern_file$="Pattern"
�state_file$="EasyKnit"
�pictype$="none"
��hd
�ș &00000042 � tittime%
�tittime%+=600
�symbstore%=0
�symbpoint%=0
�symbsize%=0
�descinfobuff%=0
�descbuff%=0
�extradescinfobuff%=0
�extradescbuff%=0
�ș&00000010 � env$
�i%=�env$,"""")
�i%=�env$,"""",i%+1)
�� i%+=1
�� �env$,i%,1)<>" "
�data_infile$=�env$,i%)
�� �data_infile$,".")<>0 �
�� titleopen%=� � �ab
�
�qc(0)
��
�ș &000406C1
��
�:
�� �o(ident$,sprites%)
�� whan%
�$name%=ident$
�Xș&000400DB,,block%,windowind%,windowind%+indsize%,fontdata%,name%,0  � ,,windowind%
�&� sprites%<>0 � block%!64=sprites%
�ș&000400C1,,block% � whan%
�
=whan%
�:
�	� �tb
�infoversion%=�i(info%,4)
� saveone%    =�i(saveplus%,4)
� savetwo%    =�i(saveplus%,5)
�I!block%=savebox%:block%!4=0: ș &000400CE,,block%: savespr%=block%!32
�sclmul% =�i(zoom%,0)
�scldiv% =�i(zoom%,1)
�trow%   =�i(tbardisp%,3)
�tstitch%=�i(tbardisp%,4)
�cname%  =�i(colcreate%,3)
�(titleversion%       =�i(titlewin%,6)
�%tension_sq_width%   =�i(main%,15)
�%tension_sq_height%  =�i(main%,16)
�%tension_sq_stitches%=�i(main%,17)
�%tension_sq_rows%    =�i(main%,18)
�%conv_rows%          =�i(main%,19)
�%ans_conv_rows%      =�i(main%,20)
�%conv_stitches%      =�i(main%,21)
�%ans_conv_stitches%  =�i(main%,22)
�grows%    =�i(main%,29)
�gstitches%=�i(main%,30)
�gheight%  =�i(main%,31)
�gwidth%   =�i(main%,32)
�tdset%    =�i(main%,46)
�disptext% =�i(main%,27)
�tsqtunit% =�i(main%,38)
tsqbunit% =�i(main%,39)
contunit% =�i(main%,48)
conbunit% =�i(main%,49)
grdtunit% =�i(main%,50)
grdbunit% =�i(main%,51)
projname%=�i(pattern%,8)
roffset%=�i(pattern%,9)
tframeh%=�i(pattern%,10)
tframew%=�i(pattern%,11)
	askquestion%=�i(ask%,2)

askbutton0%=�i(ask%,0)
askbutton1%=�i(ask%,1)
prname%=�i(print%,13)

prscale%=�i(print%,5)
prtiles%=�i(print%,10)
rep%=�i(report%,1)
describe%=�i(symbpick%,0)
=!block%=main%: ș &000400CC,,block%: maintitle%=block%!76
=!block%=edit%: ș &000400CC,,block%: edittitle%=block%!76
C!block%=pattern%: ș &000400CC,,block%: patterntitle%=block%!76
�
:
� �i(whan%,icon%)
"block%!0=whan%: block%!4=icon%
ș &000400CE,,block%
=block%!28
:
� �ed(state%)
� icon%
Ȏ state% �
� 1

�zb(1)
 
�ac(1)
!
�dc(0)
"� 2
#
�zb(0)
$
�ac(1)
%
�dc(0)
&� 3
'
�zb(0)
(
�ac(1)
)
�dc(0)
*� 4
+
�zb(1)
,
�ac(0)
-
�dc(0)
.� 5
/
�ac(0)
0
�bc(0)
1
�dc(0)
2� 6
3
�dc(1)
4
�zb(1)
5
�ac(1)
6� icon%= 42 � 45
7 �fe(main%,icon%,0<<22,1<<22)
8� icon%
9�fe(main%,29,0<<22,1<<22)
:�fe(main%,30,0<<22,1<<22)
;�fe(main%,26,7<<24,15<<24)
<�fe(main%,33,7<<24,15<<24)
=�fe(main%,34,7<<24,15<<24)
>�
?mastergrey%=state%
@�
A:
B� �dc(grey%)
C� icon%,gtext%
D� grey%=0 � gtext%=7
E� grey%=1 � gtext%=3
F"�fe(main%,3,gtext%<<24,15<<24)
G� icon%=5 � 8
H&�fe(main%,icon%,gtext%<<24,15<<24)
I� icon%
J#�fe(main%,38,gtext%<<24,15<<24)
K#�fe(main%,39,gtext%<<24,15<<24)
L#�fe(main%,47,gtext%<<24,15<<24)
M� icon%= 15 � 18
N$�fe(main%,icon%,grey%<<22,1<<22)
O� icon%
P!�fe(main%,46,grey%<<22,1<<22)
Q�
R:
S� �zb(grey%)
T� icon%,gtext%
U� grey%=0 � gtext%=7
V� grey%=1 � gtext%=3
Wicon%=4
X&�fe(main%,icon%,gtext%<<24,15<<24)
Y� icon%= 19 � 24
Z$�fe(main%,icon%,grey%<<22,1<<22)
[� icon%
\� icon%= 9 � 14
]&�fe(main%,icon%,gtext%<<24,15<<24)
^� icon%
_� icon%= 40 � 41
`$�fe(main%,icon%,grey%<<22,1<<22)
a� icon%
b� icon%= 48 � 49
c&�fe(main%,icon%,gtext%<<24,15<<24)
d� icon%
e�
f:
g� �ac(grey%)
h� icon%,gtext%
i� grey%=0 � gtext%=7
j� grey%=1 � gtext%=3
kicon%=26
l&�fe(main%,icon%,gtext%<<24,15<<24)
micon%=37
n$�fe(main%,icon%,grey%<<22,1<<22)
o&�fe(main%,icon%,gtext%<<24,15<<24)
p� icon%= 29 � 32
q$�fe(main%,icon%,grey%<<22,1<<22)
r� icon%
s� icon%= 33 � 36
t&�fe(main%,icon%,gtext%<<24,15<<24)
u� icon%
v� icon%= 42 � 45
w$�fe(main%,icon%,grey%<<22,1<<22)
x� icon%
y#�fe(main%,50,gtext%<<24,15<<24)
z#�fe(main%,51,gtext%<<24,15<<24)
{�
|:
}� �bc(grey%)
~� gtext%,tex%,numb%
)� grey%=0 � gtext%=7: tex%=3: numb%=1
�)� grey%=1 � gtext%=3: tex%=7: numb%=0
�"�fe(main%,4,gtext%<<24,15<<24)
�"�fe(main%,9,gtext%<<24,15<<24)
�#�fe(main%,10,gtext%<<24,15<<24)
�� icon%= 11 � 14
�$�fe(main%,icon%,tex%<<24,15<<24)
�� icon%
�!�fe(main%,19,grey%<<22,1<<22)
�!�fe(main%,20,numb%<<22,1<<22)
�!�fe(main%,21,grey%<<22,1<<22)
�!�fe(main%,22,numb%<<22,1<<22)
�!�fe(main%,40,numb%<<22,1<<22)
�!�fe(main%,41,numb%<<22,1<<22)
�!�fe(main%,31,numb%<<22,1<<22)
�!�fe(main%,32,numb%<<22,1<<22)
�!�fe(main%,35,tex%<<24,15<<24)
�!�fe(main%,36,tex%<<24,15<<24)
�#�fe(main%,48,gtext%<<24,15<<24)
�#�fe(main%,49,gtext%<<24,15<<24)
�!�fe(main%,50,tex%<<24,15<<24)
�!�fe(main%,51,tex%<<24,15<<24)
��
�:
�� �cc(grey%)
� �fe(main%,0,grey%<<22,1<<22)
��
�:
�� �r(mode%,var%)
�
� result%
�'ș &00000035,mode%,var% � ,,result%
�=result%
�:
�#� �ka(quest$,but1$,but0$,type%)
�� w%,h%
�� 7
�$askquestion%=quest$
�$askbutton0%=but1$
�$askbutton1%=but0$
�asktype%=type%
�ș &000400D3,,block%+1000
�
�md(ask%)
� ș &000400D2,ask%,-1,0,0,0,0
�ș &000400E0,,block%
�w%=block%!12-block%!4
�h%=block%!16-block%!8
�$ȗ � block%!4+w%/2,block%!8+h%/2
�-ȗ ȓ block%!4,block%!8,w%-xpix%,h%-ypix%
�!block%=edit%
�w%=dragtype%
�dragtype%=-1
��nc
�dragtype%=w%
��
�:
�� �wd(report$)
�� w%,h%
�� 7
�$rep%=report$
�ș &000400D3,,block%+1000
��md(report%)
�#ș &000400D2,report%,-1,0,0,0,0
�ș &000400E0,,block%
�w%=block%!12-block%!4
�h%=block%!16-block%!8
�$ȗ � block%!4+w%/2,block%!8+h%/2
�-ȗ ȓ block%!4,block%!8,w%-xpix%,h%-ypix%
�!block%=edit%
�w%=dragtype%
�dragtype%=-1
��nc
�dragtype%=w%
��
�:
�	� �sb
�
� answer%
�
!block%=�
�.$(block%+4)=�$+" (Error code "+�(�)+")"+�0
�.ș&000400DF,block%,3,"EasyKnit" � ,answer%
�!� answer%=2 � ș &000400DD: �
��
�:
�� �fe(whan%,icon%,e%,c%)
�%block%!900=whan%:block%!904=icon%
�block%!908=e%:block%!912=c%
�"ș wimp_setistate%,,block%+900
��
�:
�� �oa(whan%,icon%,index%)
�,ș &000400D2,whan%,icon%,-1,-1,-1,index%
��
�:
�	� �xb
�ș &000400D3,,carb%
��
�:
�� �l(whan%,icon%)
�0block%!(0+1024)=whan%: block%!(4+1024)=icon%
�ș &000400CE,,block%+1024
�$=((block%!(24+1024) � 1<<21)<>0)
�:
�� �m(whan%,icon%)
�0block%!(0+1024)=whan%: block%!(4+1024)=icon%
�ș &000400CE,,block%+1024
�$=((block%!(24+1024) � 1<<22)<>0)
�:
�	� �qd
�
� reason%
�� titleopen%=� �
�0ș &000400E1,mask%,block%,tittime% � reason%
��
�'ș &000400C7,mask%,block% � reason%
��
�Ȏ reason% �
�� 0:�kd
�� 1:�ud
�� 2:�ld
�� 3:�za(!block%)
�� 4:�nc
�� 5:�rb
�� 6:�id
�� 7:�kb
�� 8:�mc
�� 9:�fd
�� 17,18:�gd
�!� 19:ș &00000008,6,block%+44
�/�,255,"Data transfer failed: Receiver died"
��
��
:
	� �kd
1� mx%,my%,orx%,ory%,wx%,wy%,stitch%,row%,num%
� titleopen%=� �
�ab
�
� coords%=� �

ș &000400CF,,block%
	mx%=block%!0: my%=block%!4

!block%=edit%
ș&000400CB,,block%
orx%=(block%!4-block%!20)

ory%=(block%!16-block%!24)
wx%=(mx%-orx%-rulesize%)
$wy%=(my%-ory%-rulesize%+editht%)
stitch%=wx%/stw%+1
row%=wy%/rht%+1
D� stitch%>0 � stitch%<=gridwidth% � row%>0 � row%<=gridheight% �
+� row%<>oldrow% � stitch%<>oldstitch% �
Ȏ manner% �
	� 0,1
$trow%=�(row%)
$tstitch%=�(stitch%)
�fe(tbardisp%,3,0,0)
�fe(tbardisp%,4,0,0)
$oldrow%=row%: oldstitch%=stitch%
� 2
$trow%=�(row%)
U� stitch%<=gridwidth%/2 � num%=gridwidth%/2-stitch%+1 � num%=stitch%-gridwidth%/2
$tstitch%=�(num%)
�fe(tbardisp%,3,0,0)
 �fe(tbardisp%,4,0,0)
!$oldrow%=row%: oldstitch%=stitch%
"�
#�
$�
%
$trow%=""
&$tstitch%=""
'oldrow%=-1: oldstitch%=-1
(�fe(tbardisp%,3,0,0)
)�fe(tbardisp%,4,0,0)
*�
+!� dragtype%=1 � dragtype%=2 �
,
-/� �(-113)=� � ș &000400D0,,-1: dragtype%=0
.�
/�
0� intbar%=� �
1
2ș &000400CF,,block%
3mx%=block%!0: my%=block%!4
4!block%=tbar%
5ș&000400CB,,block%
6� mx%<block%!4+32 �
7� block%!20>0 �
8$block%!20-=2-(block%!4+16>mx%)*2
9� block%!20<0 � block%!20=0
:ș&000400C5,,block%
;�
<�
=� mx%>block%!12-32 �
>-� block%!20<tbarw%-(block%!12-block%!4) �
?%block%!20+=2-(block%!12-mx%<16)*2
@S� block%!20>tbarw%-(block%!12-block%!4) � block%!20=tbarw%-(block%!12-block%!4)
Aș&000400C5,,block%
B�
C�
D�
E�
F�
G:
H	� �ud
I2� more%,wx%,wy%,w%,h%,xx%,row%,stitch%,rh%,sw%
JI� minx%,miny%,maxx%,maxy%,sminx%,smaxx%,sminy%,smaxy%,min%,max%,x%,y%
K(� xc%,yc%,r%,g%,b%,rgb%,col%,column%
LB� minrow%,maxrow%,minsqr%,maxsqr%,min%,max%,i%,xl%,xh%,yl%,yh%
M+� scalex,scaley,scl%,num%,ymove%,xmove%
N ș &000400C8,,block% � more%
Oȕ more%
PȎ block%!0 �
Q� symbpick%
Rwx%=block%!4-block%!20
Swy%=block%!16-block%!24
Tminx%=block%!28-wx%+46
Umaxx%=block%!36-wx%+46
Vminy%=block%!32-wy%+16
Wmaxy%=block%!40-wy%+16
Xmin%=minx%/76
Ymax%=maxx%/76
Zmin%-=1
[max%+=1
\� max%>8 � max%=8
]� min%<0 � min%=0
^� min%>max% � min%=max%
_� maxy%>-76 �
`transform%!0 =2<<16
atransform%!4 =0
btransform%!8 =0
ctransform%!12=2<<16
dtransform%!20=(wy%-76)<<8
e$� i%=symbpage%*9 � symbpage%*9+8
f� i%<symbmax%+1 �
g3transform%!16=(wx%+(i%-symbpage%*9+1)*76+46)<<8
hJș &00045540,0,symbpoint%!(i%*4),symbsize%!(i%*4),transform%,block%+28
i�
j� i%
k�
l� colpick%
mwx%=block%!4-block%!20
nwy%=block%!16-block%!24
ominx%=block%!28-wx%-40
pmaxx%=block%!36-wx%-40
qminy%=block%!32-wy%+40
rmaxy%=block%!40-wy%+40
swx%+=40: wy%-=(40+colsize%)
tL� maxx%>0 � minx%<16*colsize%+xpix% � maxy%>-16*colsize% � miny%<ypix% �
uminrow%=-maxy%/colsize%
vmaxrow%=(-miny%/colsize%)
wminsqr%=minx%/colsize%
xmaxsqr%=maxx%/colsize%
y� minrow%<0 � minrow%=0
z� maxrow%>15 � maxrow%=15
{� minsqr%<0 � minsqr%=0
|� maxsqr%>15 � maxsqr%=15
}'� minsqr%>maxsqr% � minsqr%=maxsqr%
~'� minrow%>maxrow% � minrow%=maxrow%
ș ct_setgcol%,0
�5ȓ Ȑ wx%,wy%-15*colsize%,16*colsize%,16*colsize%
�� row%=minrow% � maxrow%
�� column%=minsqr% � maxsqr%
�col%=row%*16+column%
�r%=col% � 15
�"g%=((col% � 48)>>2) � col% � 3
�!b%=(col% � 192)>>4 � col% � 3
�"rgb%=(b%<<24)�(g%<<16)�(r%<<8)
�rgb%=rgb% � (rgb%<<4)
�ș ct_setgcol%,rgb%
�\ȓ Ȑ wx%+column%*colsize%+xpix%,wy%-row%*colsize%+ypix%,colsize%-xpix2%,colsize%-ypix2%
�
� column%
�
� row%
��
�� colchoose%
�wx%=block%!4-block%!20
�wy%=block%!16-block%!24
�minx%=block%!28-wx%
�maxx%=block%!36-wx%
�miny%=block%!32-wy%+22
�maxy%=block%!40-wy%+22
�min%=miny%/76
�max%=maxy%/76
�max%+=1
�� max%>0 � max%=0
�+� min%<-(maxcol%+1) � min%=-(maxcol%+1)
�� minx%<90 �
�� i%=min% � max%
�&ș ct_setgcol%,paltable%!(-i%*4-4)
�*ȓ Ȑ 22+wx%,(i%-1)*76-24-64+wy%,64,60
�� i%
��
�� colpane%
�wx%=block%!4-block%!20
�wy%=block%!16-block%!24
�minx%=block%!28-wx%
�maxx%=block%!36-wx%
�miny%=block%!32-wy%+22
�maxy%=block%!40-wy%+22
�min%=miny%/76
�max%=maxy%/76
�� max%>0 � max%=0
�#� min%<-maxcol% � min%=-maxcol%
�� minx%<90 �
�� i%=min% � max%
�$ș ct_setgcol%,paltable%!(-i%*4)
�&ȓ Ȑ 22+wx%,i%*76-24-64+wy%,64,60
�� i%
��
�� edit%
�wx%=block%!4-block%!20
�wy%=block%!16-block%!24
�minx%=block%!28-wx%
�maxx%=block%!36-wx%
�miny%=block%!32-wy%+editht%
�maxy%=block%!40-wy%+editht%
�minx%-=stw%
�maxx%+=stw%
�miny%-=rht%
�maxy%+=rht%
�!sminx%=(minx%-rulesize%)/stw%
�!smaxx%=(maxx%-rulesize%)/stw%
�!sminy%=(miny%-rulesize%)/rht%
�!smaxy%=(maxy%-rulesize%)/rht%
�� sminx%<0 � sminx%=0
�� sminy%<0 � sminy%=0
�+� smaxx%>gridwidth% � smaxx%=gridwidth%
�-� smaxy%>gridheight% � smaxy%=gridheight%
�#� sminx%>smaxx% � sminx%=smaxx%
�#� sminy%>smaxy% � sminy%=smaxy%
�xc%=wx%+rulesize%
�yc%=wy%-editht%+rulesize%
�� spriteon%=� �
�Ȏ pictype$ �
�� "sprite"
�block%!100=xc%<<8
�(block%!104=(yc%+gridheight%*rht%)<<8
�'block%!108=(xc%+gridwidth%*stw%)<<8
�(block%!112=(yc%+gridheight%*rht%)<<8
�'block%!116=(xc%+gridwidth%*stw%)<<8
�block%!120=yc%<<8
�block%!124=xc%<<8
�block%!128=yc%<<8
�
�Hș&0000002E,&238,sourcespr%,sourceaddr%,1,0,0,block%+100,transtable%
�� "draw"
�,scalex=(((gridwidth%*stw%)<<8)/(drawx%))
�/scaley=(((gridheight%*rht%)<<8)/(drawy%-1))
�transform%!0 =scalex*65536
�transform%!4 =0
�transform%!8 =0
�transform%!12=scaley*65536
�.transform%!16=(xc%<<8)-drawxoffset%*scalex
�.transform%!20=(yc%<<8)-drawyoffset%*scaley
�
�6ș &00045540,0,draw%,drawlen%,transform%,block%+28
��
��
�Ȏ manner% �
�	� 0,1
�
�sw%=stw%+xpix2%*(gridon%=�)
�rh%=rht%+ypix2%*(gridon%=�)
�y%=yc%-ypix%*(gridon%=�)
�xx%=xc%-xpix%*(gridon%=�)
�t�w%=sminx%�smaxx%-1:x%=xx%+w%*stw%:�h%=sminy%�smaxy%-1:col%=coltable%?(h%*gridwidth%+w%):�showmask%col%=col%�191
�P�(col%�192)=0șct_setgcol%,paltable%!((col%�63)*4):ȓȐx%,y%+h%*rht%,sw%,rh%
��:�
�
�|� maxx%>rulesize% � minx%<rulesize%+gridwidth%*stw% � maxy%>rulesize% � miny%<rulesize%+gridheight%*rht% � �l(tbar%,5) �
�ș wimp_setcol%,gridcol%
�
�,yl%=yc%+sminy%*rht%: yh%=yc%+smaxy%*rht%
�� x%=sminx% � smaxx%
�� xc%+x%*stw%,yl%
�� xc%+x%*stw%,yh%
�� x%
�
�,xl%=xc%+sminx%*stw%: xh%=xc%+smaxx%*stw%
�� y%=sminy% � smaxy%
�� xl%,yc%+y%*rht%
�� xh%,yc%+y%*rht%
�� y%
��
�� � pagerulers% �
�ș wimp_setcol%,forecol%
�
�� minx%<rulesize% �
min%=(miny%-rulesize%)/rht%
max%=(maxy%-rulesize%)/rht%
)� max%>gridheight% � max%=gridheight%
� min%<0 � min%=0
min%=min% � 10
max%=max% � 10
� row%=min% � max%

x%=xc%
y%=yc%+row%*rht%*10+16
	*� x%+(16*(row%>0))+(16*(row%>9))-40,y%

� ;row%*10
� x%-20,y%-16
� x%,y%-16

� row%
�

'� maxx%>rulesize%+gridwidth%*stw% �
min%=(miny%-rulesize%)/rht%
max%=(maxy%-rulesize%)/rht%
)� max%>gridheight% � max%=gridheight%
� min%<0 � min%=0
min%=min% � 10
max%=max% � 10
� row%=min% � max%
x%=xc%+24+gridwidth%*stw%
y%=row%*rht%*10+yc%+16
� x%,y%
� ;row%*10
� x%-4,y%-16
� x%-24,y%-16

� row%
�
 
!� miny%<rulesize% �
"min%=(minx%-rulesize%)/stw%
#max%=(maxx%-rulesize%)/stw%
$'� max%>gridwidth% � max%=gridwidth%
%� min%<0 � min%=0
&min%=min% � 10
'max%=max% � 10
(� stitch%=min% � max%
)x%=xc%+stitch%*stw%*10
*
y%=yc%-24
+,� x%+(16*(stitch%>0))+(8*(stitch%>9)),y%
,� ;stitch%*10
-
� x%,y%+4
.� x%,y%+20
/
� stitch%
0�
1
2'� maxy%>editht%-rulesize%-tbarht% �
3min%=(minx%-rulesize%)/stw%
4max%=(maxx%-rulesize%)/stw%
5'� max%>gridwidth% � max%=gridwidth%
6� min%<0 � min%=0
7min%=min% � 10
8max%=max% � 10
9� stitch%=min% � max%
:x%=xc%+stitch%*stw%*10
;y%=yc%+gridheight%*rht%+52
<,� x%+(16*(stitch%>0))+(8*(stitch%>9)),y%
=� ;stitch%*10
>� x%,y%-32
?� x%,y%-52
@
� stitch%
A�
B�
C� 2
D
Escl%=(stw%-30)/2
Fnummin%=sminx%-1
Gnummax%=smaxx%+1
Hnummin%-=nummin%�2
I� nummin%<0 � nummin%=0
J-� nummax%>gridwidth% � nummax%=gridwidth%
K� x%=nummin% � nummax% � 2
L� x% � 2=0 �
M� x%<=gridwidth%/2 �
Nnum%=gridwidth%/2-x%
O3� num% � 2=1 � num%-=1 : xmove%=stw% � xmove%=0
P@� num% �12=0 � ș wimp_setcol%,11 � ș wimp_setcol%,gridcol%
Q� num%=0 �
R%� xc%+(gridwidth%/2)*stw%-8,yc%-4
S� ;num%
T7� xc%+(gridwidth%/2)*stw%-8,yc%+gridheight%*rht%+32
U� ;num%
V�
W� num%<10 � xmove%+=8
X#� xc%+x%*stw%+xmove%+scl%,yc%-4
Y� ;num%
Z5� xc%+x%*stw%+xmove%+scl%,yc%+gridheight%*rht%+32
[� ;num%
\�
]�
^num%=x%-gridwidth%/2
_3� num% � 2=1 � num%-=1 : xmove%=stw% � xmove%=0
`@� num% �12=0 � ș wimp_setcol%,11 � ș wimp_setcol%,gridcol%
a� num%<10 � xmove%-=8
b'� xc%+(x%-1)*stw%-xmove%+scl%,yc%-4
c� num%<>0 � � ;num%
d9� xc%+(x%-1)*stw%-xmove%+scl%,yc%+gridheight%*rht%+32
e� num%<>0 � � ;num%
f�
g�
h� x%
i
jnummin%=sminy%-1
knummax%=smaxy%+1
lnummin%-=nummin% � 2
mnummax%+=nummax% � 2
n� nummin%<0 � nummin%=0
o/� nummax%>gridheight% � nummax%=gridheight%
p� y%=nummin% � nummax% � 2
q%� y%=0 � ymove%=12 � ymove%=-scl%
r"� y%<10 � xmove%=16 � xmove%=0
s� y%>99 � xmove%=-16
t=� y%�10=0 � ș wimp_setcol%,11 � ș wimp_setcol%,gridcol%
u(� xc%-36+xmove%,yc%+y%*rht%-2+ymove%
v	� ;y%
w0� xc%+gridwidth%*stw%+4,yc%+y%*rht%-2+ymove%
x	� ;y%
y� y%
z|� maxx%>rulesize% � minx%<rulesize%+gridwidth%*stw% � maxy%>rulesize% � miny%<rulesize%+gridheight%*rht% � �l(tbar%,5) �
{ș wimp_setcol%,gridcol%
|
},yl%=yc%+sminy%*rht%: yh%=yc%+smaxy%*rht%
~� x%=sminx% � smaxx%
L� (gridwidth%/2-x%)�12=0 � ș wimp_setcol%,11 � ș wimp_setcol%,gridcol%
�� xc%+x%*stw%,yl%
�� xc%+x%*stw%,yh%
�� x%
�
�,xl%=xc%+sminx%*stw%: xh%=xc%+smaxx%*stw%
�� y%=sminy% � smaxy%
�?� y% � 10=0 � ș wimp_setcol%,11 � ș wimp_setcol%,gridcol%
�� xl%,yc%+y%*rht%
�� xh%,yc%+y%*rht%
�� y%
�
�'transform%!0 =(edmul%/eddiv%)*65536
�transform%!4 =0
�transform%!8 =0
�'transform%!12=(edmul%/eddiv%)*65536
�y%=yc%-ypix%*(gridon%=�)
�xx%=xc%-xpix%*(gridon%=�)
�q�w%=sminx%�smaxx%-1:x%=xx%+w%*stw%:transform%!16=x%<<8:�h%=sminy%�smaxy%-1:symb%=coltable%?(h%*gridwidth%+w%)
�� (symb%�128)=0 �
�!transform%!20=(y%+h%*rht%)<<8
�Pș &00045540,0,symbpoint%!(symb%*4),symbsize%!(symb%*4),transform%,block%+28
��
��:�
��
��
�� toprule%
�wx%=block%!4-block%!20
�wy%=block%!16-block%!24
�xc%=wx%+rulesize%-xpix%
�yc%=wy%-rulesize%+52
�minx%=block%!28-wx%
�maxx%=block%!36-wx%
�!min%=(minx%-rulesize%)/stw%-5
�!max%=(maxx%-rulesize%)/stw%+5
�min%-=min% � 2
�max%+=max% � 2
�'� max%>gridwidth% � max%=gridwidth%
�� min%<0 � min%=0
�ș wimp_setcol%,rulerfcol%
�scl%=(stw%-30)/2
�Ȏ manner% �
�	� 0,1
�� stitch%=min% � max%
�x%=xc%+stitch%*stw%
�� stitch%�10=0 �
�@� x%+(16*(stitch%>9))+(8*(stitch%>99))+(8*(stitch%>999)),yc%
�� ;stitch%
�� x%,yc%-32
�� x%,yc%-52
��
�!� x%,yc%-42-(7*(stitch%�5=0))
�� x%,yc%-52
��
�
� stitch%
�� 2
�� x%=min% � max% � 2
�� x%<=gridwidth%/2 �
�num%=gridwidth%/2-x%
�3� num% � 2=1 � num%-=1 : xmove%=stw% � xmove%=0
�C� num% � 12=0 � ș wimp_setcol%,11 � ș wimp_setcol%,rulerfcol%
�� num%=0 �
�&� xc%+(gridwidth%/2)*stw%-8,yc%-24
�� ;num%
��
�� num%<10 � xmove%+=8
�$� xc%+x%*stw%+xmove%+scl%,yc%-24
�� ;num%
��
��
�num%=x%-gridwidth%/2
�3� num% � 2=1 � num%-=1 : xmove%=stw% � xmove%=0
�C� num% � 12=0 � ș wimp_setcol%,11 � ș wimp_setcol%,rulerfcol%
�� num%<10 � xmove%-=8
�(� xc%+(x%-1)*stw%-xmove%+scl%,yc%-24
�� num%<>0 � � ;num%
��
�� x%
��
�� botrule%
�wx%=block%!4-block%!20
�wy%=block%!16-block%!24
�xc%=wx%+rulesize%-xpix%
�yc%=wy%-26
�minx%=block%!28-wx%
�maxx%=block%!36-wx%
�!min%=(minx%-rulesize%)/stw%-5
�!max%=(maxx%-rulesize%)/stw%+5
�min%-=min% � 2
�max%+=max% � 2
�'� max%>gridwidth% � max%=gridwidth%
�� min%<0 � min%=0
�ș wimp_setcol%,rulerfcol%
�scl%=(stw%-30)/2
�Ȏ manner% �
�	� 0,1
�� stitch%=min% � max%
�x%=xc%+stitch%*stw%
�� stitch%�10=0 �
�@� x%+(16*(stitch%>9))+(8*(stitch%>99))+(8*(stitch%>999)),yc%
�� ;stitch%
�� x%,wy%-20
�� x%,wy%
��
�!� x%,wy%-10+(7*(stitch%�5=0))
�� x%,wy%
��
�
� stitch%
�� 2
�� x%=min% � max% � 2
�� x%<=gridwidth%/2 �
�num%=gridwidth%/2-x%
�3� num% � 2=1 � num%-=1 : xmove%=stw% � xmove%=0
�C� num% � 12=0 � ș wimp_setcol%,11 � ș wimp_setcol%,rulerfcol%
�� num%=0 �
�&� xc%+(gridwidth%/2)*stw%-8,yc%+24
�� ;num%
��
�� num%<10 � xmove%+=8
�$� xc%+x%*stw%+xmove%+scl%,yc%+24
�� ;num%
��
��
�num%=x%-gridwidth%/2
�3� num% � 2=1 � num%-=1 : xmove%=stw% � xmove%=0
�C� num% � 12=0 � ș wimp_setcol%,11 � ș wimp_setcol%,rulerfcol%
�� num%<10 � xmove%-=8
�(� xc%+(x%-1)*stw%-xmove%+scl%,yc%+24
�� num%<>0 � � ;num%
�
� x%
�
� leftrule%
wx%=block%!4-block%!20
wy%=block%!16-block%!24
xc%=wx%+rulesize%-xpix2%
!yc%=wy%+ruleheight%+rulesize%
#miny%=block%!32-wy%-ruleheight%
	#maxy%=block%!40-wy%-ruleheight%

!min%=(miny%-rulesize%)/rht%-5
!max%=(maxy%-rulesize%)/rht%+5
)� max%>gridheight% � max%=gridheight%

� min%<0 � min%=0
ș wimp_setcol%,rulerfcol%
Ȏ manner% �
	� 0,1
� row%=min% � max%

x%=xc%-26
y%=yc%+row%*rht%+ypix%
� row%�10=0 �
L� x%+(16*(row%>9))+(16*(row%>99))+(8*(row%>999)),y%-ypix2%-(32*(row%=0))
� ;row%
� xc%-20,y%
� xc%,y%
�
� xc%-10+(7*(row%�5=0)),y%
� xc%,y%
�

� row%
� 2
min%-=min% � 2
 scl%=(stw%-30)/2
!xmove%=0
"� y%=min% � max% � 2
#"� y%<10 � xmove%=16 � xmove%=0
$� y%>99 � xmove%-=16
%A� y% � 10=0 � ș wimp_setcol%,11 � ș wimp_setcol%,rulerfcol%
&$� xc%-32+xmove%,yc%+y%*rht%-scl%
'	� ;y%
(� y%
)�
*� rightrule%
+wx%=block%!4-block%!20
,wy%=block%!16-block%!24
-xc%=wx%
.!yc%=wy%+ruleheight%+rulesize%
/#miny%=block%!32-wy%-ruleheight%
0#maxy%=block%!40-wy%-ruleheight%
1!min%=(miny%-rulesize%)/rht%-5
2!max%=(maxy%-rulesize%)/rht%+5
3)� max%>gridheight% � max%=gridheight%
4� min%<0 � min%=0
5ș wimp_setcol%,rulerfcol%
6Ȏ manner% �
7	� 0,1
8� row%=min% � max%
9
x%=xc%+10
:y%=yc%+row%*rht%+ypix%
;� row%�10=0 �
</� x%+(8*(row%>999)),y%-ypix2%-(32*(row%=0))
=� ;row%
>� xc%+20,y%
?� xc%,y%
@�
A� xc%+10-(7*(row%�5=0)),y%
B� xc%,y%
C�
D
� row%
E� 2
Fmin%-=min% � 2
Gscl%=(stw%-30)/2
H� y%=min% � max% � 2
IA� y% � 10=0 � ș wimp_setcol%,11 � ș wimp_setcol%,rulerfcol%
J� xc%,yc%+y%*rht%-scl%
K	� ;y%
L� y%
M�
N�
O
P ș &000400CA,,block% � more%
Q�
R�
S:
T� �qc(answer%)
U� answer%=0 �
V� titleopen%=� � �ab
W� mainopen%=� � �nd(main%)
X� editopen%=� � �za(edit%)
Y/� sourcespr%<>0 � sourcespr%=�h(sourcespr%)
Z2� transtable%<>0 � transtable%=�h(transtable%)
[,� coltable%<>0 � coltable%=�h(coltable%)
\editcreated%=�
]state_file$=data_infile$
^�db
_/� editstore%<>0 � editstore%=�h(editstore%)
`!block%=main%
aȎ manner% �
b� 0,2: block%!4=30
c� 1  : block%!4=16
d�
eblock%!24=&18F
f�mc
g�mb
h�
i�
j:
k� �od(answer%)
l� answer%=0 �
m�za(edit%)
n�za(colchoose%)
o�za(colcreate%)
p,� coltable%<>0 � coltable%=�h(coltable%)
q2� transtable%<>0 � transtable%=�h(transtable%)
r�je(smenu%,0,1)
s�je(smenu%,1,1)
teditstore%=�h(editstore%)
ueditcreated%=�
v
�te(1)
w�
x9$tension_sq_width%=$(editstore%+0): �fe(main%,15,0,0)
y:$tension_sq_height%=$(editstore%+7): �fe(main%,16,0,0)
z=$tension_sq_stitches%=$(editstore%+14): �fe(main%,17,0,0)
{9$tension_sq_rows%=$(editstore%+21): �fe(main%,18,0,0)
|/$tdset%=$(editstore%+28): �fe(main%,46,0,0)
}3$conv_rows%=$(editstore%+35): �fe(main%,19,0,0)
~7$ans_conv_rows%=$(editstore%+42): �fe(main%,20,0,0)
7$conv_stitches%=$(editstore%+49): �fe(main%,21,0,0)
�;$ans_conv_stitches%=$(editstore%+56): �fe(main%,22,0,0)
�/$grows%=$(editstore%+63): �fe(main%,29,0,0)
�3$gstitches%=$(editstore%+70): �fe(main%,30,0,0)
�1$gheight%=$(editstore%+77): �fe(main%,31,0,0)
�0$gwidth%=$(editstore%+84): �fe(main%,32,0,0)
�� editstore%?91=0 �
��fe(main%,37,0<<21,1<<21)
��
��fe(main%,37,1<<21,1<<21)
��
��
��
�:
�	� �xa
�� starred%=� �
���ka("Clearing the memory will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",9)
��
��ib
��
��
�:
�	� �ib
��za(edit%)
��za(colcreate%)
�2� transtable%<>0 � transtable%=�h(transtable%)
�,� coltable%<>0 � coltable%=�h(coltable%)
�,� infobuff%<>0 � infobuff%=�h(infobuff%)
�,� helpbuff%<>0 � helpbuff%=�h(helpbuff%)
�,� paltable%<>0 � paltable%=�h(paltable%)
�/� nametable%<>0 � nametable%=�h(nametable%)
�/� editstore%<>0 � editstore%=�h(editstore%)
�/� symbstore%<>0 � symbstore%=�h(symbstore%)
�/� symbpoint%<>0 � symbpoint%=�h(symbpoint%)
�,� symbsize%<>0 � symbsize%=�h(symbsize%)
�/� nametable%<>0 � nametable%=�h(nametable%)
�8� descinfobuff%<>0 � descinfobuff%=�h(descinfobuff%)
�,� descbuff%<>0 � descbuff%=�h(descbuff%)
�G� extradescinfobuff%<>0 � extradescinfobuff%=�h(extradescinfobuff%)
�;� extradescbuff%<>0 � extradescbuff%=�h(extradescbuff%)
� � draw%<>0 � draw%=�h(draw%)
�/� sourcespr%<>0 � sourcespr%=�h(sourcespr%)
��je(smenu%,0,1)
��je(smenu%,1,1)
��se(editmenu%,1)
��we(editmenu%,0)
��we(editmenu%,2)
�sprite_file$=""
�draw_file$=""
�pictype$="none"
�
helpon%=�
��fe(main%,52,0<<21,1<<21)
�
�te(0)
��ya
�
�ed(1)
�
�cc(1)
�/$tension_sq_width%="0.0": �fe(main%,15,0,0)
�0$tension_sq_height%="0.0": �fe(main%,16,0,0)
�"$grows%="0": �fe(main%,29,0,0)
�&$gstitches%="0": �fe(main%,30,0,0)
�&$gheight%="0.0": �fe(main%,31,0,0)
�%$gwidth%="0.0": �fe(main%,32,0,0)
�
�re(5)
�5� mainopen%=� � �oa(main%,15,�$tension_sq_width%)
�editcreated%=�
��
�:
�	� �hd
�� xef%,yef%,size%
�xef%=�r(-1,4)
�yef%=�r(-1,5)
�!xpix%=1<<xef%: xpix2%=2<<xef%
�!ypix%=1<<yef%: ypix2%=2<<yef%
�� sourcespr%<>0 �
�Aș &00040740,sourcespr%,sourceaddr%,-1,-1,0,1,0,0 � ,,,,size%
�2� transtable%<>0 � transtable%=�h(transtable%)
�transtable%=�b(size%)
�?ș &00040740,sourcespr%,sourceaddr%,-1,-1,transtable%,1,0,0
��
��
�:
�	� �bf
�� i%
�ș &000406C0
�,� coltable%<>0 � coltable%=�h(coltable%)
�*coltable%=�b(gridheight%*gridwidth%+8)
�'� i%=0 � gridheight%*gridwidth% � 4
�coltable%!i%=&80808080
�� i%
�ș &000406C1
��
�:
�� �bd(file$)
�N� han%,row%,col_count%,rows_offset%,dir%,stitch%,col%,terminator%,current%
�� �
�� � �: �pd: � �: �
�ș &000406C3,1
�han%=-1
�$rows_offset%=�$(patstore%+100)-1
�han%=�(file$)
�
?block%=3
�ș &00000007,14,block%
�aș &0004304B,-1,block%,timeanswer%,100,"%we %zdy%st %mo %ce%yr (%z12:%mi %am)" � ,terminator%
�?terminator%=13
�)�#han%,�(9)+�(9)+�(9)+�(9)+$patstore%
�8�#han%,�(9)+�(9)+�(9)+"File Created : "+$timeanswer%
�p�#han%,�(9)+�(9)+�(9)+�(gridheight%)+" Rows (from "+�(rows_offset%+1)+" to "+�(rows_offset%+gridheight%)+")"
�5�#han%,�(9)+�(9)+�(9)+"Stitches : "+�(gridwidth%)
�;�#han%,�(9)+�(9)+�(9)+"Number of colours used : "+�(�g)
�I�#han%,�(9)+�(9)+�(9)+"Tension dial setting   : "+$tdset%+�(10)+�(10)
�� patstore%?115=255 �
�
stitch%=0
�
dir%=1
��
�stitch%=gridwidth%-1
�dir%=-1
��
�
row%=0
�col_count%=0
�ȕ row%<gridheight%
�'ș &000406C4,(row%*100)/gridheight%
��#han%,"Row    ";
�,� row%+rows_offset%>=9 � �#han%=�#han%-1
�-� row%+rows_offset%>=99 � �#han%=�#han%-1
�.� row%+rows_offset%>=999 � �#han%=�#han%-1
�,�#han%,�(row%+rows_offset%+1)+" :"+�(9);
�2current%=(coltable%?(row%*gridwidth%+stitch%))
�&ȕ stitch%<gridwidth% � stitch%>-1
�.col%=(coltable%?(row%*gridwidth%+stitch%))
� col%=current% �
col_count%+=1
�
� (current% � 128)=0 �
?�#han%,�col_count%+" "+$(nametable%+(current%�63)*13)+�(9);
�
(�#han%,�col_count%+" "+"Blank"+�(9);
�
col_count%=1
	current%=col%

�
stitch%+=dir%
�

� (current% � 128)=0 �
?�#han%,�col_count%+" "+$(nametable%+(current%�63)*13)+�(9);
�
(�#han%,�col_count%+" "+"Blank"+�(9);
�
�#han%,�(10);
"� (row%+6)�5=0 � �#han%,�(10);
row%+=1
col_count%=0
#� stitch%<0 � stitch%=0: dir%=1
:� stitch%>gridwidth%-1 � stitch%=gridwidth%-1: dir%=-1
�
ș &000406C1

�#han%
han%=-1
�("SetType "+file$+" Text")
� �
�
:
 	� �pd
!� han%<>-1 � �#han%
"han%=-1
#�sb
$�
%:
&� �g
'� num%,i%,col%
(
num%=0
) � i%=block% � block%+maxcol%
*	?i%=0
+� i%
,%� i%=0 � gridwidth%*gridheight%-1
-col%=(coltable%?i%) � 63
.block%?col%=1
/� i%
0 � i%=block% � block%+maxcol%
1� ?i%<>0 � num%+=1
2� i%
3	=num%
4:
5� �wc(file$)
6N� han%,row%,col_count%,rows_offset%,dir%,stitch%,col%,terminator%,current%
7I� framewd%,frameht%,charwd%,maxlen%,tab%,currtab%,columns%,curcolumn%
8� �
9� � �: �pd: � �: �
:ș &000406C3,1
;han%=-1
<$rows_offset%=�$(patstore%+100)-1
=%� rows_offset%<0 � rows_offset%=0
>0framewd%=�(((�$(patstore%+110))*10*72)/25.4)
?0frameht%=�(((�$(patstore%+105))*10*72)/25.4)
@
charwd%=6
AMș &00000029,26,"<EasyKnit$Dir>.Resources.AdvHeader",file$,(1<<10)+(1<<1)
Bhan%=�(file$)
C�#han%=�#han%
D
maxlen%=0
E� col%=0 � maxcol%
FE� �$(nametable%+col%*13)>maxlen% � maxlen%=�$(nametable%+col%*13)
G
� col%
H-� maxlen%<�("Blank") � maxlen%=�("Blank")
Imaxlen%+=7
Jtab%=maxlen%*charwd%
Kcurrtab%=85
L'� gridheight%>9 � currtab%+=charwd%
M(� gridheight%>99 � currtab%+=charwd%
N)� gridheight%>999 � currtab%+=charwd%
Ocolumns%=0
Pȕ currtab%<framewd%-tab%
Q
R&�#han%,"right "+�(currtab%-6)+",";
S�#han%,�currtab%+"pt,";
Tcolumns%+=1
Ucurrtab%+=tab%
V�
W�#han%=�#han%-1
X�#han%,"}";
Y
?block%=3
Zș &00000007,14,block%
[aș &0004304B,-1,block%,timeanswer%,100,"%we %zdy%st %mo %ce%yr (%z12:%mi %am)" � ,terminator%
\?terminator%=13
]Q�#han%,"{""Heading"" on}{font Trinity.Medium}{fontsize 18pt}{tab}"+$patstore%
^o�#han%,"{fontsize}{""Heading"" off}{""Sub Heading"" on}{fontsize 14pt}{tab}"+"File Created : "+$timeanswer%
_i�#han%,"{tab}"+�(gridheight%)+" Rows (from "+�(rows_offset%+1)+" to "+�(rows_offset%+gridheight%)+")"
`+�#han%,"{tab}Stitches : "+�(gridwidth%)
a1�#han%,"{tab}Number of colours used : "+�(�g)
b3�#han%,"{tab}Tension dial setting   : "+$tdset%
c?�#han%,"{font}{fontsize}{""Sub Heading"" off}{""Rows"" on}"
d(�#han%,"{""Rows"" off}{""Rows"" on}"
e=�#han%,"{""Rows"" off}{""Rows"" on}{font Corpus.Medium}";
f� patstore%?115=255 �
g
stitch%=0
h
dir%=1
i�
jstitch%=gridwidth%-1
kdir%=-1
l�
m
row%=0
ncol_count%=0
oȕ row%<gridheight%
p'ș &000406C4,(row%*100)/gridheight%
q� (row% � 5=0) � row%<>0 �
rcurcolumn%=0
s�#han%,"***";
tȕ curcolumn%<columns%
u�#han%,"{tab}{tab}****";
vcurcolumn%+=1
w�
x�#han%,�(10);
y�
z�#han%,"Row ";
{
|7� gridheight%>9 � row%+rows_offset%<9 � �#han%," ";
}9� gridheight%>99 � row%+rows_offset%<99 � �#han%," ";
~;� gridheight%>999 � row%+rows_offset%<999 � �#han%," ";
'�#han%,�(row%+rows_offset%+1)+" :";
�2current%=(coltable%?(row%*gridwidth%+stitch%))
�curcolumn%=1
�&ȕ stitch%<gridwidth% � stitch%>-1
�.col%=(coltable%?(row%*gridwidth%+stitch%))
�� col%=current% �
�col_count%+=1
��
�� (current% � 128)=0 �
�F�#han%,"{tab}"+�col_count%+"{tab}"+$(nametable%+(current%�63)*13);
�curcolumn%+=1
�� curcolumn%>columns% �
�curcolumn%=1
��#han%,�(10);
��
��
�,�#han%,"{tab}"+�col_count%+"{tab}Blank";
�curcolumn%+=1
�� curcolumn%>columns% �
�curcolumn%=1
��#han%,�(10);
��
��
�col_count%=1
�current%=col%
��
�stitch%+=dir%
��
�� (current% � 128)=0 �
�F�#han%,"{tab}"+�col_count%+"{tab}"+$(nametable%+(current%�63)*13);
��
�,�#han%,"{tab}"+�col_count%+"{tab}Blank";
��
��#han%,�(10);
�row%+=1
�col_count%=0
�#� stitch%<0 � stitch%=0: dir%=1
�:� stitch%>gridwidth%-1 � stitch%=gridwidth%-1: dir%=-1
��
�ș &000406C1
�
�#han%
�han%=-1
�� �
��
�:
�	� �ld
�!� stack%,orig%,flags%,toggle%
�� !block%=colcreate% �
�createopen%=�
�block%!100=colpane%
�ș &000400CB,,block%+100
�block%!104=block%!4+42
�block%!112=block%!104+362
�block%!116=block%!16-30
�block%!108=block%!116-300
�block%!128=block%!28
�ș &000400C5,,block%+100
�block%!28=colpane%
��
�� !block%=edit% �
�orig%=block%!28
�stack%=block%!28
�block%!200=tbardisp%
�ș &000400CB,,block%+200
�,� stack%<>-1 � stack%<>-2 � stack%<>-3 �
�:� zoomstack%=0 � stack%=block%!228 � stack%=zoomstack%
��
�block%!200=edit%
�ș &000400CB,,block%+200
�-flags%=block%!232: flags%=flags% �(1<<16)
�0toggle%=block%!232: toggle%=toggle% �(1<<19)
�O� flags%=(1<<16) � zoomstack%=0 � stack%<>-2 � toggle%<>1 � block%!28=tbar%
�$� toggle%=(1<<19) � block%!28=-1
�block%!200=edit%
�ș &000400C5,,block%
�ș &000400CB,,block%+200
�"� orig%=-2 � stack%=block%!228
�block%!100=tbardisp%
�block%!104=block%!204
�block%!112=block%!204+240
�!block%!108=block%!216-tbarht%
�block%!116=block%!216
�block%!120=0:block%!124=0
�block%!128=stack%
�ș &000400C5,,block%+100
�block%!100=tbar%
�ș &000400CB,,block%+100
�block%!104=block%!204+240
�block%!112=block%!212
�!block%!108=block%!216-tbarht%
�block%!116=block%!216
�block%!124=0
�block%!128=tbardisp%
�ș &000400C5,,block%+100
�� pagerulers%=� �
�block%!100=cornertl%
�block%!104=block%!204
�*block%!112=block%!204+rulesize%-xpix2%
�2block%!108=block%!216-rulesize%-tbarht%+ypix2%
�!block%!116=block%!216-tbarht%
�block%!120=0:block%!124=0
�block%!128=tbar%
�ș &000400C5,,block%+100
�block%!100=cornertr%
�*block%!104=block%!212-rulesize%+xpix2%
�block%!112=block%!212
�2block%!108=block%!216-rulesize%-tbarht%+ypix2%
�!block%!116=block%!216-tbarht%
�block%!120=0:block%!124=0
�block%!128=cornertl%
�ș &000400C5,,block%+100
�block%!100=cornerbl%
�block%!104=block%!204
�*block%!112=block%!204+rulesize%-xpix2%
�block%!108=block%!208
�)block%!116=block%!208+rulesize%-ypix%
�block%!120=0:block%!124=0
�block%!128=cornertr%
�ș &000400C5,,block%+100
�block%!100=cornerbr%
�*block%!104=block%!212-rulesize%+xpix2%
�block%!112=block%!212
�block%!108=block%!208
�)block%!116=block%!208+rulesize%-ypix%
�block%!120=0:block%!124=0
�block%!128=cornerbl%
�ș &000400C5,,block%+100
�block%!100=botrule%
�block%!104=block%!204+xpix%
block%!112=block%!212-xpix%
block%!108=block%!208+ypix%
)block%!116=block%!208+rulesize%-ypix%
&block%!120=block%!220:block%!124=0
block%!128=cornerbr%
ș &000400C5,,block%+100
block%!100=leftrule%
block%!104=block%!204+xpix%
)block%!112=block%!204+rulesize%-xpix%
	block%!108=block%!208+ypix%

block%!116=block%!216-ypix%
&block%!120=0:block%!124=block%!224
block%!128=botrule%

ș &000400C5,,block%+100
block%!100=rightrule%
*block%!104=block%!212-rulesize%+xpix2%
block%!112=block%!212-xpix%
block%!108=block%!208+ypix%
block%!116=block%!216-ypix%
&block%!120=0:block%!124=block%!224
block%!128=leftrule%
ș &000400C5,,block%+100
block%!100=toprule%
block%!104=block%!204+xpix%
block%!112=block%!212-xpix%
2block%!108=block%!216-rulesize%-tbarht%+ypix2%
(block%!116=block%!216-tbarht%+ypix2%
&block%!120=block%!220:block%!124=0
block%!128=rightrule%
ș &000400C5,,block%+100
block%!28=toprule%
�
 block%!28=tbar%
!�
"�
#+� !block%<>edit% � ș &000400C5,,block%
$%� !block%=edit% � zoomstack%<>0 �
% � orig%=-2 � block%!28=tbar%
&ș &000400C5,,block%
'�
(�
):
*� �nd(whan%)
+� w%,h%
,Ȏ whan% �
-� savebox%
.dragtype%=0
/� edit%
0editopen%=�
1
2�ob
3!block%=edit%
4ș &000400CB,,block%
5block%!28=-1
6�ld
7� colcreate%
8
9createopen%=�
:editcol%=-2
;$cname%=""
<�fe(colcreate%,3,0,0)
=�xb
>*� carb%!0=colcreate% � ș &000400D2,-1
?!block%=colcreate%
@ș &000400CB,,block%
Aw%=block%!12-block%!4
Bh%=block%!16-block%!8
Cblock%!100=edit%
Dș &000400CB,,block%+100
Eblock%!4=block%!104
F%block%!8=block%!116-h%-tbarht%-42
Gblock%!12=block%!4+w%
H#block%!16=block%!116-tbarht%-42
Iblock%!28=-1
J�ld
K� colpick%
L
Mblock%!0=colpick%
Nș &000400CB,,block%
Ow%=block%!12-block%!4
Ph%=block%!16-block%!8
Qblock%!100=colcreate%
Rș &000400CB,,block%+100
Sblock%!4=block%!112+xpix2%
Tblock%!8=block%!116-h%
Ublock%!12=block%!4+w%
Vblock%!16=block%!116
Wblock%!28=-1
X�ld
Y
Zblock%!0=whan%
[ș &000400CB,,block%
\block%!28=-1
]ș &000400C5,,block%
^�
_� whan%=main% �
`mainopen%=�
aȎ manner% �
b	� 0,2
c�oa(main%,29,�$(grows%))
d� 1
e� �m(main%,19) �
f%�oa(main%,15,�$tension_sq_width%)
g�
h�oa(main%,19,�$conv_rows%)
i�
j�
k�
l�
m:
n	� �ob
o� width%,extra%
p&width%=stw%*gridwidth%+rulesize%*2
q5ruleheight%=-rht%*gridheight%-rulesize%*2-tbarht%
reditht%=-ruleheight%
s%�jd(edit%,0,ruleheight%,width%,0)
t5� width%<tbarw% � extra%=tbarw%-width% � extra%=0
u)�jd(tbar%,0,-tbarht%,width%+extra%,0)
v'�jd(toprule%,0,-rulesize%,width%,0)
w'�jd(botrule%,0,-rulesize%,width%,0)
x,�jd(leftrule%,0,ruleheight%,rulesize%,0)
y-�jd(rightrule%,0,ruleheight%,rulesize%,0)
z�
{:
|(� �jd(whan%,minx%,miny%,maxx%,maxy%)
}block%!300=whan%
~ș &000400C6,,block%+300
block%!300=minx%
�block%!304=miny%
�block%!308=maxx%
�block%!312=maxy%
�!ș &000400D7,whan%,block%+300
��
�:
�� �za(whan%)
�
� wx%,wy%
�Ȏ whan% �
�� main%
�mainopen%=�
��xb
�%� carb%!0=main% � ș &000400D2,-1
�� edit%
�editopen%=�
�!block%=tbardisp%
�ș &000400C6,,block%
�!block%=tbar%
�ș &000400C6,,block%
�!block%=toprule%
�ș &000400C6,,block%
�!block%=botrule%
�ș &000400C6,,block%
�!block%=leftrule%
�ș &000400C6,,block%
�!block%=rightrule%
�ș &000400C6,,block%
�!block%=cornertl%
�ș &000400C6,,block%
�!block%=cornertr%
�ș &000400C6,,block%
�!block%=cornerbl%
�ș &000400C6,,block%
�!block%=cornerbr%
�ș &000400C6,,block%
�!block%=zoom%
�ș &000400C6,,block%
�!block%=colcreate%
�ș &000400C6,,block%
�!block%=colpane%
�ș &000400C6,,block%
�!block%=colpick%
�ș &000400C6,,block%
�!block%=colchoose%
�ș &000400C6,,block%
�!block%=symbpick%
�ș &000400C6,,block%
�� copy%=� � �pb
�� colcreate%
�createopen%=�
�!block%=colpane%
�ș &000400C6,,block%
�!block%=colpick%
�ș &000400C6,,block%
�!block%=edit%
�ș &000400CB,,block%
�wx%=block%!4-block%!20
�wy%=block%!16-block%!24
�Lș &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
��
�!block%=whan%
�ș &000400C6,,block%
��
�:
�	� �rb
�� !block%=edit% �
�mask%=&400:coords%=�
�:� copy%=� � ș &000400E9,36,0,"ptr_botleft",2,0,10,0,0
��
�*� !block%=tbar% � mask%=&400:intbar%=�
��
�:
�	� �nc
�*� !block%=edit% � copy%=� � *POINTER 1
�$� !block%=edit% � dragtype%<>1 �
�mask%=&401:coords%=�
�
$trow%=""
�$tstitch%=""
��fe(tbardisp%,3,0,0)
��fe(tbardisp%,4,0,0)
�oldrow%=-1: oldstitch%=-1
��
�*� !block%=tbar% � mask%=&401:intbar%=�
��
�:
�	� �id
�4� button%,window%,icon%,mx%,my%,flags%,gridfigs%
�<� wx%,wy%,orx%,ory%,stitch%,row%,minx%,miny%,maxx%,maxy%
�A� column%,col%,x%,y%,w%,h%,r%,g%,b%,l%,t%,rgb%,task%,newsymb%
�J� stw,rht,width%,height%,scalex,scaley,scale%,len%,zero%,newpage%,inc%
�mx%=block%!0
�my%=block%!4
�button%=block%!8
�window%=block%!12
�icon%=block%!16
�� titleopen%=� � �ab
�� button%=2 �
�Ȏ window% �
�*� -2: �le(imenu%,block%!0-64,140+2*44)
�#� main%: �le(dmenu%,mx%-64,my%)
�� edit%
�� copy%=� � �pb
��le(emenu%,mx%-64,my%)
�A� tbar%: � icon%=10 � maxcol%<>-1 � �le(maskmenu%,mx%-64,my%)
�,� toprule%,botrule%,leftrule%,rightrule%
��le(rulermenu%,mx%-64,my%)
��
��
�Ȏ window% �
�� -2
��nd(main%)
�� symbpick%
��wa(icon%)
�� print%
�Ȏ icon% �
�� 8
��na
�stw=stitchwidth
�
rht=rowht
�%ș &00080143 � ,w%,h%,l%,b%,r%,t%
�width%=r%-l%
�height%=t%-b%
�2ș &00040088,,width%,height% � ,width%,height%
�scalex=0
�<ȕ (100*2+gridwidth%*stw*scalex)<width%: scalex+=0.01: �
�scaley=0
�>ȕ (100*3+gridheight%*rht*scaley)<height%: scaley+=0.01: �
�scalex-=0.01
scaley-=0.01
;� scalex>scaley � scale%=100*scaley � scale%=100*scalex
$prscale%=�(scale%)
�fe(print%,5,0,0)
�xb
;� carb%!0=print% � carb%!4=5 � �oa(print%,5,�$prscale%)
�sd
� 11
�rd
	!� button%=4 � ș&000400D4,,-1

� 15
!�ic(print%,5,999,1,button%,1)
�sd

� 16
"�ic(print%,5,999,1,button%,-1)
�sd
� 17
ș &000400D4,,-1
�

� ask%

�za(ask%)
,�oa(block%!1000,block%!1004,block%!1020)
�vb(w%,h%)
ȗ ȓ 0,0,w%,h%
Ȏ asktype% �
5� 0 : �od(icon%): � icon%=0 � �rc: editcreated%=�
� 1 : �qc(icon%)
� 2 : � icon%=0 � �qa
� 3 : � icon%=0 � �ra
� 4 : � icon%=0 � �sa
� 5 : � icon%=0 � �pa
%� 6 : �od(icon%): � icon%=0 � �pc
 � 7 : �od(icon%)
!� 8 : � icon%=0 � exit%=�
"� 9 : � icon%=0 � �ib
#�10 : � icon%=0 � �ta
$�
%
� report%
&�za(report%)
',�oa(block%!1000,block%!1004,block%!1020)
(�vb(w%,h%)
)ȗ ȓ 0,0,w%,h%
*� pattern%
+Ȏ icon% �
,� 12,13
-#�fe(pattern%,icon%,1<<21,1<<21)
.� 15
/$projname%=$patstore%
0$roffset%=$(patstore%+100)
1$tframeh%=$(patstore%+105)
2$tframew%=$(patstore%+110)
3�fe(pattern%,8,0,0)
4�fe(pattern%,9,0,0)
5�fe(pattern%,10,0,0)
6�fe(pattern%,11,0,0)
7� patstore%?115=255 �
8 �fe(pattern%,12,1<<21,1<<21)
9 �fe(pattern%,13,0<<21,1<<21)
:�
; �fe(pattern%,12,0<<21,1<<21)
< �fe(pattern%,13,1<<21,1<<21)
=�
>"� button%=4 � ș &000400D4,,-1
?�xb
@� !carb%=pattern% �
A!block%=pattern%
Bblock%!4=carb%!4
Cș &000400CE,,block%
D'�oa(pattern%,carb%!4,�$(block%!28))
E�
F� 14
G$patstore%=$projname%
H$(patstore%+100)=$roffset%
I$(patstore%+105)=$tframeh%
J$(patstore%+110)=$tframew%
K!patstore%?115=�l(pattern%,12)
L"� button%=4 � ș &000400D4,,-1
M
�te(1)
N�
O� savebox%
PȎ icon% �
Q� 0
R� (button% � &50)>0 �
S)� button%=&10 � adjust%=� � adjust%=�
T%�jb(�$savespr%,8),icon%,savebox%)
U�
V!� 2: adjust%=(button%=1): �td
W(� 3: �za(savebox%): ș &000400D4,,-1
X� 4
YȎ savetype% �
Z� 1
[drawheader%=�l(savebox%,4)
\� 2
]� �l(savebox%,4)=� �
^�fe(savebox%,5,0<<21,1<<21)
_plaintext%=�
`�
a�fe(savebox%,5,1<<21,1<<21)
bplaintext%=�
c�
d�
e� 5
fȎ savetype% �
g� 1
hdrawrulers%=�l(savebox%,5)
i� 2
j� �l(savebox%,5)=� �
k�fe(savebox%,4,0<<21,1<<21)
lplaintext%=�
m�
n�fe(savebox%,4,1<<21,1<<21)
oplaintext%=�
p�
q�
r�
s� colcreate%
tȎ icon% �
u� 0
vmaxcol%+=1
w� maxcol%=32 �
xmaxcol%=31
y7�wd("Sorry, there can be no more than 32 colours.")
z�
{#paltable%!(maxcol%*4)=&DDDDDD00
|3$(nametable%+maxcol%*13)="Colour "+�(maxcol%+1)
}�yc
~)�fe(colpane%,maxcol%*3+1,1<<21,1<<21)
;� editcol%<>-2 � �fe(colpane%,editcol%*3+1,0<<21,1<<21)
�editcol%=maxcol%
�2block%!24=-(124+maxcol%*76)+block%!16-block%!8
�ș &000400C5,,block%
�?ș &000400D1,colpane%,0,-20-76-maxcol%*76,362,20-maxcol%*76
�!block%=colpick%
�ș &000400CB,,block%
�*� ((block%?34) � 1)<>1 � �nd(colpick%)
�"$cname%="Colour "+�(maxcol%+1)
��fe(colcreate%,3,0,0)
��oa(colcreate%,3,�$cname%)
�!block%=colchoose%
�ș &000400CB,,block%
�� ((block%?34) � 1)=1 �
��xc
�ș &000400C5,,block%
�Iș &000400D1,colchoose%,0,-20-maxcol%*76-3*76,362,-20-maxcol%*76-2*76
��
��
�� 1
�
� � editcol%<>-2 � maxcol%>0 �
�col%=editcol%
�ȕ col%<maxcol%
�3$(nametable%+col%*13)=$(nametable%+(col%+1)*13)
�-paltable%!(col%*4)=paltable%!((col%+1)*4)
�col%+=1
��
�maxcol%-=1
��yc
�ș &000400C5,,block%
�Dș &000400D1,colpane%,0,-20-(maxcol%+2)*76,362,-20-(editcol%)*76
�$cname%=""
��fe(colcreate%,3,0,0)
��oa(colcreate%,3,�$cname%)
�!block%=colchoose%
�ș &000400CB,,block%
�+� currentcol%>editcol% � currentcol%-=1
�/� currentcol%>maxcol% � currentcol%=maxcol%
�� ((block%?34) � 1)=1 �
��xc
�ș &000400C5,,block%
�Hș &000400D1,colchoose%,0,-20-(maxcol%+4)*76,362,-20-(editcol%+2)*76
��
�
�ș &000406C0
�(� stitch%=0 � gridwidth%*gridheight%
�col%=coltable%?stitch%
�2� (col% � 63)=editcol% � coltable%?stitch%=128
�.� ((col%� 63)>editcol%) � ((col%�128)=0) �
�#col%-=1: coltable%?stitch%=col%
��
�
� stitch%
�ș &000406C1
�!block%=edit%
�ș &000400CB,,block%
�wx%=block%!4-block%!20
�wy%=block%!16-block%!24
�Lș &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
�editcol%=-2
��
�<� editcol%=-2 � �wd("Please select a colour to remove.")
�C� maxcol%=0 � �wd("There must be at least one colour defined.")
��
�� 2
�� editcol%<>-2 �
�!block%=colpick%
�ș &000400CB,,block%
�*� ((block%?34) � 1)<>1 � �nd(colpick%)
��
�+�wd("Please select a colour to alter.")
��
��
�,� toprule%,botrule%,rightrule%,leftrule%
�!ș &000400D2,edit%,-1,0,0,0,0
�� edit%
�!ș &000400D2,edit%,-1,0,0,0,0
�� maxcol%<0 �
�1�wd("Please pick some colours to use first.")
��nb
��
�$� (�l(tbar%,13) � �l(tbar%,4)) �
�
�!block%=edit%
�ș &000400CB,,block%
�orx%=(block%!4-block%!20)
�ory%=(block%!16-block%!24)
�wx%=(mx%-orx%-rulesize%)
�$wy%=(my%-ory%-rulesize%+editht%)
�� (button% � &50)>0 �
�B� wx%>0 � wx%<gridwidth%*stw% � wy%>0 � wy%<gridheight%*rht% �
�� pagerulers%=� �
�
�C� block%!4<orx%+rulesize% � block%!4+=(orx%+rulesize%)-block%!4
�f� block%!12>orx%+rulesize%+gridwidth%*stw% � block%!12-=block%!12-(orx%+rulesize%+gridwidth%*stw%)
�S� block%!8<ory%-editht%+rulesize% � block%!8+=(ory%-editht%+rulesize%)-block%!8
�block%!16-=tbarht%
�V� block%!16>ory%-tbarht%-rulesize% � block%!16-=block%!16-(ory%-tbarht%-rulesize%)
��
�block%!4+=rulesize%
�block%!8+=rulesize%
�block%!12-=rulesize%
� block%!16-=rulesize%+tbarht%
��
�block%!100=edit%
�block%!104=6
�block%!108=mx%
�block%!112=my%
�block%!116=mx%
�block%!120=my%
�block%!124=block%!4
�block%!128=block%!8
�block%!132=block%!12
�block%!136=block%!16
�ș &000400D0,,block%+100
�dragtype%=1
�� starred%=� � �te(1)
��
��
�� copy%=� �
�
�stitch%=wx%/stw%
�row%=wy%/rht%
�w%=copymaxst%-copyminst%
�h%=copymaxrow%-copyminrow%
�� copyblock%=0 �
� copyblock%=�b((w%+1)*(h%+1))
�� x%=0 � w%
�� y%=0 � h%
Scopyblock%?(y%*(w%+1)+x%)=coltable%?((y%+copyminrow%)*gridwidth%+x%+copyminst%)
� y%
� x%
�
� x%=0 � w%
� x%+stitch%<gridwidth% �
� y%=0 � h%
� y%+row%<gridheight% �
Icoltable%?((y%+row%)*gridwidth%+x%+stitch%)=copyblock%?(y%*(w%+1)+x%)
	�

	y%=h%
�
� y%

�
	x%=w%
�
� x%
2minx%=stitch%*stw%+rulesize%+xpix%*(gridon%=�)
.maxx%=minx%+(w%+1)*stw%-xpix2%*(gridon%=�)
7miny%=row%*rht%+rulesize%-editht%-ypix%*(gridon%=�)
.maxy%=miny%+(h%+1)*rht%-ypix2%*(gridon%=�)
.ș &000400D1,edit%,minx%,miny%,maxx%,maxy%
� button%=4 � �pb
�
� � �l(tbar%,4) � �ua
�
�
�

!block%=edit%
ș&000400CB,,block%
orx%=(block%!4-block%!20)
 ory%=(block%!16-block%!24)
!wx%=(mx%-orx%-rulesize%)
"$wy%=(my%-ory%-rulesize%+editht%)
#B� wx%>0 � wx%<gridwidth%*stw% � wy%>0 � wy%<gridheight%*rht% �
$stitch%=wx%/stw%
%row%=wy%/rht%
&�ua
'2minx%=stitch%*stw%+rulesize%+xpix%*(gridon%=�)
(7maxx%=stitch%*stw%+stw%+rulesize%-xpix%*(gridon%=�)
)7miny%=row%*rht%+rulesize%-editht%-ypix%*(gridon%=�)
*<maxy%=row%*rht%+rht%+rulesize%-editht%-ypix%*(gridon%=�)
+.ș &000400D1,edit%,minx%,miny%,maxx%,maxy%
,� starred%=� � �te(1)
-�
.�
/�
0� zoom%
1Ȏ icon% �
2	� 2,3
30�ic(zoom%,0,8,1,button%,(icon%=3)-(icon%=2))
4�cf
5	� 4,5
60�ic(zoom%,1,8,1,button%,(icon%=5)-(icon%=4))
7�cf
8�
9� tbar%
:Ȏ icon% �
;� 4
<�fe(tbar%,4,1<<21,1<<21)
=� 5: �ec
>� 6: �zd
?� 7: �me
@� 8
AȎ manner% �
B	� 0,1
C� button%=4 � �cb � �nb
D� 2
E�pe
F�
G� 9: �ke
H� 10
I� button%=1 �
J�vd
K�
L-� maxcol%<>-1 � �le(maskmenu%,mx%-64,my%)
M�
N� 11
O!block%=tbar%
Pș &000400CC,,block%
Q/x%=block%!(4+88+11*32+0)+block%!4-block%!20
Ry%=block%!8
Sx%-=130: y%-=42
T!block%=zoom%
Uș &000400CC,,block%
Vș &000400C3,,block%
W#block%!32=(block%!32) � (1<<25)
X"ș &000400C1,,block%+4 � zoom%
Y!block%=zoom%
Zw%=block%!12-block%!4
[h%=block%!16-block%!8
\block%!4=x%
]block%!8=y%-h%
^block%!12=x%+w%
_block%!16=y%
`block%!28=-1
aș &000400C5,,block%
b%$sclmul%=�edmul%:�fe(zoom%,0,0,0)
c%$scldiv%=�eddiv%:�fe(zoom%,1,0,0)
d�oa(zoom%,0,�$sclmul%)
e� 12
f�fe(tbar%,12,1<<21,1<<21)
g� 13
h�fe(tbar%,13,1<<21,1<<21)
i�
j(� icon%<14 � icon%>3 � copy%=� � �pb
k� colchoose%
lȎ currentcol% �
m� 64
n!�fe(colchoose%,1,0<<21,1<<21)
o	� 128
p!�fe(colchoose%,4,0<<21,1<<21)
q
r/�fe(colchoose%,currentcol%*3+7,0<<21,1<<21)
s�
t� icon%�3=0 �
ucurrentcol%=icon%/3-2
v�
wcurrentcol%=(icon%-2)/3-2
x�
yȎ currentcol% �
z� -1
{currentcol%=128
|!�fe(colchoose%,4,1<<21,1<<21)
}� -2
~currentcol%=64
!�fe(colchoose%,1,1<<21,1<<21)
�
�/�fe(colchoose%,currentcol%*3+7,1<<21,1<<21)
��
�� colpane%
�;� editcol%<>-2 � �fe(colpane%,editcol%*3+1,0<<21,1<<21)
�� icon%�3=0 �
�editcol%=icon%/3
��
�editcol%=(icon%-2)/3
��
�*�fe(colpane%,editcol%*3+1,1<<21,1<<21)
�%$cname%=$(nametable%+editcol%*13)
��fe(colcreate%,3,0,0)
��oa(colcreate%,3,�$cname%)
�� colpick%
�!block%=colpick%
�ș&000400CB,,block%
�orx%=(block%!4-block%!20)
�ory%=(block%!16-block%!24)
�wx%=(mx%-orx%-40)
�wy%=-(my%-ory%+40)
�Ȏ icon% �
�� 17
�row%=wy%/colsize%
�column%=wx%/colsize%
�col%=row%*16+column%
�� editcol%<>-2 �
�3� row%>-1 � row%<16 � column%>-1 � column%<16 �
�r%=col% � 15
�"g%=((col% � 48)>>2) � col% � 3
�!b%=(col% � 192)>>4 � col% � 3
�"rgb%=(b%<<24)�(g%<<16)�(r%<<8)
�rgb%=rgb% � (rgb%<<4)
�paltable%!(editcol%*4)=rgb%
�Aș &000400D1,colpane%,0,-20-76*editcol%-76,90,-20-76*editcol%
�!block%=colchoose%
�ș &000400CB,,block%
�� ((block%?34) � 1)=1 �
�Jș &000400D1,colchoose%,0,-20-76*editcol%-76*3,90,-20-76*editcol%-76*2
��xc
�ș &000400C5,,block%
��
��
��
�'�wd("Please select a colour first")
��
�,� 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
�� editcol%<>-2 �
�Ȏ icon% �
�� 1: rgb%=&FFFFFF00
�� 2: rgb%=&DDDDDD00
�� 3: rgb%=&BBBBBB00
�� 4: rgb%=&99999900
�� 5: rgb%=&77777700
�� 6: rgb%=&55555500
�� 7: rgb%=&33333300
�� 8: rgb%=&00000000
�� 9: rgb%=&99440000
�� 10:rgb%=&00EEEE00
�� 11:rgb%=&00CC0000
�� 12:rgb%=&0000DD00
�� 13:rgb%=&BBEEEE00
�� 14:rgb%=&00885500
�� 15:rgb%=&00BBFF00
�� 16:rgb%=&FFBB0000
��
�paltable%!(editcol%*4)=rgb%
�Aș &000400D1,colpane%,0,-20-76*editcol%-76,90,-20-76*editcol%
�!block%=colchoose%
�ș &000400CB,,block%
�� ((block%?34) � 1)=1 �
�Jș &000400D1,colchoose%,0,-20-76*editcol%-3*76,90,-20-76*editcol%-2*76
��xc
�ș &000400C5,,block%
��
��
�'�wd("Please select a colour first")
��
�� 18
�� colpick%=smallpick% �
�!block%=colpick%
�ș &000400C6,,block%
�colpick%=largepick%
�colsize%=40
��nd(colpick%)
��
�!block%=colpick%
�ș &000400C6,,block%
�colpick%=smallpick%
�colsize%=20
��nd(colpick%)
��
��
�� main%
�Ȏ icon% �
�� 0
�
�re(0)
��mb
�� button%=4 � �za(main%)
�� 23
��xd
�!�ic(main%,20,999,0,button%,1)
�
�/$conv_rows%=�q(�$ans_conv_rows%,row_height)
��fe(main%,19,0,0)
�0$conv_stitches%=�q(spx%*�$conv_rows%,1/spy%)
��fe(main%,21,0,0)
�7$ans_conv_stitches%=�s(conv_stitches%,stitch_width)
��fe(main%,22,0,0)
�� �$conv_rows%<>0 �
�
�cc(0)
��
�
�cc(1)
��
�� 24
��xd
�"�ic(main%,20,999,0,button%,-1)
�/$conv_rows%=�q(�$ans_conv_rows%,row_height)
��fe(main%,19,0,0)
�0$conv_stitches%=�q(spx%*�$conv_rows%,1/spy%)
��fe(main%,21,0,0)
�7$ans_conv_stitches%=�s(conv_stitches%,stitch_width)
��fe(main%,22,0,0)
�� �$conv_rows%<>0 �
�
�cc(0)
�
�re(6)
��
�
�cc(1)
	
�re(2)
	�
	� 37
	� �l(main%,37) �
	zero%=�e
	� zero%=� �
	�fe(main%,37,0<<21,1<<21)
	�fe(main%,4,3<<24,15<<24)
	� icon%= 9 � 10
		!�fe(main%,icon%,1<<24,15<<24)
	
� icon%
	A�wd("Please enter Tension square measurements and try again")
	%�oa(main%,15,�$tension_sq_width%)
	
�re(5)
	
�cc(1)
	�
	�oa(main%,29,�$grows%)
	3$gheight%=��(row_height),5) : �fe(main%,31,0,0)
	4$gwidth%=��(stitch_width),5) : �fe(main%,32,0,0)
	
�ed(5)
	� �$grows%<>0 �
	'$conv_rows%=�q(�$grows%,row_height)
	�fe(main%,19,0,0)
	�
	� �$gstitches%<>0 �
	1$conv_stitches%=�q(�$gstitches%,stitch_width)
	�fe(main%,21,0,0)
	�
	�
	gridfigs%=�c
	� gridfigs%=� �
	
�re(4)
	 
�cc(1)
	!�
	"
�re(6)
	#
�cc(0)
	$�
	%�
	&�oa(main%,29,�$grows%)
	'
�ed(4)
	(($conv_rows%="0.0": �fe(main%,19,0,0)
	),$conv_stitches%="0.0": �fe(main%,21,0,0)
	*�
	+gridfigs%=�c
	,� gridfigs%=� �
	-
�re(4)
	.
�cc(1)
	/�
	0
�re(6)
	1
�cc(0)
	2�
	3� 40
	4�xd
	5"�ic(main%,22,999,0,button%,-1)
	6
	79$conv_stitches%=�q(�$ans_conv_stitches%,stitch_width)
	8�fe(main%,21,0,0)
	90$conv_rows%=�q(spy%*�$conv_stitches%,1/spx%)
	:�fe(main%,19,0,0)
	;-$ans_conv_rows%=�s(conv_rows%,row_height)
	<�fe(main%,20,0,0)
	=� �$conv_stitches%<>0 �
	>
�cc(0)
	?
�re(6)
	@�
	A
�cc(1)
	B
�re(2)
	C�
	D� 41
	E�xd
	F!�ic(main%,22,999,0,button%,1)
	G9$conv_stitches%=�q(�$ans_conv_stitches%,stitch_width)
	H�fe(main%,21,0,0)
	I0$conv_rows%=�q(spy%*�$conv_stitches%,1/spx%)
	J�fe(main%,19,0,0)
	K-$ans_conv_rows%=�s(conv_rows%,row_height)
	L�fe(main%,20,0,0)
	M� �$conv_stitches%<>0 �
	N
�cc(0)
	O
�re(6)
	P�
	Q
�cc(1)
	R
�re(2)
	S�
	T� 42
	U�xd
	V!�ic(main%,30,999,0,button%,1)
	W� �l(main%,37) �
	X1$conv_stitches%=�q(�$gstitches%,stitch_width)
	Y�fe(main%,21,0,0)
	Z�
	[gridfigs%=�c
	\� gridfigs%=� �
	]
�cc(1)
	^"� manner%<>2 � �re(4) � �re(7)
	_�
	`
�cc(0)
	a
�re(6)
	b�
	c� 43
	d�xd
	e"�ic(main%,30,999,0,button%,-1)
	f� �l(main%,37) �
	g1$conv_stitches%=�q(�$gstitches%,stitch_width)
	h�fe(main%,21,0,0)
	i�
	jgridfigs%=�c
	k� gridfigs%=� �
	l
�cc(1)
	m"� manner%<>2 � �re(4) � �re(7)
	n�
	o
�cc(0)
	p
�re(6)
	q�
	r� 44
	s�xd
	t!�ic(main%,29,999,0,button%,1)
	u� �l(main%,37) �
	v'$conv_rows%=�q(�$grows%,row_height)
	w�fe(main%,19,0,0)
	x�
	ygridfigs%=�c
	z� gridfigs%=� �
	{
�cc(1)
	|"� manner%<>2 � �re(4) � �re(7)
	}�
	~
�cc(0)
	
�re(6)
	��
	�� 45
	��xd
	�"�ic(main%,29,999,0,button%,-1)
	�� �l(main%,37) �
	�'$conv_rows%=�q(�$grows%,row_height)
	��fe(main%,19,0,0)
	��
	�gridfigs%=�c
	�� gridfigs%=� �
	�
�cc(1)
	�"� manner%<>2 � �re(4) � �re(7)
	��
	�
�cc(0)
	�
�re(6)
	��
	�� 52
	�� helpon%=� �
	�=ș&00041500,,"<EasyKnit$Dir>.Resources.Messages" � ,,len%
	�infobuff%=�b(16)
	�helpbuff%=�b(len%)
	�Gș&00041501,infobuff%,"<EasyKnit$Dir>.Resources.Messages",helpbuff%
	�
helpon%=�
	�x%=0
	�%ș &00042681,x%,block%,4500 � ,y%
	�x%=0
	��
	�task%=!(block%+4+x%*16)
	�	r%=-1
	��:r%+=1:� task%?r%<32
	�task%?r%=13
	�	x%+=1
	�)� (block%+4+x%*16>y%) � $task%="Help"
	�8� $task%<>"Help" � *Filer_Run Resources:$.Apps.!Help
	��
	�ș &00041504,infobuff%
	�infobuff%=�h(infobuff%)
	�helpbuff%=�h(helpbuff%)
	�
helpon%=�
	��
	��
	��
	��
	��
	�:
	�	� �ua
	�$� orx%,ory%,wx%,wy%,stitch%,row%
	�!block%=edit%
	�ș&000400CB,,block%
	�orx%=(block%!4-block%!20)
	�ory%=(block%!16-block%!24)
	�wx%=(mx%-orx%-rulesize%)
	�$wy%=(my%-ory%-rulesize%+editht%)
	�stitch%=wx%/stw%
	�row%=wy%/rht%
	�Ȏ manner% �
	�	� 0,1
	�� button%=4 �
	�,col%=coltable%?(row%*gridwidth%+stitch%)
	�� currentcol%<>64 �
	�col%=currentcol%
	��
	�col%=(col% � � 64) � 64
	��
	�,coltable%?(row%*gridwidth%+stitch%)=col%
	��
	�Ȏ currentcol% �
	�� 64
	�!�fe(colchoose%,1,0<<21,1<<21)
	�	� 128
	�!�fe(colchoose%,4,0<<21,1<<21)
	�
	�/�fe(colchoose%,currentcol%*3+7,0<<21,1<<21)
	��
	�3currentcol%=coltable%?(row%*gridwidth%+stitch%)
	�� currentcol%=128 �
	�!�fe(colchoose%,4,1<<21,1<<21)
	��
	�/�fe(colchoose%,currentcol%*3+7,1<<21,1<<21)
	��
	��
	�� 2
	�� copy%=� �
	�*POINTER 1
	��
	�� button%=4 �
	�4coltable%?(row%*gridwidth%+stitch%)=currentsymb%
	��
	�� currentsymb%<>128 �
	�:�fe(symbpick%,currentsymb%-symbpage%*9+12,0<<21,1<<21)
	��
	�!�fe(symbpick%,11,0<<21,1<<21)
	��
	�0newsymb%=coltable%?(row%*gridwidth%+stitch%)
	�� newsymb%=128 �
	�newsymb%=1
	��wa(newsymb%)
	��
	�symbpage%=newsymb% � 10
	� �wa(newsymb%-symbpage%*9+12)
	��
	�!block%=symbpick%
	�ș &000400CB,,block%
	�wx%=block%!4-block%!20
	�wy%=block%!16-block%!24
	�Tș &000400D1,symbpick%,block%!4-wx%,block%!16-wy%-76,block%!12-wx%,block%!16-wy%
	��hb
	��
	��
	��
	��
	�:
	�� �wa(icon%)
	�Ȏ icon% �
	�
� 1,11
	�� icon%>10 � icon%-=10
	�P� currentsymb%<>128 � �fe(symbpick%,currentsymb%-symbpage%*9+12,0<<21,1<<21)
	�currentsymb%=128
	�!�fe(symbpick%,11,1<<21,1<<21)
	��hb
	�3� 2,3,4,5,6,7,8,9,10,12,13,14,15,16,17,18,19,20
	�� icon%>10 � icon%-=10
	�icon%-=2
	�%� (icon%+symbpage%*9)<=symbmax% �
	�� currentsymb%<>128 �
	�:�fe(symbpick%,currentsymb%-symbpage%*9+12,0<<21,1<<21)
	��
	�!�fe(symbpick%,11,0<<21,1<<21)
�
"currentsymb%=icon%+symbpage%*9
:�fe(symbpick%,currentsymb%-symbpage%*9+12,1<<21,1<<21)
�hb
�
'�fe(symbpick%,icon%+12,0<<21,1<<21)
� currentsymb%<>128 �
:�fe(symbpick%,currentsymb%-symbpage%*9+12,1<<21,1<<21)
�
	!�fe(symbpick%,11,1<<21,1<<21)

�
�
� 21,22

!� icon%=21 � inc%=-1 � inc%=1
8newpage%=symbpage%-(button%=4)*inc%+(button%=1)*inc%
.� (newpage%>=0) � (newpage%*9<=symbmax%) �
� currentsymb%<>128 �
:�fe(symbpick%,currentsymb%-symbpage%*9+12,0<<21,1<<21)
<� symbpage%>newpage% � currentsymb%-=9 � currentsymb%+=9
3� currentsymb%>symbmax% � currentsymb%=symbmax%
9�fe(symbpick%,currentsymb%-newpage%*9+12,1<<21,1<<21)
�
symbpage%=newpage%
!block%=symbpick%
ș &000400CB,,block%
wx%=block%!4-block%!20
wy%=block%!16-block%!24
Tș &000400D1,symbpick%,block%!4-wx%,block%!16-wy%-76,block%!12-wx%,block%!16-wy%
�hb
�
� 7
�
 �
!�
":
#	� �mb
$� i%
%Ȏ manner% �
&	� 0,1
'�na
(� paltable%=0 �
)
maxcol%=0
*paltable%=�b(33*4)
+/� nametable%<>0 � nametable%=�h(nametable%)
,nametable%=�b(13*33)
-paltable%!0=&DDDDDD00
.$nametable%="Colour 1"
/�
0�hd
1� coltable%=0 � �bf
2-� �l(tbar%,7) � spriteon%=� � spriteon%=�
3block%!0=tbar%
4block%!4=7
5ș &000400CE,,block%
6Ȏ pictype$ �
7� "sprite"
8"$(block%!32)="Ssprite,psprite"
9� "draw"
:$(block%!32)="Sdraw,pdraw"
;�
<� 2
=� editcreated%=� �
>,� coltable%<>0 � coltable%=�h(coltable%)
?,� paltable%<>0 � paltable%=�h(paltable%)
@/� nametable%<>0 � nametable%=�h(nametable%)
A/� symbstore%<>0 � symbstore%=�h(symbstore%)
B/� symbpoint%<>0 � symbpoint%=�h(symbpoint%)
C,� symbsize%<>0 � symbsize%=�h(symbsize%)
Dgridwidth%=�$gstitches%
Egridheight%=�$grows%
F#� gridwidth%<24 � gridwidth%=24
Ggridwidth%+=gridwidth% � 2
H.$gstitches%=�gridwidth% :�fe(main%,30,0,0)
I*coltable%=�b(gridwidth%*gridheight%+8)
J'� i%=0 � gridwidth%*gridheight% � 4
Kcoltable%!i%=&80808080
L� i%
M�sc
N�
O�cf
P�
Q�nd(edit%)
R!ș &000400D2,edit%,-1,0,0,0,0
S� editstore%=0 �
Teditstore%=�b(100)
U&$(editstore%+0)=$tension_sq_width%
V'$(editstore%+7)=$tension_sq_height%
W*$(editstore%+14)=$tension_sq_stitches%
X&$(editstore%+21)=$tension_sq_rows%
Y$(editstore%+28)=$tdset%
Z $(editstore%+35)=$conv_rows%
[$$(editstore%+42)=$ans_conv_rows%
\$$(editstore%+49)=$conv_stitches%
]($(editstore%+56)=$ans_conv_stitches%
^$(editstore%+63)=$grows%
_ $(editstore%+70)=$gstitches%
`$(editstore%+77)=$gheight%
a$(editstore%+84)=$gwidth%
beditstore%?91=�l(main%,37)
c�
deditcreated%=�
e� manner%<>2 �
f�je(smenu%,0,0)
g�je(smenu%,1,0)
h�
i�je(smenu%,2,0)
j�
k:
l	� �sc
mX� i%,c%,size%,num%,oldi%,ptr%,pochle%,extrasymb%,extrasize%,extranum%,extrai%,flags%
n
oGș &00000029,28,"<EasyKnit$Dir>.Resources.Symbols.*" � ,,size%,num%
pFș &00000029,28,"<EasyKnit$Dir>.Resources.Symbols.Describe" � ,,i%
qnum%-=1
rPș &00020029,28,"<EasyKnit$Dir>.^.Symbols.*" � ,,extrasize%,extranum%;flags%
s� (flags% � 1)=1 �
textrasize%=0:extranum%=0
uextrasymb%=�
v�
wextrasymb%=�
x�
yJș &00020029,28,"<EasyKnit$Dir>.^.Symbols.Describe" � ,,extrai%;flags%
zK� (flags% � 1)=1 � extrai%=0 � extranum%-=1:� extranum%<0 � extranum%=0
{symbmax%=num%+extranum%-1
|i%+=extrai%
}&symbstore%=�b(size%+extrasize%-i%)
~%symbpoint%=�b((num%+extranum%)*4)
$symbsize%=�b((num%+extranum%)*4)
�&nametable%=�b((num%+extranum%)*11)
�
�Mș&0000000C,9,"<EasyKnit$Dir>.Resources.Symbols",block%,num%+1,0,3000,"*"
�!i%=0 : oldi%=block%:pochle%=0
�� c%=0 � num%
�ȕ block%?i%<>0
�	i%+=1
��
�block%?i%=13
�� $(oldi%)="Describe" �
�
pochle%=1
��
�*$(nametable%+(c%-pochle%)*11)=$(oldi%)
��
�	i%+=1
�oldi%=block%+i%
�� c%
�c%=0: pochle%=0
�
�� i%=0 � num%-1
�Apath$="<EasyKnit$Dir>.Resources.Symbols."+$(nametable%+i%*11)
�5ș&00000008,&FF,path$,symbstore%+c%,0 � ,,,,size%
�#symbpoint%!(i%*4)=symbstore%+c%
�symbsize%!(i%*4)=size%
�
c%+=size%
�� i%
�� extrasymb%=� �
�
�ptr%=c%
�Jș&0000000C,9,"<EasyKnit$Dir>.^.Symbols",block%,extranum%+1,0,3000,"*"
�!i%=0 : oldi%=block%:pochle%=0
�� c%=num% � num%+extranum%
�ȕ block%?i%<>0
�	i%+=1
��
�block%?i%=13
�� $(oldi%)="Describe" �
�
pochle%=1
��
�*$(nametable%+(c%-pochle%)*11)=$(oldi%)
��
�	i%+=1
�oldi%=block%+i%
�� c%
�c%=ptr%: pochle%=0
�
� � i%=num% � num%+extranum%-1
�9path$="<EasyKnit$Dir>.^.Symbols."+$(nametable%+i%*11)
�5ș&00000008,&FF,path$,symbstore%+c%,0 � ,,,,size%
�#symbpoint%!(i%*4)=symbstore%+c%
�symbsize%!(i%*4)=size%
�
c%+=size%
�� i%
��
�,stw%=30: stitchwidth=30: stitch_width=30
�$rht%=30: rowht=30: row_height=30
�currentsymb%=0
�symbpage%=0
�Eș&00041500,,"<EasyKnit$Dir>.Resources.Symbols.Describe" � ,,len%
�descinfobuff%=�b(16)
�descbuff%=�b(len%)
�Sș&00041501,descinfobuff%,"<EasyKnit$Dir>.Resources.Symbols.Describe",descbuff%
�� extrasymb%=� �
�=ș&00041500,,"<EasyKnit$Dir>.^.Symbols.Describe" � ,,len%
�extradescinfobuff%=�b(16)
�extradescbuff%=�b(len%)
�Uș&00041501,extradescinfobuff%,"<EasyKnit$Dir>.^.Symbols.Describe",extradescbuff%
��
�� icon%=11 � 20
�$�fe(symbpick%,icon%,0<<21,1<<21)
�� icon%
�.�fe(symbpick%,currentsymb%+12,1<<21,1<<21)
��hb
��
�:
�	� �hb
�$� ptr%,len%,text$,tok$,i%,flags%
�� currentsymb%=128 �
�tok$="Rubber"
��
�&tok$=$(nametable%+currentsymb%*11)
��
�:ș &00061502,descinfobuff%,tok$,0 � ,,ptr%,len%;flags%
�R� (flags% � 1)=1 � ș &00061502,extradescinfobuff%,tok$,0 � ,,ptr%,len%;flags%
�� (flags% � 1)=0 �
�text$=""
�� i%=0 � len%-1
�text$+=�(ptr%?i%)
�� i%
�$� �(text$)>40 � text$=�text$,40)
�$describe%=text$
��
�$describe%=tok$
��
��fe(symbpick%,0,0,0)
��
�:
�	� �lb
�/� sourcespr%<>0 � sourcespr%=�h(sourcespr%)
�,� coltable%<>0 � coltable%=�h(coltable%)
� � draw%<>0 � draw%=�h(draw%)
�/� symbstore%<>0 � symbstore%=�h(symbstore%)
�/� symbpoint%<>0 � symbpoint%=�h(symbpoint%)
�,� symbsize%<>0 � symbsize%=�h(symbsize%)
�/� nametable%<>0 � nametable%=�h(nametable%)
�8� descinfobuff%<>0 � descinfobuff%=�h(descinfobuff%)
�,� descbuff%<>0 � descbuff%=�h(descbuff%)
�G� extradescinfobuff%<>0 � extradescinfobuff%=�h(extradescinfobuff%)
�;� extradescbuff%<>0 � extradescbuff%=�h(extradescbuff%)
��
�:
�	� �qa
�� gridfigs%
�pictype$="none"
��se(editmenu%,0)
��we(editmenu%,1)
��we(editmenu%,2)
�
manner%=0
�spriteon%=�
�editcreated%=�
�� editopen%=� � �za(edit%)
��lb
��fe(tbar%,7,1<<22,1<<22)
��fe(tbar%,7,0<<21,1<<21)
��fe(tbar%,5,0<<22,1<<22)
��fe(tbar%,5,1<<21,1<<21)
��fe(tbar%,9,0<<22,1<<22)
��fe(tbar%,10,0<<22,1<<22)
�je(emenu%,4,1)
�je(emenu%,7,0)
�we(emenu%,4)
� �l(main%,37) �

�ed(5)
�

�ed(4)
�

�te(0)
	gridfigs%=�c

� gridfigs%=� �

�re(4)

�cc(1)

�

�re(6)

�cc(0)
�
�oa(main%,29,�$grows%)
*$ans_conv_rows%="0": �fe(main%,20,0,0)
($conv_rows%="0.0": �fe(main%,19,0,0)
.$ans_conv_stitches%="0": �fe(main%,22,0,0)
,$conv_stitches%="0.0": �fe(main%,21,0,0)
� �l(main%,37) �
� �$grows%<>0 �
'$conv_rows%=�q(�$grows%,row_height)
�fe(main%,19,0,0)
� �$gstitches%<>0 �
1$conv_stitches%=�q(�$gstitches%,stitch_width)
�fe(main%,21,0,0)
�
�
�
 �
!:
"	� �ra
#� zero%
$
manner%=1
%�se(editmenu%,1)
&�we(editmenu%,0)
'�we(editmenu%,2)
(
�ed(1)
)
�cc(1)
*
�te(0)
+spriteon%=�
,editcreated%=�
-� editopen%=� � �za(edit%)
.�lb
/�fe(tbar%,7,0<<22,1<<22)
0�fe(tbar%,7,1<<21,1<<21)
1�fe(tbar%,5,0<<22,1<<22)
2�fe(tbar%,5,1<<21,1<<21)
3�fe(tbar%,9,0<<22,1<<22)
4�fe(tbar%,10,0<<22,1<<22)
5�je(emenu%,4,0)
6�je(emenu%,7,0)
7�se(emenu%,4)
8%�oa(main%,15,�$tension_sq_width%)
9*$ans_conv_rows%="0": �fe(main%,20,0,0)
:($conv_rows%="0.0": �fe(main%,19,0,0)
;.$ans_conv_stitches%="0": �fe(main%,22,0,0)
<,$conv_stitches%="0.0": �fe(main%,21,0,0)
=zero%=�e
>� zero%=� �
?
�cc(0)
@
�re(5)
A�
B
�cc(1)
C
�re(1)
D�
E�
F:
G	� �ta
H� zero%
I
manner%=2
Jstw%=30
Krht%=30
Lstitchwidth=30
Mrowht=30
N
�ed(6)
O�se(editmenu%,2)
P�we(editmenu%,0)
Q�we(editmenu%,1)
R�je(smenu%,0,1)
S�je(smenu%,1,1)
Tspriteon%=�
Ueditcreated%=�
V� editopen%=� � �za(edit%)
W�lb
X�fe(tbar%,5,1<<22,1<<22)
Y�fe(tbar%,5,1<<21,1<<21)
Z�fe(tbar%,7,1<<22,1<<22)
[�fe(tbar%,7,0<<21,1<<21)
\�fe(tbar%,9,1<<22,1<<22)
]�fe(tbar%,10,1<<22,1<<22)
^�je(emenu%,4,1)
_�je(emenu%,7,1)
`�we(emenu%,4)
a
�te(0)
b�oa(main%,29,�$grows%)
czero%=�d
d� zero%=� �
e
�cc(0)
f
�re(5)
g�
h
�cc(1)
i
�re(7)
j�
k�
l:
m	� �sa
n� �n(unitmenu%,0)=� �
o�xa
p�se(unitmenu%,0)
q�we(unitmenu%,1)
r&$tsqtunit%="in": �fe(main%,38,0,0)
s&$tsqbunit%="in": �fe(main%,39,0,0)
t&$contunit%="in": �fe(main%,48,0,0)
u&$conbunit%="in": �fe(main%,49,0,0)
v&$grdtunit%="in": �fe(main%,50,0,0)
w&$grdbunit%="in": �fe(main%,51,0,0)
x
�bb(1)
y�
z�
{:
|	� �pa
}� �n(unitmenu%,1)=� �
~�xa
�se(unitmenu%,1)
��we(unitmenu%,0)
�&$tsqtunit%="cm": �fe(main%,38,0,0)
�&$tsqbunit%="cm": �fe(main%,39,0,0)
�&$contunit%="cm": �fe(main%,48,0,0)
�&$conbunit%="cm": �fe(main%,49,0,0)
�&$grdtunit%="cm": �fe(main%,50,0,0)
�&$grdbunit%="cm": �fe(main%,51,0,0)
�
�bb(0)
��
��
�:
�	� �pc
�� a%,l%,zero%
� � draw%<>0 � draw%=�h(draw%)
�/� sourcespr%<>0 � sourcespr%=�h(sourcespr%)
�,� coltable%<>0 � coltable%=�h(coltable%)
�� mainopen%=� � �nd(main%)
�pictype$="draw"
�a%=�pathfile$
�l%=�#a%
�	� #a%
�draw%=�b(l%)
�&�("Load "+pathfile$+" "+�~(draw%))
�drawlen%=l%
�drawx%=draw%!32-draw%!24
�drawy%=draw%!36-draw%!28
�drawxoffset%=draw%!24
�drawyoffset%=draw%!28
�spx%=drawx%>>8
�spy%=drawy%>>8
�zero%=�e
�� zero%=� �
�
�cc(0)
�
�ed(3)
�
�re(2)
��oa(main%,19,�$conv_rows%)
��
�
�re(5)
�
�ed(1)
�%�oa(main%,15,�$tension_sq_width%)
��
��ya
�editcreated%=�
��
�:
�	� �rc
�� zero%,xe%,ye%,size%
�/� sourcespr%<>0 � sourcespr%=�h(sourcespr%)
� � draw%<>0 � draw%=�h(draw%)
�,� coltable%<>0 � coltable%=�h(coltable%)
�� mainopen%=� � �nd(main%)
�pictype$="sprite"
�sprite_file$=pathfile$
�sourcespr%=�p(sprite_file$)
�sarealen%=!sourcespr%
�zero%=�e
�� zero%=� �
�
�ed(3)
�
�re(2)
��oa(main%,19,�$conv_rows%)
��
�
�re(5)
�
�ed(1)
�%�oa(main%,15,�$tension_sq_width%)
��
�=ș &0000002E,&10D,sourcespr%,block%,&100,1 � ,,,name_len%
�block%?name_len%=13
�sprite$=$block%
�8ș &0000002E,&118,sourcespr%,sprite$ � ,,sourceaddr%
�Bș &0000002E,&228,sourcespr%,sourceaddr% � ,,,spx%,spy%,,mode%
�xe%=�r(mode%,4)
�ye%=�r(mode%,5)
�spx%=spx%<<xe%
�spy%=spy%<<ye%
�Aș &00040740,sourcespr%,sourceaddr%,-1,-1,0,1,0,0 � ,,,,size%
�transtable%=�b(size%)
�?ș &00040740,sourcespr%,sourceaddr%,-1,-1,transtable%,1,0,0
��ya
�editcreated%=�
��
�:
�	� �xd
�� editcreated%=� �
�}�ka("Changing that will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",7)
��
��
�:
�	� �ya
�($conv_rows%="0.0": �fe(main%,19,0,0)
�,$conv_stitches%="0.0": �fe(main%,21,0,0)
�*$ans_conv_rows%="0": �fe(main%,20,0,0)
�.$ans_conv_stitches%="0": �fe(main%,22,0,0)
�
�cc(1)
��
�:
�	� �ec
�
� wx%,wy%
�� �l(tbar%,5) �
��se(emenu%,2)
�
gridon%=�
��
��we(emenu%,2)
�
gridon%=�
��
�!block%=edit%
�ș &000400CB,,block%
�wx%=block%!4-block%!20
�wy%=block%!16-block%!24
�Lș &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
��
�:
�	� �zd
�
� wx%,wy%
�� �l(tbar%,6) �
��se(emenu%,3)
�pagerulers%=�
�*!block%=edit%: ș&000400CB,,block%:�ld
��
��we(emenu%,3)
�pagerulers%=�
�!block%=toprule%
�ș &000400C6,,block%
�!block%=botrule%
�ș &000400C6,,block%
�!block%=leftrule%
�ș &000400C6,,block%
�!block%=rightrule%
�ș &000400C6,,block%
!block%=cornertl%
ș &000400C6,,block%
!block%=cornertr%
ș &000400C6,,block%
!block%=cornerbl%
ș &000400C6,,block%
!block%=cornerbr%
ș &000400C6,,block%
�
	!block%=edit%

ș &000400CB,,block%
wx%=block%!4-block%!20
wy%=block%!16-block%!24

Lș &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
�
:
	� �me

� wx%,wy%
� �l(tbar%,7) �
spriteon%=�
�se(emenu%,4)
�
spriteon%=�
�we(emenu%,4)
�
!block%=edit%
ș &000400CB,,block%
wx%=block%!4-block%!20
wy%=block%!16-block%!24
Lș &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
�
:
 	� �pe
!!block%=tbar%
"ș &000400CC,,block%
#.x%=block%!(4+88+8*32+0)+block%!4-block%!20
$y%=block%!8
%x%-=416: y%-=42
&!block%=symbpick%
'ș &000400CB,,block%
(w%=block%!12-block%!4
)h%=block%!16-block%!8
*block%!4=x%
+block%!8=y%-h%
,block%!12=x%+w%
-block%!16=y%
.block%!28=-1
/ș &000400C5,,block%
0�
1:
2	� �nb
3�yc
4�nd(colcreate%)
5�
6:
7	� �cb
8� x%,y%,w%,h%
9� maxcol%<>-1 �
:�xc
;!block%=tbar%
<ș &000400CC,,block%
=.x%=block%!(4+88+8*32+0)+block%!4-block%!20
>y%=block%!8
?x%-=162: y%-=42
@!block%=colchoose%
Aș &000400CB,,block%
Bw%=block%!12-block%!4
Ch%=block%!16-block%!8
Dblock%!4=x%
Eblock%!8=y%-h%
Fblock%!12=x%+w%
Gblock%!16=y%
Hblock%!28=-1
Iș &000400C5,,block%
J�
K1�wd("Please pick some colours to use first.")
L�nb
M�
N�
O:
P	� �xc
Q� i%,colour%,maxicon%
R!block%=colchoose%
Sș &000400CC,,block%
T#block%!(4+44)=-(276+maxcol%*76)
U-� block%!(4+44)>-300 � block%!(4+44)=-300
V%ș &000400D7,colchoose%,block%+44
W� i%=0 � 28 � 4
X*block%!(1004+i%)=block%!(4+88+6*32+i%)
Y� i%
Z� i%=0 � 28 � 4
[*block%!(1044+i%)=block%!(4+88+7*32+i%)
\� i%
]� i%=0 � 28 � 4
^*block%!(1084+i%)=block%!(4+88+8*32+i%)
_� i%
`maxicon%=(block%!(4+84))
ablock%!(2000)=colchoose%
bȕ maxicon%>5
cblock%!(2000+4)=maxicon%
dș &000400C4,,block%+2000
emaxicon%-=1
f�
gJblock%!1000=colchoose%: block%!1040=colchoose%: block%!1080=colchoose%
h
colour%=0
iȕ colour%<=maxcol%
jș &000400C2,,block%+1000
kș &000400C2,,block%+1040
l%block%!1104=nametable%+colour%*13
mș &000400C2,,block%+1080
n$block%!1008-=76: block%!1016-=76
o$block%!1048-=76: block%!1056-=76
p$block%!1088-=76: block%!1096-=76
qcolour%+=1
r�
s� maxcol%<>-1 �
t� i%=0 � maxcol%
u� i%=currentcol% �
v&�fe(colchoose%,i%*3+7,1<<21,1<<21)
w�
x&�fe(colchoose%,i%*3+7,0<<21,1<<21)
y�
z� i%
{4� currentcol%=64 � �fe(colchoose%,1,1<<21,1<<21)
|5� currentcol%=128 � �fe(colchoose%,4,1<<21,1<<21)
}�
~�
:
�	� �yc
�� i%,colour%,maxicon%
�!block%=colpane%
�ș &000400CC,,block%
�#block%!(4+44)=-(124+maxcol%*76)
�-� block%!(4+44)>-300 � block%!(4+44)=-300
�#ș &000400D7,colpane%,block%+44
�� i%=0 � 28 � 4
�%block%!(1004+i%)=block%!(4+88+i%)
�� i%
�� i%=0 � 28 � 4
�(block%!(1044+i%)=block%!(4+88+32+i%)
�� i%
�� i%=0 � 28 � 4
�(block%!(1084+i%)=block%!(4+88+64+i%)
�� i%
�maxicon%=(block%!(4+84))
�block%!(2000)=colpane%
�ȕ maxicon%>-1
�block%!(2000+4)=maxicon%
�ș &000400C4,,block%+2000
�maxicon%-=1
��
�Dblock%!1000=colpane%: block%!1040=colpane%: block%!1080=colpane%
�
colour%=0
�ȕ colour%<=maxcol%
�ș &000400C2,,block%+1000
�ș &000400C2,,block%+1040
�%block%!1104=nametable%+colour%*13
�ș &000400C2,,block%+1080
�$block%!1008-=76: block%!1016-=76
�$block%!1048-=76: block%!1056-=76
�$block%!1088-=76: block%!1096-=76
�colour%+=1
��
�� i%=0 � maxcol%
�$�fe(colpane%,i%*3+1,0<<21,1<<21)
�� i%
��
�:
�	� �ke
�?� orx%,ory%,col%,row%,stitch%,minrow%,maxrow%,minst%,maxst%
�?� minx%,miny%,maxx%,maxy%,minvrow%,maxvrow%,minvst%,maxvst%
�ș &000406C0
�� �l(tbar%,9)=� �
�showmask%=�
��se(maskmenu%,0)
��
�showmask%=�
��we(maskmenu%,0)
��
�!block%=edit%
�ș &000400CB,,block%
�orx%=block%!4-block%!20
�ory%=block%!16-block%!24
�minx%=block%!4-orx%
�maxx%=block%!12-orx%
�miny%=block%!8-ory%+editht%
� maxy%=block%!16-ory%+editht%
�$minvst%=(minx%-rulesize%)/stw%-1
�$maxvst%=(maxx%-rulesize%)/stw%+1
�%minvrow%=(miny%-rulesize%)/rht%-1
�-maxvrow%=(maxy%-rulesize%-tbarht%)/rht%+1
�� minvst%<0 � minvst%=0
�1� maxvst%>gridwidth%-1 � maxvst%=gridwidth%-1
�� minvrow%<0 � minvrow%=0
�5� maxvrow%>gridheight%-1 � maxvrow%=gridheight%-1
�minst%=maxvst%
�maxst%=minvst%
�minrow%=maxvrow%
�maxrow%=minvrow%
�� stitch%=minvst% � maxvst%
�� row%=minvrow% � maxvrow%
�,col%=coltable%?(row%*gridwidth%+stitch%)
�#� (col%�64)=64 � (col%�128)=0 �
�!� row%<minrow% � minrow%=row%
�!� row%>maxrow% � maxrow%=row%
�%� stitch%<minst% � minst%=stitch%
�%� stitch%>maxst% � maxst%=stitch%
��
�
� row%
�
� stitch%
�maxst%+=1:maxrow%+=1
Ӏș &000400D1,edit%,minst%*stw%+rulesize%,minrow%*rht%+rulesize%-editht%,maxst%*stw%+rulesize%,maxrow%*rht%+rulesize%-editht%
�ș &000406C1
��
�:
�	� �vd
�� wx%,wy%,i%
�ș &000406C0
�showmask%=�
��we(maskmenu%,0)
��fe(tbar%,9,0<<21,1<<21)
�'� i%=0 � gridheight%*gridwidth% � 4
�)coltable%!i%=coltable%!i% � &BFBFBFBF
�� i%
�!block%=edit%
�ș &000400CB,,block%
�wx%=block%!4-block%!20
�wy%=block%!16-block%!24
�Lș &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
�ș &000406C1
��
�:
�	� �cd
�� stitch%,wx%,wy%,col%
�(� currentcol%=64 � currentcol%=128 �
�6�wd("Please select a colour to be left unmasked.")
��
�ș &000406C0
�showmask%=�
��we(maskmenu%,0)
��fe(tbar%,9,0<<21,1<<21)
�(� stitch%=0 � gridheight%*gridwidth%
�col%=coltable%?stitch%
� � (col% � 63)<>currentcol% �
�col%=col% � 64
��
�col%=col% � 191
��
�coltable%?stitch%=col%
�
� stitch%
�!block%=edit%
�ș &000400CB,,block%
�wx%=block%!4-block%!20
�wy%=block%!16-block%!24
�Lș &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%
�ș &000406C1

�

�

:

	� �dd

� stitch%,wx%,wy%,col%

(� currentcol%=64 � currentcol%=128 �

*�wd("Please select a colour to mask.")

�

ș &000406C0

	showmask%=�

�we(maskmenu%,0)

�fe(tbar%,9,0<<21,1<<21)

(� stitch%=0 � gridheight%*gridwidth%


col%=coltable%?stitch%

� (col% � 63)=currentcol% �

col%=col% � 64

�

col%=col% � 191

�

coltable%?stitch%=col%


� stitch%

!block%=edit%

ș &000400CB,,block%

wx%=block%!4-block%!20

wy%=block%!16-block%!24

Lș &000400D1,edit%,block%!4-wx%,block%!8-wy%,block%!12-wx%,block%!16-wy%

ș &000406C1

�

�

:

	� �la

!block%=edit%

 ș &000400CC,,block%

!ș &000400C3,,block%

"block%?(4+35)=backcol%

#"ș &000400C1,,block%+4 � edit%

$Ȏ backcol% �

%� 4,5,6,7,8,10,11,13

&forecol%=0

'

(forecol%=7

)�

*!block%=edit%

+�ld

,�

-:

.� �t(whan%)

/!block%=whan%

0ș &000400CC,,block%

1ș &000400C3,,block%

2block%?(4+35)=rulerbcol%

3block%?(4+32)=rulerbcol%

4"ș &000400C1,,block%+4 � whan%

5!block%=whan%

6
=whan%

7:

8	� �cf

9� oldstw%,oldrht%

:edmul%=�($sclmul%)

;eddiv%=�($scldiv%)

<oldstw=stw%:oldrht=rht%

='stw%=�((stitchwidth*edmul%)/eddiv%)

>!rht%=�((rowht*edmul%)/eddiv%)

?!block%=tbardisp%

@ș &000400CB,,block%

Azoomstack%=block%!28

B!block%=edit%

Cș &000400CB,,block%

D�ob

E%block%!20=block%!20*(stw%/oldstw)

F%block%!24=block%!24*(rht%/oldrht)

G�ld

Hzoomstack%=0

I�

J:

K	� �yd

L4� orx%,ory%,stitch%,row%,minx%,miny%,maxx%,maxy%

M7� minstitch%,maxstitch%,minrow%,maxrow%,col%,blank%

Nș &000406C0

Oblock%!100=edit%

Pș&000400CB,,block%+100

Q orx%=(block%!104-block%!120)

R(ory%=(block%!116-block%!124-editht%)

Sminx%=(block%!0-orx%)

Tminy%=(block%!4-ory%)

Umaxx%=(block%!8-orx%)

Vmaxy%=(block%!12-ory%)

W"� minx%>maxx% � Ȕ minx%,maxx%

X"� miny%>maxy% � Ȕ miny%,maxy%

Y%minstitch%=(minx%-rulesize%)/stw%

Z%maxstitch%=(maxx%-rulesize%)/stw%

["minrow%=(miny%-rulesize%)/rht%

\"maxrow%=(maxy%-rulesize%)/rht%

]!� minstitch%<0 � minstitch%=0

^7� maxstitch%>gridwidth%-1 � maxstitch%=gridwidth%-1

_� minrow%<0 � minrow%=0

`3� maxrow%>gridheight%-1 � maxrow%=gridheight%-1

ablank%=�l(tbar%,4)

b5� blank%=� � (currentcol%=64 � currentcol%=128) �

cB�wd("Please select a colour to fill the blank stitches with.")

d�

e� blank%=� � manner%=2 �

fcopyminrow%=minrow%

gcopymaxrow%=maxrow%

hcopyminst%=minstitch%

icopymaxst%=maxstitch%

j.ș &000400E9,36,0,"ptr_botleft",2,0,10,0,0

kcopy%=�

l�

m� row%=minrow% � maxrow%

n%� stitch%=minstitch% � maxstitch%

o,col%=coltable%?(row%*gridwidth%+stitch%)

p� blank%=� �

q� currentcol%<>64 �

r7� manner%<>2 � col%=currentcol% � col%=currentsymb%

s�

tcol%=(col% � � 64) � 64

u�

v�

w� currentcol%<>64 �

x)� ((col%�128)=128) � col%=currentcol%

y�

z0� ((col%�128)=128) � col%=(col% � � 64) � 64

{�

|�

},coltable%?(row%*gridwidth%+stitch%)=col%

~
� stitch%


� row%

�Rș &000400D1,edit%,minx%-stw%,miny%-editht%-rht%,maxx%+stw%,maxy%-editht%+rht%

��

��

�ș &000406C1

�dragtype%=0

��

�:

�	� �pb

�copy%=�

�copyblock%=�h(copyblock%)

�*POINTER 1

��

�:

�� �te(savestate%)

�� tit$,max%

�� savestate%=0 �

�tit$=$maintitle%

�0� �tit$)="*" � tit$=�tit$): $maintitle%=tit$

�tit$=$edittitle%

�0� �tit$)="*" � tit$=�tit$): $edittitle%=tit$

�tit$=$patterntitle%

�3� �tit$)="*" � tit$=�tit$): $patterntitle%=tit$

�starred%=�

��

�tit$=$maintitle%

�/� �tit$)<>"*" � tit$+="*": $maintitle%=tit$

�tit$=$edittitle%

�/� �tit$)<>"*" � tit$+="*": $edittitle%=tit$

�tit$=$patterntitle%

�2� �tit$)<>"*" � tit$+="*": $patterntitle%=tit$

�starred%=�

��

�� mainopen%=� �

�!block%=main%

�ș &000400E0,,block%

�max%=block%!16

�ș &000400CB,,block%

�Cș &000400D1,-1,block%!4,block%!16+4,block%!12,max%+(block%!16)

��

�� editopen%=� �

�!block%=edit%

�ș &000400E0,,block%

�max%=block%!16

�ș &000400CB,,block%

�Cș &000400D1,-1,block%!4,block%!16+4,block%!12,max%+(block%!16)

��

�ș &000400CB,,block%

�� ((block%?34) � 1)=1 �

�!block%=pattern%

�ș &000400E0,,block%

�max%=block%!16

�ș &000400CB,,block%

�Cș &000400D1,-1,block%!4,block%!16+4,block%!12,max%+(block%!16)

��

��

�:

�-� �ic(whan%,icon%,max%,min%,button%,inc%)

�� var%,index%

�"block%!0=whan%: block%!4=icon%

�ș &000400CE,,block%

�:var%=�($(block%!28))-(button%=4)*inc%+(button%=1)*inc%

� � var%>max% � var%=max%: � 7

� � var%<min% � var%=min%: � 7

�$(block%!28)=�(var%)

�block%!8=0: block%!12=0

�ș &000400CD,,block%

��xb

�%� carb%!0=whan% � carb%!4=icon% �

�index%=carb%!20

�+� index%>�(�(var%)) � index%=�(�(var%))

��oa(whan%,icon%,index%)

��

��

�:

�	� �kb

�Ȏ dragtype% �

�� 0: �lc

�� 1,2: �yd

��

��

�:

�� �le(menu%,mx%,my%)

�menuopen%=menu%

�ș&000400D4,,menu%,mx%,my%

�"� menu%=savebox% � dragtype%=0

��

�:

�� �ve(menu%,item%)

�9?(menu%+28+item%*24)=(?(menu%+28+item%*24) � � 0) � 1

��

�:

�� �se(menu%,item%)

�1?(menu%+28+item%*24)=?(menu%+28+item%*24) � 1

��

�:

�� �we(menu%,item%)

�9?(menu%+28+item%*24)=(?(menu%+28+item%*24) � � 1) � 0

��

�:

�� �ue(menu%,item%)

�??(menu%+38+item%*24)=(?(menu%+38+item%*24) � � 0<<6) � 1<<6

��

�:

�� �je(menu%,item%,shade%)

�D?(menu%+38+item%*24)=(?(menu%+38+item%*24) � � 1<<6) � shade%<<6

��

�:

�� �n(menu%,item%)

�"=(?(menu%+28+item%*24) � 1)<>0

�:

�	� �fd

�"� sel%,subsel%,button%,mx%,my%

�"sel%=!block%: subsel%=block%!4

�ș&000400CF,,block%

�mx%=!block%: my%=block%!4

�button%=block%!8

�Ȏ menuopen% �

�� imenu%

�
Ȏ sel% �

�� 0: �le(info%,mx%,my%)

�� 1: �xa

�� 2: �va

��

�� emenu%

�
Ȏ sel% �

�� 2

�� subsel%=-1 �

�� manner%<>2 �
�fe(tbar%,5,1<<21,0<<21)
�ec
�
�
�we(colmenu%,gridcol%)
gridcol%=subsel%
�se(colmenu%,gridcol%)
�fe(tbar%,5,1<<21,1<<21)
�ec
	�

� 3
�fe(tbar%,6,1<<21,0<<21)
�zd

� 4
�fe(tbar%,7,1<<21,0<<21)
�me
� 5
Ȏ manner% �

� 0,1:�cb
� 2:�pe
�
� 6
�nb
� 7
Ȏ subsel% �
� 0
�fe(tbar%,9,1<<21,0<<21)
�ke
� 1
�vd
� 2
�cd
 � 3
!�dd
"�
#� 8
$� subsel%<>-1 �
%�we(colmenu%,backcol%)
&backcol%=subsel%
'�se(colmenu%,backcol%)
(�
)�la
*�
+� rulermenu%
,� subsel%<>-1 �
-�we(colmenu%,rulerbcol%)
.rulerbcol%=subsel%
/�se(colmenu%,rulerbcol%)
0Ȏ rulerbcol% �
1� 4,5,6,7,8,10,11,13
2rulerfcol%=0
3
4rulerfcol%=7
5�
6toprule%=�t(toprule%): �ld
7botrule%=�t(botrule%): �ld
8 leftrule%=�t(leftrule%): �ld
9"rightrule%=�t(rightrule%): �ld
:�
;� maskmenu%
<
Ȏ sel% �
=� 0
>�fe(tbar%,9,1<<21,0<<21)
?�ke
@� 1
A�vd
B� 2
C�cd
D� 3
E�dd
F�
G� dmenu%
H
Ȏ sel% �
I� 1
JȎ subsel% �
K� 0
L� editcreated%=� �
M��ka("Changing to grid only will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",2)
N�
O�qa
P�
Q� 1
R� editcreated%=� �
S��ka("Changing to grid & picture will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",3)
T�
U�ra
V�
W� 2
X� editcreated%=� �
Y��ka("Changing to Punchcard will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",10)
Z�
[�ta
\�
]�
^� 2
_Ȏ subsel% �
`� 0
a� editcreated%=� �
b��ka("Changing to inches will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",4)
c�
d�sa
e�
f� 1
g� editcreated%=� �
h~�ka("Changing to cm will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",5)
i�
j�pa
k�
l�
m� 3
n� �state_file$,".")<>0 �
o�ce(state_file$)
p�
q
�ie(3)
rș &000400CF,,block%
s�le(savebox%,mx%-64,my%)
t�
u�
v�
w$� button%=1 � �le(menuopen%,0,0)
x�
y:
z	� �va
{� �$maintitle%)="*" �
|p�ka("There is unsaved work in EasyKnit. Do you want to Discard it or Cancel the Quit?","Discard","Cancel",8)
}�
~exit%=�
�
��
�:
�	� �gd
�&� mx%,my%,han%,len%,counter%,icon%
�Ȏ block%!16 �
�� 0: �va
�� 2: �eb
�� 3:
�Ȏ block%!40 �
�
� &0F0
�counter%=block%+44
�ȕ ?counter%<>0
�counter%+=1:�
�?counter%=13
�data_infile$=$(block%+44)
�� editcreated%=� �
�w�ka("Loading that will cause any current work to be lost. Are you sure you wish to do that?","Continue","Cancel",1)
��
�
�qc(0)
��
�
� &AFF
�counter%=block%+44
�ȕ ?counter%<>0
�counter%+=1:�
�?counter%=13
�pathfile$=$(block%+44)
�� editcreated%=� �
�}�ka("Changing that will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",6)
��
��pc
��
�
� &FF9
�counter%=block%+44
�ȕ ?counter%<>0
�counter%+=1:�
�?counter%=13
�pathfile$=$(block%+44)
�� editcreated%=� �
�}�ka("Changing that will cause all your current work to be lost. Are you sure you wish to do that?","Continue","Cancel",0)
��
��rc
��
��
�� 5:
�� block%!40=&0F0 �
��oc
�
�counter%=block%+44
�ȕ ?counter%<>0
�counter%+=1:�
�?counter%=13
�data_infile$=$(block%+44)
�� editcreated%=� �
�w�ka("Loading that will cause any current work to be lost. Are you sure you wish to do that?","Continue","Cancel",1)
��
�
�qc(0)
��
��
�� 10
�
�han%=block%!20
�;ș &00000023,"EasyKnit$Dir",block%+512,256,0,0 � ,,len%
�block%?(512+len%)=13
��#han%,"Run "+$(block%+512)
�� &400C0
�losecaret%=�
�n� (menuopen%=dmenu% � block%!32=3) � (menuopen%=imenu% � block%!32=1) � (menuopen%=emenu% � block%!32=0) �
� mx%=block%!24: my%=block%!28
�� block%!36=0 � �ie(1)
�� block%!36=1 � �ie(2)
�� block%!36=2 � �ie(3)
�block%!20=savebox%
� block%!24=mx%: block%!28=my%
��
�� menuopen%=emenu% �
�Ȏ block%!32 �
�� 1
�block%!100=zoom%
�ș &000400CC,,block%+100
�ș &000400C3,,block%+100
�)block%!132=((block%!132) � � (1<<25))
�$ș &000400C1,,block%+104 � zoom%
�block%!20=zoom%
�$sclmul%=�edmul%
�$scldiv%=�eddiv%
�� 2
�� counter%=0 � 15
��we(colmenu%,counter%)
�� counter%
��se(colmenu%,gridcol%)
�� 8
�� counter%=0 � 15
��we(colmenu%,counter%)
�� counter%
��se(colmenu%,backcol%)
�� 10
�losecaret%=�(�u)
��
��
�K� (menuopen%=emenu% � block%!32=9) � (menuopen%=dmenu% � block%!32=0) �
�$projname%=$patstore%
�$roffset%=$(patstore%+100)
�$tframeh%=$(patstore%+105)
�$tframew%=$(patstore%+110)
�� patstore%?115=255 �
� �fe(pattern%,12,1<<21,1<<21)
� �fe(pattern%,13,0<<21,1<<21)
��
� �fe(pattern%,12,0<<21,1<<21)
� �fe(pattern%,13,1<<21,1<<21)
��
��
�� menuopen%=rulermenu% �
�� counter%=0 � 15
��we(colmenu%,counter%)
�� counter%
��se(colmenu%,rulerbcol%)
��
�/ș &000400E8,,block%!20,block%!24,block%!28
�T� losecaret%=� � ș &000400D2,carb%!0,carb%!4,carb%!8,carb%!12,carb%!16,carb%!20
�� 9,&400C1
��hd
�
� &502
�� helpon%=� �
�block%!40=block%!32
�han%=block%!32
�icon%=block%!36
��fc(han%,icon%)
�
�
�
:
� �de(message$)
block%!12=block%!8
block%!16=&503
$(block%+20)=message$
!block%=256
	#ș &000400E7,17,block%,block%!4

�
:
	� �mc

D� key%,icon%,whan%,processed%,mx%,my%,keepcaret%,zero%,gridfigs%
whan%=block%!0
icon%=block%!4
key%=block%!24
processed%=�
Ȏ whan% �

� ask%
� key%=13 �
block%!0=0
block%!4=0
block%!8=4
block%!12=ask%
block%!16=0
�id
�
processed%=�
editcreated%=�
� print%
� key%=13 �
 �fe(print%,11,1<<21,1<<21)
!�rd
"�fe(print%,11,0<<21,1<<21)
#ș &000400D4,,-1
$processed%=�
%�
&Ȏ icon% �
'� 5
(�sd
)�
*� pattern%
+6� key%=13 � icon%=11 � �oa(pattern%,8,�$patstore%)
,� colcreate%
-
Ȏ key% �
.� &18F,&19A
/� editcol%>0 �
0*�fe(colpane%,editcol%*3+1,0<<21,1<<21)
1editcol%-=1
2*�fe(colpane%,editcol%*3+1,1<<21,1<<21)
3%$cname%=$(nametable%+editcol%*13)
4�fe(colcreate%,3,0,0)
5�oa(colcreate%,3,�$cname%)
6�
7� 7
8�
9� &18E,&18A,13
:� editcol%<maxcol% �
;*�fe(colpane%,editcol%*3+1,0<<21,1<<21)
<editcol%+=1
=*�fe(colpane%,editcol%*3+1,1<<21,1<<21)
>%$cname%=$(nametable%+editcol%*13)
?�fe(colcreate%,3,0,0)
@�oa(colcreate%,3,�$cname%)
A�
B� 7
C�
D
E�  editcol%<>-2 �
F'$(nametable%+(editcol%*13))=$cname%
G$�fe(colchoose%,editcol%*3+8,0,0)
H"�fe(colpane%,editcol%*3+2,0,0)
I�
J!�wd("Please select a colour")
K�
L�
M� zoom%
NȎ icon% �
O� 0
P
Ȏ key% �
Q� 13,&18E,&18F,&18A,&19A
R1� �$sclmul%>8 � $sclmul%="8":�fe(zoom%,0,0,0)
S�oa(zoom%,1,�$scldiv%)
T�
U� 1
V
Ȏ key% �
W� 13
X1� �$sclmul%>8 � $sclmul%="8":�fe(zoom%,0,0,0)
Y1� �$scldiv%>8 � $scldiv%="8":�fe(zoom%,1,0,0)
Z�cf
[�za(zoom%)
\ș &000400D4,,-1
]� &18E,&18F,&18A,&19A
^�oa(zoom%,0,�$sclmul%)
_�
`processed%=�
a�
b� savebox%
c4� key%=13 � icon%=1 � adjust%=�:�td:processed%=�
d� edit%
e
Ȏ key% �
f� 27
g� copy%=� � �pb
h
� &183
i
�ie(3)
jș &000400CF,,block%
kmx%=block%!0
lmy%=block%!4
m�le(savebox%,mx%-64,my%)
nicon%=60000
oprocessed%=�
p
� &193
q
�ie(1)
rș &000400CF,,block%
smx%=block%!0
tmy%=block%!4
u�le(savebox%,mx%-64,my%)
vicon%=60000
wprocessed%=�
x
� &1A3
y
�ie(2)
zș &000400CF,,block%
{mx%=block%!0
|my%=block%!4
}�le(savebox%,mx%-64,my%)
~icon%=60000
processed%=�
�
� &180
�ș &000400CF,,block%
�mx%=block%!0
�my%=block%!4
�keepcaret%=�u
��le(print%,mx%-64,my%)
�icon%=60000
�processed%=�
�T� � keepcaret% � ș &000400D2,carb%!0,carb%!4,carb%!8,carb%!12,carb%!16,carb%!20
��
�� main%
�
Ȏ key% �
�
� &193
�
�icon%=60000
�processed%=�
�
� &183
�
�
�ie(3)
�ș &000400CF,,block%
�mx%=block%!0
�my%=block%!4
��le(savebox%,mx%-64,my%)
�processed%=�
�icon%=60000
��
�Ȏ icon% �
�� 15,16,17,18,46
�
Ȏ key% �
�� &18E,&18A,13
�processed%=�
�icon%+=1
�� icon%>46 � icon%=15
�� icon%>18 � icon%=46
�"block%!0=main%: block%!4=icon%
�ș &000400CE,,block%
�"�oa(main%,icon%,�$(block%!28))
�� &18F,&19A
�processed%=�
�icon%-=1
�� icon%<15 � icon%=46
�$� icon%<46 � icon%>18 � icon%=18
�"block%!0=main%: block%!4=icon%
�ș &000400CE,,block%
�"�oa(main%,icon%,�$(block%!28))
�� &7F,&18B,&19B,&1AB
�� icon%<>46 � �xd
�processed%=�
�
�+� key%>32 � key%<&180 � icon%<>46 � �xd
�� key%<>&1CC � processed%=�
��
�zero%=�e
�� �n(editmenu%,1) �
�� zero%=� �
�
�cc(1)
�
�re(5)
��ya
��
�� pictype$="none" �
�
�re(1)
�
�cc(1)
��
�� �($conv_rows%)<>0 �
�
�re(6)
�
�cc(0)
��
�
�re(2)
�
�cc(1)
�
�ed(3)
��
��
��
�stitch_width=0
�row_height=0
�_� �$(tension_sq_stitches%)<>0 � stitch_width=�$(tension_sq_width%)/�$(tension_sq_stitches%)
�V� �$(tension_sq_rows%)<>0 � row_height=�$(tension_sq_height%)/�$(tension_sq_rows%)
�@$ans_conv_rows%=�s(conv_rows%,row_height): �fe(main%,20,0,0)
�D$conv_rows%=�q(�$(ans_conv_rows%),row_height): �fe(main%,19,0,0)
�J$ans_conv_stitches%=�s(conv_stitches%,stitch_width): �fe(main%,22,0,0)
�N$conv_stitches%=�q(�$(ans_conv_stitches%),stitch_width): �fe(main%,21,0,0)
�� �l(main%,37) �
�3$gheight%=��(row_height),5) : �fe(main%,31,0,0)
��fe(main%,31,1<<22,1<<22)
�4$gwidth%=��(stitch_width),5) : �fe(main%,32,0,0)
��fe(main%,32,1<<22,1<<22)
��
��
�� zero%=� �
�
�cc(1)
�
�re(5)
��
�gridfigs%=�c
�� gridfigs%=� �
�
�cc(1)
�
�re(4)
��
�
�cc(0)
�
�re(6)
��
��
�_� �$(tension_sq_stitches%)<>0 � stitch_width=�$(tension_sq_width%)/�$(tension_sq_stitches%)
�V� �$(tension_sq_rows%)<>0 � row_height=�$(tension_sq_height%)/�$(tension_sq_rows%)
�� �l(main%,37) �
�3$gheight%=��(row_height),5) : �fe(main%,31,0,0)
��fe(main%,31,1<<22,1<<22)
�4$gwidth%=��(stitch_width),5) : �fe(main%,32,0,0)
��fe(main%,32,1<<22,1<<22)
�� �$grows%<>0 �
�'$conv_rows%=�q(�$grows%,row_height)
��fe(main%,19,0,0)
��
�� �$gstitches%<>0 �
�1$conv_stitches%=�q(�$gstitches%,stitch_width)
��fe(main%,21,0,0)
��
��
�� �$conv_rows%<>0 �
�*$ans_conv_rows%="0": �fe(main%,20,0,0)
�($conv_rows%="0.0": �fe(main%,19,0,0)
�.$ans_conv_stitches%="0": �fe(main%,22,0,0)
�,$conv_stitches%="0.0": �fe(main%,21,0,0)
��
��
��
�� 19,20,21,22
�
Ȏ key% �
�� 13
processed%=�
� �n(editmenu%,1) �
� �$conv_rows%<>0 � �mb
�
gridfigs%=�c
� gridfigs%=� �
�mb
�
1� icon%=19 � �oa(main%,21,�$(conv_stitches%))
	)� icon%=21 � �oa(main%,29,�$(grows%))

�
�
� &18E,&18A

processed%=�
� �n(editmenu%,1) �
icon%+=1
� icon%>22 � icon%=19
"block%!0=main%: block%!4=icon%
ș &000400CE,,block%
"�oa(main%,icon%,�$(block%!28))
�
1� icon%=19 � �oa(main%,21,�$(conv_stitches%))
)� icon%=21 � �oa(main%,29,�$(grows%))
�
� &18F,&19A
processed%=�
� �n(editmenu%,1) �
icon%-=1
� icon%<19 � icon%=22
"block%!0=main%: block%!4=icon%
ș &000400CE,,block%
"�oa(main%,icon%,�$(block%!28))
 �
!-� icon%=19 � �oa(main%,30,�$(gstitches%))
"1� icon%=21 � �oa(main%,19,�$(conv_stitches%))
#�
$� &7F,&18B,&19B,&1AB
%�xd
&processed%=�
'
(� key%>32 � key%<&180 � �xd
)� key%<>&1CC � processed%=�
*�
+� �n(editmenu%,1) �
,� icon%=19 �
--$ans_conv_rows%=�s(conv_rows%,row_height)
.�fe(main%,20,0,0)
/0$conv_stitches%=�q(spx%*�$conv_rows%,1/spy%)
0�fe(main%,21,0,0)
17$ans_conv_stitches%=�s(conv_stitches%,stitch_width)
2�fe(main%,22,0,0)
3�
4� icon%=20 �
5/$conv_rows%=�q(�$ans_conv_rows%,row_height)
6�fe(main%,19,0,0)
70$conv_stitches%=�q(spx%*�$conv_rows%,1/spy%)
8�fe(main%,21,0,0)
97$ans_conv_stitches%=�s(conv_stitches%,stitch_width)
:�fe(main%,22,0,0)
;�
<� icon%=21 �
=7$ans_conv_stitches%=�s(conv_stitches%,stitch_width)
>�fe(main%,22,0,0)
?0$conv_rows%=�q(spy%*�$conv_stitches%,1/spx%)
@�fe(main%,19,0,0)
A-$ans_conv_rows%=�s(conv_rows%,row_height)
B�fe(main%,20,0,0)
C�
D� icon%=22 �
E9$conv_stitches%=�q(�$ans_conv_stitches%,stitch_width)
F�fe(main%,21,0,0)
G0$conv_rows%=�q(spy%*�$conv_stitches%,1/spx%)
H�fe(main%,19,0,0)
I-$ans_conv_rows%=�s(conv_rows%,row_height)
J�fe(main%,20,0,0)
K�
Lzero%=�e
M!� zero%=� � �$conv_rows%<>0 �
N
�cc(0)
O
�re(6)
P�
Q
�cc(1)
R
�re(2)
S�
T�
UȎ icon% �
V� 19
W� row_height<>0 �
X%$grows%=�s(conv_rows%,row_height)
Y�fe(main%,29,0,0)
Z�
[$grows%="0"
\�fe(main%,29,0,0)
]�
^gridfigs%=�c
_� gridfigs%=� �
`
�cc(1)
a
�re(4)
b�
c
�cc(0)
d
�re(6)
e�
f� 21
g� stitch_width<>0 �
h/$gstitches%=�s(conv_stitches%,stitch_width)
i�fe(main%,30,0,0)
j�
k$gstitches%=�0
l�fe(main%,30,0,0)
m�
ngridfigs%=�c
o� gridfigs%=� �
p
�cc(1)
q
�re(4)
r�
s
�cc(0)
t
�re(6)
u�
v�
w�
x� 29
ygridfigs%=�c
z� gridfigs%=� �
{
�cc(1)
|"� manner%<>2 � �re(4) � �re(7)
}�
~
�cc(0)

�re(6)
��
�
Ȏ key% �
�� &18E,&18A
�processed%=�
�icon%=30
�"block%!0=main%: block%!4=icon%
�ș &000400CE,,block%
�"�oa(main%,icon%,�$(block%!28))
�� &18F,&19A
�processed%=�
�� �l(main%,37) �
�icon%=21
��
�icon%=32
��
�� manner%=2 � icon%=30
�"block%!0=main%: block%!4=icon%
�ș &000400CE,,block%
�"�oa(main%,icon%,�$(block%!28))
�� 13
�gridfigs%=�c
�� gridfigs%=� �
��mb
��
�icon%=30
�"block%!0=main%: block%!4=icon%
�ș &000400CE,,block%
�"�oa(main%,icon%,�$(block%!28))
��
�� &7F,&18B,&19B,&1AB
��xd
�processed%=�
�
�� key%>32 � key%<&180 � �xd
�� key%<>&1CC � processed%=�
��
�� �l(main%,37) �
�'$conv_rows%=�q(�$grows%,row_height)
��fe(main%,19,0,0)
��
�� 30
�gridfigs%=�c
�� gridfigs%=� �
�
�cc(1)
�"� manner%<>2 � �re(4) � �re(7)
��
�
�cc(0)
�
�re(6)
��
�
Ȏ key% �
�� &18E,&18A
�processed%=�
�� �l(main%,37) �
�icon%=19
��
�icon%=31
��
�� manner%=2 � icon%=29
�"block%!0=main%: block%!4=icon%
�ș &000400CE,,block%
�"�oa(main%,icon%,�$(block%!28))
�� &18F,&19A
�processed%=�
�icon%=29
�"block%!0=main%: block%!4=icon%
�ș &000400CE,,block%
�"�oa(main%,icon%,�$(block%!28))
�� 13
�gridfigs%=�c
�� gridfigs%=� �
��mb
��
�� �l(main%,37) �
�icon%=19
��
�icon%=31
��
�� manner%=2 � icon%=29
�"block%!0=main%: block%!4=icon%
�ș &000400CE,,block%
�"�oa(main%,icon%,�$(block%!28))
��
�� &7F,&18B,&19B,&1AB
��xd
�processed%=�
�
�� key%>32 � key%<&180 � �xd
�processed%=�
��
�� �l(main%,37) �
�1$conv_stitches%=�q(�$gstitches%,stitch_width)
��fe(main%,21,0,0)
��
�� 31
�
Ȏ key% �
�� &18E,&18A
�processed%=�
�� �l(main%,37) �
�icon%=29
��
�icon%=32
��
�"block%!0=main%: block%!4=icon%
�ș &000400CE,,block%
�"�oa(main%,icon%,�$(block%!28))
�� &18F,&19A
�processed%=�
�icon%=30
�"block%!0=main%: block%!4=icon%
�ș &000400CE,,block%
�"�oa(main%,icon%,�$(block%!28))
�� 13
�gridfigs%=�c
�� gridfigs%=� �
��mb
��
�icon%=32
�"block%!0=main%: block%!4=icon%
�ș &000400CE,,block%
�"�oa(main%,icon%,�$(block%!28))
��
�� &7F,&18B,&19B,&1AB
��xd
�processed%=�
�
�� key%>32 � key%<&180 � �xd
�� key%<>&1CC � processed%=�
��
� 32
gridfigs%=�c
� gridfigs%=� �

�cc(1)

�re(4)
�

�cc(0)

�re(6)
�
	
Ȏ key% �

� &18E,&18A
processed%=�
� �l(main%,37) �

icon%=19
�
icon%=29
�
"block%!0=main%: block%!4=icon%
ș &000400CE,,block%
"�oa(main%,icon%,�$(block%!28))
� &18F,&19A
processed%=�
� �l(main%,37) �
icon%=29
�
icon%=31
�
"block%!0=main%: block%!4=icon%
ș &000400CE,,block%
"�oa(main%,icon%,�$(block%!28))
� 13
gridfigs%=�c
 � gridfigs%=� �
!�mb
"�
#icon%=29
$"block%!0=main%: block%!4=icon%
%ș &000400CE,,block%
&"�oa(main%,icon%,�$(block%!28))
'�
(� &7F,&18B,&19B,&1AB
)�xd
*processed%=�
+
,� key%>32 � key%<&180 � �xd
-� key%<>&1CC � processed%=�
.�
/�
0�
1&� � processed% � ș &000400DC,key%
2�
3:
4� �c
5� ic%,gridfigs%
6Ȏ manner% �
7	� 0,1
8gridfigs%=�
9� ic%=29 � 32
:.block%!(0+1024)=main%: block%!(4+1024)=ic%
;ș &000400CE,,block%+1024
<*� �$(block%!(28+1024))=0 � gridfigs%=�
=	� ic%
>� 2
?gridfigs%=�d
@�
A=gridfigs%
B:
C� �e
D� icon%,zero%
Ezero%=�
F� icon%=15 � 18
G"block%!0=main%: block%!4=icon%
Hș &000400CE,,block%
I� �$(block%!28)=0 � zero%=�
J� icon%
K
=zero%
L:
M� �d
N� icon%,zero%
Ozero%=�
P� icon%=29 � 30
Q"block%!0=main%: block%!4=icon%
Rș &000400CE,,block%
S� �$(block%!28)=0 � zero%=�
T� icon%
U
=zero%
V:
W� �re(var%)
X
Ȏ var% �
Y� 0
Z8$disptext%="Fill in the stitches in the Edit window"
[� 1
\.$disptext%="Drag in a Sprite or Draw File"
]� 2
^,$disptext%="Set Desired Size of Picture"
_� 3
`$disptext%="Save Out Data"
a� 4
b/$disptext%="Enter Grid Control Information"
c� 5
d2$disptext%="Enter Tension Square Measurements"
e� 6
f9$disptext%="Ready to Edit (Click on the Edit Button)"
g� 7
h-$disptext%="Enter size of punchcard grid"
i�
jtextdispvar%=var%
k�fe(main%,27,0,0)
l�
m:
n� �s(int%,real)
o� answer$,result%
p� real=0 �
q
result%=0
r�
sresult=�$(int%)/real
tresult%=result
u%� result-result%>0.5 � result%+=1
v�
wanswer$=�(result%)
x(� �(answer$)>4 � answer$=�answer$,4)
y=answer$
z:
{� �q(int,real)
|/� result$,i%,final$,digit1%,digit2%,result%
}result%=int*real
~result$=�(int*real)
i%=�result$,".")
�
� i%<>0 �
�	i%+=1
�digit1%=�(�result$,i%,1))
�	i%+=1
�<� i%<=�(result$) � digit2%=�(�result$,i%,1)) � digit2%=1
�� digit2%>5 � digit1%+=1
�(� digit1%=10 � result%+=1: digit1%=0
�$final$=�(result%)+"."+�(digit1%)
��
�final$=result$+".0"
��
�=final$
�:
�� �bb(factor%)
�� multi
�� factor%=1 �
�multi=0.3937
��
�multi=2.54
��
� � �$(tension_sq_width%)<>0 �
�4$tension_sq_width%=�q(multi,�$tension_sq_width%)
��fe(main%,15,0,0)
��
�!� �$(tension_sq_height%)<>0 �
�6$tension_sq_height%=�q(multi,�$tension_sq_height%)
��fe(main%,16,0,0)
��
�� �$(conv_rows%)<>0 �
�&$conv_rows%=�q(multi,�$conv_rows%)
��fe(main%,19,0,0)
��
�� �$(conv_stitches%)<>0 �
�.$conv_stitches%=�q(multi,�$conv_stitches%)
��fe(main%,21,0,0)
��
�� �$(gheight%)<>0 �
�%$gheight%=��(multi*�$gheight%),5)
��fe(main%,31,0,0)
��
�� �$(gwidth%)<>0 �
�#$gwidth%=��(multi*�$gwidth%),5)
��fe(main%,32,0,0)
��
�_� �$(tension_sq_stitches%)<>0 � stitch_width=�$(tension_sq_width%)/�$(tension_sq_stitches%)
�V� �$(tension_sq_rows%)<>0 � row_height=�$(tension_sq_height%)/�$(tension_sq_rows%)
��
�:
�	� �na
�Ȏ manner% �
�� 0
�stitchwidth=�f(�$gwidth%)
�rowht=�f(�$gheight%)
�stitchwidth%=�(stitchwidth)
�rowht%=�(rowht)
�gridwidth%=�$gstitches%
�gridheight%=�$grows%
�g%=0
�� 1
�#gridwidth%=�$ans_conv_stitches%
� gridheight%=�$ans_conv_rows%
� stitchwidth=�f(stitch_width)
�rowht=�f(row_height)
�stitchwidth%=�(stitchwidth)
�rowht%=�(rowht)
�g%=0
��
�'stw%=�((stitchwidth*edmul%)/eddiv%)
�!rht%=�((rowht*edmul%)/eddiv%)
��
�:
�� �jb(sprite$,icon%,whan%)
�
� ox%,oy%
�!block%=whan%
�ș &000400CB,,block%
�ox%=block%!4-block%!20
�oy%=block%!16-block%!24
�block%!4=icon%
�ș &000400CE,,block%
�block%!8=ox%+block%!8
�block%!12=oy%+block%!12
�block%!16=ox%+block%!16
�block%!20=oy%+block%!20
�,ș&00042400,%11000101,1,sprite$,block%+8
��
�:
�� �ie(type%)
�Ȏ type% �
�� 1
�
�savebox%=saveplus%
�I!block%=savebox%:block%!4=0: ș &000400CE,,block%: savespr%=block%!32
�savepath%=�i(savebox%,1)
�$savespr%="Sfile_AFF"
�ftype%=&AFF
�savetype%=1: dragtype%=0
�
fsize%=99
�A� draw_file$="" � $savepath%="Result" � $savepath%=draw_file$
�$saveone%="Add heading"
�$savetwo%="Add Rulers"
�O� drawheader%=� � �fe(savebox%,4,1<<21,1<<21) � �fe(savebox%,4,0<<21,1<<21)
�O� drawrulers%=� � �fe(savebox%,5,1<<21,1<<21) � �fe(savebox%,5,0<<21,1<<21)
�� 2
�
�savebox%=saveplus%
�I!block%=savebox%:block%!4=0: ș &000400CE,,block%: savespr%=block%!32
�savepath%=�i(savebox%,1)
�$savespr%="Sfile_FFF"
�ftype%=&FFF
�savetype%=2: dragtype%=0
�
fsize%=99
�$savepath%=pattern_file$
�$saveone%="Plain text"
�$savetwo%="Advance text"
�� plaintext%=� �
��fe(savebox%,4,1<<21,1<<21)
��fe(savebox%,5,0<<21,1<<21)
��
��fe(savebox%,4,0<<21,1<<21)
��fe(savebox%,5,1<<21,1<<21)
��
�� 3
�
�savebox%=save%
�I!block%=savebox%:block%!4=0: ș &000400CE,,block%: savespr%=block%!32
�savepath%=�i(savebox%,1)
�$savespr%="Sfile_0F0"
�$savepath%=state_file$
ftype%=&0F0
savetype%=3: dragtype%=0

fsize%=99
�
�
:
	� �td
� �$savepath%,".") �
�be($savepath%)
	�

7�wd("To save, drag the icon to a directory viewer")
�
�

:
� �be(fname$)
Ȏ savetype% �
� 1
�zc
&� block%!36>-1 � draw_file$=fname$
�ae(fname$,dfile%)
dfile%=�h(dfile%)
&� �n(editmenu%,0) � �te(0): �re(6)
&� �n(editmenu%,1) � �te(0): �re(6)
� 2
)� block%!36>-1 � pattern_file$=fname$
� plaintext%=� �
�bd(fname$)
�
�wc(fname$)
�
� 3
'� block%!36>-1 � state_file$=fname$
 �ce(fname$)
!�
"� � adjust% �
#!block%=savebox%
$ș &000400C6,,block%
%ș &000400D4,,-1
&�
'�
(:
)	� �lc
*ș&00042401
+ș &000400CF,,block%
,block%!20=block%!12
-block%!24=block%!16
.block%!28=block%!0
/block%!32=block%!4
0block%!36=fsize%
1block%!0=64:block%!12=0
2 block%!16=1:block%!40=ftype%
3$(block%+44)=�j($savepath%)
4.ș &000400E7,17,block%,block%!20,block%!24
5�
6:
7	� �oc
8block%!12=block%!8
9block%!16=4
:#ș &000400E7,17,block%,block%!4
;�
<:
=� �k(name$)
>ȕ �name$,".")
?name$=�name$,�name$,".")+1)
@�
A
=name$
B:
C� �j(name$)
Dȕ �name$,".")
Ename$=�name$,�name$,".")+1)
F�
G=name$+�(0)
H:
I	� �eb
J� b%,a%,word%,fullname$
Kfullname$=""
L?� word%=0 � 508 � 4:block%!(512+word%)=block%!word%:� word%
Ma%=0
Nb%=block%?(44+a%)
Oȕ b%<>0
Pfullname$+=�(b%)
Q	a%+=1
Rb%=block%?(44+a%)
S�
T� block%!36>-1 �
U$savepath%=fullname$
V�fe(savebox%,1,0,0)
W�oa(savebox%,1,�$savepath%)
X�
Y�be(fullname$)
Z?� word%=0 � 508 � 4:block%!word%=block%!(512+word%):� word%
[block%!12=block%!8
\block%!16=3:!block%=256
].ș &000400E7,18,block%,block%!20,block%!24
^�
_:
`� �he(menu%,menunum%)
a� num%,width%,ptr%,i%,item$
b� �
c� +1
d
� Menu#,1
e� EasyKnit
f� &00,info%,Info
g� &00,-1,Clear
h� &80,-1,Quit
i
� Menu#,2
j
� Save
k� &08,savebox%,Draw
l� &08,savebox%,Pattern
m� &88,savebox%,EasyKnit
n
� Menu#,3
o� EasyKnit
p� &08,pattern%,Project Info
q� &00,editmenu%,Mode
r� &00,unitmenu%,Units
s� &80,smenu%,Save
t
� Menu#,4
u
� Edit
v� &00,smenu%,Save
w� &08,zoom%,Zoom
x� &08,colmenu%,Grid Lines
y� &00,-1,Rulers
z� &00,-1,Show Picture
{� &00,-1,Select Colour
|� &00,-1,Edit Colours
}� &00,maskmenu%,Mask
~� &08,colmenu%,Background
� &08,pattern%,Project Info
�� &88,print%,Print
�
� Menu#,5
�� Colour
�� &00,-1,"0"
�� &00,-1,"1"
�� &00,-1,"2"
�� &00,-1,"3"
�� &00,-1,"4"
�� &00,-1,"5"
�� &00,-1,"6"
�� &00,-1,"7"
�� &00,-1,"8"
�� &00,-1,"9"
�� &00,-1,"10"
�� &00,-1,"11"
�� &00,-1,"12"
�� &00,-1,"13"
�� &00,-1,"14"
�� &80,-1,"15"
�
� Menu#,6
�
� Mask
�!� &00,-1,Show masked stitches
�� &00,-1,Remove mask
�� &00,-1,All except current
�� &80,-1,Only current
�
� Menu#,7
�
� Mode
�� &00,-1,Grid only
�� &00,-1,Grid and picture
�� &80,-1,Punchcard
�
� Menu#,8
�� Units
�� &00,-1,Use inches
�� &80,-1,Use centimeters
�
� Menu#,9
�� Ruler
�� &88,colmenu%,Colour
��
��
�� item$
�� item$="Menu#"
�
� num%
�� num%=menunum%
�� $menu%
�width%=(�($menu%)-2)*16
�-menu%!12=&00070207:menu%!20=44:menu%!24=0
�ptr%=menu%+28
��
�� !ptr%:� ptr%!4
�ptr%!8=&7000021:� item$
�5� (�(item$)+1)*16>width% � width%=(�(item$)+1)*16
�� �(item$)<12 �
�$(ptr%+12)=item$
��
�ptr%!8=&7000121
�Gptr%!12=menuindfree%: $menuindfree%=item$: menuindfree%+=�(item$)+1
�(ptr%!16=menuind%: ptr%!20=�(item$)+1
�T� menuindfree%>menuind%+menuindsize% � � 0,"Increase menuindsize% (in PROCinit)"
��
�ptr%+=24
�� (!(ptr%-24) � &80)<>0
�menu%!16=width%
�� �
��
�:
���gb(line%,mess$,var)
�mess$=�mess$,14)
�var$=�(var)
�3�fb(line%,mess$+�25-�(mess$)-�(var$)," ")+var$)
��
�:
���fb(line%,mess$)
�ș &00000024,"db$mess","XX"
�)ș &00000024,"db$mess"+�(line%),mess$
��
�:
�� �ma(berty$)
�� berty%
�&berty%=�("<EasyKnit$Dir>.^.Berty")
��#berty%=�#berty%
��#berty%,berty$
��#berty%
��
�:
�	� �zc
�1� currentgroup%,dbuff%,ptr%,yh%,numb%,len%,i%
�ox%=200
�oy%=250
�7dbuff%=80+12*(gridwidth%+3)+12*(gridheight%+3)+1024
�ș &000406C0
��na
�� �n(editmenu%,1) �
�Ȏ pictype$ �
�� "sprite"
�dbuff%+=(sarealen%+4)/4
�� "draw"
�dbuff%+=drawlen%
��
��
� dfile%=�a("EasyKnit",dbuff%)
��qe
��oe("Group")
�� �n(editmenu%,1) �
�Ȏ pictype$ �
�� "sprite"
�
�� i%=0 � !sourcespr%-4 � 4
�'!(file_pointer%+8+i%)=sourcespr%!i%
�� i%
�
�Bș &0000002E,&10D,file_pointer%+8,block%,&100,1 � ,,,name_len%
�block%?name_len%=13
�sprite$=$block%
�
�:ș &0000002E,&118,file_pointer%+8,sprite$ � ,,spraddr%
�
�0ș &0000002E,512+54,file_pointer%+8,spraddr%
�
�Iș &0000002E,&228,file_pointer%+8,spraddr% � ,,,width%,height%,,mode%
�len%=!(file_pointer%+8+12)
�3sprwidth%=�f(stitch_width)*�$ans_conv_stitches%
�.sprheight%=�f(row_height)*�$ans_conv_rows%
�file_pointer%!0=5
�file_pointer%!4=len%+24
�file_pointer%!8=ox%<<8
�file_pointer%!12=oy%<<8
�'file_pointer%!16=(ox%+sprwidth%)<<8
�(file_pointer%!20=(oy%+sprheight%)<<8
file_pointer%+=24+len%
%�ha(ox%+sprwidth%,oy%+sprheight%)
-�ye(ox%,oy%,ox%+sprwidth%,oy%+sprheight%)
�
�
�ad
%mgstart%!4=file_pointer%-mgstart%
�
:
	� �f(cm)

� factor
� �n(unitmenu%,0) �
factor=180

�
factor=70.866
�
=cm*factor
:
	� �ad
&� totwidth$,tothigh$,unit$,txtpos%
�ne("griddivs")
�gc
�ze
�qb
�ne("gridlines")
�hc
�af
�qb
� �n(unitmenu%,0) �
unit$=" in."
�
unit$=" cm."
 �
!� drawheader%=� �
"�ne("Text")
#� �n(editmenu%,0) �
$
%
&"txtpos%=yh%+4*(�f(�$gheight%))
''totwidth$=�(�$gstitches%*�$gwidth%)
(#tothigh$=�(�$grows%*�$gheight%)
)6�z(0,&FFFFFF00,1,32,32,ox%,txtpos%+315,$patstore%)
*\�z(0,&FFFFFF00,1,20,20,ox%,txtpos%+250,("Grid "+$gstitches%+" Wide x "+$grows%+" High"))
+X�z(0,&FFFFFF00,1,16,16,ox%,txtpos%+200,("Height of one Row = "+�$gheight%,5)+unit$))
,Y�z(0,&FFFFFF00,1,16,16,ox%,txtpos%+150,("Width of one Coulmn = "+�$gwidth%,5)+unit$))
-{�z(0,&FFFFFF00,1,20,16,ox%,txtpos%+100,("Total grid size "+�totwidth$,5)+unit$+" Wide by "+�tothigh$,5)+unit$+" High"))
.�
/
0txtpos%=(2*rowht)+yh%
16�z(0,&FFFFFF00,1,32,32,ox%,txtpos%+400,$patstore%)
2t�z(0,&FFFFFF00,1,16,16,ox%,txtpos%+350,("Pattern "+$ans_conv_stitches%+" Stitches By "+$ans_conv_rows%+" Rows"))
3V�z(0,&FFFFFF00,1,16,16,ox%,txtpos%+300,("Height of Row = "+��row_height,5)+unit$))
4Z�z(0,&FFFFFF00,1,16,16,ox%,txtpos%+250,("Width of Stitch = "+��stitch_width,5)+unit$))
5��z(0,&FFFFFF00,1,20,16,ox%,txtpos%+200,("Knitted size "+�$conv_stitches%,5)+unit$+" Wide By "+�$conv_rows%,5)+unit$+" High"))
6O�z(0,&FFFFFF00,1,16,16,ox%,txtpos%+150,("Tension dial setting = "+$tdset%))
7�
8�qb
9�
:�ia
;ș &000406C1
<�
=:
>	� �qe
?�aa
@�x("Trinity.Medium")
A!�x("Homerton.Medium.Oblique")
B�
C:
D	� �hc
E$� linenum%,c%,extra%,xl%,yl%,xh%
F"xl%=ox%-2*stitchwidth: yl%=oy%
G0xh%=xl%+gridwidth%*stitchwidth+4*stitchwidth
Hyh%=yl%+gridheight%*rowht
I,� currentgroup%=� � �xe(xl%,yl%,xh%,yh%)
J�ye(xl%,yl%,xh%,yh%)
Klinenum%=(gridheight%+1)/10
L$�fa(-1,0,4<<8,2,xl%,yl%,xh%,yh%)
Mextra%=1.5*stitchwidth
N� c%=0 � linenum%
O#�ea(ox%-extra%,oy%+c%*rowht*10)
P:�ca(ox%+extra%+gridwidth%*stitchwidth,oy%+c%*rowht*10)
Q� c%
R�ga
S�
T:
U	� �af
V!� linenum%,c%,xl%,yl%,xh%,yh%
Wxl%=ox%: yl%=oy%-2*rowht
X"xh%=xl%+gridwidth%*stitchwidth
Y%yh%=yl%+gridheight%*rowht+4*rowht
Z,� currentgroup%=� � �xe(xl%,yl%,xh%,yh%)
[�ye(xl%,yl%,xh%,yh%)
\linenum%=(gridwidth%+1)/10
]$�fa(-1,0,4<<8,2,xl%,yl%,xh%,yh%)
^extra%=1.5*rowht
_� c%=0 � linenum%
`)�ea(ox%+c%*stitchwidth*10,oy%-extra%)
a;�ca(ox%+c%*stitchwidth*10,oy%+extra%+gridheight%*rowht)
b� c%
c�ga
d�
e:
f	� �gc
g� c%,extra%,xl%,yl%,xh%,yh%
h)xl%=ox%-stitchwidth*g%: yl%=oy%-rowht
i3xh%=xl%+gridwidth%*stitchwidth+2*stitchwidth*g%
j(yh%=yl%+gridheight%*rowht+2*rowht*g%
k,� currentgroup%=� � �xe(xl%,yl%,xh%,yh%)
l�ye(xl%,yl%,xh%,yh%)
m$�fa(-1,0,1<<8,2,xl%,yl%,xh%,yh%)
n� c%=-g% � gridheight%+g%
o� c% � 10<>0 �
p(�ea(ox%-stitchwidth*g%,oy%+c%*rowht)
q7�ca(ox%+(gridwidth%+1*g%)*stitchwidth,oy%+c%*rowht)
r�
s� c%
t�ga
u�
v:
w	� �ze
x� c%,xl%,yl%,xh%,yh%
y,xl%=ox%-stitchwidth*g%: yl%=oy%-rowht*g%
z3xh%=xl%+gridwidth%*stitchwidth+2*stitchwidth*g%
{(yh%=yl%+gridheight%*rowht+2*rowht*g%
|,� currentgroup%=� � �xe(xl%,yl%,xh%,yh%)
}�ye(xl%,yl%,xh%,yh%)
~$�fa(-1,0,1<<8,2,xl%,yl%,xh%,yh%)
� c%=-g% � gridwidth%+g%
�� c% � 10<>0 �
�(�ea(ox%+c%*stitchwidth,oy%-rowht*g%)
�8�ca(ox%+c%*stitchwidth,oy%+(gridheight%+1*g%)*rowht)
��
�� c%
��ga
��
�:
�	� �ia
�(� bx%,by%,num%,linenum%,tby%,rbx%,p%
�� drawrulers%=� �
��ne("RulerBottom")
�bx%=ox%-30
�by%=oy%-2*rowht-38
�linenum%=(gridwidth%+1)/10
�� num%=0 � linenum%
�B�z(0,&FFFFFF00,2,16,16,bx%+num%*10*stitchwidth,by%,�(num%*10))
�
� num%
��qb
��ne("RulerLHS")
�bx%=ox%-2*stitchwidth-30
�by%=oy%-10
�p%=0
�linenum%=(gridheight%+1)/10
�� num%=0 � linenum%
�� num%*10>9 � p%=25
�� num%*10>99 � p%=45
�?�z(0,&FFFFFF00,2,16,16,bx%-p%,by%+num%*10*rowht,�(num%*10))
�
� num%
��qb
��ne("RulerTop")
�bx%=ox%-30
�)tby%=oy%+gridheight%*rowht+2*rowht+13
�linenum%=(gridwidth%+1)/10
�� num%=0 � linenum%
�C�z(0,&FFFFFF00,2,16,16,bx%+num%*10*stitchwidth,tby%,�(num%*10))
�
� num%
��qb
��ne("RulerRHS")
�by%=oy%-10
�4rbx%=ox%+gridwidth%*stitchwidth+2*stitchwidth+10
�linenum%=(gridheight%+1)/10
�� num%=0 � linenum%
�=�z(0,&FFFFFF00,2,16,16,rbx%,by%+num%*10*rowht,�(num%*10))
�
� num%
��qb
��
��
�:
�� �ae(filepath$,draw_file%)
�ș &000406C0
�=�("SAVE "+filepath$+" "+�~draw_file%+" "+�~file_pointer%)
�#�("SetType "+filepath$+" &AFF")
�ș &000406C1
��
�:
�� �a(program_name$,words%)
�� i%,draw_file%
�� draw_file%<>0 �
�draw_file%=�h(draw_file%)
�draw_file%=�b(40+4*words%)
��
�draw_file%=�b(40+4*words%)
�{� draw_file%=0 � � 0,"Sorry, not enough free RAM to create the file. Please try to make more available then try again."
�dfilestart%=draw_file%
��
�Dfile_length%=draw_file%+40+4*words% : file_pointer%=draw_file%+4
�$draw_file%="Draw"
��w(201)
�	�w(0)
�$program_name$=�program_name$,11)
�*program_name$+=�11-�program_name$," ")
�"$(draw_file%+12)=program_name$
�file_pointer%+=12
��ba(0,0,0,0)
�=draw_file%
�:
�G� �fa(Fill_Colour%,Line_Colour%,Line_Width%,Style%,xl%,yl%,xh%,yh%)
�� w%
�.w%=(Line_Width%>>8)/2+(Line_Width%>>8) � 2
�object%=file_pointer%
�	�w(2)
�
�w(80)
�(�ba(xl%-w%,yl%-w%,xh%+w%+1,yh%+w%+1)
��w(Fill_Colour%)
��w(Line_Colour%)
��w(Line_Width%)
��w(Style%)
��
�:
�	� �ga
�� object_length%
�	�w(0)
�(object_length%=file_pointer%-object%
�object%!4=object_length%
��
�:
�� �w(x%)
�>� file_pointer%>file_length% � � 0,"File buffer too short"
�!file_pointer%=x%
�file_pointer%+=4
��
�:
�"� �ba(xmin%,ymin%,xmax%,ymax%)
��w(xmin%<<8)
��w(ymin%<<8)
��w(xmax%<<8)
��w(ymax%<<8)
��ha(xmax%,ymax%)
��
�:
�� �ha(x%,y%)
�+� x%>((dfile%!32)>>8) � dfile%!32=x%<<8
�+� y%>((dfile%!36)>>8) � dfile%!36=y%<<8
��
�:
�� �oe(groupname$)
�mgstart%=file_pointer%
�mgstart%!0=6
�mgstart%!4=0
�mgstart%!8=5000<<8
�mgstart%!12=50000<<8
�mgstart%!16=0
�mgstart%!20=0
�file_pointer%+=24
�groupname$=�groupname$,11)
�$groupname$+=�11-�groupname$," ")
�$(file_pointer%)=groupname$
file_pointer%+=12
�
:
� �ne(groupname$)
currentgroup%=�
groupstart%=file_pointer%
groupstart%!0=6
groupstart%!4=0
groupstart%!8=5000<<8
	groupstart%!12=50000<<8

groupstart%!16=0
groupstart%!20=0
file_pointer%+=24

groupname$=�groupname$,11)
$groupname$+=�11-�groupname$," ")
$(file_pointer%)=groupname$
file_pointer%+=12
�
:
� �xe(lx%,ly%,hx%,hy%)
5� lx%<((groupstart%!8)>>8) � groupstart%!8=lx%<<8
7� ly%<((groupstart%!12)>>8) � groupstart%!12=ly%<<8
;� hx%>((groupstart%!16)>>8) � groupstart%!16=(hx%+1)<<8
;� hy%>((groupstart%!20)>>8) � groupstart%!20=(hy%+1)<<8
�
:
� �ye(lx%,ly%,hx%,hy%)
/� lx%<((mgstart%!8)>>8) � mgstart%!8=lx%<<8
1� ly%<((mgstart%!12)>>8) � mgstart%!12=ly%<<8
5� hx%>((mgstart%!16)>>8) � mgstart%!16=(hx%+1)<<8
5� hy%>((mgstart%!20)>>8) � mgstart%!20=(hy%+1)<<8
�
 :
!	� �qb
"currentgroup%=�
#+groupstart%!4=file_pointer%-groupstart%
$�
%:
&� �ea(x%,y%)
'#�w(2) : �w(x%*256) : �w(y%*256)
(�
):
*� �ca(x%,y%)
+#�w(8) : �w(x%*256) : �w(y%*256)
,�
-:
.8� �z(Colour%,Hint%,Style%,xSize%,ySize%,x%,y%,Text$)
/� text_object%,wd%,ht%,dec%
0text_object%=file_pointer%
1	�w(1)
2	�w(0)
30�da(Style%,xSize%,ySize%,Text$,wd%,ht%,dec%)
4&�ba(x%,y%+dec%,x%+wd%,y%+ht%+dec%)
5�w(Colour%)
6
�w(Hint%)
7�w(Style%)
8�w(xSize%*640)
9�w(ySize%*640)
:
�w(x%<<8)
;
�w(y%<<8)
<
�y(Text$)
=-text_object%!4=file_pointer%-text_object%
>>� currentgroup%=� � �xe(x%,y%+dec%,x%+wd%+1,y%+ht%+dec%+1)
?*�ye(x%,y%+dec%,x%+wd%+1,y%+ht%+dec%+1)
@�
A:
B/� �da(font%,x%,y%,text$,� wd%,� ht%,� dec%)
C+� ptr%,font$,han%,char%,xl%,yl%,xh%,yh%
Dptr%=dfile%+40
Eȕ !ptr%<>0
Fptr%+=ptr%!4
G�
Hptr%+=8
Iȕ ?ptr%<>font%
J�
Kptr%+=1
L
� ?ptr%=0
Mȕ ?ptr%=0
Nptr%+=1
O�
P�
Qptr%+=1
Rfont$=""
Sȕ ?ptr%<>0
Tfont$+=�(?ptr%)
Uptr%+=1
V�
W.ș &00040081,,font$,x%*16,y%*16,0,0 � han%
Xblock%!0=0
Yblock%!4=0
Zblock%!8=0
[block%!12=0
\block%!16=-1
]@ș &000400A1,han%,text$,(1<<5)+(1<<18),1<30,1<<30,block%,0,0
^0ș &00040088,,block%!20,block%!24 � ,xl%,yl%
_0ș &00040088,,block%!28,block%!32 � ,xh%,yh%
`dec%=yl%
awd%=xh%-xl%
bht%=yh%-yl%
cș &00040082,han%
d�
e:
f	� �aa
gfont_object%=file_pointer%
hfont_number%=1
i	�w(0)
j	�w(8)
k�
l:
m� �x(font$)
n?file_pointer%=font_number%
ofont_number%+=1
pfile_pointer%+=1
q
�y(font$)
r-font_object%!4=file_pointer%-font_object%
s�
t:
u� �y(string$)
v$file_pointer%=string$
wfile_pointer%+=�string$
x?file_pointer%=0
yfile_pointer%+=1
zȕ file_pointer% � 4 <> 0
{?file_pointer%=0
|file_pointer%+=1
}�
~�
:
�� �b(size%)
�size%+=0
�errflag%=0
�� heap%=0 �ge(size%+16)
�� � errflag% �
�"ș &0002001D,1,heap% � ,,free%
�� free%<size% �yb(size%,1)
�� � errflag% �
�(ș &0002001D,2,heap%,,size% � ,,ptr%
��
��
�� errflag% � =0 � =ptr%
�:
�� �h(ptr%)
�ș &0002001D,3,heap%,ptr%
��vc
�=0
�:
�	� �vc
�� s%,flag%
��
�.ș &0002001D,5,heap%,,-page% � ,,,s%;flag%
�� flag% � 1 �
�ș &0002001D,5,heap%,,s%
��
�"ș &000400EC,appsize%-page%,-1
�$appsize%-=page%:heapsize%-=page%
��
�� flag% � 1
��
�:
�� �ja(� ptr%,size%)
�� flag%
�errflag%=0:�
�2ș &0002001D,4,heap%,ptr%,size% � ,,ptr%;flag%
�� flag% � 1 �yb(page%,1)
� � (flag% � 1)=0 � errflag%=�
�� � errflag% �
�� size%<0 �vc
��
��
�:
�� �yb(mem%,x%)
�
� new%
�(ș &000400EC,appsize%+mem%,-1 � new%
�� new%<appsize%+mem% �
�errflag%=�
�ș &000400EC,appsize%,-1
�� 1<<30,"Not enough memory"
��
�,� x% ș &0002001D,5,heap%,,new%-appsize%
�heapsize%=new%+&8000-�
�appsize%=new%
��
��
�:
�� �ge(initsize%)
��yb(initsize%,0)
�� � errflag% �
�heap%=�
�#ș &0002001D,0,heap%,,heapsize%
��
��
�:
�:
�	� �jc
�� f%
�fontdata%=�b(&100)
�.� f%=fontdata% � fontdata%+252 � 4:!f%=0:�
��
�:
�	� �uc
�� f%
�� f%=0 � 255
�ȕ fontdata%?f%>0
�fontdata%?f%-=1
�ș &00040082,f%
��
��
�fontdata%=�h(fontdata%)
��
�:
�� �p(a$)
�� a%,l%,s%
�
a%=�a$
�
l%=�#a%+4
�	� #a%
�
s%=�b(l%)
�
!s%=l%
�ș &0000002E,&10A,s%,a$
�=s%
�:
�)� �ee(block%,minx%,miny%,maxx%,maxy%)
�block%! 0=minx%
�block%! 4=miny%
�block%! 8=maxx%
�block%!12=maxy%
��
�:
�� �vb(� x%,� y%)
�
� xp%,yp%
�ș &00000035,-1,4  � ,,xp%
�ș &00000035,-1,5  � ,,yp%
�ș &00000035,-1,11 � ,,x%
�ș &00000035,-1,12 � ,,y%
�x%=(x%+1)<<xp%
�y%=(y%+1)<<yp%
��
�:
�� �wb(block%,� x%,� y%)
�x%=block%!8-block%!0
�y%=block%!12-block%!4
��
�:
�� �md(hand%)
�� x%,y%,wx%,wy%
�!block%=hand%
�ș &000400CB,,block%
��vb(x%,y%)
��wb(block%+4,wx%,wy%)
�x%=x%>>1
�y%=y%>>1
�wx%=wx%>>1
�wy%=wy%>>1
�-�ee(block%+4,x%-wx%,y%-wy%,x%+wx%,y%+wy%)
�block%!28=-1
�ș &000400C5,,block%
��
:
	� �ab
block%!4500=titlewin%
ș &000400C3,,block%+4500
titlewin%=0:mask%=mask% � 1
�uc
titlespr%=�h(titlespr%)
titleopen%=�
�
	:

� �fc(han%,icon%)
� ptr%,len%,text$,i%,tok$

Ȏ han% �

� main%
tok$="main"
Ȏ icon% �
� 19
7� �n(editmenu%,1) � tok$="main19a" � tok$="main19b"
icon%=-1
� 21
7� �n(editmenu%,1) � tok$="main21a" � tok$="main21b"
icon%=-1
#� 25,26,29,30,33,34,35,36,50,51
"� manner%=2 � tok$="mainpunch"
�
� pattern%
tok$="pattern"
Ȏ icon% �
%� 2,8,7,9,3,10,4,6,11,12,13,14,15

icon%=-1
�
 *� tbardisp%: tok$="tbardisp": icon%=-1
!"� zoom%: tok$="zoom": icon%=-1
""� save%: tok$="save": icon%=-1
#� print%: tok$="print"
$ � ask%: tok$="ask": icon%=-1
%&� report%: tok$="report": icon%=-1
&� saveplus%
'tok$="saveplus"
(Ȏ icon% �
)	� 4,5
*
+icon%=-1
,�
-"� info%: tok$="info": icon%=-1
.� largepick%,smallpick%
/tok$="pic"
0� icon%=18 �
15� han%=largepick% � tok$="pic18a" � tok$="pic18b"
2icon%=-1
3�
4"� colcreate%: tok$="colcreate"
5� colchoose%
6tok$="colchoose"
7� icon%>5 � icon%=-1
8(� colpane%: tok$="colpane": icon%=-1
9� tbar%
:tok$="tbar"
;� icon%<4 � icon%=-1
<N� manner%=2 � (icon%=4 � icon%=8 � icon%=12 � icon%=13) � tok$="tbarpunch"
=3� edit%,cornertl%,cornertr%,cornerbl%,cornerbr%
>tok$="edit": icon%=-1
?-� manner%=2 �  tok$="editpunch": icon%=-1
@� -2: tok$="ibar": icon%=-1
A*� titlewin%: tok$="titlewin": icon%=-1
BD� toprule%,botrule%,leftrule%,rightrule%: tok$="ruler": icon%=-1
C
Dș &000400F4,0,block%+800
E'sel%=block%!800: subsel%=block%!804
Fsubsubsel%=block%!808
Gicon%=sel%
HȎ menuopen% �
I� imenu%
Jtok$="imenu"
K�rulermenu%
Ltok$="rulermenu" : icon%=-1
M� emenu%
Ntok$="emenu"
O
Ȏ sel% �
P� 0
QȎ subsel% �
R
S)� 0,1,2 : tok$="smenu": icon%=subsel%
T�
U� 2
VȎ subsel% �
W
XJ� 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 : tok$="gridcolmenu": icon%=-1
Y�
Z� 7
[Ȏ subsel% �
\
].� 0,1,2,3 : tok$="maskmenu": icon%=subsel%
^�
_� 8
`Ȏ subsel% �
a
bK� 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 : tok$="bkgndcolmenu": icon%=-1
c�
d�
e� dmenu%
ftok$="dmenu"
g
Ȏ sel% �
h� 1
iȎ subsel% �
j
k,� 0,1,2 : tok$="modemenu": icon%=subsel%
l�
m� 2
nȎ subsel% �
o
p*� 0,1 : tok$="unitmenu": icon%=subsel%
q�
r� 3
sȎ subsel% �
t
u)� 0,1,2 : tok$="smenu": icon%=subsel%
v�
w�
x�
y�
z$� icon%<>-1 � tok$=tok$+�(icon%)
{/ș &00041502,infobuff%,tok$,0 � ,,ptr%,len%
|text$=""
}� i%=0 � len%-1
~text$+=�(ptr%?i%)
� i%
��de(text$)
��
�:
�� �ce(file$)
�
� out%
�out%=� (file$)
�1�#out%,$tension_sq_width%,$tension_sq_height%
�2�#out%,$tension_sq_stitches%,$tension_sq_rows%
��#out%,$tdset%
�&�#out%,$conv_rows%,$ans_conv_rows%
�.�#out%,$conv_stitches%,$ans_conv_stitches%
��#out%,manner%
��#out%,�n(unitmenu%,0)
��#out%,$grows%,$gstitches%
��#out%,$gheight%,$gwidth%
��#out%,textdispvar%
��#out%,�l(main%,37)
��#out%,�l(main%,0)
��#out%,mastergrey%
�&�#out%,$patstore%,$(patstore%+100)
�,�#out%,$(patstore%+105),$(patstore%+110)
��#out%,patstore%?115
��#out%,$sclmul%,$scldiv%
�� coltable%<>0 �
�#�#out%,1,gridwidth%*gridheight%
�8ș &0000000C,2,out%,coltable%,gridwidth%*gridheight%
��
��#out%,0,0
��
�"� nametable%<>0 � manner%<>2 �
��#out%,1,13*33
�(ș &0000000C,2,out%,nametable%,13*33
��
��#out%,0,0
��
�� paltable%<>0 �
��#out%,1,4*33
�'ș &0000000C,2,out%,paltable%, 4*33
��
��#out%,0,0
��
��#out%,pictype$
�Ȏ pictype$ �
�� "sprite"
�(�#out%,!sourcespr%,sprite$,spriteon%
�.ș &0000000C,2,out%,sourcespr%,!sourcespr%
�� "draw"
��#out%,drawlen%
�&ș &0000000C,2,out%,draw%,drawlen%
��
��#out%,�n(emenu%,2)
��#out%,gridcol%
��#out%,backcol%
��#out%,maxcol%
��#out%,rulerbcol%
��#out%,rulerfcol%
��#out%,pagerulers%
��#out%,manner%
�
�#out%
��("SetType "+file$+" 0F0")
�
�te(0)
��
�:
�	� �db
�-� in%,var%,var1%,var2%,text%,var$,greyno%
�ș &000406C0
�in%=�(state_file$)
�V�#in%,$tension_sq_width%,$tension_sq_height%: �fe(main%,15,0,0): �fe(main%,16,0,0)
�W�#in%,$tension_sq_stitches%,$tension_sq_rows%: �fe(main%,17,0,0): �fe(main%,18,0,0)
�$�#in%,$tdset%: �fe(main%,46,0,0)
�K�#in%,$conv_rows%,$ans_conv_rows%: �fe(main%,19,0,0): �fe(main%,20,0,0)
�S�#in%,$conv_stitches%,$ans_conv_stitches%: �fe(main%,21,0,0): �fe(main%,22,0,0)
��#in%,var%
��we(editmenu%,0)
��we(editmenu%,1)
��we(editmenu%,2)
��se(editmenu%,var%)
��#in%,var%
�� var%=0 �
��se(unitmenu%,1)
��we(unitmenu%,0)
�&$tsqtunit%="cm": �fe(main%,38,0,0)
�&$tsqbunit%="cm": �fe(main%,39,0,0)
�&$contunit%="cm": �fe(main%,48,0,0)
�&$conbunit%="cm": �fe(main%,49,0,0)
�&$grdtunit%="cm": �fe(main%,50,0,0)
�&$grdbunit%="cm": �fe(main%,51,0,0)
��
��se(unitmenu%,0)
��we(unitmenu%,1)
�&$tsqtunit%="in": �fe(main%,38,0,0)
�&$tsqbunit%="in": �fe(main%,39,0,0)
�&$contunit%="in": �fe(main%,48,0,0)
�&$conbunit%="in": �fe(main%,49,0,0)
�&$grdtunit%="in": �fe(main%,50,0,0)
�&$grdbunit%="in": �fe(main%,51,0,0)
��
�C�#in%,$grows%,$gstitches%: �fe(main%,29,0,0): �fe(main%,30,0,0)
�B�#in%,$gheight%,$gwidth%: �fe(main%,31,0,0): �fe(main%,32,0,0)
��#in%,var%: �re(var%)
��#in%,var%
�� var%=0 �
��fe(main%,37,0<<21,1<<21)
��
��fe(main%,37,1<<21,1<<21)
�stitch_width=0
�_� �$(tension_sq_stitches%)<>0 � stitch_width=�$(tension_sq_width%)/�$(tension_sq_stitches%)
��
��#in%,var%
�� var%=0 �
�
�cc(0)
��
�
�cc(1)
��
��#in%,greyno%
�� greyno%=5 � �ac(0)
��ed(greyno%)
�P�#in%,$patstore%,$(patstore%+100) : �fe(pattern%,8,0,0): �fe(pattern%,9,0,0)
�X�#in%,$(patstore%+105),$(patstore%+110) : �fe(pattern%,10,0,0): �fe(pattern%,11,0,0)
��#in%,var%
�patstore%?115=var%
�� var%=0 �
� �fe(pattern%,12,0<<21,1<<21)
� �fe(pattern%,13,1<<21,1<<21)
��
� �fe(pattern%,12,1<<21,1<<21)
� �fe(pattern%,13,0<<21,1<<21)
��
?�#in%,$sclmul%,$scldiv%: �fe(zoom%,0,0,0): �fe(zoom%,1,0,0)
edmul%=�($sclmul%)
eddiv%=�($scldiv%)
�#in%,var%,var1%
� var%=1 �
coltable%=�b(var1%+8)
&ș &0000000C,4,in%,coltable%,var1%
�
coltable%=0
	�

�#in%,var%,var1%
� var%=1 �
nametable%=�b(var1%)

'ș &0000000C,4,in%,nametable%,var1%
�
nametable%=0
�
�#in%,var%,var1%
� var%=1 �
paltable%=�b(var1%)
&ș &0000000C,4,in%,paltable%,var1%
�
paltable%=0
�
�#in%,pictype$
Ȏ pictype$ �
� "none"
sourcespr%=0
�fe(tbar%,7,1<<22,1<<22)
�fe(tbar%,7,0<<21,1<<21)
�fe(tbar%,5,0<<22,1<<22)
�fe(tbar%,5,1<<21,1<<21)
 �fe(tbar%,9,0<<22,1<<22)
!�fe(tbar%,10,0<<22,1<<22)
"�we(emenu%,4)
#�je(emenu%,4,1)
$� "sprite"
% �#in%,var%,sprite$,spriteon%
&�fe(tbar%,7,0<<22,1<<22)
'�fe(tbar%,5,0<<22,1<<22)
(�fe(tbar%,5,1<<21,1<<21)
)�fe(tbar%,9,0<<22,1<<22)
*�fe(tbar%,10,0<<22,1<<22)
+� spriteon%=� �
,�fe(tbar%,7,1<<21,1<<21)
-�
.�fe(tbar%,7,0<<21,1<<21)
/�
0�se(emenu%,4)
1�je(emenu%,4,0)
2sourcespr%=�b(var%)
3&ș &0000000C,4,in%,sourcespr%,var%
4sarealen%=!sourcespr%
58ș &0000002E,&118,sourcespr%,sprite$ � ,,sourceaddr%
6
7Bș &0000002E,&228,sourcespr%,sourceaddr% � ,,,spx%,spy%,,mode%
8xe%=�r(mode%,4)
9ye%=�r(mode%,5)
:spx%=spx%<<xe%
;spy%=spy%<<ye%
<Aș &00040740,sourcespr%,sourceaddr%,-1,-1,0,1,0,0 � ,,,,size%
=transtable%=�b(size%)
>?ș &00040740,sourcespr%,sourceaddr%,-1,-1,transtable%,1,0,0
?� "draw"
@�#in%,drawlen%
A�fe(tbar%,7,0<<22,1<<22)
B�fe(tbar%,7,1<<21,1<<21)
C�fe(tbar%,5,0<<22,1<<22)
D�fe(tbar%,5,1<<21,1<<21)
E�fe(tbar%,9,0<<22,1<<22)
F�fe(tbar%,10,0<<22,1<<22)
G�se(emenu%,4)
H�je(emenu%,4,0)
Idraw%=�b(drawlen%)
J%ș &0000000C,4,in%,draw%,drawlen%
Kdrawx%=draw%!32-draw%!24
Ldrawy%=draw%!36-draw%!28
Mdrawxoffset%=draw%!24
Ndrawyoffset%=draw%!28
Ospx%=drawx%>>8
Pspy%=drawy%>>8
Q�
R�#in%,var%
S�se(colmenu%,var%)
T�#in%,gridcol%
U�#in%,backcol%
V!block%=edit%
Wș &000400CC,,block%
Xș &000400C3,,block%
Y?(block%+4+35)=backcol%
Z"ș &000400C1,,block%+4 � edit%
[Ȏ backcol% �
\� 4,5,6,7,8,10,11,13
]forecol%=0
^
_forecol%=7
`�
a�#in%,maxcol%
b� �#in%<>�#in% �
c�#in%,rulerbcol%
d�#in%,rulerfcol%
e�#in%,pagerulers%
ftoprule%=�t(toprule%)
gbotrule%=�t(botrule%)
hleftrule%=�t(leftrule%)
irightrule%=�t(rightrule%)
j� pagerulers%=� �
k�fe(tbar%,6,1<<21,1<<21)
l�se(emenu%,3)
m�
n�fe(tbar%,6,0<<21,1<<21)
o�we(emenu%,3)
p�
q�#in%,manner%
rȎ manner% �
s	� 0,1
t�je(emenu%,7,0)
u� 2
v/� nametable%<>0 � nametable%=�h(nametable%)
w/� symbstore%<>0 � symbstore%=�h(symbstore%)
x/� symbpoint%<>0 � symbpoint%=�h(symbpoint%)
y,� symbsize%<>0 � symbsize%=�h(symbsize%)
z,� paltable%<>0 � paltable%=�h(paltable%)
{ � draw%<>0 � draw%=�h(draw%)
|/� sourcespr%<>0 � sourcespr%=�h(sourcespr%)
}stw%=�((30*edmul%)/eddiv%)
~rht%=�((30*edmul%)/eddiv%)
stitchwidth=stw%
�rowht=rht%
�gridwidth%=�$gstitches%
�gridheight%=�$grows%
��sc
�
�ed(6)
��se(editmenu%,2)
��we(editmenu%,0)
��we(editmenu%,1)
��je(smenu%,0,1)
��je(smenu%,1,1)
�spriteon%=�
�editcreated%=�
��fe(tbar%,5,1<<22,1<<22)
��fe(tbar%,5,1<<21,1<<21)
��fe(tbar%,7,1<<22,1<<22)
��fe(tbar%,7,0<<21,1<<21)
��fe(tbar%,9,1<<22,1<<22)
��fe(tbar%,10,1<<22,1<<22)
��je(emenu%,4,1)
��je(emenu%,7,1)
��we(emenu%,4)
��
��
�	�#in%
�� starred%=� � �te(0)
�ș &000406C1
��
�:
�	� �rd
�E� pf%,w%,h%,rect%,trans%,plotat%,more%,f1%,f2%,f3%,min%,max%,col%
�P� wx%,wy%,minx%,maxx%,miny%,maxy%,sminx%,smaxx%,sminy%,smaxy%,y%,xx%,xc%,yc%
�7� tilex%,tiley%,prtranstable%,size%,Y0%,Y1%,X0%,X1%
�P� dec%,wd%,ht%,pgrid%,psprite%,pstitches%,pmirror%,pgridw%,xoffset,prstitch%
�� scl%,nummin%,nummax%,num%
�pgrid%=�l(print%,2)
�psprite%=�l(print%,3)
�pstitches%=�l(print%,4)
�pmirror%=�l(print%,19)
�rect%=�b(16): trans%=�b(16)
�plotat%=�b(8)
�prtranstable%=0
�ș &000406C0
�pf%=�("printer:")
�ș &00080145,pf%,"EasyKnit"
�� �
�� � �:� �:�tc:�
�4ș &00040081,,"Trinity.Medium",10*16,10*16 � f1%
�4ș &00040081,,"Trinity.Medium",14*16,14*16 � f2%
�;ș &00040081,,"Homerton.Medium.Oblique",8*16,8*16 � f3%
�� tilesw%=0 � tilesh%=0 �
�xc%=(prw%-prpatw%)/2
�yc%=(prh%-prpath%)/2
�� xc%<100 � xc%=100
�� yc%<100 � yc%=100
��
�xc%=100
�yc%=100
��
�titlex%=xc%+prpatw%/2-100
�titley%=yc%+prpath%-220
�!trans%=1<<16: trans%!4=0
�trans%!8=0: trans%!12=1<<16
�plotat%!0=prl%
�plotat%!4=prb%
�sminx%=0
�smaxx%=numstw%+2
�sminy%=0
�smaxy%=numsth%+2
�� sminx%<0 � sminx%=0
�+� smaxx%>gridwidth% � smaxx%=gridwidth%
�� sminy%<0 � sminy%=0
�-� smaxy%>gridheight% � smaxy%=gridheight%
�� tilex%=0 � tilesw%
�� tiley%=0 � tilesh%
�$minx%=tilex%*numstw%*prstw-prstw
�$miny%=tiley%*numsth%*prrht-prrht
�-maxx%=xc%+minx%+numstw%*prstw+2*prstw+200
�-maxy%=yc%+miny%+numsth%*prrht+2*prrht+200
�rect%!0=minx%
�rect%!4=miny%
�rect%!8=maxx%
�rect%!12=maxy%
�1ș &0008014B,0,rect%,trans%,plotat%,&FFFFFF00
�%ș &0008014C,1,block%,0,0 � more%
�ș &0004074F,,&FFFFFF00,0,6
�&� psprite%=� � pictype$="sprite" �
�Aș &00040740,sourcespr%,sourceaddr%,-1,-1,0,1,0,0 � ,,,,size%
�8� prtranstable%<>0 � prtranstable%=�h(prtranstable%)
�prtranstable%=�b(size%)
�Aș &00040740,sourcespr%,sourceaddr%,-1,-1,prtranstable%,1,0,0
��
�ȕ more%
�
�� tiley%=tilesh% �
�ș &0004008A,f2%
�$�ub($patstore%,f1%,dec%,wd%,ht%)
�5ș &00040086,,$patstore%,16,titlex%-wd%/2,titley%
��
�� psprite%=� �
�Ȏ pictype$ �
�� "sprite"
�"Y0%=(yc%+gridheight%*prrht)<<8
�Y1%=yc%<<8
�X0%=xc%<<8
�!X1%=(xc%+gridwidth%*prstw)<<8
�"� �l(print%,18)=� � Ȕ Y0%,Y1%
�� pmirror%=� � Ȕ X0%,X1%
�block%!100=X0%
�block%!104=Y0%
�block%!108=X1%
�block%!112=Y0%
�block%!116=X1%
�block%!120=Y1%
�block%!124=X0%
�block%!128=Y1%
�
�Jș&0000002E,&238,sourcespr%,sourceaddr%,1,0,0,block%+100,prtranstable%
�� "draw"
�-scalex=((gridwidth%*prstw)<<8)/(drawx%-1)
�.scaley=((gridheight%*prrht)<<8)/(drawy%-1)
�!� pmirror%=� � scalex=-scalex
�block%!100 =scalex*65536
�block%!104 =0
�block%!108 =0
�block%!112=scaley*65536
�+block%!116=(xc%<<8)-drawxoffset%*scalex
�6� pmirror%=� � block%!116=block%!116-drawx%*scalex
�+block%!120=(yc%<<8)-drawyoffset%*scaley

.ș &00045540,0,draw%,drawlen%,block%+100,0
�
�
Ȏ manner% �
	� 0,1

� pstitches%=� �
!pminx%=(block%!0-xc%)/prstw-1
	!pminy%=(block%!4-yc%)/prrht-1

!pmaxx%=(block%!8-xc%)/prstw+1
"pmaxy%=(block%!12-yc%)/prrht+1
#� pminx%<sminx% � pminx%=sminx%

#� pmaxx%>smaxx% � pmaxx%=smaxx%
#� pminy%<sminy% � pminy%=sminy%
#� pmaxy%>smaxy% � pmaxy%=smaxy%
y%=yc%-ypix%*(pgrid%=�)
xx%=xc%-xpix%*(pgrid%=�)

w%=pminx%
ȕ w%<pmaxx%
x%=xx%+w%*prstw+(pgrid%=�)
(sw%=(w%+1)*prstw-w%*prstw+(pgrid%=�)

h%=pminy%
ȕ h%<smaxy%
(rh%=(h%+1)*prrht-h%*prrht+(pgrid%=�)
� pmirror%=� �
2col%=coltable%?(h%*gridwidth%+gridwidth%-w%-1)
�
%col%=coltable%?(h%*gridwidth%+w%)
�
�showmask% col%=col%�191
`�(col%�192)=0 � ș ct_setgcol%,paltable%!((col%�63)*4):ȓȐx%,y%+h%*prrht+(pgrid%=�),sw%,rh%
 	h%+=1
!�
"	w%+=1
#�
$�
%
&� pgrid%=� �
'ș ct_setgcol%,�v(gridcol%)
(
).yl%=yc%+sminy%*prrht: yh%=yc%+smaxy%*prrht
*� x%=sminx% � smaxx%
+� xc%+x%*prstw,yl%
,� xc%+x%*prstw,yh%
-� x%
.
/.xl%=xc%+sminx%*prstw: xh%=xc%+smaxx%*prstw
0� y%=sminy% � smaxy%
1� xl%,yc%+y%*prrht
2� xh%,yc%+y%*prrht
3� y%
4ș &0004008A,f1%
5
6� minx%<100 �
7min%=sminy%
8max%=smaxy%
9"� min%<>0 � min%+=(5-(min%�5))
:ș ct_setgcol%,0
;� row%=min% � max% � 5
<
x%=xc%
=y%=yc%+row%*prrht
>� row% � 10=0 �
?!�ub(�(row%),f1%,dec%,wd%,ht%)
@/ș &00040086,,�(row%),16,x%-wd%-24,y%-ht%/2
A� x%,y%
B� x%-20,y%
C�
D� x%,y%
E� x%-10,y%
F�
G
� row%
H�
I
J"� maxx%>100+gridwidth%*prstw �
Kmin%=sminy%
Lmax%=smaxy%
M"� min%<>0 � min%+=(5-(min%�5))
Nș ct_setgcol%,0
O� row%=min% � max% � 5
Px%=xc%+gridwidth%*prstw
Qy%=yc%+row%*prrht
R� row% � 10=0 �
S!�ub(�(row%),f1%,dec%,wd%,ht%)
T+ș &00040086,,�(row%),16,x%+24,y%-ht%/2
U� x%,y%
V� x%+20,y%
W�
X� x%,y%
Y� x%+10,y%
Z�
[
� row%
\�
]%prgridw%=gridwidth%-gridwidth%�10
^<� pmirror%=� � xoffset=prstw*(gridwidth%�10) � xoffset=0
_
`� miny%<100 �
amin%=sminx%
bmax%=smaxx%
c0� pmirror%=� � max%>prgridw% � max%=prgridw%
d"� min%<>0 � min%+=(5-(min%�5))
eș ct_setgcol%,0
f� stitch%=min% � max% � 5
g x%=xc%+stitch%*prstw+xoffset
h
y%=yc%
i� stitch% � 10=0 �
jA� pmirror%=� � prstitch%=prgridw%-stitch% � prstitch%=stitch%
k&�ub(�(prstitch%),f1%,dec%,wd%,ht%)
l4ș &00040086,,�(prstitch%),16,x%-wd%/2,y%-ht%-24
m� x%,y%
n� x%,y%-20
o�
p� x%,y%
q� x%,y%-10
r�
s
� stitch%
t�
u
v#� maxy%>100+gridheight%*prrht �
wmin%=sminx%
xmax%=smaxx%
y0� pmirror%=� � max%>prgridw% � max%=prgridw%
z"� min%<>0 � min%+=(5-(min%�5))
{ș ct_setgcol%,0
|� stitch%=min% � max% � 5
} x%=xc%+stitch%*prstw+xoffset
~y%=yc%+gridheight%*prrht
� stitch% � 10=0 �
�A� pmirror%=� � prstitch%=prgridw%-stitch% � prstitch%=stitch%
�&�ub(�(prstitch%),f1%,dec%,wd%,ht%)
�0ș &00040086,,�(prstitch%),16,x%-wd%/2,y%+24
�� x%,y%
�� x%,y%+20
��
�� x%,y%
�� x%,y%+10
��
�
� stitch%
��
��
�� 2
�ș &0004008A,f1%
�
�scl%=(prstw-30)/2
�!pminx%=(block%!0-xc%)/prstw-1
�!pminy%=(block%!4-yc%)/prrht-1
�!pmaxx%=(block%!8-xc%)/prstw+1
�"pmaxy%=(block%!12-yc%)/prrht+1
�#� pminx%<sminx% � pminx%=sminx%
�#� pmaxx%>smaxx% � pmaxx%=smaxx%
�#� pminy%<sminy% � pminy%=sminy%
�#� pmaxy%>smaxy% � pmaxy%=smaxy%
�nummin%=pminx%-1
�nummax%=pmaxx%+1
�nummin%-=nummin%�2
�� nummin%<0 � nummin%=0
�-� nummax%>gridwidth% � nummax%=gridwidth%
�� x%=nummin% � nummax% � 2
�� x% � 2=0 �
�� x%<=gridwidth%/2 �
�num%=gridwidth%/2-x%
�4� num% � 2=1 � num%-=1 : xmove%=prstw � xmove%=0
�� num%=0 �
�!�ub(�(num%),f1%,dec%,wd%,ht%)
�Dș &00040086,,�(num%),16,xc%+(gridwidth%/2)*prstw-wd%/2-1,yc%-22
�Uș &00040086,,�(num%),16,xc%+(gridwidth%/2)*prstw-wd%/2-1,yc%+gridheight%*prrht+4
��
�� num%<10 � xmove%+=8
�!�ub(�(num%),f1%,dec%,wd%,ht%)
�<ș &00040086,,�(num%),16,xc%+x%*prstw+xmove%+scl%,yc%-22
�Mș &00040086,,�(num%),16,xc%+x%*prstw+xmove%+scl%,yc%+gridheight%*prrht+4
��
��
�num%=x%-gridwidth%/2
�4� num% � 2=1 � num%-=1 : xmove%=prstw � xmove%=0
�� num%<10 � xmove%-=8
�!�ub(�(num%),f1%,dec%,wd%,ht%)
�L� num%<>0 � ș &00040086,,�(num%),16,xc%+(x%-1)*prstw-xmove%+scl%,yc%-22
�]� num%<>0 � ș &00040086,,�(num%),16,xc%+(x%-1)*prstw-xmove%+scl%,yc%+4+gridheight%*prrht
��
��
�� x%
�
�nummin%=pminy%-1
�nummax%=pmaxy%+1
�nummin%-=nummin% � 2
�nummax%+=nummax% � 2
�� nummin%<0 � nummin%=0
�/� nummax%>gridheight% � nummax%=gridheight%
�� y%=nummin% � nummax% � 2
��ub(�(y%),f1%,dec%,wd%,ht%)
�*� y%=0 � ymove%=ht%-4 � ymove%=-scl%-4
�>ș &00040086,,�(y%),16,xc%-wd%-8,yc%+y%*prrht-2+ymove%-ht%
�Kș &00040086,,�(y%),16,xc%+gridwidth%*prstw+4,yc%+y%*prrht-2+ymove%-ht%
�� y%
�ș wimp_setcol%,gridcol%
�
�.yl%=yc%+pminy%*prrht: yh%=yc%+pmaxy%*prrht
�� x%=pminx% � pmaxx%
�� (gridwidth%/2-x%)�12=0 �
�� xc%+x%*prstw+1,yl%
�� xc%+x%*prstw+1,yh%
�� xc%+x%*prstw-1,yl%
�� xc%+x%*prstw-1,yh%
��
�� xc%+x%*prstw,yl%
�� xc%+x%*prstw,yh%
�� x%
�
�.xl%=xc%+pminx%*prstw: xh%=xc%+pmaxx%*prstw
�� y%=pminy% � pmaxy%
�� y% � 10=0 �
�� xl%,yc%+y%*prrht+1
�� xh%,yc%+y%*prrht+1
�� xl%,yc%+y%*prrht-1
�� xh%,yc%+y%*prrht-1
��
�� xl%,yc%+y%*prrht
�� xh%,yc%+y%*prrht
�� y%
�
�transform%!0 =prscale*65536
�transform%!4 =0
�transform%!8 =0
�transform%!12=prscale*65536
�
y%=yc%
�xx%=xc%
�r�w%=pminx%�pmaxx%-1:x%=xx%+w%*prstw:transform%!16=x%<<8:�h%=pminy%�pmaxy%-1:symb%=coltable%?(h%*gridwidth%+w%)
�� (symb%�128)=0 �
�"transform%!20=(y%+h%*prrht)<<8
�Hș &00045540,0,symbpoint%!(symb%*4),symbsize%!(symb%*4),transform%,0
��
��:�
��
� ș &0008014D,,block% � more%
��
�sminy%+=numsth%
�smaxy%+=numsth%
�� sminy%<0 � sminy%=0
�-� smaxy%>gridheight% � smaxy%=gridheight%
�� tiley%
�sminy%=0
�smaxy%=numsth%+2
�sminx%+=numstw%
�smaxx%+=numstw%
�� sminx%<0 � sminx%=0
�+� smaxx%>gridwidth% � smaxx%=gridwidth%
�� sminy%<0 � sminy%=0
�-� smaxy%>gridheight% � smaxy%=gridheight%
�� tilex%
�ș &00080148,pf%
�ș &000406C1
�� �
�	�#pf%
�rect%=�h(rect%)
�trans%=�h(trans%)
plotat%=�h(plotat%)
ș &00040082,f1%
ș &00040082,f2%
ș &00040082,f3%
�
:
	� �tc
ș &00080149,pf%
	�#pf%
	ș &000400D2,-1

ș &000406C1
�wd(�$+" at line "+�(�))
rect%=�h(rect%)

trans%=�h(trans%)
plotat%=�h(plotat%)
ș &00040082,f1%
ș &00040082,f2%
ș &00040082,f3%
�
:
(� �ub(text$,han%,� dec%,� wd%,� ht%)
� xl%,yl%,xh%,yh%
block%!100=0
block%!104=0
block%!108=0
block%!112=0
block%!116=-1
Dș &000400A1,han%,text$,(1<<5)+(1<<18),1<30,1<<30,block%+100,0,0
2ș &00040088,,block%!120,block%!124 � ,xl%,yl%
2ș &00040088,,block%!128,block%!132 � ,xh%,yh%
dec%=yl%
wd%=xh%-xl%
 ht%=yh%-yl%
!�
":
#	� �sd
$prscale=(�$prscale%)/100
%�na
&prstw=stitchwidth*prscale
'prrht=rowht*prscale
(1ș &00080143 � ,prw%,prh%,prl%,prb%,prr%,prt%
)prwidth%=prr%-prl%
*prheight%=prt%-prb%
+:ș &00040088,,prwidth%,prheight% � ,prwidth%,prheight%
,(ș &00040088,,prw%,prh% � ,prw%,prh%
-"prpatw%=100*2+gridwidth%*prstw
.#prpath%=100*3+gridheight%*prrht
/� prpatw%<=prwidth% �
0
tilesw%=0
1numstw%=gridwidth%
2�
3&tilesw%=(prpatw%+2*prstw)/prwidth%
4"numstw%=(prwidth%-100)/prstw-4
5�
6� prpath%<=prheight% �
7
tilesh%=0
8numsth%=gridheight%
9�
:'tilesh%=(prpath%+2*prrht)/prheight%
;#numsth%=(prheight%-100)/prrht-4
<�
=� tilesw%=0 � tilesh%=0 �
>$prtiles%="1"
?�
@.$prtiles%=�(tilesw%+1)+" by "+�(tilesh%+1)
A�
B�fe(print%,10,0,0)
C�
D:
E� �u
F� loaded%,i%,flags%,pname%
G
loaded%=�
H� �
I� � � :loaded%=�: flags%=1
J2� loaded%=� � ș &000A0140 � ,,,,pname%;flags%
K� �
L � (flags% � 1)=1 � loaded%=�
M� loaded%=� �
N $prname%="No printer driver"
O$prtiles%=""
P�fe(print%,11,1<<22,1<<22)
Q�fe(print%,5,1<<22,1<<22)
R�fe(print%,15,1<<22,1<<22)
S�fe(print%,16,1<<22,1<<22)
T�fe(print%,10,1<<22,1<<22)
U�fe(print%,8,1<<22,1<<22)
V�xb
W�
X� �m(print%,11) �
Y�fe(print%,11,0<<22,1<<22)
Z�fe(print%,5,0<<22,1<<22)
[�fe(print%,15,0<<22,1<<22)
\�fe(print%,16,0<<22,1<<22)
]�fe(print%,10,0<<22,1<<22)
^�fe(print%,8,0<<22,1<<22)
_�
`i%=0
aȕ pname%?i%>31
bprname%?i%=pname%?i%
c	i%+=1
d�
eprname%?i%=13
f�sd
g�
hȎ manner% �
i	� 0,1
j�fe(print%,2,0<<22,1<<22)
k�fe(print%,4,0<<22,1<<22)
l�fe(print%,19,0<<22,1<<22)
mM� pictype$="none" � �fe(print%,3,1<<22,1<<22) � �fe(print%,3,0<<22,1<<22)
nQ� pictype$="sprite" � �fe(print%,18,0<<22,1<<22) � �fe(print%,18,1<<22,1<<22)
o� 2
p�fe(print%,2,1<<22,1<<22)
q�fe(print%,3,1<<22,1<<22)
r�fe(print%,4,1<<22,1<<22)
s�fe(print%,18,1<<22,1<<22)
t�fe(print%,19,1<<22,1<<22)
u�fe(print%,2,1<<21,1<<21)
v�fe(print%,4,1<<21,1<<21)
w�fe(print%,18,0<<21,1<<21)
x�fe(print%,19,0<<21,1<<21)
y�fe(print%,3,0<<21,1<<21)
z�
{=loaded%
|:
}� �v(wimpcol%)
~
� rgb%
Ȏ wimpcol% �
�� 0: rgb%=&FFFFFF00
�� 1: rgb%=&DDDDDD00
�� 2: rgb%=&BBBBBB00
�� 3: rgb%=&99999900
�� 4: rgb%=&77777700
�� 5: rgb%=&55555500
�� 6: rgb%=&33333300
�� 7: rgb%=&00000000
�� 8: rgb%=&99440000
�� 9: rgb%=&00EEEE00
�� 10:rgb%=&00CC0000
�� 11:rgb%=&0000DD00
�� 12:rgb%=&BBEEEE00
�� 13:rgb%=&00885500
�� 14:rgb%=&00BBFF00
�� 15:rgb%=&FFBB0000
��
�	=rgb%
�
00000000  0d 00 01 1a f4 20 20 20  20 20 20 20 20 20 20 20  |.....           |
00000010  3e 21 52 75 6e 49 6d 61  67 65 0d 00 02 19 f4 20  |>!RunImage..... |
00000020  50 72 6f 67 72 61 6d 20  20 20 21 45 61 73 79 4b  |Program   !EasyK|
00000030  6e 69 74 0d 00 03 27 76  65 72 73 69 6f 6e 24 3d  |nit...'version$=|
00000040  20 20 20 20 20 22 56 34  2e 35 31 63 20 36 74 68  |     "V4.51c 6th|
00000050  20 46 65 62 20 31 39 39  37 22 0d 00 04 26 f4 20  | Feb 1997"...&. |
00000060  41 75 74 68 6f 72 20 20  20 20 a9 20 41 26 4a 20  |Author    . A&J |
00000070  4d 75 69 72 20 41 75 67  75 73 74 20 31 39 39 35  |Muir August 1995|
00000080  0d 00 05 05 3a 0d 00 06  2b ee 20 85 20 3a c8 99  |....:...+. . :..|
00000090  20 26 30 30 30 34 30 36  43 32 3a f1 20 f6 24 2b  | &000406C2:. .$+|
000000a0  22 20 61 74 20 6c 69 6e  65 20 22 3b 9e 3a c8 98  |" at line ";.:..|
000000b0  0d 00 07 05 3a 0d 00 08  07 f2 6b 63 0d 00 09 18  |....:.....kc....|
000000c0  ee 20 85 20 c8 99 20 26  30 30 30 34 30 36 43 32  |. . .. &000406C2|
000000d0  3a f2 73 62 0d 00 0a 05  f5 0d 00 0b 07 f2 71 64  |:.sb..........qd|
000000e0  0d 00 0c 0d fd 20 65 78  69 74 25 3d b9 0d 00 0d  |..... exit%=....|
000000f0  0f c8 99 26 30 30 30 34  30 30 44 44 0d 00 0e 05  |...&000400DD....|
00000100  e0 0d 00 0f 05 3a 0d 00  10 09 dd 20 f2 6b 63 0d  |.....:..... .kc.|
00000110  00 11 1c ea 20 73 69 7a  65 25 2c 69 6e 64 73 69  |.... size%,indsi|
00000120  7a 65 25 2c 69 25 2c 70  74 72 25 0d 00 12 10 c8  |ze%,i%,ptr%.....|
00000130  99 20 26 30 30 30 34 30  36 43 30 0d 00 13 65 de  |. &000406C0...e.|
00000140  20 62 6c 6f 63 6b 25 20  35 30 30 30 2c 20 69 6d  | block% 5000, im|
00000150  65 6e 75 25 20 32 38 2b  33 2a 32 34 2c 20 73 6d  |enu% 28+3*24, sm|
00000160  65 6e 75 25 20 32 38 2b  33 2a 32 34 2c 20 64 6d  |enu% 28+3*24, dm|
00000170  65 6e 75 25 20 32 38 2b  34 2a 32 34 2c 20 65 6d  |enu% 28+4*24, em|
00000180  65 6e 75 25 20 32 38 2b  31 31 2a 32 34 2c 20 63  |enu% 28+11*24, c|
00000190  6f 6c 6d 65 6e 75 25 20  32 38 2b 31 36 2a 32 34  |olmenu% 28+16*24|
000001a0  0d 00 14 51 de 20 6d 61  73 6b 6d 65 6e 75 25 20  |...Q. maskmenu% |
000001b0  32 38 2b 34 2a 32 34 2c  20 65 64 69 74 6d 65 6e  |28+4*24, editmen|
000001c0  75 25 20 32 38 2b 33 2a  32 34 2c 20 75 6e 69 74  |u% 28+3*24, unit|
000001d0  6d 65 6e 75 25 20 32 38  2b 32 2a 32 34 2c 20 72  |menu% 28+2*24, r|
000001e0  75 6c 65 72 6d 65 6e 75  25 20 32 38 2b 31 2a 32  |ulermenu% 28+1*2|
000001f0  34 0d 00 15 14 6d 65 6e  75 69 6e 64 73 69 7a 65  |4....menuindsize|
00000200  25 3d 32 30 30 0d 00 16  42 de 20 6d 65 6e 75 69  |%=200...B. menui|
00000210  6e 64 25 20 6d 65 6e 75  69 6e 64 73 69 7a 65 25  |nd% menuindsize%|
00000220  3a 20 24 6d 65 6e 75 69  6e 64 25 3d 22 22 3a 6d  |: $menuind%="":m|
00000230  65 6e 75 69 6e 64 66 72  65 65 25 3d 6d 65 6e 75  |enuindfree%=menu|
00000240  69 6e 64 25 2b 31 32 0d  00 17 0e de 20 6e 61 6d  |ind%+12..... nam|
00000250  65 25 20 31 32 0d 00 18  0e de 20 63 61 72 62 25  |e% 12..... carb%|
00000260  20 32 34 0d 00 19 13 de  20 74 69 6d 65 62 6c 6f  | 24..... timeblo|
00000270  63 6b 25 20 31 30 0d 00  1a 15 de 20 74 69 6d 65  |ck% 10..... time|
00000280  61 6e 73 77 65 72 25 20  31 30 30 0d 00 1b 13 de  |answer% 100.....|
00000290  20 74 72 61 6e 73 66 6f  72 6d 25 20 32 33 0d 00  | transform% 23..|
000002a0  1c 13 de 20 70 61 74 73  74 6f 72 65 25 20 31 32  |... patstore% 12|
000002b0  30 0d 00 1d 14 61 70 70  73 69 7a 65 25 3d 93 2d  |0....appsize%=.-|
000002c0  26 38 30 30 30 0d 00 1e  0b 68 65 61 70 25 3d 30  |&8000....heap%=0|
000002d0  0d 00 1f 18 c8 99 20 26  30 30 30 30 30 30 35 31  |...... &00000051|
000002e0  20 b8 20 70 61 67 65 25  0d 00 20 45 21 62 6c 6f  | . page%.. E!blo|
000002f0  63 6b 25 3d 32 3a 20 62  6c 6f 63 6b 25 21 34 3d  |ck%=2: block%!4=|
00000300  33 3a 20 62 6c 6f 63 6b  25 21 38 3d 39 3a 20 62  |3: block%!8=9: b|
00000310  6c 6f 63 6b 25 21 31 32  3d 31 30 3a 20 62 6c 6f  |lock%!12=10: blo|
00000320  63 6b 25 21 31 36 3d 26  34 30 30 43 30 0d 00 21  |ck%!16=&400C0..!|
00000330  3e 62 6c 6f 63 6b 25 21  32 30 3d 26 34 30 30 43  |>block%!20=&400C|
00000340  31 3a 20 62 6c 6f 63 6b  25 21 32 34 3d 26 35 30  |1: block%!24=&50|
00000350  32 3a 20 62 6c 6f 63 6b  25 21 32 38 3d 35 3a 20  |2: block%!28=5: |
00000360  62 6c 6f 63 6b 25 21 33  32 3d 30 0d 00 22 2f c8  |block%!32=0.."/.|
00000370  99 26 30 30 30 34 30 30  43 30 2c 33 31 30 2c 26  |.&000400C0,310,&|
00000380  34 42 35 33 34 31 35 34  2c 22 45 61 73 79 4b 6e  |4B534154,"EasyKn|
00000390  69 74 22 2c 62 6c 6f 63  6b 25 0d 00 23 1b ee 20  |it",block%..#.. |
000003a0  85 20 c8 99 20 26 30 30  30 34 30 36 43 32 3a f2  |. .. &000406C2:.|
000003b0  73 62 3a c8 98 0d 00 24  0f 62 6c 6f 63 6b 25 21  |sb:....$.block%!|
000003c0  30 3d 2d 31 0d 00 25 19  62 6c 6f 63 6b 25 21 34  |0=-1..%.block%!4|
000003d0  3d 30 3a 62 6c 6f 63 6b  25 21 38 3d 30 0d 00 26  |=0:block%!8=0..&|
000003e0  1d 62 6c 6f 63 6b 25 21  31 32 3d 36 38 3a 62 6c  |.block%!12=68:bl|
000003f0  6f 63 6b 25 21 31 36 3d  36 38 0d 00 27 13 62 6c  |ock%!16=68..'.bl|
00000400  6f 63 6b 25 21 32 30 3d  26 33 30 31 41 0d 00 28  |ock%!20=&301A..(|
00000410  1f 24 28 62 6c 6f 63 6b  25 2b 32 34 29 3d 22 21  |.$(block%+24)="!|
00000420  45 61 73 79 4b 6e 69 74  22 2b bd 30 0d 00 29 23  |EasyKnit"+.0..)#|
00000430  c8 99 26 30 30 30 34 30  30 43 32 2c 2c 62 6c 6f  |..&000400C2,,blo|
00000440  63 6b 25 20 b8 20 69 62  61 72 69 63 6f 6e 25 0d  |ck% . ibaricon%.|
00000450  00 2a 1a e7 20 a4 72 28  2d 31 2c 35 29 3c 3e a4  |.*.. .r(-1,5)<>.|
00000460  72 28 2d 31 2c 34 29 20  8c 0d 00 2b 3b 74 6f 6f  |r(-1,4) ...+;too|
00000470  6c 73 70 72 25 3d a4 70  28 22 3c 45 61 73 79 4b  |lspr%=.p("<EasyK|
00000480  6e 69 74 24 44 69 72 3e  2e 52 65 73 6f 75 72 63  |nit$Dir>.Resourc|
00000490  65 73 2e 53 70 72 69 74  65 73 2e 42 75 74 74 6f  |es.Sprites.Butto|
000004a0  6e 73 22 29 0d 00 2c 3d  74 69 74 6c 65 73 70 72  |ns")..,=titlespr|
000004b0  25 3d a4 70 28 22 3c 45  61 73 79 4b 6e 69 74 24  |%=.p("<EasyKnit$|
000004c0  44 69 72 3e 2e 52 65 73  6f 75 72 63 65 73 2e 53  |Dir>.Resources.S|
000004d0  70 72 69 74 65 73 2e 54  69 74 6c 65 53 70 72 22  |prites.TitleSpr"|
000004e0  29 0d 00 2d 05 cc 0d 00  2e 3d 74 6f 6f 6c 73 70  |)..-.....=toolsp|
000004f0  72 25 3d a4 70 28 22 3c  45 61 73 79 4b 6e 69 74  |r%=.p("<EasyKnit|
00000500  24 44 69 72 3e 2e 52 65  73 6f 75 72 63 65 73 2e  |$Dir>.Resources.|
00000510  53 70 72 69 74 65 73 2e  42 75 74 74 6f 6e 73 32  |Sprites.Buttons2|
00000520  32 22 29 0d 00 2f 3f 74  69 74 6c 65 73 70 72 25  |2")../?titlespr%|
00000530  3d a4 70 28 22 3c 45 61  73 79 4b 6e 69 74 24 44  |=.p("<EasyKnit$D|
00000540  69 72 3e 2e 52 65 73 6f  75 72 63 65 73 2e 53 70  |ir>.Resources.Sp|
00000550  72 69 74 65 73 2e 54 69  74 6c 65 53 70 72 32 32  |rites.TitleSpr22|
00000560  22 29 0d 00 30 05 cd 0d  00 31 07 f2 6a 63 0d 00  |")..0....1..jc..|
00000570  32 36 c8 99 20 26 30 30  30 34 30 30 44 39 2c 2c  |26.. &000400D9,,|
00000580  22 3c 45 61 73 79 4b 6e  69 74 24 44 69 72 3e 2e  |"<EasyKnit$Dir>.|
00000590  52 65 73 6f 75 72 63 65  73 2e 54 65 6d 70 6c 61  |Resources.Templa|
000005a0  74 65 73 22 0d 00 33 14  69 6e 64 73 69 7a 65 25  |tes"..3.indsize%|
000005b0  3d 30 3a 20 69 25 3d 30  0d 00 34 05 f5 0d 00 35  |=0: i%=0..4....5|
000005c0  0e 24 6e 61 6d 65 25 3d  22 2a 22 0d 00 36 31 c8  |.$name%="*"..61.|
000005d0  99 20 26 30 30 30 34 30  30 44 42 2c 2c 30 2c 2c  |. &000400DB,,0,,|
000005e0  2c 2d 31 2c 6e 61 6d 65  25 2c 69 25 20 b8 20 2c  |,-1,name%,i% . ,|
000005f0  2c 73 69 7a 65 25 2c 2c  2c 2c 69 25 0d 00 37 13  |,size%,,,,i%..7.|
00000600  69 6e 64 73 69 7a 65 25  2b 3d 73 69 7a 65 25 0d  |indsize%+=size%.|
00000610  00 38 0a fd 20 69 25 3d  30 0d 00 39 19 de 20 77  |.8.. i%=0..9.. w|
00000620  69 6e 64 6f 77 69 6e 64  25 20 69 6e 64 73 69 7a  |indowind% indsiz|
00000630  65 25 0d 00 3a 16 69 6e  66 6f 25 3d a4 6f 28 22  |e%..:.info%=.o("|
00000640  49 6e 66 6f 22 2c 30 29  0d 00 3b 25 73 61 76 65  |Info",0)..;%save|
00000650  70 6c 75 73 25 3d a4 6f  28 22 53 61 76 65 50 6c  |plus%=.o("SavePl|
00000660  75 73 22 2c 74 6f 6f 6c  73 70 72 25 29 0d 00 3c  |us",toolspr%)..<|
00000670  16 73 61 76 65 25 3d a4  6f 28 22 53 61 76 65 22  |.save%=.o("Save"|
00000680  2c 30 29 0d 00 3d 16 73  61 76 65 62 6f 78 25 3d  |,0)..=.savebox%=|
00000690  73 61 76 65 70 6c 75 73  25 0d 00 3e 21 6d 61 69  |saveplus%..>!mai|
000006a0  6e 25 3d a4 6f 28 22 54  65 6e 73 69 6f 6e 73 22  |n%=.o("Tensions"|
000006b0  2c 74 6f 6f 6c 73 70 72  25 29 0d 00 3f 16 65 64  |,toolspr%)..?.ed|
000006c0  69 74 25 3d a4 6f 28 22  45 64 69 74 22 2c 30 29  |it%=.o("Edit",0)|
000006d0  0d 00 40 23 74 69 74 6c  65 77 69 6e 25 3d a4 6f  |..@#titlewin%=.o|
000006e0  28 22 54 69 74 6c 65 22  2c 74 69 74 6c 65 73 70  |("Title",titlesp|
000006f0  72 25 29 0d 00 41 1d 7a  6f 6f 6d 25 3d a4 6f 28  |r%)..A.zoom%=.o(|
00000700  22 5a 6f 6f 6d 22 2c 74  6f 6f 6c 73 70 72 25 29  |"Zoom",toolspr%)|
00000710  0d 00 42 20 74 62 61 72  25 3d a4 6f 28 22 54 6f  |..B tbar%=.o("To|
00000720  6f 6c 62 61 72 22 2c 74  6f 6f 6c 73 70 72 25 29  |olbar",toolspr%)|
00000730  0d 00 43 19 74 6f 70 72  75 6c 65 25 3d a4 6f 28  |..C.toprule%=.o(|
00000740  22 52 75 6c 65 22 2c 30  29 0d 00 44 22 c8 99 26  |"Rule",0)..D"..&|
00000750  30 30 30 34 30 30 43 31  2c 2c 62 6c 6f 63 6b 25  |000400C1,,block%|
00000760  20 b8 20 62 6f 74 72 75  6c 65 25 0d 00 45 23 c8  | . botrule%..E#.|
00000770  99 26 30 30 30 34 30 30  43 31 2c 2c 62 6c 6f 63  |.&000400C1,,bloc|
00000780  6b 25 20 b8 20 6c 65 66  74 72 75 6c 65 25 0d 00  |k% . leftrule%..|
00000790  46 24 c8 99 26 30 30 30  34 30 30 43 31 2c 2c 62  |F$..&000400C1,,b|
000007a0  6c 6f 63 6b 25 20 b8 20  72 69 67 68 74 72 75 6c  |lock% . rightrul|
000007b0  65 25 0d 00 47 1c 63 6f  72 6e 65 72 74 6c 25 3d  |e%..G.cornertl%=|
000007c0  a4 6f 28 22 43 6f 72 6e  65 72 22 2c 30 29 0d 00  |.o("Corner",0)..|
000007d0  48 23 c8 99 26 30 30 30  34 30 30 43 31 2c 2c 62  |H#..&000400C1,,b|
000007e0  6c 6f 63 6b 25 20 b8 20  63 6f 72 6e 65 72 74 72  |lock% . cornertr|
000007f0  25 0d 00 49 23 c8 99 26  30 30 30 34 30 30 43 31  |%..I#..&000400C1|
00000800  2c 2c 62 6c 6f 63 6b 25  20 b8 20 63 6f 72 6e 65  |,,block% . corne|
00000810  72 62 6c 25 0d 00 4a 23  c8 99 26 30 30 30 34 30  |rbl%..J#..&00040|
00000820  30 43 31 2c 2c 62 6c 6f  63 6b 25 20 b8 20 63 6f  |0C1,,block% . co|
00000830  72 6e 65 72 62 72 25 0d  00 4b 27 63 6f 6c 63 68  |rnerbr%..K'colch|
00000840  6f 6f 73 65 25 3d a4 6f  28 22 43 6f 6c 43 68 6f  |oose%=.o("ColCho|
00000850  6f 73 65 22 2c 74 6f 6f  6c 73 70 72 25 29 0d 00  |ose",toolspr%)..|
00000860  4c 23 63 6f 6c 70 61 6e  65 25 3d a4 6f 28 22 43  |L#colpane%=.o("C|
00000870  6f 6c 50 61 6e 65 22 2c  74 6f 6f 6c 73 70 72 25  |olPane",toolspr%|
00000880  29 0d 00 4d 20 63 6f 6c  63 72 65 61 74 65 25 3d  |)..M colcreate%=|
00000890  a4 6f 28 22 43 6f 6c 43  72 65 61 74 65 22 2c 30  |.o("ColCreate",0|
000008a0  29 0d 00 4e 1f 6c 61 72  67 65 70 69 63 6b 25 3d  |)..N.largepick%=|
000008b0  a4 6f 28 22 43 6f 6c 50  69 63 6b 4c 22 2c 30 29  |.o("ColPickL",0)|
000008c0  0d 00 4f 1f 73 6d 61 6c  6c 70 69 63 6b 25 3d a4  |..O.smallpick%=.|
000008d0  6f 28 22 43 6f 6c 50 69  63 6b 53 22 2c 30 29 0d  |o("ColPickS",0).|
000008e0  00 50 21 74 62 61 72 64  69 73 70 25 3d a4 6f 28  |.P!tbardisp%=.o(|
000008f0  22 54 6f 6f 6c 44 69 73  70 6c 61 79 22 2c 30 29  |"ToolDisplay",0)|
00000900  0d 00 51 23 70 61 74 74  65 72 6e 25 3d a4 6f 28  |..Q#pattern%=.o(|
00000910  22 50 61 74 74 65 72 6e  22 2c 74 6f 6f 6c 73 70  |"Pattern",toolsp|
00000920  72 25 29 0d 00 52 14 61  73 6b 25 3d a4 6f 28 22  |r%)..R.ask%=.o("|
00000930  41 73 6b 22 2c 30 29 0d  00 53 18 70 72 69 6e 74  |Ask",0)..S.print|
00000940  25 3d a4 6f 28 22 50 72  69 6e 74 22 2c 30 29 0d  |%=.o("Print",0).|
00000950  00 54 1a 72 65 70 6f 72  74 25 3d a4 6f 28 22 52  |.T.report%=.o("R|
00000960  65 70 6f 72 74 22 2c 30  29 0d 00 55 25 73 79 6d  |eport",0)..U%sym|
00000970  62 70 69 63 6b 25 3d a4  6f 28 22 53 79 6d 62 50  |bpick%=.o("SymbP|
00000980  69 63 6b 22 2c 74 6f 6f  6c 73 70 72 25 29 0d 00  |ick",toolspr%)..|
00000990  56 0f c8 99 26 30 30 30  34 30 30 44 41 0d 00 57  |V...&000400DA..W|
000009a0  11 f2 68 65 28 69 6d 65  6e 75 25 2c 31 29 0d 00  |..he(imenu%,1)..|
000009b0  58 11 f2 68 65 28 73 6d  65 6e 75 25 2c 32 29 0d  |X..he(smenu%,2).|
000009c0  00 59 11 f2 68 65 28 64  6d 65 6e 75 25 2c 33 29  |.Y..he(dmenu%,3)|
000009d0  0d 00 5a 11 f2 68 65 28  65 6d 65 6e 75 25 2c 34  |..Z..he(emenu%,4|
000009e0  29 0d 00 5b 13 f2 68 65  28 63 6f 6c 6d 65 6e 75  |)..[..he(colmenu|
000009f0  25 2c 35 29 0d 00 5c 14  f2 68 65 28 6d 61 73 6b  |%,5)..\..he(mask|
00000a00  6d 65 6e 75 25 2c 36 29  0d 00 5d 14 f2 68 65 28  |menu%,6)..]..he(|
00000a10  65 64 69 74 6d 65 6e 75  25 2c 37 29 0d 00 5e 14  |editmenu%,7)..^.|
00000a20  f2 68 65 28 75 6e 69 74  6d 65 6e 75 25 2c 38 29  |.he(unitmenu%,8)|
00000a30  0d 00 5f 15 f2 68 65 28  72 75 6c 65 72 6d 65 6e  |.._..he(rulermen|
00000a40  75 25 2c 39 29 0d 00 60  16 70 74 72 25 3d 63 6f  |u%,9)..`.ptr%=co|
00000a50  6c 6d 65 6e 75 25 2b 32  38 2b 38 0d 00 61 0f e3  |lmenu%+28+8..a..|
00000a60  20 69 25 3d 30 20 b8 20  31 35 0d 00 62 1d 21 70  | i%=0 . 15..b.!p|
00000a70  74 72 25 3d 28 26 37 30  30 30 30 32 31 2b 28 69  |tr%=(&7000021+(i|
00000a80  25 3c 3c 32 38 29 29 0d  00 63 0c 70 74 72 25 2b  |%<<28))..c.ptr%+|
00000a90  3d 32 34 0d 00 64 08 ed  20 69 25 0d 00 65 16 70  |=24..d.. i%..e.p|
00000aa0  74 72 25 3d 63 6f 6c 6d  65 6e 75 25 2b 32 38 2b  |tr%=colmenu%+28+|
00000ab0  38 0d 00 66 0e e3 20 69  25 3d 34 20 b8 20 38 0d  |8..f.. i%=4 . 8.|
00000ac0  00 67 2f 70 74 72 25 21  28 69 25 2a 32 34 29 3d  |.g/ptr%!(i%*24)=|
00000ad0  28 70 74 72 25 21 28 69  25 2a 32 34 29 20 80 20  |(ptr%!(i%*24) . |
00000ae0  ac 20 28 25 31 31 31 31  3c 3c 32 34 29 29 0d 00  |. (%1111<<24))..|
00000af0  68 08 ed 20 69 25 0d 00  69 3a 70 74 72 25 3d 63  |h.. i%..i:ptr%=c|
00000b00  6f 6c 6d 65 6e 75 25 2b  32 38 2b 38 2b 31 30 2a  |olmenu%+28+8+10*|
00000b10  32 34 3a 21 70 74 72 25  3d 28 21 70 74 72 25 20  |24:!ptr%=(!ptr% |
00000b20  80 20 ac 20 28 25 31 31  31 31 3c 3c 32 34 29 29  |. . (%1111<<24))|
00000b30  0d 00 6a 3a 70 74 72 25  3d 63 6f 6c 6d 65 6e 75  |..j:ptr%=colmenu|
00000b40  25 2b 32 38 2b 38 2b 31  31 2a 32 34 3a 21 70 74  |%+28+8+11*24:!pt|
00000b50  72 25 3d 28 21 70 74 72  25 20 80 20 ac 20 28 25  |r%=(!ptr% . . (%|
00000b60  31 31 31 31 3c 3c 32 34  29 29 0d 00 6b 3a 70 74  |1111<<24))..k:pt|
00000b70  72 25 3d 63 6f 6c 6d 65  6e 75 25 2b 32 38 2b 38  |r%=colmenu%+28+8|
00000b80  2b 31 33 2a 32 34 3a 21  70 74 72 25 3d 28 21 70  |+13*24:!ptr%=(!p|
00000b90  74 72 25 20 80 20 ac 20  28 25 31 31 31 31 3c 3c  |tr% . . (%1111<<|
00000ba0  32 34 29 29 0d 00 6c 14  f2 73 65 28 65 64 69 74  |24))..l..se(edit|
00000bb0  6d 65 6e 75 25 2c 31 29  0d 00 6d 14 f2 77 65 28  |menu%,1)..m..we(|
00000bc0  65 64 69 74 6d 65 6e 75  25 2c 30 29 0d 00 6e 14  |editmenu%,0)..n.|
00000bd0  f2 77 65 28 65 64 69 74  6d 65 6e 75 25 2c 32 29  |.we(editmenu%,2)|
00000be0  0d 00 6f 14 f2 73 65 28  75 6e 69 74 6d 65 6e 75  |..o..se(unitmenu|
00000bf0  25 2c 31 29 0d 00 70 14  f2 77 65 28 75 6e 69 74  |%,1)..p..we(unit|
00000c00  6d 65 6e 75 25 2c 30 29  0d 00 71 1a 77 69 6d 70  |menu%,0)..q.wimp|
00000c10  5f 73 65 74 69 73 74 61  74 65 25 3d 26 34 30 30  |_setistate%=&400|
00000c20  43 44 0d 00 72 16 63 74  5f 73 65 74 67 63 6f 6c  |CD..r.ct_setgcol|
00000c30  25 3d 26 34 30 37 34 33  0d 00 73 17 77 69 6d 70  |%=&40743..s.wimp|
00000c40  5f 73 65 74 63 6f 6c 25  3d 26 34 30 30 45 36 0d  |_setcol%=&400E6.|
00000c50  00 74 07 f2 74 62 0d 00  75 1b 24 74 69 74 6c 65  |.t..tb..u.$title|
00000c60  76 65 72 73 69 6f 6e 25  3d 76 65 72 73 69 6f 6e  |version%=version|
00000c70  24 0d 00 76 12 f2 6d 64  28 74 69 74 6c 65 77 69  |$..v..md(titlewi|
00000c80  6e 25 29 0d 00 77 0a f2  65 64 28 31 29 0d 00 78  |n%)..w..ed(1)..x|
00000c90  0a f2 63 63 28 31 29 0d  00 79 13 f2 6a 65 28 73  |..cc(1)..y..je(s|
00000ca0  6d 65 6e 75 25 2c 30 2c  31 29 0d 00 7a 13 f2 6a  |menu%,0,1)..z..j|
00000cb0  65 28 73 6d 65 6e 75 25  2c 31 2c 31 29 0d 00 7b  |e(smenu%,1,1)..{|
00000cc0  13 f2 6a 65 28 73 6d 65  6e 75 25 2c 32 2c 30 29  |..je(smenu%,2,0)|
00000cd0  0d 00 7c 1d f2 66 65 28  6d 61 69 6e 25 2c 33 37  |..|..fe(main%,37|
00000ce0  2c 30 3c 3c 32 31 2c 31  3c 3c 32 31 29 0d 00 7d  |,0<<21,1<<21)..}|
00000cf0  1d f2 66 65 28 6d 61 69  6e 25 2c 33 37 2c 31 3c  |..fe(main%,37,1<|
00000d00  3c 32 32 2c 31 3c 3c 32  32 29 0d 00 7e 1e f2 66  |<22,1<<22)..~..f|
00000d10  65 28 6d 61 69 6e 25 2c  33 37 2c 33 3c 3c 32 34  |e(main%,37,3<<24|
00000d20  2c 31 35 3c 3c 32 34 29  0d 00 7f 0a f2 72 65 28  |,15<<24).....re(|
00000d30  35 29 0d 00 80 10 24 73  63 6c 6d 75 6c 25 3d 22  |5)....$sclmul%="|
00000d40  31 22 0d 00 81 10 24 73  63 6c 64 69 76 25 3d 22  |1"....$scldiv%="|
00000d50  31 22 0d 00 82 0d 24 74  72 6f 77 25 3d 22 22 0d  |1"....$trow%="".|
00000d60  00 83 10 24 74 73 74 69  74 63 68 25 3d 22 22 0d  |...$tstitch%="".|
00000d70  00 84 1c f2 66 65 28 74  62 61 72 25 2c 39 2c 31  |....fe(tbar%,9,1|
00000d80  3c 3c 32 31 2c 31 3c 3c  32 31 29 0d 00 85 1c f2  |<<21,1<<21).....|
00000d90  66 65 28 74 62 61 72 25  2c 35 2c 31 3c 3c 32 31  |fe(tbar%,5,1<<21|
00000da0  2c 31 3c 3c 32 31 29 0d  00 86 11 f2 73 65 28 65  |,1<<21).....se(e|
00000db0  6d 65 6e 75 25 2c 32 29  0d 00 87 1c f2 66 65 28  |menu%,2).....fe(|
00000dc0  74 62 61 72 25 2c 37 2c  31 3c 3c 32 31 2c 31 3c  |tbar%,7,1<<21,1<|
00000dd0  3c 32 31 29 0d 00 88 11  f2 73 65 28 65 6d 65 6e  |<21).....se(emen|
00000de0  75 25 2c 34 29 0d 00 89  1d f2 66 65 28 74 62 61  |u%,4).....fe(tba|
00000df0  72 25 2c 31 32 2c 31 3c  3c 32 31 2c 31 3c 3c 32  |r%,12,1<<21,1<<2|
00000e00  31 29 0d 00 8a 1d f2 66  65 28 74 62 61 72 25 2c  |1).....fe(tbar%,|
00000e10  31 33 2c 30 3c 3c 32 31  2c 31 3c 3c 32 31 29 0d  |13,0<<21,1<<21).|
00000e20  00 8b 18 24 70 61 74 73  74 6f 72 65 25 3d 22 50  |...$patstore%="P|
00000e30  72 6f 6a 65 63 74 22 0d  00 8c 18 24 28 70 61 74  |roject"....$(pat|
00000e40  73 74 6f 72 65 25 2b 31  30 30 29 3d 22 31 22 0d  |store%+100)="1".|
00000e50  00 8d 1b 24 28 70 61 74  73 74 6f 72 65 25 2b 31  |...$(patstore%+1|
00000e60  30 35 29 3d 22 31 38 2e  31 22 0d 00 8e 1b 24 28  |05)="18.1"....$(|
00000e70  70 61 74 73 74 6f 72 65  25 2b 31 31 30 29 3d 22  |patstore%+110)="|
00000e80  32 36 2e 32 22 0d 00 8f  13 70 61 74 73 74 6f 72  |26.2"....patstor|
00000e90  65 25 3f 31 31 35 3d b9  0d 00 90 10 65 64 69 74  |e%?115=.....edit|
00000ea0  73 74 6f 72 65 25 3d 30  0d 00 91 0b 64 72 61 77  |store%=0....draw|
00000eb0  25 3d 30 0d 00 92 0f 63  6f 6c 74 61 62 6c 65 25  |%=0....coltable%|
00000ec0  3d 30 0d 00 93 0f 70 61  6c 74 61 62 6c 65 25 3d  |=0....paltable%=|
00000ed0  30 0d 00 94 10 63 6f 70  79 62 6c 6f 63 6b 25 3d  |0....copyblock%=|
00000ee0  30 0d 00 95 11 63 75 72  72 65 6e 74 63 6f 6c 25  |0....currentcol%|
00000ef0  3d 30 0d 00 96 0e 67 72  69 64 63 6f 6c 25 3d 37  |=0....gridcol%=7|
00000f00  0d 00 97 0e 62 61 63 6b  63 6f 6c 25 3d 30 0d 00  |....backcol%=0..|
00000f10  98 0e 66 6f 72 65 63 6f  6c 25 3d 37 0d 00 99 10  |..forecol%=7....|
00000f20  72 75 6c 65 72 66 63 6f  6c 25 3d 37 0d 00 9a 10  |rulerfcol%=7....|
00000f30  72 75 6c 65 72 62 63 6f  6c 25 3d 30 0d 00 9b 0d  |rulerbcol%=0....|
00000f40  6d 61 78 63 6f 6c 25 3d  31 0d 00 9c 10 73 6f 75  |maxcol%=1....sou|
00000f50  72 63 65 73 70 72 25 3d  30 0d 00 9d 0f 73 70 72  |rcespr%=0....spr|
00000f60  69 74 65 24 3d 22 30 22  0d 00 9e 0f 73 70 72 69  |ite$="0"....spri|
00000f70  74 65 6f 6e 25 3d a3 0d  00 9f 11 74 72 61 6e 73  |teon%=.....trans|
00000f80  74 61 62 6c 65 25 3d 30  0d 00 a0 10 6e 61 6d 65  |table%=0....name|
00000f90  74 61 62 6c 65 25 3d 30  0d 00 a1 10 7a 6f 6f 6d  |table%=0....zoom|
00000fa0  73 74 61 63 6b 25 3d 30  0d 00 a2 0e 74 62 61 72  |stack%=0....tbar|
00000fb0  68 74 25 3d 39 36 0d 00  a3 0e 74 62 61 72 77 25  |ht%=96....tbarw%|
00000fc0  3d 38 32 34 0d 00 a4 10  72 75 6c 65 73 69 7a 65  |=824....rulesize|
00000fd0  25 3d 37 30 0d 00 a5 0f  63 6f 6c 73 69 7a 65 25  |%=70....colsize%|
00000fe0  3d 32 30 0d 00 a6 17 63  6f 6c 70 69 63 6b 25 3d  |=20....colpick%=|
00000ff0  73 6d 61 6c 6c 70 69 63  6b 25 0d 00 a7 16 65 64  |smallpick%....ed|
00001000  6d 75 6c 25 3d 31 3a 20  65 64 64 69 76 25 3d 31  |mul%=1: eddiv%=1|
00001010  0d 00 a8 0f 64 72 61 67  74 79 70 65 25 3d 30 0d  |....dragtype%=0.|
00001020  00 a9 0d 6d 61 6e 6e 65  72 25 3d 31 0d 00 aa 0b  |...manner%=1....|
00001030  65 78 69 74 25 3d a3 0d  00 ab 11 64 72 61 77 68  |exit%=.....drawh|
00001040  65 61 64 65 72 25 3d b9  0d 00 ac 11 64 72 61 77  |eader%=.....draw|
00001050  72 75 6c 65 72 73 25 3d  b9 0d 00 ad 10 70 6c 61  |rulers%=.....pla|
00001060  69 6e 74 65 78 74 25 3d  a3 0d 00 ae 11 70 61 67  |intext%=.....pag|
00001070  65 72 75 6c 65 72 73 25  3d a3 0d 00 af 0f 6d 61  |erulers%=.....ma|
00001080  69 6e 6f 70 65 6e 25 3d  a3 0d 00 b0 11 63 72 65  |inopen%=.....cre|
00001090  61 74 65 6f 70 65 6e 25  3d a3 0d 00 b1 10 74 69  |ateopen%=.....ti|
000010a0  74 6c 65 6f 70 65 6e 25  3d b9 0d 00 b2 0d 68 65  |tleopen%=.....he|
000010b0  6c 70 6f 6e 25 3d a3 0d  00 b3 0f 69 6e 66 6f 62  |lpon%=.....infob|
000010c0  75 66 66 25 3d 30 0d 00  b4 0f 68 65 6c 70 62 75  |uff%=0....helpbu|
000010d0  66 66 25 3d 30 0d 00 b5  0f 65 64 69 74 6f 70 65  |ff%=0....editope|
000010e0  6e 25 3d a3 0d 00 b6 14  63 6f 6c 63 72 65 61 74  |n%=.....colcreat|
000010f0  65 6f 70 65 6e 25 3d a3  0d 00 b7 0d 63 6f 6f 72  |eopen%=.....coor|
00001100  64 73 25 3d a3 0d 00 b8  0d 69 6e 74 62 61 72 25  |ds%=.....intbar%|
00001110  3d a3 0d 00 b9 0d 67 72  69 64 6f 6e 25 3d b9 0d  |=.....gridon%=..|
00001120  00 ba 0f 73 68 6f 77 6d  61 73 6b 25 3d a3 0d 00  |...showmask%=...|
00001130  bb 12 65 64 69 74 63 72  65 61 74 65 64 25 3d a3  |..editcreated%=.|
00001140  0d 00 bc 0e 73 74 61 72  72 65 64 25 3d a3 0d 00  |....starred%=...|
00001150  bd 0b 63 6f 70 79 25 3d  a3 0d 00 be 0e 6f 6c 64  |..copy%=.....old|
00001160  72 6f 77 25 3d 2d 31 0d  00 bf 11 6f 6c 64 73 74  |row%=-1....oldst|
00001170  69 74 63 68 25 3d 2d 31  0d 00 c0 0e 6d 61 73 6b  |itch%=-1....mask|
00001180  25 3d 26 34 30 30 0d 00  c1 1a 24 69 6e 66 6f 76  |%=&400....$infov|
00001190  65 72 73 69 6f 6e 25 3d  76 65 72 73 69 6f 6e 24  |ersion%=version$|
000011a0  0d 00 c2 13 73 70 72 69  74 65 5f 66 69 6c 65 24  |....sprite_file$|
000011b0  3d 22 22 0d 00 c3 11 64  72 61 77 5f 66 69 6c 65  |=""....draw_file|
000011c0  24 3d 22 22 0d 00 c4 1b  70 61 74 74 65 72 6e 5f  |$=""....pattern_|
000011d0  66 69 6c 65 24 3d 22 50  61 74 74 65 72 6e 22 0d  |file$="Pattern".|
000011e0  00 c5 1a 73 74 61 74 65  5f 66 69 6c 65 24 3d 22  |...state_file$="|
000011f0  45 61 73 79 4b 6e 69 74  22 0d 00 c6 13 70 69 63  |EasyKnit"....pic|
00001200  74 79 70 65 24 3d 22 6e  6f 6e 65 22 0d 00 c7 07  |type$="none"....|
00001210  f2 68 64 0d 00 c8 1b c8  99 20 26 30 30 30 30 30  |.hd...... &00000|
00001220  30 34 32 20 b8 20 74 69  74 74 69 6d 65 25 0d 00  |042 . tittime%..|
00001230  c9 11 74 69 74 74 69 6d  65 25 2b 3d 36 30 30 0d  |..tittime%+=600.|
00001240  00 ca 10 73 79 6d 62 73  74 6f 72 65 25 3d 30 0d  |...symbstore%=0.|
00001250  00 cb 10 73 79 6d 62 70  6f 69 6e 74 25 3d 30 0d  |...symbpoint%=0.|
00001260  00 cc 0f 73 79 6d 62 73  69 7a 65 25 3d 30 0d 00  |...symbsize%=0..|
00001270  cd 13 64 65 73 63 69 6e  66 6f 62 75 66 66 25 3d  |..descinfobuff%=|
00001280  30 0d 00 ce 0f 64 65 73  63 62 75 66 66 25 3d 30  |0....descbuff%=0|
00001290  0d 00 cf 18 65 78 74 72  61 64 65 73 63 69 6e 66  |....extradescinf|
000012a0  6f 62 75 66 66 25 3d 30  0d 00 d0 14 65 78 74 72  |obuff%=0....extr|
000012b0  61 64 65 73 63 62 75 66  66 25 3d 30 0d 00 d1 16  |adescbuff%=0....|
000012c0  c8 99 26 30 30 30 30 30  30 31 30 20 b8 20 65 6e  |..&00000010 . en|
000012d0  76 24 0d 00 d2 12 69 25  3d a7 65 6e 76 24 2c 22  |v$....i%=.env$,"|
000012e0  22 22 22 29 0d 00 d3 17  69 25 3d a7 65 6e 76 24  |""")....i%=.env$|
000012f0  2c 22 22 22 22 2c 69 25  2b 31 29 0d 00 d4 0b f5  |,"""",i%+1).....|
00001300  20 69 25 2b 3d 31 0d 00  d5 16 fd 20 c1 65 6e 76  | i%+=1..... .env|
00001310  24 2c 69 25 2c 31 29 3c  3e 22 20 22 0d 00 d6 1a  |$,i%,1)<>" "....|
00001320  64 61 74 61 5f 69 6e 66  69 6c 65 24 3d c1 65 6e  |data_infile$=.en|
00001330  76 24 2c 69 25 29 0d 00  d7 1d e7 20 a7 64 61 74  |v$,i%)..... .dat|
00001340  61 5f 69 6e 66 69 6c 65  24 2c 22 2e 22 29 3c 3e  |a_infile$,".")<>|
00001350  30 20 8c 0d 00 d8 18 e7  20 74 69 74 6c 65 6f 70  |0 ...... titleop|
00001360  65 6e 25 3d b9 20 8c 20  f2 61 62 0d 00 d9 0a f2  |en%=. . .ab.....|
00001370  71 63 28 30 29 0d 00 da  05 cd 0d 00 db 10 c8 99  |qc(0)...........|
00001380  20 26 30 30 30 34 30 36  43 31 0d 00 dc 05 e1 0d  | &000406C1......|
00001390  00 dd 05 3a 0d 00 de 19  dd 20 a4 6f 28 69 64 65  |...:..... .o(ide|
000013a0  6e 74 24 2c 73 70 72 69  74 65 73 25 29 0d 00 df  |nt$,sprites%)...|
000013b0  0b ea 20 77 68 61 6e 25  0d 00 e0 11 24 6e 61 6d  |.. whan%....$nam|
000013c0  65 25 3d 69 64 65 6e 74  24 0d 00 e1 58 c8 99 26  |e%=ident$...X..&|
000013d0  30 30 30 34 30 30 44 42  2c 2c 62 6c 6f 63 6b 25  |000400DB,,block%|
000013e0  2c 77 69 6e 64 6f 77 69  6e 64 25 2c 77 69 6e 64  |,windowind%,wind|
000013f0  6f 77 69 6e 64 25 2b 69  6e 64 73 69 7a 65 25 2c  |owind%+indsize%,|
00001400  66 6f 6e 74 64 61 74 61  25 2c 6e 61 6d 65 25 2c  |fontdata%,name%,|
00001410  30 20 20 b8 20 2c 2c 77  69 6e 64 6f 77 69 6e 64  |0  . ,,windowind|
00001420  25 0d 00 e2 26 e7 20 73  70 72 69 74 65 73 25 3c  |%...&. sprites%<|
00001430  3e 30 20 8c 20 62 6c 6f  63 6b 25 21 36 34 3d 73  |>0 . block%!64=s|
00001440  70 72 69 74 65 73 25 0d  00 e3 1f c8 99 26 30 30  |prites%......&00|
00001450  30 34 30 30 43 31 2c 2c  62 6c 6f 63 6b 25 20 b8  |0400C1,,block% .|
00001460  20 77 68 61 6e 25 0d 00  e4 0a 3d 77 68 61 6e 25  | whan%....=whan%|
00001470  0d 00 e5 05 3a 0d 00 e6  09 dd 20 f2 74 62 0d 00  |....:..... .tb..|
00001480  e7 1c 69 6e 66 6f 76 65  72 73 69 6f 6e 25 3d a4  |..infoversion%=.|
00001490  69 28 69 6e 66 6f 25 2c  34 29 0d 00 e8 20 73 61  |i(info%,4)... sa|
000014a0  76 65 6f 6e 65 25 20 20  20 20 3d a4 69 28 73 61  |veone%    =.i(sa|
000014b0  76 65 70 6c 75 73 25 2c  34 29 0d 00 e9 20 73 61  |veplus%,4)... sa|
000014c0  76 65 74 77 6f 25 20 20  20 20 3d a4 69 28 73 61  |vetwo%    =.i(sa|
000014d0  76 65 70 6c 75 73 25 2c  35 29 0d 00 ea 49 21 62  |veplus%,5)...I!b|
000014e0  6c 6f 63 6b 25 3d 73 61  76 65 62 6f 78 25 3a 62  |lock%=savebox%:b|
000014f0  6c 6f 63 6b 25 21 34 3d  30 3a 20 c8 99 20 26 30  |lock%!4=0: .. &0|
00001500  30 30 34 30 30 43 45 2c  2c 62 6c 6f 63 6b 25 3a  |00400CE,,block%:|
00001510  20 73 61 76 65 73 70 72  25 3d 62 6c 6f 63 6b 25  | savespr%=block%|
00001520  21 33 32 0d 00 eb 18 73  63 6c 6d 75 6c 25 20 3d  |!32....sclmul% =|
00001530  a4 69 28 7a 6f 6f 6d 25  2c 30 29 0d 00 ec 18 73  |.i(zoom%,0)....s|
00001540  63 6c 64 69 76 25 20 3d  a4 69 28 7a 6f 6f 6d 25  |cldiv% =.i(zoom%|
00001550  2c 31 29 0d 00 ed 1c 74  72 6f 77 25 20 20 20 3d  |,1)....trow%   =|
00001560  a4 69 28 74 62 61 72 64  69 73 70 25 2c 33 29 0d  |.i(tbardisp%,3).|
00001570  00 ee 1c 74 73 74 69 74  63 68 25 3d a4 69 28 74  |...tstitch%=.i(t|
00001580  62 61 72 64 69 73 70 25  2c 34 29 0d 00 ef 1d 63  |bardisp%,4)....c|
00001590  6e 61 6d 65 25 20 20 3d  a4 69 28 63 6f 6c 63 72  |name%  =.i(colcr|
000015a0  65 61 74 65 25 2c 33 29  0d 00 f0 28 74 69 74 6c  |eate%,3)...(titl|
000015b0  65 76 65 72 73 69 6f 6e  25 20 20 20 20 20 20 20  |eversion%       |
000015c0  3d a4 69 28 74 69 74 6c  65 77 69 6e 25 2c 36 29  |=.i(titlewin%,6)|
000015d0  0d 00 f1 25 74 65 6e 73  69 6f 6e 5f 73 71 5f 77  |...%tension_sq_w|
000015e0  69 64 74 68 25 20 20 20  3d a4 69 28 6d 61 69 6e  |idth%   =.i(main|
000015f0  25 2c 31 35 29 0d 00 f2  25 74 65 6e 73 69 6f 6e  |%,15)...%tension|
00001600  5f 73 71 5f 68 65 69 67  68 74 25 20 20 3d a4 69  |_sq_height%  =.i|
00001610  28 6d 61 69 6e 25 2c 31  36 29 0d 00 f3 25 74 65  |(main%,16)...%te|
00001620  6e 73 69 6f 6e 5f 73 71  5f 73 74 69 74 63 68 65  |nsion_sq_stitche|
00001630  73 25 3d a4 69 28 6d 61  69 6e 25 2c 31 37 29 0d  |s%=.i(main%,17).|
00001640  00 f4 25 74 65 6e 73 69  6f 6e 5f 73 71 5f 72 6f  |..%tension_sq_ro|
00001650  77 73 25 20 20 20 20 3d  a4 69 28 6d 61 69 6e 25  |ws%    =.i(main%|
00001660  2c 31 38 29 0d 00 f5 25  63 6f 6e 76 5f 72 6f 77  |,18)...%conv_row|
00001670  73 25 20 20 20 20 20 20  20 20 20 20 3d a4 69 28  |s%          =.i(|
00001680  6d 61 69 6e 25 2c 31 39  29 0d 00 f6 25 61 6e 73  |main%,19)...%ans|
00001690  5f 63 6f 6e 76 5f 72 6f  77 73 25 20 20 20 20 20  |_conv_rows%     |
000016a0  20 3d a4 69 28 6d 61 69  6e 25 2c 32 30 29 0d 00  | =.i(main%,20)..|
000016b0  f7 25 63 6f 6e 76 5f 73  74 69 74 63 68 65 73 25  |.%conv_stitches%|
000016c0  20 20 20 20 20 20 3d a4  69 28 6d 61 69 6e 25 2c  |      =.i(main%,|
000016d0  32 31 29 0d 00 f8 25 61  6e 73 5f 63 6f 6e 76 5f  |21)...%ans_conv_|
000016e0  73 74 69 74 63 68 65 73  25 20 20 3d a4 69 28 6d  |stitches%  =.i(m|
000016f0  61 69 6e 25 2c 32 32 29  0d 00 f9 1b 67 72 6f 77  |ain%,22)....grow|
00001700  73 25 20 20 20 20 3d a4  69 28 6d 61 69 6e 25 2c  |s%    =.i(main%,|
00001710  32 39 29 0d 00 fa 1b 67  73 74 69 74 63 68 65 73  |29)....gstitches|
00001720  25 3d a4 69 28 6d 61 69  6e 25 2c 33 30 29 0d 00  |%=.i(main%,30)..|
00001730  fb 1b 67 68 65 69 67 68  74 25 20 20 3d a4 69 28  |..gheight%  =.i(|
00001740  6d 61 69 6e 25 2c 33 31  29 0d 00 fc 1b 67 77 69  |main%,31)....gwi|
00001750  64 74 68 25 20 20 20 3d  a4 69 28 6d 61 69 6e 25  |dth%   =.i(main%|
00001760  2c 33 32 29 0d 00 fd 1b  74 64 73 65 74 25 20 20  |,32)....tdset%  |
00001770  20 20 3d a4 69 28 6d 61  69 6e 25 2c 34 36 29 0d  |  =.i(main%,46).|
00001780  00 fe 1b 64 69 73 70 74  65 78 74 25 20 3d a4 69  |...disptext% =.i|
00001790  28 6d 61 69 6e 25 2c 32  37 29 0d 00 ff 1b 74 73  |(main%,27)....ts|
000017a0  71 74 75 6e 69 74 25 20  3d a4 69 28 6d 61 69 6e  |qtunit% =.i(main|
000017b0  25 2c 33 38 29 0d 01 00  1b 74 73 71 62 75 6e 69  |%,38)....tsqbuni|
000017c0  74 25 20 3d a4 69 28 6d  61 69 6e 25 2c 33 39 29  |t% =.i(main%,39)|
000017d0  0d 01 01 1b 63 6f 6e 74  75 6e 69 74 25 20 3d a4  |....contunit% =.|
000017e0  69 28 6d 61 69 6e 25 2c  34 38 29 0d 01 02 1b 63  |i(main%,48)....c|
000017f0  6f 6e 62 75 6e 69 74 25  20 3d a4 69 28 6d 61 69  |onbunit% =.i(mai|
00001800  6e 25 2c 34 39 29 0d 01  03 1b 67 72 64 74 75 6e  |n%,49)....grdtun|
00001810  69 74 25 20 3d a4 69 28  6d 61 69 6e 25 2c 35 30  |it% =.i(main%,50|
00001820  29 0d 01 04 1b 67 72 64  62 75 6e 69 74 25 20 3d  |)....grdbunit% =|
00001830  a4 69 28 6d 61 69 6e 25  2c 35 31 29 0d 01 05 1c  |.i(main%,51)....|
00001840  70 72 6f 6a 6e 61 6d 65  25 3d a4 69 28 70 61 74  |projname%=.i(pat|
00001850  74 65 72 6e 25 2c 38 29  0d 01 06 1b 72 6f 66 66  |tern%,8)....roff|
00001860  73 65 74 25 3d a4 69 28  70 61 74 74 65 72 6e 25  |set%=.i(pattern%|
00001870  2c 39 29 0d 01 07 1c 74  66 72 61 6d 65 68 25 3d  |,9)....tframeh%=|
00001880  a4 69 28 70 61 74 74 65  72 6e 25 2c 31 30 29 0d  |.i(pattern%,10).|
00001890  01 08 1c 74 66 72 61 6d  65 77 25 3d a4 69 28 70  |...tframew%=.i(p|
000018a0  61 74 74 65 72 6e 25 2c  31 31 29 0d 01 09 1b 61  |attern%,11)....a|
000018b0  73 6b 71 75 65 73 74 69  6f 6e 25 3d a4 69 28 61  |skquestion%=.i(a|
000018c0  73 6b 25 2c 32 29 0d 01  0a 1a 61 73 6b 62 75 74  |sk%,2)....askbut|
000018d0  74 6f 6e 30 25 3d a4 69  28 61 73 6b 25 2c 30 29  |ton0%=.i(ask%,0)|
000018e0  0d 01 0b 1a 61 73 6b 62  75 74 74 6f 6e 31 25 3d  |....askbutton1%=|
000018f0  a4 69 28 61 73 6b 25 2c  31 29 0d 01 0c 19 70 72  |.i(ask%,1)....pr|
00001900  6e 61 6d 65 25 3d a4 69  28 70 72 69 6e 74 25 2c  |name%=.i(print%,|
00001910  31 33 29 0d 01 0d 19 70  72 73 63 61 6c 65 25 3d  |13)....prscale%=|
00001920  a4 69 28 70 72 69 6e 74  25 2c 35 29 0d 01 0e 1a  |.i(print%,5)....|
00001930  70 72 74 69 6c 65 73 25  3d a4 69 28 70 72 69 6e  |prtiles%=.i(prin|
00001940  74 25 2c 31 30 29 0d 01  0f 16 72 65 70 25 3d a4  |t%,10)....rep%=.|
00001950  69 28 72 65 70 6f 72 74  25 2c 31 29 0d 01 10 1d  |i(report%,1)....|
00001960  64 65 73 63 72 69 62 65  25 3d a4 69 28 73 79 6d  |describe%=.i(sym|
00001970  62 70 69 63 6b 25 2c 30  29 0d 01 11 3d 21 62 6c  |bpick%,0)...=!bl|
00001980  6f 63 6b 25 3d 6d 61 69  6e 25 3a 20 c8 99 20 26  |ock%=main%: .. &|
00001990  30 30 30 34 30 30 43 43  2c 2c 62 6c 6f 63 6b 25  |000400CC,,block%|
000019a0  3a 20 6d 61 69 6e 74 69  74 6c 65 25 3d 62 6c 6f  |: maintitle%=blo|
000019b0  63 6b 25 21 37 36 0d 01  12 3d 21 62 6c 6f 63 6b  |ck%!76...=!block|
000019c0  25 3d 65 64 69 74 25 3a  20 c8 99 20 26 30 30 30  |%=edit%: .. &000|
000019d0  34 30 30 43 43 2c 2c 62  6c 6f 63 6b 25 3a 20 65  |400CC,,block%: e|
000019e0  64 69 74 74 69 74 6c 65  25 3d 62 6c 6f 63 6b 25  |dittitle%=block%|
000019f0  21 37 36 0d 01 13 43 21  62 6c 6f 63 6b 25 3d 70  |!76...C!block%=p|
00001a00  61 74 74 65 72 6e 25 3a  20 c8 99 20 26 30 30 30  |attern%: .. &000|
00001a10  34 30 30 43 43 2c 2c 62  6c 6f 63 6b 25 3a 20 70  |400CC,,block%: p|
00001a20  61 74 74 65 72 6e 74 69  74 6c 65 25 3d 62 6c 6f  |atterntitle%=blo|
00001a30  63 6b 25 21 37 36 0d 01  14 05 e1 0d 01 15 05 3a  |ck%!76.........:|
00001a40  0d 01 16 15 dd 20 a4 69  28 77 68 61 6e 25 2c 69  |..... .i(whan%,i|
00001a50  63 6f 6e 25 29 0d 01 17  22 62 6c 6f 63 6b 25 21  |con%)..."block%!|
00001a60  30 3d 77 68 61 6e 25 3a  20 62 6c 6f 63 6b 25 21  |0=whan%: block%!|
00001a70  34 3d 69 63 6f 6e 25 0d  01 18 18 c8 99 20 26 30  |4=icon%...... &0|
00001a80  30 30 34 30 30 43 45 2c  2c 62 6c 6f 63 6b 25 0d  |00400CE,,block%.|
00001a90  01 19 0e 3d 62 6c 6f 63  6b 25 21 32 38 0d 01 1a  |...=block%!28...|
00001aa0  05 3a 0d 01 1b 11 dd 20  f2 65 64 28 73 74 61 74  |.:..... .ed(stat|
00001ab0  65 25 29 0d 01 1c 0b ea  20 69 63 6f 6e 25 0d 01  |e%)..... icon%..|
00001ac0  1d 0f c8 8e 20 73 74 61  74 65 25 20 ca 0d 01 1e  |.... state% ....|
00001ad0  07 c9 20 31 0d 01 1f 0a  f2 7a 62 28 31 29 0d 01  |.. 1.....zb(1)..|
00001ae0  20 0a f2 61 63 28 31 29  0d 01 21 0a f2 64 63 28  | ..ac(1)..!..dc(|
00001af0  30 29 0d 01 22 07 c9 20  32 0d 01 23 0a f2 7a 62  |0)..".. 2..#..zb|
00001b00  28 30 29 0d 01 24 0a f2  61 63 28 31 29 0d 01 25  |(0)..$..ac(1)..%|
00001b10  0a f2 64 63 28 30 29 0d  01 26 07 c9 20 33 0d 01  |..dc(0)..&.. 3..|
00001b20  27 0a f2 7a 62 28 30 29  0d 01 28 0a f2 61 63 28  |'..zb(0)..(..ac(|
00001b30  31 29 0d 01 29 0a f2 64  63 28 30 29 0d 01 2a 07  |1)..)..dc(0)..*.|
00001b40  c9 20 34 0d 01 2b 0a f2  7a 62 28 31 29 0d 01 2c  |. 4..+..zb(1)..,|
00001b50  0a f2 61 63 28 30 29 0d  01 2d 0a f2 64 63 28 30  |..ac(0)..-..dc(0|
00001b60  29 0d 01 2e 07 c9 20 35  0d 01 2f 0a f2 61 63 28  |)..... 5../..ac(|
00001b70  30 29 0d 01 30 0a f2 62  63 28 30 29 0d 01 31 0a  |0)..0..bc(0)..1.|
00001b80  f2 64 63 28 30 29 0d 01  32 07 c9 20 36 0d 01 33  |.dc(0)..2.. 6..3|
00001b90  0a f2 64 63 28 31 29 0d  01 34 0a f2 7a 62 28 31  |..dc(1)..4..zb(1|
00001ba0  29 0d 01 35 0a f2 61 63  28 31 29 0d 01 36 14 e3  |)..5..ac(1)..6..|
00001bb0  20 69 63 6f 6e 25 3d 20  34 32 20 b8 20 34 35 0d  | icon%= 42 . 45.|
00001bc0  01 37 20 f2 66 65 28 6d  61 69 6e 25 2c 69 63 6f  |.7 .fe(main%,ico|
00001bd0  6e 25 2c 30 3c 3c 32 32  2c 31 3c 3c 32 32 29 0d  |n%,0<<22,1<<22).|
00001be0  01 38 0b ed 20 69 63 6f  6e 25 0d 01 39 1d f2 66  |.8.. icon%..9..f|
00001bf0  65 28 6d 61 69 6e 25 2c  32 39 2c 30 3c 3c 32 32  |e(main%,29,0<<22|
00001c00  2c 31 3c 3c 32 32 29 0d  01 3a 1d f2 66 65 28 6d  |,1<<22)..:..fe(m|
00001c10  61 69 6e 25 2c 33 30 2c  30 3c 3c 32 32 2c 31 3c  |ain%,30,0<<22,1<|
00001c20  3c 32 32 29 0d 01 3b 1e  f2 66 65 28 6d 61 69 6e  |<22)..;..fe(main|
00001c30  25 2c 32 36 2c 37 3c 3c  32 34 2c 31 35 3c 3c 32  |%,26,7<<24,15<<2|
00001c40  34 29 0d 01 3c 1e f2 66  65 28 6d 61 69 6e 25 2c  |4)..<..fe(main%,|
00001c50  33 33 2c 37 3c 3c 32 34  2c 31 35 3c 3c 32 34 29  |33,7<<24,15<<24)|
00001c60  0d 01 3d 1e f2 66 65 28  6d 61 69 6e 25 2c 33 34  |..=..fe(main%,34|
00001c70  2c 37 3c 3c 32 34 2c 31  35 3c 3c 32 34 29 0d 01  |,7<<24,15<<24)..|
00001c80  3e 05 cb 0d 01 3f 16 6d  61 73 74 65 72 67 72 65  |>....?.mastergre|
00001c90  79 25 3d 73 74 61 74 65  25 0d 01 40 05 e1 0d 01  |y%=state%..@....|
00001ca0  41 05 3a 0d 01 42 10 dd  20 f2 64 63 28 67 72 65  |A.:..B.. .dc(gre|
00001cb0  79 25 29 0d 01 43 12 ea  20 69 63 6f 6e 25 2c 67  |y%)..C.. icon%,g|
00001cc0  74 65 78 74 25 0d 01 44  18 e7 20 67 72 65 79 25  |text%..D.. grey%|
00001cd0  3d 30 20 8c 20 67 74 65  78 74 25 3d 37 0d 01 45  |=0 . gtext%=7..E|
00001ce0  18 e7 20 67 72 65 79 25  3d 31 20 8c 20 67 74 65  |.. grey%=1 . gte|
00001cf0  78 74 25 3d 33 0d 01 46  22 f2 66 65 28 6d 61 69  |xt%=3..F".fe(mai|
00001d00  6e 25 2c 33 2c 67 74 65  78 74 25 3c 3c 32 34 2c  |n%,3,gtext%<<24,|
00001d10  31 35 3c 3c 32 34 29 0d  01 47 11 e3 20 69 63 6f  |15<<24)..G.. ico|
00001d20  6e 25 3d 35 20 b8 20 38  0d 01 48 26 f2 66 65 28  |n%=5 . 8..H&.fe(|
00001d30  6d 61 69 6e 25 2c 69 63  6f 6e 25 2c 67 74 65 78  |main%,icon%,gtex|
00001d40  74 25 3c 3c 32 34 2c 31  35 3c 3c 32 34 29 0d 01  |t%<<24,15<<24)..|
00001d50  49 0b ed 20 69 63 6f 6e  25 0d 01 4a 23 f2 66 65  |I.. icon%..J#.fe|
00001d60  28 6d 61 69 6e 25 2c 33  38 2c 67 74 65 78 74 25  |(main%,38,gtext%|
00001d70  3c 3c 32 34 2c 31 35 3c  3c 32 34 29 0d 01 4b 23  |<<24,15<<24)..K#|
00001d80  f2 66 65 28 6d 61 69 6e  25 2c 33 39 2c 67 74 65  |.fe(main%,39,gte|
00001d90  78 74 25 3c 3c 32 34 2c  31 35 3c 3c 32 34 29 0d  |xt%<<24,15<<24).|
00001da0  01 4c 23 f2 66 65 28 6d  61 69 6e 25 2c 34 37 2c  |.L#.fe(main%,47,|
00001db0  67 74 65 78 74 25 3c 3c  32 34 2c 31 35 3c 3c 32  |gtext%<<24,15<<2|
00001dc0  34 29 0d 01 4d 14 e3 20  69 63 6f 6e 25 3d 20 31  |4)..M.. icon%= 1|
00001dd0  35 20 b8 20 31 38 0d 01  4e 24 f2 66 65 28 6d 61  |5 . 18..N$.fe(ma|
00001de0  69 6e 25 2c 69 63 6f 6e  25 2c 67 72 65 79 25 3c  |in%,icon%,grey%<|
00001df0  3c 32 32 2c 31 3c 3c 32  32 29 0d 01 4f 0b ed 20  |<22,1<<22)..O.. |
00001e00  69 63 6f 6e 25 0d 01 50  21 f2 66 65 28 6d 61 69  |icon%..P!.fe(mai|
00001e10  6e 25 2c 34 36 2c 67 72  65 79 25 3c 3c 32 32 2c  |n%,46,grey%<<22,|
00001e20  31 3c 3c 32 32 29 0d 01  51 05 e1 0d 01 52 05 3a  |1<<22)..Q....R.:|
00001e30  0d 01 53 10 dd 20 f2 7a  62 28 67 72 65 79 25 29  |..S.. .zb(grey%)|
00001e40  0d 01 54 12 ea 20 69 63  6f 6e 25 2c 67 74 65 78  |..T.. icon%,gtex|
00001e50  74 25 0d 01 55 18 e7 20  67 72 65 79 25 3d 30 20  |t%..U.. grey%=0 |
00001e60  8c 20 67 74 65 78 74 25  3d 37 0d 01 56 18 e7 20  |. gtext%=7..V.. |
00001e70  67 72 65 79 25 3d 31 20  8c 20 67 74 65 78 74 25  |grey%=1 . gtext%|
00001e80  3d 33 0d 01 57 0b 69 63  6f 6e 25 3d 34 0d 01 58  |=3..W.icon%=4..X|
00001e90  26 f2 66 65 28 6d 61 69  6e 25 2c 69 63 6f 6e 25  |&.fe(main%,icon%|
00001ea0  2c 67 74 65 78 74 25 3c  3c 32 34 2c 31 35 3c 3c  |,gtext%<<24,15<<|
00001eb0  32 34 29 0d 01 59 14 e3  20 69 63 6f 6e 25 3d 20  |24)..Y.. icon%= |
00001ec0  31 39 20 b8 20 32 34 0d  01 5a 24 f2 66 65 28 6d  |19 . 24..Z$.fe(m|
00001ed0  61 69 6e 25 2c 69 63 6f  6e 25 2c 67 72 65 79 25  |ain%,icon%,grey%|
00001ee0  3c 3c 32 32 2c 31 3c 3c  32 32 29 0d 01 5b 0b ed  |<<22,1<<22)..[..|
00001ef0  20 69 63 6f 6e 25 0d 01  5c 13 e3 20 69 63 6f 6e  | icon%..\.. icon|
00001f00  25 3d 20 39 20 b8 20 31  34 0d 01 5d 26 f2 66 65  |%= 9 . 14..]&.fe|
00001f10  28 6d 61 69 6e 25 2c 69  63 6f 6e 25 2c 67 74 65  |(main%,icon%,gte|
00001f20  78 74 25 3c 3c 32 34 2c  31 35 3c 3c 32 34 29 0d  |xt%<<24,15<<24).|
00001f30  01 5e 0b ed 20 69 63 6f  6e 25 0d 01 5f 14 e3 20  |.^.. icon%.._.. |
00001f40  69 63 6f 6e 25 3d 20 34  30 20 b8 20 34 31 0d 01  |icon%= 40 . 41..|
00001f50  60 24 f2 66 65 28 6d 61  69 6e 25 2c 69 63 6f 6e  |`$.fe(main%,icon|
00001f60  25 2c 67 72 65 79 25 3c  3c 32 32 2c 31 3c 3c 32  |%,grey%<<22,1<<2|
00001f70  32 29 0d 01 61 0b ed 20  69 63 6f 6e 25 0d 01 62  |2)..a.. icon%..b|
00001f80  14 e3 20 69 63 6f 6e 25  3d 20 34 38 20 b8 20 34  |.. icon%= 48 . 4|
00001f90  39 0d 01 63 26 f2 66 65  28 6d 61 69 6e 25 2c 69  |9..c&.fe(main%,i|
00001fa0  63 6f 6e 25 2c 67 74 65  78 74 25 3c 3c 32 34 2c  |con%,gtext%<<24,|
00001fb0  31 35 3c 3c 32 34 29 0d  01 64 0b ed 20 69 63 6f  |15<<24)..d.. ico|
00001fc0  6e 25 0d 01 65 05 e1 0d  01 66 05 3a 0d 01 67 10  |n%..e....f.:..g.|
00001fd0  dd 20 f2 61 63 28 67 72  65 79 25 29 0d 01 68 12  |. .ac(grey%)..h.|
00001fe0  ea 20 69 63 6f 6e 25 2c  67 74 65 78 74 25 0d 01  |. icon%,gtext%..|
00001ff0  69 18 e7 20 67 72 65 79  25 3d 30 20 8c 20 67 74  |i.. grey%=0 . gt|
00002000  65 78 74 25 3d 37 0d 01  6a 18 e7 20 67 72 65 79  |ext%=7..j.. grey|
00002010  25 3d 31 20 8c 20 67 74  65 78 74 25 3d 33 0d 01  |%=1 . gtext%=3..|
00002020  6b 0c 69 63 6f 6e 25 3d  32 36 0d 01 6c 26 f2 66  |k.icon%=26..l&.f|
00002030  65 28 6d 61 69 6e 25 2c  69 63 6f 6e 25 2c 67 74  |e(main%,icon%,gt|
00002040  65 78 74 25 3c 3c 32 34  2c 31 35 3c 3c 32 34 29  |ext%<<24,15<<24)|
00002050  0d 01 6d 0c 69 63 6f 6e  25 3d 33 37 0d 01 6e 24  |..m.icon%=37..n$|
00002060  f2 66 65 28 6d 61 69 6e  25 2c 69 63 6f 6e 25 2c  |.fe(main%,icon%,|
00002070  67 72 65 79 25 3c 3c 32  32 2c 31 3c 3c 32 32 29  |grey%<<22,1<<22)|
00002080  0d 01 6f 26 f2 66 65 28  6d 61 69 6e 25 2c 69 63  |..o&.fe(main%,ic|
00002090  6f 6e 25 2c 67 74 65 78  74 25 3c 3c 32 34 2c 31  |on%,gtext%<<24,1|
000020a0  35 3c 3c 32 34 29 0d 01  70 14 e3 20 69 63 6f 6e  |5<<24)..p.. icon|
000020b0  25 3d 20 32 39 20 b8 20  33 32 0d 01 71 24 f2 66  |%= 29 . 32..q$.f|
000020c0  65 28 6d 61 69 6e 25 2c  69 63 6f 6e 25 2c 67 72  |e(main%,icon%,gr|
000020d0  65 79 25 3c 3c 32 32 2c  31 3c 3c 32 32 29 0d 01  |ey%<<22,1<<22)..|
000020e0  72 0b ed 20 69 63 6f 6e  25 0d 01 73 14 e3 20 69  |r.. icon%..s.. i|
000020f0  63 6f 6e 25 3d 20 33 33  20 b8 20 33 36 0d 01 74  |con%= 33 . 36..t|
00002100  26 f2 66 65 28 6d 61 69  6e 25 2c 69 63 6f 6e 25  |&.fe(main%,icon%|
00002110  2c 67 74 65 78 74 25 3c  3c 32 34 2c 31 35 3c 3c  |,gtext%<<24,15<<|
00002120  32 34 29 0d 01 75 0b ed  20 69 63 6f 6e 25 0d 01  |24)..u.. icon%..|
00002130  76 14 e3 20 69 63 6f 6e  25 3d 20 34 32 20 b8 20  |v.. icon%= 42 . |
00002140  34 35 0d 01 77 24 f2 66  65 28 6d 61 69 6e 25 2c  |45..w$.fe(main%,|
00002150  69 63 6f 6e 25 2c 67 72  65 79 25 3c 3c 32 32 2c  |icon%,grey%<<22,|
00002160  31 3c 3c 32 32 29 0d 01  78 0b ed 20 69 63 6f 6e  |1<<22)..x.. icon|
00002170  25 0d 01 79 23 f2 66 65  28 6d 61 69 6e 25 2c 35  |%..y#.fe(main%,5|
00002180  30 2c 67 74 65 78 74 25  3c 3c 32 34 2c 31 35 3c  |0,gtext%<<24,15<|
00002190  3c 32 34 29 0d 01 7a 23  f2 66 65 28 6d 61 69 6e  |<24)..z#.fe(main|
000021a0  25 2c 35 31 2c 67 74 65  78 74 25 3c 3c 32 34 2c  |%,51,gtext%<<24,|
000021b0  31 35 3c 3c 32 34 29 0d  01 7b 05 e1 0d 01 7c 05  |15<<24)..{....|.|
000021c0  3a 0d 01 7d 10 dd 20 f2  62 63 28 67 72 65 79 25  |:..}.. .bc(grey%|
000021d0  29 0d 01 7e 17 ea 20 67  74 65 78 74 25 2c 74 65  |)..~.. gtext%,te|
000021e0  78 25 2c 6e 75 6d 62 25  0d 01 7f 29 e7 20 67 72  |x%,numb%...). gr|
000021f0  65 79 25 3d 30 20 8c 20  67 74 65 78 74 25 3d 37  |ey%=0 . gtext%=7|
00002200  3a 20 74 65 78 25 3d 33  3a 20 6e 75 6d 62 25 3d  |: tex%=3: numb%=|
00002210  31 0d 01 80 29 e7 20 67  72 65 79 25 3d 31 20 8c  |1...). grey%=1 .|
00002220  20 67 74 65 78 74 25 3d  33 3a 20 74 65 78 25 3d  | gtext%=3: tex%=|
00002230  37 3a 20 6e 75 6d 62 25  3d 30 0d 01 81 22 f2 66  |7: numb%=0...".f|
00002240  65 28 6d 61 69 6e 25 2c  34 2c 67 74 65 78 74 25  |e(main%,4,gtext%|
00002250  3c 3c 32 34 2c 31 35 3c  3c 32 34 29 0d 01 82 22  |<<24,15<<24)..."|
00002260  f2 66 65 28 6d 61 69 6e  25 2c 39 2c 67 74 65 78  |.fe(main%,9,gtex|
00002270  74 25 3c 3c 32 34 2c 31  35 3c 3c 32 34 29 0d 01  |t%<<24,15<<24)..|
00002280  83 23 f2 66 65 28 6d 61  69 6e 25 2c 31 30 2c 67  |.#.fe(main%,10,g|
00002290  74 65 78 74 25 3c 3c 32  34 2c 31 35 3c 3c 32 34  |text%<<24,15<<24|
000022a0  29 0d 01 84 14 e3 20 69  63 6f 6e 25 3d 20 31 31  |)..... icon%= 11|
000022b0  20 b8 20 31 34 0d 01 85  24 f2 66 65 28 6d 61 69  | . 14...$.fe(mai|
000022c0  6e 25 2c 69 63 6f 6e 25  2c 74 65 78 25 3c 3c 32  |n%,icon%,tex%<<2|
000022d0  34 2c 31 35 3c 3c 32 34  29 0d 01 86 0b ed 20 69  |4,15<<24)..... i|
000022e0  63 6f 6e 25 0d 01 87 21  f2 66 65 28 6d 61 69 6e  |con%...!.fe(main|
000022f0  25 2c 31 39 2c 67 72 65  79 25 3c 3c 32 32 2c 31  |%,19,grey%<<22,1|
00002300  3c 3c 32 32 29 0d 01 88  21 f2 66 65 28 6d 61 69  |<<22)...!.fe(mai|
00002310  6e 25 2c 32 30 2c 6e 75  6d 62 25 3c 3c 32 32 2c  |n%,20,numb%<<22,|
00002320  31 3c 3c 32 32 29 0d 01  89 21 f2 66 65 28 6d 61  |1<<22)...!.fe(ma|
00002330  69 6e 25 2c 32 31 2c 67  72 65 79 25 3c 3c 32 32  |in%,21,grey%<<22|
00002340  2c 31 3c 3c 32 32 29 0d  01 8a 21 f2 66 65 28 6d  |,1<<22)...!.fe(m|
00002350  61 69 6e 25 2c 32 32 2c  6e 75 6d 62 25 3c 3c 32  |ain%,22,numb%<<2|
00002360  32 2c 31 3c 3c 32 32 29  0d 01 8b 21 f2 66 65 28  |2,1<<22)...!.fe(|
00002370  6d 61 69 6e 25 2c 34 30  2c 6e 75 6d 62 25 3c 3c  |main%,40,numb%<<|
00002380  32 32 2c 31 3c 3c 32 32  29 0d 01 8c 21 f2 66 65  |22,1<<22)...!.fe|
00002390  28 6d 61 69 6e 25 2c 34  31 2c 6e 75 6d 62 25 3c  |(main%,41,numb%<|
000023a0  3c 32 32 2c 31 3c 3c 32  32 29 0d 01 8d 21 f2 66  |<22,1<<22)...!.f|
000023b0  65 28 6d 61 69 6e 25 2c  33 31 2c 6e 75 6d 62 25  |e(main%,31,numb%|
000023c0  3c 3c 32 32 2c 31 3c 3c  32 32 29 0d 01 8e 21 f2  |<<22,1<<22)...!.|
000023d0  66 65 28 6d 61 69 6e 25  2c 33 32 2c 6e 75 6d 62  |fe(main%,32,numb|
000023e0  25 3c 3c 32 32 2c 31 3c  3c 32 32 29 0d 01 8f 21  |%<<22,1<<22)...!|
000023f0  f2 66 65 28 6d 61 69 6e  25 2c 33 35 2c 74 65 78  |.fe(main%,35,tex|
00002400  25 3c 3c 32 34 2c 31 35  3c 3c 32 34 29 0d 01 90  |%<<24,15<<24)...|
00002410  21 f2 66 65 28 6d 61 69  6e 25 2c 33 36 2c 74 65  |!.fe(main%,36,te|
00002420  78 25 3c 3c 32 34 2c 31  35 3c 3c 32 34 29 0d 01  |x%<<24,15<<24)..|
00002430  91 23 f2 66 65 28 6d 61  69 6e 25 2c 34 38 2c 67  |.#.fe(main%,48,g|
00002440  74 65 78 74 25 3c 3c 32  34 2c 31 35 3c 3c 32 34  |text%<<24,15<<24|
00002450  29 0d 01 92 23 f2 66 65  28 6d 61 69 6e 25 2c 34  |)...#.fe(main%,4|
00002460  39 2c 67 74 65 78 74 25  3c 3c 32 34 2c 31 35 3c  |9,gtext%<<24,15<|
00002470  3c 32 34 29 0d 01 93 21  f2 66 65 28 6d 61 69 6e  |<24)...!.fe(main|
00002480  25 2c 35 30 2c 74 65 78  25 3c 3c 32 34 2c 31 35  |%,50,tex%<<24,15|
00002490  3c 3c 32 34 29 0d 01 94  21 f2 66 65 28 6d 61 69  |<<24)...!.fe(mai|
000024a0  6e 25 2c 35 31 2c 74 65  78 25 3c 3c 32 34 2c 31  |n%,51,tex%<<24,1|
000024b0  35 3c 3c 32 34 29 0d 01  95 05 e1 0d 01 96 05 3a  |5<<24).........:|
000024c0  0d 01 97 10 dd 20 f2 63  63 28 67 72 65 79 25 29  |..... .cc(grey%)|
000024d0  0d 01 98 20 f2 66 65 28  6d 61 69 6e 25 2c 30 2c  |... .fe(main%,0,|
000024e0  67 72 65 79 25 3c 3c 32  32 2c 31 3c 3c 32 32 29  |grey%<<22,1<<22)|
000024f0  0d 01 99 05 e1 0d 01 9a  05 3a 0d 01 9b 14 dd 20  |.........:..... |
00002500  a4 72 28 6d 6f 64 65 25  2c 76 61 72 25 29 0d 01  |.r(mode%,var%)..|
00002510  9c 0d ea 20 72 65 73 75  6c 74 25 0d 01 9d 27 c8  |... result%...'.|
00002520  99 20 26 30 30 30 30 30  30 33 35 2c 6d 6f 64 65  |. &00000035,mode|
00002530  25 2c 76 61 72 25 20 b8  20 2c 2c 72 65 73 75 6c  |%,var% . ,,resul|
00002540  74 25 0d 01 9e 0c 3d 72  65 73 75 6c 74 25 0d 01  |t%....=result%..|
00002550  9f 05 3a 0d 01 a0 23 dd  20 f2 6b 61 28 71 75 65  |..:...#. .ka(que|
00002560  73 74 24 2c 62 75 74 31  24 2c 62 75 74 30 24 2c  |st$,but1$,but0$,|
00002570  74 79 70 65 25 29 0d 01  a1 0b ea 20 77 25 2c 68  |type%)..... w%,h|
00002580  25 0d 01 a2 07 ef 20 37  0d 01 a3 18 24 61 73 6b  |%..... 7....$ask|
00002590  71 75 65 73 74 69 6f 6e  25 3d 71 75 65 73 74 24  |question%=quest$|
000025a0  0d 01 a4 16 24 61 73 6b  62 75 74 74 6f 6e 30 25  |....$askbutton0%|
000025b0  3d 62 75 74 31 24 0d 01  a5 16 24 61 73 6b 62 75  |=but1$....$askbu|
000025c0  74 74 6f 6e 31 25 3d 62  75 74 30 24 0d 01 a6 12  |tton1%=but0$....|
000025d0  61 73 6b 74 79 70 65 25  3d 74 79 70 65 25 0d 01  |asktype%=type%..|
000025e0  a7 1d c8 99 20 26 30 30  30 34 30 30 44 33 2c 2c  |.... &000400D3,,|
000025f0  62 6c 6f 63 6b 25 2b 31  30 30 30 0d 01 a8 0d f2  |block%+1000.....|
00002600  6d 64 28 61 73 6b 25 29  0d 01 a9 20 c8 99 20 26  |md(ask%)... .. &|
00002610  30 30 30 34 30 30 44 32  2c 61 73 6b 25 2c 2d 31  |000400D2,ask%,-1|
00002620  2c 30 2c 30 2c 30 2c 30  0d 01 aa 18 c8 99 20 26  |,0,0,0,0...... &|
00002630  30 30 30 34 30 30 45 30  2c 2c 62 6c 6f 63 6b 25  |000400E0,,block%|
00002640  0d 01 ab 19 77 25 3d 62  6c 6f 63 6b 25 21 31 32  |....w%=block%!12|
00002650  2d 62 6c 6f 63 6b 25 21  34 0d 01 ac 19 68 25 3d  |-block%!4....h%=|
00002660  62 6c 6f 63 6b 25 21 31  36 2d 62 6c 6f 63 6b 25  |block%!16-block%|
00002670  21 38 0d 01 ad 24 c8 97  20 b8 20 62 6c 6f 63 6b  |!8...$.. . block|
00002680  25 21 34 2b 77 25 2f 32  2c 62 6c 6f 63 6b 25 21  |%!4+w%/2,block%!|
00002690  38 2b 68 25 2f 32 0d 01  ae 2d c8 97 20 c8 93 20  |8+h%/2...-.. .. |
000026a0  62 6c 6f 63 6b 25 21 34  2c 62 6c 6f 63 6b 25 21  |block%!4,block%!|
000026b0  38 2c 77 25 2d 78 70 69  78 25 2c 68 25 2d 79 70  |8,w%-xpix%,h%-yp|
000026c0  69 78 25 0d 01 af 11 21  62 6c 6f 63 6b 25 3d 65  |ix%....!block%=e|
000026d0  64 69 74 25 0d 01 b0 10  77 25 3d 64 72 61 67 74  |dit%....w%=dragt|
000026e0  79 70 65 25 0d 01 b1 10  64 72 61 67 74 79 70 65  |ype%....dragtype|
000026f0  25 3d 2d 31 0d 01 b2 07  f2 6e 63 0d 01 b3 10 64  |%=-1.....nc....d|
00002700  72 61 67 74 79 70 65 25  3d 77 25 0d 01 b4 05 e1  |ragtype%=w%.....|
00002710  0d 01 b5 05 3a 0d 01 b6  12 dd 20 f2 77 64 28 72  |....:..... .wd(r|
00002720  65 70 6f 72 74 24 29 0d  01 b7 0b ea 20 77 25 2c  |eport$)..... w%,|
00002730  68 25 0d 01 b8 07 ef 20  37 0d 01 b9 11 24 72 65  |h%..... 7....$re|
00002740  70 25 3d 72 65 70 6f 72  74 24 0d 01 ba 1d c8 99  |p%=report$......|
00002750  20 26 30 30 30 34 30 30  44 33 2c 2c 62 6c 6f 63  | &000400D3,,bloc|
00002760  6b 25 2b 31 30 30 30 0d  01 bb 10 f2 6d 64 28 72  |k%+1000.....md(r|
00002770  65 70 6f 72 74 25 29 0d  01 bc 23 c8 99 20 26 30  |eport%)...#.. &0|
00002780  30 30 34 30 30 44 32 2c  72 65 70 6f 72 74 25 2c  |00400D2,report%,|
00002790  2d 31 2c 30 2c 30 2c 30  2c 30 0d 01 bd 18 c8 99  |-1,0,0,0,0......|
000027a0  20 26 30 30 30 34 30 30  45 30 2c 2c 62 6c 6f 63  | &000400E0,,bloc|
000027b0  6b 25 0d 01 be 19 77 25  3d 62 6c 6f 63 6b 25 21  |k%....w%=block%!|
000027c0  31 32 2d 62 6c 6f 63 6b  25 21 34 0d 01 bf 19 68  |12-block%!4....h|
000027d0  25 3d 62 6c 6f 63 6b 25  21 31 36 2d 62 6c 6f 63  |%=block%!16-bloc|
000027e0  6b 25 21 38 0d 01 c0 24  c8 97 20 b8 20 62 6c 6f  |k%!8...$.. . blo|
000027f0  63 6b 25 21 34 2b 77 25  2f 32 2c 62 6c 6f 63 6b  |ck%!4+w%/2,block|
00002800  25 21 38 2b 68 25 2f 32  0d 01 c1 2d c8 97 20 c8  |%!8+h%/2...-.. .|
00002810  93 20 62 6c 6f 63 6b 25  21 34 2c 62 6c 6f 63 6b  |. block%!4,block|
00002820  25 21 38 2c 77 25 2d 78  70 69 78 25 2c 68 25 2d  |%!8,w%-xpix%,h%-|
00002830  79 70 69 78 25 0d 01 c2  11 21 62 6c 6f 63 6b 25  |ypix%....!block%|
00002840  3d 65 64 69 74 25 0d 01  c3 10 77 25 3d 64 72 61  |=edit%....w%=dra|
00002850  67 74 79 70 65 25 0d 01  c4 10 64 72 61 67 74 79  |gtype%....dragty|
00002860  70 65 25 3d 2d 31 0d 01  c5 07 f2 6e 63 0d 01 c6  |pe%=-1.....nc...|
00002870  10 64 72 61 67 74 79 70  65 25 3d 77 25 0d 01 c7  |.dragtype%=w%...|
00002880  05 e1 0d 01 c8 05 3a 0d  01 c9 09 dd 20 f2 73 62  |......:..... .sb|
00002890  0d 01 ca 0d ea 20 61 6e  73 77 65 72 25 0d 01 cb  |..... answer%...|
000028a0  0d 21 62 6c 6f 63 6b 25  3d 9f 0d 01 cc 2e 24 28  |.!block%=.....$(|
000028b0  62 6c 6f 63 6b 25 2b 34  29 3d f6 24 2b 22 20 28  |block%+4)=.$+" (|
000028c0  45 72 72 6f 72 20 63 6f  64 65 20 22 2b c3 28 9e  |Error code "+.(.|
000028d0  29 2b 22 29 22 2b bd 30  0d 01 cd 2e c8 99 26 30  |)+")"+.0......&0|
000028e0  30 30 34 30 30 44 46 2c  62 6c 6f 63 6b 25 2c 33  |00400DF,block%,3|
000028f0  2c 22 45 61 73 79 4b 6e  69 74 22 20 b8 20 2c 61  |,"EasyKnit" . ,a|
00002900  6e 73 77 65 72 25 0d 01  ce 21 e7 20 61 6e 73 77  |nswer%...!. answ|
00002910  65 72 25 3d 32 20 8c 20  c8 99 20 26 30 30 30 34  |er%=2 . .. &0004|
00002920  30 30 44 44 3a 20 e0 0d  01 cf 05 e1 0d 01 d0 05  |00DD: ..........|
00002930  3a 0d 01 d1 1c dd 20 f2  66 65 28 77 68 61 6e 25  |:..... .fe(whan%|
00002940  2c 69 63 6f 6e 25 2c 65  25 2c 63 25 29 0d 01 d2  |,icon%,e%,c%)...|
00002950  25 62 6c 6f 63 6b 25 21  39 30 30 3d 77 68 61 6e  |%block%!900=whan|
00002960  25 3a 62 6c 6f 63 6b 25  21 39 30 34 3d 69 63 6f  |%:block%!904=ico|
00002970  6e 25 0d 01 d3 1f 62 6c  6f 63 6b 25 21 39 30 38  |n%....block%!908|
00002980  3d 65 25 3a 62 6c 6f 63  6b 25 21 39 31 32 3d 63  |=e%:block%!912=c|
00002990  25 0d 01 d4 22 c8 99 20  77 69 6d 70 5f 73 65 74  |%...".. wimp_set|
000029a0  69 73 74 61 74 65 25 2c  2c 62 6c 6f 63 6b 25 2b  |istate%,,block%+|
000029b0  39 30 30 0d 01 d5 05 e1  0d 01 d6 05 3a 0d 01 d7  |900.........:...|
000029c0  1d dd 20 f2 6f 61 28 77  68 61 6e 25 2c 69 63 6f  |.. .oa(whan%,ico|
000029d0  6e 25 2c 69 6e 64 65 78  25 29 0d 01 d8 2c c8 99  |n%,index%)...,..|
000029e0  20 26 30 30 30 34 30 30  44 32 2c 77 68 61 6e 25  | &000400D2,whan%|
000029f0  2c 69 63 6f 6e 25 2c 2d  31 2c 2d 31 2c 2d 31 2c  |,icon%,-1,-1,-1,|
00002a00  69 6e 64 65 78 25 0d 01  d9 05 e1 0d 01 da 05 3a  |index%.........:|
00002a10  0d 01 db 09 dd 20 f2 78  62 0d 01 dc 17 c8 99 20  |..... .xb...... |
00002a20  26 30 30 30 34 30 30 44  33 2c 2c 63 61 72 62 25  |&000400D3,,carb%|
00002a30  0d 01 dd 05 e1 0d 01 de  05 3a 0d 01 df 15 dd 20  |.........:..... |
00002a40  a4 6c 28 77 68 61 6e 25  2c 69 63 6f 6e 25 29 0d  |.l(whan%,icon%).|
00002a50  01 e0 30 62 6c 6f 63 6b  25 21 28 30 2b 31 30 32  |..0block%!(0+102|
00002a60  34 29 3d 77 68 61 6e 25  3a 20 62 6c 6f 63 6b 25  |4)=whan%: block%|
00002a70  21 28 34 2b 31 30 32 34  29 3d 69 63 6f 6e 25 0d  |!(4+1024)=icon%.|
00002a80  01 e1 1d c8 99 20 26 30  30 30 34 30 30 43 45 2c  |..... &000400CE,|
00002a90  2c 62 6c 6f 63 6b 25 2b  31 30 32 34 0d 01 e2 24  |,block%+1024...$|
00002aa0  3d 28 28 62 6c 6f 63 6b  25 21 28 32 34 2b 31 30  |=((block%!(24+10|
00002ab0  32 34 29 20 80 20 31 3c  3c 32 31 29 3c 3e 30 29  |24) . 1<<21)<>0)|
00002ac0  0d 01 e3 05 3a 0d 01 e4  15 dd 20 a4 6d 28 77 68  |....:..... .m(wh|
00002ad0  61 6e 25 2c 69 63 6f 6e  25 29 0d 01 e5 30 62 6c  |an%,icon%)...0bl|
00002ae0  6f 63 6b 25 21 28 30 2b  31 30 32 34 29 3d 77 68  |ock%!(0+1024)=wh|
00002af0  61 6e 25 3a 20 62 6c 6f  63 6b 25 21 28 34 2b 31  |an%: block%!(4+1|
00002b00  30 32 34 29 3d 69 63 6f  6e 25 0d 01 e6 1d c8 99  |024)=icon%......|
00002b10  20 26 30 30 30 34 30 30  43 45 2c 2c 62 6c 6f 63  | &000400CE,,bloc|
00002b20  6b 25 2b 31 30 32 34 0d  01 e7 24 3d 28 28 62 6c  |k%+1024...$=((bl|
00002b30  6f 63 6b 25 21 28 32 34  2b 31 30 32 34 29 20 80  |ock%!(24+1024) .|
00002b40  20 31 3c 3c 32 32 29 3c  3e 30 29 0d 01 e8 05 3a  | 1<<22)<>0)....:|
00002b50  0d 01 e9 09 dd 20 f2 71  64 0d 01 ea 0d ea 20 72  |..... .qd..... r|
00002b60  65 61 73 6f 6e 25 0d 01  eb 14 e7 20 74 69 74 6c  |eason%..... titl|
00002b70  65 6f 70 65 6e 25 3d b9  20 8c 0d 01 ec 30 c8 99  |eopen%=. ....0..|
00002b80  20 26 30 30 30 34 30 30  45 31 2c 6d 61 73 6b 25  | &000400E1,mask%|
00002b90  2c 62 6c 6f 63 6b 25 2c  74 69 74 74 69 6d 65 25  |,block%,tittime%|
00002ba0  20 b8 20 72 65 61 73 6f  6e 25 0d 01 ed 05 cc 0d  | . reason%......|
00002bb0  01 ee 27 c8 99 20 26 30  30 30 34 30 30 43 37 2c  |..'.. &000400C7,|
00002bc0  6d 61 73 6b 25 2c 62 6c  6f 63 6b 25 20 b8 20 72  |mask%,block% . r|
00002bd0  65 61 73 6f 6e 25 0d 01  ef 05 cd 0d 01 f0 10 c8  |eason%..........|
00002be0  8e 20 72 65 61 73 6f 6e  25 20 ca 0d 01 f1 0b c9  |. reason% ......|
00002bf0  20 30 3a f2 6b 64 0d 01  f2 0b c9 20 31 3a f2 75  | 0:.kd..... 1:.u|
00002c00  64 0d 01 f3 0b c9 20 32  3a f2 6c 64 0d 01 f4 14  |d..... 2:.ld....|
00002c10  c9 20 33 3a f2 7a 61 28  21 62 6c 6f 63 6b 25 29  |. 3:.za(!block%)|
00002c20  0d 01 f5 0b c9 20 34 3a  f2 6e 63 0d 01 f6 0b c9  |..... 4:.nc.....|
00002c30  20 35 3a f2 72 62 0d 01  f7 0b c9 20 36 3a f2 69  | 5:.rb..... 6:.i|
00002c40  64 0d 01 f8 0b c9 20 37  3a f2 6b 62 0d 01 f9 0b  |d..... 7:.kb....|
00002c50  c9 20 38 3a f2 6d 63 0d  01 fa 0b c9 20 39 3a f2  |. 8:.mc..... 9:.|
00002c60  66 64 0d 01 fb 0f c9 20  31 37 2c 31 38 3a f2 67  |fd..... 17,18:.g|
00002c70  64 0d 01 fc 21 c9 20 31  39 3a c8 99 20 26 30 30  |d...!. 19:.. &00|
00002c80  30 30 30 30 30 38 2c 36  2c 62 6c 6f 63 6b 25 2b  |000008,6,block%+|
00002c90  34 34 0d 01 fd 2f 85 2c  32 35 35 2c 22 44 61 74  |44.../.,255,"Dat|
00002ca0  61 20 74 72 61 6e 73 66  65 72 20 66 61 69 6c 65  |a transfer faile|
00002cb0  64 3a 20 52 65 63 65 69  76 65 72 20 64 69 65 64  |d: Receiver died|
00002cc0  22 0d 01 fe 05 cb 0d 01  ff 05 e1 0d 02 00 05 3a  |"..............:|
00002cd0  0d 02 01 09 dd 20 f2 6b  64 0d 02 02 31 ea 20 6d  |..... .kd...1. m|
00002ce0  78 25 2c 6d 79 25 2c 6f  72 78 25 2c 6f 72 79 25  |x%,my%,orx%,ory%|
00002cf0  2c 77 78 25 2c 77 79 25  2c 73 74 69 74 63 68 25  |,wx%,wy%,stitch%|
00002d00  2c 72 6f 77 25 2c 6e 75  6d 25 0d 02 03 14 e7 20  |,row%,num%..... |
00002d10  74 69 74 6c 65 6f 70 65  6e 25 3d b9 20 8c 0d 02  |titleopen%=. ...|
00002d20  04 07 f2 61 62 0d 02 05  05 cc 0d 02 06 11 e7 20  |...ab.......... |
00002d30  63 6f 6f 72 64 73 25 3d  b9 20 8c 0d 02 07 04 0d  |coords%=. ......|
00002d40  02 08 18 c8 99 20 26 30  30 30 34 30 30 43 46 2c  |..... &000400CF,|
00002d50  2c 62 6c 6f 63 6b 25 0d  02 09 1e 6d 78 25 3d 62  |,block%....mx%=b|
00002d60  6c 6f 63 6b 25 21 30 3a  20 6d 79 25 3d 62 6c 6f  |lock%!0: my%=blo|
00002d70  63 6b 25 21 34 0d 02 0a  11 21 62 6c 6f 63 6b 25  |ck%!4....!block%|
00002d80  3d 65 64 69 74 25 0d 02  0b 17 c8 99 26 30 30 30  |=edit%......&000|
00002d90  34 30 30 43 42 2c 2c 62  6c 6f 63 6b 25 0d 02 0c  |400CB,,block%...|
00002da0  1d 6f 72 78 25 3d 28 62  6c 6f 63 6b 25 21 34 2d  |.orx%=(block%!4-|
00002db0  62 6c 6f 63 6b 25 21 32  30 29 0d 02 0d 1e 6f 72  |block%!20)....or|
00002dc0  79 25 3d 28 62 6c 6f 63  6b 25 21 31 36 2d 62 6c  |y%=(block%!16-bl|
00002dd0  6f 63 6b 25 21 32 34 29  0d 02 0e 1c 77 78 25 3d  |ock%!24)....wx%=|
00002de0  28 6d 78 25 2d 6f 72 78  25 2d 72 75 6c 65 73 69  |(mx%-orx%-rulesi|
00002df0  7a 65 25 29 0d 02 0f 24  77 79 25 3d 28 6d 79 25  |ze%)...$wy%=(my%|
00002e00  2d 6f 72 79 25 2d 72 75  6c 65 73 69 7a 65 25 2b  |-ory%-rulesize%+|
00002e10  65 64 69 74 68 74 25 29  0d 02 10 16 73 74 69 74  |editht%)....stit|
00002e20  63 68 25 3d 77 78 25 2f  73 74 77 25 2b 31 0d 02  |ch%=wx%/stw%+1..|
00002e30  11 13 72 6f 77 25 3d 77  79 25 2f 72 68 74 25 2b  |..row%=wy%/rht%+|
00002e40  31 0d 02 12 44 e7 20 73  74 69 74 63 68 25 3e 30  |1...D. stitch%>0|
00002e50  20 80 20 73 74 69 74 63  68 25 3c 3d 67 72 69 64  | . stitch%<=grid|
00002e60  77 69 64 74 68 25 20 80  20 72 6f 77 25 3e 30 20  |width% . row%>0 |
00002e70  80 20 72 6f 77 25 3c 3d  67 72 69 64 68 65 69 67  |. row%<=gridheig|
00002e80  68 74 25 20 8c 0d 02 13  2b e7 20 72 6f 77 25 3c  |ht% ....+. row%<|
00002e90  3e 6f 6c 64 72 6f 77 25  20 84 20 73 74 69 74 63  |>oldrow% . stitc|
00002ea0  68 25 3c 3e 6f 6c 64 73  74 69 74 63 68 25 20 8c  |h%<>oldstitch% .|
00002eb0  0d 02 14 10 c8 8e 20 6d  61 6e 6e 65 72 25 20 ca  |...... manner% .|
00002ec0  0d 02 15 09 c9 20 30 2c  31 0d 02 16 12 24 74 72  |..... 0,1....$tr|
00002ed0  6f 77 25 3d c3 28 72 6f  77 25 29 0d 02 17 18 24  |ow%=.(row%)....$|
00002ee0  74 73 74 69 74 63 68 25  3d c3 28 73 74 69 74 63  |tstitch%=.(stitc|
00002ef0  68 25 29 0d 02 18 18 f2  66 65 28 74 62 61 72 64  |h%).....fe(tbard|
00002f00  69 73 70 25 2c 33 2c 30  2c 30 29 0d 02 19 18 f2  |isp%,3,0,0).....|
00002f10  66 65 28 74 62 61 72 64  69 73 70 25 2c 34 2c 30  |fe(tbardisp%,4,0|
00002f20  2c 30 29 0d 02 1a 24 6f  6c 64 72 6f 77 25 3d 72  |,0)...$oldrow%=r|
00002f30  6f 77 25 3a 20 6f 6c 64  73 74 69 74 63 68 25 3d  |ow%: oldstitch%=|
00002f40  73 74 69 74 63 68 25 0d  02 1b 07 c9 20 32 0d 02  |stitch%..... 2..|
00002f50  1c 12 24 74 72 6f 77 25  3d c3 28 72 6f 77 25 29  |..$trow%=.(row%)|
00002f60  0d 02 1d 55 e7 20 73 74  69 74 63 68 25 3c 3d 67  |...U. stitch%<=g|
00002f70  72 69 64 77 69 64 74 68  25 2f 32 20 8c 20 6e 75  |ridwidth%/2 . nu|
00002f80  6d 25 3d 67 72 69 64 77  69 64 74 68 25 2f 32 2d  |m%=gridwidth%/2-|
00002f90  73 74 69 74 63 68 25 2b  31 20 8b 20 6e 75 6d 25  |stitch%+1 . num%|
00002fa0  3d 73 74 69 74 63 68 25  2d 67 72 69 64 77 69 64  |=stitch%-gridwid|
00002fb0  74 68 25 2f 32 0d 02 1e  15 24 74 73 74 69 74 63  |th%/2....$tstitc|
00002fc0  68 25 3d c3 28 6e 75 6d  25 29 0d 02 1f 18 f2 66  |h%=.(num%).....f|
00002fd0  65 28 74 62 61 72 64 69  73 70 25 2c 33 2c 30 2c  |e(tbardisp%,3,0,|
00002fe0  30 29 0d 02 20 18 f2 66  65 28 74 62 61 72 64 69  |0).. ..fe(tbardi|
00002ff0  73 70 25 2c 34 2c 30 2c  30 29 0d 02 21 24 6f 6c  |sp%,4,0,0)..!$ol|
00003000  64 72 6f 77 25 3d 72 6f  77 25 3a 20 6f 6c 64 73  |drow%=row%: olds|
00003010  74 69 74 63 68 25 3d 73  74 69 74 63 68 25 0d 02  |titch%=stitch%..|
00003020  22 05 cb 0d 02 23 05 cd  0d 02 24 05 cc 0d 02 25  |"....#....$....%|
00003030  0d 24 74 72 6f 77 25 3d  22 22 0d 02 26 10 24 74  |.$trow%=""..&.$t|
00003040  73 74 69 74 63 68 25 3d  22 22 0d 02 27 1d 6f 6c  |stitch%=""..'.ol|
00003050  64 72 6f 77 25 3d 2d 31  3a 20 6f 6c 64 73 74 69  |drow%=-1: oldsti|
00003060  74 63 68 25 3d 2d 31 0d  02 28 18 f2 66 65 28 74  |tch%=-1..(..fe(t|
00003070  62 61 72 64 69 73 70 25  2c 33 2c 30 2c 30 29 0d  |bardisp%,3,0,0).|
00003080  02 29 18 f2 66 65 28 74  62 61 72 64 69 73 70 25  |.)..fe(tbardisp%|
00003090  2c 34 2c 30 2c 30 29 0d  02 2a 05 cd 0d 02 2b 21  |,4,0,0)..*....+!|
000030a0  e7 20 64 72 61 67 74 79  70 65 25 3d 31 20 84 20  |. dragtype%=1 . |
000030b0  64 72 61 67 74 79 70 65  25 3d 32 20 8c 0d 02 2c  |dragtype%=2 ...,|
000030c0  04 0d 02 2d 2f e7 20 a6  28 2d 31 31 33 29 3d b9  |...-/. .(-113)=.|
000030d0  20 8c 20 c8 99 20 26 30  30 30 34 30 30 44 30 2c  | . .. &000400D0,|
000030e0  2c 2d 31 3a 20 64 72 61  67 74 79 70 65 25 3d 30  |,-1: dragtype%=0|
000030f0  0d 02 2e 05 cd 0d 02 2f  05 cd 0d 02 30 11 e7 20  |......./....0.. |
00003100  69 6e 74 62 61 72 25 3d  b9 20 8c 0d 02 31 04 0d  |intbar%=. ...1..|
00003110  02 32 18 c8 99 20 26 30  30 30 34 30 30 43 46 2c  |.2... &000400CF,|
00003120  2c 62 6c 6f 63 6b 25 0d  02 33 1e 6d 78 25 3d 62  |,block%..3.mx%=b|
00003130  6c 6f 63 6b 25 21 30 3a  20 6d 79 25 3d 62 6c 6f  |lock%!0: my%=blo|
00003140  63 6b 25 21 34 0d 02 34  11 21 62 6c 6f 63 6b 25  |ck%!4..4.!block%|
00003150  3d 74 62 61 72 25 0d 02  35 17 c8 99 26 30 30 30  |=tbar%..5...&000|
00003160  34 30 30 43 42 2c 2c 62  6c 6f 63 6b 25 0d 02 36  |400CB,,block%..6|
00003170  17 e7 20 6d 78 25 3c 62  6c 6f 63 6b 25 21 34 2b  |.. mx%<block%!4+|
00003180  33 32 20 8c 0d 02 37 13  e7 20 62 6c 6f 63 6b 25  |32 ...7.. block%|
00003190  21 32 30 3e 30 20 8c 0d  02 38 24 62 6c 6f 63 6b  |!20>0 ...8$block|
000031a0  25 21 32 30 2d 3d 32 2d  28 62 6c 6f 63 6b 25 21  |%!20-=2-(block%!|
000031b0  34 2b 31 36 3e 6d 78 25  29 2a 32 0d 02 39 1f e7  |4+16>mx%)*2..9..|
000031c0  20 62 6c 6f 63 6b 25 21  32 30 3c 30 20 8c 20 62  | block%!20<0 . b|
000031d0  6c 6f 63 6b 25 21 32 30  3d 30 0d 02 3a 17 c8 99  |lock%!20=0..:...|
000031e0  26 30 30 30 34 30 30 43  35 2c 2c 62 6c 6f 63 6b  |&000400C5,,block|
000031f0  25 0d 02 3b 05 cd 0d 02  3c 05 cd 0d 02 3d 18 e7  |%..;....<....=..|
00003200  20 6d 78 25 3e 62 6c 6f  63 6b 25 21 31 32 2d 33  | mx%>block%!12-3|
00003210  32 20 8c 0d 02 3e 2d e7  20 62 6c 6f 63 6b 25 21  |2 ...>-. block%!|
00003220  32 30 3c 74 62 61 72 77  25 2d 28 62 6c 6f 63 6b  |20<tbarw%-(block|
00003230  25 21 31 32 2d 62 6c 6f  63 6b 25 21 34 29 20 8c  |%!12-block%!4) .|
00003240  0d 02 3f 25 62 6c 6f 63  6b 25 21 32 30 2b 3d 32  |..?%block%!20+=2|
00003250  2d 28 62 6c 6f 63 6b 25  21 31 32 2d 6d 78 25 3c  |-(block%!12-mx%<|
00003260  31 36 29 2a 32 0d 02 40  53 e7 20 62 6c 6f 63 6b  |16)*2..@S. block|
00003270  25 21 32 30 3e 74 62 61  72 77 25 2d 28 62 6c 6f  |%!20>tbarw%-(blo|
00003280  63 6b 25 21 31 32 2d 62  6c 6f 63 6b 25 21 34 29  |ck%!12-block%!4)|
00003290  20 8c 20 62 6c 6f 63 6b  25 21 32 30 3d 74 62 61  | . block%!20=tba|
000032a0  72 77 25 2d 28 62 6c 6f  63 6b 25 21 31 32 2d 62  |rw%-(block%!12-b|
000032b0  6c 6f 63 6b 25 21 34 29  0d 02 41 17 c8 99 26 30  |lock%!4)..A...&0|
000032c0  30 30 34 30 30 43 35 2c  2c 62 6c 6f 63 6b 25 0d  |00400C5,,block%.|
000032d0  02 42 05 cd 0d 02 43 05  cd 0d 02 44 05 cd 0d 02  |.B....C....D....|
000032e0  45 05 cd 0d 02 46 05 e1  0d 02 47 05 3a 0d 02 48  |E....F....G.:..H|
000032f0  09 dd 20 f2 75 64 0d 02  49 32 ea 20 6d 6f 72 65  |.. .ud..I2. more|
00003300  25 2c 77 78 25 2c 77 79  25 2c 77 25 2c 68 25 2c  |%,wx%,wy%,w%,h%,|
00003310  78 78 25 2c 72 6f 77 25  2c 73 74 69 74 63 68 25  |xx%,row%,stitch%|
00003320  2c 72 68 25 2c 73 77 25  0d 02 4a 49 ea 20 6d 69  |,rh%,sw%..JI. mi|
00003330  6e 78 25 2c 6d 69 6e 79  25 2c 6d 61 78 78 25 2c  |nx%,miny%,maxx%,|
00003340  6d 61 78 79 25 2c 73 6d  69 6e 78 25 2c 73 6d 61  |maxy%,sminx%,sma|
00003350  78 78 25 2c 73 6d 69 6e  79 25 2c 73 6d 61 78 79  |xx%,sminy%,smaxy|
00003360  25 2c 6d 69 6e 25 2c 6d  61 78 25 2c 78 25 2c 79  |%,min%,max%,x%,y|
00003370  25 0d 02 4b 28 ea 20 78  63 25 2c 79 63 25 2c 72  |%..K(. xc%,yc%,r|
00003380  25 2c 67 25 2c 62 25 2c  72 67 62 25 2c 63 6f 6c  |%,g%,b%,rgb%,col|
00003390  25 2c 63 6f 6c 75 6d 6e  25 0d 02 4c 42 ea 20 6d  |%,column%..LB. m|
000033a0  69 6e 72 6f 77 25 2c 6d  61 78 72 6f 77 25 2c 6d  |inrow%,maxrow%,m|
000033b0  69 6e 73 71 72 25 2c 6d  61 78 73 71 72 25 2c 6d  |insqr%,maxsqr%,m|
000033c0  69 6e 25 2c 6d 61 78 25  2c 69 25 2c 78 6c 25 2c  |in%,max%,i%,xl%,|
000033d0  78 68 25 2c 79 6c 25 2c  79 68 25 0d 02 4d 2b ea  |xh%,yl%,yh%..M+.|
000033e0  20 73 63 61 6c 65 78 2c  73 63 61 6c 65 79 2c 73  | scalex,scaley,s|
000033f0  63 6c 25 2c 6e 75 6d 25  2c 79 6d 6f 76 65 25 2c  |cl%,num%,ymove%,|
00003400  78 6d 6f 76 65 25 0d 02  4e 20 c8 99 20 26 30 30  |xmove%..N .. &00|
00003410  30 34 30 30 43 38 2c 2c  62 6c 6f 63 6b 25 20 b8  |0400C8,,block% .|
00003420  20 6d 6f 72 65 25 0d 02  4f 0c c8 95 20 6d 6f 72  | more%..O... mor|
00003430  65 25 0d 02 50 11 c8 8e  20 62 6c 6f 63 6b 25 21  |e%..P... block%!|
00003440  30 20 ca 0d 02 51 0f c9  20 73 79 6d 62 70 69 63  |0 ...Q.. symbpic|
00003450  6b 25 0d 02 52 1a 77 78  25 3d 62 6c 6f 63 6b 25  |k%..R.wx%=block%|
00003460  21 34 2d 62 6c 6f 63 6b  25 21 32 30 0d 02 53 1b  |!4-block%!20..S.|
00003470  77 79 25 3d 62 6c 6f 63  6b 25 21 31 36 2d 62 6c  |wy%=block%!16-bl|
00003480  6f 63 6b 25 21 32 34 0d  02 54 1a 6d 69 6e 78 25  |ock%!24..T.minx%|
00003490  3d 62 6c 6f 63 6b 25 21  32 38 2d 77 78 25 2b 34  |=block%!28-wx%+4|
000034a0  36 0d 02 55 1a 6d 61 78  78 25 3d 62 6c 6f 63 6b  |6..U.maxx%=block|
000034b0  25 21 33 36 2d 77 78 25  2b 34 36 0d 02 56 1a 6d  |%!36-wx%+46..V.m|
000034c0  69 6e 79 25 3d 62 6c 6f  63 6b 25 21 33 32 2d 77  |iny%=block%!32-w|
000034d0  79 25 2b 31 36 0d 02 57  1a 6d 61 78 79 25 3d 62  |y%+16..W.maxy%=b|
000034e0  6c 6f 63 6b 25 21 34 30  2d 77 79 25 2b 31 36 0d  |lock%!40-wy%+16.|
000034f0  02 58 11 6d 69 6e 25 3d  6d 69 6e 78 25 2f 37 36  |.X.min%=minx%/76|
00003500  0d 02 59 11 6d 61 78 25  3d 6d 61 78 78 25 2f 37  |..Y.max%=maxx%/7|
00003510  36 0d 02 5a 0b 6d 69 6e  25 2d 3d 31 0d 02 5b 0b  |6..Z.min%-=1..[.|
00003520  6d 61 78 25 2b 3d 31 0d  02 5c 15 e7 20 6d 61 78  |max%+=1..\.. max|
00003530  25 3e 38 20 8c 20 6d 61  78 25 3d 38 0d 02 5d 15  |%>8 . max%=8..].|
00003540  e7 20 6d 69 6e 25 3c 30  20 8c 20 6d 69 6e 25 3d  |. min%<0 . min%=|
00003550  30 0d 02 5e 1b e7 20 6d  69 6e 25 3e 6d 61 78 25  |0..^.. min%>max%|
00003560  20 8c 20 6d 69 6e 25 3d  6d 61 78 25 0d 02 5f 11  | . min%=max%.._.|
00003570  e7 20 6d 61 78 79 25 3e  2d 37 36 20 8c 0d 02 60  |. maxy%>-76 ...`|
00003580  17 74 72 61 6e 73 66 6f  72 6d 25 21 30 20 3d 32  |.transform%!0 =2|
00003590  3c 3c 31 36 0d 02 61 13  74 72 61 6e 73 66 6f 72  |<<16..a.transfor|
000035a0  6d 25 21 34 20 3d 30 0d  02 62 13 74 72 61 6e 73  |m%!4 =0..b.trans|
000035b0  66 6f 72 6d 25 21 38 20  3d 30 0d 02 63 17 74 72  |form%!8 =0..c.tr|
000035c0  61 6e 73 66 6f 72 6d 25  21 31 32 3d 32 3c 3c 31  |ansform%!12=2<<1|
000035d0  36 0d 02 64 1d 74 72 61  6e 73 66 6f 72 6d 25 21  |6..d.transform%!|
000035e0  32 30 3d 28 77 79 25 2d  37 36 29 3c 3c 38 0d 02  |20=(wy%-76)<<8..|
000035f0  65 24 e3 20 69 25 3d 73  79 6d 62 70 61 67 65 25  |e$. i%=symbpage%|
00003600  2a 39 20 b8 20 73 79 6d  62 70 61 67 65 25 2a 39  |*9 . symbpage%*9|
00003610  2b 38 0d 02 66 15 e7 20  69 25 3c 73 79 6d 62 6d  |+8..f.. i%<symbm|
00003620  61 78 25 2b 31 20 8c 0d  02 67 33 74 72 61 6e 73  |ax%+1 ...g3trans|
00003630  66 6f 72 6d 25 21 31 36  3d 28 77 78 25 2b 28 69  |form%!16=(wx%+(i|
00003640  25 2d 73 79 6d 62 70 61  67 65 25 2a 39 2b 31 29  |%-symbpage%*9+1)|
00003650  2a 37 36 2b 34 36 29 3c  3c 38 0d 02 68 4a c8 99  |*76+46)<<8..hJ..|
00003660  20 26 30 30 30 34 35 35  34 30 2c 30 2c 73 79 6d  | &00045540,0,sym|
00003670  62 70 6f 69 6e 74 25 21  28 69 25 2a 34 29 2c 73  |bpoint%!(i%*4),s|
00003680  79 6d 62 73 69 7a 65 25  21 28 69 25 2a 34 29 2c  |ymbsize%!(i%*4),|
00003690  74 72 61 6e 73 66 6f 72  6d 25 2c 62 6c 6f 63 6b  |transform%,block|
000036a0  25 2b 32 38 0d 02 69 05  cd 0d 02 6a 08 ed 20 69  |%+28..i....j.. i|
000036b0  25 0d 02 6b 05 cd 0d 02  6c 0e c9 20 63 6f 6c 70  |%..k....l.. colp|
000036c0  69 63 6b 25 0d 02 6d 1a  77 78 25 3d 62 6c 6f 63  |ick%..m.wx%=bloc|
000036d0  6b 25 21 34 2d 62 6c 6f  63 6b 25 21 32 30 0d 02  |k%!4-block%!20..|
000036e0  6e 1b 77 79 25 3d 62 6c  6f 63 6b 25 21 31 36 2d  |n.wy%=block%!16-|
000036f0  62 6c 6f 63 6b 25 21 32  34 0d 02 6f 1a 6d 69 6e  |block%!24..o.min|
00003700  78 25 3d 62 6c 6f 63 6b  25 21 32 38 2d 77 78 25  |x%=block%!28-wx%|
00003710  2d 34 30 0d 02 70 1a 6d  61 78 78 25 3d 62 6c 6f  |-40..p.maxx%=blo|
00003720  63 6b 25 21 33 36 2d 77  78 25 2d 34 30 0d 02 71  |ck%!36-wx%-40..q|
00003730  1a 6d 69 6e 79 25 3d 62  6c 6f 63 6b 25 21 33 32  |.miny%=block%!32|
00003740  2d 77 79 25 2b 34 30 0d  02 72 1a 6d 61 78 79 25  |-wy%+40..r.maxy%|
00003750  3d 62 6c 6f 63 6b 25 21  34 30 2d 77 79 25 2b 34  |=block%!40-wy%+4|
00003760  30 0d 02 73 1f 77 78 25  2b 3d 34 30 3a 20 77 79  |0..s.wx%+=40: wy|
00003770  25 2d 3d 28 34 30 2b 63  6f 6c 73 69 7a 65 25 29  |%-=(40+colsize%)|
00003780  0d 02 74 4c e7 20 6d 61  78 78 25 3e 30 20 80 20  |..tL. maxx%>0 . |
00003790  6d 69 6e 78 25 3c 31 36  2a 63 6f 6c 73 69 7a 65  |minx%<16*colsize|
000037a0  25 2b 78 70 69 78 25 20  80 20 6d 61 78 79 25 3e  |%+xpix% . maxy%>|
000037b0  2d 31 36 2a 63 6f 6c 73  69 7a 65 25 20 80 20 6d  |-16*colsize% . m|
000037c0  69 6e 79 25 3c 79 70 69  78 25 20 8c 0d 02 75 1b  |iny%<ypix% ...u.|
000037d0  6d 69 6e 72 6f 77 25 3d  2d 6d 61 78 79 25 2f 63  |minrow%=-maxy%/c|
000037e0  6f 6c 73 69 7a 65 25 0d  02 76 1d 6d 61 78 72 6f  |olsize%..v.maxro|
000037f0  77 25 3d 28 2d 6d 69 6e  79 25 2f 63 6f 6c 73 69  |w%=(-miny%/colsi|
00003800  7a 65 25 29 0d 02 77 1a  6d 69 6e 73 71 72 25 3d  |ze%)..w.minsqr%=|
00003810  6d 69 6e 78 25 2f 63 6f  6c 73 69 7a 65 25 0d 02  |minx%/colsize%..|
00003820  78 1a 6d 61 78 73 71 72  25 3d 6d 61 78 78 25 2f  |x.maxsqr%=maxx%/|
00003830  63 6f 6c 73 69 7a 65 25  0d 02 79 1b e7 20 6d 69  |colsize%..y.. mi|
00003840  6e 72 6f 77 25 3c 30 20  8c 20 6d 69 6e 72 6f 77  |nrow%<0 . minrow|
00003850  25 3d 30 0d 02 7a 1d e7  20 6d 61 78 72 6f 77 25  |%=0..z.. maxrow%|
00003860  3e 31 35 20 8c 20 6d 61  78 72 6f 77 25 3d 31 35  |>15 . maxrow%=15|
00003870  0d 02 7b 1b e7 20 6d 69  6e 73 71 72 25 3c 30 20  |..{.. minsqr%<0 |
00003880  8c 20 6d 69 6e 73 71 72  25 3d 30 0d 02 7c 1d e7  |. minsqr%=0..|..|
00003890  20 6d 61 78 73 71 72 25  3e 31 35 20 8c 20 6d 61  | maxsqr%>15 . ma|
000038a0  78 73 71 72 25 3d 31 35  0d 02 7d 27 e7 20 6d 69  |xsqr%=15..}'. mi|
000038b0  6e 73 71 72 25 3e 6d 61  78 73 71 72 25 20 8c 20  |nsqr%>maxsqr% . |
000038c0  6d 69 6e 73 71 72 25 3d  6d 61 78 73 71 72 25 0d  |minsqr%=maxsqr%.|
000038d0  02 7e 27 e7 20 6d 69 6e  72 6f 77 25 3e 6d 61 78  |.~'. minrow%>max|
000038e0  72 6f 77 25 20 8c 20 6d  69 6e 72 6f 77 25 3d 6d  |row% . minrow%=m|
000038f0  61 78 72 6f 77 25 0d 02  7f 14 c8 99 20 63 74 5f  |axrow%...... ct_|
00003900  73 65 74 67 63 6f 6c 25  2c 30 0d 02 80 35 c8 93  |setgcol%,0...5..|
00003910  20 c8 90 20 77 78 25 2c  77 79 25 2d 31 35 2a 63  | .. wx%,wy%-15*c|
00003920  6f 6c 73 69 7a 65 25 2c  31 36 2a 63 6f 6c 73 69  |olsize%,16*colsi|
00003930  7a 65 25 2c 31 36 2a 63  6f 6c 73 69 7a 65 25 0d  |ze%,16*colsize%.|
00003940  02 81 1c e3 20 72 6f 77  25 3d 6d 69 6e 72 6f 77  |.... row%=minrow|
00003950  25 20 b8 20 6d 61 78 72  6f 77 25 0d 02 82 1f e3  |% . maxrow%.....|
00003960  20 63 6f 6c 75 6d 6e 25  3d 6d 69 6e 73 71 72 25  | column%=minsqr%|
00003970  20 b8 20 6d 61 78 73 71  72 25 0d 02 83 18 63 6f  | . maxsqr%....co|
00003980  6c 25 3d 72 6f 77 25 2a  31 36 2b 63 6f 6c 75 6d  |l%=row%*16+colum|
00003990  6e 25 0d 02 84 10 72 25  3d 63 6f 6c 25 20 80 20  |n%....r%=col% . |
000039a0  31 35 0d 02 85 22 67 25  3d 28 28 63 6f 6c 25 20  |15..."g%=((col% |
000039b0  80 20 34 38 29 3e 3e 32  29 20 84 20 63 6f 6c 25  |. 48)>>2) . col%|
000039c0  20 80 20 33 0d 02 86 21  62 25 3d 28 63 6f 6c 25  | . 3...!b%=(col%|
000039d0  20 80 20 31 39 32 29 3e  3e 34 20 84 20 63 6f 6c  | . 192)>>4 . col|
000039e0  25 20 80 20 33 0d 02 87  22 72 67 62 25 3d 28 62  |% . 3..."rgb%=(b|
000039f0  25 3c 3c 32 34 29 84 28  67 25 3c 3c 31 36 29 84  |%<<24).(g%<<16).|
00003a00  28 72 25 3c 3c 38 29 0d  02 88 19 72 67 62 25 3d  |(r%<<8)....rgb%=|
00003a10  72 67 62 25 20 84 20 28  72 67 62 25 3c 3c 34 29  |rgb% . (rgb%<<4)|
00003a20  0d 02 89 17 c8 99 20 63  74 5f 73 65 74 67 63 6f  |...... ct_setgco|
00003a30  6c 25 2c 72 67 62 25 0d  02 8a 5c c8 93 20 c8 90  |l%,rgb%...\.. ..|
00003a40  20 77 78 25 2b 63 6f 6c  75 6d 6e 25 2a 63 6f 6c  | wx%+column%*col|
00003a50  73 69 7a 65 25 2b 78 70  69 78 25 2c 77 79 25 2d  |size%+xpix%,wy%-|
00003a60  72 6f 77 25 2a 63 6f 6c  73 69 7a 65 25 2b 79 70  |row%*colsize%+yp|
00003a70  69 78 25 2c 63 6f 6c 73  69 7a 65 25 2d 78 70 69  |ix%,colsize%-xpi|
00003a80  78 32 25 2c 63 6f 6c 73  69 7a 65 25 2d 79 70 69  |x2%,colsize%-ypi|
00003a90  78 32 25 0d 02 8b 0d ed  20 63 6f 6c 75 6d 6e 25  |x2%..... column%|
00003aa0  0d 02 8c 0a ed 20 72 6f  77 25 0d 02 8d 05 cd 0d  |..... row%......|
00003ab0  02 8e 10 c9 20 63 6f 6c  63 68 6f 6f 73 65 25 0d  |.... colchoose%.|
00003ac0  02 8f 1a 77 78 25 3d 62  6c 6f 63 6b 25 21 34 2d  |...wx%=block%!4-|
00003ad0  62 6c 6f 63 6b 25 21 32  30 0d 02 90 1b 77 79 25  |block%!20....wy%|
00003ae0  3d 62 6c 6f 63 6b 25 21  31 36 2d 62 6c 6f 63 6b  |=block%!16-block|
00003af0  25 21 32 34 0d 02 91 17  6d 69 6e 78 25 3d 62 6c  |%!24....minx%=bl|
00003b00  6f 63 6b 25 21 32 38 2d  77 78 25 0d 02 92 17 6d  |ock%!28-wx%....m|
00003b10  61 78 78 25 3d 62 6c 6f  63 6b 25 21 33 36 2d 77  |axx%=block%!36-w|
00003b20  78 25 0d 02 93 1a 6d 69  6e 79 25 3d 62 6c 6f 63  |x%....miny%=bloc|
00003b30  6b 25 21 33 32 2d 77 79  25 2b 32 32 0d 02 94 1a  |k%!32-wy%+22....|
00003b40  6d 61 78 79 25 3d 62 6c  6f 63 6b 25 21 34 30 2d  |maxy%=block%!40-|
00003b50  77 79 25 2b 32 32 0d 02  95 11 6d 69 6e 25 3d 6d  |wy%+22....min%=m|
00003b60  69 6e 79 25 2f 37 36 0d  02 96 11 6d 61 78 25 3d  |iny%/76....max%=|
00003b70  6d 61 78 79 25 2f 37 36  0d 02 97 0b 6d 61 78 25  |maxy%/76....max%|
00003b80  2b 3d 31 0d 02 98 15 e7  20 6d 61 78 25 3e 30 20  |+=1..... max%>0 |
00003b90  8c 20 6d 61 78 25 3d 30  0d 02 99 2b e7 20 6d 69  |. max%=0...+. mi|
00003ba0  6e 25 3c 2d 28 6d 61 78  63 6f 6c 25 2b 31 29 20  |n%<-(maxcol%+1) |
00003bb0  8c 20 6d 69 6e 25 3d 2d  28 6d 61 78 63 6f 6c 25  |. min%=-(maxcol%|
00003bc0  2b 31 29 0d 02 9a 10 e7  20 6d 69 6e 78 25 3c 39  |+1)..... minx%<9|
00003bd0  30 20 8c 0d 02 9b 14 e3  20 69 25 3d 6d 69 6e 25  |0 ...... i%=min%|
00003be0  20 b8 20 6d 61 78 25 0d  02 9c 26 c8 99 20 63 74  | . max%...&.. ct|
00003bf0  5f 73 65 74 67 63 6f 6c  25 2c 70 61 6c 74 61 62  |_setgcol%,paltab|
00003c00  6c 65 25 21 28 2d 69 25  2a 34 2d 34 29 0d 02 9d  |le%!(-i%*4-4)...|
00003c10  2a c8 93 20 c8 90 20 32  32 2b 77 78 25 2c 28 69  |*.. .. 22+wx%,(i|
00003c20  25 2d 31 29 2a 37 36 2d  32 34 2d 36 34 2b 77 79  |%-1)*76-24-64+wy|
00003c30  25 2c 36 34 2c 36 30 0d  02 9e 08 ed 20 69 25 0d  |%,64,60..... i%.|
00003c40  02 9f 05 cd 0d 02 a0 0e  c9 20 63 6f 6c 70 61 6e  |......... colpan|
00003c50  65 25 0d 02 a1 1a 77 78  25 3d 62 6c 6f 63 6b 25  |e%....wx%=block%|
00003c60  21 34 2d 62 6c 6f 63 6b  25 21 32 30 0d 02 a2 1b  |!4-block%!20....|
00003c70  77 79 25 3d 62 6c 6f 63  6b 25 21 31 36 2d 62 6c  |wy%=block%!16-bl|
00003c80  6f 63 6b 25 21 32 34 0d  02 a3 17 6d 69 6e 78 25  |ock%!24....minx%|
00003c90  3d 62 6c 6f 63 6b 25 21  32 38 2d 77 78 25 0d 02  |=block%!28-wx%..|
00003ca0  a4 17 6d 61 78 78 25 3d  62 6c 6f 63 6b 25 21 33  |..maxx%=block%!3|
00003cb0  36 2d 77 78 25 0d 02 a5  1a 6d 69 6e 79 25 3d 62  |6-wx%....miny%=b|
00003cc0  6c 6f 63 6b 25 21 33 32  2d 77 79 25 2b 32 32 0d  |lock%!32-wy%+22.|
00003cd0  02 a6 1a 6d 61 78 79 25  3d 62 6c 6f 63 6b 25 21  |...maxy%=block%!|
00003ce0  34 30 2d 77 79 25 2b 32  32 0d 02 a7 11 6d 69 6e  |40-wy%+22....min|
00003cf0  25 3d 6d 69 6e 79 25 2f  37 36 0d 02 a8 11 6d 61  |%=miny%/76....ma|
00003d00  78 25 3d 6d 61 78 79 25  2f 37 36 0d 02 a9 15 e7  |x%=maxy%/76.....|
00003d10  20 6d 61 78 25 3e 30 20  8c 20 6d 61 78 25 3d 30  | max%>0 . max%=0|
00003d20  0d 02 aa 23 e7 20 6d 69  6e 25 3c 2d 6d 61 78 63  |...#. min%<-maxc|
00003d30  6f 6c 25 20 8c 20 6d 69  6e 25 3d 2d 6d 61 78 63  |ol% . min%=-maxc|
00003d40  6f 6c 25 0d 02 ab 10 e7  20 6d 69 6e 78 25 3c 39  |ol%..... minx%<9|
00003d50  30 20 8c 0d 02 ac 14 e3  20 69 25 3d 6d 69 6e 25  |0 ...... i%=min%|
00003d60  20 b8 20 6d 61 78 25 0d  02 ad 24 c8 99 20 63 74  | . max%...$.. ct|
00003d70  5f 73 65 74 67 63 6f 6c  25 2c 70 61 6c 74 61 62  |_setgcol%,paltab|
00003d80  6c 65 25 21 28 2d 69 25  2a 34 29 0d 02 ae 26 c8  |le%!(-i%*4)...&.|
00003d90  93 20 c8 90 20 32 32 2b  77 78 25 2c 69 25 2a 37  |. .. 22+wx%,i%*7|
00003da0  36 2d 32 34 2d 36 34 2b  77 79 25 2c 36 34 2c 36  |6-24-64+wy%,64,6|
00003db0  30 0d 02 af 08 ed 20 69  25 0d 02 b0 05 cd 0d 02  |0..... i%.......|
00003dc0  b1 0b c9 20 65 64 69 74  25 0d 02 b2 1a 77 78 25  |... edit%....wx%|
00003dd0  3d 62 6c 6f 63 6b 25 21  34 2d 62 6c 6f 63 6b 25  |=block%!4-block%|
00003de0  21 32 30 0d 02 b3 1b 77  79 25 3d 62 6c 6f 63 6b  |!20....wy%=block|
00003df0  25 21 31 36 2d 62 6c 6f  63 6b 25 21 32 34 0d 02  |%!16-block%!24..|
00003e00  b4 17 6d 69 6e 78 25 3d  62 6c 6f 63 6b 25 21 32  |..minx%=block%!2|
00003e10  38 2d 77 78 25 0d 02 b5  17 6d 61 78 78 25 3d 62  |8-wx%....maxx%=b|
00003e20  6c 6f 63 6b 25 21 33 36  2d 77 78 25 0d 02 b6 1f  |lock%!36-wx%....|
00003e30  6d 69 6e 79 25 3d 62 6c  6f 63 6b 25 21 33 32 2d  |miny%=block%!32-|
00003e40  77 79 25 2b 65 64 69 74  68 74 25 0d 02 b7 1f 6d  |wy%+editht%....m|
00003e50  61 78 79 25 3d 62 6c 6f  63 6b 25 21 34 30 2d 77  |axy%=block%!40-w|
00003e60  79 25 2b 65 64 69 74 68  74 25 0d 02 b8 0f 6d 69  |y%+editht%....mi|
00003e70  6e 78 25 2d 3d 73 74 77  25 0d 02 b9 0f 6d 61 78  |nx%-=stw%....max|
00003e80  78 25 2b 3d 73 74 77 25  0d 02 ba 0f 6d 69 6e 79  |x%+=stw%....miny|
00003e90  25 2d 3d 72 68 74 25 0d  02 bb 0f 6d 61 78 79 25  |%-=rht%....maxy%|
00003ea0  2b 3d 72 68 74 25 0d 02  bc 21 73 6d 69 6e 78 25  |+=rht%...!sminx%|
00003eb0  3d 28 6d 69 6e 78 25 2d  72 75 6c 65 73 69 7a 65  |=(minx%-rulesize|
00003ec0  25 29 2f 73 74 77 25 0d  02 bd 21 73 6d 61 78 78  |%)/stw%...!smaxx|
00003ed0  25 3d 28 6d 61 78 78 25  2d 72 75 6c 65 73 69 7a  |%=(maxx%-rulesiz|
00003ee0  65 25 29 2f 73 74 77 25  0d 02 be 21 73 6d 69 6e  |e%)/stw%...!smin|
00003ef0  79 25 3d 28 6d 69 6e 79  25 2d 72 75 6c 65 73 69  |y%=(miny%-rulesi|
00003f00  7a 65 25 29 2f 72 68 74  25 0d 02 bf 21 73 6d 61  |ze%)/rht%...!sma|
00003f10  78 79 25 3d 28 6d 61 78  79 25 2d 72 75 6c 65 73  |xy%=(maxy%-rules|
00003f20  69 7a 65 25 29 2f 72 68  74 25 0d 02 c0 19 e7 20  |ize%)/rht%..... |
00003f30  73 6d 69 6e 78 25 3c 30  20 8c 20 73 6d 69 6e 78  |sminx%<0 . sminx|
00003f40  25 3d 30 0d 02 c1 19 e7  20 73 6d 69 6e 79 25 3c  |%=0..... sminy%<|
00003f50  30 20 8c 20 73 6d 69 6e  79 25 3d 30 0d 02 c2 2b  |0 . sminy%=0...+|
00003f60  e7 20 73 6d 61 78 78 25  3e 67 72 69 64 77 69 64  |. smaxx%>gridwid|
00003f70  74 68 25 20 8c 20 73 6d  61 78 78 25 3d 67 72 69  |th% . smaxx%=gri|
00003f80  64 77 69 64 74 68 25 0d  02 c3 2d e7 20 73 6d 61  |dwidth%...-. sma|
00003f90  78 79 25 3e 67 72 69 64  68 65 69 67 68 74 25 20  |xy%>gridheight% |
00003fa0  8c 20 73 6d 61 78 79 25  3d 67 72 69 64 68 65 69  |. smaxy%=gridhei|
00003fb0  67 68 74 25 0d 02 c4 23  e7 20 73 6d 69 6e 78 25  |ght%...#. sminx%|
00003fc0  3e 73 6d 61 78 78 25 20  8c 20 73 6d 69 6e 78 25  |>smaxx% . sminx%|
00003fd0  3d 73 6d 61 78 78 25 0d  02 c5 23 e7 20 73 6d 69  |=smaxx%...#. smi|
00003fe0  6e 79 25 3e 73 6d 61 78  79 25 20 8c 20 73 6d 69  |ny%>smaxy% . smi|
00003ff0  6e 79 25 3d 73 6d 61 78  79 25 0d 02 c6 15 78 63  |ny%=smaxy%....xc|
00004000  25 3d 77 78 25 2b 72 75  6c 65 73 69 7a 65 25 0d  |%=wx%+rulesize%.|
00004010  02 c7 1d 79 63 25 3d 77  79 25 2d 65 64 69 74 68  |...yc%=wy%-edith|
00004020  74 25 2b 72 75 6c 65 73  69 7a 65 25 0d 02 c8 13  |t%+rulesize%....|
00004030  e7 20 73 70 72 69 74 65  6f 6e 25 3d b9 20 8c 0d  |. spriteon%=. ..|
00004040  02 c9 11 c8 8e 20 70 69  63 74 79 70 65 24 20 ca  |..... pictype$ .|
00004050  0d 02 ca 0e c9 20 22 73  70 72 69 74 65 22 0d 02  |..... "sprite"..|
00004060  cb 15 62 6c 6f 63 6b 25  21 31 30 30 3d 78 63 25  |..block%!100=xc%|
00004070  3c 3c 38 0d 02 cc 28 62  6c 6f 63 6b 25 21 31 30  |<<8...(block%!10|
00004080  34 3d 28 79 63 25 2b 67  72 69 64 68 65 69 67 68  |4=(yc%+gridheigh|
00004090  74 25 2a 72 68 74 25 29  3c 3c 38 0d 02 cd 27 62  |t%*rht%)<<8...'b|
000040a0  6c 6f 63 6b 25 21 31 30  38 3d 28 78 63 25 2b 67  |lock%!108=(xc%+g|
000040b0  72 69 64 77 69 64 74 68  25 2a 73 74 77 25 29 3c  |ridwidth%*stw%)<|
000040c0  3c 38 0d 02 ce 28 62 6c  6f 63 6b 25 21 31 31 32  |<8...(block%!112|
000040d0  3d 28 79 63 25 2b 67 72  69 64 68 65 69 67 68 74  |=(yc%+gridheight|
000040e0  25 2a 72 68 74 25 29 3c  3c 38 0d 02 cf 27 62 6c  |%*rht%)<<8...'bl|
000040f0  6f 63 6b 25 21 31 31 36  3d 28 78 63 25 2b 67 72  |ock%!116=(xc%+gr|
00004100  69 64 77 69 64 74 68 25  2a 73 74 77 25 29 3c 3c  |idwidth%*stw%)<<|
00004110  38 0d 02 d0 15 62 6c 6f  63 6b 25 21 31 32 30 3d  |8....block%!120=|
00004120  79 63 25 3c 3c 38 0d 02  d1 15 62 6c 6f 63 6b 25  |yc%<<8....block%|
00004130  21 31 32 34 3d 78 63 25  3c 3c 38 0d 02 d2 15 62  |!124=xc%<<8....b|
00004140  6c 6f 63 6b 25 21 31 32  38 3d 79 63 25 3c 3c 38  |lock%!128=yc%<<8|
00004150  0d 02 d3 04 0d 02 d4 48  c8 99 26 30 30 30 30 30  |.......H..&00000|
00004160  30 32 45 2c 26 32 33 38  2c 73 6f 75 72 63 65 73  |02E,&238,sources|
00004170  70 72 25 2c 73 6f 75 72  63 65 61 64 64 72 25 2c  |pr%,sourceaddr%,|
00004180  31 2c 30 2c 30 2c 62 6c  6f 63 6b 25 2b 31 30 30  |1,0,0,block%+100|
00004190  2c 74 72 61 6e 73 74 61  62 6c 65 25 0d 02 d5 0c  |,transtable%....|
000041a0  c9 20 22 64 72 61 77 22  0d 02 d6 2c 73 63 61 6c  |. "draw"...,scal|
000041b0  65 78 3d 28 28 28 67 72  69 64 77 69 64 74 68 25  |ex=(((gridwidth%|
000041c0  2a 73 74 77 25 29 3c 3c  38 29 2f 28 64 72 61 77  |*stw%)<<8)/(draw|
000041d0  78 25 29 29 0d 02 d7 2f  73 63 61 6c 65 79 3d 28  |x%)).../scaley=(|
000041e0  28 28 67 72 69 64 68 65  69 67 68 74 25 2a 72 68  |((gridheight%*rh|
000041f0  74 25 29 3c 3c 38 29 2f  28 64 72 61 77 79 25 2d  |t%)<<8)/(drawy%-|
00004200  31 29 29 0d 02 d8 1e 74  72 61 6e 73 66 6f 72 6d  |1))....transform|
00004210  25 21 30 20 3d 73 63 61  6c 65 78 2a 36 35 35 33  |%!0 =scalex*6553|
00004220  36 0d 02 d9 13 74 72 61  6e 73 66 6f 72 6d 25 21  |6....transform%!|
00004230  34 20 3d 30 0d 02 da 13  74 72 61 6e 73 66 6f 72  |4 =0....transfor|
00004240  6d 25 21 38 20 3d 30 0d  02 db 1e 74 72 61 6e 73  |m%!8 =0....trans|
00004250  66 6f 72 6d 25 21 31 32  3d 73 63 61 6c 65 79 2a  |form%!12=scaley*|
00004260  36 35 35 33 36 0d 02 dc  2e 74 72 61 6e 73 66 6f  |65536....transfo|
00004270  72 6d 25 21 31 36 3d 28  78 63 25 3c 3c 38 29 2d  |rm%!16=(xc%<<8)-|
00004280  64 72 61 77 78 6f 66 66  73 65 74 25 2a 73 63 61  |drawxoffset%*sca|
00004290  6c 65 78 0d 02 dd 2e 74  72 61 6e 73 66 6f 72 6d  |lex....transform|
000042a0  25 21 32 30 3d 28 79 63  25 3c 3c 38 29 2d 64 72  |%!20=(yc%<<8)-dr|
000042b0  61 77 79 6f 66 66 73 65  74 25 2a 73 63 61 6c 65  |awyoffset%*scale|
000042c0  79 0d 02 de 04 0d 02 df  36 c8 99 20 26 30 30 30  |y.......6.. &000|
000042d0  34 35 35 34 30 2c 30 2c  64 72 61 77 25 2c 64 72  |45540,0,draw%,dr|
000042e0  61 77 6c 65 6e 25 2c 74  72 61 6e 73 66 6f 72 6d  |awlen%,transform|
000042f0  25 2c 62 6c 6f 63 6b 25  2b 32 38 0d 02 e0 05 cb  |%,block%+28.....|
00004300  0d 02 e1 05 cd 0d 02 e2  10 c8 8e 20 6d 61 6e 6e  |........... mann|
00004310  65 72 25 20 ca 0d 02 e3  09 c9 20 30 2c 31 0d 02  |er% ...... 0,1..|
00004320  e4 04 0d 02 e5 1f 73 77  25 3d 73 74 77 25 2b 78  |......sw%=stw%+x|
00004330  70 69 78 32 25 2a 28 67  72 69 64 6f 6e 25 3d b9  |pix2%*(gridon%=.|
00004340  29 0d 02 e6 1f 72 68 25  3d 72 68 74 25 2b 79 70  |)....rh%=rht%+yp|
00004350  69 78 32 25 2a 28 67 72  69 64 6f 6e 25 3d b9 29  |ix2%*(gridon%=.)|
00004360  0d 02 e7 1c 79 25 3d 79  63 25 2d 79 70 69 78 25  |....y%=yc%-ypix%|
00004370  2a 28 67 72 69 64 6f 6e  25 3d b9 29 0d 02 e8 1d  |*(gridon%=.)....|
00004380  78 78 25 3d 78 63 25 2d  78 70 69 78 25 2a 28 67  |xx%=xc%-xpix%*(g|
00004390  72 69 64 6f 6e 25 3d b9  29 0d 02 e9 74 e3 77 25  |ridon%=.)...t.w%|
000043a0  3d 73 6d 69 6e 78 25 b8  73 6d 61 78 78 25 2d 31  |=sminx%.smaxx%-1|
000043b0  3a 78 25 3d 78 78 25 2b  77 25 2a 73 74 77 25 3a  |:x%=xx%+w%*stw%:|
000043c0  e3 68 25 3d 73 6d 69 6e  79 25 b8 73 6d 61 78 79  |.h%=sminy%.smaxy|
000043d0  25 2d 31 3a 63 6f 6c 25  3d 63 6f 6c 74 61 62 6c  |%-1:col%=coltabl|
000043e0  65 25 3f 28 68 25 2a 67  72 69 64 77 69 64 74 68  |e%?(h%*gridwidth|
000043f0  25 2b 77 25 29 3a e7 73  68 6f 77 6d 61 73 6b 25  |%+w%):.showmask%|
00004400  63 6f 6c 25 3d 63 6f 6c  25 80 31 39 31 0d 02 ea  |col%=col%.191...|
00004410  50 e7 28 63 6f 6c 25 80  31 39 32 29 3d 30 c8 99  |P.(col%.192)=0..|
00004420  63 74 5f 73 65 74 67 63  6f 6c 25 2c 70 61 6c 74  |ct_setgcol%,palt|
00004430  61 62 6c 65 25 21 28 28  63 6f 6c 25 80 36 33 29  |able%!((col%.63)|
00004440  2a 34 29 3a c8 93 c8 90  78 25 2c 79 25 2b 68 25  |*4):....x%,y%+h%|
00004450  2a 72 68 74 25 2c 73 77  25 2c 72 68 25 0d 02 eb  |*rht%,sw%,rh%...|
00004460  07 ed 3a ed 0d 02 ec 04  0d 02 ed 7c e7 20 6d 61  |..:........|. ma|
00004470  78 78 25 3e 72 75 6c 65  73 69 7a 65 25 20 80 20  |xx%>rulesize% . |
00004480  6d 69 6e 78 25 3c 72 75  6c 65 73 69 7a 65 25 2b  |minx%<rulesize%+|
00004490  67 72 69 64 77 69 64 74  68 25 2a 73 74 77 25 20  |gridwidth%*stw% |
000044a0  80 20 6d 61 78 79 25 3e  72 75 6c 65 73 69 7a 65  |. maxy%>rulesize|
000044b0  25 20 80 20 6d 69 6e 79  25 3c 72 75 6c 65 73 69  |% . miny%<rulesi|
000044c0  7a 65 25 2b 67 72 69 64  68 65 69 67 68 74 25 2a  |ze%+gridheight%*|
000044d0  72 68 74 25 20 80 20 a4  6c 28 74 62 61 72 25 2c  |rht% . .l(tbar%,|
000044e0  35 29 20 8c 0d 02 ee 1c  c8 99 20 77 69 6d 70 5f  |5) ....... wimp_|
000044f0  73 65 74 63 6f 6c 25 2c  67 72 69 64 63 6f 6c 25  |setcol%,gridcol%|
00004500  0d 02 ef 04 0d 02 f0 2c  79 6c 25 3d 79 63 25 2b  |.......,yl%=yc%+|
00004510  73 6d 69 6e 79 25 2a 72  68 74 25 3a 20 79 68 25  |sminy%*rht%: yh%|
00004520  3d 79 63 25 2b 73 6d 61  78 79 25 2a 72 68 74 25  |=yc%+smaxy%*rht%|
00004530  0d 02 f1 18 e3 20 78 25  3d 73 6d 69 6e 78 25 20  |..... x%=sminx% |
00004540  b8 20 73 6d 61 78 78 25  0d 02 f2 15 ec 20 78 63  |. smaxx%..... xc|
00004550  25 2b 78 25 2a 73 74 77  25 2c 79 6c 25 0d 02 f3  |%+x%*stw%,yl%...|
00004560  15 df 20 78 63 25 2b 78  25 2a 73 74 77 25 2c 79  |.. xc%+x%*stw%,y|
00004570  68 25 0d 02 f4 08 ed 20  78 25 0d 02 f5 04 0d 02  |h%..... x%......|
00004580  f6 2c 78 6c 25 3d 78 63  25 2b 73 6d 69 6e 78 25  |.,xl%=xc%+sminx%|
00004590  2a 73 74 77 25 3a 20 78  68 25 3d 78 63 25 2b 73  |*stw%: xh%=xc%+s|
000045a0  6d 61 78 78 25 2a 73 74  77 25 0d 02 f7 18 e3 20  |maxx%*stw%..... |
000045b0  79 25 3d 73 6d 69 6e 79  25 20 b8 20 73 6d 61 78  |y%=sminy% . smax|
000045c0  79 25 0d 02 f8 15 ec 20  78 6c 25 2c 79 63 25 2b  |y%..... xl%,yc%+|
000045d0  79 25 2a 72 68 74 25 0d  02 f9 15 df 20 78 68 25  |y%*rht%..... xh%|
000045e0  2c 79 63 25 2b 79 25 2a  72 68 74 25 0d 02 fa 08  |,yc%+y%*rht%....|
000045f0  ed 20 79 25 0d 02 fb 05  cd 0d 02 fc 15 e7 20 ac  |. y%.......... .|
00004600  20 70 61 67 65 72 75 6c  65 72 73 25 20 8c 0d 02  | pagerulers% ...|
00004610  fd 1c c8 99 20 77 69 6d  70 5f 73 65 74 63 6f 6c  |.... wimp_setcol|
00004620  25 2c 66 6f 72 65 63 6f  6c 25 0d 02 fe 04 0d 02  |%,forecol%......|
00004630  ff 17 e7 20 6d 69 6e 78  25 3c 72 75 6c 65 73 69  |... minx%<rulesi|
00004640  7a 65 25 20 8c 0d 03 00  1f 6d 69 6e 25 3d 28 6d  |ze% .....min%=(m|
00004650  69 6e 79 25 2d 72 75 6c  65 73 69 7a 65 25 29 2f  |iny%-rulesize%)/|
00004660  72 68 74 25 0d 03 01 1f  6d 61 78 25 3d 28 6d 61  |rht%....max%=(ma|
00004670  78 79 25 2d 72 75 6c 65  73 69 7a 65 25 29 2f 72  |xy%-rulesize%)/r|
00004680  68 74 25 0d 03 02 29 e7  20 6d 61 78 25 3e 67 72  |ht%...). max%>gr|
00004690  69 64 68 65 69 67 68 74  25 20 8c 20 6d 61 78 25  |idheight% . max%|
000046a0  3d 67 72 69 64 68 65 69  67 68 74 25 0d 03 03 15  |=gridheight%....|
000046b0  e7 20 6d 69 6e 25 3c 30  20 8c 20 6d 69 6e 25 3d  |. min%<0 . min%=|
000046c0  30 0d 03 04 12 6d 69 6e  25 3d 6d 69 6e 25 20 81  |0....min%=min% .|
000046d0  20 31 30 0d 03 05 12 6d  61 78 25 3d 6d 61 78 25  | 10....max%=max%|
000046e0  20 81 20 31 30 0d 03 06  16 e3 20 72 6f 77 25 3d  | . 10..... row%=|
000046f0  6d 69 6e 25 20 b8 20 6d  61 78 25 0d 03 07 0a 78  |min% . max%....x|
00004700  25 3d 78 63 25 0d 03 08  1a 79 25 3d 79 63 25 2b  |%=xc%....y%=yc%+|
00004710  72 6f 77 25 2a 72 68 74  25 2a 31 30 2b 31 36 0d  |row%*rht%*10+16.|
00004720  03 09 2a ec 20 78 25 2b  28 31 36 2a 28 72 6f 77  |..*. x%+(16*(row|
00004730  25 3e 30 29 29 2b 28 31  36 2a 28 72 6f 77 25 3e  |%>0))+(16*(row%>|
00004740  39 29 29 2d 34 30 2c 79  25 0d 03 0a 0e f1 20 3b  |9))-40,y%..... ;|
00004750  72 6f 77 25 2a 31 30 0d  03 0b 11 ec 20 78 25 2d  |row%*10..... x%-|
00004760  32 30 2c 79 25 2d 31 36  0d 03 0c 0e df 20 78 25  |20,y%-16..... x%|
00004770  2c 79 25 2d 31 36 0d 03  0d 0a ed 20 72 6f 77 25  |,y%-16..... row%|
00004780  0d 03 0e 05 cd 0d 03 0f  04 0d 03 10 27 e7 20 6d  |............'. m|
00004790  61 78 78 25 3e 72 75 6c  65 73 69 7a 65 25 2b 67  |axx%>rulesize%+g|
000047a0  72 69 64 77 69 64 74 68  25 2a 73 74 77 25 20 8c  |ridwidth%*stw% .|
000047b0  0d 03 11 1f 6d 69 6e 25  3d 28 6d 69 6e 79 25 2d  |....min%=(miny%-|
000047c0  72 75 6c 65 73 69 7a 65  25 29 2f 72 68 74 25 0d  |rulesize%)/rht%.|
000047d0  03 12 1f 6d 61 78 25 3d  28 6d 61 78 79 25 2d 72  |...max%=(maxy%-r|
000047e0  75 6c 65 73 69 7a 65 25  29 2f 72 68 74 25 0d 03  |ulesize%)/rht%..|
000047f0  13 29 e7 20 6d 61 78 25  3e 67 72 69 64 68 65 69  |.). max%>gridhei|
00004800  67 68 74 25 20 8c 20 6d  61 78 25 3d 67 72 69 64  |ght% . max%=grid|
00004810  68 65 69 67 68 74 25 0d  03 14 15 e7 20 6d 69 6e  |height%..... min|
00004820  25 3c 30 20 8c 20 6d 69  6e 25 3d 30 0d 03 15 12  |%<0 . min%=0....|
00004830  6d 69 6e 25 3d 6d 69 6e  25 20 81 20 31 30 0d 03  |min%=min% . 10..|
00004840  16 12 6d 61 78 25 3d 6d  61 78 25 20 81 20 31 30  |..max%=max% . 10|
00004850  0d 03 17 16 e3 20 72 6f  77 25 3d 6d 69 6e 25 20  |..... row%=min% |
00004860  b8 20 6d 61 78 25 0d 03  18 1d 78 25 3d 78 63 25  |. max%....x%=xc%|
00004870  2b 32 34 2b 67 72 69 64  77 69 64 74 68 25 2a 73  |+24+gridwidth%*s|
00004880  74 77 25 0d 03 19 1a 79  25 3d 72 6f 77 25 2a 72  |tw%....y%=row%*r|
00004890  68 74 25 2a 31 30 2b 79  63 25 2b 31 36 0d 03 1a  |ht%*10+yc%+16...|
000048a0  0b ec 20 78 25 2c 79 25  0d 03 1b 0e f1 20 3b 72  |.. x%,y%..... ;r|
000048b0  6f 77 25 2a 31 30 0d 03  1c 10 ec 20 78 25 2d 34  |ow%*10..... x%-4|
000048c0  2c 79 25 2d 31 36 0d 03  1d 11 df 20 78 25 2d 32  |,y%-16..... x%-2|
000048d0  34 2c 79 25 2d 31 36 0d  03 1e 0a ed 20 72 6f 77  |4,y%-16..... row|
000048e0  25 0d 03 1f 05 cd 0d 03  20 04 0d 03 21 17 e7 20  |%....... ...!.. |
000048f0  6d 69 6e 79 25 3c 72 75  6c 65 73 69 7a 65 25 20  |miny%<rulesize% |
00004900  8c 0d 03 22 1f 6d 69 6e  25 3d 28 6d 69 6e 78 25  |...".min%=(minx%|
00004910  2d 72 75 6c 65 73 69 7a  65 25 29 2f 73 74 77 25  |-rulesize%)/stw%|
00004920  0d 03 23 1f 6d 61 78 25  3d 28 6d 61 78 78 25 2d  |..#.max%=(maxx%-|
00004930  72 75 6c 65 73 69 7a 65  25 29 2f 73 74 77 25 0d  |rulesize%)/stw%.|
00004940  03 24 27 e7 20 6d 61 78  25 3e 67 72 69 64 77 69  |.$'. max%>gridwi|
00004950  64 74 68 25 20 8c 20 6d  61 78 25 3d 67 72 69 64  |dth% . max%=grid|
00004960  77 69 64 74 68 25 0d 03  25 15 e7 20 6d 69 6e 25  |width%..%.. min%|
00004970  3c 30 20 8c 20 6d 69 6e  25 3d 30 0d 03 26 12 6d  |<0 . min%=0..&.m|
00004980  69 6e 25 3d 6d 69 6e 25  20 81 20 31 30 0d 03 27  |in%=min% . 10..'|
00004990  12 6d 61 78 25 3d 6d 61  78 25 20 81 20 31 30 0d  |.max%=max% . 10.|
000049a0  03 28 19 e3 20 73 74 69  74 63 68 25 3d 6d 69 6e  |.(.. stitch%=min|
000049b0  25 20 b8 20 6d 61 78 25  0d 03 29 1a 78 25 3d 78  |% . max%..).x%=x|
000049c0  63 25 2b 73 74 69 74 63  68 25 2a 73 74 77 25 2a  |c%+stitch%*stw%*|
000049d0  31 30 0d 03 2a 0d 79 25  3d 79 63 25 2d 32 34 0d  |10..*.y%=yc%-24.|
000049e0  03 2b 2c ec 20 78 25 2b  28 31 36 2a 28 73 74 69  |.+,. x%+(16*(sti|
000049f0  74 63 68 25 3e 30 29 29  2b 28 38 2a 28 73 74 69  |tch%>0))+(8*(sti|
00004a00  74 63 68 25 3e 39 29 29  2c 79 25 0d 03 2c 11 f1  |tch%>9)),y%..,..|
00004a10  20 3b 73 74 69 74 63 68  25 2a 31 30 0d 03 2d 0d  | ;stitch%*10..-.|
00004a20  ec 20 78 25 2c 79 25 2b  34 0d 03 2e 0e df 20 78  |. x%,y%+4..... x|
00004a30  25 2c 79 25 2b 32 30 0d  03 2f 0d ed 20 73 74 69  |%,y%+20../.. sti|
00004a40  74 63 68 25 0d 03 30 05  cd 0d 03 31 04 0d 03 32  |tch%..0....1...2|
00004a50  27 e7 20 6d 61 78 79 25  3e 65 64 69 74 68 74 25  |'. maxy%>editht%|
00004a60  2d 72 75 6c 65 73 69 7a  65 25 2d 74 62 61 72 68  |-rulesize%-tbarh|
00004a70  74 25 20 8c 0d 03 33 1f  6d 69 6e 25 3d 28 6d 69  |t% ...3.min%=(mi|
00004a80  6e 78 25 2d 72 75 6c 65  73 69 7a 65 25 29 2f 73  |nx%-rulesize%)/s|
00004a90  74 77 25 0d 03 34 1f 6d  61 78 25 3d 28 6d 61 78  |tw%..4.max%=(max|
00004aa0  78 25 2d 72 75 6c 65 73  69 7a 65 25 29 2f 73 74  |x%-rulesize%)/st|
00004ab0  77 25 0d 03 35 27 e7 20  6d 61 78 25 3e 67 72 69  |w%..5'. max%>gri|
00004ac0  64 77 69 64 74 68 25 20  8c 20 6d 61 78 25 3d 67  |dwidth% . max%=g|
00004ad0  72 69 64 77 69 64 74 68  25 0d 03 36 15 e7 20 6d  |ridwidth%..6.. m|
00004ae0  69 6e 25 3c 30 20 8c 20  6d 69 6e 25 3d 30 0d 03  |in%<0 . min%=0..|
00004af0  37 12 6d 69 6e 25 3d 6d  69 6e 25 20 81 20 31 30  |7.min%=min% . 10|
00004b00  0d 03 38 12 6d 61 78 25  3d 6d 61 78 25 20 81 20  |..8.max%=max% . |
00004b10  31 30 0d 03 39 19 e3 20  73 74 69 74 63 68 25 3d  |10..9.. stitch%=|
00004b20  6d 69 6e 25 20 b8 20 6d  61 78 25 0d 03 3a 1a 78  |min% . max%..:.x|
00004b30  25 3d 78 63 25 2b 73 74  69 74 63 68 25 2a 73 74  |%=xc%+stitch%*st|
00004b40  77 25 2a 31 30 0d 03 3b  1e 79 25 3d 79 63 25 2b  |w%*10..;.y%=yc%+|
00004b50  67 72 69 64 68 65 69 67  68 74 25 2a 72 68 74 25  |gridheight%*rht%|
00004b60  2b 35 32 0d 03 3c 2c ec  20 78 25 2b 28 31 36 2a  |+52..<,. x%+(16*|
00004b70  28 73 74 69 74 63 68 25  3e 30 29 29 2b 28 38 2a  |(stitch%>0))+(8*|
00004b80  28 73 74 69 74 63 68 25  3e 39 29 29 2c 79 25 0d  |(stitch%>9)),y%.|
00004b90  03 3d 11 f1 20 3b 73 74  69 74 63 68 25 2a 31 30  |.=.. ;stitch%*10|
00004ba0  0d 03 3e 0e ec 20 78 25  2c 79 25 2d 33 32 0d 03  |..>.. x%,y%-32..|
00004bb0  3f 0e df 20 78 25 2c 79  25 2d 35 32 0d 03 40 0d  |?.. x%,y%-52..@.|
00004bc0  ed 20 73 74 69 74 63 68  25 0d 03 41 05 cd 0d 03  |. stitch%..A....|
00004bd0  42 05 cd 0d 03 43 07 c9  20 32 0d 03 44 04 0d 03  |B....C.. 2..D...|
00004be0  45 14 73 63 6c 25 3d 28  73 74 77 25 2d 33 30 29  |E.scl%=(stw%-30)|
00004bf0  2f 32 0d 03 46 14 6e 75  6d 6d 69 6e 25 3d 73 6d  |/2..F.nummin%=sm|
00004c00  69 6e 78 25 2d 31 0d 03  47 14 6e 75 6d 6d 61 78  |inx%-1..G.nummax|
00004c10  25 3d 73 6d 61 78 78 25  2b 31 0d 03 48 16 6e 75  |%=smaxx%+1..H.nu|
00004c20  6d 6d 69 6e 25 2d 3d 6e  75 6d 6d 69 6e 25 83 32  |mmin%-=nummin%.2|
00004c30  0d 03 49 1b e7 20 6e 75  6d 6d 69 6e 25 3c 30 20  |..I.. nummin%<0 |
00004c40  8c 20 6e 75 6d 6d 69 6e  25 3d 30 0d 03 4a 2d e7  |. nummin%=0..J-.|
00004c50  20 6e 75 6d 6d 61 78 25  3e 67 72 69 64 77 69 64  | nummax%>gridwid|
00004c60  74 68 25 20 8c 20 6e 75  6d 6d 61 78 25 3d 67 72  |th% . nummax%=gr|
00004c70  69 64 77 69 64 74 68 25  0d 03 4b 1e e3 20 78 25  |idwidth%..K.. x%|
00004c80  3d 6e 75 6d 6d 69 6e 25  20 b8 20 6e 75 6d 6d 61  |=nummin% . numma|
00004c90  78 25 20 88 20 32 0d 03  4c 10 e7 20 78 25 20 83  |x% . 2..L.. x% .|
00004ca0  20 32 3d 30 20 8c 0d 03  4d 18 e7 20 78 25 3c 3d  | 2=0 ...M.. x%<=|
00004cb0  67 72 69 64 77 69 64 74  68 25 2f 32 20 8c 0d 03  |gridwidth%/2 ...|
00004cc0  4e 18 6e 75 6d 25 3d 67  72 69 64 77 69 64 74 68  |N.num%=gridwidth|
00004cd0  25 2f 32 2d 78 25 0d 03  4f 33 e7 20 6e 75 6d 25  |%/2-x%..O3. num%|
00004ce0  20 83 20 32 3d 31 20 8c  20 6e 75 6d 25 2d 3d 31  | . 2=1 . num%-=1|
00004cf0  20 3a 20 78 6d 6f 76 65  25 3d 73 74 77 25 20 8b  | : xmove%=stw% .|
00004d00  20 78 6d 6f 76 65 25 3d  30 0d 03 50 40 e7 20 6e  | xmove%=0..P@. n|
00004d10  75 6d 25 20 83 31 32 3d  30 20 8c 20 c8 99 20 77  |um% .12=0 . .. w|
00004d20  69 6d 70 5f 73 65 74 63  6f 6c 25 2c 31 31 20 8b  |imp_setcol%,11 .|
00004d30  20 c8 99 20 77 69 6d 70  5f 73 65 74 63 6f 6c 25  | .. wimp_setcol%|
00004d40  2c 67 72 69 64 63 6f 6c  25 0d 03 51 0e e7 20 6e  |,gridcol%..Q.. n|
00004d50  75 6d 25 3d 30 20 8c 0d  03 52 25 ec 20 78 63 25  |um%=0 ...R%. xc%|
00004d60  2b 28 67 72 69 64 77 69  64 74 68 25 2f 32 29 2a  |+(gridwidth%/2)*|
00004d70  73 74 77 25 2d 38 2c 79  63 25 2d 34 0d 03 53 0b  |stw%-8,yc%-4..S.|
00004d80  f1 20 3b 6e 75 6d 25 0d  03 54 37 ec 20 78 63 25  |. ;num%..T7. xc%|
00004d90  2b 28 67 72 69 64 77 69  64 74 68 25 2f 32 29 2a  |+(gridwidth%/2)*|
00004da0  73 74 77 25 2d 38 2c 79  63 25 2b 67 72 69 64 68  |stw%-8,yc%+gridh|
00004db0  65 69 67 68 74 25 2a 72  68 74 25 2b 33 32 0d 03  |eight%*rht%+32..|
00004dc0  55 0b f1 20 3b 6e 75 6d  25 0d 03 56 05 cc 0d 03  |U.. ;num%..V....|
00004dd0  57 19 e7 20 6e 75 6d 25  3c 31 30 20 8c 20 78 6d  |W.. num%<10 . xm|
00004de0  6f 76 65 25 2b 3d 38 0d  03 58 23 ec 20 78 63 25  |ove%+=8..X#. xc%|
00004df0  2b 78 25 2a 73 74 77 25  2b 78 6d 6f 76 65 25 2b  |+x%*stw%+xmove%+|
00004e00  73 63 6c 25 2c 79 63 25  2d 34 0d 03 59 0b f1 20  |scl%,yc%-4..Y.. |
00004e10  3b 6e 75 6d 25 0d 03 5a  35 ec 20 78 63 25 2b 78  |;num%..Z5. xc%+x|
00004e20  25 2a 73 74 77 25 2b 78  6d 6f 76 65 25 2b 73 63  |%*stw%+xmove%+sc|
00004e30  6c 25 2c 79 63 25 2b 67  72 69 64 68 65 69 67 68  |l%,yc%+gridheigh|
00004e40  74 25 2a 72 68 74 25 2b  33 32 0d 03 5b 0b f1 20  |t%*rht%+32..[.. |
00004e50  3b 6e 75 6d 25 0d 03 5c  05 cd 0d 03 5d 05 cc 0d  |;num%..\....]...|
00004e60  03 5e 18 6e 75 6d 25 3d  78 25 2d 67 72 69 64 77  |.^.num%=x%-gridw|
00004e70  69 64 74 68 25 2f 32 0d  03 5f 33 e7 20 6e 75 6d  |idth%/2.._3. num|
00004e80  25 20 83 20 32 3d 31 20  8c 20 6e 75 6d 25 2d 3d  |% . 2=1 . num%-=|
00004e90  31 20 3a 20 78 6d 6f 76  65 25 3d 73 74 77 25 20  |1 : xmove%=stw% |
00004ea0  8b 20 78 6d 6f 76 65 25  3d 30 0d 03 60 40 e7 20  |. xmove%=0..`@. |
00004eb0  6e 75 6d 25 20 83 31 32  3d 30 20 8c 20 c8 99 20  |num% .12=0 . .. |
00004ec0  77 69 6d 70 5f 73 65 74  63 6f 6c 25 2c 31 31 20  |wimp_setcol%,11 |
00004ed0  8b 20 c8 99 20 77 69 6d  70 5f 73 65 74 63 6f 6c  |. .. wimp_setcol|
00004ee0  25 2c 67 72 69 64 63 6f  6c 25 0d 03 61 19 e7 20  |%,gridcol%..a.. |
00004ef0  6e 75 6d 25 3c 31 30 20  8c 20 78 6d 6f 76 65 25  |num%<10 . xmove%|
00004f00  2d 3d 38 0d 03 62 27 ec  20 78 63 25 2b 28 78 25  |-=8..b'. xc%+(x%|
00004f10  2d 31 29 2a 73 74 77 25  2d 78 6d 6f 76 65 25 2b  |-1)*stw%-xmove%+|
00004f20  73 63 6c 25 2c 79 63 25  2d 34 0d 03 63 17 e7 20  |scl%,yc%-4..c.. |
00004f30  6e 75 6d 25 3c 3e 30 20  8c 20 f1 20 3b 6e 75 6d  |num%<>0 . . ;num|
00004f40  25 0d 03 64 39 ec 20 78  63 25 2b 28 78 25 2d 31  |%..d9. xc%+(x%-1|
00004f50  29 2a 73 74 77 25 2d 78  6d 6f 76 65 25 2b 73 63  |)*stw%-xmove%+sc|
00004f60  6c 25 2c 79 63 25 2b 67  72 69 64 68 65 69 67 68  |l%,yc%+gridheigh|
00004f70  74 25 2a 72 68 74 25 2b  33 32 0d 03 65 17 e7 20  |t%*rht%+32..e.. |
00004f80  6e 75 6d 25 3c 3e 30 20  8c 20 f1 20 3b 6e 75 6d  |num%<>0 . . ;num|
00004f90  25 0d 03 66 05 cd 0d 03  67 05 cd 0d 03 68 08 ed  |%..f....g....h..|
00004fa0  20 78 25 0d 03 69 04 0d  03 6a 14 6e 75 6d 6d 69  | x%..i...j.nummi|
00004fb0  6e 25 3d 73 6d 69 6e 79  25 2d 31 0d 03 6b 14 6e  |n%=sminy%-1..k.n|
00004fc0  75 6d 6d 61 78 25 3d 73  6d 61 78 79 25 2b 31 0d  |ummax%=smaxy%+1.|
00004fd0  03 6c 18 6e 75 6d 6d 69  6e 25 2d 3d 6e 75 6d 6d  |.l.nummin%-=numm|
00004fe0  69 6e 25 20 83 20 32 0d  03 6d 18 6e 75 6d 6d 61  |in% . 2..m.numma|
00004ff0  78 25 2b 3d 6e 75 6d 6d  61 78 25 20 83 20 32 0d  |x%+=nummax% . 2.|
00005000  03 6e 1b e7 20 6e 75 6d  6d 69 6e 25 3c 30 20 8c  |.n.. nummin%<0 .|
00005010  20 6e 75 6d 6d 69 6e 25  3d 30 0d 03 6f 2f e7 20  | nummin%=0..o/. |
00005020  6e 75 6d 6d 61 78 25 3e  67 72 69 64 68 65 69 67  |nummax%>gridheig|
00005030  68 74 25 20 8c 20 6e 75  6d 6d 61 78 25 3d 67 72  |ht% . nummax%=gr|
00005040  69 64 68 65 69 67 68 74  25 0d 03 70 1e e3 20 79  |idheight%..p.. y|
00005050  25 3d 6e 75 6d 6d 69 6e  25 20 b8 20 6e 75 6d 6d  |%=nummin% . numm|
00005060  61 78 25 20 88 20 32 0d  03 71 25 e7 20 79 25 3d  |ax% . 2..q%. y%=|
00005070  30 20 8c 20 79 6d 6f 76  65 25 3d 31 32 20 8b 20  |0 . ymove%=12 . |
00005080  79 6d 6f 76 65 25 3d 2d  73 63 6c 25 0d 03 72 22  |ymove%=-scl%..r"|
00005090  e7 20 79 25 3c 31 30 20  8c 20 78 6d 6f 76 65 25  |. y%<10 . xmove%|
000050a0  3d 31 36 20 8b 20 78 6d  6f 76 65 25 3d 30 0d 03  |=16 . xmove%=0..|
000050b0  73 18 e7 20 79 25 3e 39  39 20 8c 20 78 6d 6f 76  |s.. y%>99 . xmov|
000050c0  65 25 3d 2d 31 36 0d 03  74 3d e7 20 79 25 83 31  |e%=-16..t=. y%.1|
000050d0  30 3d 30 20 8c 20 c8 99  20 77 69 6d 70 5f 73 65  |0=0 . .. wimp_se|
000050e0  74 63 6f 6c 25 2c 31 31  20 8b 20 c8 99 20 77 69  |tcol%,11 . .. wi|
000050f0  6d 70 5f 73 65 74 63 6f  6c 25 2c 67 72 69 64 63  |mp_setcol%,gridc|
00005100  6f 6c 25 0d 03 75 28 ec  20 78 63 25 2d 33 36 2b  |ol%..u(. xc%-36+|
00005110  78 6d 6f 76 65 25 2c 79  63 25 2b 79 25 2a 72 68  |xmove%,yc%+y%*rh|
00005120  74 25 2d 32 2b 79 6d 6f  76 65 25 0d 03 76 09 f1  |t%-2+ymove%..v..|
00005130  20 3b 79 25 0d 03 77 30  ec 20 78 63 25 2b 67 72  | ;y%..w0. xc%+gr|
00005140  69 64 77 69 64 74 68 25  2a 73 74 77 25 2b 34 2c  |idwidth%*stw%+4,|
00005150  79 63 25 2b 79 25 2a 72  68 74 25 2d 32 2b 79 6d  |yc%+y%*rht%-2+ym|
00005160  6f 76 65 25 0d 03 78 09  f1 20 3b 79 25 0d 03 79  |ove%..x.. ;y%..y|
00005170  08 ed 20 79 25 0d 03 7a  7c e7 20 6d 61 78 78 25  |.. y%..z|. maxx%|
00005180  3e 72 75 6c 65 73 69 7a  65 25 20 80 20 6d 69 6e  |>rulesize% . min|
00005190  78 25 3c 72 75 6c 65 73  69 7a 65 25 2b 67 72 69  |x%<rulesize%+gri|
000051a0  64 77 69 64 74 68 25 2a  73 74 77 25 20 80 20 6d  |dwidth%*stw% . m|
000051b0  61 78 79 25 3e 72 75 6c  65 73 69 7a 65 25 20 80  |axy%>rulesize% .|
000051c0  20 6d 69 6e 79 25 3c 72  75 6c 65 73 69 7a 65 25  | miny%<rulesize%|
000051d0  2b 67 72 69 64 68 65 69  67 68 74 25 2a 72 68 74  |+gridheight%*rht|
000051e0  25 20 80 20 a4 6c 28 74  62 61 72 25 2c 35 29 20  |% . .l(tbar%,5) |
000051f0  8c 0d 03 7b 1c c8 99 20  77 69 6d 70 5f 73 65 74  |...{... wimp_set|
00005200  63 6f 6c 25 2c 67 72 69  64 63 6f 6c 25 0d 03 7c  |col%,gridcol%..||
00005210  04 0d 03 7d 2c 79 6c 25  3d 79 63 25 2b 73 6d 69  |...},yl%=yc%+smi|
00005220  6e 79 25 2a 72 68 74 25  3a 20 79 68 25 3d 79 63  |ny%*rht%: yh%=yc|
00005230  25 2b 73 6d 61 78 79 25  2a 72 68 74 25 0d 03 7e  |%+smaxy%*rht%..~|
00005240  18 e3 20 78 25 3d 73 6d  69 6e 78 25 20 b8 20 73  |.. x%=sminx% . s|
00005250  6d 61 78 78 25 0d 03 7f  4c e7 20 28 67 72 69 64  |maxx%...L. (grid|
00005260  77 69 64 74 68 25 2f 32  2d 78 25 29 83 31 32 3d  |width%/2-x%).12=|
00005270  30 20 8c 20 c8 99 20 77  69 6d 70 5f 73 65 74 63  |0 . .. wimp_setc|
00005280  6f 6c 25 2c 31 31 20 8b  20 c8 99 20 77 69 6d 70  |ol%,11 . .. wimp|
00005290  5f 73 65 74 63 6f 6c 25  2c 67 72 69 64 63 6f 6c  |_setcol%,gridcol|
000052a0  25 0d 03 80 15 ec 20 78  63 25 2b 78 25 2a 73 74  |%..... xc%+x%*st|
000052b0  77 25 2c 79 6c 25 0d 03  81 15 df 20 78 63 25 2b  |w%,yl%..... xc%+|
000052c0  78 25 2a 73 74 77 25 2c  79 68 25 0d 03 82 08 ed  |x%*stw%,yh%.....|
000052d0  20 78 25 0d 03 83 04 0d  03 84 2c 78 6c 25 3d 78  | x%.......,xl%=x|
000052e0  63 25 2b 73 6d 69 6e 78  25 2a 73 74 77 25 3a 20  |c%+sminx%*stw%: |
000052f0  78 68 25 3d 78 63 25 2b  73 6d 61 78 78 25 2a 73  |xh%=xc%+smaxx%*s|
00005300  74 77 25 0d 03 85 18 e3  20 79 25 3d 73 6d 69 6e  |tw%..... y%=smin|
00005310  79 25 20 b8 20 73 6d 61  78 79 25 0d 03 86 3f e7  |y% . smaxy%...?.|
00005320  20 79 25 20 83 20 31 30  3d 30 20 8c 20 c8 99 20  | y% . 10=0 . .. |
00005330  77 69 6d 70 5f 73 65 74  63 6f 6c 25 2c 31 31 20  |wimp_setcol%,11 |
00005340  8b 20 c8 99 20 77 69 6d  70 5f 73 65 74 63 6f 6c  |. .. wimp_setcol|
00005350  25 2c 67 72 69 64 63 6f  6c 25 0d 03 87 15 ec 20  |%,gridcol%..... |
00005360  78 6c 25 2c 79 63 25 2b  79 25 2a 72 68 74 25 0d  |xl%,yc%+y%*rht%.|
00005370  03 88 15 df 20 78 68 25  2c 79 63 25 2b 79 25 2a  |.... xh%,yc%+y%*|
00005380  72 68 74 25 0d 03 89 08  ed 20 79 25 0d 03 8a 04  |rht%..... y%....|
00005390  0d 03 8b 27 74 72 61 6e  73 66 6f 72 6d 25 21 30  |...'transform%!0|
000053a0  20 3d 28 65 64 6d 75 6c  25 2f 65 64 64 69 76 25  | =(edmul%/eddiv%|
000053b0  29 2a 36 35 35 33 36 0d  03 8c 13 74 72 61 6e 73  |)*65536....trans|
000053c0  66 6f 72 6d 25 21 34 20  3d 30 0d 03 8d 13 74 72  |form%!4 =0....tr|
000053d0  61 6e 73 66 6f 72 6d 25  21 38 20 3d 30 0d 03 8e  |ansform%!8 =0...|
000053e0  27 74 72 61 6e 73 66 6f  72 6d 25 21 31 32 3d 28  |'transform%!12=(|
000053f0  65 64 6d 75 6c 25 2f 65  64 64 69 76 25 29 2a 36  |edmul%/eddiv%)*6|
00005400  35 35 33 36 0d 03 8f 1c  79 25 3d 79 63 25 2d 79  |5536....y%=yc%-y|
00005410  70 69 78 25 2a 28 67 72  69 64 6f 6e 25 3d b9 29  |pix%*(gridon%=.)|
00005420  0d 03 90 1d 78 78 25 3d  78 63 25 2d 78 70 69 78  |....xx%=xc%-xpix|
00005430  25 2a 28 67 72 69 64 6f  6e 25 3d b9 29 0d 03 91  |%*(gridon%=.)...|
00005440  71 e3 77 25 3d 73 6d 69  6e 78 25 b8 73 6d 61 78  |q.w%=sminx%.smax|
00005450  78 25 2d 31 3a 78 25 3d  78 78 25 2b 77 25 2a 73  |x%-1:x%=xx%+w%*s|
00005460  74 77 25 3a 74 72 61 6e  73 66 6f 72 6d 25 21 31  |tw%:transform%!1|
00005470  36 3d 78 25 3c 3c 38 3a  e3 68 25 3d 73 6d 69 6e  |6=x%<<8:.h%=smin|
00005480  79 25 b8 73 6d 61 78 79  25 2d 31 3a 73 79 6d 62  |y%.smaxy%-1:symb|
00005490  25 3d 63 6f 6c 74 61 62  6c 65 25 3f 28 68 25 2a  |%=coltable%?(h%*|
000054a0  67 72 69 64 77 69 64 74  68 25 2b 77 25 29 0d 03  |gridwidth%+w%)..|
000054b0  92 15 e7 20 28 73 79 6d  62 25 80 31 32 38 29 3d  |... (symb%.128)=|
000054c0  30 20 8c 0d 03 93 21 74  72 61 6e 73 66 6f 72 6d  |0 ....!transform|
000054d0  25 21 32 30 3d 28 79 25  2b 68 25 2a 72 68 74 25  |%!20=(y%+h%*rht%|
000054e0  29 3c 3c 38 0d 03 94 50  c8 99 20 26 30 30 30 34  |)<<8...P.. &0004|
000054f0  35 35 34 30 2c 30 2c 73  79 6d 62 70 6f 69 6e 74  |5540,0,symbpoint|
00005500  25 21 28 73 79 6d 62 25  2a 34 29 2c 73 79 6d 62  |%!(symb%*4),symb|
00005510  73 69 7a 65 25 21 28 73  79 6d 62 25 2a 34 29 2c  |size%!(symb%*4),|
00005520  74 72 61 6e 73 66 6f 72  6d 25 2c 62 6c 6f 63 6b  |transform%,block|
00005530  25 2b 32 38 0d 03 95 05  cd 0d 03 96 07 ed 3a ed  |%+28..........:.|
00005540  0d 03 97 05 cd 0d 03 98  05 cb 0d 03 99 0e c9 20  |............... |
00005550  74 6f 70 72 75 6c 65 25  0d 03 9a 1a 77 78 25 3d  |toprule%....wx%=|
00005560  62 6c 6f 63 6b 25 21 34  2d 62 6c 6f 63 6b 25 21  |block%!4-block%!|
00005570  32 30 0d 03 9b 1b 77 79  25 3d 62 6c 6f 63 6b 25  |20....wy%=block%|
00005580  21 31 36 2d 62 6c 6f 63  6b 25 21 32 34 0d 03 9c  |!16-block%!24...|
00005590  1b 78 63 25 3d 77 78 25  2b 72 75 6c 65 73 69 7a  |.xc%=wx%+rulesiz|
000055a0  65 25 2d 78 70 69 78 25  0d 03 9d 18 79 63 25 3d  |e%-xpix%....yc%=|
000055b0  77 79 25 2d 72 75 6c 65  73 69 7a 65 25 2b 35 32  |wy%-rulesize%+52|
000055c0  0d 03 9e 17 6d 69 6e 78  25 3d 62 6c 6f 63 6b 25  |....minx%=block%|
000055d0  21 32 38 2d 77 78 25 0d  03 9f 17 6d 61 78 78 25  |!28-wx%....maxx%|
000055e0  3d 62 6c 6f 63 6b 25 21  33 36 2d 77 78 25 0d 03  |=block%!36-wx%..|
000055f0  a0 21 6d 69 6e 25 3d 28  6d 69 6e 78 25 2d 72 75  |.!min%=(minx%-ru|
00005600  6c 65 73 69 7a 65 25 29  2f 73 74 77 25 2d 35 0d  |lesize%)/stw%-5.|
00005610  03 a1 21 6d 61 78 25 3d  28 6d 61 78 78 25 2d 72  |..!max%=(maxx%-r|
00005620  75 6c 65 73 69 7a 65 25  29 2f 73 74 77 25 2b 35  |ulesize%)/stw%+5|
00005630  0d 03 a2 12 6d 69 6e 25  2d 3d 6d 69 6e 25 20 83  |....min%-=min% .|
00005640  20 32 0d 03 a3 12 6d 61  78 25 2b 3d 6d 61 78 25  | 2....max%+=max%|
00005650  20 83 20 32 0d 03 a4 27  e7 20 6d 61 78 25 3e 67  | . 2...'. max%>g|
00005660  72 69 64 77 69 64 74 68  25 20 8c 20 6d 61 78 25  |ridwidth% . max%|
00005670  3d 67 72 69 64 77 69 64  74 68 25 0d 03 a5 15 e7  |=gridwidth%.....|
00005680  20 6d 69 6e 25 3c 30 20  8c 20 6d 69 6e 25 3d 30  | min%<0 . min%=0|
00005690  0d 03 a6 1e c8 99 20 77  69 6d 70 5f 73 65 74 63  |...... wimp_setc|
000056a0  6f 6c 25 2c 72 75 6c 65  72 66 63 6f 6c 25 0d 03  |ol%,rulerfcol%..|
000056b0  a7 14 73 63 6c 25 3d 28  73 74 77 25 2d 33 30 29  |..scl%=(stw%-30)|
000056c0  2f 32 0d 03 a8 10 c8 8e  20 6d 61 6e 6e 65 72 25  |/2...... manner%|
000056d0  20 ca 0d 03 a9 09 c9 20  30 2c 31 0d 03 aa 19 e3  | ...... 0,1.....|
000056e0  20 73 74 69 74 63 68 25  3d 6d 69 6e 25 20 b8 20  | stitch%=min% . |
000056f0  6d 61 78 25 0d 03 ab 17  78 25 3d 78 63 25 2b 73  |max%....x%=xc%+s|
00005700  74 69 74 63 68 25 2a 73  74 77 25 0d 03 ac 14 e7  |titch%*stw%.....|
00005710  20 73 74 69 74 63 68 25  83 31 30 3d 30 20 8c 0d  | stitch%.10=0 ..|
00005720  03 ad 40 ec 20 78 25 2b  28 31 36 2a 28 73 74 69  |..@. x%+(16*(sti|
00005730  74 63 68 25 3e 39 29 29  2b 28 38 2a 28 73 74 69  |tch%>9))+(8*(sti|
00005740  74 63 68 25 3e 39 39 29  29 2b 28 38 2a 28 73 74  |tch%>99))+(8*(st|
00005750  69 74 63 68 25 3e 39 39  39 29 29 2c 79 63 25 0d  |itch%>999)),yc%.|
00005760  03 ae 0e f1 20 3b 73 74  69 74 63 68 25 0d 03 af  |.... ;stitch%...|
00005770  0f ec 20 78 25 2c 79 63  25 2d 33 32 0d 03 b0 0f  |.. x%,yc%-32....|
00005780  df 20 78 25 2c 79 63 25  2d 35 32 0d 03 b1 05 cc  |. x%,yc%-52.....|
00005790  0d 03 b2 21 ec 20 78 25  2c 79 63 25 2d 34 32 2d  |...!. x%,yc%-42-|
000057a0  28 37 2a 28 73 74 69 74  63 68 25 83 35 3d 30 29  |(7*(stitch%.5=0)|
000057b0  29 0d 03 b3 0f df 20 78  25 2c 79 63 25 2d 35 32  |)..... x%,yc%-52|
000057c0  0d 03 b4 05 cd 0d 03 b5  0d ed 20 73 74 69 74 63  |.......... stitc|
000057d0  68 25 0d 03 b6 07 c9 20  32 0d 03 b7 18 e3 20 78  |h%..... 2..... x|
000057e0  25 3d 6d 69 6e 25 20 b8  20 6d 61 78 25 20 88 20  |%=min% . max% . |
000057f0  32 0d 03 b8 18 e7 20 78  25 3c 3d 67 72 69 64 77  |2..... x%<=gridw|
00005800  69 64 74 68 25 2f 32 20  8c 0d 03 b9 18 6e 75 6d  |idth%/2 .....num|
00005810  25 3d 67 72 69 64 77 69  64 74 68 25 2f 32 2d 78  |%=gridwidth%/2-x|
00005820  25 0d 03 ba 33 e7 20 6e  75 6d 25 20 83 20 32 3d  |%...3. num% . 2=|
00005830  31 20 8c 20 6e 75 6d 25  2d 3d 31 20 3a 20 78 6d  |1 . num%-=1 : xm|
00005840  6f 76 65 25 3d 73 74 77  25 20 8b 20 78 6d 6f 76  |ove%=stw% . xmov|
00005850  65 25 3d 30 0d 03 bb 43  e7 20 6e 75 6d 25 20 83  |e%=0...C. num% .|
00005860  20 31 32 3d 30 20 8c 20  c8 99 20 77 69 6d 70 5f  | 12=0 . .. wimp_|
00005870  73 65 74 63 6f 6c 25 2c  31 31 20 8b 20 c8 99 20  |setcol%,11 . .. |
00005880  77 69 6d 70 5f 73 65 74  63 6f 6c 25 2c 72 75 6c  |wimp_setcol%,rul|
00005890  65 72 66 63 6f 6c 25 0d  03 bc 0e e7 20 6e 75 6d  |erfcol%..... num|
000058a0  25 3d 30 20 8c 0d 03 bd  26 ec 20 78 63 25 2b 28  |%=0 ....&. xc%+(|
000058b0  67 72 69 64 77 69 64 74  68 25 2f 32 29 2a 73 74  |gridwidth%/2)*st|
000058c0  77 25 2d 38 2c 79 63 25  2d 32 34 0d 03 be 0b f1  |w%-8,yc%-24.....|
000058d0  20 3b 6e 75 6d 25 0d 03  bf 05 cc 0d 03 c0 19 e7  | ;num%..........|
000058e0  20 6e 75 6d 25 3c 31 30  20 8c 20 78 6d 6f 76 65  | num%<10 . xmove|
000058f0  25 2b 3d 38 0d 03 c1 24  ec 20 78 63 25 2b 78 25  |%+=8...$. xc%+x%|
00005900  2a 73 74 77 25 2b 78 6d  6f 76 65 25 2b 73 63 6c  |*stw%+xmove%+scl|
00005910  25 2c 79 63 25 2d 32 34  0d 03 c2 0b f1 20 3b 6e  |%,yc%-24..... ;n|
00005920  75 6d 25 0d 03 c3 05 cd  0d 03 c4 05 cc 0d 03 c5  |um%.............|
00005930  18 6e 75 6d 25 3d 78 25  2d 67 72 69 64 77 69 64  |.num%=x%-gridwid|
00005940  74 68 25 2f 32 0d 03 c6  33 e7 20 6e 75 6d 25 20  |th%/2...3. num% |
00005950  83 20 32 3d 31 20 8c 20  6e 75 6d 25 2d 3d 31 20  |. 2=1 . num%-=1 |
00005960  3a 20 78 6d 6f 76 65 25  3d 73 74 77 25 20 8b 20  |: xmove%=stw% . |
00005970  78 6d 6f 76 65 25 3d 30  0d 03 c7 43 e7 20 6e 75  |xmove%=0...C. nu|
00005980  6d 25 20 83 20 31 32 3d  30 20 8c 20 c8 99 20 77  |m% . 12=0 . .. w|
00005990  69 6d 70 5f 73 65 74 63  6f 6c 25 2c 31 31 20 8b  |imp_setcol%,11 .|
000059a0  20 c8 99 20 77 69 6d 70  5f 73 65 74 63 6f 6c 25  | .. wimp_setcol%|
000059b0  2c 72 75 6c 65 72 66 63  6f 6c 25 0d 03 c8 19 e7  |,rulerfcol%.....|
000059c0  20 6e 75 6d 25 3c 31 30  20 8c 20 78 6d 6f 76 65  | num%<10 . xmove|
000059d0  25 2d 3d 38 0d 03 c9 28  ec 20 78 63 25 2b 28 78  |%-=8...(. xc%+(x|
000059e0  25 2d 31 29 2a 73 74 77  25 2d 78 6d 6f 76 65 25  |%-1)*stw%-xmove%|
000059f0  2b 73 63 6c 25 2c 79 63  25 2d 32 34 0d 03 ca 17  |+scl%,yc%-24....|
00005a00  e7 20 6e 75 6d 25 3c 3e  30 20 8c 20 f1 20 3b 6e  |. num%<>0 . . ;n|
00005a10  75 6d 25 0d 03 cb 05 cd  0d 03 cc 08 ed 20 78 25  |um%.......... x%|
00005a20  0d 03 cd 05 cb 0d 03 ce  0e c9 20 62 6f 74 72 75  |.......... botru|
00005a30  6c 65 25 0d 03 cf 1a 77  78 25 3d 62 6c 6f 63 6b  |le%....wx%=block|
00005a40  25 21 34 2d 62 6c 6f 63  6b 25 21 32 30 0d 03 d0  |%!4-block%!20...|
00005a50  1b 77 79 25 3d 62 6c 6f  63 6b 25 21 31 36 2d 62  |.wy%=block%!16-b|
00005a60  6c 6f 63 6b 25 21 32 34  0d 03 d1 1b 78 63 25 3d  |lock%!24....xc%=|
00005a70  77 78 25 2b 72 75 6c 65  73 69 7a 65 25 2d 78 70  |wx%+rulesize%-xp|
00005a80  69 78 25 0d 03 d2 0e 79  63 25 3d 77 79 25 2d 32  |ix%....yc%=wy%-2|
00005a90  36 0d 03 d3 17 6d 69 6e  78 25 3d 62 6c 6f 63 6b  |6....minx%=block|
00005aa0  25 21 32 38 2d 77 78 25  0d 03 d4 17 6d 61 78 78  |%!28-wx%....maxx|
00005ab0  25 3d 62 6c 6f 63 6b 25  21 33 36 2d 77 78 25 0d  |%=block%!36-wx%.|
00005ac0  03 d5 21 6d 69 6e 25 3d  28 6d 69 6e 78 25 2d 72  |..!min%=(minx%-r|
00005ad0  75 6c 65 73 69 7a 65 25  29 2f 73 74 77 25 2d 35  |ulesize%)/stw%-5|
00005ae0  0d 03 d6 21 6d 61 78 25  3d 28 6d 61 78 78 25 2d  |...!max%=(maxx%-|
00005af0  72 75 6c 65 73 69 7a 65  25 29 2f 73 74 77 25 2b  |rulesize%)/stw%+|
00005b00  35 0d 03 d7 12 6d 69 6e  25 2d 3d 6d 69 6e 25 20  |5....min%-=min% |
00005b10  83 20 32 0d 03 d8 12 6d  61 78 25 2b 3d 6d 61 78  |. 2....max%+=max|
00005b20  25 20 83 20 32 0d 03 d9  27 e7 20 6d 61 78 25 3e  |% . 2...'. max%>|
00005b30  67 72 69 64 77 69 64 74  68 25 20 8c 20 6d 61 78  |gridwidth% . max|
00005b40  25 3d 67 72 69 64 77 69  64 74 68 25 0d 03 da 15  |%=gridwidth%....|
00005b50  e7 20 6d 69 6e 25 3c 30  20 8c 20 6d 69 6e 25 3d  |. min%<0 . min%=|
00005b60  30 0d 03 db 1e c8 99 20  77 69 6d 70 5f 73 65 74  |0...... wimp_set|
00005b70  63 6f 6c 25 2c 72 75 6c  65 72 66 63 6f 6c 25 0d  |col%,rulerfcol%.|
00005b80  03 dc 14 73 63 6c 25 3d  28 73 74 77 25 2d 33 30  |...scl%=(stw%-30|
00005b90  29 2f 32 0d 03 dd 10 c8  8e 20 6d 61 6e 6e 65 72  |)/2...... manner|
00005ba0  25 20 ca 0d 03 de 09 c9  20 30 2c 31 0d 03 df 19  |% ...... 0,1....|
00005bb0  e3 20 73 74 69 74 63 68  25 3d 6d 69 6e 25 20 b8  |. stitch%=min% .|
00005bc0  20 6d 61 78 25 0d 03 e0  17 78 25 3d 78 63 25 2b  | max%....x%=xc%+|
00005bd0  73 74 69 74 63 68 25 2a  73 74 77 25 0d 03 e1 14  |stitch%*stw%....|
00005be0  e7 20 73 74 69 74 63 68  25 83 31 30 3d 30 20 8c  |. stitch%.10=0 .|
00005bf0  0d 03 e2 40 ec 20 78 25  2b 28 31 36 2a 28 73 74  |...@. x%+(16*(st|
00005c00  69 74 63 68 25 3e 39 29  29 2b 28 38 2a 28 73 74  |itch%>9))+(8*(st|
00005c10  69 74 63 68 25 3e 39 39  29 29 2b 28 38 2a 28 73  |itch%>99))+(8*(s|
00005c20  74 69 74 63 68 25 3e 39  39 39 29 29 2c 79 63 25  |titch%>999)),yc%|
00005c30  0d 03 e3 0e f1 20 3b 73  74 69 74 63 68 25 0d 03  |..... ;stitch%..|
00005c40  e4 0f ec 20 78 25 2c 77  79 25 2d 32 30 0d 03 e5  |... x%,wy%-20...|
00005c50  0c df 20 78 25 2c 77 79  25 0d 03 e6 05 cc 0d 03  |.. x%,wy%.......|
00005c60  e7 21 ec 20 78 25 2c 77  79 25 2d 31 30 2b 28 37  |.!. x%,wy%-10+(7|
00005c70  2a 28 73 74 69 74 63 68  25 83 35 3d 30 29 29 0d  |*(stitch%.5=0)).|
00005c80  03 e8 0c df 20 78 25 2c  77 79 25 0d 03 e9 05 cd  |.... x%,wy%.....|
00005c90  0d 03 ea 0d ed 20 73 74  69 74 63 68 25 0d 03 eb  |..... stitch%...|
00005ca0  07 c9 20 32 0d 03 ec 18  e3 20 78 25 3d 6d 69 6e  |.. 2..... x%=min|
00005cb0  25 20 b8 20 6d 61 78 25  20 88 20 32 0d 03 ed 18  |% . max% . 2....|
00005cc0  e7 20 78 25 3c 3d 67 72  69 64 77 69 64 74 68 25  |. x%<=gridwidth%|
00005cd0  2f 32 20 8c 0d 03 ee 18  6e 75 6d 25 3d 67 72 69  |/2 .....num%=gri|
00005ce0  64 77 69 64 74 68 25 2f  32 2d 78 25 0d 03 ef 33  |dwidth%/2-x%...3|
00005cf0  e7 20 6e 75 6d 25 20 83  20 32 3d 31 20 8c 20 6e  |. num% . 2=1 . n|
00005d00  75 6d 25 2d 3d 31 20 3a  20 78 6d 6f 76 65 25 3d  |um%-=1 : xmove%=|
00005d10  73 74 77 25 20 8b 20 78  6d 6f 76 65 25 3d 30 0d  |stw% . xmove%=0.|
00005d20  03 f0 43 e7 20 6e 75 6d  25 20 83 20 31 32 3d 30  |..C. num% . 12=0|
00005d30  20 8c 20 c8 99 20 77 69  6d 70 5f 73 65 74 63 6f  | . .. wimp_setco|
00005d40  6c 25 2c 31 31 20 8b 20  c8 99 20 77 69 6d 70 5f  |l%,11 . .. wimp_|
00005d50  73 65 74 63 6f 6c 25 2c  72 75 6c 65 72 66 63 6f  |setcol%,rulerfco|
00005d60  6c 25 0d 03 f1 0e e7 20  6e 75 6d 25 3d 30 20 8c  |l%..... num%=0 .|
00005d70  0d 03 f2 26 ec 20 78 63  25 2b 28 67 72 69 64 77  |...&. xc%+(gridw|
00005d80  69 64 74 68 25 2f 32 29  2a 73 74 77 25 2d 38 2c  |idth%/2)*stw%-8,|
00005d90  79 63 25 2b 32 34 0d 03  f3 0b f1 20 3b 6e 75 6d  |yc%+24..... ;num|
00005da0  25 0d 03 f4 05 cc 0d 03  f5 19 e7 20 6e 75 6d 25  |%.......... num%|
00005db0  3c 31 30 20 8c 20 78 6d  6f 76 65 25 2b 3d 38 0d  |<10 . xmove%+=8.|
00005dc0  03 f6 24 ec 20 78 63 25  2b 78 25 2a 73 74 77 25  |..$. xc%+x%*stw%|
00005dd0  2b 78 6d 6f 76 65 25 2b  73 63 6c 25 2c 79 63 25  |+xmove%+scl%,yc%|
00005de0  2b 32 34 0d 03 f7 0b f1  20 3b 6e 75 6d 25 0d 03  |+24..... ;num%..|
00005df0  f8 05 cd 0d 03 f9 05 cc  0d 03 fa 18 6e 75 6d 25  |............num%|
00005e00  3d 78 25 2d 67 72 69 64  77 69 64 74 68 25 2f 32  |=x%-gridwidth%/2|
00005e10  0d 03 fb 33 e7 20 6e 75  6d 25 20 83 20 32 3d 31  |...3. num% . 2=1|
00005e20  20 8c 20 6e 75 6d 25 2d  3d 31 20 3a 20 78 6d 6f  | . num%-=1 : xmo|
00005e30  76 65 25 3d 73 74 77 25  20 8b 20 78 6d 6f 76 65  |ve%=stw% . xmove|
00005e40  25 3d 30 0d 03 fc 43 e7  20 6e 75 6d 25 20 83 20  |%=0...C. num% . |
00005e50  31 32 3d 30 20 8c 20 c8  99 20 77 69 6d 70 5f 73  |12=0 . .. wimp_s|
00005e60  65 74 63 6f 6c 25 2c 31  31 20 8b 20 c8 99 20 77  |etcol%,11 . .. w|
00005e70  69 6d 70 5f 73 65 74 63  6f 6c 25 2c 72 75 6c 65  |imp_setcol%,rule|
00005e80  72 66 63 6f 6c 25 0d 03  fd 19 e7 20 6e 75 6d 25  |rfcol%..... num%|
00005e90  3c 31 30 20 8c 20 78 6d  6f 76 65 25 2d 3d 38 0d  |<10 . xmove%-=8.|
00005ea0  03 fe 28 ec 20 78 63 25  2b 28 78 25 2d 31 29 2a  |..(. xc%+(x%-1)*|
00005eb0  73 74 77 25 2d 78 6d 6f  76 65 25 2b 73 63 6c 25  |stw%-xmove%+scl%|
00005ec0  2c 79 63 25 2b 32 34 0d  03 ff 17 e7 20 6e 75 6d  |,yc%+24..... num|
00005ed0  25 3c 3e 30 20 8c 20 f1  20 3b 6e 75 6d 25 0d 04  |%<>0 . . ;num%..|
00005ee0  00 05 cd 0d 04 01 08 ed  20 78 25 0d 04 02 05 cb  |........ x%.....|
00005ef0  0d 04 03 0f c9 20 6c 65  66 74 72 75 6c 65 25 0d  |..... leftrule%.|
00005f00  04 04 1a 77 78 25 3d 62  6c 6f 63 6b 25 21 34 2d  |...wx%=block%!4-|
00005f10  62 6c 6f 63 6b 25 21 32  30 0d 04 05 1b 77 79 25  |block%!20....wy%|
00005f20  3d 62 6c 6f 63 6b 25 21  31 36 2d 62 6c 6f 63 6b  |=block%!16-block|
00005f30  25 21 32 34 0d 04 06 1c  78 63 25 3d 77 78 25 2b  |%!24....xc%=wx%+|
00005f40  72 75 6c 65 73 69 7a 65  25 2d 78 70 69 78 32 25  |rulesize%-xpix2%|
00005f50  0d 04 07 21 79 63 25 3d  77 79 25 2b 72 75 6c 65  |...!yc%=wy%+rule|
00005f60  68 65 69 67 68 74 25 2b  72 75 6c 65 73 69 7a 65  |height%+rulesize|
00005f70  25 0d 04 08 23 6d 69 6e  79 25 3d 62 6c 6f 63 6b  |%...#miny%=block|
00005f80  25 21 33 32 2d 77 79 25  2d 72 75 6c 65 68 65 69  |%!32-wy%-rulehei|
00005f90  67 68 74 25 0d 04 09 23  6d 61 78 79 25 3d 62 6c  |ght%...#maxy%=bl|
00005fa0  6f 63 6b 25 21 34 30 2d  77 79 25 2d 72 75 6c 65  |ock%!40-wy%-rule|
00005fb0  68 65 69 67 68 74 25 0d  04 0a 21 6d 69 6e 25 3d  |height%...!min%=|
00005fc0  28 6d 69 6e 79 25 2d 72  75 6c 65 73 69 7a 65 25  |(miny%-rulesize%|
00005fd0  29 2f 72 68 74 25 2d 35  0d 04 0b 21 6d 61 78 25  |)/rht%-5...!max%|
00005fe0  3d 28 6d 61 78 79 25 2d  72 75 6c 65 73 69 7a 65  |=(maxy%-rulesize|
00005ff0  25 29 2f 72 68 74 25 2b  35 0d 04 0c 29 e7 20 6d  |%)/rht%+5...). m|
00006000  61 78 25 3e 67 72 69 64  68 65 69 67 68 74 25 20  |ax%>gridheight% |
00006010  8c 20 6d 61 78 25 3d 67  72 69 64 68 65 69 67 68  |. max%=gridheigh|
00006020  74 25 0d 04 0d 15 e7 20  6d 69 6e 25 3c 30 20 8c  |t%..... min%<0 .|
00006030  20 6d 69 6e 25 3d 30 0d  04 0e 1e c8 99 20 77 69  | min%=0...... wi|
00006040  6d 70 5f 73 65 74 63 6f  6c 25 2c 72 75 6c 65 72  |mp_setcol%,ruler|
00006050  66 63 6f 6c 25 0d 04 0f  10 c8 8e 20 6d 61 6e 6e  |fcol%...... mann|
00006060  65 72 25 20 ca 0d 04 10  09 c9 20 30 2c 31 0d 04  |er% ...... 0,1..|
00006070  11 16 e3 20 72 6f 77 25  3d 6d 69 6e 25 20 b8 20  |... row%=min% . |
00006080  6d 61 78 25 0d 04 12 0d  78 25 3d 78 63 25 2d 32  |max%....x%=xc%-2|
00006090  36 0d 04 13 1a 79 25 3d  79 63 25 2b 72 6f 77 25  |6....y%=yc%+row%|
000060a0  2a 72 68 74 25 2b 79 70  69 78 25 0d 04 14 11 e7  |*rht%+ypix%.....|
000060b0  20 72 6f 77 25 83 31 30  3d 30 20 8c 0d 04 15 4c  | row%.10=0 ....L|
000060c0  ec 20 78 25 2b 28 31 36  2a 28 72 6f 77 25 3e 39  |. x%+(16*(row%>9|
000060d0  29 29 2b 28 31 36 2a 28  72 6f 77 25 3e 39 39 29  |))+(16*(row%>99)|
000060e0  29 2b 28 38 2a 28 72 6f  77 25 3e 39 39 39 29 29  |)+(8*(row%>999))|
000060f0  2c 79 25 2d 79 70 69 78  32 25 2d 28 33 32 2a 28  |,y%-ypix2%-(32*(|
00006100  72 6f 77 25 3d 30 29 29  0d 04 16 0b f1 20 3b 72  |row%=0))..... ;r|
00006110  6f 77 25 0d 04 17 0f ec  20 78 63 25 2d 32 30 2c  |ow%..... xc%-20,|
00006120  79 25 0d 04 18 0c df 20  78 63 25 2c 79 25 0d 04  |y%..... xc%,y%..|
00006130  19 05 cc 0d 04 1a 1e ec  20 78 63 25 2d 31 30 2b  |........ xc%-10+|
00006140  28 37 2a 28 72 6f 77 25  83 35 3d 30 29 29 2c 79  |(7*(row%.5=0)),y|
00006150  25 0d 04 1b 0c df 20 78  63 25 2c 79 25 0d 04 1c  |%..... xc%,y%...|
00006160  05 cd 0d 04 1d 0a ed 20  72 6f 77 25 0d 04 1e 07  |....... row%....|
00006170  c9 20 32 0d 04 1f 12 6d  69 6e 25 2d 3d 6d 69 6e  |. 2....min%-=min|
00006180  25 20 83 20 32 0d 04 20  14 73 63 6c 25 3d 28 73  |% . 2.. .scl%=(s|
00006190  74 77 25 2d 33 30 29 2f  32 0d 04 21 0c 78 6d 6f  |tw%-30)/2..!.xmo|
000061a0  76 65 25 3d 30 0d 04 22  18 e3 20 79 25 3d 6d 69  |ve%=0..".. y%=mi|
000061b0  6e 25 20 b8 20 6d 61 78  25 20 88 20 32 0d 04 23  |n% . max% . 2..#|
000061c0  22 e7 20 79 25 3c 31 30  20 8c 20 78 6d 6f 76 65  |". y%<10 . xmove|
000061d0  25 3d 31 36 20 8b 20 78  6d 6f 76 65 25 3d 30 0d  |%=16 . xmove%=0.|
000061e0  04 24 18 e7 20 79 25 3e  39 39 20 8c 20 78 6d 6f  |.$.. y%>99 . xmo|
000061f0  76 65 25 2d 3d 31 36 0d  04 25 41 e7 20 79 25 20  |ve%-=16..%A. y% |
00006200  83 20 31 30 3d 30 20 8c  20 c8 99 20 77 69 6d 70  |. 10=0 . .. wimp|
00006210  5f 73 65 74 63 6f 6c 25  2c 31 31 20 8b 20 c8 99  |_setcol%,11 . ..|
00006220  20 77 69 6d 70 5f 73 65  74 63 6f 6c 25 2c 72 75  | wimp_setcol%,ru|
00006230  6c 65 72 66 63 6f 6c 25  0d 04 26 24 ec 20 78 63  |lerfcol%..&$. xc|
00006240  25 2d 33 32 2b 78 6d 6f  76 65 25 2c 79 63 25 2b  |%-32+xmove%,yc%+|
00006250  79 25 2a 72 68 74 25 2d  73 63 6c 25 0d 04 27 09  |y%*rht%-scl%..'.|
00006260  f1 20 3b 79 25 0d 04 28  08 ed 20 79 25 0d 04 29  |. ;y%..(.. y%..)|
00006270  05 cb 0d 04 2a 10 c9 20  72 69 67 68 74 72 75 6c  |....*.. rightrul|
00006280  65 25 0d 04 2b 1a 77 78  25 3d 62 6c 6f 63 6b 25  |e%..+.wx%=block%|
00006290  21 34 2d 62 6c 6f 63 6b  25 21 32 30 0d 04 2c 1b  |!4-block%!20..,.|
000062a0  77 79 25 3d 62 6c 6f 63  6b 25 21 31 36 2d 62 6c  |wy%=block%!16-bl|
000062b0  6f 63 6b 25 21 32 34 0d  04 2d 0b 78 63 25 3d 77  |ock%!24..-.xc%=w|
000062c0  78 25 0d 04 2e 21 79 63  25 3d 77 79 25 2b 72 75  |x%...!yc%=wy%+ru|
000062d0  6c 65 68 65 69 67 68 74  25 2b 72 75 6c 65 73 69  |leheight%+rulesi|
000062e0  7a 65 25 0d 04 2f 23 6d  69 6e 79 25 3d 62 6c 6f  |ze%../#miny%=blo|
000062f0  63 6b 25 21 33 32 2d 77  79 25 2d 72 75 6c 65 68  |ck%!32-wy%-ruleh|
00006300  65 69 67 68 74 25 0d 04  30 23 6d 61 78 79 25 3d  |eight%..0#maxy%=|
00006310  62 6c 6f 63 6b 25 21 34  30 2d 77 79 25 2d 72 75  |block%!40-wy%-ru|
00006320  6c 65 68 65 69 67 68 74  25 0d 04 31 21 6d 69 6e  |leheight%..1!min|
00006330  25 3d 28 6d 69 6e 79 25  2d 72 75 6c 65 73 69 7a  |%=(miny%-rulesiz|
00006340  65 25 29 2f 72 68 74 25  2d 35 0d 04 32 21 6d 61  |e%)/rht%-5..2!ma|
00006350  78 25 3d 28 6d 61 78 79  25 2d 72 75 6c 65 73 69  |x%=(maxy%-rulesi|
00006360  7a 65 25 29 2f 72 68 74  25 2b 35 0d 04 33 29 e7  |ze%)/rht%+5..3).|
00006370  20 6d 61 78 25 3e 67 72  69 64 68 65 69 67 68 74  | max%>gridheight|
00006380  25 20 8c 20 6d 61 78 25  3d 67 72 69 64 68 65 69  |% . max%=gridhei|
00006390  67 68 74 25 0d 04 34 15  e7 20 6d 69 6e 25 3c 30  |ght%..4.. min%<0|
000063a0  20 8c 20 6d 69 6e 25 3d  30 0d 04 35 1e c8 99 20  | . min%=0..5... |
000063b0  77 69 6d 70 5f 73 65 74  63 6f 6c 25 2c 72 75 6c  |wimp_setcol%,rul|
000063c0  65 72 66 63 6f 6c 25 0d  04 36 10 c8 8e 20 6d 61  |erfcol%..6... ma|
000063d0  6e 6e 65 72 25 20 ca 0d  04 37 09 c9 20 30 2c 31  |nner% ...7.. 0,1|
000063e0  0d 04 38 16 e3 20 72 6f  77 25 3d 6d 69 6e 25 20  |..8.. row%=min% |
000063f0  b8 20 6d 61 78 25 0d 04  39 0d 78 25 3d 78 63 25  |. max%..9.x%=xc%|
00006400  2b 31 30 0d 04 3a 1a 79  25 3d 79 63 25 2b 72 6f  |+10..:.y%=yc%+ro|
00006410  77 25 2a 72 68 74 25 2b  79 70 69 78 25 0d 04 3b  |w%*rht%+ypix%..;|
00006420  11 e7 20 72 6f 77 25 83  31 30 3d 30 20 8c 0d 04  |.. row%.10=0 ...|
00006430  3c 2f ec 20 78 25 2b 28  38 2a 28 72 6f 77 25 3e  |</. x%+(8*(row%>|
00006440  39 39 39 29 29 2c 79 25  2d 79 70 69 78 32 25 2d  |999)),y%-ypix2%-|
00006450  28 33 32 2a 28 72 6f 77  25 3d 30 29 29 0d 04 3d  |(32*(row%=0))..=|
00006460  0b f1 20 3b 72 6f 77 25  0d 04 3e 0f ec 20 78 63  |.. ;row%..>.. xc|
00006470  25 2b 32 30 2c 79 25 0d  04 3f 0c df 20 78 63 25  |%+20,y%..?.. xc%|
00006480  2c 79 25 0d 04 40 05 cc  0d 04 41 1e ec 20 78 63  |,y%..@....A.. xc|
00006490  25 2b 31 30 2d 28 37 2a  28 72 6f 77 25 83 35 3d  |%+10-(7*(row%.5=|
000064a0  30 29 29 2c 79 25 0d 04  42 0c df 20 78 63 25 2c  |0)),y%..B.. xc%,|
000064b0  79 25 0d 04 43 05 cd 0d  04 44 0a ed 20 72 6f 77  |y%..C....D.. row|
000064c0  25 0d 04 45 07 c9 20 32  0d 04 46 12 6d 69 6e 25  |%..E.. 2..F.min%|
000064d0  2d 3d 6d 69 6e 25 20 83  20 32 0d 04 47 14 73 63  |-=min% . 2..G.sc|
000064e0  6c 25 3d 28 73 74 77 25  2d 33 30 29 2f 32 0d 04  |l%=(stw%-30)/2..|
000064f0  48 18 e3 20 79 25 3d 6d  69 6e 25 20 b8 20 6d 61  |H.. y%=min% . ma|
00006500  78 25 20 88 20 32 0d 04  49 41 e7 20 79 25 20 83  |x% . 2..IA. y% .|
00006510  20 31 30 3d 30 20 8c 20  c8 99 20 77 69 6d 70 5f  | 10=0 . .. wimp_|
00006520  73 65 74 63 6f 6c 25 2c  31 31 20 8b 20 c8 99 20  |setcol%,11 . .. |
00006530  77 69 6d 70 5f 73 65 74  63 6f 6c 25 2c 72 75 6c  |wimp_setcol%,rul|
00006540  65 72 66 63 6f 6c 25 0d  04 4a 1a ec 20 78 63 25  |erfcol%..J.. xc%|
00006550  2c 79 63 25 2b 79 25 2a  72 68 74 25 2d 73 63 6c  |,yc%+y%*rht%-scl|
00006560  25 0d 04 4b 09 f1 20 3b  79 25 0d 04 4c 08 ed 20  |%..K.. ;y%..L.. |
00006570  79 25 0d 04 4d 05 cb 0d  04 4e 05 cb 0d 04 4f 04  |y%..M....N....O.|
00006580  0d 04 50 20 c8 99 20 26  30 30 30 34 30 30 43 41  |..P .. &000400CA|
00006590  2c 2c 62 6c 6f 63 6b 25  20 b8 20 6d 6f 72 65 25  |,,block% . more%|
000065a0  0d 04 51 05 ce 0d 04 52  05 e1 0d 04 53 05 3a 0d  |..Q....R....S.:.|
000065b0  04 54 12 dd 20 f2 71 63  28 61 6e 73 77 65 72 25  |.T.. .qc(answer%|
000065c0  29 0d 04 55 11 e7 20 61  6e 73 77 65 72 25 3d 30  |)..U.. answer%=0|
000065d0  20 8c 0d 04 56 18 e7 20  74 69 74 6c 65 6f 70 65  | ...V.. titleope|
000065e0  6e 25 3d b9 20 8c 20 f2  61 62 0d 04 57 1e e7 20  |n%=. . .ab..W.. |
000065f0  6d 61 69 6e 6f 70 65 6e  25 3d a3 20 8c 20 f2 6e  |mainopen%=. . .n|
00006600  64 28 6d 61 69 6e 25 29  0d 04 58 1e e7 20 65 64  |d(main%)..X.. ed|
00006610  69 74 6f 70 65 6e 25 3d  b9 20 8c 20 f2 7a 61 28  |itopen%=. . .za(|
00006620  65 64 69 74 25 29 0d 04  59 2f e7 20 73 6f 75 72  |edit%)..Y/. sour|
00006630  63 65 73 70 72 25 3c 3e  30 20 8c 20 73 6f 75 72  |cespr%<>0 . sour|
00006640  63 65 73 70 72 25 3d a4  68 28 73 6f 75 72 63 65  |cespr%=.h(source|
00006650  73 70 72 25 29 0d 04 5a  32 e7 20 74 72 61 6e 73  |spr%)..Z2. trans|
00006660  74 61 62 6c 65 25 3c 3e  30 20 8c 20 74 72 61 6e  |table%<>0 . tran|
00006670  73 74 61 62 6c 65 25 3d  a4 68 28 74 72 61 6e 73  |stable%=.h(trans|
00006680  74 61 62 6c 65 25 29 0d  04 5b 2c e7 20 63 6f 6c  |table%)..[,. col|
00006690  74 61 62 6c 65 25 3c 3e  30 20 8c 20 63 6f 6c 74  |table%<>0 . colt|
000066a0  61 62 6c 65 25 3d a4 68  28 63 6f 6c 74 61 62 6c  |able%=.h(coltabl|
000066b0  65 25 29 0d 04 5c 12 65  64 69 74 63 72 65 61 74  |e%)..\.editcreat|
000066c0  65 64 25 3d a3 0d 04 5d  1c 73 74 61 74 65 5f 66  |ed%=...].state_f|
000066d0  69 6c 65 24 3d 64 61 74  61 5f 69 6e 66 69 6c 65  |ile$=data_infile|
000066e0  24 0d 04 5e 07 f2 64 62  0d 04 5f 2f e7 20 65 64  |$..^..db.._/. ed|
000066f0  69 74 73 74 6f 72 65 25  3c 3e 30 20 8c 20 65 64  |itstore%<>0 . ed|
00006700  69 74 73 74 6f 72 65 25  3d a4 68 28 65 64 69 74  |itstore%=.h(edit|
00006710  73 74 6f 72 65 25 29 0d  04 60 11 21 62 6c 6f 63  |store%)..`.!bloc|
00006720  6b 25 3d 6d 61 69 6e 25  0d 04 61 10 c8 8e 20 6d  |k%=main%..a... m|
00006730  61 6e 6e 65 72 25 20 ca  0d 04 62 16 c9 20 30 2c  |anner% ...b.. 0,|
00006740  32 3a 20 62 6c 6f 63 6b  25 21 34 3d 33 30 0d 04  |2: block%!4=30..|
00006750  63 16 c9 20 31 20 20 3a  20 62 6c 6f 63 6b 25 21  |c.. 1  : block%!|
00006760  34 3d 31 36 0d 04 64 05  cb 0d 04 65 12 62 6c 6f  |4=16..d....e.blo|
00006770  63 6b 25 21 32 34 3d 26  31 38 46 0d 04 66 07 f2  |ck%!24=&18F..f..|
00006780  6d 63 0d 04 67 07 f2 6d  62 0d 04 68 05 cd 0d 04  |mc..g..mb..h....|
00006790  69 05 e1 0d 04 6a 05 3a  0d 04 6b 12 dd 20 f2 6f  |i....j.:..k.. .o|
000067a0  64 28 61 6e 73 77 65 72  25 29 0d 04 6c 11 e7 20  |d(answer%)..l.. |
000067b0  61 6e 73 77 65 72 25 3d  30 20 8c 0d 04 6d 0e f2  |answer%=0 ...m..|
000067c0  7a 61 28 65 64 69 74 25  29 0d 04 6e 13 f2 7a 61  |za(edit%)..n..za|
000067d0  28 63 6f 6c 63 68 6f 6f  73 65 25 29 0d 04 6f 13  |(colchoose%)..o.|
000067e0  f2 7a 61 28 63 6f 6c 63  72 65 61 74 65 25 29 0d  |.za(colcreate%).|
000067f0  04 70 2c e7 20 63 6f 6c  74 61 62 6c 65 25 3c 3e  |.p,. coltable%<>|
00006800  30 20 8c 20 63 6f 6c 74  61 62 6c 65 25 3d a4 68  |0 . coltable%=.h|
00006810  28 63 6f 6c 74 61 62 6c  65 25 29 0d 04 71 32 e7  |(coltable%)..q2.|
00006820  20 74 72 61 6e 73 74 61  62 6c 65 25 3c 3e 30 20  | transtable%<>0 |
00006830  8c 20 74 72 61 6e 73 74  61 62 6c 65 25 3d a4 68  |. transtable%=.h|
00006840  28 74 72 61 6e 73 74 61  62 6c 65 25 29 0d 04 72  |(transtable%)..r|
00006850  13 f2 6a 65 28 73 6d 65  6e 75 25 2c 30 2c 31 29  |..je(smenu%,0,1)|
00006860  0d 04 73 13 f2 6a 65 28  73 6d 65 6e 75 25 2c 31  |..s..je(smenu%,1|
00006870  2c 31 29 0d 04 74 1d 65  64 69 74 73 74 6f 72 65  |,1)..t.editstore|
00006880  25 3d a4 68 28 65 64 69  74 73 74 6f 72 65 25 29  |%=.h(editstore%)|
00006890  0d 04 75 12 65 64 69 74  63 72 65 61 74 65 64 25  |..u.editcreated%|
000068a0  3d a3 0d 04 76 0a f2 74  65 28 31 29 0d 04 77 05  |=...v..te(1)..w.|
000068b0  cc 0d 04 78 39 24 74 65  6e 73 69 6f 6e 5f 73 71  |...x9$tension_sq|
000068c0  5f 77 69 64 74 68 25 3d  24 28 65 64 69 74 73 74  |_width%=$(editst|
000068d0  6f 72 65 25 2b 30 29 3a  20 f2 66 65 28 6d 61 69  |ore%+0): .fe(mai|
000068e0  6e 25 2c 31 35 2c 30 2c  30 29 0d 04 79 3a 24 74  |n%,15,0,0)..y:$t|
000068f0  65 6e 73 69 6f 6e 5f 73  71 5f 68 65 69 67 68 74  |ension_sq_height|
00006900  25 3d 24 28 65 64 69 74  73 74 6f 72 65 25 2b 37  |%=$(editstore%+7|
00006910  29 3a 20 f2 66 65 28 6d  61 69 6e 25 2c 31 36 2c  |): .fe(main%,16,|
00006920  30 2c 30 29 0d 04 7a 3d  24 74 65 6e 73 69 6f 6e  |0,0)..z=$tension|
00006930  5f 73 71 5f 73 74 69 74  63 68 65 73 25 3d 24 28  |_sq_stitches%=$(|
00006940  65 64 69 74 73 74 6f 72  65 25 2b 31 34 29 3a 20  |editstore%+14): |
00006950  f2 66 65 28 6d 61 69 6e  25 2c 31 37 2c 30 2c 30  |.fe(main%,17,0,0|
00006960  29 0d 04 7b 39 24 74 65  6e 73 69 6f 6e 5f 73 71  |)..{9$tension_sq|
00006970  5f 72 6f 77 73 25 3d 24  28 65 64 69 74 73 74 6f  |_rows%=$(editsto|
00006980  72 65 25 2b 32 31 29 3a  20 f2 66 65 28 6d 61 69  |re%+21): .fe(mai|
00006990  6e 25 2c 31 38 2c 30 2c  30 29 0d 04 7c 2f 24 74  |n%,18,0,0)..|/$t|
000069a0  64 73 65 74 25 3d 24 28  65 64 69 74 73 74 6f 72  |dset%=$(editstor|
000069b0  65 25 2b 32 38 29 3a 20  f2 66 65 28 6d 61 69 6e  |e%+28): .fe(main|
000069c0  25 2c 34 36 2c 30 2c 30  29 0d 04 7d 33 24 63 6f  |%,46,0,0)..}3$co|
000069d0  6e 76 5f 72 6f 77 73 25  3d 24 28 65 64 69 74 73  |nv_rows%=$(edits|
000069e0  74 6f 72 65 25 2b 33 35  29 3a 20 f2 66 65 28 6d  |tore%+35): .fe(m|
000069f0  61 69 6e 25 2c 31 39 2c  30 2c 30 29 0d 04 7e 37  |ain%,19,0,0)..~7|
00006a00  24 61 6e 73 5f 63 6f 6e  76 5f 72 6f 77 73 25 3d  |$ans_conv_rows%=|
00006a10  24 28 65 64 69 74 73 74  6f 72 65 25 2b 34 32 29  |$(editstore%+42)|
00006a20  3a 20 f2 66 65 28 6d 61  69 6e 25 2c 32 30 2c 30  |: .fe(main%,20,0|
00006a30  2c 30 29 0d 04 7f 37 24  63 6f 6e 76 5f 73 74 69  |,0)...7$conv_sti|
00006a40  74 63 68 65 73 25 3d 24  28 65 64 69 74 73 74 6f  |tches%=$(editsto|
00006a50  72 65 25 2b 34 39 29 3a  20 f2 66 65 28 6d 61 69  |re%+49): .fe(mai|
00006a60  6e 25 2c 32 31 2c 30 2c  30 29 0d 04 80 3b 24 61  |n%,21,0,0)...;$a|
00006a70  6e 73 5f 63 6f 6e 76 5f  73 74 69 74 63 68 65 73  |ns_conv_stitches|
00006a80  25 3d 24 28 65 64 69 74  73 74 6f 72 65 25 2b 35  |%=$(editstore%+5|
00006a90  36 29 3a 20 f2 66 65 28  6d 61 69 6e 25 2c 32 32  |6): .fe(main%,22|
00006aa0  2c 30 2c 30 29 0d 04 81  2f 24 67 72 6f 77 73 25  |,0,0).../$grows%|
00006ab0  3d 24 28 65 64 69 74 73  74 6f 72 65 25 2b 36 33  |=$(editstore%+63|
00006ac0  29 3a 20 f2 66 65 28 6d  61 69 6e 25 2c 32 39 2c  |): .fe(main%,29,|
00006ad0  30 2c 30 29 0d 04 82 33  24 67 73 74 69 74 63 68  |0,0)...3$gstitch|
00006ae0  65 73 25 3d 24 28 65 64  69 74 73 74 6f 72 65 25  |es%=$(editstore%|
00006af0  2b 37 30 29 3a 20 f2 66  65 28 6d 61 69 6e 25 2c  |+70): .fe(main%,|
00006b00  33 30 2c 30 2c 30 29 0d  04 83 31 24 67 68 65 69  |30,0,0)...1$ghei|
00006b10  67 68 74 25 3d 24 28 65  64 69 74 73 74 6f 72 65  |ght%=$(editstore|
00006b20  25 2b 37 37 29 3a 20 f2  66 65 28 6d 61 69 6e 25  |%+77): .fe(main%|
00006b30  2c 33 31 2c 30 2c 30 29  0d 04 84 30 24 67 77 69  |,31,0,0)...0$gwi|
00006b40  64 74 68 25 3d 24 28 65  64 69 74 73 74 6f 72 65  |dth%=$(editstore|
00006b50  25 2b 38 34 29 3a 20 f2  66 65 28 6d 61 69 6e 25  |%+84): .fe(main%|
00006b60  2c 33 32 2c 30 2c 30 29  0d 04 85 17 e7 20 65 64  |,32,0,0)..... ed|
00006b70  69 74 73 74 6f 72 65 25  3f 39 31 3d 30 20 8c 0d  |itstore%?91=0 ..|
00006b80  04 86 1d f2 66 65 28 6d  61 69 6e 25 2c 33 37 2c  |....fe(main%,37,|
00006b90  30 3c 3c 32 31 2c 31 3c  3c 32 31 29 0d 04 87 05  |0<<21,1<<21)....|
00006ba0  cc 0d 04 88 1d f2 66 65  28 6d 61 69 6e 25 2c 33  |......fe(main%,3|
00006bb0  37 2c 31 3c 3c 32 31 2c  31 3c 3c 32 31 29 0d 04  |7,1<<21,1<<21)..|
00006bc0  89 05 cd 0d 04 8a 05 cd  0d 04 8b 05 e1 0d 04 8c  |................|
00006bd0  05 3a 0d 04 8d 09 dd 20  f2 78 61 0d 04 8e 12 e7  |.:..... .xa.....|
00006be0  20 73 74 61 72 72 65 64  25 3d b9 20 8c 0d 04 8f  | starred%=. ....|
00006bf0  83 f2 6b 61 28 22 43 6c  65 61 72 69 6e 67 20 74  |..ka("Clearing t|
00006c00  68 65 20 6d 65 6d 6f 72  79 20 77 69 6c 6c 20 63  |he memory will c|
00006c10  61 75 73 65 20 61 6c 6c  20 79 6f 75 72 20 63 75  |ause all your cu|
00006c20  72 72 65 6e 74 20 77 6f  72 6b 20 74 6f 20 62 65  |rrent work to be|
00006c30  20 6c 6f 73 74 2e 20 41  72 65 20 79 6f 75 20 73  | lost. Are you s|
00006c40  75 72 65 20 79 6f 75 20  77 69 73 68 20 74 6f 20  |ure you wish to |
00006c50  64 6f 20 74 68 61 74 3f  22 2c 22 43 6f 6e 74 69  |do that?","Conti|
00006c60  6e 75 65 22 2c 22 43 61  6e 63 65 6c 22 2c 39 29  |nue","Cancel",9)|
00006c70  0d 04 90 05 cc 0d 04 91  07 f2 69 62 0d 04 92 05  |..........ib....|
00006c80  cd 0d 04 93 05 e1 0d 04  94 05 3a 0d 04 95 09 dd  |..........:.....|
00006c90  20 f2 69 62 0d 04 96 0e  f2 7a 61 28 65 64 69 74  | .ib.....za(edit|
00006ca0  25 29 0d 04 97 13 f2 7a  61 28 63 6f 6c 63 72 65  |%).....za(colcre|
00006cb0  61 74 65 25 29 0d 04 98  32 e7 20 74 72 61 6e 73  |ate%)...2. trans|
00006cc0  74 61 62 6c 65 25 3c 3e  30 20 8c 20 74 72 61 6e  |table%<>0 . tran|
00006cd0  73 74 61 62 6c 65 25 3d  a4 68 28 74 72 61 6e 73  |stable%=.h(trans|
00006ce0  74 61 62 6c 65 25 29 0d  04 99 2c e7 20 63 6f 6c  |table%)...,. col|
00006cf0  74 61 62 6c 65 25 3c 3e  30 20 8c 20 63 6f 6c 74  |table%<>0 . colt|
00006d00  61 62 6c 65 25 3d a4 68  28 63 6f 6c 74 61 62 6c  |able%=.h(coltabl|
00006d10  65 25 29 0d 04 9a 2c e7  20 69 6e 66 6f 62 75 66  |e%)...,. infobuf|
00006d20  66 25 3c 3e 30 20 8c 20  69 6e 66 6f 62 75 66 66  |f%<>0 . infobuff|
00006d30  25 3d a4 68 28 69 6e 66  6f 62 75 66 66 25 29 0d  |%=.h(infobuff%).|
00006d40  04 9b 2c e7 20 68 65 6c  70 62 75 66 66 25 3c 3e  |..,. helpbuff%<>|
00006d50  30 20 8c 20 68 65 6c 70  62 75 66 66 25 3d a4 68  |0 . helpbuff%=.h|
00006d60  28 68 65 6c 70 62 75 66  66 25 29 0d 04 9c 2c e7  |(helpbuff%)...,.|
00006d70  20 70 61 6c 74 61 62 6c  65 25 3c 3e 30 20 8c 20  | paltable%<>0 . |
00006d80  70 61 6c 74 61 62 6c 65  25 3d a4 68 28 70 61 6c  |paltable%=.h(pal|
00006d90  74 61 62 6c 65 25 29 0d  04 9d 2f e7 20 6e 61 6d  |table%).../. nam|
00006da0  65 74 61 62 6c 65 25 3c  3e 30 20 8c 20 6e 61 6d  |etable%<>0 . nam|
00006db0  65 74 61 62 6c 65 25 3d  a4 68 28 6e 61 6d 65 74  |etable%=.h(namet|
00006dc0  61 62 6c 65 25 29 0d 04  9e 2f e7 20 65 64 69 74  |able%).../. edit|
00006dd0  73 74 6f 72 65 25 3c 3e  30 20 8c 20 65 64 69 74  |store%<>0 . edit|
00006de0  73 74 6f 72 65 25 3d a4  68 28 65 64 69 74 73 74  |store%=.h(editst|
00006df0  6f 72 65 25 29 0d 04 9f  2f e7 20 73 79 6d 62 73  |ore%).../. symbs|
00006e00  74 6f 72 65 25 3c 3e 30  20 8c 20 73 79 6d 62 73  |tore%<>0 . symbs|
00006e10  74 6f 72 65 25 3d a4 68  28 73 79 6d 62 73 74 6f  |tore%=.h(symbsto|
00006e20  72 65 25 29 0d 04 a0 2f  e7 20 73 79 6d 62 70 6f  |re%).../. symbpo|
00006e30  69 6e 74 25 3c 3e 30 20  8c 20 73 79 6d 62 70 6f  |int%<>0 . symbpo|
00006e40  69 6e 74 25 3d a4 68 28  73 79 6d 62 70 6f 69 6e  |int%=.h(symbpoin|
00006e50  74 25 29 0d 04 a1 2c e7  20 73 79 6d 62 73 69 7a  |t%)...,. symbsiz|
00006e60  65 25 3c 3e 30 20 8c 20  73 79 6d 62 73 69 7a 65  |e%<>0 . symbsize|
00006e70  25 3d a4 68 28 73 79 6d  62 73 69 7a 65 25 29 0d  |%=.h(symbsize%).|
00006e80  04 a2 2f e7 20 6e 61 6d  65 74 61 62 6c 65 25 3c  |../. nametable%<|
00006e90  3e 30 20 8c 20 6e 61 6d  65 74 61 62 6c 65 25 3d  |>0 . nametable%=|
00006ea0  a4 68 28 6e 61 6d 65 74  61 62 6c 65 25 29 0d 04  |.h(nametable%)..|
00006eb0  a3 38 e7 20 64 65 73 63  69 6e 66 6f 62 75 66 66  |.8. descinfobuff|
00006ec0  25 3c 3e 30 20 8c 20 64  65 73 63 69 6e 66 6f 62  |%<>0 . descinfob|
00006ed0  75 66 66 25 3d a4 68 28  64 65 73 63 69 6e 66 6f  |uff%=.h(descinfo|
00006ee0  62 75 66 66 25 29 0d 04  a4 2c e7 20 64 65 73 63  |buff%)...,. desc|
00006ef0  62 75 66 66 25 3c 3e 30  20 8c 20 64 65 73 63 62  |buff%<>0 . descb|
00006f00  75 66 66 25 3d a4 68 28  64 65 73 63 62 75 66 66  |uff%=.h(descbuff|
00006f10  25 29 0d 04 a5 47 e7 20  65 78 74 72 61 64 65 73  |%)...G. extrades|
00006f20  63 69 6e 66 6f 62 75 66  66 25 3c 3e 30 20 8c 20  |cinfobuff%<>0 . |
00006f30  65 78 74 72 61 64 65 73  63 69 6e 66 6f 62 75 66  |extradescinfobuf|
00006f40  66 25 3d a4 68 28 65 78  74 72 61 64 65 73 63 69  |f%=.h(extradesci|
00006f50  6e 66 6f 62 75 66 66 25  29 0d 04 a6 3b e7 20 65  |nfobuff%)...;. e|
00006f60  78 74 72 61 64 65 73 63  62 75 66 66 25 3c 3e 30  |xtradescbuff%<>0|
00006f70  20 8c 20 65 78 74 72 61  64 65 73 63 62 75 66 66  | . extradescbuff|
00006f80  25 3d a4 68 28 65 78 74  72 61 64 65 73 63 62 75  |%=.h(extradescbu|
00006f90  66 66 25 29 0d 04 a7 20  e7 20 64 72 61 77 25 3c  |ff%)... . draw%<|
00006fa0  3e 30 20 8c 20 64 72 61  77 25 3d a4 68 28 64 72  |>0 . draw%=.h(dr|
00006fb0  61 77 25 29 0d 04 a8 2f  e7 20 73 6f 75 72 63 65  |aw%).../. source|
00006fc0  73 70 72 25 3c 3e 30 20  8c 20 73 6f 75 72 63 65  |spr%<>0 . source|
00006fd0  73 70 72 25 3d a4 68 28  73 6f 75 72 63 65 73 70  |spr%=.h(sourcesp|
00006fe0  72 25 29 0d 04 a9 13 f2  6a 65 28 73 6d 65 6e 75  |r%).....je(smenu|
00006ff0  25 2c 30 2c 31 29 0d 04  aa 13 f2 6a 65 28 73 6d  |%,0,1).....je(sm|
00007000  65 6e 75 25 2c 31 2c 31  29 0d 04 ab 14 f2 73 65  |enu%,1,1).....se|
00007010  28 65 64 69 74 6d 65 6e  75 25 2c 31 29 0d 04 ac  |(editmenu%,1)...|
00007020  14 f2 77 65 28 65 64 69  74 6d 65 6e 75 25 2c 30  |..we(editmenu%,0|
00007030  29 0d 04 ad 14 f2 77 65  28 65 64 69 74 6d 65 6e  |).....we(editmen|
00007040  75 25 2c 32 29 0d 04 ae  13 73 70 72 69 74 65 5f  |u%,2)....sprite_|
00007050  66 69 6c 65 24 3d 22 22  0d 04 af 11 64 72 61 77  |file$=""....draw|
00007060  5f 66 69 6c 65 24 3d 22  22 0d 04 b0 13 70 69 63  |_file$=""....pic|
00007070  74 79 70 65 24 3d 22 6e  6f 6e 65 22 0d 04 b1 0d  |type$="none"....|
00007080  68 65 6c 70 6f 6e 25 3d  a3 0d 04 b2 1d f2 66 65  |helpon%=......fe|
00007090  28 6d 61 69 6e 25 2c 35  32 2c 30 3c 3c 32 31 2c  |(main%,52,0<<21,|
000070a0  31 3c 3c 32 31 29 0d 04  b3 0a f2 74 65 28 30 29  |1<<21).....te(0)|
000070b0  0d 04 b4 07 f2 79 61 0d  04 b5 0a f2 65 64 28 31  |.....ya.....ed(1|
000070c0  29 0d 04 b6 0a f2 63 63  28 31 29 0d 04 b7 2f 24  |).....cc(1).../$|
000070d0  74 65 6e 73 69 6f 6e 5f  73 71 5f 77 69 64 74 68  |tension_sq_width|
000070e0  25 3d 22 30 2e 30 22 3a  20 f2 66 65 28 6d 61 69  |%="0.0": .fe(mai|
000070f0  6e 25 2c 31 35 2c 30 2c  30 29 0d 04 b8 30 24 74  |n%,15,0,0)...0$t|
00007100  65 6e 73 69 6f 6e 5f 73  71 5f 68 65 69 67 68 74  |ension_sq_height|
00007110  25 3d 22 30 2e 30 22 3a  20 f2 66 65 28 6d 61 69  |%="0.0": .fe(mai|
00007120  6e 25 2c 31 36 2c 30 2c  30 29 0d 04 b9 22 24 67  |n%,16,0,0)..."$g|
00007130  72 6f 77 73 25 3d 22 30  22 3a 20 f2 66 65 28 6d  |rows%="0": .fe(m|
00007140  61 69 6e 25 2c 32 39 2c  30 2c 30 29 0d 04 ba 26  |ain%,29,0,0)...&|
00007150  24 67 73 74 69 74 63 68  65 73 25 3d 22 30 22 3a  |$gstitches%="0":|
00007160  20 f2 66 65 28 6d 61 69  6e 25 2c 33 30 2c 30 2c  | .fe(main%,30,0,|
00007170  30 29 0d 04 bb 26 24 67  68 65 69 67 68 74 25 3d  |0)...&$gheight%=|
00007180  22 30 2e 30 22 3a 20 f2  66 65 28 6d 61 69 6e 25  |"0.0": .fe(main%|
00007190  2c 33 31 2c 30 2c 30 29  0d 04 bc 25 24 67 77 69  |,31,0,0)...%$gwi|
000071a0  64 74 68 25 3d 22 30 2e  30 22 3a 20 f2 66 65 28  |dth%="0.0": .fe(|
000071b0  6d 61 69 6e 25 2c 33 32  2c 30 2c 30 29 0d 04 bd  |main%,32,0,0)...|
000071c0  0a f2 72 65 28 35 29 0d  04 be 35 e7 20 6d 61 69  |..re(5)...5. mai|
000071d0  6e 6f 70 65 6e 25 3d b9  20 8c 20 f2 6f 61 28 6d  |nopen%=. . .oa(m|
000071e0  61 69 6e 25 2c 31 35 2c  a9 24 74 65 6e 73 69 6f  |ain%,15,.$tensio|
000071f0  6e 5f 73 71 5f 77 69 64  74 68 25 29 0d 04 bf 12  |n_sq_width%)....|
00007200  65 64 69 74 63 72 65 61  74 65 64 25 3d a3 0d 04  |editcreated%=...|
00007210  c0 05 e1 0d 04 c1 05 3a  0d 04 c2 09 dd 20 f2 68  |.......:..... .h|
00007220  64 0d 04 c3 15 ea 20 78  65 66 25 2c 79 65 66 25  |d..... xef%,yef%|
00007230  2c 73 69 7a 65 25 0d 04  c4 11 78 65 66 25 3d a4  |,size%....xef%=.|
00007240  72 28 2d 31 2c 34 29 0d  04 c5 11 79 65 66 25 3d  |r(-1,4)....yef%=|
00007250  a4 72 28 2d 31 2c 35 29  0d 04 c6 21 78 70 69 78  |.r(-1,5)...!xpix|
00007260  25 3d 31 3c 3c 78 65 66  25 3a 20 78 70 69 78 32  |%=1<<xef%: xpix2|
00007270  25 3d 32 3c 3c 78 65 66  25 0d 04 c7 21 79 70 69  |%=2<<xef%...!ypi|
00007280  78 25 3d 31 3c 3c 79 65  66 25 3a 20 79 70 69 78  |x%=1<<yef%: ypix|
00007290  32 25 3d 32 3c 3c 79 65  66 25 0d 04 c8 15 e7 20  |2%=2<<yef%..... |
000072a0  73 6f 75 72 63 65 73 70  72 25 3c 3e 30 20 8c 0d  |sourcespr%<>0 ..|
000072b0  04 c9 41 c8 99 20 26 30  30 30 34 30 37 34 30 2c  |..A.. &00040740,|
000072c0  73 6f 75 72 63 65 73 70  72 25 2c 73 6f 75 72 63  |sourcespr%,sourc|
000072d0  65 61 64 64 72 25 2c 2d  31 2c 2d 31 2c 30 2c 31  |eaddr%,-1,-1,0,1|
000072e0  2c 30 2c 30 20 b8 20 2c  2c 2c 2c 73 69 7a 65 25  |,0,0 . ,,,,size%|
000072f0  0d 04 ca 32 e7 20 74 72  61 6e 73 74 61 62 6c 65  |...2. transtable|
00007300  25 3c 3e 30 20 8c 20 74  72 61 6e 73 74 61 62 6c  |%<>0 . transtabl|
00007310  65 25 3d a4 68 28 74 72  61 6e 73 74 61 62 6c 65  |e%=.h(transtable|
00007320  25 29 0d 04 cb 19 74 72  61 6e 73 74 61 62 6c 65  |%)....transtable|
00007330  25 3d a4 62 28 73 69 7a  65 25 29 0d 04 cc 3f c8  |%=.b(size%)...?.|
00007340  99 20 26 30 30 30 34 30  37 34 30 2c 73 6f 75 72  |. &00040740,sour|
00007350  63 65 73 70 72 25 2c 73  6f 75 72 63 65 61 64 64  |cespr%,sourceadd|
00007360  72 25 2c 2d 31 2c 2d 31  2c 74 72 61 6e 73 74 61  |r%,-1,-1,transta|
00007370  62 6c 65 25 2c 31 2c 30  2c 30 0d 04 cd 05 cd 0d  |ble%,1,0,0......|
00007380  04 ce 05 e1 0d 04 cf 05  3a 0d 04 d0 09 dd 20 f2  |........:..... .|
00007390  62 66 0d 04 d1 08 ea 20  69 25 0d 04 d2 10 c8 99  |bf..... i%......|
000073a0  20 26 30 30 30 34 30 36  43 30 0d 04 d3 2c e7 20  | &000406C0...,. |
000073b0  63 6f 6c 74 61 62 6c 65  25 3c 3e 30 20 8c 20 63  |coltable%<>0 . c|
000073c0  6f 6c 74 61 62 6c 65 25  3d a4 68 28 63 6f 6c 74  |oltable%=.h(colt|
000073d0  61 62 6c 65 25 29 0d 04  d4 2a 63 6f 6c 74 61 62  |able%)...*coltab|
000073e0  6c 65 25 3d a4 62 28 67  72 69 64 68 65 69 67 68  |le%=.b(gridheigh|
000073f0  74 25 2a 67 72 69 64 77  69 64 74 68 25 2b 38 29  |t%*gridwidth%+8)|
00007400  0d 04 d5 27 e3 20 69 25  3d 30 20 b8 20 67 72 69  |...'. i%=0 . gri|
00007410  64 68 65 69 67 68 74 25  2a 67 72 69 64 77 69 64  |dheight%*gridwid|
00007420  74 68 25 20 88 20 34 0d  04 d6 1a 63 6f 6c 74 61  |th% . 4....colta|
00007430  62 6c 65 25 21 69 25 3d  26 38 30 38 30 38 30 38  |ble%!i%=&8080808|
00007440  30 0d 04 d7 08 ed 20 69  25 0d 04 d8 10 c8 99 20  |0..... i%...... |
00007450  26 30 30 30 34 30 36 43  31 0d 04 d9 05 e1 0d 04  |&000406C1.......|
00007460  da 05 3a 0d 04 db 10 dd  20 f2 62 64 28 66 69 6c  |..:..... .bd(fil|
00007470  65 24 29 0d 04 dc 4e ea  20 68 61 6e 25 2c 72 6f  |e$)...N. han%,ro|
00007480  77 25 2c 63 6f 6c 5f 63  6f 75 6e 74 25 2c 72 6f  |w%,col_count%,ro|
00007490  77 73 5f 6f 66 66 73 65  74 25 2c 64 69 72 25 2c  |ws_offset%,dir%,|
000074a0  73 74 69 74 63 68 25 2c  63 6f 6c 25 2c 74 65 72  |stitch%,col%,ter|
000074b0  6d 69 6e 61 74 6f 72 25  2c 63 75 72 72 65 6e 74  |minator%,current|
000074c0  25 0d 04 dd 07 ea 20 85  0d 04 de 16 ee 20 85 20  |%..... ...... . |
000074d0  ea 3a 20 f2 70 64 3a 20  f7 20 85 3a 20 e1 0d 04  |.: .pd: . .: ...|
000074e0  df 12 c8 99 20 26 30 30  30 34 30 36 43 33 2c 31  |.... &000406C3,1|
000074f0  0d 04 e0 0b 68 61 6e 25  3d 2d 31 0d 04 e1 24 72  |....han%=-1...$r|
00007500  6f 77 73 5f 6f 66 66 73  65 74 25 3d bb 24 28 70  |ows_offset%=.$(p|
00007510  61 74 73 74 6f 72 65 25  2b 31 30 30 29 2d 31 0d  |atstore%+100)-1.|
00007520  04 e2 11 68 61 6e 25 3d  ae 28 66 69 6c 65 24 29  |...han%=.(file$)|
00007530  0d 04 e3 0d 3f 62 6c 6f  63 6b 25 3d 33 0d 04 e4  |....?block%=3...|
00007540  1a c8 99 20 26 30 30 30  30 30 30 30 37 2c 31 34  |... &00000007,14|
00007550  2c 62 6c 6f 63 6b 25 0d  04 e5 61 c8 99 20 26 30  |,block%...a.. &0|
00007560  30 30 34 33 30 34 42 2c  2d 31 2c 62 6c 6f 63 6b  |004304B,-1,block|
00007570  25 2c 74 69 6d 65 61 6e  73 77 65 72 25 2c 31 30  |%,timeanswer%,10|
00007580  30 2c 22 25 77 65 20 25  7a 64 79 25 73 74 20 25  |0,"%we %zdy%st %|
00007590  6d 6f 20 25 63 65 25 79  72 20 28 25 7a 31 32 3a  |mo %ce%yr (%z12:|
000075a0  25 6d 69 20 25 61 6d 29  22 20 b8 20 2c 74 65 72  |%mi %am)" . ,ter|
000075b0  6d 69 6e 61 74 6f 72 25  0d 04 e6 13 3f 74 65 72  |minator%....?ter|
000075c0  6d 69 6e 61 74 6f 72 25  3d 31 33 0d 04 e7 29 d5  |minator%=13...).|
000075d0  23 68 61 6e 25 2c bd 28  39 29 2b bd 28 39 29 2b  |#han%,.(9)+.(9)+|
000075e0  bd 28 39 29 2b bd 28 39  29 2b 24 70 61 74 73 74  |.(9)+.(9)+$patst|
000075f0  6f 72 65 25 0d 04 e8 38  d5 23 68 61 6e 25 2c bd  |ore%...8.#han%,.|
00007600  28 39 29 2b bd 28 39 29  2b bd 28 39 29 2b 22 46  |(9)+.(9)+.(9)+"F|
00007610  69 6c 65 20 43 72 65 61  74 65 64 20 3a 20 22 2b  |ile Created : "+|
00007620  24 74 69 6d 65 61 6e 73  77 65 72 25 0d 04 e9 70  |$timeanswer%...p|
00007630  d5 23 68 61 6e 25 2c bd  28 39 29 2b bd 28 39 29  |.#han%,.(9)+.(9)|
00007640  2b bd 28 39 29 2b c3 28  67 72 69 64 68 65 69 67  |+.(9)+.(gridheig|
00007650  68 74 25 29 2b 22 20 52  6f 77 73 20 28 66 72 6f  |ht%)+" Rows (fro|
00007660  6d 20 22 2b c3 28 72 6f  77 73 5f 6f 66 66 73 65  |m "+.(rows_offse|
00007670  74 25 2b 31 29 2b 22 20  74 6f 20 22 2b c3 28 72  |t%+1)+" to "+.(r|
00007680  6f 77 73 5f 6f 66 66 73  65 74 25 2b 67 72 69 64  |ows_offset%+grid|
00007690  68 65 69 67 68 74 25 29  2b 22 29 22 0d 04 ea 35  |height%)+")"...5|
000076a0  d5 23 68 61 6e 25 2c bd  28 39 29 2b bd 28 39 29  |.#han%,.(9)+.(9)|
000076b0  2b bd 28 39 29 2b 22 53  74 69 74 63 68 65 73 20  |+.(9)+"Stitches |
000076c0  3a 20 22 2b c3 28 67 72  69 64 77 69 64 74 68 25  |: "+.(gridwidth%|
000076d0  29 0d 04 eb 3b d5 23 68  61 6e 25 2c bd 28 39 29  |)...;.#han%,.(9)|
000076e0  2b bd 28 39 29 2b bd 28  39 29 2b 22 4e 75 6d 62  |+.(9)+.(9)+"Numb|
000076f0  65 72 20 6f 66 20 63 6f  6c 6f 75 72 73 20 75 73  |er of colours us|
00007700  65 64 20 3a 20 22 2b c3  28 a4 67 29 0d 04 ec 49  |ed : "+.(.g)...I|
00007710  d5 23 68 61 6e 25 2c bd  28 39 29 2b bd 28 39 29  |.#han%,.(9)+.(9)|
00007720  2b bd 28 39 29 2b 22 54  65 6e 73 69 6f 6e 20 64  |+.(9)+"Tension d|
00007730  69 61 6c 20 73 65 74 74  69 6e 67 20 20 20 3a 20  |ial setting   : |
00007740  22 2b 24 74 64 73 65 74  25 2b bd 28 31 30 29 2b  |"+$tdset%+.(10)+|
00007750  bd 28 31 30 29 0d 04 ed  19 e7 20 70 61 74 73 74  |.(10)..... patst|
00007760  6f 72 65 25 3f 31 31 35  3d 32 35 35 20 8c 0d 04  |ore%?115=255 ...|
00007770  ee 0d 73 74 69 74 63 68  25 3d 30 0d 04 ef 0a 64  |..stitch%=0....d|
00007780  69 72 25 3d 31 0d 04 f0  05 cc 0d 04 f1 18 73 74  |ir%=1.........st|
00007790  69 74 63 68 25 3d 67 72  69 64 77 69 64 74 68 25  |itch%=gridwidth%|
000077a0  2d 31 0d 04 f2 0b 64 69  72 25 3d 2d 31 0d 04 f3  |-1....dir%=-1...|
000077b0  05 cd 0d 04 f4 0a 72 6f  77 25 3d 30 0d 04 f5 10  |......row%=0....|
000077c0  63 6f 6c 5f 63 6f 75 6e  74 25 3d 30 0d 04 f6 17  |col_count%=0....|
000077d0  c8 95 20 72 6f 77 25 3c  67 72 69 64 68 65 69 67  |.. row%<gridheig|
000077e0  68 74 25 0d 04 f7 27 c8  99 20 26 30 30 30 34 30  |ht%...'.. &00040|
000077f0  36 43 34 2c 28 72 6f 77  25 2a 31 30 30 29 2f 67  |6C4,(row%*100)/g|
00007800  72 69 64 68 65 69 67 68  74 25 0d 04 f8 15 d5 23  |ridheight%.....#|
00007810  68 61 6e 25 2c 22 52 6f  77 20 20 20 20 22 3b 0d  |han%,"Row    ";.|
00007820  04 f9 2c e7 20 72 6f 77  25 2b 72 6f 77 73 5f 6f  |..,. row%+rows_o|
00007830  66 66 73 65 74 25 3e 3d  39 20 8c 20 cf 23 68 61  |ffset%>=9 . .#ha|
00007840  6e 25 3d 8f 23 68 61 6e  25 2d 31 0d 04 fa 2d e7  |n%=.#han%-1...-.|
00007850  20 72 6f 77 25 2b 72 6f  77 73 5f 6f 66 66 73 65  | row%+rows_offse|
00007860  74 25 3e 3d 39 39 20 8c  20 cf 23 68 61 6e 25 3d  |t%>=99 . .#han%=|
00007870  8f 23 68 61 6e 25 2d 31  0d 04 fb 2e e7 20 72 6f  |.#han%-1..... ro|
00007880  77 25 2b 72 6f 77 73 5f  6f 66 66 73 65 74 25 3e  |w%+rows_offset%>|
00007890  3d 39 39 39 20 8c 20 cf  23 68 61 6e 25 3d 8f 23  |=999 . .#han%=.#|
000078a0  68 61 6e 25 2d 31 0d 04  fc 2c d5 23 68 61 6e 25  |han%-1...,.#han%|
000078b0  2c c3 28 72 6f 77 25 2b  72 6f 77 73 5f 6f 66 66  |,.(row%+rows_off|
000078c0  73 65 74 25 2b 31 29 2b  22 20 3a 22 2b bd 28 39  |set%+1)+" :"+.(9|
000078d0  29 3b 0d 04 fd 32 63 75  72 72 65 6e 74 25 3d 28  |);...2current%=(|
000078e0  63 6f 6c 74 61 62 6c 65  25 3f 28 72 6f 77 25 2a  |coltable%?(row%*|
000078f0  67 72 69 64 77 69 64 74  68 25 2b 73 74 69 74 63  |gridwidth%+stitc|
00007900  68 25 29 29 0d 04 fe 26  c8 95 20 73 74 69 74 63  |h%))...&.. stitc|
00007910  68 25 3c 67 72 69 64 77  69 64 74 68 25 20 80 20  |h%<gridwidth% . |
00007920  73 74 69 74 63 68 25 3e  2d 31 0d 04 ff 2e 63 6f  |stitch%>-1....co|
00007930  6c 25 3d 28 63 6f 6c 74  61 62 6c 65 25 3f 28 72  |l%=(coltable%?(r|
00007940  6f 77 25 2a 67 72 69 64  77 69 64 74 68 25 2b 73  |ow%*gridwidth%+s|
00007950  74 69 74 63 68 25 29 29  0d 05 00 15 e7 20 63 6f  |titch%))..... co|
00007960  6c 25 3d 63 75 72 72 65  6e 74 25 20 8c 0d 05 01  |l%=current% ....|
00007970  11 63 6f 6c 5f 63 6f 75  6e 74 25 2b 3d 31 0d 05  |.col_count%+=1..|
00007980  02 05 cc 0d 05 03 1a e7  20 28 63 75 72 72 65 6e  |........ (curren|
00007990  74 25 20 80 20 31 32 38  29 3d 30 20 8c 0d 05 04  |t% . 128)=0 ....|
000079a0  3f d5 23 68 61 6e 25 2c  c3 63 6f 6c 5f 63 6f 75  |?.#han%,.col_cou|
000079b0  6e 74 25 2b 22 20 22 2b  24 28 6e 61 6d 65 74 61  |nt%+" "+$(nameta|
000079c0  62 6c 65 25 2b 28 63 75  72 72 65 6e 74 25 80 36  |ble%+(current%.6|
000079d0  33 29 2a 31 33 29 2b bd  28 39 29 3b 0d 05 05 05  |3)*13)+.(9);....|
000079e0  cc 0d 05 06 28 d5 23 68  61 6e 25 2c c3 63 6f 6c  |....(.#han%,.col|
000079f0  5f 63 6f 75 6e 74 25 2b  22 20 22 2b 22 42 6c 61  |_count%+" "+"Bla|
00007a00  6e 6b 22 2b bd 28 39 29  3b 0d 05 07 05 cd 0d 05  |nk"+.(9);.......|
00007a10  08 10 63 6f 6c 5f 63 6f  75 6e 74 25 3d 31 0d 05  |..col_count%=1..|
00007a20  09 11 63 75 72 72 65 6e  74 25 3d 63 6f 6c 25 0d  |..current%=col%.|
00007a30  05 0a 05 cd 0d 05 0b 11  73 74 69 74 63 68 25 2b  |........stitch%+|
00007a40  3d 64 69 72 25 0d 05 0c  05 ce 0d 05 0d 1a e7 20  |=dir%.......... |
00007a50  28 63 75 72 72 65 6e 74  25 20 80 20 31 32 38 29  |(current% . 128)|
00007a60  3d 30 20 8c 0d 05 0e 3f  d5 23 68 61 6e 25 2c c3  |=0 ....?.#han%,.|
00007a70  63 6f 6c 5f 63 6f 75 6e  74 25 2b 22 20 22 2b 24  |col_count%+" "+$|
00007a80  28 6e 61 6d 65 74 61 62  6c 65 25 2b 28 63 75 72  |(nametable%+(cur|
00007a90  72 65 6e 74 25 80 36 33  29 2a 31 33 29 2b bd 28  |rent%.63)*13)+.(|
00007aa0  39 29 3b 0d 05 0f 05 cc  0d 05 10 28 d5 23 68 61  |9);........(.#ha|
00007ab0  6e 25 2c c3 63 6f 6c 5f  63 6f 75 6e 74 25 2b 22  |n%,.col_count%+"|
00007ac0  20 22 2b 22 42 6c 61 6e  6b 22 2b bd 28 39 29 3b  | "+"Blank"+.(9);|
00007ad0  0d 05 11 05 cd 0d 05 12  11 d5 23 68 61 6e 25 2c  |..........#han%,|
00007ae0  bd 28 31 30 29 3b 0d 05  13 22 e7 20 28 72 6f 77  |.(10);...". (row|
00007af0  25 2b 36 29 83 35 3d 30  20 8c 20 d5 23 68 61 6e  |%+6).5=0 . .#han|
00007b00  25 2c bd 28 31 30 29 3b  0d 05 14 0b 72 6f 77 25  |%,.(10);....row%|
00007b10  2b 3d 31 0d 05 15 10 63  6f 6c 5f 63 6f 75 6e 74  |+=1....col_count|
00007b20  25 3d 30 0d 05 16 23 e7  20 73 74 69 74 63 68 25  |%=0...#. stitch%|
00007b30  3c 30 20 8c 20 73 74 69  74 63 68 25 3d 30 3a 20  |<0 . stitch%=0: |
00007b40  64 69 72 25 3d 31 0d 05  17 3a e7 20 73 74 69 74  |dir%=1...:. stit|
00007b50  63 68 25 3e 67 72 69 64  77 69 64 74 68 25 2d 31  |ch%>gridwidth%-1|
00007b60  20 8c 20 73 74 69 74 63  68 25 3d 67 72 69 64 77  | . stitch%=gridw|
00007b70  69 64 74 68 25 2d 31 3a  20 64 69 72 25 3d 2d 31  |idth%-1: dir%=-1|
00007b80  0d 05 18 05 ce 0d 05 19  10 c8 99 20 26 30 30 30  |........... &000|
00007b90  34 30 36 43 31 0d 05 1a  0a d9 23 68 61 6e 25 0d  |406C1.....#han%.|
00007ba0  05 1b 0b 68 61 6e 25 3d  2d 31 0d 05 1c 1f ff 28  |...han%=-1.....(|
00007bb0  22 53 65 74 54 79 70 65  20 22 2b 66 69 6c 65 24  |"SetType "+file$|
00007bc0  2b 22 20 54 65 78 74 22  29 0d 05 1d 07 f7 20 85  |+" Text")..... .|
00007bd0  0d 05 1e 05 e1 0d 05 1f  05 3a 0d 05 20 09 dd 20  |.........:.. .. |
00007be0  f2 70 64 0d 05 21 17 e7  20 68 61 6e 25 3c 3e 2d  |.pd..!.. han%<>-|
00007bf0  31 20 8c 20 d9 23 68 61  6e 25 0d 05 22 0b 68 61  |1 . .#han%..".ha|
00007c00  6e 25 3d 2d 31 0d 05 23  07 f2 73 62 0d 05 24 05  |n%=-1..#..sb..$.|
00007c10  e1 0d 05 25 05 3a 0d 05  26 08 dd 20 a4 67 0d 05  |...%.:..&.. .g..|
00007c20  27 12 ea 20 6e 75 6d 25  2c 69 25 2c 63 6f 6c 25  |'.. num%,i%,col%|
00007c30  0d 05 28 0a 6e 75 6d 25  3d 30 0d 05 29 20 e3 20  |..(.num%=0..) . |
00007c40  69 25 3d 62 6c 6f 63 6b  25 20 b8 20 62 6c 6f 63  |i%=block% . bloc|
00007c50  6b 25 2b 6d 61 78 63 6f  6c 25 0d 05 2a 09 3f 69  |k%+maxcol%..*.?i|
00007c60  25 3d 30 0d 05 2b 08 ed  20 69 25 0d 05 2c 25 e3  |%=0..+.. i%..,%.|
00007c70  20 69 25 3d 30 20 b8 20  67 72 69 64 77 69 64 74  | i%=0 . gridwidt|
00007c80  68 25 2a 67 72 69 64 68  65 69 67 68 74 25 2d 31  |h%*gridheight%-1|
00007c90  0d 05 2d 1c 63 6f 6c 25  3d 28 63 6f 6c 74 61 62  |..-.col%=(coltab|
00007ca0  6c 65 25 3f 69 25 29 20  80 20 36 33 0d 05 2e 11  |le%?i%) . 63....|
00007cb0  62 6c 6f 63 6b 25 3f 63  6f 6c 25 3d 31 0d 05 2f  |block%?col%=1../|
00007cc0  08 ed 20 69 25 0d 05 30  20 e3 20 69 25 3d 62 6c  |.. i%..0 . i%=bl|
00007cd0  6f 63 6b 25 20 b8 20 62  6c 6f 63 6b 25 2b 6d 61  |ock% . block%+ma|
00007ce0  78 63 6f 6c 25 0d 05 31  16 e7 20 3f 69 25 3c 3e  |xcol%..1.. ?i%<>|
00007cf0  30 20 8c 20 6e 75 6d 25  2b 3d 31 0d 05 32 08 ed  |0 . num%+=1..2..|
00007d00  20 69 25 0d 05 33 09 3d  6e 75 6d 25 0d 05 34 05  | i%..3.=num%..4.|
00007d10  3a 0d 05 35 10 dd 20 f2  77 63 28 66 69 6c 65 24  |:..5.. .wc(file$|
00007d20  29 0d 05 36 4e ea 20 68  61 6e 25 2c 72 6f 77 25  |)..6N. han%,row%|
00007d30  2c 63 6f 6c 5f 63 6f 75  6e 74 25 2c 72 6f 77 73  |,col_count%,rows|
00007d40  5f 6f 66 66 73 65 74 25  2c 64 69 72 25 2c 73 74  |_offset%,dir%,st|
00007d50  69 74 63 68 25 2c 63 6f  6c 25 2c 74 65 72 6d 69  |itch%,col%,termi|
00007d60  6e 61 74 6f 72 25 2c 63  75 72 72 65 6e 74 25 0d  |nator%,current%.|
00007d70  05 37 49 ea 20 66 72 61  6d 65 77 64 25 2c 66 72  |.7I. framewd%,fr|
00007d80  61 6d 65 68 74 25 2c 63  68 61 72 77 64 25 2c 6d  |ameht%,charwd%,m|
00007d90  61 78 6c 65 6e 25 2c 74  61 62 25 2c 63 75 72 72  |axlen%,tab%,curr|
00007da0  74 61 62 25 2c 63 6f 6c  75 6d 6e 73 25 2c 63 75  |tab%,columns%,cu|
00007db0  72 63 6f 6c 75 6d 6e 25  0d 05 38 07 ea 20 85 0d  |rcolumn%..8.. ..|
00007dc0  05 39 16 ee 20 85 20 ea  3a 20 f2 70 64 3a 20 f7  |.9.. . .: .pd: .|
00007dd0  20 85 3a 20 e1 0d 05 3a  12 c8 99 20 26 30 30 30  | .: ...:... &000|
00007de0  34 30 36 43 33 2c 31 0d  05 3b 0b 68 61 6e 25 3d  |406C3,1..;.han%=|
00007df0  2d 31 0d 05 3c 24 72 6f  77 73 5f 6f 66 66 73 65  |-1..<$rows_offse|
00007e00  74 25 3d bb 24 28 70 61  74 73 74 6f 72 65 25 2b  |t%=.$(patstore%+|
00007e10  31 30 30 29 2d 31 0d 05  3d 25 e7 20 72 6f 77 73  |100)-1..=%. rows|
00007e20  5f 6f 66 66 73 65 74 25  3c 30 20 8c 20 72 6f 77  |_offset%<0 . row|
00007e30  73 5f 6f 66 66 73 65 74  25 3d 30 0d 05 3e 30 66  |s_offset%=0..>0f|
00007e40  72 61 6d 65 77 64 25 3d  a8 28 28 28 bb 24 28 70  |ramewd%=.(((.$(p|
00007e50  61 74 73 74 6f 72 65 25  2b 31 31 30 29 29 2a 31  |atstore%+110))*1|
00007e60  30 2a 37 32 29 2f 32 35  2e 34 29 0d 05 3f 30 66  |0*72)/25.4)..?0f|
00007e70  72 61 6d 65 68 74 25 3d  a8 28 28 28 bb 24 28 70  |rameht%=.(((.$(p|
00007e80  61 74 73 74 6f 72 65 25  2b 31 30 35 29 29 2a 31  |atstore%+105))*1|
00007e90  30 2a 37 32 29 2f 32 35  2e 34 29 0d 05 40 0d 63  |0*72)/25.4)..@.c|
00007ea0  68 61 72 77 64 25 3d 36  0d 05 41 4d c8 99 20 26  |harwd%=6..AM.. &|
00007eb0  30 30 30 30 30 30 32 39  2c 32 36 2c 22 3c 45 61  |00000029,26,"<Ea|
00007ec0  73 79 4b 6e 69 74 24 44  69 72 3e 2e 52 65 73 6f  |syKnit$Dir>.Reso|
00007ed0  75 72 63 65 73 2e 41 64  76 48 65 61 64 65 72 22  |urces.AdvHeader"|
00007ee0  2c 66 69 6c 65 24 2c 28  31 3c 3c 31 30 29 2b 28  |,file$,(1<<10)+(|
00007ef0  31 3c 3c 31 29 0d 05 42  11 68 61 6e 25 3d ad 28  |1<<1)..B.han%=.(|
00007f00  66 69 6c 65 24 29 0d 05  43 11 cf 23 68 61 6e 25  |file$)..C..#han%|
00007f10  3d a2 23 68 61 6e 25 0d  05 44 0d 6d 61 78 6c 65  |=.#han%..D.maxle|
00007f20  6e 25 3d 30 0d 05 45 16  e3 20 63 6f 6c 25 3d 30  |n%=0..E.. col%=0|
00007f30  20 b8 20 6d 61 78 63 6f  6c 25 0d 05 46 45 e7 20  | . maxcol%..FE. |
00007f40  a9 24 28 6e 61 6d 65 74  61 62 6c 65 25 2b 63 6f  |.$(nametable%+co|
00007f50  6c 25 2a 31 33 29 3e 6d  61 78 6c 65 6e 25 20 8c  |l%*13)>maxlen% .|
00007f60  20 6d 61 78 6c 65 6e 25  3d a9 24 28 6e 61 6d 65  | maxlen%=.$(name|
00007f70  74 61 62 6c 65 25 2b 63  6f 6c 25 2a 31 33 29 0d  |table%+col%*13).|
00007f80  05 47 0a ed 20 63 6f 6c  25 0d 05 48 2d e7 20 6d  |.G.. col%..H-. m|
00007f90  61 78 6c 65 6e 25 3c a9  28 22 42 6c 61 6e 6b 22  |axlen%<.("Blank"|
00007fa0  29 20 8c 20 6d 61 78 6c  65 6e 25 3d a9 28 22 42  |) . maxlen%=.("B|
00007fb0  6c 61 6e 6b 22 29 0d 05  49 0e 6d 61 78 6c 65 6e  |lank")..I.maxlen|
00007fc0  25 2b 3d 37 0d 05 4a 18  74 61 62 25 3d 6d 61 78  |%+=7..J.tab%=max|
00007fd0  6c 65 6e 25 2a 63 68 61  72 77 64 25 0d 05 4b 0f  |len%*charwd%..K.|
00007fe0  63 75 72 72 74 61 62 25  3d 38 35 0d 05 4c 27 e7  |currtab%=85..L'.|
00007ff0  20 67 72 69 64 68 65 69  67 68 74 25 3e 39 20 8c  | gridheight%>9 .|
00008000  20 63 75 72 72 74 61 62  25 2b 3d 63 68 61 72 77  | currtab%+=charw|
00008010  64 25 0d 05 4d 28 e7 20  67 72 69 64 68 65 69 67  |d%..M(. gridheig|
00008020  68 74 25 3e 39 39 20 8c  20 63 75 72 72 74 61 62  |ht%>99 . currtab|
00008030  25 2b 3d 63 68 61 72 77  64 25 0d 05 4e 29 e7 20  |%+=charwd%..N). |
00008040  67 72 69 64 68 65 69 67  68 74 25 3e 39 39 39 20  |gridheight%>999 |
00008050  8c 20 63 75 72 72 74 61  62 25 2b 3d 63 68 61 72  |. currtab%+=char|
00008060  77 64 25 0d 05 4f 0e 63  6f 6c 75 6d 6e 73 25 3d  |wd%..O.columns%=|
00008070  30 0d 05 50 1d c8 95 20  63 75 72 72 74 61 62 25  |0..P... currtab%|
00008080  3c 66 72 61 6d 65 77 64  25 2d 74 61 62 25 0d 05  |<framewd%-tab%..|
00008090  51 04 0d 05 52 26 d5 23  68 61 6e 25 2c 22 72 69  |Q...R&.#han%,"ri|
000080a0  67 68 74 20 22 2b c3 28  63 75 72 72 74 61 62 25  |ght "+.(currtab%|
000080b0  2d 36 29 2b 22 2c 22 3b  0d 05 53 1b d5 23 68 61  |-6)+",";..S..#ha|
000080c0  6e 25 2c c3 63 75 72 72  74 61 62 25 2b 22 70 74  |n%,.currtab%+"pt|
000080d0  2c 22 3b 0d 05 54 0f 63  6f 6c 75 6d 6e 73 25 2b  |,";..T.columns%+|
000080e0  3d 31 0d 05 55 12 63 75  72 72 74 61 62 25 2b 3d  |=1..U.currtab%+=|
000080f0  74 61 62 25 0d 05 56 05  ce 0d 05 57 13 cf 23 68  |tab%..V....W..#h|
00008100  61 6e 25 3d 8f 23 68 61  6e 25 2d 31 0d 05 58 0f  |an%=.#han%-1..X.|
00008110  d5 23 68 61 6e 25 2c 22  7d 22 3b 0d 05 59 0d 3f  |.#han%,"}";..Y.?|
00008120  62 6c 6f 63 6b 25 3d 33  0d 05 5a 1a c8 99 20 26  |block%=3..Z... &|
00008130  30 30 30 30 30 30 30 37  2c 31 34 2c 62 6c 6f 63  |00000007,14,bloc|
00008140  6b 25 0d 05 5b 61 c8 99  20 26 30 30 30 34 33 30  |k%..[a.. &000430|
00008150  34 42 2c 2d 31 2c 62 6c  6f 63 6b 25 2c 74 69 6d  |4B,-1,block%,tim|
00008160  65 61 6e 73 77 65 72 25  2c 31 30 30 2c 22 25 77  |eanswer%,100,"%w|
00008170  65 20 25 7a 64 79 25 73  74 20 25 6d 6f 20 25 63  |e %zdy%st %mo %c|
00008180  65 25 79 72 20 28 25 7a  31 32 3a 25 6d 69 20 25  |e%yr (%z12:%mi %|
00008190  61 6d 29 22 20 b8 20 2c  74 65 72 6d 69 6e 61 74  |am)" . ,terminat|
000081a0  6f 72 25 0d 05 5c 13 3f  74 65 72 6d 69 6e 61 74  |or%..\.?terminat|
000081b0  6f 72 25 3d 31 33 0d 05  5d 51 d5 23 68 61 6e 25  |or%=13..]Q.#han%|
000081c0  2c 22 7b 22 22 48 65 61  64 69 6e 67 22 22 20 6f  |,"{""Heading"" o|
000081d0  6e 7d 7b 66 6f 6e 74 20  54 72 69 6e 69 74 79 2e  |n}{font Trinity.|
000081e0  4d 65 64 69 75 6d 7d 7b  66 6f 6e 74 73 69 7a 65  |Medium}{fontsize|
000081f0  20 31 38 70 74 7d 7b 74  61 62 7d 22 2b 24 70 61  | 18pt}{tab}"+$pa|
00008200  74 73 74 6f 72 65 25 0d  05 5e 6f d5 23 68 61 6e  |tstore%..^o.#han|
00008210  25 2c 22 7b 66 6f 6e 74  73 69 7a 65 7d 7b 22 22  |%,"{fontsize}{""|
00008220  48 65 61 64 69 6e 67 22  22 20 6f 66 66 7d 7b 22  |Heading"" off}{"|
00008230  22 53 75 62 20 48 65 61  64 69 6e 67 22 22 20 6f  |"Sub Heading"" o|
00008240  6e 7d 7b 66 6f 6e 74 73  69 7a 65 20 31 34 70 74  |n}{fontsize 14pt|
00008250  7d 7b 74 61 62 7d 22 2b  22 46 69 6c 65 20 43 72  |}{tab}"+"File Cr|
00008260  65 61 74 65 64 20 3a 20  22 2b 24 74 69 6d 65 61  |eated : "+$timea|
00008270  6e 73 77 65 72 25 0d 05  5f 69 d5 23 68 61 6e 25  |nswer%.._i.#han%|
00008280  2c 22 7b 74 61 62 7d 22  2b c3 28 67 72 69 64 68  |,"{tab}"+.(gridh|
00008290  65 69 67 68 74 25 29 2b  22 20 52 6f 77 73 20 28  |eight%)+" Rows (|
000082a0  66 72 6f 6d 20 22 2b c3  28 72 6f 77 73 5f 6f 66  |from "+.(rows_of|
000082b0  66 73 65 74 25 2b 31 29  2b 22 20 74 6f 20 22 2b  |fset%+1)+" to "+|
000082c0  c3 28 72 6f 77 73 5f 6f  66 66 73 65 74 25 2b 67  |.(rows_offset%+g|
000082d0  72 69 64 68 65 69 67 68  74 25 29 2b 22 29 22 0d  |ridheight%)+")".|
000082e0  05 60 2b d5 23 68 61 6e  25 2c 22 7b 74 61 62 7d  |.`+.#han%,"{tab}|
000082f0  53 74 69 74 63 68 65 73  20 3a 20 22 2b c3 28 67  |Stitches : "+.(g|
00008300  72 69 64 77 69 64 74 68  25 29 0d 05 61 31 d5 23  |ridwidth%)..a1.#|
00008310  68 61 6e 25 2c 22 7b 74  61 62 7d 4e 75 6d 62 65  |han%,"{tab}Numbe|
00008320  72 20 6f 66 20 63 6f 6c  6f 75 72 73 20 75 73 65  |r of colours use|
00008330  64 20 3a 20 22 2b c3 28  a4 67 29 0d 05 62 33 d5  |d : "+.(.g)..b3.|
00008340  23 68 61 6e 25 2c 22 7b  74 61 62 7d 54 65 6e 73  |#han%,"{tab}Tens|
00008350  69 6f 6e 20 64 69 61 6c  20 73 65 74 74 69 6e 67  |ion dial setting|
00008360  20 20 20 3a 20 22 2b 24  74 64 73 65 74 25 0d 05  |   : "+$tdset%..|
00008370  63 3f d5 23 68 61 6e 25  2c 22 7b 66 6f 6e 74 7d  |c?.#han%,"{font}|
00008380  7b 66 6f 6e 74 73 69 7a  65 7d 7b 22 22 53 75 62  |{fontsize}{""Sub|
00008390  20 48 65 61 64 69 6e 67  22 22 20 6f 66 66 7d 7b  | Heading"" off}{|
000083a0  22 22 52 6f 77 73 22 22  20 6f 6e 7d 22 0d 05 64  |""Rows"" on}"..d|
000083b0  28 d5 23 68 61 6e 25 2c  22 7b 22 22 52 6f 77 73  |(.#han%,"{""Rows|
000083c0  22 22 20 6f 66 66 7d 7b  22 22 52 6f 77 73 22 22  |"" off}{""Rows""|
000083d0  20 6f 6e 7d 22 0d 05 65  3d d5 23 68 61 6e 25 2c  | on}"..e=.#han%,|
000083e0  22 7b 22 22 52 6f 77 73  22 22 20 6f 66 66 7d 7b  |"{""Rows"" off}{|
000083f0  22 22 52 6f 77 73 22 22  20 6f 6e 7d 7b 66 6f 6e  |""Rows"" on}{fon|
00008400  74 20 43 6f 72 70 75 73  2e 4d 65 64 69 75 6d 7d  |t Corpus.Medium}|
00008410  22 3b 0d 05 66 19 e7 20  70 61 74 73 74 6f 72 65  |";..f.. patstore|
00008420  25 3f 31 31 35 3d 32 35  35 20 8c 0d 05 67 0d 73  |%?115=255 ...g.s|
00008430  74 69 74 63 68 25 3d 30  0d 05 68 0a 64 69 72 25  |titch%=0..h.dir%|
00008440  3d 31 0d 05 69 05 cc 0d  05 6a 18 73 74 69 74 63  |=1..i....j.stitc|
00008450  68 25 3d 67 72 69 64 77  69 64 74 68 25 2d 31 0d  |h%=gridwidth%-1.|
00008460  05 6b 0b 64 69 72 25 3d  2d 31 0d 05 6c 05 cd 0d  |.k.dir%=-1..l...|
00008470  05 6d 0a 72 6f 77 25 3d  30 0d 05 6e 10 63 6f 6c  |.m.row%=0..n.col|
00008480  5f 63 6f 75 6e 74 25 3d  30 0d 05 6f 17 c8 95 20  |_count%=0..o... |
00008490  72 6f 77 25 3c 67 72 69  64 68 65 69 67 68 74 25  |row%<gridheight%|
000084a0  0d 05 70 27 c8 99 20 26  30 30 30 34 30 36 43 34  |..p'.. &000406C4|
000084b0  2c 28 72 6f 77 25 2a 31  30 30 29 2f 67 72 69 64  |,(row%*100)/grid|
000084c0  68 65 69 67 68 74 25 0d  05 71 1e e7 20 28 72 6f  |height%..q.. (ro|
000084d0  77 25 20 83 20 35 3d 30  29 20 80 20 72 6f 77 25  |w% . 5=0) . row%|
000084e0  3c 3e 30 20 8c 0d 05 72  10 63 75 72 63 6f 6c 75  |<>0 ...r.curcolu|
000084f0  6d 6e 25 3d 30 0d 05 73  11 d5 23 68 61 6e 25 2c  |mn%=0..s..#han%,|
00008500  22 2a 2a 2a 22 3b 0d 05  74 1a c8 95 20 63 75 72  |"***";..t... cur|
00008510  63 6f 6c 75 6d 6e 25 3c  63 6f 6c 75 6d 6e 73 25  |column%<columns%|
00008520  0d 05 75 1c d5 23 68 61  6e 25 2c 22 7b 74 61 62  |..u..#han%,"{tab|
00008530  7d 7b 74 61 62 7d 2a 2a  2a 2a 22 3b 0d 05 76 11  |}{tab}****";..v.|
00008540  63 75 72 63 6f 6c 75 6d  6e 25 2b 3d 31 0d 05 77  |curcolumn%+=1..w|
00008550  05 ce 0d 05 78 11 d5 23  68 61 6e 25 2c bd 28 31  |....x..#han%,.(1|
00008560  30 29 3b 0d 05 79 05 cd  0d 05 7a 12 d5 23 68 61  |0);..y....z..#ha|
00008570  6e 25 2c 22 52 6f 77 20  22 3b 0d 05 7b 04 0d 05  |n%,"Row ";..{...|
00008580  7c 37 e7 20 67 72 69 64  68 65 69 67 68 74 25 3e  ||7. gridheight%>|
00008590  39 20 80 20 72 6f 77 25  2b 72 6f 77 73 5f 6f 66  |9 . row%+rows_of|
000085a0  66 73 65 74 25 3c 39 20  8c 20 d5 23 68 61 6e 25  |fset%<9 . .#han%|
000085b0  2c 22 20 22 3b 0d 05 7d  39 e7 20 67 72 69 64 68  |," ";..}9. gridh|
000085c0  65 69 67 68 74 25 3e 39  39 20 80 20 72 6f 77 25  |eight%>99 . row%|
000085d0  2b 72 6f 77 73 5f 6f 66  66 73 65 74 25 3c 39 39  |+rows_offset%<99|
000085e0  20 8c 20 d5 23 68 61 6e  25 2c 22 20 22 3b 0d 05  | . .#han%," ";..|
000085f0  7e 3b e7 20 67 72 69 64  68 65 69 67 68 74 25 3e  |~;. gridheight%>|
00008600  39 39 39 20 80 20 72 6f  77 25 2b 72 6f 77 73 5f  |999 . row%+rows_|
00008610  6f 66 66 73 65 74 25 3c  39 39 39 20 8c 20 d5 23  |offset%<999 . .#|
00008620  68 61 6e 25 2c 22 20 22  3b 0d 05 7f 27 d5 23 68  |han%," ";...'.#h|
00008630  61 6e 25 2c c3 28 72 6f  77 25 2b 72 6f 77 73 5f  |an%,.(row%+rows_|
00008640  6f 66 66 73 65 74 25 2b  31 29 2b 22 20 3a 22 3b  |offset%+1)+" :";|
00008650  0d 05 80 32 63 75 72 72  65 6e 74 25 3d 28 63 6f  |...2current%=(co|
00008660  6c 74 61 62 6c 65 25 3f  28 72 6f 77 25 2a 67 72  |ltable%?(row%*gr|
00008670  69 64 77 69 64 74 68 25  2b 73 74 69 74 63 68 25  |idwidth%+stitch%|
00008680  29 29 0d 05 81 10 63 75  72 63 6f 6c 75 6d 6e 25  |))....curcolumn%|
00008690  3d 31 0d 05 82 26 c8 95  20 73 74 69 74 63 68 25  |=1...&.. stitch%|
000086a0  3c 67 72 69 64 77 69 64  74 68 25 20 80 20 73 74  |<gridwidth% . st|
000086b0  69 74 63 68 25 3e 2d 31  0d 05 83 2e 63 6f 6c 25  |itch%>-1....col%|
000086c0  3d 28 63 6f 6c 74 61 62  6c 65 25 3f 28 72 6f 77  |=(coltable%?(row|
000086d0  25 2a 67 72 69 64 77 69  64 74 68 25 2b 73 74 69  |%*gridwidth%+sti|
000086e0  74 63 68 25 29 29 0d 05  84 15 e7 20 63 6f 6c 25  |tch%))..... col%|
000086f0  3d 63 75 72 72 65 6e 74  25 20 8c 0d 05 85 11 63  |=current% .....c|
00008700  6f 6c 5f 63 6f 75 6e 74  25 2b 3d 31 0d 05 86 05  |ol_count%+=1....|
00008710  cc 0d 05 87 1a e7 20 28  63 75 72 72 65 6e 74 25  |...... (current%|
00008720  20 80 20 31 32 38 29 3d  30 20 8c 0d 05 88 46 d5  | . 128)=0 ....F.|
00008730  23 68 61 6e 25 2c 22 7b  74 61 62 7d 22 2b c3 63  |#han%,"{tab}"+.c|
00008740  6f 6c 5f 63 6f 75 6e 74  25 2b 22 7b 74 61 62 7d  |ol_count%+"{tab}|
00008750  22 2b 24 28 6e 61 6d 65  74 61 62 6c 65 25 2b 28  |"+$(nametable%+(|
00008760  63 75 72 72 65 6e 74 25  80 36 33 29 2a 31 33 29  |current%.63)*13)|
00008770  3b 0d 05 89 11 63 75 72  63 6f 6c 75 6d 6e 25 2b  |;....curcolumn%+|
00008780  3d 31 0d 05 8a 1b e7 20  63 75 72 63 6f 6c 75 6d  |=1..... curcolum|
00008790  6e 25 3e 63 6f 6c 75 6d  6e 73 25 20 8c 0d 05 8b  |n%>columns% ....|
000087a0  10 63 75 72 63 6f 6c 75  6d 6e 25 3d 31 0d 05 8c  |.curcolumn%=1...|
000087b0  11 d5 23 68 61 6e 25 2c  bd 28 31 30 29 3b 0d 05  |..#han%,.(10);..|
000087c0  8d 05 cd 0d 05 8e 05 cc  0d 05 8f 2c d5 23 68 61  |...........,.#ha|
000087d0  6e 25 2c 22 7b 74 61 62  7d 22 2b c3 63 6f 6c 5f  |n%,"{tab}"+.col_|
000087e0  63 6f 75 6e 74 25 2b 22  7b 74 61 62 7d 42 6c 61  |count%+"{tab}Bla|
000087f0  6e 6b 22 3b 0d 05 90 11  63 75 72 63 6f 6c 75 6d  |nk";....curcolum|
00008800  6e 25 2b 3d 31 0d 05 91  1b e7 20 63 75 72 63 6f  |n%+=1..... curco|
00008810  6c 75 6d 6e 25 3e 63 6f  6c 75 6d 6e 73 25 20 8c  |lumn%>columns% .|
00008820  0d 05 92 10 63 75 72 63  6f 6c 75 6d 6e 25 3d 31  |....curcolumn%=1|
00008830  0d 05 93 11 d5 23 68 61  6e 25 2c bd 28 31 30 29  |.....#han%,.(10)|
00008840  3b 0d 05 94 05 cd 0d 05  95 05 cd 0d 05 96 10 63  |;..............c|
00008850  6f 6c 5f 63 6f 75 6e 74  25 3d 31 0d 05 97 11 63  |ol_count%=1....c|
00008860  75 72 72 65 6e 74 25 3d  63 6f 6c 25 0d 05 98 05  |urrent%=col%....|
00008870  cd 0d 05 99 11 73 74 69  74 63 68 25 2b 3d 64 69  |.....stitch%+=di|
00008880  72 25 0d 05 9a 05 ce 0d  05 9b 1a e7 20 28 63 75  |r%.......... (cu|
00008890  72 72 65 6e 74 25 20 80  20 31 32 38 29 3d 30 20  |rrent% . 128)=0 |
000088a0  8c 0d 05 9c 46 d5 23 68  61 6e 25 2c 22 7b 74 61  |....F.#han%,"{ta|
000088b0  62 7d 22 2b c3 63 6f 6c  5f 63 6f 75 6e 74 25 2b  |b}"+.col_count%+|
000088c0  22 7b 74 61 62 7d 22 2b  24 28 6e 61 6d 65 74 61  |"{tab}"+$(nameta|
000088d0  62 6c 65 25 2b 28 63 75  72 72 65 6e 74 25 80 36  |ble%+(current%.6|
000088e0  33 29 2a 31 33 29 3b 0d  05 9d 05 cc 0d 05 9e 2c  |3)*13);........,|
000088f0  d5 23 68 61 6e 25 2c 22  7b 74 61 62 7d 22 2b c3  |.#han%,"{tab}"+.|
00008900  63 6f 6c 5f 63 6f 75 6e  74 25 2b 22 7b 74 61 62  |col_count%+"{tab|
00008910  7d 42 6c 61 6e 6b 22 3b  0d 05 9f 05 cd 0d 05 a0  |}Blank";........|
00008920  11 d5 23 68 61 6e 25 2c  bd 28 31 30 29 3b 0d 05  |..#han%,.(10);..|
00008930  a1 0b 72 6f 77 25 2b 3d  31 0d 05 a2 10 63 6f 6c  |..row%+=1....col|
00008940  5f 63 6f 75 6e 74 25 3d  30 0d 05 a3 23 e7 20 73  |_count%=0...#. s|
00008950  74 69 74 63 68 25 3c 30  20 8c 20 73 74 69 74 63  |titch%<0 . stitc|
00008960  68 25 3d 30 3a 20 64 69  72 25 3d 31 0d 05 a4 3a  |h%=0: dir%=1...:|
00008970  e7 20 73 74 69 74 63 68  25 3e 67 72 69 64 77 69  |. stitch%>gridwi|
00008980  64 74 68 25 2d 31 20 8c  20 73 74 69 74 63 68 25  |dth%-1 . stitch%|
00008990  3d 67 72 69 64 77 69 64  74 68 25 2d 31 3a 20 64  |=gridwidth%-1: d|
000089a0  69 72 25 3d 2d 31 0d 05  a5 05 ce 0d 05 a6 10 c8  |ir%=-1..........|
000089b0  99 20 26 30 30 30 34 30  36 43 31 0d 05 a7 0a d9  |. &000406C1.....|
000089c0  23 68 61 6e 25 0d 05 a8  0b 68 61 6e 25 3d 2d 31  |#han%....han%=-1|
000089d0  0d 05 a9 07 f7 20 85 0d  05 aa 05 e1 0d 05 ab 05  |..... ..........|
000089e0  3a 0d 05 ac 09 dd 20 f2  6c 64 0d 05 ad 21 ea 20  |:..... .ld...!. |
000089f0  73 74 61 63 6b 25 2c 6f  72 69 67 25 2c 66 6c 61  |stack%,orig%,fla|
00008a00  67 73 25 2c 74 6f 67 67  6c 65 25 0d 05 ae 1a e7  |gs%,toggle%.....|
00008a10  20 21 62 6c 6f 63 6b 25  3d 63 6f 6c 63 72 65 61  | !block%=colcrea|
00008a20  74 65 25 20 8c 0d 05 af  11 63 72 65 61 74 65 6f  |te% .....createo|
00008a30  70 65 6e 25 3d b9 0d 05  b0 17 62 6c 6f 63 6b 25  |pen%=.....block%|
00008a40  21 31 30 30 3d 63 6f 6c  70 61 6e 65 25 0d 05 b1  |!100=colpane%...|
00008a50  1c c8 99 20 26 30 30 30  34 30 30 43 42 2c 2c 62  |... &000400CB,,b|
00008a60  6c 6f 63 6b 25 2b 31 30  30 0d 05 b2 1a 62 6c 6f  |lock%+100....blo|
00008a70  63 6b 25 21 31 30 34 3d  62 6c 6f 63 6b 25 21 34  |ck%!104=block%!4|
00008a80  2b 34 32 0d 05 b3 1d 62  6c 6f 63 6b 25 21 31 31  |+42....block%!11|
00008a90  32 3d 62 6c 6f 63 6b 25  21 31 30 34 2b 33 36 32  |2=block%!104+362|
00008aa0  0d 05 b4 1b 62 6c 6f 63  6b 25 21 31 31 36 3d 62  |....block%!116=b|
00008ab0  6c 6f 63 6b 25 21 31 36  2d 33 30 0d 05 b5 1d 62  |lock%!16-30....b|
00008ac0  6c 6f 63 6b 25 21 31 30  38 3d 62 6c 6f 63 6b 25  |lock%!108=block%|
00008ad0  21 31 31 36 2d 33 30 30  0d 05 b6 18 62 6c 6f 63  |!116-300....bloc|
00008ae0  6b 25 21 31 32 38 3d 62  6c 6f 63 6b 25 21 32 38  |k%!128=block%!28|
00008af0  0d 05 b7 1c c8 99 20 26  30 30 30 34 30 30 43 35  |...... &000400C5|
00008b00  2c 2c 62 6c 6f 63 6b 25  2b 31 30 30 0d 05 b8 16  |,,block%+100....|
00008b10  62 6c 6f 63 6b 25 21 32  38 3d 63 6f 6c 70 61 6e  |block%!28=colpan|
00008b20  65 25 0d 05 b9 05 cd 0d  05 ba 15 e7 20 21 62 6c  |e%.......... !bl|
00008b30  6f 63 6b 25 3d 65 64 69  74 25 20 8c 0d 05 bb 13  |ock%=edit% .....|
00008b40  6f 72 69 67 25 3d 62 6c  6f 63 6b 25 21 32 38 0d  |orig%=block%!28.|
00008b50  05 bc 14 73 74 61 63 6b  25 3d 62 6c 6f 63 6b 25  |...stack%=block%|
00008b60  21 32 38 0d 05 bd 18 62  6c 6f 63 6b 25 21 32 30  |!28....block%!20|
00008b70  30 3d 74 62 61 72 64 69  73 70 25 0d 05 be 1c c8  |0=tbardisp%.....|
00008b80  99 20 26 30 30 30 34 30  30 43 42 2c 2c 62 6c 6f  |. &000400CB,,blo|
00008b90  63 6b 25 2b 32 30 30 0d  05 bf 2c e7 20 73 74 61  |ck%+200...,. sta|
00008ba0  63 6b 25 3c 3e 2d 31 20  80 20 73 74 61 63 6b 25  |ck%<>-1 . stack%|
00008bb0  3c 3e 2d 32 20 80 20 73  74 61 63 6b 25 3c 3e 2d  |<>-2 . stack%<>-|
00008bc0  33 20 8c 0d 05 c0 3a e7  20 7a 6f 6f 6d 73 74 61  |3 ....:. zoomsta|
00008bd0  63 6b 25 3d 30 20 8c 20  73 74 61 63 6b 25 3d 62  |ck%=0 . stack%=b|
00008be0  6c 6f 63 6b 25 21 32 32  38 20 8b 20 73 74 61 63  |lock%!228 . stac|
00008bf0  6b 25 3d 7a 6f 6f 6d 73  74 61 63 6b 25 0d 05 c1  |k%=zoomstack%...|
00008c00  05 cd 0d 05 c2 14 62 6c  6f 63 6b 25 21 32 30 30  |......block%!200|
00008c10  3d 65 64 69 74 25 0d 05  c3 1c c8 99 20 26 30 30  |=edit%...... &00|
00008c20  30 34 30 30 43 42 2c 2c  62 6c 6f 63 6b 25 2b 32  |0400CB,,block%+2|
00008c30  30 30 0d 05 c4 2d 66 6c  61 67 73 25 3d 62 6c 6f  |00...-flags%=blo|
00008c40  63 6b 25 21 32 33 32 3a  20 66 6c 61 67 73 25 3d  |ck%!232: flags%=|
00008c50  66 6c 61 67 73 25 20 80  28 31 3c 3c 31 36 29 0d  |flags% .(1<<16).|
00008c60  05 c5 30 74 6f 67 67 6c  65 25 3d 62 6c 6f 63 6b  |..0toggle%=block|
00008c70  25 21 32 33 32 3a 20 74  6f 67 67 6c 65 25 3d 74  |%!232: toggle%=t|
00008c80  6f 67 67 6c 65 25 20 80  28 31 3c 3c 31 39 29 0d  |oggle% .(1<<19).|
00008c90  05 c6 4f e7 20 66 6c 61  67 73 25 3d 28 31 3c 3c  |..O. flags%=(1<<|
00008ca0  31 36 29 20 80 20 7a 6f  6f 6d 73 74 61 63 6b 25  |16) . zoomstack%|
00008cb0  3d 30 20 80 20 73 74 61  63 6b 25 3c 3e 2d 32 20  |=0 . stack%<>-2 |
00008cc0  80 20 74 6f 67 67 6c 65  25 3c 3e 31 20 8c 20 62  |. toggle%<>1 . b|
00008cd0  6c 6f 63 6b 25 21 32 38  3d 74 62 61 72 25 0d 05  |lock%!28=tbar%..|
00008ce0  c7 24 e7 20 74 6f 67 67  6c 65 25 3d 28 31 3c 3c  |.$. toggle%=(1<<|
00008cf0  31 39 29 20 8c 20 62 6c  6f 63 6b 25 21 32 38 3d  |19) . block%!28=|
00008d00  2d 31 0d 05 c8 14 62 6c  6f 63 6b 25 21 32 30 30  |-1....block%!200|
00008d10  3d 65 64 69 74 25 0d 05  c9 18 c8 99 20 26 30 30  |=edit%...... &00|
00008d20  30 34 30 30 43 35 2c 2c  62 6c 6f 63 6b 25 0d 05  |0400C5,,block%..|
00008d30  ca 1c c8 99 20 26 30 30  30 34 30 30 43 42 2c 2c  |.... &000400CB,,|
00008d40  62 6c 6f 63 6b 25 2b 32  30 30 0d 05 cb 22 e7 20  |block%+200...". |
00008d50  6f 72 69 67 25 3d 2d 32  20 8c 20 73 74 61 63 6b  |orig%=-2 . stack|
00008d60  25 3d 62 6c 6f 63 6b 25  21 32 32 38 0d 05 cc 18  |%=block%!228....|
00008d70  62 6c 6f 63 6b 25 21 31  30 30 3d 74 62 61 72 64  |block%!100=tbard|
00008d80  69 73 70 25 0d 05 cd 19  62 6c 6f 63 6b 25 21 31  |isp%....block%!1|
00008d90  30 34 3d 62 6c 6f 63 6b  25 21 32 30 34 0d 05 ce  |04=block%!204...|
00008da0  1d 62 6c 6f 63 6b 25 21  31 31 32 3d 62 6c 6f 63  |.block%!112=bloc|
00008db0  6b 25 21 32 30 34 2b 32  34 30 0d 05 cf 21 62 6c  |k%!204+240...!bl|
00008dc0  6f 63 6b 25 21 31 30 38  3d 62 6c 6f 63 6b 25 21  |ock%!108=block%!|
00008dd0  32 31 36 2d 74 62 61 72  68 74 25 0d 05 d0 19 62  |216-tbarht%....b|
00008de0  6c 6f 63 6b 25 21 31 31  36 3d 62 6c 6f 63 6b 25  |lock%!116=block%|
00008df0  21 32 31 36 0d 05 d1 1d  62 6c 6f 63 6b 25 21 31  |!216....block%!1|
00008e00  32 30 3d 30 3a 62 6c 6f  63 6b 25 21 31 32 34 3d  |20=0:block%!124=|
00008e10  30 0d 05 d2 15 62 6c 6f  63 6b 25 21 31 32 38 3d  |0....block%!128=|
00008e20  73 74 61 63 6b 25 0d 05  d3 1c c8 99 20 26 30 30  |stack%...... &00|
00008e30  30 34 30 30 43 35 2c 2c  62 6c 6f 63 6b 25 2b 31  |0400C5,,block%+1|
00008e40  30 30 0d 05 d4 14 62 6c  6f 63 6b 25 21 31 30 30  |00....block%!100|
00008e50  3d 74 62 61 72 25 0d 05  d5 1c c8 99 20 26 30 30  |=tbar%...... &00|
00008e60  30 34 30 30 43 42 2c 2c  62 6c 6f 63 6b 25 2b 31  |0400CB,,block%+1|
00008e70  30 30 0d 05 d6 1d 62 6c  6f 63 6b 25 21 31 30 34  |00....block%!104|
00008e80  3d 62 6c 6f 63 6b 25 21  32 30 34 2b 32 34 30 0d  |=block%!204+240.|
00008e90  05 d7 19 62 6c 6f 63 6b  25 21 31 31 32 3d 62 6c  |...block%!112=bl|
00008ea0  6f 63 6b 25 21 32 31 32  0d 05 d8 21 62 6c 6f 63  |ock%!212...!bloc|
00008eb0  6b 25 21 31 30 38 3d 62  6c 6f 63 6b 25 21 32 31  |k%!108=block%!21|
00008ec0  36 2d 74 62 61 72 68 74  25 0d 05 d9 19 62 6c 6f  |6-tbarht%....blo|
00008ed0  63 6b 25 21 31 31 36 3d  62 6c 6f 63 6b 25 21 32  |ck%!116=block%!2|
00008ee0  31 36 0d 05 da 10 62 6c  6f 63 6b 25 21 31 32 34  |16....block%!124|
00008ef0  3d 30 0d 05 db 18 62 6c  6f 63 6b 25 21 31 32 38  |=0....block%!128|
00008f00  3d 74 62 61 72 64 69 73  70 25 0d 05 dc 1c c8 99  |=tbardisp%......|
00008f10  20 26 30 30 30 34 30 30  43 35 2c 2c 62 6c 6f 63  | &000400C5,,bloc|
00008f20  6b 25 2b 31 30 30 0d 05  dd 15 e7 20 70 61 67 65  |k%+100..... page|
00008f30  72 75 6c 65 72 73 25 3d  b9 20 8c 0d 05 de 18 62  |rulers%=. .....b|
00008f40  6c 6f 63 6b 25 21 31 30  30 3d 63 6f 72 6e 65 72  |lock%!100=corner|
00008f50  74 6c 25 0d 05 df 19 62  6c 6f 63 6b 25 21 31 30  |tl%....block%!10|
00008f60  34 3d 62 6c 6f 63 6b 25  21 32 30 34 0d 05 e0 2a  |4=block%!204...*|
00008f70  62 6c 6f 63 6b 25 21 31  31 32 3d 62 6c 6f 63 6b  |block%!112=block|
00008f80  25 21 32 30 34 2b 72 75  6c 65 73 69 7a 65 25 2d  |%!204+rulesize%-|
00008f90  78 70 69 78 32 25 0d 05  e1 32 62 6c 6f 63 6b 25  |xpix2%...2block%|
00008fa0  21 31 30 38 3d 62 6c 6f  63 6b 25 21 32 31 36 2d  |!108=block%!216-|
00008fb0  72 75 6c 65 73 69 7a 65  25 2d 74 62 61 72 68 74  |rulesize%-tbarht|
00008fc0  25 2b 79 70 69 78 32 25  0d 05 e2 21 62 6c 6f 63  |%+ypix2%...!bloc|
00008fd0  6b 25 21 31 31 36 3d 62  6c 6f 63 6b 25 21 32 31  |k%!116=block%!21|
00008fe0  36 2d 74 62 61 72 68 74  25 0d 05 e3 1d 62 6c 6f  |6-tbarht%....blo|
00008ff0  63 6b 25 21 31 32 30 3d  30 3a 62 6c 6f 63 6b 25  |ck%!120=0:block%|
00009000  21 31 32 34 3d 30 0d 05  e4 14 62 6c 6f 63 6b 25  |!124=0....block%|
00009010  21 31 32 38 3d 74 62 61  72 25 0d 05 e5 1c c8 99  |!128=tbar%......|
00009020  20 26 30 30 30 34 30 30  43 35 2c 2c 62 6c 6f 63  | &000400C5,,bloc|
00009030  6b 25 2b 31 30 30 0d 05  e6 18 62 6c 6f 63 6b 25  |k%+100....block%|
00009040  21 31 30 30 3d 63 6f 72  6e 65 72 74 72 25 0d 05  |!100=cornertr%..|
00009050  e7 2a 62 6c 6f 63 6b 25  21 31 30 34 3d 62 6c 6f  |.*block%!104=blo|
00009060  63 6b 25 21 32 31 32 2d  72 75 6c 65 73 69 7a 65  |ck%!212-rulesize|
00009070  25 2b 78 70 69 78 32 25  0d 05 e8 19 62 6c 6f 63  |%+xpix2%....bloc|
00009080  6b 25 21 31 31 32 3d 62  6c 6f 63 6b 25 21 32 31  |k%!112=block%!21|
00009090  32 0d 05 e9 32 62 6c 6f  63 6b 25 21 31 30 38 3d  |2...2block%!108=|
000090a0  62 6c 6f 63 6b 25 21 32  31 36 2d 72 75 6c 65 73  |block%!216-rules|
000090b0  69 7a 65 25 2d 74 62 61  72 68 74 25 2b 79 70 69  |ize%-tbarht%+ypi|
000090c0  78 32 25 0d 05 ea 21 62  6c 6f 63 6b 25 21 31 31  |x2%...!block%!11|
000090d0  36 3d 62 6c 6f 63 6b 25  21 32 31 36 2d 74 62 61  |6=block%!216-tba|
000090e0  72 68 74 25 0d 05 eb 1d  62 6c 6f 63 6b 25 21 31  |rht%....block%!1|
000090f0  32 30 3d 30 3a 62 6c 6f  63 6b 25 21 31 32 34 3d  |20=0:block%!124=|
00009100  30 0d 05 ec 18 62 6c 6f  63 6b 25 21 31 32 38 3d  |0....block%!128=|
00009110  63 6f 72 6e 65 72 74 6c  25 0d 05 ed 1c c8 99 20  |cornertl%...... |
00009120  26 30 30 30 34 30 30 43  35 2c 2c 62 6c 6f 63 6b  |&000400C5,,block|
00009130  25 2b 31 30 30 0d 05 ee  18 62 6c 6f 63 6b 25 21  |%+100....block%!|
00009140  31 30 30 3d 63 6f 72 6e  65 72 62 6c 25 0d 05 ef  |100=cornerbl%...|
00009150  19 62 6c 6f 63 6b 25 21  31 30 34 3d 62 6c 6f 63  |.block%!104=bloc|
00009160  6b 25 21 32 30 34 0d 05  f0 2a 62 6c 6f 63 6b 25  |k%!204...*block%|
00009170  21 31 31 32 3d 62 6c 6f  63 6b 25 21 32 30 34 2b  |!112=block%!204+|
00009180  72 75 6c 65 73 69 7a 65  25 2d 78 70 69 78 32 25  |rulesize%-xpix2%|
00009190  0d 05 f1 19 62 6c 6f 63  6b 25 21 31 30 38 3d 62  |....block%!108=b|
000091a0  6c 6f 63 6b 25 21 32 30  38 0d 05 f2 29 62 6c 6f  |lock%!208...)blo|
000091b0  63 6b 25 21 31 31 36 3d  62 6c 6f 63 6b 25 21 32  |ck%!116=block%!2|
000091c0  30 38 2b 72 75 6c 65 73  69 7a 65 25 2d 79 70 69  |08+rulesize%-ypi|
000091d0  78 25 0d 05 f3 1d 62 6c  6f 63 6b 25 21 31 32 30  |x%....block%!120|
000091e0  3d 30 3a 62 6c 6f 63 6b  25 21 31 32 34 3d 30 0d  |=0:block%!124=0.|
000091f0  05 f4 18 62 6c 6f 63 6b  25 21 31 32 38 3d 63 6f  |...block%!128=co|
00009200  72 6e 65 72 74 72 25 0d  05 f5 1c c8 99 20 26 30  |rnertr%...... &0|
00009210  30 30 34 30 30 43 35 2c  2c 62 6c 6f 63 6b 25 2b  |00400C5,,block%+|
00009220  31 30 30 0d 05 f6 18 62  6c 6f 63 6b 25 21 31 30  |100....block%!10|
00009230  30 3d 63 6f 72 6e 65 72  62 72 25 0d 05 f7 2a 62  |0=cornerbr%...*b|
00009240  6c 6f 63 6b 25 21 31 30  34 3d 62 6c 6f 63 6b 25  |lock%!104=block%|
00009250  21 32 31 32 2d 72 75 6c  65 73 69 7a 65 25 2b 78  |!212-rulesize%+x|
00009260  70 69 78 32 25 0d 05 f8  19 62 6c 6f 63 6b 25 21  |pix2%....block%!|
00009270  31 31 32 3d 62 6c 6f 63  6b 25 21 32 31 32 0d 05  |112=block%!212..|
00009280  f9 19 62 6c 6f 63 6b 25  21 31 30 38 3d 62 6c 6f  |..block%!108=blo|
00009290  63 6b 25 21 32 30 38 0d  05 fa 29 62 6c 6f 63 6b  |ck%!208...)block|
000092a0  25 21 31 31 36 3d 62 6c  6f 63 6b 25 21 32 30 38  |%!116=block%!208|
000092b0  2b 72 75 6c 65 73 69 7a  65 25 2d 79 70 69 78 25  |+rulesize%-ypix%|
000092c0  0d 05 fb 1d 62 6c 6f 63  6b 25 21 31 32 30 3d 30  |....block%!120=0|
000092d0  3a 62 6c 6f 63 6b 25 21  31 32 34 3d 30 0d 05 fc  |:block%!124=0...|
000092e0  18 62 6c 6f 63 6b 25 21  31 32 38 3d 63 6f 72 6e  |.block%!128=corn|
000092f0  65 72 62 6c 25 0d 05 fd  1c c8 99 20 26 30 30 30  |erbl%...... &000|
00009300  34 30 30 43 35 2c 2c 62  6c 6f 63 6b 25 2b 31 30  |400C5,,block%+10|
00009310  30 0d 05 fe 17 62 6c 6f  63 6b 25 21 31 30 30 3d  |0....block%!100=|
00009320  62 6f 74 72 75 6c 65 25  0d 05 ff 1f 62 6c 6f 63  |botrule%....bloc|
00009330  6b 25 21 31 30 34 3d 62  6c 6f 63 6b 25 21 32 30  |k%!104=block%!20|
00009340  34 2b 78 70 69 78 25 0d  06 00 1f 62 6c 6f 63 6b  |4+xpix%....block|
00009350  25 21 31 31 32 3d 62 6c  6f 63 6b 25 21 32 31 32  |%!112=block%!212|
00009360  2d 78 70 69 78 25 0d 06  01 1f 62 6c 6f 63 6b 25  |-xpix%....block%|
00009370  21 31 30 38 3d 62 6c 6f  63 6b 25 21 32 30 38 2b  |!108=block%!208+|
00009380  79 70 69 78 25 0d 06 02  29 62 6c 6f 63 6b 25 21  |ypix%...)block%!|
00009390  31 31 36 3d 62 6c 6f 63  6b 25 21 32 30 38 2b 72  |116=block%!208+r|
000093a0  75 6c 65 73 69 7a 65 25  2d 79 70 69 78 25 0d 06  |ulesize%-ypix%..|
000093b0  03 26 62 6c 6f 63 6b 25  21 31 32 30 3d 62 6c 6f  |.&block%!120=blo|
000093c0  63 6b 25 21 32 32 30 3a  62 6c 6f 63 6b 25 21 31  |ck%!220:block%!1|
000093d0  32 34 3d 30 0d 06 04 18  62 6c 6f 63 6b 25 21 31  |24=0....block%!1|
000093e0  32 38 3d 63 6f 72 6e 65  72 62 72 25 0d 06 05 1c  |28=cornerbr%....|
000093f0  c8 99 20 26 30 30 30 34  30 30 43 35 2c 2c 62 6c  |.. &000400C5,,bl|
00009400  6f 63 6b 25 2b 31 30 30  0d 06 06 18 62 6c 6f 63  |ock%+100....bloc|
00009410  6b 25 21 31 30 30 3d 6c  65 66 74 72 75 6c 65 25  |k%!100=leftrule%|
00009420  0d 06 07 1f 62 6c 6f 63  6b 25 21 31 30 34 3d 62  |....block%!104=b|
00009430  6c 6f 63 6b 25 21 32 30  34 2b 78 70 69 78 25 0d  |lock%!204+xpix%.|
00009440  06 08 29 62 6c 6f 63 6b  25 21 31 31 32 3d 62 6c  |..)block%!112=bl|
00009450  6f 63 6b 25 21 32 30 34  2b 72 75 6c 65 73 69 7a  |ock%!204+rulesiz|
00009460  65 25 2d 78 70 69 78 25  0d 06 09 1f 62 6c 6f 63  |e%-xpix%....bloc|
00009470  6b 25 21 31 30 38 3d 62  6c 6f 63 6b 25 21 32 30  |k%!108=block%!20|
00009480  38 2b 79 70 69 78 25 0d  06 0a 1f 62 6c 6f 63 6b  |8+ypix%....block|
00009490  25 21 31 31 36 3d 62 6c  6f 63 6b 25 21 32 31 36  |%!116=block%!216|
000094a0  2d 79 70 69 78 25 0d 06  0b 26 62 6c 6f 63 6b 25  |-ypix%...&block%|
000094b0  21 31 32 30 3d 30 3a 62  6c 6f 63 6b 25 21 31 32  |!120=0:block%!12|
000094c0  34 3d 62 6c 6f 63 6b 25  21 32 32 34 0d 06 0c 17  |4=block%!224....|
000094d0  62 6c 6f 63 6b 25 21 31  32 38 3d 62 6f 74 72 75  |block%!128=botru|
000094e0  6c 65 25 0d 06 0d 1c c8  99 20 26 30 30 30 34 30  |le%...... &00040|
000094f0  30 43 35 2c 2c 62 6c 6f  63 6b 25 2b 31 30 30 0d  |0C5,,block%+100.|
00009500  06 0e 19 62 6c 6f 63 6b  25 21 31 30 30 3d 72 69  |...block%!100=ri|
00009510  67 68 74 72 75 6c 65 25  0d 06 0f 2a 62 6c 6f 63  |ghtrule%...*bloc|
00009520  6b 25 21 31 30 34 3d 62  6c 6f 63 6b 25 21 32 31  |k%!104=block%!21|
00009530  32 2d 72 75 6c 65 73 69  7a 65 25 2b 78 70 69 78  |2-rulesize%+xpix|
00009540  32 25 0d 06 10 1f 62 6c  6f 63 6b 25 21 31 31 32  |2%....block%!112|
00009550  3d 62 6c 6f 63 6b 25 21  32 31 32 2d 78 70 69 78  |=block%!212-xpix|
00009560  25 0d 06 11 1f 62 6c 6f  63 6b 25 21 31 30 38 3d  |%....block%!108=|
00009570  62 6c 6f 63 6b 25 21 32  30 38 2b 79 70 69 78 25  |block%!208+ypix%|
00009580  0d 06 12 1f 62 6c 6f 63  6b 25 21 31 31 36 3d 62  |....block%!116=b|
00009590  6c 6f 63 6b 25 21 32 31  36 2d 79 70 69 78 25 0d  |lock%!216-ypix%.|
000095a0  06 13 26 62 6c 6f 63 6b  25 21 31 32 30 3d 30 3a  |..&block%!120=0:|
000095b0  62 6c 6f 63 6b 25 21 31  32 34 3d 62 6c 6f 63 6b  |block%!124=block|
000095c0  25 21 32 32 34 0d 06 14  18 62 6c 6f 63 6b 25 21  |%!224....block%!|
000095d0  31 32 38 3d 6c 65 66 74  72 75 6c 65 25 0d 06 15  |128=leftrule%...|
000095e0  1c c8 99 20 26 30 30 30  34 30 30 43 35 2c 2c 62  |... &000400C5,,b|
000095f0  6c 6f 63 6b 25 2b 31 30  30 0d 06 16 17 62 6c 6f  |lock%+100....blo|
00009600  63 6b 25 21 31 30 30 3d  74 6f 70 72 75 6c 65 25  |ck%!100=toprule%|
00009610  0d 06 17 1f 62 6c 6f 63  6b 25 21 31 30 34 3d 62  |....block%!104=b|
00009620  6c 6f 63 6b 25 21 32 30  34 2b 78 70 69 78 25 0d  |lock%!204+xpix%.|
00009630  06 18 1f 62 6c 6f 63 6b  25 21 31 31 32 3d 62 6c  |...block%!112=bl|
00009640  6f 63 6b 25 21 32 31 32  2d 78 70 69 78 25 0d 06  |ock%!212-xpix%..|
00009650  19 32 62 6c 6f 63 6b 25  21 31 30 38 3d 62 6c 6f  |.2block%!108=blo|
00009660  63 6b 25 21 32 31 36 2d  72 75 6c 65 73 69 7a 65  |ck%!216-rulesize|
00009670  25 2d 74 62 61 72 68 74  25 2b 79 70 69 78 32 25  |%-tbarht%+ypix2%|
00009680  0d 06 1a 28 62 6c 6f 63  6b 25 21 31 31 36 3d 62  |...(block%!116=b|
00009690  6c 6f 63 6b 25 21 32 31  36 2d 74 62 61 72 68 74  |lock%!216-tbarht|
000096a0  25 2b 79 70 69 78 32 25  0d 06 1b 26 62 6c 6f 63  |%+ypix2%...&bloc|
000096b0  6b 25 21 31 32 30 3d 62  6c 6f 63 6b 25 21 32 32  |k%!120=block%!22|
000096c0  30 3a 62 6c 6f 63 6b 25  21 31 32 34 3d 30 0d 06  |0:block%!124=0..|
000096d0  1c 19 62 6c 6f 63 6b 25  21 31 32 38 3d 72 69 67  |..block%!128=rig|
000096e0  68 74 72 75 6c 65 25 0d  06 1d 1c c8 99 20 26 30  |htrule%...... &0|
000096f0  30 30 34 30 30 43 35 2c  2c 62 6c 6f 63 6b 25 2b  |00400C5,,block%+|
00009700  31 30 30 0d 06 1e 16 62  6c 6f 63 6b 25 21 32 38  |100....block%!28|
00009710  3d 74 6f 70 72 75 6c 65  25 0d 06 1f 05 cc 0d 06  |=toprule%.......|
00009720  20 13 62 6c 6f 63 6b 25  21 32 38 3d 74 62 61 72  | .block%!28=tbar|
00009730  25 0d 06 21 05 cd 0d 06  22 05 cd 0d 06 23 2b e7  |%..!...."....#+.|
00009740  20 21 62 6c 6f 63 6b 25  3c 3e 65 64 69 74 25 20  | !block%<>edit% |
00009750  8c 20 c8 99 20 26 30 30  30 34 30 30 43 35 2c 2c  |. .. &000400C5,,|
00009760  62 6c 6f 63 6b 25 0d 06  24 25 e7 20 21 62 6c 6f  |block%..$%. !blo|
00009770  63 6b 25 3d 65 64 69 74  25 20 80 20 7a 6f 6f 6d  |ck%=edit% . zoom|
00009780  73 74 61 63 6b 25 3c 3e  30 20 8c 0d 06 25 20 e7  |stack%<>0 ...% .|
00009790  20 6f 72 69 67 25 3d 2d  32 20 8c 20 62 6c 6f 63  | orig%=-2 . bloc|
000097a0  6b 25 21 32 38 3d 74 62  61 72 25 0d 06 26 18 c8  |k%!28=tbar%..&..|
000097b0  99 20 26 30 30 30 34 30  30 43 35 2c 2c 62 6c 6f  |. &000400C5,,blo|
000097c0  63 6b 25 0d 06 27 05 cd  0d 06 28 05 e1 0d 06 29  |ck%..'....(....)|
000097d0  05 3a 0d 06 2a 10 dd 20  f2 6e 64 28 77 68 61 6e  |.:..*.. .nd(whan|
000097e0  25 29 0d 06 2b 0b ea 20  77 25 2c 68 25 0d 06 2c  |%)..+.. w%,h%..,|
000097f0  0e c8 8e 20 77 68 61 6e  25 20 ca 0d 06 2d 0e c9  |... whan% ...-..|
00009800  20 73 61 76 65 62 6f 78  25 0d 06 2e 0f 64 72 61  | savebox%....dra|
00009810  67 74 79 70 65 25 3d 30  0d 06 2f 0b c9 20 65 64  |gtype%=0../.. ed|
00009820  69 74 25 0d 06 30 0f 65  64 69 74 6f 70 65 6e 25  |it%..0.editopen%|
00009830  3d b9 0d 06 31 04 0d 06  32 07 f2 6f 62 0d 06 33  |=...1...2..ob..3|
00009840  11 21 62 6c 6f 63 6b 25  3d 65 64 69 74 25 0d 06  |.!block%=edit%..|
00009850  34 18 c8 99 20 26 30 30  30 34 30 30 43 42 2c 2c  |4... &000400CB,,|
00009860  62 6c 6f 63 6b 25 0d 06  35 10 62 6c 6f 63 6b 25  |block%..5.block%|
00009870  21 32 38 3d 2d 31 0d 06  36 07 f2 6c 64 0d 06 37  |!28=-1..6..ld..7|
00009880  10 c9 20 63 6f 6c 63 72  65 61 74 65 25 0d 06 38  |.. colcreate%..8|
00009890  04 0d 06 39 11 63 72 65  61 74 65 6f 70 65 6e 25  |...9.createopen%|
000098a0  3d b9 0d 06 3a 0f 65 64  69 74 63 6f 6c 25 3d 2d  |=...:.editcol%=-|
000098b0  32 0d 06 3b 0e 24 63 6e  61 6d 65 25 3d 22 22 0d  |2..;.$cname%="".|
000098c0  06 3c 19 f2 66 65 28 63  6f 6c 63 72 65 61 74 65  |.<..fe(colcreate|
000098d0  25 2c 33 2c 30 2c 30 29  0d 06 3d 07 f2 78 62 0d  |%,3,0,0)..=..xb.|
000098e0  06 3e 2a e7 20 63 61 72  62 25 21 30 3d 63 6f 6c  |.>*. carb%!0=col|
000098f0  63 72 65 61 74 65 25 20  8c 20 c8 99 20 26 30 30  |create% . .. &00|
00009900  30 34 30 30 44 32 2c 2d  31 0d 06 3f 16 21 62 6c  |0400D2,-1..?.!bl|
00009910  6f 63 6b 25 3d 63 6f 6c  63 72 65 61 74 65 25 0d  |ock%=colcreate%.|
00009920  06 40 18 c8 99 20 26 30  30 30 34 30 30 43 42 2c  |.@... &000400CB,|
00009930  2c 62 6c 6f 63 6b 25 0d  06 41 19 77 25 3d 62 6c  |,block%..A.w%=bl|
00009940  6f 63 6b 25 21 31 32 2d  62 6c 6f 63 6b 25 21 34  |ock%!12-block%!4|
00009950  0d 06 42 19 68 25 3d 62  6c 6f 63 6b 25 21 31 36  |..B.h%=block%!16|
00009960  2d 62 6c 6f 63 6b 25 21  38 0d 06 43 14 62 6c 6f  |-block%!8..C.blo|
00009970  63 6b 25 21 31 30 30 3d  65 64 69 74 25 0d 06 44  |ck%!100=edit%..D|
00009980  1c c8 99 20 26 30 30 30  34 30 30 43 42 2c 2c 62  |... &000400CB,,b|
00009990  6c 6f 63 6b 25 2b 31 30  30 0d 06 45 17 62 6c 6f  |lock%+100..E.blo|
000099a0  63 6b 25 21 34 3d 62 6c  6f 63 6b 25 21 31 30 34  |ck%!4=block%!104|
000099b0  0d 06 46 25 62 6c 6f 63  6b 25 21 38 3d 62 6c 6f  |..F%block%!8=blo|
000099c0  63 6b 25 21 31 31 36 2d  68 25 2d 74 62 61 72 68  |ck%!116-h%-tbarh|
000099d0  74 25 2d 34 32 0d 06 47  19 62 6c 6f 63 6b 25 21  |t%-42..G.block%!|
000099e0  31 32 3d 62 6c 6f 63 6b  25 21 34 2b 77 25 0d 06  |12=block%!4+w%..|
000099f0  48 23 62 6c 6f 63 6b 25  21 31 36 3d 62 6c 6f 63  |H#block%!16=bloc|
00009a00  6b 25 21 31 31 36 2d 74  62 61 72 68 74 25 2d 34  |k%!116-tbarht%-4|
00009a10  32 0d 06 49 10 62 6c 6f  63 6b 25 21 32 38 3d 2d  |2..I.block%!28=-|
00009a20  31 0d 06 4a 07 f2 6c 64  0d 06 4b 0e c9 20 63 6f  |1..J..ld..K.. co|
00009a30  6c 70 69 63 6b 25 0d 06  4c 04 0d 06 4d 15 62 6c  |lpick%..L...M.bl|
00009a40  6f 63 6b 25 21 30 3d 63  6f 6c 70 69 63 6b 25 0d  |ock%!0=colpick%.|
00009a50  06 4e 18 c8 99 20 26 30  30 30 34 30 30 43 42 2c  |.N... &000400CB,|
00009a60  2c 62 6c 6f 63 6b 25 0d  06 4f 19 77 25 3d 62 6c  |,block%..O.w%=bl|
00009a70  6f 63 6b 25 21 31 32 2d  62 6c 6f 63 6b 25 21 34  |ock%!12-block%!4|
00009a80  0d 06 50 19 68 25 3d 62  6c 6f 63 6b 25 21 31 36  |..P.h%=block%!16|
00009a90  2d 62 6c 6f 63 6b 25 21  38 0d 06 51 19 62 6c 6f  |-block%!8..Q.blo|
00009aa0  63 6b 25 21 31 30 30 3d  63 6f 6c 63 72 65 61 74  |ck%!100=colcreat|
00009ab0  65 25 0d 06 52 1c c8 99  20 26 30 30 30 34 30 30  |e%..R... &000400|
00009ac0  43 42 2c 2c 62 6c 6f 63  6b 25 2b 31 30 30 0d 06  |CB,,block%+100..|
00009ad0  53 1e 62 6c 6f 63 6b 25  21 34 3d 62 6c 6f 63 6b  |S.block%!4=block|
00009ae0  25 21 31 31 32 2b 78 70  69 78 32 25 0d 06 54 1a  |%!112+xpix2%..T.|
00009af0  62 6c 6f 63 6b 25 21 38  3d 62 6c 6f 63 6b 25 21  |block%!8=block%!|
00009b00  31 31 36 2d 68 25 0d 06  55 19 62 6c 6f 63 6b 25  |116-h%..U.block%|
00009b10  21 31 32 3d 62 6c 6f 63  6b 25 21 34 2b 77 25 0d  |!12=block%!4+w%.|
00009b20  06 56 18 62 6c 6f 63 6b  25 21 31 36 3d 62 6c 6f  |.V.block%!16=blo|
00009b30  63 6b 25 21 31 31 36 0d  06 57 10 62 6c 6f 63 6b  |ck%!116..W.block|
00009b40  25 21 32 38 3d 2d 31 0d  06 58 07 f2 6c 64 0d 06  |%!28=-1..X..ld..|
00009b50  59 05 7f 0d 06 5a 12 62  6c 6f 63 6b 25 21 30 3d  |Y....Z.block%!0=|
00009b60  77 68 61 6e 25 0d 06 5b  18 c8 99 20 26 30 30 30  |whan%..[... &000|
00009b70  34 30 30 43 42 2c 2c 62  6c 6f 63 6b 25 0d 06 5c  |400CB,,block%..\|
00009b80  10 62 6c 6f 63 6b 25 21  32 38 3d 2d 31 0d 06 5d  |.block%!28=-1..]|
00009b90  18 c8 99 20 26 30 30 30  34 30 30 43 35 2c 2c 62  |... &000400C5,,b|
00009ba0  6c 6f 63 6b 25 0d 06 5e  05 cb 0d 06 5f 13 e7 20  |lock%..^...._.. |
00009bb0  77 68 61 6e 25 3d 6d 61  69 6e 25 20 8c 0d 06 60  |whan%=main% ...`|
00009bc0  0f 6d 61 69 6e 6f 70 65  6e 25 3d b9 0d 06 61 10  |.mainopen%=...a.|
00009bd0  c8 8e 20 6d 61 6e 6e 65  72 25 20 ca 0d 06 62 09  |.. manner% ...b.|
00009be0  c9 20 30 2c 32 0d 06 63  1c f2 6f 61 28 6d 61 69  |. 0,2..c..oa(mai|
00009bf0  6e 25 2c 32 39 2c a9 24  28 67 72 6f 77 73 25 29  |n%,29,.$(grows%)|
00009c00  29 0d 06 64 07 c9 20 31  0d 06 65 14 e7 20 a4 6d  |)..d.. 1..e.. .m|
00009c10  28 6d 61 69 6e 25 2c 31  39 29 20 8c 0d 06 66 25  |(main%,19) ...f%|
00009c20  f2 6f 61 28 6d 61 69 6e  25 2c 31 35 2c a9 24 74  |.oa(main%,15,.$t|
00009c30  65 6e 73 69 6f 6e 5f 73  71 5f 77 69 64 74 68 25  |ension_sq_width%|
00009c40  29 0d 06 67 05 cc 0d 06  68 1e f2 6f 61 28 6d 61  |)..g....h..oa(ma|
00009c50  69 6e 25 2c 31 39 2c a9  24 63 6f 6e 76 5f 72 6f  |in%,19,.$conv_ro|
00009c60  77 73 25 29 0d 06 69 05  cd 0d 06 6a 05 cb 0d 06  |ws%)..i....j....|
00009c70  6b 05 cd 0d 06 6c 05 e1  0d 06 6d 05 3a 0d 06 6e  |k....l....m.:..n|
00009c80  09 dd 20 f2 6f 62 0d 06  6f 13 ea 20 77 69 64 74  |.. .ob..o.. widt|
00009c90  68 25 2c 65 78 74 72 61  25 0d 06 70 26 77 69 64  |h%,extra%..p&wid|
00009ca0  74 68 25 3d 73 74 77 25  2a 67 72 69 64 77 69 64  |th%=stw%*gridwid|
00009cb0  74 68 25 2b 72 75 6c 65  73 69 7a 65 25 2a 32 0d  |th%+rulesize%*2.|
00009cc0  06 71 35 72 75 6c 65 68  65 69 67 68 74 25 3d 2d  |.q5ruleheight%=-|
00009cd0  72 68 74 25 2a 67 72 69  64 68 65 69 67 68 74 25  |rht%*gridheight%|
00009ce0  2d 72 75 6c 65 73 69 7a  65 25 2a 32 2d 74 62 61  |-rulesize%*2-tba|
00009cf0  72 68 74 25 0d 06 72 18  65 64 69 74 68 74 25 3d  |rht%..r.editht%=|
00009d00  2d 72 75 6c 65 68 65 69  67 68 74 25 0d 06 73 25  |-ruleheight%..s%|
00009d10  f2 6a 64 28 65 64 69 74  25 2c 30 2c 72 75 6c 65  |.jd(edit%,0,rule|
00009d20  68 65 69 67 68 74 25 2c  77 69 64 74 68 25 2c 30  |height%,width%,0|
00009d30  29 0d 06 74 35 e7 20 77  69 64 74 68 25 3c 74 62  |)..t5. width%<tb|
00009d40  61 72 77 25 20 8c 20 65  78 74 72 61 25 3d 74 62  |arw% . extra%=tb|
00009d50  61 72 77 25 2d 77 69 64  74 68 25 20 8b 20 65 78  |arw%-width% . ex|
00009d60  74 72 61 25 3d 30 0d 06  75 29 f2 6a 64 28 74 62  |tra%=0..u).jd(tb|
00009d70  61 72 25 2c 30 2c 2d 74  62 61 72 68 74 25 2c 77  |ar%,0,-tbarht%,w|
00009d80  69 64 74 68 25 2b 65 78  74 72 61 25 2c 30 29 0d  |idth%+extra%,0).|
00009d90  06 76 27 f2 6a 64 28 74  6f 70 72 75 6c 65 25 2c  |.v'.jd(toprule%,|
00009da0  30 2c 2d 72 75 6c 65 73  69 7a 65 25 2c 77 69 64  |0,-rulesize%,wid|
00009db0  74 68 25 2c 30 29 0d 06  77 27 f2 6a 64 28 62 6f  |th%,0)..w'.jd(bo|
00009dc0  74 72 75 6c 65 25 2c 30  2c 2d 72 75 6c 65 73 69  |trule%,0,-rulesi|
00009dd0  7a 65 25 2c 77 69 64 74  68 25 2c 30 29 0d 06 78  |ze%,width%,0)..x|
00009de0  2c f2 6a 64 28 6c 65 66  74 72 75 6c 65 25 2c 30  |,.jd(leftrule%,0|
00009df0  2c 72 75 6c 65 68 65 69  67 68 74 25 2c 72 75 6c  |,ruleheight%,rul|
00009e00  65 73 69 7a 65 25 2c 30  29 0d 06 79 2d f2 6a 64  |esize%,0)..y-.jd|
00009e10  28 72 69 67 68 74 72 75  6c 65 25 2c 30 2c 72 75  |(rightrule%,0,ru|
00009e20  6c 65 68 65 69 67 68 74  25 2c 72 75 6c 65 73 69  |leheight%,rulesi|
00009e30  7a 65 25 2c 30 29 0d 06  7a 05 e1 0d 06 7b 05 3a  |ze%,0)..z....{.:|
00009e40  0d 06 7c 28 dd 20 f2 6a  64 28 77 68 61 6e 25 2c  |..|(. .jd(whan%,|
00009e50  6d 69 6e 78 25 2c 6d 69  6e 79 25 2c 6d 61 78 78  |minx%,miny%,maxx|
00009e60  25 2c 6d 61 78 79 25 29  0d 06 7d 14 62 6c 6f 63  |%,maxy%)..}.bloc|
00009e70  6b 25 21 33 30 30 3d 77  68 61 6e 25 0d 06 7e 1c  |k%!300=whan%..~.|
00009e80  c8 99 20 26 30 30 30 34  30 30 43 36 2c 2c 62 6c  |.. &000400C6,,bl|
00009e90  6f 63 6b 25 2b 33 30 30  0d 06 7f 14 62 6c 6f 63  |ock%+300....bloc|
00009ea0  6b 25 21 33 30 30 3d 6d  69 6e 78 25 0d 06 80 14  |k%!300=minx%....|
00009eb0  62 6c 6f 63 6b 25 21 33  30 34 3d 6d 69 6e 79 25  |block%!304=miny%|
00009ec0  0d 06 81 14 62 6c 6f 63  6b 25 21 33 30 38 3d 6d  |....block%!308=m|
00009ed0  61 78 78 25 0d 06 82 14  62 6c 6f 63 6b 25 21 33  |axx%....block%!3|
00009ee0  31 32 3d 6d 61 78 79 25  0d 06 83 21 c8 99 20 26  |12=maxy%...!.. &|
00009ef0  30 30 30 34 30 30 44 37  2c 77 68 61 6e 25 2c 62  |000400D7,whan%,b|
00009f00  6c 6f 63 6b 25 2b 33 30  30 0d 06 84 05 e1 0d 06  |lock%+300.......|
00009f10  85 05 3a 0d 06 86 10 dd  20 f2 7a 61 28 77 68 61  |..:..... .za(wha|
00009f20  6e 25 29 0d 06 87 0d ea  20 77 78 25 2c 77 79 25  |n%)..... wx%,wy%|
00009f30  0d 06 88 0e c8 8e 20 77  68 61 6e 25 20 ca 0d 06  |...... whan% ...|
00009f40  89 0b c9 20 6d 61 69 6e  25 0d 06 8a 0f 6d 61 69  |... main%....mai|
00009f50  6e 6f 70 65 6e 25 3d a3  0d 06 8b 07 f2 78 62 0d  |nopen%=......xb.|
00009f60  06 8c 25 e7 20 63 61 72  62 25 21 30 3d 6d 61 69  |..%. carb%!0=mai|
00009f70  6e 25 20 8c 20 c8 99 20  26 30 30 30 34 30 30 44  |n% . .. &000400D|
00009f80  32 2c 2d 31 0d 06 8d 0b  c9 20 65 64 69 74 25 0d  |2,-1..... edit%.|
00009f90  06 8e 0f 65 64 69 74 6f  70 65 6e 25 3d a3 0d 06  |...editopen%=...|
00009fa0  8f 15 21 62 6c 6f 63 6b  25 3d 74 62 61 72 64 69  |..!block%=tbardi|
00009fb0  73 70 25 0d 06 90 18 c8  99 20 26 30 30 30 34 30  |sp%...... &00040|
00009fc0  30 43 36 2c 2c 62 6c 6f  63 6b 25 0d 06 91 11 21  |0C6,,block%....!|
00009fd0  62 6c 6f 63 6b 25 3d 74  62 61 72 25 0d 06 92 18  |block%=tbar%....|
00009fe0  c8 99 20 26 30 30 30 34  30 30 43 36 2c 2c 62 6c  |.. &000400C6,,bl|
00009ff0  6f 63 6b 25 0d 06 93 14  21 62 6c 6f 63 6b 25 3d  |ock%....!block%=|
0000a000  74 6f 70 72 75 6c 65 25  0d 06 94 18 c8 99 20 26  |toprule%...... &|
0000a010  30 30 30 34 30 30 43 36  2c 2c 62 6c 6f 63 6b 25  |000400C6,,block%|
0000a020  0d 06 95 14 21 62 6c 6f  63 6b 25 3d 62 6f 74 72  |....!block%=botr|
0000a030  75 6c 65 25 0d 06 96 18  c8 99 20 26 30 30 30 34  |ule%...... &0004|
0000a040  30 30 43 36 2c 2c 62 6c  6f 63 6b 25 0d 06 97 15  |00C6,,block%....|
0000a050  21 62 6c 6f 63 6b 25 3d  6c 65 66 74 72 75 6c 65  |!block%=leftrule|
0000a060  25 0d 06 98 18 c8 99 20  26 30 30 30 34 30 30 43  |%...... &000400C|
0000a070  36 2c 2c 62 6c 6f 63 6b  25 0d 06 99 16 21 62 6c  |6,,block%....!bl|
0000a080  6f 63 6b 25 3d 72 69 67  68 74 72 75 6c 65 25 0d  |ock%=rightrule%.|
0000a090  06 9a 18 c8 99 20 26 30  30 30 34 30 30 43 36 2c  |..... &000400C6,|
0000a0a0  2c 62 6c 6f 63 6b 25 0d  06 9b 15 21 62 6c 6f 63  |,block%....!bloc|
0000a0b0  6b 25 3d 63 6f 72 6e 65  72 74 6c 25 0d 06 9c 18  |k%=cornertl%....|
0000a0c0  c8 99 20 26 30 30 30 34  30 30 43 36 2c 2c 62 6c  |.. &000400C6,,bl|
0000a0d0  6f 63 6b 25 0d 06 9d 15  21 62 6c 6f 63 6b 25 3d  |ock%....!block%=|
0000a0e0  63 6f 72 6e 65 72 74 72  25 0d 06 9e 18 c8 99 20  |cornertr%...... |
0000a0f0  26 30 30 30 34 30 30 43  36 2c 2c 62 6c 6f 63 6b  |&000400C6,,block|
0000a100  25 0d 06 9f 15 21 62 6c  6f 63 6b 25 3d 63 6f 72  |%....!block%=cor|
0000a110  6e 65 72 62 6c 25 0d 06  a0 18 c8 99 20 26 30 30  |nerbl%...... &00|
0000a120  30 34 30 30 43 36 2c 2c  62 6c 6f 63 6b 25 0d 06  |0400C6,,block%..|
0000a130  a1 15 21 62 6c 6f 63 6b  25 3d 63 6f 72 6e 65 72  |..!block%=corner|
0000a140  62 72 25 0d 06 a2 18 c8  99 20 26 30 30 30 34 30  |br%...... &00040|
0000a150  30 43 36 2c 2c 62 6c 6f  63 6b 25 0d 06 a3 11 21  |0C6,,block%....!|
0000a160  62 6c 6f 63 6b 25 3d 7a  6f 6f 6d 25 0d 06 a4 18  |block%=zoom%....|
0000a170  c8 99 20 26 30 30 30 34  30 30 43 36 2c 2c 62 6c  |.. &000400C6,,bl|
0000a180  6f 63 6b 25 0d 06 a5 16  21 62 6c 6f 63 6b 25 3d  |ock%....!block%=|
0000a190  63 6f 6c 63 72 65 61 74  65 25 0d 06 a6 18 c8 99  |colcreate%......|
0000a1a0  20 26 30 30 30 34 30 30  43 36 2c 2c 62 6c 6f 63  | &000400C6,,bloc|
0000a1b0  6b 25 0d 06 a7 14 21 62  6c 6f 63 6b 25 3d 63 6f  |k%....!block%=co|
0000a1c0  6c 70 61 6e 65 25 0d 06  a8 18 c8 99 20 26 30 30  |lpane%...... &00|
0000a1d0  30 34 30 30 43 36 2c 2c  62 6c 6f 63 6b 25 0d 06  |0400C6,,block%..|
0000a1e0  a9 14 21 62 6c 6f 63 6b  25 3d 63 6f 6c 70 69 63  |..!block%=colpic|
0000a1f0  6b 25 0d 06 aa 18 c8 99  20 26 30 30 30 34 30 30  |k%...... &000400|
0000a200  43 36 2c 2c 62 6c 6f 63  6b 25 0d 06 ab 16 21 62  |C6,,block%....!b|
0000a210  6c 6f 63 6b 25 3d 63 6f  6c 63 68 6f 6f 73 65 25  |lock%=colchoose%|
0000a220  0d 06 ac 18 c8 99 20 26  30 30 30 34 30 30 43 36  |...... &000400C6|
0000a230  2c 2c 62 6c 6f 63 6b 25  0d 06 ad 15 21 62 6c 6f  |,,block%....!blo|
0000a240  63 6b 25 3d 73 79 6d 62  70 69 63 6b 25 0d 06 ae  |ck%=symbpick%...|
0000a250  18 c8 99 20 26 30 30 30  34 30 30 43 36 2c 2c 62  |... &000400C6,,b|
0000a260  6c 6f 63 6b 25 0d 06 af  13 e7 20 63 6f 70 79 25  |lock%..... copy%|
0000a270  3d b9 20 8c 20 f2 70 62  0d 06 b0 10 c9 20 63 6f  |=. . .pb..... co|
0000a280  6c 63 72 65 61 74 65 25  0d 06 b1 11 63 72 65 61  |lcreate%....crea|
0000a290  74 65 6f 70 65 6e 25 3d  a3 0d 06 b2 14 21 62 6c  |teopen%=.....!bl|
0000a2a0  6f 63 6b 25 3d 63 6f 6c  70 61 6e 65 25 0d 06 b3  |ock%=colpane%...|
0000a2b0  18 c8 99 20 26 30 30 30  34 30 30 43 36 2c 2c 62  |... &000400C6,,b|
0000a2c0  6c 6f 63 6b 25 0d 06 b4  14 21 62 6c 6f 63 6b 25  |lock%....!block%|
0000a2d0  3d 63 6f 6c 70 69 63 6b  25 0d 06 b5 18 c8 99 20  |=colpick%...... |
0000a2e0  26 30 30 30 34 30 30 43  36 2c 2c 62 6c 6f 63 6b  |&000400C6,,block|
0000a2f0  25 0d 06 b6 11 21 62 6c  6f 63 6b 25 3d 65 64 69  |%....!block%=edi|
0000a300  74 25 0d 06 b7 18 c8 99  20 26 30 30 30 34 30 30  |t%...... &000400|
0000a310  43 42 2c 2c 62 6c 6f 63  6b 25 0d 06 b8 1a 77 78  |CB,,block%....wx|
0000a320  25 3d 62 6c 6f 63 6b 25  21 34 2d 62 6c 6f 63 6b  |%=block%!4-block|
0000a330  25 21 32 30 0d 06 b9 1b  77 79 25 3d 62 6c 6f 63  |%!20....wy%=bloc|
0000a340  6b 25 21 31 36 2d 62 6c  6f 63 6b 25 21 32 34 0d  |k%!16-block%!24.|
0000a350  06 ba 4c c8 99 20 26 30  30 30 34 30 30 44 31 2c  |..L.. &000400D1,|
0000a360  65 64 69 74 25 2c 62 6c  6f 63 6b 25 21 34 2d 77  |edit%,block%!4-w|
0000a370  78 25 2c 62 6c 6f 63 6b  25 21 38 2d 77 79 25 2c  |x%,block%!8-wy%,|
0000a380  62 6c 6f 63 6b 25 21 31  32 2d 77 78 25 2c 62 6c  |block%!12-wx%,bl|
0000a390  6f 63 6b 25 21 31 36 2d  77 79 25 0d 06 bb 05 cb  |ock%!16-wy%.....|
0000a3a0  0d 06 bc 11 21 62 6c 6f  63 6b 25 3d 77 68 61 6e  |....!block%=whan|
0000a3b0  25 0d 06 bd 18 c8 99 20  26 30 30 30 34 30 30 43  |%...... &000400C|
0000a3c0  36 2c 2c 62 6c 6f 63 6b  25 0d 06 be 05 e1 0d 06  |6,,block%.......|
0000a3d0  bf 05 3a 0d 06 c0 09 dd  20 f2 72 62 0d 06 c1 15  |..:..... .rb....|
0000a3e0  e7 20 21 62 6c 6f 63 6b  25 3d 65 64 69 74 25 20  |. !block%=edit% |
0000a3f0  8c 0d 06 c2 18 6d 61 73  6b 25 3d 26 34 30 30 3a  |.....mask%=&400:|
0000a400  63 6f 6f 72 64 73 25 3d  b9 0d 06 c3 3a e7 20 63  |coords%=....:. c|
0000a410  6f 70 79 25 3d b9 20 8c  20 c8 99 20 26 30 30 30  |opy%=. . .. &000|
0000a420  34 30 30 45 39 2c 33 36  2c 30 2c 22 70 74 72 5f  |400E9,36,0,"ptr_|
0000a430  62 6f 74 6c 65 66 74 22  2c 32 2c 30 2c 31 30 2c  |botleft",2,0,10,|
0000a440  30 2c 30 0d 06 c4 05 cd  0d 06 c5 2a e7 20 21 62  |0,0........*. !b|
0000a450  6c 6f 63 6b 25 3d 74 62  61 72 25 20 8c 20 6d 61  |lock%=tbar% . ma|
0000a460  73 6b 25 3d 26 34 30 30  3a 69 6e 74 62 61 72 25  |sk%=&400:intbar%|
0000a470  3d b9 0d 06 c6 05 e1 0d  06 c7 05 3a 0d 06 c8 09  |=..........:....|
0000a480  dd 20 f2 6e 63 0d 06 c9  2a e7 20 21 62 6c 6f 63  |. .nc...*. !bloc|
0000a490  6b 25 3d 65 64 69 74 25  20 80 20 63 6f 70 79 25  |k%=edit% . copy%|
0000a4a0  3d b9 20 8c 20 2a 50 4f  49 4e 54 45 52 20 31 0d  |=. . *POINTER 1.|
0000a4b0  06 ca 24 e7 20 21 62 6c  6f 63 6b 25 3d 65 64 69  |..$. !block%=edi|
0000a4c0  74 25 20 80 20 64 72 61  67 74 79 70 65 25 3c 3e  |t% . dragtype%<>|
0000a4d0  31 20 8c 0d 06 cb 18 6d  61 73 6b 25 3d 26 34 30  |1 .....mask%=&40|
0000a4e0  31 3a 63 6f 6f 72 64 73  25 3d a3 0d 06 cc 0d 24  |1:coords%=.....$|
0000a4f0  74 72 6f 77 25 3d 22 22  0d 06 cd 10 24 74 73 74  |trow%=""....$tst|
0000a500  69 74 63 68 25 3d 22 22  0d 06 ce 18 f2 66 65 28  |itch%="".....fe(|
0000a510  74 62 61 72 64 69 73 70  25 2c 33 2c 30 2c 30 29  |tbardisp%,3,0,0)|
0000a520  0d 06 cf 18 f2 66 65 28  74 62 61 72 64 69 73 70  |.....fe(tbardisp|
0000a530  25 2c 34 2c 30 2c 30 29  0d 06 d0 1d 6f 6c 64 72  |%,4,0,0)....oldr|
0000a540  6f 77 25 3d 2d 31 3a 20  6f 6c 64 73 74 69 74 63  |ow%=-1: oldstitc|
0000a550  68 25 3d 2d 31 0d 06 d1  05 cd 0d 06 d2 2a e7 20  |h%=-1........*. |
0000a560  21 62 6c 6f 63 6b 25 3d  74 62 61 72 25 20 8c 20  |!block%=tbar% . |
0000a570  6d 61 73 6b 25 3d 26 34  30 31 3a 69 6e 74 62 61  |mask%=&401:intba|
0000a580  72 25 3d a3 0d 06 d3 05  e1 0d 06 d4 05 3a 0d 06  |r%=..........:..|
0000a590  d5 09 dd 20 f2 69 64 0d  06 d6 34 ea 20 62 75 74  |... .id...4. but|
0000a5a0  74 6f 6e 25 2c 77 69 6e  64 6f 77 25 2c 69 63 6f  |ton%,window%,ico|
0000a5b0  6e 25 2c 6d 78 25 2c 6d  79 25 2c 66 6c 61 67 73  |n%,mx%,my%,flags|
0000a5c0  25 2c 67 72 69 64 66 69  67 73 25 0d 06 d7 3c ea  |%,gridfigs%...<.|
0000a5d0  20 77 78 25 2c 77 79 25  2c 6f 72 78 25 2c 6f 72  | wx%,wy%,orx%,or|
0000a5e0  79 25 2c 73 74 69 74 63  68 25 2c 72 6f 77 25 2c  |y%,stitch%,row%,|
0000a5f0  6d 69 6e 78 25 2c 6d 69  6e 79 25 2c 6d 61 78 78  |minx%,miny%,maxx|
0000a600  25 2c 6d 61 78 79 25 0d  06 d8 41 ea 20 63 6f 6c  |%,maxy%...A. col|
0000a610  75 6d 6e 25 2c 63 6f 6c  25 2c 78 25 2c 79 25 2c  |umn%,col%,x%,y%,|
0000a620  77 25 2c 68 25 2c 72 25  2c 67 25 2c 62 25 2c 6c  |w%,h%,r%,g%,b%,l|
0000a630  25 2c 74 25 2c 72 67 62  25 2c 74 61 73 6b 25 2c  |%,t%,rgb%,task%,|
0000a640  6e 65 77 73 79 6d 62 25  0d 06 d9 4a ea 20 73 74  |newsymb%...J. st|
0000a650  77 2c 72 68 74 2c 77 69  64 74 68 25 2c 68 65 69  |w,rht,width%,hei|
0000a660  67 68 74 25 2c 73 63 61  6c 65 78 2c 73 63 61 6c  |ght%,scalex,scal|
0000a670  65 79 2c 73 63 61 6c 65  25 2c 6c 65 6e 25 2c 7a  |ey,scale%,len%,z|
0000a680  65 72 6f 25 2c 6e 65 77  70 61 67 65 25 2c 69 6e  |ero%,newpage%,in|
0000a690  63 25 0d 06 da 10 6d 78  25 3d 62 6c 6f 63 6b 25  |c%....mx%=block%|
0000a6a0  21 30 0d 06 db 10 6d 79  25 3d 62 6c 6f 63 6b 25  |!0....my%=block%|
0000a6b0  21 34 0d 06 dc 14 62 75  74 74 6f 6e 25 3d 62 6c  |!4....button%=bl|
0000a6c0  6f 63 6b 25 21 38 0d 06  dd 15 77 69 6e 64 6f 77  |ock%!8....window|
0000a6d0  25 3d 62 6c 6f 63 6b 25  21 31 32 0d 06 de 13 69  |%=block%!12....i|
0000a6e0  63 6f 6e 25 3d 62 6c 6f  63 6b 25 21 31 36 0d 06  |con%=block%!16..|
0000a6f0  df 18 e7 20 74 69 74 6c  65 6f 70 65 6e 25 3d b9  |... titleopen%=.|
0000a700  20 8c 20 f2 61 62 0d 06  e0 11 e7 20 62 75 74 74  | . .ab..... butt|
0000a710  6f 6e 25 3d 32 20 8c 0d  06 e1 10 c8 8e 20 77 69  |on%=2 ....... wi|
0000a720  6e 64 6f 77 25 20 ca 0d  06 e2 2a c9 20 2d 32 3a  |ndow% ....*. -2:|
0000a730  20 f2 6c 65 28 69 6d 65  6e 75 25 2c 62 6c 6f 63  | .le(imenu%,bloc|
0000a740  6b 25 21 30 2d 36 34 2c  31 34 30 2b 32 2a 34 34  |k%!0-64,140+2*44|
0000a750  29 0d 06 e3 23 c9 20 6d  61 69 6e 25 3a 20 f2 6c  |)...#. main%: .l|
0000a760  65 28 64 6d 65 6e 75 25  2c 6d 78 25 2d 36 34 2c  |e(dmenu%,mx%-64,|
0000a770  6d 79 25 29 0d 06 e4 0b  c9 20 65 64 69 74 25 0d  |my%)..... edit%.|
0000a780  06 e5 13 e7 20 63 6f 70  79 25 3d b9 20 8c 20 f2  |.... copy%=. . .|
0000a790  70 62 0d 06 e6 1a f2 6c  65 28 65 6d 65 6e 75 25  |pb.....le(emenu%|
0000a7a0  2c 6d 78 25 2d 36 34 2c  6d 79 25 29 0d 06 e7 41  |,mx%-64,my%)...A|
0000a7b0  c9 20 74 62 61 72 25 3a  20 e7 20 69 63 6f 6e 25  |. tbar%: . icon%|
0000a7c0  3d 31 30 20 80 20 6d 61  78 63 6f 6c 25 3c 3e 2d  |=10 . maxcol%<>-|
0000a7d0  31 20 8c 20 f2 6c 65 28  6d 61 73 6b 6d 65 6e 75  |1 . .le(maskmenu|
0000a7e0  25 2c 6d 78 25 2d 36 34  2c 6d 79 25 29 0d 06 e8  |%,mx%-64,my%)...|
0000a7f0  2c c9 20 74 6f 70 72 75  6c 65 25 2c 62 6f 74 72  |,. toprule%,botr|
0000a800  75 6c 65 25 2c 6c 65 66  74 72 75 6c 65 25 2c 72  |ule%,leftrule%,r|
0000a810  69 67 68 74 72 75 6c 65  25 0d 06 e9 1e f2 6c 65  |ightrule%.....le|
0000a820  28 72 75 6c 65 72 6d 65  6e 75 25 2c 6d 78 25 2d  |(rulermenu%,mx%-|
0000a830  36 34 2c 6d 79 25 29 0d  06 ea 05 cb 0d 06 eb 05  |64,my%).........|
0000a840  cc 0d 06 ec 10 c8 8e 20  77 69 6e 64 6f 77 25 20  |....... window% |
0000a850  ca 0d 06 ed 08 c9 20 2d  32 0d 06 ee 0e f2 6e 64  |...... -2.....nd|
0000a860  28 6d 61 69 6e 25 29 0d  06 ef 0f c9 20 73 79 6d  |(main%)..... sym|
0000a870  62 70 69 63 6b 25 0d 06  f0 0e f2 77 61 28 69 63  |bpick%.....wa(ic|
0000a880  6f 6e 25 29 0d 06 f1 0c  c9 20 70 72 69 6e 74 25  |on%)..... print%|
0000a890  0d 06 f2 0e c8 8e 20 69  63 6f 6e 25 20 ca 0d 06  |...... icon% ...|
0000a8a0  f3 07 c9 20 38 0d 06 f4  07 f2 6e 61 0d 06 f5 13  |... 8.....na....|
0000a8b0  73 74 77 3d 73 74 69 74  63 68 77 69 64 74 68 0d  |stw=stitchwidth.|
0000a8c0  06 f6 0d 72 68 74 3d 72  6f 77 68 74 0d 06 f7 25  |...rht=rowht...%|
0000a8d0  c8 99 20 26 30 30 30 38  30 31 34 33 20 b8 20 2c  |.. &00080143 . ,|
0000a8e0  77 25 2c 68 25 2c 6c 25  2c 62 25 2c 72 25 2c 74  |w%,h%,l%,b%,r%,t|
0000a8f0  25 0d 06 f8 10 77 69 64  74 68 25 3d 72 25 2d 6c  |%....width%=r%-l|
0000a900  25 0d 06 f9 11 68 65 69  67 68 74 25 3d 74 25 2d  |%....height%=t%-|
0000a910  62 25 0d 06 fa 32 c8 99  20 26 30 30 30 34 30 30  |b%...2.. &000400|
0000a920  38 38 2c 2c 77 69 64 74  68 25 2c 68 65 69 67 68  |88,,width%,heigh|
0000a930  74 25 20 b8 20 2c 77 69  64 74 68 25 2c 68 65 69  |t% . ,width%,hei|
0000a940  67 68 74 25 0d 06 fb 0c  73 63 61 6c 65 78 3d 30  |ght%....scalex=0|
0000a950  0d 06 fc 3c c8 95 20 28  31 30 30 2a 32 2b 67 72  |...<.. (100*2+gr|
0000a960  69 64 77 69 64 74 68 25  2a 73 74 77 2a 73 63 61  |idwidth%*stw*sca|
0000a970  6c 65 78 29 3c 77 69 64  74 68 25 3a 20 73 63 61  |lex)<width%: sca|
0000a980  6c 65 78 2b 3d 30 2e 30  31 3a 20 ce 0d 06 fd 0c  |lex+=0.01: .....|
0000a990  73 63 61 6c 65 79 3d 30  0d 06 fe 3e c8 95 20 28  |scaley=0...>.. (|
0000a9a0  31 30 30 2a 33 2b 67 72  69 64 68 65 69 67 68 74  |100*3+gridheight|
0000a9b0  25 2a 72 68 74 2a 73 63  61 6c 65 79 29 3c 68 65  |%*rht*scaley)<he|
0000a9c0  69 67 68 74 25 3a 20 73  63 61 6c 65 79 2b 3d 30  |ight%: scaley+=0|
0000a9d0  2e 30 31 3a 20 ce 0d 06  ff 10 73 63 61 6c 65 78  |.01: .....scalex|
0000a9e0  2d 3d 30 2e 30 31 0d 07  00 10 73 63 61 6c 65 79  |-=0.01....scaley|
0000a9f0  2d 3d 30 2e 30 31 0d 07  01 3b e7 20 73 63 61 6c  |-=0.01...;. scal|
0000aa00  65 78 3e 73 63 61 6c 65  79 20 8c 20 73 63 61 6c  |ex>scaley . scal|
0000aa10  65 25 3d 31 30 30 2a 73  63 61 6c 65 79 20 8b 20  |e%=100*scaley . |
0000aa20  73 63 61 6c 65 25 3d 31  30 30 2a 73 63 61 6c 65  |scale%=100*scale|
0000aa30  78 0d 07 02 17 24 70 72  73 63 61 6c 65 25 3d c3  |x....$prscale%=.|
0000aa40  28 73 63 61 6c 65 25 29  0d 07 03 15 f2 66 65 28  |(scale%).....fe(|
0000aa50  70 72 69 6e 74 25 2c 35  2c 30 2c 30 29 0d 07 04  |print%,5,0,0)...|
0000aa60  07 f2 78 62 0d 07 05 3b  e7 20 63 61 72 62 25 21  |..xb...;. carb%!|
0000aa70  30 3d 70 72 69 6e 74 25  20 80 20 63 61 72 62 25  |0=print% . carb%|
0000aa80  21 34 3d 35 20 8c 20 f2  6f 61 28 70 72 69 6e 74  |!4=5 . .oa(print|
0000aa90  25 2c 35 2c a9 24 70 72  73 63 61 6c 65 25 29 0d  |%,5,.$prscale%).|
0000aaa0  07 06 07 f2 73 64 0d 07  07 08 c9 20 31 31 0d 07  |....sd..... 11..|
0000aab0  08 07 f2 72 64 0d 07 09  21 e7 20 62 75 74 74 6f  |...rd...!. butto|
0000aac0  6e 25 3d 34 20 8c 20 c8  99 26 30 30 30 34 30 30  |n%=4 . ..&000400|
0000aad0  44 34 2c 2c 2d 31 0d 07  0a 08 c9 20 31 35 0d 07  |D4,,-1..... 15..|
0000aae0  0b 21 f2 69 63 28 70 72  69 6e 74 25 2c 35 2c 39  |.!.ic(print%,5,9|
0000aaf0  39 39 2c 31 2c 62 75 74  74 6f 6e 25 2c 31 29 0d  |99,1,button%,1).|
0000ab00  07 0c 07 f2 73 64 0d 07  0d 08 c9 20 31 36 0d 07  |....sd..... 16..|
0000ab10  0e 22 f2 69 63 28 70 72  69 6e 74 25 2c 35 2c 39  |.".ic(print%,5,9|
0000ab20  39 39 2c 31 2c 62 75 74  74 6f 6e 25 2c 2d 31 29  |99,1,button%,-1)|
0000ab30  0d 07 0f 07 f2 73 64 0d  07 10 08 c9 20 31 37 0d  |.....sd..... 17.|
0000ab40  07 11 14 c8 99 20 26 30  30 30 34 30 30 44 34 2c  |..... &000400D4,|
0000ab50  2c 2d 31 0d 07 12 05 cb  0d 07 13 0a c9 20 61 73  |,-1.......... as|
0000ab60  6b 25 0d 07 14 0d f2 7a  61 28 61 73 6b 25 29 0d  |k%.....za(ask%).|
0000ab70  07 15 2c f2 6f 61 28 62  6c 6f 63 6b 25 21 31 30  |..,.oa(block%!10|
0000ab80  30 30 2c 62 6c 6f 63 6b  25 21 31 30 30 34 2c 62  |00,block%!1004,b|
0000ab90  6c 6f 63 6b 25 21 31 30  32 30 29 0d 07 16 0e f2  |lock%!1020).....|
0000aba0  76 62 28 77 25 2c 68 25  29 0d 07 17 13 c8 97 20  |vb(w%,h%)...... |
0000abb0  c8 93 20 30 2c 30 2c 77  25 2c 68 25 0d 07 18 11  |.. 0,0,w%,h%....|
0000abc0  c8 8e 20 61 73 6b 74 79  70 65 25 20 ca 0d 07 19  |.. asktype% ....|
0000abd0  35 c9 20 30 20 3a 20 f2  6f 64 28 69 63 6f 6e 25  |5. 0 : .od(icon%|
0000abe0  29 3a 20 e7 20 69 63 6f  6e 25 3d 30 20 8c 20 f2  |): . icon%=0 . .|
0000abf0  72 63 3a 20 65 64 69 74  63 72 65 61 74 65 64 25  |rc: editcreated%|
0000ac00  3d a3 0d 07 1a 14 c9 20  31 20 3a 20 f2 71 63 28  |=...... 1 : .qc(|
0000ac10  69 63 6f 6e 25 29 0d 07  1b 19 c9 20 32 20 3a 20  |icon%)..... 2 : |
0000ac20  e7 20 69 63 6f 6e 25 3d  30 20 8c 20 f2 71 61 0d  |. icon%=0 . .qa.|
0000ac30  07 1c 19 c9 20 33 20 3a  20 e7 20 69 63 6f 6e 25  |.... 3 : . icon%|
0000ac40  3d 30 20 8c 20 f2 72 61  0d 07 1d 19 c9 20 34 20  |=0 . .ra..... 4 |
0000ac50  3a 20 e7 20 69 63 6f 6e  25 3d 30 20 8c 20 f2 73  |: . icon%=0 . .s|
0000ac60  61 0d 07 1e 19 c9 20 35  20 3a 20 e7 20 69 63 6f  |a..... 5 : . ico|
0000ac70  6e 25 3d 30 20 8c 20 f2  70 61 0d 07 1f 25 c9 20  |n%=0 . .pa...%. |
0000ac80  36 20 3a 20 f2 6f 64 28  69 63 6f 6e 25 29 3a 20  |6 : .od(icon%): |
0000ac90  e7 20 69 63 6f 6e 25 3d  30 20 8c 20 f2 70 63 0d  |. icon%=0 . .pc.|
0000aca0  07 20 14 c9 20 37 20 3a  20 f2 6f 64 28 69 63 6f  |. .. 7 : .od(ico|
0000acb0  6e 25 29 0d 07 21 1d c9  20 38 20 3a 20 e7 20 69  |n%)..!.. 8 : . i|
0000acc0  63 6f 6e 25 3d 30 20 8c  20 65 78 69 74 25 3d b9  |con%=0 . exit%=.|
0000acd0  0d 07 22 19 c9 20 39 20  3a 20 e7 20 69 63 6f 6e  |..".. 9 : . icon|
0000ace0  25 3d 30 20 8c 20 f2 69  62 0d 07 23 19 c9 31 30  |%=0 . .ib..#..10|
0000acf0  20 3a 20 e7 20 69 63 6f  6e 25 3d 30 20 8c 20 f2  | : . icon%=0 . .|
0000ad00  74 61 0d 07 24 05 cb 0d  07 25 0d c9 20 72 65 70  |ta..$....%.. rep|
0000ad10  6f 72 74 25 0d 07 26 10  f2 7a 61 28 72 65 70 6f  |ort%..&..za(repo|
0000ad20  72 74 25 29 0d 07 27 2c  f2 6f 61 28 62 6c 6f 63  |rt%)..',.oa(bloc|
0000ad30  6b 25 21 31 30 30 30 2c  62 6c 6f 63 6b 25 21 31  |k%!1000,block%!1|
0000ad40  30 30 34 2c 62 6c 6f 63  6b 25 21 31 30 32 30 29  |004,block%!1020)|
0000ad50  0d 07 28 0e f2 76 62 28  77 25 2c 68 25 29 0d 07  |..(..vb(w%,h%)..|
0000ad60  29 13 c8 97 20 c8 93 20  30 2c 30 2c 77 25 2c 68  |)... .. 0,0,w%,h|
0000ad70  25 0d 07 2a 0e c9 20 70  61 74 74 65 72 6e 25 0d  |%..*.. pattern%.|
0000ad80  07 2b 0e c8 8e 20 69 63  6f 6e 25 20 ca 0d 07 2c  |.+... icon% ...,|
0000ad90  0b c9 20 31 32 2c 31 33  0d 07 2d 23 f2 66 65 28  |.. 12,13..-#.fe(|
0000ada0  70 61 74 74 65 72 6e 25  2c 69 63 6f 6e 25 2c 31  |pattern%,icon%,1|
0000adb0  3c 3c 32 31 2c 31 3c 3c  32 31 29 0d 07 2e 08 c9  |<<21,1<<21).....|
0000adc0  20 31 35 0d 07 2f 19 24  70 72 6f 6a 6e 61 6d 65  | 15../.$projname|
0000add0  25 3d 24 70 61 74 73 74  6f 72 65 25 0d 07 30 1e  |%=$patstore%..0.|
0000ade0  24 72 6f 66 66 73 65 74  25 3d 24 28 70 61 74 73  |$roffset%=$(pats|
0000adf0  74 6f 72 65 25 2b 31 30  30 29 0d 07 31 1e 24 74  |tore%+100)..1.$t|
0000ae00  66 72 61 6d 65 68 25 3d  24 28 70 61 74 73 74 6f  |frameh%=$(patsto|
0000ae10  72 65 25 2b 31 30 35 29  0d 07 32 1e 24 74 66 72  |re%+105)..2.$tfr|
0000ae20  61 6d 65 77 25 3d 24 28  70 61 74 73 74 6f 72 65  |amew%=$(patstore|
0000ae30  25 2b 31 31 30 29 0d 07  33 17 f2 66 65 28 70 61  |%+110)..3..fe(pa|
0000ae40  74 74 65 72 6e 25 2c 38  2c 30 2c 30 29 0d 07 34  |ttern%,8,0,0)..4|
0000ae50  17 f2 66 65 28 70 61 74  74 65 72 6e 25 2c 39 2c  |..fe(pattern%,9,|
0000ae60  30 2c 30 29 0d 07 35 18  f2 66 65 28 70 61 74 74  |0,0)..5..fe(patt|
0000ae70  65 72 6e 25 2c 31 30 2c  30 2c 30 29 0d 07 36 18  |ern%,10,0,0)..6.|
0000ae80  f2 66 65 28 70 61 74 74  65 72 6e 25 2c 31 31 2c  |.fe(pattern%,11,|
0000ae90  30 2c 30 29 0d 07 37 19  e7 20 70 61 74 73 74 6f  |0,0)..7.. patsto|
0000aea0  72 65 25 3f 31 31 35 3d  32 35 35 20 8c 0d 07 38  |re%?115=255 ...8|
0000aeb0  20 f2 66 65 28 70 61 74  74 65 72 6e 25 2c 31 32  | .fe(pattern%,12|
0000aec0  2c 31 3c 3c 32 31 2c 31  3c 3c 32 31 29 0d 07 39  |,1<<21,1<<21)..9|
0000aed0  20 f2 66 65 28 70 61 74  74 65 72 6e 25 2c 31 33  | .fe(pattern%,13|
0000aee0  2c 30 3c 3c 32 31 2c 31  3c 3c 32 31 29 0d 07 3a  |,0<<21,1<<21)..:|
0000aef0  05 cc 0d 07 3b 20 f2 66  65 28 70 61 74 74 65 72  |....; .fe(patter|
0000af00  6e 25 2c 31 32 2c 30 3c  3c 32 31 2c 31 3c 3c 32  |n%,12,0<<21,1<<2|
0000af10  31 29 0d 07 3c 20 f2 66  65 28 70 61 74 74 65 72  |1)..< .fe(patter|
0000af20  6e 25 2c 31 33 2c 31 3c  3c 32 31 2c 31 3c 3c 32  |n%,13,1<<21,1<<2|
0000af30  31 29 0d 07 3d 05 cd 0d  07 3e 22 e7 20 62 75 74  |1)..=....>". but|
0000af40  74 6f 6e 25 3d 34 20 8c  20 c8 99 20 26 30 30 30  |ton%=4 . .. &000|
0000af50  34 30 30 44 34 2c 2c 2d  31 0d 07 3f 07 f2 78 62  |400D4,,-1..?..xb|
0000af60  0d 07 40 17 e7 20 21 63  61 72 62 25 3d 70 61 74  |..@.. !carb%=pat|
0000af70  74 65 72 6e 25 20 8c 0d  07 41 14 21 62 6c 6f 63  |tern% ...A.!bloc|
0000af80  6b 25 3d 70 61 74 74 65  72 6e 25 0d 07 42 14 62  |k%=pattern%..B.b|
0000af90  6c 6f 63 6b 25 21 34 3d  63 61 72 62 25 21 34 0d  |lock%!4=carb%!4.|
0000afa0  07 43 18 c8 99 20 26 30  30 30 34 30 30 43 45 2c  |.C... &000400CE,|
0000afb0  2c 62 6c 6f 63 6b 25 0d  07 44 27 f2 6f 61 28 70  |,block%..D'.oa(p|
0000afc0  61 74 74 65 72 6e 25 2c  63 61 72 62 25 21 34 2c  |attern%,carb%!4,|
0000afd0  a9 24 28 62 6c 6f 63 6b  25 21 32 38 29 29 0d 07  |.$(block%!28))..|
0000afe0  45 05 cd 0d 07 46 08 c9  20 31 34 0d 07 47 19 24  |E....F.. 14..G.$|
0000aff0  70 61 74 73 74 6f 72 65  25 3d 24 70 72 6f 6a 6e  |patstore%=$projn|
0000b000  61 6d 65 25 0d 07 48 1e  24 28 70 61 74 73 74 6f  |ame%..H.$(patsto|
0000b010  72 65 25 2b 31 30 30 29  3d 24 72 6f 66 66 73 65  |re%+100)=$roffse|
0000b020  74 25 0d 07 49 1e 24 28  70 61 74 73 74 6f 72 65  |t%..I.$(patstore|
0000b030  25 2b 31 30 35 29 3d 24  74 66 72 61 6d 65 68 25  |%+105)=$tframeh%|
0000b040  0d 07 4a 1e 24 28 70 61  74 73 74 6f 72 65 25 2b  |..J.$(patstore%+|
0000b050  31 31 30 29 3d 24 74 66  72 61 6d 65 77 25 0d 07  |110)=$tframew%..|
0000b060  4b 21 70 61 74 73 74 6f  72 65 25 3f 31 31 35 3d  |K!patstore%?115=|
0000b070  a4 6c 28 70 61 74 74 65  72 6e 25 2c 31 32 29 0d  |.l(pattern%,12).|
0000b080  07 4c 22 e7 20 62 75 74  74 6f 6e 25 3d 34 20 8c  |.L". button%=4 .|
0000b090  20 c8 99 20 26 30 30 30  34 30 30 44 34 2c 2c 2d  | .. &000400D4,,-|
0000b0a0  31 0d 07 4d 0a f2 74 65  28 31 29 0d 07 4e 05 cb  |1..M..te(1)..N..|
0000b0b0  0d 07 4f 0e c9 20 73 61  76 65 62 6f 78 25 0d 07  |..O.. savebox%..|
0000b0c0  50 0e c8 8e 20 69 63 6f  6e 25 20 ca 0d 07 51 07  |P... icon% ...Q.|
0000b0d0  c9 20 30 0d 07 52 19 e7  20 28 62 75 74 74 6f 6e  |. 0..R.. (button|
0000b0e0  25 20 80 20 26 35 30 29  3e 30 20 8c 0d 07 53 29  |% . &50)>0 ...S)|
0000b0f0  e7 20 62 75 74 74 6f 6e  25 3d 26 31 30 20 8c 20  |. button%=&10 . |
0000b100  61 64 6a 75 73 74 25 3d  b9 20 8b 20 61 64 6a 75  |adjust%=. . adju|
0000b110  73 74 25 3d a3 0d 07 54  25 f2 6a 62 28 c2 24 73  |st%=...T%.jb(.$s|
0000b120  61 76 65 73 70 72 25 2c  38 29 2c 69 63 6f 6e 25  |avespr%,8),icon%|
0000b130  2c 73 61 76 65 62 6f 78  25 29 0d 07 55 05 cd 0d  |,savebox%)..U...|
0000b140  07 56 21 c9 20 32 3a 20  61 64 6a 75 73 74 25 3d  |.V!. 2: adjust%=|
0000b150  28 62 75 74 74 6f 6e 25  3d 31 29 3a 20 f2 74 64  |(button%=1): .td|
0000b160  0d 07 57 28 c9 20 33 3a  20 f2 7a 61 28 73 61 76  |..W(. 3: .za(sav|
0000b170  65 62 6f 78 25 29 3a 20  c8 99 20 26 30 30 30 34  |ebox%): .. &0004|
0000b180  30 30 44 34 2c 2c 2d 31  0d 07 58 07 c9 20 34 0d  |00D4,,-1..X.. 4.|
0000b190  07 59 12 c8 8e 20 73 61  76 65 74 79 70 65 25 20  |.Y... savetype% |
0000b1a0  ca 0d 07 5a 07 c9 20 31  0d 07 5b 1e 64 72 61 77  |...Z.. 1..[.draw|
0000b1b0  68 65 61 64 65 72 25 3d  a4 6c 28 73 61 76 65 62  |header%=.l(saveb|
0000b1c0  6f 78 25 2c 34 29 0d 07  5c 07 c9 20 32 0d 07 5d  |ox%,4)..\.. 2..]|
0000b1d0  18 e7 20 a4 6c 28 73 61  76 65 62 6f 78 25 2c 34  |.. .l(savebox%,4|
0000b1e0  29 3d b9 20 8c 0d 07 5e  1f f2 66 65 28 73 61 76  |)=. ...^..fe(sav|
0000b1f0  65 62 6f 78 25 2c 35 2c  30 3c 3c 32 31 2c 31 3c  |ebox%,5,0<<21,1<|
0000b200  3c 32 31 29 0d 07 5f 10  70 6c 61 69 6e 74 65 78  |<21).._.plaintex|
0000b210  74 25 3d b9 0d 07 60 05  cc 0d 07 61 1f f2 66 65  |t%=...`....a..fe|
0000b220  28 73 61 76 65 62 6f 78  25 2c 35 2c 31 3c 3c 32  |(savebox%,5,1<<2|
0000b230  31 2c 31 3c 3c 32 31 29  0d 07 62 10 70 6c 61 69  |1,1<<21)..b.plai|
0000b240  6e 74 65 78 74 25 3d a3  0d 07 63 05 cd 0d 07 64  |ntext%=...c....d|
0000b250  05 cb 0d 07 65 07 c9 20  35 0d 07 66 12 c8 8e 20  |....e.. 5..f... |
0000b260  73 61 76 65 74 79 70 65  25 20 ca 0d 07 67 07 c9  |savetype% ...g..|
0000b270  20 31 0d 07 68 1e 64 72  61 77 72 75 6c 65 72 73  | 1..h.drawrulers|
0000b280  25 3d a4 6c 28 73 61 76  65 62 6f 78 25 2c 35 29  |%=.l(savebox%,5)|
0000b290  0d 07 69 07 c9 20 32 0d  07 6a 18 e7 20 a4 6c 28  |..i.. 2..j.. .l(|
0000b2a0  73 61 76 65 62 6f 78 25  2c 35 29 3d b9 20 8c 0d  |savebox%,5)=. ..|
0000b2b0  07 6b 1f f2 66 65 28 73  61 76 65 62 6f 78 25 2c  |.k..fe(savebox%,|
0000b2c0  34 2c 30 3c 3c 32 31 2c  31 3c 3c 32 31 29 0d 07  |4,0<<21,1<<21)..|
0000b2d0  6c 10 70 6c 61 69 6e 74  65 78 74 25 3d a3 0d 07  |l.plaintext%=...|
0000b2e0  6d 05 cc 0d 07 6e 1f f2  66 65 28 73 61 76 65 62  |m....n..fe(saveb|
0000b2f0  6f 78 25 2c 34 2c 31 3c  3c 32 31 2c 31 3c 3c 32  |ox%,4,1<<21,1<<2|
0000b300  31 29 0d 07 6f 10 70 6c  61 69 6e 74 65 78 74 25  |1)..o.plaintext%|
0000b310  3d b9 0d 07 70 05 cd 0d  07 71 05 cb 0d 07 72 05  |=...p....q....r.|
0000b320  cb 0d 07 73 10 c9 20 63  6f 6c 63 72 65 61 74 65  |...s.. colcreate|
0000b330  25 0d 07 74 0e c8 8e 20  69 63 6f 6e 25 20 ca 0d  |%..t... icon% ..|
0000b340  07 75 07 c9 20 30 0d 07  76 0e 6d 61 78 63 6f 6c  |.u.. 0..v.maxcol|
0000b350  25 2b 3d 31 0d 07 77 12  e7 20 6d 61 78 63 6f 6c  |%+=1..w.. maxcol|
0000b360  25 3d 33 32 20 8c 0d 07  78 0e 6d 61 78 63 6f 6c  |%=32 ...x.maxcol|
0000b370  25 3d 33 31 0d 07 79 37  f2 77 64 28 22 53 6f 72  |%=31..y7.wd("Sor|
0000b380  72 79 2c 20 74 68 65 72  65 20 63 61 6e 20 62 65  |ry, there can be|
0000b390  20 6e 6f 20 6d 6f 72 65  20 74 68 61 6e 20 33 32  | no more than 32|
0000b3a0  20 63 6f 6c 6f 75 72 73  2e 22 29 0d 07 7a 05 cc  | colours.")..z..|
0000b3b0  0d 07 7b 23 70 61 6c 74  61 62 6c 65 25 21 28 6d  |..{#paltable%!(m|
0000b3c0  61 78 63 6f 6c 25 2a 34  29 3d 26 44 44 44 44 44  |axcol%*4)=&DDDDD|
0000b3d0  44 30 30 0d 07 7c 33 24  28 6e 61 6d 65 74 61 62  |D00..|3$(nametab|
0000b3e0  6c 65 25 2b 6d 61 78 63  6f 6c 25 2a 31 33 29 3d  |le%+maxcol%*13)=|
0000b3f0  22 43 6f 6c 6f 75 72 20  22 2b c3 28 6d 61 78 63  |"Colour "+.(maxc|
0000b400  6f 6c 25 2b 31 29 0d 07  7d 07 f2 79 63 0d 07 7e  |ol%+1)..}..yc..~|
0000b410  29 f2 66 65 28 63 6f 6c  70 61 6e 65 25 2c 6d 61  |).fe(colpane%,ma|
0000b420  78 63 6f 6c 25 2a 33 2b  31 2c 31 3c 3c 32 31 2c  |xcol%*3+1,1<<21,|
0000b430  31 3c 3c 32 31 29 0d 07  7f 3b e7 20 65 64 69 74  |1<<21)...;. edit|
0000b440  63 6f 6c 25 3c 3e 2d 32  20 8c 20 f2 66 65 28 63  |col%<>-2 . .fe(c|
0000b450  6f 6c 70 61 6e 65 25 2c  65 64 69 74 63 6f 6c 25  |olpane%,editcol%|
0000b460  2a 33 2b 31 2c 30 3c 3c  32 31 2c 31 3c 3c 32 31  |*3+1,0<<21,1<<21|
0000b470  29 0d 07 80 14 65 64 69  74 63 6f 6c 25 3d 6d 61  |)....editcol%=ma|
0000b480  78 63 6f 6c 25 0d 07 81  32 62 6c 6f 63 6b 25 21  |xcol%...2block%!|
0000b490  32 34 3d 2d 28 31 32 34  2b 6d 61 78 63 6f 6c 25  |24=-(124+maxcol%|
0000b4a0  2a 37 36 29 2b 62 6c 6f  63 6b 25 21 31 36 2d 62  |*76)+block%!16-b|
0000b4b0  6c 6f 63 6b 25 21 38 0d  07 82 18 c8 99 20 26 30  |lock%!8...... &0|
0000b4c0  30 30 34 30 30 43 35 2c  2c 62 6c 6f 63 6b 25 0d  |00400C5,,block%.|
0000b4d0  07 83 3f c8 99 20 26 30  30 30 34 30 30 44 31 2c  |..?.. &000400D1,|
0000b4e0  63 6f 6c 70 61 6e 65 25  2c 30 2c 2d 32 30 2d 37  |colpane%,0,-20-7|
0000b4f0  36 2d 6d 61 78 63 6f 6c  25 2a 37 36 2c 33 36 32  |6-maxcol%*76,362|
0000b500  2c 32 30 2d 6d 61 78 63  6f 6c 25 2a 37 36 0d 07  |,20-maxcol%*76..|
0000b510  84 14 21 62 6c 6f 63 6b  25 3d 63 6f 6c 70 69 63  |..!block%=colpic|
0000b520  6b 25 0d 07 85 18 c8 99  20 26 30 30 30 34 30 30  |k%...... &000400|
0000b530  43 42 2c 2c 62 6c 6f 63  6b 25 0d 07 86 2a e7 20  |CB,,block%...*. |
0000b540  28 28 62 6c 6f 63 6b 25  3f 33 34 29 20 80 20 31  |((block%?34) . 1|
0000b550  29 3c 3e 31 20 8c 20 f2  6e 64 28 63 6f 6c 70 69  |)<>1 . .nd(colpi|
0000b560  63 6b 25 29 0d 07 87 22  24 63 6e 61 6d 65 25 3d  |ck%)..."$cname%=|
0000b570  22 43 6f 6c 6f 75 72 20  22 2b c3 28 6d 61 78 63  |"Colour "+.(maxc|
0000b580  6f 6c 25 2b 31 29 0d 07  88 19 f2 66 65 28 63 6f  |ol%+1).....fe(co|
0000b590  6c 63 72 65 61 74 65 25  2c 33 2c 30 2c 30 29 0d  |lcreate%,3,0,0).|
0000b5a0  07 89 1e f2 6f 61 28 63  6f 6c 63 72 65 61 74 65  |....oa(colcreate|
0000b5b0  25 2c 33 2c a9 24 63 6e  61 6d 65 25 29 0d 07 8a  |%,3,.$cname%)...|
0000b5c0  16 21 62 6c 6f 63 6b 25  3d 63 6f 6c 63 68 6f 6f  |.!block%=colchoo|
0000b5d0  73 65 25 0d 07 8b 18 c8  99 20 26 30 30 30 34 30  |se%...... &00040|
0000b5e0  30 43 42 2c 2c 62 6c 6f  63 6b 25 0d 07 8c 1b e7  |0CB,,block%.....|
0000b5f0  20 28 28 62 6c 6f 63 6b  25 3f 33 34 29 20 80 20  | ((block%?34) . |
0000b600  31 29 3d 31 20 8c 0d 07  8d 07 f2 78 63 0d 07 8e  |1)=1 ......xc...|
0000b610  18 c8 99 20 26 30 30 30  34 30 30 43 35 2c 2c 62  |... &000400C5,,b|
0000b620  6c 6f 63 6b 25 0d 07 8f  49 c8 99 20 26 30 30 30  |lock%...I.. &000|
0000b630  34 30 30 44 31 2c 63 6f  6c 63 68 6f 6f 73 65 25  |400D1,colchoose%|
0000b640  2c 30 2c 2d 32 30 2d 6d  61 78 63 6f 6c 25 2a 37  |,0,-20-maxcol%*7|
0000b650  36 2d 33 2a 37 36 2c 33  36 32 2c 2d 32 30 2d 6d  |6-3*76,362,-20-m|
0000b660  61 78 63 6f 6c 25 2a 37  36 2d 32 2a 37 36 0d 07  |axcol%*76-2*76..|
0000b670  90 05 cd 0d 07 91 05 cd  0d 07 92 07 c9 20 31 0d  |............. 1.|
0000b680  07 93 04 0d 07 94 20 e7  20 65 64 69 74 63 6f 6c  |...... . editcol|
0000b690  25 3c 3e 2d 32 20 80 20  6d 61 78 63 6f 6c 25 3e  |%<>-2 . maxcol%>|
0000b6a0  30 20 8c 0d 07 95 11 63  6f 6c 25 3d 65 64 69 74  |0 .....col%=edit|
0000b6b0  63 6f 6c 25 0d 07 96 13  c8 95 20 63 6f 6c 25 3c  |col%...... col%<|
0000b6c0  6d 61 78 63 6f 6c 25 0d  07 97 33 24 28 6e 61 6d  |maxcol%...3$(nam|
0000b6d0  65 74 61 62 6c 65 25 2b  63 6f 6c 25 2a 31 33 29  |etable%+col%*13)|
0000b6e0  3d 24 28 6e 61 6d 65 74  61 62 6c 65 25 2b 28 63  |=$(nametable%+(c|
0000b6f0  6f 6c 25 2b 31 29 2a 31  33 29 0d 07 98 2d 70 61  |ol%+1)*13)...-pa|
0000b700  6c 74 61 62 6c 65 25 21  28 63 6f 6c 25 2a 34 29  |ltable%!(col%*4)|
0000b710  3d 70 61 6c 74 61 62 6c  65 25 21 28 28 63 6f 6c  |=paltable%!((col|
0000b720  25 2b 31 29 2a 34 29 0d  07 99 0b 63 6f 6c 25 2b  |%+1)*4)....col%+|
0000b730  3d 31 0d 07 9a 05 ce 0d  07 9b 0e 6d 61 78 63 6f  |=1.........maxco|
0000b740  6c 25 2d 3d 31 0d 07 9c  07 f2 79 63 0d 07 9d 18  |l%-=1.....yc....|
0000b750  c8 99 20 26 30 30 30 34  30 30 43 35 2c 2c 62 6c  |.. &000400C5,,bl|
0000b760  6f 63 6b 25 0d 07 9e 44  c8 99 20 26 30 30 30 34  |ock%...D.. &0004|
0000b770  30 30 44 31 2c 63 6f 6c  70 61 6e 65 25 2c 30 2c  |00D1,colpane%,0,|
0000b780  2d 32 30 2d 28 6d 61 78  63 6f 6c 25 2b 32 29 2a  |-20-(maxcol%+2)*|
0000b790  37 36 2c 33 36 32 2c 2d  32 30 2d 28 65 64 69 74  |76,362,-20-(edit|
0000b7a0  63 6f 6c 25 29 2a 37 36  0d 07 9f 0e 24 63 6e 61  |col%)*76....$cna|
0000b7b0  6d 65 25 3d 22 22 0d 07  a0 19 f2 66 65 28 63 6f  |me%="".....fe(co|
0000b7c0  6c 63 72 65 61 74 65 25  2c 33 2c 30 2c 30 29 0d  |lcreate%,3,0,0).|
0000b7d0  07 a1 1e f2 6f 61 28 63  6f 6c 63 72 65 61 74 65  |....oa(colcreate|
0000b7e0  25 2c 33 2c a9 24 63 6e  61 6d 65 25 29 0d 07 a2  |%,3,.$cname%)...|
0000b7f0  16 21 62 6c 6f 63 6b 25  3d 63 6f 6c 63 68 6f 6f  |.!block%=colchoo|
0000b800  73 65 25 0d 07 a3 18 c8  99 20 26 30 30 30 34 30  |se%...... &00040|
0000b810  30 43 42 2c 2c 62 6c 6f  63 6b 25 0d 07 a4 2b e7  |0CB,,block%...+.|
0000b820  20 63 75 72 72 65 6e 74  63 6f 6c 25 3e 65 64 69  | currentcol%>edi|
0000b830  74 63 6f 6c 25 20 8c 20  63 75 72 72 65 6e 74 63  |tcol% . currentc|
0000b840  6f 6c 25 2d 3d 31 0d 07  a5 2f e7 20 63 75 72 72  |ol%-=1.../. curr|
0000b850  65 6e 74 63 6f 6c 25 3e  6d 61 78 63 6f 6c 25 20  |entcol%>maxcol% |
0000b860  8c 20 63 75 72 72 65 6e  74 63 6f 6c 25 3d 6d 61  |. currentcol%=ma|
0000b870  78 63 6f 6c 25 0d 07 a6  1b e7 20 28 28 62 6c 6f  |xcol%..... ((blo|
0000b880  63 6b 25 3f 33 34 29 20  80 20 31 29 3d 31 20 8c  |ck%?34) . 1)=1 .|
0000b890  0d 07 a7 07 f2 78 63 0d  07 a8 18 c8 99 20 26 30  |.....xc...... &0|
0000b8a0  30 30 34 30 30 43 35 2c  2c 62 6c 6f 63 6b 25 0d  |00400C5,,block%.|
0000b8b0  07 a9 48 c8 99 20 26 30  30 30 34 30 30 44 31 2c  |..H.. &000400D1,|
0000b8c0  63 6f 6c 63 68 6f 6f 73  65 25 2c 30 2c 2d 32 30  |colchoose%,0,-20|
0000b8d0  2d 28 6d 61 78 63 6f 6c  25 2b 34 29 2a 37 36 2c  |-(maxcol%+4)*76,|
0000b8e0  33 36 32 2c 2d 32 30 2d  28 65 64 69 74 63 6f 6c  |362,-20-(editcol|
0000b8f0  25 2b 32 29 2a 37 36 0d  07 aa 05 cd 0d 07 ab 04  |%+2)*76.........|
0000b900  0d 07 ac 10 c8 99 20 26  30 30 30 34 30 36 43 30  |...... &000406C0|
0000b910  0d 07 ad 28 e3 20 73 74  69 74 63 68 25 3d 30 20  |...(. stitch%=0 |
0000b920  b8 20 67 72 69 64 77 69  64 74 68 25 2a 67 72 69  |. gridwidth%*gri|
0000b930  64 68 65 69 67 68 74 25  0d 07 ae 1a 63 6f 6c 25  |dheight%....col%|
0000b940  3d 63 6f 6c 74 61 62 6c  65 25 3f 73 74 69 74 63  |=coltable%?stitc|
0000b950  68 25 0d 07 af 32 e7 20  28 63 6f 6c 25 20 80 20  |h%...2. (col% . |
0000b960  36 33 29 3d 65 64 69 74  63 6f 6c 25 20 8c 20 63  |63)=editcol% . c|
0000b970  6f 6c 74 61 62 6c 65 25  3f 73 74 69 74 63 68 25  |oltable%?stitch%|
0000b980  3d 31 32 38 0d 07 b0 2e  e7 20 28 28 63 6f 6c 25  |=128..... ((col%|
0000b990  80 20 36 33 29 3e 65 64  69 74 63 6f 6c 25 29 20  |. 63)>editcol%) |
0000b9a0  80 20 28 28 63 6f 6c 25  80 31 32 38 29 3d 30 29  |. ((col%.128)=0)|
0000b9b0  20 8c 0d 07 b1 23 63 6f  6c 25 2d 3d 31 3a 20 63  | ....#col%-=1: c|
0000b9c0  6f 6c 74 61 62 6c 65 25  3f 73 74 69 74 63 68 25  |oltable%?stitch%|
0000b9d0  3d 63 6f 6c 25 0d 07 b2  05 cd 0d 07 b3 0d ed 20  |=col%.......... |
0000b9e0  73 74 69 74 63 68 25 0d  07 b4 10 c8 99 20 26 30  |stitch%...... &0|
0000b9f0  30 30 34 30 36 43 31 0d  07 b5 11 21 62 6c 6f 63  |00406C1....!bloc|
0000ba00  6b 25 3d 65 64 69 74 25  0d 07 b6 18 c8 99 20 26  |k%=edit%...... &|
0000ba10  30 30 30 34 30 30 43 42  2c 2c 62 6c 6f 63 6b 25  |000400CB,,block%|
0000ba20  0d 07 b7 1a 77 78 25 3d  62 6c 6f 63 6b 25 21 34  |....wx%=block%!4|
0000ba30  2d 62 6c 6f 63 6b 25 21  32 30 0d 07 b8 1b 77 79  |-block%!20....wy|
0000ba40  25 3d 62 6c 6f 63 6b 25  21 31 36 2d 62 6c 6f 63  |%=block%!16-bloc|
0000ba50  6b 25 21 32 34 0d 07 b9  4c c8 99 20 26 30 30 30  |k%!24...L.. &000|
0000ba60  34 30 30 44 31 2c 65 64  69 74 25 2c 62 6c 6f 63  |400D1,edit%,bloc|
0000ba70  6b 25 21 34 2d 77 78 25  2c 62 6c 6f 63 6b 25 21  |k%!4-wx%,block%!|
0000ba80  38 2d 77 79 25 2c 62 6c  6f 63 6b 25 21 31 32 2d  |8-wy%,block%!12-|
0000ba90  77 78 25 2c 62 6c 6f 63  6b 25 21 31 36 2d 77 79  |wx%,block%!16-wy|
0000baa0  25 0d 07 ba 0f 65 64 69  74 63 6f 6c 25 3d 2d 32  |%....editcol%=-2|
0000bab0  0d 07 bb 05 cc 0d 07 bc  3c e7 20 65 64 69 74 63  |........<. editc|
0000bac0  6f 6c 25 3d 2d 32 20 8c  20 f2 77 64 28 22 50 6c  |ol%=-2 . .wd("Pl|
0000bad0  65 61 73 65 20 73 65 6c  65 63 74 20 61 20 63 6f  |ease select a co|
0000bae0  6c 6f 75 72 20 74 6f 20  72 65 6d 6f 76 65 2e 22  |lour to remove."|
0000baf0  29 0d 07 bd 43 e7 20 6d  61 78 63 6f 6c 25 3d 30  |)...C. maxcol%=0|
0000bb00  20 8c 20 f2 77 64 28 22  54 68 65 72 65 20 6d 75  | . .wd("There mu|
0000bb10  73 74 20 62 65 20 61 74  20 6c 65 61 73 74 20 6f  |st be at least o|
0000bb20  6e 65 20 63 6f 6c 6f 75  72 20 64 65 66 69 6e 65  |ne colour define|
0000bb30  64 2e 22 29 0d 07 be 05  cd 0d 07 bf 07 c9 20 32  |d.").......... 2|
0000bb40  0d 07 c0 14 e7 20 65 64  69 74 63 6f 6c 25 3c 3e  |..... editcol%<>|
0000bb50  2d 32 20 8c 0d 07 c1 14  21 62 6c 6f 63 6b 25 3d  |-2 .....!block%=|
0000bb60  63 6f 6c 70 69 63 6b 25  0d 07 c2 18 c8 99 20 26  |colpick%...... &|
0000bb70  30 30 30 34 30 30 43 42  2c 2c 62 6c 6f 63 6b 25  |000400CB,,block%|
0000bb80  0d 07 c3 2a e7 20 28 28  62 6c 6f 63 6b 25 3f 33  |...*. ((block%?3|
0000bb90  34 29 20 80 20 31 29 3c  3e 31 20 8c 20 f2 6e 64  |4) . 1)<>1 . .nd|
0000bba0  28 63 6f 6c 70 69 63 6b  25 29 0d 07 c4 05 cc 0d  |(colpick%)......|
0000bbb0  07 c5 2b f2 77 64 28 22  50 6c 65 61 73 65 20 73  |..+.wd("Please s|
0000bbc0  65 6c 65 63 74 20 61 20  63 6f 6c 6f 75 72 20 74  |elect a colour t|
0000bbd0  6f 20 61 6c 74 65 72 2e  22 29 0d 07 c6 05 cd 0d  |o alter.")......|
0000bbe0  07 c7 05 cb 0d 07 c8 2c  c9 20 74 6f 70 72 75 6c  |.......,. toprul|
0000bbf0  65 25 2c 62 6f 74 72 75  6c 65 25 2c 72 69 67 68  |e%,botrule%,righ|
0000bc00  74 72 75 6c 65 25 2c 6c  65 66 74 72 75 6c 65 25  |trule%,leftrule%|
0000bc10  0d 07 c9 21 c8 99 20 26  30 30 30 34 30 30 44 32  |...!.. &000400D2|
0000bc20  2c 65 64 69 74 25 2c 2d  31 2c 30 2c 30 2c 30 2c  |,edit%,-1,0,0,0,|
0000bc30  30 0d 07 ca 0b c9 20 65  64 69 74 25 0d 07 cb 21  |0..... edit%...!|
0000bc40  c8 99 20 26 30 30 30 34  30 30 44 32 2c 65 64 69  |.. &000400D2,edi|
0000bc50  74 25 2c 2d 31 2c 30 2c  30 2c 30 2c 30 0d 07 cc  |t%,-1,0,0,0,0...|
0000bc60  11 e7 20 6d 61 78 63 6f  6c 25 3c 30 20 8c 0d 07  |.. maxcol%<0 ...|
0000bc70  cd 31 f2 77 64 28 22 50  6c 65 61 73 65 20 70 69  |.1.wd("Please pi|
0000bc80  63 6b 20 73 6f 6d 65 20  63 6f 6c 6f 75 72 73 20  |ck some colours |
0000bc90  74 6f 20 75 73 65 20 66  69 72 73 74 2e 22 29 0d  |to use first.").|
0000bca0  07 ce 07 f2 6e 62 0d 07  cf 05 cc 0d 07 d0 24 e7  |....nb........$.|
0000bcb0  20 28 a4 6c 28 74 62 61  72 25 2c 31 33 29 20 84  | (.l(tbar%,13) .|
0000bcc0  20 a4 6c 28 74 62 61 72  25 2c 34 29 29 20 8c 0d  | .l(tbar%,4)) ..|
0000bcd0  07 d1 04 0d 07 d2 11 21  62 6c 6f 63 6b 25 3d 65  |.......!block%=e|
0000bce0  64 69 74 25 0d 07 d3 18  c8 99 20 26 30 30 30 34  |dit%...... &0004|
0000bcf0  30 30 43 42 2c 2c 62 6c  6f 63 6b 25 0d 07 d4 1d  |00CB,,block%....|
0000bd00  6f 72 78 25 3d 28 62 6c  6f 63 6b 25 21 34 2d 62  |orx%=(block%!4-b|
0000bd10  6c 6f 63 6b 25 21 32 30  29 0d 07 d5 1e 6f 72 79  |lock%!20)....ory|
0000bd20  25 3d 28 62 6c 6f 63 6b  25 21 31 36 2d 62 6c 6f  |%=(block%!16-blo|
0000bd30  63 6b 25 21 32 34 29 0d  07 d6 1c 77 78 25 3d 28  |ck%!24)....wx%=(|
0000bd40  6d 78 25 2d 6f 72 78 25  2d 72 75 6c 65 73 69 7a  |mx%-orx%-rulesiz|
0000bd50  65 25 29 0d 07 d7 24 77  79 25 3d 28 6d 79 25 2d  |e%)...$wy%=(my%-|
0000bd60  6f 72 79 25 2d 72 75 6c  65 73 69 7a 65 25 2b 65  |ory%-rulesize%+e|
0000bd70  64 69 74 68 74 25 29 0d  07 d8 19 e7 20 28 62 75  |ditht%)..... (bu|
0000bd80  74 74 6f 6e 25 20 80 20  26 35 30 29 3e 30 20 8c  |tton% . &50)>0 .|
0000bd90  0d 07 d9 42 e7 20 77 78  25 3e 30 20 80 20 77 78  |...B. wx%>0 . wx|
0000bda0  25 3c 67 72 69 64 77 69  64 74 68 25 2a 73 74 77  |%<gridwidth%*stw|
0000bdb0  25 20 80 20 77 79 25 3e  30 20 80 20 77 79 25 3c  |% . wy%>0 . wy%<|
0000bdc0  67 72 69 64 68 65 69 67  68 74 25 2a 72 68 74 25  |gridheight%*rht%|
0000bdd0  20 8c 0d 07 da 15 e7 20  70 61 67 65 72 75 6c 65  | ...... pagerule|
0000bde0  72 73 25 3d a3 20 8c 0d  07 db 04 0d 07 dc 43 e7  |rs%=. ........C.|
0000bdf0  20 62 6c 6f 63 6b 25 21  34 3c 6f 72 78 25 2b 72  | block%!4<orx%+r|
0000be00  75 6c 65 73 69 7a 65 25  20 8c 20 62 6c 6f 63 6b  |ulesize% . block|
0000be10  25 21 34 2b 3d 28 6f 72  78 25 2b 72 75 6c 65 73  |%!4+=(orx%+rules|
0000be20  69 7a 65 25 29 2d 62 6c  6f 63 6b 25 21 34 0d 07  |ize%)-block%!4..|
0000be30  dd 66 e7 20 62 6c 6f 63  6b 25 21 31 32 3e 6f 72  |.f. block%!12>or|
0000be40  78 25 2b 72 75 6c 65 73  69 7a 65 25 2b 67 72 69  |x%+rulesize%+gri|
0000be50  64 77 69 64 74 68 25 2a  73 74 77 25 20 8c 20 62  |dwidth%*stw% . b|
0000be60  6c 6f 63 6b 25 21 31 32  2d 3d 62 6c 6f 63 6b 25  |lock%!12-=block%|
0000be70  21 31 32 2d 28 6f 72 78  25 2b 72 75 6c 65 73 69  |!12-(orx%+rulesi|
0000be80  7a 65 25 2b 67 72 69 64  77 69 64 74 68 25 2a 73  |ze%+gridwidth%*s|
0000be90  74 77 25 29 0d 07 de 53  e7 20 62 6c 6f 63 6b 25  |tw%)...S. block%|
0000bea0  21 38 3c 6f 72 79 25 2d  65 64 69 74 68 74 25 2b  |!8<ory%-editht%+|
0000beb0  72 75 6c 65 73 69 7a 65  25 20 8c 20 62 6c 6f 63  |rulesize% . bloc|
0000bec0  6b 25 21 38 2b 3d 28 6f  72 79 25 2d 65 64 69 74  |k%!8+=(ory%-edit|
0000bed0  68 74 25 2b 72 75 6c 65  73 69 7a 65 25 29 2d 62  |ht%+rulesize%)-b|
0000bee0  6c 6f 63 6b 25 21 38 0d  07 df 16 62 6c 6f 63 6b  |lock%!8....block|
0000bef0  25 21 31 36 2d 3d 74 62  61 72 68 74 25 0d 07 e0  |%!16-=tbarht%...|
0000bf00  56 e7 20 62 6c 6f 63 6b  25 21 31 36 3e 6f 72 79  |V. block%!16>ory|
0000bf10  25 2d 74 62 61 72 68 74  25 2d 72 75 6c 65 73 69  |%-tbarht%-rulesi|
0000bf20  7a 65 25 20 8c 20 62 6c  6f 63 6b 25 21 31 36 2d  |ze% . block%!16-|
0000bf30  3d 62 6c 6f 63 6b 25 21  31 36 2d 28 6f 72 79 25  |=block%!16-(ory%|
0000bf40  2d 74 62 61 72 68 74 25  2d 72 75 6c 65 73 69 7a  |-tbarht%-rulesiz|
0000bf50  65 25 29 0d 07 e1 05 cc  0d 07 e2 17 62 6c 6f 63  |e%).........bloc|
0000bf60  6b 25 21 34 2b 3d 72 75  6c 65 73 69 7a 65 25 0d  |k%!4+=rulesize%.|
0000bf70  07 e3 17 62 6c 6f 63 6b  25 21 38 2b 3d 72 75 6c  |...block%!8+=rul|
0000bf80  65 73 69 7a 65 25 0d 07  e4 18 62 6c 6f 63 6b 25  |esize%....block%|
0000bf90  21 31 32 2d 3d 72 75 6c  65 73 69 7a 65 25 0d 07  |!12-=rulesize%..|
0000bfa0  e5 20 62 6c 6f 63 6b 25  21 31 36 2d 3d 72 75 6c  |. block%!16-=rul|
0000bfb0  65 73 69 7a 65 25 2b 74  62 61 72 68 74 25 0d 07  |esize%+tbarht%..|
0000bfc0  e6 05 cd 0d 07 e7 14 62  6c 6f 63 6b 25 21 31 30  |.......block%!10|
0000bfd0  30 3d 65 64 69 74 25 0d  07 e8 10 62 6c 6f 63 6b  |0=edit%....block|
0000bfe0  25 21 31 30 34 3d 36 0d  07 e9 12 62 6c 6f 63 6b  |%!104=6....block|
0000bff0  25 21 31 30 38 3d 6d 78  25 0d 07 ea 12 62 6c 6f  |%!108=mx%....blo|
0000c000  63 6b 25 21 31 31 32 3d  6d 79 25 0d 07 eb 12 62  |ck%!112=my%....b|
0000c010  6c 6f 63 6b 25 21 31 31  36 3d 6d 78 25 0d 07 ec  |lock%!116=mx%...|
0000c020  12 62 6c 6f 63 6b 25 21  31 32 30 3d 6d 79 25 0d  |.block%!120=my%.|
0000c030  07 ed 17 62 6c 6f 63 6b  25 21 31 32 34 3d 62 6c  |...block%!124=bl|
0000c040  6f 63 6b 25 21 34 0d 07  ee 17 62 6c 6f 63 6b 25  |ock%!4....block%|
0000c050  21 31 32 38 3d 62 6c 6f  63 6b 25 21 38 0d 07 ef  |!128=block%!8...|
0000c060  18 62 6c 6f 63 6b 25 21  31 33 32 3d 62 6c 6f 63  |.block%!132=bloc|
0000c070  6b 25 21 31 32 0d 07 f0  18 62 6c 6f 63 6b 25 21  |k%!12....block%!|
0000c080  31 33 36 3d 62 6c 6f 63  6b 25 21 31 36 0d 07 f1  |136=block%!16...|
0000c090  1c c8 99 20 26 30 30 30  34 30 30 44 30 2c 2c 62  |... &000400D0,,b|
0000c0a0  6c 6f 63 6b 25 2b 31 30  30 0d 07 f2 0f 64 72 61  |lock%+100....dra|
0000c0b0  67 74 79 70 65 25 3d 31  0d 07 f3 19 e7 20 73 74  |gtype%=1..... st|
0000c0c0  61 72 72 65 64 25 3d a3  20 8c 20 f2 74 65 28 31  |arred%=. . .te(1|
0000c0d0  29 0d 07 f4 05 cd 0d 07  f5 05 cc 0d 07 f6 0f e7  |)...............|
0000c0e0  20 63 6f 70 79 25 3d b9  20 8c 0d 07 f7 04 0d 07  | copy%=. .......|
0000c0f0  f8 14 73 74 69 74 63 68  25 3d 77 78 25 2f 73 74  |..stitch%=wx%/st|
0000c100  77 25 0d 07 f9 11 72 6f  77 25 3d 77 79 25 2f 72  |w%....row%=wy%/r|
0000c110  68 74 25 0d 07 fa 1c 77  25 3d 63 6f 70 79 6d 61  |ht%....w%=copyma|
0000c120  78 73 74 25 2d 63 6f 70  79 6d 69 6e 73 74 25 0d  |xst%-copyminst%.|
0000c130  07 fb 1e 68 25 3d 63 6f  70 79 6d 61 78 72 6f 77  |...h%=copymaxrow|
0000c140  25 2d 63 6f 70 79 6d 69  6e 72 6f 77 25 0d 07 fc  |%-copyminrow%...|
0000c150  14 e7 20 63 6f 70 79 62  6c 6f 63 6b 25 3d 30 20  |.. copyblock%=0 |
0000c160  8c 0d 07 fd 20 63 6f 70  79 62 6c 6f 63 6b 25 3d  |.... copyblock%=|
0000c170  a4 62 28 28 77 25 2b 31  29 2a 28 68 25 2b 31 29  |.b((w%+1)*(h%+1)|
0000c180  29 0d 07 fe 0f e3 20 78  25 3d 30 20 b8 20 77 25  |)..... x%=0 . w%|
0000c190  0d 07 ff 0f e3 20 79 25  3d 30 20 b8 20 68 25 0d  |..... y%=0 . h%.|
0000c1a0  08 00 53 63 6f 70 79 62  6c 6f 63 6b 25 3f 28 79  |..Scopyblock%?(y|
0000c1b0  25 2a 28 77 25 2b 31 29  2b 78 25 29 3d 63 6f 6c  |%*(w%+1)+x%)=col|
0000c1c0  74 61 62 6c 65 25 3f 28  28 79 25 2b 63 6f 70 79  |table%?((y%+copy|
0000c1d0  6d 69 6e 72 6f 77 25 29  2a 67 72 69 64 77 69 64  |minrow%)*gridwid|
0000c1e0  74 68 25 2b 78 25 2b 63  6f 70 79 6d 69 6e 73 74  |th%+x%+copyminst|
0000c1f0  25 29 0d 08 01 08 ed 20  79 25 0d 08 02 08 ed 20  |%)..... y%..... |
0000c200  78 25 0d 08 03 05 cd 0d  08 04 0f e3 20 78 25 3d  |x%.......... x%=|
0000c210  30 20 b8 20 77 25 0d 08  05 1d e7 20 78 25 2b 73  |0 . w%..... x%+s|
0000c220  74 69 74 63 68 25 3c 67  72 69 64 77 69 64 74 68  |titch%<gridwidth|
0000c230  25 20 8c 0d 08 06 0f e3  20 79 25 3d 30 20 b8 20  |% ...... y%=0 . |
0000c240  68 25 0d 08 07 1b e7 20  79 25 2b 72 6f 77 25 3c  |h%..... y%+row%<|
0000c250  67 72 69 64 68 65 69 67  68 74 25 20 8c 0d 08 08  |gridheight% ....|
0000c260  49 63 6f 6c 74 61 62 6c  65 25 3f 28 28 79 25 2b  |Icoltable%?((y%+|
0000c270  72 6f 77 25 29 2a 67 72  69 64 77 69 64 74 68 25  |row%)*gridwidth%|
0000c280  2b 78 25 2b 73 74 69 74  63 68 25 29 3d 63 6f 70  |+x%+stitch%)=cop|
0000c290  79 62 6c 6f 63 6b 25 3f  28 79 25 2a 28 77 25 2b  |yblock%?(y%*(w%+|
0000c2a0  31 29 2b 78 25 29 0d 08  09 05 cc 0d 08 0a 09 79  |1)+x%).........y|
0000c2b0  25 3d 68 25 0d 08 0b 05  cd 0d 08 0c 08 ed 20 79  |%=h%.......... y|
0000c2c0  25 0d 08 0d 05 cc 0d 08  0e 09 78 25 3d 77 25 0d  |%.........x%=w%.|
0000c2d0  08 0f 05 cd 0d 08 10 08  ed 20 78 25 0d 08 11 32  |......... x%...2|
0000c2e0  6d 69 6e 78 25 3d 73 74  69 74 63 68 25 2a 73 74  |minx%=stitch%*st|
0000c2f0  77 25 2b 72 75 6c 65 73  69 7a 65 25 2b 78 70 69  |w%+rulesize%+xpi|
0000c300  78 25 2a 28 67 72 69 64  6f 6e 25 3d b9 29 0d 08  |x%*(gridon%=.)..|
0000c310  12 2e 6d 61 78 78 25 3d  6d 69 6e 78 25 2b 28 77  |..maxx%=minx%+(w|
0000c320  25 2b 31 29 2a 73 74 77  25 2d 78 70 69 78 32 25  |%+1)*stw%-xpix2%|
0000c330  2a 28 67 72 69 64 6f 6e  25 3d b9 29 0d 08 13 37  |*(gridon%=.)...7|
0000c340  6d 69 6e 79 25 3d 72 6f  77 25 2a 72 68 74 25 2b  |miny%=row%*rht%+|
0000c350  72 75 6c 65 73 69 7a 65  25 2d 65 64 69 74 68 74  |rulesize%-editht|
0000c360  25 2d 79 70 69 78 25 2a  28 67 72 69 64 6f 6e 25  |%-ypix%*(gridon%|
0000c370  3d b9 29 0d 08 14 2e 6d  61 78 79 25 3d 6d 69 6e  |=.)....maxy%=min|
0000c380  79 25 2b 28 68 25 2b 31  29 2a 72 68 74 25 2d 79  |y%+(h%+1)*rht%-y|
0000c390  70 69 78 32 25 2a 28 67  72 69 64 6f 6e 25 3d b9  |pix2%*(gridon%=.|
0000c3a0  29 0d 08 15 2e c8 99 20  26 30 30 30 34 30 30 44  |)...... &000400D|
0000c3b0  31 2c 65 64 69 74 25 2c  6d 69 6e 78 25 2c 6d 69  |1,edit%,minx%,mi|
0000c3c0  6e 79 25 2c 6d 61 78 78  25 2c 6d 61 78 79 25 0d  |ny%,maxx%,maxy%.|
0000c3d0  08 16 15 e7 20 62 75 74  74 6f 6e 25 3d 34 20 8c  |.... button%=4 .|
0000c3e0  20 f2 70 62 0d 08 17 05  cc 0d 08 18 19 e7 20 ac  | .pb.......... .|
0000c3f0  20 a4 6c 28 74 62 61 72  25 2c 34 29 20 8c 20 f2  | .l(tbar%,4) . .|
0000c400  75 61 0d 08 19 05 cd 0d  08 1a 05 cd 0d 08 1b 05  |ua..............|
0000c410  cc 0d 08 1c 04 0d 08 1d  11 21 62 6c 6f 63 6b 25  |.........!block%|
0000c420  3d 65 64 69 74 25 0d 08  1e 17 c8 99 26 30 30 30  |=edit%......&000|
0000c430  34 30 30 43 42 2c 2c 62  6c 6f 63 6b 25 0d 08 1f  |400CB,,block%...|
0000c440  1d 6f 72 78 25 3d 28 62  6c 6f 63 6b 25 21 34 2d  |.orx%=(block%!4-|
0000c450  62 6c 6f 63 6b 25 21 32  30 29 0d 08 20 1e 6f 72  |block%!20).. .or|
0000c460  79 25 3d 28 62 6c 6f 63  6b 25 21 31 36 2d 62 6c  |y%=(block%!16-bl|
0000c470  6f 63 6b 25 21 32 34 29  0d 08 21 1c 77 78 25 3d  |ock%!24)..!.wx%=|
0000c480  28 6d 78 25 2d 6f 72 78  25 2d 72 75 6c 65 73 69  |(mx%-orx%-rulesi|
0000c490  7a 65 25 29 0d 08 22 24  77 79 25 3d 28 6d 79 25  |ze%).."$wy%=(my%|
0000c4a0  2d 6f 72 79 25 2d 72 75  6c 65 73 69 7a 65 25 2b  |-ory%-rulesize%+|
0000c4b0  65 64 69 74 68 74 25 29  0d 08 23 42 e7 20 77 78  |editht%)..#B. wx|
0000c4c0  25 3e 30 20 80 20 77 78  25 3c 67 72 69 64 77 69  |%>0 . wx%<gridwi|
0000c4d0  64 74 68 25 2a 73 74 77  25 20 80 20 77 79 25 3e  |dth%*stw% . wy%>|
0000c4e0  30 20 80 20 77 79 25 3c  67 72 69 64 68 65 69 67  |0 . wy%<gridheig|
0000c4f0  68 74 25 2a 72 68 74 25  20 8c 0d 08 24 14 73 74  |ht%*rht% ...$.st|
0000c500  69 74 63 68 25 3d 77 78  25 2f 73 74 77 25 0d 08  |itch%=wx%/stw%..|
0000c510  25 11 72 6f 77 25 3d 77  79 25 2f 72 68 74 25 0d  |%.row%=wy%/rht%.|
0000c520  08 26 07 f2 75 61 0d 08  27 32 6d 69 6e 78 25 3d  |.&..ua..'2minx%=|
0000c530  73 74 69 74 63 68 25 2a  73 74 77 25 2b 72 75 6c  |stitch%*stw%+rul|
0000c540  65 73 69 7a 65 25 2b 78  70 69 78 25 2a 28 67 72  |esize%+xpix%*(gr|
0000c550  69 64 6f 6e 25 3d b9 29  0d 08 28 37 6d 61 78 78  |idon%=.)..(7maxx|
0000c560  25 3d 73 74 69 74 63 68  25 2a 73 74 77 25 2b 73  |%=stitch%*stw%+s|
0000c570  74 77 25 2b 72 75 6c 65  73 69 7a 65 25 2d 78 70  |tw%+rulesize%-xp|
0000c580  69 78 25 2a 28 67 72 69  64 6f 6e 25 3d b9 29 0d  |ix%*(gridon%=.).|
0000c590  08 29 37 6d 69 6e 79 25  3d 72 6f 77 25 2a 72 68  |.)7miny%=row%*rh|
0000c5a0  74 25 2b 72 75 6c 65 73  69 7a 65 25 2d 65 64 69  |t%+rulesize%-edi|
0000c5b0  74 68 74 25 2d 79 70 69  78 25 2a 28 67 72 69 64  |tht%-ypix%*(grid|
0000c5c0  6f 6e 25 3d b9 29 0d 08  2a 3c 6d 61 78 79 25 3d  |on%=.)..*<maxy%=|
0000c5d0  72 6f 77 25 2a 72 68 74  25 2b 72 68 74 25 2b 72  |row%*rht%+rht%+r|
0000c5e0  75 6c 65 73 69 7a 65 25  2d 65 64 69 74 68 74 25  |ulesize%-editht%|
0000c5f0  2d 79 70 69 78 25 2a 28  67 72 69 64 6f 6e 25 3d  |-ypix%*(gridon%=|
0000c600  b9 29 0d 08 2b 2e c8 99  20 26 30 30 30 34 30 30  |.)..+... &000400|
0000c610  44 31 2c 65 64 69 74 25  2c 6d 69 6e 78 25 2c 6d  |D1,edit%,minx%,m|
0000c620  69 6e 79 25 2c 6d 61 78  78 25 2c 6d 61 78 79 25  |iny%,maxx%,maxy%|
0000c630  0d 08 2c 19 e7 20 73 74  61 72 72 65 64 25 3d a3  |..,.. starred%=.|
0000c640  20 8c 20 f2 74 65 28 31  29 0d 08 2d 05 cd 0d 08  | . .te(1)..-....|
0000c650  2e 05 cd 0d 08 2f 05 cd  0d 08 30 0b c9 20 7a 6f  |...../....0.. zo|
0000c660  6f 6d 25 0d 08 31 0e c8  8e 20 69 63 6f 6e 25 20  |om%..1... icon% |
0000c670  ca 0d 08 32 09 c9 20 32  2c 33 0d 08 33 30 f2 69  |...2.. 2,3..30.i|
0000c680  63 28 7a 6f 6f 6d 25 2c  30 2c 38 2c 31 2c 62 75  |c(zoom%,0,8,1,bu|
0000c690  74 74 6f 6e 25 2c 28 69  63 6f 6e 25 3d 33 29 2d  |tton%,(icon%=3)-|
0000c6a0  28 69 63 6f 6e 25 3d 32  29 29 0d 08 34 07 f2 63  |(icon%=2))..4..c|
0000c6b0  66 0d 08 35 09 c9 20 34  2c 35 0d 08 36 30 f2 69  |f..5.. 4,5..60.i|
0000c6c0  63 28 7a 6f 6f 6d 25 2c  31 2c 38 2c 31 2c 62 75  |c(zoom%,1,8,1,bu|
0000c6d0  74 74 6f 6e 25 2c 28 69  63 6f 6e 25 3d 35 29 2d  |tton%,(icon%=5)-|
0000c6e0  28 69 63 6f 6e 25 3d 34  29 29 0d 08 37 07 f2 63  |(icon%=4))..7..c|
0000c6f0  66 0d 08 38 05 cb 0d 08  39 0b c9 20 74 62 61 72  |f..8....9.. tbar|
0000c700  25 0d 08 3a 0e c8 8e 20  69 63 6f 6e 25 20 ca 0d  |%..:... icon% ..|
0000c710  08 3b 07 c9 20 34 0d 08  3c 1c f2 66 65 28 74 62  |.;.. 4..<..fe(tb|
0000c720  61 72 25 2c 34 2c 31 3c  3c 32 31 2c 31 3c 3c 32  |ar%,4,1<<21,1<<2|
0000c730  31 29 0d 08 3d 0c c9 20  35 3a 20 f2 65 63 0d 08  |1)..=.. 5: .ec..|
0000c740  3e 0c c9 20 36 3a 20 f2  7a 64 0d 08 3f 0c c9 20  |>.. 6: .zd..?.. |
0000c750  37 3a 20 f2 6d 65 0d 08  40 07 c9 20 38 0d 08 41  |7: .me..@.. 8..A|
0000c760  10 c8 8e 20 6d 61 6e 6e  65 72 25 20 ca 0d 08 42  |... manner% ...B|
0000c770  09 c9 20 30 2c 31 0d 08  43 1b e7 20 62 75 74 74  |.. 0,1..C.. butt|
0000c780  6f 6e 25 3d 34 20 8c 20  f2 63 62 20 8b 20 f2 6e  |on%=4 . .cb . .n|
0000c790  62 0d 08 44 07 c9 20 32  0d 08 45 07 f2 70 65 0d  |b..D.. 2..E..pe.|
0000c7a0  08 46 05 cb 0d 08 47 0c  c9 20 39 3a 20 f2 6b 65  |.F....G.. 9: .ke|
0000c7b0  0d 08 48 08 c9 20 31 30  0d 08 49 11 e7 20 62 75  |..H.. 10..I.. bu|
0000c7c0  74 74 6f 6e 25 3d 31 20  8c 0d 08 4a 07 f2 76 64  |tton%=1 ...J..vd|
0000c7d0  0d 08 4b 05 cc 0d 08 4c  2d e7 20 6d 61 78 63 6f  |..K....L-. maxco|
0000c7e0  6c 25 3c 3e 2d 31 20 8c  20 f2 6c 65 28 6d 61 73  |l%<>-1 . .le(mas|
0000c7f0  6b 6d 65 6e 75 25 2c 6d  78 25 2d 36 34 2c 6d 79  |kmenu%,mx%-64,my|
0000c800  25 29 0d 08 4d 05 cd 0d  08 4e 08 c9 20 31 31 0d  |%)..M....N.. 11.|
0000c810  08 4f 11 21 62 6c 6f 63  6b 25 3d 74 62 61 72 25  |.O.!block%=tbar%|
0000c820  0d 08 50 18 c8 99 20 26  30 30 30 34 30 30 43 43  |..P... &000400CC|
0000c830  2c 2c 62 6c 6f 63 6b 25  0d 08 51 2f 78 25 3d 62  |,,block%..Q/x%=b|
0000c840  6c 6f 63 6b 25 21 28 34  2b 38 38 2b 31 31 2a 33  |lock%!(4+88+11*3|
0000c850  32 2b 30 29 2b 62 6c 6f  63 6b 25 21 34 2d 62 6c  |2+0)+block%!4-bl|
0000c860  6f 63 6b 25 21 32 30 0d  08 52 0f 79 25 3d 62 6c  |ock%!20..R.y%=bl|
0000c870  6f 63 6b 25 21 38 0d 08  53 13 78 25 2d 3d 31 33  |ock%!8..S.x%-=13|
0000c880  30 3a 20 79 25 2d 3d 34  32 0d 08 54 11 21 62 6c  |0: y%-=42..T.!bl|
0000c890  6f 63 6b 25 3d 7a 6f 6f  6d 25 0d 08 55 18 c8 99  |ock%=zoom%..U...|
0000c8a0  20 26 30 30 30 34 30 30  43 43 2c 2c 62 6c 6f 63  | &000400CC,,bloc|
0000c8b0  6b 25 0d 08 56 18 c8 99  20 26 30 30 30 34 30 30  |k%..V... &000400|
0000c8c0  43 33 2c 2c 62 6c 6f 63  6b 25 0d 08 57 23 62 6c  |C3,,block%..W#bl|
0000c8d0  6f 63 6b 25 21 33 32 3d  28 62 6c 6f 63 6b 25 21  |ock%!32=(block%!|
0000c8e0  33 32 29 20 84 20 28 31  3c 3c 32 35 29 0d 08 58  |32) . (1<<25)..X|
0000c8f0  22 c8 99 20 26 30 30 30  34 30 30 43 31 2c 2c 62  |".. &000400C1,,b|
0000c900  6c 6f 63 6b 25 2b 34 20  b8 20 7a 6f 6f 6d 25 0d  |lock%+4 . zoom%.|
0000c910  08 59 11 21 62 6c 6f 63  6b 25 3d 7a 6f 6f 6d 25  |.Y.!block%=zoom%|
0000c920  0d 08 5a 19 77 25 3d 62  6c 6f 63 6b 25 21 31 32  |..Z.w%=block%!12|
0000c930  2d 62 6c 6f 63 6b 25 21  34 0d 08 5b 19 68 25 3d  |-block%!4..[.h%=|
0000c940  62 6c 6f 63 6b 25 21 31  36 2d 62 6c 6f 63 6b 25  |block%!16-block%|
0000c950  21 38 0d 08 5c 0f 62 6c  6f 63 6b 25 21 34 3d 78  |!8..\.block%!4=x|
0000c960  25 0d 08 5d 12 62 6c 6f  63 6b 25 21 38 3d 79 25  |%..].block%!8=y%|
0000c970  2d 68 25 0d 08 5e 13 62  6c 6f 63 6b 25 21 31 32  |-h%..^.block%!12|
0000c980  3d 78 25 2b 77 25 0d 08  5f 10 62 6c 6f 63 6b 25  |=x%+w%.._.block%|
0000c990  21 31 36 3d 79 25 0d 08  60 10 62 6c 6f 63 6b 25  |!16=y%..`.block%|
0000c9a0  21 32 38 3d 2d 31 0d 08  61 18 c8 99 20 26 30 30  |!28=-1..a... &00|
0000c9b0  30 34 30 30 43 35 2c 2c  62 6c 6f 63 6b 25 0d 08  |0400C5,,block%..|
0000c9c0  62 25 24 73 63 6c 6d 75  6c 25 3d c3 65 64 6d 75  |b%$sclmul%=.edmu|
0000c9d0  6c 25 3a f2 66 65 28 7a  6f 6f 6d 25 2c 30 2c 30  |l%:.fe(zoom%,0,0|
0000c9e0  2c 30 29 0d 08 63 25 24  73 63 6c 64 69 76 25 3d  |,0)..c%$scldiv%=|
0000c9f0  c3 65 64 64 69 76 25 3a  f2 66 65 28 7a 6f 6f 6d  |.eddiv%:.fe(zoom|
0000ca00  25 2c 31 2c 30 2c 30 29  0d 08 64 1a f2 6f 61 28  |%,1,0,0)..d..oa(|
0000ca10  7a 6f 6f 6d 25 2c 30 2c  a9 24 73 63 6c 6d 75 6c  |zoom%,0,.$sclmul|
0000ca20  25 29 0d 08 65 08 c9 20  31 32 0d 08 66 1d f2 66  |%)..e.. 12..f..f|
0000ca30  65 28 74 62 61 72 25 2c  31 32 2c 31 3c 3c 32 31  |e(tbar%,12,1<<21|
0000ca40  2c 31 3c 3c 32 31 29 0d  08 67 08 c9 20 31 33 0d  |,1<<21)..g.. 13.|
0000ca50  08 68 1d f2 66 65 28 74  62 61 72 25 2c 31 33 2c  |.h..fe(tbar%,13,|
0000ca60  31 3c 3c 32 31 2c 31 3c  3c 32 31 29 0d 08 69 05  |1<<21,1<<21)..i.|
0000ca70  cb 0d 08 6a 28 e7 20 69  63 6f 6e 25 3c 31 34 20  |...j(. icon%<14 |
0000ca80  80 20 69 63 6f 6e 25 3e  33 20 80 20 63 6f 70 79  |. icon%>3 . copy|
0000ca90  25 3d b9 20 8c 20 f2 70  62 0d 08 6b 10 c9 20 63  |%=. . .pb..k.. c|
0000caa0  6f 6c 63 68 6f 6f 73 65  25 0d 08 6c 14 c8 8e 20  |olchoose%..l... |
0000cab0  63 75 72 72 65 6e 74 63  6f 6c 25 20 ca 0d 08 6d  |currentcol% ...m|
0000cac0  08 c9 20 36 34 0d 08 6e  21 f2 66 65 28 63 6f 6c  |.. 64..n!.fe(col|
0000cad0  63 68 6f 6f 73 65 25 2c  31 2c 30 3c 3c 32 31 2c  |choose%,1,0<<21,|
0000cae0  31 3c 3c 32 31 29 0d 08  6f 09 c9 20 31 32 38 0d  |1<<21)..o.. 128.|
0000caf0  08 70 21 f2 66 65 28 63  6f 6c 63 68 6f 6f 73 65  |.p!.fe(colchoose|
0000cb00  25 2c 34 2c 30 3c 3c 32  31 2c 31 3c 3c 32 31 29  |%,4,0<<21,1<<21)|
0000cb10  0d 08 71 05 7f 0d 08 72  2f f2 66 65 28 63 6f 6c  |..q....r/.fe(col|
0000cb20  63 68 6f 6f 73 65 25 2c  63 75 72 72 65 6e 74 63  |choose%,currentc|
0000cb30  6f 6c 25 2a 33 2b 37 2c  30 3c 3c 32 31 2c 31 3c  |ol%*3+7,0<<21,1<|
0000cb40  3c 32 31 29 0d 08 73 05  cb 0d 08 74 11 e7 20 69  |<21)..s....t.. i|
0000cb50  63 6f 6e 25 83 33 3d 30  20 8c 0d 08 75 19 63 75  |con%.3=0 ...u.cu|
0000cb60  72 72 65 6e 74 63 6f 6c  25 3d 69 63 6f 6e 25 2f  |rrentcol%=icon%/|
0000cb70  33 2d 32 0d 08 76 05 cc  0d 08 77 1d 63 75 72 72  |3-2..v....w.curr|
0000cb80  65 6e 74 63 6f 6c 25 3d  28 69 63 6f 6e 25 2d 32  |entcol%=(icon%-2|
0000cb90  29 2f 33 2d 32 0d 08 78  05 cd 0d 08 79 14 c8 8e  |)/3-2..x....y...|
0000cba0  20 63 75 72 72 65 6e 74  63 6f 6c 25 20 ca 0d 08  | currentcol% ...|
0000cbb0  7a 08 c9 20 2d 31 0d 08  7b 13 63 75 72 72 65 6e  |z.. -1..{.curren|
0000cbc0  74 63 6f 6c 25 3d 31 32  38 0d 08 7c 21 f2 66 65  |tcol%=128..|!.fe|
0000cbd0  28 63 6f 6c 63 68 6f 6f  73 65 25 2c 34 2c 31 3c  |(colchoose%,4,1<|
0000cbe0  3c 32 31 2c 31 3c 3c 32  31 29 0d 08 7d 08 c9 20  |<21,1<<21)..}.. |
0000cbf0  2d 32 0d 08 7e 12 63 75  72 72 65 6e 74 63 6f 6c  |-2..~.currentcol|
0000cc00  25 3d 36 34 0d 08 7f 21  f2 66 65 28 63 6f 6c 63  |%=64...!.fe(colc|
0000cc10  68 6f 6f 73 65 25 2c 31  2c 31 3c 3c 32 31 2c 31  |hoose%,1,1<<21,1|
0000cc20  3c 3c 32 31 29 0d 08 80  05 7f 0d 08 81 2f f2 66  |<<21)......../.f|
0000cc30  65 28 63 6f 6c 63 68 6f  6f 73 65 25 2c 63 75 72  |e(colchoose%,cur|
0000cc40  72 65 6e 74 63 6f 6c 25  2a 33 2b 37 2c 31 3c 3c  |rentcol%*3+7,1<<|
0000cc50  32 31 2c 31 3c 3c 32 31  29 0d 08 82 05 cb 0d 08  |21,1<<21).......|
0000cc60  83 0e c9 20 63 6f 6c 70  61 6e 65 25 0d 08 84 3b  |... colpane%...;|
0000cc70  e7 20 65 64 69 74 63 6f  6c 25 3c 3e 2d 32 20 8c  |. editcol%<>-2 .|
0000cc80  20 f2 66 65 28 63 6f 6c  70 61 6e 65 25 2c 65 64  | .fe(colpane%,ed|
0000cc90  69 74 63 6f 6c 25 2a 33  2b 31 2c 30 3c 3c 32 31  |itcol%*3+1,0<<21|
0000cca0  2c 31 3c 3c 32 31 29 0d  08 85 11 e7 20 69 63 6f  |,1<<21)..... ico|
0000ccb0  6e 25 83 33 3d 30 20 8c  0d 08 86 14 65 64 69 74  |n%.3=0 .....edit|
0000ccc0  63 6f 6c 25 3d 69 63 6f  6e 25 2f 33 0d 08 87 05  |col%=icon%/3....|
0000ccd0  cc 0d 08 88 18 65 64 69  74 63 6f 6c 25 3d 28 69  |.....editcol%=(i|
0000cce0  63 6f 6e 25 2d 32 29 2f  33 0d 08 89 05 cd 0d 08  |con%-2)/3.......|
0000ccf0  8a 2a f2 66 65 28 63 6f  6c 70 61 6e 65 25 2c 65  |.*.fe(colpane%,e|
0000cd00  64 69 74 63 6f 6c 25 2a  33 2b 31 2c 31 3c 3c 32  |ditcol%*3+1,1<<2|
0000cd10  31 2c 31 3c 3c 32 31 29  0d 08 8b 25 24 63 6e 61  |1,1<<21)...%$cna|
0000cd20  6d 65 25 3d 24 28 6e 61  6d 65 74 61 62 6c 65 25  |me%=$(nametable%|
0000cd30  2b 65 64 69 74 63 6f 6c  25 2a 31 33 29 0d 08 8c  |+editcol%*13)...|
0000cd40  19 f2 66 65 28 63 6f 6c  63 72 65 61 74 65 25 2c  |..fe(colcreate%,|
0000cd50  33 2c 30 2c 30 29 0d 08  8d 1e f2 6f 61 28 63 6f  |3,0,0).....oa(co|
0000cd60  6c 63 72 65 61 74 65 25  2c 33 2c a9 24 63 6e 61  |lcreate%,3,.$cna|
0000cd70  6d 65 25 29 0d 08 8e 0e  c9 20 63 6f 6c 70 69 63  |me%)..... colpic|
0000cd80  6b 25 0d 08 8f 14 21 62  6c 6f 63 6b 25 3d 63 6f  |k%....!block%=co|
0000cd90  6c 70 69 63 6b 25 0d 08  90 17 c8 99 26 30 30 30  |lpick%......&000|
0000cda0  34 30 30 43 42 2c 2c 62  6c 6f 63 6b 25 0d 08 91  |400CB,,block%...|
0000cdb0  1d 6f 72 78 25 3d 28 62  6c 6f 63 6b 25 21 34 2d  |.orx%=(block%!4-|
0000cdc0  62 6c 6f 63 6b 25 21 32  30 29 0d 08 92 1e 6f 72  |block%!20)....or|
0000cdd0  79 25 3d 28 62 6c 6f 63  6b 25 21 31 36 2d 62 6c  |y%=(block%!16-bl|
0000cde0  6f 63 6b 25 21 32 34 29  0d 08 93 15 77 78 25 3d  |ock%!24)....wx%=|
0000cdf0  28 6d 78 25 2d 6f 72 78  25 2d 34 30 29 0d 08 94  |(mx%-orx%-40)...|
0000ce00  16 77 79 25 3d 2d 28 6d  79 25 2d 6f 72 79 25 2b  |.wy%=-(my%-ory%+|
0000ce10  34 30 29 0d 08 95 0e c8  8e 20 69 63 6f 6e 25 20  |40)...... icon% |
0000ce20  ca 0d 08 96 08 c9 20 31  37 0d 08 97 15 72 6f 77  |...... 17....row|
0000ce30  25 3d 77 79 25 2f 63 6f  6c 73 69 7a 65 25 0d 08  |%=wy%/colsize%..|
0000ce40  98 18 63 6f 6c 75 6d 6e  25 3d 77 78 25 2f 63 6f  |..column%=wx%/co|
0000ce50  6c 73 69 7a 65 25 0d 08  99 18 63 6f 6c 25 3d 72  |lsize%....col%=r|
0000ce60  6f 77 25 2a 31 36 2b 63  6f 6c 75 6d 6e 25 0d 08  |ow%*16+column%..|
0000ce70  9a 14 e7 20 65 64 69 74  63 6f 6c 25 3c 3e 2d 32  |... editcol%<>-2|
0000ce80  20 8c 0d 08 9b 33 e7 20  72 6f 77 25 3e 2d 31 20  | ....3. row%>-1 |
0000ce90  80 20 72 6f 77 25 3c 31  36 20 80 20 63 6f 6c 75  |. row%<16 . colu|
0000cea0  6d 6e 25 3e 2d 31 20 80  20 63 6f 6c 75 6d 6e 25  |mn%>-1 . column%|
0000ceb0  3c 31 36 20 8c 0d 08 9c  10 72 25 3d 63 6f 6c 25  |<16 .....r%=col%|
0000cec0  20 80 20 31 35 0d 08 9d  22 67 25 3d 28 28 63 6f  | . 15..."g%=((co|
0000ced0  6c 25 20 80 20 34 38 29  3e 3e 32 29 20 84 20 63  |l% . 48)>>2) . c|
0000cee0  6f 6c 25 20 80 20 33 0d  08 9e 21 62 25 3d 28 63  |ol% . 3...!b%=(c|
0000cef0  6f 6c 25 20 80 20 31 39  32 29 3e 3e 34 20 84 20  |ol% . 192)>>4 . |
0000cf00  63 6f 6c 25 20 80 20 33  0d 08 9f 22 72 67 62 25  |col% . 3..."rgb%|
0000cf10  3d 28 62 25 3c 3c 32 34  29 84 28 67 25 3c 3c 31  |=(b%<<24).(g%<<1|
0000cf20  36 29 84 28 72 25 3c 3c  38 29 0d 08 a0 19 72 67  |6).(r%<<8)....rg|
0000cf30  62 25 3d 72 67 62 25 20  84 20 28 72 67 62 25 3c  |b%=rgb% . (rgb%<|
0000cf40  3c 34 29 0d 08 a1 1f 70  61 6c 74 61 62 6c 65 25  |<4)....paltable%|
0000cf50  21 28 65 64 69 74 63 6f  6c 25 2a 34 29 3d 72 67  |!(editcol%*4)=rg|
0000cf60  62 25 0d 08 a2 41 c8 99  20 26 30 30 30 34 30 30  |b%...A.. &000400|
0000cf70  44 31 2c 63 6f 6c 70 61  6e 65 25 2c 30 2c 2d 32  |D1,colpane%,0,-2|
0000cf80  30 2d 37 36 2a 65 64 69  74 63 6f 6c 25 2d 37 36  |0-76*editcol%-76|
0000cf90  2c 39 30 2c 2d 32 30 2d  37 36 2a 65 64 69 74 63  |,90,-20-76*editc|
0000cfa0  6f 6c 25 0d 08 a3 16 21  62 6c 6f 63 6b 25 3d 63  |ol%....!block%=c|
0000cfb0  6f 6c 63 68 6f 6f 73 65  25 0d 08 a4 18 c8 99 20  |olchoose%...... |
0000cfc0  26 30 30 30 34 30 30 43  42 2c 2c 62 6c 6f 63 6b  |&000400CB,,block|
0000cfd0  25 0d 08 a5 1b e7 20 28  28 62 6c 6f 63 6b 25 3f  |%..... ((block%?|
0000cfe0  33 34 29 20 80 20 31 29  3d 31 20 8c 0d 08 a6 4a  |34) . 1)=1 ....J|
0000cff0  c8 99 20 26 30 30 30 34  30 30 44 31 2c 63 6f 6c  |.. &000400D1,col|
0000d000  63 68 6f 6f 73 65 25 2c  30 2c 2d 32 30 2d 37 36  |choose%,0,-20-76|
0000d010  2a 65 64 69 74 63 6f 6c  25 2d 37 36 2a 33 2c 39  |*editcol%-76*3,9|
0000d020  30 2c 2d 32 30 2d 37 36  2a 65 64 69 74 63 6f 6c  |0,-20-76*editcol|
0000d030  25 2d 37 36 2a 32 0d 08  a7 07 f2 78 63 0d 08 a8  |%-76*2.....xc...|
0000d040  18 c8 99 20 26 30 30 30  34 30 30 43 35 2c 2c 62  |... &000400C5,,b|
0000d050  6c 6f 63 6b 25 0d 08 a9  05 cd 0d 08 aa 05 cd 0d  |lock%...........|
0000d060  08 ab 05 cc 0d 08 ac 27  f2 77 64 28 22 50 6c 65  |.......'.wd("Ple|
0000d070  61 73 65 20 73 65 6c 65  63 74 20 61 20 63 6f 6c  |ase select a col|
0000d080  6f 75 72 20 66 69 72 73  74 22 29 0d 08 ad 05 cd  |our first").....|
0000d090  0d 08 ae 2c c9 20 31 2c  32 2c 33 2c 34 2c 35 2c  |...,. 1,2,3,4,5,|
0000d0a0  36 2c 37 2c 38 2c 39 2c  31 30 2c 31 31 2c 31 32  |6,7,8,9,10,11,12|
0000d0b0  2c 31 33 2c 31 34 2c 31  35 2c 31 36 0d 08 af 14  |,13,14,15,16....|
0000d0c0  e7 20 65 64 69 74 63 6f  6c 25 3c 3e 2d 32 20 8c  |. editcol%<>-2 .|
0000d0d0  0d 08 b0 0e c8 8e 20 69  63 6f 6e 25 20 ca 0d 08  |...... icon% ...|
0000d0e0  b1 17 c9 20 31 3a 20 72  67 62 25 3d 26 46 46 46  |... 1: rgb%=&FFF|
0000d0f0  46 46 46 30 30 0d 08 b2  17 c9 20 32 3a 20 72 67  |FFF00..... 2: rg|
0000d100  62 25 3d 26 44 44 44 44  44 44 30 30 0d 08 b3 17  |b%=&DDDDDD00....|
0000d110  c9 20 33 3a 20 72 67 62  25 3d 26 42 42 42 42 42  |. 3: rgb%=&BBBBB|
0000d120  42 30 30 0d 08 b4 17 c9  20 34 3a 20 72 67 62 25  |B00..... 4: rgb%|
0000d130  3d 26 39 39 39 39 39 39  30 30 0d 08 b5 17 c9 20  |=&99999900..... |
0000d140  35 3a 20 72 67 62 25 3d  26 37 37 37 37 37 37 30  |5: rgb%=&7777770|
0000d150  30 0d 08 b6 17 c9 20 36  3a 20 72 67 62 25 3d 26  |0..... 6: rgb%=&|
0000d160  35 35 35 35 35 35 30 30  0d 08 b7 17 c9 20 37 3a  |55555500..... 7:|
0000d170  20 72 67 62 25 3d 26 33  33 33 33 33 33 30 30 0d  | rgb%=&33333300.|
0000d180  08 b8 17 c9 20 38 3a 20  72 67 62 25 3d 26 30 30  |.... 8: rgb%=&00|
0000d190  30 30 30 30 30 30 0d 08  b9 17 c9 20 39 3a 20 72  |000000..... 9: r|
0000d1a0  67 62 25 3d 26 39 39 34  34 30 30 30 30 0d 08 ba  |gb%=&99440000...|
0000d1b0  17 c9 20 31 30 3a 72 67  62 25 3d 26 30 30 45 45  |.. 10:rgb%=&00EE|
0000d1c0  45 45 30 30 0d 08 bb 17  c9 20 31 31 3a 72 67 62  |EE00..... 11:rgb|
0000d1d0  25 3d 26 30 30 43 43 30  30 30 30 0d 08 bc 17 c9  |%=&00CC0000.....|
0000d1e0  20 31 32 3a 72 67 62 25  3d 26 30 30 30 30 44 44  | 12:rgb%=&0000DD|
0000d1f0  30 30 0d 08 bd 17 c9 20  31 33 3a 72 67 62 25 3d  |00..... 13:rgb%=|
0000d200  26 42 42 45 45 45 45 30  30 0d 08 be 17 c9 20 31  |&BBEEEE00..... 1|
0000d210  34 3a 72 67 62 25 3d 26  30 30 38 38 35 35 30 30  |4:rgb%=&00885500|
0000d220  0d 08 bf 17 c9 20 31 35  3a 72 67 62 25 3d 26 30  |..... 15:rgb%=&0|
0000d230  30 42 42 46 46 30 30 0d  08 c0 17 c9 20 31 36 3a  |0BBFF00..... 16:|
0000d240  72 67 62 25 3d 26 46 46  42 42 30 30 30 30 0d 08  |rgb%=&FFBB0000..|
0000d250  c1 05 cb 0d 08 c2 1f 70  61 6c 74 61 62 6c 65 25  |.......paltable%|
0000d260  21 28 65 64 69 74 63 6f  6c 25 2a 34 29 3d 72 67  |!(editcol%*4)=rg|
0000d270  62 25 0d 08 c3 41 c8 99  20 26 30 30 30 34 30 30  |b%...A.. &000400|
0000d280  44 31 2c 63 6f 6c 70 61  6e 65 25 2c 30 2c 2d 32  |D1,colpane%,0,-2|
0000d290  30 2d 37 36 2a 65 64 69  74 63 6f 6c 25 2d 37 36  |0-76*editcol%-76|
0000d2a0  2c 39 30 2c 2d 32 30 2d  37 36 2a 65 64 69 74 63  |,90,-20-76*editc|
0000d2b0  6f 6c 25 0d 08 c4 16 21  62 6c 6f 63 6b 25 3d 63  |ol%....!block%=c|
0000d2c0  6f 6c 63 68 6f 6f 73 65  25 0d 08 c5 18 c8 99 20  |olchoose%...... |
0000d2d0  26 30 30 30 34 30 30 43  42 2c 2c 62 6c 6f 63 6b  |&000400CB,,block|
0000d2e0  25 0d 08 c6 1b e7 20 28  28 62 6c 6f 63 6b 25 3f  |%..... ((block%?|
0000d2f0  33 34 29 20 80 20 31 29  3d 31 20 8c 0d 08 c7 4a  |34) . 1)=1 ....J|
0000d300  c8 99 20 26 30 30 30 34  30 30 44 31 2c 63 6f 6c  |.. &000400D1,col|
0000d310  63 68 6f 6f 73 65 25 2c  30 2c 2d 32 30 2d 37 36  |choose%,0,-20-76|
0000d320  2a 65 64 69 74 63 6f 6c  25 2d 33 2a 37 36 2c 39  |*editcol%-3*76,9|
0000d330  30 2c 2d 32 30 2d 37 36  2a 65 64 69 74 63 6f 6c  |0,-20-76*editcol|
0000d340  25 2d 32 2a 37 36 0d 08  c8 07 f2 78 63 0d 08 c9  |%-2*76.....xc...|
0000d350  18 c8 99 20 26 30 30 30  34 30 30 43 35 2c 2c 62  |... &000400C5,,b|
0000d360  6c 6f 63 6b 25 0d 08 ca  05 cd 0d 08 cb 05 cc 0d  |lock%...........|
0000d370  08 cc 27 f2 77 64 28 22  50 6c 65 61 73 65 20 73  |..'.wd("Please s|
0000d380  65 6c 65 63 74 20 61 20  63 6f 6c 6f 75 72 20 66  |elect a colour f|
0000d390  69 72 73 74 22 29 0d 08  cd 05 cd 0d 08 ce 08 c9  |irst")..........|
0000d3a0  20 31 38 0d 08 cf 1b e7  20 63 6f 6c 70 69 63 6b  | 18..... colpick|
0000d3b0  25 3d 73 6d 61 6c 6c 70  69 63 6b 25 20 8c 0d 08  |%=smallpick% ...|
0000d3c0  d0 14 21 62 6c 6f 63 6b  25 3d 63 6f 6c 70 69 63  |..!block%=colpic|
0000d3d0  6b 25 0d 08 d1 18 c8 99  20 26 30 30 30 34 30 30  |k%...... &000400|
0000d3e0  43 36 2c 2c 62 6c 6f 63  6b 25 0d 08 d2 17 63 6f  |C6,,block%....co|
0000d3f0  6c 70 69 63 6b 25 3d 6c  61 72 67 65 70 69 63 6b  |lpick%=largepick|
0000d400  25 0d 08 d3 0f 63 6f 6c  73 69 7a 65 25 3d 34 30  |%....colsize%=40|
0000d410  0d 08 d4 11 f2 6e 64 28  63 6f 6c 70 69 63 6b 25  |.....nd(colpick%|
0000d420  29 0d 08 d5 05 cc 0d 08  d6 14 21 62 6c 6f 63 6b  |).........!block|
0000d430  25 3d 63 6f 6c 70 69 63  6b 25 0d 08 d7 18 c8 99  |%=colpick%......|
0000d440  20 26 30 30 30 34 30 30  43 36 2c 2c 62 6c 6f 63  | &000400C6,,bloc|
0000d450  6b 25 0d 08 d8 17 63 6f  6c 70 69 63 6b 25 3d 73  |k%....colpick%=s|
0000d460  6d 61 6c 6c 70 69 63 6b  25 0d 08 d9 0f 63 6f 6c  |mallpick%....col|
0000d470  73 69 7a 65 25 3d 32 30  0d 08 da 11 f2 6e 64 28  |size%=20.....nd(|
0000d480  63 6f 6c 70 69 63 6b 25  29 0d 08 db 05 cd 0d 08  |colpick%).......|
0000d490  dc 05 cb 0d 08 dd 0b c9  20 6d 61 69 6e 25 0d 08  |........ main%..|
0000d4a0  de 0e c8 8e 20 69 63 6f  6e 25 20 ca 0d 08 df 07  |.... icon% .....|
0000d4b0  c9 20 30 0d 08 e0 0a f2  72 65 28 30 29 0d 08 e1  |. 0.....re(0)...|
0000d4c0  07 f2 6d 62 0d 08 e2 1c  e7 20 62 75 74 74 6f 6e  |..mb..... button|
0000d4d0  25 3d 34 20 8c 20 f2 7a  61 28 6d 61 69 6e 25 29  |%=4 . .za(main%)|
0000d4e0  0d 08 e3 08 c9 20 32 33  0d 08 e4 07 f2 78 64 0d  |..... 23.....xd.|
0000d4f0  08 e5 21 f2 69 63 28 6d  61 69 6e 25 2c 32 30 2c  |..!.ic(main%,20,|
0000d500  39 39 39 2c 30 2c 62 75  74 74 6f 6e 25 2c 31 29  |999,0,button%,1)|
0000d510  0d 08 e6 04 0d 08 e7 2f  24 63 6f 6e 76 5f 72 6f  |......./$conv_ro|
0000d520  77 73 25 3d a4 71 28 bb  24 61 6e 73 5f 63 6f 6e  |ws%=.q(.$ans_con|
0000d530  76 5f 72 6f 77 73 25 2c  72 6f 77 5f 68 65 69 67  |v_rows%,row_heig|
0000d540  68 74 29 0d 08 e8 15 f2  66 65 28 6d 61 69 6e 25  |ht).....fe(main%|
0000d550  2c 31 39 2c 30 2c 30 29  0d 08 e9 30 24 63 6f 6e  |,19,0,0)...0$con|
0000d560  76 5f 73 74 69 74 63 68  65 73 25 3d a4 71 28 73  |v_stitches%=.q(s|
0000d570  70 78 25 2a bb 24 63 6f  6e 76 5f 72 6f 77 73 25  |px%*.$conv_rows%|
0000d580  2c 31 2f 73 70 79 25 29  0d 08 ea 15 f2 66 65 28  |,1/spy%).....fe(|
0000d590  6d 61 69 6e 25 2c 32 31  2c 30 2c 30 29 0d 08 eb  |main%,21,0,0)...|
0000d5a0  37 24 61 6e 73 5f 63 6f  6e 76 5f 73 74 69 74 63  |7$ans_conv_stitc|
0000d5b0  68 65 73 25 3d a4 73 28  63 6f 6e 76 5f 73 74 69  |hes%=.s(conv_sti|
0000d5c0  74 63 68 65 73 25 2c 73  74 69 74 63 68 5f 77 69  |tches%,stitch_wi|
0000d5d0  64 74 68 29 0d 08 ec 15  f2 66 65 28 6d 61 69 6e  |dth).....fe(main|
0000d5e0  25 2c 32 32 2c 30 2c 30  29 0d 08 ed 17 e7 20 bb  |%,22,0,0)..... .|
0000d5f0  24 63 6f 6e 76 5f 72 6f  77 73 25 3c 3e 30 20 8c  |$conv_rows%<>0 .|
0000d600  0d 08 ee 0a f2 63 63 28  30 29 0d 08 ef 05 cc 0d  |.....cc(0)......|
0000d610  08 f0 0a f2 63 63 28 31  29 0d 08 f1 05 cd 0d 08  |....cc(1).......|
0000d620  f2 08 c9 20 32 34 0d 08  f3 07 f2 78 64 0d 08 f4  |... 24.....xd...|
0000d630  22 f2 69 63 28 6d 61 69  6e 25 2c 32 30 2c 39 39  |".ic(main%,20,99|
0000d640  39 2c 30 2c 62 75 74 74  6f 6e 25 2c 2d 31 29 0d  |9,0,button%,-1).|
0000d650  08 f5 2f 24 63 6f 6e 76  5f 72 6f 77 73 25 3d a4  |../$conv_rows%=.|
0000d660  71 28 bb 24 61 6e 73 5f  63 6f 6e 76 5f 72 6f 77  |q(.$ans_conv_row|
0000d670  73 25 2c 72 6f 77 5f 68  65 69 67 68 74 29 0d 08  |s%,row_height)..|
0000d680  f6 15 f2 66 65 28 6d 61  69 6e 25 2c 31 39 2c 30  |...fe(main%,19,0|
0000d690  2c 30 29 0d 08 f7 30 24  63 6f 6e 76 5f 73 74 69  |,0)...0$conv_sti|
0000d6a0  74 63 68 65 73 25 3d a4  71 28 73 70 78 25 2a bb  |tches%=.q(spx%*.|
0000d6b0  24 63 6f 6e 76 5f 72 6f  77 73 25 2c 31 2f 73 70  |$conv_rows%,1/sp|
0000d6c0  79 25 29 0d 08 f8 15 f2  66 65 28 6d 61 69 6e 25  |y%).....fe(main%|
0000d6d0  2c 32 31 2c 30 2c 30 29  0d 08 f9 37 24 61 6e 73  |,21,0,0)...7$ans|
0000d6e0  5f 63 6f 6e 76 5f 73 74  69 74 63 68 65 73 25 3d  |_conv_stitches%=|
0000d6f0  a4 73 28 63 6f 6e 76 5f  73 74 69 74 63 68 65 73  |.s(conv_stitches|
0000d700  25 2c 73 74 69 74 63 68  5f 77 69 64 74 68 29 0d  |%,stitch_width).|
0000d710  08 fa 15 f2 66 65 28 6d  61 69 6e 25 2c 32 32 2c  |....fe(main%,22,|
0000d720  30 2c 30 29 0d 08 fb 17  e7 20 bb 24 63 6f 6e 76  |0,0)..... .$conv|
0000d730  5f 72 6f 77 73 25 3c 3e  30 20 8c 0d 08 fc 0a f2  |_rows%<>0 ......|
0000d740  63 63 28 30 29 0d 08 fd  0a f2 72 65 28 36 29 0d  |cc(0).....re(6).|
0000d750  08 fe 05 cc 0d 08 ff 0a  f2 63 63 28 31 29 0d 09  |.........cc(1)..|
0000d760  00 0a f2 72 65 28 32 29  0d 09 01 05 cd 0d 09 02  |...re(2)........|
0000d770  08 c9 20 33 37 0d 09 03  14 e7 20 a4 6c 28 6d 61  |.. 37..... .l(ma|
0000d780  69 6e 25 2c 33 37 29 20  8c 0d 09 04 0c 7a 65 72  |in%,37) .....zer|
0000d790  6f 25 3d a4 65 0d 09 05  0f e7 20 7a 65 72 6f 25  |o%=.e..... zero%|
0000d7a0  3d a3 20 8c 0d 09 06 1d  f2 66 65 28 6d 61 69 6e  |=. ......fe(main|
0000d7b0  25 2c 33 37 2c 30 3c 3c  32 31 2c 31 3c 3c 32 31  |%,37,0<<21,1<<21|
0000d7c0  29 0d 09 07 1d f2 66 65  28 6d 61 69 6e 25 2c 34  |).....fe(main%,4|
0000d7d0  2c 33 3c 3c 32 34 2c 31  35 3c 3c 32 34 29 0d 09  |,3<<24,15<<24)..|
0000d7e0  08 13 e3 20 69 63 6f 6e  25 3d 20 39 20 b8 20 31  |... icon%= 9 . 1|
0000d7f0  30 0d 09 09 21 f2 66 65  28 6d 61 69 6e 25 2c 69  |0...!.fe(main%,i|
0000d800  63 6f 6e 25 2c 31 3c 3c  32 34 2c 31 35 3c 3c 32  |con%,1<<24,15<<2|
0000d810  34 29 0d 09 0a 0b ed 20  69 63 6f 6e 25 0d 09 0b  |4)..... icon%...|
0000d820  41 f2 77 64 28 22 50 6c  65 61 73 65 20 65 6e 74  |A.wd("Please ent|
0000d830  65 72 20 54 65 6e 73 69  6f 6e 20 73 71 75 61 72  |er Tension squar|
0000d840  65 20 6d 65 61 73 75 72  65 6d 65 6e 74 73 20 61  |e measurements a|
0000d850  6e 64 20 74 72 79 20 61  67 61 69 6e 22 29 0d 09  |nd try again")..|
0000d860  0c 25 f2 6f 61 28 6d 61  69 6e 25 2c 31 35 2c a9  |.%.oa(main%,15,.|
0000d870  24 74 65 6e 73 69 6f 6e  5f 73 71 5f 77 69 64 74  |$tension_sq_widt|
0000d880  68 25 29 0d 09 0d 0a f2  72 65 28 35 29 0d 09 0e  |h%).....re(5)...|
0000d890  0a f2 63 63 28 31 29 0d  09 0f 05 cc 0d 09 10 1a  |..cc(1).........|
0000d8a0  f2 6f 61 28 6d 61 69 6e  25 2c 32 39 2c a9 24 67  |.oa(main%,29,.$g|
0000d8b0  72 6f 77 73 25 29 0d 09  11 33 24 67 68 65 69 67  |rows%)...3$gheig|
0000d8c0  68 74 25 3d c0 c3 28 72  6f 77 5f 68 65 69 67 68  |ht%=..(row_heigh|
0000d8d0  74 29 2c 35 29 20 3a 20  f2 66 65 28 6d 61 69 6e  |t),5) : .fe(main|
0000d8e0  25 2c 33 31 2c 30 2c 30  29 0d 09 12 34 24 67 77  |%,31,0,0)...4$gw|
0000d8f0  69 64 74 68 25 3d c0 c3  28 73 74 69 74 63 68 5f  |idth%=..(stitch_|
0000d900  77 69 64 74 68 29 2c 35  29 20 3a 20 f2 66 65 28  |width),5) : .fe(|
0000d910  6d 61 69 6e 25 2c 33 32  2c 30 2c 30 29 0d 09 13  |main%,32,0,0)...|
0000d920  0a f2 65 64 28 35 29 0d  09 14 13 e7 20 bb 24 67  |..ed(5)..... .$g|
0000d930  72 6f 77 73 25 3c 3e 30  20 8c 0d 09 15 27 24 63  |rows%<>0 ....'$c|
0000d940  6f 6e 76 5f 72 6f 77 73  25 3d a4 71 28 bb 24 67  |onv_rows%=.q(.$g|
0000d950  72 6f 77 73 25 2c 72 6f  77 5f 68 65 69 67 68 74  |rows%,row_height|
0000d960  29 0d 09 16 15 f2 66 65  28 6d 61 69 6e 25 2c 31  |).....fe(main%,1|
0000d970  39 2c 30 2c 30 29 0d 09  17 05 cd 0d 09 18 17 e7  |9,0,0)..........|
0000d980  20 bb 24 67 73 74 69 74  63 68 65 73 25 3c 3e 30  | .$gstitches%<>0|
0000d990  20 8c 0d 09 19 31 24 63  6f 6e 76 5f 73 74 69 74  | ....1$conv_stit|
0000d9a0  63 68 65 73 25 3d a4 71  28 bb 24 67 73 74 69 74  |ches%=.q(.$gstit|
0000d9b0  63 68 65 73 25 2c 73 74  69 74 63 68 5f 77 69 64  |ches%,stitch_wid|
0000d9c0  74 68 29 0d 09 1a 15 f2  66 65 28 6d 61 69 6e 25  |th).....fe(main%|
0000d9d0  2c 32 31 2c 30 2c 30 29  0d 09 1b 05 cd 0d 09 1c  |,21,0,0)........|
0000d9e0  05 cd 0d 09 1d 10 67 72  69 64 66 69 67 73 25 3d  |......gridfigs%=|
0000d9f0  a4 63 0d 09 1e 13 e7 20  67 72 69 64 66 69 67 73  |.c..... gridfigs|
0000da00  25 3d a3 20 8c 0d 09 1f  0a f2 72 65 28 34 29 0d  |%=. ......re(4).|
0000da10  09 20 0a f2 63 63 28 31  29 0d 09 21 05 cc 0d 09  |. ..cc(1)..!....|
0000da20  22 0a f2 72 65 28 36 29  0d 09 23 0a f2 63 63 28  |"..re(6)..#..cc(|
0000da30  30 29 0d 09 24 05 cd 0d  09 25 05 cc 0d 09 26 1a  |0)..$....%....&.|
0000da40  f2 6f 61 28 6d 61 69 6e  25 2c 32 39 2c a9 24 67  |.oa(main%,29,.$g|
0000da50  72 6f 77 73 25 29 0d 09  27 0a f2 65 64 28 34 29  |rows%)..'..ed(4)|
0000da60  0d 09 28 28 24 63 6f 6e  76 5f 72 6f 77 73 25 3d  |..(($conv_rows%=|
0000da70  22 30 2e 30 22 3a 20 f2  66 65 28 6d 61 69 6e 25  |"0.0": .fe(main%|
0000da80  2c 31 39 2c 30 2c 30 29  0d 09 29 2c 24 63 6f 6e  |,19,0,0)..),$con|
0000da90  76 5f 73 74 69 74 63 68  65 73 25 3d 22 30 2e 30  |v_stitches%="0.0|
0000daa0  22 3a 20 f2 66 65 28 6d  61 69 6e 25 2c 32 31 2c  |": .fe(main%,21,|
0000dab0  30 2c 30 29 0d 09 2a 05  cd 0d 09 2b 10 67 72 69  |0,0)..*....+.gri|
0000dac0  64 66 69 67 73 25 3d a4  63 0d 09 2c 13 e7 20 67  |dfigs%=.c..,.. g|
0000dad0  72 69 64 66 69 67 73 25  3d a3 20 8c 0d 09 2d 0a  |ridfigs%=. ...-.|
0000dae0  f2 72 65 28 34 29 0d 09  2e 0a f2 63 63 28 31 29  |.re(4).....cc(1)|
0000daf0  0d 09 2f 05 cc 0d 09 30  0a f2 72 65 28 36 29 0d  |../....0..re(6).|
0000db00  09 31 0a f2 63 63 28 30  29 0d 09 32 05 cd 0d 09  |.1..cc(0)..2....|
0000db10  33 08 c9 20 34 30 0d 09  34 07 f2 78 64 0d 09 35  |3.. 40..4..xd..5|
0000db20  22 f2 69 63 28 6d 61 69  6e 25 2c 32 32 2c 39 39  |".ic(main%,22,99|
0000db30  39 2c 30 2c 62 75 74 74  6f 6e 25 2c 2d 31 29 0d  |9,0,button%,-1).|
0000db40  09 36 04 0d 09 37 39 24  63 6f 6e 76 5f 73 74 69  |.6...79$conv_sti|
0000db50  74 63 68 65 73 25 3d a4  71 28 bb 24 61 6e 73 5f  |tches%=.q(.$ans_|
0000db60  63 6f 6e 76 5f 73 74 69  74 63 68 65 73 25 2c 73  |conv_stitches%,s|
0000db70  74 69 74 63 68 5f 77 69  64 74 68 29 0d 09 38 15  |titch_width)..8.|
0000db80  f2 66 65 28 6d 61 69 6e  25 2c 32 31 2c 30 2c 30  |.fe(main%,21,0,0|
0000db90  29 0d 09 39 30 24 63 6f  6e 76 5f 72 6f 77 73 25  |)..90$conv_rows%|
0000dba0  3d a4 71 28 73 70 79 25  2a bb 24 63 6f 6e 76 5f  |=.q(spy%*.$conv_|
0000dbb0  73 74 69 74 63 68 65 73  25 2c 31 2f 73 70 78 25  |stitches%,1/spx%|
0000dbc0  29 0d 09 3a 15 f2 66 65  28 6d 61 69 6e 25 2c 31  |)..:..fe(main%,1|
0000dbd0  39 2c 30 2c 30 29 0d 09  3b 2d 24 61 6e 73 5f 63  |9,0,0)..;-$ans_c|
0000dbe0  6f 6e 76 5f 72 6f 77 73  25 3d a4 73 28 63 6f 6e  |onv_rows%=.s(con|
0000dbf0  76 5f 72 6f 77 73 25 2c  72 6f 77 5f 68 65 69 67  |v_rows%,row_heig|
0000dc00  68 74 29 0d 09 3c 15 f2  66 65 28 6d 61 69 6e 25  |ht)..<..fe(main%|
0000dc10  2c 32 30 2c 30 2c 30 29  0d 09 3d 1b e7 20 bb 24  |,20,0,0)..=.. .$|
0000dc20  63 6f 6e 76 5f 73 74 69  74 63 68 65 73 25 3c 3e  |conv_stitches%<>|
0000dc30  30 20 8c 0d 09 3e 0a f2  63 63 28 30 29 0d 09 3f  |0 ...>..cc(0)..?|
0000dc40  0a f2 72 65 28 36 29 0d  09 40 05 cc 0d 09 41 0a  |..re(6)..@....A.|
0000dc50  f2 63 63 28 31 29 0d 09  42 0a f2 72 65 28 32 29  |.cc(1)..B..re(2)|
0000dc60  0d 09 43 05 cd 0d 09 44  08 c9 20 34 31 0d 09 45  |..C....D.. 41..E|
0000dc70  07 f2 78 64 0d 09 46 21  f2 69 63 28 6d 61 69 6e  |..xd..F!.ic(main|
0000dc80  25 2c 32 32 2c 39 39 39  2c 30 2c 62 75 74 74 6f  |%,22,999,0,butto|
0000dc90  6e 25 2c 31 29 0d 09 47  39 24 63 6f 6e 76 5f 73  |n%,1)..G9$conv_s|
0000dca0  74 69 74 63 68 65 73 25  3d a4 71 28 bb 24 61 6e  |titches%=.q(.$an|
0000dcb0  73 5f 63 6f 6e 76 5f 73  74 69 74 63 68 65 73 25  |s_conv_stitches%|
0000dcc0  2c 73 74 69 74 63 68 5f  77 69 64 74 68 29 0d 09  |,stitch_width)..|
0000dcd0  48 15 f2 66 65 28 6d 61  69 6e 25 2c 32 31 2c 30  |H..fe(main%,21,0|
0000dce0  2c 30 29 0d 09 49 30 24  63 6f 6e 76 5f 72 6f 77  |,0)..I0$conv_row|
0000dcf0  73 25 3d a4 71 28 73 70  79 25 2a bb 24 63 6f 6e  |s%=.q(spy%*.$con|
0000dd00  76 5f 73 74 69 74 63 68  65 73 25 2c 31 2f 73 70  |v_stitches%,1/sp|
0000dd10  78 25 29 0d 09 4a 15 f2  66 65 28 6d 61 69 6e 25  |x%)..J..fe(main%|
0000dd20  2c 31 39 2c 30 2c 30 29  0d 09 4b 2d 24 61 6e 73  |,19,0,0)..K-$ans|
0000dd30  5f 63 6f 6e 76 5f 72 6f  77 73 25 3d a4 73 28 63  |_conv_rows%=.s(c|
0000dd40  6f 6e 76 5f 72 6f 77 73  25 2c 72 6f 77 5f 68 65  |onv_rows%,row_he|
0000dd50  69 67 68 74 29 0d 09 4c  15 f2 66 65 28 6d 61 69  |ight)..L..fe(mai|
0000dd60  6e 25 2c 32 30 2c 30 2c  30 29 0d 09 4d 1b e7 20  |n%,20,0,0)..M.. |
0000dd70  bb 24 63 6f 6e 76 5f 73  74 69 74 63 68 65 73 25  |.$conv_stitches%|
0000dd80  3c 3e 30 20 8c 0d 09 4e  0a f2 63 63 28 30 29 0d  |<>0 ...N..cc(0).|
0000dd90  09 4f 0a f2 72 65 28 36  29 0d 09 50 05 cc 0d 09  |.O..re(6)..P....|
0000dda0  51 0a f2 63 63 28 31 29  0d 09 52 0a f2 72 65 28  |Q..cc(1)..R..re(|
0000ddb0  32 29 0d 09 53 05 cd 0d  09 54 08 c9 20 34 32 0d  |2)..S....T.. 42.|
0000ddc0  09 55 07 f2 78 64 0d 09  56 21 f2 69 63 28 6d 61  |.U..xd..V!.ic(ma|
0000ddd0  69 6e 25 2c 33 30 2c 39  39 39 2c 30 2c 62 75 74  |in%,30,999,0,but|
0000dde0  74 6f 6e 25 2c 31 29 0d  09 57 14 e7 20 a4 6c 28  |ton%,1)..W.. .l(|
0000ddf0  6d 61 69 6e 25 2c 33 37  29 20 8c 0d 09 58 31 24  |main%,37) ...X1$|
0000de00  63 6f 6e 76 5f 73 74 69  74 63 68 65 73 25 3d a4  |conv_stitches%=.|
0000de10  71 28 bb 24 67 73 74 69  74 63 68 65 73 25 2c 73  |q(.$gstitches%,s|
0000de20  74 69 74 63 68 5f 77 69  64 74 68 29 0d 09 59 15  |titch_width)..Y.|
0000de30  f2 66 65 28 6d 61 69 6e  25 2c 32 31 2c 30 2c 30  |.fe(main%,21,0,0|
0000de40  29 0d 09 5a 05 cd 0d 09  5b 10 67 72 69 64 66 69  |)..Z....[.gridfi|
0000de50  67 73 25 3d a4 63 0d 09  5c 13 e7 20 67 72 69 64  |gs%=.c..\.. grid|
0000de60  66 69 67 73 25 3d a3 20  8c 0d 09 5d 0a f2 63 63  |figs%=. ...]..cc|
0000de70  28 31 29 0d 09 5e 22 e7  20 6d 61 6e 6e 65 72 25  |(1)..^". manner%|
0000de80  3c 3e 32 20 8c 20 f2 72  65 28 34 29 20 8b 20 f2  |<>2 . .re(4) . .|
0000de90  72 65 28 37 29 0d 09 5f  05 cc 0d 09 60 0a f2 63  |re(7).._....`..c|
0000dea0  63 28 30 29 0d 09 61 0a  f2 72 65 28 36 29 0d 09  |c(0)..a..re(6)..|
0000deb0  62 05 cd 0d 09 63 08 c9  20 34 33 0d 09 64 07 f2  |b....c.. 43..d..|
0000dec0  78 64 0d 09 65 22 f2 69  63 28 6d 61 69 6e 25 2c  |xd..e".ic(main%,|
0000ded0  33 30 2c 39 39 39 2c 30  2c 62 75 74 74 6f 6e 25  |30,999,0,button%|
0000dee0  2c 2d 31 29 0d 09 66 14  e7 20 a4 6c 28 6d 61 69  |,-1)..f.. .l(mai|
0000def0  6e 25 2c 33 37 29 20 8c  0d 09 67 31 24 63 6f 6e  |n%,37) ...g1$con|
0000df00  76 5f 73 74 69 74 63 68  65 73 25 3d a4 71 28 bb  |v_stitches%=.q(.|
0000df10  24 67 73 74 69 74 63 68  65 73 25 2c 73 74 69 74  |$gstitches%,stit|
0000df20  63 68 5f 77 69 64 74 68  29 0d 09 68 15 f2 66 65  |ch_width)..h..fe|
0000df30  28 6d 61 69 6e 25 2c 32  31 2c 30 2c 30 29 0d 09  |(main%,21,0,0)..|
0000df40  69 05 cd 0d 09 6a 10 67  72 69 64 66 69 67 73 25  |i....j.gridfigs%|
0000df50  3d a4 63 0d 09 6b 13 e7  20 67 72 69 64 66 69 67  |=.c..k.. gridfig|
0000df60  73 25 3d a3 20 8c 0d 09  6c 0a f2 63 63 28 31 29  |s%=. ...l..cc(1)|
0000df70  0d 09 6d 22 e7 20 6d 61  6e 6e 65 72 25 3c 3e 32  |..m". manner%<>2|
0000df80  20 8c 20 f2 72 65 28 34  29 20 8b 20 f2 72 65 28  | . .re(4) . .re(|
0000df90  37 29 0d 09 6e 05 cc 0d  09 6f 0a f2 63 63 28 30  |7)..n....o..cc(0|
0000dfa0  29 0d 09 70 0a f2 72 65  28 36 29 0d 09 71 05 cd  |)..p..re(6)..q..|
0000dfb0  0d 09 72 08 c9 20 34 34  0d 09 73 07 f2 78 64 0d  |..r.. 44..s..xd.|
0000dfc0  09 74 21 f2 69 63 28 6d  61 69 6e 25 2c 32 39 2c  |.t!.ic(main%,29,|
0000dfd0  39 39 39 2c 30 2c 62 75  74 74 6f 6e 25 2c 31 29  |999,0,button%,1)|
0000dfe0  0d 09 75 14 e7 20 a4 6c  28 6d 61 69 6e 25 2c 33  |..u.. .l(main%,3|
0000dff0  37 29 20 8c 0d 09 76 27  24 63 6f 6e 76 5f 72 6f  |7) ...v'$conv_ro|
0000e000  77 73 25 3d a4 71 28 bb  24 67 72 6f 77 73 25 2c  |ws%=.q(.$grows%,|
0000e010  72 6f 77 5f 68 65 69 67  68 74 29 0d 09 77 15 f2  |row_height)..w..|
0000e020  66 65 28 6d 61 69 6e 25  2c 31 39 2c 30 2c 30 29  |fe(main%,19,0,0)|
0000e030  0d 09 78 05 cd 0d 09 79  10 67 72 69 64 66 69 67  |..x....y.gridfig|
0000e040  73 25 3d a4 63 0d 09 7a  13 e7 20 67 72 69 64 66  |s%=.c..z.. gridf|
0000e050  69 67 73 25 3d a3 20 8c  0d 09 7b 0a f2 63 63 28  |igs%=. ...{..cc(|
0000e060  31 29 0d 09 7c 22 e7 20  6d 61 6e 6e 65 72 25 3c  |1)..|". manner%<|
0000e070  3e 32 20 8c 20 f2 72 65  28 34 29 20 8b 20 f2 72  |>2 . .re(4) . .r|
0000e080  65 28 37 29 0d 09 7d 05  cc 0d 09 7e 0a f2 63 63  |e(7)..}....~..cc|
0000e090  28 30 29 0d 09 7f 0a f2  72 65 28 36 29 0d 09 80  |(0).....re(6)...|
0000e0a0  05 cd 0d 09 81 08 c9 20  34 35 0d 09 82 07 f2 78  |....... 45.....x|
0000e0b0  64 0d 09 83 22 f2 69 63  28 6d 61 69 6e 25 2c 32  |d...".ic(main%,2|
0000e0c0  39 2c 39 39 39 2c 30 2c  62 75 74 74 6f 6e 25 2c  |9,999,0,button%,|
0000e0d0  2d 31 29 0d 09 84 14 e7  20 a4 6c 28 6d 61 69 6e  |-1)..... .l(main|
0000e0e0  25 2c 33 37 29 20 8c 0d  09 85 27 24 63 6f 6e 76  |%,37) ....'$conv|
0000e0f0  5f 72 6f 77 73 25 3d a4  71 28 bb 24 67 72 6f 77  |_rows%=.q(.$grow|
0000e100  73 25 2c 72 6f 77 5f 68  65 69 67 68 74 29 0d 09  |s%,row_height)..|
0000e110  86 15 f2 66 65 28 6d 61  69 6e 25 2c 31 39 2c 30  |...fe(main%,19,0|
0000e120  2c 30 29 0d 09 87 05 cd  0d 09 88 10 67 72 69 64  |,0).........grid|
0000e130  66 69 67 73 25 3d a4 63  0d 09 89 13 e7 20 67 72  |figs%=.c..... gr|
0000e140  69 64 66 69 67 73 25 3d  a3 20 8c 0d 09 8a 0a f2  |idfigs%=. ......|
0000e150  63 63 28 31 29 0d 09 8b  22 e7 20 6d 61 6e 6e 65  |cc(1)...". manne|
0000e160  72 25 3c 3e 32 20 8c 20  f2 72 65 28 34 29 20 8b  |r%<>2 . .re(4) .|
0000e170  20 f2 72 65 28 37 29 0d  09 8c 05 cc 0d 09 8d 0a  | .re(7).........|
0000e180  f2 63 63 28 30 29 0d 09  8e 0a f2 72 65 28 36 29  |.cc(0).....re(6)|
0000e190  0d 09 8f 05 cd 0d 09 90  08 c9 20 35 32 0d 09 91  |.......... 52...|
0000e1a0  11 e7 20 68 65 6c 70 6f  6e 25 3d a3 20 8c 0d 09  |.. helpon%=. ...|
0000e1b0  92 3d c8 99 26 30 30 30  34 31 35 30 30 2c 2c 22  |.=..&00041500,,"|
0000e1c0  3c 45 61 73 79 4b 6e 69  74 24 44 69 72 3e 2e 52  |<EasyKnit$Dir>.R|
0000e1d0  65 73 6f 75 72 63 65 73  2e 4d 65 73 73 61 67 65  |esources.Message|
0000e1e0  73 22 20 b8 20 2c 2c 6c  65 6e 25 0d 09 93 14 69  |s" . ,,len%....i|
0000e1f0  6e 66 6f 62 75 66 66 25  3d a4 62 28 31 36 29 0d  |nfobuff%=.b(16).|
0000e200  09 94 16 68 65 6c 70 62  75 66 66 25 3d a4 62 28  |...helpbuff%=.b(|
0000e210  6c 65 6e 25 29 0d 09 95  47 c8 99 26 30 30 30 34  |len%)...G..&0004|
0000e220  31 35 30 31 2c 69 6e 66  6f 62 75 66 66 25 2c 22  |1501,infobuff%,"|
0000e230  3c 45 61 73 79 4b 6e 69  74 24 44 69 72 3e 2e 52  |<EasyKnit$Dir>.R|
0000e240  65 73 6f 75 72 63 65 73  2e 4d 65 73 73 61 67 65  |esources.Message|
0000e250  73 22 2c 68 65 6c 70 62  75 66 66 25 0d 09 96 0d  |s",helpbuff%....|
0000e260  68 65 6c 70 6f 6e 25 3d  b9 0d 09 97 08 78 25 3d  |helpon%=.....x%=|
0000e270  30 0d 09 98 25 c8 99 20  26 30 30 30 34 32 36 38  |0...%.. &0004268|
0000e280  31 2c 78 25 2c 62 6c 6f  63 6b 25 2c 34 35 30 30  |1,x%,block%,4500|
0000e290  20 b8 20 2c 79 25 0d 09  99 08 78 25 3d 30 0d 09  | . ,y%....x%=0..|
0000e2a0  9a 05 f5 0d 09 9b 1b 74  61 73 6b 25 3d 21 28 62  |.......task%=!(b|
0000e2b0  6c 6f 63 6b 25 2b 34 2b  78 25 2a 31 36 29 0d 09  |lock%+4+x%*16)..|
0000e2c0  9c 09 72 25 3d 2d 31 0d  09 9d 19 f5 3a 72 25 2b  |..r%=-1.....:r%+|
0000e2d0  3d 31 3a fd 20 74 61 73  6b 25 3f 72 25 3c 33 32  |=1:. task%?r%<32|
0000e2e0  0d 09 9e 0f 74 61 73 6b  25 3f 72 25 3d 31 33 0d  |....task%?r%=13.|
0000e2f0  09 9f 09 78 25 2b 3d 31  0d 09 a0 29 fd 20 28 62  |...x%+=1...). (b|
0000e300  6c 6f 63 6b 25 2b 34 2b  78 25 2a 31 36 3e 79 25  |lock%+4+x%*16>y%|
0000e310  29 20 84 20 24 74 61 73  6b 25 3d 22 48 65 6c 70  |) . $task%="Help|
0000e320  22 0d 09 a1 38 e7 20 24  74 61 73 6b 25 3c 3e 22  |"...8. $task%<>"|
0000e330  48 65 6c 70 22 20 8c 20  2a 46 69 6c 65 72 5f 52  |Help" . *Filer_R|
0000e340  75 6e 20 52 65 73 6f 75  72 63 65 73 3a 24 2e 41  |un Resources:$.A|
0000e350  70 70 73 2e 21 48 65 6c  70 0d 09 a2 05 cc 0d 09  |pps.!Help.......|
0000e360  a3 1a c8 99 20 26 30 30  30 34 31 35 30 34 2c 69  |.... &00041504,i|
0000e370  6e 66 6f 62 75 66 66 25  0d 09 a4 1b 69 6e 66 6f  |nfobuff%....info|
0000e380  62 75 66 66 25 3d a4 68  28 69 6e 66 6f 62 75 66  |buff%=.h(infobuf|
0000e390  66 25 29 0d 09 a5 1b 68  65 6c 70 62 75 66 66 25  |f%)....helpbuff%|
0000e3a0  3d a4 68 28 68 65 6c 70  62 75 66 66 25 29 0d 09  |=.h(helpbuff%)..|
0000e3b0  a6 0d 68 65 6c 70 6f 6e  25 3d a3 0d 09 a7 05 cd  |..helpon%=......|
0000e3c0  0d 09 a8 05 cb 0d 09 a9  05 cb 0d 09 aa 05 cd 0d  |................|
0000e3d0  09 ab 05 e1 0d 09 ac 05  3a 0d 09 ad 09 dd 20 f2  |........:..... .|
0000e3e0  75 61 0d 09 ae 24 ea 20  6f 72 78 25 2c 6f 72 79  |ua...$. orx%,ory|
0000e3f0  25 2c 77 78 25 2c 77 79  25 2c 73 74 69 74 63 68  |%,wx%,wy%,stitch|
0000e400  25 2c 72 6f 77 25 0d 09  af 11 21 62 6c 6f 63 6b  |%,row%....!block|
0000e410  25 3d 65 64 69 74 25 0d  09 b0 17 c8 99 26 30 30  |%=edit%......&00|
0000e420  30 34 30 30 43 42 2c 2c  62 6c 6f 63 6b 25 0d 09  |0400CB,,block%..|
0000e430  b1 1d 6f 72 78 25 3d 28  62 6c 6f 63 6b 25 21 34  |..orx%=(block%!4|
0000e440  2d 62 6c 6f 63 6b 25 21  32 30 29 0d 09 b2 1e 6f  |-block%!20)....o|
0000e450  72 79 25 3d 28 62 6c 6f  63 6b 25 21 31 36 2d 62  |ry%=(block%!16-b|
0000e460  6c 6f 63 6b 25 21 32 34  29 0d 09 b3 1c 77 78 25  |lock%!24)....wx%|
0000e470  3d 28 6d 78 25 2d 6f 72  78 25 2d 72 75 6c 65 73  |=(mx%-orx%-rules|
0000e480  69 7a 65 25 29 0d 09 b4  24 77 79 25 3d 28 6d 79  |ize%)...$wy%=(my|
0000e490  25 2d 6f 72 79 25 2d 72  75 6c 65 73 69 7a 65 25  |%-ory%-rulesize%|
0000e4a0  2b 65 64 69 74 68 74 25  29 0d 09 b5 14 73 74 69  |+editht%)....sti|
0000e4b0  74 63 68 25 3d 77 78 25  2f 73 74 77 25 0d 09 b6  |tch%=wx%/stw%...|
0000e4c0  11 72 6f 77 25 3d 77 79  25 2f 72 68 74 25 0d 09  |.row%=wy%/rht%..|
0000e4d0  b7 10 c8 8e 20 6d 61 6e  6e 65 72 25 20 ca 0d 09  |.... manner% ...|
0000e4e0  b8 09 c9 20 30 2c 31 0d  09 b9 11 e7 20 62 75 74  |... 0,1..... but|
0000e4f0  74 6f 6e 25 3d 34 20 8c  0d 09 ba 2c 63 6f 6c 25  |ton%=4 ....,col%|
0000e500  3d 63 6f 6c 74 61 62 6c  65 25 3f 28 72 6f 77 25  |=coltable%?(row%|
0000e510  2a 67 72 69 64 77 69 64  74 68 25 2b 73 74 69 74  |*gridwidth%+stit|
0000e520  63 68 25 29 0d 09 bb 17  e7 20 63 75 72 72 65 6e  |ch%)..... curren|
0000e530  74 63 6f 6c 25 3c 3e 36  34 20 8c 0d 09 bc 14 63  |tcol%<>64 .....c|
0000e540  6f 6c 25 3d 63 75 72 72  65 6e 74 63 6f 6c 25 0d  |ol%=currentcol%.|
0000e550  09 bd 05 cc 0d 09 be 1b  63 6f 6c 25 3d 28 63 6f  |........col%=(co|
0000e560  6c 25 20 80 20 ac 20 36  34 29 20 82 20 36 34 0d  |l% . . 64) . 64.|
0000e570  09 bf 05 cd 0d 09 c0 2c  63 6f 6c 74 61 62 6c 65  |.......,coltable|
0000e580  25 3f 28 72 6f 77 25 2a  67 72 69 64 77 69 64 74  |%?(row%*gridwidt|
0000e590  68 25 2b 73 74 69 74 63  68 25 29 3d 63 6f 6c 25  |h%+stitch%)=col%|
0000e5a0  0d 09 c1 05 cc 0d 09 c2  14 c8 8e 20 63 75 72 72  |........... curr|
0000e5b0  65 6e 74 63 6f 6c 25 20  ca 0d 09 c3 08 c9 20 36  |entcol% ...... 6|
0000e5c0  34 0d 09 c4 21 f2 66 65  28 63 6f 6c 63 68 6f 6f  |4...!.fe(colchoo|
0000e5d0  73 65 25 2c 31 2c 30 3c  3c 32 31 2c 31 3c 3c 32  |se%,1,0<<21,1<<2|
0000e5e0  31 29 0d 09 c5 09 c9 20  31 32 38 0d 09 c6 21 f2  |1)..... 128...!.|
0000e5f0  66 65 28 63 6f 6c 63 68  6f 6f 73 65 25 2c 34 2c  |fe(colchoose%,4,|
0000e600  30 3c 3c 32 31 2c 31 3c  3c 32 31 29 0d 09 c7 05  |0<<21,1<<21)....|
0000e610  7f 0d 09 c8 2f f2 66 65  28 63 6f 6c 63 68 6f 6f  |..../.fe(colchoo|
0000e620  73 65 25 2c 63 75 72 72  65 6e 74 63 6f 6c 25 2a  |se%,currentcol%*|
0000e630  33 2b 37 2c 30 3c 3c 32  31 2c 31 3c 3c 32 31 29  |3+7,0<<21,1<<21)|
0000e640  0d 09 c9 05 cb 0d 09 ca  33 63 75 72 72 65 6e 74  |........3current|
0000e650  63 6f 6c 25 3d 63 6f 6c  74 61 62 6c 65 25 3f 28  |col%=coltable%?(|
0000e660  72 6f 77 25 2a 67 72 69  64 77 69 64 74 68 25 2b  |row%*gridwidth%+|
0000e670  73 74 69 74 63 68 25 29  0d 09 cb 17 e7 20 63 75  |stitch%)..... cu|
0000e680  72 72 65 6e 74 63 6f 6c  25 3d 31 32 38 20 8c 0d  |rrentcol%=128 ..|
0000e690  09 cc 21 f2 66 65 28 63  6f 6c 63 68 6f 6f 73 65  |..!.fe(colchoose|
0000e6a0  25 2c 34 2c 31 3c 3c 32  31 2c 31 3c 3c 32 31 29  |%,4,1<<21,1<<21)|
0000e6b0  0d 09 cd 05 cc 0d 09 ce  2f f2 66 65 28 63 6f 6c  |......../.fe(col|
0000e6c0  63 68 6f 6f 73 65 25 2c  63 75 72 72 65 6e 74 63  |choose%,currentc|
0000e6d0  6f 6c 25 2a 33 2b 37 2c  31 3c 3c 32 31 2c 31 3c  |ol%*3+7,1<<21,1<|
0000e6e0  3c 32 31 29 0d 09 cf 05  cd 0d 09 d0 05 cd 0d 09  |<21)............|
0000e6f0  d1 07 c9 20 32 0d 09 d2  0f e7 20 63 6f 70 79 25  |... 2..... copy%|
0000e700  3d b9 20 8c 0d 09 d3 0e  2a 50 4f 49 4e 54 45 52  |=. .....*POINTER|
0000e710  20 31 0d 09 d4 05 cc 0d  09 d5 11 e7 20 62 75 74  | 1.......... but|
0000e720  74 6f 6e 25 3d 34 20 8c  0d 09 d6 34 63 6f 6c 74  |ton%=4 ....4colt|
0000e730  61 62 6c 65 25 3f 28 72  6f 77 25 2a 67 72 69 64  |able%?(row%*grid|
0000e740  77 69 64 74 68 25 2b 73  74 69 74 63 68 25 29 3d  |width%+stitch%)=|
0000e750  63 75 72 72 65 6e 74 73  79 6d 62 25 0d 09 d7 05  |currentsymb%....|
0000e760  cc 0d 09 d8 19 e7 20 63  75 72 72 65 6e 74 73 79  |...... currentsy|
0000e770  6d 62 25 3c 3e 31 32 38  20 8c 0d 09 d9 3a f2 66  |mb%<>128 ....:.f|
0000e780  65 28 73 79 6d 62 70 69  63 6b 25 2c 63 75 72 72  |e(symbpick%,curr|
0000e790  65 6e 74 73 79 6d 62 25  2d 73 79 6d 62 70 61 67  |entsymb%-symbpag|
0000e7a0  65 25 2a 39 2b 31 32 2c  30 3c 3c 32 31 2c 31 3c  |e%*9+12,0<<21,1<|
0000e7b0  3c 32 31 29 0d 09 da 05  cc 0d 09 db 21 f2 66 65  |<21)........!.fe|
0000e7c0  28 73 79 6d 62 70 69 63  6b 25 2c 31 31 2c 30 3c  |(symbpick%,11,0<|
0000e7d0  3c 32 31 2c 31 3c 3c 32  31 29 0d 09 dc 05 cd 0d  |<21,1<<21)......|
0000e7e0  09 dd 30 6e 65 77 73 79  6d 62 25 3d 63 6f 6c 74  |..0newsymb%=colt|
0000e7f0  61 62 6c 65 25 3f 28 72  6f 77 25 2a 67 72 69 64  |able%?(row%*grid|
0000e800  77 69 64 74 68 25 2b 73  74 69 74 63 68 25 29 0d  |width%+stitch%).|
0000e810  09 de 14 e7 20 6e 65 77  73 79 6d 62 25 3d 31 32  |.... newsymb%=12|
0000e820  38 20 8c 0d 09 df 0e 6e  65 77 73 79 6d 62 25 3d  |8 .....newsymb%=|
0000e830  31 0d 09 e0 11 f2 77 61  28 6e 65 77 73 79 6d 62  |1.....wa(newsymb|
0000e840  25 29 0d 09 e1 05 cc 0d  09 e2 1b 73 79 6d 62 70  |%).........symbp|
0000e850  61 67 65 25 3d 6e 65 77  73 79 6d 62 25 20 81 20  |age%=newsymb% . |
0000e860  31 30 0d 09 e3 20 f2 77  61 28 6e 65 77 73 79 6d  |10... .wa(newsym|
0000e870  62 25 2d 73 79 6d 62 70  61 67 65 25 2a 39 2b 31  |b%-symbpage%*9+1|
0000e880  32 29 0d 09 e4 05 cd 0d  09 e5 15 21 62 6c 6f 63  |2).........!bloc|
0000e890  6b 25 3d 73 79 6d 62 70  69 63 6b 25 0d 09 e6 18  |k%=symbpick%....|
0000e8a0  c8 99 20 26 30 30 30 34  30 30 43 42 2c 2c 62 6c  |.. &000400CB,,bl|
0000e8b0  6f 63 6b 25 0d 09 e7 1a  77 78 25 3d 62 6c 6f 63  |ock%....wx%=bloc|
0000e8c0  6b 25 21 34 2d 62 6c 6f  63 6b 25 21 32 30 0d 09  |k%!4-block%!20..|
0000e8d0  e8 1b 77 79 25 3d 62 6c  6f 63 6b 25 21 31 36 2d  |..wy%=block%!16-|
0000e8e0  62 6c 6f 63 6b 25 21 32  34 0d 09 e9 54 c8 99 20  |block%!24...T.. |
0000e8f0  26 30 30 30 34 30 30 44  31 2c 73 79 6d 62 70 69  |&000400D1,symbpi|
0000e900  63 6b 25 2c 62 6c 6f 63  6b 25 21 34 2d 77 78 25  |ck%,block%!4-wx%|
0000e910  2c 62 6c 6f 63 6b 25 21  31 36 2d 77 79 25 2d 37  |,block%!16-wy%-7|
0000e920  36 2c 62 6c 6f 63 6b 25  21 31 32 2d 77 78 25 2c  |6,block%!12-wx%,|
0000e930  62 6c 6f 63 6b 25 21 31  36 2d 77 79 25 0d 09 ea  |block%!16-wy%...|
0000e940  07 f2 68 62 0d 09 eb 05  cd 0d 09 ec 05 cd 0d 09  |..hb............|
0000e950  ed 05 cb 0d 09 ee 05 e1  0d 09 ef 05 3a 0d 09 f0  |............:...|
0000e960  10 dd 20 f2 77 61 28 69  63 6f 6e 25 29 0d 09 f1  |.. .wa(icon%)...|
0000e970  0e c8 8e 20 69 63 6f 6e  25 20 ca 0d 09 f2 0a c9  |... icon% ......|
0000e980  20 31 2c 31 31 0d 09 f3  1a e7 20 69 63 6f 6e 25  | 1,11..... icon%|
0000e990  3e 31 30 20 8c 20 69 63  6f 6e 25 2d 3d 31 30 0d  |>10 . icon%-=10.|
0000e9a0  09 f4 50 e7 20 63 75 72  72 65 6e 74 73 79 6d 62  |..P. currentsymb|
0000e9b0  25 3c 3e 31 32 38 20 8c  20 f2 66 65 28 73 79 6d  |%<>128 . .fe(sym|
0000e9c0  62 70 69 63 6b 25 2c 63  75 72 72 65 6e 74 73 79  |bpick%,currentsy|
0000e9d0  6d 62 25 2d 73 79 6d 62  70 61 67 65 25 2a 39 2b  |mb%-symbpage%*9+|
0000e9e0  31 32 2c 30 3c 3c 32 31  2c 31 3c 3c 32 31 29 0d  |12,0<<21,1<<21).|
0000e9f0  09 f5 14 63 75 72 72 65  6e 74 73 79 6d 62 25 3d  |...currentsymb%=|
0000ea00  31 32 38 0d 09 f6 21 f2  66 65 28 73 79 6d 62 70  |128...!.fe(symbp|
0000ea10  69 63 6b 25 2c 31 31 2c  31 3c 3c 32 31 2c 31 3c  |ick%,11,1<<21,1<|
0000ea20  3c 32 31 29 0d 09 f7 07  f2 68 62 0d 09 f8 33 c9  |<21).....hb...3.|
0000ea30  20 32 2c 33 2c 34 2c 35  2c 36 2c 37 2c 38 2c 39  | 2,3,4,5,6,7,8,9|
0000ea40  2c 31 30 2c 31 32 2c 31  33 2c 31 34 2c 31 35 2c  |,10,12,13,14,15,|
0000ea50  31 36 2c 31 37 2c 31 38  2c 31 39 2c 32 30 0d 09  |16,17,18,19,20..|
0000ea60  f9 1a e7 20 69 63 6f 6e  25 3e 31 30 20 8c 20 69  |... icon%>10 . i|
0000ea70  63 6f 6e 25 2d 3d 31 30  0d 09 fa 0c 69 63 6f 6e  |con%-=10....icon|
0000ea80  25 2d 3d 32 0d 09 fb 25  e7 20 28 69 63 6f 6e 25  |%-=2...%. (icon%|
0000ea90  2b 73 79 6d 62 70 61 67  65 25 2a 39 29 3c 3d 73  |+symbpage%*9)<=s|
0000eaa0  79 6d 62 6d 61 78 25 20  8c 0d 09 fc 19 e7 20 63  |ymbmax% ...... c|
0000eab0  75 72 72 65 6e 74 73 79  6d 62 25 3c 3e 31 32 38  |urrentsymb%<>128|
0000eac0  20 8c 0d 09 fd 3a f2 66  65 28 73 79 6d 62 70 69  | ....:.fe(symbpi|
0000ead0  63 6b 25 2c 63 75 72 72  65 6e 74 73 79 6d 62 25  |ck%,currentsymb%|
0000eae0  2d 73 79 6d 62 70 61 67  65 25 2a 39 2b 31 32 2c  |-symbpage%*9+12,|
0000eaf0  30 3c 3c 32 31 2c 31 3c  3c 32 31 29 0d 09 fe 05  |0<<21,1<<21)....|
0000eb00  cc 0d 09 ff 21 f2 66 65  28 73 79 6d 62 70 69 63  |....!.fe(symbpic|
0000eb10  6b 25 2c 31 31 2c 30 3c  3c 32 31 2c 31 3c 3c 32  |k%,11,0<<21,1<<2|
0000eb20  31 29 0d 0a 00 05 cd 0d  0a 01 22 63 75 72 72 65  |1)........"curre|
0000eb30  6e 74 73 79 6d 62 25 3d  69 63 6f 6e 25 2b 73 79  |ntsymb%=icon%+sy|
0000eb40  6d 62 70 61 67 65 25 2a  39 0d 0a 02 3a f2 66 65  |mbpage%*9...:.fe|
0000eb50  28 73 79 6d 62 70 69 63  6b 25 2c 63 75 72 72 65  |(symbpick%,curre|
0000eb60  6e 74 73 79 6d 62 25 2d  73 79 6d 62 70 61 67 65  |ntsymb%-symbpage|
0000eb70  25 2a 39 2b 31 32 2c 31  3c 3c 32 31 2c 31 3c 3c  |%*9+12,1<<21,1<<|
0000eb80  32 31 29 0d 0a 03 07 f2  68 62 0d 0a 04 05 cc 0d  |21).....hb......|
0000eb90  0a 05 27 f2 66 65 28 73  79 6d 62 70 69 63 6b 25  |..'.fe(symbpick%|
0000eba0  2c 69 63 6f 6e 25 2b 31  32 2c 30 3c 3c 32 31 2c  |,icon%+12,0<<21,|
0000ebb0  31 3c 3c 32 31 29 0d 0a  06 19 e7 20 63 75 72 72  |1<<21)..... curr|
0000ebc0  65 6e 74 73 79 6d 62 25  3c 3e 31 32 38 20 8c 0d  |entsymb%<>128 ..|
0000ebd0  0a 07 3a f2 66 65 28 73  79 6d 62 70 69 63 6b 25  |..:.fe(symbpick%|
0000ebe0  2c 63 75 72 72 65 6e 74  73 79 6d 62 25 2d 73 79  |,currentsymb%-sy|
0000ebf0  6d 62 70 61 67 65 25 2a  39 2b 31 32 2c 31 3c 3c  |mbpage%*9+12,1<<|
0000ec00  32 31 2c 31 3c 3c 32 31  29 0d 0a 08 05 cc 0d 0a  |21,1<<21).......|
0000ec10  09 21 f2 66 65 28 73 79  6d 62 70 69 63 6b 25 2c  |.!.fe(symbpick%,|
0000ec20  31 31 2c 31 3c 3c 32 31  2c 31 3c 3c 32 31 29 0d  |11,1<<21,1<<21).|
0000ec30  0a 0a 05 cd 0d 0a 0b 05  cd 0d 0a 0c 0b c9 20 32  |.............. 2|
0000ec40  31 2c 32 32 0d 0a 0d 21  e7 20 69 63 6f 6e 25 3d  |1,22...!. icon%=|
0000ec50  32 31 20 8c 20 69 6e 63  25 3d 2d 31 20 8b 20 69  |21 . inc%=-1 . i|
0000ec60  6e 63 25 3d 31 0d 0a 0e  38 6e 65 77 70 61 67 65  |nc%=1...8newpage|
0000ec70  25 3d 73 79 6d 62 70 61  67 65 25 2d 28 62 75 74  |%=symbpage%-(but|
0000ec80  74 6f 6e 25 3d 34 29 2a  69 6e 63 25 2b 28 62 75  |ton%=4)*inc%+(bu|
0000ec90  74 74 6f 6e 25 3d 31 29  2a 69 6e 63 25 0d 0a 0f  |tton%=1)*inc%...|
0000eca0  2e e7 20 28 6e 65 77 70  61 67 65 25 3e 3d 30 29  |.. (newpage%>=0)|
0000ecb0  20 80 20 28 6e 65 77 70  61 67 65 25 2a 39 3c 3d  | . (newpage%*9<=|
0000ecc0  73 79 6d 62 6d 61 78 25  29 20 8c 0d 0a 10 19 e7  |symbmax%) ......|
0000ecd0  20 63 75 72 72 65 6e 74  73 79 6d 62 25 3c 3e 31  | currentsymb%<>1|
0000ece0  32 38 20 8c 0d 0a 11 3a  f2 66 65 28 73 79 6d 62  |28 ....:.fe(symb|
0000ecf0  70 69 63 6b 25 2c 63 75  72 72 65 6e 74 73 79 6d  |pick%,currentsym|
0000ed00  62 25 2d 73 79 6d 62 70  61 67 65 25 2a 39 2b 31  |b%-symbpage%*9+1|
0000ed10  32 2c 30 3c 3c 32 31 2c  31 3c 3c 32 31 29 0d 0a  |2,0<<21,1<<21)..|
0000ed20  12 3c e7 20 73 79 6d 62  70 61 67 65 25 3e 6e 65  |.<. symbpage%>ne|
0000ed30  77 70 61 67 65 25 20 8c  20 63 75 72 72 65 6e 74  |wpage% . current|
0000ed40  73 79 6d 62 25 2d 3d 39  20 8b 20 63 75 72 72 65  |symb%-=9 . curre|
0000ed50  6e 74 73 79 6d 62 25 2b  3d 39 0d 0a 13 33 e7 20  |ntsymb%+=9...3. |
0000ed60  63 75 72 72 65 6e 74 73  79 6d 62 25 3e 73 79 6d  |currentsymb%>sym|
0000ed70  62 6d 61 78 25 20 8c 20  63 75 72 72 65 6e 74 73  |bmax% . currents|
0000ed80  79 6d 62 25 3d 73 79 6d  62 6d 61 78 25 0d 0a 14  |ymb%=symbmax%...|
0000ed90  39 f2 66 65 28 73 79 6d  62 70 69 63 6b 25 2c 63  |9.fe(symbpick%,c|
0000eda0  75 72 72 65 6e 74 73 79  6d 62 25 2d 6e 65 77 70  |urrentsymb%-newp|
0000edb0  61 67 65 25 2a 39 2b 31  32 2c 31 3c 3c 32 31 2c  |age%*9+12,1<<21,|
0000edc0  31 3c 3c 32 31 29 0d 0a  15 05 cd 0d 0a 16 16 73  |1<<21).........s|
0000edd0  79 6d 62 70 61 67 65 25  3d 6e 65 77 70 61 67 65  |ymbpage%=newpage|
0000ede0  25 0d 0a 17 15 21 62 6c  6f 63 6b 25 3d 73 79 6d  |%....!block%=sym|
0000edf0  62 70 69 63 6b 25 0d 0a  18 18 c8 99 20 26 30 30  |bpick%...... &00|
0000ee00  30 34 30 30 43 42 2c 2c  62 6c 6f 63 6b 25 0d 0a  |0400CB,,block%..|
0000ee10  19 1a 77 78 25 3d 62 6c  6f 63 6b 25 21 34 2d 62  |..wx%=block%!4-b|
0000ee20  6c 6f 63 6b 25 21 32 30  0d 0a 1a 1b 77 79 25 3d  |lock%!20....wy%=|
0000ee30  62 6c 6f 63 6b 25 21 31  36 2d 62 6c 6f 63 6b 25  |block%!16-block%|
0000ee40  21 32 34 0d 0a 1b 54 c8  99 20 26 30 30 30 34 30  |!24...T.. &00040|
0000ee50  30 44 31 2c 73 79 6d 62  70 69 63 6b 25 2c 62 6c  |0D1,symbpick%,bl|
0000ee60  6f 63 6b 25 21 34 2d 77  78 25 2c 62 6c 6f 63 6b  |ock%!4-wx%,block|
0000ee70  25 21 31 36 2d 77 79 25  2d 37 36 2c 62 6c 6f 63  |%!16-wy%-76,bloc|
0000ee80  6b 25 21 31 32 2d 77 78  25 2c 62 6c 6f 63 6b 25  |k%!12-wx%,block%|
0000ee90  21 31 36 2d 77 79 25 0d  0a 1c 07 f2 68 62 0d 0a  |!16-wy%.....hb..|
0000eea0  1d 05 cc 0d 0a 1e 07 ef  20 37 0d 0a 1f 05 cd 0d  |........ 7......|
0000eeb0  0a 20 05 cb 0d 0a 21 05  e1 0d 0a 22 05 3a 0d 0a  |. ....!....".:..|
0000eec0  23 09 dd 20 f2 6d 62 0d  0a 24 08 ea 20 69 25 0d  |#.. .mb..$.. i%.|
0000eed0  0a 25 10 c8 8e 20 6d 61  6e 6e 65 72 25 20 ca 0d  |.%... manner% ..|
0000eee0  0a 26 09 c9 20 30 2c 31  0d 0a 27 07 f2 6e 61 0d  |.&.. 0,1..'..na.|
0000eef0  0a 28 13 e7 20 70 61 6c  74 61 62 6c 65 25 3d 30  |.(.. paltable%=0|
0000ef00  20 8c 0d 0a 29 0d 6d 61  78 63 6f 6c 25 3d 30 0d  | ...).maxcol%=0.|
0000ef10  0a 2a 16 70 61 6c 74 61  62 6c 65 25 3d a4 62 28  |.*.paltable%=.b(|
0000ef20  33 33 2a 34 29 0d 0a 2b  2f e7 20 6e 61 6d 65 74  |33*4)..+/. namet|
0000ef30  61 62 6c 65 25 3c 3e 30  20 8c 20 6e 61 6d 65 74  |able%<>0 . namet|
0000ef40  61 62 6c 65 25 3d a4 68  28 6e 61 6d 65 74 61 62  |able%=.h(nametab|
0000ef50  6c 65 25 29 0d 0a 2c 18  6e 61 6d 65 74 61 62 6c  |le%)..,.nametabl|
0000ef60  65 25 3d a4 62 28 31 33  2a 33 33 29 0d 0a 2d 19  |e%=.b(13*33)..-.|
0000ef70  70 61 6c 74 61 62 6c 65  25 21 30 3d 26 44 44 44  |paltable%!0=&DDD|
0000ef80  44 44 44 30 30 0d 0a 2e  1a 24 6e 61 6d 65 74 61  |DDD00....$nameta|
0000ef90  62 6c 65 25 3d 22 43 6f  6c 6f 75 72 20 31 22 0d  |ble%="Colour 1".|
0000efa0  0a 2f 05 cd 0d 0a 30 07  f2 68 64 0d 0a 31 17 e7  |./....0..hd..1..|
0000efb0  20 63 6f 6c 74 61 62 6c  65 25 3d 30 20 8c 20 f2  | coltable%=0 . .|
0000efc0  62 66 0d 0a 32 2d e7 20  a4 6c 28 74 62 61 72 25  |bf..2-. .l(tbar%|
0000efd0  2c 37 29 20 8c 20 73 70  72 69 74 65 6f 6e 25 3d  |,7) . spriteon%=|
0000efe0  b9 20 8b 20 73 70 72 69  74 65 6f 6e 25 3d a3 0d  |. . spriteon%=..|
0000eff0  0a 33 12 62 6c 6f 63 6b  25 21 30 3d 74 62 61 72  |.3.block%!0=tbar|
0000f000  25 0d 0a 34 0e 62 6c 6f  63 6b 25 21 34 3d 37 0d  |%..4.block%!4=7.|
0000f010  0a 35 18 c8 99 20 26 30  30 30 34 30 30 43 45 2c  |.5... &000400CE,|
0000f020  2c 62 6c 6f 63 6b 25 0d  0a 36 11 c8 8e 20 70 69  |,block%..6... pi|
0000f030  63 74 79 70 65 24 20 ca  0d 0a 37 0e c9 20 22 73  |ctype$ ...7.. "s|
0000f040  70 72 69 74 65 22 0d 0a  38 22 24 28 62 6c 6f 63  |prite"..8"$(bloc|
0000f050  6b 25 21 33 32 29 3d 22  53 73 70 72 69 74 65 2c  |k%!32)="Ssprite,|
0000f060  70 73 70 72 69 74 65 22  0d 0a 39 0c c9 20 22 64  |psprite"..9.. "d|
0000f070  72 61 77 22 0d 0a 3a 1e  24 28 62 6c 6f 63 6b 25  |raw"..:.$(block%|
0000f080  21 33 32 29 3d 22 53 64  72 61 77 2c 70 64 72 61  |!32)="Sdraw,pdra|
0000f090  77 22 0d 0a 3b 05 cb 0d  0a 3c 07 c9 20 32 0d 0a  |w"..;....<.. 2..|
0000f0a0  3d 16 e7 20 65 64 69 74  63 72 65 61 74 65 64 25  |=.. editcreated%|
0000f0b0  3d a3 20 8c 0d 0a 3e 2c  e7 20 63 6f 6c 74 61 62  |=. ...>,. coltab|
0000f0c0  6c 65 25 3c 3e 30 20 8c  20 63 6f 6c 74 61 62 6c  |le%<>0 . coltabl|
0000f0d0  65 25 3d a4 68 28 63 6f  6c 74 61 62 6c 65 25 29  |e%=.h(coltable%)|
0000f0e0  0d 0a 3f 2c e7 20 70 61  6c 74 61 62 6c 65 25 3c  |..?,. paltable%<|
0000f0f0  3e 30 20 8c 20 70 61 6c  74 61 62 6c 65 25 3d a4  |>0 . paltable%=.|
0000f100  68 28 70 61 6c 74 61 62  6c 65 25 29 0d 0a 40 2f  |h(paltable%)..@/|
0000f110  e7 20 6e 61 6d 65 74 61  62 6c 65 25 3c 3e 30 20  |. nametable%<>0 |
0000f120  8c 20 6e 61 6d 65 74 61  62 6c 65 25 3d a4 68 28  |. nametable%=.h(|
0000f130  6e 61 6d 65 74 61 62 6c  65 25 29 0d 0a 41 2f e7  |nametable%)..A/.|
0000f140  20 73 79 6d 62 73 74 6f  72 65 25 3c 3e 30 20 8c  | symbstore%<>0 .|
0000f150  20 73 79 6d 62 73 74 6f  72 65 25 3d a4 68 28 73  | symbstore%=.h(s|
0000f160  79 6d 62 73 74 6f 72 65  25 29 0d 0a 42 2f e7 20  |ymbstore%)..B/. |
0000f170  73 79 6d 62 70 6f 69 6e  74 25 3c 3e 30 20 8c 20  |symbpoint%<>0 . |
0000f180  73 79 6d 62 70 6f 69 6e  74 25 3d a4 68 28 73 79  |symbpoint%=.h(sy|
0000f190  6d 62 70 6f 69 6e 74 25  29 0d 0a 43 2c e7 20 73  |mbpoint%)..C,. s|
0000f1a0  79 6d 62 73 69 7a 65 25  3c 3e 30 20 8c 20 73 79  |ymbsize%<>0 . sy|
0000f1b0  6d 62 73 69 7a 65 25 3d  a4 68 28 73 79 6d 62 73  |mbsize%=.h(symbs|
0000f1c0  69 7a 65 25 29 0d 0a 44  1b 67 72 69 64 77 69 64  |ize%)..D.gridwid|
0000f1d0  74 68 25 3d bb 24 67 73  74 69 74 63 68 65 73 25  |th%=.$gstitches%|
0000f1e0  0d 0a 45 18 67 72 69 64  68 65 69 67 68 74 25 3d  |..E.gridheight%=|
0000f1f0  bb 24 67 72 6f 77 73 25  0d 0a 46 23 e7 20 67 72  |.$grows%..F#. gr|
0000f200  69 64 77 69 64 74 68 25  3c 32 34 20 8c 20 67 72  |idwidth%<24 . gr|
0000f210  69 64 77 69 64 74 68 25  3d 32 34 0d 0a 47 1e 67  |idwidth%=24..G.g|
0000f220  72 69 64 77 69 64 74 68  25 2b 3d 67 72 69 64 77  |ridwidth%+=gridw|
0000f230  69 64 74 68 25 20 83 20  32 0d 0a 48 2e 24 67 73  |idth% . 2..H.$gs|
0000f240  74 69 74 63 68 65 73 25  3d c3 67 72 69 64 77 69  |titches%=.gridwi|
0000f250  64 74 68 25 20 3a f2 66  65 28 6d 61 69 6e 25 2c  |dth% :.fe(main%,|
0000f260  33 30 2c 30 2c 30 29 0d  0a 49 2a 63 6f 6c 74 61  |30,0,0)..I*colta|
0000f270  62 6c 65 25 3d a4 62 28  67 72 69 64 77 69 64 74  |ble%=.b(gridwidt|
0000f280  68 25 2a 67 72 69 64 68  65 69 67 68 74 25 2b 38  |h%*gridheight%+8|
0000f290  29 0d 0a 4a 27 e3 20 69  25 3d 30 20 b8 20 67 72  |)..J'. i%=0 . gr|
0000f2a0  69 64 77 69 64 74 68 25  2a 67 72 69 64 68 65 69  |idwidth%*gridhei|
0000f2b0  67 68 74 25 20 88 20 34  0d 0a 4b 1a 63 6f 6c 74  |ght% . 4..K.colt|
0000f2c0  61 62 6c 65 25 21 69 25  3d 26 38 30 38 30 38 30  |able%!i%=&808080|
0000f2d0  38 30 0d 0a 4c 08 ed 20  69 25 0d 0a 4d 07 f2 73  |80..L.. i%..M..s|
0000f2e0  63 0d 0a 4e 05 cd 0d 0a  4f 07 f2 63 66 0d 0a 50  |c..N....O..cf..P|
0000f2f0  05 cb 0d 0a 51 0e f2 6e  64 28 65 64 69 74 25 29  |....Q..nd(edit%)|
0000f300  0d 0a 52 21 c8 99 20 26  30 30 30 34 30 30 44 32  |..R!.. &000400D2|
0000f310  2c 65 64 69 74 25 2c 2d  31 2c 30 2c 30 2c 30 2c  |,edit%,-1,0,0,0,|
0000f320  30 0d 0a 53 14 e7 20 65  64 69 74 73 74 6f 72 65  |0..S.. editstore|
0000f330  25 3d 30 20 8c 0d 0a 54  16 65 64 69 74 73 74 6f  |%=0 ...T.editsto|
0000f340  72 65 25 3d a4 62 28 31  30 30 29 0d 0a 55 26 24  |re%=.b(100)..U&$|
0000f350  28 65 64 69 74 73 74 6f  72 65 25 2b 30 29 3d 24  |(editstore%+0)=$|
0000f360  74 65 6e 73 69 6f 6e 5f  73 71 5f 77 69 64 74 68  |tension_sq_width|
0000f370  25 0d 0a 56 27 24 28 65  64 69 74 73 74 6f 72 65  |%..V'$(editstore|
0000f380  25 2b 37 29 3d 24 74 65  6e 73 69 6f 6e 5f 73 71  |%+7)=$tension_sq|
0000f390  5f 68 65 69 67 68 74 25  0d 0a 57 2a 24 28 65 64  |_height%..W*$(ed|
0000f3a0  69 74 73 74 6f 72 65 25  2b 31 34 29 3d 24 74 65  |itstore%+14)=$te|
0000f3b0  6e 73 69 6f 6e 5f 73 71  5f 73 74 69 74 63 68 65  |nsion_sq_stitche|
0000f3c0  73 25 0d 0a 58 26 24 28  65 64 69 74 73 74 6f 72  |s%..X&$(editstor|
0000f3d0  65 25 2b 32 31 29 3d 24  74 65 6e 73 69 6f 6e 5f  |e%+21)=$tension_|
0000f3e0  73 71 5f 72 6f 77 73 25  0d 0a 59 1c 24 28 65 64  |sq_rows%..Y.$(ed|
0000f3f0  69 74 73 74 6f 72 65 25  2b 32 38 29 3d 24 74 64  |itstore%+28)=$td|
0000f400  73 65 74 25 0d 0a 5a 20  24 28 65 64 69 74 73 74  |set%..Z $(editst|
0000f410  6f 72 65 25 2b 33 35 29  3d 24 63 6f 6e 76 5f 72  |ore%+35)=$conv_r|
0000f420  6f 77 73 25 0d 0a 5b 24  24 28 65 64 69 74 73 74  |ows%..[$$(editst|
0000f430  6f 72 65 25 2b 34 32 29  3d 24 61 6e 73 5f 63 6f  |ore%+42)=$ans_co|
0000f440  6e 76 5f 72 6f 77 73 25  0d 0a 5c 24 24 28 65 64  |nv_rows%..\$$(ed|
0000f450  69 74 73 74 6f 72 65 25  2b 34 39 29 3d 24 63 6f  |itstore%+49)=$co|
0000f460  6e 76 5f 73 74 69 74 63  68 65 73 25 0d 0a 5d 28  |nv_stitches%..](|
0000f470  24 28 65 64 69 74 73 74  6f 72 65 25 2b 35 36 29  |$(editstore%+56)|
0000f480  3d 24 61 6e 73 5f 63 6f  6e 76 5f 73 74 69 74 63  |=$ans_conv_stitc|
0000f490  68 65 73 25 0d 0a 5e 1c  24 28 65 64 69 74 73 74  |hes%..^.$(editst|
0000f4a0  6f 72 65 25 2b 36 33 29  3d 24 67 72 6f 77 73 25  |ore%+63)=$grows%|
0000f4b0  0d 0a 5f 20 24 28 65 64  69 74 73 74 6f 72 65 25  |.._ $(editstore%|
0000f4c0  2b 37 30 29 3d 24 67 73  74 69 74 63 68 65 73 25  |+70)=$gstitches%|
0000f4d0  0d 0a 60 1e 24 28 65 64  69 74 73 74 6f 72 65 25  |..`.$(editstore%|
0000f4e0  2b 37 37 29 3d 24 67 68  65 69 67 68 74 25 0d 0a  |+77)=$gheight%..|
0000f4f0  61 1d 24 28 65 64 69 74  73 74 6f 72 65 25 2b 38  |a.$(editstore%+8|
0000f500  34 29 3d 24 67 77 69 64  74 68 25 0d 0a 62 1e 65  |4)=$gwidth%..b.e|
0000f510  64 69 74 73 74 6f 72 65  25 3f 39 31 3d a4 6c 28  |ditstore%?91=.l(|
0000f520  6d 61 69 6e 25 2c 33 37  29 0d 0a 63 05 cd 0d 0a  |main%,37)..c....|
0000f530  64 12 65 64 69 74 63 72  65 61 74 65 64 25 3d b9  |d.editcreated%=.|
0000f540  0d 0a 65 12 e7 20 6d 61  6e 6e 65 72 25 3c 3e 32  |..e.. manner%<>2|
0000f550  20 8c 0d 0a 66 13 f2 6a  65 28 73 6d 65 6e 75 25  | ...f..je(smenu%|
0000f560  2c 30 2c 30 29 0d 0a 67  13 f2 6a 65 28 73 6d 65  |,0,0)..g..je(sme|
0000f570  6e 75 25 2c 31 2c 30 29  0d 0a 68 05 cd 0d 0a 69  |nu%,1,0)..h....i|
0000f580  13 f2 6a 65 28 73 6d 65  6e 75 25 2c 32 2c 30 29  |..je(smenu%,2,0)|
0000f590  0d 0a 6a 05 e1 0d 0a 6b  05 3a 0d 0a 6c 09 dd 20  |..j....k.:..l.. |
0000f5a0  f2 73 63 0d 0a 6d 58 ea  20 69 25 2c 63 25 2c 73  |.sc..mX. i%,c%,s|
0000f5b0  69 7a 65 25 2c 6e 75 6d  25 2c 6f 6c 64 69 25 2c  |ize%,num%,oldi%,|
0000f5c0  70 74 72 25 2c 70 6f 63  68 6c 65 25 2c 65 78 74  |ptr%,pochle%,ext|
0000f5d0  72 61 73 79 6d 62 25 2c  65 78 74 72 61 73 69 7a  |rasymb%,extrasiz|
0000f5e0  65 25 2c 65 78 74 72 61  6e 75 6d 25 2c 65 78 74  |e%,extranum%,ext|
0000f5f0  72 61 69 25 2c 66 6c 61  67 73 25 0d 0a 6e 04 0d  |rai%,flags%..n..|
0000f600  0a 6f 47 c8 99 20 26 30  30 30 30 30 30 32 39 2c  |.oG.. &00000029,|
0000f610  32 38 2c 22 3c 45 61 73  79 4b 6e 69 74 24 44 69  |28,"<EasyKnit$Di|
0000f620  72 3e 2e 52 65 73 6f 75  72 63 65 73 2e 53 79 6d  |r>.Resources.Sym|
0000f630  62 6f 6c 73 2e 2a 22 20  b8 20 2c 2c 73 69 7a 65  |bols.*" . ,,size|
0000f640  25 2c 6e 75 6d 25 0d 0a  70 46 c8 99 20 26 30 30  |%,num%..pF.. &00|
0000f650  30 30 30 30 32 39 2c 32  38 2c 22 3c 45 61 73 79  |000029,28,"<Easy|
0000f660  4b 6e 69 74 24 44 69 72  3e 2e 52 65 73 6f 75 72  |Knit$Dir>.Resour|
0000f670  63 65 73 2e 53 79 6d 62  6f 6c 73 2e 44 65 73 63  |ces.Symbols.Desc|
0000f680  72 69 62 65 22 20 b8 20  2c 2c 69 25 0d 0a 71 0b  |ribe" . ,,i%..q.|
0000f690  6e 75 6d 25 2d 3d 31 0d  0a 72 50 c8 99 20 26 30  |num%-=1..rP.. &0|
0000f6a0  30 30 32 30 30 32 39 2c  32 38 2c 22 3c 45 61 73  |0020029,28,"<Eas|
0000f6b0  79 4b 6e 69 74 24 44 69  72 3e 2e 5e 2e 53 79 6d  |yKnit$Dir>.^.Sym|
0000f6c0  62 6f 6c 73 2e 2a 22 20  b8 20 2c 2c 65 78 74 72  |bols.*" . ,,extr|
0000f6d0  61 73 69 7a 65 25 2c 65  78 74 72 61 6e 75 6d 25  |asize%,extranum%|
0000f6e0  3b 66 6c 61 67 73 25 0d  0a 73 16 e7 20 28 66 6c  |;flags%..s.. (fl|
0000f6f0  61 67 73 25 20 80 20 31  29 3d 31 20 8c 0d 0a 74  |ags% . 1)=1 ...t|
0000f700  1c 65 78 74 72 61 73 69  7a 65 25 3d 30 3a 65 78  |.extrasize%=0:ex|
0000f710  74 72 61 6e 75 6d 25 3d  30 0d 0a 75 10 65 78 74  |tranum%=0..u.ext|
0000f720  72 61 73 79 6d 62 25 3d  a3 0d 0a 76 05 cc 0d 0a  |rasymb%=...v....|
0000f730  77 10 65 78 74 72 61 73  79 6d 62 25 3d b9 0d 0a  |w.extrasymb%=...|
0000f740  78 05 cd 0d 0a 79 4a c8  99 20 26 30 30 30 32 30  |x....yJ.. &00020|
0000f750  30 32 39 2c 32 38 2c 22  3c 45 61 73 79 4b 6e 69  |029,28,"<EasyKni|
0000f760  74 24 44 69 72 3e 2e 5e  2e 53 79 6d 62 6f 6c 73  |t$Dir>.^.Symbols|
0000f770  2e 44 65 73 63 72 69 62  65 22 20 b8 20 2c 2c 65  |.Describe" . ,,e|
0000f780  78 74 72 61 69 25 3b 66  6c 61 67 73 25 0d 0a 7a  |xtrai%;flags%..z|
0000f790  4b e7 20 28 66 6c 61 67  73 25 20 80 20 31 29 3d  |K. (flags% . 1)=|
0000f7a0  31 20 8c 20 65 78 74 72  61 69 25 3d 30 20 8b 20  |1 . extrai%=0 . |
0000f7b0  65 78 74 72 61 6e 75 6d  25 2d 3d 31 3a e7 20 65  |extranum%-=1:. e|
0000f7c0  78 74 72 61 6e 75 6d 25  3c 30 20 8c 20 65 78 74  |xtranum%<0 . ext|
0000f7d0  72 61 6e 75 6d 25 3d 30  0d 0a 7b 1d 73 79 6d 62  |ranum%=0..{.symb|
0000f7e0  6d 61 78 25 3d 6e 75 6d  25 2b 65 78 74 72 61 6e  |max%=num%+extran|
0000f7f0  75 6d 25 2d 31 0d 0a 7c  0f 69 25 2b 3d 65 78 74  |um%-1..|.i%+=ext|
0000f800  72 61 69 25 0d 0a 7d 26  73 79 6d 62 73 74 6f 72  |rai%..}&symbstor|
0000f810  65 25 3d a4 62 28 73 69  7a 65 25 2b 65 78 74 72  |e%=.b(size%+extr|
0000f820  61 73 69 7a 65 25 2d 69  25 29 0d 0a 7e 25 73 79  |asize%-i%)..~%sy|
0000f830  6d 62 70 6f 69 6e 74 25  3d a4 62 28 28 6e 75 6d  |mbpoint%=.b((num|
0000f840  25 2b 65 78 74 72 61 6e  75 6d 25 29 2a 34 29 0d  |%+extranum%)*4).|
0000f850  0a 7f 24 73 79 6d 62 73  69 7a 65 25 3d a4 62 28  |..$symbsize%=.b(|
0000f860  28 6e 75 6d 25 2b 65 78  74 72 61 6e 75 6d 25 29  |(num%+extranum%)|
0000f870  2a 34 29 0d 0a 80 26 6e  61 6d 65 74 61 62 6c 65  |*4)...&nametable|
0000f880  25 3d a4 62 28 28 6e 75  6d 25 2b 65 78 74 72 61  |%=.b((num%+extra|
0000f890  6e 75 6d 25 29 2a 31 31  29 0d 0a 81 04 0d 0a 82  |num%)*11).......|
0000f8a0  4d c8 99 26 30 30 30 30  30 30 30 43 2c 39 2c 22  |M..&0000000C,9,"|
0000f8b0  3c 45 61 73 79 4b 6e 69  74 24 44 69 72 3e 2e 52  |<EasyKnit$Dir>.R|
0000f8c0  65 73 6f 75 72 63 65 73  2e 53 79 6d 62 6f 6c 73  |esources.Symbols|
0000f8d0  22 2c 62 6c 6f 63 6b 25  2c 6e 75 6d 25 2b 31 2c  |",block%,num%+1,|
0000f8e0  30 2c 33 30 30 30 2c 22  2a 22 0d 0a 83 21 69 25  |0,3000,"*"...!i%|
0000f8f0  3d 30 20 3a 20 6f 6c 64  69 25 3d 62 6c 6f 63 6b  |=0 : oldi%=block|
0000f900  25 3a 70 6f 63 68 6c 65  25 3d 30 0d 0a 84 11 e3  |%:pochle%=0.....|
0000f910  20 63 25 3d 30 20 b8 20  6e 75 6d 25 0d 0a 85 13  | c%=0 . num%....|
0000f920  c8 95 20 62 6c 6f 63 6b  25 3f 69 25 3c 3e 30 0d  |.. block%?i%<>0.|
0000f930  0a 86 09 69 25 2b 3d 31  0d 0a 87 05 ce 0d 0a 88  |...i%+=1........|
0000f940  10 62 6c 6f 63 6b 25 3f  69 25 3d 31 33 0d 0a 89  |.block%?i%=13...|
0000f950  1b e7 20 24 28 6f 6c 64  69 25 29 3d 22 44 65 73  |.. $(oldi%)="Des|
0000f960  63 72 69 62 65 22 20 8c  0d 0a 8a 0d 70 6f 63 68  |cribe" .....poch|
0000f970  6c 65 25 3d 31 0d 0a 8b  05 cc 0d 0a 8c 2a 24 28  |le%=1........*$(|
0000f980  6e 61 6d 65 74 61 62 6c  65 25 2b 28 63 25 2d 70  |nametable%+(c%-p|
0000f990  6f 63 68 6c 65 25 29 2a  31 31 29 3d 24 28 6f 6c  |ochle%)*11)=$(ol|
0000f9a0  64 69 25 29 0d 0a 8d 05  cd 0d 0a 8e 09 69 25 2b  |di%).........i%+|
0000f9b0  3d 31 0d 0a 8f 13 6f 6c  64 69 25 3d 62 6c 6f 63  |=1....oldi%=bloc|
0000f9c0  6b 25 2b 69 25 0d 0a 90  08 ed 20 63 25 0d 0a 91  |k%+i%..... c%...|
0000f9d0  13 63 25 3d 30 3a 20 70  6f 63 68 6c 65 25 3d 30  |.c%=0: pochle%=0|
0000f9e0  0d 0a 92 04 0d 0a 93 13  e3 20 69 25 3d 30 20 b8  |......... i%=0 .|
0000f9f0  20 6e 75 6d 25 2d 31 0d  0a 94 41 70 61 74 68 24  | num%-1...Apath$|
0000fa00  3d 22 3c 45 61 73 79 4b  6e 69 74 24 44 69 72 3e  |="<EasyKnit$Dir>|
0000fa10  2e 52 65 73 6f 75 72 63  65 73 2e 53 79 6d 62 6f  |.Resources.Symbo|
0000fa20  6c 73 2e 22 2b 24 28 6e  61 6d 65 74 61 62 6c 65  |ls."+$(nametable|
0000fa30  25 2b 69 25 2a 31 31 29  0d 0a 95 35 c8 99 26 30  |%+i%*11)...5..&0|
0000fa40  30 30 30 30 30 30 38 2c  26 46 46 2c 70 61 74 68  |0000008,&FF,path|
0000fa50  24 2c 73 79 6d 62 73 74  6f 72 65 25 2b 63 25 2c  |$,symbstore%+c%,|
0000fa60  30 20 b8 20 2c 2c 2c 2c  73 69 7a 65 25 0d 0a 96  |0 . ,,,,size%...|
0000fa70  23 73 79 6d 62 70 6f 69  6e 74 25 21 28 69 25 2a  |#symbpoint%!(i%*|
0000fa80  34 29 3d 73 79 6d 62 73  74 6f 72 65 25 2b 63 25  |4)=symbstore%+c%|
0000fa90  0d 0a 97 1a 73 79 6d 62  73 69 7a 65 25 21 28 69  |....symbsize%!(i|
0000faa0  25 2a 34 29 3d 73 69 7a  65 25 0d 0a 98 0d 63 25  |%*4)=size%....c%|
0000fab0  2b 3d 73 69 7a 65 25 0d  0a 99 08 ed 20 69 25 0d  |+=size%..... i%.|
0000fac0  0a 9a 14 e7 20 65 78 74  72 61 73 79 6d 62 25 3d  |.... extrasymb%=|
0000fad0  b9 20 8c 0d 0a 9b 04 0d  0a 9c 0b 70 74 72 25 3d  |. .........ptr%=|
0000fae0  63 25 0d 0a 9d 4a c8 99  26 30 30 30 30 30 30 30  |c%...J..&0000000|
0000faf0  43 2c 39 2c 22 3c 45 61  73 79 4b 6e 69 74 24 44  |C,9,"<EasyKnit$D|
0000fb00  69 72 3e 2e 5e 2e 53 79  6d 62 6f 6c 73 22 2c 62  |ir>.^.Symbols",b|
0000fb10  6c 6f 63 6b 25 2c 65 78  74 72 61 6e 75 6d 25 2b  |lock%,extranum%+|
0000fb20  31 2c 30 2c 33 30 30 30  2c 22 2a 22 0d 0a 9e 21  |1,0,3000,"*"...!|
0000fb30  69 25 3d 30 20 3a 20 6f  6c 64 69 25 3d 62 6c 6f  |i%=0 : oldi%=blo|
0000fb40  63 6b 25 3a 70 6f 63 68  6c 65 25 3d 30 0d 0a 9f  |ck%:pochle%=0...|
0000fb50  1e e3 20 63 25 3d 6e 75  6d 25 20 b8 20 6e 75 6d  |.. c%=num% . num|
0000fb60  25 2b 65 78 74 72 61 6e  75 6d 25 0d 0a a0 13 c8  |%+extranum%.....|
0000fb70  95 20 62 6c 6f 63 6b 25  3f 69 25 3c 3e 30 0d 0a  |. block%?i%<>0..|
0000fb80  a1 09 69 25 2b 3d 31 0d  0a a2 05 ce 0d 0a a3 10  |..i%+=1.........|
0000fb90  62 6c 6f 63 6b 25 3f 69  25 3d 31 33 0d 0a a4 1b  |block%?i%=13....|
0000fba0  e7 20 24 28 6f 6c 64 69  25 29 3d 22 44 65 73 63  |. $(oldi%)="Desc|
0000fbb0  72 69 62 65 22 20 8c 0d  0a a5 0d 70 6f 63 68 6c  |ribe" .....pochl|
0000fbc0  65 25 3d 31 0d 0a a6 05  cc 0d 0a a7 2a 24 28 6e  |e%=1........*$(n|
0000fbd0  61 6d 65 74 61 62 6c 65  25 2b 28 63 25 2d 70 6f  |ametable%+(c%-po|
0000fbe0  63 68 6c 65 25 29 2a 31  31 29 3d 24 28 6f 6c 64  |chle%)*11)=$(old|
0000fbf0  69 25 29 0d 0a a8 05 cd  0d 0a a9 09 69 25 2b 3d  |i%).........i%+=|
0000fc00  31 0d 0a aa 13 6f 6c 64  69 25 3d 62 6c 6f 63 6b  |1....oldi%=block|
0000fc10  25 2b 69 25 0d 0a ab 08  ed 20 63 25 0d 0a ac 16  |%+i%..... c%....|
0000fc20  63 25 3d 70 74 72 25 3a  20 70 6f 63 68 6c 65 25  |c%=ptr%: pochle%|
0000fc30  3d 30 0d 0a ad 04 0d 0a  ae 20 e3 20 69 25 3d 6e  |=0....... . i%=n|
0000fc40  75 6d 25 20 b8 20 6e 75  6d 25 2b 65 78 74 72 61  |um% . num%+extra|
0000fc50  6e 75 6d 25 2d 31 0d 0a  af 39 70 61 74 68 24 3d  |num%-1...9path$=|
0000fc60  22 3c 45 61 73 79 4b 6e  69 74 24 44 69 72 3e 2e  |"<EasyKnit$Dir>.|
0000fc70  5e 2e 53 79 6d 62 6f 6c  73 2e 22 2b 24 28 6e 61  |^.Symbols."+$(na|
0000fc80  6d 65 74 61 62 6c 65 25  2b 69 25 2a 31 31 29 0d  |metable%+i%*11).|
0000fc90  0a b0 35 c8 99 26 30 30  30 30 30 30 30 38 2c 26  |..5..&00000008,&|
0000fca0  46 46 2c 70 61 74 68 24  2c 73 79 6d 62 73 74 6f  |FF,path$,symbsto|
0000fcb0  72 65 25 2b 63 25 2c 30  20 b8 20 2c 2c 2c 2c 73  |re%+c%,0 . ,,,,s|
0000fcc0  69 7a 65 25 0d 0a b1 23  73 79 6d 62 70 6f 69 6e  |ize%...#symbpoin|
0000fcd0  74 25 21 28 69 25 2a 34  29 3d 73 79 6d 62 73 74  |t%!(i%*4)=symbst|
0000fce0  6f 72 65 25 2b 63 25 0d  0a b2 1a 73 79 6d 62 73  |ore%+c%....symbs|
0000fcf0  69 7a 65 25 21 28 69 25  2a 34 29 3d 73 69 7a 65  |ize%!(i%*4)=size|
0000fd00  25 0d 0a b3 0d 63 25 2b  3d 73 69 7a 65 25 0d 0a  |%....c%+=size%..|
0000fd10  b4 08 ed 20 69 25 0d 0a  b5 05 cd 0d 0a b6 2c 73  |... i%........,s|
0000fd20  74 77 25 3d 33 30 3a 20  73 74 69 74 63 68 77 69  |tw%=30: stitchwi|
0000fd30  64 74 68 3d 33 30 3a 20  73 74 69 74 63 68 5f 77  |dth=30: stitch_w|
0000fd40  69 64 74 68 3d 33 30 0d  0a b7 24 72 68 74 25 3d  |idth=30...$rht%=|
0000fd50  33 30 3a 20 72 6f 77 68  74 3d 33 30 3a 20 72 6f  |30: rowht=30: ro|
0000fd60  77 5f 68 65 69 67 68 74  3d 33 30 0d 0a b8 12 63  |w_height=30....c|
0000fd70  75 72 72 65 6e 74 73 79  6d 62 25 3d 30 0d 0a b9  |urrentsymb%=0...|
0000fd80  0f 73 79 6d 62 70 61 67  65 25 3d 30 0d 0a ba 45  |.symbpage%=0...E|
0000fd90  c8 99 26 30 30 30 34 31  35 30 30 2c 2c 22 3c 45  |..&00041500,,"<E|
0000fda0  61 73 79 4b 6e 69 74 24  44 69 72 3e 2e 52 65 73  |asyKnit$Dir>.Res|
0000fdb0  6f 75 72 63 65 73 2e 53  79 6d 62 6f 6c 73 2e 44  |ources.Symbols.D|
0000fdc0  65 73 63 72 69 62 65 22  20 b8 20 2c 2c 6c 65 6e  |escribe" . ,,len|
0000fdd0  25 0d 0a bb 18 64 65 73  63 69 6e 66 6f 62 75 66  |%....descinfobuf|
0000fde0  66 25 3d a4 62 28 31 36  29 0d 0a bc 16 64 65 73  |f%=.b(16)....des|
0000fdf0  63 62 75 66 66 25 3d a4  62 28 6c 65 6e 25 29 0d  |cbuff%=.b(len%).|
0000fe00  0a bd 53 c8 99 26 30 30  30 34 31 35 30 31 2c 64  |..S..&00041501,d|
0000fe10  65 73 63 69 6e 66 6f 62  75 66 66 25 2c 22 3c 45  |escinfobuff%,"<E|
0000fe20  61 73 79 4b 6e 69 74 24  44 69 72 3e 2e 52 65 73  |asyKnit$Dir>.Res|
0000fe30  6f 75 72 63 65 73 2e 53  79 6d 62 6f 6c 73 2e 44  |ources.Symbols.D|
0000fe40  65 73 63 72 69 62 65 22  2c 64 65 73 63 62 75 66  |escribe",descbuf|
0000fe50  66 25 0d 0a be 14 e7 20  65 78 74 72 61 73 79 6d  |f%..... extrasym|
0000fe60  62 25 3d b9 20 8c 0d 0a  bf 3d c8 99 26 30 30 30  |b%=. ....=..&000|
0000fe70  34 31 35 30 30 2c 2c 22  3c 45 61 73 79 4b 6e 69  |41500,,"<EasyKni|
0000fe80  74 24 44 69 72 3e 2e 5e  2e 53 79 6d 62 6f 6c 73  |t$Dir>.^.Symbols|
0000fe90  2e 44 65 73 63 72 69 62  65 22 20 b8 20 2c 2c 6c  |.Describe" . ,,l|
0000fea0  65 6e 25 0d 0a c0 1d 65  78 74 72 61 64 65 73 63  |en%....extradesc|
0000feb0  69 6e 66 6f 62 75 66 66  25 3d a4 62 28 31 36 29  |infobuff%=.b(16)|
0000fec0  0d 0a c1 1b 65 78 74 72  61 64 65 73 63 62 75 66  |....extradescbuf|
0000fed0  66 25 3d a4 62 28 6c 65  6e 25 29 0d 0a c2 55 c8  |f%=.b(len%)...U.|
0000fee0  99 26 30 30 30 34 31 35  30 31 2c 65 78 74 72 61  |.&00041501,extra|
0000fef0  64 65 73 63 69 6e 66 6f  62 75 66 66 25 2c 22 3c  |descinfobuff%,"<|
0000ff00  45 61 73 79 4b 6e 69 74  24 44 69 72 3e 2e 5e 2e  |EasyKnit$Dir>.^.|
0000ff10  53 79 6d 62 6f 6c 73 2e  44 65 73 63 72 69 62 65  |Symbols.Describe|
0000ff20  22 2c 65 78 74 72 61 64  65 73 63 62 75 66 66 25  |",extradescbuff%|
0000ff30  0d 0a c3 05 cd 0d 0a c4  13 e3 20 69 63 6f 6e 25  |.......... icon%|
0000ff40  3d 31 31 20 b8 20 32 30  0d 0a c5 24 f2 66 65 28  |=11 . 20...$.fe(|
0000ff50  73 79 6d 62 70 69 63 6b  25 2c 69 63 6f 6e 25 2c  |symbpick%,icon%,|
0000ff60  30 3c 3c 32 31 2c 31 3c  3c 32 31 29 0d 0a c6 0b  |0<<21,1<<21)....|
0000ff70  ed 20 69 63 6f 6e 25 0d  0a c7 2e f2 66 65 28 73  |. icon%.....fe(s|
0000ff80  79 6d 62 70 69 63 6b 25  2c 63 75 72 72 65 6e 74  |ymbpick%,current|
0000ff90  73 79 6d 62 25 2b 31 32  2c 31 3c 3c 32 31 2c 31  |symb%+12,1<<21,1|
0000ffa0  3c 3c 32 31 29 0d 0a c8  07 f2 68 62 0d 0a c9 05  |<<21).....hb....|
0000ffb0  e1 0d 0a ca 05 3a 0d 0a  cb 09 dd 20 f2 68 62 0d  |.....:..... .hb.|
0000ffc0  0a cc 24 ea 20 70 74 72  25 2c 6c 65 6e 25 2c 74  |..$. ptr%,len%,t|
0000ffd0  65 78 74 24 2c 74 6f 6b  24 2c 69 25 2c 66 6c 61  |ext$,tok$,i%,fla|
0000ffe0  67 73 25 0d 0a cd 18 e7  20 63 75 72 72 65 6e 74  |gs%..... current|
0000fff0  73 79 6d 62 25 3d 31 32  38 20 8c 0d 0a ce 11 74  |symb%=128 .....t|
00010000  6f 6b 24 3d 22 52 75 62  62 65 72 22 0d 0a cf 05  |ok$="Rubber"....|
00010010  cc 0d 0a d0 26 74 6f 6b  24 3d 24 28 6e 61 6d 65  |....&tok$=$(name|
00010020  74 61 62 6c 65 25 2b 63  75 72 72 65 6e 74 73 79  |table%+currentsy|
00010030  6d 62 25 2a 31 31 29 0d  0a d1 05 cd 0d 0a d2 3a  |mb%*11)........:|
00010040  c8 99 20 26 30 30 30 36  31 35 30 32 2c 64 65 73  |.. &00061502,des|
00010050  63 69 6e 66 6f 62 75 66  66 25 2c 74 6f 6b 24 2c  |cinfobuff%,tok$,|
00010060  30 20 b8 20 2c 2c 70 74  72 25 2c 6c 65 6e 25 3b  |0 . ,,ptr%,len%;|
00010070  66 6c 61 67 73 25 0d 0a  d3 52 e7 20 28 66 6c 61  |flags%...R. (fla|
00010080  67 73 25 20 80 20 31 29  3d 31 20 8c 20 c8 99 20  |gs% . 1)=1 . .. |
00010090  26 30 30 30 36 31 35 30  32 2c 65 78 74 72 61 64  |&00061502,extrad|
000100a0  65 73 63 69 6e 66 6f 62  75 66 66 25 2c 74 6f 6b  |escinfobuff%,tok|
000100b0  24 2c 30 20 b8 20 2c 2c  70 74 72 25 2c 6c 65 6e  |$,0 . ,,ptr%,len|
000100c0  25 3b 66 6c 61 67 73 25  0d 0a d4 16 e7 20 28 66  |%;flags%..... (f|
000100d0  6c 61 67 73 25 20 80 20  31 29 3d 30 20 8c 0d 0a  |lags% . 1)=0 ...|
000100e0  d5 0c 74 65 78 74 24 3d  22 22 0d 0a d6 13 e3 20  |..text$=""..... |
000100f0  69 25 3d 30 20 b8 20 6c  65 6e 25 2d 31 0d 0a d7  |i%=0 . len%-1...|
00010100  15 74 65 78 74 24 2b 3d  bd 28 70 74 72 25 3f 69  |.text$+=.(ptr%?i|
00010110  25 29 0d 0a d8 08 ed 20  69 25 0d 0a d9 24 e7 20  |%)..... i%...$. |
00010120  a9 28 74 65 78 74 24 29  3e 34 30 20 8c 20 74 65  |.(text$)>40 . te|
00010130  78 74 24 3d c0 74 65 78  74 24 2c 34 30 29 0d 0a  |xt$=.text$,40)..|
00010140  da 14 24 64 65 73 63 72  69 62 65 25 3d 74 65 78  |..$describe%=tex|
00010150  74 24 0d 0a db 05 cc 0d  0a dc 13 24 64 65 73 63  |t$.........$desc|
00010160  72 69 62 65 25 3d 74 6f  6b 24 0d 0a dd 05 cd 0d  |ribe%=tok$......|
00010170  0a de 18 f2 66 65 28 73  79 6d 62 70 69 63 6b 25  |....fe(symbpick%|
00010180  2c 30 2c 30 2c 30 29 0d  0a df 05 e1 0d 0a e0 05  |,0,0,0).........|
00010190  3a 0d 0a e1 09 dd 20 f2  6c 62 0d 0a e2 2f e7 20  |:..... .lb.../. |
000101a0  73 6f 75 72 63 65 73 70  72 25 3c 3e 30 20 8c 20  |sourcespr%<>0 . |
000101b0  73 6f 75 72 63 65 73 70  72 25 3d a4 68 28 73 6f  |sourcespr%=.h(so|
000101c0  75 72 63 65 73 70 72 25  29 0d 0a e3 2c e7 20 63  |urcespr%)...,. c|
000101d0  6f 6c 74 61 62 6c 65 25  3c 3e 30 20 8c 20 63 6f  |oltable%<>0 . co|
000101e0  6c 74 61 62 6c 65 25 3d  a4 68 28 63 6f 6c 74 61  |ltable%=.h(colta|
000101f0  62 6c 65 25 29 0d 0a e4  20 e7 20 64 72 61 77 25  |ble%)... . draw%|
00010200  3c 3e 30 20 8c 20 64 72  61 77 25 3d a4 68 28 64  |<>0 . draw%=.h(d|
00010210  72 61 77 25 29 0d 0a e5  2f e7 20 73 79 6d 62 73  |raw%).../. symbs|
00010220  74 6f 72 65 25 3c 3e 30  20 8c 20 73 79 6d 62 73  |tore%<>0 . symbs|
00010230  74 6f 72 65 25 3d a4 68  28 73 79 6d 62 73 74 6f  |tore%=.h(symbsto|
00010240  72 65 25 29 0d 0a e6 2f  e7 20 73 79 6d 62 70 6f  |re%).../. symbpo|
00010250  69 6e 74 25 3c 3e 30 20  8c 20 73 79 6d 62 70 6f  |int%<>0 . symbpo|
00010260  69 6e 74 25 3d a4 68 28  73 79 6d 62 70 6f 69 6e  |int%=.h(symbpoin|
00010270  74 25 29 0d 0a e7 2c e7  20 73 79 6d 62 73 69 7a  |t%)...,. symbsiz|
00010280  65 25 3c 3e 30 20 8c 20  73 79 6d 62 73 69 7a 65  |e%<>0 . symbsize|
00010290  25 3d a4 68 28 73 79 6d  62 73 69 7a 65 25 29 0d  |%=.h(symbsize%).|
000102a0  0a e8 2f e7 20 6e 61 6d  65 74 61 62 6c 65 25 3c  |../. nametable%<|
000102b0  3e 30 20 8c 20 6e 61 6d  65 74 61 62 6c 65 25 3d  |>0 . nametable%=|
000102c0  a4 68 28 6e 61 6d 65 74  61 62 6c 65 25 29 0d 0a  |.h(nametable%)..|
000102d0  e9 38 e7 20 64 65 73 63  69 6e 66 6f 62 75 66 66  |.8. descinfobuff|
000102e0  25 3c 3e 30 20 8c 20 64  65 73 63 69 6e 66 6f 62  |%<>0 . descinfob|
000102f0  75 66 66 25 3d a4 68 28  64 65 73 63 69 6e 66 6f  |uff%=.h(descinfo|
00010300  62 75 66 66 25 29 0d 0a  ea 2c e7 20 64 65 73 63  |buff%)...,. desc|
00010310  62 75 66 66 25 3c 3e 30  20 8c 20 64 65 73 63 62  |buff%<>0 . descb|
00010320  75 66 66 25 3d a4 68 28  64 65 73 63 62 75 66 66  |uff%=.h(descbuff|
00010330  25 29 0d 0a eb 47 e7 20  65 78 74 72 61 64 65 73  |%)...G. extrades|
00010340  63 69 6e 66 6f 62 75 66  66 25 3c 3e 30 20 8c 20  |cinfobuff%<>0 . |
00010350  65 78 74 72 61 64 65 73  63 69 6e 66 6f 62 75 66  |extradescinfobuf|
00010360  66 25 3d a4 68 28 65 78  74 72 61 64 65 73 63 69  |f%=.h(extradesci|
00010370  6e 66 6f 62 75 66 66 25  29 0d 0a ec 3b e7 20 65  |nfobuff%)...;. e|
00010380  78 74 72 61 64 65 73 63  62 75 66 66 25 3c 3e 30  |xtradescbuff%<>0|
00010390  20 8c 20 65 78 74 72 61  64 65 73 63 62 75 66 66  | . extradescbuff|
000103a0  25 3d a4 68 28 65 78 74  72 61 64 65 73 63 62 75  |%=.h(extradescbu|
000103b0  66 66 25 29 0d 0a ed 05  e1 0d 0a ee 05 3a 0d 0a  |ff%).........:..|
000103c0  ef 09 dd 20 f2 71 61 0d  0a f0 0f ea 20 67 72 69  |... .qa..... gri|
000103d0  64 66 69 67 73 25 0d 0a  f1 13 70 69 63 74 79 70  |dfigs%....pictyp|
000103e0  65 24 3d 22 6e 6f 6e 65  22 0d 0a f2 14 f2 73 65  |e$="none".....se|
000103f0  28 65 64 69 74 6d 65 6e  75 25 2c 30 29 0d 0a f3  |(editmenu%,0)...|
00010400  14 f2 77 65 28 65 64 69  74 6d 65 6e 75 25 2c 31  |..we(editmenu%,1|
00010410  29 0d 0a f4 14 f2 77 65  28 65 64 69 74 6d 65 6e  |).....we(editmen|
00010420  75 25 2c 32 29 0d 0a f5  0d 6d 61 6e 6e 65 72 25  |u%,2)....manner%|
00010430  3d 30 0d 0a f6 0f 73 70  72 69 74 65 6f 6e 25 3d  |=0....spriteon%=|
00010440  a3 0d 0a f7 12 65 64 69  74 63 72 65 61 74 65 64  |.....editcreated|
00010450  25 3d a3 0d 0a f8 1e e7  20 65 64 69 74 6f 70 65  |%=...... editope|
00010460  6e 25 3d b9 20 8c 20 f2  7a 61 28 65 64 69 74 25  |n%=. . .za(edit%|
00010470  29 0d 0a f9 07 f2 6c 62  0d 0a fa 1c f2 66 65 28  |).....lb.....fe(|
00010480  74 62 61 72 25 2c 37 2c  31 3c 3c 32 32 2c 31 3c  |tbar%,7,1<<22,1<|
00010490  3c 32 32 29 0d 0a fb 1c  f2 66 65 28 74 62 61 72  |<22).....fe(tbar|
000104a0  25 2c 37 2c 30 3c 3c 32  31 2c 31 3c 3c 32 31 29  |%,7,0<<21,1<<21)|
000104b0  0d 0a fc 1c f2 66 65 28  74 62 61 72 25 2c 35 2c  |.....fe(tbar%,5,|
000104c0  30 3c 3c 32 32 2c 31 3c  3c 32 32 29 0d 0a fd 1c  |0<<22,1<<22)....|
000104d0  f2 66 65 28 74 62 61 72  25 2c 35 2c 31 3c 3c 32  |.fe(tbar%,5,1<<2|
000104e0  31 2c 31 3c 3c 32 31 29  0d 0a fe 1c f2 66 65 28  |1,1<<21).....fe(|
000104f0  74 62 61 72 25 2c 39 2c  30 3c 3c 32 32 2c 31 3c  |tbar%,9,0<<22,1<|
00010500  3c 32 32 29 0d 0a ff 1d  f2 66 65 28 74 62 61 72  |<22).....fe(tbar|
00010510  25 2c 31 30 2c 30 3c 3c  32 32 2c 31 3c 3c 32 32  |%,10,0<<22,1<<22|
00010520  29 0d 0b 00 13 f2 6a 65  28 65 6d 65 6e 75 25 2c  |).....je(emenu%,|
00010530  34 2c 31 29 0d 0b 01 13  f2 6a 65 28 65 6d 65 6e  |4,1).....je(emen|
00010540  75 25 2c 37 2c 30 29 0d  0b 02 11 f2 77 65 28 65  |u%,7,0).....we(e|
00010550  6d 65 6e 75 25 2c 34 29  0d 0b 03 14 e7 20 a4 6c  |menu%,4)..... .l|
00010560  28 6d 61 69 6e 25 2c 33  37 29 20 8c 0d 0b 04 0a  |(main%,37) .....|
00010570  f2 65 64 28 35 29 0d 0b  05 05 cc 0d 0b 06 0a f2  |.ed(5)..........|
00010580  65 64 28 34 29 0d 0b 07  05 cd 0d 0b 08 0a f2 74  |ed(4)..........t|
00010590  65 28 30 29 0d 0b 09 10  67 72 69 64 66 69 67 73  |e(0)....gridfigs|
000105a0  25 3d a4 63 0d 0b 0a 13  e7 20 67 72 69 64 66 69  |%=.c..... gridfi|
000105b0  67 73 25 3d a3 20 8c 0d  0b 0b 0a f2 72 65 28 34  |gs%=. ......re(4|
000105c0  29 0d 0b 0c 0a f2 63 63  28 31 29 0d 0b 0d 05 cc  |).....cc(1).....|
000105d0  0d 0b 0e 0a f2 72 65 28  36 29 0d 0b 0f 0a f2 63  |.....re(6).....c|
000105e0  63 28 30 29 0d 0b 10 05  cd 0d 0b 11 1a f2 6f 61  |c(0)..........oa|
000105f0  28 6d 61 69 6e 25 2c 32  39 2c a9 24 67 72 6f 77  |(main%,29,.$grow|
00010600  73 25 29 0d 0b 12 2a 24  61 6e 73 5f 63 6f 6e 76  |s%)...*$ans_conv|
00010610  5f 72 6f 77 73 25 3d 22  30 22 3a 20 f2 66 65 28  |_rows%="0": .fe(|
00010620  6d 61 69 6e 25 2c 32 30  2c 30 2c 30 29 0d 0b 13  |main%,20,0,0)...|
00010630  28 24 63 6f 6e 76 5f 72  6f 77 73 25 3d 22 30 2e  |($conv_rows%="0.|
00010640  30 22 3a 20 f2 66 65 28  6d 61 69 6e 25 2c 31 39  |0": .fe(main%,19|
00010650  2c 30 2c 30 29 0d 0b 14  2e 24 61 6e 73 5f 63 6f  |,0,0)....$ans_co|
00010660  6e 76 5f 73 74 69 74 63  68 65 73 25 3d 22 30 22  |nv_stitches%="0"|
00010670  3a 20 f2 66 65 28 6d 61  69 6e 25 2c 32 32 2c 30  |: .fe(main%,22,0|
00010680  2c 30 29 0d 0b 15 2c 24  63 6f 6e 76 5f 73 74 69  |,0)...,$conv_sti|
00010690  74 63 68 65 73 25 3d 22  30 2e 30 22 3a 20 f2 66  |tches%="0.0": .f|
000106a0  65 28 6d 61 69 6e 25 2c  32 31 2c 30 2c 30 29 0d  |e(main%,21,0,0).|
000106b0  0b 16 14 e7 20 a4 6c 28  6d 61 69 6e 25 2c 33 37  |.... .l(main%,37|
000106c0  29 20 8c 0d 0b 17 13 e7  20 bb 24 67 72 6f 77 73  |) ...... .$grows|
000106d0  25 3c 3e 30 20 8c 0d 0b  18 27 24 63 6f 6e 76 5f  |%<>0 ....'$conv_|
000106e0  72 6f 77 73 25 3d a4 71  28 bb 24 67 72 6f 77 73  |rows%=.q(.$grows|
000106f0  25 2c 72 6f 77 5f 68 65  69 67 68 74 29 0d 0b 19  |%,row_height)...|
00010700  15 f2 66 65 28 6d 61 69  6e 25 2c 31 39 2c 30 2c  |..fe(main%,19,0,|
00010710  30 29 0d 0b 1a 17 e7 20  bb 24 67 73 74 69 74 63  |0)..... .$gstitc|
00010720  68 65 73 25 3c 3e 30 20  8c 0d 0b 1b 31 24 63 6f  |hes%<>0 ....1$co|
00010730  6e 76 5f 73 74 69 74 63  68 65 73 25 3d a4 71 28  |nv_stitches%=.q(|
00010740  bb 24 67 73 74 69 74 63  68 65 73 25 2c 73 74 69  |.$gstitches%,sti|
00010750  74 63 68 5f 77 69 64 74  68 29 0d 0b 1c 15 f2 66  |tch_width).....f|
00010760  65 28 6d 61 69 6e 25 2c  32 31 2c 30 2c 30 29 0d  |e(main%,21,0,0).|
00010770  0b 1d 05 cd 0d 0b 1e 05  cd 0d 0b 1f 05 cd 0d 0b  |................|
00010780  20 05 e1 0d 0b 21 05 3a  0d 0b 22 09 dd 20 f2 72  | ....!.:..".. .r|
00010790  61 0d 0b 23 0b ea 20 7a  65 72 6f 25 0d 0b 24 0d  |a..#.. zero%..$.|
000107a0  6d 61 6e 6e 65 72 25 3d  31 0d 0b 25 14 f2 73 65  |manner%=1..%..se|
000107b0  28 65 64 69 74 6d 65 6e  75 25 2c 31 29 0d 0b 26  |(editmenu%,1)..&|
000107c0  14 f2 77 65 28 65 64 69  74 6d 65 6e 75 25 2c 30  |..we(editmenu%,0|
000107d0  29 0d 0b 27 14 f2 77 65  28 65 64 69 74 6d 65 6e  |)..'..we(editmen|
000107e0  75 25 2c 32 29 0d 0b 28  0a f2 65 64 28 31 29 0d  |u%,2)..(..ed(1).|
000107f0  0b 29 0a f2 63 63 28 31  29 0d 0b 2a 0a f2 74 65  |.)..cc(1)..*..te|
00010800  28 30 29 0d 0b 2b 0f 73  70 72 69 74 65 6f 6e 25  |(0)..+.spriteon%|
00010810  3d b9 0d 0b 2c 12 65 64  69 74 63 72 65 61 74 65  |=...,.editcreate|
00010820  64 25 3d a3 0d 0b 2d 1e  e7 20 65 64 69 74 6f 70  |d%=...-.. editop|
00010830  65 6e 25 3d b9 20 8c 20  f2 7a 61 28 65 64 69 74  |en%=. . .za(edit|
00010840  25 29 0d 0b 2e 07 f2 6c  62 0d 0b 2f 1c f2 66 65  |%).....lb../..fe|
00010850  28 74 62 61 72 25 2c 37  2c 30 3c 3c 32 32 2c 31  |(tbar%,7,0<<22,1|
00010860  3c 3c 32 32 29 0d 0b 30  1c f2 66 65 28 74 62 61  |<<22)..0..fe(tba|
00010870  72 25 2c 37 2c 31 3c 3c  32 31 2c 31 3c 3c 32 31  |r%,7,1<<21,1<<21|
00010880  29 0d 0b 31 1c f2 66 65  28 74 62 61 72 25 2c 35  |)..1..fe(tbar%,5|
00010890  2c 30 3c 3c 32 32 2c 31  3c 3c 32 32 29 0d 0b 32  |,0<<22,1<<22)..2|
000108a0  1c f2 66 65 28 74 62 61  72 25 2c 35 2c 31 3c 3c  |..fe(tbar%,5,1<<|
000108b0  32 31 2c 31 3c 3c 32 31  29 0d 0b 33 1c f2 66 65  |21,1<<21)..3..fe|
000108c0  28 74 62 61 72 25 2c 39  2c 30 3c 3c 32 32 2c 31  |(tbar%,9,0<<22,1|
000108d0  3c 3c 32 32 29 0d 0b 34  1d f2 66 65 28 74 62 61  |<<22)..4..fe(tba|
000108e0  72 25 2c 31 30 2c 30 3c  3c 32 32 2c 31 3c 3c 32  |r%,10,0<<22,1<<2|
000108f0  32 29 0d 0b 35 13 f2 6a  65 28 65 6d 65 6e 75 25  |2)..5..je(emenu%|
00010900  2c 34 2c 30 29 0d 0b 36  13 f2 6a 65 28 65 6d 65  |,4,0)..6..je(eme|
00010910  6e 75 25 2c 37 2c 30 29  0d 0b 37 11 f2 73 65 28  |nu%,7,0)..7..se(|
00010920  65 6d 65 6e 75 25 2c 34  29 0d 0b 38 25 f2 6f 61  |emenu%,4)..8%.oa|
00010930  28 6d 61 69 6e 25 2c 31  35 2c a9 24 74 65 6e 73  |(main%,15,.$tens|
00010940  69 6f 6e 5f 73 71 5f 77  69 64 74 68 25 29 0d 0b  |ion_sq_width%)..|
00010950  39 2a 24 61 6e 73 5f 63  6f 6e 76 5f 72 6f 77 73  |9*$ans_conv_rows|
00010960  25 3d 22 30 22 3a 20 f2  66 65 28 6d 61 69 6e 25  |%="0": .fe(main%|
00010970  2c 32 30 2c 30 2c 30 29  0d 0b 3a 28 24 63 6f 6e  |,20,0,0)..:($con|
00010980  76 5f 72 6f 77 73 25 3d  22 30 2e 30 22 3a 20 f2  |v_rows%="0.0": .|
00010990  66 65 28 6d 61 69 6e 25  2c 31 39 2c 30 2c 30 29  |fe(main%,19,0,0)|
000109a0  0d 0b 3b 2e 24 61 6e 73  5f 63 6f 6e 76 5f 73 74  |..;.$ans_conv_st|
000109b0  69 74 63 68 65 73 25 3d  22 30 22 3a 20 f2 66 65  |itches%="0": .fe|
000109c0  28 6d 61 69 6e 25 2c 32  32 2c 30 2c 30 29 0d 0b  |(main%,22,0,0)..|
000109d0  3c 2c 24 63 6f 6e 76 5f  73 74 69 74 63 68 65 73  |<,$conv_stitches|
000109e0  25 3d 22 30 2e 30 22 3a  20 f2 66 65 28 6d 61 69  |%="0.0": .fe(mai|
000109f0  6e 25 2c 32 31 2c 30 2c  30 29 0d 0b 3d 0c 7a 65  |n%,21,0,0)..=.ze|
00010a00  72 6f 25 3d a4 65 0d 0b  3e 0f e7 20 7a 65 72 6f  |ro%=.e..>.. zero|
00010a10  25 3d a3 20 8c 0d 0b 3f  0a f2 63 63 28 30 29 0d  |%=. ...?..cc(0).|
00010a20  0b 40 0a f2 72 65 28 35  29 0d 0b 41 05 cc 0d 0b  |.@..re(5)..A....|
00010a30  42 0a f2 63 63 28 31 29  0d 0b 43 0a f2 72 65 28  |B..cc(1)..C..re(|
00010a40  31 29 0d 0b 44 05 cd 0d  0b 45 05 e1 0d 0b 46 05  |1)..D....E....F.|
00010a50  3a 0d 0b 47 09 dd 20 f2  74 61 0d 0b 48 0b ea 20  |:..G.. .ta..H.. |
00010a60  7a 65 72 6f 25 0d 0b 49  0d 6d 61 6e 6e 65 72 25  |zero%..I.manner%|
00010a70  3d 32 0d 0b 4a 0b 73 74  77 25 3d 33 30 0d 0b 4b  |=2..J.stw%=30..K|
00010a80  0b 72 68 74 25 3d 33 30  0d 0b 4c 12 73 74 69 74  |.rht%=30..L.stit|
00010a90  63 68 77 69 64 74 68 3d  33 30 0d 0b 4d 0c 72 6f  |chwidth=30..M.ro|
00010aa0  77 68 74 3d 33 30 0d 0b  4e 0a f2 65 64 28 36 29  |wht=30..N..ed(6)|
00010ab0  0d 0b 4f 14 f2 73 65 28  65 64 69 74 6d 65 6e 75  |..O..se(editmenu|
00010ac0  25 2c 32 29 0d 0b 50 14  f2 77 65 28 65 64 69 74  |%,2)..P..we(edit|
00010ad0  6d 65 6e 75 25 2c 30 29  0d 0b 51 14 f2 77 65 28  |menu%,0)..Q..we(|
00010ae0  65 64 69 74 6d 65 6e 75  25 2c 31 29 0d 0b 52 13  |editmenu%,1)..R.|
00010af0  f2 6a 65 28 73 6d 65 6e  75 25 2c 30 2c 31 29 0d  |.je(smenu%,0,1).|
00010b00  0b 53 13 f2 6a 65 28 73  6d 65 6e 75 25 2c 31 2c  |.S..je(smenu%,1,|
00010b10  31 29 0d 0b 54 0f 73 70  72 69 74 65 6f 6e 25 3d  |1)..T.spriteon%=|
00010b20  a3 0d 0b 55 12 65 64 69  74 63 72 65 61 74 65 64  |...U.editcreated|
00010b30  25 3d a3 0d 0b 56 1e e7  20 65 64 69 74 6f 70 65  |%=...V.. editope|
00010b40  6e 25 3d b9 20 8c 20 f2  7a 61 28 65 64 69 74 25  |n%=. . .za(edit%|
00010b50  29 0d 0b 57 07 f2 6c 62  0d 0b 58 1c f2 66 65 28  |)..W..lb..X..fe(|
00010b60  74 62 61 72 25 2c 35 2c  31 3c 3c 32 32 2c 31 3c  |tbar%,5,1<<22,1<|
00010b70  3c 32 32 29 0d 0b 59 1c  f2 66 65 28 74 62 61 72  |<22)..Y..fe(tbar|
00010b80  25 2c 35 2c 31 3c 3c 32  31 2c 31 3c 3c 32 31 29  |%,5,1<<21,1<<21)|
00010b90  0d 0b 5a 1c f2 66 65 28  74 62 61 72 25 2c 37 2c  |..Z..fe(tbar%,7,|
00010ba0  31 3c 3c 32 32 2c 31 3c  3c 32 32 29 0d 0b 5b 1c  |1<<22,1<<22)..[.|
00010bb0  f2 66 65 28 74 62 61 72  25 2c 37 2c 30 3c 3c 32  |.fe(tbar%,7,0<<2|
00010bc0  31 2c 31 3c 3c 32 31 29  0d 0b 5c 1c f2 66 65 28  |1,1<<21)..\..fe(|
00010bd0  74 62 61 72 25 2c 39 2c  31 3c 3c 32 32 2c 31 3c  |tbar%,9,1<<22,1<|
00010be0  3c 32 32 29 0d 0b 5d 1d  f2 66 65 28 74 62 61 72  |<22)..]..fe(tbar|
00010bf0  25 2c 31 30 2c 31 3c 3c  32 32 2c 31 3c 3c 32 32  |%,10,1<<22,1<<22|
00010c00  29 0d 0b 5e 13 f2 6a 65  28 65 6d 65 6e 75 25 2c  |)..^..je(emenu%,|
00010c10  34 2c 31 29 0d 0b 5f 13  f2 6a 65 28 65 6d 65 6e  |4,1).._..je(emen|
00010c20  75 25 2c 37 2c 31 29 0d  0b 60 11 f2 77 65 28 65  |u%,7,1)..`..we(e|
00010c30  6d 65 6e 75 25 2c 34 29  0d 0b 61 0a f2 74 65 28  |menu%,4)..a..te(|
00010c40  30 29 0d 0b 62 1a f2 6f  61 28 6d 61 69 6e 25 2c  |0)..b..oa(main%,|
00010c50  32 39 2c a9 24 67 72 6f  77 73 25 29 0d 0b 63 0c  |29,.$grows%)..c.|
00010c60  7a 65 72 6f 25 3d a4 64  0d 0b 64 0f e7 20 7a 65  |zero%=.d..d.. ze|
00010c70  72 6f 25 3d b9 20 8c 0d  0b 65 0a f2 63 63 28 30  |ro%=. ...e..cc(0|
00010c80  29 0d 0b 66 0a f2 72 65  28 35 29 0d 0b 67 05 cc  |)..f..re(5)..g..|
00010c90  0d 0b 68 0a f2 63 63 28  31 29 0d 0b 69 0a f2 72  |..h..cc(1)..i..r|
00010ca0  65 28 37 29 0d 0b 6a 05  cd 0d 0b 6b 05 e1 0d 0b  |e(7)..j....k....|
00010cb0  6c 05 3a 0d 0b 6d 09 dd  20 f2 73 61 0d 0b 6e 19  |l.:..m.. .sa..n.|
00010cc0  e7 20 a4 6e 28 75 6e 69  74 6d 65 6e 75 25 2c 30  |. .n(unitmenu%,0|
00010cd0  29 3d a3 20 8c 0d 0b 6f  07 f2 78 61 0d 0b 70 14  |)=. ...o..xa..p.|
00010ce0  f2 73 65 28 75 6e 69 74  6d 65 6e 75 25 2c 30 29  |.se(unitmenu%,0)|
00010cf0  0d 0b 71 14 f2 77 65 28  75 6e 69 74 6d 65 6e 75  |..q..we(unitmenu|
00010d00  25 2c 31 29 0d 0b 72 26  24 74 73 71 74 75 6e 69  |%,1)..r&$tsqtuni|
00010d10  74 25 3d 22 69 6e 22 3a  20 f2 66 65 28 6d 61 69  |t%="in": .fe(mai|
00010d20  6e 25 2c 33 38 2c 30 2c  30 29 0d 0b 73 26 24 74  |n%,38,0,0)..s&$t|
00010d30  73 71 62 75 6e 69 74 25  3d 22 69 6e 22 3a 20 f2  |sqbunit%="in": .|
00010d40  66 65 28 6d 61 69 6e 25  2c 33 39 2c 30 2c 30 29  |fe(main%,39,0,0)|
00010d50  0d 0b 74 26 24 63 6f 6e  74 75 6e 69 74 25 3d 22  |..t&$contunit%="|
00010d60  69 6e 22 3a 20 f2 66 65  28 6d 61 69 6e 25 2c 34  |in": .fe(main%,4|
00010d70  38 2c 30 2c 30 29 0d 0b  75 26 24 63 6f 6e 62 75  |8,0,0)..u&$conbu|
00010d80  6e 69 74 25 3d 22 69 6e  22 3a 20 f2 66 65 28 6d  |nit%="in": .fe(m|
00010d90  61 69 6e 25 2c 34 39 2c  30 2c 30 29 0d 0b 76 26  |ain%,49,0,0)..v&|
00010da0  24 67 72 64 74 75 6e 69  74 25 3d 22 69 6e 22 3a  |$grdtunit%="in":|
00010db0  20 f2 66 65 28 6d 61 69  6e 25 2c 35 30 2c 30 2c  | .fe(main%,50,0,|
00010dc0  30 29 0d 0b 77 26 24 67  72 64 62 75 6e 69 74 25  |0)..w&$grdbunit%|
00010dd0  3d 22 69 6e 22 3a 20 f2  66 65 28 6d 61 69 6e 25  |="in": .fe(main%|
00010de0  2c 35 31 2c 30 2c 30 29  0d 0b 78 0a f2 62 62 28  |,51,0,0)..x..bb(|
00010df0  31 29 0d 0b 79 05 cd 0d  0b 7a 05 e1 0d 0b 7b 05  |1)..y....z....{.|
00010e00  3a 0d 0b 7c 09 dd 20 f2  70 61 0d 0b 7d 19 e7 20  |:..|.. .pa..}.. |
00010e10  a4 6e 28 75 6e 69 74 6d  65 6e 75 25 2c 31 29 3d  |.n(unitmenu%,1)=|
00010e20  a3 20 8c 0d 0b 7e 07 f2  78 61 0d 0b 7f 14 f2 73  |. ...~..xa.....s|
00010e30  65 28 75 6e 69 74 6d 65  6e 75 25 2c 31 29 0d 0b  |e(unitmenu%,1)..|
00010e40  80 14 f2 77 65 28 75 6e  69 74 6d 65 6e 75 25 2c  |...we(unitmenu%,|
00010e50  30 29 0d 0b 81 26 24 74  73 71 74 75 6e 69 74 25  |0)...&$tsqtunit%|
00010e60  3d 22 63 6d 22 3a 20 f2  66 65 28 6d 61 69 6e 25  |="cm": .fe(main%|
00010e70  2c 33 38 2c 30 2c 30 29  0d 0b 82 26 24 74 73 71  |,38,0,0)...&$tsq|
00010e80  62 75 6e 69 74 25 3d 22  63 6d 22 3a 20 f2 66 65  |bunit%="cm": .fe|
00010e90  28 6d 61 69 6e 25 2c 33  39 2c 30 2c 30 29 0d 0b  |(main%,39,0,0)..|
00010ea0  83 26 24 63 6f 6e 74 75  6e 69 74 25 3d 22 63 6d  |.&$contunit%="cm|
00010eb0  22 3a 20 f2 66 65 28 6d  61 69 6e 25 2c 34 38 2c  |": .fe(main%,48,|
00010ec0  30 2c 30 29 0d 0b 84 26  24 63 6f 6e 62 75 6e 69  |0,0)...&$conbuni|
00010ed0  74 25 3d 22 63 6d 22 3a  20 f2 66 65 28 6d 61 69  |t%="cm": .fe(mai|
00010ee0  6e 25 2c 34 39 2c 30 2c  30 29 0d 0b 85 26 24 67  |n%,49,0,0)...&$g|
00010ef0  72 64 74 75 6e 69 74 25  3d 22 63 6d 22 3a 20 f2  |rdtunit%="cm": .|
00010f00  66 65 28 6d 61 69 6e 25  2c 35 30 2c 30 2c 30 29  |fe(main%,50,0,0)|
00010f10  0d 0b 86 26 24 67 72 64  62 75 6e 69 74 25 3d 22  |...&$grdbunit%="|
00010f20  63 6d 22 3a 20 f2 66 65  28 6d 61 69 6e 25 2c 35  |cm": .fe(main%,5|
00010f30  31 2c 30 2c 30 29 0d 0b  87 0a f2 62 62 28 30 29  |1,0,0).....bb(0)|
00010f40  0d 0b 88 05 cd 0d 0b 89  05 e1 0d 0b 8a 05 3a 0d  |..............:.|
00010f50  0b 8b 09 dd 20 f2 70 63  0d 0b 8c 11 ea 20 61 25  |.... .pc..... a%|
00010f60  2c 6c 25 2c 7a 65 72 6f  25 0d 0b 8d 20 e7 20 64  |,l%,zero%... . d|
00010f70  72 61 77 25 3c 3e 30 20  8c 20 64 72 61 77 25 3d  |raw%<>0 . draw%=|
00010f80  a4 68 28 64 72 61 77 25  29 0d 0b 8e 2f e7 20 73  |.h(draw%).../. s|
00010f90  6f 75 72 63 65 73 70 72  25 3c 3e 30 20 8c 20 73  |ourcespr%<>0 . s|
00010fa0  6f 75 72 63 65 73 70 72  25 3d a4 68 28 73 6f 75  |ourcespr%=.h(sou|
00010fb0  72 63 65 73 70 72 25 29  0d 0b 8f 2c e7 20 63 6f  |rcespr%)...,. co|
00010fc0  6c 74 61 62 6c 65 25 3c  3e 30 20 8c 20 63 6f 6c  |ltable%<>0 . col|
00010fd0  74 61 62 6c 65 25 3d a4  68 28 63 6f 6c 74 61 62  |table%=.h(coltab|
00010fe0  6c 65 25 29 0d 0b 90 1e  e7 20 6d 61 69 6e 6f 70  |le%)..... mainop|
00010ff0  65 6e 25 3d a3 20 8c 20  f2 6e 64 28 6d 61 69 6e  |en%=. . .nd(main|
00011000  25 29 0d 0b 91 13 70 69  63 74 79 70 65 24 3d 22  |%)....pictype$="|
00011010  64 72 61 77 22 0d 0b 92  11 61 25 3d 8e 70 61 74  |draw"....a%=.pat|
00011020  68 66 69 6c 65 24 0d 0b  93 0b 6c 25 3d a2 23 61  |hfile$....l%=.#a|
00011030  25 0d 0b 94 09 d9 20 23  61 25 0d 0b 95 10 64 72  |%..... #a%....dr|
00011040  61 77 25 3d a4 62 28 6c  25 29 0d 0b 96 26 ff 28  |aw%=.b(l%)...&.(|
00011050  22 4c 6f 61 64 20 22 2b  70 61 74 68 66 69 6c 65  |"Load "+pathfile|
00011060  24 2b 22 20 22 2b c3 7e  28 64 72 61 77 25 29 29  |$+" "+.~(draw%))|
00011070  0d 0b 97 0f 64 72 61 77  6c 65 6e 25 3d 6c 25 0d  |....drawlen%=l%.|
00011080  0b 98 1c 64 72 61 77 78  25 3d 64 72 61 77 25 21  |...drawx%=draw%!|
00011090  33 32 2d 64 72 61 77 25  21 32 34 0d 0b 99 1c 64  |32-draw%!24....d|
000110a0  72 61 77 79 25 3d 64 72  61 77 25 21 33 36 2d 64  |rawy%=draw%!36-d|
000110b0  72 61 77 25 21 32 38 0d  0b 9a 19 64 72 61 77 78  |raw%!28....drawx|
000110c0  6f 66 66 73 65 74 25 3d  64 72 61 77 25 21 32 34  |offset%=draw%!24|
000110d0  0d 0b 9b 19 64 72 61 77  79 6f 66 66 73 65 74 25  |....drawyoffset%|
000110e0  3d 64 72 61 77 25 21 32  38 0d 0b 9c 12 73 70 78  |=draw%!28....spx|
000110f0  25 3d 64 72 61 77 78 25  3e 3e 38 0d 0b 9d 12 73  |%=drawx%>>8....s|
00011100  70 79 25 3d 64 72 61 77  79 25 3e 3e 38 0d 0b 9e  |py%=drawy%>>8...|
00011110  0c 7a 65 72 6f 25 3d a4  65 0d 0b 9f 0f e7 20 7a  |.zero%=.e..... z|
00011120  65 72 6f 25 3d b9 20 8c  0d 0b a0 0a f2 63 63 28  |ero%=. ......cc(|
00011130  30 29 0d 0b a1 0a f2 65  64 28 33 29 0d 0b a2 0a  |0).....ed(3)....|
00011140  f2 72 65 28 32 29 0d 0b  a3 1e f2 6f 61 28 6d 61  |.re(2).....oa(ma|
00011150  69 6e 25 2c 31 39 2c a9  24 63 6f 6e 76 5f 72 6f  |in%,19,.$conv_ro|
00011160  77 73 25 29 0d 0b a4 05  cc 0d 0b a5 0a f2 72 65  |ws%)..........re|
00011170  28 35 29 0d 0b a6 0a f2  65 64 28 31 29 0d 0b a7  |(5).....ed(1)...|
00011180  25 f2 6f 61 28 6d 61 69  6e 25 2c 31 35 2c a9 24  |%.oa(main%,15,.$|
00011190  74 65 6e 73 69 6f 6e 5f  73 71 5f 77 69 64 74 68  |tension_sq_width|
000111a0  25 29 0d 0b a8 05 cd 0d  0b a9 07 f2 79 61 0d 0b  |%)..........ya..|
000111b0  aa 12 65 64 69 74 63 72  65 61 74 65 64 25 3d a3  |..editcreated%=.|
000111c0  0d 0b ab 05 e1 0d 0b ac  05 3a 0d 0b ad 09 dd 20  |.........:..... |
000111d0  f2 72 63 0d 0b ae 19 ea  20 7a 65 72 6f 25 2c 78  |.rc..... zero%,x|
000111e0  65 25 2c 79 65 25 2c 73  69 7a 65 25 0d 0b af 2f  |e%,ye%,size%.../|
000111f0  e7 20 73 6f 75 72 63 65  73 70 72 25 3c 3e 30 20  |. sourcespr%<>0 |
00011200  8c 20 73 6f 75 72 63 65  73 70 72 25 3d a4 68 28  |. sourcespr%=.h(|
00011210  73 6f 75 72 63 65 73 70  72 25 29 0d 0b b0 20 e7  |sourcespr%)... .|
00011220  20 64 72 61 77 25 3c 3e  30 20 8c 20 64 72 61 77  | draw%<>0 . draw|
00011230  25 3d a4 68 28 64 72 61  77 25 29 0d 0b b1 2c e7  |%=.h(draw%)...,.|
00011240  20 63 6f 6c 74 61 62 6c  65 25 3c 3e 30 20 8c 20  | coltable%<>0 . |
00011250  63 6f 6c 74 61 62 6c 65  25 3d a4 68 28 63 6f 6c  |coltable%=.h(col|
00011260  74 61 62 6c 65 25 29 0d  0b b2 1e e7 20 6d 61 69  |table%)..... mai|
00011270  6e 6f 70 65 6e 25 3d a3  20 8c 20 f2 6e 64 28 6d  |nopen%=. . .nd(m|
00011280  61 69 6e 25 29 0d 0b b3  15 70 69 63 74 79 70 65  |ain%)....pictype|
00011290  24 3d 22 73 70 72 69 74  65 22 0d 0b b4 1a 73 70  |$="sprite"....sp|
000112a0  72 69 74 65 5f 66 69 6c  65 24 3d 70 61 74 68 66  |rite_file$=pathf|
000112b0  69 6c 65 24 0d 0b b5 1f  73 6f 75 72 63 65 73 70  |ile$....sourcesp|
000112c0  72 25 3d a4 70 28 73 70  72 69 74 65 5f 66 69 6c  |r%=.p(sprite_fil|
000112d0  65 24 29 0d 0b b6 19 73  61 72 65 61 6c 65 6e 25  |e$)....sarealen%|
000112e0  3d 21 73 6f 75 72 63 65  73 70 72 25 0d 0b b7 0c  |=!sourcespr%....|
000112f0  7a 65 72 6f 25 3d a4 65  0d 0b b8 0f e7 20 7a 65  |zero%=.e..... ze|
00011300  72 6f 25 3d b9 20 8c 0d  0b b9 0a f2 65 64 28 33  |ro%=. ......ed(3|
00011310  29 0d 0b ba 0a f2 72 65  28 32 29 0d 0b bb 1e f2  |).....re(2).....|
00011320  6f 61 28 6d 61 69 6e 25  2c 31 39 2c a9 24 63 6f  |oa(main%,19,.$co|
00011330  6e 76 5f 72 6f 77 73 25  29 0d 0b bc 05 cc 0d 0b  |nv_rows%).......|
00011340  bd 0a f2 72 65 28 35 29  0d 0b be 0a f2 65 64 28  |...re(5).....ed(|
00011350  31 29 0d 0b bf 25 f2 6f  61 28 6d 61 69 6e 25 2c  |1)...%.oa(main%,|
00011360  31 35 2c a9 24 74 65 6e  73 69 6f 6e 5f 73 71 5f  |15,.$tension_sq_|
00011370  77 69 64 74 68 25 29 0d  0b c0 05 cd 0d 0b c1 3d  |width%)........=|
00011380  c8 99 20 26 30 30 30 30  30 30 32 45 2c 26 31 30  |.. &0000002E,&10|
00011390  44 2c 73 6f 75 72 63 65  73 70 72 25 2c 62 6c 6f  |D,sourcespr%,blo|
000113a0  63 6b 25 2c 26 31 30 30  2c 31 20 b8 20 2c 2c 2c  |ck%,&100,1 . ,,,|
000113b0  6e 61 6d 65 5f 6c 65 6e  25 0d 0b c2 17 62 6c 6f  |name_len%....blo|
000113c0  63 6b 25 3f 6e 61 6d 65  5f 6c 65 6e 25 3d 31 33  |ck%?name_len%=13|
000113d0  0d 0b c3 13 73 70 72 69  74 65 24 3d 24 62 6c 6f  |....sprite$=$blo|
000113e0  63 6b 25 0d 0b c4 38 c8  99 20 26 30 30 30 30 30  |ck%...8.. &00000|
000113f0  30 32 45 2c 26 31 31 38  2c 73 6f 75 72 63 65 73  |02E,&118,sources|
00011400  70 72 25 2c 73 70 72 69  74 65 24 20 b8 20 2c 2c  |pr%,sprite$ . ,,|
00011410  73 6f 75 72 63 65 61 64  64 72 25 0d 0b c5 42 c8  |sourceaddr%...B.|
00011420  99 20 26 30 30 30 30 30  30 32 45 2c 26 32 32 38  |. &0000002E,&228|
00011430  2c 73 6f 75 72 63 65 73  70 72 25 2c 73 6f 75 72  |,sourcespr%,sour|
00011440  63 65 61 64 64 72 25 20  b8 20 2c 2c 2c 73 70 78  |ceaddr% . ,,,spx|
00011450  25 2c 73 70 79 25 2c 2c  6d 6f 64 65 25 0d 0b c6  |%,spy%,,mode%...|
00011460  13 78 65 25 3d a4 72 28  6d 6f 64 65 25 2c 34 29  |.xe%=.r(mode%,4)|
00011470  0d 0b c7 13 79 65 25 3d  a4 72 28 6d 6f 64 65 25  |....ye%=.r(mode%|
00011480  2c 35 29 0d 0b c8 12 73  70 78 25 3d 73 70 78 25  |,5)....spx%=spx%|
00011490  3c 3c 78 65 25 0d 0b c9  12 73 70 79 25 3d 73 70  |<<xe%....spy%=sp|
000114a0  79 25 3c 3c 79 65 25 0d  0b ca 41 c8 99 20 26 30  |y%<<ye%...A.. &0|
000114b0  30 30 34 30 37 34 30 2c  73 6f 75 72 63 65 73 70  |0040740,sourcesp|
000114c0  72 25 2c 73 6f 75 72 63  65 61 64 64 72 25 2c 2d  |r%,sourceaddr%,-|
000114d0  31 2c 2d 31 2c 30 2c 31  2c 30 2c 30 20 b8 20 2c  |1,-1,0,1,0,0 . ,|
000114e0  2c 2c 2c 73 69 7a 65 25  0d 0b cb 19 74 72 61 6e  |,,,size%....tran|
000114f0  73 74 61 62 6c 65 25 3d  a4 62 28 73 69 7a 65 25  |stable%=.b(size%|
00011500  29 0d 0b cc 3f c8 99 20  26 30 30 30 34 30 37 34  |)...?.. &0004074|
00011510  30 2c 73 6f 75 72 63 65  73 70 72 25 2c 73 6f 75  |0,sourcespr%,sou|
00011520  72 63 65 61 64 64 72 25  2c 2d 31 2c 2d 31 2c 74  |rceaddr%,-1,-1,t|
00011530  72 61 6e 73 74 61 62 6c  65 25 2c 31 2c 30 2c 30  |ranstable%,1,0,0|
00011540  0d 0b cd 07 f2 79 61 0d  0b ce 12 65 64 69 74 63  |.....ya....editc|
00011550  72 65 61 74 65 64 25 3d  a3 0d 0b cf 05 e1 0d 0b  |reated%=........|
00011560  d0 05 3a 0d 0b d1 09 dd  20 f2 78 64 0d 0b d2 16  |..:..... .xd....|
00011570  e7 20 65 64 69 74 63 72  65 61 74 65 64 25 3d b9  |. editcreated%=.|
00011580  20 8c 0d 0b d3 7d f2 6b  61 28 22 43 68 61 6e 67  | ....}.ka("Chang|
00011590  69 6e 67 20 74 68 61 74  20 77 69 6c 6c 20 63 61  |ing that will ca|
000115a0  75 73 65 20 61 6c 6c 20  79 6f 75 72 20 63 75 72  |use all your cur|
000115b0  72 65 6e 74 20 77 6f 72  6b 20 74 6f 20 62 65 20  |rent work to be |
000115c0  6c 6f 73 74 2e 20 41 72  65 20 79 6f 75 20 73 75  |lost. Are you su|
000115d0  72 65 20 79 6f 75 20 77  69 73 68 20 74 6f 20 64  |re you wish to d|
000115e0  6f 20 74 68 61 74 3f 22  2c 22 43 6f 6e 74 69 6e  |o that?","Contin|
000115f0  75 65 22 2c 22 43 61 6e  63 65 6c 22 2c 37 29 0d  |ue","Cancel",7).|
00011600  0b d4 05 cd 0d 0b d5 05  e1 0d 0b d6 05 3a 0d 0b  |.............:..|
00011610  d7 09 dd 20 f2 79 61 0d  0b d8 28 24 63 6f 6e 76  |... .ya...($conv|
00011620  5f 72 6f 77 73 25 3d 22  30 2e 30 22 3a 20 f2 66  |_rows%="0.0": .f|
00011630  65 28 6d 61 69 6e 25 2c  31 39 2c 30 2c 30 29 0d  |e(main%,19,0,0).|
00011640  0b d9 2c 24 63 6f 6e 76  5f 73 74 69 74 63 68 65  |..,$conv_stitche|
00011650  73 25 3d 22 30 2e 30 22  3a 20 f2 66 65 28 6d 61  |s%="0.0": .fe(ma|
00011660  69 6e 25 2c 32 31 2c 30  2c 30 29 0d 0b da 2a 24  |in%,21,0,0)...*$|
00011670  61 6e 73 5f 63 6f 6e 76  5f 72 6f 77 73 25 3d 22  |ans_conv_rows%="|
00011680  30 22 3a 20 f2 66 65 28  6d 61 69 6e 25 2c 32 30  |0": .fe(main%,20|
00011690  2c 30 2c 30 29 0d 0b db  2e 24 61 6e 73 5f 63 6f  |,0,0)....$ans_co|
000116a0  6e 76 5f 73 74 69 74 63  68 65 73 25 3d 22 30 22  |nv_stitches%="0"|
000116b0  3a 20 f2 66 65 28 6d 61  69 6e 25 2c 32 32 2c 30  |: .fe(main%,22,0|
000116c0  2c 30 29 0d 0b dc 0a f2  63 63 28 31 29 0d 0b dd  |,0).....cc(1)...|
000116d0  05 e1 0d 0b de 05 3a 0d  0b df 09 dd 20 f2 65 63  |......:..... .ec|
000116e0  0d 0b e0 0d ea 20 77 78  25 2c 77 79 25 0d 0b e1  |..... wx%,wy%...|
000116f0  13 e7 20 a4 6c 28 74 62  61 72 25 2c 35 29 20 8c  |.. .l(tbar%,5) .|
00011700  0d 0b e2 11 f2 73 65 28  65 6d 65 6e 75 25 2c 32  |.....se(emenu%,2|
00011710  29 0d 0b e3 0d 67 72 69  64 6f 6e 25 3d b9 0d 0b  |)....gridon%=...|
00011720  e4 05 cc 0d 0b e5 11 f2  77 65 28 65 6d 65 6e 75  |........we(emenu|
00011730  25 2c 32 29 0d 0b e6 0d  67 72 69 64 6f 6e 25 3d  |%,2)....gridon%=|
00011740  a3 0d 0b e7 05 cd 0d 0b  e8 11 21 62 6c 6f 63 6b  |..........!block|
00011750  25 3d 65 64 69 74 25 0d  0b e9 18 c8 99 20 26 30  |%=edit%...... &0|
00011760  30 30 34 30 30 43 42 2c  2c 62 6c 6f 63 6b 25 0d  |00400CB,,block%.|
00011770  0b ea 1a 77 78 25 3d 62  6c 6f 63 6b 25 21 34 2d  |...wx%=block%!4-|
00011780  62 6c 6f 63 6b 25 21 32  30 0d 0b eb 1b 77 79 25  |block%!20....wy%|
00011790  3d 62 6c 6f 63 6b 25 21  31 36 2d 62 6c 6f 63 6b  |=block%!16-block|
000117a0  25 21 32 34 0d 0b ec 4c  c8 99 20 26 30 30 30 34  |%!24...L.. &0004|
000117b0  30 30 44 31 2c 65 64 69  74 25 2c 62 6c 6f 63 6b  |00D1,edit%,block|
000117c0  25 21 34 2d 77 78 25 2c  62 6c 6f 63 6b 25 21 38  |%!4-wx%,block%!8|
000117d0  2d 77 79 25 2c 62 6c 6f  63 6b 25 21 31 32 2d 77  |-wy%,block%!12-w|
000117e0  78 25 2c 62 6c 6f 63 6b  25 21 31 36 2d 77 79 25  |x%,block%!16-wy%|
000117f0  0d 0b ed 05 e1 0d 0b ee  05 3a 0d 0b ef 09 dd 20  |.........:..... |
00011800  f2 7a 64 0d 0b f0 0d ea  20 77 78 25 2c 77 79 25  |.zd..... wx%,wy%|
00011810  0d 0b f1 13 e7 20 a4 6c  28 74 62 61 72 25 2c 36  |..... .l(tbar%,6|
00011820  29 20 8c 0d 0b f2 11 f2  73 65 28 65 6d 65 6e 75  |) ......se(emenu|
00011830  25 2c 33 29 0d 0b f3 11  70 61 67 65 72 75 6c 65  |%,3)....pagerule|
00011840  72 73 25 3d b9 0d 0b f4  2a 21 62 6c 6f 63 6b 25  |rs%=....*!block%|
00011850  3d 65 64 69 74 25 3a 20  c8 99 26 30 30 30 34 30  |=edit%: ..&00040|
00011860  30 43 42 2c 2c 62 6c 6f  63 6b 25 3a f2 6c 64 0d  |0CB,,block%:.ld.|
00011870  0b f5 05 cc 0d 0b f6 11  f2 77 65 28 65 6d 65 6e  |.........we(emen|
00011880  75 25 2c 33 29 0d 0b f7  11 70 61 67 65 72 75 6c  |u%,3)....pagerul|
00011890  65 72 73 25 3d a3 0d 0b  f8 14 21 62 6c 6f 63 6b  |ers%=.....!block|
000118a0  25 3d 74 6f 70 72 75 6c  65 25 0d 0b f9 18 c8 99  |%=toprule%......|
000118b0  20 26 30 30 30 34 30 30  43 36 2c 2c 62 6c 6f 63  | &000400C6,,bloc|
000118c0  6b 25 0d 0b fa 14 21 62  6c 6f 63 6b 25 3d 62 6f  |k%....!block%=bo|
000118d0  74 72 75 6c 65 25 0d 0b  fb 18 c8 99 20 26 30 30  |trule%...... &00|
000118e0  30 34 30 30 43 36 2c 2c  62 6c 6f 63 6b 25 0d 0b  |0400C6,,block%..|
000118f0  fc 15 21 62 6c 6f 63 6b  25 3d 6c 65 66 74 72 75  |..!block%=leftru|
00011900  6c 65 25 0d 0b fd 18 c8  99 20 26 30 30 30 34 30  |le%...... &00040|
00011910  30 43 36 2c 2c 62 6c 6f  63 6b 25 0d 0b fe 16 21  |0C6,,block%....!|
00011920  62 6c 6f 63 6b 25 3d 72  69 67 68 74 72 75 6c 65  |block%=rightrule|
00011930  25 0d 0b ff 18 c8 99 20  26 30 30 30 34 30 30 43  |%...... &000400C|
00011940  36 2c 2c 62 6c 6f 63 6b  25 0d 0c 00 15 21 62 6c  |6,,block%....!bl|
00011950  6f 63 6b 25 3d 63 6f 72  6e 65 72 74 6c 25 0d 0c  |ock%=cornertl%..|
00011960  01 18 c8 99 20 26 30 30  30 34 30 30 43 36 2c 2c  |.... &000400C6,,|
00011970  62 6c 6f 63 6b 25 0d 0c  02 15 21 62 6c 6f 63 6b  |block%....!block|
00011980  25 3d 63 6f 72 6e 65 72  74 72 25 0d 0c 03 18 c8  |%=cornertr%.....|
00011990  99 20 26 30 30 30 34 30  30 43 36 2c 2c 62 6c 6f  |. &000400C6,,blo|
000119a0  63 6b 25 0d 0c 04 15 21  62 6c 6f 63 6b 25 3d 63  |ck%....!block%=c|
000119b0  6f 72 6e 65 72 62 6c 25  0d 0c 05 18 c8 99 20 26  |ornerbl%...... &|
000119c0  30 30 30 34 30 30 43 36  2c 2c 62 6c 6f 63 6b 25  |000400C6,,block%|
000119d0  0d 0c 06 15 21 62 6c 6f  63 6b 25 3d 63 6f 72 6e  |....!block%=corn|
000119e0  65 72 62 72 25 0d 0c 07  18 c8 99 20 26 30 30 30  |erbr%...... &000|
000119f0  34 30 30 43 36 2c 2c 62  6c 6f 63 6b 25 0d 0c 08  |400C6,,block%...|
00011a00  05 cd 0d 0c 09 11 21 62  6c 6f 63 6b 25 3d 65 64  |......!block%=ed|
00011a10  69 74 25 0d 0c 0a 18 c8  99 20 26 30 30 30 34 30  |it%...... &00040|
00011a20  30 43 42 2c 2c 62 6c 6f  63 6b 25 0d 0c 0b 1a 77  |0CB,,block%....w|
00011a30  78 25 3d 62 6c 6f 63 6b  25 21 34 2d 62 6c 6f 63  |x%=block%!4-bloc|
00011a40  6b 25 21 32 30 0d 0c 0c  1b 77 79 25 3d 62 6c 6f  |k%!20....wy%=blo|
00011a50  63 6b 25 21 31 36 2d 62  6c 6f 63 6b 25 21 32 34  |ck%!16-block%!24|
00011a60  0d 0c 0d 4c c8 99 20 26  30 30 30 34 30 30 44 31  |...L.. &000400D1|
00011a70  2c 65 64 69 74 25 2c 62  6c 6f 63 6b 25 21 34 2d  |,edit%,block%!4-|
00011a80  77 78 25 2c 62 6c 6f 63  6b 25 21 38 2d 77 79 25  |wx%,block%!8-wy%|
00011a90  2c 62 6c 6f 63 6b 25 21  31 32 2d 77 78 25 2c 62  |,block%!12-wx%,b|
00011aa0  6c 6f 63 6b 25 21 31 36  2d 77 79 25 0d 0c 0e 05  |lock%!16-wy%....|
00011ab0  e1 0d 0c 0f 05 3a 0d 0c  10 09 dd 20 f2 6d 65 0d  |.....:..... .me.|
00011ac0  0c 11 0d ea 20 77 78 25  2c 77 79 25 0d 0c 12 13  |.... wx%,wy%....|
00011ad0  e7 20 a4 6c 28 74 62 61  72 25 2c 37 29 20 8c 0d  |. .l(tbar%,7) ..|
00011ae0  0c 13 0f 73 70 72 69 74  65 6f 6e 25 3d b9 0d 0c  |...spriteon%=...|
00011af0  14 11 f2 73 65 28 65 6d  65 6e 75 25 2c 34 29 0d  |...se(emenu%,4).|
00011b00  0c 15 05 cc 0d 0c 16 0f  73 70 72 69 74 65 6f 6e  |........spriteon|
00011b10  25 3d a3 0d 0c 17 11 f2  77 65 28 65 6d 65 6e 75  |%=......we(emenu|
00011b20  25 2c 34 29 0d 0c 18 05  cd 0d 0c 19 11 21 62 6c  |%,4).........!bl|
00011b30  6f 63 6b 25 3d 65 64 69  74 25 0d 0c 1a 18 c8 99  |ock%=edit%......|
00011b40  20 26 30 30 30 34 30 30  43 42 2c 2c 62 6c 6f 63  | &000400CB,,bloc|
00011b50  6b 25 0d 0c 1b 1a 77 78  25 3d 62 6c 6f 63 6b 25  |k%....wx%=block%|
00011b60  21 34 2d 62 6c 6f 63 6b  25 21 32 30 0d 0c 1c 1b  |!4-block%!20....|
00011b70  77 79 25 3d 62 6c 6f 63  6b 25 21 31 36 2d 62 6c  |wy%=block%!16-bl|
00011b80  6f 63 6b 25 21 32 34 0d  0c 1d 4c c8 99 20 26 30  |ock%!24...L.. &0|
00011b90  30 30 34 30 30 44 31 2c  65 64 69 74 25 2c 62 6c  |00400D1,edit%,bl|
00011ba0  6f 63 6b 25 21 34 2d 77  78 25 2c 62 6c 6f 63 6b  |ock%!4-wx%,block|
00011bb0  25 21 38 2d 77 79 25 2c  62 6c 6f 63 6b 25 21 31  |%!8-wy%,block%!1|
00011bc0  32 2d 77 78 25 2c 62 6c  6f 63 6b 25 21 31 36 2d  |2-wx%,block%!16-|
00011bd0  77 79 25 0d 0c 1e 05 e1  0d 0c 1f 05 3a 0d 0c 20  |wy%.........:.. |
00011be0  09 dd 20 f2 70 65 0d 0c  21 11 21 62 6c 6f 63 6b  |.. .pe..!.!block|
00011bf0  25 3d 74 62 61 72 25 0d  0c 22 18 c8 99 20 26 30  |%=tbar%.."... &0|
00011c00  30 30 34 30 30 43 43 2c  2c 62 6c 6f 63 6b 25 0d  |00400CC,,block%.|
00011c10  0c 23 2e 78 25 3d 62 6c  6f 63 6b 25 21 28 34 2b  |.#.x%=block%!(4+|
00011c20  38 38 2b 38 2a 33 32 2b  30 29 2b 62 6c 6f 63 6b  |88+8*32+0)+block|
00011c30  25 21 34 2d 62 6c 6f 63  6b 25 21 32 30 0d 0c 24  |%!4-block%!20..$|
00011c40  0f 79 25 3d 62 6c 6f 63  6b 25 21 38 0d 0c 25 13  |.y%=block%!8..%.|
00011c50  78 25 2d 3d 34 31 36 3a  20 79 25 2d 3d 34 32 0d  |x%-=416: y%-=42.|
00011c60  0c 26 15 21 62 6c 6f 63  6b 25 3d 73 79 6d 62 70  |.&.!block%=symbp|
00011c70  69 63 6b 25 0d 0c 27 18  c8 99 20 26 30 30 30 34  |ick%..'... &0004|
00011c80  30 30 43 42 2c 2c 62 6c  6f 63 6b 25 0d 0c 28 19  |00CB,,block%..(.|
00011c90  77 25 3d 62 6c 6f 63 6b  25 21 31 32 2d 62 6c 6f  |w%=block%!12-blo|
00011ca0  63 6b 25 21 34 0d 0c 29  19 68 25 3d 62 6c 6f 63  |ck%!4..).h%=bloc|
00011cb0  6b 25 21 31 36 2d 62 6c  6f 63 6b 25 21 38 0d 0c  |k%!16-block%!8..|
00011cc0  2a 0f 62 6c 6f 63 6b 25  21 34 3d 78 25 0d 0c 2b  |*.block%!4=x%..+|
00011cd0  12 62 6c 6f 63 6b 25 21  38 3d 79 25 2d 68 25 0d  |.block%!8=y%-h%.|
00011ce0  0c 2c 13 62 6c 6f 63 6b  25 21 31 32 3d 78 25 2b  |.,.block%!12=x%+|
00011cf0  77 25 0d 0c 2d 10 62 6c  6f 63 6b 25 21 31 36 3d  |w%..-.block%!16=|
00011d00  79 25 0d 0c 2e 10 62 6c  6f 63 6b 25 21 32 38 3d  |y%....block%!28=|
00011d10  2d 31 0d 0c 2f 18 c8 99  20 26 30 30 30 34 30 30  |-1../... &000400|
00011d20  43 35 2c 2c 62 6c 6f 63  6b 25 0d 0c 30 05 e1 0d  |C5,,block%..0...|
00011d30  0c 31 05 3a 0d 0c 32 09  dd 20 f2 6e 62 0d 0c 33  |.1.:..2.. .nb..3|
00011d40  07 f2 79 63 0d 0c 34 13  f2 6e 64 28 63 6f 6c 63  |..yc..4..nd(colc|
00011d50  72 65 61 74 65 25 29 0d  0c 35 05 e1 0d 0c 36 05  |reate%)..5....6.|
00011d60  3a 0d 0c 37 09 dd 20 f2  63 62 0d 0c 38 11 ea 20  |:..7.. .cb..8.. |
00011d70  78 25 2c 79 25 2c 77 25  2c 68 25 0d 0c 39 13 e7  |x%,y%,w%,h%..9..|
00011d80  20 6d 61 78 63 6f 6c 25  3c 3e 2d 31 20 8c 0d 0c  | maxcol%<>-1 ...|
00011d90  3a 07 f2 78 63 0d 0c 3b  11 21 62 6c 6f 63 6b 25  |:..xc..;.!block%|
00011da0  3d 74 62 61 72 25 0d 0c  3c 18 c8 99 20 26 30 30  |=tbar%..<... &00|
00011db0  30 34 30 30 43 43 2c 2c  62 6c 6f 63 6b 25 0d 0c  |0400CC,,block%..|
00011dc0  3d 2e 78 25 3d 62 6c 6f  63 6b 25 21 28 34 2b 38  |=.x%=block%!(4+8|
00011dd0  38 2b 38 2a 33 32 2b 30  29 2b 62 6c 6f 63 6b 25  |8+8*32+0)+block%|
00011de0  21 34 2d 62 6c 6f 63 6b  25 21 32 30 0d 0c 3e 0f  |!4-block%!20..>.|
00011df0  79 25 3d 62 6c 6f 63 6b  25 21 38 0d 0c 3f 13 78  |y%=block%!8..?.x|
00011e00  25 2d 3d 31 36 32 3a 20  79 25 2d 3d 34 32 0d 0c  |%-=162: y%-=42..|
00011e10  40 16 21 62 6c 6f 63 6b  25 3d 63 6f 6c 63 68 6f  |@.!block%=colcho|
00011e20  6f 73 65 25 0d 0c 41 18  c8 99 20 26 30 30 30 34  |ose%..A... &0004|
00011e30  30 30 43 42 2c 2c 62 6c  6f 63 6b 25 0d 0c 42 19  |00CB,,block%..B.|
00011e40  77 25 3d 62 6c 6f 63 6b  25 21 31 32 2d 62 6c 6f  |w%=block%!12-blo|
00011e50  63 6b 25 21 34 0d 0c 43  19 68 25 3d 62 6c 6f 63  |ck%!4..C.h%=bloc|
00011e60  6b 25 21 31 36 2d 62 6c  6f 63 6b 25 21 38 0d 0c  |k%!16-block%!8..|
00011e70  44 0f 62 6c 6f 63 6b 25  21 34 3d 78 25 0d 0c 45  |D.block%!4=x%..E|
00011e80  12 62 6c 6f 63 6b 25 21  38 3d 79 25 2d 68 25 0d  |.block%!8=y%-h%.|
00011e90  0c 46 13 62 6c 6f 63 6b  25 21 31 32 3d 78 25 2b  |.F.block%!12=x%+|
00011ea0  77 25 0d 0c 47 10 62 6c  6f 63 6b 25 21 31 36 3d  |w%..G.block%!16=|
00011eb0  79 25 0d 0c 48 10 62 6c  6f 63 6b 25 21 32 38 3d  |y%..H.block%!28=|
00011ec0  2d 31 0d 0c 49 18 c8 99  20 26 30 30 30 34 30 30  |-1..I... &000400|
00011ed0  43 35 2c 2c 62 6c 6f 63  6b 25 0d 0c 4a 05 cc 0d  |C5,,block%..J...|
00011ee0  0c 4b 31 f2 77 64 28 22  50 6c 65 61 73 65 20 70  |.K1.wd("Please p|
00011ef0  69 63 6b 20 73 6f 6d 65  20 63 6f 6c 6f 75 72 73  |ick some colours|
00011f00  20 74 6f 20 75 73 65 20  66 69 72 73 74 2e 22 29  | to use first.")|
00011f10  0d 0c 4c 07 f2 6e 62 0d  0c 4d 05 cd 0d 0c 4e 05  |..L..nb..M....N.|
00011f20  e1 0d 0c 4f 05 3a 0d 0c  50 09 dd 20 f2 78 63 0d  |...O.:..P.. .xc.|
00011f30  0c 51 19 ea 20 69 25 2c  63 6f 6c 6f 75 72 25 2c  |.Q.. i%,colour%,|
00011f40  6d 61 78 69 63 6f 6e 25  0d 0c 52 16 21 62 6c 6f  |maxicon%..R.!blo|
00011f50  63 6b 25 3d 63 6f 6c 63  68 6f 6f 73 65 25 0d 0c  |ck%=colchoose%..|
00011f60  53 18 c8 99 20 26 30 30  30 34 30 30 43 43 2c 2c  |S... &000400CC,,|
00011f70  62 6c 6f 63 6b 25 0d 0c  54 23 62 6c 6f 63 6b 25  |block%..T#block%|
00011f80  21 28 34 2b 34 34 29 3d  2d 28 32 37 36 2b 6d 61  |!(4+44)=-(276+ma|
00011f90  78 63 6f 6c 25 2a 37 36  29 0d 0c 55 2d e7 20 62  |xcol%*76)..U-. b|
00011fa0  6c 6f 63 6b 25 21 28 34  2b 34 34 29 3e 2d 33 30  |lock%!(4+44)>-30|
00011fb0  30 20 8c 20 62 6c 6f 63  6b 25 21 28 34 2b 34 34  |0 . block%!(4+44|
00011fc0  29 3d 2d 33 30 30 0d 0c  56 25 c8 99 20 26 30 30  |)=-300..V%.. &00|
00011fd0  30 34 30 30 44 37 2c 63  6f 6c 63 68 6f 6f 73 65  |0400D7,colchoose|
00011fe0  25 2c 62 6c 6f 63 6b 25  2b 34 34 0d 0c 57 13 e3  |%,block%+44..W..|
00011ff0  20 69 25 3d 30 20 b8 20  32 38 20 88 20 34 0d 0c  | i%=0 . 28 . 4..|
00012000  58 2a 62 6c 6f 63 6b 25  21 28 31 30 30 34 2b 69  |X*block%!(1004+i|
00012010  25 29 3d 62 6c 6f 63 6b  25 21 28 34 2b 38 38 2b  |%)=block%!(4+88+|
00012020  36 2a 33 32 2b 69 25 29  0d 0c 59 08 ed 20 69 25  |6*32+i%)..Y.. i%|
00012030  0d 0c 5a 13 e3 20 69 25  3d 30 20 b8 20 32 38 20  |..Z.. i%=0 . 28 |
00012040  88 20 34 0d 0c 5b 2a 62  6c 6f 63 6b 25 21 28 31  |. 4..[*block%!(1|
00012050  30 34 34 2b 69 25 29 3d  62 6c 6f 63 6b 25 21 28  |044+i%)=block%!(|
00012060  34 2b 38 38 2b 37 2a 33  32 2b 69 25 29 0d 0c 5c  |4+88+7*32+i%)..\|
00012070  08 ed 20 69 25 0d 0c 5d  13 e3 20 69 25 3d 30 20  |.. i%..].. i%=0 |
00012080  b8 20 32 38 20 88 20 34  0d 0c 5e 2a 62 6c 6f 63  |. 28 . 4..^*bloc|
00012090  6b 25 21 28 31 30 38 34  2b 69 25 29 3d 62 6c 6f  |k%!(1084+i%)=blo|
000120a0  63 6b 25 21 28 34 2b 38  38 2b 38 2a 33 32 2b 69  |ck%!(4+88+8*32+i|
000120b0  25 29 0d 0c 5f 08 ed 20  69 25 0d 0c 60 1c 6d 61  |%).._.. i%..`.ma|
000120c0  78 69 63 6f 6e 25 3d 28  62 6c 6f 63 6b 25 21 28  |xicon%=(block%!(|
000120d0  34 2b 38 34 29 29 0d 0c  61 1c 62 6c 6f 63 6b 25  |4+84))..a.block%|
000120e0  21 28 32 30 30 30 29 3d  63 6f 6c 63 68 6f 6f 73  |!(2000)=colchoos|
000120f0  65 25 0d 0c 62 11 c8 95  20 6d 61 78 69 63 6f 6e  |e%..b... maxicon|
00012100  25 3e 35 0d 0c 63 1c 62  6c 6f 63 6b 25 21 28 32  |%>5..c.block%!(2|
00012110  30 30 30 2b 34 29 3d 6d  61 78 69 63 6f 6e 25 0d  |000+4)=maxicon%.|
00012120  0c 64 1d c8 99 20 26 30  30 30 34 30 30 43 34 2c  |.d... &000400C4,|
00012130  2c 62 6c 6f 63 6b 25 2b  32 30 30 30 0d 0c 65 0f  |,block%+2000..e.|
00012140  6d 61 78 69 63 6f 6e 25  2d 3d 31 0d 0c 66 05 ce  |maxicon%-=1..f..|
00012150  0d 0c 67 4a 62 6c 6f 63  6b 25 21 31 30 30 30 3d  |..gJblock%!1000=|
00012160  63 6f 6c 63 68 6f 6f 73  65 25 3a 20 62 6c 6f 63  |colchoose%: bloc|
00012170  6b 25 21 31 30 34 30 3d  63 6f 6c 63 68 6f 6f 73  |k%!1040=colchoos|
00012180  65 25 3a 20 62 6c 6f 63  6b 25 21 31 30 38 30 3d  |e%: block%!1080=|
00012190  63 6f 6c 63 68 6f 6f 73  65 25 0d 0c 68 0d 63 6f  |colchoose%..h.co|
000121a0  6c 6f 75 72 25 3d 30 0d  0c 69 17 c8 95 20 63 6f  |lour%=0..i... co|
000121b0  6c 6f 75 72 25 3c 3d 6d  61 78 63 6f 6c 25 0d 0c  |lour%<=maxcol%..|
000121c0  6a 1d c8 99 20 26 30 30  30 34 30 30 43 32 2c 2c  |j... &000400C2,,|
000121d0  62 6c 6f 63 6b 25 2b 31  30 30 30 0d 0c 6b 1d c8  |block%+1000..k..|
000121e0  99 20 26 30 30 30 34 30  30 43 32 2c 2c 62 6c 6f  |. &000400C2,,blo|
000121f0  63 6b 25 2b 31 30 34 30  0d 0c 6c 25 62 6c 6f 63  |ck%+1040..l%bloc|
00012200  6b 25 21 31 31 30 34 3d  6e 61 6d 65 74 61 62 6c  |k%!1104=nametabl|
00012210  65 25 2b 63 6f 6c 6f 75  72 25 2a 31 33 0d 0c 6d  |e%+colour%*13..m|
00012220  1d c8 99 20 26 30 30 30  34 30 30 43 32 2c 2c 62  |... &000400C2,,b|
00012230  6c 6f 63 6b 25 2b 31 30  38 30 0d 0c 6e 24 62 6c  |lock%+1080..n$bl|
00012240  6f 63 6b 25 21 31 30 30  38 2d 3d 37 36 3a 20 62  |ock%!1008-=76: b|
00012250  6c 6f 63 6b 25 21 31 30  31 36 2d 3d 37 36 0d 0c  |lock%!1016-=76..|
00012260  6f 24 62 6c 6f 63 6b 25  21 31 30 34 38 2d 3d 37  |o$block%!1048-=7|
00012270  36 3a 20 62 6c 6f 63 6b  25 21 31 30 35 36 2d 3d  |6: block%!1056-=|
00012280  37 36 0d 0c 70 24 62 6c  6f 63 6b 25 21 31 30 38  |76..p$block%!108|
00012290  38 2d 3d 37 36 3a 20 62  6c 6f 63 6b 25 21 31 30  |8-=76: block%!10|
000122a0  39 36 2d 3d 37 36 0d 0c  71 0e 63 6f 6c 6f 75 72  |96-=76..q.colour|
000122b0  25 2b 3d 31 0d 0c 72 05  ce 0d 0c 73 13 e7 20 6d  |%+=1..r....s.. m|
000122c0  61 78 63 6f 6c 25 3c 3e  2d 31 20 8c 0d 0c 74 14  |axcol%<>-1 ...t.|
000122d0  e3 20 69 25 3d 30 20 b8  20 6d 61 78 63 6f 6c 25  |. i%=0 . maxcol%|
000122e0  0d 0c 75 16 e7 20 69 25  3d 63 75 72 72 65 6e 74  |..u.. i%=current|
000122f0  63 6f 6c 25 20 8c 0d 0c  76 26 f2 66 65 28 63 6f  |col% ...v&.fe(co|
00012300  6c 63 68 6f 6f 73 65 25  2c 69 25 2a 33 2b 37 2c  |lchoose%,i%*3+7,|
00012310  31 3c 3c 32 31 2c 31 3c  3c 32 31 29 0d 0c 77 05  |1<<21,1<<21)..w.|
00012320  cc 0d 0c 78 26 f2 66 65  28 63 6f 6c 63 68 6f 6f  |...x&.fe(colchoo|
00012330  73 65 25 2c 69 25 2a 33  2b 37 2c 30 3c 3c 32 31  |se%,i%*3+7,0<<21|
00012340  2c 31 3c 3c 32 31 29 0d  0c 79 05 cd 0d 0c 7a 08  |,1<<21)..y....z.|
00012350  ed 20 69 25 0d 0c 7b 34  e7 20 63 75 72 72 65 6e  |. i%..{4. curren|
00012360  74 63 6f 6c 25 3d 36 34  20 8c 20 f2 66 65 28 63  |tcol%=64 . .fe(c|
00012370  6f 6c 63 68 6f 6f 73 65  25 2c 31 2c 31 3c 3c 32  |olchoose%,1,1<<2|
00012380  31 2c 31 3c 3c 32 31 29  0d 0c 7c 35 e7 20 63 75  |1,1<<21)..|5. cu|
00012390  72 72 65 6e 74 63 6f 6c  25 3d 31 32 38 20 8c 20  |rrentcol%=128 . |
000123a0  f2 66 65 28 63 6f 6c 63  68 6f 6f 73 65 25 2c 34  |.fe(colchoose%,4|
000123b0  2c 31 3c 3c 32 31 2c 31  3c 3c 32 31 29 0d 0c 7d  |,1<<21,1<<21)..}|
000123c0  05 cd 0d 0c 7e 05 e1 0d  0c 7f 05 3a 0d 0c 80 09  |....~......:....|
000123d0  dd 20 f2 79 63 0d 0c 81  19 ea 20 69 25 2c 63 6f  |. .yc..... i%,co|
000123e0  6c 6f 75 72 25 2c 6d 61  78 69 63 6f 6e 25 0d 0c  |lour%,maxicon%..|
000123f0  82 14 21 62 6c 6f 63 6b  25 3d 63 6f 6c 70 61 6e  |..!block%=colpan|
00012400  65 25 0d 0c 83 18 c8 99  20 26 30 30 30 34 30 30  |e%...... &000400|
00012410  43 43 2c 2c 62 6c 6f 63  6b 25 0d 0c 84 23 62 6c  |CC,,block%...#bl|
00012420  6f 63 6b 25 21 28 34 2b  34 34 29 3d 2d 28 31 32  |ock%!(4+44)=-(12|
00012430  34 2b 6d 61 78 63 6f 6c  25 2a 37 36 29 0d 0c 85  |4+maxcol%*76)...|
00012440  2d e7 20 62 6c 6f 63 6b  25 21 28 34 2b 34 34 29  |-. block%!(4+44)|
00012450  3e 2d 33 30 30 20 8c 20  62 6c 6f 63 6b 25 21 28  |>-300 . block%!(|
00012460  34 2b 34 34 29 3d 2d 33  30 30 0d 0c 86 23 c8 99  |4+44)=-300...#..|
00012470  20 26 30 30 30 34 30 30  44 37 2c 63 6f 6c 70 61  | &000400D7,colpa|
00012480  6e 65 25 2c 62 6c 6f 63  6b 25 2b 34 34 0d 0c 87  |ne%,block%+44...|
00012490  13 e3 20 69 25 3d 30 20  b8 20 32 38 20 88 20 34  |.. i%=0 . 28 . 4|
000124a0  0d 0c 88 25 62 6c 6f 63  6b 25 21 28 31 30 30 34  |...%block%!(1004|
000124b0  2b 69 25 29 3d 62 6c 6f  63 6b 25 21 28 34 2b 38  |+i%)=block%!(4+8|
000124c0  38 2b 69 25 29 0d 0c 89  08 ed 20 69 25 0d 0c 8a  |8+i%)..... i%...|
000124d0  13 e3 20 69 25 3d 30 20  b8 20 32 38 20 88 20 34  |.. i%=0 . 28 . 4|
000124e0  0d 0c 8b 28 62 6c 6f 63  6b 25 21 28 31 30 34 34  |...(block%!(1044|
000124f0  2b 69 25 29 3d 62 6c 6f  63 6b 25 21 28 34 2b 38  |+i%)=block%!(4+8|
00012500  38 2b 33 32 2b 69 25 29  0d 0c 8c 08 ed 20 69 25  |8+32+i%)..... i%|
00012510  0d 0c 8d 13 e3 20 69 25  3d 30 20 b8 20 32 38 20  |..... i%=0 . 28 |
00012520  88 20 34 0d 0c 8e 28 62  6c 6f 63 6b 25 21 28 31  |. 4...(block%!(1|
00012530  30 38 34 2b 69 25 29 3d  62 6c 6f 63 6b 25 21 28  |084+i%)=block%!(|
00012540  34 2b 38 38 2b 36 34 2b  69 25 29 0d 0c 8f 08 ed  |4+88+64+i%).....|
00012550  20 69 25 0d 0c 90 1c 6d  61 78 69 63 6f 6e 25 3d  | i%....maxicon%=|
00012560  28 62 6c 6f 63 6b 25 21  28 34 2b 38 34 29 29 0d  |(block%!(4+84)).|
00012570  0c 91 1a 62 6c 6f 63 6b  25 21 28 32 30 30 30 29  |...block%!(2000)|
00012580  3d 63 6f 6c 70 61 6e 65  25 0d 0c 92 12 c8 95 20  |=colpane%...... |
00012590  6d 61 78 69 63 6f 6e 25  3e 2d 31 0d 0c 93 1c 62  |maxicon%>-1....b|
000125a0  6c 6f 63 6b 25 21 28 32  30 30 30 2b 34 29 3d 6d  |lock%!(2000+4)=m|
000125b0  61 78 69 63 6f 6e 25 0d  0c 94 1d c8 99 20 26 30  |axicon%...... &0|
000125c0  30 30 34 30 30 43 34 2c  2c 62 6c 6f 63 6b 25 2b  |00400C4,,block%+|
000125d0  32 30 30 30 0d 0c 95 0f  6d 61 78 69 63 6f 6e 25  |2000....maxicon%|
000125e0  2d 3d 31 0d 0c 96 05 ce  0d 0c 97 44 62 6c 6f 63  |-=1........Dbloc|
000125f0  6b 25 21 31 30 30 30 3d  63 6f 6c 70 61 6e 65 25  |k%!1000=colpane%|
00012600  3a 20 62 6c 6f 63 6b 25  21 31 30 34 30 3d 63 6f  |: block%!1040=co|
00012610  6c 70 61 6e 65 25 3a 20  62 6c 6f 63 6b 25 21 31  |lpane%: block%!1|
00012620  30 38 30 3d 63 6f 6c 70  61 6e 65 25 0d 0c 98 0d  |080=colpane%....|
00012630  63 6f 6c 6f 75 72 25 3d  30 0d 0c 99 17 c8 95 20  |colour%=0...... |
00012640  63 6f 6c 6f 75 72 25 3c  3d 6d 61 78 63 6f 6c 25  |colour%<=maxcol%|
00012650  0d 0c 9a 1d c8 99 20 26  30 30 30 34 30 30 43 32  |...... &000400C2|
00012660  2c 2c 62 6c 6f 63 6b 25  2b 31 30 30 30 0d 0c 9b  |,,block%+1000...|
00012670  1d c8 99 20 26 30 30 30  34 30 30 43 32 2c 2c 62  |... &000400C2,,b|
00012680  6c 6f 63 6b 25 2b 31 30  34 30 0d 0c 9c 25 62 6c  |lock%+1040...%bl|
00012690  6f 63 6b 25 21 31 31 30  34 3d 6e 61 6d 65 74 61  |ock%!1104=nameta|
000126a0  62 6c 65 25 2b 63 6f 6c  6f 75 72 25 2a 31 33 0d  |ble%+colour%*13.|
000126b0  0c 9d 1d c8 99 20 26 30  30 30 34 30 30 43 32 2c  |..... &000400C2,|
000126c0  2c 62 6c 6f 63 6b 25 2b  31 30 38 30 0d 0c 9e 24  |,block%+1080...$|
000126d0  62 6c 6f 63 6b 25 21 31  30 30 38 2d 3d 37 36 3a  |block%!1008-=76:|
000126e0  20 62 6c 6f 63 6b 25 21  31 30 31 36 2d 3d 37 36  | block%!1016-=76|
000126f0  0d 0c 9f 24 62 6c 6f 63  6b 25 21 31 30 34 38 2d  |...$block%!1048-|
00012700  3d 37 36 3a 20 62 6c 6f  63 6b 25 21 31 30 35 36  |=76: block%!1056|
00012710  2d 3d 37 36 0d 0c a0 24  62 6c 6f 63 6b 25 21 31  |-=76...$block%!1|
00012720  30 38 38 2d 3d 37 36 3a  20 62 6c 6f 63 6b 25 21  |088-=76: block%!|
00012730  31 30 39 36 2d 3d 37 36  0d 0c a1 0e 63 6f 6c 6f  |1096-=76....colo|
00012740  75 72 25 2b 3d 31 0d 0c  a2 05 ce 0d 0c a3 14 e3  |ur%+=1..........|
00012750  20 69 25 3d 30 20 b8 20  6d 61 78 63 6f 6c 25 0d  | i%=0 . maxcol%.|
00012760  0c a4 24 f2 66 65 28 63  6f 6c 70 61 6e 65 25 2c  |..$.fe(colpane%,|
00012770  69 25 2a 33 2b 31 2c 30  3c 3c 32 31 2c 31 3c 3c  |i%*3+1,0<<21,1<<|
00012780  32 31 29 0d 0c a5 08 ed  20 69 25 0d 0c a6 05 e1  |21)..... i%.....|
00012790  0d 0c a7 05 3a 0d 0c a8  09 dd 20 f2 6b 65 0d 0c  |....:..... .ke..|
000127a0  a9 3f ea 20 6f 72 78 25  2c 6f 72 79 25 2c 63 6f  |.?. orx%,ory%,co|
000127b0  6c 25 2c 72 6f 77 25 2c  73 74 69 74 63 68 25 2c  |l%,row%,stitch%,|
000127c0  6d 69 6e 72 6f 77 25 2c  6d 61 78 72 6f 77 25 2c  |minrow%,maxrow%,|
000127d0  6d 69 6e 73 74 25 2c 6d  61 78 73 74 25 0d 0c aa  |minst%,maxst%...|
000127e0  3f ea 20 6d 69 6e 78 25  2c 6d 69 6e 79 25 2c 6d  |?. minx%,miny%,m|
000127f0  61 78 78 25 2c 6d 61 78  79 25 2c 6d 69 6e 76 72  |axx%,maxy%,minvr|
00012800  6f 77 25 2c 6d 61 78 76  72 6f 77 25 2c 6d 69 6e  |ow%,maxvrow%,min|
00012810  76 73 74 25 2c 6d 61 78  76 73 74 25 0d 0c ab 10  |vst%,maxvst%....|
00012820  c8 99 20 26 30 30 30 34  30 36 43 30 0d 0c ac 15  |.. &000406C0....|
00012830  e7 20 a4 6c 28 74 62 61  72 25 2c 39 29 3d a3 20  |. .l(tbar%,9)=. |
00012840  8c 0d 0c ad 0f 73 68 6f  77 6d 61 73 6b 25 3d b9  |.....showmask%=.|
00012850  0d 0c ae 14 f2 73 65 28  6d 61 73 6b 6d 65 6e 75  |.....se(maskmenu|
00012860  25 2c 30 29 0d 0c af 05  cc 0d 0c b0 0f 73 68 6f  |%,0).........sho|
00012870  77 6d 61 73 6b 25 3d a3  0d 0c b1 14 f2 77 65 28  |wmask%=......we(|
00012880  6d 61 73 6b 6d 65 6e 75  25 2c 30 29 0d 0c b2 05  |maskmenu%,0)....|
00012890  cd 0d 0c b3 11 21 62 6c  6f 63 6b 25 3d 65 64 69  |.....!block%=edi|
000128a0  74 25 0d 0c b4 18 c8 99  20 26 30 30 30 34 30 30  |t%...... &000400|
000128b0  43 42 2c 2c 62 6c 6f 63  6b 25 0d 0c b5 1b 6f 72  |CB,,block%....or|
000128c0  78 25 3d 62 6c 6f 63 6b  25 21 34 2d 62 6c 6f 63  |x%=block%!4-bloc|
000128d0  6b 25 21 32 30 0d 0c b6  1c 6f 72 79 25 3d 62 6c  |k%!20....ory%=bl|
000128e0  6f 63 6b 25 21 31 36 2d  62 6c 6f 63 6b 25 21 32  |ock%!16-block%!2|
000128f0  34 0d 0c b7 17 6d 69 6e  78 25 3d 62 6c 6f 63 6b  |4....minx%=block|
00012900  25 21 34 2d 6f 72 78 25  0d 0c b8 18 6d 61 78 78  |%!4-orx%....maxx|
00012910  25 3d 62 6c 6f 63 6b 25  21 31 32 2d 6f 72 78 25  |%=block%!12-orx%|
00012920  0d 0c b9 1f 6d 69 6e 79  25 3d 62 6c 6f 63 6b 25  |....miny%=block%|
00012930  21 38 2d 6f 72 79 25 2b  65 64 69 74 68 74 25 0d  |!8-ory%+editht%.|
00012940  0c ba 20 6d 61 78 79 25  3d 62 6c 6f 63 6b 25 21  |.. maxy%=block%!|
00012950  31 36 2d 6f 72 79 25 2b  65 64 69 74 68 74 25 0d  |16-ory%+editht%.|
00012960  0c bb 24 6d 69 6e 76 73  74 25 3d 28 6d 69 6e 78  |..$minvst%=(minx|
00012970  25 2d 72 75 6c 65 73 69  7a 65 25 29 2f 73 74 77  |%-rulesize%)/stw|
00012980  25 2d 31 0d 0c bc 24 6d  61 78 76 73 74 25 3d 28  |%-1...$maxvst%=(|
00012990  6d 61 78 78 25 2d 72 75  6c 65 73 69 7a 65 25 29  |maxx%-rulesize%)|
000129a0  2f 73 74 77 25 2b 31 0d  0c bd 25 6d 69 6e 76 72  |/stw%+1...%minvr|
000129b0  6f 77 25 3d 28 6d 69 6e  79 25 2d 72 75 6c 65 73  |ow%=(miny%-rules|
000129c0  69 7a 65 25 29 2f 72 68  74 25 2d 31 0d 0c be 2d  |ize%)/rht%-1...-|
000129d0  6d 61 78 76 72 6f 77 25  3d 28 6d 61 78 79 25 2d  |maxvrow%=(maxy%-|
000129e0  72 75 6c 65 73 69 7a 65  25 2d 74 62 61 72 68 74  |rulesize%-tbarht|
000129f0  25 29 2f 72 68 74 25 2b  31 0d 0c bf 1b e7 20 6d  |%)/rht%+1..... m|
00012a00  69 6e 76 73 74 25 3c 30  20 8c 20 6d 69 6e 76 73  |invst%<0 . minvs|
00012a10  74 25 3d 30 0d 0c c0 31  e7 20 6d 61 78 76 73 74  |t%=0...1. maxvst|
00012a20  25 3e 67 72 69 64 77 69  64 74 68 25 2d 31 20 8c  |%>gridwidth%-1 .|
00012a30  20 6d 61 78 76 73 74 25  3d 67 72 69 64 77 69 64  | maxvst%=gridwid|
00012a40  74 68 25 2d 31 0d 0c c1  1d e7 20 6d 69 6e 76 72  |th%-1..... minvr|
00012a50  6f 77 25 3c 30 20 8c 20  6d 69 6e 76 72 6f 77 25  |ow%<0 . minvrow%|
00012a60  3d 30 0d 0c c2 35 e7 20  6d 61 78 76 72 6f 77 25  |=0...5. maxvrow%|
00012a70  3e 67 72 69 64 68 65 69  67 68 74 25 2d 31 20 8c  |>gridheight%-1 .|
00012a80  20 6d 61 78 76 72 6f 77  25 3d 67 72 69 64 68 65  | maxvrow%=gridhe|
00012a90  69 67 68 74 25 2d 31 0d  0c c3 12 6d 69 6e 73 74  |ight%-1....minst|
00012aa0  25 3d 6d 61 78 76 73 74  25 0d 0c c4 12 6d 61 78  |%=maxvst%....max|
00012ab0  73 74 25 3d 6d 69 6e 76  73 74 25 0d 0c c5 14 6d  |st%=minvst%....m|
00012ac0  69 6e 72 6f 77 25 3d 6d  61 78 76 72 6f 77 25 0d  |inrow%=maxvrow%.|
00012ad0  0c c6 14 6d 61 78 72 6f  77 25 3d 6d 69 6e 76 72  |...maxrow%=minvr|
00012ae0  6f 77 25 0d 0c c7 1f e3  20 73 74 69 74 63 68 25  |ow%..... stitch%|
00012af0  3d 6d 69 6e 76 73 74 25  20 b8 20 6d 61 78 76 73  |=minvst% . maxvs|
00012b00  74 25 0d 0c c8 1e e3 20  72 6f 77 25 3d 6d 69 6e  |t%..... row%=min|
00012b10  76 72 6f 77 25 20 b8 20  6d 61 78 76 72 6f 77 25  |vrow% . maxvrow%|
00012b20  0d 0c c9 2c 63 6f 6c 25  3d 63 6f 6c 74 61 62 6c  |...,col%=coltabl|
00012b30  65 25 3f 28 72 6f 77 25  2a 67 72 69 64 77 69 64  |e%?(row%*gridwid|
00012b40  74 68 25 2b 73 74 69 74  63 68 25 29 0d 0c ca 23  |th%+stitch%)...#|
00012b50  e7 20 28 63 6f 6c 25 80  36 34 29 3d 36 34 20 80  |. (col%.64)=64 .|
00012b60  20 28 63 6f 6c 25 80 31  32 38 29 3d 30 20 8c 0d  | (col%.128)=0 ..|
00012b70  0c cb 21 e7 20 72 6f 77  25 3c 6d 69 6e 72 6f 77  |..!. row%<minrow|
00012b80  25 20 8c 20 6d 69 6e 72  6f 77 25 3d 72 6f 77 25  |% . minrow%=row%|
00012b90  0d 0c cc 21 e7 20 72 6f  77 25 3e 6d 61 78 72 6f  |...!. row%>maxro|
00012ba0  77 25 20 8c 20 6d 61 78  72 6f 77 25 3d 72 6f 77  |w% . maxrow%=row|
00012bb0  25 0d 0c cd 25 e7 20 73  74 69 74 63 68 25 3c 6d  |%...%. stitch%<m|
00012bc0  69 6e 73 74 25 20 8c 20  6d 69 6e 73 74 25 3d 73  |inst% . minst%=s|
00012bd0  74 69 74 63 68 25 0d 0c  ce 25 e7 20 73 74 69 74  |titch%...%. stit|
00012be0  63 68 25 3e 6d 61 78 73  74 25 20 8c 20 6d 61 78  |ch%>maxst% . max|
00012bf0  73 74 25 3d 73 74 69 74  63 68 25 0d 0c cf 05 cd  |st%=stitch%.....|
00012c00  0d 0c d0 0a ed 20 72 6f  77 25 0d 0c d1 0d ed 20  |..... row%..... |
00012c10  73 74 69 74 63 68 25 0d  0c d2 18 6d 61 78 73 74  |stitch%....maxst|
00012c20  25 2b 3d 31 3a 6d 61 78  72 6f 77 25 2b 3d 31 0d  |%+=1:maxrow%+=1.|
00012c30  0c d3 80 c8 99 20 26 30  30 30 34 30 30 44 31 2c  |..... &000400D1,|
00012c40  65 64 69 74 25 2c 6d 69  6e 73 74 25 2a 73 74 77  |edit%,minst%*stw|
00012c50  25 2b 72 75 6c 65 73 69  7a 65 25 2c 6d 69 6e 72  |%+rulesize%,minr|
00012c60  6f 77 25 2a 72 68 74 25  2b 72 75 6c 65 73 69 7a  |ow%*rht%+rulesiz|
00012c70  65 25 2d 65 64 69 74 68  74 25 2c 6d 61 78 73 74  |e%-editht%,maxst|
00012c80  25 2a 73 74 77 25 2b 72  75 6c 65 73 69 7a 65 25  |%*stw%+rulesize%|
00012c90  2c 6d 61 78 72 6f 77 25  2a 72 68 74 25 2b 72 75  |,maxrow%*rht%+ru|
00012ca0  6c 65 73 69 7a 65 25 2d  65 64 69 74 68 74 25 0d  |lesize%-editht%.|
00012cb0  0c d4 10 c8 99 20 26 30  30 30 34 30 36 43 31 0d  |..... &000406C1.|
00012cc0  0c d5 05 e1 0d 0c d6 05  3a 0d 0c d7 09 dd 20 f2  |........:..... .|
00012cd0  76 64 0d 0c d8 10 ea 20  77 78 25 2c 77 79 25 2c  |vd..... wx%,wy%,|
00012ce0  69 25 0d 0c d9 10 c8 99  20 26 30 30 30 34 30 36  |i%...... &000406|
00012cf0  43 30 0d 0c da 0f 73 68  6f 77 6d 61 73 6b 25 3d  |C0....showmask%=|
00012d00  a3 0d 0c db 14 f2 77 65  28 6d 61 73 6b 6d 65 6e  |......we(maskmen|
00012d10  75 25 2c 30 29 0d 0c dc  1c f2 66 65 28 74 62 61  |u%,0).....fe(tba|
00012d20  72 25 2c 39 2c 30 3c 3c  32 31 2c 31 3c 3c 32 31  |r%,9,0<<21,1<<21|
00012d30  29 0d 0c dd 27 e3 20 69  25 3d 30 20 b8 20 67 72  |)...'. i%=0 . gr|
00012d40  69 64 68 65 69 67 68 74  25 2a 67 72 69 64 77 69  |idheight%*gridwi|
00012d50  64 74 68 25 20 88 20 34  0d 0c de 29 63 6f 6c 74  |dth% . 4...)colt|
00012d60  61 62 6c 65 25 21 69 25  3d 63 6f 6c 74 61 62 6c  |able%!i%=coltabl|
00012d70  65 25 21 69 25 20 80 20  26 42 46 42 46 42 46 42  |e%!i% . &BFBFBFB|
00012d80  46 0d 0c df 08 ed 20 69  25 0d 0c e0 11 21 62 6c  |F..... i%....!bl|
00012d90  6f 63 6b 25 3d 65 64 69  74 25 0d 0c e1 18 c8 99  |ock%=edit%......|
00012da0  20 26 30 30 30 34 30 30  43 42 2c 2c 62 6c 6f 63  | &000400CB,,bloc|
00012db0  6b 25 0d 0c e2 1a 77 78  25 3d 62 6c 6f 63 6b 25  |k%....wx%=block%|
00012dc0  21 34 2d 62 6c 6f 63 6b  25 21 32 30 0d 0c e3 1b  |!4-block%!20....|
00012dd0  77 79 25 3d 62 6c 6f 63  6b 25 21 31 36 2d 62 6c  |wy%=block%!16-bl|
00012de0  6f 63 6b 25 21 32 34 0d  0c e4 4c c8 99 20 26 30  |ock%!24...L.. &0|
00012df0  30 30 34 30 30 44 31 2c  65 64 69 74 25 2c 62 6c  |00400D1,edit%,bl|
00012e00  6f 63 6b 25 21 34 2d 77  78 25 2c 62 6c 6f 63 6b  |ock%!4-wx%,block|
00012e10  25 21 38 2d 77 79 25 2c  62 6c 6f 63 6b 25 21 31  |%!8-wy%,block%!1|
00012e20  32 2d 77 78 25 2c 62 6c  6f 63 6b 25 21 31 36 2d  |2-wx%,block%!16-|
00012e30  77 79 25 0d 0c e5 10 c8  99 20 26 30 30 30 34 30  |wy%...... &00040|
00012e40  36 43 31 0d 0c e6 05 e1  0d 0c e7 05 3a 0d 0c e8  |6C1.........:...|
00012e50  09 dd 20 f2 63 64 0d 0c  e9 1a ea 20 73 74 69 74  |.. .cd..... stit|
00012e60  63 68 25 2c 77 78 25 2c  77 79 25 2c 63 6f 6c 25  |ch%,wx%,wy%,col%|
00012e70  0d 0c ea 28 e7 20 63 75  72 72 65 6e 74 63 6f 6c  |...(. currentcol|
00012e80  25 3d 36 34 20 84 20 63  75 72 72 65 6e 74 63 6f  |%=64 . currentco|
00012e90  6c 25 3d 31 32 38 20 8c  0d 0c eb 36 f2 77 64 28  |l%=128 ....6.wd(|
00012ea0  22 50 6c 65 61 73 65 20  73 65 6c 65 63 74 20 61  |"Please select a|
00012eb0  20 63 6f 6c 6f 75 72 20  74 6f 20 62 65 20 6c 65  | colour to be le|
00012ec0  66 74 20 75 6e 6d 61 73  6b 65 64 2e 22 29 0d 0c  |ft unmasked.")..|
00012ed0  ec 05 cc 0d 0c ed 10 c8  99 20 26 30 30 30 34 30  |......... &00040|
00012ee0  36 43 30 0d 0c ee 0f 73  68 6f 77 6d 61 73 6b 25  |6C0....showmask%|
00012ef0  3d a3 0d 0c ef 14 f2 77  65 28 6d 61 73 6b 6d 65  |=......we(maskme|
00012f00  6e 75 25 2c 30 29 0d 0c  f0 1c f2 66 65 28 74 62  |nu%,0).....fe(tb|
00012f10  61 72 25 2c 39 2c 30 3c  3c 32 31 2c 31 3c 3c 32  |ar%,9,0<<21,1<<2|
00012f20  31 29 0d 0c f1 28 e3 20  73 74 69 74 63 68 25 3d  |1)...(. stitch%=|
00012f30  30 20 b8 20 67 72 69 64  68 65 69 67 68 74 25 2a  |0 . gridheight%*|
00012f40  67 72 69 64 77 69 64 74  68 25 0d 0c f2 1a 63 6f  |gridwidth%....co|
00012f50  6c 25 3d 63 6f 6c 74 61  62 6c 65 25 3f 73 74 69  |l%=coltable%?sti|
00012f60  74 63 68 25 0d 0c f3 20  e7 20 28 63 6f 6c 25 20  |tch%... . (col% |
00012f70  80 20 36 33 29 3c 3e 63  75 72 72 65 6e 74 63 6f  |. 63)<>currentco|
00012f80  6c 25 20 8c 0d 0c f4 12  63 6f 6c 25 3d 63 6f 6c  |l% .....col%=col|
00012f90  25 20 84 20 36 34 0d 0c  f5 05 cc 0d 0c f6 13 63  |% . 64.........c|
00012fa0  6f 6c 25 3d 63 6f 6c 25  20 80 20 31 39 31 0d 0c  |ol%=col% . 191..|
00012fb0  f7 05 cd 0d 0c f8 1a 63  6f 6c 74 61 62 6c 65 25  |.......coltable%|
00012fc0  3f 73 74 69 74 63 68 25  3d 63 6f 6c 25 0d 0c f9  |?stitch%=col%...|
00012fd0  0d ed 20 73 74 69 74 63  68 25 0d 0c fa 11 21 62  |.. stitch%....!b|
00012fe0  6c 6f 63 6b 25 3d 65 64  69 74 25 0d 0c fb 18 c8  |lock%=edit%.....|
00012ff0  99 20 26 30 30 30 34 30  30 43 42 2c 2c 62 6c 6f  |. &000400CB,,blo|
00013000  63 6b 25 0d 0c fc 1a 77  78 25 3d 62 6c 6f 63 6b  |ck%....wx%=block|
00013010  25 21 34 2d 62 6c 6f 63  6b 25 21 32 30 0d 0c fd  |%!4-block%!20...|
00013020  1b 77 79 25 3d 62 6c 6f  63 6b 25 21 31 36 2d 62  |.wy%=block%!16-b|
00013030  6c 6f 63 6b 25 21 32 34  0d 0c fe 4c c8 99 20 26  |lock%!24...L.. &|
00013040  30 30 30 34 30 30 44 31  2c 65 64 69 74 25 2c 62  |000400D1,edit%,b|
00013050  6c 6f 63 6b 25 21 34 2d  77 78 25 2c 62 6c 6f 63  |lock%!4-wx%,bloc|
00013060  6b 25 21 38 2d 77 79 25  2c 62 6c 6f 63 6b 25 21  |k%!8-wy%,block%!|
00013070  31 32 2d 77 78 25 2c 62  6c 6f 63 6b 25 21 31 36  |12-wx%,block%!16|
00013080  2d 77 79 25 0d 0c ff 10  c8 99 20 26 30 30 30 34  |-wy%...... &0004|
00013090  30 36 43 31 0d 0d 00 05  cd 0d 0d 01 05 e1 0d 0d  |06C1............|
000130a0  02 05 3a 0d 0d 03 09 dd  20 f2 64 64 0d 0d 04 1a  |..:..... .dd....|
000130b0  ea 20 73 74 69 74 63 68  25 2c 77 78 25 2c 77 79  |. stitch%,wx%,wy|
000130c0  25 2c 63 6f 6c 25 0d 0d  05 28 e7 20 63 75 72 72  |%,col%...(. curr|
000130d0  65 6e 74 63 6f 6c 25 3d  36 34 20 84 20 63 75 72  |entcol%=64 . cur|
000130e0  72 65 6e 74 63 6f 6c 25  3d 31 32 38 20 8c 0d 0d  |rentcol%=128 ...|
000130f0  06 2a f2 77 64 28 22 50  6c 65 61 73 65 20 73 65  |.*.wd("Please se|
00013100  6c 65 63 74 20 61 20 63  6f 6c 6f 75 72 20 74 6f  |lect a colour to|
00013110  20 6d 61 73 6b 2e 22 29  0d 0d 07 05 cc 0d 0d 08  | mask.")........|
00013120  10 c8 99 20 26 30 30 30  34 30 36 43 30 0d 0d 09  |... &000406C0...|
00013130  0f 73 68 6f 77 6d 61 73  6b 25 3d a3 0d 0d 0a 14  |.showmask%=.....|
00013140  f2 77 65 28 6d 61 73 6b  6d 65 6e 75 25 2c 30 29  |.we(maskmenu%,0)|
00013150  0d 0d 0b 1c f2 66 65 28  74 62 61 72 25 2c 39 2c  |.....fe(tbar%,9,|
00013160  30 3c 3c 32 31 2c 31 3c  3c 32 31 29 0d 0d 0c 28  |0<<21,1<<21)...(|
00013170  e3 20 73 74 69 74 63 68  25 3d 30 20 b8 20 67 72  |. stitch%=0 . gr|
00013180  69 64 68 65 69 67 68 74  25 2a 67 72 69 64 77 69  |idheight%*gridwi|
00013190  64 74 68 25 0d 0d 0d 1a  63 6f 6c 25 3d 63 6f 6c  |dth%....col%=col|
000131a0  74 61 62 6c 65 25 3f 73  74 69 74 63 68 25 0d 0d  |table%?stitch%..|
000131b0  0e 1f e7 20 28 63 6f 6c  25 20 80 20 36 33 29 3d  |... (col% . 63)=|
000131c0  63 75 72 72 65 6e 74 63  6f 6c 25 20 8c 0d 0d 0f  |currentcol% ....|
000131d0  12 63 6f 6c 25 3d 63 6f  6c 25 20 84 20 36 34 0d  |.col%=col% . 64.|
000131e0  0d 10 05 cc 0d 0d 11 13  63 6f 6c 25 3d 63 6f 6c  |........col%=col|
000131f0  25 20 80 20 31 39 31 0d  0d 12 05 cd 0d 0d 13 1a  |% . 191.........|
00013200  63 6f 6c 74 61 62 6c 65  25 3f 73 74 69 74 63 68  |coltable%?stitch|
00013210  25 3d 63 6f 6c 25 0d 0d  14 0d ed 20 73 74 69 74  |%=col%..... stit|
00013220  63 68 25 0d 0d 15 11 21  62 6c 6f 63 6b 25 3d 65  |ch%....!block%=e|
00013230  64 69 74 25 0d 0d 16 18  c8 99 20 26 30 30 30 34  |dit%...... &0004|
00013240  30 30 43 42 2c 2c 62 6c  6f 63 6b 25 0d 0d 17 1a  |00CB,,block%....|
00013250  77 78 25 3d 62 6c 6f 63  6b 25 21 34 2d 62 6c 6f  |wx%=block%!4-blo|
00013260  63 6b 25 21 32 30 0d 0d  18 1b 77 79 25 3d 62 6c  |ck%!20....wy%=bl|
00013270  6f 63 6b 25 21 31 36 2d  62 6c 6f 63 6b 25 21 32  |ock%!16-block%!2|
00013280  34 0d 0d 19 4c c8 99 20  26 30 30 30 34 30 30 44  |4...L.. &000400D|
00013290  31 2c 65 64 69 74 25 2c  62 6c 6f 63 6b 25 21 34  |1,edit%,block%!4|
000132a0  2d 77 78 25 2c 62 6c 6f  63 6b 25 21 38 2d 77 79  |-wx%,block%!8-wy|
000132b0  25 2c 62 6c 6f 63 6b 25  21 31 32 2d 77 78 25 2c  |%,block%!12-wx%,|
000132c0  62 6c 6f 63 6b 25 21 31  36 2d 77 79 25 0d 0d 1a  |block%!16-wy%...|
000132d0  10 c8 99 20 26 30 30 30  34 30 36 43 31 0d 0d 1b  |... &000406C1...|
000132e0  05 cd 0d 0d 1c 05 e1 0d  0d 1d 05 3a 0d 0d 1e 09  |...........:....|
000132f0  dd 20 f2 6c 61 0d 0d 1f  11 21 62 6c 6f 63 6b 25  |. .la....!block%|
00013300  3d 65 64 69 74 25 0d 0d  20 18 c8 99 20 26 30 30  |=edit%.. ... &00|
00013310  30 34 30 30 43 43 2c 2c  62 6c 6f 63 6b 25 0d 0d  |0400CC,,block%..|
00013320  21 18 c8 99 20 26 30 30  30 34 30 30 43 33 2c 2c  |!... &000400C3,,|
00013330  62 6c 6f 63 6b 25 0d 0d  22 1a 62 6c 6f 63 6b 25  |block%..".block%|
00013340  3f 28 34 2b 33 35 29 3d  62 61 63 6b 63 6f 6c 25  |?(4+35)=backcol%|
00013350  0d 0d 23 22 c8 99 20 26  30 30 30 34 30 30 43 31  |..#".. &000400C1|
00013360  2c 2c 62 6c 6f 63 6b 25  2b 34 20 b8 20 65 64 69  |,,block%+4 . edi|
00013370  74 25 0d 0d 24 11 c8 8e  20 62 61 63 6b 63 6f 6c  |t%..$... backcol|
00013380  25 20 ca 0d 0d 25 18 c9  20 34 2c 35 2c 36 2c 37  |% ...%.. 4,5,6,7|
00013390  2c 38 2c 31 30 2c 31 31  2c 31 33 0d 0d 26 0e 66  |,8,10,11,13..&.f|
000133a0  6f 72 65 63 6f 6c 25 3d  30 0d 0d 27 05 7f 0d 0d  |orecol%=0..'....|
000133b0  28 0e 66 6f 72 65 63 6f  6c 25 3d 37 0d 0d 29 05  |(.forecol%=7..).|
000133c0  cb 0d 0d 2a 11 21 62 6c  6f 63 6b 25 3d 65 64 69  |...*.!block%=edi|
000133d0  74 25 0d 0d 2b 07 f2 6c  64 0d 0d 2c 05 e1 0d 0d  |t%..+..ld..,....|
000133e0  2d 05 3a 0d 0d 2e 0f dd  20 a4 74 28 77 68 61 6e  |-.:..... .t(whan|
000133f0  25 29 0d 0d 2f 11 21 62  6c 6f 63 6b 25 3d 77 68  |%)../.!block%=wh|
00013400  61 6e 25 0d 0d 30 18 c8  99 20 26 30 30 30 34 30  |an%..0... &00040|
00013410  30 43 43 2c 2c 62 6c 6f  63 6b 25 0d 0d 31 18 c8  |0CC,,block%..1..|
00013420  99 20 26 30 30 30 34 30  30 43 33 2c 2c 62 6c 6f  |. &000400C3,,blo|
00013430  63 6b 25 0d 0d 32 1c 62  6c 6f 63 6b 25 3f 28 34  |ck%..2.block%?(4|
00013440  2b 33 35 29 3d 72 75 6c  65 72 62 63 6f 6c 25 0d  |+35)=rulerbcol%.|
00013450  0d 33 1c 62 6c 6f 63 6b  25 3f 28 34 2b 33 32 29  |.3.block%?(4+32)|
00013460  3d 72 75 6c 65 72 62 63  6f 6c 25 0d 0d 34 22 c8  |=rulerbcol%..4".|
00013470  99 20 26 30 30 30 34 30  30 43 31 2c 2c 62 6c 6f  |. &000400C1,,blo|
00013480  63 6b 25 2b 34 20 b8 20  77 68 61 6e 25 0d 0d 35  |ck%+4 . whan%..5|
00013490  11 21 62 6c 6f 63 6b 25  3d 77 68 61 6e 25 0d 0d  |.!block%=whan%..|
000134a0  36 0a 3d 77 68 61 6e 25  0d 0d 37 05 3a 0d 0d 38  |6.=whan%..7.:..8|
000134b0  09 dd 20 f2 63 66 0d 0d  39 15 ea 20 6f 6c 64 73  |.. .cf..9.. olds|
000134c0  74 77 25 2c 6f 6c 64 72  68 74 25 0d 0d 3a 16 65  |tw%,oldrht%..:.e|
000134d0  64 6d 75 6c 25 3d bb 28  24 73 63 6c 6d 75 6c 25  |dmul%=.($sclmul%|
000134e0  29 0d 0d 3b 16 65 64 64  69 76 25 3d bb 28 24 73  |)..;.eddiv%=.($s|
000134f0  63 6c 64 69 76 25 29 0d  0d 3c 1b 6f 6c 64 73 74  |cldiv%)..<.oldst|
00013500  77 3d 73 74 77 25 3a 6f  6c 64 72 68 74 3d 72 68  |w=stw%:oldrht=rh|
00013510  74 25 0d 0d 3d 27 73 74  77 25 3d a8 28 28 73 74  |t%..='stw%=.((st|
00013520  69 74 63 68 77 69 64 74  68 2a 65 64 6d 75 6c 25  |itchwidth*edmul%|
00013530  29 2f 65 64 64 69 76 25  29 0d 0d 3e 21 72 68 74  |)/eddiv%)..>!rht|
00013540  25 3d a8 28 28 72 6f 77  68 74 2a 65 64 6d 75 6c  |%=.((rowht*edmul|
00013550  25 29 2f 65 64 64 69 76  25 29 0d 0d 3f 15 21 62  |%)/eddiv%)..?.!b|
00013560  6c 6f 63 6b 25 3d 74 62  61 72 64 69 73 70 25 0d  |lock%=tbardisp%.|
00013570  0d 40 18 c8 99 20 26 30  30 30 34 30 30 43 42 2c  |.@... &000400CB,|
00013580  2c 62 6c 6f 63 6b 25 0d  0d 41 18 7a 6f 6f 6d 73  |,block%..A.zooms|
00013590  74 61 63 6b 25 3d 62 6c  6f 63 6b 25 21 32 38 0d  |tack%=block%!28.|
000135a0  0d 42 11 21 62 6c 6f 63  6b 25 3d 65 64 69 74 25  |.B.!block%=edit%|
000135b0  0d 0d 43 18 c8 99 20 26  30 30 30 34 30 30 43 42  |..C... &000400CB|
000135c0  2c 2c 62 6c 6f 63 6b 25  0d 0d 44 07 f2 6f 62 0d  |,,block%..D..ob.|
000135d0  0d 45 25 62 6c 6f 63 6b  25 21 32 30 3d 62 6c 6f  |.E%block%!20=blo|
000135e0  63 6b 25 21 32 30 2a 28  73 74 77 25 2f 6f 6c 64  |ck%!20*(stw%/old|
000135f0  73 74 77 29 0d 0d 46 25  62 6c 6f 63 6b 25 21 32  |stw)..F%block%!2|
00013600  34 3d 62 6c 6f 63 6b 25  21 32 34 2a 28 72 68 74  |4=block%!24*(rht|
00013610  25 2f 6f 6c 64 72 68 74  29 0d 0d 47 07 f2 6c 64  |%/oldrht)..G..ld|
00013620  0d 0d 48 10 7a 6f 6f 6d  73 74 61 63 6b 25 3d 30  |..H.zoomstack%=0|
00013630  0d 0d 49 05 e1 0d 0d 4a  05 3a 0d 0d 4b 09 dd 20  |..I....J.:..K.. |
00013640  f2 79 64 0d 0d 4c 34 ea  20 6f 72 78 25 2c 6f 72  |.yd..L4. orx%,or|
00013650  79 25 2c 73 74 69 74 63  68 25 2c 72 6f 77 25 2c  |y%,stitch%,row%,|
00013660  6d 69 6e 78 25 2c 6d 69  6e 79 25 2c 6d 61 78 78  |minx%,miny%,maxx|
00013670  25 2c 6d 61 78 79 25 0d  0d 4d 37 ea 20 6d 69 6e  |%,maxy%..M7. min|
00013680  73 74 69 74 63 68 25 2c  6d 61 78 73 74 69 74 63  |stitch%,maxstitc|
00013690  68 25 2c 6d 69 6e 72 6f  77 25 2c 6d 61 78 72 6f  |h%,minrow%,maxro|
000136a0  77 25 2c 63 6f 6c 25 2c  62 6c 61 6e 6b 25 0d 0d  |w%,col%,blank%..|
000136b0  4e 10 c8 99 20 26 30 30  30 34 30 36 43 30 0d 0d  |N... &000406C0..|
000136c0  4f 14 62 6c 6f 63 6b 25  21 31 30 30 3d 65 64 69  |O.block%!100=edi|
000136d0  74 25 0d 0d 50 1b c8 99  26 30 30 30 34 30 30 43  |t%..P...&000400C|
000136e0  42 2c 2c 62 6c 6f 63 6b  25 2b 31 30 30 0d 0d 51  |B,,block%+100..Q|
000136f0  20 6f 72 78 25 3d 28 62  6c 6f 63 6b 25 21 31 30  | orx%=(block%!10|
00013700  34 2d 62 6c 6f 63 6b 25  21 31 32 30 29 0d 0d 52  |4-block%!120)..R|
00013710  28 6f 72 79 25 3d 28 62  6c 6f 63 6b 25 21 31 31  |(ory%=(block%!11|
00013720  36 2d 62 6c 6f 63 6b 25  21 31 32 34 2d 65 64 69  |6-block%!124-edi|
00013730  74 68 74 25 29 0d 0d 53  19 6d 69 6e 78 25 3d 28  |tht%)..S.minx%=(|
00013740  62 6c 6f 63 6b 25 21 30  2d 6f 72 78 25 29 0d 0d  |block%!0-orx%)..|
00013750  54 19 6d 69 6e 79 25 3d  28 62 6c 6f 63 6b 25 21  |T.miny%=(block%!|
00013760  34 2d 6f 72 79 25 29 0d  0d 55 19 6d 61 78 78 25  |4-ory%)..U.maxx%|
00013770  3d 28 62 6c 6f 63 6b 25  21 38 2d 6f 72 78 25 29  |=(block%!8-orx%)|
00013780  0d 0d 56 1a 6d 61 78 79  25 3d 28 62 6c 6f 63 6b  |..V.maxy%=(block|
00013790  25 21 31 32 2d 6f 72 79  25 29 0d 0d 57 22 e7 20  |%!12-ory%)..W". |
000137a0  6d 69 6e 78 25 3e 6d 61  78 78 25 20 8c 20 c8 94  |minx%>maxx% . ..|
000137b0  20 6d 69 6e 78 25 2c 6d  61 78 78 25 0d 0d 58 22  | minx%,maxx%..X"|
000137c0  e7 20 6d 69 6e 79 25 3e  6d 61 78 79 25 20 8c 20  |. miny%>maxy% . |
000137d0  c8 94 20 6d 69 6e 79 25  2c 6d 61 78 79 25 0d 0d  |.. miny%,maxy%..|
000137e0  59 25 6d 69 6e 73 74 69  74 63 68 25 3d 28 6d 69  |Y%minstitch%=(mi|
000137f0  6e 78 25 2d 72 75 6c 65  73 69 7a 65 25 29 2f 73  |nx%-rulesize%)/s|
00013800  74 77 25 0d 0d 5a 25 6d  61 78 73 74 69 74 63 68  |tw%..Z%maxstitch|
00013810  25 3d 28 6d 61 78 78 25  2d 72 75 6c 65 73 69 7a  |%=(maxx%-rulesiz|
00013820  65 25 29 2f 73 74 77 25  0d 0d 5b 22 6d 69 6e 72  |e%)/stw%..["minr|
00013830  6f 77 25 3d 28 6d 69 6e  79 25 2d 72 75 6c 65 73  |ow%=(miny%-rules|
00013840  69 7a 65 25 29 2f 72 68  74 25 0d 0d 5c 22 6d 61  |ize%)/rht%..\"ma|
00013850  78 72 6f 77 25 3d 28 6d  61 78 79 25 2d 72 75 6c  |xrow%=(maxy%-rul|
00013860  65 73 69 7a 65 25 29 2f  72 68 74 25 0d 0d 5d 21  |esize%)/rht%..]!|
00013870  e7 20 6d 69 6e 73 74 69  74 63 68 25 3c 30 20 8c  |. minstitch%<0 .|
00013880  20 6d 69 6e 73 74 69 74  63 68 25 3d 30 0d 0d 5e  | minstitch%=0..^|
00013890  37 e7 20 6d 61 78 73 74  69 74 63 68 25 3e 67 72  |7. maxstitch%>gr|
000138a0  69 64 77 69 64 74 68 25  2d 31 20 8c 20 6d 61 78  |idwidth%-1 . max|
000138b0  73 74 69 74 63 68 25 3d  67 72 69 64 77 69 64 74  |stitch%=gridwidt|
000138c0  68 25 2d 31 0d 0d 5f 1b  e7 20 6d 69 6e 72 6f 77  |h%-1.._.. minrow|
000138d0  25 3c 30 20 8c 20 6d 69  6e 72 6f 77 25 3d 30 0d  |%<0 . minrow%=0.|
000138e0  0d 60 33 e7 20 6d 61 78  72 6f 77 25 3e 67 72 69  |.`3. maxrow%>gri|
000138f0  64 68 65 69 67 68 74 25  2d 31 20 8c 20 6d 61 78  |dheight%-1 . max|
00013900  72 6f 77 25 3d 67 72 69  64 68 65 69 67 68 74 25  |row%=gridheight%|
00013910  2d 31 0d 0d 61 16 62 6c  61 6e 6b 25 3d a4 6c 28  |-1..a.blank%=.l(|
00013920  74 62 61 72 25 2c 34 29  0d 0d 62 35 e7 20 62 6c  |tbar%,4)..b5. bl|
00013930  61 6e 6b 25 3d b9 20 80  20 28 63 75 72 72 65 6e  |ank%=. . (curren|
00013940  74 63 6f 6c 25 3d 36 34  20 84 20 63 75 72 72 65  |tcol%=64 . curre|
00013950  6e 74 63 6f 6c 25 3d 31  32 38 29 20 8c 0d 0d 63  |ntcol%=128) ...c|
00013960  42 f2 77 64 28 22 50 6c  65 61 73 65 20 73 65 6c  |B.wd("Please sel|
00013970  65 63 74 20 61 20 63 6f  6c 6f 75 72 20 74 6f 20  |ect a colour to |
00013980  66 69 6c 6c 20 74 68 65  20 62 6c 61 6e 6b 20 73  |fill the blank s|
00013990  74 69 74 63 68 65 73 20  77 69 74 68 2e 22 29 0d  |titches with.").|
000139a0  0d 64 05 cc 0d 0d 65 1c  e7 20 62 6c 61 6e 6b 25  |.d....e.. blank%|
000139b0  3d b9 20 80 20 6d 61 6e  6e 65 72 25 3d 32 20 8c  |=. . manner%=2 .|
000139c0  0d 0d 66 17 63 6f 70 79  6d 69 6e 72 6f 77 25 3d  |..f.copyminrow%=|
000139d0  6d 69 6e 72 6f 77 25 0d  0d 67 17 63 6f 70 79 6d  |minrow%..g.copym|
000139e0  61 78 72 6f 77 25 3d 6d  61 78 72 6f 77 25 0d 0d  |axrow%=maxrow%..|
000139f0  68 19 63 6f 70 79 6d 69  6e 73 74 25 3d 6d 69 6e  |h.copyminst%=min|
00013a00  73 74 69 74 63 68 25 0d  0d 69 19 63 6f 70 79 6d  |stitch%..i.copym|
00013a10  61 78 73 74 25 3d 6d 61  78 73 74 69 74 63 68 25  |axst%=maxstitch%|
00013a20  0d 0d 6a 2e c8 99 20 26  30 30 30 34 30 30 45 39  |..j... &000400E9|
00013a30  2c 33 36 2c 30 2c 22 70  74 72 5f 62 6f 74 6c 65  |,36,0,"ptr_botle|
00013a40  66 74 22 2c 32 2c 30 2c  31 30 2c 30 2c 30 0d 0d  |ft",2,0,10,0,0..|
00013a50  6b 0b 63 6f 70 79 25 3d  b9 0d 0d 6c 05 cc 0d 0d  |k.copy%=...l....|
00013a60  6d 1c e3 20 72 6f 77 25  3d 6d 69 6e 72 6f 77 25  |m.. row%=minrow%|
00013a70  20 b8 20 6d 61 78 72 6f  77 25 0d 0d 6e 25 e3 20  | . maxrow%..n%. |
00013a80  73 74 69 74 63 68 25 3d  6d 69 6e 73 74 69 74 63  |stitch%=minstitc|
00013a90  68 25 20 b8 20 6d 61 78  73 74 69 74 63 68 25 0d  |h% . maxstitch%.|
00013aa0  0d 6f 2c 63 6f 6c 25 3d  63 6f 6c 74 61 62 6c 65  |.o,col%=coltable|
00013ab0  25 3f 28 72 6f 77 25 2a  67 72 69 64 77 69 64 74  |%?(row%*gridwidt|
00013ac0  68 25 2b 73 74 69 74 63  68 25 29 0d 0d 70 10 e7  |h%+stitch%)..p..|
00013ad0  20 62 6c 61 6e 6b 25 3d  a3 20 8c 0d 0d 71 17 e7  | blank%=. ...q..|
00013ae0  20 63 75 72 72 65 6e 74  63 6f 6c 25 3c 3e 36 34  | currentcol%<>64|
00013af0  20 8c 0d 0d 72 37 e7 20  6d 61 6e 6e 65 72 25 3c  | ...r7. manner%<|
00013b00  3e 32 20 8c 20 63 6f 6c  25 3d 63 75 72 72 65 6e  |>2 . col%=curren|
00013b10  74 63 6f 6c 25 20 8b 20  63 6f 6c 25 3d 63 75 72  |tcol% . col%=cur|
00013b20  72 65 6e 74 73 79 6d 62  25 0d 0d 73 05 cc 0d 0d  |rentsymb%..s....|
00013b30  74 1b 63 6f 6c 25 3d 28  63 6f 6c 25 20 80 20 ac  |t.col%=(col% . .|
00013b40  20 36 34 29 20 82 20 36  34 0d 0d 75 05 cd 0d 0d  | 64) . 64..u....|
00013b50  76 05 cc 0d 0d 77 17 e7  20 63 75 72 72 65 6e 74  |v....w.. current|
00013b60  63 6f 6c 25 3c 3e 36 34  20 8c 0d 0d 78 29 e7 20  |col%<>64 ...x). |
00013b70  28 28 63 6f 6c 25 80 31  32 38 29 3d 31 32 38 29  |((col%.128)=128)|
00013b80  20 8c 20 63 6f 6c 25 3d  63 75 72 72 65 6e 74 63  | . col%=currentc|
00013b90  6f 6c 25 0d 0d 79 05 cc  0d 0d 7a 30 e7 20 28 28  |ol%..y....z0. ((|
00013ba0  63 6f 6c 25 80 31 32 38  29 3d 31 32 38 29 20 8c  |col%.128)=128) .|
00013bb0  20 63 6f 6c 25 3d 28 63  6f 6c 25 20 80 20 ac 20  | col%=(col% . . |
00013bc0  36 34 29 20 82 20 36 34  0d 0d 7b 05 cd 0d 0d 7c  |64) . 64..{....||
00013bd0  05 cd 0d 0d 7d 2c 63 6f  6c 74 61 62 6c 65 25 3f  |....},coltable%?|
00013be0  28 72 6f 77 25 2a 67 72  69 64 77 69 64 74 68 25  |(row%*gridwidth%|
00013bf0  2b 73 74 69 74 63 68 25  29 3d 63 6f 6c 25 0d 0d  |+stitch%)=col%..|
00013c00  7e 0d ed 20 73 74 69 74  63 68 25 0d 0d 7f 0a ed  |~.. stitch%.....|
00013c10  20 72 6f 77 25 0d 0d 80  52 c8 99 20 26 30 30 30  | row%...R.. &000|
00013c20  34 30 30 44 31 2c 65 64  69 74 25 2c 6d 69 6e 78  |400D1,edit%,minx|
00013c30  25 2d 73 74 77 25 2c 6d  69 6e 79 25 2d 65 64 69  |%-stw%,miny%-edi|
00013c40  74 68 74 25 2d 72 68 74  25 2c 6d 61 78 78 25 2b  |tht%-rht%,maxx%+|
00013c50  73 74 77 25 2c 6d 61 78  79 25 2d 65 64 69 74 68  |stw%,maxy%-edith|
00013c60  74 25 2b 72 68 74 25 0d  0d 81 05 cd 0d 0d 82 05  |t%+rht%.........|
00013c70  cd 0d 0d 83 10 c8 99 20  26 30 30 30 34 30 36 43  |....... &000406C|
00013c80  31 0d 0d 84 0f 64 72 61  67 74 79 70 65 25 3d 30  |1....dragtype%=0|
00013c90  0d 0d 85 05 e1 0d 0d 86  05 3a 0d 0d 87 09 dd 20  |.........:..... |
00013ca0  f2 70 62 0d 0d 88 0b 63  6f 70 79 25 3d a3 0d 0d  |.pb....copy%=...|
00013cb0  89 1d 63 6f 70 79 62 6c  6f 63 6b 25 3d a4 68 28  |..copyblock%=.h(|
00013cc0  63 6f 70 79 62 6c 6f 63  6b 25 29 0d 0d 8a 0e 2a  |copyblock%)....*|
00013cd0  50 4f 49 4e 54 45 52 20  31 0d 0d 8b 05 e1 0d 0d  |POINTER 1.......|
00013ce0  8c 05 3a 0d 0d 8d 15 dd  20 f2 74 65 28 73 61 76  |..:..... .te(sav|
00013cf0  65 73 74 61 74 65 25 29  0d 0d 8e 0f ea 20 74 69  |estate%)..... ti|
00013d00  74 24 2c 6d 61 78 25 0d  0d 8f 14 e7 20 73 61 76  |t$,max%..... sav|
00013d10  65 73 74 61 74 65 25 3d  30 20 8c 0d 0d 90 14 74  |estate%=0 .....t|
00013d20  69 74 24 3d 24 6d 61 69  6e 74 69 74 6c 65 25 0d  |it$=$maintitle%.|
00013d30  0d 91 30 e7 20 c2 74 69  74 24 29 3d 22 2a 22 20  |..0. .tit$)="*" |
00013d40  8c 20 74 69 74 24 3d c0  74 69 74 24 29 3a 20 24  |. tit$=.tit$): $|
00013d50  6d 61 69 6e 74 69 74 6c  65 25 3d 74 69 74 24 0d  |maintitle%=tit$.|
00013d60  0d 92 14 74 69 74 24 3d  24 65 64 69 74 74 69 74  |...tit$=$edittit|
00013d70  6c 65 25 0d 0d 93 30 e7  20 c2 74 69 74 24 29 3d  |le%...0. .tit$)=|
00013d80  22 2a 22 20 8c 20 74 69  74 24 3d c0 74 69 74 24  |"*" . tit$=.tit$|
00013d90  29 3a 20 24 65 64 69 74  74 69 74 6c 65 25 3d 74  |): $edittitle%=t|
00013da0  69 74 24 0d 0d 94 17 74  69 74 24 3d 24 70 61 74  |it$....tit$=$pat|
00013db0  74 65 72 6e 74 69 74 6c  65 25 0d 0d 95 33 e7 20  |terntitle%...3. |
00013dc0  c2 74 69 74 24 29 3d 22  2a 22 20 8c 20 74 69 74  |.tit$)="*" . tit|
00013dd0  24 3d c0 74 69 74 24 29  3a 20 24 70 61 74 74 65  |$=.tit$): $patte|
00013de0  72 6e 74 69 74 6c 65 25  3d 74 69 74 24 0d 0d 96  |rntitle%=tit$...|
00013df0  0e 73 74 61 72 72 65 64  25 3d a3 0d 0d 97 05 cc  |.starred%=......|
00013e00  0d 0d 98 14 74 69 74 24  3d 24 6d 61 69 6e 74 69  |....tit$=$mainti|
00013e10  74 6c 65 25 0d 0d 99 2f  e7 20 c2 74 69 74 24 29  |tle%.../. .tit$)|
00013e20  3c 3e 22 2a 22 20 8c 20  74 69 74 24 2b 3d 22 2a  |<>"*" . tit$+="*|
00013e30  22 3a 20 24 6d 61 69 6e  74 69 74 6c 65 25 3d 74  |": $maintitle%=t|
00013e40  69 74 24 0d 0d 9a 14 74  69 74 24 3d 24 65 64 69  |it$....tit$=$edi|
00013e50  74 74 69 74 6c 65 25 0d  0d 9b 2f e7 20 c2 74 69  |ttitle%.../. .ti|
00013e60  74 24 29 3c 3e 22 2a 22  20 8c 20 74 69 74 24 2b  |t$)<>"*" . tit$+|
00013e70  3d 22 2a 22 3a 20 24 65  64 69 74 74 69 74 6c 65  |="*": $edittitle|
00013e80  25 3d 74 69 74 24 0d 0d  9c 17 74 69 74 24 3d 24  |%=tit$....tit$=$|
00013e90  70 61 74 74 65 72 6e 74  69 74 6c 65 25 0d 0d 9d  |patterntitle%...|
00013ea0  32 e7 20 c2 74 69 74 24  29 3c 3e 22 2a 22 20 8c  |2. .tit$)<>"*" .|
00013eb0  20 74 69 74 24 2b 3d 22  2a 22 3a 20 24 70 61 74  | tit$+="*": $pat|
00013ec0  74 65 72 6e 74 69 74 6c  65 25 3d 74 69 74 24 0d  |terntitle%=tit$.|
00013ed0  0d 9e 0e 73 74 61 72 72  65 64 25 3d b9 0d 0d 9f  |...starred%=....|
00013ee0  05 cd 0d 0d a0 13 e7 20  6d 61 69 6e 6f 70 65 6e  |....... mainopen|
00013ef0  25 3d b9 20 8c 0d 0d a1  11 21 62 6c 6f 63 6b 25  |%=. .....!block%|
00013f00  3d 6d 61 69 6e 25 0d 0d  a2 18 c8 99 20 26 30 30  |=main%...... &00|
00013f10  30 34 30 30 45 30 2c 2c  62 6c 6f 63 6b 25 0d 0d  |0400E0,,block%..|
00013f20  a3 12 6d 61 78 25 3d 62  6c 6f 63 6b 25 21 31 36  |..max%=block%!16|
00013f30  0d 0d a4 18 c8 99 20 26  30 30 30 34 30 30 43 42  |...... &000400CB|
00013f40  2c 2c 62 6c 6f 63 6b 25  0d 0d a5 43 c8 99 20 26  |,,block%...C.. &|
00013f50  30 30 30 34 30 30 44 31  2c 2d 31 2c 62 6c 6f 63  |000400D1,-1,bloc|
00013f60  6b 25 21 34 2c 62 6c 6f  63 6b 25 21 31 36 2b 34  |k%!4,block%!16+4|
00013f70  2c 62 6c 6f 63 6b 25 21  31 32 2c 6d 61 78 25 2b  |,block%!12,max%+|
00013f80  28 62 6c 6f 63 6b 25 21  31 36 29 0d 0d a6 05 cd  |(block%!16).....|
00013f90  0d 0d a7 13 e7 20 65 64  69 74 6f 70 65 6e 25 3d  |..... editopen%=|
00013fa0  b9 20 8c 0d 0d a8 11 21  62 6c 6f 63 6b 25 3d 65  |. .....!block%=e|
00013fb0  64 69 74 25 0d 0d a9 18  c8 99 20 26 30 30 30 34  |dit%...... &0004|
00013fc0  30 30 45 30 2c 2c 62 6c  6f 63 6b 25 0d 0d aa 12  |00E0,,block%....|
00013fd0  6d 61 78 25 3d 62 6c 6f  63 6b 25 21 31 36 0d 0d  |max%=block%!16..|
00013fe0  ab 18 c8 99 20 26 30 30  30 34 30 30 43 42 2c 2c  |.... &000400CB,,|
00013ff0  62 6c 6f 63 6b 25 0d 0d  ac 43 c8 99 20 26 30 30  |block%...C.. &00|
00014000  30 34 30 30 44 31 2c 2d  31 2c 62 6c 6f 63 6b 25  |0400D1,-1,block%|
00014010  21 34 2c 62 6c 6f 63 6b  25 21 31 36 2b 34 2c 62  |!4,block%!16+4,b|
00014020  6c 6f 63 6b 25 21 31 32  2c 6d 61 78 25 2b 28 62  |lock%!12,max%+(b|
00014030  6c 6f 63 6b 25 21 31 36  29 0d 0d ad 05 cd 0d 0d  |lock%!16).......|
00014040  ae 18 c8 99 20 26 30 30  30 34 30 30 43 42 2c 2c  |.... &000400CB,,|
00014050  62 6c 6f 63 6b 25 0d 0d  af 1b e7 20 28 28 62 6c  |block%..... ((bl|
00014060  6f 63 6b 25 3f 33 34 29  20 80 20 31 29 3d 31 20  |ock%?34) . 1)=1 |
00014070  8c 0d 0d b0 14 21 62 6c  6f 63 6b 25 3d 70 61 74  |.....!block%=pat|
00014080  74 65 72 6e 25 0d 0d b1  18 c8 99 20 26 30 30 30  |tern%...... &000|
00014090  34 30 30 45 30 2c 2c 62  6c 6f 63 6b 25 0d 0d b2  |400E0,,block%...|
000140a0  12 6d 61 78 25 3d 62 6c  6f 63 6b 25 21 31 36 0d  |.max%=block%!16.|
000140b0  0d b3 18 c8 99 20 26 30  30 30 34 30 30 43 42 2c  |..... &000400CB,|
000140c0  2c 62 6c 6f 63 6b 25 0d  0d b4 43 c8 99 20 26 30  |,block%...C.. &0|
000140d0  30 30 34 30 30 44 31 2c  2d 31 2c 62 6c 6f 63 6b  |00400D1,-1,block|
000140e0  25 21 34 2c 62 6c 6f 63  6b 25 21 31 36 2b 34 2c  |%!4,block%!16+4,|
000140f0  62 6c 6f 63 6b 25 21 31  32 2c 6d 61 78 25 2b 28  |block%!12,max%+(|
00014100  62 6c 6f 63 6b 25 21 31  36 29 0d 0d b5 05 cd 0d  |block%!16)......|
00014110  0d b6 05 e1 0d 0d b7 05  3a 0d 0d b8 2d dd 20 f2  |........:...-. .|
00014120  69 63 28 77 68 61 6e 25  2c 69 63 6f 6e 25 2c 6d  |ic(whan%,icon%,m|
00014130  61 78 25 2c 6d 69 6e 25  2c 62 75 74 74 6f 6e 25  |ax%,min%,button%|
00014140  2c 69 6e 63 25 29 0d 0d  b9 11 ea 20 76 61 72 25  |,inc%)..... var%|
00014150  2c 69 6e 64 65 78 25 0d  0d ba 22 62 6c 6f 63 6b  |,index%..."block|
00014160  25 21 30 3d 77 68 61 6e  25 3a 20 62 6c 6f 63 6b  |%!0=whan%: block|
00014170  25 21 34 3d 69 63 6f 6e  25 0d 0d bb 18 c8 99 20  |%!4=icon%...... |
00014180  26 30 30 30 34 30 30 43  45 2c 2c 62 6c 6f 63 6b  |&000400CE,,block|
00014190  25 0d 0d bc 3a 76 61 72  25 3d bb 28 24 28 62 6c  |%...:var%=.($(bl|
000141a0  6f 63 6b 25 21 32 38 29  29 2d 28 62 75 74 74 6f  |ock%!28))-(butto|
000141b0  6e 25 3d 34 29 2a 69 6e  63 25 2b 28 62 75 74 74  |n%=4)*inc%+(butt|
000141c0  6f 6e 25 3d 31 29 2a 69  6e 63 25 0d 0d bd 20 e7  |on%=1)*inc%... .|
000141d0  20 76 61 72 25 3e 6d 61  78 25 20 8c 20 76 61 72  | var%>max% . var|
000141e0  25 3d 6d 61 78 25 3a 20  ef 20 37 0d 0d be 20 e7  |%=max%: . 7... .|
000141f0  20 76 61 72 25 3c 6d 69  6e 25 20 8c 20 76 61 72  | var%<min% . var|
00014200  25 3d 6d 69 6e 25 3a 20  ef 20 37 0d 0d bf 18 24  |%=min%: . 7....$|
00014210  28 62 6c 6f 63 6b 25 21  32 38 29 3d c3 28 76 61  |(block%!28)=.(va|
00014220  72 25 29 0d 0d c0 1b 62  6c 6f 63 6b 25 21 38 3d  |r%)....block%!8=|
00014230  30 3a 20 62 6c 6f 63 6b  25 21 31 32 3d 30 0d 0d  |0: block%!12=0..|
00014240  c1 18 c8 99 20 26 30 30  30 34 30 30 43 44 2c 2c  |.... &000400CD,,|
00014250  62 6c 6f 63 6b 25 0d 0d  c2 07 f2 78 62 0d 0d c3  |block%.....xb...|
00014260  25 e7 20 63 61 72 62 25  21 30 3d 77 68 61 6e 25  |%. carb%!0=whan%|
00014270  20 80 20 63 61 72 62 25  21 34 3d 69 63 6f 6e 25  | . carb%!4=icon%|
00014280  20 8c 0d 0d c4 13 69 6e  64 65 78 25 3d 63 61 72  | .....index%=car|
00014290  62 25 21 32 30 0d 0d c5  2b e7 20 69 6e 64 65 78  |b%!20...+. index|
000142a0  25 3e a9 28 c3 28 76 61  72 25 29 29 20 8c 20 69  |%>.(.(var%)) . i|
000142b0  6e 64 65 78 25 3d a9 28  c3 28 76 61 72 25 29 29  |ndex%=.(.(var%))|
000142c0  0d 0d c6 1b f2 6f 61 28  77 68 61 6e 25 2c 69 63  |.....oa(whan%,ic|
000142d0  6f 6e 25 2c 69 6e 64 65  78 25 29 0d 0d c7 05 cd  |on%,index%).....|
000142e0  0d 0d c8 05 e1 0d 0d c9  05 3a 0d 0d ca 09 dd 20  |.........:..... |
000142f0  f2 6b 62 0d 0d cb 12 c8  8e 20 64 72 61 67 74 79  |.kb...... dragty|
00014300  70 65 25 20 ca 0d 0d cc  0c c9 20 30 3a 20 f2 6c  |pe% ...... 0: .l|
00014310  63 0d 0d cd 0e c9 20 31  2c 32 3a 20 f2 79 64 0d  |c..... 1,2: .yd.|
00014320  0d ce 05 cb 0d 0d cf 05  e1 0d 0d d0 05 3a 0d 0d  |.............:..|
00014330  d1 18 dd 20 f2 6c 65 28  6d 65 6e 75 25 2c 6d 78  |... .le(menu%,mx|
00014340  25 2c 6d 79 25 29 0d 0d  d2 13 6d 65 6e 75 6f 70  |%,my%)....menuop|
00014350  65 6e 25 3d 6d 65 6e 75  25 0d 0d d3 1e c8 99 26  |en%=menu%......&|
00014360  30 30 30 34 30 30 44 34  2c 2c 6d 65 6e 75 25 2c  |000400D4,,menu%,|
00014370  6d 78 25 2c 6d 79 25 0d  0d d4 22 e7 20 6d 65 6e  |mx%,my%...". men|
00014380  75 25 3d 73 61 76 65 62  6f 78 25 20 8c 20 64 72  |u%=savebox% . dr|
00014390  61 67 74 79 70 65 25 3d  30 0d 0d d5 05 e1 0d 0d  |agtype%=0.......|
000143a0  d6 05 3a 0d 0d d7 16 dd  20 f2 76 65 28 6d 65 6e  |..:..... .ve(men|
000143b0  75 25 2c 69 74 65 6d 25  29 0d 0d d8 39 3f 28 6d  |u%,item%)...9?(m|
000143c0  65 6e 75 25 2b 32 38 2b  69 74 65 6d 25 2a 32 34  |enu%+28+item%*24|
000143d0  29 3d 28 3f 28 6d 65 6e  75 25 2b 32 38 2b 69 74  |)=(?(menu%+28+it|
000143e0  65 6d 25 2a 32 34 29 20  80 20 ac 20 30 29 20 82  |em%*24) . . 0) .|
000143f0  20 31 0d 0d d9 05 e1 0d  0d da 05 3a 0d 0d db 16  | 1.........:....|
00014400  dd 20 f2 73 65 28 6d 65  6e 75 25 2c 69 74 65 6d  |. .se(menu%,item|
00014410  25 29 0d 0d dc 31 3f 28  6d 65 6e 75 25 2b 32 38  |%)...1?(menu%+28|
00014420  2b 69 74 65 6d 25 2a 32  34 29 3d 3f 28 6d 65 6e  |+item%*24)=?(men|
00014430  75 25 2b 32 38 2b 69 74  65 6d 25 2a 32 34 29 20  |u%+28+item%*24) |
00014440  84 20 31 0d 0d dd 05 e1  0d 0d de 05 3a 0d 0d df  |. 1.........:...|
00014450  16 dd 20 f2 77 65 28 6d  65 6e 75 25 2c 69 74 65  |.. .we(menu%,ite|
00014460  6d 25 29 0d 0d e0 39 3f  28 6d 65 6e 75 25 2b 32  |m%)...9?(menu%+2|
00014470  38 2b 69 74 65 6d 25 2a  32 34 29 3d 28 3f 28 6d  |8+item%*24)=(?(m|
00014480  65 6e 75 25 2b 32 38 2b  69 74 65 6d 25 2a 32 34  |enu%+28+item%*24|
00014490  29 20 80 20 ac 20 31 29  20 82 20 30 0d 0d e1 05  |) . . 1) . 0....|
000144a0  e1 0d 0d e2 05 3a 0d 0d  e3 16 dd 20 f2 75 65 28  |.....:..... .ue(|
000144b0  6d 65 6e 75 25 2c 69 74  65 6d 25 29 0d 0d e4 3f  |menu%,item%)...?|
000144c0  3f 28 6d 65 6e 75 25 2b  33 38 2b 69 74 65 6d 25  |?(menu%+38+item%|
000144d0  2a 32 34 29 3d 28 3f 28  6d 65 6e 75 25 2b 33 38  |*24)=(?(menu%+38|
000144e0  2b 69 74 65 6d 25 2a 32  34 29 20 80 20 ac 20 30  |+item%*24) . . 0|
000144f0  3c 3c 36 29 20 82 20 31  3c 3c 36 0d 0d e5 05 e1  |<<6) . 1<<6.....|
00014500  0d 0d e6 05 3a 0d 0d e7  1d dd 20 f2 6a 65 28 6d  |....:..... .je(m|
00014510  65 6e 75 25 2c 69 74 65  6d 25 2c 73 68 61 64 65  |enu%,item%,shade|
00014520  25 29 0d 0d e8 44 3f 28  6d 65 6e 75 25 2b 33 38  |%)...D?(menu%+38|
00014530  2b 69 74 65 6d 25 2a 32  34 29 3d 28 3f 28 6d 65  |+item%*24)=(?(me|
00014540  6e 75 25 2b 33 38 2b 69  74 65 6d 25 2a 32 34 29  |nu%+38+item%*24)|
00014550  20 80 20 ac 20 31 3c 3c  36 29 20 82 20 73 68 61  | . . 1<<6) . sha|
00014560  64 65 25 3c 3c 36 0d 0d  e9 05 e1 0d 0d ea 05 3a  |de%<<6.........:|
00014570  0d 0d eb 15 dd 20 a4 6e  28 6d 65 6e 75 25 2c 69  |..... .n(menu%,i|
00014580  74 65 6d 25 29 0d 0d ec  22 3d 28 3f 28 6d 65 6e  |tem%)..."=(?(men|
00014590  75 25 2b 32 38 2b 69 74  65 6d 25 2a 32 34 29 20  |u%+28+item%*24) |
000145a0  80 20 31 29 3c 3e 30 0d  0d ed 05 3a 0d 0d ee 09  |. 1)<>0....:....|
000145b0  dd 20 f2 66 64 0d 0d ef  22 ea 20 73 65 6c 25 2c  |. .fd...". sel%,|
000145c0  73 75 62 73 65 6c 25 2c  62 75 74 74 6f 6e 25 2c  |subsel%,button%,|
000145d0  6d 78 25 2c 6d 79 25 0d  0d f0 22 73 65 6c 25 3d  |mx%,my%..."sel%=|
000145e0  21 62 6c 6f 63 6b 25 3a  20 73 75 62 73 65 6c 25  |!block%: subsel%|
000145f0  3d 62 6c 6f 63 6b 25 21  34 0d 0d f1 17 c8 99 26  |=block%!4......&|
00014600  30 30 30 34 30 30 43 46  2c 2c 62 6c 6f 63 6b 25  |000400CF,,block%|
00014610  0d 0d f2 1d 6d 78 25 3d  21 62 6c 6f 63 6b 25 3a  |....mx%=!block%:|
00014620  20 6d 79 25 3d 62 6c 6f  63 6b 25 21 34 0d 0d f3  | my%=block%!4...|
00014630  14 62 75 74 74 6f 6e 25  3d 62 6c 6f 63 6b 25 21  |.button%=block%!|
00014640  38 0d 0d f4 12 c8 8e 20  6d 65 6e 75 6f 70 65 6e  |8...... menuopen|
00014650  25 20 ca 0d 0d f5 0c c9  20 69 6d 65 6e 75 25 0d  |% ...... imenu%.|
00014660  0d f6 0d c8 8e 20 73 65  6c 25 20 ca 0d 0d f7 1b  |..... sel% .....|
00014670  c9 20 30 3a 20 f2 6c 65  28 69 6e 66 6f 25 2c 6d  |. 0: .le(info%,m|
00014680  78 25 2c 6d 79 25 29 0d  0d f8 0c c9 20 31 3a 20  |x%,my%)..... 1: |
00014690  f2 78 61 0d 0d f9 0c c9  20 32 3a 20 f2 76 61 0d  |.xa..... 2: .va.|
000146a0  0d fa 05 cb 0d 0d fb 0c  c9 20 65 6d 65 6e 75 25  |......... emenu%|
000146b0  0d 0d fc 0d c8 8e 20 73  65 6c 25 20 ca 0d 0d fd  |...... sel% ....|
000146c0  07 c9 20 32 0d 0d fe 12  e7 20 73 75 62 73 65 6c  |.. 2..... subsel|
000146d0  25 3d 2d 31 20 8c 0d 0d  ff 12 e7 20 6d 61 6e 6e  |%=-1 ...... mann|
000146e0  65 72 25 3c 3e 32 20 8c  0d 0e 00 1c f2 66 65 28  |er%<>2 ......fe(|
000146f0  74 62 61 72 25 2c 35 2c  31 3c 3c 32 31 2c 30 3c  |tbar%,5,1<<21,0<|
00014700  3c 32 31 29 0d 0e 01 07  f2 65 63 0d 0e 02 05 cd  |<21).....ec.....|
00014710  0d 0e 03 05 cc 0d 0e 04  1a f2 77 65 28 63 6f 6c  |..........we(col|
00014720  6d 65 6e 75 25 2c 67 72  69 64 63 6f 6c 25 29 0d  |menu%,gridcol%).|
00014730  0e 05 14 67 72 69 64 63  6f 6c 25 3d 73 75 62 73  |...gridcol%=subs|
00014740  65 6c 25 0d 0e 06 1a f2  73 65 28 63 6f 6c 6d 65  |el%.....se(colme|
00014750  6e 75 25 2c 67 72 69 64  63 6f 6c 25 29 0d 0e 07  |nu%,gridcol%)...|
00014760  1c f2 66 65 28 74 62 61  72 25 2c 35 2c 31 3c 3c  |..fe(tbar%,5,1<<|
00014770  32 31 2c 31 3c 3c 32 31  29 0d 0e 08 07 f2 65 63  |21,1<<21).....ec|
00014780  0d 0e 09 05 cd 0d 0e 0a  07 c9 20 33 0d 0e 0b 1c  |.......... 3....|
00014790  f2 66 65 28 74 62 61 72  25 2c 36 2c 31 3c 3c 32  |.fe(tbar%,6,1<<2|
000147a0  31 2c 30 3c 3c 32 31 29  0d 0e 0c 07 f2 7a 64 0d  |1,0<<21).....zd.|
000147b0  0e 0d 07 c9 20 34 0d 0e  0e 1c f2 66 65 28 74 62  |.... 4.....fe(tb|
000147c0  61 72 25 2c 37 2c 31 3c  3c 32 31 2c 30 3c 3c 32  |ar%,7,1<<21,0<<2|
000147d0  31 29 0d 0e 0f 07 f2 6d  65 0d 0e 10 07 c9 20 35  |1).....me..... 5|
000147e0  0d 0e 11 10 c8 8e 20 6d  61 6e 6e 65 72 25 20 ca  |...... manner% .|
000147f0  0d 0e 12 0d c9 20 30 2c  31 3a f2 63 62 0d 0e 13  |..... 0,1:.cb...|
00014800  0b c9 20 32 3a f2 70 65  0d 0e 14 05 cb 0d 0e 15  |.. 2:.pe........|
00014810  07 c9 20 36 0d 0e 16 07  f2 6e 62 0d 0e 17 07 c9  |.. 6.....nb.....|
00014820  20 37 0d 0e 18 10 c8 8e  20 73 75 62 73 65 6c 25  | 7...... subsel%|
00014830  20 ca 0d 0e 19 07 c9 20  30 0d 0e 1a 1c f2 66 65  | ...... 0.....fe|
00014840  28 74 62 61 72 25 2c 39  2c 31 3c 3c 32 31 2c 30  |(tbar%,9,1<<21,0|
00014850  3c 3c 32 31 29 0d 0e 1b  07 f2 6b 65 0d 0e 1c 07  |<<21).....ke....|
00014860  c9 20 31 0d 0e 1d 07 f2  76 64 0d 0e 1e 07 c9 20  |. 1.....vd..... |
00014870  32 0d 0e 1f 07 f2 63 64  0d 0e 20 07 c9 20 33 0d  |2.....cd.. .. 3.|
00014880  0e 21 07 f2 64 64 0d 0e  22 05 cb 0d 0e 23 07 c9  |.!..dd.."....#..|
00014890  20 38 0d 0e 24 13 e7 20  73 75 62 73 65 6c 25 3c  | 8..$.. subsel%<|
000148a0  3e 2d 31 20 8c 0d 0e 25  1a f2 77 65 28 63 6f 6c  |>-1 ...%..we(col|
000148b0  6d 65 6e 75 25 2c 62 61  63 6b 63 6f 6c 25 29 0d  |menu%,backcol%).|
000148c0  0e 26 14 62 61 63 6b 63  6f 6c 25 3d 73 75 62 73  |.&.backcol%=subs|
000148d0  65 6c 25 0d 0e 27 1a f2  73 65 28 63 6f 6c 6d 65  |el%..'..se(colme|
000148e0  6e 75 25 2c 62 61 63 6b  63 6f 6c 25 29 0d 0e 28  |nu%,backcol%)..(|
000148f0  05 cd 0d 0e 29 07 f2 6c  61 0d 0e 2a 05 cb 0d 0e  |....)..la..*....|
00014900  2b 10 c9 20 72 75 6c 65  72 6d 65 6e 75 25 0d 0e  |+.. rulermenu%..|
00014910  2c 13 e7 20 73 75 62 73  65 6c 25 3c 3e 2d 31 20  |,.. subsel%<>-1 |
00014920  8c 0d 0e 2d 1c f2 77 65  28 63 6f 6c 6d 65 6e 75  |...-..we(colmenu|
00014930  25 2c 72 75 6c 65 72 62  63 6f 6c 25 29 0d 0e 2e  |%,rulerbcol%)...|
00014940  16 72 75 6c 65 72 62 63  6f 6c 25 3d 73 75 62 73  |.rulerbcol%=subs|
00014950  65 6c 25 0d 0e 2f 1c f2  73 65 28 63 6f 6c 6d 65  |el%../..se(colme|
00014960  6e 75 25 2c 72 75 6c 65  72 62 63 6f 6c 25 29 0d  |nu%,rulerbcol%).|
00014970  0e 30 13 c8 8e 20 72 75  6c 65 72 62 63 6f 6c 25  |.0... rulerbcol%|
00014980  20 ca 0d 0e 31 18 c9 20  34 2c 35 2c 36 2c 37 2c  | ...1.. 4,5,6,7,|
00014990  38 2c 31 30 2c 31 31 2c  31 33 0d 0e 32 10 72 75  |8,10,11,13..2.ru|
000149a0  6c 65 72 66 63 6f 6c 25  3d 30 0d 0e 33 05 7f 0d  |lerfcol%=0..3...|
000149b0  0e 34 10 72 75 6c 65 72  66 63 6f 6c 25 3d 37 0d  |.4.rulerfcol%=7.|
000149c0  0e 35 05 cb 0d 0e 36 1e  74 6f 70 72 75 6c 65 25  |.5....6.toprule%|
000149d0  3d a4 74 28 74 6f 70 72  75 6c 65 25 29 3a 20 f2  |=.t(toprule%): .|
000149e0  6c 64 0d 0e 37 1e 62 6f  74 72 75 6c 65 25 3d a4  |ld..7.botrule%=.|
000149f0  74 28 62 6f 74 72 75 6c  65 25 29 3a 20 f2 6c 64  |t(botrule%): .ld|
00014a00  0d 0e 38 20 6c 65 66 74  72 75 6c 65 25 3d a4 74  |..8 leftrule%=.t|
00014a10  28 6c 65 66 74 72 75 6c  65 25 29 3a 20 f2 6c 64  |(leftrule%): .ld|
00014a20  0d 0e 39 22 72 69 67 68  74 72 75 6c 65 25 3d a4  |..9"rightrule%=.|
00014a30  74 28 72 69 67 68 74 72  75 6c 65 25 29 3a 20 f2  |t(rightrule%): .|
00014a40  6c 64 0d 0e 3a 05 cd 0d  0e 3b 0f c9 20 6d 61 73  |ld..:....;.. mas|
00014a50  6b 6d 65 6e 75 25 0d 0e  3c 0d c8 8e 20 73 65 6c  |kmenu%..<... sel|
00014a60  25 20 ca 0d 0e 3d 07 c9  20 30 0d 0e 3e 1c f2 66  |% ...=.. 0..>..f|
00014a70  65 28 74 62 61 72 25 2c  39 2c 31 3c 3c 32 31 2c  |e(tbar%,9,1<<21,|
00014a80  30 3c 3c 32 31 29 0d 0e  3f 07 f2 6b 65 0d 0e 40  |0<<21)..?..ke..@|
00014a90  07 c9 20 31 0d 0e 41 07  f2 76 64 0d 0e 42 07 c9  |.. 1..A..vd..B..|
00014aa0  20 32 0d 0e 43 07 f2 63  64 0d 0e 44 07 c9 20 33  | 2..C..cd..D.. 3|
00014ab0  0d 0e 45 07 f2 64 64 0d  0e 46 05 cb 0d 0e 47 0c  |..E..dd..F....G.|
00014ac0  c9 20 64 6d 65 6e 75 25  0d 0e 48 0d c8 8e 20 73  |. dmenu%..H... s|
00014ad0  65 6c 25 20 ca 0d 0e 49  07 c9 20 31 0d 0e 4a 10  |el% ...I.. 1..J.|
00014ae0  c8 8e 20 73 75 62 73 65  6c 25 20 ca 0d 0e 4b 07  |.. subsel% ...K.|
00014af0  c9 20 30 0d 0e 4c 16 e7  20 65 64 69 74 63 72 65  |. 0..L.. editcre|
00014b00  61 74 65 64 25 3d b9 20  8c 0d 0e 4d 85 f2 6b 61  |ated%=. ...M..ka|
00014b10  28 22 43 68 61 6e 67 69  6e 67 20 74 6f 20 67 72  |("Changing to gr|
00014b20  69 64 20 6f 6e 6c 79 20  77 69 6c 6c 20 63 61 75  |id only will cau|
00014b30  73 65 20 61 6c 6c 20 79  6f 75 72 20 63 75 72 72  |se all your curr|
00014b40  65 6e 74 20 77 6f 72 6b  20 74 6f 20 62 65 20 6c  |ent work to be l|
00014b50  6f 73 74 2e 20 41 72 65  20 79 6f 75 20 73 75 72  |ost. Are you sur|
00014b60  65 20 79 6f 75 20 77 69  73 68 20 74 6f 20 64 6f  |e you wish to do|
00014b70  20 74 68 61 74 3f 22 2c  22 43 6f 6e 74 69 6e 75  | that?","Continu|
00014b80  65 22 2c 22 43 61 6e 63  65 6c 22 2c 32 29 0d 0e  |e","Cancel",2)..|
00014b90  4e 05 cc 0d 0e 4f 07 f2  71 61 0d 0e 50 05 cd 0d  |N....O..qa..P...|
00014ba0  0e 51 07 c9 20 31 0d 0e  52 16 e7 20 65 64 69 74  |.Q.. 1..R.. edit|
00014bb0  63 72 65 61 74 65 64 25  3d b9 20 8c 0d 0e 53 8a  |created%=. ...S.|
00014bc0  f2 6b 61 28 22 43 68 61  6e 67 69 6e 67 20 74 6f  |.ka("Changing to|
00014bd0  20 67 72 69 64 20 26 20  70 69 63 74 75 72 65 20  | grid & picture |
00014be0  77 69 6c 6c 20 63 61 75  73 65 20 61 6c 6c 20 79  |will cause all y|
00014bf0  6f 75 72 20 63 75 72 72  65 6e 74 20 77 6f 72 6b  |our current work|
00014c00  20 74 6f 20 62 65 20 6c  6f 73 74 2e 20 41 72 65  | to be lost. Are|
00014c10  20 79 6f 75 20 73 75 72  65 20 79 6f 75 20 77 69  | you sure you wi|
00014c20  73 68 20 74 6f 20 64 6f  20 74 68 61 74 3f 22 2c  |sh to do that?",|
00014c30  22 43 6f 6e 74 69 6e 75  65 22 2c 22 43 61 6e 63  |"Continue","Canc|
00014c40  65 6c 22 2c 33 29 0d 0e  54 05 cc 0d 0e 55 07 f2  |el",3)..T....U..|
00014c50  72 61 0d 0e 56 05 cd 0d  0e 57 07 c9 20 32 0d 0e  |ra..V....W.. 2..|
00014c60  58 16 e7 20 65 64 69 74  63 72 65 61 74 65 64 25  |X.. editcreated%|
00014c70  3d b9 20 8c 0d 0e 59 86  f2 6b 61 28 22 43 68 61  |=. ...Y..ka("Cha|
00014c80  6e 67 69 6e 67 20 74 6f  20 50 75 6e 63 68 63 61  |nging to Punchca|
00014c90  72 64 20 77 69 6c 6c 20  63 61 75 73 65 20 61 6c  |rd will cause al|
00014ca0  6c 20 79 6f 75 72 20 63  75 72 72 65 6e 74 20 77  |l your current w|
00014cb0  6f 72 6b 20 74 6f 20 62  65 20 6c 6f 73 74 2e 20  |ork to be lost. |
00014cc0  41 72 65 20 79 6f 75 20  73 75 72 65 20 79 6f 75  |Are you sure you|
00014cd0  20 77 69 73 68 20 74 6f  20 64 6f 20 74 68 61 74  | wish to do that|
00014ce0  3f 22 2c 22 43 6f 6e 74  69 6e 75 65 22 2c 22 43  |?","Continue","C|
00014cf0  61 6e 63 65 6c 22 2c 31  30 29 0d 0e 5a 05 cc 0d  |ancel",10)..Z...|
00014d00  0e 5b 07 f2 74 61 0d 0e  5c 05 cd 0d 0e 5d 05 cb  |.[..ta..\....]..|
00014d10  0d 0e 5e 07 c9 20 32 0d  0e 5f 10 c8 8e 20 73 75  |..^.. 2.._... su|
00014d20  62 73 65 6c 25 20 ca 0d  0e 60 07 c9 20 30 0d 0e  |bsel% ...`.. 0..|
00014d30  61 16 e7 20 65 64 69 74  63 72 65 61 74 65 64 25  |a.. editcreated%|
00014d40  3d b9 20 8c 0d 0e 62 82  f2 6b 61 28 22 43 68 61  |=. ...b..ka("Cha|
00014d50  6e 67 69 6e 67 20 74 6f  20 69 6e 63 68 65 73 20  |nging to inches |
00014d60  77 69 6c 6c 20 63 61 75  73 65 20 61 6c 6c 20 79  |will cause all y|
00014d70  6f 75 72 20 63 75 72 72  65 6e 74 20 77 6f 72 6b  |our current work|
00014d80  20 74 6f 20 62 65 20 6c  6f 73 74 2e 20 41 72 65  | to be lost. Are|
00014d90  20 79 6f 75 20 73 75 72  65 20 79 6f 75 20 77 69  | you sure you wi|
00014da0  73 68 20 74 6f 20 64 6f  20 74 68 61 74 3f 22 2c  |sh to do that?",|
00014db0  22 43 6f 6e 74 69 6e 75  65 22 2c 22 43 61 6e 63  |"Continue","Canc|
00014dc0  65 6c 22 2c 34 29 0d 0e  63 05 cc 0d 0e 64 07 f2  |el",4)..c....d..|
00014dd0  73 61 0d 0e 65 05 cd 0d  0e 66 07 c9 20 31 0d 0e  |sa..e....f.. 1..|
00014de0  67 16 e7 20 65 64 69 74  63 72 65 61 74 65 64 25  |g.. editcreated%|
00014df0  3d b9 20 8c 0d 0e 68 7e  f2 6b 61 28 22 43 68 61  |=. ...h~.ka("Cha|
00014e00  6e 67 69 6e 67 20 74 6f  20 63 6d 20 77 69 6c 6c  |nging to cm will|
00014e10  20 63 61 75 73 65 20 61  6c 6c 20 79 6f 75 72 20  | cause all your |
00014e20  63 75 72 72 65 6e 74 20  77 6f 72 6b 20 74 6f 20  |current work to |
00014e30  62 65 20 6c 6f 73 74 2e  20 41 72 65 20 79 6f 75  |be lost. Are you|
00014e40  20 73 75 72 65 20 79 6f  75 20 77 69 73 68 20 74  | sure you wish t|
00014e50  6f 20 64 6f 20 74 68 61  74 3f 22 2c 22 43 6f 6e  |o do that?","Con|
00014e60  74 69 6e 75 65 22 2c 22  43 61 6e 63 65 6c 22 2c  |tinue","Cancel",|
00014e70  35 29 0d 0e 69 05 cc 0d  0e 6a 07 f2 70 61 0d 0e  |5)..i....j..pa..|
00014e80  6b 05 cd 0d 0e 6c 05 cb  0d 0e 6d 07 c9 20 33 0d  |k....l....m.. 3.|
00014e90  0e 6e 1c e7 20 a7 73 74  61 74 65 5f 66 69 6c 65  |.n.. .state_file|
00014ea0  24 2c 22 2e 22 29 3c 3e  30 20 8c 0d 0e 6f 14 f2  |$,".")<>0 ...o..|
00014eb0  63 65 28 73 74 61 74 65  5f 66 69 6c 65 24 29 0d  |ce(state_file$).|
00014ec0  0e 70 05 cc 0d 0e 71 0a  f2 69 65 28 33 29 0d 0e  |.p....q..ie(3)..|
00014ed0  72 18 c8 99 20 26 30 30  30 34 30 30 43 46 2c 2c  |r... &000400CF,,|
00014ee0  62 6c 6f 63 6b 25 0d 0e  73 1c f2 6c 65 28 73 61  |block%..s..le(sa|
00014ef0  76 65 62 6f 78 25 2c 6d  78 25 2d 36 34 2c 6d 79  |vebox%,mx%-64,my|
00014f00  25 29 0d 0e 74 05 cd 0d  0e 75 05 cb 0d 0e 76 05  |%)..t....u....v.|
00014f10  cb 0d 0e 77 24 e7 20 62  75 74 74 6f 6e 25 3d 31  |...w$. button%=1|
00014f20  20 8c 20 f2 6c 65 28 6d  65 6e 75 6f 70 65 6e 25  | . .le(menuopen%|
00014f30  2c 30 2c 30 29 0d 0e 78  05 e1 0d 0e 79 05 3a 0d  |,0,0)..x....y.:.|
00014f40  0e 7a 09 dd 20 f2 76 61  0d 0e 7b 19 e7 20 c2 24  |.z.. .va..{.. .$|
00014f50  6d 61 69 6e 74 69 74 6c  65 25 29 3d 22 2a 22 20  |maintitle%)="*" |
00014f60  8c 0d 0e 7c 70 f2 6b 61  28 22 54 68 65 72 65 20  |...|p.ka("There |
00014f70  69 73 20 75 6e 73 61 76  65 64 20 77 6f 72 6b 20  |is unsaved work |
00014f80  69 6e 20 45 61 73 79 4b  6e 69 74 2e 20 44 6f 20  |in EasyKnit. Do |
00014f90  79 6f 75 20 77 61 6e 74  20 74 6f 20 44 69 73 63  |you want to Disc|
00014fa0  61 72 64 20 69 74 20 6f  72 20 43 61 6e 63 65 6c  |ard it or Cancel|
00014fb0  20 74 68 65 20 51 75 69  74 3f 22 2c 22 44 69 73  | the Quit?","Dis|
00014fc0  63 61 72 64 22 2c 22 43  61 6e 63 65 6c 22 2c 38  |card","Cancel",8|
00014fd0  29 0d 0e 7d 05 cc 0d 0e  7e 0b 65 78 69 74 25 3d  |)..}....~.exit%=|
00014fe0  b9 0d 0e 7f 05 cd 0d 0e  80 05 e1 0d 0e 81 05 3a  |...............:|
00014ff0  0d 0e 82 09 dd 20 f2 67  64 0d 0e 83 26 ea 20 6d  |..... .gd...&. m|
00015000  78 25 2c 6d 79 25 2c 68  61 6e 25 2c 6c 65 6e 25  |x%,my%,han%,len%|
00015010  2c 63 6f 75 6e 74 65 72  25 2c 69 63 6f 6e 25 0d  |,counter%,icon%.|
00015020  0e 84 12 c8 8e 20 62 6c  6f 63 6b 25 21 31 36 20  |..... block%!16 |
00015030  ca 0d 0e 85 0c c9 20 30  3a 20 f2 76 61 0d 0e 86  |...... 0: .va...|
00015040  0c c9 20 32 3a 20 f2 65  62 0d 0e 87 08 c9 20 33  |.. 2: .eb..... 3|
00015050  3a 0d 0e 88 12 c8 8e 20  62 6c 6f 63 6b 25 21 34  |:...... block%!4|
00015060  30 20 ca 0d 0e 89 0a c9  20 26 30 46 30 0d 0e 8a  |0 ...... &0F0...|
00015070  16 63 6f 75 6e 74 65 72  25 3d 62 6c 6f 63 6b 25  |.counter%=block%|
00015080  2b 34 34 0d 0e 8b 13 c8  95 20 3f 63 6f 75 6e 74  |+44...... ?count|
00015090  65 72 25 3c 3e 30 0d 0e  8c 11 63 6f 75 6e 74 65  |er%<>0....counte|
000150a0  72 25 2b 3d 31 3a ce 0d  0e 8d 10 3f 63 6f 75 6e  |r%+=1:.....?coun|
000150b0  74 65 72 25 3d 31 33 0d  0e 8e 1d 64 61 74 61 5f  |ter%=13....data_|
000150c0  69 6e 66 69 6c 65 24 3d  24 28 62 6c 6f 63 6b 25  |infile$=$(block%|
000150d0  2b 34 34 29 0d 0e 8f 16  e7 20 65 64 69 74 63 72  |+44)..... editcr|
000150e0  65 61 74 65 64 25 3d b9  20 8c 0d 0e 90 77 f2 6b  |eated%=. ....w.k|
000150f0  61 28 22 4c 6f 61 64 69  6e 67 20 74 68 61 74 20  |a("Loading that |
00015100  77 69 6c 6c 20 63 61 75  73 65 20 61 6e 79 20 63  |will cause any c|
00015110  75 72 72 65 6e 74 20 77  6f 72 6b 20 74 6f 20 62  |urrent work to b|
00015120  65 20 6c 6f 73 74 2e 20  41 72 65 20 79 6f 75 20  |e lost. Are you |
00015130  73 75 72 65 20 79 6f 75  20 77 69 73 68 20 74 6f  |sure you wish to|
00015140  20 64 6f 20 74 68 61 74  3f 22 2c 22 43 6f 6e 74  | do that?","Cont|
00015150  69 6e 75 65 22 2c 22 43  61 6e 63 65 6c 22 2c 31  |inue","Cancel",1|
00015160  29 0d 0e 91 05 cc 0d 0e  92 0a f2 71 63 28 30 29  |)..........qc(0)|
00015170  0d 0e 93 05 cd 0d 0e 94  0a c9 20 26 41 46 46 0d  |.......... &AFF.|
00015180  0e 95 16 63 6f 75 6e 74  65 72 25 3d 62 6c 6f 63  |...counter%=bloc|
00015190  6b 25 2b 34 34 0d 0e 96  13 c8 95 20 3f 63 6f 75  |k%+44...... ?cou|
000151a0  6e 74 65 72 25 3c 3e 30  0d 0e 97 11 63 6f 75 6e  |nter%<>0....coun|
000151b0  74 65 72 25 2b 3d 31 3a  ce 0d 0e 98 10 3f 63 6f  |ter%+=1:.....?co|
000151c0  75 6e 74 65 72 25 3d 31  33 0d 0e 99 1a 70 61 74  |unter%=13....pat|
000151d0  68 66 69 6c 65 24 3d 24  28 62 6c 6f 63 6b 25 2b  |hfile$=$(block%+|
000151e0  34 34 29 0d 0e 9a 16 e7  20 65 64 69 74 63 72 65  |44)..... editcre|
000151f0  61 74 65 64 25 3d b9 20  8c 0d 0e 9b 7d f2 6b 61  |ated%=. ....}.ka|
00015200  28 22 43 68 61 6e 67 69  6e 67 20 74 68 61 74 20  |("Changing that |
00015210  77 69 6c 6c 20 63 61 75  73 65 20 61 6c 6c 20 79  |will cause all y|
00015220  6f 75 72 20 63 75 72 72  65 6e 74 20 77 6f 72 6b  |our current work|
00015230  20 74 6f 20 62 65 20 6c  6f 73 74 2e 20 41 72 65  | to be lost. Are|
00015240  20 79 6f 75 20 73 75 72  65 20 79 6f 75 20 77 69  | you sure you wi|
00015250  73 68 20 74 6f 20 64 6f  20 74 68 61 74 3f 22 2c  |sh to do that?",|
00015260  22 43 6f 6e 74 69 6e 75  65 22 2c 22 43 61 6e 63  |"Continue","Canc|
00015270  65 6c 22 2c 36 29 0d 0e  9c 05 cc 0d 0e 9d 07 f2  |el",6)..........|
00015280  70 63 0d 0e 9e 05 cd 0d  0e 9f 0a c9 20 26 46 46  |pc.......... &FF|
00015290  39 0d 0e a0 16 63 6f 75  6e 74 65 72 25 3d 62 6c  |9....counter%=bl|
000152a0  6f 63 6b 25 2b 34 34 0d  0e a1 13 c8 95 20 3f 63  |ock%+44...... ?c|
000152b0  6f 75 6e 74 65 72 25 3c  3e 30 0d 0e a2 11 63 6f  |ounter%<>0....co|
000152c0  75 6e 74 65 72 25 2b 3d  31 3a ce 0d 0e a3 10 3f  |unter%+=1:.....?|
000152d0  63 6f 75 6e 74 65 72 25  3d 31 33 0d 0e a4 1a 70  |counter%=13....p|
000152e0  61 74 68 66 69 6c 65 24  3d 24 28 62 6c 6f 63 6b  |athfile$=$(block|
000152f0  25 2b 34 34 29 0d 0e a5  16 e7 20 65 64 69 74 63  |%+44)..... editc|
00015300  72 65 61 74 65 64 25 3d  b9 20 8c 0d 0e a6 7d f2  |reated%=. ....}.|
00015310  6b 61 28 22 43 68 61 6e  67 69 6e 67 20 74 68 61  |ka("Changing tha|
00015320  74 20 77 69 6c 6c 20 63  61 75 73 65 20 61 6c 6c  |t will cause all|
00015330  20 79 6f 75 72 20 63 75  72 72 65 6e 74 20 77 6f  | your current wo|
00015340  72 6b 20 74 6f 20 62 65  20 6c 6f 73 74 2e 20 41  |rk to be lost. A|
00015350  72 65 20 79 6f 75 20 73  75 72 65 20 79 6f 75 20  |re you sure you |
00015360  77 69 73 68 20 74 6f 20  64 6f 20 74 68 61 74 3f  |wish to do that?|
00015370  22 2c 22 43 6f 6e 74 69  6e 75 65 22 2c 22 43 61  |","Continue","Ca|
00015380  6e 63 65 6c 22 2c 30 29  0d 0e a7 05 cc 0d 0e a8  |ncel",0)........|
00015390  07 f2 72 63 0d 0e a9 05  cd 0d 0e aa 05 cb 0d 0e  |..rc............|
000153a0  ab 08 c9 20 35 3a 0d 0e  ac 16 e7 20 62 6c 6f 63  |... 5:..... bloc|
000153b0  6b 25 21 34 30 3d 26 30  46 30 20 8c 0d 0e ad 07  |k%!40=&0F0 .....|
000153c0  f2 6f 63 0d 0e ae 04 0d  0e af 16 63 6f 75 6e 74  |.oc........count|
000153d0  65 72 25 3d 62 6c 6f 63  6b 25 2b 34 34 0d 0e b0  |er%=block%+44...|
000153e0  13 c8 95 20 3f 63 6f 75  6e 74 65 72 25 3c 3e 30  |... ?counter%<>0|
000153f0  0d 0e b1 11 63 6f 75 6e  74 65 72 25 2b 3d 31 3a  |....counter%+=1:|
00015400  ce 0d 0e b2 10 3f 63 6f  75 6e 74 65 72 25 3d 31  |.....?counter%=1|
00015410  33 0d 0e b3 1d 64 61 74  61 5f 69 6e 66 69 6c 65  |3....data_infile|
00015420  24 3d 24 28 62 6c 6f 63  6b 25 2b 34 34 29 0d 0e  |$=$(block%+44)..|
00015430  b4 16 e7 20 65 64 69 74  63 72 65 61 74 65 64 25  |... editcreated%|
00015440  3d b9 20 8c 0d 0e b5 77  f2 6b 61 28 22 4c 6f 61  |=. ....w.ka("Loa|
00015450  64 69 6e 67 20 74 68 61  74 20 77 69 6c 6c 20 63  |ding that will c|
00015460  61 75 73 65 20 61 6e 79  20 63 75 72 72 65 6e 74  |ause any current|
00015470  20 77 6f 72 6b 20 74 6f  20 62 65 20 6c 6f 73 74  | work to be lost|
00015480  2e 20 41 72 65 20 79 6f  75 20 73 75 72 65 20 79  |. Are you sure y|
00015490  6f 75 20 77 69 73 68 20  74 6f 20 64 6f 20 74 68  |ou wish to do th|
000154a0  61 74 3f 22 2c 22 43 6f  6e 74 69 6e 75 65 22 2c  |at?","Continue",|
000154b0  22 43 61 6e 63 65 6c 22  2c 31 29 0d 0e b6 05 cc  |"Cancel",1).....|
000154c0  0d 0e b7 0a f2 71 63 28  30 29 0d 0e b8 05 cd 0d  |.....qc(0)......|
000154d0  0e b9 05 cd 0d 0e ba 08  c9 20 31 30 0d 0e bb 04  |......... 10....|
000154e0  0d 0e bc 12 68 61 6e 25  3d 62 6c 6f 63 6b 25 21  |....han%=block%!|
000154f0  32 30 0d 0e bd 3b c8 99  20 26 30 30 30 30 30 30  |20...;.. &000000|
00015500  32 33 2c 22 45 61 73 79  4b 6e 69 74 24 44 69 72  |23,"EasyKnit$Dir|
00015510  22 2c 62 6c 6f 63 6b 25  2b 35 31 32 2c 32 35 36  |",block%+512,256|
00015520  2c 30 2c 30 20 b8 20 2c  2c 6c 65 6e 25 0d 0e be  |,0,0 . ,,len%...|
00015530  18 62 6c 6f 63 6b 25 3f  28 35 31 32 2b 6c 65 6e  |.block%?(512+len|
00015540  25 29 3d 31 33 0d 0e bf  1f d5 23 68 61 6e 25 2c  |%)=13.....#han%,|
00015550  22 52 75 6e 20 22 2b 24  28 62 6c 6f 63 6b 25 2b  |"Run "+$(block%+|
00015560  35 31 32 29 0d 0e c0 0c  c9 20 26 34 30 30 43 30  |512)..... &400C0|
00015570  0d 0e c1 10 6c 6f 73 65  63 61 72 65 74 25 3d a3  |....losecaret%=.|
00015580  0d 0e c2 6e e7 20 28 6d  65 6e 75 6f 70 65 6e 25  |...n. (menuopen%|
00015590  3d 64 6d 65 6e 75 25 20  80 20 62 6c 6f 63 6b 25  |=dmenu% . block%|
000155a0  21 33 32 3d 33 29 20 84  20 28 6d 65 6e 75 6f 70  |!32=3) . (menuop|
000155b0  65 6e 25 3d 69 6d 65 6e  75 25 20 80 20 62 6c 6f  |en%=imenu% . blo|
000155c0  63 6b 25 21 33 32 3d 31  29 20 84 20 28 6d 65 6e  |ck%!32=1) . (men|
000155d0  75 6f 70 65 6e 25 3d 65  6d 65 6e 75 25 20 80 20  |uopen%=emenu% . |
000155e0  62 6c 6f 63 6b 25 21 33  32 3d 30 29 20 8c 0d 0e  |block%!32=0) ...|
000155f0  c3 20 6d 78 25 3d 62 6c  6f 63 6b 25 21 32 34 3a  |. mx%=block%!24:|
00015600  20 6d 79 25 3d 62 6c 6f  63 6b 25 21 32 38 0d 0e  | my%=block%!28..|
00015610  c4 1a e7 20 62 6c 6f 63  6b 25 21 33 36 3d 30 20  |... block%!36=0 |
00015620  8c 20 f2 69 65 28 31 29  0d 0e c5 1a e7 20 62 6c  |. .ie(1)..... bl|
00015630  6f 63 6b 25 21 33 36 3d  31 20 8c 20 f2 69 65 28  |ock%!36=1 . .ie(|
00015640  32 29 0d 0e c6 1a e7 20  62 6c 6f 63 6b 25 21 33  |2)..... block%!3|
00015650  36 3d 32 20 8c 20 f2 69  65 28 33 29 0d 0e c7 16  |6=2 . .ie(3)....|
00015660  62 6c 6f 63 6b 25 21 32  30 3d 73 61 76 65 62 6f  |block%!20=savebo|
00015670  78 25 0d 0e c8 20 62 6c  6f 63 6b 25 21 32 34 3d  |x%... block%!24=|
00015680  6d 78 25 3a 20 62 6c 6f  63 6b 25 21 32 38 3d 6d  |mx%: block%!28=m|
00015690  79 25 0d 0e c9 05 cd 0d  0e ca 18 e7 20 6d 65 6e  |y%.......... men|
000156a0  75 6f 70 65 6e 25 3d 65  6d 65 6e 75 25 20 8c 0d  |uopen%=emenu% ..|
000156b0  0e cb 12 c8 8e 20 62 6c  6f 63 6b 25 21 33 32 20  |..... block%!32 |
000156c0  ca 0d 0e cc 07 c9 20 31  0d 0e cd 14 62 6c 6f 63  |...... 1....bloc|
000156d0  6b 25 21 31 30 30 3d 7a  6f 6f 6d 25 0d 0e ce 1c  |k%!100=zoom%....|
000156e0  c8 99 20 26 30 30 30 34  30 30 43 43 2c 2c 62 6c  |.. &000400CC,,bl|
000156f0  6f 63 6b 25 2b 31 30 30  0d 0e cf 1c c8 99 20 26  |ock%+100...... &|
00015700  30 30 30 34 30 30 43 33  2c 2c 62 6c 6f 63 6b 25  |000400C3,,block%|
00015710  2b 31 30 30 0d 0e d0 29  62 6c 6f 63 6b 25 21 31  |+100...)block%!1|
00015720  33 32 3d 28 28 62 6c 6f  63 6b 25 21 31 33 32 29  |32=((block%!132)|
00015730  20 80 20 ac 20 28 31 3c  3c 32 35 29 29 0d 0e d1  | . . (1<<25))...|
00015740  24 c8 99 20 26 30 30 30  34 30 30 43 31 2c 2c 62  |$.. &000400C1,,b|
00015750  6c 6f 63 6b 25 2b 31 30  34 20 b8 20 7a 6f 6f 6d  |lock%+104 . zoom|
00015760  25 0d 0e d2 13 62 6c 6f  63 6b 25 21 32 30 3d 7a  |%....block%!20=z|
00015770  6f 6f 6d 25 0d 0e d3 14  24 73 63 6c 6d 75 6c 25  |oom%....$sclmul%|
00015780  3d c3 65 64 6d 75 6c 25  0d 0e d4 14 24 73 63 6c  |=.edmul%....$scl|
00015790  64 69 76 25 3d c3 65 64  64 69 76 25 0d 0e d5 07  |div%=.eddiv%....|
000157a0  c9 20 32 0d 0e d6 15 e3  20 63 6f 75 6e 74 65 72  |. 2..... counter|
000157b0  25 3d 30 20 b8 20 31 35  0d 0e d7 1a f2 77 65 28  |%=0 . 15.....we(|
000157c0  63 6f 6c 6d 65 6e 75 25  2c 63 6f 75 6e 74 65 72  |colmenu%,counter|
000157d0  25 29 0d 0e d8 0e ed 20  63 6f 75 6e 74 65 72 25  |%)..... counter%|
000157e0  0d 0e d9 1a f2 73 65 28  63 6f 6c 6d 65 6e 75 25  |.....se(colmenu%|
000157f0  2c 67 72 69 64 63 6f 6c  25 29 0d 0e da 07 c9 20  |,gridcol%)..... |
00015800  38 0d 0e db 15 e3 20 63  6f 75 6e 74 65 72 25 3d  |8..... counter%=|
00015810  30 20 b8 20 31 35 0d 0e  dc 1a f2 77 65 28 63 6f  |0 . 15.....we(co|
00015820  6c 6d 65 6e 75 25 2c 63  6f 75 6e 74 65 72 25 29  |lmenu%,counter%)|
00015830  0d 0e dd 0e ed 20 63 6f  75 6e 74 65 72 25 0d 0e  |..... counter%..|
00015840  de 1a f2 73 65 28 63 6f  6c 6d 65 6e 75 25 2c 62  |...se(colmenu%,b|
00015850  61 63 6b 63 6f 6c 25 29  0d 0e df 08 c9 20 31 30  |ackcol%)..... 10|
00015860  0d 0e e0 14 6c 6f 73 65  63 61 72 65 74 25 3d ac  |....losecaret%=.|
00015870  28 a4 75 29 0d 0e e1 05  cb 0d 0e e2 05 cd 0d 0e  |(.u)............|
00015880  e3 4b e7 20 28 6d 65 6e  75 6f 70 65 6e 25 3d 65  |.K. (menuopen%=e|
00015890  6d 65 6e 75 25 20 80 20  62 6c 6f 63 6b 25 21 33  |menu% . block%!3|
000158a0  32 3d 39 29 20 84 20 28  6d 65 6e 75 6f 70 65 6e  |2=9) . (menuopen|
000158b0  25 3d 64 6d 65 6e 75 25  20 80 20 62 6c 6f 63 6b  |%=dmenu% . block|
000158c0  25 21 33 32 3d 30 29 20  8c 0d 0e e4 19 24 70 72  |%!32=0) .....$pr|
000158d0  6f 6a 6e 61 6d 65 25 3d  24 70 61 74 73 74 6f 72  |ojname%=$patstor|
000158e0  65 25 0d 0e e5 1e 24 72  6f 66 66 73 65 74 25 3d  |e%....$roffset%=|
000158f0  24 28 70 61 74 73 74 6f  72 65 25 2b 31 30 30 29  |$(patstore%+100)|
00015900  0d 0e e6 1e 24 74 66 72  61 6d 65 68 25 3d 24 28  |....$tframeh%=$(|
00015910  70 61 74 73 74 6f 72 65  25 2b 31 30 35 29 0d 0e  |patstore%+105)..|
00015920  e7 1e 24 74 66 72 61 6d  65 77 25 3d 24 28 70 61  |..$tframew%=$(pa|
00015930  74 73 74 6f 72 65 25 2b  31 31 30 29 0d 0e e8 19  |tstore%+110)....|
00015940  e7 20 70 61 74 73 74 6f  72 65 25 3f 31 31 35 3d  |. patstore%?115=|
00015950  32 35 35 20 8c 0d 0e e9  20 f2 66 65 28 70 61 74  |255 .... .fe(pat|
00015960  74 65 72 6e 25 2c 31 32  2c 31 3c 3c 32 31 2c 31  |tern%,12,1<<21,1|
00015970  3c 3c 32 31 29 0d 0e ea  20 f2 66 65 28 70 61 74  |<<21)... .fe(pat|
00015980  74 65 72 6e 25 2c 31 33  2c 30 3c 3c 32 31 2c 31  |tern%,13,0<<21,1|
00015990  3c 3c 32 31 29 0d 0e eb  05 cc 0d 0e ec 20 f2 66  |<<21)........ .f|
000159a0  65 28 70 61 74 74 65 72  6e 25 2c 31 32 2c 30 3c  |e(pattern%,12,0<|
000159b0  3c 32 31 2c 31 3c 3c 32  31 29 0d 0e ed 20 f2 66  |<21,1<<21)... .f|
000159c0  65 28 70 61 74 74 65 72  6e 25 2c 31 33 2c 31 3c  |e(pattern%,13,1<|
000159d0  3c 32 31 2c 31 3c 3c 32  31 29 0d 0e ee 05 cd 0d  |<21,1<<21)......|
000159e0  0e ef 05 cd 0d 0e f0 1c  e7 20 6d 65 6e 75 6f 70  |......... menuop|
000159f0  65 6e 25 3d 72 75 6c 65  72 6d 65 6e 75 25 20 8c  |en%=rulermenu% .|
00015a00  0d 0e f1 15 e3 20 63 6f  75 6e 74 65 72 25 3d 30  |..... counter%=0|
00015a10  20 b8 20 31 35 0d 0e f2  1a f2 77 65 28 63 6f 6c  | . 15.....we(col|
00015a20  6d 65 6e 75 25 2c 63 6f  75 6e 74 65 72 25 29 0d  |menu%,counter%).|
00015a30  0e f3 0e ed 20 63 6f 75  6e 74 65 72 25 0d 0e f4  |.... counter%...|
00015a40  1c f2 73 65 28 63 6f 6c  6d 65 6e 75 25 2c 72 75  |..se(colmenu%,ru|
00015a50  6c 65 72 62 63 6f 6c 25  29 0d 0e f5 05 cd 0d 0e  |lerbcol%).......|
00015a60  f6 2f c8 99 20 26 30 30  30 34 30 30 45 38 2c 2c  |./.. &000400E8,,|
00015a70  62 6c 6f 63 6b 25 21 32  30 2c 62 6c 6f 63 6b 25  |block%!20,block%|
00015a80  21 32 34 2c 62 6c 6f 63  6b 25 21 32 38 0d 0e f7  |!24,block%!28...|
00015a90  54 e7 20 6c 6f 73 65 63  61 72 65 74 25 3d b9 20  |T. losecaret%=. |
00015aa0  8c 20 c8 99 20 26 30 30  30 34 30 30 44 32 2c 63  |. .. &000400D2,c|
00015ab0  61 72 62 25 21 30 2c 63  61 72 62 25 21 34 2c 63  |arb%!0,carb%!4,c|
00015ac0  61 72 62 25 21 38 2c 63  61 72 62 25 21 31 32 2c  |arb%!8,carb%!12,|
00015ad0  63 61 72 62 25 21 31 36  2c 63 61 72 62 25 21 32  |carb%!16,carb%!2|
00015ae0  30 0d 0e f8 0e c9 20 39  2c 26 34 30 30 43 31 0d  |0..... 9,&400C1.|
00015af0  0e f9 07 f2 68 64 0d 0e  fa 0a c9 20 26 35 30 32  |....hd..... &502|
00015b00  0d 0e fb 11 e7 20 68 65  6c 70 6f 6e 25 3d b9 20  |..... helpon%=. |
00015b10  8c 0d 0e fc 17 62 6c 6f  63 6b 25 21 34 30 3d 62  |.....block%!40=b|
00015b20  6c 6f 63 6b 25 21 33 32  0d 0e fd 12 68 61 6e 25  |lock%!32....han%|
00015b30  3d 62 6c 6f 63 6b 25 21  33 32 0d 0e fe 13 69 63  |=block%!32....ic|
00015b40  6f 6e 25 3d 62 6c 6f 63  6b 25 21 33 36 0d 0e ff  |on%=block%!36...|
00015b50  13 f2 66 63 28 68 61 6e  25 2c 69 63 6f 6e 25 29  |..fc(han%,icon%)|
00015b60  0d 0f 00 05 cd 0d 0f 01  05 cb 0d 0f 02 05 e1 0d  |................|
00015b70  0f 03 05 3a 0d 0f 04 13  dd 20 f2 64 65 28 6d 65  |...:..... .de(me|
00015b80  73 73 61 67 65 24 29 0d  0f 05 16 62 6c 6f 63 6b  |ssage$)....block|
00015b90  25 21 31 32 3d 62 6c 6f  63 6b 25 21 38 0d 0f 06  |%!12=block%!8...|
00015ba0  12 62 6c 6f 63 6b 25 21  31 36 3d 26 35 30 33 0d  |.block%!16=&503.|
00015bb0  0f 07 19 24 28 62 6c 6f  63 6b 25 2b 32 30 29 3d  |...$(block%+20)=|
00015bc0  6d 65 73 73 61 67 65 24  0d 0f 08 0f 21 62 6c 6f  |message$....!blo|
00015bd0  63 6b 25 3d 32 35 36 0d  0f 09 23 c8 99 20 26 30  |ck%=256...#.. &0|
00015be0  30 30 34 30 30 45 37 2c  31 37 2c 62 6c 6f 63 6b  |00400E7,17,block|
00015bf0  25 2c 62 6c 6f 63 6b 25  21 34 0d 0f 0a 05 e1 0d  |%,block%!4......|
00015c00  0f 0b 05 3a 0d 0f 0c 09  dd 20 f2 6d 63 0d 0f 0d  |...:..... .mc...|
00015c10  44 ea 20 6b 65 79 25 2c  69 63 6f 6e 25 2c 77 68  |D. key%,icon%,wh|
00015c20  61 6e 25 2c 70 72 6f 63  65 73 73 65 64 25 2c 6d  |an%,processed%,m|
00015c30  78 25 2c 6d 79 25 2c 6b  65 65 70 63 61 72 65 74  |x%,my%,keepcaret|
00015c40  25 2c 7a 65 72 6f 25 2c  67 72 69 64 66 69 67 73  |%,zero%,gridfigs|
00015c50  25 0d 0f 0e 12 77 68 61  6e 25 3d 62 6c 6f 63 6b  |%....whan%=block|
00015c60  25 21 30 0d 0f 0f 12 69  63 6f 6e 25 3d 62 6c 6f  |%!0....icon%=blo|
00015c70  63 6b 25 21 34 0d 0f 10  12 6b 65 79 25 3d 62 6c  |ck%!4....key%=bl|
00015c80  6f 63 6b 25 21 32 34 0d  0f 11 10 70 72 6f 63 65  |ock%!24....proce|
00015c90  73 73 65 64 25 3d a3 0d  0f 12 0e c8 8e 20 77 68  |ssed%=....... wh|
00015ca0  61 6e 25 20 ca 0d 0f 13  0a c9 20 61 73 6b 25 0d  |an% ...... ask%.|
00015cb0  0f 14 0f e7 20 6b 65 79  25 3d 31 33 20 8c 0d 0f  |.... key%=13 ...|
00015cc0  15 0e 62 6c 6f 63 6b 25  21 30 3d 30 0d 0f 16 0e  |..block%!0=0....|
00015cd0  62 6c 6f 63 6b 25 21 34  3d 30 0d 0f 17 0e 62 6c  |block%!4=0....bl|
00015ce0  6f 63 6b 25 21 38 3d 34  0d 0f 18 12 62 6c 6f 63  |ock%!8=4....bloc|
00015cf0  6b 25 21 31 32 3d 61 73  6b 25 0d 0f 19 0f 62 6c  |k%!12=ask%....bl|
00015d00  6f 63 6b 25 21 31 36 3d  30 0d 0f 1a 07 f2 69 64  |ock%!16=0.....id|
00015d10  0d 0f 1b 05 cd 0d 0f 1c  10 70 72 6f 63 65 73 73  |.........process|
00015d20  65 64 25 3d b9 0d 0f 1d  12 65 64 69 74 63 72 65  |ed%=.....editcre|
00015d30  61 74 65 64 25 3d a3 0d  0f 1e 0c c9 20 70 72 69  |ated%=...... pri|
00015d40  6e 74 25 0d 0f 1f 0f e7  20 6b 65 79 25 3d 31 33  |nt%..... key%=13|
00015d50  20 8c 0d 0f 20 1e f2 66  65 28 70 72 69 6e 74 25  | ... ..fe(print%|
00015d60  2c 31 31 2c 31 3c 3c 32  31 2c 31 3c 3c 32 31 29  |,11,1<<21,1<<21)|
00015d70  0d 0f 21 07 f2 72 64 0d  0f 22 1e f2 66 65 28 70  |..!..rd.."..fe(p|
00015d80  72 69 6e 74 25 2c 31 31  2c 30 3c 3c 32 31 2c 31  |rint%,11,0<<21,1|
00015d90  3c 3c 32 31 29 0d 0f 23  14 c8 99 20 26 30 30 30  |<<21)..#... &000|
00015da0  34 30 30 44 34 2c 2c 2d  31 0d 0f 24 10 70 72 6f  |400D4,,-1..$.pro|
00015db0  63 65 73 73 65 64 25 3d  b9 0d 0f 25 05 cd 0d 0f  |cessed%=...%....|
00015dc0  26 0e c8 8e 20 69 63 6f  6e 25 20 ca 0d 0f 27 07  |&... icon% ...'.|
00015dd0  c9 20 35 0d 0f 28 07 f2  73 64 0d 0f 29 05 cb 0d  |. 5..(..sd..)...|
00015de0  0f 2a 0e c9 20 70 61 74  74 65 72 6e 25 0d 0f 2b  |.*.. pattern%..+|
00015df0  36 e7 20 6b 65 79 25 3d  31 33 20 80 20 69 63 6f  |6. key%=13 . ico|
00015e00  6e 25 3d 31 31 20 8c 20  f2 6f 61 28 70 61 74 74  |n%=11 . .oa(patt|
00015e10  65 72 6e 25 2c 38 2c a9  24 70 61 74 73 74 6f 72  |ern%,8,.$patstor|
00015e20  65 25 29 0d 0f 2c 10 c9  20 63 6f 6c 63 72 65 61  |e%)..,.. colcrea|
00015e30  74 65 25 0d 0f 2d 0d c8  8e 20 6b 65 79 25 20 ca  |te%..-... key% .|
00015e40  0d 0f 2e 0f c9 20 26 31  38 46 2c 26 31 39 41 0d  |..... &18F,&19A.|
00015e50  0f 2f 12 e7 20 65 64 69  74 63 6f 6c 25 3e 30 20  |./.. editcol%>0 |
00015e60  8c 0d 0f 30 2a f2 66 65  28 63 6f 6c 70 61 6e 65  |...0*.fe(colpane|
00015e70  25 2c 65 64 69 74 63 6f  6c 25 2a 33 2b 31 2c 30  |%,editcol%*3+1,0|
00015e80  3c 3c 32 31 2c 31 3c 3c  32 31 29 0d 0f 31 0f 65  |<<21,1<<21)..1.e|
00015e90  64 69 74 63 6f 6c 25 2d  3d 31 0d 0f 32 2a f2 66  |ditcol%-=1..2*.f|
00015ea0  65 28 63 6f 6c 70 61 6e  65 25 2c 65 64 69 74 63  |e(colpane%,editc|
00015eb0  6f 6c 25 2a 33 2b 31 2c  31 3c 3c 32 31 2c 31 3c  |ol%*3+1,1<<21,1<|
00015ec0  3c 32 31 29 0d 0f 33 25  24 63 6e 61 6d 65 25 3d  |<21)..3%$cname%=|
00015ed0  24 28 6e 61 6d 65 74 61  62 6c 65 25 2b 65 64 69  |$(nametable%+edi|
00015ee0  74 63 6f 6c 25 2a 31 33  29 0d 0f 34 19 f2 66 65  |tcol%*13)..4..fe|
00015ef0  28 63 6f 6c 63 72 65 61  74 65 25 2c 33 2c 30 2c  |(colcreate%,3,0,|
00015f00  30 29 0d 0f 35 1e f2 6f  61 28 63 6f 6c 63 72 65  |0)..5..oa(colcre|
00015f10  61 74 65 25 2c 33 2c a9  24 63 6e 61 6d 65 25 29  |ate%,3,.$cname%)|
00015f20  0d 0f 36 05 cc 0d 0f 37  07 ef 20 37 0d 0f 38 05  |..6....7.. 7..8.|
00015f30  cd 0d 0f 39 12 c9 20 26  31 38 45 2c 26 31 38 41  |...9.. &18E,&18A|
00015f40  2c 31 33 0d 0f 3a 18 e7  20 65 64 69 74 63 6f 6c  |,13..:.. editcol|
00015f50  25 3c 6d 61 78 63 6f 6c  25 20 8c 0d 0f 3b 2a f2  |%<maxcol% ...;*.|
00015f60  66 65 28 63 6f 6c 70 61  6e 65 25 2c 65 64 69 74  |fe(colpane%,edit|
00015f70  63 6f 6c 25 2a 33 2b 31  2c 30 3c 3c 32 31 2c 31  |col%*3+1,0<<21,1|
00015f80  3c 3c 32 31 29 0d 0f 3c  0f 65 64 69 74 63 6f 6c  |<<21)..<.editcol|
00015f90  25 2b 3d 31 0d 0f 3d 2a  f2 66 65 28 63 6f 6c 70  |%+=1..=*.fe(colp|
00015fa0  61 6e 65 25 2c 65 64 69  74 63 6f 6c 25 2a 33 2b  |ane%,editcol%*3+|
00015fb0  31 2c 31 3c 3c 32 31 2c  31 3c 3c 32 31 29 0d 0f  |1,1<<21,1<<21)..|
00015fc0  3e 25 24 63 6e 61 6d 65  25 3d 24 28 6e 61 6d 65  |>%$cname%=$(name|
00015fd0  74 61 62 6c 65 25 2b 65  64 69 74 63 6f 6c 25 2a  |table%+editcol%*|
00015fe0  31 33 29 0d 0f 3f 19 f2  66 65 28 63 6f 6c 63 72  |13)..?..fe(colcr|
00015ff0  65 61 74 65 25 2c 33 2c  30 2c 30 29 0d 0f 40 1e  |eate%,3,0,0)..@.|
00016000  f2 6f 61 28 63 6f 6c 63  72 65 61 74 65 25 2c 33  |.oa(colcreate%,3|
00016010  2c a9 24 63 6e 61 6d 65  25 29 0d 0f 41 05 cc 0d  |,.$cname%)..A...|
00016020  0f 42 07 ef 20 37 0d 0f  43 05 cd 0d 0f 44 05 7f  |.B.. 7..C....D..|
00016030  0d 0f 45 15 e7 20 20 65  64 69 74 63 6f 6c 25 3c  |..E..  editcol%<|
00016040  3e 2d 32 20 8c 0d 0f 46  27 24 28 6e 61 6d 65 74  |>-2 ...F'$(namet|
00016050  61 62 6c 65 25 2b 28 65  64 69 74 63 6f 6c 25 2a  |able%+(editcol%*|
00016060  31 33 29 29 3d 24 63 6e  61 6d 65 25 0d 0f 47 24  |13))=$cname%..G$|
00016070  f2 66 65 28 63 6f 6c 63  68 6f 6f 73 65 25 2c 65  |.fe(colchoose%,e|
00016080  64 69 74 63 6f 6c 25 2a  33 2b 38 2c 30 2c 30 29  |ditcol%*3+8,0,0)|
00016090  0d 0f 48 22 f2 66 65 28  63 6f 6c 70 61 6e 65 25  |..H".fe(colpane%|
000160a0  2c 65 64 69 74 63 6f 6c  25 2a 33 2b 32 2c 30 2c  |,editcol%*3+2,0,|
000160b0  30 29 0d 0f 49 05 cc 0d  0f 4a 21 f2 77 64 28 22  |0)..I....J!.wd("|
000160c0  50 6c 65 61 73 65 20 73  65 6c 65 63 74 20 61 20  |Please select a |
000160d0  63 6f 6c 6f 75 72 22 29  0d 0f 4b 05 cd 0d 0f 4c  |colour")..K....L|
000160e0  05 cb 0d 0f 4d 0b c9 20  7a 6f 6f 6d 25 0d 0f 4e  |....M.. zoom%..N|
000160f0  0e c8 8e 20 69 63 6f 6e  25 20 ca 0d 0f 4f 07 c9  |... icon% ...O..|
00016100  20 30 0d 0f 50 0d c8 8e  20 6b 65 79 25 20 ca 0d  | 0..P... key% ..|
00016110  0f 51 1c c9 20 31 33 2c  26 31 38 45 2c 26 31 38  |.Q.. 13,&18E,&18|
00016120  46 2c 26 31 38 41 2c 26  31 39 41 0d 0f 52 31 e7  |F,&18A,&19A..R1.|
00016130  20 bb 24 73 63 6c 6d 75  6c 25 3e 38 20 8c 20 24  | .$sclmul%>8 . $|
00016140  73 63 6c 6d 75 6c 25 3d  22 38 22 3a f2 66 65 28  |sclmul%="8":.fe(|
00016150  7a 6f 6f 6d 25 2c 30 2c  30 2c 30 29 0d 0f 53 1a  |zoom%,0,0,0)..S.|
00016160  f2 6f 61 28 7a 6f 6f 6d  25 2c 31 2c a9 24 73 63  |.oa(zoom%,1,.$sc|
00016170  6c 64 69 76 25 29 0d 0f  54 05 cb 0d 0f 55 07 c9  |ldiv%)..T....U..|
00016180  20 31 0d 0f 56 0d c8 8e  20 6b 65 79 25 20 ca 0d  | 1..V... key% ..|
00016190  0f 57 08 c9 20 31 33 0d  0f 58 31 e7 20 bb 24 73  |.W.. 13..X1. .$s|
000161a0  63 6c 6d 75 6c 25 3e 38  20 8c 20 24 73 63 6c 6d  |clmul%>8 . $sclm|
000161b0  75 6c 25 3d 22 38 22 3a  f2 66 65 28 7a 6f 6f 6d  |ul%="8":.fe(zoom|
000161c0  25 2c 30 2c 30 2c 30 29  0d 0f 59 31 e7 20 bb 24  |%,0,0,0)..Y1. .$|
000161d0  73 63 6c 64 69 76 25 3e  38 20 8c 20 24 73 63 6c  |scldiv%>8 . $scl|
000161e0  64 69 76 25 3d 22 38 22  3a f2 66 65 28 7a 6f 6f  |div%="8":.fe(zoo|
000161f0  6d 25 2c 31 2c 30 2c 30  29 0d 0f 5a 07 f2 63 66  |m%,1,0,0)..Z..cf|
00016200  0d 0f 5b 0e f2 7a 61 28  7a 6f 6f 6d 25 29 0d 0f  |..[..za(zoom%)..|
00016210  5c 14 c8 99 20 26 30 30  30 34 30 30 44 34 2c 2c  |\... &000400D4,,|
00016220  2d 31 0d 0f 5d 19 c9 20  26 31 38 45 2c 26 31 38  |-1..].. &18E,&18|
00016230  46 2c 26 31 38 41 2c 26  31 39 41 0d 0f 5e 1a f2  |F,&18A,&19A..^..|
00016240  6f 61 28 7a 6f 6f 6d 25  2c 30 2c a9 24 73 63 6c  |oa(zoom%,0,.$scl|
00016250  6d 75 6c 25 29 0d 0f 5f  05 cb 0d 0f 60 10 70 72  |mul%).._....`.pr|
00016260  6f 63 65 73 73 65 64 25  3d b9 0d 0f 61 05 cb 0d  |ocessed%=...a...|
00016270  0f 62 0e c9 20 73 61 76  65 62 6f 78 25 0d 0f 63  |.b.. savebox%..c|
00016280  34 e7 20 6b 65 79 25 3d  31 33 20 80 20 69 63 6f  |4. key%=13 . ico|
00016290  6e 25 3d 31 20 8c 20 61  64 6a 75 73 74 25 3d a3  |n%=1 . adjust%=.|
000162a0  3a f2 74 64 3a 70 72 6f  63 65 73 73 65 64 25 3d  |:.td:processed%=|
000162b0  b9 0d 0f 64 0b c9 20 65  64 69 74 25 0d 0f 65 0d  |...d.. edit%..e.|
000162c0  c8 8e 20 6b 65 79 25 20  ca 0d 0f 66 08 c9 20 32  |.. key% ...f.. 2|
000162d0  37 0d 0f 67 13 e7 20 63  6f 70 79 25 3d b9 20 8c  |7..g.. copy%=. .|
000162e0  20 f2 70 62 0d 0f 68 0a  c9 20 26 31 38 33 0d 0f  | .pb..h.. &183..|
000162f0  69 0a f2 69 65 28 33 29  0d 0f 6a 18 c8 99 20 26  |i..ie(3)..j... &|
00016300  30 30 30 34 30 30 43 46  2c 2c 62 6c 6f 63 6b 25  |000400CF,,block%|
00016310  0d 0f 6b 10 6d 78 25 3d  62 6c 6f 63 6b 25 21 30  |..k.mx%=block%!0|
00016320  0d 0f 6c 10 6d 79 25 3d  62 6c 6f 63 6b 25 21 34  |..l.my%=block%!4|
00016330  0d 0f 6d 1c f2 6c 65 28  73 61 76 65 62 6f 78 25  |..m..le(savebox%|
00016340  2c 6d 78 25 2d 36 34 2c  6d 79 25 29 0d 0f 6e 0f  |,mx%-64,my%)..n.|
00016350  69 63 6f 6e 25 3d 36 30  30 30 30 0d 0f 6f 10 70  |icon%=60000..o.p|
00016360  72 6f 63 65 73 73 65 64  25 3d b9 0d 0f 70 0a c9  |rocessed%=...p..|
00016370  20 26 31 39 33 0d 0f 71  0a f2 69 65 28 31 29 0d  | &193..q..ie(1).|
00016380  0f 72 18 c8 99 20 26 30  30 30 34 30 30 43 46 2c  |.r... &000400CF,|
00016390  2c 62 6c 6f 63 6b 25 0d  0f 73 10 6d 78 25 3d 62  |,block%..s.mx%=b|
000163a0  6c 6f 63 6b 25 21 30 0d  0f 74 10 6d 79 25 3d 62  |lock%!0..t.my%=b|
000163b0  6c 6f 63 6b 25 21 34 0d  0f 75 1c f2 6c 65 28 73  |lock%!4..u..le(s|
000163c0  61 76 65 62 6f 78 25 2c  6d 78 25 2d 36 34 2c 6d  |avebox%,mx%-64,m|
000163d0  79 25 29 0d 0f 76 0f 69  63 6f 6e 25 3d 36 30 30  |y%)..v.icon%=600|
000163e0  30 30 0d 0f 77 10 70 72  6f 63 65 73 73 65 64 25  |00..w.processed%|
000163f0  3d b9 0d 0f 78 0a c9 20  26 31 41 33 0d 0f 79 0a  |=...x.. &1A3..y.|
00016400  f2 69 65 28 32 29 0d 0f  7a 18 c8 99 20 26 30 30  |.ie(2)..z... &00|
00016410  30 34 30 30 43 46 2c 2c  62 6c 6f 63 6b 25 0d 0f  |0400CF,,block%..|
00016420  7b 10 6d 78 25 3d 62 6c  6f 63 6b 25 21 30 0d 0f  |{.mx%=block%!0..|
00016430  7c 10 6d 79 25 3d 62 6c  6f 63 6b 25 21 34 0d 0f  ||.my%=block%!4..|
00016440  7d 1c f2 6c 65 28 73 61  76 65 62 6f 78 25 2c 6d  |}..le(savebox%,m|
00016450  78 25 2d 36 34 2c 6d 79  25 29 0d 0f 7e 0f 69 63  |x%-64,my%)..~.ic|
00016460  6f 6e 25 3d 36 30 30 30  30 0d 0f 7f 10 70 72 6f  |on%=60000....pro|
00016470  63 65 73 73 65 64 25 3d  b9 0d 0f 80 0a c9 20 26  |cessed%=...... &|
00016480  31 38 30 0d 0f 81 18 c8  99 20 26 30 30 30 34 30  |180...... &00040|
00016490  30 43 46 2c 2c 62 6c 6f  63 6b 25 0d 0f 82 10 6d  |0CF,,block%....m|
000164a0  78 25 3d 62 6c 6f 63 6b  25 21 30 0d 0f 83 10 6d  |x%=block%!0....m|
000164b0  79 25 3d 62 6c 6f 63 6b  25 21 34 0d 0f 84 11 6b  |y%=block%!4....k|
000164c0  65 65 70 63 61 72 65 74  25 3d a4 75 0d 0f 85 1a  |eepcaret%=.u....|
000164d0  f2 6c 65 28 70 72 69 6e  74 25 2c 6d 78 25 2d 36  |.le(print%,mx%-6|
000164e0  34 2c 6d 79 25 29 0d 0f  86 0f 69 63 6f 6e 25 3d  |4,my%)....icon%=|
000164f0  36 30 30 30 30 0d 0f 87  10 70 72 6f 63 65 73 73  |60000....process|
00016500  65 64 25 3d b9 0d 0f 88  54 e7 20 ac 20 6b 65 65  |ed%=....T. . kee|
00016510  70 63 61 72 65 74 25 20  8c 20 c8 99 20 26 30 30  |pcaret% . .. &00|
00016520  30 34 30 30 44 32 2c 63  61 72 62 25 21 30 2c 63  |0400D2,carb%!0,c|
00016530  61 72 62 25 21 34 2c 63  61 72 62 25 21 38 2c 63  |arb%!4,carb%!8,c|
00016540  61 72 62 25 21 31 32 2c  63 61 72 62 25 21 31 36  |arb%!12,carb%!16|
00016550  2c 63 61 72 62 25 21 32  30 0d 0f 89 05 cb 0d 0f  |,carb%!20.......|
00016560  8a 0b c9 20 6d 61 69 6e  25 0d 0f 8b 0d c8 8e 20  |... main%...... |
00016570  6b 65 79 25 20 ca 0d 0f  8c 0a c9 20 26 31 39 33  |key% ...... &193|
00016580  0d 0f 8d 04 0d 0f 8e 0f  69 63 6f 6e 25 3d 36 30  |........icon%=60|
00016590  30 30 30 0d 0f 8f 10 70  72 6f 63 65 73 73 65 64  |000....processed|
000165a0  25 3d b9 0d 0f 90 0a c9  20 26 31 38 33 0d 0f 91  |%=...... &183...|
000165b0  04 0d 0f 92 0a f2 69 65  28 33 29 0d 0f 93 18 c8  |......ie(3).....|
000165c0  99 20 26 30 30 30 34 30  30 43 46 2c 2c 62 6c 6f  |. &000400CF,,blo|
000165d0  63 6b 25 0d 0f 94 10 6d  78 25 3d 62 6c 6f 63 6b  |ck%....mx%=block|
000165e0  25 21 30 0d 0f 95 10 6d  79 25 3d 62 6c 6f 63 6b  |%!0....my%=block|
000165f0  25 21 34 0d 0f 96 1c f2  6c 65 28 73 61 76 65 62  |%!4.....le(saveb|
00016600  6f 78 25 2c 6d 78 25 2d  36 34 2c 6d 79 25 29 0d  |ox%,mx%-64,my%).|
00016610  0f 97 10 70 72 6f 63 65  73 73 65 64 25 3d b9 0d  |...processed%=..|
00016620  0f 98 0f 69 63 6f 6e 25  3d 36 30 30 30 30 0d 0f  |...icon%=60000..|
00016630  99 05 cb 0d 0f 9a 0e c8  8e 20 69 63 6f 6e 25 20  |......... icon% |
00016640  ca 0d 0f 9b 14 c9 20 31  35 2c 31 36 2c 31 37 2c  |...... 15,16,17,|
00016650  31 38 2c 34 36 0d 0f 9c  0d c8 8e 20 6b 65 79 25  |18,46...... key%|
00016660  20 ca 0d 0f 9d 12 c9 20  26 31 38 45 2c 26 31 38  | ...... &18E,&18|
00016670  41 2c 31 33 0d 0f 9e 10  70 72 6f 63 65 73 73 65  |A,13....processe|
00016680  64 25 3d b9 0d 0f 9f 0c  69 63 6f 6e 25 2b 3d 31  |d%=.....icon%+=1|
00016690  0d 0f a0 19 e7 20 69 63  6f 6e 25 3e 34 36 20 8c  |..... icon%>46 .|
000166a0  20 69 63 6f 6e 25 3d 31  35 0d 0f a1 19 e7 20 69  | icon%=15..... i|
000166b0  63 6f 6e 25 3e 31 38 20  8c 20 69 63 6f 6e 25 3d  |con%>18 . icon%=|
000166c0  34 36 0d 0f a2 22 62 6c  6f 63 6b 25 21 30 3d 6d  |46..."block%!0=m|
000166d0  61 69 6e 25 3a 20 62 6c  6f 63 6b 25 21 34 3d 69  |ain%: block%!4=i|
000166e0  63 6f 6e 25 0d 0f a3 18  c8 99 20 26 30 30 30 34  |con%...... &0004|
000166f0  30 30 43 45 2c 2c 62 6c  6f 63 6b 25 0d 0f a4 22  |00CE,,block%..."|
00016700  f2 6f 61 28 6d 61 69 6e  25 2c 69 63 6f 6e 25 2c  |.oa(main%,icon%,|
00016710  a9 24 28 62 6c 6f 63 6b  25 21 32 38 29 29 0d 0f  |.$(block%!28))..|
00016720  a5 0f c9 20 26 31 38 46  2c 26 31 39 41 0d 0f a6  |... &18F,&19A...|
00016730  10 70 72 6f 63 65 73 73  65 64 25 3d b9 0d 0f a7  |.processed%=....|
00016740  0c 69 63 6f 6e 25 2d 3d  31 0d 0f a8 19 e7 20 69  |.icon%-=1..... i|
00016750  63 6f 6e 25 3c 31 35 20  8c 20 69 63 6f 6e 25 3d  |con%<15 . icon%=|
00016760  34 36 0d 0f a9 24 e7 20  69 63 6f 6e 25 3c 34 36  |46...$. icon%<46|
00016770  20 80 20 69 63 6f 6e 25  3e 31 38 20 8c 20 69 63  | . icon%>18 . ic|
00016780  6f 6e 25 3d 31 38 0d 0f  aa 22 62 6c 6f 63 6b 25  |on%=18..."block%|
00016790  21 30 3d 6d 61 69 6e 25  3a 20 62 6c 6f 63 6b 25  |!0=main%: block%|
000167a0  21 34 3d 69 63 6f 6e 25  0d 0f ab 18 c8 99 20 26  |!4=icon%...... &|
000167b0  30 30 30 34 30 30 43 45  2c 2c 62 6c 6f 63 6b 25  |000400CE,,block%|
000167c0  0d 0f ac 22 f2 6f 61 28  6d 61 69 6e 25 2c 69 63  |...".oa(main%,ic|
000167d0  6f 6e 25 2c a9 24 28 62  6c 6f 63 6b 25 21 32 38  |on%,.$(block%!28|
000167e0  29 29 0d 0f ad 18 c9 20  26 37 46 2c 26 31 38 42  |))..... &7F,&18B|
000167f0  2c 26 31 39 42 2c 26 31  41 42 0d 0f ae 15 e7 20  |,&19B,&1AB..... |
00016800  69 63 6f 6e 25 3c 3e 34  36 20 8c 20 f2 78 64 0d  |icon%<>46 . .xd.|
00016810  0f af 10 70 72 6f 63 65  73 73 65 64 25 3d b9 0d  |...processed%=..|
00016820  0f b0 05 7f 0d 0f b1 2b  e7 20 6b 65 79 25 3e 33  |.......+. key%>3|
00016830  32 20 80 20 6b 65 79 25  3c 26 31 38 30 20 80 20  |2 . key%<&180 . |
00016840  69 63 6f 6e 25 3c 3e 34  36 20 8c 20 f2 78 64 0d  |icon%<>46 . .xd.|
00016850  0f b2 1f e7 20 6b 65 79  25 3c 3e 26 31 43 43 20  |.... key%<>&1CC |
00016860  8c 20 70 72 6f 63 65 73  73 65 64 25 3d b9 0d 0f  |. processed%=...|
00016870  b3 05 cb 0d 0f b4 0c 7a  65 72 6f 25 3d a4 65 0d  |.......zero%=.e.|
00016880  0f b5 17 e7 20 a4 6e 28  65 64 69 74 6d 65 6e 75  |.... .n(editmenu|
00016890  25 2c 31 29 20 8c 0d 0f  b6 0f e7 20 7a 65 72 6f  |%,1) ...... zero|
000168a0  25 3d a3 20 8c 0d 0f b7  0a f2 63 63 28 31 29 0d  |%=. ......cc(1).|
000168b0  0f b8 0a f2 72 65 28 35  29 0d 0f b9 07 f2 79 61  |....re(5).....ya|
000168c0  0d 0f ba 05 cc 0d 0f bb  17 e7 20 70 69 63 74 79  |.......... picty|
000168d0  70 65 24 3d 22 6e 6f 6e  65 22 20 8c 0d 0f bc 0a  |pe$="none" .....|
000168e0  f2 72 65 28 31 29 0d 0f  bd 0a f2 63 63 28 31 29  |.re(1).....cc(1)|
000168f0  0d 0f be 05 cc 0d 0f bf  19 e7 20 bb 28 24 63 6f  |.......... .($co|
00016900  6e 76 5f 72 6f 77 73 25  29 3c 3e 30 20 8c 0d 0f  |nv_rows%)<>0 ...|
00016910  c0 0a f2 72 65 28 36 29  0d 0f c1 0a f2 63 63 28  |...re(6).....cc(|
00016920  30 29 0d 0f c2 05 cc 0d  0f c3 0a f2 72 65 28 32  |0)..........re(2|
00016930  29 0d 0f c4 0a f2 63 63  28 31 29 0d 0f c5 0a f2  |).....cc(1).....|
00016940  65 64 28 33 29 0d 0f c6  05 cd 0d 0f c7 05 cd 0d  |ed(3)...........|
00016950  0f c8 05 cd 0d 0f c9 12  73 74 69 74 63 68 5f 77  |........stitch_w|
00016960  69 64 74 68 3d 30 0d 0f  ca 10 72 6f 77 5f 68 65  |idth=0....row_he|
00016970  69 67 68 74 3d 30 0d 0f  cb 5f e7 20 bb 24 28 74  |ight=0..._. .$(t|
00016980  65 6e 73 69 6f 6e 5f 73  71 5f 73 74 69 74 63 68  |ension_sq_stitch|
00016990  65 73 25 29 3c 3e 30 20  8c 20 73 74 69 74 63 68  |es%)<>0 . stitch|
000169a0  5f 77 69 64 74 68 3d bb  24 28 74 65 6e 73 69 6f  |_width=.$(tensio|
000169b0  6e 5f 73 71 5f 77 69 64  74 68 25 29 2f bb 24 28  |n_sq_width%)/.$(|
000169c0  74 65 6e 73 69 6f 6e 5f  73 71 5f 73 74 69 74 63  |tension_sq_stitc|
000169d0  68 65 73 25 29 0d 0f cc  56 e7 20 bb 24 28 74 65  |hes%)...V. .$(te|
000169e0  6e 73 69 6f 6e 5f 73 71  5f 72 6f 77 73 25 29 3c  |nsion_sq_rows%)<|
000169f0  3e 30 20 8c 20 72 6f 77  5f 68 65 69 67 68 74 3d  |>0 . row_height=|
00016a00  bb 24 28 74 65 6e 73 69  6f 6e 5f 73 71 5f 68 65  |.$(tension_sq_he|
00016a10  69 67 68 74 25 29 2f bb  24 28 74 65 6e 73 69 6f  |ight%)/.$(tensio|
00016a20  6e 5f 73 71 5f 72 6f 77  73 25 29 0d 0f cd 40 24  |n_sq_rows%)...@$|
00016a30  61 6e 73 5f 63 6f 6e 76  5f 72 6f 77 73 25 3d a4  |ans_conv_rows%=.|
00016a40  73 28 63 6f 6e 76 5f 72  6f 77 73 25 2c 72 6f 77  |s(conv_rows%,row|
00016a50  5f 68 65 69 67 68 74 29  3a 20 f2 66 65 28 6d 61  |_height): .fe(ma|
00016a60  69 6e 25 2c 32 30 2c 30  2c 30 29 0d 0f ce 44 24  |in%,20,0,0)...D$|
00016a70  63 6f 6e 76 5f 72 6f 77  73 25 3d a4 71 28 bb 24  |conv_rows%=.q(.$|
00016a80  28 61 6e 73 5f 63 6f 6e  76 5f 72 6f 77 73 25 29  |(ans_conv_rows%)|
00016a90  2c 72 6f 77 5f 68 65 69  67 68 74 29 3a 20 f2 66  |,row_height): .f|
00016aa0  65 28 6d 61 69 6e 25 2c  31 39 2c 30 2c 30 29 0d  |e(main%,19,0,0).|
00016ab0  0f cf 4a 24 61 6e 73 5f  63 6f 6e 76 5f 73 74 69  |..J$ans_conv_sti|
00016ac0  74 63 68 65 73 25 3d a4  73 28 63 6f 6e 76 5f 73  |tches%=.s(conv_s|
00016ad0  74 69 74 63 68 65 73 25  2c 73 74 69 74 63 68 5f  |titches%,stitch_|
00016ae0  77 69 64 74 68 29 3a 20  f2 66 65 28 6d 61 69 6e  |width): .fe(main|
00016af0  25 2c 32 32 2c 30 2c 30  29 0d 0f d0 4e 24 63 6f  |%,22,0,0)...N$co|
00016b00  6e 76 5f 73 74 69 74 63  68 65 73 25 3d a4 71 28  |nv_stitches%=.q(|
00016b10  bb 24 28 61 6e 73 5f 63  6f 6e 76 5f 73 74 69 74  |.$(ans_conv_stit|
00016b20  63 68 65 73 25 29 2c 73  74 69 74 63 68 5f 77 69  |ches%),stitch_wi|
00016b30  64 74 68 29 3a 20 f2 66  65 28 6d 61 69 6e 25 2c  |dth): .fe(main%,|
00016b40  32 31 2c 30 2c 30 29 0d  0f d1 14 e7 20 a4 6c 28  |21,0,0)..... .l(|
00016b50  6d 61 69 6e 25 2c 33 37  29 20 8c 0d 0f d2 33 24  |main%,37) ....3$|
00016b60  67 68 65 69 67 68 74 25  3d c0 c3 28 72 6f 77 5f  |gheight%=..(row_|
00016b70  68 65 69 67 68 74 29 2c  35 29 20 3a 20 f2 66 65  |height),5) : .fe|
00016b80  28 6d 61 69 6e 25 2c 33  31 2c 30 2c 30 29 0d 0f  |(main%,31,0,0)..|
00016b90  d3 1d f2 66 65 28 6d 61  69 6e 25 2c 33 31 2c 31  |...fe(main%,31,1|
00016ba0  3c 3c 32 32 2c 31 3c 3c  32 32 29 0d 0f d4 34 24  |<<22,1<<22)...4$|
00016bb0  67 77 69 64 74 68 25 3d  c0 c3 28 73 74 69 74 63  |gwidth%=..(stitc|
00016bc0  68 5f 77 69 64 74 68 29  2c 35 29 20 3a 20 f2 66  |h_width),5) : .f|
00016bd0  65 28 6d 61 69 6e 25 2c  33 32 2c 30 2c 30 29 0d  |e(main%,32,0,0).|
00016be0  0f d5 1d f2 66 65 28 6d  61 69 6e 25 2c 33 32 2c  |....fe(main%,32,|
00016bf0  31 3c 3c 32 32 2c 31 3c  3c 32 32 29 0d 0f d6 05  |1<<22,1<<22)....|
00016c00  cd 0d 0f d7 05 cc 0d 0f  d8 0f e7 20 7a 65 72 6f  |........... zero|
00016c10  25 3d a3 20 8c 0d 0f d9  0a f2 63 63 28 31 29 0d  |%=. ......cc(1).|
00016c20  0f da 0a f2 72 65 28 35  29 0d 0f db 05 cc 0d 0f  |....re(5).......|
00016c30  dc 10 67 72 69 64 66 69  67 73 25 3d a4 63 0d 0f  |..gridfigs%=.c..|
00016c40  dd 13 e7 20 67 72 69 64  66 69 67 73 25 3d a3 20  |... gridfigs%=. |
00016c50  8c 0d 0f de 0a f2 63 63  28 31 29 0d 0f df 0a f2  |......cc(1).....|
00016c60  72 65 28 34 29 0d 0f e0  05 cc 0d 0f e1 0a f2 63  |re(4)..........c|
00016c70  63 28 30 29 0d 0f e2 0a  f2 72 65 28 36 29 0d 0f  |c(0).....re(6)..|
00016c80  e3 05 cd 0d 0f e4 05 cd  0d 0f e5 5f e7 20 bb 24  |..........._. .$|
00016c90  28 74 65 6e 73 69 6f 6e  5f 73 71 5f 73 74 69 74  |(tension_sq_stit|
00016ca0  63 68 65 73 25 29 3c 3e  30 20 8c 20 73 74 69 74  |ches%)<>0 . stit|
00016cb0  63 68 5f 77 69 64 74 68  3d bb 24 28 74 65 6e 73  |ch_width=.$(tens|
00016cc0  69 6f 6e 5f 73 71 5f 77  69 64 74 68 25 29 2f bb  |ion_sq_width%)/.|
00016cd0  24 28 74 65 6e 73 69 6f  6e 5f 73 71 5f 73 74 69  |$(tension_sq_sti|
00016ce0  74 63 68 65 73 25 29 0d  0f e6 56 e7 20 bb 24 28  |tches%)...V. .$(|
00016cf0  74 65 6e 73 69 6f 6e 5f  73 71 5f 72 6f 77 73 25  |tension_sq_rows%|
00016d00  29 3c 3e 30 20 8c 20 72  6f 77 5f 68 65 69 67 68  |)<>0 . row_heigh|
00016d10  74 3d bb 24 28 74 65 6e  73 69 6f 6e 5f 73 71 5f  |t=.$(tension_sq_|
00016d20  68 65 69 67 68 74 25 29  2f bb 24 28 74 65 6e 73  |height%)/.$(tens|
00016d30  69 6f 6e 5f 73 71 5f 72  6f 77 73 25 29 0d 0f e7  |ion_sq_rows%)...|
00016d40  14 e7 20 a4 6c 28 6d 61  69 6e 25 2c 33 37 29 20  |.. .l(main%,37) |
00016d50  8c 0d 0f e8 33 24 67 68  65 69 67 68 74 25 3d c0  |....3$gheight%=.|
00016d60  c3 28 72 6f 77 5f 68 65  69 67 68 74 29 2c 35 29  |.(row_height),5)|
00016d70  20 3a 20 f2 66 65 28 6d  61 69 6e 25 2c 33 31 2c  | : .fe(main%,31,|
00016d80  30 2c 30 29 0d 0f e9 1d  f2 66 65 28 6d 61 69 6e  |0,0).....fe(main|
00016d90  25 2c 33 31 2c 31 3c 3c  32 32 2c 31 3c 3c 32 32  |%,31,1<<22,1<<22|
00016da0  29 0d 0f ea 34 24 67 77  69 64 74 68 25 3d c0 c3  |)...4$gwidth%=..|
00016db0  28 73 74 69 74 63 68 5f  77 69 64 74 68 29 2c 35  |(stitch_width),5|
00016dc0  29 20 3a 20 f2 66 65 28  6d 61 69 6e 25 2c 33 32  |) : .fe(main%,32|
00016dd0  2c 30 2c 30 29 0d 0f eb  1d f2 66 65 28 6d 61 69  |,0,0).....fe(mai|
00016de0  6e 25 2c 33 32 2c 31 3c  3c 32 32 2c 31 3c 3c 32  |n%,32,1<<22,1<<2|
00016df0  32 29 0d 0f ec 13 e7 20  bb 24 67 72 6f 77 73 25  |2)..... .$grows%|
00016e00  3c 3e 30 20 8c 0d 0f ed  27 24 63 6f 6e 76 5f 72  |<>0 ....'$conv_r|
00016e10  6f 77 73 25 3d a4 71 28  bb 24 67 72 6f 77 73 25  |ows%=.q(.$grows%|
00016e20  2c 72 6f 77 5f 68 65 69  67 68 74 29 0d 0f ee 15  |,row_height)....|
00016e30  f2 66 65 28 6d 61 69 6e  25 2c 31 39 2c 30 2c 30  |.fe(main%,19,0,0|
00016e40  29 0d 0f ef 05 cd 0d 0f  f0 17 e7 20 bb 24 67 73  |).......... .$gs|
00016e50  74 69 74 63 68 65 73 25  3c 3e 30 20 8c 0d 0f f1  |titches%<>0 ....|
00016e60  31 24 63 6f 6e 76 5f 73  74 69 74 63 68 65 73 25  |1$conv_stitches%|
00016e70  3d a4 71 28 bb 24 67 73  74 69 74 63 68 65 73 25  |=.q(.$gstitches%|
00016e80  2c 73 74 69 74 63 68 5f  77 69 64 74 68 29 0d 0f  |,stitch_width)..|
00016e90  f2 15 f2 66 65 28 6d 61  69 6e 25 2c 32 31 2c 30  |...fe(main%,21,0|
00016ea0  2c 30 29 0d 0f f3 05 cd  0d 0f f4 05 cc 0d 0f f5  |,0).............|
00016eb0  17 e7 20 bb 24 63 6f 6e  76 5f 72 6f 77 73 25 3c  |.. .$conv_rows%<|
00016ec0  3e 30 20 8c 0d 0f f6 2a  24 61 6e 73 5f 63 6f 6e  |>0 ....*$ans_con|
00016ed0  76 5f 72 6f 77 73 25 3d  22 30 22 3a 20 f2 66 65  |v_rows%="0": .fe|
00016ee0  28 6d 61 69 6e 25 2c 32  30 2c 30 2c 30 29 0d 0f  |(main%,20,0,0)..|
00016ef0  f7 28 24 63 6f 6e 76 5f  72 6f 77 73 25 3d 22 30  |.($conv_rows%="0|
00016f00  2e 30 22 3a 20 f2 66 65  28 6d 61 69 6e 25 2c 31  |.0": .fe(main%,1|
00016f10  39 2c 30 2c 30 29 0d 0f  f8 2e 24 61 6e 73 5f 63  |9,0,0)....$ans_c|
00016f20  6f 6e 76 5f 73 74 69 74  63 68 65 73 25 3d 22 30  |onv_stitches%="0|
00016f30  22 3a 20 f2 66 65 28 6d  61 69 6e 25 2c 32 32 2c  |": .fe(main%,22,|
00016f40  30 2c 30 29 0d 0f f9 2c  24 63 6f 6e 76 5f 73 74  |0,0)...,$conv_st|
00016f50  69 74 63 68 65 73 25 3d  22 30 2e 30 22 3a 20 f2  |itches%="0.0": .|
00016f60  66 65 28 6d 61 69 6e 25  2c 32 31 2c 30 2c 30 29  |fe(main%,21,0,0)|
00016f70  0d 0f fa 05 cd 0d 0f fb  05 cd 0d 0f fc 05 cd 0d  |................|
00016f80  0f fd 11 c9 20 31 39 2c  32 30 2c 32 31 2c 32 32  |.... 19,20,21,22|
00016f90  0d 0f fe 0d c8 8e 20 6b  65 79 25 20 ca 0d 0f ff  |...... key% ....|
00016fa0  08 c9 20 31 33 0d 10 00  10 70 72 6f 63 65 73 73  |.. 13....process|
00016fb0  65 64 25 3d b9 0d 10 01  17 e7 20 a4 6e 28 65 64  |ed%=...... .n(ed|
00016fc0  69 74 6d 65 6e 75 25 2c  31 29 20 8c 0d 10 02 1b  |itmenu%,1) .....|
00016fd0  e7 20 bb 24 63 6f 6e 76  5f 72 6f 77 73 25 3c 3e  |. .$conv_rows%<>|
00016fe0  30 20 8c 20 f2 6d 62 0d  10 03 05 cc 0d 10 04 10  |0 . .mb.........|
00016ff0  67 72 69 64 66 69 67 73  25 3d a4 63 0d 10 05 13  |gridfigs%=.c....|
00017000  e7 20 67 72 69 64 66 69  67 73 25 3d b9 20 8c 0d  |. gridfigs%=. ..|
00017010  10 06 07 f2 6d 62 0d 10  07 05 cc 0d 10 08 31 e7  |....mb........1.|
00017020  20 69 63 6f 6e 25 3d 31  39 20 8c 20 f2 6f 61 28  | icon%=19 . .oa(|
00017030  6d 61 69 6e 25 2c 32 31  2c a9 24 28 63 6f 6e 76  |main%,21,.$(conv|
00017040  5f 73 74 69 74 63 68 65  73 25 29 29 0d 10 09 29  |_stitches%))...)|
00017050  e7 20 69 63 6f 6e 25 3d  32 31 20 8c 20 f2 6f 61  |. icon%=21 . .oa|
00017060  28 6d 61 69 6e 25 2c 32  39 2c a9 24 28 67 72 6f  |(main%,29,.$(gro|
00017070  77 73 25 29 29 0d 10 0a  05 cd 0d 10 0b 05 cd 0d  |ws%))...........|
00017080  10 0c 0f c9 20 26 31 38  45 2c 26 31 38 41 0d 10  |.... &18E,&18A..|
00017090  0d 10 70 72 6f 63 65 73  73 65 64 25 3d b9 0d 10  |..processed%=...|
000170a0  0e 17 e7 20 a4 6e 28 65  64 69 74 6d 65 6e 75 25  |... .n(editmenu%|
000170b0  2c 31 29 20 8c 0d 10 0f  0c 69 63 6f 6e 25 2b 3d  |,1) .....icon%+=|
000170c0  31 0d 10 10 19 e7 20 69  63 6f 6e 25 3e 32 32 20  |1..... icon%>22 |
000170d0  8c 20 69 63 6f 6e 25 3d  31 39 0d 10 11 22 62 6c  |. icon%=19..."bl|
000170e0  6f 63 6b 25 21 30 3d 6d  61 69 6e 25 3a 20 62 6c  |ock%!0=main%: bl|
000170f0  6f 63 6b 25 21 34 3d 69  63 6f 6e 25 0d 10 12 18  |ock%!4=icon%....|
00017100  c8 99 20 26 30 30 30 34  30 30 43 45 2c 2c 62 6c  |.. &000400CE,,bl|
00017110  6f 63 6b 25 0d 10 13 22  f2 6f 61 28 6d 61 69 6e  |ock%...".oa(main|
00017120  25 2c 69 63 6f 6e 25 2c  a9 24 28 62 6c 6f 63 6b  |%,icon%,.$(block|
00017130  25 21 32 38 29 29 0d 10  14 05 cc 0d 10 15 31 e7  |%!28))........1.|
00017140  20 69 63 6f 6e 25 3d 31  39 20 8c 20 f2 6f 61 28  | icon%=19 . .oa(|
00017150  6d 61 69 6e 25 2c 32 31  2c a9 24 28 63 6f 6e 76  |main%,21,.$(conv|
00017160  5f 73 74 69 74 63 68 65  73 25 29 29 0d 10 16 29  |_stitches%))...)|
00017170  e7 20 69 63 6f 6e 25 3d  32 31 20 8c 20 f2 6f 61  |. icon%=21 . .oa|
00017180  28 6d 61 69 6e 25 2c 32  39 2c a9 24 28 67 72 6f  |(main%,29,.$(gro|
00017190  77 73 25 29 29 0d 10 17  05 cd 0d 10 18 0f c9 20  |ws%)).......... |
000171a0  26 31 38 46 2c 26 31 39  41 0d 10 19 10 70 72 6f  |&18F,&19A....pro|
000171b0  63 65 73 73 65 64 25 3d  b9 0d 10 1a 17 e7 20 a4  |cessed%=...... .|
000171c0  6e 28 65 64 69 74 6d 65  6e 75 25 2c 31 29 20 8c  |n(editmenu%,1) .|
000171d0  0d 10 1b 0c 69 63 6f 6e  25 2d 3d 31 0d 10 1c 19  |....icon%-=1....|
000171e0  e7 20 69 63 6f 6e 25 3c  31 39 20 8c 20 69 63 6f  |. icon%<19 . ico|
000171f0  6e 25 3d 32 32 0d 10 1d  22 62 6c 6f 63 6b 25 21  |n%=22..."block%!|
00017200  30 3d 6d 61 69 6e 25 3a  20 62 6c 6f 63 6b 25 21  |0=main%: block%!|
00017210  34 3d 69 63 6f 6e 25 0d  10 1e 18 c8 99 20 26 30  |4=icon%...... &0|
00017220  30 30 34 30 30 43 45 2c  2c 62 6c 6f 63 6b 25 0d  |00400CE,,block%.|
00017230  10 1f 22 f2 6f 61 28 6d  61 69 6e 25 2c 69 63 6f  |..".oa(main%,ico|
00017240  6e 25 2c a9 24 28 62 6c  6f 63 6b 25 21 32 38 29  |n%,.$(block%!28)|
00017250  29 0d 10 20 05 cc 0d 10  21 2d e7 20 69 63 6f 6e  |).. ....!-. icon|
00017260  25 3d 31 39 20 8c 20 f2  6f 61 28 6d 61 69 6e 25  |%=19 . .oa(main%|
00017270  2c 33 30 2c a9 24 28 67  73 74 69 74 63 68 65 73  |,30,.$(gstitches|
00017280  25 29 29 0d 10 22 31 e7  20 69 63 6f 6e 25 3d 32  |%)).."1. icon%=2|
00017290  31 20 8c 20 f2 6f 61 28  6d 61 69 6e 25 2c 31 39  |1 . .oa(main%,19|
000172a0  2c a9 24 28 63 6f 6e 76  5f 73 74 69 74 63 68 65  |,.$(conv_stitche|
000172b0  73 25 29 29 0d 10 23 05  cd 0d 10 24 18 c9 20 26  |s%))..#....$.. &|
000172c0  37 46 2c 26 31 38 42 2c  26 31 39 42 2c 26 31 41  |7F,&18B,&19B,&1A|
000172d0  42 0d 10 25 07 f2 78 64  0d 10 26 10 70 72 6f 63  |B..%..xd..&.proc|
000172e0  65 73 73 65 64 25 3d b9  0d 10 27 05 7f 0d 10 28  |essed%=...'....(|
000172f0  1f e7 20 6b 65 79 25 3e  33 32 20 80 20 6b 65 79  |.. key%>32 . key|
00017300  25 3c 26 31 38 30 20 8c  20 f2 78 64 0d 10 29 1f  |%<&180 . .xd..).|
00017310  e7 20 6b 65 79 25 3c 3e  26 31 43 43 20 8c 20 70  |. key%<>&1CC . p|
00017320  72 6f 63 65 73 73 65 64  25 3d b9 0d 10 2a 05 cb  |rocessed%=...*..|
00017330  0d 10 2b 17 e7 20 a4 6e  28 65 64 69 74 6d 65 6e  |..+.. .n(editmen|
00017340  75 25 2c 31 29 20 8c 0d  10 2c 10 e7 20 69 63 6f  |u%,1) ...,.. ico|
00017350  6e 25 3d 31 39 20 8c 0d  10 2d 2d 24 61 6e 73 5f  |n%=19 ...--$ans_|
00017360  63 6f 6e 76 5f 72 6f 77  73 25 3d a4 73 28 63 6f  |conv_rows%=.s(co|
00017370  6e 76 5f 72 6f 77 73 25  2c 72 6f 77 5f 68 65 69  |nv_rows%,row_hei|
00017380  67 68 74 29 0d 10 2e 15  f2 66 65 28 6d 61 69 6e  |ght).....fe(main|
00017390  25 2c 32 30 2c 30 2c 30  29 0d 10 2f 30 24 63 6f  |%,20,0,0)../0$co|
000173a0  6e 76 5f 73 74 69 74 63  68 65 73 25 3d a4 71 28  |nv_stitches%=.q(|
000173b0  73 70 78 25 2a bb 24 63  6f 6e 76 5f 72 6f 77 73  |spx%*.$conv_rows|
000173c0  25 2c 31 2f 73 70 79 25  29 0d 10 30 15 f2 66 65  |%,1/spy%)..0..fe|
000173d0  28 6d 61 69 6e 25 2c 32  31 2c 30 2c 30 29 0d 10  |(main%,21,0,0)..|
000173e0  31 37 24 61 6e 73 5f 63  6f 6e 76 5f 73 74 69 74  |17$ans_conv_stit|
000173f0  63 68 65 73 25 3d a4 73  28 63 6f 6e 76 5f 73 74  |ches%=.s(conv_st|
00017400  69 74 63 68 65 73 25 2c  73 74 69 74 63 68 5f 77  |itches%,stitch_w|
00017410  69 64 74 68 29 0d 10 32  15 f2 66 65 28 6d 61 69  |idth)..2..fe(mai|
00017420  6e 25 2c 32 32 2c 30 2c  30 29 0d 10 33 05 cd 0d  |n%,22,0,0)..3...|
00017430  10 34 10 e7 20 69 63 6f  6e 25 3d 32 30 20 8c 0d  |.4.. icon%=20 ..|
00017440  10 35 2f 24 63 6f 6e 76  5f 72 6f 77 73 25 3d a4  |.5/$conv_rows%=.|
00017450  71 28 bb 24 61 6e 73 5f  63 6f 6e 76 5f 72 6f 77  |q(.$ans_conv_row|
00017460  73 25 2c 72 6f 77 5f 68  65 69 67 68 74 29 0d 10  |s%,row_height)..|
00017470  36 15 f2 66 65 28 6d 61  69 6e 25 2c 31 39 2c 30  |6..fe(main%,19,0|
00017480  2c 30 29 0d 10 37 30 24  63 6f 6e 76 5f 73 74 69  |,0)..70$conv_sti|
00017490  74 63 68 65 73 25 3d a4  71 28 73 70 78 25 2a bb  |tches%=.q(spx%*.|
000174a0  24 63 6f 6e 76 5f 72 6f  77 73 25 2c 31 2f 73 70  |$conv_rows%,1/sp|
000174b0  79 25 29 0d 10 38 15 f2  66 65 28 6d 61 69 6e 25  |y%)..8..fe(main%|
000174c0  2c 32 31 2c 30 2c 30 29  0d 10 39 37 24 61 6e 73  |,21,0,0)..97$ans|
000174d0  5f 63 6f 6e 76 5f 73 74  69 74 63 68 65 73 25 3d  |_conv_stitches%=|
000174e0  a4 73 28 63 6f 6e 76 5f  73 74 69 74 63 68 65 73  |.s(conv_stitches|
000174f0  25 2c 73 74 69 74 63 68  5f 77 69 64 74 68 29 0d  |%,stitch_width).|
00017500  10 3a 15 f2 66 65 28 6d  61 69 6e 25 2c 32 32 2c  |.:..fe(main%,22,|
00017510  30 2c 30 29 0d 10 3b 05  cd 0d 10 3c 10 e7 20 69  |0,0)..;....<.. i|
00017520  63 6f 6e 25 3d 32 31 20  8c 0d 10 3d 37 24 61 6e  |con%=21 ...=7$an|
00017530  73 5f 63 6f 6e 76 5f 73  74 69 74 63 68 65 73 25  |s_conv_stitches%|
00017540  3d a4 73 28 63 6f 6e 76  5f 73 74 69 74 63 68 65  |=.s(conv_stitche|
00017550  73 25 2c 73 74 69 74 63  68 5f 77 69 64 74 68 29  |s%,stitch_width)|
00017560  0d 10 3e 15 f2 66 65 28  6d 61 69 6e 25 2c 32 32  |..>..fe(main%,22|
00017570  2c 30 2c 30 29 0d 10 3f  30 24 63 6f 6e 76 5f 72  |,0,0)..?0$conv_r|
00017580  6f 77 73 25 3d a4 71 28  73 70 79 25 2a bb 24 63  |ows%=.q(spy%*.$c|
00017590  6f 6e 76 5f 73 74 69 74  63 68 65 73 25 2c 31 2f  |onv_stitches%,1/|
000175a0  73 70 78 25 29 0d 10 40  15 f2 66 65 28 6d 61 69  |spx%)..@..fe(mai|
000175b0  6e 25 2c 31 39 2c 30 2c  30 29 0d 10 41 2d 24 61  |n%,19,0,0)..A-$a|
000175c0  6e 73 5f 63 6f 6e 76 5f  72 6f 77 73 25 3d a4 73  |ns_conv_rows%=.s|
000175d0  28 63 6f 6e 76 5f 72 6f  77 73 25 2c 72 6f 77 5f  |(conv_rows%,row_|
000175e0  68 65 69 67 68 74 29 0d  10 42 15 f2 66 65 28 6d  |height)..B..fe(m|
000175f0  61 69 6e 25 2c 32 30 2c  30 2c 30 29 0d 10 43 05  |ain%,20,0,0)..C.|
00017600  cd 0d 10 44 10 e7 20 69  63 6f 6e 25 3d 32 32 20  |...D.. icon%=22 |
00017610  8c 0d 10 45 39 24 63 6f  6e 76 5f 73 74 69 74 63  |...E9$conv_stitc|
00017620  68 65 73 25 3d a4 71 28  bb 24 61 6e 73 5f 63 6f  |hes%=.q(.$ans_co|
00017630  6e 76 5f 73 74 69 74 63  68 65 73 25 2c 73 74 69  |nv_stitches%,sti|
00017640  74 63 68 5f 77 69 64 74  68 29 0d 10 46 15 f2 66  |tch_width)..F..f|
00017650  65 28 6d 61 69 6e 25 2c  32 31 2c 30 2c 30 29 0d  |e(main%,21,0,0).|
00017660  10 47 30 24 63 6f 6e 76  5f 72 6f 77 73 25 3d a4  |.G0$conv_rows%=.|
00017670  71 28 73 70 79 25 2a bb  24 63 6f 6e 76 5f 73 74  |q(spy%*.$conv_st|
00017680  69 74 63 68 65 73 25 2c  31 2f 73 70 78 25 29 0d  |itches%,1/spx%).|
00017690  10 48 15 f2 66 65 28 6d  61 69 6e 25 2c 31 39 2c  |.H..fe(main%,19,|
000176a0  30 2c 30 29 0d 10 49 2d  24 61 6e 73 5f 63 6f 6e  |0,0)..I-$ans_con|
000176b0  76 5f 72 6f 77 73 25 3d  a4 73 28 63 6f 6e 76 5f  |v_rows%=.s(conv_|
000176c0  72 6f 77 73 25 2c 72 6f  77 5f 68 65 69 67 68 74  |rows%,row_height|
000176d0  29 0d 10 4a 15 f2 66 65  28 6d 61 69 6e 25 2c 32  |)..J..fe(main%,2|
000176e0  30 2c 30 2c 30 29 0d 10  4b 05 cd 0d 10 4c 0c 7a  |0,0,0)..K....L.z|
000176f0  65 72 6f 25 3d a4 65 0d  10 4d 21 e7 20 7a 65 72  |ero%=.e..M!. zer|
00017700  6f 25 3d b9 20 80 20 bb  24 63 6f 6e 76 5f 72 6f  |o%=. . .$conv_ro|
00017710  77 73 25 3c 3e 30 20 8c  0d 10 4e 0a f2 63 63 28  |ws%<>0 ...N..cc(|
00017720  30 29 0d 10 4f 0a f2 72  65 28 36 29 0d 10 50 05  |0)..O..re(6)..P.|
00017730  cc 0d 10 51 0a f2 63 63  28 31 29 0d 10 52 0a f2  |...Q..cc(1)..R..|
00017740  72 65 28 32 29 0d 10 53  05 cd 0d 10 54 05 cc 0d  |re(2)..S....T...|
00017750  10 55 0e c8 8e 20 69 63  6f 6e 25 20 ca 0d 10 56  |.U... icon% ...V|
00017760  08 c9 20 31 39 0d 10 57  15 e7 20 72 6f 77 5f 68  |.. 19..W.. row_h|
00017770  65 69 67 68 74 3c 3e 30  20 8c 0d 10 58 25 24 67  |eight<>0 ...X%$g|
00017780  72 6f 77 73 25 3d a4 73  28 63 6f 6e 76 5f 72 6f  |rows%=.s(conv_ro|
00017790  77 73 25 2c 72 6f 77 5f  68 65 69 67 68 74 29 0d  |ws%,row_height).|
000177a0  10 59 15 f2 66 65 28 6d  61 69 6e 25 2c 32 39 2c  |.Y..fe(main%,29,|
000177b0  30 2c 30 29 0d 10 5a 05  cc 0d 10 5b 0f 24 67 72  |0,0)..Z....[.$gr|
000177c0  6f 77 73 25 3d 22 30 22  0d 10 5c 15 f2 66 65 28  |ows%="0"..\..fe(|
000177d0  6d 61 69 6e 25 2c 32 39  2c 30 2c 30 29 0d 10 5d  |main%,29,0,0)..]|
000177e0  05 cd 0d 10 5e 10 67 72  69 64 66 69 67 73 25 3d  |....^.gridfigs%=|
000177f0  a4 63 0d 10 5f 13 e7 20  67 72 69 64 66 69 67 73  |.c.._.. gridfigs|
00017800  25 3d a3 20 8c 0d 10 60  0a f2 63 63 28 31 29 0d  |%=. ...`..cc(1).|
00017810  10 61 0a f2 72 65 28 34  29 0d 10 62 05 cc 0d 10  |.a..re(4)..b....|
00017820  63 0a f2 63 63 28 30 29  0d 10 64 0a f2 72 65 28  |c..cc(0)..d..re(|
00017830  36 29 0d 10 65 05 cd 0d  10 66 08 c9 20 32 31 0d  |6)..e....f.. 21.|
00017840  10 67 17 e7 20 73 74 69  74 63 68 5f 77 69 64 74  |.g.. stitch_widt|
00017850  68 3c 3e 30 20 8c 0d 10  68 2f 24 67 73 74 69 74  |h<>0 ...h/$gstit|
00017860  63 68 65 73 25 3d a4 73  28 63 6f 6e 76 5f 73 74  |ches%=.s(conv_st|
00017870  69 74 63 68 65 73 25 2c  73 74 69 74 63 68 5f 77  |itches%,stitch_w|
00017880  69 64 74 68 29 0d 10 69  15 f2 66 65 28 6d 61 69  |idth)..i..fe(mai|
00017890  6e 25 2c 33 30 2c 30 2c  30 29 0d 10 6a 05 cc 0d  |n%,30,0,0)..j...|
000178a0  10 6b 12 24 67 73 74 69  74 63 68 65 73 25 3d c3  |.k.$gstitches%=.|
000178b0  30 0d 10 6c 15 f2 66 65  28 6d 61 69 6e 25 2c 33  |0..l..fe(main%,3|
000178c0  30 2c 30 2c 30 29 0d 10  6d 05 cd 0d 10 6e 10 67  |0,0,0)..m....n.g|
000178d0  72 69 64 66 69 67 73 25  3d a4 63 0d 10 6f 13 e7  |ridfigs%=.c..o..|
000178e0  20 67 72 69 64 66 69 67  73 25 3d a3 20 8c 0d 10  | gridfigs%=. ...|
000178f0  70 0a f2 63 63 28 31 29  0d 10 71 0a f2 72 65 28  |p..cc(1)..q..re(|
00017900  34 29 0d 10 72 05 cc 0d  10 73 0a f2 63 63 28 30  |4)..r....s..cc(0|
00017910  29 0d 10 74 0a f2 72 65  28 36 29 0d 10 75 05 cd  |)..t..re(6)..u..|
00017920  0d 10 76 05 cb 0d 10 77  05 cd 0d 10 78 08 c9 20  |..v....w....x.. |
00017930  32 39 0d 10 79 10 67 72  69 64 66 69 67 73 25 3d  |29..y.gridfigs%=|
00017940  a4 63 0d 10 7a 13 e7 20  67 72 69 64 66 69 67 73  |.c..z.. gridfigs|
00017950  25 3d a3 20 8c 0d 10 7b  0a f2 63 63 28 31 29 0d  |%=. ...{..cc(1).|
00017960  10 7c 22 e7 20 6d 61 6e  6e 65 72 25 3c 3e 32 20  |.|". manner%<>2 |
00017970  8c 20 f2 72 65 28 34 29  20 8b 20 f2 72 65 28 37  |. .re(4) . .re(7|
00017980  29 0d 10 7d 05 cc 0d 10  7e 0a f2 63 63 28 30 29  |)..}....~..cc(0)|
00017990  0d 10 7f 0a f2 72 65 28  36 29 0d 10 80 05 cd 0d  |.....re(6)......|
000179a0  10 81 0d c8 8e 20 6b 65  79 25 20 ca 0d 10 82 0f  |..... key% .....|
000179b0  c9 20 26 31 38 45 2c 26  31 38 41 0d 10 83 10 70  |. &18E,&18A....p|
000179c0  72 6f 63 65 73 73 65 64  25 3d b9 0d 10 84 0c 69  |rocessed%=.....i|
000179d0  63 6f 6e 25 3d 33 30 0d  10 85 22 62 6c 6f 63 6b  |con%=30..."block|
000179e0  25 21 30 3d 6d 61 69 6e  25 3a 20 62 6c 6f 63 6b  |%!0=main%: block|
000179f0  25 21 34 3d 69 63 6f 6e  25 0d 10 86 18 c8 99 20  |%!4=icon%...... |
00017a00  26 30 30 30 34 30 30 43  45 2c 2c 62 6c 6f 63 6b  |&000400CE,,block|
00017a10  25 0d 10 87 22 f2 6f 61  28 6d 61 69 6e 25 2c 69  |%...".oa(main%,i|
00017a20  63 6f 6e 25 2c a9 24 28  62 6c 6f 63 6b 25 21 32  |con%,.$(block%!2|
00017a30  38 29 29 0d 10 88 0f c9  20 26 31 38 46 2c 26 31  |8))..... &18F,&1|
00017a40  39 41 0d 10 89 10 70 72  6f 63 65 73 73 65 64 25  |9A....processed%|
00017a50  3d b9 0d 10 8a 14 e7 20  a4 6c 28 6d 61 69 6e 25  |=...... .l(main%|
00017a60  2c 33 37 29 20 8c 0d 10  8b 0c 69 63 6f 6e 25 3d  |,37) .....icon%=|
00017a70  32 31 0d 10 8c 05 cc 0d  10 8d 0c 69 63 6f 6e 25  |21.........icon%|
00017a80  3d 33 32 0d 10 8e 05 cd  0d 10 8f 1a e7 20 6d 61  |=32.......... ma|
00017a90  6e 6e 65 72 25 3d 32 20  8c 20 69 63 6f 6e 25 3d  |nner%=2 . icon%=|
00017aa0  33 30 0d 10 90 22 62 6c  6f 63 6b 25 21 30 3d 6d  |30..."block%!0=m|
00017ab0  61 69 6e 25 3a 20 62 6c  6f 63 6b 25 21 34 3d 69  |ain%: block%!4=i|
00017ac0  63 6f 6e 25 0d 10 91 18  c8 99 20 26 30 30 30 34  |con%...... &0004|
00017ad0  30 30 43 45 2c 2c 62 6c  6f 63 6b 25 0d 10 92 22  |00CE,,block%..."|
00017ae0  f2 6f 61 28 6d 61 69 6e  25 2c 69 63 6f 6e 25 2c  |.oa(main%,icon%,|
00017af0  a9 24 28 62 6c 6f 63 6b  25 21 32 38 29 29 0d 10  |.$(block%!28))..|
00017b00  93 08 c9 20 31 33 0d 10  94 10 67 72 69 64 66 69  |... 13....gridfi|
00017b10  67 73 25 3d a4 63 0d 10  95 13 e7 20 67 72 69 64  |gs%=.c..... grid|
00017b20  66 69 67 73 25 3d b9 20  8c 0d 10 96 07 f2 6d 62  |figs%=. ......mb|
00017b30  0d 10 97 05 cc 0d 10 98  0c 69 63 6f 6e 25 3d 33  |.........icon%=3|
00017b40  30 0d 10 99 22 62 6c 6f  63 6b 25 21 30 3d 6d 61  |0..."block%!0=ma|
00017b50  69 6e 25 3a 20 62 6c 6f  63 6b 25 21 34 3d 69 63  |in%: block%!4=ic|
00017b60  6f 6e 25 0d 10 9a 18 c8  99 20 26 30 30 30 34 30  |on%...... &00040|
00017b70  30 43 45 2c 2c 62 6c 6f  63 6b 25 0d 10 9b 22 f2  |0CE,,block%...".|
00017b80  6f 61 28 6d 61 69 6e 25  2c 69 63 6f 6e 25 2c a9  |oa(main%,icon%,.|
00017b90  24 28 62 6c 6f 63 6b 25  21 32 38 29 29 0d 10 9c  |$(block%!28))...|
00017ba0  05 cd 0d 10 9d 18 c9 20  26 37 46 2c 26 31 38 42  |....... &7F,&18B|
00017bb0  2c 26 31 39 42 2c 26 31  41 42 0d 10 9e 07 f2 78  |,&19B,&1AB.....x|
00017bc0  64 0d 10 9f 10 70 72 6f  63 65 73 73 65 64 25 3d  |d....processed%=|
00017bd0  b9 0d 10 a0 05 7f 0d 10  a1 1f e7 20 6b 65 79 25  |........... key%|
00017be0  3e 33 32 20 80 20 6b 65  79 25 3c 26 31 38 30 20  |>32 . key%<&180 |
00017bf0  8c 20 f2 78 64 0d 10 a2  1f e7 20 6b 65 79 25 3c  |. .xd..... key%<|
00017c00  3e 26 31 43 43 20 8c 20  70 72 6f 63 65 73 73 65  |>&1CC . processe|
00017c10  64 25 3d b9 0d 10 a3 05  cb 0d 10 a4 14 e7 20 a4  |d%=........... .|
00017c20  6c 28 6d 61 69 6e 25 2c  33 37 29 20 8c 0d 10 a5  |l(main%,37) ....|
00017c30  27 24 63 6f 6e 76 5f 72  6f 77 73 25 3d a4 71 28  |'$conv_rows%=.q(|
00017c40  bb 24 67 72 6f 77 73 25  2c 72 6f 77 5f 68 65 69  |.$grows%,row_hei|
00017c50  67 68 74 29 0d 10 a6 15  f2 66 65 28 6d 61 69 6e  |ght).....fe(main|
00017c60  25 2c 31 39 2c 30 2c 30  29 0d 10 a7 05 cd 0d 10  |%,19,0,0).......|
00017c70  a8 08 c9 20 33 30 0d 10  a9 10 67 72 69 64 66 69  |... 30....gridfi|
00017c80  67 73 25 3d a4 63 0d 10  aa 13 e7 20 67 72 69 64  |gs%=.c..... grid|
00017c90  66 69 67 73 25 3d a3 20  8c 0d 10 ab 0a f2 63 63  |figs%=. ......cc|
00017ca0  28 31 29 0d 10 ac 22 e7  20 6d 61 6e 6e 65 72 25  |(1)...". manner%|
00017cb0  3c 3e 32 20 8c 20 f2 72  65 28 34 29 20 8b 20 f2  |<>2 . .re(4) . .|
00017cc0  72 65 28 37 29 0d 10 ad  05 cc 0d 10 ae 0a f2 63  |re(7)..........c|
00017cd0  63 28 30 29 0d 10 af 0a  f2 72 65 28 36 29 0d 10  |c(0).....re(6)..|
00017ce0  b0 05 cd 0d 10 b1 0d c8  8e 20 6b 65 79 25 20 ca  |......... key% .|
00017cf0  0d 10 b2 0f c9 20 26 31  38 45 2c 26 31 38 41 0d  |..... &18E,&18A.|
00017d00  10 b3 10 70 72 6f 63 65  73 73 65 64 25 3d b9 0d  |...processed%=..|
00017d10  10 b4 14 e7 20 a4 6c 28  6d 61 69 6e 25 2c 33 37  |.... .l(main%,37|
00017d20  29 20 8c 0d 10 b5 0c 69  63 6f 6e 25 3d 31 39 0d  |) .....icon%=19.|
00017d30  10 b6 05 cc 0d 10 b7 0c  69 63 6f 6e 25 3d 33 31  |........icon%=31|
00017d40  0d 10 b8 05 cd 0d 10 b9  1a e7 20 6d 61 6e 6e 65  |.......... manne|
00017d50  72 25 3d 32 20 8c 20 69  63 6f 6e 25 3d 32 39 0d  |r%=2 . icon%=29.|
00017d60  10 ba 22 62 6c 6f 63 6b  25 21 30 3d 6d 61 69 6e  |.."block%!0=main|
00017d70  25 3a 20 62 6c 6f 63 6b  25 21 34 3d 69 63 6f 6e  |%: block%!4=icon|
00017d80  25 0d 10 bb 18 c8 99 20  26 30 30 30 34 30 30 43  |%...... &000400C|
00017d90  45 2c 2c 62 6c 6f 63 6b  25 0d 10 bc 22 f2 6f 61  |E,,block%...".oa|
00017da0  28 6d 61 69 6e 25 2c 69  63 6f 6e 25 2c a9 24 28  |(main%,icon%,.$(|
00017db0  62 6c 6f 63 6b 25 21 32  38 29 29 0d 10 bd 0f c9  |block%!28)).....|
00017dc0  20 26 31 38 46 2c 26 31  39 41 0d 10 be 10 70 72  | &18F,&19A....pr|
00017dd0  6f 63 65 73 73 65 64 25  3d b9 0d 10 bf 0c 69 63  |ocessed%=.....ic|
00017de0  6f 6e 25 3d 32 39 0d 10  c0 22 62 6c 6f 63 6b 25  |on%=29..."block%|
00017df0  21 30 3d 6d 61 69 6e 25  3a 20 62 6c 6f 63 6b 25  |!0=main%: block%|
00017e00  21 34 3d 69 63 6f 6e 25  0d 10 c1 18 c8 99 20 26  |!4=icon%...... &|
00017e10  30 30 30 34 30 30 43 45  2c 2c 62 6c 6f 63 6b 25  |000400CE,,block%|
00017e20  0d 10 c2 22 f2 6f 61 28  6d 61 69 6e 25 2c 69 63  |...".oa(main%,ic|
00017e30  6f 6e 25 2c a9 24 28 62  6c 6f 63 6b 25 21 32 38  |on%,.$(block%!28|
00017e40  29 29 0d 10 c3 08 c9 20  31 33 0d 10 c4 10 67 72  |))..... 13....gr|
00017e50  69 64 66 69 67 73 25 3d  a4 63 0d 10 c5 13 e7 20  |idfigs%=.c..... |
00017e60  67 72 69 64 66 69 67 73  25 3d b9 20 8c 0d 10 c6  |gridfigs%=. ....|
00017e70  07 f2 6d 62 0d 10 c7 05  cc 0d 10 c8 14 e7 20 a4  |..mb.......... .|
00017e80  6c 28 6d 61 69 6e 25 2c  33 37 29 20 8c 0d 10 c9  |l(main%,37) ....|
00017e90  0c 69 63 6f 6e 25 3d 31  39 0d 10 ca 05 cc 0d 10  |.icon%=19.......|
00017ea0  cb 0c 69 63 6f 6e 25 3d  33 31 0d 10 cc 05 cd 0d  |..icon%=31......|
00017eb0  10 cd 1a e7 20 6d 61 6e  6e 65 72 25 3d 32 20 8c  |.... manner%=2 .|
00017ec0  20 69 63 6f 6e 25 3d 32  39 0d 10 ce 22 62 6c 6f  | icon%=29..."blo|
00017ed0  63 6b 25 21 30 3d 6d 61  69 6e 25 3a 20 62 6c 6f  |ck%!0=main%: blo|
00017ee0  63 6b 25 21 34 3d 69 63  6f 6e 25 0d 10 cf 18 c8  |ck%!4=icon%.....|
00017ef0  99 20 26 30 30 30 34 30  30 43 45 2c 2c 62 6c 6f  |. &000400CE,,blo|
00017f00  63 6b 25 0d 10 d0 22 f2  6f 61 28 6d 61 69 6e 25  |ck%...".oa(main%|
00017f10  2c 69 63 6f 6e 25 2c a9  24 28 62 6c 6f 63 6b 25  |,icon%,.$(block%|
00017f20  21 32 38 29 29 0d 10 d1  05 cd 0d 10 d2 18 c9 20  |!28)).......... |
00017f30  26 37 46 2c 26 31 38 42  2c 26 31 39 42 2c 26 31  |&7F,&18B,&19B,&1|
00017f40  41 42 0d 10 d3 07 f2 78  64 0d 10 d4 10 70 72 6f  |AB.....xd....pro|
00017f50  63 65 73 73 65 64 25 3d  b9 0d 10 d5 05 7f 0d 10  |cessed%=........|
00017f60  d6 1f e7 20 6b 65 79 25  3e 33 32 20 80 20 6b 65  |... key%>32 . ke|
00017f70  79 25 3c 26 31 38 30 20  8c 20 f2 78 64 0d 10 d7  |y%<&180 . .xd...|
00017f80  10 70 72 6f 63 65 73 73  65 64 25 3d b9 0d 10 d8  |.processed%=....|
00017f90  05 cb 0d 10 d9 14 e7 20  a4 6c 28 6d 61 69 6e 25  |....... .l(main%|
00017fa0  2c 33 37 29 20 8c 0d 10  da 31 24 63 6f 6e 76 5f  |,37) ....1$conv_|
00017fb0  73 74 69 74 63 68 65 73  25 3d a4 71 28 bb 24 67  |stitches%=.q(.$g|
00017fc0  73 74 69 74 63 68 65 73  25 2c 73 74 69 74 63 68  |stitches%,stitch|
00017fd0  5f 77 69 64 74 68 29 0d  10 db 15 f2 66 65 28 6d  |_width).....fe(m|
00017fe0  61 69 6e 25 2c 32 31 2c  30 2c 30 29 0d 10 dc 05  |ain%,21,0,0)....|
00017ff0  cd 0d 10 dd 08 c9 20 33  31 0d 10 de 0d c8 8e 20  |...... 31...... |
00018000  6b 65 79 25 20 ca 0d 10  df 0f c9 20 26 31 38 45  |key% ...... &18E|
00018010  2c 26 31 38 41 0d 10 e0  10 70 72 6f 63 65 73 73  |,&18A....process|
00018020  65 64 25 3d b9 0d 10 e1  14 e7 20 a4 6c 28 6d 61  |ed%=...... .l(ma|
00018030  69 6e 25 2c 33 37 29 20  8c 0d 10 e2 0c 69 63 6f  |in%,37) .....ico|
00018040  6e 25 3d 32 39 0d 10 e3  05 cc 0d 10 e4 0c 69 63  |n%=29.........ic|
00018050  6f 6e 25 3d 33 32 0d 10  e5 05 cd 0d 10 e6 22 62  |on%=32........"b|
00018060  6c 6f 63 6b 25 21 30 3d  6d 61 69 6e 25 3a 20 62  |lock%!0=main%: b|
00018070  6c 6f 63 6b 25 21 34 3d  69 63 6f 6e 25 0d 10 e7  |lock%!4=icon%...|
00018080  18 c8 99 20 26 30 30 30  34 30 30 43 45 2c 2c 62  |... &000400CE,,b|
00018090  6c 6f 63 6b 25 0d 10 e8  22 f2 6f 61 28 6d 61 69  |lock%...".oa(mai|
000180a0  6e 25 2c 69 63 6f 6e 25  2c a9 24 28 62 6c 6f 63  |n%,icon%,.$(bloc|
000180b0  6b 25 21 32 38 29 29 0d  10 e9 0f c9 20 26 31 38  |k%!28))..... &18|
000180c0  46 2c 26 31 39 41 0d 10  ea 10 70 72 6f 63 65 73  |F,&19A....proces|
000180d0  73 65 64 25 3d b9 0d 10  eb 0c 69 63 6f 6e 25 3d  |sed%=.....icon%=|
000180e0  33 30 0d 10 ec 22 62 6c  6f 63 6b 25 21 30 3d 6d  |30..."block%!0=m|
000180f0  61 69 6e 25 3a 20 62 6c  6f 63 6b 25 21 34 3d 69  |ain%: block%!4=i|
00018100  63 6f 6e 25 0d 10 ed 18  c8 99 20 26 30 30 30 34  |con%...... &0004|
00018110  30 30 43 45 2c 2c 62 6c  6f 63 6b 25 0d 10 ee 22  |00CE,,block%..."|
00018120  f2 6f 61 28 6d 61 69 6e  25 2c 69 63 6f 6e 25 2c  |.oa(main%,icon%,|
00018130  a9 24 28 62 6c 6f 63 6b  25 21 32 38 29 29 0d 10  |.$(block%!28))..|
00018140  ef 08 c9 20 31 33 0d 10  f0 10 67 72 69 64 66 69  |... 13....gridfi|
00018150  67 73 25 3d a4 63 0d 10  f1 13 e7 20 67 72 69 64  |gs%=.c..... grid|
00018160  66 69 67 73 25 3d b9 20  8c 0d 10 f2 07 f2 6d 62  |figs%=. ......mb|
00018170  0d 10 f3 05 cc 0d 10 f4  0c 69 63 6f 6e 25 3d 33  |.........icon%=3|
00018180  32 0d 10 f5 22 62 6c 6f  63 6b 25 21 30 3d 6d 61  |2..."block%!0=ma|
00018190  69 6e 25 3a 20 62 6c 6f  63 6b 25 21 34 3d 69 63  |in%: block%!4=ic|
000181a0  6f 6e 25 0d 10 f6 18 c8  99 20 26 30 30 30 34 30  |on%...... &00040|
000181b0  30 43 45 2c 2c 62 6c 6f  63 6b 25 0d 10 f7 22 f2  |0CE,,block%...".|
000181c0  6f 61 28 6d 61 69 6e 25  2c 69 63 6f 6e 25 2c a9  |oa(main%,icon%,.|
000181d0  24 28 62 6c 6f 63 6b 25  21 32 38 29 29 0d 10 f8  |$(block%!28))...|
000181e0  05 cd 0d 10 f9 18 c9 20  26 37 46 2c 26 31 38 42  |....... &7F,&18B|
000181f0  2c 26 31 39 42 2c 26 31  41 42 0d 10 fa 07 f2 78  |,&19B,&1AB.....x|
00018200  64 0d 10 fb 10 70 72 6f  63 65 73 73 65 64 25 3d  |d....processed%=|
00018210  b9 0d 10 fc 05 7f 0d 10  fd 1f e7 20 6b 65 79 25  |........... key%|
00018220  3e 33 32 20 80 20 6b 65  79 25 3c 26 31 38 30 20  |>32 . key%<&180 |
00018230  8c 20 f2 78 64 0d 10 fe  1f e7 20 6b 65 79 25 3c  |. .xd..... key%<|
00018240  3e 26 31 43 43 20 8c 20  70 72 6f 63 65 73 73 65  |>&1CC . processe|
00018250  64 25 3d b9 0d 10 ff 05  cb 0d 11 00 08 c9 20 33  |d%=........... 3|
00018260  32 0d 11 01 10 67 72 69  64 66 69 67 73 25 3d a4  |2....gridfigs%=.|
00018270  63 0d 11 02 13 e7 20 67  72 69 64 66 69 67 73 25  |c..... gridfigs%|
00018280  3d a3 20 8c 0d 11 03 0a  f2 63 63 28 31 29 0d 11  |=. ......cc(1)..|
00018290  04 0a f2 72 65 28 34 29  0d 11 05 05 cc 0d 11 06  |...re(4)........|
000182a0  0a f2 63 63 28 30 29 0d  11 07 0a f2 72 65 28 36  |..cc(0).....re(6|
000182b0  29 0d 11 08 05 cd 0d 11  09 0d c8 8e 20 6b 65 79  |)........... key|
000182c0  25 20 ca 0d 11 0a 0f c9  20 26 31 38 45 2c 26 31  |% ...... &18E,&1|
000182d0  38 41 0d 11 0b 10 70 72  6f 63 65 73 73 65 64 25  |8A....processed%|
000182e0  3d b9 0d 11 0c 14 e7 20  a4 6c 28 6d 61 69 6e 25  |=...... .l(main%|
000182f0  2c 33 37 29 20 8c 0d 11  0d 0c 69 63 6f 6e 25 3d  |,37) .....icon%=|
00018300  31 39 0d 11 0e 05 cc 0d  11 0f 0c 69 63 6f 6e 25  |19.........icon%|
00018310  3d 32 39 0d 11 10 05 cd  0d 11 11 22 62 6c 6f 63  |=29........"bloc|
00018320  6b 25 21 30 3d 6d 61 69  6e 25 3a 20 62 6c 6f 63  |k%!0=main%: bloc|
00018330  6b 25 21 34 3d 69 63 6f  6e 25 0d 11 12 18 c8 99  |k%!4=icon%......|
00018340  20 26 30 30 30 34 30 30  43 45 2c 2c 62 6c 6f 63  | &000400CE,,bloc|
00018350  6b 25 0d 11 13 22 f2 6f  61 28 6d 61 69 6e 25 2c  |k%...".oa(main%,|
00018360  69 63 6f 6e 25 2c a9 24  28 62 6c 6f 63 6b 25 21  |icon%,.$(block%!|
00018370  32 38 29 29 0d 11 14 0f  c9 20 26 31 38 46 2c 26  |28))..... &18F,&|
00018380  31 39 41 0d 11 15 10 70  72 6f 63 65 73 73 65 64  |19A....processed|
00018390  25 3d b9 0d 11 16 14 e7  20 a4 6c 28 6d 61 69 6e  |%=...... .l(main|
000183a0  25 2c 33 37 29 20 8c 0d  11 17 0c 69 63 6f 6e 25  |%,37) .....icon%|
000183b0  3d 32 39 0d 11 18 05 cc  0d 11 19 0c 69 63 6f 6e  |=29.........icon|
000183c0  25 3d 33 31 0d 11 1a 05  cd 0d 11 1b 22 62 6c 6f  |%=31........"blo|
000183d0  63 6b 25 21 30 3d 6d 61  69 6e 25 3a 20 62 6c 6f  |ck%!0=main%: blo|
000183e0  63 6b 25 21 34 3d 69 63  6f 6e 25 0d 11 1c 18 c8  |ck%!4=icon%.....|
000183f0  99 20 26 30 30 30 34 30  30 43 45 2c 2c 62 6c 6f  |. &000400CE,,blo|
00018400  63 6b 25 0d 11 1d 22 f2  6f 61 28 6d 61 69 6e 25  |ck%...".oa(main%|
00018410  2c 69 63 6f 6e 25 2c a9  24 28 62 6c 6f 63 6b 25  |,icon%,.$(block%|
00018420  21 32 38 29 29 0d 11 1e  08 c9 20 31 33 0d 11 1f  |!28))..... 13...|
00018430  10 67 72 69 64 66 69 67  73 25 3d a4 63 0d 11 20  |.gridfigs%=.c.. |
00018440  13 e7 20 67 72 69 64 66  69 67 73 25 3d b9 20 8c  |.. gridfigs%=. .|
00018450  0d 11 21 07 f2 6d 62 0d  11 22 05 cc 0d 11 23 0c  |..!..mb.."....#.|
00018460  69 63 6f 6e 25 3d 32 39  0d 11 24 22 62 6c 6f 63  |icon%=29..$"bloc|
00018470  6b 25 21 30 3d 6d 61 69  6e 25 3a 20 62 6c 6f 63  |k%!0=main%: bloc|
00018480  6b 25 21 34 3d 69 63 6f  6e 25 0d 11 25 18 c8 99  |k%!4=icon%..%...|
00018490  20 26 30 30 30 34 30 30  43 45 2c 2c 62 6c 6f 63  | &000400CE,,bloc|
000184a0  6b 25 0d 11 26 22 f2 6f  61 28 6d 61 69 6e 25 2c  |k%..&".oa(main%,|
000184b0  69 63 6f 6e 25 2c a9 24  28 62 6c 6f 63 6b 25 21  |icon%,.$(block%!|
000184c0  32 38 29 29 0d 11 27 05  cd 0d 11 28 18 c9 20 26  |28))..'....(.. &|
000184d0  37 46 2c 26 31 38 42 2c  26 31 39 42 2c 26 31 41  |7F,&18B,&19B,&1A|
000184e0  42 0d 11 29 07 f2 78 64  0d 11 2a 10 70 72 6f 63  |B..)..xd..*.proc|
000184f0  65 73 73 65 64 25 3d b9  0d 11 2b 05 7f 0d 11 2c  |essed%=...+....,|
00018500  1f e7 20 6b 65 79 25 3e  33 32 20 80 20 6b 65 79  |.. key%>32 . key|
00018510  25 3c 26 31 38 30 20 8c  20 f2 78 64 0d 11 2d 1f  |%<&180 . .xd..-.|
00018520  e7 20 6b 65 79 25 3c 3e  26 31 43 43 20 8c 20 70  |. key%<>&1CC . p|
00018530  72 6f 63 65 73 73 65 64  25 3d b9 0d 11 2e 05 cb  |rocessed%=......|
00018540  0d 11 2f 05 cb 0d 11 30  05 cb 0d 11 31 26 e7 20  |../....0....1&. |
00018550  ac 20 70 72 6f 63 65 73  73 65 64 25 20 8c 20 c8  |. processed% . .|
00018560  99 20 26 30 30 30 34 30  30 44 43 2c 6b 65 79 25  |. &000400DC,key%|
00018570  0d 11 32 05 e1 0d 11 33  05 3a 0d 11 34 08 dd 20  |..2....3.:..4.. |
00018580  a4 63 0d 11 35 13 ea 20  69 63 25 2c 67 72 69 64  |.c..5.. ic%,grid|
00018590  66 69 67 73 25 0d 11 36  10 c8 8e 20 6d 61 6e 6e  |figs%..6... mann|
000185a0  65 72 25 20 ca 0d 11 37  09 c9 20 30 2c 31 0d 11  |er% ...7.. 0,1..|
000185b0  38 0f 67 72 69 64 66 69  67 73 25 3d b9 0d 11 39  |8.gridfigs%=...9|
000185c0  11 e3 20 69 63 25 3d 32  39 20 b8 20 33 32 0d 11  |.. ic%=29 . 32..|
000185d0  3a 2e 62 6c 6f 63 6b 25  21 28 30 2b 31 30 32 34  |:.block%!(0+1024|
000185e0  29 3d 6d 61 69 6e 25 3a  20 62 6c 6f 63 6b 25 21  |)=main%: block%!|
000185f0  28 34 2b 31 30 32 34 29  3d 69 63 25 0d 11 3b 1d  |(4+1024)=ic%..;.|
00018600  c8 99 20 26 30 30 30 34  30 30 43 45 2c 2c 62 6c  |.. &000400CE,,bl|
00018610  6f 63 6b 25 2b 31 30 32  34 0d 11 3c 2a e7 20 bb  |ock%+1024..<*. .|
00018620  24 28 62 6c 6f 63 6b 25  21 28 32 38 2b 31 30 32  |$(block%!(28+102|
00018630  34 29 29 3d 30 20 8c 20  67 72 69 64 66 69 67 73  |4))=0 . gridfigs|
00018640  25 3d a3 0d 11 3d 09 ed  20 69 63 25 0d 11 3e 07  |%=...=.. ic%..>.|
00018650  c9 20 32 0d 11 3f 10 67  72 69 64 66 69 67 73 25  |. 2..?.gridfigs%|
00018660  3d a4 64 0d 11 40 05 cb  0d 11 41 0e 3d 67 72 69  |=.d..@....A.=gri|
00018670  64 66 69 67 73 25 0d 11  42 05 3a 0d 11 43 08 dd  |dfigs%..B.:..C..|
00018680  20 a4 65 0d 11 44 11 ea  20 69 63 6f 6e 25 2c 7a  | .e..D.. icon%,z|
00018690  65 72 6f 25 0d 11 45 0b  7a 65 72 6f 25 3d b9 0d  |ero%..E.zero%=..|
000186a0  11 46 13 e3 20 69 63 6f  6e 25 3d 31 35 20 b8 20  |.F.. icon%=15 . |
000186b0  31 38 0d 11 47 22 62 6c  6f 63 6b 25 21 30 3d 6d  |18..G"block%!0=m|
000186c0  61 69 6e 25 3a 20 62 6c  6f 63 6b 25 21 34 3d 69  |ain%: block%!4=i|
000186d0  63 6f 6e 25 0d 11 48 18  c8 99 20 26 30 30 30 34  |con%..H... &0004|
000186e0  30 30 43 45 2c 2c 62 6c  6f 63 6b 25 0d 11 49 1f  |00CE,,block%..I.|
000186f0  e7 20 bb 24 28 62 6c 6f  63 6b 25 21 32 38 29 3d  |. .$(block%!28)=|
00018700  30 20 8c 20 7a 65 72 6f  25 3d a3 0d 11 4a 0b ed  |0 . zero%=...J..|
00018710  20 69 63 6f 6e 25 0d 11  4b 0a 3d 7a 65 72 6f 25  | icon%..K.=zero%|
00018720  0d 11 4c 05 3a 0d 11 4d  08 dd 20 a4 64 0d 11 4e  |..L.:..M.. .d..N|
00018730  11 ea 20 69 63 6f 6e 25  2c 7a 65 72 6f 25 0d 11  |.. icon%,zero%..|
00018740  4f 0b 7a 65 72 6f 25 3d  b9 0d 11 50 13 e3 20 69  |O.zero%=...P.. i|
00018750  63 6f 6e 25 3d 32 39 20  b8 20 33 30 0d 11 51 22  |con%=29 . 30..Q"|
00018760  62 6c 6f 63 6b 25 21 30  3d 6d 61 69 6e 25 3a 20  |block%!0=main%: |
00018770  62 6c 6f 63 6b 25 21 34  3d 69 63 6f 6e 25 0d 11  |block%!4=icon%..|
00018780  52 18 c8 99 20 26 30 30  30 34 30 30 43 45 2c 2c  |R... &000400CE,,|
00018790  62 6c 6f 63 6b 25 0d 11  53 1f e7 20 bb 24 28 62  |block%..S.. .$(b|
000187a0  6c 6f 63 6b 25 21 32 38  29 3d 30 20 8c 20 7a 65  |lock%!28)=0 . ze|
000187b0  72 6f 25 3d a3 0d 11 54  0b ed 20 69 63 6f 6e 25  |ro%=...T.. icon%|
000187c0  0d 11 55 0a 3d 7a 65 72  6f 25 0d 11 56 05 3a 0d  |..U.=zero%..V.:.|
000187d0  11 57 0f dd 20 f2 72 65  28 76 61 72 25 29 0d 11  |.W.. .re(var%)..|
000187e0  58 0d c8 8e 20 76 61 72  25 20 ca 0d 11 59 07 c9  |X... var% ...Y..|
000187f0  20 30 0d 11 5a 38 24 64  69 73 70 74 65 78 74 25  | 0..Z8$disptext%|
00018800  3d 22 46 69 6c 6c 20 69  6e 20 74 68 65 20 73 74  |="Fill in the st|
00018810  69 74 63 68 65 73 20 69  6e 20 74 68 65 20 45 64  |itches in the Ed|
00018820  69 74 20 77 69 6e 64 6f  77 22 0d 11 5b 07 c9 20  |it window"..[.. |
00018830  31 0d 11 5c 2e 24 64 69  73 70 74 65 78 74 25 3d  |1..\.$disptext%=|
00018840  22 44 72 61 67 20 69 6e  20 61 20 53 70 72 69 74  |"Drag in a Sprit|
00018850  65 20 6f 72 20 44 72 61  77 20 46 69 6c 65 22 0d  |e or Draw File".|
00018860  11 5d 07 c9 20 32 0d 11  5e 2c 24 64 69 73 70 74  |.].. 2..^,$dispt|
00018870  65 78 74 25 3d 22 53 65  74 20 44 65 73 69 72 65  |ext%="Set Desire|
00018880  64 20 53 69 7a 65 20 6f  66 20 50 69 63 74 75 72  |d Size of Pictur|
00018890  65 22 0d 11 5f 07 c9 20  33 0d 11 60 1e 24 64 69  |e".._.. 3..`.$di|
000188a0  73 70 74 65 78 74 25 3d  22 53 61 76 65 20 4f 75  |sptext%="Save Ou|
000188b0  74 20 44 61 74 61 22 0d  11 61 07 c9 20 34 0d 11  |t Data"..a.. 4..|
000188c0  62 2f 24 64 69 73 70 74  65 78 74 25 3d 22 45 6e  |b/$disptext%="En|
000188d0  74 65 72 20 47 72 69 64  20 43 6f 6e 74 72 6f 6c  |ter Grid Control|
000188e0  20 49 6e 66 6f 72 6d 61  74 69 6f 6e 22 0d 11 63  | Information"..c|
000188f0  07 c9 20 35 0d 11 64 32  24 64 69 73 70 74 65 78  |.. 5..d2$disptex|
00018900  74 25 3d 22 45 6e 74 65  72 20 54 65 6e 73 69 6f  |t%="Enter Tensio|
00018910  6e 20 53 71 75 61 72 65  20 4d 65 61 73 75 72 65  |n Square Measure|
00018920  6d 65 6e 74 73 22 0d 11  65 07 c9 20 36 0d 11 66  |ments"..e.. 6..f|
00018930  39 24 64 69 73 70 74 65  78 74 25 3d 22 52 65 61  |9$disptext%="Rea|
00018940  64 79 20 74 6f 20 45 64  69 74 20 28 43 6c 69 63  |dy to Edit (Clic|
00018950  6b 20 6f 6e 20 74 68 65  20 45 64 69 74 20 42 75  |k on the Edit Bu|
00018960  74 74 6f 6e 29 22 0d 11  67 07 c9 20 37 0d 11 68  |tton)"..g.. 7..h|
00018970  2d 24 64 69 73 70 74 65  78 74 25 3d 22 45 6e 74  |-$disptext%="Ent|
00018980  65 72 20 73 69 7a 65 20  6f 66 20 70 75 6e 63 68  |er size of punch|
00018990  63 61 72 64 20 67 72 69  64 22 0d 11 69 05 cb 0d  |card grid"..i...|
000189a0  11 6a 15 74 65 78 74 64  69 73 70 76 61 72 25 3d  |.j.textdispvar%=|
000189b0  76 61 72 25 0d 11 6b 15  f2 66 65 28 6d 61 69 6e  |var%..k..fe(main|
000189c0  25 2c 32 37 2c 30 2c 30  29 0d 11 6c 05 e1 0d 11  |%,27,0,0)..l....|
000189d0  6d 05 3a 0d 11 6e 13 dd  20 a4 73 28 69 6e 74 25  |m.:..n.. .s(int%|
000189e0  2c 72 65 61 6c 29 0d 11  6f 15 ea 20 61 6e 73 77  |,real)..o.. answ|
000189f0  65 72 24 2c 72 65 73 75  6c 74 25 0d 11 70 0e e7  |er$,result%..p..|
00018a00  20 72 65 61 6c 3d 30 20  8c 0d 11 71 0d 72 65 73  | real=0 ...q.res|
00018a10  75 6c 74 25 3d 30 0d 11  72 05 cc 0d 11 73 18 72  |ult%=0..r....s.r|
00018a20  65 73 75 6c 74 3d bb 24  28 69 6e 74 25 29 2f 72  |esult=.$(int%)/r|
00018a30  65 61 6c 0d 11 74 12 72  65 73 75 6c 74 25 3d 72  |eal..t.result%=r|
00018a40  65 73 75 6c 74 0d 11 75  25 e7 20 72 65 73 75 6c  |esult..u%. resul|
00018a50  74 2d 72 65 73 75 6c 74  25 3e 30 2e 35 20 8c 20  |t-result%>0.5 . |
00018a60  72 65 73 75 6c 74 25 2b  3d 31 0d 11 76 05 cd 0d  |result%+=1..v...|
00018a70  11 77 16 61 6e 73 77 65  72 24 3d c3 28 72 65 73  |.w.answer$=.(res|
00018a80  75 6c 74 25 29 0d 11 78  28 e7 20 a9 28 61 6e 73  |ult%)..x(. .(ans|
00018a90  77 65 72 24 29 3e 34 20  8c 20 61 6e 73 77 65 72  |wer$)>4 . answer|
00018aa0  24 3d c0 61 6e 73 77 65  72 24 2c 34 29 0d 11 79  |$=.answer$,4)..y|
00018ab0  0c 3d 61 6e 73 77 65 72  24 0d 11 7a 05 3a 0d 11  |.=answer$..z.:..|
00018ac0  7b 12 dd 20 a4 71 28 69  6e 74 2c 72 65 61 6c 29  |{.. .q(int,real)|
00018ad0  0d 11 7c 2f ea 20 72 65  73 75 6c 74 24 2c 69 25  |..|/. result$,i%|
00018ae0  2c 66 69 6e 61 6c 24 2c  64 69 67 69 74 31 25 2c  |,final$,digit1%,|
00018af0  64 69 67 69 74 32 25 2c  72 65 73 75 6c 74 25 0d  |digit2%,result%.|
00018b00  11 7d 14 72 65 73 75 6c  74 25 3d 69 6e 74 2a 72  |.}.result%=int*r|
00018b10  65 61 6c 0d 11 7e 17 72  65 73 75 6c 74 24 3d c3  |eal..~.result$=.|
00018b20  28 69 6e 74 2a 72 65 61  6c 29 0d 11 7f 14 69 25  |(int*real)....i%|
00018b30  3d a7 72 65 73 75 6c 74  24 2c 22 2e 22 29 0d 11  |=.result$,".")..|
00018b40  80 0d e7 20 69 25 3c 3e  30 20 8c 0d 11 81 09 69  |... i%<>0 .....i|
00018b50  25 2b 3d 31 0d 11 82 1d  64 69 67 69 74 31 25 3d  |%+=1....digit1%=|
00018b60  bb 28 c1 72 65 73 75 6c  74 24 2c 69 25 2c 31 29  |.(.result$,i%,1)|
00018b70  29 0d 11 83 09 69 25 2b  3d 31 0d 11 84 3c e7 20  |)....i%+=1...<. |
00018b80  69 25 3c 3d a9 28 72 65  73 75 6c 74 24 29 20 8c  |i%<=.(result$) .|
00018b90  20 64 69 67 69 74 32 25  3d bb 28 c1 72 65 73 75  | digit2%=.(.resu|
00018ba0  6c 74 24 2c 69 25 2c 31  29 29 20 8b 20 64 69 67  |lt$,i%,1)) . dig|
00018bb0  69 74 32 25 3d 31 0d 11  85 1c e7 20 64 69 67 69  |it2%=1..... digi|
00018bc0  74 32 25 3e 35 20 8c 20  64 69 67 69 74 31 25 2b  |t2%>5 . digit1%+|
00018bd0  3d 31 0d 11 86 28 e7 20  64 69 67 69 74 31 25 3d  |=1...(. digit1%=|
00018be0  31 30 20 8c 20 72 65 73  75 6c 74 25 2b 3d 31 3a  |10 . result%+=1:|
00018bf0  20 64 69 67 69 74 31 25  3d 30 0d 11 87 24 66 69  | digit1%=0...$fi|
00018c00  6e 61 6c 24 3d c3 28 72  65 73 75 6c 74 25 29 2b  |nal$=.(result%)+|
00018c10  22 2e 22 2b c3 28 64 69  67 69 74 31 25 29 0d 11  |"."+.(digit1%)..|
00018c20  88 05 cc 0d 11 89 17 66  69 6e 61 6c 24 3d 72 65  |.......final$=re|
00018c30  73 75 6c 74 24 2b 22 2e  30 22 0d 11 8a 05 cd 0d  |sult$+".0"......|
00018c40  11 8b 0b 3d 66 69 6e 61  6c 24 0d 11 8c 05 3a 0d  |...=final$....:.|
00018c50  11 8d 12 dd 20 f2 62 62  28 66 61 63 74 6f 72 25  |.... .bb(factor%|
00018c60  29 0d 11 8e 0b ea 20 6d  75 6c 74 69 0d 11 8f 11  |)..... multi....|
00018c70  e7 20 66 61 63 74 6f 72  25 3d 31 20 8c 0d 11 90  |. factor%=1 ....|
00018c80  10 6d 75 6c 74 69 3d 30  2e 33 39 33 37 0d 11 91  |.multi=0.3937...|
00018c90  05 cc 0d 11 92 0e 6d 75  6c 74 69 3d 32 2e 35 34  |......multi=2.54|
00018ca0  0d 11 93 05 cd 0d 11 94  20 e7 20 bb 24 28 74 65  |........ . .$(te|
00018cb0  6e 73 69 6f 6e 5f 73 71  5f 77 69 64 74 68 25 29  |nsion_sq_width%)|
00018cc0  3c 3e 30 20 8c 0d 11 95  34 24 74 65 6e 73 69 6f  |<>0 ....4$tensio|
00018cd0  6e 5f 73 71 5f 77 69 64  74 68 25 3d a4 71 28 6d  |n_sq_width%=.q(m|
00018ce0  75 6c 74 69 2c bb 24 74  65 6e 73 69 6f 6e 5f 73  |ulti,.$tension_s|
00018cf0  71 5f 77 69 64 74 68 25  29 0d 11 96 15 f2 66 65  |q_width%).....fe|
00018d00  28 6d 61 69 6e 25 2c 31  35 2c 30 2c 30 29 0d 11  |(main%,15,0,0)..|
00018d10  97 05 cd 0d 11 98 21 e7  20 bb 24 28 74 65 6e 73  |......!. .$(tens|
00018d20  69 6f 6e 5f 73 71 5f 68  65 69 67 68 74 25 29 3c  |ion_sq_height%)<|
00018d30  3e 30 20 8c 0d 11 99 36  24 74 65 6e 73 69 6f 6e  |>0 ....6$tension|
00018d40  5f 73 71 5f 68 65 69 67  68 74 25 3d a4 71 28 6d  |_sq_height%=.q(m|
00018d50  75 6c 74 69 2c bb 24 74  65 6e 73 69 6f 6e 5f 73  |ulti,.$tension_s|
00018d60  71 5f 68 65 69 67 68 74  25 29 0d 11 9a 15 f2 66  |q_height%).....f|
00018d70  65 28 6d 61 69 6e 25 2c  31 36 2c 30 2c 30 29 0d  |e(main%,16,0,0).|
00018d80  11 9b 05 cd 0d 11 9c 19  e7 20 bb 24 28 63 6f 6e  |......... .$(con|
00018d90  76 5f 72 6f 77 73 25 29  3c 3e 30 20 8c 0d 11 9d  |v_rows%)<>0 ....|
00018da0  26 24 63 6f 6e 76 5f 72  6f 77 73 25 3d a4 71 28  |&$conv_rows%=.q(|
00018db0  6d 75 6c 74 69 2c bb 24  63 6f 6e 76 5f 72 6f 77  |multi,.$conv_row|
00018dc0  73 25 29 0d 11 9e 15 f2  66 65 28 6d 61 69 6e 25  |s%).....fe(main%|
00018dd0  2c 31 39 2c 30 2c 30 29  0d 11 9f 05 cd 0d 11 a0  |,19,0,0)........|
00018de0  1d e7 20 bb 24 28 63 6f  6e 76 5f 73 74 69 74 63  |.. .$(conv_stitc|
00018df0  68 65 73 25 29 3c 3e 30  20 8c 0d 11 a1 2e 24 63  |hes%)<>0 .....$c|
00018e00  6f 6e 76 5f 73 74 69 74  63 68 65 73 25 3d a4 71  |onv_stitches%=.q|
00018e10  28 6d 75 6c 74 69 2c bb  24 63 6f 6e 76 5f 73 74  |(multi,.$conv_st|
00018e20  69 74 63 68 65 73 25 29  0d 11 a2 15 f2 66 65 28  |itches%).....fe(|
00018e30  6d 61 69 6e 25 2c 32 31  2c 30 2c 30 29 0d 11 a3  |main%,21,0,0)...|
00018e40  05 cd 0d 11 a4 17 e7 20  bb 24 28 67 68 65 69 67  |....... .$(gheig|
00018e50  68 74 25 29 3c 3e 30 20  8c 0d 11 a5 25 24 67 68  |ht%)<>0 ....%$gh|
00018e60  65 69 67 68 74 25 3d c0  c3 28 6d 75 6c 74 69 2a  |eight%=..(multi*|
00018e70  bb 24 67 68 65 69 67 68  74 25 29 2c 35 29 0d 11  |.$gheight%),5)..|
00018e80  a6 15 f2 66 65 28 6d 61  69 6e 25 2c 33 31 2c 30  |...fe(main%,31,0|
00018e90  2c 30 29 0d 11 a7 05 cd  0d 11 a8 16 e7 20 bb 24  |,0).......... .$|
00018ea0  28 67 77 69 64 74 68 25  29 3c 3e 30 20 8c 0d 11  |(gwidth%)<>0 ...|
00018eb0  a9 23 24 67 77 69 64 74  68 25 3d c0 c3 28 6d 75  |.#$gwidth%=..(mu|
00018ec0  6c 74 69 2a bb 24 67 77  69 64 74 68 25 29 2c 35  |lti*.$gwidth%),5|
00018ed0  29 0d 11 aa 15 f2 66 65  28 6d 61 69 6e 25 2c 33  |).....fe(main%,3|
00018ee0  32 2c 30 2c 30 29 0d 11  ab 05 cd 0d 11 ac 5f e7  |2,0,0)........_.|
00018ef0  20 bb 24 28 74 65 6e 73  69 6f 6e 5f 73 71 5f 73  | .$(tension_sq_s|
00018f00  74 69 74 63 68 65 73 25  29 3c 3e 30 20 8c 20 73  |titches%)<>0 . s|
00018f10  74 69 74 63 68 5f 77 69  64 74 68 3d bb 24 28 74  |titch_width=.$(t|
00018f20  65 6e 73 69 6f 6e 5f 73  71 5f 77 69 64 74 68 25  |ension_sq_width%|
00018f30  29 2f bb 24 28 74 65 6e  73 69 6f 6e 5f 73 71 5f  |)/.$(tension_sq_|
00018f40  73 74 69 74 63 68 65 73  25 29 0d 11 ad 56 e7 20  |stitches%)...V. |
00018f50  bb 24 28 74 65 6e 73 69  6f 6e 5f 73 71 5f 72 6f  |.$(tension_sq_ro|
00018f60  77 73 25 29 3c 3e 30 20  8c 20 72 6f 77 5f 68 65  |ws%)<>0 . row_he|
00018f70  69 67 68 74 3d bb 24 28  74 65 6e 73 69 6f 6e 5f  |ight=.$(tension_|
00018f80  73 71 5f 68 65 69 67 68  74 25 29 2f bb 24 28 74  |sq_height%)/.$(t|
00018f90  65 6e 73 69 6f 6e 5f 73  71 5f 72 6f 77 73 25 29  |ension_sq_rows%)|
00018fa0  0d 11 ae 05 e1 0d 11 af  05 3a 0d 11 b0 09 dd 20  |.........:..... |
00018fb0  f2 6e 61 0d 11 b1 10 c8  8e 20 6d 61 6e 6e 65 72  |.na...... manner|
00018fc0  25 20 ca 0d 11 b2 07 c9  20 30 0d 11 b3 1d 73 74  |% ...... 0....st|
00018fd0  69 74 63 68 77 69 64 74  68 3d a4 66 28 bb 24 67  |itchwidth=.f(.$g|
00018fe0  77 69 64 74 68 25 29 0d  11 b4 18 72 6f 77 68 74  |width%)....rowht|
00018ff0  3d a4 66 28 bb 24 67 68  65 69 67 68 74 25 29 0d  |=.f(.$gheight%).|
00019000  11 b5 1f 73 74 69 74 63  68 77 69 64 74 68 25 3d  |...stitchwidth%=|
00019010  a8 28 73 74 69 74 63 68  77 69 64 74 68 29 0d 11  |.(stitchwidth)..|
00019020  b6 13 72 6f 77 68 74 25  3d a8 28 72 6f 77 68 74  |..rowht%=.(rowht|
00019030  29 0d 11 b7 1b 67 72 69  64 77 69 64 74 68 25 3d  |)....gridwidth%=|
00019040  bb 24 67 73 74 69 74 63  68 65 73 25 0d 11 b8 18  |.$gstitches%....|
00019050  67 72 69 64 68 65 69 67  68 74 25 3d bb 24 67 72  |gridheight%=.$gr|
00019060  6f 77 73 25 0d 11 b9 08  67 25 3d 30 0d 11 ba 07  |ows%....g%=0....|
00019070  c9 20 31 0d 11 bb 23 67  72 69 64 77 69 64 74 68  |. 1...#gridwidth|
00019080  25 3d bb 24 61 6e 73 5f  63 6f 6e 76 5f 73 74 69  |%=.$ans_conv_sti|
00019090  74 63 68 65 73 25 0d 11  bc 20 67 72 69 64 68 65  |tches%... gridhe|
000190a0  69 67 68 74 25 3d bb 24  61 6e 73 5f 63 6f 6e 76  |ight%=.$ans_conv|
000190b0  5f 72 6f 77 73 25 0d 11  bd 20 73 74 69 74 63 68  |_rows%... stitch|
000190c0  77 69 64 74 68 3d a4 66  28 73 74 69 74 63 68 5f  |width=.f(stitch_|
000190d0  77 69 64 74 68 29 0d 11  be 18 72 6f 77 68 74 3d  |width)....rowht=|
000190e0  a4 66 28 72 6f 77 5f 68  65 69 67 68 74 29 0d 11  |.f(row_height)..|
000190f0  bf 1f 73 74 69 74 63 68  77 69 64 74 68 25 3d a8  |..stitchwidth%=.|
00019100  28 73 74 69 74 63 68 77  69 64 74 68 29 0d 11 c0  |(stitchwidth)...|
00019110  13 72 6f 77 68 74 25 3d  a8 28 72 6f 77 68 74 29  |.rowht%=.(rowht)|
00019120  0d 11 c1 08 67 25 3d 30  0d 11 c2 05 cb 0d 11 c3  |....g%=0........|
00019130  27 73 74 77 25 3d a8 28  28 73 74 69 74 63 68 77  |'stw%=.((stitchw|
00019140  69 64 74 68 2a 65 64 6d  75 6c 25 29 2f 65 64 64  |idth*edmul%)/edd|
00019150  69 76 25 29 0d 11 c4 21  72 68 74 25 3d a8 28 28  |iv%)...!rht%=.((|
00019160  72 6f 77 68 74 2a 65 64  6d 75 6c 25 29 2f 65 64  |rowht*edmul%)/ed|
00019170  64 69 76 25 29 0d 11 c5  05 e1 0d 11 c6 05 3a 0d  |div%).........:.|
00019180  11 c7 1e dd 20 f2 6a 62  28 73 70 72 69 74 65 24  |.... .jb(sprite$|
00019190  2c 69 63 6f 6e 25 2c 77  68 61 6e 25 29 0d 11 c8  |,icon%,whan%)...|
000191a0  0d ea 20 6f 78 25 2c 6f  79 25 0d 11 c9 11 21 62  |.. ox%,oy%....!b|
000191b0  6c 6f 63 6b 25 3d 77 68  61 6e 25 0d 11 ca 18 c8  |lock%=whan%.....|
000191c0  99 20 26 30 30 30 34 30  30 43 42 2c 2c 62 6c 6f  |. &000400CB,,blo|
000191d0  63 6b 25 0d 11 cb 1a 6f  78 25 3d 62 6c 6f 63 6b  |ck%....ox%=block|
000191e0  25 21 34 2d 62 6c 6f 63  6b 25 21 32 30 0d 11 cc  |%!4-block%!20...|
000191f0  1b 6f 79 25 3d 62 6c 6f  63 6b 25 21 31 36 2d 62  |.oy%=block%!16-b|
00019200  6c 6f 63 6b 25 21 32 34  0d 11 cd 12 62 6c 6f 63  |lock%!24....bloc|
00019210  6b 25 21 34 3d 69 63 6f  6e 25 0d 11 ce 18 c8 99  |k%!4=icon%......|
00019220  20 26 30 30 30 34 30 30  43 45 2c 2c 62 6c 6f 63  | &000400CE,,bloc|
00019230  6b 25 0d 11 cf 19 62 6c  6f 63 6b 25 21 38 3d 6f  |k%....block%!8=o|
00019240  78 25 2b 62 6c 6f 63 6b  25 21 38 0d 11 d0 1b 62  |x%+block%!8....b|
00019250  6c 6f 63 6b 25 21 31 32  3d 6f 79 25 2b 62 6c 6f  |lock%!12=oy%+blo|
00019260  63 6b 25 21 31 32 0d 11  d1 1b 62 6c 6f 63 6b 25  |ck%!12....block%|
00019270  21 31 36 3d 6f 78 25 2b  62 6c 6f 63 6b 25 21 31  |!16=ox%+block%!1|
00019280  36 0d 11 d2 1b 62 6c 6f  63 6b 25 21 32 30 3d 6f  |6....block%!20=o|
00019290  79 25 2b 62 6c 6f 63 6b  25 21 32 30 0d 11 d3 2c  |y%+block%!20...,|
000192a0  c8 99 26 30 30 30 34 32  34 30 30 2c 25 31 31 30  |..&00042400,%110|
000192b0  30 30 31 30 31 2c 31 2c  73 70 72 69 74 65 24 2c  |00101,1,sprite$,|
000192c0  62 6c 6f 63 6b 25 2b 38  0d 11 d4 05 e1 0d 11 d5  |block%+8........|
000192d0  05 3a 0d 11 d6 10 dd 20  f2 69 65 28 74 79 70 65  |.:..... .ie(type|
000192e0  25 29 0d 11 d7 0e c8 8e  20 74 79 70 65 25 20 ca  |%)...... type% .|
000192f0  0d 11 d8 07 c9 20 31 0d  11 d9 04 0d 11 da 16 73  |..... 1........s|
00019300  61 76 65 62 6f 78 25 3d  73 61 76 65 70 6c 75 73  |avebox%=saveplus|
00019310  25 0d 11 db 49 21 62 6c  6f 63 6b 25 3d 73 61 76  |%...I!block%=sav|
00019320  65 62 6f 78 25 3a 62 6c  6f 63 6b 25 21 34 3d 30  |ebox%:block%!4=0|
00019330  3a 20 c8 99 20 26 30 30  30 34 30 30 43 45 2c 2c  |: .. &000400CE,,|
00019340  62 6c 6f 63 6b 25 3a 20  73 61 76 65 73 70 72 25  |block%: savespr%|
00019350  3d 62 6c 6f 63 6b 25 21  33 32 0d 11 dc 1c 73 61  |=block%!32....sa|
00019360  76 65 70 61 74 68 25 3d  a4 69 28 73 61 76 65 62  |vepath%=.i(saveb|
00019370  6f 78 25 2c 31 29 0d 11  dd 19 24 73 61 76 65 73  |ox%,1)....$saves|
00019380  70 72 25 3d 22 53 66 69  6c 65 5f 41 46 46 22 0d  |pr%="Sfile_AFF".|
00019390  11 de 0f 66 74 79 70 65  25 3d 26 41 46 46 0d 11  |...ftype%=&AFF..|
000193a0  df 1c 73 61 76 65 74 79  70 65 25 3d 31 3a 20 64  |..savetype%=1: d|
000193b0  72 61 67 74 79 70 65 25  3d 30 0d 11 e0 0d 66 73  |ragtype%=0....fs|
000193c0  69 7a 65 25 3d 39 39 0d  11 e1 41 e7 20 64 72 61  |ize%=99...A. dra|
000193d0  77 5f 66 69 6c 65 24 3d  22 22 20 8c 20 24 73 61  |w_file$="" . $sa|
000193e0  76 65 70 61 74 68 25 3d  22 52 65 73 75 6c 74 22  |vepath%="Result"|
000193f0  20 8b 20 24 73 61 76 65  70 61 74 68 25 3d 64 72  | . $savepath%=dr|
00019400  61 77 5f 66 69 6c 65 24  0d 11 e2 1b 24 73 61 76  |aw_file$....$sav|
00019410  65 6f 6e 65 25 3d 22 41  64 64 20 68 65 61 64 69  |eone%="Add headi|
00019420  6e 67 22 0d 11 e3 1a 24  73 61 76 65 74 77 6f 25  |ng"....$savetwo%|
00019430  3d 22 41 64 64 20 52 75  6c 65 72 73 22 0d 11 e4  |="Add Rulers"...|
00019440  4f e7 20 64 72 61 77 68  65 61 64 65 72 25 3d b9  |O. drawheader%=.|
00019450  20 8c 20 f2 66 65 28 73  61 76 65 62 6f 78 25 2c  | . .fe(savebox%,|
00019460  34 2c 31 3c 3c 32 31 2c  31 3c 3c 32 31 29 20 8b  |4,1<<21,1<<21) .|
00019470  20 f2 66 65 28 73 61 76  65 62 6f 78 25 2c 34 2c  | .fe(savebox%,4,|
00019480  30 3c 3c 32 31 2c 31 3c  3c 32 31 29 0d 11 e5 4f  |0<<21,1<<21)...O|
00019490  e7 20 64 72 61 77 72 75  6c 65 72 73 25 3d b9 20  |. drawrulers%=. |
000194a0  8c 20 f2 66 65 28 73 61  76 65 62 6f 78 25 2c 35  |. .fe(savebox%,5|
000194b0  2c 31 3c 3c 32 31 2c 31  3c 3c 32 31 29 20 8b 20  |,1<<21,1<<21) . |
000194c0  f2 66 65 28 73 61 76 65  62 6f 78 25 2c 35 2c 30  |.fe(savebox%,5,0|
000194d0  3c 3c 32 31 2c 31 3c 3c  32 31 29 0d 11 e6 07 c9  |<<21,1<<21).....|
000194e0  20 32 0d 11 e7 04 0d 11  e8 16 73 61 76 65 62 6f  | 2........savebo|
000194f0  78 25 3d 73 61 76 65 70  6c 75 73 25 0d 11 e9 49  |x%=saveplus%...I|
00019500  21 62 6c 6f 63 6b 25 3d  73 61 76 65 62 6f 78 25  |!block%=savebox%|
00019510  3a 62 6c 6f 63 6b 25 21  34 3d 30 3a 20 c8 99 20  |:block%!4=0: .. |
00019520  26 30 30 30 34 30 30 43  45 2c 2c 62 6c 6f 63 6b  |&000400CE,,block|
00019530  25 3a 20 73 61 76 65 73  70 72 25 3d 62 6c 6f 63  |%: savespr%=bloc|
00019540  6b 25 21 33 32 0d 11 ea  1c 73 61 76 65 70 61 74  |k%!32....savepat|
00019550  68 25 3d a4 69 28 73 61  76 65 62 6f 78 25 2c 31  |h%=.i(savebox%,1|
00019560  29 0d 11 eb 19 24 73 61  76 65 73 70 72 25 3d 22  |)....$savespr%="|
00019570  53 66 69 6c 65 5f 46 46  46 22 0d 11 ec 0f 66 74  |Sfile_FFF"....ft|
00019580  79 70 65 25 3d 26 46 46  46 0d 11 ed 1c 73 61 76  |ype%=&FFF....sav|
00019590  65 74 79 70 65 25 3d 32  3a 20 64 72 61 67 74 79  |etype%=2: dragty|
000195a0  70 65 25 3d 30 0d 11 ee  0d 66 73 69 7a 65 25 3d  |pe%=0....fsize%=|
000195b0  39 39 0d 11 ef 1c 24 73  61 76 65 70 61 74 68 25  |99....$savepath%|
000195c0  3d 70 61 74 74 65 72 6e  5f 66 69 6c 65 24 0d 11  |=pattern_file$..|
000195d0  f0 1a 24 73 61 76 65 6f  6e 65 25 3d 22 50 6c 61  |..$saveone%="Pla|
000195e0  69 6e 20 74 65 78 74 22  0d 11 f1 1c 24 73 61 76  |in text"....$sav|
000195f0  65 74 77 6f 25 3d 22 41  64 76 61 6e 63 65 20 74  |etwo%="Advance t|
00019600  65 78 74 22 0d 11 f2 14  e7 20 70 6c 61 69 6e 74  |ext"..... plaint|
00019610  65 78 74 25 3d b9 20 8c  0d 11 f3 1f f2 66 65 28  |ext%=. ......fe(|
00019620  73 61 76 65 62 6f 78 25  2c 34 2c 31 3c 3c 32 31  |savebox%,4,1<<21|
00019630  2c 31 3c 3c 32 31 29 0d  11 f4 1f f2 66 65 28 73  |,1<<21).....fe(s|
00019640  61 76 65 62 6f 78 25 2c  35 2c 30 3c 3c 32 31 2c  |avebox%,5,0<<21,|
00019650  31 3c 3c 32 31 29 0d 11  f5 05 cc 0d 11 f6 1f f2  |1<<21)..........|
00019660  66 65 28 73 61 76 65 62  6f 78 25 2c 34 2c 30 3c  |fe(savebox%,4,0<|
00019670  3c 32 31 2c 31 3c 3c 32  31 29 0d 11 f7 1f f2 66  |<21,1<<21).....f|
00019680  65 28 73 61 76 65 62 6f  78 25 2c 35 2c 31 3c 3c  |e(savebox%,5,1<<|
00019690  32 31 2c 31 3c 3c 32 31  29 0d 11 f8 05 cd 0d 11  |21,1<<21).......|
000196a0  f9 07 c9 20 33 0d 11 fa  04 0d 11 fb 12 73 61 76  |... 3........sav|
000196b0  65 62 6f 78 25 3d 73 61  76 65 25 0d 11 fc 49 21  |ebox%=save%...I!|
000196c0  62 6c 6f 63 6b 25 3d 73  61 76 65 62 6f 78 25 3a  |block%=savebox%:|
000196d0  62 6c 6f 63 6b 25 21 34  3d 30 3a 20 c8 99 20 26  |block%!4=0: .. &|
000196e0  30 30 30 34 30 30 43 45  2c 2c 62 6c 6f 63 6b 25  |000400CE,,block%|
000196f0  3a 20 73 61 76 65 73 70  72 25 3d 62 6c 6f 63 6b  |: savespr%=block|
00019700  25 21 33 32 0d 11 fd 1c  73 61 76 65 70 61 74 68  |%!32....savepath|
00019710  25 3d a4 69 28 73 61 76  65 62 6f 78 25 2c 31 29  |%=.i(savebox%,1)|
00019720  0d 11 fe 19 24 73 61 76  65 73 70 72 25 3d 22 53  |....$savespr%="S|
00019730  66 69 6c 65 5f 30 46 30  22 0d 11 ff 1a 24 73 61  |file_0F0"....$sa|
00019740  76 65 70 61 74 68 25 3d  73 74 61 74 65 5f 66 69  |vepath%=state_fi|
00019750  6c 65 24 0d 12 00 0f 66  74 79 70 65 25 3d 26 30  |le$....ftype%=&0|
00019760  46 30 0d 12 01 1c 73 61  76 65 74 79 70 65 25 3d  |F0....savetype%=|
00019770  33 3a 20 64 72 61 67 74  79 70 65 25 3d 30 0d 12  |3: dragtype%=0..|
00019780  02 0d 66 73 69 7a 65 25  3d 39 39 0d 12 03 05 cb  |..fsize%=99.....|
00019790  0d 12 04 05 e1 0d 12 05  05 3a 0d 12 06 09 dd 20  |.........:..... |
000197a0  f2 74 64 0d 12 07 18 e7  20 a7 24 73 61 76 65 70  |.td..... .$savep|
000197b0  61 74 68 25 2c 22 2e 22  29 20 8c 0d 12 08 13 f2  |ath%,".") ......|
000197c0  62 65 28 24 73 61 76 65  70 61 74 68 25 29 0d 12  |be($savepath%)..|
000197d0  09 05 cc 0d 12 0a 37 f2  77 64 28 22 54 6f 20 73  |......7.wd("To s|
000197e0  61 76 65 2c 20 64 72 61  67 20 74 68 65 20 69 63  |ave, drag the ic|
000197f0  6f 6e 20 74 6f 20 61 20  64 69 72 65 63 74 6f 72  |on to a director|
00019800  79 20 76 69 65 77 65 72  22 29 0d 12 0b 05 cd 0d  |y viewer")......|
00019810  12 0c 05 e1 0d 12 0d 05  3a 0d 12 0e 11 dd 20 f2  |........:..... .|
00019820  62 65 28 66 6e 61 6d 65  24 29 0d 12 0f 12 c8 8e  |be(fname$)......|
00019830  20 73 61 76 65 74 79 70  65 25 20 ca 0d 12 10 07  | savetype% .....|
00019840  c9 20 31 0d 12 11 07 f2  7a 63 0d 12 12 26 e7 20  |. 1.....zc...&. |
00019850  62 6c 6f 63 6b 25 21 33  36 3e 2d 31 20 8c 20 64  |block%!36>-1 . d|
00019860  72 61 77 5f 66 69 6c 65  24 3d 66 6e 61 6d 65 24  |raw_file$=fname$|
00019870  0d 12 13 16 f2 61 65 28  66 6e 61 6d 65 24 2c 64  |.....ae(fname$,d|
00019880  66 69 6c 65 25 29 0d 12  14 15 64 66 69 6c 65 25  |file%)....dfile%|
00019890  3d a4 68 28 64 66 69 6c  65 25 29 0d 12 15 26 e7  |=.h(dfile%)...&.|
000198a0  20 a4 6e 28 65 64 69 74  6d 65 6e 75 25 2c 30 29  | .n(editmenu%,0)|
000198b0  20 8c 20 f2 74 65 28 30  29 3a 20 f2 72 65 28 36  | . .te(0): .re(6|
000198c0  29 0d 12 16 26 e7 20 a4  6e 28 65 64 69 74 6d 65  |)...&. .n(editme|
000198d0  6e 75 25 2c 31 29 20 8c  20 f2 74 65 28 30 29 3a  |nu%,1) . .te(0):|
000198e0  20 f2 72 65 28 36 29 0d  12 17 07 c9 20 32 0d 12  | .re(6)..... 2..|
000198f0  18 29 e7 20 62 6c 6f 63  6b 25 21 33 36 3e 2d 31  |.). block%!36>-1|
00019900  20 8c 20 70 61 74 74 65  72 6e 5f 66 69 6c 65 24  | . pattern_file$|
00019910  3d 66 6e 61 6d 65 24 0d  12 19 14 e7 20 70 6c 61  |=fname$..... pla|
00019920  69 6e 74 65 78 74 25 3d  b9 20 8c 0d 12 1a 0f f2  |intext%=. ......|
00019930  62 64 28 66 6e 61 6d 65  24 29 0d 12 1b 05 cc 0d  |bd(fname$)......|
00019940  12 1c 0f f2 77 63 28 66  6e 61 6d 65 24 29 0d 12  |....wc(fname$)..|
00019950  1d 05 cd 0d 12 1e 07 c9  20 33 0d 12 1f 27 e7 20  |........ 3...'. |
00019960  62 6c 6f 63 6b 25 21 33  36 3e 2d 31 20 8c 20 73  |block%!36>-1 . s|
00019970  74 61 74 65 5f 66 69 6c  65 24 3d 66 6e 61 6d 65  |tate_file$=fname|
00019980  24 0d 12 20 0f f2 63 65  28 66 6e 61 6d 65 24 29  |$.. ..ce(fname$)|
00019990  0d 12 21 05 cb 0d 12 22  11 e7 20 ac 20 61 64 6a  |..!....".. . adj|
000199a0  75 73 74 25 20 8c 0d 12  23 14 21 62 6c 6f 63 6b  |ust% ...#.!block|
000199b0  25 3d 73 61 76 65 62 6f  78 25 0d 12 24 18 c8 99  |%=savebox%..$...|
000199c0  20 26 30 30 30 34 30 30  43 36 2c 2c 62 6c 6f 63  | &000400C6,,bloc|
000199d0  6b 25 0d 12 25 14 c8 99  20 26 30 30 30 34 30 30  |k%..%... &000400|
000199e0  44 34 2c 2c 2d 31 0d 12  26 05 cd 0d 12 27 05 e1  |D4,,-1..&....'..|
000199f0  0d 12 28 05 3a 0d 12 29  09 dd 20 f2 6c 63 0d 12  |..(.:..).. .lc..|
00019a00  2a 0f c8 99 26 30 30 30  34 32 34 30 31 0d 12 2b  |*...&00042401..+|
00019a10  18 c8 99 20 26 30 30 30  34 30 30 43 46 2c 2c 62  |... &000400CF,,b|
00019a20  6c 6f 63 6b 25 0d 12 2c  17 62 6c 6f 63 6b 25 21  |lock%..,.block%!|
00019a30  32 30 3d 62 6c 6f 63 6b  25 21 31 32 0d 12 2d 17  |20=block%!12..-.|
00019a40  62 6c 6f 63 6b 25 21 32  34 3d 62 6c 6f 63 6b 25  |block%!24=block%|
00019a50  21 31 36 0d 12 2e 16 62  6c 6f 63 6b 25 21 32 38  |!16....block%!28|
00019a60  3d 62 6c 6f 63 6b 25 21  30 0d 12 2f 16 62 6c 6f  |=block%!0../.blo|
00019a70  63 6b 25 21 33 32 3d 62  6c 6f 63 6b 25 21 34 0d  |ck%!32=block%!4.|
00019a80  12 30 14 62 6c 6f 63 6b  25 21 33 36 3d 66 73 69  |.0.block%!36=fsi|
00019a90  7a 65 25 0d 12 31 1b 62  6c 6f 63 6b 25 21 30 3d  |ze%..1.block%!0=|
00019aa0  36 34 3a 62 6c 6f 63 6b  25 21 31 32 3d 30 0d 12  |64:block%!12=0..|
00019ab0  32 20 62 6c 6f 63 6b 25  21 31 36 3d 31 3a 62 6c  |2 block%!16=1:bl|
00019ac0  6f 63 6b 25 21 34 30 3d  66 74 79 70 65 25 0d 12  |ock%!40=ftype%..|
00019ad0  33 1f 24 28 62 6c 6f 63  6b 25 2b 34 34 29 3d a4  |3.$(block%+44)=.|
00019ae0  6a 28 24 73 61 76 65 70  61 74 68 25 29 0d 12 34  |j($savepath%)..4|
00019af0  2e c8 99 20 26 30 30 30  34 30 30 45 37 2c 31 37  |... &000400E7,17|
00019b00  2c 62 6c 6f 63 6b 25 2c  62 6c 6f 63 6b 25 21 32  |,block%,block%!2|
00019b10  30 2c 62 6c 6f 63 6b 25  21 32 34 0d 12 35 05 e1  |0,block%!24..5..|
00019b20  0d 12 36 05 3a 0d 12 37  09 dd 20 f2 6f 63 0d 12  |..6.:..7.. .oc..|
00019b30  38 16 62 6c 6f 63 6b 25  21 31 32 3d 62 6c 6f 63  |8.block%!12=bloc|
00019b40  6b 25 21 38 0d 12 39 0f  62 6c 6f 63 6b 25 21 31  |k%!8..9.block%!1|
00019b50  36 3d 34 0d 12 3a 23 c8  99 20 26 30 30 30 34 30  |6=4..:#.. &00040|
00019b60  30 45 37 2c 31 37 2c 62  6c 6f 63 6b 25 2c 62 6c  |0E7,17,block%,bl|
00019b70  6f 63 6b 25 21 34 0d 12  3b 05 e1 0d 12 3c 05 3a  |ock%!4..;....<.:|
00019b80  0d 12 3d 0f dd 20 a4 6b  28 6e 61 6d 65 24 29 0d  |..=.. .k(name$).|
00019b90  12 3e 12 c8 95 20 a7 6e  61 6d 65 24 2c 22 2e 22  |.>... .name$,"."|
00019ba0  29 0d 12 3f 1f 6e 61 6d  65 24 3d c1 6e 61 6d 65  |)..?.name$=.name|
00019bb0  24 2c a7 6e 61 6d 65 24  2c 22 2e 22 29 2b 31 29  |$,.name$,".")+1)|
00019bc0  0d 12 40 05 ce 0d 12 41  0a 3d 6e 61 6d 65 24 0d  |..@....A.=name$.|
00019bd0  12 42 05 3a 0d 12 43 0f  dd 20 a4 6a 28 6e 61 6d  |.B.:..C.. .j(nam|
00019be0  65 24 29 0d 12 44 12 c8  95 20 a7 6e 61 6d 65 24  |e$)..D... .name$|
00019bf0  2c 22 2e 22 29 0d 12 45  1f 6e 61 6d 65 24 3d c1  |,".")..E.name$=.|
00019c00  6e 61 6d 65 24 2c a7 6e  61 6d 65 24 2c 22 2e 22  |name$,.name$,"."|
00019c10  29 2b 31 29 0d 12 46 05  ce 0d 12 47 0f 3d 6e 61  |)+1)..F....G.=na|
00019c20  6d 65 24 2b bd 28 30 29  0d 12 48 05 3a 0d 12 49  |me$+.(0)..H.:..I|
00019c30  09 dd 20 f2 65 62 0d 12  4a 1b ea 20 62 25 2c 61  |.. .eb..J.. b%,a|
00019c40  25 2c 77 6f 72 64 25 2c  66 75 6c 6c 6e 61 6d 65  |%,word%,fullname|
00019c50  24 0d 12 4b 10 66 75 6c  6c 6e 61 6d 65 24 3d 22  |$..K.fullname$="|
00019c60  22 0d 12 4c 3f e3 20 77  6f 72 64 25 3d 30 20 b8  |"..L?. word%=0 .|
00019c70  20 35 30 38 20 88 20 34  3a 62 6c 6f 63 6b 25 21  | 508 . 4:block%!|
00019c80  28 35 31 32 2b 77 6f 72  64 25 29 3d 62 6c 6f 63  |(512+word%)=bloc|
00019c90  6b 25 21 77 6f 72 64 25  3a ed 20 77 6f 72 64 25  |k%!word%:. word%|
00019ca0  0d 12 4d 08 61 25 3d 30  0d 12 4e 15 62 25 3d 62  |..M.a%=0..N.b%=b|
00019cb0  6c 6f 63 6b 25 3f 28 34  34 2b 61 25 29 0d 12 4f  |lock%?(44+a%)..O|
00019cc0  0c c8 95 20 62 25 3c 3e  30 0d 12 50 14 66 75 6c  |... b%<>0..P.ful|
00019cd0  6c 6e 61 6d 65 24 2b 3d  bd 28 62 25 29 0d 12 51  |lname$+=.(b%)..Q|
00019ce0  09 61 25 2b 3d 31 0d 12  52 15 62 25 3d 62 6c 6f  |.a%+=1..R.b%=blo|
00019cf0  63 6b 25 3f 28 34 34 2b  61 25 29 0d 12 53 05 ce  |ck%?(44+a%)..S..|
00019d00  0d 12 54 14 e7 20 62 6c  6f 63 6b 25 21 33 36 3e  |..T.. block%!36>|
00019d10  2d 31 20 8c 0d 12 55 18  24 73 61 76 65 70 61 74  |-1 ...U.$savepat|
00019d20  68 25 3d 66 75 6c 6c 6e  61 6d 65 24 0d 12 56 17  |h%=fullname$..V.|
00019d30  f2 66 65 28 73 61 76 65  62 6f 78 25 2c 31 2c 30  |.fe(savebox%,1,0|
00019d40  2c 30 29 0d 12 57 1f f2  6f 61 28 73 61 76 65 62  |,0)..W..oa(saveb|
00019d50  6f 78 25 2c 31 2c a9 24  73 61 76 65 70 61 74 68  |ox%,1,.$savepath|
00019d60  25 29 0d 12 58 05 cd 0d  12 59 12 f2 62 65 28 66  |%)..X....Y..be(f|
00019d70  75 6c 6c 6e 61 6d 65 24  29 0d 12 5a 3f e3 20 77  |ullname$)..Z?. w|
00019d80  6f 72 64 25 3d 30 20 b8  20 35 30 38 20 88 20 34  |ord%=0 . 508 . 4|
00019d90  3a 62 6c 6f 63 6b 25 21  77 6f 72 64 25 3d 62 6c  |:block%!word%=bl|
00019da0  6f 63 6b 25 21 28 35 31  32 2b 77 6f 72 64 25 29  |ock%!(512+word%)|
00019db0  3a ed 20 77 6f 72 64 25  0d 12 5b 16 62 6c 6f 63  |:. word%..[.bloc|
00019dc0  6b 25 21 31 32 3d 62 6c  6f 63 6b 25 21 38 0d 12  |k%!12=block%!8..|
00019dd0  5c 1b 62 6c 6f 63 6b 25  21 31 36 3d 33 3a 21 62  |\.block%!16=3:!b|
00019de0  6c 6f 63 6b 25 3d 32 35  36 0d 12 5d 2e c8 99 20  |lock%=256..]... |
00019df0  26 30 30 30 34 30 30 45  37 2c 31 38 2c 62 6c 6f  |&000400E7,18,blo|
00019e00  63 6b 25 2c 62 6c 6f 63  6b 25 21 32 30 2c 62 6c  |ck%,block%!20,bl|
00019e10  6f 63 6b 25 21 32 34 0d  12 5e 05 e1 0d 12 5f 05  |ock%!24..^...._.|
00019e20  3a 0d 12 60 19 dd 20 f2  68 65 28 6d 65 6e 75 25  |:..`.. .he(menu%|
00019e30  2c 6d 65 6e 75 6e 75 6d  25 29 0d 12 61 1f ea 20  |,menunum%)..a.. |
00019e40  6e 75 6d 25 2c 77 69 64  74 68 25 2c 70 74 72 25  |num%,width%,ptr%|
00019e50  2c 69 25 2c 69 74 65 6d  24 0d 12 62 07 ea 20 dc  |,i%,item$..b.. .|
00019e60  0d 12 63 08 f7 20 2b 31  0d 12 64 0d dc 20 4d 65  |..c.. +1..d.. Me|
00019e70  6e 75 23 2c 31 0d 12 65  0e dc 20 45 61 73 79 4b  |nu#,1..e.. EasyK|
00019e80  6e 69 74 0d 12 66 14 dc  20 26 30 30 2c 69 6e 66  |nit..f.. &00,inf|
00019e90  6f 25 2c 49 6e 66 6f 0d  12 67 12 dc 20 26 30 30  |o%,Info..g.. &00|
00019ea0  2c 2d 31 2c 43 6c 65 61  72 0d 12 68 11 dc 20 26  |,-1,Clear..h.. &|
00019eb0  38 30 2c 2d 31 2c 51 75  69 74 0d 12 69 0d dc 20  |80,-1,Quit..i.. |
00019ec0  4d 65 6e 75 23 2c 32 0d  12 6a 0a dc 20 53 61 76  |Menu#,2..j.. Sav|
00019ed0  65 0d 12 6b 17 dc 20 26  30 38 2c 73 61 76 65 62  |e..k.. &08,saveb|
00019ee0  6f 78 25 2c 44 72 61 77  0d 12 6c 1a dc 20 26 30  |ox%,Draw..l.. &0|
00019ef0  38 2c 73 61 76 65 62 6f  78 25 2c 50 61 74 74 65  |8,savebox%,Patte|
00019f00  72 6e 0d 12 6d 1b dc 20  26 38 38 2c 73 61 76 65  |rn..m.. &88,save|
00019f10  62 6f 78 25 2c 45 61 73  79 4b 6e 69 74 0d 12 6e  |box%,EasyKnit..n|
00019f20  0d dc 20 4d 65 6e 75 23  2c 33 0d 12 6f 0e dc 20  |.. Menu#,3..o.. |
00019f30  45 61 73 79 4b 6e 69 74  0d 12 70 1f dc 20 26 30  |EasyKnit..p.. &0|
00019f40  38 2c 70 61 74 74 65 72  6e 25 2c 50 72 6f 6a 65  |8,pattern%,Proje|
00019f50  63 74 20 49 6e 66 6f 0d  12 71 18 dc 20 26 30 30  |ct Info..q.. &00|
00019f60  2c 65 64 69 74 6d 65 6e  75 25 2c 4d 6f 64 65 0d  |,editmenu%,Mode.|
00019f70  12 72 19 dc 20 26 30 30  2c 75 6e 69 74 6d 65 6e  |.r.. &00,unitmen|
00019f80  75 25 2c 55 6e 69 74 73  0d 12 73 15 dc 20 26 38  |u%,Units..s.. &8|
00019f90  30 2c 73 6d 65 6e 75 25  2c 53 61 76 65 0d 12 74  |0,smenu%,Save..t|
00019fa0  0d dc 20 4d 65 6e 75 23  2c 34 0d 12 75 0a dc 20  |.. Menu#,4..u.. |
00019fb0  45 64 69 74 0d 12 76 15  dc 20 26 30 30 2c 73 6d  |Edit..v.. &00,sm|
00019fc0  65 6e 75 25 2c 53 61 76  65 0d 12 77 14 dc 20 26  |enu%,Save..w.. &|
00019fd0  30 38 2c 7a 6f 6f 6d 25  2c 5a 6f 6f 6d 0d 12 78  |08,zoom%,Zoom..x|
00019fe0  1d dc 20 26 30 38 2c 63  6f 6c 6d 65 6e 75 25 2c  |.. &08,colmenu%,|
00019ff0  47 72 69 64 20 4c 69 6e  65 73 0d 12 79 13 dc 20  |Grid Lines..y.. |
0001a000  26 30 30 2c 2d 31 2c 52  75 6c 65 72 73 0d 12 7a  |&00,-1,Rulers..z|
0001a010  19 dc 20 26 30 30 2c 2d  31 2c 53 68 6f 77 20 50  |.. &00,-1,Show P|
0001a020  69 63 74 75 72 65 0d 12  7b 1a dc 20 26 30 30 2c  |icture..{.. &00,|
0001a030  2d 31 2c 53 65 6c 65 63  74 20 43 6f 6c 6f 75 72  |-1,Select Colour|
0001a040  0d 12 7c 19 dc 20 26 30  30 2c 2d 31 2c 45 64 69  |..|.. &00,-1,Edi|
0001a050  74 20 43 6f 6c 6f 75 72  73 0d 12 7d 18 dc 20 26  |t Colours..}.. &|
0001a060  30 30 2c 6d 61 73 6b 6d  65 6e 75 25 2c 4d 61 73  |00,maskmenu%,Mas|
0001a070  6b 0d 12 7e 1d dc 20 26  30 38 2c 63 6f 6c 6d 65  |k..~.. &08,colme|
0001a080  6e 75 25 2c 42 61 63 6b  67 72 6f 75 6e 64 0d 12  |nu%,Background..|
0001a090  7f 1f dc 20 26 30 38 2c  70 61 74 74 65 72 6e 25  |... &08,pattern%|
0001a0a0  2c 50 72 6f 6a 65 63 74  20 49 6e 66 6f 0d 12 80  |,Project Info...|
0001a0b0  16 dc 20 26 38 38 2c 70  72 69 6e 74 25 2c 50 72  |.. &88,print%,Pr|
0001a0c0  69 6e 74 0d 12 81 0d dc  20 4d 65 6e 75 23 2c 35  |int..... Menu#,5|
0001a0d0  0d 12 82 0c dc 20 43 6f  6c 6f 75 72 0d 12 83 10  |..... Colour....|
0001a0e0  dc 20 26 30 30 2c 2d 31  2c 22 30 22 0d 12 84 10  |. &00,-1,"0"....|
0001a0f0  dc 20 26 30 30 2c 2d 31  2c 22 31 22 0d 12 85 10  |. &00,-1,"1"....|
0001a100  dc 20 26 30 30 2c 2d 31  2c 22 32 22 0d 12 86 10  |. &00,-1,"2"....|
0001a110  dc 20 26 30 30 2c 2d 31  2c 22 33 22 0d 12 87 10  |. &00,-1,"3"....|
0001a120  dc 20 26 30 30 2c 2d 31  2c 22 34 22 0d 12 88 10  |. &00,-1,"4"....|
0001a130  dc 20 26 30 30 2c 2d 31  2c 22 35 22 0d 12 89 10  |. &00,-1,"5"....|
0001a140  dc 20 26 30 30 2c 2d 31  2c 22 36 22 0d 12 8a 10  |. &00,-1,"6"....|
0001a150  dc 20 26 30 30 2c 2d 31  2c 22 37 22 0d 12 8b 10  |. &00,-1,"7"....|
0001a160  dc 20 26 30 30 2c 2d 31  2c 22 38 22 0d 12 8c 10  |. &00,-1,"8"....|
0001a170  dc 20 26 30 30 2c 2d 31  2c 22 39 22 0d 12 8d 11  |. &00,-1,"9"....|
0001a180  dc 20 26 30 30 2c 2d 31  2c 22 31 30 22 0d 12 8e  |. &00,-1,"10"...|
0001a190  11 dc 20 26 30 30 2c 2d  31 2c 22 31 31 22 0d 12  |.. &00,-1,"11"..|
0001a1a0  8f 11 dc 20 26 30 30 2c  2d 31 2c 22 31 32 22 0d  |... &00,-1,"12".|
0001a1b0  12 90 11 dc 20 26 30 30  2c 2d 31 2c 22 31 33 22  |.... &00,-1,"13"|
0001a1c0  0d 12 91 11 dc 20 26 30  30 2c 2d 31 2c 22 31 34  |..... &00,-1,"14|
0001a1d0  22 0d 12 92 11 dc 20 26  38 30 2c 2d 31 2c 22 31  |"..... &80,-1,"1|
0001a1e0  35 22 0d 12 93 0d dc 20  4d 65 6e 75 23 2c 36 0d  |5"..... Menu#,6.|
0001a1f0  12 94 0a dc 20 4d 61 73  6b 0d 12 95 21 dc 20 26  |.... Mask...!. &|
0001a200  30 30 2c 2d 31 2c 53 68  6f 77 20 6d 61 73 6b 65  |00,-1,Show maske|
0001a210  64 20 73 74 69 74 63 68  65 73 0d 12 96 18 dc 20  |d stitches..... |
0001a220  26 30 30 2c 2d 31 2c 52  65 6d 6f 76 65 20 6d 61  |&00,-1,Remove ma|
0001a230  73 6b 0d 12 97 1f dc 20  26 30 30 2c 2d 31 2c 41  |sk..... &00,-1,A|
0001a240  6c 6c 20 65 78 63 65 70  74 20 63 75 72 72 65 6e  |ll except curren|
0001a250  74 0d 12 98 19 dc 20 26  38 30 2c 2d 31 2c 4f 6e  |t..... &80,-1,On|
0001a260  6c 79 20 63 75 72 72 65  6e 74 0d 12 99 0d dc 20  |ly current..... |
0001a270  4d 65 6e 75 23 2c 37 0d  12 9a 0a dc 20 4d 6f 64  |Menu#,7..... Mod|
0001a280  65 0d 12 9b 16 dc 20 26  30 30 2c 2d 31 2c 47 72  |e..... &00,-1,Gr|
0001a290  69 64 20 6f 6e 6c 79 0d  12 9c 1d dc 20 26 30 30  |id only..... &00|
0001a2a0  2c 2d 31 2c 47 72 69 64  20 61 6e 64 20 70 69 63  |,-1,Grid and pic|
0001a2b0  74 75 72 65 0d 12 9d 16  dc 20 26 38 30 2c 2d 31  |ture..... &80,-1|
0001a2c0  2c 50 75 6e 63 68 63 61  72 64 0d 12 9e 0d dc 20  |,Punchcard..... |
0001a2d0  4d 65 6e 75 23 2c 38 0d  12 9f 0b dc 20 55 6e 69  |Menu#,8..... Uni|
0001a2e0  74 73 0d 12 a0 17 dc 20  26 30 30 2c 2d 31 2c 55  |ts..... &00,-1,U|
0001a2f0  73 65 20 69 6e 63 68 65  73 0d 12 a1 1c dc 20 26  |se inches..... &|
0001a300  38 30 2c 2d 31 2c 55 73  65 20 63 65 6e 74 69 6d  |80,-1,Use centim|
0001a310  65 74 65 72 73 0d 12 a2  0d dc 20 4d 65 6e 75 23  |eters..... Menu#|
0001a320  2c 39 0d 12 a3 0b dc 20  52 75 6c 65 72 0d 12 a4  |,9..... Ruler...|
0001a330  19 dc 20 26 38 38 2c 63  6f 6c 6d 65 6e 75 25 2c  |.. &88,colmenu%,|
0001a340  43 6f 6c 6f 75 72 0d 12  a5 05 f5 0d 12 a6 05 f5  |Colour..........|
0001a350  0d 12 a7 0b f3 20 69 74  65 6d 24 0d 12 a8 13 fd  |..... item$.....|
0001a360  20 69 74 65 6d 24 3d 22  4d 65 6e 75 23 22 0d 12  | item$="Menu#"..|
0001a370  a9 0a f3 20 6e 75 6d 25  0d 12 aa 13 fd 20 6e 75  |... num%..... nu|
0001a380  6d 25 3d 6d 65 6e 75 6e  75 6d 25 0d 12 ab 0c f3  |m%=menunum%.....|
0001a390  20 24 6d 65 6e 75 25 0d  12 ac 1b 77 69 64 74 68  | $menu%....width|
0001a3a0  25 3d 28 a9 28 24 6d 65  6e 75 25 29 2d 32 29 2a  |%=(.($menu%)-2)*|
0001a3b0  31 36 0d 12 ad 2d 6d 65  6e 75 25 21 31 32 3d 26  |16...-menu%!12=&|
0001a3c0  30 30 30 37 30 32 30 37  3a 6d 65 6e 75 25 21 32  |00070207:menu%!2|
0001a3d0  30 3d 34 34 3a 6d 65 6e  75 25 21 32 34 3d 30 0d  |0=44:menu%!24=0.|
0001a3e0  12 ae 11 70 74 72 25 3d  6d 65 6e 75 25 2b 32 38  |...ptr%=menu%+28|
0001a3f0  0d 12 af 05 f5 0d 12 b0  14 f3 20 21 70 74 72 25  |.......... !ptr%|
0001a400  3a f3 20 70 74 72 25 21  34 0d 12 b1 1b 70 74 72  |:. ptr%!4....ptr|
0001a410  25 21 38 3d 26 37 30 30  30 30 32 31 3a f3 20 69  |%!8=&7000021:. i|
0001a420  74 65 6d 24 0d 12 b2 35  e7 20 28 a9 28 69 74 65  |tem$...5. (.(ite|
0001a430  6d 24 29 2b 31 29 2a 31  36 3e 77 69 64 74 68 25  |m$)+1)*16>width%|
0001a440  20 8c 20 77 69 64 74 68  25 3d 28 a9 28 69 74 65  | . width%=(.(ite|
0001a450  6d 24 29 2b 31 29 2a 31  36 0d 12 b3 13 e7 20 a9  |m$)+1)*16..... .|
0001a460  28 69 74 65 6d 24 29 3c  31 32 20 8c 0d 12 b4 14  |(item$)<12 .....|
0001a470  24 28 70 74 72 25 2b 31  32 29 3d 69 74 65 6d 24  |$(ptr%+12)=item$|
0001a480  0d 12 b5 05 cc 0d 12 b6  13 70 74 72 25 21 38 3d  |.........ptr%!8=|
0001a490  26 37 30 30 30 31 32 31  0d 12 b7 47 70 74 72 25  |&7000121...Gptr%|
0001a4a0  21 31 32 3d 6d 65 6e 75  69 6e 64 66 72 65 65 25  |!12=menuindfree%|
0001a4b0  3a 20 24 6d 65 6e 75 69  6e 64 66 72 65 65 25 3d  |: $menuindfree%=|
0001a4c0  69 74 65 6d 24 3a 20 6d  65 6e 75 69 6e 64 66 72  |item$: menuindfr|
0001a4d0  65 65 25 2b 3d a9 28 69  74 65 6d 24 29 2b 31 0d  |ee%+=.(item$)+1.|
0001a4e0  12 b8 28 70 74 72 25 21  31 36 3d 6d 65 6e 75 69  |..(ptr%!16=menui|
0001a4f0  6e 64 25 3a 20 70 74 72  25 21 32 30 3d a9 28 69  |nd%: ptr%!20=.(i|
0001a500  74 65 6d 24 29 2b 31 0d  12 b9 54 e7 20 6d 65 6e  |tem$)+1...T. men|
0001a510  75 69 6e 64 66 72 65 65  25 3e 6d 65 6e 75 69 6e  |uindfree%>menuin|
0001a520  64 25 2b 6d 65 6e 75 69  6e 64 73 69 7a 65 25 20  |d%+menuindsize% |
0001a530  8c 20 85 20 30 2c 22 49  6e 63 72 65 61 73 65 20  |. . 0,"Increase |
0001a540  6d 65 6e 75 69 6e 64 73  69 7a 65 25 20 28 69 6e  |menuindsize% (in|
0001a550  20 50 52 4f 43 69 6e 69  74 29 22 0d 12 ba 05 cd  | PROCinit)".....|
0001a560  0d 12 bb 0c 70 74 72 25  2b 3d 32 34 0d 12 bc 1b  |....ptr%+=24....|
0001a570  fd 20 28 21 28 70 74 72  25 2d 32 34 29 20 80 20  |. (!(ptr%-24) . |
0001a580  26 38 30 29 3c 3e 30 0d  12 bd 13 6d 65 6e 75 25  |&80)<>0....menu%|
0001a590  21 31 36 3d 77 69 64 74  68 25 0d 12 be 07 f7 20  |!16=width%..... |
0001a5a0  dc 0d 12 bf 05 e1 0d 12  c0 05 3a 0d 12 c1 19 dd  |..........:.....|
0001a5b0  f2 67 62 28 6c 69 6e 65  25 2c 6d 65 73 73 24 2c  |.gb(line%,mess$,|
0001a5c0  76 61 72 29 0d 12 c2 14  6d 65 73 73 24 3d c0 6d  |var)....mess$=.m|
0001a5d0  65 73 73 24 2c 31 34 29  0d 12 c3 0f 76 61 72 24  |ess$,14)....var$|
0001a5e0  3d c3 28 76 61 72 29 0d  12 c4 33 f2 66 62 28 6c  |=.(var)...3.fb(l|
0001a5f0  69 6e 65 25 2c 6d 65 73  73 24 2b c4 32 35 2d a9  |ine%,mess$+.25-.|
0001a600  28 6d 65 73 73 24 29 2d  a9 28 76 61 72 24 29 2c  |(mess$)-.(var$),|
0001a610  22 20 22 29 2b 76 61 72  24 29 0d 12 c5 05 e1 0d  |" ")+var$)......|
0001a620  12 c6 05 3a 0d 12 c7 15  dd f2 66 62 28 6c 69 6e  |...:......fb(lin|
0001a630  65 25 2c 6d 65 73 73 24  29 0d 12 c8 1f c8 99 20  |e%,mess$)...... |
0001a640  26 30 30 30 30 30 30 32  34 2c 22 64 62 24 6d 65  |&00000024,"db$me|
0001a650  73 73 22 2c 22 58 58 22  0d 12 c9 29 c8 99 20 26  |ss","XX"...).. &|
0001a660  30 30 30 30 30 30 32 34  2c 22 64 62 24 6d 65 73  |00000024,"db$mes|
0001a670  73 22 2b c3 28 6c 69 6e  65 25 29 2c 6d 65 73 73  |s"+.(line%),mess|
0001a680  24 0d 12 ca 05 e1 0d 12  cb 05 3a 0d 12 cc 11 dd  |$.........:.....|
0001a690  20 f2 6d 61 28 62 65 72  74 79 24 29 0d 12 cd 0c  | .ma(berty$)....|
0001a6a0  ea 20 62 65 72 74 79 25  0d 12 ce 26 62 65 72 74  |. berty%...&bert|
0001a6b0  79 25 3d ad 28 22 3c 45  61 73 79 4b 6e 69 74 24  |y%=.("<EasyKnit$|
0001a6c0  44 69 72 3e 2e 5e 2e 42  65 72 74 79 22 29 0d 12  |Dir>.^.Berty")..|
0001a6d0  cf 15 cf 23 62 65 72 74  79 25 3d a2 23 62 65 72  |...#berty%=.#ber|
0001a6e0  74 79 25 0d 12 d0 13 d5  23 62 65 72 74 79 25 2c  |ty%.....#berty%,|
0001a6f0  62 65 72 74 79 24 0d 12  d1 0c d9 23 62 65 72 74  |berty$.....#bert|
0001a700  79 25 0d 12 d2 05 e1 0d  12 d3 05 3a 0d 12 d4 09  |y%.........:....|
0001a710  dd 20 f2 7a 63 0d 12 d5  31 ea 20 63 75 72 72 65  |. .zc...1. curre|
0001a720  6e 74 67 72 6f 75 70 25  2c 64 62 75 66 66 25 2c  |ntgroup%,dbuff%,|
0001a730  70 74 72 25 2c 79 68 25  2c 6e 75 6d 62 25 2c 6c  |ptr%,yh%,numb%,l|
0001a740  65 6e 25 2c 69 25 0d 12  d6 0b 6f 78 25 3d 32 30  |en%,i%....ox%=20|
0001a750  30 0d 12 d7 0b 6f 79 25  3d 32 35 30 0d 12 d8 37  |0....oy%=250...7|
0001a760  64 62 75 66 66 25 3d 38  30 2b 31 32 2a 28 67 72  |dbuff%=80+12*(gr|
0001a770  69 64 77 69 64 74 68 25  2b 33 29 2b 31 32 2a 28  |idwidth%+3)+12*(|
0001a780  67 72 69 64 68 65 69 67  68 74 25 2b 33 29 2b 31  |gridheight%+3)+1|
0001a790  30 32 34 0d 12 d9 10 c8  99 20 26 30 30 30 34 30  |024...... &00040|
0001a7a0  36 43 30 0d 12 da 07 f2  6e 61 0d 12 db 17 e7 20  |6C0.....na..... |
0001a7b0  a4 6e 28 65 64 69 74 6d  65 6e 75 25 2c 31 29 20  |.n(editmenu%,1) |
0001a7c0  8c 0d 12 dc 11 c8 8e 20  70 69 63 74 79 70 65 24  |....... pictype$|
0001a7d0  20 ca 0d 12 dd 0e c9 20  22 73 70 72 69 74 65 22  | ...... "sprite"|
0001a7e0  0d 12 de 1b 64 62 75 66  66 25 2b 3d 28 73 61 72  |....dbuff%+=(sar|
0001a7f0  65 61 6c 65 6e 25 2b 34  29 2f 34 0d 12 df 0c c9  |ealen%+4)/4.....|
0001a800  20 22 64 72 61 77 22 0d  12 e0 14 64 62 75 66 66  | "draw"....dbuff|
0001a810  25 2b 3d 64 72 61 77 6c  65 6e 25 0d 12 e1 05 cb  |%+=drawlen%.....|
0001a820  0d 12 e2 05 cd 0d 12 e3  20 64 66 69 6c 65 25 3d  |........ dfile%=|
0001a830  a4 61 28 22 45 61 73 79  4b 6e 69 74 22 2c 64 62  |.a("EasyKnit",db|
0001a840  75 66 66 25 29 0d 12 e4  07 f2 71 65 0d 12 e5 10  |uff%).....qe....|
0001a850  f2 6f 65 28 22 47 72 6f  75 70 22 29 0d 12 e6 17  |.oe("Group")....|
0001a860  e7 20 a4 6e 28 65 64 69  74 6d 65 6e 75 25 2c 31  |. .n(editmenu%,1|
0001a870  29 20 8c 0d 12 e7 11 c8  8e 20 70 69 63 74 79 70  |) ....... pictyp|
0001a880  65 24 20 ca 0d 12 e8 0e  c9 20 22 73 70 72 69 74  |e$ ...... "sprit|
0001a890  65 22 0d 12 e9 04 0d 12  ea 1e e3 20 69 25 3d 30  |e"......... i%=0|
0001a8a0  20 b8 20 21 73 6f 75 72  63 65 73 70 72 25 2d 34  | . !sourcespr%-4|
0001a8b0  20 88 20 34 0d 12 eb 27  21 28 66 69 6c 65 5f 70  | . 4...'!(file_p|
0001a8c0  6f 69 6e 74 65 72 25 2b  38 2b 69 25 29 3d 73 6f  |ointer%+8+i%)=so|
0001a8d0  75 72 63 65 73 70 72 25  21 69 25 0d 12 ec 08 ed  |urcespr%!i%.....|
0001a8e0  20 69 25 0d 12 ed 04 0d  12 ee 42 c8 99 20 26 30  | i%.......B.. &0|
0001a8f0  30 30 30 30 30 32 45 2c  26 31 30 44 2c 66 69 6c  |000002E,&10D,fil|
0001a900  65 5f 70 6f 69 6e 74 65  72 25 2b 38 2c 62 6c 6f  |e_pointer%+8,blo|
0001a910  63 6b 25 2c 26 31 30 30  2c 31 20 b8 20 2c 2c 2c  |ck%,&100,1 . ,,,|
0001a920  6e 61 6d 65 5f 6c 65 6e  25 0d 12 ef 17 62 6c 6f  |name_len%....blo|
0001a930  63 6b 25 3f 6e 61 6d 65  5f 6c 65 6e 25 3d 31 33  |ck%?name_len%=13|
0001a940  0d 12 f0 13 73 70 72 69  74 65 24 3d 24 62 6c 6f  |....sprite$=$blo|
0001a950  63 6b 25 0d 12 f1 04 0d  12 f2 3a c8 99 20 26 30  |ck%.......:.. &0|
0001a960  30 30 30 30 30 32 45 2c  26 31 31 38 2c 66 69 6c  |000002E,&118,fil|
0001a970  65 5f 70 6f 69 6e 74 65  72 25 2b 38 2c 73 70 72  |e_pointer%+8,spr|
0001a980  69 74 65 24 20 b8 20 2c  2c 73 70 72 61 64 64 72  |ite$ . ,,spraddr|
0001a990  25 0d 12 f3 04 0d 12 f4  30 c8 99 20 26 30 30 30  |%.......0.. &000|
0001a9a0  30 30 30 32 45 2c 35 31  32 2b 35 34 2c 66 69 6c  |0002E,512+54,fil|
0001a9b0  65 5f 70 6f 69 6e 74 65  72 25 2b 38 2c 73 70 72  |e_pointer%+8,spr|
0001a9c0  61 64 64 72 25 0d 12 f5  04 0d 12 f6 49 c8 99 20  |addr%.......I.. |
0001a9d0  26 30 30 30 30 30 30 32  45 2c 26 32 32 38 2c 66  |&0000002E,&228,f|
0001a9e0  69 6c 65 5f 70 6f 69 6e  74 65 72 25 2b 38 2c 73  |ile_pointer%+8,s|
0001a9f0  70 72 61 64 64 72 25 20  b8 20 2c 2c 2c 77 69 64  |praddr% . ,,,wid|
0001aa00  74 68 25 2c 68 65 69 67  68 74 25 2c 2c 6d 6f 64  |th%,height%,,mod|
0001aa10  65 25 0d 12 f7 1e 6c 65  6e 25 3d 21 28 66 69 6c  |e%....len%=!(fil|
0001aa20  65 5f 70 6f 69 6e 74 65  72 25 2b 38 2b 31 32 29  |e_pointer%+8+12)|
0001aa30  0d 12 f8 33 73 70 72 77  69 64 74 68 25 3d a4 66  |...3sprwidth%=.f|
0001aa40  28 73 74 69 74 63 68 5f  77 69 64 74 68 29 2a bb  |(stitch_width)*.|
0001aa50  24 61 6e 73 5f 63 6f 6e  76 5f 73 74 69 74 63 68  |$ans_conv_stitch|
0001aa60  65 73 25 0d 12 f9 2e 73  70 72 68 65 69 67 68 74  |es%....sprheight|
0001aa70  25 3d a4 66 28 72 6f 77  5f 68 65 69 67 68 74 29  |%=.f(row_height)|
0001aa80  2a bb 24 61 6e 73 5f 63  6f 6e 76 5f 72 6f 77 73  |*.$ans_conv_rows|
0001aa90  25 0d 12 fa 15 66 69 6c  65 5f 70 6f 69 6e 74 65  |%....file_pointe|
0001aaa0  72 25 21 30 3d 35 0d 12  fb 1b 66 69 6c 65 5f 70  |r%!0=5....file_p|
0001aab0  6f 69 6e 74 65 72 25 21  34 3d 6c 65 6e 25 2b 32  |ointer%!4=len%+2|
0001aac0  34 0d 12 fc 1a 66 69 6c  65 5f 70 6f 69 6e 74 65  |4....file_pointe|
0001aad0  72 25 21 38 3d 6f 78 25  3c 3c 38 0d 12 fd 1b 66  |r%!8=ox%<<8....f|
0001aae0  69 6c 65 5f 70 6f 69 6e  74 65 72 25 21 31 32 3d  |ile_pointer%!12=|
0001aaf0  6f 79 25 3c 3c 38 0d 12  fe 27 66 69 6c 65 5f 70  |oy%<<8...'file_p|
0001ab00  6f 69 6e 74 65 72 25 21  31 36 3d 28 6f 78 25 2b  |ointer%!16=(ox%+|
0001ab10  73 70 72 77 69 64 74 68  25 29 3c 3c 38 0d 12 ff  |sprwidth%)<<8...|
0001ab20  28 66 69 6c 65 5f 70 6f  69 6e 74 65 72 25 21 32  |(file_pointer%!2|
0001ab30  30 3d 28 6f 79 25 2b 73  70 72 68 65 69 67 68 74  |0=(oy%+sprheight|
0001ab40  25 29 3c 3c 38 0d 13 00  1a 66 69 6c 65 5f 70 6f  |%)<<8....file_po|
0001ab50  69 6e 74 65 72 25 2b 3d  32 34 2b 6c 65 6e 25 0d  |inter%+=24+len%.|
0001ab60  13 01 25 f2 68 61 28 6f  78 25 2b 73 70 72 77 69  |..%.ha(ox%+sprwi|
0001ab70  64 74 68 25 2c 6f 79 25  2b 73 70 72 68 65 69 67  |dth%,oy%+sprheig|
0001ab80  68 74 25 29 0d 13 02 2d  f2 79 65 28 6f 78 25 2c  |ht%)...-.ye(ox%,|
0001ab90  6f 79 25 2c 6f 78 25 2b  73 70 72 77 69 64 74 68  |oy%,ox%+sprwidth|
0001aba0  25 2c 6f 79 25 2b 73 70  72 68 65 69 67 68 74 25  |%,oy%+sprheight%|
0001abb0  29 0d 13 03 05 cb 0d 13  04 05 cd 0d 13 05 07 f2  |)...............|
0001abc0  61 64 0d 13 06 25 6d 67  73 74 61 72 74 25 21 34  |ad...%mgstart%!4|
0001abd0  3d 66 69 6c 65 5f 70 6f  69 6e 74 65 72 25 2d 6d  |=file_pointer%-m|
0001abe0  67 73 74 61 72 74 25 0d  13 07 05 e1 0d 13 08 05  |gstart%.........|
0001abf0  3a 0d 13 09 0c dd 20 a4  66 28 63 6d 29 0d 13 0a  |:..... .f(cm)...|
0001ac00  0c ea 20 66 61 63 74 6f  72 0d 13 0b 17 e7 20 a4  |.. factor..... .|
0001ac10  6e 28 75 6e 69 74 6d 65  6e 75 25 2c 30 29 20 8c  |n(unitmenu%,0) .|
0001ac20  0d 13 0c 0e 66 61 63 74  6f 72 3d 31 38 30 0d 13  |....factor=180..|
0001ac30  0d 05 cc 0d 13 0e 11 66  61 63 74 6f 72 3d 37 30  |.......factor=70|
0001ac40  2e 38 36 36 0d 13 0f 05  cd 0d 13 10 0e 3d 63 6d  |.866.........=cm|
0001ac50  2a 66 61 63 74 6f 72 0d  13 11 05 3a 0d 13 12 09  |*factor....:....|
0001ac60  dd 20 f2 61 64 0d 13 13  26 ea 20 74 6f 74 77 69  |. .ad...&. totwi|
0001ac70  64 74 68 24 2c 74 6f 74  68 69 67 68 24 2c 75 6e  |dth$,tothigh$,un|
0001ac80  69 74 24 2c 74 78 74 70  6f 73 25 0d 13 14 13 f2  |it$,txtpos%.....|
0001ac90  6e 65 28 22 67 72 69 64  64 69 76 73 22 29 0d 13  |ne("griddivs")..|
0001aca0  15 07 f2 67 63 0d 13 16  07 f2 7a 65 0d 13 17 07  |...gc.....ze....|
0001acb0  f2 71 62 0d 13 18 14 f2  6e 65 28 22 67 72 69 64  |.qb.....ne("grid|
0001acc0  6c 69 6e 65 73 22 29 0d  13 19 07 f2 68 63 0d 13  |lines").....hc..|
0001acd0  1a 07 f2 61 66 0d 13 1b  07 f2 71 62 0d 13 1c 17  |...af.....qb....|
0001ace0  e7 20 a4 6e 28 75 6e 69  74 6d 65 6e 75 25 2c 30  |. .n(unitmenu%,0|
0001acf0  29 20 8c 0d 13 1d 10 75  6e 69 74 24 3d 22 20 69  |) .....unit$=" i|
0001ad00  6e 2e 22 0d 13 1e 05 cc  0d 13 1f 10 75 6e 69 74  |n.".........unit|
0001ad10  24 3d 22 20 63 6d 2e 22  0d 13 20 05 cd 0d 13 21  |$=" cm.".. ....!|
0001ad20  15 e7 20 64 72 61 77 68  65 61 64 65 72 25 3d b9  |.. drawheader%=.|
0001ad30  20 8c 0d 13 22 0f f2 6e  65 28 22 54 65 78 74 22  | ..."..ne("Text"|
0001ad40  29 0d 13 23 17 e7 20 a4  6e 28 65 64 69 74 6d 65  |)..#.. .n(editme|
0001ad50  6e 75 25 2c 30 29 20 8c  0d 13 24 04 0d 13 25 04  |nu%,0) ...$...%.|
0001ad60  0d 13 26 22 74 78 74 70  6f 73 25 3d 79 68 25 2b  |..&"txtpos%=yh%+|
0001ad70  34 2a 28 a4 66 28 bb 24  67 68 65 69 67 68 74 25  |4*(.f(.$gheight%|
0001ad80  29 29 0d 13 27 27 74 6f  74 77 69 64 74 68 24 3d  |))..''totwidth$=|
0001ad90  c3 28 bb 24 67 73 74 69  74 63 68 65 73 25 2a bb  |.(.$gstitches%*.|
0001ada0  24 67 77 69 64 74 68 25  29 0d 13 28 23 74 6f 74  |$gwidth%)..(#tot|
0001adb0  68 69 67 68 24 3d c3 28  bb 24 67 72 6f 77 73 25  |high$=.(.$grows%|
0001adc0  2a bb 24 67 68 65 69 67  68 74 25 29 0d 13 29 36  |*.$gheight%)..)6|
0001add0  f2 7a 28 30 2c 26 46 46  46 46 46 46 30 30 2c 31  |.z(0,&FFFFFF00,1|
0001ade0  2c 33 32 2c 33 32 2c 6f  78 25 2c 74 78 74 70 6f  |,32,32,ox%,txtpo|
0001adf0  73 25 2b 33 31 35 2c 24  70 61 74 73 74 6f 72 65  |s%+315,$patstore|
0001ae00  25 29 0d 13 2a 5c f2 7a  28 30 2c 26 46 46 46 46  |%)..*\.z(0,&FFFF|
0001ae10  46 46 30 30 2c 31 2c 32  30 2c 32 30 2c 6f 78 25  |FF00,1,20,20,ox%|
0001ae20  2c 74 78 74 70 6f 73 25  2b 32 35 30 2c 28 22 47  |,txtpos%+250,("G|
0001ae30  72 69 64 20 22 2b 24 67  73 74 69 74 63 68 65 73  |rid "+$gstitches|
0001ae40  25 2b 22 20 57 69 64 65  20 78 20 22 2b 24 67 72  |%+" Wide x "+$gr|
0001ae50  6f 77 73 25 2b 22 20 48  69 67 68 22 29 29 0d 13  |ows%+" High"))..|
0001ae60  2b 58 f2 7a 28 30 2c 26  46 46 46 46 46 46 30 30  |+X.z(0,&FFFFFF00|
0001ae70  2c 31 2c 31 36 2c 31 36  2c 6f 78 25 2c 74 78 74  |,1,16,16,ox%,txt|
0001ae80  70 6f 73 25 2b 32 30 30  2c 28 22 48 65 69 67 68  |pos%+200,("Heigh|
0001ae90  74 20 6f 66 20 6f 6e 65  20 52 6f 77 20 3d 20 22  |t of one Row = "|
0001aea0  2b c0 24 67 68 65 69 67  68 74 25 2c 35 29 2b 75  |+.$gheight%,5)+u|
0001aeb0  6e 69 74 24 29 29 0d 13  2c 59 f2 7a 28 30 2c 26  |nit$))..,Y.z(0,&|
0001aec0  46 46 46 46 46 46 30 30  2c 31 2c 31 36 2c 31 36  |FFFFFF00,1,16,16|
0001aed0  2c 6f 78 25 2c 74 78 74  70 6f 73 25 2b 31 35 30  |,ox%,txtpos%+150|
0001aee0  2c 28 22 57 69 64 74 68  20 6f 66 20 6f 6e 65 20  |,("Width of one |
0001aef0  43 6f 75 6c 6d 6e 20 3d  20 22 2b c0 24 67 77 69  |Coulmn = "+.$gwi|
0001af00  64 74 68 25 2c 35 29 2b  75 6e 69 74 24 29 29 0d  |dth%,5)+unit$)).|
0001af10  13 2d 7b f2 7a 28 30 2c  26 46 46 46 46 46 46 30  |.-{.z(0,&FFFFFF0|
0001af20  30 2c 31 2c 32 30 2c 31  36 2c 6f 78 25 2c 74 78  |0,1,20,16,ox%,tx|
0001af30  74 70 6f 73 25 2b 31 30  30 2c 28 22 54 6f 74 61  |tpos%+100,("Tota|
0001af40  6c 20 67 72 69 64 20 73  69 7a 65 20 22 2b c0 74  |l grid size "+.t|
0001af50  6f 74 77 69 64 74 68 24  2c 35 29 2b 75 6e 69 74  |otwidth$,5)+unit|
0001af60  24 2b 22 20 57 69 64 65  20 62 79 20 22 2b c0 74  |$+" Wide by "+.t|
0001af70  6f 74 68 69 67 68 24 2c  35 29 2b 75 6e 69 74 24  |othigh$,5)+unit$|
0001af80  2b 22 20 48 69 67 68 22  29 29 0d 13 2e 05 cc 0d  |+" High"))......|
0001af90  13 2f 04 0d 13 30 19 74  78 74 70 6f 73 25 3d 28  |./...0.txtpos%=(|
0001afa0  32 2a 72 6f 77 68 74 29  2b 79 68 25 0d 13 31 36  |2*rowht)+yh%..16|
0001afb0  f2 7a 28 30 2c 26 46 46  46 46 46 46 30 30 2c 31  |.z(0,&FFFFFF00,1|
0001afc0  2c 33 32 2c 33 32 2c 6f  78 25 2c 74 78 74 70 6f  |,32,32,ox%,txtpo|
0001afd0  73 25 2b 34 30 30 2c 24  70 61 74 73 74 6f 72 65  |s%+400,$patstore|
0001afe0  25 29 0d 13 32 74 f2 7a  28 30 2c 26 46 46 46 46  |%)..2t.z(0,&FFFF|
0001aff0  46 46 30 30 2c 31 2c 31  36 2c 31 36 2c 6f 78 25  |FF00,1,16,16,ox%|
0001b000  2c 74 78 74 70 6f 73 25  2b 33 35 30 2c 28 22 50  |,txtpos%+350,("P|
0001b010  61 74 74 65 72 6e 20 22  2b 24 61 6e 73 5f 63 6f  |attern "+$ans_co|
0001b020  6e 76 5f 73 74 69 74 63  68 65 73 25 2b 22 20 53  |nv_stitches%+" S|
0001b030  74 69 74 63 68 65 73 20  42 79 20 22 2b 24 61 6e  |titches By "+$an|
0001b040  73 5f 63 6f 6e 76 5f 72  6f 77 73 25 2b 22 20 52  |s_conv_rows%+" R|
0001b050  6f 77 73 22 29 29 0d 13  33 56 f2 7a 28 30 2c 26  |ows"))..3V.z(0,&|
0001b060  46 46 46 46 46 46 30 30  2c 31 2c 31 36 2c 31 36  |FFFFFF00,1,16,16|
0001b070  2c 6f 78 25 2c 74 78 74  70 6f 73 25 2b 33 30 30  |,ox%,txtpos%+300|
0001b080  2c 28 22 48 65 69 67 68  74 20 6f 66 20 52 6f 77  |,("Height of Row|
0001b090  20 3d 20 22 2b c0 c3 72  6f 77 5f 68 65 69 67 68  | = "+..row_heigh|
0001b0a0  74 2c 35 29 2b 75 6e 69  74 24 29 29 0d 13 34 5a  |t,5)+unit$))..4Z|
0001b0b0  f2 7a 28 30 2c 26 46 46  46 46 46 46 30 30 2c 31  |.z(0,&FFFFFF00,1|
0001b0c0  2c 31 36 2c 31 36 2c 6f  78 25 2c 74 78 74 70 6f  |,16,16,ox%,txtpo|
0001b0d0  73 25 2b 32 35 30 2c 28  22 57 69 64 74 68 20 6f  |s%+250,("Width o|
0001b0e0  66 20 53 74 69 74 63 68  20 3d 20 22 2b c0 c3 73  |f Stitch = "+..s|
0001b0f0  74 69 74 63 68 5f 77 69  64 74 68 2c 35 29 2b 75  |titch_width,5)+u|
0001b100  6e 69 74 24 29 29 0d 13  35 81 f2 7a 28 30 2c 26  |nit$))..5..z(0,&|
0001b110  46 46 46 46 46 46 30 30  2c 31 2c 32 30 2c 31 36  |FFFFFF00,1,20,16|
0001b120  2c 6f 78 25 2c 74 78 74  70 6f 73 25 2b 32 30 30  |,ox%,txtpos%+200|
0001b130  2c 28 22 4b 6e 69 74 74  65 64 20 73 69 7a 65 20  |,("Knitted size |
0001b140  22 2b c0 24 63 6f 6e 76  5f 73 74 69 74 63 68 65  |"+.$conv_stitche|
0001b150  73 25 2c 35 29 2b 75 6e  69 74 24 2b 22 20 57 69  |s%,5)+unit$+" Wi|
0001b160  64 65 20 42 79 20 22 2b  c0 24 63 6f 6e 76 5f 72  |de By "+.$conv_r|
0001b170  6f 77 73 25 2c 35 29 2b  75 6e 69 74 24 2b 22 20  |ows%,5)+unit$+" |
0001b180  48 69 67 68 22 29 29 0d  13 36 4f f2 7a 28 30 2c  |High"))..6O.z(0,|
0001b190  26 46 46 46 46 46 46 30  30 2c 31 2c 31 36 2c 31  |&FFFFFF00,1,16,1|
0001b1a0  36 2c 6f 78 25 2c 74 78  74 70 6f 73 25 2b 31 35  |6,ox%,txtpos%+15|
0001b1b0  30 2c 28 22 54 65 6e 73  69 6f 6e 20 64 69 61 6c  |0,("Tension dial|
0001b1c0  20 73 65 74 74 69 6e 67  20 3d 20 22 2b 24 74 64  | setting = "+$td|
0001b1d0  73 65 74 25 29 29 0d 13  37 05 cd 0d 13 38 07 f2  |set%))..7....8..|
0001b1e0  71 62 0d 13 39 05 cd 0d  13 3a 07 f2 69 61 0d 13  |qb..9....:..ia..|
0001b1f0  3b 10 c8 99 20 26 30 30  30 34 30 36 43 31 0d 13  |;... &000406C1..|
0001b200  3c 05 e1 0d 13 3d 05 3a  0d 13 3e 09 dd 20 f2 71  |<....=.:..>.. .q|
0001b210  65 0d 13 3f 07 f2 61 61  0d 13 40 18 f2 78 28 22  |e..?..aa..@..x("|
0001b220  54 72 69 6e 69 74 79 2e  4d 65 64 69 75 6d 22 29  |Trinity.Medium")|
0001b230  0d 13 41 21 f2 78 28 22  48 6f 6d 65 72 74 6f 6e  |..A!.x("Homerton|
0001b240  2e 4d 65 64 69 75 6d 2e  4f 62 6c 69 71 75 65 22  |.Medium.Oblique"|
0001b250  29 0d 13 42 05 e1 0d 13  43 05 3a 0d 13 44 09 dd  |)..B....C.:..D..|
0001b260  20 f2 68 63 0d 13 45 24  ea 20 6c 69 6e 65 6e 75  | .hc..E$. linenu|
0001b270  6d 25 2c 63 25 2c 65 78  74 72 61 25 2c 78 6c 25  |m%,c%,extra%,xl%|
0001b280  2c 79 6c 25 2c 78 68 25  0d 13 46 22 78 6c 25 3d  |,yl%,xh%..F"xl%=|
0001b290  6f 78 25 2d 32 2a 73 74  69 74 63 68 77 69 64 74  |ox%-2*stitchwidt|
0001b2a0  68 3a 20 79 6c 25 3d 6f  79 25 0d 13 47 30 78 68  |h: yl%=oy%..G0xh|
0001b2b0  25 3d 78 6c 25 2b 67 72  69 64 77 69 64 74 68 25  |%=xl%+gridwidth%|
0001b2c0  2a 73 74 69 74 63 68 77  69 64 74 68 2b 34 2a 73  |*stitchwidth+4*s|
0001b2d0  74 69 74 63 68 77 69 64  74 68 0d 13 48 1d 79 68  |titchwidth..H.yh|
0001b2e0  25 3d 79 6c 25 2b 67 72  69 64 68 65 69 67 68 74  |%=yl%+gridheight|
0001b2f0  25 2a 72 6f 77 68 74 0d  13 49 2c e7 20 63 75 72  |%*rowht..I,. cur|
0001b300  72 65 6e 74 67 72 6f 75  70 25 3d b9 20 8c 20 f2  |rentgroup%=. . .|
0001b310  78 65 28 78 6c 25 2c 79  6c 25 2c 78 68 25 2c 79  |xe(xl%,yl%,xh%,y|
0001b320  68 25 29 0d 13 4a 18 f2  79 65 28 78 6c 25 2c 79  |h%)..J..ye(xl%,y|
0001b330  6c 25 2c 78 68 25 2c 79  68 25 29 0d 13 4b 1f 6c  |l%,xh%,yh%)..K.l|
0001b340  69 6e 65 6e 75 6d 25 3d  28 67 72 69 64 68 65 69  |inenum%=(gridhei|
0001b350  67 68 74 25 2b 31 29 2f  31 30 0d 13 4c 24 f2 66  |ght%+1)/10..L$.f|
0001b360  61 28 2d 31 2c 30 2c 34  3c 3c 38 2c 32 2c 78 6c  |a(-1,0,4<<8,2,xl|
0001b370  25 2c 79 6c 25 2c 78 68  25 2c 79 68 25 29 0d 13  |%,yl%,xh%,yh%)..|
0001b380  4d 1a 65 78 74 72 61 25  3d 31 2e 35 2a 73 74 69  |M.extra%=1.5*sti|
0001b390  74 63 68 77 69 64 74 68  0d 13 4e 15 e3 20 63 25  |tchwidth..N.. c%|
0001b3a0  3d 30 20 b8 20 6c 69 6e  65 6e 75 6d 25 0d 13 4f  |=0 . linenum%..O|
0001b3b0  23 f2 65 61 28 6f 78 25  2d 65 78 74 72 61 25 2c  |#.ea(ox%-extra%,|
0001b3c0  6f 79 25 2b 63 25 2a 72  6f 77 68 74 2a 31 30 29  |oy%+c%*rowht*10)|
0001b3d0  0d 13 50 3a f2 63 61 28  6f 78 25 2b 65 78 74 72  |..P:.ca(ox%+extr|
0001b3e0  61 25 2b 67 72 69 64 77  69 64 74 68 25 2a 73 74  |a%+gridwidth%*st|
0001b3f0  69 74 63 68 77 69 64 74  68 2c 6f 79 25 2b 63 25  |itchwidth,oy%+c%|
0001b400  2a 72 6f 77 68 74 2a 31  30 29 0d 13 51 08 ed 20  |*rowht*10)..Q.. |
0001b410  63 25 0d 13 52 07 f2 67  61 0d 13 53 05 e1 0d 13  |c%..R..ga..S....|
0001b420  54 05 3a 0d 13 55 09 dd  20 f2 61 66 0d 13 56 21  |T.:..U.. .af..V!|
0001b430  ea 20 6c 69 6e 65 6e 75  6d 25 2c 63 25 2c 78 6c  |. linenum%,c%,xl|
0001b440  25 2c 79 6c 25 2c 78 68  25 2c 79 68 25 0d 13 57  |%,yl%,xh%,yh%..W|
0001b450  1c 78 6c 25 3d 6f 78 25  3a 20 79 6c 25 3d 6f 79  |.xl%=ox%: yl%=oy|
0001b460  25 2d 32 2a 72 6f 77 68  74 0d 13 58 22 78 68 25  |%-2*rowht..X"xh%|
0001b470  3d 78 6c 25 2b 67 72 69  64 77 69 64 74 68 25 2a  |=xl%+gridwidth%*|
0001b480  73 74 69 74 63 68 77 69  64 74 68 0d 13 59 25 79  |stitchwidth..Y%y|
0001b490  68 25 3d 79 6c 25 2b 67  72 69 64 68 65 69 67 68  |h%=yl%+gridheigh|
0001b4a0  74 25 2a 72 6f 77 68 74  2b 34 2a 72 6f 77 68 74  |t%*rowht+4*rowht|
0001b4b0  0d 13 5a 2c e7 20 63 75  72 72 65 6e 74 67 72 6f  |..Z,. currentgro|
0001b4c0  75 70 25 3d b9 20 8c 20  f2 78 65 28 78 6c 25 2c  |up%=. . .xe(xl%,|
0001b4d0  79 6c 25 2c 78 68 25 2c  79 68 25 29 0d 13 5b 18  |yl%,xh%,yh%)..[.|
0001b4e0  f2 79 65 28 78 6c 25 2c  79 6c 25 2c 78 68 25 2c  |.ye(xl%,yl%,xh%,|
0001b4f0  79 68 25 29 0d 13 5c 1e  6c 69 6e 65 6e 75 6d 25  |yh%)..\.linenum%|
0001b500  3d 28 67 72 69 64 77 69  64 74 68 25 2b 31 29 2f  |=(gridwidth%+1)/|
0001b510  31 30 0d 13 5d 24 f2 66  61 28 2d 31 2c 30 2c 34  |10..]$.fa(-1,0,4|
0001b520  3c 3c 38 2c 32 2c 78 6c  25 2c 79 6c 25 2c 78 68  |<<8,2,xl%,yl%,xh|
0001b530  25 2c 79 68 25 29 0d 13  5e 14 65 78 74 72 61 25  |%,yh%)..^.extra%|
0001b540  3d 31 2e 35 2a 72 6f 77  68 74 0d 13 5f 15 e3 20  |=1.5*rowht.._.. |
0001b550  63 25 3d 30 20 b8 20 6c  69 6e 65 6e 75 6d 25 0d  |c%=0 . linenum%.|
0001b560  13 60 29 f2 65 61 28 6f  78 25 2b 63 25 2a 73 74  |.`).ea(ox%+c%*st|
0001b570  69 74 63 68 77 69 64 74  68 2a 31 30 2c 6f 79 25  |itchwidth*10,oy%|
0001b580  2d 65 78 74 72 61 25 29  0d 13 61 3b f2 63 61 28  |-extra%)..a;.ca(|
0001b590  6f 78 25 2b 63 25 2a 73  74 69 74 63 68 77 69 64  |ox%+c%*stitchwid|
0001b5a0  74 68 2a 31 30 2c 6f 79  25 2b 65 78 74 72 61 25  |th*10,oy%+extra%|
0001b5b0  2b 67 72 69 64 68 65 69  67 68 74 25 2a 72 6f 77  |+gridheight%*row|
0001b5c0  68 74 29 0d 13 62 08 ed  20 63 25 0d 13 63 07 f2  |ht)..b.. c%..c..|
0001b5d0  67 61 0d 13 64 05 e1 0d  13 65 05 3a 0d 13 66 09  |ga..d....e.:..f.|
0001b5e0  dd 20 f2 67 63 0d 13 67  1f ea 20 63 25 2c 65 78  |. .gc..g.. c%,ex|
0001b5f0  74 72 61 25 2c 78 6c 25  2c 79 6c 25 2c 78 68 25  |tra%,xl%,yl%,xh%|
0001b600  2c 79 68 25 0d 13 68 29  78 6c 25 3d 6f 78 25 2d  |,yh%..h)xl%=ox%-|
0001b610  73 74 69 74 63 68 77 69  64 74 68 2a 67 25 3a 20  |stitchwidth*g%: |
0001b620  79 6c 25 3d 6f 79 25 2d  72 6f 77 68 74 0d 13 69  |yl%=oy%-rowht..i|
0001b630  33 78 68 25 3d 78 6c 25  2b 67 72 69 64 77 69 64  |3xh%=xl%+gridwid|
0001b640  74 68 25 2a 73 74 69 74  63 68 77 69 64 74 68 2b  |th%*stitchwidth+|
0001b650  32 2a 73 74 69 74 63 68  77 69 64 74 68 2a 67 25  |2*stitchwidth*g%|
0001b660  0d 13 6a 28 79 68 25 3d  79 6c 25 2b 67 72 69 64  |..j(yh%=yl%+grid|
0001b670  68 65 69 67 68 74 25 2a  72 6f 77 68 74 2b 32 2a  |height%*rowht+2*|
0001b680  72 6f 77 68 74 2a 67 25  0d 13 6b 2c e7 20 63 75  |rowht*g%..k,. cu|
0001b690  72 72 65 6e 74 67 72 6f  75 70 25 3d b9 20 8c 20  |rrentgroup%=. . |
0001b6a0  f2 78 65 28 78 6c 25 2c  79 6c 25 2c 78 68 25 2c  |.xe(xl%,yl%,xh%,|
0001b6b0  79 68 25 29 0d 13 6c 18  f2 79 65 28 78 6c 25 2c  |yh%)..l..ye(xl%,|
0001b6c0  79 6c 25 2c 78 68 25 2c  79 68 25 29 0d 13 6d 24  |yl%,xh%,yh%)..m$|
0001b6d0  f2 66 61 28 2d 31 2c 30  2c 31 3c 3c 38 2c 32 2c  |.fa(-1,0,1<<8,2,|
0001b6e0  78 6c 25 2c 79 6c 25 2c  78 68 25 2c 79 68 25 29  |xl%,yl%,xh%,yh%)|
0001b6f0  0d 13 6e 1d e3 20 63 25  3d 2d 67 25 20 b8 20 67  |..n.. c%=-g% . g|
0001b700  72 69 64 68 65 69 67 68  74 25 2b 67 25 0d 13 6f  |ridheight%+g%..o|
0001b710  12 e7 20 63 25 20 83 20  31 30 3c 3e 30 20 8c 0d  |.. c% . 10<>0 ..|
0001b720  13 70 28 f2 65 61 28 6f  78 25 2d 73 74 69 74 63  |.p(.ea(ox%-stitc|
0001b730  68 77 69 64 74 68 2a 67  25 2c 6f 79 25 2b 63 25  |hwidth*g%,oy%+c%|
0001b740  2a 72 6f 77 68 74 29 0d  13 71 37 f2 63 61 28 6f  |*rowht)..q7.ca(o|
0001b750  78 25 2b 28 67 72 69 64  77 69 64 74 68 25 2b 31  |x%+(gridwidth%+1|
0001b760  2a 67 25 29 2a 73 74 69  74 63 68 77 69 64 74 68  |*g%)*stitchwidth|
0001b770  2c 6f 79 25 2b 63 25 2a  72 6f 77 68 74 29 0d 13  |,oy%+c%*rowht)..|
0001b780  72 05 cd 0d 13 73 08 ed  20 63 25 0d 13 74 07 f2  |r....s.. c%..t..|
0001b790  67 61 0d 13 75 05 e1 0d  13 76 05 3a 0d 13 77 09  |ga..u....v.:..w.|
0001b7a0  dd 20 f2 7a 65 0d 13 78  18 ea 20 63 25 2c 78 6c  |. .ze..x.. c%,xl|
0001b7b0  25 2c 79 6c 25 2c 78 68  25 2c 79 68 25 0d 13 79  |%,yl%,xh%,yh%..y|
0001b7c0  2c 78 6c 25 3d 6f 78 25  2d 73 74 69 74 63 68 77  |,xl%=ox%-stitchw|
0001b7d0  69 64 74 68 2a 67 25 3a  20 79 6c 25 3d 6f 79 25  |idth*g%: yl%=oy%|
0001b7e0  2d 72 6f 77 68 74 2a 67  25 0d 13 7a 33 78 68 25  |-rowht*g%..z3xh%|
0001b7f0  3d 78 6c 25 2b 67 72 69  64 77 69 64 74 68 25 2a  |=xl%+gridwidth%*|
0001b800  73 74 69 74 63 68 77 69  64 74 68 2b 32 2a 73 74  |stitchwidth+2*st|
0001b810  69 74 63 68 77 69 64 74  68 2a 67 25 0d 13 7b 28  |itchwidth*g%..{(|
0001b820  79 68 25 3d 79 6c 25 2b  67 72 69 64 68 65 69 67  |yh%=yl%+gridheig|
0001b830  68 74 25 2a 72 6f 77 68  74 2b 32 2a 72 6f 77 68  |ht%*rowht+2*rowh|
0001b840  74 2a 67 25 0d 13 7c 2c  e7 20 63 75 72 72 65 6e  |t*g%..|,. curren|
0001b850  74 67 72 6f 75 70 25 3d  b9 20 8c 20 f2 78 65 28  |tgroup%=. . .xe(|
0001b860  78 6c 25 2c 79 6c 25 2c  78 68 25 2c 79 68 25 29  |xl%,yl%,xh%,yh%)|
0001b870  0d 13 7d 18 f2 79 65 28  78 6c 25 2c 79 6c 25 2c  |..}..ye(xl%,yl%,|
0001b880  78 68 25 2c 79 68 25 29  0d 13 7e 24 f2 66 61 28  |xh%,yh%)..~$.fa(|
0001b890  2d 31 2c 30 2c 31 3c 3c  38 2c 32 2c 78 6c 25 2c  |-1,0,1<<8,2,xl%,|
0001b8a0  79 6c 25 2c 78 68 25 2c  79 68 25 29 0d 13 7f 1c  |yl%,xh%,yh%)....|
0001b8b0  e3 20 63 25 3d 2d 67 25  20 b8 20 67 72 69 64 77  |. c%=-g% . gridw|
0001b8c0  69 64 74 68 25 2b 67 25  0d 13 80 12 e7 20 63 25  |idth%+g%..... c%|
0001b8d0  20 83 20 31 30 3c 3e 30  20 8c 0d 13 81 28 f2 65  | . 10<>0 ....(.e|
0001b8e0  61 28 6f 78 25 2b 63 25  2a 73 74 69 74 63 68 77  |a(ox%+c%*stitchw|
0001b8f0  69 64 74 68 2c 6f 79 25  2d 72 6f 77 68 74 2a 67  |idth,oy%-rowht*g|
0001b900  25 29 0d 13 82 38 f2 63  61 28 6f 78 25 2b 63 25  |%)...8.ca(ox%+c%|
0001b910  2a 73 74 69 74 63 68 77  69 64 74 68 2c 6f 79 25  |*stitchwidth,oy%|
0001b920  2b 28 67 72 69 64 68 65  69 67 68 74 25 2b 31 2a  |+(gridheight%+1*|
0001b930  67 25 29 2a 72 6f 77 68  74 29 0d 13 83 05 cd 0d  |g%)*rowht)......|
0001b940  13 84 08 ed 20 63 25 0d  13 85 07 f2 67 61 0d 13  |.... c%.....ga..|
0001b950  86 05 e1 0d 13 87 05 3a  0d 13 88 09 dd 20 f2 69  |.......:..... .i|
0001b960  61 0d 13 89 28 ea 20 62  78 25 2c 62 79 25 2c 6e  |a...(. bx%,by%,n|
0001b970  75 6d 25 2c 6c 69 6e 65  6e 75 6d 25 2c 74 62 79  |um%,linenum%,tby|
0001b980  25 2c 72 62 78 25 2c 70  25 0d 13 8a 15 e7 20 64  |%,rbx%,p%..... d|
0001b990  72 61 77 72 75 6c 65 72  73 25 3d b9 20 8c 0d 13  |rawrulers%=. ...|
0001b9a0  8b 16 f2 6e 65 28 22 52  75 6c 65 72 42 6f 74 74  |...ne("RulerBott|
0001b9b0  6f 6d 22 29 0d 13 8c 0e  62 78 25 3d 6f 78 25 2d  |om")....bx%=ox%-|
0001b9c0  33 30 0d 13 8d 16 62 79  25 3d 6f 79 25 2d 32 2a  |30....by%=oy%-2*|
0001b9d0  72 6f 77 68 74 2d 33 38  0d 13 8e 1e 6c 69 6e 65  |rowht-38....line|
0001b9e0  6e 75 6d 25 3d 28 67 72  69 64 77 69 64 74 68 25  |num%=(gridwidth%|
0001b9f0  2b 31 29 2f 31 30 0d 13  8f 17 e3 20 6e 75 6d 25  |+1)/10..... num%|
0001ba00  3d 30 20 b8 20 6c 69 6e  65 6e 75 6d 25 0d 13 90  |=0 . linenum%...|
0001ba10  42 f2 7a 28 30 2c 26 46  46 46 46 46 46 30 30 2c  |B.z(0,&FFFFFF00,|
0001ba20  32 2c 31 36 2c 31 36 2c  62 78 25 2b 6e 75 6d 25  |2,16,16,bx%+num%|
0001ba30  2a 31 30 2a 73 74 69 74  63 68 77 69 64 74 68 2c  |*10*stitchwidth,|
0001ba40  62 79 25 2c c3 28 6e 75  6d 25 2a 31 30 29 29 0d  |by%,.(num%*10)).|
0001ba50  13 91 0a ed 20 6e 75 6d  25 0d 13 92 07 f2 71 62  |.... num%.....qb|
0001ba60  0d 13 93 13 f2 6e 65 28  22 52 75 6c 65 72 4c 48  |.....ne("RulerLH|
0001ba70  53 22 29 0d 13 94 1c 62  78 25 3d 6f 78 25 2d 32  |S")....bx%=ox%-2|
0001ba80  2a 73 74 69 74 63 68 77  69 64 74 68 2d 33 30 0d  |*stitchwidth-30.|
0001ba90  13 95 0e 62 79 25 3d 6f  79 25 2d 31 30 0d 13 96  |...by%=oy%-10...|
0001baa0  08 70 25 3d 30 0d 13 97  1f 6c 69 6e 65 6e 75 6d  |.p%=0....linenum|
0001bab0  25 3d 28 67 72 69 64 68  65 69 67 68 74 25 2b 31  |%=(gridheight%+1|
0001bac0  29 2f 31 30 0d 13 98 17  e3 20 6e 75 6d 25 3d 30  |)/10..... num%=0|
0001bad0  20 b8 20 6c 69 6e 65 6e  75 6d 25 0d 13 99 17 e7  | . linenum%.....|
0001bae0  20 6e 75 6d 25 2a 31 30  3e 39 20 8c 20 70 25 3d  | num%*10>9 . p%=|
0001baf0  32 35 0d 13 9a 18 e7 20  6e 75 6d 25 2a 31 30 3e  |25..... num%*10>|
0001bb00  39 39 20 8c 20 70 25 3d  34 35 0d 13 9b 3f f2 7a  |99 . p%=45...?.z|
0001bb10  28 30 2c 26 46 46 46 46  46 46 30 30 2c 32 2c 31  |(0,&FFFFFF00,2,1|
0001bb20  36 2c 31 36 2c 62 78 25  2d 70 25 2c 62 79 25 2b  |6,16,bx%-p%,by%+|
0001bb30  6e 75 6d 25 2a 31 30 2a  72 6f 77 68 74 2c c3 28  |num%*10*rowht,.(|
0001bb40  6e 75 6d 25 2a 31 30 29  29 0d 13 9c 0a ed 20 6e  |num%*10))..... n|
0001bb50  75 6d 25 0d 13 9d 07 f2  71 62 0d 13 9e 13 f2 6e  |um%.....qb.....n|
0001bb60  65 28 22 52 75 6c 65 72  54 6f 70 22 29 0d 13 9f  |e("RulerTop")...|
0001bb70  0e 62 78 25 3d 6f 78 25  2d 33 30 0d 13 a0 29 74  |.bx%=ox%-30...)t|
0001bb80  62 79 25 3d 6f 79 25 2b  67 72 69 64 68 65 69 67  |by%=oy%+gridheig|
0001bb90  68 74 25 2a 72 6f 77 68  74 2b 32 2a 72 6f 77 68  |ht%*rowht+2*rowh|
0001bba0  74 2b 31 33 0d 13 a1 1e  6c 69 6e 65 6e 75 6d 25  |t+13....linenum%|
0001bbb0  3d 28 67 72 69 64 77 69  64 74 68 25 2b 31 29 2f  |=(gridwidth%+1)/|
0001bbc0  31 30 0d 13 a2 17 e3 20  6e 75 6d 25 3d 30 20 b8  |10..... num%=0 .|
0001bbd0  20 6c 69 6e 65 6e 75 6d  25 0d 13 a3 43 f2 7a 28  | linenum%...C.z(|
0001bbe0  30 2c 26 46 46 46 46 46  46 30 30 2c 32 2c 31 36  |0,&FFFFFF00,2,16|
0001bbf0  2c 31 36 2c 62 78 25 2b  6e 75 6d 25 2a 31 30 2a  |,16,bx%+num%*10*|
0001bc00  73 74 69 74 63 68 77 69  64 74 68 2c 74 62 79 25  |stitchwidth,tby%|
0001bc10  2c c3 28 6e 75 6d 25 2a  31 30 29 29 0d 13 a4 0a  |,.(num%*10))....|
0001bc20  ed 20 6e 75 6d 25 0d 13  a5 07 f2 71 62 0d 13 a6  |. num%.....qb...|
0001bc30  13 f2 6e 65 28 22 52 75  6c 65 72 52 48 53 22 29  |..ne("RulerRHS")|
0001bc40  0d 13 a7 0e 62 79 25 3d  6f 79 25 2d 31 30 0d 13  |....by%=oy%-10..|
0001bc50  a8 34 72 62 78 25 3d 6f  78 25 2b 67 72 69 64 77  |.4rbx%=ox%+gridw|
0001bc60  69 64 74 68 25 2a 73 74  69 74 63 68 77 69 64 74  |idth%*stitchwidt|
0001bc70  68 2b 32 2a 73 74 69 74  63 68 77 69 64 74 68 2b  |h+2*stitchwidth+|
0001bc80  31 30 0d 13 a9 1f 6c 69  6e 65 6e 75 6d 25 3d 28  |10....linenum%=(|
0001bc90  67 72 69 64 68 65 69 67  68 74 25 2b 31 29 2f 31  |gridheight%+1)/1|
0001bca0  30 0d 13 aa 17 e3 20 6e  75 6d 25 3d 30 20 b8 20  |0..... num%=0 . |
0001bcb0  6c 69 6e 65 6e 75 6d 25  0d 13 ab 3d f2 7a 28 30  |linenum%...=.z(0|
0001bcc0  2c 26 46 46 46 46 46 46  30 30 2c 32 2c 31 36 2c  |,&FFFFFF00,2,16,|
0001bcd0  31 36 2c 72 62 78 25 2c  62 79 25 2b 6e 75 6d 25  |16,rbx%,by%+num%|
0001bce0  2a 31 30 2a 72 6f 77 68  74 2c c3 28 6e 75 6d 25  |*10*rowht,.(num%|
0001bcf0  2a 31 30 29 29 0d 13 ac  0a ed 20 6e 75 6d 25 0d  |*10))..... num%.|
0001bd00  13 ad 07 f2 71 62 0d 13  ae 05 cd 0d 13 af 05 e1  |....qb..........|
0001bd10  0d 13 b0 05 3a 0d 13 b1  1f dd 20 f2 61 65 28 66  |....:..... .ae(f|
0001bd20  69 6c 65 70 61 74 68 24  2c 64 72 61 77 5f 66 69  |ilepath$,draw_fi|
0001bd30  6c 65 25 29 0d 13 b2 10  c8 99 20 26 30 30 30 34  |le%)...... &0004|
0001bd40  30 36 43 30 0d 13 b3 3d  ff 28 22 53 41 56 45 20  |06C0...=.("SAVE |
0001bd50  22 2b 66 69 6c 65 70 61  74 68 24 2b 22 20 22 2b  |"+filepath$+" "+|
0001bd60  c3 7e 64 72 61 77 5f 66  69 6c 65 25 2b 22 20 22  |.~draw_file%+" "|
0001bd70  2b c3 7e 66 69 6c 65 5f  70 6f 69 6e 74 65 72 25  |+.~file_pointer%|
0001bd80  29 0d 13 b4 23 ff 28 22  53 65 74 54 79 70 65 20  |)...#.("SetType |
0001bd90  22 2b 66 69 6c 65 70 61  74 68 24 2b 22 20 26 41  |"+filepath$+" &A|
0001bda0  46 46 22 29 0d 13 b5 10  c8 99 20 26 30 30 30 34  |FF")...... &0004|
0001bdb0  30 36 43 31 0d 13 b6 05  e1 0d 13 b7 05 3a 0d 13  |06C1.........:..|
0001bdc0  b8 1e dd 20 a4 61 28 70  72 6f 67 72 61 6d 5f 6e  |... .a(program_n|
0001bdd0  61 6d 65 24 2c 77 6f 72  64 73 25 29 0d 13 b9 13  |ame$,words%)....|
0001bde0  ea 20 69 25 2c 64 72 61  77 5f 66 69 6c 65 25 0d  |. i%,draw_file%.|
0001bdf0  13 ba 15 e7 20 64 72 61  77 5f 66 69 6c 65 25 3c  |.... draw_file%<|
0001be00  3e 30 20 8c 0d 13 bb 1d  64 72 61 77 5f 66 69 6c  |>0 .....draw_fil|
0001be10  65 25 3d a4 68 28 64 72  61 77 5f 66 69 6c 65 25  |e%=.h(draw_file%|
0001be20  29 0d 13 bc 1e 64 72 61  77 5f 66 69 6c 65 25 3d  |)....draw_file%=|
0001be30  a4 62 28 34 30 2b 34 2a  77 6f 72 64 73 25 29 0d  |.b(40+4*words%).|
0001be40  13 bd 05 cc 0d 13 be 1e  64 72 61 77 5f 66 69 6c  |........draw_fil|
0001be50  65 25 3d a4 62 28 34 30  2b 34 2a 77 6f 72 64 73  |e%=.b(40+4*words|
0001be60  25 29 0d 13 bf 7b e7 20  64 72 61 77 5f 66 69 6c  |%)...{. draw_fil|
0001be70  65 25 3d 30 20 8c 20 85  20 30 2c 22 53 6f 72 72  |e%=0 . . 0,"Sorr|
0001be80  79 2c 20 6e 6f 74 20 65  6e 6f 75 67 68 20 66 72  |y, not enough fr|
0001be90  65 65 20 52 41 4d 20 74  6f 20 63 72 65 61 74 65  |ee RAM to create|
0001bea0  20 74 68 65 20 66 69 6c  65 2e 20 50 6c 65 61 73  | the file. Pleas|
0001beb0  65 20 74 72 79 20 74 6f  20 6d 61 6b 65 20 6d 6f  |e try to make mo|
0001bec0  72 65 20 61 76 61 69 6c  61 62 6c 65 20 74 68 65  |re available the|
0001bed0  6e 20 74 72 79 20 61 67  61 69 6e 2e 22 0d 13 c0  |n try again."...|
0001bee0  1a 64 66 69 6c 65 73 74  61 72 74 25 3d 64 72 61  |.dfilestart%=dra|
0001bef0  77 5f 66 69 6c 65 25 0d  13 c1 05 cd 0d 13 c2 44  |w_file%........D|
0001bf00  66 69 6c 65 5f 6c 65 6e  67 74 68 25 3d 64 72 61  |file_length%=dra|
0001bf10  77 5f 66 69 6c 65 25 2b  34 30 2b 34 2a 77 6f 72  |w_file%+40+4*wor|
0001bf20  64 73 25 20 3a 20 66 69  6c 65 5f 70 6f 69 6e 74  |ds% : file_point|
0001bf30  65 72 25 3d 64 72 61 77  5f 66 69 6c 65 25 2b 34  |er%=draw_file%+4|
0001bf40  0d 13 c3 16 24 64 72 61  77 5f 66 69 6c 65 25 3d  |....$draw_file%=|
0001bf50  22 44 72 61 77 22 0d 13  c4 0b f2 77 28 32 30 31  |"Draw".....w(201|
0001bf60  29 0d 13 c5 09 f2 77 28  30 29 0d 13 c6 24 70 72  |).....w(0)...$pr|
0001bf70  6f 67 72 61 6d 5f 6e 61  6d 65 24 3d c0 70 72 6f  |ogram_name$=.pro|
0001bf80  67 72 61 6d 5f 6e 61 6d  65 24 2c 31 31 29 0d 13  |gram_name$,11)..|
0001bf90  c7 2a 70 72 6f 67 72 61  6d 5f 6e 61 6d 65 24 2b  |.*program_name$+|
0001bfa0  3d c4 31 31 2d a9 70 72  6f 67 72 61 6d 5f 6e 61  |=.11-.program_na|
0001bfb0  6d 65 24 2c 22 20 22 29  0d 13 c8 22 24 28 64 72  |me$," ")..."$(dr|
0001bfc0  61 77 5f 66 69 6c 65 25  2b 31 32 29 3d 70 72 6f  |aw_file%+12)=pro|
0001bfd0  67 72 61 6d 5f 6e 61 6d  65 24 0d 13 c9 15 66 69  |gram_name$....fi|
0001bfe0  6c 65 5f 70 6f 69 6e 74  65 72 25 2b 3d 31 32 0d  |le_pointer%+=12.|
0001bff0  13 ca 10 f2 62 61 28 30  2c 30 2c 30 2c 30 29 0d  |....ba(0,0,0,0).|
0001c000  13 cb 0f 3d 64 72 61 77  5f 66 69 6c 65 25 0d 13  |...=draw_file%..|
0001c010  cc 05 3a 0d 13 cd 47 dd  20 f2 66 61 28 46 69 6c  |..:...G. .fa(Fil|
0001c020  6c 5f 43 6f 6c 6f 75 72  25 2c 4c 69 6e 65 5f 43  |l_Colour%,Line_C|
0001c030  6f 6c 6f 75 72 25 2c 4c  69 6e 65 5f 57 69 64 74  |olour%,Line_Widt|
0001c040  68 25 2c 53 74 79 6c 65  25 2c 78 6c 25 2c 79 6c  |h%,Style%,xl%,yl|
0001c050  25 2c 78 68 25 2c 79 68  25 29 0d 13 ce 08 ea 20  |%,xh%,yh%)..... |
0001c060  77 25 0d 13 cf 2e 77 25  3d 28 4c 69 6e 65 5f 57  |w%....w%=(Line_W|
0001c070  69 64 74 68 25 3e 3e 38  29 2f 32 2b 28 4c 69 6e  |idth%>>8)/2+(Lin|
0001c080  65 5f 57 69 64 74 68 25  3e 3e 38 29 20 83 20 32  |e_Width%>>8) . 2|
0001c090  0d 13 d0 19 6f 62 6a 65  63 74 25 3d 66 69 6c 65  |....object%=file|
0001c0a0  5f 70 6f 69 6e 74 65 72  25 0d 13 d1 09 f2 77 28  |_pointer%.....w(|
0001c0b0  32 29 0d 13 d2 0a f2 77  28 38 30 29 0d 13 d3 28  |2).....w(80)...(|
0001c0c0  f2 62 61 28 78 6c 25 2d  77 25 2c 79 6c 25 2d 77  |.ba(xl%-w%,yl%-w|
0001c0d0  25 2c 78 68 25 2b 77 25  2b 31 2c 79 68 25 2b 77  |%,xh%+w%+1,yh%+w|
0001c0e0  25 2b 31 29 0d 13 d4 14  f2 77 28 46 69 6c 6c 5f  |%+1).....w(Fill_|
0001c0f0  43 6f 6c 6f 75 72 25 29  0d 13 d5 14 f2 77 28 4c  |Colour%).....w(L|
0001c100  69 6e 65 5f 43 6f 6c 6f  75 72 25 29 0d 13 d6 13  |ine_Colour%)....|
0001c110  f2 77 28 4c 69 6e 65 5f  57 69 64 74 68 25 29 0d  |.w(Line_Width%).|
0001c120  13 d7 0e f2 77 28 53 74  79 6c 65 25 29 0d 13 d8  |....w(Style%)...|
0001c130  05 e1 0d 13 d9 05 3a 0d  13 da 09 dd 20 f2 67 61  |......:..... .ga|
0001c140  0d 13 db 14 ea 20 6f 62  6a 65 63 74 5f 6c 65 6e  |..... object_len|
0001c150  67 74 68 25 0d 13 dc 09  f2 77 28 30 29 0d 13 dd  |gth%.....w(0)...|
0001c160  28 6f 62 6a 65 63 74 5f  6c 65 6e 67 74 68 25 3d  |(object_length%=|
0001c170  66 69 6c 65 5f 70 6f 69  6e 74 65 72 25 2d 6f 62  |file_pointer%-ob|
0001c180  6a 65 63 74 25 0d 13 de  1c 6f 62 6a 65 63 74 25  |ject%....object%|
0001c190  21 34 3d 6f 62 6a 65 63  74 5f 6c 65 6e 67 74 68  |!4=object_length|
0001c1a0  25 0d 13 df 05 e1 0d 13  e0 05 3a 0d 13 e1 0c dd  |%.........:.....|
0001c1b0  20 f2 77 28 78 25 29 0d  13 e2 3e e7 20 66 69 6c  | .w(x%)...>. fil|
0001c1c0  65 5f 70 6f 69 6e 74 65  72 25 3e 66 69 6c 65 5f  |e_pointer%>file_|
0001c1d0  6c 65 6e 67 74 68 25 20  8c 20 85 20 30 2c 22 46  |length% . . 0,"F|
0001c1e0  69 6c 65 20 62 75 66 66  65 72 20 74 6f 6f 20 73  |ile buffer too s|
0001c1f0  68 6f 72 74 22 0d 13 e3  15 21 66 69 6c 65 5f 70  |hort"....!file_p|
0001c200  6f 69 6e 74 65 72 25 3d  78 25 0d 13 e4 14 66 69  |ointer%=x%....fi|
0001c210  6c 65 5f 70 6f 69 6e 74  65 72 25 2b 3d 34 0d 13  |le_pointer%+=4..|
0001c220  e5 05 e1 0d 13 e6 05 3a  0d 13 e7 22 dd 20 f2 62  |.......:...". .b|
0001c230  61 28 78 6d 69 6e 25 2c  79 6d 69 6e 25 2c 78 6d  |a(xmin%,ymin%,xm|
0001c240  61 78 25 2c 79 6d 61 78  25 29 0d 13 e8 10 f2 77  |ax%,ymax%).....w|
0001c250  28 78 6d 69 6e 25 3c 3c  38 29 0d 13 e9 10 f2 77  |(xmin%<<8).....w|
0001c260  28 79 6d 69 6e 25 3c 3c  38 29 0d 13 ea 10 f2 77  |(ymin%<<8).....w|
0001c270  28 78 6d 61 78 25 3c 3c  38 29 0d 13 eb 10 f2 77  |(xmax%<<8).....w|
0001c280  28 79 6d 61 78 25 3c 3c  38 29 0d 13 ec 14 f2 68  |(ymax%<<8).....h|
0001c290  61 28 78 6d 61 78 25 2c  79 6d 61 78 25 29 0d 13  |a(xmax%,ymax%)..|
0001c2a0  ed 05 e1 0d 13 ee 05 3a  0d 13 ef 10 dd 20 f2 68  |.......:..... .h|
0001c2b0  61 28 78 25 2c 79 25 29  0d 13 f0 2b e7 20 78 25  |a(x%,y%)...+. x%|
0001c2c0  3e 28 28 64 66 69 6c 65  25 21 33 32 29 3e 3e 38  |>((dfile%!32)>>8|
0001c2d0  29 20 8c 20 64 66 69 6c  65 25 21 33 32 3d 78 25  |) . dfile%!32=x%|
0001c2e0  3c 3c 38 0d 13 f1 2b e7  20 79 25 3e 28 28 64 66  |<<8...+. y%>((df|
0001c2f0  69 6c 65 25 21 33 36 29  3e 3e 38 29 20 8c 20 64  |ile%!36)>>8) . d|
0001c300  66 69 6c 65 25 21 33 36  3d 79 25 3c 3c 38 0d 13  |file%!36=y%<<8..|
0001c310  f2 05 e1 0d 13 f3 05 3a  0d 13 f4 15 dd 20 f2 6f  |.......:..... .o|
0001c320  65 28 67 72 6f 75 70 6e  61 6d 65 24 29 0d 13 f5  |e(groupname$)...|
0001c330  1a 6d 67 73 74 61 72 74  25 3d 66 69 6c 65 5f 70  |.mgstart%=file_p|
0001c340  6f 69 6e 74 65 72 25 0d  13 f6 10 6d 67 73 74 61  |ointer%....mgsta|
0001c350  72 74 25 21 30 3d 36 0d  13 f7 10 6d 67 73 74 61  |rt%!0=6....mgsta|
0001c360  72 74 25 21 34 3d 30 0d  13 f8 16 6d 67 73 74 61  |rt%!4=0....mgsta|
0001c370  72 74 25 21 38 3d 35 30  30 30 3c 3c 38 0d 13 f9  |rt%!8=5000<<8...|
0001c380  18 6d 67 73 74 61 72 74  25 21 31 32 3d 35 30 30  |.mgstart%!12=500|
0001c390  30 30 3c 3c 38 0d 13 fa  11 6d 67 73 74 61 72 74  |00<<8....mgstart|
0001c3a0  25 21 31 36 3d 30 0d 13  fb 11 6d 67 73 74 61 72  |%!16=0....mgstar|
0001c3b0  74 25 21 32 30 3d 30 0d  13 fc 15 66 69 6c 65 5f  |t%!20=0....file_|
0001c3c0  70 6f 69 6e 74 65 72 25  2b 3d 32 34 0d 13 fd 1e  |pointer%+=24....|
0001c3d0  67 72 6f 75 70 6e 61 6d  65 24 3d c0 67 72 6f 75  |groupname$=.grou|
0001c3e0  70 6e 61 6d 65 24 2c 31  31 29 0d 13 fe 24 67 72  |pname$,11)...$gr|
0001c3f0  6f 75 70 6e 61 6d 65 24  2b 3d c4 31 31 2d a9 67  |oupname$+=.11-.g|
0001c400  72 6f 75 70 6e 61 6d 65  24 2c 22 20 22 29 0d 13  |roupname$," ")..|
0001c410  ff 1f 24 28 66 69 6c 65  5f 70 6f 69 6e 74 65 72  |..$(file_pointer|
0001c420  25 29 3d 67 72 6f 75 70  6e 61 6d 65 24 0d 14 00  |%)=groupname$...|
0001c430  15 66 69 6c 65 5f 70 6f  69 6e 74 65 72 25 2b 3d  |.file_pointer%+=|
0001c440  31 32 0d 14 01 05 e1 0d  14 02 05 3a 0d 14 03 15  |12.........:....|
0001c450  dd 20 f2 6e 65 28 67 72  6f 75 70 6e 61 6d 65 24  |. .ne(groupname$|
0001c460  29 0d 14 04 13 63 75 72  72 65 6e 74 67 72 6f 75  |)....currentgrou|
0001c470  70 25 3d b9 0d 14 05 1d  67 72 6f 75 70 73 74 61  |p%=.....groupsta|
0001c480  72 74 25 3d 66 69 6c 65  5f 70 6f 69 6e 74 65 72  |rt%=file_pointer|
0001c490  25 0d 14 06 13 67 72 6f  75 70 73 74 61 72 74 25  |%....groupstart%|
0001c4a0  21 30 3d 36 0d 14 07 13  67 72 6f 75 70 73 74 61  |!0=6....groupsta|
0001c4b0  72 74 25 21 34 3d 30 0d  14 08 19 67 72 6f 75 70  |rt%!4=0....group|
0001c4c0  73 74 61 72 74 25 21 38  3d 35 30 30 30 3c 3c 38  |start%!8=5000<<8|
0001c4d0  0d 14 09 1b 67 72 6f 75  70 73 74 61 72 74 25 21  |....groupstart%!|
0001c4e0  31 32 3d 35 30 30 30 30  3c 3c 38 0d 14 0a 14 67  |12=50000<<8....g|
0001c4f0  72 6f 75 70 73 74 61 72  74 25 21 31 36 3d 30 0d  |roupstart%!16=0.|
0001c500  14 0b 14 67 72 6f 75 70  73 74 61 72 74 25 21 32  |...groupstart%!2|
0001c510  30 3d 30 0d 14 0c 15 66  69 6c 65 5f 70 6f 69 6e  |0=0....file_poin|
0001c520  74 65 72 25 2b 3d 32 34  0d 14 0d 1e 67 72 6f 75  |ter%+=24....grou|
0001c530  70 6e 61 6d 65 24 3d c0  67 72 6f 75 70 6e 61 6d  |pname$=.groupnam|
0001c540  65 24 2c 31 31 29 0d 14  0e 24 67 72 6f 75 70 6e  |e$,11)...$groupn|
0001c550  61 6d 65 24 2b 3d c4 31  31 2d a9 67 72 6f 75 70  |ame$+=.11-.group|
0001c560  6e 61 6d 65 24 2c 22 20  22 29 0d 14 0f 1f 24 28  |name$," ")....$(|
0001c570  66 69 6c 65 5f 70 6f 69  6e 74 65 72 25 29 3d 67  |file_pointer%)=g|
0001c580  72 6f 75 70 6e 61 6d 65  24 0d 14 10 15 66 69 6c  |roupname$....fil|
0001c590  65 5f 70 6f 69 6e 74 65  72 25 2b 3d 31 32 0d 14  |e_pointer%+=12..|
0001c5a0  11 05 e1 0d 14 12 05 3a  0d 14 13 1a dd 20 f2 78  |.......:..... .x|
0001c5b0  65 28 6c 78 25 2c 6c 79  25 2c 68 78 25 2c 68 79  |e(lx%,ly%,hx%,hy|
0001c5c0  25 29 0d 14 14 35 e7 20  6c 78 25 3c 28 28 67 72  |%)...5. lx%<((gr|
0001c5d0  6f 75 70 73 74 61 72 74  25 21 38 29 3e 3e 38 29  |oupstart%!8)>>8)|
0001c5e0  20 8c 20 67 72 6f 75 70  73 74 61 72 74 25 21 38  | . groupstart%!8|
0001c5f0  3d 6c 78 25 3c 3c 38 0d  14 15 37 e7 20 6c 79 25  |=lx%<<8...7. ly%|
0001c600  3c 28 28 67 72 6f 75 70  73 74 61 72 74 25 21 31  |<((groupstart%!1|
0001c610  32 29 3e 3e 38 29 20 8c  20 67 72 6f 75 70 73 74  |2)>>8) . groupst|
0001c620  61 72 74 25 21 31 32 3d  6c 79 25 3c 3c 38 0d 14  |art%!12=ly%<<8..|
0001c630  16 3b e7 20 68 78 25 3e  28 28 67 72 6f 75 70 73  |.;. hx%>((groups|
0001c640  74 61 72 74 25 21 31 36  29 3e 3e 38 29 20 8c 20  |tart%!16)>>8) . |
0001c650  67 72 6f 75 70 73 74 61  72 74 25 21 31 36 3d 28  |groupstart%!16=(|
0001c660  68 78 25 2b 31 29 3c 3c  38 0d 14 17 3b e7 20 68  |hx%+1)<<8...;. h|
0001c670  79 25 3e 28 28 67 72 6f  75 70 73 74 61 72 74 25  |y%>((groupstart%|
0001c680  21 32 30 29 3e 3e 38 29  20 8c 20 67 72 6f 75 70  |!20)>>8) . group|
0001c690  73 74 61 72 74 25 21 32  30 3d 28 68 79 25 2b 31  |start%!20=(hy%+1|
0001c6a0  29 3c 3c 38 0d 14 18 05  e1 0d 14 19 05 3a 0d 14  |)<<8.........:..|
0001c6b0  1a 1a dd 20 f2 79 65 28  6c 78 25 2c 6c 79 25 2c  |... .ye(lx%,ly%,|
0001c6c0  68 78 25 2c 68 79 25 29  0d 14 1b 2f e7 20 6c 78  |hx%,hy%).../. lx|
0001c6d0  25 3c 28 28 6d 67 73 74  61 72 74 25 21 38 29 3e  |%<((mgstart%!8)>|
0001c6e0  3e 38 29 20 8c 20 6d 67  73 74 61 72 74 25 21 38  |>8) . mgstart%!8|
0001c6f0  3d 6c 78 25 3c 3c 38 0d  14 1c 31 e7 20 6c 79 25  |=lx%<<8...1. ly%|
0001c700  3c 28 28 6d 67 73 74 61  72 74 25 21 31 32 29 3e  |<((mgstart%!12)>|
0001c710  3e 38 29 20 8c 20 6d 67  73 74 61 72 74 25 21 31  |>8) . mgstart%!1|
0001c720  32 3d 6c 79 25 3c 3c 38  0d 14 1d 35 e7 20 68 78  |2=ly%<<8...5. hx|
0001c730  25 3e 28 28 6d 67 73 74  61 72 74 25 21 31 36 29  |%>((mgstart%!16)|
0001c740  3e 3e 38 29 20 8c 20 6d  67 73 74 61 72 74 25 21  |>>8) . mgstart%!|
0001c750  31 36 3d 28 68 78 25 2b  31 29 3c 3c 38 0d 14 1e  |16=(hx%+1)<<8...|
0001c760  35 e7 20 68 79 25 3e 28  28 6d 67 73 74 61 72 74  |5. hy%>((mgstart|
0001c770  25 21 32 30 29 3e 3e 38  29 20 8c 20 6d 67 73 74  |%!20)>>8) . mgst|
0001c780  61 72 74 25 21 32 30 3d  28 68 79 25 2b 31 29 3c  |art%!20=(hy%+1)<|
0001c790  3c 38 0d 14 1f 05 e1 0d  14 20 05 3a 0d 14 21 09  |<8....... .:..!.|
0001c7a0  dd 20 f2 71 62 0d 14 22  13 63 75 72 72 65 6e 74  |. .qb..".current|
0001c7b0  67 72 6f 75 70 25 3d a3  0d 14 23 2b 67 72 6f 75  |group%=...#+grou|
0001c7c0  70 73 74 61 72 74 25 21  34 3d 66 69 6c 65 5f 70  |pstart%!4=file_p|
0001c7d0  6f 69 6e 74 65 72 25 2d  67 72 6f 75 70 73 74 61  |ointer%-groupsta|
0001c7e0  72 74 25 0d 14 24 05 e1  0d 14 25 05 3a 0d 14 26  |rt%..$....%.:..&|
0001c7f0  10 dd 20 f2 65 61 28 78  25 2c 79 25 29 0d 14 27  |.. .ea(x%,y%)..'|
0001c800  23 f2 77 28 32 29 20 3a  20 f2 77 28 78 25 2a 32  |#.w(2) : .w(x%*2|
0001c810  35 36 29 20 3a 20 f2 77  28 79 25 2a 32 35 36 29  |56) : .w(y%*256)|
0001c820  0d 14 28 05 e1 0d 14 29  05 3a 0d 14 2a 10 dd 20  |..(....).:..*.. |
0001c830  f2 63 61 28 78 25 2c 79  25 29 0d 14 2b 23 f2 77  |.ca(x%,y%)..+#.w|
0001c840  28 38 29 20 3a 20 f2 77  28 78 25 2a 32 35 36 29  |(8) : .w(x%*256)|
0001c850  20 3a 20 f2 77 28 79 25  2a 32 35 36 29 0d 14 2c  | : .w(y%*256)..,|
0001c860  05 e1 0d 14 2d 05 3a 0d  14 2e 38 dd 20 f2 7a 28  |....-.:...8. .z(|
0001c870  43 6f 6c 6f 75 72 25 2c  48 69 6e 74 25 2c 53 74  |Colour%,Hint%,St|
0001c880  79 6c 65 25 2c 78 53 69  7a 65 25 2c 79 53 69 7a  |yle%,xSize%,ySiz|
0001c890  65 25 2c 78 25 2c 79 25  2c 54 65 78 74 24 29 0d  |e%,x%,y%,Text$).|
0001c8a0  14 2f 1f ea 20 74 65 78  74 5f 6f 62 6a 65 63 74  |./.. text_object|
0001c8b0  25 2c 77 64 25 2c 68 74  25 2c 64 65 63 25 0d 14  |%,wd%,ht%,dec%..|
0001c8c0  30 1e 74 65 78 74 5f 6f  62 6a 65 63 74 25 3d 66  |0.text_object%=f|
0001c8d0  69 6c 65 5f 70 6f 69 6e  74 65 72 25 0d 14 31 09  |ile_pointer%..1.|
0001c8e0  f2 77 28 31 29 0d 14 32  09 f2 77 28 30 29 0d 14  |.w(1)..2..w(0)..|
0001c8f0  33 30 f2 64 61 28 53 74  79 6c 65 25 2c 78 53 69  |30.da(Style%,xSi|
0001c900  7a 65 25 2c 79 53 69 7a  65 25 2c 54 65 78 74 24  |ze%,ySize%,Text$|
0001c910  2c 77 64 25 2c 68 74 25  2c 64 65 63 25 29 0d 14  |,wd%,ht%,dec%)..|
0001c920  34 26 f2 62 61 28 78 25  2c 79 25 2b 64 65 63 25  |4&.ba(x%,y%+dec%|
0001c930  2c 78 25 2b 77 64 25 2c  79 25 2b 68 74 25 2b 64  |,x%+wd%,y%+ht%+d|
0001c940  65 63 25 29 0d 14 35 0f  f2 77 28 43 6f 6c 6f 75  |ec%)..5..w(Colou|
0001c950  72 25 29 0d 14 36 0d f2  77 28 48 69 6e 74 25 29  |r%)..6..w(Hint%)|
0001c960  0d 14 37 0e f2 77 28 53  74 79 6c 65 25 29 0d 14  |..7..w(Style%)..|
0001c970  38 12 f2 77 28 78 53 69  7a 65 25 2a 36 34 30 29  |8..w(xSize%*640)|
0001c980  0d 14 39 12 f2 77 28 79  53 69 7a 65 25 2a 36 34  |..9..w(ySize%*64|
0001c990  30 29 0d 14 3a 0d f2 77  28 78 25 3c 3c 38 29 0d  |0)..:..w(x%<<8).|
0001c9a0  14 3b 0d f2 77 28 79 25  3c 3c 38 29 0d 14 3c 0d  |.;..w(y%<<8)..<.|
0001c9b0  f2 79 28 54 65 78 74 24  29 0d 14 3d 2d 74 65 78  |.y(Text$)..=-tex|
0001c9c0  74 5f 6f 62 6a 65 63 74  25 21 34 3d 66 69 6c 65  |t_object%!4=file|
0001c9d0  5f 70 6f 69 6e 74 65 72  25 2d 74 65 78 74 5f 6f  |_pointer%-text_o|
0001c9e0  62 6a 65 63 74 25 0d 14  3e 3e e7 20 63 75 72 72  |bject%..>>. curr|
0001c9f0  65 6e 74 67 72 6f 75 70  25 3d b9 20 8c 20 f2 78  |entgroup%=. . .x|
0001ca00  65 28 78 25 2c 79 25 2b  64 65 63 25 2c 78 25 2b  |e(x%,y%+dec%,x%+|
0001ca10  77 64 25 2b 31 2c 79 25  2b 68 74 25 2b 64 65 63  |wd%+1,y%+ht%+dec|
0001ca20  25 2b 31 29 0d 14 3f 2a  f2 79 65 28 78 25 2c 79  |%+1)..?*.ye(x%,y|
0001ca30  25 2b 64 65 63 25 2c 78  25 2b 77 64 25 2b 31 2c  |%+dec%,x%+wd%+1,|
0001ca40  79 25 2b 68 74 25 2b 64  65 63 25 2b 31 29 0d 14  |y%+ht%+dec%+1)..|
0001ca50  40 05 e1 0d 14 41 05 3a  0d 14 42 2f dd 20 f2 64  |@....A.:..B/. .d|
0001ca60  61 28 66 6f 6e 74 25 2c  78 25 2c 79 25 2c 74 65  |a(font%,x%,y%,te|
0001ca70  78 74 24 2c f8 20 77 64  25 2c f8 20 68 74 25 2c  |xt$,. wd%,. ht%,|
0001ca80  f8 20 64 65 63 25 29 0d  14 43 2b ea 20 70 74 72  |. dec%)..C+. ptr|
0001ca90  25 2c 66 6f 6e 74 24 2c  68 61 6e 25 2c 63 68 61  |%,font$,han%,cha|
0001caa0  72 25 2c 78 6c 25 2c 79  6c 25 2c 78 68 25 2c 79  |r%,xl%,yl%,xh%,y|
0001cab0  68 25 0d 14 44 12 70 74  72 25 3d 64 66 69 6c 65  |h%..D.ptr%=dfile|
0001cac0  25 2b 34 30 0d 14 45 0f  c8 95 20 21 70 74 72 25  |%+40..E... !ptr%|
0001cad0  3c 3e 30 0d 14 46 10 70  74 72 25 2b 3d 70 74 72  |<>0..F.ptr%+=ptr|
0001cae0  25 21 34 0d 14 47 05 ce  0d 14 48 0b 70 74 72 25  |%!4..G....H.ptr%|
0001caf0  2b 3d 38 0d 14 49 13 c8  95 20 3f 70 74 72 25 3c  |+=8..I... ?ptr%<|
0001cb00  3e 66 6f 6e 74 25 0d 14  4a 05 f5 0d 14 4b 0b 70  |>font%..J....K.p|
0001cb10  74 72 25 2b 3d 31 0d 14  4c 0d fd 20 3f 70 74 72  |tr%+=1..L.. ?ptr|
0001cb20  25 3d 30 0d 14 4d 0e c8  95 20 3f 70 74 72 25 3d  |%=0..M... ?ptr%=|
0001cb30  30 0d 14 4e 0b 70 74 72  25 2b 3d 31 0d 14 4f 05  |0..N.ptr%+=1..O.|
0001cb40  ce 0d 14 50 05 ce 0d 14  51 0b 70 74 72 25 2b 3d  |...P....Q.ptr%+=|
0001cb50  31 0d 14 52 0c 66 6f 6e  74 24 3d 22 22 0d 14 53  |1..R.font$=""..S|
0001cb60  0f c8 95 20 3f 70 74 72  25 3c 3e 30 0d 14 54 13  |... ?ptr%<>0..T.|
0001cb70  66 6f 6e 74 24 2b 3d bd  28 3f 70 74 72 25 29 0d  |font$+=.(?ptr%).|
0001cb80  14 55 0b 70 74 72 25 2b  3d 31 0d 14 56 05 ce 0d  |.U.ptr%+=1..V...|
0001cb90  14 57 2e c8 99 20 26 30  30 30 34 30 30 38 31 2c  |.W... &00040081,|
0001cba0  2c 66 6f 6e 74 24 2c 78  25 2a 31 36 2c 79 25 2a  |,font$,x%*16,y%*|
0001cbb0  31 36 2c 30 2c 30 20 b8  20 68 61 6e 25 0d 14 58  |16,0,0 . han%..X|
0001cbc0  0e 62 6c 6f 63 6b 25 21  30 3d 30 0d 14 59 0e 62  |.block%!0=0..Y.b|
0001cbd0  6c 6f 63 6b 25 21 34 3d  30 0d 14 5a 0e 62 6c 6f  |lock%!4=0..Z.blo|
0001cbe0  63 6b 25 21 38 3d 30 0d  14 5b 0f 62 6c 6f 63 6b  |ck%!8=0..[.block|
0001cbf0  25 21 31 32 3d 30 0d 14  5c 10 62 6c 6f 63 6b 25  |%!12=0..\.block%|
0001cc00  21 31 36 3d 2d 31 0d 14  5d 40 c8 99 20 26 30 30  |!16=-1..]@.. &00|
0001cc10  30 34 30 30 41 31 2c 68  61 6e 25 2c 74 65 78 74  |0400A1,han%,text|
0001cc20  24 2c 28 31 3c 3c 35 29  2b 28 31 3c 3c 31 38 29  |$,(1<<5)+(1<<18)|
0001cc30  2c 31 3c 33 30 2c 31 3c  3c 33 30 2c 62 6c 6f 63  |,1<30,1<<30,bloc|
0001cc40  6b 25 2c 30 2c 30 0d 14  5e 30 c8 99 20 26 30 30  |k%,0,0..^0.. &00|
0001cc50  30 34 30 30 38 38 2c 2c  62 6c 6f 63 6b 25 21 32  |040088,,block%!2|
0001cc60  30 2c 62 6c 6f 63 6b 25  21 32 34 20 b8 20 2c 78  |0,block%!24 . ,x|
0001cc70  6c 25 2c 79 6c 25 0d 14  5f 30 c8 99 20 26 30 30  |l%,yl%.._0.. &00|
0001cc80  30 34 30 30 38 38 2c 2c  62 6c 6f 63 6b 25 21 32  |040088,,block%!2|
0001cc90  38 2c 62 6c 6f 63 6b 25  21 33 32 20 b8 20 2c 78  |8,block%!32 . ,x|
0001cca0  68 25 2c 79 68 25 0d 14  60 0c 64 65 63 25 3d 79  |h%,yh%..`.dec%=y|
0001ccb0  6c 25 0d 14 61 0f 77 64  25 3d 78 68 25 2d 78 6c  |l%..a.wd%=xh%-xl|
0001ccc0  25 0d 14 62 0f 68 74 25  3d 79 68 25 2d 79 6c 25  |%..b.ht%=yh%-yl%|
0001ccd0  0d 14 63 15 c8 99 20 26  30 30 30 34 30 30 38 32  |..c... &00040082|
0001cce0  2c 68 61 6e 25 0d 14 64  05 e1 0d 14 65 05 3a 0d  |,han%..d....e.:.|
0001ccf0  14 66 09 dd 20 f2 61 61  0d 14 67 1e 66 6f 6e 74  |.f.. .aa..g.font|
0001cd00  5f 6f 62 6a 65 63 74 25  3d 66 69 6c 65 5f 70 6f  |_object%=file_po|
0001cd10  69 6e 74 65 72 25 0d 14  68 12 66 6f 6e 74 5f 6e  |inter%..h.font_n|
0001cd20  75 6d 62 65 72 25 3d 31  0d 14 69 09 f2 77 28 30  |umber%=1..i..w(0|
0001cd30  29 0d 14 6a 09 f2 77 28  38 29 0d 14 6b 05 e1 0d  |)..j..w(8)..k...|
0001cd40  14 6c 05 3a 0d 14 6d 0f  dd 20 f2 78 28 66 6f 6e  |.l.:..m.. .x(fon|
0001cd50  74 24 29 0d 14 6e 1f 3f  66 69 6c 65 5f 70 6f 69  |t$)..n.?file_poi|
0001cd60  6e 74 65 72 25 3d 66 6f  6e 74 5f 6e 75 6d 62 65  |nter%=font_numbe|
0001cd70  72 25 0d 14 6f 13 66 6f  6e 74 5f 6e 75 6d 62 65  |r%..o.font_numbe|
0001cd80  72 25 2b 3d 31 0d 14 70  14 66 69 6c 65 5f 70 6f  |r%+=1..p.file_po|
0001cd90  69 6e 74 65 72 25 2b 3d  31 0d 14 71 0d f2 79 28  |inter%+=1..q..y(|
0001cda0  66 6f 6e 74 24 29 0d 14  72 2d 66 6f 6e 74 5f 6f  |font$)..r-font_o|
0001cdb0  62 6a 65 63 74 25 21 34  3d 66 69 6c 65 5f 70 6f  |bject%!4=file_po|
0001cdc0  69 6e 74 65 72 25 2d 66  6f 6e 74 5f 6f 62 6a 65  |inter%-font_obje|
0001cdd0  63 74 25 0d 14 73 05 e1  0d 14 74 05 3a 0d 14 75  |ct%..s....t.:..u|
0001cde0  11 dd 20 f2 79 28 73 74  72 69 6e 67 24 29 0d 14  |.. .y(string$)..|
0001cdf0  76 1a 24 66 69 6c 65 5f  70 6f 69 6e 74 65 72 25  |v.$file_pointer%|
0001ce00  3d 73 74 72 69 6e 67 24  0d 14 77 1b 66 69 6c 65  |=string$..w.file|
0001ce10  5f 70 6f 69 6e 74 65 72  25 2b 3d a9 73 74 72 69  |_pointer%+=.stri|
0001ce20  6e 67 24 0d 14 78 14 3f  66 69 6c 65 5f 70 6f 69  |ng$..x.?file_poi|
0001ce30  6e 74 65 72 25 3d 30 0d  14 79 14 66 69 6c 65 5f  |nter%=0..y.file_|
0001ce40  70 6f 69 6e 74 65 72 25  2b 3d 31 0d 14 7a 1d c8  |pointer%+=1..z..|
0001ce50  95 20 66 69 6c 65 5f 70  6f 69 6e 74 65 72 25 20  |. file_pointer% |
0001ce60  83 20 34 20 3c 3e 20 30  0d 14 7b 14 3f 66 69 6c  |. 4 <> 0..{.?fil|
0001ce70  65 5f 70 6f 69 6e 74 65  72 25 3d 30 0d 14 7c 14  |e_pointer%=0..|.|
0001ce80  66 69 6c 65 5f 70 6f 69  6e 74 65 72 25 2b 3d 31  |file_pointer%+=1|
0001ce90  0d 14 7d 05 ce 0d 14 7e  05 e1 0d 14 7f 05 3a 0d  |..}....~......:.|
0001cea0  14 80 0f dd 20 a4 62 28  73 69 7a 65 25 29 0d 14  |.... .b(size%)..|
0001ceb0  81 0c 73 69 7a 65 25 2b  3d 30 0d 14 82 0e 65 72  |..size%+=0....er|
0001cec0  72 66 6c 61 67 25 3d 30  0d 14 83 1b e7 20 68 65  |rflag%=0..... he|
0001ced0  61 70 25 3d 30 20 f2 67  65 28 73 69 7a 65 25 2b  |ap%=0 .ge(size%+|
0001cee0  31 36 29 0d 14 84 12 e7  20 ac 20 65 72 72 66 6c  |16)..... . errfl|
0001cef0  61 67 25 20 8c 0d 14 85  22 c8 99 20 26 30 30 30  |ag% ....".. &000|
0001cf00  32 30 30 31 44 2c 31 2c  68 65 61 70 25 20 b8 20  |2001D,1,heap% . |
0001cf10  2c 2c 66 72 65 65 25 0d  14 86 1e e7 20 66 72 65  |,,free%..... fre|
0001cf20  65 25 3c 73 69 7a 65 25  20 f2 79 62 28 73 69 7a  |e%<size% .yb(siz|
0001cf30  65 25 2c 31 29 0d 14 87  12 e7 20 ac 20 65 72 72  |e%,1)..... . err|
0001cf40  66 6c 61 67 25 20 8c 0d  14 88 28 c8 99 20 26 30  |flag% ....(.. &0|
0001cf50  30 30 32 30 30 31 44 2c  32 2c 68 65 61 70 25 2c  |002001D,2,heap%,|
0001cf60  2c 73 69 7a 65 25 20 b8  20 2c 2c 70 74 72 25 0d  |,size% . ,,ptr%.|
0001cf70  14 89 05 cd 0d 14 8a 05  cd 0d 14 8b 1b e7 20 65  |.............. e|
0001cf80  72 72 66 6c 61 67 25 20  8c 20 3d 30 20 8b 20 3d  |rrflag% . =0 . =|
0001cf90  70 74 72 25 0d 14 8c 05  3a 0d 14 8d 0e dd 20 a4  |ptr%....:..... .|
0001cfa0  68 28 70 74 72 25 29 0d  14 8e 1d c8 99 20 26 30  |h(ptr%)...... &0|
0001cfb0  30 30 32 30 30 31 44 2c  33 2c 68 65 61 70 25 2c  |002001D,3,heap%,|
0001cfc0  70 74 72 25 0d 14 8f 07  f2 76 63 0d 14 90 06 3d  |ptr%.....vc....=|
0001cfd0  30 0d 14 91 05 3a 0d 14  92 09 dd 20 f2 76 63 0d  |0....:..... .vc.|
0001cfe0  14 93 0e ea 20 73 25 2c  66 6c 61 67 25 0d 14 94  |.... s%,flag%...|
0001cff0  05 f5 0d 14 95 2e c8 99  20 26 30 30 30 32 30 30  |........ &000200|
0001d000  31 44 2c 35 2c 68 65 61  70 25 2c 2c 2d 70 61 67  |1D,5,heap%,,-pag|
0001d010  65 25 20 b8 20 2c 2c 2c  73 25 3b 66 6c 61 67 25  |e% . ,,,s%;flag%|
0001d020  0d 14 96 11 e7 20 66 6c  61 67 25 20 80 20 31 20  |..... flag% . 1 |
0001d030  8c 0d 14 97 1c c8 99 20  26 30 30 30 32 30 30 31  |....... &0002001|
0001d040  44 2c 35 2c 68 65 61 70  25 2c 2c 73 25 0d 14 98  |D,5,heap%,,s%...|
0001d050  05 cc 0d 14 99 22 c8 99  20 26 30 30 30 34 30 30  |.....".. &000400|
0001d060  45 43 2c 61 70 70 73 69  7a 65 25 2d 70 61 67 65  |EC,appsize%-page|
0001d070  25 2c 2d 31 0d 14 9a 24  61 70 70 73 69 7a 65 25  |%,-1...$appsize%|
0001d080  2d 3d 70 61 67 65 25 3a  68 65 61 70 73 69 7a 65  |-=page%:heapsize|
0001d090  25 2d 3d 70 61 67 65 25  0d 14 9b 05 cd 0d 14 9c  |%-=page%........|
0001d0a0  0f fd 20 66 6c 61 67 25  20 80 20 31 0d 14 9d 05  |.. flag% . 1....|
0001d0b0  e1 0d 14 9e 05 3a 0d 14  9f 17 dd 20 f2 6a 61 28  |.....:..... .ja(|
0001d0c0  f8 20 70 74 72 25 2c 73  69 7a 65 25 29 0d 14 a0  |. ptr%,size%)...|
0001d0d0  0b ea 20 66 6c 61 67 25  0d 14 a1 10 65 72 72 66  |.. flag%....errf|
0001d0e0  6c 61 67 25 3d 30 3a f5  0d 14 a2 32 c8 99 20 26  |lag%=0:....2.. &|
0001d0f0  30 30 30 32 30 30 31 44  2c 34 2c 68 65 61 70 25  |0002001D,4,heap%|
0001d100  2c 70 74 72 25 2c 73 69  7a 65 25 20 b8 20 2c 2c  |,ptr%,size% . ,,|
0001d110  70 74 72 25 3b 66 6c 61  67 25 0d 14 a3 1c e7 20  |ptr%;flag%..... |
0001d120  66 6c 61 67 25 20 80 20  31 20 f2 79 62 28 70 61  |flag% . 1 .yb(pa|
0001d130  67 65 25 2c 31 29 0d 14  a4 20 fd 20 28 66 6c 61  |ge%,1)... . (fla|
0001d140  67 25 20 80 20 31 29 3d  30 20 84 20 65 72 72 66  |g% . 1)=0 . errf|
0001d150  6c 61 67 25 3d b9 0d 14  a5 12 e7 20 ac 20 65 72  |lag%=...... . er|
0001d160  72 66 6c 61 67 25 20 8c  0d 14 a6 11 e7 20 73 69  |rflag% ...... si|
0001d170  7a 65 25 3c 30 20 f2 76  63 0d 14 a7 05 cd 0d 14  |ze%<0 .vc.......|
0001d180  a8 05 e1 0d 14 a9 05 3a  0d 14 aa 12 dd 20 f2 79  |.......:..... .y|
0001d190  62 28 6d 65 6d 25 2c 78  25 29 0d 14 ab 0a ea 20  |b(mem%,x%)..... |
0001d1a0  6e 65 77 25 0d 14 ac 28  c8 99 20 26 30 30 30 34  |new%...(.. &0004|
0001d1b0  30 30 45 43 2c 61 70 70  73 69 7a 65 25 2b 6d 65  |00EC,appsize%+me|
0001d1c0  6d 25 2c 2d 31 20 b8 20  6e 65 77 25 0d 14 ad 1a  |m%,-1 . new%....|
0001d1d0  e7 20 6e 65 77 25 3c 61  70 70 73 69 7a 65 25 2b  |. new%<appsize%+|
0001d1e0  6d 65 6d 25 20 8c 0d 14  ae 0e 65 72 72 66 6c 61  |mem% .....errfla|
0001d1f0  67 25 3d b9 0d 14 af 1c  c8 99 20 26 30 30 30 34  |g%=....... &0004|
0001d200  30 30 45 43 2c 61 70 70  73 69 7a 65 25 2c 2d 31  |00EC,appsize%,-1|
0001d210  0d 14 b0 1f 85 20 31 3c  3c 33 30 2c 22 4e 6f 74  |..... 1<<30,"Not|
0001d220  20 65 6e 6f 75 67 68 20  6d 65 6d 6f 72 79 22 0d  | enough memory".|
0001d230  14 b1 05 cc 0d 14 b2 2c  e7 20 78 25 20 c8 99 20  |.......,. x% .. |
0001d240  26 30 30 30 32 30 30 31  44 2c 35 2c 68 65 61 70  |&0002001D,5,heap|
0001d250  25 2c 2c 6e 65 77 25 2d  61 70 70 73 69 7a 65 25  |%,,new%-appsize%|
0001d260  0d 14 b3 1a 68 65 61 70  73 69 7a 65 25 3d 6e 65  |....heapsize%=ne|
0001d270  77 25 2b 26 38 30 30 30  2d 93 0d 14 b4 11 61 70  |w%+&8000-.....ap|
0001d280  70 73 69 7a 65 25 3d 6e  65 77 25 0d 14 b5 05 cd  |psize%=new%.....|
0001d290  0d 14 b6 05 e1 0d 14 b7  05 3a 0d 14 b8 14 dd 20  |.........:..... |
0001d2a0  f2 67 65 28 69 6e 69 74  73 69 7a 65 25 29 0d 14  |.ge(initsize%)..|
0001d2b0  b9 14 f2 79 62 28 69 6e  69 74 73 69 7a 65 25 2c  |...yb(initsize%,|
0001d2c0  30 29 0d 14 ba 12 e7 20  ac 20 65 72 72 66 6c 61  |0)..... . errfla|
0001d2d0  67 25 20 8c 0d 14 bb 0b  68 65 61 70 25 3d 93 0d  |g% .....heap%=..|
0001d2e0  14 bc 23 c8 99 20 26 30  30 30 32 30 30 31 44 2c  |..#.. &0002001D,|
0001d2f0  30 2c 68 65 61 70 25 2c  2c 68 65 61 70 73 69 7a  |0,heap%,,heapsiz|
0001d300  65 25 0d 14 bd 05 cd 0d  14 be 05 e1 0d 14 bf 05  |e%..............|
0001d310  3a 0d 14 c0 05 3a 0d 14  c1 09 dd 20 f2 6a 63 0d  |:....:..... .jc.|
0001d320  14 c2 08 ea 20 66 25 0d  14 c3 16 66 6f 6e 74 64  |.... f%....fontd|
0001d330  61 74 61 25 3d a4 62 28  26 31 30 30 29 0d 14 c4  |ata%=.b(&100)...|
0001d340  2e e3 20 66 25 3d 66 6f  6e 74 64 61 74 61 25 20  |.. f%=fontdata% |
0001d350  b8 20 66 6f 6e 74 64 61  74 61 25 2b 32 35 32 20  |. fontdata%+252 |
0001d360  88 20 34 3a 21 66 25 3d  30 3a ed 0d 14 c5 05 e1  |. 4:!f%=0:......|
0001d370  0d 14 c6 05 3a 0d 14 c7  09 dd 20 f2 75 63 0d 14  |....:..... .uc..|
0001d380  c8 08 ea 20 66 25 0d 14  c9 10 e3 20 66 25 3d 30  |... f%..... f%=0|
0001d390  20 b8 20 32 35 35 0d 14  ca 15 c8 95 20 66 6f 6e  | . 255...... fon|
0001d3a0  74 64 61 74 61 25 3f 66  25 3e 30 0d 14 cb 13 66  |tdata%?f%>0....f|
0001d3b0  6f 6e 74 64 61 74 61 25  3f 66 25 2d 3d 31 0d 14  |ontdata%?f%-=1..|
0001d3c0  cc 13 c8 99 20 26 30 30  30 34 30 30 38 32 2c 66  |.... &00040082,f|
0001d3d0  25 0d 14 cd 05 ce 0d 14  ce 05 ed 0d 14 cf 1b 66  |%..............f|
0001d3e0  6f 6e 74 64 61 74 61 25  3d a4 68 28 66 6f 6e 74  |ontdata%=.h(font|
0001d3f0  64 61 74 61 25 29 0d 14  d0 05 e1 0d 14 d1 05 3a  |data%).........:|
0001d400  0d 14 d2 0c dd 20 a4 70  28 61 24 29 0d 14 d3 0e  |..... .p(a$)....|
0001d410  ea 20 61 25 2c 6c 25 2c  73 25 0d 14 d4 0a 61 25  |. a%,l%,s%....a%|
0001d420  3d 8e 61 24 0d 14 d5 0d  6c 25 3d a2 23 61 25 2b  |=.a$....l%=.#a%+|
0001d430  34 0d 14 d6 09 d9 20 23  61 25 0d 14 d7 0d 73 25  |4..... #a%....s%|
0001d440  3d a4 62 28 6c 25 29 0d  14 d8 0a 21 73 25 3d 6c  |=.b(l%)....!s%=l|
0001d450  25 0d 14 d9 1b c8 99 20  26 30 30 30 30 30 30 32  |%...... &0000002|
0001d460  45 2c 26 31 30 41 2c 73  25 2c 61 24 0d 14 da 07  |E,&10A,s%,a$....|
0001d470  3d 73 25 0d 14 db 05 3a  0d 14 dc 29 dd 20 f2 65  |=s%....:...). .e|
0001d480  65 28 62 6c 6f 63 6b 25  2c 6d 69 6e 78 25 2c 6d  |e(block%,minx%,m|
0001d490  69 6e 79 25 2c 6d 61 78  78 25 2c 6d 61 78 79 25  |iny%,maxx%,maxy%|
0001d4a0  29 0d 14 dd 13 62 6c 6f  63 6b 25 21 20 30 3d 6d  |)....block%! 0=m|
0001d4b0  69 6e 78 25 0d 14 de 13  62 6c 6f 63 6b 25 21 20  |inx%....block%! |
0001d4c0  34 3d 6d 69 6e 79 25 0d  14 df 13 62 6c 6f 63 6b  |4=miny%....block|
0001d4d0  25 21 20 38 3d 6d 61 78  78 25 0d 14 e0 13 62 6c  |%! 8=maxx%....bl|
0001d4e0  6f 63 6b 25 21 31 32 3d  6d 61 78 79 25 0d 14 e1  |ock%!12=maxy%...|
0001d4f0  05 e1 0d 14 e2 05 3a 0d  14 e3 14 dd 20 f2 76 62  |......:..... .vb|
0001d500  28 f8 20 78 25 2c f8 20  79 25 29 0d 14 e4 0d ea  |(. x%,. y%).....|
0001d510  20 78 70 25 2c 79 70 25  0d 14 e5 1e c8 99 20 26  | xp%,yp%...... &|
0001d520  30 30 30 30 30 30 33 35  2c 2d 31 2c 34 20 20 b8  |00000035,-1,4  .|
0001d530  20 2c 2c 78 70 25 0d 14  e6 1e c8 99 20 26 30 30  | ,,xp%...... &00|
0001d540  30 30 30 30 33 35 2c 2d  31 2c 35 20 20 b8 20 2c  |000035,-1,5  . ,|
0001d550  2c 79 70 25 0d 14 e7 1d  c8 99 20 26 30 30 30 30  |,yp%...... &0000|
0001d560  30 30 33 35 2c 2d 31 2c  31 31 20 b8 20 2c 2c 78  |0035,-1,11 . ,,x|
0001d570  25 0d 14 e8 1d c8 99 20  26 30 30 30 30 30 30 33  |%...... &0000003|
0001d580  35 2c 2d 31 2c 31 32 20  b8 20 2c 2c 79 25 0d 14  |5,-1,12 . ,,y%..|
0001d590  e9 12 78 25 3d 28 78 25  2b 31 29 3c 3c 78 70 25  |..x%=(x%+1)<<xp%|
0001d5a0  0d 14 ea 12 79 25 3d 28  79 25 2b 31 29 3c 3c 79  |....y%=(y%+1)<<y|
0001d5b0  70 25 0d 14 eb 05 e1 0d  14 ec 05 3a 0d 14 ed 1b  |p%.........:....|
0001d5c0  dd 20 f2 77 62 28 62 6c  6f 63 6b 25 2c f8 20 78  |. .wb(block%,. x|
0001d5d0  25 2c f8 20 79 25 29 0d  14 ee 18 78 25 3d 62 6c  |%,. y%)....x%=bl|
0001d5e0  6f 63 6b 25 21 38 2d 62  6c 6f 63 6b 25 21 30 0d  |ock%!8-block%!0.|
0001d5f0  14 ef 19 79 25 3d 62 6c  6f 63 6b 25 21 31 32 2d  |...y%=block%!12-|
0001d600  62 6c 6f 63 6b 25 21 34  0d 14 f0 05 e1 0d 14 f1  |block%!4........|
0001d610  05 3a 0d 14 f2 10 dd 20  f2 6d 64 28 68 61 6e 64  |.:..... .md(hand|
0001d620  25 29 0d 14 f3 13 ea 20  78 25 2c 79 25 2c 77 78  |%)..... x%,y%,wx|
0001d630  25 2c 77 79 25 0d 14 f4  11 21 62 6c 6f 63 6b 25  |%,wy%....!block%|
0001d640  3d 68 61 6e 64 25 0d 14  f5 18 c8 99 20 26 30 30  |=hand%...... &00|
0001d650  30 34 30 30 43 42 2c 2c  62 6c 6f 63 6b 25 0d 14  |0400CB,,block%..|
0001d660  f6 0e f2 76 62 28 78 25  2c 79 25 29 0d 14 f7 19  |...vb(x%,y%)....|
0001d670  f2 77 62 28 62 6c 6f 63  6b 25 2b 34 2c 77 78 25  |.wb(block%+4,wx%|
0001d680  2c 77 79 25 29 0d 14 f8  0c 78 25 3d 78 25 3e 3e  |,wy%)....x%=x%>>|
0001d690  31 0d 14 f9 0c 79 25 3d  79 25 3e 3e 31 0d 14 fa  |1....y%=y%>>1...|
0001d6a0  0e 77 78 25 3d 77 78 25  3e 3e 31 0d 14 fb 0e 77  |.wx%=wx%>>1....w|
0001d6b0  79 25 3d 77 79 25 3e 3e  31 0d 14 fc 2d f2 65 65  |y%=wy%>>1...-.ee|
0001d6c0  28 62 6c 6f 63 6b 25 2b  34 2c 78 25 2d 77 78 25  |(block%+4,x%-wx%|
0001d6d0  2c 79 25 2d 77 79 25 2c  78 25 2b 77 78 25 2c 79  |,y%-wy%,x%+wx%,y|
0001d6e0  25 2b 77 79 25 29 0d 14  fd 10 62 6c 6f 63 6b 25  |%+wy%)....block%|
0001d6f0  21 32 38 3d 2d 31 0d 14  fe 18 c8 99 20 26 30 30  |!28=-1...... &00|
0001d700  30 34 30 30 43 35 2c 2c  62 6c 6f 63 6b 25 0d 14  |0400C5,,block%..|
0001d710  ff 05 e1 0d 15 00 05 3a  0d 15 01 09 dd 20 f2 61  |.......:..... .a|
0001d720  62 0d 15 02 19 62 6c 6f  63 6b 25 21 34 35 30 30  |b....block%!4500|
0001d730  3d 74 69 74 6c 65 77 69  6e 25 0d 15 03 1d c8 99  |=titlewin%......|
0001d740  20 26 30 30 30 34 30 30  43 33 2c 2c 62 6c 6f 63  | &000400C3,,bloc|
0001d750  6b 25 2b 34 35 30 30 0d  15 04 1f 74 69 74 6c 65  |k%+4500....title|
0001d760  77 69 6e 25 3d 30 3a 6d  61 73 6b 25 3d 6d 61 73  |win%=0:mask%=mas|
0001d770  6b 25 20 82 20 31 0d 15  05 07 f2 75 63 0d 15 06  |k% . 1.....uc...|
0001d780  1b 74 69 74 6c 65 73 70  72 25 3d a4 68 28 74 69  |.titlespr%=.h(ti|
0001d790  74 6c 65 73 70 72 25 29  0d 15 07 10 74 69 74 6c  |tlespr%)....titl|
0001d7a0  65 6f 70 65 6e 25 3d a3  0d 15 08 05 e1 0d 15 09  |eopen%=.........|
0001d7b0  05 3a 0d 15 0a 15 dd 20  f2 66 63 28 68 61 6e 25  |.:..... .fc(han%|
0001d7c0  2c 69 63 6f 6e 25 29 0d  15 0b 1d ea 20 70 74 72  |,icon%)..... ptr|
0001d7d0  25 2c 6c 65 6e 25 2c 74  65 78 74 24 2c 69 25 2c  |%,len%,text$,i%,|
0001d7e0  74 6f 6b 24 0d 15 0c 0d  c8 8e 20 68 61 6e 25 20  |tok$...... han% |
0001d7f0  ca 0d 15 0d 0b c9 20 6d  61 69 6e 25 0d 15 0e 0f  |...... main%....|
0001d800  74 6f 6b 24 3d 22 6d 61  69 6e 22 0d 15 0f 0e c8  |tok$="main".....|
0001d810  8e 20 69 63 6f 6e 25 20  ca 0d 15 10 08 c9 20 31  |. icon% ...... 1|
0001d820  39 0d 15 11 37 e7 20 a4  6e 28 65 64 69 74 6d 65  |9...7. .n(editme|
0001d830  6e 75 25 2c 31 29 20 8c  20 74 6f 6b 24 3d 22 6d  |nu%,1) . tok$="m|
0001d840  61 69 6e 31 39 61 22 20  8b 20 74 6f 6b 24 3d 22  |ain19a" . tok$="|
0001d850  6d 61 69 6e 31 39 62 22  0d 15 12 0c 69 63 6f 6e  |main19b"....icon|
0001d860  25 3d 2d 31 0d 15 13 08  c9 20 32 31 0d 15 14 37  |%=-1..... 21...7|
0001d870  e7 20 a4 6e 28 65 64 69  74 6d 65 6e 75 25 2c 31  |. .n(editmenu%,1|
0001d880  29 20 8c 20 74 6f 6b 24  3d 22 6d 61 69 6e 32 31  |) . tok$="main21|
0001d890  61 22 20 8b 20 74 6f 6b  24 3d 22 6d 61 69 6e 32  |a" . tok$="main2|
0001d8a0  31 62 22 0d 15 15 0c 69  63 6f 6e 25 3d 2d 31 0d  |1b"....icon%=-1.|
0001d8b0  15 16 23 c9 20 32 35 2c  32 36 2c 32 39 2c 33 30  |..#. 25,26,29,30|
0001d8c0  2c 33 33 2c 33 34 2c 33  35 2c 33 36 2c 35 30 2c  |,33,34,35,36,50,|
0001d8d0  35 31 0d 15 17 22 e7 20  6d 61 6e 6e 65 72 25 3d  |51...". manner%=|
0001d8e0  32 20 8c 20 74 6f 6b 24  3d 22 6d 61 69 6e 70 75  |2 . tok$="mainpu|
0001d8f0  6e 63 68 22 0d 15 18 05  cb 0d 15 19 0e c9 20 70  |nch".......... p|
0001d900  61 74 74 65 72 6e 25 0d  15 1a 12 74 6f 6b 24 3d  |attern%....tok$=|
0001d910  22 70 61 74 74 65 72 6e  22 0d 15 1b 0e c8 8e 20  |"pattern"...... |
0001d920  69 63 6f 6e 25 20 ca 0d  15 1c 25 c9 20 32 2c 38  |icon% ....%. 2,8|
0001d930  2c 37 2c 39 2c 33 2c 31  30 2c 34 2c 36 2c 31 31  |,7,9,3,10,4,6,11|
0001d940  2c 31 32 2c 31 33 2c 31  34 2c 31 35 0d 15 1d 05  |,12,13,14,15....|
0001d950  7f 0d 15 1e 0c 69 63 6f  6e 25 3d 2d 31 0d 15 1f  |.....icon%=-1...|
0001d960  05 cb 0d 15 20 2a c9 20  74 62 61 72 64 69 73 70  |.... *. tbardisp|
0001d970  25 3a 20 74 6f 6b 24 3d  22 74 62 61 72 64 69 73  |%: tok$="tbardis|
0001d980  70 22 3a 20 69 63 6f 6e  25 3d 2d 31 0d 15 21 22  |p": icon%=-1..!"|
0001d990  c9 20 7a 6f 6f 6d 25 3a  20 74 6f 6b 24 3d 22 7a  |. zoom%: tok$="z|
0001d9a0  6f 6f 6d 22 3a 20 69 63  6f 6e 25 3d 2d 31 0d 15  |oom": icon%=-1..|
0001d9b0  22 22 c9 20 73 61 76 65  25 3a 20 74 6f 6b 24 3d  |"". save%: tok$=|
0001d9c0  22 73 61 76 65 22 3a 20  69 63 6f 6e 25 3d 2d 31  |"save": icon%=-1|
0001d9d0  0d 15 23 1a c9 20 70 72  69 6e 74 25 3a 20 74 6f  |..#.. print%: to|
0001d9e0  6b 24 3d 22 70 72 69 6e  74 22 0d 15 24 20 c9 20  |k$="print"..$ . |
0001d9f0  61 73 6b 25 3a 20 74 6f  6b 24 3d 22 61 73 6b 22  |ask%: tok$="ask"|
0001da00  3a 20 69 63 6f 6e 25 3d  2d 31 0d 15 25 26 c9 20  |: icon%=-1..%&. |
0001da10  72 65 70 6f 72 74 25 3a  20 74 6f 6b 24 3d 22 72  |report%: tok$="r|
0001da20  65 70 6f 72 74 22 3a 20  69 63 6f 6e 25 3d 2d 31  |eport": icon%=-1|
0001da30  0d 15 26 0f c9 20 73 61  76 65 70 6c 75 73 25 0d  |..&.. saveplus%.|
0001da40  15 27 13 74 6f 6b 24 3d  22 73 61 76 65 70 6c 75  |.'.tok$="saveplu|
0001da50  73 22 0d 15 28 0e c8 8e  20 69 63 6f 6e 25 20 ca  |s"..(... icon% .|
0001da60  0d 15 29 09 c9 20 34 2c  35 0d 15 2a 05 7f 0d 15  |..).. 4,5..*....|
0001da70  2b 0c 69 63 6f 6e 25 3d  2d 31 0d 15 2c 05 cb 0d  |+.icon%=-1..,...|
0001da80  15 2d 22 c9 20 69 6e 66  6f 25 3a 20 74 6f 6b 24  |.-". info%: tok$|
0001da90  3d 22 69 6e 66 6f 22 3a  20 69 63 6f 6e 25 3d 2d  |="info": icon%=-|
0001daa0  31 0d 15 2e 1b c9 20 6c  61 72 67 65 70 69 63 6b  |1..... largepick|
0001dab0  25 2c 73 6d 61 6c 6c 70  69 63 6b 25 0d 15 2f 0e  |%,smallpick%../.|
0001dac0  74 6f 6b 24 3d 22 70 69  63 22 0d 15 30 10 e7 20  |tok$="pic"..0.. |
0001dad0  69 63 6f 6e 25 3d 31 38  20 8c 0d 15 31 35 e7 20  |icon%=18 ...15. |
0001dae0  68 61 6e 25 3d 6c 61 72  67 65 70 69 63 6b 25 20  |han%=largepick% |
0001daf0  8c 20 74 6f 6b 24 3d 22  70 69 63 31 38 61 22 20  |. tok$="pic18a" |
0001db00  8b 20 74 6f 6b 24 3d 22  70 69 63 31 38 62 22 0d  |. tok$="pic18b".|
0001db10  15 32 0c 69 63 6f 6e 25  3d 2d 31 0d 15 33 05 cd  |.2.icon%=-1..3..|
0001db20  0d 15 34 22 c9 20 63 6f  6c 63 72 65 61 74 65 25  |..4". colcreate%|
0001db30  3a 20 74 6f 6b 24 3d 22  63 6f 6c 63 72 65 61 74  |: tok$="colcreat|
0001db40  65 22 0d 15 35 10 c9 20  63 6f 6c 63 68 6f 6f 73  |e"..5.. colchoos|
0001db50  65 25 0d 15 36 14 74 6f  6b 24 3d 22 63 6f 6c 63  |e%..6.tok$="colc|
0001db60  68 6f 6f 73 65 22 0d 15  37 18 e7 20 69 63 6f 6e  |hoose"..7.. icon|
0001db70  25 3e 35 20 8c 20 69 63  6f 6e 25 3d 2d 31 0d 15  |%>5 . icon%=-1..|
0001db80  38 28 c9 20 63 6f 6c 70  61 6e 65 25 3a 20 74 6f  |8(. colpane%: to|
0001db90  6b 24 3d 22 63 6f 6c 70  61 6e 65 22 3a 20 69 63  |k$="colpane": ic|
0001dba0  6f 6e 25 3d 2d 31 0d 15  39 0b c9 20 74 62 61 72  |on%=-1..9.. tbar|
0001dbb0  25 0d 15 3a 0f 74 6f 6b  24 3d 22 74 62 61 72 22  |%..:.tok$="tbar"|
0001dbc0  0d 15 3b 18 e7 20 69 63  6f 6e 25 3c 34 20 8c 20  |..;.. icon%<4 . |
0001dbd0  69 63 6f 6e 25 3d 2d 31  0d 15 3c 4e e7 20 6d 61  |icon%=-1..<N. ma|
0001dbe0  6e 6e 65 72 25 3d 32 20  80 20 28 69 63 6f 6e 25  |nner%=2 . (icon%|
0001dbf0  3d 34 20 84 20 69 63 6f  6e 25 3d 38 20 84 20 69  |=4 . icon%=8 . i|
0001dc00  63 6f 6e 25 3d 31 32 20  84 20 69 63 6f 6e 25 3d  |con%=12 . icon%=|
0001dc10  31 33 29 20 8c 20 74 6f  6b 24 3d 22 74 62 61 72  |13) . tok$="tbar|
0001dc20  70 75 6e 63 68 22 0d 15  3d 33 c9 20 65 64 69 74  |punch"..=3. edit|
0001dc30  25 2c 63 6f 72 6e 65 72  74 6c 25 2c 63 6f 72 6e  |%,cornertl%,corn|
0001dc40  65 72 74 72 25 2c 63 6f  72 6e 65 72 62 6c 25 2c  |ertr%,cornerbl%,|
0001dc50  63 6f 72 6e 65 72 62 72  25 0d 15 3e 19 74 6f 6b  |cornerbr%..>.tok|
0001dc60  24 3d 22 65 64 69 74 22  3a 20 69 63 6f 6e 25 3d  |$="edit": icon%=|
0001dc70  2d 31 0d 15 3f 2d e7 20  6d 61 6e 6e 65 72 25 3d  |-1..?-. manner%=|
0001dc80  32 20 8c 20 20 74 6f 6b  24 3d 22 65 64 69 74 70  |2 .  tok$="editp|
0001dc90  75 6e 63 68 22 3a 20 69  63 6f 6e 25 3d 2d 31 0d  |unch": icon%=-1.|
0001dca0  15 40 1f c9 20 2d 32 3a  20 74 6f 6b 24 3d 22 69  |.@.. -2: tok$="i|
0001dcb0  62 61 72 22 3a 20 69 63  6f 6e 25 3d 2d 31 0d 15  |bar": icon%=-1..|
0001dcc0  41 2a c9 20 74 69 74 6c  65 77 69 6e 25 3a 20 74  |A*. titlewin%: t|
0001dcd0  6f 6b 24 3d 22 74 69 74  6c 65 77 69 6e 22 3a 20  |ok$="titlewin": |
0001dce0  69 63 6f 6e 25 3d 2d 31  0d 15 42 44 c9 20 74 6f  |icon%=-1..BD. to|
0001dcf0  70 72 75 6c 65 25 2c 62  6f 74 72 75 6c 65 25 2c  |prule%,botrule%,|
0001dd00  6c 65 66 74 72 75 6c 65  25 2c 72 69 67 68 74 72  |leftrule%,rightr|
0001dd10  75 6c 65 25 3a 20 74 6f  6b 24 3d 22 72 75 6c 65  |ule%: tok$="rule|
0001dd20  72 22 3a 20 69 63 6f 6e  25 3d 2d 31 0d 15 43 05  |r": icon%=-1..C.|
0001dd30  7f 0d 15 44 1d c8 99 20  26 30 30 30 34 30 30 46  |...D... &000400F|
0001dd40  34 2c 30 2c 62 6c 6f 63  6b 25 2b 38 30 30 0d 15  |4,0,block%+800..|
0001dd50  45 27 73 65 6c 25 3d 62  6c 6f 63 6b 25 21 38 30  |E'sel%=block%!80|
0001dd60  30 3a 20 73 75 62 73 65  6c 25 3d 62 6c 6f 63 6b  |0: subsel%=block|
0001dd70  25 21 38 30 34 0d 15 46  19 73 75 62 73 75 62 73  |%!804..F.subsubs|
0001dd80  65 6c 25 3d 62 6c 6f 63  6b 25 21 38 30 38 0d 15  |el%=block%!808..|
0001dd90  47 0e 69 63 6f 6e 25 3d  73 65 6c 25 0d 15 48 12  |G.icon%=sel%..H.|
0001dda0  c8 8e 20 6d 65 6e 75 6f  70 65 6e 25 20 ca 0d 15  |.. menuopen% ...|
0001ddb0  49 0c c9 20 69 6d 65 6e  75 25 0d 15 4a 10 74 6f  |I.. imenu%..J.to|
0001ddc0  6b 24 3d 22 69 6d 65 6e  75 22 0d 15 4b 0f c9 72  |k$="imenu"..K..r|
0001ddd0  75 6c 65 72 6d 65 6e 75  25 0d 15 4c 1f 74 6f 6b  |ulermenu%..L.tok|
0001dde0  24 3d 22 72 75 6c 65 72  6d 65 6e 75 22 20 3a 20  |$="rulermenu" : |
0001ddf0  69 63 6f 6e 25 3d 2d 31  0d 15 4d 0c c9 20 65 6d  |icon%=-1..M.. em|
0001de00  65 6e 75 25 0d 15 4e 10  74 6f 6b 24 3d 22 65 6d  |enu%..N.tok$="em|
0001de10  65 6e 75 22 0d 15 4f 0d  c8 8e 20 73 65 6c 25 20  |enu"..O... sel% |
0001de20  ca 0d 15 50 07 c9 20 30  0d 15 51 10 c8 8e 20 73  |...P.. 0..Q... s|
0001de30  75 62 73 65 6c 25 20 ca  0d 15 52 04 0d 15 53 29  |ubsel% ...R...S)|
0001de40  c9 20 30 2c 31 2c 32 20  3a 20 74 6f 6b 24 3d 22  |. 0,1,2 : tok$="|
0001de50  73 6d 65 6e 75 22 3a 20  69 63 6f 6e 25 3d 73 75  |smenu": icon%=su|
0001de60  62 73 65 6c 25 0d 15 54  05 cb 0d 15 55 07 c9 20  |bsel%..T....U.. |
0001de70  32 0d 15 56 10 c8 8e 20  73 75 62 73 65 6c 25 20  |2..V... subsel% |
0001de80  ca 0d 15 57 04 0d 15 58  4a c9 20 30 2c 31 2c 32  |...W...XJ. 0,1,2|
0001de90  2c 33 2c 34 2c 35 2c 36  2c 37 2c 38 2c 39 2c 31  |,3,4,5,6,7,8,9,1|
0001dea0  30 2c 31 31 2c 31 32 2c  31 33 2c 31 34 2c 31 35  |0,11,12,13,14,15|
0001deb0  20 3a 20 74 6f 6b 24 3d  22 67 72 69 64 63 6f 6c  | : tok$="gridcol|
0001dec0  6d 65 6e 75 22 3a 20 69  63 6f 6e 25 3d 2d 31 0d  |menu": icon%=-1.|
0001ded0  15 59 05 cb 0d 15 5a 07  c9 20 37 0d 15 5b 10 c8  |.Y....Z.. 7..[..|
0001dee0  8e 20 73 75 62 73 65 6c  25 20 ca 0d 15 5c 04 0d  |. subsel% ...\..|
0001def0  15 5d 2e c9 20 30 2c 31  2c 32 2c 33 20 3a 20 74  |.].. 0,1,2,3 : t|
0001df00  6f 6b 24 3d 22 6d 61 73  6b 6d 65 6e 75 22 3a 20  |ok$="maskmenu": |
0001df10  69 63 6f 6e 25 3d 73 75  62 73 65 6c 25 0d 15 5e  |icon%=subsel%..^|
0001df20  05 cb 0d 15 5f 07 c9 20  38 0d 15 60 10 c8 8e 20  |...._.. 8..`... |
0001df30  73 75 62 73 65 6c 25 20  ca 0d 15 61 04 0d 15 62  |subsel% ...a...b|
0001df40  4b c9 20 30 2c 31 2c 32  2c 33 2c 34 2c 35 2c 36  |K. 0,1,2,3,4,5,6|
0001df50  2c 37 2c 38 2c 39 2c 31  30 2c 31 31 2c 31 32 2c  |,7,8,9,10,11,12,|
0001df60  31 33 2c 31 34 2c 31 35  20 3a 20 74 6f 6b 24 3d  |13,14,15 : tok$=|
0001df70  22 62 6b 67 6e 64 63 6f  6c 6d 65 6e 75 22 3a 20  |"bkgndcolmenu": |
0001df80  69 63 6f 6e 25 3d 2d 31  0d 15 63 05 cb 0d 15 64  |icon%=-1..c....d|
0001df90  05 cb 0d 15 65 0c c9 20  64 6d 65 6e 75 25 0d 15  |....e.. dmenu%..|
0001dfa0  66 10 74 6f 6b 24 3d 22  64 6d 65 6e 75 22 0d 15  |f.tok$="dmenu"..|
0001dfb0  67 0d c8 8e 20 73 65 6c  25 20 ca 0d 15 68 07 c9  |g... sel% ...h..|
0001dfc0  20 31 0d 15 69 10 c8 8e  20 73 75 62 73 65 6c 25  | 1..i... subsel%|
0001dfd0  20 ca 0d 15 6a 04 0d 15  6b 2c c9 20 30 2c 31 2c  | ...j...k,. 0,1,|
0001dfe0  32 20 3a 20 74 6f 6b 24  3d 22 6d 6f 64 65 6d 65  |2 : tok$="modeme|
0001dff0  6e 75 22 3a 20 69 63 6f  6e 25 3d 73 75 62 73 65  |nu": icon%=subse|
0001e000  6c 25 0d 15 6c 05 cb 0d  15 6d 07 c9 20 32 0d 15  |l%..l....m.. 2..|
0001e010  6e 10 c8 8e 20 73 75 62  73 65 6c 25 20 ca 0d 15  |n... subsel% ...|
0001e020  6f 04 0d 15 70 2a c9 20  30 2c 31 20 3a 20 74 6f  |o...p*. 0,1 : to|
0001e030  6b 24 3d 22 75 6e 69 74  6d 65 6e 75 22 3a 20 69  |k$="unitmenu": i|
0001e040  63 6f 6e 25 3d 73 75 62  73 65 6c 25 0d 15 71 05  |con%=subsel%..q.|
0001e050  cb 0d 15 72 07 c9 20 33  0d 15 73 10 c8 8e 20 73  |...r.. 3..s... s|
0001e060  75 62 73 65 6c 25 20 ca  0d 15 74 04 0d 15 75 29  |ubsel% ...t...u)|
0001e070  c9 20 30 2c 31 2c 32 20  3a 20 74 6f 6b 24 3d 22  |. 0,1,2 : tok$="|
0001e080  73 6d 65 6e 75 22 3a 20  69 63 6f 6e 25 3d 73 75  |smenu": icon%=su|
0001e090  62 73 65 6c 25 0d 15 76  05 cb 0d 15 77 05 cb 0d  |bsel%..v....w...|
0001e0a0  15 78 05 cb 0d 15 79 05  cb 0d 15 7a 24 e7 20 69  |.x....y....z$. i|
0001e0b0  63 6f 6e 25 3c 3e 2d 31  20 8c 20 74 6f 6b 24 3d  |con%<>-1 . tok$=|
0001e0c0  74 6f 6b 24 2b c3 28 69  63 6f 6e 25 29 0d 15 7b  |tok$+.(icon%)..{|
0001e0d0  2f c8 99 20 26 30 30 30  34 31 35 30 32 2c 69 6e  |/.. &00041502,in|
0001e0e0  66 6f 62 75 66 66 25 2c  74 6f 6b 24 2c 30 20 b8  |fobuff%,tok$,0 .|
0001e0f0  20 2c 2c 70 74 72 25 2c  6c 65 6e 25 0d 15 7c 0c  | ,,ptr%,len%..|.|
0001e100  74 65 78 74 24 3d 22 22  0d 15 7d 13 e3 20 69 25  |text$=""..}.. i%|
0001e110  3d 30 20 b8 20 6c 65 6e  25 2d 31 0d 15 7e 15 74  |=0 . len%-1..~.t|
0001e120  65 78 74 24 2b 3d bd 28  70 74 72 25 3f 69 25 29  |ext$+=.(ptr%?i%)|
0001e130  0d 15 7f 08 ed 20 69 25  0d 15 80 0e f2 64 65 28  |..... i%.....de(|
0001e140  74 65 78 74 24 29 0d 15  81 05 e1 0d 15 82 05 3a  |text$).........:|
0001e150  0d 15 83 10 dd 20 f2 63  65 28 66 69 6c 65 24 29  |..... .ce(file$)|
0001e160  0d 15 84 0a ea 20 6f 75  74 25 0d 15 85 12 6f 75  |..... out%....ou|
0001e170  74 25 3d ae 20 28 66 69  6c 65 24 29 0d 15 86 31  |t%=. (file$)...1|
0001e180  f1 23 6f 75 74 25 2c 24  74 65 6e 73 69 6f 6e 5f  |.#out%,$tension_|
0001e190  73 71 5f 77 69 64 74 68  25 2c 24 74 65 6e 73 69  |sq_width%,$tensi|
0001e1a0  6f 6e 5f 73 71 5f 68 65  69 67 68 74 25 0d 15 87  |on_sq_height%...|
0001e1b0  32 f1 23 6f 75 74 25 2c  24 74 65 6e 73 69 6f 6e  |2.#out%,$tension|
0001e1c0  5f 73 71 5f 73 74 69 74  63 68 65 73 25 2c 24 74  |_sq_stitches%,$t|
0001e1d0  65 6e 73 69 6f 6e 5f 73  71 5f 72 6f 77 73 25 0d  |ension_sq_rows%.|
0001e1e0  15 88 12 f1 23 6f 75 74  25 2c 24 74 64 73 65 74  |....#out%,$tdset|
0001e1f0  25 0d 15 89 26 f1 23 6f  75 74 25 2c 24 63 6f 6e  |%...&.#out%,$con|
0001e200  76 5f 72 6f 77 73 25 2c  24 61 6e 73 5f 63 6f 6e  |v_rows%,$ans_con|
0001e210  76 5f 72 6f 77 73 25 0d  15 8a 2e f1 23 6f 75 74  |v_rows%.....#out|
0001e220  25 2c 24 63 6f 6e 76 5f  73 74 69 74 63 68 65 73  |%,$conv_stitches|
0001e230  25 2c 24 61 6e 73 5f 63  6f 6e 76 5f 73 74 69 74  |%,$ans_conv_stit|
0001e240  63 68 65 73 25 0d 15 8b  12 f1 23 6f 75 74 25 2c  |ches%.....#out%,|
0001e250  6d 61 6e 6e 65 72 25 0d  15 8c 1a f1 23 6f 75 74  |manner%.....#out|
0001e260  25 2c a4 6e 28 75 6e 69  74 6d 65 6e 75 25 2c 30  |%,.n(unitmenu%,0|
0001e270  29 0d 15 8d 1e f1 23 6f  75 74 25 2c 24 67 72 6f  |).....#out%,$gro|
0001e280  77 73 25 2c 24 67 73 74  69 74 63 68 65 73 25 0d  |ws%,$gstitches%.|
0001e290  15 8e 1d f1 23 6f 75 74  25 2c 24 67 68 65 69 67  |....#out%,$gheig|
0001e2a0  68 74 25 2c 24 67 77 69  64 74 68 25 0d 15 8f 17  |ht%,$gwidth%....|
0001e2b0  f1 23 6f 75 74 25 2c 74  65 78 74 64 69 73 70 76  |.#out%,textdispv|
0001e2c0  61 72 25 0d 15 90 17 f1  23 6f 75 74 25 2c a4 6c  |ar%.....#out%,.l|
0001e2d0  28 6d 61 69 6e 25 2c 33  37 29 0d 15 91 16 f1 23  |(main%,37).....#|
0001e2e0  6f 75 74 25 2c a4 6c 28  6d 61 69 6e 25 2c 30 29  |out%,.l(main%,0)|
0001e2f0  0d 15 92 16 f1 23 6f 75  74 25 2c 6d 61 73 74 65  |.....#out%,maste|
0001e300  72 67 72 65 79 25 0d 15  93 26 f1 23 6f 75 74 25  |rgrey%...&.#out%|
0001e310  2c 24 70 61 74 73 74 6f  72 65 25 2c 24 28 70 61  |,$patstore%,$(pa|
0001e320  74 73 74 6f 72 65 25 2b  31 30 30 29 0d 15 94 2c  |tstore%+100)...,|
0001e330  f1 23 6f 75 74 25 2c 24  28 70 61 74 73 74 6f 72  |.#out%,$(patstor|
0001e340  65 25 2b 31 30 35 29 2c  24 28 70 61 74 73 74 6f  |e%+105),$(patsto|
0001e350  72 65 25 2b 31 31 30 29  0d 15 95 18 f1 23 6f 75  |re%+110).....#ou|
0001e360  74 25 2c 70 61 74 73 74  6f 72 65 25 3f 31 31 35  |t%,patstore%?115|
0001e370  0d 15 96 1c f1 23 6f 75  74 25 2c 24 73 63 6c 6d  |.....#out%,$sclm|
0001e380  75 6c 25 2c 24 73 63 6c  64 69 76 25 0d 15 97 14  |ul%,$scldiv%....|
0001e390  e7 20 63 6f 6c 74 61 62  6c 65 25 3c 3e 30 20 8c  |. coltable%<>0 .|
0001e3a0  0d 15 98 23 f1 23 6f 75  74 25 2c 31 2c 67 72 69  |...#.#out%,1,gri|
0001e3b0  64 77 69 64 74 68 25 2a  67 72 69 64 68 65 69 67  |dwidth%*gridheig|
0001e3c0  68 74 25 0d 15 99 38 c8  99 20 26 30 30 30 30 30  |ht%...8.. &00000|
0001e3d0  30 30 43 2c 32 2c 6f 75  74 25 2c 63 6f 6c 74 61  |00C,2,out%,colta|
0001e3e0  62 6c 65 25 2c 67 72 69  64 77 69 64 74 68 25 2a  |ble%,gridwidth%*|
0001e3f0  67 72 69 64 68 65 69 67  68 74 25 0d 15 9a 05 cc  |gridheight%.....|
0001e400  0d 15 9b 0e f1 23 6f 75  74 25 2c 30 2c 30 0d 15  |.....#out%,0,0..|
0001e410  9c 05 cd 0d 15 9d 22 e7  20 6e 61 6d 65 74 61 62  |......". nametab|
0001e420  6c 65 25 3c 3e 30 20 80  20 6d 61 6e 6e 65 72 25  |le%<>0 . manner%|
0001e430  3c 3e 32 20 8c 0d 15 9e  12 f1 23 6f 75 74 25 2c  |<>2 ......#out%,|
0001e440  31 2c 31 33 2a 33 33 0d  15 9f 28 c8 99 20 26 30  |1,13*33...(.. &0|
0001e450  30 30 30 30 30 30 43 2c  32 2c 6f 75 74 25 2c 6e  |000000C,2,out%,n|
0001e460  61 6d 65 74 61 62 6c 65  25 2c 31 33 2a 33 33 0d  |ametable%,13*33.|
0001e470  15 a0 05 cc 0d 15 a1 0e  f1 23 6f 75 74 25 2c 30  |.........#out%,0|
0001e480  2c 30 0d 15 a2 05 cd 0d  15 a3 14 e7 20 70 61 6c  |,0.......... pal|
0001e490  74 61 62 6c 65 25 3c 3e  30 20 8c 0d 15 a4 11 f1  |table%<>0 ......|
0001e4a0  23 6f 75 74 25 2c 31 2c  34 2a 33 33 0d 15 a5 27  |#out%,1,4*33...'|
0001e4b0  c8 99 20 26 30 30 30 30  30 30 30 43 2c 32 2c 6f  |.. &0000000C,2,o|
0001e4c0  75 74 25 2c 70 61 6c 74  61 62 6c 65 25 2c 20 34  |ut%,paltable%, 4|
0001e4d0  2a 33 33 0d 15 a6 05 cc  0d 15 a7 0e f1 23 6f 75  |*33..........#ou|
0001e4e0  74 25 2c 30 2c 30 0d 15  a8 05 cd 0d 15 a9 13 f1  |t%,0,0..........|
0001e4f0  23 6f 75 74 25 2c 70 69  63 74 79 70 65 24 0d 15  |#out%,pictype$..|
0001e500  aa 11 c8 8e 20 70 69 63  74 79 70 65 24 20 ca 0d  |.... pictype$ ..|
0001e510  15 ab 0e c9 20 22 73 70  72 69 74 65 22 0d 15 ac  |.... "sprite"...|
0001e520  28 f1 23 6f 75 74 25 2c  21 73 6f 75 72 63 65 73  |(.#out%,!sources|
0001e530  70 72 25 2c 73 70 72 69  74 65 24 2c 73 70 72 69  |pr%,sprite$,spri|
0001e540  74 65 6f 6e 25 0d 15 ad  2e c8 99 20 26 30 30 30  |teon%...... &000|
0001e550  30 30 30 30 43 2c 32 2c  6f 75 74 25 2c 73 6f 75  |0000C,2,out%,sou|
0001e560  72 63 65 73 70 72 25 2c  21 73 6f 75 72 63 65 73  |rcespr%,!sources|
0001e570  70 72 25 0d 15 ae 0c c9  20 22 64 72 61 77 22 0d  |pr%..... "draw".|
0001e580  15 af 13 f1 23 6f 75 74  25 2c 64 72 61 77 6c 65  |....#out%,drawle|
0001e590  6e 25 0d 15 b0 26 c8 99  20 26 30 30 30 30 30 30  |n%...&.. &000000|
0001e5a0  30 43 2c 32 2c 6f 75 74  25 2c 64 72 61 77 25 2c  |0C,2,out%,draw%,|
0001e5b0  64 72 61 77 6c 65 6e 25  0d 15 b1 05 cb 0d 15 b2  |drawlen%........|
0001e5c0  17 f1 23 6f 75 74 25 2c  a4 6e 28 65 6d 65 6e 75  |..#out%,.n(emenu|
0001e5d0  25 2c 32 29 0d 15 b3 13  f1 23 6f 75 74 25 2c 67  |%,2).....#out%,g|
0001e5e0  72 69 64 63 6f 6c 25 0d  15 b4 13 f1 23 6f 75 74  |ridcol%.....#out|
0001e5f0  25 2c 62 61 63 6b 63 6f  6c 25 0d 15 b5 12 f1 23  |%,backcol%.....#|
0001e600  6f 75 74 25 2c 6d 61 78  63 6f 6c 25 0d 15 b6 15  |out%,maxcol%....|
0001e610  f1 23 6f 75 74 25 2c 72  75 6c 65 72 62 63 6f 6c  |.#out%,rulerbcol|
0001e620  25 0d 15 b7 15 f1 23 6f  75 74 25 2c 72 75 6c 65  |%.....#out%,rule|
0001e630  72 66 63 6f 6c 25 0d 15  b8 16 f1 23 6f 75 74 25  |rfcol%.....#out%|
0001e640  2c 70 61 67 65 72 75 6c  65 72 73 25 0d 15 b9 12  |,pagerulers%....|
0001e650  f1 23 6f 75 74 25 2c 6d  61 6e 6e 65 72 25 0d 15  |.#out%,manner%..|
0001e660  ba 0a d9 23 6f 75 74 25  0d 15 bb 1e ff 28 22 53  |...#out%.....("S|
0001e670  65 74 54 79 70 65 20 22  2b 66 69 6c 65 24 2b 22  |etType "+file$+"|
0001e680  20 30 46 30 22 29 0d 15  bc 0a f2 74 65 28 30 29  | 0F0").....te(0)|
0001e690  0d 15 bd 05 e1 0d 15 be  05 3a 0d 15 bf 09 dd 20  |.........:..... |
0001e6a0  f2 64 62 0d 15 c0 2d ea  20 69 6e 25 2c 76 61 72  |.db...-. in%,var|
0001e6b0  25 2c 76 61 72 31 25 2c  76 61 72 32 25 2c 74 65  |%,var1%,var2%,te|
0001e6c0  78 74 25 2c 76 61 72 24  2c 67 72 65 79 6e 6f 25  |xt%,var$,greyno%|
0001e6d0  0d 15 c1 10 c8 99 20 26  30 30 30 34 30 36 43 30  |...... &000406C0|
0001e6e0  0d 15 c2 16 69 6e 25 3d  8e 28 73 74 61 74 65 5f  |....in%=.(state_|
0001e6f0  66 69 6c 65 24 29 0d 15  c3 56 e8 23 69 6e 25 2c  |file$)...V.#in%,|
0001e700  24 74 65 6e 73 69 6f 6e  5f 73 71 5f 77 69 64 74  |$tension_sq_widt|
0001e710  68 25 2c 24 74 65 6e 73  69 6f 6e 5f 73 71 5f 68  |h%,$tension_sq_h|
0001e720  65 69 67 68 74 25 3a 20  f2 66 65 28 6d 61 69 6e  |eight%: .fe(main|
0001e730  25 2c 31 35 2c 30 2c 30  29 3a 20 f2 66 65 28 6d  |%,15,0,0): .fe(m|
0001e740  61 69 6e 25 2c 31 36 2c  30 2c 30 29 0d 15 c4 57  |ain%,16,0,0)...W|
0001e750  e8 23 69 6e 25 2c 24 74  65 6e 73 69 6f 6e 5f 73  |.#in%,$tension_s|
0001e760  71 5f 73 74 69 74 63 68  65 73 25 2c 24 74 65 6e  |q_stitches%,$ten|
0001e770  73 69 6f 6e 5f 73 71 5f  72 6f 77 73 25 3a 20 f2  |sion_sq_rows%: .|
0001e780  66 65 28 6d 61 69 6e 25  2c 31 37 2c 30 2c 30 29  |fe(main%,17,0,0)|
0001e790  3a 20 f2 66 65 28 6d 61  69 6e 25 2c 31 38 2c 30  |: .fe(main%,18,0|
0001e7a0  2c 30 29 0d 15 c5 24 e8  23 69 6e 25 2c 24 74 64  |,0)...$.#in%,$td|
0001e7b0  73 65 74 25 3a 20 f2 66  65 28 6d 61 69 6e 25 2c  |set%: .fe(main%,|
0001e7c0  34 36 2c 30 2c 30 29 0d  15 c6 4b e8 23 69 6e 25  |46,0,0)...K.#in%|
0001e7d0  2c 24 63 6f 6e 76 5f 72  6f 77 73 25 2c 24 61 6e  |,$conv_rows%,$an|
0001e7e0  73 5f 63 6f 6e 76 5f 72  6f 77 73 25 3a 20 f2 66  |s_conv_rows%: .f|
0001e7f0  65 28 6d 61 69 6e 25 2c  31 39 2c 30 2c 30 29 3a  |e(main%,19,0,0):|
0001e800  20 f2 66 65 28 6d 61 69  6e 25 2c 32 30 2c 30 2c  | .fe(main%,20,0,|
0001e810  30 29 0d 15 c7 53 e8 23  69 6e 25 2c 24 63 6f 6e  |0)...S.#in%,$con|
0001e820  76 5f 73 74 69 74 63 68  65 73 25 2c 24 61 6e 73  |v_stitches%,$ans|
0001e830  5f 63 6f 6e 76 5f 73 74  69 74 63 68 65 73 25 3a  |_conv_stitches%:|
0001e840  20 f2 66 65 28 6d 61 69  6e 25 2c 32 31 2c 30 2c  | .fe(main%,21,0,|
0001e850  30 29 3a 20 f2 66 65 28  6d 61 69 6e 25 2c 32 32  |0): .fe(main%,22|
0001e860  2c 30 2c 30 29 0d 15 c8  0e e8 23 69 6e 25 2c 76  |,0,0).....#in%,v|
0001e870  61 72 25 0d 15 c9 14 f2  77 65 28 65 64 69 74 6d  |ar%.....we(editm|
0001e880  65 6e 75 25 2c 30 29 0d  15 ca 14 f2 77 65 28 65  |enu%,0).....we(e|
0001e890  64 69 74 6d 65 6e 75 25  2c 31 29 0d 15 cb 14 f2  |ditmenu%,1).....|
0001e8a0  77 65 28 65 64 69 74 6d  65 6e 75 25 2c 32 29 0d  |we(editmenu%,2).|
0001e8b0  15 cc 17 f2 73 65 28 65  64 69 74 6d 65 6e 75 25  |....se(editmenu%|
0001e8c0  2c 76 61 72 25 29 0d 15  cd 0e e8 23 69 6e 25 2c  |,var%).....#in%,|
0001e8d0  76 61 72 25 0d 15 ce 0e  e7 20 76 61 72 25 3d 30  |var%..... var%=0|
0001e8e0  20 8c 0d 15 cf 14 f2 73  65 28 75 6e 69 74 6d 65  | ......se(unitme|
0001e8f0  6e 75 25 2c 31 29 0d 15  d0 14 f2 77 65 28 75 6e  |nu%,1).....we(un|
0001e900  69 74 6d 65 6e 75 25 2c  30 29 0d 15 d1 26 24 74  |itmenu%,0)...&$t|
0001e910  73 71 74 75 6e 69 74 25  3d 22 63 6d 22 3a 20 f2  |sqtunit%="cm": .|
0001e920  66 65 28 6d 61 69 6e 25  2c 33 38 2c 30 2c 30 29  |fe(main%,38,0,0)|
0001e930  0d 15 d2 26 24 74 73 71  62 75 6e 69 74 25 3d 22  |...&$tsqbunit%="|
0001e940  63 6d 22 3a 20 f2 66 65  28 6d 61 69 6e 25 2c 33  |cm": .fe(main%,3|
0001e950  39 2c 30 2c 30 29 0d 15  d3 26 24 63 6f 6e 74 75  |9,0,0)...&$contu|
0001e960  6e 69 74 25 3d 22 63 6d  22 3a 20 f2 66 65 28 6d  |nit%="cm": .fe(m|
0001e970  61 69 6e 25 2c 34 38 2c  30 2c 30 29 0d 15 d4 26  |ain%,48,0,0)...&|
0001e980  24 63 6f 6e 62 75 6e 69  74 25 3d 22 63 6d 22 3a  |$conbunit%="cm":|
0001e990  20 f2 66 65 28 6d 61 69  6e 25 2c 34 39 2c 30 2c  | .fe(main%,49,0,|
0001e9a0  30 29 0d 15 d5 26 24 67  72 64 74 75 6e 69 74 25  |0)...&$grdtunit%|
0001e9b0  3d 22 63 6d 22 3a 20 f2  66 65 28 6d 61 69 6e 25  |="cm": .fe(main%|
0001e9c0  2c 35 30 2c 30 2c 30 29  0d 15 d6 26 24 67 72 64  |,50,0,0)...&$grd|
0001e9d0  62 75 6e 69 74 25 3d 22  63 6d 22 3a 20 f2 66 65  |bunit%="cm": .fe|
0001e9e0  28 6d 61 69 6e 25 2c 35  31 2c 30 2c 30 29 0d 15  |(main%,51,0,0)..|
0001e9f0  d7 05 cc 0d 15 d8 14 f2  73 65 28 75 6e 69 74 6d  |........se(unitm|
0001ea00  65 6e 75 25 2c 30 29 0d  15 d9 14 f2 77 65 28 75  |enu%,0).....we(u|
0001ea10  6e 69 74 6d 65 6e 75 25  2c 31 29 0d 15 da 26 24  |nitmenu%,1)...&$|
0001ea20  74 73 71 74 75 6e 69 74  25 3d 22 69 6e 22 3a 20  |tsqtunit%="in": |
0001ea30  f2 66 65 28 6d 61 69 6e  25 2c 33 38 2c 30 2c 30  |.fe(main%,38,0,0|
0001ea40  29 0d 15 db 26 24 74 73  71 62 75 6e 69 74 25 3d  |)...&$tsqbunit%=|
0001ea50  22 69 6e 22 3a 20 f2 66  65 28 6d 61 69 6e 25 2c  |"in": .fe(main%,|
0001ea60  33 39 2c 30 2c 30 29 0d  15 dc 26 24 63 6f 6e 74  |39,0,0)...&$cont|
0001ea70  75 6e 69 74 25 3d 22 69  6e 22 3a 20 f2 66 65 28  |unit%="in": .fe(|
0001ea80  6d 61 69 6e 25 2c 34 38  2c 30 2c 30 29 0d 15 dd  |main%,48,0,0)...|
0001ea90  26 24 63 6f 6e 62 75 6e  69 74 25 3d 22 69 6e 22  |&$conbunit%="in"|
0001eaa0  3a 20 f2 66 65 28 6d 61  69 6e 25 2c 34 39 2c 30  |: .fe(main%,49,0|
0001eab0  2c 30 29 0d 15 de 26 24  67 72 64 74 75 6e 69 74  |,0)...&$grdtunit|
0001eac0  25 3d 22 69 6e 22 3a 20  f2 66 65 28 6d 61 69 6e  |%="in": .fe(main|
0001ead0  25 2c 35 30 2c 30 2c 30  29 0d 15 df 26 24 67 72  |%,50,0,0)...&$gr|
0001eae0  64 62 75 6e 69 74 25 3d  22 69 6e 22 3a 20 f2 66  |dbunit%="in": .f|
0001eaf0  65 28 6d 61 69 6e 25 2c  35 31 2c 30 2c 30 29 0d  |e(main%,51,0,0).|
0001eb00  15 e0 05 cd 0d 15 e1 43  e8 23 69 6e 25 2c 24 67  |.......C.#in%,$g|
0001eb10  72 6f 77 73 25 2c 24 67  73 74 69 74 63 68 65 73  |rows%,$gstitches|
0001eb20  25 3a 20 f2 66 65 28 6d  61 69 6e 25 2c 32 39 2c  |%: .fe(main%,29,|
0001eb30  30 2c 30 29 3a 20 f2 66  65 28 6d 61 69 6e 25 2c  |0,0): .fe(main%,|
0001eb40  33 30 2c 30 2c 30 29 0d  15 e2 42 e8 23 69 6e 25  |30,0,0)...B.#in%|
0001eb50  2c 24 67 68 65 69 67 68  74 25 2c 24 67 77 69 64  |,$gheight%,$gwid|
0001eb60  74 68 25 3a 20 f2 66 65  28 6d 61 69 6e 25 2c 33  |th%: .fe(main%,3|
0001eb70  31 2c 30 2c 30 29 3a 20  f2 66 65 28 6d 61 69 6e  |1,0,0): .fe(main|
0001eb80  25 2c 33 32 2c 30 2c 30  29 0d 15 e3 19 e8 23 69  |%,32,0,0).....#i|
0001eb90  6e 25 2c 76 61 72 25 3a  20 f2 72 65 28 76 61 72  |n%,var%: .re(var|
0001eba0  25 29 0d 15 e4 0e e8 23  69 6e 25 2c 76 61 72 25  |%).....#in%,var%|
0001ebb0  0d 15 e5 0e e7 20 76 61  72 25 3d 30 20 8c 0d 15  |..... var%=0 ...|
0001ebc0  e6 1d f2 66 65 28 6d 61  69 6e 25 2c 33 37 2c 30  |...fe(main%,37,0|
0001ebd0  3c 3c 32 31 2c 31 3c 3c  32 31 29 0d 15 e7 05 cc  |<<21,1<<21).....|
0001ebe0  0d 15 e8 1d f2 66 65 28  6d 61 69 6e 25 2c 33 37  |.....fe(main%,37|
0001ebf0  2c 31 3c 3c 32 31 2c 31  3c 3c 32 31 29 0d 15 e9  |,1<<21,1<<21)...|
0001ec00  12 73 74 69 74 63 68 5f  77 69 64 74 68 3d 30 0d  |.stitch_width=0.|
0001ec10  15 ea 5f e7 20 bb 24 28  74 65 6e 73 69 6f 6e 5f  |.._. .$(tension_|
0001ec20  73 71 5f 73 74 69 74 63  68 65 73 25 29 3c 3e 30  |sq_stitches%)<>0|
0001ec30  20 8c 20 73 74 69 74 63  68 5f 77 69 64 74 68 3d  | . stitch_width=|
0001ec40  bb 24 28 74 65 6e 73 69  6f 6e 5f 73 71 5f 77 69  |.$(tension_sq_wi|
0001ec50  64 74 68 25 29 2f bb 24  28 74 65 6e 73 69 6f 6e  |dth%)/.$(tension|
0001ec60  5f 73 71 5f 73 74 69 74  63 68 65 73 25 29 0d 15  |_sq_stitches%)..|
0001ec70  eb 05 cd 0d 15 ec 0e e8  23 69 6e 25 2c 76 61 72  |........#in%,var|
0001ec80  25 0d 15 ed 0e e7 20 76  61 72 25 3d 30 20 8c 0d  |%..... var%=0 ..|
0001ec90  15 ee 0a f2 63 63 28 30  29 0d 15 ef 05 cc 0d 15  |....cc(0).......|
0001eca0  f0 0a f2 63 63 28 31 29  0d 15 f1 05 cd 0d 15 f2  |...cc(1)........|
0001ecb0  11 e8 23 69 6e 25 2c 67  72 65 79 6e 6f 25 0d 15  |..#in%,greyno%..|
0001ecc0  f3 18 e7 20 67 72 65 79  6e 6f 25 3d 35 20 8c 20  |... greyno%=5 . |
0001ecd0  f2 61 63 28 30 29 0d 15  f4 10 f2 65 64 28 67 72  |.ac(0).....ed(gr|
0001ece0  65 79 6e 6f 25 29 0d 15  f5 50 e8 23 69 6e 25 2c  |eyno%)...P.#in%,|
0001ecf0  24 70 61 74 73 74 6f 72  65 25 2c 24 28 70 61 74  |$patstore%,$(pat|
0001ed00  73 74 6f 72 65 25 2b 31  30 30 29 20 3a 20 f2 66  |store%+100) : .f|
0001ed10  65 28 70 61 74 74 65 72  6e 25 2c 38 2c 30 2c 30  |e(pattern%,8,0,0|
0001ed20  29 3a 20 f2 66 65 28 70  61 74 74 65 72 6e 25 2c  |): .fe(pattern%,|
0001ed30  39 2c 30 2c 30 29 0d 15  f6 58 e8 23 69 6e 25 2c  |9,0,0)...X.#in%,|
0001ed40  24 28 70 61 74 73 74 6f  72 65 25 2b 31 30 35 29  |$(patstore%+105)|
0001ed50  2c 24 28 70 61 74 73 74  6f 72 65 25 2b 31 31 30  |,$(patstore%+110|
0001ed60  29 20 3a 20 f2 66 65 28  70 61 74 74 65 72 6e 25  |) : .fe(pattern%|
0001ed70  2c 31 30 2c 30 2c 30 29  3a 20 f2 66 65 28 70 61  |,10,0,0): .fe(pa|
0001ed80  74 74 65 72 6e 25 2c 31  31 2c 30 2c 30 29 0d 15  |ttern%,11,0,0)..|
0001ed90  f7 0e e8 23 69 6e 25 2c  76 61 72 25 0d 15 f8 16  |...#in%,var%....|
0001eda0  70 61 74 73 74 6f 72 65  25 3f 31 31 35 3d 76 61  |patstore%?115=va|
0001edb0  72 25 0d 15 f9 0e e7 20  76 61 72 25 3d 30 20 8c  |r%..... var%=0 .|
0001edc0  0d 15 fa 20 f2 66 65 28  70 61 74 74 65 72 6e 25  |... .fe(pattern%|
0001edd0  2c 31 32 2c 30 3c 3c 32  31 2c 31 3c 3c 32 31 29  |,12,0<<21,1<<21)|
0001ede0  0d 15 fb 20 f2 66 65 28  70 61 74 74 65 72 6e 25  |... .fe(pattern%|
0001edf0  2c 31 33 2c 31 3c 3c 32  31 2c 31 3c 3c 32 31 29  |,13,1<<21,1<<21)|
0001ee00  0d 15 fc 05 cc 0d 15 fd  20 f2 66 65 28 70 61 74  |........ .fe(pat|
0001ee10  74 65 72 6e 25 2c 31 32  2c 31 3c 3c 32 31 2c 31  |tern%,12,1<<21,1|
0001ee20  3c 3c 32 31 29 0d 15 fe  20 f2 66 65 28 70 61 74  |<<21)... .fe(pat|
0001ee30  74 65 72 6e 25 2c 31 33  2c 30 3c 3c 32 31 2c 31  |tern%,13,0<<21,1|
0001ee40  3c 3c 32 31 29 0d 15 ff  05 cd 0d 16 00 3f e8 23  |<<21)........?.#|
0001ee50  69 6e 25 2c 24 73 63 6c  6d 75 6c 25 2c 24 73 63  |in%,$sclmul%,$sc|
0001ee60  6c 64 69 76 25 3a 20 f2  66 65 28 7a 6f 6f 6d 25  |ldiv%: .fe(zoom%|
0001ee70  2c 30 2c 30 2c 30 29 3a  20 f2 66 65 28 7a 6f 6f  |,0,0,0): .fe(zoo|
0001ee80  6d 25 2c 31 2c 30 2c 30  29 0d 16 01 16 65 64 6d  |m%,1,0,0)....edm|
0001ee90  75 6c 25 3d bb 28 24 73  63 6c 6d 75 6c 25 29 0d  |ul%=.($sclmul%).|
0001eea0  16 02 16 65 64 64 69 76  25 3d bb 28 24 73 63 6c  |...eddiv%=.($scl|
0001eeb0  64 69 76 25 29 0d 16 03  14 e8 23 69 6e 25 2c 76  |div%).....#in%,v|
0001eec0  61 72 25 2c 76 61 72 31  25 0d 16 04 0e e7 20 76  |ar%,var1%..... v|
0001eed0  61 72 25 3d 31 20 8c 0d  16 05 19 63 6f 6c 74 61  |ar%=1 .....colta|
0001eee0  62 6c 65 25 3d a4 62 28  76 61 72 31 25 2b 38 29  |ble%=.b(var1%+8)|
0001eef0  0d 16 06 26 c8 99 20 26  30 30 30 30 30 30 30 43  |...&.. &0000000C|
0001ef00  2c 34 2c 69 6e 25 2c 63  6f 6c 74 61 62 6c 65 25  |,4,in%,coltable%|
0001ef10  2c 76 61 72 31 25 0d 16  07 05 cc 0d 16 08 0f 63  |,var1%.........c|
0001ef20  6f 6c 74 61 62 6c 65 25  3d 30 0d 16 09 05 cd 0d  |oltable%=0......|
0001ef30  16 0a 14 e8 23 69 6e 25  2c 76 61 72 25 2c 76 61  |....#in%,var%,va|
0001ef40  72 31 25 0d 16 0b 0e e7  20 76 61 72 25 3d 31 20  |r1%..... var%=1 |
0001ef50  8c 0d 16 0c 18 6e 61 6d  65 74 61 62 6c 65 25 3d  |.....nametable%=|
0001ef60  a4 62 28 76 61 72 31 25  29 0d 16 0d 27 c8 99 20  |.b(var1%)...'.. |
0001ef70  26 30 30 30 30 30 30 30  43 2c 34 2c 69 6e 25 2c  |&0000000C,4,in%,|
0001ef80  6e 61 6d 65 74 61 62 6c  65 25 2c 76 61 72 31 25  |nametable%,var1%|
0001ef90  0d 16 0e 05 cc 0d 16 0f  10 6e 61 6d 65 74 61 62  |.........nametab|
0001efa0  6c 65 25 3d 30 0d 16 10  05 cd 0d 16 11 14 e8 23  |le%=0..........#|
0001efb0  69 6e 25 2c 76 61 72 25  2c 76 61 72 31 25 0d 16  |in%,var%,var1%..|
0001efc0  12 0e e7 20 76 61 72 25  3d 31 20 8c 0d 16 13 17  |... var%=1 .....|
0001efd0  70 61 6c 74 61 62 6c 65  25 3d a4 62 28 76 61 72  |paltable%=.b(var|
0001efe0  31 25 29 0d 16 14 26 c8  99 20 26 30 30 30 30 30  |1%)...&.. &00000|
0001eff0  30 30 43 2c 34 2c 69 6e  25 2c 70 61 6c 74 61 62  |00C,4,in%,paltab|
0001f000  6c 65 25 2c 76 61 72 31  25 0d 16 15 05 cc 0d 16  |le%,var1%.......|
0001f010  16 0f 70 61 6c 74 61 62  6c 65 25 3d 30 0d 16 17  |..paltable%=0...|
0001f020  05 cd 0d 16 18 12 e8 23  69 6e 25 2c 70 69 63 74  |.......#in%,pict|
0001f030  79 70 65 24 0d 16 19 11  c8 8e 20 70 69 63 74 79  |ype$...... picty|
0001f040  70 65 24 20 ca 0d 16 1a  0c c9 20 22 6e 6f 6e 65  |pe$ ...... "none|
0001f050  22 0d 16 1b 10 73 6f 75  72 63 65 73 70 72 25 3d  |"....sourcespr%=|
0001f060  30 0d 16 1c 1c f2 66 65  28 74 62 61 72 25 2c 37  |0.....fe(tbar%,7|
0001f070  2c 31 3c 3c 32 32 2c 31  3c 3c 32 32 29 0d 16 1d  |,1<<22,1<<22)...|
0001f080  1c f2 66 65 28 74 62 61  72 25 2c 37 2c 30 3c 3c  |..fe(tbar%,7,0<<|
0001f090  32 31 2c 31 3c 3c 32 31  29 0d 16 1e 1c f2 66 65  |21,1<<21).....fe|
0001f0a0  28 74 62 61 72 25 2c 35  2c 30 3c 3c 32 32 2c 31  |(tbar%,5,0<<22,1|
0001f0b0  3c 3c 32 32 29 0d 16 1f  1c f2 66 65 28 74 62 61  |<<22).....fe(tba|
0001f0c0  72 25 2c 35 2c 31 3c 3c  32 31 2c 31 3c 3c 32 31  |r%,5,1<<21,1<<21|
0001f0d0  29 0d 16 20 1c f2 66 65  28 74 62 61 72 25 2c 39  |).. ..fe(tbar%,9|
0001f0e0  2c 30 3c 3c 32 32 2c 31  3c 3c 32 32 29 0d 16 21  |,0<<22,1<<22)..!|
0001f0f0  1d f2 66 65 28 74 62 61  72 25 2c 31 30 2c 30 3c  |..fe(tbar%,10,0<|
0001f100  3c 32 32 2c 31 3c 3c 32  32 29 0d 16 22 11 f2 77  |<22,1<<22).."..w|
0001f110  65 28 65 6d 65 6e 75 25  2c 34 29 0d 16 23 13 f2  |e(emenu%,4)..#..|
0001f120  6a 65 28 65 6d 65 6e 75  25 2c 34 2c 31 29 0d 16  |je(emenu%,4,1)..|
0001f130  24 0e c9 20 22 73 70 72  69 74 65 22 0d 16 25 20  |$.. "sprite"..% |
0001f140  e8 23 69 6e 25 2c 76 61  72 25 2c 73 70 72 69 74  |.#in%,var%,sprit|
0001f150  65 24 2c 73 70 72 69 74  65 6f 6e 25 0d 16 26 1c  |e$,spriteon%..&.|
0001f160  f2 66 65 28 74 62 61 72  25 2c 37 2c 30 3c 3c 32  |.fe(tbar%,7,0<<2|
0001f170  32 2c 31 3c 3c 32 32 29  0d 16 27 1c f2 66 65 28  |2,1<<22)..'..fe(|
0001f180  74 62 61 72 25 2c 35 2c  30 3c 3c 32 32 2c 31 3c  |tbar%,5,0<<22,1<|
0001f190  3c 32 32 29 0d 16 28 1c  f2 66 65 28 74 62 61 72  |<22)..(..fe(tbar|
0001f1a0  25 2c 35 2c 31 3c 3c 32  31 2c 31 3c 3c 32 31 29  |%,5,1<<21,1<<21)|
0001f1b0  0d 16 29 1c f2 66 65 28  74 62 61 72 25 2c 39 2c  |..)..fe(tbar%,9,|
0001f1c0  30 3c 3c 32 32 2c 31 3c  3c 32 32 29 0d 16 2a 1d  |0<<22,1<<22)..*.|
0001f1d0  f2 66 65 28 74 62 61 72  25 2c 31 30 2c 30 3c 3c  |.fe(tbar%,10,0<<|
0001f1e0  32 32 2c 31 3c 3c 32 32  29 0d 16 2b 13 e7 20 73  |22,1<<22)..+.. s|
0001f1f0  70 72 69 74 65 6f 6e 25  3d b9 20 8c 0d 16 2c 1c  |priteon%=. ...,.|
0001f200  f2 66 65 28 74 62 61 72  25 2c 37 2c 31 3c 3c 32  |.fe(tbar%,7,1<<2|
0001f210  31 2c 31 3c 3c 32 31 29  0d 16 2d 05 cc 0d 16 2e  |1,1<<21)..-.....|
0001f220  1c f2 66 65 28 74 62 61  72 25 2c 37 2c 30 3c 3c  |..fe(tbar%,7,0<<|
0001f230  32 31 2c 31 3c 3c 32 31  29 0d 16 2f 05 cd 0d 16  |21,1<<21)../....|
0001f240  30 11 f2 73 65 28 65 6d  65 6e 75 25 2c 34 29 0d  |0..se(emenu%,4).|
0001f250  16 31 13 f2 6a 65 28 65  6d 65 6e 75 25 2c 34 2c  |.1..je(emenu%,4,|
0001f260  30 29 0d 16 32 17 73 6f  75 72 63 65 73 70 72 25  |0)..2.sourcespr%|
0001f270  3d a4 62 28 76 61 72 25  29 0d 16 33 26 c8 99 20  |=.b(var%)..3&.. |
0001f280  26 30 30 30 30 30 30 30  43 2c 34 2c 69 6e 25 2c  |&0000000C,4,in%,|
0001f290  73 6f 75 72 63 65 73 70  72 25 2c 76 61 72 25 0d  |sourcespr%,var%.|
0001f2a0  16 34 19 73 61 72 65 61  6c 65 6e 25 3d 21 73 6f  |.4.sarealen%=!so|
0001f2b0  75 72 63 65 73 70 72 25  0d 16 35 38 c8 99 20 26  |urcespr%..58.. &|
0001f2c0  30 30 30 30 30 30 32 45  2c 26 31 31 38 2c 73 6f  |0000002E,&118,so|
0001f2d0  75 72 63 65 73 70 72 25  2c 73 70 72 69 74 65 24  |urcespr%,sprite$|
0001f2e0  20 b8 20 2c 2c 73 6f 75  72 63 65 61 64 64 72 25  | . ,,sourceaddr%|
0001f2f0  0d 16 36 04 0d 16 37 42  c8 99 20 26 30 30 30 30  |..6...7B.. &0000|
0001f300  30 30 32 45 2c 26 32 32  38 2c 73 6f 75 72 63 65  |002E,&228,source|
0001f310  73 70 72 25 2c 73 6f 75  72 63 65 61 64 64 72 25  |spr%,sourceaddr%|
0001f320  20 b8 20 2c 2c 2c 73 70  78 25 2c 73 70 79 25 2c  | . ,,,spx%,spy%,|
0001f330  2c 6d 6f 64 65 25 0d 16  38 13 78 65 25 3d a4 72  |,mode%..8.xe%=.r|
0001f340  28 6d 6f 64 65 25 2c 34  29 0d 16 39 13 79 65 25  |(mode%,4)..9.ye%|
0001f350  3d a4 72 28 6d 6f 64 65  25 2c 35 29 0d 16 3a 12  |=.r(mode%,5)..:.|
0001f360  73 70 78 25 3d 73 70 78  25 3c 3c 78 65 25 0d 16  |spx%=spx%<<xe%..|
0001f370  3b 12 73 70 79 25 3d 73  70 79 25 3c 3c 79 65 25  |;.spy%=spy%<<ye%|
0001f380  0d 16 3c 41 c8 99 20 26  30 30 30 34 30 37 34 30  |..<A.. &00040740|
0001f390  2c 73 6f 75 72 63 65 73  70 72 25 2c 73 6f 75 72  |,sourcespr%,sour|
0001f3a0  63 65 61 64 64 72 25 2c  2d 31 2c 2d 31 2c 30 2c  |ceaddr%,-1,-1,0,|
0001f3b0  31 2c 30 2c 30 20 b8 20  2c 2c 2c 2c 73 69 7a 65  |1,0,0 . ,,,,size|
0001f3c0  25 0d 16 3d 19 74 72 61  6e 73 74 61 62 6c 65 25  |%..=.transtable%|
0001f3d0  3d a4 62 28 73 69 7a 65  25 29 0d 16 3e 3f c8 99  |=.b(size%)..>?..|
0001f3e0  20 26 30 30 30 34 30 37  34 30 2c 73 6f 75 72 63  | &00040740,sourc|
0001f3f0  65 73 70 72 25 2c 73 6f  75 72 63 65 61 64 64 72  |espr%,sourceaddr|
0001f400  25 2c 2d 31 2c 2d 31 2c  74 72 61 6e 73 74 61 62  |%,-1,-1,transtab|
0001f410  6c 65 25 2c 31 2c 30 2c  30 0d 16 3f 0c c9 20 22  |le%,1,0,0..?.. "|
0001f420  64 72 61 77 22 0d 16 40  12 e8 23 69 6e 25 2c 64  |draw"..@..#in%,d|
0001f430  72 61 77 6c 65 6e 25 0d  16 41 1c f2 66 65 28 74  |rawlen%..A..fe(t|
0001f440  62 61 72 25 2c 37 2c 30  3c 3c 32 32 2c 31 3c 3c  |bar%,7,0<<22,1<<|
0001f450  32 32 29 0d 16 42 1c f2  66 65 28 74 62 61 72 25  |22)..B..fe(tbar%|
0001f460  2c 37 2c 31 3c 3c 32 31  2c 31 3c 3c 32 31 29 0d  |,7,1<<21,1<<21).|
0001f470  16 43 1c f2 66 65 28 74  62 61 72 25 2c 35 2c 30  |.C..fe(tbar%,5,0|
0001f480  3c 3c 32 32 2c 31 3c 3c  32 32 29 0d 16 44 1c f2  |<<22,1<<22)..D..|
0001f490  66 65 28 74 62 61 72 25  2c 35 2c 31 3c 3c 32 31  |fe(tbar%,5,1<<21|
0001f4a0  2c 31 3c 3c 32 31 29 0d  16 45 1c f2 66 65 28 74  |,1<<21)..E..fe(t|
0001f4b0  62 61 72 25 2c 39 2c 30  3c 3c 32 32 2c 31 3c 3c  |bar%,9,0<<22,1<<|
0001f4c0  32 32 29 0d 16 46 1d f2  66 65 28 74 62 61 72 25  |22)..F..fe(tbar%|
0001f4d0  2c 31 30 2c 30 3c 3c 32  32 2c 31 3c 3c 32 32 29  |,10,0<<22,1<<22)|
0001f4e0  0d 16 47 11 f2 73 65 28  65 6d 65 6e 75 25 2c 34  |..G..se(emenu%,4|
0001f4f0  29 0d 16 48 13 f2 6a 65  28 65 6d 65 6e 75 25 2c  |)..H..je(emenu%,|
0001f500  34 2c 30 29 0d 16 49 16  64 72 61 77 25 3d a4 62  |4,0)..I.draw%=.b|
0001f510  28 64 72 61 77 6c 65 6e  25 29 0d 16 4a 25 c8 99  |(drawlen%)..J%..|
0001f520  20 26 30 30 30 30 30 30  30 43 2c 34 2c 69 6e 25  | &0000000C,4,in%|
0001f530  2c 64 72 61 77 25 2c 64  72 61 77 6c 65 6e 25 0d  |,draw%,drawlen%.|
0001f540  16 4b 1c 64 72 61 77 78  25 3d 64 72 61 77 25 21  |.K.drawx%=draw%!|
0001f550  33 32 2d 64 72 61 77 25  21 32 34 0d 16 4c 1c 64  |32-draw%!24..L.d|
0001f560  72 61 77 79 25 3d 64 72  61 77 25 21 33 36 2d 64  |rawy%=draw%!36-d|
0001f570  72 61 77 25 21 32 38 0d  16 4d 19 64 72 61 77 78  |raw%!28..M.drawx|
0001f580  6f 66 66 73 65 74 25 3d  64 72 61 77 25 21 32 34  |offset%=draw%!24|
0001f590  0d 16 4e 19 64 72 61 77  79 6f 66 66 73 65 74 25  |..N.drawyoffset%|
0001f5a0  3d 64 72 61 77 25 21 32  38 0d 16 4f 12 73 70 78  |=draw%!28..O.spx|
0001f5b0  25 3d 64 72 61 77 78 25  3e 3e 38 0d 16 50 12 73  |%=drawx%>>8..P.s|
0001f5c0  70 79 25 3d 64 72 61 77  79 25 3e 3e 38 0d 16 51  |py%=drawy%>>8..Q|
0001f5d0  05 cb 0d 16 52 0e e8 23  69 6e 25 2c 76 61 72 25  |....R..#in%,var%|
0001f5e0  0d 16 53 16 f2 73 65 28  63 6f 6c 6d 65 6e 75 25  |..S..se(colmenu%|
0001f5f0  2c 76 61 72 25 29 0d 16  54 12 e8 23 69 6e 25 2c  |,var%)..T..#in%,|
0001f600  67 72 69 64 63 6f 6c 25  0d 16 55 12 e8 23 69 6e  |gridcol%..U..#in|
0001f610  25 2c 62 61 63 6b 63 6f  6c 25 0d 16 56 11 21 62  |%,backcol%..V.!b|
0001f620  6c 6f 63 6b 25 3d 65 64  69 74 25 0d 16 57 18 c8  |lock%=edit%..W..|
0001f630  99 20 26 30 30 30 34 30  30 43 43 2c 2c 62 6c 6f  |. &000400CC,,blo|
0001f640  63 6b 25 0d 16 58 18 c8  99 20 26 30 30 30 34 30  |ck%..X... &00040|
0001f650  30 43 33 2c 2c 62 6c 6f  63 6b 25 0d 16 59 1b 3f  |0C3,,block%..Y.?|
0001f660  28 62 6c 6f 63 6b 25 2b  34 2b 33 35 29 3d 62 61  |(block%+4+35)=ba|
0001f670  63 6b 63 6f 6c 25 0d 16  5a 22 c8 99 20 26 30 30  |ckcol%..Z".. &00|
0001f680  30 34 30 30 43 31 2c 2c  62 6c 6f 63 6b 25 2b 34  |0400C1,,block%+4|
0001f690  20 b8 20 65 64 69 74 25  0d 16 5b 11 c8 8e 20 62  | . edit%..[... b|
0001f6a0  61 63 6b 63 6f 6c 25 20  ca 0d 16 5c 18 c9 20 34  |ackcol% ...\.. 4|
0001f6b0  2c 35 2c 36 2c 37 2c 38  2c 31 30 2c 31 31 2c 31  |,5,6,7,8,10,11,1|
0001f6c0  33 0d 16 5d 0e 66 6f 72  65 63 6f 6c 25 3d 30 0d  |3..].forecol%=0.|
0001f6d0  16 5e 05 7f 0d 16 5f 0e  66 6f 72 65 63 6f 6c 25  |.^...._.forecol%|
0001f6e0  3d 37 0d 16 60 05 cb 0d  16 61 11 e8 23 69 6e 25  |=7..`....a..#in%|
0001f6f0  2c 6d 61 78 63 6f 6c 25  0d 16 62 14 e7 20 8f 23  |,maxcol%..b.. .#|
0001f700  69 6e 25 3c 3e a2 23 69  6e 25 20 8c 0d 16 63 14  |in%<>.#in% ...c.|
0001f710  e8 23 69 6e 25 2c 72 75  6c 65 72 62 63 6f 6c 25  |.#in%,rulerbcol%|
0001f720  0d 16 64 14 e8 23 69 6e  25 2c 72 75 6c 65 72 66  |..d..#in%,rulerf|
0001f730  63 6f 6c 25 0d 16 65 15  e8 23 69 6e 25 2c 70 61  |col%..e..#in%,pa|
0001f740  67 65 72 75 6c 65 72 73  25 0d 16 66 19 74 6f 70  |gerulers%..f.top|
0001f750  72 75 6c 65 25 3d a4 74  28 74 6f 70 72 75 6c 65  |rule%=.t(toprule|
0001f760  25 29 0d 16 67 19 62 6f  74 72 75 6c 65 25 3d a4  |%)..g.botrule%=.|
0001f770  74 28 62 6f 74 72 75 6c  65 25 29 0d 16 68 1b 6c  |t(botrule%)..h.l|
0001f780  65 66 74 72 75 6c 65 25  3d a4 74 28 6c 65 66 74  |eftrule%=.t(left|
0001f790  72 75 6c 65 25 29 0d 16  69 1d 72 69 67 68 74 72  |rule%)..i.rightr|
0001f7a0  75 6c 65 25 3d a4 74 28  72 69 67 68 74 72 75 6c  |ule%=.t(rightrul|
0001f7b0  65 25 29 0d 16 6a 15 e7  20 70 61 67 65 72 75 6c  |e%)..j.. pagerul|
0001f7c0  65 72 73 25 3d b9 20 8c  0d 16 6b 1c f2 66 65 28  |ers%=. ...k..fe(|
0001f7d0  74 62 61 72 25 2c 36 2c  31 3c 3c 32 31 2c 31 3c  |tbar%,6,1<<21,1<|
0001f7e0  3c 32 31 29 0d 16 6c 11  f2 73 65 28 65 6d 65 6e  |<21)..l..se(emen|
0001f7f0  75 25 2c 33 29 0d 16 6d  05 cc 0d 16 6e 1c f2 66  |u%,3)..m....n..f|
0001f800  65 28 74 62 61 72 25 2c  36 2c 30 3c 3c 32 31 2c  |e(tbar%,6,0<<21,|
0001f810  31 3c 3c 32 31 29 0d 16  6f 11 f2 77 65 28 65 6d  |1<<21)..o..we(em|
0001f820  65 6e 75 25 2c 33 29 0d  16 70 05 cd 0d 16 71 11  |enu%,3)..p....q.|
0001f830  e8 23 69 6e 25 2c 6d 61  6e 6e 65 72 25 0d 16 72  |.#in%,manner%..r|
0001f840  10 c8 8e 20 6d 61 6e 6e  65 72 25 20 ca 0d 16 73  |... manner% ...s|
0001f850  09 c9 20 30 2c 31 0d 16  74 13 f2 6a 65 28 65 6d  |.. 0,1..t..je(em|
0001f860  65 6e 75 25 2c 37 2c 30  29 0d 16 75 07 c9 20 32  |enu%,7,0)..u.. 2|
0001f870  0d 16 76 2f e7 20 6e 61  6d 65 74 61 62 6c 65 25  |..v/. nametable%|
0001f880  3c 3e 30 20 8c 20 6e 61  6d 65 74 61 62 6c 65 25  |<>0 . nametable%|
0001f890  3d a4 68 28 6e 61 6d 65  74 61 62 6c 65 25 29 0d  |=.h(nametable%).|
0001f8a0  16 77 2f e7 20 73 79 6d  62 73 74 6f 72 65 25 3c  |.w/. symbstore%<|
0001f8b0  3e 30 20 8c 20 73 79 6d  62 73 74 6f 72 65 25 3d  |>0 . symbstore%=|
0001f8c0  a4 68 28 73 79 6d 62 73  74 6f 72 65 25 29 0d 16  |.h(symbstore%)..|
0001f8d0  78 2f e7 20 73 79 6d 62  70 6f 69 6e 74 25 3c 3e  |x/. symbpoint%<>|
0001f8e0  30 20 8c 20 73 79 6d 62  70 6f 69 6e 74 25 3d a4  |0 . symbpoint%=.|
0001f8f0  68 28 73 79 6d 62 70 6f  69 6e 74 25 29 0d 16 79  |h(symbpoint%)..y|
0001f900  2c e7 20 73 79 6d 62 73  69 7a 65 25 3c 3e 30 20  |,. symbsize%<>0 |
0001f910  8c 20 73 79 6d 62 73 69  7a 65 25 3d a4 68 28 73  |. symbsize%=.h(s|
0001f920  79 6d 62 73 69 7a 65 25  29 0d 16 7a 2c e7 20 70  |ymbsize%)..z,. p|
0001f930  61 6c 74 61 62 6c 65 25  3c 3e 30 20 8c 20 70 61  |altable%<>0 . pa|
0001f940  6c 74 61 62 6c 65 25 3d  a4 68 28 70 61 6c 74 61  |ltable%=.h(palta|
0001f950  62 6c 65 25 29 0d 16 7b  20 e7 20 64 72 61 77 25  |ble%)..{ . draw%|
0001f960  3c 3e 30 20 8c 20 64 72  61 77 25 3d a4 68 28 64  |<>0 . draw%=.h(d|
0001f970  72 61 77 25 29 0d 16 7c  2f e7 20 73 6f 75 72 63  |raw%)..|/. sourc|
0001f980  65 73 70 72 25 3c 3e 30  20 8c 20 73 6f 75 72 63  |espr%<>0 . sourc|
0001f990  65 73 70 72 25 3d a4 68  28 73 6f 75 72 63 65 73  |espr%=.h(sources|
0001f9a0  70 72 25 29 0d 16 7d 1e  73 74 77 25 3d a8 28 28  |pr%)..}.stw%=.((|
0001f9b0  33 30 2a 65 64 6d 75 6c  25 29 2f 65 64 64 69 76  |30*edmul%)/eddiv|
0001f9c0  25 29 0d 16 7e 1e 72 68  74 25 3d a8 28 28 33 30  |%)..~.rht%=.((30|
0001f9d0  2a 65 64 6d 75 6c 25 29  2f 65 64 64 69 76 25 29  |*edmul%)/eddiv%)|
0001f9e0  0d 16 7f 14 73 74 69 74  63 68 77 69 64 74 68 3d  |....stitchwidth=|
0001f9f0  73 74 77 25 0d 16 80 0e  72 6f 77 68 74 3d 72 68  |stw%....rowht=rh|
0001fa00  74 25 0d 16 81 1b 67 72  69 64 77 69 64 74 68 25  |t%....gridwidth%|
0001fa10  3d bb 24 67 73 74 69 74  63 68 65 73 25 0d 16 82  |=.$gstitches%...|
0001fa20  18 67 72 69 64 68 65 69  67 68 74 25 3d bb 24 67  |.gridheight%=.$g|
0001fa30  72 6f 77 73 25 0d 16 83  07 f2 73 63 0d 16 84 0a  |rows%.....sc....|
0001fa40  f2 65 64 28 36 29 0d 16  85 14 f2 73 65 28 65 64  |.ed(6).....se(ed|
0001fa50  69 74 6d 65 6e 75 25 2c  32 29 0d 16 86 14 f2 77  |itmenu%,2).....w|
0001fa60  65 28 65 64 69 74 6d 65  6e 75 25 2c 30 29 0d 16  |e(editmenu%,0)..|
0001fa70  87 14 f2 77 65 28 65 64  69 74 6d 65 6e 75 25 2c  |...we(editmenu%,|
0001fa80  31 29 0d 16 88 13 f2 6a  65 28 73 6d 65 6e 75 25  |1).....je(smenu%|
0001fa90  2c 30 2c 31 29 0d 16 89  13 f2 6a 65 28 73 6d 65  |,0,1).....je(sme|
0001faa0  6e 75 25 2c 31 2c 31 29  0d 16 8a 0f 73 70 72 69  |nu%,1,1)....spri|
0001fab0  74 65 6f 6e 25 3d a3 0d  16 8b 12 65 64 69 74 63  |teon%=.....editc|
0001fac0  72 65 61 74 65 64 25 3d  b9 0d 16 8c 1c f2 66 65  |reated%=......fe|
0001fad0  28 74 62 61 72 25 2c 35  2c 31 3c 3c 32 32 2c 31  |(tbar%,5,1<<22,1|
0001fae0  3c 3c 32 32 29 0d 16 8d  1c f2 66 65 28 74 62 61  |<<22).....fe(tba|
0001faf0  72 25 2c 35 2c 31 3c 3c  32 31 2c 31 3c 3c 32 31  |r%,5,1<<21,1<<21|
0001fb00  29 0d 16 8e 1c f2 66 65  28 74 62 61 72 25 2c 37  |).....fe(tbar%,7|
0001fb10  2c 31 3c 3c 32 32 2c 31  3c 3c 32 32 29 0d 16 8f  |,1<<22,1<<22)...|
0001fb20  1c f2 66 65 28 74 62 61  72 25 2c 37 2c 30 3c 3c  |..fe(tbar%,7,0<<|
0001fb30  32 31 2c 31 3c 3c 32 31  29 0d 16 90 1c f2 66 65  |21,1<<21).....fe|
0001fb40  28 74 62 61 72 25 2c 39  2c 31 3c 3c 32 32 2c 31  |(tbar%,9,1<<22,1|
0001fb50  3c 3c 32 32 29 0d 16 91  1d f2 66 65 28 74 62 61  |<<22).....fe(tba|
0001fb60  72 25 2c 31 30 2c 31 3c  3c 32 32 2c 31 3c 3c 32  |r%,10,1<<22,1<<2|
0001fb70  32 29 0d 16 92 13 f2 6a  65 28 65 6d 65 6e 75 25  |2).....je(emenu%|
0001fb80  2c 34 2c 31 29 0d 16 93  13 f2 6a 65 28 65 6d 65  |,4,1).....je(eme|
0001fb90  6e 75 25 2c 37 2c 31 29  0d 16 94 11 f2 77 65 28  |nu%,7,1).....we(|
0001fba0  65 6d 65 6e 75 25 2c 34  29 0d 16 95 05 cb 0d 16  |emenu%,4).......|
0001fbb0  96 05 cd 0d 16 97 09 d9  23 69 6e 25 0d 16 98 19  |........#in%....|
0001fbc0  e7 20 73 74 61 72 72 65  64 25 3d b9 20 8c 20 f2  |. starred%=. . .|
0001fbd0  74 65 28 30 29 0d 16 99  10 c8 99 20 26 30 30 30  |te(0)...... &000|
0001fbe0  34 30 36 43 31 0d 16 9a  05 e1 0d 16 9b 05 3a 0d  |406C1.........:.|
0001fbf0  16 9c 09 dd 20 f2 72 64  0d 16 9d 45 ea 20 70 66  |.... .rd...E. pf|
0001fc00  25 2c 77 25 2c 68 25 2c  72 65 63 74 25 2c 74 72  |%,w%,h%,rect%,tr|
0001fc10  61 6e 73 25 2c 70 6c 6f  74 61 74 25 2c 6d 6f 72  |ans%,plotat%,mor|
0001fc20  65 25 2c 66 31 25 2c 66  32 25 2c 66 33 25 2c 6d  |e%,f1%,f2%,f3%,m|
0001fc30  69 6e 25 2c 6d 61 78 25  2c 63 6f 6c 25 0d 16 9e  |in%,max%,col%...|
0001fc40  50 ea 20 77 78 25 2c 77  79 25 2c 6d 69 6e 78 25  |P. wx%,wy%,minx%|
0001fc50  2c 6d 61 78 78 25 2c 6d  69 6e 79 25 2c 6d 61 78  |,maxx%,miny%,max|
0001fc60  79 25 2c 73 6d 69 6e 78  25 2c 73 6d 61 78 78 25  |y%,sminx%,smaxx%|
0001fc70  2c 73 6d 69 6e 79 25 2c  73 6d 61 78 79 25 2c 79  |,sminy%,smaxy%,y|
0001fc80  25 2c 78 78 25 2c 78 63  25 2c 79 63 25 0d 16 9f  |%,xx%,xc%,yc%...|
0001fc90  37 ea 20 74 69 6c 65 78  25 2c 74 69 6c 65 79 25  |7. tilex%,tiley%|
0001fca0  2c 70 72 74 72 61 6e 73  74 61 62 6c 65 25 2c 73  |,prtranstable%,s|
0001fcb0  69 7a 65 25 2c 59 30 25  2c 59 31 25 2c 58 30 25  |ize%,Y0%,Y1%,X0%|
0001fcc0  2c 58 31 25 0d 16 a0 50  ea 20 64 65 63 25 2c 77  |,X1%...P. dec%,w|
0001fcd0  64 25 2c 68 74 25 2c 70  67 72 69 64 25 2c 70 73  |d%,ht%,pgrid%,ps|
0001fce0  70 72 69 74 65 25 2c 70  73 74 69 74 63 68 65 73  |prite%,pstitches|
0001fcf0  25 2c 70 6d 69 72 72 6f  72 25 2c 70 67 72 69 64  |%,pmirror%,pgrid|
0001fd00  77 25 2c 78 6f 66 66 73  65 74 2c 70 72 73 74 69  |w%,xoffset,prsti|
0001fd10  74 63 68 25 0d 16 a1 1f  ea 20 73 63 6c 25 2c 6e  |tch%..... scl%,n|
0001fd20  75 6d 6d 69 6e 25 2c 6e  75 6d 6d 61 78 25 2c 6e  |ummin%,nummax%,n|
0001fd30  75 6d 25 0d 16 a2 17 70  67 72 69 64 25 3d a4 6c  |um%....pgrid%=.l|
0001fd40  28 70 72 69 6e 74 25 2c  32 29 0d 16 a3 19 70 73  |(print%,2)....ps|
0001fd50  70 72 69 74 65 25 3d a4  6c 28 70 72 69 6e 74 25  |prite%=.l(print%|
0001fd60  2c 33 29 0d 16 a4 1b 70  73 74 69 74 63 68 65 73  |,3)....pstitches|
0001fd70  25 3d a4 6c 28 70 72 69  6e 74 25 2c 34 29 0d 16  |%=.l(print%,4)..|
0001fd80  a5 1a 70 6d 69 72 72 6f  72 25 3d a4 6c 28 70 72  |..pmirror%=.l(pr|
0001fd90  69 6e 74 25 2c 31 39 29  0d 16 a6 1f 72 65 63 74  |int%,19)....rect|
0001fda0  25 3d a4 62 28 31 36 29  3a 20 74 72 61 6e 73 25  |%=.b(16): trans%|
0001fdb0  3d a4 62 28 31 36 29 0d  16 a7 11 70 6c 6f 74 61  |=.b(16)....plota|
0001fdc0  74 25 3d a4 62 28 38 29  0d 16 a8 13 70 72 74 72  |t%=.b(8)....prtr|
0001fdd0  61 6e 73 74 61 62 6c 65  25 3d 30 0d 16 a9 10 c8  |anstable%=0.....|
0001fde0  99 20 26 30 30 30 34 30  36 43 30 0d 16 aa 15 70  |. &000406C0....p|
0001fdf0  66 25 3d ae 28 22 70 72  69 6e 74 65 72 3a 22 29  |f%=.("printer:")|
0001fe00  0d 16 ab 1f c8 99 20 26  30 30 30 38 30 31 34 35  |...... &00080145|
0001fe10  2c 70 66 25 2c 22 45 61  73 79 4b 6e 69 74 22 0d  |,pf%,"EasyKnit".|
0001fe20  16 ac 07 ea 20 85 0d 16  ad 13 ee 20 85 20 ea 3a  |.... ...... . .:|
0001fe30  f7 20 85 3a f2 74 63 3a  e1 0d 16 ae 34 c8 99 20  |. .:.tc:....4.. |
0001fe40  26 30 30 30 34 30 30 38  31 2c 2c 22 54 72 69 6e  |&00040081,,"Trin|
0001fe50  69 74 79 2e 4d 65 64 69  75 6d 22 2c 31 30 2a 31  |ity.Medium",10*1|
0001fe60  36 2c 31 30 2a 31 36 20  b8 20 66 31 25 0d 16 af  |6,10*16 . f1%...|
0001fe70  34 c8 99 20 26 30 30 30  34 30 30 38 31 2c 2c 22  |4.. &00040081,,"|
0001fe80  54 72 69 6e 69 74 79 2e  4d 65 64 69 75 6d 22 2c  |Trinity.Medium",|
0001fe90  31 34 2a 31 36 2c 31 34  2a 31 36 20 b8 20 66 32  |14*16,14*16 . f2|
0001fea0  25 0d 16 b0 3b c8 99 20  26 30 30 30 34 30 30 38  |%...;.. &0004008|
0001feb0  31 2c 2c 22 48 6f 6d 65  72 74 6f 6e 2e 4d 65 64  |1,,"Homerton.Med|
0001fec0  69 75 6d 2e 4f 62 6c 69  71 75 65 22 2c 38 2a 31  |ium.Oblique",8*1|
0001fed0  36 2c 38 2a 31 36 20 b8  20 66 33 25 0d 16 b1 1d  |6,8*16 . f3%....|
0001fee0  e7 20 74 69 6c 65 73 77  25 3d 30 20 80 20 74 69  |. tilesw%=0 . ti|
0001fef0  6c 65 73 68 25 3d 30 20  8c 0d 16 b2 18 78 63 25  |lesh%=0 .....xc%|
0001ff00  3d 28 70 72 77 25 2d 70  72 70 61 74 77 25 29 2f  |=(prw%-prpatw%)/|
0001ff10  32 0d 16 b3 18 79 63 25  3d 28 70 72 68 25 2d 70  |2....yc%=(prh%-p|
0001ff20  72 70 61 74 68 25 29 2f  32 0d 16 b4 17 e7 20 78  |rpath%)/2..... x|
0001ff30  63 25 3c 31 30 30 20 8c  20 78 63 25 3d 31 30 30  |c%<100 . xc%=100|
0001ff40  0d 16 b5 17 e7 20 79 63  25 3c 31 30 30 20 8c 20  |..... yc%<100 . |
0001ff50  79 63 25 3d 31 30 30 0d  16 b6 05 cc 0d 16 b7 0b  |yc%=100.........|
0001ff60  78 63 25 3d 31 30 30 0d  16 b8 0b 79 63 25 3d 31  |xc%=100....yc%=1|
0001ff70  30 30 0d 16 b9 05 cd 0d  16 ba 1d 74 69 74 6c 65  |00.........title|
0001ff80  78 25 3d 78 63 25 2b 70  72 70 61 74 77 25 2f 32  |x%=xc%+prpatw%/2|
0001ff90  2d 31 30 30 0d 16 bb 1b  74 69 74 6c 65 79 25 3d  |-100....titley%=|
0001ffa0  79 63 25 2b 70 72 70 61  74 68 25 2d 32 32 30 0d  |yc%+prpath%-220.|
0001ffb0  16 bc 1d 21 74 72 61 6e  73 25 3d 31 3c 3c 31 36  |...!trans%=1<<16|
0001ffc0  3a 20 74 72 61 6e 73 25  21 34 3d 30 0d 16 bd 1f  |: trans%!4=0....|
0001ffd0  74 72 61 6e 73 25 21 38  3d 30 3a 20 74 72 61 6e  |trans%!8=0: tran|
0001ffe0  73 25 21 31 32 3d 31 3c  3c 31 36 0d 16 be 12 70  |s%!12=1<<16....p|
0001fff0  6c 6f 74 61 74 25 21 30  3d 70 72 6c 25 0d 16 bf  |lotat%!0=prl%...|
00020000  12 70 6c 6f 74 61 74 25  21 34 3d 70 72 62 25 0d  |.plotat%!4=prb%.|
00020010  16 c0 0c 73 6d 69 6e 78  25 3d 30 0d 16 c1 14 73  |...sminx%=0....s|
00020020  6d 61 78 78 25 3d 6e 75  6d 73 74 77 25 2b 32 0d  |maxx%=numstw%+2.|
00020030  16 c2 0c 73 6d 69 6e 79  25 3d 30 0d 16 c3 14 73  |...sminy%=0....s|
00020040  6d 61 78 79 25 3d 6e 75  6d 73 74 68 25 2b 32 0d  |maxy%=numsth%+2.|
00020050  16 c4 19 e7 20 73 6d 69  6e 78 25 3c 30 20 8c 20  |.... sminx%<0 . |
00020060  73 6d 69 6e 78 25 3d 30  0d 16 c5 2b e7 20 73 6d  |sminx%=0...+. sm|
00020070  61 78 78 25 3e 67 72 69  64 77 69 64 74 68 25 20  |axx%>gridwidth% |
00020080  8c 20 73 6d 61 78 78 25  3d 67 72 69 64 77 69 64  |. smaxx%=gridwid|
00020090  74 68 25 0d 16 c6 19 e7  20 73 6d 69 6e 79 25 3c  |th%..... sminy%<|
000200a0  30 20 8c 20 73 6d 69 6e  79 25 3d 30 0d 16 c7 2d  |0 . sminy%=0...-|
000200b0  e7 20 73 6d 61 78 79 25  3e 67 72 69 64 68 65 69  |. smaxy%>gridhei|
000200c0  67 68 74 25 20 8c 20 73  6d 61 78 79 25 3d 67 72  |ght% . smaxy%=gr|
000200d0  69 64 68 65 69 67 68 74  25 0d 16 c8 18 e3 20 74  |idheight%..... t|
000200e0  69 6c 65 78 25 3d 30 20  b8 20 74 69 6c 65 73 77  |ilex%=0 . tilesw|
000200f0  25 0d 16 c9 18 e3 20 74  69 6c 65 79 25 3d 30 20  |%..... tiley%=0 |
00020100  b8 20 74 69 6c 65 73 68  25 0d 16 ca 24 6d 69 6e  |. tilesh%...$min|
00020110  78 25 3d 74 69 6c 65 78  25 2a 6e 75 6d 73 74 77  |x%=tilex%*numstw|
00020120  25 2a 70 72 73 74 77 2d  70 72 73 74 77 0d 16 cb  |%*prstw-prstw...|
00020130  24 6d 69 6e 79 25 3d 74  69 6c 65 79 25 2a 6e 75  |$miny%=tiley%*nu|
00020140  6d 73 74 68 25 2a 70 72  72 68 74 2d 70 72 72 68  |msth%*prrht-prrh|
00020150  74 0d 16 cc 2d 6d 61 78  78 25 3d 78 63 25 2b 6d  |t...-maxx%=xc%+m|
00020160  69 6e 78 25 2b 6e 75 6d  73 74 77 25 2a 70 72 73  |inx%+numstw%*prs|
00020170  74 77 2b 32 2a 70 72 73  74 77 2b 32 30 30 0d 16  |tw+2*prstw+200..|
00020180  cd 2d 6d 61 78 79 25 3d  79 63 25 2b 6d 69 6e 79  |.-maxy%=yc%+miny|
00020190  25 2b 6e 75 6d 73 74 68  25 2a 70 72 72 68 74 2b  |%+numsth%*prrht+|
000201a0  32 2a 70 72 72 68 74 2b  32 30 30 0d 16 ce 11 72  |2*prrht+200....r|
000201b0  65 63 74 25 21 30 3d 6d  69 6e 78 25 0d 16 cf 11  |ect%!0=minx%....|
000201c0  72 65 63 74 25 21 34 3d  6d 69 6e 79 25 0d 16 d0  |rect%!4=miny%...|
000201d0  11 72 65 63 74 25 21 38  3d 6d 61 78 78 25 0d 16  |.rect%!8=maxx%..|
000201e0  d1 12 72 65 63 74 25 21  31 32 3d 6d 61 78 79 25  |..rect%!12=maxy%|
000201f0  0d 16 d2 31 c8 99 20 26  30 30 30 38 30 31 34 42  |...1.. &0008014B|
00020200  2c 30 2c 72 65 63 74 25  2c 74 72 61 6e 73 25 2c  |,0,rect%,trans%,|
00020210  70 6c 6f 74 61 74 25 2c  26 46 46 46 46 46 46 30  |plotat%,&FFFFFF0|
00020220  30 0d 16 d3 25 c8 99 20  26 30 30 30 38 30 31 34  |0...%.. &0008014|
00020230  43 2c 31 2c 62 6c 6f 63  6b 25 2c 30 2c 30 20 b8  |C,1,block%,0,0 .|
00020240  20 6d 6f 72 65 25 0d 16  d4 1f c8 99 20 26 30 30  | more%...... &00|
00020250  30 34 30 37 34 46 2c 2c  26 46 46 46 46 46 46 30  |04074F,,&FFFFFF0|
00020260  30 2c 30 2c 36 0d 16 d5  26 e7 20 70 73 70 72 69  |0,0,6...&. pspri|
00020270  74 65 25 3d b9 20 80 20  70 69 63 74 79 70 65 24  |te%=. . pictype$|
00020280  3d 22 73 70 72 69 74 65  22 20 8c 0d 16 d6 41 c8  |="sprite" ....A.|
00020290  99 20 26 30 30 30 34 30  37 34 30 2c 73 6f 75 72  |. &00040740,sour|
000202a0  63 65 73 70 72 25 2c 73  6f 75 72 63 65 61 64 64  |cespr%,sourceadd|
000202b0  72 25 2c 2d 31 2c 2d 31  2c 30 2c 31 2c 30 2c 30  |r%,-1,-1,0,1,0,0|
000202c0  20 b8 20 2c 2c 2c 2c 73  69 7a 65 25 0d 16 d7 38  | . ,,,,size%...8|
000202d0  e7 20 70 72 74 72 61 6e  73 74 61 62 6c 65 25 3c  |. prtranstable%<|
000202e0  3e 30 20 8c 20 70 72 74  72 61 6e 73 74 61 62 6c  |>0 . prtranstabl|
000202f0  65 25 3d a4 68 28 70 72  74 72 61 6e 73 74 61 62  |e%=.h(prtranstab|
00020300  6c 65 25 29 0d 16 d8 1b  70 72 74 72 61 6e 73 74  |le%)....prtranst|
00020310  61 62 6c 65 25 3d a4 62  28 73 69 7a 65 25 29 0d  |able%=.b(size%).|
00020320  16 d9 41 c8 99 20 26 30  30 30 34 30 37 34 30 2c  |..A.. &00040740,|
00020330  73 6f 75 72 63 65 73 70  72 25 2c 73 6f 75 72 63  |sourcespr%,sourc|
00020340  65 61 64 64 72 25 2c 2d  31 2c 2d 31 2c 70 72 74  |eaddr%,-1,-1,prt|
00020350  72 61 6e 73 74 61 62 6c  65 25 2c 31 2c 30 2c 30  |ranstable%,1,0,0|
00020360  0d 16 da 05 cd 0d 16 db  0c c8 95 20 6d 6f 72 65  |........... more|
00020370  25 0d 16 dc 04 0d 16 dd  16 e7 20 74 69 6c 65 79  |%......... tiley|
00020380  25 3d 74 69 6c 65 73 68  25 20 8c 0d 16 de 14 c8  |%=tilesh% ......|
00020390  99 20 26 30 30 30 34 30  30 38 41 2c 66 32 25 0d  |. &0004008A,f2%.|
000203a0  16 df 24 f2 75 62 28 24  70 61 74 73 74 6f 72 65  |..$.ub($patstore|
000203b0  25 2c 66 31 25 2c 64 65  63 25 2c 77 64 25 2c 68  |%,f1%,dec%,wd%,h|
000203c0  74 25 29 0d 16 e0 35 c8  99 20 26 30 30 30 34 30  |t%)...5.. &00040|
000203d0  30 38 36 2c 2c 24 70 61  74 73 74 6f 72 65 25 2c  |086,,$patstore%,|
000203e0  31 36 2c 74 69 74 6c 65  78 25 2d 77 64 25 2f 32  |16,titlex%-wd%/2|
000203f0  2c 74 69 74 6c 65 79 25  0d 16 e1 05 cd 0d 16 e2  |,titley%........|
00020400  12 e7 20 70 73 70 72 69  74 65 25 3d b9 20 8c 0d  |.. psprite%=. ..|
00020410  16 e3 11 c8 8e 20 70 69  63 74 79 70 65 24 20 ca  |..... pictype$ .|
00020420  0d 16 e4 0e c9 20 22 73  70 72 69 74 65 22 0d 16  |..... "sprite"..|
00020430  e5 22 59 30 25 3d 28 79  63 25 2b 67 72 69 64 68  |."Y0%=(yc%+gridh|
00020440  65 69 67 68 74 25 2a 70  72 72 68 74 29 3c 3c 38  |eight%*prrht)<<8|
00020450  0d 16 e6 0e 59 31 25 3d  79 63 25 3c 3c 38 0d 16  |....Y1%=yc%<<8..|
00020460  e7 0e 58 30 25 3d 78 63  25 3c 3c 38 0d 16 e8 21  |..X0%=xc%<<8...!|
00020470  58 31 25 3d 28 78 63 25  2b 67 72 69 64 77 69 64  |X1%=(xc%+gridwid|
00020480  74 68 25 2a 70 72 73 74  77 29 3c 3c 38 0d 16 e9  |th%*prstw)<<8...|
00020490  22 e7 20 a4 6c 28 70 72  69 6e 74 25 2c 31 38 29  |". .l(print%,18)|
000204a0  3d b9 20 8c 20 c8 94 20  59 30 25 2c 59 31 25 0d  |=. . .. Y0%,Y1%.|
000204b0  16 ea 1d e7 20 70 6d 69  72 72 6f 72 25 3d b9 20  |.... pmirror%=. |
000204c0  8c 20 c8 94 20 58 30 25  2c 58 31 25 0d 16 eb 12  |. .. X0%,X1%....|
000204d0  62 6c 6f 63 6b 25 21 31  30 30 3d 58 30 25 0d 16  |block%!100=X0%..|
000204e0  ec 12 62 6c 6f 63 6b 25  21 31 30 34 3d 59 30 25  |..block%!104=Y0%|
000204f0  0d 16 ed 12 62 6c 6f 63  6b 25 21 31 30 38 3d 58  |....block%!108=X|
00020500  31 25 0d 16 ee 12 62 6c  6f 63 6b 25 21 31 31 32  |1%....block%!112|
00020510  3d 59 30 25 0d 16 ef 12  62 6c 6f 63 6b 25 21 31  |=Y0%....block%!1|
00020520  31 36 3d 58 31 25 0d 16  f0 12 62 6c 6f 63 6b 25  |16=X1%....block%|
00020530  21 31 32 30 3d 59 31 25  0d 16 f1 12 62 6c 6f 63  |!120=Y1%....bloc|
00020540  6b 25 21 31 32 34 3d 58  30 25 0d 16 f2 12 62 6c  |k%!124=X0%....bl|
00020550  6f 63 6b 25 21 31 32 38  3d 59 31 25 0d 16 f3 04  |ock%!128=Y1%....|
00020560  0d 16 f4 4a c8 99 26 30  30 30 30 30 30 32 45 2c  |...J..&0000002E,|
00020570  26 32 33 38 2c 73 6f 75  72 63 65 73 70 72 25 2c  |&238,sourcespr%,|
00020580  73 6f 75 72 63 65 61 64  64 72 25 2c 31 2c 30 2c  |sourceaddr%,1,0,|
00020590  30 2c 62 6c 6f 63 6b 25  2b 31 30 30 2c 70 72 74  |0,block%+100,prt|
000205a0  72 61 6e 73 74 61 62 6c  65 25 0d 16 f5 0c c9 20  |ranstable%..... |
000205b0  22 64 72 61 77 22 0d 16  f6 2d 73 63 61 6c 65 78  |"draw"...-scalex|
000205c0  3d 28 28 67 72 69 64 77  69 64 74 68 25 2a 70 72  |=((gridwidth%*pr|
000205d0  73 74 77 29 3c 3c 38 29  2f 28 64 72 61 77 78 25  |stw)<<8)/(drawx%|
000205e0  2d 31 29 0d 16 f7 2e 73  63 61 6c 65 79 3d 28 28  |-1)....scaley=((|
000205f0  67 72 69 64 68 65 69 67  68 74 25 2a 70 72 72 68  |gridheight%*prrh|
00020600  74 29 3c 3c 38 29 2f 28  64 72 61 77 79 25 2d 31  |t)<<8)/(drawy%-1|
00020610  29 0d 16 f8 21 e7 20 70  6d 69 72 72 6f 72 25 3d  |)...!. pmirror%=|
00020620  b9 20 8c 20 73 63 61 6c  65 78 3d 2d 73 63 61 6c  |. . scalex=-scal|
00020630  65 78 0d 16 f9 1c 62 6c  6f 63 6b 25 21 31 30 30  |ex....block%!100|
00020640  20 3d 73 63 61 6c 65 78  2a 36 35 35 33 36 0d 16  | =scalex*65536..|
00020650  fa 11 62 6c 6f 63 6b 25  21 31 30 34 20 3d 30 0d  |..block%!104 =0.|
00020660  16 fb 11 62 6c 6f 63 6b  25 21 31 30 38 20 3d 30  |...block%!108 =0|
00020670  0d 16 fc 1b 62 6c 6f 63  6b 25 21 31 31 32 3d 73  |....block%!112=s|
00020680  63 61 6c 65 79 2a 36 35  35 33 36 0d 16 fd 2b 62  |caley*65536...+b|
00020690  6c 6f 63 6b 25 21 31 31  36 3d 28 78 63 25 3c 3c  |lock%!116=(xc%<<|
000206a0  38 29 2d 64 72 61 77 78  6f 66 66 73 65 74 25 2a  |8)-drawxoffset%*|
000206b0  73 63 61 6c 65 78 0d 16  fe 36 e7 20 70 6d 69 72  |scalex...6. pmir|
000206c0  72 6f 72 25 3d b9 20 8c  20 62 6c 6f 63 6b 25 21  |ror%=. . block%!|
000206d0  31 31 36 3d 62 6c 6f 63  6b 25 21 31 31 36 2d 64  |116=block%!116-d|
000206e0  72 61 77 78 25 2a 73 63  61 6c 65 78 0d 16 ff 2b  |rawx%*scalex...+|
000206f0  62 6c 6f 63 6b 25 21 31  32 30 3d 28 79 63 25 3c  |block%!120=(yc%<|
00020700  3c 38 29 2d 64 72 61 77  79 6f 66 66 73 65 74 25  |<8)-drawyoffset%|
00020710  2a 73 63 61 6c 65 79 0d  17 00 04 0d 17 01 2e c8  |*scaley.........|
00020720  99 20 26 30 30 30 34 35  35 34 30 2c 30 2c 64 72  |. &00045540,0,dr|
00020730  61 77 25 2c 64 72 61 77  6c 65 6e 25 2c 62 6c 6f  |aw%,drawlen%,blo|
00020740  63 6b 25 2b 31 30 30 2c  30 0d 17 02 05 cb 0d 17  |ck%+100,0.......|
00020750  03 05 cd 0d 17 04 10 c8  8e 20 6d 61 6e 6e 65 72  |......... manner|
00020760  25 20 ca 0d 17 05 09 c9  20 30 2c 31 0d 17 06 04  |% ...... 0,1....|
00020770  0d 17 07 14 e7 20 70 73  74 69 74 63 68 65 73 25  |..... pstitches%|
00020780  3d b9 20 8c 0d 17 08 21  70 6d 69 6e 78 25 3d 28  |=. ....!pminx%=(|
00020790  62 6c 6f 63 6b 25 21 30  2d 78 63 25 29 2f 70 72  |block%!0-xc%)/pr|
000207a0  73 74 77 2d 31 0d 17 09  21 70 6d 69 6e 79 25 3d  |stw-1...!pminy%=|
000207b0  28 62 6c 6f 63 6b 25 21  34 2d 79 63 25 29 2f 70  |(block%!4-yc%)/p|
000207c0  72 72 68 74 2d 31 0d 17  0a 21 70 6d 61 78 78 25  |rrht-1...!pmaxx%|
000207d0  3d 28 62 6c 6f 63 6b 25  21 38 2d 78 63 25 29 2f  |=(block%!8-xc%)/|
000207e0  70 72 73 74 77 2b 31 0d  17 0b 22 70 6d 61 78 79  |prstw+1..."pmaxy|
000207f0  25 3d 28 62 6c 6f 63 6b  25 21 31 32 2d 79 63 25  |%=(block%!12-yc%|
00020800  29 2f 70 72 72 68 74 2b  31 0d 17 0c 23 e7 20 70  |)/prrht+1...#. p|
00020810  6d 69 6e 78 25 3c 73 6d  69 6e 78 25 20 8c 20 70  |minx%<sminx% . p|
00020820  6d 69 6e 78 25 3d 73 6d  69 6e 78 25 0d 17 0d 23  |minx%=sminx%...#|
00020830  e7 20 70 6d 61 78 78 25  3e 73 6d 61 78 78 25 20  |. pmaxx%>smaxx% |
00020840  8c 20 70 6d 61 78 78 25  3d 73 6d 61 78 78 25 0d  |. pmaxx%=smaxx%.|
00020850  17 0e 23 e7 20 70 6d 69  6e 79 25 3c 73 6d 69 6e  |..#. pminy%<smin|
00020860  79 25 20 8c 20 70 6d 69  6e 79 25 3d 73 6d 69 6e  |y% . pminy%=smin|
00020870  79 25 0d 17 0f 23 e7 20  70 6d 61 78 79 25 3e 73  |y%...#. pmaxy%>s|
00020880  6d 61 78 79 25 20 8c 20  70 6d 61 78 79 25 3d 73  |maxy% . pmaxy%=s|
00020890  6d 61 78 79 25 0d 17 10  1b 79 25 3d 79 63 25 2d  |maxy%....y%=yc%-|
000208a0  79 70 69 78 25 2a 28 70  67 72 69 64 25 3d b9 29  |ypix%*(pgrid%=.)|
000208b0  0d 17 11 1c 78 78 25 3d  78 63 25 2d 78 70 69 78  |....xx%=xc%-xpix|
000208c0  25 2a 28 70 67 72 69 64  25 3d b9 29 0d 17 12 0d  |%*(pgrid%=.)....|
000208d0  77 25 3d 70 6d 69 6e 78  25 0d 17 13 10 c8 95 20  |w%=pminx%...... |
000208e0  77 25 3c 70 6d 61 78 78  25 0d 17 14 1e 78 25 3d  |w%<pmaxx%....x%=|
000208f0  78 78 25 2b 77 25 2a 70  72 73 74 77 2b 28 70 67  |xx%+w%*prstw+(pg|
00020900  72 69 64 25 3d b9 29 0d  17 15 28 73 77 25 3d 28  |rid%=.)...(sw%=(|
00020910  77 25 2b 31 29 2a 70 72  73 74 77 2d 77 25 2a 70  |w%+1)*prstw-w%*p|
00020920  72 73 74 77 2b 28 70 67  72 69 64 25 3d b9 29 0d  |rstw+(pgrid%=.).|
00020930  17 16 0d 68 25 3d 70 6d  69 6e 79 25 0d 17 17 10  |...h%=pminy%....|
00020940  c8 95 20 68 25 3c 73 6d  61 78 79 25 0d 17 18 28  |.. h%<smaxy%...(|
00020950  72 68 25 3d 28 68 25 2b  31 29 2a 70 72 72 68 74  |rh%=(h%+1)*prrht|
00020960  2d 68 25 2a 70 72 72 68  74 2b 28 70 67 72 69 64  |-h%*prrht+(pgrid|
00020970  25 3d b9 29 0d 17 19 12  e7 20 70 6d 69 72 72 6f  |%=.)..... pmirro|
00020980  72 25 3d b9 20 8c 0d 17  1a 32 63 6f 6c 25 3d 63  |r%=. ....2col%=c|
00020990  6f 6c 74 61 62 6c 65 25  3f 28 68 25 2a 67 72 69  |oltable%?(h%*gri|
000209a0  64 77 69 64 74 68 25 2b  67 72 69 64 77 69 64 74  |dwidth%+gridwidt|
000209b0  68 25 2d 77 25 2d 31 29  0d 17 1b 05 cc 0d 17 1c  |h%-w%-1)........|
000209c0  25 63 6f 6c 25 3d 63 6f  6c 74 61 62 6c 65 25 3f  |%col%=coltable%?|
000209d0  28 68 25 2a 67 72 69 64  77 69 64 74 68 25 2b 77  |(h%*gridwidth%+w|
000209e0  25 29 0d 17 1d 05 cd 0d  17 1e 1c e7 73 68 6f 77  |%)..........show|
000209f0  6d 61 73 6b 25 20 63 6f  6c 25 3d 63 6f 6c 25 80  |mask% col%=col%.|
00020a00  31 39 31 0d 17 1f 60 e7  28 63 6f 6c 25 80 31 39  |191...`.(col%.19|
00020a10  32 29 3d 30 20 8c 20 c8  99 20 63 74 5f 73 65 74  |2)=0 . .. ct_set|
00020a20  67 63 6f 6c 25 2c 70 61  6c 74 61 62 6c 65 25 21  |gcol%,paltable%!|
00020a30  28 28 63 6f 6c 25 80 36  33 29 2a 34 29 3a c8 93  |((col%.63)*4):..|
00020a40  c8 90 78 25 2c 79 25 2b  68 25 2a 70 72 72 68 74  |..x%,y%+h%*prrht|
00020a50  2b 28 70 67 72 69 64 25  3d b9 29 2c 73 77 25 2c  |+(pgrid%=.),sw%,|
00020a60  72 68 25 0d 17 20 09 68  25 2b 3d 31 0d 17 21 05  |rh%.. .h%+=1..!.|
00020a70  ce 0d 17 22 09 77 25 2b  3d 31 0d 17 23 05 ce 0d  |...".w%+=1..#...|
00020a80  17 24 05 cd 0d 17 25 04  0d 17 26 10 e7 20 70 67  |.$....%...&.. pg|
00020a90  72 69 64 25 3d b9 20 8c  0d 17 27 1f c8 99 20 63  |rid%=. ...'... c|
00020aa0  74 5f 73 65 74 67 63 6f  6c 25 2c a4 76 28 67 72  |t_setgcol%,.v(gr|
00020ab0  69 64 63 6f 6c 25 29 0d  17 28 04 0d 17 29 2e 79  |idcol%)..(...).y|
00020ac0  6c 25 3d 79 63 25 2b 73  6d 69 6e 79 25 2a 70 72  |l%=yc%+sminy%*pr|
00020ad0  72 68 74 3a 20 79 68 25  3d 79 63 25 2b 73 6d 61  |rht: yh%=yc%+sma|
00020ae0  78 79 25 2a 70 72 72 68  74 0d 17 2a 18 e3 20 78  |xy%*prrht..*.. x|
00020af0  25 3d 73 6d 69 6e 78 25  20 b8 20 73 6d 61 78 78  |%=sminx% . smaxx|
00020b00  25 0d 17 2b 16 ec 20 78  63 25 2b 78 25 2a 70 72  |%..+.. xc%+x%*pr|
00020b10  73 74 77 2c 79 6c 25 0d  17 2c 16 df 20 78 63 25  |stw,yl%..,.. xc%|
00020b20  2b 78 25 2a 70 72 73 74  77 2c 79 68 25 0d 17 2d  |+x%*prstw,yh%..-|
00020b30  08 ed 20 78 25 0d 17 2e  04 0d 17 2f 2e 78 6c 25  |.. x%....../.xl%|
00020b40  3d 78 63 25 2b 73 6d 69  6e 78 25 2a 70 72 73 74  |=xc%+sminx%*prst|
00020b50  77 3a 20 78 68 25 3d 78  63 25 2b 73 6d 61 78 78  |w: xh%=xc%+smaxx|
00020b60  25 2a 70 72 73 74 77 0d  17 30 18 e3 20 79 25 3d  |%*prstw..0.. y%=|
00020b70  73 6d 69 6e 79 25 20 b8  20 73 6d 61 78 79 25 0d  |sminy% . smaxy%.|
00020b80  17 31 16 ec 20 78 6c 25  2c 79 63 25 2b 79 25 2a  |.1.. xl%,yc%+y%*|
00020b90  70 72 72 68 74 0d 17 32  16 df 20 78 68 25 2c 79  |prrht..2.. xh%,y|
00020ba0  63 25 2b 79 25 2a 70 72  72 68 74 0d 17 33 08 ed  |c%+y%*prrht..3..|
00020bb0  20 79 25 0d 17 34 14 c8  99 20 26 30 30 30 34 30  | y%..4... &00040|
00020bc0  30 38 41 2c 66 31 25 0d  17 35 04 0d 17 36 11 e7  |08A,f1%..5...6..|
00020bd0  20 6d 69 6e 78 25 3c 31  30 30 20 8c 0d 17 37 0f  | minx%<100 ...7.|
00020be0  6d 69 6e 25 3d 73 6d 69  6e 79 25 0d 17 38 0f 6d  |min%=sminy%..8.m|
00020bf0  61 78 25 3d 73 6d 61 78  79 25 0d 17 39 22 e7 20  |ax%=smaxy%..9". |
00020c00  6d 69 6e 25 3c 3e 30 20  8c 20 6d 69 6e 25 2b 3d  |min%<>0 . min%+=|
00020c10  28 35 2d 28 6d 69 6e 25  83 35 29 29 0d 17 3a 14  |(5-(min%.5))..:.|
00020c20  c8 99 20 63 74 5f 73 65  74 67 63 6f 6c 25 2c 30  |.. ct_setgcol%,0|
00020c30  0d 17 3b 1a e3 20 72 6f  77 25 3d 6d 69 6e 25 20  |..;.. row%=min% |
00020c40  b8 20 6d 61 78 25 20 88  20 35 0d 17 3c 0a 78 25  |. max% . 5..<.x%|
00020c50  3d 78 63 25 0d 17 3d 15  79 25 3d 79 63 25 2b 72  |=xc%..=.y%=yc%+r|
00020c60  6f 77 25 2a 70 72 72 68  74 0d 17 3e 13 e7 20 72  |ow%*prrht..>.. r|
00020c70  6f 77 25 20 83 20 31 30  3d 30 20 8c 0d 17 3f 21  |ow% . 10=0 ...?!|
00020c80  f2 75 62 28 c3 28 72 6f  77 25 29 2c 66 31 25 2c  |.ub(.(row%),f1%,|
00020c90  64 65 63 25 2c 77 64 25  2c 68 74 25 29 0d 17 40  |dec%,wd%,ht%)..@|
00020ca0  2f c8 99 20 26 30 30 30  34 30 30 38 36 2c 2c c3  |/.. &00040086,,.|
00020cb0  28 72 6f 77 25 29 2c 31  36 2c 78 25 2d 77 64 25  |(row%),16,x%-wd%|
00020cc0  2d 32 34 2c 79 25 2d 68  74 25 2f 32 0d 17 41 0b  |-24,y%-ht%/2..A.|
00020cd0  ec 20 78 25 2c 79 25 0d  17 42 0e df 20 78 25 2d  |. x%,y%..B.. x%-|
00020ce0  32 30 2c 79 25 0d 17 43  05 cc 0d 17 44 0b ec 20  |20,y%..C....D.. |
00020cf0  78 25 2c 79 25 0d 17 45  0e df 20 78 25 2d 31 30  |x%,y%..E.. x%-10|
00020d00  2c 79 25 0d 17 46 05 cd  0d 17 47 0a ed 20 72 6f  |,y%..F....G.. ro|
00020d10  77 25 0d 17 48 05 cd 0d  17 49 04 0d 17 4a 22 e7  |w%..H....I...J".|
00020d20  20 6d 61 78 78 25 3e 31  30 30 2b 67 72 69 64 77  | maxx%>100+gridw|
00020d30  69 64 74 68 25 2a 70 72  73 74 77 20 8c 0d 17 4b  |idth%*prstw ...K|
00020d40  0f 6d 69 6e 25 3d 73 6d  69 6e 79 25 0d 17 4c 0f  |.min%=sminy%..L.|
00020d50  6d 61 78 25 3d 73 6d 61  78 79 25 0d 17 4d 22 e7  |max%=smaxy%..M".|
00020d60  20 6d 69 6e 25 3c 3e 30  20 8c 20 6d 69 6e 25 2b  | min%<>0 . min%+|
00020d70  3d 28 35 2d 28 6d 69 6e  25 83 35 29 29 0d 17 4e  |=(5-(min%.5))..N|
00020d80  14 c8 99 20 63 74 5f 73  65 74 67 63 6f 6c 25 2c  |... ct_setgcol%,|
00020d90  30 0d 17 4f 1a e3 20 72  6f 77 25 3d 6d 69 6e 25  |0..O.. row%=min%|
00020da0  20 b8 20 6d 61 78 25 20  88 20 35 0d 17 50 1b 78  | . max% . 5..P.x|
00020db0  25 3d 78 63 25 2b 67 72  69 64 77 69 64 74 68 25  |%=xc%+gridwidth%|
00020dc0  2a 70 72 73 74 77 0d 17  51 15 79 25 3d 79 63 25  |*prstw..Q.y%=yc%|
00020dd0  2b 72 6f 77 25 2a 70 72  72 68 74 0d 17 52 13 e7  |+row%*prrht..R..|
00020de0  20 72 6f 77 25 20 83 20  31 30 3d 30 20 8c 0d 17  | row% . 10=0 ...|
00020df0  53 21 f2 75 62 28 c3 28  72 6f 77 25 29 2c 66 31  |S!.ub(.(row%),f1|
00020e00  25 2c 64 65 63 25 2c 77  64 25 2c 68 74 25 29 0d  |%,dec%,wd%,ht%).|
00020e10  17 54 2b c8 99 20 26 30  30 30 34 30 30 38 36 2c  |.T+.. &00040086,|
00020e20  2c c3 28 72 6f 77 25 29  2c 31 36 2c 78 25 2b 32  |,.(row%),16,x%+2|
00020e30  34 2c 79 25 2d 68 74 25  2f 32 0d 17 55 0b ec 20  |4,y%-ht%/2..U.. |
00020e40  78 25 2c 79 25 0d 17 56  0e df 20 78 25 2b 32 30  |x%,y%..V.. x%+20|
00020e50  2c 79 25 0d 17 57 05 cc  0d 17 58 0b ec 20 78 25  |,y%..W....X.. x%|
00020e60  2c 79 25 0d 17 59 0e df  20 78 25 2b 31 30 2c 79  |,y%..Y.. x%+10,y|
00020e70  25 0d 17 5a 05 cd 0d 17  5b 0a ed 20 72 6f 77 25  |%..Z....[.. row%|
00020e80  0d 17 5c 05 cd 0d 17 5d  25 70 72 67 72 69 64 77  |..\....]%prgridw|
00020e90  25 3d 67 72 69 64 77 69  64 74 68 25 2d 67 72 69  |%=gridwidth%-gri|
00020ea0  64 77 69 64 74 68 25 83  31 30 0d 17 5e 3c e7 20  |dwidth%.10..^<. |
00020eb0  70 6d 69 72 72 6f 72 25  3d b9 20 8c 20 78 6f 66  |pmirror%=. . xof|
00020ec0  66 73 65 74 3d 70 72 73  74 77 2a 28 67 72 69 64  |fset=prstw*(grid|
00020ed0  77 69 64 74 68 25 83 31  30 29 20 8b 20 78 6f 66  |width%.10) . xof|
00020ee0  66 73 65 74 3d 30 0d 17  5f 04 0d 17 60 11 e7 20  |fset=0.._...`.. |
00020ef0  6d 69 6e 79 25 3c 31 30  30 20 8c 0d 17 61 0f 6d  |miny%<100 ...a.m|
00020f00  69 6e 25 3d 73 6d 69 6e  78 25 0d 17 62 0f 6d 61  |in%=sminx%..b.ma|
00020f10  78 25 3d 73 6d 61 78 78  25 0d 17 63 30 e7 20 70  |x%=smaxx%..c0. p|
00020f20  6d 69 72 72 6f 72 25 3d  b9 20 80 20 6d 61 78 25  |mirror%=. . max%|
00020f30  3e 70 72 67 72 69 64 77  25 20 8c 20 6d 61 78 25  |>prgridw% . max%|
00020f40  3d 70 72 67 72 69 64 77  25 0d 17 64 22 e7 20 6d  |=prgridw%..d". m|
00020f50  69 6e 25 3c 3e 30 20 8c  20 6d 69 6e 25 2b 3d 28  |in%<>0 . min%+=(|
00020f60  35 2d 28 6d 69 6e 25 83  35 29 29 0d 17 65 14 c8  |5-(min%.5))..e..|
00020f70  99 20 63 74 5f 73 65 74  67 63 6f 6c 25 2c 30 0d  |. ct_setgcol%,0.|
00020f80  17 66 1d e3 20 73 74 69  74 63 68 25 3d 6d 69 6e  |.f.. stitch%=min|
00020f90  25 20 b8 20 6d 61 78 25  20 88 20 35 0d 17 67 20  |% . max% . 5..g |
00020fa0  78 25 3d 78 63 25 2b 73  74 69 74 63 68 25 2a 70  |x%=xc%+stitch%*p|
00020fb0  72 73 74 77 2b 78 6f 66  66 73 65 74 0d 17 68 0a  |rstw+xoffset..h.|
00020fc0  79 25 3d 79 63 25 0d 17  69 16 e7 20 73 74 69 74  |y%=yc%..i.. stit|
00020fd0  63 68 25 20 83 20 31 30  3d 30 20 8c 0d 17 6a 41  |ch% . 10=0 ...jA|
00020fe0  e7 20 70 6d 69 72 72 6f  72 25 3d b9 20 8c 20 70  |. pmirror%=. . p|
00020ff0  72 73 74 69 74 63 68 25  3d 70 72 67 72 69 64 77  |rstitch%=prgridw|
00021000  25 2d 73 74 69 74 63 68  25 20 8b 20 70 72 73 74  |%-stitch% . prst|
00021010  69 74 63 68 25 3d 73 74  69 74 63 68 25 0d 17 6b  |itch%=stitch%..k|
00021020  26 f2 75 62 28 c3 28 70  72 73 74 69 74 63 68 25  |&.ub(.(prstitch%|
00021030  29 2c 66 31 25 2c 64 65  63 25 2c 77 64 25 2c 68  |),f1%,dec%,wd%,h|
00021040  74 25 29 0d 17 6c 34 c8  99 20 26 30 30 30 34 30  |t%)..l4.. &00040|
00021050  30 38 36 2c 2c c3 28 70  72 73 74 69 74 63 68 25  |086,,.(prstitch%|
00021060  29 2c 31 36 2c 78 25 2d  77 64 25 2f 32 2c 79 25  |),16,x%-wd%/2,y%|
00021070  2d 68 74 25 2d 32 34 0d  17 6d 0b ec 20 78 25 2c  |-ht%-24..m.. x%,|
00021080  79 25 0d 17 6e 0e df 20  78 25 2c 79 25 2d 32 30  |y%..n.. x%,y%-20|
00021090  0d 17 6f 05 cc 0d 17 70  0b ec 20 78 25 2c 79 25  |..o....p.. x%,y%|
000210a0  0d 17 71 0e df 20 78 25  2c 79 25 2d 31 30 0d 17  |..q.. x%,y%-10..|
000210b0  72 05 cd 0d 17 73 0d ed  20 73 74 69 74 63 68 25  |r....s.. stitch%|
000210c0  0d 17 74 05 cd 0d 17 75  04 0d 17 76 23 e7 20 6d  |..t....u...v#. m|
000210d0  61 78 79 25 3e 31 30 30  2b 67 72 69 64 68 65 69  |axy%>100+gridhei|
000210e0  67 68 74 25 2a 70 72 72  68 74 20 8c 0d 17 77 0f  |ght%*prrht ...w.|
000210f0  6d 69 6e 25 3d 73 6d 69  6e 78 25 0d 17 78 0f 6d  |min%=sminx%..x.m|
00021100  61 78 25 3d 73 6d 61 78  78 25 0d 17 79 30 e7 20  |ax%=smaxx%..y0. |
00021110  70 6d 69 72 72 6f 72 25  3d b9 20 80 20 6d 61 78  |pmirror%=. . max|
00021120  25 3e 70 72 67 72 69 64  77 25 20 8c 20 6d 61 78  |%>prgridw% . max|
00021130  25 3d 70 72 67 72 69 64  77 25 0d 17 7a 22 e7 20  |%=prgridw%..z". |
00021140  6d 69 6e 25 3c 3e 30 20  8c 20 6d 69 6e 25 2b 3d  |min%<>0 . min%+=|
00021150  28 35 2d 28 6d 69 6e 25  83 35 29 29 0d 17 7b 14  |(5-(min%.5))..{.|
00021160  c8 99 20 63 74 5f 73 65  74 67 63 6f 6c 25 2c 30  |.. ct_setgcol%,0|
00021170  0d 17 7c 1d e3 20 73 74  69 74 63 68 25 3d 6d 69  |..|.. stitch%=mi|
00021180  6e 25 20 b8 20 6d 61 78  25 20 88 20 35 0d 17 7d  |n% . max% . 5..}|
00021190  20 78 25 3d 78 63 25 2b  73 74 69 74 63 68 25 2a  | x%=xc%+stitch%*|
000211a0  70 72 73 74 77 2b 78 6f  66 66 73 65 74 0d 17 7e  |prstw+xoffset..~|
000211b0  1c 79 25 3d 79 63 25 2b  67 72 69 64 68 65 69 67  |.y%=yc%+gridheig|
000211c0  68 74 25 2a 70 72 72 68  74 0d 17 7f 16 e7 20 73  |ht%*prrht..... s|
000211d0  74 69 74 63 68 25 20 83  20 31 30 3d 30 20 8c 0d  |titch% . 10=0 ..|
000211e0  17 80 41 e7 20 70 6d 69  72 72 6f 72 25 3d b9 20  |..A. pmirror%=. |
000211f0  8c 20 70 72 73 74 69 74  63 68 25 3d 70 72 67 72  |. prstitch%=prgr|
00021200  69 64 77 25 2d 73 74 69  74 63 68 25 20 8b 20 70  |idw%-stitch% . p|
00021210  72 73 74 69 74 63 68 25  3d 73 74 69 74 63 68 25  |rstitch%=stitch%|
00021220  0d 17 81 26 f2 75 62 28  c3 28 70 72 73 74 69 74  |...&.ub(.(prstit|
00021230  63 68 25 29 2c 66 31 25  2c 64 65 63 25 2c 77 64  |ch%),f1%,dec%,wd|
00021240  25 2c 68 74 25 29 0d 17  82 30 c8 99 20 26 30 30  |%,ht%)...0.. &00|
00021250  30 34 30 30 38 36 2c 2c  c3 28 70 72 73 74 69 74  |040086,,.(prstit|
00021260  63 68 25 29 2c 31 36 2c  78 25 2d 77 64 25 2f 32  |ch%),16,x%-wd%/2|
00021270  2c 79 25 2b 32 34 0d 17  83 0b ec 20 78 25 2c 79  |,y%+24..... x%,y|
00021280  25 0d 17 84 0e df 20 78  25 2c 79 25 2b 32 30 0d  |%..... x%,y%+20.|
00021290  17 85 05 cc 0d 17 86 0b  ec 20 78 25 2c 79 25 0d  |......... x%,y%.|
000212a0  17 87 0e df 20 78 25 2c  79 25 2b 31 30 0d 17 88  |.... x%,y%+10...|
000212b0  05 cd 0d 17 89 0d ed 20  73 74 69 74 63 68 25 0d  |....... stitch%.|
000212c0  17 8a 05 cd 0d 17 8b 05  cd 0d 17 8c 07 c9 20 32  |.............. 2|
000212d0  0d 17 8d 14 c8 99 20 26  30 30 30 34 30 30 38 41  |...... &0004008A|
000212e0  2c 66 31 25 0d 17 8e 04  0d 17 8f 15 73 63 6c 25  |,f1%........scl%|
000212f0  3d 28 70 72 73 74 77 2d  33 30 29 2f 32 0d 17 90  |=(prstw-30)/2...|
00021300  21 70 6d 69 6e 78 25 3d  28 62 6c 6f 63 6b 25 21  |!pminx%=(block%!|
00021310  30 2d 78 63 25 29 2f 70  72 73 74 77 2d 31 0d 17  |0-xc%)/prstw-1..|
00021320  91 21 70 6d 69 6e 79 25  3d 28 62 6c 6f 63 6b 25  |.!pminy%=(block%|
00021330  21 34 2d 79 63 25 29 2f  70 72 72 68 74 2d 31 0d  |!4-yc%)/prrht-1.|
00021340  17 92 21 70 6d 61 78 78  25 3d 28 62 6c 6f 63 6b  |..!pmaxx%=(block|
00021350  25 21 38 2d 78 63 25 29  2f 70 72 73 74 77 2b 31  |%!8-xc%)/prstw+1|
00021360  0d 17 93 22 70 6d 61 78  79 25 3d 28 62 6c 6f 63  |..."pmaxy%=(bloc|
00021370  6b 25 21 31 32 2d 79 63  25 29 2f 70 72 72 68 74  |k%!12-yc%)/prrht|
00021380  2b 31 0d 17 94 23 e7 20  70 6d 69 6e 78 25 3c 73  |+1...#. pminx%<s|
00021390  6d 69 6e 78 25 20 8c 20  70 6d 69 6e 78 25 3d 73  |minx% . pminx%=s|
000213a0  6d 69 6e 78 25 0d 17 95  23 e7 20 70 6d 61 78 78  |minx%...#. pmaxx|
000213b0  25 3e 73 6d 61 78 78 25  20 8c 20 70 6d 61 78 78  |%>smaxx% . pmaxx|
000213c0  25 3d 73 6d 61 78 78 25  0d 17 96 23 e7 20 70 6d  |%=smaxx%...#. pm|
000213d0  69 6e 79 25 3c 73 6d 69  6e 79 25 20 8c 20 70 6d  |iny%<sminy% . pm|
000213e0  69 6e 79 25 3d 73 6d 69  6e 79 25 0d 17 97 23 e7  |iny%=sminy%...#.|
000213f0  20 70 6d 61 78 79 25 3e  73 6d 61 78 79 25 20 8c  | pmaxy%>smaxy% .|
00021400  20 70 6d 61 78 79 25 3d  73 6d 61 78 79 25 0d 17  | pmaxy%=smaxy%..|
00021410  98 14 6e 75 6d 6d 69 6e  25 3d 70 6d 69 6e 78 25  |..nummin%=pminx%|
00021420  2d 31 0d 17 99 14 6e 75  6d 6d 61 78 25 3d 70 6d  |-1....nummax%=pm|
00021430  61 78 78 25 2b 31 0d 17  9a 16 6e 75 6d 6d 69 6e  |axx%+1....nummin|
00021440  25 2d 3d 6e 75 6d 6d 69  6e 25 83 32 0d 17 9b 1b  |%-=nummin%.2....|
00021450  e7 20 6e 75 6d 6d 69 6e  25 3c 30 20 8c 20 6e 75  |. nummin%<0 . nu|
00021460  6d 6d 69 6e 25 3d 30 0d  17 9c 2d e7 20 6e 75 6d  |mmin%=0...-. num|
00021470  6d 61 78 25 3e 67 72 69  64 77 69 64 74 68 25 20  |max%>gridwidth% |
00021480  8c 20 6e 75 6d 6d 61 78  25 3d 67 72 69 64 77 69  |. nummax%=gridwi|
00021490  64 74 68 25 0d 17 9d 1e  e3 20 78 25 3d 6e 75 6d  |dth%..... x%=num|
000214a0  6d 69 6e 25 20 b8 20 6e  75 6d 6d 61 78 25 20 88  |min% . nummax% .|
000214b0  20 32 0d 17 9e 10 e7 20  78 25 20 83 20 32 3d 30  | 2..... x% . 2=0|
000214c0  20 8c 0d 17 9f 18 e7 20  78 25 3c 3d 67 72 69 64  | ...... x%<=grid|
000214d0  77 69 64 74 68 25 2f 32  20 8c 0d 17 a0 18 6e 75  |width%/2 .....nu|
000214e0  6d 25 3d 67 72 69 64 77  69 64 74 68 25 2f 32 2d  |m%=gridwidth%/2-|
000214f0  78 25 0d 17 a1 34 e7 20  6e 75 6d 25 20 83 20 32  |x%...4. num% . 2|
00021500  3d 31 20 8c 20 6e 75 6d  25 2d 3d 31 20 3a 20 78  |=1 . num%-=1 : x|
00021510  6d 6f 76 65 25 3d 70 72  73 74 77 20 8b 20 78 6d  |move%=prstw . xm|
00021520  6f 76 65 25 3d 30 0d 17  a2 0e e7 20 6e 75 6d 25  |ove%=0..... num%|
00021530  3d 30 20 8c 0d 17 a3 21  f2 75 62 28 c3 28 6e 75  |=0 ....!.ub(.(nu|
00021540  6d 25 29 2c 66 31 25 2c  64 65 63 25 2c 77 64 25  |m%),f1%,dec%,wd%|
00021550  2c 68 74 25 29 0d 17 a4  44 c8 99 20 26 30 30 30  |,ht%)...D.. &000|
00021560  34 30 30 38 36 2c 2c c3  28 6e 75 6d 25 29 2c 31  |40086,,.(num%),1|
00021570  36 2c 78 63 25 2b 28 67  72 69 64 77 69 64 74 68  |6,xc%+(gridwidth|
00021580  25 2f 32 29 2a 70 72 73  74 77 2d 77 64 25 2f 32  |%/2)*prstw-wd%/2|
00021590  2d 31 2c 79 63 25 2d 32  32 0d 17 a5 55 c8 99 20  |-1,yc%-22...U.. |
000215a0  26 30 30 30 34 30 30 38  36 2c 2c c3 28 6e 75 6d  |&00040086,,.(num|
000215b0  25 29 2c 31 36 2c 78 63  25 2b 28 67 72 69 64 77  |%),16,xc%+(gridw|
000215c0  69 64 74 68 25 2f 32 29  2a 70 72 73 74 77 2d 77  |idth%/2)*prstw-w|
000215d0  64 25 2f 32 2d 31 2c 79  63 25 2b 67 72 69 64 68  |d%/2-1,yc%+gridh|
000215e0  65 69 67 68 74 25 2a 70  72 72 68 74 2b 34 0d 17  |eight%*prrht+4..|
000215f0  a6 05 cc 0d 17 a7 19 e7  20 6e 75 6d 25 3c 31 30  |........ num%<10|
00021600  20 8c 20 78 6d 6f 76 65  25 2b 3d 38 0d 17 a8 21  | . xmove%+=8...!|
00021610  f2 75 62 28 c3 28 6e 75  6d 25 29 2c 66 31 25 2c  |.ub(.(num%),f1%,|
00021620  64 65 63 25 2c 77 64 25  2c 68 74 25 29 0d 17 a9  |dec%,wd%,ht%)...|
00021630  3c c8 99 20 26 30 30 30  34 30 30 38 36 2c 2c c3  |<.. &00040086,,.|
00021640  28 6e 75 6d 25 29 2c 31  36 2c 78 63 25 2b 78 25  |(num%),16,xc%+x%|
00021650  2a 70 72 73 74 77 2b 78  6d 6f 76 65 25 2b 73 63  |*prstw+xmove%+sc|
00021660  6c 25 2c 79 63 25 2d 32  32 0d 17 aa 4d c8 99 20  |l%,yc%-22...M.. |
00021670  26 30 30 30 34 30 30 38  36 2c 2c c3 28 6e 75 6d  |&00040086,,.(num|
00021680  25 29 2c 31 36 2c 78 63  25 2b 78 25 2a 70 72 73  |%),16,xc%+x%*prs|
00021690  74 77 2b 78 6d 6f 76 65  25 2b 73 63 6c 25 2c 79  |tw+xmove%+scl%,y|
000216a0  63 25 2b 67 72 69 64 68  65 69 67 68 74 25 2a 70  |c%+gridheight%*p|
000216b0  72 72 68 74 2b 34 0d 17  ab 05 cd 0d 17 ac 05 cc  |rrht+4..........|
000216c0  0d 17 ad 18 6e 75 6d 25  3d 78 25 2d 67 72 69 64  |....num%=x%-grid|
000216d0  77 69 64 74 68 25 2f 32  0d 17 ae 34 e7 20 6e 75  |width%/2...4. nu|
000216e0  6d 25 20 83 20 32 3d 31  20 8c 20 6e 75 6d 25 2d  |m% . 2=1 . num%-|
000216f0  3d 31 20 3a 20 78 6d 6f  76 65 25 3d 70 72 73 74  |=1 : xmove%=prst|
00021700  77 20 8b 20 78 6d 6f 76  65 25 3d 30 0d 17 af 19  |w . xmove%=0....|
00021710  e7 20 6e 75 6d 25 3c 31  30 20 8c 20 78 6d 6f 76  |. num%<10 . xmov|
00021720  65 25 2d 3d 38 0d 17 b0  21 f2 75 62 28 c3 28 6e  |e%-=8...!.ub(.(n|
00021730  75 6d 25 29 2c 66 31 25  2c 64 65 63 25 2c 77 64  |um%),f1%,dec%,wd|
00021740  25 2c 68 74 25 29 0d 17  b1 4c e7 20 6e 75 6d 25  |%,ht%)...L. num%|
00021750  3c 3e 30 20 8c 20 c8 99  20 26 30 30 30 34 30 30  |<>0 . .. &000400|
00021760  38 36 2c 2c c3 28 6e 75  6d 25 29 2c 31 36 2c 78  |86,,.(num%),16,x|
00021770  63 25 2b 28 78 25 2d 31  29 2a 70 72 73 74 77 2d  |c%+(x%-1)*prstw-|
00021780  78 6d 6f 76 65 25 2b 73  63 6c 25 2c 79 63 25 2d  |xmove%+scl%,yc%-|
00021790  32 32 0d 17 b2 5d e7 20  6e 75 6d 25 3c 3e 30 20  |22...]. num%<>0 |
000217a0  8c 20 c8 99 20 26 30 30  30 34 30 30 38 36 2c 2c  |. .. &00040086,,|
000217b0  c3 28 6e 75 6d 25 29 2c  31 36 2c 78 63 25 2b 28  |.(num%),16,xc%+(|
000217c0  78 25 2d 31 29 2a 70 72  73 74 77 2d 78 6d 6f 76  |x%-1)*prstw-xmov|
000217d0  65 25 2b 73 63 6c 25 2c  79 63 25 2b 34 2b 67 72  |e%+scl%,yc%+4+gr|
000217e0  69 64 68 65 69 67 68 74  25 2a 70 72 72 68 74 0d  |idheight%*prrht.|
000217f0  17 b3 05 cd 0d 17 b4 05  cd 0d 17 b5 08 ed 20 78  |.............. x|
00021800  25 0d 17 b6 04 0d 17 b7  14 6e 75 6d 6d 69 6e 25  |%........nummin%|
00021810  3d 70 6d 69 6e 79 25 2d  31 0d 17 b8 14 6e 75 6d  |=pminy%-1....num|
00021820  6d 61 78 25 3d 70 6d 61  78 79 25 2b 31 0d 17 b9  |max%=pmaxy%+1...|
00021830  18 6e 75 6d 6d 69 6e 25  2d 3d 6e 75 6d 6d 69 6e  |.nummin%-=nummin|
00021840  25 20 83 20 32 0d 17 ba  18 6e 75 6d 6d 61 78 25  |% . 2....nummax%|
00021850  2b 3d 6e 75 6d 6d 61 78  25 20 83 20 32 0d 17 bb  |+=nummax% . 2...|
00021860  1b e7 20 6e 75 6d 6d 69  6e 25 3c 30 20 8c 20 6e  |.. nummin%<0 . n|
00021870  75 6d 6d 69 6e 25 3d 30  0d 17 bc 2f e7 20 6e 75  |ummin%=0.../. nu|
00021880  6d 6d 61 78 25 3e 67 72  69 64 68 65 69 67 68 74  |mmax%>gridheight|
00021890  25 20 8c 20 6e 75 6d 6d  61 78 25 3d 67 72 69 64  |% . nummax%=grid|
000218a0  68 65 69 67 68 74 25 0d  17 bd 1e e3 20 79 25 3d  |height%..... y%=|
000218b0  6e 75 6d 6d 69 6e 25 20  b8 20 6e 75 6d 6d 61 78  |nummin% . nummax|
000218c0  25 20 88 20 32 0d 17 be  1f f2 75 62 28 c3 28 79  |% . 2.....ub(.(y|
000218d0  25 29 2c 66 31 25 2c 64  65 63 25 2c 77 64 25 2c  |%),f1%,dec%,wd%,|
000218e0  68 74 25 29 0d 17 bf 2a  e7 20 79 25 3d 30 20 8c  |ht%)...*. y%=0 .|
000218f0  20 79 6d 6f 76 65 25 3d  68 74 25 2d 34 20 8b 20  | ymove%=ht%-4 . |
00021900  79 6d 6f 76 65 25 3d 2d  73 63 6c 25 2d 34 0d 17  |ymove%=-scl%-4..|
00021910  c0 3e c8 99 20 26 30 30  30 34 30 30 38 36 2c 2c  |.>.. &00040086,,|
00021920  c3 28 79 25 29 2c 31 36  2c 78 63 25 2d 77 64 25  |.(y%),16,xc%-wd%|
00021930  2d 38 2c 79 63 25 2b 79  25 2a 70 72 72 68 74 2d  |-8,yc%+y%*prrht-|
00021940  32 2b 79 6d 6f 76 65 25  2d 68 74 25 0d 17 c1 4b  |2+ymove%-ht%...K|
00021950  c8 99 20 26 30 30 30 34  30 30 38 36 2c 2c c3 28  |.. &00040086,,.(|
00021960  79 25 29 2c 31 36 2c 78  63 25 2b 67 72 69 64 77  |y%),16,xc%+gridw|
00021970  69 64 74 68 25 2a 70 72  73 74 77 2b 34 2c 79 63  |idth%*prstw+4,yc|
00021980  25 2b 79 25 2a 70 72 72  68 74 2d 32 2b 79 6d 6f  |%+y%*prrht-2+ymo|
00021990  76 65 25 2d 68 74 25 0d  17 c2 08 ed 20 79 25 0d  |ve%-ht%..... y%.|
000219a0  17 c3 1c c8 99 20 77 69  6d 70 5f 73 65 74 63 6f  |..... wimp_setco|
000219b0  6c 25 2c 67 72 69 64 63  6f 6c 25 0d 17 c4 04 0d  |l%,gridcol%.....|
000219c0  17 c5 2e 79 6c 25 3d 79  63 25 2b 70 6d 69 6e 79  |...yl%=yc%+pminy|
000219d0  25 2a 70 72 72 68 74 3a  20 79 68 25 3d 79 63 25  |%*prrht: yh%=yc%|
000219e0  2b 70 6d 61 78 79 25 2a  70 72 72 68 74 0d 17 c6  |+pmaxy%*prrht...|
000219f0  18 e3 20 78 25 3d 70 6d  69 6e 78 25 20 b8 20 70  |.. x%=pminx% . p|
00021a00  6d 61 78 78 25 0d 17 c7  1e e7 20 28 67 72 69 64  |maxx%..... (grid|
00021a10  77 69 64 74 68 25 2f 32  2d 78 25 29 83 31 32 3d  |width%/2-x%).12=|
00021a20  30 20 8c 0d 17 c8 18 ec  20 78 63 25 2b 78 25 2a  |0 ...... xc%+x%*|
00021a30  70 72 73 74 77 2b 31 2c  79 6c 25 0d 17 c9 18 df  |prstw+1,yl%.....|
00021a40  20 78 63 25 2b 78 25 2a  70 72 73 74 77 2b 31 2c  | xc%+x%*prstw+1,|
00021a50  79 68 25 0d 17 ca 18 ec  20 78 63 25 2b 78 25 2a  |yh%..... xc%+x%*|
00021a60  70 72 73 74 77 2d 31 2c  79 6c 25 0d 17 cb 18 df  |prstw-1,yl%.....|
00021a70  20 78 63 25 2b 78 25 2a  70 72 73 74 77 2d 31 2c  | xc%+x%*prstw-1,|
00021a80  79 68 25 0d 17 cc 05 cd  0d 17 cd 16 ec 20 78 63  |yh%.......... xc|
00021a90  25 2b 78 25 2a 70 72 73  74 77 2c 79 6c 25 0d 17  |%+x%*prstw,yl%..|
00021aa0  ce 16 df 20 78 63 25 2b  78 25 2a 70 72 73 74 77  |... xc%+x%*prstw|
00021ab0  2c 79 68 25 0d 17 cf 08  ed 20 78 25 0d 17 d0 04  |,yh%..... x%....|
00021ac0  0d 17 d1 2e 78 6c 25 3d  78 63 25 2b 70 6d 69 6e  |....xl%=xc%+pmin|
00021ad0  78 25 2a 70 72 73 74 77  3a 20 78 68 25 3d 78 63  |x%*prstw: xh%=xc|
00021ae0  25 2b 70 6d 61 78 78 25  2a 70 72 73 74 77 0d 17  |%+pmaxx%*prstw..|
00021af0  d2 18 e3 20 79 25 3d 70  6d 69 6e 79 25 20 b8 20  |... y%=pminy% . |
00021b00  70 6d 61 78 79 25 0d 17  d3 11 e7 20 79 25 20 83  |pmaxy%..... y% .|
00021b10  20 31 30 3d 30 20 8c 0d  17 d4 18 ec 20 78 6c 25  | 10=0 ...... xl%|
00021b20  2c 79 63 25 2b 79 25 2a  70 72 72 68 74 2b 31 0d  |,yc%+y%*prrht+1.|
00021b30  17 d5 18 df 20 78 68 25  2c 79 63 25 2b 79 25 2a  |.... xh%,yc%+y%*|
00021b40  70 72 72 68 74 2b 31 0d  17 d6 18 ec 20 78 6c 25  |prrht+1..... xl%|
00021b50  2c 79 63 25 2b 79 25 2a  70 72 72 68 74 2d 31 0d  |,yc%+y%*prrht-1.|
00021b60  17 d7 18 df 20 78 68 25  2c 79 63 25 2b 79 25 2a  |.... xh%,yc%+y%*|
00021b70  70 72 72 68 74 2d 31 0d  17 d8 05 cd 0d 17 d9 16  |prrht-1.........|
00021b80  ec 20 78 6c 25 2c 79 63  25 2b 79 25 2a 70 72 72  |. xl%,yc%+y%*prr|
00021b90  68 74 0d 17 da 16 df 20  78 68 25 2c 79 63 25 2b  |ht..... xh%,yc%+|
00021ba0  79 25 2a 70 72 72 68 74  0d 17 db 08 ed 20 79 25  |y%*prrht..... y%|
00021bb0  0d 17 dc 04 0d 17 dd 1f  74 72 61 6e 73 66 6f 72  |........transfor|
00021bc0  6d 25 21 30 20 3d 70 72  73 63 61 6c 65 2a 36 35  |m%!0 =prscale*65|
00021bd0  35 33 36 0d 17 de 13 74  72 61 6e 73 66 6f 72 6d  |536....transform|
00021be0  25 21 34 20 3d 30 0d 17  df 13 74 72 61 6e 73 66  |%!4 =0....transf|
00021bf0  6f 72 6d 25 21 38 20 3d  30 0d 17 e0 1f 74 72 61  |orm%!8 =0....tra|
00021c00  6e 73 66 6f 72 6d 25 21  31 32 3d 70 72 73 63 61  |nsform%!12=prsca|
00021c10  6c 65 2a 36 35 35 33 36  0d 17 e1 0a 79 25 3d 79  |le*65536....y%=y|
00021c20  63 25 0d 17 e2 0b 78 78  25 3d 78 63 25 0d 17 e3  |c%....xx%=xc%...|
00021c30  72 e3 77 25 3d 70 6d 69  6e 78 25 b8 70 6d 61 78  |r.w%=pminx%.pmax|
00021c40  78 25 2d 31 3a 78 25 3d  78 78 25 2b 77 25 2a 70  |x%-1:x%=xx%+w%*p|
00021c50  72 73 74 77 3a 74 72 61  6e 73 66 6f 72 6d 25 21  |rstw:transform%!|
00021c60  31 36 3d 78 25 3c 3c 38  3a e3 68 25 3d 70 6d 69  |16=x%<<8:.h%=pmi|
00021c70  6e 79 25 b8 70 6d 61 78  79 25 2d 31 3a 73 79 6d  |ny%.pmaxy%-1:sym|
00021c80  62 25 3d 63 6f 6c 74 61  62 6c 65 25 3f 28 68 25  |b%=coltable%?(h%|
00021c90  2a 67 72 69 64 77 69 64  74 68 25 2b 77 25 29 0d  |*gridwidth%+w%).|
00021ca0  17 e4 15 e7 20 28 73 79  6d 62 25 80 31 32 38 29  |.... (symb%.128)|
00021cb0  3d 30 20 8c 0d 17 e5 22  74 72 61 6e 73 66 6f 72  |=0 ...."transfor|
00021cc0  6d 25 21 32 30 3d 28 79  25 2b 68 25 2a 70 72 72  |m%!20=(y%+h%*prr|
00021cd0  68 74 29 3c 3c 38 0d 17  e6 48 c8 99 20 26 30 30  |ht)<<8...H.. &00|
00021ce0  30 34 35 35 34 30 2c 30  2c 73 79 6d 62 70 6f 69  |045540,0,symbpoi|
00021cf0  6e 74 25 21 28 73 79 6d  62 25 2a 34 29 2c 73 79  |nt%!(symb%*4),sy|
00021d00  6d 62 73 69 7a 65 25 21  28 73 79 6d 62 25 2a 34  |mbsize%!(symb%*4|
00021d10  29 2c 74 72 61 6e 73 66  6f 72 6d 25 2c 30 0d 17  |),transform%,0..|
00021d20  e7 05 cd 0d 17 e8 07 ed  3a ed 0d 17 e9 05 cb 0d  |........:.......|
00021d30  17 ea 20 c8 99 20 26 30  30 30 38 30 31 34 44 2c  |.. .. &0008014D,|
00021d40  2c 62 6c 6f 63 6b 25 20  b8 20 6d 6f 72 65 25 0d  |,block% . more%.|
00021d50  17 eb 05 ce 0d 17 ec 13  73 6d 69 6e 79 25 2b 3d  |........sminy%+=|
00021d60  6e 75 6d 73 74 68 25 0d  17 ed 13 73 6d 61 78 79  |numsth%....smaxy|
00021d70  25 2b 3d 6e 75 6d 73 74  68 25 0d 17 ee 19 e7 20  |%+=numsth%..... |
00021d80  73 6d 69 6e 79 25 3c 30  20 8c 20 73 6d 69 6e 79  |sminy%<0 . sminy|
00021d90  25 3d 30 0d 17 ef 2d e7  20 73 6d 61 78 79 25 3e  |%=0...-. smaxy%>|
00021da0  67 72 69 64 68 65 69 67  68 74 25 20 8c 20 73 6d  |gridheight% . sm|
00021db0  61 78 79 25 3d 67 72 69  64 68 65 69 67 68 74 25  |axy%=gridheight%|
00021dc0  0d 17 f0 0c ed 20 74 69  6c 65 79 25 0d 17 f1 0c  |..... tiley%....|
00021dd0  73 6d 69 6e 79 25 3d 30  0d 17 f2 14 73 6d 61 78  |sminy%=0....smax|
00021de0  79 25 3d 6e 75 6d 73 74  68 25 2b 32 0d 17 f3 13  |y%=numsth%+2....|
00021df0  73 6d 69 6e 78 25 2b 3d  6e 75 6d 73 74 77 25 0d  |sminx%+=numstw%.|
00021e00  17 f4 13 73 6d 61 78 78  25 2b 3d 6e 75 6d 73 74  |...smaxx%+=numst|
00021e10  77 25 0d 17 f5 19 e7 20  73 6d 69 6e 78 25 3c 30  |w%..... sminx%<0|
00021e20  20 8c 20 73 6d 69 6e 78  25 3d 30 0d 17 f6 2b e7  | . sminx%=0...+.|
00021e30  20 73 6d 61 78 78 25 3e  67 72 69 64 77 69 64 74  | smaxx%>gridwidt|
00021e40  68 25 20 8c 20 73 6d 61  78 78 25 3d 67 72 69 64  |h% . smaxx%=grid|
00021e50  77 69 64 74 68 25 0d 17  f7 19 e7 20 73 6d 69 6e  |width%..... smin|
00021e60  79 25 3c 30 20 8c 20 73  6d 69 6e 79 25 3d 30 0d  |y%<0 . sminy%=0.|
00021e70  17 f8 2d e7 20 73 6d 61  78 79 25 3e 67 72 69 64  |..-. smaxy%>grid|
00021e80  68 65 69 67 68 74 25 20  8c 20 73 6d 61 78 79 25  |height% . smaxy%|
00021e90  3d 67 72 69 64 68 65 69  67 68 74 25 0d 17 f9 0c  |=gridheight%....|
00021ea0  ed 20 74 69 6c 65 78 25  0d 17 fa 14 c8 99 20 26  |. tilex%...... &|
00021eb0  30 30 30 38 30 31 34 38  2c 70 66 25 0d 17 fb 10  |00080148,pf%....|
00021ec0  c8 99 20 26 30 30 30 34  30 36 43 31 0d 17 fc 07  |.. &000406C1....|
00021ed0  f7 20 85 0d 17 fd 09 d9  23 70 66 25 0d 17 fe 13  |. ......#pf%....|
00021ee0  72 65 63 74 25 3d a4 68  28 72 65 63 74 25 29 0d  |rect%=.h(rect%).|
00021ef0  17 ff 15 74 72 61 6e 73  25 3d a4 68 28 74 72 61  |...trans%=.h(tra|
00021f00  6e 73 25 29 0d 18 00 17  70 6c 6f 74 61 74 25 3d  |ns%)....plotat%=|
00021f10  a4 68 28 70 6c 6f 74 61  74 25 29 0d 18 01 14 c8  |.h(plotat%).....|
00021f20  99 20 26 30 30 30 34 30  30 38 32 2c 66 31 25 0d  |. &00040082,f1%.|
00021f30  18 02 14 c8 99 20 26 30  30 30 34 30 30 38 32 2c  |..... &00040082,|
00021f40  66 32 25 0d 18 03 14 c8  99 20 26 30 30 30 34 30  |f2%...... &00040|
00021f50  30 38 32 2c 66 33 25 0d  18 04 05 e1 0d 18 05 05  |082,f3%.........|
00021f60  3a 0d 18 06 09 dd 20 f2  74 63 0d 18 07 14 c8 99  |:..... .tc......|
00021f70  20 26 30 30 30 38 30 31  34 39 2c 70 66 25 0d 18  | &00080149,pf%..|
00021f80  08 09 d9 23 70 66 25 0d  18 09 13 c8 99 20 26 30  |...#pf%...... &0|
00021f90  30 30 34 30 30 44 32 2c  2d 31 0d 18 0a 10 c8 99  |00400D2,-1......|
00021fa0  20 26 30 30 30 34 30 36  43 31 0d 18 0b 1c f2 77  | &000406C1.....w|
00021fb0  64 28 f6 24 2b 22 20 61  74 20 6c 69 6e 65 20 22  |d(.$+" at line "|
00021fc0  2b c3 28 9e 29 29 0d 18  0c 13 72 65 63 74 25 3d  |+.(.))....rect%=|
00021fd0  a4 68 28 72 65 63 74 25  29 0d 18 0d 15 74 72 61  |.h(rect%)....tra|
00021fe0  6e 73 25 3d a4 68 28 74  72 61 6e 73 25 29 0d 18  |ns%=.h(trans%)..|
00021ff0  0e 17 70 6c 6f 74 61 74  25 3d a4 68 28 70 6c 6f  |..plotat%=.h(plo|
00022000  74 61 74 25 29 0d 18 0f  14 c8 99 20 26 30 30 30  |tat%)...... &000|
00022010  34 30 30 38 32 2c 66 31  25 0d 18 10 14 c8 99 20  |40082,f1%...... |
00022020  26 30 30 30 34 30 30 38  32 2c 66 32 25 0d 18 11  |&00040082,f2%...|
00022030  14 c8 99 20 26 30 30 30  34 30 30 38 32 2c 66 33  |... &00040082,f3|
00022040  25 0d 18 12 05 e1 0d 18  13 05 3a 0d 18 14 28 dd  |%.........:...(.|
00022050  20 f2 75 62 28 74 65 78  74 24 2c 68 61 6e 25 2c  | .ub(text$,han%,|
00022060  f8 20 64 65 63 25 2c f8  20 77 64 25 2c f8 20 68  |. dec%,. wd%,. h|
00022070  74 25 29 0d 18 15 15 ea  20 78 6c 25 2c 79 6c 25  |t%)..... xl%,yl%|
00022080  2c 78 68 25 2c 79 68 25  0d 18 16 10 62 6c 6f 63  |,xh%,yh%....bloc|
00022090  6b 25 21 31 30 30 3d 30  0d 18 17 10 62 6c 6f 63  |k%!100=0....bloc|
000220a0  6b 25 21 31 30 34 3d 30  0d 18 18 10 62 6c 6f 63  |k%!104=0....bloc|
000220b0  6b 25 21 31 30 38 3d 30  0d 18 19 10 62 6c 6f 63  |k%!108=0....bloc|
000220c0  6b 25 21 31 31 32 3d 30  0d 18 1a 11 62 6c 6f 63  |k%!112=0....bloc|
000220d0  6b 25 21 31 31 36 3d 2d  31 0d 18 1b 44 c8 99 20  |k%!116=-1...D.. |
000220e0  26 30 30 30 34 30 30 41  31 2c 68 61 6e 25 2c 74  |&000400A1,han%,t|
000220f0  65 78 74 24 2c 28 31 3c  3c 35 29 2b 28 31 3c 3c  |ext$,(1<<5)+(1<<|
00022100  31 38 29 2c 31 3c 33 30  2c 31 3c 3c 33 30 2c 62  |18),1<30,1<<30,b|
00022110  6c 6f 63 6b 25 2b 31 30  30 2c 30 2c 30 0d 18 1c  |lock%+100,0,0...|
00022120  32 c8 99 20 26 30 30 30  34 30 30 38 38 2c 2c 62  |2.. &00040088,,b|
00022130  6c 6f 63 6b 25 21 31 32  30 2c 62 6c 6f 63 6b 25  |lock%!120,block%|
00022140  21 31 32 34 20 b8 20 2c  78 6c 25 2c 79 6c 25 0d  |!124 . ,xl%,yl%.|
00022150  18 1d 32 c8 99 20 26 30  30 30 34 30 30 38 38 2c  |..2.. &00040088,|
00022160  2c 62 6c 6f 63 6b 25 21  31 32 38 2c 62 6c 6f 63  |,block%!128,bloc|
00022170  6b 25 21 31 33 32 20 b8  20 2c 78 68 25 2c 79 68  |k%!132 . ,xh%,yh|
00022180  25 0d 18 1e 0c 64 65 63  25 3d 79 6c 25 0d 18 1f  |%....dec%=yl%...|
00022190  0f 77 64 25 3d 78 68 25  2d 78 6c 25 0d 18 20 0f  |.wd%=xh%-xl%.. .|
000221a0  68 74 25 3d 79 68 25 2d  79 6c 25 0d 18 21 05 e1  |ht%=yh%-yl%..!..|
000221b0  0d 18 22 05 3a 0d 18 23  09 dd 20 f2 73 64 0d 18  |..".:..#.. .sd..|
000221c0  24 1c 70 72 73 63 61 6c  65 3d 28 bb 24 70 72 73  |$.prscale=(.$prs|
000221d0  63 61 6c 65 25 29 2f 31  30 30 0d 18 25 07 f2 6e  |cale%)/100..%..n|
000221e0  61 0d 18 26 1d 70 72 73  74 77 3d 73 74 69 74 63  |a..&.prstw=stitc|
000221f0  68 77 69 64 74 68 2a 70  72 73 63 61 6c 65 0d 18  |hwidth*prscale..|
00022200  27 17 70 72 72 68 74 3d  72 6f 77 68 74 2a 70 72  |'.prrht=rowht*pr|
00022210  73 63 61 6c 65 0d 18 28  31 c8 99 20 26 30 30 30  |scale..(1.. &000|
00022220  38 30 31 34 33 20 b8 20  2c 70 72 77 25 2c 70 72  |80143 . ,prw%,pr|
00022230  68 25 2c 70 72 6c 25 2c  70 72 62 25 2c 70 72 72  |h%,prl%,prb%,prr|
00022240  25 2c 70 72 74 25 0d 18  29 16 70 72 77 69 64 74  |%,prt%..).prwidt|
00022250  68 25 3d 70 72 72 25 2d  70 72 6c 25 0d 18 2a 17  |h%=prr%-prl%..*.|
00022260  70 72 68 65 69 67 68 74  25 3d 70 72 74 25 2d 70  |prheight%=prt%-p|
00022270  72 62 25 0d 18 2b 3a c8  99 20 26 30 30 30 34 30  |rb%..+:.. &00040|
00022280  30 38 38 2c 2c 70 72 77  69 64 74 68 25 2c 70 72  |088,,prwidth%,pr|
00022290  68 65 69 67 68 74 25 20  b8 20 2c 70 72 77 69 64  |height% . ,prwid|
000222a0  74 68 25 2c 70 72 68 65  69 67 68 74 25 0d 18 2c  |th%,prheight%..,|
000222b0  28 c8 99 20 26 30 30 30  34 30 30 38 38 2c 2c 70  |(.. &00040088,,p|
000222c0  72 77 25 2c 70 72 68 25  20 b8 20 2c 70 72 77 25  |rw%,prh% . ,prw%|
000222d0  2c 70 72 68 25 0d 18 2d  22 70 72 70 61 74 77 25  |,prh%..-"prpatw%|
000222e0  3d 31 30 30 2a 32 2b 67  72 69 64 77 69 64 74 68  |=100*2+gridwidth|
000222f0  25 2a 70 72 73 74 77 0d  18 2e 23 70 72 70 61 74  |%*prstw...#prpat|
00022300  68 25 3d 31 30 30 2a 33  2b 67 72 69 64 68 65 69  |h%=100*3+gridhei|
00022310  67 68 74 25 2a 70 72 72  68 74 0d 18 2f 19 e7 20  |ght%*prrht../.. |
00022320  70 72 70 61 74 77 25 3c  3d 70 72 77 69 64 74 68  |prpatw%<=prwidth|
00022330  25 20 8c 0d 18 30 0d 74  69 6c 65 73 77 25 3d 30  |% ...0.tilesw%=0|
00022340  0d 18 31 16 6e 75 6d 73  74 77 25 3d 67 72 69 64  |..1.numstw%=grid|
00022350  77 69 64 74 68 25 0d 18  32 05 cc 0d 18 33 26 74  |width%..2....3&t|
00022360  69 6c 65 73 77 25 3d 28  70 72 70 61 74 77 25 2b  |ilesw%=(prpatw%+|
00022370  32 2a 70 72 73 74 77 29  2f 70 72 77 69 64 74 68  |2*prstw)/prwidth|
00022380  25 0d 18 34 22 6e 75 6d  73 74 77 25 3d 28 70 72  |%..4"numstw%=(pr|
00022390  77 69 64 74 68 25 2d 31  30 30 29 2f 70 72 73 74  |width%-100)/prst|
000223a0  77 2d 34 0d 18 35 05 cd  0d 18 36 1a e7 20 70 72  |w-4..5....6.. pr|
000223b0  70 61 74 68 25 3c 3d 70  72 68 65 69 67 68 74 25  |path%<=prheight%|
000223c0  20 8c 0d 18 37 0d 74 69  6c 65 73 68 25 3d 30 0d  | ...7.tilesh%=0.|
000223d0  18 38 17 6e 75 6d 73 74  68 25 3d 67 72 69 64 68  |.8.numsth%=gridh|
000223e0  65 69 67 68 74 25 0d 18  39 05 cc 0d 18 3a 27 74  |eight%..9....:'t|
000223f0  69 6c 65 73 68 25 3d 28  70 72 70 61 74 68 25 2b  |ilesh%=(prpath%+|
00022400  32 2a 70 72 72 68 74 29  2f 70 72 68 65 69 67 68  |2*prrht)/prheigh|
00022410  74 25 0d 18 3b 23 6e 75  6d 73 74 68 25 3d 28 70  |t%..;#numsth%=(p|
00022420  72 68 65 69 67 68 74 25  2d 31 30 30 29 2f 70 72  |rheight%-100)/pr|
00022430  72 68 74 2d 34 0d 18 3c  05 cd 0d 18 3d 1d e7 20  |rht-4..<....=.. |
00022440  74 69 6c 65 73 77 25 3d  30 20 80 20 74 69 6c 65  |tilesw%=0 . tile|
00022450  73 68 25 3d 30 20 8c 0d  18 3e 11 24 70 72 74 69  |sh%=0 ...>.$prti|
00022460  6c 65 73 25 3d 22 31 22  0d 18 3f 05 cc 0d 18 40  |les%="1"..?....@|
00022470  2e 24 70 72 74 69 6c 65  73 25 3d c3 28 74 69 6c  |.$prtiles%=.(til|
00022480  65 73 77 25 2b 31 29 2b  22 20 62 79 20 22 2b c3  |esw%+1)+" by "+.|
00022490  28 74 69 6c 65 73 68 25  2b 31 29 0d 18 41 05 cd  |(tilesh%+1)..A..|
000224a0  0d 18 42 16 f2 66 65 28  70 72 69 6e 74 25 2c 31  |..B..fe(print%,1|
000224b0  30 2c 30 2c 30 29 0d 18  43 05 e1 0d 18 44 05 3a  |0,0,0)..C....D.:|
000224c0  0d 18 45 08 dd 20 a4 75  0d 18 46 1e ea 20 6c 6f  |..E.. .u..F.. lo|
000224d0  61 64 65 64 25 2c 69 25  2c 66 6c 61 67 73 25 2c  |aded%,i%,flags%,|
000224e0  70 6e 61 6d 65 25 0d 18  47 0d 6c 6f 61 64 65 64  |pname%..G.loaded|
000224f0  25 3d b9 0d 18 48 07 ea  20 85 0d 18 49 1e ee 20  |%=...H.. ...I.. |
00022500  85 20 ea 20 3a 6c 6f 61  64 65 64 25 3d a3 3a 20  |. . :loaded%=.: |
00022510  66 6c 61 67 73 25 3d 31  0d 18 4a 32 e7 20 6c 6f  |flags%=1..J2. lo|
00022520  61 64 65 64 25 3d b9 20  8c 20 c8 99 20 26 30 30  |aded%=. . .. &00|
00022530  30 41 30 31 34 30 20 b8  20 2c 2c 2c 2c 70 6e 61  |0A0140 . ,,,,pna|
00022540  6d 65 25 3b 66 6c 61 67  73 25 0d 18 4b 07 f7 20  |me%;flags%..K.. |
00022550  85 0d 18 4c 20 e7 20 28  66 6c 61 67 73 25 20 80  |...L . (flags% .|
00022560  20 31 29 3d 31 20 8c 20  6c 6f 61 64 65 64 25 3d  | 1)=1 . loaded%=|
00022570  a3 0d 18 4d 11 e7 20 6c  6f 61 64 65 64 25 3d a3  |...M.. loaded%=.|
00022580  20 8c 0d 18 4e 20 24 70  72 6e 61 6d 65 25 3d 22  | ...N $prname%="|
00022590  4e 6f 20 70 72 69 6e 74  65 72 20 64 72 69 76 65  |No printer drive|
000225a0  72 22 0d 18 4f 10 24 70  72 74 69 6c 65 73 25 3d  |r"..O.$prtiles%=|
000225b0  22 22 0d 18 50 1e f2 66  65 28 70 72 69 6e 74 25  |""..P..fe(print%|
000225c0  2c 31 31 2c 31 3c 3c 32  32 2c 31 3c 3c 32 32 29  |,11,1<<22,1<<22)|
000225d0  0d 18 51 1d f2 66 65 28  70 72 69 6e 74 25 2c 35  |..Q..fe(print%,5|
000225e0  2c 31 3c 3c 32 32 2c 31  3c 3c 32 32 29 0d 18 52  |,1<<22,1<<22)..R|
000225f0  1e f2 66 65 28 70 72 69  6e 74 25 2c 31 35 2c 31  |..fe(print%,15,1|
00022600  3c 3c 32 32 2c 31 3c 3c  32 32 29 0d 18 53 1e f2  |<<22,1<<22)..S..|
00022610  66 65 28 70 72 69 6e 74  25 2c 31 36 2c 31 3c 3c  |fe(print%,16,1<<|
00022620  32 32 2c 31 3c 3c 32 32  29 0d 18 54 1e f2 66 65  |22,1<<22)..T..fe|
00022630  28 70 72 69 6e 74 25 2c  31 30 2c 31 3c 3c 32 32  |(print%,10,1<<22|
00022640  2c 31 3c 3c 32 32 29 0d  18 55 1d f2 66 65 28 70  |,1<<22)..U..fe(p|
00022650  72 69 6e 74 25 2c 38 2c  31 3c 3c 32 32 2c 31 3c  |rint%,8,1<<22,1<|
00022660  3c 32 32 29 0d 18 56 07  f2 78 62 0d 18 57 05 cc  |<22)..V..xb..W..|
00022670  0d 18 58 15 e7 20 a4 6d  28 70 72 69 6e 74 25 2c  |..X.. .m(print%,|
00022680  31 31 29 20 8c 0d 18 59  1e f2 66 65 28 70 72 69  |11) ...Y..fe(pri|
00022690  6e 74 25 2c 31 31 2c 30  3c 3c 32 32 2c 31 3c 3c  |nt%,11,0<<22,1<<|
000226a0  32 32 29 0d 18 5a 1d f2  66 65 28 70 72 69 6e 74  |22)..Z..fe(print|
000226b0  25 2c 35 2c 30 3c 3c 32  32 2c 31 3c 3c 32 32 29  |%,5,0<<22,1<<22)|
000226c0  0d 18 5b 1e f2 66 65 28  70 72 69 6e 74 25 2c 31  |..[..fe(print%,1|
000226d0  35 2c 30 3c 3c 32 32 2c  31 3c 3c 32 32 29 0d 18  |5,0<<22,1<<22)..|
000226e0  5c 1e f2 66 65 28 70 72  69 6e 74 25 2c 31 36 2c  |\..fe(print%,16,|
000226f0  30 3c 3c 32 32 2c 31 3c  3c 32 32 29 0d 18 5d 1e  |0<<22,1<<22)..].|
00022700  f2 66 65 28 70 72 69 6e  74 25 2c 31 30 2c 30 3c  |.fe(print%,10,0<|
00022710  3c 32 32 2c 31 3c 3c 32  32 29 0d 18 5e 1d f2 66  |<22,1<<22)..^..f|
00022720  65 28 70 72 69 6e 74 25  2c 38 2c 30 3c 3c 32 32  |e(print%,8,0<<22|
00022730  2c 31 3c 3c 32 32 29 0d  18 5f 05 cd 0d 18 60 08  |,1<<22).._....`.|
00022740  69 25 3d 30 0d 18 61 13  c8 95 20 70 6e 61 6d 65  |i%=0..a... pname|
00022750  25 3f 69 25 3e 33 31 0d  18 62 18 70 72 6e 61 6d  |%?i%>31..b.prnam|
00022760  65 25 3f 69 25 3d 70 6e  61 6d 65 25 3f 69 25 0d  |e%?i%=pname%?i%.|
00022770  18 63 09 69 25 2b 3d 31  0d 18 64 05 ce 0d 18 65  |.c.i%+=1..d....e|
00022780  11 70 72 6e 61 6d 65 25  3f 69 25 3d 31 33 0d 18  |.prname%?i%=13..|
00022790  66 07 f2 73 64 0d 18 67  05 cd 0d 18 68 10 c8 8e  |f..sd..g....h...|
000227a0  20 6d 61 6e 6e 65 72 25  20 ca 0d 18 69 09 c9 20  | manner% ...i.. |
000227b0  30 2c 31 0d 18 6a 1d f2  66 65 28 70 72 69 6e 74  |0,1..j..fe(print|
000227c0  25 2c 32 2c 30 3c 3c 32  32 2c 31 3c 3c 32 32 29  |%,2,0<<22,1<<22)|
000227d0  0d 18 6b 1d f2 66 65 28  70 72 69 6e 74 25 2c 34  |..k..fe(print%,4|
000227e0  2c 30 3c 3c 32 32 2c 31  3c 3c 32 32 29 0d 18 6c  |,0<<22,1<<22)..l|
000227f0  1e f2 66 65 28 70 72 69  6e 74 25 2c 31 39 2c 30  |..fe(print%,19,0|
00022800  3c 3c 32 32 2c 31 3c 3c  32 32 29 0d 18 6d 4d e7  |<<22,1<<22)..mM.|
00022810  20 70 69 63 74 79 70 65  24 3d 22 6e 6f 6e 65 22  | pictype$="none"|
00022820  20 8c 20 f2 66 65 28 70  72 69 6e 74 25 2c 33 2c  | . .fe(print%,3,|
00022830  31 3c 3c 32 32 2c 31 3c  3c 32 32 29 20 8b 20 f2  |1<<22,1<<22) . .|
00022840  66 65 28 70 72 69 6e 74  25 2c 33 2c 30 3c 3c 32  |fe(print%,3,0<<2|
00022850  32 2c 31 3c 3c 32 32 29  0d 18 6e 51 e7 20 70 69  |2,1<<22)..nQ. pi|
00022860  63 74 79 70 65 24 3d 22  73 70 72 69 74 65 22 20  |ctype$="sprite" |
00022870  8c 20 f2 66 65 28 70 72  69 6e 74 25 2c 31 38 2c  |. .fe(print%,18,|
00022880  30 3c 3c 32 32 2c 31 3c  3c 32 32 29 20 8b 20 f2  |0<<22,1<<22) . .|
00022890  66 65 28 70 72 69 6e 74  25 2c 31 38 2c 31 3c 3c  |fe(print%,18,1<<|
000228a0  32 32 2c 31 3c 3c 32 32  29 0d 18 6f 07 c9 20 32  |22,1<<22)..o.. 2|
000228b0  0d 18 70 1d f2 66 65 28  70 72 69 6e 74 25 2c 32  |..p..fe(print%,2|
000228c0  2c 31 3c 3c 32 32 2c 31  3c 3c 32 32 29 0d 18 71  |,1<<22,1<<22)..q|
000228d0  1d f2 66 65 28 70 72 69  6e 74 25 2c 33 2c 31 3c  |..fe(print%,3,1<|
000228e0  3c 32 32 2c 31 3c 3c 32  32 29 0d 18 72 1d f2 66  |<22,1<<22)..r..f|
000228f0  65 28 70 72 69 6e 74 25  2c 34 2c 31 3c 3c 32 32  |e(print%,4,1<<22|
00022900  2c 31 3c 3c 32 32 29 0d  18 73 1e f2 66 65 28 70  |,1<<22)..s..fe(p|
00022910  72 69 6e 74 25 2c 31 38  2c 31 3c 3c 32 32 2c 31  |rint%,18,1<<22,1|
00022920  3c 3c 32 32 29 0d 18 74  1e f2 66 65 28 70 72 69  |<<22)..t..fe(pri|
00022930  6e 74 25 2c 31 39 2c 31  3c 3c 32 32 2c 31 3c 3c  |nt%,19,1<<22,1<<|
00022940  32 32 29 0d 18 75 1d f2  66 65 28 70 72 69 6e 74  |22)..u..fe(print|
00022950  25 2c 32 2c 31 3c 3c 32  31 2c 31 3c 3c 32 31 29  |%,2,1<<21,1<<21)|
00022960  0d 18 76 1d f2 66 65 28  70 72 69 6e 74 25 2c 34  |..v..fe(print%,4|
00022970  2c 31 3c 3c 32 31 2c 31  3c 3c 32 31 29 0d 18 77  |,1<<21,1<<21)..w|
00022980  1e f2 66 65 28 70 72 69  6e 74 25 2c 31 38 2c 30  |..fe(print%,18,0|
00022990  3c 3c 32 31 2c 31 3c 3c  32 31 29 0d 18 78 1e f2  |<<21,1<<21)..x..|
000229a0  66 65 28 70 72 69 6e 74  25 2c 31 39 2c 30 3c 3c  |fe(print%,19,0<<|
000229b0  32 31 2c 31 3c 3c 32 31  29 0d 18 79 1d f2 66 65  |21,1<<21)..y..fe|
000229c0  28 70 72 69 6e 74 25 2c  33 2c 30 3c 3c 32 31 2c  |(print%,3,0<<21,|
000229d0  31 3c 3c 32 31 29 0d 18  7a 05 cb 0d 18 7b 0c 3d  |1<<21)..z....{.=|
000229e0  6c 6f 61 64 65 64 25 0d  18 7c 05 3a 0d 18 7d 12  |loaded%..|.:..}.|
000229f0  dd 20 a4 76 28 77 69 6d  70 63 6f 6c 25 29 0d 18  |. .v(wimpcol%)..|
00022a00  7e 0a ea 20 72 67 62 25  0d 18 7f 11 c8 8e 20 77  |~.. rgb%...... w|
00022a10  69 6d 70 63 6f 6c 25 20  ca 0d 18 80 17 c9 20 30  |impcol% ...... 0|
00022a20  3a 20 72 67 62 25 3d 26  46 46 46 46 46 46 30 30  |: rgb%=&FFFFFF00|
00022a30  0d 18 81 17 c9 20 31 3a  20 72 67 62 25 3d 26 44  |..... 1: rgb%=&D|
00022a40  44 44 44 44 44 30 30 0d  18 82 17 c9 20 32 3a 20  |DDDDD00..... 2: |
00022a50  72 67 62 25 3d 26 42 42  42 42 42 42 30 30 0d 18  |rgb%=&BBBBBB00..|
00022a60  83 17 c9 20 33 3a 20 72  67 62 25 3d 26 39 39 39  |... 3: rgb%=&999|
00022a70  39 39 39 30 30 0d 18 84  17 c9 20 34 3a 20 72 67  |99900..... 4: rg|
00022a80  62 25 3d 26 37 37 37 37  37 37 30 30 0d 18 85 17  |b%=&77777700....|
00022a90  c9 20 35 3a 20 72 67 62  25 3d 26 35 35 35 35 35  |. 5: rgb%=&55555|
00022aa0  35 30 30 0d 18 86 17 c9  20 36 3a 20 72 67 62 25  |500..... 6: rgb%|
00022ab0  3d 26 33 33 33 33 33 33  30 30 0d 18 87 17 c9 20  |=&33333300..... |
00022ac0  37 3a 20 72 67 62 25 3d  26 30 30 30 30 30 30 30  |7: rgb%=&0000000|
00022ad0  30 0d 18 88 17 c9 20 38  3a 20 72 67 62 25 3d 26  |0..... 8: rgb%=&|
00022ae0  39 39 34 34 30 30 30 30  0d 18 89 17 c9 20 39 3a  |99440000..... 9:|
00022af0  20 72 67 62 25 3d 26 30  30 45 45 45 45 30 30 0d  | rgb%=&00EEEE00.|
00022b00  18 8a 17 c9 20 31 30 3a  72 67 62 25 3d 26 30 30  |.... 10:rgb%=&00|
00022b10  43 43 30 30 30 30 0d 18  8b 17 c9 20 31 31 3a 72  |CC0000..... 11:r|
00022b20  67 62 25 3d 26 30 30 30  30 44 44 30 30 0d 18 8c  |gb%=&0000DD00...|
00022b30  17 c9 20 31 32 3a 72 67  62 25 3d 26 42 42 45 45  |.. 12:rgb%=&BBEE|
00022b40  45 45 30 30 0d 18 8d 17  c9 20 31 33 3a 72 67 62  |EE00..... 13:rgb|
00022b50  25 3d 26 30 30 38 38 35  35 30 30 0d 18 8e 17 c9  |%=&00885500.....|
00022b60  20 31 34 3a 72 67 62 25  3d 26 30 30 42 42 46 46  | 14:rgb%=&00BBFF|
00022b70  30 30 0d 18 8f 17 c9 20  31 35 3a 72 67 62 25 3d  |00..... 15:rgb%=|
00022b80  26 46 46 42 42 30 30 30  30 0d 18 90 05 cb 0d 18  |&FFBB0000.......|
00022b90  91 09 3d 72 67 62 25 0d  ff                       |..=rgb%..|
00022b99