home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1994 March / Source_Code_CD-ROM_Walnut_Creek_March_1994.iso / compsrcs / games / volume14 / xpilot / part11 < prev    next >
Encoding:
Internet Message Format  |  1992-08-30  |  57.3 KB

  1. Path: uunet!zephyr.ens.tek.com!master!saab!billr
  2. From: billr@saab.CNA.TEK.COM (Bill Randle)
  3. Newsgroups: comp.sources.games
  4. Subject: v14i013:  xpilot - Multiplayer gravity war game hand-shake program, Part11/24
  5. Message-ID: <3308@master.CNA.TEK.COM>
  6. Date: 4 Aug 92 19:29:09 GMT
  7. Sender: news@master.CNA.TEK.COM
  8. Lines: 1404
  9. Approved: billr@saab.CNA.TEK.COM
  10.  
  11. Submitted-by: Bjoern Stabell <bjoerns@staff.cs.uit.no>
  12. Posting-number: Volume 14, Issue 13
  13. Archive-name: xpilot/Part11
  14. Environment: X11, ANSI C
  15.  
  16.  
  17.  
  18. #! /bin/sh
  19. # This is a shell archive.  Remove anything before this line, then unpack
  20. # it by saving it into a file and typing "sh file".  To overwrite existing
  21. # files, type "sh file -c".  You can also feed this as standard input via
  22. # unshar, or by typing "sh <file", e.g..  If this archive is complete, you
  23. # will see the following message at the end:
  24. #        "End of archive 11 (of 24)."
  25. # Contents:  maps/planetx.uue.2 src/usleep.c src/xpilot.c
  26. # Wrapped by billr@saab on Tue Aug  4 10:38:56 1992
  27. PATH=/bin:/usr/bin:/usr/ucb ; export PATH
  28. if test -f 'maps/planetx.uue.2' -a "${1}" != "-c" ; then 
  29.   echo shar: Will not clobber existing file \"'maps/planetx.uue.2'\"
  30. else
  31. echo shar: Extracting \"'maps/planetx.uue.2'\" \(38440 characters\)
  32. sed "s/^X//" >'maps/planetx.uue.2' <<'END_OF_FILE'
  33. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  34. XM87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@
  35. XM("`@("`@(&%X>'AX>'A&>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@
  36. XM("`@("`@("`@("`@("`@(&%X>'AX>'AX>'<@("`@("`@("`@>`IX("`@("`@
  37. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  38. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX
  39. XM>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  40. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  41. XM("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@
  42. XM("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("`@
  43. XM("`@("`@("`@("`@("`@87AX>'AX>"`@("`@("`@("!X"G@@("`@("`@("`@
  44. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  45. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX
  46. XM>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  47. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  48. XM("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@
  49. XM("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@
  50. XM("`@("`@("`@("`@>'AX>'AX=R`@("`@("`@('@*>"`@("`@("`@("`@("`@
  51. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  52. XM("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX
  53. XM>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  54. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  55. XM("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@
  56. XM("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@
  57. XM("`@("`@("!X>'AX>'AX("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@
  58. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  59. XM("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  60. XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  61. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  62. XM("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@
  63. XM("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX>'AX1GAW("`@("`@("`@("`@
  64. XM("`@(&%X>'AX>',@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@
  65. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  66. XM("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@
  67. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  68. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  69. XM("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@
  70. XM("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@
  71. XM(&%X>'AS("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@
  72. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX
  73. XM=R`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@
  74. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  75. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  76. XM("`@("`@("`@("`@("!A>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@
  77. XM('AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@(&%X
  78. XM<R`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  79. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX=R`@
  80. XM('%X>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@
  81. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  82. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  83. XM("`@("`@("`@("`@87AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@>'AX
  84. XM>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@
  85. XM("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  86. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX
  87. XM>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@
  88. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AW("`@("`@
  89. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  90. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX
  91. XM>'AX>'AX>'AX>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  92. XM("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  93. XM("`@("`@("`@("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX
  94. XM>'AX>'AX>'AX>'AX>'AW("`J("`@("`@("`@("`@("`@("`@("`@("`@("`@
  95. XM("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'<@("`@("`@
  96. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  97. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX
  98. XM>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  99. XM>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  100. XM("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>',@("`@("`@("`@("`@("`@
  101. XM("`@87AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  102. XM("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@
  103. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  104. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX
  105. XM>'AX>'AX>$9X=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@
  106. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  107. XM("`@("`@("`@("`@("`@<7AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@
  108. XM87AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  109. XM("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@
  110. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  111. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX
  112. XM>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@
  113. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  114. XM("`@("`@("`@("!X>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@87AX
  115. XM>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  116. XM("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@
  117. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  118. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX
  119. XM>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@
  120. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  121. XM("`@("`@(&%X>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
  122. XM>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  123. XM("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@
  124. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  125. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>"`@
  126. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@
  127. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  128. XM("`@(&%X>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX
  129. XM>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X
  130. XM>'AX>'AX>'AX1GAX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@
  131. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  132. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX("`@("`@
  133. XM("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@
  134. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  135. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX
  136. XM>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX
  137. XM>'AX<R`@(&%X>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@
  138. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  139. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>',@("`@("`@("`@
  140. XM("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@
  141. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  142. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX<R`@
  143. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>',@("`@
  144. XM("`@("`@87AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@
  145. XM("`@("`@('%X>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  146. XM("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AS("`@("`@("`@("`@("`@
  147. XM("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@
  148. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  149. XM('%X>'<@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AS("`@("`@("`@
  150. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX("`@("`@("`@
  151. XM("`@(&%X>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@
  152. XM<7AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  153. XM("`@("`@("`@("`@("`@("`@("!A>'AX<R`@("`@("`@("`@("`@("`@("`@
  154. XM("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  155. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX
  156. XM>'AW("`@("`@("`@("`@("`@("`@('AX>'AX>'AX<R`@("`@("`@("`@("`@
  157. XM("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AW("`@("`@("`@("`@
  158. XM("`@87AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@<7AX>'AX
  159. XM>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  160. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  161. XM("`@("`@("`@>`IX("`@("`@("`@('%X>'AW("`@("H@("`@("`@("`@("`@
  162. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AW
  163. XM("`@("`@("`@("`@("`@("`@>'AX>'AX>',@("`@("`@("`@("`@("`@("`@
  164. XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AW("`@("`@("`@("`@("`@
  165. XM("`@("!A>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@('%X>'AX>'AX>'AX>'AX
  166. XM>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  167. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  168. XM("`@("!X"G@@("`@("`@("!Q>'AX>'AW('%X>'AW("`@("`@("`@("`@("`@
  169. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AW("`@
  170. XM("`@("`@("`@("`@('%X>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@
  171. XM("`@("`@("`@("`@("`@("`@("`@87AX>'AW("`@("`@("`@("`@("`@("`@
  172. XM("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  173. XM>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  174. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  175. XM('@*>"`@("`@("`@<7AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@
  176. XM("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX>'AW("`@("`@
  177. XM("`@("`@("!Q>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  178. XM("`@("`@("`@("`@("`@("`@(&%X>'AW("`@("`@("`@("`@("`@("`@("`@
  179. XM("!A>'AX>'AX>$9X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  180. XM>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  181. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX
  182. XM("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@
  183. XM("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX=R`@("`@("`@
  184. XM("`@<7AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  185. XM("`@("`@("`@("`@("`@(&%X>'AW("`@("`@("`@("`@("`@("`@("`@("`@
  186. XM("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  187. XM>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  188. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@
  189. XM("`@(&%X>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@
  190. XM("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>$9X>'AX>'AX
  191. XM>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  192. XM("`@("`@("`@("`@("!A>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@
  193. XM("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  194. XM>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  195. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@
  196. XM(&%X>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@
  197. XM("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  198. XM<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  199. XM("`@("`@("`@("!A>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  200. XM("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  201. XM>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  202. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@
  203. XM87AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  204. XM("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@
  205. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  206. XM("`@("`@("!A>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  207. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'A&>'AX>'AX>'AX>'AX>'AX
  208. XM>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  209. XM("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("!A
  210. XM>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  211. XM("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@
  212. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  213. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  214. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX
  215. XM=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  216. XM("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@(&%X
  217. XM>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  218. XM("`@("`@("`@("`@(&%X>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@
  219. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  220. XM("`@("`@("`@("`@("H@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  221. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX=R`@
  222. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  223. XM("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@('AX>'AX
  224. XM>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  225. XM("`@("`@("`@("`@87AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@
  226. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  227. XM("`@('%X>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  228. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AW
  229. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  230. XM("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX
  231. XM>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  232. XM("`@("`@("`@87AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  233. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX
  234. XM>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  235. XM("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'<@
  236. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  237. XM("`@("`@("`@('@*>"`@("`@<7AX=R`@("`@("`@('%X>'AX>'AX>'AX>'AX
  238. XM>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  239. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  240. XM("`@("`@("`@("`@("`@<7AX>'AX=R`@("`@("`@("`@("`@>'AX>'AX>'AX
  241. XM>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@
  242. XM("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'<@("`@
  243. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  244. XM("`@("`@>`IX("`@("!X>'AX>'<@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'<@
  245. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  246. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  247. XM("`@("`@("`@<7AX>'AX>'AX=R`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX
  248. XM>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@
  249. XM("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX=R`@("`@
  250. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  251. XM("!X"G@@("`@(&%X>'AX>'<@("`@<7AX>'AX>'AX>'AX>'AX>'AX>"`@("`@
  252. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  253. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  254. XM("!Q>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@87AX>'AX>'AS("`@("!A
  255. XM>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@
  256. XM("`@("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX=R`@
  257. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*
  258. XM>"`@("`@("!A>'AX>'A&>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@
  259. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  260. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX
  261. XM>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@87AX
  262. XM>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  263. XM("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX=R`@("`@
  264. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@
  265. XM("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@
  266. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  267. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX
  268. XM>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX
  269. XM>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  270. XM("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX("`@("`@("`@
  271. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@
  272. XM("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@
  273. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  274. XM("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  275. XM>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
  276. XM>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  277. XM("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>',@("`@("`@("`@("`@
  278. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@
  279. XM("`@("`@87AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@
  280. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  281. XM("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  282. XM>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX
  283. XM>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  284. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  285. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@
  286. XM("`@87AX>'AX>'AX>'AX>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  287. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  288. XM("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@
  289. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX
  290. XM>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  291. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  292. XM("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@
  293. XM>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  294. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  295. XM("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@
  296. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX
  297. XM<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  298. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  299. XM("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@('%X>'AX
  300. XM>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  301. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  302. XM<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@
  303. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>',@("`@
  304. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  305. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  306. XM("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX
  307. XM>'AX>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  308. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>',@
  309. XM(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@
  310. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AS("`@("`@("`@
  311. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  312. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  313. XM("`@("`@("`@("!X"G@@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX
  314. XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  315. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AS("`@("`@
  316. XM87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@
  317. XM("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX<R`@("`@("`@("`@("`@
  318. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  319. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  320. XM("`@("`@('@*>"`@("`@("`@("`@("!X>'AX>'AX>'AX>'AX>'AX>'AX("`@
  321. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  322. XM("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>',@("`@("`@("`@(&%X
  323. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@
  324. XM("`@("`@("`@("`@("`@("`@("`@87AX>',@("`@("`@("`@("`@("`@("`@
  325. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  326. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  327. XM("`@>`IX("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@
  328. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  329. XM("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@87AX
  330. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@
  331. XM("`@("`@("`@("`@("`@("`@87AS("`@("`@("`@("`@("`@("`@("`@("`@
  332. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  333. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X
  334. XM"G@@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@
  335. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  336. XM<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@(&%X
  337. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@
  338. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  339. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  340. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@
  341. XM("`@("`@("`@("`@('AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@
  342. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX
  343. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AW("`@('%W("`@("`@("`@("`@("`@("`@
  344. XM("`@("`@87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@
  345. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  346. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  347. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@
  348. XM("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@
  349. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AX>'AX
  350. XM>'AX>'AX>'AX>'AX>'AX>'AX1GAX>',@("`@("`@("`@("`@("`@("`@("`@
  351. XM("`@("`@87AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@
  352. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  353. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  354. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@
  355. XM("!Q>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@
  356. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX>'AX
  357. XM>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  358. XM("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@
  359. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  360. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  361. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("!Q>'AX
  362. XM>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  363. XM("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AS
  364. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  365. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  366. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  367. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  368. XM("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@(&%X>'AX>'AX
  369. XM>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  370. XM("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AS("`@("`@("`@("`@
  371. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  372. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  373. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  374. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  375. XM("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@(&%X>'AX>'AX>'AX
  376. XM>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  377. XM("`@("`@("`@("`@("`@("`@87AX>'AX>'AS("`@("`@("`@("`@("`@("`@
  378. XM("!Q>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  379. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  380. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  381. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  382. XM("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX
  383. XM>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  384. XM("`@("`@("`@("`@("`@("!A>'AX<R`@("`@("`@("`@("`@("`@('%X>'AX
  385. XM>'AX=R`@("`@("`@("`@("`@("`@("`@("`@('%X>'<@("`@("`@("`@("`@
  386. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  387. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  388. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  389. XM("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX
  390. XM>'@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  391. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX
  392. XM>'AX>'AX>'AX>'<@("`@("`@("`@("`@87AX>'<@("`@("`@("`@("`@("`@
  393. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  394. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  395. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  396. XM("`@("`@("!X"G@@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX>"`@
  397. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  398. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX>'AX>'AX
  399. XM>'AX>'AX>'<@("`@("`@("`@("`@87AX>'AW("`@("`@("`@("`@("`@("`@
  400. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  401. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  402. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  403. XM("`@('@*>"`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX=R`@("`@
  404. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  405. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX>'AX
  406. XM>'AX>'AW("`@("`@("`@("`@87AX>'AW("`@("`@("`@("`@("`@("`@("`@
  407. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  408. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  409. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  410. XM>`IX("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'<@("`@("`@
  411. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  412. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX
  413. XM>'AX>'<@("`@("`@("`@>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@
  414. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  415. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  416. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@
  417. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AW("`@("`@("`@
  418. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  419. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
  420. XM>'<@("`@("`@<7AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@
  421. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  422. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  423. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@
  424. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'<@("`@("`@("`@
  425. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  426. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X>'AX>'AW
  427. XM("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@
  428. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  429. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  430. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@
  431. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AW("`@("`@("`@("`@
  432. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  433. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX1GAX
  434. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@
  435. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  436. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  437. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@
  438. XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX=R`@("`@("`@("`@("`@
  439. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  440. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>'AX>'AX>'AX>'AX>'AX
  441. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@
  442. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  443. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  444. XM("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@
  445. XM("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AW("`@("`@("`@("`@("`@
  446. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  447. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX
  448. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@
  449. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  450. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  451. XM("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@
  452. XM("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX=R`@("`@("`@("`@("`@
  453. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  454. XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  455. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@
  456. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  457. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  458. XM("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@
  459. XM("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX=R`@("`@("`@("`@
  460. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  461. XM("`@("`@("`@("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX>'AS
  462. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  463. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  464. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  465. XM("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  466. XM("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'AW("`@("`@("`@
  467. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  468. XM("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX>',@("`@("`@
  469. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  470. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  471. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  472. XM("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  473. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AW("`@
  474. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  475. XM("`@("`@("`@("`@("`@("`@("`@87AX1GAX>'AS("`@("`@("`@("`@("`@
  476. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  477. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  478. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  479. XM("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  480. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX>'AX>'@@("`@("`@
  481. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  482. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  483. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX=R`@
  484. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  485. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  486. XM('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  487. XM("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX>'AX<R`@("`@("`@("`@
  488. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  489. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  490. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX=R`@("`@
  491. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  492. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX
  493. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  494. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  495. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  496. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  497. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX=R`@("`@("`@
  498. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  499. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@
  500. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  501. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  502. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  503. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  504. XM("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX=R`@("`@("`@("`@
  505. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  506. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@
  507. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  508. XM("`@("`@("`@("`@("`@("`@("`@("!Q>'AW("`@("`@("`@("`@("`@("`@
  509. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  510. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  511. XM("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@
  512. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  513. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@
  514. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  515. XM("`@("`@("`@("`@("`@("!Q>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@
  516. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  517. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  518. XM("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@
  519. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  520. XM("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@
  521. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  522. XM("`@("`@("`@<7AX>'AX>'AX>'AX>'AW("`@("`@("`@("`@("`@("`@("`@
  523. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  524. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  525. XM("`@<7AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@
  526. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  527. XM("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@
  528. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  529. XM("!Q>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@
  530. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  531. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX
  532. XM>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@
  533. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  534. XM("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@
  535. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX
  536. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@
  537. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  538. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX
  539. XM>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  540. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  541. XM("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  542. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX
  543. XM>'AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@("`@("`@("`@("`@
  544. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  545. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX
  546. XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  547. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  548. XM("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  549. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX
  550. XM>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  551. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  552. XM("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  553. XM>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  554. XM("`@("`@("`@("!Q>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  555. XM("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  556. XM("`@("`@("`@("`@('%X>'<@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX<R`@
  557. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  558. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  559. XM("`@("`@("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@
  560. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  561. XM("`@("`@<7AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  562. XM("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  563. XM("`@("`@("!Q>'AX>'<@("!Q>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@("`@
  564. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  565. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  566. XM("`@("`@("`@('%X>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>',@("`@("`@
  567. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  568. XM('%X>'AX>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*
  569. XM>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  570. XM("!Q>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>"`@("`@("`@("`@
  571. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  572. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  573. XM("`@("`@>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX1G,@("`@("`@("`@("`@
  574. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX
  575. XM>'AX>'AX>'<@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@
  576. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX
  577. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX=R`J("`@("`@("`@("`@
  578. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  579. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  580. XM("!A>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@
  581. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX
  582. XM>'AX>'AW("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@
  583. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('AX>'AX>'AX
  584. XM<R`@("`@("`@("`@("!A>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@("`@
  585. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  586. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  587. XM87AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@
  588. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX
  589. XM>'AX=R`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@
  590. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AS("`@("`@
  591. XM("`@("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>'AX>'AX=R`@("`@("`@("`@
  592. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  593. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@(&%X
  594. XM>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  595. XM("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  596. XM>'<@("`@("`@("`@("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@
  597. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  598. XM("`@("`@("`@("`@87AX>'AX>'AX>'AX>'AX>'AX("`@("`@("`@("`@("`@
  599. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  600. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!A>'AX
  601. XM>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  602. XM("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AW
  603. XM("`@("`@("`@("`@("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@
  604. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  605. XM("`@("`@("`@(&%X>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@
  606. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  607. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>'AX
  608. XM<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  609. XM("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'@@("`@
  610. XM("`@("`@("`@("`@("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@
  611. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  612. XM("`@("`@('AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@
  613. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  614. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@87AX>',@("`@
  615. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  616. XM("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@
  617. XM("`@("`@("`@("`@("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@
  618. XM("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX=R`@("`@("`@("`@("`@
  619. XM("`@>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  620. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  621. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  622. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('%X
  623. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX<R`@("`@("`@("`@("`@
  624. XM("`@("`@("`@("!X"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  625. XM("`@("`@("`@("`@("`@("`@('%X>'AX>'AX=R`@("`@("`@("`@("`@('%X
  626. XM>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  627. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  628. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  629. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX
  630. XM>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AS("`@("`@("`@("`@("`@("`@("`@
  631. XM("`@("`@('@*>"`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  632. XM("`@("`@("`@("`@<7AX>'AX>'AX>'AX=R`@("`@("`@("`@('%X>'AX>'AX
  633. XM>'AX<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  634. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  635. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  636. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX
  637. XM>'AX>'AX>'AX>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  638. XM("`@>`IX("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  639. XM("`@("`@("!X>'AX>'AX>'AX>'AX>'<@("`@("`@("!Q>'AX>'AX>'AX>',@
  640. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  641. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  642. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  643. XM("`@("`@("`@("`@("`@("`@("`@("`@("!Q>'AX>'AX>'AX>'AX>'AX>'AX
  644. XM>'AX>'AX>',@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("!X
  645. XM"G@@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  646. XM("`@(&%X>'AX>'AX>'AX>'AX>'<@("`@("`@<7AX>'AX>'AX>'AS("`@("`@
  647. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  648. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  649. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  650. XM("`@("`@("`@("`@("`@("`@<7AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX>'AX
  651. XM<R`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@('@*>"`@
  652. XM("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@("`@
  653. END_OF_FILE
  654. if test 38440 -ne `wc -c <'maps/planetx.uue.2'`; then
  655.     echo shar: \"'maps/planetx.uue.2'\" unpacked with wrong size!
  656. fi
  657. # end of 'maps/planetx.uue.2'
  658. fi
  659. if test -f 'src/usleep.c' -a "${1}" != "-c" ; then 
  660.   echo shar: Will not clobber existing file \"'src/usleep.c'\"
  661. else
  662. echo shar: Extracting \"'src/usleep.c'\" \(1012 characters\)
  663. sed "s/^X//" >'src/usleep.c' <<'END_OF_FILE'
  664. X/*
  665. X#ifndef lint
  666. Xstatic char sccsid[] = "@(#)usleep.c    1.3 91/05/24 XLOCK";
  667. X#endif
  668. X*/
  669. X/*-
  670. X * usleep.c - OS dependant implementation of usleep().
  671. X *
  672. X * Copyright (c) 1991 by Patrick J. Naughton.
  673. X *
  674. X * Revision History:
  675. X * 30-Aug-90: written.
  676. X *
  677. X */
  678. X
  679. X#include <sys/types.h>
  680. X#include <sys/time.h>
  681. X
  682. X#ifndef    lint
  683. Xstatic char sourceid[] =
  684. X    "@(#)usleep.c,v 1.4 1992/06/28 05:38:33 bjoerns Exp";
  685. X#endif
  686. X
  687. X
  688. Xint
  689. Xusleep(usec)
  690. X    unsigned long usec;
  691. X{
  692. X/*#ifdef SYSV
  693. X    poll((struct poll *) 0, (size_t) 0, usec / 1000);    /* ms RES */
  694. X/*#else*/
  695. X    struct timeval timeout;
  696. X    timeout.tv_usec = usec % (unsigned long) 1000000;
  697. X    timeout.tv_sec = usec / (unsigned long) 1000000;
  698. X    (void) select(0, (void *) 0, (void *) 0, (void *) 0, &timeout);
  699. X/*#endif*/
  700. X    return 0;
  701. X}
  702. X
  703. X/*
  704. X * returns the number of seconds since 01-Jan-70.
  705. X * This is used to control rate and timeout in many of the animations.
  706. X */
  707. Xlong
  708. Xseconds()
  709. X{
  710. X    struct timeval now;
  711. X
  712. X    (void) gettimeofday(&now, (struct timezone *) 0);
  713. X    return now.tv_sec;
  714. X}
  715. END_OF_FILE
  716. if test 1012 -ne `wc -c <'src/usleep.c'`; then
  717.     echo shar: \"'src/usleep.c'\" unpacked with wrong size!
  718. fi
  719. # end of 'src/usleep.c'
  720. fi
  721. if test -f 'src/xpilot.c' -a "${1}" != "-c" ; then 
  722.   echo shar: Will not clobber existing file \"'src/xpilot.c'\"
  723. else
  724. echo shar: Extracting \"'src/xpilot.c'\" \(15033 characters\)
  725. sed "s/^X//" >'src/xpilot.c' <<'END_OF_FILE'
  726. X/* $Id: xpilot.c,v 1.20 1992/07/10 23:20:01 bjoerns Exp $
  727. X *
  728. X *    This file is part of the XPilot project, written by
  729. X *
  730. X *        Bjxrn Stabell (bjoerns@stud.cs.uit.no)
  731. X *        Ken Ronny Schouten (kenrsc@stud.cs.uit.no)
  732. X *
  733. X *    Copylefts are explained in the LICENSE file.
  734. X */
  735. X
  736. X#include <stdio.h>
  737. X#include <stdlib.h>
  738. X#include <pwd.h>
  739. X#if  defined(apollo)
  740. X#    include <sys/types.h>
  741. X#else
  742. X#    include <string.h>
  743. X#endif
  744. X
  745. X#include "pack.h"
  746. X#include "bit.h"
  747. X#include "version.h"
  748. X#include "config.h"
  749. X
  750. X#ifndef    lint
  751. Xstatic char versionid[] = "@(#)$" TITLE " $";
  752. Xstatic char sourceid[] =
  753. X    "@(#)$Id: xpilot.c,v 1.20 1992/07/10 23:20:01 bjoerns Exp $";
  754. X#endif
  755. X
  756. X#define MAX_LINE    256
  757. X
  758. Xint        socket_c,        /* Contact socket */
  759. X            socket_i,        /* Info socket */
  760. X            server_port;
  761. Xpack_t        req;
  762. Xcore_pack_t    *core = &req.core;
  763. Xchar        name[MAX_NAME_LEN],
  764. X            base_addr[MAX_LINE],
  765. X            server_host[MAX_LINE],
  766. X            hostname[MAX_LINE],
  767. X            display[MAX_DISP_LEN],
  768. X        shutdown_reason[MAX_ARG_LEN];
  769. Xbool        auto_connect = false,
  770. X            list_servers = false,
  771. X            auto_shutdown = false;
  772. Xu_short        team = TEAM_NOT_SET;
  773. X
  774. X
  775. X/*
  776. X * NOTE (base_addr) that this routine only handles the first net address.  If
  777. X * the machine has more than one connection, you'll have to specify the server
  778. X * machine manually if it isn't on the first net.
  779. X */
  780. Xvoid initaddr()
  781. X{
  782. X    struct hostent    *hinfo, *he;
  783. X    char        tmp[MAX_LINE];
  784. X    int            i;
  785. X
  786. X
  787. X    base_addr[0] = '\0';
  788. X    gethostname(hostname, MAX_LINE);
  789. X    if ((hinfo = gethostbyname(hostname)) == NULL) {
  790. X    error("gethostbyname");
  791. X    exit (-1);
  792. X    }
  793. X
  794. X    /* Get base address (cluster address?) */
  795. X
  796. X    for (i=0; i<hinfo->h_length-1; i++) {
  797. X    sprintf(tmp, "%d.", (unsigned char)hinfo->h_addr[i]);
  798. X    strcat(base_addr, tmp);
  799. X    }
  800. X
  801. X    /*
  802. X     * Get host's official name.
  803. X     */
  804. X    strcpy(hostname, hinfo->h_name);
  805. X}
  806. X
  807. X
  808. X
  809. Xvoid printfile(char *name)
  810. X{
  811. X    FILE *fp;
  812. X    char c;
  813. X
  814. X
  815. X    if ((fp=fopen(name, "r")) == NULL) {
  816. X/*    error(name);    */
  817. X    return;
  818. X    }
  819. X
  820. X    while ((c=fgetc(fp)) && !feof(fp))
  821. X    putchar(c);
  822. X
  823. X    fclose(fp);
  824. X}
  825. X
  826. X
  827. X
  828. Xbool Get_contact_message(void)
  829. X{
  830. X    bool        readable = false;
  831. X    contact_pack_t    pack;
  832. X
  833. X
  834. X    if (SocketReadable(socket_c)) {
  835. X    if (DgramReceiveAny(socket_c, (char *)&pack, sizeof(pack)) == -1) {
  836. X        error("DgramReceiveAny, contact message");
  837. X        exit(-1);
  838. X    }
  839. X    readable = true;
  840. X
  841. X    /*
  842. X     * Now get server's host and port.
  843. X     */
  844. X    strcpy(server_host, DgramLastaddr());
  845. X    server_port = pack.port = ntohl(pack.port);
  846. X    pack.magic = ntohl(pack.magic);
  847. X
  848. X    if (pack.magic != MAGIC) {
  849. X        error("Bad magic on contact message (0x%lx).", pack.magic);
  850. X        return (false);
  851. X    }
  852. X    }
  853. X    
  854. X    return (readable);
  855. X}
  856. X
  857. X
  858. X
  859. Xint Get_reply_message(reply_pack_t *p)
  860. X{
  861. X    int len;
  862. X
  863. X
  864. X    if (SocketReadable(socket_i)) {
  865. X    if ((len=DgramReceiveAny(socket_i, (char *)p,
  866. X                 sizeof(reply_pack_t))) == -1) {
  867. X        error("DgramReceiveAny, reply message");
  868. X        exit(-1);
  869. X    } else {
  870. X        /*
  871. X         * Watch out for big/little-endian problems.
  872. X         */
  873. X        p->magic = ntohl(p->magic);
  874. X        p->port = ntohl(p->port);
  875. X
  876. X        if (p->magic != MAGIC) {
  877. X        error("Wrong MAGIC in pack (0x%lx).", p->magic);
  878. X        return (0);
  879. X        }
  880. X    }
  881. X    } else
  882. X    return (0);
  883. X    
  884. X    return (len);
  885. X}
  886. X
  887. X
  888. X
  889. X/*
  890. X * This is the routine that interactively (if not auto_connect) prompts
  891. X * the user on his/her next action.  Returns true if player joined this
  892. X * server (connected to server), or false if the player wants to have a
  893. X * look at the next server.
  894. X */
  895. Xbool Connect_to_server(void)
  896. X{
  897. X    int            len;
  898. X    bool        contact, xhost_is_done;
  899. X    char        c, str[MAX_LINE];
  900. X    reply_pack_t    reply;
  901. X    struct hostent    *he;
  902. X
  903. X
  904. X    core->port = htonl(GetPortNum(socket_i));
  905. X
  906. X again:
  907. X    xhost_is_done = false;
  908. X
  909. X    /*
  910. X     * Now, what do you want from the server?
  911. X     */
  912. X    if (!auto_connect) {
  913. X    if ((he = gethostbyaddr((char *)&sl_dgram_lastaddr.sin_addr,
  914. X                sizeof(struct in_addr), AF_INET)) == NULL) {
  915. X        error("gethostbyname() couldn't lookup server's name");
  916. X        exit (-1);
  917. X    }
  918. X
  919. X    printf("Server on %s. Enter command> ", he->h_name);
  920. X
  921. X    gets(str);
  922. X    c = str[0];
  923. X    CAP_LETTER(c);
  924. X    } else {
  925. X    if (list_servers)
  926. X        c = 'S';
  927. X    else if (auto_shutdown)
  928. X        c = 'D';
  929. X    else
  930. X        c = 'J';
  931. X    }
  932. X
  933. X    contact = true;
  934. X    switch (c) {
  935. X
  936. X    /*
  937. X     * Owner only commands:
  938. X     */
  939. X    case 'K':    {
  940. X    kick_player_pack_t    *p = &req.command;
  941. X
  942. X    p->type = KICK_PLAYER_pack;
  943. X    printf("Enter name of victim: ");
  944. X    fflush(stdout);
  945. X    gets(p->arg_str);
  946. X    }
  947. X    break;
  948. X
  949. X    case 'M':    {            /* Send a message to server. */
  950. X    message_pack_t    *p = &req.command;
  951. X
  952. X    p->type = MESSAGE_pack;
  953. X    printf("Enter message: ");
  954. X    fflush(stdout);
  955. X    gets(p->arg_str);
  956. X    }
  957. X    break;
  958. X
  959. X    /*
  960. X     * Public commands:
  961. X     */
  962. X    case 'N':                /* Next server. */
  963. X    return (false);
  964. X    break;
  965. X
  966. X    case 'S':    {            /* Report status. */
  967. X    report_status_pack_t    *p = &req.command;
  968. X
  969. X    p->type = REPORT_STATUS_pack;
  970. X    }
  971. X    break;
  972. X
  973. X    case 'D':    {
  974. X    shutdown_pack_t        *p = &req.command;
  975. X
  976. X    p->type = SHUTDOWN_pack;
  977. X    if (!auto_shutdown) {
  978. X        printf("Enter delay: ");
  979. X        gets(p->arg_str);
  980. X        /*
  981. X         * No argument = cancel shutdown = arg_int=0
  982. X         */
  983. X        if (sscanf(p->arg_str, "%d", &p->arg_int) <= 0) {
  984. X        p->arg_int = 0;
  985. X        } else
  986. X        if (p->arg_int <= 0)
  987. X            p->arg_int = 1;
  988. X
  989. X        printf("Enter reason: ");
  990. X        gets(p->arg_str);
  991. X    } else {
  992. X        strcpy(p->arg_str, shutdown_reason);
  993. X        p->arg_int = 600;
  994. X    }
  995. X    p->arg_int = htonl(p->arg_int);        /* Big/little endian */
  996. X    }
  997. X    break;
  998. X
  999. X    case 'Q':
  1000. X    exit (0);
  1001. X    break;
  1002. X
  1003. X    case 'L':    {
  1004. X    lock_game_pack_t    *p = &req.command;
  1005. X
  1006. X    p->type = LOCK_GAME_pack;
  1007. X    }
  1008. X    break;
  1009. X
  1010. X    case '\0':
  1011. X    case 'J':    {            /* Trying to enter game. */
  1012. X    enter_game_pack_t    *p = &req.enter;
  1013. X
  1014. X    p->type = ENTER_GAME_pack;
  1015. X    strcpy(p->nick, name);
  1016. X    strcpy(p->display, display);
  1017. X    p->team = htons(team);
  1018. X    }
  1019. X    break;
  1020. X
  1021. X    case '?':
  1022. X    case 'H':                /* Help. */
  1023. X    default:
  1024. X        printf("CLIENT VERSION...: %s\n", TITLE);
  1025. X        printf("Supported commands are:\n"
  1026. X               "H/?  -   Help - this text.\n"
  1027. X               "N    -   Next server, skip this one.\n"
  1028. X               "S    -   list Status.\n"
  1029. X               "Q    -   Quit.\n"
  1030. X               "K    -   Kick a player.               (only owner)\n"
  1031. X               "M    -   send a Message.              (only owner)\n"
  1032. X               "L    -   Lock/unLock server access.   (only owner)\n"
  1033. X               "D(*) -   shutDown/cancel shutDown.    (only owner)\n"
  1034. X               "J or just Return enters the game.\n"
  1035. X               "* If you don't specify any delay for shutdown, you will signal "
  1036. X               "  that\nthe server should stop an ongoing shutdown.\n");
  1037. X        goto again;
  1038. X        break;
  1039. X    }
  1040. X
  1041. X retry:
  1042. X    /*
  1043. X     * Do you want to contact the server, or carry on?
  1044. X     */
  1045. X    if (contact) {
  1046. X    if (DgramSend(socket_i, server_host, server_port,
  1047. X              (char *)&req, sizeof(reply_pack_t)) == -1) {
  1048. X        error("Couldn't send request to server (DgramSend)");
  1049. X        exit(-1);
  1050. X    }
  1051. X
  1052. X    /*
  1053. X     * Get reply message.  If we failed, return false (next server).
  1054. X     */
  1055. X    if ((len = Get_reply_message(&reply)) < sizeof(core_pack_t)) {
  1056. X        error("Could not get any answer from server (pack length %d)", len);
  1057. X        return (false);
  1058. X    }
  1059. X
  1060. X    /*
  1061. X     * Now try and interpret the result.
  1062. X     */
  1063. X    switch (reply.status) {
  1064. X
  1065. X    case SUCCESS:
  1066. X        /*
  1067. X         * Oh glorious success.
  1068. X         */
  1069. X        switch (req.core.type) {
  1070. X        case SHUTDOWN_pack:
  1071. X        if (ntohl(req.command.arg_int) == 0)
  1072. X            puts("Shutdown stopped.");
  1073. X        else
  1074. X            puts("Shutdown initiated.");
  1075. X        break;
  1076. X        case ENTER_GAME_pack:
  1077. X        puts("You have entered the game.");
  1078. X        break;
  1079. X        default:
  1080. X        puts("Operation successful.");
  1081. X        break;
  1082. X        }
  1083. X        break;
  1084. X
  1085. X    case E_DISPLAY:
  1086. X#ifdef    XHOST
  1087. X        /*
  1088. X         * Now this is something we might fix.  The server couldn't open
  1089. X         * the display, maybe we should try "xhost +server" and then
  1090. X         * "xhost -server" when we're finished?
  1091. X         */
  1092. X        if (xhost_is_done) {
  1093. X        error("Couldn't open display");
  1094. X        exit (-1);
  1095. X        }
  1096. X
  1097. X        sprintf(str, XHOST_OPEN, server_host);
  1098. X        system(str);
  1099. X        xhost_is_done = true;
  1100. X        goto retry;
  1101. X#else
  1102. X        error("This version does not automatically use xhost "
  1103. X          "to allow the server to connect\n"
  1104. X          "to your display, you will have to do it manually"
  1105. X          "if you want to join the game.");
  1106. X#endif
  1107. X        break;
  1108. X
  1109. X    case E_NOT_OWNER:
  1110. X        error("Permission denied, not owner");
  1111. X        break;
  1112. X    case E_GAME_FULL:
  1113. X        error("Sorry, game full");
  1114. X        break;
  1115. X    case E_GAME_LOCKED:
  1116. X        error("Sorry, game locked");
  1117. X        break;
  1118. X    case E_DBUFF:
  1119. X        error("Couldn't initialize double buffering");
  1120. X        break;
  1121. X    case E_NOT_FOUND:
  1122. X        error("That player is not logged on this server");
  1123. X        break;
  1124. X    case E_IN_USE:
  1125. X        error("Your nick is already used");
  1126. X        break;
  1127. X    default:
  1128. X        error("Wrong status '%d'", reply.status);
  1129. X        break;
  1130. X    }
  1131. X
  1132. X    /*
  1133. X     * Did the reply include a string?
  1134. X     */
  1135. X    if (len > sizeof(core_pack_t) && !auto_connect) {
  1136. X        puts(reply.str);
  1137. X    }
  1138. X
  1139. X    if (list_servers)    /* If listing servers, go to next one */
  1140. X        return (false);
  1141. X
  1142. X    if (auto_shutdown)    /* Do the same if we've sent a -shutdown */
  1143. X        return (false);
  1144. X
  1145. X#ifdef    XHOST
  1146. X    if (xhost_is_done) {
  1147. X        sprintf(str, XHOST_CLOSE, server_host);
  1148. X        system(str);
  1149. X        xhost_is_done = false;
  1150. X    }
  1151. X#endif
  1152. X
  1153. X    /*
  1154. X     * If we wanted to enter the game and we were allowed to, return true
  1155. X     * (we are done).  If we weren't allowed, either return false (get next
  1156. X     * server) if we are auto_connecting or get next command if we aren't
  1157. X     * auto_connecting (interactive).
  1158. X     */
  1159. X    if (core->type == ENTER_GAME_pack) {
  1160. X        if (core->status == SUCCESS) {
  1161. X        return (true);
  1162. X        } else {
  1163. X        if (auto_connect)
  1164. X            return (false);
  1165. X        }
  1166. X    }
  1167. X    }
  1168. X
  1169. X    /*
  1170. X     * Get next command.
  1171. X     */
  1172. X    goto again;
  1173. X}
  1174. X
  1175. X
  1176. X
  1177. X
  1178. X/*
  1179. X * Oh glorious main(), without thee we cannot exist.
  1180. X */
  1181. Xint main(int argc, char *argv[])
  1182. X{
  1183. X    char        machine[MAX_LINE];
  1184. X    int            i;
  1185. X    struct passwd    *pwent;
  1186. X    bool        connected = false;
  1187. X
  1188. X
  1189. X    /*
  1190. X     * --- Miscellaneous initialization ---
  1191. X     */
  1192. X    initaddr();
  1193. X    init_error(argv[0]);
  1194. X
  1195. X    if ((socket_i = CreateDgramSocket(0)) == -1) {
  1196. X    error("Could not create info socket");
  1197. X    exit(-1);
  1198. X    }
  1199. X
  1200. X    if ((socket_c = CreateDgramSocket(0)) == -1) {
  1201. X    error("Could not create connection socket");
  1202. X    SocketClose(socket_c);
  1203. X    exit(-1);
  1204. X    }
  1205. X
  1206. X    machine[0] = name[0] = '\0';
  1207. X    strcpy(display, getenv("DISPLAY"));
  1208. X
  1209. X    /*
  1210. X     * --- Setup core of pack ---
  1211. X     */
  1212. X    core->magic = htonl(MAGIC);
  1213. X    core->type = CONTACT_pack;
  1214. X    pwent = getpwuid(geteuid()); strcpy(core->realname, pwent->pw_name);
  1215. X    core->port = htonl(GetPortNum(socket_c));
  1216. X    core->status = SUCCESS;
  1217. X
  1218. X
  1219. X    /*
  1220. X     * --- Check commandline arguments ---
  1221. X     */
  1222. X    for(i=1; i<argc; i++) {
  1223. X    if (strncmp(argv[i], "-help", 2) == 0) {
  1224. X        printf("Usage:    %s [-options ..] [server]\n\n"
  1225. X           "Where options include:\n"
  1226. X           "    -help            print out this message\n"
  1227. X           "    -version        print out current version\n"
  1228. X           "    -name <nick>        specifies a nick name\n"
  1229. X           "    -team <number>        specifies team number\n"
  1230. X           "    -join            enables auto join mode\n"
  1231. X           "    -list            lists all accessible servers\n"
  1232. X           "    -shutdown [msg]        shuts down the server\n"
  1233. X           "    -display        which X server to contact\n"
  1234. X           "    server            which game server to contact\n"
  1235. X           "\nIf no server is specified, the command will affect all "
  1236. X           "servers.\n", argv[0]);
  1237. X        exit(0);
  1238. X    }
  1239. X    if (strncmp(argv[i], "-version", 2) == 0) {
  1240. X        puts(TITLE);
  1241. X        exit(0);
  1242. X    }
  1243. X    if (strcmp(argv[i], "-name") == 0) {
  1244. X        strcpy(name, argv[++i]);
  1245. X        continue;
  1246. X    }
  1247. X    if (strcmp(argv[i], "-join") == 0) {
  1248. X        auto_connect = true;
  1249. X        continue;
  1250. X    }
  1251. X    if (strcmp(argv[i], "-team") == 0) {
  1252. X        team = atoi(argv[++i]);
  1253. X        if (team < 0)
  1254. X        team = 0;
  1255. X        else if (team > 9)
  1256. X        team = 9;
  1257. X        continue;
  1258. X    }
  1259. X    if (strcmp(argv[i], "-list") == 0) {
  1260. X        list_servers = true;
  1261. X        auto_connect = true;
  1262. X        continue;
  1263. X    }
  1264. X    if (strcmp(argv[i], "-display") == 0) {
  1265. X        strcpy(display, argv[++i]);
  1266. X        continue;
  1267. X    }
  1268. X    if (strcmp(argv[i], "-shutdown") == 0) {
  1269. X        auto_shutdown = true;
  1270. X        auto_connect = true;
  1271. X        if (argc > i+1)
  1272. X        strcpy(shutdown_reason, argv[++i]);
  1273. X        else
  1274. X        strcpy(shutdown_reason, "Unknown reason.");
  1275. X        continue;
  1276. X    }
  1277. X
  1278. X    if (argv[i][0] == '-') {
  1279. X        error("Unkown option '%s'", argv[i]);
  1280. X    } else
  1281. X        strcpy(server_host, argv[i]);
  1282. X    }
  1283. X
  1284. X    /*
  1285. X     * --- Message of the Day ---
  1286. X     */
  1287. X    if (!auto_connect)
  1288. X    printfile(MOTDFILE);
  1289. X    if (list_servers)
  1290. X    printf("LISTING AVAILABLE SERVERS:\n");
  1291. X
  1292. X    /*
  1293. X     * --- Correct the display --- May need modification
  1294. X     */
  1295. X    if (display[0] == '\0'
  1296. X    || strstr(display, "unix:0") != NULL
  1297. X    || strstr(display, "local:0") != NULL
  1298. X    || strcmp(display, ":0.0") == 0
  1299. X    || strcmp(display, ":0") == 0)
  1300. X    sprintf(display, "%s:0", hostname);
  1301. X
  1302. X
  1303. X#ifdef    LIMIT_ACCESS
  1304. X    /*
  1305. X     * If sysadm's have complained alot, check for free machines before
  1306. X     * letting the user play.  If room is crowded, don't let him play.
  1307. X     */
  1308. X    if (!list_servers && Is_allowed() == false)
  1309. X    exit (-1);
  1310. X#endif
  1311. X
  1312. X    SetTimeout(15, 0);
  1313. X
  1314. X    /*
  1315. X     * --- Try to contact server ---
  1316. X     */
  1317. X    if (server_host[0] != '\0') {    /* Server specified on command line? */
  1318. X    DgramSend(socket_c, server_host, SERVER_PORT,
  1319. X          (char *)&req, sizeof(contact_pack_t));
  1320. X
  1321. X    if (Get_contact_message())
  1322. X        connected = Connect_to_server();
  1323. X
  1324. X    } else {                /* Search after servers... */
  1325. X    /*
  1326. X     * Try to broadcast the 'hello servers' packet.  This won't work
  1327. X     * on all systems, but for those who allow mortals to do broadcasts
  1328. X     * it will mean a significant reduction in netload.  Also, some
  1329. X     * ethernet controllers (mainly AIX ones) goes nutso when we try
  1330. X     * to do 'manual broadcasts'.  (See below)
  1331. X     *
  1332. X     * Note, this method only works for class C nets, or class B nets
  1333. X     * with subnetmasks.
  1334. X     */
  1335. X    /*
  1336. X    sprintf(server_host, "%s255", base_addr);
  1337. X        if (DgramSend(socket_c, server_host, DEFAULT_PORT,
  1338. X            (char *)&req, sizeof(Pack))j);
  1339. X            IKKE FERDIG */
  1340. X
  1341. X    /*
  1342. X     * Got the IP address of name-server with the last part deleted, i.e.
  1343. X     *    129.242.16.110      =>   129.242.16.
  1344. X     * Then search through all the machines in the 129.242.16 domain.
  1345. X     */
  1346. XD(    printf("Sending packet to:\n"); )
  1347. X    for (i=1; i<255; i++) {
  1348. X        sprintf(server_host, "%s%d", base_addr, i);
  1349. XD(        printf("%s\t", server_host);    )
  1350. X        while (DgramSend(socket_c, server_host, SERVER_PORT, (char *)&req,
  1351. X                 sizeof(contact_pack_t)) < sizeof(contact_pack_t))
  1352. X            sleep(1);
  1353. X        usleep(10000);        /* UDP isn't reliable, so we'd better */
  1354. X    }                /* not push the net. */
  1355. X
  1356. XD(    printf("\n");    )
  1357. X
  1358. X
  1359. X    /* Hard coded search domains. */
  1360. X#ifdef    UIT
  1361. X    strcpy(base_addr, "129.242.16.");
  1362. X    for (i=1;  i<255; i++) {
  1363. X        sprintf(server_host, "%s%d", base_addr, i);
  1364. X        while (DgramSend(socket_c, server_host, DEFAULT_PORT, (char *)&req,
  1365. X                 sizeof(Pack)) == -1)
  1366. X        sleep(1);
  1367. X    }
  1368. X#endif
  1369. X#ifdef    CC
  1370. X    strcpy(base_addr, "129.242.6.");
  1371. X    for (i=1;  i<255; i++) {
  1372. X        sprintf(server_host, "%s%d", base_addr, i);
  1373. X        while (DgramSend(socket_c, server_host, DEFAULT_PORT, (char *)&req,
  1374. X                 sizeof(Pack)) == -1)
  1375. X        sleep(1);
  1376. X    }
  1377. X#endif
  1378. X
  1379. X    /*
  1380. X     * Wait for answer.
  1381. X     */
  1382. X    while (Get_contact_message()) {
  1383. X        if (connected = Connect_to_server())
  1384. X        break;
  1385. X    }
  1386. X    }
  1387. X
  1388. X    exit (connected==true ? 0 : -1);
  1389. X}
  1390. END_OF_FILE
  1391. echo shar: 1 control character may be missing from \"'src/xpilot.c'\"
  1392. if test 15033 -ne `wc -c <'src/xpilot.c'`; then
  1393.     echo shar: \"'src/xpilot.c'\" unpacked with wrong size!
  1394. fi
  1395. # end of 'src/xpilot.c'
  1396. fi
  1397. echo shar: End of archive 11 \(of 24\).
  1398. cp /dev/null ark11isdone
  1399. MISSING=""
  1400. 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
  1401.     if test ! -f ark${I}isdone ; then
  1402.     MISSING="${MISSING} ${I}"
  1403.     fi
  1404. done
  1405. if test "${MISSING}" = "" ; then
  1406.     echo You have unpacked all 24 archives.
  1407.     echo "\nNow run 'bldmaps.sh' to build the map files"
  1408.     rm -f ark[1-9]isdone ark[1-9][0-9]isdone
  1409. else
  1410.     echo You still need to unpack the following archives:
  1411.     echo "        " ${MISSING}
  1412. fi
  1413. ##  End of shell archive.
  1414. exit 0
  1415.