Chameleon

Chameleon Svn Source Tree

Root/branches/xZenu/src/util/doxygen/src/commentscan.cpp

Source at commit 1322 created 9 years 5 months ago.
By meklort, Add doxygen to utils folder
1
2#line 3 "<stdout>"
3
4#define YY_INT_ALIGNED short int
5
6/* A lexical scanner generated by flex */
7
8#define yy_create_buffer commentScanYY_create_buffer
9#define yy_delete_buffer commentScanYY_delete_buffer
10#define yy_flex_debug commentScanYY_flex_debug
11#define yy_init_buffer commentScanYY_init_buffer
12#define yy_flush_buffer commentScanYY_flush_buffer
13#define yy_load_buffer_state commentScanYY_load_buffer_state
14#define yy_switch_to_buffer commentScanYY_switch_to_buffer
15#define yyin commentScanYYin
16#define yyleng commentScanYYleng
17#define yylex commentScanYYlex
18#define yylineno commentScanYYlineno
19#define yyout commentScanYYout
20#define yyrestart commentScanYYrestart
21#define yytext commentScanYYtext
22#define yywrap commentScanYYwrap
23#define yyalloc commentScanYYalloc
24#define yyrealloc commentScanYYrealloc
25#define yyfree commentScanYYfree
26
27#define FLEX_SCANNER
28#define YY_FLEX_MAJOR_VERSION 2
29#define YY_FLEX_MINOR_VERSION 5
30#define YY_FLEX_SUBMINOR_VERSION 35
31#if YY_FLEX_SUBMINOR_VERSION > 0
32#define FLEX_BETA
33#endif
34
35/* First, we deal with platform-specific or compiler-specific issues. */
36
37/* begin standard C headers. */
38#include <stdio.h>
39#include <string.h>
40#include <errno.h>
41#include <stdlib.h>
42
43/* end standard C headers. */
44
45/* flex integer type definitions */
46
47#ifndef FLEXINT_H
48#define FLEXINT_H
49
50/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
51
52#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
53
54/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
55 * if you want the limit (max/min) macros for int types.
56 */
57#ifndef __STDC_LIMIT_MACROS
58#define __STDC_LIMIT_MACROS 1
59#endif
60
61#include <inttypes.h>
62typedef int8_t flex_int8_t;
63typedef uint8_t flex_uint8_t;
64typedef int16_t flex_int16_t;
65typedef uint16_t flex_uint16_t;
66typedef int32_t flex_int32_t;
67typedef uint32_t flex_uint32_t;
68#else
69typedef signed char flex_int8_t;
70typedef short int flex_int16_t;
71typedef int flex_int32_t;
72typedef unsigned char flex_uint8_t;
73typedef unsigned short int flex_uint16_t;
74typedef unsigned int flex_uint32_t;
75#endif /* ! C99 */
76
77/* Limits of integral types. */
78#ifndef INT8_MIN
79#define INT8_MIN (-128)
80#endif
81#ifndef INT16_MIN
82#define INT16_MIN (-32767-1)
83#endif
84#ifndef INT32_MIN
85#define INT32_MIN (-2147483647-1)
86#endif
87#ifndef INT8_MAX
88#define INT8_MAX (127)
89#endif
90#ifndef INT16_MAX
91#define INT16_MAX (32767)
92#endif
93#ifndef INT32_MAX
94#define INT32_MAX (2147483647)
95#endif
96#ifndef UINT8_MAX
97#define UINT8_MAX (255U)
98#endif
99#ifndef UINT16_MAX
100#define UINT16_MAX (65535U)
101#endif
102#ifndef UINT32_MAX
103#define UINT32_MAX (4294967295U)
104#endif
105
106#endif /* ! FLEXINT_H */
107
108#ifdef __cplusplus
109
110/* The "const" storage-class-modifier is valid. */
111#define YY_USE_CONST
112
113#else/* ! __cplusplus */
114
115/* C99 requires __STDC__ to be defined as 1. */
116#if defined (__STDC__)
117
118#define YY_USE_CONST
119
120#endif/* defined (__STDC__) */
121#endif/* ! __cplusplus */
122
123#ifdef YY_USE_CONST
124#define yyconst const
125#else
126#define yyconst
127#endif
128
129/* Returned upon end-of-file. */
130#define YY_NULL 0
131
132/* Promotes a possibly negative, possibly signed char to an unsigned
133 * integer for use as an array index. If the signed char is negative,
134 * we want to instead treat it as an 8-bit unsigned char, hence the
135 * double cast.
136 */
137#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
138
139/* Enter a start condition. This macro really ought to take a parameter,
140 * but we do it the disgusting crufty way forced on us by the ()-less
141 * definition of BEGIN.
142 */
143#define BEGIN (yy_start) = 1 + 2 *
144
145/* Translate the current start state into a value that can be later handed
146 * to BEGIN to return to the state. The YYSTATE alias is for lex
147 * compatibility.
148 */
149#define YY_START (((yy_start) - 1) / 2)
150#define YYSTATE YY_START
151
152/* Action number for EOF rule of a given start state. */
153#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
154
155/* Special action meaning "start processing a new file". */
156#define YY_NEW_FILE commentScanYYrestart(commentScanYYin )
157
158#define YY_END_OF_BUFFER_CHAR 0
159
160/* Size of default input buffer. */
161#ifndef YY_BUF_SIZE
162#define YY_BUF_SIZE 262144
163#endif
164
165/* The state buf must be large enough to hold one state per character in the main buffer.
166 */
167#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
168
169#ifndef YY_TYPEDEF_YY_BUFFER_STATE
170#define YY_TYPEDEF_YY_BUFFER_STATE
171typedef struct yy_buffer_state *YY_BUFFER_STATE;
172#endif
173
174#ifndef YY_TYPEDEF_YY_SIZE_T
175#define YY_TYPEDEF_YY_SIZE_T
176typedef size_t yy_size_t;
177#endif
178
179extern yy_size_t commentScanYYleng;
180
181extern FILE *commentScanYYin, *commentScanYYout;
182
183#define EOB_ACT_CONTINUE_SCAN 0
184#define EOB_ACT_END_OF_FILE 1
185#define EOB_ACT_LAST_MATCH 2
186
187 #define YY_LESS_LINENO(n)
188
189/* Return all but the first "n" matched characters back to the input stream. */
190#define yyless(n) \
191do \
192{ \
193/* Undo effects of setting up commentScanYYtext. */ \
194 int yyless_macro_arg = (n); \
195 YY_LESS_LINENO(yyless_macro_arg);\
196*yy_cp = (yy_hold_char); \
197YY_RESTORE_YY_MORE_OFFSET \
198(yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
199YY_DO_BEFORE_ACTION; /* set up commentScanYYtext again */ \
200} \
201while ( 0 )
202
203#define unput(c) yyunput( c, (yytext_ptr) )
204
205#ifndef YY_STRUCT_YY_BUFFER_STATE
206#define YY_STRUCT_YY_BUFFER_STATE
207struct yy_buffer_state
208{
209FILE *yy_input_file;
210
211char *yy_ch_buf;/* input buffer */
212char *yy_buf_pos;/* current position in input buffer */
213
214/* Size of input buffer in bytes, not including room for EOB
215 * characters.
216 */
217yy_size_t yy_buf_size;
218
219/* Number of characters read into yy_ch_buf, not including EOB
220 * characters.
221 */
222yy_size_t yy_n_chars;
223
224/* Whether we "own" the buffer - i.e., we know we created it,
225 * and can realloc() it to grow it, and should free() it to
226 * delete it.
227 */
228int yy_is_our_buffer;
229
230/* Whether this is an "interactive" input source; if so, and
231 * if we're using stdio for input, then we want to use getc()
232 * instead of fread(), to make sure we stop fetching input after
233 * each newline.
234 */
235int yy_is_interactive;
236
237/* Whether we're considered to be at the beginning of a line.
238 * If so, '^' rules will be active on the next match, otherwise
239 * not.
240 */
241int yy_at_bol;
242
243 int yy_bs_lineno; /**< The line count. */
244 int yy_bs_column; /**< The column count. */
245
246/* Whether to try to fill the input buffer when we reach the
247 * end of it.
248 */
249int yy_fill_buffer;
250
251int yy_buffer_status;
252
253#define YY_BUFFER_NEW 0
254#define YY_BUFFER_NORMAL 1
255/* When an EOF's been seen but there's still some text to process
256 * then we mark the buffer as YY_EOF_PENDING, to indicate that we
257 * shouldn't try reading from the input source any more. We might
258 * still have a bunch of tokens to match, though, because of
259 * possible backing-up.
260 *
261 * When we actually see the EOF, we change the status to "new"
262 * (via commentScanYYrestart()), so that the user can continue scanning by
263 * just pointing commentScanYYin at a new input file.
264 */
265#define YY_BUFFER_EOF_PENDING 2
266
267};
268#endif /* !YY_STRUCT_YY_BUFFER_STATE */
269
270/* Stack of input buffers. */
271static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
272static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
273static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
274
275/* We provide macros for accessing buffer states in case in the
276 * future we want to put the buffer states in a more general
277 * "scanner state".
278 *
279 * Returns the top of the stack, or NULL.
280 */
281#define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
282 ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
283 : NULL)
284
285/* Same as previous macro, but useful when we know that the buffer stack is not
286 * NULL or when we need an lvalue. For internal use only.
287 */
288#define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
289
290/* yy_hold_char holds the character lost when commentScanYYtext is formed. */
291static char yy_hold_char;
292static yy_size_t yy_n_chars;/* number of characters read into yy_ch_buf */
293yy_size_t commentScanYYleng;
294
295/* Points to current character in buffer. */
296static char *yy_c_buf_p = (char *) 0;
297static int yy_init = 0;/* whether we need to initialize */
298static int yy_start = 0;/* start state number */
299
300/* Flag which is used to allow commentScanYYwrap()'s to do buffer switches
301 * instead of setting up a fresh commentScanYYin. A bit of a hack ...
302 */
303static int yy_did_buffer_switch_on_eof;
304
305void commentScanYYrestart (FILE *input_file );
306void commentScanYY_switch_to_buffer (YY_BUFFER_STATE new_buffer );
307YY_BUFFER_STATE commentScanYY_create_buffer (FILE *file,int size );
308void commentScanYY_delete_buffer (YY_BUFFER_STATE b );
309void commentScanYY_flush_buffer (YY_BUFFER_STATE b );
310void commentScanYYpush_buffer_state (YY_BUFFER_STATE new_buffer );
311void commentScanYYpop_buffer_state (void );
312
313static void commentScanYYensure_buffer_stack (void );
314static void commentScanYY_load_buffer_state (void );
315static void commentScanYY_init_buffer (YY_BUFFER_STATE b,FILE *file );
316
317#define YY_FLUSH_BUFFER commentScanYY_flush_buffer(YY_CURRENT_BUFFER )
318
319YY_BUFFER_STATE commentScanYY_scan_buffer (char *base,yy_size_t size );
320YY_BUFFER_STATE commentScanYY_scan_string (yyconst char *yy_str );
321YY_BUFFER_STATE commentScanYY_scan_bytes (yyconst char *bytes,yy_size_t len );
322
323void *commentScanYYalloc (yy_size_t );
324void *commentScanYYrealloc (void *,yy_size_t );
325void commentScanYYfree (void * );
326
327#define yy_new_buffer commentScanYY_create_buffer
328
329#define yy_set_interactive(is_interactive) \
330{ \
331if ( ! YY_CURRENT_BUFFER ){ \
332 commentScanYYensure_buffer_stack (); \
333YY_CURRENT_BUFFER_LVALUE = \
334 commentScanYY_create_buffer(commentScanYYin,YY_BUF_SIZE ); \
335} \
336YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
337}
338
339#define yy_set_bol(at_bol) \
340{ \
341if ( ! YY_CURRENT_BUFFER ){\
342 commentScanYYensure_buffer_stack (); \
343YY_CURRENT_BUFFER_LVALUE = \
344 commentScanYY_create_buffer(commentScanYYin,YY_BUF_SIZE ); \
345} \
346YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
347}
348
349#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
350
351/* Begin user sect3 */
352
353#define commentScanYYwrap(n) 1
354#define YY_SKIP_YYWRAP
355
356typedef unsigned char YY_CHAR;
357
358FILE *commentScanYYin = (FILE *) 0, *commentScanYYout = (FILE *) 0;
359
360typedef int yy_state_type;
361
362extern int commentScanYYlineno;
363
364int commentScanYYlineno = 1;
365
366extern char *commentScanYYtext;
367#define yytext_ptr commentScanYYtext
368
369static yy_state_type yy_get_previous_state (void );
370static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
371static int yy_get_next_buffer (void );
372static void yy_fatal_error (yyconst char msg[] );
373
374/* Done after the current pattern has been matched and before the
375 * corresponding action - sets up commentScanYYtext.
376 */
377#define YY_DO_BEFORE_ACTION \
378(yytext_ptr) = yy_bp; \
379commentScanYYleng = (size_t) (yy_cp - yy_bp); \
380(yy_hold_char) = *yy_cp; \
381*yy_cp = '\0'; \
382(yy_c_buf_p) = yy_cp;
383
384#define YY_NUM_RULES 180
385#define YY_END_OF_BUFFER 181
386/* This struct is not used in this scanner,
387 but its presence is necessary. */
388struct yy_trans_info
389{
390flex_int32_t yy_verify;
391flex_int32_t yy_nxt;
392};
393static yyconst flex_int16_t yy_acclist[743] =
394 { 0,
395 66, 66, 110, 110, 123, 123, 133, 133, 177, 177,
396 181, 180, 34, 180, 34, 180, 33, 180, 34, 180,
397 34, 180, 34, 180, 32, 34, 180, 34, 180, 34,
398 180, 23, 34, 180, 34, 180, 34, 180, 25, 34,
399 180, 32, 34, 180, 79, 180, 78, 180, 79, 180,
400 76, 79, 180, 79, 180, 79, 180, 180, 80, 180,
401 100, 180, 99, 180, 100, 180, 97, 100, 180, 100,
402 180, 61, 180, 61, 180, 60, 180, 61, 180, 61,
403 180, 61, 180, 57, 61, 180, 61, 180, 61, 180,
404 65, 180, 64, 180, 65, 180, 62, 65, 180, 65,
405
406 180, 65, 180, 65, 180, 69, 180, 68, 180, 69,
407 180, 66, 69, 180, 69, 180, 66, 69, 180, 66,
408 69, 180, 69, 180, 61, 180, 60, 180, 61, 180,
409 61, 180, 61, 180, 61, 180, 61, 180, 88, 180,
410 87, 180, 85, 88, 180, 88, 180, 92, 180, 91,
411 180, 92, 180, 92, 180, 96, 180, 95, 180, 96,
412 180, 96, 180, 84, 180, 81, 180, 84, 180, 82,
413 84, 180, 84, 180, 84, 180, 48, 180, 47, 180,
414 48, 180, 45, 48, 180, 48, 180, 52, 180, 52,
415 180, 51, 180, 52, 180, 52, 180, 52, 180, 49,
416
417 52, 180, 52, 180, 52, 180, 56, 180, 55, 180,
418 56, 180, 53, 56, 180, 56, 180, 72, 180, 70,
419 180, 180, 74, 180, 75, 180, 180, 106, 180, 105,
420 180, 104, 106, 180, 106, 180, 110, 113, 180, 107,
421 180, 110, 113, 180, 113, 180, 113, 180, 115, 180,
422 114, 180, 180, 118, 180, 118, 180, 116, 180, 118,
423 180, 118, 180, 123, 127, 180, 124, 180, 127, 180,
424 127, 180, 127, 180, 127, 180, 127, 180, 103, 180,
425 101, 180, 103, 180, 131, 180, 129, 180, 128, 131,
426 180, 131, 180, 134, 180, 133, 134, 180, 132, 180,
427
428 134, 180, 141, 142, 180, 140, 180, 142, 180, 142,
429 180, 142, 180, 152, 153, 180, 143, 180, 153, 180,
430 153, 180, 153, 180, 156, 180, 154, 180, 156, 180,
431 160, 180, 158, 180, 157, 160, 180, 160, 180, 163,
432 166, 180, 161, 180, 164, 166, 180, 165, 166, 180,
433 166, 180, 166, 180, 169, 180, 167, 180, 169, 180,
434 172, 180, 171, 180, 172, 180, 170, 172, 180, 172,
435 180, 175, 180, 174, 180, 175, 180, 173, 175, 180,
436 175, 180, 42, 44, 180, 43, 180, 44, 180, 44,
437 180, 121, 180, 120, 180, 119, 121, 180, 121, 180,
438
439 37, 38, 180, 36, 180, 38, 180, 38, 180, 177,
440 179, 180, 178, 180, 179, 180, 179, 180, 179, 180,
441 31, 4, 26, 28, 26, 22, 22, 14, 22, 14,
442 14, 14, 14, 14, 14, 20, 21, 16, 22, 23,
443 14, 14, 14, 14, 14, 14, 14, 14, 25, 24,
444 76, 76, 77, 76, 80, 97, 97, 98, 57, 57,
445 59, 57, 62, 62, 63, 62, 66, 66, 66, 67,
446 66, 85, 86, 89, 90, 94, 93, 94, 82, 82,
447 83, 82, 45, 45, 45, 46, 49, 49, 50, 49,
448 53, 53, 54, 70, 71, 74, 73, 104, 110, 107,
449
450 110, 112, 112, 109, 114, 117, 123, 126, 125, 102,
451 128, 130, 133, 132, 141, 152, 155, 157, 159, 163,
452 162, 168, 170, 170, 173, 173, 42, 119, 37, 177,
453 176, 22, 30, 26, 30, 30, 30, 26, 30, 30,
454 27, 7, 1, 1, 2, 14, 14, 14, 14, 18,
455 19, 14, 14, 14, 16, 5, 14, 14, 14, 14,
456 14, 14, 14, 76, 76, 57, 62, 62, 66, 66,
457 82, 82, 45, 45, 45, 45, 49, 53, 111, 39,
458 40, 41, 35, 176, 30, 30, 12, 1, 15, 2,
459 8198, 14,16390, 14, 14, 14, 14, 14, 14, 8198,
460
461 14,16390, 14, 14, 14, 14, 14, 76, 62, 66,
462 58, 82, 45, 45, 45, 53, 111, 136, 144, 35,
463 11, 29, 8198, 8198, 14, 14, 14, 17, 14, 14,
464 5, 8198, 14, 14, 14, 76, 62, 66, 82, 3,
465 14, 14, 17, 14, 14, 14, 14, 14, 76, 62,
466 66, 82, 70, 138, 146, 14, 14, 14, 14, 14,
467 14, 14, 76, 62, 66, 82, 137, 135, 145, 14,
468 14, 14, 14, 14, 14, 14, 76, 78, 99, 60,
469 62, 64, 66, 68, 87, 91, 95, 81, 82, 47,
470 51, 55, 72, 75, 105, 108, 115, 116, 122, 124,
471
472 101, 129, 139, 140, 143, 154, 158, 161, 167, 171,
473 174, 120, 36, 178, 9, 8, 14, 14, 14, 5,
474 14, 14, 147, 10, 14, 14, 14, 14, 14, 14,
475 150, 13, 14, 13, 14, 151, 148, 13, 14, 151,
476 149, 31
477 } ;
478
479static yyconst flex_int16_t yy_accept[1055] =
480 { 0,
481 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
482 1, 1, 1, 1, 1, 2, 3, 3, 3, 3,
483 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
484 3, 3, 3, 3, 3, 3, 3, 3, 3, 4,
485 5, 5, 5, 5, 5, 6, 7, 7, 7, 7,
486 7, 8, 9, 9, 9, 9, 9, 9, 9, 9,
487 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
488 9, 9, 9, 9, 9, 9, 9, 10, 11, 12,
489 13, 15, 17, 19, 21, 23, 25, 28, 30, 32,
490 35, 37, 39, 42, 45, 47, 49, 51, 54, 56,
491
492 58, 59, 61, 63, 65, 67, 70, 72, 74, 76,
493 78, 80, 82, 84, 87, 89, 91, 93, 95, 97,
494 100, 102, 104, 106, 108, 110, 112, 115, 117, 120,
495 123, 125, 127, 129, 131, 133, 135, 137, 139, 141,
496 143, 146, 148, 150, 152, 154, 156, 158, 160, 162,
497 164, 166, 168, 170, 173, 175, 177, 179, 181, 183,
498 186, 188, 190, 192, 194, 196, 198, 200, 203, 205,
499 207, 209, 211, 213, 216, 218, 220, 222, 223, 225,
500 227, 228, 230, 232, 235, 237, 240, 242, 245, 247,
501 249, 251, 253, 254, 256, 258, 260, 262, 264, 267,
502
503 269, 271, 273, 275, 277, 279, 281, 283, 285, 287,
504 289, 292, 294, 296, 299, 301, 303, 306, 308, 310,
505 312, 314, 317, 319, 321, 323, 325, 327, 329, 331,
506 333, 335, 338, 340, 343, 345, 348, 351, 353, 355,
507 357, 359, 361, 363, 365, 367, 370, 372, 374, 376,
508 378, 381, 383, 386, 388, 390, 392, 394, 396, 399,
509 401, 404, 406, 408, 410, 413, 415, 417, 419, 421,
510 421, 421, 421, 421, 422, 422, 422, 423, 423, 423,
511 423, 423, 424, 425, 425, 426, 426, 426, 426, 426,
512 426, 426, 426, 426, 426, 426, 426, 426, 427, 428,
513
514 429, 430, 431, 432, 433, 434, 435, 436, 437, 438,
515 440, 441, 442, 443, 444, 445, 446, 447, 448, 449,
516 449, 450, 450, 450, 451, 451, 452, 453, 453, 453,
517 453, 454, 455, 455, 456, 457, 457, 458, 458, 458,
518 459, 459, 459, 459, 459, 459, 460, 460, 460, 461,
519 461, 462, 462, 462, 462, 463, 463, 464, 465, 465,
520 465, 465, 466, 467, 467, 468, 469, 469, 469, 470,
521 470, 470, 471, 472, 472, 472, 472, 472, 472, 472,
522 472, 472, 472, 472, 472, 472, 472, 473, 473, 474,
523 474, 474, 475, 475, 477, 477, 477, 478, 478, 479,
524
525 479, 479, 480, 481, 481, 481, 481, 482, 483, 484,
526 484, 484, 485, 485, 486, 486, 487, 487, 487, 487,
527 487, 487, 488, 488, 488, 489, 489, 490, 490, 490,
528 490, 491, 492, 492, 493, 493, 494, 494, 495, 495,
529 495, 496, 496, 497, 497, 498, 498, 499, 499, 500,
530 501, 502, 502, 503, 504, 504, 505, 505, 506, 506,
531 506, 506, 506, 507, 507, 508, 509, 510, 510, 510,
532 510, 511, 511, 512, 512, 513, 513, 514, 515, 515,
533 515, 516, 516, 516, 516, 517, 517, 517, 517, 517,
534 517, 517, 518, 518, 519, 519, 520, 520, 521, 521,
535
536 522, 522, 522, 523, 523, 524, 524, 525, 525, 525,
537 526, 526, 527, 527, 527, 528, 528, 528, 529, 529,
538 530, 530, 530, 531, 532, 532, 533, 533, 533, 533,
539 533, 534, 536, 537, 538, 540, 541, 542, 542, 542,
540 542, 542, 542, 542, 543, 543, 543, 543, 543, 544,
541 545, 546, 547, 548, 549, 550, 551, 552, 552, 553,
542 554, 555, 556, 557, 558, 559, 560, 561, 562, 563,
543 564, 565, 565, 566, 566, 566, 566, 567, 568, 568,
544 569, 570, 570, 571, 571, 571, 571, 571, 571, 571,
545 572, 572, 573, 574, 575, 576, 577, 577, 577, 578,
546
547 578, 579, 579, 579, 579, 579, 579, 579, 580, 580,
548 580, 580, 580, 580, 580, 580, 580, 580, 580, 580,
549 580, 580, 580, 580, 580, 580, 580, 580, 580, 580,
550 580, 580, 580, 580, 580, 581, 582, 583, 583, 583,
551 584, 584, 585, 585, 585, 585, 585, 585, 586, 587,
552 588, 588, 588, 588, 588, 588, 588, 588, 589, 590,
553 591, 594, 595, 596, 596, 597, 598, 599, 599, 600,
554 603, 604, 605, 606, 607, 608, 609, 609, 609, 610,
555 611, 612, 612, 612, 612, 613, 613, 614, 615, 616,
556 616, 616, 617, 617, 617, 617, 617, 617, 618, 618,
557
558 618, 618, 618, 618, 618, 618, 618, 618, 618, 619,
559 619, 619, 619, 620, 620, 620, 620, 620, 620, 620,
560 620, 620, 620, 620, 620, 620, 621, 621, 621, 621,
561 622, 622, 622, 623, 623, 623, 623, 623, 623, 624,
562 626, 627, 628, 629, 630, 631, 633, 634, 635, 636,
563 637, 637, 637, 638, 639, 639, 639, 639, 640, 640,
564 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
565 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
566 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
567 640, 640, 640, 640, 640, 640, 640, 640, 640, 640,
568
569 640, 640, 641, 641, 641, 641, 641, 642, 643, 644,
570 645, 646, 647, 648, 649, 650, 650, 650, 651, 652,
571 652, 652, 652, 653, 653, 653, 653, 653, 653, 654,
572 654, 654, 654, 654, 654, 654, 654, 654, 654, 654,
573 654, 654, 654, 654, 654, 654, 654, 654, 654, 655,
574 655, 655, 655, 655, 656, 656, 656, 656, 656, 656,
575 656, 656, 656, 656, 656, 656, 656, 656, 656, 656,
576 656, 656, 656, 656, 656, 656, 657, 658, 659, 660,
577 661, 662, 663, 664, 664, 664, 665, 666, 666, 666,
578 666, 667, 667, 667, 667, 667, 667, 667, 667, 667,
579
580 667, 667, 667, 667, 667, 667, 667, 667, 667, 667,
581 667, 667, 667, 667, 668, 669, 669, 669, 670, 670,
582 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
583 670, 670, 670, 670, 670, 670, 670, 670, 671, 672,
584 673, 674, 675, 676, 677, 679, 680, 681, 683, 685,
585 686, 687, 688, 690, 691, 692, 693, 694, 695, 696,
586 697, 698, 699, 700, 700, 700, 700, 700, 700, 700,
587 701, 702, 703, 704, 705, 705, 705, 705, 705, 705,
588 706, 707, 708, 709, 710, 711, 712, 713, 714, 715,
589 715, 715, 716, 717, 718, 719, 720, 721, 722, 723,
590
591 723, 723, 723, 723, 723, 723, 723, 723, 724, 724,
592 724, 725, 726, 727, 727, 728, 729, 729, 729, 729,
593 729, 729, 729, 729, 729, 729, 729, 730, 730, 731,
594 731, 731, 731, 731, 732, 732, 732, 734, 734, 736,
595 736, 737, 738, 738, 740, 740, 741, 741, 741, 741,
596 741, 742, 743, 743
597 } ;
598
599static yyconst flex_int32_t yy_ec[256] =
600 { 0,
601 1, 1, 1, 1, 1, 1, 1, 1, 2, 3,
602 1, 1, 4, 1, 1, 1, 1, 1, 1, 1,
603 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
604 1, 5, 6, 7, 8, 9, 8, 8, 1, 10,
605 11, 12, 13, 14, 15, 16, 17, 18, 19, 19,
606 19, 19, 19, 19, 18, 18, 18, 20, 1, 21,
607 1, 22, 1, 23, 24, 25, 26, 27, 28, 26,
608 29, 30, 31, 26, 26, 32, 33, 26, 34, 35,
609 26, 36, 26, 37, 38, 26, 26, 26, 26, 26,
610 39, 40, 41, 1, 42, 1, 43, 44, 45, 46,
611
612 47, 48, 49, 50, 51, 26, 52, 53, 54, 55,
613 56, 57, 26, 58, 59, 60, 61, 62, 26, 63,
614 64, 26, 65, 1, 66, 67, 1, 68, 68, 68,
615 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
616 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
617 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
618 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
619 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
620 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
621 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
622
623 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
624 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
625 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
626 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
627 68, 68, 68, 68, 68, 68, 68, 68, 68, 68,
628 68, 68, 68, 68, 68
629 } ;
630
631static yyconst flex_int32_t yy_meta[69] =
632 { 0,
633 1, 2, 3, 4, 5, 1, 1, 6, 7, 8,
634 9, 10, 11, 12, 13, 14, 15, 16, 16, 17,
635 6, 18, 19, 20, 20, 20, 20, 20, 20, 20,
636 20, 20, 20, 20, 20, 20, 20, 20, 1, 21,
637 1, 22, 20, 20, 20, 20, 20, 20, 20, 20,
638 23, 20, 20, 20, 24, 20, 20, 20, 20, 20,
639 20, 20, 20, 20, 6, 25, 26, 27
640 } ;
641
642static yyconst flex_int16_t yy_base[1259] =
643 { 0,
644 0, 0, 0, 67, 83, 150, 4487, 4481, 217, 0,
645 285, 0, 353, 420, 487, 554, 621, 0, 689, 0,
646 67, 68, 70, 73, 757, 824, 891, 0, 959, 0,
647 1027, 0, 1095, 0, 99, 106, 1163, 0, 162, 165,
648 1231, 0, 123, 129, 374, 393, 75, 76, 1299, 0,
649 135, 139, 173, 377, 441, 442, 93, 95, 1367, 0,
650 460, 502, 140, 142, 1435, 0, 1503, 0, 412, 435,
651 499, 508, 1571, 0, 363, 368, 511, 566, 4483, 7500,
652 7500, 527, 399, 4470, 4442, 4401, 568, 1634, 1688, 185,
653 1748, 770, 4374, 846, 7500, 7500, 4386, 167, 433, 797,
654
655 4389, 7500, 7500, 7500, 0, 101, 464, 7500, 190, 452,
656 785, 1639, 4368, 583, 474, 515, 7500, 7500, 4379, 775,
657 838, 4363, 1684, 7500, 7500, 4377, 1630, 1659, 1698, 7500,
658 1742, 868, 1763, 1771, 1796, 4362, 1815, 607, 7500, 7500,
659 0, 538, 7500, 7500, 4374, 779, 7500, 7500, 4371, 801,
660 7500, 7500, 4370, 1637, 1723, 1824, 7500, 7500, 0, 1849,
661 1747, 7500, 1845, 1868, 1873, 1892, 4353, 1900, 1801, 872,
662 7500, 7500, 0, 4355, 1857, 7500, 4354, 1904, 0, 7500,
663 1908, 7500, 7500, 0, 4327, 369, 7500, 4328, 1909, 1975,
664 7500, 0, 4325, 7500, 207, 7500, 4359, 4323, 0, 7500,
665
666 7500, 4347, 4351, 4315, 72, 7500, 7500, 1919, 7500, 7500,
667 0, 1923, 7500, 533, 7500, 4319, 0, 7500, 7500, 337,
668 348, 0, 7500, 7500, 545, 1666, 7500, 7500, 1931, 7500,
669 7500, 0, 1939, 0, 7500, 7500, 7500, 7500, 1949, 7500,
670 7500, 1953, 7500, 7500, 0, 369, 4318, 7500, 7500, 0,
671 391, 4316, 0, 7500, 4304, 4303, 7500, 7500, 0, 4305,
672 0, 7500, 4330, 4302, 0, 7500, 7500, 4274, 144, 1805,
673 2035, 2095, 1834, 1961, 4297, 4331, 7500, 0, 4317, 4313,
674 0, 7500, 7500, 2162, 4312, 446, 4318, 354, 565, 1630,
675 833, 1630, 1966, 77, 1650, 4285, 4264, 7500, 320, 2229,
676
677 4254, 4258, 4271, 4261, 803, 474, 4257, 7500, 7500, 0,
678 1990, 1658, 1967, 1985, 1987, 2009, 2014, 2030, 2026, 2036,
679 7500, 542, 612, 7500, 4306, 7500, 2020, 1702, 2045, 806,
680 7500, 2052, 4309, 7500, 458, 4302, 464, 4290, 877, 7500,
681 4256, 2091, 2120, 4288, 2128, 2188, 2110, 2216, 2194, 1728,
682 7500, 4253, 2147, 2237, 0, 4293, 7500, 2195, 2070, 2227,
683 1819, 7500, 2237, 4292, 4271, 2239, 2169, 2246, 7500, 4279,
684 1878, 7500, 2258, 2268, 2297, 4240, 2305, 2324, 2328, 2343,
685 2351, 0, 2371, 2375, 2390, 1776, 0, 2045, 7500, 4203,
686 4248, 7500, 2086, 7500, 4196, 4241, 7500, 2136, 7500, 4189,
687
688 4209, 7500, 2265, 2272, 2299, 2152, 7500, 2349, 2402, 2410,
689 0, 2414, 4192, 2422, 2162, 7500, 4158, 2433, 2441, 4187,
690 2460, 2468, 2487, 2495, 2514, 2221, 7500, 4152, 2519, 2533,
691 0, 4188, 4194, 4186, 2333, 7500, 4148, 4184, 4149, 2355,
692 7500, 4145, 0, 2380, 7500, 4144, 0, 4143, 1790, 7500,
693 4155, 4152, 7500, 4183, 2395, 7500, 4133, 0, 4132, 1885,
694 4174, 4172, 7500, 4125, 0, 7500, 7500, 4120, 4120, 2449,
695 7500, 4119, 0, 2453, 7500, 4118, 2472, 7500, 4128, 4116,
696 0, 74, 4120, 4114, 0, 4111, 4111, 4112, 806, 4100,
697 2476, 7500, 4099, 0, 2480, 7500, 4097, 0, 2500, 7500,
698
699 4096, 2504, 7500, 4094, 517, 4137, 585, 4125, 4091, 800,
700 4134, 1658, 4122, 4087, 0, 4125, 1661, 0, 4080, 0,
701 175, 4076, 0, 0, 4074, 4078, 4070, 4100, 0, 4103,
702 7500, 7500, 4092, 2562, 4062, 4068, 7500, 4063, 4030, 4010,
703 1977, 1692, 2076, 7500, 1795, 1854, 3991, 3979, 544, 1965,
704 0, 1933, 2024, 1943, 2508, 7500, 7500, 0, 2069, 2541,
705 2016, 0, 0, 2546, 2550, 2524, 2548, 2555, 2591, 2602,
706 2592, 2599, 2601, 0, 3981, 3980, 0, 2606, 2618, 2627,
707 2634, 2643, 2653, 4019, 2539, 2643, 3978, 3977, 3976, 2660,
708 2665, 2670, 2693, 2713, 2721, 2733, 3975, 3974, 0, 0,
709
710 4008, 3967, 3955, 3963, 3961, 3958, 0, 0, 3947, 3946,
711 3945, 3949, 3943, 3939, 3929, 3928, 3918, 3926, 3912, 3913,
712 3917, 1955, 3903, 3913, 3911, 3903, 3899, 3897, 3896, 3893,
713 0, 3892, 0, 3887, 7500, 7500, 7500, 3860, 3291, 2104,
714 3256, 0, 3254, 1707, 3253, 3294, 0, 2732, 2211, 7500,
715 3241, 3238, 3268, 2243, 1802, 3245, 3232, 2318, 7500, 0,
716 2755, 2608, 2554, 3218, 2631, 2822, 2659, 3241, 2824, 2879,
717 2863, 2823, 2864, 2870, 2666, 2815, 3225, 3219, 2821, 2895,
718 7500, 3215, 3199, 3198, 2911, 0, 2840, 2934, 2953, 3186,
719 3180, 3202, 3162, 3155, 3150, 3145, 3143, 0, 3139, 3127,
720
721 3107, 2914, 3106, 3100, 3099, 3098, 3100, 3095, 7500, 3089,
722 3086, 3081, 7500, 3070, 3072, 3048, 3048, 3048, 3044, 3043,
723 3034, 3019, 3018, 3014, 3013, 2556, 3009, 2968, 2959, 7500,
724 2980, 2967, 7500, 2942, 2925, 1872, 2912, 2922, 0, 2587,
725 2687, 2851, 2898, 2920, 2979, 3026, 3010, 3015, 3011, 2971,
726 2914, 2902, 3036, 3055, 2901, 2895, 2894, 3064, 2990, 2893,
727 2887, 2876, 2861, 2861, 2860, 2824, 2820, 2815, 2810, 2796,
728 2792, 2786, 2797, 1718, 2774, 2707, 2696, 2697, 2680, 2673,
729 2672, 2658, 2660, 2643, 2654, 552, 2639, 2645, 2637, 1785,
730 2637, 2632, 2625, 2615, 2610, 2608, 2593, 2578, 2577, 2573,
731
732 2564, 2590, 2542, 2555, 2539, 2522, 2828, 2845, 7500, 2849,
733 3019, 3056, 3077, 3083, 3070, 2523, 2521, 3089, 3096, 2503,
734 2501, 2496, 3104, 3147, 3155, 2495, 2489, 2488, 7500, 2487,
735 2481, 2476, 2470, 2457, 2451, 2448, 2433, 2433, 2426, 2413,
736 2422, 2418, 2402, 2406, 2404, 2403, 2395, 2385, 7500, 2380,
737 0, 0, 2365, 7500, 2348, 2726, 2345, 2345, 2351, 2346,
738 2344, 2342, 2326, 2324, 2318, 2307, 2306, 2305, 2299, 2298,
739 2297, 2272, 2264, 2259, 2240, 2834, 2927, 2928, 3020, 3095,
740 3123, 3129, 3161, 2245, 2239, 3163, 3168, 2235, 2233, 2229,
741 3175, 2218, 2206, 2202, 2200, 2191, 2175, 2164, 2159, 2149,
742
743 2159, 0, 2152, 2153, 2138, 2132, 2137, 2124, 2101, 2100,
744 2095, 2089, 0, 7500, 7500, 2088, 2098, 7500, 2091, 2072,
745 2066, 2062, 2062, 2050, 2041, 2039, 2022, 2009, 1997, 1987,
746 1981, 1975, 1964, 1953, 1930, 1963, 1953, 3137, 2911, 3000,
747 3184, 3191, 3197, 3166, 3194, 7500, 7500, 3196, 3222, 7500,
748 7500, 7500, 3212, 7500, 7500, 7500, 7500, 7500, 7500, 7500,
749 7500, 7500, 7500, 1906, 1890, 1892, 1888, 1896, 1882, 7500,
750 7500, 7500, 7500, 7500, 1871, 1858, 2727, 1863, 1844, 7500,
751 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 7500, 1864,
752 1863, 7500, 7500, 3125, 3202, 3220, 843, 3225, 3238, 1802,
753
754 1800, 1780, 1756, 1737, 1732, 1705, 1687, 7500, 1673, 1667,
755 7500, 3243, 3244, 730, 3245, 3254, 1654, 1618, 1603, 1594,
756 1605, 1581, 813, 2744, 795, 759, 3256, 767, 3261, 712,
757 462, 408, 353, 7500, 2984, 148, 2995, 558, 3262, 83,
758 2996, 7500, 56, 3001, 1946, 3002, 26, 1883, 3117, 532,
759 7500, 3266, 7500, 3314, 3341, 3368, 3395, 3422, 3449, 3476,
760 3503, 3530, 3557, 3584, 3611, 3638, 3665, 3692, 3719, 3746,
761 3773, 3800, 3827, 3854, 3881, 3908, 3929, 3946, 3962, 3981,
762 3997, 4016, 4042, 4059, 4086, 4094, 4108, 4134, 4160, 4186,
763 4213, 4230, 4257, 4274, 4300, 4326, 4352, 4367, 4394, 4421,
764
765 4448, 4465, 4473, 4499, 4525, 4551, 4577, 4585, 4599, 4614,
766 4641, 4656, 4683, 4710, 4725, 4752, 4779, 4794, 4821, 4848,
767 4863, 4890, 4898, 4912, 4920, 4934, 4961, 4976, 5003, 5030,
768 5052, 5078, 5086, 5098, 5115, 5127, 5151, 5159, 3253, 5175,
769 5198, 5222, 5239, 5256, 5283, 5297, 5318, 5344, 5370, 5396,
770 5408, 5435, 5452, 5469, 5496, 5513, 5530, 5556, 5582, 5608,
771 5635, 5661, 5676, 5703, 5730, 5757, 5774, 5791, 5817, 5825,
772 5851, 5877, 5903, 5929, 5941, 5955, 5976, 5991, 6018, 6033,
773 6060, 6087, 6108, 6123, 6150, 6177, 6192, 6219, 6246, 6261,
774 6288, 6302, 6323, 6337, 6358, 6385, 6400, 6427, 6454, 3259,
775
776 6466, 6493, 6508, 6522, 6546, 6573, 6599, 3276, 6622, 6646,
777 3288, 3917, 6672, 6686, 6703, 6711, 6723, 6740, 6757, 6774,
778 6791, 6818, 6844, 6861, 6878, 6904, 6930, 6956, 6968, 6976,
779 6990, 6998, 7010, 7037, 7045, 7053, 3922, 7080, 7095, 7111,
780 7135, 3969, 7161, 7185, 7193, 7216, 7230, 7247, 7264, 7272,
781 7287, 7311, 7337, 7364, 7391, 7418, 7445, 7472
782 } ;
783
784static yyconst flex_int16_t yy_def[1259] =
785 { 0,
786 1054, 1054, 1053, 3, 1055, 1055, 1056, 1056, 1053, 9,
787 1053, 11, 1057, 1057, 1058, 1058, 1053, 17, 1053, 19,
788 1059, 1059, 1060, 1060, 1061, 1061, 1053, 27, 1053, 29,
789 1053, 31, 1053, 33, 1062, 1062, 1053, 37, 1063, 1063,
790 1053, 41, 1064, 1064, 1065, 1065, 1066, 1066, 1053, 49,
791 1067, 1067, 1068, 1068, 1069, 1069, 1070, 1070, 1053, 59,
792 1071, 1071, 1072, 1072, 1053, 65, 1053, 67, 1073, 1073,
793 1073, 1073, 1053, 73, 1074, 1074, 1075, 1075, 1053, 1053,
794 1053, 1053, 1053, 1076, 1077, 1078, 1079, 1053, 1080, 1081,
795 1082, 1053, 1078, 1079, 1053, 1053, 1083, 1084, 1084, 1084,
796
797 1085, 1053, 1053, 1053, 1086, 1087, 1053, 1053, 1053, 1053,
798 1088, 1088, 1053, 1089, 1053, 1090, 1053, 1053, 1091, 1092,
799 1092, 1053, 1092, 1053, 1053, 1093, 1094, 1094, 1094, 1053,
800 1094, 1053, 1053, 1095, 1095, 1053, 1096, 1097, 1053, 1053,
801 1098, 1053, 1053, 1053, 1099, 1053, 1053, 1053, 1100, 1053,
802 1053, 1053, 1101, 1102, 1102, 1102, 1053, 1053, 1103, 1104,
803 1053, 1053, 1053, 1053, 1105, 1105, 1053, 1106, 1053, 1107,
804 1053, 1053, 1108, 1109, 1053, 1053, 1110, 1053, 1111, 1053,
805 1053, 1053, 1053, 1112, 1053, 1113, 1053, 1114, 1053, 1053,
806 1053, 1115, 1053, 1053, 1053, 1053, 1116, 1053, 1117, 1053,
807
808 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
809 1118, 1053, 1053, 1053, 1053, 1053, 1119, 1053, 1053, 1053,
810 1053, 1120, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
811 1053, 1121, 1053, 1122, 1053, 1053, 1053, 1053, 1053, 1053,
812 1053, 1053, 1053, 1053, 1123, 1124, 1053, 1053, 1053, 1125,
813 1126, 1053, 1127, 1053, 1053, 1053, 1053, 1053, 1128, 1053,
814 1129, 1053, 1053, 1053, 1130, 1053, 1053, 1053, 1053, 1053,
815 1131, 1131, 1053, 1053, 1053, 1132, 1053, 1133, 1134, 1135,
816 1136, 1053, 1053, 1137, 1135, 1053, 1053, 1053, 1053, 1053,
817 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1138, 1131,
818
819 1138, 300, 300, 300, 300, 300, 300, 1053, 1053, 1139,
820 1140, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1141, 1053,
821 1053, 1053, 1053, 1053, 1142, 1053, 1143, 1144, 1143, 1053,
822 1053, 1143, 1145, 1053, 1146, 1147, 1146, 1053, 1053, 1053,
823 1053, 1053, 1148, 1053, 1148, 1149, 1150, 1148, 1149, 1053,
824 1053, 1053, 1150, 1150, 1151, 1152, 1053, 1153, 1154, 1153,
825 1053, 1053, 1153, 1155, 1053, 1156, 1157, 1156, 1053, 1155,
826 1053, 1053, 1156, 1053, 1158, 1053, 1158, 1159, 1160, 1158,
827 1053, 1161, 1159, 1160, 1160, 1162, 1163, 1053, 1053, 1053,
828 1164, 1053, 1053, 1053, 1053, 1165, 1053, 1053, 1053, 1053,
829
830 1166, 1053, 1167, 1168, 1167, 1053, 1053, 1167, 1169, 1053,
831 1170, 1169, 1053, 1171, 1053, 1053, 1053, 1053, 1172, 1053,
832 1172, 1173, 1174, 1172, 1173, 1053, 1053, 1053, 1174, 1174,
833 1175, 1176, 1177, 1176, 1053, 1053, 1053, 1178, 1053, 1053,
834 1053, 1053, 1179, 1053, 1053, 1053, 1180, 1053, 1181, 1053,
835 1182, 1053, 1053, 1183, 1053, 1053, 1053, 1184, 1053, 1053,
836 1185, 1185, 1053, 1053, 1186, 1053, 1053, 1053, 1053, 1053,
837 1053, 1053, 1187, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
838 1188, 1053, 1053, 1053, 1189, 1053, 1053, 1053, 1053, 1053,
839 1053, 1053, 1053, 1190, 1053, 1053, 1053, 1191, 1053, 1053,
840
841 1053, 1053, 1053, 1053, 1192, 1193, 1192, 1053, 1053, 1194,
842 1195, 1194, 1053, 1053, 1196, 1053, 1053, 1197, 1053, 1198,
843 1053, 1053, 1199, 1200, 1053, 1053, 1053, 1201, 1202, 1203,
844 1053, 1053, 1204, 1205, 1204, 1203, 1053, 1053, 1053, 1053,
845 1053, 1053, 1206, 1053, 1053, 1053, 1053, 1053, 1207, 1207,
846 1208, 1053, 1209, 1209, 1209, 1053, 1053, 1210, 1209, 1209,
847 1209, 1211, 1212, 1213, 1213, 1213, 1213, 1213, 1213, 1213,
848 1214, 1214, 1215, 1216, 1053, 1053, 1217, 1218, 1218, 1219,
849 1220, 1220, 1221, 1222, 1053, 1223, 1053, 1053, 1053, 1224,
850 1224, 1225, 1226, 1227, 1228, 1228, 1053, 1053, 1229, 1230,
851
852 1231, 1053, 1053, 1053, 1053, 1053, 1232, 1233, 1053, 1053,
853 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1234, 1053,
854 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
855 1235, 1053, 1236, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
856 1053, 1237, 1053, 1053, 1053, 1238, 1239, 1240, 1053, 1053,
857 1053, 1053, 1241, 1241, 1053, 1053, 1053, 1053, 1053, 1242,
858 1053, 1243, 1243, 1244, 1243, 1243, 1243, 1245, 1246, 1246,
859 1246, 1246, 1246, 1246, 1246, 1247, 1053, 1053, 1248, 1249,
860 1053, 1053, 1053, 1053, 1225, 1250, 1226, 1226, 1227, 1053,
861 1053, 1231, 1053, 1053, 1053, 1053, 1053, 1233, 1053, 1053,
862
863 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
864 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
865 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
866 1251, 1240, 1053, 1053, 1053, 1053, 1053, 1053, 1252, 1252,
867 1243, 1243, 1053, 1243, 1246, 1245, 1246, 1246, 1246, 1247,
868 1053, 1053, 1248, 1249, 1053, 1053, 1053, 1225, 1253, 1053,
869 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
870 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
871 1053, 1254, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
872 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
873
874 1053, 1251, 1053, 1053, 1053, 1053, 1243, 1243, 1053, 1243,
875 1246, 1246, 1246, 1246, 1247, 1053, 1053, 1248, 1249, 1053,
876 1053, 1053, 1225, 1253, 1253, 1053, 1053, 1053, 1053, 1053,
877 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
878 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
879 1255, 1256, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
880 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
881 1053, 1053, 1053, 1053, 1053, 1243, 1243, 1243, 1246, 1246,
882 1246, 1246, 1247, 1053, 1053, 1248, 1249, 1053, 1053, 1053,
883 1225, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
884
885 1053, 1257, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
886 1053, 1053, 1258, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
887 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
888 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1243, 1243, 1243,
889 1246, 1246, 1246, 1246, 1247, 1053, 1053, 1248, 1249, 1053,
890 1053, 1053, 1225, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
891 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
892 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
893 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
894 1053, 1053, 1053, 1243, 1243, 1053, 1245, 1246, 1246, 1053,
895
896 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
897 1053, 1243, 1243, 1245, 1246, 1246, 1053, 1053, 1053, 1053,
898 1053, 1053, 1053, 1053, 1053, 1053, 1243, 1245, 1246, 1053,
899 1053, 1053, 1053, 1053, 1053, 1053, 1243, 1245, 1246, 1053,
900 1053, 1053, 1053, 1053, 1245, 1053, 1053, 1245, 1053, 1245,
901 1053, 1245, 0, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
902 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
903 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
904 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
905 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
906
907 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
908 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
909 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
910 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
911 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
912 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
913 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
914 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
915 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
916 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
917
918 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
919 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
920 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
921 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
922 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
923 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053
924 } ;
925
926static yyconst flex_int16_t yy_nxt[7569] =
927 { 0,
928 81, 82, 83, 81, 82, 81, 84, 81, 85, 81,
929 81, 81, 86, 81, 86, 87, 81, 86, 86, 81,
930 88, 81, 89, 90, 90, 90, 90, 90, 90, 90,
931 90, 90, 90, 90, 90, 90, 90, 90, 81, 91,
932 81, 90, 90, 90, 90, 90, 90, 90, 90, 90,
933 90, 90, 90, 90, 90, 90, 90, 90, 90, 90,
934 90, 90, 90, 90, 81, 81, 81, 81, 92, 144,
935 144, 92, 148, 145, 145, 148, 149, 207, 207, 149,
936 1049, 93, 94, 95, 95, 96, 95, 95, 95, 97,
937 95, 95, 95, 95, 95, 228, 95, 228, 95, 99,
938
939 546, 180, 99, 95, 95, 95, 146, 146, 180, 150,
940 80, 1047, 150, 469, 208, 208, 336, 80, 468, 546,
941 338, 95, 100, 95, 195, 196, 617, 195, 618, 197,
942 195, 196, 229, 195, 229, 197, 214, 215, 181, 214,
943 214, 215, 241, 214, 241, 181, 902, 95, 95, 95,
944 95, 95, 96, 95, 95, 95, 97, 95, 95, 95,
945 95, 95, 198, 95, 187, 95, 99, 187, 198, 99,
946 95, 95, 95, 188, 216, 218, 188, 219, 216, 242,
947 639, 242, 328, 329, 189, 525, 329, 189, 95, 100,
948 95, 342, 342, 342, 342, 220, 640, 280, 1043, 280,
949
950 280, 190, 280, 280, 190, 343, 329, 281, 460, 344,
951 524, 460, 221, 461, 95, 95, 95, 103, 103, 104,
952 103, 103, 103, 103, 103, 105, 103, 103, 103, 103,
953 103, 103, 103, 103, 103, 103, 103, 103, 103, 103,
954 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
955 106, 106, 106, 106, 106, 103, 107, 103, 106, 106,
956 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
957 106, 106, 106, 106, 106, 106, 106, 106, 106, 106,
958 106, 103, 103, 103, 106, 108, 109, 110, 109, 109,
959 108, 108, 108, 111, 108, 108, 108, 108, 108, 108,
960
961 112, 108, 108, 108, 113, 108, 108, 108, 114, 114,
962 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
963 114, 114, 114, 108, 115, 108, 114, 114, 114, 114,
964 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
965 114, 114, 114, 114, 114, 114, 114, 114, 114, 108,
966 108, 116, 114, 117, 117, 118, 117, 117, 117, 119,
967 117, 117, 117, 117, 117, 262, 117, 550, 117, 121,
968 262, 450, 121, 122, 117, 117, 200, 263, 201, 218,
969 451, 219, 263, 482, 506, 202, 551, 483, 508, 484,
970 203, 117, 123, 117, 482, 200, 204, 201, 483, 220,
971
972 273, 274, 264, 273, 202, 1041, 511, 264, 452, 203,
973 513, 539, 540, 205, 254, 204, 221, 117, 117, 117,
974 117, 117, 118, 117, 117, 117, 119, 117, 117, 117,
975 117, 117, 205, 117, 255, 117, 121, 254, 275, 121,
976 122, 117, 117, 223, 223, 224, 224, 537, 1053, 329,
977 537, 255, 329, 342, 342, 342, 342, 255, 117, 123,
978 117, 902, 235, 225, 225, 339, 340, 343, 339, 236,
979 237, 344, 329, 336, 255, 350, 351, 338, 350, 336,
980 226, 226, 238, 338, 117, 117, 117, 124, 124, 125,
981 124, 124, 124, 126, 124, 124, 124, 124, 124, 239,
982
983 124, 254, 124, 128, 235, 341, 128, 129, 130, 124,
984 254, 236, 237, 266, 1040, 352, 353, 353, 353, 353,
985 559, 256, 267, 354, 238, 124, 131, 124, 270, 560,
986 256, 270, 506, 268, 477, 478, 508, 477, 256, 388,
987 389, 239, 388, 323, 324, 658, 323, 256, 658, 271,
988 269, 124, 124, 124, 124, 124, 125, 124, 124, 124,
989 126, 124, 124, 124, 124, 124, 272, 124, 266, 124,
990 128, 563, 479, 128, 129, 130, 124, 267, 282, 390,
991 280, 283, 280, 284, 342, 342, 342, 342, 268, 1052,
992 281, 486, 124, 131, 124, 487, 541, 563, 343, 854,
993
994 506, 488, 344, 489, 508, 269, 855, 286, 384, 384,
995 384, 384, 1045, 323, 324, 385, 323, 541, 124, 124,
996 124, 108, 132, 133, 132, 132, 108, 108, 108, 134,
997 108, 108, 108, 108, 108, 108, 135, 108, 108, 108,
998 136, 108, 108, 108, 137, 137, 137, 137, 137, 137,
999 137, 137, 137, 137, 137, 137, 137, 137, 137, 108,
1000 115, 108, 137, 137, 137, 137, 137, 137, 137, 137,
1001 137, 137, 137, 137, 137, 137, 137, 137, 137, 137,
1002 137, 137, 137, 137, 137, 108, 108, 138, 137, 139,
1003 139, 140, 139, 139, 139, 139, 139, 139, 139, 139,
1004
1005 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
1006 139, 139, 141, 141, 141, 141, 141, 141, 141, 141,
1007 141, 141, 141, 141, 141, 141, 141, 139, 142, 139,
1008 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
1009 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
1010 141, 141, 141, 139, 139, 139, 141, 151, 151, 152,
1011 151, 151, 151, 153, 151, 151, 151, 151, 151, 563,
1012 151, 320, 151, 155, 320, 902, 155, 151, 151, 151,
1013 393, 394, 1028, 393, 321, 322, 342, 342, 342, 342,
1014 359, 360, 271, 345, 360, 151, 156, 151, 330, 331,
1015
1016 343, 330, 398, 399, 344, 398, 563, 330, 331, 272,
1017 330, 556, 1053, 329, 360, 511, 329, 1038, 1036, 513,
1018 395, 151, 151, 151, 151, 151, 152, 151, 151, 151,
1019 153, 151, 151, 151, 151, 151, 329, 151, 332, 151,
1020 155, 557, 400, 155, 151, 151, 151, 323, 324, 1035,
1021 323, 347, 624, 1053, 360, 1033, 282, 360, 280, 283,
1022 280, 284, 151, 156, 151, 542, 625, 558, 281, 374,
1023 374, 374, 374, 429, 429, 429, 429, 360, 339, 340,
1024 430, 339, 1053, 375, 1014, 286, 542, 376, 151, 151,
1025 151, 157, 157, 158, 157, 157, 157, 157, 157, 159,
1026
1027 157, 157, 157, 157, 157, 157, 157, 157, 157, 157,
1028 157, 157, 157, 157, 160, 160, 160, 160, 160, 160,
1029 160, 160, 160, 160, 160, 160, 160, 160, 160, 157,
1030 161, 157, 160, 160, 160, 160, 160, 160, 160, 160,
1031 160, 160, 160, 160, 160, 160, 160, 160, 160, 160,
1032 160, 160, 160, 160, 160, 157, 157, 157, 160, 162,
1033 163, 164, 163, 163, 162, 162, 162, 165, 162, 162,
1034 162, 162, 162, 162, 166, 162, 162, 162, 167, 162,
1035 162, 162, 168, 168, 168, 168, 168, 168, 168, 168,
1036 168, 168, 168, 168, 168, 168, 168, 162, 169, 162,
1037
1038 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
1039 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
1040 168, 168, 168, 162, 162, 170, 168, 171, 171, 172,
1041 171, 171, 171, 171, 171, 173, 171, 171, 171, 171,
1042 171, 171, 171, 171, 171, 171, 171, 171, 171, 171,
1043 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
1044 174, 174, 174, 174, 174, 171, 175, 171, 174, 174,
1045 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
1046 174, 174, 174, 174, 174, 174, 174, 174, 174, 174,
1047 174, 171, 171, 171, 174, 80, 80, 176, 80, 80,
1048
1049 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
1050 80, 80, 80, 80, 80, 80, 80, 80, 177, 177,
1051 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
1052 177, 177, 177, 80, 178, 80, 177, 177, 177, 177,
1053 177, 177, 177, 177, 177, 177, 177, 177, 177, 177,
1054 177, 177, 177, 177, 177, 177, 177, 177, 177, 80,
1055 80, 80, 177, 182, 182, 183, 182, 182, 182, 182,
1056 182, 182, 182, 182, 182, 182, 182, 182, 182, 182,
1057 182, 182, 182, 182, 182, 182, 184, 184, 184, 184,
1058 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
1059
1060 184, 182, 185, 182, 184, 184, 184, 184, 184, 184,
1061 184, 184, 184, 184, 184, 184, 184, 184, 184, 184,
1062 184, 184, 184, 184, 184, 184, 184, 182, 182, 182,
1063 184, 80, 80, 191, 80, 80, 80, 80, 80, 80,
1064 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
1065 80, 80, 80, 80, 192, 192, 192, 192, 192, 192,
1066 192, 192, 192, 192, 192, 192, 192, 192, 192, 80,
1067 193, 80, 192, 192, 192, 192, 192, 192, 192, 192,
1068 192, 192, 192, 192, 192, 192, 192, 192, 192, 192,
1069 192, 192, 192, 192, 192, 80, 80, 80, 192, 209,
1070
1071 209, 210, 209, 209, 209, 209, 209, 209, 209, 209,
1072 209, 209, 209, 209, 209, 209, 209, 209, 209, 209,
1073 209, 209, 211, 211, 211, 211, 211, 211, 211, 211,
1074 211, 211, 211, 211, 211, 211, 211, 209, 212, 209,
1075 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
1076 211, 211, 211, 211, 211, 211, 211, 211, 211, 211,
1077 211, 211, 211, 209, 209, 209, 211, 230, 230, 231,
1078 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
1079 230, 230, 230, 230, 230, 230, 230, 230, 230, 230,
1080 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
1081
1082 232, 232, 232, 232, 232, 230, 233, 230, 232, 232,
1083 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
1084 232, 232, 232, 232, 232, 232, 232, 232, 232, 232,
1085 232, 230, 230, 230, 232, 243, 243, 244, 243, 243,
1086 243, 243, 243, 245, 243, 243, 243, 243, 243, 243,
1087 243, 243, 243, 243, 243, 243, 243, 243, 246, 246,
1088 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
1089 246, 246, 246, 243, 247, 243, 246, 246, 246, 246,
1090 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
1091 246, 246, 246, 246, 246, 246, 246, 246, 246, 243,
1092
1093 243, 243, 246, 248, 248, 249, 248, 248, 248, 248,
1094 248, 250, 248, 248, 248, 248, 248, 248, 248, 248,
1095 248, 248, 248, 248, 248, 248, 251, 251, 251, 251,
1096 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
1097 251, 248, 252, 248, 251, 251, 251, 251, 251, 251,
1098 251, 251, 251, 251, 251, 251, 251, 251, 251, 251,
1099 251, 251, 251, 251, 251, 251, 251, 248, 248, 248,
1100 251, 257, 257, 258, 257, 257, 257, 257, 257, 257,
1101 257, 257, 257, 257, 257, 257, 257, 257, 257, 257,
1102 257, 257, 257, 257, 259, 259, 259, 259, 259, 259,
1103
1104 259, 259, 259, 259, 259, 259, 259, 259, 259, 257,
1105 260, 257, 259, 259, 259, 259, 259, 259, 259, 259,
1106 259, 259, 259, 259, 259, 259, 259, 259, 259, 259,
1107 259, 259, 259, 259, 259, 257, 257, 257, 259, 287,
1108 348, 348, 348, 348, 902, 367, 368, 345, 541, 368,
1109 288, 369, 404, 405, 343, 1032, 405, 902, 344, 552,
1110 289, 541, 552, 290, 291, 541, 902, 292, 293, 368,
1111 294, 295, 1031, 511, 1053, 368, 405, 513, 368, 289,
1112 1053, 541, 541, 290, 291, 361, 362, 541, 361, 292,
1113 293, 296, 297, 294, 295, 298, 298, 563, 368, 1053,
1114
1115 360, 636, 541, 360, 370, 347, 1030, 490, 298, 298,
1116 299, 1026, 486, 1053, 368, 659, 487, 368, 572, 369,
1117 541, 572, 488, 360, 489, 363, 637, 301, 1025, 350,
1118 351, 302, 350, 303, 304, 305, 1024, 368, 1053, 405,
1119 541, 572, 405, 371, 372, 659, 371, 306, 415, 416,
1120 307, 415, 308, 309, 310, 298, 298, 1053, 368, 1023,
1121 840, 368, 405, 1053, 374, 374, 374, 374, 298, 298,
1122 301, 659, 374, 374, 374, 374, 841, 585, 375, 377,
1123 585, 368, 376, 373, 1022, 382, 375, 299, 417, 313,
1124 376, 314, 450, 315, 316, 317, 1021, 380, 380, 380,
1125
1126 380, 451, 426, 427, 377, 426, 270, 318, 1020, 270,
1127 319, 375, 308, 309, 310, 376, 381, 374, 374, 381,
1128 361, 362, 541, 361, 382, 406, 407, 271, 406, 452,
1129 375, 859, 1019, 736, 376, 273, 274, 379, 273, 1053,
1130 405, 541, 428, 405, 272, 860, 418, 418, 418, 418,
1131 410, 410, 410, 410, 736, 1018, 1017, 411, 435, 436,
1132 419, 435, 379, 405, 420, 408, 412, 412, 413, 418,
1133 418, 418, 418, 275, 418, 418, 418, 418, 655, 371,
1134 372, 421, 371, 419, 992, 1011, 460, 420, 419, 460,
1135 1010, 461, 420, 424, 424, 424, 424, 655, 437, 541,
1136
1137 421, 418, 418, 418, 418, 440, 441, 419, 440, 444,
1138 445, 420, 444, 1009, 1007, 419, 453, 453, 541, 420,
1139 470, 471, 563, 470, 474, 475, 1050, 474, 1006, 453,
1140 453, 454, 491, 492, 552, 491, 1005, 552, 1004, 423,
1141 495, 496, 1003, 495, 552, 442, 1002, 552, 453, 446,
1142 499, 500, 1001, 499, 502, 503, 713, 502, 423, 713,
1143 472, 1000, 273, 274, 476, 273, 658, 543, 552, 658,
1144 543, 552, 493, 659, 993, 453, 455, 456, 543, 455,
1145 497, 543, 453, 453, 992, 563, 552, 544, 552, 552,
1146 501, 552, 1048, 991, 504, 453, 453, 453, 544, 662,
1147
1148 275, 545, 280, 659, 280, 280, 563, 280, 280, 714,
1149 552, 990, 281, 552, 454, 552, 457, 552, 552, 564,
1150 552, 274, 556, 545, 563, 552, 563, 552, 552, 659,
1151 552, 552, 989, 566, 552, 328, 329, 320, 988, 329,
1152 320, 453, 298, 298, 987, 565, 388, 389, 563, 388,
1153 321, 322, 557, 563, 986, 298, 298, 526, 271, 329,
1154 1053, 329, 667, 567, 329, 563, 985, 328, 329, 563,
1155 552, 329, 661, 552, 298, 272, 568, 654, 558, 984,
1156 654, 304, 305, 570, 329, 569, 579, 393, 394, 579,
1157 393, 329, 342, 342, 342, 342, 983, 544, 982, 308,
1158
1159 309, 310, 298, 298, 573, 726, 343, 981, 726, 579,
1160 344, 353, 353, 353, 353, 298, 298, 298, 354, 980,
1161 979, 348, 348, 348, 348, 978, 977, 665, 345, 1053,
1162 1053, 1053, 1053, 976, 526, 343, 1053, 398, 399, 344,
1163 398, 304, 305, 1053, 975, 974, 478, 1053, 353, 353,
1164 353, 353, 972, 406, 407, 354, 406, 971, 970, 308,
1165 309, 310, 531, 415, 416, 531, 415, 531, 531, 531,
1166 531, 531, 532, 531, 533, 531, 533, 534, 531, 969,
1167 968, 531, 531, 531, 536, 582, 347, 967, 582, 342,
1168 342, 342, 342, 966, 1053, 342, 342, 342, 342, 965,
1169
1170 531, 531, 531, 343, 964, 902, 962, 344, 582, 343,
1171 359, 360, 733, 344, 360, 733, 961, 348, 348, 348,
1172 348, 960, 426, 427, 345, 426, 531, 531, 531, 531,
1173 552, 343, 959, 552, 360, 344, 1053, 1053, 1053, 1053,
1174 1053, 1053, 1053, 360, 654, 1053, 360, 654, 958, 1053,
1175 1053, 1053, 359, 360, 367, 368, 360, 957, 368, 956,
1176 369, 1053, 368, 955, 544, 368, 360, 1053, 1053, 374,
1177 374, 374, 374, 367, 368, 954, 360, 368, 368, 369,
1178 404, 405, 347, 375, 405, 368, 952, 376, 591, 580,
1179 951, 591, 950, 1053, 1053, 1053, 947, 368, 380, 380,
1180
1181 380, 380, 946, 937, 405, 377, 1053, 1053, 1053, 1053,
1182 583, 591, 375, 1053, 1053, 405, 376, 936, 405, 658,
1183 1053, 935, 658, 934, 1053, 381, 374, 374, 381, 384,
1184 384, 384, 384, 382, 435, 436, 385, 435, 405, 375,
1185 933, 932, 931, 376, 380, 380, 380, 380, 930, 929,
1186 928, 377, 381, 374, 374, 381, 440, 441, 375, 440,
1187 382, 927, 376, 379, 404, 405, 375, 926, 405, 925,
1188 376, 1053, 381, 374, 374, 381, 384, 384, 384, 384,
1189 382, 444, 445, 385, 444, 924, 375, 923, 405, 922,
1190 376, 1053, 1053, 1053, 1053, 921, 455, 456, 1053, 455,
1191
1192 920, 592, 919, 410, 410, 410, 410, 917, 916, 379,
1193 411, 410, 410, 410, 410, 410, 410, 410, 410, 412,
1194 412, 413, 411, 410, 410, 410, 410, 913, 912, 413,
1195 411, 412, 412, 413, 418, 418, 418, 418, 911, 595,
1196 595, 413, 424, 424, 424, 424, 910, 909, 419, 421,
1197 470, 471, 420, 470, 474, 475, 419, 474, 908, 907,
1198 420, 1053, 1053, 1053, 1053, 906, 902, 905, 1053, 418,
1199 418, 418, 418, 477, 478, 1053, 477, 491, 492, 1053,
1200 491, 495, 496, 419, 495, 904, 903, 420, 429, 429,
1201 429, 429, 902, 901, 900, 430, 424, 424, 424, 424,
1202
1203 899, 499, 500, 421, 499, 502, 503, 423, 502, 552,
1204 419, 479, 552, 898, 420, 418, 418, 418, 418, 897,
1205 429, 429, 429, 429, 896, 552, 1053, 430, 552, 419,
1206 895, 894, 893, 420, 1053, 1053, 1053, 1053, 892, 890,
1207 585, 1053, 552, 585, 889, 552, 888, 552, 382, 552,
1208 552, 552, 552, 663, 552, 552, 552, 726, 552, 552,
1209 726, 423, 531, 563, 885, 531, 884, 531, 531, 531,
1210 531, 531, 532, 531, 533, 531, 533, 648, 531, 875,
1211 671, 531, 531, 531, 536, 563, 666, 563, 740, 563,
1212 874, 740, 552, 672, 563, 552, 669, 873, 670, 872,
1213
1214 531, 649, 531, 552, 742, 647, 552, 328, 572, 552,
1215 871, 572, 552, 673, 1053, 572, 328, 329, 572, 870,
1216 329, 359, 579, 869, 868, 579, 531, 531, 531, 531,
1217 563, 572, 552, 1053, 579, 552, 674, 579, 572, 867,
1218 329, 563, 359, 360, 585, 579, 360, 585, 675, 367,
1219 582, 676, 382, 582, 866, 369, 865, 579, 1053, 582,
1220 552, 864, 582, 552, 1053, 741, 360, 552, 367, 368,
1221 552, 863, 368, 582, 369, 404, 591, 679, 862, 591,
1222 1053, 591, 582, 861, 591, 404, 405, 858, 552, 405,
1223 661, 552, 368, 857, 410, 410, 410, 410, 856, 591,
1224
1225 853, 686, 852, 680, 591, 563, 744, 851, 850, 405,
1226 687, 687, 413, 749, 689, 689, 689, 689, 848, 847,
1227 685, 411, 410, 410, 410, 410, 846, 918, 1008, 411,
1228 918, 1008, 413, 807, 410, 410, 410, 410, 595, 595,
1229 413, 411, 282, 845, 280, 1034, 280, 732, 1034, 844,
1230 595, 595, 413, 843, 281, 739, 740, 739, 739, 740,
1231 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1232 739, 739, 739, 739, 739, 739, 739, 739, 300, 300,
1233 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
1234 300, 300, 300, 739, 739, 739, 300, 300, 300, 300,
1235
1236 300, 300, 300, 300, 300, 300, 300, 300, 300, 300,
1237 300, 300, 300, 300, 300, 300, 300, 300, 300, 739,
1238 739, 739, 739, 552, 552, 552, 552, 552, 552, 552,
1239 328, 329, 552, 842, 329, 552, 359, 360, 552, 839,
1240 360, 410, 410, 410, 410, 838, 552, 837, 686, 552,
1241 552, 836, 552, 552, 329, 552, 835, 687, 687, 413,
1242 360, 834, 563, 563, 552, 552, 833, 552, 552, 750,
1243 832, 552, 876, 748, 552, 753, 938, 661, 745, 739,
1244 740, 739, 739, 740, 739, 739, 739, 739, 739, 739,
1245 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1246
1247 739, 739, 563, 563, 877, 808, 831, 830, 878, 563,
1248 367, 368, 552, 829, 368, 552, 369, 739, 746, 739,
1249 747, 552, 828, 670, 552, 670, 404, 405, 552, 552,
1250 405, 552, 552, 827, 368, 410, 410, 410, 410, 826,
1251 822, 821, 686, 739, 739, 739, 739, 820, 817, 754,
1252 405, 687, 687, 413, 689, 689, 689, 689, 770, 771,
1253 816, 411, 809, 772, 806, 758, 773, 774, 995, 805,
1254 810, 775, 413, 939, 940, 776, 777, 282, 804, 280,
1255 552, 280, 732, 552, 803, 1042, 328, 329, 1042, 281,
1256 329, 410, 410, 410, 410, 647, 1044, 1046, 686, 1044,
1257
1258 1046, 552, 1044, 1046, 552, 1044, 1046, 824, 824, 413,
1259 329, 552, 552, 801, 552, 552, 552, 815, 563, 552,
1260 552, 552, 800, 552, 552, 811, 739, 739, 739, 739,
1261 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1262 739, 739, 739, 739, 739, 739, 739, 739, 739, 563,
1263 563, 359, 360, 661, 563, 360, 812, 552, 563, 563,
1264 552, 814, 879, 799, 739, 739, 739, 798, 797, 813,
1265 367, 368, 796, 795, 368, 360, 369, 941, 552, 404,
1266 405, 552, 818, 405, 552, 328, 329, 552, 794, 329,
1267 739, 739, 739, 739, 368, 563, 552, 793, 792, 552,
1268
1269 880, 819, 791, 405, 359, 360, 790, 789, 360, 329,
1270 823, 367, 368, 883, 788, 368, 563, 369, 1051, 404,
1271 405, 1051, 563, 405, 552, 787, 552, 552, 360, 552,
1272 552, 786, 886, 552, 563, 368, 881, 942, 552, 887,
1273 785, 552, 882, 405, 784, 783, 782, 891, 410, 410,
1274 410, 410, 781, 780, 779, 686, 410, 410, 410, 410,
1275 778, 769, 563, 686, 824, 824, 413, 552, 563, 943,
1276 552, 1012, 824, 824, 413, 944, 328, 329, 359, 360,
1277 329, 768, 360, 367, 368, 996, 274, 368, 996, 369,
1278 404, 405, 552, 767, 405, 552, 994, 766, 552, 765,
1279
1280 329, 552, 360, 552, 764, 563, 552, 368, 763, 328,
1281 329, 359, 360, 329, 405, 360, 762, 433, 945, 670,
1282 948, 996, 274, 997, 996, 949, 552, 404, 405, 552,
1283 563, 405, 953, 329, 761, 360, 563, 367, 368, 552,
1284 760, 368, 552, 369, 552, 552, 552, 552, 552, 552,
1285 998, 405, 757, 756, 999, 552, 1013, 552, 552, 275,
1286 552, 368, 552, 1044, 563, 552, 1044, 273, 274, 755,
1287 273, 1015, 562, 752, 562, 562, 562, 563, 642, 751,
1288 563, 642, 642, 743, 563, 738, 1027, 737, 661, 544,
1289 670, 735, 1016, 563, 734, 660, 1029, 660, 660, 660,
1290
1291 563, 563, 730, 729, 728, 997, 727, 562, 1037, 562,
1292 562, 562, 640, 1039, 80, 80, 80, 80, 80, 80,
1293 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
1294 80, 80, 80, 80, 80, 80, 80, 80, 80, 80,
1295 80, 98, 98, 98, 98, 98, 98, 98, 98, 98,
1296 98, 98, 98, 98, 98, 98, 98, 98, 98, 98,
1297 98, 98, 98, 98, 98, 98, 98, 98, 101, 101,
1298 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
1299 101, 101, 101, 101, 101, 101, 101, 101, 101, 101,
1300 101, 101, 101, 101, 101, 120, 120, 120, 120, 120,
1301
1302 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
1303 120, 120, 120, 120, 120, 120, 120, 120, 120, 120,
1304 120, 120, 127, 127, 127, 127, 127, 127, 127, 127,
1305 127, 127, 127, 127, 127, 127, 127, 127, 127, 127,
1306 127, 127, 127, 127, 127, 127, 127, 127, 127, 143,
1307 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
1308 143, 143, 143, 143, 143, 143, 143, 143, 143, 143,
1309 143, 143, 143, 143, 143, 143, 147, 147, 147, 147,
1310 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
1311 147, 147, 147, 147, 147, 147, 147, 147, 147, 147,
1312
1313 147, 147, 147, 154, 154, 154, 154, 154, 154, 154,
1314 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
1315 154, 154, 154, 154, 154, 154, 154, 154, 154, 154,
1316 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
1317 179, 179, 179, 179, 179, 179, 179, 179, 179, 179,
1318 179, 179, 179, 179, 179, 179, 179, 186, 186, 186,
1319 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
1320 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
1321 186, 186, 186, 186, 194, 194, 194, 194, 194, 194,
1322 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
1323
1324 194, 194, 194, 194, 194, 194, 194, 194, 194, 194,
1325 194, 199, 199, 199, 199, 199, 199, 199, 199, 199,
1326 199, 199, 199, 199, 199, 199, 199, 199, 199, 199,
1327 199, 199, 199, 199, 199, 199, 199, 199, 206, 206,
1328 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
1329 206, 206, 206, 206, 206, 206, 206, 206, 206, 206,
1330 206, 206, 206, 206, 206, 213, 213, 213, 213, 213,
1331 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
1332 213, 213, 213, 213, 213, 213, 213, 213, 213, 213,
1333 213, 213, 217, 217, 217, 217, 217, 217, 217, 217,
1334
1335 217, 217, 217, 217, 217, 217, 217, 217, 217, 217,
1336 217, 217, 217, 217, 217, 217, 217, 217, 217, 222,
1337 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
1338 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
1339 222, 222, 222, 222, 222, 222, 227, 227, 227, 227,
1340 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1341 227, 227, 227, 227, 227, 227, 227, 227, 227, 227,
1342 227, 227, 227, 234, 234, 234, 234, 234, 234, 234,
1343 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
1344 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
1345
1346 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
1347 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
1348 240, 240, 240, 240, 240, 240, 240, 253, 253, 253,
1349 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
1350 253, 253, 253, 253, 253, 253, 253, 253, 253, 253,
1351 253, 253, 253, 253, 261, 261, 261, 261, 261, 261,
1352 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
1353 261, 261, 261, 261, 261, 261, 261, 261, 261, 261,
1354 261, 265, 265, 265, 265, 265, 265, 265, 265, 265,
1355 265, 265, 265, 265, 265, 265, 265, 265, 265, 265,
1356
1357 265, 265, 265, 265, 265, 265, 265, 265, 276, 276,
1358 725, 276, 276, 276, 276, 276, 276, 276, 276, 276,
1359 276, 276, 276, 276, 276, 276, 276, 276, 276, 276,
1360 276, 276, 276, 276, 276, 279, 668, 724, 668, 668,
1361 668, 642, 723, 722, 642, 642, 721, 720, 279, 719,
1362 279, 279, 279, 718, 717, 279, 280, 716, 280, 280,
1363 715, 280, 712, 711, 280, 280, 710, 280, 280, 280,
1364 285, 708, 285, 285, 285, 285, 707, 285, 706, 705,
1365 285, 285, 285, 285, 285, 285, 300, 300, 660, 704,
1366 660, 660, 660, 703, 702, 701, 700, 699, 300, 300,
1367
1368 300, 300, 300, 300, 300, 300, 300, 311, 697, 311,
1369 311, 696, 311, 695, 694, 311, 311, 693, 311, 311,
1370 311, 312, 312, 433, 691, 690, 684, 683, 682, 681,
1371 678, 677, 657, 312, 312, 312, 312, 312, 312, 312,
1372 312, 312, 325, 325, 656, 325, 325, 325, 325, 325,
1373 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
1374 325, 325, 325, 325, 325, 325, 325, 325, 325, 327,
1375 652, 327, 327, 327, 327, 327, 651, 650, 327, 327,
1376 327, 327, 327, 1053, 281, 327, 333, 333, 333, 333,
1377 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
1378
1379 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
1380 333, 333, 333, 335, 281, 335, 335, 335, 647, 529,
1381 335, 337, 645, 337, 337, 644, 643, 337, 641, 337,
1382 337, 337, 638, 635, 337, 346, 346, 346, 346, 634,
1383 346, 511, 633, 632, 506, 631, 630, 346, 629, 628,
1384 346, 627, 626, 346, 623, 346, 346, 346, 622, 346,
1385 346, 349, 349, 349, 349, 621, 620, 619, 616, 480,
1386 615, 614, 613, 349, 612, 349, 349, 611, 463, 349,
1387 463, 349, 349, 349, 610, 609, 349, 355, 355, 355,
1388 355, 607, 355, 457, 452, 606, 605, 604, 603, 439,
1389
1390 602, 433, 600, 433, 598, 355, 419, 355, 355, 355,
1391 597, 594, 355, 356, 356, 402, 356, 356, 356, 356,
1392 356, 356, 356, 356, 356, 356, 356, 356, 356, 356,
1393 356, 356, 356, 356, 356, 356, 356, 356, 356, 356,
1394 358, 589, 358, 358, 358, 358, 358, 397, 588, 358,
1395 358, 358, 358, 358, 392, 587, 358, 364, 364, 375,
1396 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
1397 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
1398 364, 364, 364, 364, 366, 365, 366, 366, 366, 366,
1399 366, 366, 369, 366, 366, 366, 366, 366, 365, 357,
1400
1401 366, 378, 378, 378, 378, 576, 378, 343, 575, 336,
1402 574, 334, 326, 378, 561, 555, 378, 554, 553, 378,
1403 551, 378, 378, 378, 548, 378, 378, 383, 383, 383,
1404 383, 547, 538, 383, 281, 281, 529, 277, 527, 383,
1405 524, 383, 383, 522, 521, 383, 519, 383, 383, 383,
1406 517, 516, 383, 386, 386, 386, 386, 514, 386, 509,
1407 480, 468, 467, 466, 464, 463, 459, 452, 448, 439,
1408 433, 386, 419, 386, 386, 386, 402, 397, 386, 387,
1409 392, 375, 387, 365, 357, 357, 387, 343, 387, 387,
1410 387, 334, 326, 387, 391, 391, 281, 391, 391, 391,
1411
1412 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1413 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1414 391, 396, 396, 281, 396, 396, 396, 396, 396, 396,
1415 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1416 396, 396, 396, 396, 396, 396, 396, 396, 401, 401,
1417 278, 401, 401, 401, 401, 401, 401, 401, 401, 401,
1418 401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
1419 401, 401, 401, 401, 401, 403, 277, 403, 403, 403,
1420 403, 403, 1053, 102, 403, 403, 403, 403, 403, 102,
1421 1053, 403, 409, 1053, 409, 409, 409, 1053, 1053, 409,
1422
1423 414, 414, 414, 414, 1053, 414, 1053, 1053, 1053, 1053,
1424 1053, 1053, 1053, 1053, 414, 414, 1053, 1053, 414, 1053,
1425 414, 414, 414, 1053, 1053, 414, 422, 422, 422, 422,
1426 1053, 422, 1053, 1053, 1053, 1053, 1053, 1053, 422, 1053,
1427 1053, 422, 1053, 1053, 422, 1053, 422, 422, 422, 1053,
1428 422, 422, 425, 425, 425, 425, 1053, 1053, 1053, 1053,
1429 1053, 1053, 1053, 1053, 425, 1053, 425, 425, 1053, 1053,
1430 425, 1053, 425, 425, 425, 1053, 1053, 425, 431, 431,
1431 431, 431, 1053, 431, 1053, 1053, 1053, 1053, 1053, 1053,
1432 1053, 1053, 1053, 1053, 1053, 1053, 431, 1053, 431, 431,
1433
1434 431, 1053, 1053, 431, 432, 1053, 432, 432, 432, 1053,
1435 1053, 432, 434, 1053, 434, 1053, 1053, 1053, 434, 1053,
1436 434, 434, 434, 1053, 1053, 434, 438, 438, 1053, 438,
1437 1053, 1053, 1053, 438, 1053, 438, 438, 438, 1053, 1053,
1438 438, 443, 443, 1053, 443, 443, 443, 443, 443, 443,
1439 1053, 443, 443, 443, 443, 443, 443, 443, 443, 443,
1440 443, 1053, 443, 443, 443, 443, 443, 443, 447, 1053,
1441 1053, 447, 1053, 1053, 1053, 447, 1053, 447, 447, 447,
1442 1053, 1053, 447, 449, 449, 449, 449, 449, 449, 449,
1443 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
1444
1445 449, 1053, 449, 449, 449, 449, 449, 449, 449, 449,
1446 451, 451, 1053, 451, 451, 451, 451, 451, 451, 451,
1447 451, 451, 451, 451, 451, 451, 451, 451, 1053, 451,
1448 451, 451, 451, 451, 451, 451, 451, 458, 1053, 1053,
1449 458, 1053, 1053, 1053, 458, 1053, 458, 458, 458, 1053,
1450 1053, 458, 462, 462, 1053, 462, 462, 462, 462, 462,
1451 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
1452 462, 462, 462, 462, 462, 462, 462, 462, 462, 465,
1453 465, 1053, 465, 1053, 465, 465, 465, 465, 1053, 465,
1454 465, 465, 465, 1053, 465, 465, 465, 1053, 465, 1053,
1455
1456 465, 465, 465, 465, 465, 465, 473, 1053, 1053, 473,
1457 1053, 1053, 1053, 473, 1053, 473, 473, 473, 1053, 1053,
1458 473, 481, 481, 1053, 481, 1053, 481, 481, 481, 481,
1459 481, 481, 481, 481, 481, 481, 481, 481, 481, 1053,
1460 481, 1053, 481, 481, 481, 481, 481, 481, 485, 485,
1461 1053, 485, 1053, 485, 485, 485, 485, 485, 485, 485,
1462 485, 485, 485, 485, 485, 485, 1053, 485, 1053, 485,
1463 485, 485, 485, 485, 485, 494, 1053, 1053, 494, 1053,
1464 1053, 1053, 494, 1053, 494, 494, 494, 1053, 1053, 494,
1465 498, 498, 1053, 498, 498, 498, 498, 1053, 1053, 498,
1466
1467 498, 498, 498, 498, 498, 498, 498, 498, 1053, 498,
1468 1053, 498, 498, 498, 498, 498, 498, 505, 1053, 505,
1469 505, 505, 1053, 1053, 505, 507, 1053, 507, 507, 1053,
1470 1053, 507, 1053, 507, 507, 507, 1053, 1053, 507, 510,
1471 1053, 510, 510, 510, 1053, 1053, 510, 512, 1053, 512,
1472 512, 1053, 1053, 512, 1053, 512, 512, 512, 1053, 1053,
1473 512, 515, 515, 1053, 515, 515, 515, 515, 515, 515,
1474 515, 515, 515, 515, 515, 515, 515, 515, 515, 1053,
1475 515, 1053, 515, 515, 515, 515, 515, 515, 518, 1053,
1476 1053, 518, 1053, 1053, 1053, 518, 1053, 518, 518, 518,
1477
1478 1053, 1053, 518, 520, 520, 1053, 520, 520, 520, 520,
1479 520, 520, 520, 520, 520, 1053, 520, 520, 520, 520,
1480 520, 520, 520, 1053, 520, 520, 520, 520, 520, 520,
1481 523, 523, 1053, 523, 523, 523, 523, 523, 523, 1053,
1482 523, 523, 523, 523, 523, 523, 523, 523, 1053, 523,
1483 1053, 523, 523, 523, 523, 523, 523, 300, 300, 1053,
1484 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 300,
1485 300, 300, 300, 300, 300, 300, 300, 300, 276, 276,
1486 1053, 276, 276, 276, 276, 276, 276, 276, 276, 276,
1487 276, 276, 276, 276, 276, 276, 276, 276, 276, 276,
1488
1489 276, 276, 276, 276, 276, 279, 1053, 279, 279, 279,
1490 1053, 1053, 279, 528, 528, 1053, 1053, 528, 1053, 528,
1491 528, 528, 1053, 1053, 528, 280, 1053, 280, 280, 1053,
1492 280, 1053, 1053, 280, 280, 1053, 280, 280, 280, 530,
1493 1053, 1053, 530, 1053, 1053, 1053, 530, 1053, 530, 530,
1494 530, 535, 1053, 1053, 535, 1053, 535, 535, 535, 535,
1495 535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
1496 535, 535, 535, 535, 535, 535, 535, 535, 549, 1053,
1497 549, 549, 549, 1053, 549, 311, 1053, 311, 311, 1053,
1498 311, 1053, 1053, 311, 311, 1053, 311, 311, 311, 312,
1499
1500 1053, 1053, 312, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1501 1053, 1053, 1053, 1053, 1053, 1053, 1053, 312, 312, 312,
1502 312, 312, 325, 325, 1053, 325, 325, 325, 325, 325,
1503 325, 325, 325, 325, 325, 325, 325, 325, 325, 325,
1504 325, 325, 325, 325, 325, 325, 325, 325, 325, 327,
1505 1053, 327, 327, 327, 327, 327, 1053, 1053, 327, 327,
1506 327, 327, 327, 1053, 1053, 327, 571, 1053, 571, 1053,
1507 571, 571, 571, 1053, 1053, 571, 571, 571, 571, 571,
1508 1053, 1053, 571, 333, 333, 333, 333, 333, 333, 333,
1509 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
1510
1511 333, 333, 333, 333, 333, 333, 333, 333, 333, 333,
1512 337, 1053, 337, 337, 1053, 1053, 337, 1053, 337, 337,
1513 337, 1053, 1053, 337, 335, 1053, 1053, 1053, 1053, 1053,
1514 1053, 1053, 1053, 1053, 1053, 1053, 1053, 335, 1053, 335,
1515 335, 335, 1053, 1053, 335, 346, 346, 346, 346, 1053,
1516 346, 1053, 1053, 1053, 1053, 1053, 1053, 346, 1053, 1053,
1517 346, 1053, 1053, 346, 1053, 346, 346, 346, 1053, 346,
1518 346, 349, 349, 349, 349, 1053, 1053, 1053, 1053, 1053,
1519 1053, 1053, 1053, 349, 1053, 349, 349, 1053, 1053, 349,
1520 1053, 349, 349, 349, 1053, 1053, 349, 355, 355, 355,
1521
1522 355, 1053, 355, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1523 1053, 1053, 1053, 1053, 1053, 355, 1053, 355, 355, 355,
1524 1053, 1053, 355, 577, 1053, 1053, 1053, 577, 1053, 577,
1525 577, 577, 1053, 1053, 577, 356, 356, 1053, 356, 356,
1526 356, 356, 356, 356, 356, 356, 356, 356, 356, 356,
1527 356, 356, 356, 356, 356, 356, 356, 356, 356, 356,
1528 356, 356, 358, 1053, 358, 358, 358, 358, 358, 1053,
1529 1053, 358, 358, 358, 358, 358, 1053, 1053, 358, 578,
1530 1053, 578, 1053, 578, 578, 578, 1053, 1053, 578, 578,
1531 578, 578, 578, 1053, 1053, 578, 364, 364, 1053, 364,
1532
1533 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
1534 364, 364, 364, 364, 364, 364, 364, 364, 364, 364,
1535 364, 364, 364, 366, 1053, 366, 366, 366, 366, 366,
1536 366, 1053, 366, 366, 366, 366, 366, 1053, 1053, 366,
1537 581, 1053, 581, 1053, 581, 581, 581, 1053, 1053, 581,
1538 581, 581, 581, 581, 1053, 1053, 581, 378, 378, 378,
1539 378, 1053, 378, 1053, 1053, 1053, 1053, 1053, 1053, 378,
1540 1053, 1053, 378, 1053, 1053, 378, 1053, 378, 378, 378,
1541 1053, 378, 378, 383, 383, 383, 383, 1053, 1053, 383,
1542 1053, 1053, 1053, 1053, 1053, 383, 1053, 383, 383, 1053,
1543
1544 1053, 383, 1053, 383, 383, 383, 1053, 1053, 383, 386,
1545 386, 386, 386, 1053, 386, 1053, 1053, 1053, 1053, 1053,
1546 1053, 1053, 1053, 1053, 1053, 1053, 1053, 386, 1053, 386,
1547 386, 386, 1053, 1053, 386, 584, 584, 584, 584, 584,
1548 584, 584, 584, 1053, 584, 584, 584, 584, 584, 584,
1549 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
1550 584, 584, 586, 1053, 1053, 586, 1053, 1053, 586, 1053,
1551 1053, 1053, 1053, 1053, 1053, 1053, 586, 1053, 1053, 1053,
1552 586, 1053, 586, 586, 586, 1053, 1053, 586, 387, 1053,
1553 1053, 387, 1053, 1053, 1053, 387, 1053, 387, 387, 387,
1554
1555 1053, 1053, 387, 391, 391, 1053, 391, 391, 391, 391,
1556 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1557 391, 391, 391, 391, 391, 391, 391, 391, 391, 391,
1558 396, 396, 1053, 396, 396, 396, 396, 396, 396, 396,
1559 396, 396, 396, 396, 396, 396, 396, 396, 396, 396,
1560 396, 396, 396, 396, 396, 396, 396, 401, 401, 1053,
1561 401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
1562 401, 401, 401, 401, 401, 401, 401, 401, 401, 401,
1563 401, 401, 401, 401, 403, 1053, 403, 403, 403, 403,
1564 403, 1053, 1053, 403, 403, 403, 403, 403, 1053, 1053,
1565
1566 403, 590, 1053, 590, 1053, 590, 590, 590, 1053, 1053,
1567 590, 590, 590, 590, 590, 1053, 1053, 590, 414, 414,
1568 414, 414, 1053, 414, 1053, 1053, 1053, 1053, 1053, 1053,
1569 1053, 1053, 414, 414, 1053, 1053, 414, 1053, 414, 414,
1570 414, 1053, 1053, 414, 593, 1053, 593, 593, 593, 1053,
1571 1053, 593, 596, 596, 596, 596, 1053, 596, 1053, 1053,
1572 1053, 1053, 1053, 1053, 1053, 1053, 596, 596, 1053, 1053,
1573 596, 1053, 596, 596, 596, 1053, 1053, 596, 422, 422,
1574 422, 422, 1053, 422, 1053, 1053, 1053, 1053, 1053, 1053,
1575 422, 1053, 1053, 422, 1053, 1053, 422, 1053, 422, 422,
1576
1577 422, 1053, 422, 422, 425, 425, 425, 425, 1053, 1053,
1578 1053, 1053, 1053, 1053, 1053, 1053, 425, 1053, 425, 425,
1579 1053, 1053, 425, 1053, 425, 425, 425, 1053, 1053, 425,
1580 431, 431, 431, 431, 1053, 431, 1053, 1053, 1053, 1053,
1581 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 431, 1053,
1582 431, 431, 431, 1053, 1053, 431, 599, 1053, 1053, 1053,
1583 599, 1053, 599, 599, 599, 1053, 1053, 599, 434, 1053,
1584 434, 1053, 1053, 1053, 434, 1053, 434, 434, 434, 1053,
1585 1053, 434, 601, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1586 1053, 1053, 1053, 1053, 1053, 601, 1053, 601, 601, 601,
1587
1588 1053, 1053, 601, 438, 438, 1053, 438, 1053, 1053, 1053,
1589 438, 1053, 438, 438, 438, 1053, 1053, 438, 443, 443,
1590 1053, 443, 443, 443, 443, 443, 443, 1053, 443, 443,
1591 443, 443, 443, 443, 443, 443, 443, 443, 1053, 443,
1592 443, 443, 443, 443, 443, 447, 1053, 1053, 447, 1053,
1593 1053, 1053, 447, 1053, 447, 447, 447, 1053, 1053, 447,
1594 449, 449, 449, 449, 449, 449, 449, 449, 449, 449,
1595 449, 449, 449, 449, 449, 449, 449, 449, 1053, 449,
1596 449, 449, 449, 449, 449, 449, 449, 451, 451, 1053,
1597 451, 451, 451, 451, 451, 451, 451, 451, 451, 451,
1598
1599 451, 451, 451, 451, 451, 1053, 451, 451, 451, 451,
1600 451, 451, 451, 451, 608, 1053, 1053, 1053, 1053, 1053,
1601 1053, 1053, 1053, 1053, 1053, 1053, 1053, 608, 1053, 608,
1602 608, 608, 1053, 1053, 608, 458, 1053, 1053, 458, 1053,
1603 1053, 1053, 458, 1053, 458, 458, 458, 1053, 1053, 458,
1604 462, 462, 1053, 462, 462, 462, 462, 462, 462, 462,
1605 462, 462, 462, 462, 462, 462, 462, 462, 462, 462,
1606 462, 462, 462, 462, 462, 462, 462, 465, 465, 1053,
1607 465, 1053, 465, 465, 465, 465, 1053, 465, 465, 465,
1608 465, 1053, 465, 465, 465, 1053, 465, 1053, 465, 465,
1609
1610 465, 465, 465, 465, 473, 1053, 1053, 473, 1053, 1053,
1611 1053, 473, 1053, 473, 473, 473, 1053, 1053, 473, 481,
1612 481, 1053, 481, 1053, 481, 481, 481, 481, 481, 481,
1613 481, 481, 481, 481, 481, 481, 481, 1053, 481, 1053,
1614 481, 481, 481, 481, 481, 481, 485, 485, 1053, 485,
1615 1053, 485, 485, 485, 485, 485, 485, 485, 485, 485,
1616 485, 485, 485, 485, 1053, 485, 1053, 485, 485, 485,
1617 485, 485, 485, 494, 1053, 1053, 494, 1053, 1053, 1053,
1618 494, 1053, 494, 494, 494, 1053, 1053, 494, 498, 498,
1619 1053, 498, 498, 498, 498, 1053, 1053, 498, 498, 498,
1620
1621 498, 498, 498, 498, 498, 498, 1053, 498, 1053, 498,
1622 498, 498, 498, 498, 498, 507, 1053, 507, 507, 1053,
1623 1053, 507, 1053, 507, 507, 507, 1053, 1053, 507, 505,
1624 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1625 1053, 1053, 505, 1053, 505, 505, 505, 1053, 1053, 505,
1626 512, 1053, 512, 512, 1053, 1053, 512, 1053, 512, 512,
1627 512, 1053, 1053, 512, 510, 1053, 1053, 1053, 1053, 1053,
1628 1053, 1053, 1053, 1053, 1053, 1053, 1053, 510, 1053, 510,
1629 510, 510, 1053, 1053, 510, 515, 515, 1053, 515, 515,
1630 515, 515, 515, 515, 515, 515, 515, 515, 515, 515,
1631
1632 515, 515, 515, 1053, 515, 1053, 515, 515, 515, 515,
1633 515, 515, 518, 1053, 1053, 518, 1053, 1053, 1053, 518,
1634 1053, 518, 518, 518, 1053, 1053, 518, 520, 520, 1053,
1635 520, 520, 520, 520, 520, 520, 520, 520, 520, 1053,
1636 520, 520, 520, 520, 520, 520, 520, 1053, 520, 520,
1637 520, 520, 520, 520, 523, 523, 1053, 523, 523, 523,
1638 523, 523, 523, 1053, 523, 523, 523, 523, 523, 523,
1639 523, 523, 1053, 523, 1053, 523, 523, 523, 523, 523,
1640 523, 528, 528, 1053, 1053, 528, 1053, 528, 528, 528,
1641 1053, 1053, 528, 646, 646, 1053, 646, 646, 646, 1053,
1642
1643 646, 646, 646, 646, 646, 646, 646, 646, 646, 646,
1644 646, 646, 646, 646, 646, 646, 646, 646, 646, 646,
1645 530, 530, 1053, 530, 1053, 1053, 1053, 530, 1053, 530,
1646 530, 530, 280, 1053, 280, 280, 1053, 280, 1053, 1053,
1647 280, 280, 1053, 280, 280, 280, 535, 1053, 1053, 535,
1648 1053, 535, 535, 535, 535, 535, 535, 535, 535, 535,
1649 535, 535, 535, 535, 535, 535, 535, 535, 535, 535,
1650 535, 535, 535, 653, 653, 1053, 653, 653, 653, 653,
1651 653, 653, 653, 653, 653, 653, 653, 653, 653, 653,
1652 653, 653, 653, 653, 653, 653, 653, 653, 653, 653,
1653
1654 549, 1053, 1053, 549, 1053, 1053, 1053, 1053, 1053, 1053,
1655 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 549, 1053,
1656 549, 549, 549, 300, 1053, 1053, 300, 1053, 1053, 1053,
1657 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1658 1053, 300, 1053, 300, 300, 300, 664, 664, 1053, 664,
1659 664, 664, 664, 664, 664, 664, 664, 664, 664, 664,
1660 664, 664, 664, 664, 664, 664, 664, 664, 664, 664,
1661 1053, 664, 664, 312, 1053, 1053, 312, 1053, 1053, 1053,
1662 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1663 1053, 312, 312, 312, 312, 312, 571, 1053, 571, 571,
1664
1665 571, 571, 571, 1053, 1053, 571, 571, 571, 571, 571,
1666 1053, 1053, 571, 327, 1053, 327, 327, 327, 327, 327,
1667 1053, 1053, 327, 327, 327, 327, 327, 1053, 1053, 327,
1668 335, 1053, 335, 335, 335, 1053, 1053, 335, 577, 1053,
1669 1053, 1053, 577, 1053, 577, 577, 577, 1053, 1053, 577,
1670 578, 1053, 578, 578, 578, 578, 578, 1053, 1053, 578,
1671 578, 578, 578, 578, 1053, 1053, 578, 358, 1053, 358,
1672 358, 358, 358, 358, 1053, 1053, 358, 358, 358, 358,
1673 358, 1053, 1053, 358, 581, 1053, 581, 581, 581, 581,
1674 581, 581, 1053, 581, 581, 581, 581, 581, 1053, 1053,
1675
1676 581, 366, 1053, 366, 366, 366, 366, 366, 366, 1053,
1677 366, 366, 366, 366, 366, 1053, 1053, 366, 584, 584,
1678 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
1679 584, 584, 584, 584, 584, 584, 584, 584, 584, 584,
1680 584, 584, 584, 584, 584, 586, 1053, 1053, 586, 1053,
1681 1053, 586, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 586,
1682 1053, 1053, 1053, 586, 1053, 586, 586, 586, 1053, 1053,
1683 586, 590, 1053, 590, 590, 590, 590, 590, 1053, 1053,
1684 590, 590, 590, 590, 590, 1053, 1053, 590, 403, 1053,
1685 403, 403, 403, 403, 403, 1053, 1053, 403, 403, 403,
1686
1687 403, 403, 1053, 1053, 403, 688, 688, 688, 688, 1053,
1688 688, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 688,
1689 688, 1053, 1053, 688, 1053, 688, 688, 688, 1053, 1053,
1690 688, 593, 593, 593, 593, 1053, 593, 1053, 1053, 1053,
1691 1053, 1053, 1053, 1053, 1053, 1053, 593, 1053, 1053, 593,
1692 1053, 593, 593, 593, 1053, 1053, 593, 596, 596, 596,
1693 596, 1053, 596, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1694 1053, 596, 596, 1053, 1053, 596, 1053, 596, 596, 596,
1695 1053, 1053, 596, 599, 1053, 1053, 1053, 599, 1053, 599,
1696 599, 599, 1053, 1053, 599, 601, 1053, 601, 601, 601,
1697
1698 1053, 1053, 601, 692, 1053, 692, 1053, 1053, 1053, 692,
1699 1053, 692, 692, 692, 1053, 1053, 692, 608, 1053, 608,
1700 608, 608, 1053, 1053, 608, 698, 1053, 1053, 1053, 698,
1701 1053, 698, 698, 698, 1053, 1053, 698, 709, 709, 709,
1702 709, 709, 709, 709, 709, 709, 709, 709, 709, 709,
1703 709, 709, 1053, 709, 709, 709, 1053, 709, 1053, 1053,
1704 709, 709, 709, 709, 505, 1053, 505, 505, 505, 1053,
1705 1053, 505, 510, 1053, 510, 510, 510, 1053, 1053, 510,
1706 646, 646, 1053, 646, 646, 646, 646, 646, 646, 646,
1707 646, 646, 646, 646, 646, 646, 646, 646, 646, 646,
1708
1709 646, 646, 646, 646, 646, 646, 646, 731, 1053, 1053,
1710 731, 1053, 1053, 1053, 731, 1053, 731, 731, 731, 285,
1711 1053, 285, 1053, 285, 285, 1053, 285, 1053, 1053, 285,
1712 285, 1053, 285, 285, 285, 653, 653, 1053, 653, 653,
1713 653, 653, 653, 653, 653, 653, 653, 653, 653, 653,
1714 653, 653, 653, 653, 653, 653, 653, 653, 653, 653,
1715 653, 653, 300, 1053, 1053, 300, 1053, 1053, 1053, 1053,
1716 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1717 300, 1053, 300, 300, 300, 664, 664, 1053, 664, 664,
1718 664, 664, 664, 664, 664, 664, 664, 664, 664, 664,
1719
1720 664, 664, 664, 664, 664, 664, 664, 664, 664, 664,
1721 664, 664, 668, 668, 668, 668, 668, 312, 1053, 1053,
1722 312, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1723 1053, 1053, 1053, 1053, 1053, 312, 312, 312, 312, 312,
1724 327, 1053, 327, 327, 327, 327, 327, 1053, 1053, 327,
1725 327, 327, 327, 327, 1053, 1053, 327, 358, 1053, 358,
1726 358, 358, 358, 358, 1053, 1053, 358, 358, 358, 358,
1727 358, 1053, 1053, 358, 366, 1053, 366, 366, 366, 366,
1728 366, 366, 1053, 366, 366, 366, 366, 366, 1053, 1053,
1729 366, 759, 1053, 759, 759, 759, 1053, 1053, 759, 802,
1730
1731 802, 1053, 802, 1053, 1053, 1053, 802, 1053, 802, 802,
1732 802, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1733 739, 739, 739, 739, 739, 739, 739, 739, 739, 739,
1734 1053, 739, 1053, 1053, 1053, 739, 739, 739, 825, 825,
1735 825, 825, 1053, 825, 1053, 1053, 1053, 1053, 1053, 1053,
1736 1053, 1053, 825, 825, 1053, 1053, 825, 1053, 825, 825,
1737 825, 1053, 1053, 825, 849, 849, 849, 849, 849, 849,
1738 849, 849, 849, 849, 849, 849, 849, 849, 849, 1053,
1739 849, 849, 849, 1053, 849, 1053, 849, 1053, 849, 849,
1740 849, 914, 914, 914, 914, 914, 914, 914, 914, 914,
1741
1742 914, 914, 914, 914, 914, 914, 1053, 914, 914, 914,
1743 1053, 914, 1053, 1053, 1053, 914, 914, 914, 915, 915,
1744 915, 915, 915, 915, 915, 915, 915, 915, 915, 915,
1745 915, 915, 915, 1053, 915, 915, 915, 1053, 915, 1053,
1746 1053, 1053, 915, 915, 915, 963, 963, 963, 963, 963,
1747 963, 963, 963, 963, 963, 963, 963, 963, 963, 963,
1748 1053, 963, 963, 963, 1053, 963, 1053, 1053, 1053, 963,
1749 963, 963, 973, 973, 973, 973, 973, 973, 973, 973,
1750 973, 973, 973, 973, 973, 973, 973, 1053, 973, 973,
1751 973, 1053, 973, 1053, 1053, 1053, 973, 973, 973, 79,
1752
1753 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1754 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1755 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1756 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1757 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1758 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
1759 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053
1760 } ;
1761
1762static yyconst flex_int16_t yy_chk[7569] =
1763 { 0,
1764 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1765 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1766 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1767 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1768 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1769 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
1770 3, 3, 3, 3, 3, 3, 3, 3, 4, 21,
1771 22, 4, 23, 21, 22, 24, 23, 47, 48, 24,
1772 1047, 4, 4, 5, 5, 5, 5, 5, 5, 5,
1773 5, 5, 5, 5, 5, 57, 5, 58, 5, 5,
1774
1775 294, 35, 5, 5, 5, 5, 21, 22, 36, 23,
1776 35, 1043, 24, 205, 47, 48, 106, 36, 205, 294,
1777 106, 5, 5, 5, 43, 43, 482, 43, 482, 43,
1778 44, 44, 57, 44, 58, 44, 51, 51, 35, 51,
1779 52, 52, 63, 52, 64, 36, 1040, 5, 5, 5,
1780 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
1781 6, 6, 43, 6, 39, 6, 6, 40, 44, 6,
1782 6, 6, 6, 39, 51, 53, 40, 53, 52, 63,
1783 521, 64, 98, 98, 39, 269, 98, 40, 6, 6,
1784 6, 109, 109, 109, 109, 53, 521, 90, 1036, 90,
1785
1786 90, 39, 90, 90, 40, 109, 98, 90, 195, 109,
1787 269, 195, 53, 195, 6, 6, 6, 9, 9, 9,
1788 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1789 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1790 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1791 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1792 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1793 9, 9, 9, 9, 9, 9, 9, 9, 9, 9,
1794 9, 9, 9, 9, 9, 11, 11, 11, 11, 11,
1795 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1796
1797 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1798 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1799 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1800 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1801 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
1802 11, 11, 11, 13, 13, 13, 13, 13, 13, 13,
1803 13, 13, 13, 13, 13, 75, 13, 299, 13, 13,
1804 76, 186, 13, 13, 13, 13, 45, 75, 45, 54,
1805 186, 54, 76, 220, 246, 45, 299, 220, 246, 221,
1806 45, 13, 13, 13, 221, 46, 45, 46, 221, 54,
1807
1808 83, 83, 75, 83, 46, 1033, 251, 76, 186, 46,
1809 251, 288, 288, 45, 69, 46, 54, 13, 13, 13,
1810 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
1811 14, 14, 46, 14, 69, 14, 14, 70, 83, 14,
1812 14, 14, 14, 55, 56, 55, 56, 286, 99, 99,
1813 286, 69, 99, 110, 110, 110, 110, 70, 14, 14,
1814 14, 1032, 61, 55, 56, 107, 107, 110, 107, 61,
1815 61, 110, 99, 335, 70, 115, 115, 335, 115, 337,
1816 55, 56, 61, 337, 14, 14, 14, 15, 15, 15,
1817 15, 15, 15, 15, 15, 15, 15, 15, 15, 61,
1818
1819 15, 71, 15, 15, 62, 107, 15, 15, 15, 15,
1820 72, 62, 62, 77, 1031, 115, 116, 116, 116, 116,
1821 306, 71, 77, 116, 62, 15, 15, 15, 82, 306,
1822 72, 82, 505, 77, 214, 214, 505, 214, 71, 142,
1823 142, 62, 142, 322, 322, 549, 322, 72, 549, 82,
1824 77, 15, 15, 15, 16, 16, 16, 16, 16, 16,
1825 16, 16, 16, 16, 16, 16, 82, 16, 78, 16,
1826 16, 1050, 214, 16, 16, 16, 16, 78, 87, 142,
1827 87, 87, 87, 87, 114, 114, 114, 114, 78, 1050,
1828 87, 225, 16, 16, 16, 225, 289, 1038, 114, 786,
1829
1830 507, 225, 114, 225, 507, 78, 786, 87, 138, 138,
1831 138, 138, 1038, 323, 323, 138, 323, 289, 16, 16,
1832 16, 17, 17, 17, 17, 17, 17, 17, 17, 17,
1833 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
1834 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
1835 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
1836 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
1837 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
1838 17, 17, 17, 17, 17, 17, 17, 17, 17, 19,
1839 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1840
1841 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1842 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1843 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1844 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1845 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
1846 19, 19, 19, 19, 19, 19, 19, 25, 25, 25,
1847 25, 25, 25, 25, 25, 25, 25, 25, 25, 1014,
1848 25, 92, 25, 25, 92, 1030, 25, 25, 25, 25,
1849 146, 146, 1014, 146, 92, 92, 111, 111, 111, 111,
1850 120, 120, 92, 111, 120, 25, 25, 25, 100, 100,
1851
1852 111, 100, 150, 150, 111, 150, 1028, 330, 330, 92,
1853 330, 305, 100, 100, 120, 510, 100, 1028, 1026, 510,
1854 146, 25, 25, 25, 26, 26, 26, 26, 26, 26,
1855 26, 26, 26, 26, 26, 26, 100, 26, 100, 26,
1856 26, 305, 150, 26, 26, 26, 26, 94, 94, 1025,
1857 94, 111, 489, 121, 121, 1023, 94, 121, 94, 94,
1858 94, 94, 26, 26, 26, 291, 489, 305, 94, 132,
1859 132, 132, 132, 170, 170, 170, 170, 121, 339, 339,
1860 170, 339, 997, 132, 997, 94, 291, 132, 26, 26,
1861 26, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1862
1863 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1864 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1865 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1866 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1867 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
1868 27, 27, 27, 27, 27, 27, 27, 27, 27, 29,
1869 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
1870 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
1871 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
1872 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
1873
1874 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
1875 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
1876 29, 29, 29, 29, 29, 29, 29, 31, 31, 31,
1877 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1878 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1879 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1880 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1881 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1882 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
1883 31, 31, 31, 31, 31, 33, 33, 33, 33, 33,
1884
1885 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1886 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1887 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1888 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1889 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1890 33, 33, 33, 33, 33, 33, 33, 33, 33, 33,
1891 33, 33, 33, 37, 37, 37, 37, 37, 37, 37,
1892 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1893 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1894 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1895
1896 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1897 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1898 37, 37, 37, 37, 37, 37, 37, 37, 37, 37,
1899 37, 41, 41, 41, 41, 41, 41, 41, 41, 41,
1900 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
1901 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
1902 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
1903 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
1904 41, 41, 41, 41, 41, 41, 41, 41, 41, 41,
1905 41, 41, 41, 41, 41, 41, 41, 41, 41, 49,
1906
1907 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1908 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1909 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1910 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1911 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1912 49, 49, 49, 49, 49, 49, 49, 49, 49, 49,
1913 49, 49, 49, 49, 49, 49, 49, 59, 59, 59,
1914 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1915 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1916 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1917
1918 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1919 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1920 59, 59, 59, 59, 59, 59, 59, 59, 59, 59,
1921 59, 59, 59, 59, 59, 65, 65, 65, 65, 65,
1922 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
1923 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
1924 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
1925 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
1926 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
1927 65, 65, 65, 65, 65, 65, 65, 65, 65, 65,
1928
1929 65, 65, 65, 67, 67, 67, 67, 67, 67, 67,
1930 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1931 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1932 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1933 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1934 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1935 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
1936 67, 73, 73, 73, 73, 73, 73, 73, 73, 73,
1937 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
1938 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
1939
1940 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
1941 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
1942 73, 73, 73, 73, 73, 73, 73, 73, 73, 73,
1943 73, 73, 73, 73, 73, 73, 73, 73, 73, 88,
1944 112, 112, 112, 112, 1022, 127, 127, 112, 290, 127,
1945 88, 127, 154, 154, 112, 1021, 154, 1020, 112, 312,
1946 88, 292, 312, 88, 88, 290, 1019, 88, 88, 127,
1947 88, 88, 1018, 512, 128, 128, 154, 512, 128, 88,
1948 128, 295, 292, 88, 88, 123, 123, 290, 123, 88,
1949 88, 88, 88, 88, 88, 89, 89, 312, 128, 123,
1950
1951 123, 517, 295, 123, 129, 112, 1017, 226, 89, 89,
1952 89, 1010, 226, 129, 129, 644, 226, 129, 328, 129,
1953 542, 328, 226, 123, 226, 123, 517, 89, 1009, 350,
1954 350, 89, 350, 89, 89, 89, 1007, 129, 155, 155,
1955 542, 328, 155, 131, 131, 644, 131, 89, 161, 161,
1956 89, 161, 89, 89, 89, 91, 91, 131, 131, 1006,
1957 774, 131, 155, 131, 133, 133, 133, 133, 91, 91,
1958 91, 644, 134, 134, 134, 134, 774, 386, 133, 134,
1959 386, 131, 133, 131, 1005, 386, 134, 91, 161, 91,
1960 134, 91, 449, 91, 91, 91, 1004, 135, 135, 135,
1961
1962 135, 449, 169, 169, 135, 169, 270, 91, 1003, 270,
1963 91, 135, 91, 91, 91, 135, 137, 137, 137, 137,
1964 361, 361, 545, 361, 137, 156, 156, 270, 156, 449,
1965 137, 790, 1002, 655, 137, 273, 273, 134, 273, 156,
1966 156, 545, 169, 156, 270, 790, 163, 163, 163, 163,
1967 160, 160, 160, 160, 655, 1001, 1000, 160, 175, 175,
1968 163, 175, 135, 156, 163, 156, 160, 160, 160, 164,
1969 164, 164, 164, 273, 165, 165, 165, 165, 546, 371,
1970 371, 165, 371, 164, 991, 990, 460, 164, 165, 460,
1971 979, 460, 165, 166, 166, 166, 166, 546, 175, 736,
1972
1973 166, 168, 168, 168, 168, 178, 178, 166, 178, 181,
1974 181, 166, 181, 978, 976, 168, 189, 189, 736, 168,
1975 208, 208, 1048, 208, 212, 212, 1048, 212, 975, 189,
1976 189, 189, 229, 229, 552, 229, 969, 552, 968, 165,
1977 233, 233, 967, 233, 554, 178, 966, 554, 189, 181,
1978 239, 239, 965, 239, 242, 242, 622, 242, 166, 622,
1979 208, 964, 274, 274, 212, 274, 550, 293, 313, 550,
1980 293, 313, 229, 550, 937, 189, 190, 190, 541, 190,
1981 233, 541, 190, 190, 936, 1045, 314, 293, 315, 314,
1982 239, 315, 1045, 935, 242, 190, 190, 190, 541, 554,
1983
1984 274, 293, 311, 550, 311, 311, 313, 311, 311, 622,
1985 316, 934, 311, 316, 190, 317, 190, 561, 317, 313,
1986 561, 933, 317, 293, 314, 553, 315, 319, 553, 550,
1987 319, 318, 932, 315, 318, 327, 327, 320, 931, 327,
1988 320, 190, 271, 271, 930, 314, 388, 388, 316, 388,
1989 320, 320, 317, 317, 929, 271, 271, 271, 320, 327,
1990 329, 329, 561, 316, 329, 319, 928, 332, 332, 318,
1991 559, 332, 553, 559, 271, 320, 318, 543, 317, 927,
1992 543, 271, 271, 319, 329, 318, 359, 393, 393, 359,
1993 393, 332, 342, 342, 342, 342, 926, 543, 925, 271,
1994
1995 271, 271, 272, 272, 332, 640, 342, 924, 640, 359,
1996 342, 347, 347, 347, 347, 272, 272, 272, 347, 923,
1997 922, 343, 343, 343, 343, 921, 920, 559, 343, 345,
1998 345, 345, 345, 919, 272, 343, 345, 398, 398, 343,
1999 398, 272, 272, 345, 917, 916, 912, 345, 353, 353,
2000 353, 353, 911, 406, 406, 353, 406, 910, 909, 272,
2001 272, 272, 284, 415, 415, 284, 415, 284, 284, 284,
2002 284, 284, 284, 284, 284, 284, 284, 284, 284, 908,
2003 907, 284, 284, 284, 284, 367, 343, 906, 367, 346,
2004 346, 346, 346, 905, 345, 349, 349, 349, 349, 904,
2005
2006 284, 284, 284, 346, 903, 901, 900, 346, 367, 349,
2007 358, 358, 649, 349, 358, 649, 899, 348, 348, 348,
2008 348, 898, 426, 426, 348, 426, 284, 284, 284, 284,
2009 300, 348, 897, 300, 358, 348, 300, 300, 354, 354,
2010 354, 354, 360, 360, 654, 354, 360, 654, 896, 300,
2011 300, 300, 363, 363, 366, 366, 363, 895, 366, 894,
2012 366, 368, 368, 893, 654, 368, 360, 368, 300, 374,
2013 374, 374, 374, 373, 373, 892, 363, 373, 366, 373,
2014 403, 403, 348, 374, 403, 368, 890, 374, 404, 363,
2015 889, 404, 888, 300, 300, 300, 885, 373, 375, 375,
2016
2017 375, 375, 884, 875, 403, 375, 377, 377, 377, 377,
2018 373, 404, 375, 377, 405, 405, 375, 874, 405, 658,
2019 377, 873, 658, 872, 377, 378, 378, 378, 378, 379,
2020 379, 379, 379, 378, 435, 435, 379, 435, 405, 378,
2021 871, 870, 869, 378, 380, 380, 380, 380, 868, 867,
2022 866, 380, 381, 381, 381, 381, 440, 440, 380, 440,
2023 381, 865, 380, 375, 408, 408, 381, 864, 408, 863,
2024 381, 377, 383, 383, 383, 383, 384, 384, 384, 384,
2025 383, 444, 444, 384, 444, 862, 383, 861, 408, 860,
2026 383, 385, 385, 385, 385, 859, 455, 455, 385, 455,
2027
2028 858, 408, 857, 409, 409, 409, 409, 855, 853, 380,
2029 409, 410, 410, 410, 410, 412, 412, 412, 412, 409,
2030 409, 409, 412, 414, 414, 414, 414, 850, 848, 410,
2031 414, 412, 412, 412, 418, 418, 418, 418, 847, 414,
2032 414, 414, 419, 419, 419, 419, 846, 845, 418, 419,
2033 470, 470, 418, 470, 474, 474, 419, 474, 844, 843,
2034 419, 421, 421, 421, 421, 842, 841, 840, 421, 422,
2035 422, 422, 422, 477, 477, 421, 477, 491, 491, 421,
2036 491, 495, 495, 422, 495, 839, 838, 422, 423, 423,
2037 423, 423, 837, 836, 835, 423, 424, 424, 424, 424,
2038
2039 834, 499, 499, 424, 499, 502, 502, 419, 502, 555,
2040 424, 477, 555, 833, 424, 425, 425, 425, 425, 832,
2041 429, 429, 429, 429, 831, 566, 421, 429, 566, 425,
2042 830, 828, 827, 425, 430, 430, 430, 430, 826, 822,
2043 585, 430, 560, 585, 821, 560, 820, 564, 585, 567,
2044 564, 565, 567, 555, 565, 663, 568, 726, 663, 568,
2045 726, 424, 534, 566, 817, 534, 816, 534, 534, 534,
2046 534, 534, 534, 534, 534, 534, 534, 534, 534, 806,
2047 566, 534, 534, 534, 534, 564, 560, 567, 740, 565,
2048 805, 740, 569, 567, 568, 569, 564, 804, 565, 803,
2049
2050 534, 534, 534, 570, 663, 802, 570, 571, 571, 662,
2051 801, 571, 662, 568, 572, 572, 573, 573, 572, 800,
2052 573, 578, 578, 799, 798, 578, 534, 534, 534, 534,
2053 569, 571, 665, 579, 579, 665, 569, 579, 572, 797,
2054 573, 570, 580, 580, 586, 578, 580, 586, 570, 581,
2055 581, 573, 586, 581, 796, 581, 795, 579, 582, 582,
2056 667, 794, 582, 667, 582, 662, 580, 675, 583, 583,
2057 675, 793, 583, 581, 583, 590, 590, 580, 792, 590,
2058 591, 591, 582, 791, 591, 592, 592, 789, 741, 592,
2059 665, 741, 583, 788, 593, 593, 593, 593, 787, 590,
2060
2061 785, 593, 784, 583, 591, 675, 667, 783, 782, 592,
2062 593, 593, 593, 675, 594, 594, 594, 594, 781, 780,
2063 592, 594, 595, 595, 595, 595, 779, 856, 977, 595,
2064 856, 977, 594, 741, 596, 596, 596, 596, 595, 595,
2065 595, 596, 648, 778, 648, 1024, 648, 648, 1024, 777,
2066 596, 596, 596, 776, 648, 661, 661, 661, 661, 661,
2067 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
2068 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
2069 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
2070 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
2071
2072 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
2073 661, 661, 661, 661, 661, 661, 661, 661, 661, 661,
2074 661, 661, 661, 666, 672, 669, 666, 672, 669, 807,
2075 676, 676, 807, 775, 676, 876, 679, 679, 876, 773,
2076 679, 687, 687, 687, 687, 772, 808, 771, 687, 808,
2077 810, 770, 742, 810, 676, 742, 769, 687, 687, 687,
2078 679, 768, 672, 669, 671, 673, 767, 671, 673, 676,
2079 766, 674, 807, 672, 674, 679, 876, 666, 669, 670,
2080 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
2081 670, 670, 670, 670, 670, 670, 670, 670, 670, 670,
2082
2083 670, 670, 671, 673, 808, 742, 765, 764, 810, 674,
2084 680, 680, 939, 763, 680, 939, 680, 670, 670, 670,
2085 671, 744, 762, 673, 744, 674, 685, 685, 877, 878,
2086 685, 877, 878, 761, 680, 688, 688, 688, 688, 760,
2087 757, 756, 688, 670, 670, 670, 670, 755, 752, 680,
2088 685, 688, 688, 688, 689, 689, 689, 689, 702, 702,
2089 751, 689, 743, 702, 738, 685, 702, 702, 939, 737,
2090 744, 702, 689, 877, 878, 702, 702, 732, 735, 732,
2091 745, 732, 732, 745, 734, 1035, 750, 750, 1035, 732,
2092 750, 759, 759, 759, 759, 731, 1037, 1041, 759, 1037,
2093
2094 1041, 940, 1044, 1046, 940, 1044, 1046, 759, 759, 759,
2095 750, 747, 749, 729, 747, 749, 748, 750, 745, 748,
2096 811, 879, 728, 811, 879, 745, 746, 746, 746, 746,
2097 746, 746, 746, 746, 746, 746, 746, 746, 746, 746,
2098 746, 746, 746, 746, 746, 746, 746, 746, 746, 747,
2099 749, 753, 753, 940, 748, 753, 747, 812, 811, 879,
2100 812, 749, 811, 727, 746, 746, 746, 725, 724, 748,
2101 754, 754, 723, 722, 754, 753, 754, 879, 813, 758,
2102 758, 813, 753, 758, 814, 815, 815, 814, 721, 815,
2103 746, 746, 746, 746, 754, 812, 880, 720, 719, 880,
2104
2105 812, 754, 718, 758, 818, 818, 717, 716, 818, 815,
2106 758, 819, 819, 815, 715, 819, 813, 819, 1049, 823,
2107 823, 1049, 814, 823, 881, 714, 994, 881, 818, 994,
2108 882, 712, 818, 882, 880, 819, 813, 880, 938, 819,
2109 711, 938, 814, 823, 710, 708, 707, 823, 824, 824,
2110 824, 824, 706, 705, 704, 824, 825, 825, 825, 825,
2111 703, 701, 881, 825, 824, 824, 824, 944, 882, 881,
2112 944, 994, 825, 825, 825, 882, 883, 883, 886, 886,
2113 883, 700, 886, 887, 887, 941, 941, 887, 941, 887,
2114 891, 891, 942, 699, 891, 942, 938, 697, 943, 696,
2115
2116 883, 943, 886, 995, 695, 944, 995, 887, 694, 945,
2117 945, 948, 948, 945, 891, 948, 693, 692, 883, 944,
2118 886, 996, 996, 941, 996, 887, 998, 953, 953, 998,
2119 942, 953, 891, 945, 691, 948, 943, 949, 949, 999,
2120 690, 949, 999, 949, 1012, 1013, 1015, 1012, 1013, 1015,
2121 942, 953, 684, 683, 943, 1016, 995, 1027, 1016, 996,
2122 1027, 949, 1029, 1039, 998, 1029, 1039, 1052, 1052, 682,
2123 1052, 998, 1139, 678, 1139, 1139, 1139, 999, 1200, 677,
2124 668, 1200, 1200, 664, 1015, 657, 1013, 656, 1012, 653,
2125 1015, 652, 999, 1016, 651, 1208, 1016, 1208, 1208, 1208,
2126
2127 1029, 1039, 646, 645, 643, 1052, 641, 1211, 1027, 1211,
2128 1211, 1211, 639, 1029, 1054, 1054, 1054, 1054, 1054, 1054,
2129 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054,
2130 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054, 1054,
2131 1054, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
2132 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055,
2133 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1055, 1056, 1056,
2134 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
2135 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056, 1056,
2136 1056, 1056, 1056, 1056, 1056, 1057, 1057, 1057, 1057, 1057,
2137
2138 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
2139 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057, 1057,
2140 1057, 1057, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058,
2141 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058,
2142 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1058, 1059,
2143 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
2144 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059, 1059,
2145 1059, 1059, 1059, 1059, 1059, 1059, 1060, 1060, 1060, 1060,
2146 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060,
2147 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060, 1060,
2148
2149 1060, 1060, 1060, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
2150 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
2151 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061, 1061,
2152 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
2153 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1062,
2154 1062, 1062, 1062, 1062, 1062, 1062, 1062, 1063, 1063, 1063,
2155 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063,
2156 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063, 1063,
2157 1063, 1063, 1063, 1063, 1064, 1064, 1064, 1064, 1064, 1064,
2158 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064,
2159
2160 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064, 1064,
2161 1064, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065,
2162 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065,
2163 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1065, 1066, 1066,
2164 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066,
2165 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066, 1066,
2166 1066, 1066, 1066, 1066, 1066, 1067, 1067, 1067, 1067, 1067,
2167 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067,
2168 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067, 1067,
2169 1067, 1067, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068,
2170
2171 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068,
2172 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1068, 1069,
2173 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
2174 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069, 1069,
2175 1069, 1069, 1069, 1069, 1069, 1069, 1070, 1070, 1070, 1070,
2176 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
2177 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070, 1070,
2178 1070, 1070, 1070, 1071, 1071, 1071, 1071, 1071, 1071, 1071,
2179 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071,
2180 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071, 1071,
2181
2182 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
2183 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1072,
2184 1072, 1072, 1072, 1072, 1072, 1072, 1072, 1073, 1073, 1073,
2185 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073,
2186 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073, 1073,
2187 1073, 1073, 1073, 1073, 1074, 1074, 1074, 1074, 1074, 1074,
2188 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
2189 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074, 1074,
2190 1074, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075,
2191 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075,
2192
2193 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1075, 1076, 1076,
2194 638, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076,
2195 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076, 1076,
2196 1076, 1076, 1076, 1076, 1076, 1077, 1212, 634, 1212, 1212,
2197 1212, 1237, 632, 630, 1237, 1237, 629, 628, 1077, 627,
2198 1077, 1077, 1077, 626, 625, 1077, 1078, 624, 1078, 1078,
2199 623, 1078, 621, 620, 1078, 1078, 619, 1078, 1078, 1078,
2200 1079, 618, 1079, 1079, 1079, 1079, 617, 1079, 616, 615,
2201 1079, 1079, 1079, 1079, 1079, 1079, 1080, 1080, 1242, 614,
2202 1242, 1242, 1242, 613, 612, 611, 610, 609, 1080, 1080,
2203
2204 1080, 1080, 1080, 1080, 1080, 1080, 1080, 1081, 606, 1081,
2205 1081, 605, 1081, 604, 603, 1081, 1081, 602, 1081, 1081,
2206 1081, 1082, 1082, 601, 598, 597, 589, 588, 587, 584,
2207 576, 575, 548, 1082, 1082, 1082, 1082, 1082, 1082, 1082,
2208 1082, 1082, 1083, 1083, 547, 1083, 1083, 1083, 1083, 1083,
2209 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083,
2210 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1083, 1084,
2211 540, 1084, 1084, 1084, 1084, 1084, 539, 538, 1084, 1084,
2212 1084, 1084, 1084, 536, 535, 1084, 1085, 1085, 1085, 1085,
2213 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085,
2214
2215 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085, 1085,
2216 1085, 1085, 1085, 1086, 533, 1086, 1086, 1086, 530, 528,
2217 1086, 1087, 527, 1087, 1087, 526, 525, 1087, 522, 1087,
2218 1087, 1087, 519, 516, 1087, 1088, 1088, 1088, 1088, 514,
2219 1088, 513, 511, 509, 508, 506, 504, 1088, 501, 497,
2220 1088, 493, 490, 1088, 488, 1088, 1088, 1088, 487, 1088,
2221 1088, 1089, 1089, 1089, 1089, 486, 484, 483, 480, 479,
2222 476, 472, 469, 1089, 468, 1089, 1089, 464, 462, 1089,
2223 461, 1089, 1089, 1089, 459, 457, 1089, 1090, 1090, 1090,
2224 1090, 454, 1090, 452, 451, 448, 446, 442, 439, 438,
2225
2226 437, 434, 433, 432, 428, 1090, 420, 1090, 1090, 1090,
2227 417, 413, 1090, 1091, 1091, 401, 1091, 1091, 1091, 1091,
2228 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091,
2229 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091, 1091,
2230 1092, 400, 1092, 1092, 1092, 1092, 1092, 396, 395, 1092,
2231 1092, 1092, 1092, 1092, 391, 390, 1092, 1093, 1093, 376,
2232 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
2233 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093, 1093,
2234 1093, 1093, 1093, 1093, 1094, 370, 1094, 1094, 1094, 1094,
2235 1094, 1094, 365, 1094, 1094, 1094, 1094, 1094, 364, 356,
2236
2237 1094, 1095, 1095, 1095, 1095, 352, 1095, 344, 341, 338,
2238 336, 333, 325, 1095, 307, 304, 1095, 303, 302, 1095,
2239 301, 1095, 1095, 1095, 297, 1095, 1095, 1096, 1096, 1096,
2240 1096, 296, 287, 1096, 285, 280, 279, 276, 275, 1096,
2241 268, 1096, 1096, 264, 263, 1096, 260, 1096, 1096, 1096,
2242 256, 255, 1096, 1097, 1097, 1097, 1097, 252, 1097, 247,
2243 216, 204, 203, 202, 198, 197, 193, 188, 185, 177,
2244 174, 1097, 167, 1097, 1097, 1097, 153, 149, 1097, 1098,
2245 145, 136, 1098, 126, 122, 119, 1098, 113, 1098, 1098,
2246 1098, 101, 97, 1098, 1099, 1099, 93, 1099, 1099, 1099,
2247
2248 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
2249 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099, 1099,
2250 1099, 1100, 1100, 86, 1100, 1100, 1100, 1100, 1100, 1100,
2251 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100,
2252 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1100, 1101, 1101,
2253 85, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101,
2254 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101, 1101,
2255 1101, 1101, 1101, 1101, 1101, 1102, 84, 1102, 1102, 1102,
2256 1102, 1102, 79, 8, 1102, 1102, 1102, 1102, 1102, 7,
2257 0, 1102, 1103, 0, 1103, 1103, 1103, 0, 0, 1103,
2258
2259 1104, 1104, 1104, 1104, 0, 1104, 0, 0, 0, 0,
2260 0, 0, 0, 0, 1104, 1104, 0, 0, 1104, 0,
2261 1104, 1104, 1104, 0, 0, 1104, 1105, 1105, 1105, 1105,
2262 0, 1105, 0, 0, 0, 0, 0, 0, 1105, 0,
2263 0, 1105, 0, 0, 1105, 0, 1105, 1105, 1105, 0,
2264 1105, 1105, 1106, 1106, 1106, 1106, 0, 0, 0, 0,
2265 0, 0, 0, 0, 1106, 0, 1106, 1106, 0, 0,
2266 1106, 0, 1106, 1106, 1106, 0, 0, 1106, 1107, 1107,
2267 1107, 1107, 0, 1107, 0, 0, 0, 0, 0, 0,
2268 0, 0, 0, 0, 0, 0, 1107, 0, 1107, 1107,
2269
2270 1107, 0, 0, 1107, 1108, 0, 1108, 1108, 1108, 0,
2271 0, 1108, 1109, 0, 1109, 0, 0, 0, 1109, 0,
2272 1109, 1109, 1109, 0, 0, 1109, 1110, 1110, 0, 1110,
2273 0, 0, 0, 1110, 0, 1110, 1110, 1110, 0, 0,
2274 1110, 1111, 1111, 0, 1111, 1111, 1111, 1111, 1111, 1111,
2275 0, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111, 1111,
2276 1111, 0, 1111, 1111, 1111, 1111, 1111, 1111, 1112, 0,
2277 0, 1112, 0, 0, 0, 1112, 0, 1112, 1112, 1112,
2278 0, 0, 1112, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
2279 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
2280
2281 1113, 0, 1113, 1113, 1113, 1113, 1113, 1113, 1113, 1113,
2282 1114, 1114, 0, 1114, 1114, 1114, 1114, 1114, 1114, 1114,
2283 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1114, 0, 1114,
2284 1114, 1114, 1114, 1114, 1114, 1114, 1114, 1115, 0, 0,
2285 1115, 0, 0, 0, 1115, 0, 1115, 1115, 1115, 0,
2286 0, 1115, 1116, 1116, 0, 1116, 1116, 1116, 1116, 1116,
2287 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116,
2288 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1116, 1117,
2289 1117, 0, 1117, 0, 1117, 1117, 1117, 1117, 0, 1117,
2290 1117, 1117, 1117, 0, 1117, 1117, 1117, 0, 1117, 0,
2291
2292 1117, 1117, 1117, 1117, 1117, 1117, 1118, 0, 0, 1118,
2293 0, 0, 0, 1118, 0, 1118, 1118, 1118, 0, 0,
2294 1118, 1119, 1119, 0, 1119, 0, 1119, 1119, 1119, 1119,
2295 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 1119, 0,
2296 1119, 0, 1119, 1119, 1119, 1119, 1119, 1119, 1120, 1120,
2297 0, 1120, 0, 1120, 1120, 1120, 1120, 1120, 1120, 1120,
2298 1120, 1120, 1120, 1120, 1120, 1120, 0, 1120, 0, 1120,
2299 1120, 1120, 1120, 1120, 1120, 1121, 0, 0, 1121, 0,
2300 0, 0, 1121, 0, 1121, 1121, 1121, 0, 0, 1121,
2301 1122, 1122, 0, 1122, 1122, 1122, 1122, 0, 0, 1122,
2302
2303 1122, 1122, 1122, 1122, 1122, 1122, 1122, 1122, 0, 1122,
2304 0, 1122, 1122, 1122, 1122, 1122, 1122, 1123, 0, 1123,
2305 1123, 1123, 0, 0, 1123, 1124, 0, 1124, 1124, 0,
2306 0, 1124, 0, 1124, 1124, 1124, 0, 0, 1124, 1125,
2307 0, 1125, 1125, 1125, 0, 0, 1125, 1126, 0, 1126,
2308 1126, 0, 0, 1126, 0, 1126, 1126, 1126, 0, 0,
2309 1126, 1127, 1127, 0, 1127, 1127, 1127, 1127, 1127, 1127,
2310 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 1127, 0,
2311 1127, 0, 1127, 1127, 1127, 1127, 1127, 1127, 1128, 0,
2312 0, 1128, 0, 0, 0, 1128, 0, 1128, 1128, 1128,
2313
2314 0, 0, 1128, 1129, 1129, 0, 1129, 1129, 1129, 1129,
2315 1129, 1129, 1129, 1129, 1129, 0, 1129, 1129, 1129, 1129,
2316 1129, 1129, 1129, 0, 1129, 1129, 1129, 1129, 1129, 1129,
2317 1130, 1130, 0, 1130, 1130, 1130, 1130, 1130, 1130, 0,
2318 1130, 1130, 1130, 1130, 1130, 1130, 1130, 1130, 0, 1130,
2319 0, 1130, 1130, 1130, 1130, 1130, 1130, 1131, 1131, 0,
2320 0, 0, 0, 0, 0, 0, 0, 0, 0, 1131,
2321 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1131, 1132, 1132,
2322 0, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
2323 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132, 1132,
2324
2325 1132, 1132, 1132, 1132, 1132, 1133, 0, 1133, 1133, 1133,
2326 0, 0, 1133, 1134, 1134, 0, 0, 1134, 0, 1134,
2327 1134, 1134, 0, 0, 1134, 1135, 0, 1135, 1135, 0,
2328 1135, 0, 0, 1135, 1135, 0, 1135, 1135, 1135, 1136,
2329 0, 0, 1136, 0, 0, 0, 1136, 0, 1136, 1136,
2330 1136, 1137, 0, 0, 1137, 0, 1137, 1137, 1137, 1137,
2331 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137,
2332 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1137, 1138, 0,
2333 1138, 1138, 1138, 0, 1138, 1140, 0, 1140, 1140, 0,
2334 1140, 0, 0, 1140, 1140, 0, 1140, 1140, 1140, 1141,
2335
2336 0, 0, 1141, 0, 0, 0, 0, 0, 0, 0,
2337 0, 0, 0, 0, 0, 0, 0, 1141, 1141, 1141,
2338 1141, 1141, 1142, 1142, 0, 1142, 1142, 1142, 1142, 1142,
2339 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142,
2340 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1142, 1143,
2341 0, 1143, 1143, 1143, 1143, 1143, 0, 0, 1143, 1143,
2342 1143, 1143, 1143, 0, 0, 1143, 1144, 0, 1144, 0,
2343 1144, 1144, 1144, 0, 0, 1144, 1144, 1144, 1144, 1144,
2344 0, 0, 1144, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
2345 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
2346
2347 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145, 1145,
2348 1146, 0, 1146, 1146, 0, 0, 1146, 0, 1146, 1146,
2349 1146, 0, 0, 1146, 1147, 0, 0, 0, 0, 0,
2350 0, 0, 0, 0, 0, 0, 0, 1147, 0, 1147,
2351 1147, 1147, 0, 0, 1147, 1148, 1148, 1148, 1148, 0,
2352 1148, 0, 0, 0, 0, 0, 0, 1148, 0, 0,
2353 1148, 0, 0, 1148, 0, 1148, 1148, 1148, 0, 1148,
2354 1148, 1149, 1149, 1149, 1149, 0, 0, 0, 0, 0,
2355 0, 0, 0, 1149, 0, 1149, 1149, 0, 0, 1149,
2356 0, 1149, 1149, 1149, 0, 0, 1149, 1150, 1150, 1150,
2357
2358 1150, 0, 1150, 0, 0, 0, 0, 0, 0, 0,
2359 0, 0, 0, 0, 0, 1150, 0, 1150, 1150, 1150,
2360 0, 0, 1150, 1151, 0, 0, 0, 1151, 0, 1151,
2361 1151, 1151, 0, 0, 1151, 1152, 1152, 0, 1152, 1152,
2362 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
2363 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152, 1152,
2364 1152, 1152, 1153, 0, 1153, 1153, 1153, 1153, 1153, 0,
2365 0, 1153, 1153, 1153, 1153, 1153, 0, 0, 1153, 1154,
2366 0, 1154, 0, 1154, 1154, 1154, 0, 0, 1154, 1154,
2367 1154, 1154, 1154, 0, 0, 1154, 1155, 1155, 0, 1155,
2368
2369 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
2370 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155, 1155,
2371 1155, 1155, 1155, 1156, 0, 1156, 1156, 1156, 1156, 1156,
2372 1156, 0, 1156, 1156, 1156, 1156, 1156, 0, 0, 1156,
2373 1157, 0, 1157, 0, 1157, 1157, 1157, 0, 0, 1157,
2374 1157, 1157, 1157, 1157, 0, 0, 1157, 1158, 1158, 1158,
2375 1158, 0, 1158, 0, 0, 0, 0, 0, 0, 1158,
2376 0, 0, 1158, 0, 0, 1158, 0, 1158, 1158, 1158,
2377 0, 1158, 1158, 1159, 1159, 1159, 1159, 0, 0, 1159,
2378 0, 0, 0, 0, 0, 1159, 0, 1159, 1159, 0,
2379
2380 0, 1159, 0, 1159, 1159, 1159, 0, 0, 1159, 1160,
2381 1160, 1160, 1160, 0, 1160, 0, 0, 0, 0, 0,
2382 0, 0, 0, 0, 0, 0, 0, 1160, 0, 1160,
2383 1160, 1160, 0, 0, 1160, 1161, 1161, 1161, 1161, 1161,
2384 1161, 1161, 1161, 0, 1161, 1161, 1161, 1161, 1161, 1161,
2385 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161, 1161,
2386 1161, 1161, 1162, 0, 0, 1162, 0, 0, 1162, 0,
2387 0, 0, 0, 0, 0, 0, 1162, 0, 0, 0,
2388 1162, 0, 1162, 1162, 1162, 0, 0, 1162, 1163, 0,
2389 0, 1163, 0, 0, 0, 1163, 0, 1163, 1163, 1163,
2390
2391 0, 0, 1163, 1164, 1164, 0, 1164, 1164, 1164, 1164,
2392 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
2393 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164, 1164,
2394 1165, 1165, 0, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
2395 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1165,
2396 1165, 1165, 1165, 1165, 1165, 1165, 1165, 1166, 1166, 0,
2397 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166,
2398 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166, 1166,
2399 1166, 1166, 1166, 1166, 1167, 0, 1167, 1167, 1167, 1167,
2400 1167, 0, 0, 1167, 1167, 1167, 1167, 1167, 0, 0,
2401
2402 1167, 1168, 0, 1168, 0, 1168, 1168, 1168, 0, 0,
2403 1168, 1168, 1168, 1168, 1168, 0, 0, 1168, 1169, 1169,
2404 1169, 1169, 0, 1169, 0, 0, 0, 0, 0, 0,
2405 0, 0, 1169, 1169, 0, 0, 1169, 0, 1169, 1169,
2406 1169, 0, 0, 1169, 1170, 0, 1170, 1170, 1170, 0,
2407 0, 1170, 1171, 1171, 1171, 1171, 0, 1171, 0, 0,
2408 0, 0, 0, 0, 0, 0, 1171, 1171, 0, 0,
2409 1171, 0, 1171, 1171, 1171, 0, 0, 1171, 1172, 1172,
2410 1172, 1172, 0, 1172, 0, 0, 0, 0, 0, 0,
2411 1172, 0, 0, 1172, 0, 0, 1172, 0, 1172, 1172,
2412
2413 1172, 0, 1172, 1172, 1173, 1173, 1173, 1173, 0, 0,
2414 0, 0, 0, 0, 0, 0, 1173, 0, 1173, 1173,
2415 0, 0, 1173, 0, 1173, 1173, 1173, 0, 0, 1173,
2416 1174, 1174, 1174, 1174, 0, 1174, 0, 0, 0, 0,
2417 0, 0, 0, 0, 0, 0, 0, 0, 1174, 0,
2418 1174, 1174, 1174, 0, 0, 1174, 1175, 0, 0, 0,
2419 1175, 0, 1175, 1175, 1175, 0, 0, 1175, 1176, 0,
2420 1176, 0, 0, 0, 1176, 0, 1176, 1176, 1176, 0,
2421 0, 1176, 1177, 0, 0, 0, 0, 0, 0, 0,
2422 0, 0, 0, 0, 0, 1177, 0, 1177, 1177, 1177,
2423
2424 0, 0, 1177, 1178, 1178, 0, 1178, 0, 0, 0,
2425 1178, 0, 1178, 1178, 1178, 0, 0, 1178, 1179, 1179,
2426 0, 1179, 1179, 1179, 1179, 1179, 1179, 0, 1179, 1179,
2427 1179, 1179, 1179, 1179, 1179, 1179, 1179, 1179, 0, 1179,
2428 1179, 1179, 1179, 1179, 1179, 1180, 0, 0, 1180, 0,
2429 0, 0, 1180, 0, 1180, 1180, 1180, 0, 0, 1180,
2430 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181,
2431 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1181, 0, 1181,
2432 1181, 1181, 1181, 1181, 1181, 1181, 1181, 1182, 1182, 0,
2433 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182, 1182,
2434
2435 1182, 1182, 1182, 1182, 1182, 0, 1182, 1182, 1182, 1182,
2436 1182, 1182, 1182, 1182, 1183, 0, 0, 0, 0, 0,
2437 0, 0, 0, 0, 0, 0, 0, 1183, 0, 1183,
2438 1183, 1183, 0, 0, 1183, 1184, 0, 0, 1184, 0,
2439 0, 0, 1184, 0, 1184, 1184, 1184, 0, 0, 1184,
2440 1185, 1185, 0, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
2441 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1185,
2442 1185, 1185, 1185, 1185, 1185, 1185, 1185, 1186, 1186, 0,
2443 1186, 0, 1186, 1186, 1186, 1186, 0, 1186, 1186, 1186,
2444 1186, 0, 1186, 1186, 1186, 0, 1186, 0, 1186, 1186,
2445
2446 1186, 1186, 1186, 1186, 1187, 0, 0, 1187, 0, 0,
2447 0, 1187, 0, 1187, 1187, 1187, 0, 0, 1187, 1188,
2448 1188, 0, 1188, 0, 1188, 1188, 1188, 1188, 1188, 1188,
2449 1188, 1188, 1188, 1188, 1188, 1188, 1188, 0, 1188, 0,
2450 1188, 1188, 1188, 1188, 1188, 1188, 1189, 1189, 0, 1189,
2451 0, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189, 1189,
2452 1189, 1189, 1189, 1189, 0, 1189, 0, 1189, 1189, 1189,
2453 1189, 1189, 1189, 1190, 0, 0, 1190, 0, 0, 0,
2454 1190, 0, 1190, 1190, 1190, 0, 0, 1190, 1191, 1191,
2455 0, 1191, 1191, 1191, 1191, 0, 0, 1191, 1191, 1191,
2456
2457 1191, 1191, 1191, 1191, 1191, 1191, 0, 1191, 0, 1191,
2458 1191, 1191, 1191, 1191, 1191, 1192, 0, 1192, 1192, 0,
2459 0, 1192, 0, 1192, 1192, 1192, 0, 0, 1192, 1193,
2460 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2461 0, 0, 1193, 0, 1193, 1193, 1193, 0, 0, 1193,
2462 1194, 0, 1194, 1194, 0, 0, 1194, 0, 1194, 1194,
2463 1194, 0, 0, 1194, 1195, 0, 0, 0, 0, 0,
2464 0, 0, 0, 0, 0, 0, 0, 1195, 0, 1195,
2465 1195, 1195, 0, 0, 1195, 1196, 1196, 0, 1196, 1196,
2466 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196, 1196,
2467
2468 1196, 1196, 1196, 0, 1196, 0, 1196, 1196, 1196, 1196,
2469 1196, 1196, 1197, 0, 0, 1197, 0, 0, 0, 1197,
2470 0, 1197, 1197, 1197, 0, 0, 1197, 1198, 1198, 0,
2471 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 1198, 0,
2472 1198, 1198, 1198, 1198, 1198, 1198, 1198, 0, 1198, 1198,
2473 1198, 1198, 1198, 1198, 1199, 1199, 0, 1199, 1199, 1199,
2474 1199, 1199, 1199, 0, 1199, 1199, 1199, 1199, 1199, 1199,
2475 1199, 1199, 0, 1199, 0, 1199, 1199, 1199, 1199, 1199,
2476 1199, 1201, 1201, 0, 0, 1201, 0, 1201, 1201, 1201,
2477 0, 0, 1201, 1202, 1202, 0, 1202, 1202, 1202, 0,
2478
2479 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202,
2480 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202, 1202,
2481 1203, 1203, 0, 1203, 0, 0, 0, 1203, 0, 1203,
2482 1203, 1203, 1204, 0, 1204, 1204, 0, 1204, 0, 0,
2483 1204, 1204, 0, 1204, 1204, 1204, 1205, 0, 0, 1205,
2484 0, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
2485 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205, 1205,
2486 1205, 1205, 1205, 1206, 1206, 0, 1206, 1206, 1206, 1206,
2487 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
2488 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206, 1206,
2489
2490 1207, 0, 0, 1207, 0, 0, 0, 0, 0, 0,
2491 0, 0, 0, 0, 0, 0, 0, 0, 1207, 0,
2492 1207, 1207, 1207, 1209, 0, 0, 1209, 0, 0, 0,
2493 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2494 0, 1209, 0, 1209, 1209, 1209, 1210, 1210, 0, 1210,
2495 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
2496 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210, 1210,
2497 0, 1210, 1210, 1213, 0, 0, 1213, 0, 0, 0,
2498 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2499 0, 1213, 1213, 1213, 1213, 1213, 1214, 0, 1214, 1214,
2500
2501 1214, 1214, 1214, 0, 0, 1214, 1214, 1214, 1214, 1214,
2502 0, 0, 1214, 1215, 0, 1215, 1215, 1215, 1215, 1215,
2503 0, 0, 1215, 1215, 1215, 1215, 1215, 0, 0, 1215,
2504 1216, 0, 1216, 1216, 1216, 0, 0, 1216, 1217, 0,
2505 0, 0, 1217, 0, 1217, 1217, 1217, 0, 0, 1217,
2506 1218, 0, 1218, 1218, 1218, 1218, 1218, 0, 0, 1218,
2507 1218, 1218, 1218, 1218, 0, 0, 1218, 1219, 0, 1219,
2508 1219, 1219, 1219, 1219, 0, 0, 1219, 1219, 1219, 1219,
2509 1219, 0, 0, 1219, 1220, 0, 1220, 1220, 1220, 1220,
2510 1220, 1220, 0, 1220, 1220, 1220, 1220, 1220, 0, 0,
2511
2512 1220, 1221, 0, 1221, 1221, 1221, 1221, 1221, 1221, 0,
2513 1221, 1221, 1221, 1221, 1221, 0, 0, 1221, 1222, 1222,
2514 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222,
2515 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222, 1222,
2516 1222, 1222, 1222, 1222, 1222, 1223, 0, 0, 1223, 0,
2517 0, 1223, 0, 0, 0, 0, 0, 0, 0, 1223,
2518 0, 0, 0, 1223, 0, 1223, 1223, 1223, 0, 0,
2519 1223, 1224, 0, 1224, 1224, 1224, 1224, 1224, 0, 0,
2520 1224, 1224, 1224, 1224, 1224, 0, 0, 1224, 1225, 0,
2521 1225, 1225, 1225, 1225, 1225, 0, 0, 1225, 1225, 1225,
2522
2523 1225, 1225, 0, 0, 1225, 1226, 1226, 1226, 1226, 0,
2524 1226, 0, 0, 0, 0, 0, 0, 0, 0, 1226,
2525 1226, 0, 0, 1226, 0, 1226, 1226, 1226, 0, 0,
2526 1226, 1227, 1227, 1227, 1227, 0, 1227, 0, 0, 0,
2527 0, 0, 0, 0, 0, 0, 1227, 0, 0, 1227,
2528 0, 1227, 1227, 1227, 0, 0, 1227, 1228, 1228, 1228,
2529 1228, 0, 1228, 0, 0, 0, 0, 0, 0, 0,
2530 0, 1228, 1228, 0, 0, 1228, 0, 1228, 1228, 1228,
2531 0, 0, 1228, 1229, 0, 0, 0, 1229, 0, 1229,
2532 1229, 1229, 0, 0, 1229, 1230, 0, 1230, 1230, 1230,
2533
2534 0, 0, 1230, 1231, 0, 1231, 0, 0, 0, 1231,
2535 0, 1231, 1231, 1231, 0, 0, 1231, 1232, 0, 1232,
2536 1232, 1232, 0, 0, 1232, 1233, 0, 0, 0, 1233,
2537 0, 1233, 1233, 1233, 0, 0, 1233, 1234, 1234, 1234,
2538 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234, 1234,
2539 1234, 1234, 0, 1234, 1234, 1234, 0, 1234, 0, 0,
2540 1234, 1234, 1234, 1234, 1235, 0, 1235, 1235, 1235, 0,
2541 0, 1235, 1236, 0, 1236, 1236, 1236, 0, 0, 1236,
2542 1238, 1238, 0, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
2543 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1238,
2544
2545 1238, 1238, 1238, 1238, 1238, 1238, 1238, 1239, 0, 0,
2546 1239, 0, 0, 0, 1239, 0, 1239, 1239, 1239, 1240,
2547 0, 1240, 0, 1240, 1240, 0, 1240, 0, 0, 1240,
2548 1240, 0, 1240, 1240, 1240, 1241, 1241, 0, 1241, 1241,
2549 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
2550 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241, 1241,
2551 1241, 1241, 1243, 0, 0, 1243, 0, 0, 0, 0,
2552 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2553 1243, 0, 1243, 1243, 1243, 1244, 1244, 0, 1244, 1244,
2554 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244,
2555
2556 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244, 1244,
2557 1244, 1244, 1245, 1245, 1245, 1245, 1245, 1246, 0, 0,
2558 1246, 0, 0, 0, 0, 0, 0, 0, 0, 0,
2559 0, 0, 0, 0, 0, 1246, 1246, 1246, 1246, 1246,
2560 1247, 0, 1247, 1247, 1247, 1247, 1247, 0, 0, 1247,
2561 1247, 1247, 1247, 1247, 0, 0, 1247, 1248, 0, 1248,
2562 1248, 1248, 1248, 1248, 0, 0, 1248, 1248, 1248, 1248,
2563 1248, 0, 0, 1248, 1249, 0, 1249, 1249, 1249, 1249,
2564 1249, 1249, 0, 1249, 1249, 1249, 1249, 1249, 0, 0,
2565 1249, 1250, 0, 1250, 1250, 1250, 0, 0, 1250, 1251,
2566
2567 1251, 0, 1251, 0, 0, 0, 1251, 0, 1251, 1251,
2568 1251, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
2569 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252, 1252,
2570 0, 1252, 0, 0, 0, 1252, 1252, 1252, 1253, 1253,
2571 1253, 1253, 0, 1253, 0, 0, 0, 0, 0, 0,
2572 0, 0, 1253, 1253, 0, 0, 1253, 0, 1253, 1253,
2573 1253, 0, 0, 1253, 1254, 1254, 1254, 1254, 1254, 1254,
2574 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 1254, 0,
2575 1254, 1254, 1254, 0, 1254, 0, 1254, 0, 1254, 1254,
2576 1254, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255, 1255,
2577
2578 1255, 1255, 1255, 1255, 1255, 1255, 0, 1255, 1255, 1255,
2579 0, 1255, 0, 0, 0, 1255, 1255, 1255, 1256, 1256,
2580 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256, 1256,
2581 1256, 1256, 1256, 0, 1256, 1256, 1256, 0, 1256, 0,
2582 0, 0, 1256, 1256, 1256, 1257, 1257, 1257, 1257, 1257,
2583 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257, 1257,
2584 0, 1257, 1257, 1257, 0, 1257, 0, 0, 0, 1257,
2585 1257, 1257, 1258, 1258, 1258, 1258, 1258, 1258, 1258, 1258,
2586 1258, 1258, 1258, 1258, 1258, 1258, 1258, 0, 1258, 1258,
2587 1258, 0, 1258, 0, 0, 0, 1258, 1258, 1258, 1053,
2588
2589 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
2590 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
2591 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
2592 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
2593 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
2594 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053,
2595 1053, 1053, 1053, 1053, 1053, 1053, 1053, 1053
2596 } ;
2597
2598extern int commentScanYY_flex_debug;
2599int commentScanYY_flex_debug = 0;
2600
2601static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
2602static char *yy_full_match;
2603static int yy_lp;
2604static int yy_looking_for_trail_begin = 0;
2605static int yy_full_lp;
2606static int *yy_full_state;
2607#define YY_TRAILING_MASK 0x2000
2608#define YY_TRAILING_HEAD_MASK 0x4000
2609#define REJECT \
2610{ \
2611*yy_cp = (yy_hold_char); /* undo effects of setting up commentScanYYtext */ \
2612yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
2613(yy_lp) = (yy_full_lp); /* restore orig. accepting pos. */ \
2614(yy_state_ptr) = (yy_full_state); /* restore orig. state */ \
2615yy_current_state = *(yy_state_ptr); /* restore curr. state */ \
2616++(yy_lp); \
2617goto find_rule; \
2618}
2619
2620#define yymore() yymore_used_but_not_detected
2621#define YY_MORE_ADJ 0
2622#define YY_RESTORE_YY_MORE_OFFSET
2623char *commentScanYYtext;
2624#line 1 "commentscan.l"
2625/*****************************************************************************
2626 *
2627 * Copyright (C) 1997-2011 by Dimitri van Heesch.
2628 *
2629 * Permission to use, copy, modify, and distribute this software and its
2630 * documentation under the terms of the GNU General Public License is hereby
2631 * granted. No representations are made about the suitability of this software
2632 * for any purpose. It is provided "as is" without express or implied warranty.
2633 * See the GNU General Public License for more details.
2634 *
2635 * Documents produced by Doxygen are derivative works derived from the
2636 * input used in their production; they are not affected by this license.
2637 *
2638 */
2639#line 17 "commentscan.l"
2640
2641/*
2642 *includes
2643 */
2644#include <stdio.h>
2645#include <stdlib.h>
2646#include <assert.h>
2647#include <ctype.h>
2648
2649#include "qtbc.h"
2650#include <qarray.h>
2651#include <qstack.h>
2652#include <qregexp.h>
2653#include <unistd.h>
2654#include <qfile.h>
2655
2656#include "scanner.h"
2657#include "entry.h"
2658#include "doxygen.h"
2659#include "message.h"
2660#include "config.h"
2661#include "util.h"
2662#include "index.h"
2663#include "defargs.h"
2664#include "language.h"
2665#include "outputlist.h"
2666#include "membergroup.h"
2667#include "reflist.h"
2668#include "debug.h"
2669#include "parserintf.h"
2670
2671// forward declarations
2672static bool handleBrief(const QCString &);
2673static bool handleFn(const QCString &);
2674static bool handleDef(const QCString &);
2675static bool handleOverload(const QCString &);
2676static bool handleEnum(const QCString &);
2677static bool handleDefGroup(const QCString &);
2678static bool handleAddToGroup(const QCString &);
2679static bool handleWeakGroup(const QCString &);
2680static bool handleNamespace(const QCString &);
2681static bool handlePackage(const QCString &);
2682static bool handleClass(const QCString &);
2683static bool handleHeaderFile(const QCString &);
2684static bool handleProtocol(const QCString &);
2685static bool handleCategory(const QCString &);
2686static bool handleUnion(const QCString &);
2687static bool handleStruct(const QCString &);
2688static bool handleInterface(const QCString &);
2689static bool handleIdlException(const QCString &);
2690static bool handlePage(const QCString &);
2691static bool handleMainpage(const QCString &);
2692static bool handleFile(const QCString &);
2693static bool handleDir(const QCString &);
2694static bool handleExample(const QCString &);
2695static bool handleDetails(const QCString &);
2696static bool handleName(const QCString &);
2697static bool handleTodo(const QCString &);
2698static bool handleTest(const QCString &);
2699static bool handleBug(const QCString &);
2700static bool handleSubpage(const QCString &s);
2701static bool handleDeprecated(const QCString &);
2702static bool handleXRefItem(const QCString &);
2703static bool handleRelated(const QCString &);
2704static bool handleRelatedAlso(const QCString &);
2705static bool handleMemberOf(const QCString &);
2706static bool handleRefItem(const QCString &);
2707static bool handleSection(const QCString &);
2708static bool handleAnchor(const QCString &);
2709static bool handleFormatBlock(const QCString &);
2710static bool handleAddIndex(const QCString &);
2711static bool handleIf(const QCString &);
2712static bool handleIfNot(const QCString &);
2713static bool handleElseIf(const QCString &);
2714static bool handleElse(const QCString &);
2715static bool handleEndIf(const QCString &);
2716static bool handleIngroup(const QCString &);
2717static bool handleNoSubGrouping(const QCString &);
2718static bool handleShowInitializer(const QCString &);
2719static bool handleHideInitializer(const QCString &);
2720static bool handleCallgraph(const QCString &);
2721static bool handleCallergraph(const QCString &);
2722static bool handleInternal(const QCString &);
2723static bool handleLineBr(const QCString &);
2724static bool handleStatic(const QCString &);
2725static bool handlePure(const QCString &);
2726static bool handlePrivate(const QCString &);
2727static bool handlePrivateSection(const QCString &);
2728static bool handleProtected(const QCString &);
2729static bool handleProtectedSection(const QCString &);
2730static bool handlePublic(const QCString &s);
2731static bool handlePublicSection(const QCString &s);
2732static bool handleInherit(const QCString &);
2733static bool handleExtends(const QCString &);
2734
2735typedef bool (*DocCmdFunc)(const QCString &name);
2736
2737struct DocCmdMap
2738{
2739 const char *cmdName;
2740 DocCmdFunc handler;
2741 bool endsBrief;
2742};
2743
2744// map of command to handler function
2745static DocCmdMap docCmdMap[] =
2746{
2747 // command name handler function ends brief description
2748 { "brief", &handleBrief, FALSE },
2749 { "short", &handleBrief, FALSE },
2750 { "fn", &handleFn, FALSE },
2751 { "var", &handleFn, FALSE },
2752 { "typedef", &handleFn, FALSE },
2753 { "property", &handleFn, FALSE },
2754 { "def", &handleDef, FALSE },
2755 { "overload", &handleOverload, FALSE },
2756 { "enum", &handleEnum, FALSE },
2757 { "defgroup", &handleDefGroup, FALSE },
2758 { "addtogroup", &handleAddToGroup, FALSE },
2759 { "weakgroup", &handleWeakGroup, FALSE },
2760 { "namespace", &handleNamespace, FALSE },
2761 { "package", &handlePackage, FALSE },
2762 { "class", &handleClass, FALSE },
2763 { "headerfile", &handleHeaderFile, FALSE },
2764 { "protocol", &handleProtocol, FALSE },
2765 { "category", &handleCategory, FALSE },
2766 { "union", &handleUnion, FALSE },
2767 { "struct", &handleStruct, FALSE },
2768 { "interface", &handleInterface, FALSE },
2769 { "idlexcept", &handleIdlException, FALSE },
2770 { "page", &handlePage, FALSE },
2771 { "mainpage", &handleMainpage, FALSE },
2772 { "file", &handleFile, FALSE },
2773 { "dir", &handleDir, FALSE },
2774 { "example", &handleExample, FALSE },
2775 { "details", &handleDetails, TRUE },
2776 { "name", &handleName, FALSE },
2777 { "todo", &handleTodo, FALSE }, // end brief will be done differently
2778 { "test", &handleTest, FALSE }, // end brief will be done differently
2779 { "bug", &handleBug, FALSE }, // end brief will be done differently
2780 { "deprecated", &handleDeprecated, FALSE }, // end brief will be done differently
2781 { "xrefitem", &handleXRefItem, FALSE }, // end brief will be done differently
2782 { "related", &handleRelated, TRUE },
2783 { "relates", &handleRelated, TRUE },
2784 { "relatedalso", &handleRelatedAlso, TRUE },
2785 { "relatesalso", &handleRelatedAlso, TRUE },
2786 { "refitem", &handleRefItem, TRUE },
2787 { "subpage", &handleSubpage, TRUE },
2788 { "section", &handleSection, TRUE },
2789 { "subsection", &handleSection, TRUE },
2790 { "subsubsection", &handleSection, TRUE },
2791 { "paragraph", &handleSection, TRUE },
2792 { "anchor", &handleAnchor, TRUE },
2793 { "verbatim", &handleFormatBlock, TRUE },
2794 { "latexonly", &handleFormatBlock, FALSE },
2795 { "htmlonly", &handleFormatBlock, FALSE },
2796 { "xmlonly", &handleFormatBlock, FALSE },
2797 { "rtfonly", &handleFormatBlock, FALSE },
2798 { "manonly", &handleFormatBlock, FALSE },
2799 { "dot", &handleFormatBlock, TRUE },
2800 { "msc", &handleFormatBlock, TRUE },
2801 { "code", &handleFormatBlock, TRUE },
2802 { "addindex", &handleAddIndex, FALSE },
2803 { "if", &handleIf, FALSE },
2804 { "ifnot", &handleIfNot, FALSE },
2805 { "elseif", &handleElseIf, FALSE },
2806 { "else", &handleElse, FALSE },
2807 { "endif", &handleEndIf, FALSE },
2808 { "ingroup", &handleIngroup, FALSE },
2809 { "nosubgrouping", &handleNoSubGrouping, FALSE },
2810 { "showinitializer", &handleShowInitializer, FALSE },
2811 { "hideinitializer", &handleHideInitializer, FALSE },
2812 { "callgraph", &handleCallgraph, FALSE },
2813 { "callergraph", &handleCallergraph, FALSE },
2814 { "internal", &handleInternal, TRUE },
2815 { "_linebr", &handleLineBr, FALSE },
2816 { "static", &handleStatic, FALSE },
2817 { "pure", &handlePure, FALSE },
2818 { "private", &handlePrivate, FALSE },
2819 { "privatesection", &handlePrivateSection, FALSE },
2820 { "protected", &handleProtected, FALSE },
2821 { "protectedsection",&handleProtectedSection, FALSE },
2822 { "public", &handlePublic, FALSE },
2823 { "publicsection", &handlePublicSection, FALSE },
2824 { "inherit", &handleInherit, TRUE },
2825 { "extends", &handleExtends, TRUE },
2826 { "implements", &handleExtends, TRUE },
2827 { "memberof", &handleMemberOf, TRUE },
2828 { "arg", 0, TRUE },
2829 { "attention", 0, TRUE },
2830 { "author", 0, TRUE },
2831 { "authors", 0, TRUE },
2832 { "copydoc", 0, TRUE },
2833 { "copybrief", 0, FALSE },
2834 { "copydetails", 0, TRUE },
2835 { "date", 0, TRUE },
2836 { "dotfile", 0, TRUE },
2837 { "htmlinclude", 0, FALSE },
2838 { "image", 0, TRUE },
2839 { "include", 0, TRUE },
2840 { "includelineno", 0, TRUE },
2841 { "invariant", 0, TRUE },
2842 { "li", 0, TRUE },
2843 { "line", 0, TRUE },
2844 { "note", 0, TRUE },
2845 { "par", 0, TRUE },
2846 { "param", 0, TRUE },
2847 { "tparam", 0, TRUE },
2848 { "post", 0, TRUE },
2849 { "pre", 0, TRUE },
2850 { "remark", 0, TRUE },
2851 { "remarks", 0, TRUE },
2852 { "result", 0, TRUE },
2853 { "return", 0, TRUE },
2854 { "returns", 0, TRUE },
2855 { "retval", 0, TRUE },
2856 { "sa", 0, TRUE },
2857 { "see", 0, TRUE },
2858 { "since", 0, TRUE },
2859 { "throw", 0, TRUE },
2860 { "throws", 0, TRUE },
2861 { "until", 0, TRUE },
2862 { "verbinclude", 0, FALSE },
2863 { "version", 0, TRUE },
2864 { "warning", 0, TRUE },
2865 { 0, 0, FALSE }
2866};
2867
2868/** @brief Command mapper.
2869 *
2870 * Maps a command name (as found in a comment block) onto a
2871 * specific handler function.
2872 */
2873class DocCmdMapper
2874{
2875 public:
2876 struct Cmd
2877 {
2878 DocCmdFunc func;
2879 bool endsBrief;
2880 };
2881
2882 /** maps a command name to a handler function */
2883 static Cmd *map(const char *name)
2884 {
2885 return instance()->find(name);
2886 }
2887
2888 /** release the singleton */
2889 static void freeInstance()
2890 {
2891 delete s_instance; s_instance=0;
2892 }
2893
2894 private:
2895 static DocCmdMapper *instance()
2896 {
2897 if (s_instance==0) s_instance = new DocCmdMapper;
2898 return s_instance;
2899 }
2900
2901 DocCmdMapper() : m_map(113)
2902 {
2903 m_map.setAutoDelete(TRUE);
2904 DocCmdMap *p = docCmdMap;
2905 while (p->cmdName)
2906 {
2907if (m_map.find(p->cmdName)!=0)
2908{
2909 printf("Error: DocCmdMapper: command %s already added\n",p->cmdName);
2910 exit(1);
2911}
2912Cmd *cmd = new Cmd;
2913cmd->func = p->handler;
2914cmd->endsBrief = p->endsBrief;
2915m_map.insert(p->cmdName,cmd);
2916p++;
2917 }
2918 }
2919
2920 Cmd *find(const char *name)
2921 {
2922 return m_map.find(name);
2923 }
2924 QDict<Cmd> m_map;
2925 static DocCmdMapper *s_instance;
2926};
2927
2928DocCmdMapper *DocCmdMapper::s_instance=0;
2929
2930
2931#define YY_NEVER_INTERACTIVE 1
2932
2933enum XRefKind
2934{
2935 XRef_Item,
2936 XRef_Todo,
2937 XRef_Test,
2938 XRef_Bug,
2939 XRef_Deprecated,
2940 XRef_None
2941};
2942
2943enum OutputContext
2944{
2945 OutputDoc,
2946 OutputBrief,
2947 OutputXRef,
2948 OutputInbody
2949};
2950
2951enum GuardType
2952{
2953 Guard_If,
2954 Guard_IfNot,
2955 Guard_Skip
2956};
2957
2958class GuardedSection
2959{
2960 public:
2961 GuardedSection(bool enabled,bool parentVisible)
2962 : m_enabled(enabled),m_parentVisible(parentVisible) {}
2963 bool isEnabled() const { return m_enabled; }
2964 bool parentVisible() const { return m_parentVisible; }
2965
2966 private:
2967 bool m_enabled;
2968 bool m_parentVisible;
2969};
2970
2971void openGroup(Entry *e,const char *file,int line);
2972void closeGroup(Entry *e,const char *file,int line,bool foundInline=FALSE);
2973void initGroupInfo(Entry *e);
2974static void groupAddDocs(Entry *e,const char *fileName);
2975
2976/* -----------------------------------------------------------------
2977 *
2978 *statics
2979 */
2980
2981static ParserInterface *langParser; // the language parser that is calling us
2982static QCString inputString; // input string
2983static intinputPosition; // read pointer
2984static QCStringyyFileName; // file name that is read from
2985static intyyLineNr; // line number in the input
2986static bool inBody; // was the comment found inside the body of a function?
2987static OutputContext inContext; // are we inside the brief, details or xref part
2988static bool briefEndsAtDot; // does the brief description stop at a dot?
2989static QCString formulaText; // Running text of a formula
2990static QCString formulaEnv; // environment name
2991static int formulaNewLines; // amount of new lines in the formula
2992static QCString *pOutputString; // pointer to string to which the output is appended.
2993static QCString outputXRef; // temp argument of todo/test/../xrefitem commands
2994static QCString blockName; // preformatted block name (e.g. verbatim, latexonly,...)
2995static XRefKind xrefKind; // kind of cross-reference command
2996static XRefKind newXRefKind; //
2997static GuardType guardType; // kind of guard for conditional section
2998static bool enabledSectionFound;
2999static QCString functionProto; // function prototype
3000static QStack<GuardedSection> guards; // tracks nested conditional sections (if,ifnot,..)
3001static Entry*current = 0 ; // working entry
3002//static Entry*current_root = 0 ; // parent of working entry
3003
3004
3005//static Entry*previous = 0 ; // TODO: remove need for this
3006static bool needNewEntry;
3007
3008static QCString sectionLabel;
3009static QCStringsectionTitle;
3010static QCString xrefItemKey;
3011static QCString newXRefItemKey;
3012static QCString xrefItemTitle;
3013static QCString xrefListTitle;
3014static Protectionprotection;
3015
3016static bool xrefAppendFlag;
3017static bool inGroupParamFound;
3018static int braceCount;
3019static bool insidePre;
3020static bool parseMore;
3021static int g_condCount;
3022static int g_sectionLevel;
3023
3024static int g_commentCount;
3025
3026//-----------------------------------------------------------------------------
3027
3028static QStack<Grouping> g_autoGroupStack;
3029static int g_memberGroupId = DOX_NOGROUP;
3030static QCString g_memberGroupHeader;
3031static QCString g_memberGroupDocs;
3032static QCString g_memberGroupRelates;
3033static QCString g_compoundName;
3034
3035//-----------------------------------------------------------------------------
3036
3037static void initParser()
3038{
3039 sectionLabel.resize(0);
3040 sectionTitle.resize(0);
3041 g_memberGroupHeader.resize(0);
3042}
3043
3044//-----------------------------------------------------------------------------
3045
3046static QCString getDocSectionName(int s)
3047{
3048 switch(s)
3049 {
3050 case Entry::CLASSDOC_SEC: return "\\class";
3051 case Entry::STRUCTDOC_SEC: return "\\struct";
3052 case Entry::UNIONDOC_SEC: return "\\union";
3053 case Entry::EXCEPTIONDOC_SEC: return "\\exception";
3054 case Entry::NAMESPACEDOC_SEC: return "\\namespace";
3055 case Entry::PROTOCOLDOC_SEC: return "\\protocol";
3056 case Entry::CATEGORYDOC_SEC: return "\\category";
3057 case Entry::ENUMDOC_SEC: return "\\enum";
3058 case Entry::PAGEDOC_SEC: return "\\page";
3059 case Entry::VARIABLEDOC_SEC: return "\\var";
3060 case Entry::MEMBERDOC_SEC: return "\\fn";
3061 case Entry::OVERLOADDOC_SEC: return "\\overload";
3062 case Entry::FILEDOC_SEC: return "\\file";
3063 case Entry::DEFINEDOC_SEC: return "\\def";
3064 case Entry::GROUPDOC_SEC: return "\\defgroup";
3065 case Entry::MAINPAGEDOC_SEC: return "\\mainpage";
3066 case Entry::PACKAGEDOC_SEC: return "\\package";
3067 case Entry::DIRDOC_SEC: return "\\dir";
3068 case Entry::EXAMPLE_SEC: return "\\example";
3069 case Entry::MEMBERGRP_SEC: return "\\name";
3070 default: return "";
3071 }
3072}
3073
3074//-----------------------------------------------------------------------------
3075
3076static bool makeStructuralIndicator(Entry::Sections s)
3077{
3078 //printf("current->section=%x\n",current->section);
3079 if (!getDocSectionName(current->section).isEmpty())
3080 {
3081 return TRUE;
3082 }
3083 else
3084 {
3085 needNewEntry = TRUE;
3086 current->section = s;
3087 current->fileName = yyFileName;
3088 current->startLine = yyLineNr;
3089 return FALSE;
3090 }
3091}
3092
3093static void lineCount()
3094{
3095 for( const char* c = commentScanYYtext ; *c ; ++c )
3096 yyLineNr += (*c == '\n') ;
3097}
3098
3099
3100static QCString stripQuotes(const char *s)
3101{
3102 QCString name;
3103 if (s==0 || *s==0) return name;
3104 name=s;
3105 if (name.at(0)=='"' && name.at(name.length()-1)=='"')
3106 {
3107 name=name.mid(1,name.length()-2);
3108 }
3109 return name;
3110}
3111
3112//-----------------------------------------------------------------
3113
3114static void addXRefItem(const char *listName,const char *itemTitle,
3115 const char *listTitle,bool append)
3116{
3117 Entry *docEntry = current; // inBody && previous ? previous : current;
3118 if (listName==0) return;
3119 //printf("addXRefItem(%s,%s,%s,%d)\n",listName,itemTitle,listTitle,append);
3120
3121 ListItemInfo *lii=0;
3122 RefList *refList = Doxygen::xrefLists->find(listName);
3123 if (refList==0) // new list
3124 {
3125 refList = new RefList(listName,listTitle,itemTitle);
3126 Doxygen::xrefLists->insert(listName,refList);
3127 //printf("new list!\n");
3128 }
3129 if (docEntry->sli)
3130 {
3131 QListIterator<ListItemInfo> slii(*docEntry->sli);
3132 for (slii.toFirst();(lii=slii.current());++slii)
3133 {
3134 if (strcmp(lii->type,listName)==0)
3135 {
3136 //printf("found %s lii->type=%s\n",listName,lii->type);
3137 break;
3138 }
3139 }
3140 }
3141 if (lii && append) // already found item of same type just before this one
3142 {
3143 //printf("listName=%s item id = %d existing\n",listName,lii->itemId);
3144 RefItem *item = refList->getRefItem(lii->itemId);
3145 ASSERT(item!=0);
3146 item->text += " <p>";
3147 item->text += outputXRef;
3148 //printf("%s: text +=%s\n",listName,item->text.data());
3149 }
3150 else // new item
3151 {
3152 int itemId = refList->addRefItem();
3153 //printf("listName=%s item id = %d new current=%p\n",listName,itemId,current);
3154
3155 // if we have already an item from the same list type (e.g. a second @todo)
3156 // in the same Entry (i.e. lii!=0) then we reuse its link anchor.
3157 char anchorLabel[1024];
3158 //sprintf(anchorLabel,"_%s%06d",listName,lii ? lii->itemId : itemId);
3159 sprintf(anchorLabel,"_%s%06d",listName,itemId);
3160 RefItem *item = refList->getRefItem(itemId);
3161 ASSERT(item!=0);
3162 item->text = outputXRef;
3163 item->listAnchor = anchorLabel;
3164 docEntry->addSpecialListItem(listName,itemId);
3165 QCString cmdString;
3166 cmdString.sprintf("\\xrefitem %s %d.",listName,itemId);
3167 if (inBody)
3168 {
3169 docEntry->inbodyDocs += cmdString;
3170 }
3171 else
3172 {
3173 docEntry->doc += cmdString;
3174 }
3175 SectionInfo *si=new SectionInfo(listName,anchorLabel,
3176 sectionTitle,SectionInfo::Anchor);
3177 Doxygen::sectionDict.insert(anchorLabel,si);
3178 docEntry->anchors->append(si);
3179 }
3180 outputXRef.resize(0);
3181}
3182
3183//-----------------------------------------------------------------------------
3184
3185// Adds a formula text to the list/dictionary of formulas if it was
3186// not already added. Returns the label of the formula.
3187static QCString addFormula()
3188{
3189 QCString formLabel;
3190 QCString fText=formulaText.simplifyWhiteSpace();
3191 Formula *f=0;
3192 if ((f=Doxygen::formulaDict[fText])==0)
3193 {
3194 f = new Formula(fText);
3195 Doxygen::formulaList.append(f);
3196 Doxygen::formulaDict.insert(fText,f);
3197 formLabel.sprintf("\\form#%d",f->getId());
3198 Doxygen::formulaNameDict.insert(formLabel,f);
3199 }
3200 else
3201 {
3202 formLabel.sprintf("\\form#%d",f->getId());
3203 }
3204 int i;
3205 for (i=0;i<formulaNewLines;i++) formLabel+="\\_fakenl"; // add fake newlines to
3206 // keep the warnings
3207 // correctly aligned.
3208 return formLabel;
3209}
3210
3211//-----------------------------------------------------------------------------
3212
3213static void checkFormula();
3214//-----------------------------------------------------------------------------
3215
3216static void addSection()
3217{
3218 sectionTitle+=commentScanYYtext;
3219 sectionTitle=sectionTitle.stripWhiteSpace();
3220 //printf("Adding new section file=%s label=%s title=%s\n",yyFileName,sectionLabel.data(),sectionTitle.data());
3221 SectionInfo *si = new SectionInfo(yyFileName,sectionLabel,sectionTitle,SectionInfo::Anchor);
3222 current->anchors->append(si);
3223 Doxygen::sectionDict.insert(commentScanYYtext,si);
3224}
3225
3226//-----------------------------------------------------------------------------
3227
3228// strip trailing whitespace (excluding newlines) from string s
3229static void stripTrailingWhiteSpace(QCString &s)
3230{
3231 uint len = s.length();
3232 int i = (int)len-1;
3233 char c;
3234 while (i>=0 && ((c = s.at(i))==' ' || c=='\t' || c=='\r')) i--;
3235 if (i!=(int)len-1)
3236 {
3237 s.resize(i+2); // string upto and including char at pos i and \0 terminator
3238 }
3239}
3240
3241// selects the output to write to
3242static inline void setOutput(OutputContext ctx)
3243{
3244 bool xrefAppendToPrev = xrefAppendFlag;
3245 // determine append flag for the next item (i.e. the end of this item)
3246 xrefAppendFlag = !inBody &&
3247 inContext==OutputXRef && ctx==OutputXRef && // two consecutive xref items
3248 newXRefKind==xrefKind && // of the same kind
3249 (xrefKind!=XRef_Item ||
3250 newXRefItemKey==xrefItemKey); // with the same key if \xrefitem
3251 //printf("%d && %d && %d && (%d || %d)\n",
3252 // inContext==OutputXRef,
3253 // ctx==OutputXRef,
3254 // newXRefKind==xrefKind,
3255 // xrefKind!=XRef_Item,
3256 // newXRefItemKey==xrefItemKey);
3257
3258 //printf("refKind=%d newXRefKind=%d xrefAppendToPrev=%d xrefAppendFlag=%d\n",
3259 // xrefKind,newXRefKind,xrefAppendToPrev,xrefAppendFlag);
3260
3261 //printf("setOutput(inContext=%d ctx=%d)\n",inContext,ctx);
3262 if (inContext==OutputXRef) // end of XRef section => add the item
3263 {
3264 // See if we can append this new xref item to the previous one.
3265 // We know this at the start of the next item of the same
3266 // type and need to remember this until the end of that item.
3267 switch(xrefKind)
3268 {
3269 case XRef_Todo:
3270addXRefItem("todo",
3271 theTranslator->trTodo(),
3272 theTranslator->trTodoList(),
3273 xrefAppendToPrev
3274 );
3275break;
3276 case XRef_Test:
3277addXRefItem("test",
3278 theTranslator->trTest(),
3279 theTranslator->trTestList(),
3280 xrefAppendToPrev
3281 );
3282break;
3283 case XRef_Bug:
3284addXRefItem("bug",
3285 theTranslator->trBug(),
3286 theTranslator->trBugList(),
3287 xrefAppendToPrev
3288 );
3289break;
3290 case XRef_Deprecated:
3291addXRefItem("deprecated",
3292 theTranslator->trDeprecated(),
3293 theTranslator->trDeprecatedList(),
3294 xrefAppendToPrev
3295 );
3296break;
3297 case XRef_Item: // user defined list
3298addXRefItem(xrefItemKey,
3299 xrefItemTitle,
3300 xrefListTitle,
3301 xrefAppendToPrev
3302 );
3303break;
3304 case XRef_None:
3305ASSERT(0);
3306break;
3307 }
3308 }
3309 xrefItemKey = newXRefItemKey;
3310
3311 int oldContext = inContext;
3312 inContext = ctx;
3313 if (inContext!=OutputXRef && inBody) inContext=OutputInbody;
3314 switch(inContext)
3315 {
3316 case OutputDoc:
3317 if (oldContext!=inContext)
3318 {
3319 stripTrailingWhiteSpace(current->doc);
3320 if (current->docFile.isEmpty())
3321 {
3322 current->docFile = yyFileName;
3323 current->docLine = yyLineNr;
3324 }
3325 }
3326 pOutputString = &current->doc;
3327 break;
3328 case OutputBrief:
3329 if (oldContext!=inContext)
3330 {
3331if (current->briefFile.isEmpty())
3332{
3333 current->briefFile = yyFileName;
3334 current->briefLine = yyLineNr;
3335}
3336 }
3337 if (current->brief.stripWhiteSpace().isEmpty()) // we only want one brief
3338 // description even if multiple
3339 // are given...
3340 {
3341 pOutputString = &current->brief;
3342 }
3343 else
3344 {
3345 pOutputString = &current->doc;
3346inContext = OutputDoc; // need to switch to detailed docs, see bug 631380
3347 }
3348 break;
3349 case OutputXRef:
3350 pOutputString = &outputXRef;
3351 // first item found, so can't append to previous
3352 //xrefAppendFlag = FALSE;
3353 break;
3354 case OutputInbody:
3355 pOutputString = &current->inbodyDocs;
3356 break;
3357 }
3358}
3359
3360// add a string to the output
3361static inline void addOutput(const char *s)
3362{
3363 *pOutputString+=s;
3364}
3365
3366// add a character to the output
3367static inline void addOutput(char c)
3368{
3369 *pOutputString+=c;
3370}
3371
3372static void endBrief(bool addToOutput=TRUE)
3373{
3374 if (!current->brief.stripWhiteSpace().isEmpty())
3375 { // only go to the detailed description if we have
3376 // found some brief description and not just whitespace
3377 briefEndsAtDot=FALSE;
3378 setOutput(OutputDoc);
3379 if (addToOutput) addOutput(commentScanYYtext);
3380 }
3381}
3382
3383/* ----------------------------------------------------------------- */
3384#undefYY_INPUT
3385#defineYY_INPUT(buf,result,max_size) result=yyread(buf,max_size);
3386
3387static int prevPosition=0;
3388
3389static int yyread(char *buf,int max_size)
3390{
3391 prevPosition=inputPosition;
3392 int c=0;
3393 while( c < max_size && inputString[inputPosition] )
3394 {
3395*buf = inputString[inputPosition++] ;
3396//printf("%d (%c)\n",*buf,*buf);
3397c++; buf++;
3398 }
3399 return c;
3400}
3401
3402/* start command character */
3403/* comment parsing states. */
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442#line 3443 "<stdout>"
3443
3444#define INITIAL 0
3445#define Comment 1
3446#define PageDocArg1 2
3447#define PageDocArg2 3
3448#define RelatesParam1 4
3449#define ClassDocArg1 5
3450#define ClassDocArg2 6
3451#define ClassDocArg3 7
3452#define CategoryDocArg1 8
3453#define XRefItemParam1 9
3454#define XRefItemParam2 10
3455#define XRefItemParam3 11
3456#define FileDocArg1 12
3457#define EnumDocArg1 13
3458#define NameSpaceDocArg1 14
3459#define PackageDocArg1 15
3460#define GroupDocArg1 16
3461#define GroupDocArg2 17
3462#define SectionLabel 18
3463#define SectionTitle 19
3464#define SubpageLabel 20
3465#define SubpageTitle 21
3466#define FormatBlock 22
3467#define LineParam 23
3468#define GuardParam 24
3469#define GuardParamEnd 25
3470#define SkipGuardedSection 26
3471#define SkipInternal 27
3472#define NameParam 28
3473#define InGroupParam 29
3474#define FnParam 30
3475#define OverloadParam 31
3476#define InheritParam 32
3477#define ExtendsParam 33
3478#define ReadFormulaShort 34
3479#define ReadFormulaLong 35
3480#define AnchorLabel 36
3481#define HtmlComment 37
3482#define SkipLang 38
3483
3484#ifndef YY_NO_UNISTD_H
3485/* Special case for "unistd.h", since it is non-ANSI. We include it way
3486 * down here because we want the user's section 1 to have been scanned first.
3487 * The user has a chance to override it with an option.
3488 */
3489#include <unistd.h>
3490#endif
3491
3492#ifndef YY_EXTRA_TYPE
3493#define YY_EXTRA_TYPE void *
3494#endif
3495
3496static int yy_init_globals (void );
3497
3498/* Accessor methods to globals.
3499 These are made visible to non-reentrant scanners for convenience. */
3500
3501int commentScanYYlex_destroy (void );
3502
3503int commentScanYYget_debug (void );
3504
3505void commentScanYYset_debug (int debug_flag );
3506
3507YY_EXTRA_TYPE commentScanYYget_extra (void );
3508
3509void commentScanYYset_extra (YY_EXTRA_TYPE user_defined );
3510
3511FILE *commentScanYYget_in (void );
3512
3513void commentScanYYset_in (FILE * in_str );
3514
3515FILE *commentScanYYget_out (void );
3516
3517void commentScanYYset_out (FILE * out_str );
3518
3519yy_size_t commentScanYYget_leng (void );
3520
3521char *commentScanYYget_text (void );
3522
3523int commentScanYYget_lineno (void );
3524
3525void commentScanYYset_lineno (int line_number );
3526
3527/* Macros after this point can all be overridden by user definitions in
3528 * section 1.
3529 */
3530
3531#ifndef YY_SKIP_YYWRAP
3532#ifdef __cplusplus
3533extern "C" int commentScanYYwrap (void );
3534#else
3535extern int commentScanYYwrap (void );
3536#endif
3537#endif
3538
3539 static void yyunput (int c,char *buf_ptr );
3540
3541#ifndef yytext_ptr
3542static void yy_flex_strncpy (char *,yyconst char *,int );
3543#endif
3544
3545#ifdef YY_NEED_STRLEN
3546static int yy_flex_strlen (yyconst char * );
3547#endif
3548
3549#ifndef YY_NO_INPUT
3550
3551#ifdef __cplusplus
3552static int yyinput (void );
3553#else
3554static int input (void );
3555#endif
3556
3557#endif
3558
3559/* Amount of stuff to slurp up with each read. */
3560#ifndef YY_READ_BUF_SIZE
3561#define YY_READ_BUF_SIZE 262144
3562#endif
3563
3564/* Copy whatever the last rule matched to the standard output. */
3565#ifndef ECHO
3566/* This used to be an fputs(), but since the string might contain NUL's,
3567 * we now use fwrite().
3568 */
3569#define ECHO fwrite( commentScanYYtext, commentScanYYleng, 1, commentScanYYout )
3570#endif
3571
3572/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
3573 * is returned in "result".
3574 */
3575#ifndef YY_INPUT
3576#define YY_INPUT(buf,result,max_size) \
3577if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
3578{ \
3579int c = '*'; \
3580yy_size_t n; \
3581for ( n = 0; n < max_size && \
3582 (c = getc( commentScanYYin )) != EOF && c != '\n'; ++n ) \
3583buf[n] = (char) c; \
3584if ( c == '\n' ) \
3585buf[n++] = (char) c; \
3586if ( c == EOF && ferror( commentScanYYin ) ) \
3587YY_FATAL_ERROR( "input in flex scanner failed" ); \
3588result = n; \
3589} \
3590else \
3591{ \
3592errno=0; \
3593while ( (result = fread(buf, 1, max_size, commentScanYYin))==0 && ferror(commentScanYYin)) \
3594{ \
3595if( errno != EINTR) \
3596{ \
3597YY_FATAL_ERROR( "input in flex scanner failed" ); \
3598break; \
3599} \
3600errno=0; \
3601clearerr(commentScanYYin); \
3602} \
3603}\
3604\
3605
3606#endif
3607
3608/* No semi-colon after return; correct usage is to write "yyterminate();" -
3609 * we don't want an extra ';' after the "return" because that will cause
3610 * some compilers to complain about unreachable statements.
3611 */
3612#ifndef yyterminate
3613#define yyterminate() return YY_NULL
3614#endif
3615
3616/* Number of entries by which start-condition stack grows. */
3617#ifndef YY_START_STACK_INCR
3618#define YY_START_STACK_INCR 25
3619#endif
3620
3621/* Report a fatal error. */
3622#ifndef YY_FATAL_ERROR
3623#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
3624#endif
3625
3626/* end tables serialization structures and prototypes */
3627
3628/* Default declaration of generated scanner - a define so the user can
3629 * easily add parameters.
3630 */
3631#ifndef YY_DECL
3632#define YY_DECL_IS_OURS 1
3633
3634extern int commentScanYYlex (void);
3635
3636#define YY_DECL int commentScanYYlex (void)
3637#endif /* !YY_DECL */
3638
3639/* Code executed at the beginning of each rule, after commentScanYYtext and commentScanYYleng
3640 * have been set up.
3641 */
3642#ifndef YY_USER_ACTION
3643#define YY_USER_ACTION
3644#endif
3645
3646/* Code executed at the end of each rule. */
3647#ifndef YY_BREAK
3648#define YY_BREAK break;
3649#endif
3650
3651#define YY_RULE_SETUP \
3652if ( commentScanYYleng > 0 ) \
3653YY_CURRENT_BUFFER_LVALUE->yy_at_bol = \
3654(commentScanYYtext[commentScanYYleng - 1] == '\n'); \
3655YY_USER_ACTION
3656
3657/** The main scanner function which does all the work.
3658 */
3659YY_DECL
3660{
3661register yy_state_type yy_current_state;
3662register char *yy_cp, *yy_bp;
3663register int yy_act;
3664
3665#line 865 "commentscan.l"
3666
3667
3668 /* What can happen in while parsing a comment block:
3669 * commands (e.g. @page, or \page)
3670 * escaped commands (e.g. @@page or \\page).
3671 * formulas (e.g. \f$ \f[ \f{..)
3672 * directories (e.g. \doxygen\src\)
3673 * autolist end. (e.g. a dot on an otherwise empty line)
3674 * newlines.
3675 * end of brief description due to blank line.
3676 * end of brief description due to some command (@command, or <command>).
3677 * words and whitespace and other characters (#,?!, etc).
3678 * grouping commands (e.g. @{ and @})
3679 * language switch (e.g. \~english or \~).
3680 * mail adress (e.g. dimitri@stack.nl).
3681 * quoted text, such as "foo@bar"
3682 * XML commands, <summary></summary><remarks></remarks>
3683 */
3684
3685#line 3686 "<stdout>"
3686
3687if ( !(yy_init) )
3688{
3689(yy_init) = 1;
3690
3691#ifdef YY_USER_INIT
3692YY_USER_INIT;
3693#endif
3694
3695 /* Create the reject buffer large enough to save one state per allowed character. */
3696 if ( ! (yy_state_buf) )
3697 (yy_state_buf) = (yy_state_type *)commentScanYYalloc(YY_STATE_BUF_SIZE );
3698 if ( ! (yy_state_buf) )
3699 YY_FATAL_ERROR( "out of dynamic memory in commentScanYYlex()" );
3700
3701if ( ! (yy_start) )
3702(yy_start) = 1;/* first start state */
3703
3704if ( ! commentScanYYin )
3705commentScanYYin = stdin;
3706
3707if ( ! commentScanYYout )
3708commentScanYYout = stdout;
3709
3710if ( ! YY_CURRENT_BUFFER ) {
3711commentScanYYensure_buffer_stack ();
3712YY_CURRENT_BUFFER_LVALUE =
3713commentScanYY_create_buffer(commentScanYYin,YY_BUF_SIZE );
3714}
3715
3716commentScanYY_load_buffer_state( );
3717}
3718
3719while ( 1 )/* loops until end-of-file is reached */
3720{
3721yy_cp = (yy_c_buf_p);
3722
3723/* Support of commentScanYYtext. */
3724*yy_cp = (yy_hold_char);
3725
3726/* yy_bp points to the position in yy_ch_buf of the start of
3727 * the current run.
3728 */
3729yy_bp = yy_cp;
3730
3731yy_current_state = (yy_start);
3732yy_current_state += YY_AT_BOL();
3733
3734(yy_state_ptr) = (yy_state_buf);
3735*(yy_state_ptr)++ = yy_current_state;
3736
3737yy_match:
3738do
3739{
3740register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
3741while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
3742{
3743yy_current_state = (int) yy_def[yy_current_state];
3744if ( yy_current_state >= 1054 )
3745yy_c = yy_meta[(unsigned int) yy_c];
3746}
3747yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
3748*(yy_state_ptr)++ = yy_current_state;
3749++yy_cp;
3750}
3751while ( yy_base[yy_current_state] != 7500 );
3752
3753yy_find_action:
3754yy_current_state = *--(yy_state_ptr);
3755(yy_lp) = yy_accept[yy_current_state];
3756goto find_rule; /* Shut up GCC warning -Wall */
3757find_rule: /* we branch to this label when backing up */
3758for ( ; ; ) /* until we find what rule we matched */
3759{
3760if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
3761{
3762yy_act = yy_acclist[(yy_lp)];
3763if ( yy_act & YY_TRAILING_HEAD_MASK ||
3764 (yy_looking_for_trail_begin) )
3765{
3766if ( yy_act == (yy_looking_for_trail_begin) )
3767{
3768(yy_looking_for_trail_begin) = 0;
3769yy_act &= ~YY_TRAILING_HEAD_MASK;
3770break;
3771}
3772}
3773else if ( yy_act & YY_TRAILING_MASK )
3774{
3775(yy_looking_for_trail_begin) = yy_act & ~YY_TRAILING_MASK;
3776(yy_looking_for_trail_begin) |= YY_TRAILING_HEAD_MASK;
3777(yy_full_match) = yy_cp;
3778(yy_full_state) = (yy_state_ptr);
3779(yy_full_lp) = (yy_lp);
3780}
3781else
3782{
3783(yy_full_match) = yy_cp;
3784(yy_full_state) = (yy_state_ptr);
3785(yy_full_lp) = (yy_lp);
3786break;
3787}
3788++(yy_lp);
3789goto find_rule;
3790}
3791--yy_cp;
3792yy_current_state = *--(yy_state_ptr);
3793(yy_lp) = yy_accept[yy_current_state];
3794}
3795
3796YY_DO_BEFORE_ACTION;
3797
3798do_action:/* This label is used only to access EOF actions. */
3799
3800switch ( yy_act )
3801{ /* beginning of action switch */
3802case 1:
3803YY_RULE_SETUP
3804#line 884 "commentscan.l"
3805{ // escaped command
3806 addOutput(commentScanYYtext);
3807 }
3808YY_BREAK
3809case 2:
3810YY_RULE_SETUP
3811#line 887 "commentscan.l"
3812{ // escaped command
3813 addOutput(commentScanYYtext);
3814 }
3815YY_BREAK
3816case 3:
3817YY_RULE_SETUP
3818#line 890 "commentscan.l"
3819{ // mail adress
3820 addOutput(commentScanYYtext);
3821 }
3822YY_BREAK
3823case 4:
3824YY_RULE_SETUP
3825#line 893 "commentscan.l"
3826{ // quoted text
3827 addOutput(commentScanYYtext);
3828 }
3829YY_BREAK
3830case 5:
3831YY_RULE_SETUP
3832#line 896 "commentscan.l"
3833{ // directory (or chain of commands!)
3834 addOutput(commentScanYYtext);
3835 }
3836YY_BREAK
3837case 6:
3838/* rule 6 can match eol */
3839YY_RULE_SETUP
3840#line 899 "commentscan.l"
3841{ // xref command
3842 if (inContext!=OutputXRef)
3843 {
3844 briefEndsAtDot=FALSE;
3845 setOutput(OutputDoc);
3846 }
3847 // continue with the same input
3848 REJECT;
3849}
3850YY_BREAK
3851/*
3852<Comment>{DETAILEDCMD}/[^a-z_A-Z]*{ // command that can end a brief description
3853 briefEndsAtDot=FALSE;
3854 setOutput(OutputDoc);
3855 // continue with the same input
3856 REJECT;
3857}
3858 */
3859case 7:
3860YY_RULE_SETUP
3861#line 916 "commentscan.l"
3862{ // HTML command that ends a brief description
3863 setOutput(OutputDoc);
3864 // continue with the same input
3865 REJECT;
3866}
3867YY_BREAK
3868case 8:
3869YY_RULE_SETUP
3870#line 921 "commentscan.l"
3871{ // start of a .NET XML style brief description
3872 setOutput(OutputBrief);
3873 }
3874YY_BREAK
3875case 9:
3876YY_RULE_SETUP
3877#line 924 "commentscan.l"
3878{ // start of a .NET XML style detailed description
3879 setOutput(OutputDoc);
3880 }
3881YY_BREAK
3882case 10:
3883YY_RULE_SETUP
3884#line 927 "commentscan.l"
3885{ // end of a brief or detailed description
3886 }
3887YY_BREAK
3888case 11:
3889YY_RULE_SETUP
3890#line 929 "commentscan.l"
3891{ // RCS tag which end a brief description
3892 setOutput(OutputDoc);
3893 REJECT;
3894 }
3895YY_BREAK
3896case 12:
3897YY_RULE_SETUP
3898#line 933 "commentscan.l"
3899{
3900 BEGIN(HtmlComment);
3901}
3902YY_BREAK
3903case 13:
3904YY_RULE_SETUP
3905#line 936 "commentscan.l"
3906{
3907 warn(yyFileName,yyLineNr,
3908 "warning: found \\endinternal without matching \\internal"
3909 );
3910 }
3911YY_BREAK
3912case 14:
3913YY_RULE_SETUP
3914#line 941 "commentscan.l"
3915{ // potentially interesting command
3916 // the {B}* in the front was added for bug620924
3917 QCString cmdName = QCString(commentScanYYtext).stripWhiteSpace().data()+1;
3918 DocCmdMapper::Cmd *cmdPtr = DocCmdMapper::map(cmdName);
3919 if (cmdPtr) // special action is required
3920 {
3921 if (cmdPtr->endsBrief)
3922 {
3923 briefEndsAtDot=FALSE;
3924 // this command forces the end of brief description
3925 setOutput(OutputDoc);
3926 }
3927 if (cmdPtr->func && cmdPtr->func(cmdName))
3928 {
3929 // implicit split of the comment block into two
3930 // entries. Restart the next block at the start
3931 // of this command.
3932 parseMore=TRUE;
3933
3934 // yuk, this is probably not very portable across lex implementations,
3935 // but we need to know the position in the input buffer where this
3936 // rule matched.
3937 // for flex 2.5.33+ we should use YY_CURRENT_BUFFER_LVALUE
3938#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
3939 inputPosition=prevPosition + yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
3940#else
3941 inputPosition=prevPosition + yy_bp - yy_current_buffer->yy_ch_buf;
3942#endif
3943 yyterminate();
3944 }
3945 else if (cmdPtr->func==0)
3946 {
3947 // command without handler, to be processed
3948 // later by parsedoc.cpp
3949 addOutput(commentScanYYtext);
3950 }
3951 }
3952 else // command not relevant
3953 {
3954 addOutput(commentScanYYtext);
3955 }
3956 }
3957YY_BREAK
3958case 15:
3959YY_RULE_SETUP
3960#line 983 "commentscan.l"
3961{ // escaped formula command
3962 addOutput(commentScanYYtext);
3963 }
3964YY_BREAK
3965case 16:
3966YY_RULE_SETUP
3967#line 986 "commentscan.l"
3968{ // language switch command
3969 QCString langId = QString(commentScanYYtext).stripWhiteSpace().data()+2;
3970 if (!langId.isEmpty() &&
3971 stricmp(Config_getEnum("OUTPUT_LANGUAGE"),langId)!=0)
3972 { // enable language specific section
3973 BEGIN(SkipLang);
3974 }
3975 }
3976YY_BREAK
3977case 17:
3978YY_RULE_SETUP
3979#line 994 "commentscan.l"
3980{ // start of a formula with custom environment
3981 formulaText="\\begin";
3982 formulaEnv=QString(commentScanYYtext).stripWhiteSpace().data()+2;
3983 if (formulaEnv.at(formulaEnv.length()-1)=='{')
3984 {
3985 // remove trailing open brace
3986 formulaEnv=formulaEnv.left(formulaEnv.length()-1);
3987 }
3988 formulaText+=formulaEnv;
3989 formulaNewLines=0;
3990 BEGIN(ReadFormulaLong);
3991 }
3992YY_BREAK
3993case 18:
3994YY_RULE_SETUP
3995#line 1006 "commentscan.l"
3996{ // start of a inline formula
3997 formulaText="$";
3998 formulaNewLines=0;
3999 BEGIN(ReadFormulaShort);
4000 }
4001YY_BREAK
4002case 19:
4003YY_RULE_SETUP
4004#line 1011 "commentscan.l"
4005{ // start of a block formula
4006 formulaText="\\[";
4007 formulaNewLines=0;
4008 BEGIN(ReadFormulaLong);
4009 }
4010YY_BREAK
4011case 20:
4012YY_RULE_SETUP
4013#line 1016 "commentscan.l"
4014{ // begin of a group
4015 //langParser->handleGroupStartCommand(g_memberGroupHeader);
4016 openGroup(current,yyFileName,yyLineNr);
4017 }
4018YY_BREAK
4019case 21:
4020YY_RULE_SETUP
4021#line 1020 "commentscan.l"
4022{ // end of a group
4023 //langParser->handleGroupEndCommand();
4024 closeGroup(current,yyFileName,yyLineNr,TRUE);
4025 g_memberGroupHeader.resize(0);
4026 parseMore=TRUE;
4027 needNewEntry = TRUE;
4028#if YY_FLEX_MINOR_VERSION>=5 && YY_FLEX_SUBMINOR_VERSION>=33
4029 inputPosition=prevPosition + yy_bp - YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + strlen(commentScanYYtext);
4030#else
4031 inputPosition=prevPosition + yy_bp - yy_current_buffer->yy_ch_buf + strlen(commentScanYYtext);
4032#endif
4033 yyterminate();
4034 }
4035YY_BREAK
4036case 22:
4037YY_RULE_SETUP
4038#line 1033 "commentscan.l"
4039{ // escaped character
4040 addOutput(commentScanYYtext);
4041 }
4042YY_BREAK
4043case 23:
4044YY_RULE_SETUP
4045#line 1036 "commentscan.l"
4046{ // normal word
4047 addOutput(commentScanYYtext);
4048 }
4049YY_BREAK
4050case 24:
4051/* rule 24 can match eol */
4052*yy_cp = (yy_hold_char); /* undo effects of setting up commentScanYYtext */
4053(yy_c_buf_p) = yy_cp -= 1;
4054YY_DO_BEFORE_ACTION; /* set up commentScanYYtext again */
4055YY_RULE_SETUP
4056#line 1039 "commentscan.l"
4057{ // explicit end autolist: e.g " ."
4058 addOutput(commentScanYYtext);
4059}
4060YY_BREAK
4061case 25:
4062YY_RULE_SETUP
4063#line 1042 "commentscan.l"
4064{ // start of autolist
4065 setOutput(OutputDoc);
4066 addOutput(commentScanYYtext);
4067 }
4068YY_BREAK
4069case 26:
4070YY_RULE_SETUP
4071#line 1046 "commentscan.l"
4072{ // . at start or in the middle of a word, or ellipsis
4073 addOutput(commentScanYYtext);
4074 }
4075YY_BREAK
4076case 27:
4077YY_RULE_SETUP
4078#line 1049 "commentscan.l"
4079{ // . with escaped space.
4080 addOutput(commentScanYYtext[0]);
4081 addOutput(commentScanYYtext[2]);
4082 }
4083YY_BREAK
4084case 28:
4085YY_RULE_SETUP
4086#line 1053 "commentscan.l"
4087{ // . with comma such as "e.g.,"
4088 addOutput(commentScanYYtext);
4089 }
4090YY_BREAK
4091case 29:
4092YY_RULE_SETUP
4093#line 1056 "commentscan.l"
4094{ // ellipsis with escaped space.
4095 addOutput("... ");
4096 }
4097YY_BREAK
4098case 30:
4099*yy_cp = (yy_hold_char); /* undo effects of setting up commentScanYYtext */
4100(yy_c_buf_p) = yy_cp -= 1;
4101YY_DO_BEFORE_ACTION; /* set up commentScanYYtext again */
4102YY_RULE_SETUP
4103#line 1059 "commentscan.l"
4104{ // internal ellipsis
4105 addOutput(commentScanYYtext);
4106 }
4107YY_BREAK
4108case 31:
4109/* rule 31 can match eol */
4110YY_RULE_SETUP
4111#line 1062 "commentscan.l"
4112{ // at least one blank line (or blank line command)
4113 if (inContext==OutputXRef)
4114 {
4115 // see bug 613024, we need to put the newlines after ending the XRef section.
4116 setOutput(OutputDoc);
4117 addOutput("\n\n");
4118 }
4119 else if (inContext!=OutputBrief)
4120 {
4121 addOutput("\n\n");
4122 setOutput(OutputDoc);
4123 }
4124 else // inContext==OutputBrief
4125 { // only go to the detailed description if we have
4126 // found some brief description and not just whitespace
4127 endBrief(FALSE);
4128 }
4129 lineCount();
4130 }
4131YY_BREAK
4132case 32:
4133YY_RULE_SETUP
4134#line 1081 "commentscan.l"
4135{ // potential end of a JavaDoc style comment
4136 addOutput(*commentScanYYtext);
4137 if (briefEndsAtDot)
4138 {
4139 setOutput(OutputDoc);
4140 briefEndsAtDot=FALSE;
4141 }
4142 }
4143YY_BREAK
4144case 33:
4145/* rule 33 can match eol */
4146YY_RULE_SETUP
4147#line 1089 "commentscan.l"
4148{ // newline
4149 addOutput(*commentScanYYtext);
4150 yyLineNr++;
4151 }
4152YY_BREAK
4153case 34:
4154YY_RULE_SETUP
4155#line 1093 "commentscan.l"
4156{ // catch-all for anything else
4157 addOutput(*commentScanYYtext);
4158 }
4159YY_BREAK
4160/* -------------- Rules for handling HTML comments ----------- */
4161case 35:
4162YY_RULE_SETUP
4163#line 1100 "commentscan.l"
4164{ BEGIN( Comment ); }
4165YY_BREAK
4166case 36:
4167/* rule 36 can match eol */
4168YY_RULE_SETUP
4169#line 1101 "commentscan.l"
4170{
4171 if (*commentScanYYtext=='\n') yyLineNr++;
4172 }
4173YY_BREAK
4174case 37:
4175YY_RULE_SETUP
4176#line 1104 "commentscan.l"
4177{ // ignore unimportant characters
4178 }
4179YY_BREAK
4180case 38:
4181YY_RULE_SETUP
4182#line 1106 "commentscan.l"
4183{ // ignore every else
4184 }
4185YY_BREAK
4186/* -------------- Rules for handling formulas ---------------- */
4187case 39:
4188YY_RULE_SETUP
4189#line 1111 "commentscan.l"
4190{ // end of inline formula
4191 formulaText+="$";
4192 addOutput(" "+addFormula());
4193 BEGIN(Comment);
4194 }
4195YY_BREAK
4196case 40:
4197YY_RULE_SETUP
4198#line 1116 "commentscan.l"
4199{ // end of block formula
4200 formulaText+="\\]";
4201 addOutput(" "+addFormula());
4202 BEGIN(Comment);
4203 }
4204YY_BREAK
4205case 41:
4206YY_RULE_SETUP
4207#line 1121 "commentscan.l"
4208{ // end of custom env formula
4209 formulaText+="\\end";
4210 formulaText+=formulaEnv;
4211 addOutput(" "+addFormula());
4212 BEGIN(Comment);
4213 }
4214YY_BREAK
4215case 42:
4216YY_RULE_SETUP
4217#line 1127 "commentscan.l"
4218{ // any non-special character
4219 formulaText+=commentScanYYtext;
4220 }
4221YY_BREAK
4222case 43:
4223/* rule 43 can match eol */
4224YY_RULE_SETUP
4225#line 1130 "commentscan.l"
4226{ // new line
4227 formulaNewLines++;
4228 formulaText+=*commentScanYYtext;
4229 yyLineNr++;
4230}
4231YY_BREAK
4232case 44:
4233YY_RULE_SETUP
4234#line 1135 "commentscan.l"
4235{ // any othe character
4236 formulaText+=*commentScanYYtext;
4237}
4238YY_BREAK
4239/* ------------ handle argument of enum command --------------- */
4240case 45:
4241/* rule 45 can match eol */
4242YY_RULE_SETUP
4243#line 1141 "commentscan.l"
4244{ // handle argument
4245 current->name = commentScanYYtext;
4246 BEGIN( Comment );
4247 }
4248YY_BREAK
4249case 46:
4250/* rule 46 can match eol */
4251YY_RULE_SETUP
4252#line 1145 "commentscan.l"
4253{ // line continuation
4254 yyLineNr++;
4255 addOutput('\n');
4256 }
4257YY_BREAK
4258case 47:
4259/* rule 47 can match eol */
4260YY_RULE_SETUP
4261#line 1149 "commentscan.l"
4262{ // missing argument
4263 warn(yyFileName,yyLineNr,
4264 "warning: missing argument after \\enum."
4265 );
4266 addOutput('\n');
4267 if (*commentScanYYtext=='\n') yyLineNr++;
4268 BEGIN( Comment );
4269 }
4270YY_BREAK
4271case 48:
4272YY_RULE_SETUP
4273#line 1157 "commentscan.l"
4274{ // ignore other stuff
4275 }
4276YY_BREAK
4277/* ------------ handle argument of namespace command --------------- */
4278case 49:
4279/* rule 49 can match eol */
4280YY_RULE_SETUP
4281#line 1162 "commentscan.l"
4282{ // handle argument
4283 current->name = substitute(commentScanYYtext,".","::");
4284 BEGIN( Comment );
4285 }
4286YY_BREAK
4287case 50:
4288/* rule 50 can match eol */
4289YY_RULE_SETUP
4290#line 1166 "commentscan.l"
4291{ // line continuation
4292 yyLineNr++;
4293 addOutput('\n');
4294 }
4295YY_BREAK
4296case 51:
4297/* rule 51 can match eol */
4298YY_RULE_SETUP
4299#line 1170 "commentscan.l"
4300{ // missing argument
4301 warn(yyFileName,yyLineNr,
4302 "warning: missing argument after "
4303 "\\namespace."
4304 );
4305 addOutput('\n');
4306 if (*commentScanYYtext=='\n') yyLineNr++;
4307 BEGIN( Comment );
4308 }
4309YY_BREAK
4310case 52:
4311YY_RULE_SETUP
4312#line 1179 "commentscan.l"
4313{ // ignore other stuff
4314 }
4315YY_BREAK
4316/* ------------ handle argument of package command --------------- */
4317case 53:
4318YY_RULE_SETUP
4319#line 1184 "commentscan.l"
4320{ // handle argument
4321 current->name = commentScanYYtext;
4322 BEGIN( Comment );
4323 }
4324YY_BREAK
4325case 54:
4326/* rule 54 can match eol */
4327YY_RULE_SETUP
4328#line 1188 "commentscan.l"
4329{ // line continuation
4330 yyLineNr++;
4331 addOutput('\n');
4332 }
4333YY_BREAK
4334case 55:
4335/* rule 55 can match eol */
4336YY_RULE_SETUP
4337#line 1192 "commentscan.l"
4338{ // missing argument
4339 warn(yyFileName,yyLineNr,
4340 "warning: missing argument after "
4341 "\\package."
4342 );
4343 addOutput('\n');
4344 if (*commentScanYYtext=='\n') yyLineNr++;
4345 BEGIN( Comment );
4346 }
4347YY_BREAK
4348case 56:
4349YY_RULE_SETUP
4350#line 1201 "commentscan.l"
4351{ // ignore other stuff
4352 }
4353YY_BREAK
4354/* ------ handle argument of class/struct/union command --------------- */
4355case 57:
4356/* rule 57 can match eol */
4357YY_RULE_SETUP
4358#line 1206 "commentscan.l"
4359{ // first argument
4360 current->name = substitute(commentScanYYtext,".","::");
4361 if (current->section==Entry::PROTOCOLDOC_SEC)
4362 {
4363 current->name+="-p";
4364 }
4365 // prepend outer scope name
4366 BEGIN( ClassDocArg2 );
4367}
4368YY_BREAK
4369case 58:
4370/* rule 58 can match eol */
4371YY_RULE_SETUP
4372#line 1215 "commentscan.l"
4373{
4374 current->name = substitute(commentScanYYtext,".","::");
4375 BEGIN( ClassDocArg2 );
4376 }
4377YY_BREAK
4378case 59:
4379/* rule 59 can match eol */
4380