home *** CD-ROM | disk | FTP | other *** search
- Path: uunet!zephyr.ens.tek.com!master!saab!billr
- From: billr@saab.CNA.TEK.COM (Bill Randle)
- Newsgroups: comp.sources.games
- Subject: v14i016: xpilot - Multiplayer gravity war game hand-shake program, Part14/24
- Message-ID: <3311@master.CNA.TEK.COM>
- Date: 4 Aug 92 19:29:47 GMT
- Sender: news@master.CNA.TEK.COM
- Lines: 1369
- Approved: billr@saab.CNA.TEK.COM
-
- Submitted-by: Bjoern Stabell <bjoerns@staff.cs.uit.no>
- Posting-number: Volume 14, Issue 16
- Archive-name: xpilot/Part14
- Environment: X11, ANSI C
-
-
-
- #! /bin/sh
- # This is a shell archive. Remove anything before this line, then unpack
- # it by saving it into a file and typing "sh file". To overwrite existing
- # files, type "sh file -c". You can also feed this as standard input via
- # unshar, or by typing "sh <file", e.g.. If this archive is complete, you
- # will see the following message at the end:
- # "End of archive 14 (of 24)."
- # Contents: maps/planetx.uue.3 src/collision.c src/config.h
- # src/dbuff.c
- # Wrapped by billr@saab on Tue Aug 4 10:38:57 1992
- PATH=/bin:/usr/bin:/usr/ucb ; export PATH
- if test -f 'maps/planetx.uue.3' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'maps/planetx.uue.3'\"
- else
- echo shar: Extracting \"'maps/planetx.uue.3'\" \(37650 characters\)
- sed "s/^X//" >'maps/planetx.uue.3' <<'END_OF_FILE'
- XM("!A>'AX>'AX>'AX>'AX>'<@("`@<7AX>'AX>'AX>'AX<R`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@('%X>$9X>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM(&%X>'AX>'AX>'AX>'A&>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM87AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X
- XM>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
- XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
- XM>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AS("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("!X>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@('AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7<@("`@("`@("`@("`@
- XM("!Q>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX=R`@("`@("`@("`@<7AX
- XM>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>$9X>'AX>'AX>'AX>'AX
- XM>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AW("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX=R`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX
- XM>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*
- XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX
- XM>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM(&%X>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
- XM>'AX>'AX>'AX1GAS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM<7AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X
- XM>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
- XM>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
- XM1GAX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
- XM>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>"`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM(&%X>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX
- XM>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AS("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X
- XM>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>"`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
- XM>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@('%&>'AX>'AX>'AX=R`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX
- XM>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>',@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X
- XM"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AS("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX<R`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>"`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX
- XM>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@('AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX
- XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@87AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'<@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX=R`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@87AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX=R`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@87AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'<@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@87AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>"`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM87AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AS("`@("`@("`@("`@*B`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX
- XM>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX
- XM>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AW
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
- XM>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX=R`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX
- XM>'<@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'<@("`@("`J("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'<@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'<@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>"`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>"`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AW("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX
- XM<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AS("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AW("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>',@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX<R`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("!X>'AX>'AS("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("!A>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@<7AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@87AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX
- XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@<7AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@87AX>'AX1GAW("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AS
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM('%X>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@(&%X>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>"`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX
- XM>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@(&%X>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX=R`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX
- XM>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@(&%X>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'<@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AS("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AW("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX<R`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AW("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'<@("`@("`@("`@<7AW
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@('%X>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'A&>'AX>'AX>'@@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@('%X>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX<R`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM('%X>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX
- XM>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX<R`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("!Q>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*
- XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
- XM("`@("`@('@*>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
- X%>'AX>`IX
- X`
- Xend
- END_OF_FILE
- if test 37650 -ne `wc -c <'maps/planetx.uue.3'`; then
- echo shar: \"'maps/planetx.uue.3'\" unpacked with wrong size!
- fi
- # end of 'maps/planetx.uue.3'
- fi
- if test -f 'src/collision.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/collision.c'\"
- else
- echo shar: Extracting \"'src/collision.c'\" \(11156 characters\)
- sed "s/^X//" >'src/collision.c' <<'END_OF_FILE'
- X/* collision.c,v 1.10 1992/06/28 05:38:07 bjoerns Exp
- X *
- X * This file is part of the XPilot project, written by
- X *
- X * Bjxrn Stabell (bjoerns@stud.cs.uit.no)
- X * Ken Ronny Schouten (kenrsc@stud.cs.uit.no)
- X *
- X * Copylefts are explained in the LICENSE file.
- X */
- X
- X#include "global.h"
- X#include "map.h"
- X#include "score.h"
- X#include "robot.h"
- X
- X#ifndef lint
- Xstatic char sourceid[] =
- X "@(#)collision.c,v 1.10 1992/06/28 05:38:07 bjoerns Exp";
- X#endif
- X
- X#define in_range(o1, o2, r) ( \
- X (ABS((o1)->pos.x-(o2)->pos.x)<(r) && ABS((o1)->pos.y-(o2)->pos.y)<(r)) \
- X ? true : false)
- X
- X
- Xextern long KILLING_SHOTS;
- Xstatic char msg[MSG_LEN];
- X
- X
- X
- Xint Rate(int winner, int looser)
- X{
- X int t;
- X
- X
- X t = ((RATE_SIZE/2) * RATE_RANGE) / (ABS(looser-winner) + RATE_RANGE);
- X
- X if (looser > winner)
- X t = RATE_SIZE - t;
- X
- X return (t);
- X}
- X
- X
- Xvoid Check_collision(void)
- X{
- X int i, j, x, y, killer, range, sc, t;
- X player *pl;
- X int xd, yd;
- X bool labels=false;
- X
- X
- X /*
- X * Collision detection.
- X */
- X for (i=0; i<NumPlayers; i++) {
- X pl=Players[i];
- X if (!BIT(pl->status, PLAYING) || BIT(pl->status, GAME_OVER))
- X continue;
- X
- X if (pl->pos.x<0 || pl->pos.y<0 ||
- X pl->pos.x>=(World.x*BLOCK_SZ) ||
- X pl->pos.y>=(World.y*BLOCK_SZ))
- X SET_BIT(pl->status, KILLED);
- X
- X /* Player - player */
- X if (BIT(World.rules->mode, CRASH_WITH_PLAYER)) {
- X for (j=i+1; j<NumPlayers; j++)
- X if (in_range((object *)pl,
- X (object *)Players[j], 2*SHIP_SZ-6) &&
- X (BIT(Players[j]->status, PLAYING) &&
- X !BIT(Players[j]->status, GAME_OVER)))
- X if (!TEAM(i, j)) {
- X sprintf(msg, "%s and %s crashed.",
- X pl->name, Players[j]->name);
- X Set_message(msg);
- X/* if (!BIT(pl->status, KILLED))
- X SCORE(i, PTS_PR_PL_CRASH);
- X if (!BIT(Players[j]->status, KILLED))
- X SCORE(j, PTS_PR_PL_CRASH);
- X*/ ENERGY(i, ED_PL_CRASH);
- X ENERGY(j, ED_PL_CRASH);
- X SET_BIT(pl->status, KILLED);
- X SET_BIT(Players[j]->status, KILLED);
- X }
- X }
- X
- X /* Player checkpoint */
- X if (BIT(World.rules->mode, TIMING))
- X if (LENGTH(Players[i]->pos.x -
- X (World.check[Players[i]->check].x*BLOCK_SZ),
- X Players[i]->pos.y -
- X (World.check[Players[i]->check].y*BLOCK_SZ))
- X < 200) {
- X
- X if (Players[i]->check == 0) {
- X Players[i]->round++;
- X if (((Players[i]->best_lap >
- X Players[i]->time - Players[i]->last_lap) ||
- X (Players[i]->best_lap == 0)) &&
- X (Players[i]->time != 0))
- X Players[i]->best_lap =
- X Players[i]->time - Players[i]->last_lap;
- X Players[i]->last_lap_time = Players[i]->time
- X - Players[i]->last_lap;
- X Players[i]->last_lap = Players[i]->time;
- X }
- X
- X Players[i]->check++;
- X
- X if (Players[i]->check == World.NumChecks)
- X Players[i]->check = 0;
- X }
- X
- X /*
- X * Collision between a player and an object.
- X */
- X for (j=0; j<NumObjs; j++) {
- X range=SHIP_SZ;
- X if (Obj[j]->type == OBJ_SMART_SHOT)
- X range+=4;
- X if (Obj[j]->type == OBJ_MINE)
- X range+=100;
- X
- X if (BIT(pl->status, KILLED) ||
- X (!in_range((object *)pl, Obj[j], range)))
- X continue;
- X
- X if ((Obj[j]->type==OBJ_SPARK && Obj[j]->id==pl->id) ||
- X (Obj[j]->type==OBJ_MINE &&
- X (Obj[j]->id==pl->id || TEAM(GetInd[Obj[j]->id], i))))
- X continue;
- X
- X if ((Obj[j]->id != -1) &&
- X (TEAM(i, GetInd[Obj[j]->id])) &&
- X (pl->id != Obj[j]->id))
- X continue;
- X else
- X Obj[j]->life=0;
- X
- X Delta_mv((object *)pl, (object *)Obj[j]);
- X
- X /*
- X * Object collision.
- X */
- X switch (Obj[j]->type) {
- X case OBJ_WIDEANGLE_SHOT:
- X pl->extra_shots++;
- X break;
- X case OBJ_SENSOR_PACK:
- X pl->sensors++;
- X pl->updateVisibility = 1;
- X break;
- X case OBJ_REAR_SHOT:
- X SET_BIT(pl->have, OBJ_REAR_SHOT);
- X break;
- X case OBJ_SMART_SHOT_PACK:
- X pl->missiles += 4;
- X break;
- X case OBJ_CLOAKING_DEVICE:
- X SET_BIT(pl->have, OBJ_CLOAKING_DEVICE);
- X pl->cloaks++;
- X pl->updateVisibility = 1;
- X break;
- X case OBJ_ENERGY_PACK:
- X pl->fuel += 500+(rand()%500);
- X pl->fuel_count = 150;
- X pl->fuel = MIN(pl->max_fuel, pl->fuel);
- X break;
- X case OBJ_MINE_PACK:
- X pl->mines++;
- X break;
- X
- X case OBJ_MINE:
- X sprintf(msg, "%s hit mine dropped by %s.", pl->name,
- X Players[killer=GetInd[Obj[j]->id]]->name);
- X sc = Rate(Players[killer]->score, pl->score) / 6;
- X SCORE(killer, sc);
- X SCORE(i, -sc);
- X Set_message(msg);
- X break;
- X default:
- X break;
- X }
- X
- X if (!BIT(Obj[j]->type, KILLING_SHOTS))
- X continue;
- X
- X if (BIT(pl->used, OBJ_SHIELD)) {
- X switch (Obj[j]->type) {
- X case OBJ_SMART_SHOT:
- X pl->fuel+=ED_SMART_SHOT_HIT;
- X pl->forceVisible += 2;
- X break;
- X
- X case OBJ_SHOT:
- X case OBJ_CANNON_SHOT:
- X pl->fuel+=ED_SHOT_HIT;
- X pl->forceVisible += 1;
- X break;
- X
- X default:
- X printf("You were hit by what?\n");
- X break;
- X }
- X } else
- X if (BIT(Obj[j]->type, (OBJ_SHOT|OBJ_SMART_SHOT))) {
- X sprintf(msg, "%s was shot down by %s.", pl->name,
- X Players[killer=GetInd[Obj[j]->id]]->name);
- X SET_BIT(pl->status, KILLED);
- X if (killer == i) {
- X strcat(msg, " How strange!...");
- X SCORE(i, PTS_PR_PL_SHOT);
- X } else {
- X sc = Rate(Players[killer]->score, pl->score);
- X SCORE(killer, sc);
- X SCORE(i, -sc);
- X }
- X Set_message(msg);
- X }
- X else if (BIT(Obj[j]->type, OBJ_CANNON_SHOT)) {
- X sprintf(msg, "%s was hit by cannonfire.", pl->name);
- X Set_message(msg);
- X SCORE(i, -Rate(CANNON_RATING, pl->score)/4);
- X SET_BIT(pl->status, KILLED);
- X }
- X }
- X
- X
- X
- X /* Player - wall */
- X if (!(BIT(pl->used, OBJ_TRAINER) || BIT(pl->status, KILLED))) {
- X for(j=0; j<3 && !BIT(pl->status, KILLED); j++) {
- X switch (World.block
- X [x = (int) ((pl->pos.x + ships[pl->dir].pts[j].x) / BLOCK_SZ)]
- X [y = (int) ((pl->pos.y + ships[pl->dir].pts[j].y) / BLOCK_SZ)]) {
- X case FUEL:
- X case FILLED:
- X case FILLED_NO_DRAW:
- X if (!Landing(i, j)) {
- X SET_BIT(pl->status, KILLED);
- X SCORE(i, -Rate(WALL_RATING, pl->score));
- X }
- X break;
- X case REC_LU:
- X if ((((int)(pl->pos.x
- X +ships[pl->dir].pts[j].x))
- X % BLOCK_SZ)
- X <= (((int)(pl->pos.y
- X +ships[pl->dir].pts[j].y))
- X % BLOCK_SZ)) {
- X if (!Landing(i, j)) {
- X SET_BIT(pl->status, KILLED);
- X SCORE(i, -Rate(WALL_RATING, pl->score));
- X }
- X }
- X break;
- X case REC_RU:
- X if ((((int)(pl->pos.x
- X +ships[pl->dir].pts[j].x)) % BLOCK_SZ)
- X >= BLOCK_SZ - (((int)(pl->pos.y
- X +ships[pl->dir].pts[j].y)) % BLOCK_SZ)) {
- X if (!Landing(i, j)) {
- X SET_BIT(pl->status, KILLED);
- X SCORE(i, -Rate(WALL_RATING, pl->score));
- X }
- X }
- X break;
- X case REC_LD:
- X if ((((int)(pl->pos.x
- X +ships[pl->dir].pts[j].x)) % BLOCK_SZ)
- X <= BLOCK_SZ - (((int)(pl->pos.y
- X +ships[pl->dir].pts[j].y)) % BLOCK_SZ)) {
- X SET_BIT(pl->status, KILLED);
- X sprintf(msg,"%s crashed into the wall.",
- X pl->name);
- X Set_message(msg);
- X SCORE(i, -Rate(WALL_RATING, pl->score));
- X }
- X break;
- X case REC_RD:
- X if ((((int)(pl->pos.x
- X +ships[pl->dir].pts[j].x)) % BLOCK_SZ)
- X >= (((int)(pl->pos.y
- X +ships[pl->dir].pts[j].y)) % BLOCK_SZ)) {
- X SET_BIT(pl->status, KILLED);
- X sprintf(msg, "%s crashed into the wall.",
- X pl->name);
- X Set_message(msg);
- X SCORE(i, -Rate(WALL_RATING, pl->score));
- X }
- X break;
- X case CANNON:
- X xd = pl->pos.x + ships[pl->dir].pts[j].x;
- X yd = pl->pos.y + ships[pl->dir].pts[j].y;
- X
- X for(t=0; World.cannon[t].pos.x!=x ||
- X World.cannon[t].pos.y!=y; t++);
- X
- X if (World.cannon[t].dead_time > 0)
- X break;
- X
- X if (((World.cannon[t].dir == DIR_UP) &&
- X (yd%BLOCK_SZ < BLOCK_SZ/3)) ||
- X ((World.cannon[t].dir == DIR_DOWN) &&
- X (yd%BLOCK_SZ > 2*BLOCK_SZ/3)) ||
- X ((World.cannon[t].dir == DIR_RIGHT) &&
- X (xd%BLOCK_SZ < BLOCK_SZ/3)) ||
- X ((World.cannon[t].dir == DIR_LEFT) &&
- X (xd%BLOCK_SZ > 2*BLOCK_SZ/3))) {
- X SET_BIT(pl->status, KILLED);
- X sprintf(msg, "%s crashed with a cannon.",
- X pl->name);
- X SCORE(i, -Rate(WALL_RATING, pl->score));
- X Set_message(msg);
- X World.cannon[t].dead_time = CANNON_DEAD_TIME;
- X World.cannon[t].active = false;
- X Explode_object((double)(x*BLOCK_SZ),
- X (double)(y*BLOCK_SZ),
- X World.cannon[t].dir, RES*0.4,
- X 120);
- X }
- X
- X break;
- X case WORMHOLE:
- X SET_BIT(pl->status, WARPING);
- X pl->forceVisible += 15;
- X break;
- X default:
- X break;
- X }
- X }
- X if (BIT(pl->status, KILLED) && pl->score < 0
- X && pl->robot_mode != RM_NOT_ROBOT) {
- X pl->home_base = -1;
- X Pick_startpos(i);
- X }
- X }
- X }
- X
- X
- X
- X /* Shot - wall, and out of bounds */
- X for (i=0; i<NumObjs; i++) {
- X x=(int)(Obj[i]->pos.x/BLOCK_SZ);
- X y=(int)(Obj[i]->pos.y/BLOCK_SZ);
- X
- X if (x<0 || x>=World.x || y<0 || y>=World.y)
- X Obj[i]->life=0;
- X else
- X switch (World.block[x][y]) {
- X
- X case FUEL:
- X case FILLED:
- X case FILLED_NO_DRAW:
- X Obj[i]->life=0;
- X break;
- X
- X case REC_LU:
- X if ((int)Obj[i]->pos.x % BLOCK_SZ
- X <= (int)Obj[i]->pos.y % BLOCK_SZ)
- X Obj[i]->life=0;
- X break;
- X
- X case REC_RU:
- X if ((int)Obj[i]->pos.x % BLOCK_SZ
- X >= BLOCK_SZ - ((int)Obj[i]->pos.x % BLOCK_SZ))
- X Obj[i]->life=0;
- X break;
- X
- X case REC_LD:
- X if ((int)Obj[i]->pos.x % BLOCK_SZ
- X <= BLOCK_SZ - ((int)Obj[i]->pos.y % BLOCK_SZ))
- X Obj[i]->life=0;
- X break;
- X
- X case REC_RD:
- X if ((int)Obj[i]->pos.x % BLOCK_SZ
- X >= ((int)Obj[i]->pos.y % BLOCK_SZ))
- X Obj[i]->life=0;
- X break;
- X
- X case CANNON:
- X if (!BIT(Obj[i]->type, KILLING_SHOTS&(~OBJ_CANNON_SHOT)))
- X break;
- X
- X xd=Obj[i]->pos.x;
- X yd=Obj[i]->pos.y;
- X
- X for(t=0; World.cannon[t].pos.x!=x ||
- X World.cannon[t].pos.y!=y; t++);
- X
- X if (World.cannon[t].dead_time > 0)
- X break;
- X
- X if (((World.cannon[t].dir == DIR_UP) &&
- X (yd%BLOCK_SZ <= BLOCK_SZ/3)) ||
- X ((World.cannon[t].dir == DIR_DOWN) &&
- X (yd%BLOCK_SZ >= 2*BLOCK_SZ/3)) ||
- X ((World.cannon[t].dir == DIR_RIGHT) &&
- X (xd%BLOCK_SZ <= BLOCK_SZ/3)) ||
- X ((World.cannon[t].dir == DIR_LEFT) &&
- X (xd%BLOCK_SZ >= 2*BLOCK_SZ/3))) {
- X
- X World.cannon[t].dead_time = CANNON_DEAD_TIME;
- X World.cannon[t].active = false;
- X Explode_object((double)(x*BLOCK_SZ+BLOCK_SZ/2),
- X (double)(y*BLOCK_SZ+BLOCK_SZ/2),
- X World.cannon[t].dir, RES*0.4, 80);
- X killer = GetInd[Obj[i]->id];
- X SCORE(killer, Rate(pl->score, CANNON_RATING)/4);
- X }
- X
- X break;
- X
- X default:
- X break;
- X }
- X }
- X
- X if (labels)
- X Set_label_strings();
- X}
- X
- X
- X
- Xbool Landing(int ind, int point)
- X{
- X double y;
- X player *pl = Players[ind];
- X
- X
- X if (point == 0) { /* Head first? Sorry.. :) */
- X sprintf(msg, "%s had a head first landing.", Players[ind]->name);
- X Set_message(msg);
- X return False;
- X }
- X
- X if (ABS(pl->vel.y) > 6.0) { /* Too fast? */
- X sprintf(msg, "%s had a heavy landing.", Players[ind]->name);
- X Set_message(msg);
- X return False;
- X }
- X
- X if ((pl->dir >= (1.3*RES/4)) || /* Right angle? */
- X (pl->dir <= (0.7*RES/4))) {
- X sprintf(msg, "%s had a bad landing.", Players[ind]->name);
- X Set_message(msg);
- X return False;
- X }
- X
- X if (((int)(y=pl->pos.y+ships[pl->dir].pts[point].y) % BLOCK_SZ)
- X < (BLOCK_SZ*0.80)) { /* Right position? */
- X sprintf(msg, "%s crashed.", Players[ind]->name);
- X Set_message(msg);
- X return False;
- X }
- X
- X pl->vel.x*=0.95;
- X pl->dir-=((pl->dir - (RES/4))*0.2);
- X pl->pos.y = (1+(int)(y/BLOCK_SZ))*BLOCK_SZ
- X - ships[pl->dir].pts[point].y;
- X
- X pl->vel.y = 0.90*ABS(pl->vel.y);
- X
- X
- X return True;
- X}
- END_OF_FILE
- echo shar: 1 control character may be missing from \"'src/collision.c'\"
- if test 11156 -ne `wc -c <'src/collision.c'`; then
- echo shar: \"'src/collision.c'\" unpacked with wrong size!
- fi
- # end of 'src/collision.c'
- fi
- if test -f 'src/config.h' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/config.h'\"
- else
- echo shar: Extracting \"'src/config.h'\" \(1454 characters\)
- sed "s/^X//" >'src/config.h' <<'END_OF_FILE'
- X/* config.h,v 1.10 1992/06/26 17:04:14 bjoerns Exp
- X *
- X * This file is part of the XPilot project, written by
- X *
- X * Bjxrn Stabell (bjoerns@stud.cs.uit.no)
- X * Ken Ronny Schouten (kenrsc@stud.cs.uit.no)
- X *
- X * Copylefts are explained in the LICENSE file.
- X */
- X
- X/*
- X * Configure these variables, that's what they're here for.
- X */
- X#ifndef LOCALGURU
- X# define LOCALGURU "bjoerns@stud.cs.uit.no"
- X#endif
- X
- X#ifndef LIBDIR
- X# define LIBDIR "/usr/local/games/lib/xpilot/"
- X#endif
- X
- X#ifndef MOTDFILE
- X# define MOTDFILE LIBDIR "motd"
- X#endif
- X#ifndef LOGFILE
- X# define LOGFILE LIBDIR "log"
- X#endif
- X#ifndef MAPDIR
- X# define MAPDIR LIBDIR "maps/"
- X#endif
- X
- X#ifndef UPDATES_PR_FRAME
- X# define UPDATES_PR_FRAME 1
- X#endif
- X
- X/*
- X * If XHOST is defined, the hand-shake program will open a connection to the
- X * specified host by executing XHOST_OPEN (%s will be substituted with the
- X * server host) and closing it again with XHOST_CLOSE. Note however that this
- X * will only be done if the server complains that it couldn't open the display.
- X *
- X * All in all, a not perfect, but adequate solution, highly recommended for
- X * X environments where Xauthority is used.
- X */
- X#define XHOST
- X#define XHOST_OPEN "/usr/bin/X11/xhost +%s >/dev/null"
- X#define XHOST_CLOSE "/usr/bin/X11/xhost -%s >/dev/null"
- X
- X/*
- X * Leave these alone.
- X */
- X#define REPORT_ADDRESS "bjoerns@stud.cs.uit.no"
- X
- X#ifdef DEBUG
- X# define D(x) { {x}; fflush(stdout); }
- X#else
- X# define D(x) { ; }
- X#endif
- END_OF_FILE
- echo shar: 1 control character may be missing from \"'src/config.h'\"
- if test 1454 -ne `wc -c <'src/config.h'`; then
- echo shar: \"'src/config.h'\" unpacked with wrong size!
- fi
- # end of 'src/config.h'
- fi
- if test -f 'src/dbuff.c' -a "${1}" != "-c" ; then
- echo shar: Will not clobber existing file \"'src/dbuff.c'\"
- else
- echo shar: Extracting \"'src/dbuff.c'\" \(4025 characters\)
- sed "s/^X//" >'src/dbuff.c' <<'END_OF_FILE'
- X/* $Id: dbuff.c,v 1.13 1992/07/10 21:40:58 bjoerns Exp $
- X *
- X * This file is part of the XPilot project, written by
- X *
- X * Bjxrn Stabell (bjoerns@stud.cs.uit.no)
- X * Ken Ronny Schouten (kenrsc@stud.cs.uit.no)
- X *
- X * Copylefts are explained in the LICENSE file.
- X */
- X
- X#include <stdio.h>
- X#ifdef apollo
- X# include <stdlib.h>
- X#else
- X# include <malloc.h>
- X#endif
- X
- X#include <X11/Xproto.h>
- X#include <X11/Xlib.h>
- X#include <X11/Xos.h>
- X
- X#include "global.h"
- X#include "draw.h"
- X#include "config.h"
- X
- X#ifndef lint
- Xstatic char sourceid[] =
- X "@(#)$Id: dbuff.c,v 1.13 1992/07/10 21:40:58 bjoerns Exp $";
- X#endif
- X
- X
- Xstatic void release(register dbuff_state_t *state)
- X{
- X if (state != NULL) {
- X if (state->colormaps[0] != NULL) free(state->colormaps[0]);
- X if (state->colormaps[1] != NULL) free(state->colormaps[1]);
- X if (state->planes != NULL) free(state->planes);
- X free(state);
- X }
- X}
- X
- X
- Xstatic long color(register dbuff_state_t *state, register long simple_color)
- X{
- X register long i, plane, computed_color;
- X
- X computed_color = state->pixel;
- X for(plane=1, i=0; simple_color != 0; plane <<= 1, i++) {
- X if (plane & simple_color) {
- X computed_color |= state->planes[i];
- X simple_color &= ~plane;
- X }
- X }
- X return(computed_color);
- X}
- X
- X
- Xdbuff_state_t *start_dbuff(int ind, Display *display, Colormap cmap,
- X unsigned long planes, XColor *colors)
- X{
- X register dbuff_state_t *state;
- X register i, high_mask, low_mask;
- X
- X
- X state = (dbuff_state_t *) malloc(sizeof(dbuff_state_t));
- X if (state == NULL)
- X return NULL;
- X
- X state->map_size = 1 << (2 * planes);
- X state->colormaps[0] = (XColor *) malloc(state->map_size * sizeof(XColor));
- X state->colormaps[1] = (XColor *) malloc(state->map_size * sizeof(XColor));
- X state->planes = (unsigned long *) malloc ((2*planes) * sizeof(long));
- X if (state->colormaps[1] == NULL || state->colormaps[0] == NULL ||
- X state->planes == NULL) {
- X release(state);
- X return(NULL);
- X }
- X state->display = display;
- X state->cmap = cmap;
- X
- X if (BIT(Players[ind]->disp_type, DT_HAVE_COLOR)) {
- X if (XAllocColorCells(state->display, state->cmap, False,
- X state->planes, 2*planes, &state->pixel, 1) == 0) {
- X release(state);
- X return NULL;
- X }
- X }
- X
- X state->masks[0] = AllPlanes;
- X state->masks[1] = AllPlanes;
- X
- X for (i=0; i<planes; i++) {
- X state->masks[0] &= ~state->planes[i];
- X state->masks[1] &= ~state->planes[planes + i];
- X }
- X
- X if (BIT(Players[ind]->disp_type, DT_HAVE_COLOR)) {
- X for (i=0; i<(1 << planes); i++) {
- X colors[i].pixel = color(state, i | (i << planes));
- X colors[i].flags = DoRed | DoGreen | DoBlue;
- X }
- X }
- X else {
- X colors[WHITE].pixel = WhitePixel(display, DefaultScreen(display));
- X colors[BLACK].pixel = BlackPixel(display, DefaultScreen(display));
- X colors[BLUE].pixel = WhitePixel(display, DefaultScreen(display));
- X colors[RED].pixel = WhitePixel(display, DefaultScreen(display));
- X }
- X
- X
- X low_mask = (1 << planes) - 1;
- X high_mask = low_mask << planes;
- X for (i=state->map_size-1; i>=0; i--) {
- X state->colormaps[0][i] = colors[i & low_mask];
- X state->colormaps[0][i].pixel = color(state, i);
- X state->colormaps[1][i] = colors[(i & high_mask) >> planes];
- X state->colormaps[1][i].pixel = color(state, i);
- X }
- X
- X state->buffer = 0;
- X state->drawing_planes = state->masks[state->buffer];
- X if (BIT(Players[ind]->disp_type, DT_HAVE_COLOR))
- X XStoreColors(state->display, state->cmap,
- X state->colormaps[state->buffer], state->map_size);
- X
- X return (state);
- X}
- X
- X
- X
- Xvoid dbuff_switch(register int ind, register dbuff_state_t *state)
- X{
- X state->buffer ^= 1;
- X
- X if (BIT(Players[ind]->disp_type, DT_HAVE_COLOR))
- X XStoreColors(state->display, state->cmap,
- X state->colormaps[state->buffer], state->map_size);
- X
- X state->drawing_planes = state->masks[state->buffer];
- X}
- X
- X
- X
- Xvoid end_dbuff(int ind, dbuff_state_t *state)
- X{
- X if (BIT(Players[ind]->disp_type, DT_HAVE_COLOR))
- X XFreeColors(state->display, state->cmap,
- X &state->pixel, 1, ~(state->masks[0] & state->masks[1]));
- X release(state);
- X}
- END_OF_FILE
- echo shar: 1 control character may be missing from \"'src/dbuff.c'\"
- if test 4025 -ne `wc -c <'src/dbuff.c'`; then
- echo shar: \"'src/dbuff.c'\" unpacked with wrong size!
- fi
- # end of 'src/dbuff.c'
- fi
- echo shar: End of archive 14 \(of 24\).
- cp /dev/null ark14isdone
- MISSING=""
- for I in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 ; do
- if test ! -f ark${I}isdone ; then
- MISSING="${MISSING} ${I}"
- fi
- done
- if test "${MISSING}" = "" ; then
- echo You have unpacked all 24 archives.
- echo "\nNow run 'bldmaps.sh' to build the map files"
- rm -f ark[1-9]isdone ark[1-9][0-9]isdone
- else
- echo You still need to unpack the following archives:
- echo " " ${MISSING}
- fi
- ## End of shell archive.
- exit 0
-