ViewVC Help
View File | Revision Log | Show Annotations | View Changeset | Root Listing
root/svn/ircd-hybrid/branches/8.2.x/src/conf_parser.c
(Generate patch)

Comparing ircd-hybrid/trunk/src/conf_parser.c (file contents):
Revision 1680 by michael, Tue Dec 18 18:06:32 2012 UTC vs.
Revision 1921 by michael, Tue Apr 30 14:54:20 2013 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.7.  */
1 > /* A Bison parser, made by GNU Bison 2.7.12-4996.  */
2  
3   /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2013 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
# Line 44 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.7"
47 > #define YYBISON_VERSION "2.7.12-4996"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 80 | Line 80
80   #include "log.h"
81   #include "client.h"     /* for UMODE_ALL only */
82   #include "irc_string.h"
83 #include "sprintf_irc.h"
83   #include "memory.h"
84   #include "modules.h"
85   #include "s_serv.h"
# Line 98 | Line 97
97   #include <openssl/dh.h>
98   #endif
99  
100 + #include "rsa.h"
101 +
102   int yylex(void);
103  
104   static struct
# Line 132 | Line 133 | static struct
133      ping_freq,
134      max_perip,
135      con_freq,
136 +    min_idle,
137 +    max_idle,
138      max_total,
139      max_global,
140      max_local,
# Line 174 | Line 177 | reset_block_state(void)
177  
178  
179   /* Line 371 of yacc.c  */
180 < #line 178 "conf_parser.c"
180 > #line 181 "conf_parser.c"
181  
182   # ifndef YY_NULL
183   #  if defined __cplusplus && 201103L <= __cplusplus
# Line 194 | Line 197 | reset_block_state(void)
197  
198   /* In a future release of Bison, this section will be replaced
199     by #include "y.tab.h".  */
200 < #ifndef YY_YY_Y_TAB_H_INCLUDED
201 < # define YY_YY_Y_TAB_H_INCLUDED
200 > #ifndef YY_YY_CONF_PARSER_H_INCLUDED
201 > # define YY_YY_CONF_PARSER_H_INCLUDED
202   /* Enabling traces.  */
203   #ifndef YYDEBUG
204   # define YYDEBUG 0
# Line 262 | Line 265 | extern int yydebug;
265       HIDDEN_NAME = 307,
266       HIDE_SERVER_IPS = 308,
267       HIDE_SERVERS = 309,
268 <     HIDE_SPOOF_IPS = 310,
269 <     HOST = 311,
270 <     HUB = 312,
271 <     HUB_MASK = 313,
272 <     IGNORE_BOGUS_TS = 314,
273 <     INVISIBLE_ON_CONNECT = 315,
274 <     IP = 316,
275 <     KILL = 317,
276 <     KILL_CHASE_TIME_LIMIT = 318,
277 <     KLINE = 319,
278 <     KLINE_EXEMPT = 320,
279 <     KNOCK_DELAY = 321,
280 <     KNOCK_DELAY_CHANNEL = 322,
281 <     LEAF_MASK = 323,
282 <     LINKS_DELAY = 324,
283 <     LISTEN = 325,
284 <     T_LOG = 326,
285 <     MAX_ACCEPT = 327,
286 <     MAX_BANS = 328,
287 <     MAX_CHANS_PER_OPER = 329,
288 <     MAX_CHANS_PER_USER = 330,
289 <     MAX_GLOBAL = 331,
290 <     MAX_IDENT = 332,
291 <     MAX_LOCAL = 333,
292 <     MAX_NICK_CHANGES = 334,
293 <     MAX_NICK_TIME = 335,
294 <     MAX_NUMBER = 336,
295 <     MAX_TARGETS = 337,
296 <     MAX_WATCH = 338,
297 <     MESSAGE_LOCALE = 339,
298 <     MIN_NONWILDCARD = 340,
299 <     MIN_NONWILDCARD_SIMPLE = 341,
300 <     MODULE = 342,
301 <     MODULES = 343,
302 <     NAME = 344,
303 <     NEED_PASSWORD = 345,
304 <     NETWORK_DESC = 346,
305 <     NETWORK_NAME = 347,
306 <     NICK = 348,
307 <     NICK_CHANGES = 349,
308 <     NO_CREATE_ON_SPLIT = 350,
309 <     NO_JOIN_ON_SPLIT = 351,
310 <     NO_OPER_FLOOD = 352,
311 <     NO_TILDE = 353,
312 <     NUMBER = 354,
313 <     NUMBER_PER_CIDR = 355,
314 <     NUMBER_PER_IP = 356,
315 <     OPERATOR = 357,
316 <     OPERS_BYPASS_CALLERID = 358,
317 <     OPER_ONLY_UMODES = 359,
318 <     OPER_PASS_RESV = 360,
319 <     OPER_SPY_T = 361,
320 <     OPER_UMODES = 362,
321 <     JOIN_FLOOD_COUNT = 363,
322 <     JOIN_FLOOD_TIME = 364,
323 <     PACE_WAIT = 365,
324 <     PACE_WAIT_SIMPLE = 366,
325 <     PASSWORD = 367,
326 <     PATH = 368,
327 <     PING_COOKIE = 369,
328 <     PING_TIME = 370,
329 <     PORT = 371,
330 <     QSTRING = 372,
331 <     QUIET_ON_BAN = 373,
332 <     REASON = 374,
333 <     REDIRPORT = 375,
334 <     REDIRSERV = 376,
335 <     REGEX_T = 377,
336 <     REHASH = 378,
337 <     REMOTE = 379,
338 <     REMOTEBAN = 380,
339 <     RESTRICT_CHANNELS = 381,
340 <     RSA_PRIVATE_KEY_FILE = 382,
341 <     RSA_PUBLIC_KEY_FILE = 383,
342 <     SSL_CERTIFICATE_FILE = 384,
343 <     SSL_DH_PARAM_FILE = 385,
344 <     T_SSL_CLIENT_METHOD = 386,
345 <     T_SSL_SERVER_METHOD = 387,
346 <     T_SSLV3 = 388,
347 <     T_TLSV1 = 389,
348 <     RESV = 390,
349 <     RESV_EXEMPT = 391,
350 <     SECONDS = 392,
351 <     MINUTES = 393,
352 <     HOURS = 394,
353 <     DAYS = 395,
354 <     WEEKS = 396,
355 <     SENDQ = 397,
356 <     SEND_PASSWORD = 398,
357 <     SERVERHIDE = 399,
358 <     SERVERINFO = 400,
359 <     IRCD_SID = 401,
360 <     TKLINE_EXPIRE_NOTICES = 402,
361 <     T_SHARED = 403,
362 <     T_CLUSTER = 404,
363 <     TYPE = 405,
364 <     SHORT_MOTD = 406,
365 <     SPOOF = 407,
366 <     SPOOF_NOTICE = 408,
367 <     STATS_E_DISABLED = 409,
368 <     STATS_I_OPER_ONLY = 410,
369 <     STATS_K_OPER_ONLY = 411,
370 <     STATS_O_OPER_ONLY = 412,
371 <     STATS_P_OPER_ONLY = 413,
372 <     TBOOL = 414,
373 <     TMASKED = 415,
374 <     TS_MAX_DELTA = 416,
375 <     TS_WARN_DELTA = 417,
376 <     TWODOTS = 418,
377 <     T_ALL = 419,
378 <     T_BOTS = 420,
379 <     T_SOFTCALLERID = 421,
380 <     T_CALLERID = 422,
381 <     T_CCONN = 423,
382 <     T_CCONN_FULL = 424,
383 <     T_SSL_CIPHER_LIST = 425,
384 <     T_DEAF = 426,
385 <     T_DEBUG = 427,
386 <     T_DLINE = 428,
387 <     T_EXTERNAL = 429,
388 <     T_FULL = 430,
389 <     T_INVISIBLE = 431,
390 <     T_IPV4 = 432,
391 <     T_IPV6 = 433,
392 <     T_LOCOPS = 434,
393 <     T_MAX_CLIENTS = 435,
394 <     T_NCHANGE = 436,
395 <     T_OPERWALL = 437,
396 <     T_RECVQ = 438,
397 <     T_REJ = 439,
398 <     T_SERVER = 440,
399 <     T_SERVNOTICE = 441,
400 <     T_SET = 442,
401 <     T_SKILL = 443,
402 <     T_SPY = 444,
403 <     T_SSL = 445,
404 <     T_UMODES = 446,
405 <     T_UNAUTH = 447,
406 <     T_UNDLINE = 448,
407 <     T_UNLIMITED = 449,
408 <     T_UNRESV = 450,
409 <     T_UNXLINE = 451,
410 <     T_GLOBOPS = 452,
411 <     T_WALLOP = 453,
412 <     T_RESTART = 454,
413 <     T_SERVICE = 455,
414 <     T_SERVICES_NAME = 456,
415 <     THROTTLE_TIME = 457,
416 <     TRUE_NO_OPER_FLOOD = 458,
417 <     UNKLINE = 459,
418 <     USER = 460,
419 <     USE_EGD = 461,
420 <     USE_LOGGING = 462,
421 <     VHOST = 463,
422 <     VHOST6 = 464,
423 <     XLINE = 465,
424 <     WARN_NO_NLINE = 466,
425 <     T_SIZE = 467,
426 <     T_FILE = 468
268 >     HIDE_SERVICES = 310,
269 >     HIDE_SPOOF_IPS = 311,
270 >     HOST = 312,
271 >     HUB = 313,
272 >     HUB_MASK = 314,
273 >     IGNORE_BOGUS_TS = 315,
274 >     INVISIBLE_ON_CONNECT = 316,
275 >     IP = 317,
276 >     KILL = 318,
277 >     KILL_CHASE_TIME_LIMIT = 319,
278 >     KLINE = 320,
279 >     KLINE_EXEMPT = 321,
280 >     KNOCK_DELAY = 322,
281 >     KNOCK_DELAY_CHANNEL = 323,
282 >     LEAF_MASK = 324,
283 >     LINKS_DELAY = 325,
284 >     LISTEN = 326,
285 >     T_LOG = 327,
286 >     MASK = 328,
287 >     MAX_ACCEPT = 329,
288 >     MAX_BANS = 330,
289 >     MAX_CHANS_PER_OPER = 331,
290 >     MAX_CHANS_PER_USER = 332,
291 >     MAX_GLOBAL = 333,
292 >     MAX_IDENT = 334,
293 >     MAX_LOCAL = 335,
294 >     MAX_NICK_CHANGES = 336,
295 >     MAX_NICK_LENGTH = 337,
296 >     MAX_NICK_TIME = 338,
297 >     MAX_NUMBER = 339,
298 >     MAX_TARGETS = 340,
299 >     MAX_TOPIC_LENGTH = 341,
300 >     MAX_WATCH = 342,
301 >     MIN_NONWILDCARD = 343,
302 >     MIN_NONWILDCARD_SIMPLE = 344,
303 >     MIN_IDLE = 345,
304 >     MAX_IDLE = 346,
305 >     RANDOM_IDLE = 347,
306 >     HIDE_IDLE_FROM_OPERS = 348,
307 >     MODULE = 349,
308 >     MODULES = 350,
309 >     NAME = 351,
310 >     NEED_PASSWORD = 352,
311 >     NETWORK_DESC = 353,
312 >     NETWORK_NAME = 354,
313 >     NICK = 355,
314 >     NO_CREATE_ON_SPLIT = 356,
315 >     NO_JOIN_ON_SPLIT = 357,
316 >     NO_OPER_FLOOD = 358,
317 >     NO_TILDE = 359,
318 >     NUMBER = 360,
319 >     NUMBER_PER_CIDR = 361,
320 >     NUMBER_PER_IP = 362,
321 >     OPERATOR = 363,
322 >     OPERS_BYPASS_CALLERID = 364,
323 >     OPER_ONLY_UMODES = 365,
324 >     OPER_PASS_RESV = 366,
325 >     OPER_SPY_T = 367,
326 >     OPER_UMODES = 368,
327 >     JOIN_FLOOD_COUNT = 369,
328 >     JOIN_FLOOD_TIME = 370,
329 >     PACE_WAIT = 371,
330 >     PACE_WAIT_SIMPLE = 372,
331 >     PASSWORD = 373,
332 >     PATH = 374,
333 >     PING_COOKIE = 375,
334 >     PING_TIME = 376,
335 >     PORT = 377,
336 >     QSTRING = 378,
337 >     QUIET_ON_BAN = 379,
338 >     REASON = 380,
339 >     REDIRPORT = 381,
340 >     REDIRSERV = 382,
341 >     REHASH = 383,
342 >     REMOTE = 384,
343 >     REMOTEBAN = 385,
344 >     RSA_PRIVATE_KEY_FILE = 386,
345 >     RSA_PUBLIC_KEY_FILE = 387,
346 >     SSL_CERTIFICATE_FILE = 388,
347 >     SSL_DH_PARAM_FILE = 389,
348 >     T_SSL_CLIENT_METHOD = 390,
349 >     T_SSL_SERVER_METHOD = 391,
350 >     T_SSLV3 = 392,
351 >     T_TLSV1 = 393,
352 >     RESV = 394,
353 >     RESV_EXEMPT = 395,
354 >     SECONDS = 396,
355 >     MINUTES = 397,
356 >     HOURS = 398,
357 >     DAYS = 399,
358 >     WEEKS = 400,
359 >     MONTHS = 401,
360 >     YEARS = 402,
361 >     SENDQ = 403,
362 >     SEND_PASSWORD = 404,
363 >     SERVERHIDE = 405,
364 >     SERVERINFO = 406,
365 >     IRCD_SID = 407,
366 >     TKLINE_EXPIRE_NOTICES = 408,
367 >     T_SHARED = 409,
368 >     T_CLUSTER = 410,
369 >     TYPE = 411,
370 >     SHORT_MOTD = 412,
371 >     SPOOF = 413,
372 >     SPOOF_NOTICE = 414,
373 >     STATS_E_DISABLED = 415,
374 >     STATS_I_OPER_ONLY = 416,
375 >     STATS_K_OPER_ONLY = 417,
376 >     STATS_O_OPER_ONLY = 418,
377 >     STATS_P_OPER_ONLY = 419,
378 >     TBOOL = 420,
379 >     TMASKED = 421,
380 >     TS_MAX_DELTA = 422,
381 >     TS_WARN_DELTA = 423,
382 >     TWODOTS = 424,
383 >     T_ALL = 425,
384 >     T_BOTS = 426,
385 >     T_SOFTCALLERID = 427,
386 >     T_CALLERID = 428,
387 >     T_CCONN = 429,
388 >     T_CCONN_FULL = 430,
389 >     T_SSL_CIPHER_LIST = 431,
390 >     T_DEAF = 432,
391 >     T_DEBUG = 433,
392 >     T_DLINE = 434,
393 >     T_EXTERNAL = 435,
394 >     T_FULL = 436,
395 >     T_INVISIBLE = 437,
396 >     T_IPV4 = 438,
397 >     T_IPV6 = 439,
398 >     T_LOCOPS = 440,
399 >     T_MAX_CLIENTS = 441,
400 >     T_NCHANGE = 442,
401 >     T_NONONREG = 443,
402 >     T_OPERWALL = 444,
403 >     T_RECVQ = 445,
404 >     T_REJ = 446,
405 >     T_SERVER = 447,
406 >     T_SERVNOTICE = 448,
407 >     T_SET = 449,
408 >     T_SKILL = 450,
409 >     T_SPY = 451,
410 >     T_SSL = 452,
411 >     T_UMODES = 453,
412 >     T_UNAUTH = 454,
413 >     T_UNDLINE = 455,
414 >     T_UNLIMITED = 456,
415 >     T_UNRESV = 457,
416 >     T_UNXLINE = 458,
417 >     T_GLOBOPS = 459,
418 >     T_WALLOP = 460,
419 >     T_WEBIRC = 461,
420 >     T_RESTART = 462,
421 >     T_SERVICE = 463,
422 >     T_SERVICES_NAME = 464,
423 >     THROTTLE_TIME = 465,
424 >     TRUE_NO_OPER_FLOOD = 466,
425 >     UNKLINE = 467,
426 >     USER = 468,
427 >     USE_EGD = 469,
428 >     USE_LOGGING = 470,
429 >     VHOST = 471,
430 >     VHOST6 = 472,
431 >     XLINE = 473,
432 >     WARN_NO_NLINE = 474,
433 >     T_SIZE = 475,
434 >     T_FILE = 476
435     };
436   #endif
437   /* Tokens.  */
# Line 476 | Line 487 | extern int yydebug;
487   #define HIDDEN_NAME 307
488   #define HIDE_SERVER_IPS 308
489   #define HIDE_SERVERS 309
490 < #define HIDE_SPOOF_IPS 310
491 < #define HOST 311
492 < #define HUB 312
493 < #define HUB_MASK 313
494 < #define IGNORE_BOGUS_TS 314
495 < #define INVISIBLE_ON_CONNECT 315
496 < #define IP 316
497 < #define KILL 317
498 < #define KILL_CHASE_TIME_LIMIT 318
499 < #define KLINE 319
500 < #define KLINE_EXEMPT 320
501 < #define KNOCK_DELAY 321
502 < #define KNOCK_DELAY_CHANNEL 322
503 < #define LEAF_MASK 323
504 < #define LINKS_DELAY 324
505 < #define LISTEN 325
506 < #define T_LOG 326
507 < #define MAX_ACCEPT 327
508 < #define MAX_BANS 328
509 < #define MAX_CHANS_PER_OPER 329
510 < #define MAX_CHANS_PER_USER 330
511 < #define MAX_GLOBAL 331
512 < #define MAX_IDENT 332
513 < #define MAX_LOCAL 333
514 < #define MAX_NICK_CHANGES 334
515 < #define MAX_NICK_TIME 335
516 < #define MAX_NUMBER 336
517 < #define MAX_TARGETS 337
518 < #define MAX_WATCH 338
519 < #define MESSAGE_LOCALE 339
520 < #define MIN_NONWILDCARD 340
521 < #define MIN_NONWILDCARD_SIMPLE 341
522 < #define MODULE 342
523 < #define MODULES 343
524 < #define NAME 344
525 < #define NEED_PASSWORD 345
526 < #define NETWORK_DESC 346
527 < #define NETWORK_NAME 347
528 < #define NICK 348
529 < #define NICK_CHANGES 349
530 < #define NO_CREATE_ON_SPLIT 350
531 < #define NO_JOIN_ON_SPLIT 351
532 < #define NO_OPER_FLOOD 352
533 < #define NO_TILDE 353
534 < #define NUMBER 354
535 < #define NUMBER_PER_CIDR 355
536 < #define NUMBER_PER_IP 356
537 < #define OPERATOR 357
538 < #define OPERS_BYPASS_CALLERID 358
539 < #define OPER_ONLY_UMODES 359
540 < #define OPER_PASS_RESV 360
541 < #define OPER_SPY_T 361
542 < #define OPER_UMODES 362
543 < #define JOIN_FLOOD_COUNT 363
544 < #define JOIN_FLOOD_TIME 364
545 < #define PACE_WAIT 365
546 < #define PACE_WAIT_SIMPLE 366
547 < #define PASSWORD 367
548 < #define PATH 368
549 < #define PING_COOKIE 369
550 < #define PING_TIME 370
551 < #define PORT 371
552 < #define QSTRING 372
553 < #define QUIET_ON_BAN 373
554 < #define REASON 374
555 < #define REDIRPORT 375
556 < #define REDIRSERV 376
557 < #define REGEX_T 377
558 < #define REHASH 378
559 < #define REMOTE 379
560 < #define REMOTEBAN 380
561 < #define RESTRICT_CHANNELS 381
562 < #define RSA_PRIVATE_KEY_FILE 382
563 < #define RSA_PUBLIC_KEY_FILE 383
564 < #define SSL_CERTIFICATE_FILE 384
565 < #define SSL_DH_PARAM_FILE 385
566 < #define T_SSL_CLIENT_METHOD 386
567 < #define T_SSL_SERVER_METHOD 387
568 < #define T_SSLV3 388
569 < #define T_TLSV1 389
570 < #define RESV 390
571 < #define RESV_EXEMPT 391
572 < #define SECONDS 392
573 < #define MINUTES 393
574 < #define HOURS 394
575 < #define DAYS 395
576 < #define WEEKS 396
577 < #define SENDQ 397
578 < #define SEND_PASSWORD 398
579 < #define SERVERHIDE 399
580 < #define SERVERINFO 400
581 < #define IRCD_SID 401
582 < #define TKLINE_EXPIRE_NOTICES 402
583 < #define T_SHARED 403
584 < #define T_CLUSTER 404
585 < #define TYPE 405
586 < #define SHORT_MOTD 406
587 < #define SPOOF 407
588 < #define SPOOF_NOTICE 408
589 < #define STATS_E_DISABLED 409
590 < #define STATS_I_OPER_ONLY 410
591 < #define STATS_K_OPER_ONLY 411
592 < #define STATS_O_OPER_ONLY 412
593 < #define STATS_P_OPER_ONLY 413
594 < #define TBOOL 414
595 < #define TMASKED 415
596 < #define TS_MAX_DELTA 416
597 < #define TS_WARN_DELTA 417
598 < #define TWODOTS 418
599 < #define T_ALL 419
600 < #define T_BOTS 420
601 < #define T_SOFTCALLERID 421
602 < #define T_CALLERID 422
603 < #define T_CCONN 423
604 < #define T_CCONN_FULL 424
605 < #define T_SSL_CIPHER_LIST 425
606 < #define T_DEAF 426
607 < #define T_DEBUG 427
608 < #define T_DLINE 428
609 < #define T_EXTERNAL 429
610 < #define T_FULL 430
611 < #define T_INVISIBLE 431
612 < #define T_IPV4 432
613 < #define T_IPV6 433
614 < #define T_LOCOPS 434
615 < #define T_MAX_CLIENTS 435
616 < #define T_NCHANGE 436
617 < #define T_OPERWALL 437
618 < #define T_RECVQ 438
619 < #define T_REJ 439
620 < #define T_SERVER 440
621 < #define T_SERVNOTICE 441
622 < #define T_SET 442
623 < #define T_SKILL 443
624 < #define T_SPY 444
625 < #define T_SSL 445
626 < #define T_UMODES 446
627 < #define T_UNAUTH 447
628 < #define T_UNDLINE 448
629 < #define T_UNLIMITED 449
630 < #define T_UNRESV 450
631 < #define T_UNXLINE 451
632 < #define T_GLOBOPS 452
633 < #define T_WALLOP 453
634 < #define T_RESTART 454
635 < #define T_SERVICE 455
636 < #define T_SERVICES_NAME 456
637 < #define THROTTLE_TIME 457
638 < #define TRUE_NO_OPER_FLOOD 458
639 < #define UNKLINE 459
640 < #define USER 460
641 < #define USE_EGD 461
642 < #define USE_LOGGING 462
643 < #define VHOST 463
644 < #define VHOST6 464
645 < #define XLINE 465
646 < #define WARN_NO_NLINE 466
647 < #define T_SIZE 467
648 < #define T_FILE 468
490 > #define HIDE_SERVICES 310
491 > #define HIDE_SPOOF_IPS 311
492 > #define HOST 312
493 > #define HUB 313
494 > #define HUB_MASK 314
495 > #define IGNORE_BOGUS_TS 315
496 > #define INVISIBLE_ON_CONNECT 316
497 > #define IP 317
498 > #define KILL 318
499 > #define KILL_CHASE_TIME_LIMIT 319
500 > #define KLINE 320
501 > #define KLINE_EXEMPT 321
502 > #define KNOCK_DELAY 322
503 > #define KNOCK_DELAY_CHANNEL 323
504 > #define LEAF_MASK 324
505 > #define LINKS_DELAY 325
506 > #define LISTEN 326
507 > #define T_LOG 327
508 > #define MASK 328
509 > #define MAX_ACCEPT 329
510 > #define MAX_BANS 330
511 > #define MAX_CHANS_PER_OPER 331
512 > #define MAX_CHANS_PER_USER 332
513 > #define MAX_GLOBAL 333
514 > #define MAX_IDENT 334
515 > #define MAX_LOCAL 335
516 > #define MAX_NICK_CHANGES 336
517 > #define MAX_NICK_LENGTH 337
518 > #define MAX_NICK_TIME 338
519 > #define MAX_NUMBER 339
520 > #define MAX_TARGETS 340
521 > #define MAX_TOPIC_LENGTH 341
522 > #define MAX_WATCH 342
523 > #define MIN_NONWILDCARD 343
524 > #define MIN_NONWILDCARD_SIMPLE 344
525 > #define MIN_IDLE 345
526 > #define MAX_IDLE 346
527 > #define RANDOM_IDLE 347
528 > #define HIDE_IDLE_FROM_OPERS 348
529 > #define MODULE 349
530 > #define MODULES 350
531 > #define NAME 351
532 > #define NEED_PASSWORD 352
533 > #define NETWORK_DESC 353
534 > #define NETWORK_NAME 354
535 > #define NICK 355
536 > #define NO_CREATE_ON_SPLIT 356
537 > #define NO_JOIN_ON_SPLIT 357
538 > #define NO_OPER_FLOOD 358
539 > #define NO_TILDE 359
540 > #define NUMBER 360
541 > #define NUMBER_PER_CIDR 361
542 > #define NUMBER_PER_IP 362
543 > #define OPERATOR 363
544 > #define OPERS_BYPASS_CALLERID 364
545 > #define OPER_ONLY_UMODES 365
546 > #define OPER_PASS_RESV 366
547 > #define OPER_SPY_T 367
548 > #define OPER_UMODES 368
549 > #define JOIN_FLOOD_COUNT 369
550 > #define JOIN_FLOOD_TIME 370
551 > #define PACE_WAIT 371
552 > #define PACE_WAIT_SIMPLE 372
553 > #define PASSWORD 373
554 > #define PATH 374
555 > #define PING_COOKIE 375
556 > #define PING_TIME 376
557 > #define PORT 377
558 > #define QSTRING 378
559 > #define QUIET_ON_BAN 379
560 > #define REASON 380
561 > #define REDIRPORT 381
562 > #define REDIRSERV 382
563 > #define REHASH 383
564 > #define REMOTE 384
565 > #define REMOTEBAN 385
566 > #define RSA_PRIVATE_KEY_FILE 386
567 > #define RSA_PUBLIC_KEY_FILE 387
568 > #define SSL_CERTIFICATE_FILE 388
569 > #define SSL_DH_PARAM_FILE 389
570 > #define T_SSL_CLIENT_METHOD 390
571 > #define T_SSL_SERVER_METHOD 391
572 > #define T_SSLV3 392
573 > #define T_TLSV1 393
574 > #define RESV 394
575 > #define RESV_EXEMPT 395
576 > #define SECONDS 396
577 > #define MINUTES 397
578 > #define HOURS 398
579 > #define DAYS 399
580 > #define WEEKS 400
581 > #define MONTHS 401
582 > #define YEARS 402
583 > #define SENDQ 403
584 > #define SEND_PASSWORD 404
585 > #define SERVERHIDE 405
586 > #define SERVERINFO 406
587 > #define IRCD_SID 407
588 > #define TKLINE_EXPIRE_NOTICES 408
589 > #define T_SHARED 409
590 > #define T_CLUSTER 410
591 > #define TYPE 411
592 > #define SHORT_MOTD 412
593 > #define SPOOF 413
594 > #define SPOOF_NOTICE 414
595 > #define STATS_E_DISABLED 415
596 > #define STATS_I_OPER_ONLY 416
597 > #define STATS_K_OPER_ONLY 417
598 > #define STATS_O_OPER_ONLY 418
599 > #define STATS_P_OPER_ONLY 419
600 > #define TBOOL 420
601 > #define TMASKED 421
602 > #define TS_MAX_DELTA 422
603 > #define TS_WARN_DELTA 423
604 > #define TWODOTS 424
605 > #define T_ALL 425
606 > #define T_BOTS 426
607 > #define T_SOFTCALLERID 427
608 > #define T_CALLERID 428
609 > #define T_CCONN 429
610 > #define T_CCONN_FULL 430
611 > #define T_SSL_CIPHER_LIST 431
612 > #define T_DEAF 432
613 > #define T_DEBUG 433
614 > #define T_DLINE 434
615 > #define T_EXTERNAL 435
616 > #define T_FULL 436
617 > #define T_INVISIBLE 437
618 > #define T_IPV4 438
619 > #define T_IPV6 439
620 > #define T_LOCOPS 440
621 > #define T_MAX_CLIENTS 441
622 > #define T_NCHANGE 442
623 > #define T_NONONREG 443
624 > #define T_OPERWALL 444
625 > #define T_RECVQ 445
626 > #define T_REJ 446
627 > #define T_SERVER 447
628 > #define T_SERVNOTICE 448
629 > #define T_SET 449
630 > #define T_SKILL 450
631 > #define T_SPY 451
632 > #define T_SSL 452
633 > #define T_UMODES 453
634 > #define T_UNAUTH 454
635 > #define T_UNDLINE 455
636 > #define T_UNLIMITED 456
637 > #define T_UNRESV 457
638 > #define T_UNXLINE 458
639 > #define T_GLOBOPS 459
640 > #define T_WALLOP 460
641 > #define T_WEBIRC 461
642 > #define T_RESTART 462
643 > #define T_SERVICE 463
644 > #define T_SERVICES_NAME 464
645 > #define THROTTLE_TIME 465
646 > #define TRUE_NO_OPER_FLOOD 466
647 > #define UNKLINE 467
648 > #define USER 468
649 > #define USE_EGD 469
650 > #define USE_LOGGING 470
651 > #define VHOST 471
652 > #define VHOST6 472
653 > #define XLINE 473
654 > #define WARN_NO_NLINE 474
655 > #define T_SIZE 475
656 > #define T_FILE 476
657  
658  
659  
# Line 642 | Line 661 | extern int yydebug;
661   typedef union YYSTYPE
662   {
663   /* Line 387 of yacc.c  */
664 < #line 135 "conf_parser.y"
664 > #line 138 "conf_parser.y"
665  
666    int number;
667    char *string;
668  
669  
670   /* Line 387 of yacc.c  */
671 < #line 653 "conf_parser.c"
671 > #line 672 "conf_parser.c"
672   } YYSTYPE;
673   # define YYSTYPE_IS_TRIVIAL 1
674   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 672 | Line 691 | int yyparse ();
691   #endif
692   #endif /* ! YYPARSE_PARAM */
693  
694 < #endif /* !YY_YY_Y_TAB_H_INCLUDED  */
694 > #endif /* !YY_YY_CONF_PARSER_H_INCLUDED  */
695  
696   /* Copy the second part of user declarations.  */
697  
698   /* Line 390 of yacc.c  */
699 < #line 681 "conf_parser.c"
699 > #line 700 "conf_parser.c"
700  
701   #ifdef short
702   # undef short
# Line 738 | Line 757 | typedef short int yytype_int16;
757   # endif
758   #endif
759  
760 + #ifndef __attribute__
761 + /* This feature is available in gcc versions 2.5 and later.  */
762 + # if (! defined __GNUC__ || __GNUC__ < 2 \
763 +      || (__GNUC__ == 2 && __GNUC_MINOR__ < 5))
764 + #  define __attribute__(Spec) /* empty */
765 + # endif
766 + #endif
767 +
768   /* Suppress unused-variable warnings by "using" E.  */
769   #if ! defined lint || defined __GNUC__
770   # define YYUSE(E) ((void) (E))
# Line 745 | Line 772 | typedef short int yytype_int16;
772   # define YYUSE(E) /* empty */
773   #endif
774  
775 +
776   /* Identity function, used to suppress warnings about constant conditions.  */
777   #ifndef lint
778   # define YYID(N) (N)
# Line 897 | Line 925 | union yyalloc
925   /* YYFINAL -- State number of the termination state.  */
926   #define YYFINAL  2
927   /* YYLAST -- Last index in YYTABLE.  */
928 < #define YYLAST   1180
928 > #define YYLAST   1160
929  
930   /* YYNTOKENS -- Number of terminals.  */
931 < #define YYNTOKENS  219
931 > #define YYNTOKENS  227
932   /* YYNNTS -- Number of nonterminals.  */
933 < #define YYNNTS  282
933 > #define YYNNTS  281
934   /* YYNRULES -- Number of rules.  */
935 < #define YYNRULES  625
935 > #define YYNRULES  630
936   /* YYNRULES -- Number of states.  */
937 < #define YYNSTATES  1223
937 > #define YYNSTATES  1235
938  
939   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
940   #define YYUNDEFTOK  2
941 < #define YYMAXUTOK   468
941 > #define YYMAXUTOK   476
942  
943   #define YYTRANSLATE(YYX)                                                \
944    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 922 | Line 950 | static const yytype_uint8 yytranslate[]
950         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
951         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
952         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
953 <       2,     2,     2,     2,   218,     2,     2,     2,     2,     2,
954 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   214,
955 <       2,   217,     2,     2,     2,     2,     2,     2,     2,     2,
953 >       2,     2,     2,     2,   226,     2,     2,     2,     2,     2,
954 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   222,
955 >       2,   225,     2,     2,     2,     2,     2,     2,     2,     2,
956         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
957         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
958         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
959         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
960         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
961 <       2,     2,     2,   216,     2,   215,     2,     2,     2,     2,
961 >       2,     2,     2,   224,     2,   223,     2,     2,     2,     2,
962         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
963         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
964         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 964 | Line 992 | static const yytype_uint8 yytranslate[]
992       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
993       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
994       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
995 <     205,   206,   207,   208,   209,   210,   211,   212,   213
995 >     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
996 >     215,   216,   217,   218,   219,   220,   221
997   };
998  
999   #if YYDEBUG
# Line 975 | Line 1004 | static const yytype_uint16 yyprhs[] =
1004         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1005        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1006        39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
1007 <      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
1008 <      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
1009 <     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1010 <     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
1011 <     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
1012 <     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
1013 <     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
1014 <     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
1015 <     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
1016 <     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
1017 <     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
1018 <     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
1019 <     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
1020 <     477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
1021 <     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
1022 <     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1023 <     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
1024 <     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
1025 <     587,   589,   591,   594,   599,   604,   609,   614,   619,   624,
1026 <     629,   634,   639,   644,   649,   654,   659,   660,   667,   668,
1027 <     674,   678,   680,   682,   684,   686,   689,   691,   693,   695,
1028 <     697,   699,   702,   703,   709,   713,   715,   717,   721,   726,
1029 <     731,   732,   739,   742,   744,   746,   748,   750,   752,   754,
1030 <     756,   758,   760,   763,   768,   773,   778,   783,   784,   790,
1031 <     794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
1032 <     814,   819,   824,   829,   830,   837,   840,   842,   844,   846,
1033 <     848,   851,   856,   861,   866,   872,   875,   877,   879,   881,
1034 <     886,   887,   894,   897,   899,   901,   903,   905,   908,   913,
1035 <     918,   919,   925,   929,   931,   933,   935,   937,   939,   941,
1036 <     943,   945,   947,   949,   951,   952,   959,   962,   964,   966,
1037 <     968,   971,   976,   977,   983,   987,   989,   991,   993,   995,
1038 <     997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1039 <    1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1040 <    1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1041 <    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1113,
1042 <    1118,  1123,  1128,  1133,  1134,  1141,  1142,  1148,  1152,  1154,
1043 <    1156,  1159,  1161,  1163,  1165,  1167,  1169,  1174,  1179,  1180,
1044 <    1187,  1190,  1192,  1194,  1196,  1198,  1203,  1208,  1214,  1217,
1045 <    1219,  1221,  1223,  1228,  1229,  1236,  1237,  1243,  1247,  1249,
1046 <    1251,  1254,  1256,  1258,  1260,  1262,  1264,  1269,  1274,  1280,
1047 <    1283,  1285,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1048 <    1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1049 <    1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1050 <    1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1051 <    1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1052 <    1383,  1385,  1390,  1395,  1400,  1405,  1410,  1415,  1420,  1425,
1053 <    1430,  1435,  1440,  1445,  1450,  1455,  1460,  1465,  1470,  1475,
1054 <    1480,  1485,  1490,  1495,  1500,  1505,  1510,  1515,  1520,  1525,
1055 <    1530,  1535,  1540,  1545,  1550,  1555,  1560,  1565,  1570,  1575,
1056 <    1580,  1585,  1590,  1595,  1600,  1605,  1610,  1615,  1616,  1622,
1057 <    1626,  1628,  1630,  1632,  1634,  1636,  1638,  1640,  1642,  1644,
1058 <    1646,  1648,  1650,  1652,  1654,  1656,  1658,  1660,  1662,  1664,
1059 <    1666,  1668,  1669,  1675,  1679,  1681,  1683,  1685,  1687,  1689,
1060 <    1691,  1693,  1695,  1697,  1699,  1701,  1703,  1705,  1707,  1709,
1061 <    1711,  1713,  1715,  1717,  1719,  1721,  1726,  1731,  1736,  1742,
1062 <    1745,  1747,  1749,  1751,  1753,  1755,  1757,  1759,  1761,  1763,
1063 <    1765,  1767,  1769,  1771,  1773,  1775,  1777,  1782,  1787,  1792,
1064 <    1797,  1802,  1807,  1812,  1817,  1822,  1827,  1832,  1837,  1842,
1065 <    1847,  1853,  1856,  1858,  1860,  1862,  1864,  1866,  1868,  1870,
1066 <    1872,  1877,  1882,  1887,  1892,  1897
1007 >      63,    67,    71,    75,    79,    83,    87,    88,    90,    93,
1008 >      97,   101,   105,   111,   114,   116,   118,   120,   123,   128,
1009 >     133,   139,   142,   144,   146,   148,   150,   152,   154,   156,
1010 >     158,   160,   162,   164,   166,   168,   170,   172,   174,   176,
1011 >     178,   181,   186,   191,   195,   197,   199,   201,   205,   207,
1012 >     209,   211,   216,   221,   226,   231,   236,   241,   246,   251,
1013 >     256,   261,   266,   271,   276,   281,   286,   292,   295,   297,
1014 >     299,   301,   303,   306,   311,   316,   321,   327,   330,   332,
1015 >     334,   336,   339,   344,   345,   352,   355,   357,   359,   361,
1016 >     363,   366,   371,   376,   381,   382,   388,   392,   394,   396,
1017 >     398,   400,   402,   404,   406,   408,   409,   416,   419,   421,
1018 >     423,   425,   427,   429,   431,   433,   435,   437,   440,   445,
1019 >     450,   455,   460,   465,   470,   471,   477,   481,   483,   485,
1020 >     487,   489,   491,   493,   495,   497,   499,   501,   503,   505,
1021 >     507,   509,   511,   513,   515,   517,   519,   521,   523,   525,
1022 >     526,   532,   536,   538,   540,   542,   544,   546,   548,   550,
1023 >     552,   554,   556,   558,   560,   562,   564,   566,   568,   570,
1024 >     572,   574,   575,   582,   585,   587,   589,   591,   593,   595,
1025 >     597,   599,   601,   603,   605,   607,   609,   611,   613,   615,
1026 >     617,   619,   622,   627,   632,   637,   642,   647,   652,   657,
1027 >     662,   667,   672,   677,   682,   687,   692,   697,   698,   704,
1028 >     708,   710,   712,   714,   715,   722,   723,   729,   733,   735,
1029 >     737,   739,   741,   744,   746,   748,   750,   752,   754,   757,
1030 >     758,   764,   768,   770,   772,   776,   781,   786,   787,   794,
1031 >     797,   799,   801,   803,   805,   807,   809,   811,   813,   815,
1032 >     818,   823,   828,   833,   838,   839,   845,   849,   851,   853,
1033 >     855,   857,   859,   861,   863,   865,   867,   869,   871,   876,
1034 >     881,   886,   887,   894,   897,   899,   901,   903,   905,   908,
1035 >     913,   918,   923,   929,   932,   934,   936,   938,   943,   944,
1036 >     951,   954,   956,   958,   960,   962,   965,   970,   975,   976,
1037 >     982,   986,   988,   990,   992,   994,   996,   998,  1000,  1002,
1038 >    1004,  1006,  1008,  1009,  1016,  1019,  1021,  1023,  1025,  1028,
1039 >    1033,  1034,  1040,  1044,  1046,  1048,  1050,  1052,  1054,  1056,
1040 >    1058,  1060,  1062,  1064,  1066,  1067,  1074,  1077,  1079,  1081,
1041 >    1083,  1085,  1087,  1089,  1091,  1093,  1095,  1097,  1099,  1101,
1042 >    1103,  1105,  1108,  1113,  1118,  1123,  1128,  1133,  1138,  1143,
1043 >    1148,  1149,  1155,  1159,  1161,  1163,  1165,  1170,  1175,  1180,
1044 >    1185,  1190,  1191,  1198,  1201,  1203,  1205,  1207,  1209,  1214,
1045 >    1219,  1220,  1227,  1230,  1232,  1234,  1236,  1238,  1243,  1248,
1046 >    1254,  1257,  1259,  1261,  1263,  1268,  1269,  1276,  1279,  1281,
1047 >    1283,  1285,  1287,  1292,  1297,  1303,  1306,  1308,  1310,  1312,
1048 >    1314,  1316,  1318,  1320,  1322,  1324,  1326,  1328,  1330,  1332,
1049 >    1334,  1336,  1338,  1340,  1342,  1344,  1346,  1348,  1350,  1352,
1050 >    1354,  1356,  1358,  1360,  1362,  1364,  1366,  1368,  1370,  1372,
1051 >    1374,  1376,  1378,  1380,  1382,  1384,  1386,  1388,  1390,  1392,
1052 >    1394,  1396,  1398,  1400,  1402,  1404,  1406,  1411,  1416,  1421,
1053 >    1426,  1431,  1436,  1441,  1446,  1451,  1456,  1461,  1466,  1471,
1054 >    1476,  1481,  1486,  1491,  1496,  1501,  1506,  1511,  1516,  1521,
1055 >    1526,  1531,  1536,  1541,  1546,  1551,  1556,  1561,  1566,  1571,
1056 >    1576,  1581,  1586,  1591,  1596,  1601,  1606,  1611,  1616,  1621,
1057 >    1626,  1631,  1632,  1638,  1642,  1644,  1646,  1648,  1650,  1652,
1058 >    1654,  1656,  1658,  1660,  1662,  1664,  1666,  1668,  1670,  1672,
1059 >    1674,  1676,  1678,  1680,  1682,  1684,  1685,  1691,  1695,  1697,
1060 >    1699,  1701,  1703,  1705,  1707,  1709,  1711,  1713,  1715,  1717,
1061 >    1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,  1735,  1737,
1062 >    1739,  1744,  1749,  1754,  1760,  1763,  1765,  1767,  1769,  1771,
1063 >    1773,  1775,  1777,  1779,  1781,  1783,  1785,  1787,  1789,  1791,
1064 >    1793,  1798,  1803,  1808,  1813,  1818,  1823,  1828,  1833,  1838,
1065 >    1843,  1848,  1853,  1858,  1864,  1867,  1869,  1871,  1873,  1875,
1066 >    1877,  1879,  1881,  1883,  1885,  1890,  1895,  1900,  1905,  1910,
1067 >    1915
1068   };
1069  
1070   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1071   static const yytype_int16 yyrhs[] =
1072   {
1073 <     220,     0,    -1,    -1,   220,   221,    -1,   253,    -1,   259,
1074 <      -1,   273,    -1,   475,    -1,   291,    -1,   308,    -1,   322,
1075 <      -1,   231,    -1,   492,    -1,   337,    -1,   344,    -1,   348,
1076 <      -1,   358,    -1,   367,    -1,   387,    -1,   397,    -1,   403,
1077 <      -1,   417,    -1,   407,    -1,   226,    -1,     1,   214,    -1,
1078 <       1,   215,    -1,    -1,   223,    -1,    99,   222,    -1,    99,
1079 <     137,   222,    -1,    99,   138,   222,    -1,    99,   139,   222,
1080 <      -1,    99,   140,   222,    -1,    99,   141,   222,    -1,    -1,
1081 <     225,    -1,    99,   224,    -1,    99,     9,   224,    -1,    99,
1082 <      10,   224,    -1,    99,    11,   224,    -1,    88,   216,   227,
1083 <     215,   214,    -1,   227,   228,    -1,   228,    -1,   229,    -1,
1084 <     230,    -1,     1,   214,    -1,    87,   217,   117,   214,    -1,
1085 <     113,   217,   117,   214,    -1,   145,   216,   232,   215,   214,
1086 <      -1,   232,   233,    -1,   233,    -1,   244,    -1,   249,    -1,
1087 <     252,    -1,   246,    -1,   247,    -1,   248,    -1,   251,    -1,
1088 <     242,    -1,   241,    -1,   250,    -1,   245,    -1,   240,    -1,
1089 <     234,    -1,   235,    -1,   243,    -1,     1,   214,    -1,   131,
1090 <     217,   236,   214,    -1,   132,   217,   238,   214,    -1,   236,
1091 <     218,   237,    -1,   237,    -1,   133,    -1,   134,    -1,   238,
1092 <     218,   239,    -1,   239,    -1,   133,    -1,   134,    -1,   129,
1093 <     217,   117,   214,    -1,   127,   217,   117,   214,    -1,   130,
1094 <     217,   117,   214,    -1,   170,   217,   117,   214,    -1,    89,
1095 <     217,   117,   214,    -1,   146,   217,   117,   214,    -1,    24,
1096 <     217,   117,   214,    -1,    92,   217,   117,   214,    -1,    91,
1097 <     217,   117,   214,    -1,   208,   217,   117,   214,    -1,   209,
1098 <     217,   117,   214,    -1,   180,   217,    99,   214,    -1,    57,
1099 <     217,   159,   214,    -1,     4,   216,   254,   215,   214,    -1,
1100 <     254,   255,    -1,   255,    -1,   256,    -1,   258,    -1,   257,
1101 <      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,    31,
1102 <     217,   117,   214,    -1,    24,   217,   117,   214,    -1,    71,
1103 <     216,   260,   215,   214,    -1,   260,   261,    -1,   261,    -1,
1104 <     262,    -1,   263,    -1,     1,   214,    -1,   207,   217,   159,
1105 <     214,    -1,    -1,   264,   213,   216,   265,   215,   214,    -1,
1106 <     265,   266,    -1,   266,    -1,   267,    -1,   269,    -1,   268,
1107 <      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   212,
1108 <     217,   225,   214,    -1,   212,   217,   194,   214,    -1,    -1,
1109 <     150,   270,   217,   271,   214,    -1,   271,   218,   272,    -1,
1110 <     272,    -1,   205,    -1,   102,    -1,    40,    -1,   173,    -1,
1111 <      64,    -1,    62,    -1,   172,    -1,    -1,   102,   274,   216,
1112 <     275,   215,   214,    -1,   275,   276,    -1,   276,    -1,   277,
1113 <      -1,   278,    -1,   279,    -1,   283,    -1,   282,    -1,   280,
1114 <      -1,   281,    -1,   287,    -1,     1,   214,    -1,    89,   217,
1115 <     117,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1116 <     117,   214,    -1,    32,   217,   159,   214,    -1,   128,   217,
1117 <     117,   214,    -1,    17,   217,   117,   214,    -1,    -1,   191,
1118 <     284,   217,   285,   214,    -1,   285,   218,   286,    -1,   286,
1119 <      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1120 <      -1,   175,    -1,    51,    -1,   188,    -1,   181,    -1,   184,
1121 <      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1122 <      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1123 <      -1,    -1,    36,   288,   217,   289,   214,    -1,   289,   218,
1124 <     290,    -1,   290,    -1,    47,    -1,   124,    -1,    64,    -1,
1125 <     204,    -1,   173,    -1,   193,    -1,   210,    -1,    40,    -1,
1126 <      25,    -1,   199,    -1,   123,    -1,     4,    -1,    94,    -1,
1127 <     182,    -1,   197,    -1,   106,    -1,   125,    -1,   187,    -1,
1128 <      87,    -1,    -1,    17,   292,   216,   293,   215,   214,    -1,
1129 <     293,   294,    -1,   294,    -1,   295,    -1,   305,    -1,   306,
1130 <      -1,   296,    -1,   307,    -1,   297,    -1,   298,    -1,   299,
1131 <      -1,   300,    -1,   301,    -1,   302,    -1,   303,    -1,   304,
1132 <      -1,     1,   214,    -1,    89,   217,   117,   214,    -1,   115,
1133 <     217,   223,   214,    -1,   101,   217,    99,   214,    -1,    19,
1134 <     217,   223,   214,    -1,    81,   217,    99,   214,    -1,    76,
1135 <     217,    99,   214,    -1,    78,   217,    99,   214,    -1,    77,
1136 <     217,    99,   214,    -1,   142,   217,   225,   214,    -1,   183,
1137 <     217,   225,   214,    -1,    15,   217,    99,   214,    -1,    16,
1138 <     217,    99,   214,    -1,   100,   217,    99,   214,    -1,    -1,
1139 <      70,   309,   216,   314,   215,   214,    -1,    -1,    36,   311,
1140 <     217,   312,   214,    -1,   312,   218,   313,    -1,   313,    -1,
1141 <     190,    -1,    51,    -1,   185,    -1,   314,   315,    -1,   315,
1142 <      -1,   316,    -1,   310,    -1,   320,    -1,   321,    -1,     1,
1143 <     214,    -1,    -1,   116,   217,   318,   317,   214,    -1,   318,
1144 <     218,   319,    -1,   319,    -1,    99,    -1,    99,   163,    99,
1145 <      -1,    61,   217,   117,   214,    -1,    56,   217,   117,   214,
1146 <      -1,    -1,    48,   323,   216,   324,   215,   214,    -1,   324,
1147 <     325,    -1,   325,    -1,   326,    -1,   327,    -1,   328,    -1,
1148 <     330,    -1,   334,    -1,   335,    -1,   336,    -1,   329,    -1,
1149 <       1,   214,    -1,   205,   217,   117,   214,    -1,   112,   217,
1150 <     117,   214,    -1,    17,   217,   117,   214,    -1,    32,   217,
1151 <     159,   214,    -1,    -1,    36,   331,   217,   332,   214,    -1,
1152 <     332,   218,   333,    -1,   333,    -1,   153,    -1,    33,    -1,
1153 <      65,    -1,    49,    -1,    13,    -1,    98,    -1,    43,    -1,
1154 <     136,    -1,    90,    -1,   152,   217,   117,   214,    -1,   121,
1155 <     217,   117,   214,    -1,   120,   217,    99,   214,    -1,    -1,
1156 <     135,   338,   216,   339,   215,   214,    -1,   339,   340,    -1,
1157 <     340,    -1,   341,    -1,   342,    -1,   343,    -1,     1,   214,
1158 <      -1,   119,   217,   117,   214,    -1,    14,   217,   117,   214,
1159 <      -1,    93,   217,   117,   214,    -1,   200,   216,   345,   215,
1160 <     214,    -1,   345,   346,    -1,   346,    -1,   347,    -1,     1,
1161 <      -1,    89,   217,   117,   214,    -1,    -1,   148,   349,   216,
1162 <     350,   215,   214,    -1,   350,   351,    -1,   351,    -1,   352,
1163 <      -1,   353,    -1,   354,    -1,     1,   214,    -1,    89,   217,
1164 <     117,   214,    -1,   205,   217,   117,   214,    -1,    -1,   150,
1165 <     355,   217,   356,   214,    -1,   356,   218,   357,    -1,   357,
1166 <      -1,    64,    -1,   204,    -1,   173,    -1,   193,    -1,   210,
1167 <      -1,   196,    -1,   135,    -1,   195,    -1,   179,    -1,   164,
1168 <      -1,    -1,   149,   359,   216,   360,   215,   214,    -1,   360,
1169 <     361,    -1,   361,    -1,   362,    -1,   363,    -1,     1,   214,
1170 <      -1,    89,   217,   117,   214,    -1,    -1,   150,   364,   217,
1171 <     365,   214,    -1,   365,   218,   366,    -1,   366,    -1,    64,
1172 <      -1,   204,    -1,   173,    -1,   193,    -1,   210,    -1,   196,
1173 <      -1,   135,    -1,   195,    -1,   179,    -1,   164,    -1,    -1,
1174 <      18,   368,   216,   369,   215,   214,    -1,   369,   370,    -1,
1175 <     370,    -1,   371,    -1,   372,    -1,   373,    -1,   374,    -1,
1176 <     375,    -1,   377,    -1,   376,    -1,   386,    -1,   378,    -1,
1177 <     383,    -1,   384,    -1,   385,    -1,   382,    -1,     1,   214,
1178 <      -1,    89,   217,   117,   214,    -1,    56,   217,   117,   214,
1179 <      -1,   208,   217,   117,   214,    -1,   143,   217,   117,   214,
1180 <      -1,     3,   217,   117,   214,    -1,   116,   217,    99,   214,
1181 <      -1,     5,   217,   177,   214,    -1,     5,   217,   178,   214,
1182 <      -1,    -1,    36,   379,   217,   380,   214,    -1,   380,   218,
1183 <     381,    -1,   381,    -1,     8,    -1,   190,    -1,    32,   217,
1184 <     159,   214,    -1,    58,   217,   117,   214,    -1,    68,   217,
1185 <     117,   214,    -1,    17,   217,   117,   214,    -1,   170,   217,
1186 <     117,   214,    -1,    -1,    62,   388,   216,   393,   215,   214,
1187 <      -1,    -1,   150,   390,   217,   391,   214,    -1,   391,   218,
1188 <     392,    -1,   392,    -1,   122,    -1,   393,   394,    -1,   394,
1189 <      -1,   395,    -1,   396,    -1,   389,    -1,     1,    -1,   205,
1190 <     217,   117,   214,    -1,   119,   217,   117,   214,    -1,    -1,
1191 <      23,   398,   216,   399,   215,   214,    -1,   399,   400,    -1,
1192 <     400,    -1,   401,    -1,   402,    -1,     1,    -1,    61,   217,
1193 <     117,   214,    -1,   119,   217,   117,   214,    -1,    34,   216,
1194 <     404,   215,   214,    -1,   404,   405,    -1,   405,    -1,   406,
1195 <      -1,     1,    -1,    61,   217,   117,   214,    -1,    -1,    38,
1196 <     408,   216,   413,   215,   214,    -1,    -1,   150,   410,   217,
1197 <     411,   214,    -1,   411,   218,   412,    -1,   412,    -1,   122,
1198 <      -1,   413,   414,    -1,   414,    -1,   415,    -1,   416,    -1,
1199 <     409,    -1,     1,    -1,    89,   217,   117,   214,    -1,   119,
1200 <     217,   117,   214,    -1,    39,   216,   418,   215,   214,    -1,
1201 <     418,   419,    -1,   419,    -1,   428,    -1,   429,    -1,   431,
1202 <      -1,   432,    -1,   433,    -1,   434,    -1,   435,    -1,   436,
1203 <      -1,   437,    -1,   438,    -1,   427,    -1,   440,    -1,   441,
1204 <      -1,   456,    -1,   443,    -1,   445,    -1,   447,    -1,   446,
1205 <      -1,   450,    -1,   444,    -1,   451,    -1,   452,    -1,   453,
1206 <      -1,   454,    -1,   455,    -1,   468,    -1,   457,    -1,   458,
1207 <      -1,   459,    -1,   464,    -1,   448,    -1,   449,    -1,   474,
1208 <      -1,   472,    -1,   473,    -1,   430,    -1,   463,    -1,   439,
1209 <      -1,   461,    -1,   462,    -1,   426,    -1,   421,    -1,   422,
1210 <      -1,   423,    -1,   424,    -1,   425,    -1,   442,    -1,   420,
1211 <      -1,   460,    -1,     1,    -1,    83,   217,    99,   214,    -1,
1212 <      42,   217,   159,   214,    -1,    41,   217,   223,   214,    -1,
1213 <      44,   217,   223,   214,    -1,    45,   217,    99,   214,    -1,
1214 <      46,   217,    99,   214,    -1,   147,   217,   159,   214,    -1,
1215 <      63,   217,   223,   214,    -1,    55,   217,   159,   214,    -1,
1216 <      59,   217,   159,   214,    -1,    28,   217,   159,   214,    -1,
1217 <      35,   217,   159,   214,    -1,     6,   217,   159,   214,    -1,
1218 <      80,   217,   223,   214,    -1,    79,   217,    99,   214,    -1,
1219 <      72,   217,    99,   214,    -1,     7,   217,   223,   214,    -1,
1220 <     162,   217,   223,   214,    -1,   161,   217,   223,   214,    -1,
1221 <      50,   217,    99,   214,    -1,    60,   217,   159,   214,    -1,
1222 <     211,   217,   159,   214,    -1,   154,   217,   159,   214,    -1,
1223 <     157,   217,   159,   214,    -1,   158,   217,   159,   214,    -1,
1224 <     156,   217,   159,   214,    -1,   156,   217,   160,   214,    -1,
1225 <     155,   217,   159,   214,    -1,   155,   217,   160,   214,    -1,
1226 <     110,   217,   223,   214,    -1,    12,   217,   223,   214,    -1,
1227 <     103,   217,   159,   214,    -1,   111,   217,   223,   214,    -1,
1228 <     151,   217,   159,   214,    -1,    97,   217,   159,   214,    -1,
1229 <     203,   217,   159,   214,    -1,   105,   217,   159,   214,    -1,
1230 <      84,   217,   117,   214,    -1,    29,   217,    99,   214,    -1,
1231 <      82,   217,    99,   214,    -1,   206,   217,   159,   214,    -1,
1232 <      30,   217,   117,   214,    -1,   201,   217,   117,   214,    -1,
1233 <     114,   217,   159,   214,    -1,    26,   217,   159,   214,    -1,
1234 <     202,   217,   223,   214,    -1,    -1,   107,   465,   217,   466,
1235 <     214,    -1,   466,   218,   467,    -1,   467,    -1,   165,    -1,
1236 <     168,    -1,   169,    -1,   171,    -1,   172,    -1,   175,    -1,
1237 <      51,    -1,   188,    -1,   181,    -1,   184,    -1,   192,    -1,
1238 <     189,    -1,   174,    -1,   182,    -1,   186,    -1,   176,    -1,
1239 <     198,    -1,   166,    -1,   167,    -1,   179,    -1,    -1,   104,
1240 <     469,   217,   470,   214,    -1,   470,   218,   471,    -1,   471,
1241 <      -1,   165,    -1,   168,    -1,   169,    -1,   171,    -1,   172,
1242 <      -1,   175,    -1,   188,    -1,    51,    -1,   181,    -1,   184,
1243 <      -1,   192,    -1,   189,    -1,   174,    -1,   182,    -1,   186,
1244 <      -1,   176,    -1,   198,    -1,   166,    -1,   167,    -1,   179,
1245 <      -1,    85,   217,    99,   214,    -1,    86,   217,    99,   214,
1246 <      -1,    20,   217,    99,   214,    -1,    14,   216,   476,   215,
1247 <     214,    -1,   476,   477,    -1,   477,    -1,   485,    -1,   480,
1248 <      -1,   481,    -1,   482,    -1,   483,    -1,   484,    -1,   486,
1249 <      -1,   487,    -1,   488,    -1,   479,    -1,   489,    -1,   490,
1250 <      -1,   491,    -1,   478,    -1,     1,    -1,    27,   217,   159,
1251 <     214,    -1,   126,   217,   159,   214,    -1,    66,   217,   223,
1252 <     214,    -1,    67,   217,   223,   214,    -1,    75,   217,    99,
1253 <     214,    -1,    74,   217,    99,   214,    -1,   118,   217,   159,
1254 <     214,    -1,    73,   217,    99,   214,    -1,    22,   217,    99,
1255 <     214,    -1,    21,   217,    99,   214,    -1,    95,   217,   159,
1256 <     214,    -1,    96,   217,   159,   214,    -1,   108,   217,    99,
1257 <     214,    -1,   109,   217,   223,   214,    -1,   144,   216,   493,
1258 <     215,   214,    -1,   493,   494,    -1,   494,    -1,   495,    -1,
1259 <     496,    -1,   498,    -1,   499,    -1,   497,    -1,   500,    -1,
1260 <       1,    -1,    37,   217,   159,   214,    -1,    54,   217,   159,
1261 <     214,    -1,    52,   217,   117,   214,    -1,    69,   217,   223,
1262 <     214,    -1,    51,   217,   159,   214,    -1,    53,   217,   159,
1263 <     214,    -1
1073 >     228,     0,    -1,    -1,   228,   229,    -1,   263,    -1,   269,
1074 >      -1,   283,    -1,   482,    -1,   301,    -1,   324,    -1,   338,
1075 >      -1,   239,    -1,   498,    -1,   353,    -1,   360,    -1,   364,
1076 >      -1,   374,    -1,   383,    -1,   403,    -1,   409,    -1,   415,
1077 >      -1,   425,    -1,   419,    -1,   234,    -1,     1,   222,    -1,
1078 >       1,   223,    -1,    -1,   231,    -1,   105,   230,    -1,   105,
1079 >     141,   230,    -1,   105,   142,   230,    -1,   105,   143,   230,
1080 >      -1,   105,   144,   230,    -1,   105,   145,   230,    -1,   105,
1081 >     146,   230,    -1,   105,   147,   230,    -1,    -1,   233,    -1,
1082 >     105,   232,    -1,   105,     9,   232,    -1,   105,    10,   232,
1083 >      -1,   105,    11,   232,    -1,    95,   224,   235,   223,   222,
1084 >      -1,   235,   236,    -1,   236,    -1,   237,    -1,   238,    -1,
1085 >       1,   222,    -1,    94,   225,   123,   222,    -1,   119,   225,
1086 >     123,   222,    -1,   151,   224,   240,   223,   222,    -1,   240,
1087 >     241,    -1,   241,    -1,   252,    -1,   257,    -1,   262,    -1,
1088 >     254,    -1,   255,    -1,   256,    -1,   259,    -1,   260,    -1,
1089 >     261,    -1,   250,    -1,   249,    -1,   258,    -1,   253,    -1,
1090 >     248,    -1,   242,    -1,   243,    -1,   251,    -1,     1,   222,
1091 >      -1,   135,   225,   244,   222,    -1,   136,   225,   246,   222,
1092 >      -1,   244,   226,   245,    -1,   245,    -1,   137,    -1,   138,
1093 >      -1,   246,   226,   247,    -1,   247,    -1,   137,    -1,   138,
1094 >      -1,   133,   225,   123,   222,    -1,   131,   225,   123,   222,
1095 >      -1,   134,   225,   123,   222,    -1,   176,   225,   123,   222,
1096 >      -1,    96,   225,   123,   222,    -1,   152,   225,   123,   222,
1097 >      -1,    24,   225,   123,   222,    -1,    99,   225,   123,   222,
1098 >      -1,    98,   225,   123,   222,    -1,   216,   225,   123,   222,
1099 >      -1,   217,   225,   123,   222,    -1,   186,   225,   105,   222,
1100 >      -1,    82,   225,   105,   222,    -1,    86,   225,   105,   222,
1101 >      -1,    58,   225,   165,   222,    -1,     4,   224,   264,   223,
1102 >     222,    -1,   264,   265,    -1,   265,    -1,   266,    -1,   268,
1103 >      -1,   267,    -1,     1,   222,    -1,    96,   225,   123,   222,
1104 >      -1,    31,   225,   123,   222,    -1,    24,   225,   123,   222,
1105 >      -1,    72,   224,   270,   223,   222,    -1,   270,   271,    -1,
1106 >     271,    -1,   272,    -1,   273,    -1,     1,   222,    -1,   215,
1107 >     225,   165,   222,    -1,    -1,   274,   221,   224,   275,   223,
1108 >     222,    -1,   275,   276,    -1,   276,    -1,   277,    -1,   279,
1109 >      -1,   278,    -1,     1,   222,    -1,    96,   225,   123,   222,
1110 >      -1,   220,   225,   233,   222,    -1,   220,   225,   201,   222,
1111 >      -1,    -1,   156,   280,   225,   281,   222,    -1,   281,   226,
1112 >     282,    -1,   282,    -1,   213,    -1,   108,    -1,    40,    -1,
1113 >     179,    -1,    65,    -1,    63,    -1,   178,    -1,    -1,   108,
1114 >     284,   224,   285,   223,   222,    -1,   285,   286,    -1,   286,
1115 >      -1,   287,    -1,   288,    -1,   289,    -1,   293,    -1,   292,
1116 >      -1,   290,    -1,   291,    -1,   297,    -1,     1,   222,    -1,
1117 >      96,   225,   123,   222,    -1,   213,   225,   123,   222,    -1,
1118 >     118,   225,   123,   222,    -1,    32,   225,   165,   222,    -1,
1119 >     132,   225,   123,   222,    -1,    17,   225,   123,   222,    -1,
1120 >      -1,   198,   294,   225,   295,   222,    -1,   295,   226,   296,
1121 >      -1,   296,    -1,   171,    -1,   174,    -1,   175,    -1,   177,
1122 >      -1,   178,    -1,   181,    -1,    51,    -1,   195,    -1,   187,
1123 >      -1,   191,    -1,   199,    -1,   196,    -1,   180,    -1,   189,
1124 >      -1,   193,    -1,   182,    -1,   205,    -1,   172,    -1,   173,
1125 >      -1,   185,    -1,   188,    -1,    -1,    36,   298,   225,   299,
1126 >     222,    -1,   299,   226,   300,    -1,   300,    -1,    47,    -1,
1127 >     129,    -1,    65,    -1,   212,    -1,   179,    -1,   200,    -1,
1128 >     218,    -1,    40,    -1,    25,    -1,   207,    -1,   128,    -1,
1129 >       4,    -1,   189,    -1,   204,    -1,   112,    -1,   130,    -1,
1130 >     194,    -1,    94,    -1,    -1,    17,   302,   224,   303,   223,
1131 >     222,    -1,   303,   304,    -1,   304,    -1,   305,    -1,   315,
1132 >      -1,   316,    -1,   306,    -1,   317,    -1,   307,    -1,   308,
1133 >      -1,   309,    -1,   310,    -1,   311,    -1,   312,    -1,   313,
1134 >      -1,   314,    -1,   318,    -1,   319,    -1,   320,    -1,     1,
1135 >     222,    -1,    96,   225,   123,   222,    -1,   121,   225,   231,
1136 >     222,    -1,   107,   225,   105,   222,    -1,    19,   225,   231,
1137 >     222,    -1,    84,   225,   105,   222,    -1,    78,   225,   105,
1138 >     222,    -1,    80,   225,   105,   222,    -1,    79,   225,   105,
1139 >     222,    -1,   148,   225,   233,   222,    -1,   190,   225,   233,
1140 >     222,    -1,    15,   225,   105,   222,    -1,    16,   225,   105,
1141 >     222,    -1,   106,   225,   105,   222,    -1,    90,   225,   231,
1142 >     222,    -1,    91,   225,   231,   222,    -1,    -1,    36,   321,
1143 >     225,   322,   222,    -1,   322,   226,   323,    -1,   323,    -1,
1144 >      92,    -1,    93,    -1,    -1,    71,   325,   224,   330,   223,
1145 >     222,    -1,    -1,    36,   327,   225,   328,   222,    -1,   328,
1146 >     226,   329,    -1,   329,    -1,   197,    -1,    51,    -1,   192,
1147 >      -1,   330,   331,    -1,   331,    -1,   332,    -1,   326,    -1,
1148 >     336,    -1,   337,    -1,     1,   222,    -1,    -1,   122,   225,
1149 >     334,   333,   222,    -1,   334,   226,   335,    -1,   335,    -1,
1150 >     105,    -1,   105,   169,   105,    -1,    62,   225,   123,   222,
1151 >      -1,    57,   225,   123,   222,    -1,    -1,    48,   339,   224,
1152 >     340,   223,   222,    -1,   340,   341,    -1,   341,    -1,   342,
1153 >      -1,   343,    -1,   344,    -1,   346,    -1,   350,    -1,   351,
1154 >      -1,   352,    -1,   345,    -1,     1,   222,    -1,   213,   225,
1155 >     123,   222,    -1,   118,   225,   123,   222,    -1,    17,   225,
1156 >     123,   222,    -1,    32,   225,   165,   222,    -1,    -1,    36,
1157 >     347,   225,   348,   222,    -1,   348,   226,   349,    -1,   349,
1158 >      -1,   159,    -1,    33,    -1,    66,    -1,    49,    -1,    13,
1159 >      -1,   104,    -1,    43,    -1,   140,    -1,   206,    -1,    97,
1160 >      -1,   158,   225,   123,   222,    -1,   127,   225,   123,   222,
1161 >      -1,   126,   225,   105,   222,    -1,    -1,   139,   354,   224,
1162 >     355,   223,   222,    -1,   355,   356,    -1,   356,    -1,   357,
1163 >      -1,   358,    -1,   359,    -1,     1,   222,    -1,    73,   225,
1164 >     123,   222,    -1,   125,   225,   123,   222,    -1,    34,   225,
1165 >     123,   222,    -1,   208,   224,   361,   223,   222,    -1,   361,
1166 >     362,    -1,   362,    -1,   363,    -1,     1,    -1,    96,   225,
1167 >     123,   222,    -1,    -1,   154,   365,   224,   366,   223,   222,
1168 >      -1,   366,   367,    -1,   367,    -1,   368,    -1,   369,    -1,
1169 >     370,    -1,     1,   222,    -1,    96,   225,   123,   222,    -1,
1170 >     213,   225,   123,   222,    -1,    -1,   156,   371,   225,   372,
1171 >     222,    -1,   372,   226,   373,    -1,   373,    -1,    65,    -1,
1172 >     212,    -1,   179,    -1,   200,    -1,   218,    -1,   203,    -1,
1173 >     139,    -1,   202,    -1,   185,    -1,   170,    -1,    -1,   155,
1174 >     375,   224,   376,   223,   222,    -1,   376,   377,    -1,   377,
1175 >      -1,   378,    -1,   379,    -1,     1,   222,    -1,    96,   225,
1176 >     123,   222,    -1,    -1,   156,   380,   225,   381,   222,    -1,
1177 >     381,   226,   382,    -1,   382,    -1,    65,    -1,   212,    -1,
1178 >     179,    -1,   200,    -1,   218,    -1,   203,    -1,   139,    -1,
1179 >     202,    -1,   185,    -1,   170,    -1,    -1,    18,   384,   224,
1180 >     385,   223,   222,    -1,   385,   386,    -1,   386,    -1,   387,
1181 >      -1,   388,    -1,   389,    -1,   390,    -1,   391,    -1,   393,
1182 >      -1,   392,    -1,   402,    -1,   394,    -1,   399,    -1,   400,
1183 >      -1,   401,    -1,   398,    -1,     1,   222,    -1,    96,   225,
1184 >     123,   222,    -1,    57,   225,   123,   222,    -1,   216,   225,
1185 >     123,   222,    -1,   149,   225,   123,   222,    -1,     3,   225,
1186 >     123,   222,    -1,   122,   225,   105,   222,    -1,     5,   225,
1187 >     183,   222,    -1,     5,   225,   184,   222,    -1,    -1,    36,
1188 >     395,   225,   396,   222,    -1,   396,   226,   397,    -1,   397,
1189 >      -1,     8,    -1,   197,    -1,    32,   225,   165,   222,    -1,
1190 >      59,   225,   123,   222,    -1,    69,   225,   123,   222,    -1,
1191 >      17,   225,   123,   222,    -1,   176,   225,   123,   222,    -1,
1192 >      -1,    63,   404,   224,   405,   223,   222,    -1,   405,   406,
1193 >      -1,   406,    -1,   407,    -1,   408,    -1,     1,    -1,   213,
1194 >     225,   123,   222,    -1,   125,   225,   123,   222,    -1,    -1,
1195 >      23,   410,   224,   411,   223,   222,    -1,   411,   412,    -1,
1196 >     412,    -1,   413,    -1,   414,    -1,     1,    -1,    62,   225,
1197 >     123,   222,    -1,   125,   225,   123,   222,    -1,    34,   224,
1198 >     416,   223,   222,    -1,   416,   417,    -1,   417,    -1,   418,
1199 >      -1,     1,    -1,    62,   225,   123,   222,    -1,    -1,    38,
1200 >     420,   224,   421,   223,   222,    -1,   421,   422,    -1,   422,
1201 >      -1,   423,    -1,   424,    -1,     1,    -1,    96,   225,   123,
1202 >     222,    -1,   125,   225,   123,   222,    -1,    39,   224,   426,
1203 >     223,   222,    -1,   426,   427,    -1,   427,    -1,   436,    -1,
1204 >     437,    -1,   439,    -1,   440,    -1,   441,    -1,   442,    -1,
1205 >     443,    -1,   444,    -1,   445,    -1,   446,    -1,   435,    -1,
1206 >     448,    -1,   449,    -1,   463,    -1,   451,    -1,   453,    -1,
1207 >     455,    -1,   454,    -1,   458,    -1,   452,    -1,   459,    -1,
1208 >     460,    -1,   461,    -1,   462,    -1,   475,    -1,   464,    -1,
1209 >     465,    -1,   466,    -1,   471,    -1,   456,    -1,   457,    -1,
1210 >     481,    -1,   479,    -1,   480,    -1,   438,    -1,   470,    -1,
1211 >     447,    -1,   468,    -1,   469,    -1,   434,    -1,   429,    -1,
1212 >     430,    -1,   431,    -1,   432,    -1,   433,    -1,   450,    -1,
1213 >     428,    -1,   467,    -1,     1,    -1,    87,   225,   105,   222,
1214 >      -1,    42,   225,   165,   222,    -1,    41,   225,   231,   222,
1215 >      -1,    44,   225,   231,   222,    -1,    45,   225,   105,   222,
1216 >      -1,    46,   225,   105,   222,    -1,   153,   225,   165,   222,
1217 >      -1,    64,   225,   231,   222,    -1,    56,   225,   165,   222,
1218 >      -1,    60,   225,   165,   222,    -1,    28,   225,   165,   222,
1219 >      -1,    35,   225,   165,   222,    -1,     6,   225,   165,   222,
1220 >      -1,    83,   225,   231,   222,    -1,    81,   225,   105,   222,
1221 >      -1,    74,   225,   105,   222,    -1,     7,   225,   231,   222,
1222 >      -1,   168,   225,   231,   222,    -1,   167,   225,   231,   222,
1223 >      -1,    50,   225,   105,   222,    -1,    61,   225,   165,   222,
1224 >      -1,   219,   225,   165,   222,    -1,   160,   225,   165,   222,
1225 >      -1,   163,   225,   165,   222,    -1,   164,   225,   165,   222,
1226 >      -1,   162,   225,   165,   222,    -1,   162,   225,   166,   222,
1227 >      -1,   161,   225,   165,   222,    -1,   161,   225,   166,   222,
1228 >      -1,   116,   225,   231,   222,    -1,    12,   225,   231,   222,
1229 >      -1,   109,   225,   165,   222,    -1,   117,   225,   231,   222,
1230 >      -1,   157,   225,   165,   222,    -1,   103,   225,   165,   222,
1231 >      -1,   211,   225,   165,   222,    -1,   111,   225,   165,   222,
1232 >      -1,    29,   225,   105,   222,    -1,    85,   225,   105,   222,
1233 >      -1,   214,   225,   165,   222,    -1,    30,   225,   123,   222,
1234 >      -1,   209,   225,   123,   222,    -1,   120,   225,   165,   222,
1235 >      -1,    26,   225,   165,   222,    -1,   210,   225,   231,   222,
1236 >      -1,    -1,   113,   472,   225,   473,   222,    -1,   473,   226,
1237 >     474,    -1,   474,    -1,   171,    -1,   174,    -1,   175,    -1,
1238 >     177,    -1,   178,    -1,   181,    -1,    51,    -1,   195,    -1,
1239 >     187,    -1,   191,    -1,   199,    -1,   196,    -1,   180,    -1,
1240 >     189,    -1,   193,    -1,   182,    -1,   205,    -1,   172,    -1,
1241 >     173,    -1,   185,    -1,    -1,   110,   476,   225,   477,   222,
1242 >      -1,   477,   226,   478,    -1,   478,    -1,   171,    -1,   174,
1243 >      -1,   175,    -1,   177,    -1,   178,    -1,   181,    -1,   195,
1244 >      -1,    51,    -1,   187,    -1,   191,    -1,   199,    -1,   196,
1245 >      -1,   180,    -1,   189,    -1,   193,    -1,   182,    -1,   205,
1246 >      -1,   172,    -1,   173,    -1,   185,    -1,   188,    -1,    88,
1247 >     225,   105,   222,    -1,    89,   225,   105,   222,    -1,    20,
1248 >     225,   105,   222,    -1,    14,   224,   483,   223,   222,    -1,
1249 >     483,   484,    -1,   484,    -1,   491,    -1,   486,    -1,   487,
1250 >      -1,   488,    -1,   489,    -1,   490,    -1,   492,    -1,   493,
1251 >      -1,   494,    -1,   495,    -1,   496,    -1,   497,    -1,   485,
1252 >      -1,     1,    -1,    27,   225,   165,   222,    -1,    67,   225,
1253 >     231,   222,    -1,    68,   225,   231,   222,    -1,    77,   225,
1254 >     105,   222,    -1,    76,   225,   105,   222,    -1,   124,   225,
1255 >     165,   222,    -1,    75,   225,   105,   222,    -1,    22,   225,
1256 >     105,   222,    -1,    21,   225,   105,   222,    -1,   101,   225,
1257 >     165,   222,    -1,   102,   225,   165,   222,    -1,   114,   225,
1258 >     105,   222,    -1,   115,   225,   231,   222,    -1,   150,   224,
1259 >     499,   223,   222,    -1,   499,   500,    -1,   500,    -1,   501,
1260 >      -1,   502,    -1,   503,    -1,   505,    -1,   506,    -1,   504,
1261 >      -1,   507,    -1,     1,    -1,    37,   225,   165,   222,    -1,
1262 >      54,   225,   165,   222,    -1,    55,   225,   165,   222,    -1,
1263 >      52,   225,   123,   222,    -1,    70,   225,   231,   222,    -1,
1264 >      51,   225,   165,   222,    -1,    53,   225,   165,   222,    -1
1265   };
1266  
1267   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1268   static const yytype_uint16 yyrline[] =
1269   {
1270 <       0,   354,   354,   355,   358,   359,   360,   361,   362,   363,
1271 <     364,   365,   366,   367,   368,   369,   370,   371,   372,   373,
1272 <     374,   375,   376,   377,   378,   379,   383,   383,   384,   388,
1273 <     392,   396,   400,   404,   410,   410,   411,   412,   413,   414,
1274 <     421,   424,   424,   425,   425,   425,   427,   433,   440,   442,
1275 <     442,   443,   443,   444,   444,   445,   445,   446,   446,   447,
1276 <     447,   448,   448,   449,   449,   450,   451,   454,   455,   457,
1277 <     457,   458,   464,   472,   472,   473,   479,   487,   526,   585,
1278 <     613,   621,   636,   651,   660,   674,   683,   711,   741,   764,
1279 <     773,   775,   775,   776,   776,   777,   777,   779,   788,   797,
1280 <     809,   810,   810,   812,   812,   813,   815,   822,   822,   835,
1281 <     836,   838,   838,   839,   839,   841,   849,   852,   858,   857,
1282 <     863,   863,   864,   868,   872,   876,   880,   884,   888,   899,
1283 <     898,   978,   978,   979,   979,   979,   980,   980,   980,   981,
1284 <     981,   981,   983,   989,   995,  1001,  1012,  1018,  1025,  1024,
1285 <    1030,  1030,  1031,  1035,  1039,  1043,  1047,  1051,  1055,  1059,
1286 <    1063,  1067,  1071,  1075,  1079,  1083,  1087,  1091,  1095,  1099,
1287 <    1103,  1107,  1114,  1113,  1119,  1119,  1120,  1124,  1128,  1132,
1288 <    1136,  1140,  1144,  1148,  1152,  1156,  1160,  1164,  1168,  1172,
1289 <    1176,  1180,  1184,  1188,  1192,  1203,  1202,  1253,  1253,  1254,
1290 <    1255,  1255,  1256,  1257,  1258,  1259,  1260,  1261,  1262,  1263,
1291 <    1264,  1264,  1265,  1267,  1273,  1279,  1285,  1291,  1297,  1303,
1292 <    1309,  1315,  1321,  1328,  1334,  1340,  1350,  1349,  1356,  1355,
1293 <    1360,  1360,  1361,  1365,  1369,  1375,  1375,  1376,  1376,  1376,
1294 <    1376,  1376,  1378,  1378,  1380,  1380,  1382,  1396,  1416,  1422,
1295 <    1432,  1431,  1473,  1473,  1474,  1474,  1474,  1474,  1475,  1475,
1296 <    1475,  1476,  1476,  1478,  1484,  1490,  1496,  1508,  1507,  1513,
1297 <    1513,  1514,  1518,  1522,  1526,  1530,  1534,  1538,  1542,  1546,
1298 <    1552,  1566,  1575,  1589,  1588,  1597,  1597,  1598,  1598,  1598,
1299 <    1598,  1600,  1606,  1615,  1624,  1626,  1626,  1627,  1627,  1629,
1300 <    1645,  1644,  1669,  1669,  1670,  1670,  1670,  1670,  1672,  1678,
1301 <    1698,  1697,  1703,  1703,  1704,  1708,  1712,  1716,  1720,  1724,
1302 <    1728,  1732,  1736,  1740,  1750,  1749,  1770,  1770,  1771,  1771,
1303 <    1771,  1773,  1780,  1779,  1785,  1785,  1786,  1790,  1794,  1798,
1304 <    1802,  1806,  1810,  1814,  1818,  1822,  1832,  1831,  1897,  1897,
1305 <    1898,  1898,  1898,  1899,  1899,  1900,  1900,  1900,  1901,  1901,
1306 <    1901,  1902,  1902,  1903,  1905,  1911,  1917,  1923,  1936,  1949,
1307 <    1955,  1959,  1968,  1967,  1972,  1972,  1973,  1977,  1983,  1994,
1308 <    2000,  2006,  2012,  2028,  2027,  2090,  2089,  2095,  2095,  2096,
1309 <    2102,  2102,  2103,  2103,  2103,  2103,  2105,  2125,  2135,  2134,
1310 <    2161,  2161,  2162,  2162,  2162,  2164,  2170,  2179,  2181,  2181,
1311 <    2182,  2182,  2184,  2202,  2201,  2247,  2246,  2252,  2252,  2253,
1312 <    2259,  2259,  2260,  2260,  2260,  2260,  2262,  2268,  2277,  2280,
1313 <    2280,  2281,  2281,  2282,  2282,  2283,  2283,  2284,  2284,  2285,
1314 <    2285,  2286,  2287,  2288,  2288,  2289,  2289,  2290,  2290,  2291,
1315 <    2291,  2292,  2292,  2293,  2293,  2294,  2295,  2295,  2296,  2296,
1316 <    2297,  2297,  2298,  2298,  2299,  2299,  2300,  2301,  2301,  2302,
1317 <    2303,  2304,  2304,  2305,  2305,  2306,  2307,  2308,  2309,  2309,
1318 <    2310,  2313,  2318,  2324,  2330,  2336,  2341,  2346,  2351,  2356,
1319 <    2361,  2366,  2371,  2376,  2381,  2386,  2391,  2396,  2401,  2406,
1320 <    2412,  2423,  2428,  2433,  2438,  2443,  2448,  2451,  2456,  2459,
1321 <    2464,  2469,  2474,  2479,  2484,  2489,  2494,  2499,  2504,  2515,
1322 <    2520,  2525,  2530,  2539,  2548,  2553,  2558,  2564,  2563,  2568,
1323 <    2568,  2569,  2572,  2575,  2578,  2581,  2584,  2587,  2590,  2593,
1324 <    2596,  2599,  2602,  2605,  2608,  2611,  2614,  2617,  2620,  2623,
1325 <    2626,  2632,  2631,  2636,  2636,  2637,  2640,  2643,  2646,  2649,
1326 <    2652,  2655,  2658,  2661,  2664,  2667,  2670,  2673,  2676,  2679,
1327 <    2682,  2685,  2688,  2691,  2694,  2699,  2704,  2709,  2718,  2721,
1328 <    2721,  2722,  2723,  2723,  2724,  2724,  2725,  2725,  2726,  2727,
1329 <    2727,  2728,  2729,  2729,  2730,  2730,  2732,  2737,  2742,  2747,
1330 <    2752,  2757,  2762,  2767,  2772,  2777,  2782,  2787,  2792,  2797,
1331 <    2805,  2808,  2808,  2809,  2809,  2810,  2811,  2811,  2812,  2813,
1332 <    2815,  2821,  2827,  2836,  2850,  2856
1270 >       0,   363,   363,   364,   367,   368,   369,   370,   371,   372,
1271 >     373,   374,   375,   376,   377,   378,   379,   380,   381,   382,
1272 >     383,   384,   385,   386,   387,   388,   392,   392,   393,   397,
1273 >     401,   405,   409,   413,   417,   421,   427,   427,   428,   429,
1274 >     430,   431,   438,   441,   441,   442,   442,   442,   444,   450,
1275 >     457,   459,   459,   460,   460,   461,   461,   462,   462,   463,
1276 >     463,   464,   464,   465,   465,   466,   466,   467,   467,   468,
1277 >     469,   472,   473,   475,   475,   476,   482,   490,   490,   491,
1278 >     497,   505,   547,   606,   634,   642,   657,   672,   681,   695,
1279 >     704,   732,   762,   787,   809,   831,   840,   842,   842,   843,
1280 >     843,   844,   844,   846,   855,   864,   876,   877,   877,   879,
1281 >     879,   880,   882,   889,   889,   902,   903,   905,   905,   906,
1282 >     906,   908,   916,   919,   925,   924,   930,   930,   931,   935,
1283 >     939,   943,   947,   951,   955,   966,   965,  1042,  1042,  1043,
1284 >    1043,  1043,  1044,  1044,  1044,  1045,  1045,  1045,  1047,  1053,
1285 >    1059,  1065,  1076,  1082,  1089,  1088,  1094,  1094,  1095,  1099,
1286 >    1103,  1107,  1111,  1115,  1119,  1123,  1127,  1131,  1135,  1139,
1287 >    1143,  1147,  1151,  1155,  1159,  1163,  1167,  1171,  1175,  1182,
1288 >    1181,  1187,  1187,  1188,  1192,  1196,  1200,  1204,  1208,  1212,
1289 >    1216,  1220,  1224,  1228,  1232,  1236,  1240,  1244,  1248,  1252,
1290 >    1256,  1267,  1266,  1327,  1327,  1328,  1329,  1329,  1330,  1331,
1291 >    1332,  1333,  1334,  1335,  1336,  1337,  1338,  1338,  1339,  1340,
1292 >    1341,  1342,  1344,  1350,  1356,  1362,  1368,  1374,  1380,  1386,
1293 >    1392,  1398,  1405,  1411,  1417,  1423,  1432,  1442,  1441,  1447,
1294 >    1447,  1448,  1452,  1463,  1462,  1469,  1468,  1473,  1473,  1474,
1295 >    1478,  1482,  1488,  1488,  1489,  1489,  1489,  1489,  1489,  1491,
1296 >    1491,  1493,  1493,  1495,  1509,  1529,  1535,  1545,  1544,  1586,
1297 >    1586,  1587,  1587,  1587,  1587,  1588,  1588,  1588,  1589,  1589,
1298 >    1591,  1597,  1603,  1609,  1621,  1620,  1626,  1626,  1627,  1631,
1299 >    1635,  1639,  1643,  1647,  1651,  1655,  1659,  1663,  1669,  1683,
1300 >    1692,  1706,  1705,  1720,  1720,  1721,  1721,  1721,  1721,  1723,
1301 >    1729,  1735,  1745,  1747,  1747,  1748,  1748,  1750,  1766,  1765,
1302 >    1790,  1790,  1791,  1791,  1791,  1791,  1793,  1799,  1819,  1818,
1303 >    1824,  1824,  1825,  1829,  1833,  1837,  1841,  1845,  1849,  1853,
1304 >    1857,  1861,  1871,  1870,  1891,  1891,  1892,  1892,  1892,  1894,
1305 >    1901,  1900,  1906,  1906,  1907,  1911,  1915,  1919,  1923,  1927,
1306 >    1931,  1935,  1939,  1943,  1953,  1952,  2018,  2018,  2019,  2019,
1307 >    2019,  2020,  2020,  2021,  2021,  2021,  2022,  2022,  2022,  2023,
1308 >    2023,  2024,  2026,  2032,  2038,  2044,  2057,  2070,  2076,  2080,
1309 >    2089,  2088,  2093,  2093,  2094,  2098,  2104,  2115,  2121,  2127,
1310 >    2133,  2149,  2148,  2174,  2174,  2175,  2175,  2175,  2177,  2197,
1311 >    2207,  2206,  2233,  2233,  2234,  2234,  2234,  2236,  2242,  2251,
1312 >    2253,  2253,  2254,  2254,  2256,  2274,  2273,  2296,  2296,  2297,
1313 >    2297,  2297,  2299,  2305,  2314,  2317,  2317,  2318,  2318,  2319,
1314 >    2319,  2320,  2320,  2321,  2321,  2322,  2322,  2323,  2324,  2325,
1315 >    2325,  2326,  2326,  2327,  2327,  2328,  2328,  2329,  2329,  2330,
1316 >    2330,  2331,  2331,  2332,  2332,  2333,  2333,  2334,  2334,  2335,
1317 >    2335,  2336,  2337,  2337,  2338,  2339,  2340,  2340,  2341,  2341,
1318 >    2342,  2343,  2344,  2345,  2345,  2346,  2349,  2354,  2360,  2366,
1319 >    2372,  2377,  2382,  2387,  2392,  2397,  2402,  2407,  2412,  2417,
1320 >    2422,  2427,  2432,  2437,  2442,  2448,  2459,  2464,  2469,  2474,
1321 >    2479,  2484,  2487,  2492,  2495,  2500,  2505,  2510,  2515,  2520,
1322 >    2525,  2530,  2535,  2540,  2545,  2550,  2555,  2564,  2573,  2578,
1323 >    2583,  2589,  2588,  2593,  2593,  2594,  2597,  2600,  2603,  2606,
1324 >    2609,  2612,  2615,  2618,  2621,  2624,  2627,  2630,  2633,  2636,
1325 >    2639,  2642,  2645,  2648,  2651,  2657,  2656,  2661,  2661,  2662,
1326 >    2665,  2668,  2671,  2674,  2677,  2680,  2683,  2686,  2689,  2692,
1327 >    2695,  2698,  2701,  2704,  2707,  2710,  2713,  2716,  2719,  2722,
1328 >    2727,  2732,  2737,  2746,  2749,  2749,  2750,  2751,  2751,  2752,
1329 >    2752,  2753,  2753,  2754,  2755,  2756,  2757,  2757,  2758,  2758,
1330 >    2760,  2765,  2770,  2775,  2780,  2785,  2790,  2795,  2800,  2805,
1331 >    2810,  2815,  2820,  2828,  2831,  2831,  2832,  2832,  2833,  2834,
1332 >    2835,  2835,  2836,  2837,  2839,  2845,  2851,  2857,  2866,  2880,
1333 >    2886
1334   };
1335   #endif
1336  
# Line 1319 | Line 1351 | static const char *const yytname[] =
1351    "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1352    "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1353    "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1354 <  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1355 <  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1356 <  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1357 <  "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1358 <  "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1359 <  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1360 <  "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1361 <  "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1362 <  "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1363 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1354 >  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SERVICES",
1355 >  "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS",
1356 >  "INVISIBLE_ON_CONNECT", "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE",
1357 >  "KLINE_EXEMPT", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1358 >  "LINKS_DELAY", "LISTEN", "T_LOG", "MASK", "MAX_ACCEPT", "MAX_BANS",
1359 >  "MAX_CHANS_PER_OPER", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT",
1360 >  "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME",
1361 >  "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH",
1362 >  "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE", "MIN_IDLE", "MAX_IDLE",
1363 >  "RANDOM_IDLE", "HIDE_IDLE_FROM_OPERS", "MODULE", "MODULES", "NAME",
1364 >  "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK",
1365    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1366    "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1367    "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1368    "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1369    "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1370    "PING_TIME", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT",
1371 <  "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1372 <  "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1373 <  "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1374 <  "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1375 <  "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",
1376 <  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1377 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1378 <  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1379 <  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1380 <  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1381 <  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1382 <  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1383 <  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1384 <  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1385 <  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1386 <  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1387 <  "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1388 <  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1389 <  "USE_LOGGING", "VHOST", "VHOST6", "XLINE", "WARN_NO_NLINE", "T_SIZE",
1390 <  "T_FILE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",
1391 <  "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1392 <  "modules_entry", "modules_items", "modules_item", "modules_module",
1360 <  "modules_path", "serverinfo_entry", "serverinfo_items",
1371 >  "REDIRSERV", "REHASH", "REMOTE", "REMOTEBAN", "RSA_PRIVATE_KEY_FILE",
1372 >  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",
1373 >  "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1374 >  "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1375 >  "MONTHS", "YEARS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO",
1376 >  "IRCD_SID", "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE",
1377 >  "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",
1378 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1379 >  "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA",
1380 >  "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1381 >  "T_CCONN_FULL", "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE",
1382 >  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1383 >  "T_MAX_CLIENTS", "T_NCHANGE", "T_NONONREG", "T_OPERWALL", "T_RECVQ",
1384 >  "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY",
1385 >  "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV",
1386 >  "T_UNXLINE", "T_GLOBOPS", "T_WALLOP", "T_WEBIRC", "T_RESTART",
1387 >  "T_SERVICE", "T_SERVICES_NAME", "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD",
1388 >  "UNKLINE", "USER", "USE_EGD", "USE_LOGGING", "VHOST", "VHOST6", "XLINE",
1389 >  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1390 >  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1391 >  "sizespec", "modules_entry", "modules_items", "modules_item",
1392 >  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1393    "serverinfo_item", "serverinfo_ssl_client_method",
1394    "serverinfo_ssl_server_method", "client_method_types",
1395    "client_method_type_item", "server_method_types",
# Line 1366 | Line 1398 | static const char *const yytname[] =
1398    "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1399    "serverinfo_description", "serverinfo_network_name",
1400    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1401 <  "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1402 <  "admin_item", "admin_name", "admin_email", "admin_description",
1403 <  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1404 <  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1405 <  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1406 <  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1407 <  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1408 <  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1409 <  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1410 <  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1411 <  "class_entry", "$@6", "class_items", "class_item", "class_name",
1412 <  "class_ping_time", "class_number_per_ip", "class_connectfreq",
1413 <  "class_max_number", "class_max_global", "class_max_local",
1414 <  "class_max_ident", "class_sendq", "class_recvq",
1415 <  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1416 <  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1417 <  "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1418 <  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1419 <  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1420 <  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1421 <  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1422 <  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1423 <  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1424 <  "service_entry", "service_items", "service_item", "service_name",
1425 <  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1426 <  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1427 <  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1428 <  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1429 <  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1401 >  "serverinfo_max_clients", "serverinfo_max_nick_length",
1402 >  "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1403 >  "admin_items", "admin_item", "admin_name", "admin_email",
1404 >  "admin_description", "logging_entry", "logging_items", "logging_item",
1405 >  "logging_use_logging", "logging_file_entry", "$@1", "logging_file_items",
1406 >  "logging_file_item", "logging_file_name", "logging_file_size",
1407 >  "logging_file_type", "$@2", "logging_file_type_items",
1408 >  "logging_file_type_item", "oper_entry", "$@3", "oper_items", "oper_item",
1409 >  "oper_name", "oper_user", "oper_password", "oper_encrypted",
1410 >  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@4",
1411 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@5",
1412 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@6",
1413 >  "class_items", "class_item", "class_name", "class_ping_time",
1414 >  "class_number_per_ip", "class_connectfreq", "class_max_number",
1415 >  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1416 >  "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1417 >  "class_number_per_cidr", "class_min_idle", "class_max_idle",
1418 >  "class_flags", "$@7", "class_flags_items", "class_flags_item",
1419 >  "listen_entry", "$@8", "listen_flags", "$@9", "listen_flags_items",
1420 >  "listen_flags_item", "listen_items", "listen_item", "listen_port",
1421 >  "$@10", "port_items", "port_item", "listen_address", "listen_host",
1422 >  "auth_entry", "$@11", "auth_items", "auth_item", "auth_user",
1423 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@12",
1424 >  "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1425 >  "auth_redir_port", "resv_entry", "$@13", "resv_items", "resv_item",
1426 >  "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1427 >  "service_items", "service_item", "service_name", "shared_entry", "$@14",
1428 >  "shared_items", "shared_item", "shared_name", "shared_user",
1429 >  "shared_type", "$@15", "shared_types", "shared_type_item",
1430 >  "cluster_entry", "$@16", "cluster_items", "cluster_item", "cluster_name",
1431 >  "cluster_type", "$@17", "cluster_types", "cluster_type_item",
1432 >  "connect_entry", "$@18", "connect_items", "connect_item", "connect_name",
1433    "connect_host", "connect_vhost", "connect_send_password",
1434    "connect_accept_password", "connect_port", "connect_aftype",
1435 <  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1435 >  "connect_flags", "$@19", "connect_flags_items", "connect_flags_item",
1436    "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1437 <  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1438 <  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1439 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1440 <  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1441 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1442 <  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1443 <  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1409 <  "general_entry", "general_items", "general_item", "general_max_watch",
1410 <  "general_gline_enable", "general_gline_duration",
1437 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@20",
1438 >  "kill_items", "kill_item", "kill_user", "kill_reason", "deny_entry",
1439 >  "$@21", "deny_items", "deny_item", "deny_ip", "deny_reason",
1440 >  "exempt_entry", "exempt_items", "exempt_item", "exempt_ip",
1441 >  "gecos_entry", "$@22", "gecos_items", "gecos_item", "gecos_name",
1442 >  "gecos_reason", "general_entry", "general_items", "general_item",
1443 >  "general_max_watch", "general_gline_enable", "general_gline_duration",
1444    "general_gline_request_duration", "general_gline_min_cidr",
1445    "general_gline_min_cidr6", "general_tkline_expire_notices",
1446    "general_kill_chase_time_limit", "general_hide_spoof_ips",
# Line 1424 | Line 1457 | static const char *const yytname[] =
1457    "general_opers_bypass_callerid", "general_pace_wait_simple",
1458    "general_short_motd", "general_no_oper_flood",
1459    "general_true_no_oper_flood", "general_oper_pass_resv",
1460 <  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1461 <  "general_use_egd", "general_egdpool_path", "general_services_name",
1462 <  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1463 <  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1464 <  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1465 <  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1466 <  "general_default_floodcount", "channel_entry", "channel_items",
1467 <  "channel_item", "channel_disable_fake_channels",
1435 <  "channel_restrict_channels", "channel_knock_delay",
1460 >  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1461 >  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1462 >  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1463 >  "$@23", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1464 >  "$@24", "umode_items", "umode_item", "general_min_nonwildcard",
1465 >  "general_min_nonwildcard_simple", "general_default_floodcount",
1466 >  "channel_entry", "channel_items", "channel_item",
1467 >  "channel_disable_fake_channels", "channel_knock_delay",
1468    "channel_knock_delay_channel", "channel_max_chans_per_user",
1469    "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1470    "channel_default_split_user_count", "channel_default_split_server_count",
1471    "channel_no_create_on_split", "channel_no_join_on_split",
1472    "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1473    "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1474 <  "serverhide_hide_servers", "serverhide_hidden_name",
1475 <  "serverhide_links_delay", "serverhide_hidden",
1474 >  "serverhide_hide_servers", "serverhide_hide_services",
1475 >  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1476    "serverhide_hide_server_ips", YY_NULL
1477   };
1478   #endif
# Line 1471 | Line 1503 | static const yytype_uint16 yytoknum[] =
1503       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1504       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1505       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1506 <     465,   466,   467,   468,    59,   125,   123,    61,    44
1506 >     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1507 >     475,   476,    59,   125,   123,    61,    44
1508   };
1509   # endif
1510  
1511   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1512   static const yytype_uint16 yyr1[] =
1513   {
1514 <       0,   219,   220,   220,   221,   221,   221,   221,   221,   221,
1515 <     221,   221,   221,   221,   221,   221,   221,   221,   221,   221,
1516 <     221,   221,   221,   221,   221,   221,   222,   222,   223,   223,
1517 <     223,   223,   223,   223,   224,   224,   225,   225,   225,   225,
1518 <     226,   227,   227,   228,   228,   228,   229,   230,   231,   232,
1519 <     232,   233,   233,   233,   233,   233,   233,   233,   233,   233,
1520 <     233,   233,   233,   233,   233,   233,   233,   234,   235,   236,
1521 <     236,   237,   237,   238,   238,   239,   239,   240,   241,   242,
1522 <     243,   244,   245,   246,   247,   248,   249,   250,   251,   252,
1523 <     253,   254,   254,   255,   255,   255,   255,   256,   257,   258,
1524 <     259,   260,   260,   261,   261,   261,   262,   264,   263,   265,
1525 <     265,   266,   266,   266,   266,   267,   268,   268,   270,   269,
1526 <     271,   271,   272,   272,   272,   272,   272,   272,   272,   274,
1527 <     273,   275,   275,   276,   276,   276,   276,   276,   276,   276,
1528 <     276,   276,   277,   278,   279,   280,   281,   282,   284,   283,
1529 <     285,   285,   286,   286,   286,   286,   286,   286,   286,   286,
1530 <     286,   286,   286,   286,   286,   286,   286,   286,   286,   286,
1531 <     286,   286,   288,   287,   289,   289,   290,   290,   290,   290,
1532 <     290,   290,   290,   290,   290,   290,   290,   290,   290,   290,
1533 <     290,   290,   290,   290,   290,   292,   291,   293,   293,   294,
1534 <     294,   294,   294,   294,   294,   294,   294,   294,   294,   294,
1535 <     294,   294,   294,   295,   296,   297,   298,   299,   300,   301,
1536 <     302,   303,   304,   305,   306,   307,   309,   308,   311,   310,
1537 <     312,   312,   313,   313,   313,   314,   314,   315,   315,   315,
1538 <     315,   315,   317,   316,   318,   318,   319,   319,   320,   321,
1539 <     323,   322,   324,   324,   325,   325,   325,   325,   325,   325,
1540 <     325,   325,   325,   326,   327,   328,   329,   331,   330,   332,
1541 <     332,   333,   333,   333,   333,   333,   333,   333,   333,   333,
1542 <     334,   335,   336,   338,   337,   339,   339,   340,   340,   340,
1543 <     340,   341,   342,   343,   344,   345,   345,   346,   346,   347,
1544 <     349,   348,   350,   350,   351,   351,   351,   351,   352,   353,
1545 <     355,   354,   356,   356,   357,   357,   357,   357,   357,   357,
1546 <     357,   357,   357,   357,   359,   358,   360,   360,   361,   361,
1547 <     361,   362,   364,   363,   365,   365,   366,   366,   366,   366,
1548 <     366,   366,   366,   366,   366,   366,   368,   367,   369,   369,
1549 <     370,   370,   370,   370,   370,   370,   370,   370,   370,   370,
1550 <     370,   370,   370,   370,   371,   372,   373,   374,   375,   376,
1551 <     377,   377,   379,   378,   380,   380,   381,   381,   382,   383,
1552 <     384,   385,   386,   388,   387,   390,   389,   391,   391,   392,
1553 <     393,   393,   394,   394,   394,   394,   395,   396,   398,   397,
1554 <     399,   399,   400,   400,   400,   401,   402,   403,   404,   404,
1555 <     405,   405,   406,   408,   407,   410,   409,   411,   411,   412,
1556 <     413,   413,   414,   414,   414,   414,   415,   416,   417,   418,
1557 <     418,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1558 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1559 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1560 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1561 <     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
1562 <     419,   420,   421,   422,   423,   424,   425,   426,   427,   428,
1563 <     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1564 <     439,   440,   441,   442,   443,   444,   445,   445,   446,   446,
1565 <     447,   448,   449,   450,   451,   452,   453,   454,   455,   456,
1566 <     457,   458,   459,   460,   461,   462,   463,   465,   464,   466,
1567 <     466,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1568 <     467,   467,   467,   467,   467,   467,   467,   467,   467,   467,
1569 <     467,   469,   468,   470,   470,   471,   471,   471,   471,   471,
1570 <     471,   471,   471,   471,   471,   471,   471,   471,   471,   471,
1571 <     471,   471,   471,   471,   471,   472,   473,   474,   475,   476,
1572 <     476,   477,   477,   477,   477,   477,   477,   477,   477,   477,
1573 <     477,   477,   477,   477,   477,   477,   478,   479,   480,   481,
1574 <     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
1575 <     492,   493,   493,   494,   494,   494,   494,   494,   494,   494,
1576 <     495,   496,   497,   498,   499,   500
1514 >       0,   227,   228,   228,   229,   229,   229,   229,   229,   229,
1515 >     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1516 >     229,   229,   229,   229,   229,   229,   230,   230,   231,   231,
1517 >     231,   231,   231,   231,   231,   231,   232,   232,   233,   233,
1518 >     233,   233,   234,   235,   235,   236,   236,   236,   237,   238,
1519 >     239,   240,   240,   241,   241,   241,   241,   241,   241,   241,
1520 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
1521 >     241,   242,   243,   244,   244,   245,   245,   246,   246,   247,
1522 >     247,   248,   249,   250,   251,   252,   253,   254,   255,   256,
1523 >     257,   258,   259,   260,   261,   262,   263,   264,   264,   265,
1524 >     265,   265,   265,   266,   267,   268,   269,   270,   270,   271,
1525 >     271,   271,   272,   274,   273,   275,   275,   276,   276,   276,
1526 >     276,   277,   278,   278,   280,   279,   281,   281,   282,   282,
1527 >     282,   282,   282,   282,   282,   284,   283,   285,   285,   286,
1528 >     286,   286,   286,   286,   286,   286,   286,   286,   287,   288,
1529 >     289,   290,   291,   292,   294,   293,   295,   295,   296,   296,
1530 >     296,   296,   296,   296,   296,   296,   296,   296,   296,   296,
1531 >     296,   296,   296,   296,   296,   296,   296,   296,   296,   298,
1532 >     297,   299,   299,   300,   300,   300,   300,   300,   300,   300,
1533 >     300,   300,   300,   300,   300,   300,   300,   300,   300,   300,
1534 >     300,   302,   301,   303,   303,   304,   304,   304,   304,   304,
1535 >     304,   304,   304,   304,   304,   304,   304,   304,   304,   304,
1536 >     304,   304,   305,   306,   307,   308,   309,   310,   311,   312,
1537 >     313,   314,   315,   316,   317,   318,   319,   321,   320,   322,
1538 >     322,   323,   323,   325,   324,   327,   326,   328,   328,   329,
1539 >     329,   329,   330,   330,   331,   331,   331,   331,   331,   333,
1540 >     332,   334,   334,   335,   335,   336,   337,   339,   338,   340,
1541 >     340,   341,   341,   341,   341,   341,   341,   341,   341,   341,
1542 >     342,   343,   344,   345,   347,   346,   348,   348,   349,   349,
1543 >     349,   349,   349,   349,   349,   349,   349,   349,   350,   351,
1544 >     352,   354,   353,   355,   355,   356,   356,   356,   356,   357,
1545 >     358,   359,   360,   361,   361,   362,   362,   363,   365,   364,
1546 >     366,   366,   367,   367,   367,   367,   368,   369,   371,   370,
1547 >     372,   372,   373,   373,   373,   373,   373,   373,   373,   373,
1548 >     373,   373,   375,   374,   376,   376,   377,   377,   377,   378,
1549 >     380,   379,   381,   381,   382,   382,   382,   382,   382,   382,
1550 >     382,   382,   382,   382,   384,   383,   385,   385,   386,   386,
1551 >     386,   386,   386,   386,   386,   386,   386,   386,   386,   386,
1552 >     386,   386,   387,   388,   389,   390,   391,   392,   393,   393,
1553 >     395,   394,   396,   396,   397,   397,   398,   399,   400,   401,
1554 >     402,   404,   403,   405,   405,   406,   406,   406,   407,   408,
1555 >     410,   409,   411,   411,   412,   412,   412,   413,   414,   415,
1556 >     416,   416,   417,   417,   418,   420,   419,   421,   421,   422,
1557 >     422,   422,   423,   424,   425,   426,   426,   427,   427,   427,
1558 >     427,   427,   427,   427,   427,   427,   427,   427,   427,   427,
1559 >     427,   427,   427,   427,   427,   427,   427,   427,   427,   427,
1560 >     427,   427,   427,   427,   427,   427,   427,   427,   427,   427,
1561 >     427,   427,   427,   427,   427,   427,   427,   427,   427,   427,
1562 >     427,   427,   427,   427,   427,   427,   428,   429,   430,   431,
1563 >     432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
1564 >     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
1565 >     452,   453,   453,   454,   454,   455,   456,   457,   458,   459,
1566 >     460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
1567 >     470,   472,   471,   473,   473,   474,   474,   474,   474,   474,
1568 >     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1569 >     474,   474,   474,   474,   474,   476,   475,   477,   477,   478,
1570 >     478,   478,   478,   478,   478,   478,   478,   478,   478,   478,
1571 >     478,   478,   478,   478,   478,   478,   478,   478,   478,   478,
1572 >     479,   480,   481,   482,   483,   483,   484,   484,   484,   484,
1573 >     484,   484,   484,   484,   484,   484,   484,   484,   484,   484,
1574 >     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1575 >     495,   496,   497,   498,   499,   499,   500,   500,   500,   500,
1576 >     500,   500,   500,   500,   501,   502,   503,   504,   505,   506,
1577 >     507
1578   };
1579  
1580   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1549 | Line 1583 | static const yytype_uint8 yyr2[] =
1583         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1584         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1585         1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1586 <       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1587 <       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1588 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1555 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1556 <       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1557 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1558 <       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1559 <       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1560 <       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1561 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1562 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1563 <       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1564 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1565 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1566 <       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1586 >       3,     3,     3,     3,     3,     3,     0,     1,     2,     3,
1587 >       3,     3,     5,     2,     1,     1,     1,     2,     4,     4,
1588 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1589         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1590 +       2,     4,     4,     3,     1,     1,     1,     3,     1,     1,
1591 +       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1592 +       4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
1593 +       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1594 +       1,     2,     4,     0,     6,     2,     1,     1,     1,     1,
1595 +       2,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1596         1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1597 +       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1598 +       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1599 +       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1600 +       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1601 +       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1602         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1603 <       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1571 <       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1572 <       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1573 <       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1574 <       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1575 <       1,     1,     2,     4,     4,     4,     4,     0,     5,     3,
1603 >       1,     0,     6,     2,     1,     1,     1,     1,     1,     1,
1604         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1605 <       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1606 <       2,     4,     4,     4,     5,     2,     1,     1,     1,     4,
1607 <       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1605 >       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
1606 >       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1607 >       1,     1,     1,     0,     6,     0,     5,     3,     1,     1,
1608 >       1,     1,     2,     1,     1,     1,     1,     1,     2,     0,
1609 >       5,     3,     1,     1,     3,     4,     4,     0,     6,     2,
1610 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1611 >       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1612 >       1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1613 >       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1614 >       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
1615 >       2,     1,     1,     1,     1,     2,     4,     4,     0,     5,
1616 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1617 >       1,     1,     0,     6,     2,     1,     1,     1,     2,     4,
1618         0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1619         1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
1582       2,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1583       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1584       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1585       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1586       4,     4,     0,     5,     3,     1,     1,     1,     4,     4,
1587       4,     4,     4,     0,     6,     0,     5,     3,     1,     1,
1588       2,     1,     1,     1,     1,     1,     4,     4,     0,     6,
1589       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
1590       1,     1,     4,     0,     6,     0,     5,     3,     1,     1,
1591       2,     1,     1,     1,     1,     1,     4,     4,     5,     2,
1620         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1621 +       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
1622 +       0,     5,     3,     1,     1,     1,     4,     4,     4,     4,
1623 +       4,     0,     6,     2,     1,     1,     1,     1,     4,     4,
1624 +       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1625 +       2,     1,     1,     1,     4,     0,     6,     2,     1,     1,
1626 +       1,     1,     4,     4,     5,     2,     1,     1,     1,     1,
1627         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1628         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1629         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1630         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1631 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1631 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1632         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1633         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1634         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1635 <       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
1635 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1636 >       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1637         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1638 +       1,     1,     1,     1,     1,     0,     5,     3,     1,     1,
1639         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1604       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1640         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1641 <       1,     1,     1,     1,     1,     4,     4,     4,     5,     2,
1641 >       4,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1642         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1608       1,     1,     1,     1,     1,     1,     4,     4,     4,     4,
1643         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1644 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1645 <       4,     4,     4,     4,     4,     4
1644 >       4,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1645 >       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1646 >       4
1647   };
1648  
1649   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1616 | Line 1651 | static const yytype_uint8 yyr2[] =
1651     means the default is an error.  */
1652   static const yytype_uint16 yydefact[] =
1653   {
1654 <       2,     0,     1,     0,     0,     0,   195,   346,   398,     0,
1655 <     413,     0,   250,   383,   226,     0,     0,   129,   283,     0,
1656 <       0,   300,   324,     0,     3,    23,    11,     4,     5,     6,
1654 >       2,     0,     1,     0,     0,     0,   201,   364,   410,     0,
1655 >     425,     0,   267,   401,   243,     0,     0,   135,   301,     0,
1656 >       0,   318,   342,     0,     3,    23,    11,     4,     5,     6,
1657         8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1658        20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1659         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1660         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1661 <       0,     0,    92,    93,    95,    94,   595,     0,     0,     0,
1661 >       0,     0,    98,    99,   101,   100,   599,     0,     0,     0,
1662         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1663 <       0,     0,   580,   594,   590,   582,   583,   584,   585,   586,
1664 <     581,   587,   588,   589,   591,   592,   593,     0,     0,     0,
1665 <     411,     0,     0,   409,   410,     0,   480,     0,     0,     0,
1663 >       0,   585,   598,   587,   588,   589,   590,   591,   586,   592,
1664 >     593,   594,   595,   596,   597,     0,     0,     0,   423,     0,
1665 >       0,   421,   422,     0,   485,     0,     0,     0,     0,     0,
1666         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1667         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1668 <       0,     0,     0,     0,     0,     0,   551,     0,   527,     0,
1668 >       0,     0,     0,   555,     0,   531,     0,     0,     0,     0,
1669         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1670 <       0,     0,     0,     0,     0,     0,     0,   430,   478,   472,
1671 <     473,   474,   475,   476,   471,   441,   431,   432,   466,   433,
1672 <     434,   435,   436,   437,   438,   439,   440,   468,   442,   443,
1673 <     477,   445,   450,   446,   448,   447,   461,   462,   449,   451,
1674 <     452,   453,   454,   455,   444,   457,   458,   459,   479,   469,
1675 <     470,   467,   460,   456,   464,   465,   463,     0,     0,     0,
1676 <       0,     0,     0,   102,   103,   104,     0,     0,     0,     0,
1677 <       0,    42,    43,    44,     0,     0,   619,     0,     0,     0,
1678 <       0,     0,     0,     0,   612,   613,   614,   617,   615,   616,
1644 <     618,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1645 <       0,     0,     0,     0,     0,     0,     0,     0,    50,    63,
1646 <      64,    62,    59,    58,    65,    51,    61,    54,    55,    56,
1647 <      52,    60,    57,    53,     0,     0,   298,     0,     0,   296,
1648 <     297,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1670 >       0,     0,     0,     0,   436,   483,   477,   478,   479,   480,
1671 >     481,   476,   447,   437,   438,   471,   439,   440,   441,   442,
1672 >     443,   444,   445,   446,   473,   448,   449,   482,   451,   456,
1673 >     452,   454,   453,   466,   467,   455,   457,   458,   459,   460,
1674 >     450,   462,   463,   464,   484,   474,   475,   472,   465,   461,
1675 >     469,   470,   468,     0,     0,     0,     0,     0,     0,   108,
1676 >     109,   110,     0,     0,     0,     0,     0,    44,    45,    46,
1677 >       0,     0,   623,     0,     0,     0,     0,     0,     0,     0,
1678 >       0,   615,   616,   617,   618,   621,   619,   620,   622,     0,
1679         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1680 <       0,     0,   579,     0,     0,     0,     0,     0,     0,     0,
1681 <       0,     0,     0,     0,     0,     0,     0,     0,   198,   199,
1682 <     202,   204,   205,   206,   207,   208,   209,   210,   211,   200,
1683 <     201,   203,     0,     0,     0,     0,     0,   372,     0,     0,
1654 <       0,     0,     0,     0,     0,     0,     0,   349,   350,   351,
1655 <     352,   353,   354,   356,   355,   358,   362,   359,   360,   361,
1656 <     357,   404,     0,     0,     0,   401,   402,   403,     0,     0,
1657 <     408,   425,     0,     0,   415,   424,     0,   421,   422,   423,
1680 >       0,     0,     0,     0,     0,     0,     0,     0,    52,    67,
1681 >      68,    66,    63,    62,    69,    53,    65,    56,    57,    58,
1682 >      54,    64,    59,    60,    61,    55,     0,     0,   316,     0,
1683 >       0,   314,   315,   102,     0,     0,     0,     0,    97,     0,
1684         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1685 +       0,     0,     0,   584,     0,     0,     0,     0,   237,     0,
1686         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1687 +       0,     0,   204,   205,   208,   210,   211,   212,   213,   214,
1688 +     215,   216,   217,   206,   207,   209,   218,   219,   220,     0,
1689 +       0,     0,     0,     0,   390,     0,     0,     0,     0,     0,
1690 +       0,     0,     0,     0,   367,   368,   369,   370,   371,   372,
1691 +     374,   373,   376,   380,   377,   378,   379,   375,   416,     0,
1692 +       0,     0,   413,   414,   415,     0,     0,   420,   431,     0,
1693 +       0,     0,   428,   429,   430,     0,     0,     0,     0,     0,
1694         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1695         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1696         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1663     429,     0,     0,     0,   267,     0,     0,     0,     0,     0,
1664       0,   253,   254,   255,   256,   261,   257,   258,   259,   260,
1665     395,     0,   385,     0,   394,     0,   391,   392,   393,     0,
1666     228,     0,     0,     0,   238,     0,   236,   237,   239,   240,
1667     105,     0,     0,   101,     0,    45,     0,     0,     0,    41,
1668       0,     0,     0,   172,     0,     0,     0,   148,     0,     0,
1669     132,   133,   134,   135,   138,   139,   137,   136,   140,     0,
1670       0,     0,     0,     0,   286,   287,   288,   289,     0,     0,
1671       0,     0,     0,     0,     0,   611,    66,     0,     0,     0,
1697         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1698 <       0,     0,     0,    49,     0,     0,   310,     0,     0,   303,
1699 <     304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1700 <       0,     0,   295,     0,     0,     0,    90,     0,     0,     0,
1701 <      26,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1702 <       0,     0,   578,   212,     0,     0,     0,     0,     0,     0,
1703 <       0,     0,     0,     0,     0,     0,     0,     0,   197,   363,
1698 >       0,     0,     0,     0,   435,     0,     0,     0,   284,     0,
1699 >       0,     0,     0,     0,     0,   270,   271,   272,   273,   278,
1700 >     274,   275,   276,   277,   407,     0,     0,     0,   404,   405,
1701 >     406,     0,   245,     0,     0,     0,   255,     0,   253,   254,
1702 >     256,   257,   111,     0,     0,   107,     0,    47,     0,     0,
1703 >       0,    43,     0,     0,     0,   179,     0,     0,     0,   154,
1704 >       0,     0,   138,   139,   140,   141,   144,   145,   143,   142,
1705 >     146,     0,     0,     0,     0,     0,   304,   305,   306,   307,
1706 >       0,     0,     0,     0,     0,     0,     0,     0,   614,    70,
1707         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1708 <       0,     0,     0,     0,   348,     0,     0,     0,   400,     0,
1709 <     407,     0,     0,     0,     0,   420,     0,     0,     0,     0,
1708 >       0,     0,     0,     0,     0,     0,     0,     0,    51,     0,
1709 >       0,   328,     0,     0,   321,   322,   323,   324,     0,     0,
1710 >     350,     0,   345,   346,   347,     0,     0,   313,     0,     0,
1711 >       0,    96,     0,     0,     0,    26,     0,     0,     0,     0,
1712 >       0,     0,     0,     0,     0,     0,   583,   221,     0,     0,
1713         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1714 +       0,     0,     0,     0,     0,   203,   381,     0,     0,     0,
1715         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1716 +       0,   366,     0,     0,     0,   412,     0,   419,     0,     0,
1717 +       0,   427,     0,     0,     0,     0,     0,     0,     0,     0,
1718         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1719         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1686       0,     0,     0,     0,     0,     0,     0,   428,   262,     0,
1687       0,     0,     0,     0,     0,     0,     0,     0,   252,     0,
1688       0,     0,     0,   390,   241,     0,     0,     0,     0,     0,
1689     235,     0,   100,     0,     0,     0,    40,   141,     0,     0,
1690       0,     0,     0,     0,     0,     0,     0,   131,   290,     0,
1691       0,     0,     0,   285,     0,     0,     0,     0,     0,     0,
1692     610,     0,     0,     0,     0,     0,     0,     0,     0,    71,
1693      72,     0,    70,    75,    76,     0,    74,     0,     0,     0,
1694       0,     0,    48,   307,     0,     0,     0,     0,   302,   330,
1695       0,     0,     0,   326,     0,   294,    99,    98,    97,   605,
1696     604,   596,    26,    26,    26,    26,    26,    28,    27,   598,
1697     599,   603,   601,   600,   606,   607,   608,   609,   602,   597,
1720         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1721 <       0,    34,     0,     0,   196,     0,     0,     0,     0,     0,
1722 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   347,
1723 <       0,     0,   399,   412,     0,     0,     0,   414,   493,   497,
1724 <     511,   577,   525,   491,   519,   522,   492,   483,   482,   484,
1725 <     485,   486,   500,   489,   490,   501,   488,   496,   495,   494,
1726 <     520,   481,   518,   575,   576,   515,   512,   562,   555,   572,
1727 <     573,   556,   557,   558,   559,   567,   560,   570,   574,   563,
1728 <     568,   564,   569,   561,   566,   565,   571,     0,   554,   517,
1729 <     537,   531,   548,   549,   532,   533,   534,   535,   543,   536,
1730 <     546,   550,   539,   544,   540,   545,   538,   542,   541,   547,
1731 <       0,   530,   510,   513,   524,   487,   514,   503,   508,   509,
1732 <     506,   507,   504,   505,   499,   498,   523,   526,   516,   521,
1733 <     502,     0,     0,     0,     0,     0,     0,     0,     0,   251,
1734 <       0,     0,     0,   384,     0,     0,     0,   246,   242,   245,
1735 <     227,   106,     0,     0,   118,     0,     0,   110,   111,   113,
1736 <     112,    46,    47,     0,     0,     0,     0,     0,     0,     0,
1737 <       0,   130,     0,     0,     0,   284,   620,   624,   622,   625,
1738 <     621,   623,    83,    89,    81,    85,    84,    78,    77,    79,
1739 <      67,     0,    68,     0,    82,    80,    88,    86,    87,     0,
1740 <       0,     0,   301,     0,     0,   325,   299,    29,    30,    31,
1741 <      32,    33,   223,   224,   216,   218,   220,   219,   217,   213,
1742 <     225,   215,   214,    34,    34,    34,    36,    35,   221,   222,
1743 <     368,   370,   371,   381,   378,   376,   377,     0,   375,   365,
1744 <     379,   380,   364,   369,   367,   382,   366,   405,   406,   426,
1745 <     427,   419,     0,   418,   552,     0,   528,     0,   265,   266,
1746 <     275,   272,   277,   274,   273,   279,   276,   278,   271,     0,
1747 <     270,   264,   282,   281,   280,   263,   397,   389,     0,   388,
1748 <     396,   233,   234,   232,     0,   231,   249,   248,     0,     0,
1749 <       0,   114,     0,     0,     0,     0,   109,   147,   145,   187,
1750 <     184,   183,   176,   178,   194,   188,   191,   186,   177,   192,
1751 <     180,   189,   193,   181,   190,   185,   179,   182,     0,   175,
1752 <     142,   144,   146,   158,   152,   169,   170,   153,   154,   155,
1753 <     156,   164,   157,   167,   171,   160,   165,   161,   166,   159,
1754 <     163,   162,   168,     0,   151,   143,   292,   293,   291,    69,
1755 <      73,   308,   314,   320,   323,   316,   322,   317,   321,   319,
1756 <     315,   318,     0,   313,   309,   331,   336,   342,   345,   338,
1757 <     344,   339,   343,   341,   337,   340,     0,   335,    37,    38,
1758 <      39,   373,     0,   416,     0,   553,   529,   268,     0,   386,
1759 <       0,   229,     0,   247,   244,   243,     0,     0,     0,     0,
1760 <     108,   173,     0,   149,     0,   311,     0,   333,     0,   374,
1761 <     417,   269,   387,   230,   115,   124,   127,   126,   123,   128,
1762 <     125,   122,     0,   121,   117,   116,   174,   150,   312,   334,
1763 <     119,     0,   120
1721 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1722 >       0,     0,   434,   279,     0,     0,     0,     0,     0,     0,
1723 >       0,     0,     0,   269,     0,     0,     0,   403,   258,     0,
1724 >       0,     0,     0,     0,   252,     0,   106,     0,     0,     0,
1725 >      42,   147,     0,     0,     0,     0,     0,     0,     0,     0,
1726 >       0,   137,   308,     0,     0,     0,     0,   303,     0,     0,
1727 >       0,     0,     0,     0,     0,   613,     0,     0,     0,     0,
1728 >       0,     0,     0,     0,     0,     0,    75,    76,     0,    74,
1729 >      79,    80,     0,    78,     0,     0,     0,     0,     0,    50,
1730 >     325,     0,     0,     0,     0,   320,   348,     0,     0,     0,
1731 >     344,     0,   312,   105,   104,   103,   608,   607,   600,    26,
1732 >      26,    26,    26,    26,    26,    26,    28,    27,   601,   602,
1733 >     606,   604,   603,   609,   610,   611,   612,   605,     0,     0,
1734 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1735 >       0,     0,    36,     0,     0,   202,     0,     0,     0,     0,
1736 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1737 >     365,     0,     0,   411,   424,     0,     0,   426,   498,   502,
1738 >     516,   582,   529,   496,   523,   526,   497,   488,   487,   489,
1739 >     490,   491,   505,   494,   495,   506,   493,   501,   500,   499,
1740 >     524,   486,   580,   581,   520,   517,   566,   559,   576,   577,
1741 >     560,   561,   562,   563,   571,   564,   574,   578,   567,   579,
1742 >     572,   568,   573,   565,   570,   569,   575,     0,   558,   522,
1743 >     541,   535,   552,   553,   536,   537,   538,   539,   547,   540,
1744 >     550,   554,   543,   548,   544,   549,   542,   546,   545,   551,
1745 >       0,   534,   515,   518,   528,   492,   519,   508,   513,   514,
1746 >     511,   512,   509,   510,   504,   503,   527,   530,   521,   525,
1747 >     507,     0,     0,     0,     0,     0,     0,     0,     0,   268,
1748 >       0,     0,   402,     0,     0,     0,   263,   259,   262,   244,
1749 >     112,     0,     0,   124,     0,     0,   116,   117,   119,   118,
1750 >      48,    49,     0,     0,     0,     0,     0,     0,     0,     0,
1751 >     136,     0,     0,     0,   302,   624,   629,   627,   630,   625,
1752 >     626,   628,    87,    95,    93,    94,    85,    89,    88,    82,
1753 >      81,    83,    71,     0,    72,     0,    86,    84,    92,    90,
1754 >      91,     0,     0,     0,   319,     0,     0,   343,   317,    29,
1755 >      30,    31,    32,    33,    34,    35,   232,   233,   225,   241,
1756 >     242,     0,   240,   227,   229,   228,   226,   235,   236,   222,
1757 >     234,   224,   223,    36,    36,    36,    38,    37,   230,   231,
1758 >     386,   388,   389,   399,   396,   394,   395,     0,   393,   383,
1759 >     397,   398,   382,   387,   385,   400,   384,   417,   418,   432,
1760 >     433,   556,     0,   532,     0,   282,   283,   292,   289,   294,
1761 >     291,   290,   297,   293,   295,   288,   296,     0,   287,   281,
1762 >     300,   299,   298,   280,   409,   408,   250,   251,   249,     0,
1763 >     248,   266,   265,     0,     0,     0,   120,     0,     0,     0,
1764 >       0,   115,   153,   151,   194,   191,   190,   183,   185,   200,
1765 >     197,   193,   184,   198,   187,   195,   199,   188,   196,   192,
1766 >     186,   189,     0,   182,   148,   150,   152,   164,   158,   175,
1767 >     176,   159,   160,   161,   162,   170,   163,   173,   177,   166,
1768 >     178,   171,   167,   172,   165,   169,   168,   174,     0,   157,
1769 >     149,   311,   309,   310,    73,    77,   326,   332,   338,   341,
1770 >     334,   340,   335,   339,   337,   333,   336,     0,   331,   327,
1771 >     349,   354,   360,   363,   356,   362,   357,   361,   359,   355,
1772 >     358,     0,   353,   238,     0,    39,    40,    41,   391,     0,
1773 >     557,   533,   285,     0,   246,     0,   264,   261,   260,     0,
1774 >       0,     0,     0,   114,   180,     0,   155,     0,   329,     0,
1775 >     351,     0,   239,   392,   286,   247,   121,   130,   133,   132,
1776 >     129,   134,   131,   128,     0,   127,   123,   122,   181,   156,
1777 >     330,   352,   125,     0,   126
1778   };
1779  
1780   /* YYDEFGOTO[NTERM-NUM].  */
1781   static const yytype_int16 yydefgoto[] =
1782   {
1783 <      -1,     1,    24,   777,   778,  1016,  1017,    25,   230,   231,
1784 <     232,   233,    26,   267,   268,   269,   270,   741,   742,   745,
1785 <     746,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1786 <     280,   281,   282,   283,    27,    71,    72,    73,    74,    75,
1787 <      28,   222,   223,   224,   225,   226,   946,   947,   948,   949,
1788 <     950,  1083,  1212,  1213,    29,    60,   499,   500,   501,   502,
1789 <     503,   504,   505,   506,   507,   714,  1133,  1134,   508,   710,
1790 <    1108,  1109,    30,    49,   327,   328,   329,   330,   331,   332,
1791 <     333,   334,   335,   336,   337,   338,   339,   340,   341,    31,
1792 <      57,   474,   695,  1074,  1075,   475,   476,   477,  1080,   938,
1793 <     939,   478,   479,    32,    55,   450,   451,   452,   453,   454,
1794 <     455,   456,   681,  1059,  1060,   457,   458,   459,    33,    61,
1795 <     513,   514,   515,   516,   517,    34,   288,   289,   290,    35,
1796 <      64,   548,   549,   550,   551,   552,   755,  1152,  1153,    36,
1797 <      65,   556,   557,   558,   559,   761,  1166,  1167,    37,    50,
1798 <     356,   357,   358,   359,   360,   361,   362,   363,   364,   365,
1799 <     604,  1027,  1028,   366,   367,   368,   369,   370,    38,    56,
1800 <     464,   690,  1068,  1069,   465,   466,   467,   468,    39,    51,
1801 <     374,   375,   376,   377,    40,   112,   113,   114,    41,    53,
1802 <     385,   623,  1042,  1043,   386,   387,   388,   389,    42,   166,
1803 <     167,   168,   169,   170,   171,   172,   173,   174,   175,   176,
1804 <     177,   178,   179,   180,   181,   182,   183,   184,   185,   186,
1805 <     187,   188,   189,   190,   191,   192,   193,   194,   195,   196,
1806 <     197,   198,   199,   200,   201,   202,   203,   204,   205,   206,
1807 <     207,   208,   209,   210,   211,   212,   421,   900,   901,   213,
1808 <     419,   877,   878,   214,   215,   216,    43,    91,    92,    93,
1783 >      -1,     1,    24,   786,   787,  1036,  1037,    25,   226,   227,
1784 >     228,   229,    26,   267,   268,   269,   270,   748,   749,   752,
1785 >     753,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1786 >     280,   281,   282,   283,   284,   285,    27,    71,    72,    73,
1787 >      74,    75,    28,   218,   219,   220,   221,   222,   955,   956,
1788 >     957,   958,   959,  1098,  1224,  1225,    29,    60,   501,   502,
1789 >     503,   504,   505,   506,   507,   508,   509,   718,  1148,  1149,
1790 >     510,   714,  1122,  1123,    30,    49,   331,   332,   333,   334,
1791 >     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1792 >     345,   346,   347,   348,   591,  1021,  1022,    31,    57,   476,
1793 >     699,  1089,  1090,   477,   478,   479,  1095,   947,   948,   480,
1794 >     481,    32,    55,   454,   455,   456,   457,   458,   459,   460,
1795 >     686,  1077,  1078,   461,   462,   463,    33,    61,   515,   516,
1796 >     517,   518,   519,    34,   290,   291,   292,    35,    64,   553,
1797 >     554,   555,   556,   557,   762,  1167,  1168,    36,    65,   561,
1798 >     562,   563,   564,   768,  1181,  1182,    37,    50,   363,   364,
1799 >     365,   366,   367,   368,   369,   370,   371,   372,   611,  1047,
1800 >    1048,   373,   374,   375,   376,   377,    38,    56,   467,   468,
1801 >     469,   470,    39,    51,   381,   382,   383,   384,    40,   110,
1802 >     111,   112,    41,    53,   391,   392,   393,   394,    42,   163,
1803 >     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1804 >     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1805 >     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1806 >     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1807 >     204,   205,   206,   207,   208,   425,   910,   911,   209,   423,
1808 >     887,   888,   210,   211,   212,    43,    90,    91,    92,    93,
1809        94,    95,    96,    97,    98,    99,   100,   101,   102,   103,
1810 <     104,   105,   106,    44,   243,   244,   245,   246,   247,   248,
1811 <     249,   250
1810 >     104,    44,   240,   241,   242,   243,   244,   245,   246,   247,
1811 >     248
1812   };
1813  
1814   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1815     STATE-NUM.  */
1816 < #define YYPACT_NINF -745
1816 > #define YYPACT_NINF -967
1817   static const yytype_int16 yypact[] =
1818   {
1819 <    -745,   615,  -745,  -209,  -208,  -192,  -745,  -745,  -745,  -190,
1820 <    -745,  -183,  -745,  -745,  -745,  -169,  -167,  -745,  -745,  -144,
1821 <    -137,  -745,  -745,  -132,  -745,  -745,  -745,  -745,  -745,  -745,
1822 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1823 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,   292,   784,  -111,
1824 <    -102,   -93,    22,   -90,   389,   -80,   -74,   -72,    50,    15,
1825 <     -65,   -60,   299,   388,   -54,   -34,    18,  -176,   -58,   -32,
1826 <     -22,     3,  -745,  -745,  -745,  -745,  -745,   -15,    -9,    26,
1827 <      38,    67,    69,    75,    80,    82,    88,    90,    93,   100,
1828 <     107,   195,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1829 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,   569,   505,    13,
1830 <    -745,   115,    12,  -745,  -745,   258,  -745,   117,   122,   129,
1831 <     131,   140,   141,   144,   145,   146,   154,   155,   156,   159,
1832 <     161,   165,   166,   168,   170,   174,   175,   176,   177,   180,
1833 <     190,   194,   197,   199,   203,   204,  -745,   205,  -745,   206,
1834 <     209,   211,   212,   215,   219,   221,   224,   225,   229,   230,
1835 <     233,   234,   236,   237,   239,   240,    36,  -745,  -745,  -745,
1836 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1837 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1838 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1839 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1840 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,   343,    60,   284,
1841 <    -157,   241,    43,  -745,  -745,  -745,    66,   113,   242,   245,
1842 <      99,  -745,  -745,  -745,   348,    62,  -745,   249,   253,   264,
1843 <     266,   267,   271,    16,  -745,  -745,  -745,  -745,  -745,  -745,
1844 <    -745,   268,   273,   274,   280,   281,   285,   287,   290,   294,
1845 <     295,   296,   297,   306,   307,   308,   309,    74,  -745,  -745,
1846 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1847 <    -745,  -745,  -745,  -745,   220,   277,  -745,   310,    20,  -745,
1848 <    -745,  -745,   252,   370,   384,   302,  -745,   410,   430,   371,
1849 <     432,   432,   433,   434,   436,   379,   390,   453,   432,   395,
1850 <     396,   342,  -745,   345,   349,   350,   352,   354,   355,   357,
1851 <     360,   361,   362,   363,   365,   366,   369,   152,  -745,  -745,
1852 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1853 <    -745,  -745,   346,   372,   381,   385,   386,  -745,   392,   393,
1854 <     397,   400,   401,   405,   407,   408,   270,  -745,  -745,  -745,
1855 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1856 <    -745,  -745,   409,   413,    51,  -745,  -745,  -745,   445,   351,
1857 <    -745,  -745,   414,   417,  -745,  -745,     8,  -745,  -745,  -745,
1858 <     428,   432,   432,   502,   446,   447,   508,   495,   454,   432,
1859 <     461,   432,   528,   536,   537,   480,   485,   493,   432,   556,
1860 <     557,   432,   562,   563,   548,   567,   568,   512,   513,   456,
1861 <     519,   459,   432,   432,   521,   522,   523,   524,    14,    54,
1862 <     530,   532,   432,   432,   570,   432,   533,   535,   538,   474,
1863 <    -745,   481,   479,   483,  -745,   484,   488,   492,   498,   501,
1864 <     128,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1865 <    -745,   503,  -745,   506,  -745,    19,  -745,  -745,  -745,   514,
1866 <    -745,   515,   518,   520,  -745,   116,  -745,  -745,  -745,  -745,
1867 <    -745,   539,   516,  -745,   496,  -745,   602,   612,   526,  -745,
1868 <     527,   531,   534,  -745,   540,   544,   545,  -745,   553,   183,
1869 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   541,
1870 <     560,   561,   573,    11,  -745,  -745,  -745,  -745,   572,   575,
1871 <     621,   584,   585,   432,   542,  -745,  -745,   629,   586,   630,
1872 <     632,   636,   637,   663,   670,   112,   196,   684,   691,   674,
1873 <     696,   701,   605,  -745,   619,   617,  -745,   622,    59,  -745,
1874 <    -745,  -745,  -745,   627,   626,  -745,   110,  -745,  -745,  -745,
1875 <     719,   633,  -745,   635,   638,   639,  -745,   641,   642,   646,
1876 <     265,   647,   648,   649,   650,   651,   652,   653,   654,   655,
1877 <     657,   658,  -745,  -745,   771,   774,   432,   775,   776,   777,
1878 <     778,   761,   782,   783,   432,   785,   785,   669,  -745,  -745,
1879 <     768,   164,   769,   728,   671,   772,   773,   779,   780,   792,
1880 <     781,   786,   787,   680,  -745,   788,   789,   681,  -745,   685,
1881 <    -745,   790,   791,   683,   687,  -745,   695,   697,   698,   699,
1882 <     700,   702,   703,   704,   705,   706,   707,   708,   709,   710,
1883 <     711,   712,   713,   714,   715,   716,   717,   718,   720,   721,
1884 <     722,   723,   724,   725,   726,   600,   727,   628,   729,   730,
1885 <     731,   732,   733,   734,   735,   736,   737,   738,   739,   740,
1886 <     741,   742,   743,   744,   745,   746,   747,  -745,  -745,   798,
1887 <     803,   748,   816,   843,   846,   847,   849,   753,  -745,   851,
1888 <     752,   853,   757,  -745,  -745,   755,   856,   857,   876,   762,
1889 <    -745,   763,  -745,   187,   764,   765,  -745,  -745,   863,   822,
1890 <     766,   865,   867,   868,   770,   869,   793,  -745,  -745,   871,
1891 <     872,   873,   794,  -745,   795,   796,   797,   799,   800,   801,
1892 <    -745,   802,   804,   805,   806,   807,   808,   809,   810,  -745,
1893 <    -745,  -196,  -745,  -745,  -745,  -179,  -745,   811,   812,   813,
1894 <     814,   815,  -745,  -745,   874,   817,   875,   818,  -745,  -745,
1895 <     877,   819,   821,  -745,   823,  -745,  -745,  -745,  -745,  -745,
1896 <    -745,  -745,   432,   432,   432,   432,   432,  -745,  -745,  -745,
1897 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1898 <     824,   825,   826,   827,   828,   829,   830,   831,   832,   833,
1899 <     834,    79,   835,   836,  -745,   837,   838,   839,   840,   841,
1900 <      -1,   842,   844,   845,   848,   850,   852,   854,   855,  -745,
1901 <     858,   859,  -745,  -745,   860,   861,   878,  -745,  -745,  -745,
1902 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1903 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1904 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1905 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1906 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -178,  -745,  -745,
1907 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1908 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1909 <    -173,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1910 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1911 <    -745,   862,   864,   693,   866,   870,   879,   880,   881,  -745,
1912 <     882,   883,   884,  -745,   -36,   885,   886,   894,   887,  -745,
1913 <    -745,  -745,   888,   889,  -745,   890,    86,  -745,  -745,  -745,
1914 <    -745,  -745,  -745,   895,   896,   517,   897,   898,   899,   656,
1915 <     900,  -745,   901,   902,   903,  -745,  -745,  -745,  -745,  -745,
1916 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1917 <    -745,   112,  -745,   196,  -745,  -745,  -745,  -745,  -745,   904,
1918 <     464,   905,  -745,   906,   529,  -745,  -745,  -745,  -745,  -745,
1919 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1920 <    -745,  -745,  -745,   785,   785,   785,  -745,  -745,  -745,  -745,
1921 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -168,  -745,  -745,
1922 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1923 <    -745,  -745,  -160,  -745,  -745,   600,  -745,   628,  -745,  -745,
1924 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -159,
1925 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,   -57,  -745,
1926 <    -745,  -745,  -745,  -745,   -38,  -745,  -745,  -745,   907,   876,
1927 <     908,  -745,   913,   891,   -88,   909,  -745,  -745,  -745,  -745,
1928 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1929 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    -7,  -745,
1930 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1931 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1932 <    -745,  -745,  -745,    63,  -745,  -745,  -745,  -745,  -745,  -745,
1933 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1934 <    -745,  -745,    94,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1935 <    -745,  -745,  -745,  -745,  -745,  -745,   101,  -745,  -745,  -745,
1936 <    -745,  -745,    -1,  -745,   878,  -745,  -745,  -745,   693,  -745,
1937 <     883,  -745,   -36,  -745,  -745,  -745,   910,   403,   911,   912,
1938 <    -745,  -745,   517,  -745,   656,  -745,   464,  -745,   529,  -745,
1939 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1940 <    -745,  -745,   104,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1941 <    -745,   403,  -745
1819 >    -967,   584,  -967,  -112,  -215,  -210,  -967,  -967,  -967,  -192,
1820 >    -967,  -189,  -967,  -967,  -967,  -166,  -150,  -967,  -967,  -148,
1821 >    -137,  -967,  -967,  -135,  -967,  -967,  -967,  -967,  -967,  -967,
1822 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1823 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,   282,   863,  -132,
1824 >    -126,  -124,    11,  -104,   361,   -96,   -79,   -66,    42,    92,
1825 >     -51,   -48,   608,   403,   -40,   -37,     6,  -170,   -28,   -25,
1826 >     -21,     7,  -967,  -967,  -967,  -967,  -967,   -17,    -5,    -2,
1827 >      45,    52,    64,    75,    80,    91,    93,    99,   100,   108,
1828 >     197,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1829 >    -967,  -967,  -967,  -967,  -967,   653,   495,    15,  -967,   110,
1830 >      22,  -967,  -967,    70,  -967,   111,   113,   117,   119,   121,
1831 >     123,   126,   127,   128,   130,   131,   132,   135,   136,   138,
1832 >     139,   141,   146,   149,   150,   151,   152,   154,   155,   157,
1833 >     158,   159,   160,  -967,   163,  -967,   167,   169,   172,   173,
1834 >     175,   176,   183,   184,   185,   188,   191,   194,   198,   199,
1835 >     201,   203,   206,   118,  -967,  -967,  -967,  -967,  -967,  -967,
1836 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1837 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1838 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1839 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1840 >    -967,  -967,  -967,   333,     4,    55,    29,   207,    33,  -967,
1841 >    -967,  -967,    40,    88,   208,   211,    14,  -967,  -967,  -967,
1842 >     398,    17,  -967,   212,   216,   218,   220,   227,   228,   230,
1843 >      10,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,    95,
1844 >     231,   232,   233,   237,   238,   240,   242,   243,   244,   248,
1845 >     250,   251,   254,   255,   257,   258,   259,    36,  -967,  -967,
1846 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1847 >    -967,  -967,  -967,  -967,  -967,  -967,   106,     5,  -967,   261,
1848 >      18,  -967,  -967,  -967,   306,   364,   365,   268,  -967,   387,
1849 >     388,   178,   390,   390,   399,   402,   405,   338,   346,   410,
1850 >     390,   352,   297,  -967,   310,   308,   315,   317,  -967,   319,
1851 >     324,   325,   326,   328,   331,   334,   335,   336,   337,   340,
1852 >     342,   224,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1853 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,   341,
1854 >     343,   344,   348,   349,  -967,   351,   353,   356,   357,   358,
1855 >     367,   369,   374,   290,  -967,  -967,  -967,  -967,  -967,  -967,
1856 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,   375,
1857 >     378,    26,  -967,  -967,  -967,   424,   368,  -967,  -967,   379,
1858 >     380,    69,  -967,  -967,  -967,   393,   390,   390,   481,   441,
1859 >     443,   507,   491,   450,   390,   451,   390,   516,   519,   520,
1860 >     461,   462,   463,   390,   535,   538,   390,   541,   545,   546,
1861 >     547,   484,   488,   432,   493,   439,   390,   390,   500,   502,
1862 >     505,   508,   -11,    24,   509,   510,   390,   390,   543,   390,
1863 >     511,   512,   518,   459,  -967,   464,   460,   466,  -967,   468,
1864 >     469,   471,   472,   473,    23,  -967,  -967,  -967,  -967,  -967,
1865 >    -967,  -967,  -967,  -967,  -967,   474,   475,    71,  -967,  -967,
1866 >    -967,   465,  -967,   477,   479,   482,  -967,    21,  -967,  -967,
1867 >    -967,  -967,  -967,   523,   487,  -967,   486,  -967,   583,   589,
1868 >     494,  -967,   498,   489,   490,  -967,   496,   497,   515,  -967,
1869 >     517,   322,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1870 >    -967,   514,   521,   522,   526,    32,  -967,  -967,  -967,  -967,
1871 >     552,   580,   625,   587,   588,   590,   390,   534,  -967,  -967,
1872 >     634,   593,   656,   662,   647,   652,   654,   658,   660,   665,
1873 >      72,   129,   666,   668,   680,   670,   671,   573,  -967,   575,
1874 >     574,  -967,   582,    19,  -967,  -967,  -967,  -967,   576,   585,
1875 >    -967,    35,  -967,  -967,  -967,   677,   592,  -967,   595,   599,
1876 >     601,  -967,   603,   607,   609,   492,   610,   611,   612,   613,
1877 >     615,   628,   629,   635,   643,   645,  -967,  -967,   748,   764,
1878 >     390,   646,   765,   768,   770,   772,   390,   390,   757,   776,
1879 >     777,   390,   778,   778,   664,  -967,  -967,   773,    85,   774,
1880 >     722,   673,   779,   780,   781,   782,   788,   783,   785,   786,
1881 >     678,  -967,   787,   789,   691,  -967,   692,  -967,   792,   793,
1882 >     695,  -967,   696,   697,   698,   699,   700,   701,   702,   703,
1883 >     704,   705,   706,   707,   710,   711,   712,   713,   714,   715,
1884 >     719,   720,   721,   723,   724,   725,   726,   727,   728,   729,
1885 >     591,   730,   667,   731,   732,   733,   734,   735,   736,   737,
1886 >     738,   739,   740,   741,   744,   745,   746,   747,   749,   750,
1887 >     751,   752,  -967,  -967,   821,   805,   674,   852,   790,   853,
1888 >     856,   857,   759,  -967,   859,   860,   762,  -967,  -967,   686,
1889 >     862,   865,   881,   767,  -967,   769,  -967,   120,   771,   775,
1890 >    -967,  -967,   867,   827,   784,   871,   872,   873,   791,   875,
1891 >     795,  -967,  -967,   876,   877,   878,   796,  -967,   797,   798,
1892 >     799,   800,   801,   802,   803,  -967,   804,   806,   807,   808,
1893 >     809,   810,   811,   812,   813,   814,  -967,  -967,  -205,  -967,
1894 >    -967,  -967,  -197,  -967,   815,   816,   817,   818,   819,  -967,
1895 >    -967,   879,   820,   880,   822,  -967,  -967,   882,   823,   824,
1896 >    -967,   825,  -967,  -967,  -967,  -967,  -967,  -967,  -967,   390,
1897 >     390,   390,   390,   390,   390,   390,  -967,  -967,  -967,  -967,
1898 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,   828,   829,
1899 >     830,   195,   831,   832,   833,   834,   835,   836,   837,   838,
1900 >     839,   840,   204,   841,   842,  -967,   843,   844,   845,   846,
1901 >     847,    -4,   848,   849,   850,   851,   854,   855,   858,   861,
1902 >    -967,   864,   866,  -967,  -967,   868,   869,  -967,  -967,  -967,
1903 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1904 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1905 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1906 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1907 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -196,  -967,  -967,
1908 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1909 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1910 >    -181,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1911 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1912 >    -967,   870,   874,   544,   883,   884,   885,   886,   887,  -967,
1913 >     888,   889,  -967,   -12,   890,   891,   905,   892,  -967,  -967,
1914 >    -967,   893,   894,  -967,   895,    27,  -967,  -967,  -967,  -967,
1915 >    -967,  -967,   899,   900,   501,   901,   902,   903,   631,   904,
1916 >    -967,   906,   907,   908,  -967,  -967,  -967,  -967,  -967,  -967,
1917 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1918 >    -967,  -967,  -967,    72,  -967,   129,  -967,  -967,  -967,  -967,
1919 >    -967,   909,   676,   910,  -967,   911,   689,  -967,  -967,  -967,
1920 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1921 >    -967,  -180,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1922 >    -967,  -967,  -967,   778,   778,   778,  -967,  -967,  -967,  -967,
1923 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -178,  -967,  -967,
1924 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1925 >    -967,  -967,   591,  -967,   667,  -967,  -967,  -967,  -967,  -967,
1926 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -173,  -967,  -967,
1927 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -172,
1928 >    -967,  -967,  -967,   922,   881,   912,  -967,   919,   913,   -92,
1929 >     914,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1930 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1931 >    -967,  -967,  -147,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1932 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1933 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -141,  -967,
1934 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1935 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -140,  -967,  -967,
1936 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1937 >    -967,  -127,  -967,  -967,   195,  -967,  -967,  -967,  -967,    -4,
1938 >    -967,  -967,  -967,   544,  -967,   -12,  -967,  -967,  -967,   915,
1939 >     330,   917,   918,  -967,  -967,   501,  -967,   631,  -967,   676,
1940 >    -967,   689,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1941 >    -967,  -967,  -967,  -967,   -70,  -967,  -967,  -967,  -967,  -967,
1942 >    -967,  -967,  -967,   330,  -967
1943   };
1944  
1945   /* YYPGOTO[NTERM-NUM].  */
1946   static const yytype_int16 yypgoto[] =
1947   {
1948 <    -745,  -745,  -745,  -744,  -298,  -659,  -595,  -745,  -745,   767,
1949 <    -745,  -745,  -745,  -745,   750,  -745,  -745,  -745,    17,  -745,
1950 <      10,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1951 <    -745,  -745,  -745,  -745,  -745,  -745,   924,  -745,  -745,  -745,
1952 <    -745,  -745,   914,  -745,  -745,  -745,  -745,    53,  -745,  -745,
1953 <    -745,  -745,  -745,  -225,  -745,  -745,  -745,   504,  -745,  -745,
1954 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -193,  -745,  -745,
1955 <    -745,  -188,  -745,  -745,  -745,   675,  -745,  -745,  -745,  -745,
1956 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1957 <    -745,  -745,  -745,  -745,  -170,  -745,   558,  -745,  -745,  -745,
1958 <     -48,  -745,  -745,  -745,  -745,  -745,   610,  -745,  -745,  -745,
1959 <    -745,  -745,  -745,  -745,  -117,  -745,  -745,  -745,  -745,  -745,
1960 <    -745,   550,  -745,  -745,  -745,  -745,  -745,   892,  -745,  -745,
1961 <    -745,  -745,   543,  -745,  -745,  -745,  -745,  -745,  -131,  -745,
1962 <    -745,  -745,   511,  -745,  -745,  -745,  -745,  -128,  -745,  -745,
1963 <    -745,   820,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1964 <    -745,  -745,  -101,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1965 <    -745,  -745,  -745,  -103,  -745,   614,  -745,  -745,  -745,  -745,
1966 <    -745,   754,  -745,  -745,  -745,  -745,   969,  -745,  -745,  -745,
1967 <    -745,  -745,  -745,   -92,  -745,   749,  -745,  -745,  -745,  -745,
1968 <     917,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1969 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1970 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1971 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1972 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,    39,  -745,
1973 <    -745,  -745,    40,  -745,  -745,  -745,  -745,  -745,   996,  -745,
1974 <    -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,  -745,
1975 <    -745,  -745,  -745,  -745,  -745,   915,  -745,  -745,  -745,  -745,
1976 <    -745,  -745
1948 >    -967,  -967,  -967,   -55,  -300,  -966,  -602,  -967,  -967,   916,
1949 >    -967,  -967,  -967,  -967,   743,  -967,  -967,  -967,    13,  -967,
1950 >       9,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1951 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,   936,  -967,
1952 >    -967,  -967,  -967,  -967,   794,  -967,  -967,  -967,  -967,    53,
1953 >    -967,  -967,  -967,  -967,  -967,  -222,  -967,  -967,  -967,   513,
1954 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -194,
1955 >    -967,  -967,  -967,  -190,  -967,  -967,  -967,   718,  -967,  -967,
1956 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1957 >    -967,  -967,  -967,  -967,  -967,  -967,  -109,  -967,  -967,  -967,
1958 >    -967,  -967,  -152,  -967,   602,  -967,  -967,  -967,   -16,  -967,
1959 >    -967,  -967,  -967,  -967,   627,  -967,  -967,  -967,  -967,  -967,
1960 >    -967,  -967,  -111,  -967,  -967,  -967,  -967,  -967,  -967,   569,
1961 >    -967,  -967,  -967,  -967,  -967,   826,  -967,  -967,  -967,  -967,
1962 >     532,  -967,  -967,  -967,  -967,  -967,  -122,  -967,  -967,  -967,
1963 >     528,  -967,  -967,  -967,  -967,  -118,  -967,  -967,  -967,   754,
1964 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1965 >     -95,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,   630,
1966 >    -967,  -967,  -967,  -967,  -967,   717,  -967,  -967,  -967,  -967,
1967 >     985,  -967,  -967,  -967,  -967,   708,  -967,  -967,  -967,  -967,
1968 >     937,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1969 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1970 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1971 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1972 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,    37,  -967,  -967,
1973 >    -967,    41,  -967,  -967,  -967,  -967,  -967,  1012,  -967,  -967,
1974 >    -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,  -967,
1975 >    -967,  -967,  -967,   920,  -967,  -967,  -967,  -967,  -967,  -967,
1976 >    -967
1977   };
1978  
1979   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1980     positive, shift that token.  If negative, reduce the rule which
1981     number is the opposite.  If YYTABLE_NINF, syntax error.  */
1982 < #define YYTABLE_NINF -108
1982 > #define YYTABLE_NINF -114
1983   static const yytype_int16 yytable[] =
1984   {
1985 <     802,   803,   571,   572,    67,    45,    46,  1025,    47,   381,
1986 <     579,   801,   509,   110,   371,  1071,   227,   236,   980,   286,
1987 <     460,   286,   981,   110,    48,   510,    52,    68,   997,   998,
1988 <     999,  1000,  1001,    54,    69,   982,  1044,   116,   291,   983,
1989 <    1045,  1046,   117,   118,   220,  1047,  1171,    58,   119,    59,
1990 <    1172,   220,   371,   237,  1173,  1177,   120,   480,  1174,  1178,
1991 <     544,   460,   121,   509,   122,   123,   124,   238,   239,   240,
1992 <     241,   125,    62,   111,   372,   251,   510,   126,   127,    63,
1993 <     128,   129,   130,   111,    66,   242,   131,   942,  1013,  1014,
1994 <    1015,   132,    70,   627,   628,   133,   134,   382,   252,   135,
1995 <     227,   635,   228,   637,   511,   107,  1188,   287,   136,   287,
1996 <     644,   553,   372,   647,   108,   137,   138,   469,   139,   140,
1997 <     141,   142,   143,   109,   658,   659,   115,   383,   229,   441,
1998 <     512,   253,   373,   144,   670,   671,   217,   673,   461,   145,
1999 <     146,   147,   218,   148,   219,   442,   149,   150,   545,  1072,
2000 <     151,   234,   470,   313,  1073,   511,   235,  1179,   384,   292,
2001 <     443,  1180,   284,   254,   444,   255,   256,   314,   315,   462,
2002 <     373,   316,   471,   664,   665,   943,  1181,   472,   801,   461,
2003 <    1182,   512,   285,   152,   490,   293,   228,   153,   942,  1026,
2004 <     154,   155,   156,   157,   158,   294,    76,   159,   160,   554,
2005 <     491,   257,   297,   258,   259,   260,   261,  1191,   298,   546,
2006 <     462,  1192,   229,   666,   667,   492,    77,    78,   295,   493,
2007 <     262,   544,    79,   624,   463,   729,   722,   379,   317,   318,
2008 <     319,   524,   473,   320,   692,   561,   944,   161,   162,   163,
2009 <     445,   321,   164,   299,   263,   739,   740,   165,   446,   447,
2010 <     221,   439,   322,   323,   264,   300,  -107,   221,   482,   381,
2011 <     555,    80,    81,  -107,   547,   463,   617,   324,    82,    83,
2012 <      84,   342,   494,   343,   757,   344,   943,  1193,   553,   484,
2013 <     448,  1194,   265,   266,   301,   469,   302,   345,   792,   542,
2014 <      85,    86,   303,    67,   325,   495,   800,   304,   945,   305,
2015 <     236,  1085,   346,    87,    88,   306,   347,   307,  1195,   545,
2016 <     308,   496,  1196,    89,   488,  1197,    68,   309,  1220,  1198,
2017 <     470,    90,  1221,    69,   310,   762,   348,   485,   349,   743,
2018 <     744,   699,   378,   449,   390,   326,   237,   944,   350,   391,
2019 <     471,   806,   807,   687,   441,   472,   392,   382,   393,   490,
2020 <     238,   239,   240,   241,  1168,  1169,  1170,   394,   395,   351,
2021 <     442,   396,   397,   398,   570,   491,   554,   597,   242,   563,
2022 <     546,   399,   400,   401,   497,   443,   402,   383,   403,   444,
2023 <     492,    70,   404,   405,   493,   406,   352,   407,   498,   251,
2024 <     116,   408,   409,   410,   411,   117,   118,   412,   716,   945,
2025 <     473,   119,   772,   773,   774,   775,   776,   413,   384,   120,
2026 <     311,   414,   252,   353,   415,   121,   416,   122,   123,   124,
2027 <     417,   418,   420,   422,   125,   547,   423,   555,   424,   425,
2028 <     126,   127,   426,   128,   129,   130,   427,   494,   428,   131,
2029 <     354,   429,   430,  1205,   132,   253,   431,   432,   133,   134,
2030 <     433,   434,   135,   435,   436,   445,   437,   438,   481,   486,
2031 <     495,   136,   487,   446,   447,  1206,   518,  1207,   137,   138,
2032 <     519,   139,   140,   141,   142,   143,   496,   254,   355,   255,
2033 <     256,   520,   526,   521,   522,   613,   144,   564,   523,  1189,
2034 <     527,   528,   145,   146,   147,   448,   148,   529,   530,   149,
2035 <     150,   565,   531,   151,   532,  1208,   342,   533,   343,   567,
2036 <     344,   534,   535,   536,   537,   257,   566,   258,   259,   260,
2037 <     261,  1089,   345,   538,   539,   540,   541,   560,  1142,   568,
2038 <     569,   570,   573,   574,   262,   575,   152,   346,   576,   497,
2039 <     153,   347,  1090,   154,   155,   156,   157,   158,   449,   577,
2040 <     159,   160,   578,   498,   580,   581,   582,  1091,   263,   583,
2041 <     599,   348,   619,   349,  1092,   620,   584,   585,   264,   586,
2042 <     313,   587,   588,   350,   589,  1209,  1210,   590,   591,   592,
2043 <     593,  1093,   594,   595,   314,   315,   596,   626,   316,   600,
2044 <     161,   162,   163,  1156,   351,   164,   265,   266,   601,  1143,
2045 <     165,   629,   602,   603,  1094,   630,   631,   632,  1211,   605,
2046 <     606,  1095,   633,   634,   607,     2,     3,   608,   609,     4,
2047 <     636,   352,   610,  1096,   611,   612,   615,   638,  1144,     5,
2048 <     616,   621,     6,     7,   622,   639,   640,  1145,     8,   641,
2049 <    1097,  1098,  1099,  1146,   642,   317,   318,   319,   353,     9,
2050 <     320,   857,   643,    10,    11,   645,   646,  1147,   321,  1148,
2051 <    1149,   648,   649,    12,  1157,   650,   651,   652,  1150,   322,
2052 <     323,   653,   654,   655,  1151,   354,   657,    13,   656,   880,
2053 <     660,   661,   662,   663,   324,    14,    15,   672,   677,   668,
2054 <    1100,   669,   674,  1158,   675,   678,   679,   676,   701,  1101,
2055 <     680,   682,  1159,    16,  1102,   683,  1050,  1113,  1160,   684,
2056 <    1103,   325,   703,   355,  1104,   685,  1105,    17,   686,   704,
2057 <     689,  1106,  1161,   691,  1162,  1163,  1051,  1107,   694,   705,
2058 <     702,   724,   696,  1164,   725,   697,  1052,   698,   726,  1165,
2059 <     706,   707,  1053,   727,   728,   732,   731,   733,   708,   734,
2060 <      18,   709,   326,   735,   736,   718,   730,   711,  1054,    19,
2061 <      20,   712,   713,    21,    22,   858,   859,   860,   861,   862,
2062 <     715,   863,   864,   749,   865,   866,   867,   719,   720,   868,
2063 <     737,   869,   870,  1055,   871,    76,   872,   738,   873,   874,
2064 <     721,  1056,   875,   881,   882,   883,   884,   885,   876,   886,
2065 <     887,   747,   888,   889,   890,    77,    78,   891,   748,   892,
2066 <     893,    79,   894,   750,   895,    23,   896,   897,   751,   752,
2067 <     898,  1114,  1115,  1116,  1117,  1118,   899,  1119,  1120,  1057,
2068 <    1121,  1122,  1123,   753,   754,  1124,   764,  1125,  1126,   756,
2069 <    1127,   759,  1128,   760,  1129,  1130,  1058,   765,  1131,   766,
2070 <      80,    81,   767,   768,  1132,   769,   770,    82,    83,    84,
2071 <     771,   779,   780,   781,   782,   783,   784,   785,   786,   787,
2072 <     790,   788,   789,   791,   793,   794,   795,   796,   797,    85,
2073 <      86,   798,   799,   804,   801,   805,   808,   809,   810,   811,
2074 <     812,   815,    87,    88,   819,   822,   813,   814,   816,   823,
2075 <     826,   827,    89,   817,   818,   820,   821,   824,   825,   828,
2076 <      90,   829,   830,   831,   832,   921,   833,   834,   835,   836,
2077 <     837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
2078 <     847,   848,   849,   924,   850,   851,   852,   853,   854,   855,
2079 <     856,   879,   925,   902,   903,   904,   905,   906,   907,   908,
2080 <     909,   910,   911,   912,   913,   914,   915,   916,   917,   918,
2081 <     919,   920,   922,   926,   927,   923,   928,   929,   930,   931,
2082 <     932,   933,   934,   935,   936,   937,   940,   941,   951,   952,
2083 <     953,   954,   956,   955,   957,   958,   960,   959,   962,   963,
2084 <     964,   989,   991,  1140,   993,   296,  1222,   489,  1139,  1086,
2085 <    1041,  1217,   598,   717,  1216,  1067,  1183,   961,   965,   966,
2086 <     967,   968,  1203,   969,   970,   971,   972,   543,   973,   974,
2087 <     975,   976,   977,   978,   979,   984,   985,   986,   987,   988,
2088 <    1186,  1184,   992,   700,   990,   995,   994,   996,  1002,  1003,
2089 <    1004,  1005,  1006,  1007,  1008,  1009,  1010,  1011,  1012,  1018,
2090 <    1019,  1020,  1021,  1022,  1023,  1024,  1029,  1078,  1030,  1031,
2091 <     688,  1201,  1032,   723,  1033,  1218,  1034,   763,  1035,  1036,
2092 <    1219,  1199,  1037,  1038,  1039,  1040,  1048,  1202,  1049,   693,
2093 <    1061,   380,  1200,   440,  1062,  1175,  1176,   312,     0,     0,
2094 <       0,   758,     0,  1063,  1064,  1065,  1066,     0,  1070,  1076,
2095 <    1077,     0,  1081,     0,     0,  1079,  1082,  1084,  1187,  1087,
2096 <    1088,  1110,  1111,  1112,  1135,  1136,  1137,  1138,  1141,  1154,
2097 <    1155,     0,  1185,  1190,  1204,  1214,  1215,     0,   618,     0,
2098 <       0,     0,     0,     0,     0,   625,   483,     0,     0,     0,
2099 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2063 <       0,     0,     0,     0,     0,     0,     0,     0,   525,     0,
1985 >     813,   814,   576,   577,  1045,   464,   558,   288,    67,    47,
1986 >     584,   232,   108,   812,    48,   223,   378,   992,   511,   288,
1987 >     549,   993,   471,   108,   445,   994,  1061,   378,   951,   995,
1988 >    1062,    68,    52,   511,   216,    54,   558,   249,    69,  1086,
1989 >     446,  1063,  1183,   216,  1188,  1064,  1184,   233,  1189,  1192,
1990 >    1194,   512,   293,  1193,  1195,   447,   471,   472,    58,   448,
1991 >     250,   234,   235,   236,   237,   238,   512,  1185,  1186,  1187,
1992 >     388,   388,   464,   109,    59,  1204,    62,   379,   473,  1205,
1993 >     239,  1206,  1208,   474,   109,  1207,  1209,    63,   379,    66,
1994 >     513,   472,   105,   223,   251,  1210,   633,   634,   106,  1211,
1995 >     107,   559,   289,    70,   641,   513,   643,   549,   224,  1201,
1996 >      45,    46,   473,   650,   289,   550,   653,   474,   252,   114,
1997 >     113,   951,   253,   952,   115,   116,   663,   664,   213,   465,
1998 >     117,   559,   254,   225,   255,   256,   675,   676,   118,   678,
1999 >     380,   449,   514,   475,   119,   214,   120,   121,   122,   450,
2000 >     451,   380,  1232,   123,   669,   670,  1233,   514,   215,   124,
2001 >     125,   560,   126,   127,   128,   389,   389,   257,   129,   258,
2002 >     259,   260,   261,   230,   130,   551,   231,   475,   131,   132,
2003 >    1087,   452,   133,   953,   286,  1088,   224,   287,   262,   671,
2004 >     672,   560,   134,  1046,   390,   390,   465,   294,    76,   135,
2005 >     295,   136,   550,   137,   296,   138,   139,   140,   299,   746,
2006 >     747,   225,   263,  1033,  1034,  1035,   952,   466,    77,    78,
2007 >     300,   141,   264,   301,    79,   314,   734,   142,   143,   144,
2008 >     297,   145,   552,   527,   146,   147,   453,   490,   148,   315,
2009 >     316,   566,   764,   317,   703,   386,   692,   954,   217,   624,
2010 >    1100,   482,   265,   266,  -113,   726,   484,   217,   769,   547,
2011 >     318,   486,   551,  -113,    80,    81,   750,   751,   817,   818,
2012 >     302,   149,    82,    83,    84,   150,   953,   303,   151,   152,
2013 >     153,   154,   155,    67,   466,   156,   157,  1019,  1020,   304,
2014 >     800,   349,   630,   350,   696,   351,   806,   807,    85,    86,
2015 >     305,   811,   319,   320,   321,   306,    68,   352,   322,   812,
2016 >     487,    87,    88,    69,   323,   324,   307,   529,   308,   552,
2017 >     325,    89,   353,   492,   309,   310,   354,   158,   159,   160,
2018 >     326,   327,   161,   311,   445,   385,   395,   162,   396,   493,
2019 >     954,   443,   397,   574,   398,   328,   399,   355,   400,   356,
2020 >     446,   401,   402,   403,   494,   404,   405,   406,   495,   357,
2021 >     407,   408,   114,   409,   410,   447,   411,   115,   116,   448,
2022 >    1217,   412,   329,   117,   413,   414,   415,   416,    70,   417,
2023 >     418,   118,   419,   420,   421,   422,   358,   119,   424,   120,
2024 >     121,   122,   426,  1218,   427,  1219,   123,   428,   429,   492,
2025 >     430,   431,   124,   125,   249,   126,   127,   128,   432,   433,
2026 >     434,   129,   359,   435,   330,   493,   436,   130,   496,   437,
2027 >     312,   131,   132,   438,   439,   133,   440,   250,   441,   568,
2028 >     494,   442,   483,   488,   495,   134,   489,   520,  1220,   360,
2029 >     497,   521,   135,   522,   136,   523,   137,   604,   138,   139,
2030 >     140,   449,   524,   525,   498,   526,   530,   531,   532,   450,
2031 >     451,   251,   533,   534,   141,   535,   361,   536,   537,   538,
2032 >     142,   143,   144,   539,   145,   540,   541,   146,   147,   542,
2033 >     543,   148,   544,   545,   546,   252,   565,   569,   570,   253,
2034 >     571,   452,   572,   573,   496,   575,   349,  1202,   350,   254,
2035 >     351,   255,   256,   581,   578,  1104,   362,   579,  1221,  1222,
2036 >     580,   582,   352,   620,   149,   583,   497,   585,   150,   586,
2037 >     499,   151,   152,   153,   154,   155,  1105,   353,   156,   157,
2038 >     498,   354,   587,   588,   257,   500,   258,   259,   260,   261,
2039 >     589,  1106,   590,  1223,   592,   720,   453,   626,  1107,   593,
2040 >     594,   595,   355,   596,   356,   262,   597,  1067,   632,   598,
2041 >     599,   600,   601,   606,   357,   602,  1108,   603,   607,   608,
2042 >     158,   159,   160,   609,   610,   161,   612,  1068,   613,   263,
2043 >     162,   614,   615,   616,     2,     3,   635,  1069,     4,   264,
2044 >     627,   358,   617,  1070,   618,  1109,   499,   575,     5,   619,
2045 >     622,     6,     7,   623,   628,   629,   636,     8,   637,   232,
2046 >    1071,   500,   638,  1110,   639,   640,   642,   359,     9,   265,
2047 >     266,   644,    10,    11,   645,   646,   647,   648,   649,  1111,
2048 >    1112,  1113,    12,   779,   780,   781,   782,   783,   784,   785,
2049 >     651,  1072,   866,   652,   360,   233,   654,    13,  1073,   658,
2050 >     655,   656,   657,   659,   314,    14,    15,   660,   661,   234,
2051 >     235,   236,   237,   238,   662,   665,   677,   666,   315,   316,
2052 >     667,   361,   317,   668,   673,   674,   679,   680,   239,    16,
2053 >    1114,   682,  1127,   681,  1074,   684,   683,   698,   705,   318,
2054 >    1115,   685,    17,   687,   688,  1116,   689,   690,   691,   694,
2055 >     695,  1117,   700,  1075,   701,  1118,   708,   702,  1119,   706,
2056 >     707,   362,   709,  1120,   712,   713,   710,   728,   890,  1121,
2057 >     711,   715,   716,    18,  1009,  1010,  1011,  1012,  1013,  1014,
2058 >    1015,   319,   320,   321,    19,    20,   722,   322,    21,    22,
2059 >     717,  1157,   719,   323,   324,   729,   723,   724,   730,   325,
2060 >    1076,   725,   731,   732,  1171,   733,   735,   736,   737,   326,
2061 >     327,   738,   867,   868,   869,   870,   871,   739,   872,   873,
2062 >     740,   874,   875,   876,   328,   741,   877,   742,   878,   879,
2063 >     880,   743,   881,   744,   882,   756,   883,   884,   745,   754,
2064 >     885,   755,    23,   757,   758,   759,   886,   760,   766,   761,
2065 >     771,   329,  1128,  1129,  1130,  1131,  1132,   763,  1133,  1134,
2066 >     767,  1135,  1136,  1137,   772,  1158,  1138,   773,  1139,  1140,
2067 >    1141,   774,  1142,   775,  1143,   776,  1144,  1145,  1172,   777,
2068 >    1146,   778,   788,   789,   790,   791,  1147,   792,   891,   892,
2069 >     893,   894,   895,   330,   896,   897,  1159,   898,   899,   900,
2070 >     793,   794,   901,   798,   902,  1160,   903,   795,   904,  1173,
2071 >     905,  1161,   906,   907,    76,   796,   908,   797,  1174,   799,
2072 >     802,   801,   909,   803,  1175,   804,  1162,   805,  1163,  1164,
2073 >     808,   809,   810,   812,    77,    78,   815,   820,  1165,  1176,
2074 >      79,  1177,  1178,   826,  1166,   935,   816,   819,   821,   933,
2075 >     830,  1179,   822,   823,   824,   825,   827,  1180,   828,   829,
2076 >     831,   943,   832,   833,   834,   835,   836,   837,   838,   839,
2077 >     840,   841,   842,   843,   844,   845,   846,   847,   848,   849,
2078 >      80,    81,   850,   851,   852,   853,   854,   855,    82,    83,
2079 >      84,   856,   857,   858,   931,   859,   860,   861,   862,   863,
2080 >     864,   865,   889,   912,   913,   914,   915,   916,   917,   918,
2081 >     919,   920,   921,   922,    85,    86,   923,   924,   925,   926,
2082 >     932,   927,   928,   929,   930,   934,   936,    87,    88,   937,
2083 >     938,   939,   940,   941,   942,   944,   946,    89,   945,   949,
2084 >     962,   950,   963,   960,   965,   966,   967,   961,   969,   971,
2085 >     972,   973,  1001,  1003,  1155,  1005,  1154,   298,  1101,   964,
2086 >     548,  1234,   485,  1229,   721,  1228,   968,   970,   974,   975,
2087 >     976,   977,   978,   979,   980,   981,   982,  1196,   983,   984,
2088 >     985,   986,   987,   988,   989,   990,   991,   996,   997,   998,
2089 >     999,  1000,  1199,  1215,  1004,  1002,  1007,  1008,  1006,   605,
2090 >    1016,  1017,  1018,  1023,  1024,  1025,  1026,  1027,  1028,  1029,
2091 >    1030,  1031,  1032,  1038,  1039,  1040,  1041,  1042,  1043,  1044,
2092 >    1049,  1050,  1051,  1052,  1093,  1212,  1053,  1054,  1197,   704,
2093 >    1055,   693,  1214,  1056,   727,   765,  1057,  1230,  1058,   770,
2094 >    1059,  1060,  1065,  1231,  1213,   387,  1066,   697,   625,   631,
2095 >     444,  1191,   313,  1190,     0,  1079,  1080,  1081,  1082,  1083,
2096 >    1084,  1085,  1091,  1092,     0,  1096,   567,   621,  1094,  1097,
2097 >    1099,  1102,  1103,  1124,  1125,  1126,  1150,     0,  1151,  1152,
2098 >    1153,  1156,  1169,  1170,  1198,     0,  1203,  1216,  1200,  1226,
2099 >    1227,     0,   491,     0,     0,     0,     0,     0,     0,     0,
2100         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2101 <       0,     0,     0,     0,     0,     0,   614,     0,     0,     0,
2066 <     562
2101 >     528
2102   };
2103  
2104   #define yypact_value_is_default(Yystate) \
2105 <  (!!((Yystate) == (-745)))
2105 >  (!!((Yystate) == (-967)))
2106  
2107   #define yytable_value_is_error(Yytable_value) \
2108    YYID (0)
2109  
2110   static const yytype_int16 yycheck[] =
2111   {
2112 <     595,   596,   300,   301,     1,   214,   215,     8,   216,     1,
2113 <     308,    99,     1,     1,     1,    51,     1,     1,   214,     1,
2114 <       1,     1,   218,     1,   216,    14,   216,    24,   772,   773,
2115 <     774,   775,   776,   216,    31,   214,   214,     1,   214,   218,
2116 <     218,   214,     6,     7,     1,   218,   214,   216,    12,   216,
2117 <     218,     1,     1,    37,   214,   214,    20,   214,   218,   218,
2118 <       1,     1,    26,     1,    28,    29,    30,    51,    52,    53,
2119 <      54,    35,   216,    61,    61,     1,    14,    41,    42,   216,
2120 <      44,    45,    46,    61,   216,    69,    50,     1,     9,    10,
2121 <      11,    55,    89,   391,   392,    59,    60,    89,    24,    63,
2122 <       1,   399,    87,   401,    93,   216,   194,    89,    72,    89,
2123 <     408,     1,    61,   411,   216,    79,    80,     1,    82,    83,
2124 <      84,    85,    86,   216,   422,   423,   216,   119,   113,     1,
2125 <     119,    57,   119,    97,   432,   433,   216,   435,   119,   103,
2126 <     104,   105,   216,   107,   216,    17,   110,   111,    89,   185,
2127 <     114,   216,    36,     1,   190,    93,   216,   214,   150,   217,
2128 <      32,   218,   216,    89,    36,    91,    92,    15,    16,   150,
2129 <     119,    19,    56,   159,   160,    89,   214,    61,    99,   119,
2130 <     218,   119,   216,   147,     1,   217,    87,   151,     1,   190,
2131 <     154,   155,   156,   157,   158,   217,     1,   161,   162,    89,
2132 <      17,   127,   217,   129,   130,   131,   132,   214,   217,   150,
2133 <     150,   218,   113,   159,   160,    32,    21,    22,   215,    36,
2134 <     146,     1,    27,   215,   205,   523,   215,   215,    76,    77,
2135 <      78,   215,   116,    81,   215,   215,   150,   201,   202,   203,
2136 <     112,    89,   206,   217,   170,   133,   134,   211,   120,   121,
2137 <     207,   215,   100,   101,   180,   217,   213,   207,   215,     1,
2138 <     150,    66,    67,   213,   205,   205,   215,   115,    73,    74,
2139 <      75,     1,    89,     3,   215,     5,    89,   214,     1,   213,
2140 <     152,   218,   208,   209,   217,     1,   217,    17,   586,   215,
2141 <      95,    96,   217,     1,   142,   112,   594,   217,   212,   217,
2142 <       1,   215,    32,   108,   109,   217,    36,   217,   214,    89,
2143 <     217,   128,   218,   118,   215,   214,    24,   217,   214,   218,
2144 <      36,   126,   218,    31,   217,   215,    56,   214,    58,   133,
2145 <     134,   215,   217,   205,   217,   183,    37,   150,    68,   217,
2146 <      56,   177,   178,   215,     1,    61,   217,    89,   217,     1,
2147 <      51,    52,    53,    54,  1013,  1014,  1015,   217,   217,    89,
2148 <      17,   217,   217,   217,    99,    17,    89,   215,    69,   117,
2149 <     150,   217,   217,   217,   191,    32,   217,   119,   217,    36,
2150 <      32,    89,   217,   217,    36,   217,   116,   217,   205,     1,
2151 <       1,   217,   217,   217,   217,     6,     7,   217,   215,   212,
2152 <     116,    12,   137,   138,   139,   140,   141,   217,   150,    20,
2153 <     215,   217,    24,   143,   217,    26,   217,    28,    29,    30,
2154 <     217,   217,   217,   217,    35,   205,   217,   150,   217,   217,
2155 <      41,    42,   217,    44,    45,    46,   217,    89,   217,    50,
2156 <     170,   217,   217,    40,    55,    57,   217,   217,    59,    60,
2157 <     217,   217,    63,   217,   217,   112,   217,   217,   217,   217,
2158 <     112,    72,   217,   120,   121,    62,   217,    64,    79,    80,
2159 <     217,    82,    83,    84,    85,    86,   128,    89,   208,    91,
2160 <      92,   217,   214,   217,   217,   215,    97,   117,   217,  1084,
2161 <     217,   217,   103,   104,   105,   152,   107,   217,   217,   110,
2162 <     111,   117,   217,   114,   217,   102,     1,   217,     3,    99,
2163 <       5,   217,   217,   217,   217,   127,   214,   129,   130,   131,
2164 <     132,     4,    17,   217,   217,   217,   217,   217,    64,    99,
2165 <     159,    99,    99,    99,   146,    99,   147,    32,   159,   191,
2166 <     151,    36,    25,   154,   155,   156,   157,   158,   205,   159,
2167 <     161,   162,    99,   205,   159,   159,   214,    40,   170,   214,
2168 <     214,    56,   117,    58,    47,   214,   217,   217,   180,   217,
2169 <       1,   217,   217,    68,   217,   172,   173,   217,   217,   217,
2170 <     217,    64,   217,   217,    15,    16,   217,   159,    19,   217,
2171 <     201,   202,   203,    64,    89,   206,   208,   209,   217,   135,
2172 <     211,    99,   217,   217,    87,   159,   159,    99,   205,   217,
2173 <     217,    94,   117,   159,   217,     0,     1,   217,   217,     4,
2174 <     159,   116,   217,   106,   217,   217,   217,    99,   164,    14,
2175 <     217,   217,    17,    18,   217,    99,    99,   173,    23,   159,
2176 <     123,   124,   125,   179,   159,    76,    77,    78,   143,    34,
2177 <      81,    51,   159,    38,    39,    99,    99,   193,    89,   195,
2178 <     196,    99,    99,    48,   135,   117,    99,    99,   204,   100,
2179 <     101,   159,   159,   217,   210,   170,   217,    62,   159,    51,
2180 <     159,   159,   159,   159,   115,    70,    71,   117,   214,   159,
2181 <     173,   159,   159,   164,   159,   214,   217,   159,   159,   182,
2182 <     217,   217,   173,    88,   187,   217,    13,    51,   179,   217,
2183 <     193,   142,   216,   208,   197,   217,   199,   102,   217,   117,
2184 <     217,   204,   193,   217,   195,   196,    33,   210,   214,   117,
2185 <     214,   159,   217,   204,   159,   217,    43,   217,   117,   210,
2186 <     214,   214,    49,   159,   159,   159,   117,   117,   217,   117,
2187 <     135,   217,   183,   117,   117,   214,   214,   217,    65,   144,
2188 <     145,   217,   217,   148,   149,   165,   166,   167,   168,   169,
2189 <     217,   171,   172,    99,   174,   175,   176,   217,   217,   179,
2190 <     117,   181,   182,    90,   184,     1,   186,   117,   188,   189,
2191 <     217,    98,   192,   165,   166,   167,   168,   169,   198,   171,
2192 <     172,   117,   174,   175,   176,    21,    22,   179,   117,   181,
2193 <     182,    27,   184,   117,   186,   200,   188,   189,   117,   214,
2194 <     192,   165,   166,   167,   168,   169,   198,   171,   172,   136,
2195 <     174,   175,   176,   214,   217,   179,   117,   181,   182,   217,
2196 <     184,   214,   186,   217,   188,   189,   153,   214,   192,   214,
2197 <      66,    67,   214,   214,   198,   214,   214,    73,    74,    75,
2198 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2199 <      99,   214,   214,    99,    99,    99,    99,    99,   117,    95,
2200 <      96,    99,    99,   214,    99,   117,   117,   159,   217,   117,
2201 <     117,    99,   108,   109,   214,   214,   117,   117,   117,   214,
2202 <     217,   214,   118,   117,   117,   117,   117,   117,   117,   214,
2203 <     126,   214,   214,   214,   214,   117,   214,   214,   214,   214,
2204 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2205 <     214,   214,   214,   117,   214,   214,   214,   214,   214,   214,
2206 <     214,   214,    99,   214,   214,   214,   214,   214,   214,   214,
2207 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2208 <     214,   214,   159,   117,   117,   217,   117,   214,   117,   217,
2209 <     117,   214,   217,   117,   117,    99,   214,   214,   214,   214,
2210 <     117,   159,   117,   217,   117,   117,   117,   217,   117,   117,
2211 <     117,   117,   117,   983,   117,    71,  1221,   230,   981,   946,
2212 <     122,  1194,   327,   499,  1192,   122,    99,   214,   214,   214,
2213 <     214,   214,  1182,   214,   214,   214,   214,   267,   214,   214,
2214 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2215 <     117,  1079,   214,   475,   217,   214,   217,   214,   214,   214,
2216 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2217 <     214,   214,   214,   214,   214,   214,   214,   163,   214,   214,
2218 <     450,  1178,   214,   513,   214,  1196,   214,   556,   214,   214,
2219 <    1198,  1172,   214,   214,   214,   214,   214,  1180,   214,   465,
2220 <     214,   112,  1174,   166,   214,  1045,  1047,    91,    -1,    -1,
2221 <      -1,   548,    -1,   214,   214,   214,   214,    -1,   214,   214,
2222 <     214,    -1,   214,    -1,    -1,   218,   217,   217,   217,   214,
2223 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2224 <     214,    -1,   214,   214,   214,   214,   214,    -1,   374,    -1,
2225 <      -1,    -1,    -1,    -1,    -1,   386,   222,    -1,    -1,    -1,
2226 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2192 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   243,    -1,
2112 >     602,   603,   302,   303,     8,     1,     1,     1,     1,   224,
2113 >     310,     1,     1,   105,   224,     1,     1,   222,     1,     1,
2114 >       1,   226,     1,     1,     1,   222,   222,     1,     1,   226,
2115 >     226,    24,   224,     1,     1,   224,     1,     1,    31,    51,
2116 >      17,   222,   222,     1,   222,   226,   226,    37,   226,   222,
2117 >     222,    34,   222,   226,   226,    32,     1,    36,   224,    36,
2118 >      24,    51,    52,    53,    54,    55,    34,  1033,  1034,  1035,
2119 >       1,     1,     1,    62,   224,   222,   224,    62,    57,   226,
2120 >      70,   222,   222,    62,    62,   226,   226,   224,    62,   224,
2121 >      73,    36,   224,     1,    58,   222,   396,   397,   224,   226,
2122 >     224,    96,    96,    96,   404,    73,   406,     1,    94,   201,
2123 >     222,   223,    57,   413,    96,    96,   416,    62,    82,     1,
2124 >     224,     1,    86,    96,     6,     7,   426,   427,   224,   125,
2125 >      12,    96,    96,   119,    98,    99,   436,   437,    20,   439,
2126 >     125,   118,   125,   122,    26,   224,    28,    29,    30,   126,
2127 >     127,   125,   222,    35,   165,   166,   226,   125,   224,    41,
2128 >      42,   156,    44,    45,    46,    96,    96,   131,    50,   133,
2129 >     134,   135,   136,   224,    56,   156,   224,   122,    60,    61,
2130 >     192,   158,    64,   156,   224,   197,    94,   224,   152,   165,
2131 >     166,   156,    74,   197,   125,   125,   125,   225,     1,    81,
2132 >     225,    83,    96,    85,   225,    87,    88,    89,   225,   137,
2133 >     138,   119,   176,     9,    10,    11,    96,   213,    21,    22,
2134 >     225,   103,   186,   225,    27,     1,   526,   109,   110,   111,
2135 >     223,   113,   213,   223,   116,   117,   213,   223,   120,    15,
2136 >      16,   223,   223,    19,   223,   223,   223,   220,   215,   223,
2137 >     223,   222,   216,   217,   221,   223,   223,   215,   223,   223,
2138 >      36,   221,   156,   221,    67,    68,   137,   138,   183,   184,
2139 >     225,   153,    75,    76,    77,   157,   156,   225,   160,   161,
2140 >     162,   163,   164,     1,   213,   167,   168,    92,    93,   225,
2141 >     590,     1,   223,     3,   223,     5,   596,   597,   101,   102,
2142 >     225,   601,    78,    79,    80,   225,    24,    17,    84,   105,
2143 >     222,   114,   115,    31,    90,    91,   225,   222,   225,   213,
2144 >      96,   124,    32,     1,   225,   225,    36,   209,   210,   211,
2145 >     106,   107,   214,   225,     1,   225,   225,   219,   225,    17,
2146 >     220,   223,   225,   165,   225,   121,   225,    57,   225,    59,
2147 >      17,   225,   225,   225,    32,   225,   225,   225,    36,    69,
2148 >     225,   225,     1,   225,   225,    32,   225,     6,     7,    36,
2149 >      40,   225,   148,    12,   225,   225,   225,   225,    96,   225,
2150 >     225,    20,   225,   225,   225,   225,    96,    26,   225,    28,
2151 >      29,    30,   225,    63,   225,    65,    35,   225,   225,     1,
2152 >     225,   225,    41,    42,     1,    44,    45,    46,   225,   225,
2153 >     225,    50,   122,   225,   190,    17,   225,    56,    96,   225,
2154 >     223,    60,    61,   225,   225,    64,   225,    24,   225,   123,
2155 >      32,   225,   225,   225,    36,    74,   225,   225,   108,   149,
2156 >     118,   225,    81,   225,    83,   225,    85,   223,    87,    88,
2157 >      89,   118,   225,   225,   132,   225,   225,   225,   225,   126,
2158 >     127,    58,   225,   225,   103,   225,   176,   225,   225,   225,
2159 >     109,   110,   111,   225,   113,   225,   225,   116,   117,   225,
2160 >     225,   120,   225,   225,   225,    82,   225,   123,   123,    86,
2161 >     222,   158,   105,   105,    96,   105,     1,  1099,     3,    96,
2162 >       5,    98,    99,   165,   105,     4,   216,   105,   178,   179,
2163 >     105,   165,    17,   223,   153,   105,   118,   165,   157,   222,
2164 >     198,   160,   161,   162,   163,   164,    25,    32,   167,   168,
2165 >     132,    36,   222,   225,   131,   213,   133,   134,   135,   136,
2166 >     225,    40,   225,   213,   225,   223,   213,   123,    47,   225,
2167 >     225,   225,    57,   225,    59,   152,   225,    13,   165,   225,
2168 >     225,   225,   225,   222,    69,   225,    65,   225,   225,   225,
2169 >     209,   210,   211,   225,   225,   214,   225,    33,   225,   176,
2170 >     219,   225,   225,   225,     0,     1,   105,    43,     4,   186,
2171 >     222,    96,   225,    49,   225,    94,   198,   105,    14,   225,
2172 >     225,    17,    18,   225,   225,   225,   165,    23,   165,     1,
2173 >      66,   213,   105,   112,   123,   165,   165,   122,    34,   216,
2174 >     217,   105,    38,    39,   105,   105,   165,   165,   165,   128,
2175 >     129,   130,    48,   141,   142,   143,   144,   145,   146,   147,
2176 >     105,    97,    51,   105,   149,    37,   105,    63,   104,   165,
2177 >     105,   105,   105,   165,     1,    71,    72,   225,   165,    51,
2178 >      52,    53,    54,    55,   225,   165,   123,   165,    15,    16,
2179 >     165,   176,    19,   165,   165,   165,   165,   165,    70,    95,
2180 >     179,   222,    51,   165,   140,   225,   222,   222,   165,    36,
2181 >     189,   225,   108,   225,   225,   194,   225,   225,   225,   225,
2182 >     225,   200,   225,   159,   225,   204,   123,   225,   207,   222,
2183 >     224,   216,   123,   212,   225,   225,   222,   165,    51,   218,
2184 >     222,   225,   225,   139,   779,   780,   781,   782,   783,   784,
2185 >     785,    78,    79,    80,   150,   151,   222,    84,   154,   155,
2186 >     225,    65,   225,    90,    91,   165,   225,   225,   123,    96,
2187 >     206,   225,   165,   165,    65,   165,   222,   123,   165,   106,
2188 >     107,   105,   171,   172,   173,   174,   175,   105,   177,   178,
2189 >     123,   180,   181,   182,   121,   123,   185,   123,   187,   188,
2190 >     189,   123,   191,   123,   193,   105,   195,   196,   123,   123,
2191 >     199,   123,   208,   123,   123,   222,   205,   222,   222,   225,
2192 >     123,   148,   171,   172,   173,   174,   175,   225,   177,   178,
2193 >     225,   180,   181,   182,   222,   139,   185,   222,   187,   188,
2194 >     189,   222,   191,   222,   193,   222,   195,   196,   139,   222,
2195 >     199,   222,   222,   222,   222,   222,   205,   222,   171,   172,
2196 >     173,   174,   175,   190,   177,   178,   170,   180,   181,   182,
2197 >     222,   222,   185,   105,   187,   179,   189,   222,   191,   170,
2198 >     193,   185,   195,   196,     1,   222,   199,   222,   179,   105,
2199 >     105,   225,   205,   105,   185,   105,   200,   105,   202,   203,
2200 >     123,   105,   105,   105,    21,    22,   222,   165,   212,   200,
2201 >      27,   202,   203,   105,   218,   105,   123,   123,   225,   225,
2202 >     222,   212,   123,   123,   123,   123,   123,   218,   123,   123,
2203 >     123,   225,   123,   222,   222,   123,   123,   222,   222,   222,
2204 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2205 >      67,    68,   222,   222,   222,   222,   222,   222,    75,    76,
2206 >      77,   222,   222,   222,   123,   222,   222,   222,   222,   222,
2207 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2208 >     222,   222,   222,   222,   101,   102,   222,   222,   222,   222,
2209 >     165,   222,   222,   222,   222,   123,   123,   114,   115,   123,
2210 >     123,   222,   123,   123,   222,   123,   105,   124,   123,   222,
2211 >     123,   222,   165,   222,   123,   123,   123,   222,   123,   123,
2212 >     123,   123,   123,   123,   995,   123,   993,    71,   955,   225,
2213 >     267,  1233,   218,  1207,   501,  1205,   225,   222,   222,   222,
2214 >     222,   222,   222,   222,   222,   222,   222,   105,   222,   222,
2215 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2216 >     222,   222,   123,  1195,   222,   225,   222,   222,   225,   331,
2217 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2218 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2219 >     222,   222,   222,   222,   169,  1184,   222,   222,  1094,   477,
2220 >     222,   454,  1193,   222,   515,   553,   222,  1209,   222,   561,
2221 >     222,   222,   222,  1211,  1189,   110,   222,   467,   381,   391,
2222 >     163,  1064,    90,  1062,    -1,   222,   222,   222,   222,   222,
2223 >     222,   222,   222,   222,    -1,   222,   290,   363,   226,   225,
2224 >     225,   222,   222,   222,   222,   222,   222,    -1,   222,   222,
2225 >     222,   222,   222,   222,   222,    -1,   222,   222,   225,   222,
2226 >     222,    -1,   226,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2227        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2228 <      -1,    -1,    -1,    -1,    -1,    -1,   356,    -1,    -1,    -1,
2195 <     288
2228 >     240
2229   };
2230  
2231   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2232     symbol of state STATE-NUM.  */
2233   static const yytype_uint16 yystos[] =
2234   {
2235 <       0,   220,     0,     1,     4,    14,    17,    18,    23,    34,
2236 <      38,    39,    48,    62,    70,    71,    88,   102,   135,   144,
2237 <     145,   148,   149,   200,   221,   226,   231,   253,   259,   273,
2238 <     291,   308,   322,   337,   344,   348,   358,   367,   387,   397,
2239 <     403,   407,   417,   475,   492,   214,   215,   216,   216,   292,
2240 <     368,   398,   216,   408,   216,   323,   388,   309,   216,   216,
2241 <     274,   338,   216,   216,   349,   359,   216,     1,    24,    31,
2242 <      89,   254,   255,   256,   257,   258,     1,    21,    22,    27,
2243 <      66,    67,    73,    74,    75,    95,    96,   108,   109,   118,
2244 <     126,   476,   477,   478,   479,   480,   481,   482,   483,   484,
2245 <     485,   486,   487,   488,   489,   490,   491,   216,   216,   216,
2246 <       1,    61,   404,   405,   406,   216,     1,     6,     7,    12,
2247 <      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2248 <      46,    50,    55,    59,    60,    63,    72,    79,    80,    82,
2249 <      83,    84,    85,    86,    97,   103,   104,   105,   107,   110,
2250 <     111,   114,   147,   151,   154,   155,   156,   157,   158,   161,
2251 <     162,   201,   202,   203,   206,   211,   418,   419,   420,   421,
2252 <     422,   423,   424,   425,   426,   427,   428,   429,   430,   431,
2253 <     432,   433,   434,   435,   436,   437,   438,   439,   440,   441,
2254 <     442,   443,   444,   445,   446,   447,   448,   449,   450,   451,
2255 <     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
2256 <     462,   463,   464,   468,   472,   473,   474,   216,   216,   216,
2257 <       1,   207,   260,   261,   262,   263,   264,     1,    87,   113,
2258 <     227,   228,   229,   230,   216,   216,     1,    37,    51,    52,
2259 <      53,    54,    69,   493,   494,   495,   496,   497,   498,   499,
2260 <     500,     1,    24,    57,    89,    91,    92,   127,   129,   130,
2261 <     131,   132,   146,   170,   180,   208,   209,   232,   233,   234,
2262 <     235,   240,   241,   242,   243,   244,   245,   246,   247,   248,
2263 <     249,   250,   251,   252,   216,   216,     1,    89,   345,   346,
2264 <     347,   214,   217,   217,   217,   215,   255,   217,   217,   217,
2265 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2266 <     217,   215,   477,     1,    15,    16,    19,    76,    77,    78,
2267 <      81,    89,   100,   101,   115,   142,   183,   293,   294,   295,
2268 <     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
2269 <     306,   307,     1,     3,     5,    17,    32,    36,    56,    58,
2270 <      68,    89,   116,   143,   170,   208,   369,   370,   371,   372,
2271 <     373,   374,   375,   376,   377,   378,   382,   383,   384,   385,
2272 <     386,     1,    61,   119,   399,   400,   401,   402,   217,   215,
2273 <     405,     1,    89,   119,   150,   409,   413,   414,   415,   416,
2274 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2275 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2276 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   469,
2277 <     217,   465,   217,   217,   217,   217,   217,   217,   217,   217,
2278 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   215,
2279 <     419,     1,    17,    32,    36,   112,   120,   121,   152,   205,
2280 <     324,   325,   326,   327,   328,   329,   330,   334,   335,   336,
2281 <       1,   119,   150,   205,   389,   393,   394,   395,   396,     1,
2282 <      36,    56,    61,   116,   310,   314,   315,   316,   320,   321,
2283 <     214,   217,   215,   261,   213,   214,   217,   217,   215,   228,
2284 <       1,    17,    32,    36,    89,   112,   128,   191,   205,   275,
2285 <     276,   277,   278,   279,   280,   281,   282,   283,   287,     1,
2286 <      14,    93,   119,   339,   340,   341,   342,   343,   217,   217,
2287 <     217,   217,   217,   217,   215,   494,   214,   217,   217,   217,
2288 <     217,   217,   217,   217,   217,   217,   217,   217,   217,   217,
2289 <     217,   217,   215,   233,     1,    89,   150,   205,   350,   351,
2290 <     352,   353,   354,     1,    89,   150,   360,   361,   362,   363,
2291 <     217,   215,   346,   117,   117,   117,   214,    99,    99,   159,
2292 <      99,   223,   223,    99,    99,    99,   159,   159,    99,   223,
2293 <     159,   159,   214,   214,   217,   217,   217,   217,   217,   217,
2294 <     217,   217,   217,   217,   217,   217,   217,   215,   294,   214,
2295 <     217,   217,   217,   217,   379,   217,   217,   217,   217,   217,
2296 <     217,   217,   217,   215,   370,   217,   217,   215,   400,   117,
2297 <     214,   217,   217,   410,   215,   414,   159,   223,   223,    99,
2298 <     159,   159,    99,   117,   159,   223,   159,   223,    99,    99,
2299 <      99,   159,   159,   159,   223,    99,    99,   223,    99,    99,
2300 <     117,    99,    99,   159,   159,   217,   159,   217,   223,   223,
2301 <     159,   159,   159,   159,   159,   160,   159,   160,   159,   159,
2302 <     223,   223,   117,   223,   159,   159,   159,   214,   214,   217,
2303 <     217,   331,   217,   217,   217,   217,   217,   215,   325,   217,
2304 <     390,   217,   215,   394,   214,   311,   217,   217,   217,   215,
2305 <     315,   159,   214,   216,   117,   117,   214,   214,   217,   217,
2306 <     288,   217,   217,   217,   284,   217,   215,   276,   214,   217,
2307 <     217,   217,   215,   340,   159,   159,   117,   159,   159,   223,
2308 <     214,   117,   159,   117,   117,   117,   117,   117,   117,   133,
2309 <     134,   236,   237,   133,   134,   238,   239,   117,   117,    99,
2310 <     117,   117,   214,   214,   217,   355,   217,   215,   351,   214,
2311 <     217,   364,   215,   361,   117,   214,   214,   214,   214,   214,
2312 <     214,   214,   137,   138,   139,   140,   141,   222,   223,   214,
2313 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2314 <      99,    99,   223,    99,    99,    99,    99,   117,    99,    99,
2315 <     223,    99,   225,   225,   214,   117,   177,   178,   117,   159,
2316 <     217,   117,   117,   117,   117,    99,   117,   117,   117,   214,
2317 <     117,   117,   214,   214,   117,   117,   217,   214,   214,   214,
2318 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2319 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2320 <     214,   214,   214,   214,   214,   214,   214,    51,   165,   166,
2321 <     167,   168,   169,   171,   172,   174,   175,   176,   179,   181,
2322 <     182,   184,   186,   188,   189,   192,   198,   470,   471,   214,
2323 <      51,   165,   166,   167,   168,   169,   171,   172,   174,   175,
2324 <     176,   179,   181,   182,   184,   186,   188,   189,   192,   198,
2325 <     466,   467,   214,   214,   214,   214,   214,   214,   214,   214,
2326 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2327 <     214,   117,   159,   217,   117,    99,   117,   117,   117,   214,
2328 <     117,   217,   117,   214,   217,   117,   117,    99,   318,   319,
2329 <     214,   214,     1,    89,   150,   212,   265,   266,   267,   268,
2330 <     269,   214,   214,   117,   159,   217,   117,   117,   117,   217,
2331 <     117,   214,   117,   117,   117,   214,   214,   214,   214,   214,
2332 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2333 <     214,   218,   214,   218,   214,   214,   214,   214,   214,   117,
2334 <     217,   117,   214,   117,   217,   214,   214,   222,   222,   222,
2335 <     222,   222,   214,   214,   214,   214,   214,   214,   214,   214,
2336 <     214,   214,   214,     9,    10,    11,   224,   225,   214,   214,
2337 <     214,   214,   214,   214,   214,     8,   190,   380,   381,   214,
2338 <     214,   214,   214,   214,   214,   214,   214,   214,   214,   214,
2339 <     214,   122,   411,   412,   214,   218,   214,   218,   214,   214,
2340 <      13,    33,    43,    49,    65,    90,    98,   136,   153,   332,
2341 <     333,   214,   214,   214,   214,   214,   214,   122,   391,   392,
2342 <     214,    51,   185,   190,   312,   313,   214,   214,   163,   218,
2343 <     317,   214,   217,   270,   217,   215,   266,   214,   214,     4,
2344 <      25,    40,    47,    64,    87,    94,   106,   123,   124,   125,
2345 <     173,   182,   187,   193,   197,   199,   204,   210,   289,   290,
2346 <     214,   214,   214,    51,   165,   166,   167,   168,   169,   171,
2347 <     172,   174,   175,   176,   179,   181,   182,   184,   186,   188,
2348 <     189,   192,   198,   285,   286,   214,   214,   214,   214,   237,
2349 <     239,   214,    64,   135,   164,   173,   179,   193,   195,   196,
2350 <     204,   210,   356,   357,   214,   214,    64,   135,   164,   173,
2351 <     179,   193,   195,   196,   204,   210,   365,   366,   224,   224,
2352 <     224,   214,   218,   214,   218,   471,   467,   214,   218,   214,
2353 <     218,   214,   218,    99,   319,   214,   117,   217,   194,   225,
2354 <     214,   214,   218,   214,   218,   214,   218,   214,   218,   381,
2355 <     412,   333,   392,   313,   214,    40,    62,    64,   102,   172,
2356 <     173,   205,   271,   272,   214,   214,   290,   286,   357,   366,
2357 <     214,   218,   272
2235 >       0,   228,     0,     1,     4,    14,    17,    18,    23,    34,
2236 >      38,    39,    48,    63,    71,    72,    95,   108,   139,   150,
2237 >     151,   154,   155,   208,   229,   234,   239,   263,   269,   283,
2238 >     301,   324,   338,   353,   360,   364,   374,   383,   403,   409,
2239 >     415,   419,   425,   482,   498,   222,   223,   224,   224,   302,
2240 >     384,   410,   224,   420,   224,   339,   404,   325,   224,   224,
2241 >     284,   354,   224,   224,   365,   375,   224,     1,    24,    31,
2242 >      96,   264,   265,   266,   267,   268,     1,    21,    22,    27,
2243 >      67,    68,    75,    76,    77,   101,   102,   114,   115,   124,
2244 >     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
2245 >     493,   494,   495,   496,   497,   224,   224,   224,     1,    62,
2246 >     416,   417,   418,   224,     1,     6,     7,    12,    20,    26,
2247 >      28,    29,    30,    35,    41,    42,    44,    45,    46,    50,
2248 >      56,    60,    61,    64,    74,    81,    83,    85,    87,    88,
2249 >      89,   103,   109,   110,   111,   113,   116,   117,   120,   153,
2250 >     157,   160,   161,   162,   163,   164,   167,   168,   209,   210,
2251 >     211,   214,   219,   426,   427,   428,   429,   430,   431,   432,
2252 >     433,   434,   435,   436,   437,   438,   439,   440,   441,   442,
2253 >     443,   444,   445,   446,   447,   448,   449,   450,   451,   452,
2254 >     453,   454,   455,   456,   457,   458,   459,   460,   461,   462,
2255 >     463,   464,   465,   466,   467,   468,   469,   470,   471,   475,
2256 >     479,   480,   481,   224,   224,   224,     1,   215,   270,   271,
2257 >     272,   273,   274,     1,    94,   119,   235,   236,   237,   238,
2258 >     224,   224,     1,    37,    51,    52,    53,    54,    55,    70,
2259 >     499,   500,   501,   502,   503,   504,   505,   506,   507,     1,
2260 >      24,    58,    82,    86,    96,    98,    99,   131,   133,   134,
2261 >     135,   136,   152,   176,   186,   216,   217,   240,   241,   242,
2262 >     243,   248,   249,   250,   251,   252,   253,   254,   255,   256,
2263 >     257,   258,   259,   260,   261,   262,   224,   224,     1,    96,
2264 >     361,   362,   363,   222,   225,   225,   225,   223,   265,   225,
2265 >     225,   225,   225,   225,   225,   225,   225,   225,   225,   225,
2266 >     225,   225,   223,   484,     1,    15,    16,    19,    36,    78,
2267 >      79,    80,    84,    90,    91,    96,   106,   107,   121,   148,
2268 >     190,   303,   304,   305,   306,   307,   308,   309,   310,   311,
2269 >     312,   313,   314,   315,   316,   317,   318,   319,   320,     1,
2270 >       3,     5,    17,    32,    36,    57,    59,    69,    96,   122,
2271 >     149,   176,   216,   385,   386,   387,   388,   389,   390,   391,
2272 >     392,   393,   394,   398,   399,   400,   401,   402,     1,    62,
2273 >     125,   411,   412,   413,   414,   225,   223,   417,     1,    96,
2274 >     125,   421,   422,   423,   424,   225,   225,   225,   225,   225,
2275 >     225,   225,   225,   225,   225,   225,   225,   225,   225,   225,
2276 >     225,   225,   225,   225,   225,   225,   225,   225,   225,   225,
2277 >     225,   225,   225,   476,   225,   472,   225,   225,   225,   225,
2278 >     225,   225,   225,   225,   225,   225,   225,   225,   225,   225,
2279 >     225,   225,   225,   223,   427,     1,    17,    32,    36,   118,
2280 >     126,   127,   158,   213,   340,   341,   342,   343,   344,   345,
2281 >     346,   350,   351,   352,     1,   125,   213,   405,   406,   407,
2282 >     408,     1,    36,    57,    62,   122,   326,   330,   331,   332,
2283 >     336,   337,   222,   225,   223,   271,   221,   222,   225,   225,
2284 >     223,   236,     1,    17,    32,    36,    96,   118,   132,   198,
2285 >     213,   285,   286,   287,   288,   289,   290,   291,   292,   293,
2286 >     297,     1,    34,    73,   125,   355,   356,   357,   358,   359,
2287 >     225,   225,   225,   225,   225,   225,   225,   223,   500,   222,
2288 >     225,   225,   225,   225,   225,   225,   225,   225,   225,   225,
2289 >     225,   225,   225,   225,   225,   225,   225,   223,   241,     1,
2290 >      96,   156,   213,   366,   367,   368,   369,   370,     1,    96,
2291 >     156,   376,   377,   378,   379,   225,   223,   362,   123,   123,
2292 >     123,   222,   105,   105,   165,   105,   231,   231,   105,   105,
2293 >     105,   165,   165,   105,   231,   165,   222,   222,   225,   225,
2294 >     225,   321,   225,   225,   225,   225,   225,   225,   225,   225,
2295 >     225,   225,   225,   225,   223,   304,   222,   225,   225,   225,
2296 >     225,   395,   225,   225,   225,   225,   225,   225,   225,   225,
2297 >     223,   386,   225,   225,   223,   412,   123,   222,   225,   225,
2298 >     223,   422,   165,   231,   231,   105,   165,   165,   105,   123,
2299 >     165,   231,   165,   231,   105,   105,   105,   165,   165,   165,
2300 >     231,   105,   105,   231,   105,   105,   105,   105,   165,   165,
2301 >     225,   165,   225,   231,   231,   165,   165,   165,   165,   165,
2302 >     166,   165,   166,   165,   165,   231,   231,   123,   231,   165,
2303 >     165,   165,   222,   222,   225,   225,   347,   225,   225,   225,
2304 >     225,   225,   223,   341,   225,   225,   223,   406,   222,   327,
2305 >     225,   225,   225,   223,   331,   165,   222,   224,   123,   123,
2306 >     222,   222,   225,   225,   298,   225,   225,   225,   294,   225,
2307 >     223,   286,   222,   225,   225,   225,   223,   356,   165,   165,
2308 >     123,   165,   165,   165,   231,   222,   123,   165,   105,   105,
2309 >     123,   123,   123,   123,   123,   123,   137,   138,   244,   245,
2310 >     137,   138,   246,   247,   123,   123,   105,   123,   123,   222,
2311 >     222,   225,   371,   225,   223,   367,   222,   225,   380,   223,
2312 >     377,   123,   222,   222,   222,   222,   222,   222,   222,   141,
2313 >     142,   143,   144,   145,   146,   147,   230,   231,   222,   222,
2314 >     222,   222,   222,   222,   222,   222,   222,   222,   105,   105,
2315 >     231,   225,   105,   105,   105,   105,   231,   231,   123,   105,
2316 >     105,   231,   105,   233,   233,   222,   123,   183,   184,   123,
2317 >     165,   225,   123,   123,   123,   123,   105,   123,   123,   123,
2318 >     222,   123,   123,   222,   222,   123,   123,   222,   222,   222,
2319 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2320 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2321 >     222,   222,   222,   222,   222,   222,    51,   171,   172,   173,
2322 >     174,   175,   177,   178,   180,   181,   182,   185,   187,   188,
2323 >     189,   191,   193,   195,   196,   199,   205,   477,   478,   222,
2324 >      51,   171,   172,   173,   174,   175,   177,   178,   180,   181,
2325 >     182,   185,   187,   189,   191,   193,   195,   196,   199,   205,
2326 >     473,   474,   222,   222,   222,   222,   222,   222,   222,   222,
2327 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2328 >     222,   123,   165,   225,   123,   105,   123,   123,   123,   222,
2329 >     123,   123,   222,   225,   123,   123,   105,   334,   335,   222,
2330 >     222,     1,    96,   156,   220,   275,   276,   277,   278,   279,
2331 >     222,   222,   123,   165,   225,   123,   123,   123,   225,   123,
2332 >     222,   123,   123,   123,   222,   222,   222,   222,   222,   222,
2333 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2334 >     222,   222,   222,   226,   222,   226,   222,   222,   222,   222,
2335 >     222,   123,   225,   123,   222,   123,   225,   222,   222,   230,
2336 >     230,   230,   230,   230,   230,   230,   222,   222,   222,    92,
2337 >      93,   322,   323,   222,   222,   222,   222,   222,   222,   222,
2338 >     222,   222,   222,     9,    10,    11,   232,   233,   222,   222,
2339 >     222,   222,   222,   222,   222,     8,   197,   396,   397,   222,
2340 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
2341 >     222,   222,   226,   222,   226,   222,   222,    13,    33,    43,
2342 >      49,    66,    97,   104,   140,   159,   206,   348,   349,   222,
2343 >     222,   222,   222,   222,   222,   222,    51,   192,   197,   328,
2344 >     329,   222,   222,   169,   226,   333,   222,   225,   280,   225,
2345 >     223,   276,   222,   222,     4,    25,    40,    47,    65,    94,
2346 >     112,   128,   129,   130,   179,   189,   194,   200,   204,   207,
2347 >     212,   218,   299,   300,   222,   222,   222,    51,   171,   172,
2348 >     173,   174,   175,   177,   178,   180,   181,   182,   185,   187,
2349 >     188,   189,   191,   193,   195,   196,   199,   205,   295,   296,
2350 >     222,   222,   222,   222,   245,   247,   222,    65,   139,   170,
2351 >     179,   185,   200,   202,   203,   212,   218,   372,   373,   222,
2352 >     222,    65,   139,   170,   179,   185,   200,   202,   203,   212,
2353 >     218,   381,   382,   222,   226,   232,   232,   232,   222,   226,
2354 >     478,   474,   222,   226,   222,   226,   105,   335,   222,   123,
2355 >     225,   201,   233,   222,   222,   226,   222,   226,   222,   226,
2356 >     222,   226,   323,   397,   349,   329,   222,    40,    63,    65,
2357 >     108,   178,   179,   213,   281,   282,   222,   222,   300,   296,
2358 >     373,   382,   222,   226,   282
2359   };
2360  
2361   #define yyerrok         (yyerrstatus = 0)
# Line 2439 | Line 2473 | yy_symbol_value_print (yyoutput, yytype,
2473   # else
2474    YYUSE (yyoutput);
2475   # endif
2476 <  switch (yytype)
2443 <    {
2444 <      default:
2445 <        break;
2446 <    }
2476 >  YYUSE (yytype);
2477   }
2478  
2479  
# Line 2833 | Line 2863 | yydestruct (yymsg, yytype, yyvaluep)
2863      yymsg = "Deleting";
2864    YY_SYMBOL_PRINT (yymsg, yytype, yyvaluep, yylocationp);
2865  
2866 <  switch (yytype)
2837 <    {
2838 <
2839 <      default:
2840 <        break;
2841 <    }
2866 >  YYUSE (yytype);
2867   }
2868  
2869  
# Line 3122 | Line 3147 | yyreduce:
3147    switch (yyn)
3148      {
3149          case 26:
3150 < /* Line 1792 of yacc.c  */
3151 < #line 383 "conf_parser.y"
3150 > /* Line 1787 of yacc.c  */
3151 > #line 392 "conf_parser.y"
3152      { (yyval.number) = 0; }
3153      break;
3154  
3155    case 28:
3156 < /* Line 1792 of yacc.c  */
3157 < #line 385 "conf_parser.y"
3156 > /* Line 1787 of yacc.c  */
3157 > #line 394 "conf_parser.y"
3158      {
3159                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3160                  }
3161      break;
3162  
3163    case 29:
3164 < /* Line 1792 of yacc.c  */
3165 < #line 389 "conf_parser.y"
3164 > /* Line 1787 of yacc.c  */
3165 > #line 398 "conf_parser.y"
3166      {
3167                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3168                  }
3169      break;
3170  
3171    case 30:
3172 < /* Line 1792 of yacc.c  */
3173 < #line 393 "conf_parser.y"
3172 > /* Line 1787 of yacc.c  */
3173 > #line 402 "conf_parser.y"
3174      {
3175                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3176                  }
3177      break;
3178  
3179    case 31:
3180 < /* Line 1792 of yacc.c  */
3181 < #line 397 "conf_parser.y"
3180 > /* Line 1787 of yacc.c  */
3181 > #line 406 "conf_parser.y"
3182      {
3183                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3184                  }
3185      break;
3186  
3187    case 32:
3188 < /* Line 1792 of yacc.c  */
3189 < #line 401 "conf_parser.y"
3188 > /* Line 1787 of yacc.c  */
3189 > #line 410 "conf_parser.y"
3190      {
3191                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3192                  }
3193      break;
3194  
3195    case 33:
3196 < /* Line 1792 of yacc.c  */
3197 < #line 405 "conf_parser.y"
3196 > /* Line 1787 of yacc.c  */
3197 > #line 414 "conf_parser.y"
3198      {
3199                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3200                  }
3201      break;
3202  
3203    case 34:
3204 < /* Line 1792 of yacc.c  */
3205 < #line 410 "conf_parser.y"
3206 <    { (yyval.number) = 0; }
3204 > /* Line 1787 of yacc.c  */
3205 > #line 418 "conf_parser.y"
3206 >    {
3207 >                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[(3) - (3)].number);
3208 >                }
3209 >    break;
3210 >
3211 >  case 35:
3212 > /* Line 1787 of yacc.c  */
3213 > #line 422 "conf_parser.y"
3214 >    {
3215 >                        (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 365 + (yyvsp[(3) - (3)].number);
3216 >                }
3217      break;
3218  
3219    case 36:
3220 < /* Line 1792 of yacc.c  */
3221 < #line 411 "conf_parser.y"
3220 > /* Line 1787 of yacc.c  */
3221 > #line 427 "conf_parser.y"
3222 >    { (yyval.number) = 0; }
3223 >    break;
3224 >
3225 >  case 38:
3226 > /* Line 1787 of yacc.c  */
3227 > #line 428 "conf_parser.y"
3228      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3229      break;
3230  
3231 <  case 37:
3232 < /* Line 1792 of yacc.c  */
3233 < #line 412 "conf_parser.y"
3231 >  case 39:
3232 > /* Line 1787 of yacc.c  */
3233 > #line 429 "conf_parser.y"
3234      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3235      break;
3236  
3237 <  case 38:
3238 < /* Line 1792 of yacc.c  */
3239 < #line 413 "conf_parser.y"
3237 >  case 40:
3238 > /* Line 1787 of yacc.c  */
3239 > #line 430 "conf_parser.y"
3240      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3241      break;
3242  
3243 <  case 39:
3244 < /* Line 1792 of yacc.c  */
3245 < #line 414 "conf_parser.y"
3243 >  case 41:
3244 > /* Line 1787 of yacc.c  */
3245 > #line 431 "conf_parser.y"
3246      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3247      break;
3248  
3249 <  case 46:
3250 < /* Line 1792 of yacc.c  */
3251 < #line 428 "conf_parser.y"
3249 >  case 48:
3250 > /* Line 1787 of yacc.c  */
3251 > #line 445 "conf_parser.y"
3252      {
3253    if (conf_parser_ctx.pass == 2)
3254      add_conf_module(libio_basename(yylval.string));
3255   }
3256      break;
3257  
3258 <  case 47:
3259 < /* Line 1792 of yacc.c  */
3260 < #line 434 "conf_parser.y"
3258 >  case 49:
3259 > /* Line 1787 of yacc.c  */
3260 > #line 451 "conf_parser.y"
3261      {
3262    if (conf_parser_ctx.pass == 2)
3263      mod_add_path(yylval.string);
3264   }
3265      break;
3266  
3267 <  case 71:
3268 < /* Line 1792 of yacc.c  */
3269 < #line 459 "conf_parser.y"
3267 >  case 75:
3268 > /* Line 1787 of yacc.c  */
3269 > #line 477 "conf_parser.y"
3270      {
3271   #ifdef HAVE_LIBCRYPTO
3272    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3234 | Line 3275 | yyreduce:
3275   }
3276      break;
3277  
3278 <  case 72:
3279 < /* Line 1792 of yacc.c  */
3280 < #line 465 "conf_parser.y"
3278 >  case 76:
3279 > /* Line 1787 of yacc.c  */
3280 > #line 483 "conf_parser.y"
3281      {
3282   #ifdef HAVE_LIBCRYPTO
3283    if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
# Line 3245 | Line 3286 | yyreduce:
3286   }
3287      break;
3288  
3289 <  case 75:
3290 < /* Line 1792 of yacc.c  */
3291 < #line 474 "conf_parser.y"
3289 >  case 79:
3290 > /* Line 1787 of yacc.c  */
3291 > #line 492 "conf_parser.y"
3292      {
3293   #ifdef HAVE_LIBCRYPTO
3294    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3256 | Line 3297 | yyreduce:
3297   }
3298      break;
3299  
3300 <  case 76:
3301 < /* Line 1792 of yacc.c  */
3302 < #line 480 "conf_parser.y"
3300 >  case 80:
3301 > /* Line 1787 of yacc.c  */
3302 > #line 498 "conf_parser.y"
3303      {
3304   #ifdef HAVE_LIBCRYPTO
3305    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3267 | Line 3308 | yyreduce:
3308   }
3309      break;
3310  
3311 <  case 77:
3312 < /* Line 1792 of yacc.c  */
3313 < #line 488 "conf_parser.y"
3311 >  case 81:
3312 > /* Line 1787 of yacc.c  */
3313 > #line 506 "conf_parser.y"
3314      {
3315   #ifdef HAVE_LIBCRYPTO
3316    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3317    {
3318      if (!ServerInfo.rsa_private_key_file)
3319      {
3320 <      yyerror("No rsa_private_key_file specified, SSL disabled");
3320 >      conf_error_report("No rsa_private_key_file specified, SSL disabled");
3321        break;
3322      }
3323  
# Line 3285 | Line 3326 | yyreduce:
3326          SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3327                                       SSL_FILETYPE_PEM) <= 0)
3328      {
3329 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3329 >      report_crypto_errors();
3330 >      conf_error_report("Could not open/read certificate file");
3331        break;
3332      }
3333  
# Line 3294 | Line 3336 | yyreduce:
3336          SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3337                                      SSL_FILETYPE_PEM) <= 0)
3338      {
3339 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3339 >      report_crypto_errors();
3340 >      conf_error_report("Could not read RSA private key");
3341        break;
3342      }
3343  
3344      if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3345          !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3346      {
3347 <      yyerror(ERR_lib_error_string(ERR_get_error()));
3347 >      report_crypto_errors();
3348 >      conf_error_report("Could not read RSA private key");
3349        break;
3350      }
3351    }
# Line 3309 | Line 3353 | yyreduce:
3353   }
3354      break;
3355  
3356 <  case 78:
3357 < /* Line 1792 of yacc.c  */
3358 < #line 527 "conf_parser.y"
3356 >  case 82:
3357 > /* Line 1787 of yacc.c  */
3358 > #line 548 "conf_parser.y"
3359      {
3360   #ifdef HAVE_LIBCRYPTO
3361    if (conf_parser_ctx.pass == 1)
# Line 3334 | Line 3378 | yyreduce:
3378  
3379      if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3380      {
3381 <      yyerror("File open failed, ignoring");
3381 >      conf_error_report("File open failed, ignoring");
3382        break;
3383      }
3384  
# Line 3345 | Line 3389 | yyreduce:
3389  
3390      if (ServerInfo.rsa_private_key == NULL)
3391      {
3392 <      yyerror("Couldn't extract key, ignoring");
3392 >      conf_error_report("Couldn't extract key, ignoring");
3393        break;
3394      }
3395  
# Line 3354 | Line 3398 | yyreduce:
3398        RSA_free(ServerInfo.rsa_private_key);
3399        ServerInfo.rsa_private_key = NULL;
3400  
3401 <      yyerror("Invalid key, ignoring");
3401 >      conf_error_report("Invalid key, ignoring");
3402        break;
3403      }
3404  
# Line 3364 | Line 3408 | yyreduce:
3408        RSA_free(ServerInfo.rsa_private_key);
3409        ServerInfo.rsa_private_key = NULL;
3410  
3411 <      yyerror("Not a 2048 bit key, ignoring");
3411 >      conf_error_report("Not a 2048 bit key, ignoring");
3412      }
3413    }
3414   #endif
3415   }
3416      break;
3417  
3418 <  case 79:
3419 < /* Line 1792 of yacc.c  */
3420 < #line 586 "conf_parser.y"
3418 >  case 83:
3419 > /* Line 1787 of yacc.c  */
3420 > #line 607 "conf_parser.y"
3421      {
3422   /* TBD - XXX: error reporting */
3423   #ifdef HAVE_LIBCRYPTO
# Line 3390 | Line 3434 | yyreduce:
3434        if (dh)
3435        {
3436          if (DH_size(dh) < 128)
3437 <          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3437 >          conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3438          else
3439            SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3440  
# Line 3402 | Line 3446 | yyreduce:
3446   }
3447      break;
3448  
3449 <  case 80:
3450 < /* Line 1792 of yacc.c  */
3451 < #line 614 "conf_parser.y"
3449 >  case 84:
3450 > /* Line 1787 of yacc.c  */
3451 > #line 635 "conf_parser.y"
3452      {
3453   #ifdef HAVE_LIBCRYPTO
3454    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3413 | Line 3457 | yyreduce:
3457   }
3458      break;
3459  
3460 <  case 81:
3461 < /* Line 1792 of yacc.c  */
3462 < #line 622 "conf_parser.y"
3460 >  case 85:
3461 > /* Line 1787 of yacc.c  */
3462 > #line 643 "conf_parser.y"
3463      {
3464    /* this isn't rehashable */
3465    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3424 | Line 3468 | yyreduce:
3468        ServerInfo.name = xstrdup(yylval.string);
3469      else
3470      {
3471 <      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3471 >      conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
3472        exit(0);
3473      }
3474    }
3475   }
3476      break;
3477  
3478 <  case 82:
3479 < /* Line 1792 of yacc.c  */
3480 < #line 637 "conf_parser.y"
3478 >  case 86:
3479 > /* Line 1787 of yacc.c  */
3480 > #line 658 "conf_parser.y"
3481      {
3482    /* this isn't rehashable */
3483    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3442 | Line 3486 | yyreduce:
3486        ServerInfo.sid = xstrdup(yylval.string);
3487      else
3488      {
3489 <      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3489 >      conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
3490        exit(0);
3491      }
3492    }
3493   }
3494      break;
3495  
3496 <  case 83:
3497 < /* Line 1792 of yacc.c  */
3498 < #line 652 "conf_parser.y"
3496 >  case 87:
3497 > /* Line 1787 of yacc.c  */
3498 > #line 673 "conf_parser.y"
3499      {
3500    if (conf_parser_ctx.pass == 2)
3501    {
# Line 3461 | Line 3505 | yyreduce:
3505   }
3506      break;
3507  
3508 <  case 84:
3509 < /* Line 1792 of yacc.c  */
3510 < #line 661 "conf_parser.y"
3508 >  case 88:
3509 > /* Line 1787 of yacc.c  */
3510 > #line 682 "conf_parser.y"
3511      {
3512    if (conf_parser_ctx.pass == 2)
3513    {
# Line 3478 | Line 3522 | yyreduce:
3522   }
3523      break;
3524  
3525 <  case 85:
3526 < /* Line 1792 of yacc.c  */
3527 < #line 675 "conf_parser.y"
3525 >  case 89:
3526 > /* Line 1787 of yacc.c  */
3527 > #line 696 "conf_parser.y"
3528      {
3529    if (conf_parser_ctx.pass == 2)
3530    {
# Line 3490 | Line 3534 | yyreduce:
3534   }
3535      break;
3536  
3537 <  case 86:
3538 < /* Line 1792 of yacc.c  */
3539 < #line 684 "conf_parser.y"
3537 >  case 90:
3538 > /* Line 1787 of yacc.c  */
3539 > #line 705 "conf_parser.y"
3540      {
3541    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3542    {
# Line 3521 | Line 3565 | yyreduce:
3565   }
3566      break;
3567  
3568 <  case 87:
3569 < /* Line 1792 of yacc.c  */
3570 < #line 712 "conf_parser.y"
3568 >  case 91:
3569 > /* Line 1787 of yacc.c  */
3570 > #line 733 "conf_parser.y"
3571      {
3572   #ifdef IPV6
3573    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3554 | Line 3598 | yyreduce:
3598   }
3599      break;
3600  
3601 <  case 88:
3602 < /* Line 1792 of yacc.c  */
3603 < #line 742 "conf_parser.y"
3601 >  case 92:
3602 > /* Line 1787 of yacc.c  */
3603 > #line 763 "conf_parser.y"
3604      {
3605 <  if (conf_parser_ctx.pass == 2)
3605 >  if (conf_parser_ctx.pass != 2)
3606 >    break;
3607 >
3608 >  if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3609 >  {
3610 >    char buf[IRCD_BUFSIZE];
3611 >
3612 >    snprintf(buf, sizeof(buf), "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3613 >    conf_error_report(buf);
3614 >    ServerInfo.max_clients = MAXCLIENTS_MIN;
3615 >  }
3616 >  else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3617    {
3618 <    recalc_fdlimit(NULL);
3618 >    char buf[IRCD_BUFSIZE];
3619 >
3620 >    snprintf(buf, sizeof(buf), "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3621 >    conf_error_report(buf);
3622 >    ServerInfo.max_clients = MAXCLIENTS_MAX;
3623 >  }
3624 >  else
3625 >    ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3626 > }
3627 >    break;
3628  
3629 <    if ((yyvsp[(3) - (4)].number) < MAXCLIENTS_MIN)
3629 >  case 93:
3630 > /* Line 1787 of yacc.c  */
3631 > #line 788 "conf_parser.y"
3632      {
3633 <      char buf[IRCD_BUFSIZE];
3634 <      ircsprintf(buf, "MAXCLIENTS too low, setting to %d", MAXCLIENTS_MIN);
3635 <      yyerror(buf);
3636 <    }
3637 <    else if ((yyvsp[(3) - (4)].number) > MAXCLIENTS_MAX)
3633 >  if (conf_parser_ctx.pass != 2)
3634 >    break;
3635 >
3636 >  if ((yyvsp[(3) - (4)].number) < 9)
3637 >  {
3638 >    conf_error_report("max_nick_length too low, setting to 9");
3639 >    ServerInfo.max_nick_length = 9;
3640 >  }
3641 >  else if ((yyvsp[(3) - (4)].number) > NICKLEN)
3642 >  {
3643 >    char buf[IRCD_BUFSIZE];
3644 >
3645 >    snprintf(buf, sizeof(buf), "max_nick_length too high, setting to %d", NICKLEN);
3646 >    conf_error_report(buf);
3647 >    ServerInfo.max_nick_length = NICKLEN;
3648 >  }
3649 >  else
3650 >    ServerInfo.max_nick_length = (yyvsp[(3) - (4)].number);
3651 > }
3652 >    break;
3653 >
3654 >  case 94:
3655 > /* Line 1787 of yacc.c  */
3656 > #line 810 "conf_parser.y"
3657      {
3658 <      char buf[IRCD_BUFSIZE];
3659 <      ircsprintf(buf, "MAXCLIENTS too high, setting to %d", MAXCLIENTS_MAX);
3660 <      yyerror(buf);
3661 <    }
3662 <    else
3663 <      ServerInfo.max_clients = (yyvsp[(3) - (4)].number);
3658 >  if (conf_parser_ctx.pass != 2)
3659 >    break;
3660 >
3661 >  if ((yyvsp[(3) - (4)].number) < 80)
3662 >  {
3663 >    conf_error_report("max_topic_length too low, setting to 80");
3664 >    ServerInfo.max_topic_length = 80;
3665    }
3666 +  else if ((yyvsp[(3) - (4)].number) > TOPICLEN)
3667 +  {
3668 +    char buf[IRCD_BUFSIZE];
3669 +
3670 +    snprintf(buf, sizeof(buf), "max_topic_length too high, setting to %d", TOPICLEN);
3671 +    conf_error_report(buf);
3672 +    ServerInfo.max_topic_length = TOPICLEN;
3673 +  }
3674 +  else
3675 +    ServerInfo.max_topic_length = (yyvsp[(3) - (4)].number);
3676   }
3677      break;
3678  
3679 <  case 89:
3680 < /* Line 1792 of yacc.c  */
3681 < #line 765 "conf_parser.y"
3679 >  case 95:
3680 > /* Line 1787 of yacc.c  */
3681 > #line 832 "conf_parser.y"
3682      {
3683    if (conf_parser_ctx.pass == 2)
3684      ServerInfo.hub = yylval.number;
3685   }
3686      break;
3687  
3688 <  case 97:
3689 < /* Line 1792 of yacc.c  */
3690 < #line 780 "conf_parser.y"
3688 >  case 103:
3689 > /* Line 1787 of yacc.c  */
3690 > #line 847 "conf_parser.y"
3691      {
3692    if (conf_parser_ctx.pass == 2)
3693    {
# Line 3601 | Line 3697 | yyreduce:
3697   }
3698      break;
3699  
3700 <  case 98:
3701 < /* Line 1792 of yacc.c  */
3702 < #line 789 "conf_parser.y"
3700 >  case 104:
3701 > /* Line 1787 of yacc.c  */
3702 > #line 856 "conf_parser.y"
3703      {
3704    if (conf_parser_ctx.pass == 2)
3705    {
# Line 3613 | Line 3709 | yyreduce:
3709   }
3710      break;
3711  
3712 <  case 99:
3713 < /* Line 1792 of yacc.c  */
3714 < #line 798 "conf_parser.y"
3712 >  case 105:
3713 > /* Line 1787 of yacc.c  */
3714 > #line 865 "conf_parser.y"
3715      {
3716    if (conf_parser_ctx.pass == 2)
3717    {
# Line 3625 | Line 3721 | yyreduce:
3721   }
3722      break;
3723  
3724 <  case 106:
3725 < /* Line 1792 of yacc.c  */
3726 < #line 816 "conf_parser.y"
3724 >  case 112:
3725 > /* Line 1787 of yacc.c  */
3726 > #line 883 "conf_parser.y"
3727      {
3728    if (conf_parser_ctx.pass == 2)
3729      ConfigLoggingEntry.use_logging = yylval.number;
3730   }
3731      break;
3732  
3733 <  case 107:
3734 < /* Line 1792 of yacc.c  */
3735 < #line 822 "conf_parser.y"
3733 >  case 113:
3734 > /* Line 1787 of yacc.c  */
3735 > #line 889 "conf_parser.y"
3736      {
3737    if (conf_parser_ctx.pass == 2)
3738      reset_block_state();
3739   }
3740      break;
3741  
3742 <  case 108:
3743 < /* Line 1792 of yacc.c  */
3744 < #line 826 "conf_parser.y"
3742 >  case 114:
3743 > /* Line 1787 of yacc.c  */
3744 > #line 893 "conf_parser.y"
3745      {
3746    if (conf_parser_ctx.pass != 2)
3747      break;
3748  
3749    if (block_state.type.value && block_state.file.buf[0])
3750 <    log_add_file(block_state.type.value, block_state.size.value,
3750 >    log_set_file(block_state.type.value, block_state.size.value,
3751                   block_state.file.buf);
3752   }
3753      break;
3754  
3755 <  case 115:
3756 < /* Line 1792 of yacc.c  */
3757 < #line 842 "conf_parser.y"
3755 >  case 121:
3756 > /* Line 1787 of yacc.c  */
3757 > #line 909 "conf_parser.y"
3758      {
3759    if (conf_parser_ctx.pass != 2)
3760      break;
# Line 3667 | Line 3763 | yyreduce:
3763   }
3764      break;
3765  
3766 <  case 116:
3767 < /* Line 1792 of yacc.c  */
3768 < #line 850 "conf_parser.y"
3766 >  case 122:
3767 > /* Line 1787 of yacc.c  */
3768 > #line 917 "conf_parser.y"
3769      {
3770    block_state.size.value = (yyvsp[(3) - (4)].number);
3771   }
3772      break;
3773  
3774 <  case 117:
3775 < /* Line 1792 of yacc.c  */
3776 < #line 853 "conf_parser.y"
3774 >  case 123:
3775 > /* Line 1787 of yacc.c  */
3776 > #line 920 "conf_parser.y"
3777      {
3778    block_state.size.value = 0;
3779   }
3780      break;
3781  
3782 <  case 118:
3783 < /* Line 1792 of yacc.c  */
3784 < #line 858 "conf_parser.y"
3782 >  case 124:
3783 > /* Line 1787 of yacc.c  */
3784 > #line 925 "conf_parser.y"
3785      {
3786    if (conf_parser_ctx.pass == 2)
3787      block_state.type.value = 0;
3788   }
3789      break;
3790  
3791 <  case 122:
3792 < /* Line 1792 of yacc.c  */
3793 < #line 865 "conf_parser.y"
3791 >  case 128:
3792 > /* Line 1787 of yacc.c  */
3793 > #line 932 "conf_parser.y"
3794      {
3795    if (conf_parser_ctx.pass == 2)
3796      block_state.type.value = LOG_TYPE_USER;
3797   }
3798      break;
3799  
3800 <  case 123:
3801 < /* Line 1792 of yacc.c  */
3802 < #line 869 "conf_parser.y"
3800 >  case 129:
3801 > /* Line 1787 of yacc.c  */
3802 > #line 936 "conf_parser.y"
3803      {
3804    if (conf_parser_ctx.pass == 2)
3805      block_state.type.value = LOG_TYPE_OPER;
3806   }
3807      break;
3808  
3809 <  case 124:
3810 < /* Line 1792 of yacc.c  */
3811 < #line 873 "conf_parser.y"
3809 >  case 130:
3810 > /* Line 1787 of yacc.c  */
3811 > #line 940 "conf_parser.y"
3812      {
3813    if (conf_parser_ctx.pass == 2)
3814      block_state.type.value = LOG_TYPE_GLINE;
3815   }
3816      break;
3817  
3818 <  case 125:
3819 < /* Line 1792 of yacc.c  */
3820 < #line 877 "conf_parser.y"
3818 >  case 131:
3819 > /* Line 1787 of yacc.c  */
3820 > #line 944 "conf_parser.y"
3821      {
3822    if (conf_parser_ctx.pass == 2)
3823      block_state.type.value = LOG_TYPE_DLINE;
3824   }
3825      break;
3826  
3827 <  case 126:
3828 < /* Line 1792 of yacc.c  */
3829 < #line 881 "conf_parser.y"
3827 >  case 132:
3828 > /* Line 1787 of yacc.c  */
3829 > #line 948 "conf_parser.y"
3830      {
3831    if (conf_parser_ctx.pass == 2)
3832      block_state.type.value = LOG_TYPE_KLINE;
3833   }
3834      break;
3835  
3836 <  case 127:
3837 < /* Line 1792 of yacc.c  */
3838 < #line 885 "conf_parser.y"
3836 >  case 133:
3837 > /* Line 1787 of yacc.c  */
3838 > #line 952 "conf_parser.y"
3839      {
3840    if (conf_parser_ctx.pass == 2)
3841      block_state.type.value = LOG_TYPE_KILL;
3842   }
3843      break;
3844  
3845 <  case 128:
3846 < /* Line 1792 of yacc.c  */
3847 < #line 889 "conf_parser.y"
3845 >  case 134:
3846 > /* Line 1787 of yacc.c  */
3847 > #line 956 "conf_parser.y"
3848      {
3849    if (conf_parser_ctx.pass == 2)
3850      block_state.type.value = LOG_TYPE_DEBUG;
3851   }
3852      break;
3853  
3854 <  case 129:
3855 < /* Line 1792 of yacc.c  */
3856 < #line 899 "conf_parser.y"
3854 >  case 135:
3855 > /* Line 1787 of yacc.c  */
3856 > #line 966 "conf_parser.y"
3857      {
3858    if (conf_parser_ctx.pass != 2)
3859      break;
# Line 3767 | Line 3863 | yyreduce:
3863   }
3864      break;
3865  
3866 <  case 130:
3867 < /* Line 1792 of yacc.c  */
3868 < #line 906 "conf_parser.y"
3866 >  case 136:
3867 > /* Line 1787 of yacc.c  */
3868 > #line 973 "conf_parser.y"
3869      {
3870    dlink_node *ptr = NULL;
3871  
# Line 3824 | Line 3920 | yyreduce:
3920  
3921        if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3922        {
3923 <        yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
3923 >        conf_error_report("Ignoring rsa_public_key_file -- file doesn't exist");
3924          break;
3925        }
3926  
3927        if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3928 <      {
3833 <        yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3834 <        break;
3835 <      }
3928 >        conf_error_report("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
3929  
3930        conf->rsa_public_key = pkey;
3931        BIO_set_close(file, BIO_CLOSE);
# Line 3843 | Line 3936 | yyreduce:
3936   }
3937      break;
3938  
3939 <  case 142:
3940 < /* Line 1792 of yacc.c  */
3941 < #line 984 "conf_parser.y"
3939 >  case 148:
3940 > /* Line 1787 of yacc.c  */
3941 > #line 1048 "conf_parser.y"
3942      {
3943    if (conf_parser_ctx.pass == 2)
3944      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3945   }
3946      break;
3947  
3948 <  case 143:
3949 < /* Line 1792 of yacc.c  */
3950 < #line 990 "conf_parser.y"
3948 >  case 149:
3949 > /* Line 1787 of yacc.c  */
3950 > #line 1054 "conf_parser.y"
3951      {
3952    if (conf_parser_ctx.pass == 2)
3953      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3954   }
3955      break;
3956  
3957 <  case 144:
3958 < /* Line 1792 of yacc.c  */
3959 < #line 996 "conf_parser.y"
3957 >  case 150:
3958 > /* Line 1787 of yacc.c  */
3959 > #line 1060 "conf_parser.y"
3960      {
3961    if (conf_parser_ctx.pass == 2)
3962      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3963   }
3964      break;
3965  
3966 <  case 145:
3967 < /* Line 1792 of yacc.c  */
3968 < #line 1002 "conf_parser.y"
3966 >  case 151:
3967 > /* Line 1787 of yacc.c  */
3968 > #line 1066 "conf_parser.y"
3969      {
3970    if (conf_parser_ctx.pass == 2)
3971    {
# Line 3884 | Line 3977 | yyreduce:
3977   }
3978      break;
3979  
3980 <  case 146:
3981 < /* Line 1792 of yacc.c  */
3982 < #line 1013 "conf_parser.y"
3980 >  case 152:
3981 > /* Line 1787 of yacc.c  */
3982 > #line 1077 "conf_parser.y"
3983      {
3984    if (conf_parser_ctx.pass == 2)
3985      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3986   }
3987      break;
3988  
3989 <  case 147:
3990 < /* Line 1792 of yacc.c  */
3991 < #line 1019 "conf_parser.y"
3989 >  case 153:
3990 > /* Line 1787 of yacc.c  */
3991 > #line 1083 "conf_parser.y"
3992      {
3993    if (conf_parser_ctx.pass == 2)
3994      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3995   }
3996      break;
3997  
3998 <  case 148:
3999 < /* Line 1792 of yacc.c  */
4000 < #line 1025 "conf_parser.y"
3998 >  case 154:
3999 > /* Line 1787 of yacc.c  */
4000 > #line 1089 "conf_parser.y"
4001      {
4002    if (conf_parser_ctx.pass == 2)
4003      block_state.modes.value = 0;
4004   }
4005      break;
4006  
4007 <  case 152:
4008 < /* Line 1792 of yacc.c  */
4009 < #line 1032 "conf_parser.y"
4007 >  case 158:
4008 > /* Line 1787 of yacc.c  */
4009 > #line 1096 "conf_parser.y"
4010      {
4011    if (conf_parser_ctx.pass == 2)
4012      block_state.modes.value |= UMODE_BOTS;
4013   }
4014      break;
4015  
4016 <  case 153:
4017 < /* Line 1792 of yacc.c  */
4018 < #line 1036 "conf_parser.y"
4016 >  case 159:
4017 > /* Line 1787 of yacc.c  */
4018 > #line 1100 "conf_parser.y"
4019      {
4020    if (conf_parser_ctx.pass == 2)
4021      block_state.modes.value |= UMODE_CCONN;
4022   }
4023      break;
4024  
4025 <  case 154:
4026 < /* Line 1792 of yacc.c  */
4027 < #line 1040 "conf_parser.y"
4025 >  case 160:
4026 > /* Line 1787 of yacc.c  */
4027 > #line 1104 "conf_parser.y"
4028      {
4029    if (conf_parser_ctx.pass == 2)
4030      block_state.modes.value |= UMODE_CCONN_FULL;
4031   }
4032      break;
4033  
4034 <  case 155:
4035 < /* Line 1792 of yacc.c  */
4036 < #line 1044 "conf_parser.y"
4034 >  case 161:
4035 > /* Line 1787 of yacc.c  */
4036 > #line 1108 "conf_parser.y"
4037      {
4038    if (conf_parser_ctx.pass == 2)
4039      block_state.modes.value |= UMODE_DEAF;
4040   }
4041      break;
4042  
4043 <  case 156:
4044 < /* Line 1792 of yacc.c  */
4045 < #line 1048 "conf_parser.y"
4043 >  case 162:
4044 > /* Line 1787 of yacc.c  */
4045 > #line 1112 "conf_parser.y"
4046      {
4047    if (conf_parser_ctx.pass == 2)
4048      block_state.modes.value |= UMODE_DEBUG;
4049   }
4050      break;
4051  
4052 <  case 157:
4053 < /* Line 1792 of yacc.c  */
4054 < #line 1052 "conf_parser.y"
4052 >  case 163:
4053 > /* Line 1787 of yacc.c  */
4054 > #line 1116 "conf_parser.y"
4055      {
4056    if (conf_parser_ctx.pass == 2)
4057      block_state.modes.value |= UMODE_FULL;
4058   }
4059      break;
4060  
4061 <  case 158:
4062 < /* Line 1792 of yacc.c  */
4063 < #line 1056 "conf_parser.y"
4061 >  case 164:
4062 > /* Line 1787 of yacc.c  */
4063 > #line 1120 "conf_parser.y"
4064      {
4065    if (conf_parser_ctx.pass == 2)
4066      block_state.modes.value |= UMODE_HIDDEN;
4067   }
4068      break;
4069  
4070 <  case 159:
4071 < /* Line 1792 of yacc.c  */
4072 < #line 1060 "conf_parser.y"
4070 >  case 165:
4071 > /* Line 1787 of yacc.c  */
4072 > #line 1124 "conf_parser.y"
4073      {
4074    if (conf_parser_ctx.pass == 2)
4075      block_state.modes.value |= UMODE_SKILL;
4076   }
4077      break;
4078  
4079 <  case 160:
4080 < /* Line 1792 of yacc.c  */
4081 < #line 1064 "conf_parser.y"
4079 >  case 166:
4080 > /* Line 1787 of yacc.c  */
4081 > #line 1128 "conf_parser.y"
4082      {
4083    if (conf_parser_ctx.pass == 2)
4084      block_state.modes.value |= UMODE_NCHANGE;
4085   }
4086      break;
4087  
4088 <  case 161:
4089 < /* Line 1792 of yacc.c  */
4090 < #line 1068 "conf_parser.y"
4088 >  case 167:
4089 > /* Line 1787 of yacc.c  */
4090 > #line 1132 "conf_parser.y"
4091      {
4092    if (conf_parser_ctx.pass == 2)
4093      block_state.modes.value |= UMODE_REJ;
4094   }
4095      break;
4096  
4097 <  case 162:
4098 < /* Line 1792 of yacc.c  */
4099 < #line 1072 "conf_parser.y"
4097 >  case 168:
4098 > /* Line 1787 of yacc.c  */
4099 > #line 1136 "conf_parser.y"
4100      {
4101    if (conf_parser_ctx.pass == 2)
4102      block_state.modes.value |= UMODE_UNAUTH;
4103   }
4104      break;
4105  
4106 <  case 163:
4107 < /* Line 1792 of yacc.c  */
4108 < #line 1076 "conf_parser.y"
4106 >  case 169:
4107 > /* Line 1787 of yacc.c  */
4108 > #line 1140 "conf_parser.y"
4109      {
4110    if (conf_parser_ctx.pass == 2)
4111      block_state.modes.value |= UMODE_SPY;
4112   }
4113      break;
4114  
4115 <  case 164:
4116 < /* Line 1792 of yacc.c  */
4117 < #line 1080 "conf_parser.y"
4115 >  case 170:
4116 > /* Line 1787 of yacc.c  */
4117 > #line 1144 "conf_parser.y"
4118      {
4119    if (conf_parser_ctx.pass == 2)
4120      block_state.modes.value |= UMODE_EXTERNAL;
4121   }
4122      break;
4123  
4124 <  case 165:
4125 < /* Line 1792 of yacc.c  */
4126 < #line 1084 "conf_parser.y"
4124 >  case 171:
4125 > /* Line 1787 of yacc.c  */
4126 > #line 1148 "conf_parser.y"
4127      {
4128    if (conf_parser_ctx.pass == 2)
4129      block_state.modes.value |= UMODE_OPERWALL;
4130   }
4131      break;
4132  
4133 <  case 166:
4134 < /* Line 1792 of yacc.c  */
4135 < #line 1088 "conf_parser.y"
4133 >  case 172:
4134 > /* Line 1787 of yacc.c  */
4135 > #line 1152 "conf_parser.y"
4136      {
4137    if (conf_parser_ctx.pass == 2)
4138      block_state.modes.value |= UMODE_SERVNOTICE;
4139   }
4140      break;
4141  
4142 <  case 167:
4143 < /* Line 1792 of yacc.c  */
4144 < #line 1092 "conf_parser.y"
4142 >  case 173:
4143 > /* Line 1787 of yacc.c  */
4144 > #line 1156 "conf_parser.y"
4145      {
4146    if (conf_parser_ctx.pass == 2)
4147      block_state.modes.value |= UMODE_INVISIBLE;
4148   }
4149      break;
4150  
4151 <  case 168:
4152 < /* Line 1792 of yacc.c  */
4153 < #line 1096 "conf_parser.y"
4151 >  case 174:
4152 > /* Line 1787 of yacc.c  */
4153 > #line 1160 "conf_parser.y"
4154      {
4155    if (conf_parser_ctx.pass == 2)
4156      block_state.modes.value |= UMODE_WALLOP;
4157   }
4158      break;
4159  
4160 <  case 169:
4161 < /* Line 1792 of yacc.c  */
4162 < #line 1100 "conf_parser.y"
4160 >  case 175:
4161 > /* Line 1787 of yacc.c  */
4162 > #line 1164 "conf_parser.y"
4163      {
4164    if (conf_parser_ctx.pass == 2)
4165      block_state.modes.value |= UMODE_SOFTCALLERID;
4166   }
4167      break;
4168  
4169 <  case 170:
4170 < /* Line 1792 of yacc.c  */
4171 < #line 1104 "conf_parser.y"
4169 >  case 176:
4170 > /* Line 1787 of yacc.c  */
4171 > #line 1168 "conf_parser.y"
4172      {
4173    if (conf_parser_ctx.pass == 2)
4174      block_state.modes.value |= UMODE_CALLERID;
4175   }
4176      break;
4177  
4178 <  case 171:
4179 < /* Line 1792 of yacc.c  */
4180 < #line 1108 "conf_parser.y"
4178 >  case 177:
4179 > /* Line 1787 of yacc.c  */
4180 > #line 1172 "conf_parser.y"
4181      {
4182    if (conf_parser_ctx.pass == 2)
4183      block_state.modes.value |= UMODE_LOCOPS;
4184   }
4185      break;
4186  
4187 <  case 172:
4188 < /* Line 1792 of yacc.c  */
4189 < #line 1114 "conf_parser.y"
4187 >  case 178:
4188 > /* Line 1787 of yacc.c  */
4189 > #line 1176 "conf_parser.y"
4190 >    {
4191 >  if (conf_parser_ctx.pass == 2)
4192 >    block_state.modes.value |= UMODE_REGONLY;
4193 > }
4194 >    break;
4195 >
4196 >  case 179:
4197 > /* Line 1787 of yacc.c  */
4198 > #line 1182 "conf_parser.y"
4199      {
4200    if (conf_parser_ctx.pass == 2)
4201      block_state.port.value = 0;
4202   }
4203      break;
4204  
4205 <  case 176:
4206 < /* Line 1792 of yacc.c  */
4207 < #line 1121 "conf_parser.y"
4205 >  case 183:
4206 > /* Line 1787 of yacc.c  */
4207 > #line 1189 "conf_parser.y"
4208      {
4209    if (conf_parser_ctx.pass == 2)
4210      block_state.port.value |= OPER_FLAG_GLOBAL_KILL;
4211   }
4212      break;
4213  
4214 <  case 177:
4215 < /* Line 1792 of yacc.c  */
4216 < #line 1125 "conf_parser.y"
4214 >  case 184:
4215 > /* Line 1787 of yacc.c  */
4216 > #line 1193 "conf_parser.y"
4217      {
4218    if (conf_parser_ctx.pass == 2)
4219      block_state.port.value |= OPER_FLAG_REMOTE;
4220   }
4221      break;
4222  
4223 <  case 178:
4224 < /* Line 1792 of yacc.c  */
4225 < #line 1129 "conf_parser.y"
4223 >  case 185:
4224 > /* Line 1787 of yacc.c  */
4225 > #line 1197 "conf_parser.y"
4226      {
4227    if (conf_parser_ctx.pass == 2)
4228      block_state.port.value |= OPER_FLAG_K;
4229   }
4230      break;
4231  
4232 <  case 179:
4233 < /* Line 1792 of yacc.c  */
4234 < #line 1133 "conf_parser.y"
4232 >  case 186:
4233 > /* Line 1787 of yacc.c  */
4234 > #line 1201 "conf_parser.y"
4235      {
4236    if (conf_parser_ctx.pass == 2)
4237      block_state.port.value |= OPER_FLAG_UNKLINE;
4238   }
4239      break;
4240  
4241 <  case 180:
4242 < /* Line 1792 of yacc.c  */
4243 < #line 1137 "conf_parser.y"
4241 >  case 187:
4242 > /* Line 1787 of yacc.c  */
4243 > #line 1205 "conf_parser.y"
4244      {
4245    if (conf_parser_ctx.pass == 2)
4246      block_state.port.value |= OPER_FLAG_DLINE;
4247   }
4248      break;
4249  
4250 <  case 181:
4251 < /* Line 1792 of yacc.c  */
4252 < #line 1141 "conf_parser.y"
4250 >  case 188:
4251 > /* Line 1787 of yacc.c  */
4252 > #line 1209 "conf_parser.y"
4253      {
4254    if (conf_parser_ctx.pass == 2)
4255      block_state.port.value |= OPER_FLAG_UNDLINE;
4256   }
4257      break;
4258  
4259 <  case 182:
4260 < /* Line 1792 of yacc.c  */
4261 < #line 1145 "conf_parser.y"
4259 >  case 189:
4260 > /* Line 1787 of yacc.c  */
4261 > #line 1213 "conf_parser.y"
4262      {
4263    if (conf_parser_ctx.pass == 2)
4264      block_state.port.value |= OPER_FLAG_X;
4265   }
4266      break;
4267  
4268 <  case 183:
4269 < /* Line 1792 of yacc.c  */
4270 < #line 1149 "conf_parser.y"
4268 >  case 190:
4269 > /* Line 1787 of yacc.c  */
4270 > #line 1217 "conf_parser.y"
4271      {
4272    if (conf_parser_ctx.pass == 2)
4273      block_state.port.value |= OPER_FLAG_GLINE;
4274   }
4275      break;
4276  
4277 <  case 184:
4278 < /* Line 1792 of yacc.c  */
4279 < #line 1153 "conf_parser.y"
4277 >  case 191:
4278 > /* Line 1787 of yacc.c  */
4279 > #line 1221 "conf_parser.y"
4280      {
4281    if (conf_parser_ctx.pass == 2)
4282      block_state.port.value |= OPER_FLAG_DIE;
4283   }
4284      break;
4285  
4286 <  case 185:
4287 < /* Line 1792 of yacc.c  */
4288 < #line 1157 "conf_parser.y"
4286 >  case 192:
4287 > /* Line 1787 of yacc.c  */
4288 > #line 1225 "conf_parser.y"
4289      {
4290    if (conf_parser_ctx.pass == 2)
4291      block_state.port.value |= OPER_FLAG_RESTART;
4292   }
4293      break;
4294  
4295 <  case 186:
4296 < /* Line 1792 of yacc.c  */
4297 < #line 1161 "conf_parser.y"
4295 >  case 193:
4296 > /* Line 1787 of yacc.c  */
4297 > #line 1229 "conf_parser.y"
4298      {
4299    if (conf_parser_ctx.pass == 2)
4300      block_state.port.value |= OPER_FLAG_REHASH;
4301   }
4302      break;
4303  
4304 <  case 187:
4305 < /* Line 1792 of yacc.c  */
4306 < #line 1165 "conf_parser.y"
4304 >  case 194:
4305 > /* Line 1787 of yacc.c  */
4306 > #line 1233 "conf_parser.y"
4307      {
4308    if (conf_parser_ctx.pass == 2)
4309      block_state.port.value |= OPER_FLAG_ADMIN;
4310   }
4311      break;
4312  
4313 <  case 188:
4314 < /* Line 1792 of yacc.c  */
4315 < #line 1169 "conf_parser.y"
4214 <    {
4215 <  if (conf_parser_ctx.pass == 2)
4216 <    block_state.port.value |= OPER_FLAG_N;
4217 < }
4218 <    break;
4219 <
4220 <  case 189:
4221 < /* Line 1792 of yacc.c  */
4222 < #line 1173 "conf_parser.y"
4313 >  case 195:
4314 > /* Line 1787 of yacc.c  */
4315 > #line 1237 "conf_parser.y"
4316      {
4317    if (conf_parser_ctx.pass == 2)
4318      block_state.port.value |= OPER_FLAG_OPERWALL;
4319   }
4320      break;
4321  
4322 <  case 190:
4323 < /* Line 1792 of yacc.c  */
4324 < #line 1177 "conf_parser.y"
4322 >  case 196:
4323 > /* Line 1787 of yacc.c  */
4324 > #line 1241 "conf_parser.y"
4325      {
4326    if (conf_parser_ctx.pass == 2)
4327      block_state.port.value |= OPER_FLAG_GLOBOPS;
4328   }
4329      break;
4330  
4331 <  case 191:
4332 < /* Line 1792 of yacc.c  */
4333 < #line 1181 "conf_parser.y"
4331 >  case 197:
4332 > /* Line 1787 of yacc.c  */
4333 > #line 1245 "conf_parser.y"
4334      {
4335    if (conf_parser_ctx.pass == 2)
4336      block_state.port.value |= OPER_FLAG_OPER_SPY;
4337   }
4338      break;
4339  
4340 <  case 192:
4341 < /* Line 1792 of yacc.c  */
4342 < #line 1185 "conf_parser.y"
4340 >  case 198:
4341 > /* Line 1787 of yacc.c  */
4342 > #line 1249 "conf_parser.y"
4343      {
4344    if (conf_parser_ctx.pass == 2)
4345      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4346   }
4347      break;
4348  
4349 <  case 193:
4350 < /* Line 1792 of yacc.c  */
4351 < #line 1189 "conf_parser.y"
4349 >  case 199:
4350 > /* Line 1787 of yacc.c  */
4351 > #line 1253 "conf_parser.y"
4352      {
4353    if (conf_parser_ctx.pass == 2)
4354      block_state.port.value |= OPER_FLAG_SET;
4355   }
4356      break;
4357  
4358 <  case 194:
4359 < /* Line 1792 of yacc.c  */
4360 < #line 1193 "conf_parser.y"
4358 >  case 200:
4359 > /* Line 1787 of yacc.c  */
4360 > #line 1257 "conf_parser.y"
4361      {
4362    if (conf_parser_ctx.pass == 2)
4363      block_state.port.value |= OPER_FLAG_MODULE;
4364   }
4365      break;
4366  
4367 <  case 195:
4368 < /* Line 1792 of yacc.c  */
4369 < #line 1203 "conf_parser.y"
4367 >  case 201:
4368 > /* Line 1787 of yacc.c  */
4369 > #line 1267 "conf_parser.y"
4370      {
4371    if (conf_parser_ctx.pass != 1)
4372      break;
# Line 4285 | Line 4378 | yyreduce:
4378    block_state.max_total.value = MAXIMUM_LINKS_DEFAULT;
4379    block_state.max_sendq.value = DEFAULT_SENDQ;
4380    block_state.max_recvq.value = DEFAULT_RECVQ;
4288
4381   }
4382      break;
4383  
4384 <  case 196:
4385 < /* Line 1792 of yacc.c  */
4386 < #line 1216 "conf_parser.y"
4384 >  case 202:
4385 > /* Line 1787 of yacc.c  */
4386 > #line 1279 "conf_parser.y"
4387      {
4388    struct ClassItem *class = NULL;
4389  
# Line 4317 | Line 4409 | yyreduce:
4409    class->max_sendq = block_state.max_sendq.value;
4410    class->max_recvq = block_state.max_recvq.value;
4411  
4412 +  if (block_state.min_idle.value > block_state.max_idle.value)
4413 +  {
4414 +    block_state.min_idle.value = 0;
4415 +    block_state.max_idle.value = 0;
4416 +    block_state.flags.value &= ~CLASS_FLAGS_FAKE_IDLE;
4417 +  }
4418 +
4419 +  class->flags = block_state.flags.value;
4420 +  class->min_idle = block_state.min_idle.value;
4421 +  class->max_idle = block_state.max_idle.value;
4422 +
4423    if (class->number_per_cidr && block_state.number_per_cidr.value)
4424      if ((class->cidr_bitlen_ipv4 && block_state.cidr_bitlen_ipv4.value) ||
4425          (class->cidr_bitlen_ipv6 && block_state.cidr_bitlen_ipv6.value))
# Line 4330 | Line 4433 | yyreduce:
4433   }
4434      break;
4435  
4436 <  case 213:
4437 < /* Line 1792 of yacc.c  */
4438 < #line 1268 "conf_parser.y"
4436 >  case 222:
4437 > /* Line 1787 of yacc.c  */
4438 > #line 1345 "conf_parser.y"
4439      {
4440    if (conf_parser_ctx.pass == 1)
4441      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4442   }
4443      break;
4444  
4445 <  case 214:
4446 < /* Line 1792 of yacc.c  */
4447 < #line 1274 "conf_parser.y"
4445 >  case 223:
4446 > /* Line 1787 of yacc.c  */
4447 > #line 1351 "conf_parser.y"
4448      {
4449    if (conf_parser_ctx.pass == 1)
4450      block_state.ping_freq.value = (yyvsp[(3) - (4)].number);
4451   }
4452      break;
4453  
4454 <  case 215:
4455 < /* Line 1792 of yacc.c  */
4456 < #line 1280 "conf_parser.y"
4454 >  case 224:
4455 > /* Line 1787 of yacc.c  */
4456 > #line 1357 "conf_parser.y"
4457      {
4458    if (conf_parser_ctx.pass == 1)
4459      block_state.max_perip.value = (yyvsp[(3) - (4)].number);
4460   }
4461      break;
4462  
4463 <  case 216:
4464 < /* Line 1792 of yacc.c  */
4465 < #line 1286 "conf_parser.y"
4463 >  case 225:
4464 > /* Line 1787 of yacc.c  */
4465 > #line 1363 "conf_parser.y"
4466      {
4467    if (conf_parser_ctx.pass == 1)
4468      block_state.con_freq.value = (yyvsp[(3) - (4)].number);
4469   }
4470      break;
4471  
4472 <  case 217:
4473 < /* Line 1792 of yacc.c  */
4474 < #line 1292 "conf_parser.y"
4472 >  case 226:
4473 > /* Line 1787 of yacc.c  */
4474 > #line 1369 "conf_parser.y"
4475      {
4476    if (conf_parser_ctx.pass == 1)
4477      block_state.max_total.value = (yyvsp[(3) - (4)].number);
4478   }
4479      break;
4480  
4481 <  case 218:
4482 < /* Line 1792 of yacc.c  */
4483 < #line 1298 "conf_parser.y"
4481 >  case 227:
4482 > /* Line 1787 of yacc.c  */
4483 > #line 1375 "conf_parser.y"
4484      {
4485    if (conf_parser_ctx.pass == 1)
4486      block_state.max_global.value = (yyvsp[(3) - (4)].number);
4487   }
4488      break;
4489  
4490 <  case 219:
4491 < /* Line 1792 of yacc.c  */
4492 < #line 1304 "conf_parser.y"
4490 >  case 228:
4491 > /* Line 1787 of yacc.c  */
4492 > #line 1381 "conf_parser.y"
4493      {
4494    if (conf_parser_ctx.pass == 1)
4495      block_state.max_local.value = (yyvsp[(3) - (4)].number);
4496   }
4497      break;
4498  
4499 <  case 220:
4500 < /* Line 1792 of yacc.c  */
4501 < #line 1310 "conf_parser.y"
4499 >  case 229:
4500 > /* Line 1787 of yacc.c  */
4501 > #line 1387 "conf_parser.y"
4502      {
4503    if (conf_parser_ctx.pass == 1)
4504      block_state.max_ident.value = (yyvsp[(3) - (4)].number);
4505   }
4506      break;
4507  
4508 <  case 221:
4509 < /* Line 1792 of yacc.c  */
4510 < #line 1316 "conf_parser.y"
4508 >  case 230:
4509 > /* Line 1787 of yacc.c  */
4510 > #line 1393 "conf_parser.y"
4511      {
4512    if (conf_parser_ctx.pass == 1)
4513      block_state.max_sendq.value = (yyvsp[(3) - (4)].number);
4514   }
4515      break;
4516  
4517 <  case 222:
4518 < /* Line 1792 of yacc.c  */
4519 < #line 1322 "conf_parser.y"
4517 >  case 231:
4518 > /* Line 1787 of yacc.c  */
4519 > #line 1399 "conf_parser.y"
4520      {
4521    if (conf_parser_ctx.pass == 1)
4522      if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
# Line 4421 | Line 4524 | yyreduce:
4524   }
4525      break;
4526  
4527 <  case 223:
4528 < /* Line 1792 of yacc.c  */
4529 < #line 1329 "conf_parser.y"
4527 >  case 232:
4528 > /* Line 1787 of yacc.c  */
4529 > #line 1406 "conf_parser.y"
4530      {
4531    if (conf_parser_ctx.pass == 1)
4532      block_state.cidr_bitlen_ipv4.value = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4533   }
4534      break;
4535  
4536 <  case 224:
4537 < /* Line 1792 of yacc.c  */
4538 < #line 1335 "conf_parser.y"
4536 >  case 233:
4537 > /* Line 1787 of yacc.c  */
4538 > #line 1412 "conf_parser.y"
4539      {
4540    if (conf_parser_ctx.pass == 1)
4541      block_state.cidr_bitlen_ipv6.value = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4542   }
4543      break;
4544  
4545 <  case 225:
4546 < /* Line 1792 of yacc.c  */
4547 < #line 1341 "conf_parser.y"
4545 >  case 234:
4546 > /* Line 1787 of yacc.c  */
4547 > #line 1418 "conf_parser.y"
4548      {
4549    if (conf_parser_ctx.pass == 1)
4550      block_state.number_per_cidr.value = (yyvsp[(3) - (4)].number);
4551   }
4552      break;
4553  
4554 <  case 226:
4555 < /* Line 1792 of yacc.c  */
4556 < #line 1350 "conf_parser.y"
4554 >  case 235:
4555 > /* Line 1787 of yacc.c  */
4556 > #line 1424 "conf_parser.y"
4557 >    {
4558 >  if (conf_parser_ctx.pass != 1)
4559 >    break;
4560 >
4561 >  block_state.min_idle.value = (yyvsp[(3) - (4)].number);
4562 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4563 > }
4564 >    break;
4565 >
4566 >  case 236:
4567 > /* Line 1787 of yacc.c  */
4568 > #line 1433 "conf_parser.y"
4569 >    {
4570 >  if (conf_parser_ctx.pass != 1)
4571 >    break;
4572 >
4573 >  block_state.max_idle.value = (yyvsp[(3) - (4)].number);
4574 >  block_state.flags.value |= CLASS_FLAGS_FAKE_IDLE;
4575 > }
4576 >    break;
4577 >
4578 >  case 237:
4579 > /* Line 1787 of yacc.c  */
4580 > #line 1442 "conf_parser.y"
4581 >    {
4582 >  if (conf_parser_ctx.pass == 1)
4583 >    block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
4584 > }
4585 >    break;
4586 >
4587 >  case 241:
4588 > /* Line 1787 of yacc.c  */
4589 > #line 1449 "conf_parser.y"
4590 >    {
4591 >  if (conf_parser_ctx.pass == 1)
4592 >    block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
4593 > }
4594 >    break;
4595 >
4596 >  case 242:
4597 > /* Line 1787 of yacc.c  */
4598 > #line 1453 "conf_parser.y"
4599 >    {
4600 >  if (conf_parser_ctx.pass == 1)
4601 >    block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
4602 > }
4603 >    break;
4604 >
4605 >  case 243:
4606 > /* Line 1787 of yacc.c  */
4607 > #line 1463 "conf_parser.y"
4608      {
4609    if (conf_parser_ctx.pass == 2)
4610      reset_block_state();
4611   }
4612      break;
4613  
4614 <  case 228:
4615 < /* Line 1792 of yacc.c  */
4616 < #line 1356 "conf_parser.y"
4614 >  case 245:
4615 > /* Line 1787 of yacc.c  */
4616 > #line 1469 "conf_parser.y"
4617      {
4618    block_state.flags.value = 0;
4619   }
4620      break;
4621  
4622 <  case 232:
4623 < /* Line 1792 of yacc.c  */
4624 < #line 1362 "conf_parser.y"
4622 >  case 249:
4623 > /* Line 1787 of yacc.c  */
4624 > #line 1475 "conf_parser.y"
4625      {
4626    if (conf_parser_ctx.pass == 2)
4627      block_state.flags.value |= LISTENER_SSL;
4628   }
4629      break;
4630  
4631 <  case 233:
4632 < /* Line 1792 of yacc.c  */
4633 < #line 1366 "conf_parser.y"
4631 >  case 250:
4632 > /* Line 1787 of yacc.c  */
4633 > #line 1479 "conf_parser.y"
4634      {
4635    if (conf_parser_ctx.pass == 2)
4636      block_state.flags.value |= LISTENER_HIDDEN;
4637   }
4638      break;
4639  
4640 <  case 234:
4641 < /* Line 1792 of yacc.c  */
4642 < #line 1370 "conf_parser.y"
4640 >  case 251:
4641 > /* Line 1787 of yacc.c  */
4642 > #line 1483 "conf_parser.y"
4643      {
4644    if (conf_parser_ctx.pass == 2)
4645     block_state.flags.value |= LISTENER_SERVER;
4646   }
4647      break;
4648  
4649 <  case 242:
4650 < /* Line 1792 of yacc.c  */
4651 < #line 1378 "conf_parser.y"
4649 >  case 259:
4650 > /* Line 1787 of yacc.c  */
4651 > #line 1491 "conf_parser.y"
4652      { block_state.flags.value = 0; }
4653      break;
4654  
4655 <  case 246:
4656 < /* Line 1792 of yacc.c  */
4657 < #line 1383 "conf_parser.y"
4655 >  case 263:
4656 > /* Line 1787 of yacc.c  */
4657 > #line 1496 "conf_parser.y"
4658      {
4659    if (conf_parser_ctx.pass == 2)
4660    {
# Line 4509 | Line 4663 | yyreduce:
4663        if (!ServerInfo.server_ctx)
4664   #endif
4665        {
4666 <        yyerror("SSL not available - port closed");
4666 >        conf_error_report("SSL not available - port closed");
4667          break;
4668        }
4669      add_listener((yyvsp[(1) - (1)].number), block_state.addr.buf, block_state.flags.value);
# Line 4517 | Line 4671 | yyreduce:
4671   }
4672      break;
4673  
4674 <  case 247:
4675 < /* Line 1792 of yacc.c  */
4676 < #line 1397 "conf_parser.y"
4674 >  case 264:
4675 > /* Line 1787 of yacc.c  */
4676 > #line 1510 "conf_parser.y"
4677      {
4678    if (conf_parser_ctx.pass == 2)
4679    {
# Line 4530 | Line 4684 | yyreduce:
4684        if (!ServerInfo.server_ctx)
4685   #endif
4686        {
4687 <        yyerror("SSL not available - port closed");
4687 >        conf_error_report("SSL not available - port closed");
4688          break;
4689        }
4690  
# Line 4540 | Line 4694 | yyreduce:
4694   }
4695      break;
4696  
4697 <  case 248:
4698 < /* Line 1792 of yacc.c  */
4699 < #line 1417 "conf_parser.y"
4697 >  case 265:
4698 > /* Line 1787 of yacc.c  */
4699 > #line 1530 "conf_parser.y"
4700      {
4701    if (conf_parser_ctx.pass == 2)
4702      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4703   }
4704      break;
4705  
4706 <  case 249:
4707 < /* Line 1792 of yacc.c  */
4708 < #line 1423 "conf_parser.y"
4706 >  case 266:
4707 > /* Line 1787 of yacc.c  */
4708 > #line 1536 "conf_parser.y"
4709      {
4710    if (conf_parser_ctx.pass == 2)
4711      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
4712   }
4713      break;
4714  
4715 <  case 250:
4716 < /* Line 1792 of yacc.c  */
4717 < #line 1432 "conf_parser.y"
4715 >  case 267:
4716 > /* Line 1787 of yacc.c  */
4717 > #line 1545 "conf_parser.y"
4718      {
4719    if (conf_parser_ctx.pass == 2)
4720      reset_block_state();
4721   }
4722      break;
4723  
4724 <  case 251:
4725 < /* Line 1792 of yacc.c  */
4726 < #line 1436 "conf_parser.y"
4724 >  case 268:
4725 > /* Line 1787 of yacc.c  */
4726 > #line 1549 "conf_parser.y"
4727      {
4728    dlink_node *ptr = NULL;
4729  
# Line 4597 | Line 4751 | yyreduce:
4751      if (block_state.rpass.buf[0])
4752        conf->passwd = xstrdup(block_state.rpass.buf);
4753      if (block_state.name.buf[0])
4754 <      conf->passwd = xstrdup(block_state.name.buf);
4754 >      conf->name = xstrdup(block_state.name.buf);
4755  
4756      conf->flags = block_state.flags.value;
4757      conf->port  = block_state.port.value;
# Line 4608 | Line 4762 | yyreduce:
4762   }
4763      break;
4764  
4765 <  case 263:
4766 < /* Line 1792 of yacc.c  */
4767 < #line 1479 "conf_parser.y"
4765 >  case 280:
4766 > /* Line 1787 of yacc.c  */
4767 > #line 1592 "conf_parser.y"
4768      {
4769    if (conf_parser_ctx.pass == 2)
4770      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4771   }
4772      break;
4773  
4774 <  case 264:
4775 < /* Line 1792 of yacc.c  */
4776 < #line 1485 "conf_parser.y"
4774 >  case 281:
4775 > /* Line 1787 of yacc.c  */
4776 > #line 1598 "conf_parser.y"
4777      {
4778    if (conf_parser_ctx.pass == 2)
4779      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4780   }
4781      break;
4782  
4783 <  case 265:
4784 < /* Line 1792 of yacc.c  */
4785 < #line 1491 "conf_parser.y"
4783 >  case 282:
4784 > /* Line 1787 of yacc.c  */
4785 > #line 1604 "conf_parser.y"
4786      {
4787    if (conf_parser_ctx.pass == 2)
4788      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4789   }
4790      break;
4791  
4792 <  case 266:
4793 < /* Line 1792 of yacc.c  */
4794 < #line 1497 "conf_parser.y"
4792 >  case 283:
4793 > /* Line 1787 of yacc.c  */
4794 > #line 1610 "conf_parser.y"
4795      {
4796    if (conf_parser_ctx.pass == 2)
4797    {
# Line 4649 | Line 4803 | yyreduce:
4803   }
4804      break;
4805  
4806 <  case 267:
4807 < /* Line 1792 of yacc.c  */
4808 < #line 1508 "conf_parser.y"
4806 >  case 284:
4807 > /* Line 1787 of yacc.c  */
4808 > #line 1621 "conf_parser.y"
4809      {
4810    if (conf_parser_ctx.pass == 2)
4811      block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
4812   }
4813      break;
4814  
4815 <  case 271:
4816 < /* Line 1792 of yacc.c  */
4817 < #line 1515 "conf_parser.y"
4815 >  case 288:
4816 > /* Line 1787 of yacc.c  */
4817 > #line 1628 "conf_parser.y"
4818      {
4819    if (conf_parser_ctx.pass == 2)
4820      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4821   }
4822      break;
4823  
4824 <  case 272:
4825 < /* Line 1792 of yacc.c  */
4826 < #line 1519 "conf_parser.y"
4824 >  case 289:
4825 > /* Line 1787 of yacc.c  */
4826 > #line 1632 "conf_parser.y"
4827      {
4828    if (conf_parser_ctx.pass == 2)
4829      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4830   }
4831      break;
4832  
4833 <  case 273:
4834 < /* Line 1792 of yacc.c  */
4835 < #line 1523 "conf_parser.y"
4833 >  case 290:
4834 > /* Line 1787 of yacc.c  */
4835 > #line 1636 "conf_parser.y"
4836      {
4837    if (conf_parser_ctx.pass == 2)
4838      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4839   }
4840      break;
4841  
4842 <  case 274:
4843 < /* Line 1792 of yacc.c  */
4844 < #line 1527 "conf_parser.y"
4842 >  case 291:
4843 > /* Line 1787 of yacc.c  */
4844 > #line 1640 "conf_parser.y"
4845      {
4846    if (conf_parser_ctx.pass == 2)
4847      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4848   }
4849      break;
4850  
4851 <  case 275:
4852 < /* Line 1792 of yacc.c  */
4853 < #line 1531 "conf_parser.y"
4851 >  case 292:
4852 > /* Line 1787 of yacc.c  */
4853 > #line 1644 "conf_parser.y"
4854      {
4855    if (conf_parser_ctx.pass == 2)
4856      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4857   }
4858      break;
4859  
4860 <  case 276:
4861 < /* Line 1792 of yacc.c  */
4862 < #line 1535 "conf_parser.y"
4860 >  case 293:
4861 > /* Line 1787 of yacc.c  */
4862 > #line 1648 "conf_parser.y"
4863      {
4864    if (conf_parser_ctx.pass == 2)
4865      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4866   }
4867      break;
4868  
4869 <  case 277:
4870 < /* Line 1792 of yacc.c  */
4871 < #line 1539 "conf_parser.y"
4869 >  case 294:
4870 > /* Line 1787 of yacc.c  */
4871 > #line 1652 "conf_parser.y"
4872      {
4873    if (conf_parser_ctx.pass == 2)
4874      block_state.flags.value |= CONF_FLAGS_EXEMPTGLINE;
4875   }
4876      break;
4877  
4878 <  case 278:
4879 < /* Line 1792 of yacc.c  */
4880 < #line 1543 "conf_parser.y"
4878 >  case 295:
4879 > /* Line 1787 of yacc.c  */
4880 > #line 1656 "conf_parser.y"
4881      {
4882    if (conf_parser_ctx.pass == 2)
4883      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4884   }
4885      break;
4886  
4887 <  case 279:
4888 < /* Line 1792 of yacc.c  */
4889 < #line 1547 "conf_parser.y"
4887 >  case 296:
4888 > /* Line 1787 of yacc.c  */
4889 > #line 1660 "conf_parser.y"
4890 >    {
4891 >  if (conf_parser_ctx.pass == 2)
4892 >    block_state.flags.value |= CONF_FLAGS_WEBIRC;
4893 > }
4894 >    break;
4895 >
4896 >  case 297:
4897 > /* Line 1787 of yacc.c  */
4898 > #line 1664 "conf_parser.y"
4899      {
4900    if (conf_parser_ctx.pass == 2)
4901      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4902   }
4903      break;
4904  
4905 <  case 280:
4906 < /* Line 1792 of yacc.c  */
4907 < #line 1553 "conf_parser.y"
4905 >  case 298:
4906 > /* Line 1787 of yacc.c  */
4907 > #line 1670 "conf_parser.y"
4908      {
4909    if (conf_parser_ctx.pass != 2)
4910      break;
# Line 4756 | Line 4919 | yyreduce:
4919   }
4920      break;
4921  
4922 <  case 281:
4923 < /* Line 1792 of yacc.c  */
4924 < #line 1567 "conf_parser.y"
4922 >  case 299:
4923 > /* Line 1787 of yacc.c  */
4924 > #line 1684 "conf_parser.y"
4925      {
4926    if (conf_parser_ctx.pass != 2)
4927      break;
# Line 4768 | Line 4931 | yyreduce:
4931   }
4932      break;
4933  
4934 <  case 282:
4935 < /* Line 1792 of yacc.c  */
4936 < #line 1576 "conf_parser.y"
4934 >  case 300:
4935 > /* Line 1787 of yacc.c  */
4936 > #line 1693 "conf_parser.y"
4937      {
4938    if (conf_parser_ctx.pass != 2)
4939      break;
# Line 4780 | Line 4943 | yyreduce:
4943   }
4944      break;
4945  
4946 <  case 283:
4947 < /* Line 1792 of yacc.c  */
4948 < #line 1589 "conf_parser.y"
4946 >  case 301:
4947 > /* Line 1787 of yacc.c  */
4948 > #line 1706 "conf_parser.y"
4949      {
4950    if (conf_parser_ctx.pass != 2)
4951      break;
# Line 4792 | Line 4955 | yyreduce:
4955   }
4956      break;
4957  
4958 <  case 291:
4959 < /* Line 1792 of yacc.c  */
4960 < #line 1601 "conf_parser.y"
4958 >  case 302:
4959 > /* Line 1787 of yacc.c  */
4960 > #line 1713 "conf_parser.y"
4961      {
4962 <  if (conf_parser_ctx.pass == 2)
4963 <    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4962 >  if (conf_parser_ctx.pass != 2)
4963 >    break;
4964 >
4965 >  create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4966   }
4967      break;
4968  
4969 <  case 292:
4970 < /* Line 1792 of yacc.c  */
4971 < #line 1607 "conf_parser.y"
4969 >  case 309:
4970 > /* Line 1787 of yacc.c  */
4971 > #line 1724 "conf_parser.y"
4972      {
4973 <  if (conf_parser_ctx.pass != 2)
4973 >  if (conf_parser_ctx.pass == 2)
4974 >    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4975 > }
4976      break;
4977  
4978 <  if (IsChanPrefix(*yylval.string))
4979 <    create_channel_resv(yylval.string, block_state.rpass.buf, 1);
4978 >  case 310:
4979 > /* Line 1787 of yacc.c  */
4980 > #line 1730 "conf_parser.y"
4981 >    {
4982 >  if (conf_parser_ctx.pass == 2)
4983 >    strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4984   }
4985      break;
4986  
4987 <  case 293:
4988 < /* Line 1792 of yacc.c  */
4989 < #line 1616 "conf_parser.y"
4987 >  case 311:
4988 > /* Line 1787 of yacc.c  */
4989 > #line 1736 "conf_parser.y"
4990      {
4991    if (conf_parser_ctx.pass == 2)
4992 <    create_nick_resv(yylval.string, block_state.rpass.buf, 1);
4992 >    dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4993   }
4994      break;
4995  
4996 <  case 299:
4997 < /* Line 1792 of yacc.c  */
4998 < #line 1630 "conf_parser.y"
4996 >  case 317:
4997 > /* Line 1787 of yacc.c  */
4998 > #line 1751 "conf_parser.y"
4999      {
5000    if (conf_parser_ctx.pass == 2)
5001    {
# Line 4837 | Line 5008 | yyreduce:
5008   }
5009      break;
5010  
5011 <  case 300:
5012 < /* Line 1792 of yacc.c  */
5013 < #line 1645 "conf_parser.y"
5011 >  case 318:
5012 > /* Line 1787 of yacc.c  */
5013 > #line 1766 "conf_parser.y"
5014      {
5015    if (conf_parser_ctx.pass != 2)
5016      break;
# Line 4853 | Line 5024 | yyreduce:
5024   }
5025      break;
5026  
5027 <  case 301:
5028 < /* Line 1792 of yacc.c  */
5029 < #line 1656 "conf_parser.y"
5027 >  case 319:
5028 > /* Line 1787 of yacc.c  */
5029 > #line 1777 "conf_parser.y"
5030      {
5031    struct MaskItem *conf = NULL;
5032  
# Line 4866 | Line 5037 | yyreduce:
5037    conf->flags = block_state.flags.value;
5038    conf->name = xstrdup(block_state.name.buf);
5039    conf->user = xstrdup(block_state.user.buf);
5040 <  conf->user = xstrdup(block_state.host.buf);
5040 >  conf->host = xstrdup(block_state.host.buf);
5041   }
5042      break;
5043  
5044 <  case 308:
5045 < /* Line 1792 of yacc.c  */
5046 < #line 1673 "conf_parser.y"
5044 >  case 326:
5045 > /* Line 1787 of yacc.c  */
5046 > #line 1794 "conf_parser.y"
5047      {
5048    if (conf_parser_ctx.pass == 2)
5049      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5050   }
5051      break;
5052  
5053 <  case 309:
5054 < /* Line 1792 of yacc.c  */
5055 < #line 1679 "conf_parser.y"
5053 >  case 327:
5054 > /* Line 1787 of yacc.c  */
5055 > #line 1800 "conf_parser.y"
5056      {
5057    if (conf_parser_ctx.pass == 2)
5058    {
# Line 4901 | Line 5072 | yyreduce:
5072   }
5073      break;
5074  
5075 <  case 310:
5076 < /* Line 1792 of yacc.c  */
5077 < #line 1698 "conf_parser.y"
5075 >  case 328:
5076 > /* Line 1787 of yacc.c  */
5077 > #line 1819 "conf_parser.y"
5078      {
5079    if (conf_parser_ctx.pass == 2)
5080      block_state.flags.value = 0;
5081   }
5082      break;
5083  
5084 <  case 314:
5085 < /* Line 1792 of yacc.c  */
5086 < #line 1705 "conf_parser.y"
5084 >  case 332:
5085 > /* Line 1787 of yacc.c  */
5086 > #line 1826 "conf_parser.y"
5087      {
5088    if (conf_parser_ctx.pass == 2)
5089      block_state.flags.value |= SHARED_KLINE;
5090   }
5091      break;
5092  
5093 <  case 315:
5094 < /* Line 1792 of yacc.c  */
5095 < #line 1709 "conf_parser.y"
5093 >  case 333:
5094 > /* Line 1787 of yacc.c  */
5095 > #line 1830 "conf_parser.y"
5096      {
5097    if (conf_parser_ctx.pass == 2)
5098      block_state.flags.value |= SHARED_UNKLINE;
5099   }
5100      break;
5101  
5102 <  case 316:
5103 < /* Line 1792 of yacc.c  */
5104 < #line 1713 "conf_parser.y"
5102 >  case 334:
5103 > /* Line 1787 of yacc.c  */
5104 > #line 1834 "conf_parser.y"
5105      {
5106    if (conf_parser_ctx.pass == 2)
5107      block_state.flags.value |= SHARED_DLINE;
5108   }
5109      break;
5110  
5111 <  case 317:
5112 < /* Line 1792 of yacc.c  */
5113 < #line 1717 "conf_parser.y"
5111 >  case 335:
5112 > /* Line 1787 of yacc.c  */
5113 > #line 1838 "conf_parser.y"
5114      {
5115    if (conf_parser_ctx.pass == 2)
5116      block_state.flags.value |= SHARED_UNDLINE;
5117   }
5118      break;
5119  
5120 <  case 318:
5121 < /* Line 1792 of yacc.c  */
5122 < #line 1721 "conf_parser.y"
5120 >  case 336:
5121 > /* Line 1787 of yacc.c  */
5122 > #line 1842 "conf_parser.y"
5123      {
5124    if (conf_parser_ctx.pass == 2)
5125      block_state.flags.value |= SHARED_XLINE;
5126   }
5127      break;
5128  
5129 <  case 319:
5130 < /* Line 1792 of yacc.c  */
5131 < #line 1725 "conf_parser.y"
5129 >  case 337:
5130 > /* Line 1787 of yacc.c  */
5131 > #line 1846 "conf_parser.y"
5132      {
5133    if (conf_parser_ctx.pass == 2)
5134      block_state.flags.value |= SHARED_UNXLINE;
5135   }
5136      break;
5137  
5138 <  case 320:
5139 < /* Line 1792 of yacc.c  */
5140 < #line 1729 "conf_parser.y"
5138 >  case 338:
5139 > /* Line 1787 of yacc.c  */
5140 > #line 1850 "conf_parser.y"
5141      {
5142    if (conf_parser_ctx.pass == 2)
5143      block_state.flags.value |= SHARED_RESV;
5144   }
5145      break;
5146  
5147 <  case 321:
5148 < /* Line 1792 of yacc.c  */
5149 < #line 1733 "conf_parser.y"
5147 >  case 339:
5148 > /* Line 1787 of yacc.c  */
5149 > #line 1854 "conf_parser.y"
5150      {
5151    if (conf_parser_ctx.pass == 2)
5152      block_state.flags.value |= SHARED_UNRESV;
5153   }
5154      break;
5155  
5156 <  case 322:
5157 < /* Line 1792 of yacc.c  */
5158 < #line 1737 "conf_parser.y"
5156 >  case 340:
5157 > /* Line 1787 of yacc.c  */
5158 > #line 1858 "conf_parser.y"
5159      {
5160    if (conf_parser_ctx.pass == 2)
5161      block_state.flags.value |= SHARED_LOCOPS;
5162   }
5163      break;
5164  
5165 <  case 323:
5166 < /* Line 1792 of yacc.c  */
5167 < #line 1741 "conf_parser.y"
5165 >  case 341:
5166 > /* Line 1787 of yacc.c  */
5167 > #line 1862 "conf_parser.y"
5168      {
5169    if (conf_parser_ctx.pass == 2)
5170      block_state.flags.value = SHARED_ALL;
5171   }
5172      break;
5173  
5174 <  case 324:
5175 < /* Line 1792 of yacc.c  */
5176 < #line 1750 "conf_parser.y"
5174 >  case 342:
5175 > /* Line 1787 of yacc.c  */
5176 > #line 1871 "conf_parser.y"
5177      {
5178    if (conf_parser_ctx.pass != 2)
5179      break;
# Line 5014 | Line 5185 | yyreduce:
5185   }
5186      break;
5187  
5188 <  case 325:
5189 < /* Line 1792 of yacc.c  */
5190 < #line 1759 "conf_parser.y"
5188 >  case 343:
5189 > /* Line 1787 of yacc.c  */
5190 > #line 1880 "conf_parser.y"
5191      {
5192    struct MaskItem *conf = NULL;
5193  
# Line 5029 | Line 5200 | yyreduce:
5200   }
5201      break;
5202  
5203 <  case 331:
5204 < /* Line 1792 of yacc.c  */
5205 < #line 1774 "conf_parser.y"
5203 >  case 349:
5204 > /* Line 1787 of yacc.c  */
5205 > #line 1895 "conf_parser.y"
5206      {
5207    if (conf_parser_ctx.pass == 2)
5208      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5209   }
5210      break;
5211  
5212 <  case 332:
5213 < /* Line 1792 of yacc.c  */
5214 < #line 1780 "conf_parser.y"
5212 >  case 350:
5213 > /* Line 1787 of yacc.c  */
5214 > #line 1901 "conf_parser.y"
5215      {
5216    if (conf_parser_ctx.pass == 2)
5217      block_state.flags.value = 0;
5218   }
5219      break;
5220  
5221 <  case 336:
5222 < /* Line 1792 of yacc.c  */
5223 < #line 1787 "conf_parser.y"
5221 >  case 354:
5222 > /* Line 1787 of yacc.c  */
5223 > #line 1908 "conf_parser.y"
5224      {
5225    if (conf_parser_ctx.pass == 2)
5226      block_state.flags.value |= SHARED_KLINE;
5227   }
5228      break;
5229  
5230 <  case 337:
5231 < /* Line 1792 of yacc.c  */
5232 < #line 1791 "conf_parser.y"
5230 >  case 355:
5231 > /* Line 1787 of yacc.c  */
5232 > #line 1912 "conf_parser.y"
5233      {
5234    if (conf_parser_ctx.pass == 2)
5235      block_state.flags.value |= SHARED_UNKLINE;
5236   }
5237      break;
5238  
5239 <  case 338:
5240 < /* Line 1792 of yacc.c  */
5241 < #line 1795 "conf_parser.y"
5239 >  case 356:
5240 > /* Line 1787 of yacc.c  */
5241 > #line 1916 "conf_parser.y"
5242      {
5243    if (conf_parser_ctx.pass == 2)
5244      block_state.flags.value |= SHARED_DLINE;
5245   }
5246      break;
5247  
5248 <  case 339:
5249 < /* Line 1792 of yacc.c  */
5250 < #line 1799 "conf_parser.y"
5248 >  case 357:
5249 > /* Line 1787 of yacc.c  */
5250 > #line 1920 "conf_parser.y"
5251      {
5252    if (conf_parser_ctx.pass == 2)
5253      block_state.flags.value |= SHARED_UNDLINE;
5254   }
5255      break;
5256  
5257 <  case 340:
5258 < /* Line 1792 of yacc.c  */
5259 < #line 1803 "conf_parser.y"
5257 >  case 358:
5258 > /* Line 1787 of yacc.c  */
5259 > #line 1924 "conf_parser.y"
5260      {
5261    if (conf_parser_ctx.pass == 2)
5262      block_state.flags.value |= SHARED_XLINE;
5263   }
5264      break;
5265  
5266 <  case 341:
5267 < /* Line 1792 of yacc.c  */
5268 < #line 1807 "conf_parser.y"
5266 >  case 359:
5267 > /* Line 1787 of yacc.c  */
5268 > #line 1928 "conf_parser.y"
5269      {
5270    if (conf_parser_ctx.pass == 2)
5271      block_state.flags.value |= SHARED_UNXLINE;
5272   }
5273      break;
5274  
5275 <  case 342:
5276 < /* Line 1792 of yacc.c  */
5277 < #line 1811 "conf_parser.y"
5275 >  case 360:
5276 > /* Line 1787 of yacc.c  */
5277 > #line 1932 "conf_parser.y"
5278      {
5279    if (conf_parser_ctx.pass == 2)
5280      block_state.flags.value |= SHARED_RESV;
5281   }
5282      break;
5283  
5284 <  case 343:
5285 < /* Line 1792 of yacc.c  */
5286 < #line 1815 "conf_parser.y"
5284 >  case 361:
5285 > /* Line 1787 of yacc.c  */
5286 > #line 1936 "conf_parser.y"
5287      {
5288    if (conf_parser_ctx.pass == 2)
5289      block_state.flags.value |= SHARED_UNRESV;
5290   }
5291      break;
5292  
5293 <  case 344:
5294 < /* Line 1792 of yacc.c  */
5295 < #line 1819 "conf_parser.y"
5293 >  case 362:
5294 > /* Line 1787 of yacc.c  */
5295 > #line 1940 "conf_parser.y"
5296      {
5297    if (conf_parser_ctx.pass == 2)
5298      block_state.flags.value |= SHARED_LOCOPS;
5299   }
5300      break;
5301  
5302 <  case 345:
5303 < /* Line 1792 of yacc.c  */
5304 < #line 1823 "conf_parser.y"
5302 >  case 363:
5303 > /* Line 1787 of yacc.c  */
5304 > #line 1944 "conf_parser.y"
5305      {
5306    if (conf_parser_ctx.pass == 2)
5307      block_state.flags.value = SHARED_ALL;
5308   }
5309      break;
5310  
5311 <  case 346:
5312 < /* Line 1792 of yacc.c  */
5313 < #line 1832 "conf_parser.y"
5311 >  case 364:
5312 > /* Line 1787 of yacc.c  */
5313 > #line 1953 "conf_parser.y"
5314      {
5315  
5316    if (conf_parser_ctx.pass != 2)
# Line 5150 | Line 5321 | yyreduce:
5321   }
5322      break;
5323  
5324 <  case 347:
5325 < /* Line 1792 of yacc.c  */
5326 < #line 1840 "conf_parser.y"
5324 >  case 365:
5325 > /* Line 1787 of yacc.c  */
5326 > #line 1961 "conf_parser.y"
5327      {
5328    struct MaskItem *conf = NULL;
5329    struct addrinfo hints, *res;
# Line 5211 | Line 5382 | yyreduce:
5382   }
5383      break;
5384  
5385 <  case 364:
5386 < /* Line 1792 of yacc.c  */
5387 < #line 1906 "conf_parser.y"
5385 >  case 382:
5386 > /* Line 1787 of yacc.c  */
5387 > #line 2027 "conf_parser.y"
5388      {
5389    if (conf_parser_ctx.pass == 2)
5390      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5391   }
5392      break;
5393  
5394 <  case 365:
5395 < /* Line 1792 of yacc.c  */
5396 < #line 1912 "conf_parser.y"
5394 >  case 383:
5395 > /* Line 1787 of yacc.c  */
5396 > #line 2033 "conf_parser.y"
5397      {
5398    if (conf_parser_ctx.pass == 2)
5399      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
5400   }
5401      break;
5402  
5403 <  case 366:
5404 < /* Line 1792 of yacc.c  */
5405 < #line 1918 "conf_parser.y"
5403 >  case 384:
5404 > /* Line 1787 of yacc.c  */
5405 > #line 2039 "conf_parser.y"
5406      {
5407    if (conf_parser_ctx.pass == 2)
5408      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
5409   }
5410      break;
5411  
5412 <  case 367:
5413 < /* Line 1792 of yacc.c  */
5414 < #line 1924 "conf_parser.y"
5412 >  case 385:
5413 > /* Line 1787 of yacc.c  */
5414 > #line 2045 "conf_parser.y"
5415      {
5416    if (conf_parser_ctx.pass != 2)
5417      break;
5418  
5419    if ((yyvsp[(3) - (4)].string)[0] == ':')
5420 <    yyerror("Server passwords cannot begin with a colon");
5420 >    conf_error_report("Server passwords cannot begin with a colon");
5421    else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5422 <    yyerror("Server passwords cannot contain spaces");
5422 >    conf_error_report("Server passwords cannot contain spaces");
5423    else
5424      strlcpy(block_state.spass.buf, yylval.string, sizeof(block_state.spass.buf));
5425   }
5426      break;
5427  
5428 <  case 368:
5429 < /* Line 1792 of yacc.c  */
5430 < #line 1937 "conf_parser.y"
5428 >  case 386:
5429 > /* Line 1787 of yacc.c  */
5430 > #line 2058 "conf_parser.y"
5431      {
5432    if (conf_parser_ctx.pass != 2)
5433      break;
5434  
5435    if ((yyvsp[(3) - (4)].string)[0] == ':')
5436 <    yyerror("Server passwords cannot begin with a colon");
5436 >    conf_error_report("Server passwords cannot begin with a colon");
5437    else if (strchr((yyvsp[(3) - (4)].string), ' ') != NULL)
5438 <    yyerror("Server passwords cannot contain spaces");
5438 >    conf_error_report("Server passwords cannot contain spaces");
5439    else
5440      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5441   }
5442      break;
5443  
5444 <  case 369:
5445 < /* Line 1792 of yacc.c  */
5446 < #line 1950 "conf_parser.y"
5444 >  case 387:
5445 > /* Line 1787 of yacc.c  */
5446 > #line 2071 "conf_parser.y"
5447      {
5448    if (conf_parser_ctx.pass == 2)
5449      block_state.port.value = (yyvsp[(3) - (4)].number);
5450   }
5451      break;
5452  
5453 <  case 370:
5454 < /* Line 1792 of yacc.c  */
5455 < #line 1956 "conf_parser.y"
5453 >  case 388:
5454 > /* Line 1787 of yacc.c  */
5455 > #line 2077 "conf_parser.y"
5456      {
5457    if (conf_parser_ctx.pass == 2)
5458      block_state.aftype.value = AF_INET;
5459   }
5460      break;
5461  
5462 <  case 371:
5463 < /* Line 1792 of yacc.c  */
5464 < #line 1960 "conf_parser.y"
5462 >  case 389:
5463 > /* Line 1787 of yacc.c  */
5464 > #line 2081 "conf_parser.y"
5465      {
5466   #ifdef IPV6
5467    if (conf_parser_ctx.pass == 2)
# Line 5299 | Line 5470 | yyreduce:
5470   }
5471      break;
5472  
5473 <  case 372:
5474 < /* Line 1792 of yacc.c  */
5475 < #line 1968 "conf_parser.y"
5473 >  case 390:
5474 > /* Line 1787 of yacc.c  */
5475 > #line 2089 "conf_parser.y"
5476      {
5477    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5478   }
5479      break;
5480  
5481 <  case 376:
5482 < /* Line 1792 of yacc.c  */
5483 < #line 1974 "conf_parser.y"
5481 >  case 394:
5482 > /* Line 1787 of yacc.c  */
5483 > #line 2095 "conf_parser.y"
5484      {
5485    if (conf_parser_ctx.pass == 2)
5486      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
5487   }
5488      break;
5489  
5490 <  case 377:
5491 < /* Line 1792 of yacc.c  */
5492 < #line 1978 "conf_parser.y"
5490 >  case 395:
5491 > /* Line 1787 of yacc.c  */
5492 > #line 2099 "conf_parser.y"
5493      {
5494    if (conf_parser_ctx.pass == 2)
5495      block_state.flags.value |= CONF_FLAGS_SSL;
5496   }
5497      break;
5498  
5499 <  case 378:
5500 < /* Line 1792 of yacc.c  */
5501 < #line 1984 "conf_parser.y"
5499 >  case 396:
5500 > /* Line 1787 of yacc.c  */
5501 > #line 2105 "conf_parser.y"
5502      {
5503    if (conf_parser_ctx.pass == 2)
5504    {
# Line 5339 | Line 5510 | yyreduce:
5510   }
5511      break;
5512  
5513 <  case 379:
5514 < /* Line 1792 of yacc.c  */
5515 < #line 1995 "conf_parser.y"
5513 >  case 397:
5514 > /* Line 1787 of yacc.c  */
5515 > #line 2116 "conf_parser.y"
5516      {
5517    if (conf_parser_ctx.pass == 2)
5518      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
5519   }
5520      break;
5521  
5522 <  case 380:
5523 < /* Line 1792 of yacc.c  */
5524 < #line 2001 "conf_parser.y"
5522 >  case 398:
5523 > /* Line 1787 of yacc.c  */
5524 > #line 2122 "conf_parser.y"
5525      {
5526    if (conf_parser_ctx.pass == 2)
5527      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
5528   }
5529      break;
5530  
5531 <  case 381:
5532 < /* Line 1792 of yacc.c  */
5533 < #line 2007 "conf_parser.y"
5531 >  case 399:
5532 > /* Line 1787 of yacc.c  */
5533 > #line 2128 "conf_parser.y"
5534      {
5535    if (conf_parser_ctx.pass == 2)
5536      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
5537   }
5538      break;
5539  
5540 <  case 382:
5541 < /* Line 1792 of yacc.c  */
5542 < #line 2013 "conf_parser.y"
5540 >  case 400:
5541 > /* Line 1787 of yacc.c  */
5542 > #line 2134 "conf_parser.y"
5543      {
5544   #ifdef HAVE_LIBCRYPTO
5545    if (conf_parser_ctx.pass == 2)
5546      strlcpy(block_state.ciph.buf, yylval.string, sizeof(block_state.ciph.buf));
5547   #else
5548    if (conf_parser_ctx.pass == 2)
5549 <    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5549 >    conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5550   #endif
5551   }
5552      break;
5553  
5554 <  case 383:
5555 < /* Line 1792 of yacc.c  */
5556 < #line 2028 "conf_parser.y"
5554 >  case 401:
5555 > /* Line 1787 of yacc.c  */
5556 > #line 2149 "conf_parser.y"
5557      {
5558    if (conf_parser_ctx.pass == 2)
5559      reset_block_state();
5560   }
5561      break;
5562  
5563 <  case 384:
5564 < /* Line 1792 of yacc.c  */
5565 < #line 2032 "conf_parser.y"
5563 >  case 402:
5564 > /* Line 1787 of yacc.c  */
5565 > #line 2153 "conf_parser.y"
5566      {
5567    struct MaskItem *conf = NULL;
5568  
# Line 5402 | Line 5573 | yyreduce:
5573        !block_state.host.buf[0])
5574      break;
5575  
5576 +  conf = conf_make(CONF_KLINE);
5577 +  conf->user = xstrdup(block_state.user.buf);
5578 +  conf->host = xstrdup(block_state.host.buf);
5579  
5580 <  if (block_state.port.value == 1)
5581 <  {
5408 < #ifdef HAVE_LIBPCRE
5409 <    void *exp_user = NULL;
5410 <    void *exp_host = NULL;
5411 <    const char *errptr = NULL;
5412 <
5413 <    if (!(exp_user = ircd_pcre_compile(block_state.user.buf, &errptr)) ||
5414 <        !(exp_host = ircd_pcre_compile(block_state.host.buf, &errptr)))
5415 <    {
5416 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5417 <           errptr);
5418 <      break;
5419 <    }
5420 <
5421 <    conf = conf_make(CONF_RKLINE);
5422 <    conf->regexuser = exp_user;
5423 <    conf->regexhost = exp_host;
5424 <
5425 <    conf->user = xstrdup(block_state.user.buf);
5426 <    conf->host = xstrdup(block_state.host.buf);
5427 <
5428 <    if (block_state.rpass.buf[0])
5429 <      conf->reason = xstrdup(block_state.rpass.buf);
5430 <    else
5431 <      conf->reason = xstrdup(CONF_NOREASON);
5432 < #else
5433 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5434 <    break;
5435 < #endif
5436 <  }
5580 >  if (block_state.rpass.buf[0])
5581 >    conf->reason = xstrdup(block_state.rpass.buf);
5582    else
5583 <  {
5584 <    conf = conf_make(CONF_KLINE);
5440 <
5441 <    conf->user = xstrdup(block_state.user.buf);
5442 <    conf->host = xstrdup(block_state.host.buf);
5443 <
5444 <    if (block_state.rpass.buf[0])
5445 <      conf->reason = xstrdup(block_state.rpass.buf);
5446 <    else
5447 <      conf->reason = xstrdup(CONF_NOREASON);
5448 <    add_conf_by_address(CONF_KLINE, conf);
5449 <  }
5450 < }
5451 <    break;
5452 <
5453 <  case 385:
5454 < /* Line 1792 of yacc.c  */
5455 < #line 2090 "conf_parser.y"
5456 <    {
5457 <  if (conf_parser_ctx.pass == 2)
5458 <    block_state.port.value = 0;
5459 < }
5460 <    break;
5461 <
5462 <  case 389:
5463 < /* Line 1792 of yacc.c  */
5464 < #line 2097 "conf_parser.y"
5465 <    {
5466 <  if (conf_parser_ctx.pass == 2)
5467 <    block_state.port.value = 1;
5583 >    conf->reason = xstrdup(CONF_NOREASON);
5584 >  add_conf_by_address(CONF_KLINE, conf);
5585   }
5586      break;
5587  
5588 <  case 396:
5589 < /* Line 1792 of yacc.c  */
5590 < #line 2106 "conf_parser.y"
5588 >  case 408:
5589 > /* Line 1787 of yacc.c  */
5590 > #line 2178 "conf_parser.y"
5591      {
5592  
5593    if (conf_parser_ctx.pass == 2)
# Line 5491 | Line 5608 | yyreduce:
5608   }
5609      break;
5610  
5611 <  case 397:
5612 < /* Line 1792 of yacc.c  */
5613 < #line 2126 "conf_parser.y"
5611 >  case 409:
5612 > /* Line 1787 of yacc.c  */
5613 > #line 2198 "conf_parser.y"
5614      {
5615    if (conf_parser_ctx.pass == 2)
5616      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5617   }
5618      break;
5619  
5620 <  case 398:
5621 < /* Line 1792 of yacc.c  */
5622 < #line 2135 "conf_parser.y"
5620 >  case 410:
5621 > /* Line 1787 of yacc.c  */
5622 > #line 2207 "conf_parser.y"
5623      {
5624    if (conf_parser_ctx.pass == 2)
5625      reset_block_state();
5626   }
5627      break;
5628  
5629 <  case 399:
5630 < /* Line 1792 of yacc.c  */
5631 < #line 2139 "conf_parser.y"
5629 >  case 411:
5630 > /* Line 1787 of yacc.c  */
5631 > #line 2211 "conf_parser.y"
5632      {
5633    struct MaskItem *conf = NULL;
5634  
# Line 5535 | Line 5652 | yyreduce:
5652   }
5653      break;
5654  
5655 <  case 405:
5656 < /* Line 1792 of yacc.c  */
5657 < #line 2165 "conf_parser.y"
5655 >  case 417:
5656 > /* Line 1787 of yacc.c  */
5657 > #line 2237 "conf_parser.y"
5658      {
5659    if (conf_parser_ctx.pass == 2)
5660      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
5661   }
5662      break;
5663  
5664 <  case 406:
5665 < /* Line 1792 of yacc.c  */
5666 < #line 2171 "conf_parser.y"
5664 >  case 418:
5665 > /* Line 1787 of yacc.c  */
5666 > #line 2243 "conf_parser.y"
5667      {
5668    if (conf_parser_ctx.pass == 2)
5669      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5670   }
5671      break;
5672  
5673 <  case 412:
5674 < /* Line 1792 of yacc.c  */
5675 < #line 2185 "conf_parser.y"
5673 >  case 424:
5674 > /* Line 1787 of yacc.c  */
5675 > #line 2257 "conf_parser.y"
5676      {
5677    if (conf_parser_ctx.pass == 2)
5678    {
# Line 5570 | Line 5687 | yyreduce:
5687   }
5688      break;
5689  
5690 <  case 413:
5691 < /* Line 1792 of yacc.c  */
5692 < #line 2202 "conf_parser.y"
5690 >  case 425:
5691 > /* Line 1787 of yacc.c  */
5692 > #line 2274 "conf_parser.y"
5693      {
5694    if (conf_parser_ctx.pass == 2)
5695      reset_block_state();
5696   }
5697      break;
5698  
5699 <  case 414:
5700 < /* Line 1792 of yacc.c  */
5701 < #line 2206 "conf_parser.y"
5699 >  case 426:
5700 > /* Line 1787 of yacc.c  */
5701 > #line 2278 "conf_parser.y"
5702      {
5703    struct MaskItem *conf = NULL;
5704  
# Line 5591 | Line 5708 | yyreduce:
5708    if (!block_state.name.buf[0])
5709      break;
5710  
5711 <  if (block_state.port.value == 1)
5595 <  {
5596 < #ifdef HAVE_LIBPCRE
5597 <    void *exp_p = NULL;
5598 <    const char *errptr = NULL;
5599 <
5600 <    if (!(exp_p = ircd_pcre_compile(block_state.name.buf, &errptr)))
5601 <    {
5602 <      ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5603 <           errptr);
5604 <      break;
5605 <    }
5606 <
5607 <    conf = conf_make(CONF_RXLINE);
5608 <    conf->regexuser = exp_p;
5609 < #else
5610 <    ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5611 <    break;
5612 < #endif
5613 <  }
5614 <  else
5615 <    conf = conf_make(CONF_XLINE);
5616 <
5711 >  conf = conf_make(CONF_XLINE);
5712    conf->name = xstrdup(block_state.name.buf);
5713  
5714    if (block_state.rpass.buf[0])
# Line 5623 | Line 5718 | yyreduce:
5718   }
5719      break;
5720  
5721 <  case 415:
5722 < /* Line 1792 of yacc.c  */
5723 < #line 2247 "conf_parser.y"
5629 <    {
5630 <  if (conf_parser_ctx.pass == 2)
5631 <    block_state.port.value = 0;
5632 < }
5633 <    break;
5634 <
5635 <  case 419:
5636 < /* Line 1792 of yacc.c  */
5637 < #line 2254 "conf_parser.y"
5638 <    {
5639 <  if (conf_parser_ctx.pass == 2)
5640 <    block_state.port.value = 1;
5641 < }
5642 <    break;
5643 <
5644 <  case 426:
5645 < /* Line 1792 of yacc.c  */
5646 < #line 2263 "conf_parser.y"
5721 >  case 432:
5722 > /* Line 1787 of yacc.c  */
5723 > #line 2300 "conf_parser.y"
5724      {
5725    if (conf_parser_ctx.pass == 2)
5726      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5727   }
5728      break;
5729  
5730 <  case 427:
5731 < /* Line 1792 of yacc.c  */
5732 < #line 2269 "conf_parser.y"
5730 >  case 433:
5731 > /* Line 1787 of yacc.c  */
5732 > #line 2306 "conf_parser.y"
5733      {
5734    if (conf_parser_ctx.pass == 2)
5735      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5736   }
5737      break;
5738  
5739 <  case 481:
5740 < /* Line 1792 of yacc.c  */
5741 < #line 2314 "conf_parser.y"
5739 >  case 486:
5740 > /* Line 1787 of yacc.c  */
5741 > #line 2350 "conf_parser.y"
5742      {
5743    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5744   }
5745      break;
5746  
5747 <  case 482:
5748 < /* Line 1792 of yacc.c  */
5749 < #line 2319 "conf_parser.y"
5747 >  case 487:
5748 > /* Line 1787 of yacc.c  */
5749 > #line 2355 "conf_parser.y"
5750      {
5751    if (conf_parser_ctx.pass == 2)
5752      ConfigFileEntry.glines = yylval.number;
5753   }
5754      break;
5755  
5756 <  case 483:
5757 < /* Line 1792 of yacc.c  */
5758 < #line 2325 "conf_parser.y"
5756 >  case 488:
5757 > /* Line 1787 of yacc.c  */
5758 > #line 2361 "conf_parser.y"
5759      {
5760    if (conf_parser_ctx.pass == 2)
5761      ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5762   }
5763      break;
5764  
5765 <  case 484:
5766 < /* Line 1792 of yacc.c  */
5767 < #line 2331 "conf_parser.y"
5765 >  case 489:
5766 > /* Line 1787 of yacc.c  */
5767 > #line 2367 "conf_parser.y"
5768      {
5769    if (conf_parser_ctx.pass == 2)
5770      ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5771   }
5772      break;
5773  
5774 <  case 485:
5775 < /* Line 1792 of yacc.c  */
5776 < #line 2337 "conf_parser.y"
5774 >  case 490:
5775 > /* Line 1787 of yacc.c  */
5776 > #line 2373 "conf_parser.y"
5777      {
5778    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5779   }
5780      break;
5781  
5782 <  case 486:
5783 < /* Line 1792 of yacc.c  */
5784 < #line 2342 "conf_parser.y"
5782 >  case 491:
5783 > /* Line 1787 of yacc.c  */
5784 > #line 2378 "conf_parser.y"
5785      {
5786    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5787   }
5788      break;
5789  
5790 <  case 487:
5791 < /* Line 1792 of yacc.c  */
5792 < #line 2347 "conf_parser.y"
5790 >  case 492:
5791 > /* Line 1787 of yacc.c  */
5792 > #line 2383 "conf_parser.y"
5793      {
5794    ConfigFileEntry.tkline_expire_notices = yylval.number;
5795   }
5796      break;
5797  
5798 <  case 488:
5799 < /* Line 1792 of yacc.c  */
5800 < #line 2352 "conf_parser.y"
5798 >  case 493:
5799 > /* Line 1787 of yacc.c  */
5800 > #line 2388 "conf_parser.y"
5801      {
5802    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5803   }
5804      break;
5805  
5806 <  case 489:
5807 < /* Line 1792 of yacc.c  */
5808 < #line 2357 "conf_parser.y"
5806 >  case 494:
5807 > /* Line 1787 of yacc.c  */
5808 > #line 2393 "conf_parser.y"
5809      {
5810    ConfigFileEntry.hide_spoof_ips = yylval.number;
5811   }
5812      break;
5813  
5814 <  case 490:
5815 < /* Line 1792 of yacc.c  */
5816 < #line 2362 "conf_parser.y"
5814 >  case 495:
5815 > /* Line 1787 of yacc.c  */
5816 > #line 2398 "conf_parser.y"
5817      {
5818    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5819   }
5820      break;
5821  
5822 <  case 491:
5823 < /* Line 1792 of yacc.c  */
5824 < #line 2367 "conf_parser.y"
5822 >  case 496:
5823 > /* Line 1787 of yacc.c  */
5824 > #line 2403 "conf_parser.y"
5825      {
5826    ConfigFileEntry.disable_remote = yylval.number;
5827   }
5828      break;
5829  
5830 <  case 492:
5831 < /* Line 1792 of yacc.c  */
5832 < #line 2372 "conf_parser.y"
5830 >  case 497:
5831 > /* Line 1787 of yacc.c  */
5832 > #line 2408 "conf_parser.y"
5833      {
5834    ConfigFileEntry.failed_oper_notice = yylval.number;
5835   }
5836      break;
5837  
5838 <  case 493:
5839 < /* Line 1792 of yacc.c  */
5840 < #line 2377 "conf_parser.y"
5838 >  case 498:
5839 > /* Line 1787 of yacc.c  */
5840 > #line 2413 "conf_parser.y"
5841      {
5842    ConfigFileEntry.anti_nick_flood = yylval.number;
5843   }
5844      break;
5845  
5846 <  case 494:
5847 < /* Line 1792 of yacc.c  */
5848 < #line 2382 "conf_parser.y"
5846 >  case 499:
5847 > /* Line 1787 of yacc.c  */
5848 > #line 2418 "conf_parser.y"
5849      {
5850    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
5851   }
5852      break;
5853  
5854 <  case 495:
5855 < /* Line 1792 of yacc.c  */
5856 < #line 2387 "conf_parser.y"
5854 >  case 500:
5855 > /* Line 1787 of yacc.c  */
5856 > #line 2423 "conf_parser.y"
5857      {
5858    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
5859   }
5860      break;
5861  
5862 <  case 496:
5863 < /* Line 1792 of yacc.c  */
5864 < #line 2392 "conf_parser.y"
5862 >  case 501:
5863 > /* Line 1787 of yacc.c  */
5864 > #line 2428 "conf_parser.y"
5865      {
5866    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
5867   }
5868      break;
5869  
5870 <  case 497:
5871 < /* Line 1792 of yacc.c  */
5872 < #line 2397 "conf_parser.y"
5870 >  case 502:
5871 > /* Line 1787 of yacc.c  */
5872 > #line 2433 "conf_parser.y"
5873      {
5874    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
5875   }
5876      break;
5877  
5878 <  case 498:
5879 < /* Line 1792 of yacc.c  */
5880 < #line 2402 "conf_parser.y"
5878 >  case 503:
5879 > /* Line 1787 of yacc.c  */
5880 > #line 2438 "conf_parser.y"
5881      {
5882    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
5883   }
5884      break;
5885  
5886 <  case 499:
5887 < /* Line 1792 of yacc.c  */
5888 < #line 2407 "conf_parser.y"
5886 >  case 504:
5887 > /* Line 1787 of yacc.c  */
5888 > #line 2443 "conf_parser.y"
5889      {
5890    if (conf_parser_ctx.pass == 2)
5891      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
5892   }
5893      break;
5894  
5895 <  case 500:
5896 < /* Line 1792 of yacc.c  */
5897 < #line 2413 "conf_parser.y"
5895 >  case 505:
5896 > /* Line 1787 of yacc.c  */
5897 > #line 2449 "conf_parser.y"
5898      {
5899    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
5900    {
# Line 5829 | Line 5906 | yyreduce:
5906   }
5907      break;
5908  
5909 <  case 501:
5910 < /* Line 1792 of yacc.c  */
5911 < #line 2424 "conf_parser.y"
5909 >  case 506:
5910 > /* Line 1787 of yacc.c  */
5911 > #line 2460 "conf_parser.y"
5912      {
5913    ConfigFileEntry.invisible_on_connect = yylval.number;
5914   }
5915      break;
5916  
5917 <  case 502:
5918 < /* Line 1792 of yacc.c  */
5919 < #line 2429 "conf_parser.y"
5917 >  case 507:
5918 > /* Line 1787 of yacc.c  */
5919 > #line 2465 "conf_parser.y"
5920      {
5921    ConfigFileEntry.warn_no_nline = yylval.number;
5922   }
5923      break;
5924  
5925 <  case 503:
5926 < /* Line 1792 of yacc.c  */
5927 < #line 2434 "conf_parser.y"
5925 >  case 508:
5926 > /* Line 1787 of yacc.c  */
5927 > #line 2470 "conf_parser.y"
5928      {
5929    ConfigFileEntry.stats_e_disabled = yylval.number;
5930   }
5931      break;
5932  
5933 <  case 504:
5934 < /* Line 1792 of yacc.c  */
5935 < #line 2439 "conf_parser.y"
5933 >  case 509:
5934 > /* Line 1787 of yacc.c  */
5935 > #line 2475 "conf_parser.y"
5936      {
5937    ConfigFileEntry.stats_o_oper_only = yylval.number;
5938   }
5939      break;
5940  
5941 <  case 505:
5942 < /* Line 1792 of yacc.c  */
5943 < #line 2444 "conf_parser.y"
5941 >  case 510:
5942 > /* Line 1787 of yacc.c  */
5943 > #line 2480 "conf_parser.y"
5944      {
5945    ConfigFileEntry.stats_P_oper_only = yylval.number;
5946   }
5947      break;
5948  
5949 <  case 506:
5950 < /* Line 1792 of yacc.c  */
5951 < #line 2449 "conf_parser.y"
5949 >  case 511:
5950 > /* Line 1787 of yacc.c  */
5951 > #line 2485 "conf_parser.y"
5952      {
5953    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
5954   }
5955      break;
5956  
5957 <  case 507:
5958 < /* Line 1792 of yacc.c  */
5959 < #line 2452 "conf_parser.y"
5957 >  case 512:
5958 > /* Line 1787 of yacc.c  */
5959 > #line 2488 "conf_parser.y"
5960      {
5961    ConfigFileEntry.stats_k_oper_only = 1;
5962   }
5963      break;
5964  
5965 <  case 508:
5966 < /* Line 1792 of yacc.c  */
5967 < #line 2457 "conf_parser.y"
5965 >  case 513:
5966 > /* Line 1787 of yacc.c  */
5967 > #line 2493 "conf_parser.y"
5968      {
5969    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
5970   }
5971      break;
5972  
5973 <  case 509:
5974 < /* Line 1792 of yacc.c  */
5975 < #line 2460 "conf_parser.y"
5973 >  case 514:
5974 > /* Line 1787 of yacc.c  */
5975 > #line 2496 "conf_parser.y"
5976      {
5977    ConfigFileEntry.stats_i_oper_only = 1;
5978   }
5979      break;
5980  
5981 <  case 510:
5982 < /* Line 1792 of yacc.c  */
5983 < #line 2465 "conf_parser.y"
5981 >  case 515:
5982 > /* Line 1787 of yacc.c  */
5983 > #line 2501 "conf_parser.y"
5984      {
5985    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
5986   }
5987      break;
5988  
5989 <  case 511:
5990 < /* Line 1792 of yacc.c  */
5991 < #line 2470 "conf_parser.y"
5989 >  case 516:
5990 > /* Line 1787 of yacc.c  */
5991 > #line 2506 "conf_parser.y"
5992      {
5993    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
5994   }
5995      break;
5996  
5997 <  case 512:
5998 < /* Line 1792 of yacc.c  */
5999 < #line 2475 "conf_parser.y"
5997 >  case 517:
5998 > /* Line 1787 of yacc.c  */
5999 > #line 2511 "conf_parser.y"
6000      {
6001    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6002   }
6003      break;
6004  
6005 <  case 513:
6006 < /* Line 1792 of yacc.c  */
6007 < #line 2480 "conf_parser.y"
6005 >  case 518:
6006 > /* Line 1787 of yacc.c  */
6007 > #line 2516 "conf_parser.y"
6008      {
6009    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6010   }
6011      break;
6012  
6013 <  case 514:
6014 < /* Line 1792 of yacc.c  */
6015 < #line 2485 "conf_parser.y"
6013 >  case 519:
6014 > /* Line 1787 of yacc.c  */
6015 > #line 2521 "conf_parser.y"
6016      {
6017    ConfigFileEntry.short_motd = yylval.number;
6018   }
6019      break;
6020  
6021 <  case 515:
6022 < /* Line 1792 of yacc.c  */
6023 < #line 2490 "conf_parser.y"
6021 >  case 520:
6022 > /* Line 1787 of yacc.c  */
6023 > #line 2526 "conf_parser.y"
6024      {
6025    ConfigFileEntry.no_oper_flood = yylval.number;
6026   }
6027      break;
6028  
6029 <  case 516:
6030 < /* Line 1792 of yacc.c  */
6031 < #line 2495 "conf_parser.y"
6029 >  case 521:
6030 > /* Line 1787 of yacc.c  */
6031 > #line 2531 "conf_parser.y"
6032      {
6033    ConfigFileEntry.true_no_oper_flood = yylval.number;
6034   }
6035      break;
6036  
6037 <  case 517:
6038 < /* Line 1792 of yacc.c  */
6039 < #line 2500 "conf_parser.y"
6037 >  case 522:
6038 > /* Line 1787 of yacc.c  */
6039 > #line 2536 "conf_parser.y"
6040      {
6041    ConfigFileEntry.oper_pass_resv = yylval.number;
6042   }
6043      break;
6044  
6045 <  case 518:
6046 < /* Line 1792 of yacc.c  */
6047 < #line 2505 "conf_parser.y"
5971 <    {
5972 <  if (conf_parser_ctx.pass == 2)
5973 <  {
5974 <    if (strlen(yylval.string) > LOCALE_LENGTH-2)
5975 <      yylval.string[LOCALE_LENGTH-1] = '\0';
5976 <
5977 <    set_locale(yylval.string);
5978 <  }
5979 < }
5980 <    break;
5981 <
5982 <  case 519:
5983 < /* Line 1792 of yacc.c  */
5984 < #line 2516 "conf_parser.y"
6045 >  case 523:
6046 > /* Line 1787 of yacc.c  */
6047 > #line 2541 "conf_parser.y"
6048      {
6049    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6050   }
6051      break;
6052  
6053 <  case 520:
6054 < /* Line 1792 of yacc.c  */
6055 < #line 2521 "conf_parser.y"
6053 >  case 524:
6054 > /* Line 1787 of yacc.c  */
6055 > #line 2546 "conf_parser.y"
6056      {
6057    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6058   }
6059      break;
6060  
6061 <  case 521:
6062 < /* Line 1792 of yacc.c  */
6063 < #line 2526 "conf_parser.y"
6061 >  case 525:
6062 > /* Line 1787 of yacc.c  */
6063 > #line 2551 "conf_parser.y"
6064      {
6065    ConfigFileEntry.use_egd = yylval.number;
6066   }
6067      break;
6068  
6069 <  case 522:
6070 < /* Line 1792 of yacc.c  */
6071 < #line 2531 "conf_parser.y"
6069 >  case 526:
6070 > /* Line 1787 of yacc.c  */
6071 > #line 2556 "conf_parser.y"
6072      {
6073    if (conf_parser_ctx.pass == 2)
6074    {
# Line 6015 | Line 6078 | yyreduce:
6078   }
6079      break;
6080  
6081 <  case 523:
6082 < /* Line 1792 of yacc.c  */
6083 < #line 2540 "conf_parser.y"
6081 >  case 527:
6082 > /* Line 1787 of yacc.c  */
6083 > #line 2565 "conf_parser.y"
6084      {
6085    if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6086    {
# Line 6027 | Line 6090 | yyreduce:
6090   }
6091      break;
6092  
6093 <  case 524:
6094 < /* Line 1792 of yacc.c  */
6095 < #line 2549 "conf_parser.y"
6093 >  case 528:
6094 > /* Line 1787 of yacc.c  */
6095 > #line 2574 "conf_parser.y"
6096      {
6097    ConfigFileEntry.ping_cookie = yylval.number;
6098   }
6099      break;
6100  
6101 <  case 525:
6102 < /* Line 1792 of yacc.c  */
6103 < #line 2554 "conf_parser.y"
6101 >  case 529:
6102 > /* Line 1787 of yacc.c  */
6103 > #line 2579 "conf_parser.y"
6104      {
6105    ConfigFileEntry.disable_auth = yylval.number;
6106   }
6107      break;
6108  
6109 <  case 526:
6110 < /* Line 1792 of yacc.c  */
6111 < #line 2559 "conf_parser.y"
6109 >  case 530:
6110 > /* Line 1787 of yacc.c  */
6111 > #line 2584 "conf_parser.y"
6112      {
6113    ConfigFileEntry.throttle_time = yylval.number;
6114   }
6115      break;
6116  
6117 <  case 527:
6118 < /* Line 1792 of yacc.c  */
6119 < #line 2564 "conf_parser.y"
6117 >  case 531:
6118 > /* Line 1787 of yacc.c  */
6119 > #line 2589 "conf_parser.y"
6120      {
6121    ConfigFileEntry.oper_umodes = 0;
6122   }
6123      break;
6124  
6125 <  case 531:
6126 < /* Line 1792 of yacc.c  */
6127 < #line 2570 "conf_parser.y"
6125 >  case 535:
6126 > /* Line 1787 of yacc.c  */
6127 > #line 2595 "conf_parser.y"
6128      {
6129    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6130   }
6131      break;
6132  
6133 <  case 532:
6134 < /* Line 1792 of yacc.c  */
6135 < #line 2573 "conf_parser.y"
6133 >  case 536:
6134 > /* Line 1787 of yacc.c  */
6135 > #line 2598 "conf_parser.y"
6136      {
6137    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6138   }
6139      break;
6140  
6141 <  case 533:
6142 < /* Line 1792 of yacc.c  */
6143 < #line 2576 "conf_parser.y"
6141 >  case 537:
6142 > /* Line 1787 of yacc.c  */
6143 > #line 2601 "conf_parser.y"
6144      {
6145    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6146   }
6147      break;
6148  
6149 <  case 534:
6150 < /* Line 1792 of yacc.c  */
6151 < #line 2579 "conf_parser.y"
6149 >  case 538:
6150 > /* Line 1787 of yacc.c  */
6151 > #line 2604 "conf_parser.y"
6152      {
6153    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6154   }
6155      break;
6156  
6157 <  case 535:
6158 < /* Line 1792 of yacc.c  */
6159 < #line 2582 "conf_parser.y"
6157 >  case 539:
6158 > /* Line 1787 of yacc.c  */
6159 > #line 2607 "conf_parser.y"
6160      {
6161    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6162   }
6163      break;
6164  
6165 <  case 536:
6166 < /* Line 1792 of yacc.c  */
6167 < #line 2585 "conf_parser.y"
6165 >  case 540:
6166 > /* Line 1787 of yacc.c  */
6167 > #line 2610 "conf_parser.y"
6168      {
6169    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6170   }
6171      break;
6172  
6173 <  case 537:
6174 < /* Line 1792 of yacc.c  */
6175 < #line 2588 "conf_parser.y"
6173 >  case 541:
6174 > /* Line 1787 of yacc.c  */
6175 > #line 2613 "conf_parser.y"
6176      {
6177    ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6178   }
6179      break;
6180  
6181 <  case 538:
6182 < /* Line 1792 of yacc.c  */
6183 < #line 2591 "conf_parser.y"
6181 >  case 542:
6182 > /* Line 1787 of yacc.c  */
6183 > #line 2616 "conf_parser.y"
6184      {
6185    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6186   }
6187      break;
6188  
6189 <  case 539:
6190 < /* Line 1792 of yacc.c  */
6191 < #line 2594 "conf_parser.y"
6189 >  case 543:
6190 > /* Line 1787 of yacc.c  */
6191 > #line 2619 "conf_parser.y"
6192      {
6193    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6194   }
6195      break;
6196  
6197 <  case 540:
6198 < /* Line 1792 of yacc.c  */
6199 < #line 2597 "conf_parser.y"
6197 >  case 544:
6198 > /* Line 1787 of yacc.c  */
6199 > #line 2622 "conf_parser.y"
6200      {
6201    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6202   }
6203      break;
6204  
6205 <  case 541:
6206 < /* Line 1792 of yacc.c  */
6207 < #line 2600 "conf_parser.y"
6205 >  case 545:
6206 > /* Line 1787 of yacc.c  */
6207 > #line 2625 "conf_parser.y"
6208      {
6209    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6210   }
6211      break;
6212  
6213 <  case 542:
6214 < /* Line 1792 of yacc.c  */
6215 < #line 2603 "conf_parser.y"
6213 >  case 546:
6214 > /* Line 1787 of yacc.c  */
6215 > #line 2628 "conf_parser.y"
6216      {
6217    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6218   }
6219      break;
6220  
6221 <  case 543:
6222 < /* Line 1792 of yacc.c  */
6223 < #line 2606 "conf_parser.y"
6221 >  case 547:
6222 > /* Line 1787 of yacc.c  */
6223 > #line 2631 "conf_parser.y"
6224      {
6225    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6226   }
6227      break;
6228  
6229 <  case 544:
6230 < /* Line 1792 of yacc.c  */
6231 < #line 2609 "conf_parser.y"
6229 >  case 548:
6230 > /* Line 1787 of yacc.c  */
6231 > #line 2634 "conf_parser.y"
6232      {
6233    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6234   }
6235      break;
6236  
6237 <  case 545:
6238 < /* Line 1792 of yacc.c  */
6239 < #line 2612 "conf_parser.y"
6237 >  case 549:
6238 > /* Line 1787 of yacc.c  */
6239 > #line 2637 "conf_parser.y"
6240      {
6241    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6242   }
6243      break;
6244  
6245 <  case 546:
6246 < /* Line 1792 of yacc.c  */
6247 < #line 2615 "conf_parser.y"
6245 >  case 550:
6246 > /* Line 1787 of yacc.c  */
6247 > #line 2640 "conf_parser.y"
6248      {
6249    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6250   }
6251      break;
6252  
6253 <  case 547:
6254 < /* Line 1792 of yacc.c  */
6255 < #line 2618 "conf_parser.y"
6253 >  case 551:
6254 > /* Line 1787 of yacc.c  */
6255 > #line 2643 "conf_parser.y"
6256      {
6257    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6258   }
6259      break;
6260  
6261 <  case 548:
6262 < /* Line 1792 of yacc.c  */
6263 < #line 2621 "conf_parser.y"
6261 >  case 552:
6262 > /* Line 1787 of yacc.c  */
6263 > #line 2646 "conf_parser.y"
6264      {
6265    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6266   }
6267      break;
6268  
6269 <  case 549:
6270 < /* Line 1792 of yacc.c  */
6271 < #line 2624 "conf_parser.y"
6269 >  case 553:
6270 > /* Line 1787 of yacc.c  */
6271 > #line 2649 "conf_parser.y"
6272      {
6273    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6274   }
6275      break;
6276  
6277 <  case 550:
6278 < /* Line 1792 of yacc.c  */
6279 < #line 2627 "conf_parser.y"
6277 >  case 554:
6278 > /* Line 1787 of yacc.c  */
6279 > #line 2652 "conf_parser.y"
6280      {
6281    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6282   }
6283      break;
6284  
6285 <  case 551:
6286 < /* Line 1792 of yacc.c  */
6287 < #line 2632 "conf_parser.y"
6285 >  case 555:
6286 > /* Line 1787 of yacc.c  */
6287 > #line 2657 "conf_parser.y"
6288      {
6289    ConfigFileEntry.oper_only_umodes = 0;
6290   }
6291      break;
6292  
6293 <  case 555:
6294 < /* Line 1792 of yacc.c  */
6295 < #line 2638 "conf_parser.y"
6293 >  case 559:
6294 > /* Line 1787 of yacc.c  */
6295 > #line 2663 "conf_parser.y"
6296      {
6297    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6298   }
6299      break;
6300  
6301 <  case 556:
6302 < /* Line 1792 of yacc.c  */
6303 < #line 2641 "conf_parser.y"
6301 >  case 560:
6302 > /* Line 1787 of yacc.c  */
6303 > #line 2666 "conf_parser.y"
6304      {
6305    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6306   }
6307      break;
6308  
6309 <  case 557:
6310 < /* Line 1792 of yacc.c  */
6311 < #line 2644 "conf_parser.y"
6309 >  case 561:
6310 > /* Line 1787 of yacc.c  */
6311 > #line 2669 "conf_parser.y"
6312      {
6313    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6314   }
6315      break;
6316  
6317 <  case 558:
6318 < /* Line 1792 of yacc.c  */
6319 < #line 2647 "conf_parser.y"
6317 >  case 562:
6318 > /* Line 1787 of yacc.c  */
6319 > #line 2672 "conf_parser.y"
6320      {
6321    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6322   }
6323      break;
6324  
6325 <  case 559:
6326 < /* Line 1792 of yacc.c  */
6327 < #line 2650 "conf_parser.y"
6325 >  case 563:
6326 > /* Line 1787 of yacc.c  */
6327 > #line 2675 "conf_parser.y"
6328      {
6329    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6330   }
6331      break;
6332  
6333 <  case 560:
6334 < /* Line 1792 of yacc.c  */
6335 < #line 2653 "conf_parser.y"
6333 >  case 564:
6334 > /* Line 1787 of yacc.c  */
6335 > #line 2678 "conf_parser.y"
6336      {
6337    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6338   }
6339      break;
6340  
6341 <  case 561:
6342 < /* Line 1792 of yacc.c  */
6343 < #line 2656 "conf_parser.y"
6341 >  case 565:
6342 > /* Line 1787 of yacc.c  */
6343 > #line 2681 "conf_parser.y"
6344      {
6345    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6346   }
6347      break;
6348  
6349 <  case 562:
6350 < /* Line 1792 of yacc.c  */
6351 < #line 2659 "conf_parser.y"
6349 >  case 566:
6350 > /* Line 1787 of yacc.c  */
6351 > #line 2684 "conf_parser.y"
6352      {
6353    ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6354   }
6355      break;
6356  
6357 <  case 563:
6358 < /* Line 1792 of yacc.c  */
6359 < #line 2662 "conf_parser.y"
6357 >  case 567:
6358 > /* Line 1787 of yacc.c  */
6359 > #line 2687 "conf_parser.y"
6360      {
6361    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6362   }
6363      break;
6364  
6365 <  case 564:
6366 < /* Line 1792 of yacc.c  */
6367 < #line 2665 "conf_parser.y"
6365 >  case 568:
6366 > /* Line 1787 of yacc.c  */
6367 > #line 2690 "conf_parser.y"
6368      {
6369    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6370   }
6371      break;
6372  
6373 <  case 565:
6374 < /* Line 1792 of yacc.c  */
6375 < #line 2668 "conf_parser.y"
6373 >  case 569:
6374 > /* Line 1787 of yacc.c  */
6375 > #line 2693 "conf_parser.y"
6376      {
6377    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6378   }
6379      break;
6380  
6381 <  case 566:
6382 < /* Line 1792 of yacc.c  */
6383 < #line 2671 "conf_parser.y"
6381 >  case 570:
6382 > /* Line 1787 of yacc.c  */
6383 > #line 2696 "conf_parser.y"
6384      {
6385    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6386   }
6387      break;
6388  
6389 <  case 567:
6390 < /* Line 1792 of yacc.c  */
6391 < #line 2674 "conf_parser.y"
6389 >  case 571:
6390 > /* Line 1787 of yacc.c  */
6391 > #line 2699 "conf_parser.y"
6392      {
6393    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6394   }
6395      break;
6396  
6397 <  case 568:
6398 < /* Line 1792 of yacc.c  */
6399 < #line 2677 "conf_parser.y"
6397 >  case 572:
6398 > /* Line 1787 of yacc.c  */
6399 > #line 2702 "conf_parser.y"
6400      {
6401    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6402   }
6403      break;
6404  
6405 <  case 569:
6406 < /* Line 1792 of yacc.c  */
6407 < #line 2680 "conf_parser.y"
6405 >  case 573:
6406 > /* Line 1787 of yacc.c  */
6407 > #line 2705 "conf_parser.y"
6408      {
6409    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6410   }
6411      break;
6412  
6413 <  case 570:
6414 < /* Line 1792 of yacc.c  */
6415 < #line 2683 "conf_parser.y"
6413 >  case 574:
6414 > /* Line 1787 of yacc.c  */
6415 > #line 2708 "conf_parser.y"
6416      {
6417    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6418   }
6419      break;
6420  
6421 <  case 571:
6422 < /* Line 1792 of yacc.c  */
6423 < #line 2686 "conf_parser.y"
6421 >  case 575:
6422 > /* Line 1787 of yacc.c  */
6423 > #line 2711 "conf_parser.y"
6424      {
6425    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6426   }
6427      break;
6428  
6429 <  case 572:
6430 < /* Line 1792 of yacc.c  */
6431 < #line 2689 "conf_parser.y"
6429 >  case 576:
6430 > /* Line 1787 of yacc.c  */
6431 > #line 2714 "conf_parser.y"
6432      {
6433    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6434   }
6435      break;
6436  
6437 <  case 573:
6438 < /* Line 1792 of yacc.c  */
6439 < #line 2692 "conf_parser.y"
6437 >  case 577:
6438 > /* Line 1787 of yacc.c  */
6439 > #line 2717 "conf_parser.y"
6440      {
6441    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6442   }
6443      break;
6444  
6445 <  case 574:
6446 < /* Line 1792 of yacc.c  */
6447 < #line 2695 "conf_parser.y"
6445 >  case 578:
6446 > /* Line 1787 of yacc.c  */
6447 > #line 2720 "conf_parser.y"
6448      {
6449    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6450   }
6451      break;
6452  
6453 <  case 575:
6454 < /* Line 1792 of yacc.c  */
6455 < #line 2700 "conf_parser.y"
6453 >  case 579:
6454 > /* Line 1787 of yacc.c  */
6455 > #line 2723 "conf_parser.y"
6456      {
6457 <  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6457 >  ConfigFileEntry.oper_only_umodes |= UMODE_REGONLY;
6458   }
6459      break;
6460  
6461 <  case 576:
6462 < /* Line 1792 of yacc.c  */
6463 < #line 2705 "conf_parser.y"
6461 >  case 580:
6462 > /* Line 1787 of yacc.c  */
6463 > #line 2728 "conf_parser.y"
6464      {
6465 <  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6465 >  ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6466   }
6467      break;
6468  
6469 <  case 577:
6470 < /* Line 1792 of yacc.c  */
6471 < #line 2710 "conf_parser.y"
6469 >  case 581:
6470 > /* Line 1787 of yacc.c  */
6471 > #line 2733 "conf_parser.y"
6472      {
6473 <  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6473 >  ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6474   }
6475      break;
6476  
6477 <  case 596:
6478 < /* Line 1792 of yacc.c  */
6479 < #line 2733 "conf_parser.y"
6477 >  case 582:
6478 > /* Line 1787 of yacc.c  */
6479 > #line 2738 "conf_parser.y"
6480      {
6481 <  ConfigChannel.disable_fake_channels = yylval.number;
6481 >  ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6482   }
6483      break;
6484  
6485 <  case 597:
6486 < /* Line 1792 of yacc.c  */
6487 < #line 2738 "conf_parser.y"
6485 >  case 600:
6486 > /* Line 1787 of yacc.c  */
6487 > #line 2761 "conf_parser.y"
6488      {
6489 <  ConfigChannel.restrict_channels = yylval.number;
6489 >  ConfigChannel.disable_fake_channels = yylval.number;
6490   }
6491      break;
6492  
6493 <  case 598:
6494 < /* Line 1792 of yacc.c  */
6495 < #line 2743 "conf_parser.y"
6493 >  case 601:
6494 > /* Line 1787 of yacc.c  */
6495 > #line 2766 "conf_parser.y"
6496      {
6497    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6498   }
6499      break;
6500  
6501 <  case 599:
6502 < /* Line 1792 of yacc.c  */
6503 < #line 2748 "conf_parser.y"
6501 >  case 602:
6502 > /* Line 1787 of yacc.c  */
6503 > #line 2771 "conf_parser.y"
6504      {
6505    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6506   }
6507      break;
6508  
6509 <  case 600:
6510 < /* Line 1792 of yacc.c  */
6511 < #line 2753 "conf_parser.y"
6509 >  case 603:
6510 > /* Line 1787 of yacc.c  */
6511 > #line 2776 "conf_parser.y"
6512      {
6513    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6514   }
6515      break;
6516  
6517 <  case 601:
6518 < /* Line 1792 of yacc.c  */
6519 < #line 2758 "conf_parser.y"
6517 >  case 604:
6518 > /* Line 1787 of yacc.c  */
6519 > #line 2781 "conf_parser.y"
6520      {
6521    ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6522   }
6523      break;
6524  
6525 <  case 602:
6526 < /* Line 1792 of yacc.c  */
6527 < #line 2763 "conf_parser.y"
6525 >  case 605:
6526 > /* Line 1787 of yacc.c  */
6527 > #line 2786 "conf_parser.y"
6528      {
6529    ConfigChannel.quiet_on_ban = yylval.number;
6530   }
6531      break;
6532  
6533 <  case 603:
6534 < /* Line 1792 of yacc.c  */
6535 < #line 2768 "conf_parser.y"
6533 >  case 606:
6534 > /* Line 1787 of yacc.c  */
6535 > #line 2791 "conf_parser.y"
6536      {
6537    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6538   }
6539      break;
6540  
6541 <  case 604:
6542 < /* Line 1792 of yacc.c  */
6543 < #line 2773 "conf_parser.y"
6541 >  case 607:
6542 > /* Line 1787 of yacc.c  */
6543 > #line 2796 "conf_parser.y"
6544      {
6545    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6546   }
6547      break;
6548  
6549 <  case 605:
6550 < /* Line 1792 of yacc.c  */
6551 < #line 2778 "conf_parser.y"
6549 >  case 608:
6550 > /* Line 1787 of yacc.c  */
6551 > #line 2801 "conf_parser.y"
6552      {
6553    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6554   }
6555      break;
6556  
6557 <  case 606:
6558 < /* Line 1792 of yacc.c  */
6559 < #line 2783 "conf_parser.y"
6557 >  case 609:
6558 > /* Line 1787 of yacc.c  */
6559 > #line 2806 "conf_parser.y"
6560      {
6561    ConfigChannel.no_create_on_split = yylval.number;
6562   }
6563      break;
6564  
6565 <  case 607:
6566 < /* Line 1792 of yacc.c  */
6567 < #line 2788 "conf_parser.y"
6565 >  case 610:
6566 > /* Line 1787 of yacc.c  */
6567 > #line 2811 "conf_parser.y"
6568      {
6569    ConfigChannel.no_join_on_split = yylval.number;
6570   }
6571      break;
6572  
6573 <  case 608:
6574 < /* Line 1792 of yacc.c  */
6575 < #line 2793 "conf_parser.y"
6573 >  case 611:
6574 > /* Line 1787 of yacc.c  */
6575 > #line 2816 "conf_parser.y"
6576      {
6577    GlobalSetOptions.joinfloodcount = yylval.number;
6578   }
6579      break;
6580  
6581 <  case 609:
6582 < /* Line 1792 of yacc.c  */
6583 < #line 2798 "conf_parser.y"
6581 >  case 612:
6582 > /* Line 1787 of yacc.c  */
6583 > #line 2821 "conf_parser.y"
6584      {
6585    GlobalSetOptions.joinfloodtime = yylval.number;
6586   }
6587      break;
6588  
6589 <  case 620:
6590 < /* Line 1792 of yacc.c  */
6591 < #line 2816 "conf_parser.y"
6589 >  case 624:
6590 > /* Line 1787 of yacc.c  */
6591 > #line 2840 "conf_parser.y"
6592      {
6593    if (conf_parser_ctx.pass == 2)
6594      ConfigServerHide.flatten_links = yylval.number;
6595   }
6596      break;
6597  
6598 <  case 621:
6599 < /* Line 1792 of yacc.c  */
6600 < #line 2822 "conf_parser.y"
6598 >  case 625:
6599 > /* Line 1787 of yacc.c  */
6600 > #line 2846 "conf_parser.y"
6601      {
6602    if (conf_parser_ctx.pass == 2)
6603      ConfigServerHide.hide_servers = yylval.number;
6604   }
6605      break;
6606  
6607 <  case 622:
6608 < /* Line 1792 of yacc.c  */
6609 < #line 2828 "conf_parser.y"
6607 >  case 626:
6608 > /* Line 1787 of yacc.c  */
6609 > #line 2852 "conf_parser.y"
6610 >    {
6611 >  if (conf_parser_ctx.pass == 2)
6612 >    ConfigServerHide.hide_services = yylval.number;
6613 > }
6614 >    break;
6615 >
6616 >  case 627:
6617 > /* Line 1787 of yacc.c  */
6618 > #line 2858 "conf_parser.y"
6619      {
6620    if (conf_parser_ctx.pass == 2)
6621    {
# Line 6553 | Line 6625 | yyreduce:
6625   }
6626      break;
6627  
6628 <  case 623:
6629 < /* Line 1792 of yacc.c  */
6630 < #line 2837 "conf_parser.y"
6628 >  case 628:
6629 > /* Line 1787 of yacc.c  */
6630 > #line 2867 "conf_parser.y"
6631      {
6632    if (conf_parser_ctx.pass == 2)
6633    {
# Line 6570 | Line 6642 | yyreduce:
6642   }
6643      break;
6644  
6645 <  case 624:
6646 < /* Line 1792 of yacc.c  */
6647 < #line 2851 "conf_parser.y"
6645 >  case 629:
6646 > /* Line 1787 of yacc.c  */
6647 > #line 2881 "conf_parser.y"
6648      {
6649    if (conf_parser_ctx.pass == 2)
6650      ConfigServerHide.hidden = yylval.number;
6651   }
6652      break;
6653  
6654 <  case 625:
6655 < /* Line 1792 of yacc.c  */
6656 < #line 2857 "conf_parser.y"
6654 >  case 630:
6655 > /* Line 1787 of yacc.c  */
6656 > #line 2887 "conf_parser.y"
6657      {
6658    if (conf_parser_ctx.pass == 2)
6659      ConfigServerHide.hide_server_ips = yylval.number;
# Line 6589 | Line 6661 | yyreduce:
6661      break;
6662  
6663  
6664 < /* Line 1792 of yacc.c  */
6665 < #line 6594 "conf_parser.c"
6664 > /* Line 1787 of yacc.c  */
6665 > #line 6666 "conf_parser.c"
6666        default: break;
6667      }
6668    /* User semantic actions sometimes alter yychar, and that requires

Diff Legend

Removed lines
+ Added lines
< Changed lines (old)
> Changed lines (new)