~ubuntu-branches/ubuntu/oneiric/syslog-ng/oneiric

« back to all changes in this revision

Viewing changes to lib/cfg-grammar.c

  • Committer: Bazaar Package Importer
  • Author(s): Laszlo Boszormenyi (GCS)
  • Date: 2011-05-16 22:02:46 UTC
  • mfrom: (26.1.1 sid)
  • Revision ID: james.westby@ubuntu.com-20110516220246-nknmeu831n49bx1z
Tags: 3.2.4-1
* New upstream release, fixing infinite loop via PCRE and global. No CVE
  number yet, Vigil@nce id is 10648.
* Remove all patches, they were applied upstream.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
/* A Bison parser, made by GNU Bison 2.4.1.  */
 
3
 
 
4
/* Skeleton implementation for Bison's Yacc-like parsers in C
 
5
   
 
6
      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
 
7
   Free Software Foundation, Inc.
 
8
   
 
9
   This program is free software: you can redistribute it and/or modify
 
10
   it under the terms of the GNU General Public License as published by
 
11
   the Free Software Foundation, either version 3 of the License, or
 
12
   (at your option) any later version.
 
13
   
 
14
   This program is distributed in the hope that it will be useful,
 
15
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
16
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
17
   GNU General Public License for more details.
 
18
   
 
19
   You should have received a copy of the GNU General Public License
 
20
   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
 
21
 
 
22
/* As a special exception, you may create a larger work that contains
 
23
   part or all of the Bison parser skeleton and distribute that work
 
24
   under terms of your choice, so long as that work isn't itself a
 
25
   parser generator using the skeleton or a modified version thereof
 
26
   as a parser skeleton.  Alternatively, if you modify or redistribute
 
27
   the parser skeleton itself, you may (at your option) remove this
 
28
   special exception, which will cause the skeleton and the resulting
 
29
   Bison output files to be licensed under the GNU General Public
 
30
   License without this special exception.
 
31
   
 
32
   This special exception was added by the Free Software Foundation in
 
33
   version 2.2 of Bison.  */
 
34
 
 
35
/* C LALR(1) parser skeleton written by Richard Stallman, by
 
36
   simplifying the original so-called "semantic" parser.  */
 
37
 
 
38
/* All symbols defined below should begin with yy or YY, to avoid
 
39
   infringing on user name space.  This should be done even for local
 
40
   variables, as they might otherwise be expanded by user macros.
 
41
   There are some unavoidable exceptions within include files to
 
42
   define necessary library symbols; they are noted "INFRINGES ON
 
43
   USER NAME SPACE" below.  */
 
44
 
 
45
/* Identify Bison output.  */
 
46
#define YYBISON 1
 
47
 
 
48
/* Bison version.  */
 
49
#define YYBISON_VERSION "2.4.1"
 
50
 
 
51
/* Skeleton name.  */
 
52
#define YYSKELETON_NAME "yacc.c"
 
53
 
 
54
/* Pure parsers.  */
 
55
#define YYPURE 1
 
56
 
 
57
/* Push parsers.  */
 
58
#define YYPUSH 0
 
59
 
 
60
/* Pull parsers.  */
 
61
#define YYPULL 1
 
62
 
 
63
/* Using locations.  */
 
64
#define YYLSP_NEEDED 1
 
65
 
 
66
/* Substitute the variable and function names.  */
 
67
#define yyparse         main_parse
 
68
#define yylex           main_lex
 
69
#define yyerror         main_error
 
70
#define yylval          main_lval
 
71
#define yychar          main_char
 
72
#define yydebug         main_debug
 
73
#define yynerrs         main_nerrs
 
74
#define yylloc          main_lloc
 
75
 
 
76
/* Copy the first part of user declarations.  */
 
77
 
 
78
 
 
79
/* Line 189 of yacc.c  */
 
80
#line 81 "cfg-grammar.c"
 
81
 
 
82
/* Enabling traces.  */
 
83
#ifndef YYDEBUG
 
84
# define YYDEBUG 0
 
85
#endif
 
86
 
 
87
/* Enabling verbose error messages.  */
 
88
#ifdef YYERROR_VERBOSE
 
89
# undef YYERROR_VERBOSE
 
90
# define YYERROR_VERBOSE 1
 
91
#else
 
92
# define YYERROR_VERBOSE 1
 
93
#endif
 
94
 
 
95
/* Enabling the token table.  */
 
96
#ifndef YYTOKEN_TABLE
 
97
# define YYTOKEN_TABLE 0
 
98
#endif
 
99
 
 
100
/* "%code requires" blocks.  */
 
101
 
 
102
/* Line 209 of yacc.c  */
 
103
#line 25 "cfg-grammar.y"
 
104
 
 
105
 
 
106
/* YYSTYPE and YYLTYPE is defined by the lexer */
 
107
#include "cfg-lexer.h"
 
108
 
 
109
 
 
110
 
 
111
 
 
112
/* Line 209 of yacc.c  */
 
113
#line 114 "cfg-grammar.c"
 
114
 
 
115
/* Tokens.  */
 
116
#ifndef YYTOKENTYPE
 
117
# define YYTOKENTYPE
 
118
   /* Put the tokens into the symbol table, so that GDB and other debuggers
 
119
      know about them.  */
 
120
   enum yytokentype {
 
121
     LL_CONTEXT_ROOT = 1,
 
122
     LL_CONTEXT_DESTINATION = 2,
 
123
     LL_CONTEXT_SOURCE = 3,
 
124
     LL_CONTEXT_PARSER = 4,
 
125
     LL_CONTEXT_REWRITE = 5,
 
126
     LL_CONTEXT_FILTER = 6,
 
127
     LL_CONTEXT_LOG = 7,
 
128
     LL_CONTEXT_BLOCK_DEF = 8,
 
129
     LL_CONTEXT_BLOCK_REF = 9,
 
130
     LL_CONTEXT_BLOCK_CONTENT = 10,
 
131
     LL_CONTEXT_PRAGMA = 11,
 
132
     LL_CONTEXT_FORMAT = 12,
 
133
     LL_CONTEXT_TEMPLATE_FUNC = 13,
 
134
     KW_SOURCE = 10000,
 
135
     KW_FILTER = 10001,
 
136
     KW_PARSER = 10002,
 
137
     KW_DESTINATION = 10003,
 
138
     KW_LOG = 10004,
 
139
     KW_OPTIONS = 10005,
 
140
     KW_INCLUDE = 10006,
 
141
     KW_BLOCK = 10007,
 
142
     KW_INTERNAL = 10010,
 
143
     KW_FILE = 10011,
 
144
     KW_SQL = 10030,
 
145
     KW_TYPE = 10031,
 
146
     KW_COLUMNS = 10032,
 
147
     KW_INDEXES = 10033,
 
148
     KW_VALUES = 10034,
 
149
     KW_PASSWORD = 10035,
 
150
     KW_DATABASE = 10036,
 
151
     KW_USERNAME = 10037,
 
152
     KW_TABLE = 10038,
 
153
     KW_ENCODING = 10039,
 
154
     KW_SESSION_STATEMENTS = 10040,
 
155
     KW_DELIMITERS = 10050,
 
156
     KW_QUOTES = 10051,
 
157
     KW_QUOTE_PAIRS = 10052,
 
158
     KW_NULL = 10053,
 
159
     KW_SYSLOG = 10060,
 
160
     KW_MARK_FREQ = 10071,
 
161
     KW_STATS_FREQ = 10072,
 
162
     KW_STATS_LEVEL = 10073,
 
163
     KW_FLUSH_LINES = 10074,
 
164
     KW_SUPPRESS = 10075,
 
165
     KW_FLUSH_TIMEOUT = 10076,
 
166
     KW_LOG_MSG_SIZE = 10077,
 
167
     KW_FILE_TEMPLATE = 10078,
 
168
     KW_PROTO_TEMPLATE = 10079,
 
169
     KW_CHAIN_HOSTNAMES = 10090,
 
170
     KW_NORMALIZE_HOSTNAMES = 10091,
 
171
     KW_KEEP_HOSTNAME = 10092,
 
172
     KW_CHECK_HOSTNAME = 10093,
 
173
     KW_BAD_HOSTNAME = 10094,
 
174
     KW_KEEP_TIMESTAMP = 10100,
 
175
     KW_USE_DNS = 10110,
 
176
     KW_USE_FQDN = 10111,
 
177
     KW_DNS_CACHE = 10120,
 
178
     KW_DNS_CACHE_SIZE = 10121,
 
179
     KW_DNS_CACHE_EXPIRE = 10130,
 
180
     KW_DNS_CACHE_EXPIRE_FAILED = 10131,
 
181
     KW_DNS_CACHE_HOSTS = 10132,
 
182
     KW_PERSIST_ONLY = 10140,
 
183
     KW_TZ_CONVERT = 10150,
 
184
     KW_TS_FORMAT = 10151,
 
185
     KW_FRAC_DIGITS = 10152,
 
186
     KW_LOG_FIFO_SIZE = 10160,
 
187
     KW_LOG_FETCH_LIMIT = 10162,
 
188
     KW_LOG_IW_SIZE = 10163,
 
189
     KW_LOG_PREFIX = 10164,
 
190
     KW_PROGRAM_OVERRIDE = 10165,
 
191
     KW_HOST_OVERRIDE = 10166,
 
192
     KW_THROTTLE = 10170,
 
193
     KW_FLAGS = 10190,
 
194
     KW_PAD_SIZE = 10200,
 
195
     KW_TIME_ZONE = 10201,
 
196
     KW_RECV_TIME_ZONE = 10202,
 
197
     KW_SEND_TIME_ZONE = 10203,
 
198
     KW_LOCAL_TIME_ZONE = 10204,
 
199
     KW_FORMAT = 10205,
 
200
     KW_TIME_REOPEN = 10210,
 
201
     KW_TIME_REAP = 10211,
 
202
     KW_TIME_SLEEP = 10212,
 
203
     KW_TMPL_ESCAPE = 10220,
 
204
     KW_OPTIONAL = 10230,
 
205
     KW_CREATE_DIRS = 10240,
 
206
     KW_OWNER = 10250,
 
207
     KW_GROUP = 10251,
 
208
     KW_PERM = 10252,
 
209
     KW_DIR_OWNER = 10260,
 
210
     KW_DIR_GROUP = 10261,
 
211
     KW_DIR_PERM = 10262,
 
212
     KW_TEMPLATE = 10270,
 
213
     KW_TEMPLATE_ESCAPE = 10271,
 
214
     KW_DEFAULT_FACILITY = 10300,
 
215
     KW_DEFAULT_LEVEL = 10301,
 
216
     KW_PORT = 10323,
 
217
     KW_USE_TIME_RECVD = 10340,
 
218
     KW_FACILITY = 10350,
 
219
     KW_LEVEL = 10351,
 
220
     KW_HOST = 10352,
 
221
     KW_MATCH = 10353,
 
222
     KW_MESSAGE = 10354,
 
223
     KW_NETMASK = 10355,
 
224
     KW_TAGS = 10356,
 
225
     KW_VALUE = 10361,
 
226
     KW_REWRITE = 10370,
 
227
     KW_SET = 10371,
 
228
     KW_SUBST = 10372,
 
229
     KW_YES = 10380,
 
230
     KW_NO = 10381,
 
231
     KW_IFDEF = 10410,
 
232
     KW_ENDIF = 10411,
 
233
     LL_DOTDOT = 10420,
 
234
     LL_IDENTIFIER = 10421,
 
235
     LL_NUMBER = 10422,
 
236
     LL_FLOAT = 10423,
 
237
     LL_STRING = 10424,
 
238
     LL_TOKEN = 10425,
 
239
     LL_BLOCK = 10426,
 
240
     LL_PRAGMA = 10427,
 
241
     LL_EOL = 10428,
 
242
     LL_ERROR = 10429
 
243
   };
 
244
#endif
 
245
/* Tokens.  */
 
246
#define LL_CONTEXT_ROOT 1
 
247
#define LL_CONTEXT_DESTINATION 2
 
248
#define LL_CONTEXT_SOURCE 3
 
249
#define LL_CONTEXT_PARSER 4
 
250
#define LL_CONTEXT_REWRITE 5
 
251
#define LL_CONTEXT_FILTER 6
 
252
#define LL_CONTEXT_LOG 7
 
253
#define LL_CONTEXT_BLOCK_DEF 8
 
254
#define LL_CONTEXT_BLOCK_REF 9
 
255
#define LL_CONTEXT_BLOCK_CONTENT 10
 
256
#define LL_CONTEXT_PRAGMA 11
 
257
#define LL_CONTEXT_FORMAT 12
 
258
#define LL_CONTEXT_TEMPLATE_FUNC 13
 
259
#define KW_SOURCE 10000
 
260
#define KW_FILTER 10001
 
261
#define KW_PARSER 10002
 
262
#define KW_DESTINATION 10003
 
263
#define KW_LOG 10004
 
264
#define KW_OPTIONS 10005
 
265
#define KW_INCLUDE 10006
 
266
#define KW_BLOCK 10007
 
267
#define KW_INTERNAL 10010
 
268
#define KW_FILE 10011
 
269
#define KW_SQL 10030
 
270
#define KW_TYPE 10031
 
271
#define KW_COLUMNS 10032
 
272
#define KW_INDEXES 10033
 
273
#define KW_VALUES 10034
 
274
#define KW_PASSWORD 10035
 
275
#define KW_DATABASE 10036
 
276
#define KW_USERNAME 10037
 
277
#define KW_TABLE 10038
 
278
#define KW_ENCODING 10039
 
279
#define KW_SESSION_STATEMENTS 10040
 
280
#define KW_DELIMITERS 10050
 
281
#define KW_QUOTES 10051
 
282
#define KW_QUOTE_PAIRS 10052
 
283
#define KW_NULL 10053
 
284
#define KW_SYSLOG 10060
 
285
#define KW_MARK_FREQ 10071
 
286
#define KW_STATS_FREQ 10072
 
287
#define KW_STATS_LEVEL 10073
 
288
#define KW_FLUSH_LINES 10074
 
289
#define KW_SUPPRESS 10075
 
290
#define KW_FLUSH_TIMEOUT 10076
 
291
#define KW_LOG_MSG_SIZE 10077
 
292
#define KW_FILE_TEMPLATE 10078
 
293
#define KW_PROTO_TEMPLATE 10079
 
294
#define KW_CHAIN_HOSTNAMES 10090
 
295
#define KW_NORMALIZE_HOSTNAMES 10091
 
296
#define KW_KEEP_HOSTNAME 10092
 
297
#define KW_CHECK_HOSTNAME 10093
 
298
#define KW_BAD_HOSTNAME 10094
 
299
#define KW_KEEP_TIMESTAMP 10100
 
300
#define KW_USE_DNS 10110
 
301
#define KW_USE_FQDN 10111
 
302
#define KW_DNS_CACHE 10120
 
303
#define KW_DNS_CACHE_SIZE 10121
 
304
#define KW_DNS_CACHE_EXPIRE 10130
 
305
#define KW_DNS_CACHE_EXPIRE_FAILED 10131
 
306
#define KW_DNS_CACHE_HOSTS 10132
 
307
#define KW_PERSIST_ONLY 10140
 
308
#define KW_TZ_CONVERT 10150
 
309
#define KW_TS_FORMAT 10151
 
310
#define KW_FRAC_DIGITS 10152
 
311
#define KW_LOG_FIFO_SIZE 10160
 
312
#define KW_LOG_FETCH_LIMIT 10162
 
313
#define KW_LOG_IW_SIZE 10163
 
314
#define KW_LOG_PREFIX 10164
 
315
#define KW_PROGRAM_OVERRIDE 10165
 
316
#define KW_HOST_OVERRIDE 10166
 
317
#define KW_THROTTLE 10170
 
318
#define KW_FLAGS 10190
 
319
#define KW_PAD_SIZE 10200
 
320
#define KW_TIME_ZONE 10201
 
321
#define KW_RECV_TIME_ZONE 10202
 
322
#define KW_SEND_TIME_ZONE 10203
 
323
#define KW_LOCAL_TIME_ZONE 10204
 
324
#define KW_FORMAT 10205
 
325
#define KW_TIME_REOPEN 10210
 
326
#define KW_TIME_REAP 10211
 
327
#define KW_TIME_SLEEP 10212
 
328
#define KW_TMPL_ESCAPE 10220
 
329
#define KW_OPTIONAL 10230
 
330
#define KW_CREATE_DIRS 10240
 
331
#define KW_OWNER 10250
 
332
#define KW_GROUP 10251
 
333
#define KW_PERM 10252
 
334
#define KW_DIR_OWNER 10260
 
335
#define KW_DIR_GROUP 10261
 
336
#define KW_DIR_PERM 10262
 
337
#define KW_TEMPLATE 10270
 
338
#define KW_TEMPLATE_ESCAPE 10271
 
339
#define KW_DEFAULT_FACILITY 10300
 
340
#define KW_DEFAULT_LEVEL 10301
 
341
#define KW_PORT 10323
 
342
#define KW_USE_TIME_RECVD 10340
 
343
#define KW_FACILITY 10350
 
344
#define KW_LEVEL 10351
 
345
#define KW_HOST 10352
 
346
#define KW_MATCH 10353
 
347
#define KW_MESSAGE 10354
 
348
#define KW_NETMASK 10355
 
349
#define KW_TAGS 10356
 
350
#define KW_VALUE 10361
 
351
#define KW_REWRITE 10370
 
352
#define KW_SET 10371
 
353
#define KW_SUBST 10372
 
354
#define KW_YES 10380
 
355
#define KW_NO 10381
 
356
#define KW_IFDEF 10410
 
357
#define KW_ENDIF 10411
 
358
#define LL_DOTDOT 10420
 
359
#define LL_IDENTIFIER 10421
 
360
#define LL_NUMBER 10422
 
361
#define LL_FLOAT 10423
 
362
#define LL_STRING 10424
 
363
#define LL_TOKEN 10425
 
364
#define LL_BLOCK 10426
 
365
#define LL_PRAGMA 10427
 
366
#define LL_EOL 10428
 
367
#define LL_ERROR 10429
 
368
 
 
369
 
 
370
 
 
371
 
 
372
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
 
373
 
 
374
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
 
375
# define YYSTYPE_IS_DECLARED 1
 
376
#endif
 
377
 
 
378
#if ! defined YYLTYPE && ! defined YYLTYPE_IS_DECLARED
 
379
typedef struct YYLTYPE
 
380
{
 
381
  int first_line;
 
382
  int first_column;
 
383
  int last_line;
 
384
  int last_column;
 
385
} YYLTYPE;
 
386
# define yyltype YYLTYPE /* obsolescent; will be withdrawn */
 
387
# define YYLTYPE_IS_DECLARED 1
 
388
# define YYLTYPE_IS_TRIVIAL 1
 
389
#endif
 
390
 
 
391
 
 
392
/* Copy the second part of user declarations.  */
 
393
 
 
394
 
 
395
/* Line 264 of yacc.c  */
 
396
#line 397 "cfg-grammar.c"
 
397
/* Unqualified %code blocks.  */
 
398
 
 
399
/* Line 265 of yacc.c  */
 
400
#line 45 "cfg-grammar.y"
 
401
 
 
402
 
 
403
# define YYLLOC_DEFAULT(Current, Rhs, N)                                \
 
404
  do {                                                                  \
 
405
    if (YYID (N))                                                       \
 
406
      {                                                                 \
 
407
        (Current).level = YYRHSLOC(Rhs, 1).level;                       \
 
408
        (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;          \
 
409
        (Current).first_column = YYRHSLOC (Rhs, 1).first_column;        \
 
410
        (Current).last_line    = YYRHSLOC (Rhs, N).last_line;           \
 
411
        (Current).last_column  = YYRHSLOC (Rhs, N).last_column;         \
 
412
      }                                                                 \
 
413
    else                                                                \
 
414
      {                                                                 \
 
415
        (Current).level = YYRHSLOC(Rhs, 0).level;                       \
 
416
        (Current).first_line   = (Current).last_line   =                \
 
417
          YYRHSLOC (Rhs, 0).last_line;                                  \
 
418
        (Current).first_column = (Current).last_column =                \
 
419
          YYRHSLOC (Rhs, 0).last_column;                                \
 
420
      }                                                                 \
 
421
  } while (YYID (0))
 
422
 
 
423
#define CHECK_ERROR(val, token, errorfmt, ...) do {                     \
 
424
    if (!(val))                                                         \
 
425
      {                                                                 \
 
426
        if (errorfmt)                                                   \
 
427
          {                                                             \
 
428
            gchar __buf[256];                                           \
 
429
            g_snprintf(__buf, sizeof(__buf), errorfmt ? errorfmt : "x", ## __VA_ARGS__); \
 
430
            yyerror(& (token), lexer, NULL, __buf);                     \
 
431
          }                                                             \
 
432
        YYERROR;                                                        \
 
433
      }                                                                 \
 
434
  } while (0)
 
435
 
 
436
#define YYMAXDEPTH 20000
 
437
 
 
438
 
 
439
 
 
440
 
 
441
/* Line 265 of yacc.c  */
 
442
#line 264 "cfg-grammar.y"
 
443
 
 
444
 
 
445
#include "cfg-parser.h"
 
446
#include "cfg.h"
 
447
#include "sgroup.h"
 
448
#include "dgroup.h"
 
449
#include "center.h"
 
450
#include "filter.h"
 
451
#include "templates.h"
 
452
#include "logreader.h"
 
453
#include "logparser.h"
 
454
#include "logrewrite.h"
 
455
#include "filter-expr-parser.h"
 
456
#include "rewrite-expr-parser.h"
 
457
#include "block-ref-parser.h"
 
458
#include "parser-expr-parser.h"
 
459
#include "plugin.h"
 
460
 
 
461
 
 
462
#include "afinter.h"
 
463
#include "logwriter.h"
 
464
 
 
465
#include "messages.h"
 
466
 
 
467
#include "syslog-names.h"
 
468
 
 
469
#include <netinet/in.h>
 
470
#include <stdio.h>
 
471
#include <stdlib.h>
 
472
#include <string.h>
 
473
 
 
474
#include "cfg-grammar.h"
 
475
 
 
476
LogDriver *last_driver;
 
477
LogReaderOptions *last_reader_options;
 
478
LogWriterOptions *last_writer_options;
 
479
LogTemplate *last_template;
 
480
GList *last_rewrite_expr;
 
481
GList *last_parser_expr;
 
482
FilterExprNode *last_filter_expr;
 
483
CfgArgs *last_block_args;
 
484
 
 
485
 
 
486
 
 
487
 
 
488
/* Line 265 of yacc.c  */
 
489
#line 490 "cfg-grammar.c"
 
490
 
 
491
#ifdef short
 
492
# undef short
 
493
#endif
 
494
 
 
495
#ifdef YYTYPE_UINT8
 
496
typedef YYTYPE_UINT8 yytype_uint8;
 
497
#else
 
498
typedef unsigned char yytype_uint8;
 
499
#endif
 
500
 
 
501
#ifdef YYTYPE_INT8
 
502
typedef YYTYPE_INT8 yytype_int8;
 
503
#elif (defined __STDC__ || defined __C99__FUNC__ \
 
504
     || defined __cplusplus || defined _MSC_VER)
 
505
typedef signed char yytype_int8;
 
506
#else
 
507
typedef short int yytype_int8;
 
508
#endif
 
509
 
 
510
#ifdef YYTYPE_UINT16
 
511
typedef YYTYPE_UINT16 yytype_uint16;
 
512
#else
 
513
typedef unsigned short int yytype_uint16;
 
514
#endif
 
515
 
 
516
#ifdef YYTYPE_INT16
 
517
typedef YYTYPE_INT16 yytype_int16;
 
518
#else
 
519
typedef short int yytype_int16;
 
520
#endif
 
521
 
 
522
#ifndef YYSIZE_T
 
523
# ifdef __SIZE_TYPE__
 
524
#  define YYSIZE_T __SIZE_TYPE__
 
525
# elif defined size_t
 
526
#  define YYSIZE_T size_t
 
527
# elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
 
528
     || defined __cplusplus || defined _MSC_VER)
 
529
#  include <stddef.h> /* INFRINGES ON USER NAME SPACE */
 
530
#  define YYSIZE_T size_t
 
531
# else
 
532
#  define YYSIZE_T unsigned int
 
533
# endif
 
534
#endif
 
535
 
 
536
#define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
 
537
 
 
538
#ifndef YY_
 
539
# if YYENABLE_NLS
 
540
#  if ENABLE_NLS
 
541
#   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
 
542
#   define YY_(msgid) dgettext ("bison-runtime", msgid)
 
543
#  endif
 
544
# endif
 
545
# ifndef YY_
 
546
#  define YY_(msgid) msgid
 
547
# endif
 
548
#endif
 
549
 
 
550
/* Suppress unused-variable warnings by "using" E.  */
 
551
#if ! defined lint || defined __GNUC__
 
552
# define YYUSE(e) ((void) (e))
 
553
#else
 
554
# define YYUSE(e) /* empty */
 
555
#endif
 
556
 
 
557
/* Identity function, used to suppress warnings about constant conditions.  */
 
558
#ifndef lint
 
559
# define YYID(n) (n)
 
560
#else
 
561
#if (defined __STDC__ || defined __C99__FUNC__ \
 
562
     || defined __cplusplus || defined _MSC_VER)
 
563
static int
 
564
YYID (int yyi)
 
565
#else
 
566
static int
 
567
YYID (yyi)
 
568
    int yyi;
 
569
#endif
 
570
{
 
571
  return yyi;
 
572
}
 
573
#endif
 
574
 
 
575
#if ! defined yyoverflow || YYERROR_VERBOSE
 
576
 
 
577
/* The parser invokes alloca or malloc; define the necessary symbols.  */
 
578
 
 
579
# ifdef YYSTACK_USE_ALLOCA
 
580
#  if YYSTACK_USE_ALLOCA
 
581
#   ifdef __GNUC__
 
582
#    define YYSTACK_ALLOC __builtin_alloca
 
583
#   elif defined __BUILTIN_VA_ARG_INCR
 
584
#    include <alloca.h> /* INFRINGES ON USER NAME SPACE */
 
585
#   elif defined _AIX
 
586
#    define YYSTACK_ALLOC __alloca
 
587
#   elif defined _MSC_VER
 
588
#    include <malloc.h> /* INFRINGES ON USER NAME SPACE */
 
589
#    define alloca _alloca
 
590
#   else
 
591
#    define YYSTACK_ALLOC alloca
 
592
#    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
 
593
     || defined __cplusplus || defined _MSC_VER)
 
594
#     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
 
595
#     ifndef _STDLIB_H
 
596
#      define _STDLIB_H 1
 
597
#     endif
 
598
#    endif
 
599
#   endif
 
600
#  endif
 
601
# endif
 
602
 
 
603
# ifdef YYSTACK_ALLOC
 
604
   /* Pacify GCC's `empty if-body' warning.  */
 
605
#  define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
 
606
#  ifndef YYSTACK_ALLOC_MAXIMUM
 
607
    /* The OS might guarantee only one guard page at the bottom of the stack,
 
608
       and a page size can be as small as 4096 bytes.  So we cannot safely
 
609
       invoke alloca (N) if N exceeds 4096.  Use a slightly smaller number
 
610
       to allow for a few compiler-allocated temporary stack slots.  */
 
611
#   define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
 
612
#  endif
 
613
# else
 
614
#  define YYSTACK_ALLOC YYMALLOC
 
615
#  define YYSTACK_FREE YYFREE
 
616
#  ifndef YYSTACK_ALLOC_MAXIMUM
 
617
#   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
 
618
#  endif
 
619
#  if (defined __cplusplus && ! defined _STDLIB_H \
 
620
       && ! ((defined YYMALLOC || defined malloc) \
 
621
             && (defined YYFREE || defined free)))
 
622
#   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
 
623
#   ifndef _STDLIB_H
 
624
#    define _STDLIB_H 1
 
625
#   endif
 
626
#  endif
 
627
#  ifndef YYMALLOC
 
628
#   define YYMALLOC malloc
 
629
#   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
 
630
     || defined __cplusplus || defined _MSC_VER)
 
631
void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
 
632
#   endif
 
633
#  endif
 
634
#  ifndef YYFREE
 
635
#   define YYFREE free
 
636
#   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
 
637
     || defined __cplusplus || defined _MSC_VER)
 
638
void free (void *); /* INFRINGES ON USER NAME SPACE */
 
639
#   endif
 
640
#  endif
 
641
# endif
 
642
#endif /* ! defined yyoverflow || YYERROR_VERBOSE */
 
643
 
 
644
 
 
645
#if (! defined yyoverflow \
 
646
     && (! defined __cplusplus \
 
647
         || (defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL \
 
648
             && defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
 
649
 
 
650
/* A type that is properly aligned for any stack member.  */
 
651
union yyalloc
 
652
{
 
653
  yytype_int16 yyss_alloc;
 
654
  YYSTYPE yyvs_alloc;
 
655
  YYLTYPE yyls_alloc;
 
656
};
 
657
 
 
658
/* The size of the maximum gap between one aligned stack and the next.  */
 
659
# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
 
660
 
 
661
/* The size of an array large to enough to hold all stacks, each with
 
662
   N elements.  */
 
663
# define YYSTACK_BYTES(N) \
 
664
     ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE) + sizeof (YYLTYPE)) \
 
665
      + 2 * YYSTACK_GAP_MAXIMUM)
 
666
 
 
667
/* Copy COUNT objects from FROM to TO.  The source and destination do
 
668
   not overlap.  */
 
669
# ifndef YYCOPY
 
670
#  if defined __GNUC__ && 1 < __GNUC__
 
671
#   define YYCOPY(To, From, Count) \
 
672
      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
 
673
#  else
 
674
#   define YYCOPY(To, From, Count)              \
 
675
      do                                        \
 
676
        {                                       \
 
677
          YYSIZE_T yyi;                         \
 
678
          for (yyi = 0; yyi < (Count); yyi++)   \
 
679
            (To)[yyi] = (From)[yyi];            \
 
680
        }                                       \
 
681
      while (YYID (0))
 
682
#  endif
 
683
# endif
 
684
 
 
685
/* Relocate STACK from its old location to the new one.  The
 
686
   local variables YYSIZE and YYSTACKSIZE give the old and new number of
 
687
   elements in the stack, and YYPTR gives the new location of the
 
688
   stack.  Advance YYPTR to a properly aligned location for the next
 
689
   stack.  */
 
690
# define YYSTACK_RELOCATE(Stack_alloc, Stack)                           \
 
691
    do                                                                  \
 
692
      {                                                                 \
 
693
        YYSIZE_T yynewbytes;                                            \
 
694
        YYCOPY (&yyptr->Stack_alloc, Stack, yysize);                    \
 
695
        Stack = &yyptr->Stack_alloc;                                    \
 
696
        yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
 
697
        yyptr += yynewbytes / sizeof (*yyptr);                          \
 
698
      }                                                                 \
 
699
    while (YYID (0))
 
700
 
 
701
#endif
 
702
 
 
703
/* YYFINAL -- State number of the termination state.  */
 
704
#define YYFINAL  33
 
705
/* YYLAST -- Last index in YYTABLE.  */
 
706
#define YYLAST   307
 
707
 
 
708
/* YYNTOKENS -- Number of terminals.  */
 
709
#define YYNTOKENS  130
 
710
/* YYNNTS -- Number of nonterminals.  */
 
711
#define YYNNTS  50
 
712
/* YYNRULES -- Number of rules.  */
 
713
#define YYNRULES  128
 
714
/* YYNRULES -- Number of states.  */
 
715
#define YYNSTATES  325
 
716
 
 
717
/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
 
718
#define YYUNDEFTOK  2
 
719
#define YYMAXUTOK   10430
 
720
 
 
721
#define YYTRANSLATE(YYX)                                                \
 
722
  ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
 
723
 
 
724
/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
 
725
static const yytype_uint8 yytranslate[] =
 
726
{
 
727
       0,     3,     4,     5,     6,     7,     8,     9,    10,    11,
 
728
      12,    13,    14,    15,     2,     2,     2,     2,     2,     2,
 
729
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
730
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
731
     128,   129,     2,     2,     2,     2,     2,     2,     2,     2,
 
732
       2,     2,     2,     2,     2,     2,     2,     2,     2,   125,
 
733
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
734
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
735
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
736
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
737
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
738
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
739
       2,     2,     2,   126,     2,   127,     2,     2,     2,     2,
 
740
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
741
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
742
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
743
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
744
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
745
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
746
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
747
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
748
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
749
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
750
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
751
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
752
       2,     2,     2,     2,     2,     2,     1,     2,     2,     2,
 
753
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
754
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
755
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
756
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
757
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
758
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
759
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
760
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
761
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
762
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
763
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
764
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
765
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
766
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
767
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
768
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
769
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
770
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
771
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
772
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
773
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
774
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
775
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
776
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
777
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
778
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
779
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
780
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
781
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
782
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
783
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
784
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
785
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
786
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
787
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
788
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
789
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
790
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
791
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
792
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
793
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
794
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
795
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
796
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
797
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
798
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
799
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
800
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
801
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
802
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
803
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
804
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
805
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
806
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
807
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
808
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
809
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
810
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
811
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
812
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
813
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
814
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
815
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
816
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
817
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
818
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
819
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
820
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
821
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
822
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
823
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
824
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
825
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
826
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
827
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
828
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
829
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
830
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
831
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
832
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
833
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
834
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
835
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
836
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
837
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
838
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
839
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
840
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
841
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
842
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
843
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
844
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
845
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
846
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
847
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
848
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
849
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
850
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
851
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
852
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
853
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
854
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
855
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
856
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
857
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
858
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
859
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
860
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
861
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
862
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
863
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
864
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
865
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
866
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
867
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
868
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
869
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
870
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
871
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
872
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
873
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
874
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
875
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
876
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
877
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
878
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
879
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
880
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
881
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
882
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
883
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
884
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
885
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
886
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
887
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
888
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
889
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
890
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
891
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
892
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
893
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
894
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
895
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
896
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
897
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
898
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
899
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
900
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
901
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
902
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
903
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
904
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
905
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
906
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
907
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
908
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
909
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
910
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
911
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
912
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
913
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
914
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
915
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
916
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
917
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
918
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
919
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
920
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
921
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
922
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
923
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
924
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
925
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
926
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
927
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
928
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
929
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
930
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
931
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
932
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
933
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
934
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
935
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
936
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
937
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
938
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
939
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
940
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
941
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
942
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
943
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
944
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
945
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
946
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
947
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
948
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
949
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
950
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
951
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
952
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
953
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
954
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
955
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
956
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
957
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
958
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
959
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
960
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
961
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
962
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
963
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
964
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
965
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
966
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
967
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
968
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
969
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
970
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
971
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
972
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
973
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
974
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
975
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
976
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
977
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
978
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
979
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
980
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
981
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
982
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
983
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
984
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
985
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
986
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
987
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
988
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
989
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
990
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
991
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
992
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
993
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
994
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
995
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
996
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
997
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
998
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
999
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1000
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1001
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1002
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1003
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1004
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1005
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1006
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1007
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1008
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1009
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1010
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1011
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1012
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1013
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1014
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1015
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1016
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1017
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1018
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1019
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1020
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1021
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1022
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1023
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1024
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1025
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1026
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1027
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1028
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1029
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1030
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1031
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1032
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1033
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1034
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1035
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1036
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1037
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1038
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1039
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1040
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1041
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1042
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1043
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1044
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1045
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1046
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1047
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1048
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1049
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1050
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1051
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1052
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1053
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1054
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1055
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1056
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1057
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1058
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1059
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1060
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1061
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1062
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1063
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1064
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1065
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1066
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1067
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1068
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1069
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1070
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1071
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1072
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1073
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1074
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1075
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1076
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1077
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1078
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1079
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1080
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1081
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1082
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1083
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1084
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1085
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1086
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1087
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1088
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1089
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1090
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1091
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1092
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1093
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1094
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1095
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1096
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1097
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1098
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1099
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1100
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1101
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1102
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1103
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1104
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1105
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1106
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1107
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1108
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1109
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1110
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1111
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1112
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1113
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1114
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1115
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1116
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1117
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1118
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1119
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1120
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1121
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1122
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1123
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1124
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1125
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1126
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1127
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1128
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1129
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1130
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1131
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1132
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1133
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1134
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1135
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1136
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1137
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1138
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1139
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1140
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1141
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1142
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1143
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1144
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1145
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1146
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1147
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1148
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1149
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1150
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1151
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1152
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1153
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1154
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1155
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1156
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1157
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1158
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1159
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1160
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1161
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1162
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1163
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1164
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1165
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1166
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1167
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1168
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1169
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1170
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1171
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1172
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1173
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1174
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1175
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1176
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1177
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1178
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1179
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1180
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1181
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1182
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1183
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1184
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1185
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1186
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1187
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1188
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1189
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1190
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1191
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1192
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1193
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1194
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1195
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1196
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1197
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1198
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1199
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1200
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1201
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1202
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1203
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1204
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1205
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1206
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1207
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1208
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1209
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1210
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1211
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1212
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1213
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1214
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1215
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1216
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1217
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1218
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1219
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1220
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1221
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1222
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1223
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1224
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1225
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1226
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1227
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1228
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1229
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1230
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1231
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1232
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1233
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1234
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1235
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1236
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1237
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1238
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1239
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1240
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1241
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1242
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1243
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1244
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1245
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1246
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1247
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1248
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1249
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1250
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1251
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1252
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1253
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1254
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1255
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1256
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1257
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1258
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1259
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1260
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1261
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1262
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1263
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1264
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1265
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1266
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1267
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1268
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1269
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1270
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1271
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1272
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1273
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1274
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1275
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1276
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1277
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1278
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1279
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1280
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1281
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1282
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1283
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1284
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1285
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1286
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1287
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1288
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1289
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1290
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1291
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1292
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1293
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1294
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1295
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1296
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1297
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1298
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1299
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1300
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1301
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1302
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1303
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1304
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1305
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1306
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1307
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1308
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1309
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1310
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1311
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1312
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1313
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1314
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1315
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1316
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1317
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1318
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1319
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1320
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1321
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1322
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1323
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1324
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1325
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1326
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1327
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1328
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1329
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1330
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1331
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1332
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1333
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1334
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1335
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1336
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1337
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1338
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1339
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1340
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1341
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1342
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1343
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1344
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1345
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1346
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1347
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1348
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1349
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1350
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1351
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1352
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1353
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1354
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1355
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1356
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1357
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1358
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1359
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1360
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1361
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1362
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1363
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1364
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1365
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1366
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1367
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1368
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1369
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1370
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1371
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1372
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1373
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1374
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1375
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1376
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1377
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1378
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1379
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1380
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1381
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1382
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1383
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1384
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1385
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1386
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1387
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1388
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1389
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1390
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1391
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1392
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1393
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1394
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1395
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1396
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1397
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1398
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1399
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1400
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1401
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1402
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1403
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1404
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1405
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1406
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1407
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1408
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1409
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1410
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1411
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1412
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1413
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1414
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1415
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1416
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1417
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1418
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1419
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1420
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1421
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1422
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1423
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1424
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1425
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1426
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1427
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1428
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1429
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1430
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1431
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1432
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1433
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1434
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1435
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1436
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1437
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1438
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1439
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1440
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1441
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1442
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1443
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1444
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1445
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1446
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1447
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1448
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1449
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1450
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1451
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1452
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1453
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1454
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1455
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1456
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1457
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1458
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1459
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1460
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1461
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1462
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1463
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1464
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1465
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1466
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1467
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1468
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1469
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1470
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1471
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1472
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1473
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1474
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1475
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1476
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1477
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1478
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1479
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1480
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1481
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1482
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1483
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1484
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1485
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1486
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1487
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1488
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1489
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1490
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1491
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1492
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1493
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1494
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1495
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1496
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1497
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1498
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1499
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1500
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1501
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1502
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1503
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1504
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1505
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1506
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1507
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1508
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1509
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1510
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1511
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1512
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1513
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1514
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1515
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1516
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1517
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1518
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1519
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1520
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1521
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1522
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1523
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1524
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1525
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1526
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1527
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1528
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1529
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1530
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1531
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1532
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1533
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1534
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1535
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1536
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1537
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1538
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1539
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1540
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1541
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1542
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1543
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1544
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1545
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1546
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1547
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1548
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1549
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1550
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1551
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1552
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1553
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1554
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1555
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1556
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1557
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1558
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1559
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1560
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1561
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1562
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1563
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1564
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1565
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1566
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1567
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1568
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1569
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1570
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1571
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1572
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1573
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1574
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1575
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1576
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1577
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1578
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1579
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1580
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1581
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1582
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1583
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1584
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1585
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1586
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1587
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1588
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1589
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1590
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1591
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1592
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1593
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1594
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1595
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1596
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1597
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1598
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1599
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1600
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1601
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1602
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1603
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1604
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1605
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1606
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1607
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1608
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1609
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1610
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1611
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1612
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1613
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1614
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1615
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1616
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1617
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1618
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1619
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1620
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1621
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1622
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1623
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1624
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1625
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1626
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1627
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1628
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1629
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1630
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1631
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1632
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1633
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1634
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1635
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1636
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1637
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1638
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1639
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1640
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1641
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1642
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1643
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1644
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1645
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1646
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1647
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1648
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1649
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1650
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1651
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1652
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1653
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1654
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1655
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1656
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1657
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1658
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1659
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1660
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1661
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1662
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1663
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1664
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1665
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1666
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1667
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1668
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1669
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1670
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1671
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1672
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1673
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1674
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1675
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1676
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1677
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1678
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1679
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1680
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1681
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1682
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1683
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1684
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1685
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1686
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1687
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1688
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1689
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1690
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1691
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1692
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1693
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1694
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1695
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1696
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1697
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1698
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1699
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1700
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1701
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1702
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1703
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1704
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1705
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1706
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1707
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1708
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1709
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1710
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1711
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1712
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1713
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1714
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1715
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1716
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1717
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1718
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1719
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1720
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1721
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1722
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1723
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1724
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1725
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1726
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1727
      16,    17,    18,    19,    20,    21,    22,    23,     2,     2,
 
1728
      24,    25,     2,     2,     2,     2,     2,     2,     2,     2,
 
1729
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1730
      26,    27,    28,    29,    30,    31,    32,    33,    34,    35,
 
1731
      36,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1732
      37,    38,    39,    40,     2,     2,     2,     2,     2,     2,
 
1733
      41,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1734
       2,    42,    43,    44,    45,    46,    47,    48,    49,    50,
 
1735
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1736
      51,    52,    53,    54,    55,     2,     2,     2,     2,     2,
 
1737
      56,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1738
      57,    58,     2,     2,     2,     2,     2,     2,     2,     2,
 
1739
      59,    60,     2,     2,     2,     2,     2,     2,     2,     2,
 
1740
      61,    62,    63,     2,     2,     2,     2,     2,     2,     2,
 
1741
      64,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1742
      65,    66,    67,     2,     2,     2,     2,     2,     2,     2,
 
1743
      68,     2,    69,    70,    71,    72,    73,     2,     2,     2,
 
1744
      74,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1745
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1746
      75,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1747
      76,    77,    78,    79,    80,    81,     2,     2,     2,     2,
 
1748
      82,    83,    84,     2,     2,     2,     2,     2,     2,     2,
 
1749
      85,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1750
      86,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1751
      87,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1752
      88,    89,    90,     2,     2,     2,     2,     2,     2,     2,
 
1753
      91,    92,    93,     2,     2,     2,     2,     2,     2,     2,
 
1754
      94,    95,     2,     2,     2,     2,     2,     2,     2,     2,
 
1755
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1756
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1757
      96,    97,     2,     2,     2,     2,     2,     2,     2,     2,
 
1758
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1759
       2,     2,     2,    98,     2,     2,     2,     2,     2,     2,
 
1760
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1761
      99,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1762
     100,   101,   102,   103,   104,   105,   106,     2,     2,     2,
 
1763
       2,   107,     2,     2,     2,     2,     2,     2,     2,     2,
 
1764
     108,   109,   110,     2,     2,     2,     2,     2,     2,     2,
 
1765
     111,   112,     2,     2,     2,     2,     2,     2,     2,     2,
 
1766
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1767
       2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
 
1768
     113,   114,     2,     2,     2,     2,     2,     2,     2,     2,
 
1769
     115,   116,   117,   118,   119,   120,   121,   122,   123,   124,
 
1770
       2
 
1771
};
 
1772
 
 
1773
#if YYDEBUG
 
1774
/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
 
1775
   YYRHS.  */
 
1776
static const yytype_uint16 yyprhs[] =
 
1777
{
 
1778
       0,     0,     3,     5,     9,    10,    13,    16,    19,    22,
 
1779
      25,    28,    31,    34,    37,    38,    39,    46,    47,    52,
 
1780
      53,    58,    59,    64,    65,    66,    73,    74,    75,    83,
 
1781
      84,    85,    86,    96,    99,   100,   105,   109,   113,   114,
 
1782
     119,   124,   129,   134,   139,   143,   144,   151,   157,   158,
 
1783
     160,   163,   166,   167,   171,   172,   178,   182,   183,   188,
 
1784
     193,   197,   200,   201,   203,   205,   207,   211,   215,   218,
 
1785
     219,   221,   223,   227,   228,   233,   238,   243,   248,   253,
 
1786
     258,   263,   268,   273,   278,   283,   288,   293,   298,   303,
 
1787
     308,   313,   318,   323,   328,   333,   338,   343,   348,   352,
 
1788
     357,   361,   366,   370,   375,   379,   384,   388,   393,   397,
 
1789
     402,   407,   412,   417,   422,   427,   432,   437,   442,   447,
 
1790
     449,   451,   453,   455,   457,   459,   461,   463,   465
 
1791
};
 
1792
 
 
1793
/* YYRHS -- A `-1'-separated list of the rules' RHS.  */
 
1794
static const yytype_int16 yyrhs[] =
 
1795
{
 
1796
     131,     0,    -1,   132,    -1,   133,   125,   132,    -1,    -1,
 
1797
      16,   134,    -1,    19,   143,    -1,    20,   146,    -1,    17,
 
1798
     137,    -1,    18,   139,    -1,   108,   141,    -1,    94,   163,
 
1799
      -1,    21,   162,    -1,    23,   149,    -1,    -1,    -1,   176,
 
1800
     135,   126,   167,   127,   136,    -1,    -1,   176,   126,   138,
 
1801
     127,    -1,    -1,   176,   126,   140,   127,    -1,    -1,   176,
 
1802
     126,   142,   127,    -1,    -1,    -1,   176,   144,   126,   171,
 
1803
     127,   145,    -1,    -1,    -1,   147,   126,   155,   157,   159,
 
1804
     127,   148,    -1,    -1,    -1,    -1,   150,   116,   116,   128,
 
1805
     151,   153,   129,   152,   121,    -1,   154,   153,    -1,    -1,
 
1806
     116,   128,   179,   129,    -1,   116,   128,   129,    -1,   156,
 
1807
     160,   155,    -1,    -1,    16,   128,   176,   129,    -1,    17,
 
1808
     128,   176,   129,    -1,    18,   128,   176,   129,    -1,   108,
 
1809
     128,   176,   129,    -1,    19,   128,   176,   129,    -1,   158,
 
1810
     160,   157,    -1,    -1,    20,   126,   155,   157,   159,   127,
 
1811
      -1,    75,   128,   161,   129,   160,    -1,    -1,   125,    -1,
 
1812
     125,   160,    -1,   176,   161,    -1,    -1,   126,   174,   127,
 
1813
      -1,    -1,   176,   164,   126,   165,   127,    -1,   166,   125,
 
1814
     165,    -1,    -1,    94,   128,   176,   129,    -1,    95,   128,
 
1815
     177,   129,    -1,   168,   125,   167,    -1,   125,   167,    -1,
 
1816
      -1,   170,    -1,   169,    -1,   116,    -1,    24,   128,   129,
 
1817
      -1,   172,   125,   171,    -1,   125,   171,    -1,    -1,   173,
 
1818
      -1,   116,    -1,   175,   125,   174,    -1,    -1,    42,   128,
 
1819
     117,   129,    -1,    43,   128,   117,   129,    -1,    44,   128,
 
1820
     117,   129,    -1,    45,   128,   117,   129,    -1,    47,   128,
 
1821
     117,   129,    -1,    51,   128,   177,   129,    -1,    52,   128,
 
1822
     177,   129,    -1,    53,   128,   177,   129,    -1,    54,   128,
 
1823
     177,   129,    -1,    55,   128,   176,   129,    -1,    58,   128,
 
1824
     177,   129,    -1,    57,   128,   178,   129,    -1,    82,   128,
 
1825
     117,   129,    -1,    83,   128,   117,   129,    -1,    84,   128,
 
1826
     117,   129,    -1,    68,   128,   117,   129,    -1,    70,   128,
 
1827
     117,   129,    -1,    69,   128,   117,   129,    -1,    48,   128,
 
1828
     117,   129,    -1,    56,   128,   177,   129,    -1,    66,   128,
 
1829
     176,   129,    -1,    67,   128,   117,   129,    -1,    87,   128,
 
1830
     177,   129,    -1,    88,   128,   179,   129,    -1,    88,   128,
 
1831
     129,    -1,    89,   128,   179,   129,    -1,    89,   128,   129,
 
1832
      -1,    90,   128,   117,   129,    -1,    90,   128,   129,    -1,
 
1833
      91,   128,   179,   129,    -1,    91,   128,   129,    -1,    92,
 
1834
     128,   179,   129,    -1,    92,   128,   129,    -1,    93,   128,
 
1835
     117,   129,    -1,    93,   128,   129,    -1,    59,   128,   177,
 
1836
     129,    -1,    60,   128,   117,   129,    -1,    61,   128,   117,
 
1837
     129,    -1,    62,   128,   117,   129,    -1,    63,   128,   176,
 
1838
     129,    -1,    49,   128,   176,   129,    -1,    50,   128,   176,
 
1839
     129,    -1,    78,   128,   176,   129,    -1,    79,   128,   176,
 
1840
     129,    -1,    80,   128,   176,   129,    -1,   116,    -1,   119,
 
1841
      -1,   111,    -1,   112,    -1,   117,    -1,   177,    -1,    64,
 
1842
      -1,   176,    -1,   117,    -1,   118,    -1
 
1843
};
 
1844
 
 
1845
/* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 
1846
static const yytype_uint16 yyrline[] =
 
1847
{
 
1848
       0,   359,   359,   363,   364,   368,   369,   370,   371,   372,
 
1849
     373,   374,   375,   376,   381,   383,   380,   388,   387,   397,
 
1850
     396,   403,   402,   409,   411,   408,   415,   417,   415,   422,
 
1851
     424,   425,   422,   443,   444,   448,   449,   453,   454,   458,
 
1852
     459,   460,   461,   462,   466,   467,   471,   475,   476,   480,
 
1853
     481,   485,   486,   491,   496,   495,   504,   505,   509,   515,
 
1854
     520,   521,   522,   526,   527,   531,   550,   554,   555,   556,
 
1855
     560,   564,   583,   584,   588,   589,   590,   591,   592,   593,
 
1856
     594,   595,   596,   597,   598,   599,   600,   601,   602,   611,
 
1857
     612,   613,   614,   615,   616,   617,   618,   619,   620,   621,
 
1858
     622,   623,   624,   625,   626,   627,   628,   629,   630,   631,
 
1859
     632,   633,   634,   636,   637,   638,   639,   640,   641,   647,
 
1860
     648,   652,   653,   654,   658,   659,   663,   664,   665
 
1861
};
 
1862
#endif
 
1863
 
 
1864
#if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
 
1865
/* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
 
1866
   First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
 
1867
static const char *const yytname[] =
 
1868
{
 
1869
  "$end", "error", "$undefined", "LL_CONTEXT_ROOT",
 
1870
  "LL_CONTEXT_DESTINATION", "LL_CONTEXT_SOURCE", "LL_CONTEXT_PARSER",
 
1871
  "LL_CONTEXT_REWRITE", "LL_CONTEXT_FILTER", "LL_CONTEXT_LOG",
 
1872
  "LL_CONTEXT_BLOCK_DEF", "LL_CONTEXT_BLOCK_REF",
 
1873
  "LL_CONTEXT_BLOCK_CONTENT", "LL_CONTEXT_PRAGMA", "LL_CONTEXT_FORMAT",
 
1874
  "LL_CONTEXT_TEMPLATE_FUNC", "KW_SOURCE", "KW_FILTER", "KW_PARSER",
 
1875
  "KW_DESTINATION", "KW_LOG", "KW_OPTIONS", "KW_INCLUDE", "KW_BLOCK",
 
1876
  "KW_INTERNAL", "KW_FILE", "KW_SQL", "KW_TYPE", "KW_COLUMNS",
 
1877
  "KW_INDEXES", "KW_VALUES", "KW_PASSWORD", "KW_DATABASE", "KW_USERNAME",
 
1878
  "KW_TABLE", "KW_ENCODING", "KW_SESSION_STATEMENTS", "KW_DELIMITERS",
 
1879
  "KW_QUOTES", "KW_QUOTE_PAIRS", "KW_NULL", "KW_SYSLOG", "KW_MARK_FREQ",
 
1880
  "KW_STATS_FREQ", "KW_STATS_LEVEL", "KW_FLUSH_LINES", "KW_SUPPRESS",
 
1881
  "KW_FLUSH_TIMEOUT", "KW_LOG_MSG_SIZE", "KW_FILE_TEMPLATE",
 
1882
  "KW_PROTO_TEMPLATE", "KW_CHAIN_HOSTNAMES", "KW_NORMALIZE_HOSTNAMES",
 
1883
  "KW_KEEP_HOSTNAME", "KW_CHECK_HOSTNAME", "KW_BAD_HOSTNAME",
 
1884
  "KW_KEEP_TIMESTAMP", "KW_USE_DNS", "KW_USE_FQDN", "KW_DNS_CACHE",
 
1885
  "KW_DNS_CACHE_SIZE", "KW_DNS_CACHE_EXPIRE", "KW_DNS_CACHE_EXPIRE_FAILED",
 
1886
  "KW_DNS_CACHE_HOSTS", "KW_PERSIST_ONLY", "KW_TZ_CONVERT", "KW_TS_FORMAT",
 
1887
  "KW_FRAC_DIGITS", "KW_LOG_FIFO_SIZE", "KW_LOG_FETCH_LIMIT",
 
1888
  "KW_LOG_IW_SIZE", "KW_LOG_PREFIX", "KW_PROGRAM_OVERRIDE",
 
1889
  "KW_HOST_OVERRIDE", "KW_THROTTLE", "KW_FLAGS", "KW_PAD_SIZE",
 
1890
  "KW_TIME_ZONE", "KW_RECV_TIME_ZONE", "KW_SEND_TIME_ZONE",
 
1891
  "KW_LOCAL_TIME_ZONE", "KW_FORMAT", "KW_TIME_REOPEN", "KW_TIME_REAP",
 
1892
  "KW_TIME_SLEEP", "KW_TMPL_ESCAPE", "KW_OPTIONAL", "KW_CREATE_DIRS",
 
1893
  "KW_OWNER", "KW_GROUP", "KW_PERM", "KW_DIR_OWNER", "KW_DIR_GROUP",
 
1894
  "KW_DIR_PERM", "KW_TEMPLATE", "KW_TEMPLATE_ESCAPE",
 
1895
  "KW_DEFAULT_FACILITY", "KW_DEFAULT_LEVEL", "KW_PORT",
 
1896
  "KW_USE_TIME_RECVD", "KW_FACILITY", "KW_LEVEL", "KW_HOST", "KW_MATCH",
 
1897
  "KW_MESSAGE", "KW_NETMASK", "KW_TAGS", "KW_VALUE", "KW_REWRITE",
 
1898
  "KW_SET", "KW_SUBST", "KW_YES", "KW_NO", "KW_IFDEF", "KW_ENDIF",
 
1899
  "LL_DOTDOT", "LL_IDENTIFIER", "LL_NUMBER", "LL_FLOAT", "LL_STRING",
 
1900
  "LL_TOKEN", "LL_BLOCK", "LL_PRAGMA", "LL_EOL", "LL_ERROR", "';'", "'{'",
 
1901
  "'}'", "'('", "')'", "$accept", "start", "stmts", "stmt", "source_stmt",
 
1902
  "$@1", "$@2", "filter_stmt", "$@3", "parser_stmt", "$@4", "rewrite_stmt",
 
1903
  "$@5", "dest_stmt", "$@6", "$@7", "log_stmt", "$@8", "$@9", "block_stmt",
 
1904
  "$@10", "$@11", "$@12", "block_args", "block_arg", "log_items",
 
1905
  "log_item", "log_forks", "log_fork", "log_flags", "log_semicolons",
 
1906
  "log_flags_items", "options_stmt", "template_stmt", "$@13",
 
1907
  "template_items", "template_item", "source_items", "source_item",
 
1908
  "source_plugin", "source_afinter", "dest_items", "dest_item",
 
1909
  "dest_plugin", "options_items", "options_item", "string", "yesno",
 
1910
  "dnsmode", "string_or_number", 0
 
1911
};
 
1912
#endif
 
1913
 
 
1914
# ifdef YYPRINT
 
1915
/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
 
1916
   token YYLEX-NUM.  */
 
1917
static const yytype_uint16 yytoknum[] =
 
1918
{
 
1919
       0,   256, 10430,     1,     2,     3,     4,     5,     6,     7,
 
1920
       8,     9,    10,    11,    12,    13, 10000, 10001, 10002, 10003,
 
1921
   10004, 10005, 10006, 10007, 10010, 10011, 10030, 10031, 10032, 10033,
 
1922
   10034, 10035, 10036, 10037, 10038, 10039, 10040, 10050, 10051, 10052,
 
1923
   10053, 10060, 10071, 10072, 10073, 10074, 10075, 10076, 10077, 10078,
 
1924
   10079, 10090, 10091, 10092, 10093, 10094, 10100, 10110, 10111, 10120,
 
1925
   10121, 10130, 10131, 10132, 10140, 10150, 10151, 10152, 10160, 10162,
 
1926
   10163, 10164, 10165, 10166, 10170, 10190, 10200, 10201, 10202, 10203,
 
1927
   10204, 10205, 10210, 10211, 10212, 10220, 10230, 10240, 10250, 10251,
 
1928
   10252, 10260, 10261, 10262, 10270, 10271, 10300, 10301, 10323, 10340,
 
1929
   10350, 10351, 10352, 10353, 10354, 10355, 10356, 10361, 10370, 10371,
 
1930
   10372, 10380, 10381, 10410, 10411, 10420, 10421, 10422, 10423, 10424,
 
1931
   10425, 10426, 10427, 10428, 10429,    59,   123,   125,    40,    41
 
1932
};
 
1933
# endif
 
1934
 
 
1935
/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
 
1936
static const yytype_uint8 yyr1[] =
 
1937
{
 
1938
       0,   130,   131,   132,   132,   133,   133,   133,   133,   133,
 
1939
     133,   133,   133,   133,   135,   136,   134,   138,   137,   140,
 
1940
     139,   142,   141,   144,   145,   143,   147,   148,   146,   150,
 
1941
     151,   152,   149,   153,   153,   154,   154,   155,   155,   156,
 
1942
     156,   156,   156,   156,   157,   157,   158,   159,   159,   160,
 
1943
     160,   161,   161,   162,   164,   163,   165,   165,   166,   166,
 
1944
     167,   167,   167,   168,   168,   169,   170,   171,   171,   171,
 
1945
     172,   173,   174,   174,   175,   175,   175,   175,   175,   175,
 
1946
     175,   175,   175,   175,   175,   175,   175,   175,   175,   175,
 
1947
     175,   175,   175,   175,   175,   175,   175,   175,   175,   175,
 
1948
     175,   175,   175,   175,   175,   175,   175,   175,   175,   175,
 
1949
     175,   175,   175,   175,   175,   175,   175,   175,   175,   176,
 
1950
     176,   177,   177,   177,   178,   178,   179,   179,   179
 
1951
};
 
1952
 
 
1953
/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
 
1954
static const yytype_uint8 yyr2[] =
 
1955
{
 
1956
       0,     2,     1,     3,     0,     2,     2,     2,     2,     2,
 
1957
       2,     2,     2,     2,     0,     0,     6,     0,     4,     0,
 
1958
       4,     0,     4,     0,     0,     6,     0,     0,     7,     0,
 
1959
       0,     0,     9,     2,     0,     4,     3,     3,     0,     4,
 
1960
       4,     4,     4,     4,     3,     0,     6,     5,     0,     1,
 
1961
       2,     2,     0,     3,     0,     5,     3,     0,     4,     4,
 
1962
       3,     2,     0,     1,     1,     1,     3,     3,     2,     0,
 
1963
       1,     1,     3,     0,     4,     4,     4,     4,     4,     4,
 
1964
       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
 
1965
       4,     4,     4,     4,     4,     4,     4,     4,     3,     4,
 
1966
       3,     4,     3,     4,     3,     4,     3,     4,     3,     4,
 
1967
       4,     4,     4,     4,     4,     4,     4,     4,     4,     1,
 
1968
       1,     1,     1,     1,     1,     1,     1,     1,     1
 
1969
};
 
1970
 
 
1971
/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
 
1972
   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
 
1973
   means the default is an error.  */
 
1974
static const yytype_uint8 yydefact[] =
 
1975
{
 
1976
       4,     0,     0,     0,     0,    26,     0,    29,     0,     0,
 
1977
       0,     2,     0,   119,   120,     5,    14,     8,     0,     9,
 
1978
       0,     6,    23,     7,     0,    73,    12,    13,     0,    11,
 
1979
      54,    10,     0,     1,     4,     0,    17,    19,     0,    38,
 
1980
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1981
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1982
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1983
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1984
       0,     0,     0,    21,     3,    62,     0,     0,    69,     0,
 
1985
       0,     0,     0,     0,    45,     0,     0,     0,     0,     0,
 
1986
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1987
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1988
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1989
       0,     0,     0,     0,     0,    53,    73,     0,    57,     0,
 
1990
       0,    65,    62,     0,     0,    64,    63,    18,    20,    71,
 
1991
      69,     0,     0,    70,     0,     0,     0,     0,     0,     0,
 
1992
      48,     0,    49,    38,     0,     0,     0,     0,     0,     0,
 
1993
       0,     0,   121,   122,   123,     0,     0,     0,     0,     0,
 
1994
       0,   125,   124,     0,     0,     0,     0,     0,     0,     0,
 
1995
       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
 
1996
       0,     0,   127,   128,    98,   126,     0,   100,     0,     0,
 
1997
     102,   104,     0,   106,     0,     0,   108,    72,    30,     0,
 
1998
       0,     0,     0,    22,     0,    61,    15,    62,    68,    24,
 
1999
      69,     0,     0,     0,     0,     0,    38,     0,     0,    45,
 
2000
      50,    37,    74,    75,    76,    77,    78,    92,   114,   115,
 
2001
      79,    80,    81,    82,    83,    93,    85,    84,   109,   110,
 
2002
     111,   112,   113,    94,    95,    89,    91,    90,   116,   117,
 
2003
     118,    86,    87,    88,    96,    97,    99,   101,   103,   105,
 
2004
     107,    34,     0,     0,    55,    57,    66,    16,    60,    25,
 
2005
      67,    39,    40,    41,    43,    42,    45,    52,    27,    44,
 
2006
       0,     0,    34,     0,     0,    56,    48,     0,    52,    28,
 
2007
       0,    31,    33,    58,    59,     0,     0,    51,    36,     0,
 
2008
       0,    46,    47,    35,    32
 
2009
};
 
2010
 
 
2011
/* YYDEFGOTO[NTERM-NUM].  */
 
2012
static const yytype_int16 yydefgoto[] =
 
2013
{
 
2014
      -1,    10,    11,    12,    15,    35,   287,    17,    86,    19,
 
2015
      87,    31,   139,    21,    38,   289,    23,    24,   309,    27,
 
2016
      28,   281,   320,   301,   302,    94,    95,   160,   161,   238,
 
2017
     163,   307,    26,    29,    82,   221,   222,   143,   144,   145,
 
2018
     146,   151,   152,   153,    79,    80,   205,   175,   183,   206
 
2019
};
 
2020
 
 
2021
/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
 
2022
   STATE-NUM.  */
 
2023
#define YYPACT_NINF -213
 
2024
static const yytype_int16 yypact[] =
 
2025
{
 
2026
       5,   -63,   -63,   -63,   -63,  -213,   -95,  -213,   -63,   -63,
 
2027
      49,  -213,   -70,  -213,  -213,  -213,  -213,  -213,   -69,  -213,
 
2028
     -55,  -213,  -213,  -213,   -53,   118,  -213,  -213,   -47,  -213,
 
2029
    -213,  -213,   -45,  -213,     5,   -43,  -213,  -213,   -39,    16,
 
2030
     -40,   -36,   -34,   -33,   -32,   -31,   -30,   -28,   -24,   -23,
 
2031
     -22,   -19,   -18,   -17,   -16,   -14,   -10,    -3,    -2,     0,
 
2032
       1,     2,     3,     4,     6,     7,     8,     9,    10,    11,
 
2033
      12,    13,    14,    15,    17,    18,    19,    20,    21,   -38,
 
2034
      -6,    28,    24,  -213,  -213,    -8,    -7,    25,   -46,    23,
 
2035
      30,    36,    54,    55,    73,    65,    75,    76,    77,    78,
 
2036
      82,    86,   -63,   -63,   -37,   -37,   -37,   -37,   -63,   -37,
 
2037
     -35,   -37,   -37,    87,    95,    96,   -63,   -63,    97,    98,
 
2038
      99,   100,   -63,   -63,   -63,   101,   102,   103,   -37,   -79,
 
2039
     -75,   -66,   -71,   -57,   -65,  -213,   118,    93,    -9,   104,
 
2040
      94,  -213,    -8,   105,   108,  -213,  -213,  -213,  -213,  -213,
 
2041
     -46,   107,   110,  -213,   -63,   -63,   -63,   -63,   -63,   111,
 
2042
      52,    65,    65,    16,   109,   112,   113,   114,   115,   116,
 
2043
     117,   119,  -213,  -213,  -213,   120,   121,   122,   123,   124,
 
2044
     125,  -213,  -213,   126,   127,   128,   129,   130,   131,   132,
 
2045
     133,   134,   135,   136,   137,   138,   139,   140,   141,   142,
 
2046
     143,   144,  -213,  -213,  -213,  -213,   145,  -213,   146,   147,
 
2047
    -213,  -213,   148,  -213,   149,   150,  -213,  -213,  -213,   152,
 
2048
     154,   156,   159,  -213,   157,  -213,  -213,    -8,  -213,  -213,
 
2049
     -46,   158,   160,   161,   162,   163,    16,   165,   167,    73,
 
2050
    -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,
 
2051
    -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,
 
2052
    -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,
 
2053
    -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,
 
2054
    -213,   169,   -63,   -37,  -213,    -9,  -213,  -213,  -213,  -213,
 
2055
    -213,  -213,  -213,  -213,  -213,  -213,    73,   -63,  -213,  -213,
 
2056
     170,   166,   169,   168,   171,  -213,    52,   172,   -63,  -213,
 
2057
     -51,  -213,  -213,  -213,  -213,   175,    65,  -213,  -213,   174,
 
2058
     106,  -213,  -213,  -213,  -213
 
2059
};
 
2060
 
 
2061
/* YYPGOTO[NTERM-NUM].  */
 
2062
static const yytype_int16 yypgoto[] =
 
2063
{
 
2064
    -213,  -213,   189,  -213,  -213,  -213,  -213,  -213,  -213,  -213,
 
2065
    -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,  -213,
 
2066
    -213,  -213,  -213,  -169,  -213,  -133,  -213,  -212,  -213,   -82,
 
2067
    -157,   -83,  -213,  -213,  -213,   -59,  -213,  -136,  -213,  -213,
 
2068
    -213,  -140,  -213,  -213,    92,  -213,    -1,   -92,  -213,  -121
 
2069
};
 
2070
 
 
2071
/* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
 
2072
   positive, shift that token.  If negative, reduce the rule which
 
2073
   number is the opposite.  If zero, do what YYDEFACT says.
 
2074
   If YYTABLE_NINF, syntax error.  */
 
2075
#define YYTABLE_NINF -1
 
2076
static const yytype_uint16 yytable[] =
 
2077
{
 
2078
      16,    18,    20,    22,   239,   240,   225,    30,    32,   208,
 
2079
     228,   212,   214,   176,   177,   178,   140,   180,   182,   184,
 
2080
     185,     1,     2,     3,     4,     5,     6,   299,     7,   181,
 
2081
     241,    25,    89,    90,    91,    92,   201,    13,   202,   203,
 
2082
      14,    13,   202,   203,    14,    13,   202,   203,    14,    33,
 
2083
     204,   209,   215,    13,   207,    34,    14,    36,   211,    13,
 
2084
     202,   203,    14,   210,   216,    13,   202,   203,    14,    81,
 
2085
     149,    37,   213,    39,   172,   173,   172,   173,   318,   150,
 
2086
     174,    83,   174,    85,   306,   219,   220,    88,    96,   135,
 
2087
     290,   288,    97,   159,    98,    99,   100,   101,   102,     8,
 
2088
     103,   170,   171,   296,   104,   105,   106,   179,   141,   107,
 
2089
     108,   109,   110,     9,   111,   189,   190,   142,   112,   136,
 
2090
     147,   195,   196,   197,    93,   113,   114,   237,   115,   116,
 
2091
     117,   118,   119,   312,   120,   121,   122,   123,   124,   125,
 
2092
     126,   127,   128,   129,   137,   130,   131,   132,   133,   134,
 
2093
     138,   154,   148,   231,   232,   233,   234,   235,   155,   322,
 
2094
      40,    41,    42,    43,   156,    44,    45,    46,    47,    48,
 
2095
      49,    50,    51,    52,    53,    54,    55,    56,    57,    58,
 
2096
      59,    60,   157,   158,    61,    62,    63,    64,    65,   319,
 
2097
     162,   304,   164,   165,   166,   167,    66,    67,    68,   168,
 
2098
      69,    70,    71,   169,   186,    72,    73,    74,    75,    76,
 
2099
      77,    78,   187,   188,   191,   192,   193,   194,   198,   199,
 
2100
     200,   218,   224,    84,   315,   317,   305,   324,   217,     0,
 
2101
       0,   223,   226,   227,   229,   230,     0,   236,   242,     0,
 
2102
       0,   243,   244,   245,   246,   247,   248,     0,   249,   250,
 
2103
     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
 
2104
     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
 
2105
     271,   272,   273,   274,   275,   276,   277,   278,   279,   280,
 
2106
     282,   303,   283,   284,   285,   300,   286,   291,     0,   292,
 
2107
     293,   294,   295,   297,   298,   311,   308,   313,   310,     0,
 
2108
     314,   316,   321,   323,     0,     0,     0,   308
 
2109
};
 
2110
 
 
2111
static const yytype_int16 yycheck[] =
 
2112
{
 
2113
       1,     2,     3,     4,   161,   162,   142,     8,     9,   130,
 
2114
     150,   132,   133,   105,   106,   107,    24,   109,   110,   111,
 
2115
     112,    16,    17,    18,    19,    20,    21,   239,    23,    64,
 
2116
     163,   126,    16,    17,    18,    19,   128,   116,   117,   118,
 
2117
     119,   116,   117,   118,   119,   116,   117,   118,   119,     0,
 
2118
     129,   117,   117,   116,   129,   125,   119,   126,   129,   116,
 
2119
     117,   118,   119,   129,   129,   116,   117,   118,   119,   116,
 
2120
     116,   126,   129,   126,   111,   112,   111,   112,   129,   125,
 
2121
     117,   126,   117,   126,   296,    94,    95,   126,   128,   127,
 
2122
     230,   227,   128,    20,   128,   128,   128,   128,   128,    94,
 
2123
     128,   102,   103,   236,   128,   128,   128,   108,   116,   128,
 
2124
     128,   128,   128,   108,   128,   116,   117,   125,   128,   125,
 
2125
     127,   122,   123,   124,   108,   128,   128,    75,   128,   128,
 
2126
     128,   128,   128,   302,   128,   128,   128,   128,   128,   128,
 
2127
     128,   128,   128,   128,   116,   128,   128,   128,   128,   128,
 
2128
     126,   128,   127,   154,   155,   156,   157,   158,   128,   316,
 
2129
      42,    43,    44,    45,   128,    47,    48,    49,    50,    51,
 
2130
      52,    53,    54,    55,    56,    57,    58,    59,    60,    61,
 
2131
      62,    63,   128,   128,    66,    67,    68,    69,    70,   310,
 
2132
     125,   283,   117,   117,   117,   117,    78,    79,    80,   117,
 
2133
      82,    83,    84,   117,   117,    87,    88,    89,    90,    91,
 
2134
      92,    93,   117,   117,   117,   117,   117,   117,   117,   117,
 
2135
     117,   128,   128,    34,   306,   308,   285,   121,   136,    -1,
 
2136
      -1,   127,   127,   125,   127,   125,    -1,   126,   129,    -1,
 
2137
      -1,   129,   129,   129,   129,   129,   129,    -1,   129,   129,
 
2138
     129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
 
2139
     129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
 
2140
     129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
 
2141
     128,   282,   128,   127,   125,   116,   129,   129,    -1,   129,
 
2142
     129,   129,   129,   128,   127,   129,   297,   129,   128,    -1,
 
2143
     129,   129,   127,   129,    -1,    -1,    -1,   308
 
2144
};
 
2145
 
 
2146
/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
 
2147
   symbol of state STATE-NUM.  */
 
2148
static const yytype_uint8 yystos[] =
 
2149
{
 
2150
       0,    16,    17,    18,    19,    20,    21,    23,    94,   108,
 
2151
     131,   132,   133,   116,   119,   134,   176,   137,   176,   139,
 
2152
     176,   143,   176,   146,   147,   126,   162,   149,   150,   163,
 
2153
     176,   141,   176,     0,   125,   135,   126,   126,   144,   126,
 
2154
      42,    43,    44,    45,    47,    48,    49,    50,    51,    52,
 
2155
      53,    54,    55,    56,    57,    58,    59,    60,    61,    62,
 
2156
      63,    66,    67,    68,    69,    70,    78,    79,    80,    82,
 
2157
      83,    84,    87,    88,    89,    90,    91,    92,    93,   174,
 
2158
     175,   116,   164,   126,   132,   126,   138,   140,   126,    16,
 
2159
      17,    18,    19,   108,   155,   156,   128,   128,   128,   128,
 
2160
     128,   128,   128,   128,   128,   128,   128,   128,   128,   128,
 
2161
     128,   128,   128,   128,   128,   128,   128,   128,   128,   128,
 
2162
     128,   128,   128,   128,   128,   128,   128,   128,   128,   128,
 
2163
     128,   128,   128,   128,   128,   127,   125,   116,   126,   142,
 
2164
      24,   116,   125,   167,   168,   169,   170,   127,   127,   116,
 
2165
     125,   171,   172,   173,   128,   128,   128,   128,   128,    20,
 
2166
     157,   158,   125,   160,   117,   117,   117,   117,   117,   117,
 
2167
     176,   176,   111,   112,   117,   177,   177,   177,   177,   176,
 
2168
     177,    64,   177,   178,   177,   177,   117,   117,   117,   176,
 
2169
     176,   117,   117,   117,   117,   176,   176,   176,   117,   117,
 
2170
     117,   177,   117,   118,   129,   176,   179,   129,   179,   117,
 
2171
     129,   129,   179,   129,   179,   117,   129,   174,   128,    94,
 
2172
      95,   165,   166,   127,   128,   167,   127,   125,   171,   127,
 
2173
     125,   176,   176,   176,   176,   176,   126,    75,   159,   160,
 
2174
     160,   155,   129,   129,   129,   129,   129,   129,   129,   129,
 
2175
     129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
 
2176
     129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
 
2177
     129,   129,   129,   129,   129,   129,   129,   129,   129,   129,
 
2178
     129,   151,   128,   128,   127,   125,   129,   136,   167,   145,
 
2179
     171,   129,   129,   129,   129,   129,   155,   128,   127,   157,
 
2180
     116,   153,   154,   176,   177,   165,   157,   161,   176,   148,
 
2181
     128,   129,   153,   129,   129,   159,   129,   161,   129,   179,
 
2182
     152,   127,   160,   129,   121
 
2183
};
 
2184
 
 
2185
#define yyerrok         (yyerrstatus = 0)
 
2186
#define yyclearin       (yychar = YYEMPTY)
 
2187
#define YYEMPTY         (-2)
 
2188
#define YYEOF           0
 
2189
 
 
2190
#define YYACCEPT        goto yyacceptlab
 
2191
#define YYABORT         goto yyabortlab
 
2192
#define YYERROR         goto yyerrorlab
 
2193
 
 
2194
 
 
2195
/* Like YYERROR except do call yyerror.  This remains here temporarily
 
2196
   to ease the transition to the new meaning of YYERROR, for GCC.
 
2197
   Once GCC version 2 has supplanted version 1, this can go.  */
 
2198
 
 
2199
#define YYFAIL          goto yyerrlab
 
2200
 
 
2201
#define YYRECOVERING()  (!!yyerrstatus)
 
2202
 
 
2203
#define YYBACKUP(Token, Value)                                  \
 
2204
do                                                              \
 
2205
  if (yychar == YYEMPTY && yylen == 1)                          \
 
2206
    {                                                           \
 
2207
      yychar = (Token);                                         \
 
2208
      yylval = (Value);                                         \
 
2209
      yytoken = YYTRANSLATE (yychar);                           \
 
2210
      YYPOPSTACK (1);                                           \
 
2211
      goto yybackup;                                            \
 
2212
    }                                                           \
 
2213
  else                                                          \
 
2214
    {                                                           \
 
2215
      yyerror (&yylloc, lexer, dummy, YY_("syntax error: cannot back up")); \
 
2216
      YYERROR;                                                  \
 
2217
    }                                                           \
 
2218
while (YYID (0))
 
2219
 
 
2220
 
 
2221
#define YYTERROR        1
 
2222
#define YYERRCODE       256
 
2223
 
 
2224
 
 
2225
/* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
 
2226
   If N is 0, then set CURRENT to the empty location which ends
 
2227
   the previous symbol: RHS[0] (always defined).  */
 
2228
 
 
2229
#define YYRHSLOC(Rhs, K) ((Rhs)[K])
 
2230
#ifndef YYLLOC_DEFAULT
 
2231
# define YYLLOC_DEFAULT(Current, Rhs, N)                                \
 
2232
    do                                                                  \
 
2233
      if (YYID (N))                                                    \
 
2234
        {                                                               \
 
2235
          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
 
2236
          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
 
2237
          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
 
2238
          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
 
2239
        }                                                               \
 
2240
      else                                                              \
 
2241
        {                                                               \
 
2242
          (Current).first_line   = (Current).last_line   =              \
 
2243
            YYRHSLOC (Rhs, 0).last_line;                                \
 
2244
          (Current).first_column = (Current).last_column =              \
 
2245
            YYRHSLOC (Rhs, 0).last_column;                              \
 
2246
        }                                                               \
 
2247
    while (YYID (0))
 
2248
#endif
 
2249
 
 
2250
 
 
2251
/* YY_LOCATION_PRINT -- Print the location on the stream.
 
2252
   This macro was not mandated originally: define only if we know
 
2253
   we won't break user code: when these are the locations we know.  */
 
2254
 
 
2255
#ifndef YY_LOCATION_PRINT
 
2256
# if YYLTYPE_IS_TRIVIAL
 
2257
#  define YY_LOCATION_PRINT(File, Loc)                  \
 
2258
     fprintf (File, "%d.%d-%d.%d",                      \
 
2259
              (Loc).first_line, (Loc).first_column,     \
 
2260
              (Loc).last_line,  (Loc).last_column)
 
2261
# else
 
2262
#  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
 
2263
# endif
 
2264
#endif
 
2265
 
 
2266
 
 
2267
/* YYLEX -- calling `yylex' with the right arguments.  */
 
2268
 
 
2269
#ifdef YYLEX_PARAM
 
2270
# define YYLEX yylex (&yylval, &yylloc, YYLEX_PARAM)
 
2271
#else
 
2272
# define YYLEX yylex (&yylval, &yylloc, lexer)
 
2273
#endif
 
2274
 
 
2275
/* Enable debugging if requested.  */
 
2276
#if YYDEBUG
 
2277
 
 
2278
# ifndef YYFPRINTF
 
2279
#  include <stdio.h> /* INFRINGES ON USER NAME SPACE */
 
2280
#  define YYFPRINTF fprintf
 
2281
# endif
 
2282
 
 
2283
# define YYDPRINTF(Args)                        \
 
2284
do {                                            \
 
2285
  if (yydebug)                                  \
 
2286
    YYFPRINTF Args;                             \
 
2287
} while (YYID (0))
 
2288
 
 
2289
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)                    \
 
2290
do {                                                                      \
 
2291
  if (yydebug)                                                            \
 
2292
    {                                                                     \
 
2293
      YYFPRINTF (stderr, "%s ", Title);                                   \
 
2294
      yy_symbol_print (stderr,                                            \
 
2295
                  Type, Value, Location, lexer, dummy); \
 
2296
      YYFPRINTF (stderr, "\n");                                           \
 
2297
    }                                                                     \
 
2298
} while (YYID (0))
 
2299
 
 
2300
 
 
2301
/*--------------------------------.
 
2302
| Print this symbol on YYOUTPUT.  |
 
2303
`--------------------------------*/
 
2304
 
 
2305
/*ARGSUSED*/
 
2306
#if (defined __STDC__ || defined __C99__FUNC__ \
 
2307
     || defined __cplusplus || defined _MSC_VER)
 
2308
static void
 
2309
yy_symbol_value_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, CfgLexer *lexer, gpointer *dummy)
 
2310
#else
 
2311
static void
 
2312
yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, lexer, dummy)
 
2313
    FILE *yyoutput;
 
2314
    int yytype;
 
2315
    YYSTYPE const * const yyvaluep;
 
2316
    YYLTYPE const * const yylocationp;
 
2317
    CfgLexer *lexer;
 
2318
    gpointer *dummy;
 
2319
#endif
 
2320
{
 
2321
  if (!yyvaluep)
 
2322
    return;
 
2323
  YYUSE (yylocationp);
 
2324
  YYUSE (lexer);
 
2325
  YYUSE (dummy);
 
2326
# ifdef YYPRINT
 
2327
  if (yytype < YYNTOKENS)
 
2328
    YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep);
 
2329
# else
 
2330
  YYUSE (yyoutput);
 
2331
# endif
 
2332
  switch (yytype)
 
2333
    {
 
2334
      default:
 
2335
        break;
 
2336
    }
 
2337
}
 
2338
 
 
2339
 
 
2340
/*--------------------------------.
 
2341
| Print this symbol on YYOUTPUT.  |
 
2342
`--------------------------------*/
 
2343
 
 
2344
#if (defined __STDC__ || defined __C99__FUNC__ \
 
2345
     || defined __cplusplus || defined _MSC_VER)
 
2346
static void
 
2347
yy_symbol_print (FILE *yyoutput, int yytype, YYSTYPE const * const yyvaluep, YYLTYPE const * const yylocationp, CfgLexer *lexer, gpointer *dummy)
 
2348
#else
 
2349
static void
 
2350
yy_symbol_print (yyoutput, yytype, yyvaluep, yylocationp, lexer, dummy)
 
2351
    FILE *yyoutput;
 
2352
    int yytype;
 
2353
    YYSTYPE const * const yyvaluep;
 
2354
    YYLTYPE const * const yylocationp;
 
2355
    CfgLexer *lexer;
 
2356
    gpointer *dummy;
 
2357
#endif
 
2358
{
 
2359
  if (yytype < YYNTOKENS)
 
2360
    YYFPRINTF (yyoutput, "token %s (", yytname[yytype]);
 
2361
  else
 
2362
    YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]);
 
2363
 
 
2364
  YY_LOCATION_PRINT (yyoutput, *yylocationp);
 
2365
  YYFPRINTF (yyoutput, ": ");
 
2366
  yy_symbol_value_print (yyoutput, yytype, yyvaluep, yylocationp, lexer, dummy);
 
2367
  YYFPRINTF (yyoutput, ")");
 
2368
}
 
2369
 
 
2370
/*------------------------------------------------------------------.
 
2371
| yy_stack_print -- Print the state stack from its BOTTOM up to its |
 
2372
| TOP (included).                                                   |
 
2373
`------------------------------------------------------------------*/
 
2374
 
 
2375
#if (defined __STDC__ || defined __C99__FUNC__ \
 
2376
     || defined __cplusplus || defined _MSC_VER)
 
2377
static void
 
2378
yy_stack_print (yytype_int16 *yybottom, yytype_int16 *yytop)
 
2379
#else
 
2380
static void
 
2381
yy_stack_print (yybottom, yytop)
 
2382
    yytype_int16 *yybottom;
 
2383
    yytype_int16 *yytop;
 
2384
#endif
 
2385
{
 
2386
  YYFPRINTF (stderr, "Stack now");
 
2387
  for (; yybottom <= yytop; yybottom++)
 
2388
    {
 
2389
      int yybot = *yybottom;
 
2390
      YYFPRINTF (stderr, " %d", yybot);
 
2391
    }
 
2392
  YYFPRINTF (stderr, "\n");
 
2393
}
 
2394
 
 
2395
# define YY_STACK_PRINT(Bottom, Top)                            \
 
2396
do {                                                            \
 
2397
  if (yydebug)                                                  \
 
2398
    yy_stack_print ((Bottom), (Top));                           \
 
2399
} while (YYID (0))
 
2400
 
 
2401
 
 
2402
/*------------------------------------------------.
 
2403
| Report that the YYRULE is going to be reduced.  |
 
2404
`------------------------------------------------*/
 
2405
 
 
2406
#if (defined __STDC__ || defined __C99__FUNC__ \
 
2407
     || defined __cplusplus || defined _MSC_VER)
 
2408
static void
 
2409
yy_reduce_print (YYSTYPE *yyvsp, YYLTYPE *yylsp, int yyrule, CfgLexer *lexer, gpointer *dummy)
 
2410
#else
 
2411
static void
 
2412
yy_reduce_print (yyvsp, yylsp, yyrule, lexer, dummy)
 
2413
    YYSTYPE *yyvsp;
 
2414
    YYLTYPE *yylsp;
 
2415
    int yyrule;
 
2416
    CfgLexer *lexer;
 
2417
    gpointer *dummy;
 
2418
#endif
 
2419
{
 
2420
  int yynrhs = yyr2[yyrule];
 
2421
  int yyi;
 
2422
  unsigned long int yylno = yyrline[yyrule];
 
2423
  YYFPRINTF (stderr, "Reducing stack by rule %d (line %lu):\n",
 
2424
             yyrule - 1, yylno);
 
2425
  /* The symbols being reduced.  */
 
2426
  for (yyi = 0; yyi < yynrhs; yyi++)
 
2427
    {
 
2428
      YYFPRINTF (stderr, "   $%d = ", yyi + 1);
 
2429
      yy_symbol_print (stderr, yyrhs[yyprhs[yyrule] + yyi],
 
2430
                       &(yyvsp[(yyi + 1) - (yynrhs)])
 
2431
                       , &(yylsp[(yyi + 1) - (yynrhs)])                , lexer, dummy);
 
2432
      YYFPRINTF (stderr, "\n");
 
2433
    }
 
2434
}
 
2435
 
 
2436
# define YY_REDUCE_PRINT(Rule)          \
 
2437
do {                                    \
 
2438
  if (yydebug)                          \
 
2439
    yy_reduce_print (yyvsp, yylsp, Rule, lexer, dummy); \
 
2440
} while (YYID (0))
 
2441
 
 
2442
/* Nonzero means print parse trace.  It is left uninitialized so that
 
2443
   multiple parsers can coexist.  */
 
2444
int yydebug;
 
2445
#else /* !YYDEBUG */
 
2446
# define YYDPRINTF(Args)
 
2447
# define YY_SYMBOL_PRINT(Title, Type, Value, Location)
 
2448
# define YY_STACK_PRINT(Bottom, Top)
 
2449
# define YY_REDUCE_PRINT(Rule)
 
2450
#endif /* !YYDEBUG */
 
2451
 
 
2452
 
 
2453
/* YYINITDEPTH -- initial size of the parser's stacks.  */
 
2454
#ifndef YYINITDEPTH
 
2455
# define YYINITDEPTH 200
 
2456
#endif
 
2457
 
 
2458
/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only
 
2459
   if the built-in stack extension method is used).
 
2460
 
 
2461
   Do not make this value too large; the results are undefined if
 
2462
   YYSTACK_ALLOC_MAXIMUM < YYSTACK_BYTES (YYMAXDEPTH)
 
2463
   evaluated with infinite-precision integer arithmetic.  */
 
2464
 
 
2465
#ifndef YYMAXDEPTH
 
2466
# define YYMAXDEPTH 10000
 
2467
#endif
 
2468
 
 
2469
 
 
2470
 
 
2471
#if YYERROR_VERBOSE
 
2472
 
 
2473
# ifndef yystrlen
 
2474
#  if defined __GLIBC__ && defined _STRING_H
 
2475
#   define yystrlen strlen
 
2476
#  else
 
2477
/* Return the length of YYSTR.  */
 
2478
#if (defined __STDC__ || defined __C99__FUNC__ \
 
2479
     || defined __cplusplus || defined _MSC_VER)
 
2480
static YYSIZE_T
 
2481
yystrlen (const char *yystr)
 
2482
#else
 
2483
static YYSIZE_T
 
2484
yystrlen (yystr)
 
2485
    const char *yystr;
 
2486
#endif
 
2487
{
 
2488
  YYSIZE_T yylen;
 
2489
  for (yylen = 0; yystr[yylen]; yylen++)
 
2490
    continue;
 
2491
  return yylen;
 
2492
}
 
2493
#  endif
 
2494
# endif
 
2495
 
 
2496
# ifndef yystpcpy
 
2497
#  if defined __GLIBC__ && defined _STRING_H && defined _GNU_SOURCE
 
2498
#   define yystpcpy stpcpy
 
2499
#  else
 
2500
/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in
 
2501
   YYDEST.  */
 
2502
#if (defined __STDC__ || defined __C99__FUNC__ \
 
2503
     || defined __cplusplus || defined _MSC_VER)
 
2504
static char *
 
2505
yystpcpy (char *yydest, const char *yysrc)
 
2506
#else
 
2507
static char *
 
2508
yystpcpy (yydest, yysrc)
 
2509
    char *yydest;
 
2510
    const char *yysrc;
 
2511
#endif
 
2512
{
 
2513
  char *yyd = yydest;
 
2514
  const char *yys = yysrc;
 
2515
 
 
2516
  while ((*yyd++ = *yys++) != '\0')
 
2517
    continue;
 
2518
 
 
2519
  return yyd - 1;
 
2520
}
 
2521
#  endif
 
2522
# endif
 
2523
 
 
2524
# ifndef yytnamerr
 
2525
/* Copy to YYRES the contents of YYSTR after stripping away unnecessary
 
2526
   quotes and backslashes, so that it's suitable for yyerror.  The
 
2527
   heuristic is that double-quoting is unnecessary unless the string
 
2528
   contains an apostrophe, a comma, or backslash (other than
 
2529
   backslash-backslash).  YYSTR is taken from yytname.  If YYRES is
 
2530
   null, do not copy; instead, return the length of what the result
 
2531
   would have been.  */
 
2532
static YYSIZE_T
 
2533
yytnamerr (char *yyres, const char *yystr)
 
2534
{
 
2535
  if (*yystr == '"')
 
2536
    {
 
2537
      YYSIZE_T yyn = 0;
 
2538
      char const *yyp = yystr;
 
2539
 
 
2540
      for (;;)
 
2541
        switch (*++yyp)
 
2542
          {
 
2543
          case '\'':
 
2544
          case ',':
 
2545
            goto do_not_strip_quotes;
 
2546
 
 
2547
          case '\\':
 
2548
            if (*++yyp != '\\')
 
2549
              goto do_not_strip_quotes;
 
2550
            /* Fall through.  */
 
2551
          default:
 
2552
            if (yyres)
 
2553
              yyres[yyn] = *yyp;
 
2554
            yyn++;
 
2555
            break;
 
2556
 
 
2557
          case '"':
 
2558
            if (yyres)
 
2559
              yyres[yyn] = '\0';
 
2560
            return yyn;
 
2561
          }
 
2562
    do_not_strip_quotes: ;
 
2563
    }
 
2564
 
 
2565
  if (! yyres)
 
2566
    return yystrlen (yystr);
 
2567
 
 
2568
  return yystpcpy (yyres, yystr) - yyres;
 
2569
}
 
2570
# endif
 
2571
 
 
2572
/* Copy into YYRESULT an error message about the unexpected token
 
2573
   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
 
2574
   including the terminating null byte.  If YYRESULT is null, do not
 
2575
   copy anything; just return the number of bytes that would be
 
2576
   copied.  As a special case, return 0 if an ordinary "syntax error"
 
2577
   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
 
2578
   size calculation.  */
 
2579
static YYSIZE_T
 
2580
yysyntax_error (char *yyresult, int yystate, int yychar)
 
2581
{
 
2582
  int yyn = yypact[yystate];
 
2583
 
 
2584
  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
 
2585
    return 0;
 
2586
  else
 
2587
    {
 
2588
      int yytype = YYTRANSLATE (yychar);
 
2589
      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
 
2590
      YYSIZE_T yysize = yysize0;
 
2591
      YYSIZE_T yysize1;
 
2592
      int yysize_overflow = 0;
 
2593
      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
 
2594
      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
 
2595
      int yyx;
 
2596
 
 
2597
# if 0
 
2598
      /* This is so xgettext sees the translatable formats that are
 
2599
         constructed on the fly.  */
 
2600
      YY_("syntax error, unexpected %s");
 
2601
      YY_("syntax error, unexpected %s, expecting %s");
 
2602
      YY_("syntax error, unexpected %s, expecting %s or %s");
 
2603
      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
 
2604
      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
 
2605
# endif
 
2606
      char *yyfmt;
 
2607
      char const *yyf;
 
2608
      static char const yyunexpected[] = "syntax error, unexpected %s";
 
2609
      static char const yyexpecting[] = ", expecting %s";
 
2610
      static char const yyor[] = " or %s";
 
2611
      char yyformat[sizeof yyunexpected
 
2612
                    + sizeof yyexpecting - 1
 
2613
                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
 
2614
                       * (sizeof yyor - 1))];
 
2615
      char const *yyprefix = yyexpecting;
 
2616
 
 
2617
      /* Start YYX at -YYN if negative to avoid negative indexes in
 
2618
         YYCHECK.  */
 
2619
      int yyxbegin = yyn < 0 ? -yyn : 0;
 
2620
 
 
2621
      /* Stay within bounds of both yycheck and yytname.  */
 
2622
      int yychecklim = YYLAST - yyn + 1;
 
2623
      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
 
2624
      int yycount = 1;
 
2625
 
 
2626
      yyarg[0] = yytname[yytype];
 
2627
      yyfmt = yystpcpy (yyformat, yyunexpected);
 
2628
 
 
2629
      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
 
2630
        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
 
2631
          {
 
2632
            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
 
2633
              {
 
2634
                yycount = 1;
 
2635
                yysize = yysize0;
 
2636
                yyformat[sizeof yyunexpected - 1] = '\0';
 
2637
                break;
 
2638
              }
 
2639
            yyarg[yycount++] = yytname[yyx];
 
2640
            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
 
2641
            yysize_overflow |= (yysize1 < yysize);
 
2642
            yysize = yysize1;
 
2643
            yyfmt = yystpcpy (yyfmt, yyprefix);
 
2644
            yyprefix = yyor;
 
2645
          }
 
2646
 
 
2647
      yyf = YY_(yyformat);
 
2648
      yysize1 = yysize + yystrlen (yyf);
 
2649
      yysize_overflow |= (yysize1 < yysize);
 
2650
      yysize = yysize1;
 
2651
 
 
2652
      if (yysize_overflow)
 
2653
        return YYSIZE_MAXIMUM;
 
2654
 
 
2655
      if (yyresult)
 
2656
        {
 
2657
          /* Avoid sprintf, as that infringes on the user's name space.
 
2658
             Don't have undefined behavior even if the translation
 
2659
             produced a string with the wrong number of "%s"s.  */
 
2660
          char *yyp = yyresult;
 
2661
          int yyi = 0;
 
2662
          while ((*yyp = *yyf) != '\0')
 
2663
            {
 
2664
              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
 
2665
                {
 
2666
                  yyp += yytnamerr (yyp, yyarg[yyi++]);
 
2667
                  yyf += 2;
 
2668
                }
 
2669
              else
 
2670
                {
 
2671
                  yyp++;
 
2672
                  yyf++;
 
2673
                }
 
2674
            }
 
2675
        }
 
2676
      return yysize;
 
2677
    }
 
2678
}
 
2679
#endif /* YYERROR_VERBOSE */
 
2680
 
 
2681
 
 
2682
/*-----------------------------------------------.
 
2683
| Release the memory associated to this symbol.  |
 
2684
`-----------------------------------------------*/
 
2685
 
 
2686
/*ARGSUSED*/
 
2687
#if (defined __STDC__ || defined __C99__FUNC__ \
 
2688
     || defined __cplusplus || defined _MSC_VER)
 
2689
static void
 
2690
yydestruct (const char *yymsg, int yytype, YYSTYPE *yyvaluep, YYLTYPE *yylocationp, CfgLexer *lexer, gpointer *dummy)
 
2691
#else
 
2692
static void
 
2693
yydestruct (yymsg, yytype, yyvaluep, yylocationp, lexer, dummy)
 
2694
    const char *yymsg;
 
2695
    int yytype;
 
2696
    YYSTYPE *yyvaluep;
 
2697
    YYLTYPE *yylocationp;
 
2698
    CfgLexer *lexer;
 
2699
    gpointer *dummy;
 
2700
#endif
 
2701
{
 
2702
  YYUSE (yyvaluep);
 
2703
  YYUSE (yylocationp);
 
2704
  YYUSE (lexer);
 
2705
  YYUSE (dummy);
 
2706
 
 
2707
  if (!yymsg)
 
2708
    yymsg = "Deleting";
 
2709
  YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
 
2710
 
 
2711
  switch (yytype)
 
2712
    {
 
2713
 
 
2714
      default:
 
2715
        break;
 
2716
    }
 
2717
}
 
2718
 
 
2719
/* Prevent warnings from -Wmissing-prototypes.  */
 
2720
#ifdef YYPARSE_PARAM
 
2721
#if defined __STDC__ || defined __cplusplus
 
2722
int yyparse (void *YYPARSE_PARAM);
 
2723
#else
 
2724
int yyparse ();
 
2725
#endif
 
2726
#else /* ! YYPARSE_PARAM */
 
2727
#if defined __STDC__ || defined __cplusplus
 
2728
int yyparse (CfgLexer *lexer, gpointer *dummy);
 
2729
#else
 
2730
int yyparse ();
 
2731
#endif
 
2732
#endif /* ! YYPARSE_PARAM */
 
2733
 
 
2734
 
 
2735
 
 
2736
 
 
2737
 
 
2738
/*-------------------------.
 
2739
| yyparse or yypush_parse.  |
 
2740
`-------------------------*/
 
2741
 
 
2742
#ifdef YYPARSE_PARAM
 
2743
#if (defined __STDC__ || defined __C99__FUNC__ \
 
2744
     || defined __cplusplus || defined _MSC_VER)
 
2745
int
 
2746
yyparse (void *YYPARSE_PARAM)
 
2747
#else
 
2748
int
 
2749
yyparse (YYPARSE_PARAM)
 
2750
    void *YYPARSE_PARAM;
 
2751
#endif
 
2752
#else /* ! YYPARSE_PARAM */
 
2753
#if (defined __STDC__ || defined __C99__FUNC__ \
 
2754
     || defined __cplusplus || defined _MSC_VER)
 
2755
int
 
2756
yyparse (CfgLexer *lexer, gpointer *dummy)
 
2757
#else
 
2758
int
 
2759
yyparse (lexer, dummy)
 
2760
    CfgLexer *lexer;
 
2761
    gpointer *dummy;
 
2762
#endif
 
2763
#endif
 
2764
{
 
2765
/* The lookahead symbol.  */
 
2766
int yychar;
 
2767
 
 
2768
/* The semantic value of the lookahead symbol.  */
 
2769
YYSTYPE yylval;
 
2770
 
 
2771
/* Location data for the lookahead symbol.  */
 
2772
YYLTYPE yylloc;
 
2773
 
 
2774
    /* Number of syntax errors so far.  */
 
2775
    int yynerrs;
 
2776
 
 
2777
    int yystate;
 
2778
    /* Number of tokens to shift before error messages enabled.  */
 
2779
    int yyerrstatus;
 
2780
 
 
2781
    /* The stacks and their tools:
 
2782
       `yyss': related to states.
 
2783
       `yyvs': related to semantic values.
 
2784
       `yyls': related to locations.
 
2785
 
 
2786
       Refer to the stacks thru separate pointers, to allow yyoverflow
 
2787
       to reallocate them elsewhere.  */
 
2788
 
 
2789
    /* The state stack.  */
 
2790
    yytype_int16 yyssa[YYINITDEPTH];
 
2791
    yytype_int16 *yyss;
 
2792
    yytype_int16 *yyssp;
 
2793
 
 
2794
    /* The semantic value stack.  */
 
2795
    YYSTYPE yyvsa[YYINITDEPTH];
 
2796
    YYSTYPE *yyvs;
 
2797
    YYSTYPE *yyvsp;
 
2798
 
 
2799
    /* The location stack.  */
 
2800
    YYLTYPE yylsa[YYINITDEPTH];
 
2801
    YYLTYPE *yyls;
 
2802
    YYLTYPE *yylsp;
 
2803
 
 
2804
    /* The locations where the error started and ended.  */
 
2805
    YYLTYPE yyerror_range[2];
 
2806
 
 
2807
    YYSIZE_T yystacksize;
 
2808
 
 
2809
  int yyn;
 
2810
  int yyresult;
 
2811
  /* Lookahead token as an internal (translated) token number.  */
 
2812
  int yytoken;
 
2813
  /* The variables used to return semantic value and location from the
 
2814
     action routines.  */
 
2815
  YYSTYPE yyval;
 
2816
  YYLTYPE yyloc;
 
2817
 
 
2818
#if YYERROR_VERBOSE
 
2819
  /* Buffer for error messages, and its allocated size.  */
 
2820
  char yymsgbuf[128];
 
2821
  char *yymsg = yymsgbuf;
 
2822
  YYSIZE_T yymsg_alloc = sizeof yymsgbuf;
 
2823
#endif
 
2824
 
 
2825
#define YYPOPSTACK(N)   (yyvsp -= (N), yyssp -= (N), yylsp -= (N))
 
2826
 
 
2827
  /* The number of symbols on the RHS of the reduced rule.
 
2828
     Keep to zero when no symbol should be popped.  */
 
2829
  int yylen = 0;
 
2830
 
 
2831
  yytoken = 0;
 
2832
  yyss = yyssa;
 
2833
  yyvs = yyvsa;
 
2834
  yyls = yylsa;
 
2835
  yystacksize = YYINITDEPTH;
 
2836
 
 
2837
  YYDPRINTF ((stderr, "Starting parse\n"));
 
2838
 
 
2839
  yystate = 0;
 
2840
  yyerrstatus = 0;
 
2841
  yynerrs = 0;
 
2842
  yychar = YYEMPTY; /* Cause a token to be read.  */
 
2843
 
 
2844
  /* Initialize stack pointers.
 
2845
     Waste one element of value and location stack
 
2846
     so that they stay on the same level as the state stack.
 
2847
     The wasted elements are never initialized.  */
 
2848
  yyssp = yyss;
 
2849
  yyvsp = yyvs;
 
2850
  yylsp = yyls;
 
2851
 
 
2852
#if YYLTYPE_IS_TRIVIAL
 
2853
  /* Initialize the default location before parsing starts.  */
 
2854
  yylloc.first_line   = yylloc.last_line   = 1;
 
2855
  yylloc.first_column = yylloc.last_column = 1;
 
2856
#endif
 
2857
 
 
2858
  goto yysetstate;
 
2859
 
 
2860
/*------------------------------------------------------------.
 
2861
| yynewstate -- Push a new state, which is found in yystate.  |
 
2862
`------------------------------------------------------------*/
 
2863
 yynewstate:
 
2864
  /* In all cases, when you get here, the value and location stacks
 
2865
     have just been pushed.  So pushing a state here evens the stacks.  */
 
2866
  yyssp++;
 
2867
 
 
2868
 yysetstate:
 
2869
  *yyssp = yystate;
 
2870
 
 
2871
  if (yyss + yystacksize - 1 <= yyssp)
 
2872
    {
 
2873
      /* Get the current used size of the three stacks, in elements.  */
 
2874
      YYSIZE_T yysize = yyssp - yyss + 1;
 
2875
 
 
2876
#ifdef yyoverflow
 
2877
      {
 
2878
        /* Give user a chance to reallocate the stack.  Use copies of
 
2879
           these so that the &'s don't force the real ones into
 
2880
           memory.  */
 
2881
        YYSTYPE *yyvs1 = yyvs;
 
2882
        yytype_int16 *yyss1 = yyss;
 
2883
        YYLTYPE *yyls1 = yyls;
 
2884
 
 
2885
        /* Each stack pointer address is followed by the size of the
 
2886
           data in use in that stack, in bytes.  This used to be a
 
2887
           conditional around just the two extra args, but that might
 
2888
           be undefined if yyoverflow is a macro.  */
 
2889
        yyoverflow (YY_("memory exhausted"),
 
2890
                    &yyss1, yysize * sizeof (*yyssp),
 
2891
                    &yyvs1, yysize * sizeof (*yyvsp),
 
2892
                    &yyls1, yysize * sizeof (*yylsp),
 
2893
                    &yystacksize);
 
2894
 
 
2895
        yyls = yyls1;
 
2896
        yyss = yyss1;
 
2897
        yyvs = yyvs1;
 
2898
      }
 
2899
#else /* no yyoverflow */
 
2900
# ifndef YYSTACK_RELOCATE
 
2901
      goto yyexhaustedlab;
 
2902
# else
 
2903
      /* Extend the stack our own way.  */
 
2904
      if (YYMAXDEPTH <= yystacksize)
 
2905
        goto yyexhaustedlab;
 
2906
      yystacksize *= 2;
 
2907
      if (YYMAXDEPTH < yystacksize)
 
2908
        yystacksize = YYMAXDEPTH;
 
2909
 
 
2910
      {
 
2911
        yytype_int16 *yyss1 = yyss;
 
2912
        union yyalloc *yyptr =
 
2913
          (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize));
 
2914
        if (! yyptr)
 
2915
          goto yyexhaustedlab;
 
2916
        YYSTACK_RELOCATE (yyss_alloc, yyss);
 
2917
        YYSTACK_RELOCATE (yyvs_alloc, yyvs);
 
2918
        YYSTACK_RELOCATE (yyls_alloc, yyls);
 
2919
#  undef YYSTACK_RELOCATE
 
2920
        if (yyss1 != yyssa)
 
2921
          YYSTACK_FREE (yyss1);
 
2922
      }
 
2923
# endif
 
2924
#endif /* no yyoverflow */
 
2925
 
 
2926
      yyssp = yyss + yysize - 1;
 
2927
      yyvsp = yyvs + yysize - 1;
 
2928
      yylsp = yyls + yysize - 1;
 
2929
 
 
2930
      YYDPRINTF ((stderr, "Stack size increased to %lu\n",
 
2931
                  (unsigned long int) yystacksize));
 
2932
 
 
2933
      if (yyss + yystacksize - 1 <= yyssp)
 
2934
        YYABORT;
 
2935
    }
 
2936
 
 
2937
  YYDPRINTF ((stderr, "Entering state %d\n", yystate));
 
2938
 
 
2939
  if (yystate == YYFINAL)
 
2940
    YYACCEPT;
 
2941
 
 
2942
  goto yybackup;
 
2943
 
 
2944
/*-----------.
 
2945
| yybackup.  |
 
2946
`-----------*/
 
2947
yybackup:
 
2948
 
 
2949
  /* Do appropriate processing given the current state.  Read a
 
2950
     lookahead token if we need one and don't already have one.  */
 
2951
 
 
2952
  /* First try to decide what to do without reference to lookahead token.  */
 
2953
  yyn = yypact[yystate];
 
2954
  if (yyn == YYPACT_NINF)
 
2955
    goto yydefault;
 
2956
 
 
2957
  /* Not known => get a lookahead token if don't already have one.  */
 
2958
 
 
2959
  /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol.  */
 
2960
  if (yychar == YYEMPTY)
 
2961
    {
 
2962
      YYDPRINTF ((stderr, "Reading a token: "));
 
2963
      yychar = YYLEX;
 
2964
    }
 
2965
 
 
2966
  if (yychar <= YYEOF)
 
2967
    {
 
2968
      yychar = yytoken = YYEOF;
 
2969
      YYDPRINTF ((stderr, "Now at end of input.\n"));
 
2970
    }
 
2971
  else
 
2972
    {
 
2973
      yytoken = YYTRANSLATE (yychar);
 
2974
      YY_SYMBOL_PRINT ("Next token is", yytoken, &yylval, &yylloc);
 
2975
    }
 
2976
 
 
2977
  /* If the proper action on seeing token YYTOKEN is to reduce or to
 
2978
     detect an error, take that action.  */
 
2979
  yyn += yytoken;
 
2980
  if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken)
 
2981
    goto yydefault;
 
2982
  yyn = yytable[yyn];
 
2983
  if (yyn <= 0)
 
2984
    {
 
2985
      if (yyn == 0 || yyn == YYTABLE_NINF)
 
2986
        goto yyerrlab;
 
2987
      yyn = -yyn;
 
2988
      goto yyreduce;
 
2989
    }
 
2990
 
 
2991
  /* Count tokens shifted since error; after three, turn off error
 
2992
     status.  */
 
2993
  if (yyerrstatus)
 
2994
    yyerrstatus--;
 
2995
 
 
2996
  /* Shift the lookahead token.  */
 
2997
  YY_SYMBOL_PRINT ("Shifting", yytoken, &yylval, &yylloc);
 
2998
 
 
2999
  /* Discard the shifted token.  */
 
3000
  yychar = YYEMPTY;
 
3001
 
 
3002
  yystate = yyn;
 
3003
  *++yyvsp = yylval;
 
3004
  *++yylsp = yylloc;
 
3005
  goto yynewstate;
 
3006
 
 
3007
 
 
3008
/*-----------------------------------------------------------.
 
3009
| yydefault -- do the default action for the current state.  |
 
3010
`-----------------------------------------------------------*/
 
3011
yydefault:
 
3012
  yyn = yydefact[yystate];
 
3013
  if (yyn == 0)
 
3014
    goto yyerrlab;
 
3015
  goto yyreduce;
 
3016
 
 
3017
 
 
3018
/*-----------------------------.
 
3019
| yyreduce -- Do a reduction.  |
 
3020
`-----------------------------*/
 
3021
yyreduce:
 
3022
  /* yyn is the number of a rule to reduce with.  */
 
3023
  yylen = yyr2[yyn];
 
3024
 
 
3025
  /* If YYLEN is nonzero, implement the default value of the action:
 
3026
     `$$ = $1'.
 
3027
 
 
3028
     Otherwise, the following line sets YYVAL to garbage.
 
3029
     This behavior is undocumented and Bison
 
3030
     users should not rely upon it.  Assigning to YYVAL
 
3031
     unconditionally makes the parser a bit smaller, and it avoids a
 
3032
     GCC warning that YYVAL may be used uninitialized.  */
 
3033
  yyval = yyvsp[1-yylen];
 
3034
 
 
3035
  /* Default location.  */
 
3036
  YYLLOC_DEFAULT (yyloc, (yylsp - yylen), yylen);
 
3037
  YY_REDUCE_PRINT (yyn);
 
3038
  switch (yyn)
 
3039
    {
 
3040
        case 5:
 
3041
 
 
3042
/* Line 1455 of yacc.c  */
 
3043
#line 368 "cfg-grammar.y"
 
3044
    { cfg_add_source(configuration, (yyvsp[(2) - (2)].ptr)); }
 
3045
    break;
 
3046
 
 
3047
  case 6:
 
3048
 
 
3049
/* Line 1455 of yacc.c  */
 
3050
#line 369 "cfg-grammar.y"
 
3051
    { cfg_add_dest(configuration, (yyvsp[(2) - (2)].ptr)); }
 
3052
    break;
 
3053
 
 
3054
  case 7:
 
3055
 
 
3056
/* Line 1455 of yacc.c  */
 
3057
#line 370 "cfg-grammar.y"
 
3058
    { cfg_add_connection(configuration, (yyvsp[(2) - (2)].ptr)); }
 
3059
    break;
 
3060
 
 
3061
  case 8:
 
3062
 
 
3063
/* Line 1455 of yacc.c  */
 
3064
#line 371 "cfg-grammar.y"
 
3065
    { cfg_add_filter(configuration, (yyvsp[(2) - (2)].ptr)); }
 
3066
    break;
 
3067
 
 
3068
  case 9:
 
3069
 
 
3070
/* Line 1455 of yacc.c  */
 
3071
#line 372 "cfg-grammar.y"
 
3072
    { cfg_add_parser(configuration, (yyvsp[(2) - (2)].ptr)); }
 
3073
    break;
 
3074
 
 
3075
  case 10:
 
3076
 
 
3077
/* Line 1455 of yacc.c  */
 
3078
#line 373 "cfg-grammar.y"
 
3079
    { cfg_add_rewrite(configuration, (yyvsp[(2) - (2)].ptr)); }
 
3080
    break;
 
3081
 
 
3082
  case 11:
 
3083
 
 
3084
/* Line 1455 of yacc.c  */
 
3085
#line 374 "cfg-grammar.y"
 
3086
    { cfg_add_template(configuration, (yyvsp[(2) - (2)].ptr)); }
 
3087
    break;
 
3088
 
 
3089
  case 12:
 
3090
 
 
3091
/* Line 1455 of yacc.c  */
 
3092
#line 375 "cfg-grammar.y"
 
3093
    {  }
 
3094
    break;
 
3095
 
 
3096
  case 13:
 
3097
 
 
3098
/* Line 1455 of yacc.c  */
 
3099
#line 376 "cfg-grammar.y"
 
3100
    {  }
 
3101
    break;
 
3102
 
 
3103
  case 14:
 
3104
 
 
3105
/* Line 1455 of yacc.c  */
 
3106
#line 381 "cfg-grammar.y"
 
3107
    { cfg_lexer_push_context(lexer, LL_CONTEXT_SOURCE, NULL, "source"); }
 
3108
    break;
 
3109
 
 
3110
  case 15:
 
3111
 
 
3112
/* Line 1455 of yacc.c  */
 
3113
#line 383 "cfg-grammar.y"
 
3114
    { cfg_lexer_pop_context(lexer); }
 
3115
    break;
 
3116
 
 
3117
  case 16:
 
3118
 
 
3119
/* Line 1455 of yacc.c  */
 
3120
#line 383 "cfg-grammar.y"
 
3121
    { (yyval.ptr) = log_source_group_new((yyvsp[(1) - (6)].cptr), (yyvsp[(4) - (6)].ptr)); free((yyvsp[(1) - (6)].cptr)); }
 
3122
    break;
 
3123
 
 
3124
  case 17:
 
3125
 
 
3126
/* Line 1455 of yacc.c  */
 
3127
#line 388 "cfg-grammar.y"
 
3128
    {
 
3129
            last_filter_expr = NULL;
 
3130
            CHECK_ERROR(cfg_parser_parse(&filter_expr_parser, lexer, (gpointer *) &last_filter_expr), (yylsp[(1) - (2)]), NULL);
 
3131
          }
 
3132
    break;
 
3133
 
 
3134
  case 18:
 
3135
 
 
3136
/* Line 1455 of yacc.c  */
 
3137
#line 392 "cfg-grammar.y"
 
3138
    { (yyval.ptr) = log_filter_rule_new((yyvsp[(1) - (4)].cptr), last_filter_expr); free((yyvsp[(1) - (4)].cptr)); }
 
3139
    break;
 
3140
 
 
3141
  case 19:
 
3142
 
 
3143
/* Line 1455 of yacc.c  */
 
3144
#line 397 "cfg-grammar.y"
 
3145
    {
 
3146
            CHECK_ERROR(cfg_parser_parse(&parser_expr_parser, lexer, (gpointer *) &last_parser_expr), (yylsp[(1) - (2)]), NULL);
 
3147
          }
 
3148
    break;
 
3149
 
 
3150
  case 20:
 
3151
 
 
3152
/* Line 1455 of yacc.c  */
 
3153
#line 399 "cfg-grammar.y"
 
3154
    { (yyval.ptr) = log_parser_rule_new((yyvsp[(1) - (4)].cptr), last_parser_expr); free((yyvsp[(1) - (4)].cptr)); }
 
3155
    break;
 
3156
 
 
3157
  case 21:
 
3158
 
 
3159
/* Line 1455 of yacc.c  */
 
3160
#line 403 "cfg-grammar.y"
 
3161
    {
 
3162
            CHECK_ERROR(cfg_parser_parse(&rewrite_expr_parser, lexer, (gpointer *) &last_rewrite_expr), (yylsp[(1) - (2)]), NULL);
 
3163
          }
 
3164
    break;
 
3165
 
 
3166
  case 22:
 
3167
 
 
3168
/* Line 1455 of yacc.c  */
 
3169
#line 405 "cfg-grammar.y"
 
3170
    { (yyval.ptr) = log_rewrite_rule_new((yyvsp[(1) - (4)].cptr), last_rewrite_expr); free((yyvsp[(1) - (4)].cptr)); }
 
3171
    break;
 
3172
 
 
3173
  case 23:
 
3174
 
 
3175
/* Line 1455 of yacc.c  */
 
3176
#line 409 "cfg-grammar.y"
 
3177
    { cfg_lexer_push_context(lexer, LL_CONTEXT_DESTINATION, NULL, "destination"); }
 
3178
    break;
 
3179
 
 
3180
  case 24:
 
3181
 
 
3182
/* Line 1455 of yacc.c  */
 
3183
#line 411 "cfg-grammar.y"
 
3184
    { cfg_lexer_pop_context(lexer); }
 
3185
    break;
 
3186
 
 
3187
  case 25:
 
3188
 
 
3189
/* Line 1455 of yacc.c  */
 
3190
#line 411 "cfg-grammar.y"
 
3191
    { (yyval.ptr) = log_dest_group_new((yyvsp[(1) - (6)].cptr), (yyvsp[(4) - (6)].ptr)); free((yyvsp[(1) - (6)].cptr)); }
 
3192
    break;
 
3193
 
 
3194
  case 26:
 
3195
 
 
3196
/* Line 1455 of yacc.c  */
 
3197
#line 415 "cfg-grammar.y"
 
3198
    { cfg_lexer_push_context(lexer, LL_CONTEXT_LOG, NULL, "log"); }
 
3199
    break;
 
3200
 
 
3201
  case 27:
 
3202
 
 
3203
/* Line 1455 of yacc.c  */
 
3204
#line 417 "cfg-grammar.y"
 
3205
    { cfg_lexer_pop_context(lexer); }
 
3206
    break;
 
3207
 
 
3208
  case 28:
 
3209
 
 
3210
/* Line 1455 of yacc.c  */
 
3211
#line 417 "cfg-grammar.y"
 
3212
    { LogPipeItem *pi = log_pipe_item_append_tail((yyvsp[(3) - (7)].ptr), (yyvsp[(4) - (7)].ptr)); (yyval.ptr) = log_connection_new(pi, (yyvsp[(5) - (7)].num)); }
 
3213
    break;
 
3214
 
 
3215
  case 29:
 
3216
 
 
3217
/* Line 1455 of yacc.c  */
 
3218
#line 422 "cfg-grammar.y"
 
3219
    { cfg_lexer_push_context(lexer, LL_CONTEXT_BLOCK_DEF, block_def_keywords, "block definition"); }
 
3220
    break;
 
3221
 
 
3222
  case 30:
 
3223
 
 
3224
/* Line 1455 of yacc.c  */
 
3225
#line 424 "cfg-grammar.y"
 
3226
    { last_block_args = cfg_args_new(); }
 
3227
    break;
 
3228
 
 
3229
  case 31:
 
3230
 
 
3231
/* Line 1455 of yacc.c  */
 
3232
#line 425 "cfg-grammar.y"
 
3233
    { cfg_lexer_push_context(lexer, LL_CONTEXT_BLOCK_CONTENT, NULL, "block content"); }
 
3234
    break;
 
3235
 
 
3236
  case 32:
 
3237
 
 
3238
/* Line 1455 of yacc.c  */
 
3239
#line 427 "cfg-grammar.y"
 
3240
    {
 
3241
                                                            CfgBlock *block;
 
3242
 
 
3243
                                                            /* block content */
 
3244
                                                            cfg_lexer_pop_context(lexer);
 
3245
                                                            /* block definition */
 
3246
                                                            cfg_lexer_pop_context(lexer);
 
3247
 
 
3248
                                                            block = cfg_block_new((yyvsp[(9) - (9)].cptr), last_block_args);
 
3249
                                                            cfg_lexer_register_block_generator(lexer, cfg_lexer_lookup_context_type_by_name((yyvsp[(2) - (9)].cptr)), (yyvsp[(3) - (9)].cptr), cfg_block_generate, block, (GDestroyNotify) cfg_block_free);
 
3250
                                                            free((yyvsp[(9) - (9)].cptr));
 
3251
                                                            last_block_args = NULL;
 
3252
                                                          }
 
3253
    break;
 
3254
 
 
3255
  case 35:
 
3256
 
 
3257
/* Line 1455 of yacc.c  */
 
3258
#line 448 "cfg-grammar.y"
 
3259
    { cfg_args_set(last_block_args, (yyvsp[(1) - (4)].cptr), (yyvsp[(3) - (4)].cptr)); free((yyvsp[(1) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3260
    break;
 
3261
 
 
3262
  case 36:
 
3263
 
 
3264
/* Line 1455 of yacc.c  */
 
3265
#line 449 "cfg-grammar.y"
 
3266
    {}
 
3267
    break;
 
3268
 
 
3269
  case 37:
 
3270
 
 
3271
/* Line 1455 of yacc.c  */
 
3272
#line 453 "cfg-grammar.y"
 
3273
    { log_pipe_item_append((yyvsp[(1) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); (yyval.ptr) = (yyvsp[(1) - (3)].ptr); }
 
3274
    break;
 
3275
 
 
3276
  case 38:
 
3277
 
 
3278
/* Line 1455 of yacc.c  */
 
3279
#line 454 "cfg-grammar.y"
 
3280
    { (yyval.ptr) = NULL; }
 
3281
    break;
 
3282
 
 
3283
  case 39:
 
3284
 
 
3285
/* Line 1455 of yacc.c  */
 
3286
#line 458 "cfg-grammar.y"
 
3287
    { (yyval.ptr) = log_pipe_item_new(EP_SOURCE, (yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3288
    break;
 
3289
 
 
3290
  case 40:
 
3291
 
 
3292
/* Line 1455 of yacc.c  */
 
3293
#line 459 "cfg-grammar.y"
 
3294
    { (yyval.ptr) = log_pipe_item_new(EP_FILTER, (yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3295
    break;
 
3296
 
 
3297
  case 41:
 
3298
 
 
3299
/* Line 1455 of yacc.c  */
 
3300
#line 460 "cfg-grammar.y"
 
3301
    { (yyval.ptr) = log_pipe_item_new(EP_PARSER, (yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3302
    break;
 
3303
 
 
3304
  case 42:
 
3305
 
 
3306
/* Line 1455 of yacc.c  */
 
3307
#line 461 "cfg-grammar.y"
 
3308
    { (yyval.ptr) = log_pipe_item_new(EP_REWRITE, (yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3309
    break;
 
3310
 
 
3311
  case 43:
 
3312
 
 
3313
/* Line 1455 of yacc.c  */
 
3314
#line 462 "cfg-grammar.y"
 
3315
    { (yyval.ptr) = log_pipe_item_new(EP_DESTINATION, (yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3316
    break;
 
3317
 
 
3318
  case 44:
 
3319
 
 
3320
/* Line 1455 of yacc.c  */
 
3321
#line 466 "cfg-grammar.y"
 
3322
    { log_pipe_item_append((yyvsp[(1) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); (yyval.ptr) = (yyvsp[(1) - (3)].ptr); }
 
3323
    break;
 
3324
 
 
3325
  case 45:
 
3326
 
 
3327
/* Line 1455 of yacc.c  */
 
3328
#line 467 "cfg-grammar.y"
 
3329
    { (yyval.ptr) = NULL; }
 
3330
    break;
 
3331
 
 
3332
  case 46:
 
3333
 
 
3334
/* Line 1455 of yacc.c  */
 
3335
#line 471 "cfg-grammar.y"
 
3336
    { LogPipeItem *pi = log_pipe_item_append_tail((yyvsp[(3) - (6)].ptr), (yyvsp[(4) - (6)].ptr)); (yyval.ptr) = log_pipe_item_new_ref(EP_PIPE, log_connection_new(pi, (yyvsp[(5) - (6)].num))); }
 
3337
    break;
 
3338
 
 
3339
  case 47:
 
3340
 
 
3341
/* Line 1455 of yacc.c  */
 
3342
#line 475 "cfg-grammar.y"
 
3343
    { (yyval.num) = (yyvsp[(3) - (5)].num); }
 
3344
    break;
 
3345
 
 
3346
  case 48:
 
3347
 
 
3348
/* Line 1455 of yacc.c  */
 
3349
#line 476 "cfg-grammar.y"
 
3350
    { (yyval.num) = 0; }
 
3351
    break;
 
3352
 
 
3353
  case 51:
 
3354
 
 
3355
/* Line 1455 of yacc.c  */
 
3356
#line 485 "cfg-grammar.y"
 
3357
    { (yyval.num) = log_connection_lookup_flag((yyvsp[(1) - (2)].cptr)) | (yyvsp[(2) - (2)].num); free((yyvsp[(1) - (2)].cptr)); }
 
3358
    break;
 
3359
 
 
3360
  case 52:
 
3361
 
 
3362
/* Line 1455 of yacc.c  */
 
3363
#line 486 "cfg-grammar.y"
 
3364
    { (yyval.num) = 0; }
 
3365
    break;
 
3366
 
 
3367
  case 53:
 
3368
 
 
3369
/* Line 1455 of yacc.c  */
 
3370
#line 491 "cfg-grammar.y"
 
3371
    { (yyval.ptr) = NULL; }
 
3372
    break;
 
3373
 
 
3374
  case 54:
 
3375
 
 
3376
/* Line 1455 of yacc.c  */
 
3377
#line 496 "cfg-grammar.y"
 
3378
    {
 
3379
            last_template = log_template_new(configuration, (yyvsp[(1) - (1)].cptr), NULL);
 
3380
            free((yyvsp[(1) - (1)].cptr));
 
3381
          }
 
3382
    break;
 
3383
 
 
3384
  case 55:
 
3385
 
 
3386
/* Line 1455 of yacc.c  */
 
3387
#line 500 "cfg-grammar.y"
 
3388
    { (yyval.ptr) = last_template;  }
 
3389
    break;
 
3390
 
 
3391
  case 58:
 
3392
 
 
3393
/* Line 1455 of yacc.c  */
 
3394
#line 509 "cfg-grammar.y"
 
3395
    {
 
3396
                                                  GError *error = NULL;
 
3397
 
 
3398
                                                  last_template->template = g_strdup((yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr));
 
3399
                                                  CHECK_ERROR(log_template_compile(last_template, &error), (yylsp[(3) - (4)]), "Error compiling template (%s)", error->message);
 
3400
                                                }
 
3401
    break;
 
3402
 
 
3403
  case 59:
 
3404
 
 
3405
/* Line 1455 of yacc.c  */
 
3406
#line 515 "cfg-grammar.y"
 
3407
    { log_template_set_escape(last_template, (yyvsp[(3) - (4)].num)); }
 
3408
    break;
 
3409
 
 
3410
  case 60:
 
3411
 
 
3412
/* Line 1455 of yacc.c  */
 
3413
#line 520 "cfg-grammar.y"
 
3414
    { if ((yyvsp[(1) - (3)].ptr)) {log_drv_append((yyvsp[(1) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); log_drv_unref((yyvsp[(3) - (3)].ptr)); (yyval.ptr) = (yyvsp[(1) - (3)].ptr); } else { YYERROR; } }
 
3415
    break;
 
3416
 
 
3417
  case 61:
 
3418
 
 
3419
/* Line 1455 of yacc.c  */
 
3420
#line 521 "cfg-grammar.y"
 
3421
    { (yyval.ptr) = (yyvsp[(2) - (2)].ptr); }
 
3422
    break;
 
3423
 
 
3424
  case 62:
 
3425
 
 
3426
/* Line 1455 of yacc.c  */
 
3427
#line 522 "cfg-grammar.y"
 
3428
    { (yyval.ptr) = NULL; }
 
3429
    break;
 
3430
 
 
3431
  case 63:
 
3432
 
 
3433
/* Line 1455 of yacc.c  */
 
3434
#line 526 "cfg-grammar.y"
 
3435
    { (yyval.ptr) = (yyvsp[(1) - (1)].ptr); }
 
3436
    break;
 
3437
 
 
3438
  case 64:
 
3439
 
 
3440
/* Line 1455 of yacc.c  */
 
3441
#line 527 "cfg-grammar.y"
 
3442
    { (yyval.ptr) = (yyvsp[(1) - (1)].ptr); }
 
3443
    break;
 
3444
 
 
3445
  case 65:
 
3446
 
 
3447
/* Line 1455 of yacc.c  */
 
3448
#line 532 "cfg-grammar.y"
 
3449
    {
 
3450
            Plugin *p;
 
3451
            gint context = LL_CONTEXT_SOURCE;
 
3452
 
 
3453
            p = plugin_find(configuration, context, (yyvsp[(1) - (1)].cptr));
 
3454
            CHECK_ERROR(p, (yylsp[(1) - (1)]), "%s plugin %s not found", cfg_lexer_lookup_context_name_by_type(context), (yyvsp[(1) - (1)].cptr));
 
3455
 
 
3456
            last_driver = (LogDriver *) plugin_parse_config(p, configuration, &(yylsp[(1) - (1)]));
 
3457
            free((yyvsp[(1) - (1)].cptr));
 
3458
            if (!last_driver)
 
3459
              {
 
3460
                YYERROR;
 
3461
              }
 
3462
            (yyval.ptr) = last_driver;
 
3463
          }
 
3464
    break;
 
3465
 
 
3466
  case 66:
 
3467
 
 
3468
/* Line 1455 of yacc.c  */
 
3469
#line 550 "cfg-grammar.y"
 
3470
    { (yyval.ptr) = afinter_sd_new(); }
 
3471
    break;
 
3472
 
 
3473
  case 67:
 
3474
 
 
3475
/* Line 1455 of yacc.c  */
 
3476
#line 554 "cfg-grammar.y"
 
3477
    { log_drv_append((yyvsp[(1) - (3)].ptr), (yyvsp[(3) - (3)].ptr)); log_drv_unref((yyvsp[(3) - (3)].ptr)); (yyval.ptr) = (yyvsp[(1) - (3)].ptr); }
 
3478
    break;
 
3479
 
 
3480
  case 68:
 
3481
 
 
3482
/* Line 1455 of yacc.c  */
 
3483
#line 555 "cfg-grammar.y"
 
3484
    { (yyval.ptr) = (yyvsp[(2) - (2)].ptr); }
 
3485
    break;
 
3486
 
 
3487
  case 69:
 
3488
 
 
3489
/* Line 1455 of yacc.c  */
 
3490
#line 556 "cfg-grammar.y"
 
3491
    { (yyval.ptr) = NULL; }
 
3492
    break;
 
3493
 
 
3494
  case 70:
 
3495
 
 
3496
/* Line 1455 of yacc.c  */
 
3497
#line 560 "cfg-grammar.y"
 
3498
    { (yyval.ptr) = (yyvsp[(1) - (1)].ptr); }
 
3499
    break;
 
3500
 
 
3501
  case 71:
 
3502
 
 
3503
/* Line 1455 of yacc.c  */
 
3504
#line 565 "cfg-grammar.y"
 
3505
    {
 
3506
            Plugin *p;
 
3507
            gint context = LL_CONTEXT_DESTINATION;
 
3508
 
 
3509
            p = plugin_find(configuration, context, (yyvsp[(1) - (1)].cptr));
 
3510
            CHECK_ERROR(p, (yylsp[(1) - (1)]), "%s plugin %s not found", cfg_lexer_lookup_context_name_by_type(context), (yyvsp[(1) - (1)].cptr));
 
3511
 
 
3512
            last_driver = (LogDriver *) plugin_parse_config(p, configuration, &(yylsp[(1) - (1)]));
 
3513
            free((yyvsp[(1) - (1)].cptr));
 
3514
            if (!last_driver)
 
3515
              {
 
3516
                YYERROR;
 
3517
              }
 
3518
            (yyval.ptr) = last_driver;
 
3519
          }
 
3520
    break;
 
3521
 
 
3522
  case 72:
 
3523
 
 
3524
/* Line 1455 of yacc.c  */
 
3525
#line 583 "cfg-grammar.y"
 
3526
    { (yyval.ptr) = (yyvsp[(1) - (3)].ptr); }
 
3527
    break;
 
3528
 
 
3529
  case 73:
 
3530
 
 
3531
/* Line 1455 of yacc.c  */
 
3532
#line 584 "cfg-grammar.y"
 
3533
    { (yyval.ptr) = NULL; }
 
3534
    break;
 
3535
 
 
3536
  case 74:
 
3537
 
 
3538
/* Line 1455 of yacc.c  */
 
3539
#line 588 "cfg-grammar.y"
 
3540
    { configuration->mark_freq = (yyvsp[(3) - (4)].num); }
 
3541
    break;
 
3542
 
 
3543
  case 75:
 
3544
 
 
3545
/* Line 1455 of yacc.c  */
 
3546
#line 589 "cfg-grammar.y"
 
3547
    { configuration->stats_freq = (yyvsp[(3) - (4)].num); }
 
3548
    break;
 
3549
 
 
3550
  case 76:
 
3551
 
 
3552
/* Line 1455 of yacc.c  */
 
3553
#line 590 "cfg-grammar.y"
 
3554
    { configuration->stats_level = (yyvsp[(3) - (4)].num); }
 
3555
    break;
 
3556
 
 
3557
  case 77:
 
3558
 
 
3559
/* Line 1455 of yacc.c  */
 
3560
#line 591 "cfg-grammar.y"
 
3561
    { configuration->flush_lines = (yyvsp[(3) - (4)].num); }
 
3562
    break;
 
3563
 
 
3564
  case 78:
 
3565
 
 
3566
/* Line 1455 of yacc.c  */
 
3567
#line 592 "cfg-grammar.y"
 
3568
    { configuration->flush_timeout = (yyvsp[(3) - (4)].num); }
 
3569
    break;
 
3570
 
 
3571
  case 79:
 
3572
 
 
3573
/* Line 1455 of yacc.c  */
 
3574
#line 593 "cfg-grammar.y"
 
3575
    { configuration->chain_hostnames = (yyvsp[(3) - (4)].num); }
 
3576
    break;
 
3577
 
 
3578
  case 80:
 
3579
 
 
3580
/* Line 1455 of yacc.c  */
 
3581
#line 594 "cfg-grammar.y"
 
3582
    { configuration->normalize_hostnames = (yyvsp[(3) - (4)].num); }
 
3583
    break;
 
3584
 
 
3585
  case 81:
 
3586
 
 
3587
/* Line 1455 of yacc.c  */
 
3588
#line 595 "cfg-grammar.y"
 
3589
    { configuration->keep_hostname = (yyvsp[(3) - (4)].num); }
 
3590
    break;
 
3591
 
 
3592
  case 82:
 
3593
 
 
3594
/* Line 1455 of yacc.c  */
 
3595
#line 596 "cfg-grammar.y"
 
3596
    { configuration->check_hostname = (yyvsp[(3) - (4)].num); }
 
3597
    break;
 
3598
 
 
3599
  case 83:
 
3600
 
 
3601
/* Line 1455 of yacc.c  */
 
3602
#line 597 "cfg-grammar.y"
 
3603
    { cfg_bad_hostname_set(configuration, (yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3604
    break;
 
3605
 
 
3606
  case 84:
 
3607
 
 
3608
/* Line 1455 of yacc.c  */
 
3609
#line 598 "cfg-grammar.y"
 
3610
    { configuration->use_fqdn = (yyvsp[(3) - (4)].num); }
 
3611
    break;
 
3612
 
 
3613
  case 85:
 
3614
 
 
3615
/* Line 1455 of yacc.c  */
 
3616
#line 599 "cfg-grammar.y"
 
3617
    { configuration->use_dns = (yyvsp[(3) - (4)].num); }
 
3618
    break;
 
3619
 
 
3620
  case 86:
 
3621
 
 
3622
/* Line 1455 of yacc.c  */
 
3623
#line 600 "cfg-grammar.y"
 
3624
    { configuration->time_reopen = (yyvsp[(3) - (4)].num); }
 
3625
    break;
 
3626
 
 
3627
  case 87:
 
3628
 
 
3629
/* Line 1455 of yacc.c  */
 
3630
#line 601 "cfg-grammar.y"
 
3631
    { configuration->time_reap = (yyvsp[(3) - (4)].num); }
 
3632
    break;
 
3633
 
 
3634
  case 88:
 
3635
 
 
3636
/* Line 1455 of yacc.c  */
 
3637
#line 603 "cfg-grammar.y"
 
3638
    {
 
3639
                  configuration->time_sleep = (yyvsp[(3) - (4)].num);
 
3640
                  if ((yyvsp[(3) - (4)].num) > 500)
 
3641
                    {
 
3642
                      msg_notice("The value specified for time_sleep is too large", evt_tag_int("time_sleep", (yyvsp[(3) - (4)].num)), NULL);
 
3643
                      configuration->time_sleep = 500;
 
3644
                    }
 
3645
                }
 
3646
    break;
 
3647
 
 
3648
  case 89:
 
3649
 
 
3650
/* Line 1455 of yacc.c  */
 
3651
#line 611 "cfg-grammar.y"
 
3652
    { configuration->log_fifo_size = (yyvsp[(3) - (4)].num); }
 
3653
    break;
 
3654
 
 
3655
  case 90:
 
3656
 
 
3657
/* Line 1455 of yacc.c  */
 
3658
#line 612 "cfg-grammar.y"
 
3659
    { configuration->log_iw_size = (yyvsp[(3) - (4)].num); }
 
3660
    break;
 
3661
 
 
3662
  case 91:
 
3663
 
 
3664
/* Line 1455 of yacc.c  */
 
3665
#line 613 "cfg-grammar.y"
 
3666
    { configuration->log_fetch_limit = (yyvsp[(3) - (4)].num); }
 
3667
    break;
 
3668
 
 
3669
  case 92:
 
3670
 
 
3671
/* Line 1455 of yacc.c  */
 
3672
#line 614 "cfg-grammar.y"
 
3673
    { configuration->log_msg_size = (yyvsp[(3) - (4)].num); }
 
3674
    break;
 
3675
 
 
3676
  case 93:
 
3677
 
 
3678
/* Line 1455 of yacc.c  */
 
3679
#line 615 "cfg-grammar.y"
 
3680
    { configuration->keep_timestamp = (yyvsp[(3) - (4)].num); }
 
3681
    break;
 
3682
 
 
3683
  case 94:
 
3684
 
 
3685
/* Line 1455 of yacc.c  */
 
3686
#line 616 "cfg-grammar.y"
 
3687
    { configuration->template_options.ts_format = cfg_ts_format_value((yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3688
    break;
 
3689
 
 
3690
  case 95:
 
3691
 
 
3692
/* Line 1455 of yacc.c  */
 
3693
#line 617 "cfg-grammar.y"
 
3694
    { configuration->template_options.frac_digits = (yyvsp[(3) - (4)].num); }
 
3695
    break;
 
3696
 
 
3697
  case 96:
 
3698
 
 
3699
/* Line 1455 of yacc.c  */
 
3700
#line 618 "cfg-grammar.y"
 
3701
    { configuration->create_dirs = (yyvsp[(3) - (4)].num); }
 
3702
    break;
 
3703
 
 
3704
  case 97:
 
3705
 
 
3706
/* Line 1455 of yacc.c  */
 
3707
#line 619 "cfg-grammar.y"
 
3708
    { cfg_file_owner_set(configuration, (yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3709
    break;
 
3710
 
 
3711
  case 98:
 
3712
 
 
3713
/* Line 1455 of yacc.c  */
 
3714
#line 620 "cfg-grammar.y"
 
3715
    { cfg_file_owner_set(configuration, "-2"); }
 
3716
    break;
 
3717
 
 
3718
  case 99:
 
3719
 
 
3720
/* Line 1455 of yacc.c  */
 
3721
#line 621 "cfg-grammar.y"
 
3722
    { cfg_file_group_set(configuration, (yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3723
    break;
 
3724
 
 
3725
  case 100:
 
3726
 
 
3727
/* Line 1455 of yacc.c  */
 
3728
#line 622 "cfg-grammar.y"
 
3729
    { cfg_file_group_set(configuration, "-2"); }
 
3730
    break;
 
3731
 
 
3732
  case 101:
 
3733
 
 
3734
/* Line 1455 of yacc.c  */
 
3735
#line 623 "cfg-grammar.y"
 
3736
    { cfg_file_perm_set(configuration, (yyvsp[(3) - (4)].num)); }
 
3737
    break;
 
3738
 
 
3739
  case 102:
 
3740
 
 
3741
/* Line 1455 of yacc.c  */
 
3742
#line 624 "cfg-grammar.y"
 
3743
    { cfg_file_perm_set(configuration, -2); }
 
3744
    break;
 
3745
 
 
3746
  case 103:
 
3747
 
 
3748
/* Line 1455 of yacc.c  */
 
3749
#line 625 "cfg-grammar.y"
 
3750
    { cfg_dir_owner_set(configuration, (yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3751
    break;
 
3752
 
 
3753
  case 104:
 
3754
 
 
3755
/* Line 1455 of yacc.c  */
 
3756
#line 626 "cfg-grammar.y"
 
3757
    { cfg_dir_owner_set(configuration, "-2"); }
 
3758
    break;
 
3759
 
 
3760
  case 105:
 
3761
 
 
3762
/* Line 1455 of yacc.c  */
 
3763
#line 627 "cfg-grammar.y"
 
3764
    { cfg_dir_group_set(configuration, (yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3765
    break;
 
3766
 
 
3767
  case 106:
 
3768
 
 
3769
/* Line 1455 of yacc.c  */
 
3770
#line 628 "cfg-grammar.y"
 
3771
    { cfg_dir_group_set(configuration, "-2"); }
 
3772
    break;
 
3773
 
 
3774
  case 107:
 
3775
 
 
3776
/* Line 1455 of yacc.c  */
 
3777
#line 629 "cfg-grammar.y"
 
3778
    { cfg_dir_perm_set(configuration, (yyvsp[(3) - (4)].num)); }
 
3779
    break;
 
3780
 
 
3781
  case 108:
 
3782
 
 
3783
/* Line 1455 of yacc.c  */
 
3784
#line 630 "cfg-grammar.y"
 
3785
    { cfg_dir_perm_set(configuration, -2); }
 
3786
    break;
 
3787
 
 
3788
  case 109:
 
3789
 
 
3790
/* Line 1455 of yacc.c  */
 
3791
#line 631 "cfg-grammar.y"
 
3792
    { configuration->use_dns_cache = (yyvsp[(3) - (4)].num); }
 
3793
    break;
 
3794
 
 
3795
  case 110:
 
3796
 
 
3797
/* Line 1455 of yacc.c  */
 
3798
#line 632 "cfg-grammar.y"
 
3799
    { configuration->dns_cache_size = (yyvsp[(3) - (4)].num); }
 
3800
    break;
 
3801
 
 
3802
  case 111:
 
3803
 
 
3804
/* Line 1455 of yacc.c  */
 
3805
#line 633 "cfg-grammar.y"
 
3806
    { configuration->dns_cache_expire = (yyvsp[(3) - (4)].num); }
 
3807
    break;
 
3808
 
 
3809
  case 112:
 
3810
 
 
3811
/* Line 1455 of yacc.c  */
 
3812
#line 635 "cfg-grammar.y"
 
3813
    { configuration->dns_cache_expire_failed = (yyvsp[(3) - (4)].num); }
 
3814
    break;
 
3815
 
 
3816
  case 113:
 
3817
 
 
3818
/* Line 1455 of yacc.c  */
 
3819
#line 636 "cfg-grammar.y"
 
3820
    { configuration->dns_cache_hosts = g_strdup((yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3821
    break;
 
3822
 
 
3823
  case 114:
 
3824
 
 
3825
/* Line 1455 of yacc.c  */
 
3826
#line 637 "cfg-grammar.y"
 
3827
    { configuration->file_template_name = g_strdup((yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3828
    break;
 
3829
 
 
3830
  case 115:
 
3831
 
 
3832
/* Line 1455 of yacc.c  */
 
3833
#line 638 "cfg-grammar.y"
 
3834
    { configuration->proto_template_name = g_strdup((yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3835
    break;
 
3836
 
 
3837
  case 116:
 
3838
 
 
3839
/* Line 1455 of yacc.c  */
 
3840
#line 639 "cfg-grammar.y"
 
3841
    { configuration->recv_time_zone = g_strdup((yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3842
    break;
 
3843
 
 
3844
  case 117:
 
3845
 
 
3846
/* Line 1455 of yacc.c  */
 
3847
#line 640 "cfg-grammar.y"
 
3848
    { configuration->template_options.time_zone[LTZ_SEND] = g_strdup((yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3849
    break;
 
3850
 
 
3851
  case 118:
 
3852
 
 
3853
/* Line 1455 of yacc.c  */
 
3854
#line 641 "cfg-grammar.y"
 
3855
    { configuration->template_options.time_zone[LTZ_LOCAL] = g_strdup((yyvsp[(3) - (4)].cptr)); free((yyvsp[(3) - (4)].cptr)); }
 
3856
    break;
 
3857
 
 
3858
  case 121:
 
3859
 
 
3860
/* Line 1455 of yacc.c  */
 
3861
#line 652 "cfg-grammar.y"
 
3862
    { (yyval.num) = 1; }
 
3863
    break;
 
3864
 
 
3865
  case 122:
 
3866
 
 
3867
/* Line 1455 of yacc.c  */
 
3868
#line 653 "cfg-grammar.y"
 
3869
    { (yyval.num) = 0; }
 
3870
    break;
 
3871
 
 
3872
  case 123:
 
3873
 
 
3874
/* Line 1455 of yacc.c  */
 
3875
#line 654 "cfg-grammar.y"
 
3876
    { (yyval.num) = (yyvsp[(1) - (1)].num); }
 
3877
    break;
 
3878
 
 
3879
  case 124:
 
3880
 
 
3881
/* Line 1455 of yacc.c  */
 
3882
#line 658 "cfg-grammar.y"
 
3883
    { (yyval.num) = (yyvsp[(1) - (1)].num); }
 
3884
    break;
 
3885
 
 
3886
  case 125:
 
3887
 
 
3888
/* Line 1455 of yacc.c  */
 
3889
#line 659 "cfg-grammar.y"
 
3890
    { (yyval.num) = 2; }
 
3891
    break;
 
3892
 
 
3893
  case 126:
 
3894
 
 
3895
/* Line 1455 of yacc.c  */
 
3896
#line 663 "cfg-grammar.y"
 
3897
    { (yyval.cptr) = (yyvsp[(1) - (1)].cptr); }
 
3898
    break;
 
3899
 
 
3900
  case 127:
 
3901
 
 
3902
/* Line 1455 of yacc.c  */
 
3903
#line 664 "cfg-grammar.y"
 
3904
    { (yyval.cptr) = strdup(lexer->token_text->str); }
 
3905
    break;
 
3906
 
 
3907
  case 128:
 
3908
 
 
3909
/* Line 1455 of yacc.c  */
 
3910
#line 665 "cfg-grammar.y"
 
3911
    { (yyval.cptr) = strdup(lexer->token_text->str); }
 
3912
    break;
 
3913
 
 
3914
 
 
3915
 
 
3916
/* Line 1455 of yacc.c  */
 
3917
#line 3918 "cfg-grammar.c"
 
3918
      default: break;
 
3919
    }
 
3920
  YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
 
3921
 
 
3922
  YYPOPSTACK (yylen);
 
3923
  yylen = 0;
 
3924
  YY_STACK_PRINT (yyss, yyssp);
 
3925
 
 
3926
  *++yyvsp = yyval;
 
3927
  *++yylsp = yyloc;
 
3928
 
 
3929
  /* Now `shift' the result of the reduction.  Determine what state
 
3930
     that goes to, based on the state we popped back to and the rule
 
3931
     number reduced by.  */
 
3932
 
 
3933
  yyn = yyr1[yyn];
 
3934
 
 
3935
  yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
 
3936
  if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
 
3937
    yystate = yytable[yystate];
 
3938
  else
 
3939
    yystate = yydefgoto[yyn - YYNTOKENS];
 
3940
 
 
3941
  goto yynewstate;
 
3942
 
 
3943
 
 
3944
/*------------------------------------.
 
3945
| yyerrlab -- here on detecting error |
 
3946
`------------------------------------*/
 
3947
yyerrlab:
 
3948
  /* If not already recovering from an error, report this error.  */
 
3949
  if (!yyerrstatus)
 
3950
    {
 
3951
      ++yynerrs;
 
3952
#if ! YYERROR_VERBOSE
 
3953
      yyerror (&yylloc, lexer, dummy, YY_("syntax error"));
 
3954
#else
 
3955
      {
 
3956
        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
 
3957
        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
 
3958
          {
 
3959
            YYSIZE_T yyalloc = 2 * yysize;
 
3960
            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
 
3961
              yyalloc = YYSTACK_ALLOC_MAXIMUM;
 
3962
            if (yymsg != yymsgbuf)
 
3963
              YYSTACK_FREE (yymsg);
 
3964
            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
 
3965
            if (yymsg)
 
3966
              yymsg_alloc = yyalloc;
 
3967
            else
 
3968
              {
 
3969
                yymsg = yymsgbuf;
 
3970
                yymsg_alloc = sizeof yymsgbuf;
 
3971
              }
 
3972
          }
 
3973
 
 
3974
        if (0 < yysize && yysize <= yymsg_alloc)
 
3975
          {
 
3976
            (void) yysyntax_error (yymsg, yystate, yychar);
 
3977
            yyerror (&yylloc, lexer, dummy, yymsg);
 
3978
          }
 
3979
        else
 
3980
          {
 
3981
            yyerror (&yylloc, lexer, dummy, YY_("syntax error"));
 
3982
            if (yysize != 0)
 
3983
              goto yyexhaustedlab;
 
3984
          }
 
3985
      }
 
3986
#endif
 
3987
    }
 
3988
 
 
3989
  yyerror_range[0] = yylloc;
 
3990
 
 
3991
  if (yyerrstatus == 3)
 
3992
    {
 
3993
      /* If just tried and failed to reuse lookahead token after an
 
3994
         error, discard it.  */
 
3995
 
 
3996
      if (yychar <= YYEOF)
 
3997
        {
 
3998
          /* Return failure if at end of input.  */
 
3999
          if (yychar == YYEOF)
 
4000
            YYABORT;
 
4001
        }
 
4002
      else
 
4003
        {
 
4004
          yydestruct ("Error: discarding",
 
4005
                      yytoken, &yylval, &yylloc, lexer, dummy);
 
4006
          yychar = YYEMPTY;
 
4007
        }
 
4008
    }
 
4009
 
 
4010
  /* Else will try to reuse lookahead token after shifting the error
 
4011
     token.  */
 
4012
  goto yyerrlab1;
 
4013
 
 
4014
 
 
4015
/*---------------------------------------------------.
 
4016
| yyerrorlab -- error raised explicitly by YYERROR.  |
 
4017
`---------------------------------------------------*/
 
4018
yyerrorlab:
 
4019
 
 
4020
  /* Pacify compilers like GCC when the user code never invokes
 
4021
     YYERROR and the label yyerrorlab therefore never appears in user
 
4022
     code.  */
 
4023
  if (/*CONSTCOND*/ 0)
 
4024
     goto yyerrorlab;
 
4025
 
 
4026
  yyerror_range[0] = yylsp[1-yylen];
 
4027
  /* Do not reclaim the symbols of the rule which action triggered
 
4028
     this YYERROR.  */
 
4029
  YYPOPSTACK (yylen);
 
4030
  yylen = 0;
 
4031
  YY_STACK_PRINT (yyss, yyssp);
 
4032
  yystate = *yyssp;
 
4033
  goto yyerrlab1;
 
4034
 
 
4035
 
 
4036
/*-------------------------------------------------------------.
 
4037
| yyerrlab1 -- common code for both syntax error and YYERROR.  |
 
4038
`-------------------------------------------------------------*/
 
4039
yyerrlab1:
 
4040
  yyerrstatus = 3;      /* Each real token shifted decrements this.  */
 
4041
 
 
4042
  for (;;)
 
4043
    {
 
4044
      yyn = yypact[yystate];
 
4045
      if (yyn != YYPACT_NINF)
 
4046
        {
 
4047
          yyn += YYTERROR;
 
4048
          if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
 
4049
            {
 
4050
              yyn = yytable[yyn];
 
4051
              if (0 < yyn)
 
4052
                break;
 
4053
            }
 
4054
        }
 
4055
 
 
4056
      /* Pop the current state because it cannot handle the error token.  */
 
4057
      if (yyssp == yyss)
 
4058
        YYABORT;
 
4059
 
 
4060
      yyerror_range[0] = *yylsp;
 
4061
      yydestruct ("Error: popping",
 
4062
                  yystos[yystate], yyvsp, yylsp, lexer, dummy);
 
4063
      YYPOPSTACK (1);
 
4064
      yystate = *yyssp;
 
4065
      YY_STACK_PRINT (yyss, yyssp);
 
4066
    }
 
4067
 
 
4068
  *++yyvsp = yylval;
 
4069
 
 
4070
  yyerror_range[1] = yylloc;
 
4071
  /* Using YYLLOC is tempting, but would change the location of
 
4072
     the lookahead.  YYLOC is available though.  */
 
4073
  YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);
 
4074
  *++yylsp = yyloc;
 
4075
 
 
4076
  /* Shift the error token.  */
 
4077
  YY_SYMBOL_PRINT ("Shifting", yystos[yyn], yyvsp, yylsp);
 
4078
 
 
4079
  yystate = yyn;
 
4080
  goto yynewstate;
 
4081
 
 
4082
 
 
4083
/*-------------------------------------.
 
4084
| yyacceptlab -- YYACCEPT comes here.  |
 
4085
`-------------------------------------*/
 
4086
yyacceptlab:
 
4087
  yyresult = 0;
 
4088
  goto yyreturn;
 
4089
 
 
4090
/*-----------------------------------.
 
4091
| yyabortlab -- YYABORT comes here.  |
 
4092
`-----------------------------------*/
 
4093
yyabortlab:
 
4094
  yyresult = 1;
 
4095
  goto yyreturn;
 
4096
 
 
4097
#if !defined(yyoverflow) || YYERROR_VERBOSE
 
4098
/*-------------------------------------------------.
 
4099
| yyexhaustedlab -- memory exhaustion comes here.  |
 
4100
`-------------------------------------------------*/
 
4101
yyexhaustedlab:
 
4102
  yyerror (&yylloc, lexer, dummy, YY_("memory exhausted"));
 
4103
  yyresult = 2;
 
4104
  /* Fall through.  */
 
4105
#endif
 
4106
 
 
4107
yyreturn:
 
4108
  if (yychar != YYEMPTY)
 
4109
     yydestruct ("Cleanup: discarding lookahead",
 
4110
                 yytoken, &yylval, &yylloc, lexer, dummy);
 
4111
  /* Do not reclaim the symbols of the rule which action triggered
 
4112
     this YYABORT or YYACCEPT.  */
 
4113
  YYPOPSTACK (yylen);
 
4114
  YY_STACK_PRINT (yyss, yyssp);
 
4115
  while (yyssp != yyss)
 
4116
    {
 
4117
      yydestruct ("Cleanup: popping",
 
4118
                  yystos[*yyssp], yyvsp, yylsp, lexer, dummy);
 
4119
      YYPOPSTACK (1);
 
4120
    }
 
4121
#ifndef yyoverflow
 
4122
  if (yyss != yyssa)
 
4123
    YYSTACK_FREE (yyss);
 
4124
#endif
 
4125
#if YYERROR_VERBOSE
 
4126
  if (yymsg != yymsgbuf)
 
4127
    YYSTACK_FREE (yymsg);
 
4128
#endif
 
4129
  /* Make sure YYID is used.  */
 
4130
  return YYID (yyresult);
 
4131
}
 
4132
 
 
4133
 
 
4134
 
 
4135
/* Line 1675 of yacc.c  */
 
4136
#line 784 "cfg-grammar.y"
 
4137
 
 
4138
 
 
4139