/[svn]/ircd-hybrid-7.2/src/y.tab.c
ViewVC logotype

Contents of /ircd-hybrid-7.2/src/y.tab.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 849 - (show annotations)
Mon Feb 19 19:41:59 2007 UTC (13 years, 1 month ago) by db
File MIME type: text/x-chdr
File size: 180210 byte(s)
- Add +C 
- add etrace -full

Reviewed by: cryogen, bear

1 #include <stdlib.h>
2 #ifndef lint
3 #ifdef __unused
4 __unused
5 #endif
6 static char const
7 yyrcsid[] = "$FreeBSD: src/usr.bin/yacc/skeleton.c,v 1.37 2003/02/12 18:03:55 davidc Exp $";
8 #endif
9 #define YYBYACC 1
10 #define YYMAJOR 1
11 #define YYMINOR 9
12 #define YYLEX yylex()
13 #define YYEMPTY -1
14 #define yyclearin (yychar=(YYEMPTY))
15 #define yyerrok (yyerrflag=0)
16 #define YYRECOVERING() (yyerrflag!=0)
17 #if defined(__cplusplus) || __STDC__
18 static int yygrowstack(void);
19 #else
20 static int yygrowstack();
21 #endif
22 #define YYPREFIX "yy"
23 #line 26 "ircd_parser.y"
24
25 #define YY_NO_UNPUT
26 #include <sys/types.h>
27
28 #include "stdinc.h"
29 #include "ircd.h"
30 #include "tools.h"
31 #include "list.h"
32 #include "s_conf.h"
33 #include "event.h"
34 #include "s_log.h"
35 #include "client.h" /* for UMODE_ALL only */
36 #include "pcre.h"
37 #include "irc_string.h"
38 #include "irc_getaddrinfo.h"
39 #include "sprintf_irc.h"
40 #include "memory.h"
41 #include "modules.h"
42 #include "s_serv.h" /* for CAP_LL / IsCapable */
43 #include "hostmask.h"
44 #include "send.h"
45 #include "listener.h"
46 #include "resv.h"
47 #include "numeric.h"
48 #include "s_user.h"
49
50 #ifdef HAVE_LIBCRYPTO
51 #include <openssl/rsa.h>
52 #include <openssl/bio.h>
53 #include <openssl/pem.h>
54 #endif
55
56 static char *class_name = NULL;
57 static struct ConfItem *yy_conf = NULL;
58 static struct AccessItem *yy_aconf = NULL;
59 static struct MatchItem *yy_match_item = NULL;
60 static struct ClassItem *yy_class = NULL;
61 static char *yy_class_name = NULL;
62
63 static dlink_list col_conf_list = { NULL, NULL, 0 };
64 static dlink_list hub_conf_list = { NULL, NULL, 0 };
65 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
66 static unsigned int listener_flags = 0;
67 static unsigned int regex_ban = 0;
68 static char userbuf[IRCD_BUFSIZE];
69 static char hostbuf[IRCD_BUFSIZE];
70 static char reasonbuf[REASONLEN + 1];
71 static char gecos_name[REALLEN * 4];
72
73 extern dlink_list gdeny_items; /* XXX */
74
75 static char *resv_reason = NULL;
76 static char *listener_address = NULL;
77 static int not_atom = 0;
78
79 struct CollectItem
80 {
81 dlink_node node;
82 char *name;
83 char *user;
84 char *host;
85 char *passwd;
86 int port;
87 int flags;
88 #ifdef HAVE_LIBCRYPTO
89 char *rsa_public_key_file;
90 RSA *rsa_public_key;
91 #endif
92 };
93
94 static void
95 free_collect_item(struct CollectItem *item)
96 {
97 MyFree(item->name);
98 MyFree(item->user);
99 MyFree(item->host);
100 MyFree(item->passwd);
101 #ifdef HAVE_LIBCRYPTO
102 MyFree(item->rsa_public_key_file);
103 #endif
104 MyFree(item);
105 }
106
107 static void
108 unhook_hub_leaf_confs(void)
109 {
110 dlink_node *ptr;
111 dlink_node *next_ptr;
112 struct CollectItem *yy_hconf;
113 struct CollectItem *yy_lconf;
114
115 DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
116 {
117 yy_hconf = ptr->data;
118 dlinkDelete(&yy_hconf->node, &hub_conf_list);
119 free_collect_item(yy_hconf);
120 }
121
122 DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
123 {
124 yy_lconf = ptr->data;
125 dlinkDelete(&yy_lconf->node, &leaf_conf_list);
126 free_collect_item(yy_lconf);
127 }
128 }
129
130 #line 134 "ircd_parser.y"
131 typedef union {
132 int number;
133 char *string;
134 } YYSTYPE;
135 #line 136 "y.tab.c"
136 #define YYERRCODE 256
137 #define ACCEPT_PASSWORD 257
138 #define ACTION 258
139 #define ADMIN 259
140 #define AFTYPE 260
141 #define T_ALLOW 261
142 #define ANTI_NICK_FLOOD 262
143 #define ANTI_SPAM_EXIT_MESSAGE_TIME 263
144 #define AUTOCONN 264
145 #define T_BLOCK 265
146 #define BURST_AWAY 266
147 #define BURST_TOPICWHO 267
148 #define BYTES 268
149 #define KBYTES 269
150 #define MBYTES 270
151 #define GBYTES 271
152 #define TBYTES 272
153 #define CALLER_ID_WAIT 273
154 #define CAN_FLOOD 274
155 #define CAN_IDLE 275
156 #define CHANNEL 276
157 #define CIDR_BITLEN_IPV4 277
158 #define CIDR_BITLEN_IPV6 278
159 #define CIPHER_PREFERENCE 279
160 #define CLASS 280
161 #define COMPRESSED 281
162 #define COMPRESSION_LEVEL 282
163 #define CONNECT 283
164 #define CONNECTFREQ 284
165 #define CRYPTLINK 285
166 #define DEFAULT_CIPHER_PREFERENCE 286
167 #define DEFAULT_FLOODCOUNT 287
168 #define DEFAULT_SPLIT_SERVER_COUNT 288
169 #define DEFAULT_SPLIT_USER_COUNT 289
170 #define DENY 290
171 #define DESCRIPTION 291
172 #define DIE 292
173 #define DISABLE_AUTH 293
174 #define DISABLE_FAKE_CHANNELS 294
175 #define DISABLE_HIDDEN 295
176 #define DISABLE_LOCAL_CHANNELS 296
177 #define DISABLE_REMOTE_COMMANDS 297
178 #define DOT_IN_IP6_ADDR 298
179 #define DOTS_IN_IDENT 299
180 #define DURATION 300
181 #define EGDPOOL_PATH 301
182 #define EMAIL 302
183 #define ENABLE 303
184 #define ENCRYPTED 304
185 #define EXCEED_LIMIT 305
186 #define EXEMPT 306
187 #define FAILED_OPER_NOTICE 307
188 #define FAKENAME 308
189 #define IRCD_FLAGS 309
190 #define FLATTEN_LINKS 310
191 #define FFAILED_OPERLOG 311
192 #define FKILLLOG 312
193 #define FKLINELOG 313
194 #define FGLINELOG 314
195 #define FIOERRLOG 315
196 #define FOPERLOG 316
197 #define FOPERSPYLOG 317
198 #define FUSERLOG 318
199 #define GECOS 319
200 #define GENERAL 320
201 #define GLINE 321
202 #define GLINES 322
203 #define GLINE_EXEMPT 323
204 #define GLINE_LOG 324
205 #define GLINE_TIME 325
206 #define GLINE_MIN_CIDR 326
207 #define GLINE_MIN_CIDR6 327
208 #define GLOBAL_KILL 328
209 #define IRCD_AUTH 329
210 #define NEED_IDENT 330
211 #define HAVENT_READ_CONF 331
212 #define HIDDEN 332
213 #define HIDDEN_ADMIN 333
214 #define HIDDEN_NAME 334
215 #define HIDDEN_OPER 335
216 #define HIDE_SERVER_IPS 336
217 #define HIDE_SERVERS 337
218 #define HIDE_SPOOF_IPS 338
219 #define HOST 339
220 #define HUB 340
221 #define HUB_MASK 341
222 #define IDLETIME 342
223 #define IGNORE_BOGUS_TS 343
224 #define INVISIBLE_ON_CONNECT 344
225 #define IP 345
226 #define KILL 346
227 #define KILL_CHASE_TIME_LIMIT 347
228 #define KLINE 348
229 #define KLINE_EXEMPT 349
230 #define KLINE_REASON 350
231 #define KLINE_WITH_REASON 351
232 #define KNOCK_DELAY 352
233 #define KNOCK_DELAY_CHANNEL 353
234 #define LAZYLINK 354
235 #define LEAF_MASK 355
236 #define LINKS_DELAY 356
237 #define LISTEN 357
238 #define T_LOG 358
239 #define LOGGING 359
240 #define LOG_LEVEL 360
241 #define MAX_ACCEPT 361
242 #define MAX_BANS 362
243 #define MAX_CHANS_PER_USER 363
244 #define MAX_GLOBAL 364
245 #define MAX_IDENT 365
246 #define MAX_LOCAL 366
247 #define MAX_NICK_CHANGES 367
248 #define MAX_NICK_TIME 368
249 #define MAX_NUMBER 369
250 #define MAX_TARGETS 370
251 #define MESSAGE_LOCALE 371
252 #define MIN_NONWILDCARD 372
253 #define MIN_NONWILDCARD_SIMPLE 373
254 #define MODULE 374
255 #define MODULES 375
256 #define NAME 376
257 #define NEED_PASSWORD 377
258 #define NETWORK_DESC 378
259 #define NETWORK_NAME 379
260 #define NICK 380
261 #define NICK_CHANGES 381
262 #define NO_CREATE_ON_SPLIT 382
263 #define NO_JOIN_ON_SPLIT 383
264 #define NO_OPER_FLOOD 384
265 #define NO_TILDE 385
266 #define NOT 386
267 #define NUMBER 387
268 #define NUMBER_PER_IDENT 388
269 #define NUMBER_PER_CIDR 389
270 #define NUMBER_PER_IP 390
271 #define NUMBER_PER_IP_GLOBAL 391
272 #define OPERATOR 392
273 #define OPERS_BYPASS_CALLERID 393
274 #define OPER_LOG 394
275 #define OPER_ONLY_UMODES 395
276 #define OPER_PASS_RESV 396
277 #define OPER_SPY_T 397
278 #define OPER_UMODES 398
279 #define JOIN_FLOOD_COUNT 399
280 #define JOIN_FLOOD_TIME 400
281 #define PACE_WAIT 401
282 #define PACE_WAIT_SIMPLE 402
283 #define PASSWORD 403
284 #define PATH 404
285 #define PING_COOKIE 405
286 #define PING_TIME 406
287 #define PING_WARNING 407
288 #define PORT 408
289 #define QSTRING 409
290 #define QUIET_ON_BAN 410
291 #define REASON 411
292 #define REDIRPORT 412
293 #define REDIRSERV 413
294 #define REGEX_T 414
295 #define REHASH 415
296 #define TREJECT_HOLD_TIME 416
297 #define REMOTE 417
298 #define REMOTEBAN 418
299 #define RESTRICT_CHANNELS 419
300 #define RESTRICTED 420
301 #define RSA_PRIVATE_KEY_FILE 421
302 #define RSA_PUBLIC_KEY_FILE 422
303 #define SSL_CERTIFICATE_FILE 423
304 #define RESV 424
305 #define RESV_EXEMPT 425
306 #define SECONDS 426
307 #define MINUTES 427
308 #define HOURS 428
309 #define DAYS 429
310 #define WEEKS 430
311 #define SENDQ 431
312 #define SEND_PASSWORD 432
313 #define SERVERHIDE 433
314 #define SERVERINFO 434
315 #define SERVLINK_PATH 435
316 #define IRCD_SID 436
317 #define TKLINE_EXPIRE_NOTICES 437
318 #define T_SHARED 438
319 #define T_CLUSTER 439
320 #define TYPE 440
321 #define SHORT_MOTD 441
322 #define SILENT 442
323 #define SPOOF 443
324 #define SPOOF_NOTICE 444
325 #define STATS_E_DISABLED 445
326 #define STATS_I_OPER_ONLY 446
327 #define STATS_K_OPER_ONLY 447
328 #define STATS_O_OPER_ONLY 448
329 #define STATS_P_OPER_ONLY 449
330 #define TBOOL 450
331 #define TMASKED 451
332 #define T_REJECT 452
333 #define TS_MAX_DELTA 453
334 #define TS_WARN_DELTA 454
335 #define TWODOTS 455
336 #define T_ALL 456
337 #define T_BOTS 457
338 #define T_SOFTCALLERID 458
339 #define T_CALLERID 459
340 #define T_CCONN 460
341 #define T_CCONN_FULL 461
342 #define T_CLIENT_FLOOD 462
343 #define T_DEAF 463
344 #define T_DEBUG 464
345 #define T_DRONE 465
346 #define T_EXTERNAL 466
347 #define T_FULL 467
348 #define T_INVISIBLE 468
349 #define T_IPV4 469
350 #define T_IPV6 470
351 #define T_LOCOPS 471
352 #define T_LOGPATH 472
353 #define T_L_CRIT 473
354 #define T_L_DEBUG 474
355 #define T_L_ERROR 475
356 #define T_L_INFO 476
357 #define T_L_NOTICE 477
358 #define T_L_TRACE 478
359 #define T_L_WARN 479
360 #define T_MAX_CLIENTS 480
361 #define T_NCHANGE 481
362 #define T_OPERWALL 482
363 #define T_REJ 483
364 #define T_SERVNOTICE 484
365 #define T_SKILL 485
366 #define T_SPY 486
367 #define T_SSL 487
368 #define T_UMODES 488
369 #define T_UNAUTH 489
370 #define T_UNRESV 490
371 #define T_UNXLINE 491
372 #define T_WALLOP 492
373 #define THROTTLE_TIME 493
374 #define TOPICBURST 494
375 #define TRUE_NO_OPER_FLOOD 495
376 #define TKLINE 496
377 #define TXLINE 497
378 #define TRESV 498
379 #define UNKLINE 499
380 #define USER 500
381 #define USE_EGD 501
382 #define USE_EXCEPT 502
383 #define USE_INVEX 503
384 #define USE_KNOCK 504
385 #define USE_LOGGING 505
386 #define USE_WHOIS_ACTUALLY 506
387 #define VHOST 507
388 #define VHOST6 508
389 #define XLINE 509
390 #define WARN 510
391 #define WARN_NO_NLINE 511
392 const short yylhs[] = { -1,
393 0, 0, 5, 5, 5, 5, 5, 5, 5, 5,
394 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
395 5, 5, 5, 5, 2, 2, 1, 1, 1, 1,
396 1, 1, 4, 4, 3, 3, 3, 3, 25, 26,
397 26, 27, 27, 27, 28, 29, 13, 30, 30, 31,
398 31, 31, 31, 31, 31, 31, 31, 31, 31, 31,
399 31, 42, 39, 32, 41, 35, 36, 37, 33, 40,
400 38, 34, 6, 43, 43, 44, 44, 44, 44, 45,
401 47, 46, 7, 48, 48, 49, 49, 49, 49, 49,
402 49, 49, 49, 49, 49, 49, 49, 49, 50, 51,
403 54, 61, 55, 59, 56, 57, 60, 58, 52, 52,
404 52, 52, 52, 52, 52, 53, 63, 8, 62, 62,
405 64, 64, 66, 66, 66, 66, 66, 66, 66, 66,
406 66, 66, 66, 66, 66, 66, 66, 66, 66, 66,
407 66, 66, 66, 66, 66, 67, 65, 68, 69, 86,
408 87, 73, 89, 72, 90, 90, 91, 91, 91, 91,
409 91, 91, 91, 91, 91, 91, 91, 91, 91, 91,
410 91, 91, 91, 91, 91, 74, 75, 81, 76, 77,
411 78, 79, 80, 82, 83, 84, 70, 71, 85, 92,
412 88, 93, 93, 96, 94, 97, 94, 95, 95, 95,
413 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
414 95, 95, 95, 99, 10, 98, 98, 100, 100, 102,
415 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
416 102, 102, 102, 103, 101, 106, 107, 109, 110, 111,
417 112, 113, 114, 115, 104, 105, 108, 116, 11, 119,
418 118, 120, 120, 121, 121, 117, 117, 122, 122, 122,
419 122, 122, 127, 123, 126, 126, 128, 128, 124, 125,
420 129, 12, 130, 130, 131, 131, 131, 131, 131, 131,
421 131, 131, 131, 131, 131, 131, 131, 131, 131, 131,
422 131, 132, 133, 142, 134, 147, 148, 135, 149, 149,
423 152, 150, 153, 150, 151, 151, 151, 151, 151, 151,
424 151, 151, 151, 151, 136, 137, 138, 145, 139, 140,
425 141, 143, 144, 146, 154, 15, 155, 155, 156, 156,
426 156, 156, 157, 158, 159, 160, 16, 161, 161, 162,
427 162, 162, 162, 163, 164, 166, 165, 167, 167, 168,
428 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
429 169, 17, 170, 170, 171, 171, 171, 172, 174, 173,
430 175, 175, 176, 176, 176, 176, 176, 176, 176, 176,
431 176, 176, 176, 178, 18, 177, 177, 179, 179, 181,
432 181, 181, 181, 181, 181, 181, 181, 181, 181, 181,
433 181, 181, 181, 181, 181, 181, 181, 181, 181, 182,
434 180, 183, 184, 185, 186, 188, 187, 187, 189, 201,
435 190, 202, 202, 205, 203, 206, 203, 204, 204, 204,
436 204, 204, 204, 198, 195, 197, 196, 194, 200, 191,
437 192, 193, 199, 207, 19, 210, 209, 211, 211, 212,
438 208, 208, 213, 213, 213, 213, 214, 215, 216, 20,
439 217, 217, 218, 218, 218, 219, 220, 21, 221, 221,
440 222, 222, 223, 224, 24, 227, 226, 228, 228, 229,
441 225, 225, 230, 230, 230, 230, 231, 232, 22, 233,
442 233, 234, 234, 234, 234, 234, 234, 234, 234, 234,
443 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
444 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
445 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
446 234, 234, 234, 234, 234, 234, 234, 234, 234, 234,
447 234, 234, 234, 234, 234, 234, 234, 285, 286, 283,
448 287, 288, 284, 245, 235, 236, 274, 237, 238, 239,
449 240, 241, 242, 243, 244, 279, 246, 247, 248, 249,
450 289, 251, 256, 252, 252, 254, 254, 253, 268, 269,
451 255, 257, 258, 259, 260, 262, 261, 250, 264, 273,
452 275, 276, 265, 266, 281, 282, 278, 290, 267, 291,
453 291, 292, 292, 292, 292, 292, 292, 292, 292, 292,
454 292, 292, 292, 292, 292, 292, 292, 292, 292, 292,
455 293, 263, 294, 294, 295, 295, 295, 295, 295, 295,
456 295, 295, 295, 295, 295, 295, 295, 295, 295, 295,
457 295, 295, 271, 272, 270, 277, 280, 296, 23, 297,
458 297, 298, 298, 298, 298, 298, 298, 298, 299, 300,
459 305, 301, 306, 306, 307, 307, 302, 303, 308, 304,
460 309, 309, 310, 310, 9, 311, 311, 312, 312, 312,
461 312, 312, 312, 312, 312, 312, 312, 312, 312, 312,
462 312, 312, 312, 312, 312, 312, 330, 325, 313, 314,
463 315, 316, 318, 319, 320, 321, 317, 322, 323, 324,
464 326, 327, 328, 329, 14, 331, 331, 332, 332, 332,
465 332, 332, 332, 332, 332, 333, 334, 338, 335, 337,
466 336, 339,
467 };
468 const short yylen[] = { 2,
469 0, 2, 1, 1, 1, 1, 1, 1, 1, 1,
470 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
471 1, 1, 2, 2, 0, 1, 2, 3, 3, 3,
472 3, 3, 0, 1, 2, 3, 3, 3, 5, 2,
473 1, 1, 1, 2, 4, 4, 5, 2, 1, 1,
474 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
475 2, 4, 4, 4, 4, 4, 4, 4, 4, 4,
476 4, 4, 5, 2, 1, 1, 1, 1, 2, 4,
477 4, 4, 5, 2, 1, 1, 1, 1, 1, 1,
478 1, 1, 1, 1, 1, 1, 1, 2, 4, 4,
479 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
480 4, 4, 4, 4, 4, 4, 0, 7, 0, 1,
481 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
482 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
483 1, 1, 1, 1, 2, 4, 1, 4, 4, 4,
484 4, 4, 0, 5, 3, 1, 1, 1, 1, 1,
485 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
486 1, 1, 1, 1, 1, 4, 4, 4, 4, 4,
487 4, 4, 4, 4, 4, 4, 4, 4, 4, 0,
488 5, 3, 1, 0, 3, 0, 2, 1, 1, 1,
489 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
490 1, 1, 1, 0, 7, 0, 1, 2, 1, 1,
491 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
492 1, 1, 2, 4, 1, 4, 4, 4, 4, 4,
493 4, 4, 4, 4, 4, 4, 4, 0, 6, 0,
494 5, 3, 1, 1, 1, 2, 1, 1, 1, 1,
495 1, 2, 0, 5, 3, 1, 1, 3, 4, 4,
496 0, 6, 2, 1, 1, 1, 1, 1, 1, 1,
497 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
498 2, 4, 4, 4, 4, 4, 0, 5, 3, 1,
499 0, 3, 0, 2, 1, 1, 1, 1, 1, 1,
500 1, 1, 1, 1, 4, 4, 4, 4, 4, 4,
501 4, 4, 4, 4, 0, 6, 2, 1, 1, 1,
502 1, 2, 4, 4, 4, 0, 6, 2, 1, 1,
503 1, 1, 2, 4, 4, 0, 5, 3, 1, 1,
504 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
505 0, 6, 2, 1, 1, 1, 2, 4, 0, 5,
506 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
507 1, 1, 1, 0, 7, 0, 1, 2, 1, 1,
508 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
509 1, 1, 1, 1, 1, 1, 1, 1, 2, 4,
510 1, 4, 4, 4, 4, 4, 4, 4, 4, 0,
511 5, 3, 1, 0, 3, 0, 2, 1, 1, 1,
512 1, 1, 1, 4, 4, 4, 4, 4, 4, 4,
513 4, 4, 4, 0, 6, 0, 5, 3, 1, 1,
514 2, 1, 1, 1, 1, 1, 4, 4, 0, 6,
515 2, 1, 1, 1, 1, 4, 4, 5, 2, 1,
516 1, 1, 4, 0, 6, 0, 5, 3, 1, 1,
517 2, 1, 1, 1, 1, 1, 4, 4, 5, 2,
518 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
519 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
520 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
521 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
522 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
523 1, 1, 1, 1, 1, 1, 1, 4, 4, 4,
524 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
525 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
526 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
527 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
528 4, 4, 4, 4, 4, 4, 4, 0, 5, 3,
529 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
530 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
531 0, 5, 3, 1, 1, 1, 1, 1, 1, 1,
532 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
533 1, 1, 4, 4, 4, 4, 4, 0, 6, 2,
534 1, 1, 1, 1, 1, 1, 1, 1, 4, 4,
535 0, 5, 3, 1, 1, 1, 4, 4, 0, 5,
536 3, 1, 1, 1, 5, 2, 1, 1, 1, 1,
537 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
538 1, 1, 1, 1, 1, 1, 4, 4, 4, 4,
539 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
540 4, 4, 4, 4, 5, 2, 1, 1, 1, 1,
541 1, 1, 1, 1, 1, 4, 4, 4, 4, 4,
542 4, 4,
543 };
544 const short yydefred[] = { 1,
545 0, 0, 0, 0, 214, 384, 459, 0, 474, 0,
546 648, 271, 444, 248, 0, 0, 117, 325, 0, 0,
547 336, 361, 2, 3, 4, 5, 6, 7, 8, 9,
548 10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
549 20, 21, 22, 23, 24, 0, 0, 0, 0, 0,
550 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
551 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
552 75, 76, 77, 78, 696, 0, 0, 0, 0, 0,
553 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
554 0, 0, 0, 0, 677, 678, 679, 680, 681, 682,
555 683, 684, 685, 686, 687, 688, 689, 690, 691, 692,
556 693, 694, 695, 235, 0, 217, 411, 0, 387, 0,
557 472, 0, 0, 470, 471, 0, 547, 0, 0, 0,
558 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
559 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
560 0, 0, 0, 0, 0, 0, 0, 0, 0, 621,
561 0, 598, 0, 0, 0, 0, 0, 0, 0, 0,
562 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
563 0, 0, 0, 491, 492, 493, 494, 495, 496, 497,
564 498, 499, 500, 501, 502, 503, 504, 505, 506, 507,
565 508, 509, 510, 511, 512, 513, 514, 515, 516, 517,
566 518, 519, 520, 521, 522, 523, 524, 525, 526, 527,
567 528, 529, 530, 531, 532, 533, 534, 535, 536, 537,
568 538, 539, 540, 541, 542, 543, 544, 545, 546, 0,
569 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
570 0, 0, 0, 0, 0, 0, 0, 85, 86, 87,
571 88, 89, 90, 91, 92, 93, 94, 95, 96, 97,
572 0, 0, 0, 0, 41, 42, 43, 147, 0, 120,
573 0, 725, 0, 0, 0, 0, 0, 0, 0, 0,
574 717, 718, 719, 720, 721, 722, 723, 724, 0, 0,
575 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576 0, 49, 50, 51, 52, 53, 54, 55, 56, 57,
577 58, 59, 60, 0, 0, 79, 0, 0, 0, 0,
578 74, 0, 0, 0, 0, 0, 0, 0, 0, 0,
579 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
580 676, 0, 0, 465, 0, 0, 0, 462, 463, 464,
581 0, 0, 469, 486, 0, 0, 476, 0, 485, 482,
582 483, 484, 0, 0, 0, 0, 0, 0, 0, 0,
583 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
584 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
585 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
586 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
587 0, 0, 0, 0, 0, 0, 0, 0, 490, 658,
588 669, 0, 0, 661, 0, 0, 0, 651, 652, 653,
589 654, 655, 656, 657, 0, 0, 0, 0, 0, 297,
590 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
591 0, 0, 274, 275, 276, 277, 278, 279, 280, 281,
592 282, 283, 284, 285, 286, 287, 288, 289, 290, 456,
593 0, 446, 0, 0, 455, 452, 453, 454, 0, 250,
594 0, 0, 0, 0, 259, 257, 258, 260, 261, 98,
595 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
596 0, 0, 0, 84, 44, 0, 0, 0, 40, 0,
597 0, 0, 0, 0, 0, 328, 329, 330, 331, 0,
598 0, 0, 0, 0, 0, 0, 0, 716, 61, 0,
599 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
600 0, 48, 0, 0, 346, 0, 0, 339, 340, 341,
601 342, 0, 0, 369, 0, 364, 365, 366, 0, 0,
602 0, 73, 0, 0, 0, 0, 0, 0, 0, 0,
603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
604 0, 675, 0, 0, 0, 0, 0, 0, 0, 0,
605 0, 0, 0, 0, 0, 0, 0, 219, 220, 221,
606 222, 223, 224, 225, 226, 227, 228, 229, 230, 231,
607 232, 0, 0, 0, 0, 0, 0, 0, 0, 0,
608 0, 420, 0, 0, 0, 0, 0, 0, 0, 0,
609 0, 0, 389, 390, 391, 392, 393, 394, 395, 396,
610 397, 398, 399, 400, 401, 402, 403, 404, 405, 406,
611 407, 408, 0, 0, 0, 461, 0, 468, 0, 0,
612 0, 0, 481, 0, 0, 0, 0, 0, 0, 0,
613 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
614 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
615 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
616 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
617 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
618 0, 489, 0, 0, 0, 0, 0, 0, 0, 650,
619 291, 0, 0, 0, 0, 0, 0, 0, 0, 0,
620 0, 0, 0, 0, 0, 0, 0, 0, 273, 0,
621 0, 0, 0, 451, 262, 0, 0, 0, 0, 0,
622 256, 0, 0, 0, 0, 0, 0, 0, 0, 0,
623 0, 0, 0, 0, 0, 0, 0, 0, 0, 83,
624 0, 0, 39, 0, 0, 0, 0, 0, 190, 0,
625 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
626 0, 0, 153, 0, 0, 0, 0, 122, 123, 124,
627 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
628 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
629 332, 0, 0, 0, 0, 327, 0, 0, 0, 0,
630 0, 0, 0, 715, 0, 0, 0, 0, 0, 0,
631 0, 0, 0, 0, 0, 47, 343, 0, 0, 0,
632 0, 338, 367, 0, 0, 0, 363, 82, 81, 80,
633 712, 709, 708, 697, 699, 0, 0, 0, 0, 0,
634 26, 27, 703, 704, 707, 705, 710, 711, 713, 714,
635 706, 698, 700, 701, 702, 233, 0, 0, 0, 0,
636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
637 218, 409, 0, 0, 0, 0, 0, 0, 0, 0,
638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
639 0, 0, 388, 0, 0, 460, 473, 0, 0, 0,
640 475, 559, 563, 550, 579, 592, 591, 645, 596, 557,
641 647, 588, 594, 558, 548, 549, 566, 555, 587, 556,
642 569, 554, 568, 567, 562, 561, 560, 589, 586, 643,
643 644, 583, 580, 625, 640, 641, 626, 627, 628, 635,
644 629, 638, 642, 631, 636, 632, 637, 630, 634, 633,
645 639, 0, 624, 585, 602, 618, 619, 603, 604, 605,
646 606, 613, 607, 616, 620, 609, 614, 610, 615, 608,
647 612, 611, 617, 0, 601, 578, 581, 595, 552, 590,
648 553, 582, 571, 576, 577, 574, 575, 572, 573, 565,
649 564, 0, 0, 0, 34, 35, 646, 597, 584, 593,
650 551, 570, 0, 0, 0, 0, 0, 0, 649, 0,
651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
652 0, 0, 0, 0, 0, 272, 0, 0, 0, 445,
653 0, 0, 0, 0, 0, 266, 249, 102, 108, 106,
654 105, 107, 103, 104, 101, 109, 115, 110, 114, 112,
655 113, 111, 100, 99, 116, 45, 46, 145, 0, 0,
656 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
657 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
658 0, 121, 0, 0, 0, 326, 731, 726, 730, 728,
659 732, 727, 729, 66, 72, 64, 68, 67, 63, 62,
660 65, 71, 69, 70, 0, 0, 0, 337, 0, 0,
661 362, 28, 29, 30, 31, 32, 0, 0, 0, 0,
662 0, 0, 0, 0, 0, 0, 0, 0, 0, 215,
663 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
665 385, 466, 467, 487, 488, 480, 0, 479, 622, 0,
666 599, 0, 36, 37, 38, 674, 673, 0, 672, 660,
667 659, 666, 665, 0, 664, 668, 667, 318, 295, 296,
668 317, 301, 0, 300, 0, 320, 316, 315, 324, 319,
669 293, 323, 322, 321, 294, 292, 458, 450, 0, 449,
670 457, 255, 254, 0, 253, 270, 269, 0, 0, 0,
671 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
672 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
673 0, 0, 118, 334, 335, 333, 344, 350, 356, 360,
674 359, 358, 355, 351, 354, 357, 352, 353, 0, 349,
675 345, 368, 373, 379, 383, 382, 381, 378, 374, 377,
676 380, 375, 376, 0, 372, 245, 246, 239, 241, 243,
677 242, 240, 234, 247, 238, 236, 237, 244, 415, 417,
678 418, 438, 443, 442, 437, 436, 435, 419, 424, 0,
679 423, 0, 412, 440, 441, 410, 416, 434, 414, 439,
680 413, 477, 0, 623, 600, 670, 0, 662, 0, 0,
681 298, 0, 309, 310, 306, 312, 308, 307, 314, 311,
682 313, 305, 304, 447, 0, 251, 0, 268, 265, 264,
683 186, 152, 184, 150, 194, 0, 193, 0, 182, 176,
684 187, 188, 179, 146, 183, 149, 185, 177, 178, 151,
685 189, 157, 173, 174, 158, 159, 160, 161, 168, 162,
686 171, 175, 164, 169, 165, 170, 163, 167, 166, 172,
687 0, 156, 181, 148, 180, 347, 0, 370, 0, 0,
688 421, 0, 431, 432, 429, 430, 428, 433, 427, 478,
689 671, 663, 302, 299, 448, 252, 0, 191, 0, 206,
690 204, 213, 203, 198, 207, 211, 200, 208, 210, 205,
691 199, 212, 209, 201, 202, 197, 154, 0, 348, 371,
692 425, 422, 195, 192, 155,
693 };
694 const short yydgoto[] = { 1,
695 891, 892, 1045, 1046, 23, 24, 25, 26, 27, 28,
696 29, 30, 31, 32, 33, 34, 35, 36, 37, 38,
697 39, 40, 41, 42, 43, 274, 275, 276, 277, 311,
698 312, 313, 314, 315, 316, 317, 318, 319, 320, 321,
699 322, 323, 70, 71, 72, 73, 74, 257, 258, 259,
700 260, 261, 262, 263, 264, 265, 266, 267, 268, 269,
701 270, 279, 60, 817, 280, 818, 819, 820, 821, 822,
702 823, 824, 825, 826, 827, 828, 829, 830, 831, 832,
703 833, 834, 835, 836, 837, 838, 839, 840, 1127, 1421,
704 1422, 1113, 1386, 1387, 1466, 1447, 1388, 115, 48, 607,
705 116, 608, 609, 610, 611, 612, 613, 614, 615, 616,
706 617, 618, 619, 620, 621, 57, 494, 495, 766, 1254,
707 1255, 496, 497, 498, 499, 1085, 1260, 1086, 55, 462,
708 463, 464, 465, 466, 467, 468, 469, 470, 471, 472,
709 473, 474, 475, 476, 477, 478, 479, 746, 1233, 1234,
710 1373, 1360, 1235, 61, 525, 526, 527, 528, 529, 64,
711 557, 558, 559, 560, 561, 869, 1299, 1300, 65, 565,
712 566, 567, 568, 875, 1314, 1315, 118, 49, 642, 119,
713 643, 644, 645, 646, 647, 648, 649, 650, 651, 652,
714 653, 654, 655, 656, 657, 658, 659, 660, 661, 662,
715 932, 1340, 1341, 1439, 1430, 1342, 56, 484, 485, 761,
716 1249, 1250, 486, 487, 488, 50, 357, 358, 359, 360,
717 123, 124, 125, 52, 368, 369, 671, 1207, 1208, 370,
718 371, 372, 183, 184, 185, 186, 187, 188, 189, 190,
719 191, 192, 193, 194, 195, 196, 197, 198, 199, 200,
720 201, 202, 203, 204, 205, 206, 207, 208, 209, 210,
721 211, 212, 213, 214, 215, 216, 217, 218, 219, 220,
722 221, 222, 223, 224, 225, 226, 227, 228, 229, 230,
723 231, 232, 233, 234, 235, 236, 237, 238, 239, 407,
724 1024, 1025, 405, 1002, 1003, 54, 437, 438, 439, 440,
725 441, 442, 443, 444, 736, 1224, 1225, 733, 1218, 1219,
726 94, 95, 96, 97, 98, 99, 100, 101, 102, 103,
727 104, 105, 106, 107, 108, 109, 110, 111, 112, 113,
728 290, 291, 292, 293, 294, 295, 296, 297, 298,
729 };
730 const short yysindex[] = { 0,
731 792, -38, -67, -64, 0, 0, 0, -59, 0, -47,
732 0, 0, 0, 0, -29, -27, 0, 0, -24, -11,
733 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
735 0, 0, 0, 0, 0, -223, 643, -387, -291, 2,
736 -229, 9, 376, 19, 23, 29, 31, 374, -218, -282,
737 35, 309, 440, 39, 40, 74, 78, 84, 100, -90,
738 0, 0, 0, 0, 0, 109, 112, 113, 120, 122,
739 123, 126, 128, 131, 133, 134, 136, 142, 149, 150,
740 152, 154, 156, 164, 0, 0, 0, 0, 0, 0,
741 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
742 0, 0, 0, 0, 95, 0, 0, 96, 0, -231,
743 0, 162, -119, 0, 0, -233, 0, 166, 170, 173,
744 176, 177, 179, 181, 182, 183, 197, 200, 217, 224,
745 226, 227, 231, 234, 235, 236, 237, 239, 240, 245,
746 246, 248, 253, 255, 256, 267, 269, 277, 281, 0,
747 282, 0, 283, 286, 287, 296, 297, 298, 299, 300,
748 301, 303, 306, 307, 308, 311, 313, 314, 315, 319,
749 320, 322, -122, 0, 0, 0, 0, 0, 0, 0,
750 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
751 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
752 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
753 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
754 0, 0, 0, 0, 0, 0, 0, 0, 0, -248,
755 714, -244, -236, 188, 324, 327, 330, 331, 334, 335,
756 337, 339, 340, 341, 342, 344, -48, 0, 0, 0,
757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
758 347, 346, 351, -120, 0, 0, 0, 0, 247, 0,
759 -242, 0, 352, 353, 356, 360, 364, 365, 367, 186,
760 0, 0, 0, 0, 0, 0, 0, 0, 349, 368,
761 369, 372, 375, 379, 380, 382, 383, 384, 387, 390,
762 -58, 0, 0, 0, 0, 0, 0, 0, 0, 0,
763 0, 0, 0, -247, -226, 0, 28, 45, 46, 397,
764 0, -15, 72, 75, 11, 13, 77, 77, 80, 81,
765 15, 20, 85, 77, 24, 25, 30, 32, 36, 414,
766 0, 796, 585, 0, 417, 418, -121, 0, 0, 0,
767 82, 428, 0, 0, 427, 431, 0, -74, 0, 0,
768 0, 0, 43, 77, 44, 77, 118, 98, 121, 59,
769 61, 62, 137, 104, 86, 138, 141, 143, 87, 77,
770 89, 91, 144, 125, 93, 145, 157, 77, 158, 139,
771 167, 168, 101, 103, 468, 106, 497, 77, 77, 110,
772 77, 159, 111, 116, 117, -406, -327, 129, 132, 77,
773 77, 184, 77, 140, 148, 151, 153, 514, 0, 0,
774 0, 530, 531, 0, 532, 533, -68, 0, 0, 0,
775 0, 0, 0, 0, 540, 539, 541, 544, 545, 0,
776 546, 547, 550, 551, 553, 554, 556, 557, 559, 560,
777 564, 210, 0, 0, 0, 0, 0, 0, 0, 0,
778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
779 567, 0, 568, -107, 0, 0, 0, 0, 572, 0,
780 573, 574, 575, -109, 0, 0, 0, 0, 0, 0,
781 238, 241, 243, 250, 251, 252, 261, 262, -123, 263,
782 270, 190, 589, 0, 0, 271, 272, 596, 0, 499,
783 597, 583, 603, 615, -108, 0, 0, 0, 0, 207,
784 228, 232, 275, 244, 249, 77, 634, 0, 0, 288,
785 254, 289, 291, 292, 302, 304, 312, 318, 316, 321,
786 636, 0, 647, 648, 0, 651, -101, 0, 0, 0,
787 0, 649, 654, 0, -99, 0, 0, 0, 657, 658,
788 663, 0, 665, 669, 670, 673, 674, -338, 676, 677,
789 679, 681, 682, 683, 686, 691, 692, 693, 694, 695,
790 697, 0, 698, 678, 700, 701, 702, 703, 704, 705,
791 706, 709, 712, 715, 721, 722, 220, 0, 0, 0,
792 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
793 0, 716, 723, 724, 725, 726, 727, 728, 729, 732,
794 733, 0, 734, 735, 736, 737, 738, 739, 740, 741,
795 743, 130, 0, 0, 0, 0, 0, 0, 0, 0,
796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
797 0, 0, 350, 396, 747, 0, 748, 0, 400, 401,
798 751, 755, 0, 756, 767, 769, 772, 774, 776, 777,
799 778, 780, 781, 784, 785, 789, 791, 793, 795, 797,
800 798, 799, 800, 801, 803, 808, 809, 813, 814, 815,
801 819, 822, 824, 825, 826, 847, 829, 775, 831, 832,
802 833, 836, 837, 838, 842, 844, 845, 846, 848, 849,
803 850, 852, 853, 854, -228, 859, 860, 864, 866, 869,
804 871, 0, 790, 77, 405, 873, 526, 527, 879, 0,
805 0, 456, 534, 491, 494, 885, 500, 501, 502, 503,
806 506, 548, 562, 555, 558, 509, 563, 901, 0, 569,
807 902, 570, 906, 0, 0, 905, 571, 577, 581, 912,
808 0, 914, 918, 923, 924, 925, 931, 933, 938, 941,
809 942, 943, 945, 954, 955, 956, 957, 961, 962, 0,
810 965, 968, 0, 969, 970, 971, 972, 974, 0, 975,
811 978, 979, 980, 984, 985, 986, 988, 989, 993, 994,
812 999, 1000, 0, 1003, 1006, 1008, 1, 0, 0, 0,
813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
814 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
815 0, 621, 661, 662, 1018, 0, 1019, 1024, 1025, 1026,
816 1027, 1028, 1029, 0, 1030, 1031, 1035, 1036, 1037, 1038,
817 1043, 1045, 1051, 1054, 1056, 0, 0, 707, 1057, 711,
818 1063, 0, 0, 719, 1064, 1070, 0, 0, 0, 0,
819 0, 0, 0, 0, 0, 77, 77, 77, 77, 77,
820 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
821 0, 0, 0, 0, 0, 0, 744, 745, 77, 746,
822 749, 750, 752, 754, 757, 761, 77, 77, 184, 1071,
823 0, 0, 759, -339, 684, 760, 762, 685, 720, 730,
824 764, 1080, 765, 766, 768, 770, 779, 773, 782, 731,
825 783, 1083, 0, 1084, 1093, 0, 0, 1094, 1095, 219,
826 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
827 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
829 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
830 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
831 0, -1, 0, 0, 0, 0, 0, 0, 0, 0,
832 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
833 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
834 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
835 0, 184, 184, 184, 0, 0, 0, 0, 0, 0,
836 0, 0, -250, 1096, 1097, -246, 1100, 1105, 0, 1117,
837 1119, 1124, 1128, 802, 1130, 1131, 1134, 1135, 1136, 1137,
838 1138, 1139, 1140, 1141, 1142, 0, 1145, 794, 1146, 0,
839 -296, 1147, 1148, 758, 1165, 0, 0, 0, 0, 0,
840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
841 0, 0, 0, 0, 0, 0, 0, 0, 771, 806,
842 787, 804, 1149, 805, 812, 816, 823, 830, 810, 834,
843 820, 835, 839, 840, 841, 851, 1150, 858, 843, 862,
844 1153, 0, 1158, 1159, 1161, 0, 0, 0, 0, 0,
845 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
846 0, 0, 0, 0, 1163, 79, 1164, 0, 1169, 610,
847 0, 0, 0, 0, 0, 0, 1181, 1185, 1186, 1188,
848 1189, 1190, 1192, 1194, 1204, 1206, 1217, 1222, 1224, 0,
849 1227, 1228, 1229, 1232, 1239, 1240, 1243, 1250, 1257, 1258,
850 934, 1260, 1262, 1263, 1264, 1265, 1266, 1267, 1268, 1275,
851 0, 0, 0, 0, 0, 0, 4, 0, 0, 847,
852 0, 775, 0, 0, 0, 0, 0, 10, 0, 0,
853 0, 0, 0, 16, 0, 0, 0, 0, 0, 0,
854 0, 0, 21, 0, 172, 0, 0, 0, 0, 0,
855 0, 0, 0, 0, 0, 0, 0, 0, 22, 0,
856 0, 0, 0, 26, 0, 0, 0, 948, 581, 1278,
857 1279, 1281, 1282, 1283, 958, 1284, 1286, 1287, 1288, 1289,
858 1290, 1291, 1292, 1293, 1294, 1295, 1296, 1297, 811, 1298,
859 1299, 1300, 0, 0, 0, 0, 0, 0, 0, 0,
860 0, 0, 0, 0, 0, 0, 0, 0, 34, 0,
861 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
862 0, 0, 0, 38, 0, 0, 0, 0, 0, 0,
863 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
864 0, 0, 0, 0, 0, 0, 0, 0, 0, 51,
865 0, -253, 0, 0, 0, 0, 0, 0, 0, 0,
866 0, 0, 219, 0, 0, 0, -250, 0, -246, 172,
867 0, 802, 0, 0, 0, 0, 0, 0, 0, 0,
868 0, 0, 0, 0, 794, 0, -296, 0, 0, 0,
869 0, 0, 0, 0, 0, 54, 0, 594, 0, 0,
870 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
871 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
872 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
873 56, 0, 0, 0, 0, 0, 79, 0, 610, -253,
874 0, 934, 0, 0, 0, 0, 0, 0, 0, 0,
875 0, 0, 0, 0, 0, 0, 594, 0, 958, 0,
876 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
877 0, 0, 0, 0, 0, 0, 0, 811, 0, 0,
878 0, 0, 0, 0, 0,
879 };
880 const short yyrindex[] = { 0,
881 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
882 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
883 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
884 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
885 0, 0, 0, 0, 0, 0, 0, 1101, 1237, 0,
886 0, 0, 0, 0, 0, 0, 0, 0, 0, 1238,
887 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
888 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
889 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
890 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
891 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
892 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
893 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
894 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
895 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
896 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
897 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
898 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
899 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
900 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
901 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
902 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
903 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
904 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
905 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
906 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
907 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
908 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
909 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
910 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
911 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
912 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
913 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
914 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
915 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
916 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
917 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
918 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
919 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
920 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
921 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
922 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
923 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
924 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
925 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
926 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
927 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
928 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
929 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
930 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
931 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
932 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
933 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
934 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
935 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
936 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
937 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
938 0, 0, 0, 0, 0, 0, 0, 1303, 0, 0,
939 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
940 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
941 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
942 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
943 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
944 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
945 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
946 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
947 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
948 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
949 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
950 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
951 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
952 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
953 0, 0, 0, 0, 1304, 0, 0, 0, 0, 0,
954 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
955 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
956 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
957 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
958 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
959 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
960 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
961 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
962 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
963 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
964 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
965 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
966 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
967 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
968 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
969 0, 0, 0, 0, 0, 1303, 1303, 1303, 1303, 1303,
970 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
971 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
972 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
973 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
974 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
975 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
976 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
977 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
978 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
979 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
980 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
981 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
982 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
983 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
984 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
985 0, 1304, 1304, 1304, 0, 0, 0, 0, 0, 0,
986 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
987 0, 0, 0, 680, 0, 0, 0, 0, 0, 0,
988 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
989 0, 0, 0, 58, 1305, 0, 0, 0, 0, 0,
990 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
991 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
992 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
993 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
994 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
995 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
996 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
997 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
998 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
999 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1000 -235, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1001 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1002 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1003 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1004 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1005 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1006 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1007 0, 0, 0, 0, 641, 0, 0, 0, 0, 0,
1008 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1009 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1010 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1011 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1012 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1013 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1014 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1015 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1016 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1017 0, 680, 0, 0, 0, 0, 0, 0, 0, 0,
1018 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1019 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1020 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1021 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1022 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1023 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1024 0, -235, 0, 0, 0, 0, 0, 0, 0, 0,
1025 0, 0, 0, 0, 0, 0, 0, 0, 641, 0,
1026 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1027 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1028 0, 0, 0, 0, 0,
1029 };
1030 const short yygindex[] = { 0,
1031 -337, -782, -420, -922, 0, 0, 0, 0, 0, 0,
1032 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1033 0, 0, 0, 0, 0, 0, 1091, 0, 0, 0,
1034 1055, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1035 0, 0, 0, 1301, 0, 0, 0, 0, 1110, 0,
1036 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1037 0, 0, 0, 0, 0, 552, 0, 0, 0, 0,
1038 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1039 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1040 -100, 0, 0, -79, -75, 0, 0, 0, 0, 0,
1041 0, 786, 0, 0, 0, 0, 0, 0, 0, 0,
1042 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1043 -4, 880, 0, 0, 0, 0, 0, 119, 0, 0,
1044 913, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1045 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,
1046 17, 0, 0, 0, 0, 855, 0, 0, 0, 0,
1047 0, 827, 0, 0, 0, 0, 0, -46, 0, 0,
1048 817, 0, 0, 0, 0, -50, 0, 0, 0, 0,
1049 753, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1050 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1051 0, 0, -49, -45, 0, 0, 0, 0, 0, 0,
1052 0, 12, 904, 0, 0, 0, 0, 1032, 0, 0,
1053 0, 1269, 0, 0, 0, 0, 0, 0, 33, 1022,
1054 0, 0, 0, 1208, 0, 0, 0, 0, 0, 0,
1055 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1056 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1057 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1058 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1059 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1060 0, 185, 0, 0, 189, 0, 0, 959, 0, 0,
1061 0, 0, 0, 0, 0, 0, 41, 0, 0, 37,
1062 0, 1307, 0, 0, 0, 0, 0, 0, 0, 0,
1063 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1064 0, 1108, 0, 0, 0, 0, 0, 0, 0,
1065 };
1066 #define YYTABLESIZE 1401
1067 const short yytable[] = { 579,
1068 580, 726, 428, 665, 518, 362, 586, 430, 553, 431,
1069 1433, 480, 1434, 521, 1216, 770, 845, 763, 1222, 489,
1070 44, 114, 364, 871, 354, 876, 121, 1435, 426, 562,
1071 426, 1436, 66, 522, 330, 1252, 675, 271, 677, 1042,
1072 1043, 1044, 1210, 717, 718, 426, 1212, 1353, 578, 426,
1073 672, 432, 691, 1357, 433, 46, 739, 1209, 47, 1359,
1074 699, 1211, 1352, 51, 1362, 1375, 551, 67, 1356, 1377,
1075 709, 710, 490, 712, 1358, 53, 513, 1427, 68, 1361,
1076 1374, 1429, 723, 724, 1376, 727, 45, 886, 887, 888,
1077 889, 890, 1426, 58, 1432, 59, 1428, 1449, 62, 1468,
1078 1437, 267, 491, 1162, 1163, 1164, 1165, 1166, 492, 1431,
1079 434, 63, 1448, 355, 1467, 122, 267, 117, 426, 1213,
1080 1214, 1215, 719, 720, 120, 1131, 278, 435, 554, 1182,
1081 1183, 126, 326, 127, 354, 271, 121, 523, 327, 128,
1082 129, 240, 365, 130, 328, 241, 489, 521, 480, 563,
1083 131, 242, 69, 243, 553, 272, 562, 281, 725, 132,
1084 329, 324, 325, 133, 134, 66, 481, 522, 524, 332,
1085 135, 493, 333, 334, 136, 137, 138, 366, 139, 356,
1086 335, 364, 336, 337, 140, 273, 338, 430, 339, 431,
1087 1253, 340, 555, 341, 342, 482, 343, 299, 853, 490,
1088 67, 1217, 344, 141, 142, 1223, 367, 244, 143, 345,
1089 346, 68, 347, 564, 348, 144, 349, 352, 353, 145,
1090 146, 147, 361, 355, 148, 122, 373, 149, 150, 491,
1091 374, 432, 300, 375, 433, 492, 376, 377, 151, 378,
1092 1438, 379, 380, 381, 152, 153, 500, 154, 155, 156,
1093 157, 436, 556, 272, 942, 483, 794, 382, 426, 795,
1094 383, 158, 245, 246, 247, 248, 249, 250, 251, 252,
1095 159, 523, 160, 161, 554, 162, 563, 384, 163, 164,
1096 796, 301, 165, 273, 385, 69, 386, 387, 350, 356,
1097 434, 388, 797, 166, 389, 390, 391, 392, 493, 393,
1098 394, 365, 524, 481, 798, 395, 396, 435, 397, 799,
1099 537, 253, 167, 398, 168, 399, 400, 302, 169, 303,
1100 304, 800, 170, 171, 172, 173, 174, 401, 801, 402,
1101 175, 176, 482, 802, 758, 803, 366, 403, 555, 177,
1102 564, 404, 406, 408, 920, 254, 409, 410, 804, 780,
1103 781, 782, 783, 784, 785, 786, 411, 412, 413, 414,
1104 415, 416, 305, 417, 306, 367, 418, 419, 420, 520,
1105 178, 421, 179, 422, 423, 424, 805, 307, 180, 425,
1106 426, 806, 427, 181, 501, 622, 623, 502, 182, 624,
1107 503, 504, 483, 625, 505, 506, 1054, 507, 556, 508,
1108 509, 510, 511, 807, 512, 515, 516, 539, 626, 627,
1109 628, 517, 530, 531, 629, 808, 532, 809, 810, 75,
1110 533, 308, 811, 255, 534, 535, 1288, 536, 540, 541,
1111 76, 436, 542, 630, 573, 543, 569, 631, 632, 544,
1112 545, 282, 546, 547, 548, 1363, 1364, 549, 309, 310,
1113 550, 77, 78, 570, 571, 572, 256, 79, 574, 80,
1114 576, 575, 577, 578, 583, 445, 581, 582, 633, 584,
1115 634, 585, 592, 587, 588, 593, 1365, 663, 664, 589,
1116 283, 590, 812, 446, 635, 591, 668, 669, 813, 447,
1117 667, 670, 674, 676, 1366, 284, 594, 595, 1179, 814,
1118 815, 1367, 1289, 596, 678, 636, 679, 680, 681, 816,
1119 682, 683, 685, 448, 449, 81, 82, 285, 450, 286,
1120 1368, 287, 288, 684, 687, 83, 84, 688, 706, 689,
1121 694, 697, 451, 695, 1290, 686, 690, 637, 692, 452,
1122 693, 289, 696, 698, 700, 85, 86, 701, 1369, 1291,
1123 704, 638, 705, 702, 703, 707, 1370, 708, 453, 711,
1124 714, 639, 87, 88, 282, 715, 716, 713, 1292, 1293,
1125 725, 1169, 732, 89, 1294, 1295, 1296, 1297, 721, 1177,
1126 1178, 722, 90, 597, 598, 599, 454, 1298, 600, 728,
1127 734, 735, 737, 738, 455, 601, 1371, 729, 741, 742,
1128 730, 743, 731, 283, 744, 745, 747, 748, 602, 603,
1129 749, 750, 456, 751, 752, 1372, 753, 754, 284, 755,
1130 756, 457, 458, 640, 757, 604, 605, 760, 762, 244,
1131 765, 127, 1206, 767, 768, 769, 641, 128, 129, 789,
1132 285, 130, 286, 842, 287, 288, 772, 790, 131, 773,
1133 606, 774, 459, 460, 793, 841, 847, 132, 775, 776,
1134 777, 133, 134, 843, 289, 91, 92, 93, 135, 778,
1135 779, 787, 136, 137, 138, 844, 139, 848, 788, 791,
1136 792, 849, 140, 850, 245, 246, 247, 248, 249, 250,
1137 251, 252, 854, 851, 866, 299, 855, 857, 852, 858,
1138 859, 141, 142, 856, 863, 867, 143, 873, 868, 461,
1139 860, 870, 861, 144, 874, 878, 879, 145, 146, 147,
1140 862, 880, 148, 881, 864, 149, 150, 882, 883, 865,
1141 300, 884, 885, 253, 893, 894, 151, 895, 907, 896,
1142 897, 898, 152, 153, 899, 154, 155, 156, 157, 900,
1143 901, 902, 903, 904, 794, 905, 906, 795, 944, 158,
1144 908, 909, 910, 911, 912, 913, 914, 254, 159, 915,
1145 160, 161, 916, 162, 922, 917, 163, 164, 796, 301,
1146 165, 918, 919, 923, 924, 925, 926, 927, 928, 929,
1147 797, 166, 930, 931, 933, 934, 935, 936, 937, 938,
1148 939, 940, 798, 941, 945, 946, 947, 799, 948, 949,
1149 167, 950, 168, 951, 952, 302, 169, 303, 304, 800,
1150 170, 171, 172, 173, 174, 953, 801, 954, 175, 176,
1151 955, 802, 956, 803, 957, 958, 959, 177, 960, 961,
1152 622, 623, 962, 963, 624, 255, 804, 964, 625, 965,
1153 1053, 966, 1450, 967, 1055, 968, 969, 970, 971, 972,
1154 305, 973, 306, 626, 627, 628, 974, 975, 178, 629,
1155 179, 976, 977, 978, 805, 307, 180, 979, 256, 806,
1156 980, 181, 981, 982, 983, 1451, 182, 1004, 630, 1026,
1157 1027, 1028, 631, 632, 1029, 1030, 1031, 1452, 75, 196,
1158 1032, 807, 1033, 1034, 1035, 1060, 1036, 1037, 1038, 76,
1159 1039, 1040, 1041, 808, 1453, 809, 810, 1047, 1048, 308,
1160 811, 1454, 1049, 633, 1050, 634, 1455, 1051, 1456, 1052,
1161 77, 78, 196, 1056, 1057, 1058, 79, 1059, 80, 635,
1162 1062, 1457, 1061, 1063, 196, 1064, 309, 310, 1071, 1065,
1163 1066, 1067, 1068, 303, 303, 1069, 1070, 1303, 1074, 1076,
1164 636, 196, 1078, 1072, 1080, 1081, 1073, 1084, 196, 445,
1165 1087, 1075, 1088, 196, 1458, 196, 1089, 1077, 1079, 1082,
1166 812, 1090, 1091, 1092, 303, 1083, 813, 446, 196, 1093,
1167 1459, 1094, 637, 447, 81, 82, 1095, 814, 815, 1096,
1168 1097, 1098, 303, 1099, 83, 84, 638, 816, 1460, 303,
1169 1461, 1462, 1100, 1101, 1102, 1103, 639, 448, 449, 1104,
1170 1105, 196, 450, 1106, 85, 86, 1107, 1108, 303, 1133,
1171 1109, 1110, 1111, 1304, 1112, 1114, 451, 196, 1115, 1116,
1172 1117, 87, 88, 452, 1118, 1119, 1120, 2, 1121, 1122,
1173 3, 593, 89, 1123, 1124, 196, 303, 196, 196, 1125,
1174 1126, 90, 453, 1128, 303, 1305, 1129, 4, 1130, 1134,
1175 1135, 5, 594, 595, 6, 1463, 1136, 1137, 640, 596,
1176 1306, 7, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145,
1177 454, 641, 1464, 1146, 1147, 1148, 1149, 8, 455, 1307,
1178 1308, 1150, 1465, 1151, 303, 1309, 1310, 1311, 1312, 1152,
1179 9, 10, 1153, 11, 1154, 1155, 456, 1156, 1313, 1157,
1180 12, 1158, 196, 303, 1160, 457, 458, 1159, 1161, 1180,
1181 1167, 1168, 1170, 1184, 1187, 1171, 1172, 13, 1173, 196,
1182 1191, 1201, 1202, 1175, 91, 92, 93, 1176, 14, 196,
1183 15, 1203, 1204, 1205, 1220, 1221, 459, 460, 1226, 597,
1184 598, 599, 1174, 1227, 600, 1196, 16, 1181, 1185, 1188,
1185 1186, 601, 1190, 1192, 1193, 1228, 1194, 1229, 1195, 1189,
1186 1199, 1197, 1230, 17, 602, 603, 1231, 1232, 1236, 1237,
1187 1198, 1200, 1238, 1239, 1240, 1241, 1242, 1243, 1244, 1245,
1188 1246, 604, 605, 1247, 1251, 1256, 1257, 1248, 1259, 1265,
1189 1279, 1283, 1258, 461, 1262, 18, 1284, 1285, 1271, 1286,
1190 1261, 1287, 1301, 216, 19, 20, 606, 1302, 1273, 21,
1191 22, 1005, 1006, 1007, 1008, 1009, 1263, 1010, 1011, 1316,
1192 1012, 1013, 1014, 1317, 1318, 1015, 1319, 1320, 1321, 1277,
1193 1322, 1281, 1323, 1264, 1266, 1016, 1017, 1018, 1019, 1020,
1194 1021, 1267, 1324, 1022, 1325, 1268, 1023, 1402, 1403, 1404,
1195 1405, 1406, 1269, 1407, 1408, 1326, 1409, 1410, 1411, 1270,
1196 1327, 1412, 1328, 1272, 1274, 1329, 1330, 1331, 1275, 1276,
1197 1332, 1413, 1414, 1415, 1416, 1417, 1418, 1333, 1334, 1419,
1198 1278, 1335, 1420, 984, 985, 986, 987, 1280, 1336, 988,
1199 989, 1282, 990, 991, 992, 1337, 1338, 993, 1343, 1339,
1200 1344, 1345, 1346, 1347, 1348, 1349, 1350, 994, 995, 996,
1201 997, 998, 999, 1351, 1378, 1000, 1380, 1381, 1001, 1382,
1202 1383, 1384, 1389, 1385, 1390, 1391, 1392, 1393, 1394, 1395,
1203 1396, 1397, 1398, 1399, 1400, 1401, 1423, 1424, 1425, 386,
1204 119, 25, 33, 263, 519, 552, 514, 1475, 1132, 1474,
1205 331, 1473, 1446, 771, 759, 1444, 1443, 1379, 1470, 846,
1206 1469, 877, 1472, 872, 1471, 1440, 1445, 764, 666, 673,
1207 429, 363, 921, 1441, 943, 740, 1355, 538, 1354, 1442,
1208 351,
1209 };
1210 const short yycheck[] = { 337,
1211 338, 422, 125, 125, 125, 125, 344, 256, 256, 258,
1212 264, 256, 266, 256, 265, 125, 125, 125, 265, 256,
1213 59, 409, 256, 125, 256, 125, 256, 281, 264, 256,
1214 266, 285, 256, 276, 125, 332, 374, 256, 376, 268,
1215 269, 270, 44, 450, 451, 281, 44, 44, 387, 285,
1216 125, 300, 390, 44, 303, 123, 125, 59, 123, 44,
1217 398, 59, 59, 123, 44, 44, 125, 291, 59, 44,
1218 408, 409, 309, 411, 59, 123, 125, 44, 302, 59,
1219 59, 44, 420, 421, 59, 423, 125, 426, 427, 428,
1220 429, 430, 59, 123, 44, 123, 59, 44, 123, 44,
1221 354, 44, 339, 886, 887, 888, 889, 890, 345, 59,
1222 359, 123, 59, 345, 59, 345, 59, 409, 354, 1042,
1223 1043, 1044, 450, 451, 123, 125, 409, 376, 376, 469,
1224 470, 123, 59, 256, 256, 256, 256, 380, 61, 262,
1225 263, 123, 376, 266, 61, 123, 256, 256, 256, 376,
1226 273, 123, 376, 123, 256, 374, 256, 123, 387, 282,
1227 61, 123, 123, 286, 287, 256, 411, 276, 411, 61,
1228 293, 408, 61, 61, 297, 298, 299, 411, 301, 411,
1229 61, 256, 61, 61, 307, 404, 61, 256, 61, 258,
1230 487, 61, 440, 61, 61, 440, 61, 256, 536, 309,
1231 291, 452, 61, 326, 327, 452, 440, 256, 331, 61,
1232 61, 302, 61, 440, 61, 338, 61, 123, 123, 342,
1233 343, 344, 61, 345, 347, 345, 61, 350, 351, 339,
1234 61, 300, 291, 61, 303, 345, 61, 61, 361, 61,
1235 494, 61, 61, 61, 367, 368, 59, 370, 371, 372,
1236 373, 500, 500, 374, 125, 500, 256, 61, 494, 259,
1237 61, 384, 311, 312, 313, 314, 315, 316, 317, 318,
1238 393, 380, 395, 396, 376, 398, 376, 61, 401, 402,
1239 280, 340, 405, 404, 61, 376, 61, 61, 125, 411,
1240 359, 61, 292, 416, 61, 61, 61, 61, 408, 61,
1241 61, 376, 411, 411, 304, 61, 61, 376, 61, 309,
1242 125, 360, 435, 61, 437, 61, 61, 376, 441, 378,
1243 379, 321, 445, 446, 447, 448, 449, 61, 328, 61,
1244 453, 454, 440, 333, 125, 335, 411, 61, 440, 462,
1245 440, 61, 61, 61, 125, 394, 61, 61, 348, 473,
1246 474, 475, 476, 477, 478, 479, 61, 61, 61, 61,
1247 61, 61, 421, 61, 423, 440, 61, 61, 61, 123,
1248 493, 61, 495, 61, 61, 61, 376, 436, 501, 61,
1249 61, 381, 61, 506, 61, 256, 257, 61, 511, 260,
1250 61, 61, 500, 264, 61, 61, 734, 61, 500, 61,
1251 61, 61, 61, 403, 61, 59, 61, 59, 279, 280,
1252 281, 61, 61, 61, 285, 415, 61, 417, 418, 256,
1253 61, 480, 422, 472, 61, 61, 348, 61, 61, 61,
1254 267, 500, 61, 304, 450, 61, 409, 308, 309, 61,
1255 61, 256, 61, 61, 61, 274, 275, 61, 507, 508,
1256 61, 288, 289, 409, 409, 59, 505, 294, 387, 296,
1257 450, 387, 450, 387, 450, 256, 387, 387, 339, 450,
1258 341, 387, 59, 450, 450, 256, 305, 61, 61, 450,
1259 295, 450, 482, 274, 355, 450, 59, 61, 488, 280,
1260 409, 61, 450, 450, 323, 310, 277, 278, 919, 499,
1261 500, 330, 424, 284, 387, 376, 409, 387, 450, 509,
1262 450, 450, 409, 304, 305, 352, 353, 332, 309, 334,
1263 349, 336, 337, 387, 387, 362, 363, 387, 61, 387,
1264 387, 387, 323, 409, 456, 450, 450, 408, 450, 330,
1265 450, 356, 450, 387, 387, 382, 383, 409, 377, 471,
1266 450, 422, 450, 387, 387, 450, 385, 61, 349, 450,
1267 450, 432, 399, 400, 256, 450, 450, 409, 490, 491,
1268 387, 909, 59, 410, 496, 497, 498, 499, 450, 917,
1269 918, 450, 419, 364, 365, 366, 377, 509, 369, 450,
1270 61, 61, 61, 61, 385, 376, 425, 450, 59, 61,
1271 450, 61, 450, 295, 61, 61, 61, 61, 389, 390,
1272 61, 61, 403, 61, 61, 444, 61, 61, 310, 61,
1273 61, 412, 413, 494, 61, 406, 407, 61, 61, 256,
1274 59, 256, 414, 61, 61, 61, 507, 262, 263, 450,
1275 332, 266, 334, 61, 336, 337, 409, 59, 273, 409,
1276 431, 409, 443, 444, 59, 59, 450, 282, 409, 409,
1277 409, 286, 287, 61, 356, 502, 503, 504, 293, 409,
1278 409, 409, 297, 298, 299, 61, 301, 450, 409, 409,
1279 409, 450, 307, 409, 311, 312, 313, 314, 315, 316,
1280 317, 318, 59, 450, 59, 256, 409, 409, 450, 409,
1281 409, 326, 327, 450, 387, 59, 331, 59, 61, 500,
1282 409, 61, 409, 338, 61, 59, 59, 342, 343, 344,
1283 409, 59, 347, 59, 409, 350, 351, 59, 59, 409,
1284 291, 59, 59, 360, 59, 59, 361, 59, 61, 59,
1285 59, 59, 367, 368, 59, 370, 371, 372, 373, 59,
1286 59, 59, 59, 59, 256, 59, 59, 259, 409, 384,
1287 61, 61, 61, 61, 61, 61, 61, 394, 393, 61,
1288 395, 396, 61, 398, 59, 61, 401, 402, 280, 340,
1289 405, 61, 61, 61, 61, 61, 61, 61, 61, 61,
1290 292, 416, 61, 61, 61, 61, 61, 61, 61, 61,
1291 61, 61, 304, 61, 409, 59, 59, 309, 409, 409,
1292 435, 61, 437, 59, 59, 376, 441, 378, 379, 321,
1293 445, 446, 447, 448, 449, 59, 328, 59, 453, 454,
1294 59, 333, 59, 335, 59, 59, 59, 462, 59, 59,
1295 256, 257, 59, 59, 260, 472, 348, 59, 264, 59,
1296 61, 59, 259, 59, 450, 59, 59, 59, 59, 59,
1297 421, 59, 423, 279, 280, 281, 59, 59, 493, 285,
1298 495, 59, 59, 59, 376, 436, 501, 59, 505, 381,
1299 59, 506, 59, 59, 59, 292, 511, 59, 304, 59,
1300 59, 59, 308, 309, 59, 59, 59, 304, 256, 259,
1301 59, 403, 59, 59, 59, 450, 59, 59, 59, 267,
1302 59, 59, 59, 415, 321, 417, 418, 59, 59, 480,
1303 422, 328, 59, 339, 59, 341, 333, 59, 335, 59,
1304 288, 289, 292, 61, 409, 409, 294, 59, 296, 355,
1305 450, 348, 409, 450, 304, 61, 507, 508, 387, 450,
1306 450, 450, 450, 274, 275, 450, 409, 348, 450, 59,
1307 376, 321, 61, 409, 59, 61, 409, 387, 328, 256,
1308 59, 409, 59, 333, 381, 335, 59, 409, 409, 409,
1309 482, 59, 59, 59, 305, 409, 488, 274, 348, 59,
1310 397, 59, 408, 280, 352, 353, 59, 499, 500, 59,
1311 59, 59, 323, 59, 362, 363, 422, 509, 415, 330,
1312 417, 418, 59, 59, 59, 59, 432, 304, 305, 59,
1313 59, 381, 309, 59, 382, 383, 59, 59, 349, 409,
1314 61, 61, 61, 424, 61, 61, 323, 397, 61, 61,
1315 61, 399, 400, 330, 61, 61, 61, 256, 61, 61,
1316 259, 256, 410, 61, 61, 415, 377, 417, 418, 61,
1317 61, 419, 349, 61, 385, 456, 61, 276, 61, 409,
1318 409, 280, 277, 278, 283, 482, 59, 59, 494, 284,
1319 471, 290, 59, 59, 59, 59, 59, 59, 59, 59,
1320 377, 507, 499, 59, 59, 59, 59, 306, 385, 490,
1321 491, 59, 509, 59, 425, 496, 497, 498, 499, 59,
1322 319, 320, 59, 322, 59, 409, 403, 61, 509, 409,
1323 329, 59, 482, 444, 61, 412, 413, 409, 59, 59,
1324 387, 387, 387, 450, 450, 387, 387, 346, 387, 499,
1325 61, 59, 59, 387, 502, 503, 504, 387, 357, 509,
1326 359, 59, 59, 59, 59, 59, 443, 444, 59, 364,
1327 365, 366, 409, 59, 369, 387, 375, 409, 409, 450,
1328 409, 376, 409, 409, 409, 59, 409, 59, 409, 450,
1329 450, 409, 59, 392, 389, 390, 59, 386, 59, 59,
1330 409, 409, 59, 59, 59, 59, 59, 59, 59, 59,
1331 59, 406, 407, 59, 59, 59, 59, 414, 44, 61,
1332 61, 59, 455, 500, 409, 424, 59, 59, 409, 59,
1333 450, 59, 59, 123, 433, 434, 431, 59, 409, 438,
1334 439, 457, 458, 459, 460, 461, 450, 463, 464, 59,
1335 466, 467, 468, 59, 59, 471, 59, 59, 59, 409,
1336 59, 409, 59, 450, 450, 481, 482, 483, 484, 485,
1337 486, 450, 59, 489, 59, 450, 492, 457, 458, 459,
1338 460, 461, 450, 463, 464, 59, 466, 467, 468, 450,
1339 59, 471, 59, 450, 450, 59, 59, 59, 450, 450,
1340 59, 481, 482, 483, 484, 485, 486, 59, 59, 489,
1341 450, 59, 492, 457, 458, 459, 460, 450, 59, 463,
1342 464, 450, 466, 467, 468, 59, 59, 471, 59, 386,
1343 59, 59, 59, 59, 59, 59, 59, 481, 482, 483,
1344 484, 485, 486, 59, 387, 489, 59, 59, 492, 59,
1345 59, 59, 59, 386, 59, 59, 59, 59, 59, 59,
1346 59, 59, 59, 59, 59, 59, 59, 59, 59, 123,
1347 123, 59, 59, 59, 274, 311, 257, 1468, 817, 1449,
1348 70, 1447, 1377, 494, 462, 1362, 1360, 1259, 1429, 525,
1349 1427, 565, 1432, 557, 1430, 1353, 1375, 484, 357, 368,
1350 183, 123, 607, 1357, 642, 437, 1212, 290, 1210, 1359,
1351 94,
1352 };
1353 #define YYFINAL 1
1354 #ifndef YYDEBUG
1355 #define YYDEBUG 0
1356 #endif
1357 #define YYMAXTOKEN 511
1358 #if YYDEBUG
1359 const char * const yyname[] = {
1360 "end-of-file",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1361 0,0,0,0,0,0,0,0,0,0,"','",0,0,0,0,0,0,0,0,0,0,0,0,0,0,"';'",0,"'='",0,0,0,0,0,0,
1362 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1363 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,"'{'",0,"'}'",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1364 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1365 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1366 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
1367 "ACCEPT_PASSWORD","ACTION","ADMIN","AFTYPE","T_ALLOW","ANTI_NICK_FLOOD",
1368 "ANTI_SPAM_EXIT_MESSAGE_TIME","AUTOCONN","T_BLOCK","BURST_AWAY",
1369 "BURST_TOPICWHO","BYTES","KBYTES","MBYTES","GBYTES","TBYTES","CALLER_ID_WAIT",
1370 "CAN_FLOOD","CAN_IDLE","CHANNEL","CIDR_BITLEN_IPV4","CIDR_BITLEN_IPV6",
1371 "CIPHER_PREFERENCE","CLASS","COMPRESSED","COMPRESSION_LEVEL","CONNECT",
1372 "CONNECTFREQ","CRYPTLINK","DEFAULT_CIPHER_PREFERENCE","DEFAULT_FLOODCOUNT",
1373 "DEFAULT_SPLIT_SERVER_COUNT","DEFAULT_SPLIT_USER_COUNT","DENY","DESCRIPTION",
1374 "DIE","DISABLE_AUTH","DISABLE_FAKE_CHANNELS","DISABLE_HIDDEN",
1375 "DISABLE_LOCAL_CHANNELS","DISABLE_REMOTE_COMMANDS","DOT_IN_IP6_ADDR",
1376 "DOTS_IN_IDENT","DURATION","EGDPOOL_PATH","EMAIL","ENABLE","ENCRYPTED",
1377 "EXCEED_LIMIT","EXEMPT","FAILED_OPER_NOTICE","FAKENAME","IRCD_FLAGS",
1378 "FLATTEN_LINKS","FFAILED_OPERLOG","FKILLLOG","FKLINELOG","FGLINELOG",
1379 "FIOERRLOG","FOPERLOG","FOPERSPYLOG","FUSERLOG","GECOS","GENERAL","GLINE",
1380 "GLINES","GLINE_EXEMPT","GLINE_LOG","GLINE_TIME","GLINE_MIN_CIDR",
1381 "GLINE_MIN_CIDR6","GLOBAL_KILL","IRCD_AUTH","NEED_IDENT","HAVENT_READ_CONF",
1382 "HIDDEN","HIDDEN_ADMIN","HIDDEN_NAME","HIDDEN_OPER","HIDE_SERVER_IPS",
1383 "HIDE_SERVERS","HIDE_SPOOF_IPS","HOST","HUB","HUB_MASK","IDLETIME",
1384 "IGNORE_BOGUS_TS","INVISIBLE_ON_CONNECT","IP","KILL","KILL_CHASE_TIME_LIMIT",
1385 "KLINE","KLINE_EXEMPT","KLINE_REASON","KLINE_WITH_REASON","KNOCK_DELAY",
1386 "KNOCK_DELAY_CHANNEL","LAZYLINK","LEAF_MASK","LINKS_DELAY","LISTEN","T_LOG",
1387 "LOGGING","LOG_LEVEL","MAX_ACCEPT","MAX_BANS","MAX_CHANS_PER_USER","MAX_GLOBAL",
1388 "MAX_IDENT","MAX_LOCAL","MAX_NICK_CHANGES","MAX_NICK_TIME","MAX_NUMBER",
1389 "MAX_TARGETS","MESSAGE_LOCALE","MIN_NONWILDCARD","MIN_NONWILDCARD_SIMPLE",
1390 "MODULE","MODULES","NAME","NEED_PASSWORD","NETWORK_DESC","NETWORK_NAME","NICK",
1391 "NICK_CHANGES","NO_CREATE_ON_SPLIT","NO_JOIN_ON_SPLIT","NO_OPER_FLOOD",
1392 "NO_TILDE","NOT","NUMBER","NUMBER_PER_IDENT","NUMBER_PER_CIDR","NUMBER_PER_IP",
1393 "NUMBER_PER_IP_GLOBAL","OPERATOR","OPERS_BYPASS_CALLERID","OPER_LOG",
1394 "OPER_ONLY_UMODES","OPER_PASS_RESV","OPER_SPY_T","OPER_UMODES",
1395 "JOIN_FLOOD_COUNT","JOIN_FLOOD_TIME","PACE_WAIT","PACE_WAIT_SIMPLE","PASSWORD",
1396 "PATH","PING_COOKIE","PING_TIME","PING_WARNING","PORT","QSTRING","QUIET_ON_BAN",
1397 "REASON","REDIRPORT","REDIRSERV","REGEX_T","REHASH","TREJECT_HOLD_TIME",
1398 "REMOTE","REMOTEBAN","RESTRICT_CHANNELS","RESTRICTED","RSA_PRIVATE_KEY_FILE",
1399 "RSA_PUBLIC_KEY_FILE","SSL_CERTIFICATE_FILE","RESV","RESV_EXEMPT","SECONDS",
1400 "MINUTES","HOURS","DAYS","WEEKS","SENDQ","SEND_PASSWORD","SERVERHIDE",
1401 "SERVERINFO","SERVLINK_PATH","IRCD_SID","TKLINE_EXPIRE_NOTICES","T_SHARED",
1402 "T_CLUSTER","TYPE","SHORT_MOTD","SILENT","SPOOF","SPOOF_NOTICE",
1403 "STATS_E_DISABLED","STATS_I_OPER_ONLY","STATS_K_OPER_ONLY","STATS_O_OPER_ONLY",
1404 "STATS_P_OPER_ONLY","TBOOL","TMASKED","T_REJECT","TS_MAX_DELTA","TS_WARN_DELTA",
1405 "TWODOTS","T_ALL","T_BOTS","T_SOFTCALLERID","T_CALLERID","T_CCONN",
1406 "T_CCONN_FULL","T_CLIENT_FLOOD","T_DEAF","T_DEBUG","T_DRONE","T_EXTERNAL",
1407 "T_FULL","T_INVISIBLE","T_IPV4","T_IPV6","T_LOCOPS","T_LOGPATH","T_L_CRIT",
1408 "T_L_DEBUG","T_L_ERROR","T_L_INFO","T_L_NOTICE","T_L_TRACE","T_L_WARN",
1409 "T_MAX_CLIENTS","T_NCHANGE","T_OPERWALL","T_REJ","T_SERVNOTICE","T_SKILL",
1410 "T_SPY","T_SSL","T_UMODES","T_UNAUTH","T_UNRESV","T_UNXLINE","T_WALLOP",
1411 "THROTTLE_TIME","TOPICBURST","TRUE_NO_OPER_FLOOD","TKLINE","TXLINE","TRESV",
1412 "UNKLINE","USER","USE_EGD","USE_EXCEPT","USE_INVEX","USE_KNOCK","USE_LOGGING",
1413 "USE_WHOIS_ACTUALLY","VHOST","VHOST6","XLINE","WARN","WARN_NO_NLINE",
1414 };
1415 const char * const yyrule[] = {
1416 "$accept : conf",
1417 "conf :",
1418 "conf : conf conf_item",
1419 "conf_item : admin_entry",
1420 "conf_item : logging_entry",
1421 "conf_item : oper_entry",
1422 "conf_item : channel_entry",
1423 "conf_item : class_entry",
1424 "conf_item : listen_entry",
1425 "conf_item : auth_entry",
1426 "conf_item : serverinfo_entry",
1427 "conf_item : serverhide_entry",
1428 "conf_item : resv_entry",
1429 "conf_item : shared_entry",
1430 "conf_item : cluster_entry",
1431 "conf_item : connect_entry",
1432 "conf_item : kill_entry",
1433 "conf_item : deny_entry",
1434 "conf_item : exempt_entry",
1435 "conf_item : general_entry",
1436 "conf_item : gline_entry",
1437 "conf_item : gecos_entry",
1438 "conf_item : modules_entry",
1439 "conf_item : error ';'",
1440 "conf_item : error '}'",
1441 "timespec_ :",
1442 "timespec_ : timespec",
1443 "timespec : NUMBER timespec_",
1444 "timespec : NUMBER SECONDS timespec_",
1445 "timespec : NUMBER MINUTES timespec_",
1446 "timespec : NUMBER HOURS timespec_",
1447 "timespec : NUMBER DAYS timespec_",
1448 "timespec : NUMBER WEEKS timespec_",
1449 "sizespec_ :",
1450 "sizespec_ : sizespec",
1451 "sizespec : NUMBER sizespec_",
1452 "sizespec : NUMBER BYTES sizespec_",
1453 "sizespec : NUMBER KBYTES sizespec_",
1454 "sizespec : NUMBER MBYTES sizespec_",
1455 "modules_entry : MODULES '{' modules_items '}' ';'",
1456 "modules_items : modules_items modules_item",
1457 "modules_items : modules_item",
1458 "modules_item : modules_module",
1459 "modules_item : modules_path",
1460 "modules_item : error ';'",
1461 "modules_module : MODULE '=' QSTRING ';'",
1462 "modules_path : PATH '=' QSTRING ';'",
1463 "serverinfo_entry : SERVERINFO '{' serverinfo_items '}' ';'",
1464 "serverinfo_items : serverinfo_items serverinfo_item",
1465 "serverinfo_items : serverinfo_item",
1466 "serverinfo_item : serverinfo_name",
1467 "serverinfo_item : serverinfo_vhost",
1468 "serverinfo_item : serverinfo_hub",
1469 "serverinfo_item : serverinfo_description",
1470 "serverinfo_item : serverinfo_network_name",
1471 "serverinfo_item : serverinfo_network_desc",
1472 "serverinfo_item : serverinfo_max_clients",
1473 "serverinfo_item : serverinfo_rsa_private_key_file",
1474 "serverinfo_item : serverinfo_vhost6",
1475 "serverinfo_item : serverinfo_sid",
1476 "serverinfo_item : serverinfo_ssl_certificate_file",
1477 "serverinfo_item : error ';'",
1478 "serverinfo_ssl_certificate_file : SSL_CERTIFICATE_FILE '=' QSTRING ';'",
1479 "serverinfo_rsa_private_key_file : RSA_PRIVATE_KEY_FILE '=' QSTRING ';'",
1480 "serverinfo_name : NAME '=' QSTRING ';'",
1481 "serverinfo_sid : IRCD_SID '=' QSTRING ';'",
1482 "serverinfo_description : DESCRIPTION '=' QSTRING ';'",
1483 "serverinfo_network_name : NETWORK_NAME '=' QSTRING ';'",
1484 "serverinfo_network_desc : NETWORK_DESC '=' QSTRING ';'",
1485 "serverinfo_vhost : VHOST '=' QSTRING ';'",
1486 "serverinfo_vhost6 : VHOST6 '=' QSTRING ';'",
1487 "serverinfo_max_clients : T_MAX_CLIENTS '=' NUMBER ';'",
1488 "serverinfo_hub : HUB '=' TBOOL ';'",
1489 "admin_entry : ADMIN '{' admin_items '}' ';'",
1490 "admin_items : admin_items admin_item",
1491 "admin_items : admin_item",
1492 "admin_item : admin_name",
1493 "admin_item : admin_description",
1494 "admin_item : admin_email",
1495 "admin_item : error ';'",
1496 "admin_name : NAME '=' QSTRING ';'",
1497 "admin_email : EMAIL '=' QSTRING ';'",
1498 "admin_description : DESCRIPTION '=' QSTRING ';'",
1499 "logging_entry : LOGGING '{' logging_items '}' ';'",
1500 "logging_items : logging_items logging_item",
1501 "logging_items : logging_item",
1502 "logging_item : logging_path",
1503 "logging_item : logging_oper_log",
1504 "logging_item : logging_log_level",
1505 "logging_item : logging_use_logging",
1506 "logging_item : logging_fuserlog",
1507 "logging_item : logging_foperlog",
1508 "logging_item : logging_fglinelog",
1509 "logging_item : logging_fklinelog",
1510 "logging_item : logging_killlog",
1511 "logging_item : logging_foperspylog",
1512 "logging_item : logging_ioerrlog",
1513 "logging_item : logging_ffailed_operlog",
1514 "logging_item : error ';'",
1515 "logging_path : T_LOGPATH '=' QSTRING ';'",
1516 "logging_oper_log : OPER_LOG '=' QSTRING ';'",
1517 "logging_fuserlog : FUSERLOG '=' QSTRING ';'",
1518 "logging_ffailed_operlog : FFAILED_OPERLOG '=' QSTRING ';'",
1519 "logging_foperlog : FOPERLOG '=' QSTRING ';'",
1520 "logging_foperspylog : FOPERSPYLOG '=' QSTRING ';'",
1521 "logging_fglinelog : FGLINELOG '=' QSTRING ';'",
1522 "logging_fklinelog : FKLINELOG '=' QSTRING ';'",
1523 "logging_ioerrlog : FIOERRLOG '=' QSTRING ';'",
1524 "logging_killlog : FKILLLOG '=' QSTRING ';'",
1525 "logging_log_level : LOG_LEVEL '=' T_L_CRIT ';'",
1526 "logging_log_level : LOG_LEVEL '=' T_L_ERROR ';'",
1527 "logging_log_level : LOG_LEVEL '=' T_L_WARN ';'",
1528 "logging_log_level : LOG_LEVEL '=' T_L_NOTICE ';'",
1529 "logging_log_level : LOG_LEVEL '=' T_L_TRACE ';'",
1530 "logging_log_level : LOG_LEVEL '=' T_L_INFO ';'",
1531 "logging_log_level : LOG_LEVEL '=' T_L_DEBUG ';'",
1532 "logging_use_logging : USE_LOGGING '=' TBOOL ';'",
1533 "$$1 :",
1534 "oper_entry : OPERATOR $$1 oper_name_b '{' oper_items '}' ';'",
1535 "oper_name_b :",
1536 "oper_name_b : oper_name_t",
1537 "oper_items : oper_items oper_item",
1538 "oper_items : oper_item",
1539 "oper_item : oper_name",
1540 "oper_item : oper_user",
1541 "oper_item : oper_password",
1542 "oper_item : oper_hidden_admin",
1543 "oper_item : oper_hidden_oper",
1544 "oper_item : oper_umodes",
1545 "oper_item : oper_class",
1546 "oper_item : oper_global_kill",
1547 "oper_item : oper_remote",
1548 "oper_item : oper_kline",
1549 "oper_item : oper_xline",
1550 "oper_item : oper_unkline",
1551 "oper_item : oper_gline",
1552 "oper_item : oper_nick_changes",
1553 "oper_item : oper_remoteban",
1554 "oper_item : oper_die",
1555 "oper_item : oper_rehash",
1556 "oper_item : oper_admin",
1557 "oper_item : oper_operwall",
1558 "oper_item : oper_encrypted",
1559 "oper_item : oper_rsa_public_key_file",
1560 "oper_item : oper_flags",
1561 "oper_item : error ';'",
1562 "oper_name : NAME '=' QSTRING ';'",
1563 "oper_name_t : QSTRING",
1564 "oper_user : USER '=' QSTRING ';'",
1565 "oper_password : PASSWORD '=' QSTRING ';'",
1566 "oper_encrypted : ENCRYPTED '=' TBOOL ';'",
1567 "oper_rsa_public_key_file : RSA_PUBLIC_KEY_FILE '=' QSTRING ';'",
1568 "oper_class : CLASS '=' QSTRING ';'",
1569 "$$2 :",
1570 "oper_umodes : T_UMODES $$2 '=' oper_umodes_items ';'",
1571 "oper_umodes_items : oper_umodes_items ',' oper_umodes_item",
1572 "oper_umodes_items : oper_umodes_item",
1573 "oper_umodes_item : T_BOTS",
1574 "oper_umodes_item : T_CCONN",
1575 "oper_umodes_item : T_CCONN_FULL",
1576 "oper_umodes_item : T_DEAF",
1577 "oper_umodes_item : T_DEBUG",
1578 "oper_umodes_item : T_FULL",
1579 "oper_umodes_item : T_SKILL",
1580 "oper_umodes_item : T_NCHANGE",
1581 "oper_umodes_item : T_REJ",
1582 "oper_umodes_item : T_UNAUTH",
1583 "oper_umodes_item : T_SPY",
1584 "oper_umodes_item : T_EXTERNAL",
1585 "oper_umodes_item : T_OPERWALL",
1586 "oper_umodes_item : T_SERVNOTICE",
1587 "oper_umodes_item : T_INVISIBLE",
1588 "oper_umodes_item : T_WALLOP",
1589 "oper_umodes_item : T_SOFTCALLERID",
1590 "oper_umodes_item : T_CALLERID",
1591 "oper_umodes_item : T_LOCOPS",
1592 "oper_global_kill : GLOBAL_KILL '=' TBOOL ';'",
1593 "oper_remote : REMOTE '=' TBOOL ';'",
1594 "oper_remoteban : REMOTEBAN '=' TBOOL ';'",
1595 "oper_kline : KLINE '=' TBOOL ';'",
1596 "oper_xline : XLINE '=' TBOOL ';'",
1597 "oper_unkline : UNKLINE '=' TBOOL ';'",
1598 "oper_gline : GLINE '=' TBOOL ';'",
1599 "oper_nick_changes : NICK_CHANGES '=' TBOOL ';'",
1600 "oper_die : DIE '=' TBOOL ';'",
1601 "oper_rehash : REHASH '=' TBOOL ';'",
1602 "oper_admin : ADMIN '=' TBOOL ';'",
1603 "oper_hidden_admin : HIDDEN_ADMIN '=' TBOOL ';'",
1604 "oper_hidden_oper : HIDDEN_OPER '=' TBOOL ';'",
1605 "oper_operwall : T_OPERWALL '=' TBOOL ';'",
1606 "$$3 :",
1607 "oper_flags : IRCD_FLAGS $$3 '=' oper_flags_items ';'",
1608 "oper_flags_items : oper_flags_items ',' oper_flags_item",
1609 "oper_flags_items : oper_flags_item",
1610 "$$4 :",
1611 "oper_flags_item : NOT $$4 oper_flags_item_atom",
1612 "$$5 :",
1613 "oper_flags_item : $$5 oper_flags_item_atom",
1614 "oper_flags_item_atom : GLOBAL_KILL",
1615 "oper_flags_item_atom : REMOTE",
1616 "oper_flags_item_atom : KLINE",
1617 "oper_flags_item_atom : UNKLINE",
1618 "oper_flags_item_atom : XLINE",
1619 "oper_flags_item_atom : GLINE",
1620 "oper_flags_item_atom : DIE",
1621 "oper_flags_item_atom : REHASH",
1622 "oper_flags_item_atom : ADMIN",
1623 "oper_flags_item_atom : HIDDEN_ADMIN",
1624 "oper_flags_item_atom : NICK_CHANGES",
1625 "oper_flags_item_atom : T_OPERWALL",
1626 "oper_flags_item_atom : OPER_SPY_T",
1627 "oper_flags_item_atom : HIDDEN_OPER",
1628 "oper_flags_item_atom : REMOTEBAN",
1629 "oper_flags_item_atom : ENCRYPTED",
1630 "$$6 :",
1631 "class_entry : CLASS $$6 class_name_b '{' class_items '}' ';'",
1632 "class_name_b :",
1633 "class_name_b : class_name_t",
1634 "class_items : class_items class_item",
1635 "class_items : class_item",
1636 "class_item : class_name",
1637 "class_item : class_cidr_bitlen_ipv4",
1638 "class_item : class_cidr_bitlen_ipv6",
1639 "class_item : class_ping_time",
1640 "class_item : class_ping_warning",
1641 "class_item : class_number_per_cidr",
1642 "class_item : class_number_per_ip",
1643 "class_item : class_connectfreq",
1644 "class_item : class_max_number",
1645 "class_item : class_max_global",
1646 "class_item : class_max_local",
1647 "class_item : class_max_ident",
1648 "class_item : class_sendq",
1649 "class_item : error ';'",
1650 "class_name : NAME '=' QSTRING ';'",
1651 "class_name_t : QSTRING",
1652 "class_ping_time : PING_TIME '=' timespec ';'",
1653 "class_ping_warning : PING_WARNING '=' timespec ';'",
1654 "class_number_per_ip : NUMBER_PER_IP '=' NUMBER ';'",
1655 "class_connectfreq : CONNECTFREQ '=' timespec ';'",
1656 "class_max_number : MAX_NUMBER '=' NUMBER ';'",
1657 "class_max_global : MAX_GLOBAL '=' NUMBER ';'",
1658 "class_max_local : MAX_LOCAL '=' NUMBER ';'",
1659 "class_max_ident : MAX_IDENT '=' NUMBER ';'",
1660 "class_sendq : SENDQ '=' sizespec ';'",
1661 "class_cidr_bitlen_ipv4 : CIDR_BITLEN_IPV4 '=' NUMBER ';'",
1662 "class_cidr_bitlen_ipv6 : CIDR_BITLEN_IPV6 '=' NUMBER ';'",
1663 "class_number_per_cidr : NUMBER_PER_CIDR '=' NUMBER ';'",
1664 "$$7 :",
1665 "listen_entry : LISTEN $$7 '{' listen_items '}' ';'",
1666 "$$8 :",
1667 "listen_flags : IRCD_FLAGS $$8 '=' listen_flags_items ';'",
1668 "listen_flags_items : listen_flags_items ',' listen_flags_item",
1669 "listen_flags_items : listen_flags_item",
1670 "listen_flags_item : T_SSL",
1671 "listen_flags_item : HIDDEN",
1672 "listen_items : listen_items listen_item",
1673 "listen_items : listen_item",
1674 "listen_item : listen_port",
1675 "listen_item : listen_flags",
1676 "listen_item : listen_address",
1677 "listen_item : listen_host",
1678 "listen_item : error ';'",
1679 "$$9 :",
1680 "listen_port : PORT '=' port_items $$9 ';'",
1681 "port_items : port_items ',' port_item",
1682 "port_items : port_item",
1683 "port_item : NUMBER",
1684 "port_item : NUMBER TWODOTS NUMBER",
1685 "listen_address : IP '=' QSTRING ';'",
1686 "listen_host : HOST '=' QSTRING ';'",
1687 "$$10 :",
1688 "auth_entry : IRCD_AUTH $$10 '{' auth_items '}' ';'",
1689 "auth_items : auth_items auth_item",
1690 "auth_items : auth_item",
1691 "auth_item : auth_user",
1692 "auth_item : auth_passwd",
1693 "auth_item : auth_class",
1694 "auth_item : auth_flags",
1695 "auth_item : auth_kline_exempt",
1696 "auth_item : auth_need_ident",
1697 "auth_item : auth_exceed_limit",
1698 "auth_item : auth_no_tilde",
1699 "auth_item : auth_gline_exempt",
1700 "auth_item : auth_spoof",
1701 "auth_item : auth_spoof_notice",
1702 "auth_item : auth_redir_serv",
1703 "auth_item : auth_redir_port",
1704 "auth_item : auth_can_flood",
1705 "auth_item : auth_need_password",
1706 "auth_item : auth_encrypted",
1707 "auth_item : error ';'",
1708 "auth_user : USER '=' QSTRING ';'",
1709 "auth_passwd : PASSWORD '=' QSTRING ';'",
1710 "auth_spoof_notice : SPOOF_NOTICE '=' TBOOL ';'",
1711 "auth_class : CLASS '=' QSTRING ';'",
1712 "auth_encrypted : ENCRYPTED '=' TBOOL ';'",
1713 "$$11 :",
1714 "auth_flags : IRCD_FLAGS $$11 '=' auth_flags_items ';'",
1715 "auth_flags_items : auth_flags_items ',' auth_flags_item",
1716 "auth_flags_items : auth_flags_item",
1717 "$$12 :",
1718 "auth_flags_item : NOT $$12 auth_flags_item_atom",
1719 "$$13 :",
1720 "auth_flags_item : $$13 auth_flags_item_atom",
1721 "auth_flags_item_atom : SPOOF_NOTICE",
1722 "auth_flags_item_atom : EXCEED_LIMIT",
1723 "auth_flags_item_atom : KLINE_EXEMPT",
1724 "auth_flags_item_atom : NEED_IDENT",
1725 "auth_flags_item_atom : CAN_FLOOD",
1726 "auth_flags_item_atom : CAN_IDLE",
1727 "auth_flags_item_atom : NO_TILDE",
1728 "auth_flags_item_atom : GLINE_EXEMPT",
1729 "auth_flags_item_atom : RESV_EXEMPT",
1730 "auth_flags_item_atom : NEED_PASSWORD",
1731 "auth_kline_exempt : KLINE_EXEMPT '=' TBOOL ';'",
1732 "auth_need_ident : NEED_IDENT '=' TBOOL ';'",
1733 "auth_exceed_limit : EXCEED_LIMIT '=' TBOOL ';'",
1734 "auth_can_flood : CAN_FLOOD '=' TBOOL ';'",
1735 "auth_no_tilde : NO_TILDE '=' TBOOL ';'",
1736 "auth_gline_exempt : GLINE_EXEMPT '=' TBOOL ';'",
1737 "auth_spoof : SPOOF '=' QSTRING ';'",
1738 "auth_redir_serv : REDIRSERV '=' QSTRING ';'",
1739 "auth_redir_port : REDIRPORT '=' NUMBER ';'",
1740 "auth_need_password : NEED_PASSWORD '=' TBOOL ';'",
1741 "$$14 :",
1742 "resv_entry : RESV $$14 '{' resv_items '}' ';'",
1743 "resv_items : resv_items resv_item",
1744 "resv_items : resv_item",
1745 "resv_item : resv_creason",
1746 "resv_item : resv_channel",
1747 "resv_item : resv_nick",
1748 "resv_item : error ';'",
1749 "resv_creason : REASON '=' QSTRING ';'",
1750 "resv_channel : CHANNEL '=' QSTRING ';'",
1751 "resv_nick : NICK '=' QSTRING ';'",
1752 "$$15 :",
1753 "shared_entry : T_SHARED $$15 '{' shared_items '}' ';'",
1754 "shared_items : shared_items shared_item",
1755 "shared_items : shared_item",
1756 "shared_item : shared_name",
1757 "shared_item : shared_user",
1758 "shared_item : shared_type",
1759 "shared_item : error ';'",
1760 "shared_name : NAME '=' QSTRING ';'",
1761 "shared_user : USER '=' QSTRING ';'",
1762 "$$16 :",
1763 "shared_type : TYPE $$16 '=' shared_types ';'",
1764 "shared_types : shared_types ',' shared_type_item",
1765 "shared_types : shared_type_item",
1766 "shared_type_item : KLINE",
1767 "shared_type_item : TKLINE",
1768 "shared_type_item : UNKLINE",
1769 "shared_type_item : XLINE",
1770 "shared_type_item : TXLINE",
1771 "shared_type_item : T_UNXLINE",
1772 "shared_type_item : RESV",
1773 "shared_type_item : TRESV",
1774 "shared_type_item : T_UNRESV",
1775 "shared_type_item : T_LOCOPS",
1776 "shared_type_item : T_ALL",
1777 "$$17 :",
1778 "cluster_entry : T_CLUSTER $$17 '{' cluster_items '}' ';'",
1779 "cluster_items : cluster_items cluster_item",
1780 "cluster_items : cluster_item",
1781 "cluster_item : cluster_name",
1782 "cluster_item : cluster_type",
1783 "cluster_item : error ';'",
1784 "cluster_name : NAME '=' QSTRING ';'",
1785 "$$18 :",
1786 "cluster_type : TYPE $$18 '=' cluster_types ';'",
1787 "cluster_types : cluster_types ',' cluster_type_item",
1788 "cluster_types : cluster_type_item",
1789 "cluster_type_item : KLINE",
1790 "cluster_type_item : TKLINE",
1791 "cluster_type_item : UNKLINE",
1792 "cluster_type_item : XLINE",
1793 "cluster_type_item : TXLINE",
1794 "cluster_type_item : T_UNXLINE",
1795 "cluster_type_item : RESV",
1796 "cluster_type_item : TRESV",
1797 "cluster_type_item : T_UNRESV",
1798 "cluster_type_item : T_LOCOPS",
1799 "cluster_type_item : T_ALL",
1800 "$$19 :",
1801 "connect_entry : CONNECT $$19 connect_name_b '{' connect_items '}' ';'",
1802 "connect_name_b :",
1803 "connect_name_b : connect_name_t",
1804 "connect_items : connect_items connect_item",
1805 "connect_items : connect_item",
1806 "connect_item : connect_name",
1807 "connect_item : connect_host",
1808 "connect_item : connect_vhost",
1809 "connect_item : connect_send_password",
1810 "connect_item : connect_accept_password",
1811 "connect_item : connect_aftype",
1812