lex.C 105 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566
  1. /*
  2. * CDE - Common Desktop Environment
  3. *
  4. * Copyright (c) 1993-2012, The Open Group. All rights reserved.
  5. *
  6. * These libraries and programs are free software; you can
  7. * redistribute them and/or modify them under the terms of the GNU
  8. * Lesser General Public License as published by the Free Software
  9. * Foundation; either version 2 of the License, or (at your option)
  10. * any later version.
  11. *
  12. * These libraries and programs are distributed in the hope that
  13. * they will be useful, but WITHOUT ANY WARRANTY; without even the
  14. * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  15. * PURPOSE. See the GNU Lesser General Public License for more
  16. * details.
  17. *
  18. * You should have received a copy of the GNU Lesser General Public
  19. * License along with these librararies and programs; if not, write
  20. * to the Free Software Foundation, Inc., 51 Franklin Street, Fifth
  21. * Floor, Boston, MA 02110-1301 USA
  22. */
  23. /* A lexical scanner generated by flex */
  24. /* scanner skeleton version:
  25. * $XConsortium: lex.cc /main/4 1996/07/18 15:24:05 drk $
  26. */
  27. #define FLEX_SCANNER
  28. #include <stdio.h>
  29. /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
  30. #ifdef c_plusplus
  31. #ifndef __cplusplus
  32. #define __cplusplus
  33. #endif
  34. #endif
  35. #ifdef __cplusplus
  36. #include <stdlib.h>
  37. #if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
  38. #include <osfcn.h>
  39. #endif
  40. /* use prototypes in function declarations */
  41. #define YY_USE_PROTOS
  42. /* the "const" storage-class-modifier is valid */
  43. #define YY_USE_CONST
  44. #else /* ! __cplusplus */
  45. #ifdef __STDC__
  46. #ifdef __GNUC__
  47. #include <stddef.h>
  48. void *malloc( size_t );
  49. void free( void* );
  50. #else
  51. #include <stdlib.h>
  52. #endif /* __GNUC__ */
  53. #define YY_USE_PROTOS
  54. #define YY_USE_CONST
  55. #endif /* __STDC__ */
  56. #endif /* ! __cplusplus */
  57. #ifdef __TURBOC__
  58. #define YY_USE_CONST
  59. #endif
  60. #ifndef YY_USE_CONST
  61. #define const
  62. #endif
  63. #ifdef YY_USE_PROTOS
  64. #define YY_PROTO(proto) proto
  65. #else
  66. #define YY_PROTO(proto) ()
  67. /* we can't get here if it's an ANSI C compiler, or a C++ compiler,
  68. * so it's got to be a K&R compiler, and therefore there's no standard
  69. * place from which to include these definitions
  70. */
  71. char *malloc();
  72. int free();
  73. int read();
  74. #endif
  75. /* amount of stuff to slurp up with each read */
  76. #ifndef YY_READ_BUF_SIZE
  77. #define YY_READ_BUF_SIZE 8192
  78. #endif
  79. /* returned upon end-of-file */
  80. #define YY_END_TOK 0
  81. /* copy whatever the last rule matched to the standard output */
  82. /* cast to (char *) is because for 8-bit chars, yytext is (unsigned char *) */
  83. /* this used to be an fputs(), but since the string might contain NUL's,
  84. * we now use fwrite()
  85. */
  86. #define ECHO (void) fwrite( (char *) yytext, yyleng, 1, yyout )
  87. /* gets input and stuffs it into "buf". number of characters read, or YY_NULL,
  88. * is returned in "result".
  89. */
  90. #define YY_INPUT(buf,result,max_size) \
  91. if ( (result = read( fileno(yyin), (char *) buf, max_size )) < 0 ) \
  92. YY_FATAL_ERROR( "read() in flex scanner failed" );
  93. #define YY_NULL 0
  94. /* no semi-colon after return; correct usage is to write "yyterminate();" -
  95. * we don't want an extra ';' after the "return" because that will cause
  96. * some compilers to complain about unreachable statements.
  97. */
  98. #define yyterminate() return ( YY_NULL )
  99. /* report a fatal error */
  100. /* The funky do-while is used to turn this macro definition into
  101. * a single C statement (which needs a semi-colon terminator).
  102. * This avoids problems with code like:
  103. *
  104. * if ( something_happens )
  105. * YY_FATAL_ERROR( "oops, the something happened" );
  106. * else
  107. * everything_okay();
  108. *
  109. * Prior to using the do-while the compiler would get upset at the
  110. * "else" because it interpreted the "if" statement as being all
  111. * done when it reached the ';' after the YY_FATAL_ERROR() call.
  112. */
  113. #define YY_FATAL_ERROR(msg) \
  114. do \
  115. { \
  116. (void) fputs( msg, stderr ); \
  117. (void) putc( '\n', stderr ); \
  118. exit( 1 ); \
  119. } \
  120. while ( 0 )
  121. /* default yywrap function - always treat EOF as an EOF */
  122. #define yywrap() 1
  123. /* enter a start condition. This macro really ought to take a parameter,
  124. * but we do it the disgusting crufty way forced on us by the ()-less
  125. * definition of BEGIN
  126. */
  127. #define BEGIN yy_start = 1 + 2 *
  128. /* action number for EOF rule of a given start state */
  129. #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  130. /* special action meaning "start processing a new file" */
  131. #define YY_NEW_FILE \
  132. do \
  133. { \
  134. yy_init_buffer( yy_current_buffer, yyin ); \
  135. yy_load_buffer_state(); \
  136. } \
  137. while ( 0 )
  138. /* default declaration of generated scanner - a define so the user can
  139. * easily add parameters
  140. */
  141. #define YY_DECL int yylex YY_PROTO(( void ))
  142. /* code executed at the end of each rule */
  143. #define YY_BREAK break;
  144. #define YY_END_OF_BUFFER_CHAR 0
  145. #ifndef YY_BUF_SIZE
  146. #define YY_BUF_SIZE (YY_READ_BUF_SIZE * 2) /* size of default input buffer */
  147. #endif
  148. typedef struct yy_buffer_state *YY_BUFFER_STATE;
  149. #define YY_CHAR unsigned char
  150. #define INITIAL 0
  151. #if !defined(__osf__) && !defined(USL) && !defined(linux) && !defined(CSRG_BASED)
  152. #include <osfcn.h>
  153. #else
  154. #include <unistd.h>
  155. #endif
  156. #include <iostream>
  157. #include <stdio.h>
  158. #include <sstream>
  159. using namespace std;
  160. #include <string.h>
  161. #include "Exceptions.hh"
  162. #include "SGMLDefn.h"
  163. #include "Dispatch.h"
  164. #include "AttributeRec.h"
  165. #include "AttributeList.h"
  166. #include "FlexBuffer.h"
  167. #include "Token.h"
  168. #include "api/utility.h"
  169. static SGMLDefn *defn = new SGMLDefn();
  170. static FlexBuffer *DataBuffer = new FlexBuffer();
  171. static
  172. unsigned char oct2dec( const char *str )
  173. {
  174. unsigned char value = 0;
  175. const char *ptr = str;
  176. const char *endptr = str + strlen(str) -1 ;
  177. for ( ; *ptr != '\0' ; ptr++ ) {
  178. int power = endptr - ptr;
  179. int result = 1;
  180. for ( int i = 1; i <= power; i++ ) {
  181. result = result * 8;
  182. }
  183. value = value + ( *ptr - '0' ) * result ;
  184. }
  185. return ( value );
  186. }
  187. #define ProcessData 1
  188. static short int yy_nxt[][256] =
  189. {
  190. { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  191. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  192. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  193. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  194. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  195. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  196. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  197. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  198. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  199. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  200. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  201. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  202. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  203. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  204. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  205. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  206. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  207. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  208. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  209. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  210. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  211. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  212. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  213. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  214. 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
  215. 0, 0, 0, 0, 0, 0 },
  216. { 5, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  217. 7, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  218. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  219. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  220. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  221. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  222. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  223. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  224. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  225. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  226. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  227. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  228. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  229. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  230. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  231. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  232. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  233. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  234. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  235. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  236. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  237. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  238. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  239. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  240. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  241. 6, 6, 6, 6, 6, 6 },
  242. { 5, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  243. 7, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  244. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  245. 6, 6, 6, 6, 6, 6, 6, 6, 8, 6,
  246. 9, 10, 6, 6, 6, 11, 6, 6, 6, 6,
  247. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  248. 6, 6, 6, 6, 6, 12, 6, 6, 6, 13,
  249. 6, 6, 6, 6, 6, 6, 14, 6, 6, 6,
  250. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  251. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  252. 6, 6, 15, 6, 6, 6, 6, 6, 6, 6,
  253. 6, 6, 6, 6, 6, 16, 6, 6, 6, 6,
  254. 6, 6, 6, 17, 6, 18, 6, 6, 6, 6,
  255. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  256. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  257. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  258. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  259. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  260. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  261. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  262. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  263. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  264. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  265. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  266. 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
  267. 6, 6, 6, 6, 6, 6 },
  268. { 5, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  269. 20, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  270. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  271. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  272. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  273. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  274. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  275. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  276. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  277. 19, 19, 21, 19, 19, 19, 19, 19, 19, 19,
  278. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  279. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  280. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  281. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  282. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  283. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  284. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  285. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  286. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  287. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  288. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  289. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  290. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  291. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  292. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  293. 19, 19, 19, 19, 19, 19 },
  294. { 5, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  295. 20, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  296. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  297. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  298. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  299. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  300. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  301. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  302. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  303. 19, 19, 21, 19, 19, 19, 19, 19, 19, 19,
  304. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  305. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  306. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  307. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  308. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  309. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  310. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  311. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  312. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  313. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  314. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  315. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  316. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  317. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  318. 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
  319. 19, 19, 19, 19, 19, 19 },
  320. { -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  321. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  322. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  323. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  324. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  325. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  326. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  327. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  328. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  329. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  330. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  331. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  332. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  333. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  334. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  335. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  336. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  337. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  338. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  339. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  340. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  341. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  342. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  343. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  344. -5, -5, -5, -5, -5, -5, -5, -5, -5, -5,
  345. -5, -5, -5, -5, -5, -5 },
  346. { 5, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  347. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  348. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  349. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  350. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  351. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  352. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  353. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  354. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  355. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  356. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  357. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  358. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  359. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  360. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  361. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  362. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  363. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  364. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  365. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  366. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  367. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  368. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  369. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  370. -6, -6, -6, -6, -6, -6, -6, -6, -6, -6,
  371. -6, -6, -6, -6, -6, -6 },
  372. { 5, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  373. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  374. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  375. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  376. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  377. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  378. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  379. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  380. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  381. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  382. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  383. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  384. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  385. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  386. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  387. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  388. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  389. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  390. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  391. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  392. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  393. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  394. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  395. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  396. -7, -7, -7, -7, -7, -7, -7, -7, -7, -7,
  397. -7, -7, -7, -7, -7, -7 },
  398. { 5, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  399. -8, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  400. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  401. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  402. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  403. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  404. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  405. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  406. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  407. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  408. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  409. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  410. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  411. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  412. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  413. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  414. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  415. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  416. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  417. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  418. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  419. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  420. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  421. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  422. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  423. 22, 22, 22, 22, 22, 22 },
  424. { 5, 23, 23, 23, 23, 23, 23, 23, 23, -9,
  425. -9, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  426. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  427. 23, 23, -9, 23, 23, 23, 23, 23, 23, 23,
  428. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  429. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  430. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  431. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  432. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  433. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  434. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  435. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  436. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  437. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  438. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  439. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  440. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  441. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  442. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  443. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  444. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  445. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  446. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  447. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  448. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  449. 23, 23, 23, 23, 23, 23 },
  450. { 5, 24, 24, 24, 24, 24, 24, 24, 24, -10,
  451. -10, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  452. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  453. 24, 24, -10, 24, 24, 24, 24, 24, 24, 24,
  454. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  455. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  456. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  457. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  458. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  459. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  460. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  461. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  462. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  463. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  464. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  465. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  466. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  467. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  468. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  469. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  470. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  471. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  472. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  473. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  474. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  475. 24, 24, 24, 24, 24, 24 },
  476. { 5, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  477. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  478. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  479. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  480. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  481. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  482. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  483. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  484. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  485. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  486. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  487. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  488. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  489. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  490. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  491. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  492. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  493. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  494. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  495. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  496. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  497. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  498. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  499. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  500. -11, -11, -11, -11, -11, -11, -11, -11, -11, -11,
  501. -11, -11, -11, -11, -11, -11 },
  502. { 5, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  503. -12, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  504. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  505. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  506. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  507. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  508. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  509. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  510. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  511. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  512. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  513. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  514. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  515. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  516. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  517. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  518. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  519. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  520. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  521. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  522. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  523. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  524. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  525. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  526. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  527. 25, 25, 25, 25, 25, 25 },
  528. { 5, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  529. -13, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  530. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  531. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  532. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  533. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  534. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  535. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  536. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  537. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  538. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  539. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  540. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  541. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  542. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  543. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  544. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  545. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  546. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  547. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  548. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  549. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  550. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  551. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  552. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  553. 26, 26, 26, 26, 26, 26 },
  554. { 5, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  555. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  556. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  557. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  558. -14, -14, -14, -14, -14, -14, -14, -14, 27, 27,
  559. 27, 27, 27, 27, 27, 27, 27, 27, -14, -14,
  560. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  561. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  562. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  563. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  564. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  565. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  566. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  567. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  568. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  569. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  570. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  571. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  572. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  573. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  574. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  575. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  576. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  577. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  578. -14, -14, -14, -14, -14, -14, -14, -14, -14, -14,
  579. -14, -14, -14, -14, -14, -14 },
  580. { 5, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  581. -15, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  582. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  583. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  584. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  585. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  586. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  587. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  588. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  589. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  590. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  591. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  592. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  593. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  594. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  595. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  596. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  597. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  598. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  599. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  600. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  601. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  602. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  603. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  604. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  605. 28, 28, 28, 28, 28, 28 },
  606. { 5, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  607. -16, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  608. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  609. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  610. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  611. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  612. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  613. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  614. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  615. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  616. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  617. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  618. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  619. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  620. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  621. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  622. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  623. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  624. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  625. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  626. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  627. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  628. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  629. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  630. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  631. 29, 29, 29, 29, 29, 29 },
  632. { 5, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  633. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  634. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  635. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  636. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  637. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  638. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  639. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  640. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  641. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  642. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  643. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  644. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  645. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  646. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  647. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  648. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  649. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  650. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  651. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  652. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  653. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  654. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  655. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  656. -17, -17, -17, -17, -17, -17, -17, -17, -17, -17,
  657. -17, -17, -17, -17, -17, -17 },
  658. { 5, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  659. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  660. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  661. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  662. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  663. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  664. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  665. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  666. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  667. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  668. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  669. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  670. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  671. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  672. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  673. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  674. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  675. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  676. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  677. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  678. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  679. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  680. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  681. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  682. -18, -18, -18, -18, -18, -18, -18, -18, -18, -18,
  683. -18, -18, -18, -18, -18, -18 },
  684. { 5, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  685. -19, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  686. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  687. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  688. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  689. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  690. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  691. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  692. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  693. 30, 30, -19, 30, 30, 30, 30, 30, 30, 30,
  694. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  695. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  696. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  697. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  698. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  699. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  700. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  701. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  702. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  703. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  704. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  705. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  706. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  707. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  708. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  709. 30, 30, 30, 30, 30, 30 },
  710. { 5, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  711. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  712. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  713. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  714. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  715. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  716. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  717. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  718. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  719. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  720. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  721. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  722. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  723. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  724. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  725. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  726. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  727. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  728. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  729. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  730. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  731. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  732. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  733. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  734. -20, -20, -20, -20, -20, -20, -20, -20, -20, -20,
  735. -20, -20, -20, -20, -20, -20 },
  736. { 5, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  737. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  738. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  739. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  740. -21, -21, -21, -21, -21, -21, -21, -21, 31, 31,
  741. 31, 31, 31, 31, 31, 31, -21, -21, -21, -21,
  742. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  743. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  744. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  745. -21, -21, 32, -21, -21, -21, -21, -21, -21, -21,
  746. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  747. 33, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  748. -21, -21, -21, -21, 34, -21, -21, -21, -21, -21,
  749. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  750. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  751. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  752. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  753. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  754. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  755. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  756. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  757. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  758. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  759. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  760. -21, -21, -21, -21, -21, -21, -21, -21, -21, -21,
  761. -21, -21, -21, -21, -21, -21 },
  762. { 5, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  763. -22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  764. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  765. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  766. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  767. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  768. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  769. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  770. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  771. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  772. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  773. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  774. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  775. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  776. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  777. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  778. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  779. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  780. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  781. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  782. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  783. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  784. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  785. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  786. 22, 22, 22, 22, 22, 22, 22, 22, 22, 22,
  787. 22, 22, 22, 22, 22, 22 },
  788. { 5, 23, 23, 23, 23, 23, 23, 23, 23, -23,
  789. -23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  790. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  791. 23, 23, -23, 23, 23, 23, 23, 23, 23, 23,
  792. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  793. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  794. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  795. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  796. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  797. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  798. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  799. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  800. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  801. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  802. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  803. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  804. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  805. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  806. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  807. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  808. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  809. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  810. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  811. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  812. 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
  813. 23, 23, 23, 23, 23, 23 },
  814. { 5, 24, 24, 24, 24, 24, 24, 24, 24, -24,
  815. -24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  816. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  817. 24, 24, -24, 24, 24, 24, 24, 24, 24, 24,
  818. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  819. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  820. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  821. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  822. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  823. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  824. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  825. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  826. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  827. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  828. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  829. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  830. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  831. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  832. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  833. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  834. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  835. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  836. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  837. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  838. 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
  839. 24, 24, 24, 24, 24, 24 },
  840. { 5, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  841. -25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  842. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  843. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  844. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  845. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  846. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  847. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  848. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  849. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  850. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  851. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  852. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  853. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  854. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  855. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  856. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  857. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  858. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  859. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  860. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  861. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  862. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  863. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  864. 25, 25, 25, 25, 25, 25, 25, 25, 25, 25,
  865. 25, 25, 25, 25, 25, 25 },
  866. { 5, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  867. -26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  868. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  869. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  870. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  871. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  872. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  873. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  874. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  875. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  876. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  877. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  878. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  879. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  880. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  881. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  882. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  883. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  884. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  885. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  886. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  887. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  888. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  889. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  890. 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
  891. 26, 26, 26, 26, 26, 26 },
  892. { 5, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  893. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  894. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  895. -27, -27, 35, -27, -27, -27, -27, -27, -27, -27,
  896. -27, -27, -27, -27, -27, -27, -27, -27, 27, 27,
  897. 27, 27, 27, 27, 27, 27, 27, 27, -27, -27,
  898. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  899. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  900. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  901. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  902. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  903. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  904. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  905. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  906. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  907. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  908. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  909. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  910. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  911. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  912. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  913. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  914. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  915. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  916. -27, -27, -27, -27, -27, -27, -27, -27, -27, -27,
  917. -27, -27, -27, -27, -27, -27 },
  918. { 5, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  919. -28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  920. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  921. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  922. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  923. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  924. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  925. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  926. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  927. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  928. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  929. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  930. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  931. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  932. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  933. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  934. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  935. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  936. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  937. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  938. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  939. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  940. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  941. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  942. 28, 28, 28, 28, 28, 28, 28, 28, 28, 28,
  943. 28, 28, 28, 28, 28, 28 },
  944. { 5, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  945. -29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  946. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  947. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  948. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  949. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  950. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  951. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  952. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  953. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  954. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  955. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  956. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  957. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  958. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  959. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  960. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  961. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  962. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  963. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  964. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  965. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  966. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  967. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  968. 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
  969. 29, 29, 29, 29, 29, 29 },
  970. { 5, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  971. -30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  972. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  973. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  974. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  975. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  976. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  977. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  978. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  979. 30, 30, -30, 30, 30, 30, 30, 30, 30, 30,
  980. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  981. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  982. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  983. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  984. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  985. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  986. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  987. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  988. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  989. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  990. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  991. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  992. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  993. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  994. 30, 30, 30, 30, 30, 30, 30, 30, 30, 30,
  995. 30, 30, 30, 30, 30, 30 },
  996. { 5, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  997. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  998. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  999. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1000. -31, -31, -31, -31, -31, -31, -31, -31, 36, 36,
  1001. 36, 36, 36, 36, 36, 36, -31, -31, -31, -31,
  1002. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1003. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1004. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1005. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1006. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1007. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1008. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1009. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1010. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1011. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1012. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1013. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1014. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1015. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1016. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1017. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1018. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1019. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1020. -31, -31, -31, -31, -31, -31, -31, -31, -31, -31,
  1021. -31, -31, -31, -31, -31, -31 },
  1022. { 5, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1023. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1024. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1025. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1026. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1027. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1028. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1029. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1030. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1031. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1032. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1033. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1034. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1035. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1036. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1037. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1038. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1039. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1040. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1041. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1042. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1043. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1044. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1045. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1046. -32, -32, -32, -32, -32, -32, -32, -32, -32, -32,
  1047. -32, -32, -32, -32, -32, -32 },
  1048. { 5, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1049. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1050. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1051. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1052. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1053. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1054. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1055. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1056. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1057. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1058. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1059. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1060. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1061. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1062. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1063. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1064. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1065. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1066. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1067. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1068. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1069. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1070. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1071. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1072. -33, -33, -33, -33, -33, -33, -33, -33, -33, -33,
  1073. -33, -33, -33, -33, -33, -33 },
  1074. { 5, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1075. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1076. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1077. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1078. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1079. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1080. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1081. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1082. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1083. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1084. -34, -34, -34, -34, -34, -34, -34, -34, 37, -34,
  1085. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1086. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1087. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1088. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1089. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1090. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1091. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1092. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1093. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1094. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1095. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1096. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1097. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1098. -34, -34, -34, -34, -34, -34, -34, -34, -34, -34,
  1099. -34, -34, -34, -34, -34, -34 },
  1100. { 5, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1101. -35, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1102. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1103. 38, 38, -35, 38, 38, 38, 38, 38, 38, 38,
  1104. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1105. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1106. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1107. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1108. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1109. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1110. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1111. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1112. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1113. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1114. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1115. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1116. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1117. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1118. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1119. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1120. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1121. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1122. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1123. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1124. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1125. 38, 38, 38, 38, 38, 38 },
  1126. { 5, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1127. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1128. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1129. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1130. -36, -36, -36, -36, -36, -36, -36, -36, 39, 39,
  1131. 39, 39, 39, 39, 39, 39, -36, -36, -36, -36,
  1132. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1133. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1134. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1135. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1136. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1137. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1138. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1139. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1140. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1141. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1142. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1143. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1144. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1145. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1146. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1147. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1148. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1149. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1150. -36, -36, -36, -36, -36, -36, -36, -36, -36, -36,
  1151. -36, -36, -36, -36, -36, -36 },
  1152. { 5, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1153. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1154. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1155. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1156. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1157. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1158. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1159. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1160. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1161. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1162. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1163. 40, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1164. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1165. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1166. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1167. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1168. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1169. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1170. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1171. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1172. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1173. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1174. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1175. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1176. -37, -37, -37, -37, -37, -37, -37, -37, -37, -37,
  1177. -37, -37, -37, -37, -37, -37 },
  1178. { 5, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1179. -38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1180. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1181. 38, 38, -38, 38, 38, 38, 38, 38, 38, 38,
  1182. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1183. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1184. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1185. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1186. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1187. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1188. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1189. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1190. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1191. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1192. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1193. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1194. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1195. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1196. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1197. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1198. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1199. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1200. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1201. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1202. 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
  1203. 38, 38, 38, 38, 38, 38 },
  1204. { 5, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1205. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1206. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1207. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1208. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1209. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1210. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1211. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1212. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1213. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1214. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1215. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1216. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1217. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1218. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1219. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1220. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1221. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1222. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1223. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1224. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1225. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1226. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1227. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1228. -39, -39, -39, -39, -39, -39, -39, -39, -39, -39,
  1229. -39, -39, -39, -39, -39, -39 },
  1230. { 5, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1231. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1232. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1233. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1234. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1235. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1236. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1237. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1238. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1239. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1240. -40, -40, 41, -40, -40, -40, -40, -40, -40, -40,
  1241. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1242. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1243. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1244. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1245. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1246. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1247. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1248. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1249. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1250. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1251. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1252. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1253. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1254. -40, -40, -40, -40, -40, -40, -40, -40, -40, -40,
  1255. -40, -40, -40, -40, -40, -40 },
  1256. { 5, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1257. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1258. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1259. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1260. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1261. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1262. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1263. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1264. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1265. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1266. -41, 42, -41, -41, -41, -41, -41, -41, -41, -41,
  1267. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1268. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1269. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1270. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1271. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1272. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1273. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1274. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1275. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1276. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1277. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1278. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1279. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1280. -41, -41, -41, -41, -41, -41, -41, -41, -41, -41,
  1281. -41, -41, -41, -41, -41, -41 },
  1282. { 5, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1283. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1284. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1285. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1286. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1287. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1288. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1289. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1290. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1291. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1292. -42, 43, -42, -42, -42, -42, -42, -42, -42, -42,
  1293. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1294. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1295. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1296. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1297. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1298. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1299. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1300. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1301. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1302. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1303. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1304. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1305. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1306. -42, -42, -42, -42, -42, -42, -42, -42, -42, -42,
  1307. -42, -42, -42, -42, -42, -42 },
  1308. { 5, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1309. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1310. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1311. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1312. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1313. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1314. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1315. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1316. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1317. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1318. 44, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1319. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1320. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1321. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1322. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1323. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1324. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1325. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1326. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1327. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1328. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1329. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1330. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1331. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1332. -43, -43, -43, -43, -43, -43, -43, -43, -43, -43,
  1333. -43, -43, -43, -43, -43, -43 },
  1334. { 5, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1335. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1336. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1337. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1338. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1339. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1340. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1341. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1342. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1343. -44, -44, 45, -44, -44, -44, -44, -44, -44, -44,
  1344. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1345. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1346. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1347. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1348. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1349. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1350. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1351. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1352. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1353. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1354. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1355. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1356. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1357. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1358. -44, -44, -44, -44, -44, -44, -44, -44, -44, -44,
  1359. -44, -44, -44, -44, -44, -44 },
  1360. { 5, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1361. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1362. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1363. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1364. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1365. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1366. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1367. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1368. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1369. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1370. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1371. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1372. -45, -45, -45, -45, 46, -45, -45, -45, -45, -45,
  1373. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1374. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1375. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1376. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1377. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1378. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1379. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1380. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1381. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1382. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1383. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1384. -45, -45, -45, -45, -45, -45, -45, -45, -45, -45,
  1385. -45, -45, -45, -45, -45, -45 },
  1386. { 5, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1387. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1388. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1389. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1390. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1391. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1392. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1393. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1394. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1395. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1396. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1397. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1398. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1399. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1400. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1401. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1402. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1403. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1404. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1405. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1406. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1407. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1408. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1409. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1410. -46, -46, -46, -46, -46, -46, -46, -46, -46, -46,
  1411. -46, -46, -46, -46, -46, -46 }
  1412. } ;
  1413. /* done after the current pattern has been matched and before the
  1414. * corresponding action - sets up yytext
  1415. */
  1416. #define YY_DO_BEFORE_ACTION \
  1417. yytext = yy_bp; \
  1418. yyleng = yy_cp - yy_bp; \
  1419. yy_hold_char = *yy_cp; \
  1420. *yy_cp = '\0'; \
  1421. yy_c_buf_p = yy_cp;
  1422. #define EOB_ACT_CONTINUE_SCAN 0
  1423. #define EOB_ACT_END_OF_FILE 1
  1424. #define EOB_ACT_LAST_MATCH 2
  1425. /* return all but the first 'n' matched characters back to the input stream */
  1426. #define yyless(n) \
  1427. do \
  1428. { \
  1429. /* undo effects of setting up yytext */ \
  1430. *yy_cp = yy_hold_char; \
  1431. yy_c_buf_p = yy_cp = yy_bp + n; \
  1432. YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  1433. } \
  1434. while ( 0 )
  1435. #define unput(c) yyunput( c, yytext )
  1436. struct yy_buffer_state
  1437. {
  1438. FILE *yy_input_file;
  1439. YY_CHAR *yy_ch_buf; /* input buffer */
  1440. YY_CHAR *yy_buf_pos; /* current position in input buffer */
  1441. /* size of input buffer in bytes, not including room for EOB characters*/
  1442. int yy_buf_size;
  1443. /* number of characters read into yy_ch_buf, not including EOB characters */
  1444. int yy_n_chars;
  1445. int yy_eof_status; /* whether we've seen an EOF on this buffer */
  1446. #define EOF_NOT_SEEN 0
  1447. /* "pending" happens when the EOF has been seen but there's still
  1448. * some text process
  1449. */
  1450. #define EOF_PENDING 1
  1451. #define EOF_DONE 2
  1452. };
  1453. static YY_BUFFER_STATE yy_current_buffer;
  1454. /* we provide macros for accessing buffer states in case in the
  1455. * future we want to put the buffer states in a more general
  1456. * "scanner state"
  1457. */
  1458. #define YY_CURRENT_BUFFER yy_current_buffer
  1459. /* yy_hold_char holds the character lost when yytext is formed */
  1460. static YY_CHAR yy_hold_char;
  1461. static int yy_n_chars; /* number of characters read into yy_ch_buf */
  1462. #ifndef YY_USER_ACTION
  1463. #define YY_USER_ACTION
  1464. #endif
  1465. #ifndef YY_USER_INIT
  1466. #define YY_USER_INIT
  1467. #endif
  1468. extern YY_CHAR *yytext;
  1469. extern int yyleng;
  1470. extern FILE *yyin, *yyout;
  1471. YY_CHAR *yytext;
  1472. int yyleng;
  1473. FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
  1474. #define YY_END_OF_BUFFER 24
  1475. typedef int yy_state_type;
  1476. static const short int yy_accept[47] =
  1477. { 0,
  1478. 0, 0, 0, 0, 24, 21, 22, 21, 21, 21,
  1479. 11, 21, 21, 21, 21, 21, 9, 10, 18, 17,
  1480. 19, 8, 2, 20, 1, 7, 4, 6, 5, 18,
  1481. 0, 12, 13, 14, 0, 0, 0, 3, 16, 0,
  1482. 0, 0, 0, 0, 0, 15
  1483. } ;
  1484. static yy_state_type yy_last_accepting_state;
  1485. static YY_CHAR *yy_last_accepting_cpos;
  1486. static const yy_state_type yy_NUL_trans[47] =
  1487. { 0,
  1488. 6, 6, 19, 19, 0, 0, 0, 22, 23, 24,
  1489. 0, 25, 26, 0, 28, 29, 0, 0, 30, 0,
  1490. 0, 22, 23, 24, 25, 26, 0, 28, 29, 30,
  1491. 0, 0, 0, 0, 38, 0, 0, 38, 0, 0,
  1492. 0, 0, 0, 0, 0, 0
  1493. } ;
  1494. /* the intent behind this definition is that it'll catch
  1495. * any uses of REJECT which flex missed
  1496. */
  1497. #define REJECT reject_used_but_not_detected
  1498. #define yymore() yymore_used_but_not_detected
  1499. #define YY_MORE_ADJ 0
  1500. /* these variables are all declared out here so that section 3 code can
  1501. * manipulate them
  1502. */
  1503. /* points to current character in buffer */
  1504. static YY_CHAR *yy_c_buf_p = (YY_CHAR *) 0;
  1505. static int yy_init = 1; /* whether we need to initialize */
  1506. static int yy_start = 0; /* start state number */
  1507. /* flag which is used to allow yywrap()'s to do buffer switches
  1508. * instead of setting up a fresh yyin. A bit of a hack ...
  1509. */
  1510. static int yy_did_buffer_switch_on_eof;
  1511. static yy_state_type yy_get_previous_state YY_PROTO(( void ));
  1512. static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
  1513. static int yy_get_next_buffer YY_PROTO(( void ));
  1514. #if 0
  1515. static void yyunput YY_PROTO(( YY_CHAR c, YY_CHAR *buf_ptr ));
  1516. #endif
  1517. void yyrestart YY_PROTO(( FILE *input_file ));
  1518. void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
  1519. void yy_load_buffer_state YY_PROTO(( void ));
  1520. YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
  1521. void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
  1522. void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
  1523. #define yy_new_buffer yy_create_buffer
  1524. #if 0
  1525. #ifdef __cplusplus
  1526. static int yyinput YY_PROTO(( void ));
  1527. #else
  1528. static int input YY_PROTO(( void ));
  1529. #endif
  1530. #endif
  1531. YY_DECL
  1532. {
  1533. register yy_state_type yy_current_state;
  1534. register YY_CHAR *yy_cp, *yy_bp;
  1535. register int yy_act;
  1536. if ( yy_init )
  1537. {
  1538. YY_USER_INIT;
  1539. if ( ! yy_start )
  1540. yy_start = 1; /* first start state */
  1541. if ( ! yyin )
  1542. yyin = stdin;
  1543. if ( ! yyout )
  1544. yyout = stdout;
  1545. if ( yy_current_buffer )
  1546. yy_init_buffer( yy_current_buffer, yyin );
  1547. else
  1548. yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
  1549. yy_load_buffer_state();
  1550. yy_init = 0;
  1551. }
  1552. while ( 1 ) /* loops until end-of-file is reached */
  1553. {
  1554. yy_cp = yy_c_buf_p;
  1555. /* support of yytext */
  1556. *yy_cp = yy_hold_char;
  1557. /* yy_bp points to the position in yy_ch_buf of the start of the
  1558. * current run.
  1559. */
  1560. yy_bp = yy_cp;
  1561. yy_current_state = yy_start;
  1562. if ( yy_bp[-1] == '\n' )
  1563. ++yy_current_state;
  1564. yy_match:
  1565. while ( (yy_current_state = yy_nxt[yy_current_state][*yy_cp]) > 0 )
  1566. {
  1567. if ( yy_accept[yy_current_state] )
  1568. {
  1569. yy_last_accepting_state = yy_current_state;
  1570. yy_last_accepting_cpos = yy_cp;
  1571. }
  1572. ++yy_cp;
  1573. }
  1574. yy_current_state = -yy_current_state;
  1575. yy_find_action:
  1576. yy_act = yy_accept[yy_current_state];
  1577. YY_DO_BEFORE_ACTION;
  1578. YY_USER_ACTION;
  1579. do_action: /* this label is used only to access EOF actions */
  1580. switch ( yy_act )
  1581. {
  1582. case 0: /* must backtrack */
  1583. /* undo the effects of YY_DO_BEFORE_ACTION */
  1584. *yy_cp = yy_hold_char;
  1585. yy_cp = yy_last_accepting_cpos + 1;
  1586. yy_current_state = yy_last_accepting_state;
  1587. goto yy_find_action;
  1588. case 1:
  1589. {
  1590. char *name;
  1591. char *tstr;
  1592. char *value;
  1593. int type;
  1594. // Parse the attStr
  1595. name = strtok ( (char*)yytext+1, "\n\t ");
  1596. tstr = strtok ( NULL, "\n\t ");
  1597. value = strtok ( NULL, "\n\t");
  1598. type = SGMLName::intern(tstr);
  1599. if ( type != SGMLName::IMPLIED ){
  1600. if(!value) value = (char*)"";
  1601. Dispatch::tok->StoreAttribute( name, value, type);
  1602. }
  1603. }
  1604. YY_BREAK
  1605. case 2:
  1606. {
  1607. // An generic identifier is found
  1608. // Need to determine how to display/return the
  1609. // information associated with it
  1610. Dispatch::token(START, (unsigned char *)yytext+1 );
  1611. }
  1612. YY_BREAK
  1613. case 3:
  1614. { /* file & line num info. */
  1615. char *p = (char*)yytext+1;
  1616. Dispatch::line(atoi(p));
  1617. while(*p != ' ') p++;
  1618. p++;
  1619. Dispatch::file(p);
  1620. }
  1621. YY_BREAK
  1622. case 4:
  1623. { /* line num info. */
  1624. char *p = (char*)yytext+1;
  1625. Dispatch::line(atoi(p));
  1626. }
  1627. YY_BREAK
  1628. case 5:
  1629. {
  1630. /* system id found */
  1631. defn->store_sys_id( (char *)yytext + 1 );
  1632. }
  1633. YY_BREAK
  1634. case 6:
  1635. {
  1636. /* file name found */
  1637. defn->store_file_name( (char *)yytext + 1 );
  1638. }
  1639. YY_BREAK
  1640. case 7:
  1641. {
  1642. /*
  1643. * For now, only entity definition is recorded
  1644. * Eventually Notation, Subdoc....
  1645. */
  1646. defn->store_defn( ENTITY_TYPE,
  1647. (char *)yytext + 1 );
  1648. Dispatch::entity_decl( defn );
  1649. }
  1650. YY_BREAK
  1651. case 8:
  1652. {
  1653. /*
  1654. * external entity reference
  1655. */
  1656. Dispatch::token(EXTERNAL_ENTITY,
  1657. (unsigned char *)yytext+1 );
  1658. }
  1659. YY_BREAK
  1660. case 9:
  1661. {
  1662. /*
  1663. * subdoc start event
  1664. */
  1665. Dispatch::subdoc_start();
  1666. }
  1667. YY_BREAK
  1668. case 10:
  1669. {
  1670. /*
  1671. * subdoc end event
  1672. */
  1673. Dispatch::subdoc_end();
  1674. }
  1675. YY_BREAK
  1676. case 11:
  1677. {
  1678. BEGIN ( ProcessData );
  1679. }
  1680. YY_BREAK
  1681. case 12:
  1682. {
  1683. // A slash
  1684. DataBuffer->put ('\\');
  1685. }
  1686. YY_BREAK
  1687. case 13:
  1688. {
  1689. // Replace new line with space
  1690. DataBuffer->put('\015');
  1691. Dispatch::newline();
  1692. }
  1693. YY_BREAK
  1694. case 14:
  1695. {
  1696. // Bypass this entity
  1697. }
  1698. YY_BREAK
  1699. case 15:
  1700. {
  1701. DataBuffer->put('\n');
  1702. }
  1703. YY_BREAK
  1704. case 16:
  1705. {
  1706. unsigned char ch = oct2dec(
  1707. (const char *)yytext + 1 );
  1708. DataBuffer->put ( ch );
  1709. }
  1710. YY_BREAK
  1711. case 17:
  1712. {
  1713. Dispatch::data( DataBuffer );
  1714. delete DataBuffer;
  1715. DataBuffer = new FlexBuffer;
  1716. BEGIN(0);
  1717. }
  1718. YY_BREAK
  1719. case 18:
  1720. {
  1721. DataBuffer->write( (char*)yytext,
  1722. strlen((char*)yytext) );
  1723. }
  1724. YY_BREAK
  1725. case 19:
  1726. {
  1727. throw(Unexpected(form("Bad character '%s' found",
  1728. (char *)yytext)));
  1729. }
  1730. YY_BREAK
  1731. case 20:
  1732. {
  1733. Dispatch::token (END, (unsigned char *)yytext+1);
  1734. }
  1735. YY_BREAK
  1736. case 21:
  1737. case 22:
  1738. ;
  1739. YY_BREAK
  1740. case 23:
  1741. YY_FATAL_ERROR( "flex scanner jammed" );
  1742. YY_BREAK
  1743. case YY_STATE_EOF(INITIAL):
  1744. case YY_STATE_EOF(ProcessData):
  1745. yyterminate();
  1746. case YY_END_OF_BUFFER:
  1747. {
  1748. /* amount of text matched not including the EOB char */
  1749. int yy_amount_of_matched_text = yy_cp - yytext - 1;
  1750. /* undo the effects of YY_DO_BEFORE_ACTION */
  1751. *yy_cp = yy_hold_char;
  1752. /* note that here we test for yy_c_buf_p "<=" to the position
  1753. * of the first EOB in the buffer, since yy_c_buf_p will
  1754. * already have been incremented past the NUL character
  1755. * (since all states make transitions on EOB to the end-
  1756. * of-buffer state). Contrast this with the test in yyinput().
  1757. */
  1758. if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  1759. /* this was really a NUL */
  1760. {
  1761. yy_state_type yy_next_state;
  1762. yy_c_buf_p = yytext + yy_amount_of_matched_text;
  1763. yy_current_state = yy_get_previous_state();
  1764. /* okay, we're now positioned to make the
  1765. * NUL transition. We couldn't have
  1766. * yy_get_previous_state() go ahead and do it
  1767. * for us because it doesn't know how to deal
  1768. * with the possibility of jamming (and we
  1769. * don't want to build jamming into it because
  1770. * then it will run more slowly)
  1771. */
  1772. yy_next_state = yy_try_NUL_trans( yy_current_state );
  1773. yy_bp = yytext + YY_MORE_ADJ;
  1774. if ( yy_next_state )
  1775. {
  1776. /* consume the NUL */
  1777. yy_cp = ++yy_c_buf_p;
  1778. yy_current_state = yy_next_state;
  1779. goto yy_match;
  1780. }
  1781. else
  1782. {
  1783. yy_cp = yy_c_buf_p;
  1784. goto yy_find_action;
  1785. }
  1786. }
  1787. else switch ( yy_get_next_buffer() )
  1788. {
  1789. case EOB_ACT_END_OF_FILE:
  1790. {
  1791. yy_did_buffer_switch_on_eof = 0;
  1792. if ( yywrap() )
  1793. {
  1794. /* note: because we've taken care in
  1795. * yy_get_next_buffer() to have set up yytext,
  1796. * we can now set up yy_c_buf_p so that if some
  1797. * total hoser (like flex itself) wants
  1798. * to call the scanner after we return the
  1799. * YY_NULL, it'll still work - another YY_NULL
  1800. * will get returned.
  1801. */
  1802. yy_c_buf_p = yytext + YY_MORE_ADJ;
  1803. yy_act = YY_STATE_EOF((yy_start - 1) / 2);
  1804. goto do_action;
  1805. }
  1806. else
  1807. {
  1808. if ( ! yy_did_buffer_switch_on_eof )
  1809. YY_NEW_FILE;
  1810. }
  1811. }
  1812. break;
  1813. case EOB_ACT_CONTINUE_SCAN:
  1814. yy_c_buf_p = yytext + yy_amount_of_matched_text;
  1815. yy_current_state = yy_get_previous_state();
  1816. yy_cp = yy_c_buf_p;
  1817. yy_bp = yytext + YY_MORE_ADJ;
  1818. goto yy_match;
  1819. case EOB_ACT_LAST_MATCH:
  1820. yy_c_buf_p =
  1821. &yy_current_buffer->yy_ch_buf[yy_n_chars];
  1822. yy_current_state = yy_get_previous_state();
  1823. yy_cp = yy_c_buf_p;
  1824. yy_bp = yytext + YY_MORE_ADJ;
  1825. goto yy_find_action;
  1826. }
  1827. break;
  1828. }
  1829. default:
  1830. #ifdef FLEX_DEBUG
  1831. printf( "action # %d\n", yy_act );
  1832. #endif
  1833. YY_FATAL_ERROR(
  1834. "fatal flex scanner internal error--no action found" );
  1835. }
  1836. }
  1837. }
  1838. /* yy_get_next_buffer - try to read in a new buffer
  1839. *
  1840. * synopsis
  1841. * int yy_get_next_buffer();
  1842. *
  1843. * returns a code representing an action
  1844. * EOB_ACT_LAST_MATCH -
  1845. * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  1846. * EOB_ACT_END_OF_FILE - end of file
  1847. */
  1848. static int yy_get_next_buffer()
  1849. {
  1850. register YY_CHAR *dest = yy_current_buffer->yy_ch_buf;
  1851. register YY_CHAR *source = yytext - 1; /* copy prev. char, too */
  1852. register int number_to_move, i;
  1853. int ret_val;
  1854. if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
  1855. YY_FATAL_ERROR(
  1856. "fatal flex scanner internal error--end of buffer missed" );
  1857. /* try to read more data */
  1858. /* first move last chars to start of buffer */
  1859. number_to_move = yy_c_buf_p - yytext;
  1860. for ( i = 0; i < number_to_move; ++i )
  1861. *(dest++) = *(source++);
  1862. if ( yy_current_buffer->yy_eof_status != EOF_NOT_SEEN )
  1863. /* don't do the read, it's not guaranteed to return an EOF,
  1864. * just force an EOF
  1865. */
  1866. yy_n_chars = 0;
  1867. else
  1868. {
  1869. int num_to_read = yy_current_buffer->yy_buf_size - number_to_move - 1;
  1870. if ( num_to_read > YY_READ_BUF_SIZE )
  1871. num_to_read = YY_READ_BUF_SIZE;
  1872. else if ( num_to_read <= 0 )
  1873. YY_FATAL_ERROR( "fatal error - scanner input buffer overflow" );
  1874. /* read in more data */
  1875. YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
  1876. yy_n_chars, num_to_read );
  1877. }
  1878. if ( yy_n_chars == 0 )
  1879. {
  1880. if ( number_to_move == 1 )
  1881. {
  1882. ret_val = EOB_ACT_END_OF_FILE;
  1883. yy_current_buffer->yy_eof_status = EOF_DONE;
  1884. }
  1885. else
  1886. {
  1887. ret_val = EOB_ACT_LAST_MATCH;
  1888. yy_current_buffer->yy_eof_status = EOF_PENDING;
  1889. }
  1890. }
  1891. else
  1892. ret_val = EOB_ACT_CONTINUE_SCAN;
  1893. yy_n_chars += number_to_move;
  1894. yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
  1895. yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
  1896. /* yytext begins at the second character in yy_ch_buf; the first
  1897. * character is the one which preceded it before reading in the latest
  1898. * buffer; it needs to be kept around in case it's a newline, so
  1899. * yy_get_previous_state() will have with '^' rules active
  1900. */
  1901. yytext = &yy_current_buffer->yy_ch_buf[1];
  1902. return ( ret_val );
  1903. }
  1904. /* yy_get_previous_state - get the state just before the EOB char was reached
  1905. *
  1906. * synopsis
  1907. * yy_state_type yy_get_previous_state();
  1908. */
  1909. static yy_state_type yy_get_previous_state()
  1910. {
  1911. register yy_state_type yy_current_state;
  1912. register YY_CHAR *yy_cp;
  1913. register YY_CHAR *yy_bp = yytext;
  1914. yy_current_state = yy_start;
  1915. if ( yy_bp[-1] == '\n' )
  1916. ++yy_current_state;
  1917. for ( yy_cp = yytext + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
  1918. {
  1919. if ( *yy_cp )
  1920. {
  1921. yy_current_state = yy_nxt[yy_current_state][*yy_cp];
  1922. }
  1923. else
  1924. yy_current_state = yy_NUL_trans[yy_current_state];
  1925. if ( yy_accept[yy_current_state] )
  1926. {
  1927. yy_last_accepting_state = yy_current_state;
  1928. yy_last_accepting_cpos = yy_cp;
  1929. }
  1930. }
  1931. return ( yy_current_state );
  1932. }
  1933. /* yy_try_NUL_trans - try to make a transition on the NUL character
  1934. *
  1935. * synopsis
  1936. * next_state = yy_try_NUL_trans( current_state );
  1937. */
  1938. #ifdef YY_USE_PROTOS
  1939. static yy_state_type yy_try_NUL_trans( register yy_state_type yy_current_state )
  1940. #else
  1941. static yy_state_type yy_try_NUL_trans( yy_current_state )
  1942. register yy_state_type yy_current_state;
  1943. #endif
  1944. {
  1945. register int yy_is_jam;
  1946. register YY_CHAR *yy_cp = yy_c_buf_p;
  1947. yy_current_state = yy_NUL_trans[yy_current_state];
  1948. yy_is_jam = (yy_current_state == 0);
  1949. if ( ! yy_is_jam )
  1950. {
  1951. if ( yy_accept[yy_current_state] )
  1952. {
  1953. yy_last_accepting_state = yy_current_state;
  1954. yy_last_accepting_cpos = yy_cp;
  1955. }
  1956. }
  1957. return ( yy_is_jam ? 0 : yy_current_state );
  1958. }
  1959. #if 0
  1960. #ifdef YY_USE_PROTOS
  1961. static void yyunput( YY_CHAR c, register YY_CHAR *yy_bp )
  1962. #else
  1963. static void yyunput( c, yy_bp )
  1964. YY_CHAR c;
  1965. register YY_CHAR *yy_bp;
  1966. #endif
  1967. {
  1968. register YY_CHAR *yy_cp = yy_c_buf_p;
  1969. /* undo effects of setting up yytext */
  1970. *yy_cp = yy_hold_char;
  1971. if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  1972. { /* need to shift things up to make room */
  1973. register int number_to_move = yy_n_chars + 2; /* +2 for EOB chars */
  1974. register YY_CHAR *dest =
  1975. &yy_current_buffer->yy_ch_buf[yy_current_buffer->yy_buf_size + 2];
  1976. register YY_CHAR *source =
  1977. &yy_current_buffer->yy_ch_buf[number_to_move];
  1978. while ( source > yy_current_buffer->yy_ch_buf )
  1979. *--dest = *--source;
  1980. yy_cp += dest - source;
  1981. yy_bp += dest - source;
  1982. yy_n_chars = yy_current_buffer->yy_buf_size;
  1983. if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  1984. YY_FATAL_ERROR( "flex scanner push-back overflow" );
  1985. }
  1986. if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
  1987. yy_cp[-2] = '\n';
  1988. *--yy_cp = c;
  1989. /* note: the formal parameter *must* be called "yy_bp" for this
  1990. * macro to now work correctly
  1991. */
  1992. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1993. }
  1994. #endif
  1995. #if 0
  1996. #ifdef __cplusplus
  1997. static int yyinput()
  1998. #else
  1999. static int input()
  2000. #endif
  2001. {
  2002. int c;
  2003. YY_CHAR *yy_cp = yy_c_buf_p;
  2004. *yy_cp = yy_hold_char;
  2005. if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
  2006. {
  2007. /* yy_c_buf_p now points to the character we want to return.
  2008. * If this occurs *before* the EOB characters, then it's a
  2009. * valid NUL; if not, then we've hit the end of the buffer.
  2010. */
  2011. if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  2012. /* this was really a NUL */
  2013. *yy_c_buf_p = '\0';
  2014. else
  2015. { /* need more input */
  2016. yytext = yy_c_buf_p;
  2017. ++yy_c_buf_p;
  2018. switch ( yy_get_next_buffer() )
  2019. {
  2020. case EOB_ACT_END_OF_FILE:
  2021. {
  2022. if ( yywrap() )
  2023. {
  2024. yy_c_buf_p = yytext + YY_MORE_ADJ;
  2025. return ( EOF );
  2026. }
  2027. YY_NEW_FILE;
  2028. #ifdef __cplusplus
  2029. return ( yyinput() );
  2030. #else
  2031. return ( input() );
  2032. #endif
  2033. }
  2034. break;
  2035. case EOB_ACT_CONTINUE_SCAN:
  2036. yy_c_buf_p = yytext + YY_MORE_ADJ;
  2037. break;
  2038. case EOB_ACT_LAST_MATCH:
  2039. #ifdef __cplusplus
  2040. YY_FATAL_ERROR( "unexpected last match in yyinput()" );
  2041. #else
  2042. YY_FATAL_ERROR( "unexpected last match in input()" );
  2043. #endif
  2044. }
  2045. }
  2046. }
  2047. c = *yy_c_buf_p;
  2048. yy_hold_char = *++yy_c_buf_p;
  2049. return ( c );
  2050. }
  2051. #endif
  2052. #ifdef YY_USE_PROTOS
  2053. void yyrestart( FILE *input_file )
  2054. #else
  2055. void yyrestart( input_file )
  2056. FILE *input_file;
  2057. #endif
  2058. {
  2059. yy_init_buffer( yy_current_buffer, input_file );
  2060. yy_load_buffer_state();
  2061. }
  2062. #ifdef YY_USE_PROTOS
  2063. void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
  2064. #else
  2065. void yy_switch_to_buffer( new_buffer )
  2066. YY_BUFFER_STATE new_buffer;
  2067. #endif
  2068. {
  2069. if ( yy_current_buffer == new_buffer )
  2070. return;
  2071. if ( yy_current_buffer )
  2072. {
  2073. /* flush out information for old buffer */
  2074. *yy_c_buf_p = yy_hold_char;
  2075. yy_current_buffer->yy_buf_pos = yy_c_buf_p;
  2076. yy_current_buffer->yy_n_chars = yy_n_chars;
  2077. }
  2078. yy_current_buffer = new_buffer;
  2079. yy_load_buffer_state();
  2080. /* we don't actually know whether we did this switch during
  2081. * EOF (yywrap()) processing, but the only time this flag
  2082. * is looked at is after yywrap() is called, so it's safe
  2083. * to go ahead and always set it.
  2084. */
  2085. yy_did_buffer_switch_on_eof = 1;
  2086. }
  2087. #ifdef YY_USE_PROTOS
  2088. void yy_load_buffer_state( void )
  2089. #else
  2090. void yy_load_buffer_state()
  2091. #endif
  2092. {
  2093. yy_n_chars = yy_current_buffer->yy_n_chars;
  2094. yytext = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
  2095. yyin = yy_current_buffer->yy_input_file;
  2096. yy_hold_char = *yy_c_buf_p;
  2097. }
  2098. #ifdef YY_USE_PROTOS
  2099. YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
  2100. #else
  2101. YY_BUFFER_STATE yy_create_buffer( file, size )
  2102. FILE *file;
  2103. int size;
  2104. #endif
  2105. {
  2106. YY_BUFFER_STATE b;
  2107. b = (YY_BUFFER_STATE) malloc( sizeof( struct yy_buffer_state ) );
  2108. if ( ! b )
  2109. YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  2110. b->yy_buf_size = size;
  2111. /* yy_ch_buf has to be 2 characters longer than the size given because
  2112. * we need to put in 2 end-of-buffer characters.
  2113. */
  2114. b->yy_ch_buf = (YY_CHAR *) malloc( (unsigned) (b->yy_buf_size + 2) );
  2115. if ( ! b->yy_ch_buf )
  2116. YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  2117. yy_init_buffer( b, file );
  2118. return ( b );
  2119. }
  2120. #ifdef YY_USE_PROTOS
  2121. void yy_delete_buffer( YY_BUFFER_STATE b )
  2122. #else
  2123. void yy_delete_buffer( b )
  2124. YY_BUFFER_STATE b;
  2125. #endif
  2126. {
  2127. if ( b == yy_current_buffer )
  2128. yy_current_buffer = (YY_BUFFER_STATE) 0;
  2129. free( (char *) b->yy_ch_buf );
  2130. free( (char *) b );
  2131. }
  2132. #ifdef YY_USE_PROTOS
  2133. void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
  2134. #else
  2135. void yy_init_buffer( b, file )
  2136. YY_BUFFER_STATE b;
  2137. FILE *file;
  2138. #endif
  2139. {
  2140. b->yy_input_file = file;
  2141. /* we put in the '\n' and start reading from [1] so that an
  2142. * initial match-at-newline will be true.
  2143. */
  2144. b->yy_ch_buf[0] = '\n';
  2145. b->yy_n_chars = 1;
  2146. /* we always need two end-of-buffer characters. The first causes
  2147. * a transition to the end-of-buffer state. The second causes
  2148. * a jam in that state.
  2149. */
  2150. b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
  2151. b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
  2152. b->yy_buf_pos = &b->yy_ch_buf[1];
  2153. b->yy_eof_status = EOF_NOT_SEEN;
  2154. }
  2155. #ifdef DEBUG
  2156. //---------------------------------------------------------------------
  2157. #include "OLAF.h"
  2158. #include "SGMLName.h"
  2159. static void TestToken( Token *tok )
  2160. {
  2161. cout << "(" << tok->giName() << endl;
  2162. for ( const AttributeRec *a = tok->GetFirstAttr(); a; a=tok->GetNextAttr( a ) ) {
  2163. cout << "AttributeName = " << SGMLName::lookup(a->getAttrName()) << endl;
  2164. cout << "AttributeValueStr = " << a->getAttrValueString() << endl;
  2165. cout << "AttributeValue = " << a->getAttValue() << endl;
  2166. cout << "AttributeType = " << a->getAttrType() << endl;
  2167. if ( !(strcmp( a->getAttrValueString(), "NODE" ) ) ){
  2168. if ( tok->AttributeMatch ( OLAF::OLIAS, OLAF::OL_Section ) ) {
  2169. cout << "AttrMatch Test 1 passed\n";
  2170. }
  2171. else {
  2172. cout << "AttrMatch Test 1 failed\n";
  2173. }
  2174. if ( !tok->AttributeMatch ( OLAF::OLIAS, OLAF::OL_Graphic ) ) {
  2175. cout << "AttrMatch Test 2 passed\n";
  2176. }
  2177. else {
  2178. cout << "AttrMatch Test 2 failed\n";
  2179. }
  2180. }
  2181. }
  2182. }
  2183. #endif /* DBUG_OFF */