Home » Archimedes archive » Acorn User » AU 1994-07.adf » !Networks_networks » Internet/!SetDemon/SetDemon

Internet/!SetDemon/SetDemon

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 1994-07.adf » !Networks_networks
Filename: Internet/!SetDemon/SetDemon
Read OK:
File size: 6101 bytes
Load address: 0000
Exec address: 0000
File contents
    1REM > <SetDemon$Dir>.SetDemon
    2ON ERROR PRINT REPORT$;" at line ";ERL:END
    3:
    4PROCinit
    5WHILE NOT quit%
    6  PROCwimppoll
    7ENDWHILE
    8SYS "Wimp_CloseDown"
    9END
   10
   11DEF PROCinit
   12:
   13DIM block% 256, block2% 256
   14DIM Config_line%(20), AutoExec_line%(14)
   15DIM Config_text$(20), AutoExec_text$(14)
   16quit% = FALSE
   17:
   18SYS "OS_Byte",&101,0,&FF TO ,os%
   19IF os%>&A3 THEN RiscOS% = 310 ELSE RiscOS% = 200
   20DIM list% 3
   21!list% = 0
   22SYS "Wimp_Initialise",RiscOS%,&4B534154,"SetDemon",list% TO RiscOS%,task%
   23ON ERROR PROCerror(REPORT$+" at line "+STR$(ERL)) : SYS "Wimp_CloseDown" : END
   24:
   25PROCdefaults
   26kick_news% = TRUE : kick_mail% = TRUE
   27:
   28file% = OPENIN "<SetDemon$Dir>.Sprites"
   29area_size% = (EXT#file%) + 4
   30CLOSE# file%
   31DIM sprite_area% area_size%
   32!sprite_area% = area_size%
   33sprite_area%!8 = 16
   34SYS "OS_SpriteOp",&109,sprite_area%
   35SYS "OS_SpriteOp",&10A,sprite_area%,"<SetDemon$Dir>.Sprites"
   36:
   37SYS "Wimp_OpenTemplate",,"<SetDemon$Dir>.Templates"
   38DIM window_block% 4000,info% 200,demon% 1000,win_name% 12
   39$win_name% = "Demon"
   40SYS "Wimp_LoadTemplate",,window_block%,demon%,demon%+1000,-1,win_name%,0
   41window_block%!64 = sprite_area%
   42SYS "Wimp_CreateWindow",,window_block% TO demonhand%
   43$win_name% = "info"
   44SYS "Wimp_LoadTemplate",,window_block%,info%,info%+200,-1,win_name%,0
   45SYS "Wimp_CreateWindow",,window_block% TO infohand%
   46SYS "Wimp_CloseTemplate"
   47:
   48PROCbuild_menus
   49:
   50!block% = -1
   51block%!4 = 0 : block%!8 = 0 : block%!12 = 68 : block%!16 = 68
   52block%!20 = &3002
   53$(block%+24) = "!setdemon"
   54SYS "Wimp_CreateIcon",,block% TO iconbar%
   55:
   56SYS "XOS_ReadVarVal","TCPIP$Dir",block%,&FF,0,3 TO ,,read%
   57IF read% = 0 THEN
   58  ka9qdir$ = "<SetDemon$Dir>.ToKA9Q"
   59  PROCerror("!TCPIP has not been seen by the filer; you will only be able to store files within !SetDemon")
   60  !block%=demonhand% : block%!4=17 : block%!8=&00800000 : block%!12=&00800000
   61  SYS "Wimp_SetIconState",,block%
   62  !block%=demonhand% : block%!4=18 : block%!8=&00800000 : block%!12=&00800000
   63  SYS "Wimp_SetIconState",,block%
   64  block%!4 = 15
   65  SYS "Wimp_GetIconState",,block%
   66  valid% = block%!32 : $valid% = "R6,3" 
   67ELSE
   68  ka9qdir$ = "<TCPIP$Dir>"
   69ENDIF
   70ENDPROC
   71
   72DEF PROCwimppoll
   73:
   74SYS "Wimp_Poll" ,&1811,block% TO reason%
   75CASE reason% OF
   76REM Reason codes marked * should not be returned
   77WHEN 1: REM Redraw window *
   78WHEN 2: SYS "Wimp_OpenWindow" ,,block%
   79WHEN 3: SYS "Wimp_CloseWindow" ,,block%
   80WHEN 6: PROCmouse_click
   81WHEN 7: REM Drag Box *
   82WHEN 8: PROCkeypress
   83WHEN 9: PROCmenuchoice
   84WHEN 10: REM Scroll request *
   85WHEN 13: REM Non-zero *
   86WHEN 17: PROCuser_message
   87WHEN 18: PROCuser_message
   88WHEN 19: REM User message acknowledge *
   89ENDCASE
   90ENDPROC
   91
   92DEF PROCmouse_click
   93:
   94CASE block%!12 OF
   95WHEN -2 : PROCiconbarclick
   96WHEN demonhand% : PROCwindowclick
   97ENDCASE
   98ENDPROC
   99
  100DEF PROCiconbarclick
  101:
  102IF block%!8 = 2 THEN
  103  SYS "Wimp_CreateMenu" ,,iconbar_menu%,!block%-64,188
  104  openmenu% = iconbar_menu%
  105ELSE
  106  !block% = demonhand%
  107  SYS "Wimp_GetWindowState",,block%
  108  SYS "Wimp_OpenWindow",,block%
  109ENDIF
  110ENDPROC
  111
  112DEF PROCwindowclick
  113:
  114LOCAL xpos%,ypos%
  115IF block%!16 = 7  PROCpopupmenu(demonhand%, 7,port_menu%):ENDPROC
  116IF block%!16 = 10 PROCpopupmenu(demonhand%,10,baud_menu%):ENDPROC    
  117IF block%!8 = 2 THEN
  118  SYS "Wimp_CreateMenu" ,,iconbar_menu%,!block%-64,block%!4
  119  openmenu% = iconbar_menu%
  120ELSE
  121  CASE block%!16 OF
  122  WHEN 11,12 : !block% = demonhand%
  123    block%!4=block%!16 : block%!8=&00200000 : block%!12 = 0
  124    SYS "Wimp_SetIconState",,block% 
  125  WHEN 15 : PROCsave131b("<SetDemon$Dir>.ToKA9Q")
  126  WHEN 16 : PROCload131b("<SetDemon$Dir>.ToKA9Q")
  127  WHEN 17 : PROCsave131b(ka9qdir$)
  128  WHEN 18 : PROCload131b(ka9qdir$)
  129  ENDCASE
  130ENDIF
  131ENDPROC
  132
  133DEF PROCpopupmenu(handle%,icon%,menu%)
  134:
  135LOCAL xpos%,ypos%
  136!block% = handle%
  137SYS "Wimp_GetWindowState",,block%
  138xpos% = block%!4 - block%!20 : ypos% = block%!16 - block%!24
  139block%!4 = icon%
  140SYS "Wimp_GetIconState",,block%
  141xpos% += block%!16 + 4 : ypos% += block%!12 + 44
  142SYS "Wimp_CreateMenu",,menu%,xpos%,ypos%
  143openmenu% = menu%
  144ENDPROC
  145
  146DEF PROCkeypress
  147:
  148LOCAL key%, icon%
  149IF !block% <> demonhand% ENDPROC
  150key% = block%!24
  151IF key% = 13 THEN
  152  IF ka9qdir$ = "<TCPIP$Dir>" THEN icon% = 17 ELSE icon% = 15
  153  block%!4=icon% : block%!8=&00200000 : block%!12 = &00200000
  154  SYS "Wimp_SetIconState",,block%
  155  block%!16 = icon% : block%!12 = demonhand% : block%!8 = 3
  156  PROCwindowclick
  157  !block% = demonhand% : block%!4=icon% : block%!8=0 : block%!12 = &00200000
  158  SYS "Wimp_SetIconState",,block%
  159ENDIF
  160ENDPROC
  161
  162DEF PROCmenuchoice
  163:
  164CASE openmenu% OF
  165WHEN iconbar_menu% : PROCdecode_iconbar
  166WHEN baud_menu% : PROCdecode_baud
  167WHEN port_menu% : PROCdecode_port
  168ENDCASE
  169SYS "Wimp_GetPointerInfo" ,,block%
  170IF block%!8=1 THEN SYS "Wimp_CreateMenu" ,,openmenu%
  171ENDPROC
  172
  173DEF PROCdecode_iconbar
  174:
  175CASE !block% OF
  176WHEN 0 : REM do nothing - info chosen
  177WHEN 1 : quit% = TRUE
  178ENDCASE
  179ENDPROC
  180
  181DEF PROCdecode_baud
  182:
  183LOCAL ptr%
  184!block2% = demonhand% : block2%!4 = 9
  185SYS "Wimp_GetIconState",,block2%
  186ptr% = block2%!28
  187SYS "Wimp_DecodeMenu",,baud_menu%,block%,ptr%
  188block2%!8 = 0 : block2%!12 = 0
  189SYS "Wimp_SetIconState",,block2%
  190ENDPROC
  191
  192DEF PROCdecode_port
  193:
  194LOCAL ptr%
  195!block2% = demonhand% : block2%!4 = 4
  196SYS "Wimp_GetIconState",,block2%
  197ptr% = block2%!28
  198CASE !block% OF
  199WHEN 0 : $ptr% = "internal 0"
  200WHEN 1 : $ptr% = "sp_dual 0"
  201WHEN 2 : $ptr% = "sp_dual 1"
  202WHEN 3 : $ptr% = "ii_dual 0"
  203WHEN 4 : $ptr% = "ii_dual 1"
  204ENDCASE
  205block2%!8 = 0 : block2%!12 = 0
  206SYS "Wimp_SetIconState",,block2%
  207ENDPROC
  208
  209DEF PROCuser_message
  210:
  211CASE block%!&10 OF
  212WHEN 0 : quit%=TRUE
  213WHEN &502 : block%!&10 = &503
  214text$ = FNHelp(block%!&20, block%!&24)
  215$(block%+&14) = text$+CHR$(0) : !block% = 20 + ((LEN(text$)+4) DIV 4) * 4
  216task% = block%!4 : block%!&0C = block%!8
  217SYS "Wimp_SendMessage",17,block%,task%
  218ENDCASE
  219ENDPROC
  220
  221DEF PROCsave131b(dir$)
  222:
  223LOCAL handle%, ptr%, text$, host$, newsgroup$, kick%, line1%, line2%
  224handle%=OPENOUT(dir$+".Config")
  225IF handle% = 0 THEN
  226  PROCerror("Error opening file "+dir$+".Config")
  227  SYS "Wimp_Closedown"
  228  END
  229ENDIF
  230line1% = 1 : line2% = 1
  231text$ = FNline(Config%,1)
  232IF INSTR(text$,"# Configuration file written by") <> 1 THEN PROCputline(handle%,"# Configuration file written by Set Demon")
  233PROCputlineplus(handle%,Config%,1,"window terminal internal")
  234!block% = demonhand% : block%!4 = 1 : SYS "Wimp_GetIconState" ,,block%
  235ptr% = block%!28 : host$ = $ptr%
  236PROCputline(handle%,"hostname "+host$ + ".demon.co.uk")
  237IF Config_line%(2) > line1% THEN
  238  line2% = Config_line%(2)
  239  PROCwritelines(handle%, Config%, line1%, line2%)
  240  line1% = Config_line%(2)
  241ENDIF
  242block%!4 = 6 : SYS "Wimp_GetIconState",,block%
  243ptr% = block%!28 : text$ = "ip address [" + $ptr% + "]"
  244PROCputline(handle%,text$)
  245IF Config_line%(3) > line1% THEN
  246  line2% = Config_line%(3)
  247  PROCwritelines(handle%, Config%, line1%, line2%)
  248  line1% = Config_line%(3)
  249ENDIF
  250block%!4 = 4 : SYS "Wimp_GetIconState",,block%
  251ptr% = block%!28 : text$ = "attach asy "+$ptr%+" slip ax0 2048 576 "
  252block%!4 = 9 : SYS "Wimp_GetIconState",,block%
  253ptr% = block%!28 : text$ += $ptr%
  254PROCputline(handle%,text$)
  255IF Config_line%(4) >line1% THEN
  256  line2% = Config_line%(4)
  257  PROCwritelines(handle%, Config%, line1%, line2%)
  258  line1% = Config_line%(4)
  259ENDIF
  260PROCputlineplus(handle%,Config%,5,"route add default ax0 [158.152.1.71] 1")
  261PROCputlineplus(handle%,Config%,6,"ip ttl 64")
  262PROCputlineplus(handle%,Config%,7,"#window cursor off")
  263PROCputlineplus(handle%,Config%,8,"tcp mss 536")
  264PROCputlineplus(handle%,Config%,9,"tcp irtt 30000")
  265PROCputlineplus(handle%,Config%,10,"tcp window 5360")
  266PROCputlineplus(handle%,Config%,11,"tcp hangup 15 3")
  267PROCputlineplus(handle%,Config%,12,"domain suffix demon.co.uk")
  268PROCputlineplus(handle%,Config%,13,"log <TCPIP$Dir>.logfile")
  269PROCputlineplus(handle%,Config%,14,"start echo")
  270PROCputlineplus(handle%,Config%,15,"start discard")
  271PROCputlineplus(handle%,Config%,16,"start ftp")
  272PROCputlineplus(handle%,Config%,17,"start smtp")
  273PROCputlineplus(handle%,Config%,18,"start finger")
  274PROCputlineplus(handle%,Config%,19,"start telnet")
  275CLOSE#handle%
  276OSCLI ("Settype "+dir$+".Config TEXT")
  277handle% = OPENOUT(dir$+".AutoExec")
  278PROCputlineplus(handle%,AutoExec%,1,"finger motd@gate.demon.co.uk")
  279PROCputline(handle%,"finger "+host$+"@post.demon.co.uk")
  280IF AutoExec_line%(2) > line1% THEN
  281  line2% = AutoExec_line%(2)
  282  PROCwritelines(handle%, AutoExec%, line1%, line2%)
  283  line1% = AutoExec_line%(2)
  284ENDIF
  285PROCputlineplus(handle%,AutoExec%,3,"nntp trace 2")
  286PROCputlineplus(handle%,AutoExec%,4,"nntp fudge 120")
  287PROCputlineplus(handle%,AutoExec%,5,"nntp direct on")
  288PROCputlineplus(handle%,AutoExec%,6,"nntp batch 8")
  289block%!4 = 14 : SYS "Wimp_GetIconState",,block%
  290ptr% = block%!28 : newsgroup$ += $ptr%
  291PROCputline(handle%,"nntp addserver news.demon.co.uk 600 "+newsgroup$)
  292IF AutoExec_line%(7) > line1% THEN
  293  line2% = AutoExec_line%(7)
  294  PROCwritelines(handle%, AutoExec%, line1%, line2%)
  295  line1% = AutoExec_line%(7)
  296ENDIF
  297block%!4 = 11 : SYS "Wimp_GetIconState",,block%
  298IF ((block%!26) AND &20) = &20 THEN
  299  PROCputline(handle%,"nntp kick news.demon.co.uk")
  300ELSE
  301  PROCputline(handle%,"#nntp kick news.demon.co.uk")
  302ENDIF
  303IF AutoExec_line%(8) > line1% THEN
  304  line2% = AutoExec_line%(8)
  305  PROCwritelines(handle%, AutoExec%, line1%, line2%)
  306  line1% = AutoExec_line%(8)
  307ENDIF
  308PROCputlineplus(handle%,AutoExec%,9,"time server ntp.demon.co.uk")
  309PROCputlineplus(handle%,AutoExec%,10,"time read")
  310PROCputlineplus(handle%,AutoExec%,11,"smtp gateway [158.152.1.72]")
  311PROCputlineplus(handle%,AutoExec%,12,"smtp trace 1")
  312block%!4 = 12 : SYS "Wimp_GetIconState",,block%
  313IF ((block%!26) AND &20) = &20 THEN
  314  PROCputline(handle%,"smtp kick")
  315ELSE
  316  PROCputline(handle%,"#smtp kick")
  317ENDIF
  318CLOSE# handle%
  319OSCLI ("Settype "+dir$+".AutoExec TEXT")
  320group$ = dir$+"."+newsgroup$+"Group"
  321handle% = OPENIN(group$)
  322IF handle% = 0 THEN
  323  OSCLI("COPY <SetDemon$Dir>.ToKA9Q.DemGroupd "+group$+" ~V~CF")
  324ELSE
  325  CLOSE#handle%
  326ENDIF  
  327group$ = dir$+"."+newsgroup$+"Last"
  328handle% = OPENIN(group$)
  329IF handle% = 0 THEN
  330  handle% = OPENOUT(group$)
  331  !block2% = 3 : SYS "OS_Word",14,block2%
  332  SYS "OS_ConvertDateAndTime",block2%,block%,255,"%YR%MN%DY%24%MI%SE"
  333  PROCputline(handle%,LEFT$($block%,6))
  334  PROCputline(handle%,MID$($block%,7,6))
  335ENDIF
  336CLOSE# handle%
  337OSCLI ("Settype "+dir$+"."+newsgroup$+"Last TEXT")
  338ENDPROC
  339
  340DEF PROCload131b(dir$)
  341:
  342FOR i% = 1 TO 19
  343  Config_line%(i%) = -1
  344NEXT
  345FOR i% = 1 TO 13
  346  AutoExec_line%(i%) = -1
  347NEXT
  348handle% = OPENIN(dir$+".Config")
  349IF handle% = 0 PROCerror("File "+dir$+".Config not found") : ENDPROC
  350Config_Len% = EXT#handle%
  351DIM Config% Config_Len%
  352CLOSE# handle%
  353OSCLI("LOAD "+dir$+".Config "+STR$~(Config%))
  354Config_line%(1) = FNlocate_line(Config%,Config_Len%,"window terminal")
  355Config_line%(2) = FNlocate_line(Config%,Config_Len%,"hostname")
  356Config_line%(3) = FNlocate_line(Config%,Config_Len%,"ip address")
  357Config_line%(4) = FNlocate_line(Config%,Config_Len%,"attach ")
  358Config_line%(5) = FNlocate_line(Config%,Config_Len%,"route add")
  359Config_line%(6) = FNlocate_line(Config%,Config_Len%,"ip ttl")
  360Config_line%(7) = FNlocate_line(Config%,Config_Len%,"window cursor")
  361Config_line%(8) = FNlocate_line(Config%,Config_Len%,"tcp mss")
  362Config_line%(9) = FNlocate_line(Config%,Config_Len%,"tcp irtt")
  363Config_line%(10) = FNlocate_line(Config%,Config_Len%,"tcp window")
  364Config_line%(11) = FNlocate_line(Config%,Config_Len%,"tcp hangup")
  365Config_line%(12) = FNlocate_line(Config%,Config_Len%,"domain suffix")
  366Config_line%(13) = FNlocate_line(Config%,Config_Len%,"log ")
  367Config_line%(14) = FNlocate_line(Config%,Config_Len%,"start echo")
  368Config_line%(15) = FNlocate_line(Config%,Config_Len%,"start discard")
  369Config_line%(16) = FNlocate_line(Config%,Config_Len%,"start ftp")
  370Config_line%(17) = FNlocate_line(Config%,Config_Len%,"start smtp")
  371Config_line%(18) = FNlocate_line(Config%,Config_Len%,"start finger")
  372Config_line%(19) = FNlocate_line(Config%,Config_Len%,"start telnet")
  373FOR i% = 1 TO 19
  374  IF Config_line%(i%) <> -1 THEN
  375    Config_text$(i%)=FNline(Config%, Config_line%(i%))
  376  ENDIF
  377NEXT
  378handle% = OPENIN(dir$+".AutoExec")
  379IF handle% = 0 PROCerror("File "+dir$+".AutoExec not found") : ENDPROC
  380AutoExec_Len% = EXT#handle%
  381DIM AutoExec% AutoExec_Len%
  382CLOSE# handle%
  383OSCLI("LOAD "+dir$+".AutoExec "+STR$~(AutoExec%))
  384AutoExec_line%(1) = FNlocate_line(AutoExec%,AutoExec_Len%,"finger motd")
  385AutoExec_line%(2) = FNlocate_liner(AutoExec%,AutoExec_Len%,"post.demon.co.uk")
  386AutoExec_line%(3) = FNlocate_line(AutoExec%,AutoExec_Len%,"nntp trace")
  387AutoExec_line%(4) = FNlocate_line(AutoExec%,AutoExec_Len%,"nntp fudge")
  388AutoExec_line%(5) = FNlocate_line(AutoExec%,AutoExec_Len%,"nntp direct")
  389AutoExec_line%(6) = FNlocate_line(AutoExec%,AutoExec_Len%,"nntp batch")
  390AutoExec_line%(7) = FNlocate_line(AutoExec%,AutoExec_Len%,"nntp addserver")
  391AutoExec_line%(8) = FNlocate_line(AutoExec%,AutoExec_Len%,"nntp kick")
  392AutoExec_line%(9) = FNlocate_line(AutoExec%,AutoExec_Len%,"time server")
  393AutoExec_line%(10) = FNlocate_line(AutoExec%,AutoExec_Len%,"time read")
  394AutoExec_line%(11) = FNlocate_line(AutoExec%,AutoExec_Len%,"smtp gateway")
  395AutoExec_line%(12) = FNlocate_line(AutoExec%,AutoExec_Len%,"smtp trace")
  396AutoExec_line%(13) = FNlocate_line(AutoExec%,AutoExec_Len%,"smtp kick")
  397FOR i% = 1 TO 13
  398  IF AutoExec_line%(i%) <> -1 THEN
  399    AutoExec_text$(i%)=FNline(AutoExec%, AutoExec_line%(i%))
  400  ENDIF
  401NEXT
  402PROCupdate_window
  403ENDPROC
  404
  405DEF PROCputline(file%,text$)
  406:
  407LOCAL I%
  408I% = 1
  409WHILE (ASC(MID$(text$,I%,1))>31)
  410  BPUT#file%,ASC(MID$(text$,I%,1))
  411  I% += 1
  412ENDWHILE
  413BPUT#file%,&0A
  414ENDPROC  
  415
  416DEF PROCputlineplus(file%,mem%,line%,text$)
  417:
  418IF mem% = Config% THEN
  419  IF Config_line%(line%) = -1 THEN
  420    PROCputline(file%,text$)
  421  ELSE
  422    IF Config_line%(line%) > line1% THEN
  423      line2% = Config_line%(line%) :PROCwritelines(file%,mem%,line1%,line2%)
  424      line1% = Config_line%(line%)
  425    ENDIF
  426    PROCputline(file%,Config_text$(line%))
  427  ENDIF
  428  ENDPROC
  429ENDIF  
  430IF mem% = AutoExec% THEN
  431  IF AutoExec_line%(line%) = -1 THEN
  432    PROCputline(file%,text$)
  433  ELSE
  434    IF AutoExec_line%(line%) > line1% THEN
  435      line2% = AutoExec_line%(line%) :PROCwritelines(file%,mem%,line1%,line2%)
  436      line1% = AutoExec_line%(line%)
  437    ENDIF
  438    PROCputline(file%,AutoExec_text$(line%))
  439  ENDIF
  440  ENDPROC
  441ENDIF
  442ENDPROC  
  443
  444DEF PROCwritelines(file%, mem%, l1%, l2%)
  445:
  446LOCAL i%, skip%, j%
  447skip% = FALSE
  448IF l1%>=l2% ENDPROC
  449FOR i%=l1% TO l2%-1
  450 IF mem% = Config% THEN
  451   FOR j% = 1 TO 19 : IF Config_line%(j%) = i% skip% = TRUE
  452   NEXT
  453 ELSE
  454   FOR j% = 1 TO 13 : IF AutoExec_line%(j%) = i% skip% = TRUE
  455   NEXT
  456 ENDIF
  457 IF NOT(skip%) PROCputline(file%,FNline(mem%,i%))  
  458 skip% = FALSE
  459NEXT
  460ENDPROC 
  461
  462DEF FNlocate_line(area%,end%,text$)
  463:
  464LOCAL i%,t$,ptr%
  465i% = 1 : ptr% = 0
  466WHILE ptr%<end%
  467  t$ = FNgetline(area%+ptr%)
  468  IF INSTR(t$,text$) = 1 THEN = i%
  469  ptr% += LEN(t$) : i% += 1
  470ENDWHILE
  471= -1
  472
  473DEF FNlocate_liner(area%,end%,text$)
  474:
  475LOCAL i%,t$,ptr%,len%,len2%
  476len2% = LEN(text$)
  477i% = 1 : ptr% = 0
  478WHILE ptr%<end%
  479  t$ = FNgetline(area%+ptr%) : len%=LEN(t$)
  480  IF INSTR(t$,text$) >= len%-len2%-2 THEN = i%
  481  ptr% += len%
  482ENDWHILE
  483= -1
  484
  485DEF FNline(mem%, index%)
  486:
  487LOCAL i%,j%
  488j% = 0
  489IF index% > 1 THEN
  490  FOR i%=2 TO index%
  491    WHILE ((mem%?j%) >= 32) : j% += 1 : ENDWHILE
  492    j% += 1
  493  NEXT
  494ENDIF
  495= FNgetline(mem%+j%)    
  496
  497DEF FNgetline(mem%)
  498:
  499LOCAL p%,buf$
  500buf$ = "" : p%=0
  501REPEAT
  502  buf$ += CHR$(mem%?p%)
  503  p% += 1
  504UNTIL (p%=254) OR (mem%?p% < 32)
  505buf$ += CHR$(&0D)
  506= buf$
  507
  508DEF PROCupdate_window
  509:
  510LOCAL text$, text2$, left%, right%, ptr%
  511:
  512REM get hostname from line 2
  513text$ = Config_text$(2)
  514left% = INSTR(text$,"hostname")+9 : right% = INSTR(text$,".demon.co.uk")
  515IF right%>left% THEN text2$ = MID$(text$,left%,right%-left%) ELSE text2$=""
  516!block% = demonhand% : block%!4 = 1 : SYS "Wimp_GetIconState",,block%
  517ptr% = block%!28 : $ptr% = text2$
  518block%!8 = 0 : block%!12 = 0 : SYS "Wimp_SetIconState",,block%
  519:
  520REM get IP address from line 3
  521text$ = Config_text$(3)
  522left% = INSTR(text$,"[")+1 : right% = INSTR(text$,"]")
  523IF right%>left% THEN text2$ = MID$(text$,left%,right%-left%) ELSE text2$=""
  524block%!4 = 6 : SYS "Wimp_GetIconState",,block%
  525ptr% = block%!28 : $ptr% = text2$
  526block%!8 = 0 : block%!12 = 0 : SYS "Wimp_SetIconState",,block%
  527:
  528REM get port from line 4
  529text$ = Config_text$(4)
  530ptr% = 0
  531FOR i%=1 TO 2
  532  REPEAT:ptr%+=1:UNTIL (MID$(text$,ptr%,1)=" ") AND (MID$(text$,ptr%+1,1)<>" ")
  533NEXT
  534left% = ptr%
  535FOR i%=1 TO 2
  536  REPEAT:ptr%+=1:UNTIL (MID$(text$,ptr%,1)=" ") AND (MID$(text$,ptr%-1,1)<>" ")
  537NEXT
  538right% = ptr%
  539text2$ = MID$(text$,left%,right%-left%)
  540block%!4 = 4 : SYS "Wimp_GetIconState",,block%
  541ptr% = block%!28 : $ptr% = text2$
  542block%!8 = 0 : block%!12 = 0 : SYS "Wimp_SetIconState",,block%
  543:
  544REM get baud rate from line 4
  545ptr%=LEN(text$)
  546REPEAT:ptr%-=1:UNTIL (MID$(text$,ptr%,1)=" ") AND (MID$(text$,ptr%+1,1)<>" ")
  547text2$ = RIGHT$(text$,LEN(text$)-ptr%)
  548block%!4 = 9 : SYS "Wimp_GetIconState",,block%
  549ptr% = block%!28 : $ptr% = text2$
  550block%!8 = 0 : block%!12 = 0 : SYS "Wimp_SetIconState",,block%
  551:
  552REM get news group prefix from line 7 of AutoExec
  553text$ = AutoExec_text$(7)
  554ptr%=LEN(text$)
  555REPEAT:ptr%-=1:UNTIL (MID$(text$,ptr%,1)=" ") AND (MID$(text$,ptr%+1,1)<>" ")
  556text2$ = RIGHT$(text$,LEN(text$)-ptr%)
  557block%!4 = 14 : SYS "Wimp_GetIconState",,block%
  558ptr% = block%!28 : $ptr% = text2$
  559block%!8 = 0 : block%!12 = 0 : SYS "Wimp_SetIconState",,block%
  560:
  561REM are we kickin' news?
  562IF AutoExec_line%(8) <> -1 THEN
  563  kick_news% = TRUE : block%!4 = 11
  564  block%!8 = &00200000 : block%!12 = &00200000
  565  SYS "Wimp_SetIconState",,block%
  566ELSE  
  567  kick_news% = FALSE : block%!4 = 11
  568  block%!8 = &00000000 : block%!12 = &00200000
  569  SYS "Wimp_SetIconState",,block%
  570ENDIF
  571:
  572REM are we kickin' mail?
  573IF AutoExec_line%(13) <> -1 THEN
  574  kick_news% = FALSE : block%!4 = 12
  575  block%!8 = &00200000 : block%!12 = &00200000
  576  SYS "Wimp_SetIconState",,block%
  577ELSE  
  578  kick_news% = FALSE : block%!4 = 12
  579  block%!8 = &00000000 : block%!12 = &00200000
  580  SYS "Wimp_SetIconState",,block%
  581ENDIF
  582ENDPROC
  583
  584DEF PROCbuild_menus
  585:
  586DIM iconbar_menu% 80, baud_menu% 200, port_menu% 200
  587DIM portsp1% 14,portsp2% 14, portii1% 26, portii2% 26
  588$iconbar_menu%="Set Demon"
  589iconbar_menu%!12 = &00070207
  590iconbar_menu%!16 = &70 : iconbar_menu%!20 = 44 : iconbar_menu%!24 = 0
  591iconbar_menu%!28 = &00 : iconbar_menu%!32 = infohand%
  592iconbar_menu%!36 = &7000021 : $(iconbar_menu% + 40) = "Info"+CHR$(0)
  593iconbar_menu%!52 = &80 : iconbar_menu%!56 = -1
  594iconbar_menu%!60 = &7000021 : $(iconbar_menu% + 64) = "Quit"+CHR$(0)
  595$baud_menu% = "Baud Rate"
  596baud_menu%!12 = &00070207
  597baud_menu%!16 = &80 : baud_menu%!20 = 44 : baud_menu%!24 = 0
  598baud_menu%!28 = &00 : baud_menu%!32 = -1
  599baud_menu%!36 = &7000021 : $(baud_menu% + 40) = "0"
  600baud_menu%!52 = &00 : baud_menu%!56 = -1
  601baud_menu%!60 = &7000021 : $(baud_menu% + 64) = "2400"
  602baud_menu%!76 = &00 : baud_menu%!80 = -1
  603baud_menu%!84 = &7000021 : $(baud_menu% + 88) = "4800"
  604baud_menu%!100 = &00 : baud_menu%!104 = -1
  605baud_menu%!108 = &7000021 : $(baud_menu% + 112) = "9600"
  606baud_menu%!124 = &80 : baud_menu%!128 = -1
  607baud_menu%!132 = &7000021 : $(baud_menu% + 136) = "19200"
  608$port_menu% = "Comms Port"
  609$portsp1% = "Serial Port 0" : $portsp2% = "Serial Port 1"
  610$portii1% = "Intelligent Interfaces 0" : $portii2% = "Intelligent Interfaces 1"
  611port_menu%!12 = &00070207
  612port_menu%!16 = &1A0 : port_menu%!20 = 44 : port_menu%!24 = 0
  613port_menu%!28 = &00 : port_menu%!32 = -1
  614port_menu%!36 = &7000021 : $(port_menu% + 40) = "Internal 0"
  615port_menu%!52 = &00 : port_menu%!56 = -1
  616port_menu%!60 = &7000121 : port_menu%!64 = portsp1%
  617port_menu%!68 = -1 : port_menu%!72 = 14
  618port_menu%!76 = &00 : port_menu%!80 = -1
  619port_menu%!84 = &7000121 : port_menu%!88 = portsp2%
  620port_menu%!92 = -1 : port_menu%!96 = 14
  621port_menu%!100 = &00 : port_menu%!104 = -1
  622port_menu%!108 = &7000121 : port_menu%!112 = portii1%
  623port_menu%!116 = -1 : port_menu%!120 = 14
  624port_menu%!124 = &80 : port_menu%!128 = -1
  625port_menu%!132 = &7000121 : port_menu%!136 = portii2%
  626port_menu%!140 = -1 : port_menu%!144 = 14
  627ENDPROC
  628
  629DEF PROCerror(error$)
  630:
  631!block% = &FF
  632$(block%+4) = error$+CHR$(0)
  633SYS "Wimp_ReportError" ,block%,1,"Set Demon"
  634ENDPROC
  635
  636DEF FNHelp(window%,icon%)
  637:
  638LOCAL text$
  639CASE window% OF
  640WHEN -2 : text$ = "This is the Set Demon application.|M"
  641  text$ += "It sets up the configuration of KA9Q.|M"
  642  text$ += "Click with Select to open the setup window."
  643  =text$
  644WHEN demonhand% : CASE icon% OF
  645  WHEN -1 : = "This is the Set Demon setup window."
  646  WHEN 0 : text$ = "The host name is the leftmost part of your "
  647    text$ += "Internet address, the rest being .demon.co.uk"
  648    =text$
  649  WHEN 1 : text$ = "Type your host name in here. For example"
  650    text$ += " at Acorn User we would type 'acornusr', as "
  651    text$ += "our sitename on Internet is 'acornusr.demon.co.uk'."
  652    =text$
  653  WHEN 2 : text$ = "The program assumes that you have a demon account."
  654    =text$
  655  WHEN 5 : text$ = "The IP address is the number which uniquely identifies"
  656    text$ += " your Internet site.|MIt has the form xxx.xxx.xxx.xxx, with "
  657    text$ += "numbers in place of the xs."
  658    =text$
  659  WHEN 6 : text$ = "Type your IP address in here. You will be told "
  660    text$ += "this when you log on.|MAt Acorn User, we would type "
  661    text$ += "'158.152.11.240' here."
  662    = text$
  663  WHEN 4 : text$ = "This is the communications port to be used. Only"
  664    text$ += " change this if you have extra serial ports added on an"
  665    text$ += " expansion card. Change this by using the pop up menu "
  666    text$ += "to the right."
  667    =text$
  668  WHEN 3 : text$ = "This enables you to specify other ports than the "
  669    text$ += "'internal' serial port that comes with your machine."
  670    =text$
  671  WHEN 7 : text$ = "Click on this icon to choose the communications port "
  672    text$ += "to be used. Only use this if you have the relevant "
  673    text$ += " expansion card from The Serial Port or Intelligent "
  674    text$ += "Interfaces."
  675    =text$
  676  WHEN 8 : text$ = "This is the speed that your comms port runs at."
  677    =text$
  678  WHEN 9 : text$ = "Type in the baud rate to be used here. Your dialler "
  679    text$ += "should also use this rate. Baud rates can be chosen by "
  680    text$ += "using the pop up menu to the right.|MIf you type zero here"
  681    text$ += " KA9Q will use the rate set by your dialler."
  682    =text$
  683  WHEN 10 : = "Click on this to choose a baud rate to be used."
  684  WHEN 11 : text$ = "When this option is selected, KA9Q will start downloading "
  685    text$ += "news as soon as it is run."
  686    =text$
  687  WHEN 12 : text$ = "When this option is selected, KA9Q will start the mail "
  688    text$ += "server as soon as it is run."
  689    =text$
  690  WHEN 13 : text$ = "This prefix will be used by KA9Q to identify news files."
  691    text$ += "|M'Dem' is KA9Q's default, and there is no actual need to "
  692    text$ += "use anything different."
  693    =text$
  694  WHEN 14 : text$ = "Type in the prefix for KA9Q news files here. You do not "
  695    text$ += "need to change this; if you do, and don't set up the "
  696    text$ += "corresponding Group "
  697    text$ += " and Last files within KA9Q, Set Demon will set up defaults."
  698    =text$
  699  WHEN 15 : text$ = "Click on this icon to save the configuration files "
  700    text$ += "within Set Demon (in the !SetDemon.ToKA9Q directory)."
  701    =text$
  702  WHEN 16 : text$ = "Click on this icon to load the configuration files "
  703    text$ += "stored within Set Demon."
  704    = text$
  705  WHEN 17 : text$ = "Click on this icon to save the configuration files "
  706    text$ += "inside KA9Q. Note that this will overwrite any files already "
  707    text$ += "present, so make sure that you have a backup."
  708    =text$
  709  WHEN 18 : text$ = "Click on this icon to load the Config and AutoExec "
  710    text$ += "files from within KA9Q."
  711  ENDCASE  
  712ENDCASE
  713text$ = ""
  714=text$
  715
  716DEF PROCdefaults
  717:
  718DIM Config% 5, AutoExec% 5 : !Config% = 0 : !AutoExec% = 0
  719FOR i% = 1 TO 19
  720  Config_line%(i%) = -1 : READ Config_text$(i%)
  721NEXT
  722FOR i% = 1 TO 13
  723  AutoExec_line%(i%) = -1 : READ AutoExec_text$(i%)
  724NEXT
  725DATA "window terminal internal"
  726DATA "hostname .demon.co.uk","ip address []"
  727DATA "attach asy internal 0 slip ax0 2048 1500 9600"
  728DATA "route add default ax0 [158.152.1.71] 1"
  729DATA "ip ttl 64", "#window cursor off", "tcp mss 1460"
  730DATA "tcp irtt 30000", "tcp window 14600", "tcp hangup 15 3"
  731DATA "domain suffix demon.co.uk", "log <TCPIP$Dir>.logfile"
  732DATA "start echo", "start discard", "start ftp", "start smtp"
  733DATA "start finger", "start telnet"
  734DATA "finger motd@gate.demon.co.uk"
  735DATA "finger�@post.demon.co.uk", "nntp trace 2"
  736DATA "nntp fudge 120", "nntp direct on", "nntp batch 8"
  737DATA "nntp addserver news.demon.co.uk 600 Dem", "nntp kick news.demon.co.uk"
  738DATA "time server ntp.demon.co.uk", "time read"
  739DATA "smtp gateway [158.152.1.72]", "smtp trace 1", "smtp kick"
  740ENDPROC
  741
� > <SetDemon$Dir>.SetDemon
� � � �$;" at line ";�:�
:
	�init
ȕ � quit%
  �wimppoll
�
ș "Wimp_CloseDown"
	�


� �init
:

� block% 256, block2% 256
*� Config_line%(20), AutoExec_line%(14)
*� Config_text$(20), AutoExec_text$(14)

quit% = �
:
"ș "OS_Byte",&101,0,&FF � ,os%
-� os%>&A3 � RiscOS% = 310 � RiscOS% = 200

� list% 3
!list% = 0
Kș "Wimp_Initialise",RiscOS%,&4B534154,"SetDemon",list% � RiscOS%,task%
=� � �error(�$+" at line "+�(�)) : ș "Wimp_CloseDown" : �
:

�defaults
#kick_news% = � : kick_mail% = �
:
&file% = � "<SetDemon$Dir>.Sprites"
area_size% = (�#file%) + 4
�# file%
� sprite_area% area_size%
 !sprite_area% = area_size%
!sprite_area%!8 = 16
"&ș "OS_SpriteOp",&109,sprite_area%
#?ș "OS_SpriteOp",&10A,sprite_area%,"<SetDemon$Dir>.Sprites"
$:
%6ș "Wimp_OpenTemplate",,"<SetDemon$Dir>.Templates"
&;� window_block% 4000,info% 200,demon% 1000,win_name% 12
'$win_name% = "Demon"
(Kș "Wimp_LoadTemplate",,window_block%,demon%,demon%+1000,-1,win_name%,0
)#window_block%!64 = sprite_area%
*6ș "Wimp_CreateWindow",,window_block% � demonhand%
+$win_name% = "info"
,Hș "Wimp_LoadTemplate",,window_block%,info%,info%+200,-1,win_name%,0
-5ș "Wimp_CreateWindow",,window_block% � infohand%
.ș "Wimp_CloseTemplate"
/:
0�build_menus
1:
2!block% = -1
3Ablock%!4 = 0 : block%!8 = 0 : block%!12 = 68 : block%!16 = 68
4block%!20 = &3002
5$(block%+24) = "!setdemon"
6+ș "Wimp_CreateIcon",,block% � iconbar%
7:
8<ș "XOS_ReadVarVal","TCPIP$Dir",block%,&FF,0,3 � ,,read%
9� read% = 0 �
:(  ka9qdir$ = "<SetDemon$Dir>.ToKA9Q"
;l  �error("!TCPIP has not been seen by the filer; you will only be able to store files within !SetDemon")
<Q  !block%=demonhand% : block%!4=17 : block%!8=&00800000 : block%!12=&00800000
=$  ș "Wimp_SetIconState",,block%
>Q  !block%=demonhand% : block%!4=18 : block%!8=&00800000 : block%!12=&00800000
?$  ș "Wimp_SetIconState",,block%
@  block%!4 = 15
A$  ș "Wimp_GetIconState",,block%
B,  valid% = block%!32 : $valid% = "R6,3" 
C�
D  ka9qdir$ = "<TCPIP$Dir>"
E�
F�
G
H� �wimppoll
I:
J*ș "Wimp_Poll" ,&1811,block% � reason%
KȎ reason% �
L2� Reason codes marked * should not be returned
M� 1: � Redraw window *
N&� 2: ș "Wimp_OpenWindow" ,,block%
O'� 3: ș "Wimp_CloseWindow" ,,block%
P� 6: �mouse_click
Q� 7: � Drag Box *
R� 8: �keypress
S� 9: �menuchoice
T� 10: � Scroll request *
U� 13: � Non-zero *
V� 17: �user_message
W� 18: �user_message
X&� 19: � User message acknowledge *
Y�
Z�
[
\� �mouse_click
]:
^Ȏ block%!12 �
_� -2 : �iconbarclick
`� demonhand% : �windowclick
a�
b�
c
d� �iconbarclick
e:
f� block%!8 = 2 �
g9  ș "Wimp_CreateMenu" ,,iconbar_menu%,!block%-64,188
h  openmenu% = iconbar_menu%
i�
j  !block% = demonhand%
k&  ș "Wimp_GetWindowState",,block%
l"  ș "Wimp_OpenWindow",,block%
m�
n�
o
p� �windowclick
q:
r� xpos%,ypos%
s;� block%!16 = 7  �popupmenu(demonhand%, 7,port_menu%):�
t?� block%!16 = 10 �popupmenu(demonhand%,10,baud_menu%):�    
u� block%!8 = 2 �
v>  ș "Wimp_CreateMenu" ,,iconbar_menu%,!block%-64,block%!4
w  openmenu% = iconbar_menu%
x�
y  Ȏ block%!16 �
z$  � 11,12 : !block% = demonhand%
{?    block%!4=block%!16 : block%!8=&00200000 : block%!12 = 0
|'    ș "Wimp_SetIconState",,block% 
}/  � 15 : �save131b("<SetDemon$Dir>.ToKA9Q")
~/  � 16 : �load131b("<SetDemon$Dir>.ToKA9Q")
   � 17 : �save131b(ka9qdir$)
�   � 18 : �load131b(ka9qdir$)
�  �
��
��
�
�%� �popupmenu(handle%,icon%,menu%)
�:
�� xpos%,ypos%
�!block% = handle%
�$ș "Wimp_GetWindowState",,block%
�@xpos% = block%!4 - block%!20 : ypos% = block%!16 - block%!24
�block%!4 = icon%
�"ș "Wimp_GetIconState",,block%
�4xpos% += block%!16 + 4 : ypos% += block%!12 + 44
�+ș "Wimp_CreateMenu",,menu%,xpos%,ypos%
�openmenu% = menu%
��
�
�� �keypress
�:
�� key%, icon%
�� !block% <> demonhand% �
�key% = block%!24
�� key% = 13 �
�:  � ka9qdir$ = "<TCPIP$Dir>" � icon% = 17 � icon% = 15
�A  block%!4=icon% : block%!8=&00200000 : block%!12 = &00200000
�$  ș "Wimp_SetIconState",,block%
�?  block%!16 = icon% : block%!12 = demonhand% : block%!8 = 3
�  �windowclick
�P  !block% = demonhand% : block%!4=icon% : block%!8=0 : block%!12 = &00200000
�$  ș "Wimp_SetIconState",,block%
��
��
�
�� �menuchoice
�:
�Ȏ openmenu% �
�%� iconbar_menu% : �decode_iconbar
�� baud_menu% : �decode_baud
�� port_menu% : �decode_port
��
�%ș "Wimp_GetPointerInfo" ,,block%
�3� block%!8=1 � ș "Wimp_CreateMenu" ,,openmenu%
��
�
�� �decode_iconbar
�:
�Ȏ !block% �
�$� 0 : � do nothing - info chosen
�� 1 : quit% = �
��
��
�
�� �decode_baud
�:
�
� ptr%
�)!block2% = demonhand% : block2%!4 = 9
�#ș "Wimp_GetIconState",,block2%
�ptr% = block2%!28
�0ș "Wimp_DecodeMenu",,baud_menu%,block%,ptr%
�"block2%!8 = 0 : block2%!12 = 0
�#ș "Wimp_SetIconState",,block2%
��
�
�� �decode_port
�:
�
� ptr%
�)!block2% = demonhand% : block2%!4 = 4
�#ș "Wimp_GetIconState",,block2%
�ptr% = block2%!28
�Ȏ !block% �
�� 0 : $ptr% = "internal 0"
�� 1 : $ptr% = "sp_dual 0"
�� 2 : $ptr% = "sp_dual 1"
�� 3 : $ptr% = "ii_dual 0"
�� 4 : $ptr% = "ii_dual 1"
��
�"block2%!8 = 0 : block2%!12 = 0
�#ș "Wimp_SetIconState",,block2%
��
�
�� �user_message
�:
�Ȏ block%!&10 �
�� 0 : quit%=�
�� &502 : block%!&10 = &503
�)text$ = �Help(block%!&20, block%!&24)
�F$(block%+&14) = text$+�(0) : !block% = 20 + ((�(text$)+4) � 4) * 4
�,task% = block%!4 : block%!&0C = block%!8
�)ș "Wimp_SendMessage",17,block%,task%
��
��
�
�� �save131b(dir$)
�:
�D� handle%, ptr%, text$, host$, newsgroup$, kick%, line1%, line2%
�handle%=�(dir$+".Config")
�� handle% = 0 �
�2  �error("Error opening file "+dir$+".Config")
�  ș "Wimp_Closedown"
�  �
��
�line1% = 1 : line2% = 1
�text$ = �line(Config%,1)
�t� �text$,"# Configuration file written by") <> 1 � �putline(handle%,"# Configuration file written by Set Demon")
�>�putlineplus(handle%,Config%,1,"window terminal internal")
�I!block% = demonhand% : block%!4 = 1 : ș "Wimp_GetIconState" ,,block%
�$ptr% = block%!28 : host$ = $ptr%
�8�putline(handle%,"hostname "+host$ + ".demon.co.uk")
� � Config_line%(2) > line1% �
�  line2% = Config_line%(2)
�3  �writelines(handle%, Config%, line1%, line2%)
�  line1% = Config_line%(2)
��
�1block%!4 = 6 : ș "Wimp_GetIconState",,block%
�;ptr% = block%!28 : text$ = "ip address [" + $ptr% + "]"
��putline(handle%,text$)
� � Config_line%(3) > line1% �
�  line2% = Config_line%(3)
�3  �writelines(handle%, Config%, line1%, line2%)
�  line1% = Config_line%(3)
��
�1block%!4 = 4 : ș "Wimp_GetIconState",,block%
�Hptr% = block%!28 : text$ = "attach asy "+$ptr%+" slip ax0 2048 576 "
�1block%!4 = 9 : ș "Wimp_GetIconState",,block%
�%ptr% = block%!28 : text$ += $ptr%
��putline(handle%,text$)
�� Config_line%(4) >line1% �
  line2% = Config_line%(4)
3  �writelines(handle%, Config%, line1%, line2%)
  line1% = Config_line%(4)
�
L�putlineplus(handle%,Config%,5,"route add default ax0 [158.152.1.71] 1")
/�putlineplus(handle%,Config%,6,"ip ttl 64")
8�putlineplus(handle%,Config%,7,"#window cursor off")
1�putlineplus(handle%,Config%,8,"tcp mss 536")
4�putlineplus(handle%,Config%,9,"tcp irtt 30000")
	6�putlineplus(handle%,Config%,10,"tcp window 5360")

6�putlineplus(handle%,Config%,11,"tcp hangup 15 3")
@�putlineplus(handle%,Config%,12,"domain suffix demon.co.uk")
>�putlineplus(handle%,Config%,13,"log <TCPIP$Dir>.logfile")

1�putlineplus(handle%,Config%,14,"start echo")
4�putlineplus(handle%,Config%,15,"start discard")
0�putlineplus(handle%,Config%,16,"start ftp")
1�putlineplus(handle%,Config%,17,"start smtp")
3�putlineplus(handle%,Config%,18,"start finger")
3�putlineplus(handle%,Config%,19,"start telnet")

�#handle%
&� ("Settype "+dir$+".Config TEXT")
!handle% = �(dir$+".AutoExec")
D�putlineplus(handle%,AutoExec%,1,"finger motd@gate.demon.co.uk")
9�putline(handle%,"finger "+host$+"@post.demon.co.uk")
"� AutoExec_line%(2) > line1% �
   line2% = AutoExec_line%(2)
5  �writelines(handle%, AutoExec%, line1%, line2%)
   line1% = AutoExec_line%(2)
�
4�putlineplus(handle%,AutoExec%,3,"nntp trace 2")
6�putlineplus(handle%,AutoExec%,4,"nntp fudge 120")
6�putlineplus(handle%,AutoExec%,5,"nntp direct on")
 4�putlineplus(handle%,AutoExec%,6,"nntp batch 8")
!2block%!4 = 14 : ș "Wimp_GetIconState",,block%
"*ptr% = block%!28 : newsgroup$ += $ptr%
#G�putline(handle%,"nntp addserver news.demon.co.uk 600 "+newsgroup$)
$"� AutoExec_line%(7) > line1% �
%   line2% = AutoExec_line%(7)
&5  �writelines(handle%, AutoExec%, line1%, line2%)
'   line1% = AutoExec_line%(7)
(�
)2block%!4 = 11 : ș "Wimp_GetIconState",,block%
*!� ((block%!26) � &20) = &20 �
+4  �putline(handle%,"nntp kick news.demon.co.uk")
,�
-5  �putline(handle%,"#nntp kick news.demon.co.uk")
.�
/"� AutoExec_line%(8) > line1% �
0   line2% = AutoExec_line%(8)
15  �writelines(handle%, AutoExec%, line1%, line2%)
2   line1% = AutoExec_line%(8)
3�
4C�putlineplus(handle%,AutoExec%,9,"time server ntp.demon.co.uk")
52�putlineplus(handle%,AutoExec%,10,"time read")
6D�putlineplus(handle%,AutoExec%,11,"smtp gateway [158.152.1.72]")
75�putlineplus(handle%,AutoExec%,12,"smtp trace 1")
82block%!4 = 12 : ș "Wimp_GetIconState",,block%
9!� ((block%!26) � &20) = &20 �
:#  �putline(handle%,"smtp kick")
;�
<$  �putline(handle%,"#smtp kick")
=�
>�# handle%
?(� ("Settype "+dir$+".AutoExec TEXT")
@(group$ = dir$+"."+newsgroup$+"Group"
Ahandle% = �(group$)
B� handle% = 0 �
C@  �("COPY <SetDemon$Dir>.ToKA9Q.DemGroupd "+group$+" ~V~CF")
D�
E  �#handle%
F�  
G'group$ = dir$+"."+newsgroup$+"Last"
Hhandle% = �(group$)
I� handle% = 0 �
J  handle% = �(group$)
K,  !block2% = 3 : ș "OS_Word",14,block2%
LH  ș "OS_ConvertDateAndTime",block2%,block%,255,"%YR%MN%DY%24%MI%SE"
M#  �putline(handle%,�$block%,6))
N%  �putline(handle%,�$block%,7,6))
O�
P�# handle%
Q2� ("Settype "+dir$+"."+newsgroup$+"Last TEXT")
R�
S
T� �load131b(dir$)
U:
V� i% = 1 � 19
W  Config_line%(i%) = -1
X�
Y� i% = 1 � 13
Z  AutoExec_line%(i%) = -1
[�
\handle% = �(dir$+".Config")
]>� handle% = 0 �error("File "+dir$+".Config not found") : �
^Config_Len% = �#handle%
_� Config% Config_Len%
`�# handle%
a*�("LOAD "+dir$+".Config "+�~(Config%))
bIConfig_line%(1) = �locate_line(Config%,Config_Len%,"window terminal")
cBConfig_line%(2) = �locate_line(Config%,Config_Len%,"hostname")
dDConfig_line%(3) = �locate_line(Config%,Config_Len%,"ip address")
eAConfig_line%(4) = �locate_line(Config%,Config_Len%,"attach ")
fCConfig_line%(5) = �locate_line(Config%,Config_Len%,"route add")
g@Config_line%(6) = �locate_line(Config%,Config_Len%,"ip ttl")
hGConfig_line%(7) = �locate_line(Config%,Config_Len%,"window cursor")
iAConfig_line%(8) = �locate_line(Config%,Config_Len%,"tcp mss")
jBConfig_line%(9) = �locate_line(Config%,Config_Len%,"tcp irtt")
kEConfig_line%(10) = �locate_line(Config%,Config_Len%,"tcp window")
lEConfig_line%(11) = �locate_line(Config%,Config_Len%,"tcp hangup")
mHConfig_line%(12) = �locate_line(Config%,Config_Len%,"domain suffix")
n?Config_line%(13) = �locate_line(Config%,Config_Len%,"log ")
oEConfig_line%(14) = �locate_line(Config%,Config_Len%,"start echo")
pHConfig_line%(15) = �locate_line(Config%,Config_Len%,"start discard")
qDConfig_line%(16) = �locate_line(Config%,Config_Len%,"start ftp")
rEConfig_line%(17) = �locate_line(Config%,Config_Len%,"start smtp")
sGConfig_line%(18) = �locate_line(Config%,Config_Len%,"start finger")
tGConfig_line%(19) = �locate_line(Config%,Config_Len%,"start telnet")
u� i% = 1 � 19
v   � Config_line%(i%) <> -1 �
w9    Config_text$(i%)=�line(Config%, Config_line%(i%))
x  �
y�
z!handle% = �(dir$+".AutoExec")
{@� handle% = 0 �error("File "+dir$+".AutoExec not found") : �
|AutoExec_Len% = �#handle%
}� AutoExec% AutoExec_Len%
~�# handle%
.�("LOAD "+dir$+".AutoExec "+�~(AutoExec%))
�KAutoExec_line%(1) = �locate_line(AutoExec%,AutoExec_Len%,"finger motd")
�QAutoExec_line%(2) = �locate_liner(AutoExec%,AutoExec_Len%,"post.demon.co.uk")
�JAutoExec_line%(3) = �locate_line(AutoExec%,AutoExec_Len%,"nntp trace")
�JAutoExec_line%(4) = �locate_line(AutoExec%,AutoExec_Len%,"nntp fudge")
�KAutoExec_line%(5) = �locate_line(AutoExec%,AutoExec_Len%,"nntp direct")
�JAutoExec_line%(6) = �locate_line(AutoExec%,AutoExec_Len%,"nntp batch")
�NAutoExec_line%(7) = �locate_line(AutoExec%,AutoExec_Len%,"nntp addserver")
�IAutoExec_line%(8) = �locate_line(AutoExec%,AutoExec_Len%,"nntp kick")
�KAutoExec_line%(9) = �locate_line(AutoExec%,AutoExec_Len%,"time server")
�JAutoExec_line%(10) = �locate_line(AutoExec%,AutoExec_Len%,"time read")
�MAutoExec_line%(11) = �locate_line(AutoExec%,AutoExec_Len%,"smtp gateway")
�KAutoExec_line%(12) = �locate_line(AutoExec%,AutoExec_Len%,"smtp trace")
�JAutoExec_line%(13) = �locate_line(AutoExec%,AutoExec_Len%,"smtp kick")
�� i% = 1 � 13
�"  � AutoExec_line%(i%) <> -1 �
�?    AutoExec_text$(i%)=�line(AutoExec%, AutoExec_line%(i%))
�  �
��
��update_window
��
�
�� �putline(file%,text$)
�:
�� I%
�
I% = 1
�ȕ (�(�text$,I%,1))>31)
�  �#file%,�(�text$,I%,1))
�
  I% += 1
��
��#file%,&0A
��  
�
�*� �putlineplus(file%,mem%,line%,text$)
�:
�� mem% = Config% �
�"  � Config_line%(line%) = -1 �
�    �putline(file%,text$)
�  �
�(    � Config_line%(line%) > line1% �
�M      line2% = Config_line%(line%) :�writelines(file%,mem%,line1%,line2%)
�&      line1% = Config_line%(line%)
�	    �
�+    �putline(file%,Config_text$(line%))
�  �
�  �
��  
�� mem% = AutoExec% �
�$  � AutoExec_line%(line%) = -1 �
�    �putline(file%,text$)
�  �
�*    � AutoExec_line%(line%) > line1% �
�O      line2% = AutoExec_line%(line%) :�writelines(file%,mem%,line1%,line2%)
�(      line1% = AutoExec_line%(line%)
�	    �
�-    �putline(file%,AutoExec_text$(line%))
�  �
�  �
��
��  
�
�(� �writelines(file%, mem%, l1%, l2%)
�:
�� i%, skip%, j%
�
skip% = �
�� l1%>=l2% �
�� i%=l1% � l2%-1
� � mem% = Config% �
�8   � j% = 1 � 19 : � Config_line%(j%) = i% skip% = �
�   �
� �
�:   � j% = 1 � 13 : � AutoExec_line%(j%) = i% skip% = �
�   �
� �
�0 � �(skip%) �putline(file%,�line(mem%,i%))  
� skip% = �
��
�� 
�
�$� �locate_line(area%,end%,text$)
�:
�� i%,t$,ptr%
�i% = 1 : ptr% = 0
�ȕ ptr%<end%
�  t$ = �getline(area%+ptr%)
�  � �t$,text$) = 1 � = i%
�  ptr% += �(t$) : i% += 1
��
�= -1
�
�%� �locate_liner(area%,end%,text$)
�:
�� i%,t$,ptr%,len%,len2%
�len2% = �(text$)
�i% = 1 : ptr% = 0
�ȕ ptr%<end%
�,  t$ = �getline(area%+ptr%) : len%=�(t$)
�)  � �t$,text$) >= len%-len2%-2 � = i%
�  ptr% += len%
��
�= -1
�
�� �line(mem%, index%)
�:
�� i%,j%
�
j% = 0
�� index% > 1 �
�  � i%=2 � index%
�*    ȕ ((mem%?j%) >= 32) : j% += 1 : �
�    j% += 1
�  �
��
�= �getline(mem%+j%)    
�
�� �getline(mem%)
�:
�
� p%,buf$
�buf$ = "" : p%=0
��
�  buf$ += �(mem%?p%)
�
  p% += 1
�� (p%=254) � (mem%?p% < 32)
�buf$ += �(&0D)
�
= buf$
�
�� �update_window
�:
�(� text$, text2$, left%, right%, ptr%
�:
� get hostname from line 2
text$ = Config_text$(2)
Bleft% = �text$,"hostname")+9 : right% = �text$,".demon.co.uk")
D� right%>left% � text2$ = �text$,left%,right%-left%) � text2$=""
H!block% = demonhand% : block%!4 = 1 : ș "Wimp_GetIconState",,block%
%ptr% = block%!28 : $ptr% = text2$
Ablock%!8 = 0 : block%!12 = 0 : ș "Wimp_SetIconState",,block%
:
 � get IP address from line 3
	text$ = Config_text$(3)

0left% = �text$,"[")+1 : right% = �text$,"]")
D� right%>left% � text2$ = �text$,left%,right%-left%) � text2$=""
1block%!4 = 6 : ș "Wimp_GetIconState",,block%

%ptr% = block%!28 : $ptr% = text2$
Ablock%!8 = 0 : block%!12 = 0 : ș "Wimp_SetIconState",,block%
:
� get port from line 4
text$ = Config_text$(4)
ptr% = 0
� i%=1 � 2
@  �:ptr%+=1:� (�text$,ptr%,1)=" ") � (�text$,ptr%+1,1)<>" ")
�
left% = ptr%
� i%=1 � 2
@  �:ptr%+=1:� (�text$,ptr%,1)=" ") � (�text$,ptr%-1,1)<>" ")
�
right% = ptr%
'text2$ = �text$,left%,right%-left%)
1block%!4 = 4 : ș "Wimp_GetIconState",,block%
%ptr% = block%!28 : $ptr% = text2$
Ablock%!8 = 0 : block%!12 = 0 : ș "Wimp_SetIconState",,block%
:
 � get baud rate from line 4
!ptr%=�(text$)
">�:ptr%-=1:� (�text$,ptr%,1)=" ") � (�text$,ptr%+1,1)<>" ")
#"text2$ = �text$,�(text$)-ptr%)
$1block%!4 = 9 : ș "Wimp_GetIconState",,block%
%%ptr% = block%!28 : $ptr% = text2$
&Ablock%!8 = 0 : block%!12 = 0 : ș "Wimp_SetIconState",,block%
':
(3� get news group prefix from line 7 of AutoExec
)text$ = AutoExec_text$(7)
*ptr%=�(text$)
+>�:ptr%-=1:� (�text$,ptr%,1)=" ") � (�text$,ptr%+1,1)<>" ")
,"text2$ = �text$,�(text$)-ptr%)
-2block%!4 = 14 : ș "Wimp_GetIconState",,block%
.%ptr% = block%!28 : $ptr% = text2$
/Ablock%!8 = 0 : block%!12 = 0 : ș "Wimp_SetIconState",,block%
0:
1� are we kickin' news?
2� AutoExec_line%(8) <> -1 �
3$  kick_news% = � : block%!4 = 11
42  block%!8 = &00200000 : block%!12 = &00200000
5$  ș "Wimp_SetIconState",,block%
6�  
7$  kick_news% = � : block%!4 = 11
82  block%!8 = &00000000 : block%!12 = &00200000
9$  ș "Wimp_SetIconState",,block%
:�
;:
<� are we kickin' mail?
= � AutoExec_line%(13) <> -1 �
>$  kick_news% = � : block%!4 = 12
?2  block%!8 = &00200000 : block%!12 = &00200000
@$  ș "Wimp_SetIconState",,block%
A�  
B$  kick_news% = � : block%!4 = 12
C2  block%!8 = &00000000 : block%!12 = &00200000
D$  ș "Wimp_SetIconState",,block%
E�
F�
G
H� �build_menus
I:
J6� iconbar_menu% 80, baud_menu% 200, port_menu% 200
K7� portsp1% 14,portsp2% 14, portii1% 26, portii2% 26
L$iconbar_menu%="Set Demon"
M iconbar_menu%!12 = &00070207
NIiconbar_menu%!16 = &70 : iconbar_menu%!20 = 44 : iconbar_menu%!24 = 0
O9iconbar_menu%!28 = &00 : iconbar_menu%!32 = infohand%
PEiconbar_menu%!36 = &7000021 : $(iconbar_menu% + 40) = "Info"+�(0)
Q2iconbar_menu%!52 = &80 : iconbar_menu%!56 = -1
REiconbar_menu%!60 = &7000021 : $(iconbar_menu% + 64) = "Quit"+�(0)
S$baud_menu% = "Baud Rate"
Tbaud_menu%!12 = &00070207
U@baud_menu%!16 = &80 : baud_menu%!20 = 44 : baud_menu%!24 = 0
V,baud_menu%!28 = &00 : baud_menu%!32 = -1
W7baud_menu%!36 = &7000021 : $(baud_menu% + 40) = "0"
X,baud_menu%!52 = &00 : baud_menu%!56 = -1
Y:baud_menu%!60 = &7000021 : $(baud_menu% + 64) = "2400"
Z,baud_menu%!76 = &00 : baud_menu%!80 = -1
[:baud_menu%!84 = &7000021 : $(baud_menu% + 88) = "4800"
\.baud_menu%!100 = &00 : baud_menu%!104 = -1
]<baud_menu%!108 = &7000021 : $(baud_menu% + 112) = "9600"
^.baud_menu%!124 = &80 : baud_menu%!128 = -1
_=baud_menu%!132 = &7000021 : $(baud_menu% + 136) = "19200"
`$port_menu% = "Comms Port"
a=$portsp1% = "Serial Port 0" : $portsp2% = "Serial Port 1"
bS$portii1% = "Intelligent Interfaces 0" : $portii2% = "Intelligent Interfaces 1"
cport_menu%!12 = &00070207
dAport_menu%!16 = &1A0 : port_menu%!20 = 44 : port_menu%!24 = 0
e,port_menu%!28 = &00 : port_menu%!32 = -1
f@port_menu%!36 = &7000021 : $(port_menu% + 40) = "Internal 0"
g,port_menu%!52 = &00 : port_menu%!56 = -1
h7port_menu%!60 = &7000121 : port_menu%!64 = portsp1%
i+port_menu%!68 = -1 : port_menu%!72 = 14
j,port_menu%!76 = &00 : port_menu%!80 = -1
k7port_menu%!84 = &7000121 : port_menu%!88 = portsp2%
l+port_menu%!92 = -1 : port_menu%!96 = 14
m.port_menu%!100 = &00 : port_menu%!104 = -1
n9port_menu%!108 = &7000121 : port_menu%!112 = portii1%
o-port_menu%!116 = -1 : port_menu%!120 = 14
p.port_menu%!124 = &80 : port_menu%!128 = -1
q9port_menu%!132 = &7000121 : port_menu%!136 = portii2%
r-port_menu%!140 = -1 : port_menu%!144 = 14
s�
t
u� �error(error$)
v:
w!block% = &FF
x$(block%+4) = error$+�(0)
y/ș "Wimp_ReportError" ,block%,1,"Set Demon"
z�
{
|� �Help(window%,icon%)
}:
~� text$
Ȏ window% �
�9� -2 : text$ = "This is the Set Demon application.|M"
�8  text$ += "It sets up the configuration of KA9Q.|M"
�<  text$ += "Click with Select to open the setup window."
�  =text$
�� demonhand% : Ȏ icon% �
�4  � -1 : = "This is the Set Demon setup window."
�A  � 0 : text$ = "The host name is the leftmost part of your "
�@    text$ += "Internet address, the rest being .demon.co.uk"
�    =text$
�>  � 1 : text$ = "Type your host name in here. For example"
�?    text$ += " at Acorn User we would type 'acornusr', as "
�F    text$ += "our sitename on Internet is 'acornusr.demon.co.uk'."
�    =text$
�H  � 2 : text$ = "The program assumes that you have a demon account."
�    =text$
�L  � 5 : text$ = "The IP address is the number which uniquely identifies"
�O    text$ += " your Internet site.|MIt has the form xxx.xxx.xxx.xxx, with "
�.    text$ += "numbers in place of the xs."
�    =text$
�E  � 6 : text$ = "Type your IP address in here. You will be told "
�G    text$ += "this when you log on.|MAt Acorn User, we would type "
�)    text$ += "'158.152.11.240' here."
�    = text$
�F  � 4 : text$ = "This is the communications port to be used. Only"
�J    text$ += " change this if you have extra serial ports added on an"
�I    text$ += " expansion card. Change this by using the pop up menu "
�     text$ += "to the right."
�    =text$
�G  � 3 : text$ = "This enables you to specify other ports than the "
�G    text$ += "'internal' serial port that comes with your machine."
�    =text$
�K  � 7 : text$ = "Click on this icon to choose the communications port "
�F    text$ += "to be used. Only use this if you have the relevant "
�G    text$ += " expansion card from The Serial Port or Intelligent "
�    text$ += "Interfaces."
�    =text$
�E  � 8 : text$ = "This is the speed that your comms port runs at."
�    =text$
�J  � 9 : text$ = "Type in the baud rate to be used here. Your dialler "
�J    text$ += "should also use this rate. Baud rates can be chosen by "
�M    text$ += "using the pop up menu to the right.|MIf you type zero here"
�?    text$ += " KA9Q will use the rate set by your dialler."
�    =text$
�@  � 10 : = "Click on this to choose a baud rate to be used."
�Q  � 11 : text$ = "When this option is selected, KA9Q will start downloading "
�-    text$ += "news as soon as it is run."
�    =text$
�N  � 12 : text$ = "When this option is selected, KA9Q will start the mail "
�/    text$ += "server as soon as it is run."
�    =text$
�O  � 13 : text$ = "This prefix will be used by KA9Q to identify news files."
�M    text$ += "|M'Dem' is KA9Q's default, and there is no actual need to "
�*    text$ += "use anything different."
�    =text$
�O  � 14 : text$ = "Type in the prefix for KA9Q news files here. You do not "
�H    text$ += "need to change this; if you do, and don't set up the "
�'    text$ += "corresponding Group "
�O    text$ += " and Last files within KA9Q, Set Demon will set up defaults."
�    =text$
�J  � 15 : text$ = "Click on this icon to save the configuration files "
�H    text$ += "within Set Demon (in the !SetDemon.ToKA9Q directory)."
�    =text$
�J  � 16 : text$ = "Click on this icon to load the configuration files "
�+    text$ += "stored within Set Demon."
�    = text$
�J  � 17 : text$ = "Click on this icon to save the configuration files "
�P    text$ += "inside KA9Q. Note that this will overwrite any files already "
�@    text$ += "present, so make sure that you have a backup."
�    =text$
�J  � 18 : text$ = "Click on this icon to load the Config and AutoExec "
�*    text$ += "files from within KA9Q."
�	  �  
��
�text$ = ""
�
=text$
�
�� �defaults
�:
�<� Config% 5, AutoExec% 5 : !Config% = 0 : !AutoExec% = 0
�� i% = 1 � 19
�0  Config_line%(i%) = -1 : � Config_text$(i%)
��
�� i% = 1 � 13
�4  AutoExec_line%(i%) = -1 : � AutoExec_text$(i%)
��
� � "window terminal internal"
�-� "hostname .demon.co.uk","ip address []"
�5� "attach asy internal 0 slip ax0 2048 1500 9600"
�.� "route add default ax0 [158.152.1.71] 1"
�7� "ip ttl 64", "#window cursor off", "tcp mss 1460"
�=� "tcp irtt 30000", "tcp window 14600", "tcp hangup 15 3"
�<� "domain suffix demon.co.uk", "log <TCPIP$Dir>.logfile"
�>� "start echo", "start discard", "start ftp", "start smtp"
�$� "start finger", "start telnet"
�$� "finger motd@gate.demon.co.uk"
�0� "finger�@post.demon.co.uk", "nntp trace 2"
�8� "nntp fudge 120", "nntp direct on", "nntp batch 8"
�M� "nntp addserver news.demon.co.uk 600 Dem", "nntp kick news.demon.co.uk"
�0� "time server ntp.demon.co.uk", "time read"
�@� "smtp gateway [158.152.1.72]", "smtp trace 1", "smtp kick"
��
�
�
00000000  0d 00 01 1f f4 20 3e 20  3c 53 65 74 44 65 6d 6f  |..... > <SetDemo|
00000010  6e 24 44 69 72 3e 2e 53  65 74 44 65 6d 6f 6e 0d  |n$Dir>.SetDemon.|
00000020  00 02 1c ee 20 85 20 f1  20 f6 24 3b 22 20 61 74  |.... . . .$;" at|
00000030  20 6c 69 6e 65 20 22 3b  9e 3a e0 0d 00 03 05 3a  | line ";.:.....:|
00000040  0d 00 04 09 f2 69 6e 69  74 0d 00 05 0e c8 95 20  |.....init...... |
00000050  ac 20 71 75 69 74 25 0d  00 06 0f 20 20 f2 77 69  |. quit%....  .wi|
00000060  6d 70 70 6f 6c 6c 0d 00  07 05 ce 0d 00 08 17 c8  |mppoll..........|
00000070  99 20 22 57 69 6d 70 5f  43 6c 6f 73 65 44 6f 77  |. "Wimp_CloseDow|
00000080  6e 22 0d 00 09 05 e0 0d  00 0a 04 0d 00 0b 0b dd  |n"..............|
00000090  20 f2 69 6e 69 74 0d 00  0c 05 3a 0d 00 0d 1d de  | .init....:.....|
000000a0  20 62 6c 6f 63 6b 25 20  32 35 36 2c 20 62 6c 6f  | block% 256, blo|
000000b0  63 6b 32 25 20 32 35 36  0d 00 0e 2a de 20 43 6f  |ck2% 256...*. Co|
000000c0  6e 66 69 67 5f 6c 69 6e  65 25 28 32 30 29 2c 20  |nfig_line%(20), |
000000d0  41 75 74 6f 45 78 65 63  5f 6c 69 6e 65 25 28 31  |AutoExec_line%(1|
000000e0  34 29 0d 00 0f 2a de 20  43 6f 6e 66 69 67 5f 74  |4)...*. Config_t|
000000f0  65 78 74 24 28 32 30 29  2c 20 41 75 74 6f 45 78  |ext$(20), AutoEx|
00000100  65 63 5f 74 65 78 74 24  28 31 34 29 0d 00 10 0d  |ec_text$(14)....|
00000110  71 75 69 74 25 20 3d 20  a3 0d 00 11 05 3a 0d 00  |quit% = .....:..|
00000120  12 22 c8 99 20 22 4f 53  5f 42 79 74 65 22 2c 26  |.".. "OS_Byte",&|
00000130  31 30 31 2c 30 2c 26 46  46 20 b8 20 2c 6f 73 25  |101,0,&FF . ,os%|
00000140  0d 00 13 2d e7 20 6f 73  25 3e 26 41 33 20 8c 20  |...-. os%>&A3 . |
00000150  52 69 73 63 4f 53 25 20  3d 20 33 31 30 20 8b 20  |RiscOS% = 310 . |
00000160  52 69 73 63 4f 53 25 20  3d 20 32 30 30 0d 00 14  |RiscOS% = 200...|
00000170  0d de 20 6c 69 73 74 25  20 33 0d 00 15 0e 21 6c  |.. list% 3....!l|
00000180  69 73 74 25 20 3d 20 30  0d 00 16 4b c8 99 20 22  |ist% = 0...K.. "|
00000190  57 69 6d 70 5f 49 6e 69  74 69 61 6c 69 73 65 22  |Wimp_Initialise"|
000001a0  2c 52 69 73 63 4f 53 25  2c 26 34 42 35 33 34 31  |,RiscOS%,&4B5341|
000001b0  35 34 2c 22 53 65 74 44  65 6d 6f 6e 22 2c 6c 69  |54,"SetDemon",li|
000001c0  73 74 25 20 b8 20 52 69  73 63 4f 53 25 2c 74 61  |st% . RiscOS%,ta|
000001d0  73 6b 25 0d 00 17 3d ee  20 85 20 f2 65 72 72 6f  |sk%...=. . .erro|
000001e0  72 28 f6 24 2b 22 20 61  74 20 6c 69 6e 65 20 22  |r(.$+" at line "|
000001f0  2b c3 28 9e 29 29 20 3a  20 c8 99 20 22 57 69 6d  |+.(.)) : .. "Wim|
00000200  70 5f 43 6c 6f 73 65 44  6f 77 6e 22 20 3a 20 e0  |p_CloseDown" : .|
00000210  0d 00 18 05 3a 0d 00 19  0d f2 64 65 66 61 75 6c  |....:.....defaul|
00000220  74 73 0d 00 1a 23 6b 69  63 6b 5f 6e 65 77 73 25  |ts...#kick_news%|
00000230  20 3d 20 b9 20 3a 20 6b  69 63 6b 5f 6d 61 69 6c  | = . : kick_mail|
00000240  25 20 3d 20 b9 0d 00 1b  05 3a 0d 00 1c 26 66 69  |% = .....:...&fi|
00000250  6c 65 25 20 3d 20 8e 20  22 3c 53 65 74 44 65 6d  |le% = . "<SetDem|
00000260  6f 6e 24 44 69 72 3e 2e  53 70 72 69 74 65 73 22  |on$Dir>.Sprites"|
00000270  0d 00 1d 1e 61 72 65 61  5f 73 69 7a 65 25 20 3d  |....area_size% =|
00000280  20 28 a2 23 66 69 6c 65  25 29 20 2b 20 34 0d 00  | (.#file%) + 4..|
00000290  1e 0c d9 23 20 66 69 6c  65 25 0d 00 1f 1d de 20  |...# file%..... |
000002a0  73 70 72 69 74 65 5f 61  72 65 61 25 20 61 72 65  |sprite_area% are|
000002b0  61 5f 73 69 7a 65 25 0d  00 20 1e 21 73 70 72 69  |a_size%.. .!spri|
000002c0  74 65 5f 61 72 65 61 25  20 3d 20 61 72 65 61 5f  |te_area% = area_|
000002d0  73 69 7a 65 25 0d 00 21  17 73 70 72 69 74 65 5f  |size%..!.sprite_|
000002e0  61 72 65 61 25 21 38 20  3d 20 31 36 0d 00 22 26  |area%!8 = 16.."&|
000002f0  c8 99 20 22 4f 53 5f 53  70 72 69 74 65 4f 70 22  |.. "OS_SpriteOp"|
00000300  2c 26 31 30 39 2c 73 70  72 69 74 65 5f 61 72 65  |,&109,sprite_are|
00000310  61 25 0d 00 23 3f c8 99  20 22 4f 53 5f 53 70 72  |a%..#?.. "OS_Spr|
00000320  69 74 65 4f 70 22 2c 26  31 30 41 2c 73 70 72 69  |iteOp",&10A,spri|
00000330  74 65 5f 61 72 65 61 25  2c 22 3c 53 65 74 44 65  |te_area%,"<SetDe|
00000340  6d 6f 6e 24 44 69 72 3e  2e 53 70 72 69 74 65 73  |mon$Dir>.Sprites|
00000350  22 0d 00 24 05 3a 0d 00  25 36 c8 99 20 22 57 69  |"..$.:..%6.. "Wi|
00000360  6d 70 5f 4f 70 65 6e 54  65 6d 70 6c 61 74 65 22  |mp_OpenTemplate"|
00000370  2c 2c 22 3c 53 65 74 44  65 6d 6f 6e 24 44 69 72  |,,"<SetDemon$Dir|
00000380  3e 2e 54 65 6d 70 6c 61  74 65 73 22 0d 00 26 3b  |>.Templates"..&;|
00000390  de 20 77 69 6e 64 6f 77  5f 62 6c 6f 63 6b 25 20  |. window_block% |
000003a0  34 30 30 30 2c 69 6e 66  6f 25 20 32 30 30 2c 64  |4000,info% 200,d|
000003b0  65 6d 6f 6e 25 20 31 30  30 30 2c 77 69 6e 5f 6e  |emon% 1000,win_n|
000003c0  61 6d 65 25 20 31 32 0d  00 27 18 24 77 69 6e 5f  |ame% 12..'.$win_|
000003d0  6e 61 6d 65 25 20 3d 20  22 44 65 6d 6f 6e 22 0d  |name% = "Demon".|
000003e0  00 28 4b c8 99 20 22 57  69 6d 70 5f 4c 6f 61 64  |.(K.. "Wimp_Load|
000003f0  54 65 6d 70 6c 61 74 65  22 2c 2c 77 69 6e 64 6f  |Template",,windo|
00000400  77 5f 62 6c 6f 63 6b 25  2c 64 65 6d 6f 6e 25 2c  |w_block%,demon%,|
00000410  64 65 6d 6f 6e 25 2b 31  30 30 30 2c 2d 31 2c 77  |demon%+1000,-1,w|
00000420  69 6e 5f 6e 61 6d 65 25  2c 30 0d 00 29 23 77 69  |in_name%,0..)#wi|
00000430  6e 64 6f 77 5f 62 6c 6f  63 6b 25 21 36 34 20 3d  |ndow_block%!64 =|
00000440  20 73 70 72 69 74 65 5f  61 72 65 61 25 0d 00 2a  | sprite_area%..*|
00000450  36 c8 99 20 22 57 69 6d  70 5f 43 72 65 61 74 65  |6.. "Wimp_Create|
00000460  57 69 6e 64 6f 77 22 2c  2c 77 69 6e 64 6f 77 5f  |Window",,window_|
00000470  62 6c 6f 63 6b 25 20 b8  20 64 65 6d 6f 6e 68 61  |block% . demonha|
00000480  6e 64 25 0d 00 2b 17 24  77 69 6e 5f 6e 61 6d 65  |nd%..+.$win_name|
00000490  25 20 3d 20 22 69 6e 66  6f 22 0d 00 2c 48 c8 99  |% = "info"..,H..|
000004a0  20 22 57 69 6d 70 5f 4c  6f 61 64 54 65 6d 70 6c  | "Wimp_LoadTempl|
000004b0  61 74 65 22 2c 2c 77 69  6e 64 6f 77 5f 62 6c 6f  |ate",,window_blo|
000004c0  63 6b 25 2c 69 6e 66 6f  25 2c 69 6e 66 6f 25 2b  |ck%,info%,info%+|
000004d0  32 30 30 2c 2d 31 2c 77  69 6e 5f 6e 61 6d 65 25  |200,-1,win_name%|
000004e0  2c 30 0d 00 2d 35 c8 99  20 22 57 69 6d 70 5f 43  |,0..-5.. "Wimp_C|
000004f0  72 65 61 74 65 57 69 6e  64 6f 77 22 2c 2c 77 69  |reateWindow",,wi|
00000500  6e 64 6f 77 5f 62 6c 6f  63 6b 25 20 b8 20 69 6e  |ndow_block% . in|
00000510  66 6f 68 61 6e 64 25 0d  00 2e 1b c8 99 20 22 57  |fohand%...... "W|
00000520  69 6d 70 5f 43 6c 6f 73  65 54 65 6d 70 6c 61 74  |imp_CloseTemplat|
00000530  65 22 0d 00 2f 05 3a 0d  00 30 10 f2 62 75 69 6c  |e"../.:..0..buil|
00000540  64 5f 6d 65 6e 75 73 0d  00 31 05 3a 0d 00 32 10  |d_menus..1.:..2.|
00000550  21 62 6c 6f 63 6b 25 20  3d 20 2d 31 0d 00 33 41  |!block% = -1..3A|
00000560  62 6c 6f 63 6b 25 21 34  20 3d 20 30 20 3a 20 62  |block%!4 = 0 : b|
00000570  6c 6f 63 6b 25 21 38 20  3d 20 30 20 3a 20 62 6c  |lock%!8 = 0 : bl|
00000580  6f 63 6b 25 21 31 32 20  3d 20 36 38 20 3a 20 62  |ock%!12 = 68 : b|
00000590  6c 6f 63 6b 25 21 31 36  20 3d 20 36 38 0d 00 34  |lock%!16 = 68..4|
000005a0  15 62 6c 6f 63 6b 25 21  32 30 20 3d 20 26 33 30  |.block%!20 = &30|
000005b0  30 32 0d 00 35 1e 24 28  62 6c 6f 63 6b 25 2b 32  |02..5.$(block%+2|
000005c0  34 29 20 3d 20 22 21 73  65 74 64 65 6d 6f 6e 22  |4) = "!setdemon"|
000005d0  0d 00 36 2b c8 99 20 22  57 69 6d 70 5f 43 72 65  |..6+.. "Wimp_Cre|
000005e0  61 74 65 49 63 6f 6e 22  2c 2c 62 6c 6f 63 6b 25  |ateIcon",,block%|
000005f0  20 b8 20 69 63 6f 6e 62  61 72 25 0d 00 37 05 3a  | . iconbar%..7.:|
00000600  0d 00 38 3c c8 99 20 22  58 4f 53 5f 52 65 61 64  |..8<.. "XOS_Read|
00000610  56 61 72 56 61 6c 22 2c  22 54 43 50 49 50 24 44  |VarVal","TCPIP$D|
00000620  69 72 22 2c 62 6c 6f 63  6b 25 2c 26 46 46 2c 30  |ir",block%,&FF,0|
00000630  2c 33 20 b8 20 2c 2c 72  65 61 64 25 0d 00 39 11  |,3 . ,,read%..9.|
00000640  e7 20 72 65 61 64 25 20  3d 20 30 20 8c 0d 00 3a  |. read% = 0 ...:|
00000650  28 20 20 6b 61 39 71 64  69 72 24 20 3d 20 22 3c  |(  ka9qdir$ = "<|
00000660  53 65 74 44 65 6d 6f 6e  24 44 69 72 3e 2e 54 6f  |SetDemon$Dir>.To|
00000670  4b 41 39 51 22 0d 00 3b  6c 20 20 f2 65 72 72 6f  |KA9Q"..;l  .erro|
00000680  72 28 22 21 54 43 50 49  50 20 68 61 73 20 6e 6f  |r("!TCPIP has no|
00000690  74 20 62 65 65 6e 20 73  65 65 6e 20 62 79 20 74  |t been seen by t|
000006a0  68 65 20 66 69 6c 65 72  3b 20 79 6f 75 20 77 69  |he filer; you wi|
000006b0  6c 6c 20 6f 6e 6c 79 20  62 65 20 61 62 6c 65 20  |ll only be able |
000006c0  74 6f 20 73 74 6f 72 65  20 66 69 6c 65 73 20 77  |to store files w|
000006d0  69 74 68 69 6e 20 21 53  65 74 44 65 6d 6f 6e 22  |ithin !SetDemon"|
000006e0  29 0d 00 3c 51 20 20 21  62 6c 6f 63 6b 25 3d 64  |)..<Q  !block%=d|
000006f0  65 6d 6f 6e 68 61 6e 64  25 20 3a 20 62 6c 6f 63  |emonhand% : bloc|
00000700  6b 25 21 34 3d 31 37 20  3a 20 62 6c 6f 63 6b 25  |k%!4=17 : block%|
00000710  21 38 3d 26 30 30 38 30  30 30 30 30 20 3a 20 62  |!8=&00800000 : b|
00000720  6c 6f 63 6b 25 21 31 32  3d 26 30 30 38 30 30 30  |lock%!12=&008000|
00000730  30 30 0d 00 3d 24 20 20  c8 99 20 22 57 69 6d 70  |00..=$  .. "Wimp|
00000740  5f 53 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_SetIconState",,|
00000750  62 6c 6f 63 6b 25 0d 00  3e 51 20 20 21 62 6c 6f  |block%..>Q  !blo|
00000760  63 6b 25 3d 64 65 6d 6f  6e 68 61 6e 64 25 20 3a  |ck%=demonhand% :|
00000770  20 62 6c 6f 63 6b 25 21  34 3d 31 38 20 3a 20 62  | block%!4=18 : b|
00000780  6c 6f 63 6b 25 21 38 3d  26 30 30 38 30 30 30 30  |lock%!8=&0080000|
00000790  30 20 3a 20 62 6c 6f 63  6b 25 21 31 32 3d 26 30  |0 : block%!12=&0|
000007a0  30 38 30 30 30 30 30 0d  00 3f 24 20 20 c8 99 20  |0800000..?$  .. |
000007b0  22 57 69 6d 70 5f 53 65  74 49 63 6f 6e 53 74 61  |"Wimp_SetIconSta|
000007c0  74 65 22 2c 2c 62 6c 6f  63 6b 25 0d 00 40 13 20  |te",,block%..@. |
000007d0  20 62 6c 6f 63 6b 25 21  34 20 3d 20 31 35 0d 00  | block%!4 = 15..|
000007e0  41 24 20 20 c8 99 20 22  57 69 6d 70 5f 47 65 74  |A$  .. "Wimp_Get|
000007f0  49 63 6f 6e 53 74 61 74  65 22 2c 2c 62 6c 6f 63  |IconState",,bloc|
00000800  6b 25 0d 00 42 2c 20 20  76 61 6c 69 64 25 20 3d  |k%..B,  valid% =|
00000810  20 62 6c 6f 63 6b 25 21  33 32 20 3a 20 24 76 61  | block%!32 : $va|
00000820  6c 69 64 25 20 3d 20 22  52 36 2c 33 22 20 0d 00  |lid% = "R6,3" ..|
00000830  43 05 cc 0d 00 44 1e 20  20 6b 61 39 71 64 69 72  |C....D.  ka9qdir|
00000840  24 20 3d 20 22 3c 54 43  50 49 50 24 44 69 72 3e  |$ = "<TCPIP$Dir>|
00000850  22 0d 00 45 05 cd 0d 00  46 05 e1 0d 00 47 04 0d  |"..E....F....G..|
00000860  00 48 0f dd 20 f2 77 69  6d 70 70 6f 6c 6c 0d 00  |.H.. .wimppoll..|
00000870  49 05 3a 0d 00 4a 2a c8  99 20 22 57 69 6d 70 5f  |I.:..J*.. "Wimp_|
00000880  50 6f 6c 6c 22 20 2c 26  31 38 31 31 2c 62 6c 6f  |Poll" ,&1811,blo|
00000890  63 6b 25 20 b8 20 72 65  61 73 6f 6e 25 0d 00 4b  |ck% . reason%..K|
000008a0  10 c8 8e 20 72 65 61 73  6f 6e 25 20 ca 0d 00 4c  |... reason% ...L|
000008b0  32 f4 20 52 65 61 73 6f  6e 20 63 6f 64 65 73 20  |2. Reason codes |
000008c0  6d 61 72 6b 65 64 20 2a  20 73 68 6f 75 6c 64 20  |marked * should |
000008d0  6e 6f 74 20 62 65 20 72  65 74 75 72 6e 65 64 0d  |not be returned.|
000008e0  00 4d 1a c9 20 31 3a 20  f4 20 52 65 64 72 61 77  |.M.. 1: . Redraw|
000008f0  20 77 69 6e 64 6f 77 20  2a 0d 00 4e 26 c9 20 32  | window *..N&. 2|
00000900  3a 20 c8 99 20 22 57 69  6d 70 5f 4f 70 65 6e 57  |: .. "Wimp_OpenW|
00000910  69 6e 64 6f 77 22 20 2c  2c 62 6c 6f 63 6b 25 0d  |indow" ,,block%.|
00000920  00 4f 27 c9 20 33 3a 20  c8 99 20 22 57 69 6d 70  |.O'. 3: .. "Wimp|
00000930  5f 43 6c 6f 73 65 57 69  6e 64 6f 77 22 20 2c 2c  |_CloseWindow" ,,|
00000940  62 6c 6f 63 6b 25 0d 00  50 15 c9 20 36 3a 20 f2  |block%..P.. 6: .|
00000950  6d 6f 75 73 65 5f 63 6c  69 63 6b 0d 00 51 15 c9  |mouse_click..Q..|
00000960  20 37 3a 20 f4 20 44 72  61 67 20 42 6f 78 20 2a  | 7: . Drag Box *|
00000970  0d 00 52 12 c9 20 38 3a  20 f2 6b 65 79 70 72 65  |..R.. 8: .keypre|
00000980  73 73 0d 00 53 14 c9 20  39 3a 20 f2 6d 65 6e 75  |ss..S.. 9: .menu|
00000990  63 68 6f 69 63 65 0d 00  54 1c c9 20 31 30 3a 20  |choice..T.. 10: |
000009a0  f4 20 53 63 72 6f 6c 6c  20 72 65 71 75 65 73 74  |. Scroll request|
000009b0  20 2a 0d 00 55 16 c9 20  31 33 3a 20 f4 20 4e 6f  | *..U.. 13: . No|
000009c0  6e 2d 7a 65 72 6f 20 2a  0d 00 56 17 c9 20 31 37  |n-zero *..V.. 17|
000009d0  3a 20 f2 75 73 65 72 5f  6d 65 73 73 61 67 65 0d  |: .user_message.|
000009e0  00 57 17 c9 20 31 38 3a  20 f2 75 73 65 72 5f 6d  |.W.. 18: .user_m|
000009f0  65 73 73 61 67 65 0d 00  58 26 c9 20 31 39 3a 20  |essage..X&. 19: |
00000a00  f4 20 55 73 65 72 20 6d  65 73 73 61 67 65 20 61  |. User message a|
00000a10  63 6b 6e 6f 77 6c 65 64  67 65 20 2a 0d 00 59 05  |cknowledge *..Y.|
00000a20  cb 0d 00 5a 05 e1 0d 00  5b 04 0d 00 5c 12 dd 20  |...Z....[...\.. |
00000a30  f2 6d 6f 75 73 65 5f 63  6c 69 63 6b 0d 00 5d 05  |.mouse_click..].|
00000a40  3a 0d 00 5e 12 c8 8e 20  62 6c 6f 63 6b 25 21 31  |:..^... block%!1|
00000a50  32 20 ca 0d 00 5f 18 c9  20 2d 32 20 3a 20 f2 69  |2 ..._.. -2 : .i|
00000a60  63 6f 6e 62 61 72 63 6c  69 63 6b 0d 00 60 1f c9  |conbarclick..`..|
00000a70  20 64 65 6d 6f 6e 68 61  6e 64 25 20 3a 20 f2 77  | demonhand% : .w|
00000a80  69 6e 64 6f 77 63 6c 69  63 6b 0d 00 61 05 cb 0d  |indowclick..a...|
00000a90  00 62 05 e1 0d 00 63 04  0d 00 64 13 dd 20 f2 69  |.b....c...d.. .i|
00000aa0  63 6f 6e 62 61 72 63 6c  69 63 6b 0d 00 65 05 3a  |conbarclick..e.:|
00000ab0  0d 00 66 14 e7 20 62 6c  6f 63 6b 25 21 38 20 3d  |..f.. block%!8 =|
00000ac0  20 32 20 8c 0d 00 67 39  20 20 c8 99 20 22 57 69  | 2 ...g9  .. "Wi|
00000ad0  6d 70 5f 43 72 65 61 74  65 4d 65 6e 75 22 20 2c  |mp_CreateMenu" ,|
00000ae0  2c 69 63 6f 6e 62 61 72  5f 6d 65 6e 75 25 2c 21  |,iconbar_menu%,!|
00000af0  62 6c 6f 63 6b 25 2d 36  34 2c 31 38 38 0d 00 68  |block%-64,188..h|
00000b00  1f 20 20 6f 70 65 6e 6d  65 6e 75 25 20 3d 20 69  |.  openmenu% = i|
00000b10  63 6f 6e 62 61 72 5f 6d  65 6e 75 25 0d 00 69 05  |conbar_menu%..i.|
00000b20  cc 0d 00 6a 1a 20 20 21  62 6c 6f 63 6b 25 20 3d  |...j.  !block% =|
00000b30  20 64 65 6d 6f 6e 68 61  6e 64 25 0d 00 6b 26 20  | demonhand%..k& |
00000b40  20 c8 99 20 22 57 69 6d  70 5f 47 65 74 57 69 6e  | .. "Wimp_GetWin|
00000b50  64 6f 77 53 74 61 74 65  22 2c 2c 62 6c 6f 63 6b  |dowState",,block|
00000b60  25 0d 00 6c 22 20 20 c8  99 20 22 57 69 6d 70 5f  |%..l"  .. "Wimp_|
00000b70  4f 70 65 6e 57 69 6e 64  6f 77 22 2c 2c 62 6c 6f  |OpenWindow",,blo|
00000b80  63 6b 25 0d 00 6d 05 cd  0d 00 6e 05 e1 0d 00 6f  |ck%..m....n....o|
00000b90  04 0d 00 70 12 dd 20 f2  77 69 6e 64 6f 77 63 6c  |...p.. .windowcl|
00000ba0  69 63 6b 0d 00 71 05 3a  0d 00 72 11 ea 20 78 70  |ick..q.:..r.. xp|
00000bb0  6f 73 25 2c 79 70 6f 73  25 0d 00 73 3b e7 20 62  |os%,ypos%..s;. b|
00000bc0  6c 6f 63 6b 25 21 31 36  20 3d 20 37 20 20 f2 70  |lock%!16 = 7  .p|
00000bd0  6f 70 75 70 6d 65 6e 75  28 64 65 6d 6f 6e 68 61  |opupmenu(demonha|
00000be0  6e 64 25 2c 20 37 2c 70  6f 72 74 5f 6d 65 6e 75  |nd%, 7,port_menu|
00000bf0  25 29 3a e1 0d 00 74 3f  e7 20 62 6c 6f 63 6b 25  |%):...t?. block%|
00000c00  21 31 36 20 3d 20 31 30  20 f2 70 6f 70 75 70 6d  |!16 = 10 .popupm|
00000c10  65 6e 75 28 64 65 6d 6f  6e 68 61 6e 64 25 2c 31  |enu(demonhand%,1|
00000c20  30 2c 62 61 75 64 5f 6d  65 6e 75 25 29 3a e1 20  |0,baud_menu%):. |
00000c30  20 20 20 0d 00 75 14 e7  20 62 6c 6f 63 6b 25 21  |   ..u.. block%!|
00000c40  38 20 3d 20 32 20 8c 0d  00 76 3e 20 20 c8 99 20  |8 = 2 ...v>  .. |
00000c50  22 57 69 6d 70 5f 43 72  65 61 74 65 4d 65 6e 75  |"Wimp_CreateMenu|
00000c60  22 20 2c 2c 69 63 6f 6e  62 61 72 5f 6d 65 6e 75  |" ,,iconbar_menu|
00000c70  25 2c 21 62 6c 6f 63 6b  25 2d 36 34 2c 62 6c 6f  |%,!block%-64,blo|
00000c80  63 6b 25 21 34 0d 00 77  1f 20 20 6f 70 65 6e 6d  |ck%!4..w.  openm|
00000c90  65 6e 75 25 20 3d 20 69  63 6f 6e 62 61 72 5f 6d  |enu% = iconbar_m|
00000ca0  65 6e 75 25 0d 00 78 05  cc 0d 00 79 14 20 20 c8  |enu%..x....y.  .|
00000cb0  8e 20 62 6c 6f 63 6b 25  21 31 36 20 ca 0d 00 7a  |. block%!16 ...z|
00000cc0  24 20 20 c9 20 31 31 2c  31 32 20 3a 20 21 62 6c  |$  . 11,12 : !bl|
00000cd0  6f 63 6b 25 20 3d 20 64  65 6d 6f 6e 68 61 6e 64  |ock% = demonhand|
00000ce0  25 0d 00 7b 3f 20 20 20  20 62 6c 6f 63 6b 25 21  |%..{?    block%!|
00000cf0  34 3d 62 6c 6f 63 6b 25  21 31 36 20 3a 20 62 6c  |4=block%!16 : bl|
00000d00  6f 63 6b 25 21 38 3d 26  30 30 32 30 30 30 30 30  |ock%!8=&00200000|
00000d10  20 3a 20 62 6c 6f 63 6b  25 21 31 32 20 3d 20 30  | : block%!12 = 0|
00000d20  0d 00 7c 27 20 20 20 20  c8 99 20 22 57 69 6d 70  |..|'    .. "Wimp|
00000d30  5f 53 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_SetIconState",,|
00000d40  62 6c 6f 63 6b 25 20 0d  00 7d 2f 20 20 c9 20 31  |block% ..}/  . 1|
00000d50  35 20 3a 20 f2 73 61 76  65 31 33 31 62 28 22 3c  |5 : .save131b("<|
00000d60  53 65 74 44 65 6d 6f 6e  24 44 69 72 3e 2e 54 6f  |SetDemon$Dir>.To|
00000d70  4b 41 39 51 22 29 0d 00  7e 2f 20 20 c9 20 31 36  |KA9Q")..~/  . 16|
00000d80  20 3a 20 f2 6c 6f 61 64  31 33 31 62 28 22 3c 53  | : .load131b("<S|
00000d90  65 74 44 65 6d 6f 6e 24  44 69 72 3e 2e 54 6f 4b  |etDemon$Dir>.ToK|
00000da0  41 39 51 22 29 0d 00 7f  20 20 20 c9 20 31 37 20  |A9Q")...   . 17 |
00000db0  3a 20 f2 73 61 76 65 31  33 31 62 28 6b 61 39 71  |: .save131b(ka9q|
00000dc0  64 69 72 24 29 0d 00 80  20 20 20 c9 20 31 38 20  |dir$)...   . 18 |
00000dd0  3a 20 f2 6c 6f 61 64 31  33 31 62 28 6b 61 39 71  |: .load131b(ka9q|
00000de0  64 69 72 24 29 0d 00 81  07 20 20 cb 0d 00 82 05  |dir$)....  .....|
00000df0  cd 0d 00 83 05 e1 0d 00  84 04 0d 00 85 25 dd 20  |.............%. |
00000e00  f2 70 6f 70 75 70 6d 65  6e 75 28 68 61 6e 64 6c  |.popupmenu(handl|
00000e10  65 25 2c 69 63 6f 6e 25  2c 6d 65 6e 75 25 29 0d  |e%,icon%,menu%).|
00000e20  00 86 05 3a 0d 00 87 11  ea 20 78 70 6f 73 25 2c  |...:..... xpos%,|
00000e30  79 70 6f 73 25 0d 00 88  15 21 62 6c 6f 63 6b 25  |ypos%....!block%|
00000e40  20 3d 20 68 61 6e 64 6c  65 25 0d 00 89 24 c8 99  | = handle%...$..|
00000e50  20 22 57 69 6d 70 5f 47  65 74 57 69 6e 64 6f 77  | "Wimp_GetWindow|
00000e60  53 74 61 74 65 22 2c 2c  62 6c 6f 63 6b 25 0d 00  |State",,block%..|
00000e70  8a 40 78 70 6f 73 25 20  3d 20 62 6c 6f 63 6b 25  |.@xpos% = block%|
00000e80  21 34 20 2d 20 62 6c 6f  63 6b 25 21 32 30 20 3a  |!4 - block%!20 :|
00000e90  20 79 70 6f 73 25 20 3d  20 62 6c 6f 63 6b 25 21  | ypos% = block%!|
00000ea0  31 36 20 2d 20 62 6c 6f  63 6b 25 21 32 34 0d 00  |16 - block%!24..|
00000eb0  8b 14 62 6c 6f 63 6b 25  21 34 20 3d 20 69 63 6f  |..block%!4 = ico|
00000ec0  6e 25 0d 00 8c 22 c8 99  20 22 57 69 6d 70 5f 47  |n%...".. "Wimp_G|
00000ed0  65 74 49 63 6f 6e 53 74  61 74 65 22 2c 2c 62 6c  |etIconState",,bl|
00000ee0  6f 63 6b 25 0d 00 8d 34  78 70 6f 73 25 20 2b 3d  |ock%...4xpos% +=|
00000ef0  20 62 6c 6f 63 6b 25 21  31 36 20 2b 20 34 20 3a  | block%!16 + 4 :|
00000f00  20 79 70 6f 73 25 20 2b  3d 20 62 6c 6f 63 6b 25  | ypos% += block%|
00000f10  21 31 32 20 2b 20 34 34  0d 00 8e 2b c8 99 20 22  |!12 + 44...+.. "|
00000f20  57 69 6d 70 5f 43 72 65  61 74 65 4d 65 6e 75 22  |Wimp_CreateMenu"|
00000f30  2c 2c 6d 65 6e 75 25 2c  78 70 6f 73 25 2c 79 70  |,,menu%,xpos%,yp|
00000f40  6f 73 25 0d 00 8f 15 6f  70 65 6e 6d 65 6e 75 25  |os%....openmenu%|
00000f50  20 3d 20 6d 65 6e 75 25  0d 00 90 05 e1 0d 00 91  | = menu%........|
00000f60  04 0d 00 92 0f dd 20 f2  6b 65 79 70 72 65 73 73  |...... .keypress|
00000f70  0d 00 93 05 3a 0d 00 94  11 ea 20 6b 65 79 25 2c  |....:..... key%,|
00000f80  20 69 63 6f 6e 25 0d 00  95 1d e7 20 21 62 6c 6f  | icon%..... !blo|
00000f90  63 6b 25 20 3c 3e 20 64  65 6d 6f 6e 68 61 6e 64  |ck% <> demonhand|
00000fa0  25 20 e1 0d 00 96 14 6b  65 79 25 20 3d 20 62 6c  |% .....key% = bl|
00000fb0  6f 63 6b 25 21 32 34 0d  00 97 11 e7 20 6b 65 79  |ock%!24..... key|
00000fc0  25 20 3d 20 31 33 20 8c  0d 00 98 3a 20 20 e7 20  |% = 13 ....:  . |
00000fd0  6b 61 39 71 64 69 72 24  20 3d 20 22 3c 54 43 50  |ka9qdir$ = "<TCP|
00000fe0  49 50 24 44 69 72 3e 22  20 8c 20 69 63 6f 6e 25  |IP$Dir>" . icon%|
00000ff0  20 3d 20 31 37 20 8b 20  69 63 6f 6e 25 20 3d 20  | = 17 . icon% = |
00001000  31 35 0d 00 99 41 20 20  62 6c 6f 63 6b 25 21 34  |15...A  block%!4|
00001010  3d 69 63 6f 6e 25 20 3a  20 62 6c 6f 63 6b 25 21  |=icon% : block%!|
00001020  38 3d 26 30 30 32 30 30  30 30 30 20 3a 20 62 6c  |8=&00200000 : bl|
00001030  6f 63 6b 25 21 31 32 20  3d 20 26 30 30 32 30 30  |ock%!12 = &00200|
00001040  30 30 30 0d 00 9a 24 20  20 c8 99 20 22 57 69 6d  |000...$  .. "Wim|
00001050  70 5f 53 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_SetIconState",|
00001060  2c 62 6c 6f 63 6b 25 0d  00 9b 3f 20 20 62 6c 6f  |,block%...?  blo|
00001070  63 6b 25 21 31 36 20 3d  20 69 63 6f 6e 25 20 3a  |ck%!16 = icon% :|
00001080  20 62 6c 6f 63 6b 25 21  31 32 20 3d 20 64 65 6d  | block%!12 = dem|
00001090  6f 6e 68 61 6e 64 25 20  3a 20 62 6c 6f 63 6b 25  |onhand% : block%|
000010a0  21 38 20 3d 20 33 0d 00  9c 12 20 20 f2 77 69 6e  |!8 = 3....  .win|
000010b0  64 6f 77 63 6c 69 63 6b  0d 00 9d 50 20 20 21 62  |dowclick...P  !b|
000010c0  6c 6f 63 6b 25 20 3d 20  64 65 6d 6f 6e 68 61 6e  |lock% = demonhan|
000010d0  64 25 20 3a 20 62 6c 6f  63 6b 25 21 34 3d 69 63  |d% : block%!4=ic|
000010e0  6f 6e 25 20 3a 20 62 6c  6f 63 6b 25 21 38 3d 30  |on% : block%!8=0|
000010f0  20 3a 20 62 6c 6f 63 6b  25 21 31 32 20 3d 20 26  | : block%!12 = &|
00001100  30 30 32 30 30 30 30 30  0d 00 9e 24 20 20 c8 99  |00200000...$  ..|
00001110  20 22 57 69 6d 70 5f 53  65 74 49 63 6f 6e 53 74  | "Wimp_SetIconSt|
00001120  61 74 65 22 2c 2c 62 6c  6f 63 6b 25 0d 00 9f 05  |ate",,block%....|
00001130  cd 0d 00 a0 05 e1 0d 00  a1 04 0d 00 a2 11 dd 20  |............... |
00001140  f2 6d 65 6e 75 63 68 6f  69 63 65 0d 00 a3 05 3a  |.menuchoice....:|
00001150  0d 00 a4 12 c8 8e 20 6f  70 65 6e 6d 65 6e 75 25  |...... openmenu%|
00001160  20 ca 0d 00 a5 25 c9 20  69 63 6f 6e 62 61 72 5f  | ....%. iconbar_|
00001170  6d 65 6e 75 25 20 3a 20  f2 64 65 63 6f 64 65 5f  |menu% : .decode_|
00001180  69 63 6f 6e 62 61 72 0d  00 a6 1f c9 20 62 61 75  |iconbar..... bau|
00001190  64 5f 6d 65 6e 75 25 20  3a 20 f2 64 65 63 6f 64  |d_menu% : .decod|
000011a0  65 5f 62 61 75 64 0d 00  a7 1f c9 20 70 6f 72 74  |e_baud..... port|
000011b0  5f 6d 65 6e 75 25 20 3a  20 f2 64 65 63 6f 64 65  |_menu% : .decode|
000011c0  5f 70 6f 72 74 0d 00 a8  05 cb 0d 00 a9 25 c8 99  |_port........%..|
000011d0  20 22 57 69 6d 70 5f 47  65 74 50 6f 69 6e 74 65  | "Wimp_GetPointe|
000011e0  72 49 6e 66 6f 22 20 2c  2c 62 6c 6f 63 6b 25 0d  |rInfo" ,,block%.|
000011f0  00 aa 33 e7 20 62 6c 6f  63 6b 25 21 38 3d 31 20  |..3. block%!8=1 |
00001200  8c 20 c8 99 20 22 57 69  6d 70 5f 43 72 65 61 74  |. .. "Wimp_Creat|
00001210  65 4d 65 6e 75 22 20 2c  2c 6f 70 65 6e 6d 65 6e  |eMenu" ,,openmen|
00001220  75 25 0d 00 ab 05 e1 0d  00 ac 04 0d 00 ad 15 dd  |u%..............|
00001230  20 f2 64 65 63 6f 64 65  5f 69 63 6f 6e 62 61 72  | .decode_iconbar|
00001240  0d 00 ae 05 3a 0d 00 af  10 c8 8e 20 21 62 6c 6f  |....:...... !blo|
00001250  63 6b 25 20 ca 0d 00 b0  24 c9 20 30 20 3a 20 f4  |ck% ....$. 0 : .|
00001260  20 64 6f 20 6e 6f 74 68  69 6e 67 20 2d 20 69 6e  | do nothing - in|
00001270  66 6f 20 63 68 6f 73 65  6e 0d 00 b1 13 c9 20 31  |fo chosen..... 1|
00001280  20 3a 20 71 75 69 74 25  20 3d 20 b9 0d 00 b2 05  | : quit% = .....|
00001290  cb 0d 00 b3 05 e1 0d 00  b4 04 0d 00 b5 12 dd 20  |............... |
000012a0  f2 64 65 63 6f 64 65 5f  62 61 75 64 0d 00 b6 05  |.decode_baud....|
000012b0  3a 0d 00 b7 0a ea 20 70  74 72 25 0d 00 b8 29 21  |:..... ptr%...)!|
000012c0  62 6c 6f 63 6b 32 25 20  3d 20 64 65 6d 6f 6e 68  |block2% = demonh|
000012d0  61 6e 64 25 20 3a 20 62  6c 6f 63 6b 32 25 21 34  |and% : block2%!4|
000012e0  20 3d 20 39 0d 00 b9 23  c8 99 20 22 57 69 6d 70  | = 9...#.. "Wimp|
000012f0  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00001300  62 6c 6f 63 6b 32 25 0d  00 ba 15 70 74 72 25 20  |block2%....ptr% |
00001310  3d 20 62 6c 6f 63 6b 32  25 21 32 38 0d 00 bb 30  |= block2%!28...0|
00001320  c8 99 20 22 57 69 6d 70  5f 44 65 63 6f 64 65 4d  |.. "Wimp_DecodeM|
00001330  65 6e 75 22 2c 2c 62 61  75 64 5f 6d 65 6e 75 25  |enu",,baud_menu%|
00001340  2c 62 6c 6f 63 6b 25 2c  70 74 72 25 0d 00 bc 22  |,block%,ptr%..."|
00001350  62 6c 6f 63 6b 32 25 21  38 20 3d 20 30 20 3a 20  |block2%!8 = 0 : |
00001360  62 6c 6f 63 6b 32 25 21  31 32 20 3d 20 30 0d 00  |block2%!12 = 0..|
00001370  bd 23 c8 99 20 22 57 69  6d 70 5f 53 65 74 49 63  |.#.. "Wimp_SetIc|
00001380  6f 6e 53 74 61 74 65 22  2c 2c 62 6c 6f 63 6b 32  |onState",,block2|
00001390  25 0d 00 be 05 e1 0d 00  bf 04 0d 00 c0 12 dd 20  |%.............. |
000013a0  f2 64 65 63 6f 64 65 5f  70 6f 72 74 0d 00 c1 05  |.decode_port....|
000013b0  3a 0d 00 c2 0a ea 20 70  74 72 25 0d 00 c3 29 21  |:..... ptr%...)!|
000013c0  62 6c 6f 63 6b 32 25 20  3d 20 64 65 6d 6f 6e 68  |block2% = demonh|
000013d0  61 6e 64 25 20 3a 20 62  6c 6f 63 6b 32 25 21 34  |and% : block2%!4|
000013e0  20 3d 20 34 0d 00 c4 23  c8 99 20 22 57 69 6d 70  | = 4...#.. "Wimp|
000013f0  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00001400  62 6c 6f 63 6b 32 25 0d  00 c5 15 70 74 72 25 20  |block2%....ptr% |
00001410  3d 20 62 6c 6f 63 6b 32  25 21 32 38 0d 00 c6 10  |= block2%!28....|
00001420  c8 8e 20 21 62 6c 6f 63  6b 25 20 ca 0d 00 c7 1e  |.. !block% .....|
00001430  c9 20 30 20 3a 20 24 70  74 72 25 20 3d 20 22 69  |. 0 : $ptr% = "i|
00001440  6e 74 65 72 6e 61 6c 20  30 22 0d 00 c8 1d c9 20  |nternal 0"..... |
00001450  31 20 3a 20 24 70 74 72  25 20 3d 20 22 73 70 5f  |1 : $ptr% = "sp_|
00001460  64 75 61 6c 20 30 22 0d  00 c9 1d c9 20 32 20 3a  |dual 0"..... 2 :|
00001470  20 24 70 74 72 25 20 3d  20 22 73 70 5f 64 75 61  | $ptr% = "sp_dua|
00001480  6c 20 31 22 0d 00 ca 1d  c9 20 33 20 3a 20 24 70  |l 1"..... 3 : $p|
00001490  74 72 25 20 3d 20 22 69  69 5f 64 75 61 6c 20 30  |tr% = "ii_dual 0|
000014a0  22 0d 00 cb 1d c9 20 34  20 3a 20 24 70 74 72 25  |"..... 4 : $ptr%|
000014b0  20 3d 20 22 69 69 5f 64  75 61 6c 20 31 22 0d 00  | = "ii_dual 1"..|
000014c0  cc 05 cb 0d 00 cd 22 62  6c 6f 63 6b 32 25 21 38  |......"block2%!8|
000014d0  20 3d 20 30 20 3a 20 62  6c 6f 63 6b 32 25 21 31  | = 0 : block2%!1|
000014e0  32 20 3d 20 30 0d 00 ce  23 c8 99 20 22 57 69 6d  |2 = 0...#.. "Wim|
000014f0  70 5f 53 65 74 49 63 6f  6e 53 74 61 74 65 22 2c  |p_SetIconState",|
00001500  2c 62 6c 6f 63 6b 32 25  0d 00 cf 05 e1 0d 00 d0  |,block2%........|
00001510  04 0d 00 d1 13 dd 20 f2  75 73 65 72 5f 6d 65 73  |...... .user_mes|
00001520  73 61 67 65 0d 00 d2 05  3a 0d 00 d3 13 c8 8e 20  |sage....:...... |
00001530  62 6c 6f 63 6b 25 21 26  31 30 20 ca 0d 00 d4 11  |block%!&10 .....|
00001540  c9 20 30 20 3a 20 71 75  69 74 25 3d b9 0d 00 d5  |. 0 : quit%=....|
00001550  1e c9 20 26 35 30 32 20  3a 20 62 6c 6f 63 6b 25  |.. &502 : block%|
00001560  21 26 31 30 20 3d 20 26  35 30 33 0d 00 d6 29 74  |!&10 = &503...)t|
00001570  65 78 74 24 20 3d 20 a4  48 65 6c 70 28 62 6c 6f  |ext$ = .Help(blo|
00001580  63 6b 25 21 26 32 30 2c  20 62 6c 6f 63 6b 25 21  |ck%!&20, block%!|
00001590  26 32 34 29 0d 00 d7 46  24 28 62 6c 6f 63 6b 25  |&24)...F$(block%|
000015a0  2b 26 31 34 29 20 3d 20  74 65 78 74 24 2b bd 28  |+&14) = text$+.(|
000015b0  30 29 20 3a 20 21 62 6c  6f 63 6b 25 20 3d 20 32  |0) : !block% = 2|
000015c0  30 20 2b 20 28 28 a9 28  74 65 78 74 24 29 2b 34  |0 + ((.(text$)+4|
000015d0  29 20 81 20 34 29 20 2a  20 34 0d 00 d8 2c 74 61  |) . 4) * 4...,ta|
000015e0  73 6b 25 20 3d 20 62 6c  6f 63 6b 25 21 34 20 3a  |sk% = block%!4 :|
000015f0  20 62 6c 6f 63 6b 25 21  26 30 43 20 3d 20 62 6c  | block%!&0C = bl|
00001600  6f 63 6b 25 21 38 0d 00  d9 29 c8 99 20 22 57 69  |ock%!8...).. "Wi|
00001610  6d 70 5f 53 65 6e 64 4d  65 73 73 61 67 65 22 2c  |mp_SendMessage",|
00001620  31 37 2c 62 6c 6f 63 6b  25 2c 74 61 73 6b 25 0d  |17,block%,task%.|
00001630  00 da 05 cb 0d 00 db 05  e1 0d 00 dc 04 0d 00 dd  |................|
00001640  15 dd 20 f2 73 61 76 65  31 33 31 62 28 64 69 72  |.. .save131b(dir|
00001650  24 29 0d 00 de 05 3a 0d  00 df 44 ea 20 68 61 6e  |$)....:...D. han|
00001660  64 6c 65 25 2c 20 70 74  72 25 2c 20 74 65 78 74  |dle%, ptr%, text|
00001670  24 2c 20 68 6f 73 74 24  2c 20 6e 65 77 73 67 72  |$, host$, newsgr|
00001680  6f 75 70 24 2c 20 6b 69  63 6b 25 2c 20 6c 69 6e  |oup$, kick%, lin|
00001690  65 31 25 2c 20 6c 69 6e  65 32 25 0d 00 e0 1d 68  |e1%, line2%....h|
000016a0  61 6e 64 6c 65 25 3d ae  28 64 69 72 24 2b 22 2e  |andle%=.(dir$+".|
000016b0  43 6f 6e 66 69 67 22 29  0d 00 e1 13 e7 20 68 61  |Config")..... ha|
000016c0  6e 64 6c 65 25 20 3d 20  30 20 8c 0d 00 e2 32 20  |ndle% = 0 ....2 |
000016d0  20 f2 65 72 72 6f 72 28  22 45 72 72 6f 72 20 6f  | .error("Error o|
000016e0  70 65 6e 69 6e 67 20 66  69 6c 65 20 22 2b 64 69  |pening file "+di|
000016f0  72 24 2b 22 2e 43 6f 6e  66 69 67 22 29 0d 00 e3  |r$+".Config")...|
00001700  19 20 20 c8 99 20 22 57  69 6d 70 5f 43 6c 6f 73  |.  .. "Wimp_Clos|
00001710  65 64 6f 77 6e 22 0d 00  e4 07 20 20 e0 0d 00 e5  |edown"....  ....|
00001720  05 cd 0d 00 e6 1b 6c 69  6e 65 31 25 20 3d 20 31  |......line1% = 1|
00001730  20 3a 20 6c 69 6e 65 32  25 20 3d 20 31 0d 00 e7  | : line2% = 1...|
00001740  1c 74 65 78 74 24 20 3d  20 a4 6c 69 6e 65 28 43  |.text$ = .line(C|
00001750  6f 6e 66 69 67 25 2c 31  29 0d 00 e8 74 e7 20 a7  |onfig%,1)...t. .|
00001760  74 65 78 74 24 2c 22 23  20 43 6f 6e 66 69 67 75  |text$,"# Configu|
00001770  72 61 74 69 6f 6e 20 66  69 6c 65 20 77 72 69 74  |ration file writ|
00001780  74 65 6e 20 62 79 22 29  20 3c 3e 20 31 20 8c 20  |ten by") <> 1 . |
00001790  f2 70 75 74 6c 69 6e 65  28 68 61 6e 64 6c 65 25  |.putline(handle%|
000017a0  2c 22 23 20 43 6f 6e 66  69 67 75 72 61 74 69 6f  |,"# Configuratio|
000017b0  6e 20 66 69 6c 65 20 77  72 69 74 74 65 6e 20 62  |n file written b|
000017c0  79 20 53 65 74 20 44 65  6d 6f 6e 22 29 0d 00 e9  |y Set Demon")...|
000017d0  3e f2 70 75 74 6c 69 6e  65 70 6c 75 73 28 68 61  |>.putlineplus(ha|
000017e0  6e 64 6c 65 25 2c 43 6f  6e 66 69 67 25 2c 31 2c  |ndle%,Config%,1,|
000017f0  22 77 69 6e 64 6f 77 20  74 65 72 6d 69 6e 61 6c  |"window terminal|
00001800  20 69 6e 74 65 72 6e 61  6c 22 29 0d 00 ea 49 21  | internal")...I!|
00001810  62 6c 6f 63 6b 25 20 3d  20 64 65 6d 6f 6e 68 61  |block% = demonha|
00001820  6e 64 25 20 3a 20 62 6c  6f 63 6b 25 21 34 20 3d  |nd% : block%!4 =|
00001830  20 31 20 3a 20 c8 99 20  22 57 69 6d 70 5f 47 65  | 1 : .. "Wimp_Ge|
00001840  74 49 63 6f 6e 53 74 61  74 65 22 20 2c 2c 62 6c  |tIconState" ,,bl|
00001850  6f 63 6b 25 0d 00 eb 24  70 74 72 25 20 3d 20 62  |ock%...$ptr% = b|
00001860  6c 6f 63 6b 25 21 32 38  20 3a 20 68 6f 73 74 24  |lock%!28 : host$|
00001870  20 3d 20 24 70 74 72 25  0d 00 ec 38 f2 70 75 74  | = $ptr%...8.put|
00001880  6c 69 6e 65 28 68 61 6e  64 6c 65 25 2c 22 68 6f  |line(handle%,"ho|
00001890  73 74 6e 61 6d 65 20 22  2b 68 6f 73 74 24 20 2b  |stname "+host$ +|
000018a0  20 22 2e 64 65 6d 6f 6e  2e 63 6f 2e 75 6b 22 29  | ".demon.co.uk")|
000018b0  0d 00 ed 20 e7 20 43 6f  6e 66 69 67 5f 6c 69 6e  |... . Config_lin|
000018c0  65 25 28 32 29 20 3e 20  6c 69 6e 65 31 25 20 8c  |e%(2) > line1% .|
000018d0  0d 00 ee 1e 20 20 6c 69  6e 65 32 25 20 3d 20 43  |....  line2% = C|
000018e0  6f 6e 66 69 67 5f 6c 69  6e 65 25 28 32 29 0d 00  |onfig_line%(2)..|
000018f0  ef 33 20 20 f2 77 72 69  74 65 6c 69 6e 65 73 28  |.3  .writelines(|
00001900  68 61 6e 64 6c 65 25 2c  20 43 6f 6e 66 69 67 25  |handle%, Config%|
00001910  2c 20 6c 69 6e 65 31 25  2c 20 6c 69 6e 65 32 25  |, line1%, line2%|
00001920  29 0d 00 f0 1e 20 20 6c  69 6e 65 31 25 20 3d 20  |)....  line1% = |
00001930  43 6f 6e 66 69 67 5f 6c  69 6e 65 25 28 32 29 0d  |Config_line%(2).|
00001940  00 f1 05 cd 0d 00 f2 31  62 6c 6f 63 6b 25 21 34  |.......1block%!4|
00001950  20 3d 20 36 20 3a 20 c8  99 20 22 57 69 6d 70 5f  | = 6 : .. "Wimp_|
00001960  47 65 74 49 63 6f 6e 53  74 61 74 65 22 2c 2c 62  |GetIconState",,b|
00001970  6c 6f 63 6b 25 0d 00 f3  3b 70 74 72 25 20 3d 20  |lock%...;ptr% = |
00001980  62 6c 6f 63 6b 25 21 32  38 20 3a 20 74 65 78 74  |block%!28 : text|
00001990  24 20 3d 20 22 69 70 20  61 64 64 72 65 73 73 20  |$ = "ip address |
000019a0  5b 22 20 2b 20 24 70 74  72 25 20 2b 20 22 5d 22  |[" + $ptr% + "]"|
000019b0  0d 00 f4 1b f2 70 75 74  6c 69 6e 65 28 68 61 6e  |.....putline(han|
000019c0  64 6c 65 25 2c 74 65 78  74 24 29 0d 00 f5 20 e7  |dle%,text$)... .|
000019d0  20 43 6f 6e 66 69 67 5f  6c 69 6e 65 25 28 33 29  | Config_line%(3)|
000019e0  20 3e 20 6c 69 6e 65 31  25 20 8c 0d 00 f6 1e 20  | > line1% ..... |
000019f0  20 6c 69 6e 65 32 25 20  3d 20 43 6f 6e 66 69 67  | line2% = Config|
00001a00  5f 6c 69 6e 65 25 28 33  29 0d 00 f7 33 20 20 f2  |_line%(3)...3  .|
00001a10  77 72 69 74 65 6c 69 6e  65 73 28 68 61 6e 64 6c  |writelines(handl|
00001a20  65 25 2c 20 43 6f 6e 66  69 67 25 2c 20 6c 69 6e  |e%, Config%, lin|
00001a30  65 31 25 2c 20 6c 69 6e  65 32 25 29 0d 00 f8 1e  |e1%, line2%)....|
00001a40  20 20 6c 69 6e 65 31 25  20 3d 20 43 6f 6e 66 69  |  line1% = Confi|
00001a50  67 5f 6c 69 6e 65 25 28  33 29 0d 00 f9 05 cd 0d  |g_line%(3)......|
00001a60  00 fa 31 62 6c 6f 63 6b  25 21 34 20 3d 20 34 20  |..1block%!4 = 4 |
00001a70  3a 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 49 63  |: .. "Wimp_GetIc|
00001a80  6f 6e 53 74 61 74 65 22  2c 2c 62 6c 6f 63 6b 25  |onState",,block%|
00001a90  0d 00 fb 48 70 74 72 25  20 3d 20 62 6c 6f 63 6b  |...Hptr% = block|
00001aa0  25 21 32 38 20 3a 20 74  65 78 74 24 20 3d 20 22  |%!28 : text$ = "|
00001ab0  61 74 74 61 63 68 20 61  73 79 20 22 2b 24 70 74  |attach asy "+$pt|
00001ac0  72 25 2b 22 20 73 6c 69  70 20 61 78 30 20 32 30  |r%+" slip ax0 20|
00001ad0  34 38 20 35 37 36 20 22  0d 00 fc 31 62 6c 6f 63  |48 576 "...1bloc|
00001ae0  6b 25 21 34 20 3d 20 39  20 3a 20 c8 99 20 22 57  |k%!4 = 9 : .. "W|
00001af0  69 6d 70 5f 47 65 74 49  63 6f 6e 53 74 61 74 65  |imp_GetIconState|
00001b00  22 2c 2c 62 6c 6f 63 6b  25 0d 00 fd 25 70 74 72  |",,block%...%ptr|
00001b10  25 20 3d 20 62 6c 6f 63  6b 25 21 32 38 20 3a 20  |% = block%!28 : |
00001b20  74 65 78 74 24 20 2b 3d  20 24 70 74 72 25 0d 00  |text$ += $ptr%..|
00001b30  fe 1b f2 70 75 74 6c 69  6e 65 28 68 61 6e 64 6c  |...putline(handl|
00001b40  65 25 2c 74 65 78 74 24  29 0d 00 ff 1f e7 20 43  |e%,text$)..... C|
00001b50  6f 6e 66 69 67 5f 6c 69  6e 65 25 28 34 29 20 3e  |onfig_line%(4) >|
00001b60  6c 69 6e 65 31 25 20 8c  0d 01 00 1e 20 20 6c 69  |line1% .....  li|
00001b70  6e 65 32 25 20 3d 20 43  6f 6e 66 69 67 5f 6c 69  |ne2% = Config_li|
00001b80  6e 65 25 28 34 29 0d 01  01 33 20 20 f2 77 72 69  |ne%(4)...3  .wri|
00001b90  74 65 6c 69 6e 65 73 28  68 61 6e 64 6c 65 25 2c  |telines(handle%,|
00001ba0  20 43 6f 6e 66 69 67 25  2c 20 6c 69 6e 65 31 25  | Config%, line1%|
00001bb0  2c 20 6c 69 6e 65 32 25  29 0d 01 02 1e 20 20 6c  |, line2%)....  l|
00001bc0  69 6e 65 31 25 20 3d 20  43 6f 6e 66 69 67 5f 6c  |ine1% = Config_l|
00001bd0  69 6e 65 25 28 34 29 0d  01 03 05 cd 0d 01 04 4c  |ine%(4)........L|
00001be0  f2 70 75 74 6c 69 6e 65  70 6c 75 73 28 68 61 6e  |.putlineplus(han|
00001bf0  64 6c 65 25 2c 43 6f 6e  66 69 67 25 2c 35 2c 22  |dle%,Config%,5,"|
00001c00  72 6f 75 74 65 20 61 64  64 20 64 65 66 61 75 6c  |route add defaul|
00001c10  74 20 61 78 30 20 5b 31  35 38 2e 31 35 32 2e 31  |t ax0 [158.152.1|
00001c20  2e 37 31 5d 20 31 22 29  0d 01 05 2f f2 70 75 74  |.71] 1").../.put|
00001c30  6c 69 6e 65 70 6c 75 73  28 68 61 6e 64 6c 65 25  |lineplus(handle%|
00001c40  2c 43 6f 6e 66 69 67 25  2c 36 2c 22 69 70 20 74  |,Config%,6,"ip t|
00001c50  74 6c 20 36 34 22 29 0d  01 06 38 f2 70 75 74 6c  |tl 64")...8.putl|
00001c60  69 6e 65 70 6c 75 73 28  68 61 6e 64 6c 65 25 2c  |ineplus(handle%,|
00001c70  43 6f 6e 66 69 67 25 2c  37 2c 22 23 77 69 6e 64  |Config%,7,"#wind|
00001c80  6f 77 20 63 75 72 73 6f  72 20 6f 66 66 22 29 0d  |ow cursor off").|
00001c90  01 07 31 f2 70 75 74 6c  69 6e 65 70 6c 75 73 28  |..1.putlineplus(|
00001ca0  68 61 6e 64 6c 65 25 2c  43 6f 6e 66 69 67 25 2c  |handle%,Config%,|
00001cb0  38 2c 22 74 63 70 20 6d  73 73 20 35 33 36 22 29  |8,"tcp mss 536")|
00001cc0  0d 01 08 34 f2 70 75 74  6c 69 6e 65 70 6c 75 73  |...4.putlineplus|
00001cd0  28 68 61 6e 64 6c 65 25  2c 43 6f 6e 66 69 67 25  |(handle%,Config%|
00001ce0  2c 39 2c 22 74 63 70 20  69 72 74 74 20 33 30 30  |,9,"tcp irtt 300|
00001cf0  30 30 22 29 0d 01 09 36  f2 70 75 74 6c 69 6e 65  |00")...6.putline|
00001d00  70 6c 75 73 28 68 61 6e  64 6c 65 25 2c 43 6f 6e  |plus(handle%,Con|
00001d10  66 69 67 25 2c 31 30 2c  22 74 63 70 20 77 69 6e  |fig%,10,"tcp win|
00001d20  64 6f 77 20 35 33 36 30  22 29 0d 01 0a 36 f2 70  |dow 5360")...6.p|
00001d30  75 74 6c 69 6e 65 70 6c  75 73 28 68 61 6e 64 6c  |utlineplus(handl|
00001d40  65 25 2c 43 6f 6e 66 69  67 25 2c 31 31 2c 22 74  |e%,Config%,11,"t|
00001d50  63 70 20 68 61 6e 67 75  70 20 31 35 20 33 22 29  |cp hangup 15 3")|
00001d60  0d 01 0b 40 f2 70 75 74  6c 69 6e 65 70 6c 75 73  |...@.putlineplus|
00001d70  28 68 61 6e 64 6c 65 25  2c 43 6f 6e 66 69 67 25  |(handle%,Config%|
00001d80  2c 31 32 2c 22 64 6f 6d  61 69 6e 20 73 75 66 66  |,12,"domain suff|
00001d90  69 78 20 64 65 6d 6f 6e  2e 63 6f 2e 75 6b 22 29  |ix demon.co.uk")|
00001da0  0d 01 0c 3e f2 70 75 74  6c 69 6e 65 70 6c 75 73  |...>.putlineplus|
00001db0  28 68 61 6e 64 6c 65 25  2c 43 6f 6e 66 69 67 25  |(handle%,Config%|
00001dc0  2c 31 33 2c 22 6c 6f 67  20 3c 54 43 50 49 50 24  |,13,"log <TCPIP$|
00001dd0  44 69 72 3e 2e 6c 6f 67  66 69 6c 65 22 29 0d 01  |Dir>.logfile")..|
00001de0  0d 31 f2 70 75 74 6c 69  6e 65 70 6c 75 73 28 68  |.1.putlineplus(h|
00001df0  61 6e 64 6c 65 25 2c 43  6f 6e 66 69 67 25 2c 31  |andle%,Config%,1|
00001e00  34 2c 22 73 74 61 72 74  20 65 63 68 6f 22 29 0d  |4,"start echo").|
00001e10  01 0e 34 f2 70 75 74 6c  69 6e 65 70 6c 75 73 28  |..4.putlineplus(|
00001e20  68 61 6e 64 6c 65 25 2c  43 6f 6e 66 69 67 25 2c  |handle%,Config%,|
00001e30  31 35 2c 22 73 74 61 72  74 20 64 69 73 63 61 72  |15,"start discar|
00001e40  64 22 29 0d 01 0f 30 f2  70 75 74 6c 69 6e 65 70  |d")...0.putlinep|
00001e50  6c 75 73 28 68 61 6e 64  6c 65 25 2c 43 6f 6e 66  |lus(handle%,Conf|
00001e60  69 67 25 2c 31 36 2c 22  73 74 61 72 74 20 66 74  |ig%,16,"start ft|
00001e70  70 22 29 0d 01 10 31 f2  70 75 74 6c 69 6e 65 70  |p")...1.putlinep|
00001e80  6c 75 73 28 68 61 6e 64  6c 65 25 2c 43 6f 6e 66  |lus(handle%,Conf|
00001e90  69 67 25 2c 31 37 2c 22  73 74 61 72 74 20 73 6d  |ig%,17,"start sm|
00001ea0  74 70 22 29 0d 01 11 33  f2 70 75 74 6c 69 6e 65  |tp")...3.putline|
00001eb0  70 6c 75 73 28 68 61 6e  64 6c 65 25 2c 43 6f 6e  |plus(handle%,Con|
00001ec0  66 69 67 25 2c 31 38 2c  22 73 74 61 72 74 20 66  |fig%,18,"start f|
00001ed0  69 6e 67 65 72 22 29 0d  01 12 33 f2 70 75 74 6c  |inger")...3.putl|
00001ee0  69 6e 65 70 6c 75 73 28  68 61 6e 64 6c 65 25 2c  |ineplus(handle%,|
00001ef0  43 6f 6e 66 69 67 25 2c  31 39 2c 22 73 74 61 72  |Config%,19,"star|
00001f00  74 20 74 65 6c 6e 65 74  22 29 0d 01 13 0d d9 23  |t telnet").....#|
00001f10  68 61 6e 64 6c 65 25 0d  01 14 26 ff 20 28 22 53  |handle%...&. ("S|
00001f20  65 74 74 79 70 65 20 22  2b 64 69 72 24 2b 22 2e  |ettype "+dir$+".|
00001f30  43 6f 6e 66 69 67 20 54  45 58 54 22 29 0d 01 15  |Config TEXT")...|
00001f40  21 68 61 6e 64 6c 65 25  20 3d 20 ae 28 64 69 72  |!handle% = .(dir|
00001f50  24 2b 22 2e 41 75 74 6f  45 78 65 63 22 29 0d 01  |$+".AutoExec")..|
00001f60  16 44 f2 70 75 74 6c 69  6e 65 70 6c 75 73 28 68  |.D.putlineplus(h|
00001f70  61 6e 64 6c 65 25 2c 41  75 74 6f 45 78 65 63 25  |andle%,AutoExec%|
00001f80  2c 31 2c 22 66 69 6e 67  65 72 20 6d 6f 74 64 40  |,1,"finger motd@|
00001f90  67 61 74 65 2e 64 65 6d  6f 6e 2e 63 6f 2e 75 6b  |gate.demon.co.uk|
00001fa0  22 29 0d 01 17 39 f2 70  75 74 6c 69 6e 65 28 68  |")...9.putline(h|
00001fb0  61 6e 64 6c 65 25 2c 22  66 69 6e 67 65 72 20 22  |andle%,"finger "|
00001fc0  2b 68 6f 73 74 24 2b 22  40 70 6f 73 74 2e 64 65  |+host$+"@post.de|
00001fd0  6d 6f 6e 2e 63 6f 2e 75  6b 22 29 0d 01 18 22 e7  |mon.co.uk")...".|
00001fe0  20 41 75 74 6f 45 78 65  63 5f 6c 69 6e 65 25 28  | AutoExec_line%(|
00001ff0  32 29 20 3e 20 6c 69 6e  65 31 25 20 8c 0d 01 19  |2) > line1% ....|
00002000  20 20 20 6c 69 6e 65 32  25 20 3d 20 41 75 74 6f  |   line2% = Auto|
00002010  45 78 65 63 5f 6c 69 6e  65 25 28 32 29 0d 01 1a  |Exec_line%(2)...|
00002020  35 20 20 f2 77 72 69 74  65 6c 69 6e 65 73 28 68  |5  .writelines(h|
00002030  61 6e 64 6c 65 25 2c 20  41 75 74 6f 45 78 65 63  |andle%, AutoExec|
00002040  25 2c 20 6c 69 6e 65 31  25 2c 20 6c 69 6e 65 32  |%, line1%, line2|
00002050  25 29 0d 01 1b 20 20 20  6c 69 6e 65 31 25 20 3d  |%)...   line1% =|
00002060  20 41 75 74 6f 45 78 65  63 5f 6c 69 6e 65 25 28  | AutoExec_line%(|
00002070  32 29 0d 01 1c 05 cd 0d  01 1d 34 f2 70 75 74 6c  |2)........4.putl|
00002080  69 6e 65 70 6c 75 73 28  68 61 6e 64 6c 65 25 2c  |ineplus(handle%,|
00002090  41 75 74 6f 45 78 65 63  25 2c 33 2c 22 6e 6e 74  |AutoExec%,3,"nnt|
000020a0  70 20 74 72 61 63 65 20  32 22 29 0d 01 1e 36 f2  |p trace 2")...6.|
000020b0  70 75 74 6c 69 6e 65 70  6c 75 73 28 68 61 6e 64  |putlineplus(hand|
000020c0  6c 65 25 2c 41 75 74 6f  45 78 65 63 25 2c 34 2c  |le%,AutoExec%,4,|
000020d0  22 6e 6e 74 70 20 66 75  64 67 65 20 31 32 30 22  |"nntp fudge 120"|
000020e0  29 0d 01 1f 36 f2 70 75  74 6c 69 6e 65 70 6c 75  |)...6.putlineplu|
000020f0  73 28 68 61 6e 64 6c 65  25 2c 41 75 74 6f 45 78  |s(handle%,AutoEx|
00002100  65 63 25 2c 35 2c 22 6e  6e 74 70 20 64 69 72 65  |ec%,5,"nntp dire|
00002110  63 74 20 6f 6e 22 29 0d  01 20 34 f2 70 75 74 6c  |ct on").. 4.putl|
00002120  69 6e 65 70 6c 75 73 28  68 61 6e 64 6c 65 25 2c  |ineplus(handle%,|
00002130  41 75 74 6f 45 78 65 63  25 2c 36 2c 22 6e 6e 74  |AutoExec%,6,"nnt|
00002140  70 20 62 61 74 63 68 20  38 22 29 0d 01 21 32 62  |p batch 8")..!2b|
00002150  6c 6f 63 6b 25 21 34 20  3d 20 31 34 20 3a 20 c8  |lock%!4 = 14 : .|
00002160  99 20 22 57 69 6d 70 5f  47 65 74 49 63 6f 6e 53  |. "Wimp_GetIconS|
00002170  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 0d 01 22  |tate",,block%.."|
00002180  2a 70 74 72 25 20 3d 20  62 6c 6f 63 6b 25 21 32  |*ptr% = block%!2|
00002190  38 20 3a 20 6e 65 77 73  67 72 6f 75 70 24 20 2b  |8 : newsgroup$ +|
000021a0  3d 20 24 70 74 72 25 0d  01 23 47 f2 70 75 74 6c  |= $ptr%..#G.putl|
000021b0  69 6e 65 28 68 61 6e 64  6c 65 25 2c 22 6e 6e 74  |ine(handle%,"nnt|
000021c0  70 20 61 64 64 73 65 72  76 65 72 20 6e 65 77 73  |p addserver news|
000021d0  2e 64 65 6d 6f 6e 2e 63  6f 2e 75 6b 20 36 30 30  |.demon.co.uk 600|
000021e0  20 22 2b 6e 65 77 73 67  72 6f 75 70 24 29 0d 01  | "+newsgroup$)..|
000021f0  24 22 e7 20 41 75 74 6f  45 78 65 63 5f 6c 69 6e  |$". AutoExec_lin|
00002200  65 25 28 37 29 20 3e 20  6c 69 6e 65 31 25 20 8c  |e%(7) > line1% .|
00002210  0d 01 25 20 20 20 6c 69  6e 65 32 25 20 3d 20 41  |..%   line2% = A|
00002220  75 74 6f 45 78 65 63 5f  6c 69 6e 65 25 28 37 29  |utoExec_line%(7)|
00002230  0d 01 26 35 20 20 f2 77  72 69 74 65 6c 69 6e 65  |..&5  .writeline|
00002240  73 28 68 61 6e 64 6c 65  25 2c 20 41 75 74 6f 45  |s(handle%, AutoE|
00002250  78 65 63 25 2c 20 6c 69  6e 65 31 25 2c 20 6c 69  |xec%, line1%, li|
00002260  6e 65 32 25 29 0d 01 27  20 20 20 6c 69 6e 65 31  |ne2%)..'   line1|
00002270  25 20 3d 20 41 75 74 6f  45 78 65 63 5f 6c 69 6e  |% = AutoExec_lin|
00002280  65 25 28 37 29 0d 01 28  05 cd 0d 01 29 32 62 6c  |e%(7)..(....)2bl|
00002290  6f 63 6b 25 21 34 20 3d  20 31 31 20 3a 20 c8 99  |ock%!4 = 11 : ..|
000022a0  20 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  | "Wimp_GetIconSt|
000022b0  61 74 65 22 2c 2c 62 6c  6f 63 6b 25 0d 01 2a 21  |ate",,block%..*!|
000022c0  e7 20 28 28 62 6c 6f 63  6b 25 21 32 36 29 20 80  |. ((block%!26) .|
000022d0  20 26 32 30 29 20 3d 20  26 32 30 20 8c 0d 01 2b  | &20) = &20 ...+|
000022e0  34 20 20 f2 70 75 74 6c  69 6e 65 28 68 61 6e 64  |4  .putline(hand|
000022f0  6c 65 25 2c 22 6e 6e 74  70 20 6b 69 63 6b 20 6e  |le%,"nntp kick n|
00002300  65 77 73 2e 64 65 6d 6f  6e 2e 63 6f 2e 75 6b 22  |ews.demon.co.uk"|
00002310  29 0d 01 2c 05 cc 0d 01  2d 35 20 20 f2 70 75 74  |)..,....-5  .put|
00002320  6c 69 6e 65 28 68 61 6e  64 6c 65 25 2c 22 23 6e  |line(handle%,"#n|
00002330  6e 74 70 20 6b 69 63 6b  20 6e 65 77 73 2e 64 65  |ntp kick news.de|
00002340  6d 6f 6e 2e 63 6f 2e 75  6b 22 29 0d 01 2e 05 cd  |mon.co.uk").....|
00002350  0d 01 2f 22 e7 20 41 75  74 6f 45 78 65 63 5f 6c  |../". AutoExec_l|
00002360  69 6e 65 25 28 38 29 20  3e 20 6c 69 6e 65 31 25  |ine%(8) > line1%|
00002370  20 8c 0d 01 30 20 20 20  6c 69 6e 65 32 25 20 3d  | ...0   line2% =|
00002380  20 41 75 74 6f 45 78 65  63 5f 6c 69 6e 65 25 28  | AutoExec_line%(|
00002390  38 29 0d 01 31 35 20 20  f2 77 72 69 74 65 6c 69  |8)..15  .writeli|
000023a0  6e 65 73 28 68 61 6e 64  6c 65 25 2c 20 41 75 74  |nes(handle%, Aut|
000023b0  6f 45 78 65 63 25 2c 20  6c 69 6e 65 31 25 2c 20  |oExec%, line1%, |
000023c0  6c 69 6e 65 32 25 29 0d  01 32 20 20 20 6c 69 6e  |line2%)..2   lin|
000023d0  65 31 25 20 3d 20 41 75  74 6f 45 78 65 63 5f 6c  |e1% = AutoExec_l|
000023e0  69 6e 65 25 28 38 29 0d  01 33 05 cd 0d 01 34 43  |ine%(8)..3....4C|
000023f0  f2 70 75 74 6c 69 6e 65  70 6c 75 73 28 68 61 6e  |.putlineplus(han|
00002400  64 6c 65 25 2c 41 75 74  6f 45 78 65 63 25 2c 39  |dle%,AutoExec%,9|
00002410  2c 22 74 69 6d 65 20 73  65 72 76 65 72 20 6e 74  |,"time server nt|
00002420  70 2e 64 65 6d 6f 6e 2e  63 6f 2e 75 6b 22 29 0d  |p.demon.co.uk").|
00002430  01 35 32 f2 70 75 74 6c  69 6e 65 70 6c 75 73 28  |.52.putlineplus(|
00002440  68 61 6e 64 6c 65 25 2c  41 75 74 6f 45 78 65 63  |handle%,AutoExec|
00002450  25 2c 31 30 2c 22 74 69  6d 65 20 72 65 61 64 22  |%,10,"time read"|
00002460  29 0d 01 36 44 f2 70 75  74 6c 69 6e 65 70 6c 75  |)..6D.putlineplu|
00002470  73 28 68 61 6e 64 6c 65  25 2c 41 75 74 6f 45 78  |s(handle%,AutoEx|
00002480  65 63 25 2c 31 31 2c 22  73 6d 74 70 20 67 61 74  |ec%,11,"smtp gat|
00002490  65 77 61 79 20 5b 31 35  38 2e 31 35 32 2e 31 2e  |eway [158.152.1.|
000024a0  37 32 5d 22 29 0d 01 37  35 f2 70 75 74 6c 69 6e  |72]")..75.putlin|
000024b0  65 70 6c 75 73 28 68 61  6e 64 6c 65 25 2c 41 75  |eplus(handle%,Au|
000024c0  74 6f 45 78 65 63 25 2c  31 32 2c 22 73 6d 74 70  |toExec%,12,"smtp|
000024d0  20 74 72 61 63 65 20 31  22 29 0d 01 38 32 62 6c  | trace 1")..82bl|
000024e0  6f 63 6b 25 21 34 20 3d  20 31 32 20 3a 20 c8 99  |ock%!4 = 12 : ..|
000024f0  20 22 57 69 6d 70 5f 47  65 74 49 63 6f 6e 53 74  | "Wimp_GetIconSt|
00002500  61 74 65 22 2c 2c 62 6c  6f 63 6b 25 0d 01 39 21  |ate",,block%..9!|
00002510  e7 20 28 28 62 6c 6f 63  6b 25 21 32 36 29 20 80  |. ((block%!26) .|
00002520  20 26 32 30 29 20 3d 20  26 32 30 20 8c 0d 01 3a  | &20) = &20 ...:|
00002530  23 20 20 f2 70 75 74 6c  69 6e 65 28 68 61 6e 64  |#  .putline(hand|
00002540  6c 65 25 2c 22 73 6d 74  70 20 6b 69 63 6b 22 29  |le%,"smtp kick")|
00002550  0d 01 3b 05 cc 0d 01 3c  24 20 20 f2 70 75 74 6c  |..;....<$  .putl|
00002560  69 6e 65 28 68 61 6e 64  6c 65 25 2c 22 23 73 6d  |ine(handle%,"#sm|
00002570  74 70 20 6b 69 63 6b 22  29 0d 01 3d 05 cd 0d 01  |tp kick")..=....|
00002580  3e 0e d9 23 20 68 61 6e  64 6c 65 25 0d 01 3f 28  |>..# handle%..?(|
00002590  ff 20 28 22 53 65 74 74  79 70 65 20 22 2b 64 69  |. ("Settype "+di|
000025a0  72 24 2b 22 2e 41 75 74  6f 45 78 65 63 20 54 45  |r$+".AutoExec TE|
000025b0  58 54 22 29 0d 01 40 28  67 72 6f 75 70 24 20 3d  |XT")..@(group$ =|
000025c0  20 64 69 72 24 2b 22 2e  22 2b 6e 65 77 73 67 72  | dir$+"."+newsgr|
000025d0  6f 75 70 24 2b 22 47 72  6f 75 70 22 0d 01 41 17  |oup$+"Group"..A.|
000025e0  68 61 6e 64 6c 65 25 20  3d 20 8e 28 67 72 6f 75  |handle% = .(grou|
000025f0  70 24 29 0d 01 42 13 e7  20 68 61 6e 64 6c 65 25  |p$)..B.. handle%|
00002600  20 3d 20 30 20 8c 0d 01  43 40 20 20 ff 28 22 43  | = 0 ...C@  .("C|
00002610  4f 50 59 20 3c 53 65 74  44 65 6d 6f 6e 24 44 69  |OPY <SetDemon$Di|
00002620  72 3e 2e 54 6f 4b 41 39  51 2e 44 65 6d 47 72 6f  |r>.ToKA9Q.DemGro|
00002630  75 70 64 20 22 2b 67 72  6f 75 70 24 2b 22 20 7e  |upd "+group$+" ~|
00002640  56 7e 43 46 22 29 0d 01  44 05 cc 0d 01 45 0f 20  |V~CF")..D....E. |
00002650  20 d9 23 68 61 6e 64 6c  65 25 0d 01 46 07 cd 20  | .#handle%..F.. |
00002660  20 0d 01 47 27 67 72 6f  75 70 24 20 3d 20 64 69  | ..G'group$ = di|
00002670  72 24 2b 22 2e 22 2b 6e  65 77 73 67 72 6f 75 70  |r$+"."+newsgroup|
00002680  24 2b 22 4c 61 73 74 22  0d 01 48 17 68 61 6e 64  |$+"Last"..H.hand|
00002690  6c 65 25 20 3d 20 8e 28  67 72 6f 75 70 24 29 0d  |le% = .(group$).|
000026a0  01 49 13 e7 20 68 61 6e  64 6c 65 25 20 3d 20 30  |.I.. handle% = 0|
000026b0  20 8c 0d 01 4a 19 20 20  68 61 6e 64 6c 65 25 20  | ...J.  handle% |
000026c0  3d 20 ae 28 67 72 6f 75  70 24 29 0d 01 4b 2c 20  |= .(group$)..K, |
000026d0  20 21 62 6c 6f 63 6b 32  25 20 3d 20 33 20 3a 20  | !block2% = 3 : |
000026e0  c8 99 20 22 4f 53 5f 57  6f 72 64 22 2c 31 34 2c  |.. "OS_Word",14,|
000026f0  62 6c 6f 63 6b 32 25 0d  01 4c 48 20 20 c8 99 20  |block2%..LH  .. |
00002700  22 4f 53 5f 43 6f 6e 76  65 72 74 44 61 74 65 41  |"OS_ConvertDateA|
00002710  6e 64 54 69 6d 65 22 2c  62 6c 6f 63 6b 32 25 2c  |ndTime",block2%,|
00002720  62 6c 6f 63 6b 25 2c 32  35 35 2c 22 25 59 52 25  |block%,255,"%YR%|
00002730  4d 4e 25 44 59 25 32 34  25 4d 49 25 53 45 22 0d  |MN%DY%24%MI%SE".|
00002740  01 4d 23 20 20 f2 70 75  74 6c 69 6e 65 28 68 61  |.M#  .putline(ha|
00002750  6e 64 6c 65 25 2c c0 24  62 6c 6f 63 6b 25 2c 36  |ndle%,.$block%,6|
00002760  29 29 0d 01 4e 25 20 20  f2 70 75 74 6c 69 6e 65  |))..N%  .putline|
00002770  28 68 61 6e 64 6c 65 25  2c c1 24 62 6c 6f 63 6b  |(handle%,.$block|
00002780  25 2c 37 2c 36 29 29 0d  01 4f 05 cd 0d 01 50 0e  |%,7,6))..O....P.|
00002790  d9 23 20 68 61 6e 64 6c  65 25 0d 01 51 32 ff 20  |.# handle%..Q2. |
000027a0  28 22 53 65 74 74 79 70  65 20 22 2b 64 69 72 24  |("Settype "+dir$|
000027b0  2b 22 2e 22 2b 6e 65 77  73 67 72 6f 75 70 24 2b  |+"."+newsgroup$+|
000027c0  22 4c 61 73 74 20 54 45  58 54 22 29 0d 01 52 05  |"Last TEXT")..R.|
000027d0  e1 0d 01 53 04 0d 01 54  15 dd 20 f2 6c 6f 61 64  |...S...T.. .load|
000027e0  31 33 31 62 28 64 69 72  24 29 0d 01 55 05 3a 0d  |131b(dir$)..U.:.|
000027f0  01 56 11 e3 20 69 25 20  3d 20 31 20 b8 20 31 39  |.V.. i% = 1 . 19|
00002800  0d 01 57 1b 20 20 43 6f  6e 66 69 67 5f 6c 69 6e  |..W.  Config_lin|
00002810  65 25 28 69 25 29 20 3d  20 2d 31 0d 01 58 05 ed  |e%(i%) = -1..X..|
00002820  0d 01 59 11 e3 20 69 25  20 3d 20 31 20 b8 20 31  |..Y.. i% = 1 . 1|
00002830  33 0d 01 5a 1d 20 20 41  75 74 6f 45 78 65 63 5f  |3..Z.  AutoExec_|
00002840  6c 69 6e 65 25 28 69 25  29 20 3d 20 2d 31 0d 01  |line%(i%) = -1..|
00002850  5b 05 ed 0d 01 5c 1f 68  61 6e 64 6c 65 25 20 3d  |[....\.handle% =|
00002860  20 8e 28 64 69 72 24 2b  22 2e 43 6f 6e 66 69 67  | .(dir$+".Config|
00002870  22 29 0d 01 5d 3e e7 20  68 61 6e 64 6c 65 25 20  |")..]>. handle% |
00002880  3d 20 30 20 f2 65 72 72  6f 72 28 22 46 69 6c 65  |= 0 .error("File|
00002890  20 22 2b 64 69 72 24 2b  22 2e 43 6f 6e 66 69 67  | "+dir$+".Config|
000028a0  20 6e 6f 74 20 66 6f 75  6e 64 22 29 20 3a 20 e1  | not found") : .|
000028b0  0d 01 5e 1b 43 6f 6e 66  69 67 5f 4c 65 6e 25 20  |..^.Config_Len% |
000028c0  3d 20 a2 23 68 61 6e 64  6c 65 25 0d 01 5f 19 de  |= .#handle%.._..|
000028d0  20 43 6f 6e 66 69 67 25  20 43 6f 6e 66 69 67 5f  | Config% Config_|
000028e0  4c 65 6e 25 0d 01 60 0e  d9 23 20 68 61 6e 64 6c  |Len%..`..# handl|
000028f0  65 25 0d 01 61 2a ff 28  22 4c 4f 41 44 20 22 2b  |e%..a*.("LOAD "+|
00002900  64 69 72 24 2b 22 2e 43  6f 6e 66 69 67 20 22 2b  |dir$+".Config "+|
00002910  c3 7e 28 43 6f 6e 66 69  67 25 29 29 0d 01 62 49  |.~(Config%))..bI|
00002920  43 6f 6e 66 69 67 5f 6c  69 6e 65 25 28 31 29 20  |Config_line%(1) |
00002930  3d 20 a4 6c 6f 63 61 74  65 5f 6c 69 6e 65 28 43  |= .locate_line(C|
00002940  6f 6e 66 69 67 25 2c 43  6f 6e 66 69 67 5f 4c 65  |onfig%,Config_Le|
00002950  6e 25 2c 22 77 69 6e 64  6f 77 20 74 65 72 6d 69  |n%,"window termi|
00002960  6e 61 6c 22 29 0d 01 63  42 43 6f 6e 66 69 67 5f  |nal")..cBConfig_|
00002970  6c 69 6e 65 25 28 32 29  20 3d 20 a4 6c 6f 63 61  |line%(2) = .loca|
00002980  74 65 5f 6c 69 6e 65 28  43 6f 6e 66 69 67 25 2c  |te_line(Config%,|
00002990  43 6f 6e 66 69 67 5f 4c  65 6e 25 2c 22 68 6f 73  |Config_Len%,"hos|
000029a0  74 6e 61 6d 65 22 29 0d  01 64 44 43 6f 6e 66 69  |tname")..dDConfi|
000029b0  67 5f 6c 69 6e 65 25 28  33 29 20 3d 20 a4 6c 6f  |g_line%(3) = .lo|
000029c0  63 61 74 65 5f 6c 69 6e  65 28 43 6f 6e 66 69 67  |cate_line(Config|
000029d0  25 2c 43 6f 6e 66 69 67  5f 4c 65 6e 25 2c 22 69  |%,Config_Len%,"i|
000029e0  70 20 61 64 64 72 65 73  73 22 29 0d 01 65 41 43  |p address")..eAC|
000029f0  6f 6e 66 69 67 5f 6c 69  6e 65 25 28 34 29 20 3d  |onfig_line%(4) =|
00002a00  20 a4 6c 6f 63 61 74 65  5f 6c 69 6e 65 28 43 6f  | .locate_line(Co|
00002a10  6e 66 69 67 25 2c 43 6f  6e 66 69 67 5f 4c 65 6e  |nfig%,Config_Len|
00002a20  25 2c 22 61 74 74 61 63  68 20 22 29 0d 01 66 43  |%,"attach ")..fC|
00002a30  43 6f 6e 66 69 67 5f 6c  69 6e 65 25 28 35 29 20  |Config_line%(5) |
00002a40  3d 20 a4 6c 6f 63 61 74  65 5f 6c 69 6e 65 28 43  |= .locate_line(C|
00002a50  6f 6e 66 69 67 25 2c 43  6f 6e 66 69 67 5f 4c 65  |onfig%,Config_Le|
00002a60  6e 25 2c 22 72 6f 75 74  65 20 61 64 64 22 29 0d  |n%,"route add").|
00002a70  01 67 40 43 6f 6e 66 69  67 5f 6c 69 6e 65 25 28  |.g@Config_line%(|
00002a80  36 29 20 3d 20 a4 6c 6f  63 61 74 65 5f 6c 69 6e  |6) = .locate_lin|
00002a90  65 28 43 6f 6e 66 69 67  25 2c 43 6f 6e 66 69 67  |e(Config%,Config|
00002aa0  5f 4c 65 6e 25 2c 22 69  70 20 74 74 6c 22 29 0d  |_Len%,"ip ttl").|
00002ab0  01 68 47 43 6f 6e 66 69  67 5f 6c 69 6e 65 25 28  |.hGConfig_line%(|
00002ac0  37 29 20 3d 20 a4 6c 6f  63 61 74 65 5f 6c 69 6e  |7) = .locate_lin|
00002ad0  65 28 43 6f 6e 66 69 67  25 2c 43 6f 6e 66 69 67  |e(Config%,Config|
00002ae0  5f 4c 65 6e 25 2c 22 77  69 6e 64 6f 77 20 63 75  |_Len%,"window cu|
00002af0  72 73 6f 72 22 29 0d 01  69 41 43 6f 6e 66 69 67  |rsor")..iAConfig|
00002b00  5f 6c 69 6e 65 25 28 38  29 20 3d 20 a4 6c 6f 63  |_line%(8) = .loc|
00002b10  61 74 65 5f 6c 69 6e 65  28 43 6f 6e 66 69 67 25  |ate_line(Config%|
00002b20  2c 43 6f 6e 66 69 67 5f  4c 65 6e 25 2c 22 74 63  |,Config_Len%,"tc|
00002b30  70 20 6d 73 73 22 29 0d  01 6a 42 43 6f 6e 66 69  |p mss")..jBConfi|
00002b40  67 5f 6c 69 6e 65 25 28  39 29 20 3d 20 a4 6c 6f  |g_line%(9) = .lo|
00002b50  63 61 74 65 5f 6c 69 6e  65 28 43 6f 6e 66 69 67  |cate_line(Config|
00002b60  25 2c 43 6f 6e 66 69 67  5f 4c 65 6e 25 2c 22 74  |%,Config_Len%,"t|
00002b70  63 70 20 69 72 74 74 22  29 0d 01 6b 45 43 6f 6e  |cp irtt")..kECon|
00002b80  66 69 67 5f 6c 69 6e 65  25 28 31 30 29 20 3d 20  |fig_line%(10) = |
00002b90  a4 6c 6f 63 61 74 65 5f  6c 69 6e 65 28 43 6f 6e  |.locate_line(Con|
00002ba0  66 69 67 25 2c 43 6f 6e  66 69 67 5f 4c 65 6e 25  |fig%,Config_Len%|
00002bb0  2c 22 74 63 70 20 77 69  6e 64 6f 77 22 29 0d 01  |,"tcp window")..|
00002bc0  6c 45 43 6f 6e 66 69 67  5f 6c 69 6e 65 25 28 31  |lEConfig_line%(1|
00002bd0  31 29 20 3d 20 a4 6c 6f  63 61 74 65 5f 6c 69 6e  |1) = .locate_lin|
00002be0  65 28 43 6f 6e 66 69 67  25 2c 43 6f 6e 66 69 67  |e(Config%,Config|
00002bf0  5f 4c 65 6e 25 2c 22 74  63 70 20 68 61 6e 67 75  |_Len%,"tcp hangu|
00002c00  70 22 29 0d 01 6d 48 43  6f 6e 66 69 67 5f 6c 69  |p")..mHConfig_li|
00002c10  6e 65 25 28 31 32 29 20  3d 20 a4 6c 6f 63 61 74  |ne%(12) = .locat|
00002c20  65 5f 6c 69 6e 65 28 43  6f 6e 66 69 67 25 2c 43  |e_line(Config%,C|
00002c30  6f 6e 66 69 67 5f 4c 65  6e 25 2c 22 64 6f 6d 61  |onfig_Len%,"doma|
00002c40  69 6e 20 73 75 66 66 69  78 22 29 0d 01 6e 3f 43  |in suffix")..n?C|
00002c50  6f 6e 66 69 67 5f 6c 69  6e 65 25 28 31 33 29 20  |onfig_line%(13) |
00002c60  3d 20 a4 6c 6f 63 61 74  65 5f 6c 69 6e 65 28 43  |= .locate_line(C|
00002c70  6f 6e 66 69 67 25 2c 43  6f 6e 66 69 67 5f 4c 65  |onfig%,Config_Le|
00002c80  6e 25 2c 22 6c 6f 67 20  22 29 0d 01 6f 45 43 6f  |n%,"log ")..oECo|
00002c90  6e 66 69 67 5f 6c 69 6e  65 25 28 31 34 29 20 3d  |nfig_line%(14) =|
00002ca0  20 a4 6c 6f 63 61 74 65  5f 6c 69 6e 65 28 43 6f  | .locate_line(Co|
00002cb0  6e 66 69 67 25 2c 43 6f  6e 66 69 67 5f 4c 65 6e  |nfig%,Config_Len|
00002cc0  25 2c 22 73 74 61 72 74  20 65 63 68 6f 22 29 0d  |%,"start echo").|
00002cd0  01 70 48 43 6f 6e 66 69  67 5f 6c 69 6e 65 25 28  |.pHConfig_line%(|
00002ce0  31 35 29 20 3d 20 a4 6c  6f 63 61 74 65 5f 6c 69  |15) = .locate_li|
00002cf0  6e 65 28 43 6f 6e 66 69  67 25 2c 43 6f 6e 66 69  |ne(Config%,Confi|
00002d00  67 5f 4c 65 6e 25 2c 22  73 74 61 72 74 20 64 69  |g_Len%,"start di|
00002d10  73 63 61 72 64 22 29 0d  01 71 44 43 6f 6e 66 69  |scard")..qDConfi|
00002d20  67 5f 6c 69 6e 65 25 28  31 36 29 20 3d 20 a4 6c  |g_line%(16) = .l|
00002d30  6f 63 61 74 65 5f 6c 69  6e 65 28 43 6f 6e 66 69  |ocate_line(Confi|
00002d40  67 25 2c 43 6f 6e 66 69  67 5f 4c 65 6e 25 2c 22  |g%,Config_Len%,"|
00002d50  73 74 61 72 74 20 66 74  70 22 29 0d 01 72 45 43  |start ftp")..rEC|
00002d60  6f 6e 66 69 67 5f 6c 69  6e 65 25 28 31 37 29 20  |onfig_line%(17) |
00002d70  3d 20 a4 6c 6f 63 61 74  65 5f 6c 69 6e 65 28 43  |= .locate_line(C|
00002d80  6f 6e 66 69 67 25 2c 43  6f 6e 66 69 67 5f 4c 65  |onfig%,Config_Le|
00002d90  6e 25 2c 22 73 74 61 72  74 20 73 6d 74 70 22 29  |n%,"start smtp")|
00002da0  0d 01 73 47 43 6f 6e 66  69 67 5f 6c 69 6e 65 25  |..sGConfig_line%|
00002db0  28 31 38 29 20 3d 20 a4  6c 6f 63 61 74 65 5f 6c  |(18) = .locate_l|
00002dc0  69 6e 65 28 43 6f 6e 66  69 67 25 2c 43 6f 6e 66  |ine(Config%,Conf|
00002dd0  69 67 5f 4c 65 6e 25 2c  22 73 74 61 72 74 20 66  |ig_Len%,"start f|
00002de0  69 6e 67 65 72 22 29 0d  01 74 47 43 6f 6e 66 69  |inger")..tGConfi|
00002df0  67 5f 6c 69 6e 65 25 28  31 39 29 20 3d 20 a4 6c  |g_line%(19) = .l|
00002e00  6f 63 61 74 65 5f 6c 69  6e 65 28 43 6f 6e 66 69  |ocate_line(Confi|
00002e10  67 25 2c 43 6f 6e 66 69  67 5f 4c 65 6e 25 2c 22  |g%,Config_Len%,"|
00002e20  73 74 61 72 74 20 74 65  6c 6e 65 74 22 29 0d 01  |start telnet")..|
00002e30  75 11 e3 20 69 25 20 3d  20 31 20 b8 20 31 39 0d  |u.. i% = 1 . 19.|
00002e40  01 76 20 20 20 e7 20 43  6f 6e 66 69 67 5f 6c 69  |.v   . Config_li|
00002e50  6e 65 25 28 69 25 29 20  3c 3e 20 2d 31 20 8c 0d  |ne%(i%) <> -1 ..|
00002e60  01 77 39 20 20 20 20 43  6f 6e 66 69 67 5f 74 65  |.w9    Config_te|
00002e70  78 74 24 28 69 25 29 3d  a4 6c 69 6e 65 28 43 6f  |xt$(i%)=.line(Co|
00002e80  6e 66 69 67 25 2c 20 43  6f 6e 66 69 67 5f 6c 69  |nfig%, Config_li|
00002e90  6e 65 25 28 69 25 29 29  0d 01 78 07 20 20 cd 0d  |ne%(i%))..x.  ..|
00002ea0  01 79 05 ed 0d 01 7a 21  68 61 6e 64 6c 65 25 20  |.y....z!handle% |
00002eb0  3d 20 8e 28 64 69 72 24  2b 22 2e 41 75 74 6f 45  |= .(dir$+".AutoE|
00002ec0  78 65 63 22 29 0d 01 7b  40 e7 20 68 61 6e 64 6c  |xec")..{@. handl|
00002ed0  65 25 20 3d 20 30 20 f2  65 72 72 6f 72 28 22 46  |e% = 0 .error("F|
00002ee0  69 6c 65 20 22 2b 64 69  72 24 2b 22 2e 41 75 74  |ile "+dir$+".Aut|
00002ef0  6f 45 78 65 63 20 6e 6f  74 20 66 6f 75 6e 64 22  |oExec not found"|
00002f00  29 20 3a 20 e1 0d 01 7c  1d 41 75 74 6f 45 78 65  |) : ...|.AutoExe|
00002f10  63 5f 4c 65 6e 25 20 3d  20 a2 23 68 61 6e 64 6c  |c_Len% = .#handl|
00002f20  65 25 0d 01 7d 1d de 20  41 75 74 6f 45 78 65 63  |e%..}.. AutoExec|
00002f30  25 20 41 75 74 6f 45 78  65 63 5f 4c 65 6e 25 0d  |% AutoExec_Len%.|
00002f40  01 7e 0e d9 23 20 68 61  6e 64 6c 65 25 0d 01 7f  |.~..# handle%...|
00002f50  2e ff 28 22 4c 4f 41 44  20 22 2b 64 69 72 24 2b  |..("LOAD "+dir$+|
00002f60  22 2e 41 75 74 6f 45 78  65 63 20 22 2b c3 7e 28  |".AutoExec "+.~(|
00002f70  41 75 74 6f 45 78 65 63  25 29 29 0d 01 80 4b 41  |AutoExec%))...KA|
00002f80  75 74 6f 45 78 65 63 5f  6c 69 6e 65 25 28 31 29  |utoExec_line%(1)|
00002f90  20 3d 20 a4 6c 6f 63 61  74 65 5f 6c 69 6e 65 28  | = .locate_line(|
00002fa0  41 75 74 6f 45 78 65 63  25 2c 41 75 74 6f 45 78  |AutoExec%,AutoEx|
00002fb0  65 63 5f 4c 65 6e 25 2c  22 66 69 6e 67 65 72 20  |ec_Len%,"finger |
00002fc0  6d 6f 74 64 22 29 0d 01  81 51 41 75 74 6f 45 78  |motd")...QAutoEx|
00002fd0  65 63 5f 6c 69 6e 65 25  28 32 29 20 3d 20 a4 6c  |ec_line%(2) = .l|
00002fe0  6f 63 61 74 65 5f 6c 69  6e 65 72 28 41 75 74 6f  |ocate_liner(Auto|
00002ff0  45 78 65 63 25 2c 41 75  74 6f 45 78 65 63 5f 4c  |Exec%,AutoExec_L|
00003000  65 6e 25 2c 22 70 6f 73  74 2e 64 65 6d 6f 6e 2e  |en%,"post.demon.|
00003010  63 6f 2e 75 6b 22 29 0d  01 82 4a 41 75 74 6f 45  |co.uk")...JAutoE|
00003020  78 65 63 5f 6c 69 6e 65  25 28 33 29 20 3d 20 a4  |xec_line%(3) = .|
00003030  6c 6f 63 61 74 65 5f 6c  69 6e 65 28 41 75 74 6f  |locate_line(Auto|
00003040  45 78 65 63 25 2c 41 75  74 6f 45 78 65 63 5f 4c  |Exec%,AutoExec_L|
00003050  65 6e 25 2c 22 6e 6e 74  70 20 74 72 61 63 65 22  |en%,"nntp trace"|
00003060  29 0d 01 83 4a 41 75 74  6f 45 78 65 63 5f 6c 69  |)...JAutoExec_li|
00003070  6e 65 25 28 34 29 20 3d  20 a4 6c 6f 63 61 74 65  |ne%(4) = .locate|
00003080  5f 6c 69 6e 65 28 41 75  74 6f 45 78 65 63 25 2c  |_line(AutoExec%,|
00003090  41 75 74 6f 45 78 65 63  5f 4c 65 6e 25 2c 22 6e  |AutoExec_Len%,"n|
000030a0  6e 74 70 20 66 75 64 67  65 22 29 0d 01 84 4b 41  |ntp fudge")...KA|
000030b0  75 74 6f 45 78 65 63 5f  6c 69 6e 65 25 28 35 29  |utoExec_line%(5)|
000030c0  20 3d 20 a4 6c 6f 63 61  74 65 5f 6c 69 6e 65 28  | = .locate_line(|
000030d0  41 75 74 6f 45 78 65 63  25 2c 41 75 74 6f 45 78  |AutoExec%,AutoEx|
000030e0  65 63 5f 4c 65 6e 25 2c  22 6e 6e 74 70 20 64 69  |ec_Len%,"nntp di|
000030f0  72 65 63 74 22 29 0d 01  85 4a 41 75 74 6f 45 78  |rect")...JAutoEx|
00003100  65 63 5f 6c 69 6e 65 25  28 36 29 20 3d 20 a4 6c  |ec_line%(6) = .l|
00003110  6f 63 61 74 65 5f 6c 69  6e 65 28 41 75 74 6f 45  |ocate_line(AutoE|
00003120  78 65 63 25 2c 41 75 74  6f 45 78 65 63 5f 4c 65  |xec%,AutoExec_Le|
00003130  6e 25 2c 22 6e 6e 74 70  20 62 61 74 63 68 22 29  |n%,"nntp batch")|
00003140  0d 01 86 4e 41 75 74 6f  45 78 65 63 5f 6c 69 6e  |...NAutoExec_lin|
00003150  65 25 28 37 29 20 3d 20  a4 6c 6f 63 61 74 65 5f  |e%(7) = .locate_|
00003160  6c 69 6e 65 28 41 75 74  6f 45 78 65 63 25 2c 41  |line(AutoExec%,A|
00003170  75 74 6f 45 78 65 63 5f  4c 65 6e 25 2c 22 6e 6e  |utoExec_Len%,"nn|
00003180  74 70 20 61 64 64 73 65  72 76 65 72 22 29 0d 01  |tp addserver")..|
00003190  87 49 41 75 74 6f 45 78  65 63 5f 6c 69 6e 65 25  |.IAutoExec_line%|
000031a0  28 38 29 20 3d 20 a4 6c  6f 63 61 74 65 5f 6c 69  |(8) = .locate_li|
000031b0  6e 65 28 41 75 74 6f 45  78 65 63 25 2c 41 75 74  |ne(AutoExec%,Aut|
000031c0  6f 45 78 65 63 5f 4c 65  6e 25 2c 22 6e 6e 74 70  |oExec_Len%,"nntp|
000031d0  20 6b 69 63 6b 22 29 0d  01 88 4b 41 75 74 6f 45  | kick")...KAutoE|
000031e0  78 65 63 5f 6c 69 6e 65  25 28 39 29 20 3d 20 a4  |xec_line%(9) = .|
000031f0  6c 6f 63 61 74 65 5f 6c  69 6e 65 28 41 75 74 6f  |locate_line(Auto|
00003200  45 78 65 63 25 2c 41 75  74 6f 45 78 65 63 5f 4c  |Exec%,AutoExec_L|
00003210  65 6e 25 2c 22 74 69 6d  65 20 73 65 72 76 65 72  |en%,"time server|
00003220  22 29 0d 01 89 4a 41 75  74 6f 45 78 65 63 5f 6c  |")...JAutoExec_l|
00003230  69 6e 65 25 28 31 30 29  20 3d 20 a4 6c 6f 63 61  |ine%(10) = .loca|
00003240  74 65 5f 6c 69 6e 65 28  41 75 74 6f 45 78 65 63  |te_line(AutoExec|
00003250  25 2c 41 75 74 6f 45 78  65 63 5f 4c 65 6e 25 2c  |%,AutoExec_Len%,|
00003260  22 74 69 6d 65 20 72 65  61 64 22 29 0d 01 8a 4d  |"time read")...M|
00003270  41 75 74 6f 45 78 65 63  5f 6c 69 6e 65 25 28 31  |AutoExec_line%(1|
00003280  31 29 20 3d 20 a4 6c 6f  63 61 74 65 5f 6c 69 6e  |1) = .locate_lin|
00003290  65 28 41 75 74 6f 45 78  65 63 25 2c 41 75 74 6f  |e(AutoExec%,Auto|
000032a0  45 78 65 63 5f 4c 65 6e  25 2c 22 73 6d 74 70 20  |Exec_Len%,"smtp |
000032b0  67 61 74 65 77 61 79 22  29 0d 01 8b 4b 41 75 74  |gateway")...KAut|
000032c0  6f 45 78 65 63 5f 6c 69  6e 65 25 28 31 32 29 20  |oExec_line%(12) |
000032d0  3d 20 a4 6c 6f 63 61 74  65 5f 6c 69 6e 65 28 41  |= .locate_line(A|
000032e0  75 74 6f 45 78 65 63 25  2c 41 75 74 6f 45 78 65  |utoExec%,AutoExe|
000032f0  63 5f 4c 65 6e 25 2c 22  73 6d 74 70 20 74 72 61  |c_Len%,"smtp tra|
00003300  63 65 22 29 0d 01 8c 4a  41 75 74 6f 45 78 65 63  |ce")...JAutoExec|
00003310  5f 6c 69 6e 65 25 28 31  33 29 20 3d 20 a4 6c 6f  |_line%(13) = .lo|
00003320  63 61 74 65 5f 6c 69 6e  65 28 41 75 74 6f 45 78  |cate_line(AutoEx|
00003330  65 63 25 2c 41 75 74 6f  45 78 65 63 5f 4c 65 6e  |ec%,AutoExec_Len|
00003340  25 2c 22 73 6d 74 70 20  6b 69 63 6b 22 29 0d 01  |%,"smtp kick")..|
00003350  8d 11 e3 20 69 25 20 3d  20 31 20 b8 20 31 33 0d  |... i% = 1 . 13.|
00003360  01 8e 22 20 20 e7 20 41  75 74 6f 45 78 65 63 5f  |.."  . AutoExec_|
00003370  6c 69 6e 65 25 28 69 25  29 20 3c 3e 20 2d 31 20  |line%(i%) <> -1 |
00003380  8c 0d 01 8f 3f 20 20 20  20 41 75 74 6f 45 78 65  |....?    AutoExe|
00003390  63 5f 74 65 78 74 24 28  69 25 29 3d a4 6c 69 6e  |c_text$(i%)=.lin|
000033a0  65 28 41 75 74 6f 45 78  65 63 25 2c 20 41 75 74  |e(AutoExec%, Aut|
000033b0  6f 45 78 65 63 5f 6c 69  6e 65 25 28 69 25 29 29  |oExec_line%(i%))|
000033c0  0d 01 90 07 20 20 cd 0d  01 91 05 ed 0d 01 92 12  |....  ..........|
000033d0  f2 75 70 64 61 74 65 5f  77 69 6e 64 6f 77 0d 01  |.update_window..|
000033e0  93 05 e1 0d 01 94 04 0d  01 95 1b dd 20 f2 70 75  |............ .pu|
000033f0  74 6c 69 6e 65 28 66 69  6c 65 25 2c 74 65 78 74  |tline(file%,text|
00003400  24 29 0d 01 96 05 3a 0d  01 97 08 ea 20 49 25 0d  |$)....:..... I%.|
00003410  01 98 0a 49 25 20 3d 20  31 0d 01 99 1b c8 95 20  |...I% = 1...... |
00003420  28 97 28 c1 74 65 78 74  24 2c 49 25 2c 31 29 29  |(.(.text$,I%,1))|
00003430  3e 33 31 29 0d 01 9a 1d  20 20 d5 23 66 69 6c 65  |>31)....  .#file|
00003440  25 2c 97 28 c1 74 65 78  74 24 2c 49 25 2c 31 29  |%,.(.text$,I%,1)|
00003450  29 0d 01 9b 0d 20 20 49  25 20 2b 3d 20 31 0d 01  |)....  I% += 1..|
00003460  9c 05 ce 0d 01 9d 0f d5  23 66 69 6c 65 25 2c 26  |........#file%,&|
00003470  30 41 0d 01 9e 07 e1 20  20 0d 01 9f 04 0d 01 a0  |0A.....  .......|
00003480  2a dd 20 f2 70 75 74 6c  69 6e 65 70 6c 75 73 28  |*. .putlineplus(|
00003490  66 69 6c 65 25 2c 6d 65  6d 25 2c 6c 69 6e 65 25  |file%,mem%,line%|
000034a0  2c 74 65 78 74 24 29 0d  01 a1 05 3a 0d 01 a2 16  |,text$)....:....|
000034b0  e7 20 6d 65 6d 25 20 3d  20 43 6f 6e 66 69 67 25  |. mem% = Config%|
000034c0  20 8c 0d 01 a3 22 20 20  e7 20 43 6f 6e 66 69 67  | ...."  . Config|
000034d0  5f 6c 69 6e 65 25 28 6c  69 6e 65 25 29 20 3d 20  |_line%(line%) = |
000034e0  2d 31 20 8c 0d 01 a4 1d  20 20 20 20 f2 70 75 74  |-1 .....    .put|
000034f0  6c 69 6e 65 28 66 69 6c  65 25 2c 74 65 78 74 24  |line(file%,text$|
00003500  29 0d 01 a5 07 20 20 cc  0d 01 a6 28 20 20 20 20  |)....  ....(    |
00003510  e7 20 43 6f 6e 66 69 67  5f 6c 69 6e 65 25 28 6c  |. Config_line%(l|
00003520  69 6e 65 25 29 20 3e 20  6c 69 6e 65 31 25 20 8c  |ine%) > line1% .|
00003530  0d 01 a7 4d 20 20 20 20  20 20 6c 69 6e 65 32 25  |...M      line2%|
00003540  20 3d 20 43 6f 6e 66 69  67 5f 6c 69 6e 65 25 28  | = Config_line%(|
00003550  6c 69 6e 65 25 29 20 3a  f2 77 72 69 74 65 6c 69  |line%) :.writeli|
00003560  6e 65 73 28 66 69 6c 65  25 2c 6d 65 6d 25 2c 6c  |nes(file%,mem%,l|
00003570  69 6e 65 31 25 2c 6c 69  6e 65 32 25 29 0d 01 a8  |ine1%,line2%)...|
00003580  26 20 20 20 20 20 20 6c  69 6e 65 31 25 20 3d 20  |&      line1% = |
00003590  43 6f 6e 66 69 67 5f 6c  69 6e 65 25 28 6c 69 6e  |Config_line%(lin|
000035a0  65 25 29 0d 01 a9 09 20  20 20 20 cd 0d 01 aa 2b  |e%)....    ....+|
000035b0  20 20 20 20 f2 70 75 74  6c 69 6e 65 28 66 69 6c  |    .putline(fil|
000035c0  65 25 2c 43 6f 6e 66 69  67 5f 74 65 78 74 24 28  |e%,Config_text$(|
000035d0  6c 69 6e 65 25 29 29 0d  01 ab 07 20 20 cd 0d 01  |line%))....  ...|
000035e0  ac 07 20 20 e1 0d 01 ad  07 cd 20 20 0d 01 ae 18  |..  ......  ....|
000035f0  e7 20 6d 65 6d 25 20 3d  20 41 75 74 6f 45 78 65  |. mem% = AutoExe|
00003600  63 25 20 8c 0d 01 af 24  20 20 e7 20 41 75 74 6f  |c% ....$  . Auto|
00003610  45 78 65 63 5f 6c 69 6e  65 25 28 6c 69 6e 65 25  |Exec_line%(line%|
00003620  29 20 3d 20 2d 31 20 8c  0d 01 b0 1d 20 20 20 20  |) = -1 .....    |
00003630  f2 70 75 74 6c 69 6e 65  28 66 69 6c 65 25 2c 74  |.putline(file%,t|
00003640  65 78 74 24 29 0d 01 b1  07 20 20 cc 0d 01 b2 2a  |ext$)....  ....*|
00003650  20 20 20 20 e7 20 41 75  74 6f 45 78 65 63 5f 6c  |    . AutoExec_l|
00003660  69 6e 65 25 28 6c 69 6e  65 25 29 20 3e 20 6c 69  |ine%(line%) > li|
00003670  6e 65 31 25 20 8c 0d 01  b3 4f 20 20 20 20 20 20  |ne1% ....O      |
00003680  6c 69 6e 65 32 25 20 3d  20 41 75 74 6f 45 78 65  |line2% = AutoExe|
00003690  63 5f 6c 69 6e 65 25 28  6c 69 6e 65 25 29 20 3a  |c_line%(line%) :|
000036a0  f2 77 72 69 74 65 6c 69  6e 65 73 28 66 69 6c 65  |.writelines(file|
000036b0  25 2c 6d 65 6d 25 2c 6c  69 6e 65 31 25 2c 6c 69  |%,mem%,line1%,li|
000036c0  6e 65 32 25 29 0d 01 b4  28 20 20 20 20 20 20 6c  |ne2%)...(      l|
000036d0  69 6e 65 31 25 20 3d 20  41 75 74 6f 45 78 65 63  |ine1% = AutoExec|
000036e0  5f 6c 69 6e 65 25 28 6c  69 6e 65 25 29 0d 01 b5  |_line%(line%)...|
000036f0  09 20 20 20 20 cd 0d 01  b6 2d 20 20 20 20 f2 70  |.    ....-    .p|
00003700  75 74 6c 69 6e 65 28 66  69 6c 65 25 2c 41 75 74  |utline(file%,Aut|
00003710  6f 45 78 65 63 5f 74 65  78 74 24 28 6c 69 6e 65  |oExec_text$(line|
00003720  25 29 29 0d 01 b7 07 20  20 cd 0d 01 b8 07 20 20  |%))....  .....  |
00003730  e1 0d 01 b9 05 cd 0d 01  ba 07 e1 20 20 0d 01 bb  |...........  ...|
00003740  04 0d 01 bc 28 dd 20 f2  77 72 69 74 65 6c 69 6e  |....(. .writelin|
00003750  65 73 28 66 69 6c 65 25  2c 20 6d 65 6d 25 2c 20  |es(file%, mem%, |
00003760  6c 31 25 2c 20 6c 32 25  29 0d 01 bd 05 3a 0d 01  |l1%, l2%)....:..|
00003770  be 13 ea 20 69 25 2c 20  73 6b 69 70 25 2c 20 6a  |... i%, skip%, j|
00003780  25 0d 01 bf 0d 73 6b 69  70 25 20 3d 20 a3 0d 01  |%....skip% = ...|
00003790  c0 10 e7 20 6c 31 25 3e  3d 6c 32 25 20 e1 0d 01  |... l1%>=l2% ...|
000037a0  c1 14 e3 20 69 25 3d 6c  31 25 20 b8 20 6c 32 25  |... i%=l1% . l2%|
000037b0  2d 31 0d 01 c2 17 20 e7  20 6d 65 6d 25 20 3d 20  |-1.... . mem% = |
000037c0  43 6f 6e 66 69 67 25 20  8c 0d 01 c3 38 20 20 20  |Config% ....8   |
000037d0  e3 20 6a 25 20 3d 20 31  20 b8 20 31 39 20 3a 20  |. j% = 1 . 19 : |
000037e0  e7 20 43 6f 6e 66 69 67  5f 6c 69 6e 65 25 28 6a  |. Config_line%(j|
000037f0  25 29 20 3d 20 69 25 20  73 6b 69 70 25 20 3d 20  |%) = i% skip% = |
00003800  b9 0d 01 c4 08 20 20 20  ed 0d 01 c5 06 20 cc 0d  |.....   ..... ..|
00003810  01 c6 3a 20 20 20 e3 20  6a 25 20 3d 20 31 20 b8  |..:   . j% = 1 .|
00003820  20 31 33 20 3a 20 e7 20  41 75 74 6f 45 78 65 63  | 13 : . AutoExec|
00003830  5f 6c 69 6e 65 25 28 6a  25 29 20 3d 20 69 25 20  |_line%(j%) = i% |
00003840  73 6b 69 70 25 20 3d 20  b9 0d 01 c7 08 20 20 20  |skip% = .....   |
00003850  ed 0d 01 c8 06 20 cd 0d  01 c9 30 20 e7 20 ac 28  |..... ....0 . .(|
00003860  73 6b 69 70 25 29 20 f2  70 75 74 6c 69 6e 65 28  |skip%) .putline(|
00003870  66 69 6c 65 25 2c a4 6c  69 6e 65 28 6d 65 6d 25  |file%,.line(mem%|
00003880  2c 69 25 29 29 20 20 0d  01 ca 0e 20 73 6b 69 70  |,i%))  .... skip|
00003890  25 20 3d 20 a3 0d 01 cb  05 ed 0d 01 cc 06 e1 20  |% = ........... |
000038a0  0d 01 cd 04 0d 01 ce 24  dd 20 a4 6c 6f 63 61 74  |.......$. .locat|
000038b0  65 5f 6c 69 6e 65 28 61  72 65 61 25 2c 65 6e 64  |e_line(area%,end|
000038c0  25 2c 74 65 78 74 24 29  0d 01 cf 05 3a 0d 01 d0  |%,text$)....:...|
000038d0  10 ea 20 69 25 2c 74 24  2c 70 74 72 25 0d 01 d1  |.. i%,t$,ptr%...|
000038e0  15 69 25 20 3d 20 31 20  3a 20 70 74 72 25 20 3d  |.i% = 1 : ptr% =|
000038f0  20 30 0d 01 d2 10 c8 95  20 70 74 72 25 3c 65 6e  | 0...... ptr%<en|
00003900  64 25 0d 01 d3 1f 20 20  74 24 20 3d 20 a4 67 65  |d%....  t$ = .ge|
00003910  74 6c 69 6e 65 28 61 72  65 61 25 2b 70 74 72 25  |tline(area%+ptr%|
00003920  29 0d 01 d4 1d 20 20 e7  20 a7 74 24 2c 74 65 78  |)....  . .t$,tex|
00003930  74 24 29 20 3d 20 31 20  8c 20 3d 20 69 25 0d 01  |t$) = 1 . = i%..|
00003940  d5 1d 20 20 70 74 72 25  20 2b 3d 20 a9 28 74 24  |..  ptr% += .(t$|
00003950  29 20 3a 20 69 25 20 2b  3d 20 31 0d 01 d6 05 ce  |) : i% += 1.....|
00003960  0d 01 d7 08 3d 20 2d 31  0d 01 d8 04 0d 01 d9 25  |....= -1.......%|
00003970  dd 20 a4 6c 6f 63 61 74  65 5f 6c 69 6e 65 72 28  |. .locate_liner(|
00003980  61 72 65 61 25 2c 65 6e  64 25 2c 74 65 78 74 24  |area%,end%,text$|
00003990  29 0d 01 da 05 3a 0d 01  db 1b ea 20 69 25 2c 74  |)....:..... i%,t|
000039a0  24 2c 70 74 72 25 2c 6c  65 6e 25 2c 6c 65 6e 32  |$,ptr%,len%,len2|
000039b0  25 0d 01 dc 14 6c 65 6e  32 25 20 3d 20 a9 28 74  |%....len2% = .(t|
000039c0  65 78 74 24 29 0d 01 dd  15 69 25 20 3d 20 31 20  |ext$)....i% = 1 |
000039d0  3a 20 70 74 72 25 20 3d  20 30 0d 01 de 10 c8 95  |: ptr% = 0......|
000039e0  20 70 74 72 25 3c 65 6e  64 25 0d 01 df 2c 20 20  | ptr%<end%...,  |
000039f0  74 24 20 3d 20 a4 67 65  74 6c 69 6e 65 28 61 72  |t$ = .getline(ar|
00003a00  65 61 25 2b 70 74 72 25  29 20 3a 20 6c 65 6e 25  |ea%+ptr%) : len%|
00003a10  3d a9 28 74 24 29 0d 01  e0 29 20 20 e7 20 a7 74  |=.(t$)...)  . .t|
00003a20  24 2c 74 65 78 74 24 29  20 3e 3d 20 6c 65 6e 25  |$,text$) >= len%|
00003a30  2d 6c 65 6e 32 25 2d 32  20 8c 20 3d 20 69 25 0d  |-len2%-2 . = i%.|
00003a40  01 e1 12 20 20 70 74 72  25 20 2b 3d 20 6c 65 6e  |...  ptr% += len|
00003a50  25 0d 01 e2 05 ce 0d 01  e3 08 3d 20 2d 31 0d 01  |%.........= -1..|
00003a60  e4 04 0d 01 e5 19 dd 20  a4 6c 69 6e 65 28 6d 65  |....... .line(me|
00003a70  6d 25 2c 20 69 6e 64 65  78 25 29 0d 01 e6 05 3a  |m%, index%)....:|
00003a80  0d 01 e7 0b ea 20 69 25  2c 6a 25 0d 01 e8 0a 6a  |..... i%,j%....j|
00003a90  25 20 3d 20 30 0d 01 e9  12 e7 20 69 6e 64 65 78  |% = 0..... index|
00003aa0  25 20 3e 20 31 20 8c 0d  01 ea 15 20 20 e3 20 69  |% > 1 .....  . i|
00003ab0  25 3d 32 20 b8 20 69 6e  64 65 78 25 0d 01 eb 2a  |%=2 . index%...*|
00003ac0  20 20 20 20 c8 95 20 28  28 6d 65 6d 25 3f 6a 25  |    .. ((mem%?j%|
00003ad0  29 20 3e 3d 20 33 32 29  20 3a 20 6a 25 20 2b 3d  |) >= 32) : j% +=|
00003ae0  20 31 20 3a 20 ce 0d 01  ec 0f 20 20 20 20 6a 25  | 1 : .....    j%|
00003af0  20 2b 3d 20 31 0d 01 ed  07 20 20 ed 0d 01 ee 05  | += 1....  .....|
00003b00  cd 0d 01 ef 1b 3d 20 a4  67 65 74 6c 69 6e 65 28  |.....= .getline(|
00003b10  6d 65 6d 25 2b 6a 25 29  20 20 20 20 0d 01 f0 04  |mem%+j%)    ....|
00003b20  0d 01 f1 14 dd 20 a4 67  65 74 6c 69 6e 65 28 6d  |..... .getline(m|
00003b30  65 6d 25 29 0d 01 f2 05  3a 0d 01 f3 0d ea 20 70  |em%)....:..... p|
00003b40  25 2c 62 75 66 24 0d 01  f4 14 62 75 66 24 20 3d  |%,buf$....buf$ =|
00003b50  20 22 22 20 3a 20 70 25  3d 30 0d 01 f5 05 f5 0d  | "" : p%=0......|
00003b60  01 f6 18 20 20 62 75 66  24 20 2b 3d 20 bd 28 6d  |...  buf$ += .(m|
00003b70  65 6d 25 3f 70 25 29 0d  01 f7 0d 20 20 70 25 20  |em%?p%)....  p% |
00003b80  2b 3d 20 31 0d 01 f8 1f  fd 20 28 70 25 3d 32 35  |+= 1..... (p%=25|
00003b90  34 29 20 84 20 28 6d 65  6d 25 3f 70 25 20 3c 20  |4) . (mem%?p% < |
00003ba0  33 32 29 0d 01 f9 12 62  75 66 24 20 2b 3d 20 bd  |32)....buf$ += .|
00003bb0  28 26 30 44 29 0d 01 fa  0a 3d 20 62 75 66 24 0d  |(&0D)....= buf$.|
00003bc0  01 fb 04 0d 01 fc 14 dd  20 f2 75 70 64 61 74 65  |........ .update|
00003bd0  5f 77 69 6e 64 6f 77 0d  01 fd 05 3a 0d 01 fe 28  |_window....:...(|
00003be0  ea 20 74 65 78 74 24 2c  20 74 65 78 74 32 24 2c  |. text$, text2$,|
00003bf0  20 6c 65 66 74 25 2c 20  72 69 67 68 74 25 2c 20  | left%, right%, |
00003c00  70 74 72 25 0d 01 ff 05  3a 0d 02 00 1e f4 20 67  |ptr%....:..... g|
00003c10  65 74 20 68 6f 73 74 6e  61 6d 65 20 66 72 6f 6d  |et hostname from|
00003c20  20 6c 69 6e 65 20 32 0d  02 01 1b 74 65 78 74 24  | line 2....text$|
00003c30  20 3d 20 43 6f 6e 66 69  67 5f 74 65 78 74 24 28  | = Config_text$(|
00003c40  32 29 0d 02 02 42 6c 65  66 74 25 20 3d 20 a7 74  |2)...Bleft% = .t|
00003c50  65 78 74 24 2c 22 68 6f  73 74 6e 61 6d 65 22 29  |ext$,"hostname")|
00003c60  2b 39 20 3a 20 72 69 67  68 74 25 20 3d 20 a7 74  |+9 : right% = .t|
00003c70  65 78 74 24 2c 22 2e 64  65 6d 6f 6e 2e 63 6f 2e  |ext$,".demon.co.|
00003c80  75 6b 22 29 0d 02 03 44  e7 20 72 69 67 68 74 25  |uk")...D. right%|
00003c90  3e 6c 65 66 74 25 20 8c  20 74 65 78 74 32 24 20  |>left% . text2$ |
00003ca0  3d 20 c1 74 65 78 74 24  2c 6c 65 66 74 25 2c 72  |= .text$,left%,r|
00003cb0  69 67 68 74 25 2d 6c 65  66 74 25 29 20 8b 20 74  |ight%-left%) . t|
00003cc0  65 78 74 32 24 3d 22 22  0d 02 04 48 21 62 6c 6f  |ext2$=""...H!blo|
00003cd0  63 6b 25 20 3d 20 64 65  6d 6f 6e 68 61 6e 64 25  |ck% = demonhand%|
00003ce0  20 3a 20 62 6c 6f 63 6b  25 21 34 20 3d 20 31 20  | : block%!4 = 1 |
00003cf0  3a 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 49 63  |: .. "Wimp_GetIc|
00003d00  6f 6e 53 74 61 74 65 22  2c 2c 62 6c 6f 63 6b 25  |onState",,block%|
00003d10  0d 02 05 25 70 74 72 25  20 3d 20 62 6c 6f 63 6b  |...%ptr% = block|
00003d20  25 21 32 38 20 3a 20 24  70 74 72 25 20 3d 20 74  |%!28 : $ptr% = t|
00003d30  65 78 74 32 24 0d 02 06  41 62 6c 6f 63 6b 25 21  |ext2$...Ablock%!|
00003d40  38 20 3d 20 30 20 3a 20  62 6c 6f 63 6b 25 21 31  |8 = 0 : block%!1|
00003d50  32 20 3d 20 30 20 3a 20  c8 99 20 22 57 69 6d 70  |2 = 0 : .. "Wimp|
00003d60  5f 53 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_SetIconState",,|
00003d70  62 6c 6f 63 6b 25 0d 02  07 05 3a 0d 02 08 20 f4  |block%....:... .|
00003d80  20 67 65 74 20 49 50 20  61 64 64 72 65 73 73 20  | get IP address |
00003d90  66 72 6f 6d 20 6c 69 6e  65 20 33 0d 02 09 1b 74  |from line 3....t|
00003da0  65 78 74 24 20 3d 20 43  6f 6e 66 69 67 5f 74 65  |ext$ = Config_te|
00003db0  78 74 24 28 33 29 0d 02  0a 30 6c 65 66 74 25 20  |xt$(3)...0left% |
00003dc0  3d 20 a7 74 65 78 74 24  2c 22 5b 22 29 2b 31 20  |= .text$,"[")+1 |
00003dd0  3a 20 72 69 67 68 74 25  20 3d 20 a7 74 65 78 74  |: right% = .text|
00003de0  24 2c 22 5d 22 29 0d 02  0b 44 e7 20 72 69 67 68  |$,"]")...D. righ|
00003df0  74 25 3e 6c 65 66 74 25  20 8c 20 74 65 78 74 32  |t%>left% . text2|
00003e00  24 20 3d 20 c1 74 65 78  74 24 2c 6c 65 66 74 25  |$ = .text$,left%|
00003e10  2c 72 69 67 68 74 25 2d  6c 65 66 74 25 29 20 8b  |,right%-left%) .|
00003e20  20 74 65 78 74 32 24 3d  22 22 0d 02 0c 31 62 6c  | text2$=""...1bl|
00003e30  6f 63 6b 25 21 34 20 3d  20 36 20 3a 20 c8 99 20  |ock%!4 = 6 : .. |
00003e40  22 57 69 6d 70 5f 47 65  74 49 63 6f 6e 53 74 61  |"Wimp_GetIconSta|
00003e50  74 65 22 2c 2c 62 6c 6f  63 6b 25 0d 02 0d 25 70  |te",,block%...%p|
00003e60  74 72 25 20 3d 20 62 6c  6f 63 6b 25 21 32 38 20  |tr% = block%!28 |
00003e70  3a 20 24 70 74 72 25 20  3d 20 74 65 78 74 32 24  |: $ptr% = text2$|
00003e80  0d 02 0e 41 62 6c 6f 63  6b 25 21 38 20 3d 20 30  |...Ablock%!8 = 0|
00003e90  20 3a 20 62 6c 6f 63 6b  25 21 31 32 20 3d 20 30  | : block%!12 = 0|
00003ea0  20 3a 20 c8 99 20 22 57  69 6d 70 5f 53 65 74 49  | : .. "Wimp_SetI|
00003eb0  63 6f 6e 53 74 61 74 65  22 2c 2c 62 6c 6f 63 6b  |conState",,block|
00003ec0  25 0d 02 0f 05 3a 0d 02  10 1a f4 20 67 65 74 20  |%....:..... get |
00003ed0  70 6f 72 74 20 66 72 6f  6d 20 6c 69 6e 65 20 34  |port from line 4|
00003ee0  0d 02 11 1b 74 65 78 74  24 20 3d 20 43 6f 6e 66  |....text$ = Conf|
00003ef0  69 67 5f 74 65 78 74 24  28 34 29 0d 02 12 0c 70  |ig_text$(4)....p|
00003f00  74 72 25 20 3d 20 30 0d  02 13 0e e3 20 69 25 3d  |tr% = 0..... i%=|
00003f10  31 20 b8 20 32 0d 02 14  40 20 20 f5 3a 70 74 72  |1 . 2...@  .:ptr|
00003f20  25 2b 3d 31 3a fd 20 28  c1 74 65 78 74 24 2c 70  |%+=1:. (.text$,p|
00003f30  74 72 25 2c 31 29 3d 22  20 22 29 20 80 20 28 c1  |tr%,1)=" ") . (.|
00003f40  74 65 78 74 24 2c 70 74  72 25 2b 31 2c 31 29 3c  |text$,ptr%+1,1)<|
00003f50  3e 22 20 22 29 0d 02 15  05 ed 0d 02 16 10 6c 65  |>" ").........le|
00003f60  66 74 25 20 3d 20 70 74  72 25 0d 02 17 0e e3 20  |ft% = ptr%..... |
00003f70  69 25 3d 31 20 b8 20 32  0d 02 18 40 20 20 f5 3a  |i%=1 . 2...@  .:|
00003f80  70 74 72 25 2b 3d 31 3a  fd 20 28 c1 74 65 78 74  |ptr%+=1:. (.text|
00003f90  24 2c 70 74 72 25 2c 31  29 3d 22 20 22 29 20 80  |$,ptr%,1)=" ") .|
00003fa0  20 28 c1 74 65 78 74 24  2c 70 74 72 25 2d 31 2c  | (.text$,ptr%-1,|
00003fb0  31 29 3c 3e 22 20 22 29  0d 02 19 05 ed 0d 02 1a  |1)<>" ")........|
00003fc0  11 72 69 67 68 74 25 20  3d 20 70 74 72 25 0d 02  |.right% = ptr%..|
00003fd0  1b 27 74 65 78 74 32 24  20 3d 20 c1 74 65 78 74  |.'text2$ = .text|
00003fe0  24 2c 6c 65 66 74 25 2c  72 69 67 68 74 25 2d 6c  |$,left%,right%-l|
00003ff0  65 66 74 25 29 0d 02 1c  31 62 6c 6f 63 6b 25 21  |eft%)...1block%!|
00004000  34 20 3d 20 34 20 3a 20  c8 99 20 22 57 69 6d 70  |4 = 4 : .. "Wimp|
00004010  5f 47 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_GetIconState",,|
00004020  62 6c 6f 63 6b 25 0d 02  1d 25 70 74 72 25 20 3d  |block%...%ptr% =|
00004030  20 62 6c 6f 63 6b 25 21  32 38 20 3a 20 24 70 74  | block%!28 : $pt|
00004040  72 25 20 3d 20 74 65 78  74 32 24 0d 02 1e 41 62  |r% = text2$...Ab|
00004050  6c 6f 63 6b 25 21 38 20  3d 20 30 20 3a 20 62 6c  |lock%!8 = 0 : bl|
00004060  6f 63 6b 25 21 31 32 20  3d 20 30 20 3a 20 c8 99  |ock%!12 = 0 : ..|
00004070  20 22 57 69 6d 70 5f 53  65 74 49 63 6f 6e 53 74  | "Wimp_SetIconSt|
00004080  61 74 65 22 2c 2c 62 6c  6f 63 6b 25 0d 02 1f 05  |ate",,block%....|
00004090  3a 0d 02 20 1f f4 20 67  65 74 20 62 61 75 64 20  |:.. .. get baud |
000040a0  72 61 74 65 20 66 72 6f  6d 20 6c 69 6e 65 20 34  |rate from line 4|
000040b0  0d 02 21 11 70 74 72 25  3d a9 28 74 65 78 74 24  |..!.ptr%=.(text$|
000040c0  29 0d 02 22 3e f5 3a 70  74 72 25 2d 3d 31 3a fd  |)..">.:ptr%-=1:.|
000040d0  20 28 c1 74 65 78 74 24  2c 70 74 72 25 2c 31 29  | (.text$,ptr%,1)|
000040e0  3d 22 20 22 29 20 80 20  28 c1 74 65 78 74 24 2c  |=" ") . (.text$,|
000040f0  70 74 72 25 2b 31 2c 31  29 3c 3e 22 20 22 29 0d  |ptr%+1,1)<>" ").|
00004100  02 23 22 74 65 78 74 32  24 20 3d 20 c2 74 65 78  |.#"text2$ = .tex|
00004110  74 24 2c a9 28 74 65 78  74 24 29 2d 70 74 72 25  |t$,.(text$)-ptr%|
00004120  29 0d 02 24 31 62 6c 6f  63 6b 25 21 34 20 3d 20  |)..$1block%!4 = |
00004130  39 20 3a 20 c8 99 20 22  57 69 6d 70 5f 47 65 74  |9 : .. "Wimp_Get|
00004140  49 63 6f 6e 53 74 61 74  65 22 2c 2c 62 6c 6f 63  |IconState",,bloc|
00004150  6b 25 0d 02 25 25 70 74  72 25 20 3d 20 62 6c 6f  |k%..%%ptr% = blo|
00004160  63 6b 25 21 32 38 20 3a  20 24 70 74 72 25 20 3d  |ck%!28 : $ptr% =|
00004170  20 74 65 78 74 32 24 0d  02 26 41 62 6c 6f 63 6b  | text2$..&Ablock|
00004180  25 21 38 20 3d 20 30 20  3a 20 62 6c 6f 63 6b 25  |%!8 = 0 : block%|
00004190  21 31 32 20 3d 20 30 20  3a 20 c8 99 20 22 57 69  |!12 = 0 : .. "Wi|
000041a0  6d 70 5f 53 65 74 49 63  6f 6e 53 74 61 74 65 22  |mp_SetIconState"|
000041b0  2c 2c 62 6c 6f 63 6b 25  0d 02 27 05 3a 0d 02 28  |,,block%..'.:..(|
000041c0  33 f4 20 67 65 74 20 6e  65 77 73 20 67 72 6f 75  |3. get news grou|
000041d0  70 20 70 72 65 66 69 78  20 66 72 6f 6d 20 6c 69  |p prefix from li|
000041e0  6e 65 20 37 20 6f 66 20  41 75 74 6f 45 78 65 63  |ne 7 of AutoExec|
000041f0  0d 02 29 1d 74 65 78 74  24 20 3d 20 41 75 74 6f  |..).text$ = Auto|
00004200  45 78 65 63 5f 74 65 78  74 24 28 37 29 0d 02 2a  |Exec_text$(7)..*|
00004210  11 70 74 72 25 3d a9 28  74 65 78 74 24 29 0d 02  |.ptr%=.(text$)..|
00004220  2b 3e f5 3a 70 74 72 25  2d 3d 31 3a fd 20 28 c1  |+>.:ptr%-=1:. (.|
00004230  74 65 78 74 24 2c 70 74  72 25 2c 31 29 3d 22 20  |text$,ptr%,1)=" |
00004240  22 29 20 80 20 28 c1 74  65 78 74 24 2c 70 74 72  |") . (.text$,ptr|
00004250  25 2b 31 2c 31 29 3c 3e  22 20 22 29 0d 02 2c 22  |%+1,1)<>" ")..,"|
00004260  74 65 78 74 32 24 20 3d  20 c2 74 65 78 74 24 2c  |text2$ = .text$,|
00004270  a9 28 74 65 78 74 24 29  2d 70 74 72 25 29 0d 02  |.(text$)-ptr%)..|
00004280  2d 32 62 6c 6f 63 6b 25  21 34 20 3d 20 31 34 20  |-2block%!4 = 14 |
00004290  3a 20 c8 99 20 22 57 69  6d 70 5f 47 65 74 49 63  |: .. "Wimp_GetIc|
000042a0  6f 6e 53 74 61 74 65 22  2c 2c 62 6c 6f 63 6b 25  |onState",,block%|
000042b0  0d 02 2e 25 70 74 72 25  20 3d 20 62 6c 6f 63 6b  |...%ptr% = block|
000042c0  25 21 32 38 20 3a 20 24  70 74 72 25 20 3d 20 74  |%!28 : $ptr% = t|
000042d0  65 78 74 32 24 0d 02 2f  41 62 6c 6f 63 6b 25 21  |ext2$../Ablock%!|
000042e0  38 20 3d 20 30 20 3a 20  62 6c 6f 63 6b 25 21 31  |8 = 0 : block%!1|
000042f0  32 20 3d 20 30 20 3a 20  c8 99 20 22 57 69 6d 70  |2 = 0 : .. "Wimp|
00004300  5f 53 65 74 49 63 6f 6e  53 74 61 74 65 22 2c 2c  |_SetIconState",,|
00004310  62 6c 6f 63 6b 25 0d 02  30 05 3a 0d 02 31 1a f4  |block%..0.:..1..|
00004320  20 61 72 65 20 77 65 20  6b 69 63 6b 69 6e 27 20  | are we kickin' |
00004330  6e 65 77 73 3f 0d 02 32  1f e7 20 41 75 74 6f 45  |news?..2.. AutoE|
00004340  78 65 63 5f 6c 69 6e 65  25 28 38 29 20 3c 3e 20  |xec_line%(8) <> |
00004350  2d 31 20 8c 0d 02 33 24  20 20 6b 69 63 6b 5f 6e  |-1 ...3$  kick_n|
00004360  65 77 73 25 20 3d 20 b9  20 3a 20 62 6c 6f 63 6b  |ews% = . : block|
00004370  25 21 34 20 3d 20 31 31  0d 02 34 32 20 20 62 6c  |%!4 = 11..42  bl|
00004380  6f 63 6b 25 21 38 20 3d  20 26 30 30 32 30 30 30  |ock%!8 = &002000|
00004390  30 30 20 3a 20 62 6c 6f  63 6b 25 21 31 32 20 3d  |00 : block%!12 =|
000043a0  20 26 30 30 32 30 30 30  30 30 0d 02 35 24 20 20  | &00200000..5$  |
000043b0  c8 99 20 22 57 69 6d 70  5f 53 65 74 49 63 6f 6e  |.. "Wimp_SetIcon|
000043c0  53 74 61 74 65 22 2c 2c  62 6c 6f 63 6b 25 0d 02  |State",,block%..|
000043d0  36 07 cc 20 20 0d 02 37  24 20 20 6b 69 63 6b 5f  |6..  ..7$  kick_|
000043e0  6e 65 77 73 25 20 3d 20  a3 20 3a 20 62 6c 6f 63  |news% = . : bloc|
000043f0  6b 25 21 34 20 3d 20 31  31 0d 02 38 32 20 20 62  |k%!4 = 11..82  b|
00004400  6c 6f 63 6b 25 21 38 20  3d 20 26 30 30 30 30 30  |lock%!8 = &00000|
00004410  30 30 30 20 3a 20 62 6c  6f 63 6b 25 21 31 32 20  |000 : block%!12 |
00004420  3d 20 26 30 30 32 30 30  30 30 30 0d 02 39 24 20  |= &00200000..9$ |
00004430  20 c8 99 20 22 57 69 6d  70 5f 53 65 74 49 63 6f  | .. "Wimp_SetIco|
00004440  6e 53 74 61 74 65 22 2c  2c 62 6c 6f 63 6b 25 0d  |nState",,block%.|
00004450  02 3a 05 cd 0d 02 3b 05  3a 0d 02 3c 1a f4 20 61  |.:....;.:..<.. a|
00004460  72 65 20 77 65 20 6b 69  63 6b 69 6e 27 20 6d 61  |re we kickin' ma|
00004470  69 6c 3f 0d 02 3d 20 e7  20 41 75 74 6f 45 78 65  |il?..= . AutoExe|
00004480  63 5f 6c 69 6e 65 25 28  31 33 29 20 3c 3e 20 2d  |c_line%(13) <> -|
00004490  31 20 8c 0d 02 3e 24 20  20 6b 69 63 6b 5f 6e 65  |1 ...>$  kick_ne|
000044a0  77 73 25 20 3d 20 a3 20  3a 20 62 6c 6f 63 6b 25  |ws% = . : block%|
000044b0  21 34 20 3d 20 31 32 0d  02 3f 32 20 20 62 6c 6f  |!4 = 12..?2  blo|
000044c0  63 6b 25 21 38 20 3d 20  26 30 30 32 30 30 30 30  |ck%!8 = &0020000|
000044d0  30 20 3a 20 62 6c 6f 63  6b 25 21 31 32 20 3d 20  |0 : block%!12 = |
000044e0  26 30 30 32 30 30 30 30  30 0d 02 40 24 20 20 c8  |&00200000..@$  .|
000044f0  99 20 22 57 69 6d 70 5f  53 65 74 49 63 6f 6e 53  |. "Wimp_SetIconS|
00004500  74 61 74 65 22 2c 2c 62  6c 6f 63 6b 25 0d 02 41  |tate",,block%..A|
00004510  07 cc 20 20 0d 02 42 24  20 20 6b 69 63 6b 5f 6e  |..  ..B$  kick_n|
00004520  65 77 73 25 20 3d 20 a3  20 3a 20 62 6c 6f 63 6b  |ews% = . : block|
00004530  25 21 34 20 3d 20 31 32  0d 02 43 32 20 20 62 6c  |%!4 = 12..C2  bl|
00004540  6f 63 6b 25 21 38 20 3d  20 26 30 30 30 30 30 30  |ock%!8 = &000000|
00004550  30 30 20 3a 20 62 6c 6f  63 6b 25 21 31 32 20 3d  |00 : block%!12 =|
00004560  20 26 30 30 32 30 30 30  30 30 0d 02 44 24 20 20  | &00200000..D$  |
00004570  c8 99 20 22 57 69 6d 70  5f 53 65 74 49 63 6f 6e  |.. "Wimp_SetIcon|
00004580  53 74 61 74 65 22 2c 2c  62 6c 6f 63 6b 25 0d 02  |State",,block%..|
00004590  45 05 cd 0d 02 46 05 e1  0d 02 47 04 0d 02 48 12  |E....F....G...H.|
000045a0  dd 20 f2 62 75 69 6c 64  5f 6d 65 6e 75 73 0d 02  |. .build_menus..|
000045b0  49 05 3a 0d 02 4a 36 de  20 69 63 6f 6e 62 61 72  |I.:..J6. iconbar|
000045c0  5f 6d 65 6e 75 25 20 38  30 2c 20 62 61 75 64 5f  |_menu% 80, baud_|
000045d0  6d 65 6e 75 25 20 32 30  30 2c 20 70 6f 72 74 5f  |menu% 200, port_|
000045e0  6d 65 6e 75 25 20 32 30  30 0d 02 4b 37 de 20 70  |menu% 200..K7. p|
000045f0  6f 72 74 73 70 31 25 20  31 34 2c 70 6f 72 74 73  |ortsp1% 14,ports|
00004600  70 32 25 20 31 34 2c 20  70 6f 72 74 69 69 31 25  |p2% 14, portii1%|
00004610  20 32 36 2c 20 70 6f 72  74 69 69 32 25 20 32 36  | 26, portii2% 26|
00004620  0d 02 4c 1e 24 69 63 6f  6e 62 61 72 5f 6d 65 6e  |..L.$iconbar_men|
00004630  75 25 3d 22 53 65 74 20  44 65 6d 6f 6e 22 0d 02  |u%="Set Demon"..|
00004640  4d 20 69 63 6f 6e 62 61  72 5f 6d 65 6e 75 25 21  |M iconbar_menu%!|
00004650  31 32 20 3d 20 26 30 30  30 37 30 32 30 37 0d 02  |12 = &00070207..|
00004660  4e 49 69 63 6f 6e 62 61  72 5f 6d 65 6e 75 25 21  |NIiconbar_menu%!|
00004670  31 36 20 3d 20 26 37 30  20 3a 20 69 63 6f 6e 62  |16 = &70 : iconb|
00004680  61 72 5f 6d 65 6e 75 25  21 32 30 20 3d 20 34 34  |ar_menu%!20 = 44|
00004690  20 3a 20 69 63 6f 6e 62  61 72 5f 6d 65 6e 75 25  | : iconbar_menu%|
000046a0  21 32 34 20 3d 20 30 0d  02 4f 39 69 63 6f 6e 62  |!24 = 0..O9iconb|
000046b0  61 72 5f 6d 65 6e 75 25  21 32 38 20 3d 20 26 30  |ar_menu%!28 = &0|
000046c0  30 20 3a 20 69 63 6f 6e  62 61 72 5f 6d 65 6e 75  |0 : iconbar_menu|
000046d0  25 21 33 32 20 3d 20 69  6e 66 6f 68 61 6e 64 25  |%!32 = infohand%|
000046e0  0d 02 50 45 69 63 6f 6e  62 61 72 5f 6d 65 6e 75  |..PEiconbar_menu|
000046f0  25 21 33 36 20 3d 20 26  37 30 30 30 30 32 31 20  |%!36 = &7000021 |
00004700  3a 20 24 28 69 63 6f 6e  62 61 72 5f 6d 65 6e 75  |: $(iconbar_menu|
00004710  25 20 2b 20 34 30 29 20  3d 20 22 49 6e 66 6f 22  |% + 40) = "Info"|
00004720  2b bd 28 30 29 0d 02 51  32 69 63 6f 6e 62 61 72  |+.(0)..Q2iconbar|
00004730  5f 6d 65 6e 75 25 21 35  32 20 3d 20 26 38 30 20  |_menu%!52 = &80 |
00004740  3a 20 69 63 6f 6e 62 61  72 5f 6d 65 6e 75 25 21  |: iconbar_menu%!|
00004750  35 36 20 3d 20 2d 31 0d  02 52 45 69 63 6f 6e 62  |56 = -1..REiconb|
00004760  61 72 5f 6d 65 6e 75 25  21 36 30 20 3d 20 26 37  |ar_menu%!60 = &7|
00004770  30 30 30 30 32 31 20 3a  20 24 28 69 63 6f 6e 62  |000021 : $(iconb|
00004780  61 72 5f 6d 65 6e 75 25  20 2b 20 36 34 29 20 3d  |ar_menu% + 64) =|
00004790  20 22 51 75 69 74 22 2b  bd 28 30 29 0d 02 53 1d  | "Quit"+.(0)..S.|
000047a0  24 62 61 75 64 5f 6d 65  6e 75 25 20 3d 20 22 42  |$baud_menu% = "B|
000047b0  61 75 64 20 52 61 74 65  22 0d 02 54 1d 62 61 75  |aud Rate"..T.bau|
000047c0  64 5f 6d 65 6e 75 25 21  31 32 20 3d 20 26 30 30  |d_menu%!12 = &00|
000047d0  30 37 30 32 30 37 0d 02  55 40 62 61 75 64 5f 6d  |070207..U@baud_m|
000047e0  65 6e 75 25 21 31 36 20  3d 20 26 38 30 20 3a 20  |enu%!16 = &80 : |
000047f0  62 61 75 64 5f 6d 65 6e  75 25 21 32 30 20 3d 20  |baud_menu%!20 = |
00004800  34 34 20 3a 20 62 61 75  64 5f 6d 65 6e 75 25 21  |44 : baud_menu%!|
00004810  32 34 20 3d 20 30 0d 02  56 2c 62 61 75 64 5f 6d  |24 = 0..V,baud_m|
00004820  65 6e 75 25 21 32 38 20  3d 20 26 30 30 20 3a 20  |enu%!28 = &00 : |
00004830  62 61 75 64 5f 6d 65 6e  75 25 21 33 32 20 3d 20  |baud_menu%!32 = |
00004840  2d 31 0d 02 57 37 62 61  75 64 5f 6d 65 6e 75 25  |-1..W7baud_menu%|
00004850  21 33 36 20 3d 20 26 37  30 30 30 30 32 31 20 3a  |!36 = &7000021 :|
00004860  20 24 28 62 61 75 64 5f  6d 65 6e 75 25 20 2b 20  | $(baud_menu% + |
00004870  34 30 29 20 3d 20 22 30  22 0d 02 58 2c 62 61 75  |40) = "0"..X,bau|
00004880  64 5f 6d 65 6e 75 25 21  35 32 20 3d 20 26 30 30  |d_menu%!52 = &00|
00004890  20 3a 20 62 61 75 64 5f  6d 65 6e 75 25 21 35 36  | : baud_menu%!56|
000048a0  20 3d 20 2d 31 0d 02 59  3a 62 61 75 64 5f 6d 65  | = -1..Y:baud_me|
000048b0  6e 75 25 21 36 30 20 3d  20 26 37 30 30 30 30 32  |nu%!60 = &700002|
000048c0  31 20 3a 20 24 28 62 61  75 64 5f 6d 65 6e 75 25  |1 : $(baud_menu%|
000048d0  20 2b 20 36 34 29 20 3d  20 22 32 34 30 30 22 0d  | + 64) = "2400".|
000048e0  02 5a 2c 62 61 75 64 5f  6d 65 6e 75 25 21 37 36  |.Z,baud_menu%!76|
000048f0  20 3d 20 26 30 30 20 3a  20 62 61 75 64 5f 6d 65  | = &00 : baud_me|
00004900  6e 75 25 21 38 30 20 3d  20 2d 31 0d 02 5b 3a 62  |nu%!80 = -1..[:b|
00004910  61 75 64 5f 6d 65 6e 75  25 21 38 34 20 3d 20 26  |aud_menu%!84 = &|
00004920  37 30 30 30 30 32 31 20  3a 20 24 28 62 61 75 64  |7000021 : $(baud|
00004930  5f 6d 65 6e 75 25 20 2b  20 38 38 29 20 3d 20 22  |_menu% + 88) = "|
00004940  34 38 30 30 22 0d 02 5c  2e 62 61 75 64 5f 6d 65  |4800"..\.baud_me|
00004950  6e 75 25 21 31 30 30 20  3d 20 26 30 30 20 3a 20  |nu%!100 = &00 : |
00004960  62 61 75 64 5f 6d 65 6e  75 25 21 31 30 34 20 3d  |baud_menu%!104 =|
00004970  20 2d 31 0d 02 5d 3c 62  61 75 64 5f 6d 65 6e 75  | -1..]<baud_menu|
00004980  25 21 31 30 38 20 3d 20  26 37 30 30 30 30 32 31  |%!108 = &7000021|
00004990  20 3a 20 24 28 62 61 75  64 5f 6d 65 6e 75 25 20  | : $(baud_menu% |
000049a0  2b 20 31 31 32 29 20 3d  20 22 39 36 30 30 22 0d  |+ 112) = "9600".|
000049b0  02 5e 2e 62 61 75 64 5f  6d 65 6e 75 25 21 31 32  |.^.baud_menu%!12|
000049c0  34 20 3d 20 26 38 30 20  3a 20 62 61 75 64 5f 6d  |4 = &80 : baud_m|
000049d0  65 6e 75 25 21 31 32 38  20 3d 20 2d 31 0d 02 5f  |enu%!128 = -1.._|
000049e0  3d 62 61 75 64 5f 6d 65  6e 75 25 21 31 33 32 20  |=baud_menu%!132 |
000049f0  3d 20 26 37 30 30 30 30  32 31 20 3a 20 24 28 62  |= &7000021 : $(b|
00004a00  61 75 64 5f 6d 65 6e 75  25 20 2b 20 31 33 36 29  |aud_menu% + 136)|
00004a10  20 3d 20 22 31 39 32 30  30 22 0d 02 60 1e 24 70  | = "19200"..`.$p|
00004a20  6f 72 74 5f 6d 65 6e 75  25 20 3d 20 22 43 6f 6d  |ort_menu% = "Com|
00004a30  6d 73 20 50 6f 72 74 22  0d 02 61 3d 24 70 6f 72  |ms Port"..a=$por|
00004a40  74 73 70 31 25 20 3d 20  22 53 65 72 69 61 6c 20  |tsp1% = "Serial |
00004a50  50 6f 72 74 20 30 22 20  3a 20 24 70 6f 72 74 73  |Port 0" : $ports|
00004a60  70 32 25 20 3d 20 22 53  65 72 69 61 6c 20 50 6f  |p2% = "Serial Po|
00004a70  72 74 20 31 22 0d 02 62  53 24 70 6f 72 74 69 69  |rt 1"..bS$portii|
00004a80  31 25 20 3d 20 22 49 6e  74 65 6c 6c 69 67 65 6e  |1% = "Intelligen|
00004a90  74 20 49 6e 74 65 72 66  61 63 65 73 20 30 22 20  |t Interfaces 0" |
00004aa0  3a 20 24 70 6f 72 74 69  69 32 25 20 3d 20 22 49  |: $portii2% = "I|
00004ab0  6e 74 65 6c 6c 69 67 65  6e 74 20 49 6e 74 65 72  |ntelligent Inter|
00004ac0  66 61 63 65 73 20 31 22  0d 02 63 1d 70 6f 72 74  |faces 1"..c.port|
00004ad0  5f 6d 65 6e 75 25 21 31  32 20 3d 20 26 30 30 30  |_menu%!12 = &000|
00004ae0  37 30 32 30 37 0d 02 64  41 70 6f 72 74 5f 6d 65  |70207..dAport_me|
00004af0  6e 75 25 21 31 36 20 3d  20 26 31 41 30 20 3a 20  |nu%!16 = &1A0 : |
00004b00  70 6f 72 74 5f 6d 65 6e  75 25 21 32 30 20 3d 20  |port_menu%!20 = |
00004b10  34 34 20 3a 20 70 6f 72  74 5f 6d 65 6e 75 25 21  |44 : port_menu%!|
00004b20  32 34 20 3d 20 30 0d 02  65 2c 70 6f 72 74 5f 6d  |24 = 0..e,port_m|
00004b30  65 6e 75 25 21 32 38 20  3d 20 26 30 30 20 3a 20  |enu%!28 = &00 : |
00004b40  70 6f 72 74 5f 6d 65 6e  75 25 21 33 32 20 3d 20  |port_menu%!32 = |
00004b50  2d 31 0d 02 66 40 70 6f  72 74 5f 6d 65 6e 75 25  |-1..f@port_menu%|
00004b60  21 33 36 20 3d 20 26 37  30 30 30 30 32 31 20 3a  |!36 = &7000021 :|
00004b70  20 24 28 70 6f 72 74 5f  6d 65 6e 75 25 20 2b 20  | $(port_menu% + |
00004b80  34 30 29 20 3d 20 22 49  6e 74 65 72 6e 61 6c 20  |40) = "Internal |
00004b90  30 22 0d 02 67 2c 70 6f  72 74 5f 6d 65 6e 75 25  |0"..g,port_menu%|
00004ba0  21 35 32 20 3d 20 26 30  30 20 3a 20 70 6f 72 74  |!52 = &00 : port|
00004bb0  5f 6d 65 6e 75 25 21 35  36 20 3d 20 2d 31 0d 02  |_menu%!56 = -1..|
00004bc0  68 37 70 6f 72 74 5f 6d  65 6e 75 25 21 36 30 20  |h7port_menu%!60 |
00004bd0  3d 20 26 37 30 30 30 31  32 31 20 3a 20 70 6f 72  |= &7000121 : por|
00004be0  74 5f 6d 65 6e 75 25 21  36 34 20 3d 20 70 6f 72  |t_menu%!64 = por|
00004bf0  74 73 70 31 25 0d 02 69  2b 70 6f 72 74 5f 6d 65  |tsp1%..i+port_me|
00004c00  6e 75 25 21 36 38 20 3d  20 2d 31 20 3a 20 70 6f  |nu%!68 = -1 : po|
00004c10  72 74 5f 6d 65 6e 75 25  21 37 32 20 3d 20 31 34  |rt_menu%!72 = 14|
00004c20  0d 02 6a 2c 70 6f 72 74  5f 6d 65 6e 75 25 21 37  |..j,port_menu%!7|
00004c30  36 20 3d 20 26 30 30 20  3a 20 70 6f 72 74 5f 6d  |6 = &00 : port_m|
00004c40  65 6e 75 25 21 38 30 20  3d 20 2d 31 0d 02 6b 37  |enu%!80 = -1..k7|
00004c50  70 6f 72 74 5f 6d 65 6e  75 25 21 38 34 20 3d 20  |port_menu%!84 = |
00004c60  26 37 30 30 30 31 32 31  20 3a 20 70 6f 72 74 5f  |&7000121 : port_|
00004c70  6d 65 6e 75 25 21 38 38  20 3d 20 70 6f 72 74 73  |menu%!88 = ports|
00004c80  70 32 25 0d 02 6c 2b 70  6f 72 74 5f 6d 65 6e 75  |p2%..l+port_menu|
00004c90  25 21 39 32 20 3d 20 2d  31 20 3a 20 70 6f 72 74  |%!92 = -1 : port|
00004ca0  5f 6d 65 6e 75 25 21 39  36 20 3d 20 31 34 0d 02  |_menu%!96 = 14..|
00004cb0  6d 2e 70 6f 72 74 5f 6d  65 6e 75 25 21 31 30 30  |m.port_menu%!100|
00004cc0  20 3d 20 26 30 30 20 3a  20 70 6f 72 74 5f 6d 65  | = &00 : port_me|
00004cd0  6e 75 25 21 31 30 34 20  3d 20 2d 31 0d 02 6e 39  |nu%!104 = -1..n9|
00004ce0  70 6f 72 74 5f 6d 65 6e  75 25 21 31 30 38 20 3d  |port_menu%!108 =|
00004cf0  20 26 37 30 30 30 31 32  31 20 3a 20 70 6f 72 74  | &7000121 : port|
00004d00  5f 6d 65 6e 75 25 21 31  31 32 20 3d 20 70 6f 72  |_menu%!112 = por|
00004d10  74 69 69 31 25 0d 02 6f  2d 70 6f 72 74 5f 6d 65  |tii1%..o-port_me|
00004d20  6e 75 25 21 31 31 36 20  3d 20 2d 31 20 3a 20 70  |nu%!116 = -1 : p|
00004d30  6f 72 74 5f 6d 65 6e 75  25 21 31 32 30 20 3d 20  |ort_menu%!120 = |
00004d40  31 34 0d 02 70 2e 70 6f  72 74 5f 6d 65 6e 75 25  |14..p.port_menu%|
00004d50  21 31 32 34 20 3d 20 26  38 30 20 3a 20 70 6f 72  |!124 = &80 : por|
00004d60  74 5f 6d 65 6e 75 25 21  31 32 38 20 3d 20 2d 31  |t_menu%!128 = -1|
00004d70  0d 02 71 39 70 6f 72 74  5f 6d 65 6e 75 25 21 31  |..q9port_menu%!1|
00004d80  33 32 20 3d 20 26 37 30  30 30 31 32 31 20 3a 20  |32 = &7000121 : |
00004d90  70 6f 72 74 5f 6d 65 6e  75 25 21 31 33 36 20 3d  |port_menu%!136 =|
00004da0  20 70 6f 72 74 69 69 32  25 0d 02 72 2d 70 6f 72  | portii2%..r-por|
00004db0  74 5f 6d 65 6e 75 25 21  31 34 30 20 3d 20 2d 31  |t_menu%!140 = -1|
00004dc0  20 3a 20 70 6f 72 74 5f  6d 65 6e 75 25 21 31 34  | : port_menu%!14|
00004dd0  34 20 3d 20 31 34 0d 02  73 05 e1 0d 02 74 04 0d  |4 = 14..s....t..|
00004de0  02 75 14 dd 20 f2 65 72  72 6f 72 28 65 72 72 6f  |.u.. .error(erro|
00004df0  72 24 29 0d 02 76 05 3a  0d 02 77 11 21 62 6c 6f  |r$)..v.:..w.!blo|
00004e00  63 6b 25 20 3d 20 26 46  46 0d 02 78 1d 24 28 62  |ck% = &FF..x.$(b|
00004e10  6c 6f 63 6b 25 2b 34 29  20 3d 20 65 72 72 6f 72  |lock%+4) = error|
00004e20  24 2b bd 28 30 29 0d 02  79 2f c8 99 20 22 57 69  |$+.(0)..y/.. "Wi|
00004e30  6d 70 5f 52 65 70 6f 72  74 45 72 72 6f 72 22 20  |mp_ReportError" |
00004e40  2c 62 6c 6f 63 6b 25 2c  31 2c 22 53 65 74 20 44  |,block%,1,"Set D|
00004e50  65 6d 6f 6e 22 0d 02 7a  05 e1 0d 02 7b 04 0d 02  |emon"..z....{...|
00004e60  7c 1a dd 20 a4 48 65 6c  70 28 77 69 6e 64 6f 77  ||.. .Help(window|
00004e70  25 2c 69 63 6f 6e 25 29  0d 02 7d 05 3a 0d 02 7e  |%,icon%)..}.:..~|
00004e80  0b ea 20 74 65 78 74 24  0d 02 7f 10 c8 8e 20 77  |.. text$...... w|
00004e90  69 6e 64 6f 77 25 20 ca  0d 02 80 39 c9 20 2d 32  |indow% ....9. -2|
00004ea0  20 3a 20 74 65 78 74 24  20 3d 20 22 54 68 69 73  | : text$ = "This|
00004eb0  20 69 73 20 74 68 65 20  53 65 74 20 44 65 6d 6f  | is the Set Demo|
00004ec0  6e 20 61 70 70 6c 69 63  61 74 69 6f 6e 2e 7c 4d  |n application.|M|
00004ed0  22 0d 02 81 38 20 20 74  65 78 74 24 20 2b 3d 20  |"...8  text$ += |
00004ee0  22 49 74 20 73 65 74 73  20 75 70 20 74 68 65 20  |"It sets up the |
00004ef0  63 6f 6e 66 69 67 75 72  61 74 69 6f 6e 20 6f 66  |configuration of|
00004f00  20 4b 41 39 51 2e 7c 4d  22 0d 02 82 3c 20 20 74  | KA9Q.|M"...<  t|
00004f10  65 78 74 24 20 2b 3d 20  22 43 6c 69 63 6b 20 77  |ext$ += "Click w|
00004f20  69 74 68 20 53 65 6c 65  63 74 20 74 6f 20 6f 70  |ith Select to op|
00004f30  65 6e 20 74 68 65 20 73  65 74 75 70 20 77 69 6e  |en the setup win|
00004f40  64 6f 77 2e 22 0d 02 83  0c 20 20 3d 74 65 78 74  |dow."....  =text|
00004f50  24 0d 02 84 1d c9 20 64  65 6d 6f 6e 68 61 6e 64  |$..... demonhand|
00004f60  25 20 3a 20 c8 8e 20 69  63 6f 6e 25 20 ca 0d 02  |% : .. icon% ...|
00004f70  85 34 20 20 c9 20 2d 31  20 3a 20 3d 20 22 54 68  |.4  . -1 : = "Th|
00004f80  69 73 20 69 73 20 74 68  65 20 53 65 74 20 44 65  |is is the Set De|
00004f90  6d 6f 6e 20 73 65 74 75  70 20 77 69 6e 64 6f 77  |mon setup window|
00004fa0  2e 22 0d 02 86 41 20 20  c9 20 30 20 3a 20 74 65  |."...A  . 0 : te|
00004fb0  78 74 24 20 3d 20 22 54  68 65 20 68 6f 73 74 20  |xt$ = "The host |
00004fc0  6e 61 6d 65 20 69 73 20  74 68 65 20 6c 65 66 74  |name is the left|
00004fd0  6d 6f 73 74 20 70 61 72  74 20 6f 66 20 79 6f 75  |most part of you|
00004fe0  72 20 22 0d 02 87 40 20  20 20 20 74 65 78 74 24  |r "...@    text$|
00004ff0  20 2b 3d 20 22 49 6e 74  65 72 6e 65 74 20 61 64  | += "Internet ad|
00005000  64 72 65 73 73 2c 20 74  68 65 20 72 65 73 74 20  |dress, the rest |
00005010  62 65 69 6e 67 20 2e 64  65 6d 6f 6e 2e 63 6f 2e  |being .demon.co.|
00005020  75 6b 22 0d 02 88 0e 20  20 20 20 3d 74 65 78 74  |uk"....    =text|
00005030  24 0d 02 89 3e 20 20 c9  20 31 20 3a 20 74 65 78  |$...>  . 1 : tex|
00005040  74 24 20 3d 20 22 54 79  70 65 20 79 6f 75 72 20  |t$ = "Type your |
00005050  68 6f 73 74 20 6e 61 6d  65 20 69 6e 20 68 65 72  |host name in her|
00005060  65 2e 20 46 6f 72 20 65  78 61 6d 70 6c 65 22 0d  |e. For example".|
00005070  02 8a 3f 20 20 20 20 74  65 78 74 24 20 2b 3d 20  |..?    text$ += |
00005080  22 20 61 74 20 41 63 6f  72 6e 20 55 73 65 72 20  |" at Acorn User |
00005090  77 65 20 77 6f 75 6c 64  20 74 79 70 65 20 27 61  |we would type 'a|
000050a0  63 6f 72 6e 75 73 72 27  2c 20 61 73 20 22 0d 02  |cornusr', as "..|
000050b0  8b 46 20 20 20 20 74 65  78 74 24 20 2b 3d 20 22  |.F    text$ += "|
000050c0  6f 75 72 20 73 69 74 65  6e 61 6d 65 20 6f 6e 20  |our sitename on |
000050d0  49 6e 74 65 72 6e 65 74  20 69 73 20 27 61 63 6f  |Internet is 'aco|
000050e0  72 6e 75 73 72 2e 64 65  6d 6f 6e 2e 63 6f 2e 75  |rnusr.demon.co.u|
000050f0  6b 27 2e 22 0d 02 8c 0e  20 20 20 20 3d 74 65 78  |k'."....    =tex|
00005100  74 24 0d 02 8d 48 20 20  c9 20 32 20 3a 20 74 65  |t$...H  . 2 : te|
00005110  78 74 24 20 3d 20 22 54  68 65 20 70 72 6f 67 72  |xt$ = "The progr|
00005120  61 6d 20 61 73 73 75 6d  65 73 20 74 68 61 74 20  |am assumes that |
00005130  79 6f 75 20 68 61 76 65  20 61 20 64 65 6d 6f 6e  |you have a demon|
00005140  20 61 63 63 6f 75 6e 74  2e 22 0d 02 8e 0e 20 20  | account."....  |
00005150  20 20 3d 74 65 78 74 24  0d 02 8f 4c 20 20 c9 20  |  =text$...L  . |
00005160  35 20 3a 20 74 65 78 74  24 20 3d 20 22 54 68 65  |5 : text$ = "The|
00005170  20 49 50 20 61 64 64 72  65 73 73 20 69 73 20 74  | IP address is t|
00005180  68 65 20 6e 75 6d 62 65  72 20 77 68 69 63 68 20  |he number which |
00005190  75 6e 69 71 75 65 6c 79  20 69 64 65 6e 74 69 66  |uniquely identif|
000051a0  69 65 73 22 0d 02 90 4f  20 20 20 20 74 65 78 74  |ies"...O    text|
000051b0  24 20 2b 3d 20 22 20 79  6f 75 72 20 49 6e 74 65  |$ += " your Inte|
000051c0  72 6e 65 74 20 73 69 74  65 2e 7c 4d 49 74 20 68  |rnet site.|MIt h|
000051d0  61 73 20 74 68 65 20 66  6f 72 6d 20 78 78 78 2e  |as the form xxx.|
000051e0  78 78 78 2e 78 78 78 2e  78 78 78 2c 20 77 69 74  |xxx.xxx.xxx, wit|
000051f0  68 20 22 0d 02 91 2e 20  20 20 20 74 65 78 74 24  |h "....    text$|
00005200  20 2b 3d 20 22 6e 75 6d  62 65 72 73 20 69 6e 20  | += "numbers in |
00005210  70 6c 61 63 65 20 6f 66  20 74 68 65 20 78 73 2e  |place of the xs.|
00005220  22 0d 02 92 0e 20 20 20  20 3d 74 65 78 74 24 0d  |"....    =text$.|
00005230  02 93 45 20 20 c9 20 36  20 3a 20 74 65 78 74 24  |..E  . 6 : text$|
00005240  20 3d 20 22 54 79 70 65  20 79 6f 75 72 20 49 50  | = "Type your IP|
00005250  20 61 64 64 72 65 73 73  20 69 6e 20 68 65 72 65  | address in here|
00005260  2e 20 59 6f 75 20 77 69  6c 6c 20 62 65 20 74 6f  |. You will be to|
00005270  6c 64 20 22 0d 02 94 47  20 20 20 20 74 65 78 74  |ld "...G    text|
00005280  24 20 2b 3d 20 22 74 68  69 73 20 77 68 65 6e 20  |$ += "this when |
00005290  79 6f 75 20 6c 6f 67 20  6f 6e 2e 7c 4d 41 74 20  |you log on.|MAt |
000052a0  41 63 6f 72 6e 20 55 73  65 72 2c 20 77 65 20 77  |Acorn User, we w|
000052b0  6f 75 6c 64 20 74 79 70  65 20 22 0d 02 95 29 20  |ould type "...) |
000052c0  20 20 20 74 65 78 74 24  20 2b 3d 20 22 27 31 35  |   text$ += "'15|
000052d0  38 2e 31 35 32 2e 31 31  2e 32 34 30 27 20 68 65  |8.152.11.240' he|
000052e0  72 65 2e 22 0d 02 96 0f  20 20 20 20 3d 20 74 65  |re."....    = te|
000052f0  78 74 24 0d 02 97 46 20  20 c9 20 34 20 3a 20 74  |xt$...F  . 4 : t|
00005300  65 78 74 24 20 3d 20 22  54 68 69 73 20 69 73 20  |ext$ = "This is |
00005310  74 68 65 20 63 6f 6d 6d  75 6e 69 63 61 74 69 6f  |the communicatio|
00005320  6e 73 20 70 6f 72 74 20  74 6f 20 62 65 20 75 73  |ns port to be us|
00005330  65 64 2e 20 4f 6e 6c 79  22 0d 02 98 4a 20 20 20  |ed. Only"...J   |
00005340  20 74 65 78 74 24 20 2b  3d 20 22 20 63 68 61 6e  | text$ += " chan|
00005350  67 65 20 74 68 69 73 20  69 66 20 79 6f 75 20 68  |ge this if you h|
00005360  61 76 65 20 65 78 74 72  61 20 73 65 72 69 61 6c  |ave extra serial|
00005370  20 70 6f 72 74 73 20 61  64 64 65 64 20 6f 6e 20  | ports added on |
00005380  61 6e 22 0d 02 99 49 20  20 20 20 74 65 78 74 24  |an"...I    text$|
00005390  20 2b 3d 20 22 20 65 78  70 61 6e 73 69 6f 6e 20  | += " expansion |
000053a0  63 61 72 64 2e 20 43 68  61 6e 67 65 20 74 68 69  |card. Change thi|
000053b0  73 20 62 79 20 75 73 69  6e 67 20 74 68 65 20 70  |s by using the p|
000053c0  6f 70 20 75 70 20 6d 65  6e 75 20 22 0d 02 9a 20  |op up menu "... |
000053d0  20 20 20 20 74 65 78 74  24 20 2b 3d 20 22 74 6f  |    text$ += "to|
000053e0  20 74 68 65 20 72 69 67  68 74 2e 22 0d 02 9b 0e  | the right."....|
000053f0  20 20 20 20 3d 74 65 78  74 24 0d 02 9c 47 20 20  |    =text$...G  |
00005400  c9 20 33 20 3a 20 74 65  78 74 24 20 3d 20 22 54  |. 3 : text$ = "T|
00005410  68 69 73 20 65 6e 61 62  6c 65 73 20 79 6f 75 20  |his enables you |
00005420  74 6f 20 73 70 65 63 69  66 79 20 6f 74 68 65 72  |to specify other|
00005430  20 70 6f 72 74 73 20 74  68 61 6e 20 74 68 65 20  | ports than the |
00005440  22 0d 02 9d 47 20 20 20  20 74 65 78 74 24 20 2b  |"...G    text$ +|
00005450  3d 20 22 27 69 6e 74 65  72 6e 61 6c 27 20 73 65  |= "'internal' se|
00005460  72 69 61 6c 20 70 6f 72  74 20 74 68 61 74 20 63  |rial port that c|
00005470  6f 6d 65 73 20 77 69 74  68 20 79 6f 75 72 20 6d  |omes with your m|
00005480  61 63 68 69 6e 65 2e 22  0d 02 9e 0e 20 20 20 20  |achine."....    |
00005490  3d 74 65 78 74 24 0d 02  9f 4b 20 20 c9 20 37 20  |=text$...K  . 7 |
000054a0  3a 20 74 65 78 74 24 20  3d 20 22 43 6c 69 63 6b  |: text$ = "Click|
000054b0  20 6f 6e 20 74 68 69 73  20 69 63 6f 6e 20 74 6f  | on this icon to|
000054c0  20 63 68 6f 6f 73 65 20  74 68 65 20 63 6f 6d 6d  | choose the comm|
000054d0  75 6e 69 63 61 74 69 6f  6e 73 20 70 6f 72 74 20  |unications port |
000054e0  22 0d 02 a0 46 20 20 20  20 74 65 78 74 24 20 2b  |"...F    text$ +|
000054f0  3d 20 22 74 6f 20 62 65  20 75 73 65 64 2e 20 4f  |= "to be used. O|
00005500  6e 6c 79 20 75 73 65 20  74 68 69 73 20 69 66 20  |nly use this if |
00005510  79 6f 75 20 68 61 76 65  20 74 68 65 20 72 65 6c  |you have the rel|
00005520  65 76 61 6e 74 20 22 0d  02 a1 47 20 20 20 20 74  |evant "...G    t|
00005530  65 78 74 24 20 2b 3d 20  22 20 65 78 70 61 6e 73  |ext$ += " expans|
00005540  69 6f 6e 20 63 61 72 64  20 66 72 6f 6d 20 54 68  |ion card from Th|
00005550  65 20 53 65 72 69 61 6c  20 50 6f 72 74 20 6f 72  |e Serial Port or|
00005560  20 49 6e 74 65 6c 6c 69  67 65 6e 74 20 22 0d 02  | Intelligent "..|
00005570  a2 1e 20 20 20 20 74 65  78 74 24 20 2b 3d 20 22  |..    text$ += "|
00005580  49 6e 74 65 72 66 61 63  65 73 2e 22 0d 02 a3 0e  |Interfaces."....|
00005590  20 20 20 20 3d 74 65 78  74 24 0d 02 a4 45 20 20  |    =text$...E  |
000055a0  c9 20 38 20 3a 20 74 65  78 74 24 20 3d 20 22 54  |. 8 : text$ = "T|
000055b0  68 69 73 20 69 73 20 74  68 65 20 73 70 65 65 64  |his is the speed|
000055c0  20 74 68 61 74 20 79 6f  75 72 20 63 6f 6d 6d 73  | that your comms|
000055d0  20 70 6f 72 74 20 72 75  6e 73 20 61 74 2e 22 0d  | port runs at.".|
000055e0  02 a5 0e 20 20 20 20 3d  74 65 78 74 24 0d 02 a6  |...    =text$...|
000055f0  4a 20 20 c9 20 39 20 3a  20 74 65 78 74 24 20 3d  |J  . 9 : text$ =|
00005600  20 22 54 79 70 65 20 69  6e 20 74 68 65 20 62 61  | "Type in the ba|
00005610  75 64 20 72 61 74 65 20  74 6f 20 62 65 20 75 73  |ud rate to be us|
00005620  65 64 20 68 65 72 65 2e  20 59 6f 75 72 20 64 69  |ed here. Your di|
00005630  61 6c 6c 65 72 20 22 0d  02 a7 4a 20 20 20 20 74  |aller "...J    t|
00005640  65 78 74 24 20 2b 3d 20  22 73 68 6f 75 6c 64 20  |ext$ += "should |
00005650  61 6c 73 6f 20 75 73 65  20 74 68 69 73 20 72 61  |also use this ra|
00005660  74 65 2e 20 42 61 75 64  20 72 61 74 65 73 20 63  |te. Baud rates c|
00005670  61 6e 20 62 65 20 63 68  6f 73 65 6e 20 62 79 20  |an be chosen by |
00005680  22 0d 02 a8 4d 20 20 20  20 74 65 78 74 24 20 2b  |"...M    text$ +|
00005690  3d 20 22 75 73 69 6e 67  20 74 68 65 20 70 6f 70  |= "using the pop|
000056a0  20 75 70 20 6d 65 6e 75  20 74 6f 20 74 68 65 20  | up menu to the |
000056b0  72 69 67 68 74 2e 7c 4d  49 66 20 79 6f 75 20 74  |right.|MIf you t|
000056c0  79 70 65 20 7a 65 72 6f  20 68 65 72 65 22 0d 02  |ype zero here"..|
000056d0  a9 3f 20 20 20 20 74 65  78 74 24 20 2b 3d 20 22  |.?    text$ += "|
000056e0  20 4b 41 39 51 20 77 69  6c 6c 20 75 73 65 20 74  | KA9Q will use t|
000056f0  68 65 20 72 61 74 65 20  73 65 74 20 62 79 20 79  |he rate set by y|
00005700  6f 75 72 20 64 69 61 6c  6c 65 72 2e 22 0d 02 aa  |our dialler."...|
00005710  0e 20 20 20 20 3d 74 65  78 74 24 0d 02 ab 40 20  |.    =text$...@ |
00005720  20 c9 20 31 30 20 3a 20  3d 20 22 43 6c 69 63 6b  | . 10 : = "Click|
00005730  20 6f 6e 20 74 68 69 73  20 74 6f 20 63 68 6f 6f  | on this to choo|
00005740  73 65 20 61 20 62 61 75  64 20 72 61 74 65 20 74  |se a baud rate t|
00005750  6f 20 62 65 20 75 73 65  64 2e 22 0d 02 ac 51 20  |o be used."...Q |
00005760  20 c9 20 31 31 20 3a 20  74 65 78 74 24 20 3d 20  | . 11 : text$ = |
00005770  22 57 68 65 6e 20 74 68  69 73 20 6f 70 74 69 6f  |"When this optio|
00005780  6e 20 69 73 20 73 65 6c  65 63 74 65 64 2c 20 4b  |n is selected, K|
00005790  41 39 51 20 77 69 6c 6c  20 73 74 61 72 74 20 64  |A9Q will start d|
000057a0  6f 77 6e 6c 6f 61 64 69  6e 67 20 22 0d 02 ad 2d  |ownloading "...-|
000057b0  20 20 20 20 74 65 78 74  24 20 2b 3d 20 22 6e 65  |    text$ += "ne|
000057c0  77 73 20 61 73 20 73 6f  6f 6e 20 61 73 20 69 74  |ws as soon as it|
000057d0  20 69 73 20 72 75 6e 2e  22 0d 02 ae 0e 20 20 20  | is run."....   |
000057e0  20 3d 74 65 78 74 24 0d  02 af 4e 20 20 c9 20 31  | =text$...N  . 1|
000057f0  32 20 3a 20 74 65 78 74  24 20 3d 20 22 57 68 65  |2 : text$ = "Whe|
00005800  6e 20 74 68 69 73 20 6f  70 74 69 6f 6e 20 69 73  |n this option is|
00005810  20 73 65 6c 65 63 74 65  64 2c 20 4b 41 39 51 20  | selected, KA9Q |
00005820  77 69 6c 6c 20 73 74 61  72 74 20 74 68 65 20 6d  |will start the m|
00005830  61 69 6c 20 22 0d 02 b0  2f 20 20 20 20 74 65 78  |ail ".../    tex|
00005840  74 24 20 2b 3d 20 22 73  65 72 76 65 72 20 61 73  |t$ += "server as|
00005850  20 73 6f 6f 6e 20 61 73  20 69 74 20 69 73 20 72  | soon as it is r|
00005860  75 6e 2e 22 0d 02 b1 0e  20 20 20 20 3d 74 65 78  |un."....    =tex|
00005870  74 24 0d 02 b2 4f 20 20  c9 20 31 33 20 3a 20 74  |t$...O  . 13 : t|
00005880  65 78 74 24 20 3d 20 22  54 68 69 73 20 70 72 65  |ext$ = "This pre|
00005890  66 69 78 20 77 69 6c 6c  20 62 65 20 75 73 65 64  |fix will be used|
000058a0  20 62 79 20 4b 41 39 51  20 74 6f 20 69 64 65 6e  | by KA9Q to iden|
000058b0  74 69 66 79 20 6e 65 77  73 20 66 69 6c 65 73 2e  |tify news files.|
000058c0  22 0d 02 b3 4d 20 20 20  20 74 65 78 74 24 20 2b  |"...M    text$ +|
000058d0  3d 20 22 7c 4d 27 44 65  6d 27 20 69 73 20 4b 41  |= "|M'Dem' is KA|
000058e0  39 51 27 73 20 64 65 66  61 75 6c 74 2c 20 61 6e  |9Q's default, an|
000058f0  64 20 74 68 65 72 65 20  69 73 20 6e 6f 20 61 63  |d there is no ac|
00005900  74 75 61 6c 20 6e 65 65  64 20 74 6f 20 22 0d 02  |tual need to "..|
00005910  b4 2a 20 20 20 20 74 65  78 74 24 20 2b 3d 20 22  |.*    text$ += "|
00005920  75 73 65 20 61 6e 79 74  68 69 6e 67 20 64 69 66  |use anything dif|
00005930  66 65 72 65 6e 74 2e 22  0d 02 b5 0e 20 20 20 20  |ferent."....    |
00005940  3d 74 65 78 74 24 0d 02  b6 4f 20 20 c9 20 31 34  |=text$...O  . 14|
00005950  20 3a 20 74 65 78 74 24  20 3d 20 22 54 79 70 65  | : text$ = "Type|
00005960  20 69 6e 20 74 68 65 20  70 72 65 66 69 78 20 66  | in the prefix f|
00005970  6f 72 20 4b 41 39 51 20  6e 65 77 73 20 66 69 6c  |or KA9Q news fil|
00005980  65 73 20 68 65 72 65 2e  20 59 6f 75 20 64 6f 20  |es here. You do |
00005990  6e 6f 74 20 22 0d 02 b7  48 20 20 20 20 74 65 78  |not "...H    tex|
000059a0  74 24 20 2b 3d 20 22 6e  65 65 64 20 74 6f 20 63  |t$ += "need to c|
000059b0  68 61 6e 67 65 20 74 68  69 73 3b 20 69 66 20 79  |hange this; if y|
000059c0  6f 75 20 64 6f 2c 20 61  6e 64 20 64 6f 6e 27 74  |ou do, and don't|
000059d0  20 73 65 74 20 75 70 20  74 68 65 20 22 0d 02 b8  | set up the "...|
000059e0  27 20 20 20 20 74 65 78  74 24 20 2b 3d 20 22 63  |'    text$ += "c|
000059f0  6f 72 72 65 73 70 6f 6e  64 69 6e 67 20 47 72 6f  |orresponding Gro|
00005a00  75 70 20 22 0d 02 b9 4f  20 20 20 20 74 65 78 74  |up "...O    text|
00005a10  24 20 2b 3d 20 22 20 61  6e 64 20 4c 61 73 74 20  |$ += " and Last |
00005a20  66 69 6c 65 73 20 77 69  74 68 69 6e 20 4b 41 39  |files within KA9|
00005a30  51 2c 20 53 65 74 20 44  65 6d 6f 6e 20 77 69 6c  |Q, Set Demon wil|
00005a40  6c 20 73 65 74 20 75 70  20 64 65 66 61 75 6c 74  |l set up default|
00005a50  73 2e 22 0d 02 ba 0e 20  20 20 20 3d 74 65 78 74  |s."....    =text|
00005a60  24 0d 02 bb 4a 20 20 c9  20 31 35 20 3a 20 74 65  |$...J  . 15 : te|
00005a70  78 74 24 20 3d 20 22 43  6c 69 63 6b 20 6f 6e 20  |xt$ = "Click on |
00005a80  74 68 69 73 20 69 63 6f  6e 20 74 6f 20 73 61 76  |this icon to sav|
00005a90  65 20 74 68 65 20 63 6f  6e 66 69 67 75 72 61 74  |e the configurat|
00005aa0  69 6f 6e 20 66 69 6c 65  73 20 22 0d 02 bc 48 20  |ion files "...H |
00005ab0  20 20 20 74 65 78 74 24  20 2b 3d 20 22 77 69 74  |   text$ += "wit|
00005ac0  68 69 6e 20 53 65 74 20  44 65 6d 6f 6e 20 28 69  |hin Set Demon (i|
00005ad0  6e 20 74 68 65 20 21 53  65 74 44 65 6d 6f 6e 2e  |n the !SetDemon.|
00005ae0  54 6f 4b 41 39 51 20 64  69 72 65 63 74 6f 72 79  |ToKA9Q directory|
00005af0  29 2e 22 0d 02 bd 0e 20  20 20 20 3d 74 65 78 74  |)."....    =text|
00005b00  24 0d 02 be 4a 20 20 c9  20 31 36 20 3a 20 74 65  |$...J  . 16 : te|
00005b10  78 74 24 20 3d 20 22 43  6c 69 63 6b 20 6f 6e 20  |xt$ = "Click on |
00005b20  74 68 69 73 20 69 63 6f  6e 20 74 6f 20 6c 6f 61  |this icon to loa|
00005b30  64 20 74 68 65 20 63 6f  6e 66 69 67 75 72 61 74  |d the configurat|
00005b40  69 6f 6e 20 66 69 6c 65  73 20 22 0d 02 bf 2b 20  |ion files "...+ |
00005b50  20 20 20 74 65 78 74 24  20 2b 3d 20 22 73 74 6f  |   text$ += "sto|
00005b60  72 65 64 20 77 69 74 68  69 6e 20 53 65 74 20 44  |red within Set D|
00005b70  65 6d 6f 6e 2e 22 0d 02  c0 0f 20 20 20 20 3d 20  |emon."....    = |
00005b80  74 65 78 74 24 0d 02 c1  4a 20 20 c9 20 31 37 20  |text$...J  . 17 |
00005b90  3a 20 74 65 78 74 24 20  3d 20 22 43 6c 69 63 6b  |: text$ = "Click|
00005ba0  20 6f 6e 20 74 68 69 73  20 69 63 6f 6e 20 74 6f  | on this icon to|
00005bb0  20 73 61 76 65 20 74 68  65 20 63 6f 6e 66 69 67  | save the config|
00005bc0  75 72 61 74 69 6f 6e 20  66 69 6c 65 73 20 22 0d  |uration files ".|
00005bd0  02 c2 50 20 20 20 20 74  65 78 74 24 20 2b 3d 20  |..P    text$ += |
00005be0  22 69 6e 73 69 64 65 20  4b 41 39 51 2e 20 4e 6f  |"inside KA9Q. No|
00005bf0  74 65 20 74 68 61 74 20  74 68 69 73 20 77 69 6c  |te that this wil|
00005c00  6c 20 6f 76 65 72 77 72  69 74 65 20 61 6e 79 20  |l overwrite any |
00005c10  66 69 6c 65 73 20 61 6c  72 65 61 64 79 20 22 0d  |files already ".|
00005c20  02 c3 40 20 20 20 20 74  65 78 74 24 20 2b 3d 20  |..@    text$ += |
00005c30  22 70 72 65 73 65 6e 74  2c 20 73 6f 20 6d 61 6b  |"present, so mak|
00005c40  65 20 73 75 72 65 20 74  68 61 74 20 79 6f 75 20  |e sure that you |
00005c50  68 61 76 65 20 61 20 62  61 63 6b 75 70 2e 22 0d  |have a backup.".|
00005c60  02 c4 0e 20 20 20 20 3d  74 65 78 74 24 0d 02 c5  |...    =text$...|
00005c70  4a 20 20 c9 20 31 38 20  3a 20 74 65 78 74 24 20  |J  . 18 : text$ |
00005c80  3d 20 22 43 6c 69 63 6b  20 6f 6e 20 74 68 69 73  |= "Click on this|
00005c90  20 69 63 6f 6e 20 74 6f  20 6c 6f 61 64 20 74 68  | icon to load th|
00005ca0  65 20 43 6f 6e 66 69 67  20 61 6e 64 20 41 75 74  |e Config and Aut|
00005cb0  6f 45 78 65 63 20 22 0d  02 c6 2a 20 20 20 20 74  |oExec "...*    t|
00005cc0  65 78 74 24 20 2b 3d 20  22 66 69 6c 65 73 20 66  |ext$ += "files f|
00005cd0  72 6f 6d 20 77 69 74 68  69 6e 20 4b 41 39 51 2e  |rom within KA9Q.|
00005ce0  22 0d 02 c7 09 20 20 cb  20 20 0d 02 c8 05 cb 0d  |"....  .  ......|
00005cf0  02 c9 0e 74 65 78 74 24  20 3d 20 22 22 0d 02 ca  |...text$ = ""...|
00005d00  0a 3d 74 65 78 74 24 0d  02 cb 04 0d 02 cc 0f dd  |.=text$.........|
00005d10  20 f2 64 65 66 61 75 6c  74 73 0d 02 cd 05 3a 0d  | .defaults....:.|
00005d20  02 ce 3c de 20 43 6f 6e  66 69 67 25 20 35 2c 20  |..<. Config% 5, |
00005d30  41 75 74 6f 45 78 65 63  25 20 35 20 3a 20 21 43  |AutoExec% 5 : !C|
00005d40  6f 6e 66 69 67 25 20 3d  20 30 20 3a 20 21 41 75  |onfig% = 0 : !Au|
00005d50  74 6f 45 78 65 63 25 20  3d 20 30 0d 02 cf 11 e3  |toExec% = 0.....|
00005d60  20 69 25 20 3d 20 31 20  b8 20 31 39 0d 02 d0 30  | i% = 1 . 19...0|
00005d70  20 20 43 6f 6e 66 69 67  5f 6c 69 6e 65 25 28 69  |  Config_line%(i|
00005d80  25 29 20 3d 20 2d 31 20  3a 20 f3 20 43 6f 6e 66  |%) = -1 : . Conf|
00005d90  69 67 5f 74 65 78 74 24  28 69 25 29 0d 02 d1 05  |ig_text$(i%)....|
00005da0  ed 0d 02 d2 11 e3 20 69  25 20 3d 20 31 20 b8 20  |...... i% = 1 . |
00005db0  31 33 0d 02 d3 34 20 20  41 75 74 6f 45 78 65 63  |13...4  AutoExec|
00005dc0  5f 6c 69 6e 65 25 28 69  25 29 20 3d 20 2d 31 20  |_line%(i%) = -1 |
00005dd0  3a 20 f3 20 41 75 74 6f  45 78 65 63 5f 74 65 78  |: . AutoExec_tex|
00005de0  74 24 28 69 25 29 0d 02  d4 05 ed 0d 02 d5 20 dc  |t$(i%)........ .|
00005df0  20 22 77 69 6e 64 6f 77  20 74 65 72 6d 69 6e 61  | "window termina|
00005e00  6c 20 69 6e 74 65 72 6e  61 6c 22 0d 02 d6 2d dc  |l internal"...-.|
00005e10  20 22 68 6f 73 74 6e 61  6d 65 20 2e 64 65 6d 6f  | "hostname .demo|
00005e20  6e 2e 63 6f 2e 75 6b 22  2c 22 69 70 20 61 64 64  |n.co.uk","ip add|
00005e30  72 65 73 73 20 5b 5d 22  0d 02 d7 35 dc 20 22 61  |ress []"...5. "a|
00005e40  74 74 61 63 68 20 61 73  79 20 69 6e 74 65 72 6e  |ttach asy intern|
00005e50  61 6c 20 30 20 73 6c 69  70 20 61 78 30 20 32 30  |al 0 slip ax0 20|
00005e60  34 38 20 31 35 30 30 20  39 36 30 30 22 0d 02 d8  |48 1500 9600"...|
00005e70  2e dc 20 22 72 6f 75 74  65 20 61 64 64 20 64 65  |.. "route add de|
00005e80  66 61 75 6c 74 20 61 78  30 20 5b 31 35 38 2e 31  |fault ax0 [158.1|
00005e90  35 32 2e 31 2e 37 31 5d  20 31 22 0d 02 d9 37 dc  |52.1.71] 1"...7.|
00005ea0  20 22 69 70 20 74 74 6c  20 36 34 22 2c 20 22 23  | "ip ttl 64", "#|
00005eb0  77 69 6e 64 6f 77 20 63  75 72 73 6f 72 20 6f 66  |window cursor of|
00005ec0  66 22 2c 20 22 74 63 70  20 6d 73 73 20 31 34 36  |f", "tcp mss 146|
00005ed0  30 22 0d 02 da 3d dc 20  22 74 63 70 20 69 72 74  |0"...=. "tcp irt|
00005ee0  74 20 33 30 30 30 30 22  2c 20 22 74 63 70 20 77  |t 30000", "tcp w|
00005ef0  69 6e 64 6f 77 20 31 34  36 30 30 22 2c 20 22 74  |indow 14600", "t|
00005f00  63 70 20 68 61 6e 67 75  70 20 31 35 20 33 22 0d  |cp hangup 15 3".|
00005f10  02 db 3c dc 20 22 64 6f  6d 61 69 6e 20 73 75 66  |..<. "domain suf|
00005f20  66 69 78 20 64 65 6d 6f  6e 2e 63 6f 2e 75 6b 22  |fix demon.co.uk"|
00005f30  2c 20 22 6c 6f 67 20 3c  54 43 50 49 50 24 44 69  |, "log <TCPIP$Di|
00005f40  72 3e 2e 6c 6f 67 66 69  6c 65 22 0d 02 dc 3e dc  |r>.logfile"...>.|
00005f50  20 22 73 74 61 72 74 20  65 63 68 6f 22 2c 20 22  | "start echo", "|
00005f60  73 74 61 72 74 20 64 69  73 63 61 72 64 22 2c 20  |start discard", |
00005f70  22 73 74 61 72 74 20 66  74 70 22 2c 20 22 73 74  |"start ftp", "st|
00005f80  61 72 74 20 73 6d 74 70  22 0d 02 dd 24 dc 20 22  |art smtp"...$. "|
00005f90  73 74 61 72 74 20 66 69  6e 67 65 72 22 2c 20 22  |start finger", "|
00005fa0  73 74 61 72 74 20 74 65  6c 6e 65 74 22 0d 02 de  |start telnet"...|
00005fb0  24 dc 20 22 66 69 6e 67  65 72 20 6d 6f 74 64 40  |$. "finger motd@|
00005fc0  67 61 74 65 2e 64 65 6d  6f 6e 2e 63 6f 2e 75 6b  |gate.demon.co.uk|
00005fd0  22 0d 02 df 30 dc 20 22  66 69 6e 67 65 72 a0 40  |"...0. "finger.@|
00005fe0  70 6f 73 74 2e 64 65 6d  6f 6e 2e 63 6f 2e 75 6b  |post.demon.co.uk|
00005ff0  22 2c 20 22 6e 6e 74 70  20 74 72 61 63 65 20 32  |", "nntp trace 2|
00006000  22 0d 02 e0 38 dc 20 22  6e 6e 74 70 20 66 75 64  |"...8. "nntp fud|
00006010  67 65 20 31 32 30 22 2c  20 22 6e 6e 74 70 20 64  |ge 120", "nntp d|
00006020  69 72 65 63 74 20 6f 6e  22 2c 20 22 6e 6e 74 70  |irect on", "nntp|
00006030  20 62 61 74 63 68 20 38  22 0d 02 e1 4d dc 20 22  | batch 8"...M. "|
00006040  6e 6e 74 70 20 61 64 64  73 65 72 76 65 72 20 6e  |nntp addserver n|
00006050  65 77 73 2e 64 65 6d 6f  6e 2e 63 6f 2e 75 6b 20  |ews.demon.co.uk |
00006060  36 30 30 20 44 65 6d 22  2c 20 22 6e 6e 74 70 20  |600 Dem", "nntp |
00006070  6b 69 63 6b 20 6e 65 77  73 2e 64 65 6d 6f 6e 2e  |kick news.demon.|
00006080  63 6f 2e 75 6b 22 0d 02  e2 30 dc 20 22 74 69 6d  |co.uk"...0. "tim|
00006090  65 20 73 65 72 76 65 72  20 6e 74 70 2e 64 65 6d  |e server ntp.dem|
000060a0  6f 6e 2e 63 6f 2e 75 6b  22 2c 20 22 74 69 6d 65  |on.co.uk", "time|
000060b0  20 72 65 61 64 22 0d 02  e3 40 dc 20 22 73 6d 74  | read"...@. "smt|
000060c0  70 20 67 61 74 65 77 61  79 20 5b 31 35 38 2e 31  |p gateway [158.1|
000060d0  35 32 2e 31 2e 37 32 5d  22 2c 20 22 73 6d 74 70  |52.1.72]", "smtp|
000060e0  20 74 72 61 63 65 20 31  22 2c 20 22 73 6d 74 70  | trace 1", "smtp|
000060f0  20 6b 69 63 6b 22 0d 02  e4 05 e1 0d 02 e5 04 0d  | kick"..........|
00006100  ff                                                |.|
00006101