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

Comparing ircd-hybrid/trunk/src/conf_parser.c (file contents):
Revision 6162 by michael, Thu Jun 18 10:56:46 2015 UTC vs.
Revision 7445 by michael, Thu Mar 10 20:49:32 2016 UTC

# Line 65 | Line 65
65   #line 28 "conf_parser.y" /* yacc.c:339  */
66  
67  
68 #include <sys/types.h>
69 #include <string.h>
70
68   #include "config.h"
69   #include "stdinc.h"
70   #include "ircd.h"
71   #include "list.h"
72   #include "conf.h"
73   #include "conf_class.h"
74 + #include "conf_cluster.h"
75 + #include "conf_gecos.h"
76   #include "conf_pseudo.h"
77 + #include "conf_resv.h"
78 + #include "conf_service.h"
79 + #include "conf_shared.h"
80   #include "event.h"
81   #include "id.h"
82   #include "log.h"
81 #include "client.h"     /* for UMODE_ALL only */
83   #include "irc_string.h"
84   #include "memory.h"
85   #include "modules.h"
86   #include "server.h"
87   #include "hostmask.h"
87 #include "send.h"
88   #include "listener.h"
89 #include "resv.h"
90 #include "numeric.h"
89   #include "user.h"
90   #include "motd.h"
91  
94 #ifdef HAVE_LIBCRYPTO
95 #include <openssl/rsa.h>
96 #include <openssl/bio.h>
97 #include <openssl/pem.h>
98 #include <openssl/dh.h>
99 #endif
100
101 #include "rsa.h"
102
92   int yylex(void);
93  
94   static struct
# Line 164 | Line 153 | reset_block_state(void)
153  
154    DLINK_FOREACH_SAFE(node, node_next, block_state.mask.list.head)
155    {
156 <    MyFree(node->data);
156 >    xfree(node->data);
157      dlinkDelete(node, &block_state.mask.list);
158      free_dlink_node(node);
159    }
160  
161    DLINK_FOREACH_SAFE(node, node_next, block_state.leaf.list.head)
162    {
163 <    MyFree(node->data);
163 >    xfree(node->data);
164      dlinkDelete(node, &block_state.leaf.list);
165      free_dlink_node(node);
166    }
167  
168    DLINK_FOREACH_SAFE(node, node_next, block_state.hub.list.head)
169    {
170 <    MyFree(node->data);
170 >    xfree(node->data);
171      dlinkDelete(node, &block_state.hub.list);
172      free_dlink_node(node);
173    }
# Line 187 | Line 176 | reset_block_state(void)
176   }
177  
178  
179 < #line 191 "conf_parser.c" /* yacc.c:339  */
179 > #line 180 "conf_parser.c" /* yacc.c:339  */
180  
181   # ifndef YY_NULLPTR
182   #  if defined __cplusplus && 201103L <= __cplusplus
# Line 236 | Line 225 | extern int yydebug;
225      CALLER_ID_WAIT = 269,
226      CAN_FLOOD = 270,
227      CHANNEL = 271,
228 <    CIDR_BITLEN_IPV4 = 272,
229 <    CIDR_BITLEN_IPV6 = 273,
230 <    CLASS = 274,
231 <    CONNECT = 275,
232 <    CONNECTFREQ = 276,
233 <    CYCLE_ON_HOST_CHANGE = 277,
234 <    DEFAULT_FLOODCOUNT = 278,
235 <    DEFAULT_JOIN_FLOOD_COUNT = 279,
236 <    DEFAULT_JOIN_FLOOD_TIME = 280,
237 <    DEFAULT_MAX_CLIENTS = 281,
238 <    DEFAULT_SPLIT_SERVER_COUNT = 282,
239 <    DEFAULT_SPLIT_USER_COUNT = 283,
228 >    CHECK_CACHE = 272,
229 >    CIDR_BITLEN_IPV4 = 273,
230 >    CIDR_BITLEN_IPV6 = 274,
231 >    CLASS = 275,
232 >    CLOSE = 276,
233 >    CONNECT = 277,
234 >    CONNECTFREQ = 278,
235 >    CYCLE_ON_HOST_CHANGE = 279,
236 >    DEFAULT_FLOODCOUNT = 280,
237 >    DEFAULT_JOIN_FLOOD_COUNT = 281,
238 >    DEFAULT_JOIN_FLOOD_TIME = 282,
239 >    DEFAULT_MAX_CLIENTS = 283,
240      DENY = 284,
241      DESCRIPTION = 285,
242      DIE = 286,
# Line 263 | Line 252 | extern int yydebug;
252      EXEMPT = 296,
253      FAILED_OPER_NOTICE = 297,
254      FLATTEN_LINKS = 298,
255 <    GECOS = 299,
256 <    GENERAL = 300,
257 <    HIDDEN = 301,
258 <    HIDDEN_NAME = 302,
259 <    HIDE_CHANS = 303,
260 <    HIDE_IDLE = 304,
261 <    HIDE_IDLE_FROM_OPERS = 305,
262 <    HIDE_SERVER_IPS = 306,
263 <    HIDE_SERVERS = 307,
264 <    HIDE_SERVICES = 308,
265 <    HOST = 309,
266 <    HUB = 310,
267 <    HUB_MASK = 311,
268 <    IGNORE_BOGUS_TS = 312,
269 <    INVISIBLE_ON_CONNECT = 313,
270 <    INVITE_CLIENT_COUNT = 314,
271 <    INVITE_CLIENT_TIME = 315,
272 <    IP = 316,
273 <    IRCD_AUTH = 317,
274 <    IRCD_FLAGS = 318,
275 <    IRCD_SID = 319,
276 <    KILL = 320,
277 <    KILL_CHASE_TIME_LIMIT = 321,
278 <    KLINE = 322,
279 <    KLINE_EXEMPT = 323,
280 <    KLINE_MIN_CIDR = 324,
281 <    KLINE_MIN_CIDR6 = 325,
282 <    KNOCK_CLIENT_COUNT = 326,
283 <    KNOCK_CLIENT_TIME = 327,
284 <    KNOCK_DELAY_CHANNEL = 328,
285 <    LEAF_MASK = 329,
286 <    LINKS_DELAY = 330,
287 <    LISTEN = 331,
288 <    MASK = 332,
289 <    MAX_ACCEPT = 333,
290 <    MAX_BANS = 334,
291 <    MAX_CHANNELS = 335,
292 <    MAX_GLOBAL = 336,
293 <    MAX_IDENT = 337,
294 <    MAX_IDLE = 338,
295 <    MAX_LOCAL = 339,
296 <    MAX_NICK_CHANGES = 340,
297 <    MAX_NICK_LENGTH = 341,
298 <    MAX_NICK_TIME = 342,
299 <    MAX_NUMBER = 343,
300 <    MAX_TARGETS = 344,
301 <    MAX_TOPIC_LENGTH = 345,
302 <    MAX_WATCH = 346,
303 <    MIN_IDLE = 347,
304 <    MIN_NONWILDCARD = 348,
305 <    MIN_NONWILDCARD_SIMPLE = 349,
306 <    MODULE = 350,
307 <    MODULES = 351,
308 <    MOTD = 352,
309 <    NAME = 353,
310 <    NEED_IDENT = 354,
311 <    NEED_PASSWORD = 355,
312 <    NETWORK_DESC = 356,
313 <    NETWORK_NAME = 357,
314 <    NICK = 358,
315 <    NO_CREATE_ON_SPLIT = 359,
316 <    NO_JOIN_ON_SPLIT = 360,
317 <    NO_OPER_FLOOD = 361,
318 <    NO_TILDE = 362,
319 <    NUMBER = 363,
320 <    NUMBER_PER_CIDR = 364,
321 <    NUMBER_PER_IP = 365,
322 <    OPER_ONLY_UMODES = 366,
323 <    OPER_PASS_RESV = 367,
324 <    OPER_UMODES = 368,
325 <    OPERATOR = 369,
326 <    OPERS_BYPASS_CALLERID = 370,
327 <    PACE_WAIT = 371,
328 <    PACE_WAIT_SIMPLE = 372,
329 <    PASSWORD = 373,
330 <    PATH = 374,
331 <    PING_COOKIE = 375,
332 <    PING_TIME = 376,
333 <    PORT = 377,
334 <    QSTRING = 378,
335 <    RANDOM_IDLE = 379,
336 <    REASON = 380,
337 <    REDIRPORT = 381,
338 <    REDIRSERV = 382,
339 <    REHASH = 383,
340 <    REMOTE = 384,
341 <    REMOTEBAN = 385,
342 <    RESV = 386,
343 <    RESV_EXEMPT = 387,
344 <    RSA_PRIVATE_KEY_FILE = 388,
345 <    RSA_PUBLIC_KEY_FILE = 389,
346 <    SECONDS = 390,
347 <    MINUTES = 391,
348 <    HOURS = 392,
349 <    DAYS = 393,
350 <    WEEKS = 394,
351 <    MONTHS = 395,
352 <    YEARS = 396,
353 <    SEND_PASSWORD = 397,
354 <    SENDQ = 398,
355 <    SERVERHIDE = 399,
356 <    SERVERINFO = 400,
357 <    SHORT_MOTD = 401,
358 <    SPOOF = 402,
359 <    SPOOF_NOTICE = 403,
360 <    SQUIT = 404,
361 <    SSL_CERTIFICATE_FILE = 405,
362 <    SSL_CERTIFICATE_FINGERPRINT = 406,
363 <    SSL_CONNECTION_REQUIRED = 407,
364 <    SSL_DH_ELLIPTIC_CURVE = 408,
365 <    SSL_DH_PARAM_FILE = 409,
366 <    SSL_MESSAGE_DIGEST_ALGORITHM = 410,
367 <    STATS_E_DISABLED = 411,
368 <    STATS_I_OPER_ONLY = 412,
369 <    STATS_K_OPER_ONLY = 413,
370 <    STATS_M_OPER_ONLY = 414,
371 <    STATS_O_OPER_ONLY = 415,
372 <    STATS_P_OPER_ONLY = 416,
373 <    STATS_U_OPER_ONLY = 417,
374 <    T_ALL = 418,
375 <    T_BOTS = 419,
376 <    T_CALLERID = 420,
377 <    T_CCONN = 421,
378 <    T_COMMAND = 422,
379 <    T_CLUSTER = 423,
380 <    T_DEAF = 424,
381 <    T_DEBUG = 425,
382 <    T_DLINE = 426,
383 <    T_EXTERNAL = 427,
384 <    T_FARCONNECT = 428,
385 <    T_FILE = 429,
386 <    T_FULL = 430,
387 <    T_GLOBOPS = 431,
388 <    T_INVISIBLE = 432,
389 <    T_IPV4 = 433,
390 <    T_IPV6 = 434,
391 <    T_LOCOPS = 435,
392 <    T_LOG = 436,
393 <    T_NCHANGE = 437,
394 <    T_NONONREG = 438,
395 <    T_OPME = 439,
396 <    T_PREPEND = 440,
397 <    T_PSEUDO = 441,
398 <    T_RECVQ = 442,
399 <    T_REJ = 443,
400 <    T_RESTART = 444,
401 <    T_SERVER = 445,
402 <    T_SERVICE = 446,
403 <    T_SERVNOTICE = 447,
404 <    T_SET = 448,
405 <    T_SHARED = 449,
406 <    T_SIZE = 450,
407 <    T_SKILL = 451,
408 <    T_SOFTCALLERID = 452,
409 <    T_SPY = 453,
410 <    T_SSL = 454,
411 <    T_SSL_CIPHER_LIST = 455,
412 <    T_TARGET = 456,
413 <    T_UMODES = 457,
414 <    T_UNAUTH = 458,
415 <    T_UNDLINE = 459,
416 <    T_UNLIMITED = 460,
417 <    T_UNRESV = 461,
418 <    T_UNXLINE = 462,
419 <    T_WALLOP = 463,
420 <    T_WALLOPS = 464,
421 <    T_WEBIRC = 465,
422 <    TBOOL = 466,
423 <    THROTTLE_COUNT = 467,
424 <    THROTTLE_TIME = 468,
425 <    TKLINE_EXPIRE_NOTICES = 469,
426 <    TMASKED = 470,
427 <    TS_MAX_DELTA = 471,
428 <    TS_WARN_DELTA = 472,
429 <    TWODOTS = 473,
430 <    TYPE = 474,
431 <    UNKLINE = 475,
432 <    USE_LOGGING = 476,
433 <    USER = 477,
434 <    VHOST = 478,
435 <    VHOST6 = 479,
436 <    WARN_NO_CONNECT_BLOCK = 480,
437 <    WHOIS = 481,
438 <    XLINE = 482,
439 <    XLINE_EXEMPT = 483
255 >    FLATTEN_LINKS_DELAY = 299,
256 >    FLATTEN_LINKS_FILE = 300,
257 >    GECOS = 301,
258 >    GENERAL = 302,
259 >    HIDDEN = 303,
260 >    HIDDEN_NAME = 304,
261 >    HIDE_CHANS = 305,
262 >    HIDE_IDLE = 306,
263 >    HIDE_IDLE_FROM_OPERS = 307,
264 >    HIDE_SERVER_IPS = 308,
265 >    HIDE_SERVERS = 309,
266 >    HIDE_SERVICES = 310,
267 >    HOST = 311,
268 >    HUB = 312,
269 >    HUB_MASK = 313,
270 >    IGNORE_BOGUS_TS = 314,
271 >    INVISIBLE_ON_CONNECT = 315,
272 >    INVITE_CLIENT_COUNT = 316,
273 >    INVITE_CLIENT_TIME = 317,
274 >    INVITE_DELAY_CHANNEL = 318,
275 >    IP = 319,
276 >    IRCD_AUTH = 320,
277 >    IRCD_FLAGS = 321,
278 >    IRCD_SID = 322,
279 >    JOIN = 323,
280 >    KILL = 324,
281 >    KILL_CHASE_TIME_LIMIT = 325,
282 >    KLINE = 326,
283 >    KLINE_EXEMPT = 327,
284 >    KLINE_MIN_CIDR = 328,
285 >    KLINE_MIN_CIDR6 = 329,
286 >    KNOCK_CLIENT_COUNT = 330,
287 >    KNOCK_CLIENT_TIME = 331,
288 >    KNOCK_DELAY_CHANNEL = 332,
289 >    LEAF_MASK = 333,
290 >    LIBGEOIP_DATABASE_OPTIONS = 334,
291 >    LIBGEOIP_IPV4_DATABASE_FILE = 335,
292 >    LIBGEOIP_IPV6_DATABASE_FILE = 336,
293 >    LISTEN = 337,
294 >    MASK = 338,
295 >    MAX_ACCEPT = 339,
296 >    MAX_BANS = 340,
297 >    MAX_CHANNELS = 341,
298 >    MAX_GLOBAL = 342,
299 >    MAX_IDENT = 343,
300 >    MAX_IDLE = 344,
301 >    MAX_LOCAL = 345,
302 >    MAX_NICK_CHANGES = 346,
303 >    MAX_NICK_LENGTH = 347,
304 >    MAX_NICK_TIME = 348,
305 >    MAX_NUMBER = 349,
306 >    MAX_TARGETS = 350,
307 >    MAX_TOPIC_LENGTH = 351,
308 >    MAX_WATCH = 352,
309 >    MEMORY_CACHE = 353,
310 >    MIN_IDLE = 354,
311 >    MIN_NONWILDCARD = 355,
312 >    MIN_NONWILDCARD_SIMPLE = 356,
313 >    MMAP_CACHE = 357,
314 >    MODULE = 358,
315 >    MODULES = 359,
316 >    MOTD = 360,
317 >    NAME = 361,
318 >    NEED_IDENT = 362,
319 >    NEED_PASSWORD = 363,
320 >    NETWORK_DESC = 364,
321 >    NETWORK_NAME = 365,
322 >    NICK = 366,
323 >    NO_OPER_FLOOD = 367,
324 >    NO_TILDE = 368,
325 >    NUMBER = 369,
326 >    NUMBER_PER_CIDR = 370,
327 >    NUMBER_PER_IP = 371,
328 >    OPER_ONLY_UMODES = 372,
329 >    OPER_UMODES = 373,
330 >    OPERATOR = 374,
331 >    OPERS_BYPASS_CALLERID = 375,
332 >    PACE_WAIT = 376,
333 >    PACE_WAIT_SIMPLE = 377,
334 >    PASSWORD = 378,
335 >    PATH = 379,
336 >    PING_COOKIE = 380,
337 >    PING_TIME = 381,
338 >    PORT = 382,
339 >    QSTRING = 383,
340 >    RANDOM_IDLE = 384,
341 >    REASON = 385,
342 >    REDIRPORT = 386,
343 >    REDIRSERV = 387,
344 >    REHASH = 388,
345 >    REMOTE = 389,
346 >    REMOTEBAN = 390,
347 >    RESV = 391,
348 >    RESV_EXEMPT = 392,
349 >    RSA_PRIVATE_KEY_FILE = 393,
350 >    SECONDS = 394,
351 >    MINUTES = 395,
352 >    HOURS = 396,
353 >    DAYS = 397,
354 >    WEEKS = 398,
355 >    MONTHS = 399,
356 >    YEARS = 400,
357 >    SEND_PASSWORD = 401,
358 >    SENDQ = 402,
359 >    SERVERHIDE = 403,
360 >    SERVERINFO = 404,
361 >    SHORT_MOTD = 405,
362 >    SPOOF = 406,
363 >    SPOOF_NOTICE = 407,
364 >    SQUIT = 408,
365 >    SSL_CERTIFICATE_FILE = 409,
366 >    SSL_CERTIFICATE_FINGERPRINT = 410,
367 >    SSL_CONNECTION_REQUIRED = 411,
368 >    SSL_DH_ELLIPTIC_CURVE = 412,
369 >    SSL_DH_PARAM_FILE = 413,
370 >    SSL_MESSAGE_DIGEST_ALGORITHM = 414,
371 >    STANDARD = 415,
372 >    STATS_E_DISABLED = 416,
373 >    STATS_I_OPER_ONLY = 417,
374 >    STATS_K_OPER_ONLY = 418,
375 >    STATS_M_OPER_ONLY = 419,
376 >    STATS_O_OPER_ONLY = 420,
377 >    STATS_P_OPER_ONLY = 421,
378 >    STATS_U_OPER_ONLY = 422,
379 >    T_ALL = 423,
380 >    T_BOTS = 424,
381 >    T_CALLERID = 425,
382 >    T_CCONN = 426,
383 >    T_COMMAND = 427,
384 >    T_CLUSTER = 428,
385 >    T_DEAF = 429,
386 >    T_DEBUG = 430,
387 >    T_DLINE = 431,
388 >    T_EXTERNAL = 432,
389 >    T_FARCONNECT = 433,
390 >    T_FILE = 434,
391 >    T_FULL = 435,
392 >    T_GLOBOPS = 436,
393 >    T_INVISIBLE = 437,
394 >    T_IPV4 = 438,
395 >    T_IPV6 = 439,
396 >    T_LOCOPS = 440,
397 >    T_LOG = 441,
398 >    T_NCHANGE = 442,
399 >    T_NONONREG = 443,
400 >    T_OPME = 444,
401 >    T_PREPEND = 445,
402 >    T_PSEUDO = 446,
403 >    T_RECVQ = 447,
404 >    T_REJ = 448,
405 >    T_RESTART = 449,
406 >    T_SERVER = 450,
407 >    T_SERVICE = 451,
408 >    T_SERVNOTICE = 452,
409 >    T_SET = 453,
410 >    T_SHARED = 454,
411 >    T_SIZE = 455,
412 >    T_SKILL = 456,
413 >    T_SOFTCALLERID = 457,
414 >    T_SPY = 458,
415 >    T_SSL = 459,
416 >    T_SSL_CIPHER_LIST = 460,
417 >    T_TARGET = 461,
418 >    T_UMODES = 462,
419 >    T_UNAUTH = 463,
420 >    T_UNDLINE = 464,
421 >    T_UNLIMITED = 465,
422 >    T_UNRESV = 466,
423 >    T_UNXLINE = 467,
424 >    T_WALLOP = 468,
425 >    T_WALLOPS = 469,
426 >    T_WEBIRC = 470,
427 >    TBOOL = 471,
428 >    THROTTLE_COUNT = 472,
429 >    THROTTLE_TIME = 473,
430 >    TKLINE_EXPIRE_NOTICES = 474,
431 >    TMASKED = 475,
432 >    TS_MAX_DELTA = 476,
433 >    TS_WARN_DELTA = 477,
434 >    TWODOTS = 478,
435 >    TYPE = 479,
436 >    UNKLINE = 480,
437 >    USE_LOGGING = 481,
438 >    USER = 482,
439 >    VHOST = 483,
440 >    VHOST6 = 484,
441 >    WARN_NO_CONNECT_BLOCK = 485,
442 >    WHOIS = 486,
443 >    WHOWAS_HISTORY_LENGTH = 487,
444 >    XLINE = 488,
445 >    XLINE_EXEMPT = 489
446    };
447   #endif
448   /* Tokens.  */
# Line 465 | Line 460 | extern int yydebug;
460   #define CALLER_ID_WAIT 269
461   #define CAN_FLOOD 270
462   #define CHANNEL 271
463 < #define CIDR_BITLEN_IPV4 272
464 < #define CIDR_BITLEN_IPV6 273
465 < #define CLASS 274
466 < #define CONNECT 275
467 < #define CONNECTFREQ 276
468 < #define CYCLE_ON_HOST_CHANGE 277
469 < #define DEFAULT_FLOODCOUNT 278
470 < #define DEFAULT_JOIN_FLOOD_COUNT 279
471 < #define DEFAULT_JOIN_FLOOD_TIME 280
472 < #define DEFAULT_MAX_CLIENTS 281
473 < #define DEFAULT_SPLIT_SERVER_COUNT 282
474 < #define DEFAULT_SPLIT_USER_COUNT 283
463 > #define CHECK_CACHE 272
464 > #define CIDR_BITLEN_IPV4 273
465 > #define CIDR_BITLEN_IPV6 274
466 > #define CLASS 275
467 > #define CLOSE 276
468 > #define CONNECT 277
469 > #define CONNECTFREQ 278
470 > #define CYCLE_ON_HOST_CHANGE 279
471 > #define DEFAULT_FLOODCOUNT 280
472 > #define DEFAULT_JOIN_FLOOD_COUNT 281
473 > #define DEFAULT_JOIN_FLOOD_TIME 282
474 > #define DEFAULT_MAX_CLIENTS 283
475   #define DENY 284
476   #define DESCRIPTION 285
477   #define DIE 286
# Line 492 | Line 487 | extern int yydebug;
487   #define EXEMPT 296
488   #define FAILED_OPER_NOTICE 297
489   #define FLATTEN_LINKS 298
490 < #define GECOS 299
491 < #define GENERAL 300
492 < #define HIDDEN 301
493 < #define HIDDEN_NAME 302
494 < #define HIDE_CHANS 303
495 < #define HIDE_IDLE 304
496 < #define HIDE_IDLE_FROM_OPERS 305
497 < #define HIDE_SERVER_IPS 306
498 < #define HIDE_SERVERS 307
499 < #define HIDE_SERVICES 308
500 < #define HOST 309
501 < #define HUB 310
502 < #define HUB_MASK 311
503 < #define IGNORE_BOGUS_TS 312
504 < #define INVISIBLE_ON_CONNECT 313
505 < #define INVITE_CLIENT_COUNT 314
506 < #define INVITE_CLIENT_TIME 315
507 < #define IP 316
508 < #define IRCD_AUTH 317
509 < #define IRCD_FLAGS 318
510 < #define IRCD_SID 319
511 < #define KILL 320
512 < #define KILL_CHASE_TIME_LIMIT 321
513 < #define KLINE 322
514 < #define KLINE_EXEMPT 323
515 < #define KLINE_MIN_CIDR 324
516 < #define KLINE_MIN_CIDR6 325
517 < #define KNOCK_CLIENT_COUNT 326
518 < #define KNOCK_CLIENT_TIME 327
519 < #define KNOCK_DELAY_CHANNEL 328
520 < #define LEAF_MASK 329
521 < #define LINKS_DELAY 330
522 < #define LISTEN 331
523 < #define MASK 332
524 < #define MAX_ACCEPT 333
525 < #define MAX_BANS 334
526 < #define MAX_CHANNELS 335
527 < #define MAX_GLOBAL 336
528 < #define MAX_IDENT 337
529 < #define MAX_IDLE 338
530 < #define MAX_LOCAL 339
531 < #define MAX_NICK_CHANGES 340
532 < #define MAX_NICK_LENGTH 341
533 < #define MAX_NICK_TIME 342
534 < #define MAX_NUMBER 343
535 < #define MAX_TARGETS 344
536 < #define MAX_TOPIC_LENGTH 345
537 < #define MAX_WATCH 346
538 < #define MIN_IDLE 347
539 < #define MIN_NONWILDCARD 348
540 < #define MIN_NONWILDCARD_SIMPLE 349
541 < #define MODULE 350
542 < #define MODULES 351
543 < #define MOTD 352
544 < #define NAME 353
545 < #define NEED_IDENT 354
546 < #define NEED_PASSWORD 355
547 < #define NETWORK_DESC 356
548 < #define NETWORK_NAME 357
549 < #define NICK 358
550 < #define NO_CREATE_ON_SPLIT 359
551 < #define NO_JOIN_ON_SPLIT 360
552 < #define NO_OPER_FLOOD 361
553 < #define NO_TILDE 362
554 < #define NUMBER 363
555 < #define NUMBER_PER_CIDR 364
556 < #define NUMBER_PER_IP 365
557 < #define OPER_ONLY_UMODES 366
558 < #define OPER_PASS_RESV 367
559 < #define OPER_UMODES 368
560 < #define OPERATOR 369
561 < #define OPERS_BYPASS_CALLERID 370
562 < #define PACE_WAIT 371
563 < #define PACE_WAIT_SIMPLE 372
564 < #define PASSWORD 373
565 < #define PATH 374
566 < #define PING_COOKIE 375
567 < #define PING_TIME 376
568 < #define PORT 377
569 < #define QSTRING 378
570 < #define RANDOM_IDLE 379
571 < #define REASON 380
572 < #define REDIRPORT 381
573 < #define REDIRSERV 382
574 < #define REHASH 383
575 < #define REMOTE 384
576 < #define REMOTEBAN 385
577 < #define RESV 386
578 < #define RESV_EXEMPT 387
579 < #define RSA_PRIVATE_KEY_FILE 388
580 < #define RSA_PUBLIC_KEY_FILE 389
581 < #define SECONDS 390
582 < #define MINUTES 391
583 < #define HOURS 392
584 < #define DAYS 393
585 < #define WEEKS 394
586 < #define MONTHS 395
587 < #define YEARS 396
588 < #define SEND_PASSWORD 397
589 < #define SENDQ 398
590 < #define SERVERHIDE 399
591 < #define SERVERINFO 400
592 < #define SHORT_MOTD 401
593 < #define SPOOF 402
594 < #define SPOOF_NOTICE 403
595 < #define SQUIT 404
596 < #define SSL_CERTIFICATE_FILE 405
597 < #define SSL_CERTIFICATE_FINGERPRINT 406
598 < #define SSL_CONNECTION_REQUIRED 407
599 < #define SSL_DH_ELLIPTIC_CURVE 408
600 < #define SSL_DH_PARAM_FILE 409
601 < #define SSL_MESSAGE_DIGEST_ALGORITHM 410
602 < #define STATS_E_DISABLED 411
603 < #define STATS_I_OPER_ONLY 412
604 < #define STATS_K_OPER_ONLY 413
605 < #define STATS_M_OPER_ONLY 414
606 < #define STATS_O_OPER_ONLY 415
607 < #define STATS_P_OPER_ONLY 416
608 < #define STATS_U_OPER_ONLY 417
609 < #define T_ALL 418
610 < #define T_BOTS 419
611 < #define T_CALLERID 420
612 < #define T_CCONN 421
613 < #define T_COMMAND 422
614 < #define T_CLUSTER 423
615 < #define T_DEAF 424
616 < #define T_DEBUG 425
617 < #define T_DLINE 426
618 < #define T_EXTERNAL 427
619 < #define T_FARCONNECT 428
620 < #define T_FILE 429
621 < #define T_FULL 430
622 < #define T_GLOBOPS 431
623 < #define T_INVISIBLE 432
624 < #define T_IPV4 433
625 < #define T_IPV6 434
626 < #define T_LOCOPS 435
627 < #define T_LOG 436
628 < #define T_NCHANGE 437
629 < #define T_NONONREG 438
630 < #define T_OPME 439
631 < #define T_PREPEND 440
632 < #define T_PSEUDO 441
633 < #define T_RECVQ 442
634 < #define T_REJ 443
635 < #define T_RESTART 444
636 < #define T_SERVER 445
637 < #define T_SERVICE 446
638 < #define T_SERVNOTICE 447
639 < #define T_SET 448
640 < #define T_SHARED 449
641 < #define T_SIZE 450
642 < #define T_SKILL 451
643 < #define T_SOFTCALLERID 452
644 < #define T_SPY 453
645 < #define T_SSL 454
646 < #define T_SSL_CIPHER_LIST 455
647 < #define T_TARGET 456
648 < #define T_UMODES 457
649 < #define T_UNAUTH 458
650 < #define T_UNDLINE 459
651 < #define T_UNLIMITED 460
652 < #define T_UNRESV 461
653 < #define T_UNXLINE 462
654 < #define T_WALLOP 463
655 < #define T_WALLOPS 464
656 < #define T_WEBIRC 465
657 < #define TBOOL 466
658 < #define THROTTLE_COUNT 467
659 < #define THROTTLE_TIME 468
660 < #define TKLINE_EXPIRE_NOTICES 469
661 < #define TMASKED 470
662 < #define TS_MAX_DELTA 471
663 < #define TS_WARN_DELTA 472
664 < #define TWODOTS 473
665 < #define TYPE 474
666 < #define UNKLINE 475
667 < #define USE_LOGGING 476
668 < #define USER 477
669 < #define VHOST 478
670 < #define VHOST6 479
671 < #define WARN_NO_CONNECT_BLOCK 480
672 < #define WHOIS 481
673 < #define XLINE 482
674 < #define XLINE_EXEMPT 483
490 > #define FLATTEN_LINKS_DELAY 299
491 > #define FLATTEN_LINKS_FILE 300
492 > #define GECOS 301
493 > #define GENERAL 302
494 > #define HIDDEN 303
495 > #define HIDDEN_NAME 304
496 > #define HIDE_CHANS 305
497 > #define HIDE_IDLE 306
498 > #define HIDE_IDLE_FROM_OPERS 307
499 > #define HIDE_SERVER_IPS 308
500 > #define HIDE_SERVERS 309
501 > #define HIDE_SERVICES 310
502 > #define HOST 311
503 > #define HUB 312
504 > #define HUB_MASK 313
505 > #define IGNORE_BOGUS_TS 314
506 > #define INVISIBLE_ON_CONNECT 315
507 > #define INVITE_CLIENT_COUNT 316
508 > #define INVITE_CLIENT_TIME 317
509 > #define INVITE_DELAY_CHANNEL 318
510 > #define IP 319
511 > #define IRCD_AUTH 320
512 > #define IRCD_FLAGS 321
513 > #define IRCD_SID 322
514 > #define JOIN 323
515 > #define KILL 324
516 > #define KILL_CHASE_TIME_LIMIT 325
517 > #define KLINE 326
518 > #define KLINE_EXEMPT 327
519 > #define KLINE_MIN_CIDR 328
520 > #define KLINE_MIN_CIDR6 329
521 > #define KNOCK_CLIENT_COUNT 330
522 > #define KNOCK_CLIENT_TIME 331
523 > #define KNOCK_DELAY_CHANNEL 332
524 > #define LEAF_MASK 333
525 > #define LIBGEOIP_DATABASE_OPTIONS 334
526 > #define LIBGEOIP_IPV4_DATABASE_FILE 335
527 > #define LIBGEOIP_IPV6_DATABASE_FILE 336
528 > #define LISTEN 337
529 > #define MASK 338
530 > #define MAX_ACCEPT 339
531 > #define MAX_BANS 340
532 > #define MAX_CHANNELS 341
533 > #define MAX_GLOBAL 342
534 > #define MAX_IDENT 343
535 > #define MAX_IDLE 344
536 > #define MAX_LOCAL 345
537 > #define MAX_NICK_CHANGES 346
538 > #define MAX_NICK_LENGTH 347
539 > #define MAX_NICK_TIME 348
540 > #define MAX_NUMBER 349
541 > #define MAX_TARGETS 350
542 > #define MAX_TOPIC_LENGTH 351
543 > #define MAX_WATCH 352
544 > #define MEMORY_CACHE 353
545 > #define MIN_IDLE 354
546 > #define MIN_NONWILDCARD 355
547 > #define MIN_NONWILDCARD_SIMPLE 356
548 > #define MMAP_CACHE 357
549 > #define MODULE 358
550 > #define MODULES 359
551 > #define MOTD 360
552 > #define NAME 361
553 > #define NEED_IDENT 362
554 > #define NEED_PASSWORD 363
555 > #define NETWORK_DESC 364
556 > #define NETWORK_NAME 365
557 > #define NICK 366
558 > #define NO_OPER_FLOOD 367
559 > #define NO_TILDE 368
560 > #define NUMBER 369
561 > #define NUMBER_PER_CIDR 370
562 > #define NUMBER_PER_IP 371
563 > #define OPER_ONLY_UMODES 372
564 > #define OPER_UMODES 373
565 > #define OPERATOR 374
566 > #define OPERS_BYPASS_CALLERID 375
567 > #define PACE_WAIT 376
568 > #define PACE_WAIT_SIMPLE 377
569 > #define PASSWORD 378
570 > #define PATH 379
571 > #define PING_COOKIE 380
572 > #define PING_TIME 381
573 > #define PORT 382
574 > #define QSTRING 383
575 > #define RANDOM_IDLE 384
576 > #define REASON 385
577 > #define REDIRPORT 386
578 > #define REDIRSERV 387
579 > #define REHASH 388
580 > #define REMOTE 389
581 > #define REMOTEBAN 390
582 > #define RESV 391
583 > #define RESV_EXEMPT 392
584 > #define RSA_PRIVATE_KEY_FILE 393
585 > #define SECONDS 394
586 > #define MINUTES 395
587 > #define HOURS 396
588 > #define DAYS 397
589 > #define WEEKS 398
590 > #define MONTHS 399
591 > #define YEARS 400
592 > #define SEND_PASSWORD 401
593 > #define SENDQ 402
594 > #define SERVERHIDE 403
595 > #define SERVERINFO 404
596 > #define SHORT_MOTD 405
597 > #define SPOOF 406
598 > #define SPOOF_NOTICE 407
599 > #define SQUIT 408
600 > #define SSL_CERTIFICATE_FILE 409
601 > #define SSL_CERTIFICATE_FINGERPRINT 410
602 > #define SSL_CONNECTION_REQUIRED 411
603 > #define SSL_DH_ELLIPTIC_CURVE 412
604 > #define SSL_DH_PARAM_FILE 413
605 > #define SSL_MESSAGE_DIGEST_ALGORITHM 414
606 > #define STANDARD 415
607 > #define STATS_E_DISABLED 416
608 > #define STATS_I_OPER_ONLY 417
609 > #define STATS_K_OPER_ONLY 418
610 > #define STATS_M_OPER_ONLY 419
611 > #define STATS_O_OPER_ONLY 420
612 > #define STATS_P_OPER_ONLY 421
613 > #define STATS_U_OPER_ONLY 422
614 > #define T_ALL 423
615 > #define T_BOTS 424
616 > #define T_CALLERID 425
617 > #define T_CCONN 426
618 > #define T_COMMAND 427
619 > #define T_CLUSTER 428
620 > #define T_DEAF 429
621 > #define T_DEBUG 430
622 > #define T_DLINE 431
623 > #define T_EXTERNAL 432
624 > #define T_FARCONNECT 433
625 > #define T_FILE 434
626 > #define T_FULL 435
627 > #define T_GLOBOPS 436
628 > #define T_INVISIBLE 437
629 > #define T_IPV4 438
630 > #define T_IPV6 439
631 > #define T_LOCOPS 440
632 > #define T_LOG 441
633 > #define T_NCHANGE 442
634 > #define T_NONONREG 443
635 > #define T_OPME 444
636 > #define T_PREPEND 445
637 > #define T_PSEUDO 446
638 > #define T_RECVQ 447
639 > #define T_REJ 448
640 > #define T_RESTART 449
641 > #define T_SERVER 450
642 > #define T_SERVICE 451
643 > #define T_SERVNOTICE 452
644 > #define T_SET 453
645 > #define T_SHARED 454
646 > #define T_SIZE 455
647 > #define T_SKILL 456
648 > #define T_SOFTCALLERID 457
649 > #define T_SPY 458
650 > #define T_SSL 459
651 > #define T_SSL_CIPHER_LIST 460
652 > #define T_TARGET 461
653 > #define T_UMODES 462
654 > #define T_UNAUTH 463
655 > #define T_UNDLINE 464
656 > #define T_UNLIMITED 465
657 > #define T_UNRESV 466
658 > #define T_UNXLINE 467
659 > #define T_WALLOP 468
660 > #define T_WALLOPS 469
661 > #define T_WEBIRC 470
662 > #define TBOOL 471
663 > #define THROTTLE_COUNT 472
664 > #define THROTTLE_TIME 473
665 > #define TKLINE_EXPIRE_NOTICES 474
666 > #define TMASKED 475
667 > #define TS_MAX_DELTA 476
668 > #define TS_WARN_DELTA 477
669 > #define TWODOTS 478
670 > #define TYPE 479
671 > #define UNKLINE 480
672 > #define USE_LOGGING 481
673 > #define USER 482
674 > #define VHOST 483
675 > #define VHOST6 484
676 > #define WARN_NO_CONNECT_BLOCK 485
677 > #define WHOIS 486
678 > #define WHOWAS_HISTORY_LENGTH 487
679 > #define XLINE 488
680 > #define XLINE_EXEMPT 489
681  
682   /* Value type.  */
683   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
684  
685   union YYSTYPE
686   {
687 < #line 153 "conf_parser.y" /* yacc.c:355  */
687 > #line 142 "conf_parser.y" /* yacc.c:355  */
688  
689    int number;
690    char *string;
691  
692 < #line 692 "conf_parser.c" /* yacc.c:355  */
692 > #line 693 "conf_parser.c" /* yacc.c:355  */
693   };
694  
695   typedef union YYSTYPE YYSTYPE;
# Line 705 | Line 706 | int yyparse (void);
706  
707   /* Copy the second part of user declarations.  */
708  
709 < #line 709 "conf_parser.c" /* yacc.c:358  */
709 > #line 710 "conf_parser.c" /* yacc.c:358  */
710  
711   #ifdef short
712   # undef short
# Line 947 | Line 948 | union yyalloc
948   /* YYFINAL -- State number of the termination state.  */
949   #define YYFINAL  2
950   /* YYLAST -- Last index in YYTABLE.  */
951 < #define YYLAST   1381
951 > #define YYLAST   1390
952  
953   /* YYNTOKENS -- Number of terminals.  */
954 < #define YYNTOKENS  235
954 > #define YYNTOKENS  241
955   /* YYNNTS -- Number of nonterminals.  */
956 < #define YYNNTS  296
956 > #define YYNNTS  299
957   /* YYNRULES -- Number of rules.  */
958 < #define YYNRULES  664
958 > #define YYNRULES  677
959   /* YYNSTATES -- Number of states.  */
960 < #define YYNSTATES  1313
960 > #define YYNSTATES  1332
961  
962   /* YYTRANSLATE[YYX] -- Symbol number corresponding to YYX as returned
963     by yylex, with out-of-bounds checking.  */
964   #define YYUNDEFTOK  2
965 < #define YYMAXUTOK   483
965 > #define YYMAXUTOK   489
966  
967   #define YYTRANSLATE(YYX)                                                \
968    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
# Line 974 | Line 975 | static const yytype_uint8 yytranslate[]
975         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
976         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
977         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
978 <       2,     2,     2,     2,   233,     2,     2,     2,     2,     2,
979 <       2,     2,     2,     2,     2,     2,     2,     2,   234,   229,
980 <       2,   232,     2,     2,     2,     2,     2,     2,     2,     2,
978 >       2,     2,     2,     2,   239,     2,     2,     2,     2,     2,
979 >       2,     2,     2,     2,     2,     2,     2,     2,   240,   235,
980 >       2,   238,     2,     2,     2,     2,     2,     2,     2,     2,
981         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
982         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
983         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
984         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
985         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
986 <       2,     2,     2,   231,     2,   230,     2,     2,     2,     2,
986 >       2,     2,     2,   237,     2,   236,     2,     2,     2,     2,
987         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
988         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
989         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1018 | Line 1019 | static const yytype_uint8 yytranslate[]
1019       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1020       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1021       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1022 <     225,   226,   227,   228
1022 >     225,   226,   227,   228,   229,   230,   231,   232,   233,   234
1023   };
1024  
1025   #if YYDEBUG
1026    /* YYRLINE[YYN] -- Source line where rule number YYN was defined.  */
1027   static const yytype_uint16 yyrline[] =
1028   {
1029 <       0,   385,   385,   386,   389,   390,   391,   392,   393,   394,
1030 <     395,   396,   397,   398,   399,   400,   401,   402,   403,   404,
1031 <     405,   406,   407,   408,   409,   410,   411,   412,   416,   416,
1032 <     417,   418,   419,   420,   421,   422,   423,   424,   427,   427,
1033 <     428,   429,   430,   431,   438,   441,   441,   442,   442,   442,
1034 <     444,   450,   457,   459,   459,   460,   461,   462,   463,   464,
1035 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1036 <     475,   476,   477,   480,   520,   578,   607,   615,   629,   657,
1037 <     672,   687,   697,   711,   720,   748,   776,   801,   823,   845,
1038 <     854,   856,   856,   857,   858,   859,   860,   862,   871,   880,
1039 <     893,   892,   910,   910,   911,   911,   911,   913,   919,   929,
1040 <     928,   947,   947,   948,   948,   948,   948,   948,   950,   956,
1041 <     962,   968,   989,   990,   990,   992,   992,   993,   995,  1002,
1042 <    1002,  1015,  1016,  1018,  1018,  1019,  1019,  1021,  1029,  1032,
1043 <    1038,  1037,  1043,  1043,  1044,  1048,  1052,  1056,  1060,  1064,
1044 <    1068,  1072,  1083,  1082,  1171,  1171,  1172,  1173,  1174,  1175,
1045 <    1176,  1177,  1178,  1179,  1180,  1181,  1182,  1183,  1185,  1191,
1046 <    1197,  1203,  1209,  1220,  1226,  1232,  1243,  1250,  1249,  1255,
1047 <    1255,  1256,  1260,  1264,  1268,  1272,  1276,  1280,  1284,  1288,
1048 <    1292,  1296,  1300,  1304,  1308,  1312,  1316,  1320,  1324,  1328,
1049 <    1332,  1336,  1340,  1347,  1346,  1352,  1352,  1353,  1357,  1361,
1050 <    1365,  1369,  1373,  1377,  1381,  1385,  1389,  1393,  1397,  1401,
1051 <    1405,  1409,  1413,  1417,  1421,  1425,  1429,  1433,  1437,  1441,
1052 <    1452,  1451,  1508,  1508,  1509,  1510,  1511,  1512,  1513,  1514,
1053 <    1515,  1516,  1517,  1518,  1519,  1520,  1521,  1521,  1522,  1523,
1054 <    1524,  1525,  1527,  1533,  1539,  1545,  1551,  1557,  1563,  1569,
1055 <    1575,  1581,  1587,  1594,  1600,  1606,  1612,  1621,  1631,  1630,
1056 <    1636,  1636,  1637,  1641,  1652,  1651,  1658,  1657,  1662,  1662,
1057 <    1663,  1667,  1671,  1677,  1677,  1678,  1678,  1678,  1678,  1678,
1058 <    1680,  1680,  1682,  1682,  1684,  1697,  1714,  1720,  1730,  1729,
1059 <    1771,  1771,  1772,  1773,  1774,  1775,  1776,  1777,  1778,  1779,
1060 <    1780,  1782,  1788,  1794,  1800,  1812,  1811,  1817,  1817,  1818,
1061 <    1822,  1826,  1830,  1834,  1838,  1842,  1846,  1850,  1854,  1860,
1062 <    1874,  1883,  1897,  1896,  1911,  1911,  1912,  1912,  1912,  1912,
1063 <    1914,  1920,  1926,  1936,  1938,  1938,  1939,  1939,  1941,  1957,
1064 <    1956,  1981,  1981,  1982,  1982,  1982,  1982,  1984,  1990,  2010,
1065 <    2009,  2015,  2015,  2016,  2020,  2024,  2028,  2032,  2036,  2040,
1066 <    2044,  2048,  2052,  2062,  2061,  2082,  2082,  2083,  2083,  2083,
1067 <    2085,  2092,  2091,  2097,  2097,  2098,  2102,  2106,  2110,  2114,
1068 <    2118,  2122,  2126,  2130,  2134,  2144,  2143,  2215,  2215,  2216,
1069 <    2217,  2218,  2219,  2220,  2221,  2222,  2223,  2224,  2225,  2226,
1070 <    2227,  2228,  2229,  2230,  2232,  2238,  2244,  2250,  2263,  2276,
1071 <    2282,  2288,  2292,  2299,  2298,  2303,  2303,  2304,  2308,  2314,
1072 <    2325,  2331,  2337,  2343,  2359,  2358,  2384,  2384,  2385,  2385,
1073 <    2385,  2387,  2407,  2417,  2416,  2443,  2443,  2444,  2444,  2444,
1074 <    2446,  2452,  2461,  2463,  2463,  2464,  2464,  2466,  2484,  2483,
1075 <    2506,  2506,  2507,  2507,  2507,  2509,  2515,  2524,  2527,  2527,
1076 <    2528,  2529,  2530,  2531,  2532,  2533,  2534,  2535,  2536,  2537,
1077 <    2538,  2539,  2540,  2541,  2542,  2543,  2544,  2545,  2546,  2547,
1078 <    2548,  2549,  2550,  2551,  2552,  2553,  2554,  2555,  2556,  2557,
1079 <    2558,  2559,  2560,  2561,  2562,  2563,  2564,  2565,  2566,  2567,
1080 <    2568,  2569,  2570,  2571,  2572,  2573,  2574,  2577,  2582,  2587,
1081 <    2592,  2598,  2603,  2608,  2613,  2618,  2623,  2628,  2633,  2638,
1082 <    2643,  2648,  2653,  2658,  2663,  2668,  2674,  2679,  2684,  2689,
1083 <    2694,  2699,  2704,  2709,  2712,  2717,  2720,  2725,  2730,  2735,
1084 <    2740,  2745,  2750,  2755,  2760,  2765,  2770,  2775,  2780,  2785,
1085 <    2791,  2790,  2795,  2795,  2796,  2799,  2802,  2805,  2808,  2811,
1086 <    2814,  2817,  2820,  2823,  2826,  2829,  2832,  2835,  2838,  2841,
1087 <    2844,  2847,  2850,  2853,  2856,  2859,  2865,  2864,  2869,  2869,
1088 <    2870,  2873,  2876,  2879,  2882,  2885,  2888,  2891,  2894,  2897,
1089 <    2900,  2903,  2906,  2909,  2912,  2915,  2918,  2921,  2924,  2927,
1090 <    2932,  2937,  2942,  2951,  2954,  2954,  2955,  2956,  2957,  2958,
1091 <    2959,  2960,  2961,  2962,  2963,  2964,  2965,  2966,  2967,  2968,
1092 <    2969,  2971,  2976,  2981,  2986,  2991,  2996,  3001,  3006,  3011,
1093 <    3016,  3021,  3026,  3031,  3036,  3044,  3047,  3047,  3048,  3049,
1094 <    3050,  3051,  3052,  3053,  3054,  3055,  3056,  3058,  3064,  3070,
1095 <    3076,  3082,  3091,  3106,  3112
1029 >       0,   380,   380,   381,   384,   385,   386,   387,   388,   389,
1030 >     390,   391,   392,   393,   394,   395,   396,   397,   398,   399,
1031 >     400,   401,   402,   403,   404,   405,   406,   407,   411,   411,
1032 >     412,   413,   414,   415,   416,   417,   418,   419,   422,   422,
1033 >     423,   424,   425,   426,   433,   435,   435,   436,   436,   436,
1034 >     438,   444,   454,   456,   456,   457,   458,   459,   460,   461,
1035 >     462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1036 >     472,   473,   474,   475,   476,   477,   480,   489,   498,   507,
1037 >     516,   525,   535,   534,   540,   540,   541,   547,   553,   559,
1038 >     567,   582,   597,   612,   627,   637,   651,   660,   688,   716,
1039 >     741,   763,   785,   795,   797,   797,   798,   799,   800,   801,
1040 >     803,   812,   821,   835,   834,   852,   852,   853,   853,   853,
1041 >     855,   861,   872,   871,   890,   890,   891,   891,   891,   891,
1042 >     891,   893,   899,   905,   911,   933,   934,   934,   936,   936,
1043 >     937,   939,   946,   946,   959,   960,   962,   962,   963,   963,
1044 >     965,   973,   976,   982,   981,   987,   987,   988,   992,   996,
1045 >    1000,  1004,  1008,  1012,  1016,  1027,  1026,  1087,  1087,  1088,
1046 >    1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097,  1098,
1047 >    1100,  1106,  1112,  1118,  1124,  1135,  1141,  1152,  1159,  1158,
1048 >    1164,  1164,  1165,  1169,  1173,  1177,  1181,  1185,  1189,  1193,
1049 >    1197,  1201,  1205,  1209,  1213,  1217,  1221,  1225,  1229,  1233,
1050 >    1237,  1241,  1245,  1249,  1256,  1255,  1261,  1261,  1262,  1266,
1051 >    1270,  1274,  1278,  1282,  1286,  1290,  1294,  1298,  1302,  1306,
1052 >    1310,  1314,  1318,  1322,  1326,  1330,  1334,  1338,  1342,  1346,
1053 >    1350,  1354,  1358,  1362,  1366,  1370,  1374,  1385,  1384,  1441,
1054 >    1441,  1442,  1443,  1444,  1445,  1446,  1447,  1448,  1449,  1450,
1055 >    1451,  1452,  1453,  1454,  1454,  1455,  1456,  1457,  1458,  1460,
1056 >    1466,  1472,  1478,  1484,  1490,  1496,  1502,  1508,  1514,  1520,
1057 >    1527,  1533,  1539,  1545,  1554,  1564,  1563,  1569,  1569,  1570,
1058 >    1574,  1585,  1584,  1591,  1590,  1595,  1595,  1596,  1600,  1604,
1059 >    1610,  1610,  1611,  1611,  1611,  1611,  1611,  1613,  1613,  1615,
1060 >    1615,  1617,  1630,  1647,  1653,  1664,  1663,  1709,  1709,  1710,
1061 >    1711,  1712,  1713,  1714,  1715,  1716,  1717,  1718,  1720,  1726,
1062 >    1732,  1738,  1750,  1749,  1755,  1755,  1756,  1760,  1764,  1768,
1063 >    1772,  1776,  1780,  1784,  1788,  1792,  1798,  1812,  1821,  1835,
1064 >    1834,  1849,  1849,  1850,  1850,  1850,  1850,  1852,  1858,  1864,
1065 >    1874,  1876,  1876,  1877,  1877,  1879,  1896,  1895,  1918,  1918,
1066 >    1919,  1919,  1919,  1919,  1921,  1927,  1947,  1946,  1952,  1952,
1067 >    1953,  1957,  1961,  1965,  1969,  1973,  1977,  1981,  1985,  1989,
1068 >    2000,  1999,  2018,  2018,  2019,  2019,  2019,  2021,  2028,  2027,
1069 >    2033,  2033,  2034,  2038,  2042,  2046,  2050,  2054,  2058,  2062,
1070 >    2066,  2070,  2081,  2080,  2152,  2152,  2153,  2154,  2155,  2156,
1071 >    2157,  2158,  2159,  2160,  2161,  2162,  2163,  2164,  2165,  2166,
1072 >    2167,  2169,  2175,  2181,  2187,  2200,  2213,  2219,  2225,  2229,
1073 >    2236,  2235,  2240,  2240,  2241,  2245,  2251,  2262,  2268,  2274,
1074 >    2280,  2296,  2295,  2321,  2321,  2322,  2322,  2322,  2324,  2344,
1075 >    2355,  2354,  2381,  2381,  2382,  2382,  2382,  2384,  2390,  2400,
1076 >    2402,  2402,  2403,  2403,  2405,  2423,  2422,  2443,  2443,  2444,
1077 >    2444,  2444,  2446,  2452,  2462,  2464,  2464,  2465,  2466,  2467,
1078 >    2468,  2469,  2470,  2471,  2472,  2473,  2474,  2475,  2476,  2477,
1079 >    2478,  2479,  2480,  2481,  2482,  2483,  2484,  2485,  2486,  2487,
1080 >    2488,  2489,  2490,  2491,  2492,  2493,  2494,  2495,  2496,  2497,
1081 >    2498,  2499,  2500,  2501,  2502,  2503,  2504,  2505,  2506,  2507,
1082 >    2508,  2509,  2510,  2511,  2514,  2519,  2524,  2529,  2534,  2540,
1083 >    2545,  2550,  2555,  2560,  2565,  2570,  2575,  2580,  2585,  2590,
1084 >    2595,  2600,  2605,  2610,  2616,  2621,  2626,  2631,  2636,  2641,
1085 >    2646,  2651,  2654,  2659,  2662,  2667,  2672,  2677,  2682,  2687,
1086 >    2692,  2697,  2702,  2707,  2712,  2717,  2722,  2728,  2727,  2732,
1087 >    2732,  2733,  2736,  2739,  2742,  2745,  2748,  2751,  2754,  2757,
1088 >    2760,  2763,  2766,  2769,  2772,  2775,  2778,  2781,  2784,  2787,
1089 >    2790,  2793,  2796,  2802,  2801,  2806,  2806,  2807,  2810,  2813,
1090 >    2816,  2819,  2822,  2825,  2828,  2831,  2834,  2837,  2840,  2843,
1091 >    2846,  2849,  2852,  2855,  2858,  2861,  2864,  2869,  2874,  2879,
1092 >    2888,  2890,  2890,  2891,  2892,  2893,  2894,  2895,  2896,  2897,
1093 >    2898,  2899,  2900,  2901,  2902,  2904,  2909,  2914,  2919,  2924,
1094 >    2929,  2934,  2939,  2944,  2949,  2954,  2963,  2965,  2965,  2966,
1095 >    2967,  2968,  2969,  2970,  2971,  2972,  2973,  2974,  2975,  2977,
1096 >    2983,  2999,  3008,  3014,  3020,  3026,  3035,  3041
1097   };
1098   #endif
1099  
# Line 1103 | Line 1105 | static const char *const yytname[] =
1105    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1106    "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN",
1107    "AWAY_COUNT", "AWAY_TIME", "BYTES", "KBYTES", "MBYTES", "CALLER_ID_WAIT",
1108 <  "CAN_FLOOD", "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS",
1109 <  "CONNECT", "CONNECTFREQ", "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT",
1110 <  "DEFAULT_JOIN_FLOOD_COUNT", "DEFAULT_JOIN_FLOOD_TIME",
1111 <  "DEFAULT_MAX_CLIENTS", "DEFAULT_SPLIT_SERVER_COUNT",
1112 <  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1113 <  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DLINE_MIN_CIDR",
1114 <  "DLINE_MIN_CIDR6", "DOTS_IN_IDENT", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT",
1115 <  "EXEMPT", "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "GECOS", "GENERAL",
1116 <  "HIDDEN", "HIDDEN_NAME", "HIDE_CHANS", "HIDE_IDLE",
1117 <  "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS", "HIDE_SERVERS",
1118 <  "HIDE_SERVICES", "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS",
1119 <  "INVISIBLE_ON_CONNECT", "INVITE_CLIENT_COUNT", "INVITE_CLIENT_TIME",
1120 <  "IP", "IRCD_AUTH", "IRCD_FLAGS", "IRCD_SID", "KILL",
1121 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_MIN_CIDR",
1122 <  "KLINE_MIN_CIDR6", "KNOCK_CLIENT_COUNT", "KNOCK_CLIENT_TIME",
1123 <  "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY", "LISTEN", "MASK",
1124 <  "MAX_ACCEPT", "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL", "MAX_IDENT",
1125 <  "MAX_IDLE", "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH",
1126 <  "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH",
1127 <  "MAX_WATCH", "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE",
1128 <  "MODULE", "MODULES", "MOTD", "NAME", "NEED_IDENT", "NEED_PASSWORD",
1129 <  "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_CREATE_ON_SPLIT",
1130 <  "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE", "NUMBER",
1131 <  "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1132 <  "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID", "PACE_WAIT",
1133 <  "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME",
1134 <  "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT", "REDIRSERV",
1135 <  "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1136 <  "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE", "SECONDS", "MINUTES",
1137 <  "HOURS", "DAYS", "WEEKS", "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ",
1138 <  "SERVERHIDE", "SERVERINFO", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1139 <  "SQUIT", "SSL_CERTIFICATE_FILE", "SSL_CERTIFICATE_FINGERPRINT",
1140 <  "SSL_CONNECTION_REQUIRED", "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1141 <  "SSL_MESSAGE_DIGEST_ALGORITHM", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1142 <  "STATS_K_OPER_ONLY", "STATS_M_OPER_ONLY", "STATS_O_OPER_ONLY",
1143 <  "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL", "T_BOTS",
1144 <  "T_CALLERID", "T_CCONN", "T_COMMAND", "T_CLUSTER", "T_DEAF", "T_DEBUG",
1145 <  "T_DLINE", "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL", "T_GLOBOPS",
1146 <  "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG", "T_NCHANGE",
1147 <  "T_NONONREG", "T_OPME", "T_PREPEND", "T_PSEUDO", "T_RECVQ", "T_REJ",
1148 <  "T_RESTART", "T_SERVER", "T_SERVICE", "T_SERVNOTICE", "T_SET",
1108 >  "CAN_FLOOD", "CHANNEL", "CHECK_CACHE", "CIDR_BITLEN_IPV4",
1109 >  "CIDR_BITLEN_IPV6", "CLASS", "CLOSE", "CONNECT", "CONNECTFREQ",
1110 >  "CYCLE_ON_HOST_CHANGE", "DEFAULT_FLOODCOUNT", "DEFAULT_JOIN_FLOOD_COUNT",
1111 >  "DEFAULT_JOIN_FLOOD_TIME", "DEFAULT_MAX_CLIENTS", "DENY", "DESCRIPTION",
1112 >  "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1113 >  "DISABLE_REMOTE_COMMANDS", "DLINE_MIN_CIDR", "DLINE_MIN_CIDR6",
1114 >  "DOTS_IN_IDENT", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1115 >  "FAILED_OPER_NOTICE", "FLATTEN_LINKS", "FLATTEN_LINKS_DELAY",
1116 >  "FLATTEN_LINKS_FILE", "GECOS", "GENERAL", "HIDDEN", "HIDDEN_NAME",
1117 >  "HIDE_CHANS", "HIDE_IDLE", "HIDE_IDLE_FROM_OPERS", "HIDE_SERVER_IPS",
1118 >  "HIDE_SERVERS", "HIDE_SERVICES", "HOST", "HUB", "HUB_MASK",
1119 >  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "INVITE_CLIENT_COUNT",
1120 >  "INVITE_CLIENT_TIME", "INVITE_DELAY_CHANNEL", "IP", "IRCD_AUTH",
1121 >  "IRCD_FLAGS", "IRCD_SID", "JOIN", "KILL", "KILL_CHASE_TIME_LIMIT",
1122 >  "KLINE", "KLINE_EXEMPT", "KLINE_MIN_CIDR", "KLINE_MIN_CIDR6",
1123 >  "KNOCK_CLIENT_COUNT", "KNOCK_CLIENT_TIME", "KNOCK_DELAY_CHANNEL",
1124 >  "LEAF_MASK", "LIBGEOIP_DATABASE_OPTIONS", "LIBGEOIP_IPV4_DATABASE_FILE",
1125 >  "LIBGEOIP_IPV6_DATABASE_FILE", "LISTEN", "MASK", "MAX_ACCEPT",
1126 >  "MAX_BANS", "MAX_CHANNELS", "MAX_GLOBAL", "MAX_IDENT", "MAX_IDLE",
1127 >  "MAX_LOCAL", "MAX_NICK_CHANGES", "MAX_NICK_LENGTH", "MAX_NICK_TIME",
1128 >  "MAX_NUMBER", "MAX_TARGETS", "MAX_TOPIC_LENGTH", "MAX_WATCH",
1129 >  "MEMORY_CACHE", "MIN_IDLE", "MIN_NONWILDCARD", "MIN_NONWILDCARD_SIMPLE",
1130 >  "MMAP_CACHE", "MODULE", "MODULES", "MOTD", "NAME", "NEED_IDENT",
1131 >  "NEED_PASSWORD", "NETWORK_DESC", "NETWORK_NAME", "NICK", "NO_OPER_FLOOD",
1132 >  "NO_TILDE", "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1133 >  "OPER_ONLY_UMODES", "OPER_UMODES", "OPERATOR", "OPERS_BYPASS_CALLERID",
1134 >  "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1135 >  "PING_TIME", "PORT", "QSTRING", "RANDOM_IDLE", "REASON", "REDIRPORT",
1136 >  "REDIRSERV", "REHASH", "REMOTE", "REMOTEBAN", "RESV", "RESV_EXEMPT",
1137 >  "RSA_PRIVATE_KEY_FILE", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1138 >  "MONTHS", "YEARS", "SEND_PASSWORD", "SENDQ", "SERVERHIDE", "SERVERINFO",
1139 >  "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE", "SQUIT", "SSL_CERTIFICATE_FILE",
1140 >  "SSL_CERTIFICATE_FINGERPRINT", "SSL_CONNECTION_REQUIRED",
1141 >  "SSL_DH_ELLIPTIC_CURVE", "SSL_DH_PARAM_FILE",
1142 >  "SSL_MESSAGE_DIGEST_ALGORITHM", "STANDARD", "STATS_E_DISABLED",
1143 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_M_OPER_ONLY",
1144 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "STATS_U_OPER_ONLY", "T_ALL",
1145 >  "T_BOTS", "T_CALLERID", "T_CCONN", "T_COMMAND", "T_CLUSTER", "T_DEAF",
1146 >  "T_DEBUG", "T_DLINE", "T_EXTERNAL", "T_FARCONNECT", "T_FILE", "T_FULL",
1147 >  "T_GLOBOPS", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_LOG",
1148 >  "T_NCHANGE", "T_NONONREG", "T_OPME", "T_PREPEND", "T_PSEUDO", "T_RECVQ",
1149 >  "T_REJ", "T_RESTART", "T_SERVER", "T_SERVICE", "T_SERVNOTICE", "T_SET",
1150    "T_SHARED", "T_SIZE", "T_SKILL", "T_SOFTCALLERID", "T_SPY", "T_SSL",
1151    "T_SSL_CIPHER_LIST", "T_TARGET", "T_UMODES", "T_UNAUTH", "T_UNDLINE",
1152    "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_WALLOP", "T_WALLOPS",
1153    "T_WEBIRC", "TBOOL", "THROTTLE_COUNT", "THROTTLE_TIME",
1154    "TKLINE_EXPIRE_NOTICES", "TMASKED", "TS_MAX_DELTA", "TS_WARN_DELTA",
1155    "TWODOTS", "TYPE", "UNKLINE", "USE_LOGGING", "USER", "VHOST", "VHOST6",
1156 <  "WARN_NO_CONNECT_BLOCK", "WHOIS", "XLINE", "XLINE_EXEMPT", "';'", "'}'",
1157 <  "'{'", "'='", "','", "':'", "$accept", "conf", "conf_item", "timespec_",
1158 <  "timespec", "sizespec_", "sizespec", "modules_entry", "modules_items",
1159 <  "modules_item", "modules_module", "modules_path", "serverinfo_entry",
1160 <  "serverinfo_items", "serverinfo_item", "serverinfo_ssl_certificate_file",
1156 >  "WARN_NO_CONNECT_BLOCK", "WHOIS", "WHOWAS_HISTORY_LENGTH", "XLINE",
1157 >  "XLINE_EXEMPT", "';'", "'}'", "'{'", "'='", "','", "':'", "$accept",
1158 >  "conf", "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1159 >  "modules_entry", "modules_items", "modules_item", "modules_module",
1160 >  "modules_path", "serverinfo_entry", "serverinfo_items",
1161 >  "serverinfo_item", "serverinfo_ssl_certificate_file",
1162    "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1163    "serverinfo_ssl_cipher_list", "serverinfo_ssl_message_digest_algorithm",
1164 <  "serverinfo_ssl_dh_elliptic_curve", "serverinfo_name", "serverinfo_sid",
1165 <  "serverinfo_description", "serverinfo_network_name",
1164 >  "serverinfo_ssl_dh_elliptic_curve",
1165 >  "serverinfo_libgeoip_database_options", "$@1", "options_items",
1166 >  "options_item", "serverinfo_libgeoip_ipv4_database_file",
1167 >  "serverinfo_libgeoip_ipv6_database_file", "serverinfo_name",
1168 >  "serverinfo_sid", "serverinfo_description", "serverinfo_network_name",
1169    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1170    "serverinfo_default_max_clients", "serverinfo_max_nick_length",
1171    "serverinfo_max_topic_length", "serverinfo_hub", "admin_entry",
1172    "admin_items", "admin_item", "admin_name", "admin_email",
1173 <  "admin_description", "motd_entry", "$@1", "motd_items", "motd_item",
1174 <  "motd_mask", "motd_file", "pseudo_entry", "$@2", "pseudo_items",
1173 >  "admin_description", "motd_entry", "$@2", "motd_items", "motd_item",
1174 >  "motd_mask", "motd_file", "pseudo_entry", "$@3", "pseudo_items",
1175    "pseudo_item", "pseudo_command", "pseudo_name", "pseudo_prepend",
1176    "pseudo_target", "logging_entry", "logging_items", "logging_item",
1177 <  "logging_use_logging", "logging_file_entry", "$@3", "logging_file_items",
1177 >  "logging_use_logging", "logging_file_entry", "$@4", "logging_file_items",
1178    "logging_file_item", "logging_file_name", "logging_file_size",
1179 <  "logging_file_type", "$@4", "logging_file_type_items",
1180 <  "logging_file_type_item", "oper_entry", "$@5", "oper_items", "oper_item",
1179 >  "logging_file_type", "$@5", "logging_file_type_items",
1180 >  "logging_file_type_item", "oper_entry", "$@6", "oper_items", "oper_item",
1181    "oper_name", "oper_user", "oper_password", "oper_whois",
1182 <  "oper_encrypted", "oper_rsa_public_key_file",
1183 <  "oper_ssl_certificate_fingerprint", "oper_ssl_connection_required",
1184 <  "oper_class", "oper_umodes", "$@6", "oper_umodes_items",
1185 <  "oper_umodes_item", "oper_flags", "$@7", "oper_flags_items",
1186 <  "oper_flags_item", "class_entry", "$@8", "class_items", "class_item",
1187 <  "class_name", "class_ping_time", "class_number_per_ip",
1188 <  "class_connectfreq", "class_max_channels", "class_max_number",
1189 <  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1190 <  "class_recvq", "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1182 >  "oper_encrypted", "oper_ssl_certificate_fingerprint",
1183 >  "oper_ssl_connection_required", "oper_class", "oper_umodes", "$@7",
1184 >  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@8",
1185 >  "oper_flags_items", "oper_flags_item", "class_entry", "$@9",
1186 >  "class_items", "class_item", "class_name", "class_ping_time",
1187 >  "class_number_per_ip", "class_connectfreq", "class_max_channels",
1188 >  "class_max_number", "class_max_global", "class_max_local",
1189 >  "class_max_ident", "class_sendq", "class_recvq",
1190 >  "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1191    "class_number_per_cidr", "class_min_idle", "class_max_idle",
1192 <  "class_flags", "$@9", "class_flags_items", "class_flags_item",
1193 <  "listen_entry", "$@10", "listen_flags", "$@11", "listen_flags_items",
1192 >  "class_flags", "$@10", "class_flags_items", "class_flags_item",
1193 >  "listen_entry", "$@11", "listen_flags", "$@12", "listen_flags_items",
1194    "listen_flags_item", "listen_items", "listen_item", "listen_port",
1195 <  "$@12", "port_items", "port_item", "listen_address", "listen_host",
1196 <  "auth_entry", "$@13", "auth_items", "auth_item", "auth_user",
1197 <  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@14",
1195 >  "$@13", "port_items", "port_item", "listen_address", "listen_host",
1196 >  "auth_entry", "$@14", "auth_items", "auth_item", "auth_user",
1197 >  "auth_passwd", "auth_class", "auth_encrypted", "auth_flags", "$@15",
1198    "auth_flags_items", "auth_flags_item", "auth_spoof", "auth_redir_serv",
1199 <  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1199 >  "auth_redir_port", "resv_entry", "$@16", "resv_items", "resv_item",
1200    "resv_mask", "resv_reason", "resv_exempt", "service_entry",
1201 <  "service_items", "service_item", "service_name", "shared_entry", "$@16",
1201 >  "service_items", "service_item", "service_name", "shared_entry", "$@17",
1202    "shared_items", "shared_item", "shared_name", "shared_user",
1203 <  "shared_type", "$@17", "shared_types", "shared_type_item",
1204 <  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1205 <  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1206 <  "connect_entry", "$@20", "connect_items", "connect_item", "connect_name",
1203 >  "shared_type", "$@18", "shared_types", "shared_type_item",
1204 >  "cluster_entry", "$@19", "cluster_items", "cluster_item", "cluster_name",
1205 >  "cluster_type", "$@20", "cluster_types", "cluster_type_item",
1206 >  "connect_entry", "$@21", "connect_items", "connect_item", "connect_name",
1207    "connect_host", "connect_vhost", "connect_send_password",
1208    "connect_accept_password", "connect_ssl_certificate_fingerprint",
1209 <  "connect_port", "connect_aftype", "connect_flags", "$@21",
1209 >  "connect_port", "connect_aftype", "connect_flags", "$@22",
1210    "connect_flags_items", "connect_flags_item", "connect_encrypted",
1211    "connect_hub_mask", "connect_leaf_mask", "connect_class",
1212 <  "connect_ssl_cipher_list", "kill_entry", "$@22", "kill_items",
1213 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@23",
1212 >  "connect_ssl_cipher_list", "kill_entry", "$@23", "kill_items",
1213 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@24",
1214    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1215 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@24",
1215 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@25",
1216    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1217    "general_entry", "general_items", "general_item", "general_away_count",
1218 <  "general_away_time", "general_max_watch", "general_cycle_on_host_change",
1218 >  "general_away_time", "general_max_watch",
1219 >  "general_whowas_history_length", "general_cycle_on_host_change",
1220    "general_dline_min_cidr", "general_dline_min_cidr6",
1221    "general_kline_min_cidr", "general_kline_min_cidr6",
1222    "general_tkline_expire_notices", "general_kill_chase_time_limit",
# Line 1223 | Line 1231 | static const char *const yytname[] =
1231    "general_stats_k_oper_only", "general_stats_i_oper_only",
1232    "general_pace_wait", "general_caller_id_wait",
1233    "general_opers_bypass_callerid", "general_pace_wait_simple",
1234 <  "general_short_motd", "general_no_oper_flood", "general_oper_pass_resv",
1235 <  "general_dots_in_ident", "general_max_targets", "general_ping_cookie",
1236 <  "general_disable_auth", "general_throttle_count",
1237 <  "general_throttle_time", "general_oper_umodes", "$@25", "umode_oitems",
1238 <  "umode_oitem", "general_oper_only_umodes", "$@26", "umode_items",
1231 <  "umode_item", "general_min_nonwildcard",
1234 >  "general_short_motd", "general_no_oper_flood", "general_dots_in_ident",
1235 >  "general_max_targets", "general_ping_cookie", "general_disable_auth",
1236 >  "general_throttle_count", "general_throttle_time", "general_oper_umodes",
1237 >  "$@26", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1238 >  "$@27", "umode_items", "umode_item", "general_min_nonwildcard",
1239    "general_min_nonwildcard_simple", "general_default_floodcount",
1240    "channel_entry", "channel_items", "channel_item",
1241    "channel_disable_fake_channels", "channel_invite_client_count",
1242 <  "channel_invite_client_time", "channel_knock_client_count",
1243 <  "channel_knock_client_time", "channel_knock_delay_channel",
1244 <  "channel_max_channels", "channel_max_bans",
1245 <  "channel_default_split_user_count", "channel_default_split_server_count",
1246 <  "channel_no_create_on_split", "channel_no_join_on_split",
1247 <  "channel_default_join_flood_count", "channel_default_join_flood_time",
1248 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1249 <  "serverhide_flatten_links", "serverhide_disable_remote_commands",
1250 <  "serverhide_hide_servers", "serverhide_hide_services",
1251 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1245 <  "serverhide_hide_server_ips", YY_NULLPTR
1242 >  "channel_invite_client_time", "channel_invite_delay_channel",
1243 >  "channel_knock_client_count", "channel_knock_client_time",
1244 >  "channel_knock_delay_channel", "channel_max_channels",
1245 >  "channel_max_bans", "channel_default_join_flood_count",
1246 >  "channel_default_join_flood_time", "serverhide_entry",
1247 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1248 >  "serverhide_flatten_links_delay", "serverhide_flatten_links_file",
1249 >  "serverhide_disable_remote_commands", "serverhide_hide_servers",
1250 >  "serverhide_hide_services", "serverhide_hidden_name",
1251 >  "serverhide_hidden", "serverhide_hide_server_ips", YY_NULLPTR
1252   };
1253   #endif
1254  
# Line 1273 | Line 1279 | static const yytype_uint16 yytoknum[] =
1279       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1280       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1281       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1282 <     475,   476,   477,   478,   479,   480,   481,   482,   483,    59,
1283 <     125,   123,    61,    44,    58
1282 >     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1283 >     485,   486,   487,   488,   489,    59,   125,   123,    61,    44,
1284 >      58
1285   };
1286   # endif
1287  
1288 < #define YYPACT_NINF -739
1288 > #define YYPACT_NINF -724
1289  
1290   #define yypact_value_is_default(Yystate) \
1291 <  (!!((Yystate) == (-739)))
1291 >  (!!((Yystate) == (-724)))
1292  
1293 < #define YYTABLE_NINF -130
1293 > #define YYTABLE_NINF -143
1294  
1295   #define yytable_value_is_error(Yytable_value) \
1296    0
# Line 1292 | Line 1299 | static const yytype_uint16 yytoknum[] =
1299       STATE-NUM.  */
1300   static const yytype_int16 yypact[] =
1301   {
1302 <    -739,   690,  -739,  -204,  -227,  -225,  -739,  -739,  -739,  -212,
1303 <    -739,  -183,  -739,  -739,  -739,  -172,  -739,  -739,  -739,  -171,
1304 <    -159,  -739,  -145,  -739,  -142,  -739,  -739,  -739,  -739,  -739,
1305 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1306 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1307 <    -739,   322,   939,  -134,  -105,   -70,    21,   -69,   390,   -61,
1308 <     -55,   -49,    40,   -47,   -34,   -31,   669,   530,   -28,   106,
1309 <     -23,    11,   -15,   -14,     6,    27,    52,    31,  -739,  -739,
1310 <    -739,  -739,  -739,    54,    62,    90,    96,   103,   114,   117,
1311 <     118,   121,   131,   132,   144,   145,   148,   171,  -739,  -739,
1312 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1313 <    -739,  -739,  -739,   680,   523,    14,  -739,   152,    69,  -739,
1314 <    -739,    19,  -739,   153,   155,   156,   157,   161,   162,   175,
1315 <     176,   177,   179,   182,   183,   184,   185,   186,   187,   189,
1316 <     191,   192,   196,   199,   201,   202,   203,   204,  -739,   207,
1317 <    -739,   208,   209,   210,   211,   213,   218,   220,   222,   223,
1318 <     226,   230,   233,   234,   239,   241,   246,   248,   250,     7,
1319 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1320 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1321 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1322 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1323 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,   343,    26,   329,
1324 <     -11,   253,   254,    39,  -739,  -739,  -739,    33,   312,    22,
1325 <    -739,   255,   260,   261,   263,   265,   266,   268,   272,     4,
1326 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,    -2,
1327 <     276,   277,   279,   280,   281,   283,   285,   286,   287,   288,
1328 <     289,   290,   291,   293,   295,   298,   300,   124,  -739,  -739,
1329 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1330 <    -739,  -739,  -739,  -739,  -739,  -739,    10,    44,   305,    67,
1331 <    -739,  -739,  -739,   137,   173,  -739,   308,    89,  -739,  -739,
1332 <      17,  -739,   215,   282,   353,    76,  -739,   206,   433,   435,
1333 <     437,   342,   446,   433,   447,   433,   433,   449,   450,   348,
1334 <     350,   174,  -739,   335,   341,   346,   349,  -739,   352,   355,
1335 <     356,   357,   358,   359,   363,   367,   368,   369,   373,   377,
1336 <     378,   172,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1337 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1338 <     345,   379,   380,   381,   382,   386,   387,  -739,   391,   394,
1339 <     395,   397,   398,   402,   403,   244,  -739,  -739,  -739,  -739,
1340 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1341 <    -739,  -739,   404,   405,    32,  -739,  -739,  -739,   457,   393,
1342 <    -739,  -739,   406,   408,    80,  -739,  -739,  -739,   371,   433,
1343 <     533,   433,   433,   432,   538,   436,   541,   542,   543,   442,
1344 <     443,   444,   433,   548,   550,   551,   552,   433,   554,   556,
1345 <     559,   563,   481,   441,   482,   455,   485,   433,   433,   488,
1346 <     489,   491,  -187,  -180,   494,   496,   497,   500,   605,   433,
1347 <     503,   433,   433,   506,   495,  -739,   498,   486,   493,  -739,
1348 <     501,   504,   505,   507,   508,    65,  -739,  -739,  -739,  -739,
1349 <    -739,  -739,  -739,  -739,  -739,  -739,   509,   510,    86,  -739,
1350 <    -739,  -739,   499,   513,   515,  -739,   516,  -739,    79,  -739,
1351 <    -739,  -739,  -739,  -739,   603,   606,   520,  -739,   521,   519,
1352 <     524,    35,  -739,  -739,  -739,   528,   526,   527,  -739,   539,
1353 <     544,   545,   547,   549,  -739,   553,   560,   227,  -739,  -739,
1354 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1355 <     536,   561,   565,   566,    61,  -739,  -739,  -739,  -739,   562,
1356 <     564,   569,   609,   571,   572,   573,   433,   577,  -739,  -739,
1357 <     666,   615,   580,   665,   701,   703,   691,   692,   693,   694,
1358 <     696,   697,   702,   706,   707,   708,   709,   595,  -739,   607,
1359 <     608,  -739,    87,  -739,  -739,  -739,  -739,   626,   610,  -739,
1360 <     612,   616,   614,   617,   618,   619,   135,  -739,  -739,  -739,
1361 <    -739,  -739,   718,   623,  -739,   624,   622,  -739,   625,    82,
1362 <    -739,  -739,  -739,  -739,   627,   631,   632,  -739,   633,   431,
1363 <     634,   635,   636,   637,   639,   640,   641,   643,   644,   645,
1364 <     646,   648,   649,  -739,  -739,   736,   739,   433,   647,   740,
1365 <     747,   751,   433,   772,   774,   433,   760,   780,   781,   433,
1366 <     784,   784,   668,  -739,  -739,   776,  -133,   777,   684,   779,
1367 <     782,   675,   785,   787,   803,   789,   791,   792,   793,   704,
1368 <    -739,   797,   798,   712,  -739,   714,  -739,   799,   800,   719,
1369 <    -739,   720,   722,   723,   724,   727,   728,   732,   733,   742,
1370 <     744,   745,   746,   748,   749,   754,   755,   756,   757,   758,
1371 <     759,   761,   763,   764,   765,   767,   762,   768,   630,   771,
1372 <     778,   786,   788,   794,   795,   796,   801,   802,   804,   805,
1373 <     806,   807,   808,   809,   810,   811,   812,   813,   816,  -739,
1374 <    -739,   824,   725,   698,   845,   817,   846,   853,   857,   818,
1375 <    -739,   866,   868,   819,  -739,  -739,   878,   880,   773,   896,
1376 <     820,  -739,   821,   822,  -739,  -739,   883,   885,   823,  -739,
1377 <    -739,   886,   815,   790,   890,   891,   893,   897,   835,   825,
1378 <     898,   904,   826,  -739,  -739,   905,   906,   909,   827,  -739,
1379 <     829,   830,   831,   832,   833,   834,   836,   837,  -739,   838,
1380 <     839,   840,   841,   842,   843,   844,   847,   848,   849,   850,
1381 <     851,   852,   854,   855,   856,   858,  -739,  -739,   930,   859,
1382 <     860,  -739,   861,  -739,    77,  -739,   931,   941,   951,   952,
1383 <     863,  -739,   864,  -739,  -739,   959,   862,   963,   867,  -739,
1384 <    -739,  -739,  -739,  -739,   433,   433,   433,   433,   433,   433,
1385 <     433,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1386 <    -739,  -739,  -739,  -739,  -739,  -739,   869,   870,   871,   -13,
1387 <     872,   873,   874,   875,   876,   877,   879,   881,   882,   884,
1388 <     887,    41,   888,   889,  -739,   892,   894,   895,   899,   900,
1389 <     901,   902,    -5,   903,   907,   908,   910,   911,   912,   913,
1390 <    -739,   914,   915,  -739,  -739,   916,   917,  -739,  -739,  -739,
1391 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1392 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1393 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1394 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1395 <    -739,  -739,  -739,  -162,  -739,  -739,  -739,  -739,  -739,  -739,
1396 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1397 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -138,  -739,
1398 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1399 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1400 <     918,   919,   476,   920,   921,   922,   923,   924,  -739,   925,
1401 <     926,  -739,   927,   928,    68,   940,   929,  -739,  -739,  -739,
1402 <    -739,   932,   934,  -739,   935,   936,   468,   937,   938,   942,
1403 <     943,   944,   721,   945,   946,  -739,   947,   948,   949,  -739,
1404 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1405 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1406 <    -739,  -739,  -739,  -739,  -739,   950,   462,  -739,  -739,   953,
1407 <     865,   954,  -739,    73,  -739,  -739,  -739,  -739,   955,   956,
1408 <     958,   960,  -739,  -739,   961,   775,   962,  -739,  -739,  -739,
1409 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1410 <     -92,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1411 <    -739,  -739,  -739,   784,   784,   784,  -739,  -739,  -739,  -739,
1412 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,   -81,
1413 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1414 <    -739,  -739,  -739,   762,  -739,   630,  -739,  -739,  -739,  -739,
1415 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,   -73,  -739,
1416 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1417 <    -739,  -739,   -52,  -739,   980,   896,   964,  -739,  -739,  -739,
1418 <    -739,  -739,   965,  -739,   966,  -739,  -739,  -739,  -739,   967,
1419 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1420 <    -739,   -27,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1421 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1422 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1423 <     -16,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1424 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,    56,  -739,
1425 <    -739,   972,   -50,   970,   968,  -739,  -739,  -739,  -739,  -739,
1426 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1427 <    -739,   108,  -739,  -739,  -739,   -13,  -739,  -739,  -739,  -739,
1428 <      -5,  -739,  -739,  -739,   476,  -739,    68,  -739,  -739,  -739,
1429 <     978,   983,   985,  -739,   468,  -739,   721,  -739,   462,   969,
1430 <     974,   975,   267,  -739,  -739,   775,  -739,  -739,  -739,  -739,
1431 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1432 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,   110,  -739,  -739,
1433 <    -739,   267,  -739
1302 >    -724,   644,  -724,  -208,  -224,  -216,  -724,  -724,  -724,  -203,
1303 >    -724,  -201,  -724,  -724,  -724,  -182,  -724,  -724,  -724,  -165,
1304 >    -164,  -724,  -162,  -724,  -141,  -724,  -724,  -724,  -724,  -724,
1305 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1306 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1307 >    -724,   302,   911,  -129,  -127,   -99,    15,   -93,   378,   -74,
1308 >     -72,   -71,    34,   -57,   -55,   -52,   649,   426,   -16,     9,
1309 >     -15,    69,   -12,  -136,    -7,    39,    43,    10,  -724,  -724,
1310 >    -724,  -724,  -724,    45,    68,    70,    75,    76,    81,    88,
1311 >      90,    93,    96,   114,     6,  -724,  -724,  -724,  -724,  -724,
1312 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,   656,   562,    16,
1313 >    -724,   119,    42,  -724,  -724,    49,  -724,   121,   122,   124,
1314 >     130,   133,   142,   152,   155,   156,   157,   163,   166,   167,
1315 >     169,   173,   178,   180,   183,   187,   190,   191,   193,   194,
1316 >     195,   198,  -724,  -724,   201,   202,   204,   205,   209,   211,
1317 >     212,   215,   217,   219,   222,   223,   225,   226,   227,   228,
1318 >     229,   230,   232,    52,  -724,  -724,  -724,  -724,  -724,  -724,
1319 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1320 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1321 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1322 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1323 >    -724,   511,     2,   297,    54,   234,   238,    11,  -724,  -724,
1324 >    -724,    21,   303,   289,  -724,   239,   248,   250,   251,   253,
1325 >     254,   256,   259,   264,   150,  -724,  -724,  -724,  -724,  -724,
1326 >    -724,  -724,  -724,  -724,  -724,    64,   266,   270,   271,   273,
1327 >    -724,   275,   276,   277,   279,   281,   282,   283,   285,   287,
1328 >     291,   295,   299,   300,   309,   320,   153,  -724,  -724,  -724,
1329 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1330 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,    62,   109,
1331 >     321,    59,  -724,  -724,  -724,    65,   240,  -724,   322,    25,
1332 >    -724,  -724,    13,  -724,   263,   317,   359,   292,  -724,   447,
1333 >     448,    78,   461,   448,   448,   462,   448,   448,   465,   467,
1334 >     351,  -724,   352,   350,   353,   354,  -724,   355,   366,   367,
1335 >     371,   374,   375,   376,   377,   379,   381,   383,   385,   388,
1336 >     249,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1337 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,   394,
1338 >     392,   395,   398,   399,   401,   403,  -724,   409,   411,   414,
1339 >     415,   418,   420,   421,    51,  -724,  -724,  -724,  -724,  -724,
1340 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1341 >    -724,   423,   425,    97,  -724,  -724,  -724,   488,   397,  -724,
1342 >    -724,   427,   429,    18,  -724,  -724,  -724,   435,   448,   476,
1343 >     448,   448,   453,   558,   464,   564,   567,   568,   472,   479,
1344 >     480,   448,   585,   587,   591,   592,   448,   593,   596,   597,
1345 >     598,   498,   439,   478,   502,   448,   448,   503,   504,   505,
1346 >    -179,  -174,   507,   508,   509,   512,   613,   448,   514,   448,
1347 >     448,   517,   620,   500,  -724,   501,   499,   513,  -724,   515,
1348 >     516,   518,   519,   520,   170,  -724,  -724,  -724,  -724,  -724,
1349 >    -724,  -724,  -724,  -724,  -724,   521,   522,    30,  -724,  -724,
1350 >    -724,   506,   523,   526,  -724,   527,  -724,    29,  -724,  -724,
1351 >    -724,  -724,  -724,   611,   612,   531,  -724,   533,   532,   535,
1352 >      22,  -724,  -724,  -724,   539,   537,   538,  -724,   541,   543,
1353 >     545,   546,  -724,   547,   548,   120,  -724,  -724,  -724,  -724,
1354 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,   542,   549,   550,
1355 >     551,     3,  -724,  -724,  -724,  -724,   536,   575,   448,   619,
1356 >     578,   667,   580,   582,   583,   565,  -724,  -724,   687,   674,
1357 >     588,   680,   571,   684,   691,   701,   706,   697,   698,   699,
1358 >     703,   704,   708,   713,   714,   717,   718,   719,   599,  -724,
1359 >     618,   616,  -724,    56,  -724,  -724,  -724,  -724,   641,   625,
1360 >    -724,    60,   627,   626,   629,   632,   633,    17,  -724,  -724,
1361 >    -724,  -724,  -724,   737,   637,  -724,   638,   639,  -724,   642,
1362 >      24,  -724,  -724,  -724,  -724,   640,   646,   650,  -724,   651,
1363 >     412,   653,   662,   665,   669,   670,   672,   675,   676,   678,
1364 >     682,  -724,  -724,   762,   765,   448,   664,   801,   802,   806,
1365 >     448,   807,   812,   448,   800,   816,   817,   448,   818,   818,
1366 >     700,  -724,  -724,   811,  -119,   813,   724,   815,   819,   707,
1367 >     820,   821,   832,   822,   823,   824,   825,   720,  -724,   826,
1368 >     828,   722,  -724,   723,  -724,   831,   833,   729,  -724,   730,
1369 >     732,   735,   736,   740,   742,   743,   744,   745,   746,   748,
1370 >     750,   754,   756,   758,   759,   760,   763,   764,   766,   767,
1371 >     768,   769,   770,   771,   721,   636,   772,   773,   774,   775,
1372 >     776,   777,   778,   779,   780,   781,   782,   783,   784,   785,
1373 >     786,   787,   788,   789,   790,   791,   792,  -724,  -724,   864,
1374 >     814,   793,   872,   914,   901,   904,   905,   799,  -724,   907,
1375 >     908,   803,  -724,  -724,   909,   912,   804,   925,   808,  -724,
1376 >     809,   810,  -724,  -724,   913,   918,   827,  -724,  -724,   919,
1377 >     834,   829,   920,   921,   923,   836,   830,   926,   927,   835,
1378 >    -724,  -724,   928,   929,   930,   837,  -724,   838,   839,   840,
1379 >     841,   842,   843,   844,   845,   846,  -724,   847,   848,   849,
1380 >     850,   207,   851,   852,   853,   854,   855,   856,   857,   858,
1381 >     859,   860,   861,   862,   863,   865,   866,  -724,  -724,   931,
1382 >     867,   868,  -724,   869,  -724,   149,  -724,   932,   933,   935,
1383 >     936,   871,  -724,   873,  -724,  -724,   937,   874,   938,   875,
1384 >    -724,  -724,  -724,  -724,  -724,   448,   448,   448,   448,   448,
1385 >     448,   448,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1386 >    -724,  -724,  -724,  -724,   876,   878,   879,   -14,   880,   881,
1387 >     882,   883,   884,   885,   886,   887,   888,   889,   890,   387,
1388 >     891,   892,  -724,   893,   894,   895,   896,   897,   898,   899,
1389 >       7,   900,   902,   903,   906,   910,   915,   916,  -724,   917,
1390 >     922,  -724,  -724,   924,   934,  -724,  -724,  -724,  -724,  -724,
1391 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1392 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1393 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1394 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1395 >    -724,  -190,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1396 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1397 >    -724,  -724,  -724,  -724,  -724,  -188,  -724,  -724,  -724,  -724,
1398 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1399 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,   939,   940,
1400 >     563,   941,   942,   943,   944,   945,  -724,   946,   947,  -724,
1401 >     948,   949,   -28,   950,   870,  -724,  -724,  -724,  -724,   951,
1402 >     952,  -724,   953,   954,   413,   955,   956,   957,   958,   681,
1403 >     959,   960,  -724,   961,   962,   963,  -724,  -724,  -724,  -724,
1404 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1405 >    -724,  -724,  -724,  -724,  -161,  -724,  -724,  -724,  -724,  -724,
1406 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1407 >    -724,   964,   751,  -724,  -724,   965,   966,   967,  -724,    28,
1408 >    -724,  -724,  -724,  -724,   968,   971,   972,   973,  -724,  -724,
1409 >     974,   757,   975,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1410 >    -724,  -724,  -724,  -724,  -724,  -724,  -138,  -724,  -724,  -724,
1411 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,   818,
1412 >     818,   818,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1413 >    -724,  -724,  -724,  -724,  -724,   -48,  -724,  -724,  -724,  -724,
1414 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,   721,
1415 >    -724,   636,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1416 >    -724,  -724,  -724,  -724,   -43,  -724,  -724,  -724,  -724,  -724,
1417 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,   -27,  -724,
1418 >     985,   925,   976,  -724,  -724,  -724,  -724,  -724,  -724,   977,
1419 >    -724,   978,   979,  -724,  -724,   980,   981,  -724,  -724,   982,
1420 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1421 >    -724,  -724,    61,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1422 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1423 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1424 >      85,  -724,  -724,  -724,  -724,  -724,  -724,  -724,   207,  -724,
1425 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1426 >     106,  -724,  -724,  1008,   -90,   986,   988,  -724,  -724,  -724,
1427 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1428 >    -724,  -724,  -724,   115,  -724,  -724,  -724,   -14,  -724,  -724,
1429 >    -724,  -724,     7,  -724,  -724,  -724,   563,  -724,   -28,  -724,
1430 >    -724,  -724,  1005,  1004,  1009,  1006,  1010,  1012,  -724,   413,
1431 >    -724,   681,  -724,  -724,   751,   990,   991,   992,   247,  -724,
1432 >    -724,   757,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1433 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1434 >    -724,  -724,  -724,  -724,  -724,  -724,   135,  -724,  -724,  -724,
1435 >     247,  -724
1436   };
1437  
1438    /* YYDEFACT[STATE-NUM] -- Default reduction number in state STATE-NUM.
# Line 1431 | Line 1440 | static const yytype_int16 yypact[] =
1440       means the default is an error.  */
1441   static const yytype_uint16 yydefact[] =
1442   {
1443 <       2,     0,     1,     0,     0,     0,   230,   395,   443,     0,
1444 <     458,     0,   298,   434,   274,     0,   100,   152,   332,     0,
1445 <       0,   373,     0,   109,     0,   349,     3,    23,    11,     4,
1443 >       2,     0,     1,     0,     0,     0,   247,   412,   460,     0,
1444 >     475,     0,   315,   451,   291,     0,   113,   165,   349,     0,
1445 >       0,   390,     0,   122,     0,   366,     3,    23,    11,     4,
1446        24,    25,     5,     6,     8,     9,    10,    13,    14,    15,
1447        16,    17,    18,    19,    20,    22,    21,     7,    12,    26,
1448        27,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1449         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1450 <       0,     0,     0,     0,     0,     0,     0,     0,    92,    93,
1451 <      95,    94,   630,     0,     0,     0,     0,     0,     0,     0,
1452 <       0,     0,     0,     0,     0,     0,     0,     0,   615,   629,
1453 <     617,   618,   619,   620,   621,   622,   616,   623,   624,   625,
1454 <     626,   627,   628,     0,     0,     0,   456,     0,     0,   454,
1446 <     455,     0,   516,     0,     0,     0,     0,     0,     0,     0,
1447 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1448 <       0,     0,     0,     0,     0,     0,     0,     0,   586,     0,
1449 <     560,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1450 >       0,     0,     0,     0,     0,     0,     0,     0,   105,   106,
1451 >     108,   107,   644,     0,     0,     0,     0,     0,     0,     0,
1452 >       0,     0,     0,     0,     0,   632,   643,   634,   635,   636,
1453 >     637,   638,   639,   640,   633,   641,   642,     0,     0,     0,
1454 >     473,     0,     0,   471,   472,     0,   533,     0,     0,     0,
1455         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1451     469,   470,   471,   514,   515,   509,   510,   511,   512,   508,
1452     481,   472,   473,   474,   475,   476,   477,   478,   479,   480,
1453     482,   483,   513,   487,   488,   489,   490,   486,   485,   491,
1454     499,   500,   492,   493,   494,   495,   484,   497,   506,   507,
1455     504,   505,   498,   496,   502,   503,   501,     0,     0,     0,
1456       0,     0,     0,     0,    46,    47,    48,     0,     0,     0,
1457     656,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1458     647,   648,   649,   650,   651,   654,   652,   653,   655,     0,
1456         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1457 <       0,     0,     0,     0,     0,     0,     0,     0,    54,    69,
1461 <      66,    64,    70,    71,    65,    55,    68,    58,    59,    60,
1462 <      56,    67,    61,    62,    63,    57,     0,     0,     0,     0,
1463 <     124,   125,   126,     0,     0,   347,     0,     0,   345,   346,
1464 <       0,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1457 >       0,     0,   603,   577,     0,     0,     0,     0,     0,     0,
1458         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1459 <       0,     0,   614,     0,     0,     0,     0,   268,     0,     0,
1459 >       0,     0,     0,     0,   486,   487,   488,   531,   495,   532,
1460 >     526,   527,   528,   529,   525,   499,   489,   490,   491,   492,
1461 >     493,   494,   496,   497,   498,   500,   501,   530,   505,   506,
1462 >     507,   508,   504,   503,   509,   516,   517,   510,   511,   512,
1463 >     502,   514,   523,   524,   521,   522,   515,   513,   519,   520,
1464 >     518,     0,     0,     0,     0,     0,     0,     0,    46,    47,
1465 >      48,     0,     0,     0,   668,     0,     0,     0,     0,     0,
1466 >       0,     0,     0,     0,     0,   658,   659,   660,   661,   662,
1467 >     663,   664,   666,   665,   667,     0,     0,     0,     0,     0,
1468 >      82,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1469 >       0,     0,     0,     0,     0,     0,     0,    54,    69,    66,
1470 >      64,    70,    71,    65,    72,    73,    74,    55,    68,    58,
1471 >      59,    60,    56,    67,    61,    62,    63,    57,     0,     0,
1472 >       0,     0,   137,   138,   139,     0,     0,   364,     0,     0,
1473 >     362,   363,     0,   109,     0,     0,     0,     0,   104,     0,
1474         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1475 <       0,     0,   233,   234,   237,   239,   240,   241,   242,   243,
1469 <     244,   245,   246,   247,   235,   236,   238,   248,   249,   250,
1470 <       0,     0,     0,     0,     0,     0,     0,   423,     0,     0,
1471 <       0,     0,     0,     0,     0,     0,   398,   399,   400,   401,
1472 <     402,   403,   404,   406,   405,   408,   412,   409,   410,   411,
1473 <     407,   449,     0,     0,     0,   446,   447,   448,     0,     0,
1474 <     453,   464,     0,     0,     0,   461,   462,   463,     0,     0,
1475 >       0,   631,     0,     0,     0,     0,   285,     0,     0,     0,
1476         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1477 +       0,   250,   251,   254,   256,   257,   258,   259,   260,   261,
1478 +     262,   263,   264,   252,   253,   255,   265,   266,   267,     0,
1479 +       0,     0,     0,     0,     0,     0,   440,     0,     0,     0,
1480 +       0,     0,     0,     0,     0,   415,   416,   417,   418,   419,
1481 +     420,   421,   423,   422,   425,   429,   426,   427,   428,   424,
1482 +     466,     0,     0,     0,   463,   464,   465,     0,     0,   470,
1483 +     481,     0,     0,     0,   478,   479,   480,     0,     0,     0,
1484         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1485         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1486         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1479       0,     0,     0,     0,     0,   468,     0,     0,     0,   315,
1480       0,     0,     0,     0,     0,     0,   301,   302,   303,   304,
1481     309,   305,   306,   307,   308,   440,     0,     0,     0,   437,
1482     438,   439,     0,     0,     0,   276,     0,   286,     0,   284,
1483     285,   287,   288,    49,     0,     0,     0,    45,     0,     0,
1484       0,     0,   103,   104,   105,     0,     0,     0,   203,     0,
1485       0,     0,     0,     0,   177,     0,     0,     0,   155,   156,
1486     157,   158,   159,   162,   163,   164,   165,   161,   160,   166,
1487       0,     0,     0,     0,     0,   335,   336,   337,   338,     0,
1488       0,     0,     0,     0,     0,     0,     0,     0,   646,    72,
1487         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1488 <       0,     0,     0,     0,     0,     0,     0,     0,    53,     0,
1489 <       0,   381,     0,   376,   377,   378,   127,     0,     0,   123,
1490 <       0,     0,     0,     0,     0,     0,     0,   112,   113,   115,
1491 <     114,   116,     0,     0,   344,     0,     0,   359,     0,     0,
1492 <     352,   353,   354,   355,     0,     0,     0,    90,     0,    28,
1488 >       0,     0,     0,     0,   485,     0,     0,     0,   332,     0,
1489 >       0,     0,     0,     0,     0,   318,   319,   320,   321,   326,
1490 >     322,   323,   324,   325,   457,     0,     0,     0,   454,   455,
1491 >     456,     0,     0,     0,   293,     0,   303,     0,   301,   302,
1492 >     304,   305,    49,     0,     0,     0,    45,     0,     0,     0,
1493 >       0,   116,   117,   118,     0,     0,     0,   214,     0,     0,
1494 >       0,     0,   188,     0,     0,     0,   168,   169,   170,   171,
1495 >     172,   175,   176,   177,   174,   173,   178,     0,     0,     0,
1496 >       0,     0,   352,   353,   354,   355,     0,     0,     0,     0,
1497 >       0,     0,     0,     0,     0,     0,   657,    75,     0,     0,
1498         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1499 <       0,     0,     0,   613,   251,     0,     0,     0,     0,     0,
1499 >       0,     0,     0,     0,     0,     0,     0,     0,     0,    53,
1500 >       0,     0,   398,     0,   393,   394,   395,   140,     0,     0,
1501 >     136,     0,     0,     0,     0,     0,     0,     0,   125,   126,
1502 >     128,   127,   129,     0,     0,   361,     0,     0,   376,     0,
1503 >       0,   369,   370,   371,   372,     0,     0,     0,   103,     0,
1504 >      28,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1505 >       0,   630,   268,     0,     0,     0,     0,     0,     0,     0,
1506         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1507 <       0,     0,     0,   232,   413,     0,     0,     0,     0,     0,
1507 >       0,   249,   430,     0,     0,     0,     0,     0,     0,     0,
1508 >       0,     0,     0,     0,     0,     0,     0,     0,   414,     0,
1509 >       0,     0,   462,     0,   469,     0,     0,     0,   477,     0,
1510         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1500     397,     0,     0,     0,   445,     0,   452,     0,     0,     0,
1501     460,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1511         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1512         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1513         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1514 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   467,
1515 <     310,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1516 <     300,     0,     0,     0,   436,   289,     0,     0,     0,     0,
1517 <       0,   283,     0,     0,    44,   106,     0,     0,     0,   102,
1509 <     167,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1510 <       0,     0,     0,   154,   339,     0,     0,     0,     0,   334,
1511 <       0,     0,     0,     0,     0,     0,     0,     0,   645,     0,
1514 >       0,     0,     0,     0,     0,     0,     0,   484,   327,     0,
1515 >       0,     0,     0,     0,     0,     0,     0,     0,   317,     0,
1516 >       0,     0,   453,   306,     0,     0,     0,     0,     0,   300,
1517 >       0,     0,    44,   119,     0,     0,     0,   115,   179,     0,
1518         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1519 <       0,     0,     0,     0,     0,     0,    52,   379,     0,     0,
1520 <       0,   375,     0,   122,     0,   117,     0,     0,     0,     0,
1515 <       0,   111,     0,   343,   356,     0,     0,     0,     0,   351,
1516 <      99,    98,    97,   643,    28,    28,    28,    28,    28,    28,
1517 <      28,    30,    29,   644,   640,   639,   631,   632,   633,   634,
1518 <     635,   636,   638,   637,   641,   642,     0,     0,     0,     0,
1519 >     167,   356,     0,     0,     0,     0,   351,     0,     0,     0,
1520 >       0,     0,     0,     0,     0,     0,   656,     0,     0,     0,
1521         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1522 <       0,    38,     0,     0,   231,     0,     0,     0,     0,     0,
1523 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1524 <     396,     0,     0,   444,   457,     0,     0,   459,   529,   533,
1525 <     517,   518,   548,   520,   612,   557,   521,   522,   554,   528,
1526 <     527,   536,   526,   523,   524,   532,   531,   530,   555,   519,
1527 <     610,   611,   552,   596,   590,   606,   591,   592,   593,   601,
1528 <     609,   594,   603,   607,   597,   608,   598,   602,   595,   605,
1529 <     600,   599,   604,     0,   589,   553,   569,   570,   571,   564,
1530 <     582,   565,   566,   567,   577,   585,   568,   579,   583,   573,
1531 <     584,   574,   578,   572,   581,   576,   575,   580,     0,   563,
1532 <     549,   547,   550,   556,   551,   538,   545,   546,   543,   544,
1533 <     539,   540,   541,   542,   558,   559,   525,   535,   534,   537,
1534 <       0,     0,     0,     0,     0,     0,     0,     0,   299,     0,
1535 <       0,   435,     0,     0,     0,   294,   290,   293,   275,    50,
1536 <      51,     0,     0,   101,     0,     0,     0,     0,     0,     0,
1537 <       0,     0,     0,     0,     0,   153,     0,     0,     0,   333,
1538 <     658,   657,   663,   661,   664,   659,   660,   662,    86,    81,
1539 <      89,    80,    87,    88,    79,    83,    82,    74,    73,    78,
1540 <      75,    77,    76,    84,    85,     0,     0,   374,   128,     0,
1541 <       0,     0,   140,     0,   132,   133,   135,   134,     0,     0,
1542 <       0,     0,   110,   348,     0,     0,     0,   350,    31,    32,
1543 <      33,    34,    35,    36,    37,   263,   264,   255,   273,   272,
1544 <       0,   271,   256,   258,   260,   267,   259,   257,   266,   252,
1545 <     265,   254,   253,    38,    38,    38,    40,    39,   261,   262,
1546 <     418,   421,   422,   432,   429,   415,   430,   427,   428,     0,
1547 <     426,   431,   414,   420,   417,   419,   433,   416,   450,   451,
1548 <     465,   466,   587,     0,   561,     0,   313,   314,   324,   320,
1549 <     321,   323,   328,   325,   326,   319,   327,   322,     0,   318,
1550 <     312,   331,   330,   329,   311,   442,   441,   297,   296,   281,
1551 <     282,   280,     0,   279,     0,     0,     0,   107,   108,   176,
1552 <     172,   222,   210,   219,   208,   213,   228,   221,   226,   212,
1553 <     215,   223,   225,   229,   220,   227,   216,   218,   224,   214,
1554 <     217,     0,   206,   168,   170,   173,   174,   175,   186,   187,
1555 <     188,   181,   199,   182,   183,   184,   194,   202,   185,   196,
1556 <     200,   190,   201,   191,   195,   189,   198,   193,   192,   197,
1557 <       0,   180,   169,   171,   342,   340,   341,   380,   385,   391,
1558 <     394,   387,   393,   388,   392,   390,   386,   389,     0,   384,
1559 <     136,     0,     0,     0,     0,   131,   119,   118,   120,   121,
1560 <     357,   363,   369,   372,   365,   371,   366,   370,   368,   364,
1561 <     367,     0,   362,   358,   269,     0,    41,    42,    43,   424,
1562 <       0,   588,   562,   316,     0,   277,     0,   295,   292,   291,
1563 <       0,     0,     0,   204,     0,   178,     0,   382,     0,     0,
1564 <       0,     0,     0,   130,   360,     0,   270,   425,   317,   278,
1565 <     209,   207,   211,   205,   179,   383,   137,   139,   138,   150,
1566 <     149,   145,   147,   151,   148,   144,   146,     0,   143,   361,
1567 <     141,     0,   142
1522 >       0,     0,     0,     0,     0,     0,     0,    52,   396,     0,
1523 >       0,     0,   392,     0,   135,     0,   130,     0,     0,     0,
1524 >       0,     0,   124,     0,   360,   373,     0,     0,     0,     0,
1525 >     368,   112,   111,   110,   654,    28,    28,    28,    28,    28,
1526 >      28,    28,    30,    29,   655,   645,   646,   647,   648,   649,
1527 >     650,   651,   653,   652,     0,     0,     0,     0,     0,     0,
1528 >       0,     0,     0,     0,     0,     0,     0,     0,     0,    38,
1529 >       0,     0,   248,     0,     0,     0,     0,     0,     0,     0,
1530 >       0,     0,     0,     0,     0,     0,     0,     0,   413,     0,
1531 >       0,   461,   474,     0,     0,   476,   547,   551,   534,   535,
1532 >     566,   538,   629,   574,   539,   540,   571,   546,   545,   554,
1533 >     544,   541,   542,   550,   549,   548,   572,   536,   627,   628,
1534 >     570,   613,   607,   623,   608,   609,   610,   618,   626,   611,
1535 >     620,   624,   614,   625,   615,   619,   612,   622,   617,   616,
1536 >     621,     0,   606,   586,   587,   588,   581,   599,   582,   583,
1537 >     584,   594,   602,   585,   596,   600,   590,   601,   591,   595,
1538 >     589,   598,   593,   592,   597,     0,   580,   567,   565,   568,
1539 >     573,   569,   556,   563,   564,   561,   562,   557,   558,   559,
1540 >     560,   575,   576,   543,   553,   552,   555,   537,     0,     0,
1541 >       0,     0,     0,     0,     0,     0,   316,     0,     0,   452,
1542 >       0,     0,     0,   311,   307,   310,   292,    50,    51,     0,
1543 >       0,   114,     0,     0,     0,     0,     0,     0,     0,     0,
1544 >       0,     0,   166,     0,     0,     0,   350,   672,   669,   670,
1545 >     671,   676,   675,   677,   673,   674,    99,    94,   102,    93,
1546 >      89,    87,    88,    86,     0,    85,    90,    91,   100,   101,
1547 >      92,    96,    95,    77,    76,    81,    78,    80,    79,    97,
1548 >      98,     0,     0,   391,   141,     0,     0,     0,   153,     0,
1549 >     145,   146,   148,   147,     0,     0,     0,     0,   123,   365,
1550 >       0,     0,     0,   367,    31,    32,    33,    34,    35,    36,
1551 >      37,   280,   281,   272,   290,   289,     0,   288,   273,   275,
1552 >     277,   284,   276,   274,   283,   269,   282,   271,   270,    38,
1553 >      38,    38,    40,    39,   278,   279,   435,   438,   439,   449,
1554 >     446,   432,   447,   444,   445,     0,   443,   448,   431,   437,
1555 >     434,   436,   450,   433,   467,   468,   482,   483,   604,     0,
1556 >     578,     0,   330,   331,   341,   337,   338,   340,   345,   342,
1557 >     343,   336,   344,   339,     0,   335,   329,   348,   347,   346,
1558 >     328,   459,   458,   314,   313,   298,   299,   297,     0,   296,
1559 >       0,     0,     0,   120,   121,   187,   184,   234,   246,   221,
1560 >     230,     0,   219,   224,   240,     0,   233,   238,   244,   223,
1561 >     226,   235,   237,   241,   231,   239,   227,   245,   229,   236,
1562 >     225,   228,     0,   217,   180,   182,   185,   186,   197,   198,
1563 >     199,   192,   210,   193,   194,   195,   205,   213,   196,   207,
1564 >     211,   201,   212,   202,   206,   200,   209,   204,   203,   208,
1565 >       0,   191,   181,   183,   359,   357,   358,    83,     0,   397,
1566 >     402,   408,   411,   404,   410,   405,   409,   407,   403,   406,
1567 >       0,   401,   149,     0,     0,     0,     0,   144,   132,   131,
1568 >     133,   134,   374,   380,   386,   389,   382,   388,   383,   387,
1569 >     385,   381,   384,     0,   379,   375,   286,     0,    41,    42,
1570 >      43,   441,     0,   605,   579,   333,     0,   294,     0,   312,
1571 >     309,   308,     0,     0,     0,     0,     0,     0,   215,     0,
1572 >     189,     0,    84,   399,     0,     0,     0,     0,     0,   143,
1573 >     377,     0,   287,   442,   334,   295,   220,   243,   218,   242,
1574 >     232,   222,   216,   190,   400,   150,   152,   151,   163,   162,
1575 >     158,   160,   164,   161,   157,   159,     0,   156,   378,   154,
1576 >       0,   155
1577   };
1578  
1579    /* YYPGOTO[NTERM-NUM].  */
1580   static const yytype_int16 yypgoto[] =
1581   {
1582 <    -739,  -739,  -739,  -457,  -306,  -738,  -640,  -739,  -739,   957,
1583 <    -739,  -739,  -739,  -739,   971,  -739,  -739,  -739,  -739,  -739,
1584 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1585 <    -739,  -739,  -739,  -739,  1032,  -739,  -739,  -739,  -739,  -739,
1586 <    -739,   621,  -739,  -739,  -739,  -739,  -739,   529,  -739,  -739,
1587 <    -739,  -739,  -739,  -739,   933,  -739,  -739,  -739,  -739,    66,
1588 <    -739,  -739,  -739,  -739,  -739,  -191,  -739,  -739,  -739,   642,
1589 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1590 <    -739,  -739,  -151,  -739,  -739,  -739,  -148,  -739,  -739,  -739,
1591 <     828,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1592 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1593 <    -128,  -739,  -739,  -739,  -739,  -739,  -132,  -739,   650,  -739,
1594 <    -739,  -739,   -22,  -739,  -739,  -739,  -739,  -739,   670,  -739,
1595 <    -739,  -739,  -739,  -739,  -739,  -739,  -104,  -739,  -739,  -739,
1596 <    -739,  -739,  -739,   654,  -739,  -739,  -739,  -739,  -739,   973,
1597 <    -739,  -739,  -739,  -739,   582,  -739,  -739,  -739,  -739,  -739,
1598 <    -117,  -739,  -739,  -739,   598,  -739,  -739,  -739,  -739,   -95,
1599 <    -739,  -739,  -739,   976,  -739,  -739,  -739,  -739,  -739,  -739,
1600 <    -739,  -739,  -739,  -739,  -739,   -68,  -739,  -739,  -739,  -739,
1601 <    -739,  -739,  -739,  -739,   716,  -739,  -739,  -739,  -739,  -739,
1602 <     814,  -739,  -739,  -739,  -739,  1077,  -739,  -739,  -739,  -739,
1603 <     977,  -739,  -739,  -739,  -739,  1027,  -739,  -739,  -739,  -739,
1604 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1605 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1606 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1607 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1608 <      81,  -739,  -739,  -739,    84,  -739,  -739,  -739,  -739,  -739,
1609 <    1108,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,  -739,
1610 <    -739,  -739,  -739,  -739,  -739,  -739,  -739,   979,  -739,  -739,
1611 <    -739,  -739,  -739,  -739,  -739,  -739
1582 >    -724,  -724,  -724,  -257,  -308,  -723,  -638,  -724,  -724,   984,
1583 >    -724,  -724,  -724,  -724,   805,  -724,  -724,  -724,  -724,  -724,
1584 >    -724,  -724,  -724,  -724,  -175,  -724,  -724,  -724,  -724,  -724,
1585 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1586 >    1025,  -724,  -724,  -724,  -724,  -724,  -724,   569,  -724,  -724,
1587 >    -724,  -724,  -724,   560,  -724,  -724,  -724,  -724,  -724,  -724,
1588 >     877,  -724,  -724,  -724,  -724,    48,  -724,  -724,  -724,  -724,
1589 >    -724,  -181,  -724,  -724,  -724,   643,  -724,  -724,  -724,  -724,
1590 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -143,  -724,  -724,
1591 >    -724,  -135,  -724,  -724,  -724,   969,  -724,  -724,  -724,  -724,
1592 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1593 >    -724,  -724,  -724,  -724,  -724,  -114,  -724,  -724,  -724,  -724,
1594 >    -724,  -123,  -724,   673,  -724,  -724,  -724,    -5,  -724,  -724,
1595 >    -724,  -724,  -724,   702,  -724,  -724,  -724,  -724,  -724,  -724,
1596 >    -724,  -115,  -724,  -724,  -724,  -724,  -724,  -724,   631,  -724,
1597 >    -724,  -724,  -724,  -724,   970,  -724,  -724,  -724,  -724,   570,
1598 >    -724,  -724,  -724,  -724,  -724,  -137,  -724,  -724,  -724,   590,
1599 >    -724,  -724,  -724,  -724,  -122,  -724,  -724,  -724,   797,  -724,
1600 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1601 >    -107,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,   690,
1602 >    -724,  -724,  -724,  -724,  -724,   983,  -724,  -724,  -724,  -724,
1603 >    1073,  -724,  -724,  -724,  -724,   987,  -724,  -724,  -724,  -724,
1604 >    1039,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1605 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1606 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1607 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,
1608 >    -724,  -724,  -724,  -724,  -724,    82,  -724,  -724,  -724,    83,
1609 >    -724,  -724,  -724,  -724,  -724,  1120,  -724,  -724,  -724,  -724,
1610 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,   994,
1611 >    -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724,  -724
1612   };
1613  
1614    /* YYDEFGOTO[NTERM-NUM].  */
1615   static const yytype_int16 yydefgoto[] =
1616   {
1617 <      -1,     1,    26,   831,   832,  1096,  1097,    27,   223,   224,
1618 <     225,   226,    28,   267,   268,   269,   270,   271,   272,   273,
1619 <     274,   275,   276,   277,   278,   279,   280,   281,   282,   283,
1620 <     284,   285,    29,    77,    78,    79,    80,    81,    30,    63,
1621 <     501,   502,   503,   504,    31,    70,   586,   587,   588,   589,
1622 <     590,   591,    32,   289,   290,   291,   292,   293,  1053,  1054,
1623 <    1055,  1056,  1057,  1233,  1307,  1308,    33,    64,   517,   518,
1624 <     519,   520,   521,   522,   523,   524,   525,   526,   527,   528,
1625 <     759,  1210,  1211,   529,   753,  1181,  1182,    34,    53,   341,
1626 <     342,   343,   344,   345,   346,   347,   348,   349,   350,   351,
1627 <     352,   353,   354,   355,   356,   357,   358,   359,   628,  1080,
1628 <    1081,    35,    61,   487,   738,  1152,  1153,   488,   489,   490,
1629 <    1156,   996,   997,   491,   492,    36,    59,   465,   466,   467,
1630 <     468,   469,   470,   471,   723,  1138,  1139,   472,   473,   474,
1631 <      37,    65,   534,   535,   536,   537,   538,    38,   297,   298,
1632 <     299,    39,    72,   599,   600,   601,   602,   603,   816,  1251,
1633 <    1252,    40,    68,   572,   573,   574,   575,   799,  1228,  1229,
1634 <      41,    54,   375,   376,   377,   378,   379,   380,   381,   382,
1635 <     383,   384,   385,   651,  1109,  1110,   386,   387,   388,   389,
1636 <     390,    42,    60,   478,   479,   480,   481,    43,    55,   394,
1637 <     395,   396,   397,    44,   118,   119,   120,    45,    57,   404,
1638 <     405,   406,   407,    46,   169,   170,   171,   172,   173,   174,
1639 <     175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
1640 <     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1641 <     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1642 <     205,   206,   207,   208,   209,   210,   211,   212,   435,   958,
1643 <     959,   213,   433,   933,   934,   214,   215,   216,    47,    97,
1644 <      98,    99,   100,   101,   102,   103,   104,   105,   106,   107,
1645 <     108,   109,   110,   111,   112,    48,   239,   240,   241,   242,
1646 <     243,   244,   245,   246,   247,   248
1617 >      -1,     1,    26,   832,   833,  1102,  1103,    27,   217,   218,
1618 >     219,   220,    28,   266,   267,   268,   269,   270,   271,   272,
1619 >     273,   274,   552,  1034,  1035,   275,   276,   277,   278,   279,
1620 >     280,   281,   282,   283,   284,   285,   286,   287,    29,    77,
1621 >      78,    79,    80,    81,    30,    63,   500,   501,   502,   503,
1622 >      31,    70,   587,   588,   589,   590,   591,   592,    32,   291,
1623 >     292,   293,   294,   295,  1059,  1060,  1061,  1062,  1063,  1245,
1624 >    1326,  1327,    33,    64,   515,   516,   517,   518,   519,   520,
1625 >     521,   522,   523,   524,   525,   756,  1220,  1221,   526,   751,
1626 >    1192,  1193,    34,    53,   340,   341,   342,   343,   344,   345,
1627 >     346,   347,   348,   349,   350,   351,   352,   353,   354,   355,
1628 >     356,   357,   358,   626,  1086,  1087,    35,    61,   486,   736,
1629 >    1158,  1159,   487,   488,   489,  1162,   994,   995,   490,   491,
1630 >      36,    59,   464,   465,   466,   467,   468,   469,   470,   721,
1631 >    1144,  1145,   471,   472,   473,    37,    65,   531,   532,   533,
1632 >     534,   535,    38,   299,   300,   301,    39,    72,   600,   601,
1633 >     602,   603,   604,   817,  1263,  1264,    40,    68,   573,   574,
1634 >     575,   576,   800,  1240,  1241,    41,    54,   374,   375,   376,
1635 >     377,   378,   379,   380,   381,   382,   383,   384,   649,  1115,
1636 >    1116,   385,   386,   387,   388,   389,    42,    60,   477,   478,
1637 >     479,   480,    43,    55,   393,   394,   395,   396,    44,   112,
1638 >     113,   114,    45,    57,   403,   404,   405,   406,    46,   163,
1639 >     164,   165,   166,   167,   168,   169,   170,   171,   172,   173,
1640 >     174,   175,   176,   177,   178,   179,   180,   181,   182,   183,
1641 >     184,   185,   186,   187,   188,   189,   190,   191,   192,   193,
1642 >     194,   195,   196,   197,   198,   199,   200,   201,   202,   203,
1643 >     204,   205,   206,   433,   955,   956,   207,   432,   931,   932,
1644 >     208,   209,   210,    47,    94,    95,    96,    97,    98,    99,
1645 >     100,   101,   102,   103,   104,   105,   106,    48,   234,   235,
1646 >     236,   237,   238,   239,   240,   241,   242,   243,   244
1647   };
1648  
1649    /* YYTABLE[YYPACT[STATE-NUM]] -- What to do in state STATE-NUM.  If
# Line 1640 | Line 1651 | static const yytype_int16 yydefgoto[] =
1651       number is the opposite.  If YYTABLE_NINF, syntax error.  */
1652   static const yytype_int16 yytable[] =
1653   {
1654 <     862,   863,   610,  1107,    51,   230,    52,   615,   122,   617,
1655 <     618,   569,   295,   123,   124,   391,   125,   126,   595,    56,
1656 <     401,   127,   116,   530,   705,    49,    50,   475,   706,   128,
1657 <     129,   707,    73,   391,   498,   708,   498,  1078,   231,   130,
1658 <     220,   220,   131,   132,   133,   866,   867,   232,    58,   134,
1659 <     233,   234,  1093,  1094,  1095,   235,   236,   237,   861,    62,
1660 <      66,    74,   530,   531,   135,   136,   456,  1122,   287,    75,
1661 <     116,  1123,    67,   137,  1049,   392,   138,   139,  1049,   238,
1662 <     482,   401,   117,   595,   457,   140,    69,   475,   569,    71,
1663 <     295,  1124,   141,   392,   142,  1125,   143,   113,   144,   532,
1664 <     145,   146,   531,   672,   458,   674,   675,   287,   570,   296,
1665 <     499,  1079,   499,   147,  1149,   596,   685,   402,   148,   149,
1666 <     150,   690,   151,   152,   153,   249,   114,   154,   459,    76,
1667 <     117,   700,   701,   483,   221,   221,   581,  1254,   532,   393,
1668 <     484,  1255,   485,   714,   403,   716,   717,   533,  1259,   861,
1669 <     250,   476,  1260,   155,   251,  1280,  1263,   393,   222,   222,
1670 <    1264,   115,   121,   156,   157,   158,   159,   160,   161,   162,
1671 <     217,  1050,    82,   323,   581,  1050,   218,  1265,   402,   252,
1672 <     596,  1266,   219,   460,   227,   570,   533,   296,   253,   324,
1673 <     325,   461,   462,   326,  1108,    83,    84,   228,    85,    86,
1674 <     229,   486,  1273,   286,    87,   403,  1274,   500,   294,   500,
1675 <     254,   476,   463,  1275,   255,   301,   300,  1276,   493,   163,
1676 <     164,   165,   256,   166,   167,   257,   258,   549,   505,   571,
1677 <      88,    89,   168,   582,   547,   327,   597,   454,   302,   598,
1678 <     777,  -129,    90,    91,    92,   360,   506,   361,   477,   362,
1679 <      93,    94,   328,   329,   330,   331,   332,   259,  1150,   303,
1680 <     333,   305,   663,   363,   334,   748,   507,  1151,  1051,   496,
1681 <     335,   582,  1051,   576,   260,    95,    96,   261,   262,   263,
1682 <    -129,   336,   337,   364,   304,  1277,   307,   464,   288,  1278,
1683 <     508,   768,  1052,   338,   308,   729,  1052,   578,   365,   399,
1684 <     366,   597,   583,  1234,   598,   607,   571,   367,   477,   740,
1685 <     669,   580,   818,   505,   608,   339,   733,   800,   368,   593,
1686 <     584,   848,   309,    73,   264,   509,   853,   288,   310,   856,
1687 <     482,   506,  1299,   860,  1300,   311,   585,  1284,   604,  1310,
1688 <     583,  1285,   369,  1311,   456,   510,   312,   265,   266,   313,
1689 <     314,   507,    74,   315,   567,  1256,  1257,  1258,   584,   340,
1690 <      75,   511,   457,   316,   317,   810,   370,  1068,  1069,  1070,
1691 <    1071,  1072,  1073,  1074,   585,   508,   318,   319,   512,   513,
1692 <     320,  1301,   458,   483,   398,   408,   371,   409,   410,   411,
1693 <     484,   122,   485,   412,   413,   372,   123,   124,  1302,   125,
1694 <     126,   321,   642,   623,   127,   605,   459,   414,   415,   416,
1695 <     509,   417,   128,   129,   418,   419,   420,   421,   422,   423,
1696 <      76,   424,   130,   425,   426,   131,   132,   133,   427,   514,
1697 <     510,   428,   134,   429,   430,   431,   432,  1303,  1304,   434,
1698 <     436,   437,   438,   439,   373,   440,   511,   135,   136,   515,
1699 <     441,   486,   442,   516,   443,   444,   137,   762,   445,   138,
1700 <     139,   460,   446,   512,   513,   447,   448,   374,   140,   461,
1701 <     462,   449,  1161,   450,   659,   141,   606,   142,   451,   143,
1702 <     452,   144,   453,   145,   146,   494,   495,   539,  1162,  1305,
1703 <     463,  1128,   540,   541,  1306,   542,   147,   543,   544,  1163,
1704 <     545,   148,   149,   150,   546,   151,   152,   153,   550,   551,
1705 <     154,   552,   553,   554,   514,   555,  1129,   556,   557,   558,
1706 <     559,   560,   561,   562,   360,   563,   361,   564,   362,  1218,
1707 <     565,   249,   566,  1164,   515,  1165,   155,   577,   516,   609,
1708 <     592,   609,   363,   611,  1130,   612,   156,   157,   158,   159,
1709 <     160,   161,   162,   613,   614,   616,   250,   619,   620,   621,
1710 <     251,   622,   364,  1166,   624,   464,   824,   825,   826,   827,
1711 <     828,   829,   830,   625,   644,  1131,  1132,   365,   626,   366,
1712 <     665,   627,   671,  1133,   629,   252,   367,   630,   631,   632,
1713 <     633,   634,  1281,  1219,   253,   635,  1167,   368,  1168,   636,
1714 <     637,   638,   163,   164,   165,   639,   166,   167,  1134,   640,
1715 <     641,   645,   646,   647,   648,   168,   254,  1169,   649,   650,
1716 <     255,   369,   666,   652,  1135,  1220,   653,   654,   256,   655,
1717 <     656,   257,   258,  1221,   657,   658,   661,   662,   667,  1170,
1718 <     668,   673,  1222,   676,  1171,   370,   677,   678,  1172,   679,
1719 <     680,   681,  1173,   682,   683,   684,   686,  1174,   687,   688,
1720 <     689,  1175,   691,   259,   692,   371,  1223,   693,  1224,  1225,
1721 <     230,   694,  1176,   696,   372,  1177,   936,  1178,   937,   938,
1722 <     260,   323,  1226,   261,   262,   263,  1136,   698,  1179,  1227,
1723 <       2,     3,   695,   697,     4,  1180,   699,   324,   325,   702,
1724 <     703,   326,   704,   231,  1137,   709,     5,   710,   711,     6,
1725 <       7,   712,   232,   713,   715,   233,   234,   718,   721,     8,
1726 <     235,   236,   237,   373,   719,   722,   742,   720,   735,   743,
1727 <     264,     9,   773,   724,    10,    11,   725,   726,   780,   727,
1728 <     728,   731,   732,   327,   238,   736,   374,   737,   739,   744,
1729 <     745,   746,    12,   265,   266,    13,   747,   750,   751,   752,
1730 <     328,   329,   330,   331,   332,   764,    14,  1188,   333,  1189,
1731 <    1190,   754,   334,   770,   779,   771,   755,   756,   335,   757,
1732 <     772,   758,   774,   775,   776,   760,    15,    16,   782,   336,
1733 <     337,   781,   761,   765,   939,   940,   941,   766,   767,   942,
1734 <     943,   338,   944,   945,    17,   946,   778,   947,   913,   783,
1735 <     948,   784,   949,   950,   785,   786,   787,   788,   951,   789,
1736 <     790,    18,   952,   339,   796,   791,   953,   954,   955,   792,
1737 <     793,   794,   795,   956,    19,    20,   797,   802,   957,   803,
1738 <     798,   812,  1241,   804,   846,   805,   806,   847,   850,   807,
1739 <     808,   809,   813,   814,   815,   851,   820,   817,    21,   852,
1740 <     821,   822,   823,   833,   834,   835,   836,   340,   837,   838,
1741 <     839,    22,   840,   841,   842,   843,    23,   844,   845,   849,
1742 <     854,    24,   855,   857,    25,  1191,  1192,  1193,   858,   859,
1743 <    1194,  1195,   861,  1196,  1197,   869,  1198,   864,  1199,   865,
1744 <     868,  1200,   870,  1201,  1202,   871,  1242,   872,   873,  1203,
1745 <     874,   875,   876,  1204,   877,   878,   879,  1205,  1206,  1207,
1746 <     881,   882,   885,   886,  1208,   984,   914,   915,   916,  1209,
1747 <     982,   917,   918,   880,   919,   920,   981,   921,  1243,   922,
1748 <      82,   883,   923,   884,   924,   925,  1244,   980,   887,   888,
1749 <     926,   889,   890,   891,   927,  1245,   892,   893,   928,   929,
1750 <     930,   894,   895,    83,    84,   931,    85,    86,   983,   985,
1751 <     932,   896,    87,   897,   898,   899,   986,   900,   901,  1246,
1752 <     987,  1247,  1248,   902,   903,   904,   905,   906,   907,   989,
1753 <     908,   990,   909,   910,   911,  1249,   912,   935,    88,    89,
1754 <     960,   992,  1250,   993,   995,   994,  1001,   961,  1002,  1004,
1755 <      90,    91,    92,  1007,  1008,   962,  1009,   963,    93,    94,
1756 <    1010,  1013,  1006,   964,   965,   966,  1005,  1014,  1016,  1017,
1757 <     967,   968,  1018,   969,   970,   971,   972,   973,   974,   975,
1758 <     976,   977,   978,    95,    96,   979,  1011,   988,   991,   998,
1759 <     999,  1000,  1003,  1045,  1058,  1015,  1019,  1012,  1020,  1021,
1760 <    1022,  1023,  1024,  1025,  1059,  1026,  1027,  1028,  1029,  1030,
1761 <    1031,  1032,  1033,  1034,  1060,  1061,  1035,  1036,  1037,  1038,
1762 <    1039,  1040,  1064,  1041,  1042,  1043,  1066,  1044,  1267,  1047,
1763 <    1048,  1046,  1062,  1063,  1065,  1279,  1067,  1231,  1075,  1076,
1764 <    1077,  1082,  1083,  1084,  1085,  1086,  1087,  1290,  1088,   306,
1765 <    1089,  1090,  1291,  1091,  1292,   811,  1092,  1098,  1099,  1235,
1766 <    1312,  1100,   749,  1101,  1102,  1294,  1293,  1286,  1103,  1104,
1767 <    1105,  1106,  1111,  1268,  1289,   730,  1112,  1113,   741,  1114,
1768 <    1115,  1116,  1117,  1118,  1119,  1120,  1121,  1126,  1127,  1140,
1769 <    1141,  1142,  1143,  1144,  1145,  1146,  1147,  1148,  1154,   763,
1770 <    1288,  1157,  1155,  1158,  1159,  1160,  1183,  1184,  1309,   643,
1771 <     801,  1185,  1186,  1187,  1212,  1213,  1214,  1215,  1216,  1217,
1772 <     497,   819,  1230,  1295,  1236,  1237,  1232,  1238,   769,  1239,
1773 <    1240,  1253,  1287,  1269,   734,   400,   455,  1283,  1296,  1270,
1774 <    1271,  1272,  1282,  1297,  1298,   322,  1262,  1261,   664,     0,
1775 <       0,     0,     0,     0,     0,     0,     0,     0,   548,     0,
1776 <       0,     0,   579,     0,     0,     0,     0,     0,     0,     0,
1777 <       0,     0,     0,     0,     0,     0,     0,     0,   568,     0,
1654 >     860,   861,   611,   474,   527,   614,   615,    82,   617,   618,
1655 >     289,    73,   214,    51,   596,  1113,   110,   390,   582,   400,
1656 >    1155,    52,   497,   497,   859,   596,   297,    49,    50,  1055,
1657 >     481,   474,    83,    84,    56,   214,    58,   702,  1084,    85,
1658 >      74,   703,   704,   110,   528,  1128,   705,  1130,    75,  1129,
1659 >     400,  1131,   359,   116,   360,    62,   361,   570,   117,   118,
1660 >     289,   119,   120,   570,   864,   865,   121,    86,    87,    88,
1661 >     297,   362,    66,    67,  1227,    69,   122,   123,  1228,   111,
1662 >     391,    89,    90,    91,   124,   482,   529,   125,   126,   127,
1663 >     363,    92,    93,   483,   128,   484,    71,  1266,   390,   303,
1664 >     670,  1267,   672,   673,   498,   498,   111,   364,   107,   365,
1665 >     108,   129,   130,   683,   215,  1085,    76,   366,   688,   597,
1666 >    1296,   504,   131,   583,   401,   132,   133,   697,   698,   367,
1667 >     597,   298,   475,   530,  1056,   216,   134,   215,   109,   711,
1668 >     505,   713,   714,   135,   115,   136,   392,   137,   402,   138,
1669 >    1055,   224,   139,   140,   245,   401,   485,   368,   216,   506,
1670 >     475,   391,   571,   211,   141,   212,   213,  1156,   571,   142,
1671 >     143,   455,   144,   145,   146,   298,  1157,   147,   369,   402,
1672 >     221,   246,   222,   247,   225,   223,   507,  1271,  -142,   584,
1673 >     456,  1272,  1275,   226,   227,   228,  1276,   370,   229,   230,
1674 >     499,   499,   148,   231,   232,   233,   371,   585,  1277,   457,
1675 >     248,  1114,  1278,   149,   150,   151,   152,   153,   154,   155,
1676 >     249,   288,   296,   586,  1030,   302,   508,   392,  1057,   476,
1677 >     769,   304,   250,   251,   252,   290,   458,   598,  -142,   765,
1678 >     599,   582,   320,   509,   581,   253,   307,   495,   598,   254,
1679 >     322,   599,  1058,   811,   667,  1056,   372,   476,   746,   255,
1680 >     819,   594,   256,   257,  1246,   738,   731,   323,   324,   156,
1681 >     157,   158,   325,   159,   160,   510,   511,   305,   398,   373,
1682 >     572,   306,   161,   309,   162,   290,   572,   657,   453,   492,
1683 >     527,   258,   801,   459,   612,   579,  1288,   805,   481,   547,
1684 >    1289,   460,   461,    73,   504,  1031,   310,   259,   311,  1032,
1685 >     260,   261,   262,   312,   313,   326,  1318,   846,  1319,   314,
1686 >    1290,   462,   851,   505,  1291,   854,   315,   512,   316,   858,
1687 >     528,   317,    74,   661,   318,   327,   328,   329,   330,   331,
1688 >      75,  1293,   506,   332,   577,  1294,   583,   513,   333,  1057,
1689 >    1300,   514,   319,   482,  1301,   334,   759,   397,   263,   407,
1690 >     408,   483,   409,   484,   335,   336,  1320,  1033,   410,   507,
1691 >    1329,   411,   529,  1058,  1330,   337,  1268,  1269,  1270,   116,
1692 >     412,   264,   265,  1321,   117,   118,   545,   119,   120,   568,
1693 >     413,   605,   121,   414,   415,   416,   338,   463,  1099,  1100,
1694 >    1101,   417,   122,   123,   418,   419,   727,   420,    76,   508,
1695 >     124,   421,   584,   125,   126,   127,   422,  1167,   423,   530,
1696 >     128,   424,  1322,  1323,   485,   425,   509,   245,   426,   427,
1697 >     585,   428,   429,   430,  1168,  1169,   431,   129,   130,   434,
1698 >     435,   339,   436,   437,  1170,   606,   586,   438,   131,   439,
1699 >     440,   132,   133,   441,   246,   442,   247,   443,   510,   511,
1700 >     444,   445,   134,   446,   447,   448,   449,   450,   451,   135,
1701 >     452,   136,   493,   137,  1324,   138,   494,   536,   139,   140,
1702 >    1325,  1171,  1172,   248,  1173,   640,   537,   607,   538,   539,
1703 >     141,   540,   541,   249,   542,   142,   143,   543,   144,   145,
1704 >     146,   859,   544,   147,   548,   250,   251,   252,   549,   550,
1705 >     512,   551,   455,   553,   554,   555,  1174,   556,   253,   557,
1706 >     558,   559,   254,   560,  1175,   561,   610,   608,   148,   562,
1707 >     513,   456,   255,   563,   514,   256,   257,   564,   565,   149,
1708 >     150,   151,   152,   153,   154,   155,  1176,   566,  1177,  1178,
1709 >     457,   825,   826,   827,   828,   829,   830,   831,   567,   578,
1710 >     593,   609,   610,   359,   258,   360,  1179,   361,  1074,  1075,
1711 >    1076,  1077,  1078,  1079,  1080,   613,   616,   458,  1134,   619,
1712 >     259,   620,   362,   260,   261,   262,   621,   622,   623,  1180,
1713 >     671,   624,   625,   627,  1181,   156,   157,   158,  1182,   159,
1714 >     160,   363,  1183,  1135,   628,   629,  1297,  1184,   161,   630,
1715 >     162,  1185,   631,   632,   633,   634,   663,   635,   364,   636,
1716 >     365,   637,  1186,   638,  1187,  1188,   639,  1189,   366,   642,
1717 >     643,   263,   664,   644,   459,  1136,   645,   646,  1190,   647,
1718 >     367,   648,   460,   461,     2,     3,  1191,   650,     4,   651,
1719 >     224,   669,   652,   653,   264,   265,   654,   322,   655,   656,
1720 >       5,   659,   462,   660,     6,   665,     7,   666,   368,   674,
1721 >    1137,  1138,   675,     8,   323,   324,  1139,   694,   677,   325,
1722 >     676,   678,   679,   225,   933,     9,   934,   935,   680,   369,
1723 >      10,    11,   226,   227,   228,   681,   682,   229,   230,   684,
1724 >    1140,   685,   231,   232,   233,   686,   687,   689,   370,    12,
1725 >     690,   691,   692,    13,   693,  1141,   695,   371,   696,   699,
1726 >     700,   701,   326,   706,   707,   708,    14,   710,   709,  1198,
1727 >     712,  1199,  1200,   715,   716,   717,   718,   719,   463,   740,
1728 >     741,   733,   327,   328,   329,   330,   331,   770,    15,    16,
1729 >     332,   720,   767,   722,   723,   333,   724,   725,   726,   729,
1730 >     730,   734,   334,    17,   735,   737,   742,   372,   743,   911,
1731 >     744,   335,   336,   745,   748,   749,   750,   761,  1142,   752,
1732 >      18,   753,   337,   754,   755,   757,   758,   762,   763,   764,
1733 >     373,   768,    19,    20,   771,   772,   773,  1143,   774,   775,
1734 >     776,   777,   778,   338,   779,   936,   937,   938,   780,   781,
1735 >     939,   940,   782,   941,   942,   784,   943,    21,   944,   783,
1736 >     785,   945,  1230,   946,   947,   786,   787,   788,  1253,   948,
1737 >      22,   789,   790,   949,   797,    23,   791,   950,   951,   952,
1738 >      24,   792,   793,    25,   953,   794,   795,   796,   339,   954,
1739 >    1201,  1202,  1203,   798,   799,  1204,  1205,   803,  1206,  1207,
1740 >     804,  1208,   806,  1209,   807,   813,  1210,   808,  1211,  1212,
1741 >     809,   810,   814,   815,  1213,   821,   844,   816,  1214,   845,
1742 >     818,   822,  1215,  1216,  1217,   823,   824,  1231,   834,  1218,
1743 >     912,   913,   914,  1254,  1219,   915,   916,   835,   917,   918,
1744 >     836,   919,   847,   920,   837,   838,   921,   839,   922,   923,
1745 >     840,   841,    82,   842,   924,   848,   849,   843,   925,  1232,
1746 >     850,   852,   926,   927,   928,  1255,   853,  1233,   855,   929,
1747 >     856,   857,   859,  1256,   930,   862,  1234,    83,    84,   863,
1748 >     867,   866,  1257,   868,    85,   870,   873,   869,   871,   872,
1749 >     874,   875,   876,   877,   879,   878,   880,   881,   882,   883,
1750 >    1235,   884,  1236,  1237,   885,   886,  1258,   887,  1259,  1260,
1751 >     888,   889,    86,    87,    88,   890,  1238,   891,   892,   893,
1752 >     894,   895,  1261,   896,  1239,   897,    89,    90,    91,   898,
1753 >    1262,   899,   978,   900,   901,   902,    92,    93,   903,   904,
1754 >     981,   905,   906,   907,   908,   909,   910,   957,   958,   959,
1755 >     960,   961,   962,   963,   964,   965,   966,   967,   968,   969,
1756 >     970,   971,   972,   973,   974,   975,   976,   977,   982,   983,
1757 >     979,   980,   984,   985,   986,   987,   988,   990,   989,   993,
1758 >     991,   999,   992,   996,   997,   998,  1000,  1002,  1005,  1006,
1759 >    1003,  1007,  1008,  1292,  1010,  1011,  1013,  1014,  1015,  1051,
1760 >    1064,  1065,  1001,  1066,  1067,  1070,  1072,  1004,  1009,   747,
1761 >    1012,   569,  1016,  1017,  1018,  1019,  1020,  1021,  1022,  1023,
1762 >    1024,  1025,  1026,  1027,  1028,  1029,  1036,  1037,  1038,  1039,
1763 >    1040,  1041,  1042,  1043,  1044,  1045,  1046,  1047,  1048,  1279,
1764 >    1049,  1050,   308,  1053,  1054,  1052,  1068,  1247,  1069,  1161,
1765 >    1073,  1081,  1071,  1082,  1083,  1088,  1089,  1090,  1091,  1092,
1766 >    1093,  1094,  1095,  1096,  1097,  1098,  1104,  1105,  1106,  1107,
1767 >    1108,  1109,  1110,  1111,  1112,  1117,  1295,  1118,  1119,  1306,
1768 >    1307,  1120,  1309,  1308,  1310,  1121,  1311,   812,  1313,  1331,
1769 >    1122,  1123,  1124,  1302,  1312,  1305,  1280,  1125,   760,  1126,
1770 >     739,  1304,   766,   802,  1328,  1303,   728,   732,   580,  1127,
1771 >     820,   658,  1314,  1160,  1132,  1133,  1146,  1147,  1148,  1149,
1772 >    1150,  1151,  1152,  1153,  1154,   399,  1163,  1164,  1165,  1166,
1773 >    1194,  1195,  1196,  1197,  1222,  1223,  1224,  1225,  1226,  1229,
1774 >    1242,   496,   454,  1248,  1243,  1244,  1249,  1250,  1251,  1252,
1775 >    1265,  1281,  1273,  1274,   321,     0,     0,  1282,  1283,  1284,
1776 >    1285,  1286,  1287,  1299,  1298,  1315,  1316,  1317,   546,     0,
1777 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1778         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1779         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1780 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   595,
1781         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1770     594,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1782         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1783         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1784 +       0,     0,     0,     0,     0,     0,     0,     0,     0,   641,
1785         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1786         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1787         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1788         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1789         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1778       0,   660,     0,     0,     0,     0,     0,     0,     0,     0,
1790         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1791 +       0,     0,     0,     0,     0,     0,   662,     0,     0,     0,
1792         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1793 <       0,   670
1793 >     668
1794   };
1795  
1796   static const yytype_int16 yycheck[] =
1797   {
1798 <     640,   641,   308,     8,   231,     1,   231,   313,     1,   315,
1799 <     316,     1,     1,     6,     7,     1,     9,    10,     1,   231,
1800 <       1,    14,     1,     1,   211,   229,   230,     1,   215,    22,
1801 <      23,   211,     1,     1,     1,   215,     1,    50,    34,    32,
1802 <       1,     1,    35,    36,    37,   178,   179,    43,   231,    42,
1803 <      46,    47,    11,    12,    13,    51,    52,    53,   108,   231,
1804 <     231,    30,     1,    41,    57,    58,     1,   229,     1,    38,
1805 <       1,   233,   231,    66,     1,    61,    69,    70,     1,    75,
1806 <       1,     1,    61,     1,    19,    78,   231,     1,     1,   231,
1807 <       1,   229,    85,    61,    87,   233,    89,   231,    91,    77,
1808 <      93,    94,    41,   409,    39,   411,   412,     1,    98,    98,
1809 <      77,   124,    77,   106,    46,    98,   422,    98,   111,   112,
1810 <     113,   427,   115,   116,   117,     1,   231,   120,    63,    98,
1811 <      61,   437,   438,    54,    95,    95,     1,   229,    77,   125,
1812 <      61,   233,    63,   449,   125,   451,   452,   125,   229,   108,
1813 <      26,   125,   233,   146,    30,   205,   229,   125,   119,   119,
1814 <     233,   231,   231,   156,   157,   158,   159,   160,   161,   162,
1815 <     231,    98,     1,     1,     1,    98,   231,   229,    98,    55,
1816 <      98,   233,   231,   118,   231,    98,   125,    98,    64,    17,
1817 <      18,   126,   127,    21,   199,    24,    25,   231,    27,    28,
1818 <     231,   122,   229,   231,    33,   125,   233,   174,   231,   174,
1819 <      86,   125,   147,   229,    90,   229,   231,   233,   229,   212,
1820 <     213,   214,    98,   216,   217,   101,   102,   229,     1,   219,
1821 <      59,    60,   225,    98,   230,    63,   219,   230,   232,   222,
1822 <     546,   174,    71,    72,    73,     1,    19,     3,   222,     5,
1823 <      79,    80,    80,    81,    82,    83,    84,   133,   190,   232,
1824 <      88,   230,   230,    19,    92,   230,    39,   199,   195,   230,
1825 <      98,    98,   195,   229,   150,   104,   105,   153,   154,   155,
1826 <     174,   109,   110,    39,   232,   229,   232,   222,   221,   233,
1827 <      63,   230,   219,   121,   232,   230,   219,   230,    54,   230,
1828 <      56,   219,   167,   230,   222,   229,   219,    63,   222,   230,
1829 <     230,   174,   230,     1,   108,   143,   230,   230,    74,   230,
1830 <     185,   627,   232,     1,   200,    98,   632,   221,   232,   635,
1831 <       1,    19,    65,   639,    67,   232,   201,   229,   123,   229,
1832 <     167,   233,    98,   233,     1,   118,   232,   223,   224,   232,
1833 <     232,    39,    30,   232,   230,  1093,  1094,  1095,   185,   187,
1834 <      38,   134,    19,   232,   232,   230,   122,   824,   825,   826,
1835 <     827,   828,   829,   830,   201,    63,   232,   232,   151,   152,
1836 <     232,   114,    39,    54,   232,   232,   142,   232,   232,   232,
1837 <      61,     1,    63,   232,   232,   151,     6,     7,   131,     9,
1838 <      10,   230,   230,   229,    14,   123,    63,   232,   232,   232,
1839 <      98,   232,    22,    23,   232,   232,   232,   232,   232,   232,
1840 <      98,   232,    32,   232,   232,    35,    36,    37,   232,   202,
1841 <     118,   232,    42,   232,   232,   232,   232,   170,   171,   232,
1842 <     232,   232,   232,   232,   200,   232,   134,    57,    58,   222,
1843 <     232,   122,   232,   226,   232,   232,    66,   230,   232,    69,
1844 <      70,   118,   232,   151,   152,   232,   232,   223,    78,   126,
1845 <     127,   232,     4,   232,   230,    85,   123,    87,   232,    89,
1846 <     232,    91,   232,    93,    94,   232,   232,   232,    20,   222,
1847 <     147,    15,   232,   232,   227,   232,   106,   232,   232,    31,
1848 <     232,   111,   112,   113,   232,   115,   116,   117,   232,   232,
1849 <     120,   232,   232,   232,   202,   232,    40,   232,   232,   232,
1850 <     232,   232,   232,   232,     1,   232,     3,   232,     5,    67,
1851 <     232,     1,   232,    65,   222,    67,   146,   232,   226,   108,
1852 <     232,   108,    19,   108,    68,   108,   156,   157,   158,   159,
1853 <     160,   161,   162,   211,   108,   108,    26,   108,   108,   211,
1854 <      30,   211,    39,    95,   229,   222,   135,   136,   137,   138,
1855 <     139,   140,   141,   232,   229,    99,   100,    54,   232,    56,
1856 <     123,   232,   211,   107,   232,    55,    63,   232,   232,   232,
1857 <     232,   232,  1232,   131,    64,   232,   128,    74,   130,   232,
1858 <     232,   232,   212,   213,   214,   232,   216,   217,   132,   232,
1859 <     232,   232,   232,   232,   232,   225,    86,   149,   232,   232,
1860 <      90,    98,   229,   232,   148,   163,   232,   232,    98,   232,
1861 <     232,   101,   102,   171,   232,   232,   232,   232,   232,   171,
1862 <     232,   108,   180,   211,   176,   122,   108,   211,   180,   108,
1863 <     108,   108,   184,   211,   211,   211,   108,   189,   108,   108,
1864 <     108,   193,   108,   133,   108,   142,   204,   108,   206,   207,
1865 <       1,   108,   204,   232,   151,   207,    46,   209,    48,    49,
1866 <     150,     1,   220,   153,   154,   155,   210,   232,   220,   227,
1867 <       0,     1,   211,   211,     4,   227,   211,    17,    18,   211,
1868 <     211,    21,   211,    34,   228,   211,    16,   211,   211,    19,
1869 <      20,   211,    43,   108,   211,    46,    47,   211,   232,    29,
1870 <      51,    52,    53,   200,   229,   232,   123,   229,   229,   123,
1871 <     200,    41,   123,   232,    44,    45,   232,   232,   123,   232,
1872 <     232,   232,   232,    63,    75,   232,   223,   232,   232,   229,
1873 <     229,   232,    62,   223,   224,    65,   232,   229,   232,   232,
1874 <      80,    81,    82,    83,    84,   229,    76,    46,    88,    48,
1875 <      49,   232,    92,   211,   108,   211,   232,   232,    98,   232,
1876 <     211,   232,   211,   211,   211,   232,    96,    97,   123,   109,
1877 <     110,   211,   232,   232,   164,   165,   166,   232,   232,   169,
1878 <     170,   121,   172,   173,   114,   175,   229,   177,    46,   108,
1879 <     180,   108,   182,   183,   123,   123,   123,   123,   188,   123,
1880 <     123,   131,   192,   143,   229,   123,   196,   197,   198,   123,
1881 <     123,   123,   123,   203,   144,   145,   229,   211,   208,   229,
1882 <     232,   123,    67,   231,   108,   229,   232,   108,   108,   232,
1883 <     232,   232,   229,   229,   232,   108,   229,   232,   168,   108,
1884 <     229,   229,   229,   229,   229,   229,   229,   187,   229,   229,
1885 <     229,   181,   229,   229,   229,   229,   186,   229,   229,   232,
1886 <     108,   191,   108,   123,   194,   164,   165,   166,   108,   108,
1887 <     169,   170,   108,   172,   173,   211,   175,   229,   177,   123,
1888 <     123,   180,   123,   182,   183,   123,   131,   232,   123,   188,
1889 <     123,   108,   123,   192,   123,   123,   123,   196,   197,   198,
1890 <     123,   123,   123,   123,   203,   108,   164,   165,   166,   208,
1891 <     232,   169,   170,   229,   172,   173,   211,   175,   163,   177,
1892 <       1,   229,   180,   229,   182,   183,   171,   123,   229,   229,
1893 <     188,   229,   229,   229,   192,   180,   229,   229,   196,   197,
1894 <     198,   229,   229,    24,    25,   203,    27,    28,   123,   123,
1895 <     208,   229,    33,   229,   229,   229,   123,   229,   229,   204,
1896 <     123,   206,   207,   229,   229,   229,   229,   229,   229,   123,
1897 <     229,   123,   229,   229,   229,   220,   229,   229,    59,    60,
1898 <     229,   123,   227,   123,   108,   232,   123,   229,   123,   123,
1899 <      71,    72,    73,   123,   123,   229,   123,   229,    79,    80,
1900 <     123,   123,   232,   229,   229,   229,   211,   123,   123,   123,
1901 <     229,   229,   123,   229,   229,   229,   229,   229,   229,   229,
1902 <     229,   229,   229,   104,   105,   229,   211,   229,   229,   229,
1903 <     229,   229,   229,   123,   123,   229,   229,   232,   229,   229,
1904 <     229,   229,   229,   229,   123,   229,   229,   229,   229,   229,
1905 <     229,   229,   229,   229,   123,   123,   229,   229,   229,   229,
1906 <     229,   229,   123,   229,   229,   229,   123,   229,   108,   229,
1907 <     229,   232,   229,   229,   232,   123,   229,   232,   229,   229,
1908 <     229,   229,   229,   229,   229,   229,   229,   129,   229,    77,
1909 <     229,   229,   129,   229,   129,   586,   229,   229,   229,  1053,
1910 <    1311,   229,   501,   229,   229,  1276,  1274,  1255,   229,   229,
1911 <     229,   229,   229,  1155,  1266,   465,   229,   229,   488,   229,
1912 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1913 <     229,   229,   229,   229,   229,   229,   229,   229,   218,   517,
1914 <    1264,   229,   233,   229,   229,   229,   229,   229,  1285,   341,
1915 <     572,   229,   229,   229,   229,   229,   229,   229,   229,   229,
1916 <     223,   599,   229,  1278,   229,   229,   232,   229,   534,   229,
1917 <     229,   229,  1260,   229,   478,   118,   169,   229,   229,   234,
1918 <     234,   234,   232,   229,   229,    97,  1125,  1123,   394,    -1,
1919 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   239,    -1,
1920 <      -1,    -1,   289,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1921 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   267,    -1,
1798 >     638,   639,   310,     1,     1,   313,   314,     1,   316,   317,
1799 >       1,     1,     1,   237,     1,     8,     1,     1,     1,     1,
1800 >      48,   237,     1,     1,   114,     1,     1,   235,   236,     1,
1801 >       1,     1,    26,    27,   237,     1,   237,   216,    52,    33,
1802 >      30,   220,   216,     1,    41,   235,   220,   235,    38,   239,
1803 >       1,   239,     1,     1,     3,   237,     5,     1,     6,     7,
1804 >       1,     9,    10,     1,   183,   184,    14,    61,    62,    63,
1805 >       1,    20,   237,   237,   235,   237,    24,    25,   239,    64,
1806 >      64,    75,    76,    77,    32,    56,    83,    35,    36,    37,
1807 >      39,    85,    86,    64,    42,    66,   237,   235,     1,   235,
1808 >     408,   239,   410,   411,    83,    83,    64,    56,   237,    58,
1809 >     237,    59,    60,   421,   103,   129,   106,    66,   426,   106,
1810 >     210,     1,    70,   106,   106,    73,    74,   435,   436,    78,
1811 >     106,   106,   130,   130,   106,   124,    84,   103,   237,   447,
1812 >      20,   449,   450,    91,   237,    93,   130,    95,   130,    97,
1813 >       1,     1,   100,   101,     1,   106,   127,   106,   124,    39,
1814 >     130,    64,   106,   237,   112,   237,   237,   195,   106,   117,
1815 >     118,     1,   120,   121,   122,   106,   204,   125,   127,   130,
1816 >     237,    28,   237,    30,    34,   237,    66,   235,   179,   172,
1817 >      20,   239,   235,    43,    44,    45,   239,   146,    48,    49,
1818 >     179,   179,   150,    53,    54,    55,   155,   190,   235,    39,
1819 >      57,   204,   239,   161,   162,   163,   164,   165,   166,   167,
1820 >      67,   237,   237,   206,    17,   237,   106,   130,   200,   227,
1821 >     538,   238,    79,    80,    81,   226,    66,   224,   179,   236,
1822 >     227,     1,   236,   123,   179,    92,   236,   236,   224,    96,
1823 >       1,   227,   224,   236,   236,   106,   205,   227,   236,   106,
1824 >     236,   236,   109,   110,   236,   236,   236,    18,    19,   217,
1825 >     218,   219,    23,   221,   222,   155,   156,   238,   236,   228,
1826 >     224,   238,   230,   238,   232,   226,   224,   236,   236,   235,
1827 >       1,   138,   236,   123,   216,   236,   235,   237,     1,   235,
1828 >     239,   131,   132,     1,     1,    98,   238,   154,   238,   102,
1829 >     157,   158,   159,   238,   238,    66,    69,   625,    71,   238,
1830 >     235,   151,   630,    20,   239,   633,   238,   207,   238,   637,
1831 >      41,   238,    30,   236,   238,    86,    87,    88,    89,    90,
1832 >      38,   235,    39,    94,   235,   239,   106,   227,    99,   200,
1833 >     235,   231,   238,    56,   239,   106,   236,   238,   205,   238,
1834 >     238,    64,   238,    66,   115,   116,   119,   160,   238,    66,
1835 >     235,   238,    83,   224,   239,   126,  1099,  1100,  1101,     1,
1836 >     238,   228,   229,   136,     6,     7,   236,     9,    10,   236,
1837 >     238,   128,    14,   238,   238,   238,   147,   227,    11,    12,
1838 >      13,   238,    24,    25,   238,   238,   236,   238,   106,   106,
1839 >      32,   238,   172,    35,    36,    37,   238,     4,   238,   130,
1840 >      42,   238,   175,   176,   127,   238,   123,     1,   238,   238,
1841 >     190,   238,   238,   238,    21,    22,   238,    59,    60,   238,
1842 >     238,   192,   238,   238,    31,   128,   206,   238,    70,   238,
1843 >     238,    73,    74,   238,    28,   238,    30,   238,   155,   156,
1844 >     238,   238,    84,   238,   238,   238,   238,   238,   238,    91,
1845 >     238,    93,   238,    95,   227,    97,   238,   238,   100,   101,
1846 >     233,    68,    69,    57,    71,   236,   238,   128,   238,   238,
1847 >     112,   238,   238,    67,   238,   117,   118,   238,   120,   121,
1848 >     122,   114,   238,   125,   238,    79,    80,    81,   238,   238,
1849 >     207,   238,     1,   238,   238,   238,   103,   238,    92,   238,
1850 >     238,   238,    96,   238,   111,   238,   114,   235,   150,   238,
1851 >     227,    20,   106,   238,   231,   109,   110,   238,   238,   161,
1852 >     162,   163,   164,   165,   166,   167,   133,   238,   135,   136,
1853 >      39,   139,   140,   141,   142,   143,   144,   145,   238,   238,
1854 >     238,   114,   114,     1,   138,     3,   153,     5,   825,   826,
1855 >     827,   828,   829,   830,   831,   114,   114,    66,    15,   114,
1856 >     154,   114,    20,   157,   158,   159,   235,   235,   238,   176,
1857 >     114,   238,   238,   238,   181,   217,   218,   219,   185,   221,
1858 >     222,    39,   189,    40,   238,   238,  1244,   194,   230,   238,
1859 >     232,   198,   238,   238,   238,   238,   128,   238,    56,   238,
1860 >      58,   238,   209,   238,   211,   212,   238,   214,    66,   235,
1861 >     238,   205,   235,   238,   123,    72,   238,   238,   225,   238,
1862 >      78,   238,   131,   132,     0,     1,   233,   238,     4,   238,
1863 >       1,   216,   238,   238,   228,   229,   238,     1,   238,   238,
1864 >      16,   238,   151,   238,    20,   238,    22,   238,   106,   216,
1865 >     107,   108,   114,    29,    18,    19,   113,   238,   114,    23,
1866 >     216,   114,   114,    34,    48,    41,    50,    51,   216,   127,
1867 >      46,    47,    43,    44,    45,   216,   216,    48,    49,   114,
1868 >     137,   114,    53,    54,    55,   114,   114,   114,   146,    65,
1869 >     114,   114,   114,    69,   216,   152,   238,   155,   216,   216,
1870 >     216,   216,    66,   216,   216,   216,    82,   114,   216,    48,
1871 >     216,    50,    51,   216,   114,   235,   235,   238,   227,   128,
1872 >     128,   235,    86,    87,    88,    89,    90,   128,   104,   105,
1873 >      94,   238,   216,   238,   238,    99,   238,   238,   238,   238,
1874 >     238,   238,   106,   119,   238,   238,   235,   205,   235,    48,
1875 >     238,   115,   116,   238,   235,   238,   238,   235,   215,   238,
1876 >     136,   238,   126,   238,   238,   238,   238,   238,   238,   238,
1877 >     228,   216,   148,   149,   216,   128,   216,   234,   216,   216,
1878 >     235,   114,   128,   147,   216,   169,   170,   171,   128,   238,
1879 >     174,   175,   128,   177,   178,   114,   180,   173,   182,   128,
1880 >     114,   185,    71,   187,   188,   128,   128,   128,    71,   193,
1881 >     186,   128,   128,   197,   235,   191,   128,   201,   202,   203,
1882 >     196,   128,   128,   199,   208,   128,   128,   128,   192,   213,
1883 >     169,   170,   171,   235,   238,   174,   175,   216,   177,   178,
1884 >     235,   180,   235,   182,   238,   128,   185,   238,   187,   188,
1885 >     238,   238,   235,   235,   193,   235,   114,   238,   197,   114,
1886 >     238,   235,   201,   202,   203,   235,   235,   136,   235,   208,
1887 >     169,   170,   171,   136,   213,   174,   175,   235,   177,   178,
1888 >     235,   180,   238,   182,   235,   235,   185,   235,   187,   188,
1889 >     235,   235,     1,   235,   193,   114,   114,   235,   197,   168,
1890 >     114,   114,   201,   202,   203,   168,   114,   176,   128,   208,
1891 >     114,   114,   114,   176,   213,   235,   185,    26,    27,   128,
1892 >     216,   128,   185,   128,    33,   238,   114,   128,   128,   128,
1893 >     128,   128,   128,   128,   128,   235,   128,   235,   235,   128,
1894 >     209,   128,   211,   212,   235,   235,   209,   235,   211,   212,
1895 >     235,   235,    61,    62,    63,   235,   225,   235,   235,   235,
1896 >     235,   235,   225,   235,   233,   235,    75,    76,    77,   235,
1897 >     233,   235,   128,   235,   235,   235,    85,    86,   235,   235,
1898 >     128,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1899 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1900 >     235,   235,   235,   235,   235,   235,   235,   235,   114,   128,
1901 >     216,   238,   128,   128,   235,   128,   128,   128,   235,   114,
1902 >     128,   128,   238,   235,   235,   235,   128,   128,   128,   128,
1903 >     216,   128,   216,  1228,   128,   128,   128,   128,   128,   128,
1904 >     128,   128,   235,   128,   128,   128,   128,   238,   238,   500,
1905 >     235,   266,   235,   235,   235,   235,   235,   235,   235,   235,
1906 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1907 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   114,
1908 >     235,   235,    77,   235,   235,   238,   235,  1059,   235,   239,
1909 >     235,   235,   238,   235,   235,   235,   235,   235,   235,   235,
1910 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1911 >     235,   235,   235,   235,   235,   235,   128,   235,   235,   134,
1912 >     136,   235,   136,   134,   134,   235,   134,   587,  1291,  1330,
1913 >     235,   235,   235,  1267,  1289,  1278,  1161,   235,   515,   235,
1914 >     487,  1276,   531,   573,  1301,  1272,   464,   477,   291,   235,
1915 >     600,   374,  1294,   223,   235,   235,   235,   235,   235,   235,
1916 >     235,   235,   235,   235,   235,   112,   235,   235,   235,   235,
1917 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
1918 >     235,   217,   163,   235,   238,   238,   235,   235,   235,   235,
1919 >     235,   235,  1129,  1131,    94,    -1,    -1,   240,   240,   240,
1920 >     240,   240,   240,   235,   238,   235,   235,   235,   234,    -1,
1921 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1922        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1923        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1924 +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   299,
1925        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1913     297,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1926        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1927        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1928 +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   340,
1929        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1930        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1931        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1932        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1933        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1921      -1,   375,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1934        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1935 +      -1,    -1,    -1,    -1,    -1,    -1,   393,    -1,    -1,    -1,
1936        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
1937 <      -1,   404
1937 >     403
1938   };
1939  
1940    /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
1941       symbol of state STATE-NUM.  */
1942   static const yytype_uint16 yystos[] =
1943   {
1944 <       0,   236,     0,     1,     4,    16,    19,    20,    29,    41,
1945 <      44,    45,    62,    65,    76,    96,    97,   114,   131,   144,
1946 <     145,   168,   181,   186,   191,   194,   237,   242,   247,   267,
1947 <     273,   279,   287,   301,   322,   346,   360,   375,   382,   386,
1948 <     396,   405,   426,   432,   438,   442,   448,   503,   520,   229,
1949 <     230,   231,   231,   323,   406,   433,   231,   443,   231,   361,
1950 <     427,   347,   231,   274,   302,   376,   231,   231,   397,   231,
1951 <     280,   231,   387,     1,    30,    38,    98,   268,   269,   270,
1952 <     271,   272,     1,    24,    25,    27,    28,    33,    59,    60,
1953 <      71,    72,    73,    79,    80,   104,   105,   504,   505,   506,
1954 <     507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
1955 <     517,   518,   519,   231,   231,   231,     1,    61,   439,   440,
1956 <     441,   231,     1,     6,     7,     9,    10,    14,    22,    23,
1957 <      32,    35,    36,    37,    42,    57,    58,    66,    69,    70,
1958 <      78,    85,    87,    89,    91,    93,    94,   106,   111,   112,
1959 <     113,   115,   116,   117,   120,   146,   156,   157,   158,   159,
1960 <     160,   161,   162,   212,   213,   214,   216,   217,   225,   449,
1961 <     450,   451,   452,   453,   454,   455,   456,   457,   458,   459,
1962 <     460,   461,   462,   463,   464,   465,   466,   467,   468,   469,
1963 <     470,   471,   472,   473,   474,   475,   476,   477,   478,   479,
1964 <     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1965 <     490,   491,   492,   496,   500,   501,   502,   231,   231,   231,
1966 <       1,    95,   119,   243,   244,   245,   246,   231,   231,   231,
1967 <       1,    34,    43,    46,    47,    51,    52,    53,    75,   521,
1968 <     522,   523,   524,   525,   526,   527,   528,   529,   530,     1,
1969 <      26,    30,    55,    64,    86,    90,    98,   101,   102,   133,
1970 <     150,   153,   154,   155,   200,   223,   224,   248,   249,   250,
1971 <     251,   252,   253,   254,   255,   256,   257,   258,   259,   260,
1972 <     261,   262,   263,   264,   265,   266,   231,     1,   221,   288,
1973 <     289,   290,   291,   292,   231,     1,    98,   383,   384,   385,
1974 <     231,   229,   232,   232,   232,   230,   269,   232,   232,   232,
1975 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1976 <     232,   230,   505,     1,    17,    18,    21,    63,    80,    81,
1977 <      82,    83,    84,    88,    92,    98,   109,   110,   121,   143,
1978 <     187,   324,   325,   326,   327,   328,   329,   330,   331,   332,
1979 <     333,   334,   335,   336,   337,   338,   339,   340,   341,   342,
1980 <       1,     3,     5,    19,    39,    54,    56,    63,    74,    98,
1981 <     122,   142,   151,   200,   223,   407,   408,   409,   410,   411,
1982 <     412,   413,   414,   415,   416,   417,   421,   422,   423,   424,
1983 <     425,     1,    61,   125,   434,   435,   436,   437,   232,   230,
1984 <     440,     1,    98,   125,   444,   445,   446,   447,   232,   232,
1985 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1986 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1987 <     232,   232,   232,   497,   232,   493,   232,   232,   232,   232,
1988 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
1989 <     232,   232,   232,   232,   230,   450,     1,    19,    39,    63,
1990 <     118,   126,   127,   147,   222,   362,   363,   364,   365,   366,
1991 <     367,   368,   372,   373,   374,     1,   125,   222,   428,   429,
1992 <     430,   431,     1,    54,    61,    63,   122,   348,   352,   353,
1993 <     354,   358,   359,   229,   232,   232,   230,   244,     1,    77,
1994 <     174,   275,   276,   277,   278,     1,    19,    39,    63,    98,
1995 <     118,   134,   151,   152,   202,   222,   226,   303,   304,   305,
1996 <     306,   307,   308,   309,   310,   311,   312,   313,   314,   318,
1997 <       1,    41,    77,   125,   377,   378,   379,   380,   381,   232,
1998 <     232,   232,   232,   232,   232,   232,   232,   230,   522,   229,
1999 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
2000 <     232,   232,   232,   232,   232,   232,   232,   230,   249,     1,
2001 <      98,   219,   398,   399,   400,   401,   229,   232,   230,   289,
2002 <     174,     1,    98,   167,   185,   201,   281,   282,   283,   284,
2003 <     285,   286,   232,   230,   384,     1,    98,   219,   222,   388,
2004 <     389,   390,   391,   392,   123,   123,   123,   229,   108,   108,
2005 <     239,   108,   108,   211,   108,   239,   108,   239,   239,   108,
2006 <     108,   211,   211,   229,   229,   232,   232,   232,   343,   232,
2007 <     232,   232,   232,   232,   232,   232,   232,   232,   232,   232,
2008 <     232,   232,   230,   325,   229,   232,   232,   232,   232,   232,
2009 <     232,   418,   232,   232,   232,   232,   232,   232,   232,   230,
2010 <     408,   232,   232,   230,   435,   123,   229,   232,   232,   230,
2011 <     445,   211,   239,   108,   239,   239,   211,   108,   211,   108,
2012 <     108,   108,   211,   211,   211,   239,   108,   108,   108,   108,
2013 <     239,   108,   108,   108,   108,   211,   232,   211,   232,   211,
2014 <     239,   239,   211,   211,   211,   211,   215,   211,   215,   211,
2015 <     211,   211,   211,   108,   239,   211,   239,   239,   211,   229,
2016 <     229,   232,   232,   369,   232,   232,   232,   232,   232,   230,
2017 <     363,   232,   232,   230,   429,   229,   232,   232,   349,   232,
2018 <     230,   353,   123,   123,   229,   229,   232,   232,   230,   276,
2019 <     229,   232,   232,   319,   232,   232,   232,   232,   232,   315,
2020 <     232,   232,   230,   304,   229,   232,   232,   232,   230,   378,
2021 <     211,   211,   211,   123,   211,   211,   211,   239,   229,   108,
2022 <     123,   211,   123,   108,   108,   123,   123,   123,   123,   123,
2023 <     123,   123,   123,   123,   123,   123,   229,   229,   232,   402,
2024 <     230,   399,   211,   229,   231,   229,   232,   232,   232,   232,
2025 <     230,   282,   123,   229,   229,   232,   393,   232,   230,   389,
2026 <     229,   229,   229,   229,   135,   136,   137,   138,   139,   140,
2027 <     141,   238,   239,   229,   229,   229,   229,   229,   229,   229,
2028 <     229,   229,   229,   229,   229,   229,   108,   108,   239,   232,
2029 <     108,   108,   108,   239,   108,   108,   239,   123,   108,   108,
2030 <     239,   108,   241,   241,   229,   123,   178,   179,   123,   211,
2031 <     123,   123,   232,   123,   123,   108,   123,   123,   123,   123,
2032 <     229,   123,   123,   229,   229,   123,   123,   229,   229,   229,
2033 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2034 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2035 <     229,   229,   229,    46,   164,   165,   166,   169,   170,   172,
2036 <     173,   175,   177,   180,   182,   183,   188,   192,   196,   197,
2037 <     198,   203,   208,   498,   499,   229,    46,    48,    49,   164,
2038 <     165,   166,   169,   170,   172,   173,   175,   177,   180,   182,
2039 <     183,   188,   192,   196,   197,   198,   203,   208,   494,   495,
2040 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2041 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2042 <     123,   211,   232,   123,   108,   123,   123,   123,   229,   123,
2043 <     123,   229,   123,   123,   232,   108,   356,   357,   229,   229,
2044 <     229,   123,   123,   229,   123,   211,   232,   123,   123,   123,
2045 <     123,   211,   232,   123,   123,   229,   123,   123,   123,   229,
2046 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2047 <     229,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2048 <     229,   229,   229,   229,   229,   123,   232,   229,   229,     1,
2049 <      98,   195,   219,   293,   294,   295,   296,   297,   123,   123,
2050 <     123,   123,   229,   229,   123,   232,   123,   229,   238,   238,
2051 <     238,   238,   238,   238,   238,   229,   229,   229,    50,   124,
2052 <     344,   345,   229,   229,   229,   229,   229,   229,   229,   229,
2053 <     229,   229,   229,    11,    12,    13,   240,   241,   229,   229,
2054 <     229,   229,   229,   229,   229,   229,   229,     8,   199,   419,
2055 <     420,   229,   229,   229,   229,   229,   229,   229,   229,   229,
2056 <     229,   229,   229,   233,   229,   233,   229,   229,    15,    40,
2057 <      68,    99,   100,   107,   132,   148,   210,   228,   370,   371,
2058 <     229,   229,   229,   229,   229,   229,   229,   229,   229,    46,
2059 <     190,   199,   350,   351,   218,   233,   355,   229,   229,   229,
2060 <     229,     4,    20,    31,    65,    67,    95,   128,   130,   149,
2061 <     171,   176,   180,   184,   189,   193,   204,   207,   209,   220,
2062 <     227,   320,   321,   229,   229,   229,   229,   229,    46,    48,
2063 <      49,   164,   165,   166,   169,   170,   172,   173,   175,   177,
2064 <     180,   182,   183,   188,   192,   196,   197,   198,   203,   208,
2065 <     316,   317,   229,   229,   229,   229,   229,   229,    67,   131,
2066 <     163,   171,   180,   204,   206,   207,   220,   227,   403,   404,
2067 <     229,   232,   232,   298,   230,   294,   229,   229,   229,   229,
2068 <     229,    67,   131,   163,   171,   180,   204,   206,   207,   220,
2069 <     227,   394,   395,   229,   229,   233,   240,   240,   240,   229,
2070 <     233,   499,   495,   229,   233,   229,   233,   108,   357,   229,
2071 <     234,   234,   234,   229,   233,   229,   233,   229,   233,   123,
2072 <     205,   241,   232,   229,   229,   233,   345,   420,   371,   351,
2073 <     129,   129,   129,   321,   317,   404,   229,   229,   229,    65,
2074 <      67,   114,   131,   170,   171,   222,   227,   299,   300,   395,
2075 <     229,   233,   300
1944 >       0,   242,     0,     1,     4,    16,    20,    22,    29,    41,
1945 >      46,    47,    65,    69,    82,   104,   105,   119,   136,   148,
1946 >     149,   173,   186,   191,   196,   199,   243,   248,   253,   279,
1947 >     285,   291,   299,   313,   333,   357,   371,   386,   393,   397,
1948 >     407,   416,   437,   443,   449,   453,   459,   514,   528,   235,
1949 >     236,   237,   237,   334,   417,   444,   237,   454,   237,   372,
1950 >     438,   358,   237,   286,   314,   387,   237,   237,   408,   237,
1951 >     292,   237,   398,     1,    30,    38,   106,   280,   281,   282,
1952 >     283,   284,     1,    26,    27,    33,    61,    62,    63,    75,
1953 >      76,    77,    85,    86,   515,   516,   517,   518,   519,   520,
1954 >     521,   522,   523,   524,   525,   526,   527,   237,   237,   237,
1955 >       1,    64,   450,   451,   452,   237,     1,     6,     7,     9,
1956 >      10,    14,    24,    25,    32,    35,    36,    37,    42,    59,
1957 >      60,    70,    73,    74,    84,    91,    93,    95,    97,   100,
1958 >     101,   112,   117,   118,   120,   121,   122,   125,   150,   161,
1959 >     162,   163,   164,   165,   166,   167,   217,   218,   219,   221,
1960 >     222,   230,   232,   460,   461,   462,   463,   464,   465,   466,
1961 >     467,   468,   469,   470,   471,   472,   473,   474,   475,   476,
1962 >     477,   478,   479,   480,   481,   482,   483,   484,   485,   486,
1963 >     487,   488,   489,   490,   491,   492,   493,   494,   495,   496,
1964 >     497,   498,   499,   500,   501,   502,   503,   507,   511,   512,
1965 >     513,   237,   237,   237,     1,   103,   124,   249,   250,   251,
1966 >     252,   237,   237,   237,     1,    34,    43,    44,    45,    48,
1967 >      49,    53,    54,    55,   529,   530,   531,   532,   533,   534,
1968 >     535,   536,   537,   538,   539,     1,    28,    30,    57,    67,
1969 >      79,    80,    81,    92,    96,   106,   109,   110,   138,   154,
1970 >     157,   158,   159,   205,   228,   229,   254,   255,   256,   257,
1971 >     258,   259,   260,   261,   262,   266,   267,   268,   269,   270,
1972 >     271,   272,   273,   274,   275,   276,   277,   278,   237,     1,
1973 >     226,   300,   301,   302,   303,   304,   237,     1,   106,   394,
1974 >     395,   396,   237,   235,   238,   238,   238,   236,   281,   238,
1975 >     238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1976 >     236,   516,     1,    18,    19,    23,    66,    86,    87,    88,
1977 >      89,    90,    94,    99,   106,   115,   116,   126,   147,   192,
1978 >     335,   336,   337,   338,   339,   340,   341,   342,   343,   344,
1979 >     345,   346,   347,   348,   349,   350,   351,   352,   353,     1,
1980 >       3,     5,    20,    39,    56,    58,    66,    78,   106,   127,
1981 >     146,   155,   205,   228,   418,   419,   420,   421,   422,   423,
1982 >     424,   425,   426,   427,   428,   432,   433,   434,   435,   436,
1983 >       1,    64,   130,   445,   446,   447,   448,   238,   236,   451,
1984 >       1,   106,   130,   455,   456,   457,   458,   238,   238,   238,
1985 >     238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1986 >     238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1987 >     238,   238,   508,   504,   238,   238,   238,   238,   238,   238,
1988 >     238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
1989 >     238,   238,   238,   236,   461,     1,    20,    39,    66,   123,
1990 >     131,   132,   151,   227,   373,   374,   375,   376,   377,   378,
1991 >     379,   383,   384,   385,     1,   130,   227,   439,   440,   441,
1992 >     442,     1,    56,    64,    66,   127,   359,   363,   364,   365,
1993 >     369,   370,   235,   238,   238,   236,   250,     1,    83,   179,
1994 >     287,   288,   289,   290,     1,    20,    39,    66,   106,   123,
1995 >     155,   156,   207,   227,   231,   315,   316,   317,   318,   319,
1996 >     320,   321,   322,   323,   324,   325,   329,     1,    41,    83,
1997 >     130,   388,   389,   390,   391,   392,   238,   238,   238,   238,
1998 >     238,   238,   238,   238,   238,   236,   530,   235,   238,   238,
1999 >     238,   238,   263,   238,   238,   238,   238,   238,   238,   238,
2000 >     238,   238,   238,   238,   238,   238,   238,   238,   236,   255,
2001 >       1,   106,   224,   409,   410,   411,   412,   235,   238,   236,
2002 >     301,   179,     1,   106,   172,   190,   206,   293,   294,   295,
2003 >     296,   297,   298,   238,   236,   395,     1,   106,   224,   227,
2004 >     399,   400,   401,   402,   403,   128,   128,   128,   235,   114,
2005 >     114,   245,   216,   114,   245,   245,   114,   245,   245,   114,
2006 >     114,   235,   235,   238,   238,   238,   354,   238,   238,   238,
2007 >     238,   238,   238,   238,   238,   238,   238,   238,   238,   238,
2008 >     236,   336,   235,   238,   238,   238,   238,   238,   238,   429,
2009 >     238,   238,   238,   238,   238,   238,   238,   236,   419,   238,
2010 >     238,   236,   446,   128,   235,   238,   238,   236,   456,   216,
2011 >     245,   114,   245,   245,   216,   114,   216,   114,   114,   114,
2012 >     216,   216,   216,   245,   114,   114,   114,   114,   245,   114,
2013 >     114,   114,   114,   216,   238,   238,   216,   245,   245,   216,
2014 >     216,   216,   216,   220,   216,   220,   216,   216,   216,   216,
2015 >     114,   245,   216,   245,   245,   216,   114,   235,   235,   238,
2016 >     238,   380,   238,   238,   238,   238,   238,   236,   374,   238,
2017 >     238,   236,   440,   235,   238,   238,   360,   238,   236,   364,
2018 >     128,   128,   235,   235,   238,   238,   236,   288,   235,   238,
2019 >     238,   330,   238,   238,   238,   238,   326,   238,   238,   236,
2020 >     316,   235,   238,   238,   238,   236,   389,   216,   216,   245,
2021 >     128,   216,   128,   216,   216,   216,   235,   114,   128,   216,
2022 >     128,   238,   128,   128,   114,   114,   128,   128,   128,   128,
2023 >     128,   128,   128,   128,   128,   128,   128,   235,   235,   238,
2024 >     413,   236,   410,   216,   235,   237,   235,   238,   238,   238,
2025 >     238,   236,   294,   128,   235,   235,   238,   404,   238,   236,
2026 >     400,   235,   235,   235,   235,   139,   140,   141,   142,   143,
2027 >     144,   145,   244,   245,   235,   235,   235,   235,   235,   235,
2028 >     235,   235,   235,   235,   114,   114,   245,   238,   114,   114,
2029 >     114,   245,   114,   114,   245,   128,   114,   114,   245,   114,
2030 >     247,   247,   235,   128,   183,   184,   128,   216,   128,   128,
2031 >     238,   128,   128,   114,   128,   128,   128,   128,   235,   128,
2032 >     128,   235,   235,   128,   128,   235,   235,   235,   235,   235,
2033 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2034 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2035 >     235,    48,   169,   170,   171,   174,   175,   177,   178,   180,
2036 >     182,   185,   187,   188,   193,   197,   201,   202,   203,   208,
2037 >     213,   509,   510,    48,    50,    51,   169,   170,   171,   174,
2038 >     175,   177,   178,   180,   182,   185,   187,   188,   193,   197,
2039 >     201,   202,   203,   208,   213,   505,   506,   235,   235,   235,
2040 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2041 >     235,   235,   235,   235,   235,   235,   235,   235,   128,   216,
2042 >     238,   128,   114,   128,   128,   128,   235,   128,   128,   235,
2043 >     128,   128,   238,   114,   367,   368,   235,   235,   235,   128,
2044 >     128,   235,   128,   216,   238,   128,   128,   128,   216,   238,
2045 >     128,   128,   235,   128,   128,   128,   235,   235,   235,   235,
2046 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2047 >      17,    98,   102,   160,   264,   265,   235,   235,   235,   235,
2048 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   235,
2049 >     235,   128,   238,   235,   235,     1,   106,   200,   224,   305,
2050 >     306,   307,   308,   309,   128,   128,   128,   128,   235,   235,
2051 >     128,   238,   128,   235,   244,   244,   244,   244,   244,   244,
2052 >     244,   235,   235,   235,    52,   129,   355,   356,   235,   235,
2053 >     235,   235,   235,   235,   235,   235,   235,   235,   235,    11,
2054 >      12,    13,   246,   247,   235,   235,   235,   235,   235,   235,
2055 >     235,   235,   235,     8,   204,   430,   431,   235,   235,   235,
2056 >     235,   235,   235,   235,   235,   235,   235,   235,   235,   239,
2057 >     235,   239,   235,   235,    15,    40,    72,   107,   108,   113,
2058 >     137,   152,   215,   234,   381,   382,   235,   235,   235,   235,
2059 >     235,   235,   235,   235,   235,    48,   195,   204,   361,   362,
2060 >     223,   239,   366,   235,   235,   235,   235,     4,    21,    22,
2061 >      31,    68,    69,    71,   103,   111,   133,   135,   136,   153,
2062 >     176,   181,   185,   189,   194,   198,   209,   211,   212,   214,
2063 >     225,   233,   331,   332,   235,   235,   235,   235,    48,    50,
2064 >      51,   169,   170,   171,   174,   175,   177,   178,   180,   182,
2065 >     185,   187,   188,   193,   197,   201,   202,   203,   208,   213,
2066 >     327,   328,   235,   235,   235,   235,   235,   235,   239,   235,
2067 >      71,   136,   168,   176,   185,   209,   211,   212,   225,   233,
2068 >     414,   415,   235,   238,   238,   310,   236,   306,   235,   235,
2069 >     235,   235,   235,    71,   136,   168,   176,   185,   209,   211,
2070 >     212,   225,   233,   405,   406,   235,   235,   239,   246,   246,
2071 >     246,   235,   239,   510,   506,   235,   239,   235,   239,   114,
2072 >     368,   235,   240,   240,   240,   240,   240,   240,   235,   239,
2073 >     235,   239,   265,   235,   239,   128,   210,   247,   238,   235,
2074 >     235,   239,   356,   431,   382,   362,   134,   136,   134,   136,
2075 >     134,   134,   332,   328,   415,   235,   235,   235,    69,    71,
2076 >     119,   136,   175,   176,   227,   233,   311,   312,   406,   235,
2077 >     239,   312
2078   };
2079  
2080    /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
2081   static const yytype_uint16 yyr1[] =
2082   {
2083 <       0,   235,   236,   236,   237,   237,   237,   237,   237,   237,
2084 <     237,   237,   237,   237,   237,   237,   237,   237,   237,   237,
2085 <     237,   237,   237,   237,   237,   237,   237,   237,   238,   238,
2086 <     239,   239,   239,   239,   239,   239,   239,   239,   240,   240,
2087 <     241,   241,   241,   241,   242,   243,   243,   244,   244,   244,
2088 <     245,   246,   247,   248,   248,   249,   249,   249,   249,   249,
2089 <     249,   249,   249,   249,   249,   249,   249,   249,   249,   249,
2090 <     249,   249,   249,   250,   251,   252,   253,   254,   255,   256,
2091 <     257,   258,   259,   260,   261,   262,   263,   264,   265,   266,
2092 <     267,   268,   268,   269,   269,   269,   269,   270,   271,   272,
2093 <     274,   273,   275,   275,   276,   276,   276,   277,   278,   280,
2094 <     279,   281,   281,   282,   282,   282,   282,   282,   283,   284,
2095 <     285,   286,   287,   288,   288,   289,   289,   289,   290,   292,
2096 <     291,   293,   293,   294,   294,   294,   294,   295,   296,   296,
2097 <     298,   297,   299,   299,   300,   300,   300,   300,   300,   300,
2098 <     300,   300,   302,   301,   303,   303,   304,   304,   304,   304,
2099 <     304,   304,   304,   304,   304,   304,   304,   304,   305,   306,
2100 <     307,   308,   309,   310,   311,   312,   313,   315,   314,   316,
2101 <     316,   317,   317,   317,   317,   317,   317,   317,   317,   317,
2102 <     317,   317,   317,   317,   317,   317,   317,   317,   317,   317,
2103 <     317,   317,   317,   319,   318,   320,   320,   321,   321,   321,
2104 <     321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
2105 <     321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
2106 <     323,   322,   324,   324,   325,   325,   325,   325,   325,   325,
2107 <     325,   325,   325,   325,   325,   325,   325,   325,   325,   325,
2108 <     325,   325,   326,   327,   328,   329,   330,   331,   332,   333,
2109 <     334,   335,   336,   337,   338,   339,   340,   341,   343,   342,
2110 <     344,   344,   345,   345,   347,   346,   349,   348,   350,   350,
2111 <     351,   351,   351,   352,   352,   353,   353,   353,   353,   353,
2112 <     355,   354,   356,   356,   357,   357,   358,   359,   361,   360,
2113 <     362,   362,   363,   363,   363,   363,   363,   363,   363,   363,
2114 <     363,   364,   365,   366,   367,   369,   368,   370,   370,   371,
2115 <     371,   371,   371,   371,   371,   371,   371,   371,   371,   372,
2116 <     373,   374,   376,   375,   377,   377,   378,   378,   378,   378,
2117 <     379,   380,   381,   382,   383,   383,   384,   384,   385,   387,
2118 <     386,   388,   388,   389,   389,   389,   389,   390,   391,   393,
2119 <     392,   394,   394,   395,   395,   395,   395,   395,   395,   395,
2120 <     395,   395,   395,   397,   396,   398,   398,   399,   399,   399,
2121 <     400,   402,   401,   403,   403,   404,   404,   404,   404,   404,
2122 <     404,   404,   404,   404,   404,   406,   405,   407,   407,   408,
2123 <     408,   408,   408,   408,   408,   408,   408,   408,   408,   408,
2124 <     408,   408,   408,   408,   409,   410,   411,   412,   413,   414,
2125 <     415,   416,   416,   418,   417,   419,   419,   420,   420,   421,
2126 <     422,   423,   424,   425,   427,   426,   428,   428,   429,   429,
2127 <     429,   430,   431,   433,   432,   434,   434,   435,   435,   435,
2128 <     436,   437,   438,   439,   439,   440,   440,   441,   443,   442,
2129 <     444,   444,   445,   445,   445,   446,   447,   448,   449,   449,
2130 <     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2131 <     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2132 <     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2133 <     450,   450,   450,   450,   450,   450,   450,   450,   450,   450,
2134 <     450,   450,   450,   450,   450,   450,   450,   451,   452,   453,
2135 <     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2136 <     464,   465,   466,   467,   468,   469,   470,   471,   472,   473,
2137 <     474,   475,   476,   477,   477,   478,   478,   479,   480,   481,
2138 <     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
2139 <     493,   492,   494,   494,   495,   495,   495,   495,   495,   495,
2140 <     495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
2141 <     495,   495,   495,   495,   495,   495,   497,   496,   498,   498,
2142 <     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
2143 <     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
2144 <     500,   501,   502,   503,   504,   504,   505,   505,   505,   505,
2145 <     505,   505,   505,   505,   505,   505,   505,   505,   505,   505,
2146 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
2147 <     515,   516,   517,   518,   519,   520,   521,   521,   522,   522,
2148 <     522,   522,   522,   522,   522,   522,   522,   523,   524,   525,
2149 <     526,   527,   528,   529,   530
2083 >       0,   241,   242,   242,   243,   243,   243,   243,   243,   243,
2084 >     243,   243,   243,   243,   243,   243,   243,   243,   243,   243,
2085 >     243,   243,   243,   243,   243,   243,   243,   243,   244,   244,
2086 >     245,   245,   245,   245,   245,   245,   245,   245,   246,   246,
2087 >     247,   247,   247,   247,   248,   249,   249,   250,   250,   250,
2088 >     251,   252,   253,   254,   254,   255,   255,   255,   255,   255,
2089 >     255,   255,   255,   255,   255,   255,   255,   255,   255,   255,
2090 >     255,   255,   255,   255,   255,   255,   256,   257,   258,   259,
2091 >     260,   261,   263,   262,   264,   264,   265,   265,   265,   265,
2092 >     266,   267,   268,   269,   270,   271,   272,   273,   274,   275,
2093 >     276,   277,   278,   279,   280,   280,   281,   281,   281,   281,
2094 >     282,   283,   284,   286,   285,   287,   287,   288,   288,   288,
2095 >     289,   290,   292,   291,   293,   293,   294,   294,   294,   294,
2096 >     294,   295,   296,   297,   298,   299,   300,   300,   301,   301,
2097 >     301,   302,   304,   303,   305,   305,   306,   306,   306,   306,
2098 >     307,   308,   308,   310,   309,   311,   311,   312,   312,   312,
2099 >     312,   312,   312,   312,   312,   314,   313,   315,   315,   316,
2100 >     316,   316,   316,   316,   316,   316,   316,   316,   316,   316,
2101 >     317,   318,   319,   320,   321,   322,   323,   324,   326,   325,
2102 >     327,   327,   328,   328,   328,   328,   328,   328,   328,   328,
2103 >     328,   328,   328,   328,   328,   328,   328,   328,   328,   328,
2104 >     328,   328,   328,   328,   330,   329,   331,   331,   332,   332,
2105 >     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
2106 >     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
2107 >     332,   332,   332,   332,   332,   332,   332,   334,   333,   335,
2108 >     335,   336,   336,   336,   336,   336,   336,   336,   336,   336,
2109 >     336,   336,   336,   336,   336,   336,   336,   336,   336,   337,
2110 >     338,   339,   340,   341,   342,   343,   344,   345,   346,   347,
2111 >     348,   349,   350,   351,   352,   354,   353,   355,   355,   356,
2112 >     356,   358,   357,   360,   359,   361,   361,   362,   362,   362,
2113 >     363,   363,   364,   364,   364,   364,   364,   366,   365,   367,
2114 >     367,   368,   368,   369,   370,   372,   371,   373,   373,   374,
2115 >     374,   374,   374,   374,   374,   374,   374,   374,   375,   376,
2116 >     377,   378,   380,   379,   381,   381,   382,   382,   382,   382,
2117 >     382,   382,   382,   382,   382,   382,   383,   384,   385,   387,
2118 >     386,   388,   388,   389,   389,   389,   389,   390,   391,   392,
2119 >     393,   394,   394,   395,   395,   396,   398,   397,   399,   399,
2120 >     400,   400,   400,   400,   401,   402,   404,   403,   405,   405,
2121 >     406,   406,   406,   406,   406,   406,   406,   406,   406,   406,
2122 >     408,   407,   409,   409,   410,   410,   410,   411,   413,   412,
2123 >     414,   414,   415,   415,   415,   415,   415,   415,   415,   415,
2124 >     415,   415,   417,   416,   418,   418,   419,   419,   419,   419,
2125 >     419,   419,   419,   419,   419,   419,   419,   419,   419,   419,
2126 >     419,   420,   421,   422,   423,   424,   425,   426,   427,   427,
2127 >     429,   428,   430,   430,   431,   431,   432,   433,   434,   435,
2128 >     436,   438,   437,   439,   439,   440,   440,   440,   441,   442,
2129 >     444,   443,   445,   445,   446,   446,   446,   447,   448,   449,
2130 >     450,   450,   451,   451,   452,   454,   453,   455,   455,   456,
2131 >     456,   456,   457,   458,   459,   460,   460,   461,   461,   461,
2132 >     461,   461,   461,   461,   461,   461,   461,   461,   461,   461,
2133 >     461,   461,   461,   461,   461,   461,   461,   461,   461,   461,
2134 >     461,   461,   461,   461,   461,   461,   461,   461,   461,   461,
2135 >     461,   461,   461,   461,   461,   461,   461,   461,   461,   461,
2136 >     461,   461,   461,   461,   462,   463,   464,   465,   466,   467,
2137 >     468,   469,   470,   471,   472,   473,   474,   475,   476,   477,
2138 >     478,   479,   480,   481,   482,   483,   484,   485,   486,   487,
2139 >     488,   489,   489,   490,   490,   491,   492,   493,   494,   495,
2140 >     496,   497,   498,   499,   500,   501,   502,   504,   503,   505,
2141 >     505,   506,   506,   506,   506,   506,   506,   506,   506,   506,
2142 >     506,   506,   506,   506,   506,   506,   506,   506,   506,   506,
2143 >     506,   506,   506,   508,   507,   509,   509,   510,   510,   510,
2144 >     510,   510,   510,   510,   510,   510,   510,   510,   510,   510,
2145 >     510,   510,   510,   510,   510,   510,   510,   511,   512,   513,
2146 >     514,   515,   515,   516,   516,   516,   516,   516,   516,   516,
2147 >     516,   516,   516,   516,   516,   517,   518,   519,   520,   521,
2148 >     522,   523,   524,   525,   526,   527,   528,   529,   529,   530,
2149 >     530,   530,   530,   530,   530,   530,   530,   530,   530,   531,
2150 >     532,   533,   534,   535,   536,   537,   538,   539
2151   };
2152  
2153    /* YYR2[YYN] -- Number of symbols on the right hand side of rule YYN.  */
# Line 2144 | Line 2160 | static const yytype_uint8 yyr2[] =
2160         2,     3,     3,     3,     5,     2,     1,     1,     1,     2,
2161         4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
2162         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2163 <       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
2163 >       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
2164 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2165         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2166 <       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2167 <       0,     6,     2,     1,     1,     1,     2,     4,     4,     0,
2168 <       6,     2,     1,     1,     1,     1,     1,     2,     4,     4,
2169 <       4,     4,     5,     2,     1,     1,     1,     2,     4,     0,
2170 <       6,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2171 <       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2172 <       1,     1,     0,     6,     2,     1,     1,     1,     1,     1,
2173 <       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
2174 <       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
2175 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2166 >       4,     4,     4,     5,     2,     1,     1,     1,     1,     2,
2167 >       4,     4,     4,     0,     6,     2,     1,     1,     1,     2,
2168 >       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
2169 >       2,     4,     4,     4,     4,     5,     2,     1,     1,     1,
2170 >       2,     4,     0,     6,     2,     1,     1,     1,     1,     2,
2171 >       4,     4,     4,     0,     5,     3,     1,     1,     1,     1,
2172 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2173 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
2174 >       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2175 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2176         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2177 <       1,     1,     1,     0,     5,     3,     1,     3,     1,     3,
2178 <       1,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2177 >       1,     1,     1,     1,     0,     5,     3,     1,     3,     1,
2178 >       3,     1,     3,     1,     1,     1,     1,     1,     1,     1,
2179 >       1,     1,     3,     1,     1,     1,     1,     1,     1,     1,
2180 >       1,     1,     3,     3,     1,     1,     1,     0,     6,     2,
2181         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2182 <       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
2182 >       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
2183 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2184 >       4,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2185 >       1,     0,     6,     0,     5,     3,     1,     1,     1,     1,
2186 >       2,     1,     1,     1,     1,     1,     2,     0,     5,     3,
2187 >       1,     1,     3,     4,     4,     0,     6,     2,     1,     1,
2188 >       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
2189 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
2190 >       1,     1,     1,     1,     1,     1,     4,     4,     4,     0,
2191 >       6,     2,     1,     1,     1,     1,     2,     4,     4,     4,
2192 >       5,     2,     1,     1,     1,     4,     0,     6,     2,     1,
2193 >       1,     1,     1,     2,     4,     4,     0,     5,     3,     1,
2194         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2195 <       1,     2,     4,     4,     4,     4,     4,     4,     4,     4,
2196 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
2197 <       3,     1,     1,     1,     0,     6,     0,     5,     3,     1,
2168 <       1,     1,     1,     2,     1,     1,     1,     1,     1,     2,
2169 <       0,     5,     3,     1,     1,     3,     4,     4,     0,     6,
2170 <       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2171 <       2,     4,     4,     4,     4,     0,     5,     3,     1,     1,
2172 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2173 <       4,     4,     0,     6,     2,     1,     1,     1,     1,     2,
2174 <       4,     4,     4,     5,     2,     1,     1,     1,     4,     0,
2175 <       6,     2,     1,     1,     1,     1,     2,     4,     4,     0,
2176 <       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
2177 <       1,     1,     1,     0,     6,     2,     1,     1,     1,     2,
2178 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
2179 <       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
2195 >       0,     6,     2,     1,     1,     1,     2,     4,     0,     5,
2196 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2197 >       1,     1,     0,     6,     2,     1,     1,     1,     1,     1,
2198         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2199 <       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
2200 <       4,     4,     4,     0,     5,     3,     1,     1,     1,     4,
2201 <       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
2202 <       1,     4,     4,     0,     6,     2,     1,     1,     1,     1,
2203 <       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
2204 <       2,     1,     1,     1,     1,     4,     4,     5,     2,     1,
2199 >       2,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2200 >       0,     5,     3,     1,     1,     1,     4,     4,     4,     4,
2201 >       4,     0,     6,     2,     1,     1,     1,     1,     4,     4,
2202 >       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
2203 >       2,     1,     1,     1,     4,     0,     6,     2,     1,     1,
2204 >       1,     1,     4,     4,     5,     2,     1,     1,     1,     1,
2205         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2206         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2207         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2208         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2209 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
2209 >       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
2210         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2211         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2212         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2213 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2196 <       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
2197 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2198 <       1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
2213 >       4,     4,     4,     4,     4,     4,     4,     0,     5,     3,
2214         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2215         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2216 <       4,     4,     4,     5,     2,     1,     1,     1,     1,     1,
2216 >       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
2217         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
2203       1,     4,     4,     4,     4,     4,     4,     4,     4,     4,
2204       4,     4,     4,     4,     4,     5,     2,     1,     1,     1,
2218         1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
2219 <       4,     4,     4,     4,     4
2219 >       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
2220 >       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
2221 >       4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
2222 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
2223 >       4,     4,     4,     4,     4,     4,     4,     4
2224   };
2225  
2226  
# Line 2880 | Line 2897 | yyreduce:
2897    switch (yyn)
2898      {
2899          case 28:
2900 < #line 416 "conf_parser.y" /* yacc.c:1646  */
2900 > #line 411 "conf_parser.y" /* yacc.c:1646  */
2901      { (yyval.number) = 0; }
2902 < #line 2886 "conf_parser.c" /* yacc.c:1646  */
2902 > #line 2903 "conf_parser.c" /* yacc.c:1646  */
2903      break;
2904  
2905    case 30:
2906 < #line 417 "conf_parser.y" /* yacc.c:1646  */
2906 > #line 412 "conf_parser.y" /* yacc.c:1646  */
2907      { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2908 < #line 2892 "conf_parser.c" /* yacc.c:1646  */
2908 > #line 2909 "conf_parser.c" /* yacc.c:1646  */
2909      break;
2910  
2911    case 31:
2912 < #line 418 "conf_parser.y" /* yacc.c:1646  */
2912 > #line 413 "conf_parser.y" /* yacc.c:1646  */
2913      { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2914 < #line 2898 "conf_parser.c" /* yacc.c:1646  */
2914 > #line 2915 "conf_parser.c" /* yacc.c:1646  */
2915      break;
2916  
2917    case 32:
2918 < #line 419 "conf_parser.y" /* yacc.c:1646  */
2918 > #line 414 "conf_parser.y" /* yacc.c:1646  */
2919      { (yyval.number) = (yyvsp[-2].number) * 60 + (yyvsp[0].number); }
2920 < #line 2904 "conf_parser.c" /* yacc.c:1646  */
2920 > #line 2921 "conf_parser.c" /* yacc.c:1646  */
2921      break;
2922  
2923    case 33:
2924 < #line 420 "conf_parser.y" /* yacc.c:1646  */
2924 > #line 415 "conf_parser.y" /* yacc.c:1646  */
2925      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 + (yyvsp[0].number); }
2926 < #line 2910 "conf_parser.c" /* yacc.c:1646  */
2926 > #line 2927 "conf_parser.c" /* yacc.c:1646  */
2927      break;
2928  
2929    case 34:
2930 < #line 421 "conf_parser.y" /* yacc.c:1646  */
2930 > #line 416 "conf_parser.y" /* yacc.c:1646  */
2931      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 + (yyvsp[0].number); }
2932 < #line 2916 "conf_parser.c" /* yacc.c:1646  */
2932 > #line 2933 "conf_parser.c" /* yacc.c:1646  */
2933      break;
2934  
2935    case 35:
2936 < #line 422 "conf_parser.y" /* yacc.c:1646  */
2936 > #line 417 "conf_parser.y" /* yacc.c:1646  */
2937      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 + (yyvsp[0].number); }
2938 < #line 2922 "conf_parser.c" /* yacc.c:1646  */
2938 > #line 2939 "conf_parser.c" /* yacc.c:1646  */
2939      break;
2940  
2941    case 36:
2942 < #line 423 "conf_parser.y" /* yacc.c:1646  */
2942 > #line 418 "conf_parser.y" /* yacc.c:1646  */
2943      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 7 * 4 + (yyvsp[0].number); }
2944 < #line 2928 "conf_parser.c" /* yacc.c:1646  */
2944 > #line 2945 "conf_parser.c" /* yacc.c:1646  */
2945      break;
2946  
2947    case 37:
2948 < #line 424 "conf_parser.y" /* yacc.c:1646  */
2948 > #line 419 "conf_parser.y" /* yacc.c:1646  */
2949      { (yyval.number) = (yyvsp[-2].number) * 60 * 60 * 24 * 365 + (yyvsp[0].number); }
2950 < #line 2934 "conf_parser.c" /* yacc.c:1646  */
2950 > #line 2951 "conf_parser.c" /* yacc.c:1646  */
2951      break;
2952  
2953    case 38:
2954 < #line 427 "conf_parser.y" /* yacc.c:1646  */
2954 > #line 422 "conf_parser.y" /* yacc.c:1646  */
2955      { (yyval.number) = 0; }
2956 < #line 2940 "conf_parser.c" /* yacc.c:1646  */
2956 > #line 2957 "conf_parser.c" /* yacc.c:1646  */
2957      break;
2958  
2959    case 40:
2960 < #line 428 "conf_parser.y" /* yacc.c:1646  */
2960 > #line 423 "conf_parser.y" /* yacc.c:1646  */
2961      { (yyval.number) = (yyvsp[-1].number) + (yyvsp[0].number); }
2962 < #line 2946 "conf_parser.c" /* yacc.c:1646  */
2962 > #line 2963 "conf_parser.c" /* yacc.c:1646  */
2963      break;
2964  
2965    case 41:
2966 < #line 429 "conf_parser.y" /* yacc.c:1646  */
2966 > #line 424 "conf_parser.y" /* yacc.c:1646  */
2967      { (yyval.number) = (yyvsp[-2].number) + (yyvsp[0].number); }
2968 < #line 2952 "conf_parser.c" /* yacc.c:1646  */
2968 > #line 2969 "conf_parser.c" /* yacc.c:1646  */
2969      break;
2970  
2971    case 42:
2972 < #line 430 "conf_parser.y" /* yacc.c:1646  */
2972 > #line 425 "conf_parser.y" /* yacc.c:1646  */
2973      { (yyval.number) = (yyvsp[-2].number) * 1024 + (yyvsp[0].number); }
2974 < #line 2958 "conf_parser.c" /* yacc.c:1646  */
2974 > #line 2975 "conf_parser.c" /* yacc.c:1646  */
2975      break;
2976  
2977    case 43:
2978 < #line 431 "conf_parser.y" /* yacc.c:1646  */
2978 > #line 426 "conf_parser.y" /* yacc.c:1646  */
2979      { (yyval.number) = (yyvsp[-2].number) * 1024 * 1024 + (yyvsp[0].number); }
2980 < #line 2964 "conf_parser.c" /* yacc.c:1646  */
2980 > #line 2981 "conf_parser.c" /* yacc.c:1646  */
2981      break;
2982  
2983    case 50:
2984 < #line 445 "conf_parser.y" /* yacc.c:1646  */
2984 > #line 439 "conf_parser.y" /* yacc.c:1646  */
2985      {
2986    if (conf_parser_ctx.pass == 2)
2987      add_conf_module(libio_basename(yylval.string));
2988   }
2989 < #line 2973 "conf_parser.c" /* yacc.c:1646  */
2989 > #line 2990 "conf_parser.c" /* yacc.c:1646  */
2990      break;
2991  
2992    case 51:
2993 < #line 451 "conf_parser.y" /* yacc.c:1646  */
2993 > #line 445 "conf_parser.y" /* yacc.c:1646  */
2994      {
2995    if (conf_parser_ctx.pass == 2)
2996      mod_add_path(yylval.string);
2997   }
2998 < #line 2982 "conf_parser.c" /* yacc.c:1646  */
2998 > #line 2999 "conf_parser.c" /* yacc.c:1646  */
2999      break;
3000  
3001 <  case 73:
3001 >  case 76:
3002   #line 481 "conf_parser.y" /* yacc.c:1646  */
3003      {
2987 #ifdef HAVE_LIBCRYPTO
3004    if (conf_parser_ctx.pass == 2)
3005    {
3006 <    if (!ConfigServerInfo.rsa_private_key_file)
3007 <    {
2992 <      conf_error_report("No rsa_private_key_file specified, SSL disabled");
2993 <      break;
2994 <    }
2995 <
2996 <    if (SSL_CTX_use_certificate_chain_file(ConfigServerInfo.server_ctx, yylval.string) <= 0 ||
2997 <        SSL_CTX_use_certificate_chain_file(ConfigServerInfo.client_ctx, yylval.string) <= 0)
2998 <    {
2999 <      report_crypto_errors();
3000 <      conf_error_report("Could not open/read certificate file");
3001 <      break;
3002 <    }
3003 <
3004 <    if (SSL_CTX_use_PrivateKey_file(ConfigServerInfo.server_ctx, ConfigServerInfo.rsa_private_key_file,
3005 <                                    SSL_FILETYPE_PEM) <= 0 ||
3006 <        SSL_CTX_use_PrivateKey_file(ConfigServerInfo.client_ctx, ConfigServerInfo.rsa_private_key_file,
3007 <                                    SSL_FILETYPE_PEM) <= 0)
3008 <    {
3009 <      report_crypto_errors();
3010 <      conf_error_report("Could not read RSA private key");
3011 <      break;
3012 <    }
3013 <
3014 <    if (!SSL_CTX_check_private_key(ConfigServerInfo.server_ctx) ||
3015 <        !SSL_CTX_check_private_key(ConfigServerInfo.client_ctx))
3016 <    {
3017 <      report_crypto_errors();
3018 <      conf_error_report("Could not read RSA private key");
3019 <      break;
3020 <    }
3006 >    xfree(ConfigServerInfo.ssl_certificate_file);
3007 >    ConfigServerInfo.ssl_certificate_file = xstrdup(yylval.string);
3008    }
3022 #endif
3009   }
3010 < #line 3025 "conf_parser.c" /* yacc.c:1646  */
3010 > #line 3011 "conf_parser.c" /* yacc.c:1646  */
3011      break;
3012  
3013 <  case 74:
3014 < #line 521 "conf_parser.y" /* yacc.c:1646  */
3013 >  case 77:
3014 > #line 490 "conf_parser.y" /* yacc.c:1646  */
3015      {
3016 < #ifdef HAVE_LIBCRYPTO
3031 <  BIO *file = NULL;
3032 <
3033 <  if (conf_parser_ctx.pass != 1)
3034 <    break;
3035 <
3036 <  if (ConfigServerInfo.rsa_private_key)
3016 >  if (conf_parser_ctx.pass == 2)
3017    {
3018 <    RSA_free(ConfigServerInfo.rsa_private_key);
3019 <    ConfigServerInfo.rsa_private_key = NULL;
3018 >    xfree(ConfigServerInfo.rsa_private_key_file);
3019 >    ConfigServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3020    }
3021 + }
3022 + #line 3023 "conf_parser.c" /* yacc.c:1646  */
3023 +    break;
3024  
3025 <  if (ConfigServerInfo.rsa_private_key_file)
3025 >  case 78:
3026 > #line 499 "conf_parser.y" /* yacc.c:1646  */
3027 >    {
3028 >  if (conf_parser_ctx.pass == 2)
3029    {
3030 <    MyFree(ConfigServerInfo.rsa_private_key_file);
3031 <    ConfigServerInfo.rsa_private_key_file = NULL;
3030 >    xfree(ConfigServerInfo.ssl_dh_param_file);
3031 >    ConfigServerInfo.ssl_dh_param_file = xstrdup(yylval.string);
3032    }
3033 <
3034 <  ConfigServerInfo.rsa_private_key_file = xstrdup(yylval.string);
3049 <
3050 <  if ((file = BIO_new_file(yylval.string, "r")) == NULL)
3051 <  {
3052 <    conf_error_report("File open failed, ignoring");
3033 > }
3034 > #line 3035 "conf_parser.c" /* yacc.c:1646  */
3035      break;
3054  }
3036  
3037 <  ConfigServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3038 <
3039 <  BIO_set_close(file, BIO_CLOSE);
3040 <  BIO_free(file);
3060 <
3061 <  if (ConfigServerInfo.rsa_private_key == NULL)
3037 >  case 79:
3038 > #line 508 "conf_parser.y" /* yacc.c:1646  */
3039 >    {
3040 >  if (conf_parser_ctx.pass == 2)
3041    {
3042 <    conf_error_report("Couldn't extract key, ignoring");
3043 <    break;
3042 >    xfree(ConfigServerInfo.ssl_cipher_list);
3043 >    ConfigServerInfo.ssl_cipher_list = xstrdup(yylval.string);
3044    }
3045 <
3046 <  if (!RSA_check_key(ConfigServerInfo.rsa_private_key))
3068 <  {
3069 <    RSA_free(ConfigServerInfo.rsa_private_key);
3070 <    ConfigServerInfo.rsa_private_key = NULL;
3071 <
3072 <    conf_error_report("Invalid key, ignoring");
3045 > }
3046 > #line 3047 "conf_parser.c" /* yacc.c:1646  */
3047      break;
3074  }
3048  
3049 <  if (RSA_size(ConfigServerInfo.rsa_private_key) < 128)
3049 >  case 80:
3050 > #line 517 "conf_parser.y" /* yacc.c:1646  */
3051 >    {
3052 >  if (conf_parser_ctx.pass == 2)
3053    {
3054 <    RSA_free(ConfigServerInfo.rsa_private_key);
3055 <    ConfigServerInfo.rsa_private_key = NULL;
3080 <
3081 <    conf_error_report("Ignoring serverinfo::rsa_private_key_file -- need at least a 1024 bit key size");
3054 >    xfree(ConfigServerInfo.ssl_message_digest_algorithm);
3055 >    ConfigServerInfo.ssl_message_digest_algorithm = xstrdup(yylval.string);
3056    }
3083 #endif
3057   }
3058 < #line 3086 "conf_parser.c" /* yacc.c:1646  */
3058 > #line 3059 "conf_parser.c" /* yacc.c:1646  */
3059      break;
3060  
3061 <  case 75:
3062 < #line 579 "conf_parser.y" /* yacc.c:1646  */
3061 >  case 81:
3062 > #line 526 "conf_parser.y" /* yacc.c:1646  */
3063      {
3091 #ifdef HAVE_LIBCRYPTO
3064    if (conf_parser_ctx.pass == 2)
3065    {
3066 <    BIO *file = BIO_new_file(yylval.string, "r");
3066 >    xfree(ConfigServerInfo.ssl_dh_elliptic_curve);
3067 >    ConfigServerInfo.ssl_dh_elliptic_curve = xstrdup(yylval.string);
3068 >  }
3069 > }
3070 > #line 3071 "conf_parser.c" /* yacc.c:1646  */
3071 >    break;
3072  
3073 <    if (file)
3073 >  case 82:
3074 > #line 535 "conf_parser.y" /* yacc.c:1646  */
3075      {
3076 <      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3076 >  if (conf_parser_ctx.pass == 1)
3077 >    ConfigServerInfo.libgeoip_database_options = 0;
3078 > }
3079 > #line 3080 "conf_parser.c" /* yacc.c:1646  */
3080 >    break;
3081  
3082 <      BIO_free(file);
3082 >  case 86:
3083 > #line 542 "conf_parser.y" /* yacc.c:1646  */
3084 >    {
3085 > #ifdef HAVE_LIBGEOIP
3086 >  if (conf_parser_ctx.pass == 1)
3087 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_STANDARD;
3088 > #endif
3089 > }
3090 > #line 3091 "conf_parser.c" /* yacc.c:1646  */
3091 >    break;
3092  
3093 <      if (dh)
3094 <      {
3095 <        if (DH_size(dh) < 128)
3096 <          conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3097 <        else
3098 <          SSL_CTX_set_tmp_dh(ConfigServerInfo.server_ctx, dh);
3093 >  case 87:
3094 > #line 548 "conf_parser.y" /* yacc.c:1646  */
3095 >    {
3096 > #ifdef HAVE_LIBGEOIP
3097 >  if (conf_parser_ctx.pass == 1)
3098 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_MEMORY_CACHE;
3099 > #endif
3100 > }
3101 > #line 3102 "conf_parser.c" /* yacc.c:1646  */
3102 >    break;
3103  
3104 <        DH_free(dh);
3105 <      }
3106 <    }
3107 <    else
3108 <      conf_error_report("Ignoring serverinfo::ssl_dh_param_file -- could not open/read Diffie-Hellman parameter file");
3109 <  }
3104 >  case 88:
3105 > #line 554 "conf_parser.y" /* yacc.c:1646  */
3106 >    {
3107 > #ifdef HAVE_LIBGEOIP
3108 >  if (conf_parser_ctx.pass == 1)
3109 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_MMAP_CACHE;
3110   #endif
3111   }
3112 < #line 3118 "conf_parser.c" /* yacc.c:1646  */
3112 > #line 3113 "conf_parser.c" /* yacc.c:1646  */
3113      break;
3114  
3115 <  case 76:
3116 < #line 608 "conf_parser.y" /* yacc.c:1646  */
3115 >  case 89:
3116 > #line 560 "conf_parser.y" /* yacc.c:1646  */
3117      {
3118 < #ifdef HAVE_LIBCRYPTO
3119 <  if (conf_parser_ctx.pass == 2)
3120 <    SSL_CTX_set_cipher_list(ConfigServerInfo.server_ctx, yylval.string);
3118 > #ifdef HAVE_LIBGEOIP
3119 >  if (conf_parser_ctx.pass == 1)
3120 >    ConfigServerInfo.libgeoip_database_options |= GEOIP_CHECK_CACHE;
3121   #endif
3122   }
3123 < #line 3129 "conf_parser.c" /* yacc.c:1646  */
3123 > #line 3124 "conf_parser.c" /* yacc.c:1646  */
3124      break;
3125  
3126 <  case 77:
3127 < #line 616 "conf_parser.y" /* yacc.c:1646  */
3126 >  case 90:
3127 > #line 568 "conf_parser.y" /* yacc.c:1646  */
3128      {
3134 #ifdef HAVE_LIBCRYPTO
3129    if (conf_parser_ctx.pass == 2)
3130    {
3131 <    if ((ConfigServerInfo.message_digest_algorithm = EVP_get_digestbyname(yylval.string)) == NULL)
3132 <    {
3133 <      ConfigServerInfo.message_digest_algorithm = EVP_sha256();
3134 <      conf_error_report("Ignoring serverinfo::ssl_message_digest_algorithm -- unknown message digest algorithm");
3135 <    }
3136 <  }
3131 >    xfree(ConfigServerInfo.libgeoip_ipv4_database_file);
3132 >    ConfigServerInfo.libgeoip_ipv4_database_file = xstrdup(yylval.string);
3133 >
3134 > #ifdef HAVE_LIBGEOIP
3135 >    if (GeoIPv4_ctx)
3136 >      GeoIP_delete(GeoIPv4_ctx);
3137 >    GeoIPv4_ctx = GeoIP_open(yylval.string, ConfigServerInfo.libgeoip_database_options);
3138   #endif
3139 +  }
3140   }
3141 < #line 3146 "conf_parser.c" /* yacc.c:1646  */
3141 > #line 3142 "conf_parser.c" /* yacc.c:1646  */
3142      break;
3143  
3144 <  case 78:
3145 < #line 630 "conf_parser.y" /* yacc.c:1646  */
3144 >  case 91:
3145 > #line 583 "conf_parser.y" /* yacc.c:1646  */
3146      {
3151 #ifdef HAVE_LIBCRYPTO
3152 #if OPENSSL_VERSION_NUMBER >= 0x009080FFL && !defined(OPENSSL_NO_ECDH)
3153  int nid = 0;
3154  EC_KEY *key = NULL;
3155
3147    if (conf_parser_ctx.pass == 2)
3148    {
3149 <    if ((nid = OBJ_sn2nid(yylval.string)) == 0)
3150 <    {
3160 <        conf_error_report("Ignoring serverinfo::ssl_dh_elliptic_curve -- unknown curve name");
3161 <        break;
3162 <    }
3163 <
3164 <    if ((key = EC_KEY_new_by_curve_name(nid)) == NULL)
3165 <    {
3166 <      conf_error_report("Ignoring serverinfo::ssl_dh_elliptic_curve -- could not create curve");
3167 <      break;
3168 <    }
3149 >    xfree(ConfigServerInfo.libgeoip_ipv6_database_file);
3150 >    ConfigServerInfo.libgeoip_ipv6_database_file = xstrdup(yylval.string);
3151  
3152 <    SSL_CTX_set_tmp_ecdh(ConfigServerInfo.server_ctx, key);
3153 <    EC_KEY_free(key);
3154 < }
3155 < #endif
3152 > #ifdef HAVE_LIBGEOIP
3153 >    if (GeoIPv6_ctx)
3154 >      GeoIP_delete(GeoIPv6_ctx);
3155 >    GeoIPv6_ctx = GeoIP_open(yylval.string, ConfigServerInfo.libgeoip_database_options);
3156   #endif
3157 +  }
3158   }
3159 < #line 3177 "conf_parser.c" /* yacc.c:1646  */
3159 > #line 3160 "conf_parser.c" /* yacc.c:1646  */
3160      break;
3161  
3162 <  case 79:
3163 < #line 658 "conf_parser.y" /* yacc.c:1646  */
3162 >  case 92:
3163 > #line 598 "conf_parser.y" /* yacc.c:1646  */
3164      {
3165 <  /* this isn't rehashable */
3165 >  /* This isn't rehashable */
3166    if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.name)
3167    {
3168      if (valid_servname(yylval.string))
# Line 3187 | Line 3170 | yyreduce:
3170      else
3171      {
3172        conf_error_report("Ignoring serverinfo::name -- invalid name. Aborting.");
3173 <      exit(0);
3173 >      exit(EXIT_FAILURE);
3174      }
3175    }
3176   }
3177 < #line 3195 "conf_parser.c" /* yacc.c:1646  */
3177 > #line 3178 "conf_parser.c" /* yacc.c:1646  */
3178      break;
3179  
3180 <  case 80:
3181 < #line 673 "conf_parser.y" /* yacc.c:1646  */
3180 >  case 93:
3181 > #line 613 "conf_parser.y" /* yacc.c:1646  */
3182      {
3183 <  /* this isn't rehashable */
3183 >  /* This isn't rehashable */
3184    if (conf_parser_ctx.pass == 2 && !ConfigServerInfo.sid)
3185    {
3186      if (valid_sid(yylval.string))
# Line 3205 | Line 3188 | yyreduce:
3188      else
3189      {
3190        conf_error_report("Ignoring serverinfo::sid -- invalid SID. Aborting.");
3191 <      exit(0);
3191 >      exit(EXIT_FAILURE);
3192      }
3193    }
3194   }
3195 < #line 3213 "conf_parser.c" /* yacc.c:1646  */
3195 > #line 3196 "conf_parser.c" /* yacc.c:1646  */
3196      break;
3197  
3198 <  case 81:
3199 < #line 688 "conf_parser.y" /* yacc.c:1646  */
3198 >  case 94:
3199 > #line 628 "conf_parser.y" /* yacc.c:1646  */
3200      {
3201    if (conf_parser_ctx.pass == 2)
3202    {
3203 <    MyFree(ConfigServerInfo.description);
3203 >    xfree(ConfigServerInfo.description);
3204      ConfigServerInfo.description = xstrdup(yylval.string);
3205      strlcpy(me.info, ConfigServerInfo.description, sizeof(me.info));
3206    }
3207   }
3208 < #line 3226 "conf_parser.c" /* yacc.c:1646  */
3208 > #line 3209 "conf_parser.c" /* yacc.c:1646  */
3209      break;
3210  
3211 <  case 82:
3212 < #line 698 "conf_parser.y" /* yacc.c:1646  */
3211 >  case 95:
3212 > #line 638 "conf_parser.y" /* yacc.c:1646  */
3213      {
3214    if (conf_parser_ctx.pass == 2)
3215    {
# Line 3235 | Line 3218 | yyreduce:
3218      if ((p = strchr(yylval.string, ' ')))
3219        *p = '\0';
3220  
3221 <    MyFree(ConfigServerInfo.network_name);
3221 >    xfree(ConfigServerInfo.network_name);
3222      ConfigServerInfo.network_name = xstrdup(yylval.string);
3223    }
3224   }
3225 < #line 3243 "conf_parser.c" /* yacc.c:1646  */
3225 > #line 3226 "conf_parser.c" /* yacc.c:1646  */
3226      break;
3227  
3228 <  case 83:
3229 < #line 712 "conf_parser.y" /* yacc.c:1646  */
3228 >  case 96:
3229 > #line 652 "conf_parser.y" /* yacc.c:1646  */
3230      {
3231    if (conf_parser_ctx.pass != 2)
3232      break;
3233  
3234 <  MyFree(ConfigServerInfo.network_desc);
3234 >  xfree(ConfigServerInfo.network_desc);
3235    ConfigServerInfo.network_desc = xstrdup(yylval.string);
3236   }
3237 < #line 3255 "conf_parser.c" /* yacc.c:1646  */
3237 > #line 3238 "conf_parser.c" /* yacc.c:1646  */
3238      break;
3239  
3240 <  case 84:
3241 < #line 721 "conf_parser.y" /* yacc.c:1646  */
3240 >  case 97:
3241 > #line 661 "conf_parser.y" /* yacc.c:1646  */
3242      {
3243    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3244    {
# Line 3282 | Line 3265 | yyreduce:
3265      }
3266    }
3267   }
3268 < #line 3286 "conf_parser.c" /* yacc.c:1646  */
3268 > #line 3269 "conf_parser.c" /* yacc.c:1646  */
3269      break;
3270  
3271 <  case 85:
3272 < #line 749 "conf_parser.y" /* yacc.c:1646  */
3271 >  case 98:
3272 > #line 689 "conf_parser.y" /* yacc.c:1646  */
3273      {
3274    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3275    {
# Line 3313 | Line 3296 | yyreduce:
3296      }
3297    }
3298   }
3299 < #line 3317 "conf_parser.c" /* yacc.c:1646  */
3299 > #line 3300 "conf_parser.c" /* yacc.c:1646  */
3300      break;
3301  
3302 <  case 86:
3303 < #line 777 "conf_parser.y" /* yacc.c:1646  */
3302 >  case 99:
3303 > #line 717 "conf_parser.y" /* yacc.c:1646  */
3304      {
3305    if (conf_parser_ctx.pass != 2)
3306      break;
# Line 3341 | Line 3324 | yyreduce:
3324    else
3325      ConfigServerInfo.default_max_clients = (yyvsp[-1].number);
3326   }
3327 < #line 3345 "conf_parser.c" /* yacc.c:1646  */
3327 > #line 3328 "conf_parser.c" /* yacc.c:1646  */
3328      break;
3329  
3330 <  case 87:
3331 < #line 802 "conf_parser.y" /* yacc.c:1646  */
3330 >  case 100:
3331 > #line 742 "conf_parser.y" /* yacc.c:1646  */
3332      {
3333    if (conf_parser_ctx.pass != 2)
3334      break;
# Line 3366 | Line 3349 | yyreduce:
3349    else
3350      ConfigServerInfo.max_nick_length = (yyvsp[-1].number);
3351   }
3352 < #line 3370 "conf_parser.c" /* yacc.c:1646  */
3352 > #line 3353 "conf_parser.c" /* yacc.c:1646  */
3353      break;
3354  
3355 <  case 88:
3356 < #line 824 "conf_parser.y" /* yacc.c:1646  */
3355 >  case 101:
3356 > #line 764 "conf_parser.y" /* yacc.c:1646  */
3357      {
3358    if (conf_parser_ctx.pass != 2)
3359      break;
# Line 3391 | Line 3374 | yyreduce:
3374    else
3375      ConfigServerInfo.max_topic_length = (yyvsp[-1].number);
3376   }
3377 < #line 3395 "conf_parser.c" /* yacc.c:1646  */
3377 > #line 3378 "conf_parser.c" /* yacc.c:1646  */
3378      break;
3379  
3380 <  case 89:
3381 < #line 846 "conf_parser.y" /* yacc.c:1646  */
3380 >  case 102:
3381 > #line 786 "conf_parser.y" /* yacc.c:1646  */
3382      {
3383    if (conf_parser_ctx.pass == 2)
3384      ConfigServerInfo.hub = yylval.number;
3385   }
3386 < #line 3404 "conf_parser.c" /* yacc.c:1646  */
3386 > #line 3387 "conf_parser.c" /* yacc.c:1646  */
3387      break;
3388  
3389 <  case 97:
3390 < #line 863 "conf_parser.y" /* yacc.c:1646  */
3389 >  case 110:
3390 > #line 804 "conf_parser.y" /* yacc.c:1646  */
3391      {
3392    if (conf_parser_ctx.pass != 2)
3393      break;
3394  
3395 <  MyFree(ConfigAdminInfo.name);
3395 >  xfree(ConfigAdminInfo.name);
3396    ConfigAdminInfo.name = xstrdup(yylval.string);
3397   }
3398 < #line 3416 "conf_parser.c" /* yacc.c:1646  */
3398 > #line 3399 "conf_parser.c" /* yacc.c:1646  */
3399      break;
3400  
3401 <  case 98:
3402 < #line 872 "conf_parser.y" /* yacc.c:1646  */
3401 >  case 111:
3402 > #line 813 "conf_parser.y" /* yacc.c:1646  */
3403      {
3404    if (conf_parser_ctx.pass != 2)
3405      break;
3406  
3407 <  MyFree(ConfigAdminInfo.email);
3407 >  xfree(ConfigAdminInfo.email);
3408    ConfigAdminInfo.email = xstrdup(yylval.string);
3409   }
3410 < #line 3428 "conf_parser.c" /* yacc.c:1646  */
3410 > #line 3411 "conf_parser.c" /* yacc.c:1646  */
3411      break;
3412  
3413 <  case 99:
3414 < #line 881 "conf_parser.y" /* yacc.c:1646  */
3413 >  case 112:
3414 > #line 822 "conf_parser.y" /* yacc.c:1646  */
3415      {
3416    if (conf_parser_ctx.pass != 2)
3417      break;
3418  
3419 <  MyFree(ConfigAdminInfo.description);
3419 >  xfree(ConfigAdminInfo.description);
3420    ConfigAdminInfo.description = xstrdup(yylval.string);
3421   }
3422 < #line 3440 "conf_parser.c" /* yacc.c:1646  */
3422 > #line 3423 "conf_parser.c" /* yacc.c:1646  */
3423      break;
3424  
3425 <  case 100:
3426 < #line 893 "conf_parser.y" /* yacc.c:1646  */
3425 >  case 113:
3426 > #line 835 "conf_parser.y" /* yacc.c:1646  */
3427      {
3428    if (conf_parser_ctx.pass == 2)
3429      reset_block_state();
3430   }
3431 < #line 3449 "conf_parser.c" /* yacc.c:1646  */
3431 > #line 3432 "conf_parser.c" /* yacc.c:1646  */
3432      break;
3433  
3434 <  case 101:
3435 < #line 897 "conf_parser.y" /* yacc.c:1646  */
3434 >  case 114:
3435 > #line 839 "conf_parser.y" /* yacc.c:1646  */
3436      {
3437    dlink_node *node = NULL;
3438  
# Line 3462 | Line 3445 | yyreduce:
3445    DLINK_FOREACH(node, block_state.mask.list.head)
3446      motd_add(node->data, block_state.file.buf);
3447   }
3448 < #line 3466 "conf_parser.c" /* yacc.c:1646  */
3448 > #line 3449 "conf_parser.c" /* yacc.c:1646  */
3449      break;
3450  
3451 <  case 107:
3452 < #line 914 "conf_parser.y" /* yacc.c:1646  */
3451 >  case 120:
3452 > #line 856 "conf_parser.y" /* yacc.c:1646  */
3453      {
3454    if (conf_parser_ctx.pass == 2)
3455      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3456   }
3457 < #line 3475 "conf_parser.c" /* yacc.c:1646  */
3457 > #line 3458 "conf_parser.c" /* yacc.c:1646  */
3458      break;
3459  
3460 <  case 108:
3461 < #line 920 "conf_parser.y" /* yacc.c:1646  */
3460 >  case 121:
3461 > #line 862 "conf_parser.y" /* yacc.c:1646  */
3462      {
3463    if (conf_parser_ctx.pass == 2)
3464      strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3465   }
3466 < #line 3484 "conf_parser.c" /* yacc.c:1646  */
3466 > #line 3467 "conf_parser.c" /* yacc.c:1646  */
3467      break;
3468  
3469 <  case 109:
3470 < #line 929 "conf_parser.y" /* yacc.c:1646  */
3469 >  case 122:
3470 > #line 872 "conf_parser.y" /* yacc.c:1646  */
3471      {
3472    if (conf_parser_ctx.pass == 2)
3473      reset_block_state();
3474   }
3475 < #line 3493 "conf_parser.c" /* yacc.c:1646  */
3475 > #line 3476 "conf_parser.c" /* yacc.c:1646  */
3476      break;
3477  
3478 <  case 110:
3479 < #line 933 "conf_parser.y" /* yacc.c:1646  */
3478 >  case 123:
3479 > #line 876 "conf_parser.y" /* yacc.c:1646  */
3480      {
3481    if (conf_parser_ctx.pass != 2)
3482      break;
# Line 3507 | Line 3490 | yyreduce:
3490    pseudo_register(block_state.name.buf, block_state.nick.buf, block_state.host.buf,
3491                    block_state.prepend.buf, block_state.command.buf);
3492   }
3493 < #line 3511 "conf_parser.c" /* yacc.c:1646  */
3493 > #line 3494 "conf_parser.c" /* yacc.c:1646  */
3494      break;
3495  
3496 <  case 118:
3497 < #line 951 "conf_parser.y" /* yacc.c:1646  */
3496 >  case 131:
3497 > #line 894 "conf_parser.y" /* yacc.c:1646  */
3498      {
3499    if (conf_parser_ctx.pass == 2)
3500      strlcpy(block_state.command.buf, yylval.string, sizeof(block_state.command.buf));
3501   }
3502 < #line 3520 "conf_parser.c" /* yacc.c:1646  */
3502 > #line 3503 "conf_parser.c" /* yacc.c:1646  */
3503      break;
3504  
3505 <  case 119:
3506 < #line 957 "conf_parser.y" /* yacc.c:1646  */
3505 >  case 132:
3506 > #line 900 "conf_parser.y" /* yacc.c:1646  */
3507      {
3508    if (conf_parser_ctx.pass == 2)
3509      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3510   }
3511 < #line 3529 "conf_parser.c" /* yacc.c:1646  */
3511 > #line 3512 "conf_parser.c" /* yacc.c:1646  */
3512      break;
3513  
3514 <  case 120:
3515 < #line 963 "conf_parser.y" /* yacc.c:1646  */
3514 >  case 133:
3515 > #line 906 "conf_parser.y" /* yacc.c:1646  */
3516      {
3517    if (conf_parser_ctx.pass == 2)
3518      strlcpy(block_state.prepend.buf, yylval.string, sizeof(block_state.prepend.buf));
3519   }
3520 < #line 3538 "conf_parser.c" /* yacc.c:1646  */
3520 > #line 3521 "conf_parser.c" /* yacc.c:1646  */
3521      break;
3522  
3523 <  case 121:
3524 < #line 969 "conf_parser.y" /* yacc.c:1646  */
3523 >  case 134:
3524 > #line 912 "conf_parser.y" /* yacc.c:1646  */
3525      {
3526    if (conf_parser_ctx.pass == 2)
3527    {
# Line 3555 | Line 3538 | yyreduce:
3538      split_nuh(&nuh);
3539    }
3540   }
3541 < #line 3559 "conf_parser.c" /* yacc.c:1646  */
3541 > #line 3542 "conf_parser.c" /* yacc.c:1646  */
3542      break;
3543  
3544 <  case 128:
3545 < #line 996 "conf_parser.y" /* yacc.c:1646  */
3544 >  case 141:
3545 > #line 940 "conf_parser.y" /* yacc.c:1646  */
3546      {
3547    if (conf_parser_ctx.pass == 2)
3548      ConfigLog.use_logging = yylval.number;
3549   }
3550 < #line 3568 "conf_parser.c" /* yacc.c:1646  */
3550 > #line 3551 "conf_parser.c" /* yacc.c:1646  */
3551      break;
3552  
3553 <  case 129:
3554 < #line 1002 "conf_parser.y" /* yacc.c:1646  */
3553 >  case 142:
3554 > #line 946 "conf_parser.y" /* yacc.c:1646  */
3555      {
3556    if (conf_parser_ctx.pass == 2)
3557      reset_block_state();
3558   }
3559 < #line 3577 "conf_parser.c" /* yacc.c:1646  */
3559 > #line 3560 "conf_parser.c" /* yacc.c:1646  */
3560      break;
3561  
3562 <  case 130:
3563 < #line 1006 "conf_parser.y" /* yacc.c:1646  */
3562 >  case 143:
3563 > #line 950 "conf_parser.y" /* yacc.c:1646  */
3564      {
3565    if (conf_parser_ctx.pass != 2)
3566      break;
# Line 3586 | Line 3569 | yyreduce:
3569      log_set_file(block_state.type.value, block_state.size.value,
3570                   block_state.file.buf);
3571   }
3572 < #line 3590 "conf_parser.c" /* yacc.c:1646  */
3572 > #line 3573 "conf_parser.c" /* yacc.c:1646  */
3573      break;
3574  
3575 <  case 137:
3576 < #line 1022 "conf_parser.y" /* yacc.c:1646  */
3575 >  case 150:
3576 > #line 966 "conf_parser.y" /* yacc.c:1646  */
3577      {
3578    if (conf_parser_ctx.pass != 2)
3579      break;
3580  
3581    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3582   }
3583 < #line 3601 "conf_parser.c" /* yacc.c:1646  */
3583 > #line 3584 "conf_parser.c" /* yacc.c:1646  */
3584      break;
3585  
3586 <  case 138:
3587 < #line 1030 "conf_parser.y" /* yacc.c:1646  */
3586 >  case 151:
3587 > #line 974 "conf_parser.y" /* yacc.c:1646  */
3588      {
3589    block_state.size.value = (yyvsp[-1].number);
3590   }
3591 < #line 3609 "conf_parser.c" /* yacc.c:1646  */
3591 > #line 3592 "conf_parser.c" /* yacc.c:1646  */
3592      break;
3593  
3594 <  case 139:
3595 < #line 1033 "conf_parser.y" /* yacc.c:1646  */
3594 >  case 152:
3595 > #line 977 "conf_parser.y" /* yacc.c:1646  */
3596      {
3597    block_state.size.value = 0;
3598   }
3599 < #line 3617 "conf_parser.c" /* yacc.c:1646  */
3599 > #line 3600 "conf_parser.c" /* yacc.c:1646  */
3600      break;
3601  
3602 <  case 140:
3603 < #line 1038 "conf_parser.y" /* yacc.c:1646  */
3602 >  case 153:
3603 > #line 982 "conf_parser.y" /* yacc.c:1646  */
3604      {
3605    if (conf_parser_ctx.pass == 2)
3606      block_state.type.value = 0;
3607   }
3608 < #line 3626 "conf_parser.c" /* yacc.c:1646  */
3608 > #line 3609 "conf_parser.c" /* yacc.c:1646  */
3609      break;
3610  
3611 <  case 144:
3612 < #line 1045 "conf_parser.y" /* yacc.c:1646  */
3611 >  case 157:
3612 > #line 989 "conf_parser.y" /* yacc.c:1646  */
3613      {
3614    if (conf_parser_ctx.pass == 2)
3615      block_state.type.value = LOG_TYPE_USER;
3616   }
3617 < #line 3635 "conf_parser.c" /* yacc.c:1646  */
3617 > #line 3618 "conf_parser.c" /* yacc.c:1646  */
3618      break;
3619  
3620 <  case 145:
3621 < #line 1049 "conf_parser.y" /* yacc.c:1646  */
3620 >  case 158:
3621 > #line 993 "conf_parser.y" /* yacc.c:1646  */
3622      {
3623    if (conf_parser_ctx.pass == 2)
3624      block_state.type.value = LOG_TYPE_OPER;
3625   }
3626 < #line 3644 "conf_parser.c" /* yacc.c:1646  */
3626 > #line 3627 "conf_parser.c" /* yacc.c:1646  */
3627      break;
3628  
3629 <  case 146:
3630 < #line 1053 "conf_parser.y" /* yacc.c:1646  */
3629 >  case 159:
3630 > #line 997 "conf_parser.y" /* yacc.c:1646  */
3631      {
3632    if (conf_parser_ctx.pass == 2)
3633      block_state.type.value = LOG_TYPE_XLINE;
3634   }
3635 < #line 3653 "conf_parser.c" /* yacc.c:1646  */
3635 > #line 3636 "conf_parser.c" /* yacc.c:1646  */
3636      break;
3637  
3638 <  case 147:
3639 < #line 1057 "conf_parser.y" /* yacc.c:1646  */
3638 >  case 160:
3639 > #line 1001 "conf_parser.y" /* yacc.c:1646  */
3640      {
3641    if (conf_parser_ctx.pass == 2)
3642      block_state.type.value = LOG_TYPE_RESV;
3643   }
3644 < #line 3662 "conf_parser.c" /* yacc.c:1646  */
3644 > #line 3645 "conf_parser.c" /* yacc.c:1646  */
3645      break;
3646  
3647 <  case 148:
3648 < #line 1061 "conf_parser.y" /* yacc.c:1646  */
3647 >  case 161:
3648 > #line 1005 "conf_parser.y" /* yacc.c:1646  */
3649      {
3650    if (conf_parser_ctx.pass == 2)
3651      block_state.type.value = LOG_TYPE_DLINE;
3652   }
3653 < #line 3671 "conf_parser.c" /* yacc.c:1646  */
3653 > #line 3654 "conf_parser.c" /* yacc.c:1646  */
3654      break;
3655  
3656 <  case 149:
3657 < #line 1065 "conf_parser.y" /* yacc.c:1646  */
3656 >  case 162:
3657 > #line 1009 "conf_parser.y" /* yacc.c:1646  */
3658      {
3659    if (conf_parser_ctx.pass == 2)
3660      block_state.type.value = LOG_TYPE_KLINE;
3661   }
3662 < #line 3680 "conf_parser.c" /* yacc.c:1646  */
3662 > #line 3663 "conf_parser.c" /* yacc.c:1646  */
3663      break;
3664  
3665 <  case 150:
3666 < #line 1069 "conf_parser.y" /* yacc.c:1646  */
3665 >  case 163:
3666 > #line 1013 "conf_parser.y" /* yacc.c:1646  */
3667      {
3668    if (conf_parser_ctx.pass == 2)
3669      block_state.type.value = LOG_TYPE_KILL;
3670   }
3671 < #line 3689 "conf_parser.c" /* yacc.c:1646  */
3671 > #line 3672 "conf_parser.c" /* yacc.c:1646  */
3672      break;
3673  
3674 <  case 151:
3675 < #line 1073 "conf_parser.y" /* yacc.c:1646  */
3674 >  case 164:
3675 > #line 1017 "conf_parser.y" /* yacc.c:1646  */
3676      {
3677    if (conf_parser_ctx.pass == 2)
3678      block_state.type.value = LOG_TYPE_DEBUG;
3679   }
3680 < #line 3698 "conf_parser.c" /* yacc.c:1646  */
3680 > #line 3681 "conf_parser.c" /* yacc.c:1646  */
3681      break;
3682  
3683 <  case 152:
3684 < #line 1083 "conf_parser.y" /* yacc.c:1646  */
3683 >  case 165:
3684 > #line 1027 "conf_parser.y" /* yacc.c:1646  */
3685      {
3686    if (conf_parser_ctx.pass != 2)
3687      break;
# Line 3706 | Line 3689 | yyreduce:
3689    reset_block_state();
3690    block_state.flags.value |= CONF_FLAGS_ENCRYPTED;
3691   }
3692 < #line 3710 "conf_parser.c" /* yacc.c:1646  */
3692 > #line 3693 "conf_parser.c" /* yacc.c:1646  */
3693      break;
3694  
3695 <  case 153:
3696 < #line 1090 "conf_parser.y" /* yacc.c:1646  */
3695 >  case 166:
3696 > #line 1034 "conf_parser.y" /* yacc.c:1646  */
3697      {
3698    dlink_node *node = NULL;
3699  
# Line 3719 | Line 3702 | yyreduce:
3702  
3703    if (!block_state.name.buf[0])
3704      break;
3705 < #ifdef HAVE_LIBCRYPTO
3723 <  if (!block_state.file.buf[0] &&
3724 <      !block_state.rpass.buf[0])
3725 <    break;
3726 < #else
3705 >
3706    if (!block_state.rpass.buf[0])
3707      break;
3729 #endif
3708  
3709    DLINK_FOREACH(node, block_state.mask.list.head)
3710    {
3711      struct MaskItem *conf = NULL;
3712      struct split_nuh_item nuh;
3713 +    char *s = node->data;
3714  
3715 <    nuh.nuhmask  = node->data;
3715 >    if (EmptyString(s))
3716 >      continue;
3717 >
3718 >    nuh.nuhmask  = s;
3719      nuh.nickptr  = NULL;
3720      nuh.userptr  = block_state.user.buf;
3721      nuh.hostptr  = block_state.host.buf;
# Line 3762 | Line 3744 | yyreduce:
3744      conf->htype = parse_netmask(conf->host, &conf->addr, &conf->bits);
3745  
3746      conf_add_class_to_conf(conf, block_state.class.buf);
3765
3766 #ifdef HAVE_LIBCRYPTO
3767    if (block_state.file.buf[0])
3768    {
3769      BIO *file = NULL;
3770      RSA *pkey = NULL;
3771
3772      if ((file = BIO_new_file(block_state.file.buf, "r")) == NULL)
3773      {
3774        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- file doesn't exist");
3775        break;
3776      }
3777
3778      if ((pkey = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL)) == NULL)
3779        ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key invalid; check key syntax");
3780      else
3781      {
3782        if (RSA_size(pkey) > 128)
3783          ilog(LOG_TYPE_IRCD, "Ignoring rsa_public_key_file -- key size must be 1024 or below");
3784        else
3785          conf->rsa_public_key = pkey;
3786      }
3787
3788      BIO_set_close(file, BIO_CLOSE);
3789      BIO_free(file);
3790    }
3791 #endif /* HAVE_LIBCRYPTO */
3747    }
3748   }
3749 < #line 3795 "conf_parser.c" /* yacc.c:1646  */
3749 > #line 3750 "conf_parser.c" /* yacc.c:1646  */
3750      break;
3751  
3752 <  case 168:
3753 < #line 1186 "conf_parser.y" /* yacc.c:1646  */
3752 >  case 180:
3753 > #line 1101 "conf_parser.y" /* yacc.c:1646  */
3754      {
3755    if (conf_parser_ctx.pass == 2)
3756      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
3757   }
3758 < #line 3804 "conf_parser.c" /* yacc.c:1646  */
3758 > #line 3759 "conf_parser.c" /* yacc.c:1646  */
3759      break;
3760  
3761 <  case 169:
3762 < #line 1192 "conf_parser.y" /* yacc.c:1646  */
3761 >  case 181:
3762 > #line 1107 "conf_parser.y" /* yacc.c:1646  */
3763      {
3764    if (conf_parser_ctx.pass == 2)
3765      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
3766   }
3767 < #line 3813 "conf_parser.c" /* yacc.c:1646  */
3767 > #line 3768 "conf_parser.c" /* yacc.c:1646  */
3768      break;
3769  
3770 <  case 170:
3771 < #line 1198 "conf_parser.y" /* yacc.c:1646  */
3770 >  case 182:
3771 > #line 1113 "conf_parser.y" /* yacc.c:1646  */
3772      {
3773    if (conf_parser_ctx.pass == 2)
3774      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
3775   }
3776 < #line 3822 "conf_parser.c" /* yacc.c:1646  */
3776 > #line 3777 "conf_parser.c" /* yacc.c:1646  */
3777      break;
3778  
3779 <  case 171:
3780 < #line 1204 "conf_parser.y" /* yacc.c:1646  */
3779 >  case 183:
3780 > #line 1119 "conf_parser.y" /* yacc.c:1646  */
3781      {
3782    if (conf_parser_ctx.pass == 2)
3783      strlcpy(block_state.whois.buf, yylval.string, sizeof(block_state.whois.buf));
3784   }
3785 < #line 3831 "conf_parser.c" /* yacc.c:1646  */
3785 > #line 3786 "conf_parser.c" /* yacc.c:1646  */
3786      break;
3787  
3788 <  case 172:
3789 < #line 1210 "conf_parser.y" /* yacc.c:1646  */
3788 >  case 184:
3789 > #line 1125 "conf_parser.y" /* yacc.c:1646  */
3790      {
3791    if (conf_parser_ctx.pass != 2)
3792      break;
# Line 3841 | Line 3796 | yyreduce:
3796    else
3797      block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
3798   }
3799 < #line 3845 "conf_parser.c" /* yacc.c:1646  */
3799 > #line 3800 "conf_parser.c" /* yacc.c:1646  */
3800      break;
3801  
3802 <  case 173:
3803 < #line 1221 "conf_parser.y" /* yacc.c:1646  */
3849 <    {
3850 <  if (conf_parser_ctx.pass == 2)
3851 <    strlcpy(block_state.file.buf, yylval.string, sizeof(block_state.file.buf));
3852 < }
3853 < #line 3854 "conf_parser.c" /* yacc.c:1646  */
3854 <    break;
3855 <
3856 <  case 174:
3857 < #line 1227 "conf_parser.y" /* yacc.c:1646  */
3802 >  case 185:
3803 > #line 1136 "conf_parser.y" /* yacc.c:1646  */
3804      {
3805    if (conf_parser_ctx.pass == 2)
3806      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
3807   }
3808 < #line 3863 "conf_parser.c" /* yacc.c:1646  */
3808 > #line 3809 "conf_parser.c" /* yacc.c:1646  */
3809      break;
3810  
3811 <  case 175:
3812 < #line 1233 "conf_parser.y" /* yacc.c:1646  */
3811 >  case 186:
3812 > #line 1142 "conf_parser.y" /* yacc.c:1646  */
3813      {
3814    if (conf_parser_ctx.pass != 2)
3815      break;
# Line 3873 | Line 3819 | yyreduce:
3819    else
3820      block_state.flags.value &= ~CONF_FLAGS_SSL;
3821   }
3822 < #line 3877 "conf_parser.c" /* yacc.c:1646  */
3822 > #line 3823 "conf_parser.c" /* yacc.c:1646  */
3823      break;
3824  
3825 <  case 176:
3826 < #line 1244 "conf_parser.y" /* yacc.c:1646  */
3825 >  case 187:
3826 > #line 1153 "conf_parser.y" /* yacc.c:1646  */
3827      {
3828    if (conf_parser_ctx.pass == 2)
3829      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
3830   }
3831 < #line 3886 "conf_parser.c" /* yacc.c:1646  */
3831 > #line 3832 "conf_parser.c" /* yacc.c:1646  */
3832      break;
3833  
3834 <  case 177:
3835 < #line 1250 "conf_parser.y" /* yacc.c:1646  */
3834 >  case 188:
3835 > #line 1159 "conf_parser.y" /* yacc.c:1646  */
3836      {
3837    if (conf_parser_ctx.pass == 2)
3838      block_state.modes.value = 0;
3839   }
3840 < #line 3895 "conf_parser.c" /* yacc.c:1646  */
3840 > #line 3841 "conf_parser.c" /* yacc.c:1646  */
3841      break;
3842  
3843 <  case 181:
3844 < #line 1257 "conf_parser.y" /* yacc.c:1646  */
3843 >  case 192:
3844 > #line 1166 "conf_parser.y" /* yacc.c:1646  */
3845      {
3846    if (conf_parser_ctx.pass == 2)
3847      block_state.modes.value |= UMODE_BOTS;
3848   }
3849 < #line 3904 "conf_parser.c" /* yacc.c:1646  */
3849 > #line 3850 "conf_parser.c" /* yacc.c:1646  */
3850      break;
3851  
3852 <  case 182:
3853 < #line 1261 "conf_parser.y" /* yacc.c:1646  */
3852 >  case 193:
3853 > #line 1170 "conf_parser.y" /* yacc.c:1646  */
3854      {
3855    if (conf_parser_ctx.pass == 2)
3856      block_state.modes.value |= UMODE_CCONN;
3857   }
3858 < #line 3913 "conf_parser.c" /* yacc.c:1646  */
3858 > #line 3859 "conf_parser.c" /* yacc.c:1646  */
3859      break;
3860  
3861 <  case 183:
3862 < #line 1265 "conf_parser.y" /* yacc.c:1646  */
3861 >  case 194:
3862 > #line 1174 "conf_parser.y" /* yacc.c:1646  */
3863      {
3864    if (conf_parser_ctx.pass == 2)
3865      block_state.modes.value |= UMODE_DEAF;
3866   }
3867 < #line 3922 "conf_parser.c" /* yacc.c:1646  */
3867 > #line 3868 "conf_parser.c" /* yacc.c:1646  */
3868      break;
3869  
3870 <  case 184:
3871 < #line 1269 "conf_parser.y" /* yacc.c:1646  */
3870 >  case 195:
3871 > #line 1178 "conf_parser.y" /* yacc.c:1646  */
3872      {
3873    if (conf_parser_ctx.pass == 2)
3874      block_state.modes.value |= UMODE_DEBUG;
3875   }
3876 < #line 3931 "conf_parser.c" /* yacc.c:1646  */
3876 > #line 3877 "conf_parser.c" /* yacc.c:1646  */
3877      break;
3878  
3879 <  case 185:
3880 < #line 1273 "conf_parser.y" /* yacc.c:1646  */
3879 >  case 196:
3880 > #line 1182 "conf_parser.y" /* yacc.c:1646  */
3881      {
3882    if (conf_parser_ctx.pass == 2)
3883      block_state.modes.value |= UMODE_FULL;
3884   }
3885 < #line 3940 "conf_parser.c" /* yacc.c:1646  */
3885 > #line 3886 "conf_parser.c" /* yacc.c:1646  */
3886      break;
3887  
3888 <  case 186:
3889 < #line 1277 "conf_parser.y" /* yacc.c:1646  */
3888 >  case 197:
3889 > #line 1186 "conf_parser.y" /* yacc.c:1646  */
3890      {
3891    if (conf_parser_ctx.pass == 2)
3892      block_state.modes.value |= UMODE_HIDDEN;
3893   }
3894 < #line 3949 "conf_parser.c" /* yacc.c:1646  */
3894 > #line 3895 "conf_parser.c" /* yacc.c:1646  */
3895      break;
3896  
3897 <  case 187:
3898 < #line 1281 "conf_parser.y" /* yacc.c:1646  */
3897 >  case 198:
3898 > #line 1190 "conf_parser.y" /* yacc.c:1646  */
3899      {
3900    if (conf_parser_ctx.pass == 2)
3901      block_state.modes.value |= UMODE_HIDECHANS;
3902   }
3903 < #line 3958 "conf_parser.c" /* yacc.c:1646  */
3903 > #line 3904 "conf_parser.c" /* yacc.c:1646  */
3904      break;
3905  
3906 <  case 188:
3907 < #line 1285 "conf_parser.y" /* yacc.c:1646  */
3906 >  case 199:
3907 > #line 1194 "conf_parser.y" /* yacc.c:1646  */
3908      {
3909    if (conf_parser_ctx.pass == 2)
3910      block_state.modes.value |= UMODE_HIDEIDLE;
3911   }
3912 < #line 3967 "conf_parser.c" /* yacc.c:1646  */
3912 > #line 3913 "conf_parser.c" /* yacc.c:1646  */
3913      break;
3914  
3915 <  case 189:
3916 < #line 1289 "conf_parser.y" /* yacc.c:1646  */
3915 >  case 200:
3916 > #line 1198 "conf_parser.y" /* yacc.c:1646  */
3917      {
3918    if (conf_parser_ctx.pass == 2)
3919      block_state.modes.value |= UMODE_SKILL;
3920   }
3921 < #line 3976 "conf_parser.c" /* yacc.c:1646  */
3921 > #line 3922 "conf_parser.c" /* yacc.c:1646  */
3922      break;
3923  
3924 <  case 190:
3925 < #line 1293 "conf_parser.y" /* yacc.c:1646  */
3924 >  case 201:
3925 > #line 1202 "conf_parser.y" /* yacc.c:1646  */
3926      {
3927    if (conf_parser_ctx.pass == 2)
3928      block_state.modes.value |= UMODE_NCHANGE;
3929   }
3930 < #line 3985 "conf_parser.c" /* yacc.c:1646  */
3930 > #line 3931 "conf_parser.c" /* yacc.c:1646  */
3931      break;
3932  
3933 <  case 191:
3934 < #line 1297 "conf_parser.y" /* yacc.c:1646  */
3933 >  case 202:
3934 > #line 1206 "conf_parser.y" /* yacc.c:1646  */
3935      {
3936    if (conf_parser_ctx.pass == 2)
3937      block_state.modes.value |= UMODE_REJ;
3938   }
3939 < #line 3994 "conf_parser.c" /* yacc.c:1646  */
3939 > #line 3940 "conf_parser.c" /* yacc.c:1646  */
3940      break;
3941  
3942 <  case 192:
3943 < #line 1301 "conf_parser.y" /* yacc.c:1646  */
3942 >  case 203:
3943 > #line 1210 "conf_parser.y" /* yacc.c:1646  */
3944      {
3945    if (conf_parser_ctx.pass == 2)
3946      block_state.modes.value |= UMODE_UNAUTH;
3947   }
3948 < #line 4003 "conf_parser.c" /* yacc.c:1646  */
3948 > #line 3949 "conf_parser.c" /* yacc.c:1646  */
3949      break;
3950  
3951 <  case 193:
3952 < #line 1305 "conf_parser.y" /* yacc.c:1646  */
3951 >  case 204:
3952 > #line 1214 "conf_parser.y" /* yacc.c:1646  */
3953      {
3954    if (conf_parser_ctx.pass == 2)
3955      block_state.modes.value |= UMODE_SPY;
3956   }
3957 < #line 4012 "conf_parser.c" /* yacc.c:1646  */
3957 > #line 3958 "conf_parser.c" /* yacc.c:1646  */
3958      break;
3959  
3960 <  case 194:
3961 < #line 1309 "conf_parser.y" /* yacc.c:1646  */
3960 >  case 205:
3961 > #line 1218 "conf_parser.y" /* yacc.c:1646  */
3962      {
3963    if (conf_parser_ctx.pass == 2)
3964      block_state.modes.value |= UMODE_EXTERNAL;
3965   }
3966 < #line 4021 "conf_parser.c" /* yacc.c:1646  */
3966 > #line 3967 "conf_parser.c" /* yacc.c:1646  */
3967      break;
3968  
3969 <  case 195:
3970 < #line 1313 "conf_parser.y" /* yacc.c:1646  */
3969 >  case 206:
3970 > #line 1222 "conf_parser.y" /* yacc.c:1646  */
3971      {
3972    if (conf_parser_ctx.pass == 2)
3973      block_state.modes.value |= UMODE_SERVNOTICE;
3974   }
3975 < #line 4030 "conf_parser.c" /* yacc.c:1646  */
3975 > #line 3976 "conf_parser.c" /* yacc.c:1646  */
3976      break;
3977  
3978 <  case 196:
3979 < #line 1317 "conf_parser.y" /* yacc.c:1646  */
3978 >  case 207:
3979 > #line 1226 "conf_parser.y" /* yacc.c:1646  */
3980      {
3981    if (conf_parser_ctx.pass == 2)
3982      block_state.modes.value |= UMODE_INVISIBLE;
3983   }
3984 < #line 4039 "conf_parser.c" /* yacc.c:1646  */
3984 > #line 3985 "conf_parser.c" /* yacc.c:1646  */
3985      break;
3986  
3987 <  case 197:
3988 < #line 1321 "conf_parser.y" /* yacc.c:1646  */
3987 >  case 208:
3988 > #line 1230 "conf_parser.y" /* yacc.c:1646  */
3989      {
3990    if (conf_parser_ctx.pass == 2)
3991      block_state.modes.value |= UMODE_WALLOP;
3992   }
3993 < #line 4048 "conf_parser.c" /* yacc.c:1646  */
3993 > #line 3994 "conf_parser.c" /* yacc.c:1646  */
3994      break;
3995  
3996 <  case 198:
3997 < #line 1325 "conf_parser.y" /* yacc.c:1646  */
3996 >  case 209:
3997 > #line 1234 "conf_parser.y" /* yacc.c:1646  */
3998      {
3999    if (conf_parser_ctx.pass == 2)
4000      block_state.modes.value |= UMODE_SOFTCALLERID;
4001   }
4002 < #line 4057 "conf_parser.c" /* yacc.c:1646  */
4002 > #line 4003 "conf_parser.c" /* yacc.c:1646  */
4003      break;
4004  
4005 <  case 199:
4006 < #line 1329 "conf_parser.y" /* yacc.c:1646  */
4005 >  case 210:
4006 > #line 1238 "conf_parser.y" /* yacc.c:1646  */
4007      {
4008    if (conf_parser_ctx.pass == 2)
4009      block_state.modes.value |= UMODE_CALLERID;
4010   }
4011 < #line 4066 "conf_parser.c" /* yacc.c:1646  */
4011 > #line 4012 "conf_parser.c" /* yacc.c:1646  */
4012      break;
4013  
4014 <  case 200:
4015 < #line 1333 "conf_parser.y" /* yacc.c:1646  */
4014 >  case 211:
4015 > #line 1242 "conf_parser.y" /* yacc.c:1646  */
4016      {
4017    if (conf_parser_ctx.pass == 2)
4018      block_state.modes.value |= UMODE_LOCOPS;
4019   }
4020 < #line 4075 "conf_parser.c" /* yacc.c:1646  */
4020 > #line 4021 "conf_parser.c" /* yacc.c:1646  */
4021      break;
4022  
4023 <  case 201:
4024 < #line 1337 "conf_parser.y" /* yacc.c:1646  */
4023 >  case 212:
4024 > #line 1246 "conf_parser.y" /* yacc.c:1646  */
4025      {
4026    if (conf_parser_ctx.pass == 2)
4027      block_state.modes.value |= UMODE_REGONLY;
4028   }
4029 < #line 4084 "conf_parser.c" /* yacc.c:1646  */
4029 > #line 4030 "conf_parser.c" /* yacc.c:1646  */
4030      break;
4031  
4032 <  case 202:
4033 < #line 1341 "conf_parser.y" /* yacc.c:1646  */
4032 >  case 213:
4033 > #line 1250 "conf_parser.y" /* yacc.c:1646  */
4034      {
4035    if (conf_parser_ctx.pass == 2)
4036      block_state.modes.value |= UMODE_FARCONNECT;
4037   }
4038 < #line 4093 "conf_parser.c" /* yacc.c:1646  */
4038 > #line 4039 "conf_parser.c" /* yacc.c:1646  */
4039      break;
4040  
4041 <  case 203:
4042 < #line 1347 "conf_parser.y" /* yacc.c:1646  */
4041 >  case 214:
4042 > #line 1256 "conf_parser.y" /* yacc.c:1646  */
4043      {
4044    if (conf_parser_ctx.pass == 2)
4045      block_state.port.value = 0;
4046   }
4047 < #line 4102 "conf_parser.c" /* yacc.c:1646  */
4047 > #line 4048 "conf_parser.c" /* yacc.c:1646  */
4048      break;
4049  
4050 <  case 207:
4051 < #line 1354 "conf_parser.y" /* yacc.c:1646  */
4050 >  case 218:
4051 > #line 1263 "conf_parser.y" /* yacc.c:1646  */
4052      {
4053    if (conf_parser_ctx.pass == 2)
4054      block_state.port.value |= OPER_FLAG_KILL_REMOTE;
4055   }
4056 < #line 4111 "conf_parser.c" /* yacc.c:1646  */
4056 > #line 4057 "conf_parser.c" /* yacc.c:1646  */
4057      break;
4058  
4059 <  case 208:
4060 < #line 1358 "conf_parser.y" /* yacc.c:1646  */
4059 >  case 219:
4060 > #line 1267 "conf_parser.y" /* yacc.c:1646  */
4061      {
4062    if (conf_parser_ctx.pass == 2)
4063      block_state.port.value |= OPER_FLAG_KILL;
4064   }
4065 < #line 4120 "conf_parser.c" /* yacc.c:1646  */
4065 > #line 4066 "conf_parser.c" /* yacc.c:1646  */
4066      break;
4067  
4068 <  case 209:
4069 < #line 1362 "conf_parser.y" /* yacc.c:1646  */
4068 >  case 220:
4069 > #line 1271 "conf_parser.y" /* yacc.c:1646  */
4070      {
4071    if (conf_parser_ctx.pass == 2)
4072      block_state.port.value |= OPER_FLAG_CONNECT_REMOTE;
4073   }
4074 < #line 4129 "conf_parser.c" /* yacc.c:1646  */
4074 > #line 4075 "conf_parser.c" /* yacc.c:1646  */
4075      break;
4076  
4077 <  case 210:
4078 < #line 1366 "conf_parser.y" /* yacc.c:1646  */
4077 >  case 221:
4078 > #line 1275 "conf_parser.y" /* yacc.c:1646  */
4079      {
4080    if (conf_parser_ctx.pass == 2)
4081      block_state.port.value |= OPER_FLAG_CONNECT;
4082   }
4083 < #line 4138 "conf_parser.c" /* yacc.c:1646  */
4083 > #line 4084 "conf_parser.c" /* yacc.c:1646  */
4084      break;
4085  
4086 <  case 211:
4087 < #line 1370 "conf_parser.y" /* yacc.c:1646  */
4086 >  case 222:
4087 > #line 1279 "conf_parser.y" /* yacc.c:1646  */
4088      {
4089    if (conf_parser_ctx.pass == 2)
4090      block_state.port.value |= OPER_FLAG_SQUIT_REMOTE;
4091   }
4092 < #line 4147 "conf_parser.c" /* yacc.c:1646  */
4092 > #line 4093 "conf_parser.c" /* yacc.c:1646  */
4093      break;
4094  
4095 <  case 212:
4096 < #line 1374 "conf_parser.y" /* yacc.c:1646  */
4095 >  case 223:
4096 > #line 1283 "conf_parser.y" /* yacc.c:1646  */
4097      {
4098    if (conf_parser_ctx.pass == 2)
4099      block_state.port.value |= OPER_FLAG_SQUIT;
4100   }
4101 < #line 4156 "conf_parser.c" /* yacc.c:1646  */
4101 > #line 4102 "conf_parser.c" /* yacc.c:1646  */
4102      break;
4103  
4104 <  case 213:
4105 < #line 1378 "conf_parser.y" /* yacc.c:1646  */
4104 >  case 224:
4105 > #line 1287 "conf_parser.y" /* yacc.c:1646  */
4106      {
4107    if (conf_parser_ctx.pass == 2)
4108      block_state.port.value |= OPER_FLAG_KLINE;
4109   }
4110 < #line 4165 "conf_parser.c" /* yacc.c:1646  */
4110 > #line 4111 "conf_parser.c" /* yacc.c:1646  */
4111      break;
4112  
4113 <  case 214:
4114 < #line 1382 "conf_parser.y" /* yacc.c:1646  */
4113 >  case 225:
4114 > #line 1291 "conf_parser.y" /* yacc.c:1646  */
4115      {
4116    if (conf_parser_ctx.pass == 2)
4117      block_state.port.value |= OPER_FLAG_UNKLINE;
4118   }
4119 < #line 4174 "conf_parser.c" /* yacc.c:1646  */
4119 > #line 4120 "conf_parser.c" /* yacc.c:1646  */
4120      break;
4121  
4122 <  case 215:
4123 < #line 1386 "conf_parser.y" /* yacc.c:1646  */
4122 >  case 226:
4123 > #line 1295 "conf_parser.y" /* yacc.c:1646  */
4124      {
4125    if (conf_parser_ctx.pass == 2)
4126      block_state.port.value |= OPER_FLAG_DLINE;
4127   }
4128 < #line 4183 "conf_parser.c" /* yacc.c:1646  */
4128 > #line 4129 "conf_parser.c" /* yacc.c:1646  */
4129      break;
4130  
4131 <  case 216:
4132 < #line 1390 "conf_parser.y" /* yacc.c:1646  */
4131 >  case 227:
4132 > #line 1299 "conf_parser.y" /* yacc.c:1646  */
4133      {
4134    if (conf_parser_ctx.pass == 2)
4135      block_state.port.value |= OPER_FLAG_UNDLINE;
4136   }
4137 < #line 4192 "conf_parser.c" /* yacc.c:1646  */
4137 > #line 4138 "conf_parser.c" /* yacc.c:1646  */
4138      break;
4139  
4140 <  case 217:
4141 < #line 1394 "conf_parser.y" /* yacc.c:1646  */
4140 >  case 228:
4141 > #line 1303 "conf_parser.y" /* yacc.c:1646  */
4142      {
4143    if (conf_parser_ctx.pass == 2)
4144      block_state.port.value |= OPER_FLAG_XLINE;
4145   }
4146 < #line 4201 "conf_parser.c" /* yacc.c:1646  */
4146 > #line 4147 "conf_parser.c" /* yacc.c:1646  */
4147      break;
4148  
4149 <  case 218:
4150 < #line 1398 "conf_parser.y" /* yacc.c:1646  */
4149 >  case 229:
4150 > #line 1307 "conf_parser.y" /* yacc.c:1646  */
4151      {
4152    if (conf_parser_ctx.pass == 2)
4153      block_state.port.value |= OPER_FLAG_UNXLINE;
4154   }
4155 < #line 4210 "conf_parser.c" /* yacc.c:1646  */
4155 > #line 4156 "conf_parser.c" /* yacc.c:1646  */
4156      break;
4157  
4158 <  case 219:
4159 < #line 1402 "conf_parser.y" /* yacc.c:1646  */
4158 >  case 230:
4159 > #line 1311 "conf_parser.y" /* yacc.c:1646  */
4160      {
4161    if (conf_parser_ctx.pass == 2)
4162      block_state.port.value |= OPER_FLAG_DIE;
4163   }
4164 < #line 4219 "conf_parser.c" /* yacc.c:1646  */
4164 > #line 4165 "conf_parser.c" /* yacc.c:1646  */
4165      break;
4166  
4167 <  case 220:
4168 < #line 1406 "conf_parser.y" /* yacc.c:1646  */
4167 >  case 231:
4168 > #line 1315 "conf_parser.y" /* yacc.c:1646  */
4169      {
4170    if (conf_parser_ctx.pass == 2)
4171      block_state.port.value |= OPER_FLAG_RESTART;
4172   }
4173 < #line 4228 "conf_parser.c" /* yacc.c:1646  */
4173 > #line 4174 "conf_parser.c" /* yacc.c:1646  */
4174      break;
4175  
4176 <  case 221:
4177 < #line 1410 "conf_parser.y" /* yacc.c:1646  */
4176 >  case 232:
4177 > #line 1319 "conf_parser.y" /* yacc.c:1646  */
4178 >    {
4179 >  if (conf_parser_ctx.pass == 2)
4180 >    block_state.port.value |= OPER_FLAG_REHASH_REMOTE;
4181 > }
4182 > #line 4183 "conf_parser.c" /* yacc.c:1646  */
4183 >    break;
4184 >
4185 >  case 233:
4186 > #line 1323 "conf_parser.y" /* yacc.c:1646  */
4187      {
4188    if (conf_parser_ctx.pass == 2)
4189      block_state.port.value |= OPER_FLAG_REHASH;
4190   }
4191 < #line 4237 "conf_parser.c" /* yacc.c:1646  */
4191 > #line 4192 "conf_parser.c" /* yacc.c:1646  */
4192      break;
4193  
4194 <  case 222:
4195 < #line 1414 "conf_parser.y" /* yacc.c:1646  */
4194 >  case 234:
4195 > #line 1327 "conf_parser.y" /* yacc.c:1646  */
4196      {
4197    if (conf_parser_ctx.pass == 2)
4198      block_state.port.value |= OPER_FLAG_ADMIN;
4199   }
4200 < #line 4246 "conf_parser.c" /* yacc.c:1646  */
4200 > #line 4201 "conf_parser.c" /* yacc.c:1646  */
4201      break;
4202  
4203 <  case 223:
4204 < #line 1418 "conf_parser.y" /* yacc.c:1646  */
4203 >  case 235:
4204 > #line 1331 "conf_parser.y" /* yacc.c:1646  */
4205      {
4206    if (conf_parser_ctx.pass == 2)
4207      block_state.port.value |= OPER_FLAG_GLOBOPS;
4208   }
4209 < #line 4255 "conf_parser.c" /* yacc.c:1646  */
4209 > #line 4210 "conf_parser.c" /* yacc.c:1646  */
4210      break;
4211  
4212 <  case 224:
4213 < #line 1422 "conf_parser.y" /* yacc.c:1646  */
4212 >  case 236:
4213 > #line 1335 "conf_parser.y" /* yacc.c:1646  */
4214      {
4215    if (conf_parser_ctx.pass == 2)
4216      block_state.port.value |= OPER_FLAG_WALLOPS;
4217   }
4218 < #line 4264 "conf_parser.c" /* yacc.c:1646  */
4218 > #line 4219 "conf_parser.c" /* yacc.c:1646  */
4219      break;
4220  
4221 <  case 225:
4222 < #line 1426 "conf_parser.y" /* yacc.c:1646  */
4221 >  case 237:
4222 > #line 1339 "conf_parser.y" /* yacc.c:1646  */
4223      {
4224    if (conf_parser_ctx.pass == 2)
4225      block_state.port.value |= OPER_FLAG_LOCOPS;
4226   }
4227 < #line 4273 "conf_parser.c" /* yacc.c:1646  */
4227 > #line 4228 "conf_parser.c" /* yacc.c:1646  */
4228      break;
4229  
4230 <  case 226:
4231 < #line 1430 "conf_parser.y" /* yacc.c:1646  */
4230 >  case 238:
4231 > #line 1343 "conf_parser.y" /* yacc.c:1646  */
4232      {
4233    if (conf_parser_ctx.pass == 2)
4234      block_state.port.value |= OPER_FLAG_REMOTEBAN;
4235   }
4236 < #line 4282 "conf_parser.c" /* yacc.c:1646  */
4236 > #line 4237 "conf_parser.c" /* yacc.c:1646  */
4237      break;
4238  
4239 <  case 227:
4240 < #line 1434 "conf_parser.y" /* yacc.c:1646  */
4239 >  case 239:
4240 > #line 1347 "conf_parser.y" /* yacc.c:1646  */
4241      {
4242    if (conf_parser_ctx.pass == 2)
4243      block_state.port.value |= OPER_FLAG_SET;
4244   }
4245 < #line 4291 "conf_parser.c" /* yacc.c:1646  */
4245 > #line 4246 "conf_parser.c" /* yacc.c:1646  */
4246      break;
4247  
4248 <  case 228:
4249 < #line 1438 "conf_parser.y" /* yacc.c:1646  */
4248 >  case 240:
4249 > #line 1351 "conf_parser.y" /* yacc.c:1646  */
4250      {
4251    if (conf_parser_ctx.pass == 2)
4252      block_state.port.value |= OPER_FLAG_MODULE;
4253   }
4254 < #line 4300 "conf_parser.c" /* yacc.c:1646  */
4254 > #line 4255 "conf_parser.c" /* yacc.c:1646  */
4255      break;
4256  
4257 <  case 229:
4258 < #line 1442 "conf_parser.y" /* yacc.c:1646  */
4257 >  case 241:
4258 > #line 1355 "conf_parser.y" /* yacc.c:1646  */
4259      {
4260    if (conf_parser_ctx.pass == 2)
4261      block_state.port.value |= OPER_FLAG_OPME;
4262   }
4263 + #line 4264 "conf_parser.c" /* yacc.c:1646  */
4264 +    break;
4265 +
4266 +  case 242:
4267 + #line 1359 "conf_parser.y" /* yacc.c:1646  */
4268 +    {
4269 +  if (conf_parser_ctx.pass == 2)
4270 +    block_state.port.value |= OPER_FLAG_NICK_RESV;
4271 + }
4272 + #line 4273 "conf_parser.c" /* yacc.c:1646  */
4273 +    break;
4274 +
4275 +  case 243:
4276 + #line 1363 "conf_parser.y" /* yacc.c:1646  */
4277 +    {
4278 +  if (conf_parser_ctx.pass == 2)
4279 +    block_state.port.value |= OPER_FLAG_JOIN_RESV;
4280 + }
4281 + #line 4282 "conf_parser.c" /* yacc.c:1646  */
4282 +    break;
4283 +
4284 +  case 244:
4285 + #line 1367 "conf_parser.y" /* yacc.c:1646  */
4286 +    {
4287 +  if (conf_parser_ctx.pass == 2)
4288 +    block_state.port.value |= OPER_FLAG_RESV;
4289 + }
4290 + #line 4291 "conf_parser.c" /* yacc.c:1646  */
4291 +    break;
4292 +
4293 +  case 245:
4294 + #line 1371 "conf_parser.y" /* yacc.c:1646  */
4295 +    {
4296 +  if (conf_parser_ctx.pass == 2)
4297 +    block_state.port.value |= OPER_FLAG_UNRESV;
4298 + }
4299 + #line 4300 "conf_parser.c" /* yacc.c:1646  */
4300 +    break;
4301 +
4302 +  case 246:
4303 + #line 1375 "conf_parser.y" /* yacc.c:1646  */
4304 +    {
4305 +  if (conf_parser_ctx.pass == 2)
4306 +    block_state.port.value |= OPER_FLAG_CLOSE;
4307 + }
4308   #line 4309 "conf_parser.c" /* yacc.c:1646  */
4309      break;
4310  
4311 <  case 230:
4312 < #line 1452 "conf_parser.y" /* yacc.c:1646  */
4311 >  case 247:
4312 > #line 1385 "conf_parser.y" /* yacc.c:1646  */
4313      {
4314    if (conf_parser_ctx.pass != 1)
4315      break;
# Line 4325 | Line 4325 | yyreduce:
4325   #line 4326 "conf_parser.c" /* yacc.c:1646  */
4326      break;
4327  
4328 <  case 231:
4329 < #line 1464 "conf_parser.y" /* yacc.c:1646  */
4328 >  case 248:
4329 > #line 1397 "conf_parser.y" /* yacc.c:1646  */
4330      {
4331    struct ClassItem *class = NULL;
4332  
# Line 4340 | Line 4340 | yyreduce:
4340      class = class_make();
4341  
4342    class->active = 1;
4343 <  MyFree(class->name);
4343 >  xfree(class->name);
4344    class->name = xstrdup(block_state.class.buf);
4345    class->ping_freq = block_state.ping_freq.value;
4346    class->max_perip = block_state.max_perip.value;
# Line 4373 | Line 4373 | yyreduce:
4373   #line 4374 "conf_parser.c" /* yacc.c:1646  */
4374      break;
4375  
4376 <  case 252:
4377 < #line 1528 "conf_parser.y" /* yacc.c:1646  */
4376 >  case 269:
4377 > #line 1461 "conf_parser.y" /* yacc.c:1646  */
4378      {
4379    if (conf_parser_ctx.pass == 1)
4380      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
# Line 4382 | Line 4382 | yyreduce:
4382   #line 4383 "conf_parser.c" /* yacc.c:1646  */
4383      break;
4384  
4385 <  case 253:
4386 < #line 1534 "conf_parser.y" /* yacc.c:1646  */
4385 >  case 270:
4386 > #line 1467 "conf_parser.y" /* yacc.c:1646  */
4387      {
4388    if (conf_parser_ctx.pass == 1)
4389      block_state.ping_freq.value = (yyvsp[-1].number);
# Line 4391 | Line 4391 | yyreduce:
4391   #line 4392 "conf_parser.c" /* yacc.c:1646  */
4392      break;
4393  
4394 <  case 254:
4395 < #line 1540 "conf_parser.y" /* yacc.c:1646  */
4394 >  case 271:
4395 > #line 1473 "conf_parser.y" /* yacc.c:1646  */
4396      {
4397    if (conf_parser_ctx.pass == 1)
4398      block_state.max_perip.value = (yyvsp[-1].number);
# Line 4400 | Line 4400 | yyreduce:
4400   #line 4401 "conf_parser.c" /* yacc.c:1646  */
4401      break;
4402  
4403 <  case 255:
4404 < #line 1546 "conf_parser.y" /* yacc.c:1646  */
4403 >  case 272:
4404 > #line 1479 "conf_parser.y" /* yacc.c:1646  */
4405      {
4406    if (conf_parser_ctx.pass == 1)
4407      block_state.con_freq.value = (yyvsp[-1].number);
# Line 4409 | Line 4409 | yyreduce:
4409   #line 4410 "conf_parser.c" /* yacc.c:1646  */
4410      break;
4411  
4412 <  case 256:
4413 < #line 1552 "conf_parser.y" /* yacc.c:1646  */
4412 >  case 273:
4413 > #line 1485 "conf_parser.y" /* yacc.c:1646  */
4414      {
4415    if (conf_parser_ctx.pass == 1)
4416      block_state.max_channels.value = (yyvsp[-1].number);
# Line 4418 | Line 4418 | yyreduce:
4418   #line 4419 "conf_parser.c" /* yacc.c:1646  */
4419      break;
4420  
4421 <  case 257:
4422 < #line 1558 "conf_parser.y" /* yacc.c:1646  */
4421 >  case 274:
4422 > #line 1491 "conf_parser.y" /* yacc.c:1646  */
4423      {
4424    if (conf_parser_ctx.pass == 1)
4425      block_state.max_total.value = (yyvsp[-1].number);
# Line 4427 | Line 4427 | yyreduce:
4427   #line 4428 "conf_parser.c" /* yacc.c:1646  */
4428      break;
4429  
4430 <  case 258:
4431 < #line 1564 "conf_parser.y" /* yacc.c:1646  */
4430 >  case 275:
4431 > #line 1497 "conf_parser.y" /* yacc.c:1646  */
4432      {
4433    if (conf_parser_ctx.pass == 1)
4434      block_state.max_global.value = (yyvsp[-1].number);
# Line 4436 | Line 4436 | yyreduce:
4436   #line 4437 "conf_parser.c" /* yacc.c:1646  */
4437      break;
4438  
4439 <  case 259:
4440 < #line 1570 "conf_parser.y" /* yacc.c:1646  */
4439 >  case 276:
4440 > #line 1503 "conf_parser.y" /* yacc.c:1646  */
4441      {
4442    if (conf_parser_ctx.pass == 1)
4443      block_state.max_local.value = (yyvsp[-1].number);
# Line 4445 | Line 4445 | yyreduce:
4445   #line 4446 "conf_parser.c" /* yacc.c:1646  */
4446      break;
4447  
4448 <  case 260:
4449 < #line 1576 "conf_parser.y" /* yacc.c:1646  */
4448 >  case 277:
4449 > #line 1509 "conf_parser.y" /* yacc.c:1646  */
4450      {
4451    if (conf_parser_ctx.pass == 1)
4452      block_state.max_ident.value = (yyvsp[-1].number);
# Line 4454 | Line 4454 | yyreduce:
4454   #line 4455 "conf_parser.c" /* yacc.c:1646  */
4455      break;
4456  
4457 <  case 261:
4458 < #line 1582 "conf_parser.y" /* yacc.c:1646  */
4457 >  case 278:
4458 > #line 1515 "conf_parser.y" /* yacc.c:1646  */
4459      {
4460    if (conf_parser_ctx.pass == 1)
4461      block_state.max_sendq.value = (yyvsp[-1].number);
# Line 4463 | Line 4463 | yyreduce:
4463   #line 4464 "conf_parser.c" /* yacc.c:1646  */
4464      break;
4465  
4466 <  case 262:
4467 < #line 1588 "conf_parser.y" /* yacc.c:1646  */
4466 >  case 279:
4467 > #line 1521 "conf_parser.y" /* yacc.c:1646  */
4468      {
4469    if (conf_parser_ctx.pass == 1)
4470      if ((yyvsp[-1].number) >= CLIENT_FLOOD_MIN && (yyvsp[-1].number) <= CLIENT_FLOOD_MAX)
# Line 4473 | Line 4473 | yyreduce:
4473   #line 4474 "conf_parser.c" /* yacc.c:1646  */
4474      break;
4475  
4476 <  case 263:
4477 < #line 1595 "conf_parser.y" /* yacc.c:1646  */
4476 >  case 280:
4477 > #line 1528 "conf_parser.y" /* yacc.c:1646  */
4478      {
4479    if (conf_parser_ctx.pass == 1)
4480      block_state.cidr_bitlen_ipv4.value = (yyvsp[-1].number) > 32 ? 32 : (yyvsp[-1].number);
# Line 4482 | Line 4482 | yyreduce:
4482   #line 4483 "conf_parser.c" /* yacc.c:1646  */
4483      break;
4484  
4485 <  case 264:
4486 < #line 1601 "conf_parser.y" /* yacc.c:1646  */
4485 >  case 281:
4486 > #line 1534 "conf_parser.y" /* yacc.c:1646  */
4487      {
4488    if (conf_parser_ctx.pass == 1)
4489      block_state.cidr_bitlen_ipv6.value = (yyvsp[-1].number) > 128 ? 128 : (yyvsp[-1].number);
# Line 4491 | Line 4491 | yyreduce:
4491   #line 4492 "conf_parser.c" /* yacc.c:1646  */
4492      break;
4493  
4494 <  case 265:
4495 < #line 1607 "conf_parser.y" /* yacc.c:1646  */
4494 >  case 282:
4495 > #line 1540 "conf_parser.y" /* yacc.c:1646  */
4496      {
4497    if (conf_parser_ctx.pass == 1)
4498      block_state.number_per_cidr.value = (yyvsp[-1].number);
# Line 4500 | Line 4500 | yyreduce:
4500   #line 4501 "conf_parser.c" /* yacc.c:1646  */
4501      break;
4502  
4503 <  case 266:
4504 < #line 1613 "conf_parser.y" /* yacc.c:1646  */
4503 >  case 283:
4504 > #line 1546 "conf_parser.y" /* yacc.c:1646  */
4505      {
4506    if (conf_parser_ctx.pass != 1)
4507      break;
# Line 4512 | Line 4512 | yyreduce:
4512   #line 4513 "conf_parser.c" /* yacc.c:1646  */
4513      break;
4514  
4515 <  case 267:
4516 < #line 1622 "conf_parser.y" /* yacc.c:1646  */
4515 >  case 284:
4516 > #line 1555 "conf_parser.y" /* yacc.c:1646  */
4517      {
4518    if (conf_parser_ctx.pass != 1)
4519      break;
# Line 4524 | Line 4524 | yyreduce:
4524   #line 4525 "conf_parser.c" /* yacc.c:1646  */
4525      break;
4526  
4527 <  case 268:
4528 < #line 1631 "conf_parser.y" /* yacc.c:1646  */
4527 >  case 285:
4528 > #line 1564 "conf_parser.y" /* yacc.c:1646  */
4529      {
4530    if (conf_parser_ctx.pass == 1)
4531      block_state.flags.value &= CLASS_FLAGS_FAKE_IDLE;
# Line 4533 | Line 4533 | yyreduce:
4533   #line 4534 "conf_parser.c" /* yacc.c:1646  */
4534      break;
4535  
4536 <  case 272:
4537 < #line 1638 "conf_parser.y" /* yacc.c:1646  */
4536 >  case 289:
4537 > #line 1571 "conf_parser.y" /* yacc.c:1646  */
4538      {
4539    if (conf_parser_ctx.pass == 1)
4540      block_state.flags.value |= CLASS_FLAGS_RANDOM_IDLE;
# Line 4542 | Line 4542 | yyreduce:
4542   #line 4543 "conf_parser.c" /* yacc.c:1646  */
4543      break;
4544  
4545 <  case 273:
4546 < #line 1642 "conf_parser.y" /* yacc.c:1646  */
4545 >  case 290:
4546 > #line 1575 "conf_parser.y" /* yacc.c:1646  */
4547      {
4548    if (conf_parser_ctx.pass == 1)
4549      block_state.flags.value |= CLASS_FLAGS_HIDE_IDLE_FROM_OPERS;
# Line 4551 | Line 4551 | yyreduce:
4551   #line 4552 "conf_parser.c" /* yacc.c:1646  */
4552      break;
4553  
4554 <  case 274:
4555 < #line 1652 "conf_parser.y" /* yacc.c:1646  */
4554 >  case 291:
4555 > #line 1585 "conf_parser.y" /* yacc.c:1646  */
4556      {
4557    if (conf_parser_ctx.pass == 2)
4558      reset_block_state();
# Line 4560 | Line 4560 | yyreduce:
4560   #line 4561 "conf_parser.c" /* yacc.c:1646  */
4561      break;
4562  
4563 <  case 276:
4564 < #line 1658 "conf_parser.y" /* yacc.c:1646  */
4563 >  case 293:
4564 > #line 1591 "conf_parser.y" /* yacc.c:1646  */
4565      {
4566    block_state.flags.value = 0;
4567   }
4568   #line 4569 "conf_parser.c" /* yacc.c:1646  */
4569      break;
4570  
4571 <  case 280:
4572 < #line 1664 "conf_parser.y" /* yacc.c:1646  */
4571 >  case 297:
4572 > #line 1597 "conf_parser.y" /* yacc.c:1646  */
4573      {
4574    if (conf_parser_ctx.pass == 2)
4575      block_state.flags.value |= LISTENER_SSL;
# Line 4577 | Line 4577 | yyreduce:
4577   #line 4578 "conf_parser.c" /* yacc.c:1646  */
4578      break;
4579  
4580 <  case 281:
4581 < #line 1668 "conf_parser.y" /* yacc.c:1646  */
4580 >  case 298:
4581 > #line 1601 "conf_parser.y" /* yacc.c:1646  */
4582      {
4583    if (conf_parser_ctx.pass == 2)
4584      block_state.flags.value |= LISTENER_HIDDEN;
# Line 4586 | Line 4586 | yyreduce:
4586   #line 4587 "conf_parser.c" /* yacc.c:1646  */
4587      break;
4588  
4589 <  case 282:
4590 < #line 1672 "conf_parser.y" /* yacc.c:1646  */
4589 >  case 299:
4590 > #line 1605 "conf_parser.y" /* yacc.c:1646  */
4591      {
4592    if (conf_parser_ctx.pass == 2)
4593     block_state.flags.value |= LISTENER_SERVER;
# Line 4595 | Line 4595 | yyreduce:
4595   #line 4596 "conf_parser.c" /* yacc.c:1646  */
4596      break;
4597  
4598 <  case 290:
4599 < #line 1680 "conf_parser.y" /* yacc.c:1646  */
4598 >  case 307:
4599 > #line 1613 "conf_parser.y" /* yacc.c:1646  */
4600      { block_state.flags.value = 0; }
4601   #line 4602 "conf_parser.c" /* yacc.c:1646  */
4602      break;
4603  
4604 <  case 294:
4605 < #line 1685 "conf_parser.y" /* yacc.c:1646  */
4604 >  case 311:
4605 > #line 1618 "conf_parser.y" /* yacc.c:1646  */
4606      {
4607    if (conf_parser_ctx.pass == 2)
4608    {
4609 < #ifndef HAVE_LIBCRYPTO
4609 > #ifndef HAVE_TLS
4610      if (block_state.flags.value & LISTENER_SSL)
4611      {
4612 <      conf_error_report("SSL not available - port closed");
4612 >      conf_error_report("TLS not available - port closed");
4613        break;
4614      }
4615   #endif
4616 <    add_listener((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4616 >    listener_add((yyvsp[0].number), block_state.addr.buf, block_state.flags.value);
4617    }
4618   }
4619   #line 4620 "conf_parser.c" /* yacc.c:1646  */
4620      break;
4621  
4622 <  case 295:
4623 < #line 1698 "conf_parser.y" /* yacc.c:1646  */
4622 >  case 312:
4623 > #line 1631 "conf_parser.y" /* yacc.c:1646  */
4624      {
4625    if (conf_parser_ctx.pass == 2)
4626    {
4627 < #ifndef HAVE_LIBCRYPTO
4627 > #ifndef HAVE_TLS
4628      if (block_state.flags.value & LISTENER_SSL)
4629      {
4630 <      conf_error_report("SSL not available - port closed");
4630 >      conf_error_report("TLS not available - port closed");
4631        break;
4632      }
4633   #endif
4634  
4635      for (int i = (yyvsp[-2].number); i <= (yyvsp[0].number); ++i)
4636 <      add_listener(i, block_state.addr.buf, block_state.flags.value);
4636 >      listener_add(i, block_state.addr.buf, block_state.flags.value);
4637    }
4638   }
4639   #line 4640 "conf_parser.c" /* yacc.c:1646  */
4640      break;
4641  
4642 <  case 296:
4643 < #line 1715 "conf_parser.y" /* yacc.c:1646  */
4642 >  case 313:
4643 > #line 1648 "conf_parser.y" /* yacc.c:1646  */
4644      {
4645    if (conf_parser_ctx.pass == 2)
4646      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
# Line 4648 | Line 4648 | yyreduce:
4648   #line 4649 "conf_parser.c" /* yacc.c:1646  */
4649      break;
4650  
4651 <  case 297:
4652 < #line 1721 "conf_parser.y" /* yacc.c:1646  */
4651 >  case 314:
4652 > #line 1654 "conf_parser.y" /* yacc.c:1646  */
4653      {
4654    if (conf_parser_ctx.pass == 2)
4655      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
# Line 4657 | Line 4657 | yyreduce:
4657   #line 4658 "conf_parser.c" /* yacc.c:1646  */
4658      break;
4659  
4660 <  case 298:
4661 < #line 1730 "conf_parser.y" /* yacc.c:1646  */
4660 >  case 315:
4661 > #line 1664 "conf_parser.y" /* yacc.c:1646  */
4662      {
4663    if (conf_parser_ctx.pass == 2)
4664      reset_block_state();
# Line 4666 | Line 4666 | yyreduce:
4666   #line 4667 "conf_parser.c" /* yacc.c:1646  */
4667      break;
4668  
4669 <  case 299:
4670 < #line 1734 "conf_parser.y" /* yacc.c:1646  */
4669 >  case 316:
4670 > #line 1668 "conf_parser.y" /* yacc.c:1646  */
4671      {
4672    dlink_node *node = NULL;
4673  
# Line 4678 | Line 4678 | yyreduce:
4678    {
4679      struct MaskItem *conf = NULL;
4680      struct split_nuh_item nuh;
4681 +    char *s = node->data;
4682  
4683 <    nuh.nuhmask  = node->data;
4683 >    if (EmptyString(s))
4684 >      continue;
4685 >
4686 >    nuh.nuhmask  = s;
4687      nuh.nickptr  = NULL;
4688      nuh.userptr  = block_state.user.buf;
4689      nuh.hostptr  = block_state.host.buf;
# Line 4704 | Line 4708 | yyreduce:
4708      add_conf_by_address(CONF_CLIENT, conf);
4709    }
4710   }
4711 < #line 4708 "conf_parser.c" /* yacc.c:1646  */
4711 > #line 4712 "conf_parser.c" /* yacc.c:1646  */
4712      break;
4713  
4714 <  case 311:
4715 < #line 1783 "conf_parser.y" /* yacc.c:1646  */
4714 >  case 328:
4715 > #line 1721 "conf_parser.y" /* yacc.c:1646  */
4716      {
4717    if (conf_parser_ctx.pass == 2)
4718      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4719   }
4720 < #line 4717 "conf_parser.c" /* yacc.c:1646  */
4720 > #line 4721 "conf_parser.c" /* yacc.c:1646  */
4721      break;
4722  
4723 <  case 312:
4724 < #line 1789 "conf_parser.y" /* yacc.c:1646  */
4723 >  case 329:
4724 > #line 1727 "conf_parser.y" /* yacc.c:1646  */
4725      {
4726    if (conf_parser_ctx.pass == 2)
4727      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4728   }
4729 < #line 4726 "conf_parser.c" /* yacc.c:1646  */
4729 > #line 4730 "conf_parser.c" /* yacc.c:1646  */
4730      break;
4731  
4732 <  case 313:
4733 < #line 1795 "conf_parser.y" /* yacc.c:1646  */
4732 >  case 330:
4733 > #line 1733 "conf_parser.y" /* yacc.c:1646  */
4734      {
4735    if (conf_parser_ctx.pass == 2)
4736      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
4737   }
4738 < #line 4735 "conf_parser.c" /* yacc.c:1646  */
4738 > #line 4739 "conf_parser.c" /* yacc.c:1646  */
4739      break;
4740  
4741 <  case 314:
4742 < #line 1801 "conf_parser.y" /* yacc.c:1646  */
4741 >  case 331:
4742 > #line 1739 "conf_parser.y" /* yacc.c:1646  */
4743      {
4744    if (conf_parser_ctx.pass == 2)
4745    {
# Line 4745 | Line 4749 | yyreduce:
4749        block_state.flags.value &= ~CONF_FLAGS_ENCRYPTED;
4750    }
4751   }
4752 < #line 4749 "conf_parser.c" /* yacc.c:1646  */
4752 > #line 4753 "conf_parser.c" /* yacc.c:1646  */
4753      break;
4754  
4755 <  case 315:
4756 < #line 1812 "conf_parser.y" /* yacc.c:1646  */
4755 >  case 332:
4756 > #line 1750 "conf_parser.y" /* yacc.c:1646  */
4757      {
4758    if (conf_parser_ctx.pass == 2)
4759      block_state.flags.value &= (CONF_FLAGS_ENCRYPTED | CONF_FLAGS_SPOOF_IP);
4760   }
4761 < #line 4758 "conf_parser.c" /* yacc.c:1646  */
4761 > #line 4762 "conf_parser.c" /* yacc.c:1646  */
4762      break;
4763  
4764 <  case 319:
4765 < #line 1819 "conf_parser.y" /* yacc.c:1646  */
4764 >  case 336:
4765 > #line 1757 "conf_parser.y" /* yacc.c:1646  */
4766      {
4767    if (conf_parser_ctx.pass == 2)
4768      block_state.flags.value |= CONF_FLAGS_SPOOF_NOTICE;
4769   }
4770 < #line 4767 "conf_parser.c" /* yacc.c:1646  */
4770 > #line 4771 "conf_parser.c" /* yacc.c:1646  */
4771      break;
4772  
4773 <  case 320:
4774 < #line 1823 "conf_parser.y" /* yacc.c:1646  */
4773 >  case 337:
4774 > #line 1761 "conf_parser.y" /* yacc.c:1646  */
4775      {
4776    if (conf_parser_ctx.pass == 2)
4777      block_state.flags.value |= CONF_FLAGS_NOLIMIT;
4778   }
4779 < #line 4776 "conf_parser.c" /* yacc.c:1646  */
4779 > #line 4780 "conf_parser.c" /* yacc.c:1646  */
4780      break;
4781  
4782 <  case 321:
4783 < #line 1827 "conf_parser.y" /* yacc.c:1646  */
4782 >  case 338:
4783 > #line 1765 "conf_parser.y" /* yacc.c:1646  */
4784      {
4785    if (conf_parser_ctx.pass == 2)
4786      block_state.flags.value |= CONF_FLAGS_EXEMPTKLINE;
4787   }
4788 < #line 4785 "conf_parser.c" /* yacc.c:1646  */
4788 > #line 4789 "conf_parser.c" /* yacc.c:1646  */
4789      break;
4790  
4791 <  case 322:
4792 < #line 1831 "conf_parser.y" /* yacc.c:1646  */
4791 >  case 339:
4792 > #line 1769 "conf_parser.y" /* yacc.c:1646  */
4793      {
4794    if (conf_parser_ctx.pass == 2)
4795      block_state.flags.value |= CONF_FLAGS_EXEMPTXLINE;
4796   }
4797 < #line 4794 "conf_parser.c" /* yacc.c:1646  */
4797 > #line 4798 "conf_parser.c" /* yacc.c:1646  */
4798      break;
4799  
4800 <  case 323:
4801 < #line 1835 "conf_parser.y" /* yacc.c:1646  */
4800 >  case 340:
4801 > #line 1773 "conf_parser.y" /* yacc.c:1646  */
4802      {
4803    if (conf_parser_ctx.pass == 2)
4804      block_state.flags.value |= CONF_FLAGS_NEED_IDENTD;
4805   }
4806 < #line 4803 "conf_parser.c" /* yacc.c:1646  */
4806 > #line 4807 "conf_parser.c" /* yacc.c:1646  */
4807      break;
4808  
4809 <  case 324:
4810 < #line 1839 "conf_parser.y" /* yacc.c:1646  */
4809 >  case 341:
4810 > #line 1777 "conf_parser.y" /* yacc.c:1646  */
4811      {
4812    if (conf_parser_ctx.pass == 2)
4813      block_state.flags.value |= CONF_FLAGS_CAN_FLOOD;
4814   }
4815 < #line 4812 "conf_parser.c" /* yacc.c:1646  */
4815 > #line 4816 "conf_parser.c" /* yacc.c:1646  */
4816      break;
4817  
4818 <  case 325:
4819 < #line 1843 "conf_parser.y" /* yacc.c:1646  */
4818 >  case 342:
4819 > #line 1781 "conf_parser.y" /* yacc.c:1646  */
4820      {
4821    if (conf_parser_ctx.pass == 2)
4822      block_state.flags.value |= CONF_FLAGS_NO_TILDE;
4823   }
4824 < #line 4821 "conf_parser.c" /* yacc.c:1646  */
4824 > #line 4825 "conf_parser.c" /* yacc.c:1646  */
4825      break;
4826  
4827 <  case 326:
4828 < #line 1847 "conf_parser.y" /* yacc.c:1646  */
4827 >  case 343:
4828 > #line 1785 "conf_parser.y" /* yacc.c:1646  */
4829      {
4830    if (conf_parser_ctx.pass == 2)
4831      block_state.flags.value |= CONF_FLAGS_EXEMPTRESV;
4832   }
4833 < #line 4830 "conf_parser.c" /* yacc.c:1646  */
4833 > #line 4834 "conf_parser.c" /* yacc.c:1646  */
4834      break;
4835  
4836 <  case 327:
4837 < #line 1851 "conf_parser.y" /* yacc.c:1646  */
4836 >  case 344:
4837 > #line 1789 "conf_parser.y" /* yacc.c:1646  */
4838      {
4839    if (conf_parser_ctx.pass == 2)
4840      block_state.flags.value |= CONF_FLAGS_WEBIRC;
4841   }
4842 < #line 4839 "conf_parser.c" /* yacc.c:1646  */
4842 > #line 4843 "conf_parser.c" /* yacc.c:1646  */
4843      break;
4844  
4845 <  case 328:
4846 < #line 1855 "conf_parser.y" /* yacc.c:1646  */
4845 >  case 345:
4846 > #line 1793 "conf_parser.y" /* yacc.c:1646  */
4847      {
4848    if (conf_parser_ctx.pass == 2)
4849      block_state.flags.value |= CONF_FLAGS_NEED_PASSWORD;
4850   }
4851 < #line 4848 "conf_parser.c" /* yacc.c:1646  */
4851 > #line 4852 "conf_parser.c" /* yacc.c:1646  */
4852      break;
4853  
4854 <  case 329:
4855 < #line 1861 "conf_parser.y" /* yacc.c:1646  */
4854 >  case 346:
4855 > #line 1799 "conf_parser.y" /* yacc.c:1646  */
4856      {
4857    if (conf_parser_ctx.pass != 2)
4858      break;
# Line 4861 | Line 4865 | yyreduce:
4865    else
4866      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4867   }
4868 < #line 4865 "conf_parser.c" /* yacc.c:1646  */
4868 > #line 4869 "conf_parser.c" /* yacc.c:1646  */
4869      break;
4870  
4871 <  case 330:
4872 < #line 1875 "conf_parser.y" /* yacc.c:1646  */
4871 >  case 347:
4872 > #line 1813 "conf_parser.y" /* yacc.c:1646  */
4873      {
4874    if (conf_parser_ctx.pass != 2)
4875      break;
# Line 4873 | Line 4877 | yyreduce:
4877    strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4878    block_state.flags.value |= CONF_FLAGS_REDIR;
4879   }
4880 < #line 4877 "conf_parser.c" /* yacc.c:1646  */
4880 > #line 4881 "conf_parser.c" /* yacc.c:1646  */
4881      break;
4882  
4883 <  case 331:
4884 < #line 1884 "conf_parser.y" /* yacc.c:1646  */
4883 >  case 348:
4884 > #line 1822 "conf_parser.y" /* yacc.c:1646  */
4885      {
4886    if (conf_parser_ctx.pass != 2)
4887      break;
# Line 4885 | Line 4889 | yyreduce:
4889    block_state.flags.value |= CONF_FLAGS_REDIR;
4890    block_state.port.value = (yyvsp[-1].number);
4891   }
4892 < #line 4889 "conf_parser.c" /* yacc.c:1646  */
4892 > #line 4893 "conf_parser.c" /* yacc.c:1646  */
4893      break;
4894  
4895 <  case 332:
4896 < #line 1897 "conf_parser.y" /* yacc.c:1646  */
4895 >  case 349:
4896 > #line 1835 "conf_parser.y" /* yacc.c:1646  */
4897      {
4898    if (conf_parser_ctx.pass != 2)
4899      break;
# Line 4897 | Line 4901 | yyreduce:
4901    reset_block_state();
4902    strlcpy(block_state.rpass.buf, CONF_NOREASON, sizeof(block_state.rpass.buf));
4903   }
4904 < #line 4901 "conf_parser.c" /* yacc.c:1646  */
4904 > #line 4905 "conf_parser.c" /* yacc.c:1646  */
4905      break;
4906  
4907 <  case 333:
4908 < #line 1904 "conf_parser.y" /* yacc.c:1646  */
4907 >  case 350:
4908 > #line 1842 "conf_parser.y" /* yacc.c:1646  */
4909      {
4910    if (conf_parser_ctx.pass != 2)
4911      break;
4912  
4913 <  create_resv(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4913 >  resv_make(block_state.name.buf, block_state.rpass.buf, &block_state.mask.list);
4914   }
4915 < #line 4912 "conf_parser.c" /* yacc.c:1646  */
4915 > #line 4916 "conf_parser.c" /* yacc.c:1646  */
4916      break;
4917  
4918 <  case 340:
4919 < #line 1915 "conf_parser.y" /* yacc.c:1646  */
4918 >  case 357:
4919 > #line 1853 "conf_parser.y" /* yacc.c:1646  */
4920      {
4921    if (conf_parser_ctx.pass == 2)
4922      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4923   }
4924 < #line 4921 "conf_parser.c" /* yacc.c:1646  */
4924 > #line 4925 "conf_parser.c" /* yacc.c:1646  */
4925      break;
4926  
4927 <  case 341:
4928 < #line 1921 "conf_parser.y" /* yacc.c:1646  */
4927 >  case 358:
4928 > #line 1859 "conf_parser.y" /* yacc.c:1646  */
4929      {
4930    if (conf_parser_ctx.pass == 2)
4931      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
4932   }
4933 < #line 4930 "conf_parser.c" /* yacc.c:1646  */
4933 > #line 4934 "conf_parser.c" /* yacc.c:1646  */
4934      break;
4935  
4936 <  case 342:
4937 < #line 1927 "conf_parser.y" /* yacc.c:1646  */
4936 >  case 359:
4937 > #line 1865 "conf_parser.y" /* yacc.c:1646  */
4938      {
4939    if (conf_parser_ctx.pass == 2)
4940      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.mask.list);
4941   }
4942 < #line 4939 "conf_parser.c" /* yacc.c:1646  */
4942 > #line 4943 "conf_parser.c" /* yacc.c:1646  */
4943      break;
4944  
4945 <  case 348:
4946 < #line 1942 "conf_parser.y" /* yacc.c:1646  */
4945 >  case 365:
4946 > #line 1880 "conf_parser.y" /* yacc.c:1646  */
4947      {
4948    if (conf_parser_ctx.pass != 2)
4949      break;
4950  
4951    if (valid_servname(yylval.string))
4952    {
4953 <    struct MaskItem *conf = conf_make(CONF_SERVICE);
4954 <    conf->name = xstrdup(yylval.string);
4953 >    struct ServiceItem *service = service_make();
4954 >    service->name = xstrdup(yylval.string);
4955    }
4956   }
4957 < #line 4954 "conf_parser.c" /* yacc.c:1646  */
4957 > #line 4958 "conf_parser.c" /* yacc.c:1646  */
4958      break;
4959  
4960 <  case 349:
4961 < #line 1957 "conf_parser.y" /* yacc.c:1646  */
4960 >  case 366:
4961 > #line 1896 "conf_parser.y" /* yacc.c:1646  */
4962      {
4963    if (conf_parser_ctx.pass != 2)
4964      break;
# Line 4966 | Line 4970 | yyreduce:
4970    strlcpy(block_state.host.buf, "*", sizeof(block_state.host.buf));
4971    block_state.flags.value = SHARED_ALL;
4972   }
4973 < #line 4970 "conf_parser.c" /* yacc.c:1646  */
4973 > #line 4974 "conf_parser.c" /* yacc.c:1646  */
4974      break;
4975  
4976 <  case 350:
4977 < #line 1968 "conf_parser.y" /* yacc.c:1646  */
4976 >  case 367:
4977 > #line 1907 "conf_parser.y" /* yacc.c:1646  */
4978      {
4975  struct MaskItem *conf = NULL;
4976
4979    if (conf_parser_ctx.pass != 2)
4980      break;
4981  
4982 <  conf = conf_make(CONF_ULINE);
4983 <  conf->flags = block_state.flags.value;
4984 <  conf->name = xstrdup(block_state.name.buf);
4985 <  conf->user = xstrdup(block_state.user.buf);
4986 <  conf->host = xstrdup(block_state.host.buf);
4982 >  struct SharedItem *shared = shared_make();
4983 >  shared->type = block_state.flags.value;
4984 >  shared->server = xstrdup(block_state.name.buf);
4985 >  shared->user = xstrdup(block_state.user.buf);
4986 >  shared->host = xstrdup(block_state.host.buf);
4987   }
4988 < #line 4987 "conf_parser.c" /* yacc.c:1646  */
4988 > #line 4989 "conf_parser.c" /* yacc.c:1646  */
4989      break;
4990  
4991 <  case 357:
4992 < #line 1985 "conf_parser.y" /* yacc.c:1646  */
4991 >  case 374:
4992 > #line 1922 "conf_parser.y" /* yacc.c:1646  */
4993      {
4994    if (conf_parser_ctx.pass == 2)
4995      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
4996   }
4997 < #line 4996 "conf_parser.c" /* yacc.c:1646  */
4997 > #line 4998 "conf_parser.c" /* yacc.c:1646  */
4998      break;
4999  
5000 <  case 358:
5001 < #line 1991 "conf_parser.y" /* yacc.c:1646  */
5000 >  case 375:
5001 > #line 1928 "conf_parser.y" /* yacc.c:1646  */
5002      {
5003    if (conf_parser_ctx.pass == 2)
5004    {
# Line 5014 | Line 5016 | yyreduce:
5016      split_nuh(&nuh);
5017    }
5018   }
5019 < #line 5018 "conf_parser.c" /* yacc.c:1646  */
5019 > #line 5020 "conf_parser.c" /* yacc.c:1646  */
5020      break;
5021  
5022 <  case 359:
5023 < #line 2010 "conf_parser.y" /* yacc.c:1646  */
5022 >  case 376:
5023 > #line 1947 "conf_parser.y" /* yacc.c:1646  */
5024      {
5025    if (conf_parser_ctx.pass == 2)
5026      block_state.flags.value = 0;
5027   }
5028 < #line 5027 "conf_parser.c" /* yacc.c:1646  */
5028 > #line 5029 "conf_parser.c" /* yacc.c:1646  */
5029      break;
5030  
5031 <  case 363:
5032 < #line 2017 "conf_parser.y" /* yacc.c:1646  */
5031 >  case 380:
5032 > #line 1954 "conf_parser.y" /* yacc.c:1646  */
5033      {
5034    if (conf_parser_ctx.pass == 2)
5035      block_state.flags.value |= SHARED_KLINE;
5036   }
5037 < #line 5036 "conf_parser.c" /* yacc.c:1646  */
5037 > #line 5038 "conf_parser.c" /* yacc.c:1646  */
5038      break;
5039  
5040 <  case 364:
5041 < #line 2021 "conf_parser.y" /* yacc.c:1646  */
5040 >  case 381:
5041 > #line 1958 "conf_parser.y" /* yacc.c:1646  */
5042      {
5043    if (conf_parser_ctx.pass == 2)
5044      block_state.flags.value |= SHARED_UNKLINE;
5045   }
5046 < #line 5045 "conf_parser.c" /* yacc.c:1646  */
5046 > #line 5047 "conf_parser.c" /* yacc.c:1646  */
5047      break;
5048  
5049 <  case 365:
5050 < #line 2025 "conf_parser.y" /* yacc.c:1646  */
5049 >  case 382:
5050 > #line 1962 "conf_parser.y" /* yacc.c:1646  */
5051      {
5052    if (conf_parser_ctx.pass == 2)
5053      block_state.flags.value |= SHARED_DLINE;
5054   }
5055 < #line 5054 "conf_parser.c" /* yacc.c:1646  */
5055 > #line 5056 "conf_parser.c" /* yacc.c:1646  */
5056      break;
5057  
5058 <  case 366:
5059 < #line 2029 "conf_parser.y" /* yacc.c:1646  */
5058 >  case 383:
5059 > #line 1966 "conf_parser.y" /* yacc.c:1646  */
5060      {
5061    if (conf_parser_ctx.pass == 2)
5062      block_state.flags.value |= SHARED_UNDLINE;
5063   }
5064 < #line 5063 "conf_parser.c" /* yacc.c:1646  */
5064 > #line 5065 "conf_parser.c" /* yacc.c:1646  */
5065      break;
5066  
5067 <  case 367:
5068 < #line 2033 "conf_parser.y" /* yacc.c:1646  */
5067 >  case 384:
5068 > #line 1970 "conf_parser.y" /* yacc.c:1646  */
5069      {
5070    if (conf_parser_ctx.pass == 2)
5071      block_state.flags.value |= SHARED_XLINE;
5072   }
5073 < #line 5072 "conf_parser.c" /* yacc.c:1646  */
5073 > #line 5074 "conf_parser.c" /* yacc.c:1646  */
5074      break;
5075  
5076 <  case 368:
5077 < #line 2037 "conf_parser.y" /* yacc.c:1646  */
5076 >  case 385:
5077 > #line 1974 "conf_parser.y" /* yacc.c:1646  */
5078      {
5079    if (conf_parser_ctx.pass == 2)
5080      block_state.flags.value |= SHARED_UNXLINE;
5081   }
5082 < #line 5081 "conf_parser.c" /* yacc.c:1646  */
5082 > #line 5083 "conf_parser.c" /* yacc.c:1646  */
5083      break;
5084  
5085 <  case 369:
5086 < #line 2041 "conf_parser.y" /* yacc.c:1646  */
5085 >  case 386:
5086 > #line 1978 "conf_parser.y" /* yacc.c:1646  */
5087      {
5088    if (conf_parser_ctx.pass == 2)
5089      block_state.flags.value |= SHARED_RESV;
5090   }
5091 < #line 5090 "conf_parser.c" /* yacc.c:1646  */
5091 > #line 5092 "conf_parser.c" /* yacc.c:1646  */
5092      break;
5093  
5094 <  case 370:
5095 < #line 2045 "conf_parser.y" /* yacc.c:1646  */
5094 >  case 387:
5095 > #line 1982 "conf_parser.y" /* yacc.c:1646  */
5096      {
5097    if (conf_parser_ctx.pass == 2)
5098      block_state.flags.value |= SHARED_UNRESV;
5099   }
5100 < #line 5099 "conf_parser.c" /* yacc.c:1646  */
5100 > #line 5101 "conf_parser.c" /* yacc.c:1646  */
5101      break;
5102  
5103 <  case 371:
5104 < #line 2049 "conf_parser.y" /* yacc.c:1646  */
5103 >  case 388:
5104 > #line 1986 "conf_parser.y" /* yacc.c:1646  */
5105      {
5106    if (conf_parser_ctx.pass == 2)
5107      block_state.flags.value |= SHARED_LOCOPS;
5108   }
5109 < #line 5108 "conf_parser.c" /* yacc.c:1646  */
5109 > #line 5110 "conf_parser.c" /* yacc.c:1646  */
5110      break;
5111  
5112 <  case 372:
5113 < #line 2053 "conf_parser.y" /* yacc.c:1646  */
5112 >  case 389:
5113 > #line 1990 "conf_parser.y" /* yacc.c:1646  */
5114      {
5115    if (conf_parser_ctx.pass == 2)
5116      block_state.flags.value = SHARED_ALL;
5117   }
5118 < #line 5117 "conf_parser.c" /* yacc.c:1646  */
5118 > #line 5119 "conf_parser.c" /* yacc.c:1646  */
5119      break;
5120  
5121 <  case 373:
5122 < #line 2062 "conf_parser.y" /* yacc.c:1646  */
5121 >  case 390:
5122 > #line 2000 "conf_parser.y" /* yacc.c:1646  */
5123      {
5124    if (conf_parser_ctx.pass != 2)
5125      break;
# Line 5125 | Line 5127 | yyreduce:
5127    reset_block_state();
5128  
5129    strlcpy(block_state.name.buf, "*", sizeof(block_state.name.buf));
5130 <  block_state.flags.value = SHARED_ALL;
5130 >  block_state.flags.value = CLUSTER_ALL;
5131   }
5132 < #line 5131 "conf_parser.c" /* yacc.c:1646  */
5132 > #line 5133 "conf_parser.c" /* yacc.c:1646  */
5133      break;
5134  
5135 <  case 374:
5136 < #line 2071 "conf_parser.y" /* yacc.c:1646  */
5135 >  case 391:
5136 > #line 2009 "conf_parser.y" /* yacc.c:1646  */
5137      {
5136  struct MaskItem *conf = NULL;
5137
5138    if (conf_parser_ctx.pass != 2)
5139      break;
5140  
5141 <  conf = conf_make(CONF_CLUSTER);
5142 <  conf->flags = block_state.flags.value;
5143 <  conf->name = xstrdup(block_state.name.buf);
5141 >  struct ClusterItem *cluster = cluster_make();
5142 >  cluster->type = block_state.flags.value;
5143 >  cluster->server = xstrdup(block_state.name.buf);
5144   }
5145   #line 5146 "conf_parser.c" /* yacc.c:1646  */
5146      break;
5147  
5148 <  case 380:
5149 < #line 2086 "conf_parser.y" /* yacc.c:1646  */
5148 >  case 397:
5149 > #line 2022 "conf_parser.y" /* yacc.c:1646  */
5150      {
5151    if (conf_parser_ctx.pass == 2)
5152      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 5154 | Line 5154 | yyreduce:
5154   #line 5155 "conf_parser.c" /* yacc.c:1646  */
5155      break;
5156  
5157 <  case 381:
5158 < #line 2092 "conf_parser.y" /* yacc.c:1646  */
5157 >  case 398:
5158 > #line 2028 "conf_parser.y" /* yacc.c:1646  */
5159      {
5160    if (conf_parser_ctx.pass == 2)
5161      block_state.flags.value = 0;
# Line 5163 | Line 5163 | yyreduce:
5163   #line 5164 "conf_parser.c" /* yacc.c:1646  */
5164      break;
5165  
5166 <  case 385:
5167 < #line 2099 "conf_parser.y" /* yacc.c:1646  */
5166 >  case 402:
5167 > #line 2035 "conf_parser.y" /* yacc.c:1646  */
5168      {
5169    if (conf_parser_ctx.pass == 2)
5170 <    block_state.flags.value |= SHARED_KLINE;
5170 >    block_state.flags.value |= CLUSTER_KLINE;
5171   }
5172   #line 5173 "conf_parser.c" /* yacc.c:1646  */
5173      break;
5174  
5175 <  case 386:
5176 < #line 2103 "conf_parser.y" /* yacc.c:1646  */
5175 >  case 403:
5176 > #line 2039 "conf_parser.y" /* yacc.c:1646  */
5177      {
5178    if (conf_parser_ctx.pass == 2)
5179 <    block_state.flags.value |= SHARED_UNKLINE;
5179 >    block_state.flags.value |= CLUSTER_UNKLINE;
5180   }
5181   #line 5182 "conf_parser.c" /* yacc.c:1646  */
5182      break;
5183  
5184 <  case 387:
5185 < #line 2107 "conf_parser.y" /* yacc.c:1646  */
5184 >  case 404:
5185 > #line 2043 "conf_parser.y" /* yacc.c:1646  */
5186      {
5187    if (conf_parser_ctx.pass == 2)
5188 <    block_state.flags.value |= SHARED_DLINE;
5188 >    block_state.flags.value |= CLUSTER_DLINE;
5189   }
5190   #line 5191 "conf_parser.c" /* yacc.c:1646  */
5191      break;
5192  
5193 <  case 388:
5194 < #line 2111 "conf_parser.y" /* yacc.c:1646  */
5193 >  case 405:
5194 > #line 2047 "conf_parser.y" /* yacc.c:1646  */
5195      {
5196    if (conf_parser_ctx.pass == 2)
5197 <    block_state.flags.value |= SHARED_UNDLINE;
5197 >    block_state.flags.value |= CLUSTER_UNDLINE;
5198   }
5199   #line 5200 "conf_parser.c" /* yacc.c:1646  */
5200      break;
5201  
5202 <  case 389:
5203 < #line 2115 "conf_parser.y" /* yacc.c:1646  */
5202 >  case 406:
5203 > #line 2051 "conf_parser.y" /* yacc.c:1646  */
5204      {
5205    if (conf_parser_ctx.pass == 2)
5206 <    block_state.flags.value |= SHARED_XLINE;
5206 >    block_state.flags.value |= CLUSTER_XLINE;
5207   }
5208   #line 5209 "conf_parser.c" /* yacc.c:1646  */
5209      break;
5210  
5211 <  case 390:
5212 < #line 2119 "conf_parser.y" /* yacc.c:1646  */
5211 >  case 407:
5212 > #line 2055 "conf_parser.y" /* yacc.c:1646  */
5213      {
5214    if (conf_parser_ctx.pass == 2)
5215 <    block_state.flags.value |= SHARED_UNXLINE;
5215 >    block_state.flags.value |= CLUSTER_UNXLINE;
5216   }
5217   #line 5218 "conf_parser.c" /* yacc.c:1646  */
5218      break;
5219  
5220 <  case 391:
5221 < #line 2123 "conf_parser.y" /* yacc.c:1646  */
5220 >  case 408:
5221 > #line 2059 "conf_parser.y" /* yacc.c:1646  */
5222      {
5223    if (conf_parser_ctx.pass == 2)
5224 <    block_state.flags.value |= SHARED_RESV;
5224 >    block_state.flags.value |= CLUSTER_RESV;
5225   }
5226   #line 5227 "conf_parser.c" /* yacc.c:1646  */
5227      break;
5228  
5229 <  case 392:
5230 < #line 2127 "conf_parser.y" /* yacc.c:1646  */
5229 >  case 409:
5230 > #line 2063 "conf_parser.y" /* yacc.c:1646  */
5231      {
5232    if (conf_parser_ctx.pass == 2)
5233 <    block_state.flags.value |= SHARED_UNRESV;
5233 >    block_state.flags.value |= CLUSTER_UNRESV;
5234   }
5235   #line 5236 "conf_parser.c" /* yacc.c:1646  */
5236      break;
5237  
5238 <  case 393:
5239 < #line 2131 "conf_parser.y" /* yacc.c:1646  */
5238 >  case 410:
5239 > #line 2067 "conf_parser.y" /* yacc.c:1646  */
5240      {
5241    if (conf_parser_ctx.pass == 2)
5242 <    block_state.flags.value |= SHARED_LOCOPS;
5242 >    block_state.flags.value |= CLUSTER_LOCOPS;
5243   }
5244   #line 5245 "conf_parser.c" /* yacc.c:1646  */
5245      break;
5246  
5247 <  case 394:
5248 < #line 2135 "conf_parser.y" /* yacc.c:1646  */
5247 >  case 411:
5248 > #line 2071 "conf_parser.y" /* yacc.c:1646  */
5249      {
5250    if (conf_parser_ctx.pass == 2)
5251 <    block_state.flags.value = SHARED_ALL;
5251 >    block_state.flags.value = CLUSTER_ALL;
5252   }
5253   #line 5254 "conf_parser.c" /* yacc.c:1646  */
5254      break;
5255  
5256 <  case 395:
5257 < #line 2144 "conf_parser.y" /* yacc.c:1646  */
5256 >  case 412:
5257 > #line 2081 "conf_parser.y" /* yacc.c:1646  */
5258      {
5259  
5260    if (conf_parser_ctx.pass != 2)
# Line 5267 | Line 5267 | yyreduce:
5267   #line 5268 "conf_parser.c" /* yacc.c:1646  */
5268      break;
5269  
5270 <  case 396:
5271 < #line 2153 "conf_parser.y" /* yacc.c:1646  */
5270 >  case 413:
5271 > #line 2090 "conf_parser.y" /* yacc.c:1646  */
5272      {
5273    struct MaskItem *conf = NULL;
5274    struct addrinfo hints, *res;
# Line 5333 | Line 5333 | yyreduce:
5333   #line 5334 "conf_parser.c" /* yacc.c:1646  */
5334      break;
5335  
5336 <  case 414:
5337 < #line 2233 "conf_parser.y" /* yacc.c:1646  */
5336 >  case 431:
5337 > #line 2170 "conf_parser.y" /* yacc.c:1646  */
5338      {
5339    if (conf_parser_ctx.pass == 2)
5340      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
# Line 5342 | Line 5342 | yyreduce:
5342   #line 5343 "conf_parser.c" /* yacc.c:1646  */
5343      break;
5344  
5345 <  case 415:
5346 < #line 2239 "conf_parser.y" /* yacc.c:1646  */
5345 >  case 432:
5346 > #line 2176 "conf_parser.y" /* yacc.c:1646  */
5347      {
5348    if (conf_parser_ctx.pass == 2)
5349      strlcpy(block_state.host.buf, yylval.string, sizeof(block_state.host.buf));
# Line 5351 | Line 5351 | yyreduce:
5351   #line 5352 "conf_parser.c" /* yacc.c:1646  */
5352      break;
5353  
5354 <  case 416:
5355 < #line 2245 "conf_parser.y" /* yacc.c:1646  */
5354 >  case 433:
5355 > #line 2182 "conf_parser.y" /* yacc.c:1646  */
5356      {
5357    if (conf_parser_ctx.pass == 2)
5358      strlcpy(block_state.bind.buf, yylval.string, sizeof(block_state.bind.buf));
# Line 5360 | Line 5360 | yyreduce:
5360   #line 5361 "conf_parser.c" /* yacc.c:1646  */
5361      break;
5362  
5363 <  case 417:
5364 < #line 2251 "conf_parser.y" /* yacc.c:1646  */
5363 >  case 434:
5364 > #line 2188 "conf_parser.y" /* yacc.c:1646  */
5365      {
5366    if (conf_parser_ctx.pass != 2)
5367      break;
# Line 5376 | Line 5376 | yyreduce:
5376   #line 5377 "conf_parser.c" /* yacc.c:1646  */
5377      break;
5378  
5379 <  case 418:
5380 < #line 2264 "conf_parser.y" /* yacc.c:1646  */
5379 >  case 435:
5380 > #line 2201 "conf_parser.y" /* yacc.c:1646  */
5381      {
5382    if (conf_parser_ctx.pass != 2)
5383      break;
# Line 5392 | Line 5392 | yyreduce:
5392   #line 5393 "conf_parser.c" /* yacc.c:1646  */
5393      break;
5394  
5395 <  case 419:
5396 < #line 2277 "conf_parser.y" /* yacc.c:1646  */
5395 >  case 436:
5396 > #line 2214 "conf_parser.y" /* yacc.c:1646  */
5397      {
5398    if (conf_parser_ctx.pass == 2)
5399      strlcpy(block_state.cert.buf, yylval.string, sizeof(block_state.cert.buf));
# Line 5401 | Line 5401 | yyreduce:
5401   #line 5402 "conf_parser.c" /* yacc.c:1646  */
5402      break;
5403  
5404 <  case 420:
5405 < #line 2283 "conf_parser.y" /* yacc.c:1646  */
5404 >  case 437:
5405 > #line 2220 "conf_parser.y" /* yacc.c:1646  */
5406      {
5407    if (conf_parser_ctx.pass == 2)
5408      block_state.port.value = (yyvsp[-1].number);
# Line 5410 | Line 5410 | yyreduce:
5410   #line 5411 "conf_parser.c" /* yacc.c:1646  */
5411      break;
5412  
5413 <  case 421:
5414 < #line 2289 "conf_parser.y" /* yacc.c:1646  */
5413 >  case 438:
5414 > #line 2226 "conf_parser.y" /* yacc.c:1646  */
5415      {
5416    if (conf_parser_ctx.pass == 2)
5417      block_state.aftype.value = AF_INET;
# Line 5419 | Line 5419 | yyreduce:
5419   #line 5420 "conf_parser.c" /* yacc.c:1646  */
5420      break;
5421  
5422 <  case 422:
5423 < #line 2293 "conf_parser.y" /* yacc.c:1646  */
5422 >  case 439:
5423 > #line 2230 "conf_parser.y" /* yacc.c:1646  */
5424      {
5425    if (conf_parser_ctx.pass == 2)
5426      block_state.aftype.value = AF_INET6;
# Line 5428 | Line 5428 | yyreduce:
5428   #line 5429 "conf_parser.c" /* yacc.c:1646  */
5429      break;
5430  
5431 <  case 423:
5432 < #line 2299 "conf_parser.y" /* yacc.c:1646  */
5431 >  case 440:
5432 > #line 2236 "conf_parser.y" /* yacc.c:1646  */
5433      {
5434    block_state.flags.value &= CONF_FLAGS_ENCRYPTED;
5435   }
5436   #line 5437 "conf_parser.c" /* yacc.c:1646  */
5437      break;
5438  
5439 <  case 427:
5440 < #line 2305 "conf_parser.y" /* yacc.c:1646  */
5439 >  case 444:
5440 > #line 2242 "conf_parser.y" /* yacc.c:1646  */
5441      {
5442    if (conf_parser_ctx.pass == 2)
5443      block_state.flags.value |= CONF_FLAGS_ALLOW_AUTO_CONN;
# Line 5445 | Line 5445 | yyreduce:
5445   #line 5446 "conf_parser.c" /* yacc.c:1646  */
5446      break;
5447  
5448 <  case 428:
5449 < #line 2309 "conf_parser.y" /* yacc.c:1646  */
5448 >  case 445:
5449 > #line 2246 "conf_parser.y" /* yacc.c:1646  */
5450      {
5451    if (conf_parser_ctx.pass == 2)
5452      block_state.flags.value |= CONF_FLAGS_SSL;
# Line 5454 | Line 5454 | yyreduce:
5454   #line 5455 "conf_parser.c" /* yacc.c:1646  */
5455      break;
5456  
5457 <  case 429:
5458 < #line 2315 "conf_parser.y" /* yacc.c:1646  */
5457 >  case 446:
5458 > #line 2252 "conf_parser.y" /* yacc.c:1646  */
5459      {
5460    if (conf_parser_ctx.pass == 2)
5461    {
# Line 5468 | Line 5468 | yyreduce:
5468   #line 5469 "conf_parser.c" /* yacc.c:1646  */
5469      break;
5470  
5471 <  case 430:
5472 < #line 2326 "conf_parser.y" /* yacc.c:1646  */
5471 >  case 447:
5472 > #line 2263 "conf_parser.y" /* yacc.c:1646  */
5473      {
5474    if (conf_parser_ctx.pass == 2)
5475      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.hub.list);
# Line 5477 | Line 5477 | yyreduce:
5477   #line 5478 "conf_parser.c" /* yacc.c:1646  */
5478      break;
5479  
5480 <  case 431:
5481 < #line 2332 "conf_parser.y" /* yacc.c:1646  */
5480 >  case 448:
5481 > #line 2269 "conf_parser.y" /* yacc.c:1646  */
5482      {
5483    if (conf_parser_ctx.pass == 2)
5484      dlinkAdd(xstrdup(yylval.string), make_dlink_node(), &block_state.leaf.list);
# Line 5486 | Line 5486 | yyreduce:
5486   #line 5487 "conf_parser.c" /* yacc.c:1646  */
5487      break;
5488  
5489 <  case 432:
5490 < #line 2338 "conf_parser.y" /* yacc.c:1646  */
5489 >  case 449:
5490 > #line 2275 "conf_parser.y" /* yacc.c:1646  */
5491      {
5492    if (conf_parser_ctx.pass == 2)
5493      strlcpy(block_state.class.buf, yylval.string, sizeof(block_state.class.buf));
# Line 5495 | Line 5495 | yyreduce:
5495   #line 5496 "conf_parser.c" /* yacc.c:1646  */
5496      break;
5497  
5498 <  case 433:
5499 < #line 2344 "conf_parser.y" /* yacc.c:1646  */
5498 >  case 450:
5499 > #line 2281 "conf_parser.y" /* yacc.c:1646  */
5500      {
5501 < #ifdef HAVE_LIBCRYPTO
5501 > #ifdef HAVE_TLS
5502    if (conf_parser_ctx.pass == 2)
5503      strlcpy(block_state.ciph.buf, yylval.string, sizeof(block_state.ciph.buf));
5504   #else
5505    if (conf_parser_ctx.pass == 2)
5506 <    conf_error_report("Ignoring connect::ciphers -- no OpenSSL support");
5506 >    conf_error_report("Ignoring connect::ciphers -- no TLS support");
5507   #endif
5508   }
5509   #line 5510 "conf_parser.c" /* yacc.c:1646  */
5510      break;
5511  
5512 <  case 434:
5513 < #line 2359 "conf_parser.y" /* yacc.c:1646  */
5512 >  case 451:
5513 > #line 2296 "conf_parser.y" /* yacc.c:1646  */
5514      {
5515    if (conf_parser_ctx.pass == 2)
5516      reset_block_state();
# Line 5518 | Line 5518 | yyreduce:
5518   #line 5519 "conf_parser.c" /* yacc.c:1646  */
5519      break;
5520  
5521 <  case 435:
5522 < #line 2363 "conf_parser.y" /* yacc.c:1646  */
5521 >  case 452:
5522 > #line 2300 "conf_parser.y" /* yacc.c:1646  */
5523      {
5524    struct MaskItem *conf = NULL;
5525  
# Line 5543 | Line 5543 | yyreduce:
5543   #line 5544 "conf_parser.c" /* yacc.c:1646  */
5544      break;
5545  
5546 <  case 441:
5547 < #line 2388 "conf_parser.y" /* yacc.c:1646  */
5546 >  case 458:
5547 > #line 2325 "conf_parser.y" /* yacc.c:1646  */
5548      {
5549  
5550    if (conf_parser_ctx.pass == 2)
# Line 5566 | Line 5566 | yyreduce:
5566   #line 5567 "conf_parser.c" /* yacc.c:1646  */
5567      break;
5568  
5569 <  case 442:
5570 < #line 2408 "conf_parser.y" /* yacc.c:1646  */
5569 >  case 459:
5570 > #line 2345 "conf_parser.y" /* yacc.c:1646  */
5571      {
5572    if (conf_parser_ctx.pass == 2)
5573      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 5575 | Line 5575 | yyreduce:
5575   #line 5576 "conf_parser.c" /* yacc.c:1646  */
5576      break;
5577  
5578 <  case 443:
5579 < #line 2417 "conf_parser.y" /* yacc.c:1646  */
5578 >  case 460:
5579 > #line 2355 "conf_parser.y" /* yacc.c:1646  */
5580      {
5581    if (conf_parser_ctx.pass == 2)
5582      reset_block_state();
# Line 5584 | Line 5584 | yyreduce:
5584   #line 5585 "conf_parser.c" /* yacc.c:1646  */
5585      break;
5586  
5587 <  case 444:
5588 < #line 2421 "conf_parser.y" /* yacc.c:1646  */
5587 >  case 461:
5588 > #line 2359 "conf_parser.y" /* yacc.c:1646  */
5589      {
5590    struct MaskItem *conf = NULL;
5591  
# Line 5610 | Line 5610 | yyreduce:
5610   #line 5611 "conf_parser.c" /* yacc.c:1646  */
5611      break;
5612  
5613 <  case 450:
5614 < #line 2447 "conf_parser.y" /* yacc.c:1646  */
5613 >  case 467:
5614 > #line 2385 "conf_parser.y" /* yacc.c:1646  */
5615      {
5616    if (conf_parser_ctx.pass == 2)
5617      strlcpy(block_state.addr.buf, yylval.string, sizeof(block_state.addr.buf));
# Line 5619 | Line 5619 | yyreduce:
5619   #line 5620 "conf_parser.c" /* yacc.c:1646  */
5620      break;
5621  
5622 <  case 451:
5623 < #line 2453 "conf_parser.y" /* yacc.c:1646  */
5622 >  case 468:
5623 > #line 2391 "conf_parser.y" /* yacc.c:1646  */
5624      {
5625    if (conf_parser_ctx.pass == 2)
5626      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
# Line 5628 | Line 5628 | yyreduce:
5628   #line 5629 "conf_parser.c" /* yacc.c:1646  */
5629      break;
5630  
5631 <  case 457:
5632 < #line 2467 "conf_parser.y" /* yacc.c:1646  */
5631 >  case 474:
5632 > #line 2406 "conf_parser.y" /* yacc.c:1646  */
5633      {
5634    if (conf_parser_ctx.pass == 2)
5635    {
5636 <    if (yylval.string[0] && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5636 >    if (*yylval.string && parse_netmask(yylval.string, NULL, NULL) != HM_HOST)
5637      {
5638        struct MaskItem *conf = conf_make(CONF_EXEMPT);
5639        conf->host = xstrdup(yylval.string);
# Line 5645 | Line 5645 | yyreduce:
5645   #line 5646 "conf_parser.c" /* yacc.c:1646  */
5646      break;
5647  
5648 <  case 458:
5649 < #line 2484 "conf_parser.y" /* yacc.c:1646  */
5648 >  case 475:
5649 > #line 2423 "conf_parser.y" /* yacc.c:1646  */
5650      {
5651    if (conf_parser_ctx.pass == 2)
5652      reset_block_state();
# Line 5654 | Line 5654 | yyreduce:
5654   #line 5655 "conf_parser.c" /* yacc.c:1646  */
5655      break;
5656  
5657 <  case 459:
5658 < #line 2488 "conf_parser.y" /* yacc.c:1646  */
5657 >  case 476:
5658 > #line 2427 "conf_parser.y" /* yacc.c:1646  */
5659      {
5660  struct MaskItem *conf = NULL;
5661
5660    if (conf_parser_ctx.pass != 2)
5661      break;
5662  
5663    if (!block_state.name.buf[0])
5664      break;
5665  
5666 <  conf = conf_make(CONF_XLINE);
5667 <  conf->name = xstrdup(block_state.name.buf);
5666 >  struct GecosItem *gecos = gecos_make();
5667 >  gecos->mask = xstrdup(block_state.name.buf);
5668  
5669    if (block_state.rpass.buf[0])
5670 <    conf->reason = xstrdup(block_state.rpass.buf);
5670 >    gecos->reason = xstrdup(block_state.rpass.buf);
5671    else
5672 <    conf->reason = xstrdup(CONF_NOREASON);
5672 >    gecos->reason = xstrdup(CONF_NOREASON);
5673   }
5674 < #line 5677 "conf_parser.c" /* yacc.c:1646  */
5674 > #line 5675 "conf_parser.c" /* yacc.c:1646  */
5675      break;
5676  
5677 <  case 465:
5678 < #line 2510 "conf_parser.y" /* yacc.c:1646  */
5677 >  case 482:
5678 > #line 2447 "conf_parser.y" /* yacc.c:1646  */
5679      {
5680    if (conf_parser_ctx.pass == 2)
5681      strlcpy(block_state.name.buf, yylval.string, sizeof(block_state.name.buf));
5682   }
5683 < #line 5686 "conf_parser.c" /* yacc.c:1646  */
5683 > #line 5684 "conf_parser.c" /* yacc.c:1646  */
5684      break;
5685  
5686 <  case 466:
5687 < #line 2516 "conf_parser.y" /* yacc.c:1646  */
5686 >  case 483:
5687 > #line 2453 "conf_parser.y" /* yacc.c:1646  */
5688      {
5689    if (conf_parser_ctx.pass == 2)
5690      strlcpy(block_state.rpass.buf, yylval.string, sizeof(block_state.rpass.buf));
5691   }
5692 < #line 5695 "conf_parser.c" /* yacc.c:1646  */
5692 > #line 5693 "conf_parser.c" /* yacc.c:1646  */
5693      break;
5694  
5695 <  case 517:
5696 < #line 2578 "conf_parser.y" /* yacc.c:1646  */
5695 >  case 534:
5696 > #line 2515 "conf_parser.y" /* yacc.c:1646  */
5697      {
5698    ConfigGeneral.away_count = (yyvsp[-1].number);
5699   }
5700 < #line 5703 "conf_parser.c" /* yacc.c:1646  */
5700 > #line 5701 "conf_parser.c" /* yacc.c:1646  */
5701      break;
5702  
5703 <  case 518:
5704 < #line 2583 "conf_parser.y" /* yacc.c:1646  */
5703 >  case 535:
5704 > #line 2520 "conf_parser.y" /* yacc.c:1646  */
5705      {
5706    ConfigGeneral.away_time = (yyvsp[-1].number);
5707   }
5708 < #line 5711 "conf_parser.c" /* yacc.c:1646  */
5708 > #line 5709 "conf_parser.c" /* yacc.c:1646  */
5709      break;
5710  
5711 <  case 519:
5712 < #line 2588 "conf_parser.y" /* yacc.c:1646  */
5711 >  case 536:
5712 > #line 2525 "conf_parser.y" /* yacc.c:1646  */
5713      {
5714    ConfigGeneral.max_watch = (yyvsp[-1].number);
5715   }
5716 < #line 5719 "conf_parser.c" /* yacc.c:1646  */
5716 > #line 5717 "conf_parser.c" /* yacc.c:1646  */
5717 >    break;
5718 >
5719 >  case 537:
5720 > #line 2530 "conf_parser.y" /* yacc.c:1646  */
5721 >    {
5722 >  ConfigGeneral.whowas_history_length = (yyvsp[-1].number);
5723 > }
5724 > #line 5725 "conf_parser.c" /* yacc.c:1646  */
5725      break;
5726  
5727 <  case 520:
5728 < #line 2593 "conf_parser.y" /* yacc.c:1646  */
5727 >  case 538:
5728 > #line 2535 "conf_parser.y" /* yacc.c:1646  */
5729      {
5730    if (conf_parser_ctx.pass == 2)
5731      ConfigGeneral.cycle_on_host_change = yylval.number;
5732   }
5733 < #line 5728 "conf_parser.c" /* yacc.c:1646  */
5733 > #line 5734 "conf_parser.c" /* yacc.c:1646  */
5734      break;
5735  
5736 <  case 521:
5737 < #line 2599 "conf_parser.y" /* yacc.c:1646  */
5736 >  case 539:
5737 > #line 2541 "conf_parser.y" /* yacc.c:1646  */
5738      {
5739    ConfigGeneral.dline_min_cidr = (yyvsp[-1].number);
5740   }
5741 < #line 5736 "conf_parser.c" /* yacc.c:1646  */
5741 > #line 5742 "conf_parser.c" /* yacc.c:1646  */
5742      break;
5743  
5744 <  case 522:
5745 < #line 2604 "conf_parser.y" /* yacc.c:1646  */
5744 >  case 540:
5745 > #line 2546 "conf_parser.y" /* yacc.c:1646  */
5746      {
5747    ConfigGeneral.dline_min_cidr6 = (yyvsp[-1].number);
5748   }
5749 < #line 5744 "conf_parser.c" /* yacc.c:1646  */
5749 > #line 5750 "conf_parser.c" /* yacc.c:1646  */
5750      break;
5751  
5752 <  case 523:
5753 < #line 2609 "conf_parser.y" /* yacc.c:1646  */
5752 >  case 541:
5753 > #line 2551 "conf_parser.y" /* yacc.c:1646  */
5754      {
5755    ConfigGeneral.kline_min_cidr = (yyvsp[-1].number);
5756   }
5757 < #line 5752 "conf_parser.c" /* yacc.c:1646  */
5757 > #line 5758 "conf_parser.c" /* yacc.c:1646  */
5758      break;
5759  
5760 <  case 524:
5761 < #line 2614 "conf_parser.y" /* yacc.c:1646  */
5760 >  case 542:
5761 > #line 2556 "conf_parser.y" /* yacc.c:1646  */
5762      {
5763    ConfigGeneral.kline_min_cidr6 = (yyvsp[-1].number);
5764   }
5765 < #line 5760 "conf_parser.c" /* yacc.c:1646  */
5765 > #line 5766 "conf_parser.c" /* yacc.c:1646  */
5766      break;
5767  
5768 <  case 525:
5769 < #line 2619 "conf_parser.y" /* yacc.c:1646  */
5768 >  case 543:
5769 > #line 2561 "conf_parser.y" /* yacc.c:1646  */
5770      {
5771    ConfigGeneral.tkline_expire_notices = yylval.number;
5772   }
5773 < #line 5768 "conf_parser.c" /* yacc.c:1646  */
5773 > #line 5774 "conf_parser.c" /* yacc.c:1646  */
5774      break;
5775  
5776 <  case 526:
5777 < #line 2624 "conf_parser.y" /* yacc.c:1646  */
5776 >  case 544:
5777 > #line 2566 "conf_parser.y" /* yacc.c:1646  */
5778      {
5779    ConfigGeneral.kill_chase_time_limit = (yyvsp[-1].number);
5780   }
5781 < #line 5776 "conf_parser.c" /* yacc.c:1646  */
5781 > #line 5782 "conf_parser.c" /* yacc.c:1646  */
5782      break;
5783  
5784 <  case 527:
5785 < #line 2629 "conf_parser.y" /* yacc.c:1646  */
5784 >  case 545:
5785 > #line 2571 "conf_parser.y" /* yacc.c:1646  */
5786      {
5787    ConfigGeneral.ignore_bogus_ts = yylval.number;
5788   }
5789 < #line 5784 "conf_parser.c" /* yacc.c:1646  */
5789 > #line 5790 "conf_parser.c" /* yacc.c:1646  */
5790      break;
5791  
5792 <  case 528:
5793 < #line 2634 "conf_parser.y" /* yacc.c:1646  */
5792 >  case 546:
5793 > #line 2576 "conf_parser.y" /* yacc.c:1646  */
5794      {
5795    ConfigGeneral.failed_oper_notice = yylval.number;
5796   }
5797 < #line 5792 "conf_parser.c" /* yacc.c:1646  */
5797 > #line 5798 "conf_parser.c" /* yacc.c:1646  */
5798      break;
5799  
5800 <  case 529:
5801 < #line 2639 "conf_parser.y" /* yacc.c:1646  */
5800 >  case 547:
5801 > #line 2581 "conf_parser.y" /* yacc.c:1646  */
5802      {
5803    ConfigGeneral.anti_nick_flood = yylval.number;
5804   }
5805 < #line 5800 "conf_parser.c" /* yacc.c:1646  */
5805 > #line 5806 "conf_parser.c" /* yacc.c:1646  */
5806      break;
5807  
5808 <  case 530:
5809 < #line 2644 "conf_parser.y" /* yacc.c:1646  */
5808 >  case 548:
5809 > #line 2586 "conf_parser.y" /* yacc.c:1646  */
5810      {
5811    ConfigGeneral.max_nick_time = (yyvsp[-1].number);
5812   }
5813 < #line 5808 "conf_parser.c" /* yacc.c:1646  */
5813 > #line 5814 "conf_parser.c" /* yacc.c:1646  */
5814      break;
5815  
5816 <  case 531:
5817 < #line 2649 "conf_parser.y" /* yacc.c:1646  */
5816 >  case 549:
5817 > #line 2591 "conf_parser.y" /* yacc.c:1646  */
5818      {
5819    ConfigGeneral.max_nick_changes = (yyvsp[-1].number);
5820   }
5821 < #line 5816 "conf_parser.c" /* yacc.c:1646  */
5821 > #line 5822 "conf_parser.c" /* yacc.c:1646  */
5822      break;
5823  
5824 <  case 532:
5825 < #line 2654 "conf_parser.y" /* yacc.c:1646  */
5824 >  case 550:
5825 > #line 2596 "conf_parser.y" /* yacc.c:1646  */
5826      {
5827    ConfigGeneral.max_accept = (yyvsp[-1].number);
5828   }
5829 < #line 5824 "conf_parser.c" /* yacc.c:1646  */
5829 > #line 5830 "conf_parser.c" /* yacc.c:1646  */
5830      break;
5831  
5832 <  case 533:
5833 < #line 2659 "conf_parser.y" /* yacc.c:1646  */
5832 >  case 551:
5833 > #line 2601 "conf_parser.y" /* yacc.c:1646  */
5834      {
5835    ConfigGeneral.anti_spam_exit_message_time = (yyvsp[-1].number);
5836   }
5837 < #line 5832 "conf_parser.c" /* yacc.c:1646  */
5837 > #line 5838 "conf_parser.c" /* yacc.c:1646  */
5838      break;
5839  
5840 <  case 534:
5841 < #line 2664 "conf_parser.y" /* yacc.c:1646  */
5840 >  case 552:
5841 > #line 2606 "conf_parser.y" /* yacc.c:1646  */
5842      {
5843    ConfigGeneral.ts_warn_delta = (yyvsp[-1].number);
5844   }
5845 < #line 5840 "conf_parser.c" /* yacc.c:1646  */
5845 > #line 5846 "conf_parser.c" /* yacc.c:1646  */
5846      break;
5847  
5848 <  case 535:
5849 < #line 2669 "conf_parser.y" /* yacc.c:1646  */
5848 >  case 553:
5849 > #line 2611 "conf_parser.y" /* yacc.c:1646  */
5850      {
5851    if (conf_parser_ctx.pass == 2)
5852      ConfigGeneral.ts_max_delta = (yyvsp[-1].number);
5853   }
5854 < #line 5849 "conf_parser.c" /* yacc.c:1646  */
5854 > #line 5855 "conf_parser.c" /* yacc.c:1646  */
5855      break;
5856  
5857 <  case 536:
5858 < #line 2675 "conf_parser.y" /* yacc.c:1646  */
5857 >  case 554:
5858 > #line 2617 "conf_parser.y" /* yacc.c:1646  */
5859      {
5860    ConfigGeneral.invisible_on_connect = yylval.number;
5861   }
5862 < #line 5857 "conf_parser.c" /* yacc.c:1646  */
5862 > #line 5863 "conf_parser.c" /* yacc.c:1646  */
5863      break;
5864  
5865 <  case 537:
5866 < #line 2680 "conf_parser.y" /* yacc.c:1646  */
5865 >  case 555:
5866 > #line 2622 "conf_parser.y" /* yacc.c:1646  */
5867      {
5868    ConfigGeneral.warn_no_connect_block = yylval.number;
5869   }
5870 < #line 5865 "conf_parser.c" /* yacc.c:1646  */
5870 > #line 5871 "conf_parser.c" /* yacc.c:1646  */
5871      break;
5872  
5873 <  case 538:
5874 < #line 2685 "conf_parser.y" /* yacc.c:1646  */
5873 >  case 556:
5874 > #line 2627 "conf_parser.y" /* yacc.c:1646  */
5875      {
5876    ConfigGeneral.stats_e_disabled = yylval.number;
5877   }
5878 < #line 5873 "conf_parser.c" /* yacc.c:1646  */
5878 > #line 5879 "conf_parser.c" /* yacc.c:1646  */
5879      break;
5880  
5881 <  case 539:
5882 < #line 2690 "conf_parser.y" /* yacc.c:1646  */
5881 >  case 557:
5882 > #line 2632 "conf_parser.y" /* yacc.c:1646  */
5883      {
5884    ConfigGeneral.stats_m_oper_only = yylval.number;
5885   }
5886 < #line 5881 "conf_parser.c" /* yacc.c:1646  */
5886 > #line 5887 "conf_parser.c" /* yacc.c:1646  */
5887      break;
5888  
5889 <  case 540:
5890 < #line 2695 "conf_parser.y" /* yacc.c:1646  */
5889 >  case 558:
5890 > #line 2637 "conf_parser.y" /* yacc.c:1646  */
5891      {
5892    ConfigGeneral.stats_o_oper_only = yylval.number;
5893   }
5894 < #line 5889 "conf_parser.c" /* yacc.c:1646  */
5894 > #line 5895 "conf_parser.c" /* yacc.c:1646  */
5895      break;
5896  
5897 <  case 541:
5898 < #line 2700 "conf_parser.y" /* yacc.c:1646  */
5897 >  case 559:
5898 > #line 2642 "conf_parser.y" /* yacc.c:1646  */
5899      {
5900    ConfigGeneral.stats_P_oper_only = yylval.number;
5901   }
5902 < #line 5897 "conf_parser.c" /* yacc.c:1646  */
5902 > #line 5903 "conf_parser.c" /* yacc.c:1646  */
5903      break;
5904  
5905 <  case 542:
5906 < #line 2705 "conf_parser.y" /* yacc.c:1646  */
5905 >  case 560:
5906 > #line 2647 "conf_parser.y" /* yacc.c:1646  */
5907      {
5908    ConfigGeneral.stats_u_oper_only = yylval.number;
5909   }
5910 < #line 5905 "conf_parser.c" /* yacc.c:1646  */
5910 > #line 5911 "conf_parser.c" /* yacc.c:1646  */
5911      break;
5912  
5913 <  case 543:
5914 < #line 2710 "conf_parser.y" /* yacc.c:1646  */
5913 >  case 561:
5914 > #line 2652 "conf_parser.y" /* yacc.c:1646  */
5915      {
5916    ConfigGeneral.stats_k_oper_only = 2 * yylval.number;
5917   }
5918 < #line 5913 "conf_parser.c" /* yacc.c:1646  */
5918 > #line 5919 "conf_parser.c" /* yacc.c:1646  */
5919      break;
5920  
5921 <  case 544:
5922 < #line 2713 "conf_parser.y" /* yacc.c:1646  */
5921 >  case 562:
5922 > #line 2655 "conf_parser.y" /* yacc.c:1646  */
5923      {
5924    ConfigGeneral.stats_k_oper_only = 1;
5925   }
5926 < #line 5921 "conf_parser.c" /* yacc.c:1646  */
5926 > #line 5927 "conf_parser.c" /* yacc.c:1646  */
5927      break;
5928  
5929 <  case 545:
5930 < #line 2718 "conf_parser.y" /* yacc.c:1646  */
5929 >  case 563:
5930 > #line 2660 "conf_parser.y" /* yacc.c:1646  */
5931      {
5932    ConfigGeneral.stats_i_oper_only = 2 * yylval.number;
5933   }
5934 < #line 5929 "conf_parser.c" /* yacc.c:1646  */
5934 > #line 5935 "conf_parser.c" /* yacc.c:1646  */
5935      break;
5936  
5937 <  case 546:
5938 < #line 2721 "conf_parser.y" /* yacc.c:1646  */
5937 >  case 564:
5938 > #line 2663 "conf_parser.y" /* yacc.c:1646  */
5939      {
5940    ConfigGeneral.stats_i_oper_only = 1;
5941   }
5942 < #line 5937 "conf_parser.c" /* yacc.c:1646  */
5942 > #line 5943 "conf_parser.c" /* yacc.c:1646  */
5943      break;
5944  
5945 <  case 547:
5946 < #line 2726 "conf_parser.y" /* yacc.c:1646  */
5945 >  case 565:
5946 > #line 2668 "conf_parser.y" /* yacc.c:1646  */
5947      {
5948    ConfigGeneral.pace_wait = (yyvsp[-1].number);
5949   }
5950 < #line 5945 "conf_parser.c" /* yacc.c:1646  */
5950 > #line 5951 "conf_parser.c" /* yacc.c:1646  */
5951      break;
5952  
5953 <  case 548:
5954 < #line 2731 "conf_parser.y" /* yacc.c:1646  */
5953 >  case 566:
5954 > #line 2673 "conf_parser.y" /* yacc.c:1646  */
5955      {
5956    ConfigGeneral.caller_id_wait = (yyvsp[-1].number);
5957   }
5958 < #line 5953 "conf_parser.c" /* yacc.c:1646  */
5958 > #line 5959 "conf_parser.c" /* yacc.c:1646  */
5959      break;
5960  
5961 <  case 549:
5962 < #line 2736 "conf_parser.y" /* yacc.c:1646  */
5961 >  case 567:
5962 > #line 2678 "conf_parser.y" /* yacc.c:1646  */
5963      {
5964    ConfigGeneral.opers_bypass_callerid = yylval.number;
5965   }
5966 < #line 5961 "conf_parser.c" /* yacc.c:1646  */
5966 > #line 5967 "conf_parser.c" /* yacc.c:1646  */
5967      break;
5968  
5969 <  case 550:
5970 < #line 2741 "conf_parser.y" /* yacc.c:1646  */
5969 >  case 568:
5970 > #line 2683 "conf_parser.y" /* yacc.c:1646  */
5971      {
5972    ConfigGeneral.pace_wait_simple = (yyvsp[-1].number);
5973   }
5974 < #line 5969 "conf_parser.c" /* yacc.c:1646  */
5974 > #line 5975 "conf_parser.c" /* yacc.c:1646  */
5975      break;
5976  
5977 <  case 551:
5978 < #line 2746 "conf_parser.y" /* yacc.c:1646  */
5977 >  case 569:
5978 > #line 2688 "conf_parser.y" /* yacc.c:1646  */
5979      {
5980    ConfigGeneral.short_motd = yylval.number;
5981   }
5982 < #line 5977 "conf_parser.c" /* yacc.c:1646  */
5982 > #line 5983 "conf_parser.c" /* yacc.c:1646  */
5983      break;
5984  
5985 <  case 552:
5986 < #line 2751 "conf_parser.y" /* yacc.c:1646  */
5985 >  case 570:
5986 > #line 2693 "conf_parser.y" /* yacc.c:1646  */
5987      {
5988    ConfigGeneral.no_oper_flood = yylval.number;
5989   }
5990 < #line 5985 "conf_parser.c" /* yacc.c:1646  */
5990 > #line 5991 "conf_parser.c" /* yacc.c:1646  */
5991      break;
5992  
5993 <  case 553:
5994 < #line 2756 "conf_parser.y" /* yacc.c:1646  */
5989 <    {
5990 <  ConfigGeneral.oper_pass_resv = yylval.number;
5991 < }
5992 < #line 5993 "conf_parser.c" /* yacc.c:1646  */
5993 <    break;
5994 <
5995 <  case 554:
5996 < #line 2761 "conf_parser.y" /* yacc.c:1646  */
5993 >  case 571:
5994 > #line 2698 "conf_parser.y" /* yacc.c:1646  */
5995      {
5996    ConfigGeneral.dots_in_ident = (yyvsp[-1].number);
5997   }
5998 < #line 6001 "conf_parser.c" /* yacc.c:1646  */
5998 > #line 5999 "conf_parser.c" /* yacc.c:1646  */
5999      break;
6000  
6001 <  case 555:
6002 < #line 2766 "conf_parser.y" /* yacc.c:1646  */
6001 >  case 572:
6002 > #line 2703 "conf_parser.y" /* yacc.c:1646  */
6003      {
6004    ConfigGeneral.max_targets = (yyvsp[-1].number);
6005   }
6006 < #line 6009 "conf_parser.c" /* yacc.c:1646  */
6006 > #line 6007 "conf_parser.c" /* yacc.c:1646  */
6007      break;
6008  
6009 <  case 556:
6010 < #line 2771 "conf_parser.y" /* yacc.c:1646  */
6009 >  case 573:
6010 > #line 2708 "conf_parser.y" /* yacc.c:1646  */
6011      {
6012    ConfigGeneral.ping_cookie = yylval.number;
6013   }
6014 < #line 6017 "conf_parser.c" /* yacc.c:1646  */
6014 > #line 6015 "conf_parser.c" /* yacc.c:1646  */
6015      break;
6016  
6017 <  case 557:
6018 < #line 2776 "conf_parser.y" /* yacc.c:1646  */
6017 >  case 574:
6018 > #line 2713 "conf_parser.y" /* yacc.c:1646  */
6019      {
6020    ConfigGeneral.disable_auth = yylval.number;
6021   }
6022 < #line 6025 "conf_parser.c" /* yacc.c:1646  */
6022 > #line 6023 "conf_parser.c" /* yacc.c:1646  */
6023      break;
6024  
6025 <  case 558:
6026 < #line 2781 "conf_parser.y" /* yacc.c:1646  */
6025 >  case 575:
6026 > #line 2718 "conf_parser.y" /* yacc.c:1646  */
6027      {
6028    ConfigGeneral.throttle_count = (yyvsp[-1].number);
6029   }
6030 < #line 6033 "conf_parser.c" /* yacc.c:1646  */
6030 > #line 6031 "conf_parser.c" /* yacc.c:1646  */
6031      break;
6032  
6033 <  case 559:
6034 < #line 2786 "conf_parser.y" /* yacc.c:1646  */
6033 >  case 576:
6034 > #line 2723 "conf_parser.y" /* yacc.c:1646  */
6035      {
6036    ConfigGeneral.throttle_time = (yyvsp[-1].number);
6037   }
6038 < #line 6041 "conf_parser.c" /* yacc.c:1646  */
6038 > #line 6039 "conf_parser.c" /* yacc.c:1646  */
6039      break;
6040  
6041 <  case 560:
6042 < #line 2791 "conf_parser.y" /* yacc.c:1646  */
6041 >  case 577:
6042 > #line 2728 "conf_parser.y" /* yacc.c:1646  */
6043      {
6044    ConfigGeneral.oper_umodes = 0;
6045   }
6046 < #line 6049 "conf_parser.c" /* yacc.c:1646  */
6046 > #line 6047 "conf_parser.c" /* yacc.c:1646  */
6047      break;
6048  
6049 <  case 564:
6050 < #line 2797 "conf_parser.y" /* yacc.c:1646  */
6049 >  case 581:
6050 > #line 2734 "conf_parser.y" /* yacc.c:1646  */
6051      {
6052    ConfigGeneral.oper_umodes |= UMODE_BOTS;
6053   }
6054 < #line 6057 "conf_parser.c" /* yacc.c:1646  */
6054 > #line 6055 "conf_parser.c" /* yacc.c:1646  */
6055      break;
6056  
6057 <  case 565:
6058 < #line 2800 "conf_parser.y" /* yacc.c:1646  */
6057 >  case 582:
6058 > #line 2737 "conf_parser.y" /* yacc.c:1646  */
6059      {
6060    ConfigGeneral.oper_umodes |= UMODE_CCONN;
6061   }
6062 < #line 6065 "conf_parser.c" /* yacc.c:1646  */
6062 > #line 6063 "conf_parser.c" /* yacc.c:1646  */
6063      break;
6064  
6065 <  case 566:
6066 < #line 2803 "conf_parser.y" /* yacc.c:1646  */
6065 >  case 583:
6066 > #line 2740 "conf_parser.y" /* yacc.c:1646  */
6067      {
6068    ConfigGeneral.oper_umodes |= UMODE_DEAF;
6069   }
6070 < #line 6073 "conf_parser.c" /* yacc.c:1646  */
6070 > #line 6071 "conf_parser.c" /* yacc.c:1646  */
6071      break;
6072  
6073 <  case 567:
6074 < #line 2806 "conf_parser.y" /* yacc.c:1646  */
6073 >  case 584:
6074 > #line 2743 "conf_parser.y" /* yacc.c:1646  */
6075      {
6076    ConfigGeneral.oper_umodes |= UMODE_DEBUG;
6077   }
6078 < #line 6081 "conf_parser.c" /* yacc.c:1646  */
6078 > #line 6079 "conf_parser.c" /* yacc.c:1646  */
6079      break;
6080  
6081 <  case 568:
6082 < #line 2809 "conf_parser.y" /* yacc.c:1646  */
6081 >  case 585:
6082 > #line 2746 "conf_parser.y" /* yacc.c:1646  */
6083      {
6084    ConfigGeneral.oper_umodes |= UMODE_FULL;
6085   }
6086 < #line 6089 "conf_parser.c" /* yacc.c:1646  */
6086 > #line 6087 "conf_parser.c" /* yacc.c:1646  */
6087      break;
6088  
6089 <  case 569:
6090 < #line 2812 "conf_parser.y" /* yacc.c:1646  */
6089 >  case 586:
6090 > #line 2749 "conf_parser.y" /* yacc.c:1646  */
6091      {
6092    ConfigGeneral.oper_umodes |= UMODE_HIDDEN;
6093   }
6094 < #line 6097 "conf_parser.c" /* yacc.c:1646  */
6094 > #line 6095 "conf_parser.c" /* yacc.c:1646  */
6095      break;
6096  
6097 <  case 570:
6098 < #line 2815 "conf_parser.y" /* yacc.c:1646  */
6097 >  case 587:
6098 > #line 2752 "conf_parser.y" /* yacc.c:1646  */
6099      {
6100    ConfigGeneral.oper_umodes |= UMODE_HIDECHANS;
6101   }
6102 < #line 6105 "conf_parser.c" /* yacc.c:1646  */
6102 > #line 6103 "conf_parser.c" /* yacc.c:1646  */
6103      break;
6104  
6105 <  case 571:
6106 < #line 2818 "conf_parser.y" /* yacc.c:1646  */
6105 >  case 588:
6106 > #line 2755 "conf_parser.y" /* yacc.c:1646  */
6107      {
6108    ConfigGeneral.oper_umodes |= UMODE_HIDEIDLE;
6109   }
6110 < #line 6113 "conf_parser.c" /* yacc.c:1646  */
6110 > #line 6111 "conf_parser.c" /* yacc.c:1646  */
6111      break;
6112  
6113 <  case 572:
6114 < #line 2821 "conf_parser.y" /* yacc.c:1646  */
6113 >  case 589:
6114 > #line 2758 "conf_parser.y" /* yacc.c:1646  */
6115      {
6116    ConfigGeneral.oper_umodes |= UMODE_SKILL;
6117   }
6118 < #line 6121 "conf_parser.c" /* yacc.c:1646  */
6118 > #line 6119 "conf_parser.c" /* yacc.c:1646  */
6119      break;
6120  
6121 <  case 573:
6122 < #line 2824 "conf_parser.y" /* yacc.c:1646  */
6121 >  case 590:
6122 > #line 2761 "conf_parser.y" /* yacc.c:1646  */
6123      {
6124    ConfigGeneral.oper_umodes |= UMODE_NCHANGE;
6125   }
6126 < #line 6129 "conf_parser.c" /* yacc.c:1646  */
6126 > #line 6127 "conf_parser.c" /* yacc.c:1646  */
6127      break;
6128  
6129 <  case 574:
6130 < #line 2827 "conf_parser.y" /* yacc.c:1646  */
6129 >  case 591:
6130 > #line 2764 "conf_parser.y" /* yacc.c:1646  */
6131      {
6132    ConfigGeneral.oper_umodes |= UMODE_REJ;
6133   }
6134 < #line 6137 "conf_parser.c" /* yacc.c:1646  */
6134 > #line 6135 "conf_parser.c" /* yacc.c:1646  */
6135      break;
6136  
6137 <  case 575:
6138 < #line 2830 "conf_parser.y" /* yacc.c:1646  */
6137 >  case 592:
6138 > #line 2767 "conf_parser.y" /* yacc.c:1646  */
6139      {
6140    ConfigGeneral.oper_umodes |= UMODE_UNAUTH;
6141   }
6142 < #line 6145 "conf_parser.c" /* yacc.c:1646  */
6142 > #line 6143 "conf_parser.c" /* yacc.c:1646  */
6143      break;
6144  
6145 <  case 576:
6146 < #line 2833 "conf_parser.y" /* yacc.c:1646  */
6145 >  case 593:
6146 > #line 2770 "conf_parser.y" /* yacc.c:1646  */
6147      {
6148    ConfigGeneral.oper_umodes |= UMODE_SPY;
6149   }
6150 < #line 6153 "conf_parser.c" /* yacc.c:1646  */
6150 > #line 6151 "conf_parser.c" /* yacc.c:1646  */
6151      break;
6152  
6153 <  case 577:
6154 < #line 2836 "conf_parser.y" /* yacc.c:1646  */
6153 >  case 594:
6154 > #line 2773 "conf_parser.y" /* yacc.c:1646  */
6155      {
6156    ConfigGeneral.oper_umodes |= UMODE_EXTERNAL;
6157   }
6158 < #line 6161 "conf_parser.c" /* yacc.c:1646  */
6158 > #line 6159 "conf_parser.c" /* yacc.c:1646  */
6159      break;
6160  
6161 <  case 578:
6162 < #line 2839 "conf_parser.y" /* yacc.c:1646  */
6161 >  case 595:
6162 > #line 2776 "conf_parser.y" /* yacc.c:1646  */
6163      {
6164    ConfigGeneral.oper_umodes |= UMODE_SERVNOTICE;
6165   }
6166 < #line 6169 "conf_parser.c" /* yacc.c:1646  */
6166 > #line 6167 "conf_parser.c" /* yacc.c:1646  */
6167      break;
6168  
6169 <  case 579:
6170 < #line 2842 "conf_parser.y" /* yacc.c:1646  */
6169 >  case 596:
6170 > #line 2779 "conf_parser.y" /* yacc.c:1646  */
6171      {
6172    ConfigGeneral.oper_umodes |= UMODE_INVISIBLE;
6173   }
6174 < #line 6177 "conf_parser.c" /* yacc.c:1646  */
6174 > #line 6175 "conf_parser.c" /* yacc.c:1646  */
6175      break;
6176  
6177 <  case 580:
6178 < #line 2845 "conf_parser.y" /* yacc.c:1646  */
6177 >  case 597:
6178 > #line 2782 "conf_parser.y" /* yacc.c:1646  */
6179      {
6180    ConfigGeneral.oper_umodes |= UMODE_WALLOP;
6181   }
6182 < #line 6185 "conf_parser.c" /* yacc.c:1646  */
6182 > #line 6183 "conf_parser.c" /* yacc.c:1646  */
6183      break;
6184  
6185 <  case 581:
6186 < #line 2848 "conf_parser.y" /* yacc.c:1646  */
6185 >  case 598:
6186 > #line 2785 "conf_parser.y" /* yacc.c:1646  */
6187      {
6188    ConfigGeneral.oper_umodes |= UMODE_SOFTCALLERID;
6189   }
6190 < #line 6193 "conf_parser.c" /* yacc.c:1646  */
6190 > #line 6191 "conf_parser.c" /* yacc.c:1646  */
6191      break;
6192  
6193 <  case 582:
6194 < #line 2851 "conf_parser.y" /* yacc.c:1646  */
6193 >  case 599:
6194 > #line 2788 "conf_parser.y" /* yacc.c:1646  */
6195      {
6196    ConfigGeneral.oper_umodes |= UMODE_CALLERID;
6197   }
6198 < #line 6201 "conf_parser.c" /* yacc.c:1646  */
6198 > #line 6199 "conf_parser.c" /* yacc.c:1646  */
6199      break;
6200  
6201 <  case 583:
6202 < #line 2854 "conf_parser.y" /* yacc.c:1646  */
6201 >  case 600:
6202 > #line 2791 "conf_parser.y" /* yacc.c:1646  */
6203      {
6204    ConfigGeneral.oper_umodes |= UMODE_LOCOPS;
6205   }
6206 < #line 6209 "conf_parser.c" /* yacc.c:1646  */
6206 > #line 6207 "conf_parser.c" /* yacc.c:1646  */
6207      break;
6208  
6209 <  case 584:
6210 < #line 2857 "conf_parser.y" /* yacc.c:1646  */
6209 >  case 601:
6210 > #line 2794 "conf_parser.y" /* yacc.c:1646  */
6211      {
6212    ConfigGeneral.oper_umodes |= UMODE_REGONLY;
6213   }
6214 < #line 6217 "conf_parser.c" /* yacc.c:1646  */
6214 > #line 6215 "conf_parser.c" /* yacc.c:1646  */
6215      break;
6216  
6217 <  case 585:
6218 < #line 2860 "conf_parser.y" /* yacc.c:1646  */
6217 >  case 602:
6218 > #line 2797 "conf_parser.y" /* yacc.c:1646  */
6219      {
6220    ConfigGeneral.oper_umodes |= UMODE_FARCONNECT;
6221   }
6222 < #line 6225 "conf_parser.c" /* yacc.c:1646  */
6222 > #line 6223 "conf_parser.c" /* yacc.c:1646  */
6223      break;
6224  
6225 <  case 586:
6226 < #line 2865 "conf_parser.y" /* yacc.c:1646  */
6225 >  case 603:
6226 > #line 2802 "conf_parser.y" /* yacc.c:1646  */
6227      {
6228    ConfigGeneral.oper_only_umodes = 0;
6229   }
6230 < #line 6233 "conf_parser.c" /* yacc.c:1646  */
6230 > #line 6231 "conf_parser.c" /* yacc.c:1646  */
6231      break;
6232  
6233 <  case 590:
6234 < #line 2871 "conf_parser.y" /* yacc.c:1646  */
6233 >  case 607:
6234 > #line 2808 "conf_parser.y" /* yacc.c:1646  */
6235      {
6236    ConfigGeneral.oper_only_umodes |= UMODE_BOTS;
6237   }
6238 < #line 6241 "conf_parser.c" /* yacc.c:1646  */
6238 > #line 6239 "conf_parser.c" /* yacc.c:1646  */
6239      break;
6240  
6241 <  case 591:
6242 < #line 2874 "conf_parser.y" /* yacc.c:1646  */
6241 >  case 608:
6242 > #line 2811 "conf_parser.y" /* yacc.c:1646  */
6243      {
6244    ConfigGeneral.oper_only_umodes |= UMODE_CCONN;
6245   }
6246 < #line 6249 "conf_parser.c" /* yacc.c:1646  */
6246 > #line 6247 "conf_parser.c" /* yacc.c:1646  */
6247      break;
6248  
6249 <  case 592:
6250 < #line 2877 "conf_parser.y" /* yacc.c:1646  */
6249 >  case 609:
6250 > #line 2814 "conf_parser.y" /* yacc.c:1646  */
6251      {
6252    ConfigGeneral.oper_only_umodes |= UMODE_DEAF;
6253   }
6254 < #line 6257 "conf_parser.c" /* yacc.c:1646  */
6254 > #line 6255 "conf_parser.c" /* yacc.c:1646  */
6255      break;
6256  
6257 <  case 593:
6258 < #line 2880 "conf_parser.y" /* yacc.c:1646  */
6257 >  case 610:
6258 > #line 2817 "conf_parser.y" /* yacc.c:1646  */
6259      {
6260    ConfigGeneral.oper_only_umodes |= UMODE_DEBUG;
6261   }
6262 < #line 6265 "conf_parser.c" /* yacc.c:1646  */
6262 > #line 6263 "conf_parser.c" /* yacc.c:1646  */
6263      break;
6264  
6265 <  case 594:
6266 < #line 2883 "conf_parser.y" /* yacc.c:1646  */
6265 >  case 611:
6266 > #line 2820 "conf_parser.y" /* yacc.c:1646  */
6267      {
6268    ConfigGeneral.oper_only_umodes |= UMODE_FULL;
6269   }
6270 < #line 6273 "conf_parser.c" /* yacc.c:1646  */
6270 > #line 6271 "conf_parser.c" /* yacc.c:1646  */
6271      break;
6272  
6273 <  case 595:
6274 < #line 2886 "conf_parser.y" /* yacc.c:1646  */
6273 >  case 612:
6274 > #line 2823 "conf_parser.y" /* yacc.c:1646  */
6275      {
6276    ConfigGeneral.oper_only_umodes |= UMODE_SKILL;
6277   }
6278 < #line 6281 "conf_parser.c" /* yacc.c:1646  */
6278 > #line 6279 "conf_parser.c" /* yacc.c:1646  */
6279      break;
6280  
6281 <  case 596:
6282 < #line 2889 "conf_parser.y" /* yacc.c:1646  */
6281 >  case 613:
6282 > #line 2826 "conf_parser.y" /* yacc.c:1646  */
6283      {
6284    ConfigGeneral.oper_only_umodes |= UMODE_HIDDEN;
6285   }
6286 < #line 6289 "conf_parser.c" /* yacc.c:1646  */
6286 > #line 6287 "conf_parser.c" /* yacc.c:1646  */
6287      break;
6288  
6289 <  case 597:
6290 < #line 2892 "conf_parser.y" /* yacc.c:1646  */
6289 >  case 614:
6290 > #line 2829 "conf_parser.y" /* yacc.c:1646  */
6291      {
6292    ConfigGeneral.oper_only_umodes |= UMODE_NCHANGE;
6293   }
6294 < #line 6297 "conf_parser.c" /* yacc.c:1646  */
6294 > #line 6295 "conf_parser.c" /* yacc.c:1646  */
6295      break;
6296  
6297 <  case 598:
6298 < #line 2895 "conf_parser.y" /* yacc.c:1646  */
6297 >  case 615:
6298 > #line 2832 "conf_parser.y" /* yacc.c:1646  */
6299      {
6300    ConfigGeneral.oper_only_umodes |= UMODE_REJ;
6301   }
6302 < #line 6305 "conf_parser.c" /* yacc.c:1646  */
6302 > #line 6303 "conf_parser.c" /* yacc.c:1646  */
6303      break;
6304  
6305 <  case 599:
6306 < #line 2898 "conf_parser.y" /* yacc.c:1646  */
6305 >  case 616:
6306 > #line 2835 "conf_parser.y" /* yacc.c:1646  */
6307      {
6308    ConfigGeneral.oper_only_umodes |= UMODE_UNAUTH;
6309   }
6310 < #line 6313 "conf_parser.c" /* yacc.c:1646  */
6310 > #line 6311 "conf_parser.c" /* yacc.c:1646  */
6311      break;
6312  
6313 <  case 600:
6314 < #line 2901 "conf_parser.y" /* yacc.c:1646  */
6313 >  case 617:
6314 > #line 2838 "conf_parser.y" /* yacc.c:1646  */
6315      {
6316    ConfigGeneral.oper_only_umodes |= UMODE_SPY;
6317   }
6318 < #line 6321 "conf_parser.c" /* yacc.c:1646  */
6318 > #line 6319 "conf_parser.c" /* yacc.c:1646  */
6319      break;
6320  
6321 <  case 601:
6322 < #line 2904 "conf_parser.y" /* yacc.c:1646  */
6321 >  case 618:
6322 > #line 2841 "conf_parser.y" /* yacc.c:1646  */
6323      {
6324    ConfigGeneral.oper_only_umodes |= UMODE_EXTERNAL;
6325   }
6326 < #line 6329 "conf_parser.c" /* yacc.c:1646  */
6326 > #line 6327 "conf_parser.c" /* yacc.c:1646  */
6327      break;
6328  
6329 <  case 602:
6330 < #line 2907 "conf_parser.y" /* yacc.c:1646  */
6329 >  case 619:
6330 > #line 2844 "conf_parser.y" /* yacc.c:1646  */
6331      {
6332    ConfigGeneral.oper_only_umodes |= UMODE_SERVNOTICE;
6333   }
6334 < #line 6337 "conf_parser.c" /* yacc.c:1646  */
6334 > #line 6335 "conf_parser.c" /* yacc.c:1646  */
6335      break;
6336  
6337 <  case 603:
6338 < #line 2910 "conf_parser.y" /* yacc.c:1646  */
6337 >  case 620:
6338 > #line 2847 "conf_parser.y" /* yacc.c:1646  */
6339      {
6340    ConfigGeneral.oper_only_umodes |= UMODE_INVISIBLE;
6341   }
6342 < #line 6345 "conf_parser.c" /* yacc.c:1646  */
6342 > #line 6343 "conf_parser.c" /* yacc.c:1646  */
6343      break;
6344  
6345 <  case 604:
6346 < #line 2913 "conf_parser.y" /* yacc.c:1646  */
6345 >  case 621:
6346 > #line 2850 "conf_parser.y" /* yacc.c:1646  */
6347      {
6348    ConfigGeneral.oper_only_umodes |= UMODE_WALLOP;
6349   }
6350 < #line 6353 "conf_parser.c" /* yacc.c:1646  */
6350 > #line 6351 "conf_parser.c" /* yacc.c:1646  */
6351      break;
6352  
6353 <  case 605:
6354 < #line 2916 "conf_parser.y" /* yacc.c:1646  */
6353 >  case 622:
6354 > #line 2853 "conf_parser.y" /* yacc.c:1646  */
6355      {
6356    ConfigGeneral.oper_only_umodes |= UMODE_SOFTCALLERID;
6357   }
6358 < #line 6361 "conf_parser.c" /* yacc.c:1646  */
6358 > #line 6359 "conf_parser.c" /* yacc.c:1646  */
6359      break;
6360  
6361 <  case 606:
6362 < #line 2919 "conf_parser.y" /* yacc.c:1646  */
6361 >  case 623:
6362 > #line 2856 "conf_parser.y" /* yacc.c:1646  */
6363      {
6364    ConfigGeneral.oper_only_umodes |= UMODE_CALLERID;
6365   }
6366 < #line 6369 "conf_parser.c" /* yacc.c:1646  */
6366 > #line 6367 "conf_parser.c" /* yacc.c:1646  */
6367      break;
6368  
6369 <  case 607:
6370 < #line 2922 "conf_parser.y" /* yacc.c:1646  */
6369 >  case 624:
6370 > #line 2859 "conf_parser.y" /* yacc.c:1646  */
6371      {
6372    ConfigGeneral.oper_only_umodes |= UMODE_LOCOPS;
6373   }
6374 < #line 6377 "conf_parser.c" /* yacc.c:1646  */
6374 > #line 6375 "conf_parser.c" /* yacc.c:1646  */
6375      break;
6376  
6377 <  case 608:
6378 < #line 2925 "conf_parser.y" /* yacc.c:1646  */
6377 >  case 625:
6378 > #line 2862 "conf_parser.y" /* yacc.c:1646  */
6379      {
6380    ConfigGeneral.oper_only_umodes |= UMODE_REGONLY;
6381   }
6382 < #line 6385 "conf_parser.c" /* yacc.c:1646  */
6382 > #line 6383 "conf_parser.c" /* yacc.c:1646  */
6383      break;
6384  
6385 <  case 609:
6386 < #line 2928 "conf_parser.y" /* yacc.c:1646  */
6385 >  case 626:
6386 > #line 2865 "conf_parser.y" /* yacc.c:1646  */
6387      {
6388    ConfigGeneral.oper_only_umodes |= UMODE_FARCONNECT;
6389   }
6390 < #line 6393 "conf_parser.c" /* yacc.c:1646  */
6390 > #line 6391 "conf_parser.c" /* yacc.c:1646  */
6391      break;
6392  
6393 <  case 610:
6394 < #line 2933 "conf_parser.y" /* yacc.c:1646  */
6393 >  case 627:
6394 > #line 2870 "conf_parser.y" /* yacc.c:1646  */
6395      {
6396    ConfigGeneral.min_nonwildcard = (yyvsp[-1].number);
6397   }
6398 < #line 6401 "conf_parser.c" /* yacc.c:1646  */
6398 > #line 6399 "conf_parser.c" /* yacc.c:1646  */
6399      break;
6400  
6401 <  case 611:
6402 < #line 2938 "conf_parser.y" /* yacc.c:1646  */
6401 >  case 628:
6402 > #line 2875 "conf_parser.y" /* yacc.c:1646  */
6403      {
6404    ConfigGeneral.min_nonwildcard_simple = (yyvsp[-1].number);
6405   }
6406 < #line 6409 "conf_parser.c" /* yacc.c:1646  */
6406 > #line 6407 "conf_parser.c" /* yacc.c:1646  */
6407      break;
6408  
6409 <  case 612:
6410 < #line 2943 "conf_parser.y" /* yacc.c:1646  */
6409 >  case 629:
6410 > #line 2880 "conf_parser.y" /* yacc.c:1646  */
6411      {
6412    ConfigGeneral.default_floodcount = (yyvsp[-1].number);
6413   }
6414 < #line 6417 "conf_parser.c" /* yacc.c:1646  */
6414 > #line 6415 "conf_parser.c" /* yacc.c:1646  */
6415      break;
6416  
6417 <  case 631:
6418 < #line 2972 "conf_parser.y" /* yacc.c:1646  */
6417 >  case 645:
6418 > #line 2905 "conf_parser.y" /* yacc.c:1646  */
6419      {
6420    ConfigChannel.disable_fake_channels = yylval.number;
6421   }
6422 < #line 6425 "conf_parser.c" /* yacc.c:1646  */
6422 > #line 6423 "conf_parser.c" /* yacc.c:1646  */
6423      break;
6424  
6425 <  case 632:
6426 < #line 2977 "conf_parser.y" /* yacc.c:1646  */
6425 >  case 646:
6426 > #line 2910 "conf_parser.y" /* yacc.c:1646  */
6427      {
6428    ConfigChannel.invite_client_count = (yyvsp[-1].number);
6429   }
6430 < #line 6433 "conf_parser.c" /* yacc.c:1646  */
6430 > #line 6431 "conf_parser.c" /* yacc.c:1646  */
6431      break;
6432  
6433 <  case 633:
6434 < #line 2982 "conf_parser.y" /* yacc.c:1646  */
6433 >  case 647:
6434 > #line 2915 "conf_parser.y" /* yacc.c:1646  */
6435      {
6436    ConfigChannel.invite_client_time = (yyvsp[-1].number);
6437   }
6438 < #line 6441 "conf_parser.c" /* yacc.c:1646  */
6438 > #line 6439 "conf_parser.c" /* yacc.c:1646  */
6439      break;
6440  
6441 <  case 634:
6442 < #line 2987 "conf_parser.y" /* yacc.c:1646  */
6441 >  case 648:
6442 > #line 2920 "conf_parser.y" /* yacc.c:1646  */
6443 >    {
6444 >  ConfigChannel.invite_delay_channel = (yyvsp[-1].number);
6445 > }
6446 > #line 6447 "conf_parser.c" /* yacc.c:1646  */
6447 >    break;
6448 >
6449 >  case 649:
6450 > #line 2925 "conf_parser.y" /* yacc.c:1646  */
6451      {
6452    ConfigChannel.knock_client_count = (yyvsp[-1].number);
6453   }
6454 < #line 6449 "conf_parser.c" /* yacc.c:1646  */
6454 > #line 6455 "conf_parser.c" /* yacc.c:1646  */
6455      break;
6456  
6457 <  case 635:
6458 < #line 2992 "conf_parser.y" /* yacc.c:1646  */
6457 >  case 650:
6458 > #line 2930 "conf_parser.y" /* yacc.c:1646  */
6459      {
6460    ConfigChannel.knock_client_time = (yyvsp[-1].number);
6461   }
6462 < #line 6457 "conf_parser.c" /* yacc.c:1646  */
6462 > #line 6463 "conf_parser.c" /* yacc.c:1646  */
6463      break;
6464  
6465 <  case 636:
6466 < #line 2997 "conf_parser.y" /* yacc.c:1646  */
6465 >  case 651:
6466 > #line 2935 "conf_parser.y" /* yacc.c:1646  */
6467      {
6468    ConfigChannel.knock_delay_channel = (yyvsp[-1].number);
6469   }
6470 < #line 6465 "conf_parser.c" /* yacc.c:1646  */
6470 > #line 6471 "conf_parser.c" /* yacc.c:1646  */
6471      break;
6472  
6473 <  case 637:
6474 < #line 3002 "conf_parser.y" /* yacc.c:1646  */
6473 >  case 652:
6474 > #line 2940 "conf_parser.y" /* yacc.c:1646  */
6475      {
6476    ConfigChannel.max_channels = (yyvsp[-1].number);
6477   }
6478 < #line 6473 "conf_parser.c" /* yacc.c:1646  */
6478 > #line 6479 "conf_parser.c" /* yacc.c:1646  */
6479      break;
6480  
6481 <  case 638:
6482 < #line 3007 "conf_parser.y" /* yacc.c:1646  */
6481 >  case 653:
6482 > #line 2945 "conf_parser.y" /* yacc.c:1646  */
6483      {
6484    ConfigChannel.max_bans = (yyvsp[-1].number);
6485   }
6486 < #line 6481 "conf_parser.c" /* yacc.c:1646  */
6486 > #line 6487 "conf_parser.c" /* yacc.c:1646  */
6487      break;
6488  
6489 <  case 639:
6490 < #line 3012 "conf_parser.y" /* yacc.c:1646  */
6489 >  case 654:
6490 > #line 2950 "conf_parser.y" /* yacc.c:1646  */
6491      {
6492 <  ConfigChannel.default_split_user_count = (yyvsp[-1].number);
6492 >  ConfigChannel.default_join_flood_count = yylval.number;
6493   }
6494 < #line 6489 "conf_parser.c" /* yacc.c:1646  */
6494 > #line 6495 "conf_parser.c" /* yacc.c:1646  */
6495      break;
6496  
6497 <  case 640:
6498 < #line 3017 "conf_parser.y" /* yacc.c:1646  */
6497 >  case 655:
6498 > #line 2955 "conf_parser.y" /* yacc.c:1646  */
6499      {
6500 <  ConfigChannel.default_split_server_count = (yyvsp[-1].number);
6500 >  ConfigChannel.default_join_flood_time = (yyvsp[-1].number);
6501   }
6502 < #line 6497 "conf_parser.c" /* yacc.c:1646  */
6502 > #line 6503 "conf_parser.c" /* yacc.c:1646  */
6503      break;
6504  
6505 <  case 641:
6506 < #line 3022 "conf_parser.y" /* yacc.c:1646  */
6505 >  case 669:
6506 > #line 2978 "conf_parser.y" /* yacc.c:1646  */
6507      {
6508 <  ConfigChannel.no_create_on_split = yylval.number;
6508 >  if (conf_parser_ctx.pass == 2)
6509 >    ConfigServerHide.flatten_links = yylval.number;
6510   }
6511 < #line 6505 "conf_parser.c" /* yacc.c:1646  */
6511 > #line 6512 "conf_parser.c" /* yacc.c:1646  */
6512      break;
6513  
6514 <  case 642:
6515 < #line 3027 "conf_parser.y" /* yacc.c:1646  */
6514 >  case 670:
6515 > #line 2984 "conf_parser.y" /* yacc.c:1646  */
6516      {
6517 <  ConfigChannel.no_join_on_split = yylval.number;
6518 < }
6519 < #line 6513 "conf_parser.c" /* yacc.c:1646  */
6513 <    break;
6514 <
6515 <  case 643:
6516 < #line 3032 "conf_parser.y" /* yacc.c:1646  */
6517 >  if (conf_parser_ctx.pass == 2)
6518 >  {
6519 >    if ((yyvsp[-1].number) > 0)
6520      {
6521 <  ConfigChannel.default_join_flood_count = yylval.number;
6522 < }
6523 < #line 6521 "conf_parser.c" /* yacc.c:1646  */
6524 <    break;
6521 >      event_write_links_file.when = (yyvsp[-1].number);
6522 >      event_add(&event_write_links_file, NULL);
6523 >    }
6524 >    else
6525 >     event_delete(&event_write_links_file);
6526  
6527 <  case 644:
6528 < #line 3037 "conf_parser.y" /* yacc.c:1646  */
6525 <    {
6526 <  ConfigChannel.default_join_flood_time = (yyvsp[-1].number);
6527 >    ConfigServerHide.flatten_links_delay = (yyvsp[-1].number);
6528 >  }
6529   }
6530 < #line 6529 "conf_parser.c" /* yacc.c:1646  */
6530 > #line 6531 "conf_parser.c" /* yacc.c:1646  */
6531      break;
6532  
6533 <  case 657:
6534 < #line 3059 "conf_parser.y" /* yacc.c:1646  */
6533 >  case 671:
6534 > #line 3000 "conf_parser.y" /* yacc.c:1646  */
6535      {
6536    if (conf_parser_ctx.pass == 2)
6537 <    ConfigServerHide.flatten_links = yylval.number;
6537 >  {
6538 >    xfree(ConfigServerHide.flatten_links_file);
6539 >    ConfigServerHide.flatten_links_file = xstrdup(yylval.string);
6540 >  }
6541   }
6542 < #line 6538 "conf_parser.c" /* yacc.c:1646  */
6542 > #line 6543 "conf_parser.c" /* yacc.c:1646  */
6543      break;
6544  
6545 <  case 658:
6546 < #line 3065 "conf_parser.y" /* yacc.c:1646  */
6545 >  case 672:
6546 > #line 3009 "conf_parser.y" /* yacc.c:1646  */
6547      {
6548    if (conf_parser_ctx.pass == 2)
6549      ConfigServerHide.disable_remote_commands = yylval.number;
6550   }
6551 < #line 6547 "conf_parser.c" /* yacc.c:1646  */
6551 > #line 6552 "conf_parser.c" /* yacc.c:1646  */
6552      break;
6553  
6554 <  case 659:
6555 < #line 3071 "conf_parser.y" /* yacc.c:1646  */
6554 >  case 673:
6555 > #line 3015 "conf_parser.y" /* yacc.c:1646  */
6556      {
6557    if (conf_parser_ctx.pass == 2)
6558      ConfigServerHide.hide_servers = yylval.number;
6559   }
6560 < #line 6556 "conf_parser.c" /* yacc.c:1646  */
6560 > #line 6561 "conf_parser.c" /* yacc.c:1646  */
6561      break;
6562  
6563 <  case 660:
6564 < #line 3077 "conf_parser.y" /* yacc.c:1646  */
6563 >  case 674:
6564 > #line 3021 "conf_parser.y" /* yacc.c:1646  */
6565      {
6566    if (conf_parser_ctx.pass == 2)
6567      ConfigServerHide.hide_services = yylval.number;
6568   }
6569 < #line 6565 "conf_parser.c" /* yacc.c:1646  */
6569 > #line 6570 "conf_parser.c" /* yacc.c:1646  */
6570      break;
6571  
6572 <  case 661:
6573 < #line 3083 "conf_parser.y" /* yacc.c:1646  */
6572 >  case 675:
6573 > #line 3027 "conf_parser.y" /* yacc.c:1646  */
6574      {
6575    if (conf_parser_ctx.pass == 2)
6576    {
6577 <    MyFree(ConfigServerHide.hidden_name);
6577 >    xfree(ConfigServerHide.hidden_name);
6578      ConfigServerHide.hidden_name = xstrdup(yylval.string);
6579    }
6580   }
6581 < #line 6577 "conf_parser.c" /* yacc.c:1646  */
6581 > #line 6582 "conf_parser.c" /* yacc.c:1646  */
6582      break;
6583  
6584 <  case 662:
6585 < #line 3092 "conf_parser.y" /* yacc.c:1646  */
6581 <    {
6582 <  if (conf_parser_ctx.pass == 2)
6583 <  {
6584 <    if (((yyvsp[-1].number) > 0) && ConfigServerHide.links_disabled == 1)
6585 <    {
6586 <      event_write_links_file.when = (yyvsp[-1].number);
6587 <      event_addish(&event_write_links_file, NULL);
6588 <      ConfigServerHide.links_disabled = 0;
6589 <    }
6590 <
6591 <    ConfigServerHide.links_delay = (yyvsp[-1].number);
6592 <  }
6593 < }
6594 < #line 6595 "conf_parser.c" /* yacc.c:1646  */
6595 <    break;
6596 <
6597 <  case 663:
6598 < #line 3107 "conf_parser.y" /* yacc.c:1646  */
6584 >  case 676:
6585 > #line 3036 "conf_parser.y" /* yacc.c:1646  */
6586      {
6587    if (conf_parser_ctx.pass == 2)
6588      ConfigServerHide.hidden = yylval.number;
6589   }
6590 < #line 6604 "conf_parser.c" /* yacc.c:1646  */
6590 > #line 6591 "conf_parser.c" /* yacc.c:1646  */
6591      break;
6592  
6593 <  case 664:
6594 < #line 3113 "conf_parser.y" /* yacc.c:1646  */
6593 >  case 677:
6594 > #line 3042 "conf_parser.y" /* yacc.c:1646  */
6595      {
6596    if (conf_parser_ctx.pass == 2)
6597      ConfigServerHide.hide_server_ips = yylval.number;
6598   }
6599 < #line 6613 "conf_parser.c" /* yacc.c:1646  */
6599 > #line 6600 "conf_parser.c" /* yacc.c:1646  */
6600      break;
6601  
6602  
6603 < #line 6617 "conf_parser.c" /* yacc.c:1646  */
6603 > #line 6604 "conf_parser.c" /* yacc.c:1646  */
6604        default: break;
6605      }
6606    /* User semantic actions sometimes alter yychar, and that requires

Diff Legend

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