2IMGCdrP@@@ )4   "D}, M ) TiTWiWg2 Ԣ` H i`iK ԩ`GៀL` HK!HKH@L,0 )i/ XA)Lb +)D\]g_ ?/"p@͸  ɜUUɛ`ff  ܪ330 ˩ʙppʙppp˩pwp̺ppwwwwp&Xb0qqwqqwqwqwwqwqwwwwwwwqwqqwqwwwqwwqwqwwqwqqwwwwwqwwqqqqqqqqqqqwqqqqqqqqqwqqqqqqqwqqwqwwqwqwqwwqwqwwwwwqqwqqwwqqwwwqwqwqqwwqqqqqqqqqwqqqqqqqqqwqqqqqqqqqqwwwwqwwqwwwqwwqqwwwwqwqwqqqwqqwwwqwqwwqqqGSINF.52BIS' @VIRDAT77WORKSETS*77OPENITW33GUPPm11FINDERREFRESHER00DRILLDOWN//FINDERFLIPPER//CALCCDA-.CD.REMEMBER..BACKGAMMONJ()ASCII.HELPER((^EXTRAS.INSTALLUbZ ~ZYNOWORRIESU<oH6Z3TUDOR5SPEEDREADDIRؽFINDER.ROOT> pVIRDATv ' ')CHANGELOG/\READ.ME.V1.0P 8@ET!\VIRTUAL.DATA98: *------------------------------------------------- * Virtual.Data * * Version change log *------------------------------------------------- 1.0 - 22nd May 1997 - Changed Extras menu item to "Virtual Data Prefs..." - Added rComment - Made status shareware US$10 1.0b3 - 23rd February 1997 - Added System 6.0.1 and Finder 6.0.1 requirements to doco. - Got around Finder's problem of not returning whether or not a subdirectory on a local volume is locked by checking the status of the disk icon which the subdirectory belongs to. (Bob) 1.0b2 - 9th February 1997 - Optimised preference file handling subroutines to reduce code size. - If @:System:Preferences folder does not exist, then it will be created. (Erik) - Fixed problem with uninitialised window pointer which caused a crash when the "Use Finder.Data" preference was unchecked. (Bob and Erik) - Fixed problem with releasing memory. $8000 bytes were kept each time Finder restarted. Whoops. 1.0b1 - 28th January 1997 Project initiated - April 1996  %Virtual.Data Version 1.0 - 22nd May 1997 Copyright 1997 - This program is Shareware US$10. Written by Andrew Roughan What is it? Virtual.Data is an Apple IIgs Finder Extension which keeps track of Finder's open directory windows, their positioning and format, for write protected volumes. Finder stores information about how you had a directory window open on the desktop, including the size of the window and the view (by icon, by name, by date etc) in files named Finder.Data. Finder stores these Finder.Data>>t  7p L[SW@0  files inside the directory so that next time you open the directory, the directory window is displayed in the way that you last had it open. However, if the directory is locked, (e.g a CD-Rom disk, a locked or read-only Appleshare directory, a locked RamFAST partition, a write-protected disk, etc.) then Finder can't keep track of the information. Finder also does not create Finder.Data files on Appleshare directories (although Finder will use them if they exist). Virtual.Data fills this void by storing this information in a file named Virtual.Data in the @:Preferences directory - which is usually inside the System directory on the disk you boot from. Why was it created? I found a need for Virtual.Data's functionality while exploring CD-ROMs using Finder on my Apple IIgs. I found myself double clicking everything in sight which usually had the effect of launching an application. On return to the Finder, I had to laboriously find my way back to the directory I was in before I could continue exploring. Believe me, it is very easy to lose your place in 600MB of data! Where does it go? The Virtual.Data Finder Extension can be placed in either the *:System:System.Setup or the *:System:FinderExtras directory. As Virtual.Data has no use outside of the Finder, I recommend placing it in the FinderExtras directory. This means that when Finder is not active, Virtual.Data will not take up memory. Virtual Data requires System 6.0.1 and Finder 6.0.1. Which features can I play with? A "VD Prefs..." menu item is added to the Extras menu when Virtual.Data is installed. - Remember Volumes after Finder shuts down The volume containing the locked directory would be unmounted when Finder shuts down and probably not available when Finder next started up. Virtual.Data therefore normally removes temporary information. When this option is chosen Virtual.Data will keep all information. - Use Finder.Data files if they exist When this option is chosen Virtual.Data will not modify the newly opened directory window if a Finder.Data file is available inside the locked directory. If there is a Finder.Data file within a locked directory then whoever created it must have thought about it and hopefully it is therefore useful. However, if you don't like the format stored in the Finder.Data file, then it can be overridden by unchoosing this option - however, this will be slower as Finder uses this file to initially format the window. Want something more? I have a few ideas for extending the functionality of Virtual.Data. For example, I would like Virtual.Data to permanently remember the settings of a few commonly used directories. Also I would like to make the 'Use Finder.Data' option user selectable on a directory by directory basis. However, if you find yourself thinking something like "Gee, I wish it did...." then please let me know. I can't add it if I don't know about it or I haven't thought of it yet. Who's responsible? The author can be reached via the following internet address: posty@triode.net.au What are the conditions of use? This software is made available to you as Shareware. You are allowed to evaluate this software at no charge for a period of 30 days. At the end of this time, you must send US$10 (or equivalent) to the author if you wish to continue using it. The only alternative is to remove it permanently from your system. Cheques should be made payable to Andrew Roughan and sent to the following address: GPO Box 830 Sydney NSW 2001 Australia Future enhancements to Virtual.Data will only be provided to people who have paid the shareware fee. Words of thanks: Richard Bennett for the name. Jim Maricondo whose Golden Orchard CD provided the inspiration (perspiration?). Responders to my questions on the Comp.Sys.Apple2.Programmer newsgroup. The dedicated beta testers: Erik Gachot, Gareth Jones and Bob Rivkin. UUUU &$ $$ $]$$%$;$$$0$$ $$$$!$y$$$G$1$i$o$$k$$'$P$Y*$*$D$[$A%$$'$$$$`$$U${$$4$$$ $G$C$#$d$;$&$$+$'$+$ $%$$$D$U$$ $-$A?$M$|  &k ,@VIRTUAL.DAVIRTUAL.DA K@DF"* )J@Ht"kAndrew Roughan~Virtual.Data Apple~Finder~K ;8*B[8H9s:;i*+  zzzzzkf"LVirtual Data Prefs...4ʹHH"h|h~H@H."H"HHa"hhHH0"hhHH0"hht k <("2*s* (d\5 NK  !"#$%DHHH"FHHH"HHd"hh  Ʀ 2HHH"hDHHH"hF HH " ""~H|H"L4]0DH"h|h~f"@H "hh ` D F Hihi H4"hh R"hh)  " LfHH"HH)"h&h(3BBX&&&(Hihi'&ȷ& $)!")ȷ ")i e 8@HHH HiH+" HihiHghi HH" """  Ș ȗ HH>"h Ȋ  Hihi HH*"hhL HH"~H|H"8LL@:preferences:Virtual.Data:Finder.Data "ȷ$)`"hh "h|h~"     D F Hihi ͿF+@H "hhdfH H"᭐! HihiHg hi L8FB ȷ  Ƚ 􈘇  "   HihiHg hi (f  if" HH\" HڥHH?" )  Hihi  8ͿLF HH" HH"~H|H" HH"LJ@H"@00LZ   F   K ;8[d*j) ȷ   ( L N ;      );i+zz9 8kP R " H 9 J r t HڠH "9 hh rȥ  r t " 9  HH"ȗ ȭ )" `" " 79 D ȷ ): L " Э L N P " H 9 fJ ȷ   ȷ " 9 )" ` Z    L   Y   +.5 26= 7Iuy FNf $7:=Us 5"FJPV]`ps /25=atw 7 H0UuUse Finder.DataJ,Tfiles if they exist ]Nk0..Cancel ]j0 AcceptWORKSETSv ' 'XWORKSETS+ *WWS.DOCSPJ #ET#*.TE! U,C ~ExpressLoadU )PQ,E T)P0E )P"N!"~!\N;8x [#{iHH#H"KKac{itgZiʛkoʛqʛu{iaHh "xLKKD!{i#HHH"Kac{i!tgZiʛ""t/% ! |" (("2(A(n((,/0123456789:;<=>?@ABCDk oʛqʛu{iaHh "xLKac{itgZiʛkoʛqʛu{iaHh "xLK!"5M!"L :"Ni~J  :"Ni~J  '+{it/{i'Hh "xLK)~J6ʛt{iHh "xLK ) {i Hh "xLK!H "K+;ixk*:system:Preferences:WorkSets.Prefs*:system:Preferences;8V [# {i HHi#H"K !{i t%'tC{iHh "xLK!K*HZHH{i H "K  ~JGHHhh{i Hh "xL {iHh "xL:"N~J)H:"N~J)"Mc!+;iVk*:system:Preferences:WorkSets.Prefs;8: [!H"KHHHH"K0"KhHHHH""KhhHH "Kh!"HH"K/t 1t 2t 3t5t-7"HiH{i-H{i%H"K)i!i!!H H"Kt t t ttt!!HiH{iH{i%H"K)i!i!!"(# {i HH#H"KHH{i H "Kh!KK+;i:kRecord A WorkSet... Apple~Finder~WorkSets... Apple~Finder~*:system:Preferences:WorkSets.Prefs;8 [!HiH!!H{iH"KHiH!!H{iH"K!H!H/"K!H "K!H "K"K+;ik Apple~Finder~ Apple~Finder~;8& [ʆ*HHhh!d%:"N~J)"M#H:"N~J)8IH%#8pI0ʊ#%:"N~J)8ApI0ʊH:"N~J)Z8pI0ʊ#PH:"N~J)i 8IH%#8pI0ʊ#%H:"N~J)8IH##%:"N~J)8ApI0ʊH:"N~J)Z8pI0ʊ#EH:"N~J)i 8IH##%%'++;i*kHH"K"Kk;8z [d'HHR"Khh  WHiH {i3H"K7'i'HH *"Khh '0:eHH"KhhHH HHHa"Khh"K"Kd/d1/ImHH{iMHHd"Kh+h-+- /1+-/H{i3H;"K "K"K"Kd% 58pI0ʊH%#fi:"N~J)H:"N~J)"Mc)%H)#%iq%%1H"Kh!H"K!!i HHR"Khh   8!pI0HiH {i3H"K7!i!HHH!HH "Khh AHHH("KHH!H "KIHH!H"KHH *"Khh !%HHH!HH "Khh{i3HH("KHHH "KIHHH"K"LH%:"Ni~Jh  "5MH%i:"Ni~Jh  !8H%i:"Ni~Jh  !i!"H"K+;izk Apple~Finder~ Apple~Finder~;8 [ ))ɀ""H8"KH8"KU"K H H"Nch)8iHH8H:"K H H"KviHH8H:"K H H"Nc H H"Nch)H"K+;ik;8 [H"Kh !H"K! 06%i:"N~J)H:"N~J)"Mc 0:HHH H"Kh h H H!: "Ni#hh!: "Ni#  H!: "Ni#hh!i! ii:"N~J)e 8pI0HHHH"Kh h H H!: "Ni#hh!: "N##H"Nch)a!: "Ni#  H!: "Ni#hh!i!i!8!H#H!HHHH0"K"KK H"K+;ik;8 [HHH: "N##H"KhhHiHHH{i H"K+;ik Apple~Finder~;8 [i: "N##H"Nch)H!8pI0ʊ#H"i+;ik;8 [H"Kh!H"KHHHH H0"K"Kh{: "N##H"Nch) H"H"HHHH H0"K"Kh~HHH H0"K"KHHH H0"K"KH"K "K  +;i k;8 [H"Kh !H"KHHHH" H0"K"Kh: "N##Hʠhh: "N##H"Nch)HHH: "N##H"Khh "K "N ""KHH: "N##H"K8: "N##H"Nch)Hi: "N##H"Nch)Hi8!pI0ʊ#IH: "N##H"KH8: "N##H"K d8: "N##58pI0ʊ%Ti:"N~J)H:"N~J)"Mci8:"Ni~J  8:"Ni~J  8:"Ni~J  : "N## d58pI0ʊ%Ti:"N~J)H:"N~J)"Mci8:"N~J)H"K8pI0gHe: "N##H"KHe: "Ni#hh8:"Ni~J  8:"Ni~J  8:"Ni~J  06!:"N~J)Hi:"N~J)#Hi:"N~J)#i:"N~J)H:"Ni~Jh  i:"N~J)Hi:"Ni~Jh  i:"N~J)Hi:"Ni~Jh  iHHHH" H0"K"Kh" "IHHH" H0"K"KHHH" H0"K"K H"K""!+;i k;8< [HH"KhhHH HHHa"Kh h "K "Kd INHH{iHHd"Khh  "K"K"KB@"K>B=A+;i@k;8B [HH"Kh h HH HHHa"Khh"K"IHHHH0"K"KHHHH0"K"K"KdIHH{iHHd"KhhTHHHH0"K"KHHHH0"K"K" "s"E "K"K "K+;iBk;8 [ʆ!! H!! ʆ!! " !! "W  +;i k;8 [h!ʆ H"Kh!!H"K!!!!i!!!i"ʆ o"h"ʆ V" G"o 85t H"K  ʆ    "K H+;ikH"Kh!!!H "KkCCVs~FinderSets~ ;['+k{;8[:ڥ HH H H IH"dMv H H H Lh h h  I  $J        {i+kLLL"Kk ;[I4" )d9 LL ")   +`IH7IHZ; [*8e쪥I+zzzkh@kK`MbM"Lp bM8`MIk@k{;8[:ڥJ       {i +k ;8[I0ȅ IdFejfFejfFejfFejfFRejfFejfFejfFejf?:I;i+ke &****;i+@k"fOOkH ;[FeFeFeF/eFeFeFeFe+ke+kH"wO;iO"KOO""OkK OOOOOOOOOOOkHH;H" ;[+Ohhk"OKH"kKzhOhOh KZګkOOOKOO&Pk 9YcM +6IW,LNq2US^~lI7h( I*#W}#W%K~"8]s2;ay~D `gk|!/w2=]$gF ;N_ AZv #)Ekorw 258MPWbeps~ Sv7Z 8Ot, lr} Sbu *Ke;LZ 7Z`kq BPho0>ao-0=Uq17Bcm AMS ),/258;>ADG~J)~J~JCi~J"F"W!!B/5   j~J~J~J#$#U##C#t##Rc~J~J~J# ~J1~JW~J ~JD~J~Jn   !!!! LL-FGHI1"b"""( @:i    S   ,PGPP)2*LWorkSets"Copyright 1997 by Chris Vavruska WorkSets V1.0.1 by: Chris Vavruska Copyright 1997 by Chris Vavruska P 2(P|G   |Enter Set NameL'&pWork Set 2W@0 Record 2@CancelP 2(P|6x   d Select Set: W 3"AvRemove H"Vv0 Exit #"1vOpen "!vAboutP 2(P|0  O WoWorkSets V1.0.1 "byby #[0ChChris Vavruska T(_CoCopyright 1997 Chris Vavruska <iJ0 OKM TWorkSets V1.0.1 Copyright 1997, Chris Vavruska Email: vavruska@mec.edu or CVAVRUSKA1 (Genie) What is WorkSets? If you work with different files in multiple folders often and dont like to clutter up the desktop of the finder with aliases then WorkSets is for you. WorkSets is a finder extension that allows the user to record the open folders on the desktop in a list for later retrieval. How do I use WorkSets? When installed, WorkSets add two menu items to the finders Extras menu: Record a WorkS>,>t  p $\PH8D<@KNOPQRSet... and WorkSets.... Record a WorkSet... By selecting the Record a Workset... menu item all of the currently opened folders will be recorded into a new WorkSet. You will be allowed to name the WorkSet whatever you want (up to 20 characters). Although you can create a WorkSet with no name, it is not recommended. If you select the Record a Workset... menu option with no open folders then WorkSets will ignore your request. WorkSet has a restriction of 100 WorkSets with 10 folders per set. WorkSets... When you wish to work with a Workset then you select the WorkSets... menu item. Here you will be able to open or remove a work set or work set item. When you wish to open or remove a complete work set then select the work set title from the list and click on the open or remove button. When you wish to open or remove a single folder in a work set, select the folder from the list and click on the appropriate button. If you delete the last item in a work set then the entire work set will be removed. How do I install WorkSets? You should place the Worksets finder extension file in your *:system:finderextras folder, then reboot. How much does Worksets cost? I am releasing Worksets as ShareWare. If you wish to register this program then please send $10 to me at the following address: Chris Vavruska A13 Scotty Hollow Drive N. Chelmsford, MA 01863 Registered users will recieve a printed manual as well as the most up to date version. If you do not wish to register this program then please stop using it after 15 days. Hey I want to give out copies of Worksets at my UserGroup, can I? Worksets can be copied as many times as you want as long as no more than $5 are charged for copies and this document in its current form is included. Worksets can not be included with any sort of comercial or non-comercial bundle with out the authors permission. Known Bugs in WorkSets : None. If you find any please send me email to one of the above addresses. Program History: Version Description ------------------------------------------------------------------- 1.0 Initial Release. 1.0.1 Fixed Bug which prevented correct result return when srqgoaway was recieved. Possible future enhancements: Hierarchic Workset menu support Registered user requests Disclaimer: The author (Chris Vavruska) make no warranties, either express or implied, reguardin the enclosed computer software package, its mechantability or its fitness for any particular purpose. The exclusion of implied warranties is not permitted in some states. The above exclusion may not apply to you. This warranty provides you with specific legal rights. There may be other rights that you may have which vary from state to state. 4/16/97 LUV DD-< HTl lllK$T T$TlaATllmTOTT< T (PZ  0yuv ddd~wxuu'qlzwqw|vz{zzmdcgmx}vked\]k}~zskg| OPENITv ' 'VOPENITX:1W/OPENIT1.2READMEhKW[ dU,C ~ExpressLoadU O,E 80E ;8 [h H"፜h) ,"፜#aH"፜hHn"፜+;ik TUU~OpenIt~;8  [h d  `H"፜hHh a"2 Y"w Q"% G) ) H"% #      ~~t   " B"d(((  ' )%PY\]^_`abc+;ik;8  [   {iH"፜ +;i k;8 [ H{iH"፜ +;ik;8 [L 9H)H) hhoi  i  H)H)hh  HiHhhH)H) hhli  i  H)H)hh  HiHhh+;ik;8a [ e͋ dkH"፜hH"፜hH"፜HHH"፜hH""፜hh  "*  T )   "*H "፜h  "*HHa"፜hh  Q  :"፜  H H "፜ "፜ "፜"d!h# H h%h' hh hhfHH '%d"፜h h hhH #!Y"፜hY ;"፜"H"Hb"፜h hh5 i)+) )  "፜"፜"H"Hb"፜h hh  "] )      "*"D@DEF ,"፜dHb"፜h J  {i0H"፜2H2Hb"፜h.ɳɵW8t:  {i8H{iH"፜Hb"፜h-VX \{i-t`t {iVH"*"H"Hb"፜h>@{i/tD H JNtPTtHH{i>Hڢ"፜"፜"H"Hb"፜h"፜"H"Hb"፜hbd+;ick0l0{SOpenIt 1.2S by Matt Ackeret (mattack@apple.com) This utility opens up a folder or runs S16, SYS, and EXE files, depending on the pathname typed in. Other filetypes cause a finderSaysBeforeOpen message. The system beeps if it gets a pathname related error. Other errors are reported with ErrorWindow. This program is SSHAREWARE!S To register, send a small donation ($3-5) Matt Ackeret after a 1 week trial period to: 1025 Westchester Drive (along with enhancement suggestions) Sunnyvale, CA 94087 This program contains material from the Orca/C Run-Time Libraries, copyright 1987-1992 by Byte Works,Inc. Used with permission.{^Cool Apple~Finder~ OpenIt (^O); [CEG"+;ikHH; [    +;i kk b.6AIS;GM`e :LZfs 0:=BFUcq E[e;AHPS[^dgp6Id~ DZz3aFn| &thyDsw]n06 a m   ; F   Zefg)u1*n* 2pd h> # .Z0 #.0 #.`0IiOKCancel Info I OpenIt 1.2Path of window to open/program to launch:PȀ 'R  OpenIt#by Matt Ackeret (mattack@apple.com)Openit 1.2 by Matt Ackeret Put this file into the FinderExtras folder within the System folder on your boot disk and reboot. Also, there are utilities that can install system files without rebooting.OpenIt 1.2 by Matt Ackeret (mattack@apple.com) This Finder Extension opens up a folder or runs SYS, S16, or EXE files, depending on the pathname typed in. Other filetypes cause a message to be sent out so other extensions think you double-clicked on their files (e.g. you can open CDEVs with OpenIt)! This program is SHAREWARE. See the Info window in the program for more information.ijklThis is OpenIt 1.2. This Finder Extension allows you to type in a pathname and does various things which depend on the filetype of the file whose pathname you enter. For folders, it opens the folder in the Finder. For SYS, S16, or EXE files, it launches them. For any other filetype, it sends out a finderSaysBeforeOpen message, so that other extensions can use the file whose pathname you typed in. For example, you can open CDEVs with OpenIt 1.1, or TeachReader files, etc.. Anything else that accepts the finderSaysBeforeOpen and does something useful with the files. Another example is that if you have the Balloon Finder extension, typing in the path of a SHK archive will open it in Balloon. Install in the FinderExtras folder of your System folder on your boot disk and reboot, or use a utility that allows you to load special System files immediately. This software is shareware. Read the Info window inside of the program for more details. Changes: 1.2: 5/12/97 The biggest change is that I special case the up and down arrows for LineEdit. It doesn't erase your selection and enter literal up and down arrow characters anymore. Up arrow moves to the left end, and right arrow moves to the right end of the text. Also, the window is now a movable modal dialog (rather than a regular modal dialog). Your placement of the dialog is remembered during each session. If someone's really wants the location to be saved permanently, suggest it. 1.1: This version sends out the finderSaysBeforeOpen message for files other than executables or folders. 1.0: The original release. GUPPv ' 'TGUPPn 9m\GUPP.PLACEBOz 9m+GUPP.README&77mq w 0E K"HH "hh HHHH" "hhȷȷ  $- / ,mP o 4  HH ""HH"hh:kDr Tom: You promised a few times to leavecomp.sys.apple2 for good. Now stay that way.GUPP v1.04 By Nathazzt  [)H*N*orstuvn Mates H Hk   \HHHZ K zh(kMO  /\HHHZO MK zh(k  o\HHHZ K zh(k  \HHHZ K zh(k;8 ;[ ^QmKk)ݓ6 +9GB k +;i` vm/M{H\M 5Z(P@P0@00 m7$en%.    _?&T(/ e= n)[S_gksuyk$MfH" "HԐԎLHHHHH ;[8h"hH"ziρ)00LH"") HHd"T//Эxe \ȩ (hH`p`-``Hh=l= `ZHHHHH"h HHHH"h hzi\t `"\1/3/ `"\2i iLZiP^ NR\` `ZHHHԺԸ"hh hhz8\^`L>ԐԎHZZZZ ;[T] i`ȷ ) ϋ \8k `?& )Y `&46 HH64N )H1""HH "" "__ `i \`ȗȗȗ`ꠡȗ8 a ` g 4 e\`OiSHHSQ"hFH; [gT wI+hh\QgQQSZS Qz(\!``\`[` je`Э\\x{*(Eh"%(+.1J+-/13579;=?ACEGIKMO 9BE$'*-t t|Q 7=U[w} ."0bp pxyGUPP [d BHHhhd!"i)"H"i)8IH%8pI0ʊ#!"i)8ApI0ʊH"i)Z8pI0ʊ#OH"i)i 8IH%8pI0ʊ#!H"i)8IH#!"i)8ApI0ʊH"i)Z8pI0ʊ#DH"i)i 8IH#!!9 HH"hhHiH3 {i%H"'3HHh%%##8pI0c3HHhiH:"ich)H:"id{i'ch  #HiHB {i%H{iH"HiHQ {i%H{iH" ?C+;iBk Apple~Finder~ Apple~Finder~ Apple~Finder~HH""k;8J [d N HH"hhHH` HHHa"h h"i)H H<"H H<"H H<"H H<"H H<"H H<"pH H<"OL H`"  H ' i "id{ic  "i)H"id{ich   H{iH:" " "dImHH{iHHd"hh   4H H="h"ii  "ii  "ii  "ii  "ii  v"ii  Q"ii  ,8 H`"~  7 \  H{iH;""i)8apI0ʊH"i)z8pI0ʊ#8 H"i)8H"id{ich  "i)H"iih  "  """ KO+;iNk;8 [h H"h H" {H"hHihi"c f" ]"c T" G"w :d 5 {     H" d "H+;ik;8 [H"h)0fHhchchhH<"H"hH"+;ik.Finder Refresher v1.0.1 by Chris VavruskaCCVs~FinderRefresher~ ;[#+k{;8[:ڥ HH H H IH"8v H H H h h h  I  $J        {i+k"k ;[I4" )d9 66 ")   +`{;8[:ڥJ       {i +k ;8[I0ȅ IdFejfFejfFejfFejfFRejfFejfFejfFejf?:I;i+ke &****;i+@k"kH ;[FeFeFeF/eFeFeFeFe+ke+k",LH";i"g"kK !kH"\7K Error occurred at line B"H"V in procedure " ""&  "{ "{ Line Name" ---- ----" BH"V 1" ""&HH;H" ;[+hhk"AH"k ;[ 8)e"+hkSubrange exceededFile is not openRead while at end of file I/O error Out of memoryEOLN while at end of file Set overflow&Jump to undefined case statement labelInteger math errorReal math error UnderflowOverflowDivide by zeroInexactStack overflow Stack errorKzhhh ZګkKOQ&Sk; [ "XHHH" +hhhhk; [  )8 I" )L  ! )H"{  ( "{ )H"   " +;i kH""C"h") KHH; [$HH"o+hhkL~; [" +;ikL; [" +;ikK A" ? A" ?A" ?k "kH<( &"L; [8""+hhkHHH8H; [  "d % Q8  0 " " "de i @< " "   "dZ ""+;i kHH8H; [OȷQȷ HH"+hhhhk(H; ["iSȿUSU+hhk ;[ < 8(I <ȗ(  @+hhkH ;[ "{ "+hkHHHHH; ["iSU  ȷݠSȷU ȷ+;i k:JJJJk 9_ +xAWy0#hHjmIi{?d+@_pU^gt<^c 04k|-EX\|bu G$9DT  &MWjwkrz JR/2c/I|E^(=ADO\fp  '-q(mMo jt#De !#%')+-/13579;>n s !Fkw &+.?B ;JNQTfilr}K "%(:_o 9LEHN]i*.:| ).1]mNcYBT3 B Q  `     & K p |8o 6\B 61I ZfZ< f _ *  ' < X s       PP)o9*P 2(Pz(  I Finder Refresher V1.0.1 ;.L0 OK ;L0Cancel #-Key  - "  Modifier  Command Option Command-Shift Option-Shift Command-Control Option-Control None -p  Invoking Sequence5& P$ZCopyright 1997 Chris VavruskaFinderRefresher"Copyright 1997 by Chris Vavruska FinderRefresher V1.0.1 by: Chris Vavruska Copyright 1997 by Chris Vavruska FinderRefreshed will force the finder to update all current opened windows.  FINDER REFRESHER V1.0.1 Copyright 1997, Chris Vavruska Email: vavruska@mec.edu or CVAVRUSKA1 (Genie) What is FinderRefresher? FinderRefresher is a finder extension that will force the front most window to refresh. Have you ever been using a FinderExt/NDA/Cdev and had it create a file in a folder that you have open on the desktop? Did the desktop window get updated? Yes, well then you have a utility that was written to use the functionality of system 6.0 or greater. No, well then you are using a >,>t  p \4pX8D<@poorly written piece of code or a program that was written before 6.0 (If my information is correct :-) FinderRefresher is also usefull when using program switchers such as The Manager or Switch-It. How does FinderRefresher work? FinderRefresher sits around doing nothing unless you tell it to. Once you have invoked its functionality it tells the finder to close and re-open the frontmost window. Customizing FinderRefresher: FinderRefresher adds a menu item to the finders Extras menu ( FinderRefresher...). By selecting this menu item you are able to customize the functionality of FinderRefresher. All that can be modified is the key that invokes the functionality of FinderRefresher. The default key is Command-R. How do I install FinderRefresher? You should place the FinderRefresher finder extension file in your *:system:finderextras folder & reboot. How much does FinderRefresher cost? I am releasing FinderRefresher as ShareWare. If you wish to register this program then please send a mere $5 to me at the following address: Chris Vavruska A13 Scotty Hollow Drive N. Chelmsford, MA 01863 Hey I want to give out copies of FinderRefresher at my UserGroup, can I? FinderRefresher can be copied as many times as you want as long as no more than $2 (disks are cheap these days) are charged for copies and this document in its current form is included. FinderRefresher can not be included with any sort of comercial or non-comercial bundle with out the authors permission. (Im not really a jerk, I just want to see where its going??) Known Bugs in FinderRefresher : None. If you find any please send me email to one of the above addresses. Program History: Version Description ------------------------------------------------------------------- 1.0 Initial Release. 1.0.1 Fixed Bug which prevented correct result return when srqgoaway was recieved. Disclaimer: The author (Chris Vavruska) make no warranties, either express or implied, reguardin the enclosed computer software package, its mechantability or its fitness for any particular purpose. The exclusion of implied warranties is not permitted in some states. The above exclusion may not apply to you. This warranty provides you with specific legal rights. There may be other rights that you may have which vary from state to state. The Manager & Switch-it are registered trademarks of thier respected companies. 3/09/97  DD1< HTl9TlTllIl $!TF$T#TlHTllTOT T (PZ  0yuv ddd~wxuu'qlzwqw|vz{zzmdcgmx}vked\]k}~zskg|DRILLDOWNv ' 'YDRILLDOWNa0 %\READ.ME.V1.0P a$@ETf ,@DRILLDOWN DRILLDOWN K4"* )84H_"kAndrew Roughan~Drilldown Apple~Finder~K ;8$6[2-l4;i$+  zzzzzkQ" Drilldown....d4H "hhr"G4HH"d2"""HH"᭮L  fft  f)/*!E Drilldo i ) Z @Qe e HZ "L^4H "hՎHihi  e e  ""  iH W L "Hihii8Hhe$Hehiz e HH"OKQ"ᮼ  W F` HH$"b L8:Select File(s) to open:Q"`QHH"`ڭ4H "h "h `HH"8`HH"`84H"4**LG ")k*>t  hp\ 0[SW@`perDataPath but can't get to them quickly from Finder? If you answered yes, then you need Drilldown! Where does it go? The Drilldown Finder Extension can be placed in either the *:System:FinderExtras or the *:System:System.Setup directory. As Drilldown has no use outside of the Finder, I recommend placing it in the FinderExtras directory. This means that when Finder is not active, Drilldown will not take up memory. Drilldown requires System 6.0.1 and Finder 6.0. How do I use it? Drilldown allows you to navigate folders using the familiar 'Standard File' dialog that you use when you want to open or save a file inside an application. If you want to open a directory window, use the Disk, Open and Close buttons until you can see the directory that you wish to open. Highlight it by clicking once, and press the Accept button. Drilldown tells Finder to open that directory window. (Clicking Open instead will display the contents of the directory in the Standard File list box.) If you wish to launch a program, simply select it and press the Accept or Open Buttons. Drilldown tells Finder to launch the program. If you wish to open a file, simply select it and press the Accept or Open Buttons. Drilldown tells Finder to open the file. You are able to select multiple files by holding down the shift or open-apple keys as you click on the filenames in the list box. Drilldown will open multiple folders and files but will only launch the first program in the selection list. Why was it created? Bob Rivkin (rrivkin@umbc.edu) suggested the idea for this program. Send him your thanks! Want something more? If you find yourself thinking something like "Gee, I wish it did...." then please let me know. If I don't know about it then I can't add it. Technical Q&A Q: I selected multiple files but only a few of them opened, what's going on? A: You may encounter this problem if you are selecting multiple files in a deeply nested structure, particularly with an FST that supports extended pathnames (e.g. Appleshare, HFS). Drilldown must call ExpandPath on every file which is selected before passing this information back to Finder in a block. I chose 32k as a reasonable size limit on this block. Drilldown processes as many files as it can to fit into the block and ignores any others. If you find this particularly annoying, contact me and I'll change it for you. Who's responsible? The author can be reached via the following internet address: posty@triode.net.au Words of thanks: Bob Rivkin (rrivkin@umbc.edu) for the idea. UUUUUU UUUUUU" - $$`$$Z$4(1 $$L$ $))$-|FINDERFLIPPERv ' ']FINDERFLIPPER%oWFF.DOCSP !ET!, GU,C ~ExpressLoadU ((,E +(0E ("y"?\;8p [${i HH$H"{it{iHh "aY[{it_Zaʛcgʛiʛm{iYHh "aD{iHHH"Y[tND Gj@P"""&7 W"|"&" {it_Zaʛc gʛiʛm{iYHh "aY[{it_Zaʛcgʛiʛm{iYHh "a#{it'{iHh "a!  ʛt{iHh "a!{iHh "a+;ipk*:system:Preferences:Findrflip.Prefs*:system:Preferences;8V [$ {i HHQ$H" !{i t%'tC{iHh "a"i  "i  "i  "i  f  GHHhh{i Hh "a {iHh "a+;iVk*:system:Preferences:FindrFlip.Prefs;8 [H"፬HHHHu"፬0"፬hHHHH""፬hhHH "፬h~HuH"d d d ddHiH{iH{iH"፬ ii"+;ikFinderFlipper... Apple~Finder~;8 [HHiHH{iH"፬~H "፬"፬+;ik Apple~Finder~;8 [d"$")"H")8IH%8pI0ʊ#")8ApI0ʊH")Z8pI0ʊ#OH")i 8IH%8pI0ʊ#H")8IH#")8ApI0ʊH")Z8pI0ʊ#DH")i 8IH#")H #H#")H #H#HH"፬h h H ,"፬h) +HH *"፬h h H ,"፬hIʆ HH *"፬"፬  "፬<")"H")8IH%8pI0ʊ#")8ApI0ʊH")Z8pI0ʊ#OH")i 8IH%8pI0ʊ#H")8IH#")8ApI0ʊH")Z8pI0ʊ#DH")i 8IH#")H #H)8pI0ʊ#")H #H)8pI0ʊ#HHR"፬h h    ) HH *"፬h h H,"፬h) 0:$"፬"፬$"፬"፬ $#+;i"kHH"፬"፬k;8N [ʆ R ʆ HH"፬hhHH HHHa"፬hh "),HH<"፬eHH<"፬DHH<"፬#HH<"፬HH<"፬HH<"፬HH<"፬1HH<"፬~2HH<"፬]Z 6d"), H H<"፬e!H H<"፬D"H H<"፬##H H<"፬$H H<"፬%H H<"፬&H H<"፬3H H<"፬~4H H<"፬]Z 6d")#"d{i!c  "d{i!c  ")H"d{i!ch  ")#"d{i!c  "d{i!c  ")H"d{i!ch   H{i!H:"፬H{i!H:"፬"፬"፬dImHH{i!HHd"፬hh   0HH="፬h M"i  "i  g"i  B"i  "i  "i  "i  "i  "i  d8## H`"l:_H H="፬h M"i  p"i  K"i  &"i  "i  "i  "i  "i  m"i  H8  H`"lW|5Z")H")#H{i!H;"፬"i!)8apI0ʊH"i!)z8pI0ʊ#> H"i!)8H"d{i!ch  "i!)H"ih  ""i  ")H")# H{i!H;"፬"!)8apI0ʊH"!)z8pI0ʊ#8 H"!)8H"d{i!ch  "!)H"ih  ""i  " "፬"፬"፬ OS+;iRk;8 [hʆ H"፬hH"፬~ii"ʆ k"ud"ʆ R"G" 85x H"፬  ʆ    " H+;ikH"፬hiH"፬kCCVs~FinderFlipper~ ;['+k{;8[:ڥ HH H H IH"v H H H ~h h h  I  $J        {i+kuws"k ;[I4" )d9  ")   +`{;8[:ڥJ       {i +k ;8[I0ȅ IdFejfFejfFejfFejfFRejfFejfFejfFejf?:I;i+ke &****;i+@k" !kH ;[FeFeFeF/eFeFeFeFe+ke+k"L"H"j!;i!" !"kK !!!!!!!!!!!kH"- \K! Error occurred at line " "!H"! in procedure " "!" """! ! "# "# Line Namen" " ---- ----" "! !B!H"! " "!" """HH;H" ;[+!hhk"!H"k _ ;[ 8)e" "+hkSubrange exceededFile is not openRead while at end of file I/O error Out of memoryEOLN while at end of file Set overflow&Jump to undefined case statement labelInteger math errorReal math error UnderflowOverflowDivide by zeroInexactStack overflow Stack errorKzh!h!h Zګk!!!K""&"k; [& "#&HHH" " +hhhhk; [  )8 I"v' )L  ! )H"#  ( "# )H"U#   "U# +;i kH"#"#" h") "K!H!H; [$!HH" $+hhkL#; [S#&E#" C#+;ikS#LX#; [#&#" #+;ik#K&&#" #&&#" #&&#" #k! "!kH&( &"L)'; [8"$%"7$+hhkHHH8H; [  "& % Q8  0 "' "' "&e i @< "' "'   "&Z "'"$%+;i kHH8H; ["ȷ"ȷ HH"+hhhhk(H; ["("ȿ"""+hhk ;[ & 8(I &ȗ(  @+hhkH ;[ "# "U#+hkHHHHH; ["(""  ȷݠ"ȷ" ȷ+;i k:JJJJk 9_ +xH_#Fj'5G2lOAOaLr3ρk .N`Bg_=bX,Nj9JnXjq"bglzp :MQcj!Sot| :Wlx"&/G^bfo!(aAI  "4U~/2c/I|LQf '~.JZag,L7qT#5FfQ w -GUft(8^$Ef<]~pSv $In-/Lf DiO3SoQu  &),/=BEHLRU\f w .AUX2 VNQkuu+ )Nsk$In8Vz~OiY+>!}n!/ _ !&"&#&/(Z( b x   21 2 J  W+@\ w1 2 2 2 T j     $ 1 2    2 N i   1 2 r   y   P)8*RP 2(Pz( --"@@ o Finder Flipper V1.0.1  W>Copyright 1997 Chris Vavruska " ,T Flip Down /= " 12 Modifier  Command Option Command-Shift Option-Shift Command-Control Option-Control1 1 Command-TAB2 2 Option-TAB None/=;p 2=Key G RB Flip Up Ub  '12 Modifier Command! Option"  Command-Shift#  Option-Shift$ Command-Control% Option-Control3 1 Command-TAB4 2 Option-TAB& None WcKey Ub;p k/z0 OK kzCancel'CKLhKFinder Flipper"Copyright 1997 by Chris Vavruska Finder Flipper V1.0.1 by: Chris Vavruska Copyright 1997 by Chris Vavruska  \FINDER FLIPPER V1.0.1 Copyright 1997, Chris Vavruska Email: vavruska@mec.edu or CVAVRUSKA1 (Genie) What is FinderFlipper? FinderFlipper is a finder extension that aids in the task of bringing windows up front. No longer will you have to move windows around in order to find one that you have buried. No longer will you have to move your mouse all the way to the Windows menu to select the window you want. How does FinderFlipper work? FinderFlipper sits around doing nothing unless you tell it >,>t  \pP 48D<@to. Once you have invoked its functionality will take the front window and push to the back or take the back window and bring it up front. Customizing FinderFlipper: FinderFlipper adds a menu item to the finders Extras menu ( FinderFlipper...). By selecting this menu item you are able to customize the functionality of FinderFlipper. You can modify the keys that invokes the functionality of FinderFlipper. The default keys are Command-TAB for a back flip and Option-TAB for a forward flip. NOTE: When the default key are selected the Key entered into the field are zeroed upon selecting the OK button. How do I install FinderFlipper? You should place the FinderFlipper finder extension file in your *:system:finderextras folder & reboot. How much does FinderFlipper cost? I am releasing FinderFlipper as Freeware. This means that I retain all rights to this software product. Hey I want to give out copies of FinderFlipper at my UserGroup, can I? FinderFlipper can be copied as many times as you want as long as no more than $2 (disks are cheap these days) are charged for copies and this document in its current form is included. FinderFlipper can not be included with any sort of comercial or non-comercial bundle with out the authors permission. (Im not really a jerk, I just want to see where its going??) Known Bugs in FinderFlipper : Sometimes FinderFlipper will only work in one direction. Program History: Version Description ------------------------------------------------------------------- 1.0 Initial Release. 1.0.1 Fixed Bug which prevented correct result return when srqgoaway was recieved. If you find any others please send me email to one of the above addresses. Disclaimer: The author (Chris Vavruska) make no warranties, either express or implied, reguardin the enclosed computer software package, its mechantability or its fitness for any particular purpose. The exclusion of implied warranties is not permitted in some states. The above exclusion may not apply to you. This warranty provides you with specific legal rights. There may be other rights that you may have which vary from state to state. 3/15/97  DD9< HT lTllTll l> l $ $$n$TD$T!T lP-TT l lT=T( T (PZ  0yuv ddd~wxuu'qlzwqw|vz{zzmdcgmx}vked\]k}~zskg|CALCCDAv '  '(CALC.CDA%r /CALC.CDA.READMEB s  T,CCalc.Cda ~ExpressLoadT } ,@Calc.Cda Calc.Cda  ,@Calc.Cda Calc.Cda  Calculator`򠠠Z_Z_Zߠߠߠߠߠ_ZZà_ZҠ_Zͫ_Zͭ_Z__Z\\\\\\\\\\\\\\\_ZZ_Z_Z_ZŠ_Zà__ZZ_Z_Z_Z_Z__ZZ_Z_Z_Z_Z__ZZ_Z_Z_Z_Z__ZZ_ZD_Z޲_Z_Z__ZLLLLLLLLLLLLLLL_LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL((((PPPP@   KH"h 0 ')@0Kh)2 xd  ~ k #  H""0') '0kj :g l ln` {){{ " "` T` T`   kp `hɫ ɭr ɱɲ)! 2  `XSNID?:50+&! Hy)Rhɰ`ɺ[H8  hp>H  hɰ *Hr0|{Thr00{0 p`ɮ* rpprH  hr]ɛ  x?ɫ(  kɽ  4 p ɭ  kɽ ɪ  kɽз ɯ  kɽЖ    kɽr o|ɽ  kp 4Lɍ     p %ɘ    p `  k "p `  k "p `  k "p `  k "p `ɫ { &ɭ ɪ ɯ  `:~&0`)60:"* ) <"kjl V I  `jl V{ I `{{r` A TH "hHi "tH"hH"v8"ڭ88Z"0' @'0`t t "v v"᭭ T`H.k "u{w} hݭk  K ĭm x`0 Z Ȁ0`HnnJh``` "` "` "` "` "` " "  o )H8h0 {0 `i00i8i0)6 " "`{JJJ}JJJͅ=̃8`0J : 00` : 00` J, :J A 0B0` :v m 0B0`"hhhHHHH"hhhh`HHHH"HH"`jl V I jj V7 I jl V} I j V I j VY I j V I j V I j V I j V I j V I j V  I j V I j V1 I j V I j VU I j V I j Vy I j V I jl V I p `{JJJ801J+}JJJ80HHH "h`u{w} 0l H"hSHHH"hz{} ͕͛ɭ0 c̟гЫ ` `0HHH "hm  c`{ {`Ha~ @EJOTY^chmrw|`  p `  k  "p(  k  "p j6l V I `  k px` i : HHH "hiJ0   ȷ  0`0   ȷ  0` E:B  B `)DB  B)?`k!HHH "hh   c`HHHHH$"zhh`@H"hHH "hͩ `@H"hHH "hͩ H "h5 HHHH " ;[+h`έ`3333333300007ww007w|000333333330000000<0<0<0000000000000<0<0<0000000000000<0<0<0000000333333330000000<0<0<0000000333333330 !*$'*-0LW\_behlou{ - #&)259QTWbhknqy~% 39EHVlt     1 + %               |  k { ~@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@ O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===N *Calculator CDA by Terry Morris v1.01 :8This is a small Classic desk accessory which copies the <:function of a pocket calculator. It goes in the Desk.Accs !subdirectory of your boot disk.>)CD.REMEMBERv '  'XCDR.DOCSP$ET$[CD.REMEMBER.Z+  *CD REMEMBER V1.0.1 Copyright 1997, Chris Vavruska Email: vavruska@mec.edu or CVAVRUSKA1 (Genie) WARNING: The following is the only documentation for the Finder Extenstion CD Remember. The author makes no claim that the documentation has been written by a professional writter. :-) What is CD Remember? Have you ever been surfing through a CD checking out what is there weaving your way through all of the directory structures....wait, something strikes your fancy, its an application...Double-click...>,>t  kp 88<@!"#$%&'().hey, this stinks or worse yet, a system crash. After you return to the finder you have to start all over surfing your way back down the directory tree to get back to the point at which you left. Well, no longer will you have to spend your time retracing your steps, let CD Remember remember where you were. CD Remember will remember folders you have open when you leave the finder until you return. In order to invoke the functionality that CD Remember give you, you must place the CD Remember finder extra into your *:system:finderextras folder. How does CD Remember work? CD Remember lies dormant while the finder is in its execution phase, when you quit (shutdown or launch an application) or start the finder is when CD Remember does its stuff. On Quit, CD Remember scans all open windows and check to see if any of them meet your preconfigured criteria, if they do then those that match are recorded into CD Remembers memory. On Startup, CD Remember recall all previously opened windows if it has been set to auto-remember on startup. How do I install CD Remember? You should place the CD Remember finder extension file in your *:system:finderextras folder, then reboot. Customizing CD Remember CD Remember adds a menu item to the finders Extras menu (CD Remember...). By selecting this menu item you are able to customize the functionality of CD Remember. What kind of devices can CD Remember remember? All Write Locked Devices or Write Locked: Floppy Drives CD-Roms SCSI Drives File Server Volumes (untested, I dont have a FS) What else can I change in CD Remember ?? The final control that can be modified in the CD Remember Dialog box is the AUTO-REMEMBER control. What this control does is tell CD Remember whether or not to auto recall its memory on finder startup or not. What are the other controls used for?? SAVE Saves any changes that you have made to the CD Remember controls. CANCEL Cancels any changes you have made to the CD Remember controls. REMEMBER NOW It allows you to recall or re-recall windows that are in CD Remembers memory. This is useful to restore windows when the auto recall control is not selected or when you wish remember again after some windows have been closed. This also closes the CD Remember dialog box with the equivilent of a CANCEL WOW! This is a great program, but how much does CD Remember cost? I am releasing CD Remember as ShareWare. If you wish to register this program then please send $15 (wow, is that all, I would have expected to pay $30 for such a product :-) to me at the following address: Chris Vavruska A13 Scotty Hollow Drive N. Chelmsford, MA 01863 If you do register please include you address as you will recieve the latest version of CD Remember on a 3.5" floppy as well as a printed manual (which will make a little more sense than this one). You will also be entitled to future versions of CD Remember at little or no charge (there maybe a charge when distribution costs are involved). Please include how you recieved CD Remember (for tracking purposes only). If you do not wish to register this program then please stop using it after 15 days. Will CD Remember ever be updated? If I have requests for additional functionality then I will release another version (as time permits). Hey I want to give out copies of CD Remember at my UserGroup, can I? CD Remember can be copied as many times as you want as long as no more than $5 are charged for copies and this document in its current form is included. CD-Remember can not be included with any other sort of comercial or non-comercial bundle with out the authors permission. (Im not really a jerk, I just want to see where its going??) Known Bugs in CD-Remember: None. If you find any please send me email to one of the above addresses. Program History: Version Description ------------------------------------------------------------------- 1.0 Initial Release. 1.0.1 Fixed Bug which prevented correct result return when srqgoaway was recieved. Disclaimer: The author (Chris Vavruska) make no warranties, either express or implied, reguardin the enclosed computer software package, its mechantability or its fitness for any particular purpose. The exclusion of implied warranties is not permitted in some states. The above exclusion may not apply to you. This warranty provides you with specific legal rights. There may be other rights that you may have which vary from state to state. 3/05/97 +,- DD`< H0T $@ l0 l| l l$ T l l l l lXTT l$T l l/T $r(T1 lJ lll> lY l l/AT lT l l$m lw#TjDT l lTNT T (P   0m " dddk (Unknow' Text)  (APW Source)  (AppleWorks) (Teach)  (AppleWorks GS)|1+A LU,C ~ExpressLoadU T(<),E ,+T(0E T(")'"\&;8 [H"i$HHHH"i$0"i$hHHHH""i$hhHH "i$hHH"k$d d d ddHiH%{iH{iH"i$ ii"+;ikC""t/% Lx DB"w***'*j***A(n(/23456789:;<=>?@D Remember... Apple~Finder~;8 [HHiHH{iH"i$H "i$"i$+;ik Apple~Finder~;8 [:"&)0:8"%i:"&)8pI0R8"%ie:"&)H:"&d{ich  HiH{iH{i H"i$8-+;ik Apple~Finder~HH"i$"i$k;8H [d LN HH"i$hhHHHHHa"i$h hi$:"&)H H<"i$:"&)H H<"i$:"&)H H<"i$:"&)H H<"i$:"&)H H<"i$:"&)H H<"i$H H<"i$H H?"i$H H?"i$H H?"i$H H?"i$H H<"i$H H<"i$H H?"i$H H?"i$H H?"i$H H?"i$:"&)H H?"i$ "i$ "i$dd ILHH{iHHd"i$hh H xH H?"i$H H?"i$H H?"i$H H?"i$xH H?"i$H H?"i$H H?"i$H H?"i$ ~H H="i$hH:"&ih  H H="i$hH:"&ih  H H="i$hH:"&ih  H H="i$hH:"&ih  H H="i$hH:"&ih  H H="i$hH:"&ih  "= " "i$  "i$"i$ JNIM+;iLk;8J [d - i /1{i+t +{i-Hh, "%i$ 5)H #({i-H1HHhiH"%{i-t{it {iHh "%i$H')#:"&)H')#H:"&)H:"&)#HAHA#H:"&)H:"&)#HA#H:"&)H:"&)#HA#H:"&)H:"&)#HAHA#iHHhH:!"&i"&h  HHh  8pI0pHHhiH:"&ch)H:!"&i"&h   k+;iJk;8p [{i HHH"k${it{iHh "%i$Y[{it_Zaʛcgʛiʛm{iYHh "%i$i$D{iHHH"k$Y[{it_Zaʛc gʛiʛm{iYHh "%i$Y[{it_Zaʛcgʛiʛm{iYHh "%i$#{it'{iHh "%i$!   ʛt{iHh "%i$!{iHh "%i$+;ipk*:system:Preferences:CDr.Prefs*:system:Preferences;8V [ {i HHH"k$ !{i t%'tC{iHh "%i$i$:"&i  :"&i  :"&i  :"&i  :"&i  :"&i  :"&i  f  GHHhh{i Hh "%i$ {iHh "%+;iVk*:system:Preferences:CDr.Prefs;8  [d  IH8 pI0ʊ#  :!"&i"&)8pI0ʊH :!"&i"&):#% Z :!"&i"&)HZ:"&cz)8d i- i  +;ik;8 [i H8"%i:"&ih  8pI0\Z:"&cz )H8"%ie:"&ih    +;i k;8. [68 ɳH " HHR"i$h h  HiH- {iH"i$i$%HH )"i$h h i#%HH *"i$h h 8pI0ʊH%#"#%#"/V:"&i  "= 08/7+;i6k Apple~Finder~;8 [hd H"i$h H"i$ ii"4 """4 " }H:"&)#"B? M   u  y H"i$   "Z$H+;ikH"i$hH<"i$k CCVs~cdrem~ ;[#+k{;8[:ڥ HH H H IH"%v H H H ;%h h h  I  $J        {i+k2%4%0%"i$k ;[I4" )d9 %% ")   +`{;8[:ڥJ       {i +k ;8[I0ȅ IdFejfFejfFejfFejfFRejfFejfFejfFejf?:I;i+ke &****;i+@k"''kH ;[FeFeFeF/eFeFeFeFe+ke+kH"';i'"v''"M'kK '''''''''''kHH;H" ;[+'hhk"(e$H"kKzh'h'h e$Zګk'''K((*(&,(k  "1CO|0S+D$[2Olb4!T+k2UA[{O[6$)7Z 1:>EI (5?I_~ =WZ]rux 6y :CTr&5[y 0Nl5 ?]{GZSdr_7TFMes[ -%Xr$ot9\H8?Eb3Cd{~ Y_grnʍ^ TWZ]`cfilor 2%Tv _ x  X *w!>aMga- J<c%%0BCDEFGHI(i  " &"Q !i h  d   P)4*NP 2(P-@(   (Devices to Remember :<C0CcCD-Roms :C0SsLocked SCSI Devices E<N0FfLocked Floppy Devices + 40AaAll Write Locked Devices +40Selected Write Locked Devices EN0VvLocked FileServer Volumes \]ed0Rr Auto-Remember on Finder Startup q(g0 Save q+0Rr Remember Now q]0CcCancel   ", T  Copyright 1997, Chris Vavruska "X;?????0 0<?0?< ???<<??<<???<<?<??< xV1.0.1 CDRemember"Copyright 1997 by Chris Vavruska CDRemember V1.0.1 by: Chris Vavruska Copyright 1997 by Chris Vavruska BACKGAMMONv'  'BACKGAMMONK))JBACKGAMMONv' J'+BAC.DOC.AWPL CCK+BAC.DOC.TXTU CCKZBACKGAMMON]m6CKFINDER.DATAhp/KMNOPQRST@O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<===@ O=====<====<====<====<====<====<====<====<====<====<====<====<====<====<====<==========================U ========================Backgammon by Bill Tudor Version 1.00 !Feb., 1991========================Copyright 1991All Rights Reserved. !Description@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~: Backgammon is SHAREWARE! You may copy, pass around, or ; otherwise distribute this as you wish. You MUST, however,; include this documentation file with the distribution. If; you really like the program and would like to see further; enhancements or programs of this type, send $10 to the < address listed below. ~~~~~~~~~~~~~~~~~~~~~ !Bill Tudor1220 Gerling StreetSchenectady, NY 12308Tel. (518) 370-3976GEnie: W.TUDOR@~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~Intro:=====PNBackgammon is an Apple IIgs New Desk Accessory (NDA) that works in either 320 NLor 640 mode. The NDA has a resource fork, and also requires System Disk 5.0 NLor greater to run. There are no other special requirements. Please remember LJto use an extended-file compatible copy utility (such as the Finder) when .moving the NDA around from folder to folder.Installation:============PNUse a resource fork compatible copy program (like ProSEL-16 or the Finder) to MKcopy the file "BACKGAMMON" to your "*:System:Desk.Accs" folder on the boot Odisk. Then, re-boot the computer to ensure the NDA gets installed. That's it. Playing: =======MDisclaimer: I am by no means an expert at Backgammon. This game is my bestL attempt to duplicate a game that I have literally played onlyK once in my life. As such, you may find it easy to defeat theL computer. Just send me your suggestions (along with the $10).OMWhen the game is selected from under the 'Apple' menu, you will be presented with a dialog box asking for: + 1 or 2 players$ + the names of the playersPNMake the appropriate selections and click OK. If you select 1 player then the computer is always player 2.MKPlayer 1 is the dark colored pieces and moves starting from the upper left MKportion of the table clockwise. Player 1 moves the light colored chips and Kstarts from the lower left portion of the table moving counter-clockwise.LJTo play, follow the instructions under the 'New Game' button. To roll the JHdice, just click on one of them (they act like buttons). To move pieces PNaround, grab them by clicking on them and holding down the mouse button, then IGdrag them to the new spot. If you attempt to make an invalid move, the Fcomputer will move the piece back to where it came from. That's all.ENote: | If you are playing against the computer and you cannot makeE | your move (e.g., dice says '6' & '6' and there are NO validE | moves of 6 places), then click the dice to let the computerI | know that you 'give up' and want the computer to take its turn.F | You can 'give up' in two player mode as well by clicking the/ | dice and letting the other player go. Quitting: ========GEThe current game may be aborted by hitting the 'New' button. To quit KIaltogether, just click the close box of the game's window (or select the !Close item from the file menu).A note about colors:===================JHAn attempt was made to make the game's colors look nice in both display NLmodes, however, since the program is an NDA, it cannot set the color pallet OM(actually it _can_, but I don't think it _should_) so you are stuck with the KIhost applications colors. In 640 mode, you may see a color change if you 2manually position the scroll bars on the window.VWXYZ[\ ======================== Backgammon by Bill Tudor Version 1.00 Feb., 1991 ======================== Copyright 1991 All Rights Reserved. Description ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Backgammon is SHAREWARE! You may copy, pass around, or otherwise distribute this as you wish. You MUST, however, include this documentation file with the distribution. If you really like the program and would like to see further enhancements or programs of this type, send $10 to the address listed below. ~~~~~~~~~~~~~~~~~~~~~ Bill Tudor 1220 Gerling Street Schenectady, NY 12308 Tel. (518) 370-3976 GEnie: W.TUDOR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Intro: ===== Backgammon is an Apple IIgs New Desk Accessory (NDA) that works in either 320 or 640 mode. The NDA has a resource fork, and also requires System Disk 5.0 or greater to run. There are no other special requirements. Please remember to use an extended-file compatible copy utility (such as the Finder) when moving the NDA around from folder to folder. Installation: ============ Use a resource fork compatible copy program (like ProSEL-16 or the Finder) to copy the file "BACKGAMMON" to your "*:System:Desk.Accs" folder on the boot disk. Then, re-boot the computer to ensure the NDA gets installed. That's it. Playing: ======= Disclaimer: I am by no means an expert at Backgammon. This game is my best attempt to duplicate a game that I have literally played only once in my life. As such, you may find it easy to defeat the computer. Just send me your suggestions (along with the $10). When the game is selected from under the 'Apple' menu, you will be presented with a dialog box asking for: + 1 or 2 players + the names of the players Make the appropriate selections and click OK. If you select 1 player then the computer is always player 2. Player 1 is the dark colored pieces and moves starting from the upper left portion of the table clockwise. Player 1 moves the light colored chips and starts from the lower left portion of the table moving counter-clockwise. To play, follow the instructions under the 'New Game' button. To roll the dice, just click on one of them (they act like buttons). To move pieces around, grab them by clicking on them and holding down the mouse button, then drag them to the new spot. If you attempt to make an invalid move, the computer will move the piece back to where it came from. That's all. Note: | If you are playing against the computer and you cannot make | your move (e.g., dice says '6' & '6' and there are NO valid | moves of 6 places), then click the dice to let the computer | know that you 'give up' and want the computer to take its turn. | You can 'give up' in two player mode as well by clicking the | dice and letting the other player go. Quitting: ======== The current game may be aborted by hitting the 'New' button. To quit altogether, just click the close box of the game's window (or select the Close item from the file menu). A note about colors: =================== An attempt was made to make the game's colors look nice in both display modes, however, since the program is an NDA, it cannot set the color pallet (actually it _can_, but I don't think it _should_) so you are stuck with the host applications colors. In 640 mode, you may see a color change if you manually position the scroll bars on the window. `o\] ,@BackGammonBackGammon]%N%##BackGammon\H**KH"h!HY"hHH"hh ""h H"hH" H"" h h "  "  " ) #" ! H H " hH"h)P-519l) a" hHH"HHK"& & t|r Kll=w5 gGF]aH_  ^abcdefghijklmn4"HH 1" hh%5)9l(.) a" hHH"HHK"4"HH 1" hh%HH"HH" e"  "  H" HH"kK$?AGCEkKOHH"HH "᭪H " H" "kKHZ/+"h k``H"!BackGammon: Fatal Error Occurred.HH"HH"HHM" " "HO"hHO"hQHH"=8HH"hh:" "#""`./HHM"H;H9HHH"hHHHH#"hh ͲVQ L9";H9HzHH"  :   =#"`8/_"h) # `GGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGHG`U 8 Z`e6G`HY"h`HH7"HH "H"h)%HH 1" hh#HH 1" hhHH32" hhHH""H" h>HHHڢ/"hǭHH "ိComputerHHF" HHS" HHH." hHHH." hHH " r:"j:"b:"`HY"hHY"hHY"h``:     =`HH!0"h% h' ' H% H"' H% H "HH"0"h% h' ' H% H"' H% H "HH%""H"h)J獚H"h)J獜͚ 0 ,+%'R!#j:"b:"HH mH1" "HH mH1" "`KW"HH":"""HH"HH"#H!H"lH:"'H%H"k w : `8` H;[zzHڠo hh+y mu u mu u $ʭw mͺ u 8u ` w q:U 1 f0F )%'Z!#j:"b:","` C 0 HHHH"8` 0b J  8 &ͨ ͨ 8`,) +,j:" :      ?`4FJ!#)%'b:"` $J 5 8 &͢ ͢ 8`,) +,j:" :      `?SJ!#)%'b:"`HHHH0"hh η`H88ʀHHH" :`9;HH;H9H0"hh  99`HiiʀHHH" :`HH"hh "᭲*Z zZ z HH"`22 64FJ!#)%'`  !0   N8  18` 0 ZJm  zhJJ `0 ZJm  z0ZJ8  z٘JhJ02  HH H H0"hh [  Ƣ,"H &"H &" :""`  8ꨩmH   m  iHHH"  ` Num:;4FJ) 0+0+0+0+ Player 1 ( Player 2 () Rolls) Moves) Wins!88.88@(]  < 0 000 <0  000 <? 72/BackGammon requires that the QuickDraw II Auxilliary toolset be active./^#0;i.P  Ok "0F 9GS  ` k$/<G(  d(oPlayer 1Computer One Player Two PlayersEasyMediumHardPlayer 1 Name:Player 2 Name: BackGammon v1.00 by Bill Tudor Shareware Fee: $10; Did you pay? BackGammon _)JF42b,) JS? j6 b0 )$ J F 4 j b j Z )3 -  b j R +)bjrSF3/zx9(:/%t') k) _M gn F >KY_pvZ^ad( !#%')+-/13579;=?ACEWZ\^`b %)4~   +1:=]ip 2]k|Dlv CFW[pxHLg5?P~ -1FNQg~:" k`SFua.]YUQMIEAi%)!JF4{d{sm\VH;! %N%)Pjq258;>ADJPVbn *KNVZeiw47:DJRWZ]bfqtx!,0 +.26:JNins{ If LZ^pt ,Sorz} 06@Dpt$(6ad #5@NS`hpy& !'*-39GR]bos~ #&)/5OSgks~  */36Vaoz !):GVi%)=AI`w_pqrstuvwxyz{|}~ ( ( (o ( ((_(( (O(((?(((/(((( o(!("(#_($(%(&(''((O()?(0g(12 3)(4Y(5y((ɬ(((A( ( Ѯ( ( !( I( q(P (P (PG (P (P (P7(P(P( P'(Pw(P(P(Pg(P(P(PW(P(P(PG( P(!P("P7(#P($Pw(%P(&P('P((P()P(0P(3PQ(4P(5Pϫ`i(`(`(`(` (`1(p(p(p(p(p9(pa(R   P PP )P8R P( BackGammon   !"#$%&'()012345PPPPPPPP PPPPPPPPPPP P!P"P#P$P%P&P'P(P)P0P123P4P5P *)F  )%  **5F  *5%  )$  )  *5$  *5  6A$  6A  BM$  BM  NY$  NY  xh  x  h    h    `k  `zk  lw  lzw  x  xz    z    z  )  z)  *5  *z5  6A  6zA  BM  BzM  NY  NzY  h)  )  *h5  *5  6hA  6A  `k$  lw$  x$  $  $  `k  lw  x      *F  *F  %  % $ $$$$333333333DDDDDDDDB33333333@DDDDDDDDB333333334 DDDDDDDD 333333330DDDDDDDDD*333333334DDDDDDDD(333333333@DDDDDDDDJ333333333DDDDDDDDB33333333@DDDDDDDDB333333334 DDDDDDDD 333333330DDDDDDDDD*333333334DDDDDDDD(333333333@DDDDDDDDJ333333333(DDDDDDDD 33333333JDDDDDDDD@333333334*DDDDDDDD 333333332DDDDDDDD@333333334DDDDDDDD333333333BDDDDDDDDJ33333333DDDDDDDD 33333333JDDDDDDD@333333334DDDDDDDD 33333333:DDDDDDDD@33333334DDDDDDDD 33333333JDDDDDDDJ33333333DDDDDDDD 33333333JDDDDDDD@333333334DDDDDDDD 33333333:DDDDDDDD@33333334DDDDDDDD 33333333JDDDDDDDJ33333330DDDDDDDD*33333333 DDDDDDDB333333330DDDDDDD@ 33333333 DDDDDDDDB33333330DDDDDDDD*33333333 DDDDDDD 33333330DDDDDDDD*33333334 DDDDDDDB33333333@DDDDDDD@ 33333333 DDDDDDDB3333333@ DDDDDDDD*33333334 DDDDDDD 33333330DDDDDDDD*33333334 DDDDDDDB33333333BDDDDDDD@ 33333333 DDDDDDDB3333333@ DDDDDDDD*33333334*DDDDDDD 33333332DDDDDDD@33333334*DDDDDDD 33333333BDDDDDDDB 33333333*DDDDDDD 3333333B DDDDDDD@33333334*DDDDDDD*33333330DDDDDDD@33333330DDDDDDD 3333333 DDDDDD 3333333 DDDDDDD 3333333 DDDDDD@33333330DDDDDD@3333333@DDDDDDDB3333333@DDDDDDD*3333334 DDDDDD 3333334 DDDDDDD*3333334 DDDDDDB3333333@DDDDDD@3333333@DDDDDDB3333333@DDDDDDD*3333334*DDDDDD 3333334 DDDDDDD*3333334 DDDDDDB3333333BDDDDDD@3333333BDDDDDD 3333333BDDDDDDD*3333334*DDDDDD* 3333334*DDDDDD@3333334*DDDDDDB3333333BDDDDDDB3333333JDDDDDD 3333333JDDDDDD@3333334DDDDDD 3333334DDDDDD@3333334DDDDDD 3333333JDDDDDDJ333333JDDDDDD 333333JDDDDD@3333330DDDDDD 3333334DDDDDD@3333334DDDDDD 333333 DDDDDDJ333333 DDDDDD*333333 DDDDD@3333330DDDDD@ 3333330DDDDDDB3333330DDDDDD 333333 DDDDDD 333334 DDDDDD*333334 DDDDDB333333@DDDDD@ 333333@DDDDDDB333333@DDDDDD*333334 DDDDDD 333334*DDDDD@333334*DDDDDB333333BDDDDDB 333333BDDDDD 333333BDDDDDD*333334*DDDDDD*333334DDDDD@333334DDDDD 333333JDDDDDJ 333333JDDDDD 333333JDDDDD@333334DDDDDD333334DDDDD@333334DDDDD 333333 DDDDDJ 333333JDDDDD 333333JDDDDD@333330DDDDDD333330DDDDDB333330DDDDD 33333 DDDDD 33333 DDDDD*33333 DDDD@333330DDDD@33333@DDDDDB333330DDDDD*33334 DDDDD 33334 DDDDD*33333 DDDDB33333@DDDD@33333@DDDDDB333330DDDDD*33334*DDDDD 33334 DDDDD*33333 DDDDB33333BDDDD@33333BDDDD 333332DDDDD*33334*DDDDD* 33334*DDDD@33333*DDDDB33333BDDDDB33333JDDDD 33333:DDDD@33330DDDDDJ 33334DDDD@33333DDDD 33333 DDDDD33333JDDDD 33333:DDDD@33330DDDDDJ 33334DDDD@33333DDDD 33333 DDDDD33333 DDDD*3333 DDD@33330DDDD 33330DDDDB33330DDDD 3333 DDDD@33334 DDDD*3333 DDDB3333BDDDD 3333@DDDDB33330DDDD*3334*DDDD@33334*DDD@3333*DDDB3333BDDDD* 3333BDDDD 33332DDDD*3334*DDDDB33334DDD@3333JDDDJ3333JDDDD 3333JDDD 33334DDDD3334DDDDJ33334DDD@3333JDDD 3333 DDDD 3333JDDD 33334DDD@3330DDDDJ33330DDDB3333 DDD 333 DDD@ 3333 DDD*33330DDD@3330DDDD 333@DDDB3334 DDD*334*DDD@ 3334 DDD*333@DDDB333BDDD 333BDDD 3334*DDD*334*DDDB 3334*DD@333BDDDB333BDDD*333JDD 3334DDD330DDDJ 3334DD@333JDDDJ333 DDD333JDD 3334DD@330DDDJ 3334DD@333JDDD 333 DDD333 DD*3330DD@332DDD 3330DDB333 DDD 333*DD@334 DD*33@DDB33BDD 33@DDB334 DD*34*DD@334*D@33BDDB33BDD* 33BDD 334*DD*34*DDB334D@33JDDJ33 DD 33JDD 334DD30DDJ334D@33JDD 33 DD 33JD 334D@30DDJ330DB33 DD 33 D@ 33 D*330D@30DD 33@DB34 DD 33*D@ 34 D*33@D@32DD 3@DB34 D*3*D@ 34 D*3@DB32D 3BD 34*D*0DB 34*@3BDB3 D*3JD 34D0DJ 34@3JDJ3 D3 *30@0D 30B3 D 3 @4 *3@@2D 3@B4 D 3*@4 *3@@2D 3@B4 D 3*@4*BB0* B 4** B4JJ0 J 4 J * * 334 DD 33@DD@33@DD 33@D@334 DD 34 DD@33334 DDD@*3333 DDD333DDDD 3333@DDD3330DDD@*3330 DDDD@33333JDDDD 3333:DDD@33334DDDDJ 33334DDD@33333DDDD 3333JDDDDD33333JDDDD 3333:DDD@33334DDDDJ 33334DDD@33333DDDD 3333JDDDDD33333JDDDD 3333:DDD@33334DDDDJ 33334DDD@33333DDDD 3333JDDDDD33334 DDDD*3333 DDDB3333@DDDD 3333@DDDB33330DDDD*3334 DDDD@3334DD@3333 DDD 333 DDDD 3333JDDD 3330DDD@3330DDDJ334 DD 33@DD@33@DD 33@D@334 DD 34 DD@ * * *** ** DD@30DD 33 DD 330 DD 33 DD@330D@33 DDDD 333 DDD 3330DDD@3333 DDD@3330DDDD 333 DDD 3330DDDDB3332DDDB3333*DDDD*3333* DDDD*3333*DDDDB3332DDDB3333*DDDD@33330DDDD@3333 DDDD 3333 DDDD 3333 DDDD@33330DDDD@33333 DDDD@33330DDDD@3333 DDDD 3333 DDDD 3333 DDDD@33330DDDD@33333 DDDD@33330DDDD@3333 DDDD 3333 DDDD 3333 DDDD@33330DDDD@33333 DDDDB3332DDDB3333*DDDD*3333* DDDD*3333*DDDDB3332DDDB3333*DD@ 30 DD 33DD330 DD33DD@ 330 D@ 33*** ** @0  0  @0  @0  0  @0  D*3*B2B3* B2D*3**2D*3*B2B3* B2D*3**2D*3*DB32B3* DB2D*3*D*32D 3 D@30@3 D@0D 3 D 30D 3 D@30@3 D@0D 3 D 30D 3 D@30@3 D@0D 3 D 30DB32DD*33*D*32 DD*3*DB32DB33*DDB32DD*33*DD*332 DD*33*DDB332DB33*DDB32DD*33*DD*332 DD*33*DDB332DB33*DD@30DD 33 DD 330 DD 33 DD@330D@33 DD@30DD 33 DD 330 DD 33 DD@330D@33 DD@30DD 33 DD 330 DD 33 DD@330D@33 DDD*333*DDD*3332DDB333* DDDB332DDD*333*DDD*3332DDD*333*DDD*3332DDB333* DDDB332DDD*333*DDD*3332DDD*333*DDD*3332DDB333* DDDB332DDD*333*DDD*3332DDD 333 DDD 3330DD@333 DDD@330DDD 333 DDD 3330DDD 333 DDD 3330DD@333 DDD@330DDD 333 DDD 3330DDD 333 DDD 3330DD@333 DDD@330DDD 333 DDD 3330DDDDB3332DDDB3333*DDDD*3333* DDDD*3333*DDDDB3332DDDB3333*DDDDB3332DDDB3333*DDDD*3333* DDDD*3333*DDDDB3332DDDB3333*DDDD@3330DDD@3333 DDDD 3333 DDDD 3333 DDDD@3330DDD@3333 DDDD@3330DDD@3333 DDDD 3333 DDDD 3333 DDDD@3330DDD@3333 DDDD@33330DDDD@3333 DDDD 3333 DDDD 3333 DDDD@33330DDDD@33333 DDDDD*33333*DDDDD*33332DDDDB33332 DDDDB33332DDDDB33333*DDDDD*333332DDDDD*33333*DDDDD*33332DDDDB33332 DDDDB33332DDDDB33333*DDDDD*333332DDDDD*33333*DDDDD*33332DDDDB33332 DDDDB33332DDDDB33333*DDDDD*333332DDDDD 33333 DDDDD 33330DDDD@33330 DDDD@33330DDDD@33333 DDDDD 333330DDDDD 33333 DDDDD 33330DDDD@33330 DDDD@33330DDDD@33333 DDDDD 333330DDDDD 33333 DDDDD 333330DDDDD@333330 DDDDD@333330DDDDD@33333 DDDDD 333330DDDDDB333332DDDDDB333333*DDDDDD*333333* DDDDDD*333333*DDDDDD*333332DDDDDB333332DDDDDB333332DDDDDB333333*DDDDDD*333333* DDDDDD*333333*DDDDDD*333332DDDDDB333332DDDDDB333332DDDDDB333333*DDDDDD*333333* DDDDDD*333333*DDDDDD*333332DDDDDB333332DDDDD@333330DDDDD@333333 DDDDDD 333333 DDDDDD 333333 DDDDDD 333330DDDDD@333330DDDDDD@3333330DDDDDD@333333 DDDDDD 333333 DDDDDD 333333 DDDDDD 3333330DDDDDD@333330DDDDDD@3333330DDDDDD@333333 DDDDDD 333333 DDDDDD 333333 DDDDDD 3333330DDDDDD@333330DDDDDDB3333333*DDDDDDD*3333332DDDDDDB3333332 DDDDDDB3333332DDDDDDB3333333*DDDDDDD*333333*DDDDDDB3333333*DDDDDDD*3333332DDDDDDB3333332 DDDDDDB3333332DDDDDDB3333333*DDDDDDD*333333*DDDDDDB3333333*DDDDDDD*3333332DDDDDDB3333332 DDDDDDB3333332DDDDDDB3333333*DDDDDDD*333333*DDDDDD@3333333 DDDDDDD 3333330DDDDDD@3333330 DDDDDD@3333330DDDDDD@3333333 DDDDDDD 333333 DDDDDD@3333333 DDDDDDD 33333330DDDDDDD@3333330 DDDDDDD@33333330DDDDDD@3333333 DDDDDDD 3333333 DDDDDD@3333333 DDDDDDD 33333330DDDDDDD@3333330 DDDDDDD@33333330DDDDDD@3333333 DDDDDDD 3333333 DDDDDDD*33333332DDDDDDDB33333332DDDDDDDD*3333333* DDDDDDDD*33333333*DDDDDDD*33333332DDDDDDDB33333332DDDDDDD*33333332DDDDDDDB33333332DDDDDDDD*3333333* DDDDDDDD*33333333*DDDDDDD*33333332DDDDDDDB33333332DDDDDDDD 333333330DDDDDDD@33333330DDDDDDDD 33333333 DDDDDDDD 33333333 DDDDDDDD 333333330DDDDDDDD@33333330DDDDDDDD 333333330DDDDDDD@33333330DDDDDDDD 33333333 DDDDDDDD 33333333 DDDDDDDD 333333330DDDDDDDD@33333330DDDDDDDD 333333330DDDDDDD@ 33333330DDDDDDDD 33333333 DDDDDDDD 33333333 DDDDDDDD333333330DDDDDDDD@33333330DDDDDDDDB333333333(DDDDDDDD 33333333(DDDDDDDDB333333332 DDDDDDDD(333333332DDDDDDDD@333333333 DDDDDDDDD(33333333*DDDDDDDDB333333333(DDDDDDDD33333333(DDDDDDDDB333333332 DDDDDDDD(333333332DDDDDDDD@333333333 DDDDDDDDD(33333333*DDDDDDDDB333333333(DDDDDDDD33333333(DDDDDDDDB333333332 DDDDDDDD(333333332DDDDDDDD@333333333 DDDDDDDDD(33333333* UUUUUUUUUwwwwwwwwwwwwwwwwwwwwwwwwwwwUUUUUUUUUwwwwwwwwwwwwwwwwwwwwwwwwwwwUUUUUUUUUwwwwwwwwwwwwwwwwwwwwwwwwwwwUUUUUUUUUwwwwwwwwwwwwwwwwwwwwwwwwwwwUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpPUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUPUUUUUUUUPpUUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUwUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUPUUUUUUPwwpUUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUwwwUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUPUUUUPwwwwpUUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUUUUUwwwwwUUUUUUwwwwwUUUUUUwwwwwUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUPUUPwwwwwwpUUPUUPwwwwwwpUUPUUPwwwwwwpUUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUUwwwwwwwUUwwwwwwwUUwwwwwwwUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUPwwwwwwwwpPPwwwwwwwwpPPwwwwwwwwpUUUUUUUUUwwwwwwwwwwwwwwwwwwwwwwwwwwwUUUUUUUUUwwwwwwwwwwwwwwwwwwwwwwwwwwwUUUUUUUUUwwwwwwwwwwwwwwwwwwwwwwwwwwwUUUUUUUUUwwwwwwwwwwwwwwwwwwwwwwwwwwwUUUUUUUUUwwwwwwwwwwwwwwwwwwwwwwwwwwwUUUUUUUUUwwwwwwwwwwwwwwwwwwwwwwwwwww2 2 [ [ [ [ [ [ [ # .#` j !  !  !  !  !  !  !  !  !  !  !  !  !  !  "  "   "  "  "  "  "  "  "   "   "   "   "   "  HelpNew Game90~BackGammon v1.00 by Bill Tudor Copyright (c) 1991 Select 'New Game' to start a new game. Follow the message instruction below the 'New Game' button. Play Backgammon by dragging the chips around the game board with the mouse. Click on one of the Dice icons to roll the dice. An invalid move is indicated by a speaker beep. ~^#690~BackGammon v1.00 by Bill Tudor Copyright (c) 1991 Player 1 uses the dark colored chips, and moves from the upper left portion of the screen clockwise. Player 2 uses the light colored chips and moves from the lower left corner of the table counter-clockwise around the table. ~^#690~BackGammon v1.00 by Bill Tudor Copyright (c) 1991 Backgammon is ShareWare. Please send $10 to the following: 1220 Gerling Street Schenectady, NY 12308 GEnie: W.TUDOR~^#024~Backgammon: Quit current game?~#3~^#2=qp0>*B BAC.DOC.AWP BAC.DOC.TXT BACKGAMMONASCII.HELPERv'  ',ASCII.HELPER  . 'READ.ME& & T,CASCII.HELP ~ExpressLoadT S5n ,@ASCII.HELPASCII.HELPS ,@ASCII.HELPASCII.HELPS- ,S ASCII Helper v1.11\H**KH "hIKMHHIH "hOKMZa"s u K"f i Ty Hw H" THy Hw H" Tm o wkKIH"u Hs H "kK HO[h  0+kku ڭs HH0"hw y `u Hs H"``w HHu ڭs H"h  Hy Hw H"y Hw H"HHy Hw H*"h{ } 8 |B"u Hs H" wu Hs H""` w`H"h)JJJJJ a"h H H"H  "h쭇 H H "`""hQIHOiH"H"h轙 H(! " wQ""᭝ `  i i z % >^9 M f R"8"H Y"hq  #  #  H H"` "  N nN nN nN nN nN nN nN nN ni i  HHo Hm H "᭎`J8f y Hw H"`8 IHy ڭw H"`f j )h V *ν ο  %% + ˭ "  " ` h % )  h  % )h  ' ' ` X )   ) ) ν ο  л'  Щ Ф`%'" " L8` i i `" ' ) "  m m q ` 3 5 7  9 99  .;Mi9i<OiQKKK`KHQHOH &" M< 0<= 0= " +G8`" `H" !(h`q Ho Hm H"`,0hPM8 ASCII Helper H -] $About)&! Choose File tMCreate new file t}New file is text ~ Remove LF"+~ Remove CR-6~ Remove all Control8A~9 Swap LF and CR DN) P , ,  ASCII Helper version 1.11 Copyright and Written by Clayburn W. Juniel, III 1928 E. Camelback RD. Apt #623 Phoenix AZ, 85016-4143 Phone: (602)274-6905 GEnie: C.Juniel Internet: Clay1@primenet.com If you find this program useful send $5.00 to the author. Also all comments are welcome.x  13~Job complete~^Done9=BGRnqv  2D[_ptx|-CFILs) '*@FK\cfkpux~7  #&),/258;>ADGJMPSVY`cilptx$-47DKNSX[^cip}* $(+.147:?BJMPSVY^cflt{!%02468:<>@BDFHJLNPRTVX-9     3 9   w}GM!]-H  ^! +<i9    $    {9 ! p w Z S, - ASCII Helper version 1.10 Written by Clayburn W. Juniel, III Effective Software Solutions ASCII helper is a New Desk Accesory (NDA) that is to be used on ASCII text files. It can remove line feeds, carriage returns, or all other control characters. It can also swap line feeds and carriage returns. When it removes other control characters it does not remove line feeds or carriage returns. It will also work if high bits are set or clear. You can choose to save the converted data to another file or the same file. I suggest you save the data to a new file (the default), unless the file is very large and disk space is limited. version 1.10 Additions: There is now a check box which lets you save a new file as a text file version 1.11 Bug fixes: The Standard File tool is now started if it isn't already. AND NOW FOR THE IMPORTANT STUFF: This program is shareware. If you continue to use it, you must pay $5 dollars to Effective Software Solutions. Effective Software Solutions Clayburn W. Juniel, III Custom Software Design 1928 E. Camelback Rd. #623 Phone: (602)274-6905 Phoenix, AZ 85016-4143 USA Fax: (602)274-6851 Internet: clay1@primenet.com WWW: hpt//www.primenet.com/~clay1 c.juniel@genie.geis.com FTP: ftp.primenet.com users/c/clay1W3 tSTAKHatw   >D>t   Tq^j vG/$0$k) J*:This Freeware stack updates the HyperCard Home stack s  !"#$%&'()*+,-./012DDDDDDDDDDDDDDDDDDPPPUPUPPPUPUdFDffDFdFdfDDfdFdFDffDFdFdfDDfdFODDOwwwwwwwwaaaaaaaaaaaaaaaaOOOOOOOOOOOOOOOOuuuuWWWWuuuuWWWWuuuuWWWWuuuuWWWWoooooooooooooooounction findStackPath fn_theValue -- v1.0 -- Input fields: -- fn_theValue: the long name of a stack -- Output: -- This function returns the path of a stack. -- by Brendan Bellina 3/93 (Requires HyperCard GS v1.1) put the itemDelimiter into fn_savedDelimiter set itemDelimiter to colon delete last item of fn_theValue set itemDelimiter to quote delete first item of fn_theValue set itemDelimiter to fn_savedDelimiter return fn_theValue end findStackPath function removePath fn_theValue -- v1.0 -- Input fields: -- fn_theValue: a path and file name (exp ":HD1:Apps:HyperCard") -- Can be in ProDOS, GS/OS, and HFS formats -- Output: -- This function returns the name of a file without the path. -- (exp "HyperCard") -- by Brendan Bellina 3/93 (Requires HyperCard GS v1.1) put the itemDelimiter into fn_savedDelimiter if fn_theValue contains colon then set itemDelimiter to colon else set itemDelimiter to "/" put last item of fn_theValue into fn_theValue set itemDelimiter to fn_savedDelimiter return fn_theValue end removePath function locateFile fn_theValue,fn_theType -- v1.2 -- (requires function "removePath" by B. Bellina) -- Input fields: -- fn_theValue: a path and file name (exp ":HD1:Apps:HyperCard") -- Can be in ProDOS, GS/OS, and HFS formats -- fn_theType: an optional filetype # of the file to locate -- Output: -- This function attempts to locate the file specified. If the file -- does not exist as specified by the given path, then a -- standard file dialog will allow the user to specify the -- real path. If an optional filetype is specified then the dialog -- will be limited to files of that type. If no filetype is -- specified then all files will be displayed. -- The path and name of the located file will be returned. -- The return will be empty if the file dialog is cancelled. -- by Brendan Bellina 3/93 (Requires HyperCard GS v1.1) if char 1 to 2 of fn_theValue "*:" and char 1 to 2 of fn_theValue "/:" then open file fn_theValue read from file fn_theValue for 1 put It into temp if It is empty then close file fn_theValue delete file fn_theValue end if else put empty into temp end if if temp is empty then put removePath(fn_theValue) into tempIn repeat if fn_theType is not empty then answer file "Where is" && quote & tempIn & quote & "?" of type fn_theType else answer file "Where is" && quote & tempIn & quote & "?" end if if It is empty then put empty into fn_theValue exit repeat else put It into tempOut put tempOut into tempOutSave put removePath(tempOut) into tempOut if tempOut tempIn then next repeat else put tempOutSave into fn_theValue exit repeat end if end if end repeat else close file fn_theValue end if return fn_theValue end locateFile nd locateFile colon into fn_newValue end if end if repeat with position = 1 to length of fn_theValue if char position of fn_theValue is fn_oldValue then put fn_newValue into char position of fn_theValue end if end repeat return fn_theValue end convertOSPath function getVolume fn_theValue -- v1.0 -- Input fields: -- fn_theValue: a path and file name (exp ":HD1:Apps:HyperCard") -- Can be in ProDOS, GS/OS, and HFS formats -- Output: -- This function returns the volume of a file. (exp ":HD1") -- by Brendan Bellina 3/93 (Requires HyperCard GS v1.1) if fn_theValue contains colon then put colon into fn_OSDelimiter else put "/" into fn_OSDelimiter end if put the itemDelimiter into fn_savedDelimiter repeat if first char of fn_theValue fn_OSDelimiter then delete char 1 of fn_theValue else exit repeat end if end repeat set itemDelimiter to fn_OSDelimiter put fn_OSDelimiter & item 2 of fn_theValue into fn_theValue set itemDelimiter to fn_savedDelimiter return fn_theValue end getVolume function locateFile fn_theValue,fn_theType -- v1.2 -- (requires function "removePath" by B. Bellina) -- Input fields: -- fn_theValue: a path and file name (exp ":HD1:Apps:HyperCard") -- Can be in ProDOS, GS/OS, and HFS formats -- fn_theType: an optional filetype # of the file to locate -- Output: -- This function attempts to locate the file specified. If the file -- does not exist as specified by the given path, then a -- standard file dialog will allow the user to specify the -- real path. If an optional filetype is specified then the dialog -- will be limited to files of that type. If no filetype is -- specified then all files will be displayed (this didn't -- work properly in v1.0). -- The path and name of the located file will be returned. -- The return will be empty if the file dialog is cancelled -- (in v1.0 it returned "Cancel"). -- by Brendan Bellina 3/93 (Requires HyperCard GS v1.1) if char 1 to 2 of fn_theValue "*:" and char 1 to 2 of fn_theValue "/:" then open file fn_theValue read from file fn_theValue for 1 put It into temp if It is empty then close file fn_theValue delete file fn_theValue end if else put empty into temp end if if temp is empty then put removePath(fn_theValue) into tempIn repeat if fn_theType is not empty then answer file "Where is" && quote & tempIn & quote & "?" of type fn_theType else answer file "Where is" && quote & tempIn & quote & "?" end if if It is empty then put empty into fn_theValue exit repeat else put It into tempOut put tempOut into tempOutSave put removePath(tempOut) into tempOut if tempOut tempIn then next repeat else put tempOutSave into fn_theValue exit repeat end if end if end repeat else close file fn_theValue end if return fn_theValue end locateFile file fn_theValue delete file fn_theValue end if else put empty into temp end if if temp is empty then put removePath(fn_theValue) into tempIn repeat if fn_theType is not empty then answer file "Where is" && quote & tempIn & quote & "?" of type fn_theType else answer file "Where is" && quote & tempIn & quote & "?" end if if It is empty then put empty into fn_theValue exit repeat else put It into tempOut put tempOut into tempOutSave put removePath(tempOut) into tempOut if tempOut tempIn then next repeat else put tempOutSave into fn_theValue exit repeat end if end if end repeat else close file fn_theValue end if return fn_theValue end locateFile ---------------------- End of Stack Script -----------------Where is" && quote & tempIn & quote & "?" of type fn_theType else answer file "Where is" && quote & tempIn & quote & "?" end if if It is empty then put empty into fn_theValue exit repeat else put It into tempOut put tempOut into tempOutSave put removePath(tempOut) into tempOut if tempOut tempIn then next repeat else put tempOutSave into fn_theValue exit repeat end if end if end repeat else close file fn_theValue end if return fn_theValue end locateFile ---------------------- End of Stack Script ----------------- then answer "This stack is read-only. You cannot add Link" && "buttons." with "Cancel" else if the userLevel < 4 then answer "You are about to create a button that, when" && "clicked, will start a HyperCard GS stack. If you want to" && "continue, click OK. If you don't, click Cancel." with "OK" or "Cancel" if it is "Cancel" then exit doMenu end if setLink "HyperCard Stack","85","Hypermedia 3D" end if else if whichItem is "Link to Document..." then if the cantModify of this stack then answer "This stack is read-only. You cannot add Link" && "buttons." with "Cancel" else if the userLevel < 4 then answer "You are about to create a button that, when" && "clicked, will open a document. If you want to" && "continue, click OK. If you don't, click Cancel." with "OK" or "Cancel" if it is "Cancel" then exit doMenu end if setLink "Document","any","Document 3D" end if else if whichItem is "Link to Menu Command..." then if the cantModify of this stack then answer "This stack is read-only. You cannot add Link" && "buttons." with "Cancel" else if the userLevel < 4 then answer "You are about to create a button that, when" && "clicked, will execute a menu command. If you want to" && "continue, click OK. If you don't, click Cancel." with "OK" or "Cancel" if it is "Cancel" then exit doMenu end if setLink "Menu Command","entry","Menu Option" end if else if whichItem is "Add Page" then if the cantModify of this stack then answer "This stack is read-only. You cannot add pages." with "Cancel" else set the cursor to watch put "1" into SecurityLevel set lockErrors to true doMenu "New Card" set lockErrors to false end if else if whichItem is "Delete Page" then send deletePage to this background else if whichItem is "Mark Page..." then send createMarker to this background else if whichItem is "Quit No Worries" then if checkSecurity() 1 then if fileExists("frontEnd.14") then answer "Quit to Home, Launching Program, or ScriptC?" with "Home" or "Launcher" or "ScriptC" if it is "ScriptC" then ScriptC exit to HyperCard end if else answer "Quit to Home or the Launching Program?" with "Cancel" or "Home" or "Launcher" end if if it is "Home" then go "Home" else if it is "Launcher" then put "1" into SecurityLevel set lockErrors to true doMenu "Quit HyperCard" set lockErrors to false end if end if else if whichItem is "About HyperCard IIGS..." then pass doMenu else if temp_SecurityLevel = "1" or ProtectMenus is false then pass doMenu else if checkSecurity() 1 then pass doMenu end if end if end if end doMenu on setLink sub_theDesc,sub_theType,sub_theIcon global SecurityLevel if sub_theType is "any" then answer file "Create a Link to which" && sub_theDesc & "?" else if sub_theType is "entry" then ask "Create a Link to which" && sub_theDesc & "?" else answer file "Create a Link to which" && sub_theDesc & "?" of type sub_theType end if if it is empty then exit setLink put it into sub_linkName -- If BASIC program, then find BASIC.System if sub_theType is "252" then put cd fld "BASIC Path" of cd "Prefs" in bg "Other" into temp if temp is empty then -- try to figure out the location from the stack location put getVolume(long name of this stack) into BASIC_path else put cd fld "BASIC Path" of cd "Prefs" in bg "Other" into BASIC_path -- clear it in case it's bad put empty into cd fld "BASIC Path" of cd "Prefs" in bg "Other" end if put convertOSPath(BASIC_path,"GSOS") & colon & "BASIC.System" into temp set lockErrors to true put locateFile(temp,255) into temp set lockErrors to false if temp is empty then exit setLink put findPath(temp) into BASIC_path put BASIC_path into cd fld "BASIC Path" of cd "Prefs" in bg "Other" end if -- If Document, then select GS/OS application to use if sub_theDesc is "Document" then answer file "Select application to open document with:" of type application if it is empty then exit setLink put it into sub_docApplName end if set cursor to watch put the userLevel into sub_oldLevel set userLevel to 5 lock screen put removePath(sub_linkName) into sub_buttonName put "1" into SecurityLevel doMenu "New Button" -- SetLink script is in a hidden field on card "Prefs" put cd fld "SetLink Text" of cd "Prefs" in bg "Other" into sub_linkScript -- Construct the command lines for each button type if sub_theDesc is "GS/OS Application" then put "put " & quote & sub_linkName & quote & " into tempItem" & return & "if tempItem removePath(tempItem) then" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & removePath(tempItem) & quote & " & quote & " into tempItem" & quote & " into line 8 of tempScript" & return & "set the script of me to tempScript" & return & "end if" & return & "set lockErrors to true" & return & "put locateFile(tempItem," & sub_theType & ") into linkedItem" & return & "set lockErrors to false" & return & "if linkedItem is empty then exit mouseUp" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & linkedItem & quote & " & quote & " into tempItem" & quote & " into line 8 of tempScript" & return & "set the script of me to tempScript" & return & "open linkedItem" & return before line 8 of sub_linkScript else if sub_theDesc is "ProDOS Application" then put "put " & quote & sub_linkName & quote & " into tempItem" & return & "if tempItem removePath(tempItem) then" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & removePath(tempItem) & quote & " & quote & " into tempItem" & quote & " into line 8 of tempScript" & return & "set the script of me to tempScript" & return & "end if" & return & "set lockErrors to true" & return & "put locateFile(tempItem," & sub_theType & ") into linkedItem" & return & "set lockErrors to false" & return & "if linkedItem is empty then exit mouseUp" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & linkedItem & quote & " & quote & " into tempItem" & quote & " into line 8 of tempScript" & return & "set the script of me to tempScript" & return & "open linkedItem" & return before line 8 of sub_linkScript else if sub_theDesc is "BASIC Program" then put "put " & quote & convertOSPath(sub_linkName,"ProDOS") & quote & " into tempItem" & return & "if tempItem removePath(tempItem) then" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & removePath(tempItem) & quote & " & quote & " into tempItem" & quote & " into line 8 of tempScript" & return & "set the script of me to tempScript" & return & "end if" & return & "set lockErrors to true" & return & "put locateFile(tempItem," & sub_theType & ") into linkedItem" & return & "set lockErrors to false" & return & "if linkedItem is empty then exit mouseUp" & return & "put convertOSPath(linkedItem," & quote & "ProDOS" & quote & ") into linkedItem" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & linkedItem & quote & " & quote & " into tempItem" & quote & " into line 8 of tempScript" & return & "set the script of me to tempScript" & return & "put " & quote & convertOSPath(BASIC_path,"ProDOS") & "/" & "BASIC.System" & quote & " into tempItem" & return & "if tempItem removePath(tempItem) then" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & removePath(tempItem) & quote & " & quote & " into tempItem" & quote & " into line 22 of tempScript" & return & "set the script of me to tempScript" & return & "end if" & return & "set lockErrors to true" & return & "put locateFile(tempItem,255) into BASICItem" & return & "set lockErrors to false" & return & "if BASICItem is empty then exit mouseUp" & return & "put convertOSPath(BASICItem," & quote & "ProDOS" & quote & ") into BASICItem" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & BASICItem & quote & " & quote & " into tempItem" & quote & " into line 22 of tempScript" & return & "set the script of me to tempScript" & return & "put findPath(BASICItem) into cd fld " & quote & "BASIC Path" & quote & " of cd " & quote & "Prefs" & quote & " in bg " & quote & "Other" & quote & return & "XDocMsg linkedItem" & return & "open BASICItem" & return before line 8 of sub_linkScript else if sub_theDesc is "HyperCard Stack" then put "put " & quote & sub_linkName & quote & " into tempItem" & return & "if tempItem removePath(tempItem) then" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & removePath(tempItem) & quote & " & quote & " into tempItem" & quote & " into line 8 of tempScript" & return & "set the script of me to tempScript" & return & "end if" & return & "set lockErrors to true" & return & "put locateFile(tempItem," & sub_theType & ") into linkedItem" & return & "set lockErrors to false" & return & "if linkedItem is empty then exit mouseUp" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & linkedItem & quote & " & quote & " into tempItem" & quote & " into line 8 of tempScript" & return & "set the script of me to tempScript" & return & "go to stack linkedItem" & return before line 8 of sub_linkScript else if sub_theDesc is "Document" then put "put " & quote & sub_linkName & quote & " into tempItem" & return & "if tempItem removePath(tempItem) then" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & removePath(tempItem) & quote & " & quote & " into tempItem" & quote & " into line 8 of tempScript" & return & "set the script of me to tempScript" & return & "end if" & return & "set lockErrors to true" & return & "put locateFile(tempItem,) into linkedItem" & return & "set lockErrors to false" & return & "if linkedItem is empty then exit mouseUp" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & linkedItem & quote & " & quote & " into tempItem" & quote & " into line 8 of tempScript" & return & "set the script of me to tempScript" & return & "put " & quote & sub_docApplName & quote & " into tempItem" & return & "if tempItem removePath(tempItem) then" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & removePath(tempItem) & quote & " & quote & " into tempItem" & quote & " into line 21 of tempScript" & return & "set the script of me to tempScript" & return & "end if" & return & "set lockErrors to true" & return & "put locateFile(tempItem,179) into docItem" & return & "set lockErrors to false" & return & "if docItem is empty then exit mouseUp" & return & "put the script of me into tempScript" & return & "put " & quote & "put " & quote & " & quote & docItem & quote & " & quote & " into tempItem" & quote & " into line 21 of tempScript" & return & "set the script of me to tempScript" & return & "open linkedItem with docItem" & return before line 8 of sub_linkScript else if sub_theDesc is "Menu Command" then put "put " & quote & sub_linkName & quote & " into linkedItem" & return & "put " & quote & "1" & quote & " into SecurityLevel" & return & "set lockErrors to true" & return & "doMenu linkedItem" & return & "set lockErrors to false" & return before line 8 of sub_linkScript end if -- Some of this handler is modeled after the Home stack code set the script of last button to sub_linkScript set the rect of last btn to 138,86,182,121 set the style of last btn to transparent set the icon of last btn to sub_theIcon set the name of last btn to sub_buttonName set the showName of last btn to false choose browse tool set userLevel to sub_oldLevel unlock screen set cursor to arrow put "Drag the button to the desired location..." repeat until the mouse is down -- flash the button set hilite of last card button to not hilite of last card button wait 4 ticks end repeat set hilite of last btn to true repeat while the mouse is down set loc of last btn to the mouseLoc end repeat put gridLoc(loc of last btn) into gridLocTemp put char 2 to (length(gridLocTemp) -1) of gridLocTemp into gridLocTemp -- strip off quotes set loc of last btn to gridLocTemp set hilite of last btn to false put empty into msg hide msg -- Create the field under the button for the button title -- set cursor to watch put the userLevel into sub_oldLevel set userLevel to 5 lock screen choose field tool put loc of last btn into btnLoc put btnLoc into fldLoc add 26 to item 2 of fldLoc put "Title " & the id of last btn into sub_fldName put trunc(length(sub_buttonName) * 4) + 10 into sub_fWidth if sub_fWidth > 75 then put 75 into sub_fWidth end if put "1" into SecurityLevel doMenu "New Field" -- SetLinkFld script is in a hidden field on card "Prefs" put cd fld "SetLinkFld Text" of cd "Prefs" in bg "Other" into sub_linkScript set the script of last cd fld to sub_linkScript set the height of last cd fld to 12 set the width of last cd fld to sub_fWidth set the loc of last cd fld to fldLoc set the style of last cd fld to rectangle set the name of last cd fld to sub_fldName set the dontSearch of last cd fld to false set the lockText of last cd fld to true set the textAlign of last cd fld to "center" put sub_buttonName into cd fld sub_fldName choose browse tool set userLevel to sub_oldLevel unlock screen end setLink function gridLoc fn_xy_coor -- takes the specified location and finds the nearest grid loc put item 1 of fn_xy_coor + 10 into fn_x_coor put item 2 of fn_xy_coor + 10 into fn_y_coor put fn_x_coor/5 into fn_x_coor put fn_y_coor/5 into fn_y_coor put round(fn_x_coor) * 5 - 10 into fn_x_new put round(fn_y_coor) * 5 - 10 into fn_y_new put quote & fn_x_new & "," & fn_y_new & quote into fn_gridLoc return fn_gridLoc end gridLoc function checkSecurity fn_Request -- if a parm is passed, then return security status -- return 0 if security requirements are met, else return 1 global SetUpMode, DisableSecurity, MasterPassword, Clue put 1 into fn_theValue if SetUpMode is empty and DisableSecurity is false and MasterPassword is not empty and the UserLevel < 5 then if fn_Request is empty then if Clue is not empty then if length of Clue is 1 and charToNum(first char of Clue) is 13 then ask "Enter Password:" else ask "Clue:" && Clue & return & "Enter Password:" end if else ask "Enter Password:" end if if It is MasterPassword then put 0 into fn_theValue else if It is not empty then answer "Invalid password." with "Sorry" end if end if end if else put 0 into fn_theValue end if return fn_theValue end checkSecurity function findStackPath fn_theValue -- v1.0 -- Input fields: -- fn_theValue: the long name of a stack -- -- Output: -- This function returns the path of a stack. -- -- by Brendan Bellina 3/93 (Requires HyperCard GS v1.1) -- v1.0 published in Script-Central 4/93 put the itemDelimiter into fn_savedDelimiter set itemDelimiter to colon delete last item of fn_theValue set itemDelimiter to quote delete first item of fn_theValue set itemDelimiter to fn_savedDelimiter return fn_theValue end findStackPath function findPath fn_theValue -- v1.0 -- Input fields: -- fn_theValue: a path and file name (exp ":HD1:Apps:HyperCard") -- Can be in ProDOS, GS/OS, and HFS formats -- -- Output: -- This function returns the path of a file (exp ":HD1:Apps") -- -- by Brendan Bellina 3/93 (Requires HyperCard GS v1.1) -- v1.0 published in Script-Central 4/93 put the itemDelimiter into fn_savedDelimiter if fn_theValue contains colon then set itemDelimiter to colon else set itemDelimiter to "/" delete last item of fn_theValue set itemDelimiter to fn_savedDelimiter return fn_theValue end findPath function removePath fn_theValue -- v1.0 -- Input fields: -- fn_theValue: a path and file name (exp ":HD1:Apps:HyperCard") -- Can be in ProDOS, GS/OS, and HFS formats -- -- Output: -- This function returns the name of a file without the path. -- (exp "HyperCard") -- -- by Brendan Bellina 3/93 (Requires HyperCard GS v1.1) -- v1.0 published in Script-Central 4/93 put the itemDelimiter into fn_savedDelimiter if fn_theValue contains colon then set itemDelimiter to colon else set itemDelimiter to "/" put last item of fn_theValue into fn_theValue set itemDelimiter to fn_savedDelimiter return fn_theValue end removePath function convertOSPath fn_theValue,fn_theOper -- v1.0 -- Input fields: -- fn_theValue: a path and file name (exp ":HD1:Apps:HyperCard" or -- "/HD1/BASIC.System") -- Can be in ProDOS, GS/OS, and HFS formats -- fn_theOper: "GSOS" to force conversion to GS/OS (HFS) format -- "ProDOS" to force conversion to ProDOS format -- Blank to convert to the opposite format -- -- Output: -- This function converts the path of a file to GS/OS (HFS) format -- or ProDOS format from either GS/OS (HFS) format or ProDOS -- format. (exp "/HD1/Apps/HyperCard" or ":HD1:BASIC.System") -- -- by Brendan Bellina 3/93 (Requires HyperCard GS v1.1) -- v1.0 published in Script-Central 4/93 if fn_theOper = "ProDOS" then -- output ProDOS format put colon into fn_oldValue put "/" into fn_newValue else if fn_theOper = "GSOS" then -- output GSOS format put "/" into fn_oldValue put colon into fn_newValue else -- Convert GSOS to ProDOS or ProDOS to GSOS if fn_theValue contains colon then put colon into fn_oldValue put "/" into fn_newValue else put "/" into fn_oldValue put colon into fn_newValue end if end if repeat with position = 1 to length of fn_theValue if char position of fn_theValue is fn_oldValue then put fn_newValue into char position of fn_theValue end if end repeat return fn_theValue end convertOSPath function getVolume fn_theValue -- v1.0 -- Input fields: -- fn_theValue: a path and file name (exp ":HD1:Apps:HyperCard") -- Can be in ProDOS, GS/OS, and HFS formats -- -- Output: -- This function returns the volume of a file. (exp ":HD1") -- -- by Brendan Bellina 3/93 (Requires HyperCard GS v1.1) -- v1.0 published in Script-Central 4/93 if fn_theValue contains colon then put colon into fn_OSDelimiter else put "/" into fn_OSDelimiter end if put the itemDelimiter into fn_savedDelimiter repeat if first char of fn_theValue fn_OSDelimiter then delete char 1 of fn_theValue else exit repeat end if end repeat set itemDelimiter to fn_OSDelimiter put fn_OSDelimiter & item 2 of fn_theValue into fn_theValue set itemDelimiter to fn_savedDelimiter return fn_theValue end getVolume function locateFile fn_theValue,fn_theType -- v1.1 -- (requires function "removePath" by B. Bellina) -- Input fields: -- fn_theValue: a path and file name (exp ":HD1:Apps:HyperCard") -- Can be in ProDOS, GS/OS, and HFS formats -- fn_theType: an optional filetype # of the file to locate -- -- Output: -- This function attempts to locate the file specified. If the file -- does not exist as specified by its specified path, then a -- standard file dialog will be presented to allow the user to -- locate the file and determine the real path. If an optional -- filetype is specified then only files of that type will be -- displayed in the standard file dialog. If no filetype is -- specified then all filetypes will be displayed (this didn't -- work properly in v1.0). -- The path and name of the located file will be returned. -- The return will be empty if the file dialog is cancelled -- (in v1.0 it returned "Cancel"). -- -- by Brendan Bellina 3/93 (Requires HyperCard GS v1.1) -- v1.0 published in Script-Central 4/93 if char 1 to 2 of fn_theValue "*:" and char 1 to 2 of fn_theValue "/:" then open file fn_theValue read from file fn_theValue for 1 put It into temp if It is empty then close file fn_theValue delete file fn_theValue end if else put empty into temp end if if temp is empty then put removePath(fn_theValue) into tempIn repeat if fn_theType is not empty then answer file "Where is" && quote & tempIn & quote & "?" of type fn_theType else answer file "Where is" && quote & tempIn & quote & "?" end if if It is empty then put empty into fn_theValue exit repeat else put It into tempOut put tempOut into tempOutSave put removePath(tempOut) into tempOut if tempOut tempIn then next repeat else put tempOutSave into fn_theValue exit repeat end if end if end repeat else close file fn_theValue end if return fn_theValue end locateFile ---------------------- End of Stack Script -----------------MASTwkzLISTDPAGE v㏔Uϛg.]QOGɪM߸o+o?3@BKGDw w w `BMAPOOOO*@.CARD w  b# &  New Buttonon mouseUp answer "Quit to Home or the Launching Program?" with "Cancel" or "Home" or "Launcher" if it is "Home" then go "Home" else if it is "Launcher" then doMenu "Quit HyperCard" end if end mouseUp <8 ExplanationjFZ5 INSTALL Bkon mouseDown -- do nothing end mouseDown on mouseUp put the short name of me into temp put the number of chars in temp into temp2 subtract 3 from temp2 put char 1 to temp2 of temp into tempButton if the visible of cd btn tempButton is true then click at the loc of cd btn tempButton end if end mouseUp JU( INSTALLon mouseDown lock screen put the short name of the target into targetBtn put targetBtn && "Bk" into Corr_Btn set the icon of cd button Corr_Btn to "NeXT.Btn.In.Def" hide cd btn targetBtn play "Button Click" "d4" unlock screen repeat while the mouse is down if the mouseLoc is not within the rect of cd btn targetBtn then exit repeat end repeat lock screen show cd btn targetBtn set the icon of cd button Corr_Btn to "NeXT.Btn.Out.Def" play "Button Click" "c4" unlock screen -- Perform button action here -- put the script of stack "Home" into origScript if origScript contains "DrawHCExtrasMenu" then answer "The HC Extras Menu has already been installed into the " & "Home stack." exit mouseDown end if set the cursor to busy put "Updating stack. Please wait..." into msg show msg -- Update the original startUp handler (in memory) put "on startUp" into searchLine put "Updating startUp handler..." repeat with foundLine = 1 to number of lines in origScript if line foundLine of origScript is searchLine then exit repeat end repeat if foundLine = number of lines in origScript then hide msg answer "The startUp handler is missing. Unable to install " & "the HC Extras Menu." exit mouseDown end if if first word of line foundLine + 1 of origScript is "getHomeInfo" and word 1 to 2 of line foundLine + 2 of origScript is "pass startUp" and word 1 to 2 of line foundLine + 3 of origScript is "end startUp" then put "DrawHCExtrasMenu" & return before line foundLine + 2 of origScript else hide msg answer "The startUp handler has been previously modified. " & "Unable to install the HC Extras Menu." exit mouseDown end if -- Update the original resume handler (in memory) put "on resume" into searchLine put "Updating resume handler..." repeat with foundLine = 1 to number of lines in origScript if line foundLine of origScript is searchLine then exit repeat end repeat if foundLine = number of lines in origScript then hide msg answer "The resume handler is missing. Unable to install " & "the HC Extras Menu." exit mouseDown end if if first word of line foundLine + 1 of origScript is "getHomeInfo" and word 1 to 2 of line foundLine + 2 of origScript is "pass resume" and word 1 to 2 of line foundLine + 3 of origScript is "end resume" then put "DrawHCExtrasMenu" & return before line foundLine + 2 of origScript else hide msg answer "The resume handler has been previously modified. " & "Unable to install the HC Extras Menu." exit mouseDown end if -- Update the original quit handler (in memory) put "on quit" into searchLine put "Updating quit handler..." repeat with foundLine = 1 to number of lines in origScript if line foundLine of origScript is searchLine then exit repeat end repeat if foundLine = number of lines in origScript then hide msg answer "The quit handler is missing. Unable to install " & "the HC Extras Menu." exit mouseDown end if if word 1 to 2 of line foundLine + 1 of origScript is "lock screen" and first word of line foundLine + 2 of origScript is "setHomeInfo" and word 1 to 2 of line foundLine + 3 of origScript is "pass quit" and word 1 to 2 of line foundLine + 4 of origScript is "end quit" then put "UnDrawHCExtrasMenu" & return before line foundLine + 3 of origScript else hide msg answer "The quit handler has been previously modified. " & "Unable to install the HC Extras Menu." exit mouseDown end if -- Update the original suspend handler (in memory) put "on suspend" into searchLine put "Updating suspend handler..." repeat with foundLine = 1 to number of lines in origScript if line foundLine of origScript is searchLine then exit repeat end repeat if foundLine = number of lines in origScript then hide msg answer "The suspend handler is missing. Unable to install " & "the HC Extras Menu." exit mouseDown end if if first word of line foundLine + 1 of origScript is "setHomeInfo" and word 1 to 2 of line foundLine + 2 of origScript is "pass suspend" and word 1 to 2 of line foundLine + 3 of origScript is "end suspend" then put "UnDrawHCExtrasMenu" & return before line foundLine + 2 of origScript else hide msg answer "The suspend handler has been previously modified. " & "Unable to install the HC Extras Menu." exit mouseDown end if -- Make sure no doMenu, DrawHCExtrasMenu, UnDrawHCExtrasMenu -- handlers already exist (in memory). put "Adding new handlers... (this may take a minute)" repeat with foundLine = 1 to number of lines in origScript put line foundLine of origScript into temp if first word of temp is "on" and "*doMenu*DrawHCExtrasMenu*UnDrawHCExtrasMenu*" contains "*" & second word of temp & "*" then hide msg answer "Handler " & second word of temp & " already exists. " & "Unable to install the HC Extras Menu." exit mouseDown end if end repeat -- Add the new handlers (in memory) put the script of cd fld "New Handlers" after origScript -- Write the new script to disk set the script of stack "Home" to origScript ----------------- hide msg answer "Update completed." end mouseDown 2 A= New Handlers on DrawHCExtrasMenu global HCExtrasMenu if HCExtrasMenu is not empty then deleteMenu HCExtrasMenu put empty into HCExtrasMenu end if put addMenu(" Extras ", "Open HyperCard Stack..." & return & "Launch GS/OS Application..." & return & "Launch ProDOS Application..." & return & "Launch BASIC Program..." & return & "Open Document..." & return & "-" & return & "Edit Card Script" & return & "Edit Background Script" & return & "Edit Stack Script" & return & "-" & return & "Edit ColorSet" & return & "Edit Cursor" & return & "-" & return & "About the Extras menu..." & return & "Refresh the Extras menu") into HCExtrasMenu show menubar end DrawHCExtrasMenu on UnDrawHCExtrasMenu global HCExtrasMenu deleteMenu HCExtrasMenu put empty into HCExtrasMenu show menubar end UnDrawHCExtrasMenu on doMenu whichItem -- Requires XDocMsg XCMD to launch BASIC programs. if whichItem is "About the Extras menu..." then answer " * * * H C E X T R A S M E N U * * *" & return & return & "Copyright (c) 1994 by B. Bellina" & return & return & "This menu allows common tasks to be performed from" && "within any stack. The script for this menu is" && "in the Home stack." else if whichItem is "Refresh the Extras menu" then UnDrawHCExtrasMenu DrawHCExtrasMenu else if whichItem is "Open HyperCard Stack..." then answer file "Open which HyperCard stack?" of type stack if it is not empty then go to stack it end if else if whichItem is "Launch GS/OS Application..." then answer file "Launch what GS/OS application?" of type 179 if it is not empty then open it end if else if whichItem is "Launch ProDOS Application..." then answer file "Launch what ProDOS application?" of type 255 if it is not empty then open It end if else if whichItem is "Launch BASIC Program..." then answer file "Launch what BASIC Program?" of type 252 if it is not empty then repeat with position = 1 to length of It if char position of It is ":" then put "/" into char position of It end repeat put It into II_temp answer file "Locate BASIC.System..." of type 255 if it is not empty then XDocMsg II_temp open It end if end if else if whichItem is "Open Document..." then answer file "Open what document?" if it is not empty then put It into II_temp answer file "Use what application?" of type 179 if it is not empty then open II_temp with it end if else if whichItem is "Edit ColorSet" then send "editColorSet" to stack "scriptersTools" else if whichItem is "Edit Cursor" then send "editCursor" to stack "scriptersTools" else if whichItem is "Edit Card Script" then edit the script of this card else if whichItem is "Edit Background Script" then edit the script of this background else if whichItem is "Edit Stack Script" then edit the script of this stack else pass doMenu end if end doMenu  ~%  Infoon mouseUp answer " H C E x t r a s M e n u I n s t a l l e r" & return & return & "Author: B. Bellina Date: 2/26/94" & return & "Version: 1.00 Freeware" & return & "Number of cards: " & the number of cards & return & "Size in stack: " & round(Size of this stack/1024) & "K Free in stack: " & round(freeSize of this stack/1024) & "K" end mouseUp Installer for the HyperCard Extras Menu 2/94 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ This installs the scripts into the Home stack necessary to create an Extras pull-down menu which will be available in all HyperCard stacks. *** Preparation prior to install *** Just in case of installation error, use the Finder to copy the Home Stack prior to running this install. Prior to installing these scripts, the XCMD deleteMenu and the XFCN addMenu in Apple's Scripter's Tools stack must be installed into the Home stack. (Because resCopy cannot install resources into the currently active Home stack, use Finder to duplicate the Home stack, then use Scripter's Tools to install the resources into the duplicate, then use Finder to delete the original Home stack and rename the duplicate to "Home".) If you wish to launch BASIC programs from the Extras menu then you should also install the XCMD XDocMsg into the Home stack. *** What happens during the install *** The following existing handlers will be modified: startup quit suspend resume The following handlers will be added: DrawHCExtrasMenu UnDrawHCExtrasMenu doMenu If any of the handlers to be modified have been modified previously in the Home stack script then the install will abort. If any of the handlers to be added already exist in the Home stack script then the install will abort. *** What happens after the install *** After the install completes quit HyperCard. When you reenter HyperCard the Extras menu will be added to the menubar. The script for creating the menu and its actions is in the Home stack script, so adding new actions to the Extras menu only requires minor changes in the DrawHCExtrasMenu and doMenu handlers in the Home stack. ------------------------------------------------ ------------------------------------------------ If you would like to make the modifications manually, do the following (NOTE: THIS IS SUGGESTED FOR EXPERIENCED SCRIPTERS ONLY): - Install the necessary XCMDs and XFCNs from the Scripter's Tools stack into the Home stack. - Paste all of the handlers in hidden cd fld "New Handlers" at the end of the Home stack script. - Add the command DrawHCExtrasMenu into the "startUp" and "resume" handlers in the Home stack script prior to the "pass" statement. - Add the command UnDrawHCExtrasMenu into the "quit" and "suspend" handlers in the Home stack script prior to the "pass" statement. ------------------------------------------------ ------------------------------------------------ Brendan Bellina 2/94 New Handlers ~~~~~~~~~~~ This contains the new handlers to add to the Home stack.MPRT  PRNT Untitled3Missing dr 2?  TAILThat's all folks...456789:;o that an Extras menu is created which will be available in all stacks. The menu comes with several commands and can be further customized with HyperTalk. GEnie: B.Bellina AOL: BBellina Internet: b.bellina@genie.geis.comis.comHCGS Extras Menu Installer(Copyright (c) 1994 by Brendan T. BellinaL *** *******************************  No Worries%Copyright (c) 1993 by Brendan Bellina|x|tjr~ptrf`O_oX@OP&?ȦztwpPCWoа@WwhFWgd@ 3Wwƴp@WwpP0?O_pppdXW_dcpsp[oж`@'?Wwgljgrtvzz{{`0#X_{xy`@KX[o}h(/`@;_ȸ@'KSopPWmv`]hch`PI_Ȱ`KewxdL_p,_@'oԴ@_@64?W_o@?x`gȰH)LDG_`Zddmpnj`L_ tddT0?o²b"WʴpZR2 ƴp@ +pP?а@ .?_}}}}}}}} Button ClickNeXT.Btn.Out.DefNeXT.Btn.In.Defv<33333333333333333333333333300 000000000000000000000000 030333333333333333333333333330v<333333333333333333333333333?03030303030303030303030303<030333333333333333333333333330$HyperTalk Tutor 101 Lesson 2 Install