Coverage Report

Created: 2025-07-18 08:04

/src/vlc/modules/codec/webvtt/libwebvtt_plugin_la-CSSLexer.c
Line
Count
Source (jump to first uncovered line)
1
#line 2 "codec/webvtt/libwebvtt_plugin_la-CSSLexer.c"
2
3
#line 4 "codec/webvtt/libwebvtt_plugin_la-CSSLexer.c"
4
5
#define  YY_INT_ALIGNED short int
6
7
/* A lexical scanner generated by flex */
8
9
#define FLEX_SCANNER
10
#define YY_FLEX_MAJOR_VERSION 2
11
#define YY_FLEX_MINOR_VERSION 6
12
#define YY_FLEX_SUBMINOR_VERSION 4
13
#if YY_FLEX_SUBMINOR_VERSION > 0
14
#define FLEX_BETA
15
#endif
16
17
#ifdef yy_create_buffer
18
#define css_create_buffer_ALREADY_DEFINED
19
#else
20
0
#define yy_create_buffer css_create_buffer
21
#endif
22
23
#ifdef yy_delete_buffer
24
#define css_delete_buffer_ALREADY_DEFINED
25
#else
26
0
#define yy_delete_buffer css_delete_buffer
27
#endif
28
29
#ifdef yy_scan_buffer
30
#define css_scan_buffer_ALREADY_DEFINED
31
#else
32
8.20k
#define yy_scan_buffer css_scan_buffer
33
#endif
34
35
#ifdef yy_scan_string
36
#define css_scan_string_ALREADY_DEFINED
37
#else
38
#define yy_scan_string css_scan_string
39
#endif
40
41
#ifdef yy_scan_bytes
42
#define css_scan_bytes_ALREADY_DEFINED
43
#else
44
0
#define yy_scan_bytes css_scan_bytes
45
#endif
46
47
#ifdef yy_init_buffer
48
#define css_init_buffer_ALREADY_DEFINED
49
#else
50
0
#define yy_init_buffer css_init_buffer
51
#endif
52
53
#ifdef yy_flush_buffer
54
#define css_flush_buffer_ALREADY_DEFINED
55
#else
56
0
#define yy_flush_buffer css_flush_buffer
57
#endif
58
59
#ifdef yy_load_buffer_state
60
#define css_load_buffer_state_ALREADY_DEFINED
61
#else
62
16.4k
#define yy_load_buffer_state css_load_buffer_state
63
#endif
64
65
#ifdef yy_switch_to_buffer
66
#define css_switch_to_buffer_ALREADY_DEFINED
67
#else
68
8.20k
#define yy_switch_to_buffer css_switch_to_buffer
69
#endif
70
71
#ifdef yypush_buffer_state
72
#define csspush_buffer_state_ALREADY_DEFINED
73
#else
74
#define yypush_buffer_state csspush_buffer_state
75
#endif
76
77
#ifdef yypop_buffer_state
78
#define csspop_buffer_state_ALREADY_DEFINED
79
#else
80
0
#define yypop_buffer_state csspop_buffer_state
81
#endif
82
83
#ifdef yyensure_buffer_stack
84
#define cssensure_buffer_stack_ALREADY_DEFINED
85
#else
86
8.20k
#define yyensure_buffer_stack cssensure_buffer_stack
87
#endif
88
89
#ifdef yylex
90
#define csslex_ALREADY_DEFINED
91
#else
92
#define yylex csslex
93
#endif
94
95
#ifdef yyrestart
96
#define cssrestart_ALREADY_DEFINED
97
#else
98
0
#define yyrestart cssrestart
99
#endif
100
101
#ifdef yylex_init
102
#define csslex_init_ALREADY_DEFINED
103
#else
104
#define yylex_init csslex_init
105
#endif
106
107
#ifdef yylex_init_extra
108
#define csslex_init_extra_ALREADY_DEFINED
109
#else
110
#define yylex_init_extra csslex_init_extra
111
#endif
112
113
#ifdef yylex_destroy
114
#define csslex_destroy_ALREADY_DEFINED
115
#else
116
#define yylex_destroy csslex_destroy
117
#endif
118
119
#ifdef yyget_debug
120
#define cssget_debug_ALREADY_DEFINED
121
#else
122
#define yyget_debug cssget_debug
123
#endif
124
125
#ifdef yyset_debug
126
#define cssset_debug_ALREADY_DEFINED
127
#else
128
#define yyset_debug cssset_debug
129
#endif
130
131
#ifdef yyget_extra
132
#define cssget_extra_ALREADY_DEFINED
133
#else
134
#define yyget_extra cssget_extra
135
#endif
136
137
#ifdef yyset_extra
138
#define cssset_extra_ALREADY_DEFINED
139
#else
140
0
#define yyset_extra cssset_extra
141
#endif
142
143
#ifdef yyget_in
144
#define cssget_in_ALREADY_DEFINED
145
#else
146
#define yyget_in cssget_in
147
#endif
148
149
#ifdef yyset_in
150
#define cssset_in_ALREADY_DEFINED
151
#else
152
#define yyset_in cssset_in
153
#endif
154
155
#ifdef yyget_out
156
#define cssget_out_ALREADY_DEFINED
157
#else
158
#define yyget_out cssget_out
159
#endif
160
161
#ifdef yyset_out
162
#define cssset_out_ALREADY_DEFINED
163
#else
164
#define yyset_out cssset_out
165
#endif
166
167
#ifdef yyget_leng
168
#define cssget_leng_ALREADY_DEFINED
169
#else
170
#define yyget_leng cssget_leng
171
#endif
172
173
#ifdef yyget_text
174
#define cssget_text_ALREADY_DEFINED
175
#else
176
#define yyget_text cssget_text
177
#endif
178
179
#ifdef yyget_lineno
180
#define cssget_lineno_ALREADY_DEFINED
181
#else
182
#define yyget_lineno cssget_lineno
183
#endif
184
185
#ifdef yyset_lineno
186
#define cssset_lineno_ALREADY_DEFINED
187
#else
188
#define yyset_lineno cssset_lineno
189
#endif
190
191
#ifdef yyget_column
192
#define cssget_column_ALREADY_DEFINED
193
#else
194
#define yyget_column cssget_column
195
#endif
196
197
#ifdef yyset_column
198
#define cssset_column_ALREADY_DEFINED
199
#else
200
#define yyset_column cssset_column
201
#endif
202
203
#ifdef yywrap
204
#define csswrap_ALREADY_DEFINED
205
#else
206
345k
#define yywrap csswrap
207
#endif
208
209
#ifdef yyget_lval
210
#define cssget_lval_ALREADY_DEFINED
211
#else
212
#define yyget_lval cssget_lval
213
#endif
214
215
#ifdef yyset_lval
216
#define cssset_lval_ALREADY_DEFINED
217
#else
218
#define yyset_lval cssset_lval
219
#endif
220
221
#ifdef yyalloc
222
#define cssalloc_ALREADY_DEFINED
223
#else
224
32.8k
#define yyalloc cssalloc
225
#endif
226
227
#ifdef yyrealloc
228
#define cssrealloc_ALREADY_DEFINED
229
#else
230
0
#define yyrealloc cssrealloc
231
#endif
232
233
#ifdef yyfree
234
#define cssfree_ALREADY_DEFINED
235
#else
236
41.0k
#define yyfree cssfree
237
#endif
238
239
/* First, we deal with  platform-specific or compiler-specific issues. */
240
241
/* begin standard C headers. */
242
#include <stdio.h>
243
#include <string.h>
244
#include <errno.h>
245
#include <stdlib.h>
246
247
/* end standard C headers. */
248
249
/* flex integer type definitions */
250
251
#ifndef FLEXINT_H
252
#define FLEXINT_H
253
254
/* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
255
256
#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
257
258
/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
259
 * if you want the limit (max/min) macros for int types. 
260
 */
261
#ifndef __STDC_LIMIT_MACROS
262
#define __STDC_LIMIT_MACROS 1
263
#endif
264
265
#include <inttypes.h>
266
typedef int8_t flex_int8_t;
267
typedef uint8_t flex_uint8_t;
268
typedef int16_t flex_int16_t;
269
typedef uint16_t flex_uint16_t;
270
typedef int32_t flex_int32_t;
271
typedef uint32_t flex_uint32_t;
272
#else
273
typedef signed char flex_int8_t;
274
typedef short int flex_int16_t;
275
typedef int flex_int32_t;
276
typedef unsigned char flex_uint8_t; 
277
typedef unsigned short int flex_uint16_t;
278
typedef unsigned int flex_uint32_t;
279
280
/* Limits of integral types. */
281
#ifndef INT8_MIN
282
#define INT8_MIN               (-128)
283
#endif
284
#ifndef INT16_MIN
285
#define INT16_MIN              (-32767-1)
286
#endif
287
#ifndef INT32_MIN
288
#define INT32_MIN              (-2147483647-1)
289
#endif
290
#ifndef INT8_MAX
291
#define INT8_MAX               (127)
292
#endif
293
#ifndef INT16_MAX
294
#define INT16_MAX              (32767)
295
#endif
296
#ifndef INT32_MAX
297
#define INT32_MAX              (2147483647)
298
#endif
299
#ifndef UINT8_MAX
300
#define UINT8_MAX              (255U)
301
#endif
302
#ifndef UINT16_MAX
303
#define UINT16_MAX             (65535U)
304
#endif
305
#ifndef UINT32_MAX
306
#define UINT32_MAX             (4294967295U)
307
#endif
308
309
#ifndef SIZE_MAX
310
#define SIZE_MAX               (~(size_t)0)
311
#endif
312
313
#endif /* ! C99 */
314
315
#endif /* ! FLEXINT_H */
316
317
/* begin standard C++ headers. */
318
319
/* TODO: this is always defined, so inline it */
320
#define yyconst const
321
322
#if defined(__GNUC__) && __GNUC__ >= 3
323
#define yynoreturn __attribute__((__noreturn__))
324
#else
325
#define yynoreturn
326
#endif
327
328
/* Returned upon end-of-file. */
329
345k
#define YY_NULL 0
330
331
/* Promotes a possibly negative, possibly signed char to an
332
 *   integer in range [0..255] for use as an array index.
333
 */
334
77.7M
#define YY_SC_TO_UI(c) ((YY_CHAR) (c))
335
336
/* An opaque pointer. */
337
#ifndef YY_TYPEDEF_YY_SCANNER_T
338
#define YY_TYPEDEF_YY_SCANNER_T
339
typedef void* yyscan_t;
340
#endif
341
342
/* For convenience, these vars (plus the bison vars far below)
343
   are macros in the reentrant scanner. */
344
57.3k
#define yyin yyg->yyin_r
345
32.8k
#define yyout yyg->yyout_r
346
0
#define yyextra yyg->yyextra_r
347
1.75M
#define yyleng yyg->yyleng_r
348
1.15M
#define yytext yyg->yytext_r
349
0
#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno)
350
0
#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column)
351
0
#define yy_flex_debug yyg->yy_flex_debug_r
352
353
/* Enter a start condition.  This macro really ought to take a parameter,
354
 * but we do it the disgusting crufty way forced on us by the ()-less
355
 * definition of BEGIN.
356
 */
357
#define BEGIN yyg->yy_start = 1 + 2 *
358
/* Translate the current start state into a value that can be later handed
359
 * to BEGIN to return to the state.  The YYSTATE alias is for lex
360
 * compatibility.
361
 */
362
#define YY_START ((yyg->yy_start - 1) / 2)
363
#define YYSTATE YY_START
364
/* Action number for EOF rule of a given start state. */
365
690k
#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
366
/* Special action meaning "start processing a new file". */
367
0
#define YY_NEW_FILE yyrestart( yyin , yyscanner )
368
32.8k
#define YY_END_OF_BUFFER_CHAR 0
369
370
/* Size of default input buffer. */
371
#ifndef YY_BUF_SIZE
372
#ifdef __ia64__
373
/* On IA-64, the buffer size is 16k, not 8k.
374
 * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
375
 * Ditto for the __ia64__ case accordingly.
376
 */
377
#define YY_BUF_SIZE 32768
378
#else
379
0
#define YY_BUF_SIZE 16384
380
#endif /* __ia64__ */
381
#endif
382
383
/* The state buf must be large enough to hold one state per character in the main buffer.
384
 */
385
#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
386
387
#ifndef YY_TYPEDEF_YY_BUFFER_STATE
388
#define YY_TYPEDEF_YY_BUFFER_STATE
389
typedef struct yy_buffer_state *YY_BUFFER_STATE;
390
#endif
391
392
#ifndef YY_TYPEDEF_YY_SIZE_T
393
#define YY_TYPEDEF_YY_SIZE_T
394
typedef size_t yy_size_t;
395
#endif
396
397
0
#define EOB_ACT_CONTINUE_SCAN 0
398
690k
#define EOB_ACT_END_OF_FILE 1
399
25.3k
#define EOB_ACT_LAST_MATCH 2
400
    
401
    #define YY_LESS_LINENO(n)
402
    #define YY_LINENO_REWIND_TO(ptr)
403
    
404
/* Return all but the first "n" matched characters back to the input stream. */
405
#define yyless(n) \
406
  do \
407
    { \
408
    /* Undo effects of setting up yytext. */ \
409
        int yyless_macro_arg = (n); \
410
        YY_LESS_LINENO(yyless_macro_arg);\
411
    *yy_cp = yyg->yy_hold_char; \
412
    YY_RESTORE_YY_MORE_OFFSET \
413
    yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
414
    YY_DO_BEFORE_ACTION; /* set up yytext again */ \
415
    } \
416
  while ( 0 )
417
#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner )
418
419
#ifndef YY_STRUCT_YY_BUFFER_STATE
420
#define YY_STRUCT_YY_BUFFER_STATE
421
struct yy_buffer_state
422
  {
423
  FILE *yy_input_file;
424
425
  char *yy_ch_buf;    /* input buffer */
426
  char *yy_buf_pos;   /* current position in input buffer */
427
428
  /* Size of input buffer in bytes, not including room for EOB
429
   * characters.
430
   */
431
  int yy_buf_size;
432
433
  /* Number of characters read into yy_ch_buf, not including EOB
434
   * characters.
435
   */
436
  int yy_n_chars;
437
438
  /* Whether we "own" the buffer - i.e., we know we created it,
439
   * and can realloc() it to grow it, and should free() it to
440
   * delete it.
441
   */
442
  int yy_is_our_buffer;
443
444
  /* Whether this is an "interactive" input source; if so, and
445
   * if we're using stdio for input, then we want to use getc()
446
   * instead of fread(), to make sure we stop fetching input after
447
   * each newline.
448
   */
449
  int yy_is_interactive;
450
451
  /* Whether we're considered to be at the beginning of a line.
452
   * If so, '^' rules will be active on the next match, otherwise
453
   * not.
454
   */
455
  int yy_at_bol;
456
457
    int yy_bs_lineno; /**< The line count. */
458
    int yy_bs_column; /**< The column count. */
459
460
  /* Whether to try to fill the input buffer when we reach the
461
   * end of it.
462
   */
463
  int yy_fill_buffer;
464
465
  int yy_buffer_status;
466
467
366k
#define YY_BUFFER_NEW 0
468
8.16k
#define YY_BUFFER_NORMAL 1
469
  /* When an EOF's been seen but there's still some text to process
470
   * then we mark the buffer as YY_EOF_PENDING, to indicate that we
471
   * shouldn't try reading from the input source any more.  We might
472
   * still have a bunch of tokens to match, though, because of
473
   * possible backing-up.
474
   *
475
   * When we actually see the EOF, we change the status to "new"
476
   * (via yyrestart()), so that the user can continue scanning by
477
   * just pointing yyin at a new input file.
478
   */
479
0
#define YY_BUFFER_EOF_PENDING 2
480
481
  };
482
#endif /* !YY_STRUCT_YY_BUFFER_STATE */
483
484
/* We provide macros for accessing buffer states in case in the
485
 * future we want to put the buffer states in a more general
486
 * "scanner state".
487
 *
488
 * Returns the top of the stack, or NULL.
489
 */
490
41.0k
#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \
491
41.0k
                          ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \
492
41.0k
                          : NULL)
493
/* Same as previous macro, but useful when we know that the buffer stack is not
494
 * NULL or when we need an lvalue. For internal use only.
495
 */
496
1.89M
#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top]
497
498
void yyrestart ( FILE *input_file , yyscan_t yyscanner );
499
void yy_switch_to_buffer ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
500
YY_BUFFER_STATE yy_create_buffer ( FILE *file, int size , yyscan_t yyscanner );
501
void yy_delete_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
502
void yy_flush_buffer ( YY_BUFFER_STATE b , yyscan_t yyscanner );
503
void yypush_buffer_state ( YY_BUFFER_STATE new_buffer , yyscan_t yyscanner );
504
void yypop_buffer_state ( yyscan_t yyscanner );
505
506
static void yyensure_buffer_stack ( yyscan_t yyscanner );
507
static void yy_load_buffer_state ( yyscan_t yyscanner );
508
static void yy_init_buffer ( YY_BUFFER_STATE b, FILE *file , yyscan_t yyscanner );
509
#define YY_FLUSH_BUFFER yy_flush_buffer( YY_CURRENT_BUFFER , yyscanner)
510
511
YY_BUFFER_STATE yy_scan_buffer ( char *base, yy_size_t size , yyscan_t yyscanner );
512
YY_BUFFER_STATE yy_scan_string ( const char *yy_str , yyscan_t yyscanner );
513
YY_BUFFER_STATE yy_scan_bytes ( const char *bytes, int len , yyscan_t yyscanner );
514
515
void *yyalloc ( yy_size_t , yyscan_t yyscanner );
516
void *yyrealloc ( void *, yy_size_t , yyscan_t yyscanner );
517
void yyfree ( void * , yyscan_t yyscanner );
518
519
#define yy_new_buffer yy_create_buffer
520
#define yy_set_interactive(is_interactive) \
521
  { \
522
  if ( ! YY_CURRENT_BUFFER ){ \
523
        yyensure_buffer_stack (yyscanner); \
524
    YY_CURRENT_BUFFER_LVALUE =    \
525
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
526
  } \
527
  YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
528
  }
529
#define yy_set_bol(at_bol) \
530
  { \
531
  if ( ! YY_CURRENT_BUFFER ){\
532
        yyensure_buffer_stack (yyscanner); \
533
    YY_CURRENT_BUFFER_LVALUE =    \
534
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner); \
535
  } \
536
  YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
537
  }
538
#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
539
540
345k
#define csswrap(yyscanner) (/*CONSTCOND*/1)
541
#define YY_SKIP_YYWRAP
542
typedef flex_uint8_t YY_CHAR;
543
544
typedef int yy_state_type;
545
546
3.21M
#define yytext_ptr yytext_r
547
548
static yy_state_type yy_get_previous_state ( yyscan_t yyscanner );
549
static yy_state_type yy_try_NUL_trans ( yy_state_type current_state  , yyscan_t yyscanner);
550
static int yy_get_next_buffer ( yyscan_t yyscanner );
551
static void yynoreturn yy_fatal_error ( const char* msg , yyscan_t yyscanner );
552
553
/* Done after the current pattern has been matched and before the
554
 * corresponding action - sets up yytext.
555
 */
556
#define YY_DO_BEFORE_ACTION \
557
1.75M
  yyg->yytext_ptr = yy_bp; \
558
1.75M
  yyleng = (int) (yy_cp - yy_bp); \
559
1.75M
  yyg->yy_hold_char = *yy_cp; \
560
1.75M
  *yy_cp = '\0'; \
561
1.75M
  yyg->yy_c_buf_p = yy_cp;
562
#define YY_NUM_RULES 40
563
1.04M
#define YY_END_OF_BUFFER 41
564
/* This struct is not used in this scanner,
565
   but its presence is necessary. */
566
struct yy_trans_info
567
  {
568
  flex_int32_t yy_verify;
569
  flex_int32_t yy_nxt;
570
  };
571
static const flex_int16_t yy_accept[286] =
572
    {   0,
573
        0,    0,   41,   39,    1,    1,   39,   39,   39,   39,
574
       39,   39,   39,   39,   39,   31,   39,   39,   11,   11,
575
       39,   39,   39,   39,    1,    0,    0,   10,    0,   36,
576
       36,   35,    0,    8,    0,    0,    9,    0,   11,    0,
577
       31,    0,   30,    0,    0,   31,   29,   29,   29,   29,
578
       29,   29,   29,   29,   29,   29,   29,   26,    0,    0,
579
        0,   34,   11,    0,    0,   11,   11,   11,    7,    6,
580
        5,    0,    0,    0,   10,    0,    0,    0,   35,    0,
581
       35,   35,    0,    0,   10,    0,    0,    4,    0,    0,
582
       29,    0,   17,   29,   14,   15,   29,   27,   19,   29,
583
584
       18,   25,   21,   20,   16,   29,   29,   29,    0,    0,
585
       11,   11,   37,   37,   11,   11,    0,    0,    0,   36,
586
       36,   35,   35,   35,    0,    0,    0,    0,    2,   29,
587
       29,   22,   29,   28,   23,   29,    3,    0,   11,    0,
588
       37,   37,   37,   34,   11,    0,    0,   36,   35,   35,
589
        0,    0,    0,    0,    0,    2,   29,   24,   29,    0,
590
       11,   38,   37,   37,   37,   37,    0,    0,    0,    0,
591
       33,    0,   11,    0,    0,   36,   35,   35,    0,    0,
592
       29,   29,    0,   11,   38,   37,   37,   37,   37,   37,
593
        0,    0,    0,    0,    0,    0,    0,    0,    0,   33,
594
595
        0,    0,   11,    0,    0,   36,   35,   35,    0,   29,
596
       29,    0,   11,   38,   37,   37,   37,   37,   37,   37,
597
        0,   32,    0,    0,    0,    0,    0,    0,    0,    0,
598
        0,    0,    0,   11,    0,    0,   36,   35,   35,    0,
599
       29,   29,    0,   11,   38,   37,   37,   37,   37,   37,
600
       37,   37,    0,   32,    0,    0,    0,   32,    0,    0,
601
        0,    0,   36,   35,   29,    0,   38,    0,    0,    0,
602
        0,   12,   38,    0,    0,    0,    0,    0,    0,    0,
603
        0,    0,    0,   13,    0
604
    } ;
605
606
static const YY_CHAR yy_ec[256] =
607
    {   0,
608
        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
609
        1,    4,    5,    1,    1,    1,    1,    1,    1,    1,
610
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
611
        1,    6,    7,    8,    9,   10,   11,   12,   13,   14,
612
       15,   16,   17,   12,   18,   19,   20,   21,   21,   21,
613
       21,   21,   21,   21,   21,   21,   21,   12,   12,   22,
614
       23,   24,   25,   26,   27,   28,   29,   30,   31,   32,
615
       33,   34,   35,   36,   37,   38,   39,   40,   41,   42,
616
       36,   43,   44,   45,   46,   36,   47,   48,   36,   49,
617
       12,   50,   12,   51,   12,   12,   52,   28,   53,   54,
618
619
       55,   56,   57,   58,   59,   36,   60,   61,   62,   63,
620
       64,   65,   36,   66,   67,   68,   69,   36,   70,   71,
621
       36,   72,   73,   74,   75,   76,    1,   77,   77,   77,
622
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
623
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
624
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
625
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
626
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
627
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
628
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
629
630
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
631
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
632
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
633
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
634
       77,   77,   77,   77,   77,   77,   77,   77,   77,   77,
635
       77,   77,   77,   77,   77
636
    } ;
637
638
static const YY_CHAR yy_meta[78] =
639
    {   0,
640
        1,    2,    3,    3,    3,    4,    4,    4,    4,    4,
641
        4,    4,    4,    5,    4,    4,    4,    6,    4,    4,
642
        7,    4,    4,    4,    8,    4,    9,    9,    9,    9,
643
        9,    9,   10,   10,   10,   10,   10,   10,   10,   10,
644
       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
645
        4,    9,    9,    9,    9,    9,   10,   10,   10,   10,
646
       10,   10,   10,   10,   10,   10,   10,   10,   10,   10,
647
       10,   10,    4,    4,    4,    4,   10
648
    } ;
649
650
static const flex_int16_t yy_base[329] =
651
    {   0,
652
        0,    0,  636, 4020,   76,   81,  561,   80,   71,  610,
653
       77,  609,   73,  610,  614,  120,  622,   61,   82,  179,
654
      225,  604,  591,  590,   95,   48,   86, 4020,  280,   84,
655
      562,  561,  316, 4020,   90,  371, 4020,  584,   92,  407,
656
       88,  580, 4020,  535,  562,    0,  532,   75,  163,  159,
657
       69,   61,  160,   70,  164,  190,  175,  531,  443,  561,
658
       81, 4020,   94,  479,  552,  198,  187,  534, 4020, 4020,
659
     4020,  501,  121,  191,  197,  589,  644,  680,  525,  716,
660
      524,  771,  221,  182,  215,  826,  881, 4020,  556,  195,
661
      509,  917,  508,  216,  507,  506,  212,  497,  496,  218,
662
663
      472,  471,  470,  469,  467,  220,  455,  972,  486,  223,
664
      192, 1027,  226,  478,  219, 1063,  237,  252, 1099,  451,
665
     1154,  444, 1209, 1245,  263, 1281,  477,  200, 4020,  438,
666
     1336,  436,  245,  435,  434, 1372, 4020,  246, 1408,    0,
667
      269,  443,  442,  313, 1444,  258, 1480, 1516, 1552, 1588,
668
     1624,  450,  273,  437,  284,  434, 1660,  390, 1696,  369,
669
     1732,    0,  280,  331,  317,  314,  347,  402,  314,  279,
670
     4020, 1787, 1823,  289, 1859, 1895, 1931, 1967, 2003,  307,
671
     2039, 2075,  309, 2111,    0,  341,  299,  281,  192,  179,
672
      375,  317,  427, 2166,  290, 2221,  441,  474,  510,  565,
673
674
     2276, 2331, 2367,  297, 2403, 2439, 2475, 2511, 2547, 2583,
675
     2619,  330, 2655,    0,  368,  121,  118,  101,   91,   90,
676
      539, 4020,  408,  401,  620, 2710, 2765,  452,  345,  653,
677
     2820, 2875, 2930, 2966,  346, 3002, 3038, 3074, 3110, 3146,
678
     3182, 3218,  365,  524,    0,   95, 4020, 4020, 4020, 4020,
679
     4020, 4020,  675,  433,  440, 3254,  711,  370,  372, 3290,
680
     3326,  346, 3362,  547,  596,  426,    0, 3398, 3434, 3470,
681
      361, 4020, 4020, 3506, 3542, 3578,  356, 3614, 3650, 3686,
682
      424,  601,  716, 4020, 4020, 3741, 3746, 3755, 3760, 3766,
683
     3773, 3782, 3787, 3792, 3799, 3808, 3818, 3820, 3825, 3832,
684
685
     3839, 3843, 3849, 3856, 3866, 3873, 3878, 3882, 3892, 3902,
686
     3906, 3910, 3918, 3928, 3932, 3936, 3944, 3953, 3962, 3966,
687
     3970, 3978, 3987, 3991, 3995, 4003, 4007, 4010
688
    } ;
689
690
static const flex_int16_t yy_def[329] =
691
    {   0,
692
      285,    1,  285,  285,  285,  285,  285,  286,  287,  285,
693
      288,  285,  289,  285,  285,  285,  285,  285,  290,  290,
694
      291,  285,  285,  285,  285,  285,  286,  285,  292,  287,
695
      293,  294,  295,  285,  288,  296,  285,  285,  290,  291,
696
       16,  297,  285,  298,  285,   16,  299,  299,  299,  299,
697
      299,  299,  299,  299,  299,  299,  299,  299,  300,  285,
698
      285,  285,  290,  301,  302,  290,  290,  290,  285,  285,
699
      285,  285,  286,  286,  286,  286,  292,  303,  294,  304,
700
      294,  294,  288,  288,  288,  288,  296,  285,  297,  305,
701
      299,  306,  299,  299,  299,  299,  299,  299,  299,  299,
702
703
      299,  299,  299,  299,  299,  299,  299,  299,  285,  285,
704
      290,   68,  307,  285,  290,   68,  285,  286,   76,  308,
705
      308,  294,   82,   82,  288,   86,  309,  310,  285,  299,
706
      108,  299,  299,  299,  299,  108,  285,  285,  112,  311,
707
      312,  285,  285,  313,   68,  285,   76,  121,  123,   82,
708
       86,  309,  314,  309,  310,  309,  131,  299,  108,  285,
709
      112,  315,  316,  285,  285,  285,  313,  313,  317,  318,
710
      285,  319,   68,  285,   76,  121,  123,   82,   86,  310,
711
      131,  108,  285,  112,  320,  321,  285,  285,  285,  285,
712
      285,  317,  285,  322,  318,  323,  313,  313,  313,  313,
713
714
      313,  319,  173,  285,   76,  121,  123,   82,   86,  131,
715
      108,  285,  112,  324,  325,  285,  285,  285,  285,  285,
716
      285,  285,  317,  317,  317,  317,  322,  318,  318,  318,
717
      318,  326,  313,  203,  285,   76,  121,  123,   82,   86,
718
      131,  108,  285,  234,  327,  285,  285,  285,  285,  285,
719
      285,  285,  317,  317,  317,  226,  318,  318,  318,  231,
720
      233,  285,  121,  239,  242,  285,  328,  226,  231,  233,
721
      285,  285,  285,  226,  231,  233,  285,  226,  231,  233,
722
      285,  317,  318,  285,    0,  285,  285,  285,  285,  285,
723
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
724
725
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
726
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
727
      285,  285,  285,  285,  285,  285,  285,  285
728
    } ;
729
730
static const flex_int16_t yy_nxt[4098] =
731
    {   0,
732
        4,    5,    6,    5,    5,    5,    7,    8,    9,   10,
733
        4,    4,   11,    4,    4,   12,    4,   13,   14,   15,
734
       16,   17,    4,    4,    4,   18,   19,   19,   19,   19,
735
       19,   19,   19,   19,   19,   19,   19,   19,   19,   19,
736
       19,   19,   19,   19,   19,   20,   19,   19,   19,   21,
737
       22,   19,   19,   19,   19,   19,   19,   19,   19,   19,
738
       19,   19,   19,   19,   19,   19,   19,   19,   20,   19,
739
       19,   19,    4,   23,    4,   24,   19,   25,   25,   25,
740
       25,   25,   25,   25,   25,   25,   25,   28,   30,   28,
741
       38,   31,   61,   28,   72,   62,   25,   25,   25,   25,
742
743
       25,   31,   28,  100,   31,   62,  285,   62,   41,   98,
744
       92,   97,  140,   93,  252,  251,   61,   72,   92,   92,
745
       33,  110,   40,   27,   92,  250,   36,  100,   28,   29,
746
       43,   64,   98,   33,   97,   29,   93,   44,   45,   36,
747
       46,   64,  249,   64,  110,  248,   47,   47,   48,   49,
748
       50,   47,   51,   52,   53,   47,   54,   47,   55,   47,
749
       47,   56,   57,   58,   47,   47,   47,   47,   47,   59,
750
       29,   47,   48,   49,   50,   47,   51,   52,   53,   54,
751
       47,   55,   47,   47,   56,   57,   58,   47,   47,   47,
752
       47,   47,   62,   94,   28,   65,   47,   95,   28,   99,
753
754
       62,  106,  101,  220,   28,   62,   96,  102,   92,   92,
755
      128,   62,   92,   92,  129,  155,  219,   94,  103,  156,
756
       95,   66,   99,   35,   92,  101,  106,   28,   64,   96,
757
      102,   36,  144,   28,  104,  115,   64,  105,  133,   92,
758
       29,   64,  103,  140,   66,   68,   29,   64,  132,  135,
759
      142,   68,   68,   68,   68,   68,   68,  104,  115,   28,
760
      105,   92,  138,  133,   36,   92,  134,   92,   64,   92,
761
       36,  146,  132,  135,  158,   28,   68,   68,   68,   68,
762
       68,   27,   27,   27,   73,  138,  140,   75,  180,  134,
763
      160,  193,  129,  164,   92,  146,  174,  140,  158,  155,
764
765
       76,   29,  193,  156,  187,  218,   76,   76,   76,   76,
766
       76,   76,   36,  160,  167,  167,  167,  167,  167,  174,
767
      169,  193,  180,  217,  193,  170,  156,  171,  196,   77,
768
      204,   76,   76,   76,   76,   76,   82,  235,  190,  196,
769
      212,  189,   82,   82,   82,   82,   82,   82,  167,  167,
770
      167,  167,  167,  204,  169,  188,  243,  193,  140,  170,
771
      235,  171,  172,  194,  212,  216,  194,   82,   82,   82,
772
       82,   82,   35,   35,   35,   83,  191,  191,  191,  191,
773
      191,  243,  193,   85,  193,  140,  183,  277,  262,  171,
774
      271,   86,  247,  266,  196,  281,  172,   86,   86,   86,
775
776
       86,   86,   86,  191,  191,  191,  191,  191,  193,  285,
777
      192,  262,  277,  271,  285,  193,  171,  266,  281,  196,
778
       87,  196,   86,   86,   86,   86,   86,   68,  221,  221,
779
      221,  221,  221,   68,   68,   68,   68,   68,   68,   92,
780
      193,  222,  191,  191,  191,  191,  191,  193,  285,  153,
781
      194,  172,  153,  285,  195,  171,  272,  194,   68,   68,
782
       68,   68,   68,  108,  193,  153,  166,  165,  284,  108,
783
      108,  108,  108,  108,  108,  191,  191,  191,  191,  191,
784
      272,  285,  194,   92,   92,   92,  285,   92,  171,  194,
785
      172,  284,  153,   80,  108,  108,  108,  108,  108,  112,
786
787
       78,  196,  143,  137,   92,  112,  112,  112,  112,  112,
788
      112,  191,  191,  191,  191,  191,   92,  285,   92,   92,
789
       92,   92,  285,  172,  171,  111,  111,  111,  111,  111,
790
      112,  112,  112,  112,  112,   67,   67,   67,   67,   67,
791
      221,  221,  221,  221,  221,   92,   92,   62,  122,  122,
792
      122,  122,  122,  222,  116,   92,   92,   92,   92,  172,
793
      116,  116,  116,  116,  116,  116,  191,  191,  191,  191,
794
      191,   90,  285,   80,   80,  117,  114,  285,  109,  171,
795
       92,   92,   41,   64,   59,  116,  116,  116,  116,  116,
796
       74,  118,  118,  118,   74,   90,   28,  130,  130,  130,
797
798
      130,  130,  224,  255,  255,  255,  224,   88,  193,  119,
799
       80,   78,   71,   70,  172,  119,  119,  119,  119,  119,
800
      119,  253,  221,  221,  221,  253,   69,  193,   60,   42,
801
       41,   37,   34,   26,  254,  285,  285,  285,   29,  285,
802
      119,  119,  119,  119,  119,   27,   27,   27,   73,  285,
803
      194,   75,  285,  285,  257,  221,  221,  221,  257,  285,
804
      285,  285,  285,  285,   76,  193,  285,  258,  285,  194,
805
       76,   76,   76,   76,   76,   76,  253,  221,  221,  221,
806
      253,  285,  193,  285,  285,  285,  285,  285,  285,  254,
807
      285,  285,  285,   77,  285,   76,   76,   76,   76,   76,
808
809
      121,  285,  196,  285,  285,  285,  121,  121,  121,  121,
810
      121,  121,  257,  221,  221,  221,  257,  229,  259,  259,
811
      259,  229,  285,  193,  194,  258,  285,  285,  193,  285,
812
      285,  121,  121,  121,  121,  121,  123,  285,  285,  285,
813
      285,  285,  123,  123,  123,  123,  123,  123,  285,  285,
814
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
815
      196,  285,  285,  285,  285,  196,  285,  123,  123,  123,
816
      123,  123,   81,   81,   81,   81,   81,  285,  285,  285,
817
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
818
      285,  124,  285,  285,  285,  285,  285,  124,  124,  124,
819
820
      124,  124,  124,  285,  285,  285,  285,  285,  285,  285,
821
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
822
       80,  285,  124,  124,  124,  124,  124,   84,  125,  125,
823
      125,   84,  285,  285,  285,  285,  285,  285,   28,  285,
824
      285,  285,  285,  285,  285,  285,  126,  285,  285,  285,
825
      285,  285,  126,  126,  126,  126,  126,  126,  285,  285,
826
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
827
      285,  285,  285,  285,  285,   36,  285,  126,  126,  126,
828
      126,  126,   35,   35,   35,   83,  285,  285,  285,  285,
829
      285,  285,  285,   85,  285,  285,  285,  285,  285,  285,
830
831
      285,   86,  285,  285,  285,  285,  285,   86,   86,   86,
832
       86,   86,   86,  285,  285,  285,  285,  285,  285,  285,
833
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
834
       87,  285,   86,   86,   86,   86,   86,  131,  285,  285,
835
      285,  285,  285,  131,  131,  131,  131,  131,  131,  285,
836
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
837
      285,  285,  285,  285,  285,  285,  285,  285,  131,  131,
838
      131,  131,  131,  107,  107,  107,  107,  107,  285,  285,
839
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
840
      285,  285,  136,  285,  285,  285,  285,  285,  136,  136,
841
842
      136,  136,  136,  136,  285,  285,  285,  285,  285,  285,
843
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
844
      285,   92,  285,  136,  136,  136,  136,  136,  111,  111,
845
      111,  111,  111,  285,  285,  285,  285,  285,  285,  285,
846
      285,  285,  285,  285,  285,  285,  285,  139,  285,  285,
847
      285,  285,  285,  139,  139,  139,  139,  139,  139,  285,
848
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
849
      285,  285,  285,  285,  285,  285,  285,  285,  139,  139,
850
      139,  139,  139,  145,  285,  285,  285,  285,  285,  145,
851
      145,  145,  145,  145,  145,  285,  285,  285,  285,  285,
852
853
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
854
      285,  285,  285,  285,  145,  145,  145,  145,  145,  147,
855
      285,  285,  285,  285,  285,  147,  147,  147,  147,  147,
856
      147,  285,  285,  285,  285,  285,  285,  285,  285,  285,
857
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
858
      147,  147,  147,  147,  147,  120,  120,  120,  120,  120,
859
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
860
      285,  285,  285,  285,  148,  285,  285,  285,  285,  285,
861
      148,  148,  148,  148,  148,  148,  285,  285,  285,  285,
862
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
863
864
      285,  285,  285,   78,  285,  148,  148,  148,  148,  148,
865
      122,  122,  122,  122,  122,  285,  285,  285,  285,  285,
866
      285,  285,  285,  285,  285,  285,  285,  285,  285,  149,
867
      285,  285,  285,  285,  285,  149,  149,  149,  149,  149,
868
      149,  285,  285,  285,  285,  285,  285,  285,  285,  285,
869
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
870
      149,  149,  149,  149,  149,  150,  285,  285,  285,  285,
871
      285,  150,  150,  150,  150,  150,  150,  285,  285,  285,
872
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
873
      285,  285,  285,  285,  285,  285,  150,  150,  150,  150,
874
875
      150,  151,  285,  285,  285,  285,  285,  151,  151,  151,
876
      151,  151,  151,  285,  285,  285,  285,  285,  285,  285,
877
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
878
      285,  285,  151,  151,  151,  151,  151,  130,  130,  130,
879
      130,  130,  285,  285,  285,  285,  285,  285,  285,  285,
880
      285,  285,  285,  285,  285,  285,  157,  285,  285,  285,
881
      285,  285,  157,  157,  157,  157,  157,  157,  285,  285,
882
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
883
      285,  285,  285,  285,  285,  285,  285,  157,  157,  157,
884
      157,  157,  159,  285,  285,  285,  285,  285,  159,  159,
885
886
      159,  159,  159,  159,  285,  285,  285,  285,  285,  285,
887
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
888
      285,  285,  285,  159,  159,  159,  159,  159,  161,  285,
889
      285,  285,  285,  285,  161,  161,  161,  161,  161,  161,
890
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
891
      285,  285,  285,  285,  285,  285,  285,  285,  285,  161,
892
      161,  161,  161,  161,  173,  285,  285,  285,  285,  285,
893
      173,  173,  173,  173,  173,  173,  285,  285,  285,  285,
894
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
895
      285,  285,  285,  285,  285,  173,  173,  173,  173,  173,
896
897
      175,  285,  285,  285,  285,  285,  175,  175,  175,  175,
898
      175,  175,  285,  285,  285,  285,  285,  285,  285,  285,
899
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
900
      285,  175,  175,  175,  175,  175,  176,  285,  285,  285,
901
      285,  285,  176,  176,  176,  176,  176,  176,  285,  285,
902
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
903
      285,  285,  285,  285,  285,  285,  285,  176,  176,  176,
904
      176,  176,  177,  285,  285,  285,  285,  285,  177,  177,
905
      177,  177,  177,  177,  285,  285,  285,  285,  285,  285,
906
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
907
908
      285,  285,  285,  177,  177,  177,  177,  177,  178,  285,
909
      285,  285,  285,  285,  178,  178,  178,  178,  178,  178,
910
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
911
      285,  285,  285,  285,  285,  285,  285,  285,  285,  178,
912
      178,  178,  178,  178,  179,  285,  285,  285,  285,  285,
913
      179,  179,  179,  179,  179,  179,  285,  285,  285,  285,
914
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
915
      285,  285,  285,  285,  285,  179,  179,  179,  179,  179,
916
      181,  285,  285,  285,  285,  285,  181,  181,  181,  181,
917
      181,  181,  285,  285,  285,  285,  285,  285,  285,  285,
918
919
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
920
      285,  181,  181,  181,  181,  181,  182,  285,  285,  285,
921
      285,  285,  182,  182,  182,  182,  182,  182,  285,  285,
922
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
923
      285,  285,  285,  285,  285,  285,  285,  182,  182,  182,
924
      182,  182,  184,  285,  285,  285,  285,  285,  184,  184,
925
      184,  184,  184,  184,  285,  285,  285,  285,  285,  285,
926
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
927
      285,  285,  285,  184,  184,  184,  184,  184,  191,  191,
928
      191,  191,  197,  285,  199,  285,  285,  285,  285,  199,
929
930
      199,  200,  285,  285,  285,  285,  285,  201,  285,  285,
931
      285,  285,  285,  201,  201,  201,  201,  201,  201,  285,
932
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
933
      285,  285,  285,  285,  285,  285,  202,  285,  201,  201,
934
      201,  201,  201,  203,  285,  285,  285,  285,  285,  203,
935
      203,  203,  203,  203,  203,  285,  285,  285,  285,  285,
936
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
937
      285,  285,  285,  285,  203,  203,  203,  203,  203,  205,
938
      285,  285,  285,  285,  285,  205,  205,  205,  205,  205,
939
      205,  285,  285,  285,  285,  285,  285,  285,  285,  285,
940
941
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
942
      205,  205,  205,  205,  205,  206,  285,  285,  285,  285,
943
      285,  206,  206,  206,  206,  206,  206,  285,  285,  285,
944
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
945
      285,  285,  285,  285,  285,  285,  206,  206,  206,  206,
946
      206,  207,  285,  285,  285,  285,  285,  207,  207,  207,
947
      207,  207,  207,  285,  285,  285,  285,  285,  285,  285,
948
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
949
      285,  285,  207,  207,  207,  207,  207,  208,  285,  285,
950
      285,  285,  285,  208,  208,  208,  208,  208,  208,  285,
951
952
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
953
      285,  285,  285,  285,  285,  285,  285,  285,  208,  208,
954
      208,  208,  208,  209,  285,  285,  285,  285,  285,  209,
955
      209,  209,  209,  209,  209,  285,  285,  285,  285,  285,
956
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
957
      285,  285,  285,  285,  209,  209,  209,  209,  209,  210,
958
      285,  285,  285,  285,  285,  210,  210,  210,  210,  210,
959
      210,  285,  285,  285,  285,  285,  285,  285,  285,  285,
960
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
961
      210,  210,  210,  210,  210,  211,  285,  285,  285,  285,
962
963
      285,  211,  211,  211,  211,  211,  211,  285,  285,  285,
964
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
965
      285,  285,  285,  285,  285,  285,  211,  211,  211,  211,
966
      211,  213,  285,  285,  285,  285,  285,  213,  213,  213,
967
      213,  213,  213,  285,  285,  285,  285,  285,  285,  285,
968
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
969
      285,  285,  213,  213,  213,  213,  213,  192,  192,  192,
970
      223,  285,  285,  225,  285,  285,  285,  285,  285,  285,
971
      285,  285,  285,  285,  285,  285,  226,  285,  285,  285,
972
      285,  285,  226,  226,  226,  226,  226,  226,  285,  285,
973
974
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
975
      285,  285,  285,  285,  285,  227,  285,  226,  226,  226,
976
      226,  226,  195,  195,  195,  228,  285,  285,  285,  285,
977
      285,  285,  285,  230,  285,  285,  285,  285,  285,  285,
978
      285,  231,  285,  285,  285,  285,  285,  231,  231,  231,
979
      231,  231,  231,  285,  285,  285,  285,  285,  285,  285,
980
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
981
      232,  285,  231,  231,  231,  231,  231,  197,  197,  197,
982
      197,  197,  285,  285,  285,  285,  285,  285,  285,  285,
983
      171,  285,  285,  285,  285,  285,  233,  285,  285,  285,
984
985
      285,  285,  233,  233,  233,  233,  233,  233,  285,  285,
986
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
987
      285,  285,  285,  285,  285,  172,  285,  233,  233,  233,
988
      233,  233,  191,  191,  191,  191,  197,  285,  199,  285,
989
      285,  285,  285,  199,  199,  200,  285,  285,  285,  285,
990
      285,  201,  285,  285,  285,  285,  285,  201,  201,  201,
991
      201,  201,  201,  285,  285,  285,  285,  285,  285,  285,
992
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
993
      202,  285,  201,  201,  201,  201,  201,  234,  285,  285,
994
      285,  285,  285,  234,  234,  234,  234,  234,  234,  285,
995
996
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
997
      285,  285,  285,  285,  285,  285,  285,  285,  234,  234,
998
      234,  234,  234,  236,  285,  285,  285,  285,  285,  236,
999
      236,  236,  236,  236,  236,  285,  285,  285,  285,  285,
1000
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1001
      285,  285,  285,  285,  236,  236,  236,  236,  236,  237,
1002
      285,  285,  285,  285,  285,  237,  237,  237,  237,  237,
1003
      237,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1004
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1005
      237,  237,  237,  237,  237,  238,  285,  285,  285,  285,
1006
1007
      285,  238,  238,  238,  238,  238,  238,  285,  285,  285,
1008
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1009
      285,  285,  285,  285,  285,  285,  238,  238,  238,  238,
1010
      238,  239,  285,  285,  285,  285,  285,  239,  239,  239,
1011
      239,  239,  239,  285,  285,  285,  285,  285,  285,  285,
1012
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1013
      285,  285,  239,  239,  239,  239,  239,  240,  285,  285,
1014
      285,  285,  285,  240,  240,  240,  240,  240,  240,  285,
1015
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1016
      285,  285,  285,  285,  285,  285,  285,  285,  240,  240,
1017
1018
      240,  240,  240,  241,  285,  285,  285,  285,  285,  241,
1019
      241,  241,  241,  241,  241,  285,  285,  285,  285,  285,
1020
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1021
      285,  285,  285,  285,  241,  241,  241,  241,  241,  242,
1022
      285,  285,  285,  285,  285,  242,  242,  242,  242,  242,
1023
      242,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1024
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1025
      242,  242,  242,  242,  242,  244,  285,  285,  285,  285,
1026
      285,  244,  244,  244,  244,  244,  244,  285,  285,  285,
1027
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1028
1029
      285,  285,  285,  285,  285,  285,  244,  244,  244,  244,
1030
      244,  224,  255,  255,  255,  224,  285,  193,  285,  285,
1031
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1032
      256,  285,  285,  285,  285,  285,  256,  256,  256,  256,
1033
      256,  256,  285,  285,  285,  285,  285,  285,  285,  285,
1034
      285,  285,  285,  285,  285,  285,  285,  285,  285,  194,
1035
      285,  256,  256,  256,  256,  256,  192,  192,  192,  223,
1036
      285,  285,  225,  285,  285,  285,  285,  285,  285,  285,
1037
      285,  285,  285,  285,  285,  226,  285,  285,  285,  285,
1038
      285,  226,  226,  226,  226,  226,  226,  285,  285,  285,
1039
1040
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1041
      285,  285,  285,  285,  227,  285,  226,  226,  226,  226,
1042
      226,  229,  259,  259,  259,  229,  285,  285,  285,  285,
1043
      285,  285,  193,  285,  285,  285,  285,  285,  285,  285,
1044
      260,  285,  285,  285,  285,  285,  260,  260,  260,  260,
1045
      260,  260,  285,  285,  285,  285,  285,  285,  285,  285,
1046
      285,  285,  285,  285,  285,  285,  285,  285,  285,  196,
1047
      285,  260,  260,  260,  260,  260,  195,  195,  195,  228,
1048
      285,  285,  285,  285,  285,  285,  285,  230,  285,  285,
1049
      285,  285,  285,  285,  285,  231,  285,  285,  285,  285,
1050
1051
      285,  231,  231,  231,  231,  231,  231,  285,  285,  285,
1052
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1053
      285,  285,  285,  285,  232,  285,  231,  231,  231,  231,
1054
      231,  197,  197,  197,  197,  197,  285,  285,  285,  285,
1055
      285,  285,  285,  285,  171,  285,  285,  285,  285,  285,
1056
      261,  285,  285,  285,  285,  285,  261,  261,  261,  261,
1057
      261,  261,  285,  285,  285,  285,  285,  285,  285,  285,
1058
      285,  285,  285,  285,  285,  285,  285,  285,  285,  172,
1059
      285,  261,  261,  261,  261,  261,   63,  285,  285,  285,
1060
      285,  285,   63,   63,   63,   63,   63,   63,  285,  285,
1061
1062
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1063
      285,  285,  285,  285,  285,  285,  285,   63,   63,   63,
1064
       63,   63,   27,  285,  285,  285,  285,  285,   27,   27,
1065
       27,   27,   27,   27,  285,  285,  285,  285,  285,  285,
1066
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1067
      285,  285,  285,   27,   27,   27,   27,   27,  263,  285,
1068
      285,  285,  285,  285,  263,  263,  263,  263,  263,  263,
1069
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1070
      285,  285,  285,  285,  285,  285,  285,  285,  285,  263,
1071
      263,  263,  263,  263,  264,  285,  285,  285,  285,  285,
1072
1073
      264,  264,  264,  264,  264,  264,  285,  285,  285,  285,
1074
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1075
      285,  285,  285,  285,  285,  264,  264,  264,  264,  264,
1076
       79,  285,  285,  285,  285,  285,   79,   79,   79,   79,
1077
       79,   79,  285,  285,  285,  285,  285,  285,  285,  285,
1078
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1079
      285,   79,   79,   79,   79,   79,   35,  285,  285,  285,
1080
      285,  285,   35,   35,   35,   35,   35,   35,  285,  285,
1081
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1082
      285,  285,  285,  285,  285,  285,  285,   35,   35,   35,
1083
1084
       35,   35,  265,  285,  285,  285,  285,  285,  265,  265,
1085
      265,  265,  265,  265,  285,  285,  285,  285,  285,  285,
1086
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1087
      285,  285,  285,  265,  265,  265,  265,  265,   91,  285,
1088
      285,  285,  285,  285,   91,   91,   91,   91,   91,   91,
1089
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1090
      285,  285,  285,  285,  285,  285,  285,  285,  285,   91,
1091
       91,   91,   91,   91,  268,  285,  285,  285,  285,  285,
1092
      268,  268,  268,  268,  268,  268,  285,  285,  285,  285,
1093
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1094
1095
      285,  285,  285,  285,  285,  268,  268,  268,  268,  268,
1096
      269,  285,  285,  285,  285,  285,  269,  269,  269,  269,
1097
      269,  269,  285,  285,  285,  285,  285,  285,  285,  285,
1098
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1099
      285,  269,  269,  269,  269,  269,  270,  285,  285,  285,
1100
      285,  285,  270,  270,  270,  270,  270,  270,  285,  285,
1101
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1102
      285,  285,  285,  285,  285,  285,  285,  270,  270,  270,
1103
      270,  270,   31,  285,  285,  285,  285,  285,   31,   31,
1104
       31,   31,   31,   31,  285,  285,  285,  285,  285,  285,
1105
1106
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1107
      285,  285,  285,   31,   31,   31,   31,   31,  274,  285,
1108
      285,  285,  285,  285,  274,  274,  274,  274,  274,  274,
1109
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1110
      285,  285,  285,  285,  285,  285,  285,  285,  285,  274,
1111
      274,  274,  274,  274,  275,  285,  285,  285,  285,  285,
1112
      275,  275,  275,  275,  275,  275,  285,  285,  285,  285,
1113
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1114
      285,  285,  285,  285,  285,  275,  275,  275,  275,  275,
1115
      276,  285,  285,  285,  285,  285,  276,  276,  276,  276,
1116
1117
      276,  276,  285,  285,  285,  285,  285,  285,  285,  285,
1118
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1119
      285,  276,  276,  276,  276,  276,  278,  285,  285,  285,
1120
      285,  285,  278,  278,  278,  278,  278,  278,  285,  285,
1121
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1122
      285,  285,  285,  285,  285,  285,  285,  278,  278,  278,
1123
      278,  278,  279,  285,  285,  285,  285,  285,  279,  279,
1124
      279,  279,  279,  279,  285,  285,  285,  285,  285,  285,
1125
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1126
      285,  285,  285,  279,  279,  279,  279,  279,  280,  285,
1127
1128
      285,  285,  285,  285,  280,  280,  280,  280,  280,  280,
1129
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1130
      285,  285,  285,  285,  285,  285,  285,  285,  285,  280,
1131
      280,  280,  280,  280,  282,  285,  285,  285,  285,  285,
1132
      282,  282,  282,  282,  282,  282,  285,  285,  285,  285,
1133
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1134
      285,  285,  285,  285,  285,  282,  282,  282,  282,  282,
1135
      283,  285,  285,  285,  285,  285,  283,  283,  283,  283,
1136
      283,  283,  285,  285,  285,  285,  285,  285,  285,  285,
1137
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1138
1139
      285,  283,  283,  283,  283,  283,  168,  285,  285,  285,
1140
      285,  285,  168,  168,  168,  168,  168,  168,  285,  285,
1141
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1142
      285,  285,  285,  285,  285,  285,  285,  168,  168,  168,
1143
      168,  168,   27,  285,   27,   27,   27,   27,   27,   27,
1144
       27,   32,   32,  285,   32,   32,   35,  285,   35,   35,
1145
       35,   35,   35,   35,   35,   39,  285,  285,   39,   39,
1146
       63,   63,   63,  285,   63,   63,   67,   67,   67,   67,
1147
       67,   67,   67,   74,   74,   74,   74,   74,   74,   74,
1148
       74,   74,   31,   31,  285,   31,   31,   79,   79,  285,
1149
1150
       79,   79,   81,   81,   81,   81,   81,   81,   81,   84,
1151
       84,   84,   84,   84,   84,   84,   84,   84,   89,   89,
1152
       89,   89,   89,   89,   89,   89,   89,   89,   47,   47,
1153
       91,   91,  285,   91,   91,  107,  107,  107,  107,  107,
1154
      107,  107,  111,  111,  111,  111,  111,  111,  111,  113,
1155
      113,  113,  120,  120,  120,  120,  120,  120,  120,  122,
1156
      122,  122,  122,  122,  122,  122,  127,  127,  127,  127,
1157
      127,  127,  127,  127,  127,  127,  130,  130,  130,  130,
1158
      130,  130,  130,  141,  141,  141,  141,   31,   31,  285,
1159
       31,   31,  152,  152,  152,  152,  152,  152,  152,  152,
1160
1161
      152,  152,  154,  154,  154,  154,  154,  154,  154,  154,
1162
      154,  154,  162,  285,  162,  163,  163,  163,  163,  168,
1163
      168,  168,  285,  168,  168,  168,  168,  168,  127,  127,
1164
      127,  127,  127,  127,  127,  127,  127,  127,  185,  285,
1165
      185,  186,  186,  186,  186,  192,  285,  192,  192,  192,
1166
      192,  192,  192,  192,  195,  285,  195,  195,  195,  195,
1167
      195,  195,  195,  198,  198,  198,  198,  198,  198,  198,
1168
      198,  198,  214,  285,  214,  215,  215,  215,  215,  224,
1169
      224,  224,  224,  224,  224,  224,  224,  224,  229,  229,
1170
      229,  229,  229,  229,  229,  229,  229,  245,  285,  245,
1171
1172
      246,  246,  246,  246,  229,  229,  229,  229,  229,  229,
1173
      229,  229,  229,  267,  285,  267,  273,  285,  273,    3,
1174
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1175
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1176
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1177
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1178
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1179
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1180
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1181
      285,  285,  285,  285,  285,  285,  285
1182
1183
    } ;
1184
1185
static const flex_int16_t yy_chk[4098] =
1186
    {   0,
1187
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1188
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1189
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1190
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1191
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1192
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1193
        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
1194
        1,    1,    1,    1,    1,    1,    1,    5,    5,    5,
1195
        5,    5,    6,    6,    6,    6,    6,    8,    9,   11,
1196
       13,    9,   18,   27,   26,   19,   25,   25,   25,   25,
1197
1198
       25,   30,   35,   54,   30,   39,   41,   63,   41,   52,
1199
       52,   51,  246,   48,  220,  219,   18,   26,   51,   54,
1200
        9,   61,   13,   73,   48,  218,   11,   54,   73,    8,
1201
       16,   19,   52,   30,   51,   27,   48,   16,   16,   35,
1202
       16,   39,  217,   63,   61,  216,   16,   16,   16,   16,
1203
       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
1204
       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
1205
       73,   16,   16,   16,   16,   16,   16,   16,   16,   16,
1206
       16,   16,   16,   16,   16,   16,   16,   16,   16,   16,
1207
       16,   16,   20,   49,   84,   20,   16,   50,   74,   53,
1208
1209
       67,   57,   55,  190,   75,  111,   50,   55,   50,   53,
1210
       90,   66,   49,   55,   90,  128,  189,   49,   56,  128,
1211
       50,   20,   53,   83,   57,   55,   57,   85,   20,   50,
1212
       55,   84,  115,   83,   56,   66,   67,   56,   97,   56,
1213
       74,  111,   56,  113,   20,   21,   75,   66,   94,  106,
1214
      113,   21,   21,   21,   21,   21,   21,   56,   66,  118,
1215
       56,   97,  110,   97,   85,   94,  100,  100,  115,  106,
1216
       83,  117,   94,  106,  133,  125,   21,   21,   21,   21,
1217
       21,   29,   29,   29,   29,  110,  141,   29,  153,  100,
1218
      138,  170,  153,  141,  133,  117,  146,  163,  133,  155,
1219
1220
       29,  118,  195,  155,  163,  188,   29,   29,   29,   29,
1221
       29,   29,  125,  138,  144,  144,  144,  144,  144,  146,
1222
      144,  169,  180,  187,  192,  144,  180,  144,  170,   29,
1223
      174,   29,   29,   29,   29,   29,   33,  204,  166,  195,
1224
      183,  165,   33,   33,   33,   33,   33,   33,  167,  167,
1225
      167,  167,  167,  174,  167,  164,  212,  229,  186,  167,
1226
      204,  167,  144,  169,  183,  186,  192,   33,   33,   33,
1227
       33,   33,   36,   36,   36,   36,  191,  191,  191,  191,
1228
      191,  212,  258,   36,  259,  215,  160,  271,  235,  191,
1229
      262,   36,  215,  243,  229,  277,  167,   36,   36,   36,
1230
1231
       36,   36,   36,  168,  168,  168,  168,  168,  224,  168,
1232
      223,  235,  271,  262,  168,  223,  168,  243,  277,  258,
1233
       36,  259,   36,   36,   36,   36,   36,   40,  193,  193,
1234
      193,  193,  193,   40,   40,   40,   40,   40,   40,  158,
1235
      254,  193,  197,  197,  197,  197,  197,  255,  197,  156,
1236
      224,  168,  154,  197,  228,  197,  266,  223,   40,   40,
1237
       40,   40,   40,   59,  228,  152,  143,  142,  281,   59,
1238
       59,   59,   59,   59,   59,  198,  198,  198,  198,  198,
1239
      266,  198,  254,  135,  134,  132,  198,  130,  198,  255,
1240
      197,  281,  127,  122,   59,   59,   59,   59,   59,   64,
1241
1242
      120,  228,  114,  109,  107,   64,   64,   64,   64,   64,
1243
       64,  199,  199,  199,  199,  199,  105,  199,  104,  103,
1244
      102,  101,  199,  198,  199,  244,  244,  244,  244,  244,
1245
       64,   64,   64,   64,   64,   68,   68,   68,   68,   68,
1246
      221,  221,  221,  221,  221,   99,   98,   68,  264,  264,
1247
      264,  264,  264,  221,   68,   96,   95,   93,   91,  199,
1248
       68,   68,   68,   68,   68,   68,  200,  200,  200,  200,
1249
      200,   89,  200,   81,   79,   72,   65,  200,   60,  200,
1250
       58,   47,   45,   68,   44,   68,   68,   68,   68,   68,
1251
       76,   76,   76,   76,   76,   42,   76,  265,  265,  265,
1252
1253
      265,  265,  282,  282,  282,  282,  282,   38,  282,   76,
1254
       32,   31,   24,   23,  200,   76,   76,   76,   76,   76,
1255
       76,  225,  225,  225,  225,  225,   22,  225,   17,   15,
1256
       14,   12,   10,    7,  225,    3,    0,    0,   76,    0,
1257
       76,   76,   76,   76,   76,   77,   77,   77,   77,    0,
1258
      282,   77,    0,    0,  230,  230,  230,  230,  230,    0,
1259
        0,    0,    0,    0,   77,  230,    0,  230,    0,  225,
1260
       77,   77,   77,   77,   77,   77,  253,  253,  253,  253,
1261
      253,    0,  253,    0,    0,    0,    0,    0,    0,  253,
1262
        0,    0,    0,   77,    0,   77,   77,   77,   77,   77,
1263
1264
       78,    0,  230,    0,    0,    0,   78,   78,   78,   78,
1265
       78,   78,  257,  257,  257,  257,  257,  283,  283,  283,
1266
      283,  283,    0,  257,  253,  257,    0,    0,  283,    0,
1267
        0,   78,   78,   78,   78,   78,   80,    0,    0,    0,
1268
        0,    0,   80,   80,   80,   80,   80,   80,    0,    0,
1269
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1270
      257,    0,    0,    0,    0,  283,    0,   80,   80,   80,
1271
       80,   80,   82,   82,   82,   82,   82,    0,    0,    0,
1272
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1273
        0,   82,    0,    0,    0,    0,    0,   82,   82,   82,
1274
1275
       82,   82,   82,    0,    0,    0,    0,    0,    0,    0,
1276
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1277
       82,    0,   82,   82,   82,   82,   82,   86,   86,   86,
1278
       86,   86,    0,    0,    0,    0,    0,    0,   86,    0,
1279
        0,    0,    0,    0,    0,    0,   86,    0,    0,    0,
1280
        0,    0,   86,   86,   86,   86,   86,   86,    0,    0,
1281
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1282
        0,    0,    0,    0,    0,   86,    0,   86,   86,   86,
1283
       86,   86,   87,   87,   87,   87,    0,    0,    0,    0,
1284
        0,    0,    0,   87,    0,    0,    0,    0,    0,    0,
1285
1286
        0,   87,    0,    0,    0,    0,    0,   87,   87,   87,
1287
       87,   87,   87,    0,    0,    0,    0,    0,    0,    0,
1288
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1289
       87,    0,   87,   87,   87,   87,   87,   92,    0,    0,
1290
        0,    0,    0,   92,   92,   92,   92,   92,   92,    0,
1291
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1292
        0,    0,    0,    0,    0,    0,    0,    0,   92,   92,
1293
       92,   92,   92,  108,  108,  108,  108,  108,    0,    0,
1294
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1295
        0,    0,  108,    0,    0,    0,    0,    0,  108,  108,
1296
1297
      108,  108,  108,  108,    0,    0,    0,    0,    0,    0,
1298
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1299
        0,  108,    0,  108,  108,  108,  108,  108,  112,  112,
1300
      112,  112,  112,    0,    0,    0,    0,    0,    0,    0,
1301
        0,    0,    0,    0,    0,    0,    0,  112,    0,    0,
1302
        0,    0,    0,  112,  112,  112,  112,  112,  112,    0,
1303
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1304
        0,    0,    0,    0,    0,    0,    0,    0,  112,  112,
1305
      112,  112,  112,  116,    0,    0,    0,    0,    0,  116,
1306
      116,  116,  116,  116,  116,    0,    0,    0,    0,    0,
1307
1308
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1309
        0,    0,    0,    0,  116,  116,  116,  116,  116,  119,
1310
        0,    0,    0,    0,    0,  119,  119,  119,  119,  119,
1311
      119,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1312
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1313
      119,  119,  119,  119,  119,  121,  121,  121,  121,  121,
1314
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1315
        0,    0,    0,    0,  121,    0,    0,    0,    0,    0,
1316
      121,  121,  121,  121,  121,  121,    0,    0,    0,    0,
1317
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1318
1319
        0,    0,    0,  121,    0,  121,  121,  121,  121,  121,
1320
      123,  123,  123,  123,  123,    0,    0,    0,    0,    0,
1321
        0,    0,    0,    0,    0,    0,    0,    0,    0,  123,
1322
        0,    0,    0,    0,    0,  123,  123,  123,  123,  123,
1323
      123,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1324
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1325
      123,  123,  123,  123,  123,  124,    0,    0,    0,    0,
1326
        0,  124,  124,  124,  124,  124,  124,    0,    0,    0,
1327
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1328
        0,    0,    0,    0,    0,    0,  124,  124,  124,  124,
1329
1330
      124,  126,    0,    0,    0,    0,    0,  126,  126,  126,
1331
      126,  126,  126,    0,    0,    0,    0,    0,    0,    0,
1332
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1333
        0,    0,  126,  126,  126,  126,  126,  131,  131,  131,
1334
      131,  131,    0,    0,    0,    0,    0,    0,    0,    0,
1335
        0,    0,    0,    0,    0,    0,  131,    0,    0,    0,
1336
        0,    0,  131,  131,  131,  131,  131,  131,    0,    0,
1337
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1338
        0,    0,    0,    0,    0,    0,    0,  131,  131,  131,
1339
      131,  131,  136,    0,    0,    0,    0,    0,  136,  136,
1340
1341
      136,  136,  136,  136,    0,    0,    0,    0,    0,    0,
1342
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1343
        0,    0,    0,  136,  136,  136,  136,  136,  139,    0,
1344
        0,    0,    0,    0,  139,  139,  139,  139,  139,  139,
1345
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1346
        0,    0,    0,    0,    0,    0,    0,    0,    0,  139,
1347
      139,  139,  139,  139,  145,    0,    0,    0,    0,    0,
1348
      145,  145,  145,  145,  145,  145,    0,    0,    0,    0,
1349
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1350
        0,    0,    0,    0,    0,  145,  145,  145,  145,  145,
1351
1352
      147,    0,    0,    0,    0,    0,  147,  147,  147,  147,
1353
      147,  147,    0,    0,    0,    0,    0,    0,    0,    0,
1354
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1355
        0,  147,  147,  147,  147,  147,  148,    0,    0,    0,
1356
        0,    0,  148,  148,  148,  148,  148,  148,    0,    0,
1357
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1358
        0,    0,    0,    0,    0,    0,    0,  148,  148,  148,
1359
      148,  148,  149,    0,    0,    0,    0,    0,  149,  149,
1360
      149,  149,  149,  149,    0,    0,    0,    0,    0,    0,
1361
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1362
1363
        0,    0,    0,  149,  149,  149,  149,  149,  150,    0,
1364
        0,    0,    0,    0,  150,  150,  150,  150,  150,  150,
1365
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1366
        0,    0,    0,    0,    0,    0,    0,    0,    0,  150,
1367
      150,  150,  150,  150,  151,    0,    0,    0,    0,    0,
1368
      151,  151,  151,  151,  151,  151,    0,    0,    0,    0,
1369
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1370
        0,    0,    0,    0,    0,  151,  151,  151,  151,  151,
1371
      157,    0,    0,    0,    0,    0,  157,  157,  157,  157,
1372
      157,  157,    0,    0,    0,    0,    0,    0,    0,    0,
1373
1374
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1375
        0,  157,  157,  157,  157,  157,  159,    0,    0,    0,
1376
        0,    0,  159,  159,  159,  159,  159,  159,    0,    0,
1377
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1378
        0,    0,    0,    0,    0,    0,    0,  159,  159,  159,
1379
      159,  159,  161,    0,    0,    0,    0,    0,  161,  161,
1380
      161,  161,  161,  161,    0,    0,    0,    0,    0,    0,
1381
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1382
        0,    0,    0,  161,  161,  161,  161,  161,  172,  172,
1383
      172,  172,  172,    0,  172,    0,    0,    0,    0,  172,
1384
1385
      172,  172,    0,    0,    0,    0,    0,  172,    0,    0,
1386
        0,    0,    0,  172,  172,  172,  172,  172,  172,    0,
1387
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1388
        0,    0,    0,    0,    0,    0,  172,    0,  172,  172,
1389
      172,  172,  172,  173,    0,    0,    0,    0,    0,  173,
1390
      173,  173,  173,  173,  173,    0,    0,    0,    0,    0,
1391
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1392
        0,    0,    0,    0,  173,  173,  173,  173,  173,  175,
1393
        0,    0,    0,    0,    0,  175,  175,  175,  175,  175,
1394
      175,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1395
1396
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1397
      175,  175,  175,  175,  175,  176,    0,    0,    0,    0,
1398
        0,  176,  176,  176,  176,  176,  176,    0,    0,    0,
1399
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1400
        0,    0,    0,    0,    0,    0,  176,  176,  176,  176,
1401
      176,  177,    0,    0,    0,    0,    0,  177,  177,  177,
1402
      177,  177,  177,    0,    0,    0,    0,    0,    0,    0,
1403
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1404
        0,    0,  177,  177,  177,  177,  177,  178,    0,    0,
1405
        0,    0,    0,  178,  178,  178,  178,  178,  178,    0,
1406
1407
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1408
        0,    0,    0,    0,    0,    0,    0,    0,  178,  178,
1409
      178,  178,  178,  179,    0,    0,    0,    0,    0,  179,
1410
      179,  179,  179,  179,  179,    0,    0,    0,    0,    0,
1411
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1412
        0,    0,    0,    0,  179,  179,  179,  179,  179,  181,
1413
        0,    0,    0,    0,    0,  181,  181,  181,  181,  181,
1414
      181,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1415
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1416
      181,  181,  181,  181,  181,  182,    0,    0,    0,    0,
1417
1418
        0,  182,  182,  182,  182,  182,  182,    0,    0,    0,
1419
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1420
        0,    0,    0,    0,    0,    0,  182,  182,  182,  182,
1421
      182,  184,    0,    0,    0,    0,    0,  184,  184,  184,
1422
      184,  184,  184,    0,    0,    0,    0,    0,    0,    0,
1423
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1424
        0,    0,  184,  184,  184,  184,  184,  194,  194,  194,
1425
      194,    0,    0,  194,    0,    0,    0,    0,    0,    0,
1426
        0,    0,    0,    0,    0,    0,  194,    0,    0,    0,
1427
        0,    0,  194,  194,  194,  194,  194,  194,    0,    0,
1428
1429
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1430
        0,    0,    0,    0,    0,  194,    0,  194,  194,  194,
1431
      194,  194,  196,  196,  196,  196,    0,    0,    0,    0,
1432
        0,    0,    0,  196,    0,    0,    0,    0,    0,    0,
1433
        0,  196,    0,    0,    0,    0,    0,  196,  196,  196,
1434
      196,  196,  196,    0,    0,    0,    0,    0,    0,    0,
1435
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1436
      196,    0,  196,  196,  196,  196,  196,  201,  201,  201,
1437
      201,  201,    0,  201,    0,    0,    0,    0,  201,    0,
1438
      201,    0,    0,    0,    0,    0,  201,    0,    0,    0,
1439
1440
        0,    0,  201,  201,  201,  201,  201,  201,    0,    0,
1441
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1442
        0,    0,    0,    0,    0,  201,    0,  201,  201,  201,
1443
      201,  201,  202,  202,  202,  202,  202,    0,  202,    0,
1444
        0,    0,    0,  202,  202,  202,    0,    0,    0,    0,
1445
        0,  202,    0,    0,    0,    0,    0,  202,  202,  202,
1446
      202,  202,  202,    0,    0,    0,    0,    0,    0,    0,
1447
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1448
      202,    0,  202,  202,  202,  202,  202,  203,    0,    0,
1449
        0,    0,    0,  203,  203,  203,  203,  203,  203,    0,
1450
1451
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1452
        0,    0,    0,    0,    0,    0,    0,    0,  203,  203,
1453
      203,  203,  203,  205,    0,    0,    0,    0,    0,  205,
1454
      205,  205,  205,  205,  205,    0,    0,    0,    0,    0,
1455
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1456
        0,    0,    0,    0,  205,  205,  205,  205,  205,  206,
1457
        0,    0,    0,    0,    0,  206,  206,  206,  206,  206,
1458
      206,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1459
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1460
      206,  206,  206,  206,  206,  207,    0,    0,    0,    0,
1461
1462
        0,  207,  207,  207,  207,  207,  207,    0,    0,    0,
1463
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1464
        0,    0,    0,    0,    0,    0,  207,  207,  207,  207,
1465
      207,  208,    0,    0,    0,    0,    0,  208,  208,  208,
1466
      208,  208,  208,    0,    0,    0,    0,    0,    0,    0,
1467
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1468
        0,    0,  208,  208,  208,  208,  208,  209,    0,    0,
1469
        0,    0,    0,  209,  209,  209,  209,  209,  209,    0,
1470
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1471
        0,    0,    0,    0,    0,    0,    0,    0,  209,  209,
1472
1473
      209,  209,  209,  210,    0,    0,    0,    0,    0,  210,
1474
      210,  210,  210,  210,  210,    0,    0,    0,    0,    0,
1475
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1476
        0,    0,    0,    0,  210,  210,  210,  210,  210,  211,
1477
        0,    0,    0,    0,    0,  211,  211,  211,  211,  211,
1478
      211,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1479
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1480
      211,  211,  211,  211,  211,  213,    0,    0,    0,    0,
1481
        0,  213,  213,  213,  213,  213,  213,    0,    0,    0,
1482
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1483
1484
        0,    0,    0,    0,    0,    0,  213,  213,  213,  213,
1485
      213,  226,  226,  226,  226,  226,    0,  226,    0,    0,
1486
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1487
      226,    0,    0,    0,    0,    0,  226,  226,  226,  226,
1488
      226,  226,    0,    0,    0,    0,    0,    0,    0,    0,
1489
        0,    0,    0,    0,    0,    0,    0,    0,    0,  226,
1490
        0,  226,  226,  226,  226,  226,  227,  227,  227,  227,
1491
        0,    0,  227,    0,    0,    0,    0,    0,    0,    0,
1492
        0,    0,    0,    0,    0,  227,    0,    0,    0,    0,
1493
        0,  227,  227,  227,  227,  227,  227,    0,    0,    0,
1494
1495
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1496
        0,    0,    0,    0,  227,    0,  227,  227,  227,  227,
1497
      227,  231,  231,  231,  231,  231,    0,    0,    0,    0,
1498
        0,    0,  231,    0,    0,    0,    0,    0,    0,    0,
1499
      231,    0,    0,    0,    0,    0,  231,  231,  231,  231,
1500
      231,  231,    0,    0,    0,    0,    0,    0,    0,    0,
1501
        0,    0,    0,    0,    0,    0,    0,    0,    0,  231,
1502
        0,  231,  231,  231,  231,  231,  232,  232,  232,  232,
1503
        0,    0,    0,    0,    0,    0,    0,  232,    0,    0,
1504
        0,    0,    0,    0,    0,  232,    0,    0,    0,    0,
1505
1506
        0,  232,  232,  232,  232,  232,  232,    0,    0,    0,
1507
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1508
        0,    0,    0,    0,  232,    0,  232,  232,  232,  232,
1509
      232,  233,  233,  233,  233,  233,    0,  233,    0,    0,
1510
        0,    0,  233,    0,  233,    0,    0,    0,    0,    0,
1511
      233,    0,    0,    0,    0,    0,  233,  233,  233,  233,
1512
      233,  233,    0,    0,    0,    0,    0,    0,    0,    0,
1513
        0,    0,    0,    0,    0,    0,    0,    0,    0,  233,
1514
        0,  233,  233,  233,  233,  233,  234,    0,    0,    0,
1515
        0,    0,  234,  234,  234,  234,  234,  234,    0,    0,
1516
1517
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1518
        0,    0,    0,    0,    0,    0,    0,  234,  234,  234,
1519
      234,  234,  236,    0,    0,    0,    0,    0,  236,  236,
1520
      236,  236,  236,  236,    0,    0,    0,    0,    0,    0,
1521
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1522
        0,    0,    0,  236,  236,  236,  236,  236,  237,    0,
1523
        0,    0,    0,    0,  237,  237,  237,  237,  237,  237,
1524
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1525
        0,    0,    0,    0,    0,    0,    0,    0,    0,  237,
1526
      237,  237,  237,  237,  238,    0,    0,    0,    0,    0,
1527
1528
      238,  238,  238,  238,  238,  238,    0,    0,    0,    0,
1529
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1530
        0,    0,    0,    0,    0,  238,  238,  238,  238,  238,
1531
      239,    0,    0,    0,    0,    0,  239,  239,  239,  239,
1532
      239,  239,    0,    0,    0,    0,    0,    0,    0,    0,
1533
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1534
        0,  239,  239,  239,  239,  239,  240,    0,    0,    0,
1535
        0,    0,  240,  240,  240,  240,  240,  240,    0,    0,
1536
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1537
        0,    0,    0,    0,    0,    0,    0,  240,  240,  240,
1538
1539
      240,  240,  241,    0,    0,    0,    0,    0,  241,  241,
1540
      241,  241,  241,  241,    0,    0,    0,    0,    0,    0,
1541
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1542
        0,    0,    0,  241,  241,  241,  241,  241,  242,    0,
1543
        0,    0,    0,    0,  242,  242,  242,  242,  242,  242,
1544
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1545
        0,    0,    0,    0,    0,    0,    0,    0,    0,  242,
1546
      242,  242,  242,  242,  256,    0,    0,    0,    0,    0,
1547
      256,  256,  256,  256,  256,  256,    0,    0,    0,    0,
1548
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1549
1550
        0,    0,    0,    0,    0,  256,  256,  256,  256,  256,
1551
      260,    0,    0,    0,    0,    0,  260,  260,  260,  260,
1552
      260,  260,    0,    0,    0,    0,    0,    0,    0,    0,
1553
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1554
        0,  260,  260,  260,  260,  260,  261,    0,    0,    0,
1555
        0,    0,  261,  261,  261,  261,  261,  261,    0,    0,
1556
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1557
        0,    0,    0,    0,    0,    0,    0,  261,  261,  261,
1558
      261,  261,  263,    0,    0,    0,    0,    0,  263,  263,
1559
      263,  263,  263,  263,    0,    0,    0,    0,    0,    0,
1560
1561
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1562
        0,    0,    0,  263,  263,  263,  263,  263,  268,    0,
1563
        0,    0,    0,    0,  268,  268,  268,  268,  268,  268,
1564
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1565
        0,    0,    0,    0,    0,    0,    0,    0,    0,  268,
1566
      268,  268,  268,  268,  269,    0,    0,    0,    0,    0,
1567
      269,  269,  269,  269,  269,  269,    0,    0,    0,    0,
1568
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1569
        0,    0,    0,    0,    0,  269,  269,  269,  269,  269,
1570
      270,    0,    0,    0,    0,    0,  270,  270,  270,  270,
1571
1572
      270,  270,    0,    0,    0,    0,    0,    0,    0,    0,
1573
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1574
        0,  270,  270,  270,  270,  270,  274,    0,    0,    0,
1575
        0,    0,  274,  274,  274,  274,  274,  274,    0,    0,
1576
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1577
        0,    0,    0,    0,    0,    0,    0,  274,  274,  274,
1578
      274,  274,  275,    0,    0,    0,    0,    0,  275,  275,
1579
      275,  275,  275,  275,    0,    0,    0,    0,    0,    0,
1580
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1581
        0,    0,    0,  275,  275,  275,  275,  275,  276,    0,
1582
1583
        0,    0,    0,    0,  276,  276,  276,  276,  276,  276,
1584
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1585
        0,    0,    0,    0,    0,    0,    0,    0,    0,  276,
1586
      276,  276,  276,  276,  278,    0,    0,    0,    0,    0,
1587
      278,  278,  278,  278,  278,  278,    0,    0,    0,    0,
1588
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1589
        0,    0,    0,    0,    0,  278,  278,  278,  278,  278,
1590
      279,    0,    0,    0,    0,    0,  279,  279,  279,  279,
1591
      279,  279,    0,    0,    0,    0,    0,    0,    0,    0,
1592
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1593
1594
        0,  279,  279,  279,  279,  279,  280,    0,    0,    0,
1595
        0,    0,  280,  280,  280,  280,  280,  280,    0,    0,
1596
        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
1597
        0,    0,    0,    0,    0,    0,    0,  280,  280,  280,
1598
      280,  280,  286,    0,  286,  286,  286,  286,  286,  286,
1599
      286,  287,  287,    0,  287,  287,  288,    0,  288,  288,
1600
      288,  288,  288,  288,  288,  289,    0,    0,  289,  289,
1601
      290,  290,  290,    0,  290,  290,  291,  291,  291,  291,
1602
      291,  291,  291,  292,  292,  292,  292,  292,  292,  292,
1603
      292,  292,  293,  293,    0,  293,  293,  294,  294,    0,
1604
1605
      294,  294,  295,  295,  295,  295,  295,  295,  295,  296,
1606
      296,  296,  296,  296,  296,  296,  296,  296,  297,  297,
1607
      297,  297,  297,  297,  297,  297,  297,  297,  298,  298,
1608
      299,  299,    0,  299,  299,  300,  300,  300,  300,  300,
1609
      300,  300,  301,  301,  301,  301,  301,  301,  301,  302,
1610
      302,  302,  303,  303,  303,  303,  303,  303,  303,  304,
1611
      304,  304,  304,  304,  304,  304,  305,  305,  305,  305,
1612
      305,  305,  305,  305,  305,  305,  306,  306,  306,  306,
1613
      306,  306,  306,  307,  307,  307,  307,  308,  308,    0,
1614
      308,  308,  309,  309,  309,  309,  309,  309,  309,  309,
1615
1616
      309,  309,  310,  310,  310,  310,  310,  310,  310,  310,
1617
      310,  310,  311,    0,  311,  312,  312,  312,  312,  313,
1618
      313,  313,    0,  313,  313,  313,  313,  313,  314,  314,
1619
      314,  314,  314,  314,  314,  314,  314,  314,  315,    0,
1620
      315,  316,  316,  316,  316,  317,    0,  317,  317,  317,
1621
      317,  317,  317,  317,  318,    0,  318,  318,  318,  318,
1622
      318,  318,  318,  319,  319,  319,  319,  319,  319,  319,
1623
      319,  319,  320,    0,  320,  321,  321,  321,  321,  322,
1624
      322,  322,  322,  322,  322,  322,  322,  322,  323,  323,
1625
      323,  323,  323,  323,  323,  323,  323,  324,    0,  324,
1626
1627
      325,  325,  325,  325,  326,  326,  326,  326,  326,  326,
1628
      326,  326,  326,  327,    0,  327,  328,    0,  328,  285,
1629
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1630
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1631
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1632
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1633
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1634
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1635
      285,  285,  285,  285,  285,  285,  285,  285,  285,  285,
1636
      285,  285,  285,  285,  285,  285,  285
1637
1638
    } ;
1639
1640
/* The intent behind this definition is that it'll catch
1641
 * any uses of REJECT which flex missed.
1642
 */
1643
#define REJECT reject_used_but_not_detected
1644
#define yymore() yymore_used_but_not_detected
1645
728k
#define YY_MORE_ADJ 0
1646
#define YY_RESTORE_YY_MORE_OFFSET
1647
#line 1 "codec/webvtt/CSSLexer.l"
1648
/*****************************************************************************
1649
 * CSSLexer.l : lexer for simplified CSS, based on W3C spec
1650
 *****************************************************************************
1651
 * Copyright (C) 2017 VideoLabs, VLC authors and VideoLAN
1652
 *
1653
 * This program is free software; you can redistribute it and/or modify it
1654
 * under the terms of the GNU Lesser General Public License as published by
1655
 * the Free Software Foundation; either version 2.1 of the License, or
1656
 * (at your option) any later version.
1657
 *
1658
 * This program is distributed in the hope that it will be useful,
1659
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
1660
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
1661
 * GNU Lesser General Public License for more details.
1662
 *
1663
 * You should have received a copy of the GNU Lesser General Public License
1664
 * along with this program; if not, write to the Free Software Foundation,
1665
 * Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
1666
 *****************************************************************************/
1667
#define YY_NO_INPUT 1
1668
#line 31 "codec/webvtt/CSSLexer.l"
1669
#ifdef HAVE_CONFIG_H
1670
# include "config.h"
1671
#endif
1672
#include <vlc_common.h>
1673
#include <vlc_charset.h>
1674
#include "css_parser.h"
1675
#include "CSSGrammar.h"
1676
44.8k
#define VAL(a, b) { yylval->term.val = (a); yylval->term.type = TYPE_ ## b; }
1677
char *d;
1678
#line 1679 "codec/webvtt/libwebvtt_plugin_la-CSSLexer.c"
1679
#line 1680 "codec/webvtt/libwebvtt_plugin_la-CSSLexer.c"
1680
1681
#define INITIAL 0
1682
1683
#ifndef YY_NO_UNISTD_H
1684
/* Special case for "unistd.h", since it is non-ANSI. We include it way
1685
 * down here because we want the user's section 1 to have been scanned first.
1686
 * The user has a chance to override it with an option.
1687
 */
1688
#include <unistd.h>
1689
#endif
1690
1691
#ifndef YY_EXTRA_TYPE
1692
#define YY_EXTRA_TYPE void *
1693
#endif
1694
1695
/* Holds the entire state of the reentrant scanner. */
1696
struct yyguts_t
1697
    {
1698
1699
    /* User-defined. Not touched by flex. */
1700
    YY_EXTRA_TYPE yyextra_r;
1701
1702
    /* The rest are the same as the globals declared in the non-reentrant scanner. */
1703
    FILE *yyin_r, *yyout_r;
1704
    size_t yy_buffer_stack_top; /**< index of top of stack. */
1705
    size_t yy_buffer_stack_max; /**< capacity of stack. */
1706
    YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */
1707
    char yy_hold_char;
1708
    int yy_n_chars;
1709
    int yyleng_r;
1710
    char *yy_c_buf_p;
1711
    int yy_init;
1712
    int yy_start;
1713
    int yy_did_buffer_switch_on_eof;
1714
    int yy_start_stack_ptr;
1715
    int yy_start_stack_depth;
1716
    int *yy_start_stack;
1717
    yy_state_type yy_last_accepting_state;
1718
    char* yy_last_accepting_cpos;
1719
1720
    int yylineno_r;
1721
    int yy_flex_debug_r;
1722
1723
    char *yytext_r;
1724
    int yy_more_flag;
1725
    int yy_more_len;
1726
1727
    YYSTYPE * yylval_r;
1728
1729
    }; /* end struct yyguts_t */
1730
1731
static int yy_init_globals ( yyscan_t yyscanner );
1732
1733
    /* This must go here because YYSTYPE and YYLTYPE are included
1734
     * from bison output in section 1.*/
1735
2.10M
    #    define yylval yyg->yylval_r
1736
    
1737
int yylex_init (yyscan_t* scanner);
1738
1739
int yylex_init_extra ( YY_EXTRA_TYPE user_defined, yyscan_t* scanner);
1740
1741
/* Accessor methods to globals.
1742
   These are made visible to non-reentrant scanners for convenience. */
1743
1744
int yylex_destroy ( yyscan_t yyscanner );
1745
1746
int yyget_debug ( yyscan_t yyscanner );
1747
1748
void yyset_debug ( int debug_flag , yyscan_t yyscanner );
1749
1750
YY_EXTRA_TYPE yyget_extra ( yyscan_t yyscanner );
1751
1752
void yyset_extra ( YY_EXTRA_TYPE user_defined , yyscan_t yyscanner );
1753
1754
FILE *yyget_in ( yyscan_t yyscanner );
1755
1756
void yyset_in  ( FILE * _in_str , yyscan_t yyscanner );
1757
1758
FILE *yyget_out ( yyscan_t yyscanner );
1759
1760
void yyset_out  ( FILE * _out_str , yyscan_t yyscanner );
1761
1762
      int yyget_leng ( yyscan_t yyscanner );
1763
1764
char *yyget_text ( yyscan_t yyscanner );
1765
1766
int yyget_lineno ( yyscan_t yyscanner );
1767
1768
void yyset_lineno ( int _line_number , yyscan_t yyscanner );
1769
1770
int yyget_column  ( yyscan_t yyscanner );
1771
1772
void yyset_column ( int _column_no , yyscan_t yyscanner );
1773
1774
YYSTYPE * yyget_lval ( yyscan_t yyscanner );
1775
1776
void yyset_lval ( YYSTYPE * yylval_param , yyscan_t yyscanner );
1777
1778
/* Macros after this point can all be overridden by user definitions in
1779
 * section 1.
1780
 */
1781
1782
#ifndef YY_SKIP_YYWRAP
1783
#ifdef __cplusplus
1784
extern "C" int yywrap ( yyscan_t yyscanner );
1785
#else
1786
extern int yywrap ( yyscan_t yyscanner );
1787
#endif
1788
#endif
1789
1790
#ifndef YY_NO_UNPUT
1791
    
1792
#endif
1793
1794
#ifndef yytext_ptr
1795
static void yy_flex_strncpy ( char *, const char *, int , yyscan_t yyscanner);
1796
#endif
1797
1798
#ifdef YY_NEED_STRLEN
1799
static int yy_flex_strlen ( const char * , yyscan_t yyscanner);
1800
#endif
1801
1802
#ifndef YY_NO_INPUT
1803
#ifdef __cplusplus
1804
static int yyinput ( yyscan_t yyscanner );
1805
#else
1806
static int input ( yyscan_t yyscanner );
1807
#endif
1808
1809
#endif
1810
1811
/* Amount of stuff to slurp up with each read. */
1812
#ifndef YY_READ_BUF_SIZE
1813
#ifdef __ia64__
1814
/* On IA-64, the buffer size is 16k, not 8k */
1815
#define YY_READ_BUF_SIZE 16384
1816
#else
1817
0
#define YY_READ_BUF_SIZE 8192
1818
#endif /* __ia64__ */
1819
#endif
1820
1821
/* Copy whatever the last rule matched to the standard output. */
1822
#ifndef ECHO
1823
/* This used to be an fputs(), but since the string might contain NUL's,
1824
 * we now use fwrite().
1825
 */
1826
0
#define ECHO do { if (fwrite( yytext, (size_t) yyleng, 1, yyout )) {} } while (0)
1827
#endif
1828
1829
/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
1830
 * is returned in "result".
1831
 */
1832
#ifndef YY_INPUT
1833
#define YY_INPUT(buf,result,max_size) \
1834
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
1835
0
    { \
1836
0
    int c = '*'; \
1837
0
    int n; \
1838
0
    for ( n = 0; n < max_size && \
1839
0
           (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
1840
0
      buf[n] = (char) c; \
1841
0
    if ( c == '\n' ) \
1842
0
      buf[n++] = (char) c; \
1843
0
    if ( c == EOF && ferror( yyin ) ) \
1844
0
      YY_FATAL_ERROR( "input in flex scanner failed" ); \
1845
0
    result = n; \
1846
0
    } \
1847
0
  else \
1848
0
    { \
1849
0
    errno=0; \
1850
0
    while ( (result = (int) fread(buf, 1, (yy_size_t) max_size, yyin)) == 0 && ferror(yyin)) \
1851
0
      { \
1852
0
      if( errno != EINTR) \
1853
0
        { \
1854
0
        YY_FATAL_ERROR( "input in flex scanner failed" ); \
1855
0
        break; \
1856
0
        } \
1857
0
      errno=0; \
1858
0
      clearerr(yyin); \
1859
0
      } \
1860
0
    }\
1861
\
1862
1863
#endif
1864
1865
/* No semi-colon after return; correct usage is to write "yyterminate();" -
1866
 * we don't want an extra ';' after the "return" because that will cause
1867
 * some compilers to complain about unreachable statements.
1868
 */
1869
#ifndef yyterminate
1870
345k
#define yyterminate() return YY_NULL
1871
#endif
1872
1873
/* Number of entries by which start-condition stack grows. */
1874
#ifndef YY_START_STACK_INCR
1875
#define YY_START_STACK_INCR 25
1876
#endif
1877
1878
/* Report a fatal error. */
1879
#ifndef YY_FATAL_ERROR
1880
0
#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner)
1881
#endif
1882
1883
/* end tables serialization structures and prototypes */
1884
1885
/* Default declaration of generated scanner - a define so the user can
1886
 * easily add parameters.
1887
 */
1888
#ifndef YY_DECL
1889
#define YY_DECL_IS_OURS 1
1890
1891
extern int yylex \
1892
               (YYSTYPE * yylval_param , yyscan_t yyscanner);
1893
1894
#define YY_DECL int yylex \
1895
               (YYSTYPE * yylval_param , yyscan_t yyscanner)
1896
#endif /* !YY_DECL */
1897
1898
/* Code executed at the beginning of each rule, after yytext and yyleng
1899
 * have been set up.
1900
 */
1901
#ifndef YY_USER_ACTION
1902
#define YY_USER_ACTION
1903
#endif
1904
1905
/* Code executed at the end of each rule. */
1906
#ifndef YY_BREAK
1907
340
#define YY_BREAK /*LINTED*/break;
1908
#endif
1909
1910
#define YY_RULE_SETUP \
1911
  YY_USER_ACTION
1912
1913
/** The main scanner function which does all the work.
1914
 */
1915
YY_DECL
1916
1.73M
{
1917
1.73M
  yy_state_type yy_current_state;
1918
1.73M
  char *yy_cp, *yy_bp;
1919
1.73M
  int yy_act;
1920
1.73M
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
1921
1922
1.73M
    yylval = yylval_param;
1923
1924
1.73M
  if ( !yyg->yy_init )
1925
8.20k
    {
1926
8.20k
    yyg->yy_init = 1;
1927
1928
#ifdef YY_USER_INIT
1929
    YY_USER_INIT;
1930
#endif
1931
1932
8.20k
    if ( ! yyg->yy_start )
1933
8.20k
      yyg->yy_start = 1; /* first start state */
1934
1935
8.20k
    if ( ! yyin )
1936
8.20k
      yyin = stdin;
1937
1938
8.20k
    if ( ! yyout )
1939
8.20k
      yyout = stdout;
1940
1941
8.20k
    if ( ! YY_CURRENT_BUFFER ) {
1942
0
      yyensure_buffer_stack (yyscanner);
1943
0
      YY_CURRENT_BUFFER_LVALUE =
1944
0
        yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
1945
0
    }
1946
1947
8.20k
    yy_load_buffer_state( yyscanner );
1948
8.20k
    }
1949
1950
1.73M
  {
1951
1.73M
#line 60 "codec/webvtt/CSSLexer.l"
1952
1953
1954
1.73M
#line 1955 "codec/webvtt/libwebvtt_plugin_la-CSSLexer.c"
1955
1956
1.73M
  while ( /*CONSTCOND*/1 )    /* loops until end-of-file is reached */
1957
1.73M
    {
1958
1.73M
    yy_cp = yyg->yy_c_buf_p;
1959
1960
    /* Support of yytext. */
1961
1.73M
    *yy_cp = yyg->yy_hold_char;
1962
1963
    /* yy_bp points to the position in yy_ch_buf of the start of
1964
     * the current run.
1965
     */
1966
1.73M
    yy_bp = yy_cp;
1967
1968
1.73M
    yy_current_state = yyg->yy_start;
1969
1.73M
yy_match:
1970
1.73M
    do
1971
41.5M
      {
1972
41.5M
      YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
1973
41.5M
      if ( yy_accept[yy_current_state] )
1974
3.47M
        {
1975
3.47M
        yyg->yy_last_accepting_state = yy_current_state;
1976
3.47M
        yyg->yy_last_accepting_cpos = yy_cp;
1977
3.47M
        }
1978
75.0M
      while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
1979
33.4M
        {
1980
33.4M
        yy_current_state = (int) yy_def[yy_current_state];
1981
33.4M
        if ( yy_current_state >= 286 )
1982
31.6M
          yy_c = yy_meta[yy_c];
1983
33.4M
        }
1984
41.5M
      yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
1985
41.5M
      ++yy_cp;
1986
41.5M
      }
1987
41.5M
    while ( yy_current_state != 285 );
1988
1.73M
    yy_cp = yyg->yy_last_accepting_cpos;
1989
1.73M
    yy_current_state = yyg->yy_last_accepting_state;
1990
1991
1.75M
yy_find_action:
1992
1.75M
    yy_act = yy_accept[yy_current_state];
1993
1994
1.75M
    YY_DO_BEFORE_ACTION;
1995
1996
2.10M
do_action:  /* This label is used only to access EOF actions. */
1997
1998
2.10M
    switch ( yy_act )
1999
2.10M
  { /* beginning of action switch */
2000
4.50k
      case 0: /* must back up */
2001
      /* undo the effects of YY_DO_BEFORE_ACTION */
2002
4.50k
      *yy_cp = yyg->yy_hold_char;
2003
4.50k
      yy_cp = yyg->yy_last_accepting_cpos;
2004
4.50k
      yy_current_state = yyg->yy_last_accepting_state;
2005
4.50k
      goto yy_find_action;
2006
2007
189k
case 1:
2008
/* rule 1 can match eol */
2009
189k
YY_RULE_SETUP
2010
189k
#line 62 "codec/webvtt/CSSLexer.l"
2011
189k
{return WHITESPACE;}
2012
0
  YY_BREAK
2013
340
case 2:
2014
/* rule 2 can match eol */
2015
340
YY_RULE_SETUP
2016
340
#line 64 "codec/webvtt/CSSLexer.l"
2017
/* ignore comments */
2018
340
  YY_BREAK
2019
0
case 3:
2020
0
YY_RULE_SETUP
2021
0
#line 66 "codec/webvtt/CSSLexer.l"
2022
0
{return CDO;}
2023
0
  YY_BREAK
2024
701
case 4:
2025
701
YY_RULE_SETUP
2026
701
#line 67 "codec/webvtt/CSSLexer.l"
2027
701
{return CDC;}
2028
0
  YY_BREAK
2029
750
case 5:
2030
750
YY_RULE_SETUP
2031
750
#line 68 "codec/webvtt/CSSLexer.l"
2032
750
{return INCLUDES;}
2033
0
  YY_BREAK
2034
540
case 6:
2035
540
YY_RULE_SETUP
2036
540
#line 69 "codec/webvtt/CSSLexer.l"
2037
540
{return DASHMATCH;}
2038
0
  YY_BREAK
2039
423
case 7:
2040
423
YY_RULE_SETUP
2041
423
#line 70 "codec/webvtt/CSSLexer.l"
2042
423
{return BEGINSWITH;}
2043
0
  YY_BREAK
2044
1.25k
case 8:
2045
1.25k
YY_RULE_SETUP
2046
1.25k
#line 71 "codec/webvtt/CSSLexer.l"
2047
1.25k
{return ENDSWITH;}
2048
0
  YY_BREAK
2049
459
case 9:
2050
459
YY_RULE_SETUP
2051
459
#line 72 "codec/webvtt/CSSLexer.l"
2052
459
{return CONTAINS;}
2053
0
  YY_BREAK
2054
64.1k
case 10:
2055
/* rule 10 can match eol */
2056
64.1k
YY_RULE_SETUP
2057
64.1k
#line 74 "codec/webvtt/CSSLexer.l"
2058
64.1k
{ yylval->string = vlc_css_unquotedunescaped(yytext); return STRING;}
2059
0
  YY_BREAK
2060
155k
case 11:
2061
/* rule 11 can match eol */
2062
155k
YY_RULE_SETUP
2063
155k
#line 76 "codec/webvtt/CSSLexer.l"
2064
155k
{ yylval->string = vlc_css_unescaped(yytext); return IDENT;}
2065
0
  YY_BREAK
2066
0
case 12:
2067
0
YY_RULE_SETUP
2068
0
#line 78 "codec/webvtt/CSSLexer.l"
2069
0
{return FONT_FACE_SYM;}
2070
0
  YY_BREAK
2071
0
case 13:
2072
0
YY_RULE_SETUP
2073
0
#line 80 "codec/webvtt/CSSLexer.l"
2074
0
{return IMPORTANT_SYM;}
2075
0
  YY_BREAK
2076
1
case 14:
2077
1
YY_RULE_SETUP
2078
1
#line 82 "codec/webvtt/CSSLexer.l"
2079
1
{ VAL( vlc_strtof_c(yytext, &d), EMS ); return LENGTH;}
2080
0
  YY_BREAK
2081
254
case 15:
2082
254
YY_RULE_SETUP
2083
254
#line 83 "codec/webvtt/CSSLexer.l"
2084
254
{ VAL( atoi(yytext), EXS ); return LENGTH;}
2085
0
  YY_BREAK
2086
1.91k
case 16:
2087
1.91k
YY_RULE_SETUP
2088
1.91k
#line 84 "codec/webvtt/CSSLexer.l"
2089
1.91k
{ VAL( atoi(yytext), PIXELS ); return LENGTH;}
2090
0
  YY_BREAK
2091
1
case 17:
2092
1
YY_RULE_SETUP
2093
1
#line 85 "codec/webvtt/CSSLexer.l"
2094
1
{ VAL( vlc_strtof_c(yytext, &d) * 10, MILLIMETERS ); return LENGTH;}
2095
0
  YY_BREAK
2096
214
case 18:
2097
214
YY_RULE_SETUP
2098
214
#line 86 "codec/webvtt/CSSLexer.l"
2099
214
{ VAL( atoi(yytext), MILLIMETERS ); return LENGTH;}
2100
0
  YY_BREAK
2101
194
case 19:
2102
194
YY_RULE_SETUP
2103
194
#line 87 "codec/webvtt/CSSLexer.l"
2104
194
{ VAL( vlc_strtof_c(yytext, &d) * 25.4, MILLIMETERS ); return LENGTH;}
2105
0
  YY_BREAK
2106
34
case 20:
2107
34
YY_RULE_SETUP
2108
34
#line 88 "codec/webvtt/CSSLexer.l"
2109
34
{ VAL( vlc_strtof_c(yytext, &d), POINTS ); return LENGTH;}
2110
0
  YY_BREAK
2111
275
case 21:
2112
275
YY_RULE_SETUP
2113
275
#line 89 "codec/webvtt/CSSLexer.l"
2114
275
{ VAL( vlc_strtof_c(yytext, &d), POINTS ); return LENGTH;}
2115
0
  YY_BREAK
2116
0
case 22:
2117
0
YY_RULE_SETUP
2118
0
#line 90 "codec/webvtt/CSSLexer.l"
2119
0
{ VAL( vlc_strtof_c(yytext, &d), DEGREES ); return ANGLE;}
2120
0
  YY_BREAK
2121
0
case 23:
2122
0
YY_RULE_SETUP
2123
0
#line 91 "codec/webvtt/CSSLexer.l"
2124
0
{ VAL( vlc_strtof_c(yytext, &d) * 0.0174533, DEGREES ); return ANGLE;}
2125
0
  YY_BREAK
2126
0
case 24:
2127
0
YY_RULE_SETUP
2128
0
#line 92 "codec/webvtt/CSSLexer.l"
2129
0
{ VAL( vlc_strtof_c(yytext, &d) * 1.1111111, DEGREES ); return ANGLE;}
2130
0
  YY_BREAK
2131
200
case 25:
2132
200
YY_RULE_SETUP
2133
200
#line 93 "codec/webvtt/CSSLexer.l"
2134
200
{ VAL( atoi(yytext), MILLISECONDS ); return TIME;}
2135
0
  YY_BREAK
2136
307
case 26:
2137
307
YY_RULE_SETUP
2138
307
#line 94 "codec/webvtt/CSSLexer.l"
2139
307
{ VAL( atoi(yytext) * 1000, MILLISECONDS ); return TIME;}
2140
0
  YY_BREAK
2141
20
case 27:
2142
20
YY_RULE_SETUP
2143
20
#line 95 "codec/webvtt/CSSLexer.l"
2144
20
{ VAL( atoi(yytext), HERTZ ); return FREQ;}
2145
0
  YY_BREAK
2146
0
case 28:
2147
0
YY_RULE_SETUP
2148
0
#line 96 "codec/webvtt/CSSLexer.l"
2149
0
{ VAL( atoi(yytext) * 1000, HERTZ ); return FREQ;}
2150
0
  YY_BREAK
2151
9.89k
case 29:
2152
/* rule 29 can match eol */
2153
9.89k
YY_RULE_SETUP
2154
9.89k
#line 97 "codec/webvtt/CSSLexer.l"
2155
9.89k
{ VAL( 0, DIMENSION ); return DIMEN;}
2156
0
  YY_BREAK
2157
1.08k
case 30:
2158
1.08k
YY_RULE_SETUP
2159
1.08k
#line 98 "codec/webvtt/CSSLexer.l"
2160
1.08k
{ VAL( atoi(yytext), PERCENT ); return PERCENTAGE;}
2161
0
  YY_BREAK
2162
30.4k
case 31:
2163
30.4k
YY_RULE_SETUP
2164
30.4k
#line 99 "codec/webvtt/CSSLexer.l"
2165
30.4k
{ VAL( vlc_strtof_c(yytext, &d), NONE ); return NUMBER;}
2166
0
  YY_BREAK
2167
0
case 32:
2168
/* rule 32 can match eol */
2169
0
YY_RULE_SETUP
2170
0
#line 101 "codec/webvtt/CSSLexer.l"
2171
0
{ yylval->string = vlc_css_unquotedunescaped(yytext); return URI;}
2172
0
  YY_BREAK
2173
0
case 33:
2174
/* rule 33 can match eol */
2175
0
YY_RULE_SETUP
2176
0
#line 102 "codec/webvtt/CSSLexer.l"
2177
0
{ yylval->string = vlc_css_unquotedunescaped(yytext); return URI;}
2178
0
  YY_BREAK
2179
41.3k
case 34:
2180
/* rule 34 can match eol */
2181
41.3k
YY_RULE_SETUP
2182
41.3k
#line 103 "codec/webvtt/CSSLexer.l"
2183
41.3k
{ yylval->string = vlc_css_unescaped(yytext); return FUNCTION;}
2184
0
  YY_BREAK
2185
9.77k
case 35:
2186
/* rule 35 can match eol */
2187
9.77k
YY_RULE_SETUP
2188
9.77k
#line 104 "codec/webvtt/CSSLexer.l"
2189
9.77k
{yylval->string = vlc_css_unescaped(yytext); return IDSEL;}
2190
0
  YY_BREAK
2191
3.71k
case 36:
2192
/* rule 36 can match eol */
2193
3.71k
YY_RULE_SETUP
2194
3.71k
#line 105 "codec/webvtt/CSSLexer.l"
2195
3.71k
{yylval->string = vlc_css_unescaped(yytext); return HASH;}
2196
0
  YY_BREAK
2197
453
case 37:
2198
453
YY_RULE_SETUP
2199
453
#line 107 "codec/webvtt/CSSLexer.l"
2200
453
{ yylval->string = strdup(yytext); return UNICODERANGE;}
2201
0
  YY_BREAK
2202
975
case 38:
2203
975
YY_RULE_SETUP
2204
975
#line 108 "codec/webvtt/CSSLexer.l"
2205
975
{ yylval->string = strdup(yytext); return UNICODERANGE;}
2206
0
  YY_BREAK
2207
879k
case 39:
2208
879k
YY_RULE_SETUP
2209
879k
#line 110 "codec/webvtt/CSSLexer.l"
2210
879k
{return *yytext;}
2211
0
  YY_BREAK
2212
0
case 40:
2213
0
YY_RULE_SETUP
2214
0
#line 111 "codec/webvtt/CSSLexer.l"
2215
0
ECHO;
2216
0
  YY_BREAK
2217
0
#line 2218 "codec/webvtt/libwebvtt_plugin_la-CSSLexer.c"
2218
345k
case YY_STATE_EOF(INITIAL):
2219
345k
  yyterminate();
2220
2221
358k
  case YY_END_OF_BUFFER:
2222
358k
    {
2223
    /* Amount of text matched not including the EOB char. */
2224
358k
    int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1;
2225
2226
    /* Undo the effects of YY_DO_BEFORE_ACTION. */
2227
358k
    *yy_cp = yyg->yy_hold_char;
2228
358k
    YY_RESTORE_YY_MORE_OFFSET
2229
2230
358k
    if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
2231
8.16k
      {
2232
      /* We're scanning a new file or input source.  It's
2233
       * possible that this happened because the user
2234
       * just pointed yyin at a new source and called
2235
       * yylex().  If so, then we have to assure
2236
       * consistency between YY_CURRENT_BUFFER and our
2237
       * globals.  Here is the right place to do so, because
2238
       * this is the first action (other than possibly a
2239
       * back-up) that will match for the new input source.
2240
       */
2241
8.16k
      yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2242
8.16k
      YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
2243
8.16k
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
2244
8.16k
      }
2245
2246
    /* Note that here we test for yy_c_buf_p "<=" to the position
2247
     * of the first EOB in the buffer, since yy_c_buf_p will
2248
     * already have been incremented past the NUL character
2249
     * (since all states make transitions on EOB to the
2250
     * end-of-buffer state).  Contrast this with the test
2251
     * in input().
2252
     */
2253
358k
    if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2254
0
      { /* This was really a NUL. */
2255
0
      yy_state_type yy_next_state;
2256
2257
0
      yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text;
2258
2259
0
      yy_current_state = yy_get_previous_state( yyscanner );
2260
2261
      /* Okay, we're now positioned to make the NUL
2262
       * transition.  We couldn't have
2263
       * yy_get_previous_state() go ahead and do it
2264
       * for us because it doesn't know how to deal
2265
       * with the possibility of jamming (and we don't
2266
       * want to build jamming into it because then it
2267
       * will run more slowly).
2268
       */
2269
2270
0
      yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner);
2271
2272
0
      yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2273
2274
0
      if ( yy_next_state )
2275
0
        {
2276
        /* Consume the NUL. */
2277
0
        yy_cp = ++yyg->yy_c_buf_p;
2278
0
        yy_current_state = yy_next_state;
2279
0
        goto yy_match;
2280
0
        }
2281
2282
0
      else
2283
0
        {
2284
0
        yy_cp = yyg->yy_last_accepting_cpos;
2285
0
        yy_current_state = yyg->yy_last_accepting_state;
2286
0
        goto yy_find_action;
2287
0
        }
2288
0
      }
2289
2290
358k
    else switch ( yy_get_next_buffer( yyscanner ) )
2291
358k
      {
2292
345k
      case EOB_ACT_END_OF_FILE:
2293
345k
        {
2294
345k
        yyg->yy_did_buffer_switch_on_eof = 0;
2295
2296
345k
        if ( yywrap( yyscanner ) )
2297
345k
          {
2298
          /* Note: because we've taken care in
2299
           * yy_get_next_buffer() to have set up
2300
           * yytext, we can now set up
2301
           * yy_c_buf_p so that if some total
2302
           * hoser (like flex itself) wants to
2303
           * call the scanner after we return the
2304
           * YY_NULL, it'll still work - another
2305
           * YY_NULL will get returned.
2306
           */
2307
345k
          yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ;
2308
2309
345k
          yy_act = YY_STATE_EOF(YY_START);
2310
345k
          goto do_action;
2311
345k
          }
2312
2313
0
        else
2314
0
          {
2315
0
          if ( ! yyg->yy_did_buffer_switch_on_eof )
2316
0
            YY_NEW_FILE;
2317
0
          }
2318
0
        break;
2319
345k
        }
2320
2321
0
      case EOB_ACT_CONTINUE_SCAN:
2322
0
        yyg->yy_c_buf_p =
2323
0
          yyg->yytext_ptr + yy_amount_of_matched_text;
2324
2325
0
        yy_current_state = yy_get_previous_state( yyscanner );
2326
2327
0
        yy_cp = yyg->yy_c_buf_p;
2328
0
        yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2329
0
        goto yy_match;
2330
2331
12.6k
      case EOB_ACT_LAST_MATCH:
2332
12.6k
        yyg->yy_c_buf_p =
2333
12.6k
        &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars];
2334
2335
12.6k
        yy_current_state = yy_get_previous_state( yyscanner );
2336
2337
12.6k
        yy_cp = yyg->yy_c_buf_p;
2338
12.6k
        yy_bp = yyg->yytext_ptr + YY_MORE_ADJ;
2339
12.6k
        goto yy_find_action;
2340
358k
      }
2341
0
    break;
2342
358k
    }
2343
2344
0
  default:
2345
0
    YY_FATAL_ERROR(
2346
2.10M
      "fatal flex scanner internal error--no action found" );
2347
2.10M
  } /* end of action switch */
2348
2.10M
    } /* end of scanning one token */
2349
1.73M
  } /* end of user's declarations */
2350
1.73M
} /* end of yylex */
2351
2352
/* yy_get_next_buffer - try to read in a new buffer
2353
 *
2354
 * Returns a code representing an action:
2355
 *  EOB_ACT_LAST_MATCH -
2356
 *  EOB_ACT_CONTINUE_SCAN - continue scanning from current position
2357
 *  EOB_ACT_END_OF_FILE - end of file
2358
 */
2359
static int yy_get_next_buffer (yyscan_t yyscanner)
2360
358k
{
2361
358k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2362
358k
  char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
2363
358k
  char *source = yyg->yytext_ptr;
2364
358k
  int number_to_move, i;
2365
358k
  int ret_val;
2366
2367
358k
  if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] )
2368
0
    YY_FATAL_ERROR(
2369
358k
    "fatal flex scanner internal error--end of buffer missed" );
2370
2371
358k
  if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
2372
358k
    { /* Don't try to fill the buffer, so this is an EOF. */
2373
358k
    if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 )
2374
345k
      {
2375
      /* We matched a single character, the EOB, so
2376
       * treat this as a final EOF.
2377
       */
2378
345k
      return EOB_ACT_END_OF_FILE;
2379
345k
      }
2380
2381
12.6k
    else
2382
12.6k
      {
2383
      /* We matched some text prior to the EOB, first
2384
       * process it.
2385
       */
2386
12.6k
      return EOB_ACT_LAST_MATCH;
2387
12.6k
      }
2388
358k
    }
2389
2390
  /* Try to read more data. */
2391
2392
  /* First move last chars to start of buffer. */
2393
0
  number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr - 1);
2394
2395
0
  for ( i = 0; i < number_to_move; ++i )
2396
0
    *(dest++) = *(source++);
2397
2398
0
  if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
2399
    /* don't do the read, it's not guaranteed to return an EOF,
2400
     * just force an EOF
2401
     */
2402
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0;
2403
2404
0
  else
2405
0
    {
2406
0
      int num_to_read =
2407
0
      YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
2408
2409
0
    while ( num_to_read <= 0 )
2410
0
      { /* Not enough room in the buffer - grow it. */
2411
2412
      /* just a shorter name for the current buffer */
2413
0
      YY_BUFFER_STATE b = YY_CURRENT_BUFFER_LVALUE;
2414
2415
0
      int yy_c_buf_p_offset =
2416
0
        (int) (yyg->yy_c_buf_p - b->yy_ch_buf);
2417
2418
0
      if ( b->yy_is_our_buffer )
2419
0
        {
2420
0
        int new_size = b->yy_buf_size * 2;
2421
2422
0
        if ( new_size <= 0 )
2423
0
          b->yy_buf_size += b->yy_buf_size / 8;
2424
0
        else
2425
0
          b->yy_buf_size *= 2;
2426
2427
0
        b->yy_ch_buf = (char *)
2428
          /* Include room in for 2 EOB chars. */
2429
0
          yyrealloc( (void *) b->yy_ch_buf,
2430
0
               (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
2431
0
        }
2432
0
      else
2433
        /* Can't grow it, we don't own it. */
2434
0
        b->yy_ch_buf = NULL;
2435
2436
0
      if ( ! b->yy_ch_buf )
2437
0
        YY_FATAL_ERROR(
2438
0
        "fatal error - scanner input buffer overflow" );
2439
2440
0
      yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
2441
2442
0
      num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
2443
0
            number_to_move - 1;
2444
2445
0
      }
2446
2447
0
    if ( num_to_read > YY_READ_BUF_SIZE )
2448
0
      num_to_read = YY_READ_BUF_SIZE;
2449
2450
    /* Read in more data. */
2451
0
    YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
2452
0
      yyg->yy_n_chars, num_to_read );
2453
2454
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2455
0
    }
2456
2457
0
  if ( yyg->yy_n_chars == 0 )
2458
0
    {
2459
0
    if ( number_to_move == YY_MORE_ADJ )
2460
0
      {
2461
0
      ret_val = EOB_ACT_END_OF_FILE;
2462
0
      yyrestart( yyin  , yyscanner);
2463
0
      }
2464
2465
0
    else
2466
0
      {
2467
0
      ret_val = EOB_ACT_LAST_MATCH;
2468
0
      YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
2469
0
        YY_BUFFER_EOF_PENDING;
2470
0
      }
2471
0
    }
2472
2473
0
  else
2474
0
    ret_val = EOB_ACT_CONTINUE_SCAN;
2475
2476
0
  if ((yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
2477
    /* Extend the array by 50%, plus the number we really need. */
2478
0
    int new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1);
2479
0
    YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc(
2480
0
      (void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf, (yy_size_t) new_size , yyscanner );
2481
0
    if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
2482
0
      YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
2483
    /* "- 2" to take care of EOB's */
2484
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_size = (int) (new_size - 2);
2485
0
  }
2486
2487
0
  yyg->yy_n_chars += number_to_move;
2488
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR;
2489
0
  YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
2490
2491
0
  yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
2492
2493
0
  return ret_val;
2494
0
}
2495
2496
/* yy_get_previous_state - get the state just before the EOB char was reached */
2497
2498
    static yy_state_type yy_get_previous_state (yyscan_t yyscanner)
2499
12.6k
{
2500
12.6k
  yy_state_type yy_current_state;
2501
12.6k
  char *yy_cp;
2502
12.6k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2503
2504
12.6k
  yy_current_state = yyg->yy_start;
2505
2506
36.2M
  for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp )
2507
36.2M
    {
2508
36.2M
    YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
2509
36.2M
    if ( yy_accept[yy_current_state] )
2510
14.3k
      {
2511
14.3k
      yyg->yy_last_accepting_state = yy_current_state;
2512
14.3k
      yyg->yy_last_accepting_cpos = yy_cp;
2513
14.3k
      }
2514
66.1M
    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2515
29.9M
      {
2516
29.9M
      yy_current_state = (int) yy_def[yy_current_state];
2517
29.9M
      if ( yy_current_state >= 286 )
2518
29.9M
        yy_c = yy_meta[yy_c];
2519
29.9M
      }
2520
36.2M
    yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2521
36.2M
    }
2522
2523
12.6k
  return yy_current_state;
2524
12.6k
}
2525
2526
/* yy_try_NUL_trans - try to make a transition on the NUL character
2527
 *
2528
 * synopsis
2529
 *  next_state = yy_try_NUL_trans( current_state );
2530
 */
2531
    static yy_state_type yy_try_NUL_trans  (yy_state_type yy_current_state , yyscan_t yyscanner)
2532
0
{
2533
0
  int yy_is_jam;
2534
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */
2535
0
  char *yy_cp = yyg->yy_c_buf_p;
2536
2537
0
  YY_CHAR yy_c = 1;
2538
0
  if ( yy_accept[yy_current_state] )
2539
0
    {
2540
0
    yyg->yy_last_accepting_state = yy_current_state;
2541
0
    yyg->yy_last_accepting_cpos = yy_cp;
2542
0
    }
2543
0
  while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
2544
0
    {
2545
0
    yy_current_state = (int) yy_def[yy_current_state];
2546
0
    if ( yy_current_state >= 286 )
2547
0
      yy_c = yy_meta[yy_c];
2548
0
    }
2549
0
  yy_current_state = yy_nxt[yy_base[yy_current_state] + yy_c];
2550
0
  yy_is_jam = (yy_current_state == 285);
2551
2552
0
  (void)yyg;
2553
0
  return yy_is_jam ? 0 : yy_current_state;
2554
0
}
2555
2556
#ifndef YY_NO_UNPUT
2557
2558
#endif
2559
2560
#ifndef YY_NO_INPUT
2561
#ifdef __cplusplus
2562
    static int yyinput (yyscan_t yyscanner)
2563
#else
2564
    static int input  (yyscan_t yyscanner)
2565
#endif
2566
2567
{
2568
  int c;
2569
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2570
2571
  *yyg->yy_c_buf_p = yyg->yy_hold_char;
2572
2573
  if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
2574
    {
2575
    /* yy_c_buf_p now points to the character we want to return.
2576
     * If this occurs *before* the EOB characters, then it's a
2577
     * valid NUL; if not, then we've hit the end of the buffer.
2578
     */
2579
    if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] )
2580
      /* This was really a NUL. */
2581
      *yyg->yy_c_buf_p = '\0';
2582
2583
    else
2584
      { /* need more input */
2585
      int offset = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr);
2586
      ++yyg->yy_c_buf_p;
2587
2588
      switch ( yy_get_next_buffer( yyscanner ) )
2589
        {
2590
        case EOB_ACT_LAST_MATCH:
2591
          /* This happens because yy_g_n_b()
2592
           * sees that we've accumulated a
2593
           * token and flags that we need to
2594
           * try matching the token before
2595
           * proceeding.  But for input(),
2596
           * there's no matching to consider.
2597
           * So convert the EOB_ACT_LAST_MATCH
2598
           * to EOB_ACT_END_OF_FILE.
2599
           */
2600
2601
          /* Reset buffer status. */
2602
          yyrestart( yyin , yyscanner);
2603
2604
          /*FALLTHROUGH*/
2605
2606
        case EOB_ACT_END_OF_FILE:
2607
          {
2608
          if ( yywrap( yyscanner ) )
2609
            return 0;
2610
2611
          if ( ! yyg->yy_did_buffer_switch_on_eof )
2612
            YY_NEW_FILE;
2613
#ifdef __cplusplus
2614
          return yyinput(yyscanner);
2615
#else
2616
          return input(yyscanner);
2617
#endif
2618
          }
2619
2620
        case EOB_ACT_CONTINUE_SCAN:
2621
          yyg->yy_c_buf_p = yyg->yytext_ptr + offset;
2622
          break;
2623
        }
2624
      }
2625
    }
2626
2627
  c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */
2628
  *yyg->yy_c_buf_p = '\0';  /* preserve yytext */
2629
  yyg->yy_hold_char = *++yyg->yy_c_buf_p;
2630
2631
  return c;
2632
}
2633
#endif  /* ifndef YY_NO_INPUT */
2634
2635
/** Immediately switch to a different input stream.
2636
 * @param input_file A readable stream.
2637
 * @param yyscanner The scanner object.
2638
 * @note This function does not reset the start condition to @c INITIAL .
2639
 */
2640
    void yyrestart  (FILE * input_file , yyscan_t yyscanner)
2641
0
{
2642
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2643
2644
0
  if ( ! YY_CURRENT_BUFFER ){
2645
0
        yyensure_buffer_stack (yyscanner);
2646
0
    YY_CURRENT_BUFFER_LVALUE =
2647
0
            yy_create_buffer( yyin, YY_BUF_SIZE , yyscanner);
2648
0
  }
2649
2650
0
  yy_init_buffer( YY_CURRENT_BUFFER, input_file , yyscanner);
2651
0
  yy_load_buffer_state( yyscanner );
2652
0
}
2653
2654
/** Switch to a different input buffer.
2655
 * @param new_buffer The new input buffer.
2656
 * @param yyscanner The scanner object.
2657
 */
2658
    void yy_switch_to_buffer  (YY_BUFFER_STATE  new_buffer , yyscan_t yyscanner)
2659
8.20k
{
2660
8.20k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2661
2662
  /* TODO. We should be able to replace this entire function body
2663
   * with
2664
   *    yypop_buffer_state();
2665
   *    yypush_buffer_state(new_buffer);
2666
     */
2667
8.20k
  yyensure_buffer_stack (yyscanner);
2668
8.20k
  if ( YY_CURRENT_BUFFER == new_buffer )
2669
0
    return;
2670
2671
8.20k
  if ( YY_CURRENT_BUFFER )
2672
0
    {
2673
    /* Flush out information for old buffer. */
2674
0
    *yyg->yy_c_buf_p = yyg->yy_hold_char;
2675
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
2676
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2677
0
    }
2678
2679
8.20k
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2680
8.20k
  yy_load_buffer_state( yyscanner );
2681
2682
  /* We don't actually know whether we did this switch during
2683
   * EOF (yywrap()) processing, but the only time this flag
2684
   * is looked at is after yywrap() is called, so it's safe
2685
   * to go ahead and always set it.
2686
   */
2687
8.20k
  yyg->yy_did_buffer_switch_on_eof = 1;
2688
8.20k
}
2689
2690
static void yy_load_buffer_state  (yyscan_t yyscanner)
2691
16.4k
{
2692
16.4k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2693
16.4k
  yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
2694
16.4k
  yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
2695
16.4k
  yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
2696
16.4k
  yyg->yy_hold_char = *yyg->yy_c_buf_p;
2697
16.4k
}
2698
2699
/** Allocate and initialize an input buffer state.
2700
 * @param file A readable stream.
2701
 * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
2702
 * @param yyscanner The scanner object.
2703
 * @return the allocated buffer state.
2704
 */
2705
    YY_BUFFER_STATE yy_create_buffer  (FILE * file, int  size , yyscan_t yyscanner)
2706
0
{
2707
0
  YY_BUFFER_STATE b;
2708
    
2709
0
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
2710
0
  if ( ! b )
2711
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2712
2713
0
  b->yy_buf_size = size;
2714
2715
  /* yy_ch_buf has to be 2 characters longer than the size given because
2716
   * we need to put in 2 end-of-buffer characters.
2717
   */
2718
0
  b->yy_ch_buf = (char *) yyalloc( (yy_size_t) (b->yy_buf_size + 2) , yyscanner );
2719
0
  if ( ! b->yy_ch_buf )
2720
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
2721
2722
0
  b->yy_is_our_buffer = 1;
2723
2724
0
  yy_init_buffer( b, file , yyscanner);
2725
2726
0
  return b;
2727
0
}
2728
2729
/** Destroy the buffer.
2730
 * @param b a buffer created with yy_create_buffer()
2731
 * @param yyscanner The scanner object.
2732
 */
2733
    void yy_delete_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
2734
8.20k
{
2735
8.20k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2736
2737
8.20k
  if ( ! b )
2738
0
    return;
2739
2740
8.20k
  if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
2741
8.20k
    YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
2742
2743
8.20k
  if ( b->yy_is_our_buffer )
2744
8.20k
    yyfree( (void *) b->yy_ch_buf , yyscanner );
2745
2746
8.20k
  yyfree( (void *) b , yyscanner );
2747
8.20k
}
2748
2749
/* Initializes or reinitializes a buffer.
2750
 * This function is sometimes called more than once on the same buffer,
2751
 * such as during a yyrestart() or at EOF.
2752
 */
2753
    static void yy_init_buffer  (YY_BUFFER_STATE  b, FILE * file , yyscan_t yyscanner)
2754
2755
0
{
2756
0
  int oerrno = errno;
2757
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2758
2759
0
  yy_flush_buffer( b , yyscanner);
2760
2761
0
  b->yy_input_file = file;
2762
0
  b->yy_fill_buffer = 1;
2763
2764
    /* If b is the current buffer, then yy_init_buffer was _probably_
2765
     * called from yyrestart() or through yy_get_next_buffer.
2766
     * In that case, we don't want to reset the lineno or column.
2767
     */
2768
0
    if (b != YY_CURRENT_BUFFER){
2769
0
        b->yy_bs_lineno = 1;
2770
0
        b->yy_bs_column = 0;
2771
0
    }
2772
2773
0
        b->yy_is_interactive = 0;
2774
    
2775
0
  errno = oerrno;
2776
0
}
2777
2778
/** Discard all buffered characters. On the next scan, YY_INPUT will be called.
2779
 * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
2780
 * @param yyscanner The scanner object.
2781
 */
2782
    void yy_flush_buffer (YY_BUFFER_STATE  b , yyscan_t yyscanner)
2783
0
{
2784
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2785
0
  if ( ! b )
2786
0
    return;
2787
2788
0
  b->yy_n_chars = 0;
2789
2790
  /* We always need two end-of-buffer characters.  The first causes
2791
   * a transition to the end-of-buffer state.  The second causes
2792
   * a jam in that state.
2793
   */
2794
0
  b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
2795
0
  b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
2796
2797
0
  b->yy_buf_pos = &b->yy_ch_buf[0];
2798
2799
0
  b->yy_at_bol = 1;
2800
0
  b->yy_buffer_status = YY_BUFFER_NEW;
2801
2802
0
  if ( b == YY_CURRENT_BUFFER )
2803
0
    yy_load_buffer_state( yyscanner );
2804
0
}
2805
2806
/** Pushes the new state onto the stack. The new state becomes
2807
 *  the current state. This function will allocate the stack
2808
 *  if necessary.
2809
 *  @param new_buffer The new state.
2810
 *  @param yyscanner The scanner object.
2811
 */
2812
void yypush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner)
2813
0
{
2814
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2815
0
  if (new_buffer == NULL)
2816
0
    return;
2817
2818
0
  yyensure_buffer_stack(yyscanner);
2819
2820
  /* This block is copied from yy_switch_to_buffer. */
2821
0
  if ( YY_CURRENT_BUFFER )
2822
0
    {
2823
    /* Flush out information for old buffer. */
2824
0
    *yyg->yy_c_buf_p = yyg->yy_hold_char;
2825
0
    YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p;
2826
0
    YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars;
2827
0
    }
2828
2829
  /* Only push if top exists. Otherwise, replace top. */
2830
0
  if (YY_CURRENT_BUFFER)
2831
0
    yyg->yy_buffer_stack_top++;
2832
0
  YY_CURRENT_BUFFER_LVALUE = new_buffer;
2833
2834
  /* copied from yy_switch_to_buffer. */
2835
0
  yy_load_buffer_state( yyscanner );
2836
0
  yyg->yy_did_buffer_switch_on_eof = 1;
2837
0
}
2838
2839
/** Removes and deletes the top of the stack, if present.
2840
 *  The next element becomes the new top.
2841
 *  @param yyscanner The scanner object.
2842
 */
2843
void yypop_buffer_state (yyscan_t yyscanner)
2844
0
{
2845
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2846
0
  if (!YY_CURRENT_BUFFER)
2847
0
    return;
2848
2849
0
  yy_delete_buffer(YY_CURRENT_BUFFER , yyscanner);
2850
0
  YY_CURRENT_BUFFER_LVALUE = NULL;
2851
0
  if (yyg->yy_buffer_stack_top > 0)
2852
0
    --yyg->yy_buffer_stack_top;
2853
2854
0
  if (YY_CURRENT_BUFFER) {
2855
0
    yy_load_buffer_state( yyscanner );
2856
0
    yyg->yy_did_buffer_switch_on_eof = 1;
2857
0
  }
2858
0
}
2859
2860
/* Allocates the stack if it does not exist.
2861
 *  Guarantees space for at least one push.
2862
 */
2863
static void yyensure_buffer_stack (yyscan_t yyscanner)
2864
8.20k
{
2865
8.20k
  yy_size_t num_to_alloc;
2866
8.20k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
2867
2868
8.20k
  if (!yyg->yy_buffer_stack) {
2869
2870
    /* First allocation is just for 2 elements, since we don't know if this
2871
     * scanner will even need a stack. We use 2 instead of 1 to avoid an
2872
     * immediate realloc on the next call.
2873
         */
2874
8.20k
      num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
2875
8.20k
    yyg->yy_buffer_stack = (struct yy_buffer_state**)yyalloc
2876
8.20k
                (num_to_alloc * sizeof(struct yy_buffer_state*)
2877
8.20k
                , yyscanner);
2878
8.20k
    if ( ! yyg->yy_buffer_stack )
2879
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2880
2881
8.20k
    memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*));
2882
2883
8.20k
    yyg->yy_buffer_stack_max = num_to_alloc;
2884
8.20k
    yyg->yy_buffer_stack_top = 0;
2885
8.20k
    return;
2886
8.20k
  }
2887
2888
0
  if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){
2889
2890
    /* Increase the buffer to prepare for a possible push. */
2891
0
    yy_size_t grow_size = 8 /* arbitrary grow size */;
2892
2893
0
    num_to_alloc = yyg->yy_buffer_stack_max + grow_size;
2894
0
    yyg->yy_buffer_stack = (struct yy_buffer_state**)yyrealloc
2895
0
                (yyg->yy_buffer_stack,
2896
0
                num_to_alloc * sizeof(struct yy_buffer_state*)
2897
0
                , yyscanner);
2898
0
    if ( ! yyg->yy_buffer_stack )
2899
0
      YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
2900
2901
    /* zero only the new slots.*/
2902
0
    memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*));
2903
0
    yyg->yy_buffer_stack_max = num_to_alloc;
2904
0
  }
2905
0
}
2906
2907
/** Setup the input buffer state to scan directly from a user-specified character buffer.
2908
 * @param base the character buffer
2909
 * @param size the size in bytes of the character buffer
2910
 * @param yyscanner The scanner object.
2911
 * @return the newly allocated buffer state object.
2912
 */
2913
YY_BUFFER_STATE yy_scan_buffer  (char * base, yy_size_t  size , yyscan_t yyscanner)
2914
8.20k
{
2915
8.20k
  YY_BUFFER_STATE b;
2916
    
2917
8.20k
  if ( size < 2 ||
2918
8.20k
       base[size-2] != YY_END_OF_BUFFER_CHAR ||
2919
8.20k
       base[size-1] != YY_END_OF_BUFFER_CHAR )
2920
    /* They forgot to leave room for the EOB's. */
2921
0
    return NULL;
2922
2923
8.20k
  b = (YY_BUFFER_STATE) yyalloc( sizeof( struct yy_buffer_state ) , yyscanner );
2924
8.20k
  if ( ! b )
2925
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
2926
2927
8.20k
  b->yy_buf_size = (int) (size - 2);  /* "- 2" to take care of EOB's */
2928
8.20k
  b->yy_buf_pos = b->yy_ch_buf = base;
2929
8.20k
  b->yy_is_our_buffer = 0;
2930
8.20k
  b->yy_input_file = NULL;
2931
8.20k
  b->yy_n_chars = b->yy_buf_size;
2932
8.20k
  b->yy_is_interactive = 0;
2933
8.20k
  b->yy_at_bol = 1;
2934
8.20k
  b->yy_fill_buffer = 0;
2935
8.20k
  b->yy_buffer_status = YY_BUFFER_NEW;
2936
2937
8.20k
  yy_switch_to_buffer( b , yyscanner );
2938
2939
8.20k
  return b;
2940
8.20k
}
2941
2942
/** Setup the input buffer state to scan a string. The next call to yylex() will
2943
 * scan from a @e copy of @a str.
2944
 * @param yystr a NUL-terminated string to scan
2945
 * @param yyscanner The scanner object.
2946
 * @return the newly allocated buffer state object.
2947
 * @note If you want to scan bytes that may contain NUL values, then use
2948
 *       yy_scan_bytes() instead.
2949
 */
2950
YY_BUFFER_STATE yy_scan_string (const char * yystr , yyscan_t yyscanner)
2951
0
{
2952
    
2953
0
  return yy_scan_bytes( yystr, (int) strlen(yystr) , yyscanner);
2954
0
}
2955
2956
/** Setup the input buffer state to scan the given bytes. The next call to yylex() will
2957
 * scan from a @e copy of @a bytes.
2958
 * @param yybytes the byte buffer to scan
2959
 * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
2960
 * @param yyscanner The scanner object.
2961
 * @return the newly allocated buffer state object.
2962
 */
2963
YY_BUFFER_STATE yy_scan_bytes  (const char * yybytes, int  _yybytes_len , yyscan_t yyscanner)
2964
8.20k
{
2965
8.20k
  YY_BUFFER_STATE b;
2966
8.20k
  char *buf;
2967
8.20k
  yy_size_t n;
2968
8.20k
  int i;
2969
    
2970
  /* Get memory for full buffer, including space for trailing EOB's. */
2971
8.20k
  n = (yy_size_t) (_yybytes_len + 2);
2972
8.20k
  buf = (char *) yyalloc( n , yyscanner );
2973
8.20k
  if ( ! buf )
2974
0
    YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
2975
2976
3.53M
  for ( i = 0; i < _yybytes_len; ++i )
2977
3.52M
    buf[i] = yybytes[i];
2978
2979
8.20k
  buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
2980
2981
8.20k
  b = yy_scan_buffer( buf, n , yyscanner);
2982
8.20k
  if ( ! b )
2983
0
    YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
2984
2985
  /* It's okay to grow etc. this buffer, and we should throw it
2986
   * away when we're done.
2987
   */
2988
8.20k
  b->yy_is_our_buffer = 1;
2989
2990
8.20k
  return b;
2991
8.20k
}
2992
2993
#ifndef YY_EXIT_FAILURE
2994
0
#define YY_EXIT_FAILURE 2
2995
#endif
2996
2997
static void yynoreturn yy_fatal_error (const char* msg , yyscan_t yyscanner)
2998
0
{
2999
0
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3000
0
  (void)yyg;
3001
0
  fprintf( stderr, "%s\n", msg );
3002
0
  exit( YY_EXIT_FAILURE );
3003
0
}
3004
3005
/* Redefine yyless() so it works in section 3 code. */
3006
3007
#undef yyless
3008
#define yyless(n) \
3009
  do \
3010
    { \
3011
    /* Undo effects of setting up yytext. */ \
3012
        int yyless_macro_arg = (n); \
3013
        YY_LESS_LINENO(yyless_macro_arg);\
3014
    yytext[yyleng] = yyg->yy_hold_char; \
3015
    yyg->yy_c_buf_p = yytext + yyless_macro_arg; \
3016
    yyg->yy_hold_char = *yyg->yy_c_buf_p; \
3017
    *yyg->yy_c_buf_p = '\0'; \
3018
    yyleng = yyless_macro_arg; \
3019
    } \
3020
  while ( 0 )
3021
3022
/* Accessor  methods (get/set functions) to struct members. */
3023
3024
/** Get the user-defined data for this scanner.
3025
 * @param yyscanner The scanner object.
3026
 */
3027
YY_EXTRA_TYPE yyget_extra  (yyscan_t yyscanner)
3028
0
{
3029
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3030
0
    return yyextra;
3031
0
}
3032
3033
/** Get the current line number.
3034
 * @param yyscanner The scanner object.
3035
 */
3036
int yyget_lineno  (yyscan_t yyscanner)
3037
0
{
3038
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3039
3040
0
        if (! YY_CURRENT_BUFFER)
3041
0
            return 0;
3042
    
3043
0
    return yylineno;
3044
0
}
3045
3046
/** Get the current column number.
3047
 * @param yyscanner The scanner object.
3048
 */
3049
int yyget_column  (yyscan_t yyscanner)
3050
0
{
3051
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3052
3053
0
        if (! YY_CURRENT_BUFFER)
3054
0
            return 0;
3055
    
3056
0
    return yycolumn;
3057
0
}
3058
3059
/** Get the input stream.
3060
 * @param yyscanner The scanner object.
3061
 */
3062
FILE *yyget_in  (yyscan_t yyscanner)
3063
0
{
3064
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3065
0
    return yyin;
3066
0
}
3067
3068
/** Get the output stream.
3069
 * @param yyscanner The scanner object.
3070
 */
3071
FILE *yyget_out  (yyscan_t yyscanner)
3072
0
{
3073
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3074
0
    return yyout;
3075
0
}
3076
3077
/** Get the length of the current token.
3078
 * @param yyscanner The scanner object.
3079
 */
3080
int yyget_leng  (yyscan_t yyscanner)
3081
0
{
3082
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3083
0
    return yyleng;
3084
0
}
3085
3086
/** Get the current token.
3087
 * @param yyscanner The scanner object.
3088
 */
3089
3090
char *yyget_text  (yyscan_t yyscanner)
3091
0
{
3092
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3093
0
    return yytext;
3094
0
}
3095
3096
/** Set the user-defined data. This data is never touched by the scanner.
3097
 * @param user_defined The data to be associated with this scanner.
3098
 * @param yyscanner The scanner object.
3099
 */
3100
void yyset_extra (YY_EXTRA_TYPE  user_defined , yyscan_t yyscanner)
3101
0
{
3102
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3103
0
    yyextra = user_defined ;
3104
0
}
3105
3106
/** Set the current line number.
3107
 * @param _line_number line number
3108
 * @param yyscanner The scanner object.
3109
 */
3110
void yyset_lineno (int  _line_number , yyscan_t yyscanner)
3111
0
{
3112
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3113
3114
        /* lineno is only valid if an input buffer exists. */
3115
0
        if (! YY_CURRENT_BUFFER )
3116
0
           YY_FATAL_ERROR( "yyset_lineno called with no buffer" );
3117
    
3118
0
    yylineno = _line_number;
3119
0
}
3120
3121
/** Set the current column.
3122
 * @param _column_no column number
3123
 * @param yyscanner The scanner object.
3124
 */
3125
void yyset_column (int  _column_no , yyscan_t yyscanner)
3126
0
{
3127
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3128
3129
        /* column is only valid if an input buffer exists. */
3130
0
        if (! YY_CURRENT_BUFFER )
3131
0
           YY_FATAL_ERROR( "yyset_column called with no buffer" );
3132
    
3133
0
    yycolumn = _column_no;
3134
0
}
3135
3136
/** Set the input stream. This does not discard the current
3137
 * input buffer.
3138
 * @param _in_str A readable stream.
3139
 * @param yyscanner The scanner object.
3140
 * @see yy_switch_to_buffer
3141
 */
3142
void yyset_in (FILE *  _in_str , yyscan_t yyscanner)
3143
0
{
3144
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3145
0
    yyin = _in_str ;
3146
0
}
3147
3148
void yyset_out (FILE *  _out_str , yyscan_t yyscanner)
3149
0
{
3150
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3151
0
    yyout = _out_str ;
3152
0
}
3153
3154
int yyget_debug  (yyscan_t yyscanner)
3155
0
{
3156
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3157
0
    return yy_flex_debug;
3158
0
}
3159
3160
void yyset_debug (int  _bdebug , yyscan_t yyscanner)
3161
0
{
3162
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3163
0
    yy_flex_debug = _bdebug ;
3164
0
}
3165
3166
/* Accessor methods for yylval and yylloc */
3167
3168
YYSTYPE * yyget_lval  (yyscan_t yyscanner)
3169
0
{
3170
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3171
0
    return yylval;
3172
0
}
3173
3174
void yyset_lval (YYSTYPE *  yylval_param , yyscan_t yyscanner)
3175
0
{
3176
0
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3177
0
    yylval = yylval_param;
3178
0
}
3179
3180
/* User-visible API */
3181
3182
/* yylex_init is special because it creates the scanner itself, so it is
3183
 * the ONLY reentrant function that doesn't take the scanner as the last argument.
3184
 * That's why we explicitly handle the declaration, instead of using our macros.
3185
 */
3186
int yylex_init(yyscan_t* ptr_yy_globals)
3187
8.20k
{
3188
8.20k
    if (ptr_yy_globals == NULL){
3189
0
        errno = EINVAL;
3190
0
        return 1;
3191
0
    }
3192
3193
8.20k
    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), NULL );
3194
3195
8.20k
    if (*ptr_yy_globals == NULL){
3196
0
        errno = ENOMEM;
3197
0
        return 1;
3198
0
    }
3199
3200
    /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */
3201
8.20k
    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3202
3203
8.20k
    return yy_init_globals ( *ptr_yy_globals );
3204
8.20k
}
3205
3206
/* yylex_init_extra has the same functionality as yylex_init, but follows the
3207
 * convention of taking the scanner as the last argument. Note however, that
3208
 * this is a *pointer* to a scanner, as it will be allocated by this call (and
3209
 * is the reason, too, why this function also must handle its own declaration).
3210
 * The user defined value in the first argument will be available to yyalloc in
3211
 * the yyextra field.
3212
 */
3213
int yylex_init_extra( YY_EXTRA_TYPE yy_user_defined, yyscan_t* ptr_yy_globals )
3214
0
{
3215
0
    struct yyguts_t dummy_yyguts;
3216
3217
0
    yyset_extra (yy_user_defined, &dummy_yyguts);
3218
3219
0
    if (ptr_yy_globals == NULL){
3220
0
        errno = EINVAL;
3221
0
        return 1;
3222
0
    }
3223
3224
0
    *ptr_yy_globals = (yyscan_t) yyalloc ( sizeof( struct yyguts_t ), &dummy_yyguts );
3225
3226
0
    if (*ptr_yy_globals == NULL){
3227
0
        errno = ENOMEM;
3228
0
        return 1;
3229
0
    }
3230
3231
    /* By setting to 0xAA, we expose bugs in
3232
    yy_init_globals. Leave at 0x00 for releases. */
3233
0
    memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t));
3234
3235
0
    yyset_extra (yy_user_defined, *ptr_yy_globals);
3236
3237
0
    return yy_init_globals ( *ptr_yy_globals );
3238
0
}
3239
3240
static int yy_init_globals (yyscan_t yyscanner)
3241
16.4k
{
3242
16.4k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3243
    /* Initialization is the same as for the non-reentrant scanner.
3244
     * This function is called from yylex_destroy(), so don't allocate here.
3245
     */
3246
3247
16.4k
    yyg->yy_buffer_stack = NULL;
3248
16.4k
    yyg->yy_buffer_stack_top = 0;
3249
16.4k
    yyg->yy_buffer_stack_max = 0;
3250
16.4k
    yyg->yy_c_buf_p = NULL;
3251
16.4k
    yyg->yy_init = 0;
3252
16.4k
    yyg->yy_start = 0;
3253
3254
16.4k
    yyg->yy_start_stack_ptr = 0;
3255
16.4k
    yyg->yy_start_stack_depth = 0;
3256
16.4k
    yyg->yy_start_stack =  NULL;
3257
3258
/* Defined in main.c */
3259
#ifdef YY_STDINIT
3260
    yyin = stdin;
3261
    yyout = stdout;
3262
#else
3263
16.4k
    yyin = NULL;
3264
16.4k
    yyout = NULL;
3265
16.4k
#endif
3266
3267
    /* For future reference: Set errno on error, since we are called by
3268
     * yylex_init()
3269
     */
3270
16.4k
    return 0;
3271
16.4k
}
3272
3273
/* yylex_destroy is for both reentrant and non-reentrant scanners. */
3274
int yylex_destroy  (yyscan_t yyscanner)
3275
8.20k
{
3276
8.20k
    struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3277
3278
    /* Pop the buffer stack, destroying each element. */
3279
8.20k
  while(YY_CURRENT_BUFFER){
3280
0
    yy_delete_buffer( YY_CURRENT_BUFFER , yyscanner );
3281
0
    YY_CURRENT_BUFFER_LVALUE = NULL;
3282
0
    yypop_buffer_state(yyscanner);
3283
0
  }
3284
3285
  /* Destroy the stack itself. */
3286
8.20k
  yyfree(yyg->yy_buffer_stack , yyscanner);
3287
8.20k
  yyg->yy_buffer_stack = NULL;
3288
3289
    /* Destroy the start condition stack. */
3290
8.20k
        yyfree( yyg->yy_start_stack , yyscanner );
3291
8.20k
        yyg->yy_start_stack = NULL;
3292
3293
    /* Reset the globals. This is important in a non-reentrant scanner so the next time
3294
     * yylex() is called, initialization will occur. */
3295
8.20k
    yy_init_globals( yyscanner);
3296
3297
    /* Destroy the main struct (reentrant only). */
3298
8.20k
    yyfree ( yyscanner , yyscanner );
3299
8.20k
    yyscanner = NULL;
3300
8.20k
    return 0;
3301
8.20k
}
3302
3303
/*
3304
 * Internal utility routines.
3305
 */
3306
3307
#ifndef yytext_ptr
3308
static void yy_flex_strncpy (char* s1, const char * s2, int n , yyscan_t yyscanner)
3309
{
3310
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3311
  (void)yyg;
3312
3313
  int i;
3314
  for ( i = 0; i < n; ++i )
3315
    s1[i] = s2[i];
3316
}
3317
#endif
3318
3319
#ifdef YY_NEED_STRLEN
3320
static int yy_flex_strlen (const char * s , yyscan_t yyscanner)
3321
{
3322
  int n;
3323
  for ( n = 0; s[n]; ++n )
3324
    ;
3325
3326
  return n;
3327
}
3328
#endif
3329
3330
void *yyalloc (yy_size_t  size , yyscan_t yyscanner)
3331
32.8k
{
3332
32.8k
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3333
32.8k
  (void)yyg;
3334
32.8k
  return malloc(size);
3335
32.8k
}
3336
3337
void *yyrealloc  (void * ptr, yy_size_t  size , yyscan_t yyscanner)
3338
0
{
3339
0
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3340
0
  (void)yyg;
3341
3342
  /* The cast to (char *) in the following accommodates both
3343
   * implementations that use char* generic pointers, and those
3344
   * that use void* generic pointers.  It works with the latter
3345
   * because both ANSI C and C++ allow castless assignment from
3346
   * any pointer type to void*, and deal with argument conversions
3347
   * as though doing an assignment.
3348
   */
3349
0
  return realloc(ptr, size);
3350
0
}
3351
3352
void yyfree (void * ptr , yyscan_t yyscanner)
3353
41.0k
{
3354
41.0k
  struct yyguts_t * yyg = (struct yyguts_t*)yyscanner;
3355
41.0k
  (void)yyg;
3356
41.0k
  free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
3357
41.0k
}
3358
3359
#define YYTABLES_NAME "yytables"
3360
3361
#line 111 "codec/webvtt/CSSLexer.l"