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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1216 - (show annotations)
Tue Sep 13 18:22:31 2011 UTC (8 years, 10 months ago) by michael
File MIME type: text/x-chdr
File size: 247002 byte(s)
- add 'globops' to operflags

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 "ircd_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 "s_conf.h"
81 #include "event.h"
82 #include "s_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 #endif
101
102 static char *class_name = NULL;
103 static struct ConfItem *yy_conf = NULL;
104 static struct AccessItem *yy_aconf = NULL;
105 static struct MatchItem *yy_match_item = NULL;
106 static struct ClassItem *yy_class = NULL;
107 static char *yy_class_name = NULL;
108
109 static dlink_list col_conf_list = { NULL, NULL, 0 };
110 static dlink_list hub_conf_list = { NULL, NULL, 0 };
111 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
112 static unsigned int listener_flags = 0;
113 static unsigned int regex_ban = 0;
114 static char userbuf[IRCD_BUFSIZE];
115 static char hostbuf[IRCD_BUFSIZE];
116 static char reasonbuf[REASONLEN + 1];
117 static char gecos_name[REALLEN * 4];
118
119 static char *resv_reason = NULL;
120 static char *listener_address = NULL;
121 static int not_atom = 0;
122
123 struct CollectItem
124 {
125 dlink_node node;
126 char *name;
127 char *user;
128 char *host;
129 char *passwd;
130 int port;
131 int flags;
132 #ifdef HAVE_LIBCRYPTO
133 char *rsa_public_key_file;
134 RSA *rsa_public_key;
135 #endif
136 };
137
138 static void
139 free_collect_item(struct CollectItem *item)
140 {
141 MyFree(item->name);
142 MyFree(item->user);
143 MyFree(item->host);
144 MyFree(item->passwd);
145 #ifdef HAVE_LIBCRYPTO
146 MyFree(item->rsa_public_key_file);
147 #endif
148 MyFree(item);
149 }
150
151 static void
152 unhook_hub_leaf_confs(void)
153 {
154 dlink_node *ptr;
155 dlink_node *next_ptr;
156 struct CollectItem *yy_hconf;
157 struct CollectItem *yy_lconf;
158
159 DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
160 {
161 yy_hconf = ptr->data;
162 dlinkDelete(&yy_hconf->node, &hub_conf_list);
163 free_collect_item(yy_hconf);
164 }
165
166 DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
167 {
168 yy_lconf = ptr->data;
169 dlinkDelete(&yy_lconf->node, &leaf_conf_list);
170 free_collect_item(yy_lconf);
171 }
172 }
173
174
175
176 /* Line 268 of yacc.c */
177 #line 178 "ircd_parser.c"
178
179 /* Enabling traces. */
180 #ifndef YYDEBUG
181 # define YYDEBUG 0
182 #endif
183
184 /* Enabling verbose error messages. */
185 #ifdef YYERROR_VERBOSE
186 # undef YYERROR_VERBOSE
187 # define YYERROR_VERBOSE 1
188 #else
189 # define YYERROR_VERBOSE 0
190 #endif
191
192 /* Enabling the token table. */
193 #ifndef YYTOKEN_TABLE
194 # define YYTOKEN_TABLE 0
195 #endif
196
197
198 /* Tokens. */
199 #ifndef YYTOKENTYPE
200 # define YYTOKENTYPE
201 /* Put the tokens into the symbol table, so that GDB and other debuggers
202 know about them. */
203 enum yytokentype {
204 ACCEPT_PASSWORD = 258,
205 ACTION = 259,
206 ADMIN = 260,
207 AFTYPE = 261,
208 T_ALLOW = 262,
209 ANTI_NICK_FLOOD = 263,
210 ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
211 AUTOCONN = 265,
212 T_BLOCK = 266,
213 BURST_AWAY = 267,
214 BURST_TOPICWHO = 268,
215 BYTES = 269,
216 KBYTES = 270,
217 MBYTES = 271,
218 GBYTES = 272,
219 TBYTES = 273,
220 CALLER_ID_WAIT = 274,
221 CAN_FLOOD = 275,
222 CHANNEL = 276,
223 CIDR_BITLEN_IPV4 = 277,
224 CIDR_BITLEN_IPV6 = 278,
225 CIPHER_PREFERENCE = 279,
226 CLASS = 280,
227 COMPRESSED = 281,
228 COMPRESSION_LEVEL = 282,
229 CONNECT = 283,
230 CONNECTFREQ = 284,
231 CRYPTLINK = 285,
232 DEFAULT_CIPHER_PREFERENCE = 286,
233 DEFAULT_FLOODCOUNT = 287,
234 DEFAULT_SPLIT_SERVER_COUNT = 288,
235 DEFAULT_SPLIT_USER_COUNT = 289,
236 DENY = 290,
237 DESCRIPTION = 291,
238 DIE = 292,
239 DISABLE_AUTH = 293,
240 DISABLE_FAKE_CHANNELS = 294,
241 DISABLE_HIDDEN = 295,
242 DISABLE_LOCAL_CHANNELS = 296,
243 DISABLE_REMOTE_COMMANDS = 297,
244 DOTS_IN_IDENT = 298,
245 DURATION = 299,
246 EGDPOOL_PATH = 300,
247 EMAIL = 301,
248 ENABLE = 302,
249 ENCRYPTED = 303,
250 EXCEED_LIMIT = 304,
251 EXEMPT = 305,
252 FAILED_OPER_NOTICE = 306,
253 IRCD_FLAGS = 307,
254 FLATTEN_LINKS = 308,
255 FFAILED_OPERLOG = 309,
256 FKILLLOG = 310,
257 FKLINELOG = 311,
258 FGLINELOG = 312,
259 FIOERRLOG = 313,
260 FOPERLOG = 314,
261 FOPERSPYLOG = 315,
262 FUSERLOG = 316,
263 GECOS = 317,
264 GENERAL = 318,
265 GLINE = 319,
266 GLINES = 320,
267 GLINE_EXEMPT = 321,
268 GLINE_LOG = 322,
269 GLINE_TIME = 323,
270 GLINE_MIN_CIDR = 324,
271 GLINE_MIN_CIDR6 = 325,
272 GLOBAL_KILL = 326,
273 IRCD_AUTH = 327,
274 NEED_IDENT = 328,
275 HAVENT_READ_CONF = 329,
276 HIDDEN = 330,
277 HIDDEN_ADMIN = 331,
278 HIDDEN_NAME = 332,
279 HIDDEN_OPER = 333,
280 HIDE_SERVER_IPS = 334,
281 HIDE_SERVERS = 335,
282 HIDE_SPOOF_IPS = 336,
283 HOST = 337,
284 HUB = 338,
285 HUB_MASK = 339,
286 IGNORE_BOGUS_TS = 340,
287 INVISIBLE_ON_CONNECT = 341,
288 IP = 342,
289 KILL = 343,
290 KILL_CHASE_TIME_LIMIT = 344,
291 KLINE = 345,
292 KLINE_EXEMPT = 346,
293 KLINE_REASON = 347,
294 KLINE_WITH_REASON = 348,
295 KNOCK_DELAY = 349,
296 KNOCK_DELAY_CHANNEL = 350,
297 LEAF_MASK = 351,
298 LINKS_DELAY = 352,
299 LISTEN = 353,
300 T_LOG = 354,
301 LOGGING = 355,
302 LOG_LEVEL = 356,
303 MAX_ACCEPT = 357,
304 MAX_BANS = 358,
305 MAX_CHANS_PER_USER = 359,
306 MAX_GLOBAL = 360,
307 MAX_IDENT = 361,
308 MAX_LOCAL = 362,
309 MAX_NICK_CHANGES = 363,
310 MAX_NICK_TIME = 364,
311 MAX_NUMBER = 365,
312 MAX_TARGETS = 366,
313 MAX_WATCH = 367,
314 MESSAGE_LOCALE = 368,
315 MIN_NONWILDCARD = 369,
316 MIN_NONWILDCARD_SIMPLE = 370,
317 MODULE = 371,
318 MODULES = 372,
319 NAME = 373,
320 NEED_PASSWORD = 374,
321 NETWORK_DESC = 375,
322 NETWORK_NAME = 376,
323 NICK = 377,
324 NICK_CHANGES = 378,
325 NO_CREATE_ON_SPLIT = 379,
326 NO_JOIN_ON_SPLIT = 380,
327 NO_OPER_FLOOD = 381,
328 NO_TILDE = 382,
329 NOT = 383,
330 NUMBER = 384,
331 NUMBER_PER_IDENT = 385,
332 NUMBER_PER_CIDR = 386,
333 NUMBER_PER_IP = 387,
334 NUMBER_PER_IP_GLOBAL = 388,
335 OPERATOR = 389,
336 OPERS_BYPASS_CALLERID = 390,
337 OPER_LOG = 391,
338 OPER_ONLY_UMODES = 392,
339 OPER_PASS_RESV = 393,
340 OPER_SPY_T = 394,
341 OPER_UMODES = 395,
342 JOIN_FLOOD_COUNT = 396,
343 JOIN_FLOOD_TIME = 397,
344 PACE_WAIT = 398,
345 PACE_WAIT_SIMPLE = 399,
346 PASSWORD = 400,
347 PATH = 401,
348 PING_COOKIE = 402,
349 PING_TIME = 403,
350 PING_WARNING = 404,
351 PORT = 405,
352 QSTRING = 406,
353 QUIET_ON_BAN = 407,
354 REASON = 408,
355 REDIRPORT = 409,
356 REDIRSERV = 410,
357 REGEX_T = 411,
358 REHASH = 412,
359 TREJECT_HOLD_TIME = 413,
360 REMOTE = 414,
361 REMOTEBAN = 415,
362 RESTRICT_CHANNELS = 416,
363 RESTRICTED = 417,
364 RSA_PRIVATE_KEY_FILE = 418,
365 RSA_PUBLIC_KEY_FILE = 419,
366 SSL_CERTIFICATE_FILE = 420,
367 T_SSL_CONNECTION_METHOD = 421,
368 T_SSLV3 = 422,
369 T_TLSV1 = 423,
370 RESV = 424,
371 RESV_EXEMPT = 425,
372 SECONDS = 426,
373 MINUTES = 427,
374 HOURS = 428,
375 DAYS = 429,
376 WEEKS = 430,
377 SENDQ = 431,
378 SEND_PASSWORD = 432,
379 SERVERHIDE = 433,
380 SERVERINFO = 434,
381 SERVLINK_PATH = 435,
382 IRCD_SID = 436,
383 TKLINE_EXPIRE_NOTICES = 437,
384 T_SHARED = 438,
385 T_CLUSTER = 439,
386 TYPE = 440,
387 SHORT_MOTD = 441,
388 SILENT = 442,
389 SPOOF = 443,
390 SPOOF_NOTICE = 444,
391 STATS_E_DISABLED = 445,
392 STATS_I_OPER_ONLY = 446,
393 STATS_K_OPER_ONLY = 447,
394 STATS_O_OPER_ONLY = 448,
395 STATS_P_OPER_ONLY = 449,
396 TBOOL = 450,
397 TMASKED = 451,
398 T_REJECT = 452,
399 TS_MAX_DELTA = 453,
400 TS_WARN_DELTA = 454,
401 TWODOTS = 455,
402 T_ALL = 456,
403 T_BOTS = 457,
404 T_SOFTCALLERID = 458,
405 T_CALLERID = 459,
406 T_CCONN = 460,
407 T_CCONN_FULL = 461,
408 T_CLIENT_FLOOD = 462,
409 T_DEAF = 463,
410 T_DEBUG = 464,
411 T_DRONE = 465,
412 T_EXTERNAL = 466,
413 T_FULL = 467,
414 T_INVISIBLE = 468,
415 T_IPV4 = 469,
416 T_IPV6 = 470,
417 T_LOCOPS = 471,
418 T_LOGPATH = 472,
419 T_L_CRIT = 473,
420 T_L_DEBUG = 474,
421 T_L_ERROR = 475,
422 T_L_INFO = 476,
423 T_L_NOTICE = 477,
424 T_L_TRACE = 478,
425 T_L_WARN = 479,
426 T_MAX_CLIENTS = 480,
427 T_NCHANGE = 481,
428 T_OPERWALL = 482,
429 T_REJ = 483,
430 T_SERVER = 484,
431 T_SERVNOTICE = 485,
432 T_SKILL = 486,
433 T_SPY = 487,
434 T_SSL = 488,
435 T_UMODES = 489,
436 T_UNAUTH = 490,
437 T_UNRESV = 491,
438 T_UNXLINE = 492,
439 T_GLOBOPS = 493,
440 T_WALLOP = 494,
441 T_SERVICE = 495,
442 T_SERVICES_NAME = 496,
443 THROTTLE_TIME = 497,
444 TOPICBURST = 498,
445 TRUE_NO_OPER_FLOOD = 499,
446 TKLINE = 500,
447 TXLINE = 501,
448 TRESV = 502,
449 UNKLINE = 503,
450 USER = 504,
451 USE_EGD = 505,
452 USE_EXCEPT = 506,
453 USE_INVEX = 507,
454 USE_KNOCK = 508,
455 USE_LOGGING = 509,
456 USE_WHOIS_ACTUALLY = 510,
457 VHOST = 511,
458 VHOST6 = 512,
459 XLINE = 513,
460 WARN = 514,
461 WARN_NO_NLINE = 515
462 };
463 #endif
464 /* Tokens. */
465 #define ACCEPT_PASSWORD 258
466 #define ACTION 259
467 #define ADMIN 260
468 #define AFTYPE 261
469 #define T_ALLOW 262
470 #define ANTI_NICK_FLOOD 263
471 #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
472 #define AUTOCONN 265
473 #define T_BLOCK 266
474 #define BURST_AWAY 267
475 #define BURST_TOPICWHO 268
476 #define BYTES 269
477 #define KBYTES 270
478 #define MBYTES 271
479 #define GBYTES 272
480 #define TBYTES 273
481 #define CALLER_ID_WAIT 274
482 #define CAN_FLOOD 275
483 #define CHANNEL 276
484 #define CIDR_BITLEN_IPV4 277
485 #define CIDR_BITLEN_IPV6 278
486 #define CIPHER_PREFERENCE 279
487 #define CLASS 280
488 #define COMPRESSED 281
489 #define COMPRESSION_LEVEL 282
490 #define CONNECT 283
491 #define CONNECTFREQ 284
492 #define CRYPTLINK 285
493 #define DEFAULT_CIPHER_PREFERENCE 286
494 #define DEFAULT_FLOODCOUNT 287
495 #define DEFAULT_SPLIT_SERVER_COUNT 288
496 #define DEFAULT_SPLIT_USER_COUNT 289
497 #define DENY 290
498 #define DESCRIPTION 291
499 #define DIE 292
500 #define DISABLE_AUTH 293
501 #define DISABLE_FAKE_CHANNELS 294
502 #define DISABLE_HIDDEN 295
503 #define DISABLE_LOCAL_CHANNELS 296
504 #define DISABLE_REMOTE_COMMANDS 297
505 #define DOTS_IN_IDENT 298
506 #define DURATION 299
507 #define EGDPOOL_PATH 300
508 #define EMAIL 301
509 #define ENABLE 302
510 #define ENCRYPTED 303
511 #define EXCEED_LIMIT 304
512 #define EXEMPT 305
513 #define FAILED_OPER_NOTICE 306
514 #define IRCD_FLAGS 307
515 #define FLATTEN_LINKS 308
516 #define FFAILED_OPERLOG 309
517 #define FKILLLOG 310
518 #define FKLINELOG 311
519 #define FGLINELOG 312
520 #define FIOERRLOG 313
521 #define FOPERLOG 314
522 #define FOPERSPYLOG 315
523 #define FUSERLOG 316
524 #define GECOS 317
525 #define GENERAL 318
526 #define GLINE 319
527 #define GLINES 320
528 #define GLINE_EXEMPT 321
529 #define GLINE_LOG 322
530 #define GLINE_TIME 323
531 #define GLINE_MIN_CIDR 324
532 #define GLINE_MIN_CIDR6 325
533 #define GLOBAL_KILL 326
534 #define IRCD_AUTH 327
535 #define NEED_IDENT 328
536 #define HAVENT_READ_CONF 329
537 #define HIDDEN 330
538 #define HIDDEN_ADMIN 331
539 #define HIDDEN_NAME 332
540 #define HIDDEN_OPER 333
541 #define HIDE_SERVER_IPS 334
542 #define HIDE_SERVERS 335
543 #define HIDE_SPOOF_IPS 336
544 #define HOST 337
545 #define HUB 338
546 #define HUB_MASK 339
547 #define IGNORE_BOGUS_TS 340
548 #define INVISIBLE_ON_CONNECT 341
549 #define IP 342
550 #define KILL 343
551 #define KILL_CHASE_TIME_LIMIT 344
552 #define KLINE 345
553 #define KLINE_EXEMPT 346
554 #define KLINE_REASON 347
555 #define KLINE_WITH_REASON 348
556 #define KNOCK_DELAY 349
557 #define KNOCK_DELAY_CHANNEL 350
558 #define LEAF_MASK 351
559 #define LINKS_DELAY 352
560 #define LISTEN 353
561 #define T_LOG 354
562 #define LOGGING 355
563 #define LOG_LEVEL 356
564 #define MAX_ACCEPT 357
565 #define MAX_BANS 358
566 #define MAX_CHANS_PER_USER 359
567 #define MAX_GLOBAL 360
568 #define MAX_IDENT 361
569 #define MAX_LOCAL 362
570 #define MAX_NICK_CHANGES 363
571 #define MAX_NICK_TIME 364
572 #define MAX_NUMBER 365
573 #define MAX_TARGETS 366
574 #define MAX_WATCH 367
575 #define MESSAGE_LOCALE 368
576 #define MIN_NONWILDCARD 369
577 #define MIN_NONWILDCARD_SIMPLE 370
578 #define MODULE 371
579 #define MODULES 372
580 #define NAME 373
581 #define NEED_PASSWORD 374
582 #define NETWORK_DESC 375
583 #define NETWORK_NAME 376
584 #define NICK 377
585 #define NICK_CHANGES 378
586 #define NO_CREATE_ON_SPLIT 379
587 #define NO_JOIN_ON_SPLIT 380
588 #define NO_OPER_FLOOD 381
589 #define NO_TILDE 382
590 #define NOT 383
591 #define NUMBER 384
592 #define NUMBER_PER_IDENT 385
593 #define NUMBER_PER_CIDR 386
594 #define NUMBER_PER_IP 387
595 #define NUMBER_PER_IP_GLOBAL 388
596 #define OPERATOR 389
597 #define OPERS_BYPASS_CALLERID 390
598 #define OPER_LOG 391
599 #define OPER_ONLY_UMODES 392
600 #define OPER_PASS_RESV 393
601 #define OPER_SPY_T 394
602 #define OPER_UMODES 395
603 #define JOIN_FLOOD_COUNT 396
604 #define JOIN_FLOOD_TIME 397
605 #define PACE_WAIT 398
606 #define PACE_WAIT_SIMPLE 399
607 #define PASSWORD 400
608 #define PATH 401
609 #define PING_COOKIE 402
610 #define PING_TIME 403
611 #define PING_WARNING 404
612 #define PORT 405
613 #define QSTRING 406
614 #define QUIET_ON_BAN 407
615 #define REASON 408
616 #define REDIRPORT 409
617 #define REDIRSERV 410
618 #define REGEX_T 411
619 #define REHASH 412
620 #define TREJECT_HOLD_TIME 413
621 #define REMOTE 414
622 #define REMOTEBAN 415
623 #define RESTRICT_CHANNELS 416
624 #define RESTRICTED 417
625 #define RSA_PRIVATE_KEY_FILE 418
626 #define RSA_PUBLIC_KEY_FILE 419
627 #define SSL_CERTIFICATE_FILE 420
628 #define T_SSL_CONNECTION_METHOD 421
629 #define T_SSLV3 422
630 #define T_TLSV1 423
631 #define RESV 424
632 #define RESV_EXEMPT 425
633 #define SECONDS 426
634 #define MINUTES 427
635 #define HOURS 428
636 #define DAYS 429
637 #define WEEKS 430
638 #define SENDQ 431
639 #define SEND_PASSWORD 432
640 #define SERVERHIDE 433
641 #define SERVERINFO 434
642 #define SERVLINK_PATH 435
643 #define IRCD_SID 436
644 #define TKLINE_EXPIRE_NOTICES 437
645 #define T_SHARED 438
646 #define T_CLUSTER 439
647 #define TYPE 440
648 #define SHORT_MOTD 441
649 #define SILENT 442
650 #define SPOOF 443
651 #define SPOOF_NOTICE 444
652 #define STATS_E_DISABLED 445
653 #define STATS_I_OPER_ONLY 446
654 #define STATS_K_OPER_ONLY 447
655 #define STATS_O_OPER_ONLY 448
656 #define STATS_P_OPER_ONLY 449
657 #define TBOOL 450
658 #define TMASKED 451
659 #define T_REJECT 452
660 #define TS_MAX_DELTA 453
661 #define TS_WARN_DELTA 454
662 #define TWODOTS 455
663 #define T_ALL 456
664 #define T_BOTS 457
665 #define T_SOFTCALLERID 458
666 #define T_CALLERID 459
667 #define T_CCONN 460
668 #define T_CCONN_FULL 461
669 #define T_CLIENT_FLOOD 462
670 #define T_DEAF 463
671 #define T_DEBUG 464
672 #define T_DRONE 465
673 #define T_EXTERNAL 466
674 #define T_FULL 467
675 #define T_INVISIBLE 468
676 #define T_IPV4 469
677 #define T_IPV6 470
678 #define T_LOCOPS 471
679 #define T_LOGPATH 472
680 #define T_L_CRIT 473
681 #define T_L_DEBUG 474
682 #define T_L_ERROR 475
683 #define T_L_INFO 476
684 #define T_L_NOTICE 477
685 #define T_L_TRACE 478
686 #define T_L_WARN 479
687 #define T_MAX_CLIENTS 480
688 #define T_NCHANGE 481
689 #define T_OPERWALL 482
690 #define T_REJ 483
691 #define T_SERVER 484
692 #define T_SERVNOTICE 485
693 #define T_SKILL 486
694 #define T_SPY 487
695 #define T_SSL 488
696 #define T_UMODES 489
697 #define T_UNAUTH 490
698 #define T_UNRESV 491
699 #define T_UNXLINE 492
700 #define T_GLOBOPS 493
701 #define T_WALLOP 494
702 #define T_SERVICE 495
703 #define T_SERVICES_NAME 496
704 #define THROTTLE_TIME 497
705 #define TOPICBURST 498
706 #define TRUE_NO_OPER_FLOOD 499
707 #define TKLINE 500
708 #define TXLINE 501
709 #define TRESV 502
710 #define UNKLINE 503
711 #define USER 504
712 #define USE_EGD 505
713 #define USE_EXCEPT 506
714 #define USE_INVEX 507
715 #define USE_KNOCK 508
716 #define USE_LOGGING 509
717 #define USE_WHOIS_ACTUALLY 510
718 #define VHOST 511
719 #define VHOST6 512
720 #define XLINE 513
721 #define WARN 514
722 #define WARN_NO_NLINE 515
723
724
725
726
727 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
728 typedef union YYSTYPE
729 {
730
731 /* Line 293 of yacc.c */
732 #line 131 "ircd_parser.y"
733
734 int number;
735 char *string;
736
737
738
739 /* Line 293 of yacc.c */
740 #line 741 "ircd_parser.c"
741 } YYSTYPE;
742 # define YYSTYPE_IS_TRIVIAL 1
743 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
744 # define YYSTYPE_IS_DECLARED 1
745 #endif
746
747
748 /* Copy the second part of user declarations. */
749
750
751 /* Line 343 of yacc.c */
752 #line 753 "ircd_parser.c"
753
754 #ifdef short
755 # undef short
756 #endif
757
758 #ifdef YYTYPE_UINT8
759 typedef YYTYPE_UINT8 yytype_uint8;
760 #else
761 typedef unsigned char yytype_uint8;
762 #endif
763
764 #ifdef YYTYPE_INT8
765 typedef YYTYPE_INT8 yytype_int8;
766 #elif (defined __STDC__ || defined __C99__FUNC__ \
767 || defined __cplusplus || defined _MSC_VER)
768 typedef signed char yytype_int8;
769 #else
770 typedef short int yytype_int8;
771 #endif
772
773 #ifdef YYTYPE_UINT16
774 typedef YYTYPE_UINT16 yytype_uint16;
775 #else
776 typedef unsigned short int yytype_uint16;
777 #endif
778
779 #ifdef YYTYPE_INT16
780 typedef YYTYPE_INT16 yytype_int16;
781 #else
782 typedef short int yytype_int16;
783 #endif
784
785 #ifndef YYSIZE_T
786 # ifdef __SIZE_TYPE__
787 # define YYSIZE_T __SIZE_TYPE__
788 # elif defined size_t
789 # define YYSIZE_T size_t
790 # elif ! defined YYSIZE_T && (defined __STDC__ || defined __C99__FUNC__ \
791 || defined __cplusplus || defined _MSC_VER)
792 # include <stddef.h> /* INFRINGES ON USER NAME SPACE */
793 # define YYSIZE_T size_t
794 # else
795 # define YYSIZE_T unsigned int
796 # endif
797 #endif
798
799 #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
800
801 #ifndef YY_
802 # if defined YYENABLE_NLS && YYENABLE_NLS
803 # if ENABLE_NLS
804 # include <libintl.h> /* INFRINGES ON USER NAME SPACE */
805 # define YY_(msgid) dgettext ("bison-runtime", msgid)
806 # endif
807 # endif
808 # ifndef YY_
809 # define YY_(msgid) msgid
810 # endif
811 #endif
812
813 /* Suppress unused-variable warnings by "using" E. */
814 #if ! defined lint || defined __GNUC__
815 # define YYUSE(e) ((void) (e))
816 #else
817 # define YYUSE(e) /* empty */
818 #endif
819
820 /* Identity function, used to suppress warnings about constant conditions. */
821 #ifndef lint
822 # define YYID(n) (n)
823 #else
824 #if (defined __STDC__ || defined __C99__FUNC__ \
825 || defined __cplusplus || defined _MSC_VER)
826 static int
827 YYID (int yyi)
828 #else
829 static int
830 YYID (yyi)
831 int yyi;
832 #endif
833 {
834 return yyi;
835 }
836 #endif
837
838 #if ! defined yyoverflow || YYERROR_VERBOSE
839
840 /* The parser invokes alloca or malloc; define the necessary symbols. */
841
842 # ifdef YYSTACK_USE_ALLOCA
843 # if YYSTACK_USE_ALLOCA
844 # ifdef __GNUC__
845 # define YYSTACK_ALLOC __builtin_alloca
846 # elif defined __BUILTIN_VA_ARG_INCR
847 # include <alloca.h> /* INFRINGES ON USER NAME SPACE */
848 # elif defined _AIX
849 # define YYSTACK_ALLOC __alloca
850 # elif defined _MSC_VER
851 # include <malloc.h> /* INFRINGES ON USER NAME SPACE */
852 # define alloca _alloca
853 # else
854 # define YYSTACK_ALLOC alloca
855 # if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
856 || defined __cplusplus || defined _MSC_VER)
857 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
858 # ifndef EXIT_SUCCESS
859 # define EXIT_SUCCESS 0
860 # endif
861 # endif
862 # endif
863 # endif
864 # endif
865
866 # ifdef YYSTACK_ALLOC
867 /* Pacify GCC's `empty if-body' warning. */
868 # define YYSTACK_FREE(Ptr) do { /* empty */; } while (YYID (0))
869 # ifndef YYSTACK_ALLOC_MAXIMUM
870 /* The OS might guarantee only one guard page at the bottom of the stack,
871 and a page size can be as small as 4096 bytes. So we cannot safely
872 invoke alloca (N) if N exceeds 4096. Use a slightly smaller number
873 to allow for a few compiler-allocated temporary stack slots. */
874 # define YYSTACK_ALLOC_MAXIMUM 4032 /* reasonable circa 2006 */
875 # endif
876 # else
877 # define YYSTACK_ALLOC YYMALLOC
878 # define YYSTACK_FREE YYFREE
879 # ifndef YYSTACK_ALLOC_MAXIMUM
880 # define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
881 # endif
882 # if (defined __cplusplus && ! defined EXIT_SUCCESS \
883 && ! ((defined YYMALLOC || defined malloc) \
884 && (defined YYFREE || defined free)))
885 # include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
886 # ifndef EXIT_SUCCESS
887 # define EXIT_SUCCESS 0
888 # endif
889 # endif
890 # ifndef YYMALLOC
891 # define YYMALLOC malloc
892 # if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
893 || defined __cplusplus || defined _MSC_VER)
894 void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
895 # endif
896 # endif
897 # ifndef YYFREE
898 # define YYFREE free
899 # if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
900 || defined __cplusplus || defined _MSC_VER)
901 void free (void *); /* INFRINGES ON USER NAME SPACE */
902 # endif
903 # endif
904 # endif
905 #endif /* ! defined yyoverflow || YYERROR_VERBOSE */
906
907
908 #if (! defined yyoverflow \
909 && (! defined __cplusplus \
910 || (defined YYSTYPE_IS_TRIVIAL && YYSTYPE_IS_TRIVIAL)))
911
912 /* A type that is properly aligned for any stack member. */
913 union yyalloc
914 {
915 yytype_int16 yyss_alloc;
916 YYSTYPE yyvs_alloc;
917 };
918
919 /* The size of the maximum gap between one aligned stack and the next. */
920 # define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1)
921
922 /* The size of an array large to enough to hold all stacks, each with
923 N elements. */
924 # define YYSTACK_BYTES(N) \
925 ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
926 + YYSTACK_GAP_MAXIMUM)
927
928 # define YYCOPY_NEEDED 1
929
930 /* Relocate STACK from its old location to the new one. The
931 local variables YYSIZE and YYSTACKSIZE give the old and new number of
932 elements in the stack, and YYPTR gives the new location of the
933 stack. Advance YYPTR to a properly aligned location for the next
934 stack. */
935 # define YYSTACK_RELOCATE(Stack_alloc, Stack) \
936 do \
937 { \
938 YYSIZE_T yynewbytes; \
939 YYCOPY (&yyptr->Stack_alloc, Stack, yysize); \
940 Stack = &yyptr->Stack_alloc; \
941 yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \
942 yyptr += yynewbytes / sizeof (*yyptr); \
943 } \
944 while (YYID (0))
945
946 #endif
947
948 #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
949 /* Copy COUNT objects from FROM to TO. The source and destination do
950 not overlap. */
951 # ifndef YYCOPY
952 # if defined __GNUC__ && 1 < __GNUC__
953 # define YYCOPY(To, From, Count) \
954 __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
955 # else
956 # define YYCOPY(To, From, Count) \
957 do \
958 { \
959 YYSIZE_T yyi; \
960 for (yyi = 0; yyi < (Count); yyi++) \
961 (To)[yyi] = (From)[yyi]; \
962 } \
963 while (YYID (0))
964 # endif
965 # endif
966 #endif /* !YYCOPY_NEEDED */
967
968 /* YYFINAL -- State number of the termination state. */
969 #define YYFINAL 2
970 /* YYLAST -- Last index in YYTABLE. */
971 #define YYLAST 1270
972
973 /* YYNTOKENS -- Number of terminals. */
974 #define YYNTOKENS 266
975 /* YYNNTS -- Number of nonterminals. */
976 #define YYNNTS 322
977 /* YYNRULES -- Number of rules. */
978 #define YYNRULES 694
979 /* YYNRULES -- Number of states. */
980 #define YYNSTATES 1368
981
982 /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */
983 #define YYUNDEFTOK 2
984 #define YYMAXUTOK 515
985
986 #define YYTRANSLATE(YYX) \
987 ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
988
989 /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */
990 static const yytype_uint16 yytranslate[] =
991 {
992 0, 2, 2, 2, 2, 2, 2, 2, 2, 2,
993 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
994 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
995 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
996 2, 2, 2, 2, 265, 2, 2, 2, 2, 2,
997 2, 2, 2, 2, 2, 2, 2, 2, 2, 261,
998 2, 264, 2, 2, 2, 2, 2, 2, 2, 2,
999 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1000 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1001 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1002 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1003 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1004 2, 2, 2, 263, 2, 262, 2, 2, 2, 2,
1005 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1006 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1007 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1008 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1009 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1010 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1011 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1012 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1013 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1014 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1015 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1016 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
1017 2, 2, 2, 2, 2, 2, 1, 2, 3, 4,
1018 5, 6, 7, 8, 9, 10, 11, 12, 13, 14,
1019 15, 16, 17, 18, 19, 20, 21, 22, 23, 24,
1020 25, 26, 27, 28, 29, 30, 31, 32, 33, 34,
1021 35, 36, 37, 38, 39, 40, 41, 42, 43, 44,
1022 45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
1023 55, 56, 57, 58, 59, 60, 61, 62, 63, 64,
1024 65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
1025 75, 76, 77, 78, 79, 80, 81, 82, 83, 84,
1026 85, 86, 87, 88, 89, 90, 91, 92, 93, 94,
1027 95, 96, 97, 98, 99, 100, 101, 102, 103, 104,
1028 105, 106, 107, 108, 109, 110, 111, 112, 113, 114,
1029 115, 116, 117, 118, 119, 120, 121, 122, 123, 124,
1030 125, 126, 127, 128, 129, 130, 131, 132, 133, 134,
1031 135, 136, 137, 138, 139, 140, 141, 142, 143, 144,
1032 145, 146, 147, 148, 149, 150, 151, 152, 153, 154,
1033 155, 156, 157, 158, 159, 160, 161, 162, 163, 164,
1034 165, 166, 167, 168, 169, 170, 171, 172, 173, 174,
1035 175, 176, 177, 178, 179, 180, 181, 182, 183, 184,
1036 185, 186, 187, 188, 189, 190, 191, 192, 193, 194,
1037 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1038 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1039 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1040 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1041 235, 236, 237, 238, 239, 240, 241, 242, 243, 244,
1042 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
1043 255, 256, 257, 258, 259, 260
1044 };
1045
1046 #if YYDEBUG
1047 /* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in
1048 YYRHS. */
1049 static const yytype_uint16 yyprhs[] =
1050 {
1051 0, 0, 3, 4, 7, 9, 11, 13, 15, 17,
1052 19, 21, 23, 25, 27, 29, 31, 33, 35, 37,
1053 39, 41, 43, 45, 47, 49, 52, 55, 56, 58,
1054 61, 65, 69, 73, 77, 81, 82, 84, 87, 91,
1055 95, 99, 105, 108, 110, 112, 114, 117, 122, 127,
1056 133, 136, 138, 140, 142, 144, 146, 148, 150, 152,
1057 154, 156, 158, 160, 162, 165, 166, 172, 176, 178,
1058 180, 182, 187, 192, 197, 202, 207, 212, 217, 222,
1059 227, 232, 237, 243, 246, 248, 250, 252, 254, 257,
1060 262, 267, 272, 278, 281, 283, 285, 287, 289, 291,
1061 293, 295, 297, 299, 301, 303, 305, 307, 310, 315,
1062 320, 325, 330, 335, 340, 345, 350, 355, 360, 365,
1063 370, 375, 380, 385, 390, 395, 400, 401, 409, 410,
1064 412, 415, 417, 419, 421, 423, 425, 427, 429, 431,
1065 433, 436, 441, 443, 448, 453, 458, 463, 468, 469,
1066 475, 479, 481, 483, 485, 487, 489, 491, 493, 495,
1067 497, 499, 501, 503, 505, 507, 509, 511, 513, 515,
1068 517, 519, 520, 526, 530, 532, 533, 537, 538, 541,
1069 543, 545, 547, 549, 551, 553, 555, 557, 559, 561,
1070 563, 565, 567, 569, 571, 573, 575, 576, 584, 585,
1071 587, 590, 592, 594, 596, 598, 600, 602, 604, 606,
1072 608, 610, 612, 614, 616, 618, 621, 626, 628, 633,
1073 638, 643, 648, 653, 658, 663, 668, 673, 678, 683,
1074 688, 689, 696, 697, 703, 707, 709, 711, 713, 715,
1075 718, 720, 722, 724, 726, 728, 731, 732, 738, 742,
1076 744, 746, 750, 755, 760, 761, 768, 771, 773, 775,
1077 777, 779, 781, 783, 785, 787, 789, 792, 797, 802,
1078 807, 812, 813, 819, 823, 825, 826, 830, 831, 834,
1079 836, 838, 840, 842, 844, 846, 848, 850, 852, 857,
1080 862, 867, 868, 875, 878, 880, 882, 884, 886, 889,
1081 894, 899, 904, 910, 913, 915, 917, 919, 924, 925,
1082 932, 935, 937, 939, 941, 943, 946, 951, 956, 957,
1083 963, 967, 969, 971, 973, 975, 977, 979, 981, 983,
1084 985, 987, 989, 991, 992, 999, 1002, 1004, 1006, 1008,
1085 1011, 1016, 1017, 1023, 1027, 1029, 1031, 1033, 1035, 1037,
1086 1039, 1041, 1043, 1045, 1047, 1049, 1051, 1052, 1060, 1061,
1087 1063, 1066, 1068, 1070, 1072, 1074, 1076, 1078, 1080, 1082,
1088 1084, 1086, 1088, 1090, 1092, 1094, 1096, 1099, 1104, 1106,
1089 1111, 1116, 1121, 1126, 1131, 1136, 1141, 1142, 1148, 1152,
1090 1154, 1155, 1159, 1160, 1163, 1165, 1167, 1169, 1171, 1173,
1091 1178, 1183, 1188, 1193, 1198, 1203, 1204, 1211, 1212, 1218,
1092 1222, 1224, 1226, 1229, 1231, 1233, 1235, 1237, 1239, 1244,
1093 1249, 1250, 1257, 1260, 1262, 1264, 1266, 1268, 1273, 1278,
1094 1284, 1287, 1289, 1291, 1293, 1298, 1299, 1306, 1307, 1313,
1095 1317, 1319, 1321, 1324, 1326, 1328, 1330, 1332, 1334, 1339,
1096 1344, 1350, 1353, 1355, 1357, 1359, 1361, 1363, 1365, 1367,
1097 1369, 1371, 1373, 1375, 1377, 1379, 1381, 1383, 1385, 1387,
1098 1389, 1391, 1393, 1395, 1397, 1399, 1401, 1403, 1405, 1407,
1099 1409, 1411, 1413, 1415, 1417, 1419, 1421, 1423, 1425, 1427,
1100 1429, 1431, 1433, 1435, 1437, 1439, 1441, 1443, 1445, 1447,
1101 1449, 1451, 1453, 1455, 1457, 1459, 1461, 1463, 1465, 1467,
1102 1472, 1477, 1482, 1487, 1492, 1497, 1502, 1507, 1512, 1517,
1103 1522, 1527, 1532, 1537, 1542, 1547, 1552, 1557, 1562, 1567,
1104 1572, 1577, 1582, 1587, 1592, 1597, 1602, 1607, 1612, 1617,
1105 1622, 1627, 1632, 1637, 1642, 1647, 1652, 1657, 1662, 1667,
1106 1672, 1677, 1682, 1687, 1692, 1697, 1702, 1707, 1712, 1717,
1107 1722, 1723, 1729, 1733, 1735, 1737, 1739, 1741, 1743, 1745,
1108 1747, 1749, 1751, 1753, 1755, 1757, 1759, 1761, 1763, 1765,
1109 1767, 1769, 1771, 1773, 1774, 1780, 1784, 1786, 1788, 1790,
1110 1792, 1794, 1796, 1798, 1800, 1802, 1804, 1806, 1808, 1810,
1111 1812, 1814, 1816, 1818, 1820, 1822, 1824, 1829, 1834, 1839,
1112 1844, 1845, 1852, 1855, 1857, 1859, 1861, 1863, 1865, 1867,
1113 1869, 1871, 1876, 1881, 1882, 1888, 1892, 1894, 1896, 1898,
1114 1903, 1908, 1909, 1915, 1919, 1921, 1923, 1925, 1931, 1934,
1115 1936, 1938, 1940, 1942, 1944, 1946, 1948, 1950, 1952, 1954,
1116 1956, 1958, 1960, 1962, 1964, 1966, 1968, 1970, 1972, 1974,
1117 1979, 1984, 1989, 1994, 1999, 2004, 2009, 2014, 2019, 2024,
1118 2029, 2034, 2039, 2044, 2049, 2054, 2059, 2064, 2070, 2073,
1119 2075, 2077, 2079, 2081, 2083, 2085, 2087, 2089, 2091, 2096,
1120 2101, 2106, 2111, 2116, 2121
1121 };
1122
1123 /* YYRHS -- A `-1'-separated list of the rules' RHS. */
1124 static const yytype_int16 yyrhs[] =
1125 {
1126 267, 0, -1, -1, 267, 268, -1, 296, -1, 302,
1127 -1, 317, -1, 557, -1, 340, -1, 359, -1, 373,
1128 -1, 278, -1, 578, -1, 391, -1, 398, -1, 402,
1129 -1, 412, -1, 421, -1, 447, -1, 457, -1, 463,
1130 -1, 477, -1, 541, -1, 467, -1, 273, -1, 1,
1131 261, -1, 1, 262, -1, -1, 270, -1, 129, 269,
1132 -1, 129, 171, 269, -1, 129, 172, 269, -1, 129,
1133 173, 269, -1, 129, 174, 269, -1, 129, 175, 269,
1134 -1, -1, 272, -1, 129, 271, -1, 129, 14, 271,
1135 -1, 129, 15, 271, -1, 129, 16, 271, -1, 117,
1136 263, 274, 262, 261, -1, 274, 275, -1, 275, -1,
1137 276, -1, 277, -1, 1, 261, -1, 116, 264, 151,
1138 261, -1, 146, 264, 151, 261, -1, 179, 263, 279,
1139 262, 261, -1, 279, 280, -1, 280, -1, 287, -1,
1140 292, -1, 295, -1, 289, -1, 290, -1, 291, -1,
1141 294, -1, 286, -1, 293, -1, 288, -1, 285, -1,
1142 281, -1, 1, 261, -1, -1, 166, 282, 264, 283,
1143 261, -1, 283, 265, 284, -1, 284, -1, 167, -1,
1144 168, -1, 165, 264, 151, 261, -1, 163, 264, 151,
1145 261, -1, 118, 264, 151, 261, -1, 181, 264, 151,
1146 261, -1, 36, 264, 151, 261, -1, 121, 264, 151,
1147 261, -1, 120, 264, 151, 261, -1, 256, 264, 151,
1148 261, -1, 257, 264, 151, 261, -1, 225, 264, 129,
1149 261, -1, 83, 264, 195, 261, -1, 5, 263, 297,
1150 262, 261, -1, 297, 298, -1, 298, -1, 299, -1,
1151 301, -1, 300, -1, 1, 261, -1, 118, 264, 151,
1152 261, -1, 46, 264, 151, 261, -1, 36, 264, 151,
1153 261, -1, 100, 263, 303, 262, 261, -1, 303, 304,
1154 -1, 304, -1, 305, -1, 306, -1, 315, -1, 316,
1155 -1, 307, -1, 309, -1, 311, -1, 312, -1, 314,
1156 -1, 310, -1, 313, -1, 308, -1, 1, 261, -1,
1157 217, 264, 151, 261, -1, 136, 264, 151, 261, -1,
1158 61, 264, 151, 261, -1, 54, 264, 151, 261, -1,
1159 59, 264, 151, 261, -1, 60, 264, 151, 261, -1,
1160 57, 264, 151, 261, -1, 56, 264, 151, 261, -1,
1161 58, 264, 151, 261, -1, 55, 264, 151, 261, -1,
1162 101, 264, 218, 261, -1, 101, 264, 220, 261, -1,
1163 101, 264, 224, 261, -1, 101, 264, 222, 261, -1,
1164 101, 264, 223, 261, -1, 101, 264, 221, 261, -1,
1165 101, 264, 219, 261, -1, 254, 264, 195, 261, -1,
1166 -1, 134, 318, 319, 263, 320, 262, 261, -1, -1,
1167 323, -1, 320, 321, -1, 321, -1, 322, -1, 324,
1168 -1, 325, -1, 329, -1, 328, -1, 326, -1, 327,
1169 -1, 333, -1, 1, 261, -1, 118, 264, 151, 261,
1170 -1, 151, -1, 249, 264, 151, 261, -1, 145, 264,
1171 151, 261, -1, 48, 264, 195, 261, -1, 164, 264,
1172 151, 261, -1, 25, 264, 151, 261, -1, -1, 234,
1173 330, 264, 331, 261, -1, 331, 265, 332, -1, 332,
1174 -1, 202, -1, 205, -1, 206, -1, 208, -1, 209,
1175 -1, 212, -1, 231, -1, 226, -1, 228, -1, 235,
1176 -1, 232, -1, 211, -1, 227, -1, 230, -1, 213,
1177 -1, 239, -1, 203, -1, 204, -1, 216, -1, -1,
1178 52, 334, 264, 335, 261, -1, 335, 265, 336, -1,
1179 336, -1, -1, 128, 337, 339, -1, -1, 338, 339,
1180 -1, 71, -1, 159, -1, 90, -1, 248, -1, 258,
1181 -1, 64, -1, 37, -1, 157, -1, 5, -1, 76,
1182 -1, 123, -1, 227, -1, 238, -1, 139, -1, 78,
1183 -1, 160, -1, 48, -1, -1, 25, 341, 342, 263,
1184 343, 262, 261, -1, -1, 346, -1, 343, 344, -1,
1185 344, -1, 345, -1, 356, -1, 357, -1, 347, -1,
1186 348, -1, 358, -1, 349, -1, 350, -1, 351, -1,
1187 352, -1, 353, -1, 354, -1, 355, -1, 1, 261,
1188 -1, 118, 264, 151, 261, -1, 151, -1, 148, 264,
1189 270, 261, -1, 149, 264, 270, 261, -1, 132, 264,
1190 129, 261, -1, 29, 264, 270, 261, -1, 110, 264,
1191 129, 261, -1, 105, 264, 129, 261, -1, 107, 264,
1192 129, 261, -1, 106, 264, 129, 261, -1, 176, 264,
1193 272, 261, -1, 22, 264, 129, 261, -1, 23, 264,
1194 129, 261, -1, 131, 264, 129, 261, -1, -1, 98,
1195 360, 263, 365, 262, 261, -1, -1, 52, 362, 264,
1196 363, 261, -1, 363, 265, 364, -1, 364, -1, 233,
1197 -1, 75, -1, 229, -1, 365, 366, -1, 366, -1,
1198 367, -1, 361, -1, 371, -1, 372, -1, 1, 261,
1199 -1, -1, 150, 264, 369, 368, 261, -1, 369, 265,
1200 370, -1, 370, -1, 129, -1, 129, 200, 129, -1,
1201 87, 264, 151, 261, -1, 82, 264, 151, 261, -1,
1202 -1, 72, 374, 263, 375, 262, 261, -1, 375, 376,
1203 -1, 376, -1, 377, -1, 378, -1, 379, -1, 381,
1204 -1, 388, -1, 389, -1, 390, -1, 380, -1, 1,
1205 261, -1, 249, 264, 151, 261, -1, 145, 264, 151,
1206 261, -1, 25, 264, 151, 261, -1, 48, 264, 195,
1207 261, -1, -1, 52, 382, 264, 383, 261, -1, 383,
1208 265, 384, -1, 384, -1, -1, 128, 385, 387, -1,
1209 -1, 386, 387, -1, 189, -1, 49, -1, 91, -1,
1210 73, -1, 20, -1, 127, -1, 66, -1, 170, -1,
1211 119, -1, 188, 264, 151, 261, -1, 155, 264, 151,
1212 261, -1, 154, 264, 129, 261, -1, -1, 169, 392,
1213 263, 393, 262, 261, -1, 393, 394, -1, 394, -1,
1214 395, -1, 396, -1, 397, -1, 1, 261, -1, 153,
1215 264, 151, 261, -1, 21, 264, 151, 261, -1, 122,
1216 264, 151, 261, -1, 240, 263, 399, 262, 261, -1,
1217 399, 400, -1, 400, -1, 401, -1, 1, -1, 118,
1218 264, 151, 261, -1, -1, 183, 403, 263, 404, 262,
1219 261, -1, 404, 405, -1, 405, -1, 406, -1, 407,
1220 -1, 408, -1, 1, 261, -1, 118, 264, 151, 261,
1221 -1, 249, 264, 151, 261, -1, -1, 185, 409, 264,
1222 410, 261, -1, 410, 265, 411, -1, 411, -1, 90,
1223 -1, 245, -1, 248, -1, 258, -1, 246, -1, 237,
1224 -1, 169, -1, 247, -1, 236, -1, 216, -1, 201,
1225 -1, -1, 184, 413, 263, 414, 262, 261, -1, 414,
1226 415, -1, 415, -1, 416, -1, 417, -1, 1, 261,
1227 -1, 118, 264, 151, 261, -1, -1, 185, 418, 264,
1228 419, 261, -1, 419, 265, 420, -1, 420, -1, 90,
1229 -1, 245, -1, 248, -1, 258, -1, 246, -1, 237,
1230 -1, 169, -1, 247, -1, 236, -1, 216, -1, 201,
1231 -1, -1, 28, 422, 423, 263, 424, 262, 261, -1,
1232 -1, 427, -1, 424, 425, -1, 425, -1, 426, -1,
1233 428, -1, 429, -1, 430, -1, 431, -1, 433, -1,
1234 432, -1, 434, -1, 443, -1, 444, -1, 445, -1,
1235 442, -1, 441, -1, 446, -1, 1, 261, -1, 118,
1236 264, 151, 261, -1, 151, -1, 82, 264, 151, 261,
1237 -1, 256, 264, 151, 261, -1, 177, 264, 151, 261,
1238 -1, 3, 264, 151, 261, -1, 150, 264, 129, 261,
1239 -1, 6, 264, 214, 261, -1, 6, 264, 215, 261,
1240 -1, -1, 52, 435, 264, 436, 261, -1, 436, 265,
1241 437, -1, 437, -1, -1, 128, 438, 440, -1, -1,
1242 439, 440, -1, 26, -1, 30, -1, 10, -1, 12,
1243 -1, 243, -1, 164, 264, 151, 261, -1, 48, 264,
1244 195, 261, -1, 84, 264, 151, 261, -1, 96, 264,
1245 151, 261, -1, 25, 264, 151, 261, -1, 24, 264,
1246 151, 261, -1, -1, 88, 448, 263, 453, 262, 261,
1247 -1, -1, 185, 450, 264, 451, 261, -1, 451, 265,
1248 452, -1, 452, -1, 156, -1, 453, 454, -1, 454,
1249 -1, 455, -1, 456, -1, 449, -1, 1, -1, 249,
1250 264, 151, 261, -1, 153, 264, 151, 261, -1, -1,
1251 35, 458, 263, 459, 262, 261, -1, 459, 460, -1,
1252 460, -1, 461, -1, 462, -1, 1, -1, 87, 264,
1253 151, 261, -1, 153, 264, 151, 261, -1, 50, 263,
1254 464, 262, 261, -1, 464, 465, -1, 465, -1, 466,
1255 -1, 1, -1, 87, 264, 151, 261, -1, -1, 62,
1256 468, 263, 473, 262, 261, -1, -1, 185, 470, 264,
1257 471, 261, -1, 471, 265, 472, -1, 472, -1, 156,
1258 -1, 473, 474, -1, 474, -1, 475, -1, 476, -1,
1259 469, -1, 1, -1, 118, 264, 151, 261, -1, 153,
1260 264, 151, 261, -1, 63, 263, 478, 262, 261, -1,
1261 478, 479, -1, 479, -1, 488, -1, 489, -1, 491,
1262 -1, 492, -1, 493, -1, 494, -1, 495, -1, 496,
1263 -1, 497, -1, 498, -1, 487, -1, 500, -1, 501,
1264 -1, 502, -1, 503, -1, 518, -1, 505, -1, 507,
1265 -1, 509, -1, 508, -1, 512, -1, 506, -1, 513,
1266 -1, 514, -1, 515, -1, 516, -1, 517, -1, 533,
1267 -1, 519, -1, 523, -1, 524, -1, 529, -1, 510,
1268 -1, 511, -1, 539, -1, 537, -1, 538, -1, 520,
1269 -1, 490, -1, 521, -1, 522, -1, 540, -1, 528,
1270 -1, 499, -1, 526, -1, 527, -1, 483, -1, 486,
1271 -1, 481, -1, 482, -1, 484, -1, 485, -1, 504,
1272 -1, 480, -1, 525, -1, 1, -1, 112, 264, 129,
1273 261, -1, 69, 264, 129, 261, -1, 70, 264, 129,
1274 261, -1, 12, 264, 195, 261, -1, 255, 264, 195,
1275 261, -1, 158, 264, 270, 261, -1, 182, 264, 195,
1276 261, -1, 89, 264, 270, 261, -1, 81, 264, 195,
1277 261, -1, 85, 264, 195, 261, -1, 42, 264, 195,
1278 261, -1, 51, 264, 195, 261, -1, 8, 264, 195,
1279 261, -1, 109, 264, 270, 261, -1, 108, 264, 129,
1280 261, -1, 102, 264, 129, 261, -1, 9, 264, 270,
1281 261, -1, 199, 264, 270, 261, -1, 198, 264, 270,
1282 261, -1, 74, 264, 129, 261, -1, 93, 264, 195,
1283 261, -1, 92, 264, 151, 261, -1, 86, 264, 195,
1284 261, -1, 260, 264, 195, 261, -1, 190, 264, 195,
1285 261, -1, 193, 264, 195, 261, -1, 194, 264, 195,
1286 261, -1, 192, 264, 195, 261, -1, 192, 264, 196,
1287 261, -1, 191, 264, 195, 261, -1, 191, 264, 196,
1288 261, -1, 143, 264, 270, 261, -1, 19, 264, 270,
1289 261, -1, 135, 264, 195, 261, -1, 144, 264, 270,
1290 261, -1, 186, 264, 195, 261, -1, 126, 264, 195,
1291 261, -1, 244, 264, 195, 261, -1, 138, 264, 195,
1292 261, -1, 113, 264, 151, 261, -1, 43, 264, 129,
1293 261, -1, 111, 264, 129, 261, -1, 180, 264, 151,
1294 261, -1, 31, 264, 151, 261, -1, 27, 264, 129,
1295 261, -1, 250, 264, 195, 261, -1, 45, 264, 151,
1296 261, -1, 241, 264, 151, 261, -1, 147, 264, 195,
1297 261, -1, 38, 264, 195, 261, -1, 242, 264, 270,
1298 261, -1, -1, 140, 530, 264, 531, 261, -1, 531,
1299 265, 532, -1, 532, -1, 202, -1, 205, -1, 206,
1300 -1, 208, -1, 209, -1, 212, -1, 231, -1, 226,
1301 -1, 228, -1, 235, -1, 232, -1, 211, -1, 227,
1302 -1, 230, -1, 213, -1, 239, -1, 203, -1, 204,
1303 -1, 216, -1, -1, 137, 534, 264, 535, 261, -1,
1304 535, 265, 536, -1, 536, -1, 202, -1, 205, -1,
1305 206, -1, 208, -1, 209, -1, 212, -1, 231, -1,
1306 226, -1, 228, -1, 235, -1, 232, -1, 211, -1,
1307 227, -1, 230, -1, 213, -1, 239, -1, 203, -1,
1308 204, -1, 216, -1, 114, 264, 129, 261, -1, 115,
1309 264, 129, 261, -1, 32, 264, 129, 261, -1, 207,
1310 264, 272, 261, -1, -1, 65, 542, 263, 543, 262,
1311 261, -1, 543, 544, -1, 544, -1, 545, -1, 546,
1312 -1, 547, -1, 551, -1, 552, -1, 553, -1, 1,
1313 -1, 47, 264, 195, 261, -1, 44, 264, 270, 261,
1314 -1, -1, 100, 548, 264, 549, 261, -1, 549, 265,
1315 550, -1, 550, -1, 197, -1, 11, -1, 249, 264,
1316 151, 261, -1, 118, 264, 151, 261, -1, -1, 4,
1317 554, 264, 555, 261, -1, 555, 265, 556, -1, 556,
1318 -1, 197, -1, 11, -1, 21, 263, 558, 262, 261,
1319 -1, 558, 559, -1, 559, -1, 562, -1, 563, -1,
1320 564, -1, 565, -1, 570, -1, 566, -1, 567, -1,
1321 568, -1, 569, -1, 571, -1, 572, -1, 573, -1,
1322 561, -1, 574, -1, 575, -1, 576, -1, 577, -1,
1323 560, -1, 1, -1, 39, 264, 195, 261, -1, 161,
1324 264, 195, 261, -1, 41, 264, 195, 261, -1, 251,
1325 264, 195, 261, -1, 252, 264, 195, 261, -1, 253,
1326 264, 195, 261, -1, 94, 264, 270, 261, -1, 95,
1327 264, 270, 261, -1, 104, 264, 129, 261, -1, 152,
1328 264, 195, 261, -1, 103, 264, 129, 261, -1, 34,
1329 264, 129, 261, -1, 33, 264, 129, 261, -1, 124,
1330 264, 195, 261, -1, 125, 264, 195, 261, -1, 13,
1331 264, 195, 261, -1, 141, 264, 129, 261, -1, 142,
1332 264, 270, 261, -1, 178, 263, 579, 262, 261, -1,
1333 579, 580, -1, 580, -1, 581, -1, 582, -1, 584,
1334 -1, 586, -1, 585, -1, 583, -1, 587, -1, 1,
1335 -1, 53, 264, 195, 261, -1, 80, 264, 195, 261,
1336 -1, 77, 264, 151, 261, -1, 97, 264, 270, 261,
1337 -1, 75, 264, 195, 261, -1, 40, 264, 195, 261,
1338 -1, 79, 264, 195, 261, -1
1339 };
1340
1341 /* YYRLINE[YYN] -- source line where rule number YYN was defined. */
1342 static const yytype_uint16 yyrline[] =
1343 {
1344 0, 395, 395, 396, 399, 400, 401, 402, 403, 404,
1345 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1346 415, 416, 417, 418, 419, 420, 421, 425, 425, 426,
1347 430, 434, 438, 442, 446, 452, 452, 453, 454, 455,
1348 456, 463, 466, 466, 467, 467, 467, 469, 475, 482,
1349 484, 484, 485, 485, 486, 486, 487, 487, 488, 489,
1350 489, 490, 490, 491, 492, 496, 495, 514, 514, 515,
1351 521, 529, 563, 623, 638, 653, 662, 676, 685, 713,
1352 743, 766, 775, 777, 777, 778, 778, 779, 779, 781,
1353 790, 799, 812, 814, 815, 817, 817, 818, 819, 819,
1354 820, 820, 821, 821, 822, 822, 823, 824, 826, 830,
1355 834, 841, 848, 855, 862, 869, 876, 883, 890, 894,
1356 898, 902, 906, 910, 914, 920, 930, 929, 1023, 1023,
1357 1024, 1024, 1025, 1025, 1025, 1026, 1026, 1026, 1027, 1027,
1358 1027, 1029, 1041, 1053, 1087, 1099, 1110, 1152, 1162, 1161,
1359 1167, 1167, 1168, 1172, 1176, 1180, 1184, 1188, 1192, 1196,
1360 1200, 1204, 1208, 1212, 1216, 1220, 1224, 1228, 1232, 1236,
1361 1240, 1247, 1246, 1250, 1250, 1251, 1251, 1252, 1252, 1254,
1362 1261, 1268, 1275, 1282, 1289, 1296, 1303, 1310, 1317, 1324,
1363 1331, 1338, 1345, 1352, 1359, 1366, 1380, 1379, 1429, 1429,
1364 1431, 1431, 1432, 1433, 1433, 1434, 1435, 1436, 1437, 1438,
1365 1439, 1440, 1441, 1442, 1443, 1444, 1446, 1455, 1464, 1470,
1366 1476, 1482, 1488, 1494, 1500, 1506, 1512, 1518, 1524, 1530,
1367 1540, 1539, 1556, 1555, 1560, 1560, 1561, 1565, 1569, 1577,
1368 1577, 1578, 1578, 1578, 1578, 1578, 1580, 1580, 1582, 1582,
1369 1584, 1598, 1618, 1627, 1640, 1639, 1708, 1708, 1709, 1709,
1370 1709, 1709, 1710, 1710, 1710, 1711, 1711, 1713, 1750, 1763,
1371 1772, 1784, 1783, 1787, 1787, 1788, 1788, 1789, 1789, 1791,
1372 1798, 1805, 1812, 1819, 1826, 1833, 1840, 1847, 1857, 1876,
1373 1886, 1900, 1899, 1915, 1915, 1916, 1916, 1916, 1916, 1918,
1374 1927, 1942, 1955, 1957, 1957, 1958, 1958, 1960, 1976, 1975,
1375 1991, 1991, 1992, 1992, 1992, 1992, 1994, 2003, 2026, 2025,
1376 2031, 2031, 2032, 2036, 2040, 2044, 2048, 2052, 2056, 2060,
1377 2064, 2068, 2072, 2082, 2081, 2098, 2098, 2099, 2099, 2099,
1378 2101, 2108, 2107, 2113, 2113, 2114, 2118, 2122, 2126, 2130,
1379 2134, 2138, 2142, 2146, 2150, 2154, 2164, 2163, 2309, 2309,
1380 2310, 2310, 2311, 2311, 2311, 2312, 2312, 2313, 2313, 2314,
1381 2314, 2314, 2315, 2315, 2316, 2316, 2317, 2319, 2331, 2343,
1382 2352, 2378, 2396, 2414, 2420, 2424, 2433, 2432, 2436, 2436,
1383 2437, 2437, 2438, 2438, 2440, 2451, 2458, 2465, 2472, 2482,
1384 2523, 2534, 2547, 2560, 2569, 2605, 2604, 2668, 2667, 2671,
1385 2671, 2672, 2678, 2678, 2679, 2679, 2679, 2679, 2681, 2700,
1386 2710, 2709, 2732, 2732, 2733, 2733, 2733, 2735, 2741, 2750,
1387 2752, 2752, 2753, 2753, 2755, 2774, 2773, 2821, 2820, 2824,
1388 2824, 2825, 2831, 2831, 2832, 2832, 2832, 2832, 2834, 2840,
1389 2849, 2852, 2852, 2853, 2853, 2854, 2854, 2855, 2855, 2856,
1390 2856, 2857, 2857, 2858, 2858, 2859, 2859, 2860, 2860, 2861,
1391 2861, 2862, 2862, 2863, 2863, 2864, 2864, 2865, 2865, 2866,
1392 2867, 2867, 2868, 2868, 2869, 2869, 2870, 2870, 2871, 2871,
1393 2872, 2872, 2873, 2874, 2874, 2875, 2875, 2876, 2877, 2877,
1394 2878, 2878, 2879, 2879, 2880, 2880, 2881, 2881, 2882, 2885,
1395 2890, 2895, 2900, 2905, 2910, 2915, 2920, 2925, 2930, 2935,
1396 2940, 2945, 2950, 2955, 2960, 2965, 2970, 2975, 2981, 2992,
1397 2997, 3006, 3011, 3016, 3021, 3026, 3031, 3034, 3039, 3042,
1398 3047, 3052, 3057, 3062, 3067, 3072, 3077, 3082, 3087, 3098,
1399 3103, 3108, 3117, 3149, 3167, 3172, 3181, 3190, 3195, 3200,
1400 3206, 3205, 3210, 3210, 3211, 3214, 3217, 3220, 3223, 3226,
1401 3229, 3232, 3235, 3238, 3241, 3244, 3247, 3250, 3253, 3256,
1402 3259, 3262, 3265, 3271, 3270, 3275, 3275, 3276, 3279, 3282,
1403 3285, 3288, 3291, 3294, 3297, 3300, 3303, 3306, 3309, 3312,
1404 3315, 3318, 3321, 3324, 3327, 3330, 3335, 3340, 3345, 3350,
1405 3360, 3359, 3383, 3383, 3384, 3385, 3386, 3387, 3388, 3389,
1406 3390, 3392, 3398, 3405, 3404, 3409, 3409, 3410, 3414, 3420,
1407 3454, 3464, 3463, 3513, 3513, 3514, 3518, 3527, 3530, 3530,
1408 3531, 3531, 3532, 3532, 3533, 3533, 3534, 3534, 3535, 3535,
1409 3536, 3537, 3537, 3538, 3538, 3539, 3539, 3540, 3540, 3542,
1410 3547, 3552, 3557, 3562, 3567, 3572, 3577, 3582, 3587, 3592,
1411 3597, 3602, 3607, 3612, 3617, 3622, 3627, 3635, 3638, 3638,
1412 3639, 3639, 3640, 3641, 3642, 3642, 3643, 3644, 3646, 3652,
1413 3658, 3667, 3681, 3687, 3693
1414 };
1415 #endif
1416
1417 #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1418 /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1419 First, the terminals, then, starting at YYNTOKENS, nonterminals. */
1420 static const char *const yytname[] =
1421 {
1422 "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1423 "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1424 "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1425 "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1426 "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE", "CLASS",
1427 "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ", "CRYPTLINK",
1428 "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1429 "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1430 "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1431 "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1432 "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL", "ENABLE",
1433 "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1434 "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1435 "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1436 "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1437 "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1438 "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1439 "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1440 "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1441 "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1442 "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1443 "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1444 "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1445 "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1446 "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1447 "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1448 "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1449 "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1450 "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1451 "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1452 "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1453 "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1454 "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1455 "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1456 "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1457 "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1458 "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1459 "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1460 "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1461 "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1462 "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1463 "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1464 "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1465 "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1466 "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1467 "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1468 "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1469 "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1470 "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1471 "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1472 "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1473 "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1474 "T_WALLOP", "T_SERVICE", "T_SERVICES_NAME", "THROTTLE_TIME",
1475 "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV",
1476 "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK",
1477 "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",
1478 "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",
1479 "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1480 "modules_entry", "modules_items", "modules_item", "modules_module",
1481 "modules_path", "serverinfo_entry", "serverinfo_items",
1482 "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1483 "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1484 "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1485 "serverinfo_description", "serverinfo_network_name",
1486 "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1487 "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1488 "admin_item", "admin_name", "admin_email", "admin_description",
1489 "logging_entry", "logging_items", "logging_item", "logging_path",
1490 "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1491 "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1492 "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1493 "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1494 "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1495 "oper_user", "oper_password", "oper_encrypted",
1496 "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1497 "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@4",
1498 "oper_flags_items", "oper_flags_item", "$@5", "$@6",
1499 "oper_flags_item_atom", "class_entry", "$@7", "class_name_b",
1500 "class_items", "class_item", "class_name", "class_name_t",
1501 "class_ping_time", "class_ping_warning", "class_number_per_ip",
1502 "class_connectfreq", "class_max_number", "class_max_global",
1503 "class_max_local", "class_max_ident", "class_sendq",
1504 "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1505 "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1506 "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1507 "listen_port", "$@10", "port_items", "port_item", "listen_address",
1508 "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1509 "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1510 "$@12", "auth_flags_items", "auth_flags_item", "$@13", "$@14",
1511 "auth_flags_item_atom", "auth_spoof", "auth_redir_serv",
1512 "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1513 "resv_creason", "resv_channel", "resv_nick", "service_entry",
1514 "service_items", "service_item", "service_name", "shared_entry", "$@16",
1515 "shared_items", "shared_item", "shared_name", "shared_user",
1516 "shared_type", "$@17", "shared_types", "shared_type_item",
1517 "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1518 "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1519 "connect_entry", "$@20", "connect_name_b", "connect_items",
1520 "connect_item", "connect_name", "connect_name_t", "connect_host",
1521 "connect_vhost", "connect_send_password", "connect_accept_password",
1522 "connect_port", "connect_aftype", "connect_flags", "$@21",
1523 "connect_flags_items", "connect_flags_item", "$@22", "$@23",
1524 "connect_flags_item_atom", "connect_rsa_public_key_file",
1525 "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1526 "connect_class", "connect_cipher_preference", "kill_entry", "$@24",
1527 "kill_type", "$@25", "kill_type_items", "kill_type_item", "kill_items",
1528 "kill_item", "kill_user", "kill_reason", "deny_entry", "$@26",
1529 "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1530 "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@27",
1531 "gecos_flags", "$@28", "gecos_flags_items", "gecos_flags_item",
1532 "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1533 "general_entry", "general_items", "general_item", "general_max_watch",
1534 "general_gline_min_cidr", "general_gline_min_cidr6",
1535 "general_burst_away", "general_use_whois_actually",
1536 "general_reject_hold_time", "general_tkline_expire_notices",
1537 "general_kill_chase_time_limit", "general_hide_spoof_ips",
1538 "general_ignore_bogus_ts", "general_disable_remote_commands",
1539 "general_failed_oper_notice", "general_anti_nick_flood",
1540 "general_max_nick_time", "general_max_nick_changes",
1541 "general_max_accept", "general_anti_spam_exit_message_time",
1542 "general_ts_warn_delta", "general_ts_max_delta",
1543 "general_havent_read_conf", "general_kline_with_reason",
1544 "general_kline_reason", "general_invisible_on_connect",
1545 "general_warn_no_nline", "general_stats_e_disabled",
1546 "general_stats_o_oper_only", "general_stats_P_oper_only",
1547 "general_stats_k_oper_only", "general_stats_i_oper_only",
1548 "general_pace_wait", "general_caller_id_wait",
1549 "general_opers_bypass_callerid", "general_pace_wait_simple",
1550 "general_short_motd", "general_no_oper_flood",
1551 "general_true_no_oper_flood", "general_oper_pass_resv",
1552 "general_message_locale", "general_dots_in_ident", "general_max_targets",
1553 "general_servlink_path", "general_default_cipher_preference",
1554 "general_compression_level", "general_use_egd", "general_egdpool_path",
1555 "general_services_name", "general_ping_cookie", "general_disable_auth",
1556 "general_throttle_time", "general_oper_umodes", "$@29", "umode_oitems",
1557 "umode_oitem", "general_oper_only_umodes", "$@30", "umode_items",
1558 "umode_item", "general_min_nonwildcard",
1559 "general_min_nonwildcard_simple", "general_default_floodcount",
1560 "general_client_flood", "gline_entry", "$@31", "gline_items",
1561 "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@32",
1562 "gline_logging_types", "gline_logging_type_item", "gline_user",
1563 "gline_server", "gline_action", "$@33", "gdeny_types", "gdeny_type_item",
1564 "channel_entry", "channel_items", "channel_item",
1565 "channel_disable_fake_channels", "channel_restrict_channels",
1566 "channel_disable_local_channels", "channel_use_except",
1567 "channel_use_invex", "channel_use_knock", "channel_knock_delay",
1568 "channel_knock_delay_channel", "channel_max_chans_per_user",
1569 "channel_quiet_on_ban", "channel_max_bans",
1570 "channel_default_split_user_count", "channel_default_split_server_count",
1571 "channel_no_create_on_split", "channel_no_join_on_split",
1572 "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1573 "serverhide_entry", "serverhide_items", "serverhide_item",
1574 "serverhide_flatten_links", "serverhide_hide_servers",
1575 "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1576 "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1577 };
1578 #endif
1579
1580 # ifdef YYPRINT
1581 /* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to
1582 token YYLEX-NUM. */
1583 static const yytype_uint16 yytoknum[] =
1584 {
1585 0, 256, 257, 258, 259, 260, 261, 262, 263, 264,
1586 265, 266, 267, 268, 269, 270, 271, 272, 273, 274,
1587 275, 276, 277, 278, 279, 280, 281, 282, 283, 284,
1588 285, 286, 287, 288, 289, 290, 291, 292, 293, 294,
1589 295, 296, 297, 298, 299, 300, 301, 302, 303, 304,
1590 305, 306, 307, 308, 309, 310, 311, 312, 313, 314,
1591 315, 316, 317, 318, 319, 320, 321, 322, 323, 324,
1592 325, 326, 327, 328, 329, 330, 331, 332, 333, 334,
1593 335, 336, 337, 338, 339, 340, 341, 342, 343, 344,
1594 345, 346, 347, 348, 349, 350, 351, 352, 353, 354,
1595 355, 356, 357, 358, 359, 360, 361, 362, 363, 364,
1596 365, 366, 367, 368, 369, 370, 371, 372, 373, 374,
1597 375, 376, 377, 378, 379, 380, 381, 382, 383, 384,
1598 385, 386, 387, 388, 389, 390, 391, 392, 393, 394,
1599 395, 396, 397, 398, 399, 400, 401, 402, 403, 404,
1600 405, 406, 407, 408, 409, 410, 411, 412, 413, 414,
1601 415, 416, 417, 418, 419, 420, 421, 422, 423, 424,
1602 425, 426, 427, 428, 429, 430, 431, 432, 433, 434,
1603 435, 436, 437, 438, 439, 440, 441, 442, 443, 444,
1604 445, 446, 447, 448, 449, 450, 451, 452, 453, 454,
1605 455, 456, 457, 458, 459, 460, 461, 462, 463, 464,
1606 465, 466, 467, 468, 469, 470, 471, 472, 473, 474,
1607 475, 476, 477, 478, 479, 480, 481, 482, 483, 484,
1608 485, 486, 487, 488, 489, 490, 491, 492, 493, 494,
1609 495, 496, 497, 498, 499, 500, 501, 502, 503, 504,
1610 505, 506, 507, 508, 509, 510, 511, 512, 513, 514,
1611 515, 59, 125, 123, 61, 44
1612 };
1613 # endif
1614
1615 /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */
1616 static const yytype_uint16 yyr1[] =
1617 {
1618 0, 266, 267, 267, 268, 268, 268, 268, 268, 268,
1619 268, 268, 268, 268, 268, 268, 268, 268, 268, 268,
1620 268, 268, 268, 268, 268, 268, 268, 269, 269, 270,
1621 270, 270, 270, 270, 270, 271, 271, 272, 272, 272,
1622 272, 273, 274, 274, 275, 275, 275, 276, 277, 278,
1623 279, 279, 280, 280, 280, 280, 280, 280, 280, 280,
1624 280, 280, 280, 280, 280, 282, 281, 283, 283, 284,
1625 284, 285, 286, 287, 288, 289, 290, 291, 292, 293,
1626 294, 295, 296, 297, 297, 298, 298, 298, 298, 299,
1627 300, 301, 302, 303, 303, 304, 304, 304, 304, 304,
1628 304, 304, 304, 304, 304, 304, 304, 304, 305, 306,
1629 307, 308, 309, 310, 311, 312, 313, 314, 315, 315,
1630 315, 315, 315, 315, 315, 316, 318, 317, 319, 319,
1631 320, 320, 321, 321, 321, 321, 321, 321, 321, 321,
1632 321, 322, 323, 324, 325, 326, 327, 328, 330, 329,
1633 331, 331, 332, 332, 332, 332, 332, 332, 332, 332,
1634 332, 332, 332, 332, 332, 332, 332, 332, 332, 332,
1635 332, 334, 333, 335, 335, 337, 336, 338, 336, 339,
1636 339, 339, 339, 339, 339, 339, 339, 339, 339, 339,
1637 339, 339, 339, 339, 339, 339, 341, 340, 342, 342,
1638 343, 343, 344, 344, 344, 344, 344, 344, 344, 344,
1639 344, 344, 344, 344, 344, 344, 345, 346, 347, 348,
1640 349, 350, 351, 352, 353, 354, 355, 356, 357, 358,
1641 360, 359, 362, 361, 363, 363, 364, 364, 364, 365,
1642 365, 366, 366, 366, 366, 366, 368, 367, 369, 369,
1643 370, 370, 371, 372, 374, 373, 375, 375, 376, 376,
1644 376, 376, 376, 376, 376, 376, 376, 377, 378, 379,
1645 380, 382, 381, 383, 383, 385, 384, 386, 384, 387,
1646 387, 387, 387, 387, 387, 387, 387, 387, 388, 389,
1647 390, 392, 391, 393, 393, 394, 394, 394, 394, 395,
1648 396, 397, 398, 399, 399, 400, 400, 401, 403, 402,
1649 404, 404, 405, 405, 405, 405, 406, 407, 409, 408,
1650 410, 410, 411, 411, 411, 411, 411, 411, 411, 411,
1651 411, 411, 411, 413, 412, 414, 414, 415, 415, 415,
1652 416, 418, 417, 419, 419, 420, 420, 420, 420, 420,
1653 420, 420, 420, 420, 420, 420, 422, 421, 423, 423,
1654 424, 424, 425, 425, 425, 425, 425, 425, 425, 425,
1655 425, 425, 425, 425, 425, 425, 425, 426, 427, 428,
1656 429, 430, 431, 432, 433, 433, 435, 434, 436, 436,
1657 438, 437, 439, 437, 440, 440, 440, 440, 440, 441,
1658 442, 443, 444, 445, 446, 448, 447, 450, 449, 451,
1659 451, 452, 453, 453, 454, 454, 454, 454, 455, 456,
1660 458, 457, 459, 459, 460, 460, 460, 461, 462, 463,
1661 464, 464, 465, 465, 466, 468, 467, 470, 469, 471,
1662 471, 472, 473, 473, 474, 474, 474, 474, 475, 476,
1663 477, 478, 478, 479, 479, 479, 479, 479, 479, 479,
1664 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
1665 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
1666 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
1667 479, 479, 479, 479, 479, 479, 479, 479, 479, 479,
1668 479, 479, 479, 479, 479, 479, 479, 479, 479, 480,
1669 481, 482, 483, 484, 485, 486, 487, 488, 489, 490,
1670 491, 492, 493, 494, 495, 496, 497, 498, 499, 500,
1671 501, 502, 503, 504, 505, 506, 507, 507, 508, 508,
1672 509, 510, 511, 512, 513, 514, 515, 516, 517, 518,
1673 519, 520, 521, 522, 523, 524, 525, 526, 527, 528,
1674 530, 529, 531, 531, 532, 532, 532, 532, 532, 532,
1675 532, 532, 532, 532, 532, 532, 532, 532, 532, 532,
1676 532, 532, 532, 534, 533, 535, 535, 536, 536, 536,
1677 536, 536, 536, 536, 536, 536, 536, 536, 536, 536,
1678 536, 536, 536, 536, 536, 536, 537, 538, 539, 540,
1679 542, 541, 543, 543, 544, 544, 544, 544, 544, 544,
1680 544, 545, 546, 548, 547, 549, 549, 550, 550, 551,
1681 552, 554, 553, 555, 555, 556, 556, 557, 558, 558,
1682 559, 559, 559, 559, 559, 559, 559, 559, 559, 559,
1683 559, 559, 559, 559, 559, 559, 559, 559, 559, 560,
1684 561, 562, 563, 564, 565, 566, 567, 568, 569, 570,
1685 571, 572, 573, 574, 575, 576, 577, 578, 579, 579,
1686 580, 580, 580, 580, 580, 580, 580, 580, 581, 582,
1687 583, 584, 585, 586, 587
1688 };
1689
1690 /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */
1691 static const yytype_uint8 yyr2[] =
1692 {
1693 0, 2, 0, 2, 1, 1, 1, 1, 1, 1,
1694 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1695 1, 1, 1, 1, 1, 2, 2, 0, 1, 2,
1696 3, 3, 3, 3, 3, 0, 1, 2, 3, 3,
1697 3, 5, 2, 1, 1, 1, 2, 4, 4, 5,
1698 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1699 1, 1, 1, 1, 2, 0, 5, 3, 1, 1,
1700 1, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1701 4, 4, 5, 2, 1, 1, 1, 1, 2, 4,
1702 4, 4, 5, 2, 1, 1, 1, 1, 1, 1,
1703 1, 1, 1, 1, 1, 1, 1, 2, 4, 4,
1704 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1705 4, 4, 4, 4, 4, 4, 0, 7, 0, 1,
1706 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1707 2, 4, 1, 4, 4, 4, 4, 4, 0, 5,
1708 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1709 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1710 1, 0, 5, 3, 1, 0, 3, 0, 2, 1,
1711 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1712 1, 1, 1, 1, 1, 1, 0, 7, 0, 1,
1713 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1714 1, 1, 1, 1, 1, 2, 4, 1, 4, 4,
1715 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1716 0, 6, 0, 5, 3, 1, 1, 1, 1, 2,
1717 1, 1, 1, 1, 1, 2, 0, 5, 3, 1,
1718 1, 3, 4, 4, 0, 6, 2, 1, 1, 1,
1719 1, 1, 1, 1, 1, 1, 2, 4, 4, 4,
1720 4, 0, 5, 3, 1, 0, 3, 0, 2, 1,
1721 1, 1, 1, 1, 1, 1, 1, 1, 4, 4,
1722 4, 0, 6, 2, 1, 1, 1, 1, 2, 4,
1723 4, 4, 5, 2, 1, 1, 1, 4, 0, 6,
1724 2, 1, 1, 1, 1, 2, 4, 4, 0, 5,
1725 3, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1726 1, 1, 1, 0, 6, 2, 1, 1, 1, 2,
1727 4, 0, 5, 3, 1, 1, 1, 1, 1, 1,
1728 1, 1, 1, 1, 1, 1, 0, 7, 0, 1,
1729 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1730 1, 1, 1, 1, 1, 1, 2, 4, 1, 4,
1731 4, 4, 4, 4, 4, 4, 0, 5, 3, 1,
1732 0, 3, 0, 2, 1, 1, 1, 1, 1, 4,
1733 4, 4, 4, 4, 4, 0, 6, 0, 5, 3,
1734 1, 1, 2, 1, 1, 1, 1, 1, 4, 4,
1735 0, 6, 2, 1, 1, 1, 1, 4, 4, 5,
1736 2, 1, 1, 1, 4, 0, 6, 0, 5, 3,
1737 1, 1, 2, 1, 1, 1, 1, 1, 4, 4,
1738 5, 2, 1, 1, 1, 1, 1, 1, 1, 1,
1739 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1740 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1741 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1742 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1743 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
1744 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1745 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1746 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1747 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1748 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1749 0, 5, 3, 1, 1, 1, 1, 1, 1, 1,
1750 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1751 1, 1, 1, 0, 5, 3, 1, 1, 1, 1,
1752 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1753 1, 1, 1, 1, 1, 1, 4, 4, 4, 4,
1754 0, 6, 2, 1, 1, 1, 1, 1, 1, 1,
1755 1, 4, 4, 0, 5, 3, 1, 1, 1, 4,
1756 4, 0, 5, 3, 1, 1, 1, 5, 2, 1,
1757 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1758 1, 1, 1, 1, 1, 1, 1, 1, 1, 4,
1759 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
1760 4, 4, 4, 4, 4, 4, 4, 5, 2, 1,
1761 1, 1, 1, 1, 1, 1, 1, 1, 4, 4,
1762 4, 4, 4, 4, 4
1763 };
1764
1765 /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1766 Performed when YYTABLE doesn't specify something else to do. Zero
1767 means the default is an error. */
1768 static const yytype_uint16 yydefact[] =
1769 {
1770 2, 0, 1, 0, 0, 0, 196, 356, 420, 0,
1771 435, 0, 610, 254, 405, 230, 0, 0, 126, 291,
1772 0, 0, 308, 333, 0, 3, 24, 11, 4, 5,
1773 6, 8, 9, 10, 13, 14, 15, 16, 17, 18,
1774 19, 20, 23, 21, 22, 7, 12, 25, 26, 0,
1775 0, 198, 358, 0, 0, 0, 0, 0, 0, 0,
1776 0, 0, 0, 128, 0, 0, 0, 0, 0, 0,
1777 0, 0, 0, 0, 0, 84, 85, 87, 86, 658,
1778 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1779 0, 0, 0, 0, 0, 0, 0, 0, 0, 639,
1780 657, 652, 640, 641, 642, 643, 645, 646, 647, 648,
1781 644, 649, 650, 651, 653, 654, 655, 656, 217, 0,
1782 199, 378, 0, 359, 0, 433, 0, 0, 431, 432,
1783 0, 508, 0, 0, 0, 0, 0, 0, 0, 0,
1784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1785 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1786 0, 0, 0, 583, 0, 560, 0, 0, 0, 0,
1787 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1788 0, 0, 0, 0, 0, 0, 0, 0, 452, 506,
1789 501, 502, 499, 503, 504, 500, 463, 453, 454, 491,
1790 455, 456, 457, 458, 459, 460, 461, 462, 496, 464,
1791 465, 466, 467, 505, 469, 474, 470, 472, 471, 485,
1792 486, 473, 475, 476, 477, 478, 479, 468, 481, 490,
1793 492, 493, 482, 483, 507, 497, 498, 495, 484, 480,
1794 488, 489, 487, 494, 0, 0, 0, 0, 0, 0,
1795 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1796 0, 0, 94, 95, 96, 99, 106, 100, 104, 101,
1797 102, 105, 103, 97, 98, 0, 0, 0, 0, 43,
1798 44, 45, 142, 0, 129, 0, 687, 0, 0, 0,
1799 0, 0, 0, 0, 0, 679, 680, 681, 685, 682,
1800 684, 683, 686, 0, 0, 0, 0, 0, 0, 0,
1801 0, 65, 0, 0, 0, 0, 0, 51, 63, 62,
1802 59, 52, 61, 55, 56, 57, 53, 60, 58, 54,
1803 0, 0, 306, 0, 0, 304, 305, 88, 0, 0,
1804 0, 0, 83, 0, 0, 0, 0, 0, 0, 0,
1805 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1806 0, 0, 638, 0, 0, 426, 0, 0, 0, 423,
1807 424, 425, 0, 0, 430, 447, 0, 0, 437, 446,
1808 0, 443, 444, 445, 0, 0, 0, 0, 0, 0,
1809 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1810 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1811 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1812 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1813 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1814 451, 620, 631, 0, 0, 623, 0, 0, 0, 613,
1815 614, 615, 616, 617, 618, 619, 0, 0, 0, 271,
1816 0, 0, 0, 0, 0, 0, 257, 258, 259, 260,
1817 265, 261, 262, 263, 264, 417, 0, 407, 0, 416,
1818 0, 413, 414, 415, 0, 232, 0, 0, 0, 242,
1819 0, 240, 241, 243, 244, 107, 0, 0, 0, 0,
1820 0, 0, 0, 0, 0, 0, 0, 0, 0, 93,
1821 46, 0, 0, 0, 42, 0, 0, 0, 0, 0,
1822 0, 294, 295, 296, 297, 0, 0, 0, 0, 0,
1823 0, 0, 0, 678, 64, 0, 0, 0, 0, 0,
1824 0, 0, 0, 0, 0, 0, 0, 0, 50, 0,
1825 0, 318, 0, 0, 311, 312, 313, 314, 0, 0,
1826 341, 0, 336, 337, 338, 0, 0, 303, 0, 0,
1827 0, 82, 0, 0, 0, 0, 0, 27, 0, 0,
1828 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1829 0, 637, 0, 0, 0, 0, 0, 0, 0, 0,
1830 0, 0, 0, 0, 0, 0, 0, 201, 202, 205,
1831 206, 208, 209, 210, 211, 212, 213, 214, 203, 204,
1832 207, 0, 0, 0, 0, 0, 0, 386, 0, 0,
1833 0, 0, 0, 0, 0, 0, 0, 361, 362, 363,
1834 364, 365, 366, 368, 367, 369, 374, 373, 370, 371,
1835 372, 375, 0, 0, 0, 422, 0, 429, 0, 0,
1836 0, 0, 442, 0, 0, 0, 0, 0, 0, 0,
1837 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1838 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1839 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1840 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1841 0, 0, 0, 35, 0, 0, 0, 0, 0, 0,
1842 0, 450, 0, 0, 0, 0, 0, 0, 0, 612,
1843 266, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1844 256, 0, 0, 0, 0, 412, 245, 0, 0, 0,
1845 0, 0, 239, 0, 0, 0, 0, 0, 0, 0,
1846 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1847 0, 92, 0, 0, 41, 0, 0, 0, 171, 0,
1848 0, 0, 148, 0, 0, 131, 132, 133, 134, 137,
1849 138, 136, 135, 139, 298, 0, 0, 0, 0, 293,
1850 0, 0, 0, 0, 0, 0, 0, 677, 0, 0,
1851 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1852 49, 315, 0, 0, 0, 0, 310, 339, 0, 0,
1853 0, 335, 0, 302, 91, 90, 89, 674, 671, 670,
1854 659, 661, 27, 27, 27, 27, 27, 29, 28, 665,
1855 666, 669, 667, 672, 673, 675, 676, 668, 660, 662,
1856 663, 664, 215, 0, 0, 0, 0, 0, 0, 0,
1857 0, 0, 0, 0, 0, 0, 0, 200, 376, 0,
1858 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1859 0, 0, 0, 0, 360, 0, 0, 421, 434, 0,
1860 0, 0, 436, 521, 525, 512, 541, 553, 552, 608,
1861 558, 519, 549, 555, 520, 510, 511, 528, 517, 518,
1862 531, 516, 530, 529, 524, 523, 522, 550, 509, 548,
1863 606, 607, 545, 542, 587, 603, 604, 588, 589, 590,
1864 591, 598, 592, 601, 605, 594, 599, 595, 600, 593,
1865 597, 596, 602, 0, 586, 547, 564, 580, 581, 565,
1866 566, 567, 568, 575, 569, 578, 582, 571, 576, 572,
1867 577, 570, 574, 573, 579, 0, 563, 540, 543, 557,
1868 514, 551, 515, 544, 533, 538, 539, 536, 537, 534,
1869 535, 527, 526, 35, 35, 35, 37, 36, 609, 556,
1870 559, 546, 554, 513, 532, 0, 0, 0, 0, 0,
1871 0, 611, 0, 0, 277, 0, 0, 0, 0, 0,
1872 255, 0, 0, 0, 406, 0, 0, 0, 250, 246,
1873 249, 231, 111, 117, 115, 114, 116, 112, 113, 110,
1874 118, 124, 119, 123, 121, 122, 120, 109, 108, 125,
1875 47, 48, 140, 0, 0, 0, 0, 0, 0, 0,
1876 0, 0, 130, 0, 0, 0, 292, 693, 688, 692,
1877 690, 694, 689, 691, 75, 81, 73, 77, 76, 72,
1878 71, 69, 70, 0, 68, 74, 80, 78, 79, 0,
1879 0, 0, 309, 0, 0, 334, 307, 30, 31, 32,
1880 33, 34, 0, 0, 0, 0, 0, 0, 0, 0,
1881 0, 0, 0, 0, 0, 197, 0, 0, 0, 0,
1882 0, 0, 392, 0, 0, 0, 0, 0, 0, 0,
1883 0, 357, 427, 428, 448, 449, 441, 0, 440, 584,
1884 0, 561, 0, 38, 39, 40, 636, 635, 0, 634,
1885 622, 621, 628, 627, 0, 626, 630, 629, 269, 270,
1886 275, 0, 274, 0, 268, 290, 289, 288, 267, 419,
1887 411, 0, 410, 418, 237, 238, 236, 0, 235, 253,
1888 252, 0, 0, 0, 0, 0, 177, 0, 0, 0,
1889 0, 0, 127, 300, 301, 299, 66, 0, 316, 322,
1890 328, 332, 331, 330, 327, 323, 326, 329, 324, 325,
1891 0, 321, 317, 340, 345, 351, 355, 354, 353, 350,
1892 346, 349, 352, 347, 348, 0, 344, 227, 228, 221,
1893 223, 225, 224, 222, 216, 229, 220, 218, 219, 226,
1894 382, 384, 385, 404, 403, 400, 390, 0, 389, 0,
1895 379, 401, 402, 377, 383, 399, 381, 380, 438, 0,
1896 585, 562, 632, 0, 624, 0, 0, 272, 277, 283,
1897 280, 285, 282, 281, 287, 284, 286, 279, 278, 408,
1898 0, 233, 0, 251, 248, 247, 147, 145, 175, 0,
1899 174, 0, 141, 144, 146, 152, 168, 169, 153, 154,
1900 155, 156, 163, 157, 166, 170, 159, 164, 160, 165,
1901 158, 162, 161, 167, 0, 151, 143, 67, 319, 0,
1902 342, 0, 0, 387, 392, 396, 397, 394, 395, 398,
1903 393, 439, 633, 625, 276, 273, 409, 234, 0, 172,
1904 177, 187, 185, 195, 184, 179, 188, 193, 181, 189,
1905 192, 186, 180, 194, 190, 191, 182, 183, 178, 149,
1906 0, 320, 343, 391, 388, 176, 173, 150
1907 };
1908
1909 /* YYDEFGOTO[NTERM-NUM]. */
1910 static const yytype_int16 yydefgoto[] =
1911 {
1912 -1, 1, 25, 847, 848, 996, 997, 26, 278, 279,
1913 280, 281, 27, 316, 317, 318, 542, 1083, 1084, 319,
1914 320, 321, 322, 323, 324, 325, 326, 327, 328, 329,
1915 28, 74, 75, 76, 77, 78, 29, 261, 262, 263,
1916 264, 265, 266, 267, 268, 269, 270, 271, 272, 273,
1917 274, 30, 63, 283, 784, 785, 786, 284, 787, 788,
1918 789, 790, 791, 792, 1059, 1314, 1315, 793, 1055, 1289,
1919 1290, 1338, 1291, 1358, 31, 51, 119, 606, 607, 608,
1920 120, 609, 610, 611, 612, 613, 614, 615, 616, 617,
1921 618, 619, 620, 32, 60, 489, 747, 1177, 1178, 490,
1922 491, 492, 1183, 1029, 1030, 493, 494, 33, 58, 465,
1923 466, 467, 468, 469, 470, 471, 733, 1161, 1162, 1266,
1924 1163, 1278, 472, 473, 474, 34, 64, 520, 521, 522,
1925 523, 524, 35, 334, 335, 336, 36, 67, 553, 554,
1926 555, 556, 557, 823, 1210, 1211, 37, 68, 561, 562,
1927 563, 564, 829, 1225, 1226, 38, 52, 122, 636, 637,
1928 638, 123, 639, 640, 641, 642, 643, 644, 645, 884,
1929 1247, 1248, 1322, 1249, 1330, 646, 647, 648, 649, 650,
1930 651, 39, 59, 479, 742, 1171, 1172, 480, 481, 482,
1931 483, 40, 53, 368, 369, 370, 371, 41, 127, 128,
1932 129, 42, 55, 379, 660, 1137, 1138, 380, 381, 382,
1933 383, 43, 187, 188, 189, 190, 191, 192, 193, 194,
1934 195, 196, 197, 198, 199, 200, 201, 202, 203, 204,
1935 205, 206, 207, 208, 209, 210, 211, 212, 213, 214,
1936 215, 216, 217, 218, 219, 220, 221, 222, 223, 224,
1937 225, 226, 227, 228, 229, 230, 231, 232, 233, 234,
1938 235, 236, 237, 238, 417, 975, 976, 239, 415, 953,
1939 954, 240, 241, 242, 243, 44, 57, 448, 449, 450,
1940 451, 452, 725, 1154, 1155, 453, 454, 455, 722, 1148,
1941 1149, 45, 98, 99, 100, 101, 102, 103, 104, 105,
1942 106, 107, 108, 109, 110, 111, 112, 113, 114, 115,
1943 116, 117, 46, 294, 295, 296, 297, 298, 299, 300,
1944 301, 302
1945 };
1946
1947 /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1948 STATE-NUM. */
1949 #define YYPACT_NINF -622
1950 static const yytype_int16 yypact[] =
1951 {
1952 -622, 715, -622, -218, -245, -237, -622, -622, -622, -231,
1953 -622, -228, -622, -622, -622, -622, -202, -196, -622, -622,
1954 -194, -191, -622, -622, -185, -622, -622, -622, -622, -622,
1955 -622, -622, -622, -622, -622, -622, -622, -622, -622, -622,
1956 -622, -622, -622, -622, -622, -622, -622, -622, -622, 298,
1957 644, -140, -61, -183, 16, -161, 429, -150, -147, -144,
1958 -124, 432, 75, -9, -109, 564, 248, -88, -70, 20,
1959 -45, -64, -16, -13, 2, -622, -622, -622, -622, -622,
1960 -6, 9, 23, 36, 50, 63, 82, 83, 92, 93,
1961 95, 98, 99, 101, 103, 106