O |4IBM p >> FastCopy III << by Martin Backschat, Bergstr.16, 8071 Hepberg, West-Germany, Tel. 08456/5495 -- It's Freeware! -- (Greetings to all 'Masters Of Puppets')BD*O  ! O%')+-/1 3@o79;=?AOEGIKMOQ OU`WY_a c@gikmq s@u`wy{} @` @ ` @ ` / @ ` @ ` ɠ / @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w'y'{'}'("(B(b((((()")B)o)))))*"*B*b****+O  ! O%')+-/1 3@o79;=?AOEGIKMOQ OU`WY_a c@gikmq s@u`wy{} @` @ ` @ ` / @ ` @ ` ɠ / @ ` ׀ ٠  @` @`!Aa   !Aa!!#A%a')+-/1!3A5a79;=?A!CAEaGIKMOQ!SAUaWY[]_a!cAeagikmoq!sAuawy{}!Aa!Aa!Aa!Aa!Aaǁɡ!Aaׁ١!Aa!Aa " B b  !"!B!b!!!!!"!""#B"%b"'")"+"-"/#1"#3B#5b#7#9#;#=#?$A"$CB$Eb$G$I$K$M$O%Q"%SB%Ub%W%Y%[%]%_&a"&cB&eb&g&i&k&m&o'q"'sB'ub'w'y'{'}'("(B(b((((()")B)o)))))*"*B*b****+AUTO  HGT  TUTORIAL  eHBDISKS DIR C DESKTOP INF ( HB2INST INF + @HISOFTEDINF F @WERCS INF K HBASIC LIB 4 2HB2INST PRG - HBASIC PRG 9 Z WERCSBASPRG M ڽHB2INST RSC 1 WERCSBASRSC R [README TXT H LIS_MOI ASC G!8 .  ..  HRAMDISKPRG  0` Hz?< NA\B?< NA\`B BxF x h.PN zD*(#F0(3BH 9#"`#|":0H#J3N&x.HzF/<NM/@.E(NMPO KbfV"HA 0<Ba IfHah`XxJxfPO/JNs6/C|g6OT>/JBoNs6O` 86kC<ea9f x.4(|l:A?<NATAHz?<NA\>9NSGkl"yJ?/ KI)<:g :`:p\fRIBW/ a*_JGf?</ ?<NNAPJf(a"_>CQ x.1|B?< NA\BgNA/ ?< NA\Hz?< NA\`~?/ ?<NNAPJm2:><.g:+߸fA p6QRGg ?<ONAT`Nu Lf*HS$Ig"<\fBH*LaL<\K`B&yx:<av?/SGk/ &z S@ LIQ$<\fR"LA,+fM/?< NA\Hz/?< NA\Bg/?<=NAP:/9|/??<?NAO ??<>NAX?Bg/?<NAX?Bg/?<=NAP2:?<?Hk?<WNAO ??<>NAXG,Q*(_,_>NuHz2?< NA\O?<NATO`"NVTaFIC_aGTx za4ATJGg"/ /Af?Ka> _*_A,SGfN^Nu?/ ?<9NA\0NuHz?< NA\`p  pRamdisk Full!q Press any key pFile not found!q Not enough RAM \*.* N (:*&@(@ 86!.!6av0<CD L0QpAC0Qz | LA <Ba)@`fReset Proof Ramdisc 1.9 HiSoft 1988-90 09BS@HR@3 ?T"R3$R3҂y3A3"KSp"QAH"KrQNuH@@"Cx DCdCL`ИQLNuHiSoftBBBp* bAv vAb!vAR ~A>!~A* rA!r 8:!Nu:/gNA Nu:/gNpNu:/gN"o0/ S@r2/ ҁAMP! A/gH/ fNr""""""""""""""""""""""""""""""""QQpNu2<QQpNu  4     r"&  .  ..  HGT BAS  eTOOLBOX BAS  ,DIALOG BAS  gFILESEL BAS  IMAGE BAS  MENU BAS  w OBJWIND BAS  #R TEXTWINDBAS  & WINDOW BAS  *P+ACCTBOX BAS  5#IMAGWINDBAS  >EXEC BAS  @NEWDESK BAS  BGEMAES BH  C FORMWINDBAS  Fm2POPUP BAS  S!OTHEROBJBAS  X OBJCEXT BAS  [XFORMDO BAS  ]bREM $include toolbox.bas REM $include window.bas REM $include image.bas REM $include textwind.bas REM $include filesel.bas REM $include exec.bas REM $include menu.bas REM $include objwind.bas REM $include newdesk.bas REM $include imagwind.bas REM $include dialog.bas REM $include xformdo.bas REM $include objcext.bas REM $include formwind.bas ' HiSoft BASIC GEM Toolkit ' Copyright HiSoft 1991-3 ' You are welcome to use this code and modifications of it in ' your own programs, which you may distribute without royalties. ' However this source code and modifications to it may not ' be distributed without our express permission. ' written by Dave Nutkins and Ofir Gal DEFINT a-z GOTO skip ' 10k should be plenty to Leave, variable checks on, no window REM $option g,y+,v+,u+,#,[,] ' constant file for HiSoft BASIC ' use defint a-z and option u+ ' end of GEMAES.BH ' constant file for HiSoft BASIC ' use defint a-z and option u+ rem $include gemaes.bh LIBRARY "gemaes","gemvdi","gemdos","xbios" DIM SHARED junk 'Object Tree routines DIM SHARED tree& ' the current Toolbox tree 'Gives the address of the given object in the current tree DEF ObjectAddr&(object)=tree&+object*ob_sizeof 'Selects a new tree given the address of the root SUB SelectTreeAddr(BYVAL t&) tree&=t& END SUB ' Selects a given tree in the resource file SUB SelectTree(BYVAL treeno) STATIC formaddr& junk=rsrc_gaddr(type_tree,treeno,formaddr&) SelectTreeAddr formaddr& END SUB 'Returns the value of the ob_head field in the given object of the current tree FUNCTION Getob_head(BYVAL object) Getob_head=PEEKW(ObjectAddr&(object)+ob_head) END FUNCTION 'Returns the value of the ob_tail field in the given object of the current tree FUNCTION Getob_tail(BYVAL object) Getob_tail=PEEKW(ObjectAddr&(object)+ob_tail) END FUNCTION 'Returns the value of the ob_spec field in the given object of the current tree FUNCTION Getob_spec&(BYVAL object) Getob_spec&=PEEKL(ObjectAddr&(object)+ob_spec) END FUNCTION 'Returns the value of the ob_state field in the given object of the current tree FUNCTION Getob_state(BYVAL object) Getob_state=PEEKW(ObjectAddr&(object)+ob_state) END FUNCTION 'Returns the value of the ob_flags field in the given object of the current tree FUNCTION Getob_flags(BYVAL object) Getob_flags=PEEKW(ObjectAddr&(object)+ob_flags) END FUNCTION 'Returns the value of the ob_type field in the given object of the current tree FUNCTION Getob_type(BYVAL object) Getob_type=PEEKW(ObjectAddr&(object)+ob_type) END FUNCTION 'Returns the value of the ob_next field in the given object of the current tree FUNCTION Getob_next(BYVAL object) Getob_next=PEEKW(ObjectAddr&(object)+ob_next) END FUNCTION 'Returns the value of the ob_x field in the given object of the current tree FUNCTION Getob_x(BYVAL object) Getob_x=PEEKW(ObjectAddr&(object)+ob_x) END FUNCTION 'Returns the value of the ob_y field in the given object of the current tree FUNCTION Getob_y(BYVAL object) Getob_y=PEEKW(ObjectAddr&(object)+ob_y) END FUNCTION 'Returns the value of the ob_width field in the given object of the current tree FUNCTION Getob_width(BYVAL object) Getob_width=PEEKW(ObjectAddr&(object)+ob_width) END FUNCTION 'Returns the value of the ob_height field in the given object of the current tree FUNCTION Getob_height(BYVAL object) Getob_height=PEEKW(ObjectAddr&(object)+ob_height) END FUNCTION 'Sets the value of the ob_state field in the given object of the current tree SUB Setob_state(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_state,value END SUB 'Sets the value of the ob_flags field in the given object of the current tree SUB Setob_flags(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_flags,value END SUB 'Sets the value of the ob_x field in the given object of the current tree SUB Setob_x(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_x,value END SUB 'Sets the value of the ob_y field in the given object of the current tree SUB Setob_y(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_y,value END SUB 'Sets the value of the ob_width field in the given object of the current tree SUB Setob_width(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_width,value END SUB 'Sets the value of the ob_height field in the given object of the current tree SUB Setob_height(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_height,value END SUB 'Sets the value of the ob_spec field in the given object of the current tree SUB Setob_spec(BYVAL object,BYVAL spec&) POKEL ObjectAddr&(object)+ob_spec,spec& END SUB 'Removes a given mask (e.g. mask_selected,mask_disable) from the ob_state 'field in the given object of the current tree SUB Exclob_state(BYVAL object,BYVAL flag_mask) STATIC t& t&=ObjectAddr&(object)+ob_state POKEW t&,PEEKW(t&) AND (NOT flag_mask) END SUB 'Includes a given mask (e.g. mask_selected,mask_disable) from the ob_state 'field in the given object of the current tree SUB Inclob_state(BYVAL object,BYVAL flag_mask) STATIC t& t&=ObjectAddr&(object)+ob_state POKEW t&,PEEKW(t&) OR flag_mask END SUB 'Returns non-zero if a given mask(e.g. mask_selected,mask_disable) from the 'ob_state field is set FUNCTION Curob_state(BYVAL object,BYVAL flag_mask) Curob_state=(PEEKW(ObjectAddr&(object)+ob_state) AND flag_mask)<>0 END FUNCTION 'Removes a given mask (e.g. mask_selectable,mask_exit) from the ob_flags 'field in the given object of the current tree SUB Exclob_flags(BYVAL object,BYVAL flag_mask) STATIC t& t&=ObjectAddr&(object)+ob_flags POKEW t&,PEEKW(t&) AND (NOT flag_mask) END SUB 'Includes a given mask (e.g. mask_selectable,mask_exit) from the ob_flags 'field in the given object of the current tree SUB Inclob_flags(BYVAL object,BYVAL flag_mask) STATIC t& t&=ObjectAddr&(object)+ob_flags POKEW t&,PEEKW(t&) OR flag_mask END SUB 'Returns non-zero if a given mask(e.g. mask_selected,mask_disable) from the 'ob_flags field is set FUNCTION Curob_flags(BYVAL object,BYVAL flag_mask) Curob_flags=(PEEKW(ObjectAddr&(object)+ob_flags) AND flag_mask)<>0 END FUNCTION ' set a tedinfo record SUB Sette_ptext(BYVAL object,BYVAL newted$) STATIC t&,chars,i t&=Getob_spec&(object) chars=MIN(PEEKW(t&+te_txtlen)-1,LEN(newted$)) '-1 for the null t&=PEEKL(t&+te_ptext) FOR i=1 TO chars POKEB t&,ASC(MID$(newted$,i,1)) INCR t& NEXT i POKEB t&,0 'must end in null END SUB ' extract a tedinfo record FUNCTION Gette_ptext$(BYVAL object) STATIC t&,a$ a$="" t&=Getob_spec&(object) t&=PEEKL(t&+te_ptext) WHILE PEEKB(t&) a$=a$+CHR$(PEEKB(t&)) INCR t& WEND Gette_ptext$=a$ END FUNCTION ' Extract ob_spec field as a BASIC string FUNCTION Getob_spec$(BYVAL object) STATIC t&,a$ a$="" t&=Getob_spec&(object) WHILE PEEKB(t&) a$=a$+CHR$(PEEKB(t&)) INCR t& WEND Getob_spec$=a$ END FUNCTION ' Set ob_spec field as a BASIC string SUB Setob_spec_str(BYVAL object,BYVAL spec$) STATIC t&,i,chars 'chars=MIN(LEN(spec$),LEN(getob_spec$(object))) chars=LEN(spec$) t&=Getob_spec&(object) FOR i=1 TO chars POKEB t&,ASC(MID$(spec$,i,1)) INCR t& NEXT i POKEB t&,0 'must end in null END SUB FUNCTION ConvertAlt(ScanCode) STATIC a&,res a&=keytbl&(-1,-1,-1) res=PEEKB(PEEKL(a&)+CLNG(ScanCode)\256) IF res>="a"% AND res<="z"% THEN res=res-"a"%+"A"% ConvertAlt=res END FUNCTION ' If Busy is true (non-zero) then makes the rodent busy SUB BusyBee(BYVAL Busy) IF Busy THEN graf_mouse 2,0 ELSE graf_mouse 0,0 END IF END SUB DECLARE SUB InitMenuSystem(BYVAL treenumber,BYVAL exititem) DECLARE SUB CloseAllImages SUB InitResourceFile(name$) ' Load resouce file - giving alert if not found ' should use the PATH ? SHARED resource_loaded ' load the resource file IF rsrc_load(name$)=0 THEN ' this alert can't be in the resource file of course.. junk=form_alert(1,"[3][Resource file not found][ Quit ]") SYSTEM END IF resource_loaded=-1 END SUB FUNCTION byte_align(BYVAL x) SHARED supress_byte_align IF supress_byte_align=0 THEN byte_align=(x+4) AND &hFFF8 END FUNCTION FUNCTION WhichWindow(BYVAL AEShandle) SHARED woHandle(1) SHARED HowManyWindows STATIC i i=0 IF HowManyWindows>0 THEN DO INCR i LOOP WHILE (i <= HowManyWindows) AND (woHandle(i)<>AEShandle) IF woHandle(i)<>AEShandle THEN i=0 END IF WhichWindow=i END FUNCTION ' Returns TRUE IF WindowHandle was opened using OpenAWindow FUNCTION IsMyWindow(BYVAL WindowHandle) IsMyWindow= WhichWindow(WindowHandle)>0 END FUNCTION DECLARE SUB WindowMessage DECLARE SUB CloseAWindow(WindowHandle) DECLARE SUB ProcessUserMenus(BYVAL wind,BYVAL item,BYVAL title) ' process message event SUB do_message STATIC cur_front,MessageType,title,item SHARED exit_item,Finished_Flag,menutree&,Mess(1) MessageType=Mess(0) IF (MessageType>=WM_REDRAW) AND (MessageType<=WM_MOVED) THEN IF NOT IsMyWindow(Mess(3)) THEN EXIT SUB ' it's not our's END IF junk=wind_get(Mess(3),WF_TOP,cur_front,junk,junk,junk) SELECT CASE MessageType CASE MN_SELECTED: ' its a menu title=Mess(3) ' un-highlight the menu item even if not at front ' - strictly this should be done later but this would ' need more code menu_tnormal menutree&,title,1 item=Mess(4) IF item=exit_item THEN Finished_Flag=-1 ELSE ProcessUserMenus cur_front,item,title END IF CASE WM_CLOSED: CloseAWindow mess(3) CASE AP_TERM Finished_Flag=-1 CASE ELSE WindowMessage END SELECT END SUB DECLARE FUNCTION CreateShortCut(BYVAL Scancode) DECLARE SUB ProcessClicks(BYVAL clicks,BYVAL kstate,BYVAL x,BYVAL y) DECLARE SUB ProcessKeys(BYVAL ascii$,BYVAL scan_code,BYVAL kstate) 'The Toolbox's main loop SUB HGTloop STATIC ev,key_pressed,clicks,x,y,kstate SHARED finished_flag,Mess(1),clicks_enabled,keys_enabled,menus_enabled REDIM mess(7) finished_flag=0 DO junk=wind_update(END_UPDATE) ev=evnt_multi(MU_MESAG+MU_KEYBD+M`U_BUTTON,2,1,1,_ 0,0,0,0,0,_ 0,0,0,0,0,_ VARPTR(mess(0)),0,_ x,y, _ 0,kstate, _ key_pressed,clicks) junk=wind_update(BEG_UPDATE) IF ev AND MU_KEYBD THEN IF menus_enabled THEN IF CreateshortCut(key_pressed) THEN do_message ELSE IF keys_enabled THEN ' process keystrokes that aren't menu items ProcessKeys CHR$(key_pressed AND 255),key_pressed,kstate END IF END IF ELSEIF keys_enabled THEN ' process keystrokes ProcessKeys CHR$(key_pressed AND 255),key_pressed,kstate ' otherwise ignore keys END IF END IF IF ev AND MU_MESAG THEN do_message END IF IF ev AND MU_BUTTON THEN IF clicks_enabled THEN ProcessClicks clicks,kstate,x,y END IF END IF LOOP UNTIL finished_flag END SUB SUB StartProgram(resourcefile$,treenumber,exititem) SHARED WindX,WindY,WindW,WindH WINDOW ON IF resourcefile$<>"" THEN InitResourceFile resourcefile$ IF exititem THEN InitMenuSystem treenumber,exititem END IF junk=wind_get(0,WF_WORKXYWH,WindX,WindY,WindW,WindH) 'InitFileSelector junk=wind_update(BEG_UPDATE) 'InitWindowSystem 'InitTextWindows 'InitObjectWindows 'ON ERROR GOTO error_handler END SUB SUB StopProgram SHARED menutree&,images_used STATIC junk IF images_used THEN CALL CloseAllImages IF menutree& THEN menu_bar menutree&,0 junk=wind_set(0,WF_NEWDESK,0,0,0,0) junk=wind_update(END_UPDATE) STOP -1 END SUB 'Debug routines for the tookbox ' displays the given srting using the BIOS SUB AbortProgram(a$) Debug a$ StopProgram END SUB SUB Debug(BYVAL a$) STATIC i,t! cconws a$ 't!=timer 'do loop until timer-t!>3 junk=INP(2) END SUB FUNCTION aes_version aes_version=PEEKW(PEEKL(GB+4)) END FUNCTION skip: ' End of Goldfish  ' an additional GEM call is needed as the built-in form_alert expects a ' BASIC-style string, not a pointer to a C-type string FUNCTION newform_alertaddr(BYVAL button,BYVAL addr&) POKEW PEEKL(GB+8),button 'int_in POKEL PEEKL(GB+16),addr& 'addr_in GEMSYS(52) newform_alertaddr=PEEKW(PEEKL(GB+12)) 'int_out! END FUNCTION FUNCTION Newform_alert(BYVAL num,BYVAL button) STATIC junk,alertaddr& junk=rsrc_gaddr(type_string,num,alertaddr&) junk=Newform_alertAddr(button,alertaddr&) Newform_Alert=junk END FUNCTION ' a general routine to produce a dialog box and handle interaction ' the return result is the exit object number FUNCTION HandleDialog(BYVAL editnum) STATIC x,y,w,h,but form_center tree&,x,y,w,h form_dial FMD_START,0,0,0,0,x,y,w,h form_dial FMD_GROW,x+w\2,y+h\2,0,0,x,y,w,h junk=objc_draw(tree&,0,10,x,y,w,h) but=form_do(tree&,editnum) AND &h7fff form_dial FMD_SHRINK,x+w\2,y+h\2,0,0,x,y,w,h form_dial FMD_FINISH,0,0,0,0,x,y,w,h IF Getob_type(but)=G_BUTTON THEN Exclob_state but,mask_selected END IF HandleDialog=but END FUNCTION 'Set a tedinfo field to a numeric value SUB SetTedNumber(BYVAL object,BYVAL value#) Sette_ptext object,MID$(STR$(value#),2) END SUB 'Return a numeric value from a tedinfo field FUNCTION GetTedNumber#(BYVAL object) GetTedNumber#=VAL(Gette_ptext$(object)) END FUNCTION ' select a particular radio button in a group SUB SetButton(BYVAL parent,BYVAL button) STATIC b,t& b=Getob_head(parent) 'head object number DO UNTIL b=parent IF b=button THEN Inclob_state b,mask_selected ELSE Exclob_state b,mask_selected END IF b=Getob_next(b) LOOP END SUB ' return which button of a group is selected FUNCTION GetButton(BYVAL parent) STATIC b b=Getob_head(parent) 'head object number DO UNTIL (b=parent) OR Curob_state(b,mask_selected) b=Getob_next(b) LOOP GetButton=b END FUNCTION  ' File selector handler - returns a new pathname ' the global variables fspath$ and fsname$ keep the appropriate ' GEM items. FUNCTION FileSelect$ SHARED fspath$,fsname$,fsmessage$ STATIC ok,i,ch IF fspath$="" THEN CALL InitFileSelector IF aes_version<&H130 THEN fsel_input fspath$,fsname$,ok ELSE fsel_exinput fspath$,fsname$,ok,fsmessage$ END IF IF ok THEN i=LEN(fspath$) DO ch=ASC(MID$(fspath$,i,1)) IF ch="\"% OR ch=":"% THEN EXIT LOOP IF i=1 THEN EXIT LOOP DECR i LOOP FileSelect$=LEFT$(fspath$,i)+fsname$ ELSE FileSelect$="" END IF END FUNCTION ' initialise the file selector SUB InitFileSelector SHARED fspath$,fsname$ fspath$=CURDIR$+"\*.*" fsname$="" END SUB 0 library "bios" ' Palette reading changed 15.4.92 ' Colour Degasde-cimpressed properly 18.5.92 ' Fixes for 'odd' size IMG files 19.5.92 ' NEO/Degas files for TT resolutions added 5.6.92 'Image handling routines ' The structure of an image header CONST imh_vrsn=0,imh_hdlen=1,imh_nplanes=2,imh_patlen=3,imh_pixelw=4 CONST imh_pixelh=5,imh_width=6,imh_height=7,imh_size=16 ' The MFDB structure CONST fd_addr=0,fd_w=2,fd_h=3,fd_wdwidth=4,fd_stand=5,fd_nplanes=6 CONST fd_r1=7,fd_r2=8,fd_r3=9,fd_size=9 'NEO chrome header CONST neo_ver=0,neo_mode=1,neo_palette=2,neo_size=128 'DEGAS header CONST deg_mode=0,deg_palette=1,deg_size=34 SUB res_to_wh(BYVAL res,w,h) SELECT CASE res CASE 0 : w=320: h=200 CASE 1 : w=640: h=200 CASE 2 : w=640: h=400 CASE 4 : w=1280 : h=960 CASE 5 : w=640: h=480 CASE 7 : w=320: h=480 CASE ELSE: AbortProgram " Can't cope with this resolution NEO file" END SELECT END SUB SUB vr_image_load(BYVAL addr&,BYVAL bytes) SHARED fx$,fx& blockmove SADD(fx$)+fx&,addr&,bytes fx&=fx&+bytes END SUB FUNCTION vr_image_load_one SHARED fx$,fx& vr_image_load_one=PEEKB(SADD(fx$)+fx&) INCR fx& END FUNCTION FUNCTION imglin(BYVAL dest&,BYVAL bytes,BYVAL patlen, patbuf(1)) STATIC c,byte DO WHILE bytes>0 c=vr_image_load_one IF c=0 THEN c=vr_image_load_one IF c=0 THEN IF vr_image_load_one=255 THEN imglin=vr_image_load_one EXIT FUNCTION ELSE AbortProgram "unknown escape" END IF ELSE vr_image_load VARPTR(patbuf(0)),patlen bytes=bytes-c*patlen DO WHILE c>0 blockmove VARPTR(patbuf(0)),dest&,patlen dest&=dest&+patlen DECR c LOOP END IF ELSEIF c=128 THEN c=vr_image_load_one vr_image_load dest&,c bytes=bytes-c dest&=dest&+c ELSE IF c>128 THEN byte=255 c=c-128 ELSE byte=0 END IF bytes=bytes-c WHILE c>0 POKEB dest&,byte INCR dest& DECR c WEND END IF LOOP imglin=0 END FUNCTION SUB DegasLine(BYVAL dest&,BYVAL bytes) STATIC c,byte DO WHILE bytes>0 c=vr_image_load_one IF c<127 THEN vr_image_load dest&,c+1: dest&=dest&+c+1 bytes=bytes-c-1 ELSEIF c>128 THEN byte=vr_image_load_one c=257-c bytes=bytes-c WHILE c>0 POKEB dest&,byte INCR dest& DECR c WEND END IF WEND END SUB CONST im_img=0,im_neo=1,im_degas=2 SUB LoadImage(BYVAL index,BYVAL im_type,BYVAL header_size,BYVAL mode_offset, BYVAL palette_offset) SHARED images(2),palettes(2),palettes_used,fx&,fxmax& STATIC rast&,patbuf(1),junk(1) STATIC sce_planes,pwidth,nlines,patlen,bytes STATIC plane_index&(1) STATIC rastlen&,sce_mode,dest_mode STATIC extra_header,rept,i,plane,dest& STATIC a$,c,dest_planes,destrast& STATIC monopic,compressed STATIC ms(1),md(1),hdr(1),x(1) REDIM ms(fd_size),md(fd_size),hdr(neo_size\2) vr_image_load VARPTR(hdr(0)),header_size IF palettes_used THEN palettes(index,0)=0 'ie. unused monopic=0 dest_planes=PEEKW(SYSTAB) SELECT CASE im_type CASE im_img: extra_header=hdr(imh_hdlen)*2-imh_size IF extra_header>0 THEN REDIM junk(extra_header\2) vr_image_load VARPTR(junk(0)),extra_header IF palettes_used THEN IF junk(0)= &h80THEN 'HyperPaint hardware palette FOR i=1 TO 16 palettes(index,i)=junk(i) NEXT i palettes(index,0)=-1 'i.e. used END IF END IF ERASE junk END IF nlines=hdr(imh_height) pwidth=hdr(imh_width) sce_planes=hdr(imh_nplanes) ms(fd_stand)=1 patlen=hdr(imh_patlen) IF dest_planes<>sce_planes OR sce_planes=1 THEN IF sce_planes<>1 THEN AbortProgram "this image is designed for the wrong resolution" END IF monopic=1 END IF compressed=-1 REDIM patbuf(patlen\2) CASE im_neo,im_degas: compressed=0 sce_mode=hdr(mode_offset) IF sce_mode<0 THEN compressed=-1 sce_mode=sce_mode AND &h7FFF ms(fd_stand)=1 END IF res_to_wh sce_mode,pwidth,nlines dest_mode=getrez IF dest_mode<>sce_mode THEN IF (sce_mode=2) OR (sce_mode=6) THEN 'its mono monopic=1 sce_planes=1 ms(fd_stand)=1 ELSE AbortProgram "this image is designed for the wrong resolution" END IF ELSE sce_planes=PEEKW(SYSTAB) IF palettes_used THEN palettes(index,0)=-1 'i.e. used FOR i=1 TO 16 palettes(index,i)=hdr(palette_offset+i-1) NEXT i END IF END IF END SELECT ms(fd_w)=pwidth ms(fd_h)=nlines ms(fd_wdwidth)= (ms(fd_w)+15)>>4 ms(fd_nplanes)=sce_planes FOR i=0 TO fd_size: md(i)=ms(i): NEXT i md(fd_stand)=0 md(fd_nplanes)=dest_planes rastlen&=CLNG(ms(fd_wdwidth))*nlines*2 rast&=Malloc&(rastlen&*sce_planes) IF rast&=0 THEN AbortProgram "out of memory - panic!" POKEL VARPTR(ms(fd_addr)),rast& IF compressed OR monopic THEN destrast&=Malloc&(rastlen&*dest_planes) IF destrast&=0 THEN AbortProgram "out of memory - panic!" ELSE destrast&=rast& END IF POKEL VARPTR(md(fd_addr)),destrast& REDIM plane_index&(sce_planes-1) IF compressed THEN FOR i=0 TO sce_planes-1 plane_index&(i)=rast&+rastlen&*i NEXT i bytes= (ms(fd_w)+7)>>3 WHILE nlines>0 AND (fx&0 ' clear out any junk at the end c=bytes WHILE c>0 POKEB dest&,0 INCR dest& DECR c WEND DECR nlines WEND NEXT plane ELSE ' not compressed vr_image_load rast&,rastlen&*sce_planes END IF IF monopic OR compressed THEN IF monopic THEN REDIM x(7) x(0)=0: x(1)=0: x(2)=ms(fd_w)-1: x(3)=ms(fd_h)-1 x(4)=0: x(5)=0: x(6)=x(2): x(7)=x(3) vrt_cpyfm 1,x(),VARPTR(ms(0)),VARPTR(md(0)),1,0 ELSEIF compressed THEN vr_trnfm VARPTR(ms(0)),VARPTR(md(0)) END IF junk=Mfree(rast&) END IF FOR i=0 TO fd_size images(index,i)=md(i) NEXT i END SUB SUB LoadPicture(fname$,index) SHARED fxmax&,fx$,fx&,images_used STATIC fp,ext$ images_used=-1 fp=FREEFILE IF NOT FEXISTS(fname$) THEN Debug "file not found": EXIT SUB END IF BusyBee 1 OPEN fname$ FOR INPUT AS #fp fxmax&=LOF(fp) fx$=INPUT$(fxmax&,#fp) fx&=0 CLOSE #fp ext$=UCASE$(MID$(fname$,LEN(fname$)-3,3)) SELECT CASE ext$ CASE ".PI",".PC": LoadImage index,im_degas,deg_size,deg_mode,deg_palette CASE ".IM": LoadImage index,im_img,imh_size,0,0 CASE ".NE": LoadImage index,im_neo,neo_size,neo_mode,neo_palette END SELECT BusyBee 0 END SUB SUB DisplayImage(BYVAL index,BYVAL x,BYVAL y) STATIC i,local_mfdb(1),x(1),pal(1) SHARED images(2),mscr(1),palettes(2),palettes_used REDIM local_mfdb(fd_size),mscr(fd_size),x(8),pal(15) IF palettes_used THEN IF palettes(index,0) THEN FOR i=0 TO 15 pal(i)=palettes(index,i+1) NEXT i setpalette pal() END IF END IF FOR i=0 TO fd_size: local_mfdb(i)=images(index,i): NEXT i x(0)=0: x(1)=0: x(2)=local_mfdb(fd_w)-1: x(3)=local_mfdb(fd_h)-1 x(4)=x: x(5)=y: x(6)=x(2)+x: x(7)=x(3)+y vro_cpyfm 3,x(),VARPTR(local_mfdb(0)),VARPTR(mscr(0)) END SUB SUB CloseImage(BYVAL index) SHARED images(2) junk=Mfree(PEEKL(VARPTR(images(index,0)))) POKEL VARPTR(images(index,0)),0 END SUB SUB CloseAllImages SHARED images(2),images_used STATIC i IF images_used THEN FOR i=LBOUND(images,1) TO UBOUND(images,1) IF images(i,0)<>0 OR images(i,1)<>0 THEN CloseImage i END IF NEXT i END IF END SUB =w 'Menu short cut routines for the tool box CONST MaxShortCut=100 SUB Record(BYVAL a,BYVAL c,BYVAL o,BYVAL t) SHARED scShortCuts,scascii(1),scch(1),scobj(1),sctitle(1) INCR scShortCuts IF scShortCuts>MaxShortCut THEN ' Error no room for shortcuts DECR scShortCuts ELSE scascii(scShortCuts)=a scobj(scShortCuts)=o scch(scShortCuts)=c sctitle(scShortCuts)=t END IF END SUB SUB ConsiderString(BYVAL obj,BYVAL title,BYVAL st$) SHARED scspecval(1),scspec$(1),scspcount STATIC i,j,l,modifier,ch i=LEN(st$) IF i<1 THEN EXIT SUB IF RIGHT$(st$,1)=" " THEN st$=LEFT$(st$,i-1):DECR i IF i<3 THEN EXIT SUB ' Now check the named keys FOR j=1 TO scspcount l=LEN(scspec$(j)) IF i>l+2 THEN IF RIGHT$(st$,l)=scspec$(j) THEN Record 1,scspecval(j),obj,title EXIT SUB END IF END IF NEXT j modifier=ASC(MID$(st$,i-1,1)) ch=ASC(UCASE$(RIGHT$(st$,1))) SELECT CASE modifier CASE " "%,1: Record -1,ch,obj,title CASE "^"%: Record -1,ch-&h40,obj,title CASE 7: Record 0,ch,obj,title END SELECT END SUB SUB RecordSpecial(a$,BYVAL ScanCode) SHARED scspec$(1),scspecval(1),scspcount INCR scspcount scspec$(scspcount)=a$ scspecval(scspcount)=ScanCode END SUB SUB ScanMenu SHARED menutree&,scShortCuts,tree&,scspec$(1),scspecval(1),scspcount SHARED scascii(1),scch(1),scobj(1),sctitle(1) STATIC obj,title,oldtree&,typ,i REDIM scspecval(29),scspec$(29) scspcount=0 RecordSpecial "Help",&h6200 RecordSpecial "Undo",&h6100 RecordSpecial "BS",&hE08 RecordSpecial "Del",&h537F RecordSpecial "Esc",&h011b RecordSpecial "Ins",&h5200 RecordSpecial "Home",&h4700 RecordSpecial "Clr",&h4737 RecordSpecial "Tab",&h0f09 FOR i=1 TO 10 RecordSpecial "F"+CHR$(i+"0"%),&h3A00+&h100*i RecordSpecial CHR$(1)+"F"+CHR$(i+"0"%),&h5300+&h100*i NEXT i REDIM scascii(MaxShortCut),scch(MaxShortCut),scobj(MaxShortCut),sctitle(MaxShortCut) oldtree&=tree& SelectTreeAddr menutree& obj=0 scShortCuts=0 title=1 DO typ=Getob_type(obj) SELECT CASE typ CASE G_TEXT: ConsiderString obj,title,Gette_ptext$(obj) CASE G_STRING: ConsiderString obj,title,Getob_spec$(obj) CASE G_BOX: INCR title END SELECT IF Curob_flags(obj,mask_lastob) THEN EXIT LOOP INCR obj LOOP END SUB FUNCTION CreateShortCut(BYVAL Scancode) SHARED scShortCuts,scascii(1),scch(1),sctitle(1),scobj(1),Mess(1) STATIC ch,i,Altcode ch=Scancode MOD 256 Altcode=ConvertAlt(ScanCode) FOR i=1 TO scShortCuts IF (scascii(i)=-1 AND scch(i)=ch) _ OR (scascii(i)=0 AND ch=0 AND altcode=scch(i)) _ OR (scascii(i)=1 AND Scancode=scch(i)) THEN CreateShortCut=-1 Mess(0)=MN_SELECTED Mess(3)=sctitle(i) Mess(4)=scobj(i) EXIT FUNCTION END IF NEXT i CreateShortCut=0 END FUNCTION 'Initialise the menu system to use the the given treenumber 'from the resource file. exititem gives the umber of the item 'that will cause termination SUB InitMenuSystem(BYVAL treenumber,BYVAL exititem) SHARED menutree&,exit_item,menus_enabled junk=rsrc_gaddr(0,treenumber,menutree&) menu_bar menutree&,1 exit_item=exititem menus_enabled=-1 ScanMenu END SUB ' The Object window routines ' requires object.bas SUB InitObjectWindows SHARED woObjectTree&(1),woBaseX(1),woBaseY(1),ObjectWindowsInitialised,max_windows ' Object specific REDIM woObjectTree&(max_windows) ' pointer to object tree to be displayed ' or 0 if 'normal' REDIM woBaseX(max_windows),woBasey(max_windows) ObjectWindowsInitialised=-1 END SUB SUB ObjectReDraw SHARED commonx,commony,commonw,commonh,commonhandle STATIC i,x,y,w,h,ActualX,ActualY SHARED woObjectTree&(1),woOffX(1),woUOffY(1),woBaseX(1),woBaseY(1),tree& STATIC oldtree& oldtree&=tree& i=WhichWindow(commonHandle) IF i=0 THEN EXIT SUB ' panic SelectTreeAddr woObjectTree&(i) junk=wind_get(CommonHandle,WF_WORKXYWH,x,y,w,h) Setob_x 0,woBaseX(i)-woOffX(i)+x Setob_y 0,woBasey(i)-woOffY(i)+y junk=objc_draw(tree&,0,7,commonx,commony,commonw,commonh) SelectTreeAddr oldtree& END SUB SUB ObjectSliderMax SHARED commoni,commonmaxx,commonmaxy SHARED woObjectTree&(1),woBaseX(1),woBaseY(1) STATIC x,y,oldtree&,new IF woObjectTree&(commoni)<>0 THEN oldtree&=tree& SelectTreeAddr woObjectTree&(commoni) commonmaxx=woBaseX(commoni)+Getob_width(0) commonmaxy=woBaseY(commoni)+Getob_height(0) SelectTreeAddr oldtree& END IF END SUB SUB ObjectClose END SUB ' As OpenAWindow except the Object Tree whose Address is given by ' p is always - rather than a specific redraw routine. This will ' handle scroll events FUNCTION OpenObjectWindowAddr(WindowName$,WindComp,treeaddr&) STATIC WindowHandle,oldtree& SHARED woObjectTree&(1),woBaseX(1),woBaseY(1) SHARED woType(1),HowManyWindows,ObjectWindowsInitialised WindowHandle=OpenAWindow(WindowName$,WindComp,VARPTRS(ObjectReDraw),VARPTRS(ObjectSliderMax),VARPTRS(ObjectClose)) IF ObjectWindowsInitialised=0 THEN CALL InitObjectWindows IF WindowHandle >= 0 THEN woObjectTree&(HowManyWindows)=treeaddr& oldtree&=tree& SelectTreeAddr treeaddr& woType(HowMAnyWindows)=woTobject woBaseX(HowManyWindows)=Getob_x(0) woBaseY(HowManyWindows)=Getob_y(0) SelectTreeAddr oldtree& END IF OpenObjectWindowAddr=WindowHandle END FUNCTION FUNCTION OpenObjectWindow(WindowName$,BYVAL WindComp,BYVAL treeno) STATIC junk,formaddr&,temp junk=rsrc_gaddr(type_tree,treeno,formaddr&) temp=OpenObjectWindowAddr(windowName$,WindComp,formaddr&) OpenObjectWindow=temp END FUNCTION  ' The text window routines SUB InitTextWindows(BYVAL MaxFiles,BYVAL MaxLines) SHARED aligntext,tabsize,MaxTextWidth,wolines(1),lines$(2),TextWindowsInitialised SHARED MaxTextWindows,TextWindows MaxTextWindows=MaxFiles REDIM wolines(MaxTextWindows-1),lines$(MaxtextWindows-1,maxLines) aligntext=-1 ' align to word boundaries for speed by default tabsize=8 MaxTextWidth=300 TextWindows=0 TextWindowsInitialised=-1 END SUB SUB TextSliderMax SHARED wolines(1),MaxTextWidth,cellx,celly,woTindex(1) SHARED commoni,commonmaxx,commonmaxy commonmaxx=MaxTextWidth*cellx commonmaxy=wolines(woTindex(commoni))*celly END SUB SUB TextReDraw SHARED commonhandle,cellx,celly SHARED wolines(1),lines$(2),woTindex(1) SHARED aligntext,expandtabsflag,MaxTextwidth,woOffX(1),woOffY(1) STATIC i,x,y,w,h,curline,newx,linebuf$,linestodo,j,file,margin i=WhichWindow(commonHandle) IF i=0 THEN EXIT SUB ' panic junk=wind_get(CommonHandle,WF_WORKXYWH,x,y,w,h) file=woTindex(i) 'debug str$(x)+str$(y)+str$(newx) IF aligntext THEN newx=((x+7)\8)*8 w=w-newx+x x=newx END IF curline=woOffY(i)\celly linestodo=h\celly IF curline+linestodo>wolines(file) THEN linestodo=wolines(file)-curline ' Debug "From"+STR$(curline)+"doing"+STR$(linestodo) margin=woOffX(i)\cellx FOR j=1 TO linestodo y=y+celly IF expandtabsflag OR margin<>0 THEN IF expandtabsflag THEN ExpandTabs lines$(file,curline),linebuf$ IF woOffX(i)<>0 THEN linebuf$=MID$(linebuf$,margin+1) END IF ELSE linebuf$=MID$(lines$(file,curline),margin+1) END IF v_gtext x,y,linebuf$ ELSE v_gtext x,y,lines$(file,curline) END IF INCR curline NEXT j END SUB SUB TextClose SHARED HowManyWindows,Commoni,woTindex(1),lines$(2),TextWindows,wolines(1) STATIC j,k FOR j=1 TO HowManywindows+1 IF woTindex(j)>woTindex(commoni) THEN DECR woTindex(j) NEXT j DECR TextWindows FOR j=woTindex(commoni)+1 TO TextWindows woLines(j-1)=woLines(j) FOR k=0 TO UBOUND(lines$,2) lines$(j-1,k)=lines$(j,k) NEXT k NEXT j woTindex(commoni)=0 END SUB 'Opens a scrolling window that displays text - the ' text is stroed as lines in the lines$(i,n) array where i is ' text file number. The number of lines is stored in wolines() FUNCTION OpenTextWindow(WindowName$,WindComp) STATIC WindowHandle SHARED woType(1),woTindex(1),TextWindows,MaxTextWindows,HowManyWindows WindowHandle=OpenAWindow(WindowName$,WindComp,VARPTRS(TextReDraw),VARPTRS(TextSliderMax),VARPTRS(TextClose)) IF WindowHandle >= 0 THEN INCR TextWindows IF TextWindows>MaxTextWindows THEN DECR TextWindows WindowHandle=-1 ELSE woType(HowManyWindows)=woTtext woTindex(HowManyWindows)=TextWindows-1 END IF END IF OpenTextWindow=WindowHandle ' DEbug "opened window" END FUNCTION SUB LoadTextFile(name$,BYVAL index,lines) SHARED lines$(2) STATIC i,tempch BusyBee 1 tempch=FREEFILE OPEN name$ FOR INPUT AS tempch i=0 WHILE NOT EOF(tempch) LINE INPUT #tempch,lines$(index,i) INCR i WEND 'debug STR$(i)+ "lines" lines=i CLOSE tempch BusyBee 0 END SUB ' expand any tabs in the string sce$ to dest$ SUB ExpandTabs(sce$,dest$) SHARED tabsize STATIC i,j,ch,newj i=1:j=1:dest$="" FOR i=1 TO LEN(sce$) ch=ASC(MID$(sce$,i,1)) IF ch=9 THEN newj=((j-1)\tabsize+1)*tabsize+1 dest$=dest$+SPACE$(newj-j) j=newj ELSE dest$=dest$+CHR$(ch) INCR j END IF NEXT i END SUB c' 31.3.92 djn maximums taken to include possible part characters at end of window FUNCTION MyInterSection( BYVAL x1,BYVAL y1,BYVAL w1,BYVAL h1,_ ' First Source AES Rect BYVAL x2,BYVAL y2,BYVAL w2,BYVAL h2,_ ' Second Source AES Rect outx,outy,outw,outh) ' Intersection Rect intersection x1,y1,w1,h1,x2,y2,w2,h2,outx,outy,outw,outh IF outh>0 AND outw>0 THEN myintersection=-1 ELSE myintersection=0 END FUNCTION ' The windows section of the Toolbox 'These are the arrays 'where the mapping between the window handles and ReDrawProcs are stored 'There are HowManyWindows valid entries in this table and there may ' NOT be any 'holes' in the structure CONST woTsimple=0, woTobject=1,woTtext=2,woTimage=3,woTform=4 ' Open a window and clear it to white with the given name and ' re-draw sub-program and returns the corresponding WindowHandle ' - if there was an error the GEM return value is given ' The name must be null-terminated and the Redraw sub-program has the ' following parameters: ' WindowHandle,x,y,w,h (all CARDINAL) of the window to draw ' This should re-draw that part of that window. There is no need ' to clear it to white first FUNCTION OpenAWindow(WindowName$,BYVAL WindComp,BYVAL procaddr&,BYVAL slidermaxaddr&,BYVAL closeproc&) STATIC WindowHandle STATIC x1,y1,x2,y2,id SHARED WindX,WindY,WindW,WindH,HowManyWindows,WindowsInitialised,max_windows SHARED woHandle(1),woRedraw&(1),woSliderMax&(1),woClose&(1) SHARED woType(1),woOffx(1),woOffy(1) IF WindowsInitialised=0 THEN CALL InitWindowSystem IF HowManyWindows=max_windows THEN CALL NoMoreWindows EXIT SUB END IF 'Find an unused BASIC window id id=0 DO WHILE VARPTR(#257+id) INCR id LOOP ' OK we can use BASIC window id - we will get a runtime error if ' this doesn't work. graf_mouse 256,0 WINDOW OPEN id,WindowName$,WindX,WindY,WindW,WindH,WindComp INCR HowManyWindows WINDOW READ id,5,WindowHandle 'read the AES handle woHandle(HowManyWindows)=WindowHandle woRedraw&(HowManywindows)=procaddr& woSliderMax&(HowManyWindows)=slidermaxaddr& woClose&(HowManyWindows)=closeproc& woType(HowManyWindows)=woTsimple woOffX(HowManyWindows)=0 woOffy(HowManyWindows)=0 vsf_color 0 ' fill with white ' set the clipping rectangle and clear it junk=wind_get(WindowHandle,WF_WORKXYWH,x1,y1,x2,y2) x2=x1+x2-1 y2=y1+y2-1 vs_clip 1,x1,y1,x2,y2 vr_recfl x1,y1,x2,y2 graf_mouse 257,0 OpenAWindow=WindowHandle END FUNCTION DECLARE FUNCTION UserClose(BYVAL WindowHandle) DECLARE FUNCTION FormClose ' Close a window of the given handle ' Note a variable parameter - will be set to 0 on exit SUB CloseAWindow(WindowHandle) STATIC j,k,id SHARED HowManyWindows SHARED userclose_enabled,formWindowsInitialised SHARED woHandle(1),woRedraw&(1),woSliderMax&(1),woClose&(1) SHARED woType(1),woOffx(1),woOffy(1),commoni commoni=WhichWindow(WindowHandle) ' Debug "Closing window"+STR$(WindowHandle)+"Number"+STR$(i) IF commoni>0 THEN IF FormWindowsInitialised THEN IF FormClose=0 THEN EXIT SUB END IF IF userclose_enabled THEN IF UserClose(WindowHandle)=0 THEN EXIT SUB END IF DECR HowManyWindows CALLS woClose&(commoni) FOR j=commoni TO HowManyWindows woHandle(j)=woHandle(j+1) woRedraw&(j)=woRedraw&(j+1) woSliderMax&(j)=woSlidermax&(j+1) woClose&(j)=woClose&(j+1) woType(j)=woType(j+1) woOffx(j)=woOffx(j+1) woOffy(j)=woOffy(j+1) NEXT j WINDOW READ windowhandle,6,id IF id>=0 THEN WINDOW CLOSE id END IF END IF WindowHandle=0 END SUB ' Redraw a slider 1 for Horizontal, 0 for Vertical SUB OneSlider(BYVAL Horizontal, BYVAL TotalSize,BYVAL curpos,BYVAL Size) STATIC i,j,k,temp& SHARED commonHandle IF TotalSize>0 THEN 'debug "slider"+STR$(Totalsize)+STR$(curpos)+STR$(size) IF TotalSize1000 THEN curpos=1000 temp&=1000*CLNG(Size) Size=temp& \CLNG(TotalSize)+1 IF Size>1000 THEN Size=1000 END IF i=WF_VSLSIZE-Horizontal k=0 j=wind_set(CommonHandle,i,Size,k,k,k) i=i-7 j=wind_set(CommonHandle,i,CurPos,k,k,k) END IF END SUB FUNCTION GetOffset(BYVAL TotalHeight,BYVAL Value) IF TotalHeight<0 THEN GetOffset=0 ELSE GetOffset=(CLNG(Value)*CLNG(TotalHeight)\1000) END IF END FUNCTION SUB WindowSlid(BYVAL Horizontal,BYVAL WindowHandle,BYVAL Value) SHARED commoni,commonmaxx,commonmaxy,commonhandle SHARED cellx,celly SHARED woSliderMax&(1),woOffX(1),woOffY(1) STATIC x,y,w,h commoni=WhichWindow(WindowHandle) IF commoni>0 THEN commonhandle=WindowHandle CALLS woSliderMax&(commoni) junk=wind_get(CommonHandle,WF_WORKXYWH,x,y,w,h) h=(h\celly)*celly 'usable characters w=(w\cellx)*cellx IF Horizontal THEN woOffX(commoni)=GetOffset(commonmaxx-w,Value) ELSE woOffY(commoni)=GetOffset(commonmaxy-h,Value) END IF FullRedraw WindowHandle END IF END SUB SUB WindowArrowed(BYVAL WindowHandle, BYVAL which) SHARED woOffX(1),woOffY(1),cellx,celly,woSliderMax&(1) SHARED commonhandle,commoni,commonmaxx,Commonmaxy STATIC x,y,w,h,NewX,NewY commoni=WhichWindow(WindowHandle) IF commoni>0 THEN junk=wind_get(WindowHandle,WF_WORKXYWH,x,y,w,h) h=(h\celly)*celly 'usable characters w=(w\cellx)*cellx NewX=woOffX(commoni): NewY=woOffY(commoni) SELECT CASE which CASE 0: NewY=NewY-h CASE 1: NewY=NewY+h CASE 2: NewY=NewY-celly CASE 3: NewY=NewY+celly CASE 4: NewX=NewX-w CASE 5: NewX=NewX+w CASE 6: NewX=NewX-cellx CASE 7: NewX=NewX+cellx END SELECT ' Now check not too big or too small commonhandle=WindowHandle CALLS woSliderMax&(commoni) woOffX(commoni)=MAX(MIN(NewX,((commonmaxx-w-1)\cellx+1)*cellx),0) woOffY(commoni)=MAX(MIN(NewY,((commonmaxy-h-1)\celly+1)*celly),0)  FullReDraw WindowHandle END IF END SUB ' changes the window whose AES handle is WindowHandle to WindowName$ SUB RenameWindow(WindowHandle,WindowName$) STATIC BasicHandle WINDOW READ WindowHandle,6,BasicHandle 'convert from AES handle WINDOW NAME BasicHandle,WindowName$ END SUB ' redraw a given window taking note of the GEM re-draw list SUB ReDraw(WindowHandle,BYVAL x,BYVAL y,BYVAL w,BYVAL h) STATIC x1,y1,w1,h1,xvdi,yvdi,i SHARED commonx,commony,commonw,commonh,commonhandle SHARED woReDraw&(1) graf_mouse 256,0 junk=wind_get(WindowHandle,WF_FIRSTXYWH,x1,y1,w1,h1) WHILE (w1<>0) AND (h1<>0) IF MyInterSection(x,y,w,h,x1,y1,w1,h1,commonx,commony,commonw,commonh) THEN vsf_color 0 ' white ' set the rectangle AND clear it xvdi=commonx+commonw-1:yvdi=commony+commonh-1 vs_clip 1,commonx,commony,xvdi,yvdi vr_recfl commonx,commony,xvdi,yvdi ' Now CALL the window specific routine i=WhichWindow(WindowHandle) IF i>0 THEN commonhandle=windowhandle CALLS woReDraw&(i) UpdateSliders END IF END IF junk=wind_get(WindowHandle,WF_NEXTXYWH,x1,y1,w1,h1) WEND graf_mouse 257,0 END SUB ' redraws the entire window if exposed SUB FullReDraw(BTYVAL WindowHandle) STATIC x,y,w,h junk=wind_get(WindowHandle,WF_WORKXYWH,x,y,w,h) Redraw WindowHandle,x,y,w,h END SUB ' called when the window is moved OR changes size SUB ChangeWindow(BYVAL WindowHandle,BYVAL x,BYVAL y,BYVAL w,BYVAL h) SHARED woType(1),woObjectTree&(1),woBaseX(1),woBaseY(1),woOffX(1),woOffy(1) STATIC i junk=wind_set(WindowHandle,WF_CURRXYWH,x,y,w,h) i=WhichWindow(WindowHandle) IF i=0 THEN EXIT SUB IF woType(i)<>woTform THEN EXIT SUB SelectTreeAddr woObjectTree&(i) Setob_x 0,woBaseX(i)-woOffX(i)+x Setob_y 0,woBasey(i)-woOffY(i)+y END SUB SUB UpdateSliders SHARED CommonHandle,Commoni,commonmaxx,commonmaxy SHARED woSliderMax&(1),woOffX(1),woOffY(1),woType(1) STATIC x,y,w,h SHARED Mess(1) CommonHandle=Mess(3) commoni=WhichWindow(CommonHandle) IF commoni=0 THEN EXIT SUB junk=wind_get(CommonHandle,WF_WORKXYWH,x,y,w,h) CALLS woSliderMax&(commoni) IF woType(commoni)=woTform THEN EXIT SUB 'without this the program crashes on old TOS OneSlider 1,commonmaxx,woOffX(commoni),w OneSlider 0,commonmaxy,woOffY(commoni),h END SUB DECLARE SUB do_cursor(BYVAL win_handle,BYVAL mode) SUB TopAWindow(VAL WindowHandle) SHARED woType(1) STATIC i i=WhichWindow(WindowHandle) junk=wind_set(windowhandle,WF_TOP,0,0,0,0) IF woType(i)=woTform THEN do_cursor windowhandle,1 END SUB SUB UnTopAWindow(BYVAL WindowHandle) SHARED woType(1) STATIC i i=WhichWindow(WindowHandle) IF woType(i)=woTform THEN do_cursor WindowHandle,0 END SUB 'Deals with the common window update requirements: ' Note that only includes redraw, topped,sized, moved, fulled etc ' Is passed a meesage a la evnt_mesag/evnt_multi SUB WindowMessage SHARED windx,windy,windh,windw,mess(1),myap_id STATIC x,y,w,h,mes_type,tmp,align mes_type=mess(0) SELECT CASE mes_type CASE WM_REDRAW: ReDraw Mess(3),Mess(4),Mess(5),Mess(6),Mess(7) CASE WM_TOPPED: topawindow mess(3) CASE WM_UNTOPPED: UntopAWindow mess(3) CASE WM_SIZED: Changewindow Mess(3),Mess(4),Mess(5),Mess(6),Mess(7) ' current size UpdateSliders CASE WM_MOVED: mess(4)=byte_align(mess(4))-1 ChangeWindow Mess(3),Mess(4),Mess(5),Mess(6),Mess(7) ' current size CASE WM_FULLED: junk=wind_get(Mess(3),WF_CURRXYWH,x,y,w,h) ' current size IF (windw<>w) OR (windh<>h) OR (windx<>x) OR (windy<>y) THEN ' make as large as possible ChangeWindow Mess(3),windx,windy,windw,windh ELSE ' return to the old size junk=wind_get(Mess(3),WF_PREVXYWH,x,y,w,h) ChangeWindow Mess(3),x,y,w,h END IF UpdateSliders CASE WM_VSLID: WindowSlid 0,Mess(3),Mess(4) CASE WM_HSLID: WindowSlid 1,Mess(3),Mess(4) CASE WM_ARROWED: WindowArrowed Mess(3),Mess(4) END SELECT END SUB 'Initialise the window system SUB InitWindowSystem SHARED cellx,celly,HowManyWindows,myap_id SHARED woHandle(1),woRedraw&(1),woOffx(1),woOffy(1),woClose&(1) SHARED woType(1),woTindex(1),woSliderMax&(1) SHARED WindowsInitialised,max_windows IF aes_version>=&h330 THEN max_windows=19 ELSE max_windows=7 REDIM woHandle(max_windows) ' the handle of this window REDIM woRedraw&(max_windows) ' the address of the re-draw proc REDIM woSliderMax&(max_windows) ' slider handling routines REDIM woClose&(max_windows) ' window closed handler REDIM woType(max_windows) REDIM woOffx(max_windows),woOffy(max_windows) 'offset of top left 0,0 unless we have scrolled REDIM woTindex(max_windows) 'maps window numbers to indices in the lines$() array ' Utility functions for the windows section ' Returns the index in the wo... tables of Windowhandle HowManyWindows=0 junk=graf_handle(cellx,celly,junk,junk) myap_id=PEEKW(PEEKL(GB+4)+ap_id) WindowsInitialised=-1 END SUB SUB NoMoreWindows STATIC a$ a$="[3][There are no more|windows available.| |Please close a window.][ OK ]" junk=form_alert(1,a$) END SUB' HiSoft BASIC GEM Toolkit ' Desk accessory version DEFINT a-z GOTO skip ' 10k should be plenty to Leave, variable checks on, no window REM $option y+,v+,u+,#,[,] ' constant file for HiSoft BASIC ' use defint a-z and option u+ ' end of GEMAES.BH ' constant file for HiSoft BASIC ' use defint a-z and option u+ rem $include gemaes.bh LIBRARY "gemaes","gemvdi","xbios","gemdos" DIM SHARED junk ' This is the main toolkit itself ' (c) HiSoft 1991 ' written by Dave Nutkins 'Object Tree routines DIM SHARED tree& ' the current Toolbox tree 'Gives the address of the given object in the current tree DEF ObjectAddr&(object)=tree&+object*ob_sizeof 'Selects a new tree given the address of the root SUB SelectTreeAddr(BYVAL t&) tree&=t& END SUB ' Selects a given tree in the resource file SUB SelectTree(BYVAL treeno) STATIC formaddr& junk=rsrc_gaddr(type_tree,treeno,formaddr&) SelectTreeAddr formaddr& END SUB 'Returns the value of the ob_head field in the given object of the current tree FUNCTION Getob_head(BYVAL object) Getob_head=PEEKW(ObjectAddr&(object)+ob_head) END FUNCTION 'Returns the value of the ob_tail field in the given object of the current tree FUNCTION Getob_tail(BYVAL object) Getob_tail=PEEKW(ObjectAddr&(object)+ob_tail) END FUNCTION 'Returns the value of the ob_spec field in the given object of the current tree FUNCTION Getob_spec&(BYVAL object) Getob_spec&=PEEKL(ObjectAddr&(object)+ob_spec) END FUNCTION 'Returns the value of the ob_state field in the given object of the current tree FUNCTION Getob_state(BYVAL object) Getob_state=PEEKW(ObjectAddr&(object)+ob_state) END FUNCTION 'Returns the value of the ob_flags field in the given object of the current tree FUNCTION Getob_flags(BYVAL object) Getob_flags=PEEKW(ObjectAddr&(object)+ob_flags) END FUNCTION 'Returns the value of the ob_type field in the given object of the current tree FUNCTION Getob_type(BYVAL object) Getob_type=PEEKW(ObjectAddr&(object)+ob_type) END FUNCTION 'Returns the value of the ob_next field in the given object of the current tree FUNCTION Getob_next(BYVAL object) Getob_next=PEEKW(ObjectAddr&(object)+ob_next) END FUNCTION 'Returns the value of the ob_x field in the given object of the current tree FUNCTION Getob_x(BYVAL object) Getob_x=PEEKW(ObjectAddr&(object)+ob_x) END FUNCTION 'Returns the value of the ob_y field in the given object of the current tree FUNCTION Getob_y(BYVAL object) Getob_y=PEEKW(ObjectAddr&(object)+ob_y) END FUNCTION 'Returns the value of the ob_width field in the given object of the current tree FUNCTION Getob_width(BYVAL object) Getob_width=PEEKW(ObjectAddr&(object)+ob_width) END FUNCTION 'Returns the value of the ob_height field in the given object of the current tree FUNCTION Getob_height(BYVAL object) Getob_height=PEEKW(ObjectAddr&(object)+ob_height) END FUNCTION 'Sets the value of the ob_state field in the given object of the current tree SUB Setob_state(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_state,value END SUB 'Sets the value of the ob_flags field in the given object of the current tree SUB Setob_flags(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_flags,value END SUB 'Sets the value of the ob_x field in the given object of the current tree SUB Setob_x(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_x,value END SUB 'Sets the value of the ob_y field in the given object of the current tree SUB Setob_y(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_y,value END SUB 'Sets the value of the ob_width field in the given object of the current tree SUB Setob_width(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_width,value END SUB 'Sets the value of the ob_height field in the given object of the current tree SUB Setob_height(BYVAL object,BYVAL value) POKEW ObjectAddr&(object)+ob_height,value END SUB 'Sets the value of the ob_spec field in the given object of the current tree SUB Setob_spec(BYVAL object,BYVAL spec&) POKEL ObjectAddr&(object)+ob_spec,spec& END SUB 'Removes a given mask (e.g. mask_selected,mask_disable) from the ob_state 'field in the given object of the current tree SUB Exclob_state(BYVAL object,BYVAL flag_mask) STATIC t& t&=ObjectAddr&(object)+ob_state POKEW t&,PEEKW(t&) AND (NOT flag_mask) END SUB 'Includes a given mask (e.g. mask_selected,mask_disable) from the ob_state 'field in the given object of the current tree SUB Inclob_state(BYVAL object,BYVAL flag_mask) STATIC t& t&=ObjectAddr&(object)+ob_state POKEW t&,PEEKW(t&) OR flag_mask END SUB 'Returns non-zero if a given mask(e.g. mask_selected,mask_disable) from the 'ob_state field is set FUNCTION Curob_state(BYVAL object,BYVAL flag_mask) Curob_state=(PEEKW(ObjectAddr&(object)+ob_state) AND flag_mask)<>0 END FUNCTION 'Removes a given mask (e.g. mask_selectable,mask_exit) from the ob_flags 'field in the given object of the current tree SUB Exclob_flags(BYVAL object,BYVAL flag_mask) STATIC t& t&=ObjectAddr&(object)+ob_flags POKEW t&,PEEKW(t&) AND (NOT flag_mask) END SUB 'icnludes a given mask (e.g. mask_selectable,mask_exit) from the ob_flags 'field in the given object of the current tree SUB Inclob_flags(BYVAL object,BYVAL flag_mask) STATIC t& t&=ObjectAddr&(object)+ob_flags POKEW t&,PEEKW(t&) OR flag_mask END SUB 'Returns non-zero if a given mask(e.g. mask_selected,mask_disable) from the 'ob_flags field is set FUNCTION Curob_flags(BYVAL object,BYVAL flag_mask) Curob_flags=(PEEKW(ObjectAddr&(object)+ob_flags) AND flag_mask)<>0 END FUNCTION ' set a tedinfo record SUB Sette_ptext(BYVAL object,BYVAL newted$) STATIC t&,chars,i t&=Getob_spec&(object) chars=MIN(PEEKW(t&+te_txtlen)-1,LEN(newted$)) '-1 for the null t&=PEEKL(t&+te_ptext) FOR i=1 TO chars POKEB t&,ASC(MID$(newted$,i,1)) INCR t& NEXT i POKEB t&,0 'must end in null END SUB ' extract a tedinfo record FUNCTION Gette_ptext$(BYVAL object) STATIC t&,a$ a$="" t&=Getob_spec&(object) t&=PEEKL(t&+te_ptext) WHILE PEEKB(t&) a$=a$+CHR$(PEEKB(t&)) INCR t& WEND Gette_ptext$=a$ END FUNCTION ' Extract ob_spec field as a BASIC string FUNCTION Getob_spec$(BYVAL object) STATIC t&,a$ a$="" t&=Getob_spec&(object) WHILE PEEKB(t&) a$=a$+CHR$(PEEKB(t&)) INCR t& WEND Getob_spec$=a$ END FUNCTION ' Set ob_spec field as a BASIC string SUB Setob_spec_str(BYVAL object,BYVAL spec$) STATIC t&,i,chars 'chars=MIN(LEN(spec$),LEN(getob_spec$(object))) chars=LEN(spec$) t&=Getob_spec&(object) FOR i=1 TO chars POKEB t&,ASC(MID$(spec$,i,1)) INCR t& NEXT i POKEB t&,0 'must end in null END SUB ' If Busy is true (non-zero) then makes the rodent busy SUB BusyBee(BYVAL Busy) IF Busy THEN graf_mouse 2,0 ELSE graf_mouse 0,0 END IF END SUB SUB InitResourceFile(name$) ' Load resouce file - giving alert if not found ' should use the PATH ? SHARED resource_loaded ' load the resource file IF rsrc_load(name$)=0 THEN ' this alert can't be in the resource file of course.. junk=form_alert(1,"[3][Resource file not found][ Quit ]") SYSTEM END IF resource_loaded=-1 END SUB FUNCTION byte_align(BYVAL x) SHARED supress_byte_align IF supress_byte_align=0 THEN byte_align=(x+4) AND &hFFF8 END FUNCTION FUNCTION WhichWindow(BYVAL AEShandle) SHARED woHandle(1) SHARED HowManyWindows STATIC i i=0 IF HowManyWindows>0 THEN DO INCR i LOOP WHILE (i <= HowManyWindows) AND (woHandle(i)<>AEShandle) IF woHandle(i)<>AEShandle THEN i=0 END IF WhichWindow=i END FUNCTION ' Returns TRUE IF WindowHandle was opened using OpenAWindow FUNCTION IsMyWindow(BYVAL WindowHandle) IsMyWindow= WhichWindow(WindowHandle)>0 END FUNCTION DECLARE SUB WindowMessage DECLARE SUB CloseAWindow(WindowHandle) DECLARE SUB AccOpened ' process message event SUB do_message STATIC cur_front,MessageType,title,item SHARED exit_item,Finished_Flag,Mess(1),AlreadyOpen MessageType=Mess(0) ' Debug STR$(Mess(0))+STR$(Mess(1))+STR$(Mess(2))+STR$(Mess(3)) IF (MessageType>=WM_TOPPED) AND (MessageType<=WM_MOVED) THEN IF NOT IsMyWindow(Mess(3)) THEN EXIT SUB ' it's not our's END IF junk=wind_get(Mess(3),WF_TOP,cur_front,junk,junk,junk) SELECT CASE MessageType CASE AC_OPEN: WINDOW SYSTEM AccOpened AlreadyOpen=-1 CASE WM_CLOSED: CloseAWindow mess(3) AlreadyOpen=0 WINDOW STOP CASE ELSE WindowMessage END SELECT END SUB SUB StartAccessory(daname$) SHARED WindX,WindY,WindW,WindH SHARED Mess(1) STATIC id,mpos DIM Mess(7) id=PEEKW(PEEKL(GB+4)+4) mpos=menu_register(id,daname$) junk=wind_get(0,WF_WORKXYWH,WindX,WindY,WindW,WindH) DO evnt_mesag VARPTR(mess(0)) do_message LOOP END SUB 'Debug routines for the tookbox ' displays the given srting using the BIOS SUB AbortProgram(a$) Debug a$ STOP -1 END SUB SUB Debug(BYVAL a$) STATIC i FOR i=1 TO LEN(a$) OUT 2,ASC(MID$(a$,i,1)) NEXT i junk=INP(2) END SUB FUNCTION aes_version aes_version=PEEKW(PEEKL(GB+4)) END FUNCTION skip: ' End of Goldfish 5' The Image window routines SUB ImageReDraw SHARED commonhandle SHARED woTindex(1),woOffX(1),woOffY(1) SHARED images(2),mscr(1) STATIC i,x,y,w,h,index,remaining,local_mfdb(1),mscr(1),x(1),j,disp$ STATIC displayed_height,displayed_width i=WhichWindow(commonHandle) IF i=0 THEN EXIT SUB ' panic junk=wind_get(CommonHandle,WF_WORKXYWH,x,y,w,h) REDIM local_mfdb(fd_size),mscr(fd_size),x(8) index=woTindex(i) FOR j=0 TO fd_size: local_mfdb(j)=images(index,j): NEXT j x(0)=woOffX(i):x(1)=woOffY(i) 2 displayed_width=MIN(local_mfdb(fd_w)-woOffX(i),w) displayed_height=MIN(local_mfdb(fd_h)-woOffY(i),h) x(2)=x(0)+displayed_width-1 x(3)=x(1)+displayed_height-1 x(4)=x: x(5)=y x(6)=x+displayed_width-1 x(7)=y+displayed_height-1 ' disp$="" ' FOR j=0 TO 7: disp$=disp$+STR$(x(j)): NEXT j ' Debug disp$ vro_cpyfm 3,x(),VARPTR(local_mfdb(0)),VARPTR(mscr(0)) END SUB SUB ImageSliderMax SHARED commonHandle,woTindex(1),images(2),commonmaxx,commonmaxy STATIC index index=woTindex(commonHandle) commonmaxx=images(index,fd_w) commonmaxy=images(index,fd_h) END SUB SUB ImageClose SHARED commoni,HowManyWindows SHARED woObjectTree&(1),woBaseX(1),woBaseY(1) STATIC j FOR j=commoni TO HowManyWindows woObjectTree&(j)=woObjectTree&(j+1) woBaseX(j)=woBaseX(j+1) woBaseY(j)=woBaseY(j+1) NEXT j END SUB 'Opens a scrolling window that displays an image - the ' image is stored in images() and must be loaded using ' LoadPicture ,ImageWindows FUNCTION OpenImageWindow(WindowName$,WindComp) STATIC WindowHandle SHARED HowManywindows SHARED woType(1),woTindex(1),ImageWindows WindowHandle=OpenAWindow(WindowName$,WindComp,VARPTRS(ImageReDraw),VARPTRS(ImageSliderMax),VARPTRS(ImageClose)) IF WindowHandle >= 0 THEN woType(HowManyWindows)=woTimage woTindex(HowManyWindows)=ImageWindows INCR ImageWindows ' Check here for too many image windows END IF OpenImageWindow=WindowHandle ' DEbug "opened window" END FUNCTION ('Execute routines for the Toolbox FUNCTION GetWholeEnvironment$ STATIC i,res$,a$ res$="" i=1 DO a$=ENVIRON$(i) IF a$="" THEN EXIT LOOP res$=res$+a$+CHR$(0) INCR i LOOP GetWholeEnvironment$=res$ END FUNCTION SUB Execute(nname$,commline$) SHARED menutree&,Windx,Windy,Windw,Windh,HowManyWindows,woHandle(1) SHARED desktree& STATIC junk&,junk,wind_temp(2),curhandle,i,curtop junk=wind_get(0,WF_TOP,curtop,0,0,0) DIM windtemp(HowmanyWindows,4) FOR i=1 TO HowManyWindows curhandle=woHandle(i) junk=wind_get(curhandle,WF_CURRXYWH,windtemp(i,1),windtemp(i,2),windtemp(i,3),windtemp(i,4)) ' current size junk=wind_close(woHandle(i)) NEXT i IF menutree& THEN menu_bar menutree&,0 junk=wind_update(END_UPDATE) junk&=pexec&(0,nname$,commline$,GetWholeEnvironment$) junk=wind_set(0,WF_NEWDESK,PEEKW(VARPTR(desktree&)),PEEKW(VARPTR(desktree&)+2),0,0) IF menutree& THEN menu_bar menutree&,1 FOR i=1 TO HowManyWindows junk=wind_open(woHandle(i),windtemp(i,1),windtemp(i,2),windtemp(i,3),windtemp(i,4)) ' current size NEXT i ERASE windtemp junk=wind_set(0,WF_TOP,curtop,0,0,0) form_dial FMD_FINISH,0,0,0,0,Windx,Windy,Windw,Windh junk=wind_update(BEG_UPDATE) END SUB 7' set or reset the desktop pattern SUB SetDeskAddr(BYVAL newdesk&) SHARED windx,windy,windw,windh SHARED desktree& desktree&=newdesk& junk=wind_set(0,WF_NEWDESK,PEEKW(VARPTR(newdesk&)),PEEKW(VARPTR(newdesk&)+2),0,0) ' cause the AES to re-draw the whole screen form_dial FMD_FINISH,0,0,0,0,Windx,Windy,Windw,Windh END SUB SUB SetDesk(BYVAL treeno) SHARED windx,windy,windw,windh STATIC formaddr& IF treeno=-1 THEN SetDeskAddr 0 ELSE junk=rsrc_gaddr(type_tree,treeno,formaddr&) SelectTreeAddr formaddr& Setob_x 0,Windx Setob_y 0,Windy Setob_width 0,Windw Setob_height 0,Windh SetDeskAddr formaddr& END IF END SUB {' GEMAES.BH ' constant file for HiSoft BASIC ' use defint a-z and option u+ 'offsets in bytes for the global array CONST ap_version=0,ap_count=2,ap_id=4,ap_private=6,ap_ptree=10 ' constants for message types CONST mn_selected=10,wm_redraw=20,wm_topped=21,wm_closed=22,wm_fulled=23 CONST wm_arrowed=24,wm_hslid=25,wm_vslid=26,wm_sized=27,wm_moved=28 CONST wm_untopped=30,wm_ontop=31 CONST ac_open=40,ac_close=41 CONST ap_term=50,ap_aptfail=51,ap_reschg=57 CONST shut_completed=60,resch_completed=61,ap_dragdrop=63,sh_wdraw=72 CONST ch_exit=80 'offsets in bytes for OBJECT structure CONST ob_next=0,ob_head=2,ob_tail=4,ob_type=6,ob_flags=8,ob_state=10 CONST ob_spec=12,ob_x=16,ob_y=18,ob_width=20,ob_height=22 'offsets in bytes for TEDINFO structure CONST te_ptext=0,te_ptmplt=4,te_pvalid=8,te_font=12,te_just=16 CONST te_color=18,te_thickness=22,te_txtlen=24,te_tmplen=26 'offsets in bytes for ICONBLK structure CONST ib_pmask=0,ib_pdata=4,ib_ptext=8,ib_char=12,ib_xchar=14,ib_ychar=16 CONST ib_xicon=18,ib_yicon=20,ib_wicon=22,ib_hicon=24,ib_xtext=26 CONST ib_ytext=28,ib_wtext=30,ib_htext=32 'offsets in bytes for BITBLK structure CONST bi_pdata=0,bi_wb=4,bi_hl=6,bi_x=8,bi_y=10,bi_color=12 'offsets in bytes for APPLBLK structure CONST ab_code=0,ab_parm=4 'offsets in bytes for PARMBLK strucure CONST pb_tree=0,pb_obj=4,pb_prevstate=6,pb_currstate=8,pb_x=10,pb_y=12 CONST pb_w=14,pb_h=16,pb_xc=18,pb_yc=20,pb_wc=22,pb_hc=24,pb_parm=26 'OBJECT Types CONST G_BOX=20,G_TEXT=21,G_BOXTEXT=22,G_IMAGE=23,G_PROGDEF=24,G_IBOX=25 CONST G_BUTTON=26,G_BOXCHAR=27,G_STRING=28,G_FTEXT=29,G_FBOXTEXT=30 CONST G_ICON=31,G_TITLE=32 'Object flag masks CONST mask_none=0,mask_selectable=1,mask_default=2,mask_exit=4 CONST mask_editable=8,mask_rbutton=16,mask_lastob=32,mask_touchexit=64 CONST mask_hidetree=128,mask_indirect=256,mask_3d=&h600 ' 3D mask values CONST fl3dind=&h200,fl3Dback=&h400,fl3dact=&h600 'Object state masks CONST mask_normal=0,mask_selected=1,mask_crossed=2,mask_checked=4 CONST mask_disabled=8,mask_outlined=16,mask_shadowed=32 ' constants for wind_create bits CONST win_name=1,win_close=2,win_full=4,win_move=8,win_info=16,win_size=32 CONST win_uparrow=64,win_dnarrow=128,win_vslide=256,win_lfarrow=512 CONST win_rtarrow=1024,win_hslide=2048,win_all=&hfff 'constants for wind get and set CONST wf_name=2,wf_info=3,wf_workxywh=4,wf_currxywh=5,wf_prevxywh=6 CONST wf_fullxywh=7,wf_hslide=8,wf_vslide=9,wf_top=10,wf_firstxywh=11 CONST wf_nextxywh=12,wf_newdesk=14,wf_hslize=15 CONST wf_vslsize=16,wf_screen=17,wf_color=18,wf_dcolor=19,wf_owner=20 CONST wf_bevent=24,wf_bottom=25 'wind_update constants CONST END_UPDATE=0,BEG_UPDATE=1,END_MCTRL=2,BEG_MCTRL=3 ' message types for evnt_multi CONST mu_keybd=1,mu_button=2,mu_m1=4,mu_m2=8,mu_mesag=16,mu_timer=32 CONST type_tree=0,type_object=1,type_string=5,ob_sizeof=24 CONST FMD_START=0, FMD_GROW=1, FMD_SHRINK=2, FMD_FINISH=3 'objc_sysvar values CONST lk3dind=1,lk3dact=2,indbutcol=3,actbutcol=4,backgrcol=5,ad3dvalue=6 ' end of GEMAES.BH ' Form window handling for HiSoft BASIC GEM Toolbox SUB InitFormWindows SHARED woCancelObj(1),woIdx(1),woCur_edit(1),woCloseForm&(1),FormWindowsInitialised,max_windows REDIM woCancelObj(max_windows),woIdx(max_windows),woCur_edit(max_windows),woCloseForm&(max_windows) FormWindowsInitialised=-1 END SUB SUB FormReDraw SHARED commonx,commony,commonw,commonh,commonhandle STATIC i,x,y,w,h SHARED woObjectTree&(1),woOffX(1),woOffY(1),woBaseX(1),woBaseY(1),woCur_edit(1) STATIC oldtree& oldtree&=tree& i=WhichWindow(commonHandle) IF i=0 THEN EXIT SUB ' panic SelectTreeAddr woObjectTree&(i) junk=wind_get(CommonHandle,WF_CURRXYWH,x,y,w,h) Setob_x 0,woBaseX(i)-woOffX(i)+x Setob_y 0,woBasey(i)-woOffY(i)+y xobjc_draw 0,10,commonx,commony,commonw,commonh IF woCur_edit(i) THEN junk=wind_get(0,WF_TOP,x,0,0,0) IF x=CommonHandle THEN do_cursor x,1 END IF END IF SelectTreeAddr oldtree& END SUB FUNCTION xobj_watch(BYVAL win,BYVAL obj) STATIC x,y,w,h,ev,flag junk=objc_offset(tree&,obj,x,y) w=getob_width(obj) h=getob_height(obj) flag=1 DO ev=evnt_multi(MU_BUTTON+MU_M1,0,3,0,_ flag,x,y,w,h,_ 0,x,y,w,h,_ 0,0,0,0,0,0,0,0) IF (ev AND MU_BUTTON) THEN EXIT DO ELSEIF (ev AND MU_M1) THEN IF flag THEN exclob_state obj,mask_selected ELSE inclob_state obj,mask_selected END IF END IF flag=flag XOR 1 Object_Redraw win,obj LOOP xobj_watch=curob_state(obj,mask_selected) END FUNCTION FUNCTION reset_radio(VAL win,VAL object) STATIC first,last,parent,i parent=getparent(object) first=Getob_head(parent) IF first=-1 THEN EXIT FUNCTION last=getob_tail(parent) i=first DO IF i<>object AND curob_state(i,mask_selected)<>0 THEN exclob_state i,mask_selected reset_radio=i EXIT FUNCTION END IF i=getob_next(i) LOOP UNTIL i=parent reset_radio=0 END FUNCTION FUNCTION xform_button(BYVAL win,BYVAL obj,next_obj) STATIC res,flags,state,tmp,selectable,radio,selected,deselect,exitable,touchexit state=getob_state(obj) flags=getob_flags(obj) selectable=flags AND mask_selectable radio=flags AND mask_rbutton selected=state AND mask_selected exitable=flags AND mask_exit touchexit=flags AND mask_touchexit next_obj=0 IF (state AND mask_disabled) OR (flags AND mask_hidetree) THEN xform_button=1 EXIT FUNCTION END IF next_obj=0 deselect=0 res=-1 IF selectable THEN IF selected THEN IF radio=0 THEN exclob_state obj,mask_selected ELSE inclob_state obj,mask_selected IF radio THEN deselect=reset_radio(win,obj) END IF Object_Redraw win,obj IF deselect THEN Object_Redraw win,deselect IF exitable=0 AND touchexit=0 THEN junk=evnt_button(0,3,0,0,0,0,0) END IF END IF IF exitable<>0 AND selectable<>0 THEN tmp=xobj_watch(win,obj) IF tmp=0 THEN xform_button=1 EXIT FUNCTION END IF END IF IF flags AND mask_editable THEN next_obj=obj END IF IF exitable OR touchexit THEN next_obj=obj res=0 END IF xform_button=res END FUNCTION 'this utility routine is for general use 'it should only be used to redraw a single object SUB Object_Redraw(WindowHandle,BYVAL obj) STATIC x1,y1,w1,h1,x,y,w,h,topwin SHARED commonx,commony,commonw,commonh objcextent obj,x,y,w,h junk=wind_get(0,WF_TOP,topwin,0,0,0) IF WindowHandle=topwin THEN junk=objc_draw(tree&,0,10,x,y,w,h) vs_clip 1,x,y,x+w-1,y+h-1 show_cuts obj,0 ELSE junk=wind_get(WindowHandle,WF_FIRSTXYWH,x1,y1,w1,h1) WHILE (w1<>0) AND (h1<>0) IF MyInterSection(x,y,w,h,x1,y1,w1,h1,commonx,commony,commonw,commonh) THEN vs_clip 1,commonx,commony,commonx+commonw-1,commony+commonh-1 junk=objc_draw(tree&,0,10,commonx,commony,commonw,commonh) show_cuts obj,0 END IF junk=wind_get(WindowHandle,WF_NEXTXYWH,x1,y1,w1,h1) WEND END IF END SUB 'this utility routine should be used to redraw 'one object or more, it is not as fast as Object_Redraw 'but can redraw several objects in one go SUB MultipleObjectRedraw(BYVAL win,BYVAL obj) STATIC x,y,w,h objcextent obj,x,y,w,h redraw win,x,y,w,h END SUB FUNCTION FormClose SHARED commoni,commonobj,wocancelobj(1),wocloseform&(1),woType(1) SHARED commonclose,woObjectTree&(1) STATIC j,oldtree& IF woType(commoni)<> woTform THEN FormClose=-1: EXIT FUNCTION oldtree&=tree& SelectTreeAddr woObjectTree&(commoni) IF commonobj=-1 THEN commonobj=woCancelobj(commoni) IF curob_flags(commonobj,mask_exit) THEN Exclob_state commonobj,mask_selected END IF commonclose=-1 CALLS wocloseForm&(commoni) commonobj=-1 FormClose=commonclose SelectTreeAddr oldtree& END FUNCTION SUB FormDelete SHARED commoni,wocancelobj(1),Howmanywindows SHARED woCloseForm&(1),woObjectTree&(1),woBaseX(1),woBaseY(1),woCancelObj(1),woCur_edit(1),woidx(1) STATIC j FOR j=commoni TO HowManyWindows woCloseForm&(j)=woCloseForm&(j+1) woObjectTree&(j)=woObjectTree&(j+1) woBaseX(j)=woBaseX(j+1) woBaseY(j)=woBaseY(j+1) woCancelObj(j)=woCancelObj(j+1) woCur_edit(j)=woCur_edit(j+1) woIdx(j)=woIdx(j+1) NEXT j END SUB FUNCTION Gette_ptmplt$(BYVAL object) STATIC t&,a$ a$="" t&=Getob_spec&(object) t&=PEEKL(t&+te_ptmplt) WHILE PEEKB(t&) a$=a$+CHR$(PEEKB(t&)) INCR t& WEND Gette_ptmplt$=a$ END FUNCTION FUNCTION getcur_offset(BYVAL obj,BYVAL idx) STATIC tmp$,curspos tmp$=(gette_ptmplt$(obj)) curspos=INSTR(tmp$,"_")-1+idx getcur_offset=curspos*8 END FUNCTION SUB do_cursor(BYVAL win_handle,BYVAL mode) SHARED woCur_edit(),woIdx(),woObjectTree&() STATIC x1,y1,w1,h1,i i=WhichWindow(win_Handle) IF woCur_edit(i) THEN SelectTreeAddr woObjectTree&(i) objcextent wocur_edit(i),x1,y1,w1,h1 x1=x1+getcur_offset(wocur_edit(i),woidx(i)) junk=objc_draw(tree&,0,10,x1,y1-3,1,h1+6) IF mode THEN junk=objc_edit(tree&,woCur_edit(i),0,woIdx(i),3) END IF END SUB ' As OpenAWindow except the Object Tree whose Address is given by ' p is always - rather than a specific redraw routine. This will ' handle scroll events FUNCTION OpenFormWindow(WindowName$,BYVAL WindComp,BYVAL treeno,BYVAL startobj,BYVAL cancelobj,BYVAL Closeproc&) STATIC WindowHandle,oldtree& SHARED woObjectTree&(1),woBaseX(1),woBaseY(1),forms_enabled SHARED woType(1),HowManyWindows,ObjectWindowsInitialised,FormWindowsInitialised STATIC WindowHandle,t$ STATIC x,y,w,h,id,x1,y1 SHARED WindX,WindY,WindW,WindH,HowManyWindows,WindowsInitialised,max_windows SHARED woHandle(1),woRedraw&(1),woSliderMax&(1),woClose&(1) SHARED woType(1),woOffx(1),woOffy(1),woCloseForm&(1),woCancelObj(1),woCur_edit(1),woidx(1) IF WindowsInitialised=0 THEN CALL InitWindowSystem IF ObjectWindowsInitialised=0 THEN CALL InitObjectWindows IF FormWindowsInitialised=0 THEN CALL InitFormWindows IF HowManyWindows=max_windows THEN CALL NoMoreWindows EXIT SUB END IF SelectTree treeno form_center tree&,x1,y1,w,h x1=byte_align(x1) setob_x 0,x1 junk=wind_calc(0,WindComp,x1,y1,w,h,x,y,w,h) 'Find an unused BASIC window id id=0 DO WHILE VARPTR(#257+id) INCR id LOOP ' OK we can use BASIC window id - we will get a runtime error if ' this doesn't work. graf_mouse 256,0 WINDOW OPEN id,WindowName$,x,y,w,h,WindComp INCR HowManyWindows WINDOW READ id,5,WindowHandle 'read the AES handle woHandle(HowManyWindows)=WindowHandle woRedraw&(HowManywindows)=VARPTRS(FormRedraw) woSliderMax&(HowManyWindows)=VARPTRS(ObjectSliderMax) woClose&(HowManyWindows)=VARPTRS(FormDelete) woCloseForm&(HowManyWindows)=closeproc& woType(HowManyWindows)=woTform woObjectTree&(HowManyWindows)=tree& woOffX(HowManyWindows)=0 woOffy(HowManyWindows)=0 woBaseX(HowManyWindows)=x1-x woBaseY(HowManyWindows)=y1-y woCancelObj(HowManywindows)=cancelobj IF startobj THEN t$=gette_ptext$(startobj) IF LEFT$(t$,1)="@" THEN woidx(HowManyWindows)=0 ELSE woidx(HowManyWindows)=LEN(t$) END IF graf_mouse 257,0 woCur_edit(HowManywindows)=startobj forms_enabled=-1 OpenFormWindow=WindowHandle END FUNCTION SUB move_cursor(idx,BYVAL obj,BYVAL xpos,BYVAL new) STATIC curs_pos,chars,t$,objx,old_obj,new_idx IF curob_flags(obj,mask_editable)=0 THEN EXIT SUB junk=objc_offset(tree&,obj,objx,junk) curs_pos=objx+getcur_offset(obj,idx) new_idx=Idx+(xpos-curs_pos)/8 t$=gette_ptext$(obj) IF LEFT$(t$,1)="@" THEN chars=0 ELSE chars=LEN(t$) new_idx=MAX(0,MIN(new_idx,chars)) IF obj=old_obj AND idx=new_idx THEN EXIT SUB ELSE old_obj=obj END IF IF NOT new THEN junk=objc_edit(tree&,obj,0,Idx,3) idx=new_idx junk=objc_edit(tree&,obj,0,Idx,3) END SUB FUNCTION ProcessFormClicks(byval button,BYVAL clicks,BYVAL kstate,BYVAL x,BYVAL y) SHARED woType(1),woObjectTree&(1),tree&,commonobj SHARED woCancelObj(1),woIdx(1),woCur_edit(1),woclose&(1) STATIC cur_win,cur_wind,cont,new_edit,oldtree&,cur_front cur_win=wind_find(x,y) cur_wind=WhichWindow(cur_win) IF woType(cur_wind)<> woTform THEN EXIT FUNCTION oldtree&=tree& SelectTreeAddr woObjecttree&(cur_wind) cont=-1 new_edit=objc_find(tree&,0,10,x,y) IF button=1 or curob_flags(new_edit,mask_editable)<>0 THEN junk=wind_get(0,WF_TOP,cur_front,junk,junk,junk) IF cur_win<>cur_front THEN SelectTreeAddr oldtree& EXIT FUNCTION END IF END IF IF new_edit=-1 THEN new_edit=0 ELSE cont=xform_button(cur_win,new_edit,new_edit) IF new_edit=wocur_edit(cur_wind) THEN move_cursor woIdx(cur_wind),new_edit,x,0 END IF END IF IF (cont<>0) AND (new_edit<>0 AND new_edit<>wocur_edit(cur_wind)) THEN junk=objc_edit(tree&,wocur_edit(cur_wind),0,woIdx(cur_wind),3) END IF IF cont=0 THEN commonobj=new_edit CloseAwindow cur_win commonobj=-1 ELSE IF new_edit<>0 AND wocur_edit(cur_wind)<>new_edit THEN wocur_edit(cur_wind)=new_edit move_cursor woIdx(cur_wind),new_edit,x,-1 new_edit=0 END IF END IF SelectTreeAddr oldtree& END FUNCTION FUNCTION ProcessFormKey(BYVAL key_pressed,BYVAL kstate) SHARED woType(1),woObjectTree&(1),commonobj SHARED woExit_obj(1),woIdx(1),woCur_edit(1),wocancelobj(1) STATIC cur_front,cur_wind,cont,new_edit,oldtree& STATIC old_curpos ProcessFormkey=0 junk=wind_get(0,WF_TOP,cur_front,junk,junk,junk) cur_wind=WhichWindow(cur_front) IF woType(cur_wind)<> woTform THEN EXIT FUNCTION oldtree&=tree& SelectTreeAddr woObjecttree&(cur_wind) cont=-1 IF kstate=8 OR key_pressed=&h6100 THEN new_edit=formcuts(key_pressed,woCancelObj(cur_wind)) if new_edit then ProcessFormKey=-1 IF new_edit THEN cont=xform_button(cur_front,new_edit,new_edit) ELSE cont=xform_keybd(wocur_edit(cur_wind),kstate,new_edit,key_pressed,woIdx(cur_wind)) IF key_pressed THEN old_curpos=woIdx(cur_wind) junk=objc_edit(tree&,wocur_edit(cur_wind),key_pressed,woIdx(cur_wind),2) IF old_curpos<T>woIdx(cur_wind) THEN ProcessFormKey=-1 END IF END IF IF (cont<>0) AND (new_edit<>0 AND new_edit<>wocur_edit(cur_wind)) THEN junk=objc_edit(tree&,wocur_edit(cur_wind),0,woIdx(cur_wind),3) END IF IF cont=0 THEN commonobj=new_edit CloseAwindow cur_front commonobj=-1 ELSE IF new_edit<>0 AND wocur_edit(cur_wind)<>new_edit THEN wocur_edit(cur_wind)=new_edit junk=objc_edit(tree&,new_edit,0,woIdx(cur_wind),1) new_edit=0 END IF END IF SelectTreeAddr oldtree& END FUNCTION SUB KeyboardEvent(BYVAL key_pressed,BYVAL kstate) SHARED menus_enabled,keys_enabled,forms_enabled IF forms_enabled THEN IF ProcessFormKey(key_pressed,kstate) THEN EXIT SUB END IF IF menus_enabled THEN IF CreateshortCut(key_pressed) THEN do_message ELSE IF keys_enabled THEN ' process keystrokes that aren't menu items ProcessKeys CHR$(key_pressed AND 255),key_pressed,kstate END IF END IF ELSEIF keys_enabled THEN ' process keystrokes ProcessKeys CHR$(key_pressed AND 255),key_pressed,kstate ' otherwise ignore keys END IF END SUB 'The New Toolbox's main loop SUB xHGTloop STATIC ev,key_pressed,clicks,x,y,kstate,button STATIC mclicks,mmask,mstate SHARED finished_flag,Mess(1),clicks_enabled,keys_enabled,menus_enabled,forms_enabled REDIM mess(7) SHARED mouse_detect_both IF mouse_detect_both THEN mclicks=258 mmask=3 mstate=0 ELSE mclicks=2 mmask=1 mstate=1 END IF finished_flag=0 DO junk=wind_update(END_UPDATE) ev=evnt_multi(MU_MESAG+MU_KEYBD+MU_BUTTON,mclicks,mmask,mstate, _ 0,0,0,0,0,_ 0,0,0,0,0,_ VARPTR(mess(0)),0,_ x,y, _ button,kstate, _ key_pressed,clicks) junk=wind_update(BEG_UPDATE) IF ev AND MU_KEYBD THEN KeyboardEvent key_pressed,kstate IF ev AND MU_MESAG THEN do_message END IF IF ev AND MU_BUTTON THEN IF forms_enabled THEN IF NOT ProcessFormClicks(button,clicks,kstate,x,y) THEN IF clicks_enabled THEN ProcessClicks clicks,kstate,x,y END IF ELSE IF clicks_enabled THEN ProcessClicks clicks,kstate,x,y END IF END IF LOOP UNTIL finished_flag END SUB FUNCTION popable(BYVAL obj) STATIC disabled,hidden disabled=curob_state(obj,mask_disabled) hidden=curob_flags(obj,mask_hidetree) IF (NOT (disabled OR hidden)) THEN popable=-1 ELSE popable=0 END IF END FUNCTION FUNCTION pop_keybd(BYVAL k,finished_pop) STATIC last_obj,sel_obj last_obj=0 sel_obj=0 DO INCR last_obj IF curob_state(last_obj,mask_selected) THEN sel_obj=last_obj LOOP UNTIL curob_flags(last_obj,mask_lastob) SELECT CASE k CASE &h5000 INCR sel_obj IF NOT popable(sel_obj) THEN INCR sel_obj CASE &h4800 DECR sel_obj IF NOT popable(sel_obj) THEN DECR sel_obj CASE &h1C0D:finished_pop=-1 CASE &h6100:pop_keybd=-1:finished_pop=-1:EXIT FUNCTION CASE &h4700:sel_obj=1 CASE &h4737:sel_obj=last_obj END SELECT sel_obj=MAX(1,MIN(sel_obj,last_obj)) pop_keybd=sel_obj END FUNCTION SUB DeselectObject(BYVAL obj) STATIC state state=getob_state(obj) junk=objc_change(tree&,obj,0,0,0,0,state AND (NOT mask_selected),1) END SUB SUB SelectObject(BYVAL obj) STATIC state state=getob_state(obj) junk=objc_change(tree&,obj,0,0,0,0,state OR mask_selected,1) END SUB SUB objc_rect(BYVAL obj,x,y,w,h) junk=objc_offset(tree&,obj,x,y) w=getob_width(obj) h=getob_height(obj) END SUB FUNCTION do_popup(BYVAL old_obj) STATIC mx,my,new_obj STATIC objx,objy,objw,objh,ev,k,finished_pop STATIC boxx,boxy,boxw,boxh,mu_flag,flag2 finished_pop=0 new_obj=old_obj IF old_obj THEN objc_rect old_obj,objx,objy,objw,objh ELSE objw=0:objh=0 END IF objc_rect 0,boxx,boxy,boxw,boxh mu_flag=MU_M2 flag2=0 DO ev=evnt_multi(MU_BUTTON+mu_flag+MU_KEYBD,257,3,0,_ 1,objx,objy,objw,objh,_ flag2,boxx,boxy,boxw,boxh,_ 0,0,_ mx,my,0,0,k,0) IF ev AND MU_KEYBD THEN new_obj=pop_keybd(k,finished_pop) IF ev AND MU_M2 THEN flag2=flag2 XOR 1 mu_flag=mu_flag XOR MU_M1 IF flag2 THEN objw=0:objh=0 ELSE IF old_obj THEN DeselectObject old_obj old_obj=0 END IF END IF END IF IF ev AND MU_M1 THEN new_obj=objc_find(tree&,0,10,mx,my) IF new_obj>0 THEN objc_rect new_obj,objx,objy,objw,objh END IF IF ev AND MU_BUTTON THEN IF flag2=0 THEN new_obj=-1 finished_pop=-1 END IF IF new_obj<>old_obj AND new_obj>0 THEN IF popable(new_obj) THEN SelectObject new_obj IF old_obj THEN DeselectObject old_obj END IF old_obj=new_obj ELSE new_obj=0 END IF END IF LOOP UNTIL finished_pop IF old_obj THEN exclob_state old_obj,mask_selected IF new_obj>0 THEN do_popup=new_obj ELSE do_popup=0 END IF junk=evnt_button(0,3,0,0,0,0,0) 'wait for button release END FUNCTION FUNCTION popup(BYVAL wind_handle,BYVAL treenum,BYVAL oldpop,BYVAL x,BYVAL y) STATIC w,h,pop,oldtree&,winx,winy,winw,winh,top,hcell,button STATIC dskx,dsky,dskh,dskw,x1,y1,w1,h1,add& 'junk=evnt_button(0,3,0,0,0,0,0) 'wait for button release junk=wind_update(1)  junk=wind_update(3) junk=wind_get(0,WF_WORKXYWH,dskx,dsky,dskw,dskh) IF wind_handle THEN junk=wind_get(wind_handle,WF_WORKXYWH,winx,winy,winw,winh) intersection dskx,dsky,dskw,dskh,winx,winy,winw,winh,x1,y1,w1,h1 ELSE x1=dskx:y1=dsky:w1=dskw:h1=dskh END IF oldtree&=tree& selecttree treenum IF oldpop THEN inclob_state oldpop,mask_checked+mask_selected junk=graf_handle(junk,hcell,junk,junk) y=y-((oldpop-1)*hcell) END IF w=getob_width(0)+4 h=getob_height(0)+4 IF x+w>x1+w1 THEN x=x1+w1-w-1 ELSEIF xy1+h1 THEN y=y1+h1-h-1 ELSEIF y>16) AND &hff IF border>127 THEN border=border-256 CASE G_BUTTON: border=-1 IF getob_flags(obj) AND mask_default THEN DECR border IF getob_flags(obj) AND mask_exit THEN DECR border CASE ELSE: border=0 END SELECT IF border>=0 THEN offset=0 ELSE offset=border:border=-border IF getob_state(obj) AND mask_outlined THEN IF offset>-3 THEN offset=-3 END IF x=x+offset y=y+offset w=w-offset*2 h=h-offset*2 IF aes_version>=&H340 THEN ' 3D stuff available mask3d= getob_flags(obj) and mask_3d if mask3d=fl3dind or mask3d=fl3dact then junk=objc_sysvar( 0,AD3DVALUE,0,0,w1,h1) x=x-w1 y=y-h1 w=w+w1*2 h=h+h1*2 end if end if IF getob_state(obj) AND mask_shadowed THEN w=w+border*2 h=h+border*2 END IF END SUB#'needs toolbox.bas ' Returns the object number of this object's parent or -1 if it is the root FUNCTION GetParent(VAL index) STATIC nextindex IF Index=0 THEN GetParent=-1 ELSE DO nextindex=Getob_next(index) IF Getob_tail(nextindex)=index THEN EXIT LOOP index=nextindex LOOP GetParent=nextindex END IF END FUNCTION ' returns TRUE if PossChild is a child (or the same as) Parent ' in tree ObjTree. FUNCTION IsChild(VAL parent, VAL PossChild) STATIC current IF parent=0 THEN ischild=-1:EXIT FUNCTION current=PossChild DO IF current=parent THEN IsChild=-1 EXIT LOOP END IF current=GetParent(current) IF current<0 THEN IsChild=0 EXIT FUNCTION END IF LOOP END FUNCTION FUNCTION too_deep(BYVAL start,BYVAL obj,BYVAL depth) STATIC how_deep IF depth=10 OR depth=0 THEN too_deep=0 EXIT FUNCTION END IF how_deep=0 DO obj=getparent(obj) INCR how_deep LOOP UNTIL obj=-1 OR obj=start IF how_deep>depth THEN too_deep=-1 ELSE too_deep=0  END FUNCTION 'work out which objects need underlines SUB show_cuts(BYVAL object,BYVAL depth) STATIC i,type,flags SHARED sysfont_h,sysfont_w graf_mouse 256,0 junk=graf_handle(sysfont_w,sysfont_h,0,0) i=object DO type=getob_type(i) flags=getob_flags(i) IF type AND &hFF00 THEN 'it's xtended type IF flags AND (mask_selectable OR mask_exit OR mask_touchexit) THEN 'if it selectable,exit... IF (flags AND mask_hidetree)=0 THEN 'and not hidden IF NOT too_deep(object,i,depth) THEN 'if obj depth is within requested depth IF ischild(object,i) THEN work_underline i,type 'underline it END IF END IF END IF END IF INCR i LOOP UNTIL depth=0 OR (flags AND mask_lastob) graf_mouse 257,0 END SUB ' extract a te_just record FUNCTION Gette_just(BYVAL object) STATIC t& t&=Getob_spec&(object) gette_just=PEEKW(t&+te_just) END FUNCTION ' extract a te_font record FUNCTION Gette_font(BYVAL object) STATIC t& t&=Getob_spec&(object) gette_font=PEEKW(t&+te_font) END FUNCTION 'workout location for underline SUB work_underline(BYVAL obj,BYVAL type) STATIC x,y,w,h,text$,chpos,text_w,char_h,char_w,x2,just,ch_x,ascii SHARED sysfont_h,sysfont_w ascii=type\256 'this is the ascii code type=type AND &hFF 'clean type char_h=sysfont_h:char_w=sysfont_w 'char dimension IF type=G_BUTTON OR type=G_STRING THEN 'get text string in object text$=getob_spec$(obj) ELSEIF type=G_TEXT OR type=G_BOXTEXT THEN text$=gette_ptext$(obj) IF gette_font(obj)=5 THEN char_h=6:char_w=6 'if small font change char dimensions ELSE EXIT SUB END IF junk=objc_offset(tree&,obj,x,y) 'get objct co-ordinates w=getob_width(obj) h=getob_height(obj) text_w=LEN(text$)*char_w 'text width chpos=INSTR(UCASE$(text$),UCASE$(CHR$(ascii))) 'find char in objct IF chpos THEN 'if found ch_x=(chpos-1)*char_w 'find x offset of char IF type=G_BUTTON THEN x=x+(w-text_w)\2+ch_x ELSEIF type=G_TEXT OR type=G_BOXTEXT THEN just=gette_just(obj) SELECT CASE just CASE=2:x=x+(w-text_w)\2+ch_x CASE=0:x=x+ch_x CASE ELSE:x=x+w-text_w+ch_x END SELECT ELSEIF type=G_STRING THEN x=x+ch_x END IF y=y+(h-char_h)\2+char_h-1 'find y IF (getob_flags(obj) AND mask_3d)=fl3dact THEN IF aes_version>=&h340 THEN DECR x 'activator END IF x2=x+char_w-1 draw_underline obj,x,y,x2 END IF END SUB SUB draw_underline(BYVAL obj,BYVAL x1,BYVAL y1,BYVAL x2) STATIC p() REDIM p(3) p(0)=x1:p(1)=y1:p(2)=x2:p(3)=y1 IF Curob_state(obj,mask_selected) THEN vsl_color 0 IF (getob_flags(obj) AND mask_3d)=fl3dact THEN IF aes_version>=&h340 THEN vsl_color 1 END IF ELSE vsl_color 1 END IF v_pline 2,p() END SUB FUNCTION xform_keybd(BYVAL cur_edit,BYVAL kstate,new_edit,kr,idx) STATIC valid$,nkr SELECT CASE kr CASE=&h4b34 'shift+left junk=objc_edit(tree&,cur_edit,kr,idx,3) idx=0 junk=objc_edit(tree&,cur_edit,kr,idx,3) kr=0 xform_keybd=1 CASE=&h4d36 'shift+right junk=objc_edit(tree&,cur_edit,kr,idx,3) junk=objc_edit(tree&,cur_edit,kr,idx,1) kr=0 xform_keybd=1 CASE ELSE IF kr=&h5032 OR kr=&h4838 THEN kr=kr AND &hFF00 'shift+up/down cursor fix IF kr=&h0f09 AND (kstate AND 3) THEN kr=&h0f00 'backtab xform_keybd=form_keybd(tree&,0,cur_edit,kr,new_edit,kr) END SELECT END FUNCTION SUB xobjc_change(BYVAL object,BYVAL x,BYVAL y,BYVAL w,BYVAL h,BYVAL newstate,BYVAL flag) junk=objc_change(tree&,object,x,y,w,h,newstate,flag) vs_clip 1,x,y,w,h IF flag THEN show_cuts object,0 END SUB SUB xobjc_draw(BYVAL object,BYVAL depth,BYVAL x,BYVAL y,BYVAL w,BYVAL h) STATIC inf() REDIM inf(5) junk=objc_draw(tree&,object,depth,x,y,w,h) vql_attributes inf() vsl_type 1:vswr_mode 1:vsl_ends 0,0:vsl_width 1 IF x>0 AND y>0 AND w>0 AND h>0 THEN vs_clip 1,x,y,x+w-1,y+h-1 show_cuts object,depth 'vs_clip 0,0,0,0,0 vsl_type inf(0):vsl_color inf(1):vswr_mode inf(2) vsl_ends inf(3),inf(4):vsl_width inf(5) END SUB 'there was an alt+keypress, check if any object fits FUNCTION formcuts(BYVAL keypress,BYVAL undo_obj) STATIC i,xtype,ascii IF keypress=&h6100 THEN formcuts=undo_obj EXIT FUNCTION END IF ascii=convertalt(keypress AND &hFF00) FOR i=1 TO 255 xtype=getob_type(i)\256 IF ascii=xtype THEN formcuts=i EXIT FOR ELSE formcuts=0 END IF IF curob_flags(i,mask_lastob) THEN EXIT FOR NEXT i END FUNCTION FUNCTION xform_do(BYVAL new_edit,BYVAL exit_obj,button) STATIC cont,cur_edit,idx,ev,x,y,br,kr,kstate STATIC mclicks,mmask,mstate,old _edit SHARED mouse_detect_both junk=wind_update(1) junk=wind_update(3) IF mouse_detect_both THEN mclicks=258 mmask=3 mstate=0 ELSE mclicks=2 mmask=1 mstate=1 END IF cont=1 old_edit=0 cur_edit=0 WHILE cont IF new_edit<>0 AND cur_edit<>new_edit THEN cur_edit=new_edit new_edit=0 junk=objc_edit(tree&,cur_edit,0,idx,1) END IF ev=evnt_multi(mu_keybd+mu_button,mclicks,mmask,mstate,_ 0,0,0,0,0,_ 0,0,0,0,0,_ 0,0,_ x,y,button,kstate,kr,br) IF ev AND mu_keybd THEN IF kstate=8 OR kr=&h6100 THEN new_edit=formcuts(kr,exit_obj) old_edit=new_edit IF new_edit THEN cont=form_button(tree&,new_edit,br,new_edit) ELSE cont=xform_keybd(cur_edit,kstate,new_edit,kr,idx) IF kr THEN junk=objc_edit(tree&,cur_edit,kr,idx,2) END IF END IF IF ev AND mu_button THEN new_edit=objc_find(tree&,0,10,x,y) IF new_edit=-1 THEN BEEP new_edit=0 ELSE old_edit=new_edit cont=form_button(tree&,new_edit,br,new_edit) END IF END IF IF (NOT cont AND (new_edit<>0 AND new_edit<>cur_edit)) THEN junk=objc_edit(tree&,cur_edit,0,idx,3) END IF IF old_edit THEN IF getob_type(old_edit) AND &hFF00 THEN IF curob_flags(old_edit,mask_rbutton) THEN old_edit=getparent(old_edit) END IF show_cuts getparent(old_edit),10 END IF END IF WEND junk=wind_update(2) junk=wind_update(0) xform_do=new_edit END FUNCTION ' a general routine to produce a dialog box and handle interaction ' the return result is the exit object number ' button will contain the button state on exit ' if the global variable mouse_detect_both is non-zero FUNCTION xHandleDialog(BYVAL editnum,BYVAL exit_obj,button) STATIC x,y,w,h,but form_center tree&,x,y,w,h form_dial FMD_START,0,0,0,0,x,y,w,h 'form_dial FMD_GROW,x+w\2,y+h\2,0,0,x,y,w,h xobjc_draw 0,10,x,y,w,h but=xform_do(editnum,exit_obj,button) AND &h7fff 'form_dial FMD_SHRINK,x+w\2,y+h\2,0,0,x,y,w,h form_dial FMD_FINISH,0,0,0,0,x,y,w,h IF curob_state(but,mask_selected) THEN Exclob_state but,mask_selected END IF xHandleDialog=but END FUNCTION 'sets the keyboard shortcut for an object SUB Setob_scut(BYVAL object,BYVAL ch$) POKEB ObjectAddr&(object)+ob_type,ASC(UCASE$(ch$)) END SUB  .  e..  ABC BAS  f DEMO BAS  hW HANOI BAS  lJACK SCR  o}JACKMED SCR  }SPIRALS BAS # tWINDOWS BAS & DEMO PRG  XREM A general version of the GEM example REM in the HiSoft BASIC 2 manual. REM This should work in any resolution. defint a-z library "gemvdi" REM Length of the box, depth (skew) and letter height const length=50,skew=20,ch_height=32 b$="HiSoft BASIC 2" dim ch(7) 'REM Draws a 3D box with top left at (x,y) 'REM and places the letter ch$ in the centre SUB draw_box (BYVAL x,BYVAL y,BYVAL ch$) LOCAL pts(11) shared ch_x,ch_y pts(0)=x : pts(1)=y pts(2)=x+skew : pts(3)=y-skew pts(4)=x+length+skew : pts(5)=y-skew pts(6)=x+length+skew : pts(7)=y+length-skew pts(8)=x+length : pts(9)=y+length pts(10)=x : pts(11)=y+length v_fillarea 6,pts() pts(2)=x+length : pts(3)=y pts(4)=x+length+skew : pts(5)=y-skew v_pline 3,pts() pts(0)=x+length : pts(1)=y+length v_pline 2,pts() v_gtext x+(length-ch_x)/2, y+(length+ch_y)/2, ch$ end sub REM Initialisation. Works out the window size and REM sets up global variables accordingly. REM Also works out the character heighYt and therefore REM where to position the b_string string. sub init STATIC xmax, ymax, wx, wy, ww, wh, b_width, b_height local ch(7) shared xstart, ystart, b_x, b_y, ch_x, ch_y, b$ WINDOW GET 2,1,wx,wy,ww,wh xmax=ww-wx : ymax=wh-wy xstart=xmax/2-(2*length+length/6+skew)/2 ystart=ymax/2 vsf_color 1 vsf_interior 0 vst_height ch_height vqt_extent "A",ch() ch_y=ch(7)-ch(1) ch_x=ch(2)-ch(0) b_width=len(b$)*ch_x b_height=ch_y b_x=xmax/2-b_width/2 b_y=ystart+length+3*b_height/2 end sub REM Initialise variables etc. init REM Draw 3 boxes with B, C and A in them. draw_box xstart,ystart,"B" draw_box xstart+7*length/6,ystart,"C" draw_box xstart+7*length/12,ystart-7*length/6,"A" REM Draw the title string. v_gtext b_x,b_y,b$ REM A Demonstration Program showing screen blitting in HiSoft BASIC 2 ' Run the program, then use the mouse to select a section of the ' picture, by clicking on the top left and dragging down and to ' the right. The section will spin round the screen. Press any key to ' pause it, or Ctrl-C to break out ' needs medium or high res library "gemaes","gemvdi","xbios" rem $option b+ ' break checks on (Ctrl-C) defint a-z ' define integers as default CONST transparent=2 window off ' program controls events not BASIC window fullw : cls ' make GEM window fill screen dim g(17000) ' for the image res=peekw(systab) ' get screen resolution if res=4 then dummy=form_alert(1,"[3][This doesn't run in|low res][ Quit ]") system end if screen_height=400\res screen_width=640 GrabRect g(),w,h ' grab an image if res=1 then ch=13 margin=136 '120 ystep=20 else ch=6 margin=134 '118 ystep=15 end if vst_height ch cls vswr_mode transparent ' write out the HiSoft BASIC messages on the side of the screen for i=ystep to screen_height step ystep if i mod 2*ystep then vst_effects 2 'light intensity i.e. grey else vst_effects 0 'normal intensity v_rbox 0,i-ystep,margin-5,i ' rounded rectangle end if v_gtext 10,i-5,"HiSoft BASIC 2" ' the text next i vst_effects 0 'back to normal mouse -1 ' hide mouse ' now rotate the image around the screen xradius=(screen_width-w-margin)\2 yradius=(screen_height-h-18)\2 a$=" Compiled with HiSoft BASIC 2 Press SPACE for options" show_text a$ repeat forever for theta!=0 to 2*3.14159 step 0.1 put (xradius+margin+xradius*cos(theta!),yradius+yradius*sin(theta!)),g,pset if inkey$=" " then call checkstop next theta! end repeat forever SUB checkstop STATIC local click,bl mouse 0 ' show mouse, arrow form click=form_alert(1,"[3][ |Blitter Demo Program][ Quit | On | Off ]") select on click =1: system =2: bl=blitmode(-1) AND 2 'bl=non zero if blitter attached if bl then bl=blitmode(1) else click=form_alert(1,"[1][ |Sorry, no blitter!][ Shame ]") end if =3: bl=blitmode(0) end select mouse -1 ' hide mouse END SUB ' this loads a screen image, and lets you select it ' it returns the result in the array, together with the ' width and height SUB GrabRect(image%(1),w%,h%) SHARED res,text_x,text_y STATIC x,y,a mouse -1 ' hide mouse if res=2 then BLOAD "\tutorial\jackmed.scr",logbase& ' load picture else BLOAD "\tutorial\jack.scr",logbase& ' load picture end if show_text "Select an area by clicking and dragging" mouse 4 ' mouse=hand a= Evnt_button(1,1,1,x,y,0,0) ' wait for single click on left Graf_Rubberbox x,y,10,10,w,h ' and select a box linef x,y,x+w,y: linef x+w,y,x+w,y+h ' draw a box around it linef x+w,y+h,x,y+h: linef x,y+h,x,y ' using ST BASIC graphic calls get (x,y)-(x+w,y+h),image% ' and Grab it END SUB SUB show_text(a$) SHARED screen_height,screen_width STATIC x LOCAL junk(7) vqt_extent a$,junk() x=(screen_width-junk(2)-junk(0))\2 v_gtext x,screen_height-2,a$ END SUB ' The Towers of Hanoi program in HiSoft BASIC ' Doesn't work too well in low res LIBRARY "gemvdi" REM $option V DEFINT a-z CONST max_rings=25 CONST left=1,middle=2,right=3 CONST pole1=110,pole2=320,pole3=530 CONST space=50 CONST max_width=200 CONST gap=10 full_height=400\peekw(systab) 'mono or medium-rez only DIM SHARED highest(3) SUB draw_ring(which_pole,size,type,start) SHARED ring_height,full_height STATIC xstart,ystart VSF_INTERIOR type SELECT CASE which_pole CASE=1 xstart=pole1-(size)\2 CASE=2 xstart=pole2-(size)\2 CASE=3 xstart=pole3-(size)\2 END SELECT ystart=full_height-space-start*ring_height IF type=0 THEN VR_RECFL xstart,ystart,xstart+size,ystart+ring_height-2 ELSE V_BAR xstart,ystart,xstart+size,ystart+ring_height-2 END IF END SUB SUB realmove(val source, val destination) SHARED poles(2) STATIC ring_width,ystart ring_width=poles(source,highest(source)) 'erase source ring draw_ring source,ring_width,0,highest(source) poles(source,highest(source))=0 DECR highest(source) 'draw destination ring INCR highest(destination) poles(destination,highest(destination))=ring_width VSF_STYLE highest(destination) draw_ring destination,ring_width,2,highest(destination) END SUB SUB move(val howmany, val source, val work, val destination) IF howmany<=1 THEN realmove source,destination ELSE move howmany-1,source,destination,work realmove source,destination move howmany-1,work,source,destination END IF END SUB 'The actual start DO LOCATE 1,2 INPUT "Number of rings to move: ",num_rings LOOP UNTIL num_rings>1 AND num_rings<=max_rings ring_height=(full_height-2*space)\max_rings MOUSE -1 'turn mouse off WINDOW OPEN 2,"The Towers of Hanoi in HiSoft BASIC",0,18,640,full_height-18,1 VSF_COLOR 1 DIM SHARED poles(3,num_rings) 'initialise first pole FOR i=1 TO num_rings poles(1,i)=max_width-(i-1)*(max_width\num_rings) NEXT i FOR i=1 TO num_rings VSF_STYLE(i) highest(1)=i draw_ring 1,poles(1,i),2,highest(1) NEXT i tm!=TIMER move num_rings,left,middle,right print num_rings;"rings moved in";TIMER-tm!;"seconds" BFB B B B @ @ `? @3 " U0!( * `)$$ AH B@"$@BA$A$A U P  D) * I& @ HB@ @*@@P* T !$H $$ @ A$J@B@"A T (,@   B' !!$% P@*! $B@% !I$D)R B! A!AA AR H'H E" ( BDH$D$HJ @("Q R'H D$ *%   "@!!AD D @&@A@D J (" H@I!) ""(@$!DA@J D P)@@"DA I'@ A" $) @  AB @%DD T@ @%DAPR P)"  " R  J!$DA@@!D@ P@ @A&D% E 4 %@""  E  AB  D@Q"H P@@ @ !!   D R'   $"TU" H@@@P )Q "@ ( $ B$$ * R@  @I PPR H'@PABUJJ !H@$!DB @ ( T)"@"$@ "" P$'  @@$( I' $"@PD %@@ H@  DA@R$ PE  D"AH@ R I A")@  $"  D @@(H@ "$ QB * D"PR I@@ @" T $@B!()E@$ R@ ! A(@R P   @@" H" TJ J (AB A!B% (H$A % $IT T@D"@$) R@ @B$I "   @@@  @ PI HAPP@@ H*Q$ T@PJ@ @@@"@BT$ T(Q D I!  A! @! P DP)T")J T@@$QB $T$ T ! IT!@B$  A  "P D @@PDBR@RI T@$@D@P  E % QH( @  (D% I  $ UEI%U!P"DRR $@ ! P ^ "@ $ B RRD  *D*IU" P BHQ( U`  @B@!" JTT I@ ( @"$BWh   HAP $ ""i H@P$"P*Q%% U P(PHRBU@"$DJT R  @R)Z@@(T! HB J"P$%H+[!@$*Q(R %HDTT A@*I*J PET(QR@ $ (( R@JUJR@ D$@@PP H  D$IJ@JB@HJ % E BU*@ ()B ) PI JUHRUBB$ A@BH JAAHBДV@"@I @ IJ ) E(P*ZJBR " D @%@U"% T"$$E@I*)J@D "A R HD@ HU$P@@ QPT R "*U)U!PjU$$A P$J R?DTU DEBHJ AP*P%E) H@]B ())JQQ$ %*Q*$)"!IPUHDI$$@DB( P IE(@B"I !A@JDJR H)T )JR@$QUIHI %jRT(J)JIJ@Q@Q%% Pj$D@R)* A R J@  TJ@@ @@PJJ $JRJ!"JTH @ @BB $) QTJU@(JUJ !( AAU% Hz*D BJ)J$ D@ D"(P $R(T R(J "B R PJRH*I("@!T QB J@ԩU*HP  ERRID HJ $II) ! jT%$@DJR%RD $@DRDD$ TjR%H(JTJ @DA@$ D%"B PR"JR"R)R H @ * ;%JJR$B*T*I@ @IA"HBT T$@U*) )(UJ%@$ D((R!)"E P jTTJUJR@A@ H* *UJTBJ*RHP@A(RT @ UZRQ)R$TJU@ @  @P%! "E P jJT*UUUR!I*@ AD) * ZU)IB$JUJ  UHPT D UURT)T)U*RTT DTJ)A"R QUU"U%BUJUJ! AH (U A*  (JD)TIQ%   $(P@!(T D UUUU**DUR $RB "I QVRIBJUTTB$HH)@ %I% (@TDI)URR)@)"PJ$ Dm[URI$$EU*R@@@@(BU RJR PmUUT"$*@$% %IT *RT$IU)B)! @$% @תUT%ETU$* @!@ IJ(RRT J TZT*I@URUQT$( UJ {UjJ*JRD* !@ T*!* DUIT!U!*UUTBI @)"R QMUTBDUUZRR D $ P*RJ (Z)JTU_U*IU@ $$@(RU) @^ꪔIARURjJj@I((EE"HD TjڪJ)MU[~@"@I* ( $խUkUTJoT !@I!U* A WvURJZ҅UZ@@ D$U  PS}Z֪*U)RVUk*R %J R"TU *Ujuj+VI"@ "@J **ET @UVժԪIT@@ ($B%* PUw|JVR ! R%H!I *V߻j__*@T(H@D*U @ZZj~TA @$P*"RRR PkWkWRT"@ H$ JJ *-}}U}J R(@BI)% @5_VnU%R @ "BA P@  *($ PַZZ%JA$ ("IQR *{ZߺZPID@UDRIJ @[]^{VjJ@@"I(  PI%% U  {UUU@@ $Q (* D$U P*VRR I@UDIP B@]K{URP DB (%RI* (ꕭUUHP D (@$B $ PU_kk$mj*U !@ )$I B[k{U*յZJHB$PB$JP) (߭jֺjRЀ DQ ! EHBI(J P쵵WoZoVUK@@ ($* B_}[TI*mRA)H"BD%JR ([UjU*UUI$ R P$ZJ PoVmwjjR$! *@)) R /JժTMRA@@PB((B@ JA*% H:իUVJRTJA!J$!U* $@/VZJUU")"B!D%RR QZ%%jUJJ $@ EB*JR PTVTU$D Q*)J $ }jRURTRD ! @ H($P H  UZ!jJPHB $QUT$J RRTU j E)B $DP@ E)JR UJRU [U H"HP$)J I@JUToV֤B@ PE ) P)UZD@)@ UUZ $kUTVR֫UUJEMI(($@ HڪZ*UZUj$(@@HB( *JJ R@RTRUmD$B Q IU%)) ڵUJRJ֭JN(AA% I [U*֪UUmRB A "T$ JBT TnR_ZU+ߪ֥HH @!PR@IR)R ֪uUTW[Q)@ "HH H%  R ZUVzmTW @$( Di T mkUV_ZݯP$*PQ) DjkmkUIDH@ D P ֪ݫ_vBWB @$ U$ %+z_kW]ڮkRRJ)A(R THVm^u_j @ $H *P@*JJ PVmu[UIj"%RT)) % ZګvkVUH%! A  @*ED PUjWڮT @A@@)T T^]kkUoUT@H @@R JR PҵwUZD@@PT)* JHwZWJ*"AB@  (@ Ue^ݽW뿷kRHD) DJE e ]j꺷^{UHU@@A IJ*YT T$@rRUZUV  T PE* PI}_Wj*D! !!BR$ JH VooյP@I *BPQ (*ҴZVֵBUUT@"  @HBI% R  R[k{ZթT$ A!($$ R%mQ]{^omMkZBDRJR HHkխjJRJ"$@@BHTQP%RI" $KR6z~-kRJ  ( $ U *QZҵVKZ@-P@DI D@  P"DZֵz֭ukVDHP @TQRJ TQZիZZրT H@T (҇ UA*Zk_kVkZԩ@D ADB"I PUDE)[UjjխkkB     %)P) J @ UQ [֪mVW URR !ED )**TZjjҵ JJ TPB R PUB*]kV_Z׫Z꺅(@"$"@Q$DR TT[kw}UkWPR A(HBII $" (+UUERBI$  J$ RTn֮ZZ%PJ%DBA H HT R*T*kZkUUv!)!%@ U $IJ ($R(WkZZzDTD*J"$)%) URJkUjRRR@@@ @T QP @ )*ֵZUUkW JB" U$JRJ TP ֵkUUZ)*D@RJ()IU T@U Tu+Z֭U*kRB @ $U!%E) % *$H*UkZUR RIA!@@@UD@T$ P*%jTU褨JJE% P Q T"TݵURj(H($D@$@*TT U U J֭VVտBT%!PB@@ABHIB RPH*K_ڵZֶU(@U@%P)%I) (DH*" (Im֫UZRR@@A * *$ U" %oZZ]R "QI* J@E@RP TQ @TZV֭wU (ETBAJ$ R QAH PDJR[U[uB( $$@TRJB U!*  ) w[{VTBAHJ))( T R "](B I   U @$)T RRZ Q T׶׵UwUB*Q )$PH!P@"BR UHU -@ EHJZA(P"T ))JI% U%IHJ @Ko^("R (*@U BP(%R T*t  %IOֿRBT**P%J UJz% J-/zRJAP BUIJ@ J UAU $/߿"" A@@*BJ Ut+ BTꨩJHA$HJ@( J v H@ } HT$H *!B*IRR R[UW, *_"DhD)P @%!J YOU "W%@PH%*$) i/ R@U/}{oBB RTJ JP T?@ )J$*@UJ(JAI$T%RJR T  _W%%EU ) I JJR U_ @M^Z{ȐUP"4 HDJH$I)J R_ @%oJT)"%%) Z H@~$*P( JJDEU@$ U/  VR%RJ H )@@P*TTJT Z@ Z_jP T@5TI@"BRR k@ * IHR%TD (H H U?  @ WI"E )IJU"*R W kտ$(P )(RIT(JF Z@ +V_*)I A)R@HRIR Wo JI@R*A AJJ%) k_@۫ߤ)@@J(*A"T@! R ZUԀ *koҀHED$I)BR$ R$( WRP EWo[TQ )RPT B $ TT) UoH"EJ T(JR$$ RL ]@Z(H%i)*@HPJ VEBjoBB$IP*!(U% PJU)Q V@ @KB}@"AHU AB"!$JE [ *_k (P$UJRP )( ZP@@UoUߠP")RHRP)UI%R g^H @"RԀ*)IiB@@R BB$J U  {kR(B T%%((T%(D) Z@P@@EUUW]iJP A*T!" %UJE% jT@R@B]}J! %)RRҕ H@*JI)T W UjD! )JQPT( B$ U@(RV@@!UDB*JBJI w @ !JUj*"BiTH TDHA!IRI( WP  UV۵BBIJP$HT) $ __ @ Jk[RH *"H DR k߀  @UJ! RjB%B "JJ W @ $ J*)@")RZ*(HJJ)(J W_^׭T *JR!*Q!II(I uKPPRZJBBA TJRQT(4 W_ QJ%k֩HDUA* *DJBBDZUB [DV%A!T!$T% J BUH(BE* kT"֮TPUhU("HJ)( Vt TTKZJH"TAT RJ%"%*D Wo@JU%Ioj֩) A !P*EI P PU(R }"%UJ"A%P@$ %HJ  W$D(*^RJ$EA"R$JT V RUJ BPAIU*RR) T T)HJT vh@U!U($JDJUI"H %A Y W_@RH )*jJD!*U$I@@ U"$D W DTPA *$JR$(R&%@"D u!$TREjꕪPP BI"P**PJ%Y _"UTDI U$ER@ "U( Vj (%(WڪI I*%BRTUH(TP u_ AU~j PJ R (HJR W  WPA(VII )"J% R VJ% "]-J@P @B@UU%E%TH"J u_D *ԯTJEH@ tR@II(R) ]  Vj@H TQJJ )RCJU! VZJA _U_U@ $$ ZDU@BDB!(I w_ Q@ {}H*JE*4HIR(%RT U !@ Q *RB@ HPBQ "$IB Z*@%/{Jґ*% R"UJII@! (J) k_U AD*_kJU (D UB5Q PJ$BHIEA$U w@@*${)"PD) VP$E%%TT@ U~J@ D D +RQ*KR!($ "$ n  %_}KE@Q*)DTmJRP*(JJR zZ*(JD@IU ($@*("I DEPE RJJ W_}J@D  BR$A  ҶBBHUTETII) m@P   mWڒ*D P(Q JւPI) )$ v$ I@Wm]jQAI@DIZ"U "J(JP VR@ B)R_/D"P(D*Z@$DIJJI j_J@ !  z*""QRB*TD$DE %$Q)* u^U  @J U"HB(S)BQD"DP$T U?H H !U[oRH@RDDJtR A! JQ h_JHkuiA"%)WҤHQH(A@"DRJJ h$ J T%@TPQ!)T IJH rRR @ARVIA@DPRթR TDAJ%Q)% R_ԊHJ@$$ZҵI  $J)IWu)UR@*"D$J hR@P+WޤU@ DkTT!(B*( u?JU@UP @ PUIjP DPڒ )UA(IU"I PI@RD(%(%J@@JRjJTRU@A$DI$  j"H%$Vځ$@( *յ)RB* P pJ J+jTADԥ)J)!P$ JJJ TR "U@RBIJRj! A)%I( t_ QBEU~V J@@%JժTT$ERB R a @ $PTҵUR %*JJ Z%T @@"kR$ JRQ(( @"J)( uU QA]UI DQ@@SZHDE ER U_omj@ u PP I%jI U%IJ Z~m j A A(JխT ($ H( jնj*@ (RHR@AD$ҵJEP J* UUUV*Q@Z%@TDR$S(P!BE%IJQ" UVUURJTI@UDJ A$KjڕI I $T$ tZUUJJT *@ (I$B A$"{RR$(J UKUV$U B@@$HBmJHUT"E*J$R"I U*RR@@@WhI PA@"()@H R H( TU*UR U  * @(PU$ @"J"ʵUR")"@ATQ* TjE*  @!@ *RJR D(D"ETD& RRR*@UҀ@H @AH"2jڪRR%B ZJJ*U@HJ$@$"Dr J"@"RYT UUTUHB A@Q@JD*JWjUJD T(HHB U**R@%@ Ҁ B ("%%UP@"%AQBR%$) T " R P*)@ E"J(T(HAE*IHR UHR*R" @@ (HWV)P"$$)$HR R%J@)@ D BH  R*%IUM֒BT( %(( ZE@P R"$H[URRIHB iHBUA$B@V@BE HUP( D HI$"JTT U*P @I ( P@)@$JժJA %$) T @ PADE %)R_@B$UHJ j$A  U) "D @@T J*WoUQ)(DA HJT"( URPH " DD$ JIPMJ) $J%)"T) UJJ HD @P %!AE* U Z.ߪ @ (*E" vJJE PJ$" @(@TIR_ZJ(!HTR Z!QPT$B@KDBD@@JU}kT  R@ *TE** kT DDBP *  IEP_JP BT%!JP mZTJ  "IPJR*U)BP($+U  }URURR@@U$D@A@H)JZ*BHH*T @ @ @ @ @ B B B B )L~``}UU`!!((  **BB@@= "$"$@@BBA$A$AA$A$A UUIIL  @@ H HBB@@ TT 6!! $$HH $ $$$ @@((X@@   PP@@R!! $$BB@@%%BBA  AA!!AAAA  ARAR((=BBDDH$H$DD$H$HJJRRMHH D D$$  **%%@@J@@AA@@DD""""N@@$$!!DADA@J@J DDIIM@@ AA"" $ $))TT@@9  @@%%DDAAPPRRJJ!!FDADA@@@@!!DD@@ PP@@44  I@@""""  PP0@@@@ @@ !!!!     DDHH8@@@@@P@P ))QQRR6 @@  @@II PPPPRR f !!HH5@@ $$!!DDB B @ @ ((PP$$M  @@@@$$((%%@@9@@ HH@@   DADA@@RR$$II= AA")")@ @ QQBB1** DD""PPRR$$@@9 BB!!(()E)E@@$$PP , @ @@@""  HH"" T TJJ 9((HH$$A A % % $I$ITTRR0@@ @@BB$$IIHH.AAPPPP @@@@ H H*Q*Q$$TT(()QQ DD  II!! TT@@(@@$$QQ BB $$TT$$AA  ,  "P"P D D @@@@PPDDBBRR@@RRIIQQ-HH(( @@  ( (DD%%$$@@* !! PP  ^^  "@"@ $$ BBPP- B BHHQ(Q( U`U`   @B@B@@!!" " JJTTTT$$) """"ii HH@P@P$"$"P*P*QQ%%%% UURR ) @@R)R)ZZ@@@@((TT!!%%)HDHDTTTT AA@@*I*I**JJRR@@(JJUJUJRR@@ D D$$@@@@PPPP%%, EE BBUU**@@ ()()BB ))JJ,AAAAHHBBДДVV @@""@@I I @@  IIJJTT"")$$$E$E@I@I*)*)JJ@@ DD " "AA  RR"")*U*U))UU!!PPjUjU$$$$AA PP$$JJHH@@(]]BB (())))JJ QQQQ$$PP (IIE(E(@@BB""II !!AA@@JJDDJJRR%%)jjRRTT((JJ))JIJIJJ@@QQ@@QQ%%%%JJ@@(   T TJJ@@@@ @ @@@PPJJJJQQ)TTJUJU@(@(JUJUJJ  !!((   AAAAUU%%$$&RR((T T RR((JJ "B"B RRJJ@@&ԩԩU*U*HPHP   E ERRRRIIDD  HHJJ  $$IIII))TT)jRjR%H%H((JTJTJJ @D@DAA@@$$  DD%%""BB%%)JJJRJR$$BB**TT*I*I@@  @@IIA"A"HHBTBTPP% jjTTTTJJUJUJRR@@AA@ @ HH**@@ &UUZZRRQ)Q)RR$$TTJUJU@@ @@    @@PP%!%! " "EE** %ZZUU)I)IBB$$JUJUJJ    UUHHPPTTQQ&UUUU""U%U%BBUJUJUJUJ! ! AAHH ( (UU A A**  DD &U****DDUUR R $$RRB B ""II((@@"TTDIDI))UURRRR)@)@ )")"PPJJ$$PP&mUmUUTUT""$$**@@$$% % %I%ITT@@&תתUUTT%%ETETUU$$**  @@!!@@ IIJ(J(RRRTRT JJ &{U{UjjJJ**JJRRDD** ! !@@  TT**!*!*QQ)MMUTUTBBDDUUUUZZRRRR  DD $$  PP*R*RJJ@@&^^ꪔIAIARURURRjjJJjj@@II((((EEEE"H"HDD$$)խUUkUkUTTJJooժTT !!@@I!I!U*U*PP)SS}Z}Z֪֪**U)U)RRVVUkUk*R*R  %%JJ R R""TTUU@@)UUVVժԪԪITIT@@@ @ (($$BB%*%***)VV׽߻߻jj׫____**@@TT((HH@@D*D*UUPP&kkWkWkWWRRTT""@@  H$H$ J JJJ@@)55__VVnnU%U%RR @ @ ""BABA  P@P@   * *(($$**){Z{ZߺߺݭZZPPIID@D@UUDDRIRIJJUU & {{UUUUUU@@@@  $$QQ  (*(*  DD$$UUBB@@&]]K{K{UURRPP DDBB ( (%%RRI*I*PP&UU__kkkk$$mmjj**UU ! !@@  )$)$II(()߯߭jjֺںjjRRЀ D DQQ ! !  EEHBHBII(J(JBB,__}}[T[TI*I*mmRARA)H)H""BBDD%%JJRRPP)ooVVmwmwjjjjRR$$!! **@)@)))HH,::իUUVVJJRRTTJJ AA!J!J$$!U!U**QQ)ZZ%%%%jjUJUJJJ $ $@@ EBEB*J*JRR$$) } }jjRRURURTTRRDD !!  @@ H H($($PPRR,RRTTU U jj E E)B)B $$DPDP@@ EE)J)JRRII@@)JJUTUToVoV֪֤B@B@ PPE E ))$$)kkUTUTVVRR֫֫UUUUJEJEMMII(((($$@@RR@@)RRTTRRUUmmDD$B$B  QQ  IUIU%)%)))II )[[UU**֪֪UUUUmmRRBB AA  " "T$T$ J JBBTT )֪֪uuUUTTWW[[Q)Q)@@ "H"HHH HH%%  TT  (mmkUkUVV__ZZݯݯPP$$*P*PQQ))PP )֪֪ݿݫ__vvBBWWBB @ @$$ UU$$TTHH)VVmm^^uu__jj @@  $$HH * *PP@@**JJJJ%% (ZZګګvvkkVVUHUH%%! ! AA  @*@*EEDDTT)^^]]kkkkUUoUoUTT@H@H @@@@RR J JRRJJHH"wZwZWWJJ**""AABB@@ ee &]]jj꺷^^{{UHUHUU@@@@A A I IJJ*Y*YTTPP&II}}__WWjj**DD! ! !!!!BBRR$$((%**ҴҴZZۿVVֵBBUUUUT@T@""   @@HHBIBI%%RR&%%mQmQ]{]{^^omomMkMkZZBBDRDRJJRR$$&KKRR66zz~~--kRkRJJ   (( $$PP""%DDZZֵzz֭֭ukukVVDDHPHP @@TTQQRJRJUUAA$**ZZkk__kVkVkZkZԩ@@D D AADBDB""IIJJ @ @$ U UQ Q [[֪mVmVW W UURRRR !!EEDDPP%UUBB**]k]kVV_Z_Z׫׫ZZ꺅((@"@"$$"@"@QQ$$DDRR$$" " $((++UUUUERERBIBI$$  JJ$$RR$*T*T**kkZZkUkUUUv!v!))!!%%@@ UU $ $IIJJUU$RRJJkkUjUjRR@@ @@TTTT%PP ֵֵkUkUUUZZ))*D*D@@RRJ(J()I)IUU%% "**$H$H*U*UkZkZUUժRR RRIAIA!!@@@@@@UUDD@@T$T$TT"" TTݿݵURURjj((H(H($$D@D@$$@@**TTTTRRPPHH*K*K__ڵڵZZֶU(U(@@UU@@%%PP))%I%I))UU""! %%ooZZZZ]]RR " "QQI*I*  J@J@EE@R@RPPQQAAHH PPDDJRJR[U[U[u[uBB( ( $$$$@@TTRJRJBBTT RR ""]]((BB I I     UU @ @$)$)TTUUHHU U -@-@EEHHJJZZA(A(P"P"TT ))))JIJI%%TT**tt  %%IOIOֿֿRBRBTT****PP%%JJUUAUAU$$//߿߿""""  AA@@@@**BBJJvvHH@@ }}  HHTT$$HH  **!B!B**IRIRRRYYOOUU""WW%%@@PPHH%%**$$))TT?? @@))JJ$*$*@@UUJ(J(JAJAII$$TT%%RJRJRRUU__@@M^M^ZZ{{ȐȐUUPP""44 HHDDJJHH$$I)I)JJZZ HH@@~~$$*P*P(( J JJJDDEUEU@@$$ZZ @@ ZZ__jPjP TT@@5T5TI@I@""BRBRRRUU?? @ @ WWII""E E ))IIJJUU""*R*RZZ @@+V+V֪__**))I I AA)R)R@@HRHRIIRRkk__ @@۫۫ݮߤߤ))@@@@JJ((*A*A""TT@@! ! RRWWRRPP E EWWoo[[TQTQ ))RPRPTT B B $$ T TTT))]] @@ ZZ((HH%%i)i)*@*@HPHPJJVV@@@@KBKBת}}@"@"AAHHU U ABAB""!!$J$JEEZZPP @@@@UoUo UUߠPP")")RHRHRPRP))UUI%I%RRUU   {k{kR(R(BB T T%%%(%(((TT%(%(DD))jjTT @@RR@@BB]]}}խJ!J! %)%)RRRRҕҕ H H@@**JJII)T)TUU@@(( RRVV@@@@!!UDUDBB**JJBBJJIIWWPP  UVUV۵۵BBBBIJIJPP$$HTHT) ) $$kk߀߀ @@UJUJ!!  RjRjB%B%B B ""JJJJWW__^^׭׭TT  **JRJR!!*Q*Q!I!II(I(IIWW__  QQJ%J%kk֩HHDUDUA*A* *D*DJBJBBBDDZUZUBBkk TT""֮TTPPUUhUhU((""HHJJ)()(WWoo  @J@J UU%I%Ioojj־֩)) A A ! !PP**EEI I PP P PUU((RRWW $$DD(*(*^^RJRJ$$EEAA""R$R$JTJTvv hh @@U!U!UU(($$JJDJDJUUI"I"HH %A%A Y YWW   DDTTPAPA  *$*$JJRR$($(RR%@%@""DD__ ""UUTTDDII  UU$$EER@R@ ""U(U(uu__  AAU~U~jj  PPJJ RR ((HHJRJRVV JJ%% " "]]--JJ@@P P @@BB@@UUUU%%EE%%TTHH""JJ]]  VVjj@@HH  TTQJQJJJ )R)RCCJUJU!!ww__ QQ@@  {{}}HH**JEJE**44HIHIR(R(%R%RTTZZ **@@ %%/{/{JJґґ*%*%  RR""UJUJIIII@@! ! ((JJ))ww  @@@@*$*${{)")"PPDD)) VVPP$$EE%%%T%TTT@@nn %_%_}}KKEE@@Q*Q*))DTDTmJmJRRPP**((JJJJRRWW__ }}JJ@@ DD   BBRRՖ$$A A   ҂ҶBBBBHUHUTTEETTIIII))vv $$ II@@WWmm]j]jQAQAII@@DDIIZZ"U"U "J"J((JPJPjj__ JJ@@   !!   zz*"*"""QQRBRBה**TTDD$$DEDE %$%$Q)Q)**UU?? HH HH ! !U[U[ooRRHH@R@RDDDDJJttRR  AA! ! JJQQhh $$ JJ  TT%%@@TTPPQQ!!))TT IIJHJH RR__ ԊԊHH J@J@$$$$ZZҵII   $ $J)J)IWIWu)u)UURR@*@*""DD$$JJuu?? JUJU@@UPUP  @@  PUPUIIjjPP  DPDPڒڒ ))UAUA(I(IU"U"IIjj  ""HH%%$$VVځځ$$@@((  **յ))RRBB**  PPTT RR  ""UU@@RRBBIIJJRRjj!!  AA)%)%I(I(RR   aa  @ @ $$PPTTҥҵUURR  %*%*JJJJuuUU QQAA]U]UI I DDQQ@@@@SSZZHDHDEE  EERRZZ~~mm߮jj AA  AA((JJեխTT (($$ H H((UUUUUUVV** QQ@@ZZ%@%@TTDDRR$$SS((PP!!BBE%E%IJIJQ"Q"ttZZUUUUJJJJTT  **@@ ((I$I$BB A A$$""ի{R{RRR$$(J(JUU**RRRR@@ @@@@WhWhII PAPA@"@"((կ))@@H H RR HH((TTjjEE**  @@!!@@  **RJRJRR D D((DD""ETETDD&&ZZJJJ*J*UU@@HH JJ$$@@$$""DDrr J J""@@""RYRYTT L UU***R*R @@%%@@  ҀҀ B B ( (""%%%U%UPP@"@"%%AQAQBBRR%$%$))UUHRHR**R"R" ъ@@@ @ (H(HWVWV))PP""$$$)$)$$HHRRZZE@E@PP RR""$H$H[[UURRRRIHIHBBUU*P*P  @@II  ((  PP@@)@)@$$JJծժJJAA %$%$)) jj$$AA   UU) ) ""DD  @@@@T T JJ**WoWoUQUQ)()(DDA A HJHJT"T"((UUJJJJ HHDD@@PP %%!A!AEE* * U U ZZ..ߪ @ @ ((*E*E""ZZ!!QPQPT$T$BB @@KKDDBDBD@@@@JJU}U}kTkT   RR@@ * *TTE*E***mmZZTTJ J   ""IIPPJJRR**U)U)BBPP(($$+U+U ~~~ 2REM The Spirals program discussed in the REM Tutorial chapter of the HiSoft BASIC 2 REM manual. REM Move turtle forward by r. sub fwd(r) shared curx, cury, dir static newx, newy newx=curx+r*cos(dir) newy=cury+r*sin(dir) linef curx, cury, newx, newy curx=newx cury=newy end sub REM Turn turtle clockwise through r degrees. sub right(r) shared dir dir=dir-r/180*3.1415926 end sub REM The actual spiral routine. sub spirals (L,A) fwd L right A if L<150 THEN spirals L+1,A end sub main: REM Set this up for a particular screen size. curx=160 : cury=100 : dir=0 spirals 9,95 DEFINT a-z ' Get the position, width and height of the free ' window that HiSoft BASIC gives you. WINDOW GET 2,1,wx,wy,ww,wh ' Re-locate and name the free window you get ' when running a HiSoft BASIC GEM program. ' This always has id number 2. WINDOW LOCATE 2,wx,wy,ww,wh\2 WINDOW NAME 2,"Top window" ' Set up shaded (5,2) fill pattern for the ellipse. COLOR 1,1,1,5,2 ' Draw an ellipse in window 2. PELLIPSE ww\2,wh\5,ww\3,wh\6 ' Open another window: id number is 1, top left is ' below the other window, in the centre of the screen. ' The 1+512+1024+2048 means the window has: ' a title bar, left & right arrows and a ' horizontal slider. WINDOW OPEN 1,"Another window",wx+ww\4,wy+wh\2,ww\2,wh\2,1+512+1024+2048 ' Print something novel in window id 1! PRINT "Welcome to HiSoft BASIC 2" ' Set horizontal slider of the bottom window halfway. WINDOW CONTRL 1,0,500 ' Set the horizontal slider size to be fairly small. WINDOW CONTRL 1,2,100 &`Xx%&|`.NqC:\HISOFT1\TUTORIAL\DEMO.BASz8<&<><$<|(o*lNN NN~NOOB-J+| V+|,R`Nq* O*N*~NN*=;G* mfp*pNNr([3][This doesn't run in|low res][ Quit ]rN?<A ./N˄NO*;G*~N*=<>-NNv;G*;|*HmxHmHmN>O * mf2* ;| *!;|*";|*#`(Nq*$;|*%;|*&;|*)?-NdTO*+N*,?<N TO*0=-=->-AN`Nq*1=-~=>-0GgNNNvJGg*2?<NLTO*3`FNq*4?<NLTO*5?<=->-DG^Nv?=-~DG^Nv??-NżPO*7pNNrHiSoft BASIC 2rN?< =-~DG^Nv?A ./NvNO*8AN:`Nq*:?<NLTO*<~NZ*@=->-DG^Nv=>-DG^Nv=~NNv;G*A=->-DG^Nv=~DG^Nv=~NNv;G*CA-NrM Compiled with HiSoft BASIC 2 Press SPACE for optionsN*DHmN XO*G~-~=.<B/>N-.N4Nv-.<=AN`Nq*H>-mNv==-.-N0Nv/>N-.N4Nv/>N-.NNvN„0GgNNv==-=-.-NBNv/>N-.N4Nv/>N-.NNvN„0GgNNv=Ax.v N-~N*IN-Nr N*JGgNt*JAN`Nq*K`Nq*M`NqNTbN*O~NZ*PpNNr.[3][ |Blitter Demo Program][ Quit | On | Off ]rN?<A ./N˄NO*P9G*RA. G> Gf~N*S`NqA. G> Gf~??<@NN.XO*S=~^9G*T>,JGg,*U?<?<@NN.XO*U9G*V``Nq*WpNNr"[1][ |Sorry, no blitter!][ Shame ]rN?<A ./N˄NO*W9G*Y`.NqA. G> Gf?<?<@NN.XO*Y9G*\~NZ*]N\Nu*d`NqNTbN*h~NZ*i mfF*jNr\tutorial\jackmed.scr?<NN-.TO*jN>*k`8Nq*lNr\tutorial\jack.scr?<NN-.TO*lN>*opNNr'Select an area by clicking and draggingrNA./N NO*p~NZ*q?<?<?<?<?<HmHmA./A./NO*q;G*r?-?-?< ?< ., /.,/NɄO*s=-=-=-., G>^Nv=>-N=-., G>^Nv==-=-., G>^Nv==-., G>^NvN*t=-., G>^Nv==-., G>^Nv==-=-., G>^NvN=-=-., G>^Nv==->-N*u=-=-=-., G>^Nv==-., G>^Nv=.,v NN*wN\Nu*y`NqNTbNpN*|~=A.v!N*~.,/A./N~PO*>-=~=A.v!N>DG^Nv=~=A.v!N>DG^Nv=~NNv;G*?-=-~DG^Nv?.,/NvPO*NN\Nu*~N O/ C0<HЈ",Іd ,`Ь ЬЬ/// Bg?<JNAO Jf$EA8,Hp!!!.H HĐ"MBQd+@A+H+L|SE;EC@+I DX;D Nu _NT+K)O)N/NHz+_Nuv`Compiled with HiSoft BASIC Some code: Copyright (C) HiSoft 1987Hz?< NAa9?$SQdQd+FL+_/حd(Nut`t`t`t`B HNu"g"A//aRLfBNu"( H瀂H /?<HNA\OLLJgӭ"@Ҁ#A"g ,A",,_Nu" ,_Nu )H / ?<INA\OLNu\\agPB NudH0^@"g\"A")gN&Akd k L Nug0&J$Sjb jg#J L Nu&#K L Nu"Qf6@Lag" A E$#J BP )K5@ЊL NuH0&P$See&J`&"JL f B` dH^@&jbG $K&SebAfk&S2*Ag2"3@$C" L %AgL NuCg~L NuA5@$C`p"g$/ "ArJg$i 2*gЁ$R`"Qf$_Nup"g&/ "AJg$i 2*g $RAd0`"Qf$_Nu1AC!IC8$I g"@`"f!IBC< g(d"@PI`!@g$@%H Ed`8<ae <{dNuafgSetHB Vfd`z`z Ga ^.` aJfgSetHB Vf֘d`ac`ad`a e`ab`aSe Se gNuJNu G&$P(<Ƅ VȐ"hNu("hNu/ a _`P/ @Jf(Sar. _`6 >HǏNu0HiH@>Nu H@g(Jg$HAJ@gJAfHA`JAgH@HAJAf ށeNu~NuDNu$JnDJnDai JkJjDNu Ga 4)k2BHҁC. Nuv!`6FBH*6HÖk$n UDk>HǞkn"abևQ"`J` GaJgF<fbxCifn4)C k2BCHUDk0BAҀQ8. NuJ-JgaP HxCSDt =QaL`al3af a` aZ aT FBH*&k趙nUDk.kھn"aևQ"` GaJgN<fxCift4)C kJ^f2BCHUDkJ^f0BAҀQ8. NuHxCSDt -QaL` GJf@4-H/ x$Nr6ASAHDJDfHD0Bk"R@Q/ pgaC2 AA ?H؁a~222"8B2HR2 UAk0B22R@Q2prHASCd2`"Qd&_Nu2 4BSAA M BC p0 !Q&_ GJft4-H/ H/~$Nz6ESE"k\Ra$Q( pga6C2 APA?H؁a222FY"."R: UEk"""RaQ(*`2 Ga:g()f<fapB`rNu2) ~` ^Jf$M!J44BZ05@HR$  pgC5Cr g(`VNu ^JfN$M!J444 %@R$  pgC5Cr.a `?aJJg0if$Ip0NuaF a@ Jj|-DA0tpve RdҘ`JjP0Q0Nu;B@'d _ _ GOSUfNaO0a+Fstack overflow02000@fDAm\Nu20k @1APn Nu@1APl\Nu20k@Nv`@Nv`AX$- pQa m*g $ a E P`NuPSBegN`a(Qa$ a a *(a)aFAa(\"a(`""_xza)a&Jk "-g$ANa>Ga(N`*((*`Aua(a*"Jg mNJg/a'`AX/a'"a(JUgBJRga L`H?8(H o(aLLf0ApNupDNuH/2a tf*0@"<g < g8H0 lNL LJNu"`r,HA,t,HB,"Lp`JgB<fp@`JfrAp`CB gB,>4>>>>ZQ"aapNuP"pNur,#pNupDNuB,B,#rarE`pNu|dp,@dAB#A B H`rarYaL8a`/ Jikrarba"W2)a2A at"WJikrafrca`"_2)aA `PXpNu?AA,0-F|gS@gA 00Nu    H @rareaLx*&I/ alfh&_< gR< gL<g<g< eغgHR/ at&_`JgSJ,gS,/ rar ara&_`a"p@Nu?,?<NMX<f lf-OfrpNupMNu?r aFr ax2< gp< g4R,,g,e lf< d<g<d<dp`0,<f< f ,#dR,#A???<NM\Jlg pNuB,`Rgp9Nu0,??<NMXrJfrpNuSgSgUgvSgpDNu&fvRBg/?<=NAJkbPOx(؃AaX)C)C$)C 8?<?B?<BNA)@BoNAO |||9Dp)@@)@NuPH`t9+@TlAgf LNuF5LCKKBg/?<NAXOapNu`8,<d$ g A @N.V@(e|dA`^vp<gJf",g a@farrpNur)ApNuHl(/, ??<?NAO Jk)@gB$Nup>Nua ,$e agp>)@NuA(r0R<gR$pNua",g$S)AS$dBg?/?<BNAO JkavpNua|pDNuat?(,$gA($e(٬٬$a8Jg*)l$/ /??<?NA"/O Jk&ѬfHpNua < g4< g2R,,g(,d"B O | ApB,aXNuB,I? OpaTNuJg$//??<@NA$/O "kpgp=Nup"Nua  IJ,f6,Sev H x ggRQdAL0`r`Jg, I,< g< gReSf C`^v`SH @vapAaFLgNu fXp6Nufp6XNuaB$BSt QdBg?/?<BNA"/O f Hl(/,??<?NAO Jkgr)ApNuaB$Bg?/?<BNA"/O Jl |fZ/?<?B?<BNAO "Jk@g(*HEJEgpH@ @anf(SE`HE  |aZf ,B$A(aHfNu` f(Jj", )A R $,GaF"G ,A(NuXp6Nu?<?B?<BNAO /?<?B?<BNAO "&Bg?/?<BNAff$, `$/`$,"O pNua Tp6Nu< g,< gR,,g,e&,$d 8(R$pNuB,`?r ar a2`p2Nu",pNuPRT:AUX:MID:KBD:LST:H@b0HCXAa۴g (IpLNuLp4Nu8<0DaQNuH@af Hp0a L LJNu lN -f ?+|pha.+m+mNuBm;| Ap 0Q0BmpNBT@g$pMa;@p-PT@;@0<da0-f:pMa;@;|0<da0-faCannot open workstation;@;@Bn+mxrBmBmp&ad;mjp;@;@m;@lBm;|Bm;|p'a2Bm;|;|paBm;|BmpaNuQQa -gBm+@paBBm;|pzaa(a pa`:BmBmpeaNupD`p4ONu/ H0@a^0/|bCXHI o f"+|phaA`C1111/HC2"n"rpda`kx6A(a9@;@@|B,B,#9m "o B2B.Jo g& IaVa* R/ a )H."_HaB"l.;l;|+IpiaRmA+HpiaL 8A0P0000pea;|phaL@ASBSCHH`J-Qfaxp0,lj@C$"T#zT3zRa*aah|aa"A p f ;lN;|Va0Dp@#@")@(_NuHaF2R,;|;|HA+A ,Ь+@( GJf 09`@oNu|eYGG0G~(NuHz?<&NN\ONu| d:|dBmBm|gp|a^G0;p>5Nu0<aJ>-xNuxaܢgR/?<HNA\OJgf @Nu/?<INA\Jgan3ah m| h,NuaJGk SGgJfJf `~ Ga&aSja2aa` I2  g (=WJANuaak/ /(f ;gl`SgbRUaf((/ag^erHa2L$_ /g`( R/`$@a8Bga`Ba:a"_ m|!I,NuRUatPOf/a< _` _$_< fp=QNu _$_aB"Ha6/a/Bg?<JNAO NuJfa"JfJfÈЁЄTNuJfgf`NuajaJfJg.Jg*"HVJAj<=g LJf`LNupNu$m|x*<gCxafna$fbCxafVJfJf  fRH`(JfJf/(Ua..$_6SCkfr aQNu<ae <{dNuE/ a$_  fRSfx&/ SeaQ"_.`pr<:d <0e.@0`"<Gd <Ae@7`<gd<ae @WҀ`NuARGV_PBPa0|JgD0A4</va`. Compiled with HiSoft BASIC 0<rtva߼f;H>;HDA0<rtvaߠfNuaRDLST: naކSfXv<Igv<Ogv<Rgv<Af2HCt4>.a6 VaF"0HC Ia>f ^a6T ^`.a6v` apapf4 fJ-g praZ` f?. i a؇Ea@0_`0|aSH0fNu<!g.<fH/"h*)g/ I<!fa PHSf _*Nu"hmlH(x"mpaLNuJGo |d0GNu0Gp4` -gB`&x?<?<NMXJ@f xaж.Nu/<NMXJ@g$-Og <faM?xaЈ.0NuxH@?av.0BNug,/ m fAN _`?/<NM\Nu/<NMXNuCX/ a8B _`/a2? Vaܤ0 I"tvaݚf8p*ajp"_$a`a ^`~x0DpafRD|ca C>Nuv`D//a? VaH0 I"tva>fp"_$a a@ ^`(pa"PNupaM NupaM NupaM Nu="N0mD`42p0mD`p aPNup0mD`42 -PfARmja>SmjNupJGk gSGf4pa2g,jpaHB2RAJVjTNNuSA4j?pa42p`SBda2JgDJ-f>|g8|Mg2|Ng,|Og&X;D;mf;U/-BP+LaNua~fNuX`ռ~|f~`a"Ava a,<f~a"??<LNAALa0( AXBSaA4`AWa _aJUgAYar2a`~q Y Program terminated - press a key to exit pFATAL ERROR:  at line ,GgT klknf`@,k^g>k^g2k8<d,&B<ރeNuRid~S<Nu.NuJNu<oD&B<ރeNukgvgPk<<d&B꫞kBSbHGއ[kgNu~Nu<oD&.<`DgjD`.<ANuNu.<<Nuk~Nu,FfJfg(gvEDiBHGHFFkTiHGDL&:ƞHGHF6BŞd&BރSE&HCBGHEk:څS>:.gNu,gFg\EDviRE]B&HC(BHD؃BDHDHGHFHFބj gNuSiex@ބއdRgNu~NujJ<Nuk gBAkjDNu<Nu~NuBkjDDNufDJjNuxBJg.jD<¼bHF܆[Jj dRNu?<`?<`<bTJNuBgJk<9cH~$<cJ<c <L~TNu,<>.aXDxB΄,<Ca,.a$(< .BJkFD<c~䯾o$`D<c~DDl`z,-Nu?<NNT>NupNBT@VHNu ot%ro`0/;@@ /H@+@<;|"/HA o NTatTD;D0@ O/-+H UD;| r `2r o /H@+@<;|NTa2;D0@ O/-+HSDeBQa6+_N\Nur `r`r o4/Bm;BBa/-+Ja+_Nur%Bmt oBma/-+Ja+_Nur /H@+@;|Bmtat oarAz$4Nurd`r o;P o t at o0-0;@t9 oa8"< -`xrtBmt oa /-+J o a+_Nupf;o;|t9"< ,`"p&t "<`p$t"<`p#trBmBm/?a4 oa"Ax4QAHA4QNu;o;|Bmpua o0 o0 o 0Nup`p;|"/HA+A@"/ `p`p;|;oH"/ HA+A<"/HA+A;|;@p ``p;oD;|"/HA+A`p;o<;|Bm`hp;|"/HA+A"/HA+ABm`Dp'`pl"/HA+A;|`BmBmp|a o0 o0 o 0xNuBmBm0<a o0xNup{BmBm`p`pe`p`p`pn+o+o`pw;|a>-xNupx`ryA H@+@;|` rm;|A+X+X;h4< P`T"/ HA+A-x o`0<a" o0x o0z o taAr4Q o0 otaAr4QNups;o;|a^`;|BmpaJ`6pq+o"/`hpp"/a^ o Nup.A0 0 "o00+oa o0NurLA p`.A+PC2BYpa^p/`݄r+A p`r*Ap+P`p`pz`p{`pr` p2`p`p);o+oa@>Nup`p(`p` p `p!`p-+o`r'` rs`r`rN;o`r `r /H@+@+o`JApapGa`(r0`rFApaa$`p,;o +oaܲA r`pOaܢ`LpMaܚ`Dp6+oa܌`6A paPpla|`&Apa@pal`p;o"/HA+AaTAr`&AEp"`4Qph"/`C2QNu>E"`2QNuA@p a+o /H@+@parA`A pCapK+o `8re`rdAp`$ri`rHAp`rI`rJAp`r3Apat0a۞>Nupo`p`pj`p`p"/HA+A`p5` pk`pg`pf;o`pm`A+HAX+HpxaCXx oaE o`,Apa+o+opy`vA+H Pa^p}ad o$o( f`lrP`r| oa o`rQ` rn`r4;o oa2a`AX+HSe`BNuaAX+H` oa+o ;op"`  _Ha丼exA+Haz[aL/ N oBPNuzZ oap d(a o aAfap0a$g o0 o Efa oEX"JJf( S`r oa\pdpxa$Se `Bp a>Nu+o`p7A00 0+oa o0 o0Nup8;o ;o+o a> o0NuCX I /$H@""/HA"C6420aC Q0 a0 a0 a0Nur#;o oa m|Aa^`r;oAX+Hpa> o0 o0 o `;o0<a`+o +o /H@+@p$`+o+o +o+op%`;o ;o /H@+@p&`,T$[1:\HBASIC.PRG,199114 1:\HBASIC.LIB,78591 1:\HB2INST.PRG,61172 1:\WERCSBAS.PRG,114138 1:\WERCSBAS.RSC,23302 1:\HB2INST.RSC,7580 1:\DESKTOP.INF,532 1:\WERCS.INF,9 1:\HBDISKS.DIR,4228 1:\README.TXT,4098 1:\HISOFTED.INF,832 1:\HB2INST.INF,832 1:\AUTO\HRAMDISK.PRG,2096 1:\HGT\HGT.BAS,357 1:\HGT\TOOLBOX.BAS,11506 1:\HGT\DIALOG.BAS,1895 1:\HGT\FILESEL.BAS,720 1:\HGT\IMAGE.BAS,8131 1:\HGT\MENU.BAS,3191 1:\HGT\OBJWIND.BAS,2386 1:\HGT\TEXTWIND.BAS,3485 1:\HGT\WINDOW.BAS,11088 1:\HGT\ACCTBOX.BAS,9163 1:\HGT\IMAGWIND.BAS,2008 1:\HGT\EXEC.BAS,1225 1:\HGT\NEWDESK.BAS,645 1:\HGT\GEMAES.BH,3062 1:\HGT\FORMWIND.BAS,12909 1:\HGT\POPUP.BAS,4385 1:\HGT\OTHEROBJ.BAS,2468 1:\HGT\OBJCEXT.BAS,1245 1:\HGT\XFORMDO.BAS,7904 1:\TUTORIAL\ABC.BAS,1805 1:\TUTORIAL\DEMO.BAS,3159 1:\TUTORIAL\HANOI.BAS,2238 1:\TUTORIAL\JACK.SCR,32000 1:\TUTORIAL\JACKMED.SCR,32000 1:\TUTORIAL\SPIRALS.BAS,628 1:\TUTORIAL\WINDOWS.BAS,986 2:\TOOLS\BUILDLIB.TTP,3508 2:\TOOLS\CHECKST.PRG,18568 2:\TOOLS\WCONVERT.TTP,19303 2:\TOOLS\WCONVERT.PRG,19290 2:\TOOLS\WIMAGE.PRG,29116 2:\TOOLS\RAMINST.PRG,17023 2:\TOOLS\RAMINST.RSC,2706 2:\TOOLS\PROFILE.TTP,24433 2:\TOOLS\HBASIC.TTP,123452 2:\TOOLS\CTOBAS.TTP,10564 2:\TOOLS\WIMAGE.RSC,4642 2:\TOOLS\MON.PRG,35921 2:\EXAMPLES\CALC.BAS,276 2:\EXAMPLES\DIR2STR.BAS,1236 2:\EXAMPLES\DISKCOPY.BAS,2808 2:\EXAMPLES\DUMP.BAS,1270 2:\EXAMPLES\FASTCONV.BAS,10789 2:\EXAMPLES\PCWALL.BAS,1263 2:\EXAMPLES\SIEVE.BAS,546 2:\EXAMPLES\WRSC.BH,388 2:\EXAMPLES\WRSC.HRD,255 2:\EXAMPLES\WRSC.RSC,1620 2:\EXAMPLES\WTEST.BAS,5320 2:\EXAMPLES\WTEST.PRG,8664 2:\EXAMPLES\LINK\FREQ.BAS,478 2:\EXAMPLES\LINK\FREQLINK.BAS,487 2:\EXAMPLES\LINK\GETCH.S,444 2:\EXAMPLES\LINK\HBCUTIL.O,292 2:\EXAMPLES\HGTEXAM\ADDRESS.BAS,5876 2:\EXAMPLES\HGTEXAM\ADDRESS.BH,762 2:\EXAMPLES\HGTEXAM\ADDRESS.HRD,503 2:\EXAMPLES\HGTEXAM\ADDRESS.RSC,2228 2:\EXAMPLES\HGTEXAM\DESKTEST.BAS,565 2:\EXAMPLES\HGTEXAM\FSHACDSP.BAS,905 2:\EXAMPLES\HGTEXAM\GOLD.BH,569 2:\EXAMPLES\HGTEXAM\GOLD.HRD,375 2:\EXAMPLES\HGTEXAM\GOLD.R sSC,1102 2:\EXAMPLES\HGTEXAM\XADDRESS.BAS,7201 2:\EXAMPLES\HGTEXAM\ICONDRAG.BAS,1974 2:\EXAMPLES\HGTEXAM\IMAGTEST.BAS,152 2:\EXAMPLES\HGTEXAM\IWINTEST.BAS,613 2:\EXAMPLES\HGTEXAM\MENUTEST.BAS,388 2:\EXAMPLES\HGTEXAM\MENUTEST.BH,69 2:\EXAMPLES\HGTEXAM\MENUTEST.HRD,54 2:\EXAMPLES\HGTEXAM\MENUTEST.RSC,560 2:\EXAMPLES\HGTEXAM\OWINTEST.BAS,503 2:\EXAMPLES\HGTEXAM\SHOWPIC.BAS,949 2:\EXAMPLES\HGTEXAM\WINTEST.BAS,684 2:\EXAMPLES\HGTEXAM\WRSC.BH,384 2:\EXAMPLES\HGTEXAM\WRSC.HRD,255 2:\EXAMPLES\HGTEXAM\WRSC.RSC,1620 2:\EXAMPLES\HGTEXAM\XADDRESS.RSC,2250 2:\EXAMPLES\HGTEXAM\XADDRESS.HRD,536 2:\EXAMPLES\HGTEXAM\XADDRESS.BH,800 2:\EXAMPLES\HGTEXAM\XFRMTEST.BAS,1011 2:\EXAMPLES\HGTEXAM\XFRMTEST.RSC,1910 2:\EXAMPLES\HGTEXAM\XFRMTEST.HRD,215 2:\EXAMPLES\HGTEXAM\XFRMTEST.BH,351 2:\EXAMPLES\HGTEXAM\POPDEMO.BAS,1452 2:\EXAMPLES\HGTEXAM\POPDEMO.RSC,1080 2:\EXAMPLES\HGTEXAM\POPDEMO.HRD,201 2:\EXAMPLES\HGTEXAM\POPDEMO.BH,332 2:\LIBS\BIOS.BIN,473 2:\LIBS\GEMAES.BIN,3799 2:\LIBS\GEMDOS.BIN,1667 2:\LIBS\GEMVDI.BIN,3225 2:\LIBS\HBASLIB.BIN,75330 2:\LIBS\STESOUND.BIN,703 2:\LIBS\XBIOS.BIN,1243 2:\LIBS\LIBDEMO.S,4351 2:\LIBS\LIBRARY.H,4074 2:\LIBS\MENU.BIN,1014 2:\LIBS\GEMAES.BH,3062 2:\LIBS\FALCON.BIN,1333 2:\LIBS\MINT.BIN,1018 2:\LIBS\SPEEDO.BIN,2464 2:\COMPAT\HBST10.BH,249 2:\COMPAT\HBST13.BH,228 2:\COMPAT\HBAM1.BH,313 2:\COMPAT\HBAM2.BH,112 2:\HGTTUTOR\TWDM.T,41201 2:\HGTTUTOR\SHELL.BAS,1206 2:\HGTTUTOR\HGT1.BAS,1116 2:\HGTTUTOR\HGT1.RSC,1030 2:\HGTTUTOR\SHELL.HRD,341 2:\HGTTUTOR\SHELL.RSC,1106 2:\HGTTUTOR\SHELL.BH,516 2:\HGTTUTOR\HGT1.HRD,227 2:\HGTTUTOR\HGT1.BH,366 2:\HGTTUTOR\TWDM.BAS,124 2:\AUTO\HRAM1MEG.PRG,2192 2:\HGT\HGT.T,67685 2:\HGT\TOOLBOX.T,26934 3:\TT\HBASICTT.PRG,193860 3:\TT\HBASICTT.LIB,64017 3:\TT\MON030.PRG,41129 3:\TT\HBASICTT.TTP,118615 3:\TT\LIBS\GEMAES.BIN,3799 3:\TT\LIBS\GEMVDI.BIN,3225 3:\TT\LIBS\HBASLIB.BIN,58112 3:\TT\LIBS\MENU.BIN,1014 3:\TT\LIBS\BIOS.BIN,473 3:\TT\LIBS\GEMDOS.BIN,1667 3:\TT\LIBS\STESOUND.BIN,703 3:\TT\LIBS\XBIOS.BIN,1243 3:\TT\LIBS\LIBDEMO.S,4351 3:\TT\LIBS\LIBRARY.H,4074 3:\TT\LIBS\FALCON.BIN,1333 3:\TT\LIBS\MINT.BIN,1018 3:\TT\LIBS\SPEEDO.BIN,2464 |#a0 #b0 #c???000?000<00?F?F"/FN<+g <-fPN<.g<0e <:dBo?|Bo <:d<0eaG0ajNRo`Jf /k WeR<.f6Bo N<:d<0eanG0a$RoSo ` ooR߰<Dg <EfZ`N<+g <-f?|N<:d"<0e2/A0AA@GA0?AN` g oo8/o gadAC$Ia`ھ<&fN߰<HfBN<:d <0e2G0`"<Gd <Ae G7`<gd<aeGWaa&``H<BfN<2d:<0e4G0aaN`<OfN<8d<0eG0azaN`Jf0 /k eRdS|"` |"Ag ggfN/"g,Sf f" /H/@` e /aHPz./gLJ/gv?a:p`J/"f Jj a`J/gDJO$Nu%&!#HJf߯eNua aAC$IHa` / aH PNuJf /Ѐe"ЀeЀe Ёe/@NuaAC$I`Jf /ЀeЀeЀe Ѐe/@NupaXoNuJf /ЀeЀe Ѐe/@Nua|VoNuJf /Ѐe/@Nua`RoNuJfaROHGJD[jDD<AB!zVB.T/zTBNd A"O$HaJFg O"O$Oa`O JgCA$IaHGPNu Pp>PRUSING (|Pr`h|: G.ak>aat` G>Hak(aaVa> maZ(-B;_>.` "m"( aG ɉ m` G.aXka` r ma( m HR m` GLa(jv"m Jj|-aR` Ga(kNu"_?->/ /(<a+I+H _Bm>+HaZSk +DBaJNua -c4-rAf"f*p+@ m hr0R;ANu GaZaZ+Da*Jf(-dC`xSka`Skr a`Nu|E`|DHaJgCXF;EDm"LHXaB-hLAtp gp*J-gd,-gRgSSJkf/g*t-`(R/ft+`4<+ Sg4< /g4<- Jj|a`JEk>RG`8~Jg~8ESDg(Ai"HtEسe"Jxo QSD<0Qtx<-gJk8HSfHDRDHDDHD+D -gRGJkf/g.t-RG`(R/ft+RG`4<+Sg4< /g4<-af-m`68Ggn <%a2` SDa(Qga(- EXFRE-g-aSFk.a-gSfr,aHDSf`HD8<`-g8-r.aSDk`-g<-ar+JEjDEr-aHYg"da$" *H HAaHEa P2IfhNu0`^AX"H$HJfSr-gmFH" Cزd"Ae0f0Br<:d`( 0gSr`"HR f1RrNurNupa m`Zp@2-JAj -fNu<_fajJAjr-aa\`ز<\fHaPv<\faDpNu< f&RCa4< g<\gr\anWr afV`r\aZ`v<!g&-<&g<#gd - m h$-b&<+f(<#g<*g<$f Rbg`Ta~` <$g<*ff` <.fܶ<#f~x&2-<.g.v<#g"xv<$gaf<$fa`v`aVaR<#g<.g<,fR`zREa(<#g<^f< - m h$-<<bD0f>RQaa|<^f a|`|Jf2-~<+g ~<-f~apNuaTH0->g0@paL Nu -g @+H` "2FRjx>BrFZ LIFE@ P"6@.A0-JgPQaTgBNu?a0@` Nu !INu("hNuT CLEAR_TEMP_DCRS@ A0-a PHQNu DCR_LOCAL h T" _x8aSr//Q/-+O/N m( SPg Ha9LQ m((+P`:RX DCR_TO_TMP @  G("ha .NuV INIT_OLD_HEAP h  FACh+H,+HY+I0C - AX+@ +I+I,cA+H4Nu mX.-DS,-,"F*<& $X,Re^dZ(*gȅe؎ex$`:ȅ eb&ր*gR"&F܄ge>$SQdQd+FL+_/حd(Nut` t` t` t` :INIT_NEW_HEAP h pHB+F <@"< tAa <@rtAa <raga - AX`+@ aA +H4LNu mXH"mBF`T\@HEAP h \h~B4H.B HNu"g"A//aRLfBNu"( H瀂H /?<HNA\OLLJgӭ"@Ҁ#A"g ,A",,_Nu" ,_Nu )H / ?<INA\OLNu\\agPB NudH0^@"g\"A")gN&Akd k L Nug0&J$Sjb jg#J L Nu&#K L Nu"Qf6@Lag" A E$#J BP )K5@ЊL NuH0&P$See&J`&"JL f B` dH^@&jbG $K&SebAfk&S2*Ag2"3@$C" L %AgL NuCg~L NuA5@$C`p"g$/ "ArJg$i 2*gЁ$R`"Qf$_Nup"g&/ "AJg$i 2*g $RAd0`"Qf$_Nu1AC!IC8$I g"@`"f!IBC< g(d"@PI`!@g$@%H E ^("ha SoRgSe(g`x"Dp!a .NuaTH ^Jkga cR--`.Nua `aT2X`pTRIM@ J$ G-a  IJg0< fSf-.` G-a Jg !< fSf-<.`"*HfSTR_COPY (h " G("haψa  h` HSTR_DARG (Dh E`P STRING$ 0h (aa.NuJ!SADD@ G.(` "RINSTRING @ naT *-Jca$ Jg$ Sge*RIpH@U!Wgj`$JkH`RI VfdLR`$ LSj`$@`l#INSTRING @ *-Jca$ Jg$ b$S/ Ř*k$SpH@d4d0SWf$JkH` VLgSj`$ˉ`$ SWgd`$JkH` Vf dL`LSj`$aT*Fbj|0$STR_COMPARISONS@ >t`dfafXgXSeTaaVf>d`8<ae <{dNuafgSetHB Vfd`z`z Ga  ^.` aJfgSetHB Vf֘d`ac`ad`a e`ab`aSe Se gNuJNu G&$P(<Ƅ VȐ"hNujrb%STR_MINMAX @  a$ n ^` a$ n G.`  &LSET_RSET @ n(aN/ I"Jagp SQd G` a&"gSt Qd I"Ja G`  ^&$P(<Ƅ GȐ"he(Nu &HN`'CODE_STR @  Ga ("P~gNuaTP(LEN@  Ga .NuL)CHR_DOLLAR h xa.Nun*FREE h * Ga xa .-NuRGfHx?<HNA\.Nu +STRING+ (Yh : ("hNu/ a _`/ @Jf(Sa. _`08H,I16_DIV- >HǏNuL-I16_MOD-0HiH@>NuJ.I32_MOD &a0.Nu/MULTIPLY_32)X8 H@g(Jg$HAJ@gJAfHA`JAgH@HAJAf ށeNu~NuDNu$JnDJnDai JkJjDNu0DIVS32.PJgF //JjDJjDp"~ҁU@D@އeRQ jD jDNuNud1IMPEQV. 0F@@Nu FNu0GFGNu FNuz2I16_COMPARISONS%2&^_HNu^]HNu^WHNu^fNu^\HNu^^HNu~Nuz3I32_COMPARISONS%2&_HNu]HNuWHNufNu\HNu^HNu~Nud4SHIFTS. 0h>Nu .Nu0h>Nu .NuP5INT_ABS-JGjDGNuJjDNuR6INT_SGN-JGg[HNuJ`T7I16_MINMAX* 0@o>Nu0@l>NuT8I32_MINMAX* o.Nu l.Nu9ARRAYS h  VZbf Ga 4)k2BHҁC. Nuv!`6FBH*6HÖk$n UDk>HǞkn"a/ևQ"`J` Ga JgF<fbxCifn4)C k2BCHUDk0BAҀQ8. NuJ-JgaTP HxCSDt =QaL`aT3aT aT aT aT FBH*&k趙nUDk.kھn"a/ևQ"` Ga JgN<fxCift4)C kJ^f2BCHUDkJ^f0BAҀQ8. NuHxCSDt -QaL` GJf@4-H/ x$Nr6ASAHDJDfHD0Bk"R@Q/ pgaC2 AA ?H؁a222"8B2HR2 UAk0B22R@Q2prHASCd2`"Qd&_Nu2 4BSAA M BC p0 !Q&_ GJft4-H/ H/~$Nz6ESE"k\Ra/Q( pgaC2 APA?H؁a222FY"."R: UEk"""Ra/Q(*`2 Ga g()f<faB`Nu2) ~`FZf:LBOUND h " Ga Jg9<f9>)jFGNu ;UBOUND h H ^a Jg9<f9JGo90)Gkg@@U@>)C HjFޑNuQNu RANGE_I16+0^8HmGn~Nu~NuR?RANGE_I32+ ^(mn~Nu~Nup@SWAPPING,.  ^"G002Nu ^"G  "Nu ^"GL !iHNufASWAP_STRING @ Ga H@ Va  Ga L ^` nBARRAY+@ *?a Jg0if$Ip0NuaT aT &CRND JgjaD` APp0`0AL0v=H@00vcH@00vsB@H@0.a,<Oa$~> a,<Oa,a$~> a,a(Random number seed (-32768 to 32767) ? aaa`D048<bFINT_TO_STRING h Hx a".( aGɉ G` GLONG_TO_STRING&f Jj|-DA0tpve RdҘ`JjP0Q0Nu;B@'d lHSTRING_TO_INTEE@? & Ga a ai. Nuai0GgDNu RIVAL_STRING @?  Ga a ` PJCHECKS@ 0@fNuaT KHEX$_OCT$ hf  &djHGBGHGx av tpxz`HGBGHGxavtpxzfJfJCfPŲ< e^0HRQ.` HGBGHGx axpJg$އeQJU0RއQ.` 0x` *bnLTIME$_DATE$ h Txv,a$X@a0:0H@?a":0@@`a./ ?NAT6"_NuH@B@H@ aH@0Nux v*aH@a-0@a-0X@@P|de 20`19`,MUCASE h Dv[`v{ Ga aψ$Ia a Se"pH@ed  QdNu rNRETURN@ , _ _ GOSUfNaTO0astack overflowOON_GO/`4&H@bGg G _ ppNNu@bGgG W ppNо@bGg)O`@bGg _/Ga`(*`AuaaJg mNJg/a`AX/a"aJUgBJRgaL`H?8(H o(aLLf0ApNupDNuH/2a]f*0@"<g < g8H0 lNL LJNu"`r,HA,t,HB,"Lp`JgB<fp@`JfrAp`CB gB,>4>>>>ZQ"aapNuP"pNur,#pNupDNuB,B,#rarE`pNu|dp,@dAB#A B H`rarYaL8a`/ Jikrarba"W2)a2A at"WJikrafrca`"_2)aA `PXpNu?AA,0-F|gS@gA 00Nu    H @rareaLx*&I/ alfh&_< gR< gL<g<g< eغgHR/ at&_`JgSJ,gS,/ rar ara&_`a"p@Nu?,?<NMX<f lf-OfrpNupMNu?r aFr ax2< gp< g4R,,g,e lf< d<g<d<dp`0,<f< f ,#dR,#A???<NM\Jlg pNuB,`Rgp9Nu0,??<NMXrJfrpNuSgSgUgvSgpDNu&fvRBg/?<=NAJkbPOx(؃AaX)C)C$)C 8?<?B?<BNA)@BoNAO |||9Dp)@@)@NuPH`t9+@TlAgf LNuF5LCKKBg/?<NAXOapNu`8,<d$ g A @N.V@(e|dA`^vp<gJf",g a@farrpNur)ApNuHl(/, ??<?NAO Jk)@gB$Nup>Nua ,$e agp>)@NuA(r0R<gR$pNua",g$S)AS$dBg?/?<BNAO JkavpNua|pDNuat?(,$gA($e(٬٬$a8Jg*)l$/ /??<?NA"/O Jk&ѬfHpNua < g4< g2R,,g(,d"B O | ApB,aXNuB,I? OpaTNuJg$//??<@NA$/O "kpgp=Nup"Nua  IJ,f6,Sev H x ggRQdAL0`r`Jg, I,< g< gReSf C`^v`SH @vapAaFLgNu fXp6Nufp6XNuaB$BSt QdBg?/?<BNA"/O f Hl(/,??<?NAO Jkgr)ApNuaB$Bg?/?<BNA"/O Jl |fZ/?<?B?<BNAO "Jk@g(*HEJEgpH@ @anf(SE`HE  |aZf ,B$A(aHfNu` f(Jj", )A R $,Ga/"G ,A(NuXp6Nu?<?B?<BNAO /?<?B?<BNAO "&Bg?/?<BNAff$, `$/`$,"O pNua Tp6Nu< g,< gR,,g,e&,$d 8(R$pNuB,`?r ar a2`p2Nu",pNuPRT:AUX:MID:KBD:LST:.b z ]CHCLOSE @ ^.<H@b0HCXAa g (IpLNuLp4Nu8<0DaQNuH@af Hp0a L LJNu lN^^IO_GOAWAY+ -f ?+|pha`+m+mNuBm;| Ap 0Q0BmpNBT@g$pMa`;@p-PT@;@0<da`0-f:pMa`;@;|0<da`0-faCannot open workstation;@;@Bn+mxrBmBmp&a`;mjp;@;@m;@lBm;|Bm;|p'a`Bm;|;|pa`Bm;|Bmpa`NuQQa] -gBm+@pa`BBm;|pza`a[a pa``[BmBmpea`NupD`p4ONu/ H0@a]0/|bCXHI o f"+|pha`A`C1111/HC2"n"rpda`kx6A(a\9@;@@|B,B,#9m "o B2B.Jo g& Ia a  R/ ax)H."_HaB"l.;l;|+Ipia`RmA+Hpia`L 8A0P0000pea`;|pha`L@ASBSCHH`J-Qfaxp0,lj@C$"T#zT3zRa*aah|aa"A p f ;lN;|Vac0Dp@#@")@(_NuHaF2R,;|;|HA+A ,Ь+@DHPVrcEVENT_HANDLING2HJ-Qf"AX+H+|;|0pa`gLNu$dWINDOW_OC | P D(<40. a "N nM4vaaf;HDNuv`T|d@0@NuaT0a`]&8BPeWINDOW_ONOFF PQNuQQ`c LfWINDOW_OP |P 0ad;HDNuVgWINDOW_MOVE |P 0.ad"N3Pp!`hWINDOW_NAME |P N&0.ab* E2 GaPpa"4|. ^Ta@p`0ab* E. Ga,pA$E00 pia`Nu0ab* E2 Gap`JgH RaxLBa a  RH`axL$HaB"RNu*JRnx|jiWINDOW_READ |P aT Vg^ Vgj0.ab H@|dA @00N 0p` p `p`p;@;Apha` G0Nu G0XNup a6/a _0XNu6.fr`~JCg$0|pa\fig RHf~Nu>GNu0.ab H@|dazJBg :fz"WE)<:f`pas tERBJf|  Cp0m>a?</NATO/HmX?<NA\"o?</ ?<NNAP|g~J@kxAvC :###tg<.f< gt R`t Cp0m>aC[ -mf[tp0m>a?<ONATJ@fRDDfax`a?<NAO Nu(?<NAO `s *.*.8b.6TsMSDOS_THINGS (|P *"&*zNv9 GEXaD/ ?NA\J@kNua\ v `Tv:`v;` GEXa ^EaHmX/ Bg?<VNAO `a p@dp:/ SDe Q)Ba "_NuaT@ EX Ga~Bg/ ?<=NAPJ@k ??<>NAX~Nu GEXa/ ?<ANA\J@k`HmX?<ANA\J@g|fHNu Ga a  gEXa AX `+JgS` / ?<NAT$_2A:BRA?/ ?<GNAPONu PnvtBLITTING | P jXZ Ga JgD<f8pC2)@m$gA0)HjF-SAfa9 -NuaT aT aT 0. n0.n"G"]e,0.n e2;@0HR@;@42-F3A;A80.ne2TI;@2ҁb+I,ED5555EDB44vAC,aa+mx+H+I;C;|;|pma``a"^48LRD60;@8VЀb0A, H20AnaA0m`;@-zNu~Nu8vMICE | P lJGk|d;GpNa`|N`aB-N`aQGVG0G>( GJf 09`@oNu|eYGG0G~(NuHz?<&NN\ONu| d:|dBmBm|gp|a`G0;p>5Nu0<a`>-xNuxaT&8wPALLETTES |@P (A.` w` PU"wUPpa(k Gvt0-F>H 2aPLRCBfNu0-F|b.&<_VDOafH@|f?+PCH p??<?<NM\NuA alfB0<apaa BNu?<"NNT @ANuH"xC g fTRjLNu{THE_NOISEZJ-frpa@82<aP=M "N8!k6|d/ rpa2<yA2<a"_AXSCC0! ig@2AEC@00!kz4!kvS@@@E 2rBH.&< a0*LC|f 0C@0`pC00H@C@00!kg0S@fH@0aAXa p @aJfNu/?< NN\Nu???<`AgEKIjM1RgWN\}a}gunt={xR|WAVEAXP"N0!kF@0!k<VA- VA- VA-0!k  @0!k  HHkGg SGfHGB`{}TRACE |P $0AalHz,?<$?<NMP+@Nu/-`p@;@NuQNu o*J-f/HNs0-mg;@Ni#NaA`CXr2aG]$ CX[0|p`\lv~SETTD@ ,      Ga a Jgpp a^6ghKJg8aTB0; aJJBgTBaD|e 1f& 9f>Upda*BPdBdZB??<+NAXONu )2f 0f``^<-g</g`J Ga a Jg6[Jg$<:f*pNAXNuF' D/(B?<E?<NMPNuBH瀄*xJ-j m Pp0ЀЀR/m L!NuCALL (h L""N0gS@#Q ^H/ ?N\LxNu Ga Raa / Ga a . I"GaBNu&,08<FRUNFILE (|P taT5asJGgAX"m|C8fa^A"m|C.I0<2QNHxzHzBg?<JNAO JfBHzHzBg?<KNAO??<LNA ENVIRON (h  6VR m| h,NuaJGk SGgJfJf `+ Ga a SjaTaa` I2  g (=WJANuaak/ /(f ;gl`SgbRUaf((/ag^erHaxL$_ /g`( R/`$@a8Bga`Ba:ax"_ m|!I,NuRUatPOf/a< _` _$_< fp=QNu _$_aB"Ha6/a/Bg?<JNAO NuJfa"JfJfÈЁЄTNuJfgf`NuajaJfJg.Jg*"HVJAj<=g LJf`LNupNu &*2RCOMMAND_STR (h $m|x*<gCxafna$fbCxafVJfJf  fRH`(JfJf/(Ua.$_6SCkfr aQNu<ae <{dNuE/ a$_  fRSfx&/ SeaQ"_.` pr<:d <0e.@0`"<Gd <Ae@7`<gd<ae @WҀ`NuARGV_PBP0ZST_MEMORY+Bf+GNu(-f"/Hz?<&NNO .Nu oHHNuބ/Hz` opNu G(-f/Hz` oB"O Nu(JfHz?<&NN\NuحHz` DNu D0HNu D/"OXNu(JfHz`SPOKE/V <60Hz ` Hz `Hz?<&NN\O.Nu G0Nu G Nup GNuHz` Hz`Hz(` D Nu D0Nu DNuCOOKIE_JAR @ l2/ ^a a YfB O&aWH _ NuaT / Hx?< NA\(x/?< NA\O g ggX` (_Nu(_pNu .RSTART_DJN @8LT a_A`CON: PSTART_TOS |T GRA`CON: START_GEM | T Baa0|Jg0A4</vaa` Compiled with HiSoft BASIC  "~OPEN_DEFAULT |P 80<rtva\f;H>;HDA0<rtva\fNuaTDLST: (0tOPEN2 |P ,4H>a6 VaZ"0 I0a\f ^`Zv`T$*xOPEN1 |P p naZSfXv<Igv<Ogv<Rgv<Af2HCt4>.a6 VaZ"0HC Ia\f ^aZT ^`ZaT6v`Tapa\f4 fJ-g pra\` f?. i aZ؇EaS0_`]0|aSH0fNu<!g.<fH/"h*)g/ I<!fa PHSf _*Nu"hmlH(x"mpa LNu>FRZbfnrxfVAR# |P $JGo0Gbpa\f~(މNu~Nup4`T"VCHAN#@ JGo |d0GNu0Gp4`T^IO_CONTRL @@ ;mD>Nua;G>Nu;|>Nu PRINT_OUTPUT |P Xf GaZ$0m>pa G`Zp0m>aHA86HBrBDHAJAgHAJCgAcVB8SDpr aQNuJGo8SD0m>`JGkg.p0m>agJBgHGJGgHBRBBdBSGHzCt0m>p`  PtPRINT_INT |P B"$H"CX/ aG $ "_p0m>`H"CX/ aG _ -fS$ "H` .zPRINT_SINGLES |P6a $p0m>`a  gS` rAXaCXA(Nu*PRDBLS |PN.CX Jj|-a HT$CX0m>p`CXJj-aCX$ -fR`,<TWRITE_STR |P aar"0m>p`LWRITE_COMMA |P r,0m>p` LIO_INPUT (|P? ", m ,g~J-faQ m`Za;G>Nu+W +G m;mD>aZJg 0m>p$aC$<0m>paA, +HNu"m , If(xR<,g< fS+HJg fSfNuafaiJf>0BfNuafaiJf.Nuafai.JfNuaxfa`x"m ,fn< g8<"g< gAR<,g< f` I<"g < gR`RJg 0 HfSf/S+Ia. _aNuCt`C!tp0m>a\. ` ?Overflow ?Redo from start C/ xR  fa. _a`. $@Pd t|INPUT_FILE (|P? 6HZ&<a`/ a. _aNu&<aHai 0Bf>NuDNu&<a*ai.Nu&<aai.Nu&<aaNuJf (-a+HaVfT< g$m$jxg<"fva2fT< g`< gL<@d  efRgJag`*0m>p`\<gJfaf< g< g<,f( "m"iNuaƲ< gad`aTafT m f (-a+H$hx< gRDgag` az< gaaa. m haNu0m>p+`\ "@Rdt~ 2ftINKEY  h n -gB`&x?<?<NMXJ@f xa.Nu/<NMXJ@g$-Og <faTM?xa.0NuxH@?a.0BNu"FPbvINPUT_FUNCTION (|P ,(:RGf:-D(a.0E$p`p$"^0^`p`&STDERR_IOB&2g,/ m fAN _`?/<NM\Nu/<NMXNuCX/ aGB _`:ޛRANDOM_ACCESS |P &\htza;H>pa<f fBNuaT20m>pa$I G>HaZ$-&ԇnC(p!(+B`Zrp(a`p("Se>`p)r`p)`p?`T ".:ZbfDISC_COMMANDS |P Z6/a2? VaZ0 I"tva\f8p*ap"_$aa] ^`Zx0Dpa\fRD|caTC>Nuv`T//a? VaZ0 I"tva\fp"_$aa] ^`Z  *.4>LXftEOF_FUNCTION |P <.apa.g~Nuap~a<fp*a.Nuap*a.Nu(06nENQUIRE |P (0mDpaHB~BNu0|`0mDpa~ANu hWIDTHS |P "00^=` 0|`0mD4>aJ2p ` ST_SPECIALS4 &,A.NuA`A<`Ax`A`AZ`0``0-``*2GRAPHICS_PROCS |P H2@pa"PNupaM NupaM NupaM Nu="N0mD`42p0mD`p aPNu0>EASY_GRAPHICS |P j$ p0mD`42 -PfARmja>SmjNupJGk gSGf4pa2g,jpaHB2RAJVjTNNuSA4j?pa42p`SBdaTf~IBM_GRAF |P 8*"|fSG42HHA24p"0mD`|fSG42mm` ON_ERROR @ l&,X2fFJ-gB-&m(m.l,lNPaT>-Nu>-Nup+@;@;@;@NuJ-g0-vBU`TaJp0v`T+HNu"VZdCHECK_ERROR @ LJgDJ-f>|g8|Mg2|Ng,|Og&X;D;mf;U/-BP+La NuHPMUST_IO |P a\fNuX`T 2HACKLIB@ 6^**~|f~`a"Avaa<f~a^??<LNAALa0( AXBSaA4`AWa _aJUgAYar2a`~q Y Program terminated - press a key to exit pFATAL ERROR:  at line  ,<T\djv~.SINGLE_ADDSUB ,GgT klknf`@,k^g>k^g2k8<d,&B<ރeNuRid~S<Nu.NuJNu<oD&B<ރeNukgvgPk<<d&B꫞kBSbHGއ[kgNu~Nu<oD&.<`DgjD`ީSINGLE_DIV , .<ANuNu.<<Nuk~Nu,FfJfg(gvEDiBHGHFFkTiHGDL&:ƞHGHF6BŞd&BރSE&HCBGHEk:څS>:.gNuSINGLE_MULT |,gFg\EDviRE]B&HC(BHD؃BDHDHGHFHFބj gNuSiex@ބއdRgNu~NujJ<NuSINGLE_SQR @ daTgXk dR HC6<(* <.< `(؄*√[Zc gRHCNuSINGLE_INTS Dk gBAkjDNu<Nu~NuBkjDDNufDJjNu(SINGLE_LOG @ǀ ai,<;A`ai ,<[?`NuJgjaTH~<A,<A$aBa,agJCD<c~|*< Art`䤚ܐ(&䣞j.XRQ~agR.$|Ag(jDzG܆[.DJhSINGLE_TABLE1 `z,W}bGX@U @ @ tSINGLE_NORM 6xBJg.jD<¼bHF܆[Jj dRNuSINGLE_TRIG X?<`?<`<bTJNuBgJk<9cH~$<cJ<c <L~TNu,<>.aXDxB΄,<Ca,.a$(< .BJkFD<c~䯾o$`D<c~DDl`z,SINGLE_EXPŀ &<Jj~`~<L~Nu.<AOJNuH~?g$,<;Aai`D<o< l,g:TL~NuRB&(Jk ڄ܃QNuޘQNu<fnzINT_TO_SINGLE :Hz_Jg0jzDi&SbHGއ[Jj dRNuеSINGLE_POWER@ 6.<ANu,`,GBgJgJgaHaL8`4" <AJBjk&.NuJd.,aNv JBg,.aNv"`DBa,<AGaNvNu $,4TdzVSINGLE_CMP Jj Jjf NufNuCOPYRIGHT_SNG'DMC68343 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.̸DOUBLE_INTS!8HF~Jg*]lDvUt QCtJgGNuF"&g0pC2DC|m |4n"Q,gJlDk.Nu~DNu~NunDOUBLE_CINTS=*p"DOUBLE_ADD  *L`LGHaLHaLpHzv~>DjDG@AB|Ab DSGkUĆQ(k(j2xc 0D@`fc 0D@`D@@`D@@ԆӅdf UĆR@(fJk0<NuJkJkxAS@J[NuJkV` (jDOUBLE_MULT"&LHaLHav$OaO `HВR@,@L0 : 8 HB.ڄGHGH@EHE>߃8 < : HBކ,CޅCބC8HFHB: ؅C: ؅C: HA؅CHFHGDHGHDDHFCHF8*܄C8 ܄CHA8 ܄C86 HA؃vHECHEHFDHFHDDHECHE8ڄ"$&@H@@ JmS@|fJf JfS@LXNu $DOUBLE_DIVIDE*LH,.aLHav$OaO `LD@؀ D(*H8x8pJff f0`&e0USjpRSfҎg0L JkS@|fJf JfS@Nu(DOUBLE_SINGLENa8 g0HGOGG,H@O@@HGBG p̀Nu|Nuއg HGNu gV H@H@@mH|lFJj@H@VHFNFr FJgdH@Ri H@.<H@Nu~NuDNubDOUBLE_CMPS!"Lff~Nu~NuLff`DOUBLE_CMP \$,4<HHa>LlLNuHa*LnNua]HNua_HNua^HNua\HNu"NPaHLaL8 f ffNuekD NuDNuj`JVfDOUBLE_RANGE$CanLam~MNu~MNuvDBLMOST#|4H"<> <a"F$GLaf_HNu"2DOUBLE_SQRT @aTaHzJkz~v,<@@dR@/pf ffe"Jk `<@< l ` `Jk `<@< l ` <gLSJk `<@< l ` Jk,SJk `<@< l ` Rex`b"$&ކV JkS@Nu bEASY_DOUBLES " JfJfXNuaGNuaJ[HGNuDOUBLE_FORS<d4"G#^#^ LH"#^) f an\NualNu"GLLaNvHC)famNuanNu$.@V^dDBL_INC#<"pH@rt$GLaHNu <`DBLASCII~/ aJEk6|d WAPd"HpEaf( "_NupaZD+r2aG`DE" 4E|d ICP$ISESA Q<0Q.`p8aD-| d0` oE c I`S@f.RNuvgv I0<0QJf JfzvRNuH(I??<HA|aVe*AaNeAlaVo`A^a8ezAa@Ro`Aba$dABaBo`A,adPAa,So`LfNuLLaHNuLLHaLHNuGLLaap0JgaLaLaHQKA$a~eJjPO:6"LLNu?@$@Y@@@È@jA.AcAׄAe B_B7HvBm@B0Bּ&4C k7CAyؠCv4WnUF؉<Ҳ<XrDBLROUND"<P Jj$&affNup"<` H@H@er@e|Nur4@eNu|~NuXULINT/t"g pJk S@ҁ`0<vNuCOPYRIGHT_DBL'DMC68341 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.jDBL2STR h&xa/ Jj|-aR _.a Nu"bFLOAT_TO_STRING hxaψ  Ira("H Ga NuSTRING_TO_FLOATD? 4 GaZaZai. NuHa`Haai$LNu$(VDBLSTR D?  GaZaZa Nu SINGLE_CMPS @  (4,a_HNu,a]HNuWHNuVHNu,a\HNu,a^HNu,8nSNG_MOST  ,"G,<7-aωa fn~Nu~Nu ZSINGLE_MINMAX  ,ao.Nu,amNu\RANGE_FLOAT ",am .an~Nu~NuPSGN_FLOAT+pJg[H>Nu^FLOAT_QUICK ,<A G.ai Nu,<` \TIMER2  am.aCa,`lCINTSNG! (,<@Jj<ahNuai 0GgDNuSNGINTS! L$ ,a G`&g aJjfNu,<`g @cre_c BNu~Nu"PADD0Jrtvx2(4(6(8( |o864BA@`J@gHCv6BBHANuH0)hlH0)h|?ovx`J@ga`LL*jfcCD@` ԄӃdR@HLNuJfJgJk S@jHNu0<5@NurPMUL/2,JfJg JfJfBBB|XONua/ 04R0(iR@5@&Oz////zL81P֣7CBCSHCԃ6BBHB҂ң7ABAQHAЁ'@\KUEjLJkSjjH&_NuaL/04R0(i5@LL xzJk SjjJk Rjj|?Eg҃тQJk SjjH0,NuPSQRT) $ 3dJfJf1|NuHLJj ShjG$ <HG IA"O$KaA"Ka?|| O"K$LaSk L$KaQ(o(,fAlaLO$L@6(CRCCHNupzPTRIG%L,T4wz\,nND*   a/ a `H`VACE aA CE a / AC E aAC E a`a/ a`H AC E a`ACEaACTEa A:CE a`TACE aA C2E aAC E aAC E a`a/ a@`A CE aO |?b|eLR@|fHL(_`,.O/OH|l H(O$NuACjEaL|o@?D@o6|!ldRBd Ro`@ dRAdRotHACE a / AC EaaACE a / AC EaaB(B,B0B4B8B<|8IB/T/lJoj /4` ACEa|L4FH L(FHJoj ` / A4CE4aA(C E(a./\/\JokACEaRF|@f <"$,O$TNuVp"06Jz "&4JNpFPATAN.ڢ!h4v=>Yպ/mۖ~Un]*wnSVU[rݹUV?wUUUUUꪪUUU?????@ tC^Zg~DATAN%L(0  ڢ!h4a/ OHEa|oP/@ jBRJ@k A"Ja |o IBFa`aXJokA"J aaJ/ j `a2 |?c|dLR@|fHaO(_NuHACEaAC(Ea /A CEaACEaLNu2Hdpv CORD*HO?FH/R/j/j BBBB BB|/|L0FH L$FHA0CE0aA$C E$aJojBof~A?|+."jT/"<HFvAbPmn d\HSC`]HRCPng`\HSCPmg/|E+00,4jDBT/- B eR/.B //tC$JjJ(fB8X*x UeBޅ D0Q>HL|TNuHFo GbAp 5dSGfxA/|E+00|+ `d/ .gR :fR0`RR~1HGHG Ef (+VfR :f$ R ` h01f|+S /f S _ Eg0`LNuH.f 0tLNu,av"OE` 5e / ".gR :f0`|1RG$_ Eg0`<-gr |RE "0V|ddJFgJGn0D@F|dP` |>|dD`(.0D@S@e0`0S@fO$LNu0S@f0Gc.S@f`SFg .SFfSGE+00JGlDGT(| eR(G `.!GEMDOS (h  6:Tr6P 0PTERM0  _CCONIN&  0CCONOUT  _CAUXIN%  _CAUXOUT%  _CPRNOUT%  _CRAWIO%  _CRAWIO_&  _CRAWCIN%  _CRAWCIN_&  _CNECIN%  _CNECIN_& 00 _CCONIS%  _DSETDRV%  _CCONOS%  _CPRNOS%  _CAUXIS%  _CAUXOS%  _MADDALT&  _DGETDRV%  0FSETDTA  _SUPER&   _TGETDATE% * 0TSETDATE + _TGETTIME% , 0TSETTIME - _FGETDTA& /_% 0PTERMRES 10 _%_%_%_%_% _FCLOSE% > _FREAD& ? _FWRITE& @_% _FSEEK& B_% _MXALLOC& D _FDUP% E 0FFORCE F 0DGETPATH G _MALLOC& H _MFREE% I_%_& 0PTERM L_% _FSNEXT% O_% 0FDATIME W oa+1HB1H, /?< NA\"FHNu opaB|l/ ?< NA\Nu`?<0NATH@>Nu?/ opaB/ ?<6NAPNut9`t:`t; oaP/?NA\>Nuz<`z=?/ oa2/?NAP>NutA`?/?/// ?<BNAO .Nu?/?/ o a/?<CNAO >Nu//// /<JNAO >Nua+ԄNut oa oa o a䴼dgR$O w(/ a0B w( / a+a w(/ a?7((?<KNAO.`la+gSfBNua+g@e`z?/ oa8/?<NNAP>NuEX o/ a o / a/<VNAO >Nua+nr Nup@@n$"AX &SQ @  gQB RNuaT@ &z!BIOS@ 80 _BCONSTAT%  _BCONIN&  _BCONOUT% _%_& _TICKCAL%  _GETBPB&  _BCOSTAT%  _MEDIACH%  _DRVMAP% _KBSHIFT% 0 opaB/ BgNM\Nu /0@g$/?/?Nu?/??///?/?<NMO>Nu/Nur`?</Nu oa+/ 0/ S@??< NNPNu oa+/ 0/ S@??<NNPNu oaB/ L H@/2<./NNO .Nu!GEMVDI (h fLTZhlpt$R  |t|xrZ@l(Fb4GU_%0_%_%0  00  000_%000 0 00 0000000000000000000000000000000000 0 0 000 00000 0 0 0 0 0 0 0_%0  0/paBBBe"NuaT4/J orp;BBma/-+Ja+_Nu0;m``;oNu>-Nu?<NNT>NupNBT@VHNu ot%ro`0/;@@ /H@+@<;|"/HA o NTa+TD;D0@ O/-+H UD;| r `2r o /H@+@<;|NTa+;D0@ O/-+HSDeBQa6+_N\Nur `r`r o4/Bm;BBa/-+Ja+_Nur%Bmt oBma/-+Ja+_Nur /H@+@;|Bmtat oarAz$4Nurd`r o;P o t at o0-0;@t9 oa8"< -`xrtBmt oa /-+J o a+_Nupf;o;|t9"< ,`"p&t "<`p$t"<`p#trBmBm/?a4 oa"Ax4QAHA4QNu;o;|Bmpua o0 o0 o 0Nup`p;|"/HA+A@"/ `p`p;|;oH"/ HA+A<"/HA+A;|;@p ``p;oD;|"/HA+A`p;o<;|Bm`hp;|"/HA+A"/HA+ABm`Dp'`pl"/HA+A;|`BmBmp|a o0 o0 o 0xNuBmBm0<a o0xNup{BmBm`p`pe`p`p`pn+o+o`pw;|a>-xNupx`ryA H@+@;|` rm;|A+X+X;h4< P`T"/ HA+A-x o`+0<a" o0x o0z o taAr4Q o0 otaAr4QNups;o;|a^`;|BmpaJ`6J2!GEMAES ?| P |.dlp\&B`v6$Z J$~b6d$2<@ PZRt$ .hp ` _%0 00_%_%0_%_%_%_%_%0 00_%_%0_%0000_%_%_%0_%_%_%_%_%_%_%_% _%_%0  _%_%0_%_%00 00 0 _%_%_%00_%_%00_%_%_%_%_%_%_%_%_% 0_%_%_%_%00_%_%_%0_%0GUpq+o"/`hpp"/a^ o Nup.A0 0 "o00+oa o0NurLA p`.A+PC2BYpa^p/``r+A p`r*Ap+P`p`pz`p{`pr` p2`p`p);o+oa`>Nup`p(`p` p `p!`p-+o`r'` rs`r`rN;o`r `r /H@+@+o`JApapGa``(r0`rFApaa$`p,;o +oa`A r`pOa``LpMa``Dp6+oa``6A paPpla``&Apa@pa``p;o"/HA+Aa`Ar`&AEp"`4Qph"/`C2QNu>E"`2QNuA@p a+o /H@+@pa`rA`A pCapK+o `8re`rdAp`$ri`rHAp`rI`rJAp`r3Apat0a`>Nupo`p`pj`p`p"/HA+A`p5` pk`pg`pf;o`pm`A+HAX+HpxaCXx oa+E o`,Apa+o+opy`vA+H Pa^p}ad o$o( f`+rP`r| oa o`rQ` rn`r4;o oa+a`AX+HSe`BNua+AX+H` oa+o ;op"`  _Ha+exA+Haz[aL/ N oBPNuzZ oa+p d(a o a+Afap0a`g o0 o Efa oEX"JJf( S`+ oa+pdpxa$Se `Bp a`>Nu+o`p7A00 0+oa o0 o0Nup8;o ;o+o a> o0NuCX I /$H@""/HA"C6420atC Q0 a0 a0 a0Nur#;o oa+ m|Aa^`r;oAX+Hpa`> o0 o0 o `;o0<a``+o +o /H@+@p$`+o+o +o+op%`;o ;o /H@+@p&`tFV^l|Z2P( !MENU (h 0_&GNu -gBm+@pa` mBax oa+pvz SeX [fRaVSeL |fFaLSe@ ]f:`.Se4 [f.a2Se( |f"a(<]g Se \f`RSJf`6aTRR (fSeRRSe<\g <]g<|fSRNu ЃaxH&HEX Ga+d VNV OSQB(OaN^+K+K;|Rmpra`G+gL;|pa`.-Nu(-\] PP H*KAp&Q/ z|g8<[f;E4RE6&& B[&a$f7|6@B[66`7|(_;FD?;E;EREB[6/ &&B&& |MH/ ?RE&&B&6B[&~vJFfv<|fnMRE6&&B[&B[6RGaxf7|66@d6<]fJCjRCg/ I`(_6<47B _SE1ERE01C1G/Ag 1CA` _fF7| "_02LNup (@fRg<]g<|g <\gR`BDNu (6!FALCON (h .nU _VSETSCREEN%  _VSETMODE% X _MON_TYPE% Y 0VSETSYNC Z _VGETSIZE& [ 0VSETRGB ] 0VGETRGB ^ 0DSP_DOBLOCK ` 0DSP_BLKHANDSHAKE a 0DSP_BLKUNPACKED b 0DSP_BLKWORDS { 0DSP_BLKBYTES | 0DSP_MULTBLOCKS  0DSP_INSTREAM c 0DSP_OUTSTREAM d 0DSP_IOSTREAM e 0DSP_REMOVEINTERRUPTS f _DSP_GETWORDSIZE% g _DSP_LOCK% h 0DSP_UNLOCK i 0DSP_AVAILABLE j _DSP_RESERVE% k_% 0DSP_EXECPROG m 0DSP_EXECBOOT n_& 0DSP_TRIGGERHC p _DSP_REQUESTUNIQUEABILITY% q _DSP_GETPROGABILITY% r 0DSP_FLUSHSUBROUTINES s _DSP_LOADSUBROUTINE% t _DSP_INQSUBRABILITY% u _DSP_RUNSUBROUTINE% v _DSP_HF0% w _DSP_HF1% x _DSP_HF2% y _DSP_HF3% z _DSP_HSTAT% } 0DSP_SETVECTORS ~ _LOCKSND&  _UNLOCKSND&  _SOUNDCMD&  _SETBUFFER&  _SETMODE&  _SETTRACK&  _SETMONTRACK&  _SETINTERRUPT&  _BUFFOPER&  _DSPTRISTRATE&  _GPIO&  _DEVCONNECT&  _SNDSTATUS&  _BUFFPTR&  0VSETMASK //?/ oaHmX?<lNNO .Nua+mxAXB0@SDQNu.o o aHmX?<oNNO .NuP!SPEEDO (h p@HbJll4Hdz6_%000  0  0000000 0 00 0 00_%_&000_%_%_%_%_&_%0000 000;m``/paBBBe"NuaT;BBa/-+Ja+_Nu;|`BmBmr ;Ap a>-xNu;o /H@+@pBm;|`rr `;| 4/ oCRBJ;BSBkvXTIQ4/ oadCx o0 o0 o ta2C$$Nu+| Bm;|2<c;oaN o0Nu+o0<Bm;|a ox8-Cx0$IS@k2`Cx`+0<BmBma o  o Nu0<;o;o ;|`0<` 0<`0<;oBm;|aZ>-xNu0<;o;o Bm;|a6 o0x o0zNu0<;o aCx o 0 o0 o o o o o Nu2<;|;o <;o> oNTa+;D0@ O/-+HSDeBQa+_N\Nu2<Bmt oa/-+J o a+_Nu2<;o <;o > oa+$D;DB oaNA@JSBk Q o`bBm;| o4/;BBa;oA 0<a o0xNuBm;|0<;o+o`;|;oa>-xNu;|+oa.-xNuBm0<a o0 o0 o 0 o 0Nu0<+o;|Bmaba.-xNu0<`0<;oaaNu;o 0<a o  o Nu0<;o a o0 o`(2<Bm oa&>-xNu oa+D;D0@2/NT O/-+H0UDeBQ0<a+_N\>-xNuBmBm0<a>-xNu0<BmBmaz o xNu0<;oa o xNupCR@Jhf;@Nur`2<;|;o <;o> oa`2<;o <;o > oa$@;@B oaA@JSBk Q`0C22p o ah0/;@@ /H@+@<;|;| r `  H> !MINT. 0SYIELD  _FPIPE%  _FCNTL&  _FINSTAT&  _FOUTSTAT&  _FGETCHAR&  _FPUTCHAR&  _PWAIT&  _PNICE%   _PGETPID%  _PGETPPID%  _PGETPGRP%  _PSETPGRP%  _PGETUID%  _PSETUID%  _PKILL%  _PSIGNAL&  _PVFORK%  _PGETGID%  _PSETGID%  _PSIGBLOCK&  _PSIGSETMASK&  _PUSRVAL&  _PDOMAIN%  0PSIGRETURN  _PFORK%  _PWAIT3&  _FSELECT%  0PRUSAGE  _PSETLIMIT&  _TALARM&   0PAUSE ! _SYSCONF& " _PSIGPENDING& # _DPATHCONF& $ _PMSG& % _FMIDIPIPE& & _PRENICE& ' _DOPENDIR& ( _DREADDIR& ) _DREWINDDIR& * _DCLOSEDIR& + _FXATTR& , _FLINK& - _FSYMLINK& . _FREADLINK& / _DCNTL& 0 _FCHOWN& 1 _FCHMOD& 2 _PUMASK% 3 _PSEMAPHORE& 4 _DLOCK& 5 0PSIGPAUSE 6 _PSIGACTION& 7 _PGETEUID% 8 _PGETEGID% 9 _PWAITPID& : _DGETCWD& ; 0SALERT <&eclserlerrgcaposPADXPDVXPMPXnbeepgbargdosskilllpos&lsetmenusnamepsetrgetrput&rset!sadd}tron|wavePNORMPSQTX_freebloadbsaveschdirRclearcolorWcvdblWcvffpWcvi16Wcvi32dfree9eraseerrorrfilesfn_gb fopenkfullwgfillMlcaselinefltrimWmkdblsmkdirWmkffpWmki16Wmki32open1open2kopenwqpcopy pexecupointsrmdirrtrimrwabs{soundzstickzstrigtimer}troffMucasev_arcv_barv_bezDBLCOSDBLEXPDBLLOGDBLPWRDBLSINDBLTAN0DIVS32FFPCMPIntAddIntCmpIntDiv/MULS32/MULU32PATAN2PCORDASNGADDSNGCOSSNGDIVSNGEXPSNGLOGSNGMULSNGPWRSNGSINSNGSQRSNGSUBSNGTAN_alloccconrscconwskclearwkclosewcsrlins curdirdbl_eqdbl_gtdblintdbllogdo_eofpdo_inpdo_locdo_lofodo_out$eq_strffp_eqffp_gtfloprdflopwrgemsysgetmpbgotoxy$gt_str2i16_eq2i16_gt3i32_eq3i32_gtikbdws:lboundlocatemidiwspresetpset_rNreturnrget_dCrnd_fnrput_dyscreensetexcsngintspeekbspeeklspeekwspokebspokelspokewst_strsystem;uboundv_rboxvdisysDBLATANDBLEXPIDBLLOG2FFPAFP2FFPSTR2I162SNGIEEEAddIEEECmpIEEEDivIEEESubINT2SNGIntMultPATANH2PU_INITPU_RESTSNG2INTSNGATANSNGLOG25abs_i165abs_i32call_mcchan_in)chr_strdbl_adddbl_decdbl_geqdbl_incdbl_leqdbl_maxdbl_mindbl_neqdbl_sqrdbl_subdcreateddelete9 dim_i32Tdivide0sdos_errellipseenviron fattribfcreate fdeletesfexistsffp_addffp_decffp_geqffp_incffp_leqffp_neqffp_subflopfmtflopver%form_do*fre_i16*fre_strfrenamefsfirstgc_keep$geq_str1i16_eqv2i16_geq1i16_imp2i16_leq-i16_mod2i16_neq4i16_shl4i16_shr1i32_eqv3i32_geq1i32_imp3i32_leq.i32_mod3i32_neq4i32_shl4i32_shr\io_doit\io_open(len_i32$leq_strmax_ffp7max_i168max_i32%max_strmin_ffp7min_i168min_i32%min_str mshrinkmust_io$neq_strOon_goto phase_Bphase_CNreturn2Crnd_fn2runfilesgn_dblsgn_ffp6sgn_i166sgn_i32sngfrac v_clrwkv_clswkv_ftextv_gtextv_opnwkv_plinev_rfbox v_updwk vs_clipCI16_DBLCI16_SNGCI32_DBLCI32_SNGDBLLOG10FFPHTHETFFPTHETAFFPTNORMFFPTOASCIEEEAdd2IEEEMultSNGLOG10Tbadarray`call_gem`call_vdichan_out'code_strcopy_dblcopy_sngW cvdbloldcvhandleLdate_strdbl_lessdbl_typedbltrunc dcr_cons dcr_dest dcr_kill9dim_auto_djn_initTdo_errordo_fielddo_inkeyvdo_mousedsetpath9erase_a0Tfatal_ioXffor_ffpPffor_i16Qffor_i32ffp_lessfind_envfn_intinvfn_mousefn_ptsinagem_inittget_graf2i16_less3i32_lessinputf_f]io_close[io_init2$less_strmem_copymem_fillmenu_barW mkdbloldobjc_addOon_gosubopen_djnopen_gemopen_tosToverflowwpall_setwpallettepellipsepreset_rtput_grafYread_dblYread_ffpYread_i16Yread_i32Dseed_rnd~set_date~set_timeLshel_getMshel_putsngtruncstart_dastpeek_lstpeek_wstpoke_lstpoke_wstr_copystr_dargzstrig_onsversion@swap_dbl@swap_i16@swap_i32Aswap_strLtime_strxtos_freeTundefsubv_bez_onv_circlev_clsvwkv_ellarcv_ellpie:v_hide_cv_opnvwk9v_show_cvarptr_favdi_init>vq_color=vq_extnd<vq_key_s;vq_mouseEvqt_namevr_recfl6vr_trnfmvs_color8vsc_form$vsl_ends vsl_type%vsm_type+vst_font vst_kernvst_skew>wind_getCwind_new?wind_set DBLPWRINT FFPTHETA4 PATANH2_8 PU_DOUBLE PU_SINGLE PU_STRING SNGPWRINT _initpool appl_find appl_read blockmove chan_outpd check_wid] close_all dbl_ascii dbl_minus dbl_round dbl_times  dcr_local9 dim_auto29 dimension\ dos_error err_incon ffp_power ffp_timesr files_all fn_contrl fn_intout fn_ptsoutX fnext_ffpP fnext_i16Q fnext_i32& form_dial` gem_pinitB get_arrayt get_graf2 getcookie init_cont init_heap init_more input_dbl input_end input_i16 input_i32 input_str# instr_i32^ io_goaway menu_text menu_xbarT mod_errora no_rodent nvmaccess objc_draw" objc_edit objc_findO on_gosubeO on_gosubv onerr_off parse_dbl parse_ffp parse_int print_dbl print_ffp print_i16 print_i32 print_spc print_tabE randomize range_dbl range_ffp> range_i16? range_i32 range_strt rectinter right_i16 right_i32E rsrc_freeD rsrc_loadS scan_dcrs6 scrp_readD seed_rndfl set_magicN shel_findJ shel_read store_strz strig_off v_bez_off v_ellipse v_pmarkerD vqt_width4 vro_cpyfm5 vrt_cpyfm1 vsf_color0 vsf_style3 vsf_updat# vsl_color! vsl_udsty" vsl_width' vsm_color vst_arbpt, vst_color vst_error) vst_point vswr_modeB wind_calc@ wind_find; wind_opene window_on write_dbl write_ffp write_i16 write_i32l add_deinit appl_tplay appl_write appl_xfindK bin_stri16K bin_stri32 bload_hash bsave_hashJ check_byte] chk_handle close_chana close_work dbl_divide dbl_mosteq  dcr_to_tmp9 dim32_auto9 elcalc_i32i err_window evnt_keybd evnt_mesag evnt_mouse evnt_multi evnt_timer ffp_divide ffp_mosteqX fnext_ffpvP fnext_i16vQ fnext_i32v for_double' form_alert( form_error* form_keybd format_dbl format_ffp format_i16 format_i328 fsel_input gc_release\ gem_colour\ general_io get_cookie\ get_io_ram+ get_string4 graf_mouse< grow_array heap_eraseK hex_stri16K hex_stri32, i16_divide input_line inputf_dbl inputf_i16 inputf_i32[ io_killsys menu_popup mid_lv_i16 mid_lv_i32 mid_rv_i16 mid_rv_i32$ mosteq_str! objc_orderK oct_stri16K oct_stri32 on_error_0O on_gosubve onerr_gotow pall_reset prog_abendm read_timer\ real_outch resolution" rinstr_i32F rsrc_gaddrH rsrc_obfixI rsrc_rcfixG rsrc_saddr7 scrp_write{ send_sound setpaletteO shel_envrnK shel_write st_str_var start_keep stop_quiet str_concat  string_i32x tos_malloc} trace_init v_bez_fill v_bez_qual v_fillarea v_pieslice v_wc_ftext" v_wc_gtextC vqt_extent& vsm_height( vst_height< wind_closej window_gete window_offa yes_rodent[ all_killsys appl_search9 arr_bad_err` call_vdi_ws check_onerr$ cmp_strings command_strs convert_dos9 dim32_auto2 environ_i16 environ_str evnt_button evnt_dclick extract_hex fatal_error field_startl find_deinitU find_editor+ form_button) form_center$ get_two_strb get_whandle3 graf_handle init_finish input_float inputf_line\ lose_io_ram\ low_bios_in+ make_string menu_attach menu_icheck menu_istart mid_lv1_i16 mid_lv1_i32 mid_rv1_i16 mid_rv1_i32 new_inputfn next_double# objc_change objc_delete objc_offset$ objc_sysvar  old_phase_Da open_window print_comma print_slash  pstr_lengthY read_string\ real_status real_stderr resume_line st_stat_str start_leave_ start_which stderr_long7 v_get_pixel v_justified v_loadcache v_savecache vqt_advance vqt_devinfo vst_arbpt32 vst_charmap- vst_effects vst_scratch vst_setsize: wind_create= wind_deleteA wind_updatea window_inith window_named window_openi window_read write_comma appl_getinfo appl_trecord call_nullstr close_ms_all do_input_i32 dsp_loadprog9 elcalci16_d1Z far_dcr_consZ far_dcr_dest fatal_memory9 fsel_exinput- graf_dragbox/ graf_growbox5 graf_mkstate. graf_movebox intersection lowdbl_ascii+ make_cstring menu_ienable menu_tnormal mkffp_fr_strH mki16_fr_strH mki32_fr_str open_default parse_number print_string profile_init$ rts_str_both$ rts_str_trueV set_messages stderr_conin str_constant use_miniheap v_flushcache v_getoutline vqt_f_extentF vqt_fontinfo vqt_pairkern/ vsf_interior* vst_rotation width_screend window_closeb window_fullwh window_title write_string  _dcr_get_temp9 arr_bound_err9 arr_redim_err change_handle dbl_round_opt double_to_ffp double_to_i32 err_heap_full ffp_to_double free_miniheap get_chan_hashs get_drive_dirt getput_elcalc2 graf_slidebox1 graf_watchboxc handle_events heap_allocate i16_to_double i32_to_double  init_old_heap inputf_string[ io_initialise[ kill_initlist\ low_gen_fstrg menu_register menu_settings$ rts_str_false= static_dimbig= static_dimsml stderr_string str_to_double v_contourfillI val_stringdblG vq_curaddress vqt_advance32 vqt_cachesize vqt_get_table vqt_trackkern2 vsf_perimeter. vst_alignment vst_setsize32 width_channel width_printeri window_contrlg window_locatef window_outputh window_statusalloc_miniheapchan_in_window,graf_rubberbox0graf_shrinkbox<grow_array_i32Glong_to_stringmkstr_from_ffpFmkstr_from_i16Fmkstr_from_i32old_str_concatopened_defaultprint_internalset_defseg_i32Nstack_overflowstart_old_keepstop_statementv_ftext_offsetv_set_app_buff#v_wc_justifiedAvqf_attributes?vql_attributes@vqm_attributesBvqt_attributesvqt_fontheader vst_load_fonts_both_str_concatchan_out_window\check_ctrl_keys clear_temp_dcrsdbl_to_internaldsp_lodtobinary garbage_collect[init_exceptionsnew_temp_string^no_memory_panicuncond_aux_listbottom_of_screendbl_from_interna dcr_cons_new_tem dcr_free_if_temp9element_calculatZfar_dcr_free_if_get_next_channelaget_window_detaiheap_array_allocGlong_unsigned_st\low_bios_pendingmkstr_from_doublparse_dbl_ignoreparse_ffp_ignoreparse_int_ignoreround_aux_list_sset_aux_list_winulong_to_interna v_getbitmap_info!v_wc_ftext_offse vst_unload_fonts`'&|`DNqEND examples\ examples\ENDhgt\hgt\hgt\ENDlibs\libs\END tutorial\TUTORIAL\ABC.BASTUTORIAL\DEMO.BASTUTORIAL\HANOI.BASTUTORIAL\SPIRALS.BASTUTORIAL\WINDOWS.BASTUTORIAL\JACK.SCRTUTORIAL\JACKMED.SCREND hgttutor\ hgttutor\ENDcompat\compat\ENDttlibs\tt\libs\ENDtools\hbasic.ttpEND tools\mon.prgEND wercsbas.prg wercsbas.rsc wercs.infENDtools\profile.ttpENDtools\buildlib.ttptools\checkst.prgtools\ctobas.ttptools\wconvert.ttptools\wconvert.prgtools\raminst.prgtools\raminst.rsctools\wimage.prgtools\wimage.rscEND hbasic.prg hbasic.libENDtt\hbasictt.prgtt\hbasictt.ttptt\hbasictt.libENDD:\INSTALL\HB2INST.BAStoolbox.basD:\HGT\GEMAES.BHD:\HGT\DIALOG.BASD:\HGT\FILESEL.BASwindow.bastextwind.basE:\SPLURGE\RC.BHhb2inst.bh. F !R!bFM.d. v;./==. .:.(<<.z8<&<T><$<|(o*lNNpNN~N<OOB-J+| V+|R`Nq`c Nq` DNqPJNT)N)O-->,HޞN\NuNT)N)O.,+GN\NuNT)N)O?<?,HmNPO;G.-/NXON\NuNT)N)O?,NTO-~ޞ G>9G>,N\NuNT)N)O?,NTO-~ޞ G>9G>,N\NuNT)N)O?,NTO-~ ޞ G.)G.,N\NuNT)N)O?,NTO-~ ޞ G>9G>,N\NuNT)N)O?,NTO-~ޞ G>9G>,N\NuNT)N)O?,NTO-~ޞ G>9G>,N\NuNT)N)O?,NTO-~ޞ G>9G>,N\NuNT)N)O?,NTO-~ޞ G>9G>,N\NuNT)N)O?,NTO-~ޞ G>9G>,N\NuNT)N)O?,NTO-~ޞ G>9G>,N\NuNT)N)O?,NTO-~ޞ G>9G>,N\NuNT)N)O?, NTO-~ ޞ->, ^0N\NuNT)N)O?, NTO-~ޞ->, ^0N\NuNT)N)O?, NTO-~ޞ->, ^0N\NuNT)N)O?, NTO-~ޞ->, ^0N\NuNT)N)O?, NTO-~ޞ->, ^0N\NuNT)N)O?, NTO-~ޞ->, ^0N\NuNT)N)O?, NTO-~ ޞ-., ^ N\NuNT)N)O?, NTO-~ ޞ+G--.- G>=>,FG^ ^0N\NuNT)N)O?, NTO-~ ޞ+G--.- G>=>,^ ^0N\NuNT)N)O?, NTO-~ ޞ G>=>,^=~NN9G>,N\NuNT)N)O?, NTO-~ޞ+G--.- G>=>,FG^ ^0N\NuNT)N)O?, NTO-~ޞ+G--.- G>=>,^ ^0N\NuNT)N)O?, NTO-~ޞ G>=>,^=~NN9G>,N\NuNT)N)O?, NTO+G--~ޞ G>=~DG^=.,N/>H-.N;G--~ޞ G.+G~==-~AN`6Nq---,=-~NFN ^A. GRAN`Nq--~ ^N\NuNTpN)N)OAx-NtN?,NTO+G--~ޞ G.+G.- G~JGg4Ax-Ax-.- G~NNNA. GR`NqA-Ax.NA.NXN&N\NuNTpN)N)OA-NtN?,NTO+G.- G~JGg4A-A-.- G~NNNA. GR`NqA-A.NA.NXN&N\NuNT)N)O.,N;G?, NTO+G~==-~AN`6Nq---,=-~NFN ^A. GRAN`Nq--~ ^N\NuNT)N)O>,JGg?<~/N\O`Nq?<~/N\ON\NuNT)N)OpN.,rNA./N&N&OJGfZpNNt$[3][Resource file not found][ Quit ]rN?<A ./N*N&O;G~Nն~;GN\NuNT)N)OJmf>,XG=~^9G>,N\NuNT)N)OBm=-~N>JGg^Rm=->-NT=>-"m. G=>,NN^JGf>-"m. G=>,NNJGgBm>-9G>,N\NuNT)N)O?,N >TO=~N>9G>,N\NuNT)N)O~"m. G>;G=-~N6==-~NT^JGg,~"m. G>?N TOFGJGg`fNq~"m. G>??< HmHmHmHmNO;G mf ~"m. /N`XO` NqN%N\NuNT)N)OA.N~=A.v!NPBm?<NTO;G?<~RGTG??<?<?<?<?<?<?<?<?<?<?<?<?<~"m. /~/Hm*Hm,A,./Hm.Hm&Hm(NO>;G$?<NTO;G=-$~^JGgBJm2g:pN=-&><^NrNA./?-&?-.N\N&O=-$~^JGgN JmgN\NuNT)N)ON6-,NtNJGg.,/N zXO?<?<Hm6Hm8Hm:HmN`,Nq~=-,=->~NFNNƘA>N`Nq~NƠ;GN\NuNT)N)ONԲNג-.<CNxN G. G>9G>,N\NuNT)N)ONԲNג-.<DNxN G.->, ^0NԲNג-.<ENxN G.-., ^ ~4NԸNԲNג-.<DNxN G. G>9G>,N\NuNT)N)O?<?, HmHNPO;G?,.-H/N\O;G>-9G>,N\NuNT)N)O.-/HmLHmNHmPHmRNhO?<?<?<?<?<?-L?-N?-P?-RNPO?<=-L=-P~N^?=-N=-R~N^??<?<?-L?-N?-P?-RNPO.-/?<?< ?-L?-N?-P?-RNO;G.-/?,N\O=><^;GT?<=-L=-P~N^?=-N=-R~N^??<?<?-L?-N?-P?-RNPO?<?<?<?<?<?-L?-N?-P?-RNPO?-TNTO Gf?-T?<NVXO>-T9G>,N\NuNT)N)OpNLN-~N@rN?,A ./N N&ON\NuNT)N)O?,N TONhHLN\NuNT)N)O?, N(TO;GV=-V>, NFJGfP=-V>,NFJGg?-V?<NXO`Nq?-V?<NVXO?-VN,NF?-\?<=NXO^JGf?-\N-\9G>,N\NuNTpN)N)OA-NtNLJGgNN=><0N\JGgHmHmHm^NO `6NqpNA.rNHmHmHm^A./NzN&O Jm^gA.N;G`A-=-`~NFN;Gb=-b~\NF==-b~:NF^JGg`Nq m`f`NqSm``NqA-A-~=>-`NF-A.NN`NqA-NtNA.NXN&N\NuNT)N)OA-NtNǞ-Nt\*.*NNA-NtNN\NuNT)N)O=,>,N>JGg"A-A.NA-A.N-,=,>,^=>,DG^ ^0., G=~NTJGg~9G`BNq=,>,^==,>,^N>JGg-,>, ^0-, >, ^0~9G>,N\NuNT)N)O?,&?,"?,?,.,/., /NBOJGg:?,$?, ?,?,.,/.,/NBOJGg~9G`Nq-,~ ^0-, ~ ^0~9G>,N\NuNT)N)OJmpfN)Bmn><mnNJg Rmn`Nq?<~/N\O=-n-,=-6=-8=-:=-<>,NRm=-n~=Ad.NJ>-"m- >-d ^0=-A.vAN-., ^ =-A.vAN-., ^ =-A.vAN-., ^ >-"m- ~ ^0>-"m- ~ ^0>-"m- ~ ^0?<NTO?-d?<HmfHmhHmjHmlNO;G>-fmj=~DG^;Gj>-hml=~DG^;Gl?<?-f?-h?-j?-lNvO ?-f?-h?-j?-lNrPO?<~/N\O>-d9G>,N\NuNT)N)O., G>?N >TO;Gt=-t~N>JGgJmrg ., G>?N\TOJGf`NqSm=-tA.vAN G. GN=-t=-~A N`LNq>- "m. ->- RG"m. G> ^0=- A.vAN->- RG=A.vAN G. ^ =- A.vAN->- RG=A.vAN G. ^ =- A.vAN->- RG=A.vAN G. ^ >- "m. ->- RG"m. G> ^0>- "m. ->- RG"m. G> ^0>- "m. ->- RG"m. G> ^0A N`Nq., G=~=A.NJ=-~N6JGg >-N.-,~ ^0N\NuNT)N)O=, ~N>JGgB=, >,N\JGg~9G ><9G`Nq=<>, H/>H-."N+G|--|>, H->,HDޞ&N-~ޞ9G =, ><N>JGg ><9G =<>,H/>H-."N+G|--|>, H&N-~ޞ9G=,><N>JGg ><9G~=>,DG^;GvBmz?-?-v?,?-z?-z?-zN4O ;Gx=-v~DG^;Gv?-?-v?, ?-z?-z?-zN4O ;GxN\NuNT)N)O=, ~N\JGg~9G`*Nq>,H->, H"N-.<&N9G>,N\NuNT)N)O?, N >TO;Gt=-t~N>JGg>, ;G=-tA.vAN G. GN?-?<HmHmHmHmNO;G=->-N=>-;G=->-N=>-;G>, JGg:>-t"m- =->-DG^?.?,-NXO ^0`6Nq>-t"m- =->-DG^?.?,-NXO ^0?, N#TON\NuNT)N)O?, N >TO;Gt=-t~N>JGgr?, ?<HmHmHmHmNO;G=->-N=>-;G=->-N=>-;G>-t"m. G>;G>-t"m. G>;GA. G>JGf=->-DG^;G`NqA. G> Gf>-m;G`NqA. G> Gf=->-DG^;G`NqA. G> Gf>-m;G`NqA. G> Gf=->-DG^;G`nNqA. G> Gf>-m;G`JNqA. G> Gf=->-DG^;G`"NqA. G> Gf>-m;G>, ;G=-tA.vAN G. GN>-t"m- =-=->-DG^=~DG^=>-NRG=>-N=~N ^0>-t"m- =-=->-DG^=~DG^=>-NRG=>-N=~N ^0?, N#TON\NuNT)N)O?<~/N\O., G>??< HmHmHmHmNO;G=-~NN==-~NN^JGg&?,?, ?, ?,?-?-?-?-HmHmHmHmNO JGg?<NTO>-m=~DG^;G>-m=~DG^;G?<?-?-?-?-NvO ?-?-?-?-NrPO., G>?N >TO;G=-~N>JGg,., G>;G=-A.vAN G. GNN%., G>??< HmHmHmHmNO;G`Nq?<~/N\ON\NuNTpN)N)O~=A.v!NP>-FGJGg?,?< ?,?<?<?<N4O ;G?,?<HmHmHmHmNO;G~=A.N2~=A.N->- ^0~=A.N2~=A.N->, ^0~=A.N->- ^0~=A.N->- ^0~=A.N->- ^0~=A.N->- ^0?-?<~=A.N/NPON&N\NuNT)N)O?,?<?,?, ?, ?,N4O ;GN\NuNT)N)O~"m. G>;G?-N >TO;GtJmtf`Nq?-?<HmHmHmHmNO;G=-tA.vAN G. GN?<?->-t"m. G>??-NpPO?<?->-t"m. G>??-NpPON\NuNT)N)O~"m. G>;G mfr~"m. /~"m. G>?~"m. G>?~"m. G>?~"m. G>?N!O `VNq mfL~"m. G>??< ~"m. G>??<?<?<N4O ;G`Nq mf~"m. G>??<~"m. G>?~"m. G>?~"m. G>?~"m. G>?N4O ;GN%`xNq mf|~"m. G>??<~"m. G>?~"m. G>?~"m. G>?~"m. G>?N4O ;G`Nq mf&~"m. G>??<HmHmHmHmNO;G=-:>-NN==-<>-NN^==-6>-NN^==-8>-NN^JGg<~"m. G>??<?-6?-8?-:?-??<HmHmHmHmNO;G~"m. G>??<?-?-?-?-N4O ;GN%`Nq mf?~"m. G>?N&\O`Nq mf?~"m. G>?N&\O`>Nq mf2~"m. G>?~"m. G>?NJXON\NuNT)N)OA.N~=A.v!NPA.N~=A.vANPA.N~=A.vANPA.N~=A.vANPA.N~=A.v!NPA.N~=A.v!NPA.N~=A.v!NPA.N~=A.v!NPBmHmHmHmHmN`O;GBmNԲNג-.<CNxN G.-~ޞ G>;G~;GpN\NuNT)N)O>, ;GA.N=-~DG^=A.v!NPA.N=-~DG^==,A.6<NP~;G;|,Bm~;GN\NuNT)N)O=->-;G>-t"m. G>"m. G=>-;GN\NuNT)N)O?-N >TO;GJmf`Nq?-?<HmHmHmHmNO;G>-"m. G>;GJmg0>-^G=~NG;G=->-DG^m;G;m>-"m. G=>-N;G=->-N;G>-m=>-"m. G>N>JGg">-"m. G=>-DG^;G>-"m. G=>-N;G~==-~AN`Nq>-m;GJmgHA.-=-=-A.6<N->-RGN@N?-?-HmNPO`*Nq?-?-=-=-A.6<N/NPORmAN`rNqN\NuNT)N)O~=>-RG=~AN`ZNq>-"m. G>=>-t"m. G>N>JGg>-"m. GSPAN`NqSm>-t"m. G>RG==-~AN`Nq=-~DG^"m. ->-"m. G> ^0~=A-~N=~AN`LNq=-~DG^==-A.6<N-=-=-A.6<NNAN`NqAN`\Nq>-t"m- ~ ^0N\NuNT)N)O., /., G>?.<+/.<+x/.<-/NO;G=-~N6JGg\Rm=->-N>JGgSm~;G`8Nq>-"m- ~ ^0>-"m- =-~DG^ ^0>-9G>,N\NuNT)N)O?<N >TON;G-,~==-><NͶBm>-NVFGJGg4>-N=, =-A.6<N-NNRm`Nq-,>- ^0>-NR?<N >TON\NuNT)N)O?, NTO-~ ޞ G.+G~=.,N=~AN`6Nq---,=-~NFN ^A. GRAN`Nq--~ ^N\NuNTpN)N)O~"m . +GA-NtN.- G~;GJmf`0NqA-A->-NNNA. GR`NqA-A.NA.NXN&N\NuNTpN)N)O?<?,HmNPO;GA-NtN.- G~JGg4A-A-.- G~NNNA. GR`NqA-A.NA.NXN&N\NuNT)N)O.,NN=~ADG^;G=-~N\JGg?-?< NM.XOJGg`Nq?</NA.TO+G ~"m . /?<NA\OpN-,~=~NF-Nt\*.*NrNA./?<NN&O;G?-?<NM.XO+G$.- /?<NA\ON\NuNT)N)OpNNt[1][ Please insert | -.,N-Nt | in drive N-., N-Nt][Abort| OK ]NrN?<A ./N*N&O;G=-~NF9G>,N\NuNT)N)O~9G.,/.,/N3 POJGf~9G`pNqpN.,rNA./N2.N&O?</NA.TO+G(~"m . /?<NA\OpN-,Nt:\*.*NrNA./?<NN&O;GJmfA -N0N`NqA -NtNA -., NLJGg`JNq?<?<NXO;G mf~9G`vNq`Nq mf` Nq`Nq.,N=~ADG^=A(.6<N-A .N.,N=~ADG^=A0.6<N-.,N>,N\NuNTpN)N)O=<=<>-BDG^=A.v!NP~9GA8.?<-N1TONA8-~-A8-NtA:Nd-~-., NpNA8.rN?<A ./N*N&O;GBm@ mf?<NTON^Z?<N >TO.-/?<Hm8Hm:N;|2pN=-2Nt##NBrN?<A ./N N&O?<N_TO;|,~=A.N/~/., N=~ADG^?~ =~ =>-BDG^??-2?-,?<NOJGg4?<N >TO?<?<NXO;GN_<~;G@`NqRm, m,onRm2 mO2oA.N=<A.v!NP~=A.N/., N=~ADG^??<?<?<~ =~ =>-BDG^?NO;G~=A.N/., N=~ADG^??<?<?<~ =~ =>-BDG^?NO;G?<~=>-BDG^?.</~=A.N/?<NNO~=A.N/., N=~ADG^??<?<?<?<NO;G-,NtNJGgVpN-, Nt:N-.,NrNA./?<NN&O;G?-?<>NA.XO;GN_TO`0Nq mf`rNq`Nq mf~9G`VNqJm@gB?< ?<NXO;G mf~9G`$Nq`Nq mf`Nq>-@JGfT>,N&N\NuNT)N)OBmDA@-NBNA@-NtENDNLJGg`.NqRmD=,=-D.,6<N-A@.N`Nq=,., N->-D ^0N\NuNT)N)OBmFAH-NBNAH-NtENDNLJGg`JNqRmF=,=-F.,6<N-AH.N=,=-F.,v"N-N ^0`Nq=,., N->-F ^0N\NuNT)N)O~=AX.v!NP~=A`.6<NP~=~=Ah.v"NP~=~=Ap.6<NP~=Ax.v!NP~=A.6<NP~"m\- ~ ^0~"m\- ~ ^0~"m\- ~ ^0~"m\- ~ ^0~"m\- ~ ^0~"m\- ~ ^0~"m\- ~ ^0~"m\- ~ ^0;|H=-HA`.6<N-NBNHmpHmhHmx?-HN: O=-H~NF==-Z~NF^==-B~NF^JGgAF.NגN G> Gfd=-H~=Ap.6<N-=-H~=Ap.6<NN=-H~=Ah.v"N-=-H~=Ah.v"N> ^0>-H"m|. GSPRmH mHo;|HBmT~=>-H"m|. G=~ANN`zNq>-TpN==-H=-NAp.6<NrN>=A./>==-H=-NAh.v"N>?>=NmN&O^;GTANN`NqpN=-TNt###NB-NtKNrN>-H"m\. G>TG?A ./N N&ORmH mHo~=A.v!NP~=A.v!NP~=~=A.6<NP~=A.v!NP~"m- ~& ^0~"m- ~" ^0~"m- ~ ^0~"m- ~* ^0~"m- ~. ^0~"m- ~$ ^0~"m- ~( ^0;|H>-H"m- N ^0HmHm?-HN9O RmH mHo.-VJgF~"m- ~ ^0~=~=A.6<N-Nt tt\mon030.prgNN\NuNT)N)O., ?,-N TONJGgBpN., rN?,A ./N N&O>,JGg?,N_TON\NuNT)N)O?, NTO=><^=>, NNJGg>, JGg?, ?<N RXO`Nq?, ?<N XO>,JGgj.-/?, Hm\Hm^N-d"m. G=~DG^??<NXOJGg~=>-d"m. G=~AjN`xNq>-ppN==-d=-jA.6<NrN>=A./>=>-d"m. G>?>=NmN&O^;GpAjN`NqRmd mdo*pN=-pNt####NB-NtKNrN~"m\. G>TG?A ./?,N?TN&O;|d>-d"m\. G>?N TO-NtNLJGg0>-d"m\. G>TG??<?,N?\O`xNq>-d"m\. G>TG??<?,N?\O>-p=>-d"m\. G>TG?>=N TONhH>NHLN:Nز;GpRmd mdo"~,=~DG^??<NXOJGgA-NtM:\,N mrfZ>-ppN=NtAUTO\HRAMDISK.PRGrN>=A./>?<=NmN&O^;Gp`VNq>-ppN=NtAUTO\HRAM1MEG.PRGrN>=A./>?<=NmN&O^;Gp`NqA-NtN=-Z~NF==-r~N>^JGgN>-ppN=Nt DESKTOP.INFrN>=A./>?<=NmN&O^;GppN=-pNt####NB-NtKNrN?< A ./?,N?TN&ON\NuNT)N)OA.?<-N TONA-~N-Nt\NJGgA-A-Nt\NN;|tpNA.-=-tA`.6<NNrN>-t"m\. G>?A ./N N&ORmt mtoJmZf=-r~N\JGgZpNNtrN?<A ./N N&OpNNtrN?< A ./N N&OpNNtrN?<A ./N N&OpNNtrN?<A ./N N&OpNNtrN?<A ./N N&OJmzf@pNNtrN?<A ./N N&O~RG??<N RXO?<N@TON\NuNT)N)OBm|N\NuNT)N)O>-"m- >-| ^0~;G2~;GrpNNtFiles to be copied :rN=<~DG^?A ./A./N/N&O;G~NHm~N`XON\NuNT)N)O=-=-|A.6<N-.,NRm|N\NuNT)N)O~=A.v!NP~=~d=A.6<NP~=~d=A.6<NPN\NuNT)N)O>,"m. GRP>,=>,"m. G=A.6<N-., N>,=>,"m. G=A.6<N-.,NN\NuNT)N)OpNNtAdding -., N-Nt to N-.,NrNA./NGrN&OA->,G0N-Nt:\N-., NNNA-~N-Nt\NLJGgA.N;G~==-~DG^=~AN`Nq=-A.6<N-~=>-NF-A.NLJGgA-.,NA-~N-Nt\NLJGg6A-A.-=-A.6<N->-RGN@NNpN=-A.6<N-~N@rN?,A ./HmNGN&OAN`Nq`Nq~==-~DG^=~AN`Nq=-A.6<N-A.NLJGgA-.,NA-~N-Nt\NLJGgP~-A-Nt\N;GA-A.-=-A.6<N->-RGN@NNpNNt\-., NrN?,A ./HmNGN&OAN`NqN\NuNT)N)O;|=-A.6<N->-"m\. G>?.-N TONRm mo;|>-"m- ~ ^0Rm mo;|=-A.6<N-NtNJGg~=>-"m|. G=~AN``Nq=-=-Ah.v"N>?=-=-Ap.6<N/=-A.6<N/NHzO AN`NqRm moLpNNt README.TXTrN?<A ./~=A.6<N/NHzN&O;|>-"m. G=~DG^??<NXOJGg>-"m. G>;G~=>-"m. G=~AN`LNq?-=-=-A.6<N/~=A.6<N/NHzO AN`NqRm mo>~,=~DG^??<NXOJGg mrfbpNNtAUTO\HRAMDISK.PRGrNNtA:\AUTO\rN?<A./A./NHzN&O"`^NqpNNtAUTO\HRAM1MEG.PRGrNNtA:\AUTO\rN?<A./A./NHzN&O"=-Z~NF==-r~N>^JGgRpNNt DESKTOP.INFrNNtA:\rN?<A./A./NHzN&O"A.?<-N TONA-NtN=A-~=~NF-Nt@N^JGgA-A.N~0=~DG^??<NXO;GN\NuNT)N)ONF;|pNNtDisk ->-NNrNA./NGrN&O~=>-"m. G=~AN`NqpN~-~ N-=-=-A.6<NN-Nt to N-=-=-A.6<NNrNA./NGrN&OAN`NqRm moNFN\NuNT)N)OA.N~=A.v!NPA.N~=A.vANP;|A.->-"m\. G>?.-N TONA-NtNJGgA.N=~@DG^"m. -A.N=~@DG^"m. G>=>-"m\. G>TG?>=N TONhH>NHLN:Nز ^0Rm mo&;|>-"m. G>JGg`=-~N\JGg*JmBg.<+G`Nq.<+G`pNqHm?-N\O~=A.vAN G.-~=A.vAN G."N-~=A.vAN G."N-.<&N+G>-"m. G=.-/>H-.NpJGg,?<?<NXO Gf~9G`Nq`hNq=-~N6=>-"m. G=--~(Dޞ/>H-.Nh^JGg&?<?<NXO Gf~9G`NqRm mo|~9G>,N\NuNT)N)O-,NtNLJGg?, Ng*TO`:NqpN.,rN?, A ./N0pN&O?, NgbTON\NuNT)N)O?<., /NSJ\O?<.,/NSJ\ON]N\NuNT)N)OJmf.,/Hm(N3 POJGf~9G`Nq;m;m;m;m+m.,/Hm N5jPO;G;m;m;m;m+mJmf~9G`Nq~;G~9G.,N=~ADG^=A(.6<N-A .N.,N=~ADG^=A0.6<N-A(.N` Nq.,/Hm Hm(N3O 9G>,N\NuNT)N)O~9GA8.-AX.N=~ADG^=A0.6<NNA@-NtHiSoft BASIC Disk ->, G0NNNA8-A@.NJGgVpNNtHBDISK->, G0NNrNHmXA ./Hm@N3N&OJGf`NqAH.N=,>, DG^RG=AH.6<NPAP.N=,>, DG^RG=AP.vANPN;G=, =,~AN`NqA0-AX-Nt:N-=, =-A.6<NNNA0.NDFGJGgpNNt [2][File -A0.N-Nt| not found][Abort|Cont]NrN?<A ./N*N&O;G mf`Nq`NqA0-~==-><NͶ>-Nh+GpNNtrNHm0A ./NSN&O=->, DG^RG=AH.6<N--->-N\N?<>-N-~(Dޞ-~ޞ G>?=->, DG^RG=AP.vAN/?<WNAO >-NRAN``Nq~9G>,N\NuNT)N)ON;G=, =,~AN`NqAh.-=, =-A.6<NNAx-Ah-~=~NFNAx-AX.NLJGgdA.-Ax.N=~ADG^=A0.6<NNA-A(.NJGg HmxNSXOJGf~9G`NqpNNtrNA./HmhNSN&O |ZN,Ah-~==-><NͶN >-N<=->, DG^RG=AH.6<NNN?<>-N-~(Dޞ-~ޞ G>?=->, DG^RG=AP.vAN/?<WNAO >-NR=->, DG^RG=AH.6<N-NtNAN`NNq~9G`NqAp-Ah.NN GLfj~-Ap-Nt\N;GJmgHAp-Ap-~==-~DG^NFN |ZN, |Z|NAp.N`NqNN>,N\NuNT)N)O~9G?, ?, ?,NU\OJGg"?, ?, ?,NX\OJGg~9G>,N\NuNT)N)O>,"m. G>JGf~9G`dNq~9G;|;|~+GNtN -.<PDޞ+G.-pN-=,=-A.6<NrN.-A./.?,-NmN&O=.</>H-."Nޞ+G--.-NpJGgn=->-NFJGg"?<?<NXO;G`Nq`8Nq?,?-=-~DG^?NZ\OJGf`^Nq;m~+G`NqRm>-=>,"m. G>N>JGg?,?-=-~DG^?NZ\O9G>,N\NuNT)N)O~;GN\NuNT)N)O~;G>,N\NuNT)N)O~;G2~;GrpNNt README.TXTrNA./?->-"m. /N/N&OpNNtRead merN=<~DG^?A ./A./N/N&O;GNHmN`XON\NuNT)N)O?, ?,NXOJGg?, ?,NVXO`Nq?, ?,NXON\NuNT)N)O.-/?<?< ?-?-?-?-NO;GN\NuNT)N)O.-/?,N\O=><^;G?-NTO Gf?-?<NVXO>-9G>,N\NuNT)N)O.-/HmHmHmHmNhO?<?<?<?<?<?-?-?-?-NPO?<=-=-~N^?=-=-~N^??<?<?-?-?-?-NPON]N\NuNT)N)O.-/?,?<?-?-?-?-NO;GN\NuNT)N)O?<=-=-~N^?=-=-~N^??<?<?-?-?-?-NPO?<?<?<?<?<?-?-?-?-NPON\NuNT)N)O.-/?,?<?-?-?-?-NO;GN\NuNT)N)OJmZg?<NTO`Nq?<NTO?<NTO;GN\NuNT)N)O?<NTON^Z?<N]TO;G?-NTO;G=-~NF==-~NF^JGgN mfSm?-?<N]xXO~?N@TO?-N_TO?<N]TO;G`Nq?-?<@N XOJGg mfND`vNqA-NNSmA-NtNJGg>pNA.rN?-A ./N N&O mfND?<N@TON]?-N]TO;G` Nq` Nq`NqN_<>-9G>,N\NuNT)N)O?<N@TO?<N >TONKTNPJGf~9G?<N >TO`NqHmNp\XOA(.N~=A(.6<NPA0.N~=A0.6<NPJmg Bm` Nq~;GA -NtHB2WORKNA(-Nt Work DiskNAX-NtAN~"m. G>JGg~"m. G>JGfn.<N̆ Gf\AX-NtBNpNNtArNA./NSN&OJGf~9G?<N >TO`Nq`dNq~"m. G>JGgJpNNtBrNA./NSN&OJGf~9G?<N >TO`rNqA.-~=A.6<NN=-r~NF=A-NtN^JGgA-NtM:\NpNNtT0PrNA-Nt WERCSBAS.PRGNrNA./A ./NnN&O pNNtT1PrNA-NtMON.PRGNrNA./A ./NnN&O pNNtBCDrNA./HmNnN&OpNNt$B0rNA.-~=A.6<NNrNA./A ./NnN&O pNNt$B1rNA.-~=A.6<NNrNA./A ./NnN&O =-Z=-r~NF^JGgDpNNtT0RrNNt0rNA./A ./NnN&O ?<NTON^ZpNNtrNNtrNA./A ./NSN&O Bm;|?-NZTOJGf~;G`NNqpNNtrNNtrNA./A ./NSN&O Rm moJmg~9G`VNqpN~=A.6<N-Nt HISOFTED.INFNrNA./NpN&O~9GN_TO>,N\NuNT)N)O?,?<N RXO=,~DG^??<N RXON\NuNT)N)O?,?<N XO=,~DG^??<N XON\NuNT)N)O?,Ng*TO=,~DG^??<NVXON\Nu~=A-.<v!N?<?<N+XOpNNt HB2INST.RSCrN?<?<A ./A./A./NN&O AF.Nג-.<FNxN G>RG=AF.Nג-.<FNxN G>N=~PN\JGg?<?<NXO;GNNt_FDC-A .NJGg-- .<Nh;GB?<NTOpNNt hbdisks.dirrNA./Nl4N&OA-Nt hb2inst.infNBmzNt_CPU-AV.NJGgjNt_FPU-A.NJGgH--V~Nh=--.<Nh^JGg&~;GZ~(=~DG^??<NXO~;Gz` Nq~+GVJmzft?<(NgTO?<$Ng*TO?<?<N RXO~RG??<N RXO?<?<NXO Gf?<?<NXO;Gr` Nq~;GZJmZgV?<,NgTO?<0NgTOpNNt C:\HBASICrN?<A ./N N&O`Nq~"=~DG^??<NVXO~*=~DG^??<NVXO~.=~DG^??<NVXO=-r~N6JGg8~,=~DG^??<NXO~&=~DG^??<NVXO`Nq?<,NgTO~0=~DG^??<NXOpNNtA:\rN?<A ./N N&ON:NDNGN`@;G m1fN_`bNq m2f`XNq`LNq m4fNl`6Nq m5fNaJGg` Nq`Nq m3fN\`NqNNT)N)ONKTNOxN\NuNT)N)OBmBmN;G-,~==-><NͶ>-NVFGJGg=->-N6JGg0>-G ;G=-A.6<N:=-A.vAN:>-N=-A.6<N-NN=-A.vAN-N ^ Rm`lNq>-NRN\NuNT)N)OBm-, ~=~NF-Nt\NJGg-, Nt\-., NN-, >,G0N-Nt:N-., NNN-, ~N-Nt\NLJGg., N;G~==-~DG^=~AN`Nq=-A.6<N-~=>-NF-., NLJGgB>-==-A.vAN G-.<ޞ-.<&N/>H-.ޞ;GAN`Nq`Nq~==-~DG^=~AN`tNq=-A.6<N-., NLJGgB>-==-A.vAN G-.<ޞ-.<&N/>H-.ޞ;GAN`Nq>-9G>,N\NuNT)N)O;|>-H-A-., Nd;G=-~NTJGg`>NqA-=-~DG^=~NF-~NNLJGg`NqRm`NqJmg>-RG;GA-=-~NFNJGg Rm`NqA-A-~==-~DG^NF-., N-.,N-~NN-A->-RGN@NN`ZNqA-A-~-A.N-~DޞN8-., N-.,N-~NN-~NNNN\NuNT)N)ON;G-,~==-><NͶ>-Nh+GA--->-N\N>-NRN\NuNT)N)ON;G-,~==-><NͶ>-N-NRN\Nu~NՎ O/ C0<HЈ",Іd ,`Ь ЬЬ/// Bg?<JNAO Jf$E)ZA8,Hp!!!.H HĐ"MBQd+@A+H+L|SE;EC@+I DX;D Nu _NT+K)O)N/NHz+_Nuv`"Compiled with HiSoft BASIC Some code: Copyright (C) HiSoft 1987Hz?< NAaR??F?F"/FN<+g <-fPN<.g<0e <:dBo?|Bo <:d<0eaG0ajNRo`Jf /k WeR<.f6Bo N<:d<0eanG0a$RoSo ` ooR߰<Dg <EfZ`N<+g <-f?|N<:d"<0e2/A0AA@GA0?AN` g oo8/o gadAC$Ia^`ھ<&fN߰<HfBN<:d <0e2G0`"<Gd <Ae G7`<gd<aeGWaa&``H<BfN<2d:<0e4G0aaN`<OfN<8d<0eG0azaN`Jf0 /k eRdS|"` |"Ag ggfN/"g,Sf f" /H/@` e /a[HPz./gLJ/gv?aT:p`J/"f Jj a[r`J/gDJO$Nu%&!#HJf߯eNua a[>AC$IHa\t`\ / a[ H PNuJf /Ѐe"ЀeЀe Ёe/@NuaAC$I`\Jf /ЀeЀeЀe Ѐe/@NuaXoNuJf /ЀeЀe Ѐe/@Nua|VoNuJf /Ѐe/@Nua`RoNuJfaROHGJD[jDD<AB!zVB.T/zTBNd A"O$Ha\:JFg O"O$Oa\,`O JgCA$Ia\HGPNu  G.ak>aQat` G>Hak(aQaVa> ma#"(-B;_>.`Z"m"( a ɉ m` G.aXkaVV` r ma`( m HR m` GLa(jv"m Jj|-aVR` Ga(kNu"_?->/ /(<a+I+H _Bm>+Ha"nSk +DBaJNua -c4-rAf"f*p+@ m hr0R;ANu Ga"a"+Da*Jf(-dC`xSka`Skr a`Nu|E`|DHaJgCXF;EDm"LHXaVdB-hLAtp gp*J-gd,-gRgSSJkf/g*t-`(R/ft+`4<+ Sg4< /g4<- Jj|a`JEk>RG`8~Jg~8ESDg(Ai"HtEسe"Jxo QSD<0Qtx<-gJk8HSfHDRDHDDHD+D -gRGJkf/g.t-RG`(R/ft+RG`4<+Sg4< /g4<-af-m`68Ggn <%a2` SDa(Qga(- EXFRE-g-aSFk.a-gSfr,aHDSf`HD8<`-g8-r.aSDk`-g<-ar+JEjDEr-aHYg"da$" *H HAaHEa P2IfhNu0`^AX"H$HJfSr-gmFH" Cزd"Ae0f0Br<:d`( 0gSr`"HR f1RrNurNupa m`p@2-JAj -fNu<_fajJAjr-aa\`ز<\fHaPv<\faDpNu< f&RCa4< g<\gr\anWr afV`r\aZ`v<!g&-<&g<#gd - m h$-b&<+f(<#g<*g<$f Rbg`Ta~` <$g<*ff` <.fܶ<#f~x&2-<.g.v<#g"xv<$gaf<$fa`v`aVaR<#g<.g<,fR`zREa(<#g<^f< - m h$-<<bD0f>RQaa|<^f a|`|Jf2-~<+g ~<-f~apNuaH0->g0@paHL Nu -g @+H`A0-JgPQagBNu?a0@` Nu !INu("hNuA0-aPHQNu _x8aSr//Q/-+O/N m( SPg HalLQ m((+P` G("haX.NuACh+H,+HY+I0C - AX+@ +I+I,ctA+H4Nu mX.-DS,-,"F*<& $X,Re^dZ(*gȅe؎ex$`:ȅ eb&ր*gR"&F܄ge>$SQdQd+FL+_/حd(Nut`t`t`t`B HNu"g"A//aRLfBNu"( H瀂H /?<HNA\OLLJgӭ"@Ҁ#A"g ,A",,_Nu" ,_Nu )H / ?<INA\OLNu\\agPB NudH0^@"g\"A")gN&Akd k L Nug0&J$Sjb jg#J L Nu&#K L Nu"Qf6@Lag" A E$#J BP )K5@ЊL NuH0&P$See&J`&"JL f B` dH^@&jbG $K&SebAfk&S2*Ag2"3@$C" L %AgL NuCg~L NuA5@$C`p"g$/ "ArJg$i 2*gЁ$R`"Qf$_Nup"g&/ "AJg$i 2*g $RAd0`"Qf$_Nu1AC!IC8$I g"@`"f!IBC< g(d"@PI`!@g$@%H EaAString space corruptJ$gaA `VH/Gpva0a _a^`SBefg"`Nu*<(I m٭٭٭0$-DgRňX$`,Rd ^("haVSoRgSe(g`x"Dp!a:.Nua H ^Jkga@cR--`.Nua`a  G("haψa h`E`(aa.Nua | *-JcaJgfSge*RIpH@U!Wgj`8JkH`RI VfdLR`LSj` *-Jca\JgbS/ Ř*kSpH@d4d0SWfJkH` VLgSj`ˉ`SWgd`JkH` Vf dL`LSj`ha jafXgXSeTaaVf>d`8<ae <{dNuafgSetHB Vfd`z`z Ga@ ^.`8aJfgSetHB Vf֘d`ac`ad`a e`ab`aSe Se gNuJNu G&$P(<Ƅ VȐ"hNu Ga("P~gNuat Ga.Nuxa.Nu Gaxa^.-NuRGfHx?<HNA\.Nu("hNu/ a _`0/ @Jf(SaR. _` >HǏNu H@g(Jg$HAJ@gJAfHA`JAgH@HAJAf ށeNu~NuDNu$JnDJnDai JkJjDNuJgF //JjDJjDp"~ҁU@D@އeRQ jD jDNuNu^_HNu^]HNu^WHNu^fNu^\HNu^^HNu~Nu_HNu]HNuWHNufNu\HNu^HNu~Nu0@o>Nu0@l>Nu o.Nu l.Nu Ga4)k2BHҁC. Nuv!`6FBH*6HÖk$n UDk>HǞkn"aևQ"`J` GaJgF<fbxCifn4)C k2BCHUDk0BAҀQ8. NuJ-JgaP HxCSDt =QaL`a3a a a a FBH*&k趙nUDk.kھn"aևQ"` GaJgN<fxCift4)C kJ^f2BCHUDkJ^f0BAҀQ8. NuHxCSDt -QaL` GJf@4-H/ x$Nr6ASAHDJDfHD0Bk"R@Q/ pgaC2 AA ?H؁a222"8B2HR2 UAk0B22R@Q2prHASCd2`"Qd&_Nu2 4BSAA M BC p0 !Q&_ GJft4-H/ H/~$Nz6ESE"k\RaHQ( pgaHC2 APA?H؁a222FY"."R: UEk"""RaQ(*`2 Ga4g()f<faB`Nu2) ~` ^aJg<fJGo0)Gkg@@U@>)C HjFޑNuQNu GJg/ I` GJg/ Ia2AifxaF$G !j@B?/4)jFB G/N. Wa\$I GaT"*e").6(_Jk)( Ja` $" $"Sf`(_a ^Jf$M!J44BZ05@HR$  pgC5Cr g(`rNu ^JfX$M!J444 %@R$  pgC5Cr.a ` ^"G002Nu ^"G  "Nu ^"GL !iHNu?a Jg0if$Ip0Nua aHx a".( a ɉ G` Jj|-DA0tpve RdҘ`JjP0Q0Nu;B@'d GataH`0@fNuav[`v{ GaPa8ψ$IaDaSe"pH@ed  QdNu02000@fDAm\Nu20k @1APn Nu@1APl\Nu20k@Nv`@Nv`AX$- pQa m*g $ a E P`NuPSBegN`a(Qa$ a a *(a1aFAa0"a0J`""_xza1a&Jk "-g$ANa>Ga0`2(*`Aua/a2Jg mNJg/a/`AX/a/"a/JUgBJRga#L`H?8(H o(aLLf0ApNupDNuH/2a tf*0@"<g < g8H0 lNL LJNu"`r,HA,t,HB,"Lp`JgB<fp@`JfrAp`CB gB,>4>>>>ZQ"aapNuP"pNur,#pNupDNuB,B,#rarE`pNu|dp,@dAB#A B H`rarYaL8a`/ Jikrarba"W2)a2A at"WJikrafrca`"_2)aA `PXpNu?AA,0-F|gS@gA 00Nu    H @rareaLx*&I/ alfh&_< gR< gL<g<g< eغgHR/ at&_`JgSJ,gS,/ rar ara&_`a"p@Nu?,?<NMX<f lf-OfrpNupMNu?r aFr ax2< gp< g4R,,g,e lf< d<g<d<dp`0,<f< f ,#dR,#A???<NM\Jlg pNuB,`Rgp9Nu0,??<NMXrJfrpNuSgSgUgvSgpDNu&fvRBg/?<=NAJkbPOx(؃AaX)C)C$)C 8?<?B?<BNA)@BoNAO |||9Dp)@@)@NuPH`t9+@TlAgf LNuF5LCKKBg/?<NAXOapNu`8,<d$ g A @N.V@(e|dA`^vp<gJf",g a@farrpNur)ApNuHl(/, ??<?NAO Jk)@gB$Nup>Nua ,$e agp>)@NuA(r0R<gR$pNua",g$S)AS$dBg?/?<BNAO JkavpNua|pDNuat?(,$gA($e(٬٬$a8Jg*)l$/ /??<?NA"/O Jk&ѬfHpNua < g4< g2R,,g(,d"B O | ApB,aXNuB,I? OpaTNuJg$//??<@NA$/O "kpgp=Nup"Nua  IJ,f6,Sev H x ggRQdAL0`r`Jg, I,< g< gReSf C`^v`SH @vapAaFLgNu fXp6Nufp6XNuaB$BSt QdBg?/?<BNA"/O f Hl(/,??<?NAO Jkgr)ApNuaB$Bg?/?<BNA"/O Jl |fZ/?<?B?<BNAO "Jk@g(*HEJEgpH@ @anf(SE`HE  |aZf ,B$A(aHfNu` f(Jj", )A R $,Ga("G ,A(NuXp6Nu?<?B?<BNAO /?<?B?<BNAO "&Bg?/?<BNAff$, `$/`$,"O pNua Tp6Nu< g,< gR,,g,e&,$d 8(R$pNuB,`?r ar a2`p2Nu",pNuPRT:AUX:MID:KBD:LST:H@b0HCXAalg (IpLNuLp4Nu8<0DaQNuH@af Hp0a L LJNu lN -f ?+|pha.+m+mNuBm;| Ap 0Q0BmpNBT@g$pMa;@p-PT@;@0<da0-f:pMa;@;|0<da0-faCannot open workstation;@;@Bn+mxrBmBmp&ad;mjp;@;@m;@lBm;|Bm;|p'a2Bm;|;|paBm;|BmpaNuQQa -gBm+@paBBm;|pzaa(a pa`:BmBmpeaNupD`p4ONu/ H0@a^0/|bCXHI o f"+|phaA`C1111/HC2"n"rpda`kx6A(a9@;@@|B,B,#9m "o B2B.Jo g& Iaa R/ a )H."_Ha٬B"l.;l;|+IpiaRmA+HpiaL 8A0P0000pea;|phaL@ASBSCHH`J-Qfaxp0,lj@C$"T#zT3zRa*aah|aa"A p f ;lN;|Va0Dp@#@")@(_NuHaF2R,;|;|HA+A ,Ь+@GNu0.a H@|dNAX~Nu GEXa/ ?<ANA\J@k`HmX?<ANA\J@g|fHNu Ga>a gEXa AX `ӮJgS` / ?<NAT$_2A:BRA?/ ?<GNAPONu GaJgD<f8pC2)@m$gA0)HjF-SAfaծ -Nua6 a0 a* 0. n0.n"G"]e,0.n e2;@0HR@;@42-F3A;A80.ne2TI;@2ҁb+I,ED5555EDB44vAC,a+mx+H+I;C;|;|pma`"^48LRD60;@8VЀb0A, H20AnaA;HDA0<rtvafNuaDLST:4H>a`6 Vaۼ"0 I0aܴf ^`۬v` naۚSfXv<Igv<Ogv<Rgv<Af2HCt4>.a6 VaZ"0HC IaRf ^aJT ^`Ba,6v`Tapa܄f4 fJ-g pran` f?. i a؇EaԈ0_`0|aSH0fNu<!g.<fH/"h*)g/ I<!fa PHSf _*Nu"hmlH(x"mpaLNuJGo0Gbpaf~(މNu~Nup4`>JGo |d0GNu0Gp4`(;mD>Nua;G>Nu;|>Nu Ga0$0m>pa G`"p0m>aHA86HBrBDHAJAgHAJCgAcVB8SDpr aQNuJGo8SD0m>`JGkg.p0m>agJBgHGJGgHBRBBdBSGHzCt0m>p` m ,g~J-faQ m`la;G>Nu+W +G m;mD>aHJg 0m>p$a4C$<0m>pa A, +HNu"m , If(xR<,g< fS+HJg fSfNuafa iJf>0BfNuafaiJf.Nuafai.JfNuaxfaN`x"m ,fn< g8<"g< gAR<,g< f` I<"g < gR`RJg 0 HfSf/S+Ia^. _a"NuCt`C!tp0m>aN. ` ?Overflow ?Redo from start C/ xR  fa. _a`.&<a`/ a. _aĪNu&<aHai 0Bf>NuDNu&<a*ai.Nu&<aai.Nu&<aaNuJf (-a~+HaVf< g$m$jxg<"fva2f޲< g`< gL<@d  efRgJag`*0m>p`*<gJfaf< g< g<,f( "m"iNuaƲ< gad`aЂaf` m f (-a+H$hx< gRDgag` az< gaaaÌ. m haJNu0m>p+`ׄ:RGf:-D(ab.0E$p`p$"^0^`p`g,/ m fAN _`?/<NM\Nu/<NMXNuCX/ a@B _`/a2? Vaծ0 I"tva֤f8p*ap"_$aa ^`Ոx0DpafRD|ca^C>Nuv`ς//a? VaR0 I"tvaHfp"_$a4aJ ^`2apa .g~Nuap~a <fp*a.Nuap*a.NuA.NuA`A<`Ax`A`AZ`0`20-`J-gB-&m(m.l,lNPaΌ>-Nu>-Nup+@;@;@;@NuJ-g0-vBU`ΈaVp0v`z+HNuJgDJ-f>|g8|Mg2|Ng,|Og&X;D;mf;U/-BP+LavNua^fNuX`~|f~`a"Avaa<f~a??<LNAALa0( AXBSaA4`AWa _aJUgAYar2a`~q Y Program terminated - press a key to exit pFATAL ERROR:  at line ,GgT klknf`@,k^g>k^g2k8<d,&B<ރeNuRid~S<Nu.NuJNu<oD&B<ރeNukgvgPk<<d&B꫞kBSbHGއ[kgNu~Nu<oD&.<`DgjD`k gBAkjDNu<Nu~NuBkjDDNufDJjNuHz_Jg0jzDi&SbHGއ[Jj dRNuMC68343 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.HF~Jg*]lDvUt QCt壌JgGNuF"&g0pC2DC|m |4n"Q,gJlDk.Nu~DNu~Nup"DjDG@AB|Ab DSGkUĆQ(k(j2xc 0D@`fc 0D@`D@@`D@@ԆӅdf UĆR@(fJk0<NuJkJkxAS@J[NuJkV`LHaLHav$OaO `HВR@,@L0 : 8 HB.ڄGHGH@EHE>߃8 < : HBކ,CޅCބC8HFHB: ؅C: ؅C: HA؅CHFHGDHGHDDHFCHF8*܄C8 ܄CHA8 ܄C86 HA؃vHECHEHFDHFHDDHECHE8ڄ"$&@H@@ JmS@|fJf JfS@LXNuLH,.ahLHa\v$OaO `LD@؀ D(*H8x8pJff f0`&e0USjpRSfҎg0L JkS@|fJf JfS@Nua8 g0HGOGG,H@O@@HGBG p̀Nu|Nuއg HGNu gV H@H@@mH|lFJj@H@VHFNFr FJgdH@Ri H@.<H@Nu~NuDNu/ aJEk6|d WAPd"HpEaf( "_NupaZD+r2a2`DE" 4E|d ICP$ISESA Q<0Q.`paD-| d0` oE c I`S@f.RNuvgv I0<0QJf JfzvRNuH(I??<HA|aVe*AaNeAlaVo`A^a8ezAa@Ro`Aba$dABaBo`A,adPAa,So`LfNuLLaTHNuLLHaLHNuGLLaap0JgaLaLaHQKA$a~eJjPO:6"LLNu?@$@Y@@@È@jA.AcAׄAe B_B7HvBm@B0Bּ&4C k7CAyؠCv4WnUF؉<Ҳt"g pJk S@ҁ`0<vNuMC68341 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.xaH/ Jj|-a R _.a,Nuxa"ψ  Ira("H GaNu GaȺaȺai. NuHat`HaraPi$LNu,<@Jj<arh@Nuai 0GgDNurtvx2(4(6(8( |o864BA@`J@gHCv6BBHANuH0)hlH0)h|?ovx`J@ga`LL*jfcCD@` ԄӃdR@HLNuJfJgJk S@jHNu0<5@NuJfJg JfJfBBB|XONua/ 04R0(iR@5@&Oz////zL81P֣7CBCSHCԃ6BBHB҂ң7ABAQHAЁ'@\KUEjLJkSjjH&_NuaL/04R0(i5@LL xzJk SjjJk Rjj|?Eg҃тQJk SjjH0,NuH?@.N"Op QOLNu(j (u@#< k:9/6ɿ2_2/ ,*(ԥ%C@"k( $P@  =nѷYŬG7ֿwp_Aܯ ٌ .BҴ$5ϐ|敔ȸw2œJ~ePm%tѸv z Jgkzއ[ Fnz Fml8DD/A p@<&0@ W.:BEHExHCڃHG6ڃdR:HEXOޅkއSFdRFv 8fi FgNu~NuJDk~HFJ<Nu~|ag*e -WHFag .fagnS<NuafVafdRFa~g .fatg Eg<ef0adge -WaTf8aNf DbE`JjDDDSN .fa(faeSF`&eeeևe ևeօe.NuzgLSg< g< g< g< g` +g -g 0e 9bDNuDNuDNuO// ?<JH>f~A?|+."jT/"<HFvAbPmn d\HSC`]HRCPng`\HSCPmg/|E+00,4jDBT/- B eR/.B //tC$JjJ(fB8X*x UeBޅ D0Q>HL|TNuHFo GbAp 5dSGfxA/|E+00|+ `d/ .gR :fR0`RR~1HGHG Ef (+VfR :f$ R ` h01f|+S /f S _ Eg0`LNuH.f 0tLNu,av"OE` 5e / ".gR :f0`|1RG$_ Eg0`<-gr |RE "0V|ddJFgJGn0D@F|dP` |>|dD`(.0D@S@e0`0S@fO$LNu0S@f0Gc.S@f`SFg .SFfSGE+00JGlDGT(| eR(G ` _CCONIN&  0CCONOUT  _CAUXIN%  _CAUXOUT%  _CPRNOUT%  _CRAWIO%  _CRAWIO_&  _CRAWCIN%  _CRAWCIN_&  _CNECIN%  _CNECIN_& 00 _CCONIS%  _DSETDRV%  _CCONOS%  _CPRNOS%  _CAUXIS%  _CAUXOS%  _MADDALT&  _DGETDRV%  0FSETDTA  _SUPER&   _TGETDATE% * 0TSETDATE + _TGETTIME% , 0TSETTIME - _FGETDTA& /_% 0PTERMRES 10 _%_%_%_%_% _FCLOSE% > _FREAD& ? _FWRITE& @_% _FSEEK& B_% _MXALLOC& D _FDUP% E 0FFORCE F 0DGETPATH G _MALLOC& H _MFREE% I_%_& 0PTERM L_% _FSNEXT% O_% 0FDATIME W oa1HB1H, /?< NA\"FHNu opa2|l/ ?< NA\Nu`?<0NATH@>Nu?/ opa/ ?<6NAPNut9`t:`t; oaP/?NA\>Nuz<`z=?/ oa2/?NAP>NutA`?/?/// ?<BNAO .Nu?/?/ o a/?<CNAO >Nu//// /<JNAO >NuaԄNut oa oa o a䴼dgR$O w(/ a0B w( / aa w(/ a?7((?<KNAO.`٢a|gSfBNualg@e`z?/ oa8/?<NNAP>NuEX o/ a o / a/<VNAO >Nuanr Nup@@n$"AX &SQ @  gQB RNua @ 0SSBRK  _PHYSBASE&  _LOGBASE&  _GETREZ%  0SETSCREEN 0 _SETCOLOR% _%_%_%0 0MFPINT   _IOREC&  _RSCONF&  _KEYTBL&  _RANDOM&  0PROTOBT _% _SCRDMP%  _CURSCONF%  0SETTIME  _GETTIME&  0BIOSKEYS 0 0JDISINT  0JENABINT  _GIACCESS%  0OFFGIBIT  0ONGIBIT  0XBTIMER  _DOSOUND&   _SETPRT% ! _KBDVBASE& " _KBRATE% # 0PRTBLK $ 0VSYNC % 0SUPEXEC & 0PUNTAES ' _FLOPRATE% ( _BCONMAP& , _DMAREAD& * _DMAWRITE& +_% _BLITMODE% @ _ESETSHIFT% P _EGETSHIFT% Q _ESETBANK% R _ESETCOLOR% S 0ESETPALETTE T 0EGETPALETTE U _ESETGRAY% V _ESETSMEAR% W opa8/ ?<NN\Nur`r ?/?/?/ ?/?/B//?NNO>Nur`?</Nu oaN/ 0/ S@??< NNPNu oa2/ 0/ S@??<NNPNu oa/ L H@/2<./NNO .Nu/padBBe"Nua4/J orp;BBma/-+Ja+_Nu0;m`B;oNu>-Nu?<NNT>NupNBT@VHNu ot%ro`0/;@@ /H@+@<;|"/HA o NTaTTD;D0@ O/-+H UD;| r `2r o /H@+@<;|NTa;D0@ O/-+HSDeBQa6+_N\Nur `r`r o4/Bm;BBa/-+Ja+_Nur%Bmt oBma/-+Ja+_Nur /H@+@;|Bmtat oarAz$4Nurd`r o;P o t at o0-0;@t9 oa8"< -`xrtBmt oa /-+J o a+_Nupf;o;|t9"< ,`"p&t "<`p$t"<`p#trBmBm/?a4 oa"Ax4QAHA4QNu;o;|Bmpua o0 o0 o 0Nup`p;|"/HA+A@"/ `p`p;|;oH"/ HA+A<"/HA+A;|;@p ``p;oD;|"/HA+A`p;o<;|Bm`hp;|"/HA+A"/HA+ABm`Dp'`pl"/HA+A;|`BmBmp|a o0 o0 o 0xNuBmBm0<a o0xNup{BmBm`p`pe`p`p`pn+o+o`pw;|a>-xNupx`ryA H@+@;|` rm;|A+X+X;h4< P`T"/ HA+A-x o`0<a" o0x o0z o taAr4Q o0 otaAr4QNups;o;|a^`;|BmpaJ`6pq+o"/`hpp"/a^ o Nup.A0 0 "o00+oa o0NurLA p`.A+PC2BYpa^p/`tr+A p`r*Ap+P`p`pz`p{`pr` p2`p`p);o+oa0>Nup`p(`p` p `p!`p-+o`r'` rs`r`rN;o`r `r /H@+@+o`JApapGa`(r0`rFApaa$`p,;o +oaA r`pOa`LpMa`Dp6+oa|`6A paPplal`&Apa@pa\`p;o"/HA+AaDAr`&AEp"`4Qph"/`C2QNu>E"`2QNuA@p a+o /H@+@parA`A pCapK+o `8re`rdAp`$ri`rHAp`rI`rJAp`r3Apat0a>Nupo`p`pj`p`p"/HA+A`p5` pk`pg`pf;o`pm`A+HAX+HpxaCXx oaE o`,Apa+o+opy`vA+H Pa^p}ad o$o( f`LrP`r| oa o`rQ` rn`r4;o oaa`AX+HSe`BNuaAX+H` oa+o ;op"`  _HaĸexA+Haz[aL/ N oBPNuzZ oap d(a o a~Afap0ag o0 o Efa oEX"JJf( S`R oaNu+o`p7A00 0+oa o0 o0Nup8;o ;o+o a> o0NuCX I /$H@""/HA"C6420a͘C Q0 a0 a0 a0Nur#;o oap m|Aa^`r;oAX+Hpa> o0 o0 o `;o0<a`+o +o /H@+@p$`+o+o +o+op%`;o ;o /H@+@p&`T~. ,@>>@>>ʦpd<ZzN",8 &"JN,R.8~@x*BD@db2~Bv *:f  J\n.24n8~*:.*HjXP*R,,,,4  hZ`b4~6d`nd:*r2j\*"(Br8D HX,bD r  @ B  & HR0XXX4Hn $ *Fh 8.& $ 0$(*,"  `\ I 'M%`2J2.10'BASCA^"Av"Az"Az"A߶"Nu=n~j=@^A"psNBNuCA"AB BBBB"A&"AF"AV"A\"Nu=@@ A@ACEFHJKPRSVU'Q=|(`Bn(K-|VBn&]'gp a`NuQڶQBڸBnaJ(n-LagNua` ag na?HOFtHzaLa6 ngv ng ng$a<.`/ g-Ha>  nxRDgd  g`/ (@g , ga"@an(_aaLJ n`=β<gƲ<f&0HUo< e n/a=ag< g @`>~Jn|k6aL.g0HUez< drH2.f"A&"p 0gHz na=F @`A/(  A&an!I". A⒈A _`< g< g z< g <g ~<g v<g<f =n|*`D<gA:<d< d H<g<g<g4<gV<gN<g0<g<g<gZ<g<g<gIJ<g$<gP<g<g<gX<g<gt<g`a@`ac0`JFgSF?a .aCngREa JgLaC`aKB`|aCa?a NL@kr&IR  fJga^faaJ`xa NH`ja N`\ .gJgdNuC aG`< What blocks!aa / &n".aMlfaf &.ցavBBQڼa "_e gd"K`(Ia F?al<aB`ahBnaPf&n".g.ڶ?paD0@ڶBn`adfa .a(ed CjaG"`j&I".af nSe`a `|af>Jg6a&I".af n`a".&naLb` Invalid blockJ.ڼg* .g a/ (naJ&L(naBaKx(_Nu .g/ (@a&&L(n`0.а|g>|fa<`|f"0.a@pfa" na6 Ia7`n|ff2.Ҳ|g>|6g2<Ug 2<g X|g D|g| fWha+p`$a`HzJ.f ZJ.4g Ra ` \|fz.Og4J.ڼfa-I -I-Iz`J f -n BnzPڼ`B 0.RS@=@LԐnۢd pJf=|ۂn۰k4ۀnbnd 8<.@GfJDfFJngJgkJ.ڼg?aH2B.ڼ"n -I?N-@aHp2zPڼ`^Jg"k J.ڼg?aHT2-n -n zPڼJAg jDASASGaLQ`SAaRfRGQJj ajN2za?pOa$A$-HV.MgJkfa LrRA  f(W&Laf,$ a |dSAa Snې(W"_`~`?"otRB  f&o2a n(oaA2(_.g gaGp<fa-`0afar&IJ.ڴg Ld< g< fR`a vf Sg SA LQ/ RnېaADngRGa@a<"_aaA*`Rn/ (na -L(_a@<`Sg $ fRNu d  fNu(@JNuH(H,a LpNuCxzREfNu< g RE< fn0Ee:Ee`R<Nu8:DpNuH xzf <a8L0Nu< g< fn0Ec:`RE`.в<1e<8da0`ARAe&<d AA00gHp na- _N`C a=@`Command not recognised P dK<fx2|78|fZzv x< g0e< d AAhpNux.aKfHzE.GgaxhNu`#BF.ڴNuJ.ڶg nJ(tga#fafaGVaa=.NuaFf52a*a8 .ЁeBn4a.O0.ېCGd>.@0`Jng SnaQ@SG-L(_a9`3a< g< gNuJngHa&nx&S6nRC  gRIH(ICE:.4<r `fRCQGP Kpx`DgJng2f $fSCSHSE`"1<ERF@b <`fRCQ: KJEk eL``fRCL`XO/ aa"_`C`7ܲ<ae <{d Nu Not foundJng^a&nx&S6nRCSIH(ICE:.4<r ` fSCgSLQ Kpx`JgJng2fRLfRCRHSE`.1<ERF@b<` fSCgxSRd< fa14f` aBfaRD`JDgH a6La1fBa@Bf< .Ёe`&La.f3/a1$aXgҌ&A"aa(a5BnNu .Ёe / C a5"_pNuOut of memory!aaBڸ . nH@@RCRa LӮpNu"@@D@@ N                QNuAg,e?A2a@2`?BaDgTONu2SAe AٴQNuB HN LNua`BڸDaD .g KH@@CRaL ne-H Nu"@@D@@ NQNu"LAxz|er < fPRENu< fn0EcS@r PREQ`PRE`/ *I?.=|ta=_"MB*_NuH2ta4r a9LNuHr a92ta`H/r a9"taB`&<'pfJgJk f<`P0a9HA QNuHA<(prRdؘJf Jkfr`P0a9FQ"L&<p`;B@' Line: Col: Mem: Ana4B.Ada;fAEn/ a?<ANA\J@ga0`z/`&/ nfAϴrpC,N[@fj n PC-/ gD<%fJgg(BE4S<\g<.f.f g <?f"@`S`B` "_<}mp}Sp _Nu.ڶf&Jg .ڰڸg$ .g .ڸg @JfaJf` na"JgrCO0.gU@fafRa `a pfF.gpaAp .gp(na @/.gAaGD na"N ja/ na"p` Cra\`.Ofat>|'gNuHy na!Ta BBz .gZ"np"Qaȸ|dx*D(LLpr .gra dF r .gra j-@-@-Eg n"n )g .ڸfCtraa `"@A,aq-nڸ na a Hn,Hz /<?<0NA>|dB>?<KNAOJk(@J.ڿfXONJ`PaIa8TCI)IC)IaB/ B?<?<KNAOa nڸJ@g J(Va j/,, La _a n aX na n"na naa7 nڸa Nup(_/a  `-HAR AJBHz?<&NN\LNuHHz2`F'C*"AB!I0k/??<NMP(`NuF'!I0kX/??<NMP`?|dB>?<KNAOJkB @!LC!IafB/B?<?<K(HNAarO(/,, La _a H(_JNuEٵC4tJfAf<.`NONAMEgRB`AٴNua@g/pa8e  @Nu _a6pNu?/?<0NA>D|d>HNAP @JNu/?<HNA\ @JNu/?<INA\NuBg/?<NAXONuH/.ڸ/.ڕGaN g Jap`L g &@+tPtG3/.-|(aX-_Jg"WAtJf| nPta'z.-|( na* n"na naa: na-_-_ڸ=|a||LNu )f$INuH nL (h n a0 na n"n-IRnaӆa=|ی=|ێad naLNu x < hg ($NuHz?<&NN\O-@-@NuJ9f/9&\NuJ9f/9&`NupMaN8.H=Dx=nJvpAvr 0Q0Bn`=| d=nFjpda0.jNuafJ=@~Bn`=|d=|vpfaΞ=nނTBn&=|(phaLHHB=@ A=C"H„ۿ|Pla\ۿۿ|Pnۿ?<NNT@۾NuxLH"h 0)Ao3@3@"iB1Nu=|PzG [r(h0(|fa`$|f0(Ao1@`|f 0HhNq( AgQNuz!G8F [Bn&-HV/praRn& _( AgQ"nL"2Nu2.51aBaxp aͰ=@TaaaaxR.ۿg ALa[za\"a\a]a]a^ a] nx PB n̨ PB n PBA!|" A!|, =|&pka:a'Bn&BVpNa(p///?<NNO @-h۸BnۼNuO`a-@g (<:g$H?<NATOL2A:aUI`AA)g<\gBE IH`RA?HoZ?<GNAPOLJ@f|APf|\AfAav Ig0<\fp.f(f$HSH <\gfp`2RHVJf`/ g<\f" `<ae<{d)`"_pOJ@NuHfLNuH<!d B)LNuCaf A$a B*.CJfNuCpvg*< g$<.fPR< g < g`Jf.`BNuA Bn`=|dBnvpfa0.߸=@v=@za0.߸=@x6ap=n߼:6.vab86RCEla<@g@g=@vA 6.x=C|a6Bn`Bndp&aʲ=nߺۂ=n߼ۀNu=CvBn`=|dpkaʐ0.߸NuBnz=C|=|`Bndp ar0.߸NuBn`Bndp&a^Nu=n|&=|(phaʞLH@ASBSCHۦLH?^@@=@ۢYA=AۊBn`Bndp&a2n߸RA=Aۤ0.߼n߸=@۶p0.۪nۢۂS@=@p0.۬nۨۀS@=@Aۮ0.ۢ04.ۨRB02.RAۂ@00.R@ۀnۨ00.R@A&0|00pi`/8^@@fpY@@DBXB8.ۂ%Dd48.ۀDd6(NuBn&=|(HphaɆLHA&BXHPHp3ajVn&p3a`LNuA$-HV00TBX0|H=nT&=|(p `. na E(Gx Jg6 AʅJ+tgAx%H$rҫ"jA@#%$LFGeEHC6<HC-C=|`=|=n*=@`g Jn|k .H2H@nۦen۪dnۨen۬d=|=|=@=A`J.ڵgj?C`aQڵ2NuaH?.an=_LQڵNuHpp ra00.HLn|Nu ngNuH0.$|g|gT|*f,A:a,jA;a$k=@&=|(A$-HV0(p aLNu-HVp `SAVED! SAVED a0.*a`0.*n|f0.,|g|g; f8p` n,g@JngH(na~Sna aLLng RGa `®a a`¢2.ېngHnDGa Vf>a&>.Rna Va(na-LLJGg SGa 8`Ra 0a`FL`>J.faVfd(<a na afe@d`-@-DaQڶBڸa BnBn(n-L-La,BnBn4a =|ېa naNuNu/ _fNu !n!nnڶH !L!n1nېn1n|1nۢ"1nۊ$1nۤ&1n(1n*!nۮ,!n۲0!nۦ4!n۪81n$<1n>1n@!n B1nیF1nێH1nۄJ1nۆL1nP1nN!nR!nV!n Z1n^nڼ`1nb!nۚl!n۞pNua`-Hg-P-h-hhڶL (h-h=hېh=h|=h"ۢ=h$ۊ=h&ۤ=h(=h*-h,ۮ-h0۲-h4ۦ-h8۪=h<$=h>=h@-hB =hFی=hHێ=hJۄ=hLۆ=hP=hN-hR-hV-hZ =h^h`ڼ=hb-hlۚ-hp۞B.4J(tg/AxC4f _Nu1AC nڳg$aH-HJf/ a _fX`pNuH=|0&A$-HV-|Bpa0.Fg n$f0.*a`LNua"gNuH na/ Iah=|&pka?.=|p 2.|a0.LnNgH=|`=|d=n~jPvLHSBSCA,af@AHz0<a<.a p `Bn&pkaaafLa 6a p=_ _aazLNuHr`Hr naApJgJ(f AQ`JAVfExCJg,J)g&jAxJ)tfAʅ%H<jRjj`jCExQAh h":f h h"ArpC,a<8|'g |(f p`pL?Nu|&W:.V`:/.K~IHJg*J-g$Jf, gH Maa#LfQIxKQ _ax` _aj`tCv nA̳fAɱgJg/ naX _a6`..gHAPafaNu<o\ na"/ /ArvJgRCAQ|g6Gn<gGB<gG|<gGNGa _*_`NuLa` IaN`8.z:.KNu0.2E4.6Nu8.z:.KNu0E2.46.Nu|gKL0|oDNuDENuK0.2.46NuK 0n`K0.2.E`K 0.D`K0.2.EE`K0.D`K4HLa(HL0LSC0.ۂHE@0.HE@NuH LHDnۂHDnNua=n|&=|(H*piaaa aaH=|(n n`j=n|&=| (piapa`/ &HLaH(=|&pdaH _=@|k=@&=|( fAICxfAu-H*piaRn(AO-H*piaLa(HۚH(peaJ@g`a2 .afAe: e2`-@a fBڸ .g/ @aAPa#raT _a`pNu=n|&pfa=n|&pgaxCʐra4pNu naJCpJg6)H@NLCQNu QBB)taab=C&pfa&pg` na6.*n|fag`Bڸ nao<"npA&f/H瀀A LBPHR@| fB6.|a|aa&ga=||a`( IahAPa"baD` fJ)tfJ)f )f$INuCpJgCQCrapNu I-Haf napNu na/.ڕ/ Ga&_ gL @"K fC%Exfa nAu-H*=n|&pia=|(phaLHavXOpNua\Lg @apNua pNuavf.a fa\a`/ nal _CrJgifNuCQrNu=|ېBn=|ی=|ێB.0.ېR@|e0<nیg=@ی=n|&=|(=@*pia0.2.ېnc|e0<R@nێg=@ێ=n|&=| (=@*piaNu4SBa QNuHa <LNu?<?<NMXJ@g /<NMXNu0.Q@4.2Be6JBg|e,@dh0`0nۂnۢ=@ۄ0ۀnۤ=@ۆNunneng&ndۂaL߂4TB0.zaVaxa 2n`n@@d0.Bg&ndۂ4aL߂0U@4.~aa4a X2n`VHz=|`=|d=n~jPv0<aVNuHaLNu|>`HC4 nQtfCHhuAxf"_=n|&=|(-I*piaRa^LNua .*K/ /?.?<?NAO M"HrJg0kJ 0f v x ff(gRSf/?.?<>NAXa Bڸ"pNu ar`/Sp$< K  fRQd(Юe"Nu"X/AS&(K < f HSHQꒂd( K ЄUap L"/S$<< gQd k`Ha F:gjAEa Caf8??<>NAXAa Af I|.BAKBHn?<ANA\AaHn/Bg?<VNAO JAaBg/?<NAXNu?a0Nu///?.?<@NAO "JkfpNupNua =nۢۈ=|CxaBnBnB P$a tHa T?.=|8RDnng Qr=Dax8RDngr=Daf(. g:rۂnۢ=Aۈ-D "ta͠  dr a ' dr a0.n$g=@$a=_aLNuۂnۢ=Aۈ`R@|e0<A&0|00pi`rCb`a`JHp ?./ aab"_aapPڵ=_LNu0.ۂ nۢ=@ۈa6pa=nۈz0.۪nۂ=@~0.ۊT@=@߀nۀ=@|=|`Bndpraaa =|NuPڵ.ۿg<(epT.ڵ`=|NuNua2a?(n~axSEneJnc:.RE=EdSEe2Cvr2QBQ=nۄz=nۆ|=|`pabJ.ڼgangRGpa6ag(na^~<`H<.alL`H?<?<?<NM\LNuLۮHzH߂=|`=|dA4-Hl-Hp=|v0.ۀNuphn ehi0n"ePQ@NuA߀C߈ae=|ۼ` C߀A߈a0.|n߀dpma~Nuaapn|n߈a`a-LadaRn߄n߀a`aPa>2.ۆn۶=A|@=A߄n߀`a0a2.ۆn۶=A߄@=A|n߈n߀daX`?aa4n~n߂C߀A߈a0.|n߀dpma`?aa4nzn߆`aa|`J.g Ha:L?a=nۢz=nۆ|aRSEndznc:.RECvrt06.zS@e 2nۂQ=|`=Ed?pa:604.۪@c&6.ۆn۶2nۀSCHz=|`BndpraJ.ڼg"/ a`&_`NuH<4/./.Ha-_-_L,?aXn|n߈nۆaa2`"0.۴R@=@߀nۀ=@|-|`pra&Nu< g`0.I=|`=|dA=AvBnx<f 0.ۂlۄ`=lۄz=lۆ|pa0.ۂlۄ .faLNu`a`0.ۀnۆ=nۢۄNuAa< fr aLNu??AW`8HAٴaX .*fB. _afAaAٴ $_Nup$_Nu n0e-H^`TC"Aͼ-HVp6aLHHےBn&H(H0p3a-|&Bn&LےH*p*aA-HVA-HZ n0ep[a`pZaH@0.H/=|&LےH(H0p3ah H@J@gH@S@NupNu/ na4 _Aa*CpJg&g J)tgHCxJg g`JLg CQ` /Cra _|g pNuAaaBg/?<=NAPaJj\|fNH`A"nD"3| ArpC,a&8|g|gL`LrrBnNuLJNuaxJNu=@aV?<?.B?<BNA-@ٴBoBNAO aF".ٴJNupA4(CgpA Df 4`Nu/"Hagp&Nu0`PATH=Hp&IAٴfaHJ@k`$nCAٴaLg Aٴ-HV<\gfp|ag a k6pNupNuBgHnٴ?<=NAPNu .Pg2 @JfJ(g&RJg Hgg`LpNuLJf`ܑpNu/ /agp _$_NuJg$Wpg"RH<,g<;gp<\g<.fP`Jf\/ f&_HBg// ?<=NAPLJk _$_Nu n h, JfJfDa-@Pg\"@ n h,JfJ(g,EjaNgE\aFgEla>gfJf` JfBJfADfAC aO"@BNu n-h,PNuHfJfLNuARGC=_PBP=__HISOFT__=ARGV= nPJfJf(JaJg DS/ fS$_fBNuHJf Jf" Lg*na&JfCHJga`BNuɈ/ C f"_fNuGCp GHQG'I a"HgCٴBAahJAg!"k JfGHJfApaAC,N|fNuGE"+!g "k$"QaJfGHJfNuPATH=INCBAS=HB_OPT=<g<faf``pNu.afFrpC,AN| g. nBh. V n PakJgaZ/N kNu/ /Hz?<&NN\ _JgnLH瀀B. gJ*gkJ4g aA4aJga`aʮL"n/),#nP,H>/ @NBW?<NN\OL| n!_,JNuaؤ CذfSS/Jgatf``( GD"D.gNaTf _a g$@Aٴ*/ aN"_AٴJf"`PRGTTPTOSGTPAPPPOpGNu 8NuCalfa͌pNuJgH瀀aLJkA4 gaNu/aAga`(f(f$/<NMXOJg/<NMXO<gذ<g NuBL n PBAT4< 1B(B(||PBB(!|Tool 1B<:e&B(B( |1<De |2( B(B(^B(B(ARB<:fNuHGTa G +9dfL Nu na|XgA^Jg (:gb \g\/ AC^f| "_RfAa`h*A^aJga`aǠf/ (j ,((la~(_`4*A^aJgaƠ`alfl/.P/ Hj^Bg?<KNAOH JkJ*fJ*f Cra~`a$oJ*gAa&NLJk J+jJ@g |gaNuE jAC a2APCa&"JvxJ+gxaxJ+gx=DrxJ+fx=D:+a* +a +a x +fx=D`b WXHr0p J`"WXp֔e;HNu/ ov"Ja"_ WRVѶgRgRXNu Jrp C,N|g|f:/ AaTa,Aa$_f/ AEa A$_"HAa`?C AaC^AaCAPa"Jva<VAa" AaAa .sW.;fJ+gNB+ kaYtB`,` HrNT&L+ g `>JGfpLNuNUH 8(H&I+@E`p,.G0` JJfS RSGJGgJfJg8"JN&(HJmg g L"Kf`B` gJf / "KNh$_`` g KJfS "KA` K LN]NuH' .p??BpB?NAO ,Jjp`6p??BpB?NAO *Jjp`Bg?/pB?NAO Jjp` LNuH#(.JGjp`> a,pc/pH?NA\O(@b?p>?NAXOp`/ /?p??NAO LNuNUH#8(HN/ Bg/ p=?NAPO$_. a&@ f Nzp`X$K`*I`PLJgf,*f,*fVJp,@? @d@0;N&>T`z l/H Ja o` l/H Ja o0` l/H Ja o `| J"lf`p l/Hp L"JHz`//Nu`V l"P/I J"o"Qf`> l<(`p0rNR l <JFf JarNQ l JJfS RJf/ ?p>?NAXO$_/ / pI?NA\O$_N pLN]NuNUH!8(H&I.;AJGg J@jR@@ Ke $ / /?r@?NAO ` LN]NuNUH!8(HN/ Bg/ p=?NAPO$_. a&@ K/H g/ ?p>?NAXO$_/ Bg/ p?NAXO$_NjLN]NuH' .Jfp///r?NNO-@ H.Gp?p ?NMXO,gpx@e GbGvg"n ip0z`R @g:pT@e p]@b @"n ir2z`$"n ip0z`"n Qp0zJEf*E`pJ@gpN@g pc@e pr@b @"@ LNuNU+HhhN]NuNU+HPhN]NuNU;@;A+H+I""0-@2-A ma0-2- maN]NuH8(H.&I  L"KN& HrNM,g$l `E 0,rAgrAg rAgrAf R>(`*HJGk|`,DG, gp@o,JFg " K"Ka>, gJGg @kkLNuH(H.|zRF8,g J@gS@g` ` *`g LNuNUH? .JGgp=@=@=@.`p=@=@=@..ԽH@2.Ē@;A2.ƒ@;ApON0.Hn2.jRAAA;@0.Jn2.jRAAA;@Bn&=|(phN;nH;nJ;nL;nNACN&.ԽH2-$@=BH0-&B=Ct;B;nT6-(RD;D8-RD;DxCHĉ;D;A;@CRA;AmR@;@;B;B;m;m=|&pkN=|&pkNBnv=|`=|d0<N@0-H2-H4-H/@ NK8"/NK0Ѐ/rH?NA\O+@g`=|&pNNHmpAC4N& =|&pNN>?-?-?-prA԰N"O p=@&=@(=@*pN0.HmH2.x,0.JmH4.v*JFkrp@nlJEkhp@nb &CC=@ =@JGfp @gp @gp @gp=@&r=A(=A*=@,A԰-HVpKNJ@f|`Zp=@`p=@&=@(Bn*pN|pACNGX=|&pNNHn4pACN$.pI?NA\O=|&pNN=|&pkNBn&pkN LN]NuNU/. HrNI+H0 g 0 f=Gp.N]NuH(H.pnf< HrNIN0<lrAf". l f, g , f=GpLNuNUH'8(H.&I$m0@ g@ g@+g@gx@" fzp4r=AA84<?"LHN'|TO0.rAgT60. LCN!0.HrNHrt p???-?-?-?-0.r LN"p`B|`|`|JRg0a^* @ @fEpA@epZ@cpa@epz@b @@p=@A2<?r"LH@N&TO0.rAg^60. LCN!<0.HrNGrt p???-?-?-?-0.r LN!F0.HrNGrDtW@`j RR0f pa4z`/ ? 2 L"KN\O*JRgp? 2 L"m NTO`(0Gf" J@gS@g`p La@6` p La46 LN]NuNUH00;@H;ArNG "p $i2-$B6<pB1RAH/@pNF&j ""j JfS R@x"/1pj L N]NuNUH(H.+A HrNF t &h|psh Fp܀ 3 g0-S@" L@a@LN]NuNU;@HrNFHr0RA+H0-aN]NuNUH8(H.+I g$I*f0<j@m @ l@0;N* g.&j JGg S"Lf` L"Sf LJfS R`* gXG\JJGg L(K$m`@"m i pR@HrNEh/H o hph L(Kpr I@a"$mGJGg L(K0* ` L(Kp5@ * f$m+J` LN]NuNU/;@HrND " $/@ rND*"/$N]NuNU/ $m ;j;j+H+IAIN mCNV0- m 1@0-1@WmWm\m\m mCN$ ?-?-?-?-pr m Np m a:r m "maPOpr mN2A"mN#$_N]NuNU/ ;@HrNCr0$p %I+H+I0-a$_N]NuNUH?8(H.+I HrNC L"h &i=|&/H$pNN o$0(l7@0(H,RF2+.DAhl7@p KCap;@;@2-?A(SA;A2-?A*SA;A2-SAm2-SAm2/(;AAH;A4/*;B;@0.T;@HHHNB"NBЀ/ /rH?NA\O$_+@gBnv=|`=|d0<N@*SE  LCN0-S@r???-??-?- r LNHmpAC4N>?-?-?-pr KN2=|&pNNx  KCNOpON6.Lg?.J?.Hpr KNXO(p@g"HpNA3 gxDgp@g  KCN4 HrNA p@g"@g ACN HrNA ` AC""?-?-?-?-pr KNXPOp@g AC"",f*p@g`"HpNAP$K* gJx  LCN  KCN|p*rNA K/-/Hm LCa>O `>=|&pNNpACN>>Hn4pACN=|&pNNXO o$0(HR@r2pN@$Kp@g S@" L@ah` =|&pNN  LCN0-S@r?t??-??-?- " LNO p@gJHm  LCNFSmSm0+X@;@ o(2(XA;A>??-?-pr LNO / /-pI?NA\O$_=|&pNNLN]NuNU;@+HCN 0-HrN?r mp p???-?-?-?-0-rNN]NuNU;@+HCN0-HrN?Xr mp p???-?-?-?-0-rNN]NuNUH?8(H.&I;Agn-LVp6N;nH;nJ;nL;nN=|&pkN?-?-?-?-p???"NV>?-?-?-pr LNO=|&pkN;Gvx K/H*p"LaT/@&`JJmg$mg6-p;@r?" LC@NTOBV=|&=|(p=@*=@,p=@.=@0=@2=@4=@6=@8=@:=@<=@>=@@=@B=@DpN<.H:.J;nP0.R>.F?@$g2HmHm  LCaPO(JDf0-HrN=4 fgL??pr LN:XO;@R@f/ p?p?p?NM\O$_p;@`0-HrN=b&L+ fPp+ @f+ f + fSm0-HrN=(&L+gRp? r LCNl0-HrN< t "h0-2/& LN(p? r LCN8XOp;@`pAkr@AfF+ f4p? r LCN0- L"o(ap? r LCNXOp;@`>-SG HrN r LCNOp;@JDgJmg0-Cgp? r LCNTOJDf=|&pkNJmg0Bn&pkN?-?-?-?-p???r@N~O0<mHrN9 0-HrN9 4f p o*"La0-LN]NupACapACapACazpACLavpACahp$ACdaZp%ACaLpACa4p ACa&p ACPaNuNU/ (H;AH;@pN9Jmg ` (_N]NuNU;@HrN8+H0 g0<`pN]Nup0. n PN n PN-@p.rAavp9r Aadp.ڴrAaTp.rAaDp.ھr Aa4J.ڽW@rAa p.rA0pANvNuNUH ~+@+ApAa@p AapAa@ڴpAa@p Aa@ھpAaF@@ڽp.:A p n PN, -gpepb~Jg  n1@b n PN~, -gpn|g(N LN]NuNU/~`" /@A$00A$"/ pN SGJ@f n PN-@.N]NupACNpAC?NAXOAٴCN:ANJ@g"aN`ACٴfAٴCN -LLNuAN8NuNUH0+H;@HrN4f2.xA4(&A12(CJAjRAA1L N]NuH(H&I.`p0r3  LN SGJ@fLNuNUH!(H&I.`@p0"ҁҀp3t4 /ArN3r$/3(x9r3(v9 SGJ@fLN]NuNUH(H~0,HrN3<4zAC""Smp0rN3v(tH0.x@9Hp0rN3\ LhC/HANp oh"tH JfSH Wx@"tH B)<RGptHflDLN]NuNUH!~`:p0rAD0A10.vApA1(Ap* SGJ@f~`4p0rAH0/@ AN lpAH"/0S@AN T SGJ@fpAN BpAN 8pAa0.tnx2.x$BB=@nLN]Nup&AN p'AN pAaNuH0.x(2.Ĭ@.|`p0ЀAL20AĘp SFJ@fpAĘCba0.ŀnh,~`p0ЀAR20AĘp SGJ@fI`RLJgp,fBpAĘa0.Ĭn?-?-?-prANp0ЀA (HpA&Hp@f ` pAar SFJ@f A AaPp'@gp&@gp#@fBn&pkN?-?-?-?-p???r@N LN]NuNU N]NuNUH! NVALa+@ mTHNH.JGk2 N/@ TN~-@g///?p??NAO ?p>?NAXONLN]NuNUH(H+I&L` r\f&LJf m"KfLN]NuH~ `<  A p"P(QC#AJgA pC"qf`B SGJ@fJ.ڿgaNACnfAnCa^ACfACaFLNu/~.fJ.ڿgfJf`=|&pkNJn|gHnKp??.|N POaJf rCN~Jn|gHz4p@g HrN!f24of `p@fpLN]NuH8(H.,:/ &I(`J HrN!*$L0*Dg0(~0*Ef  LNJ@g>*p@f HrN >4`(>Ggp@fLNuNU=@&=A(=m*=m ,=m .=m0=m2=m4;@;ApJNN]NuNU=@&=A(=m*=m ,=m .=m0=m2=m4;@;ApINN]NuH0(H&I0+2,@n 4+6,Bo"?,??,??+?02+a>O `???+???02,adO L NuNU=m&=m (=m *=m,=m.=m0piNN]NuNU=@&=A(-HV-IZ;@;A+H+Ip%NN]NuNUH?:M%(o8@||P=@Fp=@ T=l"l-Q/H(A-ir lSAWA4,6,CC SCWC4, =B4, =B4, lSB=B4, lSB=B=A=C-HrA"HNlA//0.x"HNANDBnv=|`=|d0<N@POJnf,, gpNb0, 2, nNB, gpNDJnfJngpNpNjpNAN2JngJngpN0<Hr( @ҐE &@-AHnACNXO.f0.2. JNJ@g m.f0.2. JNjJ@gpN0, n1@nf2.vjRAAh0, 2,@4.xB n1A0.2(@m U@ n1@ n0(2(@nm2, hnx1An p n1@p=@2.T=A n2(?A,TA=A4(?B.TB=B6/,CHÇ=C8(SD=D:(SE=EASD=DBSE=E=@=@0/,R@=@0/.R@=@HH0.H"N"NЀ/ /rH?NA\O$_-@gNHnpAC4N n0(S@=@2(SA=A4(@RB=B=A=B4(ARB=B=@=B=@=ApANHRnRn0.S@=@0.S@=@ANXO n>(`pr2=@=@pN, n( gp=@0.N0.nR@ n"n2)h h Nn n&H+ g0.R@ n2(kAxND n>JGftpN@pNpNHnACNXO.f n0.2.NJ@g n>(`0. nh2.ht4?@, ?A.rN,C0/,2/. INxJ@gz n( f0.@gbJ@gNANpN n"n0)h=@2)h=AiS@=@hSA=ANANTpN=G n>JGf8`4 n0.2.NJ@fJngNANpNBn.f0.2. JNJ@f n0.2.NJ@f0.2. nNnJ@f o(@0.2.NVJ@gZ0<Hr @Ґ&@-AHnACNFXO.f20.2. JNJ@f n0.2.NJ@f m.f.0.2. JNJ@f n0.2.NJ@fN~pACNtHn4pACN&pNlXO/ /.pI?NA\O$_@|=@Jng.g n0(2( nN`(0.2. nN0.2. nN6J@f=|Jng0. nNB.P0.FN0.HrNf o(0.@0.N0.NX0.NvA//0.|"HN&p"A"HNB.PpL\N]NuNU/M%@|A?@CNRACNt0/Fp,_N]NuHM%@|.Jg nCNBBJg nCNB FpL@NuH!8(H.&I gr n0m S @p" L"KN`p  LNA"LHN HrN>'t A'H'K9A) Jf,A/p&?NN\O` n0lJgA&/p&?NN\OLNu/JnRg n0m2=|R~` p0rNA@0(CLHa& SGJ@f.NuH A/p&?NN\OLNuH(H~&n` Tf~r geJGg n(` T"nd . єLNu0123456789ABCDEFH(K.-L-G |` HA&&H SfAaxRFp @mN FJo nd߮ nd߮`x|&L` nf nfr ge J@g.S@g S@gS@g`8߮-L`.-L`(p-@-@B.ڼ` nd߮ nd߮ nep-@-@B.ڼLNuH?8~|z` A&H(RD A(HJffJ+tgAv`Aʅ&H"HJfS& A$Hp@c""A Kt4&"j f j ` K"j f Cn ,pl J@g p"ANhRG`pl J@f AN**p@e* R@x* v=@~|`&RF A(Hpl J@f 9E9Gnvp@e=ELNuH(H.|JGg,p0rN*X RF4X g HrN LNup.A\aNuH(H&IJg K"Lf LJfS "LA ` LNuH8(H&I"KND$H gJg L"Ka @SH"Ja(@ LNuNUH.(HB,^L|+H` rASLSFJFjA LN]NuH3(H&Iraetzb vC`t&.RLerzb rA`r,RKJggpr@ LNuH7(H&I.|z`@raetzb vC`t&,RLerzb rA`r*RK SJggpr@ LNuNUH(H.,"H;@pN<4 HrN &LJGf ` SG< HrNrtgLN]NuNUH(H."H;@pN>4 HrN&L+ g `> HrNrtgpLN]Nupa0<=@&2.~JAV-HVpNN0.~R@@=@~NuSNUH!((H~A="HJfS ?@ LCN~p LC=NnJ@fD0/J,g.p.,f0A/HCNJ@g oCNJ@f p.G1p@erAe2.`( A(HJ,tgAxCHNJ@gRGp@e LN]NuNUH *M%(m a nWf p?pL?NAXO La?@rAdBA"BA-pA pC-I 0/@ r2 `p-@-@?-/ p=?NAPOLTN]NuNUH/:M%>- ,- (maH nWf/ p?pL?NAXO$_ G mr G ll @ A"P&I/H$"hep`X$K " *n ` *,`&LRLp fp `p SJf o$ݨ `/ / /?p??NAO $_L\N]NuNUH'*M%>- ,- (m nWf p?pL?NAXO0.TJ@jp@gp@fl*`\J.gB.`Pp@ gS@g>@f0|`00.ۂ2.ۄ@.`p N0.ۄGdn۪m`pN(LRL SJf `/ /?p@?NAO  LTN]NuNUH!"M%>- a nWf p?pL?NAXO G m G m ?p>?NAXO`pLDN]NuNUH':M%>-<-*- nWf p?pL?NAXO G m G m??/pB?NAO `G J@g S@gS@g,`> A"ڰ A p*` A p*`p`((E A&H Secp` '@L\N]Nu/ (H`pN0Jfp N&(_NupaNUH.(H+A&T`dr fdSfJg ,` le ` LN]NuNUH; M%(H.+@HHtnfBn LJfS, G m G l4.H(H؂\ d4.(A?Ba22/A @ ?(AA0-A?AC Lf H\2.HҀ=AgRn=nتLPN]Nup=@=@Nu/ (H`pNJf(_NuH.(H HA&p LJfS. g KJfSp0"Ё. NNj g Ka LaNrNLNuNUH8(HpnfCN` gG L/H0( hN(@Bn /A␈rfҁN 6.`2A"HJfS \2.HҀ=AgRnA&H0.ذnl+?Gf Sc0.ذnlX+?GgJA"HJfS \2.HҀ=AgRnA&H0.ذnl+?Gf0.ذnmBnCN`A(?C/ /H I$o"RN(_(np-@NHN o(C/I Ia oJfS \2.HҀ=AgRn-LLN]NuNUHpnfCN`JnfCN`~A(HG KJfS \"HҀ.gRGnf A=@ np-@,?C/ /H I"TN(_NPN, Ka4-o LN]Nupng BnؑarNuNU/~`4A/HN oC IJfS \"HҀ.gRGnm.N]NuH(H~ A␈rfҁN,`nA(HA"HJfS H" Ё\*gRE,?Ff4 L C2.H"L`Sd Gn0.ذGf=E`.nmJnfa `0.2.ز@o=@LNuNUH0M%+@+H+I IN@?@ R@ga0/ @ r$-& m@aL@ N]NuNVNH(H&I g gdJ.ڼgB.ڼp-@ N8p`pLNu/ (I L"naJ@gFJ.ڼf-LN|ڼ`4 n"nd e "LN`d e LN` LIN-L(_Nu/ (I n"LabJ@gFJ.ڼf-LN|ڼ`4 n"nd e "LNl`ce LINZ` LNR-L(_NuH(I0.J@g S@g S@gp`v `r~`Pp@ g Y@g@fJGf~` p@f `Fp@epZcpaepzcp0ep9c `e `r f `e LNuH(I0.J@g S@gFS@gd`z `vp@epZcpaepzc p0e"p9bp@ gY@g@gSLf nf L`A ` p gSLf nf L`A LNu/ (IJ g@ n d"HaR"@a"La"@aL`d"La4"@a"n a"@a,(_Nu H#(H LJfS =@S@=@><`p02.At4A( SGJ@f~`R&Lp00.G,Jng.pAJgrArtBA pARGne>.`L&Lp0Jng0pAJg rArtB"A p"ASGfLNuC   3    3 >2H@?`QQ4NuH8((HJn|g6A CٴfAٴ"HJfS "LfHnٴp??.|NZPO LNJ@oz?r>?NAXOAv//Hnٴp?pK?NAO(@ JkN ,", $Ԁ&,ԃx@ԄծL , ЬЬ// BgrJ?NAO /,,pI?NA\O `pLNuNUH ( ШШL/pI?+HNA\OLN]NuHN=|&pkN~`( AT(HJ,gA^a)@fB,RGp @mJn|gHzzp??.|N8POBn&pkNNzLNuNU/~`8 /@ATJ0g"AT pa.pAT"/!ATB0RGp @m.N]NupaJjDJjDaDNuaDDNuJjDaDNu/HA4fH@HAHB4g0H@40HB2$Nu/v|dQC|dYC| dUCJAkSC4HBBBHC604HAdSCЁr2HCH@A&$NuH0$&HBHCCHBBBЂL Nu`>HBASIC.LIBHiSoft BASIC for the Atari version 2.10A Nu&|q` "NqARRAYAAUTODIMBATCHDBREAKBDEBUGSDESKACCKDISABLE~ERRORSEEXPORTS!EXTDEBUGD FNSINLIBSGEMG HCLNDEBUG& HEAPDYNAMICQJUMPSKEEPKLABELSHLEAVELLINESNLOADBITS^ MATHSTACKMRETSTACKR OLDDOUBLES*WINDOWOVERFLOWOPAUSEPQUIET.STACKXSTRINGSTTOFTOKENISE$TOKENS@ UNDEFSUBS? UNDERLINESU VARCHECKSVWARNWAIT)  "c&K:#,();_ +-*/\^>=>===<><=<ORANDXOREQVIMPMOD<<>>NOTENDFORIFREPEATSELECTPRINTSTATICSUBGOTOTOGOSUBASREADERRORLINEINPUTRESTORENEXTEXITELSEONRETURN REMAINDERDATADIMSHAREDLETTHENSTEPREMPUTGETSTOPPOKEERASEOPTIONBASEOPENWHILEWENDCLOSEWRITEVARPTRCALLFIELDDEFINTDEFLNGDEFSNGDEFDBLDEFSTRAUTOELSEIFLSETRSETDEFSEGVALCINTCLNGCSNGCDBLCOMMAND$INKEY$MID$INSTRLBOUNDUBOUNDINPUT$SPACE$STR$STRING$RIGHT$LEFT$ABSPEEKINTFIXSGNFRERNDSTRIGVARPTRSPOINTHEX$OCT$BIN$CURDIR$ENVIRON$RINSTRMINMAX GETCOOKIELPRINTCHAINCOMMONNAMESWAPCLSFILES RANDOMIZERUNPALETTEWIDTHWINDOWREDIMPRESETPSETRESUMELIBRARYBREAKUSINGAPPENDRANDOMOFFACCESSKEYTABSPCOUTPUTCONSTCOLORLOCALINCRDECRDOUNTILCASELOOPFUNCTIONDECLARECDECLALIASBYVALISPRESERVEINTININTOUTPTSINPTSOUTCONTRLGBSYSTABSQREXPTANFREEFILEATNSINCOSLOGLOG10LOG2EOFCVICVLCVSCVDLENASCMKI$MKL$MKS$MKD$UCASE$LCASE$SADDLOFCHR$ERRERLCSRLINTIME$DATE$TIMERINPLOCLPOSPOSPEEKBPEEKWPEEKLSTICKFEXISTSFORMATI$FORMATL$FORMATS$FORMATD$LTRIM$RTRIM$SPEEKBSPEEKWSPEEKLVDISYSCIRCLEPCIRCLEELLIPSEPELLIPSESOUNDBEEPRESETPCOPYSYSTEMTRONTROFFCLEARGOTOXYOUTLOCATEWAVESCREENBLOADBSAVEPOKEBPOKEWPOKELRMDIRMKDIRCHDIRKILLCALLSENVIRONSPOKEBSPOKEWSPOKELCLEARWFULLWLINEFMOUSEFILLGEMSYSCLOSEWOPENWBAR)*+,I   I  J  I I< 2 @@`PRGTOSTTPz 8<&<><$<(<<(o*lNg |NN`N2N$N~NnOOB-J+|˜V`NqAx-N21 September 93 2.10NN+GN;|;|;|~;G;|;|~=A.v!NA-NHB_OPTN-N NNA.Nf;G=-~NJGg;|~?NTOA-N-N NNA.Nf;G mf~N>.<+G;|;|NG;|=->-NJGg`NqA-=-~N-N NJGg`NqRm`NqA-=-~N-N-NJGgRm~?NTO`ZNqA-=-~N-N+NJGgRm>-H-A-N N;G>-H-A-N=N;G=-~NJGg=->-N;GA-A-=-=->-DG^NNHmNdXO;GJmg.>-RG;G~?NTOJGg`~NqSm`HNqN4N"HiSoft BASIC Compiler: bad option:NNA.NNN~N>`$Nq>-H-A-N N;G>-H-A-N=N;G=-~NJGg=->-N;GA-A-=-=->-DG^NNA.NfJg|N4N%HiSoft BASIC Compiler: can't compile NNA.NNN and NNA.NNN at onceNNN~N>`NqA-A.N;m`"NqpNA.rNBA./NސNO;G=-~NJGg:A-A.NA-A-~==-~DG^NN`"NqA-A-N.BASNNA-A-N.PRFNNpNA.rNBA./NސNO;G=-~N=A-NN^JGgHmNXOA-A-N.TNNJmf4N4NN4N„.NNNNN4Ax.NNNNJ*.+G--~N;GJmfA.NxJGfdN4N#HiSoft BASIC Compiler: Source file NNA.NNN cannot be opened.NNN~N>A-~=~=><N~+G ~N+GA---~NB-~ Nv-~ NvN-~ NvN-~ NvNNN~+G --~ޞ+G.<F+GBm`JNqA-~=~=><N--~ ޞ G.+G --~$ޞ G.+G.<F+G~;GJmfDN4N Compiling NNA.NNNN4N TokenisingNNN;|;| ~;G~ =A -.<(v!N;|>-"m$- N ^0Rm m opNA.rNBA./?<N@NO~=A(.6<N-A.NA-NN~"m4- ~N-~(Dޞ-~ޞ G> ^0~ G;G~!G;G~!G;G =<~DG^;G";|$~=A8.6<N;|=-A8.6<N-N:NRm mo~=A8.6<N-~ NvN;|a&;|(;|)*;|,;|.;|@0;m02=-0>-.DG^RG;G4;|C6;|Y8;|:;|<=-<>-8DG^RG;G>Jm@gN` NqN;|\;| ^=-^AP.v!N><;G`><;Gb><;Gd~VG;Gf>-fG;Gh>-hG;Gj>-jG;Gl>-lG;Gn>-nG;Gp;|@r><;Gt=-4AX.v!N=-4A`.v!N~==-4~AN`BNq>-"m\- N ^0>-"md- N ^0AN`Nq=->Ah.v!N~==->~AN`*Nq>-"ml- N ^0AN`Nq~=~ DG^RG;Gv>-vRG;Gx=-xAp.v!N=-xAx.v!N~=A.v!N~=A.v!N~=~=A.v"N~=A-.<Lv!N~==-x~AN`*Nq>-"mt- N ^0AN`Nq~==-x~AN`*Nq>-"m|- N ^0AN`Nq;|=-~=A.v"N-N ^0=-~=A.v"N-N ^0=-~=A.v"N-N ^0=-~=A.v"N-N ^0=-~=A.v"N-N ^0Rm mo^;|>-"m- N ^0Rm mo~=A-.<fv!N;|>-"m- N ^0Rm mo;|z~=A.6<N;|=-A.6<N-N:NRm mo~;G|.<N^H~A-NN;|A-A.-=-A8.6<NNNRm moA-N%&!#$NBm;|NNA-NN~==-~AN`(Nq>-"m- ~ ^0AN`NqJmg>< ?NoTO?-No,TO>-pTG??-NoXO~AG??<?<N4XO?NoXO?-No,TO>-pTG??-NoXOA-A.N?<NqTOA-A-~ NvN-~ NvNN?<NqTO?<NpTOJmfN4NParsingNNN;|NxNT.,Nf;G~9G>-JGgP-,=-~NNH;G m.f>-9G`$Nq`Nq m\f`NqSm`Nq>,N\NuNTpN.,rNBA./NސNO;GpNA.rNBA./NސNO;GJmfl=-~NJGgHA--,A->-H-A.Nf->-HDޞ-~ޞNNN`NqA-.,N`|Nq mfb=-~NJGg4A-A-~==-~DG^N-.,NN`NqA-A-.,NN`NqA-.,NN\NuNT>-H/NH.XOJGg?<NiTO?<NpTO?<NolTONJmg"NlJmg~Nf` Nq~N>><G??NolTO><?NoTO~"m. G>JGgNB?< NolTON^;|=-~N==-~ N^==-~N^==-~ N^==-~N^JGgB>-"m. G>JGg?<?-NoXO`Nq?<?-NoXORm molJmg.pNN.ACCrNBA./NNO~"m. G>JGg,pNN.orNBA./NNO;mzpNA.rNBA./NސNO;G=-~NJGgA-A->-RGNNNA-NONJGg`NqA-NTOSNJGg;|`NqA-NTTPNJGg;|`NqA-NPRGNJGfPA-NAPPNJGf6A-NACCNJGfA-NGTPNJGg Bm`Nq?<WHmNjb\O`8NqA-A-N.N-=-zA.6<NNNA-A.NA-A-~NvNN><??-NoXO><??-NoXOJmg8~0G=~DG^??-NoXO~0G=~DG^?NoTO`NqJmg8~0G=~DG^??-NoXO~0G=~DG^?NoTO`hNq=-~NJGg&~0G=~DG^?>-DG?NoXO`Nq~0G=~DG^??-NoXO~0G=~DG^?NoTO~0G=~DG^?NoTO;|=-~ N==-~N^==-~ N^JGgB>-"m. G>JGg?<?-NoXO`Nq?<?-NoXORm mo~9G??<NqZXO~"m. G>JGg?<?<NqZXOJmg><?NoTON\NuNT;|Bm=-Ax.v!NBm;|0;|d>-G;G;|d=<A.v!N=<A.v!N=<A8.v!N=-A.v!N=-A .6<N=-A@.v!N=-A.v!N=-A(.v!N=-A0.v!N;|Bm=-*=-,~APN`NqAH-N:NAH.NfJglpNAH.rNBA./?<N7NO;GL>-L"m- >-P ^0=-P>-*DG^RG"m - >-L ^0APN`nNq;|PAH-N:NAH.NfJgfpNAH.rNBA./?<N7NO;GL>-L"m- >-PG ^0>-P"m<- >-L ^0RmP mPor;|P=-PA8.6<NNH;GV=-V~AN==-V~ZN^JGgVpN=-PA8.6<NrNBA./?<N7NO;GL>-L"m- >-P ^0RmP mPoh--.- Dޞ-~&N6+GX--X.-NJGg\--X.-Dޞ+GX--X.<NJGg .<+GXAH-AH---X~ NJNN--.-Xޞ+G;|Bm;|Bm;| ;| =-AX.v!N=-A`.v!N=-Ah.v!N=-Ap.v!NAP-N!NBm;| =-A.vAN=-A.vANN\NuNTNR=-><DG^;G;m;m=<A.v!N=<A.v!N=<A8.v!NBmB=-*=-,~AFN`nNqA@-N:NA@.NfJg@RmB>-B"m- >-F ^0=-F>-*DG^RG"m - >-B ^0AFN`Nq;|FA@-N:NA@.NfJg:RmB>-B"m- >-FG ^0>-F"m<- >-B ^0RmF mFo;|F=-FA8.6<NNH;GD=-D~AN==-D~ZN^JGgRmB>-B"m- >-F ^0RmF mFoN\NuNTpNA-.,N̰NA-~=~N-N NJGg*A-A-~-A.NfNN`NqA-A.NA.NNN\NuNT~ =~=., N.-., G>GHNjN\NuNT~ N<., G>NNN., /.,/NPON\NuNT~ N<>,NNNN\NuNTA-~=~ =><N~ N<~ NNN~ N<.-NNNAH-~-.-NNN~ N<><NNN>-NNN=-><DG^?Hm(A./NO =-><DG^?HmA./NO =-><DG^?HmA./NO =-><DG^?Hm@A./NO ~==-~AN`2Nq~ N<=-A .6<NNNNAN`Nq~ N<>-NNNHm0HmNPO?-NRTO?-NRTO?-NRTO?-NRTO?-zNRTO?-NRTO~"m. G>?NRTOpNA.rNBA./NސNO;G=-~NJGg A-A->-NN`NqA-NN~ N-GHNj?-NRTO?-NRTO?-NRTO~ N-GHNj~ =~=A.vAN->-GHNj?-NRTO~ NRN\NuNT., G=., v!N~ =~=., N.-~ޞ-., G>GHN^N\NuNT-,~-~ NBN ^0., /.,/NPON\NuNT-,~-~ NBN ^0N\NuNTJmfN4NLoading tokensNNN+G pNN.TrNBHm?< ?<UA./NHhNO~-~ NBN;G=-~ NJGg?<MNiTO` Nq=-~ NJGg?<QNiTO~-~ NBN+GAH-AH-~-.-N---~ NBNN--.-ޞ+G+m~-~ NBN Gg?<RNiTO~-~ NBN;G=-><DG^?Hm(A./NO =-><DG^?HmA./NO =-><DG^?HmA./NO =-><DG^?Hm@A./NO =-A .6<N~==-~AN`4Nq~ N=-A .6<N-NRNAN`Nq~-~ NBN;GHm0HmNPOHmN4XOHmN4XOHmN4XOHmN4XOHmzN4XOHmN4XO~"m. /N4XOA-~-~ NBNA-~NvNJGg`$NqA-A-A.NN`NqHmNXOHmN4XO=-Ax.v!N~ =~"m|- >-GHN^HmN4XOHmN4XOHmN4XOAP-~-~ NBNHmXHmNPOHm`HmNPOHmhHmNPOHmpHmNPO;m ;mHmN4XO=-A.vAN=-A.vAN=-~NJGgF~ =~=A.vAN->-GHN^~ =~=A.vAN->-GHN^;mHmN4XONG~ NRJmf>N4N tookNNN-.- NN-Nq>-$ G[g m$f?-$ G_g m$f?-$N `TO`Nq=-$~V=~ZNJGg?-$N.TO`tNq>-$ GAg m$fN"`RNq m)$fNN>-$ G_g>-$ G0g m$f&?<)NZTOHm$N-XON]`Nq m,$f ?<)NZTON]N]`Nq m$f?<INZTON`Nq m$f&?<INZTO?<NZTON`TNq m<$f?<INZTON`2Nq m-$f?<)NZTON]`Nq?<)NZTO`.Nq m$fN!,`Nq mK$f N\N]N1JGf`Nq>-$ G1g>-$ G3g m9$f?-$NTO`Nq m=$fN] m6$fJ~"m- ~ ^0N] m1$f?<1NTO`Nq?<Nj.TO`pNq=-$~1N==-$~3N^JGg`.NqN1rJGg?<NiTO`NqN]`Nq;m$?-NTON1JGf`Nq m$f?<9NTO`Nq m>$f?<9NTO`Nq m$fJN] m$f4Ndz>-JGg?-NeTO?<?-N\\XONN`^Nq m-$fN`HNq m*$fN`2Nq m;$fN]N]`Nq m,$fN`Nq mF$fN X`Nq mB$fNn`Nq m/$f?-$ GDg m<$fN`jNq>-$ GHg mG$f?-$NTO`BNq>-$ Gkg mj$fN]N\`Nq m$f >-FGJGgN]`Nq`Nq m$fN^`Nq mz$fN]N\N]`Nq mx$f~;GN]`Nq mf$f mzf;|zN]`xNq>-$ Gg>-$ Gg m{$fBmzN]`FNq m$fBmzN]N]`&Nq my$fN]N]` NqN]`NqN\NuNTN\Bmr m$f&Ndz?-NfZTO;|$;mrN\ m$f@NN m$f*?-tNhTO?<?-tN\\XON` NqNN\NuNTJmzg?-t?-N"XO` Nq?<NZTO?<?-tN\\XON\NuNT;||NNBm|;m~z;mt m$fNNNN\NuNT?<?, N\\XOJmg>, "m. G=~^=>, "m,. G=~N^=>, "m,. G=~N^JGg`Nq?, N1TO;G.Jm.gB>-."m4. G=>-NJGg>-."m4- >, ^0`NqA.?, -N3TONA-~=~N-NFNNpJGg`4Nq=->,NJGgJ=-~N=>-^JGg?<HmNjb\O mf>, "m,- ~ ^0?, N0RTO?,N0RTO?<N0RTO?<N0RTO>-XG;G`Nq>, "m,. G=~N=>, "m,. G=~N^JGgZA.?, -N3TONA-~=~N-NFNNpJGg`Nq>, "m,- ~ ^0N\NuNT~;G?, ?,N"XOBmN\NuNT;| m $f~;GNN=-$><N==-~N==-~N^^JGg?<rNj.TO-,>- ^0-, =-LH>N\HLNxN ^ NNN\NuNTHmHmNPO>- Gg?<rNj.TO>,N\NuNTNNNN*;mjNN>-$ Gg?<HNj.TONN>-j"m,- ~ ^0HmnHmlNPO?-jN1TO Gf8>-l Gg?<rNj.TO>-j"mD- .-n ^0`Nq?-jN1TO Gf\>-j"mD- .-nN-~NN ^0>-j"m- .-nN-~=~NN ^0`6NqpN?-jN3TOrNB?<rA ./NjbNON1JGfN\NuNTN]N]>-$ Gg`Nq?-N3TO-~=~N-NFNNpJGg`pNq>-"m,. G=~N?-=N2TO^JGg`:Nq?-?-N"XONNN1rFGJGg`Nq`Nq`TNq?<Nj.TON\NuNTN] m$f0NBmz>, GHfN]NN\N]N\NuNT mE$fN] m$fN]?<?<NXON\NuNTBm=->-NJGgd><m?NolTO;m=-\>-^NJGg>-^G2;G^=-^AP.v!N^>-\"mT- >- ^0Rm\Bm0NGA-NN>- G g>- G g m:f$Jm0g~@G?NoTO`Nq`Nq m"f.- GN m"f.- GN`VNq=-~ N==-~ N^JGg?<NiTO`&NqA-A->-NvNN`Nq><?NqTO`RNq m,f~@G?NoTO`4NqA-A->-NvNN.- GN=-~ N==-~ N^==-~:N^==-~,N^JGgA.Nf;G4A-A-N NNA-=-4~NNH;G2=-2~ N==-2~ N^JGg`NqSm4`Nq~+G6HmHm6N<6PO;|0 m-ff m4f(A-N-N><?NqTO`Nq~;G0HmHm6N<6PO=-~ N==-~ N^JGg=-~0=~9NJGf>- G.g m&f--6~Dޞ/Hm6A./HmHmNGO--6>-4RGHNJGg2A-A-~=>-4NN><?NqTO`NqLH>-0N\NxH mf"><?LN?NoXO`Nq mf>pNLNNrNB><?A ./NoNO`Nq mf>pNLNȊNrNB><?A ./NoNO`@Nq mf4pNLNrNB><?A ./NpBNO`.NqA-A-~=>-4NN><?NqTONG=-~,N;G0Jm0g .- GN`NqNNN\NuNT~%=A.6<N~%=A.v!N;|=-A.6<N-N:N>-"m- N ^0Rm m%oN\NuNTA-.,NNA-~=~N-NNONJGg$A-A-~NN~+G` Nq~H+G;|=-A.6<N-A.NJGgL>-"m. G>;G=-~NJGg.-F+G>-DG;G>-9G`NqRm m%o~9G>,N\NuNT.- GNNG>- G$g`~NqA-NN.- GNpN>-NvrNBA./NLNOFGJGg`*NqA-A->-NvNNN`Nq;|$A-NPRONNJGg~;G?<N\|TO`NqA-NPROFFNJGg?<N\|TO`NqA-NINCLUDENJGgA-NNNG m:f.- GNNG;| f=-~"N==-~'N^JGg;mf.- GNA-A->-NvNN.- GN=-~ N==->-fN^JGgHmNJXO;| NN`Nq`NqA-NOPTIONNJGgA-NN.- GN=-~ N==-~N^JGg`&NqA-A->-NvNN`NqA.Nf;G;|?<NTO`NqA-NSTATICNJGg Bm`NqA-NDYNAMICNJGg~;G`NqHmNdXO;GJmgA-NN.- GN=-~ N==-~N^JGg`&NqA-A->-NvNN`NqA.Nf;G;|?<NTOJGg~?HmNjb\O`Nq~?HmNjb\O`rNq=-~ N==-~N^JGf.- GN`NqNNN\NuNT?, .,/ND\OJGg~9G`jNqJmf<.,Jg?<N\|TO`Nq?<N\|TO?, NZTO`"Nq>- GgT>- G gH>- Gg<>- Gg0>- G g$>- G g>- Gg mf >-"m- ., ^0`Nq>- Gg<>- Gg0>- G g$>- Gg>- Gg mf^>,JGg >-"m- ., ^0`8Nq.,Jg?<N\|TO`Nq?<N\|TO?-NZTO~9G>,N\NuNT~9G=->-NJGg;| ~9G`ZNqA-=-~NNH;GRm=-~ NJGg >- G,g`Nq~9G` Nq~9G`Nq>,N\NuNTA->-NvNN;G&>-& Gg`&NqA-A->-NvNN`NqN\NuNT>- GFg>- G@g m~f.NJGf~9G`NqNN mFfHmNXO`Nq m@f~;G@A-A.N`Nq m~f>,JGg?<FNiTO`NqpNA.NrNB?<A ./?<A./N6:NO;GJmf?<VHmNjb\O`"Nq=-A .6<N-NN>-& Gg`NqNN`jNqN5<`NqN;G&=-~0=~9NJGgX~+G--~ "N->-Hޞ-~0Dޞ+GN;G&=-~0N==-~9N^JGg`JNq mOf>>,JGf4N;G& mFf N;G& mFf .-F+G?,?-.-/N ,POJGg~9G` Nq~9G>,N\NuNTN;G&>-&JGgB>-NvNNH;G>- GFg>- G@g m~f NJGf`NqNN mFfHmNXO`Nq m@f~;G@A-A.N`Nq m~fpNA.NrNB?<A ./?<A./N6:NO;GJmf?<VHmNjb\O`"Nq=-A .6<N-NN>-& Gg`NqNN`jNqN5<`Nq m-fSm`Nq`NqN;G& m+f~H+GN;G&`Nq m-f~+GN;G&`vNq=-~0=~9NJGgX~+G--~ "N->-Hޞ-~0Dޞ+GN;G&=-~0N==-~9N^JGg` Nq~H+G?,?-.-/N ,POJGg` Nq`NqN\NuNT~9GBm>, G^gD-,.<NJGg0pN.,N rNB?<eA ./NjbNOA . G> G.f;|.,;G`NqA . G> G$f.,;G`NqA . G> G!f.,;G`NqA . G> G&f;|`NqA . G> G%f.,;G`NqA . G> G[f;| `fNqA . G> G]f.,;G`FNqA . G> G*f;|`(NqA . G> GNfJmf;|`NqA . G> GUf.,;G`NqA . G> GVf.,;G`NqA . G> GSf;|`NqA . G> GZf.,;G`NqA . G> GWf.,;G`dNqA . G> GGf4pNN.PRGrNBA./NNO` NqA . G> GOf;|`NqA . G> GAf;| `NqA . G> GBf;|`NqA . G> GEf;|`NqA . G> GDf;|`NqA . G> GCf.,;G`jNqA . G> GPf;| `LNqA . G> G#f.,;G`,NqA . G> G^f.,+G` NqA . G> GYf;| `NqA . G> GXf;|`NqA . G> GRfP.,;G=-><NJGg0pN>-NrNB~?A ./NjbNO`pNqA . G> GMf -,~ NJGg .,;G`@NqA . G> GTf -,~ NJGg .,;G`NqA . G> GLf&-,~NJGg.,D;GBm`NqA . G> GKf$-,~NJGg.,;GBm`NqA . G> GHf -,~dNJGg .,;G`vNqA . G> GJf&~;G-,~NJGg .,;G`@NqA . G> GQf&-,~NJGg.,;G~;G` Nq~9G>,N\NuNTRm=->-NJGg.>-G ;G=-A.vAN^=-A.vAN^>-9G>,N\NuNTN]=-$~BN;GDJmDgN]NN*?-N2TOJGgJmDgHmNXO`Nq?-?-$ Gg?<;Nj.TON] m$fvN] m$fPN;GH>-F"mD- >-H ^0=-HA.vAN-LN ^ N]`Nq?<?<NXO`Nq?<?<NXO` NqN`*NqJmDgHmNXONN` NqN]N1FGJGg`NqN]`NqN\NuNTNNJN]NN*?-?,NlXO?-N2TOJGgN` NqNNN1JGfN\NuNT., G>"m. -., G>"m. G=~^ ^0., G>"m,- ~ ^0?<., G>?N\\XON\NuNTNNJN]NN*;m?-?-"m,- ~ ^0N1JGfN\NuNT?<?<NXON\NuNT>, ;G>,JGgNNN1rJGg`xNq m$f SmN]Jmf`VNq`JNq m$fRmN]`0Nq m$f?-?-N"XONN` NqN]`~NqN\NuNTN]NN*>-"m,- ~ ^0N]N\NuNTN] m$f?-?-N"XOJmg?-N1TO;GbJmbgb>-b"m4. G> Gf?<Nj.TO>-bTG"m4. ->-bTG"m4. G=~^ ^0`2Nq>-"mD. ->-"mD. G=~^ ^0`2Nq>-"mD. ->-"mD. G=~^ ^0NNN\NuNTBm?,NTO~;GN\NuNTN\ m$f:Ndz>-JGg?-NeTO?<?-N\\XONN`BNq m$f?<?-N\\XONN`Nq>, G9g?<Nj.TON\NuNTN\ m$f0Ndz?-NeTO?<?-N\\XONN`<Nq m$f0NNN1rJGg?<?-tN\\XO` NqNN\NuNTN\?<0N&TO>-$ G/g?</NZTO` NqN]N\NuNTN\ m`$fN]`Nq?,N&TO>, G_fp;| m$fZN1rJGg`6Nq m$f?-?-N"XONN` NqN]`Nq?<_A./N-\O`&Nq m/$fN]`Nq?</NZTON\NuNTNN>-$ Gg?<Nj.TO`xNq?-HmNJR.\O;GPJmPg?-PNj.TO`HNqHmNJ.XO;GPJmPf`Nq~-A-N N;GJmf8A-A.N;|A.Nf;G?<NTO`Nq mfA-~=~NNH;GT~-A-N N;GA-A-~==-~DG^NN=-~N==-T~0N^JGg A-NFN-A.NNpNA.rNBA./?<N7NOJGg?<lNj.TOpNA.rNBA./?<N7NO=><DG^;G>-"m,- >- ^0>-"mD- A->-RG=~NNH ^0>-"m- A->-TG=~NN ^0>-TGG;GT>-XG;G`NqpNA-~==-~DG^NrNBA./?<N7NOJGg?<lNj.TOpNA-~==-~DG^NrNBA./?<N7NO=><DG^;G>-"m- >-P ^0A->-RG=~NNH;GTRmT>-"m,- >- ^0>-TG;G?-TN0RTO?<N0RTO?<N0RTO;m^;m^\=-A.Nf=~AVN`NqA-=-V~NNH;G=-~NJGg;|R=-~DG^;G` Nq;|R?-N0RTO?-RN0RTO?<N0RTO?<N0RTO>-\XG;G\AVN`tNq=-^~DG^"m4- >-\ ^0=-^~DG^"m4- >-\ ^0`NqNNN1JGfjN\NuNTN&;mA. G> G_f;m`NqA. G> Gf;mN\NuNTBmBmBmN\NuNTN];m$h mhfN\`0Nq m0hf;||N]Bm|`Nq?</Nj.TO>-hG?N&TO=-~DG^"m4- >- ^0N&N\NuNTJmg"?<NiTO?<_A./N-\OJmg"?<)NiTO?<A./N-\OJmg"?<NiTO?<0A./N-\O>-$ Gg?<cNj.TO>-"m,. G>;G=-~NJGg@>-"m4. G=><N==,><N^JGg?<dNj.TO>-"m,- >- ^0;mA. G> Gf?<_N0RTO`BNqA. G=><GNJGg~_G?N0RTO`Nq?,N0RTO=,><NJGg=,><DG^9G?<N0RTO?<N0RTO?,N%TO;m;mBmN] m$fD~"m- ~ ^0>-"m4. G=><NJGg?<NiTO>-"m4. ->-"m4. G>G=><DG^ ^0pN?-N3TOrNBA./HmN4NOA-N_-A.NNNN] m$f6N]>-$ Gg?<Nj.TOA-A.NN]A-A.N><?NqTO><??-NoXO m$fN] m$f(=-~N==,><N^JGg`Nq>, G_f;|` Nq;|=-$~aN==-$><N^JGg;|NN`Nq mS$f;|NN>-$ Gg?<Nj.TO`Nq=-~N?-=N2TO^JGg?<}Nj.TO?-N1TO;GJmg?<7Nj.TO>-"m,. G> Gf?<%Nj.TO?-N0RTO?-N0RTO?<N0RTO?<N0RTO>-XG;G?-N2TOJGg N]N]>-$ GgN]N]RmN1JGfP m$fN]`Nq?<Nj.TO=-~DG^"m4- >- ^0 m$f(>-"m,. G>;G>-"m4. ->-"m4. G>GG=><DG^ ^0>-VG;G~==-~AN`VNq>-"m4. ->-"m4. G>"m. G> ^0>-XG;GAN`NqNN>-"mD- N* ^0N1JGgNN`Nq?<-"m- N* ^0N\NuNTNNJ>-JGg.., G> G_g~?NiTO-,~_ ^0`bNq>-JGg0., G> Gg~?NiTO-,>< ^0`*Nq., G> G0g~?NiTO-,~0 ^0=-=-~DG^=~AJN`Nq>-JRG"m4. G> Gfp>-JVG"m4. G=~^JGgP>-J"m4. G>"mD. ->-J"m4. G>"mD. G=~^ ^0AJN`jNq=-~DG^"m4- >- ^0N&;|N\NuNTA-A-=,~VDG^RG=~NNNGpN>-NvrNBA./NMNOFGJGg?< NiTO>-NvNNH=~@DG^;G:.- GNNG m-fx.- GNNGpN>-NvrNBA./NMNOFGJGg?< NiTO>-NvNNH=~@DG^;G<.- GN`DNq;m:<=-~ N==-~,N^==-~:N^JGf.- GN`Nq=-:=-<~A>N`*NqAP-=->~=A.N6A>N`NqNG>- G,g`Nq.- GN`rNqNNN\NuNT=->-NJGg:>-G;G=-~NJGg?<KNiTO=-A0.v!N^>-"m4- >, ^0RmN\NuNT=->-NJGg?< NiTOSm>-"m4. G>9G>,N\NuNT;m=->-NJGfD>-"m4. G=>,NJGg>-RG9G`Nq>-XG;G`Nq~9G>,N\NuNT=-$~N==-$~N^==-$><N^==-$~,N\NuNT=-$~N9G>,N\NuNT=-$~N9G>,N\NuNT>,"m. G=~^9G>,N\NuNT>,"m. G=~^=~N9G>,N\NuNT>,"m. G=~^=~N9G>,N\NuNT>,"m. G=~^=~N9G>,N\NuNT>,"m. G=~^=>,"mD. G=~N^JGg~9G` Nq~9G>,N\NuNT>, "mD. G>;G?, N1TOAtG>0p==-A.vAN G-~ޞ/>H-."N+G-,--~ޞ ^ --.<NJGg-,., G-~ޞ ^ .-)G.,N\NuNTpNA.->,G=A .6<NNA.NNN\NuNTpNA.-=,>-*DG^RG"m . G=A .6<NNA.NNN\NuNTpNA.->,"m<. G=A .6<NNA.NNN\NuNT>, AZG=0p>,^9G>,N\NuNT., Nf;GA--, =-~NN~-A-A.N;G=-~NJGg&-,-, ~==-~DG^NN` Nq-,., NA-NNN\NuNTAx.N=-Ax.v!N~==-~AN`Nq=-A .6<NNf-~NJGg=-A .6<N/NF.XO->-HN;G>-"m|. G>;GJmf&>-"m|- >- ^0`*Nq`NqRm=->-NJGgBm`NqAN`@NqN\NuNT-,~ ^0.,/NF.XO->-HN;G>-"m|. G>;GJmf>, JGgRm=->-NJGg >-Gd;G=-A .6<N^=-A .6<N-.,N-,~ ^0>-9G=->-NJGg6Rm>-A6G>0p;G>-m;G;|N5<`Nq>-"m|- >- ^0` Nq~9G`TNq=-A .6<N-.,NJGg>-9G`$NqRm=->-NJGgBm`Nq>,N\NuNT., /?,HmN6:O ;GJmg=->-GNJGgN>-Gd;G=-A.v!N^=-A@.v!N^=-A(.v!N^=-A.v!N^=-><NJGg., Nf;GBm-, =-~N-N(NJGg Sm;|A--, =-~NN~-A-A.N;G=-~N==-|~N^==-|~N^JGg,~-A-., /.NG~-.XONvN;G=-><DG^"m- =->-^ ^0Jmg =-><DG^"m,- ~ ^0>-9G>,N\NuNT=-~ N==-~ N^JGg~9G`Nq+m .- GNNGJmfA--- ~Dޞ-~N-NTONpJGg"-- ~ޞ+G .- GN~19G`hNqA--- ~Dޞ-~N-NSUBNpJGg"-- ~ޞ+G .- GN~39G`Nq`Nq-- ~Dޞ G~Nv-NTNp=.- G~Nv-NONp^JGg"-- ~ޞ+G .- GN~19G`Nq-- ~Dޞ G~Nv-NSNp=.- G~Nv-NUNp^=-- ~ޞ G~Nv-NBNp^JGg"-- ~ޞ+G .- GN~39G` Nq--~Dޞ+G .- GN~9G>,N\NuNT+m ;|.- GN m"f.- GN m"f`RNq m(f Rm`>Nq m)f"SmJmf.- GN` Nq`Nq m f` Nq`NqNG+m =-~=N;G;|(>-9G>,N\NuNTJmg., G. G~;G`Nq-, ., G-~NNH;G., GRN\NuNT;m-- ~Dޞ/Hm A./HmHmNGO.- GNLHLN\NuNT-- .-NJGgT--~NJGg0--.-NJGg+m` Nq+mA--->-NBN--.-Dޞ+G~+G --~NJGg:A-A-~ NvN-~ NvNN--~ޞ+G`NqA-~->-NBNA-A-A.NNA. GSA. GRA-~ NvN=A-N:N^=A-~NvN^JGg` Nq`,Nq`NqNL.- GN`&NqA--- ~NNH;GA . GRN\NuNTA-.,NN;|A.Nf;G~--,N\N^;G ~--,N:N^;G ~--,N.N^;G=-~N==->- N^==->- N^JGg-,-,.,NN=- >- NJGg;m  A--,>- RGNNN-, .,N., NxJGg~9G`VNq=->-NJGg-, .,N~9G`,Nq>-H-A-N;N;G>-H-A-N,N;GJmf&Jmf>-RG;G ` Nq;m `6Nq=-~N==->-N^JGg;m ` Nq;m A -A-=-=- >-DG^NNA -~N-N\NJGgA -A -N\NN-, A .N-A.NN>- RG;G`Nq>,N\NuNTRm=->-NJGg<>-XG;G=-A(.v!N^=-A0.v!N^=-A8.v!N^;|=->-NJGg4=-A@.6<N-., NJGg`NqRm`Nq=->-NJGgVRm=->-NJGg>-TG;G=-A@.6<N^=-A@.6<N-., N;m>-"m,- >- ^0>-"m4- >- ^0>-"m<- >, ^0N\NuNT~==-~AN`^Nq><m?NolTOA.-=-A@.6<N-~NvNN>-tRG?NqTOAN`Nq?<NolTO~==-~AN`Nq>-tTG?>-"m,. G>?NoXO>-tVG?><=>-"m4. G>^?NqZXO>-tTG?>-"m<. G>?NoXOAN`|Nq>-tTG?~?NoXON\NuNTNV~==-~AN`0NqNVx~==-~DG^=~A"N`Nq>-""m4. G=>-NJGgT>-""m<. G>?>-"RG"m,. G=~DG^?>-""m,. G>?NV\OA"N`Nq>-"m4. G=>-NJGg:>-"m<. G>??<>-"m,. G>?NV\O=-A@.6<N/NUXOAN`NqN\NuNTRm*=-*>-,NJGg>>-,G;G,=-,AH.v!N^=-,AP.v!N^=-,AX.v!N^>-*"mL- >, ^0>-*"mT- >- ^0N\NuNTJmf`Nq~+G.~==-*~A2N`fNq>-2"mL. G>?N3TONf-~ޞ;G8=-8~^JGgRm8--.>-8Hޞ-~ޞ+G.A2N`Nq--.~ ޞ+G.--.~ΞJg--.~ޞ-~N+G:`Nq--.~N+G:pN.<N-.-:NN-~NN-NHBPRN-.</.NM-.XONN->-*HNNrNBA./NVNO~==-*~A2N`NqA`.->-2"mL. G>?.-N3TO-~NvNNA`.Nf-~ΞJgA`-A`-~NvNNpNA`.->-2"mT. G>NN->-2"m\. G>NNrNBA./NVNOA2N`(Nq--:~=.-./>H-.DޞN;G>Jm>g2pN>->H-~NJrNBA./NVNON\NuNT=-Ah.vAN^=-Ap.6<N^=-Ax.vAN^=-A.vAN^=-A.v!N^=-A.v!N^=-A(.6<N^=-A0.v!N^N\NuNTRm@=-@>-NJGg RmNGpN.,rNBNINCBASrNBA./A ./.,/.,/N>`NO(JGg=-@A(.6<N-.,N>-@"m- >- ^0>-@"m- >- ^0pN.,rNBA./?-N@NOA-.,N?<N\|TOA.Nf?NZTON[A-~==,><N>-@"m4- >,N-~(Dޞ-~ޞ G> ^0>-@"m4. G>?N[:TO` Nq~;G"Sm@?, .,/Njb\ON\NuNTA . GSRmpNN.BASrNB.,/?-?<{A./NHhNO--.<FNJGg<=-@Ah.vAN-.- ^ =-@Ax.vAN-.- ^ `~Nq=-@Ap.6<N-A--- --.- Dޞ-~ޞNN=-@Ah.vAN---.- Dޞ-~ޞ ^ =-@Ax.vAN-.- ^ =-@A.vAN-.- ^ +m--~ޞ+G >-N+GBm.<<+GN\NuNTSm@>-@"m. ->-@"m. G>m=>-@RG"m. G>DG^RG ^0pN=-@A(.6<NrNBA./>-@"m. G>?N@NO?<N\|TON\NuNT=-@Ah.vAN G.+G=-@A.vAN G.+G--.<FNJGg&=-@Ax.vAN G.+G ~;G`@NqA.-=-@Ap.6<NN=-@Ax.vAN G.+G~+G >-NRSmNKnN\NuNT-,NaN=-,NzN ^=-,NAN=-,NZN ^^=-,N0N=-,N9N ^^=-,N.N^=-,N_N=>-^^9G>,N\NuNT-,NaN=-,NzN ^=-,NAN=-,NZN ^^9G>,N\NuNT>, Gf?<NiTON\NuNT>-$ Gg?<Nj.TON\NuNT>-$ Gg?<Nj.TON\NuNTJmf?<NiTON\NuNT>- G g.- GN`Nq.- GNRmN\NuNTNG=-~a=~zNJGf=-~A=~ZNJGg=-~aNJGg=-~ DG^;G;|D=-D>-*NJGg,A-A-~-~ NJNN>-*G;G*NG.- GN=-~a=~zNJGg=-~ DG^;G`dNq=-~A=~ZNJGf =-~0=~9NJGf m.f`,Nq m_f>-FGJGg`Nq` Nq`NqRmD`(NqA-A-~=>-DNN;|$ m|f>- G#g0>- G!g$>- G&g>- G%g m$f:A-A->-NvN-N(NN.- GN`:NqA-A.HmNG~-.XONvN-N(NNpNA.rNBA./?<N7NO=><DG^;G~;G~` Nq>- G#g0>- G!g$>- G&g>- G%g m$f< m#fpNA.rNBA./?<N7NO;G=-~N==-><N^JGgH>-"m. G>;G$=-$><NJGg=-$><DG^;G;|$` &NqA-A->-NvNN.- GNNG~;G~A-~=~N-NFNNpJGgBpNA.rNBA./?<N7NO=><DG^;G`Nq`:Nq mDfA-NGONJGg.N9v;G$=-$~NJGg`JNq;|$`hNqA-NFNNJGgNNG=-~a=~zNJGf=-~A=~ZNJGg`JNq`Nq?<NiTO`NqpNA.rNBA./?<N7NO;G=-~NJGg`=-><NJGgH>-"m. G>;G$=-$><NJGg=-$><DG^;G;|$`BNq`NqNGA-~=~N-NFNNJGgA-~=~NNNH;G,=-,~AN==-,~ZN^JGg?<NiTO`NqA-A.pN-A-~=~NrNB.-A./.NG~-.NONvNNpNA.rNBA./?<N7NO=><DG^;G~;G~`*Nq~;G~>-| Gg m|f Bm~`6Nq m|f* m(fN;x;G~`Nq=-~=N;G~Jm~g6A-A.HmNG~-.XONvNNNG`DNqpNA.rNBA./?<N7NO=><DG^;G`VNqpNA.rNBA./=-~(N?N7NO;G=-~NJGg=-><NJGgN>-"m. G>;G$=-$><NJGg=-$><DG^;G;|$`Nq`Nq=-><DG^"m,. G=~NJGgd m(fZ>-| GgA-A->-NvNNpNA.rNBA./?<N7NO;G`xNq m(fl=-|~N==-|~N^JGgA-A->-NvNNpNA.rNBA./?<N7NO;G=-><DG^;G`Nq`Nq=-~0=~9NJGf>- G&g m.fN- G"g`&NqA-A->-NvNN`Nq m%f0A.NHN\H;|$;|.- GN` Nq;|$`Nq m?f;|.$.- GN`Nq m>fv.- GNNG m=f;|$.- GN`FNq m<f;|$.- GN`(Nq m>f;|$.- GN` Nq;|$`|Nq m=fv.- GNNG m=f;|$.- GN`FNq m>f;|$.- GN`(Nq m<f;|$.- GN` Nq;|$`Nq m<fv.- GNNG m=f;|$.- GN`FNq m>f;|$.- GN`(Nq m<f;|$.- GN` Nq;|$`Nq mf;|$`jNq~-A->-NvN;G$Jm$f>pN>-NvrNB~?A ./NjbNO.- GN`Nq.- GNN\NuNTA. GR--.-NJGg2AH-AH--<~ NJNN--.<ޞ+GNG.N\NuNT--~ޞ+G--.-NJGg2AH-AH--<~ NJNN--.<ޞ+GNG>N\NuNT>,;G$?,NZTON\NuNT?-$NZTON\NuNTA.Nf;GB-->-BHޞ+G--.-NJGg2AH-AH--<~ NJNN--.<ޞ+GAH--->-BHDޞ-~ޞ->-BH-A.N*N\NuNT?, NZTO?,N[:TON\NuNT?<NZTO?,NZTON\NuNT;||N]Bm|;m~z;mtN\NuNT;||N]Bm|N\NuNT;||N]Bm|N\NuNT;||N]Bm|N\NuNT>-$ Gg m$f ?-$NZTO?-N[:TO`HNq m$f>-$m=~DG^?NZTO mfLN?N[:TO`Nq mf&A-LNNNN[`VNq mf&A-LNȊNNN[`(Nq mfA-LNNN[`zNq>-$ Gg m$f ?-$NZTO?-NZTO`FNq m$f.?-$NZTOA.Nf?NZTON[`Nq?-$NZTONNN\NuNT><??<NoXO><??-NoXO=<>-G^;GJmg(;m>-G;G~"m- ~ ^0~==-><DG^=~AN`4Nq>-"m,. G>;G=-~NJGg>-RG"m4. G>=>-TG"m4. G=~AN`zNq>-RG"m4. G> GfL>-"m4. G>?N2DTOJGg(>-TG"m4- >- ^0>-G;GAN`Nq`DNq mf8?-N2DTOJGg&>-"m- >- ^0>-G;GAN`Nq><??-NoXO~==-><DG^=~AN`Nq>-"m,. G>;G=-~NJGg>-RG"m4. G>=>-TG"m4. G=~AN`Nq>-RG"m4. G> Gf>-"m4. G>?N2tTOJGg>-TG"m4- >- ^0>-"m4. G>?N1TOAtG>0p;G>-VG"m4. G=~^JGg>-;G>-m;GAN`6Nq`Nq mf|?-N2tTOJGgj>-"m- >- ^0?-N1TOAtG>0p;G>-"mD. G=~^JGg>-;G>-m;GAN`8Nq>-H+G~==-><DG^=~AN`Nq>-"m,. G>;G=-~NJGg0>-RG"m4. G>=>-TG"m4. G=~AN`Nq>-RG"m4. G> Gf>-VG"m4. ->-"mD. N?-N2TO=~NJGgV>-"mD. G>;G=-A.vAN-.- ^ ?-HmN2\O+G--.-ޞ+G>-VG"m4. ->-"mD. NAN`Nq`tNq mfh?-N2TOJGgV>-"mD. G>;G=-A.vAN-.- ^ ?-HmN2\O+G--.-ޞ+GAN`0NqpN.-NrNB><?A ./NoNON\NuNT mfhLH~N\N8=LH~N\N=>-^^JGg?<Nj.TO;| `NqLN;G`Nq mfLH~N\N@=LHL~NH^JGg?<Nj.TO;| `TNqLH><N\NHJGg(LH.<N^NŎN;G`NqLN;G`Nq?<Nj.TO;| N\NuNT;|`=-`>-NJGf4>-`"m\. G=>,NJGg`hNqRm``Nq=->-NJGg.>-G2;G=-AX.v!N^=-A`.v!N^>-`"m\- >, ^0RmN\NuNT;|v=-v>-NJGfL>-v"m\. G=>,NJGg >-v"md- >- ^0`NqRmv`NqN\NuNT;|H=-H>-NJGfx>-H"m\. G=>-NJGgL>-H"md. G>9G>-H"md. G=~NJGg`,Nq?<Nj.TORmH`|Nq?<Nj.TO~9G>,N\NuNT?,NgTO;GJJmJf><'9G`Nq>-J"mT. G>9G>,N\NuNT;|L=-L>-\NJGf<>-L"mT. G=>,NJGg>-L9G`NqRmL`Nq~9G>,N\NuNT;|x=-x>-NJGff>-x"ml. G=>,NJGg:pN?,N3TOrNB?< A ./NjbNO`NqRmx`Nq=->-NJGg.>-G2;G=-Ah.v!N^=-Ap.v!N^>-"ml- >, ^0>-"mt- >- ^0RmN\NuNT;|N=-N>-NJGfL>-N"ml. G=>,NJGg >-N"mt. G>9G`NqRmN`Nq?<vNj.TO>,N\NuNT m$f?-NiTO9G`*Nq m$fNf9G`Nq?<"Nj.TO>,N\NuNT~;G"?,NiTON\NuNTpNNrNB?,A ./NjbNON\NuNTpNNvrNB?,A ./NjbNON\NuNT=, ~NJGgRmP>-=>-@"m. G>DG^;GA.-=-@A(.6<NNpNA.rNB.,rNB?, A./?-A./NkNO$JGg Jmg>-PNf` Nq>-PN>=, ~NJGgh mfN]`TNq mfH=-$~N==-|~N^JGgRm~;G|N1rJGfNs*`NqNN\NuNTRmdN\NuNTSmdN\NuNT>,N ;GR=,~NJGg&N4NError: NN>-RN`8NqJmg~9G`NqN4N Warning: NN>-RN mPfN4~Nv-~NvNNN?-RHmNK\OA-NNJGg&A-NUnknown error re. %N~-A-N%N;GT-,NNJGgxJmTf.A-A-N N-.,NN`FNqA-A-~==-T~DG^N-.,N-A->-TRGNNNN4A.NNN at lineNN>, NNin file NN.,NNNJmgXpNA-~NvNrNB?<>, H/>-@"m4. G>H/A./NJ0NOJm"g~9G`Nq=-~N==,~N^JGgN4NContinue(Y/N)?NNA-NNA-NNJGgA-NNNpJGgN4A.NNN`NqN4NYNNN`NqA-NYNA-NNNp9G>,N\NuNT>-tm"?NrNTO?-fNrNTO?-NrNTOBmfN\NuNTJmdfJmfgNn?,NrNTON\NuNT?-`?,NoXON\NuNT>, Gg=-j>,^?NoTON\NuNTJmdf$><G`?NrNTO>,H/NrvXON\NuNTJmdf.JmfgNn>, G ?NrNTO?,NrNTON\NuNTJmdfZJmfgNn>, m"?NrNTO-,~=~NN?NrNTO-,~=~NN?NrNTON\NuNTJmdfJmfgNn>, G?NrNTO-,~=~NN?NrNTO-,~=~NN?NrNTO-,~=~NN?NrNTO-,~=~NN?NrNTON\NuNT~1G??,NqZXON\NuNT~1G??,NqXON\NuNT=,><@NJGg ?, =< >,^?NqZXO`Nq?<&NiTON\NuNTJmdf2JmfgNn>, G`?NrNTO>,H/NrvXON\NuNTJmdf ><G`?NrNTO?,NqTON\NuNT=,><@NJGg=< >,^H/NrvXON\NuNTJmdg`DNqJmfgNn>,G@?NrNTOHmNH|.XOJGg?<$NiTON\NuNT?,NH.TOJGg?<$NiTON\NuNT.,/NH.XOJGg?<$NiTON\NuNT>,JGg>-pZG?NoTON\NuNT>,JGg>-pXG??,NoXON\NuNTNGT.;GhA-AH--->-hHNN-->-hHޞ+GN\NuNTNGT.;G$=-$><NJGg=-$~NJGgB=-$~N==-$~N^JGgJm|gRm m$f`Nq`8Nq=-$>-*N==-$>-,N^JGg`Nq?<'NiTO`,Nq>-$ Gg0>-$ Gg$>-$ Gg>-$ Gg m$fNGh.;G`Nq=-$=<><NJGg=-$><DG^RG;G;|$ mfNGh.N\H`Nq mf2AH---~NNN^H--~ޞ+G`nNq mf2AH---~NNN-@"m. ->-@"m. G>m=>-@RG"m. G>DG^ ^0`*Nq m$fA. GS`Nq?<'NiTON\NuNTpN=-$=-*>-,NJGg A.?-$-N3TON`Nq>-$ Gg>-$ Gg m$f A.?--N3TON`tNq=-$=<><NJGgA-LN̊N`DNq m$f A.?--N4:TON`Nq>-$ Gg m$fT=-~NJGg,A-=-.</>H-.ޞN N`NqA->-NN`Nq m$f4A-N"-A.N-N"NN`xNq m$f$A-N end of lineN`LNq=-$~=~NJGg&A.-=-$A8.6<NN`NqA-NNA.NNN\NuNTBm+m~+GBmjBm>-G ;Gl;mNN\NuNTpNA-., G>?.-N3TON., G>JGgA-A.NNA.Nf;GnA-~NNH;Gp m(pf*SmnA-=-n~NNH;Gp;|@r` Nq;|_rA->-rNv-A.NN m%pf;|Ip``Nq m&pf;|Lp`JNq m!pf;|Fp`4Nq m#pf;|Dp`Nq m$pf;|Sp`NqBmpJmpg,A-A-~=>-nN->-pNvNNA-A.NA.NNN\NuNTNz\N|&??,N\XO=-v~N==-t~N^JGg?<(NiTON\NuNTNz\N|&9G=-v~N==-t~N^JGg?<(NiTON{T>,N\NuNTBmtBmvN\NuNT=-v~NJGg?<*NiTO>-v"m- >, ^0RmvN\NuNT=-v~NJGg?<+NiTOSmv>-v"m. G>9G`Nq>,N\NuNTBm~NN ?,N{TON\NuNT=-t~NJGg?<,NiTO>-t"m- >, ^0RmtN\NuNT=-t~NJGg?<-NiTOSmtN\NuNT=-t~NJGg?<.NiTO=-t~DG^"m. G>9G>,N\NuNTN|&??,N\XON\NuNTN|&;G>- Gg~9G` Nq>,9GN{T?-NMTO>,N\NuNTBm~?<NzlTO~9G>-$ Gg0>-$ Gg$>-$ Gg=-$=-&>-(NJGg>, Gf`Nq`4Nq m$f(=->-2N==,~N^JGg`lNq m$f mfLN?No,TO`Nq mf>pNLNNrNB><?A ./NoNO`Nq mf>pNLNȊNrNB><?A ./NoNO`@Nq mf4pNLNrNB><?A ./NpBNO?-N{TO`NNq m$f"?<N{TO><?NqTO`$Nq m$f6>-9G>,"m,. G=~NJGg>,"m,. G> Gf?,N1TO9G>, Gf&>,"mD. G>?No,TO``NqpN>,"m. G>N->,"mD. G>NNrNB?-bA ./NoNO`Nq>,"m,. G=~N?,=N2tTO?,=N2TO^^JGg:?,N1TO9G?,N2tTOJGg2=-f>,^?>,"m. G>?NoXO`Nq?,HmzN2\O)G>,"mD. G=A.vAN G-.-zޞ-.<N=~ "m. G>^JGg$?<NTO9G?,NoDTO`VNqNfNNN ~OG=>,^?>,"mD. G=A.vAN G-~ޞ?NoXO~;G~`Nq>,"m,. G=~N?,=N2tTO^JGgH?,N1TO9G=< >,^?>,"m. G>?NoXO~;G~`&Nq?<NTO9G?,NoDTO~;G~?,N{TO`*Nq?<_NTO?,N1TO?N{TOBm~`Nq m$f=-=-.>-0NJGgh=->-.DG^RG9G=-r>-G^9G>,"md. G>9G>,"m\. G>9GA. G=~NJGgNfN|&9G?,NMTO=,~N==,~N^JGg ?,>,TG?N\XO>,TG9GNN N{T>, Gf A. GRP`dNqA. G>JGf`NNqNf=,~N?NBTO=,~N9G>,JGf`NqN`NqNN ?,NoTO?,N{TO`Nq=-~=~NJGg8>-Gmr?NoTO?<?<N\XO?<N{TO`HNq mf6NfN?<NzTO><GmrRG?NoTO` Nq`NqBm~`Nq>-$ Gig m$f>-$9GNkA./A./NPONfN|&9GN{TNk.,/?,N*\ONs*Ns*>, Gf$?<No,TO?<?<N\XO`NqNNN(NN(?,?<NjXO` Nq mh$fNfN(NkA./A./NPON?<N{TO9GN1JGgxNs*?,N{TO9GNk.,/?,N*\ONs*?,NBTON?,NBTO~hG=~DG^=>,^?NoTO`BNqNk.,/?,N*\ONs*?,NBTO=<A>,^?NoTO?<NzTO` Nq mq$fNfN(NkA./A./NPON?<N{TO9GNk.,/?,N*\O?<No,TO?<?,N\XONs*?,NBTO~hG=~DG^=>,^?NoTO?<NzTO` Nq mp$fzNfN(NN|&9GN{T?,NMTO>, Gg?,?<N\XO~9G~pG=>,^?NoTO?<NzTO` Nq ma$f$NfN(?<a?<NjXO` fNq mn$f?<N$TO` JNq=-$~b=~eNJGg=-$~bDG^RG?N$TO` Nq mo$fnNfNNN|&9GN{T>, Gf~Gmr?NoTO`Nq?,?<N\XO?<o?<NjXO` Nq mm$f0NfN?< No,TO?<o?<NjXO` lNq ml$f`NfNN1JGg&Ns*N1JGgNs*N`Nq~?No,TO?<l?<NjXO` Nq mr$f:NfN|&9GN{T?,NMTO?<r?,NjXO` Nq>-$ Gtg mu$ff>-$9GNfN|&9GN{T?,NMTO=,~NJGg>,G=>,^?NoTO?,NzTO` HNq mv$fLNfN|&9GN{T?,NMTO~vG=>,^?NoTO?<NzTO`Nq mx$fA./A./NPONs* m$f0Ns*NNN ~xG?NoTO>,;G|`$Nq><?NoTO.,/?,N*\O?<N{TOBm~`^Nq>-$ Gwg m$f>-$9GNfN|&9GN{T>, Gg?,?<N\XO~9GNN Bm~>,G=>,^?NoTO>, Gwf?<N{TO`Nq?<N{TO`Nq mj$fFNfN m$fNs*NkNNk?<j?<NjXO`hNq mk$fLNfN m$fNs*N`Nq?<No,TO?<k?<NjXO`Nq ms$frNfN|&9GN{T?,?<N\XO=,~N==,~N^JGg?<s?<NjXO`Nq?<s?<NjXO`Nq>-$ Gfg mg$f*>-$GZG?NoTO?<N{TOBm~`\Nq my$f$NfN?<y?<NjXO`0Nq mS$fNfN1JGg"Ns*N><?NoTO`@NqNN*?<NTO9G>, Gf=-r~!G^?NoTONs*?<NzTO`Nq mz$fNfNN*>-"m,. G>;Gx=-x~NJGg?<yNj.TO>-x"m4. G>;Gx=-x><^JGg><??-NoXO`dNq=-x~_N==-x~0N^JGg ~SG?><m?NqZXO`(Nq><?>-"m. G>?NoXONs*?<NzTO`Nq m{$f:NfNNN~{G?NoTO?<NzTO`bNq>-$ G|g>-$ G}g m$f>-$9GNfN|&9GN{T?,NMTO=,~NJGg(?,=,~DG^?N\XO=,~DG^9G>,G=>,^?NoTO?<NzTO`Nq m$fA./A./NPONs* m$f"Ns*N(NN >,;G|`4Nq.,/?,N*\OA-NN><?NqTO><?NoTO?<N{TOBm~`Nq>-$ Gg m$f>-$9GNfN|&9GN{TNN|&9GN{T=,=,A.v"N>;GxJmxf?<5NiTO`^Nq=,>-xNJGg:=->,^?NoTO?,?-xNXO=->,^?NoTO?,?-xNXO>,Gmx?NoTON1FGJGg`Nq>-x9GNs*`*Nq?-xNzTO`Nq m$fFNfN(N?<?<NXO><G?NoTO?<NzTO`Nq=-$~ =~NJGg>, Gf~9G m $f^~RG;G$=-v~DG^"m. G>"mt. G> G-$ Gg?<2Nj.TO=-$~ DG^RG9G=-v~DG^"m. G=~=~ DG^NJGg?,NzlTO`Nq=-$~ DG^RG9G>,"mt. G>==-v~DG^"m. G>"mt. G>NJGfNz?NTO`Nq?,NzlTO~9G` Nq`NqA. GRPNs*`Nq m$fRNs*N|&;GxNN Ns*~9GBm~=-$~ N==-$~N^JGg`Nq` Nq` Nq`Nq=-v~DG^"m. G>JGgNz?NTO`NqNz;GxN{|9G>,N\NuNT>,"m|. G>;G=,>-vNJGgzN{|;G;m=,>-vNJGg mf?<3NiTO`8Nq=-~N==-~N^JGg;|?-?-N\XO` Nq=-t~NJGg?<4NiTO=-t~DG^"m. G>;G=-t~DG^"m. G>;G=-=-A.v"N>;G mf:>- Gg$>- Gg>- Gg mfBm`vNq>- Gg mf0=-~N==-~N^JGg >-TG;G`2Nq mf&=-~N==-~N^JGg;|Jmf?<5NiTO`\Nq=-~N==-~N^JGg?-?-N\XO;m`Nq~'=~ DG^RG9GN{T=->-NJGgf=-~N==-~N^JGg?<6NiTO`Nq>-m?NoTO?-?-NXO>-m?NoTO>, GfB=-=-~N^JGg~ Gm?NoTO`Nq~N?NoTO`4Nq>,G =~DG^Gm?NoTO mf;|N{T?-N{TOBm~N\NuNTNfN|&;GN{T?-NMTO?-?,NXO?,NzTON\NuNT>, G=>,^?NoTO?,NzTON\NuNTNN*?-N2TOJGg?-NTO`Nq?<7Nj.TONs*N\NuNT?<N{TON{TN\NuNT?<N{TON{TN\NuNT?<N{TON{TN\NuNT?<N{TON{TN\NuNT?,N{TON{TN\NuNT=, >,NJGg2=, ~N==,~N^JGg?<8NiTO`Nq?, ?,NXON\NuNT=,>, NJGg(=- ~=>,^=>, ^?NoTOBm~N\NuNTNN*>-9G?,N2TOJGgzNs*>, GfNs*?,NTO`*Nq=,~N?,=N2TO^JGg~9GNs*~9G~/?,A./N2O -.<NJGg~9G?,NBTO?,NTO?,N1TO??,N4XO;GpN>,"mD. G=A.vAN G.NrNB><?A ./NoNO~KG=>,^??-NoXO` Nq>< ?NoTO~9G>, Gf~9G`NqNkA./A./NPO~9GNs*N|&9G>, Gg>, Gf~9GN{TN1JGfNk.,/?,N*\O=,~N==-$~N^JGg*A. GRPNs*?,NBTON1JGf?,NTO?,N1TO??,N4XO;G=,~DG^;GA. G>JGf>< m??-NoXO`NqA. G> Gf~AGm??-NoXO`NqA. G> Gfd>, Gg:pN?,N3TOrNB?<pA ./NjbNO`Nq><Gm??-NoXO`(NqA. G> Gf>< ??-NoXO>,JGgNN >, GfNs*`(Nq>, Gf?<xNj.TO?,NTO?,N1TO9G>,N\NuNT>,"m. G>;G>,"m,. G>;G mfZ?,N1TO=~N==-~N^JGg>-pRG??-NoXO`Nq?-p?-NoXO`Nq mf>-pRG??-NoXO`Nq mf>-pTG??-NoXO`lNq=->-ڎ^==->,N^JGg?-p?-NoXO`6NqpN?,N3TOrNB?<9A ./NjbNON\NuNT>, ?,=NTONJGg?<:NiTONs*N\NuNT?<?<NXON\NuNTNs* m$fNs*`Nq?<;Nj.TON\NuNT m$fNs*`Nq?<-,NJGg?-$N&TO`BNq m$f?-NlTO`&Nq m$f(NN1rFGJGg?<>Nj.TO`Nq m$fNs*?<NTO`Nq m$f ?-NfZTO;mNs*`Nq m$f:>-"m,. G=~NJGgNl` NqNs*`jNq m$fN^`TNq m$f`Nq`>Nq m$fN`(NqN1rJGf?<>Nj.TONs*`Nq m$fNs* m$f`ZNq m<$f ?-$NTONs*?<-PNN errorNN>-P GgN4Ns.NNN`NqN4N.NNNJmg>-PNf` Nq>-PN>Jmf2AH-NNNI.;GJmfN4~NvNNJmg?<ANiTO>-=~"m. G=~N=~"m. G>=~"m. G>^^^JGg~"m. G>JGg.pN.<NrNBA./NVNO~==-><DG^=~A^N`zNq>-^"m,. G=~N=>-^"m. G=~N^=~"m. G=~N^JGgdpN?<Hm^A./Nx:O rNB.</>-^"m. G>H/A./NTNO`Nq>-^"m,. G=~NJGg>-^"m,. G>"m4. G=><^JGf^pN?<Hm^A./Nx:O rNB.</>-^GH/NM.XO/A./NTNOA^N`Nq~"m. G>JGg*pN~NrNBA./NVNOA0.NA(.NA.NA@.NA.NNI.JGg?<ANiTONCTNE0A .NNJ .JGg?<ANiTOJmfDN4NCompilation tookNNN-.-NNN\NuNT>- Gg mf?-NoTONs*`Nq>- Gg mf;m mf~;G`NqBmNGT.;G=-~A=~ZNJGf m?f.?->-H/ND\OJGg?<CNiTO`fNq>- GgH>- Gg<>- Gg0>- G g$>- Gg>- Gg mf?-?-NoXONs*`Nq mfNrRm@=-@A(.6<N-A.N>-@"m4. NGh-. ^0>-@"m- >- ^0>-@"m- >- ^0A-A-~NvNNNs*` NqNs*N\NuNT~?NiTO?<NTON\NuNT m$fP>-"m,. G=~NJGgNl` Nq?-NiTO?NpTONs*`DNq m$fNf?NpTONs*`Nq m$f>, GDfSmjN\NuNT=,>,G^TG=~DG^"m4. G>;G>,JGg-, >- ^0`"Nq., ->-"m. G> ^0-, ., G=~^ ^0-,., G=~^ ^0N\NuNTpN>-9G>,"m,. G>RG9G>,"m,. G>"m4. G>9G~9G=,><^JGg~9G=,><DG^9G~9G=,~_N==,~0N^==,><^^JGg~9G=,~NJGg4>,TG9G>,"m4. G=>,DG^=~N9G~9G~9G>,JGgxA->,H-~NJNA->,GRGH-~NJNA->,GH-~NJN>, Gg Ns*>-$ Gg?<DNj.TONkA./A./NPOA-~=~=.-NN6Ns*~==,~AN`Nq?,?,?,A./A./N,O=,~^JGg2?,?<NXOA-=,~=><NvN6`Nq?,NBTO=-~~NJGgBm~=,>,G^VG=~DG^"m4. G> Gf>, Gf Bm~` Nq;|~=-~~NJGg;|~A-=,~=>-~NvN6=-~><N==,~N^JGg,>,G9GA->,G=~=>,NN6=,>,NJGg(A->,GRG=~=.-NN6NAN`vNq>,JGg4=,~N9G>,G9GNk?,NrTONkA-~=~NN+GNs*~==,~AN`Nq?,?,?,A./A./N,OA-=,~NNHJGfNk?,NBTO>, Gf:>-nZG?=,A->,G=~NNDG^?NoXO`NNq=-n>,^?NoTO=,>,AtG>0p^9GA->,G=~=>,NN6Nk`fNqA-=,~NNH Gf?,NBTO`8Nq=,~^JGg?,?<NXO`Nq?,?<NXO=,>,NJGg&A->,GRG=~NN+GNs*AN`rNq~9G>,9G>,JGgA-A.NA->,G=~DG^=~NN+G>,;G|Ns*?,?,?,A./A./N,OA-=,~NNH GfXNk=,~^JGg?,?<NXO`Nq?,?<NXO~9G>-p^G?NoTO`NqA-=,~NNH Gf@Nk?,NBTO=-n>,^?NoTO>,AtG>0p9G`^Nq?,NBTONk>-pVG?=,A->,G=~NNDG^?NoXO~9G>-p^G?NoTONk=,>,^9G=,>,NJGg`XNq>,JGg6A. GSPA->,G=~DG^=~NN+G`NqA. GRPNs*`8Nq>,JGgBm|A->,G=~DG^=~NN+G?,?,?,A./A./N,ONs*=,~^JGg?,?<NXO`Nq?,NBTO>,;G|>, GgNN >, G_gNs*Nk?,?,?,?,?,NO ?,NrTO`4Nq?,?,?,?,?,NO >, G_gNs*=,><^JGg >,TG9G>,JGg>-p\G??,NoXO;mf`Nq?<Nj.TONs*NN\NuNT>, G_f?,N1TO;G`NqBm=, ~N==,><^^JGg>, JGg=,><^JGgZ>,"m. G>?No,TO>-nRG?NoTO><?>,"mD. G>?NoXO`Nq><G??,NoXOJmg><Gm?NoTO`VNq=,><^JGf&~TGm?=<>,^?NqZXO`"Nq~MGm?=<>,^?NqZXO`.Nq><Gm?>,"m. G>?NoXON\NuNTNz\?<NTO;GN?-NyTO>-lm?NoTON\NuNT;m>-"m,. G> Gf?<sNj.TO`Nq`Nq>-"m,. G=~N?-=N2tTO?-=N2TO^^JGg*?-N1TO;G?-N2TOJGg~PGm;G?-HmN2\O+G>-"mD. G=A.vAN G.+G--.-ޞ-.<N=~ "m. G>^JGgNJ`(Nq`(Nq--~ޞ+GNfNz\NNN `*Nq>-mh;G>-"m. G>H+GN?-NyTO?-.-?NoXO`Nq>-"m,. G=~N==->-ڎ^==->-N^^?-=N2tTO^JGgR?-N1TO;GN?-NyTO><(m?>-"m. G>?NoXO` NqNJN\NuNTNs*>-$ Gg?<HNj.TONs*N\NuNT-, .- ^ -,>-| ^0Bm|N\NuNT., +G>,;G|N\NuNT.,+GN\NuNTN1JGg6Ns*N><Y?NoTON1rFGJGgN`Nq><Z?NoTON\NuNTNs*>, Gf><G?NoTO` NqNR~;G m$fBmNs*`Nq m$f BmNs*~G?NoTO`Nq>-$ Gg>-$ Gg m<$f`|Nq`pNq>-$ Gg m$f-$9GNfNNN Ns*>,G?NoTO` Nq m$fNs*N(><G?NoTON~;GNz;G=-~N==-~N^JGg ?->-TG?N\XO>-TG;G mf?<?<N\XO><Gm?NoTON1rJGg~;G`&NqNN1rJGg Bm` Nq`PNq><?NoTO`2Nq`&Nq~;GNz;G~.Gm?NoTO`"NqJmg~.G?NoTON\NuNTNs*NR=-$><N==-$><N^JGg6;m$NfNNN Ns*>-G?NoTO` NqNz;G~RGm?NoTON1rJGg`NqN~?NoTO`hNq~.G?NoTON\NuNT m$f><?NoTONs*N\NuNTNs*N1JGg.Ns*N><[?NoTON~;G`NqNBm m$fVA-A.NNs* m$f*A-A-N? NNNs*` NqN`NqA-N? NA-A.N><?NqTO><\?NoTO?<NTO;GJmg~;Gm?NoTO`Nq~8Gm?NoTO>-lm?NoTONs*N1rJGg`NqN`Nq>-FGJGg~8G?NoTON\NuNT m$fNs*`Nq?<;Nj.TO?<NrTONN Ns*N\NuNT mE$f~9GNs*` Nq~9GN>>,N\NuNTN1rJGg?<No,TO` NqNN\NuNT>-$ G g?<tNj.TO` NqNs*N\NuNTNs*N1rJGgN\NuNTA. G> GTfNs*=-$><N==-~+N^JGgNs*>< ?NoTONBmN1JGgVRmNs*N|&;GN{T mf><?NoTO`Nq?-?<NXON1JGf?-No,TO><?NoTO`Nq?-$NTO``NqA. G> GFfNs*`BNqA. G> G0gA. G> Gf ;m$Ns*?-NTO`NqA. G> G_fN`NqA. G> GfNs*Ns* m$fj>-"m,. G>"m4. G>;G=-~N==-><^^==-><^=~N^JGg?<0Nj.TON `FNqA. G> G;fxNs*=-$~0N==-$~_N^==-$><N^JGg NNJ>-$m?NpTO`NqN>-$m?NpTONs*`NqA. G> G1gA. G> G3fNs*A. G> G1fNi?NpTO`2NqA. G> G3f~3G?Ni?NqXO;mfNs*N1rFGJGg?<>Nj.TO`NqA. G> G=fNs* m6$fdNs*Ns*=-$><N==-~N^JGg><?NoTO`Nq><?Ni?NqXONs*`NqN m1$f~=G?NoTO`Nq><?NoTONs*Ni?NqTONs*>-$ Gg~/NrvXON1rFGJGg?<>Nj.TO`NqA. G> GhfNfNNNkHmHmNPONNz\?<N{TO;GN1;GJmgZNs*?-N{TO;GNk.-/?-N*\ONs*?-NBTONs*?-NBTO`.NqNk.-/?-N*\ONs*?-NBTONN NN(Jmg><Cm?NoTO`Nq><Em?NoTO`NqA. G> G5fTNs*?<NTO;G~5Gm?NoTO>-lm?NoTONs*N1JGf`|NqA. G> G9f~Ns*N1rJGg~9G??<NqZXO`PNq~9G?><=Ni?>=NgpTO^?NqZXONs*N1rFGJGg?<>Nj.TO`NqA. G> G>fdNs*N1rJGg~>G?NoTO`:Nq><?Ni?NqXONs*N1rFGJGg?<>Nj.TO`zNqA. G> GCf0Ns* m$fN`Nq?<fNj.TO`:NqA. G> GfN^`NqA. G> GQf`Ns*N1rJGg><?NoTO`6NqN~QG?NoTON1rJGg`NqN`Nq`NqA. G> G)fN`NqA. G> G.gA. G> Gf?-$NTO`XNqA. G> GRfN`:NqA. G> G8fN`NqA. G> G6f"Ns*N~6G?NoTO`NqA. G> GfxNs*=-$><N==-~N^JGg?< NiTO`6Nq m:$f?< NiTO`Nq><?Ni?NqXONs*`bNqA. G> Gf$Ns*N(><G?NoTO`.NqA. G> GftNs*N1rJGg><??<NqXO`FNq m$f$><?Ni?NqXONs*`NqN(><G?NoTO`NqA. G> G7fNs*>-$ G8g?<LNj.TO` NqNs*N1;GJmg(Ns*N><[?NoTON`rNqN m$f$A-A.NNs*N`NqA-NNA-A.N><?NqTO><\?NoTONNJmg><?NoTO`Nq><?NoTO>-lZG?NoTO`NqA. G> GJfzNs*Nz;G?-?<N\XON=-~N==-~N^JGgN><R?NoTO`NqN><Q?NoTO`NqA. G> G,fTNs*NN*><`ml?NolTO?-N0RTO?-lN0RTO?<,N0RTORmlNs*`NqA. G> G*fBNs*NN*;m?-N2TOJGg?<NNj.TO?-N1TO;G mf?<ONj.TO;mN?-NyTO>-$ G2g?<PNj.TONs*?-NyTO mE$fNs*?-NyTO` Nq?<No,TO?<?-N\XO?-NTO~$m?>-$ml?NqZXO?<><`ml?NqZXO?-N0RTO?-lN0RTO?<*N0RTORml`BNqA. G> G+f?-lN0RTO?<DN0RTO?-lN0RTO?<+N0RTO?<`A./Nݴ\O mD$fNs*`.Nq=-$~1N==-$~N^JGg?<gNj.TORmj?<DNTO`NqA. G> G G\f?<\NTONs*`TNqA. G> GOfJ?<N0RTO?-lN0RTO?<ON0RTO><`ml?NolTOHm$NݴXO`NqA. G> GPf*N^ mfN` NqNs*`NqA. G> GfNs*?<N0RTO?-lN0RTO?<N0RTO><`ml?NolTO=-$~ON==-$><N^JGgL mO$f;|+` Nq;|<Ns*Nz;G>-Gm?>-$ml?NqZXORml`NqA. G> Gf"?<A./N^\ON`NqA. G> G-fz?<N0RTONs*=-$~=N==-$><N^JGgNs*NN*;m?-N0RTO?-lN0RTO?<-N0RTORmlNs*`BNqA. G> G:fN`$NqA. G> GAg&A. G> G[gA. G> GfN` NqA. G> GfNX` NqA. G> Gf,Ns*>-$ GBg?<!Nj.TON ` NqA. G> GBgA. G> G/fN ` XNqA. G> G>fNs*~>G?NoTO` ,NqA. G> GIf@Ns*N1rJGg?<No,TO` NqN~IG?NoTO` NqA. G> GNfNs*N(=-$~N==-$~N^JGgVNs*NNN( m$fNs*N`Nq?<No,TO~NG?NoTO`Nq m*$f~Ns* m$f?<No,TO`RNq m8$f?<No,TO`6Nq m$f?<No,TO`Nq m$f?<No,TONs*`Nq?<No,TO>-$ G4g?<qNj.TONs*N=-$><N==-~N^JGgNN`Nq?<No,TO><q?NoTO` DNqA. G> GKf.Ns*N~KG?NoTON1JGf` NqA. G> GUfrNs*N><?NoTONN>-$ G4g?<qNj.TO`*NqNs*NN~UG?NoTON1rJGg` NqA. G> G]gA. G> G^fHNs*NN>-$ Gg?<HNj.TONs*N(>,G?NoTO` NqA. G> GHgA. G> GGf~Ns* m$f"~;GN>>, GHfNN;GNNz\?<NTO;G>, GGfN1JGgNs* m$f;|`fNq m$f;| `PNq m$f;|`:Nq m$f;|`$Nq m$f;|`NqBmNNs*` Nq;|Jmg?-No,TOBm>,GTGm?NoTO`JNqNN1JGg$Ns*N>,G?NoTO`Nq>,GRG?NoTO`zNqA. G> GLfNs* mM$fNs*`Nq?<SNj.TO>-$ Gg?<TNj.TOLH~N\N=LH~N\N^JGg:~ "m. G>JGg~LG?LN?NoXO`Nq?<TNj.TONs*`NqA. G> GfHNs*N(>-$ G4g?<qNj.TONs*N(>,G?NoTO`NNqA. G> GgA. G> GfDNs*?<NTO;GNs*?-NMTO>,Gm?NoTO`NqA. G> GfNNs*?<NTO;GNs*N?-?<NXO>,Gm?NoTO`NqA. G> GgA. G> GffNs*N1rJGg>,GRG?NoTO`8Nq>, Gf?< NiTO`NqN>,G?NoTO`NqA. G> GfNs*N1rJGg?<nNj.TO;m$;mNs* mQfNBm`VNq mNf2NNN(N?<NrTO;|`Nq mfN~;G`Nq mfhNNN1JGg~;GNs*N(`4NqN(N1rJGg~;G`NqNN(;|`Nq mHfD?<NrTO;|N?<?<NXORm mo;|`DNq m5f0?<NrTON?<?<NXO;|` Nq m=f;|`Nq mf~;G`Nq mIf"~;GJmf?<nNj.TO`Nq mf mcf?<NrTO;|`xNq mf?<NrTO;|`VNq mfN~;G`:Nq m]f"~;GJmf?<nNj.TO`Nq?<nNj.TO`Nq?<nNj.TO><Gm?NoTO`:NqA. G> GgA. G> GfNs* mE$f>,GRG;GNs*`Nq>,G;G m$fNs*`Nq?<;Nj.TO?<NrTONN Ns*N1JGgNs*N`Nq~?No,TO?-NoTO`nNqA. G> GfNs*N1rJGg><G?NoTO`|Nq m$fVNs* m$f"?-N2TOFGJGg?<Nj.TO?<?<NXO><?NoTO`Nq?<NrTO><?NoTO`NqA. G> Gf$?<NٴTO><G?NoTO`NqA. G> GyfdNs* m=$f>,GTG?NoTO`2Nq m$f>,GVG?NoTO`Nq?<Nj.TONs*`NqA. G> GfHNs*N1rJGg>,GRG?NoTO`NqN(>,G?NoTO`NqA. G> GfNs*Bm m$fNs*;|`(NqN1JGgNs*;|NNNN1rJGg?<No,TO`NqNN><Gm?NoTO`Nq?<XNj.TON\NuNT~9GNA. GRP=,>,NJGg`NqN`NqN\NuNTA. GSPNs*N1=N1r^JGg~?No,TO` NqNN1FGJGg`0NqA. GSP=,~NJGg?<NiTO`Nq~==,~AN`Nq~?No,TOAN`NqN\NuNTNz\A. G> GYgA. G> Gdf?<NٴTO`NqA. G> Gcf?<NٴTO`NqA. G> G(gA. G> G'f0NN(>,GmrRG?NoTO`Nq`~NqA. G> G]f2Ns*N1rJGg?<No,TO` NqN` GfgA. G> GgfNs*N1JGg&Ns*N;|NN`&NqN(Bm>, GgfNNNN>,Gmrm?NoTO`Nq`NqA. G==-8>--8DG^RG"ml. G>;G>-JGgD=-~N;G=-~N;G?-NBTOJmf`NqN`Nq`NqA. G=~D=~GNJGgNs*?<NrTO=,~ENJGg$>-pG ?NoTO>,TG9G`NqNNN1JGgNs*?<NrTO`Nq?<No,TO?<No,TO`NNqA. G> GCf.Ns*N1rFGJGgNkNNk`Nq?<XNj.TO>,Gmr?NoTON\NuNTNs*Nz;G?-NMTO~+Gm?., G>ml?NqZXORmlN\NuNT?<+A./N^\O m<f>?-N0RTO?,N0RTO?-N0RTO?<+N0RTO?<YNiTO>-$m?NpTO><`m?NolTO>, G\f4;ml?<`A./Nݴ\O>-$ GDg?<ZNj.TO?-N0RTO?,N0RTO?-N0RTO?<+N0RTON\NuNTNs*>-$ G0g>-$ G_g m$f?-$NTO`XNq m,$fNNs*`- G<`m?NolTO>-$m?NolTOBmjN\NuNT?<,A./N^\O><`m?NpTO>-$m?NolTON\NuNT?<OA./N^\O m"f`(Nq><`m?NpTO>-$m?NolTON\NuNTNs*=-$~ON==-$><N^JGgR mO$f;|<` Nq;|+Ns*Nz;G >-Gm ?><`m?NqZXO`Nq><`m?NpTO>-$m?NolTON\NuNT?<-A./N^\O><m?NolTO>-$m?NolTON\NuNTNs*?<*A./N^\O?-NTO~,?-=N1TO^?><`m?NqZXO>-$m?NolTO>-$ Gg`ZNq=->-NJGg4pN?-N3TOrNB?<\A ./NjbNONs*N1JGfNJGg`Nq m+ f?<]NiTO`Nq m, f?<^NiTO`Nq m* f&?<_NiTO>-$m?NolTO`hNq mO f?<aNiTO`LNq m- f?<`NiTO`0Nq m f$., G> GOf`Nq?<NiTON\NuNT;m=->-NJGf"=-~DG^"m4. G>;G=-~DG^"m4. G>;G>- G-g m+f$=-$>-NJGg`NqSm`Nq m,f@ m$f0=-~DG^"m4. G=>-NJGg`zNq`TNq mf0=-$><N==-$><N^JGg`BNq`Nq=-$>-NJGg`$Nq=-~DG^;G`Nq?<bNiTON\NuNTNs* m`$f2Ns* m$fNs*N~`G?NoTO`Nq?<_NTO m$fzNs* m$fR?-p>-"m. G>?NoXO?<NyTO>-lZG?NoTO?<_NTO`Nq?-$NyTO?<0NTON\NuNTN2Jmg?<_NTOJmg?<NTOJmg?<0NTONN*?,N%TOJmf><`m?NpTO><m?NolTOJmg?-NDTONs* m$f\;|Ns*N1rJGg`@Nq m$f SmJmfNs*`Nq`Nq m$fRm`Nq>, G_gNs*>-"m,. G>RG;G>-"m4. G=~DG^;G>-TG=~DG^;G;m;|=->-NJGf>-TG"m4- >- ^0>-RG"m4. G> Gf\>-"m4. G>?N1TO;G mf>-XG;G`Nq=->-AtG>0p^;G`Nq>-XG;G=-~DG^;G`BNq>-"m4. G>;G>-RG"m4. G=~DG^;G~"m. G>JGg~;G`NqBm>, G0g?-N1TO;G$`NqBm$=->-ڎ^JGgR=-$~N==-$~N^JGg4=->-$AtG>0pDG^;G>-"m- >- ^0=-=-~AN`Nq>-RG"m4. G> Gf>-"m4. G>?N2DTOFGJGg>-"m4. G>?N1TOAtG>0p;G>-VG"m4. G=~^JGg>-;G=->-DG^;G>-TG"m4- >- ^0AN`0Nq~0G??-NoXOBm&=->-ڎ^JGg6 m$f,=-~DG^;G>-"m- >- ^0Rm&=-=-~AN`Nq>-RG"m4. G> GfR>-"m4. G>?N2DTOJGg.=-~DG^;G>-TG"m4- >- ^0Rm&AN`Nq?-&NrTO>-TG==-~AN`Nq>-"m4. G>;G>-RG"m4. G> Gg~>-"m,. ->-RG"m4. G> ^0>-TG"m4. ->-"m. N>-VG"m4. ->-"mD. NAN`DNq~"m. G>JGg><?NoTON\NuNTJmf?<iNiTON2>-$m?NolTO=,~_N==,><N^JGg?-N1TO;G$=-$~=~NJGg0>< m$?>-"m. G>?NoXO`BNq m$f6?-p>-"m. G>?NoXO>-pG?NoTO?-&NrTO~)Gm$?NoTOJmg>-*"m\- >- ^0><`m?NolTO>-"m,. G>RG;G>-RG"m4. G>;GN&>-TG==-~DG^=~AN`Nq>-"m4. G>;G >-RG"m4. G> Ggh>- "m,- ~ ^0>-TG"m4. ->- "m. N>-VG"m4. ->- "mD. NAN`ZNqN\NuNTNs* mB$fNs*?-N2TOJGgNz\?<NTO;GNs*N1rJGg`NqN`NqN\NuNTNs*Bm mB$fNs*=-$><N==-$><N^JGg~;GNs*?-N2TOJGgVJmf8?-NTO~KG?NoTONz\?<NTO;G`NqNz\?<NTO;GNs*N1rJGg`NqN`zNqN\NuNT=->-NJGg;m?<kNiTON\NuNTNs*?<-A./N^\O>-JGg&>-$m?NpTO><m?NolTO;mlRml?-N0RTO?-N0RTO?-N0RTO?<-N0RTO=-$~?N==-$~-"m,. G> Gf0>-fm?>-"m. G>?NoXO`Nq?-NTO?-NoDTO m$fNs*=-$~N==-$~N^JGg4;m$Ns*?-NyTO>-Gm?NoTO`VNq?-NyTO m2$f,Ns*?-NyTO~-Gm?NoTO`Nq~Gm?NoTON1JGg ><?><`ml?NqZXO`.Nq><Y?><m?NqZXON1rJGg`NqN`Nq><`ml?NolTORmlN\Nu~N> O/ C0<HЈ",Іd ,` O/ GЂe`Ь ЬЬ/// Bg?<JNAO Jf$E#6A8,Hp!!!.H HĐ"MBQd+@A+H+L|SE;EC@+I DX;D Nu _NT+K)O)N/NHz+_Nuv`Compiled with HiSoft BASIC Some code: Copyright (C) HiSoft 1987Hz?< NAa>N??F?F"/FN<+g <-fPN<.g<0e <:dBo?|Bo <:d<0eaG0ajNRo`Jf /k WeR<.f6Bo N<:d<0eanG0a$RoSo ` ooR߰<Dg <EfZ`N<+g <-f?|N<:d"<0e2/A0AA@GA0?AN` g oo8/o gadAC$IaJ`ھ<&fN߰<HfBN<:d <0e2G0`"<Gd <Ae G7`<gd<aeGWaa&``H<BfN<2d:<0e4G0aaN`<OfN<8d<0eG0azaN`Jf0 /k eRdS|"` |"Ag ggfN/"g,Sf f" /H/@` e /aGHPz./gLJ/gv?a?:p`J/"f Jj aG``J/gDJO$Nu%&!#HJf߯eNua aG,AC$IHaHx`H / aGH PNuJf /Ѐe"ЀeЀe Ёe/@NuaAC$I`HJf /ЀeЀeЀe Ѐe/@NuaXoNuJf /ЀeЀe Ѐe/@Nua|VoNuJf /Ѐe/@Nua`RoNuJfaROHGJD[jDD<AB!zVB.T/zTBNd A"O$HaH>JFg O"O$OaH0`O JgCA$IaHHGPNu A0-JgPQa0gBNu?a0@` Nu !INu("hNuA0-aPHQNu _x8a PSr//Q/-+O/N m( SPg Ha.LQ m((+P` G("haX.NuACh+H,+HY+I0C - AX+@ +I+I,cA+H4Nu mX.-DS,-,"F*<& $X,Re^dZ(*gȅe؎ex$`:ȅ eb&ր*gR"&F܄ge>$SQdQd+FL+_/حd(Nut`t`t`~t`xHB+F <@"< tAa <@rtAa <raga - AX`+@ aA +H4LNu mXH"m ^("haSoRgSe(g`x"Dp!a.Nua H ^Jkga񈘇cR--`.NuaL`a r G("haψa* h`E`(aa.Nua 4 *-JcaJgfSge*RIpH@U!Wgj`8JkH`RI VfdLR`LSj` *-Jca\JgbS/ Ř*kSpH@d4d0SWfJkH` VLgSj`ˉ`SWgd`JkH` Vf dL`LSj`ha "afXgXSeTaaVf>d`8<ae <{dNuafgSetHB Vfd`z`z Ga ^.`aJfgSetHB Vf֘d`ac`ad`a e`ab`aSe Se gNuJNu G&$P(<Ƅ VȐ"hNu Ga("P~gNua, Ga.Nuxa.Nu("hNu/ a _`X/ @Jf(Saz. _`> >HǏNu0HiH@>Nu&a^.Nu H@g(Jg$HAJ@gJAfHA`JAgH@HAJAf ށeNu~NuDNu$JnDJnDai JkJjDNuJgF //JjDJjDp"~ҁU@D@އeRQ jD jDNuNu^_HNu^]HNu^WHNu^fNu^\HNu^^HNu~Nu_HNu]HNuWHNufNu\HNu^HNu~Nu0h>Nu .Nu0h>Nu .NuJGjDGNuJjDNu0@o>Nu0@l>Nu GaX4)k2BHҁC. Nuv!`6FBH*6HÖk$n UDk>HǞkn"ajևQ"`J` GaJgF<fbxCifn4)C k2BCHUDk0BAҀQ8. NuJ-JgaP HxCSDt =QaL`a3a a a~ ax FBH*&k趙nUDk.kھn"aևQ"` Ga>JgN<fxCift4)C kJ^f2BCHUDkJ^f0BAҀQ8. NuHxCSDt -QaL` GJf@4-H/ x$Nr6ASAHDJDfHD0Bk"R@Q/ pgaC2 AA ?H؁a222"8B2HR2 UAk0B22R@Q2prHASCd2`"Qd&_Nu2 4BSAA M BC p0 !Q&_ GJft4-H/ H/~$Nz6ESE"k\Ra,Q( pga<C2 APA?H؁a222FY"."R: UEk"""RaQ(*`2 Garg()f<favB`xNu2) ~` GJgGa` (*`Auaa Jg mNJg/a`AX/a~"aJUgBJRgaL`H?8(H o(aLLf0ApNupDNuH/2a f*0@"<g < g8H0 lNL LJNu"`r,HA,t,HB,"Lp`JgB<fp@`JfrAp`CB gB,>4>>>>ZQ"aapNuP"pNur,#pNupDNuB,B,#rarE`pNu|dp,@dAB#A B H`rarYaL8a`/ Jikrarba"W2)a2A ap"WJikrabrca\"_2)aA `LXpNu?AA,0-F|gS@gA 00Nu    H @rareaLx*&Iajff< gR< gL<g<g< eܺgHR/ at&_`JgSJ,gS,/ rar ara&_`a"p@Nu?,?<NMX<f lf-OfrpNupMNu?r aFr ax2< gp< g4R,,g,e lf< d<g<d<dp`0,<f< f ,#dR,#A???<NM\Jlg pNuB,`Rgp9Nu0,??<NMXrJfrpNuSgSgUgSgpDNu&fvRBg/?<= mZ PNJkrPOx(؃AaV)C)C$)C 8?<?B?<B mZ h N)@Bo mZ h NO |||9Dp)@@)@NuPH`t9+@TlAgf LNuF5LCKKBg/?< mZ hNXOapNu`8,<d$ g2A @N.f@(eʰ|dA`np<gJf",g aHfazrpNur)ApNuHl(/, ??<? mZ hNO Jk)@gB$Nup>Nua ,$e agp>)@NuA(r0R<gR$pNua",g$S)AS$dBg?/?<BNAO JkanpNuapDNua|?(,$gA($e(٬٬$a8Jg2)l$/ /??<? mZ hN"/O JkѬf@pNua < g4< g2R,,g(,d"B O | ApB,aXNuB,I? OpaTNuJg$//??<@NA$/O "kpgp=Nup"Nua  IJ,f6,Sev H x ggRQdAL0`r`Jg, I,< g< gReSf C`^v`SH @vapAaFLgNu fXp6Nufp6XNuaB$BSt QdBg?/?<BNA"/O f Hl(/,??<?NAO Jkgr)ApNuaB$Bg?/?<BNA"/O Jl |fZ/?<?B?<BNAO "Jk@g(*HEJEgpH@ @anf(SE`HE  |aZf ,B$A(aHfNu` f(Jj", )A R $,GaV"G ,A(NuXp6Nu?<?B?<B mZ h NO /?<?B?<B mZ h NO "&Bg?/?<B mZ h Nff$, `$/`$,"O pNuaR Tp6Nu< g,< gR,,g,e&,$d 8(R$pNuB,`?r ar a2`p2Nu",pNuPRT:AUX:MID:KBD:LST:H@b0HCXAag (IpLNuLp4Nu8<0DaQNuH@af Hp0a L LJNu lN -f ? ``XpDNuaf<< g < g*<f?/<NM\O`R,`B, mZ hNpNupMNu/< g <g < ea _NuA+H`Hzڲ<bg<cg<YfXHz +_pNuXHz`Hz`apNuHz?<&NN\&pdЀNu 8Nuv9 GEXaD/ ?NA\J@kNua>v `v:`v;` GEXa ^EaHmX/ Bg?<VNAO `aNAX~Nu GEXa/ ?<ANA\J@k`HmX?<ANA\J@g|fHNu GaѴaш gEXa AX `JgS` / ?<NAT$_2A:BRA?/ ?<GNAPONugR/?<HNA\OJgf @Nu/?<INA\Jga63a0 m| h,NuaJGk SGgJfJf ` GaaSjaaa` I2  g (=WJANuaak/ /(f ;gl`SgbRUaf((/ag^erHa2L$_ /g`( R/`$@a8Bga`Ba:a"_ m|!I,NuRUatPOf/a< _` _$_< fp=QNu _$_aB"Ha6/a/Bg?<JNAO NuJfa"JfJfÈЁЄTNuJfgf`NuajaJfJg.Jg*"HVJAj<=g LJf`LNupNu$m|x*<gCxafna$fbCxafVJfJf  fRH`(JfJf/(Ua.$_6SCkfr aQNu<ae <{dNuE/ aڞ$_  fRSfx&/ SeaQ"_.`pr<:d <0e.@0`"<Gd <Ae@7`<gd<ae @WҀ`NuARGV_PBP/ ^a΂aVYfB O&aWH _ Nua^ / Hx?< NA\(x/?< NA\O g ggX` (_Nu(_pNuaA`CON:0<rtvaf;H>;HDA0<rtvafNuaDLST:4H>a`6 Va"0 I0af ^`v` naSfXv<Igv<Ogv<Rgv<Af2HCt4>.a6 VaR"0HC IaJf ^aBT ^`:aF6v`napa|f4 fJ-g praf` f?. i a؇Ea0_`>0|aSH0fNu<!g.<fH/"h*)g/ I<!fa PHSf _*Nu"hmlH(x"mpa̎LNuJGo0Gbpaf~(މNu~Nup4`XJGo |d0GNu0Gp4`B;mD>Nua;G>Nu;|>Nu Ga($0m>pa G`p0m>aHA86HBrBDHAJAgHAJCgAcVB8SDpr aQNuJGo8SD0m>`JGkg.p0m>algJBgHGJGgHBRBBdBSGHzCt0m>p`8 H"CX/ a4 $ "_p0m>`H"CX/ a _ -fS$ "H`a $p0m>`a  gS` rAXaXCXA(Nu m ,g~J-fabQ m`a;G>Nu+W +G m;mD>aJg 0m>p$alC$<0m>paXA, +HNu"m , If(xR<,g< fS+HJg fSfNuafaŰiJf>0BfNuafaŐiJf.Nuafai.JfNuaxfa`x"m ,fn< g8<"g< gAR<,g< f` I<"g < gR`RJg 0 HfSf/S+IaF. _a NuCt`C!tp0m>a. ` ?Overflow ?Redo from start C/ xR  fa. _aԬ`.&<a`/ a. _aԒNu&<aHapi 0Bf>NuDNu&<a*aRi.Nu&<aaHi.Nu&<aaNuJf (-af+HaVfᤲ< g$m$jxg<"fva2fဲ< g`< gL<@d  efRgJag`*0m>p`檰<gJfaf< g< g<,f( "m"iNuaƲ< gad`a$af m f (-aӨ+H$hx< gRDgag` az< gaaat. m ha2Nu0m>p+` -gB`&x?<?<NMXJ@f xa6.Nu/<NMXJ@g$-Og <fatM?xa.0NuxH@?a.0BNu:RGf:-D(a.0E$p`p$"^0^`p`g"/ m fAN _`?/<NM\NuNuCX/ aޜB _`avpa.g~Nuadp~al<fp*a`.NuaHp*aR.NuJgDJ-f>|g8|Mg2|Ng,|Og&X;D;mf;U/-BP+LapNuafNuX`:~|f~`a"Avaa8<f~a??<LNAALa0( AXBSaA4`AWa _aJUgAYar2a`~q Y Program terminated - press a key to exit pFATAL ERROR:  at line ,GgT klknf`@,k^g>k^g2k8<d,&B<ރeNuRid~S<Nu.NuJNu<oD&B<ރeNukgvgPk<<d&B꫞kBSbHGއ[kgNu~Nu<oD&.<`DgjD`.<ANuNu.<<Nuk~Nu,FfJfg(gvEDiBHGHFFkTiHGDL&:ƞHGHF6BŞd&BރSE&HCBGHEk:څS>:.gNuk gBAkjDNu<Nu~NuBkjDDNufDJjNuHz_Jg0jzDi&SbHGއ[Jj dRNuMC68343 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.HF~Jg*]lDvUt QCtJgGNuF"&g0pC2DC|m |4n"Q,gJlDk.Nu~DNu~Nup"DjDG@AB|Ab DSGkUĆQ(k(j2xc 0D@`fc 0D@`D@@`D@@ԆӅdf UĆR@(fJk0<NuJkJkxAS@J[NuJkV`LHaLHav$OaO `HВR@,@L0 : 8 HB.ڄGHGH@EHE>߃8 < : HBކ,CޅCބC8HFHB: ؅C: ؅C: HA؅CHFHGDHGHDDHFCHF8*܄C8 ܄CHA8 ܄C86 HA؃vHECHEHFDHFHDDHECHE8ڄ"$&@H@@ JmS@|fJf JfS@LXNuLH,.ahLHa\v$OaO `LD@؀ D(*H8x8pJff f0`&e0USjpRSfҎg0L JkS@|fJf JfS@Nua8 g0HGOGG,H@O@@HGBG p̀Nu|Nuއg HGNu gV H@H@@mH|lFJj@H@VHFNFr FJgdH@Ri H@.<H@Nu~NuDNuLff~Nu~NuLff`Ha>LlLNuHa*LnNua]HNua_HNua^HNua\HNu"NPaHLaL8 f ffNuekD NuDNuj`/ aJEk6|d WAPd"HpEaf( "_NupaZD+r2a``DE" 4E|d ICP$ISESA Q<0Q.`paD-| d0` oE c I`S@f.RNuvgv I0<0QJf JfzvRNuH(I??<HA|aVe*AaNeAlaVo`A^a8ezAa@Ro`Aba$dABaBo`A,adPAa,So`LfNuLLaHNuLLHa\LHNuGLLabaTp0JgaLa&La4HQKA$a~eJjPO:6"LLNu?@$@Y@@@È@jA.AcAׄAe B_B7HvBm@B0Bּ&4C k7CAyؠCv4WnUF؉<Ҳt"g pJk S@ҁ`0<vNuMC68341 FLOATING POINT FIRMWARE (C) COPYRIGHT 1981 BY MOTOROLA INC.xaŞ/ Jj|-a R _.aNuxaxψ  Ira("H GaNu Ga֨a֨ai. NuHa`Haai$LNua.aCa,`,<@Jj<ahnNuai 0GgDNurtvx2(4(6(8( |o864BA@`J@gHCv6BBHANuH0)hlH0)h|?ovx`J@ga`LL*jfcCD@` ԄӃdR@HLNuJfJgJk S@jHNu0<5@NuJfJg JfJfBBB|XONua/ 04R0(iR@5@&Oz////zL81P֣7CBCSHCԃ6BBHB҂ң7ABAQHAЁ'@\KUEjLJkSjjH&_NuaL/04R0(i5@LL xzJk SjjJk Rjj|?Eg҃тQJk SjjH0,NuH?@.N"Op QOLNu(j (u@#< k:9/6ɿ2_2/ ,*(ԥ%C@"k( $P@  =nѷYŬG7ֿwp_Aܯ ٌ .BҴ$5ϐ|敔ȸw2œJ~ePm%tѸv z Jgkzއ[ Fnz Fml8DD/A p@<&0@ W.:BEHExHCڃHG6ڃdR:HEXOޅkއSFdRFv 8fi FgNu~NuJDk~HFJ<Nu~|ag*e -WHFag .fagnS<NuafVafdRFa~g .fatg Eg<ef0adge -WaTf8aNf DbE`JjDDDSN .fa(faeSF`&eeeևe ևeօe.NuzgLSg< g< g< g< g` +g -g 0e 9bDNuDNuDNuO// ?<JH>f~A?|+."jT/"<HFvAbPmn d\HSC`]HRCPng`\HSCPmg/|E+00,4jDBT/- B eR/.B //tC$JjJ(fB8X*x UeBޅ D0Q>HL|TNuHFo GbAp 5dSGfxA/|E+00|+ `d/ .gR :fR0`RR~1HGHG Ef (+VfR :f$ R ` h01f|+S /f S _ Eg0`LNuH.f 0tLNu,av"OE` 5e / ".gR :f0`|1RG$_ Eg0`<-gr |RE "0V|ddJFgJGn0D@F|dP` |>|dD`(.0D@S@e0`0S@fO$LNu0S@f0Gc.S@f`SFg .SFfSGE+00JGlDGT(| eR(G ` oN-,Nup `+K4HfHpo|ed0<e|Ue0<U;@8QbQ`Qd mZJ(g`+h0a m0}TLpNuHf m"- -"ea`/ oN< _0gS@QTD٭pNu /`0/Hf m"-貭"fa`4-bfnJm2gj X@;@2`HUm2`B@|gV|g<|g60X@g"<f`;|2<eTm2<gXm20TpNub`JBfb`H.a Lt;|2`a -谭g aa`NuHfHa~-,fnAaaVAN< Ia 6aa -谭f -"-gpa2a `(HfHa `HfHa a~-,LppNu -ZNu oa I / 2/$/v"mZ"iNb0/gb oaaH&mv+SC\K +!f*A$I4g SB<ae <{d߲fQJgQ0<LNuA8JXj+H&k.|0pLNu/ x./ GpN&m&xrJgjD(SAQ+K&r*`-.-0$mp*\JQ B2pgfg *E`/ _f-bfFNRS@<ae <{dQ<_f pU@eQ+K&-.Y-0R-0( "_`paJr GaH0&_Nux opNx6/ALSCg Jf f`,g(j gEISgJf`gR`R` oN*NuQ*Q,Baraa aaBbBm2BmD+|-< A.v!N :"mp0+@+@")SҁҀ+A"NuH"m")'-v!A.N"mp0")SҁҀ+A"L?Nut-`g"g XtNuP*a -+@Э aB+@+mB mp0+@aaa -`fnNuH瀀 m -찭g40TLNup`HB4< mRBJXfNuH瀀 m -찭g0RLNu4/a*f (Nup8Aapm8BYBQBmNu mr8Cp08H@@2AA0g@g \f m`NupNuJ-*f af!mNuaf"(j!mNufNup`p`Smp`-`f J@f~Nu(m:-Aag 0 aXLJEf(mp,\LQ*gBB4XEr&Lg2A0@I2g+Ia ЭxaNpT`-`f:aBg?->Hx?<BNAO A @pa?<?->B?<BNAO Nu/AtBBSDW0<JDg -`g0`-`f<-`g,"<ar2-DgA"paa"<aaR`NuBSS JXgHfH oN?<@NAO fNup` / -$-Yb* mXg/ /"OXO"_` $NuH@`a(L`H`"-$-Yb, mXg/ /"OXO"_` LNuH`aL`H`"-$-Ub( mTg/ ?"OTO"_`0LNuH`aL`H`"-$-Sb mRLNuH`abL`?->?<>NAXNuBg/?<rNupdAa;|dBmNuJmgpa `pa `,x8,,gJDfJmg m<fR`<g<g><gpa aH`N -gJ-*gBЭ @0@?@ 0`.a=`& -gJ-*gЭ @0@?@ 0`a`-z|fv`~|f* m gJmg0RSm`R;H`NJDgJ4l|g p`zg mfRmSmjpa`pa`paJg4<f m<SmRmv mSm<gRmNu6,gR<dLJ,fFJmg@ m<fR`0<><gr0<.<gf ` 0H@>aJg?ajSga`p2gNuJ-*gJaЭ"`-bg _2Hz/` _2/`-bg _2Hz` _2BJ-*fIA0HArXNuaf@H@0..`Ha"aa FaFa 2aN\NuN\NuN\NuN\NuN\NuaJG0a?aaaazapafa\aR aHa$-`gaV-`ga}JmDf,0<~-bfR@a6Jmgk aaaNu;BDa` (H*lOaa&|"-` paaaa` (o*lNupaaa~paaalpaaa@_a`g ptaa*a$ at``aa*a:NTaF-bgaH`baNNu)N)Op |fNup`2p`(p`p`p``h`0<+|aa\0<R`-`g ,`b+maB.,`Na4Aa@+m0<.`49G4)G4aabataЛaƛTatTata"a$aa9dpaaz=paaj=;|4HaVT```ba:Ra0 A4O.paraaaaaaa֔a.<`aaJ-*f\Nua.<`za.<"`Da~aN`@````aNaD+maN>-`Z+ma:.-`Fa,Aa8+m0<.`,;G4+G4pa@aa G+m0<>`a G+m0<.`Nu" ^0$ ^ $a?/paataA`+mar.,`~adAap+m0<.`daHA`pa|a a p` /a =$a&$a&aԄaIaa붘aa"a$aTaazapafa\#aR:"aH;"a>"a4 "a*$a a5a5aaa6a6aa*a*azazazauaKaKaKavKalKabKaXs aNaDa:"a07$a&88a$a%a7$a88a$a%$aa֏ȁaa鸖a鮖a餁$as$a@$a@$a|@$arAaha^r[aTraJEa><paa.<Ra$RaRaRaa |aa2````BN@`aaaaa a玐a焐RazHza GRPHza GRHza GSPHza GSJ-*f \Nua@.``aa(,aa+aڔJխNuJ-*fڨNua̠a a渠a殠a椠a暠AF.a憜a|arWahW-dfaVWaPW aF(a<'a2Wa(W-dfaWaW aMaMa!aa|a)aФaƤaaLa~aLa~apaaval G~ G> G.aHza>sa4$a*4a aa aaaaRaڡRaСRa{ana䲌aqa䞧a}a}aRavaloRabRaX|aNy$aDda:a0da&" ^" ^0$ ^ asasasas GNaԂ"aʅ"a$a㶅akakRa㘡avavazapafka\kRaRJBg0<;|H@0aTaZ0`\TaL0T0<~JBgδ|g>0TNuRa"Aa.aPTa`6Ta BaЌg( BaA0aHz-bfaPaP B h8(<.Ta@`faX00pNuaAa"a GaG+ma`.0pNu A40@1A40@@!$aݜ8aݒ$a݈8a~$at8aj$a`8aV$aL$aT$aJ$a@$a6$a,$a"$aJg a/H.Laܮ`Vaܼaܲaܨaܰaܦa܊aܒa܈a~at"ajaۜ`Jf Jf`aJa@a$Ya,aaT`JfJg`.<4pa(p$-:`aJL`a:H` A4O.,A40H aۢaL`ڼaH`ڬ G. GL$ ^ ( ^HHa<a2a(aaa CaC$a$aaD`aھaڴaڪaڠaڨaڞaڂaxanadalabaFa<a2a(aaa aaaaWaWa$aa(Ta٪X`T0HH.N4 L$p`L 0htPX|T\X` \dPJDH.2,&      $ ( $( ,,00.22.( Y  "" |t$,08@nFND0PX`t (.6:BJ PX`fpvz H^nv\d" h0DJHh6>F DLT\\T\ Zbp tnvzx|tztr| ~ ,204F BJL  8"2(04.&.0 (* &. (0 6> >FN@HPX`hpx T. r$,04>H\$DJPV\bhLT\dltbxPV\^rx v|~V & $ "(F &,28@HPX\``flntlrx~"djpv~ RL6JT\v(*CTV[kmrʀʂʇʘʚʟʲʴʸDH[˶˻  P P  = h  q  w }  $  -  6 Z P  "!  *=Pd r !  .#- $%&'()*)+@,V-l " 7/60123456 .!D8C 9/:D;Y<o=„>™?¯@AB C 7 OEN& F0GFH[IpJÆKÜLòMND ZPY/ QRS6TNUgVĀWĘXİYO  [e8 \]^%_;`Qagb}cœdũeſ Z  C!$' ! B$  Y  !f$ ƀ ! ƒ$ Ʀ @  ƺ! @ 9 4(@ P/     ') '-6  0AQ _ lr w }ǃ Lj' <ǎ$ ǥ Dz        ,D\ @ l k& o* u2 |  @  ! #"#$$&%-  &9 'B('E2 !Mg@  x' 'ɂɟɻ       0 L h    '  ( 7 ]'d  & g~˜  '             %      BASIC-2 File Edit Search Block Options Program Tools About HiSoft BASIC...-123456 New Load... L Insert File I Revert Close ^W Save S Save As... S- Delete File Change Directory- Quit Q Cut F5 Copy F4 Paste F5- Show Tokens ASCII Table... Ins- Goto Top T Goto Bottom B- Goto... G Find... F- Find Next N Find Previous P- Replace R- Replace All Block Start F1 Block End F2- Save Block F3 Copy Block F4- Delete Block F5- Remember Block F4 Paste Block F5- Print Block W Arrange Windows  Cycle Windows ^V Fonts... ^G Window  - Goto Bookmark  Set Bookmark  - Save Preferences Preferences... ^T Compile... C Dump tokens D Run X Directory  - Previous error ^J Next error J- Run Other... O Run with Shell... O Tool 1  Tool 2  Tool 3  Tool 4  Tool 5  Tool 6  Tool 7  Tool 8  Tool 9  - Environment... EEditor PreferencesAuto-indent linesAuto-save configurationCursor mode numeric keypadHide mouse when typingMake backupsShow matching parenthesesShow BASIC tokensStop at end of lineSave files on QuitSave files on Run Other__Tab setting: __9_Text Buffer: _9CursorCancelLoad...Save As...ResetOK Flashing block Flashing line Still block Still line Ask No Yes Ask No YesBASIC Compiler OptionsBreak checksOverflow checksPause checksStack checksVariable checksCancelOKAdd line numbersError messagesNo "FN"s in librariesSuppress default windowUnderlines in variablesArray checks MaxSpeedSafetyOutput to_File name: _PPre-tokenised file:_$_$PCancelAdvanced...Debug...OKCompileAdd debugger line numbersSymbolic debug CancelOKAllow undefined sub-programsContinue on compiler errorsEnable variable exportsForce GEM programRemove inter-sub-program jumpsSuppress compiler warningsUse old style doubles in files____Leave size: ____9____Keep size: ____9____DA size: ____9____Max labels: ____9____Return stack: ____9___Math stack: ___9__String descriptors: __9____Dynamic heap size: ____9CancelOK Disk ST RAM TT RAM Load bits... Maximum...@__Maximum size: ___k9CancelOKLoad program in TT RAMPerform "Malloc"s from TT RAMSet GEMDOS "Fastload" bit____TT RAM TPA size: ____9CancelOK Off On Warnings DRI Extended None Current Top Windowtest=TESTtest<>TESTHiSoft BASIC - Version 2.10Copyright HiSoft 1992, All Rights ReservedSave PreferencesLoad PreferencesChecks...[3][Library not found][ Quit ][2][You cannot run a program|unless it is compiled|to memory][ OK ]Loading HiSoft BASIC libraryDump Tokens[3][Cannot compile this window!][ OK ]HISOFTED.INFt    '         F4LKJHRM,TDQ$@BOP X VNE#YUC WG]! % *NONAME0.BAS??0?AA!???_OƒO_???!AA ?0??0 px<~~x XT,%%(iӪAAӮ0AA4uԶAAԺ<AA@ՁAAN РJ&м @JӬ @ J 2 @ J Ը  @J>, @ 'D Environment Variablesxx@_@Xxx@_@Xxx@_@Xxx@_@Xxx@_@XCancelOK'''.kߨ==ߺ>BB"BBNޤJ޷36   @    @ %  3  @ $> (@<AߪE߱ \ A @  P 1 b m x : 'D  N Jx A$  /  :'AD  D O  V   _ i  r                         , 8 D  P  \  h  :BQ[ bTool configurationTool number: 0 (15 chars max!)Menu entry: _XMake residentCommand lineDirectorySave filesPath:Q<_<XFSel..Command:QA_AXPause on returnReport all errorsRun as TOSRun as GEMCancelRunOKRun with ShellCommand:xA_AXRun as TOSRun as GEMCancelOK As shown None Prompt Current Tool's Top window Ask No Yes Goto 1 ^1 Goto 2 ^2 Goto 3 ^3 Goto 4 ^4 Goto 5 ^5 Goto 6 ^6 Goto 7 ^7 Goto 8 ^8 Goto 9 ^9 Set 1 ^1 Set 2 ^2 Set 3 ^3 Set 4 ^4 Set 5 ^5 Set 6 ^6 Set 7 ^7 Set 8 ^8 Set 9 ^9 01234567890123456789012345 01234567890123456789012345 01234567890123456789012345 01234567890123456789012345 01234567890123456789012345 01234567890123456789012345 01234567890123456789012345 As is Horizontally Overlap Tile VerticallySelect PathChange Current Directory[1][Program Finished][ OK ] Press any keyTOS error #Return code #][Cancel] Making Resident: Messages NONAME+B ]]]-2G ' ##+4 8   #= F  MS X'_)KbGGoqsx   G ~    G   G  G   G %!$G"#$  & ' () ); *,+, )1 'DK'R '3\/$1&%1^e  /w y  /    / / / / "!/ ! # $ %  '* @Font selectionTOS Font8x88x16GEM FontNormalSmallTinyCancelOKSave changesXSaveLeaveXSaveLeaveXSaveLeaveXSaveLeaveXSaveLeaveXSaveLeaveXSaveLeave As Above Save AllLeave AllCancelBackupsOnOffFile not found!_ Filename: _ PCancelCreateTry Again0Resident Programs1060000001234206000000123430600000012344060000001234506000000123460600000012347060000001234Free System Memory:4294967295Free Alternative Memory:4294967295OKxxxxEditor release: ____X(untitled)[3][Not enough free memory for a|window, or GEM has run out of|windows][Cancel][3][No more windows available][Sorry]Load another file[2][That file is already being|edited in another window.|Are you sure you want to|edit a second copy?][No| Yes ][3][This window is read only][ OK ]PBB!BB#**BHY_KK N t A A  + ,  -  46 '=B ['b * e&'f#gnu                " 3 '>N A OJ'DFind:_A_AXReplace:_A_AXCasing:CancelPreviousNext@____Goto line: _9CancelOKCursorBlocks^R Page UpF1 Block Start^C Page DownF2 Block End^A Word LeftF3 Block Save^F Word RightF4 Block Copy^Y Delete LineF4 Block RememberF5 Block PasteF5 Block DeleteTOS Free Memory:4294967295OKCommand line:012345678901234_J_JXCancelOkSave a fileInsert a fileSave a blockWarning - DELETE a fileRun Other Program[3][There is insufficient memory|for the program's requirements][ Quit ][3][There is not enough|memory to remember|the block][Delete|Cancel][2][Print Block| |Ensure printer is|connected and on line][OK|Cancel][3][There is not enough memory|in the edit buffer to load|that file][Cancel]   @    @ @  @  @0  @Q  @r `    !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~BN@j4 .b>\LL0 jr 6 V~"D6v!$   p~BF 6(, nF.L&JF|L( $2&XHFRNP@^@~@ ($~..V(*""(:*& 022BD0:nnxRP|FFjV| :X":8&Jb :`  2 0, * v|$$$j "n*  Pz4"t4$$$~ \ : $P &&&$,  8$2 "&$"&2    t`h, bb*8@ $ *tN$0\F`6:pBF@FB6*~Ll.<b:0  hL<"> FB,,Jl"> & LDl B   r " ( 4  $$ f&8z b^&f<2. JJ0z (   $6.8","&@RH6X~":>.&"h2HhD| `"JD|0 >PDNJD>,hFp*8PdHJ^hn".L> ~ $ ("   2 " 0& "&BHJ&x8@Xl(r *,6@: $@(2 * @FB`.\40b>4. 28& .  <            0     , (   (  0  ..    $ 2:<*  8 (& ( 0  ,, :Jh$ f @0:" 4$:4&    B< & N &( 0  <.6$* V0$$6 .   6 , $   .8z$N@B6h8X  : ,": ,8 :$ >>,$8h"&* $0tZ "6"d$4$0 64"f2 L (Z   ^ 4$".    $, 4  &&    6 p40& ,        $     $4  *     2 $         ( .<"    D 0"& B0  $&  $  62   x  d2  2    0\&".2    $ "  (2*.$2&0   0R, "    & ,4( "B  6 (42N *    (2&L,@2 2<  .    0 &H *  U02 2PPB\ bFp!@ hH0 0 00 0 0 0 0  0000H00000HH0 00H00000l  n. 80000080 00H00H00000000z8000000000000000000000j800000`7`R NNV/9 ?.N@L-@B. n vC2pNJf nZf |`|.NWN^ _TNNV/9 ?.N@L-@B. n vC2pNJfB0. @.g` |`* @0g` |` @/g` |`.Nj.NWN^ _TNNV/9Z n#Z?<?< HnHnHnHnN7@Jnf #Z`0.249Bf*yZ?-?-?-N`0.249 BfD*yZ?-- Bg- Jf - JgR*yZ?-?-N :`,0.249Bf*yZ?-?-?-N.#ZN^ _XNN~VJgJNT?<NX7@/9 <N7@N.7@N`7@pAN>NuHy /<5/<6Hy/</<Hy/</<N\NlNuNV |O"O"""2N9Jg<?<Hy N7@`<?<Hy N7@<?<HyN7@<?<HyN7@<?<HyN7@<?<HyN7@<?<HyN7@<?<HyN7@<?<Hy"N7@<?< Hy&N7@<?< HnN7@<?< Hy*N7@<?< Hy.N7@<?<Hy^N7@<?<Hy&N7@<?<Hy2N7@<?<HyN7@/.?<N@L#j/.?<N@L#n/.?<N@L#v/.?<N@L#r<?< HyN7@/9?<N@L#/9?<N@L#/9?<N@L#/9 N^/9 <N7@?<NX7@A`/ GjN&_Nu#NR<NlN|N^NuNV2.0. @e8??=@?.2.4*yV6-CWNWd02R@QBg ng nfRNN^ _XNNV2.0. @e??=@/9 ?.N@L-@/9^ n#^0.2*yV4-Bg*(y^, rApN*y^B `&*y^- rApN*y^B #^02R@Qd<NN^ _XNNV*yV?-NV/9 *yV?-N@L*yV+@ m vC2pN nN^ _XN/9VNV#V/9Z n #Z*yZ Ue$ Ub?-NUJf #Z`?<?< HnHkHkHkN7@*yZ0 @ g`=m/9 ?.<N7@?.NUJf Jnf*yZ=m0. @g`BHy/<]/<^Hy/</<Hy/</<N\` @g` N4`v @g`N@`^ @g` N,`J @g` NY`6 @g`N@` @g` <NZ2NS"<NZ2` @!g` ND` @#m @%o`@09 24.Bf2.|#N`2.|#N` @(g`:?<Hyr/<5/<6?<NUPJg<<N `T @*g` y"g?9"NJ`. @'g`v y"f JyoRJyg(N)Jg<NC?9 NW`N Jy o?9 NW` <Nl` @.m @0o`?.NV` @1m @=o`?.NVN`p @>g` N,`\ @Am @Eo`2.|AN`6 @Hm @To`VJy gH y@tBf nNg nPf2.|HTANl` @Wg`Hy4N` @Zg @[g`?.N` @Xg`Hy6N` @bg`Hy7Nv`n @^g` N`Z @]g` N`F @dg` NT`2 @ag` N ` @`g` N` @?g` N` @g` N,` @fm @mo`?<f?<mN` @g @g`?<?<Nv` @om @~o`?<o?<~N` @m @o`?<?<N`b @m @o`?<?<N`B @m @o`?<?<N`" @m @o`?<?<N``t @g`R0.249Bf N:`40.249 Bg6.8:9Ef<<N ` n O"O""""NW#ZN^#V _XNGjNb?<NX7@HkN?<NX7@HkN_/9VA#V*yV@ @g`HmNt` @g`HkNT`#V`NuSorry, Memory is full. You must quit WERCS and re-loadWERCSBAS.RSC WERCS for HiSoft BASIC 2 version 1.25 26 April 1993 Copyright HiSoft 1988-93 by Dave Nutkins[2][| Really Lose All | Edits to Form ? ][ OK |Cancel]GNuNV.Jg 9b`` 9f`N^ _TNNV7n,7n .0.n S@7@00. nS@7@2?9?<Hk,/</<N&N^ _PNNV7n,7n .7n 07n2?9?<Hk,/</<N&N^ _PNNV7n,7n .0.n S@7@00. nS@7@2.Jg?9?<NV7@`?9?<NV7@?9A,//</<NzN^ _ NNV.?.?. 0. nR@?2.n RA?NJN^ _ NNV9`Jg09\@7@<` 7y\<0+<4+|@HBBBHB"7A0+]@2+>^A;@09\^A7@L0+LT@7@Z0+R@7@X+pJf.9`Jg"0+N2+<\AR@7@P7kPR`7kNR0+RV@7@T0+T@7@Vp4+JkTRBHBBBHB"7AD0+D@7@B?</A??+N N^ _PNNV n 0 n00.24+TBc&0.24+VBc p`>`p`4`0.24+ZBeF0.24+XBe,6.8:+TEd<.02+HAd p``p``X0.24+LBdB6.8:+Ee2<.02+Ae"0.2+RSAAd0.24+NBfp`B.0.24+NBc|0.kNk=@+pJg+qJf|0+<4.kHBBBHB" n 00+>4.kHBBBHB" n0.`N^ _ NNV=n=n0.n=@0. n=@Jnl0.D@=@=|`=|Jnl0.D@=@=|`=|0.24.Bl"=n=n=nBn=n` =nBn0.nn=@0.n=@0.nnn=@?</^?N N^ _XNNV?</F`" @g`=kVBn0.24.Bc6.8.knSDDdr0+T6.CH C2+DA=@4.BH B0x8+B&=C0.24.Bc"6.8.nSDDd?.Nb`ZRn9`Jf2.RA Af=| nf`(2.AH AJPf0.kn=@`+Jg<NC` N`&_N^#V _\NMaskData[2][ ][ OK |Cancel]Really Clear %1 ? Really Fill %1 ? Really Copy %1 to %2 - This will lose %2Really AND %1 with %2 and store in %2 - this will lose %2Really OR %1 with %2 and store in %2 - this will lose %2Really XOR %1 with %2 and store in %2 - this will lose %2Cover %1 to give %2 - this will lose %2 and clear the outer pixels of %1[2][| Really Lose Edits? ][ OK |Cancel] BitMap Editor NV/ G\/9Z n#Z*yZ mc;|*yZ/-/+?-?-N9*yZ//+ ?-?-N9*yZ mc;|*yZ7m7m|#Z&_N^ _XNNV/ G\/9Z n#Z*yZ;k;k/+/-?-?-N:/+ *yZ/?-?-N:#Z&_N^ _XNNV/ G\/9Z n#Z*yZ0-@7@7m kc7|*yZ//+?+?+N9 kc7|'| B+#Z&_N^ _XNNV/ G\/9Z n#Z/+*yZ/?+?+N:*yZ;kpt4+";A#Z&_N^ _XNNV/ G\r6+HCBCHC$0H@B@H@-@+Jg n -P/9Z n#Zr*yZ6-HCBCHC$0H@B@H@-@Hm/.N*yZHU/.N*yZHm/.N*yZHU/.N*yZ;k;k#Z`t n -P/9Z n#Z*yZHU2-HABAHA /N*yZHU/.Npt4+"*yZ;A;k#Z/9Z n#Z*yZ;k;k#Z&_N^ _XNNV/ G\Hk/<NHk /<N.Jg n -PHn/<N/.N(/9Z n#Z/9^ n#^*yZ(y^*HTt8,HDBDHD&2HABAHA /N/.Nd*yZBmBm p n HBBBHB"A n Hn/<"N#^#Z` n -P-k /.Nh'n Hn/<"N/9Z n#Z/9^ n#^*yZ(y^+THU2,HABAHA /N/+ N8/.N n *y^- AA n (yZB, BlBlBlBlBlBlBlBl HlHl N#^#ZHn/<NHk/<NHk /<N&_N^ _\N _$_"_r$$$$QN _$_"_r    QN _$_"_r    QN _$_"_r    QN _"_rp""""QN _"_rp""""QN _$_"JCp~$$$$QBBBBN _$_E"JCp~%!%!%!%!QBBBBN _"_~ ")$)&) <""""QN _"_~ ")$)&) <""""QNa&QgpNpNagpNpNa NaN(_ _"_pr02H$IIArE2 Nprt&0x@S@2"_ _/vItASA:vCj6zEH262Q6kBYQQ4k BBBBQNuprt&0S@2"_ _/ItASAB62QQNua"H8vI4SB6KfC.,*($HC""""E$$$$CQNuaSAH6SC"H$I8~|!aHFaHFHFQAQNuggggggggNu"_,02 _/NNV/ Gj/9Z n#Z*yZ=m=m-@ f k "n~"Q` k"n~"Q#Z/./<NL/9Z n#Z*yZ;n;n#Z&_N^ _XNNV*yVJmf`/+,*yV?-HnHnN7@L/9^*yV m#^/+,?-ND=@/+,?.N@L-@/+,?.HnHnN7@L*y^?-?-?.?.?.?. n0? n4?HnHnN7@L0.n*y^;@0.n;@#^N^NuNV/. ?./9?9"N*\N^ _\NNV/9?9"<.N-N^ _TN/9?<N/9?<N7"7@L kLf <NNuNV/9?<Nn/9?</.Hy/<P/<QN82*yV+@/9?<N7"7@L kLgHy/<P/<Q*yV/-N:j*yV@ kLWN*yV-JfD/9^ m#^(y^9y m"/NC *y^;@#^N^ _XN/9VNV#V/ Gj/+,?<?<*?.?. N=@Jnl`/+,?.N@L-@ nfl/9Z n#Z*yZ-@ @g @g @g` N>`& @g`*yZ-m ./NP`#Z`9`JgNND&_N^#V _\NNV0. n 2Ac n 0N^ _\NNV/ Gj'n \n` |GCN2 y"g y /?9"NE4HkN HnNA/9ZA#Z n*yZ;P n;Pp@ #ZHkHn? n .м4/ n "/N?. N=@ /9?. /.?<<N*&_N^ _\NNV/ G?. /.N?. N&_N^ _\NNV/ G.@rAg4.BvCf yD|Ff/9N0P.@rAf y@tBf" n$f/. ?.B?.@NԪ`^ 9м/?.D/. ?.B?.@NHn?</9?.D<N*/9<N1?9 NW` HnN`|.@rAfhHnHnN6Hn/<NL/9Hn?.DN-@ 9м/?.D/.?.B?.@N?9 NW&_N^ _>NNV/ GN y@tBf?.N`?.NbJg/9?.N!`` y /?.ND=@Jnl`B y /?.N@L-@ y /?.N@L-@ n7P n7P 9м/?.A`""O O O GN&_Nu"/NE nX=P y /?.N@L-@ nX=P y /?.N@L-@ nT"n2 nX0 n0 y /?.N7@/9N!`?9 NW&_N^ _TNNV/ G/.N "n n """" n "n n @ @g @g`P n 0J@c/. ?</.?<<N*"n" n """""` @g`2/. HnN6Hn/<NL n `^ @g`& .м/ n "/N`0 @g`& .м4/ n 4"/N`&_N^ _PNNV/ G/. N0P n -P/. N n"n ~ "Q n  /9Z n#Z*yZ+|BmB-#Z/. <N1.Jg/. /.N&_N^ _ NG| | NNu[1][ Delete Children too ][ Yes | No ]NV/9Z n#Z*yZ: |SCy6y5yy4#ZN^ _XNNV/9Z n#Z*yZ-NW?<X*yZ-NWd?<W*yZ-NWd#ZN^ _XNNV/ Gz/./. /.<NvHnN&Hn?<N|&_N^ _ NNV/ Gz.Jg n//./. Nz`/././. <NvNJfvHn?<NB+JnfHn?<NHnN/9ZA#Z*yZ564#ZHnN&_N^ _NNV/ GzB./.".\$.0?N n\//</<NPHn?<N&_N^ _XNNVBn .t4."Ё/N. nv6.$@xDf`Rnr2.$&. c``N^ _ NNV/ Gz/.".\$.0?N@.Jg .\//</<NL` n&_N^ _XNNV/ Gz+Jg|HnNN>&_N^NuNVpNHn/<N n//. /././</<Nt n//. /.NsjR@=@/.r2. /N/. n /?.NT|Hn/<NN^ _N/ GzHk/<(/<)<NHy7?<N?<b97NWdN>A//</<Hk/<(/<)Nt&_Nu/ GzHk/<(/<)N\Hy7?<NN>&_NuGz |TC~ "Q |T C2 |TC~"Q |T0C~"Q#HyHyTR/</<N@HyHyTj/</<N$#B9Nu WERCS.INFBH  CONST %T%% = %V CONST %N%% = %V o "oB0/g S@ Q _O N o "o0/gS@Q _O NNV/ G+@ @g`U nN  n`P @g`F n@tABe, nCzZEb nA| n`&_N^ _XNNVpN/ GBg97Jf&?. n//./. N~j:<.FfR`&_N^ _NGNu yT0 @RBNuNV+Jg/+?. .Nx7@N^ _XNNV?<. N?<.N?<.N?< .N?< .N?< .N/+<N7@N^ _TN/ G <N&_Nu/ G <Nr&_NuNV/ G ?<<N*?<<N?<<N?< .N?< <N?< <N/+<N7@&_N^ _TNNV/ G /+?.N@L-@ n vC2pNA/+?.. N 7@&_N^ _TNNV/ G /+?. .N 7@&_N^ _XNNV/ G ?<Z.@rAWN?<[.@rAWN5&_N^ _TNNV/ G ?<..@rAWNL?<0.@rAWN,?</.@rAWN &_N^ _TNG A`/ G N8&_Nu /NxNuNVpN n//. /.Hk/<Hn2r2.6 /N<NZ2A//<t4. B(@v\Cg A"|r y@tBf/9NNh?9 NOV-|-|-|-|-|-|BkBnBkBnBkBnBkBnBkBnBnBn/9ZA#Z*yZBmBmBm #Z |2SA=A2.p@e??=@?.N-@Hn/<8NHnHn?.?<?<N n4.BH" /. nN""n n"""" n@ @g @g`Rn"n" n""""" n@tBf /.N n2SAp@e2??=@ n /?.N@L-@/./.? @g @g @g @g`:*yZ/- NH@B@H@*yZ+@ ?-?-HmHmN܌` @g``*yZ-m d/9^ nd#^/.(y^0,@??,N#^*yZ/- NH@B@H@*yZ+@ ` @g`\*yZ-m `/9^ n`#^/.(y^?,?,N#^*yZ/- NH@B@H@*yZ+@ `*yZ?-?-HmHmN܌*yZ?-?-HmHmN܌#Z/.?.HnpN /.?.HnpNj02R@Q n@tBf /.N"` @g`.Rn n"/NXH@B@H@ n `n @g`.Rn n4"/N"H@B@H@ n4 `8 @g`.Rn n"/NH@B@H@ n `02R@QU?.NJg0HnHk?.?<?<N nt4."BRn/9ZA#Z*yZ:;|$ 0- n;@0-n;@ 0- 2-AA;@0-2.A;@0-2."A;@0-2.A;@0-2- AA;@0-2.A;@;n;n;n;n0-2-AA;@"#Z2.p@eZ??=@/9Z n6.CH$ P#Z*yZ-@ @g @g`2-SAp@e??=@*yZ/-?.N@L-@/9^ n#^*y^-@ @g @g @g @g` - t4."Ё+@ `N @g`*y^ - t4."Ё+@ `( @g`*y^ - t4."Ё+@ `#^02R@Q6`( @g`*yZ -t4."Ё+@`#Z02R@Q2.p@e`??=@/9Z n4.SB"H"#Z*yZ t4."Ё* -t4."Ё+@#Z02R@Q2.p@eN??=@/9Z n4.SBH"#Z*yZ t4."Ё*#Z02R@Q n//./. Nr2.Ҽ$v6.$҂-A\2.p@e??=@/9Z n6.CH$ P#Z*yZ-@ @g @g @g` X\`8 @g @g`( .\*yZ4-HBBBHB"ЁX-@\`#Z02R@Qj .\4.HBBBHB"Ё8."HDBDHD&Ѓ<.HFBFHF*Ѕ-@\ \c0<NZ2?<Hy/<c/<dN~j7@ `Hk/<A//<r2. A|H2.RAHABAHA A|R2.TAHABAHA A|DHk/<Hnpr2. /NAC~"QA//<??=@U2.H A*yZ(N 6.n0J02R@Q#Z0.nR@B3JAJ"|r=pNgAJ//< HnN/.Hy-@/9Z n#Z*yZAC""""-k-@ @g`4-k/.?<HmHy/<P/<QN82-@`2 @g`-y^*yZ-m4R-n n@t0Bc> nCz4Ed(Hy^?< nA0|0?N> `Hy^?< ?<N> ` @g @g`N*yZA"C""""A"-H/.?<HnHy/<P/<QN82-@`D @g`:B.A-H/.?<HnHy/<P/<QN82-@`/.?</.?Hy0/</<A//<O/<PHy/</<N\N^ _\NNV/ G/+?<N7"7@ kf /+?<N@L-@/.<NJ&_N^NuNV/ G/+ ?<N7"7@ kf /+ ?<N@L-@/.<N&_N^Nu/ G f`/+?<N7" @fHk?<N?&7@0+ y2Ae:HyD/</<Hy/</<r2+ /N`^Jyo<<N N y@tBf ?+Nˊ?+NB?9 NW&_NuNV ncn/9?.HnN A"|rpNf |XC~"Q` |C~"QHy/</<Hy/</<A//<*yZ/-?<N7"7@?+NJg/9 <N7@`>Hy/<1/<2Hy/</<Hy/</<N\#Z`( @g`Nh/9N/9HyN?<NX7@ |/<N7@HnNJ7@ n f |/?.<N7@/9 <N7@?.NJg?<NX7@/9N"N~`X @g`N/9N y4-P?< n//</<N~j7@?+N0Jg`?9 NW&_N^NuNV n 0 n4Bd p`4`0 n 0 n4Bc p` `p`N^ _PNNV n 0 n4Bd p`4`0 n 0 n4Bc p` `p`N^ _PNNV n0 n 4Bd p`4`0 n0 n 4Bc p` `p`N^ _PNNV n0 n 4Bd p`4`0 n0 n 4Bc p` `p`N^ _PNNV/. N*-@/.N*-@ n"nrp0<Nd p`0`, n"nrp0<Nc p` `p`N^ _PNNV kr4. RBBH"0p`N^ _PNNVHk?. N=.@ n VN^ _\NNV/. /.AjN@.@rAf/. /.AnN@.@rAW`N^ _PNNV/ GA`""O O O GN"&_Nu'HVA`""O O O GNX&_Nu'HZA`""O O O GN&_Nu'H^A`""O O O GN&_Nu'HbA`""O O O GN&_Nu'Hf/+?<N7" @fF?<HkjNn?< HknNb y"f` y /?9"N@L-@ 9м/?9"NF=@ nd`Hkr2.RAAHABAHA /N 9м/?9"A`""O O O GN&_Nu"/NE2.p@e??=@ kr4.BH"=P kr00.S@=@ y /?.N@L-@ y / kr:.EH(4?N@L-@/./.N6Jf`, kr4.BH""kr:.REEH(2Sn` kr4.RBBH"002R@Q(2.UAp@eH??=@ y / kr:.REEH(4??.N7@02R@QHkr2.RAAHABAHA /N/9N!`?9 NW&_N^NuNVHk?. 2.H /N>bN^ _XNNVHk?.N?&"0`N^ _TNNV/+?.N@L*yV+@0.24-Bf0 mP0?vC2pN8*yV mP0`2*yV mP0?vC2pN8*yV mP0N^ _TN/9VNV#V/ G y"f`Jy"f?9 NOV y /?9"N@L-@/9Z n#Z?<*yZ?-N?<*yZ?-N?<*yZ?-N?<*yZ?-Nt?< *yZ-A0?NZ?<?9"NL?< 9м/?9"NF?N( 9м/?9"NG8=@?<?.N y /?9"ND=@?<?.N*yZ-B2AH A=PJno/+?.ND=@`=|?<N?<N?< N?<N?<NJno$Hk?.Hk?.NG8?N> `6/+?<N@L-@2.DAAH AL"n E& "/+?<N7" @ f?<N*yZ;@?<N*yZ;@?<N*yZ;@?<N*yZ;@?< N*yZ@Jno/+?.Hk?.N=.?NG=@=|2.AH A468.DgRn`2.A*yZ-Bgl ng nfX ng&?<Hy/<?/<@?<NJg&0.*yZ@/. nWNj`0.*yZ@?<N=@0.24.Bg>=y"N y /?.?.N7@/9N!`?9 NW#Z&_N^#VNuNV n PP0?xD2pN: n PP0p`N^ _PN/ G y"gZ 9м/?9"A`""O O O GN|&_Nu"/NEN ?9 NW&_NuG'| BkNuUntitled[1][ You may not edit | more than one tree | at once. ][ OK ]Free String[0][ Alert ][ OK ] Name %1 not foundString %1 not foundNo object number %2 Returned with value %2 . This has no name Returned with value %1 = %2 [2][ ][ Test | Exit ]D Can't test form because there is no exit buttion[2][ Really change type ? | this will loose info ][ Ok | Cancel]NVpNp(NBn n,0&.$4Bb8.,. :Eb n("n,0H@B@H@@rAg~ n("n,:HEBEHE(Bp;@gX"n( n,0H@B@H@@t,Bg4 n("n,4HBBBHB""n|<.*Rn n,RP`@Jnfp` n("n,6HCBCHC$@z;Eg& n($n,0H@B@H@Fp,@f n,RP n6.SCHCBCHC$@x\Dg nt4."\`SnBnRn0.$.2AbX n|<.*Cp@g80.". Ad* nt4.""nz:.(RnRn` nt4."Bp`N^ _(NNVBkt4+ B(@v CfRk`r2+ Ah.@rAf`4Rk.@r Af`r2+ AnRk`r2+ AB(N^NuNVpNBnr2.$&. bL np0.,Dp@g, nt4."x8+"DPRkRkRn`N^ _ NNV kcpk=@2.SAp@e2??=@r2. Av6+"ChRk02R@QHy/</<NHk/</<?<?.Nu0+ΐn7@Bk`h0+k @cHy/</<NBkA//</<NHy/</<NN^NuNVBnBn nv6.$@xDgz|<. ". bh nv6.$@x|Dg@ np0.Ep]@g" nt4."x8."DPRnRn`jr2. AB(7nN^ _ NNVpNpNp(Np4Np@N/ G n(//.$/. Hk/</<NtBkBk n@//.&_N^ _NNV/ G n//./. Hk/<r?<?<Nr?<?<N<N . м4//.NHn?.?<NP&_N^#V _XNNV/ Grp??=@/+?.N@L-@/././+?.ND?N-@02R@Q&_N^ _XN y PT7P y PX7P y /?+N@L'@ k T7P y /?+N@L'@$ y /?+N@L'@ kT7P kX7PNuNV/ GNPBg2.46+Cg(8.:<+Fg0.2+Ag JnfR`&_N^ _TNNV/ GN=|=k0.24.Bg. y /?.N@L-@ n=PRn`0.`&_N^ _TNNVN=|=k0.24.Bg. y /?.N@L-@ n=PRn`0.`N^ _TNNV n PT=P n PX=P=n =n y /?.N@L-@/9Z n#Z*yZ0-m24.Bc0-m=@*yZ0-m24.Bc0-m=@#Z0.24.Bf` n=P`b/9Z n P#Z*yZ;n;n#ZN^ _PNNV/9Z n #Z*yZ=m=m=m=n#Z nT=P y /?.N@L-@ ."$. g|/9Z n#Z*yZ0-24.BcP?-?-?-?-?.?.?.?.HnHnHnHnNJg*yZ0-n=@#Z0. nX2Af` n=P`8 n 0N^ _ NNV/9Z n #Z*yZ=m=m=m=m0-m=@#Z nT=P y /?.N@L-@ ."$. g/9Z n#Z*yZ0-24.BeL6-8:.Ed|8*yZ0-k.24+4Bd ;k4`*yZ0-k.;@#Zp`N^ _PNNV'n */9Z n #Z*yZ7m.7m07m2#Z7n 67n4B+8 9м/?.A`""O O O GN&_Nu"/NE+8`N^ _ NNV/9NN/+ y /NB/+/+ NB/+ /+$NB/+/+NB k$T=P k$X=PBn=k y /?.N@L-@/9Z n#Z0.*yZm=@;nBm09lV@;@94Jg\-m n//<P/<QNsjS@=@Jnc( nv6.$@x DfSn`Rn`*yZ/- NC =@0.R@j*yZ;@0.m=@#Z y /?.N@L-@Hn?<?<NP/9Z n#Z*yZ0-n;@Bm=m#Z nT=P y /?.N@L-@/./.0. n2A?N0. nX2Af` n=P`0.24.Bf` n=P n=P` k$0/9NN^NuNV/ GN/9Z k$#Z nf N\` k *yZ;P#Z=| y /?+N@L-@0.24.Bg nf* nP0?vC2pN8 nP0`& nP0?vC2pN8 nP00+24+Bf` n7PRn`Z ne Bk`?9 NW7n&_N^ _TNNV/ GNt=n y /?.ND=@=n=n0.24+Bg6.8:+Eg nf0.24+Bf=|0.24+Bgz y /?+N@L-@0+24+BfN*&_Nu/ G g( y@tBf ?+>N&_NuNV?*yV m vC2pN*yV m `:*yV m vC2pN*yV m N^Nu/9VNV#V n /?.N@L-@<?<1N<?<2N< ?<4N< ?<3N< ?<5N< ?<6N<?<7NN6<?<9N<?<:N<?<;N<?<b/+?<N7" @fHk?<N?& n0N^ _XNNV/ G kg k /?+N@L-@/9Z n#Z*yZ-@ @g @g @g`(- @=@HnN0.*yZ@ `> @g @g @g @g`"*yZ-m .м/N`?+NW#Z&_N^Nu/ G kg$ k /?+NE4N.7|&_NuNV/ G k@tBf?.N>Jg`7n k /?+NE4/+?+<N k /?+N@L-@/9Z n#Z*yZ?-HnNI$.NW*yZ-@ @g @g @g`?-N`* @g @g @g @g`f*yZ-m /9^ n#^(y^?,N*y^?- ?-Nh?<*y^ mWNWd#^` @g`.*yZ-m n A0??<NV`t @g`j*yZ-m /9^ n#^tx(y^, &C0??<N *y^- rN.@??<oN#^`#Z&_N^ _TNNV/ G?.?<N&_N^ _TNNV0.24+Bg/9Z n P#Z*yZ?-rApNJf*yZ?-?-?-?-?+?+?+?+HnHnHnHnNJgn*yZ0-24.BfF6-8:.Ef6<-02.Af&0-2.Af7np#Z`$`7|p#Z`#Zp`N^ _PNNV/ G n  /?.N@L-@/9Z n#Z*yZ7m7m7m7m#Z7n7| . м/?. A`""O O O GNb&_Nu"/NE0+`&_N^ _PN?<Hy/<//<0?<NUP@NuNV k /?.HnHnN7@*/9Z n #Z7yj&7yl(*yZ0-249jBbpt49j"7A&` 7yj&*yZ0-249lBbpt49l"7A(` 7yl(*yZ=m=m=m=m0.mS@n 24+&Bdp6.mSCn8:+(EdV k /?.HnHnN@|?.?.?.?.*yZHmHmNV7@* k /?.ND=@ nf@?+?<HnHnHnHnN7@*0.n=@0.n=@`F k /?.N@L-@/9^ n#^*y^=m=m#^0.*yZm=@0-24.̲BoJno;n0.*yZm=@0-24.̲BoJno;n`zHnHnHk*Hk*N^7@*0.n n=@0.ސnn=@Jnfl?+HnHnNPj*yZ?-?-?.?.?.?.?<'?<'HnHnN7@**yZ;n;n#Z`B` k /?<N@L-@ k /?<HnHnN7@**yZ=m=m?-?-?.?.?.?. n0? n4?HnHnN7@* k@tBf$ n ^C f0.nR@=@ k /?.ND=@ nf #Z`8 k /?.N@L-@ k /?.HnHnN7@**yZ=m=mBmBm k /?<?<*?.?.N=@*yZ;n;n0.24.Bf00.n;@0.n;@/. <N#Z`f k /?.N@L-@ k@tBf n ^C f n^E f|0.2.AgnNX"+Ҽ/?.NG8S@=@0.24.BoRn k /?.?.N7@*/+N!`#Z`` k /?.HnHnN7@*0.24.Bm6.8:.Emt<.*yZm0."n2A@nN0.m2. n4BAn.6.8:.Ef0.n;@0.n;@`` k /?.HnHnN7@*0.*yZm2. n4BAn8.m:. n<FEn?<Hy/< n //. n4?NT|/. n2HABAHA /N n0 n &_N^ _NNV/ G n  g/. 2. HABAHA /N&_N^ _PNNV/.HnNjnAO"O~"Q.B2p NJgV.B2AH A-hJ f`. nCrpNfp` n-P`p`N^ _XNNV n//</<Nsj=@Jnfp`AO"O~"Q nB2p NJgl2.SAp@eT??=@AO"O~"Q nz:.(B2p NJf pX`02R@Qp` `p`N^ _XNNV/ G n "n"""" n //</<Nsj=@Jncb0.2498Bc =y82.SAp@e*??=@ .t4."Ё/NT02R@Q nt4."B&_N^ _PNNV/ G/.NnJg/.HnN0n.@rAfp`HnNJg p``tHn/<N/9Z n#Z.B2AH A*yZ+hJAC""""#Z.B2AH A!nJp` `p`&_N^ _XNNV/ G/.NJg/.HnNLn.@rAfp`.B2AH A-hJ-| fp` nCrpNf^ f& n.C4BH"B#PJ` n"n"Hn/<Np` -n n-P`fp`&_N^ _XNNV/9Z n#ZHn*yZ4-| HBBBHB rN /N*yZJmc-BvCg*-DzEg-Fp@fr *yZ6-| SCHCBCHC$ ;BJmcXHm2-HABAHA /N*yZHm2-AHABAHA /N*yZ+|+|Bm#Z&_N^ _XNNV n 6. CHCBCHC$Ђ n 2. n4BU`N^ _ NNV/ G/.?. HnNJg0 n P//</</./</<Nt`&_N^ _ NNV/ G/.?. HnN:Jg n-P-| ."$.fFHn/<N n//</</./</<Nt n `. n//</< n"//</<Nt`&_N^ _ NNV/. ?.HnN~Jg n N^ _\NNV/9Z n#Z*yZ0-r N.J@f /.N *yZ/-?-N@L-@ n"n~"Q nP0?v C2pN8 nP0*yZJmc/-0-S@?N@L-@ nP0?v C2pN8 nP0Jn mJ/9^ n#^*y^:;|;|#^*yZ/-?. ?-NT7@:*yZRm/.0-S@?HnN0Jg n *yZ/-2-SA?N@L#Z`#ZN^ _NNV/ G/./. ?.Hk//-@ n@ n Bg pP`RR "RSlp`N^ _ NNV . X/".X//< NpJgp`L/9Z n #Z*yZ/ n"/8-HDBDHD&/N. #Z`#ZN^ _PNNV/ G n @ nBgp` n @ @g`. n "/ n&/N ``n @g`. n 4"/ n4&/N ``8 @g`. n "/ n&/N `n` n 0 n4Bgp`F n @tBg$ n CzEgp` n 0J@fp` n 2SAp@e??=@ n  /?.N@L-@ n /?.N@L-@/././<NFJg4 n -P n -P n "n "/././<NJg pX`0 n /9Z n#Z*yZ-@ @g @g @ g`&/./.NJgp#ZX``v @g @g @g @g`-n-n n"n2 n"n2 .м /".Ҽ //<NJgp#ZX`@ n / n$/N`Jgp#ZX` nX / nX$/N4Jgp#ZX` nP / nP$/NJgp#ZX``h @g`-n-n nP / nP$/NJgp#ZX`z .м /".Ҽ //<NJgp#ZX`D/9^ n#^p*y^4-HBBBHB"=A/ n /v6.$/NJgp#^#ZX`*y^/- nX /v6.$/NJgp#^#ZX`#^`J @g`2-n-n/./.NJgp#ZX`h`p#ZX`V#Z/. ?.HnN/.?.HnNACrpNg pX`02R@Q0p`&_N^ _PNNV/ G/.?.N@L-@ n -P nf n C8""""`/. ?.Hk8NV n A8CJ""""&_N^ _ NNV/ G/9Z n#Z |6C\""""-|*yZ-@ @g @g`-m n-P` @g @g @ g`*yZ-m `n @g`*yZm \B+]`P @g @g`*yZ-m nX-P`& @g`*yZ-m nP-P`#Z .`&_N^ _XNNVpNBnBnBnAC~"Qr2.$&.bF np0.,Dp@g& nbAO"O~"Q nz:.(B2p NJg` np0.Fp_@gBJnfAC~"Q nt4.""nz:.(Rn`AO"O~"Q nz:.(B2p NJgH np0.Fp_@g* nb nt4."x8."DRnRn`JncRJncJ2.SAp@e`JHy7/</< A8//</<Hy6/</<N\HkJN~@`&_N^ _ NNV/ G/9Z n#Z*yZHUN$@*yZ-@rAg-BvCfL*yZJmc>2-SAp@e0??=@/.?.Hk8N0Hk8N@02R@Q#Z&_N^ _XNNV/ G  f` |6CJ"""" n C8""""/. ?<.<N n "|6rpNf/. ?<Nx n 0J@cb n 2SAp@eL??=@/. ?.Hk8NP |6CJ""""/. ?..<N02R@Q&_N^ _\NNV/ GHnHnN/9Z n#Z0. 2*yZ4-Bdl2-SA0. @e\??=@/.?.HnNHnHnNACrpNf n0pX#Z`02R@Q#Zp`&_N^ _NNV-n n//<O/<PHn/<O/<PNt*yV m//-/-A//<O/<P?<NrR @OS`N^ _XN/9VNV#VpN/ G0. n2Adr n2SA0.@eZ??=@ n /?.N@L-@/9Z n#Z*yZ-@ @g @g`< n -P n /NJg n 0p#ZX`` @g @g @ g`4 n /NJg n 0p#ZX``v @g @g`f n -P n /N>Jg n 0p#ZX`F nX /NJg n 0p#ZX``#Z02R@Qp`&_N^#V _NNV/ G/9Z n #Z*yZ-C4BH B|A//</<HU/</<NtBnt4. B*yZ5@v CcRn`=n=n n c(r v6.$|0z:. E*yZRn0.r N.|0x8. D*yZ2.RAHABAHA AB5HUN@tBf` Rn`p#Z&_N^ _\NNV/ G/.NA/9Z n#Z/9^ n  P#^p*yZ@(y^0,@;@;l n +P #^#Z&_N^ _PNG |6C<""""r9pA??@6+6B2AH A!|J02R@QNuInvalid name %1Name %1 already exists - ignoredNV/ G/. HnHnHnHnN~/9Z n #Z*yZ mcBm#Z/. ?<?<*?.?.?.?.N7@R/. ?.N}l7@R/. ?+RNC<?.?.?.?.?.?.?.?.N}=@0+R`&_N^ _\NNVr*yV2-$&-d mt4-"RmN^ _TN/9VNV#V/ G-n n-PBnBn n-P-n nP.@r\Af Rn`Z0. @g``6 @g`<\ND` <\N8Jnc<\N(Sn`Bn.@r~Af<_N`.@r_Af<~N`.@rAc.Bv Ce.DzEe<\N<\N.@=@ ndetdx8.&|0Nd n e"x |<.*0r N.|0N:0.r N.|0N$< N` .NR.@rAgv6.(*.c``N nB/.?.N@L-@ n -P n  .`&_N^#V _NNV/ GBnBnBn nt4."P.@r\Af Rn`\0. @g`Bn0. .B2A|0=@Rn nt4."P.@r0Ae.Bv9Cc``.@r AgSn0.@`R @g`r2. A\Rn`2 @g``$ ncr2. A\RnSn`Bn.@r~Af |_`.@r_Af|~ nPc`4r2. A.@rAf`RnRn`rA//<P/<QNsjR@=@-n n-P n  g" nCrpQNf p`p`lHnr2. /NHn/.?.NT| n  g(/. n$/NC 2RAHABAHA /N n p`&_N^ _NNV n P xD2pNJg7n Tp` `p`N^ _PNNV/ G/. ?.A`""O O O GN&_Nu /NE0+T`&_N^ _\NNV0. 24+VBf6 n P xD2pN n P `2 n P xD2pN n P p`N^ _PNNV/ G7nV/. ?. A`""O O O GN>&_Nu /NE&_N^ _PNNV/ G n /?. N@L-@ n -P n-P/.?< Hn/</<HnN2.p@m:??=@2.\AnH A"n8.H&02R@Q n4.RBH"B&_N^ _ NNV/ G n /?.N@L-@ n -P n-PB=| nR@t-Bf=|Rn`=| nR@t@Bgv n4.H"P.@r0Ae.Bv9Cc`2 .r N.E8HDBDHD&Ѓ0-@Rn` .6.H"N`&_N^ _\NNV/ Gj . 4.HBBBHB"Ё`&_N^ _\NNV/ Gj/.?.N-@ nT0 @f& nX4 Bf n 0 n0` n BP nBP nX=P nT=P/.?.NV-@/9Z n#Z*yZ0-mR@=@0-mR@=@#Z n 046.Cd n 0 n046.Cd n00.24.Bf` n=P/.?.N-@`f&_N^ _NNV/ Gj/9Z n#Z*yZ:;|;|p@p@ |IC2p@ |IC B BmBmBmBm#Z&_N^ _XNNV/ Gj/9Z n#Z*yZ*r+U+U;| Bm;|BmBmBm;|Bm#Z&_N^ _XNNV/ Gj/9Z n#Z*yZ=m=m=U#Z n "n~"Q/9Z n#Z*yZ;n;n:#Z&_N^ _PNNV/ Gj-nBn n@tBgR-nRn`0.`&_N^ _XNNV/ Gj/9Z n#Z*yZ/NR@*yZ;@/-NxR@*yZ;@#Z&_N^ _XNNV/ Gj/. ?.N-@ n vC2pN n &_N^ _\NNV/ GjJnf 0<`R/. ?.N$-@ n=P/. ?.N -@ nX046.Cf` =n`0.`&_N^ _\NNV/ Gj=n0.24. Bfp`"/. ?.NX=@Jnlp``&_N^ _PNNV/ Gj n -P n-P n&_N^ _\NNV/ Gj n -P n-P n`&_N^ _XNNV/ Gj/. ?.N-@/9Z n#Z*yZ- rApNJg**yZ- rApN*yZB `&*yZ- rApN*yZB *yZ=m=m#Z&_N^ _\NNV/ Gj n /?. NF-@ nT=P nX=P nf`\Bn n /?.N -@Hn?.?.ANJg`$Rn0.24.Bf` n=P`&_N^ _ NNVRkp`N^ _PNNV/ GjBk/. ?.A`""O O O GjN&_Nu /N0+`&_N^ _\NNV0.24+Bf7n p` `p`N^ _PNNV/ Gj7n n /?.N=@ nf p`F`B/. ?.A`""O O O GjNj&_Nu /ND0+`&_N^ _\NNV0. 24+Bf7np` `p`N^ _PNNV/ Gj7nHn ?. A`""O O O GjN&_Nu /N0+`&_N^ _PNNV/ Gj. @rAe& n0?vC2pN8 n0`" n0?vC2pN8 n0. @rAg. BvCf& n0?vC2pN8 n0`" n0?vC2pN8 n0&_N^ _\NNV/ Gj?. rApNJg2?. rApNJg n` n`,?. rApNJg n` nB&_N^ _\NGjHkHkHkHkN~7@ |ICNuNV/ G~?. ?+?+?+?+N.=@Jnl.?<Hy[/<"/<#N~j7@0.`@`4?</=@?+?.*yZ?- N`40.*y^m??.N=@?+*yZ?- ?.N#^?. N#ZN^ _\NNV?. N=@Jnc?. ?<HnHnHnHnN7@/9Z2.A #Z*yZ gZ/9^ m P#^=m =m 0. @g`0.n=@` @g`0.n=@` @g`0.k=@` @g`0.k=@`j @g`0.n=@`P @g`0.n=@`6 @g`0.k=@` @g`0.k=@`JnlBnJnlBn0.2*y^4-Bc=m0.2*y^4-Bc=m?.?.?.N#^#Z?. N N^ _XNNV/ G~ n0?N=@JncnSk2+0.@e8??=@4.RBA 6.C0 """"202R@Q n0?N*7@ n0?N7@ nBP&_N^ _XNNV/ G~2+p@e@??=@2.A =P?.N*7@?.N7@02R@QBk&_N^NuNV/ G~?.NJ@R`&_N^ _TNNV/ G~?.?</./<N7@&_N^ _NNV?+?<NV7@=n=n 0.n S@=@0. nS@=@?+<Hn/</<N|?+A//</<Nz?.N=@Jnc*?.?.?. ?. ?.2.A TNN^ _ NNV?</NuG~BkHkHkHkHkN~7@7kr p??7@2+AH A1|02R@Q7|Hk/< /<HkHk/<6/<nN?+?+2HkHk Hk HkNt?<?<HkHkHkHkN7@0+2+NARBB+/9VA#V*yVBUA`/ G~N&_Nu*yV+HHkN(#VNu[1][ No More Windows ][ Curses! ]NV/<U n|<+*N B|@?.?. N`: @g`0<U nv6+$N ?.?. N`N^ _PNNV/ G-nBnBkB+=|/9Z n#Z*yZ-@ @g` -m ?.?. n /Nt`8 @g`?.?.*yZ/- NP` @g` Rn`#Z nP0?v C2pNJg`Rn`L&_N^ _XNNV/ G/9Z n#Z*yZ@rAfL2+p@e??7@/9^4+H BA#^*y^Jg-A(yZ,BgJ*y^Jfx(yZ,DzEf^?,N@*y^-Af>*yZ/9bA#b(yb8 *y^9m9m#b#^02R@Q *yZ mafN/9^A#^/9bA#b(yb8 *y^9m9m#b#^#Z&_N^ _XNGBkNuUndoBS o "oB0/S@m Q _O N o "o0/S@mQ _O N o "o0/S@m Q _O NJf'|` 'yNuNVBn*yV mv@Jg( nb mvt4."BP~RnRv`*yVRv nbr2. AB(~N^Nu/9VNVv#Vp N/ GA`/ GND&_Nu /Nx g-kv yR,'P` yR,-PvN.~@rAf& g-kv'|`p`*Bn|r2.|$&.b4 n p0.|,Dp0.|"@)~@fRn|`r2.|$&.b" n p0.|,Dp@fp0.|$@*~@r=AfBnzr2.z$&.bP n|dF|<.| F(~Dp@g(Rn|r2.| A"nx8.z&~Rnz`r2.z$&.b nt4.z"Bp``&_N^#V _NNNNV/ G=||Bn=|=|Bn-n/ n :EH E g&/9Z n 4BH B s#Z*yZJmc-Jg.JgHmr2- / n 4?N'@Jl$*yZBm +D7@#Z``R +*yZ4-H"l&Bm n 2?NH'@'|` n 2?NH'@` n 2?NH'@ n 2AH AHs*yZ8PDHDBDHD&/N#Z` n 2?NH'@Jl +D7@`Bk&_N^ _\NNV/ G?./.?. NJkf + n0` n0&_N^ _ NNV/ G?./.?. NlJkf + n0` n0&_N^ _ NNNNNV/ G n e" n2 b2. AH A g`\2. AH AHs6.PCHCBCHC$/N/9Z4. BH B s#Z*yZ:BmBmB-#Z&_N^ _XNGr-p??7@2+AH A'02R@QNu@:*.*NRn*yVRmRnNN nRPRnRnNRnRnRnRnRnRnRnRnRnWn\nWn\nSnNV/ GHk>/<@tBgRr2.$&. b0. nv6.$>2.3>@t\Bf 0.R@=@Rn`Bnr2.$&. bD nRnRm`N^ _ N/9VNV#V |qC~"QNR@=@?.Hk>N=|>2.3>@tBf=n02S@Q n7c=|7=n=|HyrJ/</<N=n2.SA3>@t\Bg0.\>RnHyrL/</<N0.B3>0.|AS@@>N^#VNuGNNu[ ][]Prompt box too big for screen OOPS%AcceptCancel:*.RSCNVpNpN/ Gn n//./. N? n//./.N6<C=F=n0.24.Bo`Bn0.$.2An" n<.H*Cp@f 0.`R n6.H$@ n2.nH,Dg`Rn`Rn`n".0R@`&_N^ _NNNRkRkRkNVpN/ GnBk0+$. 2Ab( n|<+*Cp@gRk`0+`&_N^ _ NNVpN/ GnBk0+$.2AbT6+*.8DbD np0+Fp@g& nt4+""nz:+(Rk`7k.Jg>".0+@e&??7@ nt4+" 02R@Q".RA7A0+$.2Ab nt4+"B0+`&_N^ _NNVpN/ Gn n//./././. /.<N7@&_N^ _NNNV/ Gn n//./. N67@0. 24+Be`0. n24+Bc0+n =@2+n0. @e:??7@ n4+nHBBBHB""nz:+(02R@Q0+n7@0+$.2Ab nt4+"B&_N^ _NNVp N/ Gn0.$.2Ac .=@ n //./.N<7@0.24+Bd Jnf nB`0.n24+Bc0+n=@2.nSA0.@e:??7@ n t4+""n:+nHEBEHE(02R@Q0.$. 2Ab nt4."B&_N^ _NNNNNRkSkNN\:/ _02// /???<NMO,_&_Nu _2// /??<NMO,_&_Nu _2// /??< NMO,_&_Nu _2// /??<NMO,_&_Nu#v#z?<NMO&yz yvN#v#z?<NMO&yz yvN#v#z?<NMO&yz yvN#v#z?<NMO&yz yvN#v#z?<NMO&yz yvN#v#z?<NMO&yz yvN#v#z?< NMO&yz yvN#v#z?< NMO&yz yvN#v#z?<NNO &yz yvN?<NNTNu?<NNTNu?<NNTNu _$_// / ?<&NNO&_Nu#v#z?<NNO &yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?< NNO&yz yvN#v#z?< NNO&yz yvN#v#z?< NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO&yz yvN#v#z?<NNO &yz yvN#v#z?< NNO&yz yvN#v#z?<!NNO&yz yvN#v#z?<"NNO&yz yvN#v#z?<#NNO&yz yvN#v#z?<$NNO&yz yvN#v#z?<%NNO&yz yvNNV/ G~=|2=|=|=|Bn=n/ n4H(*.n* n"."n6H$- n0R@ n0&_N^ _NRRNV7n BkBk7n HnHnHnHnHkNN^ _XNNV/ G7|dBk7|  n7P .мZ//./NuNV/ G n  f` .^//p02@0Nu0/lD@?@ _TN _0@NS@gVf JAgmJ`JNuNu _ am znNH@B@H@Nu>p02@0NuNFQN(NQNNQNNFQN @g,NVf _.IN! R _.IFfSNNfRN Am~>G@l7xARA'drNr _gRNДA _N RAQN Am$~>懾@l??0<`7x02Nu?< HyNgRACSNuACSNu @lpNu"_.HN PN Am~>懾@l??0<`F7x02Nug @0(` @ ("P$_gR (OgS!Q Nv?< NAOHy??< NAO /NPHyF?< NAO`2<0<QQ2 _v JgN&??<LNA?< Hy N/H@N NNu?@N0N l0NW??<NAONu /lD/@ _XN//Nf"N "ANu//Nz"N*"ANu.HA/HGBGЇ.HGHAHGBGЇNu.HA/HGBGЇ.HGHAHGBGЇNu lD lD`NDNu lD`HA AfHA.B@H@H@HG>HG0NuHAe8B?<eRF`ЁeQ`eQ< SNupNu"of8 ( ШШ"Ҁd< W.A/// Bg?<JNAO Nu ($h$YgrSf I <`v?<Hy` o0 @f #JNL @f#JN8 @f !yJN& @f2( WN"yJ#H3A iN _ON _ @Nпn?< Hy/NDNu _ N _ N _ .N _> N _> N _> N _ B@H@N _ H@B@H@NNV/ G=|ZBn=|=|Bn-n -n/Nv p?Nv p@NvpANvpBNvpCNvpENvpFN~vpGNvvpHNnvpINfv pJN^ _6 "$// ////??<KNAO,_&_NuvpLN.v $?//pNNvpONv pVN vpWN(_?NATN(_?NA@TNA" <NB _ONA"psNB _ONA#R <EP"<rNNNNNnZNUNNqNINZNaFNXdN6NSXNNNGnNhNNN >pAN>H+ ReaH- ReaW+ ReaW- Rea Rea Rea Rea ReaCleareaFilleaVFlipeaHFlipeaLineeaDataeaMaskeaCopyeaANDeaOReaXOReaCovereaZoomeaCancelaHH $$DD  PROGDEFBOXCHAR TITLE FORM MENU ALERT FrStringFrImageObject bject CONAUXPRN|0123456789ABCDEFnot enough memory to runOut of rangeSet element out of rangestack overflow near  &* &P    *       .,(    "   "  ,    :& @4   8>*D  N :  " (F $N "0">*`Z* . , ~ "0"^ 2 F " , *| &t.&&t2 8@P@V "*^D 0 \*   6( B*       D"    H$$$$$        8  ,$"8"((" dPJ8*  "  &" > ,     (  ,B6   2$ F    B "      6 6   , $84 ("     $"    $&   *    2  J "*   22(  F *.4  & "  &,(  t:<. $ *@      "(XH$ $    "p((8 V"4vF &8n    ,  (2  *.& (0J" * TB:H*` F    0`  &,  ^8 < &    &    2(F$  bV   < Xb     B6 $   @B ,0 $ *  . ."   0< * "&  $" @ 4, (6@ ,   @.&F,   J$ $"  "  @"         "    &$V(*2 ,,,,( . @ $**"".    T""6$(&  ""   .*0$6 " xX""lN$".$ 2 $$42DD $ $& & 8 $$" x  L *,< 8 &  2 "&0     R  :* 4   &Z&NP &&&   F F * > 6 * 8 <$ ,$  $B   " 8(Fd8 . :        &   0(   Z ~ ,2 : `.&       && B    B 6 <@v&6 P~*       , *l  (""" " $*n ^* " 2 ,           *00 *$$0:   v* LL2 &$00  *$00   ($00    , 4"H&0D " "" $N& (*  * B " F" <*$"L(  L 6   0  @L  <*   l,8  0@>.  $ NZ$ 8 Fp6(.F$$ ,0  2, . ": 8     <  64$B X<>B$$$z<| 6 "  &P*ThBX.*,& @D"",<* .0b >~Z8  $  X@d@$"(86  .  , 2* &   V   $ , 0 T " >  V$ *  8(,,F6 < * 4 22L, F$$x28,F(@$8$$* .J> VB PF* N HHJ* $N>   $ "*"4 nh,6""@0(F4*.  &n .$*$J< "("Z$ 800 H& 4$  b& B..*z X v8F$ H$0 ,&     <& z 8   64T X.$  .R& ,F $v,VL8  f6HB R8 D*2J$ lD.j\: >: p "@ "2 :<""B682 2>**>:@*$ L 2d 22 B: 2 F4 > &2 (2R "R ": : @ BX " $: F @8 Dxh : 4( T8    *z@ F F F  "2 F : @ : X "L ": 2@ 2  2 ,( `> 4$ ($i HiSoft BASIC 2 Installation@ Main Directory : _pFSEL@ Programs Directory : _pFSELXXXXK@ GEM Toolbox Directory : _pFSELXXXK@ Tutorial Directory : _pFSELXXXK@ HGT Tutorial Directory: _pFSELXXXK@ Examples Directory : _pFSELXXXK@ Libraries Directory : _pFSELXXXK@ Portability Headers : _pFSELXXXK@ TT Libraries Directory: _pFSELXXXK@ Existing HISOFTED.INF : _pFSELWERCS1234Total Space : ____K9DebuggerST version of compilerCLI version of compilerTT only version of compilerProfilerInstall RamdiskOther toolsFormat floppyHelpExitRead MeShowInstallHelp for HiSoft BASIC 2 InstallFirst time users should just click on Install and follow theinstructions.To change the destination drive/directory either edit thestring by Main Directory or select the FSEL button and use thefile selector. To enter a directory that does not already existenter its name in the filename field.To prevent the installation of part of the package clear theappropriate pathname using Esc or deselect the appropriatecheck box. The figures in K give the space used in a particulardirectory. Note that these are not updated if you edit a pathname directly.The Read Me button displays the README.TXT file in a windowClose it or press a key to return to the Installation Dialog.The Show button displays the exact copies of files that theinstallation will perform. A new HISOFTED.INF file that reflectsthe chosen paths is also created.OKCopying filesReading fromReadFile $Writing toWriteFile #Track of 80Formatting Disk00Help for HiSoft BASIC 2 InstallFirst time users should just click on Install and follow theinstructions.To install a particular part of the package, either type in thename of the destination directory or click on the appropriateFSEL button to use the file selector. For those parts of thepackage with check boxes, you can also click on the string.The figures in K give the space used in a particular directory.Note that these are not updated if you edit a pathname directly.If you choose to use your own floppy, then you should use avolume name of HBWORK - otherwise you will needed to selectignore when you are told that you have inserted the wrong disk.If you are using the GEM Toolbox, putting .T files on theramdisk will greatly speed up compilation.The Read Me button displays the README.TXT file in a window.Close it or press a key to return to the Installation Dialog.The Show button displays the exact copies of files that theinstallation will perform. A new HISOFTED.INF file that reflectsthe chosen paths is also created.OK[2][ Welcome to the HiSoft BASIC | Installation Program.| | Do you have a hard disk?][ Yes | No ][2][ How much RAM do you have ?][ 512K | 1Mb | 2Mb+ ][3][Formatting will ERASE all|the data on the disk in|drive A:. Click on OK|if you want to proceed.][ OK |Cancel|Abort][3][An error occurred when|formatting this disk.|Do NOT use it.][ OK ][3][ Not enough disk space| for this installation.| Install anyway ?][ Yes | No ][2][ This will leave less than| 50K free on this disk.| Do you want to continue| with the installation ?][ Yes | No ][3][ There is not enough| memory for this installation.| Please remove some AUTO| programs or desk accessories| and try again.][ Sorry ][1][ That's the wrong disk.| Please insert the correct one][Abort|Ignore| OK ][3][The HiSoft BASIC Install|program needs an 80 column|screen. Please re-boot in|Medium resolution.][ Exit ][2][ Would you like to format | another disk][ Abort | No | Yes ]  3zB$??@` 8 8$\ 8cggh 8$ 8+//0P 8 8P 8W[[\| 8 8%*> Q^^3   5J7A;,7A;HBd7 A^; C 7 A; C7A&;C 7A;(CD 7A; `C | 7AR; C  7A; C  7A; @ @!3"@#@@$@$%@I(&@'@`(@$)@x(*@+@,@$-@(.@/@ 0@$1@( 2 3 4 5, '; I$<C Q9>? % 0 < m :  ?  = & 5;q=;@,!'N0 C @ _ l,  ,\ x I < N  \? = < ;  S ?   @   ;   ;  L ? 9 * < .= l; @ !' 0 d d'vr$'0r$r'vZ#B[123Border Size: ___XXXOKCancelCancel__XOKName of TreeDeleteEdit123456789 12345Prefix: _XCopyMoveText:123456789 123456789 123546789 123456789 123456789 123546789 12345_AXTemplate:XA_AXValid:X5x _AXX_XSameCancelOK10Name:20304050601020304050601234567890123456_XCancelOKName :Text:123456789 123456789 123456789 123456789 123456789 123456789 12345_AXX_XSameCancelOKName:102030405060X_X0123456789012345_XCancelOKChar:Name: WERCSFiEdFlTrObMiFiBoTe About WERCS - D 1 D 2 D 3 D 4 D 5 D 6 ---- File ---- New N Load L Import Image I - Save S Save As R Save Prefs - Quit Q Cut X Copy C Paste V - Cancel Undo Abandon Edit A - Delete BS ---- Edit ---- -- Flags - Indicate^F Active ^W Backgrnd^Z Slctable^S Default ^D Exit ^X Editable^E Radio ^R TouchXit^T Hide ^K Selected^V Crossed ^C Checked ^Y Disabled^G Outlined^O Shadowed^B UnHide ^U Extras E Form D Menu M Alert A Free String R Free Image L ---- Tree ---- Box B Text T BoxText U Image K ProgDef P IBox I Button E BoxChar C String S FText F FBoxText G Icon J Title V -- Object-- Auto Size W Auto Naming U - Auto Snap Y Char Snap Z - Find Text F Find Name G - Sort O Test T Expert K ---- Misc - Select No H- - Transparent ^Q Opaque ^P -- Fill -- Size... ^A- - Border - Left ^L Centre ^M Right ^N- Large ^J Small ^I- -- Text --@_3_3XCancelOKFind String:@__XCancelOKFind Name:Cancel__XOKName of Free StringDeleteFTEXTA6Text: _;XEditCopyMoveMake Alert_____ICONSort OrderFirst:Top to BottomLeft to RightBottom to TopRight to LeftAlphabeticTop to BottomLeft to RightBottom to TopRight to LeftSecond:CancelOKAlphabetic Desk File Your message here -123456 QuitExtra Information1234X co-ord ____91234Y co-ord ____91234Width ____91234Height ____9999Index in Tree ___9999Child Number ___9999No Of Children ___9999Extended Type ___9CancelOKTEXTFTEXTBOXTEXTFBOXTEXTStringButtonBoxIBoxButtonImageIcon999Parent ___9Cancel__XOKName of AlertDeleteEditFCopyMoveMake FreeFormMenuAlertFrStrFrimg WERCS File Edit Flags Tree Object Misc Fill Border Text About WERCS - D 1 D 2 D 3 D 4 D 5 D 6 ---- File ---- New N Load L Import Image I - Save S Save As R Save Prefs - Quit Q Cut X Copy C Paste V - Cancel Undo Abandon Edit A - Delete BS ---- Edit ---- - Flags - Indicator ^F Activator ^W Background ^Z Selectable ^S Default ^D Exit ^X Editable ^E Radio Button ^R Touch Exit ^T Hide ^K Selected ^V Crossed ^C Checked ^Y Disabled ^G Outlined ^O Shadowed ^B Un Hide Children ^U Extras E Form D Menu M Alert A Free String R Free Image L ---- Tree ---- Box B Text T BoxText U Image K ProgDef P IBox I Button E BoxChar C String S FText F FBoxText G Icon J Title V -- Object-- Auto Size W Auto Naming U - Auto Snap Y Half Char Snap Z - Find Text F Find Name G - Sort O Test T Expert K - Misc - Select Number H- - Transparent ^Q Opaque ^P -- Fill -- Size... ^A- - Border - Left ^L Centre ^M Right ^N- Large ^J Small ^I- -- Text --@00Object Number : ___9CancelOKSelect Object by IndexٌPPRRL@@NQDPDPDPDPDPDքDRDRDRNL@_@~~~~~~~pppUNppppUNppppUNpplpxǀxx\h\h\h^l^d^d^bZc[a[a[a[`٘`ƙ```@ 'O<<|>@? ??'?O???O?'??  |>@<<O'  @OO''  ? ? |>@|>@<<?9L2O''   @@?@ 'O2wuҗuҘt2wuwuO' @?\HMH\HLHMH   3 뺪ꪪ誨@@]\UU]\@@?A!!!!!!!!!"UT**:**ـ  UWUЀРPPPP[R["Y۶ٶ۶PUEŠDOUUU????????????UQ*UQ*@DTJ)RP$  J$(9N_p LBBXBB'iBBk|EBB  " " # 2 2 3 B B P [ [  \ k k 54   * H Y j <B $ ( ( ) * * 0 : :  ; A A  % 6 6# 7 < J L Q _ a f q s x      5 9 D M ^ o q    6:NR +A      R2  r      R2  r      R2  r    2  r  2   r   2   r2  2 C#r =%@ C' G  r u     %CL  AN  A A        6 Rn'1;E'21N; jEC    CM  A     '  .1  J; fEC       P P  "     !  $ ' * - 0 3 P6DX]bglq"!  v ! ,#+  $%0&A'R(c)t*+"@-? . / 0 1 2 3 4 5 6 7& 82 9> :J ;V <b =n >z ? , GAFBCDEF@VHU I J K@ L' M4 NA ON P[ Qh Ru S T U G eWdXYZ[\] ^_/`@ aQ bb cs dV f g0h1i2!j31k4l5m6n7o p0q1r2s3 t4 u5 v6 w7 x8y9zA{B |C }D ~E F      e    0123456789ABCDEF     ! !*  C !F !b  l 0123456789ABCDEF  y D!~3    "! , 3 6  CF  A ! l  o !B         #8!" '0   $  &"&!"B   B P ^ l z         "^   1                        '"z " "" " # #" #>  #Z       #               #   * 0  #v C( F#  q t    #       '>  'L'Z 'h%  J$$E%%25%T;%v'% %  %@ %! &  &B.&dE& & & &#  '/   P P  C              (  / 5  = P38=BGL"!  Qas ! ,#+ $% &'-(>)O*a+r"@-?./012345'6<7Q 8f 9{ : ; <=>?,GAFB$C5DEEUFe@uVHU" I J K@ L M N O P Q R S T U# G0 eWd*X>YRZf[z\]^_` a b c d/VC f1 g0h1i2!j31k4l5m6n7oW p0q1r2s3 t4 u5 v6 w7 x8y9zA{B |C }D ~E F d # # e 7   0123456789ABCDEF  ? $ $ $:  $V $r  0123456789ABCDEF *  $PW Z'v'(++~,-v=>n>@@~B.CF~GIZFReadme file for HiSoft BASIC 2 for the Atari =, This is version 2.10. Additional files on Disk 1 - HB2INST.RSC HBDISKS.DIR are additional files required by the installation program. HB2INST.INF HGT\TOOLBOX.T are now on disk 2 HGT\HGT.T Additional files on disk 2 - AUTO\HRAM1MEG.PRG ramdisk for users with at least 2M of RAM HGT\TOOLBOX.T files that were originally on disk 1 HGT\HGT.T The file MOST.T mentioned on Page 164 of the user Manual is no longer included. Use HGT.T from the HGT folder instead. Installation program = We have tried to make this as self explainatory as possible. Please click on the Help button for information applicable to your configuration. For people who don't like installation programs, we've included a Show command to display where the files would be copied. The installation program does not support single sided floppy disk drives. Users without a hard disk should disconnect any single sided drive before running the installation program. Editor additions = The editor now supports up to 7 windows. The editor displays a 'beach ball' when compilation takes place. Do not be alarmed when it stops rotating this is quite normal! The compiler messages windows scrolls so that you can still see the results of previous compilations. If you select the 'Make resident' button in the tools dialog box this will take affect immediately, loading the appropriate tool. Similarly de-selecting 'Make resident' will cause the memory that was used by the tool to be freed. Note that this can easily fragment your memory - you should re-load the editor to give the maximum free contiguous memory. Changes from First edition manual = The XBIOS library rsconf call (page 222 of the technical reference is now a function rsconf&. This returns the previous ucr,rsr,tsr and scr parameters packed into bytes with ucr as the most significant; scr is the least signicicant. Additional GEMDOS library functions =# crawio_&,crawcin_&,cnecin_& are versions of crawio%,crawcin% and cnecin% which return full 32 bit values enabling you to check the scan code shift keys in a similar way as with cconin& GEMAES library changes = The last two parameters to shel_write are now long integers. So its parameters are: FUNCTION shel_write(BYVAL ex, BYVAL gr, BYVAL over,BYVAL nameptr&, BYVAL commandptr&) The GemAES library shel_get call is now a FUNCTION, FNshel_get% GEM Toolbox change = The Other Object routines (OTHEROBJ.BAS) are not included in HGT.BAS and HGT.T to save space as few users have needed these. Further extensions to the GEM toolbox =% The formwind.bas Object_Redraw routine now takes two parameters. The first is the window handle to be redrawn. The second is the object number. Note that this can only redraw a single object. The popup facilities in POPUP.BAS have been extended so that you can now use the following keyboard short cuts to walk the popup menus: Cursor Up/Down - to move up and down the menu items ClrHome - jump to the first item Shift+ClrHome - jump to last item Return - OK the selection and exit menu Undo - Cancel and exit menu If the global variable mouse_detect_both=-1 then both mouse buttons are active inside the popup menu. Mistakes in the First Edition manuals =% The example in the User manual on Page 49 should include the line LINEF 50,50,50,100 rather than LINEF 50,50,50,50. At the bottom of Page 152 you should press the TAB key not the Escape key to move to the next field. Many thanks to Ofir Gal for his work on the new Popup and Form Windows of the GEM toolbox. Dave Nutkins HiSoft The Old School Greenfield BEDFORD MK45 5DE U.K. VOUS SOUHAITEZ RECEVOIR UNE LISTE DE NOS SOFTS ECRIRE: BP 17 B-4420 MONTEGNEE BELGIQUE TELEPH. ( INTER )- 32.41356389