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

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

Diff Legend

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