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