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-8/src/ircd_parser.c (file contents), Revision 1156 by michael, Tue Aug 9 20:29:20 2011 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1377 by michael, Mon Apr 30 19:35:16 2012 UTC

# Line 66 | Line 66
66   /* Copy the first part of user declarations.  */
67  
68   /* Line 268 of yacc.c  */
69 < #line 25 "ircd_parser.y"
69 > #line 25 "conf_parser.y"
70  
71  
72   #define YY_NO_UNPUT
# Line 77 | Line 77
77   #include "stdinc.h"
78   #include "ircd.h"
79   #include "list.h"
80 < #include "s_conf.h"
80 > #include "conf.h"
81   #include "event.h"
82 < #include "s_log.h"
82 > #include "log.h"
83   #include "client.h"     /* for UMODE_ALL only */
84   #include "irc_string.h"
85   #include "sprintf_irc.h"
# Line 97 | Line 97
97   #include <openssl/rsa.h>
98   #include <openssl/bio.h>
99   #include <openssl/pem.h>
100 + #include <openssl/dh.h>
101   #endif
102  
103 + int yylex(void);
104 +
105   static char *class_name = NULL;
106   static struct ConfItem *yy_conf = NULL;
107   static struct AccessItem *yy_aconf = NULL;
# Line 115 | Line 118 | static char userbuf[IRCD_BUFSIZE];
118   static char hostbuf[IRCD_BUFSIZE];
119   static char reasonbuf[REASONLEN + 1];
120   static char gecos_name[REALLEN * 4];
121 <
121 > static char lfile[IRCD_BUFSIZE];
122 > static unsigned int ltype = 0;
123 > static unsigned int lsize = 0;
124   static char *resv_reason = NULL;
125   static char *listener_address = NULL;
121 static int not_atom = 0;
126  
127   struct CollectItem
128   {
# Line 174 | Line 178 | unhook_hub_leaf_confs(void)
178  
179  
180   /* Line 268 of yacc.c  */
181 < #line 178 "ircd_parser.c"
181 > #line 182 "conf_parser.c"
182  
183   /* Enabling traces.  */
184   #ifndef YYDEBUG
# Line 219 | Line 223 | unhook_hub_leaf_confs(void)
223       TBYTES = 273,
224       CALLER_ID_WAIT = 274,
225       CAN_FLOOD = 275,
226 <     CAN_IDLE = 276,
227 <     CHANNEL = 277,
228 <     CIDR_BITLEN_IPV4 = 278,
229 <     CIDR_BITLEN_IPV6 = 279,
230 <     CIPHER_PREFERENCE = 280,
231 <     CLASS = 281,
232 <     COMPRESSED = 282,
233 <     COMPRESSION_LEVEL = 283,
234 <     CONNECT = 284,
235 <     CONNECTFREQ = 285,
236 <     CRYPTLINK = 286,
237 <     DEFAULT_CIPHER_PREFERENCE = 287,
238 <     DEFAULT_FLOODCOUNT = 288,
239 <     DEFAULT_SPLIT_SERVER_COUNT = 289,
240 <     DEFAULT_SPLIT_USER_COUNT = 290,
241 <     DENY = 291,
242 <     DESCRIPTION = 292,
243 <     DIE = 293,
244 <     DISABLE_AUTH = 294,
245 <     DISABLE_FAKE_CHANNELS = 295,
246 <     DISABLE_HIDDEN = 296,
247 <     DISABLE_LOCAL_CHANNELS = 297,
248 <     DISABLE_REMOTE_COMMANDS = 298,
249 <     DOTS_IN_IDENT = 299,
250 <     DURATION = 300,
251 <     EGDPOOL_PATH = 301,
252 <     EMAIL = 302,
253 <     ENABLE = 303,
254 <     ENCRYPTED = 304,
255 <     EXCEED_LIMIT = 305,
256 <     EXEMPT = 306,
257 <     FAILED_OPER_NOTICE = 307,
258 <     IRCD_FLAGS = 308,
259 <     FLATTEN_LINKS = 309,
260 <     FFAILED_OPERLOG = 310,
261 <     FKILLLOG = 311,
262 <     FKLINELOG = 312,
263 <     FGLINELOG = 313,
264 <     FIOERRLOG = 314,
265 <     FOPERLOG = 315,
266 <     FOPERSPYLOG = 316,
267 <     FUSERLOG = 317,
268 <     GECOS = 318,
269 <     GENERAL = 319,
270 <     GLINE = 320,
271 <     GLINES = 321,
272 <     GLINE_EXEMPT = 322,
273 <     GLINE_LOG = 323,
274 <     GLINE_TIME = 324,
275 <     GLINE_MIN_CIDR = 325,
276 <     GLINE_MIN_CIDR6 = 326,
277 <     GLOBAL_KILL = 327,
278 <     IRCD_AUTH = 328,
279 <     NEED_IDENT = 329,
280 <     HAVENT_READ_CONF = 330,
281 <     HIDDEN = 331,
282 <     HIDDEN_ADMIN = 332,
283 <     HIDDEN_NAME = 333,
284 <     HIDDEN_OPER = 334,
285 <     HIDE_SERVER_IPS = 335,
286 <     HIDE_SERVERS = 336,
287 <     HIDE_SPOOF_IPS = 337,
288 <     HOST = 338,
289 <     HUB = 339,
290 <     HUB_MASK = 340,
291 <     IDLETIME = 341,
292 <     IGNORE_BOGUS_TS = 342,
293 <     INVISIBLE_ON_CONNECT = 343,
294 <     IP = 344,
295 <     KILL = 345,
296 <     KILL_CHASE_TIME_LIMIT = 346,
297 <     KLINE = 347,
298 <     KLINE_EXEMPT = 348,
299 <     KLINE_REASON = 349,
300 <     KLINE_WITH_REASON = 350,
301 <     KNOCK_DELAY = 351,
302 <     KNOCK_DELAY_CHANNEL = 352,
303 <     LEAF_MASK = 353,
304 <     LINKS_DELAY = 354,
305 <     LISTEN = 355,
306 <     T_LOG = 356,
307 <     LOGGING = 357,
308 <     LOG_LEVEL = 358,
309 <     MAX_ACCEPT = 359,
310 <     MAX_BANS = 360,
311 <     MAX_CHANS_PER_USER = 361,
312 <     MAX_GLOBAL = 362,
313 <     MAX_IDENT = 363,
314 <     MAX_LOCAL = 364,
315 <     MAX_NICK_CHANGES = 365,
316 <     MAX_NICK_TIME = 366,
317 <     MAX_NUMBER = 367,
318 <     MAX_TARGETS = 368,
319 <     MAX_WATCH = 369,
320 <     MESSAGE_LOCALE = 370,
321 <     MIN_NONWILDCARD = 371,
322 <     MIN_NONWILDCARD_SIMPLE = 372,
323 <     MODULE = 373,
324 <     MODULES = 374,
325 <     NAME = 375,
326 <     NEED_PASSWORD = 376,
327 <     NETWORK_DESC = 377,
328 <     NETWORK_NAME = 378,
329 <     NICK = 379,
330 <     NICK_CHANGES = 380,
331 <     NO_CREATE_ON_SPLIT = 381,
332 <     NO_JOIN_ON_SPLIT = 382,
333 <     NO_OPER_FLOOD = 383,
334 <     NO_TILDE = 384,
335 <     NOT = 385,
336 <     NUMBER = 386,
337 <     NUMBER_PER_IDENT = 387,
338 <     NUMBER_PER_CIDR = 388,
339 <     NUMBER_PER_IP = 389,
340 <     NUMBER_PER_IP_GLOBAL = 390,
341 <     OPERATOR = 391,
342 <     OPERS_BYPASS_CALLERID = 392,
343 <     OPER_LOG = 393,
344 <     OPER_ONLY_UMODES = 394,
345 <     OPER_PASS_RESV = 395,
346 <     OPER_SPY_T = 396,
347 <     OPER_UMODES = 397,
348 <     JOIN_FLOOD_COUNT = 398,
349 <     JOIN_FLOOD_TIME = 399,
350 <     PACE_WAIT = 400,
351 <     PACE_WAIT_SIMPLE = 401,
352 <     PASSWORD = 402,
353 <     PATH = 403,
354 <     PING_COOKIE = 404,
355 <     PING_TIME = 405,
356 <     PING_WARNING = 406,
357 <     PORT = 407,
358 <     QSTRING = 408,
359 <     QUIET_ON_BAN = 409,
360 <     REASON = 410,
361 <     REDIRPORT = 411,
362 <     REDIRSERV = 412,
363 <     REGEX_T = 413,
364 <     REHASH = 414,
365 <     TREJECT_HOLD_TIME = 415,
366 <     REMOTE = 416,
367 <     REMOTEBAN = 417,
368 <     RESTRICT_CHANNELS = 418,
369 <     RESTRICTED = 419,
370 <     RSA_PRIVATE_KEY_FILE = 420,
371 <     RSA_PUBLIC_KEY_FILE = 421,
372 <     SSL_CERTIFICATE_FILE = 422,
373 <     T_SSL_CONNECTION_METHOD = 423,
374 <     T_SSLV3 = 424,
375 <     T_TLSV1 = 425,
376 <     RESV = 426,
377 <     RESV_EXEMPT = 427,
378 <     SECONDS = 428,
379 <     MINUTES = 429,
380 <     HOURS = 430,
381 <     DAYS = 431,
382 <     WEEKS = 432,
383 <     SENDQ = 433,
384 <     SEND_PASSWORD = 434,
385 <     SERVERHIDE = 435,
386 <     SERVERINFO = 436,
387 <     SERVLINK_PATH = 437,
388 <     IRCD_SID = 438,
389 <     TKLINE_EXPIRE_NOTICES = 439,
390 <     T_SHARED = 440,
391 <     T_CLUSTER = 441,
392 <     TYPE = 442,
393 <     SHORT_MOTD = 443,
394 <     SILENT = 444,
395 <     SPOOF = 445,
396 <     SPOOF_NOTICE = 446,
397 <     STATS_E_DISABLED = 447,
398 <     STATS_I_OPER_ONLY = 448,
399 <     STATS_K_OPER_ONLY = 449,
400 <     STATS_O_OPER_ONLY = 450,
401 <     STATS_P_OPER_ONLY = 451,
402 <     TBOOL = 452,
403 <     TMASKED = 453,
404 <     T_REJECT = 454,
405 <     TS_MAX_DELTA = 455,
406 <     TS_WARN_DELTA = 456,
407 <     TWODOTS = 457,
408 <     T_ALL = 458,
409 <     T_BOTS = 459,
410 <     T_SOFTCALLERID = 460,
411 <     T_CALLERID = 461,
412 <     T_CCONN = 462,
413 <     T_CCONN_FULL = 463,
414 <     T_CLIENT_FLOOD = 464,
415 <     T_DEAF = 465,
416 <     T_DEBUG = 466,
417 <     T_DRONE = 467,
418 <     T_EXTERNAL = 468,
419 <     T_FULL = 469,
420 <     T_INVISIBLE = 470,
421 <     T_IPV4 = 471,
422 <     T_IPV6 = 472,
423 <     T_LOCOPS = 473,
424 <     T_LOGPATH = 474,
425 <     T_L_CRIT = 475,
426 <     T_L_DEBUG = 476,
427 <     T_L_ERROR = 477,
428 <     T_L_INFO = 478,
429 <     T_L_NOTICE = 479,
430 <     T_L_TRACE = 480,
431 <     T_L_WARN = 481,
432 <     T_MAX_CLIENTS = 482,
433 <     T_NCHANGE = 483,
434 <     T_OPERWALL = 484,
435 <     T_REJ = 485,
436 <     T_SERVER = 486,
437 <     T_SERVNOTICE = 487,
438 <     T_SKILL = 488,
439 <     T_SPY = 489,
440 <     T_SSL = 490,
441 <     T_UMODES = 491,
442 <     T_UNAUTH = 492,
443 <     T_UNRESV = 493,
444 <     T_UNXLINE = 494,
445 <     T_WALLOP = 495,
442 <     THROTTLE_TIME = 496,
443 <     TOPICBURST = 497,
444 <     TRUE_NO_OPER_FLOOD = 498,
445 <     TKLINE = 499,
446 <     TXLINE = 500,
447 <     TRESV = 501,
448 <     UNKLINE = 502,
449 <     USER = 503,
450 <     USE_EGD = 504,
451 <     USE_EXCEPT = 505,
452 <     USE_INVEX = 506,
453 <     USE_KNOCK = 507,
454 <     USE_LOGGING = 508,
455 <     USE_WHOIS_ACTUALLY = 509,
456 <     VHOST = 510,
457 <     VHOST6 = 511,
458 <     XLINE = 512,
459 <     WARN = 513,
460 <     WARN_NO_NLINE = 514
226 >     CHANNEL = 276,
227 >     CIDR_BITLEN_IPV4 = 277,
228 >     CIDR_BITLEN_IPV6 = 278,
229 >     CLASS = 279,
230 >     CONNECT = 280,
231 >     CONNECTFREQ = 281,
232 >     DEFAULT_FLOODCOUNT = 282,
233 >     DEFAULT_SPLIT_SERVER_COUNT = 283,
234 >     DEFAULT_SPLIT_USER_COUNT = 284,
235 >     DENY = 285,
236 >     DESCRIPTION = 286,
237 >     DIE = 287,
238 >     DISABLE_AUTH = 288,
239 >     DISABLE_FAKE_CHANNELS = 289,
240 >     DISABLE_HIDDEN = 290,
241 >     DISABLE_LOCAL_CHANNELS = 291,
242 >     DISABLE_REMOTE_COMMANDS = 292,
243 >     DOTS_IN_IDENT = 293,
244 >     DURATION = 294,
245 >     EGDPOOL_PATH = 295,
246 >     EMAIL = 296,
247 >     ENABLE = 297,
248 >     ENCRYPTED = 298,
249 >     EXCEED_LIMIT = 299,
250 >     EXEMPT = 300,
251 >     FAILED_OPER_NOTICE = 301,
252 >     IRCD_FLAGS = 302,
253 >     FLATTEN_LINKS = 303,
254 >     GECOS = 304,
255 >     GENERAL = 305,
256 >     GLINE = 306,
257 >     GLINES = 307,
258 >     GLINE_EXEMPT = 308,
259 >     GLINE_TIME = 309,
260 >     GLINE_MIN_CIDR = 310,
261 >     GLINE_MIN_CIDR6 = 311,
262 >     GLOBAL_KILL = 312,
263 >     IRCD_AUTH = 313,
264 >     NEED_IDENT = 314,
265 >     HAVENT_READ_CONF = 315,
266 >     HIDDEN = 316,
267 >     HIDDEN_NAME = 317,
268 >     HIDE_SERVER_IPS = 318,
269 >     HIDE_SERVERS = 319,
270 >     HIDE_SPOOF_IPS = 320,
271 >     HOST = 321,
272 >     HUB = 322,
273 >     HUB_MASK = 323,
274 >     IGNORE_BOGUS_TS = 324,
275 >     INVISIBLE_ON_CONNECT = 325,
276 >     IP = 326,
277 >     KILL = 327,
278 >     KILL_CHASE_TIME_LIMIT = 328,
279 >     KLINE = 329,
280 >     KLINE_EXEMPT = 330,
281 >     KLINE_REASON = 331,
282 >     KLINE_WITH_REASON = 332,
283 >     KNOCK_DELAY = 333,
284 >     KNOCK_DELAY_CHANNEL = 334,
285 >     LEAF_MASK = 335,
286 >     LINKS_DELAY = 336,
287 >     LISTEN = 337,
288 >     T_LOG = 338,
289 >     MAX_ACCEPT = 339,
290 >     MAX_BANS = 340,
291 >     MAX_CHANS_PER_USER = 341,
292 >     MAX_GLOBAL = 342,
293 >     MAX_IDENT = 343,
294 >     MAX_LOCAL = 344,
295 >     MAX_NICK_CHANGES = 345,
296 >     MAX_NICK_TIME = 346,
297 >     MAX_NUMBER = 347,
298 >     MAX_TARGETS = 348,
299 >     MAX_WATCH = 349,
300 >     MESSAGE_LOCALE = 350,
301 >     MIN_NONWILDCARD = 351,
302 >     MIN_NONWILDCARD_SIMPLE = 352,
303 >     MODULE = 353,
304 >     MODULES = 354,
305 >     NAME = 355,
306 >     NEED_PASSWORD = 356,
307 >     NETWORK_DESC = 357,
308 >     NETWORK_NAME = 358,
309 >     NICK = 359,
310 >     NICK_CHANGES = 360,
311 >     NO_CREATE_ON_SPLIT = 361,
312 >     NO_JOIN_ON_SPLIT = 362,
313 >     NO_OPER_FLOOD = 363,
314 >     NO_TILDE = 364,
315 >     NUMBER = 365,
316 >     NUMBER_PER_IDENT = 366,
317 >     NUMBER_PER_CIDR = 367,
318 >     NUMBER_PER_IP = 368,
319 >     NUMBER_PER_IP_GLOBAL = 369,
320 >     OPERATOR = 370,
321 >     OPERS_BYPASS_CALLERID = 371,
322 >     OPER_ONLY_UMODES = 372,
323 >     OPER_PASS_RESV = 373,
324 >     OPER_SPY_T = 374,
325 >     OPER_UMODES = 375,
326 >     JOIN_FLOOD_COUNT = 376,
327 >     JOIN_FLOOD_TIME = 377,
328 >     PACE_WAIT = 378,
329 >     PACE_WAIT_SIMPLE = 379,
330 >     PASSWORD = 380,
331 >     PATH = 381,
332 >     PING_COOKIE = 382,
333 >     PING_TIME = 383,
334 >     PING_WARNING = 384,
335 >     PORT = 385,
336 >     QSTRING = 386,
337 >     QUIET_ON_BAN = 387,
338 >     REASON = 388,
339 >     REDIRPORT = 389,
340 >     REDIRSERV = 390,
341 >     REGEX_T = 391,
342 >     REHASH = 392,
343 >     TREJECT_HOLD_TIME = 393,
344 >     REMOTE = 394,
345 >     REMOTEBAN = 395,
346 >     RESTRICT_CHANNELS = 396,
347 >     RESTRICTED = 397,
348 >     RSA_PRIVATE_KEY_FILE = 398,
349 >     RSA_PUBLIC_KEY_FILE = 399,
350 >     SSL_CERTIFICATE_FILE = 400,
351 >     SSL_DH_PARAM_FILE = 401,
352 >     T_SSL_CLIENT_METHOD = 402,
353 >     T_SSL_SERVER_METHOD = 403,
354 >     T_SSLV3 = 404,
355 >     T_TLSV1 = 405,
356 >     RESV = 406,
357 >     RESV_EXEMPT = 407,
358 >     SECONDS = 408,
359 >     MINUTES = 409,
360 >     HOURS = 410,
361 >     DAYS = 411,
362 >     WEEKS = 412,
363 >     SENDQ = 413,
364 >     SEND_PASSWORD = 414,
365 >     SERVERHIDE = 415,
366 >     SERVERINFO = 416,
367 >     IRCD_SID = 417,
368 >     TKLINE_EXPIRE_NOTICES = 418,
369 >     T_SHARED = 419,
370 >     T_CLUSTER = 420,
371 >     TYPE = 421,
372 >     SHORT_MOTD = 422,
373 >     SILENT = 423,
374 >     SPOOF = 424,
375 >     SPOOF_NOTICE = 425,
376 >     STATS_E_DISABLED = 426,
377 >     STATS_I_OPER_ONLY = 427,
378 >     STATS_K_OPER_ONLY = 428,
379 >     STATS_O_OPER_ONLY = 429,
380 >     STATS_P_OPER_ONLY = 430,
381 >     TBOOL = 431,
382 >     TMASKED = 432,
383 >     T_REJECT = 433,
384 >     TS_MAX_DELTA = 434,
385 >     TS_WARN_DELTA = 435,
386 >     TWODOTS = 436,
387 >     T_ALL = 437,
388 >     T_BOTS = 438,
389 >     T_SOFTCALLERID = 439,
390 >     T_CALLERID = 440,
391 >     T_CCONN = 441,
392 >     T_CCONN_FULL = 442,
393 >     T_SSL_CIPHER_LIST = 443,
394 >     T_CLIENT_FLOOD = 444,
395 >     T_DEAF = 445,
396 >     T_DEBUG = 446,
397 >     T_DLINE = 447,
398 >     T_DRONE = 448,
399 >     T_EXTERNAL = 449,
400 >     T_FULL = 450,
401 >     T_INVISIBLE = 451,
402 >     T_IPV4 = 452,
403 >     T_IPV6 = 453,
404 >     T_LOCOPS = 454,
405 >     T_MAX_CLIENTS = 455,
406 >     T_NCHANGE = 456,
407 >     T_OPERWALL = 457,
408 >     T_REJ = 458,
409 >     T_SERVER = 459,
410 >     T_SERVNOTICE = 460,
411 >     T_SKILL = 461,
412 >     T_SPY = 462,
413 >     T_SSL = 463,
414 >     T_UMODES = 464,
415 >     T_UNAUTH = 465,
416 >     T_UNDLINE = 466,
417 >     T_UNLIMITED = 467,
418 >     T_UNRESV = 468,
419 >     T_UNXLINE = 469,
420 >     T_GLOBOPS = 470,
421 >     T_WALLOP = 471,
422 >     T_RESTART = 472,
423 >     T_SERVICE = 473,
424 >     T_SERVICES_NAME = 474,
425 >     THROTTLE_TIME = 475,
426 >     TOPICBURST = 476,
427 >     TRUE_NO_OPER_FLOOD = 477,
428 >     TKLINE = 478,
429 >     TXLINE = 479,
430 >     TRESV = 480,
431 >     UNKLINE = 481,
432 >     USER = 482,
433 >     USE_EGD = 483,
434 >     USE_EXCEPT = 484,
435 >     USE_INVEX = 485,
436 >     USE_KNOCK = 486,
437 >     USE_LOGGING = 487,
438 >     USE_WHOIS_ACTUALLY = 488,
439 >     VHOST = 489,
440 >     VHOST6 = 490,
441 >     XLINE = 491,
442 >     WARN = 492,
443 >     WARN_NO_NLINE = 493,
444 >     T_SIZE = 494,
445 >     T_FILE = 495
446     };
447   #endif
448   /* Tokens.  */
# Line 479 | Line 464 | unhook_hub_leaf_confs(void)
464   #define TBYTES 273
465   #define CALLER_ID_WAIT 274
466   #define CAN_FLOOD 275
467 < #define CAN_IDLE 276
468 < #define CHANNEL 277
469 < #define CIDR_BITLEN_IPV4 278
470 < #define CIDR_BITLEN_IPV6 279
471 < #define CIPHER_PREFERENCE 280
472 < #define CLASS 281
473 < #define COMPRESSED 282
474 < #define COMPRESSION_LEVEL 283
475 < #define CONNECT 284
476 < #define CONNECTFREQ 285
477 < #define CRYPTLINK 286
478 < #define DEFAULT_CIPHER_PREFERENCE 287
479 < #define DEFAULT_FLOODCOUNT 288
480 < #define DEFAULT_SPLIT_SERVER_COUNT 289
481 < #define DEFAULT_SPLIT_USER_COUNT 290
482 < #define DENY 291
483 < #define DESCRIPTION 292
484 < #define DIE 293
485 < #define DISABLE_AUTH 294
486 < #define DISABLE_FAKE_CHANNELS 295
487 < #define DISABLE_HIDDEN 296
488 < #define DISABLE_LOCAL_CHANNELS 297
489 < #define DISABLE_REMOTE_COMMANDS 298
490 < #define DOTS_IN_IDENT 299
491 < #define DURATION 300
492 < #define EGDPOOL_PATH 301
493 < #define EMAIL 302
494 < #define ENABLE 303
495 < #define ENCRYPTED 304
496 < #define EXCEED_LIMIT 305
497 < #define EXEMPT 306
498 < #define FAILED_OPER_NOTICE 307
499 < #define IRCD_FLAGS 308
500 < #define FLATTEN_LINKS 309
501 < #define FFAILED_OPERLOG 310
502 < #define FKILLLOG 311
503 < #define FKLINELOG 312
504 < #define FGLINELOG 313
505 < #define FIOERRLOG 314
506 < #define FOPERLOG 315
507 < #define FOPERSPYLOG 316
508 < #define FUSERLOG 317
509 < #define GECOS 318
510 < #define GENERAL 319
511 < #define GLINE 320
512 < #define GLINES 321
513 < #define GLINE_EXEMPT 322
514 < #define GLINE_LOG 323
515 < #define GLINE_TIME 324
516 < #define GLINE_MIN_CIDR 325
517 < #define GLINE_MIN_CIDR6 326
518 < #define GLOBAL_KILL 327
519 < #define IRCD_AUTH 328
520 < #define NEED_IDENT 329
521 < #define HAVENT_READ_CONF 330
522 < #define HIDDEN 331
523 < #define HIDDEN_ADMIN 332
524 < #define HIDDEN_NAME 333
525 < #define HIDDEN_OPER 334
526 < #define HIDE_SERVER_IPS 335
527 < #define HIDE_SERVERS 336
528 < #define HIDE_SPOOF_IPS 337
529 < #define HOST 338
530 < #define HUB 339
531 < #define HUB_MASK 340
532 < #define IDLETIME 341
533 < #define IGNORE_BOGUS_TS 342
534 < #define INVISIBLE_ON_CONNECT 343
535 < #define IP 344
536 < #define KILL 345
537 < #define KILL_CHASE_TIME_LIMIT 346
538 < #define KLINE 347
539 < #define KLINE_EXEMPT 348
540 < #define KLINE_REASON 349
541 < #define KLINE_WITH_REASON 350
542 < #define KNOCK_DELAY 351
543 < #define KNOCK_DELAY_CHANNEL 352
544 < #define LEAF_MASK 353
545 < #define LINKS_DELAY 354
546 < #define LISTEN 355
547 < #define T_LOG 356
548 < #define LOGGING 357
549 < #define LOG_LEVEL 358
550 < #define MAX_ACCEPT 359
551 < #define MAX_BANS 360
552 < #define MAX_CHANS_PER_USER 361
553 < #define MAX_GLOBAL 362
554 < #define MAX_IDENT 363
555 < #define MAX_LOCAL 364
556 < #define MAX_NICK_CHANGES 365
557 < #define MAX_NICK_TIME 366
558 < #define MAX_NUMBER 367
559 < #define MAX_TARGETS 368
560 < #define MAX_WATCH 369
561 < #define MESSAGE_LOCALE 370
562 < #define MIN_NONWILDCARD 371
563 < #define MIN_NONWILDCARD_SIMPLE 372
564 < #define MODULE 373
565 < #define MODULES 374
566 < #define NAME 375
567 < #define NEED_PASSWORD 376
568 < #define NETWORK_DESC 377
569 < #define NETWORK_NAME 378
570 < #define NICK 379
571 < #define NICK_CHANGES 380
572 < #define NO_CREATE_ON_SPLIT 381
573 < #define NO_JOIN_ON_SPLIT 382
574 < #define NO_OPER_FLOOD 383
575 < #define NO_TILDE 384
576 < #define NOT 385
577 < #define NUMBER 386
578 < #define NUMBER_PER_IDENT 387
579 < #define NUMBER_PER_CIDR 388
580 < #define NUMBER_PER_IP 389
581 < #define NUMBER_PER_IP_GLOBAL 390
582 < #define OPERATOR 391
583 < #define OPERS_BYPASS_CALLERID 392
584 < #define OPER_LOG 393
585 < #define OPER_ONLY_UMODES 394
586 < #define OPER_PASS_RESV 395
587 < #define OPER_SPY_T 396
588 < #define OPER_UMODES 397
589 < #define JOIN_FLOOD_COUNT 398
590 < #define JOIN_FLOOD_TIME 399
591 < #define PACE_WAIT 400
592 < #define PACE_WAIT_SIMPLE 401
593 < #define PASSWORD 402
594 < #define PATH 403
595 < #define PING_COOKIE 404
596 < #define PING_TIME 405
597 < #define PING_WARNING 406
598 < #define PORT 407
599 < #define QSTRING 408
600 < #define QUIET_ON_BAN 409
601 < #define REASON 410
602 < #define REDIRPORT 411
603 < #define REDIRSERV 412
604 < #define REGEX_T 413
605 < #define REHASH 414
606 < #define TREJECT_HOLD_TIME 415
607 < #define REMOTE 416
608 < #define REMOTEBAN 417
609 < #define RESTRICT_CHANNELS 418
610 < #define RESTRICTED 419
611 < #define RSA_PRIVATE_KEY_FILE 420
612 < #define RSA_PUBLIC_KEY_FILE 421
613 < #define SSL_CERTIFICATE_FILE 422
614 < #define T_SSL_CONNECTION_METHOD 423
615 < #define T_SSLV3 424
616 < #define T_TLSV1 425
617 < #define RESV 426
618 < #define RESV_EXEMPT 427
619 < #define SECONDS 428
620 < #define MINUTES 429
621 < #define HOURS 430
622 < #define DAYS 431
623 < #define WEEKS 432
624 < #define SENDQ 433
625 < #define SEND_PASSWORD 434
626 < #define SERVERHIDE 435
627 < #define SERVERINFO 436
628 < #define SERVLINK_PATH 437
629 < #define IRCD_SID 438
630 < #define TKLINE_EXPIRE_NOTICES 439
631 < #define T_SHARED 440
632 < #define T_CLUSTER 441
633 < #define TYPE 442
634 < #define SHORT_MOTD 443
635 < #define SILENT 444
636 < #define SPOOF 445
637 < #define SPOOF_NOTICE 446
638 < #define STATS_E_DISABLED 447
639 < #define STATS_I_OPER_ONLY 448
640 < #define STATS_K_OPER_ONLY 449
641 < #define STATS_O_OPER_ONLY 450
642 < #define STATS_P_OPER_ONLY 451
643 < #define TBOOL 452
644 < #define TMASKED 453
645 < #define T_REJECT 454
646 < #define TS_MAX_DELTA 455
647 < #define TS_WARN_DELTA 456
648 < #define TWODOTS 457
649 < #define T_ALL 458
650 < #define T_BOTS 459
651 < #define T_SOFTCALLERID 460
652 < #define T_CALLERID 461
653 < #define T_CCONN 462
654 < #define T_CCONN_FULL 463
655 < #define T_CLIENT_FLOOD 464
656 < #define T_DEAF 465
657 < #define T_DEBUG 466
658 < #define T_DRONE 467
659 < #define T_EXTERNAL 468
660 < #define T_FULL 469
661 < #define T_INVISIBLE 470
662 < #define T_IPV4 471
663 < #define T_IPV6 472
664 < #define T_LOCOPS 473
665 < #define T_LOGPATH 474
666 < #define T_L_CRIT 475
667 < #define T_L_DEBUG 476
668 < #define T_L_ERROR 477
669 < #define T_L_INFO 478
670 < #define T_L_NOTICE 479
671 < #define T_L_TRACE 480
672 < #define T_L_WARN 481
673 < #define T_MAX_CLIENTS 482
674 < #define T_NCHANGE 483
675 < #define T_OPERWALL 484
676 < #define T_REJ 485
677 < #define T_SERVER 486
678 < #define T_SERVNOTICE 487
679 < #define T_SKILL 488
680 < #define T_SPY 489
681 < #define T_SSL 490
682 < #define T_UMODES 491
683 < #define T_UNAUTH 492
684 < #define T_UNRESV 493
685 < #define T_UNXLINE 494
686 < #define T_WALLOP 495
702 < #define THROTTLE_TIME 496
703 < #define TOPICBURST 497
704 < #define TRUE_NO_OPER_FLOOD 498
705 < #define TKLINE 499
706 < #define TXLINE 500
707 < #define TRESV 501
708 < #define UNKLINE 502
709 < #define USER 503
710 < #define USE_EGD 504
711 < #define USE_EXCEPT 505
712 < #define USE_INVEX 506
713 < #define USE_KNOCK 507
714 < #define USE_LOGGING 508
715 < #define USE_WHOIS_ACTUALLY 509
716 < #define VHOST 510
717 < #define VHOST6 511
718 < #define XLINE 512
719 < #define WARN 513
720 < #define WARN_NO_NLINE 514
467 > #define CHANNEL 276
468 > #define CIDR_BITLEN_IPV4 277
469 > #define CIDR_BITLEN_IPV6 278
470 > #define CLASS 279
471 > #define CONNECT 280
472 > #define CONNECTFREQ 281
473 > #define DEFAULT_FLOODCOUNT 282
474 > #define DEFAULT_SPLIT_SERVER_COUNT 283
475 > #define DEFAULT_SPLIT_USER_COUNT 284
476 > #define DENY 285
477 > #define DESCRIPTION 286
478 > #define DIE 287
479 > #define DISABLE_AUTH 288
480 > #define DISABLE_FAKE_CHANNELS 289
481 > #define DISABLE_HIDDEN 290
482 > #define DISABLE_LOCAL_CHANNELS 291
483 > #define DISABLE_REMOTE_COMMANDS 292
484 > #define DOTS_IN_IDENT 293
485 > #define DURATION 294
486 > #define EGDPOOL_PATH 295
487 > #define EMAIL 296
488 > #define ENABLE 297
489 > #define ENCRYPTED 298
490 > #define EXCEED_LIMIT 299
491 > #define EXEMPT 300
492 > #define FAILED_OPER_NOTICE 301
493 > #define IRCD_FLAGS 302
494 > #define FLATTEN_LINKS 303
495 > #define GECOS 304
496 > #define GENERAL 305
497 > #define GLINE 306
498 > #define GLINES 307
499 > #define GLINE_EXEMPT 308
500 > #define GLINE_TIME 309
501 > #define GLINE_MIN_CIDR 310
502 > #define GLINE_MIN_CIDR6 311
503 > #define GLOBAL_KILL 312
504 > #define IRCD_AUTH 313
505 > #define NEED_IDENT 314
506 > #define HAVENT_READ_CONF 315
507 > #define HIDDEN 316
508 > #define HIDDEN_NAME 317
509 > #define HIDE_SERVER_IPS 318
510 > #define HIDE_SERVERS 319
511 > #define HIDE_SPOOF_IPS 320
512 > #define HOST 321
513 > #define HUB 322
514 > #define HUB_MASK 323
515 > #define IGNORE_BOGUS_TS 324
516 > #define INVISIBLE_ON_CONNECT 325
517 > #define IP 326
518 > #define KILL 327
519 > #define KILL_CHASE_TIME_LIMIT 328
520 > #define KLINE 329
521 > #define KLINE_EXEMPT 330
522 > #define KLINE_REASON 331
523 > #define KLINE_WITH_REASON 332
524 > #define KNOCK_DELAY 333
525 > #define KNOCK_DELAY_CHANNEL 334
526 > #define LEAF_MASK 335
527 > #define LINKS_DELAY 336
528 > #define LISTEN 337
529 > #define T_LOG 338
530 > #define MAX_ACCEPT 339
531 > #define MAX_BANS 340
532 > #define MAX_CHANS_PER_USER 341
533 > #define MAX_GLOBAL 342
534 > #define MAX_IDENT 343
535 > #define MAX_LOCAL 344
536 > #define MAX_NICK_CHANGES 345
537 > #define MAX_NICK_TIME 346
538 > #define MAX_NUMBER 347
539 > #define MAX_TARGETS 348
540 > #define MAX_WATCH 349
541 > #define MESSAGE_LOCALE 350
542 > #define MIN_NONWILDCARD 351
543 > #define MIN_NONWILDCARD_SIMPLE 352
544 > #define MODULE 353
545 > #define MODULES 354
546 > #define NAME 355
547 > #define NEED_PASSWORD 356
548 > #define NETWORK_DESC 357
549 > #define NETWORK_NAME 358
550 > #define NICK 359
551 > #define NICK_CHANGES 360
552 > #define NO_CREATE_ON_SPLIT 361
553 > #define NO_JOIN_ON_SPLIT 362
554 > #define NO_OPER_FLOOD 363
555 > #define NO_TILDE 364
556 > #define NUMBER 365
557 > #define NUMBER_PER_IDENT 366
558 > #define NUMBER_PER_CIDR 367
559 > #define NUMBER_PER_IP 368
560 > #define NUMBER_PER_IP_GLOBAL 369
561 > #define OPERATOR 370
562 > #define OPERS_BYPASS_CALLERID 371
563 > #define OPER_ONLY_UMODES 372
564 > #define OPER_PASS_RESV 373
565 > #define OPER_SPY_T 374
566 > #define OPER_UMODES 375
567 > #define JOIN_FLOOD_COUNT 376
568 > #define JOIN_FLOOD_TIME 377
569 > #define PACE_WAIT 378
570 > #define PACE_WAIT_SIMPLE 379
571 > #define PASSWORD 380
572 > #define PATH 381
573 > #define PING_COOKIE 382
574 > #define PING_TIME 383
575 > #define PING_WARNING 384
576 > #define PORT 385
577 > #define QSTRING 386
578 > #define QUIET_ON_BAN 387
579 > #define REASON 388
580 > #define REDIRPORT 389
581 > #define REDIRSERV 390
582 > #define REGEX_T 391
583 > #define REHASH 392
584 > #define TREJECT_HOLD_TIME 393
585 > #define REMOTE 394
586 > #define REMOTEBAN 395
587 > #define RESTRICT_CHANNELS 396
588 > #define RESTRICTED 397
589 > #define RSA_PRIVATE_KEY_FILE 398
590 > #define RSA_PUBLIC_KEY_FILE 399
591 > #define SSL_CERTIFICATE_FILE 400
592 > #define SSL_DH_PARAM_FILE 401
593 > #define T_SSL_CLIENT_METHOD 402
594 > #define T_SSL_SERVER_METHOD 403
595 > #define T_SSLV3 404
596 > #define T_TLSV1 405
597 > #define RESV 406
598 > #define RESV_EXEMPT 407
599 > #define SECONDS 408
600 > #define MINUTES 409
601 > #define HOURS 410
602 > #define DAYS 411
603 > #define WEEKS 412
604 > #define SENDQ 413
605 > #define SEND_PASSWORD 414
606 > #define SERVERHIDE 415
607 > #define SERVERINFO 416
608 > #define IRCD_SID 417
609 > #define TKLINE_EXPIRE_NOTICES 418
610 > #define T_SHARED 419
611 > #define T_CLUSTER 420
612 > #define TYPE 421
613 > #define SHORT_MOTD 422
614 > #define SILENT 423
615 > #define SPOOF 424
616 > #define SPOOF_NOTICE 425
617 > #define STATS_E_DISABLED 426
618 > #define STATS_I_OPER_ONLY 427
619 > #define STATS_K_OPER_ONLY 428
620 > #define STATS_O_OPER_ONLY 429
621 > #define STATS_P_OPER_ONLY 430
622 > #define TBOOL 431
623 > #define TMASKED 432
624 > #define T_REJECT 433
625 > #define TS_MAX_DELTA 434
626 > #define TS_WARN_DELTA 435
627 > #define TWODOTS 436
628 > #define T_ALL 437
629 > #define T_BOTS 438
630 > #define T_SOFTCALLERID 439
631 > #define T_CALLERID 440
632 > #define T_CCONN 441
633 > #define T_CCONN_FULL 442
634 > #define T_SSL_CIPHER_LIST 443
635 > #define T_CLIENT_FLOOD 444
636 > #define T_DEAF 445
637 > #define T_DEBUG 446
638 > #define T_DLINE 447
639 > #define T_DRONE 448
640 > #define T_EXTERNAL 449
641 > #define T_FULL 450
642 > #define T_INVISIBLE 451
643 > #define T_IPV4 452
644 > #define T_IPV6 453
645 > #define T_LOCOPS 454
646 > #define T_MAX_CLIENTS 455
647 > #define T_NCHANGE 456
648 > #define T_OPERWALL 457
649 > #define T_REJ 458
650 > #define T_SERVER 459
651 > #define T_SERVNOTICE 460
652 > #define T_SKILL 461
653 > #define T_SPY 462
654 > #define T_SSL 463
655 > #define T_UMODES 464
656 > #define T_UNAUTH 465
657 > #define T_UNDLINE 466
658 > #define T_UNLIMITED 467
659 > #define T_UNRESV 468
660 > #define T_UNXLINE 469
661 > #define T_GLOBOPS 470
662 > #define T_WALLOP 471
663 > #define T_RESTART 472
664 > #define T_SERVICE 473
665 > #define T_SERVICES_NAME 474
666 > #define THROTTLE_TIME 475
667 > #define TOPICBURST 476
668 > #define TRUE_NO_OPER_FLOOD 477
669 > #define TKLINE 478
670 > #define TXLINE 479
671 > #define TRESV 480
672 > #define UNKLINE 481
673 > #define USER 482
674 > #define USE_EGD 483
675 > #define USE_EXCEPT 484
676 > #define USE_INVEX 485
677 > #define USE_KNOCK 486
678 > #define USE_LOGGING 487
679 > #define USE_WHOIS_ACTUALLY 488
680 > #define VHOST 489
681 > #define VHOST6 490
682 > #define XLINE 491
683 > #define WARN 492
684 > #define WARN_NO_NLINE 493
685 > #define T_SIZE 494
686 > #define T_FILE 495
687  
688  
689  
# Line 727 | Line 693 | typedef union YYSTYPE
693   {
694  
695   /* Line 293 of yacc.c  */
696 < #line 131 "ircd_parser.y"
696 > #line 135 "conf_parser.y"
697  
698    int number;
699    char *string;
# Line 735 | Line 701 | typedef union YYSTYPE
701  
702  
703   /* Line 293 of yacc.c  */
704 < #line 739 "ircd_parser.c"
704 > #line 705 "conf_parser.c"
705   } YYSTYPE;
706   # define YYSTYPE_IS_TRIVIAL 1
707   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
# Line 747 | Line 713 | typedef union YYSTYPE
713  
714  
715   /* Line 343 of yacc.c  */
716 < #line 751 "ircd_parser.c"
716 > #line 717 "conf_parser.c"
717  
718   #ifdef short
719   # undef short
# Line 966 | Line 932 | union yyalloc
932   /* YYFINAL -- State number of the termination state.  */
933   #define YYFINAL  2
934   /* YYLAST -- Last index in YYTABLE.  */
935 < #define YYLAST   1258
935 > #define YYLAST   1267
936  
937   /* YYNTOKENS -- Number of terminals.  */
938 < #define YYNTOKENS  265
938 > #define YYNTOKENS  246
939   /* YYNNTS -- Number of nonterminals.  */
940 < #define YYNNTS  318
940 > #define YYNNTS  305
941   /* YYNRULES -- Number of rules.  */
942 < #define YYNRULES  687
942 > #define YYNRULES  668
943   /* YYNRULES -- Number of states.  */
944 < #define YYNSTATES  1354
944 > #define YYNSTATES  1311
945  
946   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
947   #define YYUNDEFTOK  2
948 < #define YYMAXUTOK   514
948 > #define YYMAXUTOK   495
949  
950   #define YYTRANSLATE(YYX)                                                \
951    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
952  
953   /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
954 < static const yytype_uint16 yytranslate[] =
954 > static const yytype_uint8 yytranslate[] =
955   {
956         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
957         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
958         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
959         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
960 <       2,     2,     2,     2,   264,     2,     2,     2,     2,     2,
961 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   260,
962 <       2,   263,     2,     2,     2,     2,     2,     2,     2,     2,
960 >       2,     2,     2,     2,   245,     2,     2,     2,     2,     2,
961 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   241,
962 >       2,   244,     2,     2,     2,     2,     2,     2,     2,     2,
963         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
964         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
965         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
966         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
967         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
968 <       2,     2,     2,   262,     2,   261,     2,     2,     2,     2,
968 >       2,     2,     2,   243,     2,   242,     2,     2,     2,     2,
969         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
970         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
971         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1036 | Line 1002 | static const yytype_uint16 yytranslate[]
1002       205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1003       215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1004       225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1005 <     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1040 <     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1041 <     255,   256,   257,   258,   259
1005 >     235,   236,   237,   238,   239,   240
1006   };
1007  
1008   #if YYDEBUG
# Line 1048 | Line 1012 | static const yytype_uint16 yyprhs[] =
1012   {
1013         0,     0,     3,     4,     7,     9,    11,    13,    15,    17,
1014        19,    21,    23,    25,    27,    29,    31,    33,    35,    37,
1015 <      39,    41,    43,    45,    47,    50,    53,    54,    56,    59,
1016 <      63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
1017 <      97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
1018 <     134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1019 <     154,   156,   158,   160,   163,   164,   170,   174,   176,   178,
1020 <     180,   185,   190,   195,   200,   205,   210,   215,   220,   225,
1021 <     230,   235,   241,   244,   246,   248,   250,   252,   255,   260,
1022 <     265,   270,   276,   279,   281,   283,   285,   287,   289,   291,
1023 <     293,   295,   297,   299,   301,   303,   305,   308,   313,   318,
1024 <     323,   328,   333,   338,   343,   348,   353,   358,   363,   368,
1025 <     373,   378,   383,   388,   393,   398,   399,   407,   408,   410,
1026 <     413,   415,   417,   419,   421,   423,   425,   427,   429,   431,
1027 <     434,   439,   441,   446,   451,   456,   461,   466,   467,   473,
1015 >      39,    41,    43,    45,    47,    49,    52,    55,    56,    58,
1016 >      61,    65,    69,    73,    77,    81,    82,    84,    87,    91,
1017 >      95,    99,   105,   108,   110,   112,   114,   117,   122,   127,
1018 >     133,   136,   138,   140,   142,   144,   146,   148,   150,   152,
1019 >     154,   156,   158,   160,   162,   164,   166,   168,   171,   176,
1020 >     181,   185,   187,   189,   191,   195,   197,   199,   201,   206,
1021 >     211,   216,   221,   226,   231,   236,   241,   246,   251,   256,
1022 >     261,   266,   272,   275,   277,   279,   281,   283,   286,   291,
1023 >     296,   301,   307,   310,   312,   314,   316,   319,   324,   325,
1024 >     332,   335,   337,   339,   341,   343,   346,   351,   356,   361,
1025 >     362,   368,   372,   374,   376,   378,   380,   382,   384,   386,
1026 >     388,   389,   396,   399,   401,   403,   405,   407,   409,   411,
1027 >     413,   415,   417,   420,   425,   430,   435,   440,   445,   450,
1028 >     451,   457,   461,   463,   465,   467,   469,   471,   473,   475,
1029       477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
1030 <     497,   499,   501,   503,   505,   507,   509,   511,   513,   515,
1031 <     517,   518,   524,   528,   530,   531,   535,   536,   539,   541,
1032 <     543,   545,   547,   549,   551,   553,   555,   557,   559,   561,
1033 <     563,   565,   567,   569,   571,   572,   580,   581,   583,   586,
1034 <     588,   590,   592,   594,   596,   598,   600,   602,   604,   606,
1035 <     608,   610,   612,   614,   617,   622,   624,   629,   634,   639,
1036 <     644,   649,   654,   659,   664,   669,   674,   679,   684,   685,
1037 <     692,   693,   699,   703,   705,   707,   709,   711,   714,   716,
1038 <     718,   720,   722,   724,   727,   728,   734,   738,   740,   742,
1039 <     746,   751,   756,   757,   764,   767,   769,   771,   773,   775,
1040 <     777,   779,   781,   783,   785,   788,   793,   798,   803,   808,
1041 <     809,   815,   819,   821,   822,   826,   827,   830,   832,   834,
1042 <     836,   838,   840,   842,   844,   846,   848,   850,   855,   860,
1043 <     865,   866,   873,   876,   878,   880,   882,   884,   887,   892,
1044 <     897,   902,   903,   910,   913,   915,   917,   919,   921,   924,
1045 <     929,   934,   935,   941,   945,   947,   949,   951,   953,   955,
1046 <     957,   959,   961,   963,   965,   967,   969,   970,   977,   980,
1047 <     982,   984,   986,   989,   994,   995,  1001,  1005,  1007,  1009,
1048 <    1011,  1013,  1015,  1017,  1019,  1021,  1023,  1025,  1027,  1029,
1049 <    1030,  1038,  1039,  1041,  1044,  1046,  1048,  1050,  1052,  1054,
1050 <    1056,  1058,  1060,  1062,  1064,  1066,  1068,  1070,  1072,  1074,
1051 <    1077,  1082,  1084,  1089,  1094,  1099,  1104,  1109,  1114,  1119,
1052 <    1120,  1126,  1130,  1132,  1133,  1137,  1138,  1141,  1143,  1145,
1053 <    1147,  1149,  1151,  1156,  1161,  1166,  1171,  1176,  1181,  1182,
1054 <    1189,  1190,  1196,  1200,  1202,  1204,  1207,  1209,  1211,  1213,
1055 <    1215,  1217,  1222,  1227,  1228,  1235,  1238,  1240,  1242,  1244,
1056 <    1246,  1251,  1256,  1262,  1265,  1267,  1269,  1271,  1276,  1277,
1057 <    1284,  1285,  1291,  1295,  1297,  1299,  1302,  1304,  1306,  1308,
1058 <    1310,  1312,  1317,  1322,  1328,  1331,  1333,  1335,  1337,  1339,
1059 <    1341,  1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,
1060 <    1361,  1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,
1061 <    1381,  1383,  1385,  1387,  1389,  1391,  1393,  1395,  1397,  1399,
1062 <    1401,  1403,  1405,  1407,  1409,  1411,  1413,  1415,  1417,  1419,
1063 <    1421,  1423,  1425,  1427,  1429,  1431,  1433,  1435,  1437,  1439,
1064 <    1441,  1443,  1445,  1450,  1455,  1460,  1465,  1470,  1475,  1480,
1065 <    1485,  1490,  1495,  1500,  1505,  1510,  1515,  1520,  1525,  1530,
1066 <    1535,  1540,  1545,  1550,  1555,  1560,  1565,  1570,  1575,  1580,
1067 <    1585,  1590,  1595,  1600,  1605,  1610,  1615,  1620,  1625,  1630,
1068 <    1635,  1640,  1645,  1650,  1655,  1660,  1665,  1670,  1675,  1680,
1069 <    1685,  1690,  1695,  1700,  1701,  1707,  1711,  1713,  1715,  1717,
1070 <    1719,  1721,  1723,  1725,  1727,  1729,  1731,  1733,  1735,  1737,
1071 <    1739,  1741,  1743,  1745,  1747,  1749,  1751,  1752,  1758,  1762,
1072 <    1764,  1766,  1768,  1770,  1772,  1774,  1776,  1778,  1780,  1782,
1073 <    1784,  1786,  1788,  1790,  1792,  1794,  1796,  1798,  1800,  1802,
1074 <    1807,  1812,  1817,  1822,  1823,  1830,  1833,  1835,  1837,  1839,
1075 <    1841,  1843,  1845,  1847,  1849,  1854,  1859,  1860,  1866,  1870,
1076 <    1872,  1874,  1876,  1881,  1886,  1887,  1893,  1897,  1899,  1901,
1077 <    1903,  1909,  1912,  1914,  1916,  1918,  1920,  1922,  1924,  1926,
1078 <    1928,  1930,  1932,  1934,  1936,  1938,  1940,  1942,  1944,  1946,
1079 <    1948,  1950,  1952,  1957,  1962,  1967,  1972,  1977,  1982,  1987,
1115 <    1992,  1997,  2002,  2007,  2012,  2017,  2022,  2027,  2032,  2037,
1116 <    2042,  2048,  2051,  2053,  2055,  2057,  2059,  2061,  2063,  2065,
1117 <    2067,  2069,  2074,  2079,  2084,  2089,  2094,  2099
1030 >     497,   499,   501,   503,   504,   510,   514,   516,   518,   520,
1031 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
1032 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
1033 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
1034 >     587,   589,   591,   594,   599,   604,   609,   614,   619,   624,
1035 >     629,   634,   639,   644,   649,   654,   659,   660,   667,   668,
1036 >     674,   678,   680,   682,   684,   686,   689,   691,   693,   695,
1037 >     697,   699,   702,   703,   709,   713,   715,   717,   721,   726,
1038 >     731,   732,   739,   742,   744,   746,   748,   750,   752,   754,
1039 >     756,   758,   760,   763,   768,   773,   778,   783,   784,   790,
1040 >     794,   796,   798,   800,   802,   804,   806,   808,   810,   812,
1041 >     814,   819,   824,   829,   830,   837,   840,   842,   844,   846,
1042 >     848,   851,   856,   861,   866,   872,   875,   877,   879,   881,
1043 >     886,   887,   894,   897,   899,   901,   903,   905,   908,   913,
1044 >     918,   919,   925,   929,   931,   933,   935,   937,   939,   941,
1045 >     943,   945,   947,   949,   951,   952,   959,   962,   964,   966,
1046 >     968,   971,   976,   977,   983,   987,   989,   991,   993,   995,
1047 >     997,   999,  1001,  1003,  1005,  1007,  1009,  1010,  1017,  1020,
1048 >    1022,  1024,  1026,  1028,  1030,  1032,  1034,  1036,  1038,  1040,
1049 >    1042,  1044,  1046,  1048,  1051,  1056,  1061,  1066,  1071,  1076,
1050 >    1081,  1086,  1091,  1092,  1098,  1102,  1104,  1106,  1108,  1110,
1051 >    1112,  1117,  1122,  1127,  1132,  1137,  1138,  1145,  1146,  1152,
1052 >    1156,  1158,  1160,  1163,  1165,  1167,  1169,  1171,  1173,  1178,
1053 >    1183,  1184,  1191,  1194,  1196,  1198,  1200,  1202,  1207,  1212,
1054 >    1218,  1221,  1223,  1225,  1227,  1232,  1233,  1240,  1241,  1247,
1055 >    1251,  1253,  1255,  1258,  1260,  1262,  1264,  1266,  1268,  1273,
1056 >    1278,  1284,  1287,  1289,  1291,  1293,  1295,  1297,  1299,  1301,
1057 >    1303,  1305,  1307,  1309,  1311,  1313,  1315,  1317,  1319,  1321,
1058 >    1323,  1325,  1327,  1329,  1331,  1333,  1335,  1337,  1339,  1341,
1059 >    1343,  1345,  1347,  1349,  1351,  1353,  1355,  1357,  1359,  1361,
1060 >    1363,  1365,  1367,  1369,  1371,  1373,  1375,  1377,  1379,  1381,
1061 >    1383,  1385,  1387,  1389,  1391,  1393,  1398,  1403,  1408,  1413,
1062 >    1418,  1423,  1428,  1433,  1438,  1443,  1448,  1453,  1458,  1463,
1063 >    1468,  1473,  1478,  1483,  1488,  1493,  1498,  1503,  1508,  1513,
1064 >    1518,  1523,  1528,  1533,  1538,  1543,  1548,  1553,  1558,  1563,
1065 >    1568,  1573,  1578,  1583,  1588,  1593,  1598,  1603,  1608,  1613,
1066 >    1618,  1623,  1628,  1629,  1635,  1639,  1641,  1643,  1645,  1647,
1067 >    1649,  1651,  1653,  1655,  1657,  1659,  1661,  1663,  1665,  1667,
1068 >    1669,  1671,  1673,  1675,  1677,  1679,  1681,  1682,  1688,  1692,
1069 >    1694,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1710,  1712,
1070 >    1714,  1716,  1718,  1720,  1722,  1724,  1726,  1728,  1730,  1732,
1071 >    1734,  1739,  1744,  1749,  1754,  1755,  1762,  1765,  1767,  1769,
1072 >    1771,  1773,  1775,  1777,  1779,  1781,  1786,  1791,  1792,  1798,
1073 >    1802,  1804,  1806,  1808,  1813,  1818,  1819,  1825,  1829,  1831,
1074 >    1833,  1835,  1841,  1844,  1846,  1848,  1850,  1852,  1854,  1856,
1075 >    1858,  1860,  1862,  1864,  1866,  1868,  1870,  1872,  1874,  1876,
1076 >    1878,  1880,  1882,  1884,  1889,  1894,  1899,  1904,  1909,  1914,
1077 >    1919,  1924,  1929,  1934,  1939,  1944,  1949,  1954,  1959,  1964,
1078 >    1969,  1974,  1980,  1983,  1985,  1987,  1989,  1991,  1993,  1995,
1079 >    1997,  1999,  2001,  2006,  2011,  2016,  2021,  2026,  2031
1080   };
1081  
1082   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1083   static const yytype_int16 yyrhs[] =
1084   {
1085 <     266,     0,    -1,    -1,   266,   267,    -1,   295,    -1,   301,
1086 <      -1,   316,    -1,   552,    -1,   339,    -1,   358,    -1,   372,
1087 <      -1,   277,    -1,   573,    -1,   390,    -1,   397,    -1,   407,
1088 <      -1,   416,    -1,   442,    -1,   452,    -1,   458,    -1,   472,
1089 <      -1,   536,    -1,   462,    -1,   272,    -1,     1,   260,    -1,
1090 <       1,   261,    -1,    -1,   269,    -1,   131,   268,    -1,   131,
1091 <     173,   268,    -1,   131,   174,   268,    -1,   131,   175,   268,
1092 <      -1,   131,   176,   268,    -1,   131,   177,   268,    -1,    -1,
1093 <     271,    -1,   131,   270,    -1,   131,    14,   270,    -1,   131,
1094 <      15,   270,    -1,   131,    16,   270,    -1,   119,   262,   273,
1095 <     261,   260,    -1,   273,   274,    -1,   274,    -1,   275,    -1,
1096 <     276,    -1,     1,   260,    -1,   118,   263,   153,   260,    -1,
1097 <     148,   263,   153,   260,    -1,   181,   262,   278,   261,   260,
1098 <      -1,   278,   279,    -1,   279,    -1,   286,    -1,   291,    -1,
1099 <     294,    -1,   288,    -1,   289,    -1,   290,    -1,   293,    -1,
1100 <     285,    -1,   292,    -1,   287,    -1,   284,    -1,   280,    -1,
1101 <       1,   260,    -1,    -1,   168,   281,   263,   282,   260,    -1,
1102 <     282,   264,   283,    -1,   283,    -1,   169,    -1,   170,    -1,
1103 <     167,   263,   153,   260,    -1,   165,   263,   153,   260,    -1,
1104 <     120,   263,   153,   260,    -1,   183,   263,   153,   260,    -1,
1105 <      37,   263,   153,   260,    -1,   123,   263,   153,   260,    -1,
1106 <     122,   263,   153,   260,    -1,   255,   263,   153,   260,    -1,
1107 <     256,   263,   153,   260,    -1,   227,   263,   131,   260,    -1,
1108 <      84,   263,   197,   260,    -1,     5,   262,   296,   261,   260,
1109 <      -1,   296,   297,    -1,   297,    -1,   298,    -1,   300,    -1,
1110 <     299,    -1,     1,   260,    -1,   120,   263,   153,   260,    -1,
1111 <      47,   263,   153,   260,    -1,    37,   263,   153,   260,    -1,
1112 <     102,   262,   302,   261,   260,    -1,   302,   303,    -1,   303,
1113 <      -1,   304,    -1,   305,    -1,   314,    -1,   315,    -1,   306,
1114 <      -1,   308,    -1,   310,    -1,   311,    -1,   313,    -1,   309,
1115 <      -1,   312,    -1,   307,    -1,     1,   260,    -1,   219,   263,
1116 <     153,   260,    -1,   138,   263,   153,   260,    -1,    62,   263,
1117 <     153,   260,    -1,    55,   263,   153,   260,    -1,    60,   263,
1118 <     153,   260,    -1,    61,   263,   153,   260,    -1,    58,   263,
1119 <     153,   260,    -1,    57,   263,   153,   260,    -1,    59,   263,
1120 <     153,   260,    -1,    56,   263,   153,   260,    -1,   103,   263,
1121 <     220,   260,    -1,   103,   263,   222,   260,    -1,   103,   263,
1122 <     226,   260,    -1,   103,   263,   224,   260,    -1,   103,   263,
1123 <     225,   260,    -1,   103,   263,   223,   260,    -1,   103,   263,
1124 <     221,   260,    -1,   253,   263,   197,   260,    -1,    -1,   136,
1125 <     317,   318,   262,   319,   261,   260,    -1,    -1,   322,    -1,
1126 <     319,   320,    -1,   320,    -1,   321,    -1,   323,    -1,   324,
1127 <      -1,   328,    -1,   327,    -1,   325,    -1,   326,    -1,   332,
1128 <      -1,     1,   260,    -1,   120,   263,   153,   260,    -1,   153,
1129 <      -1,   248,   263,   153,   260,    -1,   147,   263,   153,   260,
1130 <      -1,    49,   263,   197,   260,    -1,   166,   263,   153,   260,
1131 <      -1,    26,   263,   153,   260,    -1,    -1,   236,   329,   263,
1132 <     330,   260,    -1,   330,   264,   331,    -1,   331,    -1,   204,
1133 <      -1,   207,    -1,   208,    -1,   210,    -1,   211,    -1,   214,
1134 <      -1,   233,    -1,   228,    -1,   230,    -1,   237,    -1,   234,
1135 <      -1,   213,    -1,   229,    -1,   232,    -1,   215,    -1,   240,
1136 <      -1,   205,    -1,   206,    -1,   218,    -1,    -1,    53,   333,
1137 <     263,   334,   260,    -1,   334,   264,   335,    -1,   335,    -1,
1138 <      -1,   130,   336,   338,    -1,    -1,   337,   338,    -1,    72,
1139 <      -1,   161,    -1,    92,    -1,   247,    -1,   257,    -1,    65,
1140 <      -1,    38,    -1,   159,    -1,     5,    -1,    77,    -1,   125,
1141 <      -1,   229,    -1,   141,    -1,    79,    -1,   162,    -1,    49,
1142 <      -1,    -1,    26,   340,   341,   262,   342,   261,   260,    -1,
1143 <      -1,   345,    -1,   342,   343,    -1,   343,    -1,   344,    -1,
1144 <     355,    -1,   356,    -1,   346,    -1,   347,    -1,   357,    -1,
1145 <     348,    -1,   349,    -1,   350,    -1,   351,    -1,   352,    -1,
1146 <     353,    -1,   354,    -1,     1,   260,    -1,   120,   263,   153,
1147 <     260,    -1,   153,    -1,   150,   263,   269,   260,    -1,   151,
1148 <     263,   269,   260,    -1,   134,   263,   131,   260,    -1,    30,
1149 <     263,   269,   260,    -1,   112,   263,   131,   260,    -1,   107,
1150 <     263,   131,   260,    -1,   109,   263,   131,   260,    -1,   108,
1151 <     263,   131,   260,    -1,   178,   263,   271,   260,    -1,    23,
1152 <     263,   131,   260,    -1,    24,   263,   131,   260,    -1,   133,
1153 <     263,   131,   260,    -1,    -1,   100,   359,   262,   364,   261,
1154 <     260,    -1,    -1,    53,   361,   263,   362,   260,    -1,   362,
1155 <     264,   363,    -1,   363,    -1,   235,    -1,    76,    -1,   231,
1156 <      -1,   364,   365,    -1,   365,    -1,   366,    -1,   360,    -1,
1157 <     370,    -1,   371,    -1,     1,   260,    -1,    -1,   152,   263,
1158 <     368,   367,   260,    -1,   368,   264,   369,    -1,   369,    -1,
1159 <     131,    -1,   131,   202,   131,    -1,    89,   263,   153,   260,
1160 <      -1,    83,   263,   153,   260,    -1,    -1,    73,   373,   262,
1161 <     374,   261,   260,    -1,   374,   375,    -1,   375,    -1,   376,
1162 <      -1,   377,    -1,   378,    -1,   380,    -1,   387,    -1,   388,
1163 <      -1,   389,    -1,   379,    -1,     1,   260,    -1,   248,   263,
1164 <     153,   260,    -1,   147,   263,   153,   260,    -1,    26,   263,
1165 <     153,   260,    -1,    49,   263,   197,   260,    -1,    -1,    53,
1166 <     381,   263,   382,   260,    -1,   382,   264,   383,    -1,   383,
1167 <      -1,    -1,   130,   384,   386,    -1,    -1,   385,   386,    -1,
1168 <     191,    -1,    50,    -1,    93,    -1,    74,    -1,    20,    -1,
1169 <      21,    -1,   129,    -1,    67,    -1,   172,    -1,   121,    -1,
1170 <     190,   263,   153,   260,    -1,   157,   263,   153,   260,    -1,
1171 <     156,   263,   131,   260,    -1,    -1,   171,   391,   262,   392,
1172 <     261,   260,    -1,   392,   393,    -1,   393,    -1,   394,    -1,
1173 <     395,    -1,   396,    -1,     1,   260,    -1,   155,   263,   153,
1174 <     260,    -1,    22,   263,   153,   260,    -1,   124,   263,   153,
1175 <     260,    -1,    -1,   185,   398,   262,   399,   261,   260,    -1,
1176 <     399,   400,    -1,   400,    -1,   401,    -1,   402,    -1,   403,
1177 <      -1,     1,   260,    -1,   120,   263,   153,   260,    -1,   248,
1178 <     263,   153,   260,    -1,    -1,   187,   404,   263,   405,   260,
1179 <      -1,   405,   264,   406,    -1,   406,    -1,    92,    -1,   244,
1180 <      -1,   247,    -1,   257,    -1,   245,    -1,   239,    -1,   171,
1181 <      -1,   246,    -1,   238,    -1,   218,    -1,   203,    -1,    -1,
1182 <     186,   408,   262,   409,   261,   260,    -1,   409,   410,    -1,
1183 <     410,    -1,   411,    -1,   412,    -1,     1,   260,    -1,   120,
1184 <     263,   153,   260,    -1,    -1,   187,   413,   263,   414,   260,
1185 <      -1,   414,   264,   415,    -1,   415,    -1,    92,    -1,   244,
1186 <      -1,   247,    -1,   257,    -1,   245,    -1,   239,    -1,   171,
1187 <      -1,   246,    -1,   238,    -1,   218,    -1,   203,    -1,    -1,
1188 <      29,   417,   418,   262,   419,   261,   260,    -1,    -1,   422,
1189 <      -1,   419,   420,    -1,   420,    -1,   421,    -1,   423,    -1,
1190 <     424,    -1,   425,    -1,   426,    -1,   428,    -1,   427,    -1,
1191 <     429,    -1,   438,    -1,   439,    -1,   440,    -1,   437,    -1,
1192 <     436,    -1,   441,    -1,     1,   260,    -1,   120,   263,   153,
1193 <     260,    -1,   153,    -1,    83,   263,   153,   260,    -1,   255,
1194 <     263,   153,   260,    -1,   179,   263,   153,   260,    -1,     3,
1195 <     263,   153,   260,    -1,   152,   263,   131,   260,    -1,     6,
1196 <     263,   216,   260,    -1,     6,   263,   217,   260,    -1,    -1,
1197 <      53,   430,   263,   431,   260,    -1,   431,   264,   432,    -1,
1198 <     432,    -1,    -1,   130,   433,   435,    -1,    -1,   434,   435,
1199 <      -1,    27,    -1,    31,    -1,    10,    -1,    12,    -1,   242,
1200 <      -1,   166,   263,   153,   260,    -1,    49,   263,   197,   260,
1201 <      -1,    85,   263,   153,   260,    -1,    98,   263,   153,   260,
1202 <      -1,    26,   263,   153,   260,    -1,    25,   263,   153,   260,
1203 <      -1,    -1,    90,   443,   262,   448,   261,   260,    -1,    -1,
1204 <     187,   445,   263,   446,   260,    -1,   446,   264,   447,    -1,
1205 <     447,    -1,   158,    -1,   448,   449,    -1,   449,    -1,   450,
1206 <      -1,   451,    -1,   444,    -1,     1,    -1,   248,   263,   153,
1207 <     260,    -1,   155,   263,   153,   260,    -1,    -1,    36,   453,
1208 <     262,   454,   261,   260,    -1,   454,   455,    -1,   455,    -1,
1209 <     456,    -1,   457,    -1,     1,    -1,    89,   263,   153,   260,
1210 <      -1,   155,   263,   153,   260,    -1,    51,   262,   459,   261,
1211 <     260,    -1,   459,   460,    -1,   460,    -1,   461,    -1,     1,
1212 <      -1,    89,   263,   153,   260,    -1,    -1,    63,   463,   262,
1213 <     468,   261,   260,    -1,    -1,   187,   465,   263,   466,   260,
1214 <      -1,   466,   264,   467,    -1,   467,    -1,   158,    -1,   468,
1215 <     469,    -1,   469,    -1,   470,    -1,   471,    -1,   464,    -1,
1216 <       1,    -1,   120,   263,   153,   260,    -1,   155,   263,   153,
1217 <     260,    -1,    64,   262,   473,   261,   260,    -1,   473,   474,
1218 <      -1,   474,    -1,   483,    -1,   484,    -1,   486,    -1,   487,
1219 <      -1,   488,    -1,   489,    -1,   490,    -1,   491,    -1,   492,
1220 <      -1,   493,    -1,   482,    -1,   495,    -1,   496,    -1,   497,
1221 <      -1,   498,    -1,   514,    -1,   500,    -1,   502,    -1,   504,
1222 <      -1,   503,    -1,   507,    -1,   501,    -1,   508,    -1,   509,
1223 <      -1,   510,    -1,   511,    -1,   513,    -1,   512,    -1,   528,
1224 <      -1,   515,    -1,   519,    -1,   520,    -1,   524,    -1,   505,
1225 <      -1,   506,    -1,   534,    -1,   532,    -1,   533,    -1,   516,
1226 <      -1,   485,    -1,   517,    -1,   518,    -1,   535,    -1,   523,
1227 <      -1,   494,    -1,   521,    -1,   522,    -1,   478,    -1,   481,
1228 <      -1,   476,    -1,   477,    -1,   479,    -1,   480,    -1,   499,
1229 <      -1,   475,    -1,     1,    -1,   114,   263,   131,   260,    -1,
1230 <      70,   263,   131,   260,    -1,    71,   263,   131,   260,    -1,
1231 <      12,   263,   197,   260,    -1,   254,   263,   197,   260,    -1,
1232 <     160,   263,   269,   260,    -1,   184,   263,   197,   260,    -1,
1233 <      91,   263,   269,   260,    -1,    82,   263,   197,   260,    -1,
1234 <      87,   263,   197,   260,    -1,    43,   263,   197,   260,    -1,
1235 <      52,   263,   197,   260,    -1,     8,   263,   197,   260,    -1,
1236 <     111,   263,   269,   260,    -1,   110,   263,   131,   260,    -1,
1237 <     104,   263,   131,   260,    -1,     9,   263,   269,   260,    -1,
1238 <     201,   263,   269,   260,    -1,   200,   263,   269,   260,    -1,
1239 <      75,   263,   131,   260,    -1,    95,   263,   197,   260,    -1,
1240 <      94,   263,   153,   260,    -1,    88,   263,   197,   260,    -1,
1241 <     259,   263,   197,   260,    -1,   192,   263,   197,   260,    -1,
1242 <     195,   263,   197,   260,    -1,   196,   263,   197,   260,    -1,
1243 <     194,   263,   197,   260,    -1,   194,   263,   198,   260,    -1,
1244 <     193,   263,   197,   260,    -1,   193,   263,   198,   260,    -1,
1245 <     145,   263,   269,   260,    -1,    19,   263,   269,   260,    -1,
1246 <     137,   263,   197,   260,    -1,   146,   263,   269,   260,    -1,
1247 <     188,   263,   197,   260,    -1,   128,   263,   197,   260,    -1,
1248 <     243,   263,   197,   260,    -1,   140,   263,   197,   260,    -1,
1249 <     115,   263,   153,   260,    -1,    86,   263,   269,   260,    -1,
1250 <      44,   263,   131,   260,    -1,   113,   263,   131,   260,    -1,
1251 <     182,   263,   153,   260,    -1,    32,   263,   153,   260,    -1,
1252 <      28,   263,   131,   260,    -1,   249,   263,   197,   260,    -1,
1253 <      46,   263,   153,   260,    -1,   149,   263,   197,   260,    -1,
1254 <      39,   263,   197,   260,    -1,   241,   263,   269,   260,    -1,
1255 <      -1,   142,   525,   263,   526,   260,    -1,   526,   264,   527,
1256 <      -1,   527,    -1,   204,    -1,   207,    -1,   208,    -1,   210,
1257 <      -1,   211,    -1,   214,    -1,   233,    -1,   228,    -1,   230,
1258 <      -1,   237,    -1,   234,    -1,   213,    -1,   229,    -1,   232,
1259 <      -1,   215,    -1,   240,    -1,   205,    -1,   206,    -1,   218,
1260 <      -1,    -1,   139,   529,   263,   530,   260,    -1,   530,   264,
1261 <     531,    -1,   531,    -1,   204,    -1,   207,    -1,   208,    -1,
1262 <     210,    -1,   211,    -1,   214,    -1,   233,    -1,   228,    -1,
1263 <     230,    -1,   237,    -1,   234,    -1,   213,    -1,   229,    -1,
1264 <     232,    -1,   215,    -1,   240,    -1,   205,    -1,   206,    -1,
1265 <     218,    -1,   116,   263,   131,   260,    -1,   117,   263,   131,
1266 <     260,    -1,    33,   263,   131,   260,    -1,   209,   263,   271,
1267 <     260,    -1,    -1,    66,   537,   262,   538,   261,   260,    -1,
1268 <     538,   539,    -1,   539,    -1,   540,    -1,   541,    -1,   542,
1269 <      -1,   546,    -1,   547,    -1,   548,    -1,     1,    -1,    48,
1270 <     263,   197,   260,    -1,    45,   263,   269,   260,    -1,    -1,
1271 <     102,   543,   263,   544,   260,    -1,   544,   264,   545,    -1,
1272 <     545,    -1,   199,    -1,    11,    -1,   248,   263,   153,   260,
1273 <      -1,   120,   263,   153,   260,    -1,    -1,     4,   549,   263,
1274 <     550,   260,    -1,   550,   264,   551,    -1,   551,    -1,   199,
1275 <      -1,    11,    -1,    22,   262,   553,   261,   260,    -1,   553,
1276 <     554,    -1,   554,    -1,   557,    -1,   558,    -1,   559,    -1,
1277 <     560,    -1,   565,    -1,   561,    -1,   562,    -1,   563,    -1,
1278 <     564,    -1,   566,    -1,   567,    -1,   568,    -1,   556,    -1,
1279 <     569,    -1,   570,    -1,   571,    -1,   572,    -1,   555,    -1,
1280 <       1,    -1,    40,   263,   197,   260,    -1,   163,   263,   197,
1281 <     260,    -1,    42,   263,   197,   260,    -1,   250,   263,   197,
1282 <     260,    -1,   251,   263,   197,   260,    -1,   252,   263,   197,
1283 <     260,    -1,    96,   263,   269,   260,    -1,    97,   263,   269,
1284 <     260,    -1,   106,   263,   131,   260,    -1,   154,   263,   197,
1285 <     260,    -1,   105,   263,   131,   260,    -1,    35,   263,   131,
1286 <     260,    -1,    34,   263,   131,   260,    -1,   126,   263,   197,
1287 <     260,    -1,   127,   263,   197,   260,    -1,    13,   263,   197,
1288 <     260,    -1,   143,   263,   131,   260,    -1,   144,   263,   269,
1327 <     260,    -1,   180,   262,   574,   261,   260,    -1,   574,   575,
1328 <      -1,   575,    -1,   576,    -1,   577,    -1,   579,    -1,   581,
1329 <      -1,   580,    -1,   578,    -1,   582,    -1,     1,    -1,    54,
1330 <     263,   197,   260,    -1,    81,   263,   197,   260,    -1,    78,
1331 <     263,   153,   260,    -1,    99,   263,   269,   260,    -1,    76,
1332 <     263,   197,   260,    -1,    41,   263,   197,   260,    -1,    80,
1333 <     263,   197,   260,    -1
1085 >     247,     0,    -1,    -1,   247,   248,    -1,   280,    -1,   286,
1086 >      -1,   300,    -1,   520,    -1,   318,    -1,   335,    -1,   349,
1087 >      -1,   258,    -1,   541,    -1,   364,    -1,   371,    -1,   375,
1088 >      -1,   385,    -1,   394,    -1,   414,    -1,   424,    -1,   430,
1089 >      -1,   444,    -1,   504,    -1,   434,    -1,   253,    -1,     1,
1090 >     241,    -1,     1,   242,    -1,    -1,   250,    -1,   110,   249,
1091 >      -1,   110,   153,   249,    -1,   110,   154,   249,    -1,   110,
1092 >     155,   249,    -1,   110,   156,   249,    -1,   110,   157,   249,
1093 >      -1,    -1,   252,    -1,   110,   251,    -1,   110,    14,   251,
1094 >      -1,   110,    15,   251,    -1,   110,    16,   251,    -1,    99,
1095 >     243,   254,   242,   241,    -1,   254,   255,    -1,   255,    -1,
1096 >     256,    -1,   257,    -1,     1,   241,    -1,    98,   244,   131,
1097 >     241,    -1,   126,   244,   131,   241,    -1,   161,   243,   259,
1098 >     242,   241,    -1,   259,   260,    -1,   260,    -1,   271,    -1,
1099 >     276,    -1,   279,    -1,   273,    -1,   274,    -1,   275,    -1,
1100 >     278,    -1,   269,    -1,   268,    -1,   277,    -1,   272,    -1,
1101 >     267,    -1,   261,    -1,   262,    -1,   270,    -1,     1,   241,
1102 >      -1,   147,   244,   263,   241,    -1,   148,   244,   265,   241,
1103 >      -1,   263,   245,   264,    -1,   264,    -1,   149,    -1,   150,
1104 >      -1,   265,   245,   266,    -1,   266,    -1,   149,    -1,   150,
1105 >      -1,   145,   244,   131,   241,    -1,   143,   244,   131,   241,
1106 >      -1,   146,   244,   131,   241,    -1,   188,   244,   131,   241,
1107 >      -1,   100,   244,   131,   241,    -1,   162,   244,   131,   241,
1108 >      -1,    31,   244,   131,   241,    -1,   103,   244,   131,   241,
1109 >      -1,   102,   244,   131,   241,    -1,   234,   244,   131,   241,
1110 >      -1,   235,   244,   131,   241,    -1,   200,   244,   110,   241,
1111 >      -1,    67,   244,   176,   241,    -1,     5,   243,   281,   242,
1112 >     241,    -1,   281,   282,    -1,   282,    -1,   283,    -1,   285,
1113 >      -1,   284,    -1,     1,   241,    -1,   100,   244,   131,   241,
1114 >      -1,    41,   244,   131,   241,    -1,    31,   244,   131,   241,
1115 >      -1,    83,   243,   287,   242,   241,    -1,   287,   288,    -1,
1116 >     288,    -1,   289,    -1,   290,    -1,     1,   241,    -1,   232,
1117 >     244,   176,   241,    -1,    -1,   291,   240,   243,   292,   242,
1118 >     241,    -1,   292,   293,    -1,   293,    -1,   294,    -1,   296,
1119 >      -1,   295,    -1,     1,   241,    -1,   100,   244,   131,   241,
1120 >      -1,   239,   244,   252,   241,    -1,   239,   244,   212,   241,
1121 >      -1,    -1,   166,   297,   244,   298,   241,    -1,   298,   245,
1122 >     299,    -1,   299,    -1,   227,    -1,   115,    -1,    51,    -1,
1123 >     192,    -1,    74,    -1,    72,    -1,   191,    -1,    -1,   115,
1124 >     301,   243,   302,   242,   241,    -1,   302,   303,    -1,   303,
1125 >      -1,   304,    -1,   305,    -1,   306,    -1,   310,    -1,   309,
1126 >      -1,   307,    -1,   308,    -1,   314,    -1,     1,   241,    -1,
1127 >     100,   244,   131,   241,    -1,   227,   244,   131,   241,    -1,
1128 >     125,   244,   131,   241,    -1,    43,   244,   176,   241,    -1,
1129 >     144,   244,   131,   241,    -1,    24,   244,   131,   241,    -1,
1130 >      -1,   209,   311,   244,   312,   241,    -1,   312,   245,   313,
1131 >      -1,   313,    -1,   183,    -1,   186,    -1,   187,    -1,   190,
1132 >      -1,   191,    -1,   195,    -1,    61,    -1,   206,    -1,   201,
1133 >      -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,   202,
1134 >      -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,   185,
1135 >      -1,   199,    -1,    -1,    47,   315,   244,   316,   241,    -1,
1136 >     316,   245,   317,    -1,   317,    -1,    57,    -1,   139,    -1,
1137 >      74,    -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,
1138 >      51,    -1,    32,    -1,   217,    -1,   137,    -1,     5,    -1,
1139 >     105,    -1,   202,    -1,   215,    -1,   119,    -1,   140,    -1,
1140 >      98,    -1,    -1,    24,   319,   243,   320,   242,   241,    -1,
1141 >     320,   321,    -1,   321,    -1,   322,    -1,   332,    -1,   333,
1142 >      -1,   323,    -1,   324,    -1,   334,    -1,   325,    -1,   326,
1143 >      -1,   327,    -1,   328,    -1,   329,    -1,   330,    -1,   331,
1144 >      -1,     1,   241,    -1,   100,   244,   131,   241,    -1,   128,
1145 >     244,   250,   241,    -1,   129,   244,   250,   241,    -1,   113,
1146 >     244,   110,   241,    -1,    26,   244,   250,   241,    -1,    92,
1147 >     244,   110,   241,    -1,    87,   244,   110,   241,    -1,    89,
1148 >     244,   110,   241,    -1,    88,   244,   110,   241,    -1,   158,
1149 >     244,   252,   241,    -1,    22,   244,   110,   241,    -1,    23,
1150 >     244,   110,   241,    -1,   112,   244,   110,   241,    -1,    -1,
1151 >      82,   336,   243,   341,   242,   241,    -1,    -1,    47,   338,
1152 >     244,   339,   241,    -1,   339,   245,   340,    -1,   340,    -1,
1153 >     208,    -1,    61,    -1,   204,    -1,   341,   342,    -1,   342,
1154 >      -1,   343,    -1,   337,    -1,   347,    -1,   348,    -1,     1,
1155 >     241,    -1,    -1,   130,   244,   345,   344,   241,    -1,   345,
1156 >     245,   346,    -1,   346,    -1,   110,    -1,   110,   181,   110,
1157 >      -1,    71,   244,   131,   241,    -1,    66,   244,   131,   241,
1158 >      -1,    -1,    58,   350,   243,   351,   242,   241,    -1,   351,
1159 >     352,    -1,   352,    -1,   353,    -1,   354,    -1,   355,    -1,
1160 >     357,    -1,   361,    -1,   362,    -1,   363,    -1,   356,    -1,
1161 >       1,   241,    -1,   227,   244,   131,   241,    -1,   125,   244,
1162 >     131,   241,    -1,    24,   244,   131,   241,    -1,    43,   244,
1163 >     176,   241,    -1,    -1,    47,   358,   244,   359,   241,    -1,
1164 >     359,   245,   360,    -1,   360,    -1,   170,    -1,    44,    -1,
1165 >      75,    -1,    59,    -1,    20,    -1,   109,    -1,    53,    -1,
1166 >     152,    -1,   101,    -1,   169,   244,   131,   241,    -1,   135,
1167 >     244,   131,   241,    -1,   134,   244,   110,   241,    -1,    -1,
1168 >     151,   365,   243,   366,   242,   241,    -1,   366,   367,    -1,
1169 >     367,    -1,   368,    -1,   369,    -1,   370,    -1,     1,   241,
1170 >      -1,   133,   244,   131,   241,    -1,    21,   244,   131,   241,
1171 >      -1,   104,   244,   131,   241,    -1,   218,   243,   372,   242,
1172 >     241,    -1,   372,   373,    -1,   373,    -1,   374,    -1,     1,
1173 >      -1,   100,   244,   131,   241,    -1,    -1,   164,   376,   243,
1174 >     377,   242,   241,    -1,   377,   378,    -1,   378,    -1,   379,
1175 >      -1,   380,    -1,   381,    -1,     1,   241,    -1,   100,   244,
1176 >     131,   241,    -1,   227,   244,   131,   241,    -1,    -1,   166,
1177 >     382,   244,   383,   241,    -1,   383,   245,   384,    -1,   384,
1178 >      -1,    74,    -1,   226,    -1,   192,    -1,   211,    -1,   236,
1179 >      -1,   214,    -1,   151,    -1,   213,    -1,   199,    -1,   182,
1180 >      -1,    -1,   165,   386,   243,   387,   242,   241,    -1,   387,
1181 >     388,    -1,   388,    -1,   389,    -1,   390,    -1,     1,   241,
1182 >      -1,   100,   244,   131,   241,    -1,    -1,   166,   391,   244,
1183 >     392,   241,    -1,   392,   245,   393,    -1,   393,    -1,    74,
1184 >      -1,   226,    -1,   192,    -1,   211,    -1,   236,    -1,   214,
1185 >      -1,   151,    -1,   213,    -1,   199,    -1,   182,    -1,    -1,
1186 >      25,   395,   243,   396,   242,   241,    -1,   396,   397,    -1,
1187 >     397,    -1,   398,    -1,   399,    -1,   400,    -1,   401,    -1,
1188 >     402,    -1,   404,    -1,   403,    -1,   413,    -1,   405,    -1,
1189 >     410,    -1,   411,    -1,   412,    -1,   409,    -1,     1,   241,
1190 >      -1,   100,   244,   131,   241,    -1,    66,   244,   131,   241,
1191 >      -1,   234,   244,   131,   241,    -1,   159,   244,   131,   241,
1192 >      -1,     3,   244,   131,   241,    -1,   130,   244,   110,   241,
1193 >      -1,     6,   244,   197,   241,    -1,     6,   244,   198,   241,
1194 >      -1,    -1,    47,   406,   244,   407,   241,    -1,   407,   245,
1195 >     408,    -1,   408,    -1,    10,    -1,    12,    -1,   221,    -1,
1196 >     208,    -1,    43,   244,   176,   241,    -1,    68,   244,   131,
1197 >     241,    -1,    80,   244,   131,   241,    -1,    24,   244,   131,
1198 >     241,    -1,   188,   244,   131,   241,    -1,    -1,    72,   415,
1199 >     243,   420,   242,   241,    -1,    -1,   166,   417,   244,   418,
1200 >     241,    -1,   418,   245,   419,    -1,   419,    -1,   136,    -1,
1201 >     420,   421,    -1,   421,    -1,   422,    -1,   423,    -1,   416,
1202 >      -1,     1,    -1,   227,   244,   131,   241,    -1,   133,   244,
1203 >     131,   241,    -1,    -1,    30,   425,   243,   426,   242,   241,
1204 >      -1,   426,   427,    -1,   427,    -1,   428,    -1,   429,    -1,
1205 >       1,    -1,    71,   244,   131,   241,    -1,   133,   244,   131,
1206 >     241,    -1,    45,   243,   431,   242,   241,    -1,   431,   432,
1207 >      -1,   432,    -1,   433,    -1,     1,    -1,    71,   244,   131,
1208 >     241,    -1,    -1,    49,   435,   243,   440,   242,   241,    -1,
1209 >      -1,   166,   437,   244,   438,   241,    -1,   438,   245,   439,
1210 >      -1,   439,    -1,   136,    -1,   440,   441,    -1,   441,    -1,
1211 >     442,    -1,   443,    -1,   436,    -1,     1,    -1,   100,   244,
1212 >     131,   241,    -1,   133,   244,   131,   241,    -1,    50,   243,
1213 >     445,   242,   241,    -1,   445,   446,    -1,   446,    -1,   454,
1214 >      -1,   455,    -1,   457,    -1,   458,    -1,   459,    -1,   460,
1215 >      -1,   461,    -1,   462,    -1,   463,    -1,   464,    -1,   453,
1216 >      -1,   466,    -1,   467,    -1,   468,    -1,   469,    -1,   484,
1217 >      -1,   471,    -1,   473,    -1,   475,    -1,   474,    -1,   478,
1218 >      -1,   472,    -1,   479,    -1,   480,    -1,   481,    -1,   482,
1219 >      -1,   483,    -1,   496,    -1,   485,    -1,   486,    -1,   487,
1220 >      -1,   492,    -1,   476,    -1,   477,    -1,   502,    -1,   500,
1221 >      -1,   501,    -1,   456,    -1,   503,    -1,   491,    -1,   465,
1222 >      -1,   489,    -1,   490,    -1,   452,    -1,   448,    -1,   449,
1223 >      -1,   450,    -1,   451,    -1,   470,    -1,   447,    -1,   488,
1224 >      -1,     1,    -1,    94,   244,   110,   241,    -1,    55,   244,
1225 >     110,   241,    -1,    56,   244,   110,   241,    -1,   233,   244,
1226 >     176,   241,    -1,   138,   244,   250,   241,    -1,   163,   244,
1227 >     176,   241,    -1,    73,   244,   250,   241,    -1,    65,   244,
1228 >     176,   241,    -1,    69,   244,   176,   241,    -1,    37,   244,
1229 >     176,   241,    -1,    46,   244,   176,   241,    -1,     8,   244,
1230 >     176,   241,    -1,    91,   244,   250,   241,    -1,    90,   244,
1231 >     110,   241,    -1,    84,   244,   110,   241,    -1,     9,   244,
1232 >     250,   241,    -1,   180,   244,   250,   241,    -1,   179,   244,
1233 >     250,   241,    -1,    60,   244,   110,   241,    -1,    77,   244,
1234 >     176,   241,    -1,    76,   244,   131,   241,    -1,    70,   244,
1235 >     176,   241,    -1,   238,   244,   176,   241,    -1,   171,   244,
1236 >     176,   241,    -1,   174,   244,   176,   241,    -1,   175,   244,
1237 >     176,   241,    -1,   173,   244,   176,   241,    -1,   173,   244,
1238 >     177,   241,    -1,   172,   244,   176,   241,    -1,   172,   244,
1239 >     177,   241,    -1,   123,   244,   250,   241,    -1,    19,   244,
1240 >     250,   241,    -1,   116,   244,   176,   241,    -1,   124,   244,
1241 >     250,   241,    -1,   167,   244,   176,   241,    -1,   108,   244,
1242 >     176,   241,    -1,   222,   244,   176,   241,    -1,   118,   244,
1243 >     176,   241,    -1,    95,   244,   131,   241,    -1,    38,   244,
1244 >     110,   241,    -1,    93,   244,   110,   241,    -1,   228,   244,
1245 >     176,   241,    -1,    40,   244,   131,   241,    -1,   219,   244,
1246 >     131,   241,    -1,   127,   244,   176,   241,    -1,    33,   244,
1247 >     176,   241,    -1,   220,   244,   250,   241,    -1,    -1,   120,
1248 >     493,   244,   494,   241,    -1,   494,   245,   495,    -1,   495,
1249 >      -1,   183,    -1,   186,    -1,   187,    -1,   190,    -1,   191,
1250 >      -1,   195,    -1,    61,    -1,   206,    -1,   201,    -1,   203,
1251 >      -1,   210,    -1,   207,    -1,   194,    -1,   202,    -1,   205,
1252 >      -1,   196,    -1,   216,    -1,   184,    -1,   185,    -1,   199,
1253 >      -1,    -1,   117,   497,   244,   498,   241,    -1,   498,   245,
1254 >     499,    -1,   499,    -1,   183,    -1,   186,    -1,   187,    -1,
1255 >     190,    -1,   191,    -1,   195,    -1,   206,    -1,    61,    -1,
1256 >     201,    -1,   203,    -1,   210,    -1,   207,    -1,   194,    -1,
1257 >     202,    -1,   205,    -1,   196,    -1,   216,    -1,   184,    -1,
1258 >     185,    -1,   199,    -1,    96,   244,   110,   241,    -1,    97,
1259 >     244,   110,   241,    -1,    27,   244,   110,   241,    -1,   189,
1260 >     244,   252,   241,    -1,    -1,    52,   505,   243,   506,   242,
1261 >     241,    -1,   506,   507,    -1,   507,    -1,   508,    -1,   509,
1262 >      -1,   510,    -1,   514,    -1,   515,    -1,   516,    -1,     1,
1263 >      -1,    42,   244,   176,   241,    -1,    39,   244,   250,   241,
1264 >      -1,    -1,    83,   511,   244,   512,   241,    -1,   512,   245,
1265 >     513,    -1,   513,    -1,   178,    -1,    11,    -1,   227,   244,
1266 >     131,   241,    -1,   100,   244,   131,   241,    -1,    -1,     4,
1267 >     517,   244,   518,   241,    -1,   518,   245,   519,    -1,   519,
1268 >      -1,   178,    -1,    11,    -1,    21,   243,   521,   242,   241,
1269 >      -1,   521,   522,    -1,   522,    -1,   525,    -1,   526,    -1,
1270 >     527,    -1,   528,    -1,   533,    -1,   529,    -1,   530,    -1,
1271 >     531,    -1,   532,    -1,   534,    -1,   535,    -1,   536,    -1,
1272 >     524,    -1,   537,    -1,   538,    -1,   539,    -1,   540,    -1,
1273 >     523,    -1,     1,    -1,    34,   244,   176,   241,    -1,   141,
1274 >     244,   176,   241,    -1,    36,   244,   176,   241,    -1,   229,
1275 >     244,   176,   241,    -1,   230,   244,   176,   241,    -1,   231,
1276 >     244,   176,   241,    -1,    78,   244,   250,   241,    -1,    79,
1277 >     244,   250,   241,    -1,    86,   244,   110,   241,    -1,   132,
1278 >     244,   176,   241,    -1,    85,   244,   110,   241,    -1,    29,
1279 >     244,   110,   241,    -1,    28,   244,   110,   241,    -1,   106,
1280 >     244,   176,   241,    -1,   107,   244,   176,   241,    -1,    13,
1281 >     244,   176,   241,    -1,   121,   244,   110,   241,    -1,   122,
1282 >     244,   250,   241,    -1,   160,   243,   542,   242,   241,    -1,
1283 >     542,   543,    -1,   543,    -1,   544,    -1,   545,    -1,   547,
1284 >      -1,   549,    -1,   548,    -1,   546,    -1,   550,    -1,     1,
1285 >      -1,    48,   244,   176,   241,    -1,    64,   244,   176,   241,
1286 >      -1,    62,   244,   131,   241,    -1,    81,   244,   250,   241,
1287 >      -1,    61,   244,   176,   241,    -1,    35,   244,   176,   241,
1288 >      -1,    63,   244,   176,   241,    -1
1289   };
1290  
1291   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1292   static const yytype_uint16 yyrline[] =
1293   {
1294 <       0,   394,   394,   395,   398,   399,   400,   401,   402,   403,
1295 <     404,   405,   406,   407,   408,   409,   410,   411,   412,   413,
1296 <     414,   415,   416,   417,   418,   419,   423,   423,   424,   428,
1297 <     432,   436,   440,   444,   450,   450,   451,   452,   453,   454,
1298 <     461,   464,   464,   465,   465,   465,   467,   473,   480,   482,
1299 <     482,   483,   483,   484,   484,   485,   485,   486,   487,   487,
1300 <     488,   488,   489,   490,   494,   493,   512,   512,   513,   519,
1301 <     527,   561,   621,   636,   651,   660,   674,   683,   711,   741,
1302 <     764,   773,   775,   775,   776,   776,   777,   777,   779,   788,
1303 <     797,   810,   812,   813,   815,   815,   816,   817,   817,   818,
1304 <     818,   819,   819,   820,   820,   821,   822,   824,   828,   832,
1305 <     839,   846,   853,   860,   867,   874,   881,   888,   892,   896,
1306 <     900,   904,   908,   912,   918,   928,   927,  1021,  1021,  1022,
1307 <    1022,  1023,  1023,  1023,  1024,  1024,  1024,  1025,  1025,  1025,
1308 <    1027,  1039,  1051,  1085,  1097,  1108,  1150,  1160,  1159,  1165,
1309 <    1165,  1166,  1170,  1174,  1178,  1182,  1186,  1190,  1194,  1198,
1310 <    1202,  1206,  1210,  1214,  1218,  1222,  1226,  1230,  1234,  1238,
1311 <    1245,  1244,  1248,  1248,  1249,  1249,  1250,  1250,  1252,  1259,
1312 <    1266,  1273,  1280,  1287,  1294,  1301,  1308,  1315,  1322,  1329,
1313 <    1336,  1343,  1350,  1357,  1371,  1370,  1420,  1420,  1422,  1422,
1314 <    1423,  1424,  1424,  1425,  1426,  1427,  1428,  1429,  1430,  1431,
1315 <    1432,  1433,  1434,  1435,  1437,  1446,  1455,  1461,  1467,  1473,
1316 <    1479,  1485,  1491,  1497,  1503,  1509,  1515,  1521,  1531,  1530,
1317 <    1547,  1546,  1551,  1551,  1552,  1556,  1560,  1568,  1568,  1569,
1318 <    1569,  1569,  1569,  1569,  1571,  1571,  1573,  1573,  1575,  1589,
1319 <    1609,  1618,  1631,  1630,  1699,  1699,  1700,  1700,  1700,  1700,
1320 <    1701,  1701,  1701,  1702,  1702,  1704,  1741,  1754,  1763,  1775,
1321 <    1774,  1778,  1778,  1779,  1779,  1780,  1780,  1782,  1789,  1796,
1322 <    1803,  1810,  1817,  1824,  1831,  1838,  1845,  1855,  1874,  1884,
1323 <    1898,  1897,  1913,  1913,  1914,  1914,  1914,  1914,  1916,  1925,
1324 <    1940,  1954,  1953,  1969,  1969,  1970,  1970,  1970,  1970,  1972,
1325 <    1981,  2004,  2003,  2009,  2009,  2010,  2014,  2018,  2022,  2026,
1326 <    2030,  2034,  2038,  2042,  2046,  2050,  2060,  2059,  2076,  2076,
1327 <    2077,  2077,  2077,  2079,  2086,  2085,  2091,  2091,  2092,  2096,
1328 <    2100,  2104,  2108,  2112,  2116,  2120,  2124,  2128,  2132,  2142,
1329 <    2141,  2287,  2287,  2288,  2288,  2289,  2289,  2289,  2290,  2290,
1330 <    2291,  2291,  2292,  2292,  2292,  2293,  2293,  2294,  2294,  2295,
1331 <    2297,  2309,  2321,  2330,  2356,  2374,  2392,  2398,  2402,  2411,
1332 <    2410,  2414,  2414,  2415,  2415,  2416,  2416,  2418,  2429,  2436,
1333 <    2443,  2450,  2460,  2501,  2512,  2525,  2538,  2547,  2583,  2582,
1334 <    2646,  2645,  2649,  2649,  2650,  2656,  2656,  2657,  2657,  2657,
1335 <    2657,  2659,  2678,  2688,  2687,  2710,  2710,  2711,  2711,  2711,
1336 <    2713,  2719,  2728,  2730,  2730,  2731,  2731,  2733,  2752,  2751,
1337 <    2799,  2798,  2802,  2802,  2803,  2809,  2809,  2810,  2810,  2810,
1338 <    2810,  2812,  2818,  2827,  2830,  2830,  2831,  2831,  2832,  2832,
1339 <    2833,  2833,  2834,  2834,  2835,  2835,  2836,  2836,  2837,  2837,
1340 <    2838,  2838,  2839,  2839,  2840,  2840,  2841,  2841,  2842,  2842,
1341 <    2843,  2843,  2844,  2844,  2845,  2845,  2846,  2846,  2847,  2847,
1342 <    2848,  2848,  2849,  2849,  2850,  2850,  2851,  2852,  2852,  2853,
1343 <    2853,  2854,  2855,  2855,  2856,  2856,  2857,  2857,  2858,  2858,
1344 <    2859,  2860,  2863,  2868,  2873,  2878,  2883,  2888,  2893,  2898,
1345 <    2903,  2908,  2913,  2918,  2923,  2928,  2933,  2938,  2943,  2948,
1346 <    2953,  2959,  2970,  2975,  2984,  2989,  2994,  2999,  3004,  3009,
1347 <    3012,  3017,  3020,  3025,  3030,  3035,  3040,  3045,  3050,  3055,
1348 <    3060,  3065,  3076,  3081,  3086,  3091,  3100,  3132,  3150,  3155,
1349 <    3164,  3169,  3174,  3180,  3179,  3184,  3184,  3185,  3188,  3191,
1350 <    3194,  3197,  3200,  3203,  3206,  3209,  3212,  3215,  3218,  3221,
1351 <    3224,  3227,  3230,  3233,  3236,  3239,  3245,  3244,  3249,  3249,
1352 <    3250,  3253,  3256,  3259,  3262,  3265,  3268,  3271,  3274,  3277,
1353 <    3280,  3283,  3286,  3289,  3292,  3295,  3298,  3301,  3304,  3309,
1354 <    3314,  3319,  3324,  3334,  3333,  3357,  3357,  3358,  3359,  3360,
1355 <    3361,  3362,  3363,  3364,  3366,  3372,  3379,  3378,  3383,  3383,
1356 <    3384,  3388,  3394,  3428,  3438,  3437,  3487,  3487,  3488,  3492,
1357 <    3501,  3504,  3504,  3505,  3505,  3506,  3506,  3507,  3507,  3508,
1358 <    3508,  3509,  3509,  3510,  3511,  3511,  3512,  3512,  3513,  3513,
1359 <    3514,  3514,  3516,  3521,  3526,  3531,  3536,  3541,  3546,  3551,
1360 <    3556,  3561,  3566,  3571,  3576,  3581,  3586,  3591,  3596,  3601,
1406 <    3609,  3612,  3612,  3613,  3613,  3614,  3615,  3616,  3616,  3617,
1407 <    3618,  3620,  3626,  3632,  3641,  3655,  3661,  3667
1294 >       0,   379,   379,   380,   383,   384,   385,   386,   387,   388,
1295 >     389,   390,   391,   392,   393,   394,   395,   396,   397,   398,
1296 >     399,   400,   401,   402,   403,   404,   405,   409,   409,   410,
1297 >     414,   418,   422,   426,   430,   436,   436,   437,   438,   439,
1298 >     440,   447,   450,   450,   451,   451,   451,   453,   459,   466,
1299 >     468,   468,   469,   469,   470,   470,   471,   471,   472,   472,
1300 >     473,   473,   474,   474,   475,   475,   476,   477,   480,   481,
1301 >     483,   483,   484,   490,   498,   498,   499,   505,   513,   552,
1302 >     611,   639,   647,   662,   677,   686,   700,   709,   737,   767,
1303 >     790,   799,   801,   801,   802,   802,   803,   803,   805,   814,
1304 >     823,   835,   836,   836,   838,   838,   839,   841,   848,   848,
1305 >     858,   859,   861,   861,   862,   862,   864,   869,   872,   878,
1306 >     877,   883,   883,   884,   888,   892,   896,   900,   904,   908,
1307 >     919,   918,  1016,  1016,  1017,  1017,  1017,  1018,  1018,  1018,
1308 >    1019,  1019,  1019,  1021,  1033,  1070,  1082,  1093,  1135,  1145,
1309 >    1144,  1150,  1150,  1151,  1155,  1159,  1163,  1167,  1171,  1175,
1310 >    1179,  1183,  1187,  1191,  1195,  1199,  1203,  1207,  1211,  1215,
1311 >    1219,  1223,  1227,  1234,  1233,  1239,  1239,  1240,  1244,  1248,
1312 >    1252,  1256,  1260,  1264,  1268,  1272,  1276,  1280,  1284,  1288,
1313 >    1292,  1296,  1300,  1304,  1308,  1319,  1318,  1368,  1368,  1369,
1314 >    1370,  1370,  1371,  1372,  1373,  1374,  1375,  1376,  1377,  1378,
1315 >    1379,  1380,  1381,  1383,  1392,  1398,  1404,  1410,  1416,  1422,
1316 >    1428,  1434,  1440,  1446,  1452,  1458,  1468,  1467,  1484,  1483,
1317 >    1488,  1488,  1489,  1493,  1497,  1505,  1505,  1506,  1506,  1506,
1318 >    1506,  1506,  1508,  1508,  1510,  1510,  1512,  1526,  1546,  1555,
1319 >    1568,  1567,  1636,  1636,  1637,  1637,  1637,  1637,  1638,  1638,
1320 >    1638,  1639,  1639,  1641,  1678,  1691,  1700,  1712,  1711,  1715,
1321 >    1715,  1716,  1720,  1724,  1728,  1732,  1736,  1740,  1744,  1748,
1322 >    1755,  1774,  1784,  1798,  1797,  1813,  1813,  1814,  1814,  1814,
1323 >    1814,  1816,  1825,  1840,  1853,  1855,  1855,  1856,  1856,  1858,
1324 >    1874,  1873,  1889,  1889,  1890,  1890,  1890,  1890,  1892,  1901,
1325 >    1924,  1923,  1929,  1929,  1930,  1934,  1938,  1942,  1946,  1950,
1326 >    1954,  1958,  1962,  1966,  1976,  1975,  1992,  1992,  1993,  1993,
1327 >    1993,  1995,  2002,  2001,  2007,  2007,  2008,  2012,  2016,  2020,
1328 >    2024,  2028,  2032,  2036,  2040,  2044,  2054,  2053,  2182,  2182,
1329 >    2183,  2183,  2183,  2184,  2184,  2185,  2185,  2185,  2186,  2186,
1330 >    2186,  2187,  2187,  2188,  2190,  2199,  2208,  2234,  2252,  2270,
1331 >    2276,  2280,  2289,  2288,  2292,  2292,  2293,  2297,  2301,  2305,
1332 >    2311,  2322,  2335,  2348,  2357,  2376,  2375,  2441,  2440,  2444,
1333 >    2444,  2445,  2451,  2451,  2452,  2452,  2452,  2452,  2454,  2473,
1334 >    2483,  2482,  2507,  2507,  2508,  2508,  2508,  2510,  2516,  2525,
1335 >    2527,  2527,  2528,  2528,  2530,  2549,  2548,  2596,  2595,  2599,
1336 >    2599,  2600,  2606,  2606,  2607,  2607,  2607,  2607,  2609,  2615,
1337 >    2624,  2627,  2627,  2628,  2628,  2629,  2629,  2630,  2630,  2631,
1338 >    2631,  2632,  2632,  2633,  2633,  2634,  2634,  2635,  2635,  2636,
1339 >    2636,  2637,  2637,  2638,  2638,  2639,  2639,  2640,  2640,  2641,
1340 >    2642,  2642,  2643,  2643,  2644,  2644,  2645,  2645,  2646,  2646,
1341 >    2647,  2648,  2649,  2649,  2650,  2651,  2652,  2652,  2653,  2653,
1342 >    2654,  2654,  2655,  2655,  2656,  2659,  2664,  2669,  2674,  2679,
1343 >    2684,  2689,  2694,  2699,  2704,  2709,  2714,  2719,  2724,  2729,
1344 >    2734,  2739,  2744,  2750,  2761,  2766,  2775,  2780,  2785,  2790,
1345 >    2795,  2800,  2803,  2808,  2811,  2816,  2821,  2826,  2831,  2836,
1346 >    2841,  2846,  2851,  2856,  2867,  2872,  2877,  2882,  2891,  2900,
1347 >    2905,  2910,  2916,  2915,  2920,  2920,  2921,  2924,  2927,  2930,
1348 >    2933,  2936,  2939,  2942,  2945,  2948,  2951,  2954,  2957,  2960,
1349 >    2963,  2966,  2969,  2972,  2975,  2978,  2984,  2983,  2988,  2988,
1350 >    2989,  2992,  2995,  2998,  3001,  3004,  3007,  3010,  3013,  3016,
1351 >    3019,  3022,  3025,  3028,  3031,  3034,  3037,  3040,  3043,  3046,
1352 >    3051,  3056,  3061,  3066,  3076,  3075,  3099,  3099,  3100,  3101,
1353 >    3102,  3103,  3104,  3105,  3106,  3108,  3114,  3121,  3120,  3125,
1354 >    3125,  3126,  3130,  3136,  3170,  3180,  3179,  3229,  3229,  3230,
1355 >    3234,  3243,  3246,  3246,  3247,  3247,  3248,  3248,  3249,  3249,
1356 >    3250,  3250,  3251,  3251,  3252,  3253,  3253,  3254,  3254,  3255,
1357 >    3255,  3256,  3256,  3258,  3263,  3268,  3273,  3278,  3283,  3288,
1358 >    3293,  3298,  3303,  3308,  3313,  3318,  3323,  3328,  3333,  3338,
1359 >    3343,  3351,  3354,  3354,  3355,  3355,  3356,  3357,  3358,  3358,
1360 >    3359,  3360,  3362,  3368,  3374,  3383,  3397,  3403,  3409
1361   };
1362   #endif
1363  
# Line 1416 | Line 1369 | static const char *const yytname[] =
1369    "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1370    "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1371    "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1372 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CAN_IDLE",
1373 <  "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE",
1374 <  "CLASS", "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ",
1375 <  "CRYPTLINK", "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1376 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1377 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1378 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1379 <  "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL", "ENABLE",
1380 <  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1381 <  "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1382 <  "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1383 <  "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1431 <  "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1432 <  "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1433 <  "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1434 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IDLETIME",
1372 >  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1373 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1374 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1375 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1376 >  "DISABLE_FAKE_CHANNELS", "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS",
1377 >  "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH",
1378 >  "EMAIL", "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1379 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1380 >  "GLINE", "GLINES", "GLINE_EXEMPT", "GLINE_TIME", "GLINE_MIN_CIDR",
1381 >  "GLINE_MIN_CIDR6", "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT",
1382 >  "HAVENT_READ_CONF", "HIDDEN", "HIDDEN_NAME", "HIDE_SERVER_IPS",
1383 >  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK",
1384    "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1385    "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1386    "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1387 <  "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1388 <  "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1387 >  "LINKS_DELAY", "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS",
1388 >  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1389    "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1390    "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1391    "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1392    "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1393    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1394 <  "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1395 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1394 >  "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1395 >  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID",
1396    "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1397    "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1398    "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1399    "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1400    "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1401    "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1402 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1403 <  "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1404 <  "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1405 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1406 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1407 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1408 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1409 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1410 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1411 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1402 >  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE",
1403 >  "T_SSL_CLIENT_METHOD", "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1",
1404 >  "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS",
1405 >  "SENDQ", "SEND_PASSWORD", "SERVERHIDE", "SERVERINFO", "IRCD_SID",
1406 >  "TKLINE_EXPIRE_NOTICES", "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD",
1407 >  "SILENT", "SPOOF", "SPOOF_NOTICE", "STATS_E_DISABLED",
1408 >  "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY",
1409 >  "STATS_P_OPER_ONLY", "TBOOL", "TMASKED", "T_REJECT", "TS_MAX_DELTA",
1410 >  "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS", "T_SOFTCALLERID",
1411 >  "T_CALLERID", "T_CCONN", "T_CCONN_FULL", "T_SSL_CIPHER_LIST",
1412 >  "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DLINE", "T_DRONE",
1413    "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1414 <  "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1415 <  "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1416 <  "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1417 <  "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1418 <  "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1419 <  "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1420 <  "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1421 <  "XLINE", "WARN", "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','",
1414 >  "T_MAX_CLIENTS", "T_NCHANGE", "T_OPERWALL", "T_REJ", "T_SERVER",
1415 >  "T_SERVNOTICE", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES", "T_UNAUTH",
1416 >  "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE", "T_GLOBOPS",
1417 >  "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME", "THROTTLE_TIME",
1418 >  "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE", "TRESV",
1419 >  "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX", "USE_KNOCK",
1420 >  "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6", "XLINE", "WARN",
1421 >  "WARN_NO_NLINE", "T_SIZE", "T_FILE", "';'", "'}'", "'{'", "'='", "','",
1422    "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1423    "sizespec", "modules_entry", "modules_items", "modules_item",
1424    "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1425 <  "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1426 <  "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1427 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1425 >  "serverinfo_item", "serverinfo_ssl_client_method",
1426 >  "serverinfo_ssl_server_method", "client_method_types",
1427 >  "client_method_type_item", "server_method_types",
1428 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1429 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1430 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1431    "serverinfo_description", "serverinfo_network_name",
1432    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1433    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1434    "admin_item", "admin_name", "admin_email", "admin_description",
1435 <  "logging_entry", "logging_items", "logging_item", "logging_path",
1436 <  "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1437 <  "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1438 <  "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1439 <  "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1440 <  "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1441 <  "oper_user", "oper_password", "oper_encrypted",
1442 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1443 <  "oper_umodes_items", "oper_umodes_item", "oper_flags", "$@4",
1491 <  "oper_flags_items", "oper_flags_item", "$@5", "$@6",
1492 <  "oper_flags_item_atom", "class_entry", "$@7", "class_name_b",
1493 <  "class_items", "class_item", "class_name", "class_name_t",
1435 >  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1436 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1437 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1438 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1439 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1440 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1441 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1442 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1443 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1444    "class_ping_time", "class_ping_warning", "class_number_per_ip",
1445    "class_connectfreq", "class_max_number", "class_max_global",
1446    "class_max_local", "class_max_ident", "class_sendq",
1447    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1448 <  "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1448 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1449    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1450 <  "listen_port", "$@10", "port_items", "port_item", "listen_address",
1451 <  "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1450 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1451 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1452    "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1453 <  "$@12", "auth_flags_items", "auth_flags_item", "$@13", "$@14",
1454 <  "auth_flags_item_atom", "auth_spoof", "auth_redir_serv",
1455 <  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1456 <  "resv_creason", "resv_channel", "resv_nick", "shared_entry", "$@16",
1457 <  "shared_items", "shared_item", "shared_name", "shared_user",
1458 <  "shared_type", "$@17", "shared_types", "shared_type_item",
1459 <  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1460 <  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1461 <  "connect_entry", "$@20", "connect_name_b", "connect_items",
1462 <  "connect_item", "connect_name", "connect_name_t", "connect_host",
1463 <  "connect_vhost", "connect_send_password", "connect_accept_password",
1464 <  "connect_port", "connect_aftype", "connect_flags", "$@21",
1515 <  "connect_flags_items", "connect_flags_item", "$@22", "$@23",
1516 <  "connect_flags_item_atom", "connect_rsa_public_key_file",
1453 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1454 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1455 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1456 >  "service_entry", "service_items", "service_item", "service_name",
1457 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1458 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1459 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1460 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1461 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1462 >  "connect_host", "connect_vhost", "connect_send_password",
1463 >  "connect_accept_password", "connect_port", "connect_aftype",
1464 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1465    "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1466 <  "connect_class", "connect_cipher_preference", "kill_entry", "$@24",
1467 <  "kill_type", "$@25", "kill_type_items", "kill_type_item", "kill_items",
1468 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@26",
1466 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1467 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1468 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1469    "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1470 <  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@27",
1471 <  "gecos_flags", "$@28", "gecos_flags_items", "gecos_flags_item",
1470 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1471 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1472    "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1473    "general_entry", "general_items", "general_item", "general_max_watch",
1474    "general_gline_min_cidr", "general_gline_min_cidr6",
1475 <  "general_burst_away", "general_use_whois_actually",
1476 <  "general_reject_hold_time", "general_tkline_expire_notices",
1477 <  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1478 <  "general_ignore_bogus_ts", "general_disable_remote_commands",
1479 <  "general_failed_oper_notice", "general_anti_nick_flood",
1480 <  "general_max_nick_time", "general_max_nick_changes",
1481 <  "general_max_accept", "general_anti_spam_exit_message_time",
1482 <  "general_ts_warn_delta", "general_ts_max_delta",
1483 <  "general_havent_read_conf", "general_kline_with_reason",
1484 <  "general_kline_reason", "general_invisible_on_connect",
1485 <  "general_warn_no_nline", "general_stats_e_disabled",
1486 <  "general_stats_o_oper_only", "general_stats_P_oper_only",
1487 <  "general_stats_k_oper_only", "general_stats_i_oper_only",
1488 <  "general_pace_wait", "general_caller_id_wait",
1489 <  "general_opers_bypass_callerid", "general_pace_wait_simple",
1490 <  "general_short_motd", "general_no_oper_flood",
1491 <  "general_true_no_oper_flood", "general_oper_pass_resv",
1492 <  "general_message_locale", "general_idletime", "general_dots_in_ident",
1493 <  "general_max_targets", "general_servlink_path",
1546 <  "general_default_cipher_preference", "general_compression_level",
1547 <  "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1475 >  "general_use_whois_actually", "general_reject_hold_time",
1476 >  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1477 >  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1478 >  "general_disable_remote_commands", "general_failed_oper_notice",
1479 >  "general_anti_nick_flood", "general_max_nick_time",
1480 >  "general_max_nick_changes", "general_max_accept",
1481 >  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1482 >  "general_ts_max_delta", "general_havent_read_conf",
1483 >  "general_kline_with_reason", "general_kline_reason",
1484 >  "general_invisible_on_connect", "general_warn_no_nline",
1485 >  "general_stats_e_disabled", "general_stats_o_oper_only",
1486 >  "general_stats_P_oper_only", "general_stats_k_oper_only",
1487 >  "general_stats_i_oper_only", "general_pace_wait",
1488 >  "general_caller_id_wait", "general_opers_bypass_callerid",
1489 >  "general_pace_wait_simple", "general_short_motd",
1490 >  "general_no_oper_flood", "general_true_no_oper_flood",
1491 >  "general_oper_pass_resv", "general_message_locale",
1492 >  "general_dots_in_ident", "general_max_targets", "general_use_egd",
1493 >  "general_egdpool_path", "general_services_name", "general_ping_cookie",
1494    "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1495 <  "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1496 <  "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1495 >  "$@24", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1496 >  "$@25", "umode_items", "umode_item", "general_min_nonwildcard",
1497    "general_min_nonwildcard_simple", "general_default_floodcount",
1498 <  "general_client_flood", "gline_entry", "$@31", "gline_items",
1499 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@32",
1498 >  "general_client_flood", "gline_entry", "$@26", "gline_items",
1499 >  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@27",
1500    "gline_logging_types", "gline_logging_type_item", "gline_user",
1501 <  "gline_server", "gline_action", "$@33", "gdeny_types", "gdeny_type_item",
1501 >  "gline_server", "gline_action", "$@28", "gdeny_types", "gdeny_type_item",
1502    "channel_entry", "channel_items", "channel_item",
1503    "channel_disable_fake_channels", "channel_restrict_channels",
1504    "channel_disable_local_channels", "channel_use_except",
# Line 1598 | Line 1544 | static const yytype_uint16 yytoknum[] =
1544       465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1545       475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1546       485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1547 <     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1602 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1603 <      59,   125,   123,    61,    44
1547 >     495,    59,   125,   123,    61,    44
1548   };
1549   # endif
1550  
1551   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1552   static const yytype_uint16 yyr1[] =
1553   {
1554 <       0,   265,   266,   266,   267,   267,   267,   267,   267,   267,
1555 <     267,   267,   267,   267,   267,   267,   267,   267,   267,   267,
1556 <     267,   267,   267,   267,   267,   267,   268,   268,   269,   269,
1557 <     269,   269,   269,   269,   270,   270,   271,   271,   271,   271,
1558 <     272,   273,   273,   274,   274,   274,   275,   276,   277,   278,
1559 <     278,   279,   279,   279,   279,   279,   279,   279,   279,   279,
1560 <     279,   279,   279,   279,   281,   280,   282,   282,   283,   283,
1561 <     284,   285,   286,   287,   288,   289,   290,   291,   292,   293,
1562 <     294,   295,   296,   296,   297,   297,   297,   297,   298,   299,
1563 <     300,   301,   302,   302,   303,   303,   303,   303,   303,   303,
1564 <     303,   303,   303,   303,   303,   303,   303,   304,   305,   306,
1565 <     307,   308,   309,   310,   311,   312,   313,   314,   314,   314,
1566 <     314,   314,   314,   314,   315,   317,   316,   318,   318,   319,
1567 <     319,   320,   320,   320,   320,   320,   320,   320,   320,   320,
1568 <     321,   322,   323,   324,   325,   326,   327,   329,   328,   330,
1569 <     330,   331,   331,   331,   331,   331,   331,   331,   331,   331,
1570 <     331,   331,   331,   331,   331,   331,   331,   331,   331,   331,
1571 <     333,   332,   334,   334,   336,   335,   337,   335,   338,   338,
1572 <     338,   338,   338,   338,   338,   338,   338,   338,   338,   338,
1573 <     338,   338,   338,   338,   340,   339,   341,   341,   342,   342,
1574 <     343,   343,   343,   343,   343,   343,   343,   343,   343,   343,
1575 <     343,   343,   343,   343,   344,   345,   346,   347,   348,   349,
1576 <     350,   351,   352,   353,   354,   355,   356,   357,   359,   358,
1577 <     361,   360,   362,   362,   363,   363,   363,   364,   364,   365,
1578 <     365,   365,   365,   365,   367,   366,   368,   368,   369,   369,
1579 <     370,   371,   373,   372,   374,   374,   375,   375,   375,   375,
1580 <     375,   375,   375,   375,   375,   376,   377,   378,   379,   381,
1581 <     380,   382,   382,   384,   383,   385,   383,   386,   386,   386,
1582 <     386,   386,   386,   386,   386,   386,   386,   387,   388,   389,
1583 <     391,   390,   392,   392,   393,   393,   393,   393,   394,   395,
1584 <     396,   398,   397,   399,   399,   400,   400,   400,   400,   401,
1585 <     402,   404,   403,   405,   405,   406,   406,   406,   406,   406,
1586 <     406,   406,   406,   406,   406,   406,   408,   407,   409,   409,
1587 <     410,   410,   410,   411,   413,   412,   414,   414,   415,   415,
1588 <     415,   415,   415,   415,   415,   415,   415,   415,   415,   417,
1589 <     416,   418,   418,   419,   419,   420,   420,   420,   420,   420,
1590 <     420,   420,   420,   420,   420,   420,   420,   420,   420,   420,
1591 <     421,   422,   423,   424,   425,   426,   427,   428,   428,   430,
1592 <     429,   431,   431,   433,   432,   434,   432,   435,   435,   435,
1593 <     435,   435,   436,   437,   438,   439,   440,   441,   443,   442,
1594 <     445,   444,   446,   446,   447,   448,   448,   449,   449,   449,
1595 <     449,   450,   451,   453,   452,   454,   454,   455,   455,   455,
1596 <     456,   457,   458,   459,   459,   460,   460,   461,   463,   462,
1597 <     465,   464,   466,   466,   467,   468,   468,   469,   469,   469,
1598 <     469,   470,   471,   472,   473,   473,   474,   474,   474,   474,
1599 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1600 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1601 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1602 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1603 <     474,   474,   474,   474,   474,   474,   474,   474,   474,   474,
1604 <     474,   474,   475,   476,   477,   478,   479,   480,   481,   482,
1605 <     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
1606 <     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
1607 <     502,   503,   503,   504,   505,   506,   507,   508,   509,   510,
1608 <     511,   512,   513,   514,   515,   516,   517,   518,   519,   520,
1609 <     521,   522,   523,   525,   524,   526,   526,   527,   527,   527,
1610 <     527,   527,   527,   527,   527,   527,   527,   527,   527,   527,
1611 <     527,   527,   527,   527,   527,   527,   529,   528,   530,   530,
1612 <     531,   531,   531,   531,   531,   531,   531,   531,   531,   531,
1613 <     531,   531,   531,   531,   531,   531,   531,   531,   531,   532,
1614 <     533,   534,   535,   537,   536,   538,   538,   539,   539,   539,
1615 <     539,   539,   539,   539,   540,   541,   543,   542,   544,   544,
1616 <     545,   545,   546,   547,   549,   548,   550,   550,   551,   551,
1617 <     552,   553,   553,   554,   554,   554,   554,   554,   554,   554,
1618 <     554,   554,   554,   554,   554,   554,   554,   554,   554,   554,
1619 <     554,   554,   555,   556,   557,   558,   559,   560,   561,   562,
1620 <     563,   564,   565,   566,   567,   568,   569,   570,   571,   572,
1677 <     573,   574,   574,   575,   575,   575,   575,   575,   575,   575,
1678 <     575,   576,   577,   578,   579,   580,   581,   582
1554 >       0,   246,   247,   247,   248,   248,   248,   248,   248,   248,
1555 >     248,   248,   248,   248,   248,   248,   248,   248,   248,   248,
1556 >     248,   248,   248,   248,   248,   248,   248,   249,   249,   250,
1557 >     250,   250,   250,   250,   250,   251,   251,   252,   252,   252,
1558 >     252,   253,   254,   254,   255,   255,   255,   256,   257,   258,
1559 >     259,   259,   260,   260,   260,   260,   260,   260,   260,   260,
1560 >     260,   260,   260,   260,   260,   260,   260,   260,   261,   262,
1561 >     263,   263,   264,   264,   265,   265,   266,   266,   267,   268,
1562 >     269,   270,   271,   272,   273,   274,   275,   276,   277,   278,
1563 >     279,   280,   281,   281,   282,   282,   282,   282,   283,   284,
1564 >     285,   286,   287,   287,   288,   288,   288,   289,   291,   290,
1565 >     292,   292,   293,   293,   293,   293,   294,   295,   295,   297,
1566 >     296,   298,   298,   299,   299,   299,   299,   299,   299,   299,
1567 >     301,   300,   302,   302,   303,   303,   303,   303,   303,   303,
1568 >     303,   303,   303,   304,   305,   306,   307,   308,   309,   311,
1569 >     310,   312,   312,   313,   313,   313,   313,   313,   313,   313,
1570 >     313,   313,   313,   313,   313,   313,   313,   313,   313,   313,
1571 >     313,   313,   313,   315,   314,   316,   316,   317,   317,   317,
1572 >     317,   317,   317,   317,   317,   317,   317,   317,   317,   317,
1573 >     317,   317,   317,   317,   317,   319,   318,   320,   320,   321,
1574 >     321,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1575 >     321,   321,   321,   322,   323,   324,   325,   326,   327,   328,
1576 >     329,   330,   331,   332,   333,   334,   336,   335,   338,   337,
1577 >     339,   339,   340,   340,   340,   341,   341,   342,   342,   342,
1578 >     342,   342,   344,   343,   345,   345,   346,   346,   347,   348,
1579 >     350,   349,   351,   351,   352,   352,   352,   352,   352,   352,
1580 >     352,   352,   352,   353,   354,   355,   356,   358,   357,   359,
1581 >     359,   360,   360,   360,   360,   360,   360,   360,   360,   360,
1582 >     361,   362,   363,   365,   364,   366,   366,   367,   367,   367,
1583 >     367,   368,   369,   370,   371,   372,   372,   373,   373,   374,
1584 >     376,   375,   377,   377,   378,   378,   378,   378,   379,   380,
1585 >     382,   381,   383,   383,   384,   384,   384,   384,   384,   384,
1586 >     384,   384,   384,   384,   386,   385,   387,   387,   388,   388,
1587 >     388,   389,   391,   390,   392,   392,   393,   393,   393,   393,
1588 >     393,   393,   393,   393,   393,   393,   395,   394,   396,   396,
1589 >     397,   397,   397,   397,   397,   397,   397,   397,   397,   397,
1590 >     397,   397,   397,   397,   398,   399,   400,   401,   402,   403,
1591 >     404,   404,   406,   405,   407,   407,   408,   408,   408,   408,
1592 >     409,   410,   411,   412,   413,   415,   414,   417,   416,   418,
1593 >     418,   419,   420,   420,   421,   421,   421,   421,   422,   423,
1594 >     425,   424,   426,   426,   427,   427,   427,   428,   429,   430,
1595 >     431,   431,   432,   432,   433,   435,   434,   437,   436,   438,
1596 >     438,   439,   440,   440,   441,   441,   441,   441,   442,   443,
1597 >     444,   445,   445,   446,   446,   446,   446,   446,   446,   446,
1598 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1599 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1600 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1601 >     446,   446,   446,   446,   446,   446,   446,   446,   446,   446,
1602 >     446,   446,   446,   446,   446,   447,   448,   449,   450,   451,
1603 >     452,   453,   454,   455,   456,   457,   458,   459,   460,   461,
1604 >     462,   463,   464,   465,   466,   467,   468,   469,   470,   471,
1605 >     472,   473,   473,   474,   474,   475,   476,   477,   478,   479,
1606 >     480,   481,   482,   483,   484,   485,   486,   487,   488,   489,
1607 >     490,   491,   493,   492,   494,   494,   495,   495,   495,   495,
1608 >     495,   495,   495,   495,   495,   495,   495,   495,   495,   495,
1609 >     495,   495,   495,   495,   495,   495,   497,   496,   498,   498,
1610 >     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1611 >     499,   499,   499,   499,   499,   499,   499,   499,   499,   499,
1612 >     500,   501,   502,   503,   505,   504,   506,   506,   507,   507,
1613 >     507,   507,   507,   507,   507,   508,   509,   511,   510,   512,
1614 >     512,   513,   513,   514,   515,   517,   516,   518,   518,   519,
1615 >     519,   520,   521,   521,   522,   522,   522,   522,   522,   522,
1616 >     522,   522,   522,   522,   522,   522,   522,   522,   522,   522,
1617 >     522,   522,   522,   523,   524,   525,   526,   527,   528,   529,
1618 >     530,   531,   532,   533,   534,   535,   536,   537,   538,   539,
1619 >     540,   541,   542,   542,   543,   543,   543,   543,   543,   543,
1620 >     543,   543,   544,   545,   546,   547,   548,   549,   550
1621   };
1622  
1623   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1683 | Line 1625 | static const yytype_uint8 yyr2[] =
1625   {
1626         0,     2,     0,     2,     1,     1,     1,     1,     1,     1,
1627         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1628 <       1,     1,     1,     1,     2,     2,     0,     1,     2,     3,
1629 <       3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1630 <       5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1631 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1632 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     1,
1628 >       1,     1,     1,     1,     1,     2,     2,     0,     1,     2,
1629 >       3,     3,     3,     3,     3,     0,     1,     2,     3,     3,
1630 >       3,     5,     2,     1,     1,     1,     2,     4,     4,     5,
1631 >       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1632 >       1,     1,     1,     1,     1,     1,     1,     2,     4,     4,
1633 >       3,     1,     1,     1,     3,     1,     1,     1,     4,     4,
1634         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1635         4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1636 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1637 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1638 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1639 <       4,     4,     4,     4,     4,     0,     7,     0,     1,     2,
1640 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1641 <       4,     1,     4,     4,     4,     4,     4,     0,     5,     3,
1636 >       4,     5,     2,     1,     1,     1,     2,     4,     0,     6,
1637 >       2,     1,     1,     1,     1,     2,     4,     4,     4,     0,
1638 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1639 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1640 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     0,
1641 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1642         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1643 +       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1644         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1645 <       0,     5,     3,     1,     0,     3,     0,     2,     1,     1,
1645 >       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1646         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1647 <       1,     1,     1,     1,     0,     7,     0,     1,     2,     1,
1647 >       1,     1,     2,     4,     4,     4,     4,     4,     4,     4,
1648 >       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1649 >       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1650 >       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1651 >       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1652 >       1,     1,     2,     4,     4,     4,     4,     0,     5,     3,
1653         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1654 <       1,     1,     1,     2,     4,     1,     4,     4,     4,     4,
1655 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     6,
1707 <       0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
1708 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
1709 <       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1710 <       1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
1711 <       5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1712 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1654 >       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1655 >       2,     4,     4,     4,     5,     2,     1,     1,     1,     4,
1656         0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1657 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1658 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1657 >       0,     5,     3,     1,     1,     1,     1,     1,     1,     1,
1658 >       1,     1,     1,     1,     0,     6,     2,     1,     1,     1,
1659 >       2,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1660         1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1717       1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
1718       1,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1719       7,     0,     1,     2,     1,     1,     1,     1,     1,     1,
1720       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1721       4,     1,     4,     4,     4,     4,     4,     4,     4,     0,
1722       5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1723       1,     1,     4,     4,     4,     4,     4,     4,     0,     6,
1724       0,     5,     3,     1,     1,     2,     1,     1,     1,     1,
1725       1,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1726       4,     4,     5,     2,     1,     1,     1,     4,     0,     6,
1727       0,     5,     3,     1,     1,     2,     1,     1,     1,     1,
1728       1,     4,     4,     5,     2,     1,     1,     1,     1,     1,
1661         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1662 +       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1663 +       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1664 +       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1665 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1666 +       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1667 +       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1668 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1669 +       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1670         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1671         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1672         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1673         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1674 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1674 >       1,     1,     1,     1,     1,     4,     4,     4,     4,     4,
1675         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1676         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1677         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1678         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1679 <       4,     4,     4,     0,     5,     3,     1,     1,     1,     1,
1679 >       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1680         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1681         1,     1,     1,     1,     1,     1,     0,     5,     3,     1,
1682         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1743       1,     1,     1,     1,     1,     1,     1,     1,     1,     4,
1744       4,     4,     4,     0,     6,     2,     1,     1,     1,     1,
1745       1,     1,     1,     1,     4,     4,     0,     5,     3,     1,
1746       1,     1,     4,     4,     0,     5,     3,     1,     1,     1,
1747       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1683         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1684 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1684 >       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1685 >       1,     1,     1,     1,     1,     4,     4,     0,     5,     3,
1686 >       1,     1,     1,     4,     4,     0,     5,     3,     1,     1,
1687 >       1,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1688 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1689 >       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
1690         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1691 <       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1692 <       1,     4,     4,     4,     4,     4,     4,     4
1691 >       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1692 >       1,     1,     4,     4,     4,     4,     4,     4,     4
1693   };
1694  
1695   /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
# Line 1757 | Line 1697 | static const yytype_uint8 yyr2[] =
1697     means the default is an error.  */
1698   static const yytype_uint16 yydefact[] =
1699   {
1700 <       2,     0,     1,     0,     0,     0,   194,   349,   413,     0,
1701 <     428,     0,   603,   252,   398,   228,     0,     0,   125,   290,
1702 <       0,     0,   301,   326,     3,    23,    11,     4,     5,     6,
1703 <       8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1704 <      22,    20,    21,     7,    12,    24,    25,     0,     0,   196,
1765 <     351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1766 <       0,   127,     0,     0,     0,     0,     0,     0,     0,     0,
1767 <       0,     0,    83,    84,    86,    85,   651,     0,     0,     0,
1768 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1769 <       0,     0,     0,     0,     0,     0,   632,   650,   645,   633,
1770 <     634,   635,   636,   638,   639,   640,   641,   637,   642,   643,
1771 <     644,   646,   647,   648,   649,   215,     0,   197,   371,     0,
1772 <     352,     0,   426,     0,     0,   424,   425,     0,   501,     0,
1700 >       2,     0,     1,     0,     0,     0,   195,   346,   400,     0,
1701 >     415,     0,   584,   250,   385,   226,     0,     0,   130,   283,
1702 >       0,     0,   300,   324,     0,     3,    24,    11,     4,     5,
1703 >       6,     8,     9,    10,    13,    14,    15,    16,    17,    18,
1704 >      19,    20,    23,    21,    22,     7,    12,    25,    26,     0,
1705         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1706         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1707 +       0,     0,     0,     0,     0,    93,    94,    96,    95,   632,
1708         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1709 <       0,   576,     0,   553,     0,     0,     0,     0,     0,     0,
1709 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   613,
1710 >     631,   626,   614,   615,   616,   617,   619,   620,   621,   622,
1711 >     618,   623,   624,   625,   627,   628,   629,   630,     0,     0,
1712 >       0,   413,     0,     0,   411,   412,     0,   484,     0,     0,
1713         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1778       0,     0,     0,     0,     0,   445,   500,   495,   496,   493,
1779     497,   498,   494,   456,   446,   447,   485,   448,   449,   450,
1780     451,   452,   453,   454,   455,   490,   457,   458,   459,   460,
1781     499,   462,   467,   463,   465,   464,   479,   480,   466,   468,
1782     469,   470,   471,   473,   472,   461,   475,   484,   486,   487,
1783     476,   477,   491,   492,   489,   478,   474,   482,   483,   481,
1784     488,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1785       0,     0,     0,     0,     0,     0,     0,     0,     0,    93,
1786      94,    95,    98,   105,    99,   103,   100,   101,   104,   102,
1787      96,    97,     0,     0,     0,     0,    42,    43,    44,   141,
1788       0,   128,     0,   680,     0,     0,     0,     0,     0,     0,
1789       0,     0,   672,   673,   674,   678,   675,   677,   676,   679,
1790       0,     0,     0,     0,     0,     0,     0,     0,    64,     0,
1791       0,     0,     0,     0,    50,    62,    61,    58,    51,    60,
1792      54,    55,    56,    52,    59,    57,    53,     0,     0,    87,
1793       0,     0,     0,     0,    82,     0,     0,     0,     0,     0,
1714         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1715 <       0,     0,     0,     0,   631,     0,     0,   419,     0,     0,
1796 <       0,   416,   417,   418,     0,     0,   423,   440,     0,     0,
1797 <     430,   439,     0,   436,   437,   438,     0,     0,     0,     0,
1715 >       0,     0,     0,     0,     0,     0,   556,     0,   532,     0,
1716         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1717         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1718 +     432,   482,   477,   478,   479,   480,   476,   443,   433,   434,
1719 +     470,   435,   436,   437,   438,   439,   440,   441,   442,   473,
1720 +     444,   445,   446,   447,   481,   449,   454,   450,   452,   451,
1721 +     465,   466,   453,   455,   456,   457,   458,   459,   448,   461,
1722 +     462,   463,   483,   474,   475,   472,   464,   460,   468,   469,
1723 +     467,   471,     0,     0,     0,     0,     0,     0,     0,   103,
1724 +     104,   105,     0,     0,     0,     0,     0,    43,    44,    45,
1725 +       0,     0,   661,     0,     0,     0,     0,     0,     0,     0,
1726 +       0,   653,   654,   655,   659,   656,   658,   657,   660,     0,
1727         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1728 +       0,     0,     0,     0,     0,     0,    51,    64,    65,    63,
1729 +      60,    59,    66,    52,    62,    55,    56,    57,    53,    61,
1730 +      58,    54,     0,     0,   298,     0,     0,   296,   297,    97,
1731 +       0,     0,     0,     0,    92,     0,     0,     0,     0,     0,
1732         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1733 +       0,     0,     0,     0,   612,     0,     0,     0,     0,     0,
1734         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1735 <       0,     0,   444,   613,   624,     0,     0,   616,     0,     0,
1736 <       0,   606,   607,   608,   609,   610,   611,   612,     0,     0,
1737 <       0,   269,     0,     0,     0,     0,     0,     0,   255,   256,
1738 <     257,   258,   263,   259,   260,   261,   262,   410,     0,   400,
1739 <       0,   409,     0,   406,   407,   408,     0,   230,     0,     0,
1740 <       0,   240,     0,   238,   239,   241,   242,   106,     0,     0,
1735 >     198,   199,   202,   203,   205,   206,   207,   208,   209,   210,
1736 >     211,   200,   201,   204,     0,     0,     0,     0,     0,   372,
1737 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   349,
1738 >     350,   351,   352,   353,   354,   356,   355,   358,   362,   359,
1739 >     360,   361,   357,   406,     0,     0,     0,   403,   404,   405,
1740 >       0,     0,   410,   427,     0,     0,   417,   426,     0,   423,
1741 >     424,   425,     0,     0,     0,     0,     0,     0,     0,     0,
1742         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1810       0,    92,    45,     0,     0,     0,    41,     0,     0,     0,
1811       0,     0,     0,   293,   294,   295,   296,     0,     0,     0,
1812       0,     0,     0,     0,     0,   671,    63,     0,     0,     0,
1743         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1814      49,     0,     0,   311,     0,     0,   304,   305,   306,   307,
1815       0,     0,   334,     0,   329,   330,   331,     0,     0,     0,
1816      81,     0,     0,     0,     0,     0,    26,     0,     0,     0,
1744         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1818     630,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1819       0,     0,     0,     0,     0,     0,   199,   200,   203,   204,
1820     206,   207,   208,   209,   210,   211,   212,   201,   202,   205,
1821       0,     0,     0,     0,     0,     0,   379,     0,     0,     0,
1822       0,     0,     0,     0,     0,     0,   354,   355,   356,   357,
1823     358,   359,   361,   360,   362,   367,   366,   363,   364,   365,
1824     368,     0,     0,     0,   415,     0,   422,     0,     0,     0,
1825       0,   435,     0,     0,     0,     0,     0,     0,     0,     0,
1745         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1746 +       0,     0,     0,     0,   431,   594,   605,     0,     0,   597,
1747 +       0,     0,     0,   587,   588,   589,   590,   591,   592,   593,
1748 +       0,     0,     0,   267,     0,     0,     0,     0,     0,     0,
1749 +     253,   254,   255,   256,   261,   257,   258,   259,   260,   397,
1750 +       0,   387,     0,   396,     0,   393,   394,   395,     0,   228,
1751 +       0,     0,     0,   238,     0,   236,   237,   239,   240,   106,
1752 +       0,     0,   102,     0,    46,     0,     0,     0,    42,     0,
1753 +       0,     0,   173,     0,     0,     0,   149,     0,     0,   133,
1754 +     134,   135,   136,   139,   140,   138,   137,   141,     0,     0,
1755 +       0,     0,     0,   286,   287,   288,   289,     0,     0,     0,
1756 +       0,     0,     0,     0,     0,   652,    67,     0,     0,     0,
1757         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1758 +       0,     0,     0,    50,     0,     0,   310,     0,     0,   303,
1759 +     304,   305,   306,     0,     0,   332,     0,   327,   328,   329,
1760 +       0,     0,   295,     0,     0,     0,    91,     0,     0,     0,
1761 +       0,     0,    27,     0,     0,     0,     0,     0,     0,     0,
1762 +       0,     0,     0,     0,     0,     0,   611,   212,     0,     0,
1763         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1764 +       0,     0,   197,   363,     0,     0,     0,     0,     0,     0,
1765 +       0,     0,     0,     0,     0,     0,     0,     0,   348,     0,
1766 +       0,     0,   402,     0,   409,     0,     0,     0,     0,   422,
1767         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1830       0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
1831     443,     0,     0,     0,     0,     0,     0,     0,   605,   264,
1832       0,     0,     0,     0,     0,     0,     0,     0,     0,   254,
1833       0,     0,     0,     0,   405,   243,     0,     0,     0,     0,
1834       0,   237,     0,     0,     0,     0,     0,     0,     0,     0,
1768         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1836      91,     0,     0,    40,     0,     0,     0,   170,     0,     0,
1837       0,   147,     0,     0,   130,   131,   132,   133,   136,   137,
1838     135,   134,   138,   297,     0,     0,     0,     0,   292,     0,
1839       0,     0,     0,     0,     0,     0,   670,     0,     0,     0,
1840       0,     0,     0,     0,     0,     0,     0,     0,     0,    48,
1841     308,     0,     0,     0,     0,   303,   332,     0,     0,     0,
1842     328,    90,    89,    88,   667,   664,   663,   652,   654,    26,
1843      26,    26,    26,    26,    28,    27,   658,   659,   662,   660,
1844     665,   666,   668,   669,   661,   653,   655,   656,   657,   213,
1769         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1846       0,     0,     0,     0,   198,   369,     0,     0,     0,     0,
1770         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1771 <       0,   353,     0,     0,   414,   427,     0,     0,     0,   429,
1772 <     514,   518,   505,   534,   547,   546,   601,   551,   512,   543,
1773 <     549,   513,   503,   504,   521,   510,   542,   511,   524,   509,
1774 <     523,   522,   517,   516,   515,   544,   502,   541,   599,   600,
1775 <     538,   535,   580,   596,   597,   581,   582,   583,   584,   591,
1776 <     585,   594,   598,   587,   592,   588,   593,   586,   590,   589,
1777 <     595,     0,   579,   540,   557,   573,   574,   558,   559,   560,
1778 <     561,   568,   562,   571,   575,   564,   569,   565,   570,   563,
1779 <     567,   566,   572,     0,   556,   533,   536,   550,   507,   545,
1780 <     508,   537,   526,   531,   532,   529,   530,   527,   528,   520,
1781 <     519,    34,    34,    34,    36,    35,   602,   552,   539,   548,
1782 <     506,   525,     0,     0,     0,     0,     0,     0,   604,     0,
1783 <       0,   275,     0,     0,     0,     0,     0,   253,     0,     0,
1784 <       0,   399,     0,     0,     0,   248,   244,   247,   229,   110,
1862 <     116,   114,   113,   115,   111,   112,   109,   117,   123,   118,
1863 <     122,   120,   121,   119,   108,   107,   124,    46,    47,   139,
1864 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   129,
1865 <       0,     0,     0,   291,   686,   681,   685,   683,   687,   682,
1866 <     684,    74,    80,    72,    76,    75,    71,    70,    68,    69,
1867 <       0,    67,    73,    79,    77,    78,     0,     0,     0,   302,
1868 <       0,     0,   327,    29,    30,    31,    32,    33,     0,     0,
1771 >       0,     0,     0,     0,     0,     0,    35,     0,     0,     0,
1772 >       0,     0,     0,     0,   430,     0,     0,     0,     0,     0,
1773 >       0,     0,   586,   262,     0,     0,     0,     0,     0,     0,
1774 >       0,     0,     0,   252,     0,     0,     0,     0,   392,   241,
1775 >       0,     0,     0,     0,     0,   235,     0,   101,     0,     0,
1776 >       0,    41,   142,     0,     0,     0,     0,     0,     0,     0,
1777 >       0,     0,   132,   290,     0,     0,     0,     0,   285,     0,
1778 >       0,     0,     0,     0,     0,     0,   651,     0,     0,     0,
1779 >       0,     0,     0,     0,     0,    72,    73,     0,    71,    76,
1780 >      77,     0,    75,     0,     0,     0,     0,     0,    49,   307,
1781 >       0,     0,     0,     0,   302,   330,     0,     0,     0,   326,
1782 >       0,   294,   100,    99,    98,   648,   645,   644,   633,   635,
1783 >      27,    27,    27,    27,    27,    29,    28,   639,   640,   643,
1784 >     641,   646,   647,   649,   650,   642,   634,   636,   637,   638,
1785         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1786 <       0,   195,     0,     0,     0,     0,     0,     0,   385,     0,
1787 <       0,     0,     0,     0,     0,     0,     0,   350,   420,   421,
1788 <     441,   442,   434,     0,   433,   577,     0,   554,     0,    37,
1789 <      38,    39,   629,   628,     0,   627,   615,   614,   621,   620,
1790 <       0,   619,   623,   622,   267,   268,   273,     0,   272,     0,
1791 <     266,   289,   288,   287,   265,   412,   404,     0,   403,   411,
1792 <     235,   236,   234,     0,   233,   251,   250,     0,     0,     0,
1793 <       0,     0,   176,     0,     0,     0,     0,     0,   126,   299,
1794 <     300,   298,    65,     0,   309,   315,   321,   325,   324,   323,
1795 <     320,   316,   319,   322,   317,   318,     0,   314,   310,   333,
1796 <     338,   344,   348,   347,   346,   343,   339,   342,   345,   340,
1797 <     341,     0,   337,   225,   226,   219,   221,   223,   222,   220,
1798 <     214,   227,   218,   216,   217,   224,   375,   377,   378,   397,
1799 <     396,   393,   383,     0,   382,     0,   372,   394,   395,   370,
1800 <     376,   392,   374,   373,   431,     0,   578,   555,   625,     0,
1801 <     617,     0,     0,   270,   275,   281,   282,   278,   284,   280,
1802 <     279,   286,   283,   285,   277,   276,   401,     0,   231,     0,
1803 <     249,   246,   245,   146,   144,   174,     0,   173,     0,   140,
1804 <     143,   145,   151,   167,   168,   152,   153,   154,   155,   162,
1805 <     156,   165,   169,   158,   163,   159,   164,   157,   161,   160,
1806 <     166,     0,   150,   142,    66,   312,     0,   335,     0,     0,
1807 <     380,   385,   389,   390,   387,   388,   391,   386,   432,   626,
1808 <     618,   274,   271,   402,   232,     0,   171,   176,   186,   184,
1809 <     193,   183,   178,   187,   191,   180,   188,   190,   185,   179,
1810 <     192,   189,   181,   182,   177,   148,     0,   313,   336,   384,
1811 <     381,   175,   172,   149
1786 >       0,     0,     0,   196,     0,     0,     0,     0,     0,     0,
1787 >       0,     0,     0,     0,     0,     0,     0,     0,   347,     0,
1788 >       0,   401,   414,     0,     0,     0,   416,   496,   500,   516,
1789 >     582,   530,   494,   524,   527,   495,   486,   487,   503,   492,
1790 >     493,   506,   491,   505,   504,   499,   498,   497,   525,   485,
1791 >     523,   580,   581,   520,   517,   567,   560,   577,   578,   561,
1792 >     562,   563,   564,   572,   565,   575,   579,   568,   573,   569,
1793 >     574,   566,   571,   570,   576,     0,   559,   522,   542,   536,
1794 >     553,   554,   537,   538,   539,   540,   548,   541,   551,   555,
1795 >     544,   549,   545,   550,   543,   547,   546,   552,     0,   535,
1796 >     515,   518,   529,   489,   490,   519,   508,   513,   514,   511,
1797 >     512,   509,   510,   502,   501,    35,    35,    35,    37,    36,
1798 >     583,   528,   531,   521,   526,   488,   507,     0,     0,     0,
1799 >       0,     0,     0,   585,     0,     0,     0,     0,     0,     0,
1800 >       0,     0,   251,     0,     0,     0,   386,     0,     0,     0,
1801 >     246,   242,   245,   227,   107,     0,     0,   119,     0,     0,
1802 >     111,   112,   114,   113,    47,    48,     0,     0,     0,     0,
1803 >       0,     0,     0,     0,   131,     0,     0,     0,   284,   667,
1804 >     662,   666,   664,   668,   663,   665,    84,    90,    82,    86,
1805 >      85,    79,    78,    80,    68,     0,    69,     0,    83,    81,
1806 >      89,    87,    88,     0,     0,     0,   301,     0,     0,   325,
1807 >     299,    30,    31,    32,    33,    34,   223,   224,   217,   219,
1808 >     221,   220,   218,   213,   225,   216,   214,   215,   222,   368,
1809 >     370,   371,   383,   380,   376,   377,   379,   378,     0,   375,
1810 >     365,   381,   382,   364,   369,   367,   384,   366,   407,   408,
1811 >     428,   429,   421,     0,   420,   557,     0,   533,     0,    38,
1812 >      39,    40,   610,   609,     0,   608,   596,   595,   602,   601,
1813 >       0,   600,   604,   603,   265,   266,   275,   272,   277,   274,
1814 >     273,   279,   276,   278,   271,     0,   270,   264,   282,   281,
1815 >     280,   263,   399,   391,     0,   390,   398,   233,   234,   232,
1816 >       0,   231,   249,   248,     0,     0,     0,   115,     0,     0,
1817 >       0,     0,   110,   148,   146,   188,   185,   184,   177,   179,
1818 >     194,   189,   192,   187,   178,   193,   181,   190,   182,   191,
1819 >     186,   180,   183,     0,   176,   143,   145,   147,   159,   153,
1820 >     170,   171,   154,   155,   156,   157,   165,   158,   168,   172,
1821 >     161,   166,   162,   167,   160,   164,   163,   169,     0,   152,
1822 >     144,   292,   293,   291,    70,    74,   308,   314,   320,   323,
1823 >     316,   322,   317,   321,   319,   315,   318,     0,   313,   309,
1824 >     331,   336,   342,   345,   338,   344,   339,   343,   341,   337,
1825 >     340,     0,   335,   373,     0,   418,     0,   558,   534,   606,
1826 >       0,   598,     0,   268,     0,   388,     0,   229,     0,   247,
1827 >     244,   243,     0,     0,     0,     0,   109,   174,     0,   150,
1828 >       0,   311,     0,   333,     0,   374,   419,   607,   599,   269,
1829 >     389,   230,   116,   125,   128,   127,   124,   129,   126,   123,
1830 >       0,   122,   118,   117,   175,   151,   312,   334,   120,     0,
1831 >     121
1832   };
1833  
1834   /* YYDEFGOTO[NTERM-NUM].  */
1835   static const yytype_int16 yydefgoto[] =
1836   {
1837 <      -1,     1,    24,   834,   835,   984,   985,    25,   275,   276,
1838 <     277,   278,    26,   313,   314,   315,   534,  1070,  1071,   316,
1839 <     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1840 <      27,    71,    72,    73,    74,    75,    28,   258,   259,   260,
1841 <     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1842 <     271,    29,    61,   280,   773,   774,   775,   281,   776,   777,
1843 <     778,   779,   780,   781,  1046,  1301,  1302,   782,  1042,  1276,
1844 <    1277,  1325,  1278,  1344,    30,    49,   116,   595,   596,   597,
1845 <     117,   598,   599,   600,   601,   602,   603,   604,   605,   606,
1846 <     607,   608,   609,    31,    58,   481,   736,  1163,  1164,   482,
1847 <     483,   484,  1169,  1016,  1017,   485,   486,    32,    56,   457,
1848 <     458,   459,   460,   461,   462,   463,   722,  1147,  1148,  1252,
1849 <    1149,  1265,   464,   465,   466,    33,    62,   512,   513,   514,
1850 <     515,   516,    34,    65,   545,   546,   547,   548,   549,   812,
1851 <    1196,  1197,    35,    66,   553,   554,   555,   556,   818,  1211,
1852 <    1212,    36,    50,   119,   625,   626,   627,   120,   628,   629,
1853 <     630,   631,   632,   633,   634,   871,  1233,  1234,  1309,  1235,
1854 <    1317,   635,   636,   637,   638,   639,   640,    37,    57,   471,
1855 <     731,  1157,  1158,   472,   473,   474,   475,    38,    51,   360,
1856 <     361,   362,   363,    39,   124,   125,   126,    40,    53,   371,
1857 <     649,  1123,  1124,   372,   373,   374,   375,    41,   184,   185,
1858 <     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1859 <     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1860 <     206,   207,   208,   209,   210,   211,   212,   213,   214,   215,
1861 <     216,   217,   218,   219,   220,   221,   222,   223,   224,   225,
1862 <     226,   227,   228,   229,   230,   231,   232,   233,   234,   235,
1863 <     410,   963,   964,   236,   408,   941,   942,   237,   238,   239,
1864 <     240,    42,    55,   440,   441,   442,   443,   444,   714,  1140,
1865 <    1141,   445,   446,   447,   711,  1134,  1135,    43,    95,    96,
1866 <      97,    98,    99,   100,   101,   102,   103,   104,   105,   106,
1867 <     107,   108,   109,   110,   111,   112,   113,   114,    44,   291,
1932 <     292,   293,   294,   295,   296,   297,   298,   299
1837 >      -1,     1,    25,   835,   836,   978,   979,    26,   246,   247,
1838 >     248,   249,    27,   285,   286,   287,   288,   797,   798,   801,
1839 >     802,   289,   290,   291,   292,   293,   294,   295,   296,   297,
1840 >     298,   299,   300,   301,    28,    74,    75,    76,    77,    78,
1841 >      29,   238,   239,   240,   241,   242,  1019,  1020,  1021,  1022,
1842 >    1023,  1169,  1300,  1301,    30,    63,   538,   539,   540,   541,
1843 >     542,   543,   544,   545,   546,   769,  1218,  1219,   547,   765,
1844 >    1193,  1194,    31,    51,   349,   350,   351,   352,   353,   354,
1845 >     355,   356,   357,   358,   359,   360,   361,   362,   363,    32,
1846 >      60,   513,   750,  1160,  1161,   514,   515,   516,  1166,  1011,
1847 >    1012,   517,   518,    33,    58,   489,   490,   491,   492,   493,
1848 >     494,   495,   736,  1145,  1146,   496,   497,   498,    34,    64,
1849 >     552,   553,   554,   555,   556,    35,   306,   307,   308,    36,
1850 >      67,   588,   589,   590,   591,   592,   811,  1237,  1238,    37,
1851 >      68,   596,   597,   598,   599,   817,  1251,  1252,    38,    52,
1852 >     378,   379,   380,   381,   382,   383,   384,   385,   386,   387,
1853 >     648,  1098,  1099,   388,   389,   390,   391,   392,    39,    59,
1854 >     503,   745,  1154,  1155,   504,   505,   506,   507,    40,    53,
1855 >     396,   397,   398,   399,    41,   123,   124,   125,    42,    55,
1856 >     407,   667,  1113,  1114,   408,   409,   410,   411,    43,   179,
1857 >     180,   181,   182,   183,   184,   185,   186,   187,   188,   189,
1858 >     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1859 >     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1860 >     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1861 >     220,   221,   222,   223,   224,   225,   226,   442,   958,   959,
1862 >     227,   440,   935,   936,   228,   229,   230,   231,    44,    57,
1863 >     472,   473,   474,   475,   476,   728,  1130,  1131,   477,   478,
1864 >     479,   725,  1124,  1125,    45,    98,    99,   100,   101,   102,
1865 >     103,   104,   105,   106,   107,   108,   109,   110,   111,   112,
1866 >     113,   114,   115,   116,   117,    46,   260,   261,   262,   263,
1867 >     264,   265,   266,   267,   268
1868   };
1869  
1870   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1871     STATE-NUM.  */
1872 < #define YYPACT_NINF -949
1872 > #define YYPACT_NINF -560
1873   static const yytype_int16 yypact[] =
1874   {
1875 <    -949,   670,  -949,  -256,  -248,  -245,  -949,  -949,  -949,  -212,
1876 <    -949,  -205,  -949,  -949,  -949,  -949,  -189,  -183,  -949,  -949,
1877 <    -154,  -152,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1878 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1879 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,    22,   642,  -127,
1880 <     -31,  -132,     5,  -125,   415,  -119,   -98,   -89,   -86,   578,
1881 <      14,    -8,   -75,   664,   313,   -74,   -61,   -45,   -46,   -37,
1882 <     -23,    31,  -949,  -949,  -949,  -949,  -949,   -22,    15,    30,
1883 <      33,    41,    42,    47,    48,    50,    61,    62,    70,    78,
1884 <      79,    80,    86,    90,    93,    94,  -949,  -949,  -949,  -949,
1885 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1886 <    -949,  -949,  -949,  -949,  -949,  -949,   -44,  -949,  -949,    89,
1887 <    -949,    20,  -949,    99,     2,  -949,  -949,   140,  -949,   100,
1888 <     104,   106,   111,   113,   115,   122,   123,   126,   127,   128,
1889 <     129,   131,   133,   135,   136,   137,   145,   147,   148,   151,
1890 <     155,   156,   157,   159,   163,   165,   167,   169,   174,   175,
1891 <     177,  -949,   178,  -949,   186,   187,   188,   193,   194,   197,
1892 <     199,   200,   205,   206,   209,   210,   211,   212,   213,   214,
1893 <     219,   220,   225,   228,    10,  -949,  -949,  -949,  -949,  -949,
1894 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1895 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1896 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1897 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1898 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1899 <    -949,   364,   308,    92,   318,    17,   229,   230,   231,   232,
1900 <     236,   237,   241,   242,   244,   245,   248,   250,   226,  -949,
1901 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1902 <    -949,  -949,    63,   251,   252,    60,  -949,  -949,  -949,  -949,
1903 <     182,  -949,    24,  -949,   253,   254,   255,   260,   270,   271,
1904 <     272,   192,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1905 <      72,   273,   274,   275,   276,   279,   281,   282,  -949,   285,
1906 <     286,   287,   288,   132,  -949,  -949,  -949,  -949,  -949,  -949,
1907 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,   183,   102,  -949,
1908 <     222,   293,   336,   299,  -949,   198,   431,   432,   368,   369,
1909 <     436,   436,   440,   441,   376,   379,   446,   436,   381,   390,
1910 <     391,   392,   393,   332,  -949,   726,   521,  -949,   330,   331,
1911 <      76,  -949,  -949,  -949,   442,   338,  -949,  -949,   333,   337,
1912 <    -949,  -949,    57,  -949,  -949,  -949,   404,   436,   408,   436,
1913 <     482,   461,   486,   423,   424,   491,   470,   429,   496,   497,
1914 <     498,   434,   436,   445,   447,   436,   493,   450,   517,   518,
1915 <     436,   522,   523,   499,   526,   528,   463,   464,   400,   469,
1916 <     405,   436,   436,   475,   436,   514,   488,   489,   492,  -131,
1917 <    -110,   494,   501,   436,   436,   548,   436,   504,   505,   506,
1918 <     510,   428,  -949,  -949,  -949,   420,   427,  -949,   430,   448,
1919 <     112,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   435,   454,
1920 <     457,  -949,   459,   462,   465,   466,   467,   118,  -949,  -949,
1921 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   468,  -949,
1922 <     472,  -949,    74,  -949,  -949,  -949,   449,  -949,   474,   483,
1923 <     490,  -949,    29,  -949,  -949,  -949,  -949,  -949,   555,   557,
1924 <     560,   571,   573,   579,   599,   601,   360,   602,   604,   561,
1925 <     502,  -949,  -949,   608,   611,   507,  -949,   305,   511,   503,
1926 <     512,   515,   152,  -949,  -949,  -949,  -949,   568,   577,   580,
1927 <     626,   583,   584,   436,   524,  -949,  -949,   634,   586,   637,
1928 <     638,   639,   640,   641,   532,   646,   672,   648,   651,   547,
1929 <    -949,   551,   549,  -949,   550,    69,  -949,  -949,  -949,  -949,
1930 <     558,   556,  -949,    75,  -949,  -949,  -949,   562,   563,   564,
1931 <    -949,   565,   566,   569,   572,   576,   207,   582,   587,   588,
1932 <     589,   592,   593,   594,   597,   598,   603,   607,   609,   610,
1933 <    -949,   615,   574,   581,   605,   616,   617,   618,   619,   620,
1934 <     622,   623,   624,   625,   628,   116,  -949,  -949,  -949,  -949,
1935 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1936 <     629,   632,   645,   649,   650,   652,  -949,   653,   654,   655,
1937 <     656,   660,   665,   667,   668,   160,  -949,  -949,  -949,  -949,
1938 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1939 <    -949,   675,   686,   678,  -949,   681,  -949,   687,   690,   682,
1940 <     688,  -949,   689,   691,   693,   694,   695,   696,   700,   704,
1941 <     705,   707,   708,   715,   718,   722,   723,   725,   727,   728,
1942 <     730,   731,   732,   733,   737,   741,   742,   744,   745,   747,
1943 <     748,   749,   750,   751,   692,   752,   729,   753,   754,   755,
1944 <     756,   757,   758,   759,   760,   761,   762,   763,   764,   765,
1945 <     767,   768,   769,    49,   770,   771,   772,   773,   774,   775,
1946 <    -949,   683,   436,   712,   776,   709,   711,   777,  -949,  -949,
1947 <     797,   714,   778,   799,   783,   833,   836,   873,   780,  -949,
1948 <     883,   779,   885,   784,  -949,  -949,   782,   890,   893,   796,
1949 <     787,  -949,   788,   789,   790,   791,   792,   793,   794,   795,
1950 <     798,   800,   801,   802,   803,   804,   805,   806,   807,   808,
1951 <    -949,   809,   810,  -949,   811,   812,   813,  -949,   814,   815,
1952 <     816,  -949,   817,   181,  -949,  -949,  -949,  -949,  -949,  -949,
1953 <    -949,  -949,  -949,  -949,   903,   904,   906,   821,  -949,   822,
1954 <     823,   824,   825,   826,   827,   828,  -949,   829,   830,   831,
1955 <     832,   834,   835,   837,   -80,   838,   839,   840,   841,  -949,
1956 <    -949,   919,   842,   920,   843,  -949,  -949,   921,   844,   846,
1957 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   436,
1958 <     436,   436,   436,   436,  -949,  -949,  -949,  -949,  -949,  -949,
1959 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1960 <     962,   965,   436,   971,   973,   977,   978,   957,   980,   981,
1961 <     436,   436,   548,   853,  -949,  -949,   961,  -117,   963,   964,
1962 <     918,   855,   966,   967,   968,   969,   992,   972,   974,   975,
1963 <     864,  -949,   866,   869,  -949,  -949,   870,   871,   662,  -949,
1964 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1965 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1966 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1967 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1968 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1969 <    -949,  -244,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1970 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1971 <    -949,  -949,  -949,  -236,  -949,  -949,  -949,  -949,  -949,  -949,
1972 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1973 <    -949,   548,   548,   548,  -949,  -949,  -949,  -949,  -949,  -949,
1974 <    -949,  -949,    -3,   872,   874,    -2,   875,   876,  -949,   877,
1975 <     878,  1003,   879,   880,   881,   882,   884,  -949,   886,   703,
1976 <     887,  -949,   -63,   888,   889,   676,   891,  -949,  -949,  -949,
1977 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1978 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1979 <     990,   948,   894,   997,   998,   999,   895,  1000,   896,  -949,
1980 <     899,   900,   901,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1981 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1982 <    -224,  -949,  -949,  -949,  -949,  -949,   902,   570,   905,  -949,
1983 <     907,   627,  -949,  -949,  -949,  -949,  -949,  -949,   908,   909,
1984 <     910,   911,   912,   913,   914,   915,   916,   917,   922,   923,
1985 <     924,  -949,   925,   926,   927,   928,   929,   930,  1024,   931,
1986 <     932,   933,   934,   935,   936,   937,   938,  -949,  -949,  -949,
1987 <    -949,  -949,  -949,  -219,  -949,  -949,   692,  -949,   729,  -949,
1988 <    -949,  -949,  -949,  -949,  -216,  -949,  -949,  -949,  -949,  -949,
1989 <    -213,  -949,  -949,  -949,  -949,  -949,  -949,  -158,  -949,   630,
1990 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -149,  -949,  -949,
1991 <    -949,  -949,  -949,  -129,  -949,  -949,  -949,  1032,   796,   939,
1992 <     940,   941,  1034,   942,   943,   944,   766,   945,  -949,  -949,
1993 <    -949,  -949,  -949,   -80,  -949,  -949,  -949,  -949,  -949,  -949,
1994 <    -949,  -949,  -949,  -949,  -949,  -949,  -106,  -949,  -949,  -949,
1995 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1996 <    -949,   -25,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1997 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
1998 <    -949,  -949,  -949,    38,  -949,     0,  -949,  -949,  -949,  -949,
1999 <    -949,  -949,  -949,  -949,  -949,   662,  -949,  -949,  -949,    -3,
2000 <    -949,    -2,   630,  -949,  1003,  -949,  -949,  -949,  -949,  -949,
2001 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,   703,  -949,   -63,
2002 <    -949,  -949,  -949,  -949,  -949,  -949,    56,  -949,   553,  -949,
2003 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2004 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2005 <    -949,    88,  -949,  -949,  -949,  -949,   570,  -949,   627,     0,
2006 <    -949,  1024,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2072 <    -949,  -949,  -949,  -949,  -949,   553,  -949,  1034,  -949,  -949,
2073 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2074 <    -949,  -949,  -949,  -949,  -949,  -949,   766,  -949,  -949,  -949,
2075 <    -949,  -949,  -949,  -949
1875 >    -560,   667,  -560,  -206,  -223,  -221,  -560,  -560,  -560,  -218,
1876 >    -560,  -191,  -560,  -560,  -560,  -560,  -189,  -183,  -560,  -560,
1877 >    -154,  -136,  -560,  -560,  -133,  -560,  -560,  -560,  -560,  -560,
1878 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1879 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    42,
1880 >     544,  -115,  -109,   -80,    32,   -72,   375,   -70,   -53,   -51,
1881 >     -33,    60,    87,   -20,   -18,   324,   334,    -5,    -3,    20,
1882 >     -89,    17,    35,    51,     9,  -560,  -560,  -560,  -560,  -560,
1883 >      61,    63,    73,    79,    96,   111,   117,   125,   131,   136,
1884 >     137,   152,   154,   156,   159,   162,   170,   175,   180,  -560,
1885 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1886 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   709,   461,
1887 >      98,  -560,   195,    10,  -560,  -560,   266,  -560,   198,   199,
1888 >     202,   203,   206,   213,   214,   216,   217,   219,   229,   230,
1889 >     231,   232,   242,   243,   246,   250,   253,   256,   257,   259,
1890 >     261,   263,   265,   268,   275,   276,  -560,   277,  -560,   281,
1891 >     282,   284,   287,   291,   293,   295,   296,   299,   300,   307,
1892 >     314,   315,   316,   318,   319,   321,   322,   323,   327,   110,
1893 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1894 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1895 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1896 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1897 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1898 >    -560,  -560,     2,   509,    16,   326,    57,   330,    36,  -560,
1899 >    -560,  -560,     7,    77,   331,   332,    28,  -560,  -560,  -560,
1900 >     279,   211,  -560,   335,   338,   339,   341,   342,   343,   344,
1901 >       3,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   200,
1902 >     345,   346,   348,   349,   352,   355,   356,   357,   358,   360,
1903 >     362,   363,   365,   366,   367,    74,  -560,  -560,  -560,  -560,
1904 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1905 >    -560,  -560,   197,     6,  -560,   368,    46,  -560,  -560,  -560,
1906 >     140,   173,   392,   329,  -560,   438,   328,   505,   441,   445,
1907 >     514,   514,   515,   516,   451,   452,   521,   514,   456,   457,
1908 >     459,   460,   462,   396,  -560,   398,   397,   401,   402,   403,
1909 >     404,   408,   409,   410,   411,   412,   413,   415,   416,     4,
1910 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1911 >    -560,  -560,  -560,  -560,   399,   417,   418,   419,   420,  -560,
1912 >     425,   426,   429,   430,   431,   433,   435,   436,   290,  -560,
1913 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1914 >    -560,  -560,  -560,  -560,   439,   440,    11,  -560,  -560,  -560,
1915 >     511,   446,  -560,  -560,   442,   449,  -560,  -560,    12,  -560,
1916 >    -560,  -560,   522,   514,   514,   590,   525,   526,   593,   573,
1917 >     532,   597,   599,   601,   546,   550,   551,   514,   598,   552,
1918 >     624,   627,   514,   628,   630,   610,   636,   637,   572,   575,
1919 >     508,   577,   510,   514,   514,   579,   514,   580,   583,   584,
1920 >    -105,   -99,   585,   586,   514,   514,   653,   633,   514,   589,
1921 >     592,   594,   595,   528,  -560,  -560,  -560,   533,   534,  -560,
1922 >     535,   536,    14,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1923 >     540,   539,   541,  -560,   543,   545,   547,   548,   549,    33,
1924 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1925 >     555,  -560,   556,  -560,    22,  -560,  -560,  -560,   553,  -560,
1926 >     558,   559,   560,  -560,     8,  -560,  -560,  -560,  -560,  -560,
1927 >     596,   554,  -560,   212,  -560,   645,   657,   564,  -560,   565,
1928 >     563,   566,  -560,   567,   568,   569,  -560,   570,    15,  -560,
1929 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   574,   576,
1930 >     581,   582,    27,  -560,  -560,  -560,  -560,   608,   614,   632,
1931 >     685,   641,   643,   514,   588,  -560,  -560,   692,   648,   699,
1932 >     702,   703,   704,   705,   708,   -63,   -49,   710,   711,   730,
1933 >     712,   713,   604,  -560,   611,   607,  -560,   612,    97,  -560,
1934 >    -560,  -560,  -560,   619,   617,  -560,    30,  -560,  -560,  -560,
1935 >     724,   622,  -560,   631,   634,   635,  -560,   654,   656,   660,
1936 >     664,   665,   272,   676,   677,   681,   684,   693,   695,   696,
1937 >     698,   701,   706,   707,   714,   715,  -560,  -560,   761,   764,
1938 >     514,   767,   768,   776,   779,   763,   823,   828,   514,   514,
1939 >     653,   716,  -560,  -560,   809,   -75,   812,   770,   700,   818,
1940 >     819,   820,   821,   843,   827,   829,   830,   718,  -560,   831,
1941 >     832,   723,  -560,   726,  -560,   834,   835,   728,   727,  -560,
1942 >     729,   732,   733,   734,   735,   736,   737,   739,   740,   741,
1943 >     742,   743,   744,   745,   746,   747,   748,   749,   750,   751,
1944 >     752,   753,   754,   755,   756,   757,   758,   759,   663,   760,
1945 >     697,   762,   765,   766,   769,   771,   772,   773,   774,   775,
1946 >     777,   778,   780,   782,   783,   784,    54,   785,   786,   787,
1947 >     788,   789,   790,   791,  -560,   792,   514,   793,   794,   871,
1948 >     873,   796,  -560,  -560,   874,   833,   795,   877,   844,   880,
1949 >     886,   889,   800,  -560,   902,   798,   903,   802,  -560,  -560,
1950 >     801,   904,   913,   936,   806,  -560,   807,  -560,   194,   808,
1951 >     810,  -560,  -560,   919,   876,   811,   922,   923,   925,   813,
1952 >     927,   822,  -560,  -560,   928,   929,   930,   824,  -560,   825,
1953 >     826,   836,   837,   838,   839,   840,  -560,   841,   842,   845,
1954 >     846,   847,   848,   849,   850,  -560,  -560,  -199,  -560,  -560,
1955 >    -560,  -196,  -560,   851,   852,   853,   854,   855,  -560,  -560,
1956 >     931,   856,   933,   857,  -560,  -560,   937,   858,   860,  -560,
1957 >     862,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1958 >     514,   514,   514,   514,   514,  -560,  -560,  -560,  -560,  -560,
1959 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1960 >     863,   864,   865,   866,   867,   868,   869,   872,   875,   878,
1961 >     879,   881,   882,  -560,   883,   884,   885,   887,   888,   141,
1962 >     890,   891,   892,   893,   894,   895,   896,   897,  -560,   898,
1963 >     899,  -560,  -560,   900,   901,   934,  -560,  -560,  -560,  -560,
1964 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1965 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1966 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1967 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1968 >    -560,  -560,  -560,  -560,  -560,  -182,  -560,  -560,  -560,  -560,
1969 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1970 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   -30,  -560,
1971 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1972 >    -560,  -560,  -560,  -560,  -560,   653,   653,   653,  -560,  -560,
1973 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,    13,   905,   906,
1974 >      21,   907,   908,  -560,   909,   910,   870,   911,   912,   914,
1975 >     915,   916,  -560,   917,   935,   918,  -560,   -47,   920,   921,
1976 >     940,   924,  -560,  -560,  -560,   926,   932,  -560,   938,    89,
1977 >    -560,  -560,  -560,  -560,  -560,  -560,   939,   942,   479,   943,
1978 >     944,   945,   725,   946,  -560,   947,   948,   949,  -560,  -560,
1979 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1980 >    -560,  -560,  -560,  -560,  -560,   -63,  -560,   -49,  -560,  -560,
1981 >    -560,  -560,  -560,   950,   507,   951,  -560,   952,   531,  -560,
1982 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1983 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1984 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    -6,  -560,
1985 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1986 >    -560,  -560,  -560,    65,  -560,  -560,   663,  -560,   697,  -560,
1987 >    -560,  -560,  -560,  -560,   100,  -560,  -560,  -560,  -560,  -560,
1988 >     101,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1989 >    -560,  -560,  -560,  -560,  -560,   106,  -560,  -560,  -560,  -560,
1990 >    -560,  -560,  -560,  -560,   109,  -560,  -560,  -560,  -560,  -560,
1991 >     112,  -560,  -560,  -560,   959,   936,   953,  -560,   941,   954,
1992 >     -91,   955,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1993 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1994 >    -560,  -560,  -560,   123,  -560,  -560,  -560,  -560,  -560,  -560,
1995 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1996 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   126,  -560,
1997 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
1998 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,   133,  -560,  -560,
1999 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2000 >    -560,   148,  -560,  -560,   141,  -560,   934,  -560,  -560,  -560,
2001 >      13,  -560,    21,  -560,   870,  -560,   935,  -560,   -47,  -560,
2002 >    -560,  -560,   956,   262,   958,   960,  -560,  -560,   479,  -560,
2003 >     725,  -560,   507,  -560,   531,  -560,  -560,  -560,  -560,  -560,
2004 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2005 >     150,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,   262,
2006 >    -560
2007   };
2008  
2009   /* YYPGOTO[NTERM-NUM].  */
2010   static const yytype_int16 yypgoto[] =
2011   {
2012 <    -949,  -949,  -949,  -427,  -340,  -948,  -423,  -949,  -949,   946,
2013 <    -949,  -949,  -949,  -949,   865,  -949,  -949,  -949,  -293,  -949,
2014 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2015 <    -949,  -949,  1095,  -949,  -949,  -949,  -949,  -949,   643,  -949,
2016 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2017 <    -949,  -949,  -949,  -949,  -949,   406,  -949,  -949,  -949,  -949,
2018 <    -949,  -949,  -949,  -949,  -949,  -949,  -166,  -949,  -949,  -949,
2019 <    -146,  -949,  -949,  -118,  -949,  -949,  -949,  -949,   613,  -949,
2020 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2021 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   -60,  -949,
2022 <     724,  -949,  -949,  -949,    43,  -949,  -949,  -949,  -949,  -949,
2023 <     781,  -949,  -949,  -949,  -949,  -949,  -949,  -949,   -42,  -949,
2024 <    -949,   -39,  -949,  -949,  -949,  -949,  -949,  -949,   698,  -949,
2025 <    -949,  -949,  -949,  -949,  -949,   669,  -949,  -949,  -949,  -949,
2026 <    -949,   -91,  -949,  -949,  -949,   663,  -949,  -949,  -949,  -949,
2027 <     -90,  -949,  -949,  -949,  -949,   595,  -949,  -949,  -949,  -949,
2028 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,   -94,  -949,  -949,
2029 <     -87,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2030 <    -949,  -949,   -48,  -949,   785,  -949,  -949,  -949,  -949,  -949,
2031 <     863,  -949,  -949,  -949,  -949,  1100,  -949,  -949,  -949,  -949,
2032 <    -949,  -949,   -20,  -949,   854,  -949,  -949,  -949,  -949,  1043,
2033 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2034 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2035 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2036 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2037 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2038 <    -949,  -949,   101,  -949,  -949,  -949,   105,  -949,  -949,  -949,
2039 <    -949,  -949,  -949,  -949,   818,  -949,  -949,  -949,  -949,  -949,
2040 <     -21,  -949,  -949,  -949,  -949,  -949,   -17,  -949,  -949,  1133,
2041 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2042 <    -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,  -949,
2112 <     949,  -949,  -949,  -949,  -949,  -949,  -949,  -949
2012 >    -560,  -560,  -560,  -316,  -319,  -559,  -456,  -560,  -560,   957,
2013 >    -560,  -560,  -560,  -560,   799,  -560,  -560,  -560,    18,  -560,
2014 >      19,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2015 >    -560,  -560,  -560,  -560,  -560,  -560,  1000,  -560,  -560,  -560,
2016 >    -560,  -560,   859,  -560,  -560,  -560,  -560,    56,  -560,  -560,
2017 >    -560,  -560,  -560,  -224,  -560,  -560,  -560,   561,  -560,  -560,
2018 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -169,  -560,  -560,
2019 >    -560,  -166,  -560,  -560,  -560,   781,  -560,  -560,  -560,  -560,
2020 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2021 >    -560,  -560,  -560,  -560,  -153,  -560,   600,  -560,  -560,  -560,
2022 >     -48,  -560,  -560,  -560,  -560,  -560,   629,  -560,  -560,  -560,
2023 >    -560,  -560,  -560,  -560,  -137,  -560,  -560,  -560,  -560,  -560,
2024 >    -560,   591,  -560,  -560,  -560,  -560,  -560,   961,  -560,  -560,
2025 >    -560,  -560,   557,  -560,  -560,  -560,  -560,  -560,  -138,  -560,
2026 >    -560,  -560,   578,  -560,  -560,  -560,  -560,  -130,  -560,  -560,
2027 >    -560,   797,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2028 >    -560,  -560,   -94,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2029 >    -560,  -560,  -560,  -103,  -560,   661,  -560,  -560,  -560,  -560,
2030 >    -560,   804,  -560,  -560,  -560,  -560,  1041,  -560,  -560,  -560,
2031 >    -560,  -560,  -560,   -90,  -560,   803,  -560,  -560,  -560,  -560,
2032 >     989,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2033 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2034 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2035 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2036 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,    52,
2037 >    -560,  -560,  -560,    55,  -560,  -560,  -560,  -560,  -560,  -560,
2038 >    -560,   738,  -560,  -560,  -560,  -560,  -560,   -85,  -560,  -560,
2039 >    -560,  -560,  -560,   -88,  -560,  -560,  1075,  -560,  -560,  -560,
2040 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,  -560,
2041 >    -560,  -560,  -560,  -560,  -560,  -560,  -560,   962,  -560,  -560,
2042 >    -560,  -560,  -560,  -560,  -560
2043   };
2044  
2045   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
2046     positive, shift that token.  If negative, reduce the rule which
2047     number is the opposite.  If YYTABLE_NINF, syntax error.  */
2048 < #define YYTABLE_NINF -1
2049 < static const yytype_uint16 yytable[] =
2048 > #define YYTABLE_NINF -109
2049 > static const yytype_int16 yytable[] =
2050   {
2051 <     567,   568,   704,   122,    45,    46,   122,   574,  1132,  1138,
2052 <    1312,   128,  1313,  1160,    47,   272,  1125,    48,   129,   130,
2053 <    1126,   357,   131,    67,  1127,   508,   115,  1314,  1128,   132,
2054 <     476,  1315,    67,  1129,  1130,  1131,  1182,   653,   133,   655,
2055 <    1183,  1244,   134,   135,  1248,  1245,   509,  1250,  1249,   136,
2056 <      52,  1251,   668,   137,   138,   671,   139,    54,   367,    68,
2057 <     676,   272,   140,   981,   982,   983,   695,   696,    68,    69,
2058 <     541,   687,   688,    59,   690,   467,   550,   357,    69,    60,
2059 <     141,   142,   477,   701,   702,   143,   705,   697,   698,  1068,
2060 <    1069,   123,   144,   467,   123,    76,   145,   146,   147,  1103,
2061 <    1104,   148,  1253,   550,   149,   150,  1254,    77,    63,   358,
2062 <      64,  1266,   478,   433,   151,  1267,   434,   581,   479,   448,
2063 <     152,   153,   118,   154,   155,   156,   157,   158,    78,    79,
2064 <     121,  1268,   273,   300,    80,  1269,    81,   127,   159,   582,
2065 <     583,   367,    70,   241,   449,   279,   584,   160,   510,   161,
2066 <     162,    70,   163,   508,  1305,   164,   165,   435,  1306,   166,
2067 <     436,   610,   274,   611,   242,   358,   612,   450,  1161,   301,
2068 <     167,   451,  1162,   243,   509,   359,   244,   368,   273,   511,
2069 <     703,   480,   764,   795,   541,   613,   614,   282,   327,   542,
2070 <      82,    83,   168,   283,   169,   551,  1133,  1139,   170,    84,
2071 <      85,   328,   171,   172,   173,   174,   175,   765,   274,   615,
2072 <     176,   177,   369,   616,   437,   329,   302,   330,   355,   178,
2073 <      86,    87,   551,   585,   586,   587,   331,   245,   588,   468,
2074 <     766,   359,   438,   284,   767,  1307,   589,    88,    89,  1308,
2075 <     332,   335,  1316,   617,   370,   618,   285,   468,    90,   590,
2076 <     591,   179,   303,   180,   304,   305,   543,    91,   619,   181,
2077 <     368,   469,   552,   365,   182,   452,   592,   593,   286,   183,
2078 <     287,   431,   288,   289,   453,   454,   510,   487,   336,   469,
2079 <     620,   246,   247,   248,   249,   250,   251,   252,   253,   552,
2080 <     740,   290,   333,   337,   594,   369,   338,   306,  1310,   307,
2081 <     308,   768,  1311,   542,   339,   340,   764,   511,   455,   448,
2082 <     341,   342,   621,   343,   300,   309,  1326,   544,   650,   476,
2083 <    1327,   505,   470,   502,   344,   345,   622,   370,   769,   254,
2084 <     814,   765,   526,   346,   449,   733,   819,   643,   566,   623,
2085 <     470,   347,   348,   349,    92,    93,    94,   770,  1345,   350,
2086 <     301,   356,  1346,   351,   766,   353,   352,   450,   767,   310,
2087 <     439,   451,   364,   376,   255,   433,   456,   377,   434,   378,
2088 <     543,   477,   993,   717,   379,   557,   380,   863,   381,   728,
2089 <     829,   830,   831,   832,   833,   382,   383,   311,   312,   384,
2090 <     385,   386,   387,   539,   388,   561,   389,   302,   390,   391,
2091 <     392,   478,  1083,  1084,  1085,  1086,  1087,   479,   393,   435,
2092 <     394,   395,   436,   787,   396,   624,   128,   771,   397,   398,
2093 <     399,   880,   400,   129,   130,   768,   401,   131,   402,   772,
2094 <     403,   544,   404,   303,   132,   304,   305,   405,   406,  1100,
2095 <     407,   409,  1048,   133,   507,   256,   558,   134,   135,   411,
2096 <     412,   413,   769,   524,   136,   452,   414,   415,   137,   138,
2097 <     416,   139,   417,   418,   453,   454,   437,   140,   419,   420,
2098 <     480,   770,   421,   422,   423,   424,   425,   426,   306,   257,
2099 <     307,   308,   427,   428,   438,   141,   142,   500,   429,   559,
2100 <     143,   430,   488,   489,   490,   491,   309,   144,   455,   492,
2101 <     493,   145,   146,   147,   494,   495,   148,   496,   497,   149,
2102 <     150,   498,  1090,   499,   503,   504,   517,   518,   519,   151,
2103 <    1098,  1099,   610,   520,   611,   152,   153,   612,   154,   155,
2104 <     156,   157,   158,   521,   522,   523,   527,   528,   529,   530,
2105 <     310,   771,   531,   159,   532,   533,   613,   614,   535,   536,
2106 <     537,   538,   160,   772,   161,   162,   456,   163,  1328,   560,
2107 <     164,   165,   562,   563,   166,   564,   565,   566,   311,   312,
2108 <     615,   569,   570,   571,   616,   167,   572,   573,   575,   245,
2109 <     750,   751,   752,   753,   754,   755,   756,   576,   577,   578,
2110 <     579,  1329,   580,   641,   642,   645,   647,   168,   646,   169,
2111 <     648,   652,  1330,   170,   617,   654,   618,   171,   172,   173,
2112 <     174,   175,   439,   656,   657,   176,   177,   658,  1331,   619,
2113 <     659,   660,   661,   662,   178,  1332,   663,   664,   665,   666,
2114 <    1333,   667,  1334,   246,   247,   248,   249,   250,   251,   252,
2115 <     253,   620,   669,    76,   670,  1335,   672,   673,   674,   675,
2116 <    1255,  1256,   679,   677,   678,    77,   179,   680,   180,   681,
2117 <     682,   683,  1185,   684,   181,   283,   685,   691,   686,   182,
2118 <       2,     3,   689,   621,   183,     4,    78,    79,  1336,   703,
2119 <    1257,   254,    80,   712,    81,   692,   693,   622,   710,   694,
2120 <     713,   699,     5,   715,  1337,   719,     6,  1258,   700,     7,
2121 <     623,   706,   707,   708,  1259,   284,     8,   709,   742,   735,
2122 <     743,   716,  1338,   744,  1339,  1340,   255,   720,   285,  1200,
2123 <     721,     9,   723,  1260,   745,   724,   746,   581,   725,   726,
2124 <     727,   730,   747,    10,    11,   732,    12,   737,    82,    83,
2125 <     286,  1186,   287,    13,   288,   289,   738,    84,    85,   582,
2126 <     583,  1261,   748,   739,   749,   757,   584,   758,   759,  1262,
2127 <      14,   761,   760,   290,   762,   789,   784,   763,    86,    87,
2128 <      15,   783,    16,  1187,   790,   785,   624,   791,   786,   792,
2129 <     793,   794,  1341,   798,   796,    88,    89,   797,  1188,    17,
2130 <     799,   800,   801,   802,   803,   804,    90,   256,  1201,   805,
2131 <    1342,   807,  1263,   806,   808,    91,    18,   809,  1189,  1190,
2132 <    1343,   810,   811,   813,  1191,  1192,  1193,  1194,   816,   817,
2133 <    1122,  1264,   821,   822,   823,   824,   825,  1195,   882,   826,
2134 <    1202,   257,   827,   585,   586,   587,   828,   850,   588,   883,
2135 <     886,    19,   836,   887,   851,  1203,   589,   837,   838,   839,
2136 <      20,    21,   840,   841,   842,    22,    23,   843,   844,   590,
2137 <     591,  1156,   996,   845,   997,  1204,  1205,   846,   852,   847,
2138 <     848,  1206,  1207,  1208,  1209,   849,   592,   593,  1167,   853,
2139 <     854,   855,   856,   857,  1210,   858,   859,   860,   861,   865,
2140 <    1304,   862,    92,    93,    94,   866,   922,   923,   924,   925,
2141 <     926,   501,   927,   928,   594,   929,   930,   931,   867,   994,
2142 <     932,  1000,   868,   869,  1003,   870,   872,   873,   874,   875,
2143 <     933,   934,   935,   876,   936,   937,   938,  1015,   877,   939,
2144 <     878,   879,   940,   944,   945,   946,   947,   948,   884,   949,
2145 <     950,   885,   951,   952,   953,   888,   992,   954,   889,   890,
2146 <     999,   891,  1002,   892,   893,   894,   895,   955,   956,   957,
2147 <     896,   958,   959,   960,   897,   898,   961,   899,   900,   962,
2148 <    1282,  1283,  1284,  1285,  1286,   901,  1287,  1288,   902,  1289,
2149 <    1290,  1291,   903,   904,  1292,   905,  1004,   906,   907,  1005,
2150 <     908,   909,   910,   911,  1293,  1294,  1295,   912,  1296,  1297,
2151 <    1298,   913,   914,  1299,   915,   916,  1300,   917,   918,   919,
2152 <     920,   921,   943,   965,   966,   967,   968,   969,   970,   971,
2153 <     972,   973,   974,   975,   976,   977,  1006,   978,   979,   980,
2154 <     986,   987,   988,   989,   990,   991,  1008,   998,  1010,   995,
2155 <    1007,  1001,  1009,  1013,  1011,  1012,  1014,  1018,  1019,  1020,
2156 <    1021,  1022,  1023,  1024,  1025,  1026,  1050,  1051,  1027,  1052,
2157 <    1028,  1029,  1030,  1031,  1032,  1033,  1034,  1035,  1036,  1037,
2158 <    1038,  1039,  1076,  1078,  1080,  1040,  1041,  1043,  1044,  1045,
2159 <    1047,  1053,  1054,  1055,  1056,  1057,  1058,  1059,  1060,  1061,
2160 <    1062,  1063,  1064,  1088,  1065,  1066,  1089,  1067,  1072,  1073,
2161 <    1074,  1075,  1091,  1079,  1092,  1077,  1082,  1081,  1093,  1094,
2162 <    1095,  1096,  1097,  1101,  1102,  1107,  1105,  1106,  1108,  1109,
2163 <    1110,  1111,  1112,  1113,  1117,  1114,  1118,  1115,  1116,  1119,
2164 <    1120,  1121,  1136,  1146,  1137,  1142,  1143,  1144,  1145,  1150,
2165 <    1151,  1152,  1153,  1170,  1154,  1171,  1155,  1159,  1165,  1166,
2166 <    1173,  1174,  1175,  1177,  1232,  1168,  1178,  1172,  1176,  1179,
2167 <    1180,  1181,  1184,  1270,  1275,  1198,   334,  1199,  1213,  1214,
2168 <    1215,  1216,  1217,  1218,  1219,  1220,  1221,  1222,   540,  1049,
2169 <    1353,  1352,  1223,  1224,  1225,  1226,  1227,  1228,  1229,  1230,
2170 <    1231,  1236,  1237,  1238,  1239,  1240,  1241,  1242,  1243,  1272,
2171 <    1273,  1274,  1279,  1280,  1281,  1303,   741,  1351,   864,  1324,
2172 <     788,  1271,  1322,  1321,   815,  1347,   820,  1350,  1348,  1323,
2173 <     881,   506,  1349,   644,   366,  1318,   651,   432,   354,  1247,
2174 <    1320,  1246,  1319,     0,     0,     0,     0,     0,   729,     0,
2175 <     525,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2176 <       0,     0,     0,     0,     0,     0,     0,   734,   718
2051 >     717,   613,   614,   465,   252,   335,   466,   593,   620,   508,
2052 >      70,   121,   393,   403,  1157,   465,   529,   499,   466,   716,
2053 >      49,   304,    50,   499,  1122,    54,   336,   337,   548,   243,
2054 >     338,   593,  1128,   121,   480,    47,    48,   236,   253,   530,
2055 >      71,   467,  1054,    70,   468,  1056,  1055,   304,   549,  1057,
2056 >      72,   254,    56,   467,    61,   509,   468,   481,   531,  1115,
2057 >      62,   236,   532,  1116,   255,   256,   257,   258,   975,   976,
2058 >     977,   708,   709,    71,   510,   269,   482,   710,   711,   511,
2059 >     483,   122,   394,    72,   259,   469,   795,   796,   243,    65,
2060 >    1015,   339,   340,   341,   671,   672,   342,   469,   584,   393,
2061 >     799,   800,   470,   122,   343,   270,   594,    66,   685,    73,
2062 >      69,   127,   404,   690,   470,   533,   344,   345,   128,   129,
2063 >     305,  1274,   865,   866,   701,   702,   244,   704,   118,   130,
2064 >     594,   550,   346,   347,   119,   714,   715,   131,   512,   719,
2065 >     534,   271,    73,   132,   395,   405,   305,   133,   134,   500,
2066 >     135,  1094,   309,  1095,   245,   500,   136,  1158,   484,   535,
2067 >     551,  1159,   348,   120,   716,   137,   138,   485,   486,   394,
2068 >     139,   126,   595,   232,   272,   140,   273,   274,   406,   141,
2069 >     142,    79,   501,   143,   862,   244,   144,   145,   501,  1016,
2070 >     233,  1123,   234,    80,   146,  1015,   595,   585,   584,  1129,
2071 >     147,   148,   487,   149,   150,   151,   152,   153,    81,    82,
2072 >     235,  1117,   548,   245,    83,  1118,    84,   275,   154,   276,
2073 >     277,   278,   279,   250,   536,   251,   155,   156,   157,   471,
2074 >     158,   395,   549,   159,   160,  1253,   280,   161,   302,  1254,
2075 >     303,   471,   537,   502,   785,   564,   641,   523,   162,   502,
2076 >     754,   313,   401,   661,   668,  1017,   731,   771,    85,    86,
2077 >     488,   310,   281,   586,   747,    87,    88,   403,   237,   777,
2078 >     527,   603,   818,   163,   282,   742,  -108,   164,   521,   311,
2079 >     529,   165,   166,   167,   168,   169,    89,    90,   601,   170,
2080 >     171,   364,   237,   365,  1016,   312,   366,   585,   519,   172,
2081 >    -108,    91,    92,   530,   604,   315,  1255,   316,   283,   284,
2082 >    1256,   852,    93,  1293,   367,   550,   582,   317,   524,   860,
2083 >     861,    94,   531,   318,   587,   252,   532,   508,  1018,   173,
2084 >     174,  1171,   175,   368,  1294,   269,  1295,   369,   176,   813,
2085 >     319,  1259,  1261,   177,   551,  1260,  1262,  1263,   178,  1096,
2086 >    1265,  1264,   463,  1267,  1266,   320,   370,  1268,   371,   253,
2087 >    1017,   321,  1097,   586,  1277,   270,   404,  1279,  1278,   322,
2088 >     372,  1280,   254,   509,  1281,   323,   127,  1296,  1282,   533,
2089 >     324,   325,   612,   128,   129,   255,   256,   257,   258,  1283,
2090 >     373,  1308,   510,  1284,   130,  1309,   326,   511,   327,   405,
2091 >     328,   271,   131,   329,   534,   259,   330,   988,   132,    95,
2092 >      96,    97,   133,   134,   331,   135,  1119,  1120,  1121,   332,
2093 >     374,   136,   333,   535,   587,   830,   831,   832,   833,   834,
2094 >     137,   138,   406,  1018,   272,   139,   273,   274,   608,   400,
2095 >     140,   566,   412,   413,   141,   142,   414,   415,   143,   375,
2096 >     416,   144,   145,  1297,  1298,   758,   512,   417,   418,   146,
2097 >     419,   420,   364,   421,   365,   147,   148,   366,   149,   150,
2098 >     151,   152,   153,   422,   423,   424,   425,   275,   376,   276,
2099 >     277,   278,   279,   154,  1175,   367,   426,   427,   536,  1299,
2100 >     428,   155,   156,   157,   429,   158,   280,   430,   159,   160,
2101 >     431,   432,   161,   433,   368,   434,   537,   435,   369,   436,
2102 >     480,  1176,   437,   162,  1071,  1072,  1073,  1074,  1075,   438,
2103 >     439,   441,   281,   605,   377,   443,   444,   370,   445,   371,
2104 >    1177,   446,   657,   481,   282,   447,  1178,   448,   163,   449,
2105 >     450,   372,   164,   451,   452,    79,   165,   166,   167,   168,
2106 >     169,   453,   482,  1179,   170,   171,   483,    80,   454,   455,
2107 >     456,   373,   457,   458,   172,   459,   460,   461,   283,   284,
2108 >     606,   462,    81,    82,   520,   525,   526,  1180,    83,   557,
2109 >      84,  1227,   558,   559,  1181,   560,   561,   562,   563,   567,
2110 >     568,   374,   569,   570,   173,   174,   571,   175,  1182,   572,
2111 >     573,   574,   575,   176,   576,  1241,   577,   578,   177,   579,
2112 >     580,   581,   600,   178,   607,   609,  1183,   610,  1184,  1185,
2113 >     375,   611,    85,    86,   612,   615,   616,   617,   618,    87,
2114 >      88,   619,   621,   622,   484,   623,   624,   626,   625,   627,
2115 >     643,   628,   663,   485,   486,   629,   630,   631,   632,   376,
2116 >      89,    90,   633,   634,   635,   636,   637,   638,  1228,   639,
2117 >     640,   644,   645,   646,   647,    91,    92,     2,     3,   649,
2118 >     650,  1186,     4,   651,   652,   653,    93,   654,   487,   655,
2119 >     656,  1187,  1242,   659,   660,    94,   665,   664,     5,  1229,
2120 >    1188,     6,     7,   666,  1189,   377,  1190,     8,   670,  1230,
2121 >     673,   674,   675,   676,   677,  1191,  1231,   679,   678,   680,
2122 >     335,   681,     9,  1243,  1275,  1192,    10,    11,  1232,    12,
2123 >    1233,  1234,   682,  1244,   915,    13,   683,   684,   687,   686,
2124 >    1245,   336,   337,  1235,   688,   338,   488,   689,   691,    14,
2125 >     692,   693,  1246,  1236,  1247,  1248,   694,   695,   696,    15,
2126 >      16,   697,   698,   699,   700,   703,   705,  1249,   938,   706,
2127 >     707,   712,   713,   716,   718,   720,    17,  1250,   721,   724,
2128 >     722,   723,   756,    95,    96,    97,   759,   726,   727,   729,
2129 >     730,   733,    18,   734,   779,   735,  1198,   737,   760,   738,
2130 >     780,   739,   740,   741,   749,   757,   339,   340,   341,   744,
2131 >     746,   342,   751,   752,   753,   761,   762,   763,   781,   343,
2132 >     764,   766,   767,   768,   770,   773,   782,   783,    19,   784,
2133 >     774,   344,   345,   787,   788,   775,   776,    20,    21,   786,
2134 >     789,    22,    23,   790,   791,   792,   793,   346,   347,   794,
2135 >     805,   803,   804,   806,   807,   808,   916,   917,   918,   919,
2136 >     920,   810,   809,   921,   922,   820,   812,   923,   924,   925,
2137 >     815,   816,   926,   821,   927,   928,   929,   348,   930,   931,
2138 >     932,   850,   822,   933,   851,   823,   824,   853,   854,   934,
2139 >     939,   940,   941,   942,   943,    24,   855,   944,   945,   856,
2140 >    1136,   946,   947,   948,   857,   825,   949,   826,   950,   951,
2141 >     952,   827,   953,   954,   955,   828,   829,   956,  1199,  1200,
2142 >    1201,  1202,  1203,   957,  1137,  1204,  1205,   837,   838,  1206,
2143 >    1207,  1208,   839,  1138,  1209,   840,  1210,  1211,  1212,  1139,
2144 >    1213,  1214,  1215,   858,   841,  1216,   842,   843,   859,   844,
2145 >     864,  1217,   845,   867,   869,  1140,   868,   846,   847,   870,
2146 >     871,   872,   873,   874,   998,   848,   849,   863,   875,   878,
2147 >     876,   877,   879,   880,   881,   883,   884,   882,   886,   989,
2148 >     887,  1141,   885,   888,   889,   890,   891,   892,   893,  1142,
2149 >     894,   895,   896,   897,   898,   899,   900,   901,   902,   903,
2150 >     904,   905,   906,   907,   908,   909,   910,   911,   912,   913,
2151 >     914,   937,   991,   960,   992,   994,   961,   962,   997,   995,
2152 >     963,   999,   964,   965,   966,   967,   968,  1000,   969,   970,
2153 >    1001,   971,  1143,   972,   973,   974,   980,   981,   982,   983,
2154 >     984,   985,   986,  1003,  1005,  1008,   987,   993,   990,   996,
2155 >    1144,  1002,  1004,  1006,  1009,  1007,  1010,  1013,  1014,  1024,
2156 >    1026,  1025,  1027,  1029,  1030,  1028,  1031,  1032,  1033,  1035,
2157 >    1036,  1037,  1063,  1034,  1065,  1038,  1039,  1040,  1067,  1269,
2158 >    1112,  1153,  1272,  1224,   314,  1172,  1225,  1041,  1042,  1043,
2159 >    1044,  1045,  1046,  1047,   583,  1310,  1048,  1049,  1050,  1051,
2160 >    1052,  1053,  1058,  1059,  1060,  1061,  1062,   522,  1066,   772,
2161 >    1064,  1069,  1068,  1070,  1076,  1077,  1078,  1079,  1080,  1081,
2162 >    1082,  1305,  1304,  1083,   755,  1291,  1084,  1270,   743,  1085,
2163 >    1086,  1164,  1087,  1088,  1089,  1090,  1091,  1289,  1092,  1093,
2164 >     642,  1100,  1101,  1102,  1103,  1104,  1105,  1106,  1107,  1108,
2165 >    1109,  1110,  1111,   778,  1306,   814,  1126,  1127,  1132,  1133,
2166 >    1134,  1135,  1147,  1148,  1307,  1149,  1150,  1151,  1152,  1156,
2167 >    1285,  1162,  1163,  1290,   402,   748,  1286,  1167,   464,  1165,
2168 >    1258,  1257,  1287,   334,   819,   658,  1168,  1288,     0,     0,
2169 >    1173,     0,  1170,  1174,  1195,  1196,  1197,  1220,  1221,  1222,
2170 >    1223,  1226,  1239,  1240,  1271,     0,  1276,  1292,  1273,  1302,
2171 >     662,  1303,     0,   528,     0,     0,     0,     0,     0,     0,
2172 >     732,   669,     0,     0,     0,     0,     0,     0,     0,     0,
2173 >       0,     0,   565,     0,     0,     0,     0,     0,     0,     0,
2174 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2175 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2176 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2177 >       0,     0,     0,     0,     0,     0,     0,   602
2178   };
2179  
2180   #define yypact_value_is_default(yystate) \
2181 <  ((yystate) == (-949))
2181 >  ((yystate) == (-560))
2182  
2183   #define yytable_value_is_error(yytable_value) \
2184    YYID (0)
2185  
2186   static const yytype_int16 yycheck[] =
2187   {
2188 <     340,   341,   425,     1,   260,   261,     1,   347,    11,    11,
2189 <      10,     1,    12,    76,   262,     1,   260,   262,     8,     9,
2190 <     264,     1,    12,     1,   260,     1,   153,    27,   264,    19,
2191 <       1,    31,     1,   981,   982,   983,   260,   377,    28,   379,
2192 <     264,   260,    32,    33,   260,   264,    22,   260,   264,    39,
2193 <     262,   264,   392,    43,    44,   395,    46,   262,     1,    37,
2194 <     400,     1,    52,    14,    15,    16,   197,   198,    37,    47,
2195 <       1,   411,   412,   262,   414,     1,     1,     1,    47,   262,
2196 <      70,    71,    53,   423,   424,    75,   426,   197,   198,   169,
2197 <     170,    89,    82,     1,    89,     1,    86,    87,    88,   216,
2198 <     217,    91,   260,     1,    94,    95,   264,    13,   262,    89,
2199 <     262,   260,    83,     1,   104,   264,     4,     1,    89,     1,
2200 <     110,   111,   153,   113,   114,   115,   116,   117,    34,    35,
2201 <     262,   260,   118,     1,    40,   264,    42,   262,   128,    23,
2202 <      24,     1,   120,   262,    26,   153,    30,   137,   124,   139,
2203 <     140,   120,   142,     1,   260,   145,   146,    45,   264,   149,
2204 <      48,     1,   148,     3,   262,    89,     6,    49,   231,    37,
2205 <     160,    53,   235,   262,    22,   155,   262,   120,   118,   155,
2206 <     131,   152,     1,   523,     1,    25,    26,   262,   262,   120,
2207 <      96,    97,   182,     1,   184,   120,   199,   199,   188,   105,
2208 <     106,   262,   192,   193,   194,   195,   196,    26,   148,    49,
2209 <     200,   201,   155,    53,   102,   260,    84,   263,   262,   209,
2210 <     126,   127,   120,   107,   108,   109,   263,     1,   112,   155,
2211 <      49,   155,   120,    41,    53,   260,   120,   143,   144,   264,
2212 <     263,   263,   242,    83,   187,    85,    54,   155,   154,   133,
2213 <     134,   241,   120,   243,   122,   123,   187,   163,    98,   249,
2214 <     120,   187,   187,   261,   254,   147,   150,   151,    76,   259,
2215 <      78,   261,    80,    81,   156,   157,   124,   260,   263,   187,
2216 <     120,    55,    56,    57,    58,    59,    60,    61,    62,   187,
2217 <     261,    99,   261,   263,   178,   155,   263,   165,   260,   167,
2218 <     168,   120,   264,   120,   263,   263,     1,   155,   190,     1,
2219 <     263,   263,   152,   263,     1,   183,   260,   248,   261,     1,
2220 <     264,   261,   248,   260,   263,   263,   166,   187,   147,   103,
2221 <     261,    26,   260,   263,    26,   261,   261,   261,   131,   179,
2222 <     248,   263,   263,   263,   250,   251,   252,   166,   260,   263,
2223 <      37,   262,   264,   263,    49,   261,   263,    49,    53,   227,
2224 <     248,    53,   263,   263,   138,     1,   248,   263,     4,   263,
2225 <     187,    53,   712,   261,   263,   153,   263,   261,   263,   261,
2226 <     173,   174,   175,   176,   177,   263,   263,   255,   256,   263,
2227 <     263,   263,   263,   261,   263,   197,   263,    84,   263,   263,
2228 <     263,    83,   829,   830,   831,   832,   833,    89,   263,    45,
2229 <     263,   263,    48,   261,   263,   255,     1,   236,   263,   263,
2230 <     263,   261,   263,     8,     9,   120,   263,    12,   263,   248,
2231 <     263,   248,   263,   120,    19,   122,   123,   263,   263,   862,
2232 <     263,   263,   261,    28,   262,   219,   153,    32,    33,   263,
2233 <     263,   263,   147,   261,    39,   147,   263,   263,    43,    44,
2234 <     263,    46,   263,   263,   156,   157,   102,    52,   263,   263,
2235 <     152,   166,   263,   263,   263,   263,   263,   263,   165,   253,
2236 <     167,   168,   263,   263,   120,    70,    71,   261,   263,   153,
2237 <      75,   263,   263,   263,   263,   263,   183,    82,   190,   263,
2238 <     263,    86,    87,    88,   263,   263,    91,   263,   263,    94,
2239 <      95,   263,   852,   263,   263,   263,   263,   263,   263,   104,
2240 <     860,   861,     1,   263,     3,   110,   111,     6,   113,   114,
2241 <     115,   116,   117,   263,   263,   263,   263,   263,   263,   263,
2242 <     227,   236,   263,   128,   263,   263,    25,    26,   263,   263,
2243 <     263,   263,   137,   248,   139,   140,   248,   142,     5,   260,
2244 <     145,   146,   131,   131,   149,   197,   197,   131,   255,   256,
2245 <      49,   131,   131,   197,    53,   160,   197,   131,   197,     1,
2246 <     220,   221,   222,   223,   224,   225,   226,   197,   197,   197,
2247 <     197,    38,   260,   263,   263,   153,   263,   182,   260,   184,
2248 <     263,   197,    49,   188,    83,   197,    85,   192,   193,   194,
2249 <     195,   196,   248,   131,   153,   200,   201,   131,    65,    98,
2250 <     197,   197,   131,   153,   209,    72,   197,   131,   131,   131,
2251 <      77,   197,    79,    55,    56,    57,    58,    59,    60,    61,
2252 <      62,   120,   197,     1,   197,    92,   153,   197,   131,   131,
2253 <      20,    21,   153,   131,   131,    13,   241,   131,   243,   131,
2254 <     197,   197,    92,   263,   249,     1,   197,   153,   263,   254,
2255 <       0,     1,   197,   152,   259,     5,    34,    35,   125,   131,
2256 <      50,   103,    40,   263,    42,   197,   197,   166,   260,   197,
2257 <     263,   197,    22,   263,   141,   260,    26,    67,   197,    29,
2258 <     179,   197,   197,   197,    74,    41,    36,   197,   153,   260,
2259 <     153,   263,   159,   153,   161,   162,   138,   263,    54,    92,
2260 <     263,    51,   263,    93,   153,   263,   153,     1,   263,   263,
2261 <     263,   263,   153,    63,    64,   263,    66,   263,    96,    97,
2262 <      76,   171,    78,    73,    80,    81,   263,   105,   106,    23,
2263 <      24,   121,   153,   263,   153,   153,    30,   153,   197,   129,
2264 <      90,   153,   260,    99,   153,   197,   263,   260,   126,   127,
2265 <     100,   260,   102,   203,   197,   263,   255,   197,   263,   153,
2266 <     197,   197,   229,   197,   260,   143,   144,   153,   218,   119,
2267 <     153,   153,   153,   153,   153,   263,   154,   219,   171,   153,
2268 <     247,   153,   172,   131,   153,   163,   136,   260,   238,   239,
2269 <     257,   260,   263,   263,   244,   245,   246,   247,   260,   263,
2270 <     158,   191,   260,   260,   260,   260,   260,   257,   153,   260,
2271 <     203,   253,   260,   107,   108,   109,   260,   263,   112,   153,
2272 <     153,   171,   260,   153,   263,   218,   120,   260,   260,   260,
2273 <     180,   181,   260,   260,   260,   185,   186,   260,   260,   133,
2274 <     134,   158,   153,   260,   153,   238,   239,   260,   263,   260,
2275 <     260,   244,   245,   246,   247,   260,   150,   151,   202,   263,
2276 <     263,   263,   263,   263,   257,   263,   263,   263,   263,   260,
2277 <    1183,   263,   250,   251,   252,   263,   204,   205,   206,   207,
2278 <     208,   258,   210,   211,   178,   213,   214,   215,   263,   197,
2279 <     218,   197,   263,   263,   131,   263,   263,   263,   263,   263,
2280 <     228,   229,   230,   263,   232,   233,   234,   131,   263,   237,
2281 <     263,   263,   240,   204,   205,   206,   207,   208,   260,   210,
2282 <     211,   260,   213,   214,   215,   263,   263,   218,   260,   260,
2283 <     153,   260,   153,   260,   260,   260,   260,   228,   229,   230,
2284 <     260,   232,   233,   234,   260,   260,   237,   260,   260,   240,
2285 <     204,   205,   206,   207,   208,   260,   210,   211,   260,   213,
2286 <     214,   215,   260,   260,   218,   260,   153,   260,   260,   153,
2287 <     260,   260,   260,   260,   228,   229,   230,   260,   232,   233,
2288 <     234,   260,   260,   237,   260,   260,   240,   260,   260,   260,
2289 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2290 <     260,   260,   260,   260,   260,   260,   153,   260,   260,   260,
2291 <     260,   260,   260,   260,   260,   260,   153,   260,   153,   263,
2292 <     260,   263,   263,   153,   260,   263,   153,   260,   260,   260,
2293 <     260,   260,   260,   260,   260,   260,   153,   153,   260,   153,
2294 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2295 <     260,   260,   153,   153,   153,   263,   263,   263,   263,   263,
2296 <     263,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2297 <     260,   260,   260,   131,   260,   260,   131,   260,   260,   260,
2298 <     260,   260,   131,   260,   131,   263,   260,   263,   131,   131,
2299 <     153,   131,   131,   260,   153,   197,   153,   153,   263,   153,
2300 <     153,   153,   153,   131,   260,   153,   260,   153,   153,   260,
2301 <     260,   260,   260,   130,   260,   260,   260,   260,   260,   260,
2302 <     260,   260,   260,   153,   260,   197,   260,   260,   260,   260,
2303 <     153,   153,   153,   153,   130,   264,   260,   263,   263,   260,
2304 <     260,   260,   260,   131,   130,   260,    71,   260,   260,   260,
2305 <     260,   260,   260,   260,   260,   260,   260,   260,   313,   773,
2306 <    1346,  1327,   260,   260,   260,   260,   260,   260,   260,   260,
2307 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2308 <     260,   260,   260,   260,   260,   260,   482,  1325,   595,  1269,
2309 <     512,  1168,  1254,  1252,   545,  1306,   553,  1311,  1308,  1267,
2310 <     625,   275,  1309,   360,   124,  1245,   372,   184,    95,  1128,
2311 <    1251,  1126,  1249,    -1,    -1,    -1,    -1,    -1,   457,    -1,
2312 <     291,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2313 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,   472,   440
2188 >     456,   320,   321,     1,     1,     1,     4,     1,   327,     1,
2189 >       1,     1,     1,     1,    61,     1,     1,     1,     4,   110,
2190 >     243,     1,   243,     1,    11,   243,    22,    23,     1,     1,
2191 >      26,     1,    11,     1,     1,   241,   242,     1,    35,    24,
2192 >      31,    39,   241,     1,    42,   241,   245,     1,    21,   245,
2193 >      41,    48,   243,    39,   243,    47,    42,    24,    43,   241,
2194 >     243,     1,    47,   245,    61,    62,    63,    64,    14,    15,
2195 >      16,   176,   177,    31,    66,     1,    43,   176,   177,    71,
2196 >      47,    71,    71,    41,    81,    83,   149,   150,     1,   243,
2197 >       1,    87,    88,    89,   413,   414,    92,    83,     1,     1,
2198 >     149,   150,   100,    71,   100,    31,   100,   243,   427,   100,
2199 >     243,     1,   100,   432,   100,   100,   112,   113,     8,     9,
2200 >     100,   212,   197,   198,   443,   444,    98,   446,   243,    19,
2201 >     100,   104,   128,   129,   243,   454,   455,    27,   130,   458,
2202 >     125,    67,   100,    33,   133,   133,   100,    37,    38,   133,
2203 >      40,    10,   241,    12,   126,   133,    46,   204,   125,   144,
2204 >     133,   208,   158,   243,   110,    55,    56,   134,   135,    71,
2205 >      60,   243,   166,   243,   100,    65,   102,   103,   166,    69,
2206 >      70,     1,   166,    73,   640,    98,    76,    77,   166,   100,
2207 >     243,   178,   243,    13,    84,     1,   166,   100,     1,   178,
2208 >      90,    91,   169,    93,    94,    95,    96,    97,    28,    29,
2209 >     243,   241,     1,   126,    34,   245,    36,   143,   108,   145,
2210 >     146,   147,   148,   243,   209,   243,   116,   117,   118,   227,
2211 >     120,   133,    21,   123,   124,   241,   162,   127,   243,   245,
2212 >     243,   227,   227,   227,   563,   242,   242,   240,   138,   227,
2213 >     242,   242,   242,   242,   242,   166,   242,   242,    78,    79,
2214 >     227,   244,   188,   166,   242,    85,    86,     1,   232,   242,
2215 >     242,   131,   242,   163,   200,   242,   240,   167,   242,   244,
2216 >       1,   171,   172,   173,   174,   175,   106,   107,   242,   179,
2217 >     180,     1,   232,     3,   100,   244,     6,   100,   241,   189,
2218 >     240,   121,   122,    24,   131,   244,   241,   244,   234,   235,
2219 >     245,   630,   132,    51,    24,   104,   242,   244,   241,   638,
2220 >     639,   141,    43,   244,   227,     1,    47,     1,   239,   219,
2221 >     220,   242,   222,    43,    72,     1,    74,    47,   228,   242,
2222 >     244,   241,   241,   233,   133,   245,   245,   241,   238,   208,
2223 >     241,   245,   242,   241,   245,   244,    66,   245,    68,    35,
2224 >     166,   244,   221,   166,   241,    31,   100,   241,   245,   244,
2225 >      80,   245,    48,    47,   241,   244,     1,   115,   245,   100,
2226 >     244,   244,   110,     8,     9,    61,    62,    63,    64,   241,
2227 >     100,   241,    66,   245,    19,   245,   244,    71,   244,   133,
2228 >     244,    67,    27,   244,   125,    81,   244,   726,    33,   229,
2229 >     230,   231,    37,    38,   244,    40,   975,   976,   977,   244,
2230 >     130,    46,   242,   144,   227,   153,   154,   155,   156,   157,
2231 >      55,    56,   166,   239,   100,    60,   102,   103,   110,   244,
2232 >      65,   241,   244,   244,    69,    70,   244,   244,    73,   159,
2233 >     244,    76,    77,   191,   192,   243,   130,   244,   244,    84,
2234 >     244,   244,     1,   244,     3,    90,    91,     6,    93,    94,
2235 >      95,    96,    97,   244,   244,   244,   244,   143,   188,   145,
2236 >     146,   147,   148,   108,     5,    24,   244,   244,   209,   227,
2237 >     244,   116,   117,   118,   244,   120,   162,   244,   123,   124,
2238 >     244,   244,   127,   244,    43,   244,   227,   244,    47,   244,
2239 >       1,    32,   244,   138,   830,   831,   832,   833,   834,   244,
2240 >     244,   244,   188,   131,   234,   244,   244,    66,   244,    68,
2241 >      51,   244,   242,    24,   200,   244,    57,   244,   163,   244,
2242 >     244,    80,   167,   244,   244,     1,   171,   172,   173,   174,
2243 >     175,   244,    43,    74,   179,   180,    47,    13,   244,   244,
2244 >     244,   100,   244,   244,   189,   244,   244,   244,   234,   235,
2245 >     241,   244,    28,    29,   244,   244,   244,    98,    34,   244,
2246 >      36,    74,   244,   244,   105,   244,   244,   244,   244,   244,
2247 >     244,   130,   244,   244,   219,   220,   244,   222,   119,   244,
2248 >     244,   244,   244,   228,   244,    74,   244,   244,   233,   244,
2249 >     244,   244,   244,   238,   176,   110,   137,   176,   139,   140,
2250 >     159,   176,    78,    79,   110,   110,   110,   176,   176,    85,
2251 >      86,   110,   176,   176,   125,   176,   176,   241,   176,   241,
2252 >     241,   244,   131,   134,   135,   244,   244,   244,   244,   188,
2253 >     106,   107,   244,   244,   244,   244,   244,   244,   151,   244,
2254 >     244,   244,   244,   244,   244,   121,   122,     0,     1,   244,
2255 >     244,   192,     5,   244,   244,   244,   132,   244,   169,   244,
2256 >     244,   202,   151,   244,   244,   141,   244,   241,    21,   182,
2257 >     211,    24,    25,   244,   215,   234,   217,    30,   176,   192,
2258 >     110,   176,   176,   110,   131,   226,   199,   110,   176,   110,
2259 >       1,   110,    45,   182,  1170,   236,    49,    50,   211,    52,
2260 >     213,   214,   176,   192,    61,    58,   176,   176,   176,   131,
2261 >     199,    22,    23,   226,   110,    26,   227,   110,   110,    72,
2262 >     110,   131,   211,   236,   213,   214,   110,   110,   176,    82,
2263 >      83,   176,   244,   176,   244,   176,   176,   226,    61,   176,
2264 >     176,   176,   176,   110,   131,   176,    99,   236,   176,   241,
2265 >     176,   176,   176,   229,   230,   231,   131,   244,   244,   244,
2266 >     244,   241,   115,   244,   176,   244,    61,   244,   131,   244,
2267 >     176,   244,   244,   244,   241,   241,    87,    88,    89,   244,
2268 >     244,    92,   244,   244,   244,   241,   241,   244,   176,   100,
2269 >     244,   244,   244,   244,   244,   241,   131,   176,   151,   176,
2270 >     244,   112,   113,   131,   176,   244,   244,   160,   161,   241,
2271 >     131,   164,   165,   131,   131,   131,   131,   128,   129,   131,
2272 >     110,   131,   131,   131,   131,   241,   183,   184,   185,   186,
2273 >     187,   244,   241,   190,   191,   131,   244,   194,   195,   196,
2274 >     241,   244,   199,   241,   201,   202,   203,   158,   205,   206,
2275 >     207,   110,   241,   210,   110,   241,   241,   110,   110,   216,
2276 >     183,   184,   185,   186,   187,   218,   110,   190,   191,   110,
2277 >      20,   194,   195,   196,   131,   241,   199,   241,   201,   202,
2278 >     203,   241,   205,   206,   207,   241,   241,   210,   183,   184,
2279 >     185,   186,   187,   216,    44,   190,   191,   241,   241,   194,
2280 >     195,   196,   241,    53,   199,   241,   201,   202,   203,    59,
2281 >     205,   206,   207,   110,   241,   210,   241,   241,   110,   241,
2282 >     131,   216,   241,   131,   244,    75,   176,   241,   241,   131,
2283 >     131,   131,   131,   110,   110,   241,   241,   241,   131,   241,
2284 >     131,   131,   131,   131,   241,   131,   131,   241,   241,   176,
2285 >     241,   101,   244,   241,   241,   241,   241,   241,   241,   109,
2286 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2287 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2288 >     241,   241,   131,   241,   131,   131,   241,   241,   131,   176,
2289 >     241,   131,   241,   241,   241,   241,   241,   131,   241,   241,
2290 >     131,   241,   152,   241,   241,   241,   241,   241,   241,   241,
2291 >     241,   241,   241,   131,   131,   131,   244,   241,   244,   244,
2292 >     170,   241,   244,   241,   131,   244,   110,   241,   241,   241,
2293 >     131,   241,   176,   131,   131,   244,   131,   244,   131,   131,
2294 >     131,   131,   131,   241,   131,   241,   241,   241,   131,   110,
2295 >     136,   136,   131,  1055,    74,  1019,  1057,   241,   241,   241,
2296 >     241,   241,   241,   241,   285,  1309,   241,   241,   241,   241,
2297 >     241,   241,   241,   241,   241,   241,   241,   238,   241,   538,
2298 >     244,   241,   244,   241,   241,   241,   241,   241,   241,   241,
2299 >     241,  1280,  1278,   241,   514,  1268,   241,  1165,   489,   241,
2300 >     241,   181,   241,   241,   241,   241,   241,  1264,   241,   241,
2301 >     349,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2302 >     241,   241,   241,   552,  1282,   588,   241,   241,   241,   241,
2303 >     241,   241,   241,   241,  1284,   241,   241,   241,   241,   241,
2304 >    1254,   241,   241,  1266,   123,   504,  1256,   241,   179,   245,
2305 >    1118,  1116,  1260,    98,   596,   378,   244,  1262,    -1,    -1,
2306 >     241,    -1,   244,   241,   241,   241,   241,   241,   241,   241,
2307 >     241,   241,   241,   241,   241,    -1,   241,   241,   244,   241,
2308 >     396,   241,    -1,   246,    -1,    -1,    -1,    -1,    -1,    -1,
2309 >     472,   408,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2310 >      -1,    -1,   260,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2311 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2312 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2313 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2314 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,   306
2315   };
2316  
2317   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2318     symbol of state STATE-NUM.  */
2319   static const yytype_uint16 yystos[] =
2320   {
2321 <       0,   266,     0,     1,     5,    22,    26,    29,    36,    51,
2322 <      63,    64,    66,    73,    90,   100,   102,   119,   136,   171,
2323 <     180,   181,   185,   186,   267,   272,   277,   295,   301,   316,
2324 <     339,   358,   372,   390,   397,   407,   416,   442,   452,   458,
2325 <     462,   472,   536,   552,   573,   260,   261,   262,   262,   340,
2326 <     417,   453,   262,   463,   262,   537,   373,   443,   359,   262,
2327 <     262,   317,   391,   262,   262,   398,   408,     1,    37,    47,
2328 <     120,   296,   297,   298,   299,   300,     1,    13,    34,    35,
2329 <      40,    42,    96,    97,   105,   106,   126,   127,   143,   144,
2330 <     154,   163,   250,   251,   252,   553,   554,   555,   556,   557,
2331 <     558,   559,   560,   561,   562,   563,   564,   565,   566,   567,
2332 <     568,   569,   570,   571,   572,   153,   341,   345,   153,   418,
2333 <     422,   262,     1,    89,   459,   460,   461,   262,     1,     8,
2334 <       9,    12,    19,    28,    32,    33,    39,    43,    44,    46,
2335 <      52,    70,    71,    75,    82,    86,    87,    88,    91,    94,
2336 <      95,   104,   110,   111,   113,   114,   115,   116,   117,   128,
2337 <     137,   139,   140,   142,   145,   146,   149,   160,   182,   184,
2338 <     188,   192,   193,   194,   195,   196,   200,   201,   209,   241,
2339 <     243,   249,   254,   259,   473,   474,   475,   476,   477,   478,
2340 <     479,   480,   481,   482,   483,   484,   485,   486,   487,   488,
2341 <     489,   490,   491,   492,   493,   494,   495,   496,   497,   498,
2342 <     499,   500,   501,   502,   503,   504,   505,   506,   507,   508,
2343 <     509,   510,   511,   512,   513,   514,   515,   516,   517,   518,
2344 <     519,   520,   521,   522,   523,   524,   528,   532,   533,   534,
2345 <     535,   262,   262,   262,   262,     1,    55,    56,    57,    58,
2346 <      59,    60,    61,    62,   103,   138,   219,   253,   302,   303,
2347 <     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2348 <     314,   315,     1,   118,   148,   273,   274,   275,   276,   153,
2349 <     318,   322,   262,     1,    41,    54,    76,    78,    80,    81,
2350 <      99,   574,   575,   576,   577,   578,   579,   580,   581,   582,
2351 <       1,    37,    84,   120,   122,   123,   165,   167,   168,   183,
2352 <     227,   255,   256,   278,   279,   280,   284,   285,   286,   287,
2353 <     288,   289,   290,   291,   292,   293,   294,   262,   262,   260,
2354 <     263,   263,   263,   261,   297,   263,   263,   263,   263,   263,
2355 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2356 <     263,   263,   263,   261,   554,   262,   262,     1,    89,   155,
2357 <     454,   455,   456,   457,   263,   261,   460,     1,   120,   155,
2358 <     187,   464,   468,   469,   470,   471,   263,   263,   263,   263,
2359 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2360 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2361 <     263,   263,   263,   263,   263,   263,   263,   263,   529,   263,
2362 <     525,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2363 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2364 <     263,   261,   474,     1,     4,    45,    48,   102,   120,   248,
2365 <     538,   539,   540,   541,   542,   546,   547,   548,     1,    26,
2366 <      49,    53,   147,   156,   157,   190,   248,   374,   375,   376,
2367 <     377,   378,   379,   380,   387,   388,   389,     1,   155,   187,
2368 <     248,   444,   448,   449,   450,   451,     1,    53,    83,    89,
2369 <     152,   360,   364,   365,   366,   370,   371,   260,   263,   263,
2370 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2371 <     261,   303,   260,   263,   263,   261,   274,   262,     1,    22,
2372 <     124,   155,   392,   393,   394,   395,   396,   263,   263,   263,
2373 <     263,   263,   263,   263,   261,   575,   260,   263,   263,   263,
2374 <     263,   263,   263,   263,   281,   263,   263,   263,   263,   261,
2375 <     279,     1,   120,   187,   248,   399,   400,   401,   402,   403,
2376 <       1,   120,   187,   409,   410,   411,   412,   153,   153,   153,
2377 <     260,   197,   131,   131,   197,   197,   131,   269,   269,   131,
2378 <     131,   197,   197,   131,   269,   197,   197,   197,   197,   197,
2379 <     260,     1,    23,    24,    30,   107,   108,   109,   112,   120,
2380 <     133,   134,   150,   151,   178,   342,   343,   344,   346,   347,
2381 <     348,   349,   350,   351,   352,   353,   354,   355,   356,   357,
2382 <       1,     3,     6,    25,    26,    49,    53,    83,    85,    98,
2383 <     120,   152,   166,   179,   255,   419,   420,   421,   423,   424,
2384 <     425,   426,   427,   428,   429,   436,   437,   438,   439,   440,
2385 <     441,   263,   263,   261,   455,   153,   260,   263,   263,   465,
2386 <     261,   469,   197,   269,   197,   269,   131,   153,   131,   197,
2387 <     197,   131,   153,   197,   131,   131,   131,   197,   269,   197,
2388 <     197,   269,   153,   197,   131,   131,   269,   131,   131,   153,
2389 <     131,   131,   197,   197,   263,   197,   263,   269,   269,   197,
2390 <     269,   153,   197,   197,   197,   197,   198,   197,   198,   197,
2391 <     197,   269,   269,   131,   271,   269,   197,   197,   197,   197,
2392 <     260,   549,   263,   263,   543,   263,   263,   261,   539,   260,
2393 <     263,   263,   381,   263,   263,   263,   263,   263,   261,   375,
2394 <     263,   445,   263,   261,   449,   260,   361,   263,   263,   263,
2395 <     261,   365,   153,   153,   153,   153,   153,   153,   153,   153,
2396 <     220,   221,   222,   223,   224,   225,   226,   153,   153,   197,
2397 <     260,   153,   153,   260,     1,    26,    49,    53,   120,   147,
2398 <     166,   236,   248,   319,   320,   321,   323,   324,   325,   326,
2399 <     327,   328,   332,   260,   263,   263,   263,   261,   393,   197,
2400 <     197,   197,   153,   197,   197,   269,   260,   153,   197,   153,
2401 <     153,   153,   153,   153,   263,   153,   131,   153,   153,   260,
2402 <     260,   263,   404,   263,   261,   400,   260,   263,   413,   261,
2403 <     410,   260,   260,   260,   260,   260,   260,   260,   260,   173,
2404 <     174,   175,   176,   177,   268,   269,   260,   260,   260,   260,
2405 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2406 <     263,   263,   263,   263,   263,   263,   263,   263,   263,   263,
2407 <     263,   263,   263,   261,   343,   260,   263,   263,   263,   263,
2408 <     263,   430,   263,   263,   263,   263,   263,   263,   263,   263,
2409 <     261,   420,   153,   153,   260,   260,   153,   153,   263,   260,
2410 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2411 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2412 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2413 <     260,   260,   204,   205,   206,   207,   208,   210,   211,   213,
2414 <     214,   215,   218,   228,   229,   230,   232,   233,   234,   237,
2415 <     240,   530,   531,   260,   204,   205,   206,   207,   208,   210,
2416 <     211,   213,   214,   215,   218,   228,   229,   230,   232,   233,
2417 <     234,   237,   240,   526,   527,   260,   260,   260,   260,   260,
2418 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2419 <     260,    14,    15,    16,   270,   271,   260,   260,   260,   260,
2420 <     260,   260,   263,   269,   197,   263,   153,   153,   260,   153,
2421 <     197,   263,   153,   131,   153,   153,   153,   260,   153,   263,
2422 <     153,   260,   263,   153,   153,   131,   368,   369,   260,   260,
2423 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2424 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2425 <     263,   263,   333,   263,   263,   263,   329,   263,   261,   320,
2426 <     153,   153,   153,   260,   260,   260,   260,   260,   260,   260,
2427 <     260,   260,   260,   260,   260,   260,   260,   260,   169,   170,
2428 <     282,   283,   260,   260,   260,   260,   153,   263,   153,   260,
2429 <     153,   263,   260,   268,   268,   268,   268,   268,   131,   131,
2430 <     269,   131,   131,   131,   131,   153,   131,   131,   269,   269,
2431 <     271,   260,   153,   216,   217,   153,   153,   197,   263,   153,
2432 <     153,   153,   153,   131,   153,   153,   153,   260,   260,   260,
2433 <     260,   260,   158,   466,   467,   260,   264,   260,   264,   270,
2434 <     270,   270,    11,   199,   550,   551,   260,   260,    11,   199,
2435 <     544,   545,   260,   260,   260,   260,   130,   382,   383,   385,
2436 <     260,   260,   260,   260,   260,   260,   158,   446,   447,   260,
2437 <      76,   231,   235,   362,   363,   260,   260,   202,   264,   367,
2438 <     153,   197,   263,   153,   153,   153,   263,   153,   260,   260,
2439 <     260,   260,   260,   264,   260,    92,   171,   203,   218,   238,
2440 <     239,   244,   245,   246,   247,   257,   405,   406,   260,   260,
2441 <      92,   171,   203,   218,   238,   239,   244,   245,   246,   247,
2442 <     257,   414,   415,   260,   260,   260,   260,   260,   260,   260,
2443 <     260,   260,   260,   260,   260,   260,   260,   260,   260,   260,
2444 <     260,   260,   130,   431,   432,   434,   260,   260,   260,   260,
2445 <     260,   260,   260,   260,   260,   264,   531,   527,   260,   264,
2446 <     260,   264,   384,   260,   264,    20,    21,    50,    67,    74,
2447 <      93,   121,   129,   172,   191,   386,   260,   264,   260,   264,
2448 <     131,   369,   260,   260,   260,   130,   334,   335,   337,   260,
2449 <     260,   260,   204,   205,   206,   207,   208,   210,   211,   213,
2450 <     214,   215,   218,   228,   229,   230,   232,   233,   234,   237,
2451 <     240,   330,   331,   260,   283,   260,   264,   260,   264,   433,
2452 <     260,   264,    10,    12,    27,    31,   242,   435,   467,   551,
2521 <     545,   386,   383,   447,   363,   336,   260,   264,     5,    38,
2522 <      49,    65,    72,    77,    79,    92,   125,   141,   159,   161,
2523 <     162,   229,   247,   257,   338,   260,   264,   406,   415,   435,
2524 <     432,   338,   335,   331
2321 >       0,   247,     0,     1,     5,    21,    24,    25,    30,    45,
2322 >      49,    50,    52,    58,    72,    82,    83,    99,   115,   151,
2323 >     160,   161,   164,   165,   218,   248,   253,   258,   280,   286,
2324 >     300,   318,   335,   349,   364,   371,   375,   385,   394,   414,
2325 >     424,   430,   434,   444,   504,   520,   541,   241,   242,   243,
2326 >     243,   319,   395,   425,   243,   435,   243,   505,   350,   415,
2327 >     336,   243,   243,   301,   365,   243,   243,   376,   386,   243,
2328 >       1,    31,    41,   100,   281,   282,   283,   284,   285,     1,
2329 >      13,    28,    29,    34,    36,    78,    79,    85,    86,   106,
2330 >     107,   121,   122,   132,   141,   229,   230,   231,   521,   522,
2331 >     523,   524,   525,   526,   527,   528,   529,   530,   531,   532,
2332 >     533,   534,   535,   536,   537,   538,   539,   540,   243,   243,
2333 >     243,     1,    71,   431,   432,   433,   243,     1,     8,     9,
2334 >      19,    27,    33,    37,    38,    40,    46,    55,    56,    60,
2335 >      65,    69,    70,    73,    76,    77,    84,    90,    91,    93,
2336 >      94,    95,    96,    97,   108,   116,   117,   118,   120,   123,
2337 >     124,   127,   138,   163,   167,   171,   172,   173,   174,   175,
2338 >     179,   180,   189,   219,   220,   222,   228,   233,   238,   445,
2339 >     446,   447,   448,   449,   450,   451,   452,   453,   454,   455,
2340 >     456,   457,   458,   459,   460,   461,   462,   463,   464,   465,
2341 >     466,   467,   468,   469,   470,   471,   472,   473,   474,   475,
2342 >     476,   477,   478,   479,   480,   481,   482,   483,   484,   485,
2343 >     486,   487,   488,   489,   490,   491,   492,   496,   500,   501,
2344 >     502,   503,   243,   243,   243,   243,     1,   232,   287,   288,
2345 >     289,   290,   291,     1,    98,   126,   254,   255,   256,   257,
2346 >     243,   243,     1,    35,    48,    61,    62,    63,    64,    81,
2347 >     542,   543,   544,   545,   546,   547,   548,   549,   550,     1,
2348 >      31,    67,   100,   102,   103,   143,   145,   146,   147,   148,
2349 >     162,   188,   200,   234,   235,   259,   260,   261,   262,   267,
2350 >     268,   269,   270,   271,   272,   273,   274,   275,   276,   277,
2351 >     278,   279,   243,   243,     1,   100,   372,   373,   374,   241,
2352 >     244,   244,   244,   242,   282,   244,   244,   244,   244,   244,
2353 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2354 >     244,   244,   244,   242,   522,     1,    22,    23,    26,    87,
2355 >      88,    89,    92,   100,   112,   113,   128,   129,   158,   320,
2356 >     321,   322,   323,   324,   325,   326,   327,   328,   329,   330,
2357 >     331,   332,   333,   334,     1,     3,     6,    24,    43,    47,
2358 >      66,    68,    80,   100,   130,   159,   188,   234,   396,   397,
2359 >     398,   399,   400,   401,   402,   403,   404,   405,   409,   410,
2360 >     411,   412,   413,     1,    71,   133,   426,   427,   428,   429,
2361 >     244,   242,   432,     1,   100,   133,   166,   436,   440,   441,
2362 >     442,   443,   244,   244,   244,   244,   244,   244,   244,   244,
2363 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2364 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2365 >     497,   244,   493,   244,   244,   244,   244,   244,   244,   244,
2366 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2367 >     244,   244,   244,   242,   446,     1,     4,    39,    42,    83,
2368 >     100,   227,   506,   507,   508,   509,   510,   514,   515,   516,
2369 >       1,    24,    43,    47,   125,   134,   135,   169,   227,   351,
2370 >     352,   353,   354,   355,   356,   357,   361,   362,   363,     1,
2371 >     133,   166,   227,   416,   420,   421,   422,   423,     1,    47,
2372 >      66,    71,   130,   337,   341,   342,   343,   347,   348,   241,
2373 >     244,   242,   288,   240,   241,   244,   244,   242,   255,     1,
2374 >      24,    43,    47,   100,   125,   144,   209,   227,   302,   303,
2375 >     304,   305,   306,   307,   308,   309,   310,   314,     1,    21,
2376 >     104,   133,   366,   367,   368,   369,   370,   244,   244,   244,
2377 >     244,   244,   244,   244,   242,   543,   241,   244,   244,   244,
2378 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2379 >     244,   244,   242,   260,     1,   100,   166,   227,   377,   378,
2380 >     379,   380,   381,     1,   100,   166,   387,   388,   389,   390,
2381 >     244,   242,   373,   131,   131,   131,   241,   176,   110,   110,
2382 >     176,   176,   110,   250,   250,   110,   110,   176,   176,   110,
2383 >     250,   176,   176,   176,   176,   176,   241,   241,   244,   244,
2384 >     244,   244,   244,   244,   244,   244,   244,   244,   244,   244,
2385 >     244,   242,   321,   241,   244,   244,   244,   244,   406,   244,
2386 >     244,   244,   244,   244,   244,   244,   244,   242,   397,   244,
2387 >     244,   242,   427,   131,   241,   244,   244,   437,   242,   441,
2388 >     176,   250,   250,   110,   176,   176,   110,   131,   176,   110,
2389 >     110,   110,   176,   176,   176,   250,   131,   176,   110,   110,
2390 >     250,   110,   110,   131,   110,   110,   176,   176,   244,   176,
2391 >     244,   250,   250,   176,   250,   176,   176,   176,   176,   177,
2392 >     176,   177,   176,   176,   250,   250,   110,   252,   131,   250,
2393 >     176,   176,   176,   176,   241,   517,   244,   244,   511,   244,
2394 >     244,   242,   507,   241,   244,   244,   358,   244,   244,   244,
2395 >     244,   244,   242,   352,   244,   417,   244,   242,   421,   241,
2396 >     338,   244,   244,   244,   242,   342,   176,   241,   243,   131,
2397 >     131,   241,   241,   244,   244,   315,   244,   244,   244,   311,
2398 >     244,   242,   303,   241,   244,   244,   244,   242,   367,   176,
2399 >     176,   176,   131,   176,   176,   250,   241,   131,   176,   131,
2400 >     131,   131,   131,   131,   131,   149,   150,   263,   264,   149,
2401 >     150,   265,   266,   131,   131,   110,   131,   131,   241,   241,
2402 >     244,   382,   244,   242,   378,   241,   244,   391,   242,   388,
2403 >     131,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2404 >     153,   154,   155,   156,   157,   249,   250,   241,   241,   241,
2405 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2406 >     110,   110,   250,   110,   110,   110,   110,   131,   110,   110,
2407 >     250,   250,   252,   241,   131,   197,   198,   131,   176,   244,
2408 >     131,   131,   131,   131,   110,   131,   131,   131,   241,   131,
2409 >     131,   241,   241,   131,   131,   244,   241,   241,   241,   241,
2410 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2411 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2412 >     241,   241,   241,   241,   241,    61,   183,   184,   185,   186,
2413 >     187,   190,   191,   194,   195,   196,   199,   201,   202,   203,
2414 >     205,   206,   207,   210,   216,   498,   499,   241,    61,   183,
2415 >     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2416 >     201,   202,   203,   205,   206,   207,   210,   216,   494,   495,
2417 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2418 >     241,   241,   241,   241,   241,    14,    15,    16,   251,   252,
2419 >     241,   241,   241,   241,   241,   241,   241,   244,   250,   176,
2420 >     244,   131,   131,   241,   131,   176,   244,   131,   110,   131,
2421 >     131,   131,   241,   131,   244,   131,   241,   244,   131,   131,
2422 >     110,   345,   346,   241,   241,     1,   100,   166,   239,   292,
2423 >     293,   294,   295,   296,   241,   241,   131,   176,   244,   131,
2424 >     131,   131,   244,   131,   241,   131,   131,   131,   241,   241,
2425 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2426 >     241,   241,   241,   241,   241,   245,   241,   245,   241,   241,
2427 >     241,   241,   241,   131,   244,   131,   241,   131,   244,   241,
2428 >     241,   249,   249,   249,   249,   249,   241,   241,   241,   241,
2429 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2430 >     241,   241,   241,   241,    10,    12,   208,   221,   407,   408,
2431 >     241,   241,   241,   241,   241,   241,   241,   241,   241,   241,
2432 >     241,   241,   136,   438,   439,   241,   245,   241,   245,   251,
2433 >     251,   251,    11,   178,   518,   519,   241,   241,    11,   178,
2434 >     512,   513,   241,   241,   241,   241,    20,    44,    53,    59,
2435 >      75,   101,   109,   152,   170,   359,   360,   241,   241,   241,
2436 >     241,   241,   241,   136,   418,   419,   241,    61,   204,   208,
2437 >     339,   340,   241,   241,   181,   245,   344,   241,   244,   297,
2438 >     244,   242,   293,   241,   241,     5,    32,    51,    57,    74,
2439 >      98,   105,   119,   137,   139,   140,   192,   202,   211,   215,
2440 >     217,   226,   236,   316,   317,   241,   241,   241,    61,   183,
2441 >     184,   185,   186,   187,   190,   191,   194,   195,   196,   199,
2442 >     201,   202,   203,   205,   206,   207,   210,   216,   312,   313,
2443 >     241,   241,   241,   241,   264,   266,   241,    74,   151,   182,
2444 >     192,   199,   211,   213,   214,   226,   236,   383,   384,   241,
2445 >     241,    74,   151,   182,   192,   199,   211,   213,   214,   226,
2446 >     236,   392,   393,   241,   245,   241,   245,   499,   495,   241,
2447 >     245,   241,   245,   241,   245,   241,   245,   241,   245,   110,
2448 >     346,   241,   131,   244,   212,   252,   241,   241,   245,   241,
2449 >     245,   241,   245,   241,   245,   408,   439,   519,   513,   360,
2450 >     419,   340,   241,    51,    72,    74,   115,   191,   192,   227,
2451 >     298,   299,   241,   241,   317,   313,   384,   393,   241,   245,
2452 >     299
2453   };
2454  
2455   #define yyerrok         (yyerrstatus = 0)
# Line 3355 | Line 3283 | yyreduce:
3283    YY_REDUCE_PRINT (yyn);
3284    switch (yyn)
3285      {
3286 <        case 26:
3286 >        case 27:
3287  
3288   /* Line 1806 of yacc.c  */
3289 < #line 423 "ircd_parser.y"
3289 > #line 409 "conf_parser.y"
3290      { (yyval.number) = 0; }
3291      break;
3292  
3293 <  case 28:
3293 >  case 29:
3294  
3295   /* Line 1806 of yacc.c  */
3296 < #line 425 "ircd_parser.y"
3296 > #line 411 "conf_parser.y"
3297      {
3298                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3299                  }
3300      break;
3301  
3302 <  case 29:
3302 >  case 30:
3303  
3304   /* Line 1806 of yacc.c  */
3305 < #line 429 "ircd_parser.y"
3305 > #line 415 "conf_parser.y"
3306      {
3307                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3308                  }
3309      break;
3310  
3311 <  case 30:
3311 >  case 31:
3312  
3313   /* Line 1806 of yacc.c  */
3314 < #line 433 "ircd_parser.y"
3314 > #line 419 "conf_parser.y"
3315      {
3316                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3317                  }
3318      break;
3319  
3320 <  case 31:
3320 >  case 32:
3321  
3322   /* Line 1806 of yacc.c  */
3323 < #line 437 "ircd_parser.y"
3323 > #line 423 "conf_parser.y"
3324      {
3325                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3326                  }
3327      break;
3328  
3329 <  case 32:
3329 >  case 33:
3330  
3331   /* Line 1806 of yacc.c  */
3332 < #line 441 "ircd_parser.y"
3332 > #line 427 "conf_parser.y"
3333      {
3334                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3335                  }
3336      break;
3337  
3338 <  case 33:
3338 >  case 34:
3339  
3340   /* Line 1806 of yacc.c  */
3341 < #line 445 "ircd_parser.y"
3341 > #line 431 "conf_parser.y"
3342      {
3343                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3344                  }
3345      break;
3346  
3347 <  case 34:
3347 >  case 35:
3348  
3349   /* Line 1806 of yacc.c  */
3350 < #line 450 "ircd_parser.y"
3350 > #line 436 "conf_parser.y"
3351      { (yyval.number) = 0; }
3352      break;
3353  
3354 <  case 36:
3354 >  case 37:
3355  
3356   /* Line 1806 of yacc.c  */
3357 < #line 451 "ircd_parser.y"
3357 > #line 437 "conf_parser.y"
3358      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3359      break;
3360  
3361 <  case 37:
3361 >  case 38:
3362  
3363   /* Line 1806 of yacc.c  */
3364 < #line 452 "ircd_parser.y"
3364 > #line 438 "conf_parser.y"
3365      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3366      break;
3367  
3368 <  case 38:
3368 >  case 39:
3369  
3370   /* Line 1806 of yacc.c  */
3371 < #line 453 "ircd_parser.y"
3371 > #line 439 "conf_parser.y"
3372      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3373      break;
3374  
3375 <  case 39:
3375 >  case 40:
3376  
3377   /* Line 1806 of yacc.c  */
3378 < #line 454 "ircd_parser.y"
3378 > #line 440 "conf_parser.y"
3379      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3380      break;
3381  
3382 <  case 46:
3382 >  case 47:
3383  
3384   /* Line 1806 of yacc.c  */
3385 < #line 468 "ircd_parser.y"
3385 > #line 454 "conf_parser.y"
3386      {
3387    if (conf_parser_ctx.pass == 2)
3388      add_conf_module(libio_basename(yylval.string));
3389   }
3390      break;
3391  
3392 <  case 47:
3392 >  case 48:
3393  
3394   /* Line 1806 of yacc.c  */
3395 < #line 474 "ircd_parser.y"
3395 > #line 460 "conf_parser.y"
3396      {
3397    if (conf_parser_ctx.pass == 2)
3398      mod_add_path(yylval.string);
3399   }
3400      break;
3401  
3402 <  case 64:
3402 >  case 72:
3403  
3404   /* Line 1806 of yacc.c  */
3405 < #line 494 "ircd_parser.y"
3405 > #line 485 "conf_parser.y"
3406      {
3407   #ifdef HAVE_LIBCRYPTO
3408 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3409 <    ServerInfo.tls_version = 0;
3408 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3409 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3410   #endif
3411   }
3412      break;
3413  
3414 <  case 65:
3414 >  case 73:
3415  
3416   /* Line 1806 of yacc.c  */
3417 < #line 500 "ircd_parser.y"
3417 > #line 491 "conf_parser.y"
3418      {
3419   #ifdef HAVE_LIBCRYPTO
3420 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3421 <  {
3494 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3495 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3496 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3497 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3498 <  }
3420 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3421 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3422   #endif
3423   }
3424      break;
3425  
3426 <  case 68:
3426 >  case 76:
3427  
3428   /* Line 1806 of yacc.c  */
3429 < #line 514 "ircd_parser.y"
3429 > #line 500 "conf_parser.y"
3430      {
3431   #ifdef HAVE_LIBCRYPTO
3432 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3433 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3432 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3433 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3434   #endif
3435   }
3436      break;
3437  
3438 <  case 69:
3438 >  case 77:
3439  
3440   /* Line 1806 of yacc.c  */
3441 < #line 520 "ircd_parser.y"
3441 > #line 506 "conf_parser.y"
3442      {
3443   #ifdef HAVE_LIBCRYPTO
3444 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3445 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3444 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3445 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3446   #endif
3447   }
3448      break;
3449  
3450 <  case 70:
3450 >  case 78:
3451  
3452   /* Line 1806 of yacc.c  */
3453 < #line 528 "ircd_parser.y"
3453 > #line 514 "conf_parser.y"
3454      {
3455   #ifdef HAVE_LIBCRYPTO
3456    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3539 | Line 3462 | yyreduce:
3462      }
3463  
3464      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3465 +                                     SSL_FILETYPE_PEM) <= 0 ||
3466 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3467                                       SSL_FILETYPE_PEM) <= 0)
3468      {
3469        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3546 | Line 3471 | yyreduce:
3471      }
3472  
3473      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3474 +                                    SSL_FILETYPE_PEM) <= 0 ||
3475 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3476                                      SSL_FILETYPE_PEM) <= 0)
3477      {
3478        yyerror(ERR_lib_error_string(ERR_get_error()));
3479        break;
3480      }
3481  
3482 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3482 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3483 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3484      {
3485        yyerror(ERR_lib_error_string(ERR_get_error()));
3486        break;
# Line 3562 | Line 3490 | yyreduce:
3490   }
3491      break;
3492  
3493 <  case 71:
3493 >  case 79:
3494  
3495   /* Line 1806 of yacc.c  */
3496 < #line 562 "ircd_parser.y"
3496 > #line 553 "conf_parser.y"
3497      {
3498   #ifdef HAVE_LIBCRYPTO
3499    if (conf_parser_ctx.pass == 1)
# Line 3592 | Line 3520 | yyreduce:
3520        break;
3521      }
3522  
3523 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3596 <      0, NULL);
3523 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3524  
3525      BIO_set_close(file, BIO_CLOSE);
3526      BIO_free(file);
# Line 3626 | Line 3553 | yyreduce:
3553   }
3554      break;
3555  
3556 <  case 72:
3556 >  case 80:
3557  
3558   /* Line 1806 of yacc.c  */
3559 < #line 622 "ircd_parser.y"
3559 > #line 612 "conf_parser.y"
3560 >    {
3561 > /* TBD - XXX: error reporting */
3562 > #ifdef HAVE_LIBCRYPTO
3563 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3564 >  {
3565 >    BIO *file = BIO_new_file(yylval.string, "r");
3566 >
3567 >    if (file)
3568 >    {
3569 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3570 >
3571 >      BIO_free(file);
3572 >
3573 >      if (dh)
3574 >      {
3575 >        if (DH_size(dh) < 128)
3576 >          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3577 >        else
3578 >          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3579 >
3580 >        DH_free(dh);
3581 >      }
3582 >    }
3583 >  }
3584 > #endif
3585 > }
3586 >    break;
3587 >
3588 >  case 81:
3589 >
3590 > /* Line 1806 of yacc.c  */
3591 > #line 640 "conf_parser.y"
3592 >    {
3593 > #ifdef HAVE_LIBCRYPTO
3594 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3595 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3596 > #endif
3597 > }
3598 >    break;
3599 >
3600 >  case 82:
3601 >
3602 > /* Line 1806 of yacc.c  */
3603 > #line 648 "conf_parser.y"
3604      {
3605    /* this isn't rehashable */
3606    if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
# Line 3638 | Line 3609 | yyreduce:
3609        DupString(ServerInfo.name, yylval.string);
3610      else
3611      {
3612 <      ilog(L_ERROR, "Ignoring serverinfo::name -- invalid name. Aborting.");
3612 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3613        exit(0);
3614      }
3615    }
3616   }
3617      break;
3618  
3619 <  case 73:
3619 >  case 83:
3620  
3621   /* Line 1806 of yacc.c  */
3622 < #line 637 "ircd_parser.y"
3622 > #line 663 "conf_parser.y"
3623      {
3624    /* this isn't rehashable */
3625    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3657 | Line 3628 | yyreduce:
3628        DupString(ServerInfo.sid, yylval.string);
3629      else
3630      {
3631 <      ilog(L_ERROR, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3631 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3632        exit(0);
3633      }
3634    }
3635   }
3636      break;
3637  
3638 <  case 74:
3638 >  case 84:
3639  
3640   /* Line 1806 of yacc.c  */
3641 < #line 652 "ircd_parser.y"
3641 > #line 678 "conf_parser.y"
3642      {
3643    if (conf_parser_ctx.pass == 2)
3644    {
# Line 3677 | Line 3648 | yyreduce:
3648   }
3649      break;
3650  
3651 <  case 75:
3651 >  case 85:
3652  
3653   /* Line 1806 of yacc.c  */
3654 < #line 661 "ircd_parser.y"
3654 > #line 687 "conf_parser.y"
3655      {
3656    if (conf_parser_ctx.pass == 2)
3657    {
# Line 3695 | Line 3666 | yyreduce:
3666   }
3667      break;
3668  
3669 <  case 76:
3669 >  case 86:
3670  
3671   /* Line 1806 of yacc.c  */
3672 < #line 675 "ircd_parser.y"
3672 > #line 701 "conf_parser.y"
3673      {
3674    if (conf_parser_ctx.pass == 2)
3675    {
# Line 3708 | Line 3679 | yyreduce:
3679   }
3680      break;
3681  
3682 <  case 77:
3682 >  case 87:
3683  
3684   /* Line 1806 of yacc.c  */
3685 < #line 684 "ircd_parser.y"
3685 > #line 710 "conf_parser.y"
3686      {
3687    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3688    {
# Line 3724 | Line 3695 | yyreduce:
3695      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3696  
3697      if (getaddrinfo(yylval.string, NULL, &hints, &res))
3698 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
3698 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3699      else
3700      {
3701        assert(res != NULL);
# Line 3740 | Line 3711 | yyreduce:
3711   }
3712      break;
3713  
3714 <  case 78:
3714 >  case 88:
3715  
3716   /* Line 1806 of yacc.c  */
3717 < #line 712 "ircd_parser.y"
3717 > #line 738 "conf_parser.y"
3718      {
3719   #ifdef IPV6
3720    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3757 | Line 3728 | yyreduce:
3728      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3729  
3730      if (getaddrinfo(yylval.string, NULL, &hints, &res))
3731 <      ilog(L_ERROR, "Invalid netmask for server vhost6(%s)", yylval.string);
3731 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3732      else
3733      {
3734        assert(res != NULL);
# Line 3774 | Line 3745 | yyreduce:
3745   }
3746      break;
3747  
3748 <  case 79:
3748 >  case 89:
3749  
3750   /* Line 1806 of yacc.c  */
3751 < #line 742 "ircd_parser.y"
3751 > #line 768 "conf_parser.y"
3752      {
3753    if (conf_parser_ctx.pass == 2)
3754    {
# Line 3801 | Line 3772 | yyreduce:
3772   }
3773      break;
3774  
3775 <  case 80:
3775 >  case 90:
3776  
3777   /* Line 1806 of yacc.c  */
3778 < #line 765 "ircd_parser.y"
3778 > #line 791 "conf_parser.y"
3779      {
3780    if (conf_parser_ctx.pass == 2)
3781      ServerInfo.hub = yylval.number;
3782   }
3783      break;
3784  
3785 <  case 88:
3785 >  case 98:
3786  
3787   /* Line 1806 of yacc.c  */
3788 < #line 780 "ircd_parser.y"
3788 > #line 806 "conf_parser.y"
3789      {
3790    if (conf_parser_ctx.pass == 2)
3791    {
# Line 3824 | Line 3795 | yyreduce:
3795   }
3796      break;
3797  
3798 <  case 89:
3798 >  case 99:
3799  
3800   /* Line 1806 of yacc.c  */
3801 < #line 789 "ircd_parser.y"
3801 > #line 815 "conf_parser.y"
3802      {
3803    if (conf_parser_ctx.pass == 2)
3804    {
# Line 3837 | Line 3808 | yyreduce:
3808   }
3809      break;
3810  
3811 <  case 90:
3811 >  case 100:
3812  
3813   /* Line 1806 of yacc.c  */
3814 < #line 798 "ircd_parser.y"
3814 > #line 824 "conf_parser.y"
3815      {
3816    if (conf_parser_ctx.pass == 2)
3817    {
# Line 3853 | Line 3824 | yyreduce:
3824    case 107:
3825  
3826   /* Line 1806 of yacc.c  */
3827 < #line 825 "ircd_parser.y"
3857 <    {
3858 <                        }
3859 <    break;
3860 <
3861 <  case 108:
3862 <
3863 < /* Line 1806 of yacc.c  */
3864 < #line 829 "ircd_parser.y"
3865 <    {
3866 <                        }
3867 <    break;
3868 <
3869 <  case 109:
3870 <
3871 < /* Line 1806 of yacc.c  */
3872 < #line 833 "ircd_parser.y"
3827 > #line 842 "conf_parser.y"
3828      {
3829    if (conf_parser_ctx.pass == 2)
3830 <    strlcpy(ConfigLoggingEntry.userlog, yylval.string,
3876 <            sizeof(ConfigLoggingEntry.userlog));
3877 < }
3878 <    break;
3879 <
3880 <  case 110:
3881 <
3882 < /* Line 1806 of yacc.c  */
3883 < #line 840 "ircd_parser.y"
3884 <    {
3885 <  if (conf_parser_ctx.pass == 2)
3886 <    strlcpy(ConfigLoggingEntry.failed_operlog, yylval.string,
3887 <            sizeof(ConfigLoggingEntry.failed_operlog));
3830 >    ConfigLoggingEntry.use_logging = yylval.number;
3831   }
3832      break;
3833  
3834 <  case 111:
3834 >  case 108:
3835  
3836   /* Line 1806 of yacc.c  */
3837 < #line 847 "ircd_parser.y"
3837 > #line 848 "conf_parser.y"
3838      {
3839 <  if (conf_parser_ctx.pass == 2)
3840 <    strlcpy(ConfigLoggingEntry.operlog, yylval.string,
3841 <            sizeof(ConfigLoggingEntry.operlog));
3839 >  lfile[0] = '\0';
3840 >  ltype = 0;
3841 >  lsize = 0;
3842   }
3843      break;
3844  
3845 <  case 112:
3845 >  case 109:
3846  
3847   /* Line 1806 of yacc.c  */
3848 < #line 854 "ircd_parser.y"
3848 > #line 853 "conf_parser.y"
3849      {
3850 <  if (conf_parser_ctx.pass == 2)
3851 <    strlcpy(ConfigLoggingEntry.operspylog, yylval.string,
3909 <            sizeof(ConfigLoggingEntry.operspylog));
3850 >  if (conf_parser_ctx.pass == 2 && ltype > 0)
3851 >    log_add_file(ltype, lsize, lfile);
3852   }
3853      break;
3854  
3855 <  case 113:
3855 >  case 116:
3856  
3857   /* Line 1806 of yacc.c  */
3858 < #line 861 "ircd_parser.y"
3858 > #line 865 "conf_parser.y"
3859      {
3860 <  if (conf_parser_ctx.pass == 2)
3919 <    strlcpy(ConfigLoggingEntry.glinelog, yylval.string,
3920 <            sizeof(ConfigLoggingEntry.glinelog));
3860 >  strlcpy(lfile, yylval.string, sizeof(lfile));
3861   }
3862      break;
3863  
3864 <  case 114:
3864 >  case 117:
3865  
3866   /* Line 1806 of yacc.c  */
3867 < #line 868 "ircd_parser.y"
3867 > #line 870 "conf_parser.y"
3868      {
3869 <  if (conf_parser_ctx.pass == 2)
3930 <    strlcpy(ConfigLoggingEntry.klinelog, yylval.string,
3931 <            sizeof(ConfigLoggingEntry.klinelog));
3869 >  lsize = (yyvsp[(3) - (4)].number);
3870   }
3871      break;
3872  
3873 <  case 115:
3873 >  case 118:
3874  
3875   /* Line 1806 of yacc.c  */
3876 < #line 875 "ircd_parser.y"
3876 > #line 873 "conf_parser.y"
3877      {
3878 <  if (conf_parser_ctx.pass == 2)
3941 <    strlcpy(ConfigLoggingEntry.ioerrlog, yylval.string,
3942 <            sizeof(ConfigLoggingEntry.ioerrlog));
3878 >  lsize = 0;
3879   }
3880      break;
3881  
3882 <  case 116:
3882 >  case 119:
3883  
3884   /* Line 1806 of yacc.c  */
3885 < #line 882 "ircd_parser.y"
3885 > #line 878 "conf_parser.y"
3886      {
3887    if (conf_parser_ctx.pass == 2)
3888 <    strlcpy(ConfigLoggingEntry.killlog, yylval.string,
3953 <            sizeof(ConfigLoggingEntry.killlog));
3888 >    ltype = 0;
3889   }
3890      break;
3891  
3892 <  case 117:
3958 <
3959 < /* Line 1806 of yacc.c  */
3960 < #line 889 "ircd_parser.y"
3961 <    {
3962 <  if (conf_parser_ctx.pass == 2)
3963 <    set_log_level(L_CRIT);
3964 < }
3965 <    break;
3966 <
3967 <  case 118:
3892 >  case 123:
3893  
3894   /* Line 1806 of yacc.c  */
3895 < #line 893 "ircd_parser.y"
3895 > #line 885 "conf_parser.y"
3896      {
3897    if (conf_parser_ctx.pass == 2)
3898 <    set_log_level(L_ERROR);
3898 >    ltype = LOG_TYPE_USER;
3899   }
3900      break;
3901  
3902 <  case 119:
3902 >  case 124:
3903  
3904   /* Line 1806 of yacc.c  */
3905 < #line 897 "ircd_parser.y"
3905 > #line 889 "conf_parser.y"
3906      {
3907    if (conf_parser_ctx.pass == 2)
3908 <    set_log_level(L_WARN);
3908 >    ltype = LOG_TYPE_OPER;
3909   }
3910      break;
3911  
3912 <  case 120:
3912 >  case 125:
3913  
3914   /* Line 1806 of yacc.c  */
3915 < #line 901 "ircd_parser.y"
3915 > #line 893 "conf_parser.y"
3916      {
3917    if (conf_parser_ctx.pass == 2)
3918 <    set_log_level(L_NOTICE);
3918 >    ltype = LOG_TYPE_GLINE;
3919   }
3920      break;
3921  
3922 <  case 121:
3922 >  case 126:
3923  
3924   /* Line 1806 of yacc.c  */
3925 < #line 905 "ircd_parser.y"
3925 > #line 897 "conf_parser.y"
3926      {
3927    if (conf_parser_ctx.pass == 2)
3928 <    set_log_level(L_TRACE);
3928 >    ltype = LOG_TYPE_DLINE;
3929   }
3930      break;
3931  
3932 <  case 122:
3932 >  case 127:
3933  
3934   /* Line 1806 of yacc.c  */
3935 < #line 909 "ircd_parser.y"
3935 > #line 901 "conf_parser.y"
3936      {
3937    if (conf_parser_ctx.pass == 2)
3938 <    set_log_level(L_INFO);
3938 >    ltype = LOG_TYPE_KLINE;
3939   }
3940      break;
3941  
3942 <  case 123:
3942 >  case 128:
3943  
3944   /* Line 1806 of yacc.c  */
3945 < #line 913 "ircd_parser.y"
3945 > #line 905 "conf_parser.y"
3946      {
3947    if (conf_parser_ctx.pass == 2)
3948 <    set_log_level(L_DEBUG);
3948 >    ltype = LOG_TYPE_KILL;
3949   }
3950      break;
3951  
3952 <  case 124:
3952 >  case 129:
3953  
3954   /* Line 1806 of yacc.c  */
3955 < #line 919 "ircd_parser.y"
3955 > #line 909 "conf_parser.y"
3956      {
3957    if (conf_parser_ctx.pass == 2)
3958 <    ConfigLoggingEntry.use_logging = yylval.number;
3958 >    ltype = LOG_TYPE_DEBUG;
3959   }
3960      break;
3961  
3962 <  case 125:
3962 >  case 130:
3963  
3964   /* Line 1806 of yacc.c  */
3965 < #line 928 "ircd_parser.y"
3965 > #line 919 "conf_parser.y"
3966      {
3967    if (conf_parser_ctx.pass == 2)
3968    {
# Line 4053 | Line 3978 | yyreduce:
3978   }
3979      break;
3980  
3981 <  case 126:
3981 >  case 131:
3982  
3983   /* Line 1806 of yacc.c  */
3984 < #line 941 "ircd_parser.y"
3984 > #line 932 "conf_parser.y"
3985      {
3986    if (conf_parser_ctx.pass == 2)
3987    {
# Line 4091 | Line 4016 | yyreduce:
4016          DupString(new_aconf->host, yy_tmp->host);
4017        else
4018          DupString(new_aconf->host, "*");
4019 +
4020 +      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->ipnum,
4021 +                                     &new_aconf->bits);
4022 +
4023        conf_add_class_to_conf(new_conf, class_name);
4024        if (yy_aconf->passwd != NULL)
4025          DupString(new_aconf->passwd, yy_aconf->passwd);
# Line 4138 | Line 4067 | yyreduce:
4067   }
4068      break;
4069  
4070 <  case 140:
4142 <
4143 < /* Line 1806 of yacc.c  */
4144 < #line 1028 "ircd_parser.y"
4145 <    {
4146 <  if (conf_parser_ctx.pass == 2)
4147 <  {
4148 <    if (strlen(yylval.string) > OPERNICKLEN)
4149 <      yylval.string[OPERNICKLEN] = '\0';
4150 <
4151 <    MyFree(yy_conf->name);
4152 <    DupString(yy_conf->name, yylval.string);
4153 <  }
4154 < }
4155 <    break;
4156 <
4157 <  case 141:
4070 >  case 143:
4071  
4072   /* Line 1806 of yacc.c  */
4073 < #line 1040 "ircd_parser.y"
4073 > #line 1022 "conf_parser.y"
4074      {
4075    if (conf_parser_ctx.pass == 2)
4076    {
# Line 4170 | Line 4083 | yyreduce:
4083   }
4084      break;
4085  
4086 <  case 142:
4086 >  case 144:
4087  
4088   /* Line 1806 of yacc.c  */
4089 < #line 1052 "ircd_parser.y"
4089 > #line 1034 "conf_parser.y"
4090      {
4091    if (conf_parser_ctx.pass == 2)
4092    {
# Line 4194 | Line 4107 | yyreduce:
4107      {
4108        DupString(yy_aconf->user, userbuf);
4109        DupString(yy_aconf->host, hostbuf);
4110 +
4111 +      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->ipnum,
4112 +                                    &yy_aconf->bits);
4113      }
4114      else
4115      {
# Line 4208 | Line 4124 | yyreduce:
4124   }
4125      break;
4126  
4127 <  case 143:
4127 >  case 145:
4128  
4129   /* Line 1806 of yacc.c  */
4130 < #line 1086 "ircd_parser.y"
4130 > #line 1071 "conf_parser.y"
4131      {
4132    if (conf_parser_ctx.pass == 2)
4133    {
# Line 4224 | Line 4140 | yyreduce:
4140   }
4141      break;
4142  
4143 <  case 144:
4143 >  case 146:
4144  
4145   /* Line 1806 of yacc.c  */
4146 < #line 1098 "ircd_parser.y"
4146 > #line 1083 "conf_parser.y"
4147      {
4148    if (conf_parser_ctx.pass == 2)
4149    {
# Line 4239 | Line 4155 | yyreduce:
4155   }
4156      break;
4157  
4158 <  case 145:
4158 >  case 147:
4159  
4160   /* Line 1806 of yacc.c  */
4161 < #line 1109 "ircd_parser.y"
4161 > #line 1094 "conf_parser.y"
4162      {
4163   #ifdef HAVE_LIBCRYPTO
4164    if (conf_parser_ctx.pass == 2)
# Line 4285 | Line 4201 | yyreduce:
4201   }
4202      break;
4203  
4204 <  case 146:
4204 >  case 148:
4205  
4206   /* Line 1806 of yacc.c  */
4207 < #line 1151 "ircd_parser.y"
4207 > #line 1136 "conf_parser.y"
4208      {
4209    if (conf_parser_ctx.pass == 2)
4210    {
# Line 4298 | Line 4214 | yyreduce:
4214   }
4215      break;
4216  
4217 <  case 147:
4217 >  case 149:
4218  
4219   /* Line 1806 of yacc.c  */
4220 < #line 1160 "ircd_parser.y"
4220 > #line 1145 "conf_parser.y"
4221      {
4222    if (conf_parser_ctx.pass == 2)
4223      yy_aconf->modes = 0;
4224   }
4225      break;
4226  
4227 <  case 151:
4227 >  case 153:
4228  
4229   /* Line 1806 of yacc.c  */
4230 < #line 1167 "ircd_parser.y"
4230 > #line 1152 "conf_parser.y"
4231      {
4232    if (conf_parser_ctx.pass == 2)
4233      yy_aconf->modes |= UMODE_BOTS;
4234   }
4235      break;
4236  
4237 <  case 152:
4237 >  case 154:
4238  
4239   /* Line 1806 of yacc.c  */
4240 < #line 1171 "ircd_parser.y"
4240 > #line 1156 "conf_parser.y"
4241      {
4242    if (conf_parser_ctx.pass == 2)
4243      yy_aconf->modes |= UMODE_CCONN;
4244   }
4245      break;
4246  
4247 <  case 153:
4247 >  case 155:
4248  
4249   /* Line 1806 of yacc.c  */
4250 < #line 1175 "ircd_parser.y"
4250 > #line 1160 "conf_parser.y"
4251      {
4252    if (conf_parser_ctx.pass == 2)
4253      yy_aconf->modes |= UMODE_CCONN_FULL;
4254   }
4255      break;
4256  
4257 <  case 154:
4257 >  case 156:
4258  
4259   /* Line 1806 of yacc.c  */
4260 < #line 1179 "ircd_parser.y"
4260 > #line 1164 "conf_parser.y"
4261      {
4262    if (conf_parser_ctx.pass == 2)
4263      yy_aconf->modes |= UMODE_DEAF;
4264   }
4265      break;
4266  
4267 <  case 155:
4267 >  case 157:
4268  
4269   /* Line 1806 of yacc.c  */
4270 < #line 1183 "ircd_parser.y"
4270 > #line 1168 "conf_parser.y"
4271      {
4272    if (conf_parser_ctx.pass == 2)
4273      yy_aconf->modes |= UMODE_DEBUG;
4274   }
4275      break;
4276  
4277 <  case 156:
4277 >  case 158:
4278  
4279   /* Line 1806 of yacc.c  */
4280 < #line 1187 "ircd_parser.y"
4280 > #line 1172 "conf_parser.y"
4281      {
4282    if (conf_parser_ctx.pass == 2)
4283      yy_aconf->modes |= UMODE_FULL;
4284   }
4285      break;
4286  
4287 <  case 157:
4287 >  case 159:
4288  
4289   /* Line 1806 of yacc.c  */
4290 < #line 1191 "ircd_parser.y"
4290 > #line 1176 "conf_parser.y"
4291 >    {
4292 >  if (conf_parser_ctx.pass == 2)
4293 >    yy_aconf->modes |= UMODE_HIDDEN;
4294 > }
4295 >    break;
4296 >
4297 >  case 160:
4298 >
4299 > /* Line 1806 of yacc.c  */
4300 > #line 1180 "conf_parser.y"
4301      {
4302    if (conf_parser_ctx.pass == 2)
4303      yy_aconf->modes |= UMODE_SKILL;
4304   }
4305      break;
4306  
4307 <  case 158:
4307 >  case 161:
4308  
4309   /* Line 1806 of yacc.c  */
4310 < #line 1195 "ircd_parser.y"
4310 > #line 1184 "conf_parser.y"
4311      {
4312    if (conf_parser_ctx.pass == 2)
4313      yy_aconf->modes |= UMODE_NCHANGE;
4314   }
4315      break;
4316  
4317 <  case 159:
4317 >  case 162:
4318  
4319   /* Line 1806 of yacc.c  */
4320 < #line 1199 "ircd_parser.y"
4320 > #line 1188 "conf_parser.y"
4321      {
4322    if (conf_parser_ctx.pass == 2)
4323      yy_aconf->modes |= UMODE_REJ;
4324   }
4325      break;
4326  
4327 <  case 160:
4327 >  case 163:
4328  
4329   /* Line 1806 of yacc.c  */
4330 < #line 1203 "ircd_parser.y"
4330 > #line 1192 "conf_parser.y"
4331      {
4332    if (conf_parser_ctx.pass == 2)
4333      yy_aconf->modes |= UMODE_UNAUTH;
4334   }
4335      break;
4336  
4337 <  case 161:
4337 >  case 164:
4338  
4339   /* Line 1806 of yacc.c  */
4340 < #line 1207 "ircd_parser.y"
4340 > #line 1196 "conf_parser.y"
4341      {
4342    if (conf_parser_ctx.pass == 2)
4343      yy_aconf->modes |= UMODE_SPY;
4344   }
4345      break;
4346  
4347 <  case 162:
4347 >  case 165:
4348  
4349   /* Line 1806 of yacc.c  */
4350 < #line 1211 "ircd_parser.y"
4350 > #line 1200 "conf_parser.y"
4351      {
4352    if (conf_parser_ctx.pass == 2)
4353      yy_aconf->modes |= UMODE_EXTERNAL;
4354   }
4355      break;
4356  
4357 <  case 163:
4357 >  case 166:
4358  
4359   /* Line 1806 of yacc.c  */
4360 < #line 1215 "ircd_parser.y"
4360 > #line 1204 "conf_parser.y"
4361      {
4362    if (conf_parser_ctx.pass == 2)
4363      yy_aconf->modes |= UMODE_OPERWALL;
4364   }
4365      break;
4366  
4367 <  case 164:
4367 >  case 167:
4368  
4369   /* Line 1806 of yacc.c  */
4370 < #line 1219 "ircd_parser.y"
4370 > #line 1208 "conf_parser.y"
4371      {
4372    if (conf_parser_ctx.pass == 2)
4373      yy_aconf->modes |= UMODE_SERVNOTICE;
4374   }
4375      break;
4376  
4377 <  case 165:
4377 >  case 168:
4378  
4379   /* Line 1806 of yacc.c  */
4380 < #line 1223 "ircd_parser.y"
4380 > #line 1212 "conf_parser.y"
4381      {
4382    if (conf_parser_ctx.pass == 2)
4383      yy_aconf->modes |= UMODE_INVISIBLE;
4384   }
4385      break;
4386  
4387 <  case 166:
4387 >  case 169:
4388  
4389   /* Line 1806 of yacc.c  */
4390 < #line 1227 "ircd_parser.y"
4390 > #line 1216 "conf_parser.y"
4391      {
4392    if (conf_parser_ctx.pass == 2)
4393      yy_aconf->modes |= UMODE_WALLOP;
4394   }
4395      break;
4396  
4397 <  case 167:
4397 >  case 170:
4398  
4399   /* Line 1806 of yacc.c  */
4400 < #line 1231 "ircd_parser.y"
4400 > #line 1220 "conf_parser.y"
4401      {
4402    if (conf_parser_ctx.pass == 2)
4403      yy_aconf->modes |= UMODE_SOFTCALLERID;
4404   }
4405      break;
4406  
4407 <  case 168:
4407 >  case 171:
4408  
4409   /* Line 1806 of yacc.c  */
4410 < #line 1235 "ircd_parser.y"
4410 > #line 1224 "conf_parser.y"
4411      {
4412    if (conf_parser_ctx.pass == 2)
4413      yy_aconf->modes |= UMODE_CALLERID;
4414   }
4415      break;
4416  
4417 <  case 169:
4417 >  case 172:
4418  
4419   /* Line 1806 of yacc.c  */
4420 < #line 1239 "ircd_parser.y"
4420 > #line 1228 "conf_parser.y"
4421      {
4422    if (conf_parser_ctx.pass == 2)
4423      yy_aconf->modes |= UMODE_LOCOPS;
4424   }
4425      break;
4426  
4427 <  case 170:
4427 >  case 173:
4428  
4429   /* Line 1806 of yacc.c  */
4430 < #line 1245 "ircd_parser.y"
4430 > #line 1234 "conf_parser.y"
4431      {
4432 +  if (conf_parser_ctx.pass == 2)
4433 +    yy_aconf->port = 0;
4434   }
4435      break;
4436  
4437 <  case 174:
4437 >  case 177:
4438  
4439   /* Line 1806 of yacc.c  */
4440 < #line 1249 "ircd_parser.y"
4441 <    { not_atom = 1; }
4442 <    break;
4443 <
4444 <  case 176:
4517 <
4518 < /* Line 1806 of yacc.c  */
4519 < #line 1250 "ircd_parser.y"
4520 <    { not_atom = 0; }
4440 > #line 1241 "conf_parser.y"
4441 >    {
4442 >  if (conf_parser_ctx.pass == 2)
4443 >    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4444 > }
4445      break;
4446  
4447    case 178:
4448  
4449   /* Line 1806 of yacc.c  */
4450 < #line 1253 "ircd_parser.y"
4450 > #line 1245 "conf_parser.y"
4451      {
4452    if (conf_parser_ctx.pass == 2)
4453 <  {
4530 <    if (not_atom)yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4531 <    else yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4532 <  }
4453 >    yy_aconf->port |= OPER_FLAG_REMOTE;
4454   }
4455      break;
4456  
4457    case 179:
4458  
4459   /* Line 1806 of yacc.c  */
4460 < #line 1260 "ircd_parser.y"
4460 > #line 1249 "conf_parser.y"
4461      {
4462    if (conf_parser_ctx.pass == 2)
4463 <  {
4543 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTE;
4544 <    else yy_aconf->port |= OPER_FLAG_REMOTE;
4545 <  }
4463 >    yy_aconf->port |= OPER_FLAG_K;
4464   }
4465      break;
4466  
4467    case 180:
4468  
4469   /* Line 1806 of yacc.c  */
4470 < #line 1267 "ircd_parser.y"
4470 > #line 1253 "conf_parser.y"
4471      {
4472    if (conf_parser_ctx.pass == 2)
4473 <  {
4556 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_K;
4557 <    else yy_aconf->port |= OPER_FLAG_K;
4558 <  }
4473 >    yy_aconf->port |= OPER_FLAG_UNKLINE;
4474   }
4475      break;
4476  
4477    case 181:
4478  
4479   /* Line 1806 of yacc.c  */
4480 < #line 1274 "ircd_parser.y"
4480 > #line 1257 "conf_parser.y"
4481      {
4482    if (conf_parser_ctx.pass == 2)
4483 <  {
4569 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4570 <    else yy_aconf->port |= OPER_FLAG_UNKLINE;
4571 <  }
4483 >    yy_aconf->port |= OPER_FLAG_DLINE;
4484   }
4485      break;
4486  
4487    case 182:
4488  
4489   /* Line 1806 of yacc.c  */
4490 < #line 1281 "ircd_parser.y"
4490 > #line 1261 "conf_parser.y"
4491      {
4492    if (conf_parser_ctx.pass == 2)
4493 <  {
4582 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_X;
4583 <    else yy_aconf->port |= OPER_FLAG_X;
4584 <  }
4493 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4494   }
4495      break;
4496  
4497    case 183:
4498  
4499   /* Line 1806 of yacc.c  */
4500 < #line 1288 "ircd_parser.y"
4500 > #line 1265 "conf_parser.y"
4501      {
4502    if (conf_parser_ctx.pass == 2)
4503 <  {
4595 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_GLINE;
4596 <    else yy_aconf->port |= OPER_FLAG_GLINE;
4597 <  }
4503 >    yy_aconf->port |= OPER_FLAG_X;
4504   }
4505      break;
4506  
4507    case 184:
4508  
4509   /* Line 1806 of yacc.c  */
4510 < #line 1295 "ircd_parser.y"
4510 > #line 1269 "conf_parser.y"
4511      {
4512    if (conf_parser_ctx.pass == 2)
4513 <  {
4608 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_DIE;
4609 <    else yy_aconf->port |= OPER_FLAG_DIE;
4610 <  }
4513 >    yy_aconf->port |= OPER_FLAG_GLINE;
4514   }
4515      break;
4516  
4517    case 185:
4518  
4519   /* Line 1806 of yacc.c  */
4520 < #line 1302 "ircd_parser.y"
4520 > #line 1273 "conf_parser.y"
4521      {
4522    if (conf_parser_ctx.pass == 2)
4523 <  {
4621 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REHASH;
4622 <    else yy_aconf->port |= OPER_FLAG_REHASH;
4623 <  }
4523 >    yy_aconf->port |= OPER_FLAG_DIE;
4524   }
4525      break;
4526  
4527    case 186:
4528  
4529   /* Line 1806 of yacc.c  */
4530 < #line 1309 "ircd_parser.y"
4530 > #line 1277 "conf_parser.y"
4531      {
4532    if (conf_parser_ctx.pass == 2)
4533 <  {
4634 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_ADMIN;
4635 <    else yy_aconf->port |= OPER_FLAG_ADMIN;
4636 <  }
4533 >    yy_aconf->port |= OPER_FLAG_RESTART;
4534   }
4535      break;
4536  
4537    case 187:
4538  
4539   /* Line 1806 of yacc.c  */
4540 < #line 1316 "ircd_parser.y"
4540 > #line 1281 "conf_parser.y"
4541      {
4542    if (conf_parser_ctx.pass == 2)
4543 <  {
4647 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4648 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4649 <  }
4543 >    yy_aconf->port |= OPER_FLAG_REHASH;
4544   }
4545      break;
4546  
4547    case 188:
4548  
4549   /* Line 1806 of yacc.c  */
4550 < #line 1323 "ircd_parser.y"
4550 > #line 1285 "conf_parser.y"
4551      {
4552    if (conf_parser_ctx.pass == 2)
4553 <  {
4660 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_N;
4661 <    else yy_aconf->port |= OPER_FLAG_N;
4662 <  }
4553 >    yy_aconf->port |= OPER_FLAG_ADMIN;
4554   }
4555      break;
4556  
4557    case 189:
4558  
4559   /* Line 1806 of yacc.c  */
4560 < #line 1330 "ircd_parser.y"
4560 > #line 1289 "conf_parser.y"
4561      {
4562    if (conf_parser_ctx.pass == 2)
4563 <  {
4673 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPERWALL;
4674 <    else yy_aconf->port |= OPER_FLAG_OPERWALL;
4675 <  }
4563 >    yy_aconf->port |= OPER_FLAG_N;
4564   }
4565      break;
4566  
4567    case 190:
4568  
4569   /* Line 1806 of yacc.c  */
4570 < #line 1337 "ircd_parser.y"
4570 > #line 1293 "conf_parser.y"
4571      {
4572    if (conf_parser_ctx.pass == 2)
4573 <  {
4686 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPER_SPY;
4687 <    else yy_aconf->port |= OPER_FLAG_OPER_SPY;
4688 <  }
4573 >    yy_aconf->port |= OPER_FLAG_OPERWALL;
4574   }
4575      break;
4576  
4577    case 191:
4578  
4579   /* Line 1806 of yacc.c  */
4580 < #line 1344 "ircd_parser.y"
4580 > #line 1297 "conf_parser.y"
4581      {
4582    if (conf_parser_ctx.pass == 2)
4583 <  {
4699 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
4700 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
4701 <  }
4583 >    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4584   }
4585      break;
4586  
4587    case 192:
4588  
4589   /* Line 1806 of yacc.c  */
4590 < #line 1351 "ircd_parser.y"
4590 > #line 1301 "conf_parser.y"
4591      {
4592    if (conf_parser_ctx.pass == 2)
4593 <  {
4712 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
4713 <    else yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4714 <  }
4593 >    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4594   }
4595      break;
4596  
4597    case 193:
4598  
4599   /* Line 1806 of yacc.c  */
4600 < #line 1358 "ircd_parser.y"
4600 > #line 1305 "conf_parser.y"
4601      {
4602    if (conf_parser_ctx.pass == 2)
4603 <  {
4725 <    if (not_atom) ClearConfEncrypted(yy_aconf);
4726 <    else SetConfEncrypted(yy_aconf);
4727 <  }
4603 >    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4604   }
4605      break;
4606  
4607    case 194:
4608  
4609   /* Line 1806 of yacc.c  */
4610 < #line 1371 "ircd_parser.y"
4610 > #line 1309 "conf_parser.y"
4611 >    {
4612 >  if (conf_parser_ctx.pass == 2)
4613 >    yy_aconf->port |= OPER_FLAG_MODULE;
4614 > }
4615 >    break;
4616 >
4617 >  case 195:
4618 >
4619 > /* Line 1806 of yacc.c  */
4620 > #line 1319 "conf_parser.y"
4621      {
4622    if (conf_parser_ctx.pass == 1)
4623    {
# Line 4741 | Line 4627 | yyreduce:
4627   }
4628      break;
4629  
4630 <  case 195:
4630 >  case 196:
4631  
4632   /* Line 1806 of yacc.c  */
4633 < #line 1378 "ircd_parser.y"
4633 > #line 1326 "conf_parser.y"
4634      {
4635    if (conf_parser_ctx.pass == 1)
4636    {
# Line 4755 | Line 4641 | yyreduce:
4641        delete_conf_item(yy_conf);
4642      else
4643      {
4644 <      cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL);
4644 >      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4645  
4646        if (cconf != NULL)                /* The class existed already */
4647        {
# Line 4788 | Line 4674 | yyreduce:
4674   }
4675      break;
4676  
4677 <  case 214:
4677 >  case 213:
4678  
4679   /* Line 1806 of yacc.c  */
4680 < #line 1438 "ircd_parser.y"
4680 > #line 1384 "conf_parser.y"
4681      {
4682    if (conf_parser_ctx.pass == 1)
4683    {
# Line 4801 | Line 4687 | yyreduce:
4687   }
4688      break;
4689  
4690 +  case 214:
4691 +
4692 + /* Line 1806 of yacc.c  */
4693 + #line 1393 "conf_parser.y"
4694 +    {
4695 +  if (conf_parser_ctx.pass == 1)
4696 +    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4697 + }
4698 +    break;
4699 +
4700    case 215:
4701  
4702   /* Line 1806 of yacc.c  */
4703 < #line 1447 "ircd_parser.y"
4703 > #line 1399 "conf_parser.y"
4704      {
4705    if (conf_parser_ctx.pass == 1)
4706 <  {
4811 <    MyFree(yy_class_name);
4812 <    DupString(yy_class_name, yylval.string);
4813 <  }
4706 >    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4707   }
4708      break;
4709  
4710    case 216:
4711  
4712   /* Line 1806 of yacc.c  */
4713 < #line 1456 "ircd_parser.y"
4713 > #line 1405 "conf_parser.y"
4714      {
4715    if (conf_parser_ctx.pass == 1)
4716 <    PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4716 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4717   }
4718      break;
4719  
4720    case 217:
4721  
4722   /* Line 1806 of yacc.c  */
4723 < #line 1462 "ircd_parser.y"
4723 > #line 1411 "conf_parser.y"
4724      {
4725    if (conf_parser_ctx.pass == 1)
4726 <    PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4726 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4727   }
4728      break;
4729  
4730    case 218:
4731  
4732   /* Line 1806 of yacc.c  */
4733 < #line 1468 "ircd_parser.y"
4733 > #line 1417 "conf_parser.y"
4734      {
4735    if (conf_parser_ctx.pass == 1)
4736 <    MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4736 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4737   }
4738      break;
4739  
4740    case 219:
4741  
4742   /* Line 1806 of yacc.c  */
4743 < #line 1474 "ircd_parser.y"
4743 > #line 1423 "conf_parser.y"
4744      {
4745    if (conf_parser_ctx.pass == 1)
4746 <    ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4746 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4747   }
4748      break;
4749  
4750    case 220:
4751  
4752   /* Line 1806 of yacc.c  */
4753 < #line 1480 "ircd_parser.y"
4753 > #line 1429 "conf_parser.y"
4754      {
4755    if (conf_parser_ctx.pass == 1)
4756 <    MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4756 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4757   }
4758      break;
4759  
4760    case 221:
4761  
4762   /* Line 1806 of yacc.c  */
4763 < #line 1486 "ircd_parser.y"
4763 > #line 1435 "conf_parser.y"
4764      {
4765    if (conf_parser_ctx.pass == 1)
4766 <    MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4766 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4767   }
4768      break;
4769  
4770    case 222:
4771  
4772   /* Line 1806 of yacc.c  */
4773 < #line 1492 "ircd_parser.y"
4773 > #line 1441 "conf_parser.y"
4774      {
4775    if (conf_parser_ctx.pass == 1)
4776 <    MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4776 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4777   }
4778      break;
4779  
4780    case 223:
4781  
4782   /* Line 1806 of yacc.c  */
4783 < #line 1498 "ircd_parser.y"
4783 > #line 1447 "conf_parser.y"
4784      {
4785    if (conf_parser_ctx.pass == 1)
4786 <    MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4786 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number);
4787   }
4788      break;
4789  
4790    case 224:
4791  
4792   /* Line 1806 of yacc.c  */
4793 < #line 1504 "ircd_parser.y"
4793 > #line 1453 "conf_parser.y"
4794      {
4795    if (conf_parser_ctx.pass == 1)
4796 <    MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4796 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number);
4797   }
4798      break;
4799  
4800    case 225:
4801  
4802   /* Line 1806 of yacc.c  */
4803 < #line 1510 "ircd_parser.y"
4803 > #line 1459 "conf_parser.y"
4804      {
4805    if (conf_parser_ctx.pass == 1)
4806 <    CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4806 >    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4807   }
4808      break;
4809  
4810    case 226:
4811  
4812   /* Line 1806 of yacc.c  */
4813 < #line 1516 "ircd_parser.y"
4921 <    {
4922 <  if (conf_parser_ctx.pass == 1)
4923 <    CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4924 < }
4925 <    break;
4926 <
4927 <  case 227:
4928 <
4929 < /* Line 1806 of yacc.c  */
4930 < #line 1522 "ircd_parser.y"
4931 <    {
4932 <  if (conf_parser_ctx.pass == 1)
4933 <    NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4934 < }
4935 <    break;
4936 <
4937 <  case 228:
4938 <
4939 < /* Line 1806 of yacc.c  */
4940 < #line 1531 "ircd_parser.y"
4813 > #line 1468 "conf_parser.y"
4814      {
4815    if (conf_parser_ctx.pass == 2)
4816    {
# Line 4947 | Line 4820 | yyreduce:
4820   }
4821      break;
4822  
4823 <  case 229:
4823 >  case 227:
4824  
4825   /* Line 1806 of yacc.c  */
4826 < #line 1538 "ircd_parser.y"
4826 > #line 1475 "conf_parser.y"
4827      {
4828    if (conf_parser_ctx.pass == 2)
4829    {
# Line 4960 | Line 4833 | yyreduce:
4833   }
4834      break;
4835  
4836 <  case 230:
4836 >  case 228:
4837  
4838   /* Line 1806 of yacc.c  */
4839 < #line 1547 "ircd_parser.y"
4839 > #line 1484 "conf_parser.y"
4840      {
4841    listener_flags = 0;
4842   }
4843      break;
4844  
4845 <  case 234:
4845 >  case 232:
4846  
4847   /* Line 1806 of yacc.c  */
4848 < #line 1553 "ircd_parser.y"
4848 > #line 1490 "conf_parser.y"
4849      {
4850    if (conf_parser_ctx.pass == 2)
4851      listener_flags |= LISTENER_SSL;
4852   }
4853      break;
4854  
4855 <  case 235:
4855 >  case 233:
4856  
4857   /* Line 1806 of yacc.c  */
4858 < #line 1557 "ircd_parser.y"
4858 > #line 1494 "conf_parser.y"
4859      {
4860    if (conf_parser_ctx.pass == 2)
4861      listener_flags |= LISTENER_HIDDEN;
4862   }
4863      break;
4864  
4865 <  case 236:
4865 >  case 234:
4866  
4867   /* Line 1806 of yacc.c  */
4868 < #line 1561 "ircd_parser.y"
4868 > #line 1498 "conf_parser.y"
4869      {
4870    if (conf_parser_ctx.pass == 2)
4871      listener_flags |= LISTENER_SERVER;
4872   }
4873      break;
4874  
4875 <  case 244:
4875 >  case 242:
4876  
4877   /* Line 1806 of yacc.c  */
4878 < #line 1571 "ircd_parser.y"
4878 > #line 1508 "conf_parser.y"
4879      { listener_flags = 0; }
4880      break;
4881  
4882 <  case 248:
4882 >  case 246:
4883  
4884   /* Line 1806 of yacc.c  */
4885 < #line 1576 "ircd_parser.y"
4885 > #line 1513 "conf_parser.y"
4886      {
4887    if (conf_parser_ctx.pass == 2)
4888    {
# Line 5026 | Line 4899 | yyreduce:
4899   }
4900      break;
4901  
4902 <  case 249:
4902 >  case 247:
4903  
4904   /* Line 1806 of yacc.c  */
4905 < #line 1590 "ircd_parser.y"
4905 > #line 1527 "conf_parser.y"
4906      {
4907    if (conf_parser_ctx.pass == 2)
4908    {
# Line 5050 | Line 4923 | yyreduce:
4923   }
4924      break;
4925  
4926 <  case 250:
4926 >  case 248:
4927  
4928   /* Line 1806 of yacc.c  */
4929 < #line 1610 "ircd_parser.y"
4929 > #line 1547 "conf_parser.y"
4930      {
4931    if (conf_parser_ctx.pass == 2)
4932    {
# Line 5063 | Line 4936 | yyreduce:
4936   }
4937      break;
4938  
4939 <  case 251:
4939 >  case 249:
4940  
4941   /* Line 1806 of yacc.c  */
4942 < #line 1619 "ircd_parser.y"
4942 > #line 1556 "conf_parser.y"
4943      {
4944    if (conf_parser_ctx.pass == 2)
4945    {
# Line 5076 | Line 4949 | yyreduce:
4949   }
4950      break;
4951  
4952 <  case 252:
4952 >  case 250:
4953  
4954   /* Line 1806 of yacc.c  */
4955 < #line 1631 "ircd_parser.y"
4955 > #line 1568 "conf_parser.y"
4956      {
4957    if (conf_parser_ctx.pass == 2)
4958    {
# Line 5094 | Line 4967 | yyreduce:
4967   }
4968      break;
4969  
4970 <  case 253:
4970 >  case 251:
4971  
4972   /* Line 1806 of yacc.c  */
4973 < #line 1643 "ircd_parser.y"
4973 > #line 1580 "conf_parser.y"
4974      {
4975    if (conf_parser_ctx.pass == 2)
4976    {
# Line 5155 | Line 5028 | yyreduce:
5028   }
5029      break;
5030  
5031 <  case 265:
5031 >  case 263:
5032  
5033   /* Line 1806 of yacc.c  */
5034 < #line 1705 "ircd_parser.y"
5034 > #line 1642 "conf_parser.y"
5035      {
5036    if (conf_parser_ctx.pass == 2)
5037    {
# Line 5194 | Line 5067 | yyreduce:
5067   }
5068      break;
5069  
5070 <  case 266:
5070 >  case 264:
5071  
5072   /* Line 1806 of yacc.c  */
5073 < #line 1742 "ircd_parser.y"
5073 > #line 1679 "conf_parser.y"
5074      {
5075    if (conf_parser_ctx.pass == 2)
5076    {
# Line 5211 | Line 5084 | yyreduce:
5084   }
5085      break;
5086  
5087 <  case 267:
5087 >  case 265:
5088  
5089   /* Line 1806 of yacc.c  */
5090 < #line 1755 "ircd_parser.y"
5090 > #line 1692 "conf_parser.y"
5091      {
5092    if (conf_parser_ctx.pass == 2)
5093    {
# Line 5224 | Line 5097 | yyreduce:
5097   }
5098      break;
5099  
5100 <  case 268:
5100 >  case 266:
5101  
5102   /* Line 1806 of yacc.c  */
5103 < #line 1764 "ircd_parser.y"
5103 > #line 1701 "conf_parser.y"
5104      {
5105    if (conf_parser_ctx.pass == 2)
5106    {
# Line 5239 | Line 5112 | yyreduce:
5112   }
5113      break;
5114  
5115 <  case 269:
5243 <
5244 < /* Line 1806 of yacc.c  */
5245 < #line 1775 "ircd_parser.y"
5246 <    {
5247 < }
5248 <    break;
5249 <
5250 <  case 273:
5251 <
5252 < /* Line 1806 of yacc.c  */
5253 < #line 1779 "ircd_parser.y"
5254 <    { not_atom = 1; }
5255 <    break;
5256 <
5257 <  case 275:
5258 <
5259 < /* Line 1806 of yacc.c  */
5260 < #line 1780 "ircd_parser.y"
5261 <    { not_atom = 0; }
5262 <    break;
5263 <
5264 <  case 277:
5115 >  case 267:
5116  
5117   /* Line 1806 of yacc.c  */
5118 < #line 1783 "ircd_parser.y"
5118 > #line 1712 "conf_parser.y"
5119      {
5269  if (conf_parser_ctx.pass == 2)
5270  {
5271    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5272    else yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5273  }
5120   }
5121      break;
5122  
5123 <  case 278:
5123 >  case 271:
5124  
5125   /* Line 1806 of yacc.c  */
5126 < #line 1790 "ircd_parser.y"
5126 > #line 1717 "conf_parser.y"
5127      {
5128    if (conf_parser_ctx.pass == 2)
5129 <  {
5284 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5285 <    else yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5286 <  }
5129 >    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5130   }
5131      break;
5132  
5133 <  case 279:
5133 >  case 272:
5134  
5135   /* Line 1806 of yacc.c  */
5136 < #line 1797 "ircd_parser.y"
5136 > #line 1721 "conf_parser.y"
5137      {
5138    if (conf_parser_ctx.pass == 2)
5139 <  {
5297 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5298 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5299 <  }
5139 >    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5140   }
5141      break;
5142  
5143 <  case 280:
5143 >  case 273:
5144  
5145   /* Line 1806 of yacc.c  */
5146 < #line 1804 "ircd_parser.y"
5146 > #line 1725 "conf_parser.y"
5147      {
5148    if (conf_parser_ctx.pass == 2)
5149 <  {
5310 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5311 <    else yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5312 <  }
5149 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5150   }
5151      break;
5152  
5153 <  case 281:
5153 >  case 274:
5154  
5155   /* Line 1806 of yacc.c  */
5156 < #line 1811 "ircd_parser.y"
5156 > #line 1729 "conf_parser.y"
5157      {
5158    if (conf_parser_ctx.pass == 2)
5159 <  {
5323 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5324 <    else yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5325 <  }
5159 >    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5160   }
5161      break;
5162  
5163 <  case 282:
5163 >  case 275:
5164  
5165   /* Line 1806 of yacc.c  */
5166 < #line 1818 "ircd_parser.y"
5166 > #line 1733 "conf_parser.y"
5167      {
5168    if (conf_parser_ctx.pass == 2)
5169 <  {
5336 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_IDLE_LINED;
5337 <    else yy_aconf->flags |= CONF_FLAGS_IDLE_LINED;
5338 <  }
5169 >    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5170   }
5171      break;
5172  
5173 <  case 283:
5173 >  case 276:
5174  
5175   /* Line 1806 of yacc.c  */
5176 < #line 1825 "ircd_parser.y"
5176 > #line 1737 "conf_parser.y"
5177      {
5178    if (conf_parser_ctx.pass == 2)
5179 <  {
5349 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5350 <    else yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5351 <  }
5179 >    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5180   }
5181      break;
5182  
5183 <  case 284:
5183 >  case 277:
5184  
5185   /* Line 1806 of yacc.c  */
5186 < #line 1832 "ircd_parser.y"
5186 > #line 1741 "conf_parser.y"
5187      {
5188    if (conf_parser_ctx.pass == 2)
5189 <  {
5362 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5363 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5364 <  }
5189 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5190   }
5191      break;
5192  
5193 <  case 285:
5193 >  case 278:
5194  
5195   /* Line 1806 of yacc.c  */
5196 < #line 1839 "ircd_parser.y"
5196 > #line 1745 "conf_parser.y"
5197      {
5198    if (conf_parser_ctx.pass == 2)
5199 <  {
5375 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTRESV;
5376 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5377 <  }
5199 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5200   }
5201      break;
5202  
5203 <  case 286:
5203 >  case 279:
5204  
5205   /* Line 1806 of yacc.c  */
5206 < #line 1846 "ircd_parser.y"
5206 > #line 1749 "conf_parser.y"
5207      {
5208    if (conf_parser_ctx.pass == 2)
5209 <  {
5388 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5389 <    else yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5390 <  }
5209 >    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5210   }
5211      break;
5212  
5213 <  case 287:
5213 >  case 280:
5214  
5215   /* Line 1806 of yacc.c  */
5216 < #line 1856 "ircd_parser.y"
5216 > #line 1756 "conf_parser.y"
5217      {
5218    if (conf_parser_ctx.pass == 2)
5219    {
# Line 5407 | Line 5226 | yyreduce:
5226      }
5227      else
5228      {
5229 <      ilog(L_ERROR, "Spoofs must be less than %d..ignoring it", HOSTLEN);
5229 >      ilog(LOG_TYPE_IRCD, "Spoofs must be less than %d..ignoring it", HOSTLEN);
5230        yy_conf->name = NULL;
5231      }
5232    }
5233   }
5234      break;
5235  
5236 <  case 288:
5236 >  case 281:
5237  
5238   /* Line 1806 of yacc.c  */
5239 < #line 1875 "ircd_parser.y"
5239 > #line 1775 "conf_parser.y"
5240      {
5241    if (conf_parser_ctx.pass == 2)
5242    {
# Line 5428 | Line 5247 | yyreduce:
5247   }
5248      break;
5249  
5250 <  case 289:
5250 >  case 282:
5251  
5252   /* Line 1806 of yacc.c  */
5253 < #line 1885 "ircd_parser.y"
5253 > #line 1785 "conf_parser.y"
5254      {
5255    if (conf_parser_ctx.pass == 2)
5256    {
# Line 5441 | Line 5260 | yyreduce:
5260   }
5261      break;
5262  
5263 <  case 290:
5263 >  case 283:
5264  
5265   /* Line 1806 of yacc.c  */
5266 < #line 1898 "ircd_parser.y"
5266 > #line 1798 "conf_parser.y"
5267      {
5268    if (conf_parser_ctx.pass == 2)
5269    {
# Line 5454 | Line 5273 | yyreduce:
5273   }
5274      break;
5275  
5276 <  case 291:
5276 >  case 284:
5277  
5278   /* Line 1806 of yacc.c  */
5279 < #line 1905 "ircd_parser.y"
5279 > #line 1805 "conf_parser.y"
5280      {
5281    if (conf_parser_ctx.pass == 2)
5282    {
# Line 5467 | Line 5286 | yyreduce:
5286   }
5287      break;
5288  
5289 <  case 298:
5289 >  case 291:
5290  
5291   /* Line 1806 of yacc.c  */
5292 < #line 1917 "ircd_parser.y"
5292 > #line 1817 "conf_parser.y"
5293      {
5294    if (conf_parser_ctx.pass == 2)
5295    {
# Line 5480 | Line 5299 | yyreduce:
5299   }
5300      break;
5301  
5302 <  case 299:
5302 >  case 292:
5303  
5304   /* Line 1806 of yacc.c  */
5305 < #line 1926 "ircd_parser.y"
5305 > #line 1826 "conf_parser.y"
5306      {
5307    if (conf_parser_ctx.pass == 2)
5308    {
# Line 5499 | Line 5318 | yyreduce:
5318   }
5319      break;
5320  
5321 <  case 300:
5321 >  case 293:
5322  
5323   /* Line 1806 of yacc.c  */
5324 < #line 1941 "ircd_parser.y"
5324 > #line 1841 "conf_parser.y"
5325      {
5326    if (conf_parser_ctx.pass == 2)
5327    {
# Line 5513 | Line 5332 | yyreduce:
5332   }
5333      break;
5334  
5335 <  case 301:
5335 >  case 299:
5336 >
5337 > /* Line 1806 of yacc.c  */
5338 > #line 1859 "conf_parser.y"
5339 >    {
5340 >  if (conf_parser_ctx.pass == 2)
5341 >  {
5342 >    if (valid_servname(yylval.string))
5343 >    {
5344 >      yy_conf = make_conf_item(SERVICE_TYPE);
5345 >      DupString(yy_conf->name, yylval.string);
5346 >    }
5347 >  }
5348 > }
5349 >    break;
5350 >
5351 >  case 300:
5352  
5353   /* Line 1806 of yacc.c  */
5354 < #line 1954 "ircd_parser.y"
5354 > #line 1874 "conf_parser.y"
5355      {
5356    if (conf_parser_ctx.pass == 2)
5357    {
# Line 5527 | Line 5362 | yyreduce:
5362   }
5363      break;
5364  
5365 <  case 302:
5365 >  case 301:
5366  
5367   /* Line 1806 of yacc.c  */
5368 < #line 1962 "ircd_parser.y"
5368 > #line 1882 "conf_parser.y"
5369      {
5370    if (conf_parser_ctx.pass == 2)
5371    {
# Line 5539 | Line 5374 | yyreduce:
5374   }
5375      break;
5376  
5377 <  case 309:
5377 >  case 308:
5378  
5379   /* Line 1806 of yacc.c  */
5380 < #line 1973 "ircd_parser.y"
5380 > #line 1893 "conf_parser.y"
5381      {
5382    if (conf_parser_ctx.pass == 2)
5383    {
# Line 5552 | Line 5387 | yyreduce:
5387   }
5388      break;
5389  
5390 <  case 310:
5390 >  case 309:
5391  
5392   /* Line 1806 of yacc.c  */
5393 < #line 1982 "ircd_parser.y"
5393 > #line 1902 "conf_parser.y"
5394      {
5395    if (conf_parser_ctx.pass == 2)
5396    {
# Line 5578 | Line 5413 | yyreduce:
5413   }
5414      break;
5415  
5416 <  case 311:
5416 >  case 310:
5417  
5418   /* Line 1806 of yacc.c  */
5419 < #line 2004 "ircd_parser.y"
5419 > #line 1924 "conf_parser.y"
5420      {
5421    if (conf_parser_ctx.pass == 2)
5422      yy_match_item->action = 0;
5423   }
5424      break;
5425  
5426 <  case 315:
5426 >  case 314:
5427  
5428   /* Line 1806 of yacc.c  */
5429 < #line 2011 "ircd_parser.y"
5429 > #line 1931 "conf_parser.y"
5430      {
5431    if (conf_parser_ctx.pass == 2)
5432      yy_match_item->action |= SHARED_KLINE;
5433   }
5434      break;
5435  
5436 <  case 316:
5436 >  case 315:
5437  
5438   /* Line 1806 of yacc.c  */
5439 < #line 2015 "ircd_parser.y"
5439 > #line 1935 "conf_parser.y"
5440      {
5441    if (conf_parser_ctx.pass == 2)
5442 <    yy_match_item->action |= SHARED_TKLINE;
5442 >    yy_match_item->action |= SHARED_UNKLINE;
5443   }
5444      break;
5445  
5446 <  case 317:
5446 >  case 316:
5447  
5448   /* Line 1806 of yacc.c  */
5449 < #line 2019 "ircd_parser.y"
5449 > #line 1939 "conf_parser.y"
5450      {
5451    if (conf_parser_ctx.pass == 2)
5452 <    yy_match_item->action |= SHARED_UNKLINE;
5452 >    yy_match_item->action |= SHARED_DLINE;
5453   }
5454      break;
5455  
5456 <  case 318:
5456 >  case 317:
5457  
5458   /* Line 1806 of yacc.c  */
5459 < #line 2023 "ircd_parser.y"
5459 > #line 1943 "conf_parser.y"
5460      {
5461    if (conf_parser_ctx.pass == 2)
5462 <    yy_match_item->action |= SHARED_XLINE;
5462 >    yy_match_item->action |= SHARED_UNDLINE;
5463   }
5464      break;
5465  
5466 <  case 319:
5466 >  case 318:
5467  
5468   /* Line 1806 of yacc.c  */
5469 < #line 2027 "ircd_parser.y"
5469 > #line 1947 "conf_parser.y"
5470      {
5471    if (conf_parser_ctx.pass == 2)
5472 <    yy_match_item->action |= SHARED_TXLINE;
5472 >    yy_match_item->action |= SHARED_XLINE;
5473   }
5474      break;
5475  
5476 <  case 320:
5476 >  case 319:
5477  
5478   /* Line 1806 of yacc.c  */
5479 < #line 2031 "ircd_parser.y"
5479 > #line 1951 "conf_parser.y"
5480      {
5481    if (conf_parser_ctx.pass == 2)
5482      yy_match_item->action |= SHARED_UNXLINE;
5483   }
5484      break;
5485  
5486 <  case 321:
5486 >  case 320:
5487  
5488   /* Line 1806 of yacc.c  */
5489 < #line 2035 "ircd_parser.y"
5489 > #line 1955 "conf_parser.y"
5490      {
5491    if (conf_parser_ctx.pass == 2)
5492      yy_match_item->action |= SHARED_RESV;
5493   }
5494      break;
5495  
5496 <  case 322:
5662 <
5663 < /* Line 1806 of yacc.c  */
5664 < #line 2039 "ircd_parser.y"
5665 <    {
5666 <  if (conf_parser_ctx.pass == 2)
5667 <    yy_match_item->action |= SHARED_TRESV;
5668 < }
5669 <    break;
5670 <
5671 <  case 323:
5496 >  case 321:
5497  
5498   /* Line 1806 of yacc.c  */
5499 < #line 2043 "ircd_parser.y"
5499 > #line 1959 "conf_parser.y"
5500      {
5501    if (conf_parser_ctx.pass == 2)
5502      yy_match_item->action |= SHARED_UNRESV;
5503   }
5504      break;
5505  
5506 <  case 324:
5506 >  case 322:
5507  
5508   /* Line 1806 of yacc.c  */
5509 < #line 2047 "ircd_parser.y"
5509 > #line 1963 "conf_parser.y"
5510      {
5511    if (conf_parser_ctx.pass == 2)
5512      yy_match_item->action |= SHARED_LOCOPS;
5513   }
5514      break;
5515  
5516 <  case 325:
5516 >  case 323:
5517  
5518   /* Line 1806 of yacc.c  */
5519 < #line 2051 "ircd_parser.y"
5519 > #line 1967 "conf_parser.y"
5520      {
5521    if (conf_parser_ctx.pass == 2)
5522      yy_match_item->action = SHARED_ALL;
5523   }
5524      break;
5525  
5526 <  case 326:
5526 >  case 324:
5527  
5528   /* Line 1806 of yacc.c  */
5529 < #line 2060 "ircd_parser.y"
5529 > #line 1976 "conf_parser.y"
5530      {
5531    if (conf_parser_ctx.pass == 2)
5532    {
# Line 5711 | Line 5536 | yyreduce:
5536   }
5537      break;
5538  
5539 <  case 327:
5539 >  case 325:
5540  
5541   /* Line 1806 of yacc.c  */
5542 < #line 2067 "ircd_parser.y"
5542 > #line 1983 "conf_parser.y"
5543      {
5544    if (conf_parser_ctx.pass == 2)
5545    {
# Line 5725 | Line 5550 | yyreduce:
5550   }
5551      break;
5552  
5553 <  case 333:
5553 >  case 331:
5554  
5555   /* Line 1806 of yacc.c  */
5556 < #line 2080 "ircd_parser.y"
5556 > #line 1996 "conf_parser.y"
5557      {
5558    if (conf_parser_ctx.pass == 2)
5559      DupString(yy_conf->name, yylval.string);
5560   }
5561      break;
5562  
5563 <  case 334:
5563 >  case 332:
5564  
5565   /* Line 1806 of yacc.c  */
5566 < #line 2086 "ircd_parser.y"
5566 > #line 2002 "conf_parser.y"
5567      {
5568    if (conf_parser_ctx.pass == 2)
5569      yy_conf->flags = 0;
5570   }
5571      break;
5572  
5573 <  case 338:
5573 >  case 336:
5574  
5575   /* Line 1806 of yacc.c  */
5576 < #line 2093 "ircd_parser.y"
5576 > #line 2009 "conf_parser.y"
5577      {
5578    if (conf_parser_ctx.pass == 2)
5579      yy_conf->flags |= SHARED_KLINE;
5580   }
5581      break;
5582  
5583 <  case 339:
5583 >  case 337:
5584  
5585   /* Line 1806 of yacc.c  */
5586 < #line 2097 "ircd_parser.y"
5586 > #line 2013 "conf_parser.y"
5587      {
5588    if (conf_parser_ctx.pass == 2)
5589 <    yy_conf->flags |= SHARED_TKLINE;
5589 >    yy_conf->flags |= SHARED_UNKLINE;
5590   }
5591      break;
5592  
5593 <  case 340:
5593 >  case 338:
5594  
5595   /* Line 1806 of yacc.c  */
5596 < #line 2101 "ircd_parser.y"
5596 > #line 2017 "conf_parser.y"
5597      {
5598    if (conf_parser_ctx.pass == 2)
5599 <    yy_conf->flags |= SHARED_UNKLINE;
5599 >    yy_conf->flags |= SHARED_DLINE;
5600   }
5601      break;
5602  
5603 <  case 341:
5603 >  case 339:
5604  
5605   /* Line 1806 of yacc.c  */
5606 < #line 2105 "ircd_parser.y"
5606 > #line 2021 "conf_parser.y"
5607      {
5608    if (conf_parser_ctx.pass == 2)
5609 <    yy_conf->flags |= SHARED_XLINE;
5609 >    yy_conf->flags |= SHARED_UNDLINE;
5610   }
5611      break;
5612  
5613 <  case 342:
5613 >  case 340:
5614  
5615   /* Line 1806 of yacc.c  */
5616 < #line 2109 "ircd_parser.y"
5616 > #line 2025 "conf_parser.y"
5617      {
5618    if (conf_parser_ctx.pass == 2)
5619 <    yy_conf->flags |= SHARED_TXLINE;
5619 >    yy_conf->flags |= SHARED_XLINE;
5620   }
5621      break;
5622  
5623 <  case 343:
5623 >  case 341:
5624  
5625   /* Line 1806 of yacc.c  */
5626 < #line 2113 "ircd_parser.y"
5626 > #line 2029 "conf_parser.y"
5627      {
5628    if (conf_parser_ctx.pass == 2)
5629      yy_conf->flags |= SHARED_UNXLINE;
5630   }
5631      break;
5632  
5633 <  case 344:
5633 >  case 342:
5634  
5635   /* Line 1806 of yacc.c  */
5636 < #line 2117 "ircd_parser.y"
5636 > #line 2033 "conf_parser.y"
5637      {
5638    if (conf_parser_ctx.pass == 2)
5639      yy_conf->flags |= SHARED_RESV;
5640   }
5641      break;
5642  
5643 <  case 345:
5819 <
5820 < /* Line 1806 of yacc.c  */
5821 < #line 2121 "ircd_parser.y"
5822 <    {
5823 <  if (conf_parser_ctx.pass == 2)
5824 <    yy_conf->flags |= SHARED_TRESV;
5825 < }
5826 <    break;
5827 <
5828 <  case 346:
5643 >  case 343:
5644  
5645   /* Line 1806 of yacc.c  */
5646 < #line 2125 "ircd_parser.y"
5646 > #line 2037 "conf_parser.y"
5647      {
5648    if (conf_parser_ctx.pass == 2)
5649      yy_conf->flags |= SHARED_UNRESV;
5650   }
5651      break;
5652  
5653 <  case 347:
5653 >  case 344:
5654  
5655   /* Line 1806 of yacc.c  */
5656 < #line 2129 "ircd_parser.y"
5656 > #line 2041 "conf_parser.y"
5657      {
5658    if (conf_parser_ctx.pass == 2)
5659      yy_conf->flags |= SHARED_LOCOPS;
5660   }
5661      break;
5662  
5663 <  case 348:
5663 >  case 345:
5664  
5665   /* Line 1806 of yacc.c  */
5666 < #line 2133 "ircd_parser.y"
5666 > #line 2045 "conf_parser.y"
5667      {
5668    if (conf_parser_ctx.pass == 2)
5669      yy_conf->flags = SHARED_ALL;
5670   }
5671      break;
5672  
5673 <  case 349:
5673 >  case 346:
5674  
5675   /* Line 1806 of yacc.c  */
5676 < #line 2142 "ircd_parser.y"
5676 > #line 2054 "conf_parser.y"
5677      {
5678    if (conf_parser_ctx.pass == 2)
5679    {
5680      yy_conf = make_conf_item(SERVER_TYPE);
5681 <    yy_aconf = (struct AccessItem *)map_to_conf(yy_conf);
5682 <    yy_aconf->passwd = NULL;
5681 >    yy_aconf = map_to_conf(yy_conf);
5682 >
5683      /* defaults */
5684      yy_aconf->port = PORTNUM;
5870
5871    if (ConfigFileEntry.burst_away)
5872      yy_aconf->flags = CONF_FLAGS_BURST_AWAY;
5685    }
5686    else
5687    {
# Line 5879 | Line 5691 | yyreduce:
5691   }
5692      break;
5693  
5694 <  case 350:
5694 >  case 347:
5695  
5696   /* Line 1806 of yacc.c  */
5697 < #line 2160 "ircd_parser.y"
5697 > #line 2069 "conf_parser.y"
5698      {
5699    if (conf_parser_ctx.pass == 2)
5700    {
5701      struct CollectItem *yy_hconf=NULL;
5702      struct CollectItem *yy_lconf=NULL;
5703 <    dlink_node *ptr;
5704 <    dlink_node *next_ptr;
5893 < #ifdef HAVE_LIBCRYPTO
5703 >    dlink_node *ptr = NULL, *next_ptr = NULL;
5704 >
5705      if (yy_aconf->host &&
5706 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5707 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
5708 < #else /* !HAVE_LIBCRYPTO */
5709 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
5710 <          yy_aconf->passwd && yy_aconf->spasswd)
5711 < #endif /* !HAVE_LIBCRYPTO */
5712 <        {
5713 <          if (conf_add_server(yy_conf, class_name) == -1)
5714 <          {
5715 <            delete_conf_item(yy_conf);
5716 <            yy_conf = NULL;
5717 <            yy_aconf = NULL;
5718 <          }
5719 <        }
5720 <        else
5910 <        {
5911 <          /* Even if yy_conf ->name is NULL
5912 <           * should still unhook any hub/leaf confs still pending
5913 <           */
5914 <          unhook_hub_leaf_confs();
5706 >        yy_aconf->passwd && yy_aconf->spasswd)
5707 >    {
5708 >      if (conf_add_server(yy_conf, class_name) == -1)
5709 >      {
5710 >        delete_conf_item(yy_conf);
5711 >        yy_conf = NULL;
5712 >        yy_aconf = NULL;
5713 >      }
5714 >    }
5715 >    else
5716 >    {
5717 >      /* Even if yy_conf ->name is NULL
5718 >       * should still unhook any hub/leaf confs still pending
5719 >       */
5720 >      unhook_hub_leaf_confs();
5721  
5722 <          if (yy_conf->name != NULL)
5723 <          {
5724 < #ifndef HAVE_LIBCRYPTO
5725 <            if (IsConfCryptLink(yy_aconf))
5726 <              yyerror("Ignoring connect block -- no OpenSSL support");
5727 < #else
5728 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
5923 <              yyerror("Ignoring connect block -- missing key");
5924 < #endif
5925 <            if (yy_aconf->host == NULL)
5926 <              yyerror("Ignoring connect block -- missing host");
5927 <            else if (!IsConfCryptLink(yy_aconf) &&
5928 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
5929 <              yyerror("Ignoring connect block -- missing password");
5930 <          }
5722 >      if (yy_conf->name != NULL)
5723 >      {
5724 >        if (yy_aconf->host == NULL)
5725 >          yyerror("Ignoring connect block -- missing host");
5726 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5727 >          yyerror("Ignoring connect block -- missing password");
5728 >      }
5729  
5730  
5731 <          /* XXX
5732 <           * This fixes a try_connections() core (caused by invalid class_ptr
5733 <           * pointers) reported by metalrock. That's an ugly fix, but there
5734 <           * is currently no better way. The entire config subsystem needs an
5735 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
5736 <           * a doubly linked list immediately without any sanity checks!  -Michael
5737 <           */
5738 <          delete_conf_item(yy_conf);
5731 >      /* XXX
5732 >       * This fixes a try_connections() core (caused by invalid class_ptr
5733 >       * pointers) reported by metalrock. That's an ugly fix, but there
5734 >       * is currently no better way. The entire config subsystem needs an
5735 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5736 >       * a doubly linked list immediately without any sanity checks!  -Michael
5737 >       */
5738 >      delete_conf_item(yy_conf);
5739  
5740 <          yy_aconf = NULL;
5741 <          yy_conf = NULL;
5742 <        }
5740 >      yy_aconf = NULL;
5741 >      yy_conf = NULL;
5742 >    }
5743  
5744        /*
5745         * yy_conf is still pointing at the server that is having
# Line 6011 | Line 5809 | yyreduce:
5809   }
5810      break;
5811  
5812 <  case 370:
6015 <
6016 < /* Line 1806 of yacc.c  */
6017 < #line 2298 "ircd_parser.y"
6018 <    {
6019 <  if (conf_parser_ctx.pass == 2)
6020 <  {
6021 <    if (yy_conf->name != NULL)
6022 <      yyerror("Multiple connect name entry");
6023 <
6024 <    MyFree(yy_conf->name);
6025 <    DupString(yy_conf->name, yylval.string);
6026 <  }
6027 < }
6028 <    break;
6029 <
6030 <  case 371:
5812 >  case 364:
5813  
5814   /* Line 1806 of yacc.c  */
5815 < #line 2310 "ircd_parser.y"
5815 > #line 2191 "conf_parser.y"
5816      {
5817    if (conf_parser_ctx.pass == 2)
5818    {
6037    if (yy_conf->name != NULL)
6038      yyerror("Multiple connect name entry");
6039
5819      MyFree(yy_conf->name);
5820      DupString(yy_conf->name, yylval.string);
5821    }
5822   }
5823      break;
5824  
5825 <  case 372:
5825 >  case 365:
5826  
5827   /* Line 1806 of yacc.c  */
5828 < #line 2322 "ircd_parser.y"
5828 > #line 2200 "conf_parser.y"
5829      {
5830    if (conf_parser_ctx.pass == 2)
5831    {
# Line 6056 | Line 5835 | yyreduce:
5835   }
5836      break;
5837  
5838 <  case 373:
5838 >  case 366:
5839  
5840   /* Line 1806 of yacc.c  */
5841 < #line 2331 "ircd_parser.y"
5841 > #line 2209 "conf_parser.y"
5842      {
5843    if (conf_parser_ctx.pass == 2)
5844    {
# Line 6072 | Line 5851 | yyreduce:
5851      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
5852  
5853      if (getaddrinfo(yylval.string, NULL, &hints, &res))
5854 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
5854 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
5855      else
5856      {
5857        assert(res != NULL);
# Line 6086 | Line 5865 | yyreduce:
5865   }
5866      break;
5867  
5868 <  case 374:
5868 >  case 367:
5869  
5870   /* Line 1806 of yacc.c  */
5871 < #line 2357 "ircd_parser.y"
5871 > #line 2235 "conf_parser.y"
5872      {
5873    if (conf_parser_ctx.pass == 2)
5874    {
# Line 6108 | Line 5887 | yyreduce:
5887   }
5888      break;
5889  
5890 <  case 375:
5890 >  case 368:
5891  
5892   /* Line 1806 of yacc.c  */
5893 < #line 2375 "ircd_parser.y"
5893 > #line 2253 "conf_parser.y"
5894      {
5895    if (conf_parser_ctx.pass == 2)
5896    {
# Line 6130 | Line 5909 | yyreduce:
5909   }
5910      break;
5911  
5912 <  case 376:
5912 >  case 369:
5913  
5914   /* Line 1806 of yacc.c  */
5915 < #line 2393 "ircd_parser.y"
5915 > #line 2271 "conf_parser.y"
5916      {
5917    if (conf_parser_ctx.pass == 2)
5918      yy_aconf->port = (yyvsp[(3) - (4)].number);
5919   }
5920      break;
5921  
5922 <  case 377:
5922 >  case 370:
5923  
5924   /* Line 1806 of yacc.c  */
5925 < #line 2399 "ircd_parser.y"
5925 > #line 2277 "conf_parser.y"
5926      {
5927    if (conf_parser_ctx.pass == 2)
5928      yy_aconf->aftype = AF_INET;
5929   }
5930      break;
5931  
5932 <  case 378:
5932 >  case 371:
5933  
5934   /* Line 1806 of yacc.c  */
5935 < #line 2403 "ircd_parser.y"
5935 > #line 2281 "conf_parser.y"
5936      {
5937   #ifdef IPV6
5938    if (conf_parser_ctx.pass == 2)
# Line 6162 | Line 5941 | yyreduce:
5941   }
5942      break;
5943  
5944 <  case 379:
6166 <
6167 < /* Line 1806 of yacc.c  */
6168 < #line 2411 "ircd_parser.y"
6169 <    {
6170 < }
6171 <    break;
6172 <
6173 <  case 383:
6174 <
6175 < /* Line 1806 of yacc.c  */
6176 < #line 2415 "ircd_parser.y"
6177 <    { not_atom = 1; }
6178 <    break;
6179 <
6180 <  case 385:
6181 <
6182 < /* Line 1806 of yacc.c  */
6183 < #line 2416 "ircd_parser.y"
6184 <    { not_atom = 0; }
6185 <    break;
6186 <
6187 <  case 387:
5944 >  case 372:
5945  
5946   /* Line 1806 of yacc.c  */
5947 < #line 2419 "ircd_parser.y"
5947 > #line 2289 "conf_parser.y"
5948      {
6192  if (conf_parser_ctx.pass == 2)
6193 #ifndef HAVE_LIBZ
6194    yyerror("Ignoring flags = compressed; -- no zlib support");
6195 #else
6196 {
6197   if (not_atom)ClearConfCompressed(yy_aconf);
6198   else SetConfCompressed(yy_aconf);
6199 }
6200 #endif
5949   }
5950      break;
5951  
5952 <  case 388:
6205 <
6206 < /* Line 1806 of yacc.c  */
6207 < #line 2430 "ircd_parser.y"
6208 <    {
6209 <  if (conf_parser_ctx.pass == 2)
6210 <  {
6211 <    if (not_atom)ClearConfCryptLink(yy_aconf);
6212 <    else SetConfCryptLink(yy_aconf);
6213 <  }
6214 < }
6215 <    break;
6216 <
6217 <  case 389:
5952 >  case 376:
5953  
5954   /* Line 1806 of yacc.c  */
5955 < #line 2437 "ircd_parser.y"
5955 > #line 2294 "conf_parser.y"
5956      {
5957    if (conf_parser_ctx.pass == 2)
5958 <  {
6224 <    if (not_atom)ClearConfAllowAutoConn(yy_aconf);
6225 <    else SetConfAllowAutoConn(yy_aconf);
6226 <  }
5958 >    SetConfAllowAutoConn(yy_aconf);
5959   }
5960      break;
5961  
5962 <  case 390:
5962 >  case 377:
5963  
5964   /* Line 1806 of yacc.c  */
5965 < #line 2444 "ircd_parser.y"
5965 > #line 2298 "conf_parser.y"
5966      {
5967    if (conf_parser_ctx.pass == 2)
5968 <  {
6237 <    if (not_atom)ClearConfAwayBurst(yy_aconf);
6238 <    else SetConfAwayBurst(yy_aconf);
6239 <  }
5968 >    SetConfAwayBurst(yy_aconf);
5969   }
5970      break;
5971  
5972 <  case 391:
5972 >  case 378:
5973  
5974   /* Line 1806 of yacc.c  */
5975 < #line 2451 "ircd_parser.y"
5975 > #line 2302 "conf_parser.y"
5976      {
5977    if (conf_parser_ctx.pass == 2)
5978 <  {
6250 <    if (not_atom)ClearConfTopicBurst(yy_aconf);
6251 <    else SetConfTopicBurst(yy_aconf);
6252 <  }
5978 >    SetConfTopicBurst(yy_aconf);
5979   }
5980      break;
5981  
5982 <  case 392:
5982 >  case 379:
5983  
5984   /* Line 1806 of yacc.c  */
5985 < #line 2461 "ircd_parser.y"
5985 > #line 2306 "conf_parser.y"
5986      {
6261 #ifdef HAVE_LIBCRYPTO
5987    if (conf_parser_ctx.pass == 2)
5988 <  {
6264 <    BIO *file;
6265 <
6266 <    if (yy_aconf->rsa_public_key != NULL)
6267 <    {
6268 <      RSA_free(yy_aconf->rsa_public_key);
6269 <      yy_aconf->rsa_public_key = NULL;
6270 <    }
6271 <
6272 <    if (yy_aconf->rsa_public_key_file != NULL)
6273 <    {
6274 <      MyFree(yy_aconf->rsa_public_key_file);
6275 <      yy_aconf->rsa_public_key_file = NULL;
6276 <    }
6277 <
6278 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6279 <
6280 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6281 <    {
6282 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6283 <      break;
6284 <    }
6285 <
6286 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6287 <
6288 <    if (yy_aconf->rsa_public_key == NULL)
6289 <    {
6290 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6291 <      break;
6292 <    }
6293 <      
6294 <    BIO_set_close(file, BIO_CLOSE);
6295 <    BIO_free(file);
6296 <  }
6297 < #endif /* HAVE_LIBCRYPTO */
5988 >    SetConfSSL(yy_aconf);
5989   }
5990      break;
5991  
5992 <  case 393:
5992 >  case 380:
5993  
5994   /* Line 1806 of yacc.c  */
5995 < #line 2502 "ircd_parser.y"
5995 > #line 2312 "conf_parser.y"
5996      {
5997    if (conf_parser_ctx.pass == 2)
5998    {
# Line 6313 | Line 6004 | yyreduce:
6004   }
6005      break;
6006  
6007 <  case 394:
6007 >  case 381:
6008  
6009   /* Line 1806 of yacc.c  */
6010 < #line 2513 "ircd_parser.y"
6010 > #line 2323 "conf_parser.y"
6011      {
6012    if (conf_parser_ctx.pass == 2)
6013    {
# Line 6330 | Line 6021 | yyreduce:
6021   }
6022      break;
6023  
6024 <  case 395:
6024 >  case 382:
6025  
6026   /* Line 1806 of yacc.c  */
6027 < #line 2526 "ircd_parser.y"
6027 > #line 2336 "conf_parser.y"
6028      {
6029    if (conf_parser_ctx.pass == 2)
6030    {
# Line 6347 | Line 6038 | yyreduce:
6038   }
6039      break;
6040  
6041 <  case 396:
6041 >  case 383:
6042  
6043   /* Line 1806 of yacc.c  */
6044 < #line 2539 "ircd_parser.y"
6044 > #line 2349 "conf_parser.y"
6045      {
6046    if (conf_parser_ctx.pass == 2)
6047    {
# Line 6360 | Line 6051 | yyreduce:
6051   }
6052      break;
6053  
6054 <  case 397:
6054 >  case 384:
6055  
6056   /* Line 1806 of yacc.c  */
6057 < #line 2548 "ircd_parser.y"
6057 > #line 2358 "conf_parser.y"
6058      {
6059   #ifdef HAVE_LIBCRYPTO
6060    if (conf_parser_ctx.pass == 2)
6061    {
6062 <    struct EncCapability *ecap;
6063 <    const char *cipher_name;
6373 <    int found = 0;
6374 <
6375 <    yy_aconf->cipher_preference = NULL;
6376 <    cipher_name = yylval.string;
6377 <
6378 <    for (ecap = CipherTable; ecap->name; ecap++)
6379 <    {
6380 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6381 <          (ecap->cap & CAP_ENC_MASK))
6382 <      {
6383 <        yy_aconf->cipher_preference = ecap;
6384 <        found = 1;
6385 <        break;
6386 <      }
6387 <    }
6388 <
6389 <    if (!found)
6390 <      yyerror("Invalid cipher");
6062 >    MyFree(yy_aconf->cipher_list);
6063 >    DupString(yy_aconf->cipher_list, yylval.string);
6064    }
6065   #else
6066    if (conf_parser_ctx.pass == 2)
6067 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
6067 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
6068   #endif
6069   }
6070      break;
6071  
6072 <  case 398:
6072 >  case 385:
6073  
6074   /* Line 1806 of yacc.c  */
6075 < #line 2583 "ircd_parser.y"
6075 > #line 2376 "conf_parser.y"
6076      {
6077    if (conf_parser_ctx.pass == 2)
6078    {
# Line 6409 | Line 6082 | yyreduce:
6082   }
6083      break;
6084  
6085 <  case 399:
6085 >  case 386:
6086  
6087   /* Line 1806 of yacc.c  */
6088 < #line 2590 "ircd_parser.y"
6088 > #line 2383 "conf_parser.y"
6089      {
6090    if (conf_parser_ctx.pass == 2)
6091    {
# Line 6428 | Line 6101 | yyreduce:
6101          if (!(exp_user = ircd_pcre_compile(userbuf, &errptr)) ||
6102              !(exp_host = ircd_pcre_compile(hostbuf, &errptr)))
6103          {
6104 <          ilog(L_ERROR, "Failed to add regular expression based K-Line: %s",
6104 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
6105                 errptr);
6106            break;
6107          }
# Line 6445 | Line 6118 | yyreduce:
6118          else
6119            DupString(yy_aconf->reason, "No reason");
6120   #else
6121 <        ilog(L_ERROR, "Failed to add regular expression based K-Line: no PCRE support");
6121 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
6122          break;
6123   #endif
6124        }
6125        else
6126        {
6127 +        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
6128 +
6129          yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
6130  
6131          DupString(yy_aconf->user, userbuf);
# Line 6460 | Line 6135 | yyreduce:
6135            DupString(yy_aconf->reason, reasonbuf);
6136          else
6137            DupString(yy_aconf->reason, "No reason");
6138 <        add_conf_by_address(CONF_KILL, yy_aconf);
6138 >        add_conf_by_address(CONF_KLINE, yy_aconf);
6139        }
6140      }
6141  
# Line 6469 | Line 6144 | yyreduce:
6144   }
6145      break;
6146  
6147 <  case 400:
6147 >  case 387:
6148  
6149   /* Line 1806 of yacc.c  */
6150 < #line 2646 "ircd_parser.y"
6150 > #line 2441 "conf_parser.y"
6151      {
6152   }
6153      break;
6154  
6155 <  case 404:
6155 >  case 391:
6156  
6157   /* Line 1806 of yacc.c  */
6158 < #line 2651 "ircd_parser.y"
6158 > #line 2446 "conf_parser.y"
6159      {
6160    if (conf_parser_ctx.pass == 2)
6161      regex_ban = 1;
6162   }
6163      break;
6164  
6165 <  case 411:
6165 >  case 398:
6166  
6167   /* Line 1806 of yacc.c  */
6168 < #line 2660 "ircd_parser.y"
6168 > #line 2455 "conf_parser.y"
6169      {
6170    if (conf_parser_ctx.pass == 2)
6171    {
# Line 6510 | Line 6185 | yyreduce:
6185   }
6186      break;
6187  
6188 <  case 412:
6188 >  case 399:
6189  
6190   /* Line 1806 of yacc.c  */
6191 < #line 2679 "ircd_parser.y"
6191 > #line 2474 "conf_parser.y"
6192      {
6193    if (conf_parser_ctx.pass == 2)
6194      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6195   }
6196      break;
6197  
6198 <  case 413:
6198 >  case 400:
6199  
6200   /* Line 1806 of yacc.c  */
6201 < #line 2688 "ircd_parser.y"
6201 > #line 2483 "conf_parser.y"
6202      {
6203    if (conf_parser_ctx.pass == 2)
6204      hostbuf[0] = reasonbuf[0] = '\0';
6205   }
6206      break;
6207  
6208 <  case 414:
6208 >  case 401:
6209  
6210   /* Line 1806 of yacc.c  */
6211 < #line 2692 "ircd_parser.y"
6211 > #line 2487 "conf_parser.y"
6212      {
6213    if (conf_parser_ctx.pass == 2)
6214    {
6215      if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
6216      {
6217 +      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
6218 +
6219        yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
6220        DupString(yy_aconf->host, hostbuf);
6221  
# Line 6553 | Line 6230 | yyreduce:
6230   }
6231      break;
6232  
6233 <  case 420:
6233 >  case 407:
6234  
6235   /* Line 1806 of yacc.c  */
6236 < #line 2714 "ircd_parser.y"
6236 > #line 2511 "conf_parser.y"
6237      {
6238    if (conf_parser_ctx.pass == 2)
6239      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
6240   }
6241      break;
6242  
6243 <  case 421:
6243 >  case 408:
6244  
6245   /* Line 1806 of yacc.c  */
6246 < #line 2720 "ircd_parser.y"
6246 > #line 2517 "conf_parser.y"
6247      {
6248    if (conf_parser_ctx.pass == 2)
6249      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6250   }
6251      break;
6252  
6253 <  case 427:
6253 >  case 414:
6254  
6255   /* Line 1806 of yacc.c  */
6256 < #line 2734 "ircd_parser.y"
6256 > #line 2531 "conf_parser.y"
6257      {
6258    if (conf_parser_ctx.pass == 2)
6259    {
# Line 6592 | Line 6269 | yyreduce:
6269   }
6270      break;
6271  
6272 <  case 428:
6272 >  case 415:
6273  
6274   /* Line 1806 of yacc.c  */
6275 < #line 2752 "ircd_parser.y"
6275 > #line 2549 "conf_parser.y"
6276      {
6277    if (conf_parser_ctx.pass == 2)
6278    {
# Line 6605 | Line 6282 | yyreduce:
6282   }
6283      break;
6284  
6285 <  case 429:
6285 >  case 416:
6286  
6287   /* Line 1806 of yacc.c  */
6288 < #line 2759 "ircd_parser.y"
6288 > #line 2556 "conf_parser.y"
6289      {
6290    if (conf_parser_ctx.pass == 2)
6291    {
# Line 6622 | Line 6299 | yyreduce:
6299  
6300          if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
6301          {
6302 <          ilog(L_ERROR, "Failed to add regular expression based X-Line: %s",
6302 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
6303                 errptr);
6304            break;
6305          }
# Line 6630 | Line 6307 | yyreduce:
6307          yy_conf = make_conf_item(RXLINE_TYPE);
6308          yy_conf->regexpname = exp_p;
6309   #else
6310 <        ilog(L_ERROR, "Failed to add regular expression based X-Line: no PCRE support");
6310 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
6311          break;
6312   #endif
6313        }
# Line 6649 | Line 6326 | yyreduce:
6326   }
6327      break;
6328  
6329 <  case 430:
6329 >  case 417:
6330  
6331   /* Line 1806 of yacc.c  */
6332 < #line 2799 "ircd_parser.y"
6332 > #line 2596 "conf_parser.y"
6333      {
6334   }
6335      break;
6336  
6337 <  case 434:
6337 >  case 421:
6338  
6339   /* Line 1806 of yacc.c  */
6340 < #line 2804 "ircd_parser.y"
6340 > #line 2601 "conf_parser.y"
6341      {
6342    if (conf_parser_ctx.pass == 2)
6343      regex_ban = 1;
6344   }
6345      break;
6346  
6347 <  case 441:
6347 >  case 428:
6348  
6349   /* Line 1806 of yacc.c  */
6350 < #line 2813 "ircd_parser.y"
6350 > #line 2610 "conf_parser.y"
6351      {
6352    if (conf_parser_ctx.pass == 2)
6353      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
6354   }
6355      break;
6356  
6357 <  case 442:
6357 >  case 429:
6358  
6359   /* Line 1806 of yacc.c  */
6360 < #line 2819 "ircd_parser.y"
6360 > #line 2616 "conf_parser.y"
6361      {
6362    if (conf_parser_ctx.pass == 2)
6363      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
6364   }
6365      break;
6366  
6367 <  case 502:
6367 >  case 485:
6368  
6369   /* Line 1806 of yacc.c  */
6370 < #line 2864 "ircd_parser.y"
6370 > #line 2660 "conf_parser.y"
6371      {
6372    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
6373   }
6374      break;
6375  
6376 <  case 503:
6376 >  case 486:
6377  
6378   /* Line 1806 of yacc.c  */
6379 < #line 2869 "ircd_parser.y"
6379 > #line 2665 "conf_parser.y"
6380      {
6381    ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
6382   }
6383      break;
6384  
6385 <  case 504:
6385 >  case 487:
6386  
6387   /* Line 1806 of yacc.c  */
6388 < #line 2874 "ircd_parser.y"
6388 > #line 2670 "conf_parser.y"
6389      {
6390    ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
6391   }
6392      break;
6393  
6394 <  case 505:
6394 >  case 488:
6395  
6396   /* Line 1806 of yacc.c  */
6397 < #line 2879 "ircd_parser.y"
6721 <    {
6722 <  ConfigFileEntry.burst_away = yylval.number;
6723 < }
6724 <    break;
6725 <
6726 <  case 506:
6727 <
6728 < /* Line 1806 of yacc.c  */
6729 < #line 2884 "ircd_parser.y"
6397 > #line 2675 "conf_parser.y"
6398      {
6399    ConfigFileEntry.use_whois_actually = yylval.number;
6400   }
6401      break;
6402  
6403 <  case 507:
6403 >  case 489:
6404  
6405   /* Line 1806 of yacc.c  */
6406 < #line 2889 "ircd_parser.y"
6406 > #line 2680 "conf_parser.y"
6407      {
6408    GlobalSetOptions.rejecttime = yylval.number;
6409   }
6410      break;
6411  
6412 <  case 508:
6412 >  case 490:
6413  
6414   /* Line 1806 of yacc.c  */
6415 < #line 2894 "ircd_parser.y"
6415 > #line 2685 "conf_parser.y"
6416      {
6417    ConfigFileEntry.tkline_expire_notices = yylval.number;
6418   }
6419      break;
6420  
6421 <  case 509:
6421 >  case 491:
6422  
6423   /* Line 1806 of yacc.c  */
6424 < #line 2899 "ircd_parser.y"
6424 > #line 2690 "conf_parser.y"
6425      {
6426    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
6427   }
6428      break;
6429  
6430 <  case 510:
6430 >  case 492:
6431  
6432   /* Line 1806 of yacc.c  */
6433 < #line 2904 "ircd_parser.y"
6433 > #line 2695 "conf_parser.y"
6434      {
6435    ConfigFileEntry.hide_spoof_ips = yylval.number;
6436   }
6437      break;
6438  
6439 <  case 511:
6439 >  case 493:
6440  
6441   /* Line 1806 of yacc.c  */
6442 < #line 2909 "ircd_parser.y"
6442 > #line 2700 "conf_parser.y"
6443      {
6444    ConfigFileEntry.ignore_bogus_ts = yylval.number;
6445   }
6446      break;
6447  
6448 <  case 512:
6448 >  case 494:
6449  
6450   /* Line 1806 of yacc.c  */
6451 < #line 2914 "ircd_parser.y"
6451 > #line 2705 "conf_parser.y"
6452      {
6453    ConfigFileEntry.disable_remote = yylval.number;
6454   }
6455      break;
6456  
6457 <  case 513:
6457 >  case 495:
6458  
6459   /* Line 1806 of yacc.c  */
6460 < #line 2919 "ircd_parser.y"
6460 > #line 2710 "conf_parser.y"
6461      {
6462    ConfigFileEntry.failed_oper_notice = yylval.number;
6463   }
6464      break;
6465  
6466 <  case 514:
6466 >  case 496:
6467  
6468   /* Line 1806 of yacc.c  */
6469 < #line 2924 "ircd_parser.y"
6469 > #line 2715 "conf_parser.y"
6470      {
6471    ConfigFileEntry.anti_nick_flood = yylval.number;
6472   }
6473      break;
6474  
6475 <  case 515:
6475 >  case 497:
6476  
6477   /* Line 1806 of yacc.c  */
6478 < #line 2929 "ircd_parser.y"
6478 > #line 2720 "conf_parser.y"
6479      {
6480    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6481   }
6482      break;
6483  
6484 <  case 516:
6484 >  case 498:
6485  
6486   /* Line 1806 of yacc.c  */
6487 < #line 2934 "ircd_parser.y"
6487 > #line 2725 "conf_parser.y"
6488      {
6489    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6490   }
6491      break;
6492  
6493 <  case 517:
6493 >  case 499:
6494  
6495   /* Line 1806 of yacc.c  */
6496 < #line 2939 "ircd_parser.y"
6496 > #line 2730 "conf_parser.y"
6497      {
6498    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6499   }
6500      break;
6501  
6502 <  case 518:
6502 >  case 500:
6503  
6504   /* Line 1806 of yacc.c  */
6505 < #line 2944 "ircd_parser.y"
6505 > #line 2735 "conf_parser.y"
6506      {
6507    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6508   }
6509      break;
6510  
6511 <  case 519:
6511 >  case 501:
6512  
6513   /* Line 1806 of yacc.c  */
6514 < #line 2949 "ircd_parser.y"
6514 > #line 2740 "conf_parser.y"
6515      {
6516    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6517   }
6518      break;
6519  
6520 <  case 520:
6520 >  case 502:
6521  
6522   /* Line 1806 of yacc.c  */
6523 < #line 2954 "ircd_parser.y"
6523 > #line 2745 "conf_parser.y"
6524      {
6525    if (conf_parser_ctx.pass == 2)
6526      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6527   }
6528      break;
6529  
6530 <  case 521:
6530 >  case 503:
6531  
6532   /* Line 1806 of yacc.c  */
6533 < #line 2960 "ircd_parser.y"
6533 > #line 2751 "conf_parser.y"
6534      {
6535    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6536    {
6537 <    ilog(L_CRIT, "You haven't read your config file properly.");
6538 <    ilog(L_CRIT, "There is a line in the example conf that will kill your server if not removed.");
6539 <    ilog(L_CRIT, "Consider actually reading/editing the conf file, and removing this line.");
6537 >    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6538 >    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6539 >    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6540      exit(0);
6541    }
6542   }
6543      break;
6544  
6545 <  case 522:
6545 >  case 504:
6546  
6547   /* Line 1806 of yacc.c  */
6548 < #line 2971 "ircd_parser.y"
6548 > #line 2762 "conf_parser.y"
6549      {
6550    ConfigFileEntry.kline_with_reason = yylval.number;
6551   }
6552      break;
6553  
6554 <  case 523:
6554 >  case 505:
6555  
6556   /* Line 1806 of yacc.c  */
6557 < #line 2976 "ircd_parser.y"
6557 > #line 2767 "conf_parser.y"
6558      {
6559    if (conf_parser_ctx.pass == 2)
6560    {
# Line 6896 | Line 6564 | yyreduce:
6564   }
6565      break;
6566  
6567 <  case 524:
6567 >  case 506:
6568  
6569   /* Line 1806 of yacc.c  */
6570 < #line 2985 "ircd_parser.y"
6570 > #line 2776 "conf_parser.y"
6571      {
6572    ConfigFileEntry.invisible_on_connect = yylval.number;
6573   }
6574      break;
6575  
6576 <  case 525:
6576 >  case 507:
6577  
6578   /* Line 1806 of yacc.c  */
6579 < #line 2990 "ircd_parser.y"
6579 > #line 2781 "conf_parser.y"
6580      {
6581    ConfigFileEntry.warn_no_nline = yylval.number;
6582   }
6583      break;
6584  
6585 <  case 526:
6585 >  case 508:
6586  
6587   /* Line 1806 of yacc.c  */
6588 < #line 2995 "ircd_parser.y"
6588 > #line 2786 "conf_parser.y"
6589      {
6590    ConfigFileEntry.stats_e_disabled = yylval.number;
6591   }
6592      break;
6593  
6594 <  case 527:
6594 >  case 509:
6595  
6596   /* Line 1806 of yacc.c  */
6597 < #line 3000 "ircd_parser.y"
6597 > #line 2791 "conf_parser.y"
6598      {
6599    ConfigFileEntry.stats_o_oper_only = yylval.number;
6600   }
6601      break;
6602  
6603 <  case 528:
6603 >  case 510:
6604  
6605   /* Line 1806 of yacc.c  */
6606 < #line 3005 "ircd_parser.y"
6606 > #line 2796 "conf_parser.y"
6607      {
6608    ConfigFileEntry.stats_P_oper_only = yylval.number;
6609   }
6610      break;
6611  
6612 <  case 529:
6612 >  case 511:
6613  
6614   /* Line 1806 of yacc.c  */
6615 < #line 3010 "ircd_parser.y"
6615 > #line 2801 "conf_parser.y"
6616      {
6617    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6618   }
6619      break;
6620  
6621 <  case 530:
6621 >  case 512:
6622  
6623   /* Line 1806 of yacc.c  */
6624 < #line 3013 "ircd_parser.y"
6624 > #line 2804 "conf_parser.y"
6625      {
6626    ConfigFileEntry.stats_k_oper_only = 1;
6627   }
6628      break;
6629  
6630 <  case 531:
6630 >  case 513:
6631  
6632   /* Line 1806 of yacc.c  */
6633 < #line 3018 "ircd_parser.y"
6633 > #line 2809 "conf_parser.y"
6634      {
6635    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6636   }
6637      break;
6638  
6639 <  case 532:
6639 >  case 514:
6640  
6641   /* Line 1806 of yacc.c  */
6642 < #line 3021 "ircd_parser.y"
6642 > #line 2812 "conf_parser.y"
6643      {
6644    ConfigFileEntry.stats_i_oper_only = 1;
6645   }
6646      break;
6647  
6648 <  case 533:
6648 >  case 515:
6649  
6650   /* Line 1806 of yacc.c  */
6651 < #line 3026 "ircd_parser.y"
6651 > #line 2817 "conf_parser.y"
6652      {
6653    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6654   }
6655      break;
6656  
6657 <  case 534:
6657 >  case 516:
6658  
6659   /* Line 1806 of yacc.c  */
6660 < #line 3031 "ircd_parser.y"
6660 > #line 2822 "conf_parser.y"
6661      {
6662    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6663   }
6664      break;
6665  
6666 <  case 535:
6666 >  case 517:
6667  
6668   /* Line 1806 of yacc.c  */
6669 < #line 3036 "ircd_parser.y"
6669 > #line 2827 "conf_parser.y"
6670      {
6671    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6672   }
6673      break;
6674  
6675 <  case 536:
6675 >  case 518:
6676  
6677   /* Line 1806 of yacc.c  */
6678 < #line 3041 "ircd_parser.y"
6678 > #line 2832 "conf_parser.y"
6679      {
6680    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6681   }
6682      break;
6683  
6684 <  case 537:
6684 >  case 519:
6685  
6686   /* Line 1806 of yacc.c  */
6687 < #line 3046 "ircd_parser.y"
6687 > #line 2837 "conf_parser.y"
6688      {
6689    ConfigFileEntry.short_motd = yylval.number;
6690   }
6691      break;
6692  
6693 <  case 538:
6693 >  case 520:
6694  
6695   /* Line 1806 of yacc.c  */
6696 < #line 3051 "ircd_parser.y"
6696 > #line 2842 "conf_parser.y"
6697      {
6698    ConfigFileEntry.no_oper_flood = yylval.number;
6699   }
6700      break;
6701  
6702 <  case 539:
6702 >  case 521:
6703  
6704   /* Line 1806 of yacc.c  */
6705 < #line 3056 "ircd_parser.y"
6705 > #line 2847 "conf_parser.y"
6706      {
6707    ConfigFileEntry.true_no_oper_flood = yylval.number;
6708   }
6709      break;
6710  
6711 <  case 540:
6711 >  case 522:
6712  
6713   /* Line 1806 of yacc.c  */
6714 < #line 3061 "ircd_parser.y"
6714 > #line 2852 "conf_parser.y"
6715      {
6716    ConfigFileEntry.oper_pass_resv = yylval.number;
6717   }
6718      break;
6719  
6720 <  case 541:
6720 >  case 523:
6721  
6722   /* Line 1806 of yacc.c  */
6723 < #line 3066 "ircd_parser.y"
6723 > #line 2857 "conf_parser.y"
6724      {
6725    if (conf_parser_ctx.pass == 2)
6726    {
# Line 7064 | Line 6732 | yyreduce:
6732   }
6733      break;
6734  
6735 <  case 542:
7068 <
7069 < /* Line 1806 of yacc.c  */
7070 < #line 3077 "ircd_parser.y"
7071 <    {
7072 <  ConfigFileEntry.idletime = (yyvsp[(3) - (4)].number);
7073 < }
7074 <    break;
7075 <
7076 <  case 543:
6735 >  case 524:
6736  
6737   /* Line 1806 of yacc.c  */
6738 < #line 3082 "ircd_parser.y"
6738 > #line 2868 "conf_parser.y"
6739      {
6740    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6741   }
6742      break;
6743  
6744 <  case 544:
6744 >  case 525:
6745  
6746   /* Line 1806 of yacc.c  */
6747 < #line 3087 "ircd_parser.y"
6747 > #line 2873 "conf_parser.y"
6748      {
6749    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6750   }
6751      break;
6752  
6753 <  case 545:
7095 <
7096 < /* Line 1806 of yacc.c  */
7097 < #line 3092 "ircd_parser.y"
7098 <    {
7099 <  if (conf_parser_ctx.pass == 2)
7100 <  {
7101 <    MyFree(ConfigFileEntry.servlink_path);
7102 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
7103 <  }
7104 < }
7105 <    break;
7106 <
7107 <  case 546:
6753 >  case 526:
6754  
6755   /* Line 1806 of yacc.c  */
6756 < #line 3101 "ircd_parser.y"
7111 <    {
7112 < #ifdef HAVE_LIBCRYPTO
7113 <  if (conf_parser_ctx.pass == 2)
7114 <  {
7115 <    struct EncCapability *ecap;
7116 <    const char *cipher_name;
7117 <    int found = 0;
7118 <
7119 <    ConfigFileEntry.default_cipher_preference = NULL;
7120 <    cipher_name = yylval.string;
7121 <
7122 <    for (ecap = CipherTable; ecap->name; ecap++)
6756 > #line 2878 "conf_parser.y"
6757      {
6758 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
7125 <          (ecap->cap & CAP_ENC_MASK))
7126 <      {
7127 <        ConfigFileEntry.default_cipher_preference = ecap;
7128 <        found = 1;
7129 <        break;
7130 <      }
7131 <    }
7132 <
7133 <    if (!found)
7134 <      yyerror("Invalid cipher");
7135 <  }
7136 < #else
7137 <  if (conf_parser_ctx.pass == 2)
7138 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
7139 < #endif
6758 >  ConfigFileEntry.use_egd = yylval.number;
6759   }
6760      break;
6761  
6762 <  case 547:
6762 >  case 527:
6763  
6764   /* Line 1806 of yacc.c  */
6765 < #line 3133 "ircd_parser.y"
6765 > #line 2883 "conf_parser.y"
6766      {
6767    if (conf_parser_ctx.pass == 2)
6768    {
6769 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
6770 < #ifndef HAVE_LIBZ
7152 <    yyerror("Ignoring compression_level -- no zlib support");
7153 < #else
7154 <    if ((ConfigFileEntry.compression_level < 1) ||
7155 <        (ConfigFileEntry.compression_level > 9))
7156 <    {
7157 <      yyerror("Ignoring invalid compression_level, using default");
7158 <      ConfigFileEntry.compression_level = 0;
7159 <    }
7160 < #endif
6769 >    MyFree(ConfigFileEntry.egdpool_path);
6770 >    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6771    }
6772   }
6773      break;
6774  
6775 <  case 548:
7166 <
7167 < /* Line 1806 of yacc.c  */
7168 < #line 3151 "ircd_parser.y"
7169 <    {
7170 <  ConfigFileEntry.use_egd = yylval.number;
7171 < }
7172 <    break;
7173 <
7174 <  case 549:
6775 >  case 528:
6776  
6777   /* Line 1806 of yacc.c  */
6778 < #line 3156 "ircd_parser.y"
6778 > #line 2892 "conf_parser.y"
6779      {
6780 <  if (conf_parser_ctx.pass == 2)
6780 >  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6781    {
6782 <    MyFree(ConfigFileEntry.egdpool_path);
6783 <    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6782 >    MyFree(ConfigFileEntry.service_name);
6783 >    DupString(ConfigFileEntry.service_name, yylval.string);
6784    }
6785   }
6786      break;
6787  
6788 <  case 550:
6788 >  case 529:
6789  
6790   /* Line 1806 of yacc.c  */
6791 < #line 3165 "ircd_parser.y"
6791 > #line 2901 "conf_parser.y"
6792      {
6793    ConfigFileEntry.ping_cookie = yylval.number;
6794   }
6795      break;
6796  
6797 <  case 551:
6797 >  case 530:
6798  
6799   /* Line 1806 of yacc.c  */
6800 < #line 3170 "ircd_parser.y"
6800 > #line 2906 "conf_parser.y"
6801      {
6802    ConfigFileEntry.disable_auth = yylval.number;
6803   }
6804      break;
6805  
6806 <  case 552:
6806 >  case 531:
6807  
6808   /* Line 1806 of yacc.c  */
6809 < #line 3175 "ircd_parser.y"
6809 > #line 2911 "conf_parser.y"
6810      {
6811    ConfigFileEntry.throttle_time = yylval.number;
6812   }
6813      break;
6814  
6815 <  case 553:
6815 >  case 532:
6816  
6817   /* Line 1806 of yacc.c  */
6818 < #line 3180 "ircd_parser.y"
6818 > #line 2916 "conf_parser.y"
6819      {
6820    ConfigFileEntry.oper_umodes = 0;
6821   }
6822      break;
6823  
6824 <  case 557:
6824 >  case 536:
6825  
6826   /* Line 1806 of yacc.c  */
6827 < #line 3186 "ircd_parser.y"
6827 > #line 2922 "conf_parser.y"
6828      {
6829    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6830   }
6831      break;
6832  
6833 <  case 558:
6833 >  case 537:
6834  
6835   /* Line 1806 of yacc.c  */
6836 < #line 3189 "ircd_parser.y"
6836 > #line 2925 "conf_parser.y"
6837      {
6838    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6839   }
6840      break;
6841  
6842 <  case 559:
6842 >  case 538:
6843  
6844   /* Line 1806 of yacc.c  */
6845 < #line 3192 "ircd_parser.y"
6845 > #line 2928 "conf_parser.y"
6846      {
6847    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6848   }
6849      break;
6850  
6851 <  case 560:
6851 >  case 539:
6852  
6853   /* Line 1806 of yacc.c  */
6854 < #line 3195 "ircd_parser.y"
6854 > #line 2931 "conf_parser.y"
6855      {
6856    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6857   }
6858      break;
6859  
6860 <  case 561:
6860 >  case 540:
6861  
6862   /* Line 1806 of yacc.c  */
6863 < #line 3198 "ircd_parser.y"
6863 > #line 2934 "conf_parser.y"
6864      {
6865    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6866   }
6867      break;
6868  
6869 <  case 562:
6869 >  case 541:
6870  
6871   /* Line 1806 of yacc.c  */
6872 < #line 3201 "ircd_parser.y"
6872 > #line 2937 "conf_parser.y"
6873      {
6874    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6875   }
6876      break;
6877  
6878 <  case 563:
6878 >  case 542:
6879 >
6880 > /* Line 1806 of yacc.c  */
6881 > #line 2940 "conf_parser.y"
6882 >    {
6883 >  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6884 > }
6885 >    break;
6886 >
6887 >  case 543:
6888  
6889   /* Line 1806 of yacc.c  */
6890 < #line 3204 "ircd_parser.y"
6890 > #line 2943 "conf_parser.y"
6891      {
6892    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6893   }
6894      break;
6895  
6896 <  case 564:
6896 >  case 544:
6897  
6898   /* Line 1806 of yacc.c  */
6899 < #line 3207 "ircd_parser.y"
6899 > #line 2946 "conf_parser.y"
6900      {
6901    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6902   }
6903      break;
6904  
6905 <  case 565:
6905 >  case 545:
6906  
6907   /* Line 1806 of yacc.c  */
6908 < #line 3210 "ircd_parser.y"
6908 > #line 2949 "conf_parser.y"
6909      {
6910    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6911   }
6912      break;
6913  
6914 <  case 566:
6914 >  case 546:
6915  
6916   /* Line 1806 of yacc.c  */
6917 < #line 3213 "ircd_parser.y"
6917 > #line 2952 "conf_parser.y"
6918      {
6919    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6920   }
6921      break;
6922  
6923 <  case 567:
6923 >  case 547:
6924  
6925   /* Line 1806 of yacc.c  */
6926 < #line 3216 "ircd_parser.y"
6926 > #line 2955 "conf_parser.y"
6927      {
6928    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6929   }
6930      break;
6931  
6932 <  case 568:
6932 >  case 548:
6933  
6934   /* Line 1806 of yacc.c  */
6935 < #line 3219 "ircd_parser.y"
6935 > #line 2958 "conf_parser.y"
6936      {
6937    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6938   }
6939      break;
6940  
6941 <  case 569:
6941 >  case 549:
6942  
6943   /* Line 1806 of yacc.c  */
6944 < #line 3222 "ircd_parser.y"
6944 > #line 2961 "conf_parser.y"
6945      {
6946    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6947   }
6948      break;
6949  
6950 <  case 570:
6950 >  case 550:
6951  
6952   /* Line 1806 of yacc.c  */
6953 < #line 3225 "ircd_parser.y"
6953 > #line 2964 "conf_parser.y"
6954      {
6955    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6956   }
6957      break;
6958  
6959 <  case 571:
6959 >  case 551:
6960  
6961   /* Line 1806 of yacc.c  */
6962 < #line 3228 "ircd_parser.y"
6962 > #line 2967 "conf_parser.y"
6963      {
6964    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6965   }
6966      break;
6967  
6968 <  case 572:
6968 >  case 552:
6969  
6970   /* Line 1806 of yacc.c  */
6971 < #line 3231 "ircd_parser.y"
6971 > #line 2970 "conf_parser.y"
6972      {
6973    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6974   }
6975      break;
6976  
6977 <  case 573:
6977 >  case 553:
6978  
6979   /* Line 1806 of yacc.c  */
6980 < #line 3234 "ircd_parser.y"
6980 > #line 2973 "conf_parser.y"
6981      {
6982    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6983   }
6984      break;
6985  
6986 <  case 574:
6986 >  case 554:
6987  
6988   /* Line 1806 of yacc.c  */
6989 < #line 3237 "ircd_parser.y"
6989 > #line 2976 "conf_parser.y"
6990      {
6991    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6992   }
6993      break;
6994  
6995 <  case 575:
6995 >  case 555:
6996  
6997   /* Line 1806 of yacc.c  */
6998 < #line 3240 "ircd_parser.y"
6998 > #line 2979 "conf_parser.y"
6999      {
7000    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
7001   }
7002      break;
7003  
7004 <  case 576:
7004 >  case 556:
7005  
7006   /* Line 1806 of yacc.c  */
7007 < #line 3245 "ircd_parser.y"
7007 > #line 2984 "conf_parser.y"
7008      {
7009    ConfigFileEntry.oper_only_umodes = 0;
7010   }
7011      break;
7012  
7013 <  case 580:
7013 >  case 560:
7014  
7015   /* Line 1806 of yacc.c  */
7016 < #line 3251 "ircd_parser.y"
7016 > #line 2990 "conf_parser.y"
7017      {
7018    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
7019   }
7020      break;
7021  
7022 <  case 581:
7022 >  case 561:
7023  
7024   /* Line 1806 of yacc.c  */
7025 < #line 3254 "ircd_parser.y"
7025 > #line 2993 "conf_parser.y"
7026      {
7027    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
7028   }
7029      break;
7030  
7031 <  case 582:
7031 >  case 562:
7032  
7033   /* Line 1806 of yacc.c  */
7034 < #line 3257 "ircd_parser.y"
7034 > #line 2996 "conf_parser.y"
7035      {
7036    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
7037   }
7038      break;
7039  
7040 <  case 583:
7040 >  case 563:
7041  
7042   /* Line 1806 of yacc.c  */
7043 < #line 3260 "ircd_parser.y"
7043 > #line 2999 "conf_parser.y"
7044      {
7045    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
7046   }
7047      break;
7048  
7049 <  case 584:
7049 >  case 564:
7050  
7051   /* Line 1806 of yacc.c  */
7052 < #line 3263 "ircd_parser.y"
7052 > #line 3002 "conf_parser.y"
7053      {
7054    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
7055   }
7056      break;
7057  
7058 <  case 585:
7058 >  case 565:
7059  
7060   /* Line 1806 of yacc.c  */
7061 < #line 3266 "ircd_parser.y"
7061 > #line 3005 "conf_parser.y"
7062      {
7063    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
7064   }
7065      break;
7066  
7067 <  case 586:
7067 >  case 566:
7068  
7069   /* Line 1806 of yacc.c  */
7070 < #line 3269 "ircd_parser.y"
7070 > #line 3008 "conf_parser.y"
7071      {
7072    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
7073   }
7074      break;
7075  
7076 <  case 587:
7076 >  case 567:
7077  
7078   /* Line 1806 of yacc.c  */
7079 < #line 3272 "ircd_parser.y"
7079 > #line 3011 "conf_parser.y"
7080 >    {
7081 >  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
7082 > }
7083 >    break;
7084 >
7085 >  case 568:
7086 >
7087 > /* Line 1806 of yacc.c  */
7088 > #line 3014 "conf_parser.y"
7089      {
7090    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
7091   }
7092      break;
7093  
7094 <  case 588:
7094 >  case 569:
7095  
7096   /* Line 1806 of yacc.c  */
7097 < #line 3275 "ircd_parser.y"
7097 > #line 3017 "conf_parser.y"
7098      {
7099    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
7100   }
7101      break;
7102  
7103 <  case 589:
7103 >  case 570:
7104  
7105   /* Line 1806 of yacc.c  */
7106 < #line 3278 "ircd_parser.y"
7106 > #line 3020 "conf_parser.y"
7107      {
7108    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
7109   }
7110      break;
7111  
7112 <  case 590:
7112 >  case 571:
7113  
7114   /* Line 1806 of yacc.c  */
7115 < #line 3281 "ircd_parser.y"
7115 > #line 3023 "conf_parser.y"
7116      {
7117    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
7118   }
7119      break;
7120  
7121 <  case 591:
7121 >  case 572:
7122  
7123   /* Line 1806 of yacc.c  */
7124 < #line 3284 "ircd_parser.y"
7124 > #line 3026 "conf_parser.y"
7125      {
7126    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
7127   }
7128      break;
7129  
7130 <  case 592:
7130 >  case 573:
7131  
7132   /* Line 1806 of yacc.c  */
7133 < #line 3287 "ircd_parser.y"
7133 > #line 3029 "conf_parser.y"
7134      {
7135    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
7136   }
7137      break;
7138  
7139 <  case 593:
7139 >  case 574:
7140  
7141   /* Line 1806 of yacc.c  */
7142 < #line 3290 "ircd_parser.y"
7142 > #line 3032 "conf_parser.y"
7143      {
7144    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
7145   }
7146      break;
7147  
7148 <  case 594:
7148 >  case 575:
7149  
7150   /* Line 1806 of yacc.c  */
7151 < #line 3293 "ircd_parser.y"
7151 > #line 3035 "conf_parser.y"
7152      {
7153    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
7154   }
7155      break;
7156  
7157 <  case 595:
7157 >  case 576:
7158  
7159   /* Line 1806 of yacc.c  */
7160 < #line 3296 "ircd_parser.y"
7160 > #line 3038 "conf_parser.y"
7161      {
7162    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
7163   }
7164      break;
7165  
7166 <  case 596:
7166 >  case 577:
7167  
7168   /* Line 1806 of yacc.c  */
7169 < #line 3299 "ircd_parser.y"
7169 > #line 3041 "conf_parser.y"
7170      {
7171    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
7172   }
7173      break;
7174  
7175 <  case 597:
7175 >  case 578:
7176  
7177   /* Line 1806 of yacc.c  */
7178 < #line 3302 "ircd_parser.y"
7178 > #line 3044 "conf_parser.y"
7179      {
7180    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
7181   }
7182      break;
7183  
7184 <  case 598:
7184 >  case 579:
7185  
7186   /* Line 1806 of yacc.c  */
7187 < #line 3305 "ircd_parser.y"
7187 > #line 3047 "conf_parser.y"
7188      {
7189    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
7190   }
7191      break;
7192  
7193 <  case 599:
7193 >  case 580:
7194  
7195   /* Line 1806 of yacc.c  */
7196 < #line 3310 "ircd_parser.y"
7196 > #line 3052 "conf_parser.y"
7197      {
7198    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
7199   }
7200      break;
7201  
7202 <  case 600:
7202 >  case 581:
7203  
7204   /* Line 1806 of yacc.c  */
7205 < #line 3315 "ircd_parser.y"
7205 > #line 3057 "conf_parser.y"
7206      {
7207    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
7208   }
7209      break;
7210  
7211 <  case 601:
7211 >  case 582:
7212  
7213   /* Line 1806 of yacc.c  */
7214 < #line 3320 "ircd_parser.y"
7214 > #line 3062 "conf_parser.y"
7215      {
7216    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
7217   }
7218      break;
7219  
7220 <  case 602:
7220 >  case 583:
7221  
7222   /* Line 1806 of yacc.c  */
7223 < #line 3325 "ircd_parser.y"
7223 > #line 3067 "conf_parser.y"
7224      {
7225    ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7226   }
7227      break;
7228  
7229 <  case 603:
7229 >  case 584:
7230  
7231   /* Line 1806 of yacc.c  */
7232 < #line 3334 "ircd_parser.y"
7232 > #line 3076 "conf_parser.y"
7233      {
7234    if (conf_parser_ctx.pass == 2)
7235    {
# Line 7620 | Line 7239 | yyreduce:
7239   }
7240      break;
7241  
7242 <  case 604:
7242 >  case 585:
7243  
7244   /* Line 1806 of yacc.c  */
7245 < #line 3341 "ircd_parser.y"
7245 > #line 3083 "conf_parser.y"
7246      {
7247    if (conf_parser_ctx.pass == 2)
7248    {
# Line 7641 | Line 7260 | yyreduce:
7260   }
7261      break;
7262  
7263 <  case 614:
7263 >  case 595:
7264  
7265   /* Line 1806 of yacc.c  */
7266 < #line 3367 "ircd_parser.y"
7266 > #line 3109 "conf_parser.y"
7267      {
7268    if (conf_parser_ctx.pass == 2)
7269      ConfigFileEntry.glines = yylval.number;
7270   }
7271      break;
7272  
7273 <  case 615:
7273 >  case 596:
7274  
7275   /* Line 1806 of yacc.c  */
7276 < #line 3373 "ircd_parser.y"
7276 > #line 3115 "conf_parser.y"
7277      {
7278    if (conf_parser_ctx.pass == 2)
7279      ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7280   }
7281      break;
7282  
7283 <  case 616:
7283 >  case 597:
7284  
7285   /* Line 1806 of yacc.c  */
7286 < #line 3379 "ircd_parser.y"
7286 > #line 3121 "conf_parser.y"
7287      {
7288    if (conf_parser_ctx.pass == 2)
7289      ConfigFileEntry.gline_logging = 0;
7290   }
7291      break;
7292  
7293 <  case 620:
7293 >  case 601:
7294  
7295   /* Line 1806 of yacc.c  */
7296 < #line 3385 "ircd_parser.y"
7296 > #line 3127 "conf_parser.y"
7297      {
7298    if (conf_parser_ctx.pass == 2)
7299      ConfigFileEntry.gline_logging |= GDENY_REJECT;
7300   }
7301      break;
7302  
7303 <  case 621:
7303 >  case 602:
7304  
7305   /* Line 1806 of yacc.c  */
7306 < #line 3389 "ircd_parser.y"
7306 > #line 3131 "conf_parser.y"
7307      {
7308    if (conf_parser_ctx.pass == 2)
7309      ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7310   }
7311      break;
7312  
7313 <  case 622:
7313 >  case 603:
7314  
7315   /* Line 1806 of yacc.c  */
7316 < #line 3395 "ircd_parser.y"
7316 > #line 3137 "conf_parser.y"
7317      {
7318    if (conf_parser_ctx.pass == 2)
7319    {
# Line 7729 | Line 7348 | yyreduce:
7348   }
7349      break;
7350  
7351 <  case 623:
7351 >  case 604:
7352  
7353   /* Line 1806 of yacc.c  */
7354 < #line 3429 "ircd_parser.y"
7354 > #line 3171 "conf_parser.y"
7355      {
7356    if (conf_parser_ctx.pass == 2)  
7357    {
# Line 7742 | Line 7361 | yyreduce:
7361   }
7362      break;
7363  
7364 <  case 624:
7364 >  case 605:
7365  
7366   /* Line 1806 of yacc.c  */
7367 < #line 3438 "ircd_parser.y"
7367 > #line 3180 "conf_parser.y"
7368      {
7369    if (conf_parser_ctx.pass == 2)
7370      yy_aconf->flags = 0;
7371   }
7372      break;
7373  
7374 <  case 625:
7374 >  case 606:
7375  
7376   /* Line 1806 of yacc.c  */
7377 < #line 3442 "ircd_parser.y"
7377 > #line 3184 "conf_parser.y"
7378      {
7379    if (conf_parser_ctx.pass == 2)
7380    {
# Line 7802 | Line 7421 | yyreduce:
7421   }
7422      break;
7423  
7424 <  case 628:
7424 >  case 609:
7425  
7426   /* Line 1806 of yacc.c  */
7427 < #line 3489 "ircd_parser.y"
7427 > #line 3231 "conf_parser.y"
7428      {
7429    if (conf_parser_ctx.pass == 2)
7430      yy_aconf->flags |= GDENY_REJECT;
7431   }
7432      break;
7433  
7434 <  case 629:
7434 >  case 610:
7435  
7436   /* Line 1806 of yacc.c  */
7437 < #line 3493 "ircd_parser.y"
7437 > #line 3235 "conf_parser.y"
7438      {
7439    if (conf_parser_ctx.pass == 2)
7440      yy_aconf->flags |= GDENY_BLOCK;
7441   }
7442      break;
7443  
7444 <  case 652:
7444 >  case 633:
7445  
7446   /* Line 1806 of yacc.c  */
7447 < #line 3517 "ircd_parser.y"
7447 > #line 3259 "conf_parser.y"
7448      {
7449    ConfigChannel.disable_fake_channels = yylval.number;
7450   }
7451      break;
7452  
7453 <  case 653:
7453 >  case 634:
7454  
7455   /* Line 1806 of yacc.c  */
7456 < #line 3522 "ircd_parser.y"
7456 > #line 3264 "conf_parser.y"
7457      {
7458    ConfigChannel.restrict_channels = yylval.number;
7459   }
7460      break;
7461  
7462 <  case 654:
7462 >  case 635:
7463  
7464   /* Line 1806 of yacc.c  */
7465 < #line 3527 "ircd_parser.y"
7465 > #line 3269 "conf_parser.y"
7466      {
7467    ConfigChannel.disable_local_channels = yylval.number;
7468   }
7469      break;
7470  
7471 <  case 655:
7471 >  case 636:
7472  
7473   /* Line 1806 of yacc.c  */
7474 < #line 3532 "ircd_parser.y"
7474 > #line 3274 "conf_parser.y"
7475      {
7476    ConfigChannel.use_except = yylval.number;
7477   }
7478      break;
7479  
7480 <  case 656:
7480 >  case 637:
7481  
7482   /* Line 1806 of yacc.c  */
7483 < #line 3537 "ircd_parser.y"
7483 > #line 3279 "conf_parser.y"
7484      {
7485    ConfigChannel.use_invex = yylval.number;
7486   }
7487      break;
7488  
7489 <  case 657:
7489 >  case 638:
7490  
7491   /* Line 1806 of yacc.c  */
7492 < #line 3542 "ircd_parser.y"
7492 > #line 3284 "conf_parser.y"
7493      {
7494    ConfigChannel.use_knock = yylval.number;
7495   }
7496      break;
7497  
7498 <  case 658:
7498 >  case 639:
7499  
7500   /* Line 1806 of yacc.c  */
7501 < #line 3547 "ircd_parser.y"
7501 > #line 3289 "conf_parser.y"
7502      {
7503    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
7504   }
7505      break;
7506  
7507 <  case 659:
7507 >  case 640:
7508  
7509   /* Line 1806 of yacc.c  */
7510 < #line 3552 "ircd_parser.y"
7510 > #line 3294 "conf_parser.y"
7511      {
7512    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
7513   }
7514      break;
7515  
7516 <  case 660:
7516 >  case 641:
7517  
7518   /* Line 1806 of yacc.c  */
7519 < #line 3557 "ircd_parser.y"
7519 > #line 3299 "conf_parser.y"
7520      {
7521    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
7522   }
7523      break;
7524  
7525 <  case 661:
7525 >  case 642:
7526  
7527   /* Line 1806 of yacc.c  */
7528 < #line 3562 "ircd_parser.y"
7528 > #line 3304 "conf_parser.y"
7529      {
7530    ConfigChannel.quiet_on_ban = yylval.number;
7531   }
7532      break;
7533  
7534 <  case 662:
7534 >  case 643:
7535  
7536   /* Line 1806 of yacc.c  */
7537 < #line 3567 "ircd_parser.y"
7537 > #line 3309 "conf_parser.y"
7538      {
7539    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
7540   }
7541      break;
7542  
7543 <  case 663:
7543 >  case 644:
7544  
7545   /* Line 1806 of yacc.c  */
7546 < #line 3572 "ircd_parser.y"
7546 > #line 3314 "conf_parser.y"
7547      {
7548    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
7549   }
7550      break;
7551  
7552 <  case 664:
7552 >  case 645:
7553  
7554   /* Line 1806 of yacc.c  */
7555 < #line 3577 "ircd_parser.y"
7555 > #line 3319 "conf_parser.y"
7556      {
7557    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
7558   }
7559      break;
7560  
7561 <  case 665:
7561 >  case 646:
7562  
7563   /* Line 1806 of yacc.c  */
7564 < #line 3582 "ircd_parser.y"
7564 > #line 3324 "conf_parser.y"
7565      {
7566    ConfigChannel.no_create_on_split = yylval.number;
7567   }
7568      break;
7569  
7570 <  case 666:
7570 >  case 647:
7571  
7572   /* Line 1806 of yacc.c  */
7573 < #line 3587 "ircd_parser.y"
7573 > #line 3329 "conf_parser.y"
7574      {
7575    ConfigChannel.no_join_on_split = yylval.number;
7576   }
7577      break;
7578  
7579 <  case 667:
7579 >  case 648:
7580  
7581   /* Line 1806 of yacc.c  */
7582 < #line 3592 "ircd_parser.y"
7582 > #line 3334 "conf_parser.y"
7583      {
7584    ConfigChannel.burst_topicwho = yylval.number;
7585   }
7586      break;
7587  
7588 <  case 668:
7588 >  case 649:
7589  
7590   /* Line 1806 of yacc.c  */
7591 < #line 3597 "ircd_parser.y"
7591 > #line 3339 "conf_parser.y"
7592      {
7593    GlobalSetOptions.joinfloodcount = yylval.number;
7594   }
7595      break;
7596  
7597 <  case 669:
7597 >  case 650:
7598  
7599   /* Line 1806 of yacc.c  */
7600 < #line 3602 "ircd_parser.y"
7600 > #line 3344 "conf_parser.y"
7601      {
7602    GlobalSetOptions.joinfloodtime = yylval.number;
7603   }
7604      break;
7605  
7606 <  case 681:
7606 >  case 662:
7607  
7608   /* Line 1806 of yacc.c  */
7609 < #line 3621 "ircd_parser.y"
7609 > #line 3363 "conf_parser.y"
7610      {
7611    if (conf_parser_ctx.pass == 2)
7612      ConfigServerHide.flatten_links = yylval.number;
7613   }
7614      break;
7615  
7616 <  case 682:
7616 >  case 663:
7617  
7618   /* Line 1806 of yacc.c  */
7619 < #line 3627 "ircd_parser.y"
7619 > #line 3369 "conf_parser.y"
7620      {
7621    if (conf_parser_ctx.pass == 2)
7622      ConfigServerHide.hide_servers = yylval.number;
7623   }
7624      break;
7625  
7626 <  case 683:
7626 >  case 664:
7627  
7628   /* Line 1806 of yacc.c  */
7629 < #line 3633 "ircd_parser.y"
7629 > #line 3375 "conf_parser.y"
7630      {
7631    if (conf_parser_ctx.pass == 2)
7632    {
# Line 8017 | Line 7636 | yyreduce:
7636   }
7637      break;
7638  
7639 <  case 684:
7639 >  case 665:
7640  
7641   /* Line 1806 of yacc.c  */
7642 < #line 3642 "ircd_parser.y"
7642 > #line 3384 "conf_parser.y"
7643      {
7644    if (conf_parser_ctx.pass == 2)
7645    {
# Line 8035 | Line 7654 | yyreduce:
7654   }
7655      break;
7656  
7657 <  case 685:
7657 >  case 666:
7658  
7659   /* Line 1806 of yacc.c  */
7660 < #line 3656 "ircd_parser.y"
7660 > #line 3398 "conf_parser.y"
7661      {
7662    if (conf_parser_ctx.pass == 2)
7663      ConfigServerHide.hidden = yylval.number;
7664   }
7665      break;
7666  
7667 <  case 686:
7667 >  case 667:
7668  
7669   /* Line 1806 of yacc.c  */
7670 < #line 3662 "ircd_parser.y"
7670 > #line 3404 "conf_parser.y"
7671      {
7672    if (conf_parser_ctx.pass == 2)
7673      ConfigServerHide.disable_hidden = yylval.number;
7674   }
7675      break;
7676  
7677 <  case 687:
7677 >  case 668:
7678  
7679   /* Line 1806 of yacc.c  */
7680 < #line 3668 "ircd_parser.y"
7680 > #line 3410 "conf_parser.y"
7681      {
7682    if (conf_parser_ctx.pass == 2)
7683      ConfigServerHide.hide_server_ips = yylval.number;
# Line 8068 | Line 7687 | yyreduce:
7687  
7688  
7689   /* Line 1806 of yacc.c  */
7690 < #line 8072 "ircd_parser.c"
7690 > #line 7691 "conf_parser.c"
7691        default: break;
7692      }
7693    /* User semantic actions sometimes alter yychar, and that requires

Diff Legend

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