ACE-128/64 Release 9 [December 1, 1993] ------------------------------------------------------------------------------ 1. INTRODUCTION ACE is a program for the Commodore 128 and Commodore 64 that provides a command shell environment that is similar to the Unix's. It is still in the development stage, but enough of it is complete to be useful. BTW, "ACE" means "Advanced Computing Environment" (well, advanced for the 128/64). This release contains a number of improvements over the previous release. - user-definable device letters. - custom console (screen and keyboard) driver, faster & better. - more system calls for screen control. - date & time support for CMD device directory listings. - additional apps: xls, forty, eighty, wrap, crc32b, mv, unbcode, bcode. - Zed demo a little more complete. - screen saver for 40-column screen. There are also a dis-improvement over the previous release: there is only very limited command line editing (the DEL key). This is because I didn't want to spend a lot of time on the line editing for the new console driver. The next release will include full current line editing plus history scrolling through the previous N (option) entered lines. This distribution consists of a metric boatload of files. System files: ace - the kernel bootstrapper; can be run from either 64 or 128 mode ace128 - the kernel for the 128 ace64 - the kernel for the 64 config - the configuration initializer sh - the command shell config.sys - the system configuration - this is data not an executable config.edit - configuration editor program (written in BASIC) ace-charset - character set - you can replace it with your own IYW Application programs (explained in Section 6.3): cp - copy files rm - remove files (scratch) mv - rename files (named for Unix "mv"=="move") xls - directory lister, displays dates uuencode - encode files into uuencoded format uudecode - decode files from uuencoded format bcode - encode files into BCODE format unbcode - decode files from BCODE format crc32 - display CRC-32 *B* values for files (new standard) crc32a - display CRC-32 *A* values for files (old standard) wc - count words, lines, characters of files grep - search for a substring in files (from Unix "grep") tr - translate from one character set to another sort - sort files wrap - wrap lines longer than 75 characters date - display current date and time fast - go into 2 MHz mode on the 128 slow - go into 1 MHz mode on the 128 forty - switch to 40-col screen, slow mode eighty - switch to 80-col screen, fast mode on 128 read - read files mem - display available dynamic and transient program area memory as - DEMO assembler: only tokenizer implemented vi - DEMO "Zed" text editor: displays screen, loads and prints file This file contains these binary programs in a uuencoded archive format. The uudecode program included here will decode this format of archive, but that is probably of no use to you unless you are able to Catch 22. You may have to use the uudecoder on your Unix system or use "uuxfer" for the C64. You may have to split the uuarchive up into separate files for uudecoding. The next release of this system will be in BCODE format. Note that the "ace128" and "ace64" programs are functionally identical, except that one is set up for the 128 and the other for the 64. Thus, all of the appication binary programs will work with either "ace128" or "ace64". LOAD and RUN the "ace" program and it will load the correct "kernel" for your computer. The Buddy assembler source code files are not included here, but I will Email them to anyone who asks for them. They are getting a bit bulky, about 310K. For people wanting a little technical information, the memory map and kernel interface "header" file are included here. They are both subject to change at my whim. The current RAM0 memory utilization is as follows: $0002-$007f = application zero-page storage (0.12K) $0080-$00ff = system zero-page storage (0.13K) $0100-$01ff = processor stack (0.25K) $0200-$0eff = system storage (3.25K) $0f00-$0fff = kernel interface variables (0.25K) $1000-$12ff = system storage (0.75K) $1300-$1fff = shell program (3.25K) $2000-$27ff = character set (2K) $2800-$5fff = ACE kernel and device drivers (14K) - unused space free $6000-$bfff = application area & stack (24K) $c000-$ffff = ROM and I/O, RAM (16K) - free ;===ace system interface declarations=== zp = $fa ;(4) zw = $fe ;(2) syswork = $80 ;(16) aceCallBase = $2800 reboot = aceCallBase+0 ;( ) open = aceCallBase+3 ;( (zp)=Name, .A=Mode ) : .A=Fcb close = aceCallBase+6 ;( .A=Fcb ) read = aceCallBase+9 ;( .X=Fcb, (zp)=Buf, .AY=Len ) : .AY=Len, .Z write = aceCallBase+12 ;( .X=Fcb, (zp)=Buf, .AY=Len ) isdir = aceCallBase+15 ;( (zp)=Name ) : .A=Dev, .X=isDisk, .Y=isDir bload = aceCallBase+18 ;( (zp)=Name, .AY=Address ) : .AY=End+1 cmdopen = aceCallBase+21 ;( (zp)=DevName ) : .A=Fcb cmdclose = aceCallBase+24 ;( .A=Fcb ) cmdsend = aceCallBase+27 ;( .X=Fcb, .AY=Cmd ) cmdstatus = aceCallBase+30 ;( .X=Fcb, .AY=StatBufPtr ) : StatBuf, .A=statusCode diropen = aceCallBase+33 ;( (zp)=DevName ) : .A=Fcb dirclose = aceCallBase+36 ;( .A=Fcb ) dirread = aceCallBase+39 ;( .X=Fcb ) : direntBuffer, .Z=eof fcbswap = aceCallBase+42 ;( .X=Fcb1, .Y=Fcb2 ) remove = aceCallBase+45 ;( (zp)=Name ) rename = aceCallBase+48 ;( (zp)=Name, (zw)=NewName ) chdir = aceCallBase+51 ;( (zp)=DirName ) zpload = aceCallBase+54 ;( [zp]=Source, .X=ZpDest, .Y=Length ) zpstore = aceCallBase+57 ;( .X=ZpSource, [zp]=Dest, .Y=Length ) fetch = aceCallBase+60 ;( [zp]=FarSource, (zw)=Ram0Dest, .AY=Length ) stash = aceCallBase+63 ;( (zw)=Ram0Source, [zp]=FarDest, .AY=length ) pagealloc = aceCallBase+66 ;( .A=PageCount ) : [zp]=FarPointer pagefree = aceCallBase+69 ;( [zp]=FarPointer, .A=PageCount ) exit = aceCallBase+72 ;( .A=exitCode, .X=exitBufDataLen ) devinfo = aceCallBase+75 ;( .X=Fcb ) : .A=DevType, .X=Cols, .Y=Rows stopkey = aceCallBase+78 ;( ) : .CC=notPressed utoa = aceCallBase+81 ;( $0+X=value32, ($80)=buf, .A=minLen ) :buf, .Y=len getdate = aceCallBase+84 ;( (.AY)=dateString ) : dateString setdate = aceCallBase+87 ;( (.AY)=dateString ) exec = aceCallBase+90 ;( (.AY)=addr ) : .A=exitCode cdhome = aceCallBase+93 ;( ) winmax = aceCallBase+96 ;( ) wincls = aceCallBase+99 ;( .A=char, .Y=color, .X=char:$80/attr:$40 flags ) winset = aceCallBase+102 ;( .Y=scrRow, .X=scrCol, .A=rows, syswork=cols ) winsize = aceCallBase+105 ;( ) : ^^^,(sw+2)=addr,(sw+4)=rowinc,(sw+6)=savesize winload = aceCallBase+108 ;( [zp]=farAddr ) winsave = aceCallBase+111 ;( [zp]=farAddr, .A=attrFlag ) winput = aceCallBase+114 ;( (sw+0)=addr,(zw)=charPtr,.A=attr,.Y=color,.X=len ; sw+4=fillChar, sw+5=fieldLen ) wincolor = aceCallBase+117 ;( .X=screen, .Y=border, .A=which ) : .X=scr, .Y=bor winpos = aceCallBase+120 ;( .A=row, .X=col ) : (sw+0)=addr wincursor = aceCallBase+123 ;( (sw+0)=addr, .Y=color, .A=$ff:on/$00:off) winscroll = aceCallBase+126 ;( .A=$80/$40:char/attr+$01:up/down, .X=rows, ; sw+4=fillChar, .Y=fillColor ) getkey = aceCallBase+129 ;( ) : .A=key concolor = aceCallBase+132 ;( .A=which, .X=char, .Y=cursor ) : .X=char,.Y=cursr conpalette = aceCallBase+135 ;( ) : sw+0...sw+7=palette [8 colors] conscreen = aceCallBase+138 ;( .A=cols ) conpos = aceCallBase+141 ;( .A=row, .X=col ) ;**NOT IMPLEMENTED aceStatusBase = $f00 errno = aceStatusBase+0 ;(1) aceID = aceStatusBase+2 ;(2) aceArgc = aceStatusBase+4 ;(2) aceArgv = aceStatusBase+6 ;(2) aceStackPtr = aceStatusBase+8 ;(2) aceFramePtr = aceStatusBase+10 ;(2) aceStackTop = aceStatusBase+12 ;(2) aceShellPath = aceStatusBase+14 ;(2) aceShellAlias = aceStatusBase+16 ;(2) aceCurrentDevice = aceStatusBase+18 ;(1) aceCurDirName = aceStatusBase+20 ;(2) aceDate = aceStatusBase+22 ;(4) YYYY:MM:DD aceDOW = aceStatusBase+26 ;(1) 1-7,1=Sun aceProcessID = aceStatusBase+27 ;(1) aceFreeMemory = aceStatusBase+28 ;(4) aceTotalMemory = aceStatusBase+32 ;(4) aceInternalBanks = aceStatusBase+36 ;(1/2wasted) aceInternalCur = aceStatusBase+39 ;(1) aceRam0Freemap = aceStatusBase+40 ;(2) aceRam1Freemap = aceStatusBase+42 ;(1) aceReuStart = aceStatusBase+43 ;(1) aceReuBanks = aceStatusBase+44 ;(1) aceReuCur = aceStatusBase+45 ;(1) aceRamlinkStart = aceStatusBase+46 ;(2) aceRamlinkBanks = aceStatusBase+48 ;(1) aceRamlinkCur = aceStatusBase+49 ;(1) aceRamlinkReuStart = aceStatusBase+50 ;(2) aceRamlinkReuBanks = aceStatusBase+52 ;(1) aceRamlinkReuCur = aceStatusBase+53 ;(1) aceVirtualParts = aceStatusBase+54 ;(1) aceRestoreStack = aceStatusBase+55 ;(1) ;aceDirentBuffer = aceStatusBase+92 aceJunk = aceStatusBase+92 aceDirentBytes = aceJunk+0 ;(4) aceDirentDate = aceJunk+4 ;(8) = YY:YY:MM:DD:HH:MM:SS:TW aceDirentType = aceJunk+12 ;(4) aceDirentFlags = aceJunk+16 ;(1) = drwx*-mt aceDirentNameLen = aceJunk+17 ;(1) aceDirentName = aceJunk+18 ;(17) aceDirentLength = 35 aceShellAddress = $1300 aceAppAddress = $6000 aceID1 = "c" aceID2 = "B" aceID3 = 9 aceMemNull = $00 aceMemREU = $01 aceMemInternal = $02 aceMemRLREU = $06 aceMemRL = $07 aceMemTypes = 8 aceErrStopped = 0 aceErrTooManyFiles = 1 aceErrFileOpen = 2 aceErrFileNotOpen = 3 aceErrFileNotFound = 4 aceErrDeviceNotPresent = 5 aceErrFileNotInput = 6 aceErrFileNotOutput = 7 aceErrMissingFilename = 8 aceErrIllegalDevice = 9 aceErrWriteProtect = 26 aceErrFileExists = 63 aceErrFileTypeMismatch = 64 aceErrNoChannel = 70 aceErrInsufficientMemory = 128 aceErrOpenDirectory = 129 aceErrNoFreeFcbs = 130 aceErrDiskOnlyOperation = 131 aceErrNullPointer = 132 aceErrInvalidFreeParms = 133 aceErrFreeNotOwned = 134 stdin = 0 stdout = 1 stderr = 2 ;===end of ace interface declarations=== ------------------------------------------------------------------------------ 2. USING THE SYSTEM When ACE starts, it loads and executes the command shell (among other things), gives you a prompt and waits for you to give it a command. A command has the following format: programname arg1 arg2 ... argN The programname can be any of the following built-in commands (covered in Section 6.1): echo - print the given arguments to stdout clear - clear the screen cls - same as "clear" directory - clear the screen and give a long-form directory listing dir - same as "directory" d - same as "directory", but no clear screen ls - give a multi-column short-form directory listing clsl - combination of "cls" and "ls" cd - change the current device/directory g - same as "cd" cat - display the named files to stdout type - same as "cat" t - same as "cat" exit - exit from the command shell back to BASIC x - same as "exit" dos - give a Commodore dos command to the current device (OPEN1,dv,15..) @ - same as "dos" path - set the path to search for external programs sh - invoke the shell again as a sub-shell or programname can be for any of the external programs provided with this distribution. You'll have to forgive my personal taste in command names and abbreviations (until the "alias" shell feature is implemented). 2.1. INPUT/OUTPUT REDIRECTION The three Unix standard files are supported: stdin - where the default input comes from (usually the keyboard) stdout - where the default output goes to (usually the screen) stderr - where error messages are sent to (usually the screen) To temporarally redirect these standard file streams for the execution of a command, you can use the following incantations on a command line: outfile - redirect stdout - output put into file "outfile" >>outfile - redirect stdout - same as ">" but the output is appended to file >&errfile - redirect stderr - error output is put into "errfile" >>&errfile - redirect stderr - error output is appended to file "errfile" Do not put a space between the redirection symbol(s) and the file name. 2.2. PATHNAMES Whenever you specify a file, you use a "pathname". Pathnames have the following optional parts: [device:][ramlink-directory:][filename] Device names are set by the user in the configuration file, but the factory defaults are: "k:" - Commodore device #0 - the keyboard "s:" - Commodore device #3 - the screen ("k:" and "s:" are exactly synonymous) "p:" - Commodore device #4 - the printer, with SecAddr 7 - output only "q:" - Commodore device #4 - the printer, with SecAddr 5 - transparent mode "a:" - Commodore device #8 - a disk drive - input/output "b:" - Commodore device #9 - a disk drive - if you have >1 drive ... "j:" - Commodore device #17 - a disk drive ".:" - the "current" disk device CMD RAMLink (or CMD HardDrive) directory names have the following formats: "//dir/:" - a subdirectory of the root directory "/dir/:" - a subdirectory of the current directory "4//dir/dir/ ... /dir/:" - a sub-path of the root directory of partition #4 "/dir/dir/ ... /dir/:" - a sub-path of the current directory And filenames have the usual Commodore format of 1 to 16 characters. Thus, the following are valid pathnames for files: k: - the keyboard for input p: - the printer for output b:file1 - "file1" on disk device #9 .:file1 - "file1" on the current disk device file1 - "file1" on the current disk device /dir1/file1 - "file1" in the RamLink subdirectory "dir1" a://dir1/dir2/:file1 - "file1" in the RamLink subdir "//dir1/dir2", device #8 And the following are valid pathnames for directories: a: - disk device #8 current directory .: - current disk device's current directory .://dir1/: - "dir1" off the root directory of the current RamLink device /dir1/dir2/: - subdirectory "/dir1/dir2" of the current RamLink device Note that a directory name always ends with a ":". You may append a ",p" or ",s" or ",u" to a filename to specify whether a PRG, SEQ, or USR file should be accessed/created. By default, ACE will create SEQ files. BTW, to generate an EOF for keyboard input, simply press Control-D. Only do this at the beginning of a blank line. 2.3. COMMAND SHELL ARGUMENTS Arguments that contain spaces must be put into quotes. Multiple quoted strings can be placed side-by-side to produce a longer string. The following are examples of valid command shell arguments: hello - hello 'hello' - hello "hello there" - hello there 'hello there' - hello there 'she said, "how'"'s that"'"'' to me.' - she said, "how's that" to me. Command shell arguments are separated by spaces or tab characters. 2.4. EXTERNAL COMMAND SEARCH PATH The "path" command sets or displays the current search pathnames for external programs. By default the paths to search are "a:" and ".:". The path consists of multiple directory names to be checked, in order, for each binary executable or shell script that you give that does not have a pathname prefix. 2.5. WILDCARDS Unix-style wildcard expansion is supported. When you enter an argument with an asterisk in the filename component of the pathname, the command shell will automatically expand that name into an argument for each file in the specified directory that matches that pattern. The expanded arguments are then passed onto the command you are invoking as if you had typed them all in yourself. For example: ARGUMENT EXPANSION -------- --------- * file1 prog1,p prog2,p ch* chess,p chinese_checkers,p *.bin main.bin,p data.bin anagram.bin a*n anagram.bin an another_plan b:a*.bin b:main.bin,p b:data.bin b:anagram.bin c://games/:a*.bin c://games/:acrobat.bin,p c://games/:acrodata.bin You'll note that program files are expanded to include a ",p". If a pattern does not expand to anything, an error message is displayed and the shell command is not executed. You'll have to cursor-up and change the command. Your filename pattern can include only one asterisk (anywhere in the name). Some example uses of wildcard expansion with the provided utilities follow: cp b:* a: cp //games/c64/:chess*.bin somefile b://games/: wc *.asm *.c ------------------------------------------------------------------------------ 3. SYSTEM CONFIGURATION The program entitled "config.edit" is used for editing the system configuration. The system will be configured according to the data in the file "config.sys" every time it starts up. Note that "config.sys" is a loadable binary PRG file; it is not in text format and is not meant to be edited with a text editor. The following data are included in the "config.sys" file: OFF SIZ DESC --- --- ---- $00 128 device descriptors, 32 entries of four bytes each. [For each entry, offsets: 0=device driver type, 1=device address, 2=secondary address, 3=flags. Described further below.] $80 1 ramlink device number [The kernel device number of your RAMLink. The default RL device number is 16.] $81 1 ramlink last logical bank allowed to use plus one (norm 255) [For the RAMLink memory partition (next section), the maximum number of 64K chunks that can be used for dynamic memory.] $82 4 real-time clock devices to check [4], $FF=unused [These are the kernel device numbers of CMD disk drive units that have a built-in real-time clock to check for the current time. If the first entry fails, then the second will be tried, etc., until the fourth entry is tried. If all devices fail to return a time, then the default date is used (next). A value of $FF in an entry means to try the next entry. ACE uses the TOD clock of CIA#1 to keep time. The date is stored in a regular memory field and is not rolled on a 24-hour TOD clock wrap-around.] $86 8 default date YY:YY:MM:DD:HH:MM:SS:TW [The default date to use if attempts to access the current time from CMD disk devices fail. Format is 24-hour BCD. All four digits of the year are given. The "TW" field means tenths of seconds in the high nybble and the day-of-week in the low nybble. For days of the week, 0 means "unknown", 1 means "Sunday", etc., and 7 means "Saturday". The factory-set value of this field is 12am, Friday, Jan 1, 1993.] $8E 1 screen saver activation time, in minutes (norm 10) [The screen will go black when the screen saver is activated, after a period where you have not pressed any key for the specified time, until you press a key (including the any of the shift keys). If you press any character key, that key will appear in your input. Normal processing will continue in the background, while the screen saver is active, including printing to the screen. This time is in minutes. A value of zero means to disable the screen saver. Currently, the screen saver is only active for the 40-column display.] $90 16 initial current directory string (default "a:") [Immediately after booting and before calling the shell, the kernel will do a change directory to the null-terminated string given here.] $A0 1 C128 bank1 start free page (norm $04) [This field and the next define the pages of RAM1 that ACE is allowed to use. This must include at least one page.] $A1 1 C128 bank1 last free page plus one (norm $ff) $A3 1 C128 bank0 last allowed free page plus one (norm $ff) [This is the highest page, plus one, on RAM0 that ACE is allowed to use. You can set this to protect a program that you wish to attempt to use with ACE (good luck). There is no minimum page that ACE is allowed to use; it takes whatever it wants below $6000.] $A5 1 C128 last internal bank allowed to use above 2, plus one (norm 8) [For expanded internal memory (a la TwinCities-128), this sets the high limit on the banks that ACE is allowed to use. A value of 2 means that ACE is not allowed to use it at all. There is no low limit on this because it caused too many programming problems.] $A6 1 C128 first REU bank allowed to use (norm 0) [This and the next field define the minimum and maximum (plus one) REU bank numbers that ACE is allowed to use. I included a minumum because of pleas about Zed having a minimum. If you set both min and max to $00, then ACE will leave the REU memory alone. Otherwise, ACE will auto-detect how much you have and will make use of as much REU memory as it can (note the default max is 255).] $A7 1 C128 last REU bank allowed to use plus one (norm 255) $A8 1 C128 top page of TPA (stack) (norm $c0) [This defines that page (plus one) of the top of the application program area (TPA). The bottom is $6000, so a top of $C000 gives apps 24K to play around in. $C0 is the maximum value this field can have, since the Commodore Kernal must (for this release) stay in context whenever ACE is in use. The top of this space is also used as the "argument stack" for applications.] $B0 8 C128 80-col screen color palette: table of eight RGBI codes. [This table gives the palette of colors to be used by C128 80-col applications. The meanings of the values stored at the offsets are: 0=char, 1=cursor, 2=status, 3=separator, 4=highlight, 5=alert, 6=border, 7=screen. The char, border, and screen colors are used when the screen driver is initialized. The border value for the 80-col screen is currently ignored. Note that RGBI codes are used, even for the VIC chip (for consistency). The factory defaults for char, screen, and border are light grey on black for 80 and light green on dark grey with a medium grey border for the 40 (perhaps a bit icky). The other values are chosen accordingly. The palettes for the other displays have the same structure as this one.] $B8 8 C128 40-col color palette $C1 1 C64 last allowed page free plus one (norm $ff) [This gives the top page, plus one, that ACE is allowed to use on the 64. Don't set this lower than the top of the TPA area.] $C2 1 C64 first REU bank allowed to use (norm $00) [Like the C128 settings, you can set the usage for the REU memory.] $C3 1 C64 last REU bank allowed to use (norm $ff) $C5 1 C64 end expanded internal memory banks plus one (norm $04) [This field is currently ignored.] $C6 1 C64 top page of TPA (stack) (norm $c0) [Top of the TPA for the 64. You can set this between $61 and $D0.] $C7 1 C64 screen color: RGBI code $C8 1 C64 border color: RGBI code $C9 1 C64 cursor color: RGBI code $D0 8 C64 80-col color palette [For the bitmapped hi-res 80-col screen, which is not yet implemented.] $D8 8 C64 40-col color palette $E0 32 initial shell path string (default "a:", ".:") [The paths to use to search for executable programs. Each directory name is a null-terminated string, and the list of paths is terminated by an empty string.] The offsets from $00 to $7F contain 32 four-byte fields, which are used to define the devices in the system. These fields will correspond to device names "@:", "A:", "B:", ..., "Z:", "[:", "\:", "]:", "^:", and "_:" (forgive the non-letter device names). The four fields will be defined as follows: 0 device driver type (0=Kernal non-disk, 1=Kernal disk, 2=console) 1 device primary address / whatever 2 device secondary address / whatever 3 flags / whatever ($80 for a disk will means that it has a CMD Real-Time clock) The factory defaults are: devices "a" to "j" are Commodore disk devices 8 to 17, respectively, "p" is device number 4 with secondary address 7, "q" is device number 4 with secondary address 5 (which is transparent mode with many printer interfaces, with which you'd use the "tr" utility to translate files into Ascii-CrLf format), and devices "k" and "s" refer to the custom console (screen and keyboard) driver. To spare you the agony of editing this binary configuration manually, the BASIC program "config.edit" can be used instead. Run it from BASIC, not from inside of ACE. In fact, you should run this before running ACE the first time to set up the configuration. The program provides a full-screen interface. Move the cursor among the fields on each page and among the pages (10 of them) to set the values. All values are in decimal (except the strings). Then save the new configuration, exit, and run ACE. If you screw up the new "config.sys", the previous one will be available in "config.sys.bak". ------------------------------------------------------------------------------ 4. DYNAMIC MEMORY After you have configured ACE for your system, if you have a RAMLink, you will have to configure it for ACE if you want to use RAMLink RAM or indirect REU access. The way that ACE detects these types of memory is via the RL-DOS partition table. For RAMLink RAM, ACE will check for partition number 31 being a Foreign Mode (Direct Access) partition with the name "rl-ram". If it is, then ACE will get the information for that partition to determine the size and start address (in RL memory). It will then check the limit for usage of RL-RAM in the "config.sys" file, and adjust the size it can use accordingly, before initializing the memory. To set up this partition on your RAMLink in the first place, refer to your RAMLink documentation and use the tools program provided with it. Using REU (Ram Expansion Unit) memory with ACE is pretty easy; you just make sure it is plugged into the computer when ACE is started. ACE will auto- detect the size of the REU and then check the configuration for limitiations on REU usage. If you have your REU plugged into your RAMLink in the memory port (rather than the pass-through port), and you have the Normal/Direct switch thrown to the Normal position, then your machine cannot access REU memory in the usual way. The only way to access it is to go through the RAMLink. ACE will look for partition number 30 being Direct Access and named "indirect-reu" for this purpose. If your Normal/Direct switch is in the Direct position, then ACE will use the REU directly and will ignore the "indirect-reu" partition. Do not change the position of the Normal/Direct switch while ACE is in action. The tricky part here is in configuring your RAMLink. You have to make sure that the memory allocated to the "indirect-reu" partiton is the memory of the REU. RAMLink memory starts from $000000 and goes up to $FFFFFF. REU memory will be at the very front of this memory (from address $000000), and the internal RAMLink memory will follow immediately after this. For example, I have a 512K REU and an 8 Meg RAMLink, so my REU memory covers at RL addresses $000000-$07FFFF, and my internal RL memory covers RL addresses $080000-$87FFFF. When partitioning the device, partitions are assigned memory from lower addresses to higher addresses. So, starting with an empty RL (no partitions), you must create the "indirect-reu" partition first, followed by any RL-DOS partitions and the "rl-ram" partition. You must also make sure that the "indirect-reu" partition is the same size as your REU. 512K is 2048 blocks. A note for deleting RL partitions: delete the ones that were last allocated first. You have the option of installing or not installing either of these partitions. If either is missing, ACE will simply work without it. You'll want to be careful about throwing the Direct switch if you don't have your REU "protected" with an "indirect-reu" partition. (with other REU applications also). One note about using RAMLink memory: ACE can transfer data from it at a rate of 16 microseconds/byte (63,920 bytes/sec), but the cost of starting each transfer is 1 millisecond (which is absolutely terrible). Comparatively, an REU will transfer at a rate of 1 microsecond/byte (1 Meg/sec), with a setup cost of about 60 microseconds. So, you'll get the best performance out of your REU by accessing it directly, rather than indirectly through a RAMLink. For internal memory, the 64 has only one 64K internal bank, whereas your 128 can have either 2, 4, or 8 (128K, 256K, or 512K). The internal 128 memory above 128K are accessed according to the articles in TwinCities-128 Magazine. Since I don't have expanded internal memory for my 128, I haven't been able to test the expanded internal memory code. Hopefully, someone will let me know if it doesn't work. If it doesn't, then set your configuration to disallow the use of the expanded internal memory. When ACE starts, it determines the size of internal and REU memory by writing special values in the same locations of each bank and looking for readback failures or wrap-arounds. However, after testing a bank, the original contents of the test locations are restored. So, the testing process is completely non-destructive. ------------------------------------------------------------------------------ 5. DEVICES 5.1. COMMODORE CHARACTER DEVICES These are regular Commodore character-oriented devices, which really only includes the printer right now. The standard Kernal calls are made for all I/O. These devices will behave the same way they always have. 5.2. COMMODORE DISK DEVICES Regular Commodore disk units are accessed in the same way as character- oriented Commodore devices, except that disk devices also support special operations such as directory listings. The standard Kernal calls are used and so are the standard Commodore-DOS incantations for operations such as deleting (scratching) a file. You can use the "dos" command of the command shell to send special Commodore-DOS commands directly to these devices. 5.3. CMD DISK DEVICES For CMD disk devices, support has been added to the kernel to request a "long-form" directory listing, including the date and time of last modification of all files. This allows ACE to pass this information onto application programs that request a directory listing from the CMD device. Special support is also included for interpreting directory and pathnames. The rest of accessing CMD disk devices is handled exactly the same as for regular Commodore disk devices. 5.4. SCREEN The screen has a custom device driver for the 40-column (VIC) screen of both the C128 and C64 and the 80-column (VDC) screen of the C128. Plans also call for a bitmap-eumulated 80-column screen for the C-64. Because of the way that the system has been designed, new screen drivers just easily slip into place. The custom screen driver includes support for the basic text output operation, as well as special full-screen accessing calls to allow for the simplified and standard implementation of full-screen programs, such as a text editor. Such a program would be able to work on the 40-column C64 screen as well as the 80-column C128 screen, with no modification. The Commodore Kernal includes very little support for full-screen applications (only numerous control character codes). For the regular output, only the screen characters and not the colors are used (normally), which allows scrolling to be twice as fast. Outputing characters is also faster because fewer conrol characters are supported, no translations between PETSCII and screen codes needs to take place, and operations are optimized for speed (rather than ROM size). The display character set has been rearranged to correspond to the PETSCII character codes, except for the "Commodore" characters. The graphics characters have been re-thought for applications. The screen driver also includes basic support for user-windows, which will be taken advantage of in future applications. You will notice, especially on the 80-col C128 screen, that output is now considerably faster than it was before. I still have two more tricks up my sleave to make it even faster, which will be implemented in the next release. 5.5. KEYBOARD A custom keyboard scanner has been added also. It supports a three-key rollover as discussed in C= Hacking NetMagazine Issue #6. The key matricies will be extended to include a number of standard control characters for things like "page up," etc. Key scanning has been completely taken over to implement the three-key rollover, and to avoid interference with the joystick in port #1. There are a few new keyboard controls. To temporarily pause a listing going to the screen, press the CONTROL key. Output will resume when you release the key. For the C128, the NO SCROLL key is supported in the normal way. On the 64, to achieve the same effect, press the RUN/STOP key while holding down the CONTROL key to pause output until you explicitly re-enable it. To do this, just press NO SCROLL (128) or CONTROL-STOP (64) again. On the 128, the CAPS key is supported in the normal way (with CAPS-Q fixed), and to activate caps lock mode on the 64, press COMMODORE-STOP, and press it again to release caps lock mode. The key delay and repeat rates are not user- definable right now, but they will be. Also, function keys will be application-definable (where the command shell can be considered an application). Something that you may find odd is that the cursor color can be different from the character color. Deal with it. Currently, only limited support for line editing is implemented. You may enter up to 254 characters (plus a carriage return), and the only editing key implemented is DEL. This will be a pain in the ass when you make typing mistakes or want to re-use commands, so additional editing facilities will be incorporated into the next release. When you wish to generate an EOF (end-of-file) signal from the keyboard, press CONTROL-D. This will discard any keys you have entered on the line; you are intended to use it on an empty line. ------------------------------------------------------------------------------ 6. COMMANDS 6.1. BUILT-IN COMMANDS The following subsections give the low down on all of the executable programs provided with ACE, including the system programs and external user programs. For each command, a synopsis is given, followed by the description. -------- echo [arg ...] Print the given arguments to stdout, with a space between each and a carriage return at the end of the line. -------- clear cls Clear the screen. "cls" is the MS-DOS name and "clear" is the Unix name. This command simply emits a "form-feed" character to stdout. -------- directory [dirname] dir [dirname] d [dirname] ls [dirname] clsl [dirname] Display a directory listing of the given directory or of the current directory if no "dirname" is given. This command has so many varients because it is so useful. "directory" and "dir" are synonymous and clear the screen before giving a long-form directory listing. "d" gives a long-form directory listing without clearing the screen. "ls" gives a short-form directory listing without clearing the screen, and "clsl" gives a short-form listing after clearing the screen. Short-form listings include only the filenames of the files in the directory, whereas long-form listings include directory name, file permissions, date and time of last modification, length (in blocks*254 bytes), file type, and filename. On 40-col displays, the date and time fields are omitted. For technical reasons (because they are built-in and space is limited), these commands will not actually display a real data and time. You must use the external program "xls" to see real dates and times. -------- cd [dirname] g [dirname] Change the current working device and directory to the given directory name. If no directory name is given, change to the "home" (initial) directory. Both "cd" and "g" are exactly synonymous. -------- cat [file ...] type [file ...] t [file ...] Display the contents of the named files to stdout. If no files are named, then input is taken from stdin (normally the keyboard). -------- exit x Exit from the command shell. EOF on stdin (normally Control-D from the keyboard) has the same effect. If the current command shell is the initial one started by the system (process #2), then ACE will exit back to BASIC. Otherwise, the command shell will exit back to the program that invoked it. -------- dos command @ command Give a Commodore-DOS command to the current device (OPEN1,dv,15..). Both "dos" and "@" are exactly synonymous. -------- path path dirname ... Display or set the path to search for searching for external programs. "path" alone on a command line displays the current search path, and "path" followed by arguments will set the search path to the following arguments. -------- sh Invoke a sub-shell. Currently, arguments are not accepted. The subshell will accept its commands only from stdin. ------------------------------------------------------------------------------ 6.2. SYSTEM PROGRAMS ace This is the main loader. It determines whether it is running on a 128 or a 64 and then loads and runs either "ace128" or "ace64" below. -------- ace128 ace64 These are the kernel programs. -------- config The system configuration program. This is not a user-executable program; it is loaded and executed while the system is bootstrapping. This program loads the "config.sys" and "ace-charset" files, initializes the dynamically allocated memory, and sets the date. -------- config.edit The configuration editor written in BASIC. LOAD and RUN it directly from BASIC. Full-screen interface. Same program runs on either a 128 or 64. -------- sh The command shell. ------------------------------------------------------------------------------ 6.3. EXTERNAL PROGRAMS cp file destfile cp file ... directory A file copier. Operates like the Unix file copier program. If you give two filenames, will copy the first file to the second name. If a number of file names are given and the last argument is a directory name is given, will copy all of the files, retaining their names, into the given directory. If a file that you want to copy to already exists, then you will be prompted for whether you want to overwrite the file: yes, no, all, or quit. Answering Yes will overwrite the file, and continue onto the next file. Answering No will abort copying the current file and continue onto the next file. Answering All will have the same action as Yes, except that it will never ask your permission again; it will always assume Yes. Answering Quit will abort the entire copy operation without disturbing any more files. I would really like to get a "-r" (recursive) option working. Also a "-f" (force) option. -------- rm file ... File remover (scratcher). All named files will be deleted. -------- mv oldfile1 newfile1 ... oldfileN newfileN File renamer. For each pair of names, the old name will be changed to the new name. If the new name already exists, then the program will report an error. This uses the crufty Commodore rename DOS command, so don't even think about renaming a file that is not in the current directory or "moving" a file between directories. -------- xls [-[c][l]] dirname ... Same as the built-in directory and ls commands, except this one will actually display real dates and times. Also, this will display the number of files, number of file bytes, and number of bytes free at the end of a long-form listing. The "-l" flag means to give a long-form listing; otherwise, a short-form listing will be given. The "-c" flag means to clear the screen before giving the listing. The built-in directory listing commands will be removed from the command shell and be replaced with this one after the RAMdisk is impelemented. Note that you can get a crude directory listing with "echo *". -------- uuencode file ... A uuencoder. The uuencode program sends its output to stdout, so you will usually want to redirect stdout to a disk file. This output will be in Petscii characters, to work with the other text utilities. If you wish to have the output in Ascii, then you must run it through the "tr" program (below). -------- uudecode file ... A uudecoder. The uudecode program will accept either Petscii or Ascii files and is able to extract multiple files from one input file. Extracted files are put into PRG files. -------- bcode [-help] [-v] [-u] [-m] [-l max_line_count] [filename ...] Encode the given files into BCODE format. This format, like uuencoded format, is used for transmitting binary information through a text-only medium. The "-help" flag is used to display "usage" information to stderr. The command will exit after encountering the flag, before doing any work. The "-v" flag means to give "verbose" information about what is going on. The "-u" and "-m" flags instruct bcode to output in either Unix (Ascii-Lf) or MESS-DOS (Ascii-CrLf) format. The default is good ole Petscii. The "-l" flag and value allows you to specify the maximum number of bcoded lines to include in each segment of the bcoded data. When this flag is used, output is sent to special output files rather than to stdout (where it is usually sent). One segment is sent to each special output file. These special output files are named after the file being encoded, appended with a ".b" followed by the at-least-two digit segment number. If the full name would exceed 16 characters, the "basename" is truncated. If the source file includes a path, the path is ignored and the special file is put in the current directory. For example, bcode -l 800 b:junkfile would put the bcoded segment data into "junkfile.b01", "junkfile.b02", ..., "junkfile.b99", "junkfile.b100", etc., in the current directory. Each line of bcoded data contains 72 characters (which represent 54 raw data bytes), so 800 lines will produce 59200 bytes of output (counting CR and LF at the end of each line), which is a good size for posting or for mailing to brain-damaged mailers (under 64K). The max_line_count does not include the two control lines in the bcode format. If you include filenames on the command line, then input will be taken from them in turn. Otherwise, input will NOT be taken from stdin and no work will be done. You may include many filenames (and associated aliases) on a command line to create a BCODE archive (which should be suffixed ".bca"). If you specify that a file is to be broken into multiple segments for encoding, then last segment may be of zero length. This is not an error and will be decoded correctly, although it may be a bit of a pain. -------- unbcode [-help] [-i] [-v] [-d] [filename ...] This is a full-blown BCODE decoder. It will read BCODE data from files named in any order and reconstruct the original binary files that were encoded using the BCODE program above. If the "-help" flag is specified, usage information will be given and the program will exit. The three other flags are used to request different levels of operational information: informative, verbose, and debugging. Informative messages include when a file is completely pieced back together, verbose information includes when a file is opened or closed, and debugging information includes a dump of the internal "have" table that keeps track of which segments of which files the decoder currently has. Currently, informative and verbose information is hard-wired on. Intermediate segments are decoded immediately and placed into temporary files in the current directory with names like "0BC00001", with different numbers. These files are created and deleted as needed. Between runs, if there are any files that have not yet been completely pieced together, the "have" information is saved into "0BC-STAT", which can be listed to see what is in the temporary files and which segments of the files are missing. An example of its contents would be: 00001-00001 beg 0000001223 0BC00002 filea 00001-00001 beg 0000540122 0BC00004 fileb 00003-00003 mid 0000002832 0BC00001 fileb 00005-00005 end 0000000023 0BC00003 fileb The first two columns with the dash between indicate the range of segment numbers that are contained in the temporary file. The next column gives the interpretation of the temporary file, indicating if it is the beginning, middle, or the end of the complete file being decoded. The next column gives the length of the temporary data (used for error recovery). The next column gives the name of the temporary file, and the final column gives the name of the file that the "fragment" belongs to. The fact that the status of decoding is kept between runs means that you don't have to have all of the segments of the final file(s) present at any one run. Error checking is performed on each segment as it is being decoded, and if an error is encoutered, the segment will be ignored. Because of the "incremental decode" feature, you can obtain correct copies of the segments that were found to be in error before and run them through again. This program will recover from all errors in the input data, including one tricky case that the C unbcode program released earlier before could not. The only ways that things can get fowled up are if unbcode has access problems to the temporary files, or if you STOP the program at an inopportune time. To recover from all errors, you just have to delete all of the "0BC" temporary files, including "0BC-STAT". During decoding, this program will overwrite existing "0BC" files or files being decoded. -------- crc32 file ... CRC32 *B* generator. The numbers generated by this program match CRC32 value generated by other programs, such as PKZIP and ZMODEM. This program is used to verify that files have been transported from place to place correctly. The program uses a table-driven byte-oriented algorithm, so it executes faster than the older (crc32a) program. -------- crc32a file ... CRC32 *A* generator. The numbers generated by this program don't match the CRC32 generated by other programs, such as PKZIP. However, it will always match itself. The program uses a brute-force bitwise algorithm, so it is relatively slow. The program is included for hysterical (er... historical) reasons. -------- wc file ... Word counter. Counts the lines, words, and characters in a file. To count lines, the program simply counts carriage returns (code 13 decimal). A word is any non-whitespace character(s) between whitespace characters. Whitespace is defined as the characters SPACE, TAB, and RETURN (codes 32, 9, and 13 decimal, respectively). If multiple files are specified, totals will be reported. -------- grep [-[i][v]] [^]substr[$] file ... The "i" and "v" flags are optional. "i" means to ignore the case of letters in comparisons and the "v" means to invert the search - display lines that do not match the pattern. The substring may begin with "^" which means only to check for the string at the beginning of a line, and may end with "$" which means only to check for the string at the end of a line. Both "^" and "$" may be used at the same time. There is no escape character, so you'll have problems trying to seach for the two anchor characters in the files. One or more files may be specified to be searched. If more than one file, then the name of the file will preceed each line printed that matches. Output goes to stdout. Some examples follow: grep hello hello_world.c grep -v '^$' file1 >file1.noblank grep -i crAiG Hack* grep -iv 'the$' file2 The first example simply searches for the string "hello". The second example removes all blank lines from the input file. The third example searches the Hack1, Hack2, Hack3, Hack4, and Hack5 files (for example) for the word "craig" which can be in any case (eg. "Craig" would match). The fourth example displays all lines that do not end with the word "the" in any case (eg. the second line of this paragraph would be omitted). Some limitations of the program are: only the first 2048 characters of a (really long) line will be considered, lines may not contain the character code $00, and the last line of the file must end with a RETURN (or it will be ignored). -------- tr [-fromset2toset] file ... Translate files from one character set to another. Character sets supported are: Petscii, Ascii-CrLf (MS-DOS), Ascii-Lf (Unix), Ascii-Cr, and SpeedScript. "fromset" and "toset" in the synopsis above may be any of: "p" (Petscii), "a" (Ascii-CrLf), "al" (Ascii-Lf), "ac" (Ascii-Cr), "s" (SpeedScript), "c" (Commodore == Petscii), "u" (Unix == Ascii-Lf), or "m" (MS-DOS == Ascii-CrLf). The the character set specifiers are separated by the character "2" (meaning "translate to"). If the translation specification argument is missing, the default of translating from Ascii-CrLf to Petscii is used. Input is taken from the files and all output goes to stdout in order. Example: tr -s2u file1 >file1.unix Translate from SpeedScript format to Ascii-Lf (Unix) format the contents of "file1" and put into file "file1.unix". The name "tr" is used (a Unix utility) because the functionality of this program will grow to include that of the Unix "tr" utilitiy. -------- sort [-[i][v]] [+column] file ... Sort utility. Currently uses a sucked-out insertion sort algorithm. Will be extended to use the "Approximation Sort" algorithm, which has between O(N) and O(N^2) performance (close to O(N) for random data). Makes use of dynamically allocated memory to store large files internally. The "i" and "v" flags are optional. "i" means to ignore case of letter characters in comparisons to determine order. The "v" flag means to inverse the order of sorting (put into descending order rather then the usual ascending order). The +col field is optional, and if present, gives the character position of the start of the sorting key. The default starting position is 1 (the beginning of the line). A TAB character will be interpreted as any other character. If multiple files are specified, they will all be merged together and then sorted as a group. Sorted output goes to stdout. If the program dies in the middle of its operation (eg. out of memory), all files owned by the program (process) will be closed and all memory allocated to the program will be reclaimed. This is also true for all other external programs, since this is implemented in the kernel. -------- wrap file ... This is like the cat command, except that lines longer than the width of the screen will be word-wrapped into multiple lines. -------- date Display the current date. The format is: "YYYY/MM/DD-HH:MM:SS.T", in 24-hour time format. This command will be extended to display in "human mode" (eg. "Tue-13-Jul-1993 05:49:53 pm") and to allow you to set the date. Currently, the date will only be set when the system starts up. -------- fast Switch to FAST (2 MHz) mode on a C128. Just does a simple poke. -------- slow Switch to SLOW (1 MHz) mode on a C128. Just does a simple poke. -------- forty Switch to the 40-column (VIC) screen on the 128. This also switches the processor into slow mode. -------- eighty Switch to the 80-column (VDC) screen on the 128. This also switches the processor into fast mode. This command will also be used to switch to the soft 80-col screen of the 64 when that feature is implemented. -------- read file ... File reader. Useful only for testing how long it takes to read a file. No output is generated. -------- mem Display bytes of dynamically allocated memory that are still free. Also displays a map of the pages allocated on the most recently used bank and the process number of the mem program. -------- as file DEMO assembler still under development. Only the tokenizer is implemented. It will scan through the given file and spit out reams of tokens in the example formats: i:hello,= c:= n:87125 s:Now is the time where the "i" line gives an identifier and the character following it, the "c" line gives an uninterpreted character, the "n" line gives an interpreted number (it accepts 32-bit numbers in decimal, hexadecimal, and binary), and the "s" line gives a character string that was enclosed in quotes. The tokenizer is designed to be very efficient (although it currently can only operate as fast as the Commodore Kernal CHRIN function). Plans for this project include a one-pass assembler that will use dynamic memory to be able to do very large assembles, with full support for 32-bit quantities, conditional assembly, macros, and eventually linkable code. -------- vi [file ...] DEMO of ZED: displays the main screen, reads the named file into memory, and prints it, soft-wrapped to the screen length, to stdout. It is called "vi" here (to use a grotesque misnomer) to avoid name conflicts since you may already have a file named "zed" in your ACE directory (like I do). The new ACE-Zed will have more fundamental features than the original Zed-128 program, including auto-wrap lines, unlimited line length, horizontal scrolling to 240 characters, character-oriented commands rather than line-oriented, and multiple file buffers with split-screen disply. Plus, it will also work on the 40-col screen of the 128 and on the C-64. Big plans. ------------------------------------------------------------------------------ 7. LATER, DUDE To-Do List: - Better input line editing, soft 80-col screen for 64. - Make a ramdisk for use with ACE. RAMDOS is not compatible with ACE-128. Such a ramdisk should be able to rip through a file at about 500K/sec with an REU. We have the technology. ^^^^^^^^ - Fix up the shell script features of the command shell, autoexec feature. - More utility programs. - More on ACE-Zed and the assembler. This system is Public Domain Software. It is not required, but it would be appreciated if people who use this software regularly would send a postcard featuring a picture of some local attraction/scene to the following snail-mail address. You only have to do this once. Please don't send any money (unless you really want to). Craig Bruce 139 Candlewood Cr. Waterloo, Ontario Canada, N2L 5M7 If you have questions, comments, suggestions, or bug reports, you can contact me at the following e-mail address: -Craig Bruce csbruce@ccnga.uwaterloo.ca "The 'weirdness' of Quantum Mechanics results from race conditions in the underlying distributed simulation system." ------------------------------------------------------------------------------ 7. UUENCODED FILES The CRC-32a values for the included files are as follows: crc32a = 1407736482 for "ace,p" crc32a = 2602081325 for "ace128,p" crc32a = 1314207619 for "ace64,p" crc32a = 2844523187 for "config,p" crc32a = 2067553017 for "sh,p" crc32a = 2637003945 for "config.sys,p" crc32a = 4079623594 for "config.edit,p" crc32a = 2859498055 for "ace-charset,p" crc32a = 3235493563 for "cp,p" crc32a = 3377395859 for "rm,p" crc32a = 2931859901 for "mv,p" crc32a = 2403311666 for "xls,p" crc32a = 1571752301 for "uuencode,p" crc32a = 227133298 for "uudecode,p" crc32a = 1422388128 for "bcode,p" crc32a = 3387472693 for "unbcode,p" crc32a = 115086729 for "crc32a,p" crc32a = 4134280673 for "crc32,p" crc32a = 3049044244 for "wc,p" crc32a = 1394194648 for "grep,p" crc32a = 1251208555 for "tr,p" crc32a = 1256206263 for "sort,p" crc32a = 2485335915 for "wrap,p" crc32a = 3117606270 for "date,p" crc32a = 4046758908 for "fast,p" crc32a = 235171651 for "slow,p" crc32a = 2266670661 for "forty,p" crc32a = 4279936581 for "eighty,p" crc32a = 1417575457 for "read,p" crc32a = 1093176211 for "mem,p" crc32a = 3542200335 for "as,p" crc32a = 1244558759 for "vi,p" The uuencoded data are as follows: begin 620 ace M`1P9'&0`BR!21[(S,C(X(*<@GB`Q,#(T,``F'&X`1++"*#$X-BD`7AQX`%-9 MLC$R."`Z($Y5)+(B,3(X(B`Z((L@N"@Q*;*X*#`I(*<@4UFR-C0@.B!.522R M(C8T(@"''((`F2*3(CO'*#$T*3LBP*("M0"=``FI`)4`Z."0D/*IWJ`JC10#C!4#J3:@ M*XT6`XP7`ZFQH"J-&`.,&0.B?ZD`G0`/RA#ZI;K)"+`"J02-$@^I`""0_ZD` MH@`@:/\@Y_\H8*D`KD]+H``@NO^I!J*+H"D@O?^I`*(`H&`@U?^0`6"I`*`( MA0*$`ZD.H$R%!(0%J0"@#84&A`>B3ZDW\`'HA@BI@(4)(`!@8$-/3D9)1Z(/ MJ?^=C2C*$/JI`(W@**T2#TI*"4"-``RI.HT!#*D`C0(,J0"@#(T4#XP5#R#K M*:DWH$V-#@^,#P^B'[W@")TW3&-`P^I`*RH",#`D`*@P(T,#XP-#XT(#XP)#ZD`H``@/"JI`*``(#PJ MJ?^@`"`\*JG_H/\@/"JI_Z#_(#PJK0@/K`D/C0H/C`L/8*HXK0@/Z0*-"`^% M8*T)#^D`C0D/A6&8H`&18(B*D6!@H@*]``F5`.C@D)#VJ0"-`/\(>*EEH/J- M%`.,%0.I`Z"PC18#C!<#J4"@^HT8`XP9`RA@J0!(*&`@K4,@?T<@7"JI%HTL M"HT8T*D`C0`<(-913+=-`-BI?XT-W:P-W3`?(#WV(.'_T!<@7"H@5N`@">$@ M`,"I`(T`'"#646P`"DPS_]A,9?H(>*D2H"N-%`.,%0.I?XT-W(T-W2P-W"P- MW:T1T"E_"0"-$="I_(T2T*D!C1K0*K1G0$`0I`=`&K0W<3#/_C1G0J0Z- M`/\@/$,@E4D@8#Y,,__8H@"U`)T`!,K0^"!<*JD`C0`<3`.PH`"Q^O`?H`&Q M^LDZT!>@`+'ZH`+)+M`&K1(/3'8K*1\*"DQV*ZT2#Z``8.[@**W@*"E_H@_= MC2CP\-``^F@+V-*!@@P_^F@*G_G8TH.*G_8*6`&&`@O2RP"B`"+0A((%@M:"A@ M2"!8+6BJO0$(JJ`/J?\@NO^I`""]_R#`_Y`#C0`/8*+_(,G_L!2B`+TW3O`( M(-+_L`CHT/,@S/\88(T`#T@@S/]H.&``HO\@QO^P[B#/_[#I*0^-`2T*"FT! M+0J-`2T@S_^PUBD/&&T!+8T!+2"W_RF`\`6I!3BPP2#/_["\R0W0ZR#,_ZT! M+I!(T`#SA@R120`XT`#V`XJ?\@P_^0`XT`#V"JO8TH2*G_G8TH:!A, MP_^%@(2!AH:E^J3[A8*$@ZD`A82%A;V]*-!;H`"]G2BJO0`(R0+0`TS&/,D! MT`*@_Z:&A(>]C2BJ(,;_D`%@I83%@*6%Y8&P(B#/_Z``D8+F@M`"YH/FA-`" MYH4DAQ#?I9`I0/#9IH:=O2@@S/^EA*2%HO\88*D`H``88(6`A(&E^J3[A8*$ M@X[>*+V=**J]``C)`M`#3)8\KMXHO8THJB#)_Y`!8*6`!8'P(J``L8(@TO^0 M"(T`#R#,_SA@YH+0`N:#I8#0`L:!QH!,%RX@S/\88"!,*ZJ]``C)`0B**&`@ M1"[P!ZF#C0`/.&"%A"!W*Y`!8)V-*(:`I82=G2BI`)V]**D/G:THAH"I`(TW M3JD`C=`KH@`@6RR0`6"ED"F`\`>I!8T`#SA@I8!@JKV-*$BI_YV-*&@X3,/_ MA8"$@;V-**H@R?^0!(T`#V"@`+&`\`@@TO^P",C0]"#,_QA@C0`/(,S_.&"% M@(2!O8THJB#&_Y`(C0`/(,S_.&"@`"#/_[#QR0WP"I&`R""W_RE`\.VI`)&` M(,S_H`"Q@"D/"@IQ@`J%@\BQ@"D/98,88*G_C=`K($0N\`2I@SA@A82$@2!W M*Y`!8)V-**6$G9THJ0"=O2BI`)VM*(:`J22--TZI,(TX3JD`C3E.H@(@>R\@ M6RR0`6"F@+V-**H@QO\@S_\@S_\@S/^E@!A@I(2Y`P@P+:2!L?K0`6"B`;'Z MG3=.\`3(Z-#URJDZW3=.\`3HG3=.Z*DJG3=.Z*D`G3=.8*D]C3A.J52-.4ZB M`Z2!((LOJ3V=-T[HJ4R=-T[HJ0"=-TY@O8THJB#&_Y`#J0!@(,__A80@M_\I M0-`'(,__!830!B#,_Z(`8"#/_X6`C5T/(,__A8&-7@\&@":!J0`JA8(XJ0#E M@(U<#ZU=#^6!C5T/K5X/Y8*-7@^I`(UN#XUM#R#/_[!_))!P>\D@\//)$O#O MR2+0>:(`(,__L&@DD'!DR2+P!IUN#^C0[:D`G6X/CFT/(,__R2#P^:)@CFP/ MR2K0"ZUL#PD(C6P/(,__H@.@`$R',"#/_YEH#\C*T/:I`(UK#ZUH#\E$T`NM M;`\)D(UL#TR^,,E0T!6M;`\)$(UL#TR^,(T`#R#,_Z(`.&`@S__)`/!ZR3S0 M"*UL#RG?C6P/H@>I`)U@#\H0^B#/_\D`\%W),)#UR3JP\2!),8UB#R!&,8UC M#R!&,8UA#ZV&"(U@#R!&,8UD#R!&,8UE#R#/_R#/_\E!T`^M9`_)$M`9J0"- M9`],.#&M9`_)$O`*&'CX:1+86(UD#R#/_\D`T/D@S/^B_QA@(,__R0#P&I@XT`#SA@A(*%@*E#C3=.J5"-.$ZB`K'Z MR3"0"\DZL`>=-T[HR-#OX`+P'ZD`G3=.A(&E@""]+)`!8*G_A8,@W"RP8"`" M+;!;I(&I1(TX3J("L?J=-T[P",DZ\`3(Z-#QX`+P'JD`G3=.I8,P"*6`(+TL MD`%@(-PLL"D@`BVP)"!8+:6`C1(/2DH)0(T`#*DZC0$,H@*D@K'ZG0`,\`3H MR-#U8"!8+3A@O9THJKT`",D"T`D@:2BHIH"I`&"B4*!"R0'P!\D$\`.I`6"I M`F#)"I`"J0J%C#BI"N6,A8R@`+4`F8(`Z,C`!)#UH@2I`)6&RA#[A8N@('CX M!H(F@R:$)H6B!+6&=8:5ALH0]XC0ZMA8J0J%C:(`H`"UAB":,^C@!9#VJ0"1 M@&!(2DI*2B"E,V@I#\:-\`W%B]`)QHPP`6"I(-`$"3"%BY&`R&"%@(2!H`.Y M%@^1@(@0^*`$K0O<$`DI'WCX&&D2V%C)$M`"J0#))-`"J1*1@,BM"MR1@,BM M"=R1@,BM"-P*"@H*#1H/D8!@A8"$@:`#L8"9%@^($/B@!+&`R1.0"7CX..D2 MV%@)@(T+W,BQ@(T*W,BQ@(T)W,BQ@$I*2DJ-"-RQ@"D'C1H/8"!$+H6`A(&I M4HTW3JDZC3A.H`"B`K'^G3=.\`3(Z-#UJ3V=-T[HI(&Q^ITW3O`$Z,C0]:6` M(+TLL`T@W"RP`R`"+0@@6"TH8*(`O;DTG0`"Z."@D/5@H@"I`)T``NC@H-#X M8#]_O_^__[__/P0$!`04%"0D!(2/I/RYL#2-!M6YIS2-`/^@`+'ZE0#HR,2/ MD/:I#HT`_QA@A(^D_+FP-(T&U;FG-(T`_Z``M0"1^NC(Q(^0]JD.C0#_&&"F M_+VP-(T&U;VG-*J(\`V.`/^Q^HT!_Y'^B-#SC@#_L?J-`?^1_JD.C0#_&&"F M_+VP-(T&U;VG-*J(\`V-`?^Q_HX`_Y'ZB-#SC0'_L?Z.`/^1^JD.C0#_&&"E M_?`XR0*0!=`Y3``"C`??H)&E_(T&WXX"WZD`C0/?C0C?I?J-!-^E^XT%WZTP MT*(`CC#0C`'?C3#0&&"IA(T`#SA@J9&-LC6I`(RS-8VT-8ZU-8VV-4RW-0`` M````(*G@K;(UC0'>K;4UK+8UC0+>C`/>H@"E_&+TN#V7[ MC07>O2\/9?R-!MZMLS6LM#6-!]Z,"-ZI`(T*WHT0WB`>_AA@I?WPC,D"D`70 M"TPC`HP'WZ"03&LUJ9!,GC4`````IOWP%.`"L`6BD4PL-]!DP`#0*:C0!1A@ M3)4UIOS@`/`#3$8"C@'_B/`'L?J1_HC0^;'ZD?ZI#HT`_QA@C1\VC"`VI?N- M(3:E_XTB-JT@-O`.H``@/C;F^^;_SB`VT/*L'S;P`R`^-JTA-H7[K2(VA?\8 M8**1CK(UC;,UC+0UI?ZD_XVU-8RV-4RW-0````"F_?`4X`*P!:*03"PWT&;` M`-`IJ-`%&&!,E36F_.``\`-,Q_I'ZB-#YL?Z1^JD.C0#_&&"- MKC:,KS:E_XVP-J7[C;$VK:\V\`Z@`"#--N;[YO_.KS;0\JRN-O`%IOP@S3:M ML#:%_ZVQ-H7[&&"BD$R8-HT'WXP(WZ7^I/^-`M^,`]^E^J3[C03?C`7?I?R- M!M^L,-"I`(TPT(X!WXPPT!A@````````````````H@"@`(Y>-XY=-[T`#9T` M#M`!R.C0]*D`H`*-6S>,7#>I`*(`G5\WZ.`(D/@88```S5LWT`;,7#?0`6"- ME3>,EC>M73?P#ZU;-ZQ<-R#G-R#:-R`_**V5-ZR6-XU;-XQ<-R#G-R#:-R`\ M**D`C5TWC5XW8*D`H`Z%_H3_J0"@`6"%_(3]J0"B_X7ZAOO``O`!8*7\T`NM M*`^L*0^%^H3[8,D!T`BI`*PJ#TP".*D`H`1,`C@``````+\XTS@```````#F M./HXC1PXR0#0!2"N.!A@X`&P`J(!P`?P!)`"H`>.&CB,&SBM&CC-&SCP`K!7 MKAHXO5\W\`?-'#CP*Y`IK1HX"JJ]'3B%^KT>./`:A?L@JSB0&:X:.+U?-_`% MS1PXD`:M'#B=7S?N&CA,33BF_:7\W>HZL`.=ZCK=\CJ0`YWR.AA@;/H`J8"- M``^I`(7ZA?N%_(7].&"I`87]K2T/KBL/K"P/(!`YC2T/8*D"A?VM)P^B`*PD M#R`0.8TG#V"I!H7]K34/KBL/K#0/(!`YC34/8*D'A?VM,0^B`*PP#R`0.8TQ M#V````"-#3F%_(X..8P/.>P/.9`!8*7\I/T@ES>L'#@@4SFP"JD`A?J&^Z7\ M&&#F_*7\S0\YD`6M#CF%_*7\S0TYT-(X8```KEXWO0`.\!#H\`N]``[0^(Y> M-TQK.3A@C%$YX`#P!\JL43GH\/"]``[0]8C0]8Y2.:Q1.:T;#YT`#LJ(T/GH M[%XWT`>L4CG(C%XWJ?^-73MO#G-7C>P`XU>-Z;]O5\W\`XXZ0$*L`8X;;TYD`*I`)U?-QBM'0]MO3F- M'0^0".X>#]`#[A\/&&"-``\X8`"B`+WJ.MWR.O`"L!..63J]ZCJ\\CJJK5DZ M(((ZKEDZZ.`(D-Y@````CG\ZC8`ZC($ZK7\ZK(`ZS8$Z\`*P"R"7-R"D.NY_ M.M#H8*``H@"M&P],L3KH\!'=``[0^*D`G0`.R*T;#TRN.L``\"*I`(U>-ZY< M-YU?-ZG_C5TWF!AM'0^-'0^0".X>#]`#[A\/&&`````````````````````` MH@>I_YWJ.JD`G?(ZRA#S8`"%@(2!(/HZK3%@#BI".6`&&UR.\UL.Y`# MK6P[C7([8*6`I(&%BH2+I8*D@X6(A(FEB@6+\!B@`+&((,T[YHC0`N:)I8K0 M`L:+QHI,ICP88*6$Q8"EA>6!L!P@^CRP'Z``D8+F@M`"YH/FA-`"YH7)#?`# M3,8\I82DA:+_&&"I`*``&&"M=SO0!2`:/;`-KG8[[G8[SG<[O0`+&&`````` M`````*('M8"=$CW*$/BB`(YV.XYW.R`D/"#//2#80"#;/RAH8,F`D`..=#LI0/`#C'4[KG0[ MK'4[8*``+(E#,`*@"*(`ZKFP")6`R.C@")#T8*(`R2F0`J*`CHE#X`#P$*T1 MT"GOC1'0J0&-,-!,/SZI`(TPT*T1T`D0C1'0ZB"'**:`I(&I_R"$*""'**:' MI(:I_R!U*"!@*"").V``J0"-`-R-+]"M`=S-`=S0^,G_\#,@9T,@^3^0*R#A M/B#Y/Y`CK1-`C5\^(,8^("<_(%P_()P_+!I`,"2M&T#)__`=A=1,(T`@QCZI M_Z("G1M`RA#Z($T_J0"-&D"-7SZI_X74A=5@J?^-+]"I?XT`W&"I_Z("G1M` MRA#ZJ0"-&D!@HO^@_ZG^AI`(T:0&B-&T"@`\C``Y#38*G_C0#*U?/LF`\`,86&"ETRD/T/>I`(VJ0(VH0(VI0(T@0*D`C0`/.%A@)T%_0==! M+T*'0M]"%`T=B(6&AQ$S5T$T6E-%`3521#9#1E18-UE'.$)(558Y24HP34M/ M3BM03"TN.D`L7"H[$P$]7B\Q7P0R(`)1`X0X-0DR-#MKK$!F+*LF;R[H[V:MZ6;O[2XOBFBM3"GH;FJIJ^V MW#Y;I#RHWUV3`3W>/X%?!)6@`JL#A#@U&#(T-S$;*RT*C38Y,P@P+I$1G1T` M```````````<%P&?&A,%`)P2!!X#!A08'QD'G@((%182"0J2#0L/#O\0#``` M&P``'``=```?'@"0!@`%```1`(0X-1@R-#+S%?!#(@`M$#A#@U"3(T-S$;*RT*#38Y,P@P+I$1G1T``0\/`0"M M-T/0`6#..$/0^LXY0]#UJ0^@#XTX0XPY0\XW0]#F(#)'()9*J?^-.T-@K3I# MC3=#J0^@#XTX0XPY0ZT[0]`!8"!71R"R2JD`C3M#8````````````"`T1"#O M0^JI`*`0HA0@6D2I"*(+($Q$((!$8*D`H-"%@(2!J0"@((6"A(-XJ0^-`/^B M"*``L8"1@LC0^>:!YH/*T/*I#HT`_U@@[T.I`*`(HA0@6D2I!Z(+($Q$8*D` MH"`@6$2I`*`@A8"$@:(`AH*I'XT`UJ``L8`L`-80^XT!ULC`")#QJ0`@2D2B M'JD'($Q$&*6`:0B%@)`"YH'F@M#/8*(8('1$*7\@3$1@HA@@=$0)@"!,1&"B M'XX`UBP`UA#[C0'68*(2C@#6+`#6$/N,`=;HC@#6+`#6$/N-`=9@HA^.`-8L M`-80^ZT!UF"I`(V*0XV+0XV.0XV/0ZD9HE"-C$..C4.IL*`/C9!#C)%#&&`` MC>1$C*1$AH(D@A`&(,M$(.=$)()0#R#+1*VD1(WD1"#<1"#G1&"MCD.LCT.% M@(2!K8Q#C>5$8!BE@6D0A8%@````K8U#C>9$K>5$T`%@(`=%&*6`:5"%@)`" MYH'.Y430[6"E@*2!(%A$K>9$\!*MY$0@2D2NYD3*\`:*HAX@3$1@8*V-0X6` MK8Y#K(]#A8*$@ZE0H`"%A(2%K9!#K)%#A8:$AZZ*0ZR+0ZV,0QA@8&````"- M546,Y$2.5T4L5440.J6`I($@6$2@`,Q71?`5J1^-`-:Q_BP`UA#[C0'6R,Q7 M19#P.*6%[5=%\`^HI80@2D2(\`:8HAX@3$0L545P`6"E@1AI$*BE@"!81*6% MC>9$(`Y%8`AXR8"0!HJB&B!,1"E`\`*8ZJ(:('1$*0^JJ"A@`(6`CM=%H@"& M@0H*98`*)H$*)H$*)H$*)H$8;==%D`+F@1AMCD.%@*6!;8]#A8%@``#)`/`P MC`A&I8"D@:(.(%I$H@H@=$0I'PE@($Q$(%A&(')$C0=&(%A&K0=&*?`-"$8@ M2D1@H@X@6D2B"B!T1"D?"2`@3$0@6$:M!T8@2D1@&*6!:1"HI8!,6$0``(6% MC*1$CF1&X`#0`6#LC$.0"Z6$IH6LI$0@I41@)(40"R"E1B#K1JD@(-A&)(50 M#R"E1B#*1B#K1JVD1"#81F"M9$:B`"#81:6`I(&%@H2#K8Y#K(]#A8"$@3BM MC$/M9$:-8T9@&*6!:1"%@:6#:1"%@V"-Y$2M9$:-Y42MC4.-YD0@YT1@K6-& MT`%@(#]$(!9'&*6":5"%@I`"YH,8I8!I4(6`D`+F@B&B!T1(TO1ZG_C3%' MH@:I`"!,1*(:J>`@3$1@8*(&K3!'($Q$HAJM+T<@3$2I`(TQ1V`````````` M`*D8C1C0((!'8&"I`(UN1XUO1ZD`H`2-,I&:(HC7!'CG%'J>"@!XUT M1XQU1QA@``P&#@4-"P,""@@$"0&@B2"$`8@`$@@'$@D@E`2(`!(K=9'(+A'C1E((!%( M(!Q(8*UR1ZQS1X6`A(&M<$>-&DA@&*6!:=2%@6````"M<4>-&TBM&DC0`6`@ M/$@8I8!I*(6`D`+F@%@*UR1ZQS M1X6"A(.I**``A82$A:UT1ZQU1X6&A(>N;D>L;T>M<$<88&!@``"->DB,&4B. M>T@L>D@0'J``S'M(\`JQ_I&`R,Q[2)#VQ(7P":6$D8#(Q(60^2QZ2'`!8!BE M@6G4A8&M&4@@N$>DA8@P!9&`B!#[.*6!Z=2%@6`(>,F`D`E(BB"X1XTAT&@I M0/`2F""X1RR52C`&C2#03/)(C9-*+)5*,`:M(-!,`$FMDTH@ST>HK2'0(,]' MJBA@`(6`C@U)H@"&@0H*98`*)H$*)H$*)H$8;0U)D`+F@1AM%@*6!;7-' MA8%@````````R0#P.9@@N$>-.TFE@*2!C3Y)C#])H`"Q@(TZ22#)2:``L8"J MK3M)D8"..TD@T4FI`8T]22"52:G_C3Q)8*D`C3Q)H`"M.DF1@"#)2:T[29&` M(-%)8"P\23`!8,X]2=#ZJ12-/4FM/DFL/TF%H(2AH`"QH$@XZ2`I0-`':#CI M0$S&26@8:4"1H&`8I8%IU(6!8#BE@>G4A8%@``"%A8S61X[:2>``T`%@['!' MD`NEA*:%K-9'(-='8"2%$`L@&TH@84JI("!.2B2%4`\@&TH@0$H@84JMUD<@ M3DI@K=I)H@`@#DFE@*2!A8*$@ZUR1ZQS1X6`A($XK7!'[=I)C=E)8!BE@6G4 MA8&E@VG4A8-@C1E(K=I)C1I(K7%'C1M((!Q(8*W92=`!8.H@ATH8I8)I*(6" MD`+F@QBE@&DHA8"0`N:!SME)T.)@K'%'B+&"D8"($/E@````K1'0C91*K2#0 MC9-*J?^-E4JI`(T1T*D`C2#08*V42HT1T*V32HT@T*D`C95*8""20R!V1ZE0 M)-$A,4T4LB4,P`TQY2$Q412R)0S`#3'Q(3%A%+(E# M,`-,S4A,ND4LB4,P`TP.24S812R)0S`#3$!)3`E&+(E#,`-,VTE,948````` M`*F3(-+_J0X@TO^B`+T.3/`&(-+_Z-#U>"#M**T2#XU/2R",-"!#*;!LI0*D M`XU02XQ12Z4$I`6-4DN,4TL@D2D@9S=X(,1*('@[(.(J6*F0H`B%^H3[(#,H MJ0N@3(7ZA/NI4B`#**D(H$R%^H3[J5<@`RBI5R`#**U02ZQ12X7ZA/NM4DNL M4TNB`2`,*%BI`*`3(%HHJ0`@!BBI`2`&**D"(`8HK4]+A;H@FC2IDR#2_TR4 M*E,Z`$LZ`,'#Q2TQ,C@@RT523D5,(#`N-30N,#`@+2##T\(@,S`MSD]6+3DS ##0T` ` end size 9273 crc bb33a2da begin 620 ace64 M`"A,#"E,&"Q,JRU,NBU,-"Y,ZBM,]C%,F"Y,Y"Y,\RY,'R],9B],JRU,&3!, MKC%,:3),BS1,KS),3S5,\#5,#C9,H#9,'CA,KSE,+CM,83-,]$!,AS-,!31, M2S1,_#I,IS),]D9,`4=,#$=,%T=,(D=,+4=,.$=,0T=,3D=,64=,9$=,V$!, MV#U,[3U,!3X````````````````````````````````````````````````` M```````````````````````````````````````````````````````````` M``"P`TS#_Z:8RC`?W5D"T/CP`0"DF(BY60*=60*Y8P*=8P*Y;0*=;0+&F!A@ MJ0!(**EVA0%,=$<(>*("M0"=``FI`)4`Z."0D/*I%Z`KC10#C!4#J7J@*XT6 M`XP7`ZGBH"J-&`.,&0.B?ZD`G0`/RA#ZI;K)"+`"J02-$@^I`""0_R#G_RA@ MJ0"N;T>@`""Z_ZD&HJZ@*2"]_ZD`H@"@8"#5_Y`!8*D`H`B%`H0#J2Z@2(4$ MA`6I`*`-A0:$!Z)*J5?P`>B&"*E`A0D@`&!@0T].1DE'H@^I_YV-*,H0^JD` MC>`HK1(/2DH)0(T`#*DZC0$,J0"-`@RI`*`,C10/C!4/(`XJJ5>@28T.#XP/ M#Z(?O>`(G5=)RA#WJ5>@2(T0#XP1#ZD`C5=(J0&-&P]@J:R-`@^IX8T##ZD` MK,8(P-"0`J#0C0P/C`T/C0@/C`D/J0"@`"!?*JD`H``@7RJI_Z``(%\JJ?^@ M_R!?*JG_H/\@7RJM"`^L"0^-"@^,"P]@JCBM"`_I`HT(#X5@K0D/Z0"-"0^% M89B@`9%@B(J18&"B`KT`"94`Z."0D/:I=X4!"'BI,:#JC10#C!4#J6:@_HT6 M`XP7`ZE'H/Z-&`.,&0.I@8T-W*E_C0W=+`W<+`W=J0"-&M`H8*D`2"A@(*M# M('\JJ1:-&-"I`(T`""!"IDQTI`#82(I(F$BI?XT-W:P-W3`?(+SV(.'_T!<@ M?RH@%?T@H_T@&.6I`(T`""!"IFP"H&BH:*IH0-A,,>H(>*E+H"N-%`.,%0.I M?XT-W(T-W2P-W"P-W:T1T"E_"0"-$="I_(T2T*D!C1K0*I0%(K1G0$`0I M`=`&K0W<3'$KC1G0J7:%`2`]0R#!12!`/DQQ*VB%`6BH:*IH0-BB`+4`G0`$ MRM#X('\JJ0"-``@@0J9,9OZ@`+'Z\!^@`;'ZR3K0%Z``L?J@`LDNT`:M$@], MO2LI'PH*3+TKK1(/H`!@[N`HK>`H*7^B#]V-*/#QRA#XJ*(`O8TH,`GHX!"0 M]JF".&"M&P^=S2B8&&`@DRM(JKT`",D!\`W)!/`)H@"@`$P5+*+_H/_(L?K0 M^XBQ^J#_R3KP`J``:&``A8*I_XT7+""^*Y`!8)V-**D`G;THAH`@DRN$@::` MG9THA82JO0`(R0#0!KP""$QK+*``R0'0'*`"H@^]C2@P$+V=*,6$T`F8W:TH MT`/(T.G*$.BF@)B=K2BB`*2!L?J=``KP!,CHT/6DA+D`",D!T!?@`-`$J8$X M8*DLG0`*Z*6"G0`*Z$RB+*(`BJ(`H`H@O?^F@+V-*$B]K2BHO9THJKT!"*IH M(+K_(,#_L!2FA+T`",D!T"*M%RSP'8H@]"R0%XT`#Z:`O8TH&"#A**:`J?^= MC2@XJ?]@I8`88"`$+;`*($DM"$@@GRUH*&!(()\M:*J]`0BJH`^I_R"Z_ZD` M(+W_(,#_D`.-``]@HO\@R?^P%*(`O0`*\`@@TO^P".C0\R#,_QA@C0`/2"#, M_V@X8`"B_R#&_[#N(,__L.DI#XU(+0H*;4@M"HU(+2#/_[#6*0\8;4@MC4@M M(+?_*8#P!:D%.+#!(,__L+S)#=#K(,S_K4@MR3[0!ZD$C0`/.&#)%)`#C0`/ M8#BI_R#A*)`#C0`/8*J]C2A(J?^=C2AH&$SA*(6`A(&&AJ7ZI/N%@H2#J0"% MA(6%O;THT%N@`+V=**J]``C)`M`#3+@\R0'0`J#_IH:$A[V-**H@QO^0`6"E MA,6`I87E@;`B(,__H`"1@N:"T`+F@^:$T`+FA22'$-^ED"E`\-FFAIV]*"#, M_Z6$I(6B_QA@J0"@`!A@A8"$@:7ZI/N%@H2#CMXHO9THJKT`",D"T`-,B#RN MWBB]C2BJ(,G_D`%@I8`%@?`BH`"Q@B#2_Y`(C0`/(,S_.&#F@M`"YH.E@-`" MQH'&@$Q>+B#,_QA@(),KJKT`",D!"(HH8""++O`'J8.-``\X8(6$(+XKD`%@ MG8THAH"EA)V=**D`G;THJ0^=K2B&@*D`C0`*J0"-%RRB`""B+)`!8*60*8#P M!ZD%C0`/.&"E@&"JO8TH2*G_G8TH:#A,X2B%@(2!O8THJB#)_Y`$C0`/8*`` ML8#P""#2_[`(R-#T(,S_&&"-``\@S/\X8(6`A(&]C2BJ(,;_D`B-``\@S/\X M8*``(,__L/')#?`*D8#((+?_*4#P[:D`D8`@S/^@`+&`*0\*"G&`"H6#R+&` M*0]E@QA@J?^-%RP@BR[P!*F#.&"%A(2!(+XKD`%@G8THI82=G2BI`)V]**D` MG:THAH"I)(T`"JDPC0$*J0"-`@JB`B#"+R"B+)`!8*:`O8THJB#&_R#/_R#/ M_R#,_Z6`&&"DA+D#"#`MI(&Q^M`!8*(!L?J=``KP!,CHT/7*J3K=``KP!.B= M``KHJ2J=``KHJ0"=``I@J3V-`0JI5(T""J(#I($@TB^I/9T`"NBI3)T`"NBI M`)T`"F"]C2BJ(,;_D`.I`&`@S_^%A""W_RE`T`<@S_\%A-`&(,S_H@!@(,__ MA8"-70\@S_^%@8U>#P:`)H&I`"J%@CBI`.6`C5P/K5T/Y8&-70^M7@_E@HU> M#ZD`C6X/C6T/(,__L'\DD'![R2#P\\D2\._)(M!YH@`@S_^P:"20<&3)(O`& MG6X/Z-#MJ0"=;@^.;0\@S__)(/#YHF".;`_)*M`+K6P/"0B-;`\@S_^B`Z`` M3,XP(,__F6@/R,K0]JD`C6L/K6@/R430"ZUL#PF0C6P/3`4QR5#0%:UL#PD0 MC6P/3`4QC0`/(,S_H@`X8"#/_\D`\'K)/-`(K6P/*=^-;`^B!ZD`G6`/RA#Z M(,__R0#P7/AI$MA8 MC60/(,__R0#0^2#,_Z+_&&`@S__)`/`9R3"0]J0"=``JE@S`(I8`@!"V0`6`@(RVP*2!)+;`D()\MI8"- M$@]*2@E`C0`,J3J-`0RB`J2"L?J=``SP!.C(T/5@()\M.&"]G2BJO0`(R0+0 M"2!I**BF@*D`8*)0H$+)`?`'R03P`ZD!8*D"8,D*D`*I"H6,.*D*Y8R%C*`` MM0"9@@#HR,`$D/6B!*D`E8;*$/N%BZ`@>/@&@B:#)H0FA:($M89UAI6&RA#W MB-#JV%BI"H6-H@"@`+6&(.$SZ.`%D/:I`)&`8$A*2DI*(.PS:"D/QHWP#<6+ MT`G&C#`!8*D@T`0),(6+D8#(8(6`A(&@`[D6#Y&`B!#XH`2M"]P0"2D?>/@8 M:1+86,D2T`*I`,DDT`*I$I&`R*T*W)&`R*T)W)&`R*T(W`H*"@H-&@^1@&"% M@(2!H`.Q@)D6#X@0^*`$L8#)$Y`)>/@XZ1+86`F`C0O-&@]@((LNA8"$@:E2C0`*J3J-`0J@`*("L?Z=``KP M!,CHT/6I/9T`"NBD@;'ZG0`*\`3HR-#UI8`@!"VP#2`C+;`#($DM"""?+2A@ M8&!P<(2/I/P(>+G5-(4!H`"Q^I4`Z,C$CY#VJ7:%`2@88(2/I/P(>+G5-(4! MH`"U`)'ZZ,C$CY#VJ7:%`2@88*;\"'B]U32%`8CP!['ZD?Z(T/FQ^I'^J7:% M`2@88*;\"'B]U32%`8CP!['^D?J(T/FQ_I'ZJ7:%`2@88*7]\"W)`I`%T"Y, MUS2,!]^@D:7\C0;?C@+?J0"-`]^-"-^E^HT$WZ7[C07?C`'?&&"IA(T`#SA@ MJ9&-G36I`(R>-8V?-8Z@-8VA-4RB-0``````(*G@K9TUC0'>K:`UK*$UC0+> MC`/>H@"E_&+TN#V7[C07>O2\/9?R-!MZMGC6LGS6-!]Z, M"-ZI`(T*WHT0WB`>_AA@I?WPC,D"D`70"TSU-(P'WZ"03&$UJ9!,B34````` MIOWP%.`"L`6BD4P=-]!GP`#0+*C0!1A@3(`UIOS@`/`#3#P""'BB<(8!B/`' ML?J1_HC0^;'ZD?ZI=H4!*!A@C0HVC`LVI?N-##:E_XT--JT+-O`.H``@*3;F M^^;_S@LVT/*L"C;P`R`I-JT,-H7[K0TVA?\88**1CITUC9XUC)\UI?ZD_XV@ M-8RA-4RB-0````"F_?`4X`*P!:*03!TWT&G``-`LJ-`%&&!,@#6F_.``\`-, M6@((>*)PA@&(\`>Q_I'ZB-#YL?Z1^JEVA0$H&&"-G#:,G3:E_XV>-J7[C9\V MK9TV\`Z@`""[-N;[YO_.G3;0\JR<-O`%IOP@NS:MGC:%_ZV?-H7[&&"BD$R& M-HT'WXP(WZ7^I/^-`M^,`]^E^J3[C03?C`7?I?R-!M^L,-"I`(TPT(X!WXPP MT!A@````````````````H@"@`(Y/-XY.-[T`#9T`#M`!R.C0]*D`H`*-3#>, M33>I`*(`G5`WZ.`(D/@88```S4PWT`;,33?0`6"-AC>,AS>M3C?P#ZU,-ZQ- M-R#8-R#+-R`_**V&-ZR'-XU,-XQ--R#8-R#+-R`\**D`C4XWC4\W8*D`H`Z% M_H3_J0"@`6"%_(3]J0"B_X7ZAOO``O`!8*7\T`NM*`^L*0^%^H3[8,D!T`BI M`*PJ#TSS-ZD`H`1,\S<``````+`XQ#@```````#7..LXC0TXR0#0!2"?.!A@ MX`&P`J(!P`?P!)`"H`>."SB,##BM"SC-##CP`K!7K@LXO5`W\`?-#3CP*Y`I MK0LX"JJ]#CB%^KT/./`:A?L@G#B0&:X+.+U0-_`%S0TXD`:M#3B=4#?N"SA, M/CBF_:7\W=LZL`.=VSK=XSJ0`YWC.AA@;/H`J8"-``^I`(7ZA?N%_(7].&"I M`87]K2T/KBL/K"P/(`$YC2T/8*D"A?VM)P^B`*PD#R`!.8TG#V"I!H7]K34/ MKBL/K#0/(`$YC34/8*D'A?VM,0^B`*PP#R`!.8TQ#V````"-_CB%_([_.(P` M.>P`.9`!8*7\I/T@B#>L#3@@1#FP"JD`A?J&^Z7\&&#F_*7\S0`YD`6M_SB% M_*7\S?XXT-(X8```KD\WO0`.\!#H\`N]``[0^(Y/-TQ<.3A@C$(YX`#P!\JL M0CGH\/"]``[0]8C0]8Y#.:Q".:T;#YT`#LJ(T/GH[$\WT`>L0SG(C$\WJ?^- M3CMK3G-3S>P`XU/-Z;] MO5`W\`XXZ0$*L`8X;:XYD`*I`)U0-QBM'0]MKCF-'0^0".X>#]`#[A\/&&"- M``\X8`"B`+W;.MWC.O`"L!..2CJ]VSJ\XSJJK4HZ(',ZKDHZZ.`(D-Y@```` MCG`ZC7$ZC'(ZK7`ZK'$ZS7(Z\`*P"R"(-R"5.NYP.M#H8*``H@"M&P],HCKH M\!'=``[0^*D`G0`.R*T;#TR?.L``\"*I`(U/-ZY--YU0-ZG_C4XWF!AM'0^- M'0^0".X>#]`#[A\/&&``````````````````````H@>I_YW;.JD`G>,ZRA#S M8`"%@(2!(.LZK3/:YG.YT`"^B.:#NB`(YG.R"^.R"./1A@KF<[ M\`[.9SL@F3VI(""^.R"9/4P>/2"^.ZD`C6<[3!X]H@>]!#V5@,H0^&#.8SL0 M(JY=.\J.8SNM8COP%LYB.SBM8#OM7CN-8#NM83OM7SN-83M@(`0\K&8[J?\@ M>RA@2"`$/*D`('LH:&#)@)`#CF4[*4#P`XQF.ZYE.ZQF.V"@`"R*0S`"H`BB M`.JYT`B5@,CHX`B0]&"B`,DID`*B@(Z*0^``T`8@HD-,'3X@BT/J((DAJG_('4H(&`H('H[8`!``*D`C0#\_ MR?_P'87+3/<_(*8^J?^B`IWO/\H0^B`A/ZD`C>X_C3\^J?^%RX7%8*G_C3T^ MJ7^-`-Q@J?^B`IWO/\H0^JD`C>X_8*+_H/^I_H7U3-\^K0',_G>,_B!#>8*T^/LT^/M#X2?\I0$I*C8T" M8*("J?^=ZS_*$/J@`(3UH@"&R[WC/_``#L`:8G>L_YO6F M]FC(R0#0YABERVD(AX_R,`#D-6@`+GK/\G_\":B`MWO/_`:RA#X2*(!O>\_ MG?`_RA#WJ0"-[C]HC>\_H`/(P`.0TV"I_XT`W(T]/JT!W,T!W-#XR?]@```` M``````````````````````"ER\D_T!JMC0(I#\D$T!&ER\7%\`J%Q:WT/TG_ MC?0_8*7+R3_0&JV-`BD/R0+0$:7+Q<7P"H7%K3X^24"-/CY@K8T"*1_)$-`% MJ05,7D`I#ZJ]3D!,7D```0("`P,$!`0$!`0$!`0$"JJER\7%\`-,BT"&]JWU M/_`&SO4_\`=@SO8_\`%@J0.-]C^MJD#0]:;V3)5`J12-]3^I`(WT/[T<087U MO1U!A?:DRX3%L?70%&``````````````````````````KJI`X!"0`6"NJ4"= MJT#NJ4"MJ4`I#XVI0.ZJ0&"MJD#P^WBNJ$#.JD#NJ$"MJ$`I#XVH0+VK0%A@ M>*T_/LF`\`,86&"MC0(I#]#VJ0"-JD"-J$"-J4"-]#^I`(T`#SA88"A!@$'8 M03!"B$+@0A0-'8B%AH<1,U=!-%I310$U4D0V0T946#=91SA"2%56.4E*,$U+ M3TXK4$PM+CI`+%PJ.Q,!/5XO,5\$,B`"40.$.#4),C0W,1LK+0H--CDS"#`N MD1&='0"4C9V,B8J+D2/7P23:T\4!)=+$)L/&U-@GV</R%?!"*@`M&#A#@U&#(T-S$;*RT*C38Y,P@P+I$1 MG1T`E(V=C(F*BY&6L["7K:ZQ`9BRK)F\NZ.]FK>EF[^TN+XIHK4PIZ&YJJ:O MMMP^6Z0\J-]=DP$]WC^!7P25H`*K`X0X-1@R-#`P84&!\9!YX""!46$@D*D@T+#P[_$`P` M`!L``!P`'0``'QX`D`8`!0``$0"$.#48,C0W,1LK+0J--CDS"#`ND1&='0`4 M#1V(A8:'$3-7031:4T4!->)$-D-&5%@W64+S%?!#(@`E$#A#@U"3(T-S$;*RT*#38Y,P@P+I$1G1T`%`T= MB(6&AQ$SU\$TVM/%`372Q#;#QM38-]G'.,+(U=8YR-H$.,H4,88``,!@X%#0L#`@H(!`D'#P$I#ZJ]U$-@``\(!PL$ M`@T*#`D&`04##BD/JKWK0V``C45$C`)$AH(D@A`&("Q$($A$)()0$B`L1*T" M1"#D0XU%1"`]1"!(1&"MGD.LGT.%@(2!K9Q#C49$8!BE@6G4A8%@````K9U# MC4=$K49$T`%@(&A$&*6`:2B%@)`"YH'.1D30[6"L1T3P"8BM1421@(@0^V!@ MK9U#A8"MGD.LGT.%@H2#J2B@`(6$A(6MH$.LH4.%AH2'KII#K)M#K9Q#&&!@ M8```C:9$C$5$CJ=$+*9$$!Z@`,RG1/`*L?Z1@,C,IT20]L2%\`FEA)&`R,2% MD/DLID1P`6`8I8%IU(6!K45$(.1#I(6(,`61@(@0^SBE@>G4A8%@"'C)@)`) M2(H@Y$.-(=!H*4#P$I@@Y$,LP48P!HT@T$P>18V_1BS!1C`&K2#03"Q%K;]& M(/M#J*TAT"#[0ZHH8`"%@(XY1:(`AH$*"F6`"B:!"B:!"B:!&&TY19`"YH$8 M;9Y#A8"E@6V?0X6!8````````,D`\#F8(.1#C6=%I8"D@8UJ18QK1:``L8"- M9D4@]46@`+&`JJUG19&`CF=%(/U%J0&-:44@P46I_XUH16"I`(UH1:``K69% MD8`@]46M9T61@"#]16`L:$4P`6#.:470^JD4C6E%K6I%K&M%A:"$H:``L:!( M..D@*4#0!V@XZ4!,\D5H&&E`D:!@&*6!:=2%@6`XI8'IU(6!8```A86,`D2. M!D;@`-`!8.R<0Y`+I82FA:P"1"`#1&`DA1`+($=&((U&J2`@>D8DA5`/($=& M(&Q&((U&K0)$('I&8*T&1J(`(#I%I8"D@86"A(.MGD.LGT.%@(2!.*V<0^T& M1HT%1F`8I8%IU(6!I8-IU(6#8(U%1*T&1HU&1*V=0XU'1"!(1&"M!4;0`6#J M(+-&&*6":2B%@I`"YH,8I8!I*(6`D`+F@,<4>E!*0%C7)'C'-'(+0I(%@W>"#P1B!I.R`;*UBID*`(A?J$^R`S**DK MH$B%^H3[J5(@`RBI**!(A?J$^ZE7(`,HJ5<@`RBM<$>L<4>%^H3[K7)'K'-' MH@$@#"A8J0"@$R!:**D`(`8HJ0$@!BBI`B`&**UO1X6Z(-0TJ9,@TO],RRI3 M.@!+.@#!P\4M-C0@(,M%4DY%3"`P+C4T+C`P("T@P]/"(#,P+/@XZ1+86(X]8Z(1(!!CK4=CHA0@$&.M2&.B%R`08ZU)8RD'JKU,8XTC M8[U48XTD8[U<8XTE8ZDCH&,@-V%@2$I*2DH),)TC8V@I#PDPG21C8-1512TP M-2W-05DM,3DY,R`@,3$Z,S0Z,3(@4$T-#0``````````````*M/-U-?4QM,J M54]514A202I.3D5$54E4*LK&S<'-RLK!T\_.Q"I!14%00555545#3T4J3D)2 M4EE.3$=05%9#H(*$"K$"R?_P(B`/9+`=J`$E.1$E214-4 M+5)%5:````````````````````````````````````````````````!(J6"@ M986`A(&B1&@@42@@:V6B`+U@9?`&(!=IZ-#U8```````````````HO_HO6!E MT/K*RLK*X("0`6#@`+`!8+U@9#XT>#Y`#[A\/8*D7H&8@-V&I"B!`9:D-(!=I8"`@($92144Z`*D`H@.5 M1,H0^V"I`J+_>"!/8%B-)`]((#=G:*JI`(5%J<^@9B"A92`@9JD"A?VI`(TG M#Z4&I`>-*`^,*0^B`(7ZA/N&_*"C)`DP`J#!L0*HJ0&B8"#`:"`19R0)$$6I M`(7ZH*"Q`H7[C2H/J0&%_*"AL0*HJ0*F^^@@P&BI`H7\J0"@!(7ZA/N@I;$" MKB0/(`UIC20/H@6@_R#`:"#F92`%9F"I`8TD#R#F92`%9F!)3E1%4DZ@J"0) M,`*@QK$"A4"@8*G^Q$"P!Y$&R,1`D/DXI4#I8(5`.*T=#^5`C1T/K1X/Z0"- M'@^M'P_I`(T?#V"D",!@L`FI`)$&R,!@D/DXJ6#E"(5`&*5%94"%19`&YD;0 M`N9'8"0)$"^M)`_)`K`!8'BI`J`"A?R$_:D%H/^%^H3[A?Z$_ZG[H``@/RCF M_*7\S20/D.188*(_O79GG<#_RA#W8`"I`:+_($]@C2P/JM`&K30/\`%@J0"% M1:G=H&<@H64@(&:I`87]H*8D"3`"H,*Q`HTK#XTM#Z"G)`DP`J##L0*N+`\@ M#6F-+`^I`*#_KBL/A?J$^X;\K2P/H@"@_R#`:"#F92`%9F!2154@(""M+`_P M!JD`C30/8*XT#_#ZJ0"%1:E&H&@@H64@(&:I!H7]H*8D"3`"H,*Q`HTK#XTU M#Z"G)`DP`J##L0*N-`\@#6F--`^I`*#_KC(/A?J$^X;\K30/H@"@_R#`:"#F M92`%9F!23"U2156N,`^I`(5%J8Z@:""A92`@9J"!L0*N,`\@#6F-,`^I!X7] MJ0"@_Z(`CC$/A?J$^X;\K3`/H@"@_R#`:"#F92`%9F!23"U204VN(@^M(P^% M1:FYH&@@H66B`[T<#Y5$RA#X(`5FJ0T@%VD@U69@5$]404P@8(4*A@N$#*DL MH&F%_H3_H@"I_YTL:>C0^J8+Y`RP"JD`G2QIZ.0,D/BE_,4*L!ZI`*`!(#\H MYOPXI0SE"QAE185%D.7F1M#AYD=,Z&A@AD#%0)`"I4!@`"#2_XP6::``D7#F *<-`"YG&L%FD88``` ` end size 2350 crc ff3fd54d begin 620 sh M`!-,KQ-3R`D`````````````````H@),&A.B`87ZA/N@_\BQ^M#[F*``3`PH MH@&-/Q.I/Z`3A?J$^ZD!H`!,#"@`H@"I6:`3A?J$^ZD!H``@"2CP!*U9$V`X M8`"IDTPK$P``````````````('@33%$H('@3J0%,42B%8(1AAF*I`(5CJ5^@ M$X6`A(&I"*)@8*HXK0@/Z0*-"`^%8*T)#^D`C0D/A6&8H`&18(B*D6!@J;F@ M$R`8$TSB$\'#Q2#32$5,3"!615)3(#`N-30N,#`@+2##T\(@,C4MSD]6+3DS M#0T`J?^-#1.-!A.-!Q.-"!.I`(T.$ZD`C0\3K0T3\`,@6Q2M#!/P'*T.$]`7 MJ5NB`B`M$ZT4#ZP5#R`3$ZE8H!0@$Q.I`(T.$XT+$R!Q%+`GK0D3#0H3\!2M M#Q/0#R!Q%B#?%R"Z&"!U&"!Q%B")%BP+$S`#3/438%T@`*(`($LHHO_)`/`" MH@".#!.I`(T-$V"I`(T)$XT*$R!`$Y`#3!H5R2#P],D)\/#)#=`#3!D5R3O0 M"*G_C0X33!D5H@"&`H8$H@"&`\DB\`3))]`'A0.%!$R\%*8"G0!AY@(@0!.P M6:8#T"7)(/`]R0GP.8"3+P4R0#P MW\4#T-L@0!.P(\D@\`O)"?`'R0WP`TRB%$BF`JD`G0!A(!L5:,D-\`-,>108 M8*T/$_`!8*4$T!FB`*!2K0!AR3SP8*(!H%?)/O!8(*<6D`%@($(58*T(#ZP) M#QCE`K`!B(T(#XP)#X7ZA/N@`+D`89'Z\`/(T/:M"A.%^ZT)$PHF^QAI`(7Z MI?MI8H7[H`"M"`^1^LBM"0^1^NX)$]`#[@H38*D!A?JI887[K0%AR3[0""!J M%J!!K0)AR2'0!Z("(&H6J0#))O#UO083R?_0=9B.`&"-$!,@`RB0):T`#\D_ MT`L@+2BP(*T0$TS$%-$!-,Q!6N`&"=!A-@J0^@%DB8 M2*G_C0\3I?JD^R`3$VBH:"`3$V`Z(,524D]2($]014Y)3D<@4D5$25)%0U1) M3TX@1DE,12X-`*DYH!9,^14Z(,524D]2("T@S55,5$E03$4@4D5$25)%0U1) M3TY3($]&(%-!344@4U1214%-+@T`YOK0`N;[8*(`A@*]!A/)__`$J"`J*.8" MI@+@`Y#M8*(`A@*]!A/)__`*(`8HI@*I_YT&$^8"I@+@`Y#G8*G_A0J%"Z8" MRN#_\!B]`&').O`1R2K0\*0+P/_0ZH8+Y@M,KQ;HA@JE"\G_T`(88"#<%CA@ MJ0"%#Z8"Z,J]`&&=`6#D"M#UJ0"=`&"=`&&F"YT`8.8*Y@NB`+T`8?`&G0!@ MZ-#U.*4"Y0N%#>8-.*4"Y0J%#*D`H&"%^H3[("$HL!6%#B`G*+`%\`,@8A>E M#B`D**4/T`RI_XT/$ZE+H!<@$Q-@SD\@34%40T@@1D]2(%=)3$1#05)$#0"F M#B`G*+`"T`%@K6X/T`%@K6T/Q0R0Z:8*H``@S1>PX*8+.*UM#^4-J"#-%[#2 MH@"]`&#P!IT`8>C0]:``N6X/G0!A\`3HR-#TK6@/R5/P#YT!8:DLG0!AZ.BI M`)T`888"($(5J?^%#TQB%[T`8-`"& @_0!,CHT/`X8*D`H``@CQ.M"1.L M"A.$!PJ%!B8'.*T(#^4&C0@/A02M"0_E!XT)#X4%J0"@8H4"A`.E!@4'\!V@ M`+$"D03F`M`"Y@/F!-`"Y@6E!M`"Q@?&!DP0&*T(#ZP)#XT&#XP'#ZT)$ZP* M$XT$#XP%#R"/$ZT($Z#_((\3K083K`<3((\3K0H/K`L/((\3K0@/K`D/C0H/ MC`L/8*T*#ZP+#X4"A`.@`K$"F003R,`%D/:@`;$"F0H/F0@/F00`F08/B!#O MH`:Q!(T$#\BQ!(T%#QBM!@]I"(T&#Y`#[@I`*!@ M3%HHJ5V@&2`3$V#"040@15A415).04P@4%)/1U)!32!&3U)-050-`*T`#\D$ M\*+)!?">J9.@&4P3$ZFPH!E,$Q/%6%1%4DY!3"!04D]'4D%-($Q/040@15)2 M3U(-`,-/34U!3D0@3D]4($9/54Y$#0"D!*(`L0+P!YT`8,CHT/7(A`2@`;'Z MR3KP!XBQ^LDOT`2%!Z(`H`"Q^IT`8/`$Z,C0]:D`H&"%^H3[8$5#2$\`<1I3 M2`#,'D1)4D5#5$]260#M&D1)4@#M&D0`&AM,4P#Y&D-$``T=1P`-'4-!5`"^ M'5194$4`OAU4`+X=0TQ3`%H30TQ%05(`6A-%6$E4`'\>6`!_'D-,4TP`\QI` M`(4>1$]3`(4>4$%42`#:'@"I`(4$K08/K`M!`_)`I`' MJ0&@`"#*&B`A*)`!8(4"I@(@)RBP+O`L($XHL">E!1`#(,L#R!J$Z`9L1O(Z-#TJ0V9L1O(J0"9L1N$!V"I;J`/(!@3Y@2E!,4#D`FI M`(4$J0U,*Q.@_\BY;@_0^H0&J13E!H4&J2`@*Q/&!M#W8*G?H!P@&!.I;J`/ M(!@3J0T@*Q-@Q$E2.B``K5P/K%T/KEX/('`3J5^@$R`8$ZD`H!T@&!-@($)9 M5$53($92144-`*T$#\D"K04/Z0"P!"!=*&"I`:``(,H:H@*@`+'ZC0!AR+'Z MC0%AR,DZ\`2B`*``L?J=`&')`/!'R2_P#LDPD`3).I`&J2^=`&'HL?J=`&'P M!.C(T/7*O0!AR3KP"^BI.IT`8:D`G0%ARKT`8(!,3 M3!X>A0@@1!ZE""`&*.8&T`+F!Z4*T`RE!LT$#Z4'[04/D,%@.B!#04Y.3U0@ M3U!%3@T`I0*D`X7ZA/NE!*0%I@@@"2CP$;`/H@$@#"BP""!.*+`$3$P>8*G_ MA0JI=*`>3!,3/--43U!0140^#0"I_XT+$V"IR:`>A?J$^R`5*)`!8(4"J0&@ M`"#*&J7Z!?OP"Z7ZI/NF`B`;*+`7J0"@8*8"(!XHL`RI`*!@(!@3J0T@*Q.E M`DP8*"XZ`"#B$ZD`C0L3J?^-#1-@K0X/K`\/A0*$`ZD`A02M!0_P`6"M!`_) M`K!-J3R@'R`8$Z0$L0+0!JD-("L38*DBC0!@H@&Q`IT`8/`$R.C0]I`*0$D0)@H`"$!Z0'Y@>Q^J0$Y@21`LD`T/#F!DQ*'P`` ` end size 3193 crc 380f79a7 begin 620 config.sys M`,#_`````0@```$)```!"@```0L```$,```!#0```0X```$/```!$````1$` M``(```#_````_P```/\```#_``````0'`/\$!0#_`````@```/\```#_```` M_P```/\```#_````_P```/\```#_````_P```/\```#_````_P```!#_____ M_QF3`0$````&"@!!.@``````````````````!/\`_P`(`/_````.!@`%``X& M!`,,#0``!0<$`PT/`08`_P#_``3``@,/````````#@8$`PP-```/!P4##0D# A`D$Z`"XZ```````````````````````````````````` ` end size 258 crc 227a0d61 begin 620 config.edit M`1Q`'&0`F2*3(JK'*#$T*:HBP')`!1+(Q.#$@.B!(3K(X(#H@AB!,3RA$ M*2Q(12A$*2Q$220H1"DL2"0H2$XL,BD`T!ST`5-0)+(B("`@("`@("`@("`@ M("`@("`@("`@("`@("`@("`@("`@("`@("`@(@#V'%@"F2(1TD5!1$E.1R!& M245,1"!$15-#4DE05$E/3E,N+BXB`!@=O`*!2;(QI$0ZAR!,3RA)*2Q(12A) M*2Q$220H22DZ@@`U'2`#F2(1TD5!1$E.1R!(14Q0($1!5$$N+BXB`%8=A`.! M2;(PI$A..H%*LC"D,CJ'($@D*$DL2BDZ@CJ"`&4=Z`-4LC$@.B!-1+(P`&T= M3`12LC``G1VP!)DB$>`5#0;(T.3$U,B`Z M()-C4T-CD`11[-C4T-C8`E!ZD!I"`>+(,(H-S@S*:\Q M(*<@F2(10T].1DE'+E-94SH@3$]!1"!%4E)/4B,B.\(H-S@P*3J``.L>;`>9 M(A')3E-404Q,24Y'(,G.T-74($-/1$4N+BXB`!$?T`>!2;)#0:HR-3:D0T&J M,C4VJC$U.H<@03J7($DL02`Z(((`&Q\T"(TU-S`P`%4?F`B9(I/!P\4@PT]. M1DE'(,5$251/4B([4UD[HS,R*3LB4$%'12([Q"BU*"A4JS$IK3$X*:HQ*0"$ M'_P(F2+`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,#`P,`B M`)L?8`E"LE2J,3@F2+(S\W%/4A/344L(,/,TCU&25)35"!0 M04=%("`@("`@("`@("`@("`B`,8EW!Z94U`D`/8E0!^9(BLO+3U004=%+"#2 MQ=35TLX]141)5"P@4SU3059%+"!1/5%5250@("([`/PEI!^.`"8F"""9(%@D M.R(J(B`Z()DB$Q$1$1$1$1$1$1$1$1$1$1$1$1$1$2([`%,F;"!3LD-!JC$T M-#I,LC$U.HM(LC$R.:=,LC,Q.E.R0T&J,C(T.HDY,C`P`((FT""9(L5.5$52 M($E.251)04P@1$E214-43U)9+"!-05@@,34@0TA!4E,@("(`L28T(9DB+2TM M+2LM+2TM,2TM+2TK("`@("`@("`@("`@("`@("`@("`@("`@(@#&)I@AF2!3 M4"0ZF2!34"0[(I&1(@#D)OPA@4FR4Z13JDPZF<!2;(P MI$PZEU.J22S&*,HH020L2:HQ+#$I*3J".HDY,3`P`%(I=">+(%-9LC$R.""G M()X@0T&J,C4V+#`L,"PP+#`@.B#^"2!!+%@@.B"),3`S,#``-C4T.38`]BLH*8L@PB@W.#,IKS$@IR"9(A%# M3TY&24B]P,(,@,38S+#`L M(L,Q,C@@0D%.2S`@14Y$($92144@4$%'12LQ("A.+C(U-2DB`*HOU#"#(#$V M-2PP+"+#,3(X($Q!4U0@04Q,3U=%1"!&4D5%($)!3DL@*$XN."DB`-LO.#&# M(#$V-BPP+"+#,3(X($9)4E-4(%5304),12#2Q=4@0D%.2R`H3E)-+C`I(@`+ M,)PQ@R`Q-C# M(#(Q-BPS+"+#-C0@-#`M0T],($-(05)!0U1%4B!#3TQ/4B(`!#05-X,@,C$W M+#,L(L,V-"`T,"U#3TP@0U524T]2($-/3$]2(@`J-!8W@R`R,3@L,RPBPS8T M(#0P+4-/3"!35$%455,@0T],3U(B`%,T%S>#(#(Q.2PS+"+#-C0@-#`M0T], M(%-%4$%2051/4B!#3TQ/4B(`?#08-X,@,C(P+#,L(L,V-"`T,"U#3TP@2$E' M2$Q)1TA4($-/3$]2(@"A-!DW@R`R,C$L,RPBPS8T(#0P+4-/3"!!3$525"!# M3TQ/4B(`QS0:-X,@,C(R+#,L(L,V-"`T,"U#3TP@0D]21$52($-/3$]2(@#M M-!LW@R`R,C,L,RPBPS8T(#0P+4-/3"!30U)%14X@0T],3U(B`!HUW#>#(#`L M-"PB1$5624-%($`Z($12259%4B!465!%("@R-34]3E5,3"DB`#\U0#B#(#$L M-2PB1$5624-%($`Z($1%5DE#12!!1$1215-3(@!G-:0X@R`R+#8L(D1%5DE# M12!`.B!314-/3D1!4ED@041$4D534R(`@S4(.8,@,RPW+")$159)0T4@0#H@ M1DQ!1U,B`+`U;#F#(#0L-"PB1$5624-%(,$Z($12259%4B!465!%("@R-34] M3E5,3"DB`-4UT#F#(#4L-2PB1$5624-%(,$Z($1%5DE#12!!1$1215-3(@#] M-30Z@R`V+#8L(D1%5DE#12#!.B!314-/3D1!4ED@041$4D534R(`&3:8.H,@ M-RPW+")$159)0T4@P3H@1DQ!1U,B`$8V_#J#(#@L-"PB1$5624-%(,(Z($12 M259%4B!465!%("@R-34]3E5,3"DB`&LV8#N#(#DL-2PB1$5624-%(,(Z($1% M5DE#12!!1$1215-3(@"4-L0[@R`Q,"PV+")$159)0T4@PCH@4T5#3TY$05)9 M($%$1%)%4U,B`+$V*#R#(#$Q+##(#,Y+##(#0Q M+#4L(D1%5DE#12#*.B!$159)0T4@041$4D534R(`8SM$2(,@-#(L-BPB1$56 M24-%(,HZ(%-%0T].1$%262!!1$1215-3(@"`.ZA(@R`T,RPW+")$159)0T4@ MRCH@1DQ!1U,B`*X[#$F#(#0T+#0L(D1%5DE#12#+.B!$4DE615(@5%E012`H M,C4U/4Y53$PI(@#4.W!)@R`T-2PU+")$159)0T4@RSH@1$5624-%($%$1%)% M4U,B`/T[U$F#(#0V+#8L(D1%5DE#12#+.B!314-/3D1!4ED@041$4D534R(` M&CPX2H,@-#%"#(#8S+##(#@P+#0L(D1%5DE#12#4.B!$4DE615(@5%E012`H,C4U/4Y53$PI M(@`^08!7@R`X,2PU+")$159)0T4@U#H@1$5624-%($%$1%)%4U,B`&=!Y%># M(#@R+#8L(D1%5DE#12#4.B!314-/3D1!4ED@041$4D534R(`A$%(6(,@.#,L M-RPB1$5624-%(-0Z($9,04=3(@"R0:Q8@R`X-"PT+")$159)0T4@U3H@1%)) M5D52(%194$4@*#(U-3U.54Q,*2(`V$$068,@.#4L-2PB1$5624-%(-4Z($1% M5DE#12!!1$1215-3(@`!0G19@R`X-BPV+")$159)0T4@U3H@4T5#3TY$05)9 M($%$1%)%4U,B`!Y"V%F#(#@W+#@R`Y."PV+")$159)0T4@ MV#H@4T5#3TY$05)9($%$1%)%4U,B`.Q#B%Z#(#DY+#.B!$159)0T4@041$4D534R(`@D>$9X,@,3(R+#8L(D1%5DE# M12!>.B!314-/3D1!4ED@041$4D534R(`H$?H9X,@,3(S+# M.B!&3$%'4R(`ST=,:(,@,3(T+#0L(D1%5DE#12!?.B!$4DE615(@5%E012`H M,C4U/4Y53$PI(@#V1[!H@R`Q,C4L-2PB1$5624-%(%\Z($1%5DE#12!!1$12 M15-3(@`@2!1I@R`Q,C8L-BPB1$5624-%(%\Z(%-%0T].1$%262!!1$1215-3 M(@`^2'AI@R`Q,C#F?_'Y^?GY^?#____G(B`E)S___^#F9F9F?___\.9F9G#____@YF9 M@Y^?___!F9G!^?G__X.9GY^?____PY_#^8/_S\\#S\_)X____YF9F9G!____ MF9F9P^?___^'QF`#@8&!@8&#P```!C=W]K8P```'QF M9F9F````/&9F9CP```!\9F9\8&```#YF9CX&!@``?&9@8&`````\8#P&?``P M,/PP,#8<````9F9F9CX```!F9F8\&````&-K?S8B````9CP8/&8```!F9F8^ M!GP``'X,&#!^`#PP,#`P,#P``&`P&`P&`P`\#`P,#`P\``@<-F,````````` M````?@#____GY________P``____Y^?GY^?GY^?GY^<``.?GY____^#@Y^?G M____!P?GY^?GY^?@X/___^?GYP<'____Y^?GX.#GY^?GY^<'!^?GY____P`` MY^?GY^?G``#____)@("`P>/W__?CP8#!X_?_Y\,D`('GP__WX\&`@./!___# M@8&!@?GY^?_Y^?GYX'#Y___[\^`@,_O___W\P$!\_?_S^?S_______G MPYF!F9F9_X.9F8.9F8/_PYF?GY^9P_^'DYF9F9.'_X&?GX>?GX'_@9^?AY^? MG__#F9^1F9G#_YF9F8&9F9G_P^?GY^?GP__A\_/S\Y/'_YF3AX^'DYG_GY^? MGY^?@?^3F?_#F9_#^9G#_X'GY^?GY^?_F9F9F9F9P_^9F9F9F?GC^?G\?_GY^?_Y^?G_X_G MY_'GYX__C"0Q_______WX\F&!@?@!^8&!X8&!@`#QF8&YF9CP`9F9F?F9F9@`\&!@8&!@\`!X, M#`P,;#@`9FQX<'AL9@!@8&!@8&!^`&-W?VMC8V,`9G9^?FYF9@`\9F9F9F8\ M`'QF9GQ@8&``/&9F9F8\#@!\9F9\>&QF`#QF8#P&9CP`?A@8&!@8&`!F9F9F M9F8\`&9F9F9F/!@`8V-C:W]W8P!F9CP8/&9F`&9F9CP8&!@`?@8,&#!@?@`. M&!AP&!@.`!@8&``8&!@`M!`_)`Y`[((E@ M(`\HP`#P`TQ_8JT%#]`IK00/R0/0(JD!H``@9F"E^J3[A0B$":D"H``@9F"E M^J3[A0J$"R`X86"I]*!@H@(@#F!@55-!1T4Z($-0($923TU&24Q%(%1/1DE, M10T@("`@("`@0U`@1E)/349)3$4Q($923TTR("XN+D923TW.(%1/1$E2#0"E M"*0)A?J$^ZE2(`,HD`>E"*0)3"QBA0:E"J0+A?J$^ZE7(`,HD"6M``_)/_`, MI08@!BBE"J0+3"QB()1A\`>E!B`&*#A@(`%B3%!AA0<@#6*E!R`&**4&(`8H M8*T%8/`#J0!@J>>@82`,8*4*I`L@#&"I\Z!A(`Q@(#1@R0WPY$@@-&#)#=#Y M:,E1T`>I_XT&8#A@R='P]I_XT%8*E9R<'P]%_H3_(#`HD`,@4F'F`M`"Y@-,WV!@($XHL`%@ MJ4>@82`98*D!H@!,2"@\4U1/4%!%1#X-`*EGH&$@&6"E!*0%(!E@J82@84P9 M8,524D]2($%45$5-4%1)3D<@5$\@4D5.04U%("(`(@T`J:N@82`98*4$I`4@ M&6"INZ!A(!E@I0:D!R`98*G"H&$@&6!@TD5.04U)3D<@1DE,12`B`"(@5$\@ %(@`B#0`` ` end size 455 crc c25e03cb begin 620 xls M`&!,!F!#P@FI`(43A1>%&(49J0"@`(4"A`,@3BB0`TSY8.8"T`+F`Z4"I`,@ MX62E^@7[\""@`+'ZR2W0!B!F8$P88*7ZI/N%!(0%($1AJ?^%&$P88*48T`NI M8Z!@A02$!2!$86`N.@"@`(1"I?JD^X5`A$'F0J1"L4#0`6#)/]`.J::@8"#' M9*D`H@!,2"C)3-`'J?^%$TQR8,E#T`>I_X493')@3')@55-!1T4Z($Q3(%LM M75M,75L_75M#72!;1$E214-43U)9("XN+ET-3U!44SH@($P]3$].1R!&3U)- M+"`_/4A%3%`L($,]0TQ%05(@4T-2145.#0"I!Z!A(,=DJ0&B`$Q(*#S35$]0 M4$5$/@T`J2>@82#'9*4$I`4@QV2I0:!A3,=DQ5)23U(@4D5!1$E.1R!$25)% M0U1/4ED@(@`B#0"E&?`%J9,@S&2E$]`=H@$@2RB&%LD`T`N*HO_HZ12P^XK0 M`JD!A1%,>6&B`2!+*(86J0&%$:D`A1*B`Y4DE2#*$/FE!*0%A?J$^R`A*)`# M3!)AA1"F$"`G*+`W\#4@3BB0`TSY8*43$`,@3&.F$"`G*+`?\!T@3BB0!B#6 M84SY8*UN#_`&(.1A3+!AI1,0`R!F8Z42\`6I#2#,9*403"0H+&P/,![F(-`* MYB'0!N8BT`+F(Z(`H`08M21]7`^5).B(T/4D$S`#3!IC('MBJ2*@8H7ZA/NE M%:``H@%,#"A$4E=8*BU-5"`@,#`MV%A8+3`P("`Q,CHP,$$@,3(S-#4V-S@@ M*M/%T2`@,3(S-#4V-S@Y,#$R,S0U-@T`1%)76"HM350@(#`P+=A86"TP,"`@ M,3(Z,#!!(*(`K6P/"DBI+9`#O5]BG2)B:.C@")#N(!UDHA.]9V*=*F+*$/>B M`[U<#Y4HRA#XJ02@986`A(&I"*(H(%$HH!RE%LD\L`*@"*(`O01EF2)BR.C@ M")#TJ2"9(F+(K29BR2W0`JD@F2)BR*(`O6@/"8"9(F+(Z.`#D/*I()DB8LB9 M(F+(H@"];@_P!YDB8LCHT/2I#9DB8LBI`)DB8H058*ENH`\@M&3F$J42Q1&0 M":D`A1*I#4S,9*#_R+EN#]#ZA!2I%.44A12I("#,9,84T/=@J6"@8R"T9*EN MH`\@M&2I#2#,9&#$25(Z(`"B`[U<#Y4HRA#XH@"@`+W#8_`+R020%YG=8^C( MT/"IW:)CA?J&^YB@`*(!3`PHAD"$03CI`0H*:2"JJ02@986`A(&I`2!1**(` MI$&]!&7P!YG=8^C(T/2F0.A,=&-&24Q%4ST!("!"651%4ST"("!&4D5%/0,- M```````````````````````````````````````````````````````````` M``````````````````````````"M80^B"2!Z9*UB#\D0D`,XZ0:JO8UDC6QB MO9IDC6UBO:=DC6YBK6,/H@(@>F2M9`^B0F2M90^B$"!Z9&!(2DI*2@DPG6=B:"D/"3"=:&)@V,K& MS<'-RLK!T\_.Q%A!14%00555545#3T583D)24EE.3$=05%9#H@&%^H3[H/_( ML?K0^YB@`$P,**("3+9DH@&-X&2IX*!DA?J$^ZD!H`!,#"@`A/L*A?HF^QBM E!@]E^H7ZK083A@ MJ0"%#:D!A0X@6F*P!Z4-R2V0]1@(I`ZI#9G>8N8.I0W)`/`7(,ABC=YBJ=Z@ M8H7ZA/NE#J``H@$@#"@H8````*("J0"=5V+*$/JB`(8/(-YAL`VF#YU78N8- MZ.`#D.T8"*0.K5=B2DH@R&*9WF+(K5=B"@H*"H4/K5AB2DI*2@4/(,ABF=YB MR*U88@H*A0^M66(**BHI`P4/(,ABF=YBR*U98B#(8IG>8LB$#BA@*3_0`ZG` 08!AI(,E!L`%@R5NP`FF`8``` ` end size 736 crc 0042e94a begin 620 uudecode M`&!,<6!#P@``H@&%^H3[H/_(L?K0^YB@`$P,**("3`E@H@&-,V"I,Z!@A?J$ M^ZD!H`!,#"@`H@"I3:!@A?J$^ZD!H``@"2CP!*U-8&`X8`"$^PJ%^B;[&*T& M#V7ZA?JM!P]E^X7[H`"Q^JK(L?J&^H7[8*T%#]`UK00/R0*P+JF$H&!,!V#5 M4T%'13H@555$14-/1$4@1DE,13$@1DE,13(@+BXN($9)3$7.#0`XK0@/Z3R% M!JT)#^EEA0>I`:``A0*$`Z4"I`,@3F"E^J3[A02$!07[\!0@)F$@4V&0`R#J M8.8"T`+F`TS"8&"I_Z!@(!I@I02D!2`:8*DCH&%,&F#%4E)/4B!!5%1%35!4 M24Y'(%1/(%551$5#3T1%($9)3$4@(@`B#0"I.Z!A(!I@I02D!2`:8*E-H&%, M&F!5541%0T]$24Y'($9)3$4@(@`B+BXN#0"E!*0%A?J$^ZE2(`,HD`%@A0P@ M;F&E#"`&*&"I`(4*A0N-1&2-160@1F20`6"B`*W89,E"\`*B!J``N=ADW<)A MT.7HR,`&D/*@`.`'D`*@_XP%8*WA9,D@T,VB`+W>9,DPD,3).+#`Z.`#D/!, MSF%"14=)3B!B96=I;B"M!6#P`"!?8B"08B"R8JGBH&2%^H3[J5<@`RB0%ZT` M#\D_\`8@WV),>F$@$F.I5R`#*+#PA0T@1F2P'2!J8Y`*J2Z@8B`:8$P$8JW8 M9/`)(-AC(#%D3`1BI0T@!BA,>F%705).24Y'.B!"040@0TA!4D%#5$524R!) M3B!,24Y%.R!)1TY/4DE.1R!,24Y%+@T`+`5@,`%@H@"]XF3P"2!V8IWB9.C0 M\F`I?\E@D`,8:6"H*7_)0;`"F&#)6[#ZF$F`8*(`O>)D\`/HT/B]X&3)+-`! M8*DLG>)DJ5"=XV2I`)WD9&"IQZ!B(!I@J>*@9"`:8*G9H&),&F!%6%1204-4 M24Y'($9)3$4@(@`B+BXN#0"E^J3[(!I@J>Z@8B`:8&`Z($-!3DY/5"!/4$5. M.R!32TE04$E.1R!42$E3($9)3$4N#0"I2Z!C(!I@J>*@9"`:8*EEH&,@&F`@ M-&!(R0WP!B`T8$PK8ZGBH&2%^H3[:,E9\`7)V?`!8"`M*&#/5D525U))5$4@ M15A)4U1)3D<@1DE,12`B`"(_(```J0"-:6.MV&30`AA@(*]CD`%@C=ADHCS) M+I`"HE2&#Z(`Y`^0`AA@+&EC,!"]V63P!B"O8Y`(8*G_C6ECJ0"=V63HT-U@ MR2"P`CA@R6"P!3CI(!A@R6#0!!BI`&#)P/#XL`(X8,G;D`%@..F@&&"B`*`` M(.5CS-ADD/A@O=ED"@J-!F#HO=ED2DI*2BD##09@F=EDR+W99`H*"@J-!F#H MO=ED2DHI#PT&8)G99,B]V63H:FIJ*<"-!F"]V63H*3\-!F"9V63(8*G9H&2% M^H3[K=ADH`"F#2`,*&```*U$9/`".&"B`(8.()QDL!#)"AC0"ZY%9.`-&-`# M()QDD`BI_XU$9$R&9,D-\!+)"O`.I@[@8K`%G=ADY@Y,8V2-162F#JD`G=AD MX`#P`AA@K41DR0%@I0H%"_`4H`"Q".8(T`+F":8*T`+&"\8*&&"I/*!EA?J$ ;^X4(A`FE!J0'I@P@"2CP";`'A0J$"TR<9#A@ ` end size 1242 crc d5caabe1 begin 620 bcode M`&!,!F!#P@DXJ2W-"`^I;>T)#[`#3-5@J22@8"`6:ZD!H@!,2"C)3E-51D9) M0TE%3E0@4%)/1U)!32!34$%#12!43R!254X@0D-/1$4-`*E7H&`@%FM,'6!5 M4T%'13H@0D-/1$4@6RU(14Q072!;+59=(%LM55T@6RU-72!;+4P@34%87TQ) M3D5?0T]53E1=($9)3$5.04U%("XN+@U&3$%'4SH@+58Z5D520D]312P@+54Z M54Y)6"U!4T-)22P@+4TZ35,M1$]3+4%30TE)#0!35$1)3@"I_X45J0"@`"`U M:Z7ZI/N%$X04J0"%%JD`A0*%`ZG/H&"%$(01J0"%#JD`A1(XK0@/Z>V%&ZT) M#^ELA1P@)F+F`M`"Y@.E`J0#(#5KI?H%^_`8"T`+F`Z4"I`,@-6NE M^@7[\"&@`"!@:[`:H@.U,I4*RA#YI0H%"P4,!0WP!ZG_A0Y,$6&IPZ!A(!9K M3!U@Q=+2S](Z($E.5D%,240@34%824U532!,24Y%($Q)34E4($=)5D5.(%=) M5$@@+4P@3U!424].#0"I$:!B(!9KI02D!2`6:ZD@H&(@%FM@0D-/1$E.1R!& M24Q%("(`(BXN+@T`($XHL`%@J3:@8B`6:TP=8#S35$]04$5$/@T`J?^%%J4$ MI`6%^H3[J5(@`RBP284=J0"%&84:(&UEJ0&@`(4MA"Z$+X0PJ0&%'B0.$`,@ MRV(@IF.E'LD!\`,@!B@D.A`&I1T@!BA@YBW0"N8NT`;F+]`"YC!,:V*ILZ!B M(!9KI02D!2`6:ZG(H&(@%FM@Q=+2S](Z($-!3DY/5"!/4$5.("(`(@T`I02D M!87ZA/L@<&2&<*GAH&R%@(2!J0&B+2!1*,`!T!&MX6R-XFRI,(WA;*D`C>-L MR)@8:0*%<1BE<&5QI'#)$9`&.*D0Y7&HJ2Z9%6S(J4*9%6S(H@"]X6R9%6SP M!.C(T/2I%:!LA?J$^ZE7(/=KA1Z0&*F#H&,@%FNI%:!L(!9KJ9B@8R`6:TP= M8*ENH&,@%FNI%:!L(!9KJ2(@&VNI#4P;:T]55%!55%1)3D<@5$\@1DE,12`B M`,72TL_2.B!#04Y.3U0@3U!%3B`B`"(L($%"3U)424Y'(0T`J4"@9"!F:J(M M(+MJJ2`@?&JE!*0%A?J$^R!P9*D5H&P@9FJI#2!\:B`-:JD`A3:%-X4XA3D@ MJ620!ZG_A3I,#&0D#A#PYC;0"N8WT`;F.-`"YCDXH`2B`+4V]0KHB-#XD-.I M`(4Z(%IJ)#H0!ZE/H&1,'F2I7*!D(&9JHBT@NVJI("!\:J(I(+MJJ2`@?&JB M)2#0:JD-('QJ8"TM0D-/1$4M0D5'24X@`"TM0D-/1$4M14Y$(``M+4)#3T1% M+4-/3E1)3E5%1"```*#_C&]DR+'Z\`[).O`$R2_0\XQO9$QU9*QO9*+_R.BQ M^IT5;-#WX`*0#KT3;,DLT`>I`)T3;,K*8.8QI3$I!]`#("9B(+-ED`%@AA^I M`)UF;)UG;"`;:J(`H``@#67D'Y#Y\`VI/9D4;,KD'_`#F1-LJ0V9%6RF$N`` M\`[(J0J9%6S@`?`$B)D5;,B8J16B;(7ZAON8H`"F'B`,*&"&(+UF;$I*JKVA M;)D5;,BF(+UF;`H*"@J%(;UG;$I*2DH%(2D_JKVA;)D5;,BF(+UG;`H*A2&] M:&P**BHI`P4A*3^JO:%LF15LR*8@O6AL*3^JO:%LF15LR*8@Z.CH8`"@`*(` MI1+)`/`"H@N.;&6N;&6]G67P&$B]GF6J:)FA;!AI`"+(DAQ&K/9`&O"J) M'Z4SHC2.&+LMEP'T8MA.[7O!5\90ZGS?2?-E6,YTXD'7;?MJ_$;0<^5?R3RJ M$(8ELPF?#I@BM!>!.ZT@M@R:.:\5@Q*$/J@+G2>Q1-)H_EW+<>=VX%K,;_E# MU>A^Q%+Q9]U+VDSV8,-5[WF,&J`VE0.Y+[XHD@2G,8L=L":<"JD_A1."%*XX MFPVW(=1"^&[-6^%WYG#*7/]ITT5X[E3"8?=-VTK<9O!3Q7_I'(HPI@63*;\N MN`*4-Z$;C0`P85'$]*65B+CIV4Q\+1T0('%!U.2UA9BH^34 MA;6HF,GY;%P-/3``46'TQ)6EN(C9Z7Q,'2U!<2`0A;7DU,GYJ)@-/6Q<46$P M`)6E],39Z;B('2U\3&%1`#"EE<3TZ=F(N"T=3'QQ01`@M874Y/G)F*@]#5QL M@[/BTD=W)A8+.VI:S_^NGI.C\L)79S8&&RMZ2M_OOHZCD\+R9U<&-BL;2GKO MWXZ^LX/2XG='%B8["UIJ_\^>KL+RHY,&-F=72GHK&XZ^[]_2XK.#%B9W1UIJ M.PN>KO_/XM*#LR861W=J6@L[KI[/__+"DZ,V!E=G>DH;*[Z.W^\`!PX);6IC M9-O^N=W:T]2R MM;R[W]C1UFEN9V`$`PH-!0(+#&AO9F'>V=#7L[2]NKB_MK'5TMO<8V1M:@X) M``PUM'8W[N\M;(-"@,$8&=N:6%F;V@,"P(%NKVT ML]?0V=YD8VIM"0X'`+^XL;;2U=S;T]3=VKZYL+<(#P8!96)K;`H-!`-G8&EN MT=;?V+R[LK6]NK.TT-?>V69A:&\+#`4"`'?NF0=PZ9X.>>"7"7[GD!UJ\X0: M;?2#$V3]BA1C^HT[3-6B/$O2I35"VZPR1=RK)E'(OR%6S[@H7\:Q+UC!MG8! MF.]Q!I_H>`^6X7\(D>9K'(7R;!N"]642B_QB%8S[33JCU$H]I--#-*W:1#.J MW5`GOLE7(+G.7BFPQUDNM\#MF@-TZIT$<^.4#7KDDPI]\(<>:?>`&6[^B1!G M^8X78-:A.$_1IC](V*\V0=^H,4;+O"52S+LB5<6R*US"M2Q;F^QU`ISK<@65 MXGL,DN5\"X;Q:!^!]F\8B/]F$8_X81:@UTXYI]!)/J[90#>IWD3")KR4&P`6"J$`/I8*HI']`"BF#)&[#Z MBDD@8*GAH&R%@(2!J0$@42BIX:!L(&9J8*D$A7"@`.CHZ+4`2$I*2DH@]&IH M(/1JRL9PT.VI`)GA;$S(:BD/"3#).I`":0:9X6S(8*(!A?J$^Z#_R+'ZT/N8 MH`!,#"BB`DP%:Z("3")KH@&--&NI-*!KA?J$^ZD!H`!,#"@`A/L*A?HF^QBM M!@]E^H7ZK06LX8`"-]FL@`RBP`6"M``_)/_`".&`@+2BM]FL@`RBP\V`` ` end size 3095 crc b3fe0d9b begin 620 unbcode M`&!,BV1#PC$N,#```````````````````````````)8LNAF/-:,RI!Z(*[T' MD63R2-Y]ZU''5L!Z[$_98_7(7N1RT4?]:_ILUD#C=<]9K#J`%K4CF0^>"+(D MAQ&K/9`&O"J)'Z4SHC2.&+LMEP'T8MA.[7O!5\90ZGS?2?-E6,YTXD'7;?MJ M_$;0<^5?R3RJ$(8ELPF?#I@BM!>!.ZT@M@R:.:\5@Q*$/J@+G2>Q1-)H_EW+ M<>=VX%K,;_E#U>A^Q%+Q9]U+VDSV8,-5[WF,&J`VE0.Y+[XHD@2G,8L=L":< M"JD_A1."%*XXFPVW(=1"^&[-6^%WYG#*7/]ITT5X[E3"8?=-VTK<9O!3Q7_I M'(HPI@63*;\NN`*4-Z$;C0`P85'$]*65B+CIV4Q\+1T0('%!U.2UA9BH^34A;6HF,GY;%P-/3``46'TQ)6EN(C9Z7Q,'2U!<2`0A;7DU,GY MJ)@-/6Q<46$P`)6E],39Z;B('2U\3&%1`#"EE<3TZ=F(N"T=3'QQ01`@M874 MY/G)F*@]#5QL@[/BTD=W)A8+.VI:S_^NGI.C\L)79S8&&RMZ2M_OOHZCD\+R M9U<&-BL;2GKOWXZ^LX/2XG='%B8["UIJ_\^>KL+RHY,&-F=72GHK&XZ^[]_2 MXK.#%B9W1UIJ.PN>KO_/XM*#LR861W=J6@L[KI[/__+"DZ,V!E=G>DH;*[Z. MW^\`!PX);6IC9-O^N=W:T]2RM;R[W]C1UFEN9V`$`PH-!0(+#&AO9F'>V=#7L[2]NKB_MK'5 MTMO<8V1M:@X)``PUM'8W[N\M;(-"@,$8&=N:6%F M;V@,"P(%NKVTL]?0V=YD8VIM"0X'`+^XL;;2U=S;T]3=VKZYL+<(#P8!96)K M;`H-!`-G8&ENT=;?V+R[LK6]NK.TT-?>V69A:&\+#`4"`'?NF0=PZ9X.>>"7 M"7[GD!UJ\X0:;?2#$V3]BA1C^HT[3-6B/$O2I35"VZPR1=RK)E'(OR%6S[@H M7\:Q+UC!MG8!F.]Q!I_H>`^6X7\(D>9K'(7R;!N"]642B_QB%8S[33JCU$H] MI--#-*W:1#.JW5`GOLE7(+G.7BFPQUDNM\#MF@-TZIT$<^.4#7KDDPI]\(<> M:?>`&6[^B1!G^8X78-:A.$_1IC](V*\V0=^H,4;+O"52S+LB5<6R*US"M2Q; MF^QU`ISK<@65XGL,DN5\"X;Q:!^!]F\8B/]F$8_X81:@UTXYI]!)/J[90#>I MWD9*(" M3#MDH@&-362I3:!DA?J$^ZD!H`!,#"@`H@"I9Z!DA?J$^ZD!H``@"2CP!*UG M9&`X8`"$^PJ%^B;[&*T&#V7ZA?JM!P]E^X7[H`"Q^JK(L?J&^H7[8#BIY,T( M#ZF1[0D/D#FIIJ!D("]DJ0&B`$Q(*,E.4U5&1DE#245.5"!04D]'4D%-(%-0 M04-%(%1/(%)53B!53D)#3T1%#0"M!0_P`TQ<9:T$#\D"D`-,7&6I[:!D("]D M3)]D55-!1T4Z(%5.0D-/1$4@6RU672!;+4E=(%LM1%T@6RU(14Q072!&24Q% M3D%-12`N+BX-("`@("`@(%LM5ET]5D520D]312P@6RU)73U)3D9/4DU!5$E6 M12P@6RU$73U$14)51T=)3D<@24Y&3PT`J?^-#F"I`(T/8*D`C1!@J0"@`"!H M9*7ZI/N-#&",#6"I`(T;8*D`C1MXA2:%)R!6=CBM"`_II(4&K0D/Z9&%!ZD` MA0*%`R"29N8"T`+F`Z4"I`,@:&2E^@7[\"2E^J3[A02$!:``L?K)+=`&(.!E M3*)E(&9F(*UFD`,@'F9,HF4@SG1@R+'ZT`%@R43P$\E6\!W)2?`DR4C0`TSC M9.I,X&6I_XT08(T/8(T.8$S@9:G_C0]@C0Y@3.!EJ?^-#F!,X&6I-*!F("]D MI02D!2`O9*E7H&8@+V1@Q5)23U(@051414U05$E.1R!43R!53D)#3T1%($9) M3$4@(@`B+"!#3TY424Y524Y'#0"I>Z!F("]DI02D!2`O9*F,H&9,+V153D)# M3T1)3D<@1DE,12`B`"(N+BX-`"!.*+`!8*FBH&8@+V1,GV0\TU1/4%!%1#X- M`*4$I`6%^H3[J5(@`RB0`6"%#"#(9J4,(`8H8*D`A0J%"XW::HW;:B#<:I`" M&&"MQG?)+=#R())FH@"MR'?)0O`"H@Z@`+G&=]T.9]#:Z,C`#I#RH`#@#Y`" MH/^,"F!,*F-IC0EJ8+W&=PH*C0M@Z+W&=TI*2DHI M`PT+8)G&=\B]QG<*"@H*C0M@Z+W&=TI**0\-"V"9QG?(O<9WZ&IJ:BG`C0M@ MO<9WZ"D_#0M@F<9WR&"IQJ!WA?J$^ZT):J``I@T@#"A@H@.I_Y4:J0"5'LH0 M]6"@`,P):K`FN<9W11JJI1M='&"%&J4<71QAA1NE'5T<8H4C`Y M*RLO+P#HCLEKJIB=A)#(Z.S):Y#U8*G_A2*B"RP*8!`"HA>@"R"P;*`+D!NI M`(4BHBDL"F`0`J([H!$@L&R@$I`%J0!,P&P@#&F0!:D!3,!LH@.U%M40T//* M$/<@#&F0!:D"3,!LH@.U%M4>T//*$/?((&%LD`6I`TS`;*(#M1;5&M#SRA#W M(&AP+!!@$`BB`HXZ="`\=""29AA@H@.YQG?(((=LL!D*"@H*C0M@N<9WR""' M;+`)#0M@E1;*$-\88``L"F`0"8Z&;"!I:*Z&;,DPL`(X8,DZD`TI?\E!D/3) M1[#P..DW*0\88+G&=]UH;=`&RH@0]!A@.&!(I02D!2`O9&@*JKWD;*B]XVP@ M+V2I5*!M("]D(&MU())F8.ML"FTD;3EM.B!)3E9!3$E$(%1/2T5.($].($9) M3DE32"!,24Y%`#H@4T5'345.5"!.54U"15(@34E334%40T@`.B!&24Q%(%-) M6D4@34E334%40T@`.B##TL,M,S(@0TA%0TM354T@34E334%40T@`+"!)1TY/ M4DE.1R!314=-14Y4#0`M+4)#3T1%+45.1"`M+6)C;V1E+65N9"`M+4)#3T1% M+4-/3E1)3E5%1"`M+6)C;V1E+6-O;G1I;G5E9"!(J3"-+WBIPHTP>*G#C3%X MJ3*@>(6`A(&%^H3[HB2I!2#<;6C)`/`/J2R9,GBI4)DS>*D`F31X8"!1**`` ML8#P"\D@T`2I,)&`R-#Q8`"I_X4CYB.E(\T78)`#3(=N(%-O('EOR0#0ZJ`` MI1#1**41R/$HD#*@`K$HQ1#(L2CE$9`EJ2^@;B`O9#A@24=.3U))3D<@1%50 M3$E#051%(%-%1TU%3E0-`*`"L2BJR+$HJ.C0`-\6U, MSVZIH*!N("]D.&!&4D%'345.5"!404),12!&54Q,+"!)1TY/4DE.1R!#55)2 M14Y4(%-%1TU%3E0-`*G_(*1MJ2^@>(7ZA/NM\6T@A7.P!(4-&&"I+Z!X("]D MJ?B@;B`O9#A@.B!#04Y.3U0@3U!%3BP@24=.3U))3D<@4T5'345.5`T`K1E@ MK!I@A22$)>X98-`#[AI@J0"%<,T78)`!8*5P(%-OH`2Q*,4DT`K(L2C%)=`# M3!EOYG"E<$PO;Z(`ABFB!0HF*(4I8!BE*&D@A2JE*6D` MA2M@I2BD*1AI"Y`!R(5PA'&@_\BQ#M%PT`?)`-#UJ0!@D`.I`6"I_V"M%V#) M0)`!8(4C[A=@QB.E(\G_\"H@4V\@>6_)`?`@R0#0#:``L2C%$,BQ*.41D`\@ M:V^@'[$HD2J($/E,K&_F(Z(?J0"=A)'*$/JE$*01C821C(61C8:1C(>1J0"- MCI&E)*0EC8B1C(F1H`"Q#IF/D?`%R,`0D/2E(R!3;Z`?N821D2B($/@88+4` MA7RU`85]J0"%?H5_HGRI!4P_<*D*2*G.H&B%@(2!:"#<;:G.H&BN.G0@'F0@ M6G!@J66@<*XZ="`>9&`@(`"E(R!3;Z($H`88L2AY&`"1*,C*T/6@"J4BD2@@ M(7$@C'!@``"E(R!3;Z`*L2C0`6"@`+$HR0'0]\BQ*-#R('ARJ0`@I&VI+Z!X MA?J$^Z4HI"D8:0N0`F@<"`O9*V*<*R+<"`O9*GY MH'`@+V2E(R#\<&`M+=)%05-314U"3$5$("(`(@T`SA=@A2RE+,T78)`!8*4L M(%-O(&MOH!^Q*I$HB!#YYBQ,`7$``*8CZ.P78)`!8*4C(%-O(&MO&*4J:0N% M#J4K:0"%#R!Y;\D`T..@`ABQ*&D!C1]QR+$H:0"-('&@`+$JS1]QT,C(L2K- M(''0P*DKH'(@+V2E**0I($)RJ2P@-&2I("`T9*4JI"L@0G*I/*!R("]D&*4H M:0ND*9`!R"`O9*DB(#1DJ0T@-&2F(^BI4B"$'*I`""D;:DOH'B% M^H3[("THD`'JI2,8:0$@_'!@0T]!3$530TE.1R!314=3(``@3T8@(@"%<(1Q MH``@4G*I+2`T9*`"L7"%=,BQ<(5UJ0"%=H5WJ(7ZA/MH(`,HD`^I M+Z!X("]DJ:^@R0"E'^D0L`>E M'J0?3`1SJ0"@$*8M(`DH\":-W7*,WG*F+B`,*#B@!*(`M1[]W7*5'NB(T/6E M'@4?!2`%(="Q8*4>!1\%(`4AT`%@J42@I$J!U("]DJ2^@=87ZA/NM%V#0"JT8 M8-`!8"`M*&"I5R"%(7ZA/L@+2BE(R#\ M<"P08!`(H@*..G0@/'1@1$E30T%21$E.1R!314=-14Y4#0"@`CBE$.D!D2C( MI1'I`)$HJ3F@=B`O9"`9;ZE7C?%M(,]NI0V%+K"VI2,@4V^@!+$H2*4DD2AH MA23(L2A(I261*&B%):E2C?%M(,]NI0V%+9`(I2X@!BA,GG6%+:(#H`FQ*)4> MB,H0^"#A]WG8^1\`/HT/6B_ZW4=\E%\`*B`(Z.D:``(`QIL%6E%J07C821C(61H`<@ M#&FP1*46I!>-AI&,AY&@$R`,:;`SI1:D%XV*D8R+D:48I!F-C)&,C9&@(B`, M:;`8I1:D%XV(D8R)D:T78,E`D`JIDZ"3("]D3+=VK1=@[A=@(%-OH!^YA)&1 M*(@0^$RW=E1/3R!-04Y9($9204=-14Y44R!)3B`PPL,MT]3!U"P@24=.3U)) /3D<@1E)!1TU%3E0-``T` ` end size 6090 crc 0288fbb7 begin 620 crc32a M`&!,;V!#PJ(!A?J$^Z#_R+'ZT/N8H`!,#"BB`DP'8*(!C3%@J3&@8(7ZA/NI M`:``3`PH`*(`J4N@8(7ZA/NI`:``(`DH\`2M2V!@.&``A/L*A?HF^QBM!@]E M^H7ZK0%(J4C21V%(Z4D2<&%)*4E202%)19/)(WGWK4<=6P'KL3]EC]Y'+1 M1_UK^FS60.-USUFL.H`6M2.9#YX(LB2'$:L]D`:\*HD?I3.B-(X8NRV7`?1B MV$[M>\%7QE#J?-])\V58SG3B0==M^VK\1M!SY5_)/*H0AB6S"9\.F"*T%X$[ MK2"V#)HYKQ6#$H0^J`N=)[%$TFC^78P:H#:5`[DOOBB2!*34R?FHF`T];%Q183``E:7TQ-GIN(@=+7Q, M85$`,*65Q/3IV8BX+1U,?'%!$""UA=3D^DZ/RPE=G-@8;*WI*W^^^CJ.3PO)G5P8V*QM*>N_?CKZS@]+B=T<6)CL+ M6FK_SYZNPO*CDP8V9U=*>BL;CK[OW]+BLX,6)G='6FH["YZN_\_BTH.S)A9' M=VI:"SNNGL__\L*3HS8&5V=Z2ALKOH[?[P`'#@EM:F-DV]S5TK:QN+^WL+F^ MVMW4TVQK8F4!!@\(;FE@9P,$#0JULKN\V-_6T=G>U]"TL[J]`@4,"V]H86;< MV]+5L;:_N`<`"0YJ;61C:VQE8@8!"`^PM[ZYW=K3U+*UO+O?V-'6:6YG8`0# M"@T%`@L,:&]F8=[9T->SM+VZN+^VL=72V]QC9&UJ#@D`!P\(`09B96QKU-/: MW;F^M[#6T=C?N[RUL@T*`P1@9VYI869O:`P+`@6ZO;2SU]#9WF1C:FT)#@<` MO[BQMM+5W-O3U-W:OKFPMP@/!@%E8FML"@T$`V=@:6[1UM_8O+NRM;VZL[30 MU][99F%H;PL,!0(`=^Z9!W#IG@YYX)<)?N>0'6KSA!IM](,39/V*%&/ZC3M, MU:(\2]*E-4+;K#)%W*LF4^R5<@N*;#' M62ZWP.V:`W3JG01SXY0->N23"GWPAQYI]X`9;OZ)$&?YCA=@UJ$X3]&F/TC8 MKS9!WZ@Q1LN\)5+,NR)5Q;(K7,*U+%N;['4"G.MR!97B>PR2Y7P+AO%H'X'V M;QB(_V81C_AA%J#73CFGT$D^KME`-ZG>1S"]RE,DNLU4([/$72JTPUHMH@&% M^H3[H/_(L?K0^YB@`$P,**("3`ADH@&-,F2I,J!DA?J$^ZD!H`!,#"@`H@"I M3*!DA?J$^ZD!H``@"2CP!*U,9&`X8`"$^PJ%^B;[&*T&#V7ZA?JM!P]E^X7[ MH`"Q^JK(L?J&^H7[8*T%#]`SK00/R0*P+*F#H&1,&6354T%'13H@0U)#,S)" M($9)3$4Q($9)3$4R("XN+B!&24Q%S@T`.*T(#^D8A0:M"0_I9H4'J0&@`(4" MA`,@3BBP):4"I`,@362E^J3[A02$!07[\!$@*660`R#\9.8"T`+F`TR_9&"I M\:!D(!ED8#S35$]04$5$/@T`J1&@92`99*4$I`4@&62I)J!E3!EDQ5)23U(@ M4D5!1$E.1R!&24Q%("(`(@T`I02D!87ZA/NI4B`#*)`!8(4,($1EI0P@!BA@ MH@.I_Y4BRA#[J0"%"H4+(-QEL"2%#:4B10VJI2-=!F"%(J4D709AA2.E)5T& M8H4DO09CA25,4V6IR:!EA8"$@:`)H@.U(DG_2$I*2DH@LF5H(+)ERA#MJ<&@ M92`&9*4$I`4@!F2IV:!E(`9D&&`I#PDPR3J0`FD&F<%ER&!#4D,S,D(@/2`Q M,C,T-38W."!&3U(@(@`B#0"E"@4+\!2@`+$(Y@C0`N8)I@K0`L8+Q@H88*D8 @H&:%^H3[A0B$":4&I`>F#"`)*/`)L`>%"H0+3-QE.&`` ` end size 1562 crc 224d01c7 begin 620 wc M`&!,@6!#PJ(!A?J$^Z#_R+'ZT/N8H`!,#"BB`DP'8(XO8(PP8*(!(#%@KB]@ MK#!@8```C4-@J4.@8(7ZA/NI`:``3`PH`*(`J5V@8(7ZA/NI`:``(`DH\`2M M76!@.&``A/L*A?HF^QBM!@]E^H7ZK08*7Z MI/N%!(0%!?OP&2!,8;`&I5`P`N90D`,@'V'F`M`"Y@-,T6"E4,D"D`,@;F)@ MJ12@82`88&`\TU1/4%!%1#X-`*DTH&$@&&"E!*0%(!A@J4F@84P88,524D]2 M(%)%041)3D<@1DE,12`B`"(-`*4$I`6%^H3[J5(@`RB0`6"%#"".82!P8:4, M(`8H(`9B($!B8*F7H&*%^H3[J?Z@`*8,(`DHA0J$"_`&(*1A3'!A8*D`H@N5 M0,H0^X5,8*D`H@N5(,H0^V"@`,0*T`%@IDRYEV+)#=`.YD#0"N9!T`;F0M`" MYD/)(;`,R2#P'\D-\!O)"?`7X`'P%:(!YD30#^9%T`OF1M`'YD=,ZV&B`,C$ M"I"]&*5(90J%2)`*YDG0!N9*T`+F2X9,8*)`J08@*&*B1*D&("ABHDBI!R`H M8J4$I`4@!6"I#2`=8&"@BX2`H&*$@2!1**F+H&(@!6"I("`=8&`8H@"U('5` ME2#HBBD#T/08H@"U)'5$E23HBBD#T/08H@"U*'5(E2CHBBD#T/1@J8.@8H4$ 7A`6B"[4@E4#*$/D@!F)@/%1/5$%,/@`` ` end size 653 crc 90c960f8 begin 620 grep M`&!,=6!#P@```````*(!A?J$^Z#_R+'ZT/N8H`!,#"BB`DP-8*(!C3=@J3>@ M8(7ZA/NI`:``3`PH`*(`J5&@8(7ZA/NI`:``(`DH\`2M46!@.&``A/L*A?HF M^QBM!@]E^H7ZK0I`:``A0*$`R!28*`` ML?K)+=`T`NI_XT(8.8( MT`+F":#_R+$(T/N,"F"(P/_P$K$(R230#*G_C0E@J0"1"(P*8&"IP:!A(!Y@ M8#S35$]04$5$/@T`J>&@82`>8*4$I`4@'F"I]J!A3!Y@Q5)23U(@4D5!1$E. M1R!&24Q%("(`(@T`I02D!87ZA/NI4B`#*)`!8(4.(!1BI0X@!BA@J0"%#(4- M(.]BD`%@(#AB+`5@,`B0\"#'8DP:8K#H(,=B3!IB+`E@$!L8I4)E0(5"I4-E M085#.*5"[0I@A4*E0^D`A4.E0J1#A42$1>9$T`+F1:``A$:D1K$(\#J@`-%" MT`OF1N9"T`+F0TQJ8J``L4+P(2P&8!`1R<&0#F#B`)*/`)L`>%#(0-3#!C.&`` ` end size 878 crc f71c1735 begin 620 tr M`&!,6&!#P@8``*(!A?J$^Z#_R+'ZT/N8H`!,#"BB`DP*8*(!C31@J32@8(7Z MA/NI`:``3`PH`(3["H7Z)OL8K08/9?J%^JT'#V7[A?N@`+'ZJLBQ^H;ZA?M@ MJ0&-!F"I`(T'8*T%#]`*K00/R0*P`TP$8:D!H`"%`H0#(#5@H`"Q^LDMT!#F M`L@@QV".!F#((,=@C@=@(-YB($XHD`-,H&&E`J0#(#5@I?JD^X4$A`4%^_`1 M(.1AD`,@MV'F`M`"Y@-,EV`@P&)@L?K(H@#)4/`RH@3)4_`LH@+)5?`FH@') M3?`@H@#)0_`:R4'0&+'ZR*("R4SP#:(#R4/P!\E2\`.(H@$88*D0H&$@&V"I M`4Q(*%5304=%.B!44B!;+4923TU3150R5$]3151=($9)3$4@+BXN#5=(15)% M($923TU3150O5$]3150]4"Q!+$%,+$%#+%,L0RQ5+$T-*%!%5%-#24DL05-# M+4-23$8L05-#+4Q&+$%30RU#4BP-(%-0145$4T-225!4+$-/34U/1$]212Q5 M3DE8+$U3+41/4RD-`*FLH&$@&V"I`4Q(*#S35$]04$5$/@T`JN!F#P#\D-T`C@`?#NX`/P M`ZBQ$JX'8/`8R0W0$>`$\`W@`_`,X`+P!2"M8JD-J+$4(*UB3`5B8*4,!0WP M%*``L0KF"M`"Y@NF#-`"Q@W&#!A@($XHD`,@H&&I%J!HA?J$^X4*A`NE$*01 MI@X@"2CP";`'A0R$#4Q"8CA@.*T(#^D6A1"M"0_I:(41J0"%#(4-H@$@2RC) M`-`(J?Z@`(40A!%@IA;@_I`'2"#`8FBF%IT69^868"!.*)`#3*!AJ1:@9X7Z MA/NE%J``H@$@#"BI`(468*D`A19@K09@"JJ]`F.%$KT#8X43K0=@"JJ]#&.% M%+T-8X458```%F,68Q9C%F0``!9E%F46919F``$"`P0%!@>="0T+DPH.#Q`1 M$A,4%187&!D:&QP='A\@(2(C)"4F)R@I*BLL+2XO,#$R,S0U-C8 MF9J;G`B>GZ"AHJ.DI::GJ*FJJZRMKJ^PL;*SM+6VM[BYNKN\O;Z_8&%B8V1E M9F=H:6IK;&UN;W!Q'EZ>WQ]?G_@X>+CY.7FY^CIZNOL[>[O\/'R M\_3U]O?X^?K[_/W^_T!!0D-$149'2$E*2TQ-3D]045)35%565UA96EM<75X- M("$B(R0E)BWZ"AHJ.DI::GJ*FJJZRMKJ^PL;*SM+6VM[BY MNKN\O;Z_``$"`P0%!@<("0H+#%\.#Q`1$A,4%187&!D:&QP='A_@X>+CY.7F MY^CIZNOL[>[O\/'R\_3U]O?X^?K[_/W^_X"!@H.$A8:'B(F*BXR-CH^0D9*3 ME)66EYB9FIN'EZ>WQ]?G\` M`0(#!`4&!P@)#0N3"@X/$!$2$Q05%A<8&1H;'!T>'R`A(B,D)28G*"DJ*RPM M+B\P,3(S-#4V-S@Y.CL\/3X_0&%B8V1E9F=H:6IK;&UN;W!Q'EZ M6UQ=7E_`P<+#Q,7&Q\C)RLO,S<[/T-'2T]35UM?8V=K;W-W>WX"!@H.$A8:' MB(F*BXR-CH^0D9*3E)66EYB9FINHJ:JKK*VNK["QLK.T MM;:WN+FZN[R]OK]@04)#1$5&1TA)2DM,34Y/4%%24U155E=865I[?'U^?^#A MXN/DY>;GZ.GJZ^SM[N_P\?+S]/7V]_CY^OO\_?[_@(&"@X2%AH>(B8J+C!^. MCY"1DI.4E9:7F)F:FYR=GI\@(2(C)"4F)R@I*BLL+2XO,#$R,S0U-CKK[.WN[_#Q\O/T]?;W^/GZ^_S]_O_`P<+#Q,7&Q\C)RLO,S<[/T-'2T]35 MUM?8V=K;W-W>WV!A8F-D969G:&EJ:VQM;F]P<7)S='5V=WAY>GM\?7Y_0$%" M0T1%1D=(24I+3$U.3U!14E-455976%E:6UQ=7E^@H:*CI*6FIZBIJJNLK:ZO 0L+&RL[2UMK>XN;J[O+V^OP`` ` end size 1816 crc b601fbc2 begin 620 sort M`&!,66!#P@8```"B`87ZA/N@_\BQ^M#[F*``3`PHH@),"V"B`8TU8*DUH&"% M^H3[J0&@`$P,*`"$^PJ%^B;[&*T&#V7ZA?JM!P]E^X7[H`"Q^JK(L?J&^H7[ M8*D`C09@C0=@J0&-"&"M!0_0.*T$#\D"L#&I>:!@3!Q@55-!1T4Z(%-/4E0@ M6RU;25U;5EU=(%LK0T],54U.72!&24Q%("XN+@T`J0&@`(4"A`,@-F"@`+'Z MR2W0'.8"R+'Z\!7)2=`%J?^-!V#)5M`%J?^-!F!,N&"E`J``(#9@H`"Q^LDK MT`4@'&'F`B"C82!.*+!6I0*D`R`V8*7ZI/N%!(0%!?OP$2"(89`#(%MAY@+0 M`N8#3.E@(.!A(.YA(/QA8*D`C0A@R+'ZR3"0&\DZL!RA#[ M8*E2('-CJ0"%#"!^9K`0('5B(*5BL`BI+B!S8TS*86"M!F`P"*E6('-C(!AC M8*E7('-CJ0T@E2+*$/6E)8*T+9Z``((EDD`%@H@.U(IT'9\H0^*D'H&>%_H3_K0MGH``@/RBE*RA#Y&&"B`[4>E2+*$/FE M)I!Z!G(/UA(*1FH@.]!V>5(LH0^$SZ8F"B`[4>E?JI`)4>RA#UI?W) M`/`=HB*@!"`V**(>H`0@.2BB`[7ZE1ZU(I7ZRA#U,-U@H@.U'I7ZRA#YI?W) M`-`!8*(JH`4@-BBE+J``(&QEH@.U*I7ZRA#Y3%)CH@),(V````````````"I M`(U[8Z(`J?^=!VKHT/JB:ZD'\`'HCGQCCG]CK@D/AF".@&.*..U\8[`"J0"- M?F,8:0&-?6.N?&/D8+`*J0"=!VKHY&"0^&``CCL M?&/0!ZP79,B,?&,XK7YC[B*X`2P`J($BHV(9"#*8Y`!8*D`K(AD(&QEK89DK(=D M3(ED&&D'D`'(*?B%9H1GH@.]>&.5^JD`E6C*$/2E_5GA66B8*`&(#DH&*7Z962%^J7[966%^QA@I6O)`-`,H@.U M8)UX8\H0^!A@H@.U^K1HE6B4^LH0]:)@H`0@.2BB`[5HE?K*$/D88!AI!Y`! MR"GXA6:$9Z(#M?J5:+UX8Y7ZJ0"5;,H0\*7]R0#P**7ZQ6BE^^5II?SE:J7] MY6NP%J)@H`0@-BBB`[7ZE6RU8)7ZRA#U,-*B`[5LE?K*$/FE_&/*$/.E9J1GA62$94PM9J)@H`8@-BBE_<5KT#"E_,5JT"H8I?IE M9*JE^V5EQ6G0'.1HT!@8I61E9H5DI65E9X5EH@.U;)5HRA#Y,`^B:*`$(#DH MI6:D9X5DA&6E:\5CT#FE:L5BT#,8I6AE9*JE:65EQ6'0)>1@T"&B`[5@E?K* M$/FE94BE9$BB8*`&(#8H&&AE9(5D:&5EA66B`[5HE?K*$/FB8*`&(#DH&&"@ M`(1P(-)FI'"P&ID,9\C`\+`%R0W0ZXBI`)D,9QB8:0:-"V<88"!.*)`#($1A MK`MGJ0V9!F>I#*!GA?J$^SBM"V?I!:``H@$@#"BL"V>I`)D&9V"E#/`+I`JY M!VGF"L8,&&`@3BB0`R!$8:D'H&F%^H3[J?Z@`(0*I@X@"2CP![`%A0Q,TF8X !8``` ` end size 1801 crc ae702945 begin 620 wrap M`&!,'6!#P@```````````````````````````````"`K8*D!H``@NV$@-&!@ MJ8"%7:DHA5Q@($QA(&I@J5(@`RB%(B!T8+`,(,U@(!%A("EA3$%@I23P"R#- M8*D`C>AA(!%AI2(@!B@@5V%@J0"B'942RA#[8*8FI"2E)=`,A"0@J6"0`6"D M)*8FZKW>8IGI8>C(R0WP#,1<\`*P!L8ET.KPU\8EAB:$)!A@($XHL!VIWJ!B MA?J$^ZG^H`"F(B`)*+`*\`B%):D`A2888#A@IB3*H`"]Z6')#?`"H(",Z&') M#=`(CN9AAB.&)&"F).1EAR2#0].B& M(X[F86"IZ:!AA?J$^ZWF8:``H@$@#"BI#2!Z86"F(Z``Y"2P"KWI89GI8>C( MT/*$)&```````````````````*(-M2*=/F'*$/A@H@V]/F&5(LH0^&"B`87Z MA/N@_\BQ^M#[F*``3`PHH@),9&&.C&&,C6&B`2".8:Z,8:R-86```(V@8:F@ MH&&%^H3[J0&@`$P,*`"B`*FZH&&%^H3[J0&@`"`)*/`$K;IA8#A@`(3["H7Z >)OL8K08/9?J%^JT'#V7[A?N@`+'ZJLBQ^H;ZA?M@ ` end size 480 crc 12d821f5 begin 620 date M`&!,!6!#PJF"H&`@5"B@![F"8"`Y8$B*OEU@G4A@:)U'8(@0ZZD-C5Q@J4>@ M8(7ZA/NI%J``H@%,#"A(*0\),*IH2DI*2@DP8#$Y.3,O,#4O,38M,3@Z,#0Z J-3`N,UH``@4("PX1%--53BTQ-BW-05DM,3DY,R`@,#8Z,#,Z-3`@4$T` ` end size 132 crc e178a033 begin 620 fast 5`&!,!6!#PJT1T"GOC1'0J0&-,-!@ ` end size 21 crc f0035e5c begin 620 slow 5`&!,!6!#PJT1T`D0C1'0J0"-,-!@ ` end size 21 crc aab82f2f begin 620 forty ,`&!,!6!#PJDH3(HH ` end size 12 crc 89d0547f begin 620 eighty ,`&!,!6!#PJE03(HH ` end size 12 crc 275bdc0c begin 620 read M`&!,X&!#PJ(!A?J$^Z#_R+'ZT/N8H`!,#"BB`DP'8*(!C3%@J3&@8(7ZA/NI M`:``3`PH`*(`J4N@8(7ZA/NI`:``(`DH\`2M2V!@.&``A/L*A?HF^QBM!@]E M^H7ZK08:D-(!YA(+]@("Y@(')@8-!23T-%4U/) MQ#T`J5>@8"!18:EFH&"%@(2!J0JB0"!1**(`O69@\`8@'F'HT/6I#2`>86#$ M64Y!34E#(,92144@/0````````````````"IL*!@(%%AJ6:@8(6`A(&I`(4& MA08>C0]:D-(!YA8-!2 M3T=204T@QE)%12`]`*TH#ZPI#\B%`H0#H`"B+K$"\`ZB*LG_\`BB(\G^\`*B M*XH@'F'(T.6I#2`>8:(#O1P/E4#*$/A@H@.U^B`'8%A:E`K"!@H@`@LD-T`>&>(8CAB1@IB3D7)#S)%TP M!Z5&"F7,K@__#RO2!GR2#0].B&(X9X8.8:T`KF&]`&YAS0`N8=."1Z M,`$8I1YE>(4>D`KF']`&YB#0`N8AH@.I`)5PM1:5=,H0]2#\8J45R0#0#*(# MM?J5$I46RA#W8*(#M?JT%I46E/K*$/4@*V.B`[46E7#*$/D@,V-@IB.@`.0D ML`J](&>9(&?HR-#RA"1@``````````````````"B#;4BG;!BRA#X8*(-O;!B ME2+*$/A@J16@9X7^A/^I$:``(#PHH@J]%6>5<,H0^*5XR0>0"!AI"Z``(#PH M8*D`A7FB"K5PG15GRA#X&*5X:0N@`"!,9)`!8*D5H&>%_H3_&*5X:0N@`"`_ M*!A@HG"@"R`V*&"B<*`+(#DH8````````````*D`C3YCH@"I_YT5:>C0^J)J MJ17P`>B./V..0F.N"0^&`HY#8XHX[3]CL`*I`(U!8QAI`8U`8ZX_8^0"L`JI M`)T5:>CD`I#X8`"-C&.B`*`!($(HL`%@(-MCL`%@K8QCH@*@_R!"*+`!8*FY MH&,@5&:I`4Q(*`W)3E-51D9)0TE%3E0@345-3U)9+"!!0D]25$E.1RX-``"M MC&/-0&.P%JX_8[T5:?`;Z/`+O15IT/B./V-,!F2MC&/-0&.P`XU`8SA@RJR, M8^CP[+T5:=#UB-#UCMICK(QCJ4&=%6G*B-#YZ.P_8]`'K-ICR(P_8SBM06/M MC&.-06.I`*`"A?J&^X7\A/T88````(U)9(Q*9""#9+`!8*Y*9*U)9/`!Z(K@ M!+`"H@2*C4MD((UCD`%@J0"L2V0@+V6M262L2F1,3&08:0>0`<@I^(4(A`FB M`[T[8Y7ZJ0"5"LH0]*7]R0#0"ZD`A?VI@(T`#SA@H@*@!B`V**4&Q0BE!^4) ML!"B`[7ZE0JU`I7ZRA#U3)UDI0;%"-`&I0?E"?`C.*4&Y0B%!J4'Y0F%!Z(" MH`8@.2@8I?IE!H7ZI?ME!X7[&&"E#B`[4.E0K*$/DP#Z(*H`0@.2BE"*0)A0:$!Z4-Q070.:4, MQ030,QBE"F4&JJ4+90?%`]`EY`+0(:(#M0*5^LH0^:4'2*4&2*("H`8@-B@8 M:&4&A09H90>%!Z(#M0J5^LH0^:("H`8@.2@88*(!A?J$^Z#_R+'ZT/N8H`!, M#"BB`DQ#9HYK9HQL9J(!(&UFKFMFK&QF8```C7]FJ7^@9H7ZA/NI`:``3`PH M`*(`J9F@9H7ZA/NI`:``(`DH\`2MF69@.&``A/L*A?HF^QBM!@]E^H7ZK0*``H@$@#"BE>A``J0T@66:B`[5PE?K*$/GNO6:MO68I!]`, /($XHD`>I`:(`3$@H3,]F ` end size 1815 crc f4a901d5 --------------------------------------END-of-ACE-Release-9---