/[svn]/ircd-hybrid-8/src/conf_parser.c
ViewVC logotype

Contents of /ircd-hybrid-8/src/conf_parser.c

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1377 - (show annotations)
Mon Apr 30 19:35:16 2012 UTC (8 years, 3 months ago) by michael
File MIME type: text/x-chdr
File size: 235541 byte(s)
- Remove all Class related #defines like MaxTotal, MaxSendq, etc.
  All they do is lead to confusion.

1 /* A Bison parser, made by GNU Bison 2.5. */
2
3 /* Bison implementation for Yacc-like parsers in C
4
5 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
6
7 This program is free software: you can redistribute it and/or modify
8 it under the terms of the GNU General Public License as published by
9 the Free Software Foundation, either version 3 of the License, or
10 (at your option) any later version.
11
12 This program is distributed in the hope that it will be useful,
13 but WITHOUT ANY WARRANTY; without even the implied warranty of
14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 GNU General Public License for more details.
16
17 You should have received a copy of the GNU General Public License
18 along with this program. If not, see <http://www.gnu.org/licenses/>. */
19
20 /* As a special exception, you may create a larger work that contains
21 part or all of the Bison parser skeleton and distribute that work
22 under terms of your choice, so long as that work isn't itself a
23 parser generator using the skeleton or a modified version thereof
24 as a parser skeleton. Alternatively, if you modify or redistribute
25 the parser skeleton itself, you may (at your option) remove this
26 special exception, which will cause the skeleton and the resulting
27 Bison output files to be licensed under the GNU General Public
28 License without this special exception.
29
30 This special exception was added by the Free Software Foundation in
31 version 2.2 of Bison. */
32
33 /* C LALR(1) parser skeleton written by Richard Stallman, by
34 simplifying the original so-called "semantic" parser. */
35
36 /* All symbols defined below should begin with yy or YY, to avoid
37 infringing on user name space. This should be done even for local
38 variables, as they might otherwise be expanded by user macros.
39 There are some unavoidable exceptions within include files to
40 define necessary library symbols; they are noted "INFRINGES ON
41 USER NAME SPACE" below. */
42
43 /* Identify Bison output. */
44 #define YYBISON 1
45
46 /* Bison version. */
47 #define YYBISON_VERSION "2.5"
48
49 /* Skeleton name. */
50 #define YYSKELETON_NAME "yacc.c"
51
52 /* Pure parsers. */
53 #define YYPURE 0
54
55 /* Push parsers. */
56 #define YYPUSH 0
57
58 /* Pull parsers. */
59 #define YYPULL 1
60
61 /* Using locations. */
62 #define YYLSP_NEEDED 0
63
64
65
66 /* Copy the first part of user declarations. */
67
68 /* Line 268 of yacc.c */
69 #line 25 "conf_parser.y"
70
71
72 #define YY_NO_UNPUT
73 #include <sys/types.h>
74 #include <string.h>
75
76 #include "config.h"
77 #include "stdinc.h"
78 #include "ircd.h"
79 #include "list.h"
80 #include "conf.h"
81 #include "event.h"
82 #include "log.h"
83 #include "client.h" /* for UMODE_ALL only */
84 #include "irc_string.h"
85 #include "sprintf_irc.h"
86 #include "memory.h"
87 #include "modules.h"
88 #include "s_serv.h"
89 #include "hostmask.h"
90 #include "send.h"
91 #include "listener.h"
92 #include "resv.h"
93 #include "numeric.h"
94 #include "s_user.h"
95
96 #ifdef HAVE_LIBCRYPTO
97 #include <openssl/rsa.h>
98 #include <openssl/bio.h>
99 #include <openssl/pem.h>
100 #include <openssl/dh.h>
101 #endif
102
103 int yylex(void);
104
105 static char *class_name = NULL;
106 static struct ConfItem *yy_conf = NULL;
107 static struct AccessItem *yy_aconf = NULL;
108 static struct MatchItem *yy_match_item = NULL;
109 static struct ClassItem *yy_class = NULL;
110 static char *yy_class_name = NULL;
111
112 static dlink_list col_conf_list = { NULL, NULL, 0 };
113 static dlink_list hub_conf_list = { NULL, NULL, 0 };
114 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
115 static unsigned int listener_flags = 0;
116 static unsigned int regex_ban = 0;
117 static char userbuf[IRCD_BUFSIZE];
118 static char hostbuf[IRCD_BUFSIZE];
119 static char reasonbuf[REASONLEN + 1];
120 static char gecos_name[REALLEN * 4];
121 static char lfile[IRCD_BUFSIZE];
122 static unsigned int ltype = 0;
123 static unsigned int lsize = 0;
124 static char *resv_reason = NULL;
125 static char *listener_address = NULL;
126
127 struct CollectItem
128 {
129 dlink_node node;
130 char *name;
131 char *user;
132 char *host;
133 char *passwd;
134 int port;
135 int flags;
136 #ifdef HAVE_LIBCRYPTO
137 char *rsa_public_key_file;
138 RSA *rsa_public_key;
139 #endif
140 };
141
142 static void
143 free_collect_item(struct CollectItem *item)
144 {
145 MyFree(item->name);
146 MyFree(item->user);
147 MyFree(item->host);
148 MyFree(item->passwd);
149 #ifdef HAVE_LIBCRYPTO
150 MyFree(item->rsa_public_key_file);
151 #endif
152 MyFree(item);
153 }
154
155 static void
156 unhook_hub_leaf_confs(void)
157 {
158 dlink_node *ptr;
159 dlink_node *next_ptr;
160 struct CollectItem *yy_hconf;
161 struct CollectItem *yy_lconf;
162
163 DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
164 {
165 yy_hconf = ptr->data;
166 dlinkDelete(&yy_hconf->node, &hub_conf_list);
167 free_collect_item(yy_hconf);
168 }
169
170 DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
171 {
172 yy_lconf = ptr->data;
173 dlinkDelete(&yy_lconf->node, &leaf_conf_list);
174 free_collect_item(yy_lconf);
175 }
176 }
177
178
179
180 /* Line 268 of yacc.c */
181 #line 182 "conf_parser.c"
182
183 /* Enabling traces. */
184 #ifndef YYDEBUG
185 # define YYDEBUG 0
186 #endif
187
188 /* Enabling verbose error messages. */
189 #ifdef YYERROR_VERBOSE
190 # undef YYERROR_VERBOSE
191 # define YYERROR_VERBOSE 1
192 #else
193 # define YYERROR_VERBOSE 0
194 #endif
195
196 /* Enabling the token table. */
197 #ifndef YYTOKEN_TABLE
198 # define YYTOKEN_TABLE 0
199 #endif
200
201
202 /* Tokens. */
203 #ifndef YYTOKENTYPE
204 # define YYTOKENTYPE
205 /* Put the tokens into the symbol table, so that GDB and other debuggers
206 know about them. */
207 enum yytokentype {
208 ACCEPT_PASSWORD = 258,
209 ACTION = 259,
210 ADMIN = 260,
211 AFTYPE = 261,
212 T_ALLOW = 262,
213 ANTI_NICK_FLOOD = 263,
214 ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
215 AUTOCONN = 265,
216 T_BLOCK = 266,
217 BURST_AWAY = 267,
218 BURST_TOPICWHO = 268,
219 BYTES = 269,
220 KBYTES = 270,
221 MBYTES = 271,
222 GBYTES = 272,
223 TBYTES = 273,
224 CALLER_ID_WAIT = 274,
225 CAN_FLOOD = 275,
226 CHANNEL = 276,
227 CIDR_BITLEN_IPV4 = 277,
228 CIDR_BITLEN_IPV6 = 278,
229 CLASS = 279,
230 CONNECT = 280,
231 CONNECTFREQ = 281,
232 DEFAULT_FLOODCOUNT = 282,
233 DEFAULT_SPLIT_SERVER_COUNT = 283,
234 DEFAULT_SPLIT_USER_COUNT = 284,
235 DENY = 285,
236 DESCRIPTION = 286,
237 DIE = 287,
238 DISABLE_AUTH = 288,
239 DISABLE_FAKE_CHANNELS = 289,
240 DISABLE_HIDDEN = 290,
241 DISABLE_LOCAL_CHANNELS = 291,
242 DISABLE_REMOTE_COMMANDS = 292,
243 DOTS_IN_IDENT = 293,
244 DURATION = 294,
245 EGDPOOL_PATH = 295,
246 EMAIL = 296,
247 ENABLE = 297,
248 ENCRYPTED = 298,
249 EXCEED_LIMIT = 299,
250 EXEMPT = 300,
251 FAILED_OPER_NOTICE = 301,
252 IRCD_FLAGS = 302,
253 FLATTEN_LINKS = 303,
254 GECOS = 304,
255 GENERAL = 305,
256 GLINE = 306,
257 GLINES = 307,
258 GLINE_EXEMPT = 308,
259 GLINE_TIME = 309,
260 GLINE_MIN_CIDR = 310,
261 GLINE_MIN_CIDR6 = 311,
262 GLOBAL_KILL = 312,
263 IRCD_AUTH = 313,
264 NEED_IDENT = 314,
265 HAVENT_READ_CONF = 315,
266 HIDDEN = 316,
267 HIDDEN_NAME = 317,
268 HIDE_SERVER_IPS = 318,
269 HIDE_SERVERS = 319,
270 HIDE_SPOOF_IPS = 320,
271 HOST = 321,
272 HUB = 322,
273 HUB_MASK = 323,
274 IGNORE_BOGUS_TS = 324,
275 INVISIBLE_ON_CONNECT = 325,
276 IP = 326,
277 KILL = 327,
278 KILL_CHASE_TIME_LIMIT = 328,
279 KLINE = 329,
280 KLINE_EXEMPT = 330,
281 KLINE_REASON = 331,
282 KLINE_WITH_REASON = 332,
283 KNOCK_DELAY = 333,
284 KNOCK_DELAY_CHANNEL = 334,
285 LEAF_MASK = 335,
286 LINKS_DELAY = 336,
287 LISTEN = 337,
288 T_LOG = 338,
289 MAX_ACCEPT = 339,
290 MAX_BANS = 340,
291 MAX_CHANS_PER_USER = 341,
292 MAX_GLOBAL = 342,
293 MAX_IDENT = 343,
294 MAX_LOCAL = 344,
295 MAX_NICK_CHANGES = 345,
296 MAX_NICK_TIME = 346,
297 MAX_NUMBER = 347,
298 MAX_TARGETS = 348,
299 MAX_WATCH = 349,
300 MESSAGE_LOCALE = 350,
301 MIN_NONWILDCARD = 351,
302 MIN_NONWILDCARD_SIMPLE = 352,
303 MODULE = 353,
304 MODULES = 354,
305 NAME = 355,
306 NEED_PASSWORD = 356,
307 NETWORK_DESC = 357,
308 NETWORK_NAME = 358,
309 NICK = 359,
310 NICK_CHANGES = 360,
311 NO_CREATE_ON_SPLIT = 361,
312 NO_JOIN_ON_SPLIT = 362,
313 NO_OPER_FLOOD = 363,
314 NO_TILDE = 364,
315 NUMBER = 365,
316 NUMBER_PER_IDENT = 366,
317 NUMBER_PER_CIDR = 367,
318 NUMBER_PER_IP = 368,
319 NUMBER_PER_IP_GLOBAL = 369,
320 OPERATOR = 370,
321 OPERS_BYPASS_CALLERID = 371,
322 OPER_ONLY_UMODES = 372,
323 OPER_PASS_RESV = 373,
324 OPER_SPY_T = 374,
325 OPER_UMODES = 375,
326 JOIN_FLOOD_COUNT = 376,
327 JOIN_FLOOD_TIME = 377,
328 PACE_WAIT = 378,
329 PACE_WAIT_SIMPLE = 379,
330 PASSWORD = 380,
331 PATH = 381,
332 PING_COOKIE = 382,
333 PING_TIME = 383,
334 PING_WARNING = 384,
335 PORT = 385,
336 QSTRING = 386,
337 QUIET_ON_BAN = 387,
338 REASON = 388,
339 REDIRPORT = 389,
340 REDIRSERV = 390,
341 REGEX_T = 391,
342 REHASH = 392,
343 TREJECT_HOLD_TIME = 393,
344 REMOTE = 394,
345 REMOTEBAN = 395,
346 RESTRICT_CHANNELS = 396,
347 RESTRICTED = 397,
348 RSA_PRIVATE_KEY_FILE = 398,
349 RSA_PUBLIC_KEY_FILE = 399,
350 SSL_CERTIFICATE_FILE = 400,
351 SSL_DH_PARAM_FILE = 401,
352 T_SSL_CLIENT_METHOD = 402,
353 T_SSL_SERVER_METHOD = 403,
354 T_SSLV3 = 404,
355 T_TLSV1 = 405,
356 RESV = 406,
357 RESV_EXEMPT = 407,
358 SECONDS = 408,
359 MINUTES = 409,
360 HOURS = 410,
361 DAYS = 411,
362 WEEKS = 412,
363 SENDQ = 413,
364 SEND_PASSWORD = 414,
365 SERVERHIDE = 415,
366 SERVERINFO = 416,
367 IRCD_SID = 417,
368 TKLINE_EXPIRE_NOTICES = 418,
369 T_SHARED = 419,
370 T_CLUSTER = 420,
371 TYPE = 421,
372 SHORT_MOTD = 422,
373 SILENT = 423,
374 SPOOF = 424,
375 SPOOF_NOTICE = 425,
376 STATS_E_DISABLED = 426,
377 STATS_I_OPER_ONLY = 427,
378 STATS_K_OPER_ONLY = 428,
379 STATS_O_OPER_ONLY = 429,
380 STATS_P_OPER_ONLY = 430,
381 TBOOL = 431,
382 TMASKED = 432,
383 T_REJECT = 433,
384 TS_MAX_DELTA = 434,
385 TS_WARN_DELTA = 435,
386 TWODOTS = 436,
387 T_ALL = 437,
388 T_BOTS = 438,
389 T_SOFTCALLERID = 439,
390 T_CALLERID = 440,
391 T_CCONN = 441,
392 T_CCONN_FULL = 442,
393 T_SSL_CIPHER_LIST = 443,
394 T_CLIENT_FLOOD = 444,
395 T_DEAF = 445,
396 T_DEBUG = 446,
397 T_DLINE = 447,
398 T_DRONE = 448,
399 T_EXTERNAL = 449,
400 T_FULL = 450,
401 T_INVISIBLE = 451,
402 T_IPV4 = 452,
403 T_IPV6 = 453,
404 T_LOCOPS = 454,
405 T_MAX_CLIENTS = 455,
406 T_NCHANGE = 456,
407 T_OPERWALL = 457,
408 T_REJ = 458,
409 T_SERVER = 459,
410 T_SERVNOTICE = 460,
411 T_SKILL = 461,
412 T_SPY = 462,
413 T_SSL = 463,
414 T_UMODES = 464,
415 T_UNAUTH = 465,
416 T_UNDLINE = 466,
417 T_UNLIMITED = 467,
418 T_UNRESV = 468,
419 T_UNXLINE = 469,
420 T_GLOBOPS = 470,
421 T_WALLOP = 471,
422 T_RESTART = 472,
423 T_SERVICE = 473,
424 T_SERVICES_NAME = 474,
425 THROTTLE_TIME = 475,
426 TOPICBURST = 476,
427 TRUE_NO_OPER_FLOOD = 477,
428 TKLINE = 478,
429 TXLINE = 479,
430 TRESV = 480,
431 UNKLINE = 481,
432 USER = 482,
433 USE_EGD = 483,
434 USE_EXCEPT = 484,
435 USE_INVEX = 485,
436 USE_KNOCK = 486,
437 USE_LOGGING = 487,
438 USE_WHOIS_ACTUALLY = 488,
439 VHOST = 489,
440 VHOST6 = 490,
441 XLINE = 491,
442 WARN = 492,
443 WARN_NO_NLINE = 493,
444 T_SIZE = 494,
445 T_FILE = 495
446 };
447 #endif
448 /* Tokens. */
449 #define ACCEPT_PASSWORD 258
450 #define ACTION 259
451 #define ADMIN 260
452 #define AFTYPE 261
453 #define T_ALLOW 262
454 #define ANTI_NICK_FLOOD 263
455 #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
456 #define AUTOCONN 265
457 #define T_BLOCK 266
458 #define BURST_AWAY 267
459 #define BURST_TOPICWHO 268
460 #define BYTES 269
461 #define KBYTES 270
462 #define MBYTES 271
463 #define GBYTES 272
464 #define TBYTES 273
465 #define CALLER_ID_WAIT 274
466 #define CAN_FLOOD 275
467 #define CHANNEL 276
468 #define CIDR_BITLEN_IPV4 277
469 #define CIDR_BITLEN_IPV6 278
470 #define CLASS 279
471 #define CONNECT 280
472 #define CONNECTFREQ 281
473 #define DEFAULT_FLOODCOUNT 282
474 #define DEFAULT_SPLIT_SERVER_COUNT 283
475 #define DEFAULT_SPLIT_USER_COUNT 284
476 #define DENY 285
477 #define DESCRIPTION 286
478 #define DIE 287
479 #define DISABLE_AUTH 288
480 #define DISABLE_FAKE_CHANNELS 289
481 #define DISABLE_HIDDEN 290
482 #define DISABLE_LOCAL_CHANNELS 291
483 #define DISABLE_REMOTE_COMMANDS 292
484 #define DOTS_IN_IDENT 293
485 #define DURATION 294
486 #define EGDPOOL_PATH 295
487 #define EMAIL 296
488 #define ENABLE 297
489 #define ENCRYPTED 298
490 #define EXCEED_LIMIT 299
491 #define EXEMPT 300
492 #define FAILED_OPER_NOTICE 301
493 #define IRCD_FLAGS 302
494 #define FLATTEN_LINKS 303
495 #define GECOS 304
496 #define GENERAL 305
497 #define GLINE 306
498 #define GLINES 307
499 #define GLINE_EXEMPT 308
500 #define GLINE_TIME 309
501 #define GLINE_MIN_CIDR 310
502 #define GLINE_MIN_CIDR6 311
503 #define GLOBAL_KILL 312
504 #define IRCD_AUTH 313
505 #define NEED_IDENT 314
506 #define HAVENT_READ_CONF 315
507 #define HIDDEN 316
508 #define HIDDEN_NAME 317
509 #define HIDE_SERVER_IPS 318
510 #define HIDE_SERVERS 319
511 #define HIDE_SPOOF_IPS 320
512 #define HOST 321
513 #define HUB 322
514 #define HUB_MASK 323
515 #define IGNORE_BOGUS_TS 324
516 #define INVISIBLE_ON_CONNECT 325
517 #define IP 326
518 #define KILL 327
519 #define KILL_CHASE_TIME_LIMIT 328
520 #define KLINE 329
521 #define KLINE_EXEMPT 330
522 #define KLINE_REASON 331
523 #define KLINE_WITH_REASON 332
524 #define KNOCK_DELAY 333
525 #define KNOCK_DELAY_CHANNEL 334
526 #define LEAF_MASK 335
527 #define LINKS_DELAY 336
528 #define LISTEN 337
529 #define T_LOG 338
530 #define MAX_ACCEPT 339
531 #define MAX_BANS 340
532 #define MAX_CHANS_PER_USER 341
533 #define MAX_GLOBAL 342
534 #define MAX_IDENT 343
535 #define MAX_LOCAL 344
536 #define MAX_NICK_CHANGES 345
537 #define MAX_NICK_TIME 346
538 #define MAX_NUMBER 347
539 #define MAX_TARGETS 348
540 #define MAX_WATCH 349
541 #define MESSAGE_LOCALE 350
542 #define MIN_NONWILDCARD 351
543 #define MIN_NONWILDCARD_SIMPLE 352
544 #define MODULE 353
545 #define MODULES 354
546 #define NAME 355
547 #define NEED_PASSWORD 356
548 #define NETWORK_DESC 357
549 #define NETWORK_NAME 358
550 #define NICK 359
551 #define NICK_CHANGES 360
552 #define NO_CREATE_ON_SPLIT 361
553 #define NO_JOIN_ON_SPLIT 362
554 #define NO_OPER_FLOOD 363
555 #define NO_TILDE 364
556 #define NUMBER 365
557 #define NUMBER_PER_IDENT 366
558 #define NUMBER_PER_CIDR 367
559 #define NUMBER_PER_IP 368
560 #define NUMBER_PER_IP_GLOBAL 369
561 #define OPERATOR 370
562 #define OPERS_BYPASS_CALLERID 371
563 #define OPER_ONLY_UMODES 372
564 #define OPER_PASS_RESV 373
565 #define OPER_SPY_T 374
566 #define OPER_UMODES 375
567 #define JOIN_FLOOD_COUNT 376
568 #define JOIN_FLOOD_TIME 377
569 #define PACE_WAIT 378
570 #define PACE_WAIT_SIMPLE 379
571 #define PASSWORD 380
572 #define PATH 381
573 #define PING_COOKIE 382
574 #define PING_TIME 383
575 #define PING_WARNING 384
576 #define PORT 385
577 #define QSTRING 386
578 #define QUIET_ON_BAN 387
579 #define REASON 388
580 #define REDIRPORT 389
581 #define REDIRSERV 390
582 #define REGEX_T 391
583 #define REHASH 392
584 #define TREJECT_HOLD_TIME 393
585 #define REMOTE 394
586 #define REMOTEBAN 395
587 #define RESTRICT_CHANNELS 396
588 #define RESTRICTED 397
589 #define RSA_PRIVATE_KEY_FILE 398
590 #define RSA_PUBLIC_KEY_FILE 399
591 #define SSL_CERTIFICATE_FILE 400
592 #define SSL_DH_PARAM_FILE 401
593 #define T_SSL_CLIENT_METHOD 402
594 #define T_SSL_SERVER_METHOD 403
595 #define T_SSLV3 404
596 #define T_TLSV1 405
597 #define RESV 406
598 #define RESV_EXEMPT 407
599 #define SECONDS 408
600 #define MINUTES 409
601 #define HOURS 410
602 #define DAYS 411
603 #define WEEKS 412
604 #define SENDQ 413
605 #define SEND_PASSWORD 414
606 #define SERVERHIDE 415
607 #define SERVERINFO 416
608 #define IRCD_SID 417
609 #define TKLINE_EXPIRE_NOTICES 418
610 #define T_SHARED 419
611 #define T_CLUSTER 420
612 #define TYPE 421
613 #define SHORT_MOTD 422
614 #define SILENT 423
615 #define SPOOF 424
616 #define SPOOF_NOTICE 425
617 #define STATS_E_DISABLED 426
618 #define STATS_I_OPER_ONLY 427
619 #define STATS_K_OPER_ONLY 428
620 #define STATS_O_OPER_ONLY 429
621 #define STATS_P_OPER_ONLY 430
622 #define TBOOL 431
623 #define TMASKED 432
624 #define T_REJECT 433
625 #define TS_MAX_DELTA 434
626 #define TS_WARN_DELTA 435
627 #define TWODOTS 436
628 #define T_ALL 437
629 #define T_BOTS 438
630 #define T_SOFTCALLERID 439
631 #define T_CALLERID 440
632 #define T_CCONN 441
633 #define T_CCONN_FULL 442
634 #define T_SSL_CIPHER_LIST 443
635 #define T_CLIENT_FLOOD 444
636 #define T_DEAF 445
637 #define T_DEBUG 446
638 #define T_DLINE 447
639 #define T_DRONE 448
640 #define T_EXTERNAL 449
641 #define T_FULL 450
642 #define T_INVISIBLE 451
643 #define T_IPV4 452
644 #define T_IPV6 453
645 #define T_LOCOPS 454
646 #define T_MAX_CLIENTS 455
647 #define T_NCHANGE 456
648 #define T_OPERWALL 457
649 #define T_REJ 458
650 #define T_SERVER 459
651 #define T_SERVNOTICE 460
652 #define T_SKILL 461
653 #define T_SPY 462
654 #define T_SSL 463
655 #define T_UMODES 464
656 #define T_UNAUTH 465
657 #define T_UNDLINE 466
658 #define T_UNLIMITED 467
659 #define T_UNRESV 468
660 #define T_UNXLINE 469
661 #define T_GLOBOPS 470
662 #define T_WALLOP 471
663 #define T_RESTART 472
664 #define T_SERVICE 473
665 #define T_SERVICES_NAME 474
666 #define THROTTLE_TIME 475
667 #define TOPICBURST 476
668 #define TRUE_NO_OPER_FLOOD 477
669 #define TKLINE 478
670 #define TXLINE 479
671 #define TRESV 480
672 #define UNKLINE 481
673 #define USER 482
674 #define USE_EGD 483
675 #define USE_EXCEPT 484
676 #define USE_INVEX 485
677 #define USE_KNOCK 486
678 #define USE_LOGGING 487
679 #define USE_WHOIS_ACTUALLY 488
680 #define VHOST 489
681 #define VHOST6 490
682 #define XLINE 491
683 #define WARN 492
684 #define WARN_NO_NLINE 493
685 #define T_SIZE 494
686 #define T_FILE 495
687
688
689
690
691 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
692 typedef union YYSTYPE
693 {
694
695 /* Line 293 of yacc.c */
696 #line 135 "conf_parser.y"
697
698 int number;
699 char *string;
700
701
702
703 /* Line 293 of yacc.c */
704 #line 705 "conf_parser.c"
705 } YYSTYPE;
706 # define YYSTYPE_IS_TRIVIAL 1
707 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
708 # define YYSTYPE_IS_DECLARED 1
709 #endif
710
711
712 /* Copy the second part of user declarations. */
713
714
715 /* Line 343 of yacc.c */
716 #line 717 "conf_parser.c"
717
718 #ifdef short
719 # undef short
720 #endif
721
722 #ifdef YYTYPE_UINT8
723 typedef YYTYPE_UINT8 yytype_uint8;
724 #else
725 typedef unsigned char yytype_uint8;
726 #endif
727
728 #ifdef YYTYPE_INT8
729 typedef YYTYPE_INT8 yytype_int8;
730 #elif (defined __STDC__ || defined __C99__FUNC__ \
731 || defined __cplusplus || defined _MSC_VER)
732 typedef signed char yytype_int8;
733 #else
734 typedef short int yytype_int8;
735 #endif
736
737 #ifdef YYTYPE_UINT16
738 typedef YYTYPE_UINT16 yytype_uint16;
739 #else
740 typedef unsigned short int yytype_uint16;
741 #endif
742
743 #ifdef YYTYPE_INT16
744 typedef YYTYPE_INT16 yytype_int16;
745 #else
746 typedef short int yytype_int16;
747 #endif
748
749 #ifndef YYSIZE_T
750 # ifdef __SIZE_TYPE__
751 # define YYSIZE_T __SIZE_TYPE__
752 # elif defined size_t
753 # define YYSIZE_T size_t
754 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
755 || defined __cplusplus || defined _MSC_VER)
756 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
757 # define YYSIZE_T size_t
758 # else
759 # define YYSIZE_T unsigned int
760 # endif
761 #endif
762
763 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
764
765 #ifndef YY_
766 # if defined YYENABLE_NLS && YYENABLE_NLS
767 # if ENABLE_NLS
768 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
769 # define YY_(msgid) dgettext ("bison-runtime", msgid)
770 # endif
771 # endif
772 # ifndef YY_
773 # define YY_(msgid) msgid
774 # endif
775 #endif
776
777 /* Suppress unused-variable warnings by "using" E. */
778 #if ! defined lint || defined __GNUC__
779 # define YYUSE(e) ((void) (e))
780 #else
781 # define YYUSE(e) /* empty */
782 #endif
783
784 /* Identity function, used to suppress warnings about constant conditions. */
785 #ifndef lint
786 # define YYID(n) (n)
787 #else
788 #if (defined __STDC__ || defined __C99__FUNC__ \
789 || defined __cplusplus || defined _MSC_VER)
790 static int
791 YYID (int yyi)
792 #else
793 static int
794 YYID (yyi)
795 int yyi;
796 #endif
797 {
798 return yyi;
799 }
800 #endif
801
802 #if ! defined yyoverflow || YYERROR_VERBOSE
803
804 /* The parser invokes alloca or malloc; define the necessary symbols. */
805
806 # ifdef YYSTACK_USE_ALLOCA
807 # if YYSTACK_USE_ALLOCA
808 # ifdef __GNUC__
809 # define YYSTACK_ALLOC __builtin_alloca
810 # elif defined __BUILTIN_VA_ARG_INCR
811 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
812 # elif defined _AIX
813 # define YYSTACK_ALLOC __alloca
814 # elif defined _MSC_VER
815 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
816 # define alloca _alloca
817 # else
818 # define YYSTACK_ALLOC alloca
819 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
820 || defined __cplusplus || defined _MSC_VER)
821 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
822 # ifndef EXIT_SUCCESS
823 # define EXIT_SUCCESS 0
824 # endif
825 # endif
826 # endif
827 # endif
828 # endif
829
830 # ifdef YYSTACK_ALLOC
831 /* Pacify GCC's `empty if-body' warning. */
832 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
833 # ifndef YYSTACK_ALLOC_MAXIMUM
834 /* The OS might guarantee only one guard page at the bottom of the stack,
835 and a page size can be as small as 4096 bytes. So we cannot safely
836 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
837 to allow for a few compiler-allocated temporary stack slots. */
838 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
839 # endif
840 # else
841 # define YYSTACK_ALLOC YYMALLOC
842 # define YYSTACK_FREE YYFREE
843 # ifndef YYSTACK_ALLOC_MAXIMUM
844 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
845 # endif
846 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
847 && ! ((defined YYMALLOC || defined malloc) \
848 && (defined YYFREE || defined free)))
849 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
850 # ifndef EXIT_SUCCESS
851 # define EXIT_SUCCESS 0
852 # endif
853 # endif
854 # ifndef YYMALLOC
855 # define YYMALLOC malloc
856 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
857 || defined __cplusplus || defined _MSC_VER)
858 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
859 # endif
860 # endif
861 # ifndef YYFREE
862 # define YYFREE free
863 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
864 || defined __cplusplus || defined _MSC_VER)
865 void free (void *); /* INFRINGES ON USER NAME SPACE */
866 # endif
867 # endif
868 # endif
869 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
870
871
872 #if (! defined yyoverflow \
873 && (! defined __cplusplus \
874 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
875
876 /* A type that is properly aligned for any stack member. */
877 union yyalloc
878 {
879 yytype_int16 yyss_alloc;
880 YYSTYPE yyvs_alloc;
881 };
882
883 /* The size of the maximum gap between one aligned stack and the next. */
884 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
885
886 /* The size of an array large to enough to hold all stacks, each with
887 N elements. */
888 # define YYSTACK_BYTES(N) \
889 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
890 + YYSTACK_GAP_MAXIMUM)
891
892 # define YYCOPY_NEEDED 1
893
894 /* Relocate STACK from its old location to the new one. The
895 local variables YYSIZE and YYSTACKSIZE give the old and new number of
896 elements in the stack, and YYPTR gives the new location of the
897 stack. Advance YYPTR to a properly aligned location for the next
898 stack. */
899 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
900 do \
901 { \
902 YYSIZE_T yynewbytes; \
903 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
904 Stack = &yyptr->Stack_alloc; \
905 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
906 yyptr += yynewbytes / sizeof (*yyptr); \
907 } \
908 while (YYID (0))
909
910 #endif
911
912 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
913 /* Copy COUNT objects from FROM to TO. The source and destination do
914 not overlap. */
915 # ifndef YYCOPY
916 # if defined __GNUC__ && 1 < __GNUC__
917 # define YYCOPY(To, From, Count) \
918 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
919 # else
920 # define YYCOPY(To, From, Count) \
921 do \
922 { \
923 YYSIZE_T yyi; \
924 for (yyi = 0; yyi < (Count); yyi++) \
925 (To)[yyi] = (From)[yyi]; \
926 } \
927 while (YYID (0))
928 # endif
929 # endif
930 #endif /* !YYCOPY_NEEDED */
931
932 /* YYFINAL -- State number of the termination state. */
933 #define YYFINAL 2
934 /* YYLAST -- Last index in YYTABLE. */
935 #define YYLAST 1267
936
937 /* YYNTOKENS -- Number of terminals. */
938 #define YYNTOKENS 246
939 /* YYNNTS -- Number of nonterminals. */
940 #define YYNNTS 305
941 /* YYNRULES -- Number of rules. */
942 #define YYNRULES 668
943 /* YYNRULES -- Number of states. */
944 #define YYNSTATES 1311
945
946 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
947 #define YYUNDEFTOK 2
948 #define YYMAXUTOK 495
949
950 #define YYTRANSLATE(YYX) \
951 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
952
953 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
954 static const yytype_uint8 yytranslate[] =
955 {
956 0, 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, 245, 2, 2, 2, 2, 2,
961 2, 2, 2, 2, 2, 2, 2, 2, 2, 241,
962 2, 244, 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, 243, 2, 242, 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, 1, 2, 3, 4,
982 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
983 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
984 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
985 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
986 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
987 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
988 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
989 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
990 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
991 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
992 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
993 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
994 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
995 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
996 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
997 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
998 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
999 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1000 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1001 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1002 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1003 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1004 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1005 235, 236, 237, 238, 239, 240
1006 };
1007
1008 #if YYDEBUG
1009 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1010 YYRHS. */
1011 static const yytype_uint16 yyprhs[] =
1012 {
1013 0, 0, 3, 4, 7, 9, 11, 13, 15, 17,
1014 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
1015 39, 41, 43, 45, 47, 49, 52, 55, 56, 58,
1016 61, 65, 69, 73, 77, 81, 82, 84, 87, 91,
1017 95, 99, 105, 108, 110, 112, 114, 117, 122, 127,
1018 133, 136, 138, 140, 142, 144, 146, 148, 150, 152,
1019 154, 156, 158, 160, 162, 164, 166, 168, 171, 176,
1020 181, 185, 187, 189, 191, 195, 197, 199, 201, 206,
1021 211, 216, 221, 226, 231, 236, 241, 246, 251, 256,
1022 261, 266, 272, 275, 277, 279, 281, 283, 286, 291,
1023 296, 301, 307, 310, 312, 314, 316, 319, 324, 325,
1024 332, 335, 337, 339, 341, 343, 346, 351, 356, 361,
1025 362, 368, 372, 374, 376, 378, 380, 382, 384, 386,
1026 388, 389, 396, 399, 401, 403, 405, 407, 409, 411,
1027 413, 415, 417, 420, 425, 430, 435, 440, 445, 450,
1028 451, 457, 461, 463, 465, 467, 469, 471, 473, 475,
1029 477, 479, 481, 483, 485, 487, 489, 491, 493, 495,
1030 497, 499, 501, 503, 504, 510, 514, 516, 518, 520,
1031 522, 524, 526, 528, 530, 532, 534, 536, 538, 540,
1032 542, 544, 546, 548, 550, 552, 553, 560, 563, 565,
1033 567, 569, 571, 573, 575, 577, 579, 581, 583, 585,
1034 587, 589, 591, 594, 599, 604, 609, 614, 619, 624,
1035 629, 634, 639, 644, 649, 654, 659, 660, 667, 668,
1036 674, 678, 680, 682, 684, 686, 689, 691, 693, 695,
1037 697, 699, 702, 703, 709, 713, 715, 717, 721, 726,
1038 731, 732, 739, 742, 744, 746, 748, 750, 752, 754,
1039 756, 758, 760, 763, 768, 773, 778, 783, 784, 790,
1040 794, 796, 798, 800, 802, 804, 806, 808, 810, 812,
1041 814, 819, 824, 829, 830, 837, 840, 842, 844, 846,
1042 848, 851, 856, 861, 866, 872, 875, 877, 879, 881,
1043 886, 887, 894, 897, 899, 901, 903, 905, 908, 913,
1044 918, 919, 925, 929, 931, 933, 935, 937, 939, 941,
1045 943, 945, 947, 949, 951, 952, 959, 962, 964, 966,
1046 968, 971, 976, 977, 983, 987, 989, 991, 993, 995,
1047 997, 999, 1001, 1003, 1005, 1007, 1009, 1010, 1017, 1020,
1048 1022, 1024, 1026, 1028, 1030, 1032, 1034, 1036, 1038, 1040,
1049 1042, 1044, 1046, 1048, 1051, 1056, 1061, 1066, 1071, 1076,
1050 1081, 1086, 1091, 1092, 1098, 1102, 1104, 1106, 1108, 1110,
1051 1112, 1117, 1122, 1127, 1132, 1137, 1138, 1145, 1146, 1152,
1052 1156, 1158, 1160, 1163, 1165, 1167, 1169, 1171, 1173, 1178,
1053 1183, 1184, 1191, 1194, 1196, 1198, 1200, 1202, 1207, 1212,
1054 1218, 1221, 1223, 1225, 1227, 1232, 1233, 1240, 1241, 1247,
1055 1251, 1253, 1255, 1258, 1260, 1262, 1264, 1266, 1268, 1273,
1056 1278, 1284, 1287, 1289, 1291, 1293, 1295, 1297, 1299, 1301,
1057 1303, 1305, 1307, 1309, 1311, 1313, 1315, 1317, 1319, 1321,
1058 1323, 1325, 1327, 1329, 1331, 1333, 1335, 1337, 1339, 1341,
1059 1343, 1345, 1347, 1349, 1351, 1353, 1355, 1357, 1359, 1361,
1060 1363, 1365, 1367, 1369, 1371, 1373, 1375, 1377, 1379, 1381,
1061 1383, 1385, 1387, 1389, 1391, 1393, 1398, 1403, 1408, 1413,
1062 1418, 1423, 1428, 1433, 1438, 1443, 1448, 1453, 1458, 1463,
1063 1468, 1473, 1478, 1483, 1488, 1493, 1498, 1503, 1508, 1513,
1064 1518, 1523, 1528, 1533, 1538, 1543, 1548, 1553, 1558, 1563,
1065 1568, 1573, 1578, 1583, 1588, 1593, 1598, 1603, 1608, 1613,
1066 1618, 1623, 1628, 1629, 1635, 1639, 1641, 1643, 1645, 1647,
1067 1649, 1651, 1653, 1655, 1657, 1659, 1661, 1663, 1665, 1667,
1068 1669, 1671, 1673, 1675, 1677, 1679, 1681, 1682, 1688, 1692,
1069 1694, 1696, 1698, 1700, 1702, 1704, 1706, 1708, 1710, 1712,
1070 1714, 1716, 1718, 1720, 1722, 1724, 1726, 1728, 1730, 1732,
1071 1734, 1739, 1744, 1749, 1754, 1755, 1762, 1765, 1767, 1769,
1072 1771, 1773, 1775, 1777, 1779, 1781, 1786, 1791, 1792, 1798,
1073 1802, 1804, 1806, 1808, 1813, 1818, 1819, 1825, 1829, 1831,
1074 1833, 1835, 1841, 1844, 1846, 1848, 1850, 1852, 1854, 1856,
1075 1858, 1860, 1862, 1864, 1866, 1868, 1870, 1872, 1874, 1876,
1076 1878, 1880, 1882, 1884, 1889, 1894, 1899, 1904, 1909, 1914,
1077 1919, 1924, 1929, 1934, 1939, 1944, 1949, 1954, 1959, 1964,
1078 1969, 1974, 1980, 1983, 1985, 1987, 1989, 1991, 1993, 1995,
1079 1997, 1999, 2001, 2006, 2011, 2016, 2021, 2026, 2031
1080 };
1081
1082 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1083 static const yytype_int16 yyrhs[] =
1084 {
1085 247, 0, -1, -1, 247, 248, -1, 280, -1, 286,
1086 -1, 300, -1, 520, -1, 318, -1, 335, -1, 349,
1087 -1, 258, -1, 541, -1, 364, -1, 371, -1, 375,
1088 -1, 385, -1, 394, -1, 414, -1, 424, -1, 430,
1089 -1, 444, -1, 504, -1, 434, -1, 253, -1, 1,
1090 241, -1, 1, 242, -1, -1, 250, -1, 110, 249,
1091 -1, 110, 153, 249, -1, 110, 154, 249, -1, 110,
1092 155, 249, -1, 110, 156, 249, -1, 110, 157, 249,
1093 -1, -1, 252, -1, 110, 251, -1, 110, 14, 251,
1094 -1, 110, 15, 251, -1, 110, 16, 251, -1, 99,
1095 243, 254, 242, 241, -1, 254, 255, -1, 255, -1,
1096 256, -1, 257, -1, 1, 241, -1, 98, 244, 131,
1097 241, -1, 126, 244, 131, 241, -1, 161, 243, 259,
1098 242, 241, -1, 259, 260, -1, 260, -1, 271, -1,
1099 276, -1, 279, -1, 273, -1, 274, -1, 275, -1,
1100 278, -1, 269, -1, 268, -1, 277, -1, 272, -1,
1101 267, -1, 261, -1, 262, -1, 270, -1, 1, 241,
1102 -1, 147, 244, 263, 241, -1, 148, 244, 265, 241,
1103 -1, 263, 245, 264, -1, 264, -1, 149, -1, 150,
1104 -1, 265, 245, 266, -1, 266, -1, 149, -1, 150,
1105 -1, 145, 244, 131, 241, -1, 143, 244, 131, 241,
1106 -1, 146, 244, 131, 241, -1, 188, 244, 131, 241,
1107 -1, 100, 244, 131, 241, -1, 162, 244, 131, 241,
1108 -1, 31, 244, 131, 241, -1, 103, 244, 131, 241,
1109 -1, 102, 244, 131, 241, -1, 234, 244, 131, 241,
1110 -1, 235, 244, 131, 241, -1, 200, 244, 110, 241,
1111 -1, 67, 244, 176, 241, -1, 5, 243, 281, 242,
1112 241, -1, 281, 282, -1, 282, -1, 283, -1, 285,
1113 -1, 284, -1, 1, 241, -1, 100, 244, 131, 241,
1114 -1, 41, 244, 131, 241, -1, 31, 244, 131, 241,
1115 -1, 83, 243, 287, 242, 241, -1, 287, 288, -1,
1116 288, -1, 289, -1, 290, -1, 1, 241, -1, 232,
1117 244, 176, 241, -1, -1, 291, 240, 243, 292, 242,
1118 241, -1, 292, 293, -1, 293, -1, 294, -1, 296,
1119 -1, 295, -1, 1, 241, -1, 100, 244, 131, 241,
1120 -1, 239, 244, 252, 241, -1, 239, 244, 212, 241,
1121 -1, -1, 166, 297, 244, 298, 241, -1, 298, 245,
1122 299, -1, 299, -1, 227, -1, 115, -1, 51, -1,
1123 192, -1, 74, -1, 72, -1, 191, -1, -1, 115,
1124 301, 243, 302, 242, 241, -1, 302, 303, -1, 303,
1125 -1, 304, -1, 305, -1, 306, -1, 310, -1, 309,
1126 -1, 307, -1, 308, -1, 314, -1, 1, 241, -1,
1127 100, 244, 131, 241, -1, 227, 244, 131, 241, -1,
1128 125, 244, 131, 241, -1, 43, 244, 176, 241, -1,
1129 144, 244, 131, 241, -1, 24, 244, 131, 241, -1,
1130 -1, 209, 311, 244, 312, 241, -1, 312, 245, 313,
1131 -1, 313, -1, 183, -1, 186, -1, 187, -1, 190,
1132 -1, 191, -1, 195, -1, 61, -1, 206, -1, 201,
1133 -1, 203, -1, 210, -1, 207, -1, 194, -1, 202,
1134 -1, 205, -1, 196, -1, 216, -1, 184, -1, 185,
1135 -1, 199, -1, -1, 47, 315, 244, 316, 241, -1,
1136 316, 245, 317, -1, 317, -1, 57, -1, 139, -1,
1137 74, -1, 226, -1, 192, -1, 211, -1, 236, -1,
1138 51, -1, 32, -1, 217, -1, 137, -1, 5, -1,
1139 105, -1, 202, -1, 215, -1, 119, -1, 140, -1,
1140 98, -1, -1, 24, 319, 243, 320, 242, 241, -1,
1141 320, 321, -1, 321, -1, 322, -1, 332, -1, 333,
1142 -1, 323, -1, 324, -1, 334, -1, 325, -1, 326,
1143 -1, 327, -1, 328, -1, 329, -1, 330, -1, 331,
1144 -1, 1, 241, -1, 100, 244, 131, 241, -1, 128,
1145 244, 250, 241, -1, 129, 244, 250, 241, -1, 113,
1146 244, 110, 241, -1, 26, 244, 250, 241, -1, 92,
1147 244, 110, 241, -1, 87, 244, 110, 241, -1, 89,
1148 244, 110, 241, -1, 88, 244, 110, 241, -1, 158,
1149 244, 252, 241, -1, 22, 244, 110, 241, -1, 23,
1150 244, 110, 241, -1, 112, 244, 110, 241, -1, -1,
1151 82, 336, 243, 341, 242, 241, -1, -1, 47, 338,
1152 244, 339, 241, -1, 339, 245, 340, -1, 340, -1,
1153 208, -1, 61, -1, 204, -1, 341, 342, -1, 342,
1154 -1, 343, -1, 337, -1, 347, -1, 348, -1, 1,
1155 241, -1, -1, 130, 244, 345, 344, 241, -1, 345,
1156 245, 346, -1, 346, -1, 110, -1, 110, 181, 110,
1157 -1, 71, 244, 131, 241, -1, 66, 244, 131, 241,
1158 -1, -1, 58, 350, 243, 351, 242, 241, -1, 351,
1159 352, -1, 352, -1, 353, -1, 354, -1, 355, -1,
1160 357, -1, 361, -1, 362, -1, 363, -1, 356, -1,
1161 1, 241, -1, 227, 244, 131, 241, -1, 125, 244,
1162 131, 241, -1, 24, 244, 131, 241, -1, 43, 244,
1163 176, 241, -1, -1, 47, 358, 244, 359, 241, -1,
1164 359, 245, 360, -1, 360, -1, 170, -1, 44, -1,
1165 75, -1, 59, -1, 20, -1, 109, -1, 53, -1,
1166 152, -1, 101, -1, 169, 244, 131, 241, -1, 135,
1167 244, 131, 241, -1, 134, 244, 110, 241, -1, -1,
1168 151, 365, 243, 366, 242, 241, -1, 366, 367, -1,
1169 367, -1, 368, -1, 369, -1, 370, -1, 1, 241,
1170 -1, 133, 244, 131, 241, -1, 21, 244, 131, 241,
1171 -1, 104, 244, 131, 241, -1, 218, 243, 372, 242,
1172 241, -1, 372, 373, -1, 373, -1, 374, -1, 1,
1173 -1, 100, 244, 131, 241, -1, -1, 164, 376, 243,
1174 377, 242, 241, -1, 377, 378, -1, 378, -1, 379,
1175 -1, 380, -1, 381, -1, 1, 241, -1, 100, 244,
1176 131, 241, -1, 227, 244, 131, 241, -1, -1, 166,
1177 382, 244, 383, 241, -1, 383, 245, 384, -1, 384,
1178 -1, 74, -1, 226, -1, 192, -1, 211, -1, 236,
1179 -1, 214, -1, 151, -1, 213, -1, 199, -1, 182,
1180 -1, -1, 165, 386, 243, 387, 242, 241, -1, 387,
1181 388, -1, 388, -1, 389, -1, 390, -1, 1, 241,
1182 -1, 100, 244, 131, 241, -1, -1, 166, 391, 244,
1183 392, 241, -1, 392, 245, 393, -1, 393, -1, 74,
1184 -1, 226, -1, 192, -1, 211, -1, 236, -1, 214,
1185 -1, 151, -1, 213, -1, 199, -1, 182, -1, -1,
1186 25, 395, 243, 396, 242, 241, -1, 396, 397, -1,
1187 397, -1, 398, -1, 399, -1, 400, -1, 401, -1,
1188 402, -1, 404, -1, 403, -1, 413, -1, 405, -1,
1189 410, -1, 411, -1, 412, -1, 409, -1, 1, 241,
1190 -1, 100, 244, 131, 241, -1, 66, 244, 131, 241,
1191 -1, 234, 244, 131, 241, -1, 159, 244, 131, 241,
1192 -1, 3, 244, 131, 241, -1, 130, 244, 110, 241,
1193 -1, 6, 244, 197, 241, -1, 6, 244, 198, 241,
1194 -1, -1, 47, 406, 244, 407, 241, -1, 407, 245,
1195 408, -1, 408, -1, 10, -1, 12, -1, 221, -1,
1196 208, -1, 43, 244, 176, 241, -1, 68, 244, 131,
1197 241, -1, 80, 244, 131, 241, -1, 24, 244, 131,
1198 241, -1, 188, 244, 131, 241, -1, -1, 72, 415,
1199 243, 420, 242, 241, -1, -1, 166, 417, 244, 418,
1200 241, -1, 418, 245, 419, -1, 419, -1, 136, -1,
1201 420, 421, -1, 421, -1, 422, -1, 423, -1, 416,
1202 -1, 1, -1, 227, 244, 131, 241, -1, 133, 244,
1203 131, 241, -1, -1, 30, 425, 243, 426, 242, 241,
1204 -1, 426, 427, -1, 427, -1, 428, -1, 429, -1,
1205 1, -1, 71, 244, 131, 241, -1, 133, 244, 131,
1206 241, -1, 45, 243, 431, 242, 241, -1, 431, 432,
1207 -1, 432, -1, 433, -1, 1, -1, 71, 244, 131,
1208 241, -1, -1, 49, 435, 243, 440, 242, 241, -1,
1209 -1, 166, 437, 244, 438, 241, -1, 438, 245, 439,
1210 -1, 439, -1, 136, -1, 440, 441, -1, 441, -1,
1211 442, -1, 443, -1, 436, -1, 1, -1, 100, 244,
1212 131, 241, -1, 133, 244, 131, 241, -1, 50, 243,
1213 445, 242, 241, -1, 445, 446, -1, 446, -1, 454,
1214 -1, 455, -1, 457, -1, 458, -1, 459, -1, 460,
1215 -1, 461, -1, 462, -1, 463, -1, 464, -1, 453,
1216 -1, 466, -1, 467, -1, 468, -1, 469, -1, 484,
1217 -1, 471, -1, 473, -1, 475, -1, 474, -1, 478,
1218 -1, 472, -1, 479, -1, 480, -1, 481, -1, 482,
1219 -1, 483, -1, 496, -1, 485, -1, 486, -1, 487,
1220 -1, 492, -1, 476, -1, 477, -1, 502, -1, 500,
1221 -1, 501, -1, 456, -1, 503, -1, 491, -1, 465,
1222 -1, 489, -1, 490, -1, 452, -1, 448, -1, 449,
1223 -1, 450, -1, 451, -1, 470, -1, 447, -1, 488,
1224 -1, 1, -1, 94, 244, 110, 241, -1, 55, 244,
1225 110, 241, -1, 56, 244, 110, 241, -1, 233, 244,
1226 176, 241, -1, 138, 244, 250, 241, -1, 163, 244,
1227 176, 241, -1, 73, 244, 250, 241, -1, 65, 244,
1228 176, 241, -1, 69, 244, 176, 241, -1, 37, 244,
1229 176, 241, -1, 46, 244, 176, 241, -1, 8, 244,
1230 176, 241, -1, 91, 244, 250, 241, -1, 90, 244,
1231 110, 241, -1, 84, 244, 110, 241, -1, 9, 244,
1232 250, 241, -1, 180, 244, 250, 241, -1, 179, 244,
1233 250, 241, -1, 60, 244, 110, 241, -1, 77, 244,
1234 176, 241, -1, 76, 244, 131, 241, -1, 70, 244,
1235 176, 241, -1, 238, 244, 176, 241, -1, 171, 244,
1236 176, 241, -1, 174, 244, 176, 241, -1, 175, 244,
1237 176, 241, -1, 173, 244, 176, 241, -1, 173, 244,
1238 177, 241, -1, 172, 244, 176, 241, -1, 172, 244,
1239 177, 241, -1, 123, 244, 250, 241, -1, 19, 244,
1240 250, 241, -1, 116, 244, 176, 241, -1, 124, 244,
1241 250, 241, -1, 167, 244, 176, 241, -1, 108, 244,
1242 176, 241, -1, 222, 244, 176, 241, -1, 118, 244,
1243 176, 241, -1, 95, 244, 131, 241, -1, 38, 244,
1244 110, 241, -1, 93, 244, 110, 241, -1, 228, 244,
1245 176, 241, -1, 40, 244, 131, 241, -1, 219, 244,
1246 131, 241, -1, 127, 244, 176, 241, -1, 33, 244,
1247 176, 241, -1, 220, 244, 250, 241, -1, -1, 120,
1248 493, 244, 494, 241, -1, 494, 245, 495, -1, 495,
1249 -1, 183, -1, 186, -1, 187, -1, 190, -1, 191,
1250 -1, 195, -1, 61, -1, 206, -1, 201, -1, 203,
1251 -1, 210, -1, 207, -1, 194, -1, 202, -1, 205,
1252 -1, 196, -1, 216, -1, 184, -1, 185, -1, 199,
1253 -1, -1, 117, 497, 244, 498, 241, -1, 498, 245,
1254 499, -1, 499, -1, 183, -1, 186, -1, 187, -1,
1255 190, -1, 191, -1, 195, -1, 206, -1, 61, -1,
1256 201, -1, 203, -1, 210, -1, 207, -1, 194, -1,
1257 202, -1, 205, -1, 196, -1, 216, -1, 184, -1,
1258 185, -1, 199, -1, 96, 244, 110, 241, -1, 97,
1259 244, 110, 241, -1, 27, 244, 110, 241, -1, 189,
1260 244, 252, 241, -1, -1, 52, 505, 243, 506, 242,
1261 241, -1, 506, 507, -1, 507, -1, 508, -1, 509,
1262 -1, 510, -1, 514, -1, 515, -1, 516, -1, 1,
1263 -1, 42, 244, 176, 241, -1, 39, 244, 250, 241,
1264 -1, -1, 83, 511, 244, 512, 241, -1, 512, 245,
1265 513, -1, 513, -1, 178, -1, 11, -1, 227, 244,
1266 131, 241, -1, 100, 244, 131, 241, -1, -1, 4,
1267 517, 244, 518, 241, -1, 518, 245, 519, -1, 519,
1268 -1, 178, -1, 11, -1, 21, 243, 521, 242, 241,
1269 -1, 521, 522, -1, 522, -1, 525, -1, 526, -1,
1270 527, -1, 528, -1, 533, -1, 529, -1, 530, -1,
1271 531, -1, 532, -1, 534, -1, 535, -1, 536, -1,
1272 524, -1, 537, -1, 538, -1, 539, -1, 540, -1,
1273 523, -1, 1, -1, 34, 244, 176, 241, -1, 141,
1274 244, 176, 241, -1, 36, 244, 176, 241, -1, 229,
1275 244, 176, 241, -1, 230, 244, 176, 241, -1, 231,
1276 244, 176, 241, -1, 78, 244, 250, 241, -1, 79,
1277 244, 250, 241, -1, 86, 244, 110, 241, -1, 132,
1278 244, 176, 241, -1, 85, 244, 110, 241, -1, 29,
1279 244, 110, 241, -1, 28, 244, 110, 241, -1, 106,
1280 244, 176, 241, -1, 107, 244, 176, 241, -1, 13,
1281 244, 176, 241, -1, 121, 244, 110, 241, -1, 122,
1282 244, 250, 241, -1, 160, 243, 542, 242, 241, -1,
1283 542, 543, -1, 543, -1, 544, -1, 545, -1, 547,
1284 -1, 549, -1, 548, -1, 546, -1, 550, -1, 1,
1285 -1, 48, 244, 176, 241, -1, 64, 244, 176, 241,
1286 -1, 62, 244, 131, 241, -1, 81, 244, 250, 241,
1287 -1, 61, 244, 176, 241, -1, 35, 244, 176, 241,
1288 -1, 63, 244, 176, 241, -1
1289 };
1290
1291 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1292 static const yytype_uint16 yyrline[] =
1293 {
1294 0, 379, 379, 380, 383, 384, 385, 386, 387, 388,
1295 389, 390, 391, 392, 393, 394, 395, 396, 397, 398,
1296 399, 400, 401, 402, 403, 404, 405, 409, 409, 410,
1297 414, 418, 422, 426, 430, 436, 436, 437, 438, 439,
1298 440, 447, 450, 450, 451, 451, 451, 453, 459, 466,
1299 468, 468, 469, 469, 470, 470, 471, 471, 472, 472,
1300 473, 473, 474, 474, 475, 475, 476, 477, 480, 481,
1301 483, 483, 484, 490, 498, 498, 499, 505, 513, 552,
1302 611, 639, 647, 662, 677, 686, 700, 709, 737, 767,
1303 790, 799, 801, 801, 802, 802, 803, 803, 805, 814,
1304 823, 835, 836, 836, 838, 838, 839, 841, 848, 848,
1305 858, 859, 861, 861, 862, 862, 864, 869, 872, 878,
1306 877, 883, 883, 884, 888, 892, 896, 900, 904, 908,
1307 919, 918, 1016, 1016, 1017, 1017, 1017, 1018, 1018, 1018,
1308 1019, 1019, 1019, 1021, 1033, 1070, 1082, 1093, 1135, 1145,
1309 1144, 1150, 1150, 1151, 1155, 1159, 1163, 1167, 1171, 1175,
1310 1179, 1183, 1187, 1191, 1195, 1199, 1203, 1207, 1211, 1215,
1311 1219, 1223, 1227, 1234, 1233, 1239, 1239, 1240, 1244, 1248,
1312 1252, 1256, 1260, 1264, 1268, 1272, 1276, 1280, 1284, 1288,
1313 1292, 1296, 1300, 1304, 1308, 1319, 1318, 1368, 1368, 1369,
1314 1370, 1370, 1371, 1372, 1373, 1374, 1375, 1376, 1377, 1378,
1315 1379, 1380, 1381, 1383, 1392, 1398, 1404, 1410, 1416, 1422,
1316 1428, 1434, 1440, 1446, 1452, 1458, 1468, 1467, 1484, 1483,
1317 1488, 1488, 1489, 1493, 1497, 1505, 1505, 1506, 1506, 1506,
1318 1506, 1506, 1508, 1508, 1510, 1510, 1512, 1526, 1546, 1555,
1319 1568, 1567, 1636, 1636, 1637, 1637, 1637, 1637, 1638, 1638,
1320 1638, 1639, 1639, 1641, 1678, 1691, 1700, 1712, 1711, 1715,
1321 1715, 1716, 1720, 1724, 1728, 1732, 1736, 1740, 1744, 1748,
1322 1755, 1774, 1784, 1798, 1797, 1813, 1813, 1814, 1814, 1814,
1323 1814, 1816, 1825, 1840, 1853, 1855, 1855, 1856, 1856, 1858,
1324 1874, 1873, 1889, 1889, 1890, 1890, 1890, 1890, 1892, 1901,
1325 1924, 1923, 1929, 1929, 1930, 1934, 1938, 1942, 1946, 1950,
1326 1954, 1958, 1962, 1966, 1976, 1975, 1992, 1992, 1993, 1993,
1327 1993, 1995, 2002, 2001, 2007, 2007, 2008, 2012, 2016, 2020,
1328 2024, 2028, 2032, 2036, 2040, 2044, 2054, 2053, 2182, 2182,
1329 2183, 2183, 2183, 2184, 2184, 2185, 2185, 2185, 2186, 2186,
1330 2186, 2187, 2187, 2188, 2190, 2199, 2208, 2234, 2252, 2270,
1331 2276, 2280, 2289, 2288, 2292, 2292, 2293, 2297, 2301, 2305,
1332 2311, 2322, 2335, 2348, 2357, 2376, 2375, 2441, 2440, 2444,
1333 2444, 2445, 2451, 2451, 2452, 2452, 2452, 2452, 2454, 2473,
1334 2483, 2482, 2507, 2507, 2508, 2508, 2508, 2510, 2516, 2525,
1335 2527, 2527, 2528, 2528, 2530, 2549, 2548, 2596, 2595, 2599,
1336 2599, 2600, 2606, 2606, 2607, 2607, 2607, 2607, 2609, 2615,
1337 2624, 2627, 2627, 2628, 2628, 2629, 2629, 2630, 2630, 2631,
1338 2631, 2632, 2632, 2633, 2633, 2634, 2634, 2635, 2635, 2636,
1339 2636, 2637, 2637, 2638, 2638, 2639, 2639, 2640, 2640, 2641,
1340 2642, 2642, 2643, 2643, 2644, 2644, 2645, 2645, 2646, 2646,
1341 2647, 2648, 2649, 2649, 2650, 2651, 2652, 2652, 2653, 2653,
1342 2654, 2654, 2655, 2655, 2656, 2659, 2664, 2669, 2674, 2679,
1343 2684, 2689, 2694, 2699, 2704, 2709, 2714, 2719, 2724, 2729,
1344 2734, 2739, 2744, 2750, 2761, 2766, 2775, 2780, 2785, 2790,
1345 2795, 2800, 2803, 2808, 2811, 2816, 2821, 2826, 2831, 2836,
1346 2841, 2846, 2851, 2856, 2867, 2872, 2877, 2882, 2891, 2900,
1347 2905, 2910, 2916, 2915, 2920, 2920, 2921, 2924, 2927, 2930,
1348 2933, 2936, 2939, 2942, 2945, 2948, 2951, 2954, 2957, 2960,
1349 2963, 2966, 2969, 2972, 2975, 2978, 2984, 2983, 2988, 2988,
1350 2989, 2992, 2995, 2998, 3001, 3004, 3007, 3010, 3013, 3016,
1351 3019, 3022, 3025, 3028, 3031, 3034, 3037, 3040, 3043, 3046,
1352 3051, 3056, 3061, 3066, 3076, 3075, 3099, 3099, 3100, 3101,
1353 3102, 3103, 3104, 3105, 3106, 3108, 3114, 3121, 3120, 3125,
1354 3125, 3126, 3130, 3136, 3170, 3180, 3179, 3229, 3229, 3230,
1355 3234, 3243, 3246, 3246, 3247, 3247, 3248, 3248, 3249, 3249,
1356 3250, 3250, 3251, 3251, 3252, 3253, 3253, 3254, 3254, 3255,
1357 3255, 3256, 3256, 3258, 3263, 3268, 3273, 3278, 3283, 3288,
1358 3293, 3298, 3303, 3308, 3313, 3318, 3323, 3328, 3333, 3338,
1359 3343, 3351, 3354, 3354, 3355, 3355, 3356, 3357, 3358, 3358,
1360 3359, 3360, 3362, 3368, 3374, 3383, 3397, 3403, 3409
1361 };
1362 #endif
1363
1364 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1365 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1366 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1367 static const char *const yytname[] =
1368 {
1369 "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1370 "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1371 "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1372 "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1373 "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1374 "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1375 "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1376 "DISABLE_FAKE_CHANNELS", "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS",
1377 "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH",
1378 "EMAIL", "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1379 "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1380 "GLINE", "GLINES", "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR",
1381 "GLINE_MIN_CIDR6", "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT",
1382 "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_SERVER_IPS",
1383 "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1384 "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1385 "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1386 "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1387 "LINKS_DELAY", "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS",
1388 "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1389 "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1390 "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1391 "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1392 "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1393 "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1394 "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1395 "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID",
1396 "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1397 "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1398 "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1399 "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1400 "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1401 "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1402 "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",
1403 "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1404 "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1405 "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO", "IRCD_SID",
1406 "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD",
1407 "SILENT", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",
1408 "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1409 "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT", "TS_MAX_DELTA",
1410 "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID",
1411 "T_CALLERID", "T_CCONN", "T_CCONN_FULL", "T_SSL_CIPHER_LIST",
1412 "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE", "T_DRONE",
1413 "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1414 "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER",
1415 "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH",
1416 "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1417 "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "THROTTLE_TIME",
1418 "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV",
1419 "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK",
1420 "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",
1421 "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1422 "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1423 "sizespec", "modules_entry", "modules_items", "modules_item",
1424 "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1425 "serverinfo_item", "serverinfo_ssl_client_method",
1426 "serverinfo_ssl_server_method", "client_method_types",
1427 "client_method_type_item", "server_method_types",
1428 "server_method_type_item", "serverinfo_ssl_certificate_file",
1429 "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1430 "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1431 "serverinfo_description", "serverinfo_network_name",
1432 "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1433 "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1434 "admin_item", "admin_name", "admin_email", "admin_description",
1435 "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1436 "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1437 "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1438 "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1439 "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1440 "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1441 "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1442 "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1443 "class_entry", "$@6", "class_items", "class_item", "class_name",
1444 "class_ping_time", "class_ping_warning", "class_number_per_ip",
1445 "class_connectfreq", "class_max_number", "class_max_global",
1446 "class_max_local", "class_max_ident", "class_sendq",
1447 "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1448 "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1449 "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1450 "listen_port", "$@9", "port_items", "port_item", "listen_address",
1451 "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1452 "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1453 "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1454 "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1455 "resv_item", "resv_creason", "resv_channel", "resv_nick",
1456 "service_entry", "service_items", "service_item", "service_name",
1457 "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1458 "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1459 "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1460 "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1461 "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1462 "connect_host", "connect_vhost", "connect_send_password",
1463 "connect_accept_password", "connect_port", "connect_aftype",
1464 "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1465 "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1466 "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1467 "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1468 "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1469 "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1470 "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1471 "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1472 "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1473 "general_entry", "general_items", "general_item", "general_max_watch",
1474 "general_gline_min_cidr", "general_gline_min_cidr6",
1475 "general_use_whois_actually", "general_reject_hold_time",
1476 "general_tkline_expire_notices", "general_kill_chase_time_limit",
1477 "general_hide_spoof_ips", "general_ignore_bogus_ts",
1478 "general_disable_remote_commands", "general_failed_oper_notice",
1479 "general_anti_nick_flood", "general_max_nick_time",
1480 "general_max_nick_changes", "general_max_accept",
1481 "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1482 "general_ts_max_delta", "general_havent_read_conf",
1483 "general_kline_with_reason", "general_kline_reason",
1484 "general_invisible_on_connect", "general_warn_no_nline",
1485 "general_stats_e_disabled", "general_stats_o_oper_only",
1486 "general_stats_P_oper_only", "general_stats_k_oper_only",
1487 "general_stats_i_oper_only", "general_pace_wait",
1488 "general_caller_id_wait", "general_opers_bypass_callerid",
1489 "general_pace_wait_simple", "general_short_motd",
1490 "general_no_oper_flood", "general_true_no_oper_flood",
1491 "general_oper_pass_resv", "general_message_locale",
1492 "general_dots_in_ident", "general_max_targets", "general_use_egd",
1493 "general_egdpool_path", "general_services_name", "general_ping_cookie",
1494 "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1495 "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1496 "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1497 "general_min_nonwildcard_simple", "general_default_floodcount",
1498 "general_client_flood", "gline_entry", "$@26", "gline_items",
1499 "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@27",
1500 "gline_logging_types", "gline_logging_type_item", "gline_user",
1501 "gline_server", "gline_action", "$@28", "gdeny_types", "gdeny_type_item",
1502 "channel_entry", "channel_items", "channel_item",
1503 "channel_disable_fake_channels", "channel_restrict_channels",
1504 "channel_disable_local_channels", "channel_use_except",
1505 "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1506 "channel_knock_delay_channel", "channel_max_chans_per_user",
1507 "channel_quiet_on_ban", "channel_max_bans",
1508 "channel_default_split_user_count", "channel_default_split_server_count",
1509 "channel_no_create_on_split", "channel_no_join_on_split",
1510 "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1511 "serverhide_entry", "serverhide_items", "serverhide_item",
1512 "serverhide_flatten_links", "serverhide_hide_servers",
1513 "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1514 "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1515 };
1516 #endif
1517
1518 # ifdef YYPRINT
1519 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1520 token YYLEX-NUM. */
1521 static const yytype_uint16 yytoknum[] =
1522 {
1523 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1524 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1525 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1526 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1527 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1528 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1529 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1530 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1531 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1532 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1533 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1534 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1535 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1536 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1537 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1538 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1539 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1540 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1541 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1542 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1543 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1544 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1545 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1546 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
1547 495, 59, 125, 123, 61, 44
1548 };
1549 # endif
1550
1551 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1552 static const yytype_uint16 yyr1[] =
1553 {
1554 0, 246, 247, 247, 248, 248, 248, 248, 248, 248,
1555 248, 248, 248, 248, 248, 248, 248, 248, 248, 248,
1556 248, 248, 248, 248, 248, 248, 248, 249, 249, 250,
1557 250, 250, 250, 250, 250, 251, 251, 252, 252, 252,
1558 252, 253, 254, 254, 255, 255, 255, 256, 257, 258,
1559 259, 259, 260, 260, 260, 260, 260, 260, 260, 260,
1560 260, 260, 260, 260, 260, 260, 260, 260, 261, 262,
1561 263, 263, 264, 264, 265, 265, 266, 266, 267, 268,
1562 269, 270, 271, 272, 273, 274, 275, 276, 277, 278,
1563 279, 280, 281, 281, 282, 282, 282, 282, 283, 284,
1564 285, 286, 287, 287, 288, 288, 288, 289, 291, 290,
1565 292, 292, 293, 293, 293, 293, 294, 295, 295, 297,
1566 296, 298, 298, 299, 299, 299, 299, 299, 299, 299,
1567 301, 300, 302, 302, 303, 303, 303, 303, 303, 303,
1568 303, 303, 303, 304, 305, 306, 307, 308, 309, 311,
1569 310, 312, 312, 313, 313, 313, 313, 313, 313, 313,
1570 313, 313, 313, 313, 313, 313, 313, 313, 313, 313,
1571 313, 313, 313, 315, 314, 316, 316, 317, 317, 317,
1572 317, 317, 317, 317, 317, 317, 317, 317, 317, 317,
1573 317, 317, 317, 317, 317, 319, 318, 320, 320, 321,
1574 321, 321, 321, 321, 321, 321, 321, 321, 321, 321,
1575 321, 321, 321, 322, 323, 324, 325, 326, 327, 328,
1576 329, 330, 331, 332, 333, 334, 336, 335, 338, 337,
1577 339, 339, 340, 340, 340, 341, 341, 342, 342, 342,
1578 342, 342, 344, 343, 345, 345, 346, 346, 347, 348,
1579 350, 349, 351, 351, 352, 352, 352, 352, 352, 352,
1580 352, 352, 352, 353, 354, 355, 356, 358, 357, 359,
1581 359, 360, 360, 360, 360, 360, 360, 360, 360, 360,
1582 361, 362, 363, 365, 364, 366, 366, 367, 367, 367,
1583 367, 368, 369, 370, 371, 372, 372, 373, 373, 374,
1584 376, 375, 377, 377, 378, 378, 378, 378, 379, 380,
1585 382, 381, 383, 383, 384, 384, 384, 384, 384, 384,
1586 384, 384, 384, 384, 386, 385, 387, 387, 388, 388,
1587 388, 389, 391, 390, 392, 392, 393, 393, 393, 393,
1588 393, 393, 393, 393, 393, 393, 395, 394, 396, 396,
1589 397, 397, 397, 397, 397, 397, 397, 397, 397, 397,
1590 397, 397, 397, 397, 398, 399, 400, 401, 402, 403,
1591 404, 404, 406, 405, 407, 407, 408, 408, 408, 408,
1592 409, 410, 411, 412, 413, 415, 414, 417, 416, 418,
1593 418, 419, 420, 420, 421, 421, 421, 421, 422, 423,
1594 425, 424, 426, 426, 427, 427, 427, 428, 429, 430,
1595 431, 431, 432, 432, 433, 435, 434, 437, 436, 438,
1596 438, 439, 440, 440, 441, 441, 441, 441, 442, 443,
1597 444, 445, 445, 446, 446, 446, 446, 446, 446, 446,
1598 446, 446, 446, 446, 446, 446, 446, 446, 446, 446,
1599 446, 446, 446, 446, 446, 446, 446, 446, 446, 446,
1600 446, 446, 446, 446, 446, 446, 446, 446, 446, 446,
1601 446, 446, 446, 446, 446, 446, 446, 446, 446, 446,
1602 446, 446, 446, 446, 446, 447, 448, 449, 450, 451,
1603 452, 453, 454, 455, 456, 457, 458, 459, 460, 461,
1604 462, 463, 464, 465, 466, 467, 468, 469, 470, 471,
1605 472, 473, 473, 474, 474, 475, 476, 477, 478, 479,
1606 480, 481, 482, 483, 484, 485, 486, 487, 488, 489,
1607 490, 491, 493, 492, 494, 494, 495, 495, 495, 495,
1608 495, 495, 495, 495, 495, 495, 495, 495, 495, 495,
1609 495, 495, 495, 495, 495, 495, 497, 496, 498, 498,
1610 499, 499, 499, 499, 499, 499, 499, 499, 499, 499,
1611 499, 499, 499, 499, 499, 499, 499, 499, 499, 499,
1612 500, 501, 502, 503, 505, 504, 506, 506, 507, 507,
1613 507, 507, 507, 507, 507, 508, 509, 511, 510, 512,
1614 512, 513, 513, 514, 515, 517, 516, 518, 518, 519,
1615 519, 520, 521, 521, 522, 522, 522, 522, 522, 522,
1616 522, 522, 522, 522, 522, 522, 522, 522, 522, 522,
1617 522, 522, 522, 523, 524, 525, 526, 527, 528, 529,
1618 530, 531, 532, 533, 534, 535, 536, 537, 538, 539,
1619 540, 541, 542, 542, 543, 543, 543, 543, 543, 543,
1620 543, 543, 544, 545, 546, 547, 548, 549, 550
1621 };
1622
1623 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1624 static const yytype_uint8 yyr2[] =
1625 {
1626 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1627 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1628 1, 1, 1, 1, 1, 2, 2, 0, 1, 2,
1629 3, 3, 3, 3, 3, 0, 1, 2, 3, 3,
1630 3, 5, 2, 1, 1, 1, 2, 4, 4, 5,
1631 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1632 1, 1, 1, 1, 1, 1, 1, 2, 4, 4,
1633 3, 1, 1, 1, 3, 1, 1, 1, 4, 4,
1634 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1635 4, 5, 2, 1, 1, 1, 1, 2, 4, 4,
1636 4, 5, 2, 1, 1, 1, 2, 4, 0, 6,
1637 2, 1, 1, 1, 1, 2, 4, 4, 4, 0,
1638 5, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1639 0, 6, 2, 1, 1, 1, 1, 1, 1, 1,
1640 1, 1, 2, 4, 4, 4, 4, 4, 4, 0,
1641 5, 3, 1, 1, 1, 1, 1, 1, 1, 1,
1642 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1643 1, 1, 1, 0, 5, 3, 1, 1, 1, 1,
1644 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1645 1, 1, 1, 1, 1, 0, 6, 2, 1, 1,
1646 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1647 1, 1, 2, 4, 4, 4, 4, 4, 4, 4,
1648 4, 4, 4, 4, 4, 4, 0, 6, 0, 5,
1649 3, 1, 1, 1, 1, 2, 1, 1, 1, 1,
1650 1, 2, 0, 5, 3, 1, 1, 3, 4, 4,
1651 0, 6, 2, 1, 1, 1, 1, 1, 1, 1,
1652 1, 1, 2, 4, 4, 4, 4, 0, 5, 3,
1653 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1654 4, 4, 4, 0, 6, 2, 1, 1, 1, 1,
1655 2, 4, 4, 4, 5, 2, 1, 1, 1, 4,
1656 0, 6, 2, 1, 1, 1, 1, 2, 4, 4,
1657 0, 5, 3, 1, 1, 1, 1, 1, 1, 1,
1658 1, 1, 1, 1, 0, 6, 2, 1, 1, 1,
1659 2, 4, 0, 5, 3, 1, 1, 1, 1, 1,
1660 1, 1, 1, 1, 1, 1, 0, 6, 2, 1,
1661 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1662 1, 1, 1, 2, 4, 4, 4, 4, 4, 4,
1663 4, 4, 0, 5, 3, 1, 1, 1, 1, 1,
1664 4, 4, 4, 4, 4, 0, 6, 0, 5, 3,
1665 1, 1, 2, 1, 1, 1, 1, 1, 4, 4,
1666 0, 6, 2, 1, 1, 1, 1, 4, 4, 5,
1667 2, 1, 1, 1, 4, 0, 6, 0, 5, 3,
1668 1, 1, 2, 1, 1, 1, 1, 1, 4, 4,
1669 5, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1670 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1671 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1672 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1673 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1674 1, 1, 1, 1, 1, 4, 4, 4, 4, 4,
1675 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1676 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1677 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1678 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1679 4, 4, 0, 5, 3, 1, 1, 1, 1, 1,
1680 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1681 1, 1, 1, 1, 1, 1, 0, 5, 3, 1,
1682 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1683 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1684 4, 4, 4, 4, 0, 6, 2, 1, 1, 1,
1685 1, 1, 1, 1, 1, 4, 4, 0, 5, 3,
1686 1, 1, 1, 4, 4, 0, 5, 3, 1, 1,
1687 1, 5, 2, 1, 1, 1, 1, 1, 1, 1,
1688 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1689 1, 1, 1, 4, 4, 4, 4, 4, 4, 4,
1690 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1691 4, 5, 2, 1, 1, 1, 1, 1, 1, 1,
1692 1, 1, 4, 4, 4, 4, 4, 4, 4
1693 };
1694
1695 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1696 Performed when YYTABLE doesn't specify something else to do. Zero
1697 means the default is an error. */
1698 static const yytype_uint16 yydefact[] =
1699 {
1700 2, 0, 1, 0, 0, 0, 195, 346, 400, 0,
1701 415, 0, 584, 250, 385, 226, 0, 0, 130, 283,
1702 0, 0, 300, 324, 0, 3, 24, 11, 4, 5,
1703 6, 8, 9, 10, 13, 14, 15, 16, 17, 18,
1704 19, 20, 23, 21, 22, 7, 12, 25, 26, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 0, 0, 0, 0, 0, 93, 94, 96, 95, 632,
1708 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1709 0, 0, 0, 0, 0, 0, 0, 0, 0, 613,
1710 631, 626, 614, 615, 616, 617, 619, 620, 621, 622,
1711 618, 623, 624, 625, 627, 628, 629, 630, 0, 0,
1712 0, 413, 0, 0, 411, 412, 0, 484, 0, 0,
1713 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1715 0, 0, 0, 0, 0, 0, 556, 0, 532, 0,
1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1717 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1718 432, 482, 477, 478, 479, 480, 476, 443, 433, 434,
1719 470, 435, 436, 437, 438, 439, 440, 441, 442, 473,
1720 444, 445, 446, 447, 481, 449, 454, 450, 452, 451,
1721 465, 466, 453, 455, 456, 457, 458, 459, 448, 461,
1722 462, 463, 483, 474, 475, 472, 464, 460, 468, 469,
1723 467, 471, 0, 0, 0, 0, 0, 0, 0, 103,
1724 104, 105, 0, 0, 0, 0, 0, 43, 44, 45,
1725 0, 0, 661, 0, 0, 0, 0, 0, 0, 0,
1726 0, 653, 654, 655, 659, 656, 658, 657, 660, 0,
1727 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1728 0, 0, 0, 0, 0, 0, 51, 64, 65, 63,
1729 60, 59, 66, 52, 62, 55, 56, 57, 53, 61,
1730 58, 54, 0, 0, 298, 0, 0, 296, 297, 97,
1731 0, 0, 0, 0, 92, 0, 0, 0, 0, 0,
1732 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1733 0, 0, 0, 0, 612, 0, 0, 0, 0, 0,
1734 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1735 198, 199, 202, 203, 205, 206, 207, 208, 209, 210,
1736 211, 200, 201, 204, 0, 0, 0, 0, 0, 372,
1737 0, 0, 0, 0, 0, 0, 0, 0, 0, 349,
1738 350, 351, 352, 353, 354, 356, 355, 358, 362, 359,
1739 360, 361, 357, 406, 0, 0, 0, 403, 404, 405,
1740 0, 0, 410, 427, 0, 0, 417, 426, 0, 423,
1741 424, 425, 0, 0, 0, 0, 0, 0, 0, 0,
1742 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1743 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1744 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1745 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1746 0, 0, 0, 0, 431, 594, 605, 0, 0, 597,
1747 0, 0, 0, 587, 588, 589, 590, 591, 592, 593,
1748 0, 0, 0, 267, 0, 0, 0, 0, 0, 0,
1749 253, 254, 255, 256, 261, 257, 258, 259, 260, 397,
1750 0, 387, 0, 396, 0, 393, 394, 395, 0, 228,
1751 0, 0, 0, 238, 0, 236, 237, 239, 240, 106,
1752 0, 0, 102, 0, 46, 0, 0, 0, 42, 0,
1753 0, 0, 173, 0, 0, 0, 149, 0, 0, 133,
1754 134, 135, 136, 139, 140, 138, 137, 141, 0, 0,
1755 0, 0, 0, 286, 287, 288, 289, 0, 0, 0,
1756 0, 0, 0, 0, 0, 652, 67, 0, 0, 0,
1757 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1758 0, 0, 0, 50, 0, 0, 310, 0, 0, 303,
1759 304, 305, 306, 0, 0, 332, 0, 327, 328, 329,
1760 0, 0, 295, 0, 0, 0, 91, 0, 0, 0,
1761 0, 0, 27, 0, 0, 0, 0, 0, 0, 0,
1762 0, 0, 0, 0, 0, 0, 611, 212, 0, 0,
1763 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1764 0, 0, 197, 363, 0, 0, 0, 0, 0, 0,
1765 0, 0, 0, 0, 0, 0, 0, 0, 348, 0,
1766 0, 0, 402, 0, 409, 0, 0, 0, 0, 422,
1767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1768 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1769 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1770 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1771 0, 0, 0, 0, 0, 0, 35, 0, 0, 0,
1772 0, 0, 0, 0, 430, 0, 0, 0, 0, 0,
1773 0, 0, 586, 262, 0, 0, 0, 0, 0, 0,
1774 0, 0, 0, 252, 0, 0, 0, 0, 392, 241,
1775 0, 0, 0, 0, 0, 235, 0, 101, 0, 0,
1776 0, 41, 142, 0, 0, 0, 0, 0, 0, 0,
1777 0, 0, 132, 290, 0, 0, 0, 0, 285, 0,
1778 0, 0, 0, 0, 0, 0, 651, 0, 0, 0,
1779 0, 0, 0, 0, 0, 72, 73, 0, 71, 76,
1780 77, 0, 75, 0, 0, 0, 0, 0, 49, 307,
1781 0, 0, 0, 0, 302, 330, 0, 0, 0, 326,
1782 0, 294, 100, 99, 98, 648, 645, 644, 633, 635,
1783 27, 27, 27, 27, 27, 29, 28, 639, 640, 643,
1784 641, 646, 647, 649, 650, 642, 634, 636, 637, 638,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 196, 0, 0, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 347, 0,
1788 0, 401, 414, 0, 0, 0, 416, 496, 500, 516,
1789 582, 530, 494, 524, 527, 495, 486, 487, 503, 492,
1790 493, 506, 491, 505, 504, 499, 498, 497, 525, 485,
1791 523, 580, 581, 520, 517, 567, 560, 577, 578, 561,
1792 562, 563, 564, 572, 565, 575, 579, 568, 573, 569,
1793 574, 566, 571, 570, 576, 0, 559, 522, 542, 536,
1794 553, 554, 537, 538, 539, 540, 548, 541, 551, 555,
1795 544, 549, 545, 550, 543, 547, 546, 552, 0, 535,
1796 515, 518, 529, 489, 490, 519, 508, 513, 514, 511,
1797 512, 509, 510, 502, 501, 35, 35, 35, 37, 36,
1798 583, 528, 531, 521, 526, 488, 507, 0, 0, 0,
1799 0, 0, 0, 585, 0, 0, 0, 0, 0, 0,
1800 0, 0, 251, 0, 0, 0, 386, 0, 0, 0,
1801 246, 242, 245, 227, 107, 0, 0, 119, 0, 0,
1802 111, 112, 114, 113, 47, 48, 0, 0, 0, 0,
1803 0, 0, 0, 0, 131, 0, 0, 0, 284, 667,
1804 662, 666, 664, 668, 663, 665, 84, 90, 82, 86,
1805 85, 79, 78, 80, 68, 0, 69, 0, 83, 81,
1806 89, 87, 88, 0, 0, 0, 301, 0, 0, 325,
1807 299, 30, 31, 32, 33, 34, 223, 224, 217, 219,
1808 221, 220, 218, 213, 225, 216, 214, 215, 222, 368,
1809 370, 371, 383, 380, 376, 377, 379, 378, 0, 375,
1810 365, 381, 382, 364, 369, 367, 384, 366, 407, 408,
1811 428, 429, 421, 0, 420, 557, 0, 533, 0, 38,
1812 39, 40, 610, 609, 0, 608, 596, 595, 602, 601,
1813 0, 600, 604, 603, 265, 266, 275, 272, 277, 274,
1814 273, 279, 276, 278, 271, 0, 270, 264, 282, 281,
1815 280, 263, 399, 391, 0, 390, 398, 233, 234, 232,
1816 0, 231, 249, 248, 0, 0, 0, 115, 0, 0,
1817 0, 0, 110, 148, 146, 188, 185, 184, 177, 179,
1818 194, 189, 192, 187, 178, 193, 181, 190, 182, 191,
1819 186, 180, 183, 0, 176, 143, 145, 147, 159, 153,
1820 170, 171, 154, 155, 156, 157, 165, 158, 168, 172,
1821 161, 166, 162, 167, 160, 164, 163, 169, 0, 152,
1822 144, 292, 293, 291, 70, 74, 308, 314, 320, 323,
1823 316, 322, 317, 321, 319, 315, 318, 0, 313, 309,
1824 331, 336, 342, 345, 338, 344, 339, 343, 341, 337,
1825 340, 0, 335, 373, 0, 418, 0, 558, 534, 606,
1826 0, 598, 0, 268, 0, 388, 0, 229, 0, 247,
1827 244, 243, 0, 0, 0, 0, 109, 174, 0, 150,
1828 0, 311, 0, 333, 0, 374, 419, 607, 599, 269,
1829 389, 230, 116, 125, 128, 127, 124, 129, 126, 123,
1830 0, 122, 118, 117, 175, 151, 312, 334, 120, 0,
1831 121
1832 };
1833
1834 /* YYDEFGOTO[NTERM-NUM]. */
1835 static const yytype_int16 yydefgoto[] =
1836 {
1837 -1, 1, 25, 835, 836, 978, 979, 26, 246, 247,
1838 248, 249, 27, 285, 286, 287, 288, 797, 798, 801,
1839 802, 289, 290, 291, 292, 293, 294, 295, 296, 297,
1840 298, 299, 300, 301, 28, 74, 75, 76, 77, 78,
1841 29, 238, 239, 240, 241, 242, 1019, 1020, 1021, 1022,
1842 1023, 1169, 1300, 1301, 30, 63, 538, 539, 540, 541,
1843 542, 543, 544, 545, 546, 769, 1218, 1219, 547, 765,
1844 1193, 1194, 31, 51, 349, 350, 351, 352, 353, 354,
1845 355, 356, 357, 358, 359, 360, 361, 362, 363, 32,
1846 60, 513, 750, 1160, 1161, 514, 515, 516, 1166, 1011,
1847 1012, 517, 518, 33, 58, 489, 490, 491, 492, 493,
1848 494, 495, 736, 1145, 1146, 496, 497, 498, 34, 64,
1849 552, 553, 554, 555, 556, 35, 306, 307, 308, 36,
1850 67, 588, 589, 590, 591, 592, 811, 1237, 1238, 37,
1851 68, 596, 597, 598, 599, 817, 1251, 1252, 38, 52,
1852 378, 379, 380, 381, 382, 383, 384, 385, 386, 387,
1853 648, 1098, 1099, 388, 389, 390, 391, 392, 39, 59,
1854 503, 745, 1154, 1155, 504, 505, 506, 507, 40, 53,
1855 396, 397, 398, 399, 41, 123, 124, 125, 42, 55,
1856 407, 667, 1113, 1114, 408, 409, 410, 411, 43, 179,
1857 180, 181, 182, 183, 184, 185, 186, 187, 188, 189,
1858 190, 191, 192, 193, 194, 195, 196, 197, 198, 199,
1859 200, 201, 202, 203, 204, 205, 206, 207, 208, 209,
1860 210, 211, 212, 213, 214, 215, 216, 217, 218, 219,
1861 220, 221, 222, 223, 224, 225, 226, 442, 958, 959,
1862 227, 440, 935, 936, 228, 229, 230, 231, 44, 57,
1863 472, 473, 474, 475, 476, 728, 1130, 1131, 477, 478,
1864 479, 725, 1124, 1125, 45, 98, 99, 100, 101, 102,
1865 103, 104, 105, 106, 107, 108, 109, 110, 111, 112,
1866 113, 114, 115, 116, 117, 46, 260, 261, 262, 263,
1867 264, 265, 266, 267, 268
1868 };
1869
1870 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1871 STATE-NUM. */
1872 #define YYPACT_NINF -560
1873 static const yytype_int16 yypact[] =
1874 {
1875 -560, 667, -560, -206, -223, -221, -560, -560, -560, -218,
1876 -560, -191, -560, -560, -560, -560, -189, -183, -560, -560,
1877 -154, -136, -560, -560, -133, -560, -560, -560, -560, -560,
1878 -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
1879 -560, -560, -560, -560, -560, -560, -560, -560, -560, 42,
1880 544, -115, -109, -80, 32, -72, 375, -70, -53, -51,
1881 -33, 60, 87, -20, -18, 324, 334, -5, -3, 20,
1882 -89, 17, 35, 51, 9, -560, -560, -560, -560, -560,
1883 61, 63, 73, 79, 96, 111, 117, 125, 131, 136,
1884 137, 152, 154, 156, 159, 162, 170, 175, 180, -560,
1885 -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
1886 -560, -560, -560, -560, -560, -560, -560, -560, 709, 461,
1887 98, -560, 195, 10, -560, -560, 266, -560, 198, 199,
1888 202, 203, 206, 213, 214, 216, 217, 219, 229, 230,
1889 231, 232, 242, 243, 246, 250, 253, 256, 257, 259,
1890 261, 263, 265, 268, 275, 276, -560, 277, -560, 281,
1891 282, 284, 287, 291, 293, 295, 296, 299, 300, 307,
1892 314, 315, 316, 318, 319, 321, 322, 323, 327, 110,
1893 -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
1894 -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
1895 -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
1896 -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
1897 -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
1898 -560, -560, 2, 509, 16, 326, 57, 330, 36, -560,
1899 -560, -560, 7, 77, 331, 332, 28, -560, -560, -560,
1900 279, 211, -560, 335, 338, 339, 341, 342, 343, 344,
1901 3, -560, -560, -560, -560, -560, -560, -560, -560, 200,
1902 345, 346, 348, 349, 352, 355, 356, 357, 358, 360,
1903 362, 363, 365, 366, 367, 74, -560, -560, -560, -560,
1904 -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
1905 -560, -560, 197, 6, -560, 368, 46, -560, -560, -560,
1906 140, 173, 392, 329, -560, 438, 328, 505, 441, 445,
1907 514, 514, 515, 516, 451, 452, 521, 514, 456, 457,
1908 459, 460, 462, 396, -560, 398, 397, 401, 402, 403,
1909 404, 408, 409, 410, 411, 412, 413, 415, 416, 4,
1910 -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
1911 -560, -560, -560, -560, 399, 417, 418, 419, 420, -560,
1912 425, 426, 429, 430, 431, 433, 435, 436, 290, -560,
1913 -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
1914 -560, -560, -560, -560, 439, 440, 11, -560, -560, -560,
1915 511, 446, -560, -560, 442, 449, -560, -560, 12, -560,
1916 -560, -560, 522, 514, 514, 590, 525, 526, 593, 573,
1917 532, 597, 599, 601, 546, 550, 551, 514, 598, 552,
1918 624, 627, 514, 628, 630, 610, 636, 637, 572, 575,
1919 508, 577, 510, 514, 514, 579, 514, 580, 583, 584,
1920 -105, -99, 585, 586, 514, 514, 653, 633, 514, 589,
1921 592, 594, 595, 528, -560, -560, -560, 533, 534, -560,
1922 535, 536, 14, -560, -560, -560, -560, -560, -560, -560,
1923 540, 539, 541, -560, 543, 545, 547, 548, 549, 33,
1924 -560, -560, -560, -560, -560, -560, -560, -560, -560, -560,
1925 555, -560, 556, -560, 22, -560, -560, -560, 553, -560,