Crossfire Server, Trunk
loader.c
Go to the documentation of this file.
1 
2 #line 3 "loader.c"
3 
4 #define YY_INT_ALIGNED short int
5 
6 /* A lexical scanner generated by flex */
7 
8 #define FLEX_SCANNER
9 #define YY_FLEX_MAJOR_VERSION 2
10 #define YY_FLEX_MINOR_VERSION 6
11 #define YY_FLEX_SUBMINOR_VERSION 4
12 #if YY_FLEX_SUBMINOR_VERSION > 0
13 #define FLEX_BETA
14 #endif
15 
16 /* First, we deal with platform-specific or compiler-specific issues. */
17 
18 /* begin standard C headers. */
19 #include <stdio.h>
20 #include <string.h>
21 #include <errno.h>
22 #include <stdlib.h>
23 
24 /* end standard C headers. */
25 
26 /* flex integer type definitions */
27 
28 #ifndef FLEXINT_H
29 #define FLEXINT_H
30 
31 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
32 
33 #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
34 
35 /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
36  * if you want the limit (max/min) macros for int types.
37  */
38 #ifndef __STDC_LIMIT_MACROS
39 #define __STDC_LIMIT_MACROS 1
40 #endif
41 
42 #include <inttypes.h>
43 typedef int8_t flex_int8_t;
44 typedef uint8_t flex_uint8_t;
45 typedef int16_t flex_int16_t;
46 typedef uint16_t flex_uint16_t;
47 typedef int32_t flex_int32_t;
48 typedef uint32_t flex_uint32_t;
49 #else
50 typedef signed char flex_int8_t;
51 typedef short int flex_int16_t;
52 typedef int flex_int32_t;
53 typedef unsigned char flex_uint8_t;
54 typedef unsigned short int flex_uint16_t;
55 typedef unsigned int flex_uint32_t;
56 
57 /* Limits of integral types. */
58 #ifndef INT8_MIN
59 #define INT8_MIN (-128)
60 #endif
61 #ifndef INT16_MIN
62 #define INT16_MIN (-32767-1)
63 #endif
64 #ifndef INT32_MIN
65 #define INT32_MIN (-2147483647-1)
66 #endif
67 #ifndef INT8_MAX
68 #define INT8_MAX (127)
69 #endif
70 #ifndef INT16_MAX
71 #define INT16_MAX (32767)
72 #endif
73 #ifndef INT32_MAX
74 #define INT32_MAX (2147483647)
75 #endif
76 #ifndef UINT8_MAX
77 #define UINT8_MAX (255U)
78 #endif
79 #ifndef UINT16_MAX
80 #define UINT16_MAX (65535U)
81 #endif
82 #ifndef UINT32_MAX
83 #define UINT32_MAX (4294967295U)
84 #endif
85 
86 #ifndef SIZE_MAX
87 #define SIZE_MAX (~(size_t)0)
88 #endif
89 
90 #endif /* ! C99 */
91 
92 #endif /* ! FLEXINT_H */
93 
94 /* begin standard C++ headers. */
95 
96 /* TODO: this is always defined, so inline it */
97 #define yyconst const
98 
99 #if defined(__GNUC__) && __GNUC__ >= 3
100 #define yynoreturn __attribute__((__noreturn__))
101 #else
102 #define yynoreturn
103 #endif
104 
105 /* Returned upon end-of-file. */
106 #define YY_NULL 0
107 
108 /* Promotes a possibly negative, possibly signed char to an
109  * integer in range [0..255] for use as an array index.
110  */
111 #define YY_SC_TO_UI(c) ((YY_CHAR) (c))
112 
113 /* Enter a start condition. This macro really ought to take a parameter,
114  * but we do it the disgusting crufty way forced on us by the ()-less
115  * definition of BEGIN.
116  */
117 #define BEGIN (yy_start) = 1 + 2 *
118 /* Translate the current start state into a value that can be later handed
119  * to BEGIN to return to the state. The YYSTATE alias is for lex
120  * compatibility.
121  */
122 #define YY_START (((yy_start) - 1) / 2)
123 #define YYSTATE YY_START
124 /* Action number for EOF rule of a given start state. */
125 #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
126 /* Special action meaning "start processing a new file". */
127 #define YY_NEW_FILE yyrestart( yyin )
128 #define YY_END_OF_BUFFER_CHAR 0
129 
130 /* Size of default input buffer. */
131 #ifndef YY_BUF_SIZE
132 #ifdef __ia64__
133 /* On IA-64, the buffer size is 16k, not 8k.
134  * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
135  * Ditto for the __ia64__ case accordingly.
136  */
137 #define YY_BUF_SIZE 32768
138 #else
139 #define YY_BUF_SIZE 16384
140 #endif /* __ia64__ */
141 #endif
142 
143 /* The state buf must be large enough to hold one state per character in the main buffer.
144  */
145 #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
146 
147 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
148 #define YY_TYPEDEF_YY_BUFFER_STATE
150 #endif
151 
152 #ifndef YY_TYPEDEF_YY_SIZE_T
153 #define YY_TYPEDEF_YY_SIZE_T
154 typedef size_t yy_size_t;
155 #endif
156 
157 extern int yyleng;
158 
159 extern FILE *yyin, *yyout;
160 
161 #define EOB_ACT_CONTINUE_SCAN 0
162 #define EOB_ACT_END_OF_FILE 1
163 #define EOB_ACT_LAST_MATCH 2
164 
165  #define YY_LESS_LINENO(n)
166  #define YY_LINENO_REWIND_TO(ptr)
167 
168 /* Return all but the first "n" matched characters back to the input stream. */
169 #define yyless(n) \
170  do \
171  { \
172  /* Undo effects of setting up yytext. */ \
173  int yyless_macro_arg = (n); \
174  YY_LESS_LINENO(yyless_macro_arg);\
175  *yy_cp = (yy_hold_char); \
176  YY_RESTORE_YY_MORE_OFFSET \
177  (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
178  YY_DO_BEFORE_ACTION; /* set up yytext again */ \
179  } \
180  while ( 0 )
181 #define unput(c) yyunput( c, (yytext_ptr) )
182 
183 #ifndef YY_STRUCT_YY_BUFFER_STATE
184 #define YY_STRUCT_YY_BUFFER_STATE
186  {
188 
189  char *yy_ch_buf; /* input buffer */
190  char *yy_buf_pos; /* current position in input buffer */
191 
192  /* Size of input buffer in bytes, not including room for EOB
193  * characters.
194  */
196 
197  /* Number of characters read into yy_ch_buf, not including EOB
198  * characters.
199  */
201 
202  /* Whether we "own" the buffer - i.e., we know we created it,
203  * and can realloc() it to grow it, and should free() it to
204  * delete it.
205  */
207 
208  /* Whether this is an "interactive" input source; if so, and
209  * if we're using stdio for input, then we want to use getc()
210  * instead of fread(), to make sure we stop fetching input after
211  * each newline.
212  */
214 
215  /* Whether we're considered to be at the beginning of a line.
216  * If so, '^' rules will be active on the next match, otherwise
217  * not.
218  */
220 
224  /* Whether to try to fill the input buffer when we reach the
225  * end of it.
226  */
228 
230 
231 #define YY_BUFFER_NEW 0
232 #define YY_BUFFER_NORMAL 1
233  /* When an EOF's been seen but there's still some text to process
234  * then we mark the buffer as YY_EOF_PENDING, to indicate that we
235  * shouldn't try reading from the input source any more. We might
236  * still have a bunch of tokens to match, though, because of
237  * possible backing-up.
238  *
239  * When we actually see the EOF, we change the status to "new"
240  * (via yyrestart()), so that the user can continue scanning by
241  * just pointing yyin at a new input file.
242  */
243 #define YY_BUFFER_EOF_PENDING 2
244 
245  };
246 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
247 
248 /* Stack of input buffers. */
249 static size_t yy_buffer_stack_top = 0;
250 static size_t yy_buffer_stack_max = 0;
253 /* We provide macros for accessing buffer states in case in the
254  * future we want to put the buffer states in a more general
255  * "scanner state".
256  *
257  * Returns the top of the stack, or NULL.
258  */
259 #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
260  ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
261  : NULL)
262 /* Same as previous macro, but useful when we know that the buffer stack is not
263  * NULL or when we need an lvalue. For internal use only.
264  */
265 #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
266 
267 /* yy_hold_char holds the character lost when yytext is formed. */
268 static char yy_hold_char;
269 static int yy_n_chars; /* number of characters read into yy_ch_buf */
270 int yyleng;
271 
272 /* Points to current character in buffer. */
273 static char *yy_c_buf_p = NULL;
274 static int yy_init = 0; /* whether we need to initialize */
275 static int yy_start = 0; /* start state number */
276 
277 /* Flag which is used to allow yywrap()'s to do buffer switches
278  * instead of setting up a fresh yyin. A bit of a hack ...
279  */
281 
282 void yyrestart ( FILE *input_file );
283 void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer );
284 YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size );
287 void yypush_buffer_state ( YY_BUFFER_STATE new_buffer );
288 void yypop_buffer_state ( void );
289 
290 static void yyensure_buffer_stack ( void );
291 static void yy_load_buffer_state ( void );
292 static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file );
293 #define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER )
294 
295 YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size );
296 YY_BUFFER_STATE yy_scan_string ( const char *yy_str );
297 YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len );
298 
299 void *yyalloc ( yy_size_t );
300 void *yyrealloc ( void *, yy_size_t );
301 void yyfree ( void * );
302 
303 #define yy_new_buffer yy_create_buffer
304 #define yy_set_interactive(is_interactive) \
305  { \
306  if ( ! YY_CURRENT_BUFFER ){ \
307  yyensure_buffer_stack (); \
308  YY_CURRENT_BUFFER_LVALUE = \
309  yy_create_buffer( yyin, YY_BUF_SIZE ); \
310  } \
311  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
312  }
313 #define yy_set_bol(at_bol) \
314  { \
315  if ( ! YY_CURRENT_BUFFER ){\
316  yyensure_buffer_stack (); \
317  YY_CURRENT_BUFFER_LVALUE = \
318  yy_create_buffer( yyin, YY_BUF_SIZE ); \
319  } \
320  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
321  }
322 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
323 
324 /* Begin user sect3 */
325 
326 #define yywrap() (/*CONSTCOND*/1)
327 #define YY_SKIP_YYWRAP
329 
330 FILE *yyin = NULL, *yyout = NULL;
331 
332 typedef int yy_state_type;
333 
334 extern int yylineno;
335 int yylineno = 1;
336 
337 extern char *yytext;
338 #ifdef yytext_ptr
339 #undef yytext_ptr
340 #endif
341 #define yytext_ptr yytext
342 
343 static yy_state_type yy_get_previous_state ( void );
344 static yy_state_type yy_try_NUL_trans ( yy_state_type current_state );
345 static int yy_get_next_buffer ( void );
346 static void yynoreturn yy_fatal_error ( const char* msg );
347 
348 /* Done after the current pattern has been matched and before the
349  * corresponding action - sets up yytext.
350  */
351 #define YY_DO_BEFORE_ACTION \
352  (yytext_ptr) = yy_bp; \
353  yyleng = (int) (yy_cp - yy_bp); \
354  (yy_hold_char) = *yy_cp; \
355  *yy_cp = '\0'; \
356  (yy_c_buf_p) = yy_cp;
357 #define YY_NUM_RULES 229
358 #define YY_END_OF_BUFFER 230
359 /* This struct is not used in this scanner,
360  but its presence is necessary. */
362  {
365  };
366 static const flex_int16_t yy_accept[2079] =
367  { 0,
368  228, 228, 3, 3, 6, 6, 0, 0, 230, 228,
369  226, 228, 228, 228, 228, 228, 228, 228, 228, 228,
370  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
371  228, 228, 228, 228, 228, 228, 3, 3, 3, 6,
372  6, 6, 229, 229, 228, 228, 227, 228, 226, 228,
373  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
374  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
375  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
376  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
377  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
378 
379  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
380  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
381  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
382  228, 228, 3, 3, 3, 3, 6, 6, 6, 6,
383  0, 226, 228, 228, 228, 228, 228, 228, 228, 228,
384  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
385  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
386  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
387  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
388  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
389 
390  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
391  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
392  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
393  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
394  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
395  228, 228, 52, 52, 228, 53, 53, 3, 6, 51,
396  51, 228, 228, 228, 228, 228, 228, 228, 228, 228,
397  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
398  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
399  228, 228, 228, 228, 20, 228, 228, 228, 228, 228,
400 
401  228, 228, 228, 228, 228, 228, 39, 39, 228, 228,
402  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
403  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
404  228, 228, 228, 228, 228, 228, 228, 228, 228, 1,
405  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
406  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
407  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
408  228, 228, 228, 41, 41, 228, 228, 228, 228, 228,
409  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
410  228, 228, 228, 228, 228, 50, 50, 228, 228, 228,
411 
412  228, 228, 228, 3, 6, 228, 228, 228, 228, 228,
413  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
414  228, 228, 228, 228, 228, 228, 228, 228, 228, 36,
415  36, 228, 228, 34, 34, 228, 228, 228, 228, 228,
416  49, 49, 228, 228, 33, 33, 228, 228, 228, 45,
417  45, 228, 228, 228, 228, 228, 228, 228, 228, 228,
418  228, 228, 37, 37, 228, 228, 228, 228, 228, 228,
419  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
420  228, 228, 228, 228, 4, 228, 228, 228, 228, 228,
421  228, 228, 228, 228, 228, 19, 228, 228, 228, 228,
422 
423  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
424  228, 228, 228, 228, 228, 228, 228, 228, 38, 38,
425  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
426  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
427  228, 32, 32, 228, 228, 228, 228, 228, 228, 228,
428  228, 228, 228, 228, 228, 228, 228, 228, 228, 35,
429  35, 114, 114, 228, 3, 6, 228, 228, 228, 228,
430  228, 15, 15, 228, 228, 228, 228, 228, 228, 228,
431  217, 228, 228, 228, 228, 228, 228, 228, 228, 228,
432  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
433 
434  228, 228, 228, 228, 228, 31, 31, 48, 48, 228,
435  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
436  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
437  228, 228, 228, 228, 228, 228, 228, 228, 228, 119,
438  119, 228, 228, 228, 228, 228, 228, 228, 228, 228,
439  228, 228, 228, 228, 8, 8, 228, 228, 228, 228,
440  228, 228, 228, 228, 228, 228, 228, 54, 54, 228,
441  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
442  13, 13, 228, 228, 228, 228, 228, 228, 228, 228,
443  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
444 
445  228, 228, 228, 228, 228, 228, 228, 228, 228, 57,
446  57, 228, 228, 228, 228, 228, 228, 228, 228, 228,
447  228, 228, 3, 6, 228, 71, 71, 228, 228, 228,
448  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
449  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
450  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
451  228, 228, 228, 228, 228, 228, 228, 43, 43, 228,
452  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
453  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
454  228, 228, 228, 228, 55, 55, 228, 69, 69, 228,
455 
456  228, 228, 228, 40, 40, 42, 42, 228, 228, 228,
457  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
458  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
459  228, 228, 228, 228, 228, 228, 228, 228, 228, 219,
460  219, 228, 228, 228, 228, 228, 228, 228, 11, 11,
461  228, 142, 142, 228, 228, 228, 228, 25, 25, 228,
462  228, 228, 228, 70, 70, 228, 228, 228, 30, 30,
463  228, 228, 228, 228, 228, 228, 228, 61, 61, 228,
464  228, 228, 228, 228, 138, 138, 3, 2, 6, 228,
465  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
466 
467  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
468  228, 228, 228, 228, 228, 228, 228, 228, 228, 178,
469  178, 228, 179, 179, 228, 228, 228, 228, 188, 188,
470  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
471  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
472  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
473  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
474  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
475  228, 228, 228, 7, 7, 228, 228, 228, 228, 228,
476  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
477 
478  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
479  228, 228, 228, 228, 228, 228, 109, 109, 228, 228,
480  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
481  228, 228, 228, 228, 228, 108, 108, 189, 189, 73,
482  73, 228, 228, 228, 228, 62, 62, 228, 6, 5,
483  228, 228, 228, 228, 72, 72, 228, 228, 228, 228,
484  228, 205, 205, 180, 180, 228, 228, 209, 209, 228,
485  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
486  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
487  228, 228, 228, 228, 228, 228, 228, 228, 228, 104,
488 
489  104, 228, 228, 228, 228, 228, 228, 228, 228, 228,
490  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
491  228, 228, 228, 22, 22, 228, 228, 228, 228, 228,
492  228, 85, 85, 228, 228, 228, 81, 81, 228, 228,
493  228, 9, 9, 86, 86, 228, 228, 126, 126, 228,
494  228, 75, 75, 228, 228, 228, 204, 204, 228, 228,
495  228, 228, 228, 228, 228, 228, 121, 121, 228, 228,
496  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
497  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
498  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
499 
500  14, 14, 228, 228, 228, 228, 228, 228, 228, 228,
501  176, 176, 58, 58, 228, 228, 228, 228, 228, 115,
502  115, 228, 228, 228, 228, 228, 228, 228, 16, 16,
503  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
504  96, 96, 228, 228, 228, 228, 228, 228, 228, 228,
505  228, 63, 63, 228, 102, 102, 228, 228, 175, 175,
506  228, 228, 228, 228, 228, 218, 218, 228, 228, 89,
507  89, 228, 228, 228, 228, 228, 228, 228, 228, 199,
508  199, 228, 228, 139, 139, 193, 193, 228, 228, 228,
509  228, 194, 194, 228, 228, 228, 228, 228, 24, 24,
510 
511  228, 228, 140, 140, 228, 228, 59, 59, 228, 44,
512  44, 228, 228, 82, 82, 228, 228, 228, 228, 228,
513  228, 228, 113, 113, 228, 203, 203, 228, 228, 228,
514  228, 228, 228, 228, 228, 47, 47, 228, 228, 228,
515  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
516  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
517  228, 228, 228, 228, 228, 228, 228, 228, 228, 120,
518  120, 228, 228, 228, 228, 228, 228, 228, 228, 228,
519  228, 228, 228, 94, 94, 228, 228, 228, 228, 228,
520  228, 18, 18, 228, 228, 228, 228, 228, 228, 228,
521 
522  228, 228, 228, 228, 207, 207, 228, 228, 228, 228,
523  228, 228, 228, 228, 228, 228, 228, 228, 177, 177,
524  125, 125, 228, 228, 56, 56, 228, 228, 90, 90,
525  228, 228, 228, 228, 228, 228, 68, 68, 228, 228,
526  228, 228, 228, 92, 92, 228, 228, 192, 192, 228,
527  228, 228, 228, 228, 21, 21, 228, 215, 215, 228,
528  228, 228, 83, 83, 228, 228, 80, 80, 87, 87,
529  88, 88, 228, 228, 228, 228, 228, 228, 225, 225,
530  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
531  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
532 
533  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
534  228, 228, 228, 228, 228, 228, 228, 29, 29, 228,
535  228, 228, 228, 103, 103, 228, 228, 118, 118, 46,
536  46, 228, 228, 228, 228, 228, 228, 124, 124, 228,
537  64, 64, 228, 93, 93, 228, 106, 106, 228, 228,
538  208, 208, 228, 228, 228, 228, 228, 228, 228, 228,
539  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
540  228, 228, 228, 228, 228, 100, 100, 191, 191, 228,
541  228, 228, 228, 228, 99, 99, 122, 122, 228, 228,
542  228, 23, 23, 228, 228, 79, 79, 78, 78, 228,
543 
544  174, 174, 228, 228, 228, 228, 17, 17, 228, 228,
545  228, 228, 228, 228, 228, 101, 101, 228, 228, 228,
546  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
547  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
548  228, 228, 228, 228, 228, 228, 228, 214, 214, 228,
549  228, 26, 26, 228, 105, 105, 228, 228, 211, 211,
550  228, 127, 127, 228, 228, 10, 10, 228, 228, 228,
551  228, 228, 228, 228, 133, 133, 228, 228, 228, 228,
552  228, 228, 228, 228, 228, 216, 216, 12, 12, 228,
553  228, 228, 228, 198, 198, 228, 228, 228, 228, 74,
554 
555  74, 228, 201, 201, 228, 98, 98, 228, 228, 228,
556  228, 228, 228, 228, 228, 141, 141, 144, 144, 228,
557  228, 67, 67, 228, 202, 202, 228, 228, 228, 228,
558  153, 153, 228, 228, 228, 151, 151, 228, 228, 228,
559  228, 228, 228, 228, 161, 161, 149, 149, 228, 228,
560  228, 228, 228, 228, 228, 228, 228, 158, 158, 228,
561  228, 228, 228, 213, 213, 228, 143, 143, 228, 228,
562  228, 228, 228, 228, 228, 186, 186, 228, 228, 228,
563  228, 228, 228, 136, 136, 228, 228, 228, 228, 212,
564  212, 228, 228, 221, 221, 228, 228, 228, 228, 228,
565 
566  228, 228, 223, 223, 117, 117, 228, 183, 183, 228,
567  228, 60, 60, 228, 228, 228, 228, 65, 65, 228,
568  228, 228, 228, 228, 169, 169, 228, 165, 165, 228,
569  228, 164, 164, 228, 228, 154, 154, 228, 228, 228,
570  228, 228, 228, 148, 148, 228, 228, 228, 228, 228,
571  181, 181, 228, 224, 224, 110, 110, 228, 28, 28,
572  228, 228, 228, 228, 228, 228, 206, 206, 228, 228,
573  132, 132, 228, 228, 185, 185, 228, 228, 228, 228,
574  107, 107, 123, 123, 137, 137, 228, 228, 228, 184,
575  184, 182, 182, 228, 228, 116, 116, 228, 97, 97,
576 
577  66, 66, 228, 228, 228, 112, 112, 228, 228, 228,
578  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
579  157, 157, 228, 228, 95, 95, 228, 228, 228, 228,
580  228, 130, 130, 210, 210, 228, 134, 134, 131, 131,
581  129, 129, 135, 135, 228, 228, 228, 228, 228, 228,
582  190, 190, 228, 197, 197, 228, 220, 220, 228, 228,
583  228, 228, 163, 163, 172, 172, 228, 228, 228, 228,
584  228, 228, 228, 228, 228, 228, 228, 228, 228, 228,
585  173, 173, 200, 200, 228, 228, 228, 228, 195, 195,
586  228, 228, 128, 128, 111, 111, 228, 228, 228, 228,
587 
588  156, 156, 167, 167, 168, 168, 170, 170, 228, 159,
589  159, 147, 147, 228, 228, 228, 228, 145, 145, 228,
590  228, 76, 76, 228, 187, 187, 196, 196, 228, 228,
591  152, 152, 228, 228, 228, 228, 228, 228, 228, 228,
592  228, 222, 222, 84, 84, 228, 228, 228, 228, 228,
593  228, 228, 27, 27, 228, 77, 77, 228, 228, 150,
594  150, 228, 160, 160, 155, 155, 91, 91, 146, 146,
595  162, 162, 166, 166, 228, 171, 171, 0
596  } ;
597 
598 static const YY_CHAR yy_ec[256] =
599  { 0,
600  1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
601  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
602  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
603  1, 2, 1, 1, 4, 5, 1, 1, 1, 1,
604  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
605  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
606  1, 1, 1, 1, 6, 7, 8, 9, 10, 11,
607  12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
608  22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
609  1, 1, 1, 32, 33, 1, 34, 35, 36, 37,
610 
611  38, 39, 40, 41, 42, 43, 44, 45, 46, 47,
612  48, 49, 50, 51, 52, 53, 54, 55, 56, 57,
613  58, 59, 1, 1, 1, 1, 1, 1, 1, 1,
614  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
615  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
616  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
617  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
618  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
619  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
620  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
621 
622  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
623  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
624  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
625  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
626  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
627  1, 1, 1, 1, 1
628  } ;
629 
630 static const YY_CHAR yy_meta[60] =
631  { 0,
632  1, 1, 2, 1, 1, 1, 1, 1, 1, 1,
633  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
634  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
635  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
636  1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
637  1, 1, 1, 1, 1, 1, 1, 1, 1
638  } ;
639 
640 static const flex_int16_t yy_base[2419] =
641  { 0,
642  0, 32, 89, 90, 91, 92, 93, 94, 3794, 0,
643  3795, 3790, 0, 123, 89, 172, 129, 171, 113, 128,
644  180, 172, 82, 224, 187, 217, 229, 239, 178, 280,
645  325, 163, 98, 285, 118, 3790, 0, 4, 156, 0,
646  5, 186, 3795, 6, 0, 3788, 3795, 10, 0, 250,
647  227, 228, 222, 249, 236, 254, 299, 294, 271, 317,
648  277, 278, 291, 307, 297, 315, 323, 324, 335, 342,
649  331, 345, 334, 342, 338, 340, 355, 338, 340, 3788,
650  356, 370, 3756, 360, 351, 354, 359, 376, 368, 384,
651  414, 377, 389, 385, 379, 3755, 388, 394, 400, 399,
652 
653  403, 393, 398, 414, 399, 434, 423, 429, 445, 442,
654  442, 454, 437, 433, 476, 467, 454, 460, 443, 444,
655  462, 461, 498, 473, 478, 474, 3785, 502, 482, 3784,
656  497, 3783, 0, 11, 0, 500, 0, 12, 0, 506,
657  16, 3795, 3782, 503, 493, 504, 507, 512, 514, 523,
658  510, 514, 514, 515, 534, 516, 3750, 526, 526, 552,
659  545, 557, 536, 537, 561, 3780, 554, 559, 544, 17,
660  571, 562, 566, 568, 574, 553, 577, 3748, 579, 3778,
661  568, 3777, 587, 624, 573, 567, 573, 595, 601, 606,
662  602, 611, 617, 3745, 618, 630, 610, 626, 628, 20,
663 
664  630, 620, 677, 636, 638, 3744, 621, 647, 638, 666,
665  661, 663, 668, 3774, 677, 681, 674, 678, 3742, 671,
666  3741, 679, 667, 689, 675, 684, 686, 3771, 696, 693,
667  717, 704, 3770, 688, 694, 711, 724, 731, 729, 731,
668  734, 724, 741, 3738, 722, 3737, 3767, 728, 738, 734,
669  3766, 3765, 0, 3764, 722, 0, 3763, 735, 737, 0,
670  3762, 728, 747, 753, 746, 3761, 750, 754, 3729, 3728,
671  753, 742, 753, 3727, 790, 743, 770, 3757, 780, 774,
672  3756, 769, 786, 794, 792, 783, 3755, 795, 789, 3754,
673  800, 784, 790, 22, 3795, 3753, 789, 3752, 3751, 798,
674 
675  795, 795, 3719, 812, 802, 823, 0, 3749, 815, 3748,
676  824, 832, 832, 835, 848, 838, 842, 844, 846, 836,
677  858, 3716, 843, 3715, 846, 841, 24, 3745, 858, 3713,
678  850, 846, 847, 850, 852, 849, 26, 3712, 28, 3795,
679  261, 852, 856, 890, 890, 899, 893, 892, 3742, 902,
680  898, 3710, 889, 897, 898, 3709, 3708, 3707, 3737, 3736,
681  896, 908, 909, 896, 915, 912, 917, 908, 912, 906,
682  3704, 903, 920, 0, 3734, 921, 909, 928, 927, 950,
683  944, 3733, 933, 3701, 954, 949, 943, 3731, 956, 963,
684  944, 957, 964, 963, 946, 0, 3730, 955, 963, 3698,
685 
686  3728, 3727, 953, 954, 959, 975, 3726, 957, 959, 974,
687  3725, 979, 970, 981, 984, 970, 998, 992, 0, 1011,
688  1013, 1002, 1003, 1017, 1004, 1015, 1002, 1013, 1009, 0,
689  3724, 1015, 1005, 0, 3723, 1007, 1024, 1019, 1025, 1017,
690  0, 3722, 1029, 1019, 0, 3721, 1015, 1027, 1019, 0,
691  3720, 1026, 3719, 3718, 1037, 1043, 1043, 1049, 3717, 1063,
692  1067, 1062, 0, 3716, 1064, 1059, 1066, 1067, 1068, 1057,
693  1064, 1068, 1074, 1064, 1065, 1079, 1065, 1071, 1072, 3684,
694  1110, 3714, 1090, 105, 3795, 3713, 3712, 1083, 1092, 1085,
695  1096, 3711, 3710, 1095, 108, 3795, 1157, 3709, 1107, 1123,
696 
697  1106, 1114, 1117, 1109, 1127, 1132, 1127, 1132, 3708, 1118,
698  1130, 1139, 3676, 1140, 1117, 1170, 1142, 1132, 0, 3706,
699  3705, 1143, 284, 1170, 1159, 1157, 1178, 1169, 1171, 3704,
700  1175, 3703, 1177, 1183, 3671, 1195, 1173, 3670, 1189, 3700,
701  1176, 0, 3699, 1181, 1194, 3698, 3666, 1182, 3696, 1188,
702  1205, 1207, 1210, 1200, 3695, 1211, 1213, 1208, 1228, 0,
703  3694, 0, 3693, 3692, 1223, 1214, 1213, 3691, 1226, 1220,
704  1234, 0, 3690, 1236, 1224, 1229, 1230, 1236, 1245, 1228,
705  0, 1232, 1233, 1241, 1243, 1247, 1247, 1256, 1265, 1266,
706  1262, 1273, 1269, 3658, 1279, 1265, 1272, 3688, 3656, 3686,
707 
708  1284, 1280, 1276, 3654, 3684, 0, 3683, 0, 3682, 1280,
709  1274, 3650, 1294, 3680, 1296, 1289, 1295, 1300, 1300, 1292,
710  1292, 1295, 1297, 1295, 1303, 1310, 1306, 1310, 1322, 1322,
711  1328, 1321, 1337, 1340, 1324, 1339, 1329, 3679, 1325, 0,
712  3678, 3677, 1334, 1326, 1352, 1353, 3676, 3675, 1339, 1346,
713  1347, 1357, 1354, 1336, 0, 3674, 1350, 1353, 1376, 1379,
714  1366, 3642, 1374, 1377, 1380, 1394, 1391, 0, 3672, 3671,
715  1377, 1378, 1399, 1376, 1377, 1384, 1401, 1402, 1385, 1396,
716  0, 3670, 1405, 3669, 1400, 1395, 3637, 1416, 3667, 1393,
717  1397, 3666, 1414, 3665, 1407, 1424, 1424, 3664, 1426, 1430,
718 
719  1425, 1431, 3663, 1443, 1447, 1438, 3662, 1449, 1438, 0,
720  3661, 1452, 3660, 3659, 3658, 1445, 3657, 1434, 1441, 3656,
721  1446, 3655, 110, 1458, 1460, 0, 3654, 1453, 1465, 1465,
722  3653, 1453, 1449, 1462, 1461, 1462, 3652, 3651, 1474, 1466,
723  3650, 3618, 1491, 1491, 1477, 1485, 3617, 3616, 1493, 3615,
724  1497, 1506, 1504, 1504, 1505, 3645, 1498, 3644, 1504, 1500,
725  1502, 1511, 3643, 1493, 1504, 1520, 1520, 0, 3642, 1523,
726  3641, 1520, 1518, 1520, 1532, 1530, 1535, 1538, 1530, 1525,
727  1531, 1530, 1555, 3609, 1542, 1558, 1541, 1553, 1545, 1567,
728  1549, 1570, 1571, 3639, 0, 3638, 1568, 0, 3637, 1552,
729 
730  1570, 1565, 1575, 0, 3636, 0, 3635, 3634, 1570, 1568,
731  1579, 3633, 1571, 1586, 1573, 3632, 3631, 1587, 1588, 3630,
732  1582, 1601, 3629, 1594, 1595, 1595, 3628, 3627, 1592, 1598,
733  3595, 1614, 1600, 1607, 1606, 1608, 3625, 1605, 1614, 0,
734  3624, 1613, 1629, 1671, 1605, 3623, 1608, 1624, 0, 3622,
735  3621, 0, 3620, 1614, 1640, 1721, 1719, 0, 3619, 1723,
736  1715, 1710, 1710, 0, 3618, 3617, 3616, 1709, 0, 3615,
737  1709, 1729, 1716, 3614, 3613, 3612, 1716, 0, 3611, 3610,
738  1712, 1719, 3609, 1723, 0, 3608, 112, 3795, 114, 3576,
739  1726, 1736, 1736, 3606, 3605, 1727, 1729, 1733, 1734, 3604,
740 
741  3603, 1742, 3571, 3601, 1747, 1737, 1739, 1726, 3600, 1743,
742  1780, 3599, 1763, 3598, 1770, 1760, 3597, 1782, 1769, 0,
743  3596, 1787, 0, 3595, 1783, 1776, 1632, 1776, 0, 3594,
744  3593, 1774, 1775, 1785, 1770, 3592, 1791, 1792, 1795, 1781,
745  3591, 1801, 1786, 3590, 3589, 1804, 1792, 1805, 1787, 3588,
746  1833, 1833, 1834, 1822, 1834, 3587, 1839, 1831, 3586, 3585,
747  1835, 1827, 1849, 3584, 3583, 1832, 1845, 3582, 3581, 1826,
748  1830, 1846, 3580, 3579, 1841, 1848, 3578, 1842, 3577, 3576,
749  3544, 3574, 1848, 0, 3573, 3572, 1855, 1854, 1852, 1855,
750  1839, 1852, 1857, 3571, 3570, 1859, 1859, 1889, 1880, 1882,
751 
752  1893, 1885, 1897, 1895, 1887, 1898, 1900, 1891, 1895, 1901,
753  1910, 1941, 1904, 1896, 1913, 3569, 0, 3568, 1911, 1901,
754  3567, 1925, 1947, 1929, 1951, 1947, 1947, 1946, 1948, 3566,
755  3565, 1945, 1944, 3564, 1942, 0, 3563, 0, 3562, 0,
756  3561, 1957, 3560, 1947, 1948, 0, 3559, 1953, 150, 3795,
757  1951, 3558, 1963, 1959, 0, 3557, 3556, 1964, 1949, 1947,
758  1964, 0, 3555, 0, 3554, 1951, 1956, 0, 3553, 1958,
759  1981, 1996, 3552, 3551, 1991, 1988, 1992, 2007, 2007, 2004,
760  3550, 2002, 3549, 2003, 1997, 3548, 3547, 3546, 2004, 2010,
761  3545, 3544, 2007, 2009, 3543, 3542, 2009, 2002, 3510, 0,
762 
763  3540, 2020, 3539, 2021, 2022, 3538, 2026, 2014, 3537, 3536,
764  2028, 3535, 2019, 2016, 3534, 3533, 2024, 2035, 2042, 2053,
765  3532, 2058, 3531, 0, 3530, 3529, 2045, 3528, 3527, 2064,
766  3526, 0, 3525, 2043, 2056, 3524, 0, 3523, 2071, 2064,
767  3522, 0, 3521, 0, 3520, 3519, 3518, 0, 3517, 2071,
768  3516, 0, 3515, 2064, 3514, 2054, 0, 3513, 2072, 2068,
769  2065, 3512, 2064, 2074, 2068, 3511, 0, 3510, 2068, 2061,
770  2075, 2078, 2077, 2071, 2079, 2087, 2084, 2109, 2106, 2116,
771  2100, 2120, 2117, 2122, 2107, 2113, 2125, 2118, 2111, 2127,
772  2127, 2117, 2111, 2128, 2124, 2122, 2140, 3509, 2137, 2134,
773 
774  0, 3508, 3507, 2139, 2147, 2140, 2146, 3506, 2161, 2158,
775  0, 3505, 0, 3504, 3503, 3502, 3501, 2166, 2162, 0,
776  3500, 2172, 2173, 2154, 2167, 3499, 3498, 2159, 0, 3497,
777  3496, 2179, 3495, 2180, 3494, 2170, 2174, 3493, 2187, 3492,
778  0, 3491, 3459, 2176, 2167, 2177, 2178, 2175, 2186, 2187,
779  2196, 0, 3489, 2185, 0, 3488, 2186, 2195, 0, 3487,
780  3486, 3485, 2203, 2205, 3484, 0, 3483, 2207, 2225, 0,
781  3482, 3481, 2215, 2212, 2230, 3480, 3479, 3478, 2229, 0,
782  3477, 2222, 2221, 0, 3476, 0, 3475, 2225, 3474, 2234,
783  3473, 0, 3472, 3471, 3470, 2221, 2236, 2239, 0, 3469,
784 
785  3468, 3467, 0, 3466, 2234, 3465, 0, 3464, 2231, 0,
786  3463, 3462, 3461, 0, 3460, 3459, 2229, 3458, 3457, 3456,
787  3455, 2221, 0, 3454, 2243, 0, 3453, 2240, 2240, 3452,
788  2237, 3451, 2249, 2251, 2244, 0, 3450, 2245, 2261, 2272,
789  3449, 2266, 2281, 2283, 2274, 2286, 2275, 2287, 2287, 2281,
790  2276, 2285, 2293, 2290, 2297, 2283, 2297, 2284, 2288, 2280,
791  2302, 2303, 2300, 2309, 2292, 2293, 2297, 2308, 2318, 0,
792  3448, 2323, 2340, 3447, 3446, 2331, 2341, 3445, 3444, 2333,
793  3443, 3442, 3441, 0, 3440, 2324, 2327, 3439, 2344, 3438,
794  3406, 0, 3436, 3435, 3434, 3433, 2338, 3432, 2348, 3431,
795 
796  2348, 2339, 3430, 2352, 0, 3429, 2352, 2342, 3428, 2351,
797  2352, 2345, 2356, 2351, 2348, 2360, 3396, 3426, 0, 3425,
798  0, 3424, 3423, 2348, 0, 3422, 2363, 2363, 0, 3421,
799  2355, 3420, 2363, 2387, 2392, 3419, 0, 3418, 3417, 3416,
800  2394, 3415, 2395, 0, 3414, 3413, 3412, 0, 3411, 3410,
801  2396, 2398, 2402, 3409, 0, 3408, 2403, 0, 3407, 2402,
802  3406, 3405, 0, 3404, 2403, 3403, 0, 3402, 0, 3401,
803  0, 3400, 2404, 2405, 3399, 3398, 3397, 2396, 0, 3396,
804  2408, 3395, 2408, 3394, 2401, 2406, 3393, 2397, 2405, 3392,
805  2415, 2415, 2402, 3391, 2401, 2403, 2416, 2427, 2433, 2432,
806 
807  2433, 3390, 3389, 2434, 2440, 2433, 2439, 3357, 2455, 2447,
808  2452, 2448, 3387, 3355, 2449, 2460, 2454, 0, 3385, 3384,
809  3383, 2462, 3382, 0, 3381, 3380, 3379, 0, 3378, 0,
810  3377, 2463, 3345, 3375, 2465, 3374, 2454, 0, 3373, 3372,
811  0, 3371, 2466, 0, 3370, 3369, 0, 3368, 2461, 2454,
812  0, 3367, 2465, 2476, 2457, 3366, 2474, 3365, 2468, 2476,
813  2478, 2487, 3364, 2491, 3363, 3362, 3361, 2502, 2494, 2495,
814  3360, 2491, 2497, 2508, 2518, 0, 3359, 0, 3358, 3357,
815  3356, 3355, 3354, 3353, 0, 3352, 0, 3351, 2516, 3350,
816  2509, 0, 3349, 2510, 3348, 0, 3347, 0, 3346, 2509,
817 
818  0, 3345, 2506, 2511, 3344, 3343, 0, 3342, 2508, 3341,
819  3340, 2523, 3339, 2523, 2524, 0, 3338, 2522, 2520, 3337,
820  3336, 2521, 3335, 3334, 2515, 2530, 3333, 2516, 2525, 3332,
821  2528, 3331, 3330, 2550, 2542, 2551, 2553, 2549, 3329, 2544,
822  2567, 2557, 3328, 2552, 2561, 3327, 2571, 0, 3326, 3325,
823  3324, 0, 3323, 3322, 0, 3321, 3320, 2562, 0, 3319,
824  2581, 0, 3318, 2558, 2575, 0, 3317, 2568, 3316, 2571,
825  2566, 3315, 2567, 2569, 0, 3314, 3313, 3312, 2576, 2585,
826  3311, 2576, 3310, 2590, 2567, 0, 3309, 0, 3308, 3307,
827  2594, 3306, 3305, 0, 3304, 3303, 2587, 2594, 2598, 0,
828 
829  3302, 3301, 0, 3300, 3299, 0, 3298, 3297, 3296, 3295,
830  2616, 3294, 2621, 96, 2603, 0, 101, 0, 103, 116,
831  148, 0, 152, 154, 0, 155, 2610, 2607, 2614, 156,
832  0, 158, 160, 2615, 163, 0, 193, 2620, 2613, 197,
833  2627, 2628, 200, 2626, 0, 229, 0, 244, 2627, 2632,
834  2620, 2638, 2620, 245, 2615, 2642, 258, 0, 265, 2630,
835  2632, 310, 311, 0, 400, 405, 0, 409, 463, 2632,
836  489, 2635, 2629, 2644, 2638, 0, 600, 619, 620, 622,
837  2651, 665, 706, 0, 883, 1092, 1093, 1133, 1134, 0,
838  1147, 2656, 2663, 0, 1151, 2669, 1152, 1198, 1642, 2667,
839 
840  2668, 2666, 0, 1645, 0, 1646, 1648, 0, 1649, 1654,
841  1657, 0, 1665, 2670, 1666, 1668, 1756, 0, 1917, 2074,
842  2663, 2584, 2680, 2690, 0, 2691, 2688, 0, 2694, 2677,
843  2674, 0, 2697, 2698, 2699, 0, 2700, 2696, 2680, 2683,
844  2698, 2691, 2699, 0, 2715, 2709, 2703, 2719, 2714, 2718,
845  0, 2725, 2726, 0, 2727, 0, 2728, 2698, 0, 2736,
846  2729, 2727, 2731, 2740, 2741, 2742, 0, 2743, 2744, 2747,
847  0, 2748, 2751, 2752, 0, 2753, 2754, 2748, 2750, 2749,
848  0, 2758, 0, 2759, 0, 2760, 2746, 2762, 2746, 0,
849  2764, 0, 2768, 2769, 2747, 0, 2771, 2772, 0, 2773,
850 
851  0, 2774, 2775, 2776, 2777, 0, 2778, 2756, 2763, 2762,
852  2782, 2786, 2775, 2788, 2790, 2792, 2793, 2790, 2795, 2796,
853  0, 2797, 2791, 2790, 0, 2801, 2792, 2794, 2804, 2801,
854  2806, 0, 2810, 0, 2811, 2812, 0, 2813, 0, 2814,
855  0, 2816, 0, 2817, 2800, 2819, 2799, 2821, 2823, 2824,
856  0, 2825, 2798, 0, 2829, 2832, 0, 2834, 2835, 2824,
857  2837, 2830, 0, 2839, 0, 2840, 2818, 2842, 2843, 2844,
858  2845, 2832, 2849, 2850, 2847, 2840, 2845, 2832, 2856, 2835,
859  0, 2858, 0, 2859, 2844, 2861, 2862, 2863, 0, 2865,
860  2867, 2868, 0, 2870, 0, 2871, 2854, 2873, 2859, 2848,
861 
862  0, 2877, 0, 2878, 0, 2882, 0, 2884, 2874, 0,
863  2887, 0, 2889, 2883, 2885, 2875, 2893, 0, 2894, 2887,
864  2896, 0, 2897, 2898, 0, 2899, 0, 2901, 2903, 2888,
865  0, 2906, 2892, 2908, 2892, 2910, 2911, 2912, 2913, 2915,
866  2916, 0, 2917, 0, 2921, 2922, 2924, 2925, 2916, 2927,
867  2928, 2929, 0, 2930, 2931, 0, 2932, 2934, 2936, 0,
868  2938, 2939, 0, 2940, 0, 2941, 0, 2942, 0, 2943,
869  0, 2944, 0, 2945, 2946, 0, 2947, 3795, 2956, 2958,
870  2960, 2962, 2949, 2964, 2950, 2951, 2952, 2953, 2954, 2966,
871  2967, 2968, 2969, 2970, 2971, 2972, 2973, 2974, 2975, 2976,
872 
873  2977, 2978, 2979, 2980, 2981, 2982, 2983, 2984, 2985, 2986,
874  2987, 2988, 2989, 2990, 2991, 2992, 2993, 2994, 2995, 2996,
875  2997, 2998, 2999, 3000, 3001, 3002, 3003, 3004, 3005, 3006,
876  3007, 3008, 3009, 3010, 3011, 3012, 3013, 3014, 3015, 3016,
877  3017, 3018, 3019, 3020, 3021, 3022, 3023, 3024, 3025, 3026,
878  3027, 3028, 3029, 3030, 3031, 3032, 3033, 3034, 3035, 3036,
879  3037, 3038, 3039, 3040, 3041, 3042, 3043, 3044, 3045, 3046,
880  3047, 3048, 3049, 3050, 3051, 3052, 3053, 3054, 3055, 3056,
881  3057, 3058, 3059, 3060, 3061, 3062, 3063, 3064, 3065, 3066,
882  3067, 3068, 3069, 3070, 3071, 3072, 3073, 3074, 3075, 3076,
883 
884  3077, 3078, 3079, 3080, 3081, 3082, 3083, 3084, 3085, 3086,
885  3087, 3088, 3089, 3090, 3091, 3092, 3093, 3094, 3095, 3096,
886  3097, 3098, 3099, 3100, 3101, 3102, 3103, 3104, 3105, 3106,
887  3107, 3108, 3109, 3110, 3111, 3112, 3113, 3114, 3115, 3116,
888  3117, 3118, 3119, 3120, 3121, 3122, 3123, 3124, 3125, 3126,
889  3127, 3128, 3129, 3130, 3131, 3132, 3133, 3134, 3135, 3136,
890  3137, 3138, 3139, 3140, 3141, 3142, 3143, 3144, 3145, 3146,
891  3147, 3148, 3149, 3150, 3151, 3152, 3153, 3154, 3155, 3156,
892  3157, 3158, 3159, 3160, 3161, 3162, 3163, 3164, 3165, 3166,
893  3167, 3168, 3169, 3170, 3171, 3172, 3173, 3174, 3175, 3176,
894 
895  3177, 3178, 3179, 3180, 3181, 3182, 3183, 3184, 3185, 3186,
896  3187, 3188, 3189, 3190, 3191, 3192, 3193, 3194, 3195, 3196,
897  3197, 3198, 3199, 3200, 3201, 3202, 3203, 3204, 3205, 3206,
898  3207, 3208, 3209, 3210, 3211, 3212, 3213, 3214, 3215, 3216,
899  3217, 3218, 3219, 3220, 3221, 3222, 3223, 3224, 3225, 3226,
900  3227, 3228, 3229, 3230, 3231, 3232, 3233, 3234, 3235, 3236,
901  3237, 3238, 3239, 3240, 3241, 3242, 3243, 3244, 3245, 3246,
902  3247, 3248, 3249, 3250, 3251, 3252, 3253, 3254, 3255, 3256,
903  3257, 3258, 3259, 3260, 3261, 3262, 3263, 3264, 3265, 3266,
904  3267, 3268, 3269, 3270, 3271, 3272, 3273, 3274, 3275, 3276,
905 
906  3277, 3278, 3279, 3280, 3281, 3282, 3283, 3284, 3285, 3286,
907  3287, 3288, 3289, 3290, 3291, 3292, 3293, 3294
908  } ;
909 
910 static const flex_int16_t yy_def[2419] =
911  { 0,
912  2079, 2078, 2080, 2080, 2081, 2081, 2082, 2082, 2078, 2083,
913  2078, 2084, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
914  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
915  2083, 2083, 2083, 2083, 2083, 2083, 2085, 2085, 2085, 2086,
916  2086, 2086, 2078, 2078, 2083, 2084, 2078, 2083, 2083, 2083,
917  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
918  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
919  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
920  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
921  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
922 
923  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
924  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
925  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2087,
926  2083, 2088, 2085, 2085, 2085, 2085, 2086, 2086, 2086, 2086,
927  2078, 2078, 2089, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
928  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
929  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
930  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2090,
931  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
932  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
933 
934  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
935  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
936  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2091, 2083, 2083,
937  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
938  2083, 2083, 2083, 2083, 2083, 2083, 2092, 2083, 2083, 2083,
939  2083, 2083, 2087, 2087, 2083, 2088, 2088, 2085, 2086, 2089,
940  2089, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
941  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2093, 2083, 2083,
942  2094, 2083, 2083, 2083, 2083, 2083, 2095, 2083, 2083, 2096,
943  2083, 2083, 2083, 2083, 2078, 2097, 2083, 2083, 2083, 2083,
944 
945  2083, 2083, 2083, 2083, 2083, 2083, 2090, 2090, 2083, 2098,
946  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
947  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
948  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2078,
949  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
950  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2099, 2083,
951  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
952  2083, 2083, 2083, 2091, 2091, 2083, 2083, 2083, 2083, 2083,
953  2083, 2100, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
954  2083, 2083, 2083, 2083, 2083, 2092, 2092, 2083, 2083, 2083,
955 
956  2101, 2102, 2083, 2085, 2086, 2083, 2083, 2083, 2083, 2083,
957  2103, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2104, 2083,
958  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2093,
959  2093, 2083, 2083, 2094, 2094, 2083, 2083, 2083, 2083, 2083,
960  2095, 2095, 2083, 2083, 2096, 2096, 2083, 2083, 2083, 2097,
961  2097, 2083, 2105, 2106, 2083, 2083, 2083, 2083, 2083, 2083,
962  2083, 2083, 2098, 2098, 2083, 2083, 2083, 2083, 2083, 2083,
963  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
964  2083, 2083, 2083, 2083, 2078, 2107, 2083, 2083, 2083, 2083,
965  2083, 2083, 2083, 2083, 2083, 2078, 2083, 2108, 2083, 2083,
966 
967  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2109, 2083,
968  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2099, 2099,
969  2110, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
970  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
971  2083, 2100, 2100, 2083, 2083, 2083, 2083, 2083, 2111, 2083,
972  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2101,
973  2101, 2102, 2102, 2083, 2085, 2086, 2083, 2112, 2083, 2083,
974  2083, 2103, 2103, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
975  2104, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
976  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
977 
978  2083, 2083, 2083, 2083, 2083, 2105, 2105, 2106, 2106, 2083,
979  2083, 2083, 2083, 2113, 2083, 2083, 2083, 2083, 2083, 2083,
980  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
981  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2114, 2083, 2107,
982  2107, 2115, 2083, 2083, 2083, 2083, 2116, 2117, 2083, 2083,
983  2083, 2083, 2083, 2083, 2108, 2108, 2083, 2083, 2083, 2083,
984  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2109, 2109, 2083,
985  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
986  2110, 2110, 2083, 2118, 2083, 2083, 2083, 2083, 2083, 2083,
987  2083, 2119, 2083, 2120, 2083, 2083, 2083, 2121, 2083, 2083,
988 
989  2083, 2083, 2122, 2083, 2083, 2083, 2123, 2083, 2083, 2111,
990  2111, 2083, 2083, 2083, 2083, 2083, 2124, 2083, 2083, 2083,
991  2083, 2125, 2085, 2086, 2083, 2112, 2112, 2083, 2083, 2083,
992  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
993  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
994  2083, 2083, 2083, 2083, 2083, 2126, 2083, 2127, 2083, 2083,
995  2083, 2083, 2128, 2083, 2083, 2083, 2083, 2113, 2113, 2083,
996  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
997  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
998  2083, 2083, 2083, 2083, 2114, 2114, 2083, 2115, 2115, 2083,
999 
1000  2083, 2083, 2083, 2116, 2116, 2117, 2117, 2083, 2083, 2083,
1001  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1002  2083, 2083, 2083, 2083, 2083, 2083, 2129, 2083, 2083, 2083,
1003  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2118,
1004  2118, 2083, 2083, 2078, 2083, 2130, 2083, 2083, 2119, 2119,
1005  2083, 2120, 2120, 2083, 2083, 2083, 2083, 2121, 2121, 2083,
1006  2083, 2083, 2083, 2122, 2122, 2083, 2083, 2083, 2123, 2123,
1007  2083, 2083, 2083, 2131, 2132, 2133, 2083, 2124, 2124, 2083,
1008  2083, 2083, 2134, 2083, 2125, 2125, 2085, 2078, 2086, 2083,
1009  2083, 2083, 2083, 2135, 2083, 2083, 2083, 2083, 2083, 2136,
1010 
1011  2137, 2083, 2083, 2138, 2083, 2083, 2083, 2083, 2083, 2083,
1012  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2126,
1013  2126, 2083, 2127, 2127, 2083, 2083, 2083, 2083, 2128, 2128,
1014  2083, 2083, 2083, 2083, 2083, 2139, 2083, 2083, 2083, 2083,
1015  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1016  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2140, 2083,
1017  2083, 2083, 2083, 2083, 2141, 2083, 2083, 2083, 2142, 2083,
1018  2083, 2083, 2143, 2144, 2083, 2083, 2145, 2083, 2083, 2146,
1019  2083, 2083, 2083, 2129, 2129, 2147, 2083, 2083, 2083, 2083,
1020  2083, 2083, 2083, 2083, 2148, 2083, 2083, 2083, 2083, 2083,
1021 
1022  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1023  2083, 2083, 2083, 2083, 2083, 2083, 2130, 2130, 2083, 2083,
1024  2149, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2150,
1025  2151, 2083, 2083, 2083, 2083, 2131, 2131, 2132, 2132, 2133,
1026  2133, 2083, 2152, 2083, 2083, 2134, 2134, 2083, 2086, 2078,
1027  2083, 2083, 2083, 2083, 2135, 2135, 2153, 2083, 2083, 2083,
1028  2083, 2136, 2136, 2137, 2137, 2083, 2083, 2138, 2138, 2083,
1029  2083, 2083, 2083, 2154, 2083, 2083, 2083, 2083, 2083, 2083,
1030  2155, 2083, 2156, 2083, 2083, 2157, 2083, 2083, 2083, 2083,
1031  2083, 2158, 2083, 2083, 2159, 2083, 2083, 2083, 2083, 2139,
1032 
1033  2139, 2083, 2083, 2083, 2083, 2160, 2083, 2083, 2161, 2162,
1034  2083, 2083, 2083, 2083, 2163, 2083, 2083, 2083, 2083, 2083,
1035  2164, 2083, 2083, 2165, 2165, 2166, 2083, 2083, 2167, 2083,
1036  2168, 2169, 2169, 2083, 2083, 2170, 2171, 2171, 2083, 2083,
1037  2083, 2172, 2172, 2173, 2173, 2083, 2083, 2174, 2174, 2083,
1038  2175, 2176, 2176, 2083, 2177, 2083, 2178, 2178, 2083, 2083,
1039  2083, 2083, 2083, 2083, 2083, 2179, 2180, 2180, 2083, 2083,
1040  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1041  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1042  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2181, 2083, 2083,
1043 
1044  2182, 2182, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1045  2183, 2183, 2184, 2184, 2083, 2083, 2185, 2083, 2083, 2186,
1046  2186, 2083, 2083, 2083, 2083, 2187, 2083, 2083, 2188, 2188,
1047  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2189,
1048  2190, 2190, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1049  2083, 2191, 2191, 2083, 2192, 2192, 2083, 2083, 2193, 2193,
1050  2194, 2195, 2083, 2083, 2196, 2197, 2197, 2083, 2083, 2198,
1051  2198, 2199, 2083, 2083, 2083, 2083, 2200, 2083, 2083, 2201,
1052  2201, 2083, 2083, 2202, 2202, 2203, 2203, 2083, 2204, 2083,
1053  2083, 2205, 2205, 2206, 2083, 2083, 2083, 2083, 2207, 2207,
1054 
1055  2083, 2208, 2209, 2209, 2083, 2210, 2211, 2211, 2083, 2212,
1056  2212, 2083, 2083, 2213, 2213, 2214, 2083, 2083, 2215, 2216,
1057  2217, 2083, 2218, 2218, 2083, 2219, 2219, 2083, 2083, 2083,
1058  2083, 2220, 2083, 2083, 2083, 2221, 2221, 2083, 2083, 2083,
1059  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1060  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1061  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2222,
1062  2222, 2083, 2083, 2223, 2083, 2083, 2083, 2083, 2224, 2083,
1063  2083, 2225, 2226, 2227, 2227, 2083, 2083, 2083, 2083, 2083,
1064  2083, 2228, 2228, 2229, 2083, 2230, 2083, 2231, 2083, 2232,
1065 
1066  2083, 2083, 2233, 2083, 2234, 2234, 2083, 2083, 2083, 2083,
1067  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2235, 2235,
1068  2236, 2236, 2083, 2083, 2237, 2237, 2083, 2083, 2238, 2238,
1069  2083, 2083, 2083, 2083, 2083, 2239, 2240, 2240, 2241, 2083,
1070  2083, 2083, 2083, 2242, 2242, 2083, 2243, 2244, 2244, 2245,
1071  2083, 2083, 2083, 2246, 2247, 2247, 2083, 2248, 2248, 2083,
1072  2249, 2250, 2251, 2251, 2083, 2252, 2253, 2253, 2254, 2254,
1073  2255, 2255, 2083, 2083, 2083, 2083, 2256, 2083, 2257, 2257,
1074  2083, 2083, 2083, 2083, 2083, 2083, 2258, 2083, 2083, 2083,
1075  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1076 
1077  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1078  2083, 2083, 2083, 2083, 2083, 2083, 2083, 2259, 2259, 2260,
1079  2083, 2083, 2261, 2262, 2262, 2083, 2263, 2264, 2264, 2265,
1080  2265, 2083, 2083, 2266, 2083, 2267, 2083, 2268, 2268, 2269,
1081  2270, 2270, 2083, 2271, 2271, 2083, 2272, 2272, 2083, 2083,
1082  2273, 2273, 2083, 2083, 2083, 2274, 2083, 2083, 2083, 2083,
1083  2083, 2083, 2083, 2083, 2275, 2276, 2083, 2083, 2083, 2083,
1084  2277, 2083, 2083, 2083, 2083, 2278, 2278, 2279, 2279, 2280,
1085  2083, 2281, 2083, 2282, 2283, 2283, 2284, 2284, 2083, 2083,
1086  2083, 2285, 2285, 2083, 2083, 2286, 2286, 2287, 2287, 2083,
1087 
1088  2288, 2288, 2083, 2083, 2289, 2290, 2291, 2291, 2083, 2083,
1089  2292, 2083, 2293, 2083, 2083, 2294, 2294, 2083, 2083, 2295,
1090  2083, 2083, 2083, 2296, 2083, 2083, 2083, 2083, 2083, 2083,
1091  2083, 2297, 2298, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1092  2083, 2083, 2299, 2083, 2083, 2083, 2083, 2300, 2300, 2301,
1093  2083, 2302, 2302, 2303, 2304, 2304, 2083, 2083, 2305, 2305,
1094  2083, 2306, 2306, 2083, 2083, 2307, 2307, 2083, 2308, 2083,
1095  2083, 2083, 2083, 2083, 2309, 2309, 2083, 2310, 2083, 2083,
1096  2083, 2083, 2311, 2083, 2083, 2312, 2312, 2313, 2313, 2314,
1097  2083, 2083, 2083, 2315, 2315, 2083, 2083, 2083, 2083, 2316,
1098 
1099  2316, 2317, 2318, 2318, 2319, 2320, 2320, 2083, 2321, 2083,
1100  2083, 2322, 2083, 2083, 2083, 2323, 2323, 2324, 2324, 2083,
1101  2325, 2326, 2326, 2083, 2327, 2327, 2083, 2083, 2083, 2083,
1102  2328, 2328, 2329, 2083, 2330, 2331, 2331, 2083, 2083, 2332,
1103  2083, 2083, 2333, 2083, 2334, 2334, 2335, 2335, 2083, 2083,
1104  2083, 2083, 2083, 2336, 2083, 2083, 2083, 2337, 2337, 2083,
1105  2083, 2338, 2083, 2339, 2339, 2340, 2341, 2341, 2342, 2083,
1106  2343, 2083, 2083, 2083, 2083, 2344, 2344, 2083, 2083, 2345,
1107  2083, 2083, 2346, 2347, 2347, 2083, 2083, 2348, 2083, 2349,
1108  2349, 2083, 2083, 2350, 2350, 2083, 2351, 2352, 2353, 2083,
1109 
1110  2083, 2083, 2354, 2354, 2355, 2355, 2356, 2357, 2357, 2358,
1111  2083, 2359, 2359, 2083, 2360, 2083, 2361, 2362, 2362, 2363,
1112  2083, 2083, 2083, 2364, 2365, 2365, 2083, 2366, 2366, 2083,
1113  2083, 2367, 2367, 2083, 2083, 2368, 2368, 2083, 2083, 2083,
1114  2083, 2083, 2083, 2369, 2369, 2083, 2083, 2370, 2083, 2083,
1115  2371, 2371, 2372, 2373, 2373, 2342, 2342, 2083, 2343, 2343,
1116  2083, 2083, 2083, 2083, 2374, 2375, 2376, 2376, 2083, 2377,
1117  2378, 2378, 2379, 2380, 2381, 2381, 2382, 2083, 2083, 2083,
1118  2383, 2383, 2384, 2384, 2385, 2385, 2083, 2083, 2083, 2356,
1119  2356, 2358, 2358, 2386, 2083, 2360, 2360, 2387, 2361, 2361,
1120 
1121  2363, 2363, 2083, 2388, 2083, 2364, 2364, 2083, 2083, 2083,
1122  2389, 2390, 2083, 2083, 2083, 2083, 2083, 2083, 2083, 2083,
1123  2370, 2370, 2083, 2083, 2372, 2372, 2083, 2083, 2083, 2083,
1124  2391, 2374, 2374, 2375, 2375, 2392, 2377, 2377, 2379, 2379,
1125  2380, 2380, 2382, 2382, 2083, 2083, 2083, 2083, 2393, 2083,
1126  2386, 2386, 2083, 2387, 2387, 2394, 2388, 2388, 2395, 2083,
1127  2083, 2083, 2389, 2389, 2390, 2390, 2083, 2396, 2397, 2398,
1128  2399, 2083, 2400, 2401, 2083, 2083, 2083, 2083, 2402, 2083,
1129  2391, 2391, 2392, 2392, 2083, 2403, 2083, 2404, 2393, 2393,
1130  2405, 2083, 2394, 2394, 2395, 2395, 2083, 2406, 2083, 2083,
1131 
1132  2396, 2396, 2397, 2397, 2398, 2398, 2399, 2399, 2083, 2400,
1133  2400, 2401, 2401, 2083, 2083, 2083, 2083, 2402, 2402, 2083,
1134  2083, 2403, 2403, 2407, 2404, 2404, 2405, 2405, 2408, 2083,
1135  2406, 2406, 2083, 2083, 2083, 2083, 2083, 2083, 2409, 2083,
1136  2410, 2407, 2407, 2408, 2408, 2083, 2083, 2411, 2083, 2412,
1137  2413, 2414, 2409, 2409, 2415, 2410, 2410, 2416, 2417, 2411,
1138  2411, 2083, 2412, 2412, 2413, 2413, 2414, 2414, 2415, 2415,
1139  2416, 2416, 2417, 2417, 2418, 2418, 2418, 0, 2078, 2078,
1140  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1141  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1142 
1143  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1144  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1145  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1146  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1147  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1148  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1149  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1150  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1151  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1152  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1153 
1154  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1155  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1156  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1157  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1158  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1159  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1160  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1161  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1162  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1163  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1164 
1165  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1166  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1167  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1168  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1169  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1170  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1171  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1172  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1173  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1174  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1175 
1176  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1177  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078
1178  } ;
1179 
1180 static const flex_int16_t yy_nxt[3855] =
1181  { 0,
1182  2078, 48, 11, 12, 49, 134, 138, 141, 135, 139,
1183  142, 48, 134, 138, 49, 135, 139, 141, 294, 295,
1184  142, 339, 340, 294, 295, 484, 485, 495, 496, 339,
1185  340, 13, 10, 10, 11, 12, 10, 14, 15, 16,
1186  17, 18, 19, 20, 21, 22, 10, 23, 24, 25,
1187  26, 27, 28, 10, 29, 30, 31, 32, 33, 34,
1188  35, 36, 10, 13, 10, 14, 15, 16, 17, 18,
1189  19, 20, 21, 22, 10, 23, 24, 25, 26, 27,
1190  28, 10, 29, 30, 31, 32, 33, 34, 35, 36,
1191  10, 11, 11, 11, 11, 11, 11, 1815, 57, 39,
1192 
1193  85, 42, 1717, 125, 1719, 58, 484, 485, 59, 495,
1194  496, 887, 888, 887, 888, 1049, 1050, 1817, 72, 130,
1195  38, 38, 41, 41, 44, 44, 57, 39, 85, 42,
1196  50, 125, 73, 58, 65, 74, 59, 75, 66, 51,
1197  131, 52, 67, 53, 76, 54, 72, 55, 56, 1819,
1198  77, 1049, 1050, 1723, 68, 1820, 1726, 1824, 50, 1732,
1199  73, 1826, 65, 74, 1829, 75, 66, 51, 131, 52,
1200  67, 53, 76, 54, 136, 55, 56, 60, 77, 69,
1201  81, 123, 68, 106, 61, 78, 124, 107, 62, 70,
1202  82, 63, 91, 79, 1737, 83, 84, 64, 1833, 71,
1203 
1204  80, 1837, 136, 108, 140, 60, 92, 69, 81, 123,
1205  93, 106, 61, 78, 124, 107, 62, 70, 82, 63,
1206  91, 79, 94, 83, 84, 64, 95, 71, 80, 86,
1207  1746, 108, 140, 87, 92, 98, 96, 88, 93, 97,
1208  145, 146, 147, 89, 102, 1748, 1845, 99, 103, 90,
1209  94, 143, 104, 100, 95, 101, 148, 86, 105, 1848,
1210  150, 87, 498, 98, 96, 88, 1759, 97, 145, 146,
1211  147, 89, 102, 149, 144, 99, 103, 90, 151, 156,
1212  104, 100, 160, 101, 148, 684, 105, 109, 150, 110,
1213  126, 161, 127, 499, 128, 111, 112, 113, 129, 114,
1214 
1215  115, 149, 144, 154, 116, 117, 151, 156, 152, 162,
1216  160, 1852, 1853, 155, 165, 109, 685, 110, 126, 161,
1217  127, 153, 128, 111, 112, 113, 129, 114, 115, 163,
1218  164, 154, 116, 117, 118, 157, 152, 162, 119, 158,
1219  159, 155, 165, 166, 120, 167, 168, 121, 169, 153,
1220  170, 171, 172, 173, 122, 174, 175, 163, 164, 176,
1221  177, 178, 118, 157, 179, 181, 119, 158, 159, 185,
1222  186, 166, 120, 167, 168, 121, 169, 187, 170, 171,
1223  172, 173, 122, 174, 175, 188, 189, 176, 177, 178,
1224  190, 191, 179, 181, 182, 197, 183, 185, 186, 198,
1225 
1226  200, 1765, 201, 199, 202, 187, 1855, 204, 205, 206,
1227  1768, 208, 209, 188, 189, 210, 207, 211, 190, 191,
1228  212, 213, 182, 197, 183, 192, 214, 198, 200, 193,
1229  201, 199, 202, 217, 194, 204, 205, 206, 195, 208,
1230  209, 215, 196, 210, 207, 211, 218, 219, 212, 213,
1231  220, 221, 216, 192, 214, 222, 226, 193, 227, 223,
1232  234, 217, 194, 224, 1857, 235, 195, 236, 237, 215,
1233  196, 238, 231, 225, 218, 219, 232, 228, 220, 221,
1234  216, 239, 244, 222, 226, 229, 227, 223, 234, 233,
1235  1860, 224, 230, 235, 245, 236, 237, 246, 250, 238,
1236 
1237  231, 225, 255, 240, 232, 251, 241, 248, 258, 239,
1238  244, 242, 252, 229, 259, 249, 262, 233, 243, 263,
1239  230, 264, 245, 265, 266, 246, 250, 267, 268, 269,
1240  255, 240, 270, 251, 241, 248, 258, 271, 272, 242,
1241  252, 273, 259, 249, 262, 274, 243, 263, 276, 264,
1242  277, 265, 266, 278, 280, 267, 268, 269, 281, 285,
1243  270, 286, 287, 291, 292, 271, 272, 282, 293, 273,
1244  279, 298, 296, 274, 299, 283, 276, 300, 277, 288,
1245  303, 284, 280, 301, 304, 306, 309, 285, 297, 286,
1246  322, 291, 292, 289, 323, 282, 293, 324, 279, 298,
1247 
1248  311, 1777, 299, 283, 325, 300, 302, 288, 303, 284,
1249  326, 301, 304, 306, 309, 327, 297, 328, 322, 312,
1250  1865, 1866, 323, 1868, 329, 324, 330, 332, 311, 313,
1251  314, 315, 325, 336, 316, 337, 317, 338, 326, 341,
1252  318, 333, 334, 327, 342, 328, 349, 350, 319, 320,
1253  352, 321, 329, 335, 330, 332, 353, 313, 314, 315,
1254  354, 336, 316, 337, 317, 338, 1870, 341, 318, 333,
1255  334, 355, 342, 356, 349, 350, 319, 320, 352, 321,
1256  357, 335, 343, 358, 353, 344, 360, 345, 354, 361,
1257  363, 364, 362, 366, 346, 368, 369, 347, 370, 355,
1258 
1259  348, 356, 371, 372, 373, 376, 377, 1872, 357, 381,
1260  343, 358, 383, 344, 360, 345, 384, 361, 363, 364,
1261  362, 366, 346, 368, 369, 347, 370, 385, 348, 386,
1262  371, 372, 373, 376, 377, 378, 387, 381, 388, 379,
1263  383, 380, 389, 390, 384, 391, 392, 394, 398, 399,
1264  400, 403, 404, 405, 406, 385, 407, 386, 408, 410,
1265  412, 413, 416, 378, 387, 417, 388, 379, 418, 380,
1266  389, 390, 428, 391, 392, 394, 398, 399, 400, 403,
1267  404, 405, 406, 429, 407, 409, 408, 410, 412, 413,
1268  416, 432, 433, 417, 436, 437, 418, 420, 421, 438,
1269 
1270  428, 439, 440, 422, 443, 423, 444, 447, 448, 449,
1271  424, 429, 425, 426, 452, 427, 455, 456, 457, 432,
1272  433, 459, 436, 437, 460, 420, 421, 438, 461, 439,
1273  440, 422, 443, 423, 444, 447, 448, 449, 424, 462,
1274  425, 426, 452, 427, 455, 456, 457, 465, 466, 459,
1275  467, 468, 460, 470, 471, 472, 461, 473, 474, 476,
1276  469, 480, 482, 477, 483, 487, 489, 462, 490, 491,
1277  492, 475, 493, 494, 500, 465, 466, 478, 467, 468,
1278  501, 470, 471, 472, 1785, 473, 474, 476, 469, 480,
1279  482, 477, 483, 487, 489, 502, 490, 491, 492, 475,
1280 
1281  493, 494, 500, 504, 505, 478, 506, 507, 501, 510,
1282  511, 513, 503, 514, 515, 522, 508, 523, 524, 525,
1283  526, 527, 528, 502, 530, 531, 532, 534, 535, 536,
1284  529, 504, 505, 537, 506, 507, 538, 510, 511, 513,
1285  503, 514, 515, 522, 508, 523, 524, 525, 526, 527,
1286  528, 539, 530, 531, 532, 534, 535, 536, 529, 540,
1287  541, 537, 544, 546, 538, 547, 548, 550, 551, 552,
1288  553, 554, 555, 556, 557, 558, 564, 565, 566, 539,
1289  567, 569, 570, 571, 574, 575, 576, 540, 541, 577,
1290  544, 546, 578, 547, 548, 550, 551, 552, 553, 554,
1291 
1292  555, 556, 557, 558, 564, 565, 566, 579, 567, 569,
1293  570, 571, 574, 575, 576, 580, 582, 577, 584, 585,
1294  578, 586, 587, 588, 589, 590, 591, 592, 593, 594,
1295  595, 596, 597, 598, 599, 579, 583, 600, 601, 602,
1296  603, 604, 605, 580, 582, 610, 584, 585, 611, 586,
1297  587, 588, 589, 590, 591, 592, 593, 594, 595, 596,
1298  597, 598, 599, 612, 583, 600, 601, 602, 603, 604,
1299  605, 613, 615, 610, 616, 617, 611, 618, 619, 620,
1300  621, 622, 623, 624, 625, 626, 627, 628, 629, 630,
1301  631, 612, 632, 1873, 1874, 639, 643, 644, 645, 613,
1302 
1303  615, 646, 616, 617, 649, 618, 619, 620, 621, 622,
1304  623, 624, 625, 626, 627, 628, 629, 630, 631, 634,
1305  632, 635, 636, 639, 643, 644, 645, 657, 658, 646,
1306  659, 660, 649, 637, 1876, 1877, 661, 662, 663, 664,
1307  665, 666, 670, 671, 672, 674, 675, 634, 1791, 635,
1308  636, 679, 1795, 1882, 667, 657, 658, 680, 659, 660,
1309  683, 637, 650, 651, 661, 662, 663, 664, 665, 666,
1310  670, 671, 672, 674, 675, 676, 652, 686, 677, 679,
1311  653, 654, 667, 687, 688, 680, 689, 690, 683, 691,
1312  650, 651, 678, 693, 695, 696, 698, 700, 702, 1884,
1313 
1314  704, 705, 706, 676, 652, 686, 677, 709, 653, 654,
1315  712, 687, 688, 713, 689, 690, 714, 691, 715, 716,
1316  678, 693, 695, 696, 718, 700, 702, 699, 704, 705,
1317  706, 719, 720, 721, 723, 709, 724, 725, 712, 728,
1318  729, 713, 731, 732, 714, 730, 715, 716, 733, 735,
1319  736, 737, 718, 738, 739, 740, 734, 741, 742, 719,
1320  720, 721, 723, 743, 724, 725, 744, 728, 729, 745,
1321  731, 732, 746, 730, 747, 748, 733, 735, 736, 737,
1322  749, 738, 739, 740, 750, 741, 742, 751, 753, 754,
1323  755, 743, 759, 760, 744, 761, 764, 745, 765, 767,
1324 
1325  746, 770, 747, 748, 771, 772, 773, 774, 749, 775,
1326  776, 777, 750, 778, 779, 751, 753, 754, 755, 780,
1327  759, 760, 781, 761, 764, 782, 765, 767, 783, 770,
1328  784, 785, 771, 772, 773, 774, 786, 775, 776, 777,
1329  787, 778, 779, 788, 789, 791, 792, 780, 793, 794,
1330  781, 797, 800, 782, 790, 801, 783, 802, 784, 785,
1331  803, 808, 809, 810, 786, 815, 816, 811, 787, 817,
1332  813, 788, 789, 791, 792, 812, 793, 794, 814, 797,
1333  800, 818, 790, 801, 819, 802, 820, 822, 803, 808,
1334  809, 810, 823, 815, 816, 811, 824, 817, 813, 825,
1335 
1336  826, 828, 829, 812, 830, 831, 814, 832, 833, 818,
1337  834, 835, 819, 836, 820, 822, 837, 842, 838, 843,
1338  823, 845, 847, 848, 824, 851, 854, 825, 826, 828,
1339  829, 857, 830, 831, 855, 832, 833, 839, 834, 835,
1340  856, 836, 860, 861, 837, 842, 838, 843, 862, 845,
1341  847, 848, 863, 851, 854, 866, 867, 868, 871, 857,
1342  872, 873, 855, 877, 880, 881, 884, 889, 856, 890,
1343  860, 861, 891, 882, 892, 893, 862, 895, 896, 897,
1344  863, 898, 899, 866, 867, 868, 871, 902, 872, 873,
1345  903, 877, 880, 881, 884, 889, 906, 890, 907, 908,
1346 
1347  891, 909, 892, 893, 912, 895, 896, 897, 914, 898,
1348  899, 915, 917, 918, 919, 902, 922, 925, 903, 926,
1349  927, 928, 931, 932, 906, 933, 907, 908, 934, 909,
1350  916, 935, 912, 937, 938, 939, 914, 940, 941, 915,
1351  917, 918, 919, 942, 922, 925, 943, 926, 927, 928,
1352  931, 932, 944, 933, 945, 946, 934, 947, 916, 935,
1353  948, 937, 938, 939, 950, 940, 941, 951, 952, 953,
1354  954, 942, 955, 956, 943, 957, 958, 960, 961, 962,
1355  944, 963, 945, 946, 964, 947, 966, 967, 948, 968,
1356  970, 971, 950, 972, 975, 951, 952, 953, 954, 976,
1357 
1358  955, 956, 978, 957, 958, 960, 961, 962, 979, 963,
1359  981, 982, 964, 983, 966, 967, 987, 968, 970, 971,
1360  988, 972, 975, 990, 991, 992, 993, 976, 994, 996,
1361  978, 997, 998, 1092, 1016, 1019, 979, 1020, 981, 982,
1362  1022, 983, 999, 1886, 987, 1023, 1804, 1806, 988, 1891,
1363  1809, 990, 991, 992, 993, 1893, 994, 996, 1894, 997,
1364  998, 1000, 1016, 1019, 1093, 1020, 1813, 1897, 1022, 1898,
1365  999, 45, 45, 1023, 45, 45, 1001, 1002, 1003, 1004,
1366  1005, 1006, 1007, 1008, 1009, 45, 45, 1010, 1011, 45,
1367  45, 1012, 45, 45, 1013, 1014, 45, 45, 1015, 45,
1368 
1369  45, 45, 45, 45, 1001, 1002, 1003, 1004, 1005, 1006,
1370  1007, 1008, 1009, 45, 45, 1010, 1011, 45, 45, 1012,
1371  45, 45, 1013, 1014, 45, 45, 1015, 45, 45, 45,
1372  1024, 1025, 1026, 1027, 1028, 1029, 1032, 1033, 1034, 1035,
1373  1042, 1044, 1045, 1048, 1052, 1053, 1054, 1058, 1059, 1060,
1374  1061, 1066, 1070, 1071, 1072, 1073, 1075, 1900, 1024, 1025,
1375  1026, 1027, 1028, 1029, 1032, 1033, 1034, 1035, 1042, 1044,
1376  1045, 1048, 1052, 1053, 1054, 1058, 1059, 1060, 1061, 1066,
1377  1070, 1071, 1072, 1073, 1075, 1076, 1077, 1082, 1084, 1085,
1378  1087, 1088, 1089, 1090, 1091, 1094, 1096, 1097, 1098, 1099,
1379 
1380  1102, 1103, 1078, 1079, 1104, 1105, 1107, 1080, 1108, 1111,
1381  1112, 1113, 1114, 1076, 1077, 1082, 1084, 1085, 1087, 1088,
1382  1089, 1090, 1091, 1094, 1096, 1097, 1098, 1099, 1102, 1103,
1383  1078, 1079, 1104, 1105, 1107, 1080, 1108, 1111, 1112, 1113,
1384  1114, 1116, 1117, 1118, 1119, 1120, 1122, 1123, 1127, 1128,
1385  1129, 1134, 1135, 1139, 1140, 1141, 1146, 1147, 1150, 1156,
1386  1159, 1160, 1161, 1162, 1163, 1164, 1165, 1130, 1169, 1116,
1387  1117, 1118, 1119, 1120, 1122, 1123, 1127, 1128, 1170, 1134,
1388  1135, 1139, 1140, 1141, 1146, 1147, 1150, 1156, 1159, 1160,
1389  1161, 1162, 1163, 1164, 1165, 1130, 1169, 1171, 1172, 1173,
1390 
1391  1175, 1176, 1177, 1183, 1180, 1174, 1170, 1184, 1181, 1178,
1392  1188, 1185, 1186, 1189, 1190, 1191, 1179, 1182, 1819, 1187,
1393  1195, 1196, 1197, 1199, 1200, 1171, 1172, 1173, 1175, 1176,
1394  1177, 1183, 1180, 1174, 1203, 1184, 1181, 1178, 1188, 1185,
1395  1186, 1189, 1190, 1191, 1179, 1182, 1192, 1187, 1195, 1196,
1396  1197, 1199, 1200, 1193, 1204, 1205, 1206, 1207, 1208, 1209,
1397  1194, 1210, 1203, 1215, 1216, 1218, 1219, 1222, 1223, 1224,
1398  1225, 1227, 1228, 1231, 1192, 1232, 1233, 1234, 1235, 1236,
1399  1237, 1193, 1204, 1205, 1206, 1207, 1208, 1209, 1194, 1210,
1400  1238, 1215, 1216, 1218, 1219, 1222, 1223, 1224, 1225, 1227,
1401 
1402  1228, 1231, 1239, 1232, 1233, 1234, 1235, 1236, 1237, 1243,
1403  1244, 1245, 1246, 1251, 1248, 1254, 1257, 1258, 1238, 1249,
1404  1247, 1263, 1250, 1264, 1268, 1269, 1273, 1274, 1276, 1278,
1405  1239, 1279, 1282, 1283, 1288, 1290, 1291, 1243, 1244, 1245,
1406  1246, 1251, 1248, 1254, 1257, 1258, 1295, 1249, 1247, 1263,
1407  1250, 1264, 1268, 1269, 1273, 1274, 1276, 1278, 1296, 1279,
1408  1282, 1283, 1288, 1290, 1291, 1297, 1298, 1301, 1305, 1309,
1409  1312, 1313, 1316, 1318, 1295, 1902, 1322, 1325, 1328, 1329,
1410  1330, 1331, 1333, 1334, 1335, 1338, 1296, 1339, 1340, 1341,
1411  1342, 1343, 1344, 1297, 1298, 1301, 1305, 1309, 1312, 1313,
1412 
1413  1345, 1318, 1346, 1317, 1322, 1325, 1328, 1329, 1330, 1331,
1414  1333, 1334, 1335, 1338, 1347, 1339, 1340, 1341, 1342, 1343,
1415  1344, 1351, 1348, 1353, 1349, 1354, 1355, 1356, 1345, 1357,
1416  1346, 1350, 1358, 1359, 1360, 1361, 1352, 1362, 1363, 1364,
1417  1365, 1366, 1347, 1367, 1368, 1369, 1372, 1373, 1375, 1351,
1418  1348, 1353, 1349, 1354, 1355, 1356, 1376, 1357, 1377, 1350,
1419  1358, 1359, 1360, 1361, 1352, 1362, 1363, 1364, 1365, 1366,
1420  1378, 1367, 1368, 1369, 1372, 1373, 1375, 1380, 1381, 1386,
1421  1387, 1388, 1389, 1390, 1376, 1391, 1377, 1395, 1397, 1399,
1422  1401, 1402, 1404, 1408, 1409, 1410, 1411, 1412, 1378, 1413,
1423 
1424  1414, 1415, 1416, 1417, 1418, 1380, 1381, 1386, 1387, 1388,
1425  1389, 1390, 1423, 1391, 1424, 1395, 1397, 1399, 1401, 1402,
1426  1404, 1408, 1409, 1410, 1411, 1412, 1427, 1413, 1414, 1415,
1427  1416, 1417, 1418, 1428, 1431, 1432, 1433, 1440, 1441, 1442,
1428  1423, 1443, 1424, 1446, 1451, 1452, 1453, 1457, 1460, 1465,
1429  1473, 1474, 1475, 1434, 1427, 1476, 1478, 1435, 1481, 1482,
1430  1483, 1428, 1431, 1432, 1433, 1440, 1441, 1442, 1484, 1443,
1431  1485, 1446, 1451, 1452, 1453, 1457, 1460, 1465, 1473, 1474,
1432  1475, 1434, 1486, 1476, 1478, 1435, 1481, 1482, 1483, 1488,
1433  1489, 1490, 1491, 1492, 1493, 1494, 1484, 1495, 1485, 1496,
1434 
1435  1497, 1498, 1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506,
1436  1486, 1507, 1508, 1509, 1510, 1511, 1512, 1488, 1489, 1490,
1437  1491, 1492, 1493, 1494, 1513, 1495, 1514, 1496, 1497, 1498,
1438  1499, 1500, 1501, 1502, 1503, 1504, 1505, 1506, 1515, 1507,
1439  1508, 1509, 1510, 1511, 1512, 1516, 1517, 1521, 1522, 1526,
1440  1532, 1533, 1513, 1535, 1514, 1543, 1546, 1549, 1550, 1553,
1441  1554, 1555, 1557, 1558, 1559, 1560, 1515, 1561, 1562, 1563,
1442  1567, 1568, 1569, 1516, 1517, 1521, 1522, 1526, 1532, 1533,
1443  1570, 1535, 1572, 1543, 1546, 1549, 1550, 1553, 1554, 1555,
1444  1557, 1558, 1559, 1560, 1573, 1561, 1562, 1563, 1567, 1568,
1445 
1446  1569, 1575, 1574, 1581, 1583, 1589, 1590, 1591, 1570, 1594,
1447  1572, 1595, 1600, 1603, 1604, 1609, 1610, 1612, 1614, 1615,
1448  1618, 1619, 1573, 1621, 1622, 1623, 1625, 1626, 1627, 1575,
1449  1574, 1581, 1583, 1589, 1590, 1591, 1628, 1594, 1629, 1595,
1450  1600, 1603, 1604, 1609, 1610, 1612, 1614, 1615, 1618, 1619,
1451  1630, 1621, 1622, 1623, 1625, 1626, 1627, 1631, 1634, 1635,
1452  1636, 1637, 1639, 1640, 1628, 1641, 1629, 1642, 1645, 1646,
1453  1647, 1651, 1657, 1661, 1664, 1668, 1665, 1670, 1630, 1671,
1454  1672, 1673, 1674, 1677, 1679, 1631, 1634, 1635, 1636, 1637,
1455  1639, 1640, 1680, 1641, 1681, 1642, 1645, 1646, 1647, 1651,
1456 
1457  1657, 1661, 1664, 1668, 1665, 1670, 1682, 1671, 1672, 1673,
1458  1674, 1677, 1679, 1684, 1685, 1691, 1692, 1693, 1696, 1697,
1459  1680, 1698, 1681, 1699, 1708, 1710, 1711, 1713, 1714, 1715,
1460  1720, 1724, 1727, 1728, 1682, 1729, 1730, 1734, 1738, 1739,
1461  1741, 1684, 1685, 1691, 1692, 1693, 1696, 1697, 1742, 1698,
1462  1744, 1699, 1708, 1710, 1711, 1713, 1714, 1715, 1720, 1724,
1463  1727, 1728, 1749, 1729, 1730, 1734, 1738, 1739, 1741, 1750,
1464  1751, 1752, 1753, 1755, 1756, 1757, 1742, 1760, 1744, 1761,
1465  1763, 1770, 1771, 1773, 1774, 1904, 1775, 1778, 1779, 1781,
1466  1749, 1782, 1786, 1787, 1789, 1792, 1793, 1750, 1751, 1752,
1467 
1468  1753, 1755, 1756, 1757, 1796, 1760, 1800, 1761, 1763, 1770,
1469  1801, 1773, 1774, 1772, 1775, 1778, 1779, 1781, 1802, 1782,
1470  1786, 1787, 1789, 1792, 1793, 1811, 1814, 1816, 1821, 1822,
1471  1823, 1827, 1796, 1830, 1800, 1831, 1834, 1835, 1801, 1838,
1472  1839, 1840, 1841, 1842, 1843, 1846, 1802, 1847, 1849, 1850,
1473  1858, 1861, 1862, 1811, 1814, 1816, 1821, 1822, 1823, 1827,
1474  1863, 1830, 1864, 1831, 1834, 1835, 1869, 1838, 1839, 1840,
1475  1841, 1842, 1843, 1846, 1878, 1847, 1849, 1850, 1858, 1861,
1476  1862, 1879, 1880, 1887, 1888, 1889, 1895, 1903, 1863, 1905,
1477  1864, 1907, 1826, 1908, 1869, 1829, 1909, 1910, 1833, 1911,
1478 
1479  1912, 1837, 1878, 1913, 1914, 1915, 1916, 1917, 1918, 1879,
1480  1880, 1887, 1888, 1889, 1895, 1903, 1845, 1905, 1919, 1920,
1481  1922, 1908, 1923, 1924, 1909, 1910, 1852, 1926, 1855, 1857,
1482  1927, 1913, 1914, 1915, 1916, 1917, 1918, 1860, 1928, 1929,
1483  1930, 1931, 1933, 1935, 1868, 1936, 1919, 1920, 1938, 1872,
1484  1923, 1924, 1940, 1942, 1876, 1944, 1945, 1946, 1947, 1882,
1485  1884, 1886, 1948, 1949, 1950, 1891, 1928, 1929, 1930, 1893,
1486  1952, 1953, 1897, 1955, 1900, 1902, 1956, 1958, 1959, 1907,
1487  1960, 1961, 1962, 1964, 1945, 1946, 1947, 1966, 1967, 1968,
1488  1948, 1969, 1950, 1970, 1971, 1972, 1973, 1974, 1922, 1953,
1489 
1490  1975, 1976, 1926, 1977, 1978, 1979, 1980, 1982, 1960, 1961,
1491  1962, 1933, 1935, 1984, 1938, 1940, 1967, 1942, 1944, 1985,
1492  1986, 1987, 1988, 1972, 1990, 1991, 1952, 1992, 1975, 1976,
1493  1955, 1977, 1978, 1994, 1980, 1958, 1996, 1997, 1998, 1999,
1494  1964, 1966, 2000, 2002, 2004, 2006, 2008, 1985, 2009, 1987,
1495  2011, 2013, 2014, 2015, 2016, 1992, 2017, 2019, 2020, 1982,
1496  1984, 2021, 2023, 2024, 2026, 1997, 1990, 1999, 2028, 2029,
1497  2000, 1994, 1996, 2030, 2032, 2033, 2009, 2034, 2002, 2004,
1498  2014, 2015, 2016, 2006, 2017, 2008, 2020, 2035, 2011, 2021,
1499  2013, 2036, 2037, 2038, 2039, 2019, 2040, 2041, 2023, 2043,
1500 
1501  2026, 2030, 2028, 2033, 2045, 2034, 2046, 2032, 2047, 2048,
1502  2049, 2050, 2051, 2052, 2054, 2035, 2055, 2057, 2043, 2036,
1503  2037, 2038, 2045, 2058, 2040, 2059, 2061, 2062, 2064, 2066,
1504  2068, 2054, 2070, 2057, 2046, 2072, 2047, 2074, 2049, 2061,
1505  2075, 2064, 2066, 2068, 2070, 2072, 2074, 2077, 2077, 45,
1506  133, 137, 253, 256, 260, 2062, 10, 10, 37, 37,
1507  40, 40, 43, 43, 46, 46, 307, 374, 396, 430,
1508  434, 441, 445, 450, 463, 519, 542, 560, 562, 572,
1509  581, 606, 608, 640, 655, 668, 681, 710, 726, 768,
1510  795, 798, 804, 806, 840, 849, 852, 858, 864, 869,
1511 
1512  878, 885, 920, 923, 929, 984, 1017, 1036, 1038, 1040,
1513  1046, 1055, 1062, 1064, 1068, 1100, 1124, 1132, 1137, 1142,
1514  1144, 1148, 1152, 1157, 1167, 1201, 1211, 1213, 1220, 1229,
1515  1241, 1252, 1255, 1259, 1266, 1270, 1280, 1284, 1286, 1292,
1516  1299, 1124, 1303, 1307, 1310, 1132, 1314, 1137, 1142, 1144,
1517  1148, 1323, 1152, 1326, 1157, 1336, 1167, 1370, 1201, 1211,
1518  1213, 1384, 1220, 1392, 1229, 1405, 1241, 1252, 1255, 1259,
1519  1419, 1421, 1425, 1266, 1270, 1429, 1437, 1280, 1284, 1286,
1520  1444, 1292, 1448, 1299, 1455, 1303, 1458, 1307, 1310, 1314,
1521  1463, 1467, 1469, 1471, 1323, 1326, 1479, 1336, 1370, 1518,
1522 
1523  1524, 1528, 1530, 1384, 1392, 1538, 1541, 1544, 1547, 1551,
1524  1405, 1419, 1421, 1425, 1429, 1576, 1437, 1578, 1444, 1585,
1525  1448, 1587, 1592, 1455, 1458, 1596, 1598, 1463, 1601, 1467,
1526  1469, 1471, 1607, 1479, 1616, 1518, 1648, 1652, 1524, 1655,
1527  1528, 1530, 1659, 1662, 1538, 1666, 1541, 1544, 1547, 1551,
1528  1675, 1686, 1688, 1694, 1576, 1578, 1700, 1703, 1706, 1585,
1529  1587, 1592, 1596, 1598, 1601, 1716, 1718, 1607, 1722, 1725,
1530  1616, 1731, 1736, 1745, 1747, 1758, 1648, 1764, 1652, 1767,
1531  1655, 1659, 1662, 1666, 1776, 1675, 1784, 1790, 1686, 1688,
1532  1794, 1694, 1700, 1803, 1703, 1805, 1706, 1808, 1812, 1716,
1533 
1534  1718, 1818, 1722, 1725, 1731, 1825, 1828, 1736, 1832, 1836,
1535  1745, 1747, 1844, 1758, 1851, 1764, 1854, 1767, 1856, 1859,
1536  1776, 1867, 1871, 1784, 1875, 1790, 1794, 1881, 1883, 1885,
1537  1803, 1805, 1890, 1808, 1892, 1812, 1896, 1899, 1818, 1901,
1538  1906, 1825, 1828, 1832, 1836, 1844, 1921, 1851, 1925, 1854,
1539  1932, 1934, 1867, 1937, 1871, 1939, 1941, 1875, 1943, 1881,
1540  1883, 1885, 1951, 1954, 1957, 1963, 1965, 1981, 1983, 1989,
1541  1993, 1995, 2001, 2003, 2005, 2007, 2010, 2012, 2018, 2022,
1542  2025, 2027, 2031, 2042, 2044, 2053, 2056, 2060, 2063, 2065,
1543  2067, 2069, 2071, 2073, 2076, 1813, 1810, 1809, 1807, 1707,
1544 
1545  1806, 1704, 1804, 1701, 1799, 1695, 1798, 1797, 1795, 1689,
1546  1687, 1791, 1788, 1785, 1783, 1676, 1780, 1777, 1667, 1663,
1547  1660, 1769, 1656, 1768, 1653, 1766, 1765, 1649, 1762, 1759,
1548  1754, 1748, 1746, 1743, 1740, 1737, 1735, 1733, 1732, 1617,
1549  1726, 1723, 1721, 1608, 1719, 1717, 1602, 1599, 1597, 1712,
1550  1593, 1709, 1588, 1586, 1707, 1705, 1704, 1702, 1701, 1579,
1551  1577, 1695, 1690, 1689, 1687, 1683, 1678, 1676, 1552, 1548,
1552  1669, 1545, 1542, 1667, 1539, 1663, 1660, 1658, 1531, 1529,
1553  1656, 1654, 1525, 1653, 1650, 1649, 1519, 1644, 1643, 1638,
1554  1633, 1632, 1624, 1620, 1617, 1613, 1611, 1480, 1608, 1606,
1555 
1556  1605, 1472, 1470, 1468, 1602, 1464, 1599, 1597, 1459, 1456,
1557  1593, 1588, 1449, 1586, 1584, 1445, 1582, 1580, 1579, 1438,
1558  1577, 1571, 1430, 1426, 1566, 1422, 1420, 1565, 1564, 1556,
1559  1406, 1552, 1548, 1545, 1542, 1540, 1539, 1393, 1537, 1536,
1560  1534, 1385, 1531, 1529, 1527, 1525, 1523, 1520, 1519, 1371,
1561  1487, 1337, 1480, 1477, 1327, 1324, 1472, 1470, 1468, 1466,
1562  1464, 1315, 1462, 1461, 1311, 1308, 1459, 1304, 1456, 1454,
1563  1300, 1450, 1449, 1293, 1447, 1445, 1287, 1285, 1281, 1439,
1564  1438, 1436, 1430, 1271, 1267, 1426, 1422, 1420, 1260, 1256,
1565  1253, 1407, 1242, 1406, 1403, 1400, 1398, 1396, 1230, 1394,
1566 
1567  1393, 1221, 1385, 1383, 1382, 1214, 1212, 1379, 1374, 1202,
1568  1371, 1168, 1337, 1332, 1158, 1327, 1153, 1324, 1149, 1321,
1569  1320, 1145, 1143, 1319, 1138, 1315, 1133, 1311, 1308, 1306,
1570  1304, 1125, 1302, 1300, 1294, 1293, 1289, 1287, 1285, 1281,
1571  1277, 1101, 1275, 1272, 1271, 1267, 1265, 1262, 1261, 1260,
1572  1256, 1253, 1242, 1240, 1069, 1065, 1063, 1230, 1056, 1226,
1573  1047, 1221, 1041, 1039, 1037, 1217, 1214, 1212, 1202, 1018,
1574  1198, 1168, 1166, 1158, 985, 1155, 1154, 1153, 1151, 1149,
1575  1145, 1143, 1138, 1136, 1133, 1131, 1126, 1125, 1121, 1115,
1576  1110, 1109, 1106, 1101, 1095, 930, 924, 921, 1086, 1083,
1577 
1578  1081, 1074, 1069, 1067, 1065, 1063, 1057, 1056, 1051, 886,
1579  1047, 1043, 879, 1041, 1039, 1037, 870, 1031, 1030, 865,
1580  859, 853, 1021, 850, 1018, 841, 995, 989, 986, 985,
1581  980, 977, 974, 973, 969, 965, 807, 805, 799, 796,
1582  959, 949, 936, 769, 930, 924, 921, 913, 911, 910,
1583  905, 904, 901, 900, 894, 727, 886, 883, 879, 876,
1584  875, 874, 711, 870, 865, 859, 853, 850, 846, 844,
1585  841, 682, 827, 669, 821, 656, 807, 805, 799, 641,
1586  796, 769, 766, 609, 607, 763, 762, 758, 757, 756,
1587  752, 573, 727, 722, 563, 561, 717, 711, 708, 707,
1588 
1589  543, 703, 701, 697, 694, 692, 682, 520, 673, 669,
1590  656, 648, 647, 642, 641, 638, 633, 464, 614, 609,
1591  607, 451, 446, 442, 435, 431, 573, 568, 563, 561,
1592  559, 397, 549, 545, 543, 375, 533, 521, 520, 518,
1593  517, 516, 512, 509, 497, 488, 486, 481, 479, 464,
1594  308, 458, 454, 453, 451, 446, 442, 435, 431, 419,
1595  415, 414, 411, 261, 257, 254, 402, 401, 397, 395,
1596  393, 382, 375, 367, 365, 359, 351, 331, 310, 308,
1597  305, 290, 275, 261, 257, 254, 247, 203, 184, 180,
1598  47, 132, 47, 2078, 9, 2078, 2078, 2078, 2078, 2078,
1599 
1600  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1601  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1602  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1603  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1604  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
1605  2078, 2078, 2078, 2078
1606  } ;
1607 
1608 static const flex_int16_t yy_chk[3855] =
1609  { 0,
1610  0, 13, 1, 1, 13, 38, 41, 44, 38, 41,
1611  44, 48, 134, 138, 48, 134, 138, 141, 170, 170,
1612  141, 200, 200, 294, 294, 327, 327, 337, 337, 339,
1613  339, 1, 2, 2, 2, 2, 2, 2, 2, 2,
1614  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1615  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1616  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1617  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1618  2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1619  2, 3, 4, 5, 6, 7, 8, 1714, 15, 4,
1620 
1621  23, 6, 1717, 33, 1719, 15, 484, 484, 15, 495,
1622  495, 723, 723, 887, 887, 889, 889, 1720, 19, 35,
1623  3, 4, 5, 6, 7, 8, 15, 4, 23, 6,
1624  14, 33, 19, 15, 17, 19, 15, 20, 17, 14,
1625  35, 14, 17, 14, 20, 14, 19, 14, 14, 1721,
1626  20, 1049, 1049, 1723, 17, 1724, 1726, 1730, 14, 1732,
1627  19, 1733, 17, 19, 1735, 20, 17, 14, 35, 14,
1628  17, 14, 20, 14, 39, 14, 14, 16, 20, 18,
1629  22, 32, 17, 29, 16, 21, 32, 29, 16, 18,
1630  22, 16, 25, 21, 1737, 22, 22, 16, 1740, 18,
1631 
1632  21, 1743, 39, 29, 42, 16, 25, 18, 22, 32,
1633  25, 29, 16, 21, 32, 29, 16, 18, 22, 16,
1634  25, 21, 26, 22, 22, 16, 26, 18, 21, 24,
1635  1746, 29, 42, 24, 25, 27, 26, 24, 25, 26,
1636  51, 52, 53, 24, 28, 1748, 1754, 27, 28, 24,
1637  26, 50, 28, 27, 26, 27, 54, 24, 28, 1757,
1638  55, 24, 341, 27, 26, 24, 1759, 26, 51, 52,
1639  53, 24, 28, 54, 50, 27, 28, 24, 56, 59,
1640  28, 27, 61, 27, 54, 523, 28, 30, 55, 30,
1641  34, 62, 34, 341, 34, 30, 30, 30, 34, 30,
1642 
1643  30, 54, 50, 58, 30, 30, 56, 59, 57, 63,
1644  61, 1762, 1763, 58, 65, 30, 523, 30, 34, 62,
1645  34, 57, 34, 30, 30, 30, 34, 30, 30, 64,
1646  64, 58, 30, 30, 31, 60, 57, 63, 31, 60,
1647  60, 58, 65, 66, 31, 67, 68, 31, 69, 57,
1648  70, 71, 72, 73, 31, 74, 75, 64, 64, 76,
1649  77, 78, 31, 60, 79, 81, 31, 60, 60, 84,
1650  85, 66, 31, 67, 68, 31, 69, 86, 70, 71,
1651  72, 73, 31, 74, 75, 87, 88, 76, 77, 78,
1652  89, 90, 79, 81, 82, 92, 82, 84, 85, 92,
1653 
1654  93, 1765, 94, 92, 95, 86, 1766, 97, 98, 99,
1655  1768, 100, 101, 87, 88, 102, 99, 102, 89, 90,
1656  103, 104, 82, 92, 82, 91, 105, 92, 93, 91,
1657  94, 92, 95, 107, 91, 97, 98, 99, 91, 100,
1658  101, 106, 91, 102, 99, 102, 107, 108, 103, 104,
1659  109, 110, 106, 91, 105, 111, 113, 91, 114, 112,
1660  117, 107, 91, 112, 1769, 118, 91, 119, 120, 106,
1661  91, 121, 116, 112, 107, 108, 116, 115, 109, 110,
1662  106, 122, 124, 111, 113, 115, 114, 112, 117, 116,
1663  1771, 112, 115, 118, 125, 119, 120, 126, 129, 121,
1664 
1665  116, 112, 131, 123, 116, 129, 123, 128, 136, 122,
1666  124, 123, 129, 115, 140, 128, 144, 116, 123, 145,
1667  115, 146, 125, 147, 148, 126, 129, 149, 150, 151,
1668  131, 123, 152, 129, 123, 128, 136, 153, 154, 123,
1669  129, 155, 140, 128, 144, 156, 123, 145, 158, 146,
1670  159, 147, 148, 160, 161, 149, 150, 151, 162, 163,
1671  152, 164, 165, 167, 168, 153, 154, 162, 169, 155,
1672  160, 172, 171, 156, 173, 162, 158, 174, 159, 165,
1673  176, 162, 161, 175, 177, 179, 181, 163, 171, 164,
1674  185, 167, 168, 165, 186, 162, 169, 187, 160, 172,
1675 
1676  183, 1777, 173, 162, 188, 174, 175, 165, 176, 162,
1677  189, 175, 177, 179, 181, 190, 171, 191, 185, 183,
1678  1778, 1779, 186, 1780, 192, 187, 193, 195, 183, 184,
1679  184, 184, 188, 197, 184, 198, 184, 199, 189, 201,
1680  184, 196, 196, 190, 202, 191, 204, 205, 184, 184,
1681  207, 184, 192, 196, 193, 195, 208, 184, 184, 184,
1682  209, 197, 184, 198, 184, 199, 1782, 201, 184, 196,
1683  196, 210, 202, 211, 204, 205, 184, 184, 207, 184,
1684  212, 196, 203, 213, 208, 203, 215, 203, 209, 216,
1685  217, 218, 216, 220, 203, 222, 223, 203, 224, 210,
1686 
1687  203, 211, 225, 226, 227, 229, 230, 1783, 212, 232,
1688  203, 213, 234, 203, 215, 203, 235, 216, 217, 218,
1689  216, 220, 203, 222, 223, 203, 224, 236, 203, 237,
1690  225, 226, 227, 229, 230, 231, 238, 232, 239, 231,
1691  234, 231, 240, 241, 235, 242, 243, 245, 248, 249,
1692  250, 255, 258, 259, 262, 236, 263, 237, 264, 265,
1693  267, 268, 271, 231, 238, 272, 239, 231, 273, 231,
1694  240, 241, 276, 242, 243, 245, 248, 249, 250, 255,
1695  258, 259, 262, 277, 263, 264, 264, 265, 267, 268,
1696  271, 279, 280, 272, 282, 283, 273, 275, 275, 284,
1697 
1698  276, 285, 286, 275, 288, 275, 289, 291, 292, 293,
1699  275, 277, 275, 275, 297, 275, 300, 301, 302, 279,
1700  280, 304, 282, 283, 305, 275, 275, 284, 306, 285,
1701  286, 275, 288, 275, 289, 291, 292, 293, 275, 309,
1702  275, 275, 297, 275, 300, 301, 302, 311, 312, 304,
1703  313, 314, 305, 315, 316, 317, 306, 318, 319, 320,
1704  314, 323, 325, 321, 326, 329, 331, 309, 332, 333,
1705  334, 319, 335, 336, 342, 311, 312, 321, 313, 314,
1706  343, 315, 316, 317, 1785, 318, 319, 320, 314, 323,
1707  325, 321, 326, 329, 331, 344, 332, 333, 334, 319,
1708 
1709  335, 336, 342, 345, 346, 321, 347, 348, 343, 350,
1710  351, 353, 344, 354, 355, 361, 348, 362, 363, 364,
1711  365, 366, 367, 344, 368, 369, 370, 372, 373, 376,
1712  367, 345, 346, 377, 347, 348, 378, 350, 351, 353,
1713  344, 354, 355, 361, 348, 362, 363, 364, 365, 366,
1714  367, 379, 368, 369, 370, 372, 373, 376, 367, 380,
1715  381, 377, 383, 385, 378, 386, 387, 389, 390, 391,
1716  392, 393, 394, 395, 398, 399, 403, 404, 405, 379,
1717  406, 408, 409, 410, 412, 413, 414, 380, 381, 415,
1718  383, 385, 416, 386, 387, 389, 390, 391, 392, 393,
1719 
1720  394, 395, 398, 399, 403, 404, 405, 417, 406, 408,
1721  409, 410, 412, 413, 414, 418, 420, 415, 421, 422,
1722  416, 423, 424, 425, 426, 427, 428, 429, 432, 433,
1723  436, 437, 438, 439, 440, 417, 420, 443, 444, 447,
1724  448, 449, 452, 418, 420, 455, 421, 422, 456, 423,
1725  424, 425, 426, 427, 428, 429, 432, 433, 436, 437,
1726  438, 439, 440, 457, 420, 443, 444, 447, 448, 449,
1727  452, 458, 460, 455, 461, 462, 456, 465, 466, 467,
1728  468, 469, 470, 471, 472, 473, 474, 475, 476, 477,
1729  478, 457, 479, 1786, 1787, 483, 488, 489, 490, 458,
1730 
1731  460, 491, 461, 462, 494, 465, 466, 467, 468, 469,
1732  470, 471, 472, 473, 474, 475, 476, 477, 478, 481,
1733  479, 481, 481, 483, 488, 489, 490, 499, 500, 491,
1734  501, 502, 494, 481, 1788, 1789, 503, 504, 505, 506,
1735  507, 508, 510, 511, 512, 514, 515, 481, 1791, 481,
1736  481, 517, 1795, 1797, 508, 499, 500, 518, 501, 502,
1737  522, 481, 497, 497, 503, 504, 505, 506, 507, 508,
1738  510, 511, 512, 514, 515, 516, 497, 524, 516, 517,
1739  497, 497, 508, 525, 526, 518, 527, 528, 522, 529,
1740  497, 497, 516, 531, 533, 534, 536, 537, 539, 1798,
1741 
1742  541, 544, 545, 516, 497, 524, 516, 548, 497, 497,
1743  550, 525, 526, 551, 527, 528, 552, 529, 553, 554,
1744  516, 531, 533, 534, 556, 537, 539, 536, 541, 544,
1745  545, 557, 558, 559, 565, 548, 566, 567, 550, 569,
1746  570, 551, 571, 574, 552, 570, 553, 554, 575, 576,
1747  577, 578, 556, 579, 580, 582, 575, 583, 584, 557,
1748  558, 559, 565, 585, 566, 567, 586, 569, 570, 587,
1749  571, 574, 588, 570, 589, 590, 575, 576, 577, 578,
1750  591, 579, 580, 582, 592, 583, 584, 593, 595, 596,
1751  597, 585, 601, 602, 586, 603, 610, 587, 611, 613,
1752 
1753  588, 615, 589, 590, 616, 617, 618, 619, 591, 620,
1754  621, 622, 592, 623, 624, 593, 595, 596, 597, 625,
1755  601, 602, 626, 603, 610, 627, 611, 613, 628, 615,
1756  629, 630, 616, 617, 618, 619, 631, 620, 621, 622,
1757  632, 623, 624, 633, 633, 634, 635, 625, 636, 637,
1758  626, 639, 643, 627, 633, 644, 628, 645, 629, 630,
1759  646, 649, 650, 651, 631, 654, 657, 652, 632, 658,
1760  653, 633, 633, 634, 635, 652, 636, 637, 653, 639,
1761  643, 659, 633, 644, 660, 645, 661, 663, 646, 649,
1762  650, 651, 664, 654, 657, 652, 665, 658, 653, 666,
1763 
1764  667, 671, 672, 652, 673, 674, 653, 675, 676, 659,
1765  677, 678, 660, 679, 661, 663, 680, 685, 683, 686,
1766  664, 688, 690, 691, 665, 693, 695, 666, 667, 671,
1767  672, 697, 673, 674, 696, 675, 676, 683, 677, 678,
1768  696, 679, 699, 700, 680, 685, 683, 686, 701, 688,
1769  690, 691, 702, 693, 695, 704, 705, 706, 708, 697,
1770  709, 712, 696, 716, 718, 719, 721, 724, 696, 725,
1771  699, 700, 728, 719, 729, 730, 701, 732, 733, 734,
1772  702, 735, 736, 704, 705, 706, 708, 739, 709, 712,
1773  740, 716, 718, 719, 721, 724, 743, 725, 744, 745,
1774 
1775  728, 746, 729, 730, 749, 732, 733, 734, 751, 735,
1776  736, 752, 753, 754, 755, 739, 757, 759, 740, 760,
1777  761, 762, 764, 765, 743, 766, 744, 745, 767, 746,
1778  752, 770, 749, 772, 773, 774, 751, 775, 776, 752,
1779  753, 754, 755, 777, 757, 759, 778, 760, 761, 762,
1780  764, 765, 779, 766, 780, 781, 767, 782, 752, 770,
1781  783, 772, 773, 774, 785, 775, 776, 786, 787, 788,
1782  789, 777, 790, 791, 778, 792, 793, 797, 800, 801,
1783  779, 802, 780, 781, 803, 782, 809, 810, 783, 811,
1784  813, 814, 785, 815, 818, 786, 787, 788, 789, 819,
1785 
1786  790, 791, 821, 792, 793, 797, 800, 801, 822, 802,
1787  824, 825, 803, 826, 809, 810, 829, 811, 813, 814,
1788  830, 815, 818, 832, 833, 834, 835, 819, 836, 838,
1789  821, 839, 842, 927, 845, 847, 822, 848, 824, 825,
1790  854, 826, 843, 1799, 829, 855, 1804, 1806, 830, 1807,
1791  1809, 832, 833, 834, 835, 1810, 836, 838, 1811, 839,
1792  842, 843, 845, 847, 927, 848, 1813, 1815, 854, 1816,
1793  843, 844, 844, 855, 844, 844, 844, 844, 844, 844,
1794  844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
1795  844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
1796 
1797  844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
1798  844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
1799  844, 844, 844, 844, 844, 844, 844, 844, 844, 844,
1800  856, 857, 860, 861, 862, 863, 868, 871, 872, 873,
1801  877, 881, 882, 884, 891, 892, 893, 896, 897, 898,
1802  899, 902, 905, 906, 907, 908, 910, 1817, 856, 857,
1803  860, 861, 862, 863, 868, 871, 872, 873, 877, 881,
1804  882, 884, 891, 892, 893, 896, 897, 898, 899, 902,
1805  905, 906, 907, 908, 910, 911, 911, 913, 915, 916,
1806  918, 919, 922, 925, 926, 928, 932, 933, 934, 935,
1807 
1808  937, 938, 911, 911, 939, 940, 942, 911, 943, 946,
1809  947, 948, 949, 911, 911, 913, 915, 916, 918, 919,
1810  922, 925, 926, 928, 932, 933, 934, 935, 937, 938,
1811  911, 911, 939, 940, 942, 911, 943, 946, 947, 948,
1812  949, 951, 952, 953, 954, 955, 957, 958, 961, 962,
1813  963, 966, 967, 970, 971, 972, 975, 976, 978, 983,
1814  987, 988, 989, 990, 991, 992, 993, 963, 996, 951,
1815  952, 953, 954, 955, 957, 958, 961, 962, 997, 966,
1816  967, 970, 971, 972, 975, 976, 978, 983, 987, 988,
1817  989, 990, 991, 992, 993, 963, 996, 998, 999, 1000,
1818 
1819  1001, 1002, 1003, 1005, 1004, 1000, 997, 1006, 1004, 1003,
1820  1008, 1006, 1007, 1009, 1010, 1011, 1003, 1004, 1819, 1007,
1821  1013, 1014, 1015, 1019, 1020, 998, 999, 1000, 1001, 1002,
1822  1003, 1005, 1004, 1000, 1022, 1006, 1004, 1003, 1008, 1006,
1823  1007, 1009, 1010, 1011, 1003, 1004, 1012, 1007, 1013, 1014,
1824  1015, 1019, 1020, 1012, 1023, 1024, 1025, 1026, 1027, 1028,
1825  1012, 1029, 1022, 1032, 1033, 1035, 1042, 1044, 1045, 1048,
1826  1051, 1053, 1054, 1058, 1012, 1059, 1060, 1061, 1066, 1067,
1827  1070, 1012, 1023, 1024, 1025, 1026, 1027, 1028, 1012, 1029,
1828  1071, 1032, 1033, 1035, 1042, 1044, 1045, 1048, 1051, 1053,
1829 
1830  1054, 1058, 1072, 1059, 1060, 1061, 1066, 1067, 1070, 1075,
1831  1076, 1077, 1078, 1080, 1079, 1082, 1084, 1085, 1071, 1079,
1832  1078, 1089, 1079, 1090, 1093, 1094, 1097, 1098, 1102, 1104,
1833  1072, 1105, 1107, 1108, 1111, 1113, 1114, 1075, 1076, 1077,
1834  1078, 1080, 1079, 1082, 1084, 1085, 1117, 1079, 1078, 1089,
1835  1079, 1090, 1093, 1094, 1097, 1098, 1102, 1104, 1118, 1105,
1836  1107, 1108, 1111, 1113, 1114, 1119, 1120, 1122, 1127, 1130,
1837  1134, 1135, 1139, 1140, 1117, 1820, 1150, 1154, 1156, 1159,
1838  1160, 1161, 1163, 1164, 1165, 1169, 1118, 1170, 1171, 1172,
1839  1173, 1174, 1175, 1119, 1120, 1122, 1127, 1130, 1134, 1135,
1840 
1841  1176, 1140, 1177, 1139, 1150, 1154, 1156, 1159, 1160, 1161,
1842  1163, 1164, 1165, 1169, 1178, 1170, 1171, 1172, 1173, 1174,
1843  1175, 1180, 1179, 1181, 1179, 1182, 1183, 1184, 1176, 1185,
1844  1177, 1179, 1186, 1187, 1188, 1189, 1180, 1190, 1191, 1192,
1845  1193, 1194, 1178, 1195, 1196, 1197, 1199, 1200, 1204, 1180,
1846  1179, 1181, 1179, 1182, 1183, 1184, 1205, 1185, 1206, 1179,
1847  1186, 1187, 1188, 1189, 1180, 1190, 1191, 1192, 1193, 1194,
1848  1207, 1195, 1196, 1197, 1199, 1200, 1204, 1209, 1210, 1218,
1849  1219, 1222, 1223, 1224, 1205, 1225, 1206, 1228, 1232, 1234,
1850  1236, 1237, 1239, 1244, 1245, 1246, 1247, 1248, 1207, 1249,
1851 
1852  1250, 1251, 1254, 1257, 1258, 1209, 1210, 1218, 1219, 1222,
1853  1223, 1224, 1263, 1225, 1264, 1228, 1232, 1234, 1236, 1237,
1854  1239, 1244, 1245, 1246, 1247, 1248, 1268, 1249, 1250, 1251,
1855  1254, 1257, 1258, 1269, 1273, 1274, 1275, 1279, 1282, 1283,
1856  1263, 1288, 1264, 1290, 1296, 1297, 1298, 1305, 1309, 1317,
1857  1322, 1325, 1328, 1275, 1268, 1329, 1331, 1275, 1333, 1334,
1858  1335, 1269, 1273, 1274, 1275, 1279, 1282, 1283, 1338, 1288,
1859  1339, 1290, 1296, 1297, 1298, 1305, 1309, 1317, 1322, 1325,
1860  1328, 1275, 1340, 1329, 1331, 1275, 1333, 1334, 1335, 1342,
1861  1343, 1344, 1345, 1346, 1347, 1348, 1338, 1349, 1339, 1350,
1862 
1863  1351, 1352, 1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360,
1864  1340, 1361, 1362, 1363, 1364, 1365, 1366, 1342, 1343, 1344,
1865  1345, 1346, 1347, 1348, 1367, 1349, 1368, 1350, 1351, 1352,
1866  1353, 1354, 1355, 1356, 1357, 1358, 1359, 1360, 1369, 1361,
1867  1362, 1363, 1364, 1365, 1366, 1372, 1373, 1376, 1377, 1380,
1868  1386, 1387, 1367, 1389, 1368, 1397, 1399, 1401, 1402, 1404,
1869  1407, 1408, 1410, 1411, 1412, 1413, 1369, 1414, 1415, 1416,
1870  1424, 1427, 1428, 1372, 1373, 1376, 1377, 1380, 1386, 1387,
1871  1431, 1389, 1433, 1397, 1399, 1401, 1402, 1404, 1407, 1408,
1872  1410, 1411, 1412, 1413, 1434, 1414, 1415, 1416, 1424, 1427,
1873 
1874  1428, 1435, 1434, 1441, 1443, 1451, 1452, 1453, 1431, 1457,
1875  1433, 1460, 1465, 1473, 1474, 1478, 1481, 1483, 1485, 1486,
1876  1488, 1489, 1434, 1491, 1492, 1493, 1495, 1496, 1497, 1435,
1877  1434, 1441, 1443, 1451, 1452, 1453, 1498, 1457, 1499, 1460,
1878  1465, 1473, 1474, 1478, 1481, 1483, 1485, 1486, 1488, 1489,
1879  1500, 1491, 1492, 1493, 1495, 1496, 1497, 1501, 1504, 1505,
1880  1506, 1507, 1509, 1510, 1498, 1511, 1499, 1512, 1515, 1516,
1881  1517, 1522, 1532, 1535, 1537, 1543, 1537, 1549, 1500, 1550,
1882  1553, 1554, 1555, 1557, 1559, 1501, 1504, 1505, 1506, 1507,
1883  1509, 1510, 1560, 1511, 1561, 1512, 1515, 1516, 1517, 1522,
1884 
1885  1532, 1535, 1537, 1543, 1537, 1549, 1562, 1550, 1553, 1554,
1886  1555, 1557, 1559, 1564, 1564, 1568, 1569, 1570, 1572, 1573,
1887  1560, 1574, 1561, 1575, 1589, 1591, 1594, 1600, 1603, 1604,
1888  1609, 1612, 1614, 1615, 1562, 1618, 1619, 1622, 1625, 1626,
1889  1628, 1564, 1564, 1568, 1569, 1570, 1572, 1573, 1629, 1574,
1890  1631, 1575, 1589, 1591, 1594, 1600, 1603, 1604, 1609, 1612,
1891  1614, 1615, 1634, 1618, 1619, 1622, 1625, 1626, 1628, 1635,
1892  1636, 1637, 1638, 1640, 1641, 1642, 1629, 1644, 1631, 1645,
1893  1647, 1658, 1661, 1664, 1665, 1822, 1668, 1670, 1671, 1673,
1894  1634, 1674, 1679, 1680, 1682, 1684, 1685, 1635, 1636, 1637,
1895 
1896  1638, 1640, 1641, 1642, 1691, 1644, 1697, 1645, 1647, 1658,
1897  1698, 1664, 1665, 1661, 1668, 1670, 1671, 1673, 1699, 1674,
1898  1679, 1680, 1682, 1684, 1685, 1711, 1713, 1715, 1727, 1728,
1899  1729, 1734, 1691, 1738, 1697, 1739, 1741, 1742, 1698, 1744,
1900  1749, 1750, 1751, 1752, 1753, 1755, 1699, 1756, 1760, 1761,
1901  1770, 1772, 1773, 1711, 1713, 1715, 1727, 1728, 1729, 1734,
1902  1774, 1738, 1775, 1739, 1741, 1742, 1781, 1744, 1749, 1750,
1903  1751, 1752, 1753, 1755, 1792, 1756, 1760, 1761, 1770, 1772,
1904  1773, 1793, 1796, 1800, 1801, 1802, 1814, 1821, 1774, 1823,
1905  1775, 1824, 1826, 1827, 1781, 1829, 1830, 1831, 1833, 1834,
1906 
1907  1835, 1837, 1792, 1838, 1839, 1840, 1841, 1842, 1843, 1793,
1908  1796, 1800, 1801, 1802, 1814, 1821, 1845, 1823, 1846, 1847,
1909  1848, 1827, 1849, 1850, 1830, 1831, 1852, 1853, 1855, 1857,
1910  1858, 1838, 1839, 1840, 1841, 1842, 1843, 1860, 1861, 1862,
1911  1863, 1864, 1865, 1866, 1868, 1869, 1846, 1847, 1870, 1872,
1912  1849, 1850, 1873, 1874, 1876, 1877, 1878, 1879, 1880, 1882,
1913  1884, 1886, 1887, 1888, 1889, 1891, 1861, 1862, 1863, 1893,
1914  1894, 1895, 1897, 1898, 1900, 1902, 1903, 1904, 1905, 1907,
1915  1908, 1909, 1910, 1911, 1878, 1879, 1880, 1912, 1913, 1914,
1916  1887, 1915, 1889, 1916, 1917, 1918, 1919, 1920, 1922, 1895,
1917 
1918  1923, 1924, 1926, 1927, 1928, 1929, 1930, 1931, 1908, 1909,
1919  1910, 1933, 1935, 1936, 1938, 1940, 1913, 1942, 1944, 1945,
1920  1946, 1947, 1948, 1918, 1949, 1950, 1952, 1953, 1923, 1924,
1921  1955, 1927, 1928, 1956, 1930, 1958, 1959, 1960, 1961, 1962,
1922  1964, 1966, 1967, 1968, 1969, 1970, 1971, 1945, 1972, 1947,
1923  1973, 1974, 1975, 1976, 1977, 1953, 1978, 1979, 1980, 1982,
1924  1984, 1985, 1986, 1987, 1988, 1960, 1990, 1962, 1991, 1992,
1925  1967, 1994, 1996, 1997, 1998, 1999, 1972, 2000, 2002, 2004,
1926  1975, 1976, 1977, 2006, 1978, 2008, 1980, 2009, 2011, 1985,
1927  2013, 2014, 2015, 2016, 2017, 2019, 2020, 2021, 2023, 2024,
1928 
1929  2026, 1997, 2028, 1999, 2029, 2000, 2030, 2032, 2033, 2034,
1930  2035, 2036, 2037, 2038, 2039, 2009, 2040, 2041, 2043, 2014,
1931  2015, 2016, 2045, 2046, 2020, 2047, 2048, 2049, 2050, 2051,
1932  2052, 2054, 2055, 2057, 2030, 2058, 2033, 2059, 2035, 2061,
1933  2062, 2064, 2066, 2068, 2070, 2072, 2074, 2075, 2077, 2083,
1934  2085, 2086, 2087, 2088, 2089, 2049, 2079, 2079, 2080, 2080,
1935  2081, 2081, 2082, 2082, 2084, 2084, 2090, 2091, 2092, 2093,
1936  2094, 2095, 2096, 2097, 2098, 2099, 2100, 2101, 2102, 2103,
1937  2104, 2105, 2106, 2107, 2108, 2109, 2110, 2111, 2112, 2113,
1938  2114, 2115, 2116, 2117, 2118, 2119, 2120, 2121, 2122, 2123,
1939 
1940  2124, 2125, 2126, 2127, 2128, 2129, 2130, 2131, 2132, 2133,
1941  2134, 2135, 2136, 2137, 2138, 2139, 2140, 2141, 2142, 2143,
1942  2144, 2145, 2146, 2147, 2148, 2149, 2150, 2151, 2152, 2153,
1943  2154, 2155, 2156, 2157, 2158, 2159, 2160, 2161, 2162, 2163,
1944  2164, 2165, 2166, 2167, 2168, 2169, 2170, 2171, 2172, 2173,
1945  2174, 2175, 2176, 2177, 2178, 2179, 2180, 2181, 2182, 2183,
1946  2184, 2185, 2186, 2187, 2188, 2189, 2190, 2191, 2192, 2193,
1947  2194, 2195, 2196, 2197, 2198, 2199, 2200, 2201, 2202, 2203,
1948  2204, 2205, 2206, 2207, 2208, 2209, 2210, 2211, 2212, 2213,
1949  2214, 2215, 2216, 2217, 2218, 2219, 2220, 2221, 2222, 2223,
1950 
1951  2224, 2225, 2226, 2227, 2228, 2229, 2230, 2231, 2232, 2233,
1952  2234, 2235, 2236, 2237, 2238, 2239, 2240, 2241, 2242, 2243,
1953  2244, 2245, 2246, 2247, 2248, 2249, 2250, 2251, 2252, 2253,
1954  2254, 2255, 2256, 2257, 2258, 2259, 2260, 2261, 2262, 2263,
1955  2264, 2265, 2266, 2267, 2268, 2269, 2270, 2271, 2272, 2273,
1956  2274, 2275, 2276, 2277, 2278, 2279, 2280, 2281, 2282, 2283,
1957  2284, 2285, 2286, 2287, 2288, 2289, 2290, 2291, 2292, 2293,
1958  2294, 2295, 2296, 2297, 2298, 2299, 2300, 2301, 2302, 2303,
1959  2304, 2305, 2306, 2307, 2308, 2309, 2310, 2311, 2312, 2313,
1960  2314, 2315, 2316, 2317, 2318, 2319, 2320, 2321, 2322, 2323,
1961 
1962  2324, 2325, 2326, 2327, 2328, 2329, 2330, 2331, 2332, 2333,
1963  2334, 2335, 2336, 2337, 2338, 2339, 2340, 2341, 2342, 2343,
1964  2344, 2345, 2346, 2347, 2348, 2349, 2350, 2351, 2352, 2353,
1965  2354, 2355, 2356, 2357, 2358, 2359, 2360, 2361, 2362, 2363,
1966  2364, 2365, 2366, 2367, 2368, 2369, 2370, 2371, 2372, 2373,
1967  2374, 2375, 2376, 2377, 2378, 2379, 2380, 2381, 2382, 2383,
1968  2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393,
1969  2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403,
1970  2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413,
1971  2414, 2415, 2416, 2417, 2418, 1712, 1710, 1709, 1708, 1707,
1972 
1973  1705, 1704, 1702, 1701, 1696, 1695, 1693, 1692, 1690, 1689,
1974  1687, 1683, 1681, 1678, 1677, 1676, 1672, 1669, 1667, 1663,
1975  1660, 1657, 1656, 1654, 1653, 1651, 1650, 1649, 1646, 1643,
1976  1639, 1633, 1632, 1630, 1627, 1624, 1623, 1621, 1620, 1617,
1977  1613, 1611, 1610, 1608, 1606, 1605, 1602, 1599, 1597, 1595,
1978  1593, 1590, 1588, 1586, 1584, 1583, 1582, 1581, 1580, 1579,
1979  1577, 1571, 1567, 1566, 1565, 1563, 1558, 1556, 1552, 1548,
1980  1546, 1545, 1542, 1540, 1539, 1536, 1534, 1533, 1531, 1529,
1981  1527, 1526, 1525, 1523, 1521, 1520, 1519, 1514, 1513, 1508,
1982  1503, 1502, 1494, 1490, 1487, 1484, 1482, 1480, 1477, 1476,
1983 
1984  1475, 1472, 1470, 1468, 1466, 1464, 1462, 1461, 1459, 1456,
1985  1454, 1450, 1449, 1447, 1446, 1445, 1442, 1440, 1439, 1438,
1986  1436, 1432, 1430, 1426, 1423, 1422, 1420, 1418, 1417, 1409,
1987  1406, 1403, 1400, 1398, 1396, 1395, 1394, 1393, 1391, 1390,
1988  1388, 1385, 1383, 1382, 1381, 1379, 1378, 1375, 1374, 1371,
1989  1341, 1337, 1332, 1330, 1327, 1324, 1321, 1320, 1319, 1318,
1990  1316, 1315, 1313, 1312, 1311, 1308, 1306, 1304, 1302, 1301,
1991  1300, 1295, 1294, 1293, 1291, 1289, 1287, 1285, 1281, 1278,
1992  1277, 1276, 1272, 1271, 1267, 1265, 1262, 1261, 1260, 1256,
1993  1253, 1243, 1242, 1240, 1238, 1235, 1233, 1231, 1230, 1227,
1994 
1995  1226, 1221, 1217, 1216, 1215, 1214, 1212, 1208, 1203, 1202,
1996  1198, 1168, 1166, 1162, 1158, 1155, 1153, 1151, 1149, 1147,
1997  1146, 1145, 1143, 1141, 1138, 1136, 1133, 1131, 1129, 1128,
1998  1126, 1125, 1123, 1121, 1116, 1115, 1112, 1110, 1109, 1106,
1999  1103, 1101, 1099, 1096, 1095, 1092, 1091, 1088, 1087, 1086,
2000  1083, 1081, 1074, 1073, 1069, 1065, 1063, 1057, 1056, 1052,
2001  1047, 1043, 1041, 1039, 1037, 1034, 1031, 1030, 1021, 1018,
2002  1016, 995, 994, 986, 985, 982, 981, 980, 979, 977,
2003  974, 973, 969, 968, 965, 964, 960, 959, 956, 950,
2004  945, 944, 941, 936, 931, 930, 924, 921, 917, 914,
2005 
2006  912, 909, 904, 903, 901, 900, 895, 894, 890, 886,
2007  883, 880, 879, 876, 875, 874, 870, 867, 866, 865,
2008  859, 853, 851, 850, 846, 841, 837, 831, 828, 827,
2009  823, 820, 817, 816, 812, 808, 807, 805, 799, 796,
2010  794, 784, 771, 769, 763, 758, 756, 750, 748, 747,
2011  742, 741, 738, 737, 731, 727, 722, 720, 717, 715,
2012  714, 713, 711, 707, 703, 698, 694, 692, 689, 687,
2013  684, 682, 670, 669, 662, 656, 648, 647, 642, 641,
2014  638, 614, 612, 609, 607, 605, 604, 600, 599, 598,
2015  594, 573, 568, 564, 563, 561, 555, 549, 547, 546,
2016 
2017  543, 540, 538, 535, 532, 530, 521, 520, 513, 509,
2018  498, 493, 492, 487, 486, 482, 480, 464, 459, 454,
2019  453, 451, 446, 442, 435, 431, 411, 407, 402, 401,
2020  400, 397, 388, 384, 382, 375, 371, 360, 359, 358,
2021  357, 356, 352, 349, 338, 330, 328, 324, 322, 310,
2022  308, 303, 299, 298, 296, 290, 287, 281, 278, 274,
2023  270, 269, 266, 261, 257, 254, 252, 251, 247, 246,
2024  244, 233, 228, 221, 219, 214, 206, 194, 182, 180,
2025  178, 166, 157, 143, 132, 130, 127, 96, 83, 80,
2026  46, 36, 12, 9, 2078, 2078, 2078, 2078, 2078, 2078,
2027 
2028  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
2029  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
2030  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
2031  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
2032  2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078, 2078,
2033  2078, 2078, 2078, 2078
2034  } ;
2035 
2038 
2039 extern int yy_flex_debug;
2041 
2042 /* The intent behind this definition is that it'll catch
2043  * any uses of REJECT which flex missed.
2044  */
2045 #define REJECT reject_used_but_not_detected
2046 #define yymore() yymore_used_but_not_detected
2047 #define YY_MORE_ADJ 0
2048 #define YY_RESTORE_YY_MORE_OFFSET
2049 char *yytext;
2050 #line 1 "loader.l"
2051 #line 2 "loader.l"
2052 /*
2053  * Crossfire -- cooperative multi-player graphical RPG and adventure game
2054  *
2055  * Copyright (c) 1999-2014 Mark Wedel and the Crossfire Development Team
2056  * Copyright (c) 1992 Frank Tore Johansen
2057  *
2058  * Crossfire is free software and comes with ABSOLUTELY NO WARRANTY. You are
2059  * welcome to redistribute it under certain conditions. For details, please
2060  * see COPYING and LICENSE.
2061  *
2062  * The authors can be reached via e-mail at <crossfire@metalforge.org>.
2063  */
2064 
2065 #include "global.h"
2066 
2067 #include <ctype.h>
2068 
2069 #include "loader.h"
2070 #include "newserver.h"
2071 #include "sproto.h"
2072 #include "stringbuffer.h"
2073 
2074 #define YY_DECL int lex_load(int *depth, object **items, int maxdepth, int map_flags, int linemode, int *ismore)
2075 
2076 static char *yval(void);
2077 
2078 static int lex_error;
2079 static char msgbuf[HUGE_BUF];
2080 size_t msglen = 0, total_msglen = 0;
2081 static char lorebuf[HUGE_BUF];
2082 
2084 #define SET_OR_CLEAR_FLAG(op, flag, val) \
2085  { if (val) SET_FLAG(op, flag); else CLEAR_FLAG(op, flag); }
2086 
2087 #define SET_RESIST(op, type, val) op->resist[type] = val;
2088 
2089 
2091 #define IVAL atoi(yval())
2092 
2093 #define FVAL atof(yval())
2094 extern int arch_init;
2095 extern int artifact_init;
2096 
2102 static bool seen_object = false;
2103 
2112 static void set_body_info(object *op, char *params) {
2113  int i;
2114  char *cp;
2115 
2116  /* go to first space character */
2117  for (cp = params; !isspace(*cp); cp++)
2118  ;
2119 
2120  *cp++ = 0; /* null it out */
2121 
2122  for (i = 0; i < NUM_BODY_LOCATIONS; i++) {
2123  if (!strcmp(params, body_locations[i].save_name)) {
2124  op->body_info[i] = atoi(cp);
2125  return; /* Only one line passed in params */
2126  }
2127  }
2128  LOG(llevError, "set_body_info called with bogus params: %s\n", params);
2129 }
2130 
2140 static void check_loaded_object(object *op) {
2141  if (artifact_init)
2142  /* Artifacts are special beasts, let's not check them. */
2143  return;
2144 
2145  if (!is_type_valid(op->type)) {
2146  LOG(llevError, "Invalid type %d for %s\n", op->type, op->arch ? op->arch->name : op->name);
2147  op->type = 0;
2148  }
2149 
2150  /* We do some specialized handling to handle legacy cases of name_pl.
2151  * If the object doesn't have a name_pl, we just use the object name -
2152  * this isn't perfect (things won't be properly pluralized), but works to
2153  * that degree (5 heart is still quite understandable). But the case we
2154  * also have to catch is if this object is not using the normal name for
2155  * the object. In that case, we also want to use the loaded name.
2156  * Otherwise, what happens is that the the plural name will lose
2157  * information (appear as just 'hearts' and not 'goblins heart')
2158  */
2159  if (op->arch && op->name != op->arch->clone.name && op->name_pl == op->arch->clone.name_pl) {
2160  if (op->name_pl) {
2161  free_string(op->name_pl);
2162  op->name_pl = NULL;
2163  }
2164  }
2165  if (!op->name_pl && op->name)
2166  op->name_pl = add_string(op->name);
2167 
2168  /* objects now have a materialname. try to patch it in */
2169  if (!(IS_WEAPON(op) && op->level > 0)) {
2171  }
2172  /* only do these when program is first run - a bit
2173  * excessive to do this at every run - most of this is
2174  * really just to catch any errors - program will still run, but
2175  * not in the ideal fashion.
2176  */
2177  if ((op->type == WEAPON || op->type == BOW) && arch_init) {
2178  if (!op->skill) {
2179  LOG(llevError, "Weapon %s lacks a skill.\n", op->name);
2180  } else if ((!strcmp(op->skill, "one handed weapons") && op->body_info[1] != -1) ||
2181  (!strcmp(op->skill, "two handed weapons") && op->body_info[1] != -2)) {
2182  LOG(llevError, "weapon %s arm usage does not match skill: %d, %s\n", op->name, op->body_info[1], op->skill);
2183  }
2184  }
2185 
2186  /* spellbooks & runes use slaying. But not to arch name, but to spell name */
2187  if ((op->type == SPELLBOOK || op->type == RUNE) && op->slaying && !op->inv && !arch_init) {
2188  object *tmp;
2189 
2192  op->randomitems = NULL; /* So another spell isn't created for this object */
2193  /* without this, value is all screwed up */
2194  op->value = op->arch->clone.value*op->inv->value;
2195  }
2196 
2197  if (QUERY_FLAG(op, FLAG_MONSTER)) {
2198  if (op->stats.hp > op->stats.maxhp)
2199  LOG(llevDebug, "Monster %s has hp set higher than maxhp (%d>%d)\n", op->name, op->stats.hp, op->stats.maxhp);
2200  }
2202  || op->type == CREATOR
2203  || op->type == CONVERTER) {
2204  /* Object will duplicate its content as part of the
2205  * generation process. To do this, we must flag inventory
2206  * so it remains unevaluated concerning the randomitems and
2207  * the living (a demonlord shouldn't cast from inside generator!)
2208  */
2210  }
2211 
2212  /* if the item is identified, ensure we got the correct face */
2215 
2216  /* Here we'll handle custom monsters. In order to handle them correctly, especially in the fix_object
2217  * method, we'll create a new temporary archetype containing defined values.
2218  * Of course this doesn't apply when loading archetypes or artifacts.
2219  */
2220  if (arch_init == 0
2222  && op->arch
2223  && !object_can_merge(op, &op->arch->clone)) {
2225  temp->reference_count++;
2226  temp->name = add_string(op->arch->name);
2227  temp->tail_x = op->arch->tail_x;
2228  temp->tail_y = op->arch->tail_y;
2229  object_copy(op, &temp->clone);
2230  temp->clone.inv = NULL;
2231  temp->clone.env = NULL;
2232  temp->clone.x = 0;
2233  temp->clone.y = 0;
2234  temp->clone.map = NULL;
2235  if (FABS(temp->clone.speed) > MIN_ACTIVE_SPEED) {
2236  /* Clone has a speed, so need to clear that because it isn't on a map.
2237  * But we need to keep the value, because otherwise the customized object
2238  * will have no speed (fix_player() will use the 0 value). So set it
2239  * to zero, call object_update_speed() to remove it from active list, then
2240  * set its speed back to the original.
2241  */
2242  temp->clone.speed = 0;
2243  object_update_speed(&temp->clone);
2244  temp->clone.speed = op->speed;
2245  }
2246 
2247  temp->more = op->arch->more;
2248  op->arch = temp;
2249  /* LOG(llevDebug, "created temporary archetype for %s at %d,%d\n", op->name, op->x, op->y); */
2250  }
2251 }
2252 
2263 static void add_key_value(object *op) {
2264  char *key = NULL;
2265  char *value = NULL;
2266  char *cp;
2267  char *end;
2268 
2269  /* First, skip over leading whitespace. */
2270  for (cp = yytext; isspace(*cp); cp++) {
2271  ;
2272  }
2273 
2274  key = cp;
2275 
2276  /* Now look for the end of the key/field name. */
2277  for (; !isspace(*cp); cp++) {
2278  if (*cp == '\0') {
2279  /* Oops, ran out of string! Set the key with an empty value. */
2280  object_set_value(op, key, NULL, TRUE);
2281  return;
2282  }
2283  }
2284 
2285  if (*cp == '\0') {
2286  object_set_value(op, key, NULL, TRUE);
2287  return;
2288  }
2289 
2290  /* Chop off the key, and start at the next character. */
2291  *cp = '\0';
2292  cp++;
2293  if (*cp == '\0') {
2294  /* Was followed by one space? */
2295  object_set_value(op, key, NULL, TRUE);
2296  return;
2297  }
2298 
2299  /* Now looking for the value. Skip over whitespace. */
2300  for (; isspace(*cp); cp++) {
2301  if (*cp == '\0') {
2302  /* Guess not. */
2303  object_set_value(op, key, NULL, TRUE);
2304  return;
2305  }
2306  }
2307 
2308  value = cp;
2309 
2310  /* Got last character before null and strip
2311  * off tailing whitespace
2312  */
2313  for (end = value+(strlen(cp)-1); isspace(*end); end--) {
2314  if (end == value) {
2315  /* *blink blink* Still no value? */
2316  object_set_value(op, key, NULL, TRUE);
2317  return;
2318  }
2319  *end = '\0';
2320  }
2322 }
2323 
2334 static void set_move(MoveType *mt, char *params, const char *prefix) {
2335  char *str;
2336  int i, negate;
2337 
2338  if (isdigit(*params)) {
2339  *mt = atoi(params);
2340  } else {
2341  *mt = 0;
2342  for (str = strtok(params, " "); str; str = strtok(NULL, " ")) {
2343  negate = 0;
2344  if (!strcasecmp(str, "all"))
2345  *mt |= MOVE_ALL;
2346  else {
2347  if (*str == '-') {
2348  negate = 1;
2349  str++;
2350  }
2351  for (i = 0; move_name[i] != NULL; i++) {
2352  if (!strcasecmp(move_name[i], str)) {
2353  if (negate) {
2354  *mt &= ~(1<<i);
2355  } else {
2356  *mt |= (1<<i);
2357  }
2358  break;
2359  }
2360  }
2361  if (move_name[i] == NULL) {
2362  /* fly is a special case - covers both fly_low and
2363  * fly_high - since it doesn't match to a specific
2364  * single bit, have to special case it.
2365  */
2366  if (!strcasecmp(str, "flying")) {
2367  if (negate) {
2368  *mt &= ~MOVE_FLYING;
2369  } else {
2370  *mt |= MOVE_FLYING;
2371  }
2372  } else {
2373  LOG(llevDebug, "common/loader.l: set_move(%s) - unknown move string '%s'\n", prefix, str);
2374  }
2375  }
2376  } /* Else not all move types */
2377  } /* for strtok */
2378  } /* Else not a numeric value */
2379 }
2380 
2381 #line 2382 "loader.c"
2382 
2383 /* Don't have to link with -lfl with this */
2384 /* need yy_push_state, yy_pop_state */
2385 /* those functions are unused, not sure of compatibility with Flex versions. */
2386 #define YY_NO_INPUT 1
2387 #line 2388 "loader.c"
2388 
2389 #define INITIAL 0
2390 #define MESSAGE 1
2391 #define LORE 2
2392 #define SCRIPT 3
2393 
2394 #ifndef YY_NO_UNISTD_H
2395 /* Special case for "unistd.h", since it is non-ANSI. We include it way
2396  * down here because we want the user's section 1 to have been scanned first.
2397  * The user has a chance to override it with an option.
2398  */
2399 #include <unistd.h>
2400 #endif
2401 
2402 #ifndef YY_EXTRA_TYPE
2403 #define YY_EXTRA_TYPE void *
2404 #endif
2405 
2406 static int yy_init_globals ( void );
2407 
2408 /* Accessor methods to globals.
2409  These are made visible to non-reentrant scanners for convenience. */
2410 
2411 int yylex_destroy ( void );
2412 
2413 int yyget_debug ( void );
2414 
2415 void yyset_debug ( int debug_flag );
2416 
2417 YY_EXTRA_TYPE yyget_extra ( void );
2418 
2419 void yyset_extra ( YY_EXTRA_TYPE user_defined );
2420 
2421 FILE *yyget_in ( void );
2422 
2423 void yyset_in ( FILE * _in_str );
2424 
2425 FILE *yyget_out ( void );
2426 
2427 void yyset_out ( FILE * _out_str );
2428 
2429  int yyget_leng ( void );
2430 
2431 char *yyget_text ( void );
2432 
2433 int yyget_lineno ( void );
2434 
2435 void yyset_lineno ( int _line_number );
2436 
2437 /* Macros after this point can all be overridden by user definitions in
2438  * section 1.
2439  */
2440 
2441 #ifndef YY_SKIP_YYWRAP
2442 #ifdef __cplusplus
2443 extern "C" int yywrap ( void );
2444 #else
2445 extern int yywrap ( void );
2446 #endif
2447 #endif
2448 
2449 #ifndef YY_NO_UNPUT
2450 
2451 #endif
2452 
2453 #ifndef yytext_ptr
2454 static void yy_flex_strncpy ( char *, const char *, int );
2455 #endif
2456 
2457 #ifdef YY_NEED_STRLEN
2458 static int yy_flex_strlen ( const char * );
2459 #endif
2460 
2461 #ifndef YY_NO_INPUT
2462 #ifdef __cplusplus
2463 static int yyinput ( void );
2464 #else
2465 static int input ( void );
2466 #endif
2467 
2468 #endif
2469 
2470  static int yy_start_stack_ptr = 0;
2471  static int yy_start_stack_depth = 0;
2472  static int *yy_start_stack = NULL;
2473 
2474  static void yy_push_state ( int _new_state );
2475 
2476  static void yy_pop_state ( void );
2477 
2478 /* Amount of stuff to slurp up with each read. */
2479 #ifndef YY_READ_BUF_SIZE
2480 #ifdef __ia64__
2481 /* On IA-64, the buffer size is 16k, not 8k */
2482 #define YY_READ_BUF_SIZE 16384
2483 #else
2484 #define YY_READ_BUF_SIZE 8192
2485 #endif /* __ia64__ */
2486 #endif
2487 
2488 /* Copy whatever the last rule matched to the standard output. */
2489 #ifndef ECHO
2490 /* This used to be an fputs(), but since the string might contain NUL's,
2491  * we now use fwrite().
2492  */
2493 #define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
2494 #endif
2495 
2496 /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
2497  * is returned in "result".
2498  */
2499 #ifndef YY_INPUT
2500 #define YY_INPUT(buf,result,max_size) \
2501  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
2502  { \
2503  int c = '*'; \
2504  int n; \
2505  for ( n = 0; n < max_size && \
2506  (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
2507  buf[n] = (char) c; \
2508  if ( c == '\n' ) \
2509  buf[n++] = (char) c; \
2510  if ( c == EOF && ferror( yyin ) ) \
2511  YY_FATAL_ERROR( "input in flex scanner failed" ); \
2512  result = n; \
2513  } \
2514  else \
2515  { \
2516  errno=0; \
2517  while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
2518  { \
2519  if( errno != EINTR) \
2520  { \
2521  YY_FATAL_ERROR( "input in flex scanner failed" ); \
2522  break; \
2523  } \
2524  errno=0; \
2525  clearerr(yyin); \
2526  } \
2527  }\
2528 \
2529 
2530 #endif
2531 
2532 /* No semi-colon after return; correct usage is to write "yyterminate();" -
2533  * we don't want an extra ';' after the "return" because that will cause
2534  * some compilers to complain about unreachable statements.
2535  */
2536 #ifndef yyterminate
2537 #define yyterminate() return YY_NULL
2538 #endif
2539 
2540 /* Number of entries by which start-condition stack grows. */
2541 #ifndef YY_START_STACK_INCR
2542 #define YY_START_STACK_INCR 25
2543 #endif
2544 
2545 /* Report a fatal error. */
2546 #ifndef YY_FATAL_ERROR
2547 #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
2548 #endif
2549 
2550 /* end tables serialization structures and prototypes */
2551 
2552 /* Default declaration of generated scanner - a define so the user can
2553  * easily add parameters.
2554  */
2555 #ifndef YY_DECL
2556 #define YY_DECL_IS_OURS 1
2557 
2558 extern int yylex (void);
2559 
2560 #define YY_DECL int yylex (void)
2561 #endif /* !YY_DECL */
2562 
2563 /* Code executed at the beginning of each rule, after yytext and yyleng
2564  * have been set up.
2565  */
2566 #ifndef YY_USER_ACTION
2567 #define YY_USER_ACTION
2568 #endif
2569 
2570 /* Code executed at the end of each rule. */
2571 #ifndef YY_BREAK
2572 #define YY_BREAK /*LINTED*/break;
2573 #endif
2574 
2575 #define YY_RULE_SETUP \
2576  if ( yyleng > 0 ) \
2577  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
2578  (yytext[yyleng - 1] == '\n'); \
2579  YY_USER_ACTION
2580 
2583 YY_DECL
2585  yy_state_type yy_current_state;
2586  char *yy_cp, *yy_bp;
2587  int yy_act;
2588 
2589  if ( !(yy_init) )
2590  {
2591  (yy_init) = 1;
2592 
2593 #ifdef YY_USER_INIT
2594  YY_USER_INIT;
2595 #endif
2596 
2597  if ( ! (yy_start) )
2598  (yy_start) = 1; /* first start state */
2599 
2600  if ( ! yyin )
2601  yyin = stdin;
2602 
2603  if ( ! yyout )
2604  yyout = stdout;
2605 
2606  if ( ! YY_CURRENT_BUFFER ) {
2610  }
2611 
2613  }
2614 
2615  {
2616 #line 352 "loader.l"
2617 
2618 
2619 
2620 #line 356 "loader.l"
2621 /* Declare some local variables */
2622  object *op = items[*depth];
2623  lex_error = 0;
2624 
2625 
2626 
2627 #line 2628 "loader.c"
2628 
2629  while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
2630  {
2631  yy_cp = (yy_c_buf_p);
2632 
2633  /* Support of yytext. */
2634  *yy_cp = (yy_hold_char);
2635 
2636  /* yy_bp points to the position in yy_ch_buf of the start of
2637  * the current run.
2638  */
2639  yy_bp = yy_cp;
2640 
2641  yy_current_state = (yy_start);
2642  yy_current_state += YY_AT_BOL();
2643 yy_match:
2644  do
2645  {
2646  YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
2647  if ( yy_accept[yy_current_state] )
2648  {
2649  (yy_last_accepting_state) = yy_current_state;
2651  }
2652  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2653  {
2654  yy_current_state = (int) yy_def[yy_current_state];
2655  if ( yy_current_state >= 2079 )
2656  yy_c = yy_meta[yy_c];
2657  }
2658  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2659  ++yy_cp;
2660  }
2661  while ( yy_current_state != 2078 );
2663  yy_current_state = (yy_last_accepting_state);
2664 
2665 yy_find_action:
2666  yy_act = yy_accept[yy_current_state];
2667 
2669 
2670 do_action: /* This label is used only to access EOF actions. */
2671 
2672  switch ( yy_act )
2673  { /* beginning of action switch */
2674  case 0: /* must back up */
2675  /* undo the effects of YY_DO_BEFORE_ACTION */
2676  *yy_cp = (yy_hold_char);
2678  yy_current_state = (yy_last_accepting_state);
2679  goto yy_find_action;
2680 
2681 case 1:
2682 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2683 (yy_c_buf_p) = yy_cp -= 1;
2684 YY_DO_BEFORE_ACTION; /* set up yytext again */
2686 #line 362 "loader.l"
2687 { BEGIN(MESSAGE); msgbuf[0] = '\0'; msglen = 0; total_msglen = 0;}
2688  YY_BREAK
2689 case 2:
2690 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2691 (yy_c_buf_p) = yy_cp -= 1;
2692 YY_DO_BEFORE_ACTION; /* set up yytext again */
2694 #line 363 "loader.l"
2695 { BEGIN(INITIAL);
2697  /* Just print a warning so we can be reasonably safe
2698  * about not overflowing the buffer.
2699  */
2700  if (total_msglen > (HUGE_BUF / 2))
2701  LOG(llevDebug,
2702  "warning: msg in '%s' on %s is very long (%lu "
2703  "characters)\n",
2704  op->name,
2705  op->map != NULL ? op->map->path : "no map",
2706  (unsigned long)total_msglen);
2707  }
2708  YY_BREAK
2709 case 3:
2711 #line 376 "loader.l"
2713  safe_strcat(msgbuf, "\n", &msglen, HUGE_BUF);
2714  total_msglen += strlen(yytext)+1;
2715  }
2716  YY_BREAK
2717 case 4:
2718 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2719 (yy_c_buf_p) = yy_cp -= 1;
2720 YY_DO_BEFORE_ACTION; /* set up yytext again */
2722 #line 381 "loader.l"
2723 { BEGIN(LORE); lorebuf[0] = '\0'; }
2724  YY_BREAK
2725 case 5:
2726 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2727 (yy_c_buf_p) = yy_cp -= 1;
2728 YY_DO_BEFORE_ACTION; /* set up yytext again */
2730 #line 382 "loader.l"
2731 { BEGIN(INITIAL);
2732  op->lore = add_string(lorebuf);
2733  /* Just print a warning so we can be reasonably safe
2734  * about not overflowing the buffer.
2735  */
2736  if (strlen(op->lore) > (HUGE_BUF/2))
2737  LOG(llevDebug, "\n\tWarning lore length > %d (max allowed=%d): %lu\n>%.80s<\n",
2738  HUGE_BUF/2, HUGE_BUF, (unsigned long)strlen(op->lore), op->lore);
2739  }
2740  YY_BREAK
2741 case 6:
2743 #line 391 "loader.l"
2744 { strcat(lorebuf, yytext); strcat(lorebuf, "\n"); }
2745  YY_BREAK
2746 case 7:
2748 #line 393 "loader.l"
2749 {
2750  char *yv = yval();
2751 
2752  if (*yv == '\0') {
2753  LOG(llevError, "Object lacks name.\n");
2754  return LL_IGNORED;
2755  }
2756  if (seen_object) {
2757  LOG(llevError, "An object started before the 'end' of object %s.\n", (op->arch && op->arch->name) ? op->arch->name : "(no name)");
2758  }
2759  if (op->arch != NULL)
2760  op->arch->name = add_string(yv);
2761  op->name = add_string(yv);
2762  seen_object = true;
2763  }
2764  YY_BREAK
2765 case 8:
2767 #line 409 "loader.l"
2768 {
2769  char *yv = yval();
2770 
2771  if (*yv == '\0')
2772  LOG(llevError, "Name without val\n");
2773  else
2774  FREE_AND_COPY(op->name, yv);
2775  }
2776  YY_BREAK
2777 case 9:
2779 #line 417 "loader.l"
2780 {
2781  char *yv = yval();
2782 
2783  if (*yv == '\0')
2784  LOG(llevError, "Name without val\n");
2785  else
2786  FREE_AND_COPY(op->name_pl, yv);
2787  }
2788  YY_BREAK
2789 case 10:
2791 #line 425 "loader.l"
2792 {
2793  char *yv = yval();
2794 
2795  if (*yv == '\0')
2796  LOG(llevError, "Anim suffix without val\n");
2797  else
2798  FREE_AND_COPY(op->anim_suffix, yv);
2799  }
2800  YY_BREAK
2801 case 11:
2803 #line 433 "loader.l"
2804 FREE_AND_COPY(op->skill, yval());
2805  YY_BREAK
2806 case 12:
2808 #line 434 "loader.l"
2809 {
2810  char *yv = yval();
2811 
2812  if (*yv == '\0')
2813  LOG(llevError, "Custom name without val\n");
2814  else
2815  FREE_AND_COPY(op->custom_name, yv);
2816  }
2817  YY_BREAK
2818 case 13:
2820 #line 442 "loader.l"
2821 FREE_AND_COPY(op->race, yval());
2822  YY_BREAK
2823 case 14:
2825 #line 443 "loader.l"
2826 FREE_AND_COPY(op->slaying, yval());
2827  YY_BREAK
2828 case 15:
2830 #line 444 "loader.l"
2831 {
2832  if (op->arch) {
2833  /*
2834  Here an object must be inserted into another object,
2835  during archetypes, artifact or map loading.
2836 
2837  The logic is as follow:
2838  - in linemode, we are loading artifacts, so just
2839  increase depth, next calls will work on object
2840  in inventory, and insertion in previous object done
2841  in the "end" part
2842  - when not in linemode, two cases:
2843  - arch_init is not set, then we are loading a map
2844  - arch_init is set, we are loading archetypes,
2845  discard the object, it'll be handled in a second pass
2846  */
2847  object *tmp;
2848  char *yv = yval();
2849 
2850  tmp = object_new();
2851  tmp->arch = find_archetype(yv);
2852  object_copy(&tmp->arch->clone, tmp);
2853  strcpy(msgbuf, "");
2854  strcpy(lorebuf, "");
2855  msglen = 0;
2856  total_msglen = 0;
2857  (*depth)++;
2858  items[*depth] = tmp;
2859  if (linemode == 0) {
2860  lex_load(depth, items, maxdepth, map_flags, linemode, ismore);
2861  (*depth)--;
2863  }
2864  } else {
2865  /* Here we are loading an object in a map, on a spot, not
2866  * in another object's inventory */
2867  char *yv = yval();
2868 
2869  op->arch = find_archetype(yv);
2870  object_copy(&op->arch->clone, op);
2871  }
2872  }
2873  YY_BREAK
2874 case 16:
2876 #line 486 "loader.l"
2877 {
2878  const char *yv = yval();
2879  const artifact *art = find_artifact(op, yv);
2880  if (art == NULL) {
2881  LOG(llevError, "can't find artifact %s [%d]\n for loading", yv, op->type);
2882  } else {
2884  }
2885  }
2886  YY_BREAK
2887 case 17:
2889 #line 496 "loader.l"
2890 op->other_arch = find_archetype(yval());
2891  YY_BREAK
2892 case 18:
2894 #line 497 "loader.l"
2895 {
2896  if (strcmp (yval(), "NONE") == 0) {
2897  op->animation = NULL;
2899  } else {
2900  op->animation = find_animation (yval());
2902  }
2903  }
2904  YY_BREAK
2905 case 19:
2906 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2907 (yy_c_buf_p) = yy_cp -= 1;
2908 YY_DO_BEFORE_ACTION; /* set up yytext again */
2910 #line 507 "loader.l"
2911 { /* We need to record that this is a multipart object,
2912  * so the calling function can glue things back together
2913  */
2914  if ((*depth) > 0) {
2915  LOG(llevError, "Got 'more' in depth %d (object %s)\n", *depth, items[*depth]->name);
2916  }
2917  (*ismore) = 1;
2918  }
2919  YY_BREAK
2920 case 20:
2921 *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */
2922 (yy_c_buf_p) = yy_cp -= 1;
2923 YY_DO_BEFORE_ACTION; /* set up yytext again */
2925 #line 516 "loader.l"
2926 {
2927  seen_object = false;
2929  if (linemode) {
2930  /* Linemode is only set for artifact loading. */
2931  if ((*depth) > 0) {
2932  /* Object we finished is in another object's inventory */
2933  object_insert_in_ob(items[*depth], items[(*depth)-1]);
2934  }
2935  return LL_NORMAL;
2936  }
2937  if (*ismore)
2938  return LL_MORE;
2939  else
2940  return LL_NORMAL;
2941  }
2942  YY_BREAK
2943 case 21:
2945 #line 532 "loader.l"
2946 op->last_heal = IVAL;
2947  YY_BREAK
2948 case 22:
2950 #line 533 "loader.l"
2951 op->last_sp = IVAL;
2952  YY_BREAK
2953 case 23:
2955 #line 534 "loader.l"
2956 op->last_grace = IVAL;
2957  YY_BREAK
2958 case 24:
2960 #line 535 "loader.l"
2961 op->last_eat = IVAL;
2962  YY_BREAK
2963 case 25:
2965 #line 536 "loader.l"
2966 {
2967  op->speed = FVAL;
2968  if (!(map_flags&MAP_STYLE)) {
2969  if (op->speed < 0) {
2970  op->speed_left = op->speed_left-RANDOM()%100/100.0;
2971  op->speed = -op->speed; // Make this always positive
2972  }
2974  }
2975  }
2976  YY_BREAK
2977 case 26:
2979 #line 546 "loader.l"
2980 op->speed_left = FVAL;
2981  YY_BREAK
2982 case 27:
2984 #line 548 "loader.l"
2985 op->weapon_speed_left = FVAL;
2986  YY_BREAK
2987 case 28:
2989 #line 549 "loader.l"
2990 op->weapon_speed = FVAL;
2991  YY_BREAK
2992 case 29:
2994 #line 551 "loader.l"
2995 {
2996  op->move_slow |= MOVE_WALK;
2997  op->move_slow_penalty = FVAL;
2998  }
2999  YY_BREAK
3000 case 30:
3002 #line 555 "loader.l"
3003 {
3004  char *y = yval();
3005 
3006  if (*y == '\0')
3007  LOG(llevError, "Title without value.\n");
3008  else
3009  FREE_AND_COPY(op->title, y);
3010  }
3011  YY_BREAK
3012 case 31:
3014 #line 564 "loader.l"
3015 {
3016  op->face = find_face(yval());
3017  }
3018  YY_BREAK
3019 case 32:
3021 #line 567 "loader.l"
3022 op->stats.Str = IVAL;
3023  YY_BREAK
3024 case 33:
3026 #line 568 "loader.l"
3027 op->stats.Dex = IVAL;
3028  YY_BREAK
3029 case 34:
3031 #line 569 "loader.l"
3032 op->stats.Con = IVAL;
3033  YY_BREAK
3034 case 35:
3036 #line 570 "loader.l"
3037 op->stats.Wis = IVAL;
3038  YY_BREAK
3039 case 36:
3041 #line 571 "loader.l"
3042 op->stats.Cha = IVAL;
3043  YY_BREAK
3044 case 37:
3046 #line 572 "loader.l"
3047 op->stats.Int = IVAL;
3048  YY_BREAK
3049 case 38:
3051 #line 573 "loader.l"
3052 op->stats.Pow = IVAL;
3053  YY_BREAK
3054 case 39:
3056 #line 574 "loader.l"
3057 op->stats.hp = IVAL;
3058  YY_BREAK
3059 case 40:
3061 #line 575 "loader.l"
3062 op->stats.maxhp = IVAL;
3063  YY_BREAK
3064 case 41:
3066 #line 576 "loader.l"
3067 op->stats.sp = IVAL;
3068  YY_BREAK
3069 case 42:
3071 #line 577 "loader.l"
3072 op->stats.maxsp = IVAL;
3073  YY_BREAK
3074 case 43:
3076 #line 578 "loader.l"
3077 op->stats.grace = IVAL;
3078  YY_BREAK
3079 case 44:
3081 #line 579 "loader.l"
3082 op->stats.maxgrace = IVAL;
3083  YY_BREAK
3084 case 45:
3086 #line 580 "loader.l"
3087 op->stats.exp = atoll(yval());
3088  YY_BREAK
3089 case 46:
3091 #line 581 "loader.l"
3092 op->total_exp = atoll(yval());
3093  YY_BREAK
3094 case 47:
3096 #line 582 "loader.l"
3097 op->total_exp = (atoll(yval()) * 100 / settings.permanent_exp_ratio);
3098  YY_BREAK
3099 case 48:
3101 #line 583 "loader.l"
3102 op->stats.food = IVAL;
3103  YY_BREAK
3104 case 49:
3106 #line 584 "loader.l"
3107 op->stats.dam = IVAL;
3108  YY_BREAK
3109 case 50:
3111 #line 585 "loader.l"
3112 op->stats.wc = IVAL;
3113  YY_BREAK
3114 case 51:
3116 #line 586 "loader.l"
3117 op->stats.ac = IVAL;
3118  YY_BREAK
3119 case 52:
3121 #line 587 "loader.l"
3122 { op->x = IVAL; op->ox= op->x; }
3123  YY_BREAK
3124 case 53:
3126 #line 588 "loader.l"
3127 { op->y = IVAL; op->oy= op->y; }
3128  YY_BREAK
3129 case 54:
3131 #line 589 "loader.l"
3132 op->nrof= atol(yval());
3133  YY_BREAK
3134 case 55:
3136 #line 590 "loader.l"
3137 op->level = IVAL;
3138  YY_BREAK
3139 case 56:
3141 #line 591 "loader.l"
3142 op->direction = IVAL;
3143  YY_BREAK
3144 case 57:
3146 #line 592 "loader.l"
3147 op->type = IVAL;
3148  YY_BREAK
3149 case 58:
3151 #line 593 "loader.l"
3152 op->subtype = IVAL;
3153  YY_BREAK
3154 case 59:
3156 #line 594 "loader.l"
3157 op->material = IVAL;
3158  YY_BREAK
3159 case 60:
3161 #line 595 "loader.l"
3162 {
3163  char *yv = yval();
3164 
3165  if (*yv == '\0')
3166  LOG(llevError, "Materialname without val\n");
3167  else
3168  FREE_AND_COPY(op->materialname, yv);
3169  }
3170  YY_BREAK
3171 case 61:
3173 #line 604 "loader.l"
3174 op->value = IVAL;
3175  YY_BREAK
3176 case 62:
3178 #line 605 "loader.l"
3179 {
3180  op->weight = atol(yval());
3181  if (op->weight == 0) {
3183  }
3184  }
3185  YY_BREAK
3186 case 63:
3188 #line 611 "loader.l"
3189 op->carrying = atol(yval());
3190  YY_BREAK
3191 case 64:
3193 #line 612 "loader.l"
3194 op->attacktype = IVAL;
3195  YY_BREAK
3196 case 65:
3198 #line 613 "loader.l"
3199 op->path_attuned = IVAL;
3200  YY_BREAK
3201 case 66:
3203 #line 614 "loader.l"
3204 op->path_repelled = IVAL;
3205  YY_BREAK
3206 case 67:
3208 #line 615 "loader.l"
3209 op->path_denied = IVAL;
3210  YY_BREAK
3211 case 68:
3213 #line 616 "loader.l"
3214 op->invisible = IVAL;
3215  YY_BREAK
3216 case 69:
3218 #line 617 "loader.l"
3219 op->magic = IVAL;
3220  YY_BREAK
3221 case 70:
3223 #line 618 "loader.l"
3224 op->state = IVAL;
3225  YY_BREAK
3226 case 71:
3228 #line 619 "loader.l"
3230  YY_BREAK
3231 case 72:
3233 #line 620 "loader.l"
3235  YY_BREAK
3236 case 73:
3238 #line 621 "loader.l"
3240  YY_BREAK
3241 case 74:
3243 #line 622 "loader.l"
3245  YY_BREAK
3246 case 75:
3248 #line 623 "loader.l"
3250  YY_BREAK
3251 case 76:
3253 #line 624 "loader.l"
3255  YY_BREAK
3256 case 77:
3258 #line 625 "loader.l"
3260  YY_BREAK
3261  /* These are the new values */
3262 
3263 case 78:
3265 #line 629 "loader.l"
3266 set_move(&op->move_block, yval(), "block");
3267  YY_BREAK
3268 case 79:
3270 #line 630 "loader.l"
3271 set_move(&op->move_allow, yval(), "allow");
3272  YY_BREAK
3273 case 80:
3275 #line 631 "loader.l"
3276 set_move(&op->move_type, yval(), "type");
3277  YY_BREAK
3278 case 81:
3280 #line 632 "loader.l"
3281 set_move(&op->move_on, yval(), "on");
3282  YY_BREAK
3283 case 82:
3285 #line 633 "loader.l"
3286 set_move(&op->move_off, yval(), "off");
3287  YY_BREAK
3288 case 83:
3290 #line 634 "loader.l"
3291 set_move(&op->move_slow, yval(), "slow");
3292  YY_BREAK
3293 case 84:
3295 #line 635 "loader.l"
3296 op->move_slow_penalty = FVAL;
3297  YY_BREAK
3298 case 85:
3300 #line 638 "loader.l"
3302  YY_BREAK
3303 case 86:
3305 #line 639 "loader.l"
3307  YY_BREAK
3308 case 87:
3310 #line 640 "loader.l"
3312  YY_BREAK
3313 case 88:
3315 #line 641 "loader.l"
3317  YY_BREAK
3318 case 89:
3320 #line 642 "loader.l"
3321 {
3322  if (IVAL) {
3324  if (op->type != PLAYER && !arch_init) {
3325  LOG(llevDebug, " Adding friendly object %s.\n", op->name);
3327  }
3328  }
3329  else
3331  }
3332  YY_BREAK
3333 case 90:
3335 #line 653 "loader.l"
3337  YY_BREAK
3338 case 91:
3340 #line 654 "loader.l"
3342  YY_BREAK
3343 case 92:
3345 #line 655 "loader.l"
3347  YY_BREAK
3348 case 93:
3350 #line 656 "loader.l"
3352  YY_BREAK
3353 case 94:
3355 #line 657 "loader.l"
3357  YY_BREAK
3358 case 95:
3360 #line 658 "loader.l"
3362  YY_BREAK
3363 case 96:
3365 #line 659 "loader.l"
3367  YY_BREAK
3368 case 97:
3370 #line 660 "loader.l"
3372  YY_BREAK
3373 case 98:
3375 #line 661 "loader.l"
3377  YY_BREAK
3378 case 99:
3380 #line 662 "loader.l"
3382  YY_BREAK
3383 case 100:
3385 #line 663 "loader.l"
3386 {
3387  if (IVAL) {
3389  }
3390  else
3392  }
3393  YY_BREAK
3394 case 101:
3396 #line 670 "loader.l"
3398  YY_BREAK
3399 case 102:
3401 #line 671 "loader.l"
3403  YY_BREAK
3404 case 103:
3406 #line 672 "loader.l"
3408  YY_BREAK
3409 case 104:
3411 #line 673 "loader.l"
3413  YY_BREAK
3414 case 105:
3416 #line 674 "loader.l"
3418  YY_BREAK
3419 case 106:
3421 #line 675 "loader.l"
3423  YY_BREAK
3424 case 107:
3426 #line 676 "loader.l"
3427 { /* This field is used by Gridarta, so it's not an error. */ }
3428  YY_BREAK
3429 case 108:
3431 #line 677 "loader.l"
3433  YY_BREAK
3434 case 109:
3436 #line 678 "loader.l"
3438  YY_BREAK
3439 case 110:
3441 #line 679 "loader.l"
3443  YY_BREAK
3444 case 111:
3446 #line 680 "loader.l"
3448  YY_BREAK
3449 case 112:
3451 #line 681 "loader.l"
3453  YY_BREAK
3454 case 113:
3456 #line 682 "loader.l"
3458  YY_BREAK
3459 case 114:
3461 #line 683 "loader.l"
3462 {
3463  if (IVAL) {
3464  SET_FLAG(op, FLAG_WIZ);
3468  } else {
3472  }
3473  }
3474  YY_BREAK
3475 case 115:
3477 #line 695 "loader.l"
3479  YY_BREAK
3480 case 116:
3482 #line 696 "loader.l"
3484  YY_BREAK
3485 case 117:
3487 #line 697 "loader.l"
3489  YY_BREAK
3490 case 118:
3492 #line 698 "loader.l"
3494  YY_BREAK
3495 case 119:
3497 #line 699 "loader.l"
3498 op->stats.luck = IVAL;
3499  YY_BREAK
3500 case 120:
3502 #line 700 "loader.l"
3503 op->run_away = IVAL;
3504  YY_BREAK
3505 case 121:
3507 #line 701 "loader.l"
3508 op->pick_up = IVAL;
3509  YY_BREAK
3510 case 122:
3512 #line 702 "loader.l"
3513 op->item_power = IVAL;
3514  YY_BREAK
3515 case 123:
3517 #line 703 "loader.l"
3518 op->gen_sp_armour = IVAL;
3519  YY_BREAK
3520 case 124:
3522 #line 704 "loader.l"
3523 op->anim_speed = IVAL;
3524  YY_BREAK
3525 case 125:
3527 #line 705 "loader.l"
3528 op->weight_limit = IVAL;
3529  YY_BREAK
3530 case 126:
3532 #line 706 "loader.l"
3534  YY_BREAK
3535 case 127:
3537 #line 707 "loader.l"
3538 op->will_apply = IVAL;
3539  YY_BREAK
3540 case 128:
3542 #line 708 "loader.l"
3544  YY_BREAK
3545 case 129:
3547 #line 709 "loader.l"
3549  YY_BREAK
3550 case 130:
3552 #line 710 "loader.l"
3554  YY_BREAK
3555 case 131:
3557 #line 711 "loader.l"
3559  YY_BREAK
3560 case 132:
3562 #line 712 "loader.l"
3564  YY_BREAK
3565 case 133:
3567 #line 713 "loader.l"
3569  YY_BREAK
3570 case 134:
3572 #line 714 "loader.l"
3574  YY_BREAK
3575 case 135:
3577 #line 715 "loader.l"
3579  YY_BREAK
3580 case 136:
3582 #line 716 "loader.l"
3584  YY_BREAK
3585 case 137:
3587 #line 717 "loader.l"
3589  YY_BREAK
3590 case 138:
3592 #line 718 "loader.l"
3594  YY_BREAK
3595 case 139:
3597 #line 719 "loader.l"
3599  YY_BREAK
3600 case 140:
3602 #line 720 "loader.l"
3604  YY_BREAK
3605 case 141:
3607 #line 721 "loader.l"
3609  YY_BREAK
3610 case 142:
3612 #line 722 "loader.l"
3614  YY_BREAK
3615 case 143:
3617 #line 723 "loader.l"
3619  YY_BREAK
3620 case 144:
3622 #line 724 "loader.l"
3624  YY_BREAK
3625 case 145:
3627 #line 726 "loader.l"
3629  YY_BREAK
3630 case 146:
3632 #line 727 "loader.l"
3634  YY_BREAK
3635 /* Start of various attacktypes */
3636 case 147:
3638 #line 730 "loader.l"
3640  YY_BREAK
3641 case 148:
3643 #line 731 "loader.l"
3645  YY_BREAK
3646 case 149:
3648 #line 732 "loader.l"
3650  YY_BREAK
3651 case 150:
3653 #line 733 "loader.l"
3655  YY_BREAK
3656 case 151:
3658 #line 734 "loader.l"
3660  YY_BREAK
3661 case 152:
3663 #line 735 "loader.l"
3665  YY_BREAK
3666 case 153:
3668 #line 736 "loader.l"
3670  YY_BREAK
3671 case 154:
3673 #line 737 "loader.l"
3675  YY_BREAK
3676 case 155:
3678 #line 738 "loader.l"
3680  YY_BREAK
3681 case 156:
3683 #line 739 "loader.l"
3685  YY_BREAK
3686 case 157:
3688 #line 740 "loader.l"
3690  YY_BREAK
3691 case 158:
3693 #line 741 "loader.l"
3695  YY_BREAK
3696 case 159:
3698 #line 742 "loader.l"
3700  YY_BREAK
3701 case 160:
3703 #line 743 "loader.l"
3705  YY_BREAK
3706 case 161:
3708 #line 744 "loader.l"
3710  YY_BREAK
3711 case 162:
3713 #line 745 "loader.l"
3715  YY_BREAK
3716 case 163:
3718 #line 746 "loader.l"
3720  YY_BREAK
3721 case 164:
3723 #line 747 "loader.l"
3725  YY_BREAK
3726 case 165:
3728 #line 748 "loader.l"
3730  YY_BREAK
3731 case 166:
3733 #line 749 "loader.l"
3735  YY_BREAK
3736 case 167:
3738 #line 750 "loader.l"
3740  YY_BREAK
3741 case 168:
3743 #line 751 "loader.l"
3745  YY_BREAK
3746 case 169:
3748 #line 752 "loader.l"
3750  YY_BREAK
3751 case 170:
3753 #line 753 "loader.l"
3755  YY_BREAK
3756 case 171:
3758 #line 754 "loader.l"
3760  YY_BREAK
3761 case 172:
3763 #line 755 "loader.l"
3765  YY_BREAK
3766 case 173:
3768 #line 756 "loader.l"
3769 op->attack_movement = IVAL;
3770  YY_BREAK
3771 case 174:
3773 #line 757 "loader.l"
3774 op->move_status = IVAL;
3775  YY_BREAK
3776 case 175:
3778 #line 758 "loader.l"
3780  YY_BREAK
3781 case 176:
3783 #line 759 "loader.l"
3785  YY_BREAK
3786 case 177:
3788 #line 760 "loader.l"
3789 add_button_link(op, op->map, IVAL);
3790  YY_BREAK
3791 case 178:
3793 #line 761 "loader.l"
3795  YY_BREAK
3796 case 179:
3798 #line 762 "loader.l"
3800  YY_BREAK
3801 case 180:
3803 #line 763 "loader.l"
3805  YY_BREAK
3806 case 181:
3808 #line 764 "loader.l"
3810  YY_BREAK
3811 case 182:
3813 #line 765 "loader.l"
3815  YY_BREAK
3816 case 183:
3818 #line 766 "loader.l"
3820  YY_BREAK
3821 case 184:
3823 #line 767 "loader.l"
3825  YY_BREAK
3826 case 185:
3828 #line 768 "loader.l"
3830  YY_BREAK
3831 case 186:
3833 #line 769 "loader.l"
3835  YY_BREAK
3836 case 187:
3838 #line 770 "loader.l"
3840  YY_BREAK
3841 case 188:
3843 #line 771 "loader.l"
3844 op->expmul = FVAL;
3845  YY_BREAK
3846 case 189:
3848 #line 772 "loader.l"
3850  YY_BREAK
3851 case 190:
3853 #line 773 "loader.l"
3855  YY_BREAK
3856 case 191:
3858 #line 774 "loader.l"
3860  YY_BREAK
3861 case 192:
3863 #line 775 "loader.l"
3865  YY_BREAK
3866 case 193:
3868 #line 776 "loader.l"
3870  YY_BREAK
3871 case 194:
3873 #line 777 "loader.l"
3875  YY_BREAK
3876 case 195:
3878 #line 778 "loader.l"
3880  YY_BREAK
3881 case 196:
3883 #line 779 "loader.l"
3885  YY_BREAK
3886 case 197:
3888 #line 780 "loader.l"
3890  YY_BREAK
3891 case 198:
3893 #line 781 "loader.l"
3894 op->glow_radius = IVAL;
3895  YY_BREAK
3896 case 199:
3898 #line 782 "loader.l"
3900  YY_BREAK
3901 case 200:
3903 #line 783 "loader.l"
3905  YY_BREAK
3906 case 201:
3908 #line 784 "loader.l"
3910  YY_BREAK
3911 case 202:
3913 #line 785 "loader.l"
3914 op->randomitems = find_treasurelist(yval());
3915  YY_BREAK
3916 case 203:
3918 #line 786 "loader.l"
3920  YY_BREAK
3921 case 204:
3923 #line 787 "loader.l"
3925  YY_BREAK
3926 case 205:
3928 #line 788 "loader.l"
3930  YY_BREAK
3931 case 206:
3933 #line 790 "loader.l"
3934 { /* Some archetypes have these values in them */ }
3935  YY_BREAK
3936 case 207:
3938 #line 791 "loader.l"
3939 { /* Probably the pupland archetypes - I imagined */ }
3940  YY_BREAK
3941 case 208:
3943 #line 792 "loader.l"
3944 { /* That these are for the new combat code */ }
3945  YY_BREAK
3946 case 209:
3948 #line 793 "loader.l"
3949 { /* just ignore for now */ }
3950  YY_BREAK
3951 case 210:
3953 #line 794 "loader.l"
3954 { }
3955  YY_BREAK
3956 case 211:
3958 #line 795 "loader.l"
3959 op->weapontype = IVAL;
3960  YY_BREAK
3961 case 212:
3963 #line 796 "loader.l"
3964 op->casting_time = FVAL;
3965  YY_BREAK
3966 case 213:
3968 #line 797 "loader.l"
3969 op->smoothlevel = IVAL;
3970  YY_BREAK
3971 case 214:
3973 #line 798 "loader.l"
3974 {
3976  char *p = strchr(yval(), ' ');
3977  if (!p)
3978  continue;
3979 
3980  *p = '\0';
3981  Face *regular = (Face *)find_face(yval());
3982  Face *smoothed = (Face *)find_face(p + 1);
3983  regular->smoothface = smoothed;
3984  }
3985  YY_BREAK
3986 case 215:
3988 #line 809 "loader.l"
3989 {
3990  if (IVAL)
3991  op->map_layer = IVAL;
3992  else {
3993  int i;
3994  char *cp = yval();
3995 
3996  for (i = 0; i < MAP_LAYERS; i++) {
3997  if (!strcasecmp(cp, map_layer_name[i])) {
3998  op->map_layer = i;
3999  break;
4000  }
4001  }
4002  if (i == MAP_LAYERS) {
4003  LOG(llevError, "Invalid map_layer name found: %s\n", cp);
4004  }
4005  }
4006  }
4007  YY_BREAK
4008 case 216:
4010 #line 827 "loader.l"
4011 op->client_type = IVAL;
4012  YY_BREAK
4013 case 217:
4015 #line 828 "loader.l"
4017  YY_BREAK
4018 case 218:
4020 #line 829 "loader.l"
4021 op->duration = IVAL;
4022  YY_BREAK
4023 case 219:
4025 #line 830 "loader.l"
4026 op->range = IVAL;
4027  YY_BREAK
4028 case 220:
4030 #line 831 "loader.l"
4031 op->range_modifier = IVAL;
4032  YY_BREAK
4033 case 221:
4035 #line 832 "loader.l"
4036 op->dam_modifier = IVAL;
4037  YY_BREAK
4038 case 222:
4040 #line 833 "loader.l"
4041 op->duration_modifier = IVAL;
4042  YY_BREAK
4043 case 223:
4045 #line 834 "loader.l"
4047  YY_BREAK
4048 case 224:
4050 #line 835 "loader.l"
4051 op->sound_chance = IVAL;
4052  YY_BREAK
4053 case 225:
4055 #line 836 "loader.l"
4057  YY_BREAK
4058 case 226:
4059 /* rule 226 can match eol */
4061 #line 838 "loader.l"
4062 { /* ignore empty lines, newlines we don't do above */ }
4063  YY_BREAK
4064 case 227:
4065 /* rule 227 can match eol */
4067 #line 839 "loader.l"
4068 { }
4069  YY_BREAK
4070 case YY_STATE_EOF(INITIAL):
4071 case YY_STATE_EOF(MESSAGE):
4072 case YY_STATE_EOF(LORE):
4073 case YY_STATE_EOF(SCRIPT):
4074 #line 841 "loader.l"
4075 { /* If we got an error, return the error. Otherwise, return that we got EOF */
4076  if (lex_error != 0)
4077  return lex_error;
4078  else
4079  return LL_EOF;
4080  }
4081  YY_BREAK
4082 case 228:
4084 #line 847 "loader.l"
4085 { add_key_value(op); }
4086  YY_BREAK
4087 case 229:
4089 #line 848 "loader.l"
4090 ECHO;
4091  YY_BREAK
4092 #line 4093 "loader.c"
4093 
4094  case YY_END_OF_BUFFER:
4095  {
4096  /* Amount of text matched not including the EOB char. */
4097  int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
4098 
4099  /* Undo the effects of YY_DO_BEFORE_ACTION. */
4100  *yy_cp = (yy_hold_char);
4102 
4103  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
4104  {
4105  /* We're scanning a new file or input source. It's
4106  * possible that this happened because the user
4107  * just pointed yyin at a new source and called
4108  * yylex(). If so, then we have to assure
4109  * consistency between YY_CURRENT_BUFFER and our
4110  * globals. Here is the right place to do so, because
4111  * this is the first action (other than possibly a
4112  * back-up) that will match for the new input source.
4113  */
4114  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4115  YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
4116  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
4117  }
4118 
4119  /* Note that here we test for yy_c_buf_p "<=" to the position
4120  * of the first EOB in the buffer, since yy_c_buf_p will
4121  * already have been incremented past the NUL character
4122  * (since all states make transitions on EOB to the
4123  * end-of-buffer state). Contrast this with the test
4124  * in input().
4125  */
4126  if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4127  { /* This was really a NUL. */
4128  yy_state_type yy_next_state;
4129 
4130  (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
4131 
4132  yy_current_state = yy_get_previous_state( );
4133 
4134  /* Okay, we're now positioned to make the NUL
4135  * transition. We couldn't have
4136  * yy_get_previous_state() go ahead and do it
4137  * for us because it doesn't know how to deal
4138  * with the possibility of jamming (and we don't
4139  * want to build jamming into it because then it
4140  * will run more slowly).
4141  */
4142 
4143  yy_next_state = yy_try_NUL_trans( yy_current_state );
4144 
4146 
4147  if ( yy_next_state )
4148  {
4149  /* Consume the NUL. */
4150  yy_cp = ++(yy_c_buf_p);
4151  yy_current_state = yy_next_state;
4152  goto yy_match;
4153  }
4154 
4155  else
4156  {
4158  yy_current_state = (yy_last_accepting_state);
4159  goto yy_find_action;
4160  }
4161  }
4162 
4163  else switch ( yy_get_next_buffer( ) )
4164  {
4165  case EOB_ACT_END_OF_FILE:
4166  {
4168 
4169  if ( yywrap( ) )
4170  {
4171  /* Note: because we've taken care in
4172  * yy_get_next_buffer() to have set up
4173  * yytext, we can now set up
4174  * yy_c_buf_p so that if some total
4175  * hoser (like flex itself) wants to
4176  * call the scanner after we return the
4177  * YY_NULL, it'll still work - another
4178  * YY_NULL will get returned.
4179  */
4181 
4183  goto do_action;
4184  }
4185 
4186  else
4187  {
4188  if ( ! (yy_did_buffer_switch_on_eof) )
4189  YY_NEW_FILE;
4190  }
4191  break;
4192  }
4193 
4194  case EOB_ACT_CONTINUE_SCAN:
4195  (yy_c_buf_p) =
4196  (yytext_ptr) + yy_amount_of_matched_text;
4197 
4198  yy_current_state = yy_get_previous_state( );
4199 
4200  yy_cp = (yy_c_buf_p);
4202  goto yy_match;
4203 
4204  case EOB_ACT_LAST_MATCH:
4205  (yy_c_buf_p) =
4206  &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
4207 
4208  yy_current_state = yy_get_previous_state( );
4209 
4210  yy_cp = (yy_c_buf_p);
4212  goto yy_find_action;
4213  }
4214  break;
4215  }
4216 
4217  default:
4219  "fatal flex scanner internal error--no action found" );
4220  } /* end of action switch */
4221  } /* end of scanning one token */
4222  } /* end of user's declarations */
4223 } /* end of yylex */
4224 
4225 /* yy_get_next_buffer - try to read in a new buffer
4226  *
4227  * Returns a code representing an action:
4228  * EOB_ACT_LAST_MATCH -
4229  * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
4230  * EOB_ACT_END_OF_FILE - end of file
4231  */
4232 static int yy_get_next_buffer (void)
4233 {
4234  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
4235  char *source = (yytext_ptr);
4236  int number_to_move, i;
4237  int ret_val;
4238 
4239  if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
4241  "fatal flex scanner internal error--end of buffer missed" );
4242 
4243  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
4244  { /* Don't try to fill the buffer, so this is an EOF. */
4245  if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
4246  {
4247  /* We matched a single character, the EOB, so
4248  * treat this as a final EOF.
4249  */
4250  return EOB_ACT_END_OF_FILE;
4251  }
4252 
4253  else
4254  {
4255  /* We matched some text prior to the EOB, first
4256  * process it.
4257  */
4258  return EOB_ACT_LAST_MATCH;
4259  }
4260  }
4261 
4262  /* Try to read more data. */
4263 
4264  /* First move last chars to start of buffer. */
4265  number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr) - 1);
4266 
4267  for ( i = 0; i < number_to_move; ++i )
4268  *(dest++) = *(source++);
4269 
4270  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
4271  /* don't do the read, it's not guaranteed to return an EOF,
4272  * just force an EOF
4273  */
4274  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
4275 
4276  else
4277  {
4278  int num_to_read =
4279  YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
4280 
4281  while ( num_to_read <= 0 )
4282  { /* Not enough room in the buffer - grow it. */
4283 
4284  /* just a shorter name for the current buffer */
4286 
4287  int yy_c_buf_p_offset =
4288  (int) ((yy_c_buf_p) - b->yy_ch_buf);
4289 
4290  if ( b->yy_is_our_buffer )
4291  {
4292  int new_size = b->yy_buf_size * 2;
4293 
4294  if ( new_size <= 0 )
4295  b->yy_buf_size += b->yy_buf_size / 8;
4296  else
4297  b->yy_buf_size *= 2;
4298 
4299  b->yy_ch_buf = (char *)
4300  /* Include room in for 2 EOB chars. */
4301  yyrealloc( (void *) b->yy_ch_buf,
4302  (yy_size_t) (b->yy_buf_size + 2) );
4303  }
4304  else
4305  /* Can't grow it, we don't own it. */
4306  b->yy_ch_buf = NULL;
4307 
4308  if ( ! b->yy_ch_buf )
4310  "fatal error - scanner input buffer overflow" );
4311 
4312  (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
4313 
4314  num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
4315  number_to_move - 1;
4316 
4317  }
4318 
4319  if ( num_to_read > YY_READ_BUF_SIZE )
4320  num_to_read = YY_READ_BUF_SIZE;
4321 
4322  /* Read in more data. */
4323  YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
4324  (yy_n_chars), num_to_read );
4325 
4326  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4327  }
4328 
4329  if ( (yy_n_chars) == 0 )
4330  {
4331  if ( number_to_move == YY_MORE_ADJ )
4332  {
4333  ret_val = EOB_ACT_END_OF_FILE;
4334  yyrestart( yyin );
4335  }
4336 
4337  else
4338  {
4339  ret_val = EOB_ACT_LAST_MATCH;
4340  YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
4342  }
4343  }
4344 
4345  else
4346  ret_val = EOB_ACT_CONTINUE_SCAN;
4347 
4348  if (((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
4349  /* Extend the array by 50%, plus the number we really need. */
4350  int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
4351  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
4352  (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size );
4353  if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
4354  YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
4355  /* "- 2" to take care of EOB's */
4356  YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
4357  }
4358 
4359  (yy_n_chars) += number_to_move;
4362 
4363  (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
4364 
4365  return ret_val;
4366 }
4367 
4368 /* yy_get_previous_state - get the state just before the EOB char was reached */
4369 
4371 {
4372  yy_state_type yy_current_state;
4373  char *yy_cp;
4374 
4375  yy_current_state = (yy_start);
4376  yy_current_state += YY_AT_BOL();
4377 
4378  for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
4379  {
4380  YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
4381  if ( yy_accept[yy_current_state] )
4382  {
4383  (yy_last_accepting_state) = yy_current_state;
4385  }
4386  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4387  {
4388  yy_current_state = (int) yy_def[yy_current_state];
4389  if ( yy_current_state >= 2079 )
4390  yy_c = yy_meta[yy_c];
4391  }
4392  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4393  }
4394 
4395  return yy_current_state;
4396 }
4397 
4398 /* yy_try_NUL_trans - try to make a transition on the NUL character
4399  *
4400  * synopsis
4401  * next_state = yy_try_NUL_trans( current_state );
4402  */
4403  static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
4404 {
4405  int yy_is_jam;
4406  char *yy_cp = (yy_c_buf_p);
4407 
4408  YY_CHAR yy_c = 1;
4409  if ( yy_accept[yy_current_state] )
4410  {
4411  (yy_last_accepting_state) = yy_current_state;
4413  }
4414  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
4415  {
4416  yy_current_state = (int) yy_def[yy_current_state];
4417  if ( yy_current_state >= 2079 )
4418  yy_c = yy_meta[yy_c];
4419  }
4420  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
4421  yy_is_jam = (yy_current_state == 2078);
4422 
4423  return yy_is_jam ? 0 : yy_current_state;
4424 }
4425 
4426 #ifndef YY_NO_UNPUT
4427 
4428 #endif
4429 
4430 #ifndef YY_NO_INPUT
4431 #ifdef __cplusplus
4432  static int yyinput (void)
4433 #else
4434  static int input (void)
4435 #endif
4436 
4437 {
4438  int c;
4439 
4440  *(yy_c_buf_p) = (yy_hold_char);
4441 
4442  if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
4443  {
4444  /* yy_c_buf_p now points to the character we want to return.
4445  * If this occurs *before* the EOB characters, then it's a
4446  * valid NUL; if not, then we've hit the end of the buffer.
4447  */
4448  if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
4449  /* This was really a NUL. */
4450  *(yy_c_buf_p) = '\0';
4451 
4452  else
4453  { /* need more input */
4454  int offset = (int) ((yy_c_buf_p) - (yytext_ptr));
4455  ++(yy_c_buf_p);
4456 
4457  switch ( yy_get_next_buffer( ) )
4458  {
4459  case EOB_ACT_LAST_MATCH:
4460  /* This happens because yy_g_n_b()
4461  * sees that we've accumulated a
4462  * token and flags that we need to
4463  * try matching the token before
4464  * proceeding. But for input(),
4465  * there's no matching to consider.
4466  * So convert the EOB_ACT_LAST_MATCH
4467  * to EOB_ACT_END_OF_FILE.
4468  */
4469 
4470  /* Reset buffer status. */
4471  yyrestart( yyin );
4472 
4473  /*FALLTHROUGH*/
4474 
4475  case EOB_ACT_END_OF_FILE:
4476  {
4477  if ( yywrap( ) )
4478  return 0;
4479 
4480  if ( ! (yy_did_buffer_switch_on_eof) )
4481  YY_NEW_FILE;
4482 #ifdef __cplusplus
4483  return yyinput();
4484 #else
4485  return input();
4486 #endif
4487  }
4488 
4489  case EOB_ACT_CONTINUE_SCAN:
4490  (yy_c_buf_p) = (yytext_ptr) + offset;
4491  break;
4492  }
4493  }
4494  }
4495 
4496  c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
4497  *(yy_c_buf_p) = '\0'; /* preserve yytext */
4498  (yy_hold_char) = *++(yy_c_buf_p);
4499 
4500  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = (c == '\n');
4501 
4502  return c;
4503 }
4504 #endif /* ifndef YY_NO_INPUT */
4505 
4511  void yyrestart (FILE * input_file )
4512 {
4513 
4514  if ( ! YY_CURRENT_BUFFER ){
4518  }
4519 
4520  yy_init_buffer( YY_CURRENT_BUFFER, input_file );
4522 }
4523 
4529 {
4530 
4531  /* TODO. We should be able to replace this entire function body
4532  * with
4533  * yypop_buffer_state();
4534  * yypush_buffer_state(new_buffer);
4535  */
4537  if ( YY_CURRENT_BUFFER == new_buffer )
4538  return;
4539 
4540  if ( YY_CURRENT_BUFFER )
4541  {
4542  /* Flush out information for old buffer. */
4543  *(yy_c_buf_p) = (yy_hold_char);
4544  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4545  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4546  }
4547 
4548  YY_CURRENT_BUFFER_LVALUE = new_buffer;
4550 
4551  /* We don't actually know whether we did this switch during
4552  * EOF (yywrap()) processing, but the only time this flag
4553  * is looked at is after yywrap() is called, so it's safe
4554  * to go ahead and always set it.
4555  */
4557 }
4558 
4559 static void yy_load_buffer_state (void)
4560 {
4561  (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
4562  (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
4563  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
4564  (yy_hold_char) = *(yy_c_buf_p);
4565 }
4566 
4574 {
4576 
4577  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
4578  if ( ! b )
4579  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4580 
4581  b->yy_buf_size = size;
4582 
4583  /* yy_ch_buf has to be 2 characters longer than the size given because
4584  * we need to put in 2 end-of-buffer characters.
4585  */
4586  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) );
4587  if ( ! b->yy_ch_buf )
4588  YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
4589 
4590  b->yy_is_our_buffer = 1;
4591 
4592  yy_init_buffer( b, file );
4593 
4594  return b;
4595 }
4596 
4602 {
4603 
4604  if ( ! b )
4605  return;
4606 
4607  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
4609 
4610  if ( b->yy_is_our_buffer )
4611  yyfree( (void *) b->yy_ch_buf );
4612 
4613  yyfree( (void *) b );
4614 }
4615 
4616 /* Initializes or reinitializes a buffer.
4617  * This function is sometimes called more than once on the same buffer,
4618  * such as during a yyrestart() or at EOF.
4619  */
4620  static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
4621 
4622 {
4623  int oerrno = errno;
4624 
4625  yy_flush_buffer( b );
4626 
4627  b->yy_input_file = file;
4628  b->yy_fill_buffer = 1;
4629 
4630  /* If b is the current buffer, then yy_init_buffer was _probably_
4631  * called from yyrestart() or through yy_get_next_buffer.
4632  * In that case, we don't want to reset the lineno or column.
4633  */
4634  if (b != YY_CURRENT_BUFFER){
4635  b->yy_bs_lineno = 1;
4636  b->yy_bs_column = 0;
4637  }
4638 
4639  b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
4640 
4641  errno = oerrno;
4642 }
4643 
4649 {
4650  if ( ! b )
4651  return;
4652 
4653  b->yy_n_chars = 0;
4654 
4655  /* We always need two end-of-buffer characters. The first causes
4656  * a transition to the end-of-buffer state. The second causes
4657  * a jam in that state.
4658  */
4659  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
4660  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
4661 
4662  b->yy_buf_pos = &b->yy_ch_buf[0];
4663 
4664  b->yy_at_bol = 1;
4665  b->yy_buffer_status = YY_BUFFER_NEW;
4666 
4667  if ( b == YY_CURRENT_BUFFER )
4669 }
4670 
4678 {
4679  if (new_buffer == NULL)
4680  return;
4681 
4683 
4684  /* This block is copied from yy_switch_to_buffer. */
4685  if ( YY_CURRENT_BUFFER )
4686  {
4687  /* Flush out information for old buffer. */
4688  *(yy_c_buf_p) = (yy_hold_char);
4689  YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
4690  YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
4691  }
4692 
4693  /* Only push if top exists. Otherwise, replace top. */
4694  if (YY_CURRENT_BUFFER)
4695  (yy_buffer_stack_top)++;
4696  YY_CURRENT_BUFFER_LVALUE = new_buffer;
4697 
4698  /* copied from yy_switch_to_buffer. */
4701 }
4702 
4708 {
4709  if (!YY_CURRENT_BUFFER)
4710  return;
4711 
4713  YY_CURRENT_BUFFER_LVALUE = NULL;
4714  if ((yy_buffer_stack_top) > 0)
4715  --(yy_buffer_stack_top);
4716 
4717  if (YY_CURRENT_BUFFER) {
4720  }
4721 }
4722 
4723 /* Allocates the stack if it does not exist.
4724  * Guarantees space for at least one push.
4725  */
4726 static void yyensure_buffer_stack (void)
4727 {
4728  yy_size_t num_to_alloc;
4729 
4730  if (!(yy_buffer_stack)) {
4731 
4732  /* First allocation is just for 2 elements, since we don't know if this
4733  * scanner will even need a stack. We use 2 instead of 1 to avoid an
4734  * immediate realloc on the next call.
4735  */
4736  num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
4738  (num_to_alloc * sizeof(struct yy_buffer_state*)
4739  );
4740  if ( ! (yy_buffer_stack) )
4741  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4742 
4743  memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
4744 
4745  (yy_buffer_stack_max) = num_to_alloc;
4746  (yy_buffer_stack_top) = 0;
4747  return;
4748  }
4749 
4750  if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
4751 
4752  /* Increase the buffer to prepare for a possible push. */
4753  yy_size_t grow_size = 8 /* arbitrary grow size */;
4754 
4755  num_to_alloc = (yy_buffer_stack_max) + grow_size;
4757  ((yy_buffer_stack),
4758  num_to_alloc * sizeof(struct yy_buffer_state*)
4759  );
4760  if ( ! (yy_buffer_stack) )
4761  YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
4762 
4763  /* zero only the new slots.*/
4764  memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
4765  (yy_buffer_stack_max) = num_to_alloc;
4766  }
4767 }
4768 
4776 {
4778 
4779  if ( size < 2 ||
4780  base[size-2] != YY_END_OF_BUFFER_CHAR ||
4781  base[size-1] != YY_END_OF_BUFFER_CHAR )
4782  /* They forgot to leave room for the EOB's. */
4783  return NULL;
4784 
4785  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) );
4786  if ( ! b )
4787  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
4788 
4789  b->yy_buf_size = (int) (size - 2); /* "- 2" to take care of EOB's */
4790  b->yy_buf_pos = b->yy_ch_buf = base;
4791  b->yy_is_our_buffer = 0;
4792  b->yy_input_file = NULL;
4793  b->yy_n_chars = b->yy_buf_size;
4794  b->yy_is_interactive = 0;
4795  b->yy_at_bol = 1;
4796  b->yy_fill_buffer = 0;
4797  b->yy_buffer_status = YY_BUFFER_NEW;
4798 
4800 
4801  return b;
4802 }
4803 
4812 YY_BUFFER_STATE yy_scan_string (const char * yystr )
4813 {
4814 
4815  return yy_scan_bytes( yystr, (int) strlen(yystr) );
4816 }
4817 
4825 YY_BUFFER_STATE yy_scan_bytes (const char * yybytes, int _yybytes_len )
4826 {
4828  char *buf;
4829  yy_size_t n;
4830  int i;
4831 
4832  /* Get memory for full buffer, including space for trailing EOB's. */
4833  n = (yy_size_t) (_yybytes_len + 2);
4834  buf = (char *) yyalloc( n );
4835  if ( ! buf )
4836  YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
4837 
4838  for ( i = 0; i < _yybytes_len; ++i )
4839  buf[i] = yybytes[i];
4840 
4841  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
4842 
4843  b = yy_scan_buffer( buf, n );
4844  if ( ! b )
4845  YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
4846 
4847  /* It's okay to grow etc. this buffer, and we should throw it
4848  * away when we're done.
4849  */
4850  b->yy_is_our_buffer = 1;
4851 
4852  return b;
4853 }
4854 
4855  static void yy_push_state (int _new_state )
4856 {
4858  {
4859  yy_size_t new_size;
4860 
4862  new_size = (yy_size_t) (yy_start_stack_depth) * sizeof( int );
4863 
4864  if ( ! (yy_start_stack) )
4865  (yy_start_stack) = (int *) yyalloc( new_size );
4866 
4867  else
4868  (yy_start_stack) = (int *) yyrealloc(
4869  (void *) (yy_start_stack), new_size );
4870 
4871  if ( ! (yy_start_stack) )
4872  YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
4873  }
4874 
4876 
4877  BEGIN(_new_state);
4878 }
4879 
4880  static void yy_pop_state (void)
4881 {
4882  if ( --(yy_start_stack_ptr) < 0 )
4883  YY_FATAL_ERROR( "start-condition stack underflow" );
4884 
4886 }
4887 
4888 #ifndef YY_EXIT_FAILURE
4889 #define YY_EXIT_FAILURE 2
4890 #endif
4891 
4892 static void yynoreturn yy_fatal_error (const char* msg )
4893 {
4894  fprintf( stderr, "%s\n", msg );
4895  exit( YY_EXIT_FAILURE );
4896 }
4897 
4898 /* Redefine yyless() so it works in section 3 code. */
4899 
4900 #undef yyless
4901 #define yyless(n) \
4902  do \
4903  { \
4904  /* Undo effects of setting up yytext. */ \
4905  int yyless_macro_arg = (n); \
4906  YY_LESS_LINENO(yyless_macro_arg);\
4907  yytext[yyleng] = (yy_hold_char); \
4908  (yy_c_buf_p) = yytext + yyless_macro_arg; \
4909  (yy_hold_char) = *(yy_c_buf_p); \
4910  *(yy_c_buf_p) = '\0'; \
4911  yyleng = yyless_macro_arg; \
4912  } \
4913  while ( 0 )
4914 
4915 /* Accessor methods (get/set functions) to struct members. */
4916 
4920 int yyget_lineno (void)
4921 {
4922 
4923  return yylineno;
4924 }
4925 
4929 FILE *yyget_in (void)
4930 {
4931  return yyin;
4932 }
4933 
4937 FILE *yyget_out (void)
4938 {
4939  return yyout;
4940 }
4941 
4945 int yyget_leng (void)
4946 {
4947  return yyleng;
4948 }
4949 
4954 char *yyget_text (void)
4955 {
4956  return yytext;
4957 }
4958 
4963 void yyset_lineno (int _line_number )
4964 {
4965 
4966  yylineno = _line_number;
4967 }
4968 
4975 void yyset_in (FILE * _in_str )
4976 {
4977  yyin = _in_str ;
4978 }
4979 
4980 void yyset_out (FILE * _out_str )
4981 {
4982  yyout = _out_str ;
4983 }
4984 
4985 int yyget_debug (void)
4986 {
4987  return yy_flex_debug;
4988 }
4989 
4990 void yyset_debug (int _bdebug )
4991 {
4992  yy_flex_debug = _bdebug ;
4993 }
4994 
4995 static int yy_init_globals (void)
4996 {
4997  /* Initialization is the same as for the non-reentrant scanner.
4998  * This function is called from yylex_destroy(), so don't allocate here.
4999  */
5000 
5001  (yy_buffer_stack) = NULL;
5002  (yy_buffer_stack_top) = 0;
5003  (yy_buffer_stack_max) = 0;
5004  (yy_c_buf_p) = NULL;
5005  (yy_init) = 0;
5006  (yy_start) = 0;
5007 
5008  (yy_start_stack_ptr) = 0;
5009  (yy_start_stack_depth) = 0;
5010  (yy_start_stack) = NULL;
5011 
5012 /* Defined in main.c */
5013 #ifdef YY_STDINIT
5014  yyin = stdin;
5015  yyout = stdout;
5016 #else
5017  yyin = NULL;
5018  yyout = NULL;
5019 #endif
5020 
5021  /* For future reference: Set errno on error, since we are called by
5022  * yylex_init()
5023  */
5024  return 0;
5025 }
5026 
5027 /* yylex_destroy is for both reentrant and non-reentrant scanners. */
5028 int yylex_destroy (void)
5029 {
5030 
5031  /* Pop the buffer stack, destroying each element. */
5032  while(YY_CURRENT_BUFFER){
5034  YY_CURRENT_BUFFER_LVALUE = NULL;
5036  }
5037 
5038  /* Destroy the stack itself. */
5039  yyfree((yy_buffer_stack) );
5040  (yy_buffer_stack) = NULL;
5041 
5042  /* Destroy the start condition stack. */
5043  yyfree( (yy_start_stack) );
5044  (yy_start_stack) = NULL;
5045 
5046  /* Reset the globals. This is important in a non-reentrant scanner so the next time
5047  * yylex() is called, initialization will occur. */
5048  yy_init_globals( );
5049 
5050  return 0;
5051 }
5052 
5053 /*
5054  * Internal utility routines.
5055  */
5056 
5057 #ifndef yytext_ptr
5058 static void yy_flex_strncpy (char* s1, const char * s2, int n )
5059 {
5060 
5061  int i;
5062  for ( i = 0; i < n; ++i )
5063  s1[i] = s2[i];
5064 }
5065 #endif
5066 
5067 #ifdef YY_NEED_STRLEN
5068 static int yy_flex_strlen (const char * s )
5069 {
5070  int n;
5071  for ( n = 0; s[n]; ++n )
5072  ;
5073 
5074  return n;
5075 }
5076 #endif
5077 
5078 void *yyalloc (yy_size_t size )
5079 {
5080  return malloc(size);
5081 }
5082 
5083 void *yyrealloc (void * ptr, yy_size_t size )
5084 {
5085 
5086  /* The cast to (char *) in the following accommodates both
5087  * implementations that use char* generic pointers, and those
5088  * that use void* generic pointers. It works with the latter
5089  * because both ANSI C and C++ allow castless assignment from
5090  * any pointer type to void*, and deal with argument conversions
5091  * as though doing an assignment.
5092  */
5093  return realloc(ptr, size);
5094 }
5095 
5096 void yyfree (void * ptr )
5097 {
5098  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
5099 }
5100 
5101 #define YYTABLES_NAME "yytables"
5102 
5103 #line 848 "loader.l"
5104 
5105 
5114 static char *yval(void)
5115 {
5116  static char em[] = "";
5117  char *cp, *end;
5118 
5119  /* First skip over start of line, like animation or name */
5120  for (cp = yytext; *cp != ' '; cp++) {
5121  if (*cp == '\0') {
5122  return em;
5123  }
5124  }
5125 
5126  /* Skip over whitespace */
5127  for (; *cp == ' '; cp++) {
5128  if (*cp == '\0') {
5129  return em;
5130  }
5131  }
5132  /* Got last character before null and strip
5133  * off tailing whitespace
5134  */
5135  for (end = cp+strlen(cp)-1; *end == ' '; end--) {
5136  if (end == cp)
5137  return em;
5138  *end = '\0';
5139  }
5140  return cp;
5141 }
5142 
5166 int load_object(FILE *fp, object *op, int bufstate, int map_flags) {
5167  int retval;
5168  char inbuf[VERY_BIG_BUF];
5169 #define MAXDEPTH 10
5170  object *items[MAXDEPTH];
5171  int depth = 0, ismore = 0;
5172 
5173  items[0] = op,
5174  strcpy(msgbuf, "");
5175  msglen = 0;
5176  total_msglen = 0;
5177  strcpy(lorebuf, "");
5178  if (bufstate == LO_NEWFILE || bufstate == LO_NOREAD) {
5179  /* LOG(llevDebug, "Switching lex buffers\n");*/
5182  if (bufstate == LO_NOREAD)
5183  return LL_NORMAL;
5184  } else if (bufstate == LO_LINEMODE) {
5185  YY_BUFFER_STATE yybufstate;
5187  while (fgets(inbuf, VERY_BIG_BUF-3, fp)) {
5188  yybufstate = yy_scan_string(inbuf);
5189  retval = lex_load(&depth, items, MAXDEPTH, map_flags, 1, &ismore);
5190  yy_delete_buffer(yybufstate);
5191  if (retval == LL_NORMAL) {
5192  if (depth == 0)
5193  return retval;
5194  else
5195  depth--;
5196  }
5197  }
5198  LOG(llevDebug, "Got eof while scanning strings\n");
5199  return LL_EOF;
5200  }
5201 
5202  retval = lex_load(&depth, items, MAXDEPTH, map_flags, 0, &ismore);
5203 
5204 /* LOG(llevDebug, " load completed, object=%s\n", op->name);*/
5205  return retval;
5206 }
5207 
5216 int load_object_from_reader(BufferReader *reader, object *op, int map_flags) {
5217  int retval;
5218  object *items[MAXDEPTH];
5219  int depth = 0, ismore = 0;
5220  char buf[HUGE_BUF];
5221 
5222  items[0] = op,
5223  strcpy(msgbuf, "");
5224  msglen = 0;
5225  total_msglen = 0;
5226  strcpy(lorebuf, "");
5227 
5228  YY_BUFFER_STATE yybufstate;
5231 
5232  while (bufferreader_get_line(reader, buf, sizeof(buf)) != NULL) {
5233  yybufstate = yy_scan_string(buf);
5234  retval = lex_load(&depth, items, MAXDEPTH, map_flags, 1, &ismore);
5235  yy_delete_buffer(yybufstate);
5236  if (retval == LL_NORMAL || retval == LL_MORE) {
5237  if (depth == 0) {
5238  yy_pop_state();
5239  return ismore ? LL_MORE : LL_NORMAL;
5240  } else
5241  depth--;
5242  }
5243  }
5244  if (depth > 0) {
5245  LOG(llevError, "Got eof while scanning strings\n");
5246  }
5247  yy_pop_state();
5248  return LL_EOF;
5249 }
5250 
5267 int set_variable(object *op, const char *buf) {
5268  YY_BUFFER_STATE yybufstate, yycurbuf = YY_CURRENT_BUFFER;
5269  int retval, depth, ismore = 0;
5270  object *items[MAXDEPTH];
5271 
5272  strcpy(msgbuf, "");
5273  msglen = 0;
5274  total_msglen = 0;
5275  strcpy(lorebuf, "");
5276  items[0] = op;
5277  depth = 0;
5279  yybufstate = yy_scan_string(buf);
5280  retval = lex_load(&depth, items, MAXDEPTH, 0, 0, &ismore);
5281  if (yycurbuf) {
5282  yy_switch_to_buffer(yycurbuf);
5283  }
5284  yy_delete_buffer(yybufstate);
5285  yy_pop_state();
5286  return retval;
5287 }
5288 
5289 /* Start of C code */
5290 
5294 void free_loader(void) {
5296 
5297  /* Comment out this yylex_destroy(), as it results in link errors
5298  * on linux
5299  */
5300 /* yylex_destroy();*/
5301 }
5302 
flex_int32_t
int flex_int32_t
Definition: loader.c:52
yynoreturn
#define yynoreturn
Definition: loader.c:102
FLAG_USE_BOW
#define FLAG_USE_BOW
Definition: define.h:293
check_loaded_object
static void check_loaded_object(object *op)
Definition: loader.c:2140
Face
Definition: face.h:14
PLAYER
@ PLAYER
Definition: object.h:107
ATNR_PARALYZE
#define ATNR_PARALYZE
Definition: attack.h:61
global.h
FLAG_NEUTRAL
#define FLAG_NEUTRAL
Definition: define.h:354
ATNR_CANCELLATION
#define ATNR_CANCELLATION
Definition: attack.h:64
castle_read.prefix
string prefix
Definition: castle_read.py:31
SCRIPT
#define SCRIPT
Definition: loader.c:2392
yy_c_buf_p
static char * yy_c_buf_p
Definition: loader.c:273
yyfree
void yyfree(void *)
Definition: loader.c:5096
add_string
sstring add_string(const char *str)
Definition: shstr.c:124
NUM_BODY_LOCATIONS
#define NUM_BODY_LOCATIONS
Definition: object.h:13
ATNR_INTERNAL
#define ATNR_INTERNAL
Definition: attack.h:72
FLAG_STAND_STILL
#define FLAG_STAND_STILL
Definition: define.h:308
FLAG_CONFUSED
#define FLAG_CONFUSED
Definition: define.h:311
BOW
@ BOW
Definition: object.h:118
llevError
@ llevError
Definition: logger.h:11
give_artifact_abilities
void give_artifact_abilities(object *op, const object *artifact)
Definition: artifact.c:194
FABS
#define FABS(x)
Definition: define.h:22
FLAG_CLIENT_ANIM_RANDOM
#define FLAG_CLIENT_ANIM_RANDOM
Definition: define.h:241
total_msglen
size_t total_msglen
Definition: loader.c:2080
MOVE_ALL
#define MOVE_ALL
Definition: define.h:398
FLAG_USE_RING
#define FLAG_USE_RING
Definition: define.h:297
FLAG_UNDEAD
#define FLAG_UNDEAD
Definition: define.h:270
FLAG_OVERLAY_FLOOR
#define FLAG_OVERLAY_FLOOR
Definition: define.h:255
SET_FLAG
#define SET_FLAG(xyz, p)
Definition: define.h:224
yyget_debug
int yyget_debug(void)
Definition: loader.c:4985
FLAG_GENERATOR
#define FLAG_GENERATOR
Definition: define.h:248
yy_trans_info
Definition: loader.c:361
load_object
int load_object(FILE *fp, object *op, int bufstate, int map_flags)
Definition: loader.c:5166
YY_SC_TO_UI
#define YY_SC_TO_UI(c)
Definition: loader.c:111
ATNR_ACID
#define ATNR_ACID
Definition: attack.h:55
FLAG_STARTEQUIP
#define FLAG_STARTEQUIP
Definition: define.h:268
QUERY_FLAG
#define QUERY_FLAG(xyz, p)
Definition: define.h:226
FLAG_REFL_MISSILE
#define FLAG_REFL_MISSILE
Definition: define.h:273
load_object_from_reader
int load_object_from_reader(BufferReader *reader, object *op, int map_flags)
Definition: loader.c:5216
get_archetype_struct
archetype * get_archetype_struct(void)
Definition: arch.cpp:198
FLAG_CONTENT_ON_GEN
#define FLAG_CONTENT_ON_GEN
Definition: define.h:365
yy_start_stack_depth
static int yy_start_stack_depth
Definition: loader.c:2471
yyensure_buffer_stack
static void yyensure_buffer_stack(void)
Definition: loader.c:4726
yy_buffer_state::yy_input_file
FILE * yy_input_file
Definition: loader.c:187
FLAG_IS_TURNABLE
#define FLAG_IS_TURNABLE
Definition: define.h:256
FLAG_SEE_IN_DARK
#define FLAG_SEE_IN_DARK
Definition: define.h:337
Settings::permanent_exp_ratio
uint8_t permanent_exp_ratio
Definition: global.h:254
object_new
object * object_new(void)
Definition: object.c:1242
c
static event_registration c
Definition: citylife.cpp:425
YY_CHAR
flex_uint8_t YY_CHAR
Definition: loader.c:328
manor.params
params
Definition: manor.py:295
LL_IGNORED
#define LL_IGNORED
Definition: loader.h:9
yyset_extra
void yyset_extra(YY_EXTRA_TYPE user_defined)
yy_size_t
size_t yy_size_t
Definition: loader.c:154
yy_pop_state
static void yy_pop_state(void)
Definition: loader.c:4880
FLAG_UNIQUE
#define FLAG_UNIQUE
Definition: define.h:287
YY_CURRENT_BUFFER_LVALUE
#define YY_CURRENT_BUFFER_LVALUE
Definition: loader.c:265
set_materialname
void set_materialname(object *op)
Definition: utils.c:301
bufferreader_get_line
char * bufferreader_get_line(BufferReader *br, char *buffer, size_t length)
Definition: bufferreader.c:119
yypush_buffer_state
void yypush_buffer_state(YY_BUFFER_STATE new_buffer)
Definition: loader.c:4677
yylineno
int yylineno
Definition: loader.c:335
yy_buffer_state
Definition: loader.c:185
WEAPON
@ WEAPON
Definition: object.h:119
object_set_flag_inv
void object_set_flag_inv(object *op, int flag)
Definition: object.c:3189
MoveType
unsigned char MoveType
Definition: define.h:417
flex_uint32_t
unsigned int flex_uint32_t
Definition: loader.c:55
YY_BUFFER_EOF_PENDING
#define YY_BUFFER_EOF_PENDING
Definition: loader.c:243
ATNR_SLOW
#define ATNR_SLOW
Definition: attack.h:60
yy_try_NUL_trans
static yy_state_type yy_try_NUL_trans(yy_state_type current_state)
Definition: loader.c:4403
FLAG_SEE_INVISIBLE
#define FLAG_SEE_INVISIBLE
Definition: define.h:253
mad_mage_user.file
file
Definition: mad_mage_user.py:15
YY_RESTORE_YY_MORE_OFFSET
#define YY_RESTORE_YY_MORE_OFFSET
Definition: loader.c:2048
ATNR_GODPOWER
#define ATNR_GODPOWER
Definition: attack.h:69
MAP_LAYERS
#define MAP_LAYERS
Definition: map.h:32
yy_bp
char * yy_bp
Definition: loader.c:2586
object_can_merge
int object_can_merge(object *ob1, object *ob2)
Definition: object.c:422
msgbuf
static char msgbuf[HUGE_BUF]
Definition: loader.c:2079
FLAG_WIZCAST
#define FLAG_WIZCAST
Definition: define.h:289
RUNE
@ RUNE
Definition: object.h:240
ATNR_DISEASE
#define ATNR_DISEASE
Definition: attack.h:74
FLAG_SCARED
#define FLAG_SCARED
Definition: define.h:271
find_treasurelist
treasurelist * find_treasurelist(const char *name)
Definition: assets.cpp:257
Ice.tmp
int tmp
Definition: Ice.py:207
FLAG_ONE_HIT
#define FLAG_ONE_HIT
Definition: define.h:343
YY_AT_BOL
#define YY_AT_BOL()
Definition: loader.c:322
FLAG_ONLY_ATTACK
#define FLAG_ONLY_ATTACK
Definition: define.h:310
CREATOR
@ CREATOR
Definition: object.h:142
FLAG_BLESSED
#define FLAG_BLESSED
Definition: define.h:369
FLAG_READY_SCROLL
#define FLAG_READY_SCROLL
Definition: define.h:324
SET_OR_CLEAR_FLAG
#define SET_OR_CLEAR_FLAG(op, flag, val)
Definition: loader.c:2084
FLAG_NO_MAGIC
#define FLAG_NO_MAGIC
Definition: define.h:276
yy_meta
static const YY_CHAR yy_meta[60]
Definition: loader.c:630
ATNR_PHYSICAL
#define ATNR_PHYSICAL
Definition: attack.h:49
yy_create_buffer
YY_BUFFER_STATE yy_create_buffer(FILE *file, int size)
Definition: loader.c:4573
YY_CURRENT_BUFFER
#define YY_CURRENT_BUFFER
Definition: loader.c:259
LO_NEWFILE
#define LO_NEWFILE
Definition: loader.h:17
yy_push_state
static void yy_push_state(int _new_state)
Definition: loader.c:4855
FLAG_BLOCKSVIEW
#define FLAG_BLOCKSVIEW
Definition: define.h:269
ATNR_TURN_UNDEAD
#define ATNR_TURN_UNDEAD
Definition: attack.h:62
yyset_debug
void yyset_debug(int debug_flag)
Definition: loader.c:4990
yytext_ptr
#define yytext_ptr
Definition: loader.c:341
yy_scan_bytes
YY_BUFFER_STATE yy_scan_bytes(const char *bytes, int len)
Definition: loader.c:4825
yy_state_type
int yy_state_type
Definition: loader.c:332
yy_buffer_state::yy_at_bol
int yy_at_bol
Definition: loader.c:219
FLAG_INV_LOCKED
#define FLAG_INV_LOCKED
Definition: define.h:329
set_variable
int set_variable(object *op, const char *buf)
Definition: loader.c:5267
FLAG_APPLIED
#define FLAG_APPLIED
Definition: define.h:235
FLAG_STEALTH
#define FLAG_STEALTH
Definition: define.h:312
find_face
const Face * find_face(const char *name)
Definition: assets.cpp:302
FLAG_BLIND
#define FLAG_BLIND
Definition: define.h:336
yyalloc
void * yyalloc(yy_size_t)
Definition: loader.c:5078
FLAG_ACTIVATE_ON_PUSH
#define FLAG_ACTIVATE_ON_PUSH
Definition: define.h:362
INITIAL
#define INITIAL
Definition: loader.c:2389
HUGE_BUF
#define HUGE_BUF
Definition: define.h:37
yy_hold_char
static char yy_hold_char
Definition: loader.c:268
map_layer_name
const char *const map_layer_name[MAP_LAYERS]
Definition: map.c:55
FLAG_NO_PICK
#define FLAG_NO_PICK
Definition: define.h:239
ATNR_CONFUSION
#define ATNR_CONFUSION
Definition: attack.h:54
YY_EXTRA_TYPE
#define YY_EXTRA_TYPE
Definition: loader.c:2403
yy_buffer_state::yy_is_our_buffer
int yy_is_our_buffer
Definition: loader.c:206
find_artifact
const artifact * find_artifact(const object *op, const char *name)
Definition: artifact.c:657
ATNR_HOLYWORD
#define ATNR_HOLYWORD
Definition: attack.h:70
MAP_STYLE
#define MAP_STYLE
Definition: map.h:99
YY_READ_BUF_SIZE
#define YY_READ_BUF_SIZE
Definition: loader.c:2484
archt
Definition: object.h:468
settings
struct Settings settings
Definition: init.c:39
FLAG_ALIVE
#define FLAG_ALIVE
Definition: define.h:230
LO_NOREAD
#define LO_NOREAD
Definition: loader.h:18
FLAG_IS_A_TEMPLATE
#define FLAG_IS_A_TEMPLATE
Definition: define.h:366
free_string
void free_string(sstring str)
Definition: shstr.c:280
yy_buffer_stack
static YY_BUFFER_STATE * yy_buffer_stack
Definition: loader.c:251
yy_last_accepting_cpos
static char * yy_last_accepting_cpos
Definition: loader.c:2037
ATNR_BLIND
#define ATNR_BLIND
Definition: attack.h:71
stringbuffer.h
FLAG_NO_ATTACK
#define FLAG_NO_ATTACK
Definition: define.h:355
FLAG_TEAR_DOWN
#define FLAG_TEAR_DOWN
Definition: define.h:279
YY_EXIT_FAILURE
#define YY_EXIT_FAILURE
Definition: loader.c:4889
yy_init_globals
static int yy_init_globals(void)
Definition: loader.c:4995
yy_ec
static const YY_CHAR yy_ec[256]
Definition: loader.c:598
yval
static char * yval(void)
Definition: loader.c:5114
arch_init
int arch_init
Definition: ArchetypeLoader.cpp:22
FLAG_WAS_WIZ
#define FLAG_WAS_WIZ
Definition: define.h:234
YY_RULE_SETUP
#define YY_RULE_SETUP
Definition: loader.c:2575
yy_nxt
static const flex_int16_t yy_nxt[3855]
Definition: loader.c:1180
yy_flush_buffer
void yy_flush_buffer(YY_BUFFER_STATE b)
Definition: loader.c:4648
object_copy
void object_copy(const object *src_ob, object *dest_ob)
Definition: object.c:1053
yy_chk
static const flex_int16_t yy_chk[3855]
Definition: loader.c:1608
FLAG_USE_RANGE
#define FLAG_USE_RANGE
Definition: define.h:292
YY_NEW_FILE
#define YY_NEW_FILE
Definition: loader.c:127
FLAG_KNOWN_BLESSED
#define FLAG_KNOWN_BLESSED
Definition: define.h:370
MOVE_WALK
#define MOVE_WALK
Definition: define.h:392
FLAG_KNOWN_CURSED
#define FLAG_KNOWN_CURSED
Definition: define.h:320
flex_int16_t
short int flex_int16_t
Definition: loader.c:51
yy_start
static int yy_start
Definition: loader.c:275
yylex
#define yylex
Definition: reader.c:23
yy_buffer_state::yy_fill_buffer
int yy_fill_buffer
Definition: loader.c:227
lorebuf
static char lorebuf[HUGE_BUF]
Definition: loader.c:2081
yy_fatal_error
static void yynoreturn yy_fatal_error(const char *msg)
Definition: loader.c:4892
YY_INPUT
#define YY_INPUT(buf, result, max_size)
Definition: loader.c:2500
make_face_from_files.str
str
Definition: make_face_from_files.py:24
YY_BUF_SIZE
#define YY_BUF_SIZE
Definition: loader.c:139
BEGIN
#define BEGIN
Definition: loader.c:117
yy_buffer_stack_max
static size_t yy_buffer_stack_max
Definition: loader.c:250
SET_RESIST
#define SET_RESIST(op, type, val)
Definition: loader.c:2087
ECHO
#define ECHO
Definition: loader.c:2493
FLAG_MAKE_INVIS
#define FLAG_MAKE_INVIS
Definition: define.h:328
navar-midane_pickup.msg
list msg
Definition: navar-midane_pickup.py:13
MOVE_FLYING
#define MOVE_FLYING
Definition: define.h:395
YY_DECL
#define YY_DECL
Definition: loader.c:2074
FLAG_NO_DAMAGE
#define FLAG_NO_DAMAGE
Definition: define.h:356
FREE_AND_COPY
#define FREE_AND_COPY(sv, nv)
Definition: global.h:202
yy_load_buffer_state
static void yy_load_buffer_state(void)
Definition: loader.c:4559
Ice.b
b
Definition: Ice.py:48
yy_buffer_state::yy_buf_size
int yy_buf_size
Definition: loader.c:195
FLAG_IS_WOODED
#define FLAG_IS_WOODED
Definition: define.h:330
is_type_valid
int is_type_valid(uint8_t type)
Definition: arch_types_valid.c:17
yy_cp
char * yy_cp
Definition: loader.c:2586
CONVERTER
@ CONVERTER
Definition: object.h:216
FLAG_DAMNED
#define FLAG_DAMNED
Definition: define.h:317
yy_base
static const flex_int16_t yy_base[2419]
Definition: loader.c:640
yy_buffer_state::yy_ch_buf
char * yy_ch_buf
Definition: loader.c:189
ATNR_DRAIN
#define ATNR_DRAIN
Definition: attack.h:56
yy_n_chars
static int yy_n_chars
Definition: loader.c:269
FLAG_PARALYZED
#define FLAG_PARALYZED
Definition: define.h:371
yyrealloc
void * yyrealloc(void *, yy_size_t)
Definition: loader.c:5083
FLAG_USE_SHIELD
#define FLAG_USE_SHIELD
Definition: define.h:237
FLAG_WIZPASS
#define FLAG_WIZPASS
Definition: define.h:314
FLAG_CAN_ROLL
#define FLAG_CAN_ROLL
Definition: define.h:254
yy_start_stack_ptr
static int yy_start_stack_ptr
Definition: loader.c:2470
object_set_value
int object_set_value(object *op, const char *key, const char *value, int add_key)
Definition: object.c:4489
FLAG_UNAGGRESSIVE
#define FLAG_UNAGGRESSIVE
Definition: define.h:272
ATNR_COUNTERSPELL
#define ATNR_COUNTERSPELL
Definition: attack.h:68
yyget_text
char * yyget_text(void)
Definition: loader.c:4954
object_give_identified_properties
void object_give_identified_properties(object *op)
Definition: item.c:1343
Face::smoothface
struct Face * smoothface
Definition: face.h:18
ATNR_POISON
#define ATNR_POISON
Definition: attack.h:59
FLAG_USE_WEAPON
#define FLAG_USE_WEAPON
Definition: define.h:296
sproto.h
FLAG_NO_DROP
#define FLAG_NO_DROP
Definition: define.h:288
ATNR_DEATH
#define ATNR_DEATH
Definition: attack.h:66
flex_uint8_t
unsigned char flex_uint8_t
Definition: loader.c:53
FLAG_CAN_USE_SKILL
#define FLAG_CAN_USE_SKILL
Definition: define.h:321
yywrap
#define yywrap()
Definition: loader.c:326
FLAG_NO_STEAL
#define FLAG_NO_STEAL
Definition: define.h:342
YY_END_OF_BUFFER_CHAR
#define YY_END_OF_BUFFER_CHAR
Definition: loader.c:128
yylex_destroy
int yylex_destroy(void)
Definition: loader.c:5028
YY_DO_BEFORE_ACTION
#define YY_DO_BEFORE_ACTION
Definition: loader.c:351
FLAG_SPLITTING
#define FLAG_SPLITTING
Definition: define.h:266
FLAG_MONSTER
#define FLAG_MONSTER
Definition: define.h:245
FLAG_RANDOM_MOVE
#define FLAG_RANDOM_MOVE
Definition: define.h:309
FLAG_HITBACK
#define FLAG_HITBACK
Definition: define.h:267
move_name
const char *const move_name[]
Definition: object.c:4819
artifactstruct
Definition: artifact.h:14
YY_BUFFER_NEW
#define YY_BUFFER_NEW
Definition: loader.c:231
yy_init
static int yy_init
Definition: loader.c:274
IS_WEAPON
#define IS_WEAPON(op)
Definition: define.h:163
yyget_extra
YY_EXTRA_TYPE yyget_extra(void)
RANDOM
#define RANDOM()
Definition: define.h:642
free_loader
void free_loader(void)
Definition: loader.c:5294
ATNR_FIRE
#define ATNR_FIRE
Definition: attack.h:51
FLAG_CLIENT_ANIM_SYNC
#define FLAG_CLIENT_ANIM_SYNC
Definition: define.h:240
YY_FATAL_ERROR
#define YY_FATAL_ERROR(msg)
Definition: loader.c:2547
FLAG_KNOWN_MAGICAL
#define FLAG_KNOWN_MAGICAL
Definition: define.h:319
msglen
size_t msglen
Definition: loader.c:2080
yy_init_buffer
static void yy_init_buffer(YY_BUFFER_STATE b, FILE *file)
Definition: loader.c:4620
object_set_msg
void object_set_msg(object *op, const char *msg)
Definition: object.c:4798
yy_scan_string
YY_BUFFER_STATE yy_scan_string(const char *yy_str)
Definition: loader.c:4812
FLAG_READY_SKILL
#define FLAG_READY_SKILL
Definition: define.h:333
FLAG_READY_BOW
#define FLAG_READY_BOW
Definition: define.h:299
yyget_leng
int yyget_leng(void)
Definition: loader.c:4945
FLAG_REFL_SPELL
#define FLAG_REFL_SPELL
Definition: define.h:275
FLAG_WIZ
#define FLAG_WIZ
Definition: define.h:231
MAXDEPTH
#define MAXDEPTH
yyset_out
void yyset_out(FILE *_out_str)
Definition: loader.c:4980
lex_error
static int lex_error
Definition: loader.c:2078
yy_delete_buffer
void yy_delete_buffer(YY_BUFFER_STATE b)
Definition: loader.c:4601
FLAG_FRIENDLY
#define FLAG_FRIENDLY
Definition: define.h:246
yy_buffer_state::yy_buffer_status
int yy_buffer_status
Definition: loader.c:229
ATNR_CHAOS
#define ATNR_CHAOS
Definition: attack.h:67
yy_buffer_state::yy_buf_pos
char * yy_buf_pos
Definition: loader.c:190
EOB_ACT_END_OF_FILE
#define EOB_ACT_END_OF_FILE
Definition: loader.c:162
yy_accept
static const flex_int16_t yy_accept[2079]
Definition: loader.c:366
flex_int8_t
signed char flex_int8_t
Definition: loader.c:50
yyrestart
void yyrestart(FILE *input_file)
Definition: loader.c:4511
yy_trans_info::yy_nxt
flex_int32_t yy_nxt
Definition: loader.c:364
ATNR_DEPLETE
#define ATNR_DEPLETE
Definition: attack.h:65
FLAG_USE_ARMOUR
#define FLAG_USE_ARMOUR
Definition: define.h:295
FLAG_CAST_SPELL
#define FLAG_CAST_SPELL
Definition: define.h:290
FLAG_IS_BUILDABLE
#define FLAG_IS_BUILDABLE
Definition: define.h:367
LOG
void LOG(LogLevel logLevel, const char *format,...)
Definition: logger.c:51
add_button_link
void add_button_link(object *button, mapstruct *map, int connected)
Definition: button.c:656
create_archetype_by_object_name
object * create_archetype_by_object_name(const char *name)
Definition: arch.cpp:118
newserver.h
LO_LINEMODE
#define LO_LINEMODE
Definition: loader.h:16
yy_trans_info::yy_verify
flex_int32_t yy_verify
Definition: loader.c:363
yyset_lineno
void yyset_lineno(int _line_number)
Definition: loader.c:4963
give.op
op
Definition: give.py:33
yy_buffer_state::yy_bs_column
int yy_bs_column
Definition: loader.c:222
autojail.value
value
Definition: autojail.py:6
FLAG_AUTO_APPLY
#define FLAG_AUTO_APPLY
Definition: define.h:250
yy_buffer_state::yy_n_chars
int yy_n_chars
Definition: loader.c:200
find_archetype
archetype * find_archetype(const char *name)
Definition: assets.cpp:278
yypop_buffer_state
void yypop_buffer_state(void)
Definition: loader.c:4707
FLAG_ACTIVATE_ON_RELEASE
#define FLAG_ACTIVATE_ON_RELEASE
Definition: define.h:363
yyout
FILE * yyout
Definition: loader.c:159
convert.dest
dest
Definition: convert.py:25
FLAG_REFLECTING
#define FLAG_REFLECTING
Definition: define.h:262
ATNR_MAGIC
#define ATNR_MAGIC
Definition: attack.h:50
FLAG_NO_FIX_PLAYER
#define FLAG_NO_FIX_PLAYER
Definition: define.h:277
yy_buffer_state::yy_is_interactive
int yy_is_interactive
Definition: loader.c:213
yyleng
int yyleng
Definition: loader.c:270
diamondslots.y
y
Definition: diamondslots.py:16
FLAG_BEEN_APPLIED
#define FLAG_BEEN_APPLIED
Definition: define.h:323
yyget_in
FILE * yyget_in(void)
Definition: loader.c:4929
CLEAR_FLAG
#define CLEAR_FLAG(xyz, p)
Definition: define.h:225
buf
StringBuffer * buf
Definition: readable.c:1606
object_insert_in_ob
object * object_insert_in_ob(object *op, object *where)
Definition: object.c:2820
yy_buffer_stack_top
static size_t yy_buffer_stack_top
Definition: loader.c:249
set_move
static void set_move(MoveType *mt, char *params, const char *prefix)
Definition: loader.c:2334
yy_scan_buffer
YY_BUFFER_STATE yy_scan_buffer(char *base, yy_size_t size)
Definition: loader.c:4775
find_animation
Animations * find_animation(const char *name)
Definition: assets.cpp:290
object_update_speed
void object_update_speed(object *op)
Definition: object.c:1317
yy_last_accepting_state
static yy_state_type yy_last_accepting_state
Definition: loader.c:2036
yyget_lineno
int yyget_lineno(void)
Definition: loader.c:4920
yyin
FILE * yyin
Definition: loader.c:330
yy_switch_to_buffer
void yy_switch_to_buffer(YY_BUFFER_STATE new_buffer)
Definition: loader.c:4528
ATNR_WEAPONMAGIC
#define ATNR_WEAPONMAGIC
Definition: attack.h:57
EOB_ACT_CONTINUE_SCAN
#define EOB_ACT_CONTINUE_SCAN
Definition: loader.c:161
strcasecmp
int strcasecmp(const char *s1, const char *s2)
artifactstruct::item
object * item
Definition: artifact.h:15
castle_read.key
key
Definition: castle_read.py:64
make_face_from_files.int
int
Definition: make_face_from_files.py:26
MIN_ACTIVE_SPEED
#define MIN_ACTIVE_SPEED
Definition: define.h:637
FLAG_IS_USED_UP
#define FLAG_IS_USED_UP
Definition: define.h:260
FLAG_ANIMATE
#define FLAG_ANIMATE
Definition: define.h:242
seen_object
static bool seen_object
Definition: loader.c:2102
loader.h
yy_get_previous_state
static yy_state_type yy_get_previous_state(void)
Definition: loader.c:4370
FLAG_SEE_ANYWHERE
#define FLAG_SEE_ANYWHERE
Definition: define.h:318
FLAG_BERSERK
#define FLAG_BERSERK
Definition: define.h:352
FLAG_IS_HILLY
#define FLAG_IS_HILLY
Definition: define.h:332
IVAL
#define IVAL
Definition: loader.c:2091
FLAG_TREASURE
#define FLAG_TREASURE
Definition: define.h:251
add_friendly_object
void add_friendly_object(object *op)
Definition: friend.c:30
YY_STATE_EOF
#define YY_STATE_EOF(state)
Definition: loader.c:125
yy_flex_debug
int yy_flex_debug
Definition: loader.c:2040
FLAG_UNPAID
#define FLAG_UNPAID
Definition: define.h:236
FLAG_NO_STRENGTH
#define FLAG_NO_STRENGTH
Definition: define.h:306
yy_def
static const flex_int16_t yy_def[2419]
Definition: loader.c:910
YY_BUFFER_STATE
struct yy_buffer_state * YY_BUFFER_STATE
Definition: loader.c:149
LL_NORMAL
#define LL_NORMAL
Definition: loader.h:12
yy_get_next_buffer
static int yy_get_next_buffer(void)
Definition: loader.c:4232
VERY_BIG_BUF
#define VERY_BIG_BUF
Definition: define.h:36
YY_MORE_ADJ
#define YY_MORE_ADJ
Definition: loader.c:2047
ATNR_GHOSTHIT
#define ATNR_GHOSTHIT
Definition: attack.h:58
ATNR_COLD
#define ATNR_COLD
Definition: attack.h:53
FLAG_XRAYS
#define FLAG_XRAYS
Definition: define.h:300
YY_END_OF_BUFFER
#define YY_END_OF_BUFFER
Definition: loader.c:358
yyset_in
void yyset_in(FILE *_in_str)
Definition: loader.c:4975
MESSAGE
#define MESSAGE
Definition: loader.c:2390
EOB_ACT_LAST_MATCH
#define EOB_ACT_LAST_MATCH
Definition: loader.c:163
artifact_init
int artifact_init
Definition: artifact.c:28
FLAG_IS_LIGHTABLE
#define FLAG_IS_LIGHTABLE
Definition: define.h:278
FLAG_IS_CAULDRON
#define FLAG_IS_CAULDRON
Definition: define.h:338
yyget_out
FILE * yyget_out(void)
Definition: loader.c:4937
TRUE
#define TRUE
Definition: compat.h:11
FLAG_CHANGING
#define FLAG_CHANGING
Definition: define.h:263
ATNR_ELECTRICITY
#define ATNR_ELECTRICITY
Definition: attack.h:52
set_body_info
static void set_body_info(object *op, char *params)
Definition: loader.c:2112
FLAG_READY_WEAPON
#define FLAG_READY_WEAPON
Definition: define.h:334
guildbuy.temp
def temp
Definition: guildbuy.py:26
FLAG_NO_SKILL_IDENT
#define FLAG_NO_SKILL_IDENT
Definition: define.h:335
FLAG_USE_SCROLL
#define FLAG_USE_SCROLL
Definition: define.h:291
FLAG_CURSED
#define FLAG_CURSED
Definition: define.h:316
body_locations
body_locations_struct body_locations[NUM_BODY_LOCATIONS]
Definition: item.c:54
ATNR_LIFE_STEALING
#define ATNR_LIFE_STEALING
Definition: attack.h:73
YY_BREAK
#define YY_BREAK
Definition: loader.c:2572
BufferReader
Definition: bufferreader.c:21
flex_uint16_t
unsigned short int flex_uint16_t
Definition: loader.c:54
FLAG_IS_THROWN
#define FLAG_IS_THROWN
Definition: define.h:249
FLAG_SLEEP
#define FLAG_SLEEP
Definition: define.h:307
YY_START
#define YY_START
Definition: loader.c:122
SPELLBOOK
@ SPELLBOOK
Definition: object.h:203
yy_start_stack
static int * yy_start_stack
Definition: loader.c:2472
yytext
char * yytext
Definition: loader.c:2049
add_key_value
static void add_key_value(object *op)
Definition: loader.c:2263
FLAG_IS_WATER
#define FLAG_IS_WATER
Definition: define.h:364
safe_strcat
void safe_strcat(char *dest, const char *orig, size_t *curlen, size_t maxlen)
Definition: porting.c:200
yy_buffer_state::yy_bs_lineno
int yy_bs_lineno
Definition: loader.c:221
yy_act
int yy_act
Definition: loader.c:2587
llevDebug
@ llevDebug
Definition: logger.h:13
FLAG_LIFESAVE
#define FLAG_LIFESAVE
Definition: define.h:305
FLAG_IS_FLOOR
#define FLAG_IS_FLOOR
Definition: define.h:302
yy_did_buffer_switch_on_eof
static int yy_did_buffer_switch_on_eof
Definition: loader.c:280
FLAG_IDENTIFIED
#define FLAG_IDENTIFIED
Definition: define.h:261
give.name
name
Definition: give.py:27
LL_MORE
#define LL_MORE
Definition: loader.h:11
YY_START_STACK_INCR
#define YY_START_STACK_INCR
Definition: loader.c:2542
FVAL
#define FVAL
Definition: loader.c:2093
ATNR_FEAR
#define ATNR_FEAR
Definition: attack.h:63
YY_BUFFER_NORMAL
#define YY_BUFFER_NORMAL
Definition: loader.c:232
LL_EOF
#define LL_EOF
Definition: loader.h:10
LORE
#define LORE
Definition: loader.c:2391