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/src/ircd_parser.c (file contents), Revision 1028 by michael, Sun Nov 8 13:03:38 2009 UTC vs.
ircd-hybrid/trunk/src/conf_parser.c (file contents), Revision 1592 by michael, Sat Oct 27 21:02:32 2012 UTC

# Line 1 | Line 1
1 + /* A Bison parser, made by GNU Bison 2.6.2.  */
2  
3 < /* A Bison parser, made by GNU Bison 2.4.1.  */
3 <
4 < /* Skeleton implementation for Bison's Yacc-like parsers in C
3 > /* Bison implementation for Yacc-like parsers in C
4    
5 <      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
7 <   Free Software Foundation, Inc.
5 >      Copyright (C) 1984, 1989-1990, 2000-2012 Free Software Foundation, Inc.
6    
7     This program is free software: you can redistribute it and/or modify
8     it under the terms of the GNU General Public License as published by
# Line 46 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.4.1"
47 > #define YYBISON_VERSION "2.6.2"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 60 | Line 58
58   /* Pull parsers.  */
59   #define YYPULL 1
60  
63 /* Using locations.  */
64 #define YYLSP_NEEDED 0
61  
62  
63  
64   /* Copy the first part of user declarations.  */
65 <
66 < /* Line 189 of yacc.c  */
71 < #line 25 "ircd_parser.y"
65 > /* Line 336 of yacc.c  */
66 > #line 25 "conf_parser.y"
67  
68  
69   #define YY_NO_UNPUT
# Line 79 | Line 74
74   #include "stdinc.h"
75   #include "ircd.h"
76   #include "list.h"
77 < #include "s_conf.h"
77 > #include "conf.h"
78   #include "event.h"
79 < #include "s_log.h"
79 > #include "log.h"
80   #include "client.h"     /* for UMODE_ALL only */
81   #include "irc_string.h"
87 #include "irc_getaddrinfo.h"
82   #include "sprintf_irc.h"
83   #include "memory.h"
84   #include "modules.h"
# Line 100 | Line 94
94   #include <openssl/rsa.h>
95   #include <openssl/bio.h>
96   #include <openssl/pem.h>
97 + #include <openssl/dh.h>
98   #endif
99  
100 + int yylex(void);
101 +
102   static char *class_name = NULL;
103   static struct ConfItem *yy_conf = NULL;
104   static struct AccessItem *yy_aconf = NULL;
# Line 110 | Line 107 | static struct ClassItem *yy_class = NULL
107   static char *yy_class_name = NULL;
108  
109   static dlink_list col_conf_list  = { NULL, NULL, 0 };
113 static dlink_list hub_conf_list  = { NULL, NULL, 0 };
114 static dlink_list leaf_conf_list = { NULL, NULL, 0 };
110   static unsigned int listener_flags = 0;
111   static unsigned int regex_ban = 0;
112   static char userbuf[IRCD_BUFSIZE];
113   static char hostbuf[IRCD_BUFSIZE];
114   static char reasonbuf[REASONLEN + 1];
115   static char gecos_name[REALLEN * 4];
116 <
116 > static char lfile[IRCD_BUFSIZE];
117 > static unsigned int ltype = 0;
118 > static unsigned int lsize = 0;
119   static char *resv_reason = NULL;
120   static char *listener_address = NULL;
124 static int not_atom = 0;
121  
122   struct CollectItem
123   {
# Line 151 | Line 147 | free_collect_item(struct CollectItem *it
147    MyFree(item);
148   }
149  
154 static void
155 unhook_hub_leaf_confs(void)
156 {
157  dlink_node *ptr;
158  dlink_node *next_ptr;
159  struct CollectItem *yy_hconf;
160  struct CollectItem *yy_lconf;
161
162  DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
163  {
164    yy_hconf = ptr->data;
165    dlinkDelete(&yy_hconf->node, &hub_conf_list);
166    free_collect_item(yy_hconf);
167  }
168
169  DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
170  {
171    yy_lconf = ptr->data;
172    dlinkDelete(&yy_lconf->node, &leaf_conf_list);
173    free_collect_item(yy_lconf);
174  }
175 }
176
177
150  
151 < /* Line 189 of yacc.c  */
152 < #line 181 "ircd_parser.c"
151 > /* Line 336 of yacc.c  */
152 > #line 153 "conf_parser.c"
153  
154 < /* Enabling traces.  */
155 < #ifndef YYDEBUG
156 < # define YYDEBUG 0
157 < #endif
154 > # ifndef YY_NULL
155 > #  if defined __cplusplus && 201103L <= __cplusplus
156 > #   define YY_NULL nullptr
157 > #  else
158 > #   define YY_NULL 0
159 > #  endif
160 > # endif
161  
162   /* Enabling verbose error messages.  */
163   #ifdef YYERROR_VERBOSE
# Line 192 | Line 167 | unhook_hub_leaf_confs(void)
167   # define YYERROR_VERBOSE 0
168   #endif
169  
170 < /* Enabling the token table.  */
171 < #ifndef YYTOKEN_TABLE
172 < # define YYTOKEN_TABLE 0
170 > /* In a future release of Bison, this section will be replaced
171 >   by #include "y.tab.h".  */
172 > #ifndef YY_Y_TAB_H
173 > # define YY_Y_TAB_H
174 > /* Enabling traces.  */
175 > #ifndef YYDEBUG
176 > # define YYDEBUG 0
177 > #endif
178 > #if YYDEBUG
179 > extern int yydebug;
180   #endif
199
181  
182   /* Tokens.  */
183   #ifndef YYTOKENTYPE
# Line 205 | Line 186 | unhook_hub_leaf_confs(void)
186        know about them.  */
187     enum yytokentype {
188       ACCEPT_PASSWORD = 258,
189 <     ACTION = 259,
190 <     ADMIN = 260,
191 <     AFTYPE = 261,
192 <     T_ALLOW = 262,
193 <     ANTI_NICK_FLOOD = 263,
194 <     ANTI_SPAM_EXIT_MESSAGE_TIME = 264,
195 <     AUTOCONN = 265,
196 <     T_BLOCK = 266,
197 <     BURST_AWAY = 267,
198 <     BURST_TOPICWHO = 268,
199 <     BYTES = 269,
200 <     KBYTES = 270,
201 <     MBYTES = 271,
202 <     GBYTES = 272,
203 <     TBYTES = 273,
204 <     CALLER_ID_WAIT = 274,
205 <     CAN_FLOOD = 275,
206 <     CAN_IDLE = 276,
207 <     CHANNEL = 277,
208 <     CIDR_BITLEN_IPV4 = 278,
209 <     CIDR_BITLEN_IPV6 = 279,
210 <     CIPHER_PREFERENCE = 280,
211 <     CLASS = 281,
212 <     COMPRESSED = 282,
213 <     COMPRESSION_LEVEL = 283,
214 <     CONNECT = 284,
215 <     CONNECTFREQ = 285,
216 <     CRYPTLINK = 286,
217 <     DEFAULT_CIPHER_PREFERENCE = 287,
218 <     DEFAULT_FLOODCOUNT = 288,
219 <     DEFAULT_SPLIT_SERVER_COUNT = 289,
220 <     DEFAULT_SPLIT_USER_COUNT = 290,
221 <     DENY = 291,
222 <     DESCRIPTION = 292,
223 <     DIE = 293,
224 <     DISABLE_AUTH = 294,
225 <     DISABLE_FAKE_CHANNELS = 295,
226 <     DISABLE_HIDDEN = 296,
227 <     DISABLE_LOCAL_CHANNELS = 297,
228 <     DISABLE_REMOTE_COMMANDS = 298,
229 <     DOT_IN_IP6_ADDR = 299,
230 <     DOTS_IN_IDENT = 300,
231 <     DURATION = 301,
232 <     EGDPOOL_PATH = 302,
233 <     EMAIL = 303,
234 <     ENABLE = 304,
235 <     ENCRYPTED = 305,
236 <     EXCEED_LIMIT = 306,
237 <     EXEMPT = 307,
238 <     FAILED_OPER_NOTICE = 308,
239 <     FAKENAME = 309,
240 <     IRCD_FLAGS = 310,
241 <     FLATTEN_LINKS = 311,
242 <     FFAILED_OPERLOG = 312,
243 <     FKILLLOG = 313,
244 <     FKLINELOG = 314,
245 <     FGLINELOG = 315,
246 <     FIOERRLOG = 316,
247 <     FOPERLOG = 317,
248 <     FOPERSPYLOG = 318,
249 <     FUSERLOG = 319,
250 <     GECOS = 320,
251 <     GENERAL = 321,
252 <     GLINE = 322,
253 <     GLINES = 323,
254 <     GLINE_EXEMPT = 324,
255 <     GLINE_LOG = 325,
256 <     GLINE_TIME = 326,
257 <     GLINE_MIN_CIDR = 327,
258 <     GLINE_MIN_CIDR6 = 328,
259 <     GLOBAL_KILL = 329,
260 <     IRCD_AUTH = 330,
261 <     NEED_IDENT = 331,
262 <     HAVENT_READ_CONF = 332,
263 <     HIDDEN = 333,
264 <     HIDDEN_ADMIN = 334,
265 <     HIDDEN_NAME = 335,
266 <     HIDDEN_OPER = 336,
267 <     HIDE_SERVER_IPS = 337,
268 <     HIDE_SERVERS = 338,
269 <     HIDE_SPOOF_IPS = 339,
270 <     HOST = 340,
271 <     HUB = 341,
272 <     HUB_MASK = 342,
273 <     IDLETIME = 343,
274 <     IGNORE_BOGUS_TS = 344,
275 <     INVISIBLE_ON_CONNECT = 345,
276 <     IP = 346,
277 <     KILL = 347,
278 <     KILL_CHASE_TIME_LIMIT = 348,
279 <     KLINE = 349,
280 <     KLINE_EXEMPT = 350,
281 <     KLINE_REASON = 351,
282 <     KLINE_WITH_REASON = 352,
283 <     KNOCK_DELAY = 353,
284 <     KNOCK_DELAY_CHANNEL = 354,
285 <     LEAF_MASK = 355,
286 <     LINKS_DELAY = 356,
287 <     LISTEN = 357,
288 <     T_LOG = 358,
289 <     LOGGING = 359,
290 <     LOG_LEVEL = 360,
291 <     MAX_ACCEPT = 361,
292 <     MAX_BANS = 362,
293 <     MAX_CHANS_PER_USER = 363,
294 <     MAX_GLOBAL = 364,
295 <     MAX_IDENT = 365,
296 <     MAX_LOCAL = 366,
297 <     MAX_NICK_CHANGES = 367,
298 <     MAX_NICK_TIME = 368,
299 <     MAX_NUMBER = 369,
300 <     MAX_TARGETS = 370,
301 <     MAX_WATCH = 371,
302 <     MESSAGE_LOCALE = 372,
303 <     MIN_NONWILDCARD = 373,
304 <     MIN_NONWILDCARD_SIMPLE = 374,
305 <     MODULE = 375,
306 <     MODULES = 376,
307 <     NAME = 377,
308 <     NEED_PASSWORD = 378,
309 <     NETWORK_DESC = 379,
310 <     NETWORK_NAME = 380,
311 <     NICK = 381,
312 <     NICK_CHANGES = 382,
313 <     NO_CREATE_ON_SPLIT = 383,
314 <     NO_JOIN_ON_SPLIT = 384,
315 <     NO_OPER_FLOOD = 385,
316 <     NO_TILDE = 386,
317 <     NOT = 387,
318 <     NUMBER = 388,
319 <     NUMBER_PER_IDENT = 389,
320 <     NUMBER_PER_CIDR = 390,
321 <     NUMBER_PER_IP = 391,
322 <     NUMBER_PER_IP_GLOBAL = 392,
323 <     OPERATOR = 393,
324 <     OPERS_BYPASS_CALLERID = 394,
325 <     OPER_LOG = 395,
326 <     OPER_ONLY_UMODES = 396,
327 <     OPER_PASS_RESV = 397,
328 <     OPER_SPY_T = 398,
329 <     OPER_UMODES = 399,
330 <     JOIN_FLOOD_COUNT = 400,
331 <     JOIN_FLOOD_TIME = 401,
332 <     PACE_WAIT = 402,
333 <     PACE_WAIT_SIMPLE = 403,
334 <     PASSWORD = 404,
335 <     PATH = 405,
336 <     PING_COOKIE = 406,
337 <     PING_TIME = 407,
338 <     PING_WARNING = 408,
339 <     PORT = 409,
340 <     QSTRING = 410,
341 <     QUIET_ON_BAN = 411,
342 <     REASON = 412,
343 <     REDIRPORT = 413,
344 <     REDIRSERV = 414,
345 <     REGEX_T = 415,
346 <     REHASH = 416,
347 <     TREJECT_HOLD_TIME = 417,
348 <     REMOTE = 418,
349 <     REMOTEBAN = 419,
350 <     RESTRICT_CHANNELS = 420,
351 <     RESTRICTED = 421,
352 <     RSA_PRIVATE_KEY_FILE = 422,
353 <     RSA_PUBLIC_KEY_FILE = 423,
354 <     SSL_CERTIFICATE_FILE = 424,
355 <     T_SSL_CONNECTION_METHOD = 425,
356 <     T_SSLV3 = 426,
357 <     T_TLSV1 = 427,
358 <     RESV = 428,
359 <     RESV_EXEMPT = 429,
360 <     SECONDS = 430,
361 <     MINUTES = 431,
362 <     HOURS = 432,
363 <     DAYS = 433,
364 <     WEEKS = 434,
365 <     SENDQ = 435,
366 <     SEND_PASSWORD = 436,
367 <     SERVERHIDE = 437,
368 <     SERVERINFO = 438,
369 <     SERVLINK_PATH = 439,
370 <     IRCD_SID = 440,
371 <     TKLINE_EXPIRE_NOTICES = 441,
372 <     T_SHARED = 442,
373 <     T_CLUSTER = 443,
374 <     TYPE = 444,
375 <     SHORT_MOTD = 445,
376 <     SILENT = 446,
377 <     SPOOF = 447,
378 <     SPOOF_NOTICE = 448,
379 <     STATS_E_DISABLED = 449,
380 <     STATS_I_OPER_ONLY = 450,
381 <     STATS_K_OPER_ONLY = 451,
382 <     STATS_O_OPER_ONLY = 452,
383 <     STATS_P_OPER_ONLY = 453,
384 <     TBOOL = 454,
385 <     TMASKED = 455,
386 <     T_REJECT = 456,
387 <     TS_MAX_DELTA = 457,
388 <     TS_WARN_DELTA = 458,
389 <     TWODOTS = 459,
390 <     T_ALL = 460,
391 <     T_BOTS = 461,
392 <     T_SOFTCALLERID = 462,
393 <     T_CALLERID = 463,
394 <     T_CCONN = 464,
395 <     T_CCONN_FULL = 465,
396 <     T_CLIENT_FLOOD = 466,
397 <     T_DEAF = 467,
398 <     T_DEBUG = 468,
399 <     T_DRONE = 469,
419 <     T_EXTERNAL = 470,
420 <     T_FULL = 471,
421 <     T_INVISIBLE = 472,
422 <     T_IPV4 = 473,
423 <     T_IPV6 = 474,
424 <     T_LOCOPS = 475,
425 <     T_LOGPATH = 476,
426 <     T_L_CRIT = 477,
427 <     T_L_DEBUG = 478,
428 <     T_L_ERROR = 479,
429 <     T_L_INFO = 480,
430 <     T_L_NOTICE = 481,
431 <     T_L_TRACE = 482,
432 <     T_L_WARN = 483,
433 <     T_MAX_CLIENTS = 484,
434 <     T_NCHANGE = 485,
435 <     T_OPERWALL = 486,
436 <     T_REJ = 487,
437 <     T_SERVER = 488,
438 <     T_SERVNOTICE = 489,
439 <     T_SKILL = 490,
440 <     T_SPY = 491,
441 <     T_SSL = 492,
442 <     T_UMODES = 493,
443 <     T_UNAUTH = 494,
444 <     T_UNRESV = 495,
445 <     T_UNXLINE = 496,
446 <     T_WALLOP = 497,
447 <     THROTTLE_TIME = 498,
448 <     TOPICBURST = 499,
449 <     TRUE_NO_OPER_FLOOD = 500,
450 <     TKLINE = 501,
451 <     TXLINE = 502,
452 <     TRESV = 503,
453 <     UNKLINE = 504,
454 <     USER = 505,
455 <     USE_EGD = 506,
456 <     USE_EXCEPT = 507,
457 <     USE_INVEX = 508,
458 <     USE_KNOCK = 509,
459 <     USE_LOGGING = 510,
460 <     USE_WHOIS_ACTUALLY = 511,
461 <     VHOST = 512,
462 <     VHOST6 = 513,
463 <     XLINE = 514,
464 <     WARN = 515,
465 <     WARN_NO_NLINE = 516
189 >     ADMIN = 259,
190 >     AFTYPE = 260,
191 >     ANTI_NICK_FLOOD = 261,
192 >     ANTI_SPAM_EXIT_MESSAGE_TIME = 262,
193 >     AUTOCONN = 263,
194 >     BYTES = 264,
195 >     KBYTES = 265,
196 >     MBYTES = 266,
197 >     CALLER_ID_WAIT = 267,
198 >     CAN_FLOOD = 268,
199 >     CHANNEL = 269,
200 >     CIDR_BITLEN_IPV4 = 270,
201 >     CIDR_BITLEN_IPV6 = 271,
202 >     CLASS = 272,
203 >     CONNECT = 273,
204 >     CONNECTFREQ = 274,
205 >     DEFAULT_FLOODCOUNT = 275,
206 >     DEFAULT_SPLIT_SERVER_COUNT = 276,
207 >     DEFAULT_SPLIT_USER_COUNT = 277,
208 >     DENY = 278,
209 >     DESCRIPTION = 279,
210 >     DIE = 280,
211 >     DISABLE_AUTH = 281,
212 >     DISABLE_FAKE_CHANNELS = 282,
213 >     DISABLE_REMOTE_COMMANDS = 283,
214 >     DOTS_IN_IDENT = 284,
215 >     EGDPOOL_PATH = 285,
216 >     EMAIL = 286,
217 >     ENCRYPTED = 287,
218 >     EXCEED_LIMIT = 288,
219 >     EXEMPT = 289,
220 >     FAILED_OPER_NOTICE = 290,
221 >     IRCD_FLAGS = 291,
222 >     FLATTEN_LINKS = 292,
223 >     GECOS = 293,
224 >     GENERAL = 294,
225 >     GLINE = 295,
226 >     GLINE_DURATION = 296,
227 >     GLINE_ENABLE = 297,
228 >     GLINE_EXEMPT = 298,
229 >     GLINE_REQUEST_DURATION = 299,
230 >     GLINE_MIN_CIDR = 300,
231 >     GLINE_MIN_CIDR6 = 301,
232 >     GLOBAL_KILL = 302,
233 >     IRCD_AUTH = 303,
234 >     NEED_IDENT = 304,
235 >     HAVENT_READ_CONF = 305,
236 >     HIDDEN = 306,
237 >     HIDDEN_NAME = 307,
238 >     HIDE_SERVER_IPS = 308,
239 >     HIDE_SERVERS = 309,
240 >     HIDE_SPOOF_IPS = 310,
241 >     HOST = 311,
242 >     HUB = 312,
243 >     HUB_MASK = 313,
244 >     IGNORE_BOGUS_TS = 314,
245 >     INVISIBLE_ON_CONNECT = 315,
246 >     IP = 316,
247 >     KILL = 317,
248 >     KILL_CHASE_TIME_LIMIT = 318,
249 >     KLINE = 319,
250 >     KLINE_EXEMPT = 320,
251 >     KNOCK_DELAY = 321,
252 >     KNOCK_DELAY_CHANNEL = 322,
253 >     LEAF_MASK = 323,
254 >     LINKS_DELAY = 324,
255 >     LISTEN = 325,
256 >     T_LOG = 326,
257 >     MAX_ACCEPT = 327,
258 >     MAX_BANS = 328,
259 >     MAX_CHANS_PER_OPER = 329,
260 >     MAX_CHANS_PER_USER = 330,
261 >     MAX_GLOBAL = 331,
262 >     MAX_IDENT = 332,
263 >     MAX_LOCAL = 333,
264 >     MAX_NICK_CHANGES = 334,
265 >     MAX_NICK_TIME = 335,
266 >     MAX_NUMBER = 336,
267 >     MAX_TARGETS = 337,
268 >     MAX_WATCH = 338,
269 >     MESSAGE_LOCALE = 339,
270 >     MIN_NONWILDCARD = 340,
271 >     MIN_NONWILDCARD_SIMPLE = 341,
272 >     MODULE = 342,
273 >     MODULES = 343,
274 >     NAME = 344,
275 >     NEED_PASSWORD = 345,
276 >     NETWORK_DESC = 346,
277 >     NETWORK_NAME = 347,
278 >     NICK = 348,
279 >     NICK_CHANGES = 349,
280 >     NO_CREATE_ON_SPLIT = 350,
281 >     NO_JOIN_ON_SPLIT = 351,
282 >     NO_OPER_FLOOD = 352,
283 >     NO_TILDE = 353,
284 >     NUMBER = 354,
285 >     NUMBER_PER_CIDR = 355,
286 >     NUMBER_PER_IP = 356,
287 >     OPERATOR = 357,
288 >     OPERS_BYPASS_CALLERID = 358,
289 >     OPER_ONLY_UMODES = 359,
290 >     OPER_PASS_RESV = 360,
291 >     OPER_SPY_T = 361,
292 >     OPER_UMODES = 362,
293 >     JOIN_FLOOD_COUNT = 363,
294 >     JOIN_FLOOD_TIME = 364,
295 >     PACE_WAIT = 365,
296 >     PACE_WAIT_SIMPLE = 366,
297 >     PASSWORD = 367,
298 >     PATH = 368,
299 >     PING_COOKIE = 369,
300 >     PING_TIME = 370,
301 >     PING_WARNING = 371,
302 >     PORT = 372,
303 >     QSTRING = 373,
304 >     QUIET_ON_BAN = 374,
305 >     REASON = 375,
306 >     REDIRPORT = 376,
307 >     REDIRSERV = 377,
308 >     REGEX_T = 378,
309 >     REHASH = 379,
310 >     REMOTE = 380,
311 >     REMOTEBAN = 381,
312 >     RESTRICT_CHANNELS = 382,
313 >     RSA_PRIVATE_KEY_FILE = 383,
314 >     RSA_PUBLIC_KEY_FILE = 384,
315 >     SSL_CERTIFICATE_FILE = 385,
316 >     SSL_DH_PARAM_FILE = 386,
317 >     T_SSL_CLIENT_METHOD = 387,
318 >     T_SSL_SERVER_METHOD = 388,
319 >     T_SSLV3 = 389,
320 >     T_TLSV1 = 390,
321 >     RESV = 391,
322 >     RESV_EXEMPT = 392,
323 >     SECONDS = 393,
324 >     MINUTES = 394,
325 >     HOURS = 395,
326 >     DAYS = 396,
327 >     WEEKS = 397,
328 >     SENDQ = 398,
329 >     SEND_PASSWORD = 399,
330 >     SERVERHIDE = 400,
331 >     SERVERINFO = 401,
332 >     IRCD_SID = 402,
333 >     TKLINE_EXPIRE_NOTICES = 403,
334 >     T_SHARED = 404,
335 >     T_CLUSTER = 405,
336 >     TYPE = 406,
337 >     SHORT_MOTD = 407,
338 >     SPOOF = 408,
339 >     SPOOF_NOTICE = 409,
340 >     STATS_E_DISABLED = 410,
341 >     STATS_I_OPER_ONLY = 411,
342 >     STATS_K_OPER_ONLY = 412,
343 >     STATS_O_OPER_ONLY = 413,
344 >     STATS_P_OPER_ONLY = 414,
345 >     TBOOL = 415,
346 >     TMASKED = 416,
347 >     TS_MAX_DELTA = 417,
348 >     TS_WARN_DELTA = 418,
349 >     TWODOTS = 419,
350 >     T_ALL = 420,
351 >     T_BOTS = 421,
352 >     T_SOFTCALLERID = 422,
353 >     T_CALLERID = 423,
354 >     T_CCONN = 424,
355 >     T_CCONN_FULL = 425,
356 >     T_SSL_CIPHER_LIST = 426,
357 >     T_DEAF = 427,
358 >     T_DEBUG = 428,
359 >     T_DLINE = 429,
360 >     T_EXTERNAL = 430,
361 >     T_FULL = 431,
362 >     T_INVISIBLE = 432,
363 >     T_IPV4 = 433,
364 >     T_IPV6 = 434,
365 >     T_LOCOPS = 435,
366 >     T_MAX_CLIENTS = 436,
367 >     T_NCHANGE = 437,
368 >     T_OPERWALL = 438,
369 >     T_RECVQ = 439,
370 >     T_REJ = 440,
371 >     T_SERVER = 441,
372 >     T_SERVNOTICE = 442,
373 >     T_SET = 443,
374 >     T_SKILL = 444,
375 >     T_SPY = 445,
376 >     T_SSL = 446,
377 >     T_UMODES = 447,
378 >     T_UNAUTH = 448,
379 >     T_UNDLINE = 449,
380 >     T_UNLIMITED = 450,
381 >     T_UNRESV = 451,
382 >     T_UNXLINE = 452,
383 >     T_GLOBOPS = 453,
384 >     T_WALLOP = 454,
385 >     T_RESTART = 455,
386 >     T_SERVICE = 456,
387 >     T_SERVICES_NAME = 457,
388 >     THROTTLE_TIME = 458,
389 >     TRUE_NO_OPER_FLOOD = 459,
390 >     UNKLINE = 460,
391 >     USER = 461,
392 >     USE_EGD = 462,
393 >     USE_LOGGING = 463,
394 >     VHOST = 464,
395 >     VHOST6 = 465,
396 >     XLINE = 466,
397 >     WARN_NO_NLINE = 467,
398 >     T_SIZE = 468,
399 >     T_FILE = 469
400     };
401   #endif
402   /* Tokens.  */
403   #define ACCEPT_PASSWORD 258
404 < #define ACTION 259
405 < #define ADMIN 260
406 < #define AFTYPE 261
407 < #define T_ALLOW 262
408 < #define ANTI_NICK_FLOOD 263
409 < #define ANTI_SPAM_EXIT_MESSAGE_TIME 264
410 < #define AUTOCONN 265
411 < #define T_BLOCK 266
412 < #define BURST_AWAY 267
413 < #define BURST_TOPICWHO 268
414 < #define BYTES 269
415 < #define KBYTES 270
416 < #define MBYTES 271
417 < #define GBYTES 272
418 < #define TBYTES 273
419 < #define CALLER_ID_WAIT 274
420 < #define CAN_FLOOD 275
421 < #define CAN_IDLE 276
422 < #define CHANNEL 277
423 < #define CIDR_BITLEN_IPV4 278
424 < #define CIDR_BITLEN_IPV6 279
425 < #define CIPHER_PREFERENCE 280
426 < #define CLASS 281
427 < #define COMPRESSED 282
428 < #define COMPRESSION_LEVEL 283
429 < #define CONNECT 284
430 < #define CONNECTFREQ 285
431 < #define CRYPTLINK 286
432 < #define DEFAULT_CIPHER_PREFERENCE 287
433 < #define DEFAULT_FLOODCOUNT 288
434 < #define DEFAULT_SPLIT_SERVER_COUNT 289
435 < #define DEFAULT_SPLIT_USER_COUNT 290
436 < #define DENY 291
437 < #define DESCRIPTION 292
438 < #define DIE 293
439 < #define DISABLE_AUTH 294
440 < #define DISABLE_FAKE_CHANNELS 295
441 < #define DISABLE_HIDDEN 296
442 < #define DISABLE_LOCAL_CHANNELS 297
443 < #define DISABLE_REMOTE_COMMANDS 298
444 < #define DOT_IN_IP6_ADDR 299
445 < #define DOTS_IN_IDENT 300
446 < #define DURATION 301
447 < #define EGDPOOL_PATH 302
448 < #define EMAIL 303
449 < #define ENABLE 304
450 < #define ENCRYPTED 305
451 < #define EXCEED_LIMIT 306
452 < #define EXEMPT 307
453 < #define FAILED_OPER_NOTICE 308
454 < #define FAKENAME 309
455 < #define IRCD_FLAGS 310
456 < #define FLATTEN_LINKS 311
457 < #define FFAILED_OPERLOG 312
458 < #define FKILLLOG 313
459 < #define FKLINELOG 314
460 < #define FGLINELOG 315
461 < #define FIOERRLOG 316
462 < #define FOPERLOG 317
463 < #define FOPERSPYLOG 318
464 < #define FUSERLOG 319
465 < #define GECOS 320
466 < #define GENERAL 321
467 < #define GLINE 322
468 < #define GLINES 323
469 < #define GLINE_EXEMPT 324
470 < #define GLINE_LOG 325
471 < #define GLINE_TIME 326
472 < #define GLINE_MIN_CIDR 327
473 < #define GLINE_MIN_CIDR6 328
474 < #define GLOBAL_KILL 329
475 < #define IRCD_AUTH 330
476 < #define NEED_IDENT 331
477 < #define HAVENT_READ_CONF 332
478 < #define HIDDEN 333
479 < #define HIDDEN_ADMIN 334
480 < #define HIDDEN_NAME 335
481 < #define HIDDEN_OPER 336
482 < #define HIDE_SERVER_IPS 337
483 < #define HIDE_SERVERS 338
484 < #define HIDE_SPOOF_IPS 339
485 < #define HOST 340
486 < #define HUB 341
487 < #define HUB_MASK 342
488 < #define IDLETIME 343
489 < #define IGNORE_BOGUS_TS 344
490 < #define INVISIBLE_ON_CONNECT 345
491 < #define IP 346
492 < #define KILL 347
493 < #define KILL_CHASE_TIME_LIMIT 348
494 < #define KLINE 349
495 < #define KLINE_EXEMPT 350
496 < #define KLINE_REASON 351
497 < #define KLINE_WITH_REASON 352
498 < #define KNOCK_DELAY 353
499 < #define KNOCK_DELAY_CHANNEL 354
500 < #define LEAF_MASK 355
501 < #define LINKS_DELAY 356
502 < #define LISTEN 357
503 < #define T_LOG 358
504 < #define LOGGING 359
505 < #define LOG_LEVEL 360
506 < #define MAX_ACCEPT 361
507 < #define MAX_BANS 362
508 < #define MAX_CHANS_PER_USER 363
509 < #define MAX_GLOBAL 364
510 < #define MAX_IDENT 365
511 < #define MAX_LOCAL 366
512 < #define MAX_NICK_CHANGES 367
513 < #define MAX_NICK_TIME 368
514 < #define MAX_NUMBER 369
515 < #define MAX_TARGETS 370
516 < #define MAX_WATCH 371
517 < #define MESSAGE_LOCALE 372
518 < #define MIN_NONWILDCARD 373
519 < #define MIN_NONWILDCARD_SIMPLE 374
520 < #define MODULE 375
521 < #define MODULES 376
522 < #define NAME 377
523 < #define NEED_PASSWORD 378
524 < #define NETWORK_DESC 379
525 < #define NETWORK_NAME 380
526 < #define NICK 381
527 < #define NICK_CHANGES 382
528 < #define NO_CREATE_ON_SPLIT 383
529 < #define NO_JOIN_ON_SPLIT 384
530 < #define NO_OPER_FLOOD 385
531 < #define NO_TILDE 386
532 < #define NOT 387
533 < #define NUMBER 388
534 < #define NUMBER_PER_IDENT 389
535 < #define NUMBER_PER_CIDR 390
536 < #define NUMBER_PER_IP 391
537 < #define NUMBER_PER_IP_GLOBAL 392
538 < #define OPERATOR 393
539 < #define OPERS_BYPASS_CALLERID 394
540 < #define OPER_LOG 395
541 < #define OPER_ONLY_UMODES 396
542 < #define OPER_PASS_RESV 397
543 < #define OPER_SPY_T 398
544 < #define OPER_UMODES 399
545 < #define JOIN_FLOOD_COUNT 400
546 < #define JOIN_FLOOD_TIME 401
547 < #define PACE_WAIT 402
548 < #define PACE_WAIT_SIMPLE 403
549 < #define PASSWORD 404
550 < #define PATH 405
551 < #define PING_COOKIE 406
552 < #define PING_TIME 407
553 < #define PING_WARNING 408
554 < #define PORT 409
555 < #define QSTRING 410
556 < #define QUIET_ON_BAN 411
557 < #define REASON 412
558 < #define REDIRPORT 413
559 < #define REDIRSERV 414
560 < #define REGEX_T 415
561 < #define REHASH 416
562 < #define TREJECT_HOLD_TIME 417
563 < #define REMOTE 418
564 < #define REMOTEBAN 419
565 < #define RESTRICT_CHANNELS 420
566 < #define RESTRICTED 421
567 < #define RSA_PRIVATE_KEY_FILE 422
568 < #define RSA_PUBLIC_KEY_FILE 423
569 < #define SSL_CERTIFICATE_FILE 424
570 < #define T_SSL_CONNECTION_METHOD 425
571 < #define T_SSLV3 426
572 < #define T_TLSV1 427
573 < #define RESV 428
574 < #define RESV_EXEMPT 429
575 < #define SECONDS 430
576 < #define MINUTES 431
577 < #define HOURS 432
578 < #define DAYS 433
579 < #define WEEKS 434
580 < #define SENDQ 435
581 < #define SEND_PASSWORD 436
582 < #define SERVERHIDE 437
583 < #define SERVERINFO 438
584 < #define SERVLINK_PATH 439
585 < #define IRCD_SID 440
586 < #define TKLINE_EXPIRE_NOTICES 441
587 < #define T_SHARED 442
588 < #define T_CLUSTER 443
589 < #define TYPE 444
590 < #define SHORT_MOTD 445
591 < #define SILENT 446
592 < #define SPOOF 447
593 < #define SPOOF_NOTICE 448
594 < #define STATS_E_DISABLED 449
595 < #define STATS_I_OPER_ONLY 450
596 < #define STATS_K_OPER_ONLY 451
597 < #define STATS_O_OPER_ONLY 452
598 < #define STATS_P_OPER_ONLY 453
599 < #define TBOOL 454
600 < #define TMASKED 455
601 < #define T_REJECT 456
602 < #define TS_MAX_DELTA 457
603 < #define TS_WARN_DELTA 458
604 < #define TWODOTS 459
605 < #define T_ALL 460
606 < #define T_BOTS 461
607 < #define T_SOFTCALLERID 462
608 < #define T_CALLERID 463
609 < #define T_CCONN 464
610 < #define T_CCONN_FULL 465
611 < #define T_CLIENT_FLOOD 466
612 < #define T_DEAF 467
613 < #define T_DEBUG 468
614 < #define T_DRONE 469
681 < #define T_EXTERNAL 470
682 < #define T_FULL 471
683 < #define T_INVISIBLE 472
684 < #define T_IPV4 473
685 < #define T_IPV6 474
686 < #define T_LOCOPS 475
687 < #define T_LOGPATH 476
688 < #define T_L_CRIT 477
689 < #define T_L_DEBUG 478
690 < #define T_L_ERROR 479
691 < #define T_L_INFO 480
692 < #define T_L_NOTICE 481
693 < #define T_L_TRACE 482
694 < #define T_L_WARN 483
695 < #define T_MAX_CLIENTS 484
696 < #define T_NCHANGE 485
697 < #define T_OPERWALL 486
698 < #define T_REJ 487
699 < #define T_SERVER 488
700 < #define T_SERVNOTICE 489
701 < #define T_SKILL 490
702 < #define T_SPY 491
703 < #define T_SSL 492
704 < #define T_UMODES 493
705 < #define T_UNAUTH 494
706 < #define T_UNRESV 495
707 < #define T_UNXLINE 496
708 < #define T_WALLOP 497
709 < #define THROTTLE_TIME 498
710 < #define TOPICBURST 499
711 < #define TRUE_NO_OPER_FLOOD 500
712 < #define TKLINE 501
713 < #define TXLINE 502
714 < #define TRESV 503
715 < #define UNKLINE 504
716 < #define USER 505
717 < #define USE_EGD 506
718 < #define USE_EXCEPT 507
719 < #define USE_INVEX 508
720 < #define USE_KNOCK 509
721 < #define USE_LOGGING 510
722 < #define USE_WHOIS_ACTUALLY 511
723 < #define VHOST 512
724 < #define VHOST6 513
725 < #define XLINE 514
726 < #define WARN 515
727 < #define WARN_NO_NLINE 516
728 <
404 > #define ADMIN 259
405 > #define AFTYPE 260
406 > #define ANTI_NICK_FLOOD 261
407 > #define ANTI_SPAM_EXIT_MESSAGE_TIME 262
408 > #define AUTOCONN 263
409 > #define BYTES 264
410 > #define KBYTES 265
411 > #define MBYTES 266
412 > #define CALLER_ID_WAIT 267
413 > #define CAN_FLOOD 268
414 > #define CHANNEL 269
415 > #define CIDR_BITLEN_IPV4 270
416 > #define CIDR_BITLEN_IPV6 271
417 > #define CLASS 272
418 > #define CONNECT 273
419 > #define CONNECTFREQ 274
420 > #define DEFAULT_FLOODCOUNT 275
421 > #define DEFAULT_SPLIT_SERVER_COUNT 276
422 > #define DEFAULT_SPLIT_USER_COUNT 277
423 > #define DENY 278
424 > #define DESCRIPTION 279
425 > #define DIE 280
426 > #define DISABLE_AUTH 281
427 > #define DISABLE_FAKE_CHANNELS 282
428 > #define DISABLE_REMOTE_COMMANDS 283
429 > #define DOTS_IN_IDENT 284
430 > #define EGDPOOL_PATH 285
431 > #define EMAIL 286
432 > #define ENCRYPTED 287
433 > #define EXCEED_LIMIT 288
434 > #define EXEMPT 289
435 > #define FAILED_OPER_NOTICE 290
436 > #define IRCD_FLAGS 291
437 > #define FLATTEN_LINKS 292
438 > #define GECOS 293
439 > #define GENERAL 294
440 > #define GLINE 295
441 > #define GLINE_DURATION 296
442 > #define GLINE_ENABLE 297
443 > #define GLINE_EXEMPT 298
444 > #define GLINE_REQUEST_DURATION 299
445 > #define GLINE_MIN_CIDR 300
446 > #define GLINE_MIN_CIDR6 301
447 > #define GLOBAL_KILL 302
448 > #define IRCD_AUTH 303
449 > #define NEED_IDENT 304
450 > #define HAVENT_READ_CONF 305
451 > #define HIDDEN 306
452 > #define HIDDEN_NAME 307
453 > #define HIDE_SERVER_IPS 308
454 > #define HIDE_SERVERS 309
455 > #define HIDE_SPOOF_IPS 310
456 > #define HOST 311
457 > #define HUB 312
458 > #define HUB_MASK 313
459 > #define IGNORE_BOGUS_TS 314
460 > #define INVISIBLE_ON_CONNECT 315
461 > #define IP 316
462 > #define KILL 317
463 > #define KILL_CHASE_TIME_LIMIT 318
464 > #define KLINE 319
465 > #define KLINE_EXEMPT 320
466 > #define KNOCK_DELAY 321
467 > #define KNOCK_DELAY_CHANNEL 322
468 > #define LEAF_MASK 323
469 > #define LINKS_DELAY 324
470 > #define LISTEN 325
471 > #define T_LOG 326
472 > #define MAX_ACCEPT 327
473 > #define MAX_BANS 328
474 > #define MAX_CHANS_PER_OPER 329
475 > #define MAX_CHANS_PER_USER 330
476 > #define MAX_GLOBAL 331
477 > #define MAX_IDENT 332
478 > #define MAX_LOCAL 333
479 > #define MAX_NICK_CHANGES 334
480 > #define MAX_NICK_TIME 335
481 > #define MAX_NUMBER 336
482 > #define MAX_TARGETS 337
483 > #define MAX_WATCH 338
484 > #define MESSAGE_LOCALE 339
485 > #define MIN_NONWILDCARD 340
486 > #define MIN_NONWILDCARD_SIMPLE 341
487 > #define MODULE 342
488 > #define MODULES 343
489 > #define NAME 344
490 > #define NEED_PASSWORD 345
491 > #define NETWORK_DESC 346
492 > #define NETWORK_NAME 347
493 > #define NICK 348
494 > #define NICK_CHANGES 349
495 > #define NO_CREATE_ON_SPLIT 350
496 > #define NO_JOIN_ON_SPLIT 351
497 > #define NO_OPER_FLOOD 352
498 > #define NO_TILDE 353
499 > #define NUMBER 354
500 > #define NUMBER_PER_CIDR 355
501 > #define NUMBER_PER_IP 356
502 > #define OPERATOR 357
503 > #define OPERS_BYPASS_CALLERID 358
504 > #define OPER_ONLY_UMODES 359
505 > #define OPER_PASS_RESV 360
506 > #define OPER_SPY_T 361
507 > #define OPER_UMODES 362
508 > #define JOIN_FLOOD_COUNT 363
509 > #define JOIN_FLOOD_TIME 364
510 > #define PACE_WAIT 365
511 > #define PACE_WAIT_SIMPLE 366
512 > #define PASSWORD 367
513 > #define PATH 368
514 > #define PING_COOKIE 369
515 > #define PING_TIME 370
516 > #define PING_WARNING 371
517 > #define PORT 372
518 > #define QSTRING 373
519 > #define QUIET_ON_BAN 374
520 > #define REASON 375
521 > #define REDIRPORT 376
522 > #define REDIRSERV 377
523 > #define REGEX_T 378
524 > #define REHASH 379
525 > #define REMOTE 380
526 > #define REMOTEBAN 381
527 > #define RESTRICT_CHANNELS 382
528 > #define RSA_PRIVATE_KEY_FILE 383
529 > #define RSA_PUBLIC_KEY_FILE 384
530 > #define SSL_CERTIFICATE_FILE 385
531 > #define SSL_DH_PARAM_FILE 386
532 > #define T_SSL_CLIENT_METHOD 387
533 > #define T_SSL_SERVER_METHOD 388
534 > #define T_SSLV3 389
535 > #define T_TLSV1 390
536 > #define RESV 391
537 > #define RESV_EXEMPT 392
538 > #define SECONDS 393
539 > #define MINUTES 394
540 > #define HOURS 395
541 > #define DAYS 396
542 > #define WEEKS 397
543 > #define SENDQ 398
544 > #define SEND_PASSWORD 399
545 > #define SERVERHIDE 400
546 > #define SERVERINFO 401
547 > #define IRCD_SID 402
548 > #define TKLINE_EXPIRE_NOTICES 403
549 > #define T_SHARED 404
550 > #define T_CLUSTER 405
551 > #define TYPE 406
552 > #define SHORT_MOTD 407
553 > #define SPOOF 408
554 > #define SPOOF_NOTICE 409
555 > #define STATS_E_DISABLED 410
556 > #define STATS_I_OPER_ONLY 411
557 > #define STATS_K_OPER_ONLY 412
558 > #define STATS_O_OPER_ONLY 413
559 > #define STATS_P_OPER_ONLY 414
560 > #define TBOOL 415
561 > #define TMASKED 416
562 > #define TS_MAX_DELTA 417
563 > #define TS_WARN_DELTA 418
564 > #define TWODOTS 419
565 > #define T_ALL 420
566 > #define T_BOTS 421
567 > #define T_SOFTCALLERID 422
568 > #define T_CALLERID 423
569 > #define T_CCONN 424
570 > #define T_CCONN_FULL 425
571 > #define T_SSL_CIPHER_LIST 426
572 > #define T_DEAF 427
573 > #define T_DEBUG 428
574 > #define T_DLINE 429
575 > #define T_EXTERNAL 430
576 > #define T_FULL 431
577 > #define T_INVISIBLE 432
578 > #define T_IPV4 433
579 > #define T_IPV6 434
580 > #define T_LOCOPS 435
581 > #define T_MAX_CLIENTS 436
582 > #define T_NCHANGE 437
583 > #define T_OPERWALL 438
584 > #define T_RECVQ 439
585 > #define T_REJ 440
586 > #define T_SERVER 441
587 > #define T_SERVNOTICE 442
588 > #define T_SET 443
589 > #define T_SKILL 444
590 > #define T_SPY 445
591 > #define T_SSL 446
592 > #define T_UMODES 447
593 > #define T_UNAUTH 448
594 > #define T_UNDLINE 449
595 > #define T_UNLIMITED 450
596 > #define T_UNRESV 451
597 > #define T_UNXLINE 452
598 > #define T_GLOBOPS 453
599 > #define T_WALLOP 454
600 > #define T_RESTART 455
601 > #define T_SERVICE 456
602 > #define T_SERVICES_NAME 457
603 > #define THROTTLE_TIME 458
604 > #define TRUE_NO_OPER_FLOOD 459
605 > #define UNKLINE 460
606 > #define USER 461
607 > #define USE_EGD 462
608 > #define USE_LOGGING 463
609 > #define VHOST 464
610 > #define VHOST6 465
611 > #define XLINE 466
612 > #define WARN_NO_NLINE 467
613 > #define T_SIZE 468
614 > #define T_FILE 469
615  
616  
617  
618   #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
619   typedef union YYSTYPE
620   {
621 <
622 < /* Line 214 of yacc.c  */
737 < #line 132 "ircd_parser.y"
621 > /* Line 350 of yacc.c  */
622 > #line 110 "conf_parser.y"
623  
624    int number;
625    char *string;
626  
627  
628 <
629 < /* Line 214 of yacc.c  */
745 < #line 746 "ircd_parser.c"
628 > /* Line 350 of yacc.c  */
629 > #line 630 "conf_parser.c"
630   } YYSTYPE;
631   # define YYSTYPE_IS_TRIVIAL 1
632   # define yystype YYSTYPE /* obsolescent; will be withdrawn */
633   # define YYSTYPE_IS_DECLARED 1
634   #endif
635  
636 + extern YYSTYPE yylval;
637  
638 < /* Copy the second part of user declarations.  */
638 > #ifdef YYPARSE_PARAM
639 > #if defined __STDC__ || defined __cplusplus
640 > int yyparse (void *YYPARSE_PARAM);
641 > #else
642 > int yyparse ();
643 > #endif
644 > #else /* ! YYPARSE_PARAM */
645 > #if defined __STDC__ || defined __cplusplus
646 > int yyparse (void);
647 > #else
648 > int yyparse ();
649 > #endif
650 > #endif /* ! YYPARSE_PARAM */
651  
652 + #endif /* !YY_Y_TAB_H  */
653  
654 < /* Line 264 of yacc.c  */
655 < #line 758 "ircd_parser.c"
654 > /* Copy the second part of user declarations.  */
655 >
656 > /* Line 353 of yacc.c  */
657 > #line 658 "conf_parser.c"
658  
659   #ifdef short
660   # undef short
# Line 804 | Line 704 | typedef short int yytype_int16;
704   #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)
705  
706   #ifndef YY_
707 < # if YYENABLE_NLS
707 > # if defined YYENABLE_NLS && YYENABLE_NLS
708   #  if ENABLE_NLS
709   #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */
710   #   define YY_(msgid) dgettext ("bison-runtime", msgid)
# Line 857 | Line 757 | YYID (yyi)
757   #    define alloca _alloca
758   #   else
759   #    define YYSTACK_ALLOC alloca
760 < #    if ! defined _ALLOCA_H && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
760 > #    if ! defined _ALLOCA_H && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
761       || defined __cplusplus || defined _MSC_VER)
762   #     include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
763 < #     ifndef _STDLIB_H
764 < #      define _STDLIB_H 1
763 >      /* Use EXIT_SUCCESS as a witness for stdlib.h.  */
764 > #     ifndef EXIT_SUCCESS
765 > #      define EXIT_SUCCESS 0
766   #     endif
767   #    endif
768   #   endif
# Line 884 | Line 785 | YYID (yyi)
785   #  ifndef YYSTACK_ALLOC_MAXIMUM
786   #   define YYSTACK_ALLOC_MAXIMUM YYSIZE_MAXIMUM
787   #  endif
788 < #  if (defined __cplusplus && ! defined _STDLIB_H \
788 > #  if (defined __cplusplus && ! defined EXIT_SUCCESS \
789         && ! ((defined YYMALLOC || defined malloc) \
790               && (defined YYFREE || defined free)))
791   #   include <stdlib.h> /* INFRINGES ON USER NAME SPACE */
792 < #   ifndef _STDLIB_H
793 < #    define _STDLIB_H 1
792 > #   ifndef EXIT_SUCCESS
793 > #    define EXIT_SUCCESS 0
794   #   endif
795   #  endif
796   #  ifndef YYMALLOC
797   #   define YYMALLOC malloc
798 < #   if ! defined malloc && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
798 > #   if ! defined malloc && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
799       || defined __cplusplus || defined _MSC_VER)
800   void *malloc (YYSIZE_T); /* INFRINGES ON USER NAME SPACE */
801   #   endif
802   #  endif
803   #  ifndef YYFREE
804   #   define YYFREE free
805 < #   if ! defined free && ! defined _STDLIB_H && (defined __STDC__ || defined __C99__FUNC__ \
805 > #   if ! defined free && ! defined EXIT_SUCCESS && (defined __STDC__ || defined __C99__FUNC__ \
806       || defined __cplusplus || defined _MSC_VER)
807   void free (void *); /* INFRINGES ON USER NAME SPACE */
808   #   endif
# Line 930 | Line 831 | union yyalloc
831       ((N) * (sizeof (yytype_int16) + sizeof (YYSTYPE)) \
832        + YYSTACK_GAP_MAXIMUM)
833  
834 < /* Copy COUNT objects from FROM to TO.  The source and destination do
934 <   not overlap.  */
935 < # ifndef YYCOPY
936 < #  if defined __GNUC__ && 1 < __GNUC__
937 < #   define YYCOPY(To, From, Count) \
938 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
939 < #  else
940 < #   define YYCOPY(To, From, Count)              \
941 <      do                                        \
942 <        {                                       \
943 <          YYSIZE_T yyi;                         \
944 <          for (yyi = 0; yyi < (Count); yyi++)   \
945 <            (To)[yyi] = (From)[yyi];            \
946 <        }                                       \
947 <      while (YYID (0))
948 < #  endif
949 < # endif
834 > # define YYCOPY_NEEDED 1
835  
836   /* Relocate STACK from its old location to the new one.  The
837     local variables YYSIZE and YYSTACKSIZE give the old and new number of
# Line 966 | Line 851 | union yyalloc
851  
852   #endif
853  
854 + #if defined YYCOPY_NEEDED && YYCOPY_NEEDED
855 + /* Copy COUNT objects from SRC to DST.  The source and destination do
856 +   not overlap.  */
857 + # ifndef YYCOPY
858 + #  if defined __GNUC__ && 1 < __GNUC__
859 + #   define YYCOPY(Dst, Src, Count) \
860 +      __builtin_memcpy (Dst, Src, (Count) * sizeof (*(Src)))
861 + #  else
862 + #   define YYCOPY(Dst, Src, Count)              \
863 +      do                                        \
864 +        {                                       \
865 +          YYSIZE_T yyi;                         \
866 +          for (yyi = 0; yyi < (Count); yyi++)   \
867 +            (Dst)[yyi] = (Src)[yyi];            \
868 +        }                                       \
869 +      while (YYID (0))
870 + #  endif
871 + # endif
872 + #endif /* !YYCOPY_NEEDED */
873 +
874   /* YYFINAL -- State number of the termination state.  */
875   #define YYFINAL  2
876   /* YYLAST -- Last index in YYTABLE.  */
877 < #define YYLAST   1413
877 > #define YYLAST   1206
878  
879   /* YYNTOKENS -- Number of terminals.  */
880 < #define YYNTOKENS  267
880 > #define YYNTOKENS  220
881   /* YYNNTS -- Number of nonterminals.  */
882 < #define YYNNTS  346
882 > #define YYNNTS  283
883   /* YYNRULES -- Number of rules.  */
884 < #define YYNRULES  743
884 > #define YYNRULES  627
885   /* YYNRULES -- Number of states.  */
886 < #define YYNSTATES  1494
886 > #define YYNSTATES  1228
887  
888   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
889   #define YYUNDEFTOK  2
890 < #define YYMAXUTOK   516
890 > #define YYMAXUTOK   469
891  
892   #define YYTRANSLATE(YYX)                                                \
893    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK)
894  
895   /* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX.  */
896 < static const yytype_uint16 yytranslate[] =
896 > static const yytype_uint8 yytranslate[] =
897   {
898         0,     2,     2,     2,     2,     2,     2,     2,     2,     2,
899         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
900         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
901         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
902 <       2,     2,     2,     2,   266,     2,     2,     2,     2,     2,
903 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   262,
904 <       2,   265,     2,     2,     2,     2,     2,     2,     2,     2,
902 >       2,     2,     2,     2,   219,     2,     2,     2,     2,     2,
903 >       2,     2,     2,     2,     2,     2,     2,     2,     2,   215,
904 >       2,   218,     2,     2,     2,     2,     2,     2,     2,     2,
905         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
906         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
907         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
908         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
909         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
910 <       2,     2,     2,   264,     2,   263,     2,     2,     2,     2,
910 >       2,     2,     2,   217,     2,   216,     2,     2,     2,     2,
911         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
912         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
913         2,     2,     2,     2,     2,     2,     2,     2,     2,     2,
# Line 1036 | Line 941 | static const yytype_uint16 yytranslate[]
941       175,   176,   177,   178,   179,   180,   181,   182,   183,   184,
942       185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
943       195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
944 <     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1040 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1041 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1042 <     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1043 <     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1044 <     255,   256,   257,   258,   259,   260,   261
944 >     205,   206,   207,   208,   209,   210,   211,   212,   213,   214
945   };
946  
947   #if YYDEBUG
# Line 1055 | Line 955 | static const yytype_uint16 yyprhs[] =
955        63,    67,    71,    75,    79,    80,    82,    85,    89,    93,
956        97,   103,   106,   108,   110,   112,   115,   120,   125,   131,
957       134,   136,   138,   140,   142,   144,   146,   148,   150,   152,
958 <     154,   156,   158,   160,   163,   164,   170,   174,   176,   178,
959 <     180,   185,   190,   195,   200,   205,   210,   215,   220,   225,
960 <     230,   235,   241,   244,   246,   248,   250,   252,   255,   260,
961 <     265,   270,   276,   279,   281,   283,   285,   287,   289,   291,
962 <     293,   295,   297,   299,   301,   303,   305,   308,   313,   318,
963 <     323,   328,   333,   338,   343,   348,   353,   358,   363,   368,
964 <     373,   378,   383,   388,   393,   398,   399,   407,   408,   410,
965 <     413,   415,   417,   419,   421,   423,   425,   427,   429,   431,
966 <     433,   435,   437,   439,   441,   443,   445,   447,   449,   451,
967 <     453,   455,   457,   459,   462,   467,   469,   474,   479,   484,
968 <     489,   494,   495,   501,   505,   507,   509,   511,   513,   515,
969 <     517,   519,   521,   523,   525,   527,   529,   531,   533,   535,
970 <     537,   539,   541,   543,   545,   550,   555,   560,   565,   570,
971 <     575,   580,   585,   590,   595,   600,   605,   610,   615,   616,
972 <     622,   626,   628,   629,   633,   634,   637,   639,   641,   643,
973 <     645,   647,   649,   651,   653,   655,   657,   659,   661,   663,
974 <     665,   667,   669,   670,   678,   679,   681,   684,   686,   688,
975 <     690,   692,   694,   696,   698,   700,   702,   704,   706,   708,
976 <     710,   712,   715,   720,   722,   727,   732,   737,   742,   747,
977 <     752,   757,   762,   767,   772,   777,   782,   783,   790,   791,
978 <     797,   801,   803,   805,   807,   809,   812,   814,   816,   818,
979 <     820,   822,   825,   826,   832,   836,   838,   840,   844,   849,
980 <     854,   855,   862,   865,   867,   869,   871,   873,   875,   877,
981 <     879,   881,   883,   885,   887,   889,   891,   893,   895,   897,
982 <     899,   902,   907,   912,   917,   922,   927,   928,   934,   938,
983 <     940,   941,   945,   946,   949,   951,   953,   955,   957,   959,
984 <     961,   963,   965,   967,   969,   974,   979,   984,   989,   994,
985 <     999,  1004,  1009,  1014,  1019,  1020,  1027,  1030,  1032,  1034,
986 <    1036,  1038,  1041,  1046,  1051,  1056,  1057,  1064,  1067,  1069,
987 <    1071,  1073,  1075,  1078,  1083,  1088,  1089,  1095,  1099,  1101,
988 <    1103,  1105,  1107,  1109,  1111,  1113,  1115,  1117,  1119,  1121,
989 <    1123,  1124,  1131,  1134,  1136,  1138,  1140,  1143,  1148,  1149,
990 <    1155,  1159,  1161,  1163,  1165,  1167,  1169,  1171,  1173,  1175,
991 <    1177,  1179,  1181,  1183,  1184,  1192,  1193,  1195,  1198,  1200,
992 <    1202,  1204,  1206,  1208,  1210,  1212,  1214,  1216,  1218,  1220,
993 <    1222,  1224,  1226,  1228,  1230,  1232,  1234,  1236,  1238,  1241,
994 <    1246,  1248,  1253,  1258,  1263,  1268,  1273,  1278,  1283,  1288,
995 <    1289,  1295,  1299,  1301,  1302,  1306,  1307,  1310,  1312,  1314,
996 <    1316,  1318,  1320,  1325,  1330,  1335,  1340,  1345,  1350,  1355,
997 <    1360,  1365,  1370,  1371,  1378,  1379,  1385,  1389,  1391,  1393,
998 <    1396,  1398,  1400,  1402,  1404,  1406,  1411,  1416,  1417,  1424,
999 <    1427,  1429,  1431,  1433,  1435,  1440,  1445,  1451,  1454,  1456,
1000 <    1458,  1460,  1465,  1466,  1473,  1474,  1480,  1484,  1486,  1488,
1001 <    1491,  1493,  1495,  1497,  1499,  1501,  1506,  1511,  1517,  1520,
1002 <    1522,  1524,  1526,  1528,  1530,  1532,  1534,  1536,  1538,  1540,
1003 <    1542,  1544,  1546,  1548,  1550,  1552,  1554,  1556,  1558,  1560,
1004 <    1562,  1564,  1566,  1568,  1570,  1572,  1574,  1576,  1578,  1580,
1005 <    1582,  1584,  1586,  1588,  1590,  1592,  1594,  1596,  1598,  1600,
1006 <    1602,  1604,  1606,  1608,  1610,  1612,  1614,  1616,  1618,  1620,
1007 <    1622,  1624,  1626,  1628,  1630,  1632,  1634,  1636,  1641,  1646,
1008 <    1651,  1656,  1661,  1666,  1671,  1676,  1681,  1686,  1691,  1696,
1009 <    1701,  1706,  1711,  1716,  1721,  1726,  1731,  1736,  1741,  1746,
1010 <    1751,  1756,  1761,  1766,  1771,  1776,  1781,  1786,  1791,  1796,
1011 <    1801,  1806,  1811,  1816,  1821,  1826,  1831,  1836,  1841,  1846,
1012 <    1851,  1856,  1861,  1866,  1871,  1876,  1881,  1886,  1891,  1892,
1013 <    1898,  1902,  1904,  1906,  1908,  1910,  1912,  1914,  1916,  1918,
1014 <    1920,  1922,  1924,  1926,  1928,  1930,  1932,  1934,  1936,  1938,
1115 <    1940,  1942,  1943,  1949,  1953,  1955,  1957,  1959,  1961,  1963,
1116 <    1965,  1967,  1969,  1971,  1973,  1975,  1977,  1979,  1981,  1983,
1117 <    1985,  1987,  1989,  1991,  1993,  1998,  2003,  2008,  2013,  2018,
1118 <    2019,  2026,  2029,  2031,  2033,  2035,  2037,  2039,  2041,  2043,
1119 <    2045,  2050,  2055,  2056,  2062,  2066,  2068,  2070,  2072,  2077,
1120 <    2082,  2083,  2089,  2093,  2095,  2097,  2099,  2105,  2108,  2110,
1121 <    2112,  2114,  2116,  2118,  2120,  2122,  2124,  2126,  2128,  2130,
1122 <    2132,  2134,  2136,  2138,  2140,  2142,  2144,  2146,  2148,  2153,
1123 <    2158,  2163,  2168,  2173,  2178,  2183,  2188,  2193,  2198,  2203,
1124 <    2208,  2213,  2218,  2223,  2228,  2233,  2238,  2244,  2247,  2249,
1125 <    2251,  2253,  2255,  2257,  2259,  2261,  2263,  2265,  2270,  2275,
1126 <    2280,  2285,  2290,  2295
958 >     154,   156,   158,   160,   162,   164,   166,   169,   174,   179,
959 >     183,   185,   187,   189,   193,   195,   197,   199,   204,   209,
960 >     214,   219,   224,   229,   234,   239,   244,   249,   254,   259,
961 >     264,   270,   273,   275,   277,   279,   281,   284,   289,   294,
962 >     299,   305,   308,   310,   312,   314,   317,   322,   323,   330,
963 >     333,   335,   337,   339,   341,   344,   349,   354,   359,   360,
964 >     366,   370,   372,   374,   376,   378,   380,   382,   384,   386,
965 >     387,   394,   397,   399,   401,   403,   405,   407,   409,   411,
966 >     413,   415,   418,   423,   428,   433,   438,   443,   448,   449,
967 >     455,   459,   461,   463,   465,   467,   469,   471,   473,   475,
968 >     477,   479,   481,   483,   485,   487,   489,   491,   493,   495,
969 >     497,   499,   501,   502,   508,   512,   514,   516,   518,   520,
970 >     522,   524,   526,   528,   530,   532,   534,   536,   538,   540,
971 >     542,   544,   546,   548,   550,   552,   553,   560,   563,   565,
972 >     567,   569,   571,   573,   575,   577,   579,   581,   583,   585,
973 >     587,   589,   591,   593,   596,   601,   606,   611,   616,   621,
974 >     626,   631,   636,   641,   646,   651,   656,   661,   666,   667,
975 >     674,   675,   681,   685,   687,   689,   691,   693,   696,   698,
976 >     700,   702,   704,   706,   709,   710,   716,   720,   722,   724,
977 >     728,   733,   738,   739,   746,   749,   751,   753,   755,   757,
978 >     759,   761,   763,   765,   767,   770,   775,   780,   785,   790,
979 >     791,   797,   801,   803,   805,   807,   809,   811,   813,   815,
980 >     817,   819,   821,   826,   831,   836,   837,   844,   847,   849,
981 >     851,   853,   855,   858,   863,   868,   873,   879,   882,   884,
982 >     886,   888,   893,   894,   901,   904,   906,   908,   910,   912,
983 >     915,   920,   925,   926,   932,   936,   938,   940,   942,   944,
984 >     946,   948,   950,   952,   954,   956,   958,   959,   966,   969,
985 >     971,   973,   975,   978,   983,   984,   990,   994,   996,   998,
986 >    1000,  1002,  1004,  1006,  1008,  1010,  1012,  1014,  1016,  1017,
987 >    1024,  1027,  1029,  1031,  1033,  1035,  1037,  1039,  1041,  1043,
988 >    1045,  1047,  1049,  1051,  1053,  1055,  1058,  1063,  1068,  1073,
989 >    1078,  1083,  1088,  1093,  1098,  1099,  1105,  1109,  1111,  1113,
990 >    1115,  1120,  1125,  1130,  1135,  1140,  1141,  1148,  1149,  1155,
991 >    1159,  1161,  1163,  1166,  1168,  1170,  1172,  1174,  1176,  1181,
992 >    1186,  1187,  1194,  1197,  1199,  1201,  1203,  1205,  1210,  1215,
993 >    1221,  1224,  1226,  1228,  1230,  1235,  1236,  1243,  1244,  1250,
994 >    1254,  1256,  1258,  1261,  1263,  1265,  1267,  1269,  1271,  1276,
995 >    1281,  1287,  1290,  1292,  1294,  1296,  1298,  1300,  1302,  1304,
996 >    1306,  1308,  1310,  1312,  1314,  1316,  1318,  1320,  1322,  1324,
997 >    1326,  1328,  1330,  1332,  1334,  1336,  1338,  1340,  1342,  1344,
998 >    1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,  1364,
999 >    1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,  1384,
1000 >    1386,  1388,  1390,  1392,  1397,  1402,  1407,  1412,  1417,  1422,
1001 >    1427,  1432,  1437,  1442,  1447,  1452,  1457,  1462,  1467,  1472,
1002 >    1477,  1482,  1487,  1492,  1497,  1502,  1507,  1512,  1517,  1522,
1003 >    1527,  1532,  1537,  1542,  1547,  1552,  1557,  1562,  1567,  1572,
1004 >    1577,  1582,  1587,  1592,  1597,  1602,  1607,  1612,  1617,  1622,
1005 >    1623,  1629,  1633,  1635,  1637,  1639,  1641,  1643,  1645,  1647,
1006 >    1649,  1651,  1653,  1655,  1657,  1659,  1661,  1663,  1665,  1667,
1007 >    1669,  1671,  1673,  1675,  1676,  1682,  1686,  1688,  1690,  1692,
1008 >    1694,  1696,  1698,  1700,  1702,  1704,  1706,  1708,  1710,  1712,
1009 >    1714,  1716,  1718,  1720,  1722,  1724,  1726,  1728,  1733,  1738,
1010 >    1743,  1749,  1752,  1754,  1756,  1758,  1760,  1762,  1764,  1766,
1011 >    1768,  1770,  1772,  1774,  1776,  1778,  1780,  1782,  1784,  1789,
1012 >    1794,  1799,  1804,  1809,  1814,  1819,  1824,  1829,  1834,  1839,
1013 >    1844,  1849,  1854,  1860,  1863,  1865,  1867,  1869,  1871,  1873,
1014 >    1875,  1877,  1879,  1884,  1889,  1894,  1899,  1904
1015   };
1016  
1017   /* YYRHS -- A `-1'-separated list of the rules' RHS.  */
1018   static const yytype_int16 yyrhs[] =
1019   {
1020 <     268,     0,    -1,    -1,   268,   269,    -1,   297,    -1,   303,
1021 <      -1,   318,    -1,   582,    -1,   355,    -1,   374,    -1,   388,
1022 <      -1,   279,    -1,   603,    -1,   414,    -1,   421,    -1,   431,
1023 <      -1,   440,    -1,   471,    -1,   481,    -1,   487,    -1,   501,
1024 <      -1,   566,    -1,   491,    -1,   274,    -1,     1,   262,    -1,
1025 <       1,   263,    -1,    -1,   271,    -1,   133,   270,    -1,   133,
1026 <     175,   270,    -1,   133,   176,   270,    -1,   133,   177,   270,
1027 <      -1,   133,   178,   270,    -1,   133,   179,   270,    -1,    -1,
1028 <     273,    -1,   133,   272,    -1,   133,    14,   272,    -1,   133,
1029 <      15,   272,    -1,   133,    16,   272,    -1,   121,   264,   275,
1030 <     263,   262,    -1,   275,   276,    -1,   276,    -1,   277,    -1,
1031 <     278,    -1,     1,   262,    -1,   120,   265,   155,   262,    -1,
1032 <     150,   265,   155,   262,    -1,   183,   264,   280,   263,   262,
1033 <      -1,   280,   281,    -1,   281,    -1,   288,    -1,   293,    -1,
1034 <     296,    -1,   290,    -1,   291,    -1,   292,    -1,   295,    -1,
1035 <     287,    -1,   294,    -1,   289,    -1,   286,    -1,   282,    -1,
1036 <       1,   262,    -1,    -1,   170,   283,   265,   284,   262,    -1,
1037 <     284,   266,   285,    -1,   285,    -1,   171,    -1,   172,    -1,
1038 <     169,   265,   155,   262,    -1,   167,   265,   155,   262,    -1,
1039 <     122,   265,   155,   262,    -1,   185,   265,   155,   262,    -1,
1040 <      37,   265,   155,   262,    -1,   125,   265,   155,   262,    -1,
1041 <     124,   265,   155,   262,    -1,   257,   265,   155,   262,    -1,
1042 <     258,   265,   155,   262,    -1,   229,   265,   133,   262,    -1,
1043 <      86,   265,   199,   262,    -1,     5,   264,   298,   263,   262,
1044 <      -1,   298,   299,    -1,   299,    -1,   300,    -1,   302,    -1,
1045 <     301,    -1,     1,   262,    -1,   122,   265,   155,   262,    -1,
1046 <      48,   265,   155,   262,    -1,    37,   265,   155,   262,    -1,
1047 <     104,   264,   304,   263,   262,    -1,   304,   305,    -1,   305,
1048 <      -1,   306,    -1,   307,    -1,   316,    -1,   317,    -1,   308,
1049 <      -1,   310,    -1,   312,    -1,   313,    -1,   315,    -1,   311,
1050 <      -1,   314,    -1,   309,    -1,     1,   262,    -1,   221,   265,
1051 <     155,   262,    -1,   140,   265,   155,   262,    -1,    64,   265,
1052 <     155,   262,    -1,    57,   265,   155,   262,    -1,    62,   265,
1053 <     155,   262,    -1,    63,   265,   155,   262,    -1,    60,   265,
1054 <     155,   262,    -1,    59,   265,   155,   262,    -1,    61,   265,
1055 <     155,   262,    -1,    58,   265,   155,   262,    -1,   105,   265,
1056 <     222,   262,    -1,   105,   265,   224,   262,    -1,   105,   265,
1057 <     228,   262,    -1,   105,   265,   226,   262,    -1,   105,   265,
1058 <     227,   262,    -1,   105,   265,   225,   262,    -1,   105,   265,
1059 <     223,   262,    -1,   255,   265,   199,   262,    -1,    -1,   138,
1060 <     319,   320,   264,   321,   263,   262,    -1,    -1,   324,    -1,
1061 <     321,   322,    -1,   322,    -1,   323,    -1,   325,    -1,   326,
1062 <      -1,   345,    -1,   346,    -1,   330,    -1,   329,    -1,   334,
1063 <      -1,   335,    -1,   337,    -1,   338,    -1,   339,    -1,   340,
1064 <      -1,   341,    -1,   336,    -1,   342,    -1,   343,    -1,   344,
1065 <      -1,   347,    -1,   327,    -1,   328,    -1,   348,    -1,     1,
1066 <     262,    -1,   122,   265,   155,   262,    -1,   155,    -1,   250,
1067 <     265,   155,   262,    -1,   149,   265,   155,   262,    -1,    50,
1068 <     265,   199,   262,    -1,   168,   265,   155,   262,    -1,    26,
1069 <     265,   155,   262,    -1,    -1,   238,   331,   265,   332,   262,
1070 <      -1,   332,   266,   333,    -1,   333,    -1,   206,    -1,   209,
1071 <      -1,   210,    -1,   212,    -1,   213,    -1,   216,    -1,   235,
1072 <      -1,   230,    -1,   232,    -1,   239,    -1,   236,    -1,   215,
1073 <      -1,   231,    -1,   234,    -1,   217,    -1,   242,    -1,   207,
1074 <      -1,   208,    -1,   220,    -1,    74,   265,   199,   262,    -1,
1075 <     163,   265,   199,   262,    -1,   164,   265,   199,   262,    -1,
1076 <      94,   265,   199,   262,    -1,   259,   265,   199,   262,    -1,
1077 <     249,   265,   199,   262,    -1,    67,   265,   199,   262,    -1,
1078 <     127,   265,   199,   262,    -1,    38,   265,   199,   262,    -1,
1079 <     161,   265,   199,   262,    -1,     5,   265,   199,   262,    -1,
1080 <      79,   265,   199,   262,    -1,    81,   265,   199,   262,    -1,
1081 <     231,   265,   199,   262,    -1,    -1,    55,   349,   265,   350,
1082 <     262,    -1,   350,   266,   351,    -1,   351,    -1,    -1,   132,
1083 <     352,   354,    -1,    -1,   353,   354,    -1,    74,    -1,   163,
1084 <      -1,    94,    -1,   249,    -1,   259,    -1,    67,    -1,    38,
1085 <      -1,   161,    -1,     5,    -1,    79,    -1,   127,    -1,   231,
1086 <      -1,   143,    -1,    81,    -1,   164,    -1,    50,    -1,    -1,
1087 <      26,   356,   357,   264,   358,   263,   262,    -1,    -1,   361,
1088 <      -1,   358,   359,    -1,   359,    -1,   360,    -1,   371,    -1,
1089 <     372,    -1,   362,    -1,   363,    -1,   373,    -1,   364,    -1,
1090 <     365,    -1,   366,    -1,   367,    -1,   368,    -1,   369,    -1,
1091 <     370,    -1,     1,   262,    -1,   122,   265,   155,   262,    -1,
1092 <     155,    -1,   152,   265,   271,   262,    -1,   153,   265,   271,
1093 <     262,    -1,   136,   265,   133,   262,    -1,    30,   265,   271,
1094 <     262,    -1,   114,   265,   133,   262,    -1,   109,   265,   133,
1095 <     262,    -1,   111,   265,   133,   262,    -1,   110,   265,   133,
1096 <     262,    -1,   180,   265,   273,   262,    -1,    23,   265,   133,
1097 <     262,    -1,    24,   265,   133,   262,    -1,   135,   265,   133,
1098 <     262,    -1,    -1,   102,   375,   264,   380,   263,   262,    -1,
1099 <      -1,    55,   377,   265,   378,   262,    -1,   378,   266,   379,
1100 <      -1,   379,    -1,   237,    -1,    78,    -1,   233,    -1,   380,
1101 <     381,    -1,   381,    -1,   382,    -1,   376,    -1,   386,    -1,
1102 <     387,    -1,     1,   262,    -1,    -1,   154,   265,   384,   383,
1103 <     262,    -1,   384,   266,   385,    -1,   385,    -1,   133,    -1,
1104 <     133,   204,   133,    -1,    91,   265,   155,   262,    -1,    85,
1105 <     265,   155,   262,    -1,    -1,    75,   389,   264,   390,   263,
1106 <     262,    -1,   390,   391,    -1,   391,    -1,   392,    -1,   393,
1107 <      -1,   395,    -1,   397,    -1,   404,    -1,   405,    -1,   406,
1108 <      -1,   408,    -1,   409,    -1,   410,    -1,   394,    -1,   411,
1109 <      -1,   412,    -1,   407,    -1,   413,    -1,   396,    -1,     1,
1110 <     262,    -1,   250,   265,   155,   262,    -1,   149,   265,   155,
1111 <     262,    -1,   193,   265,   199,   262,    -1,    26,   265,   155,
1112 <     262,    -1,    50,   265,   199,   262,    -1,    -1,    55,   398,
1113 <     265,   399,   262,    -1,   399,   266,   400,    -1,   400,    -1,
1114 <      -1,   132,   401,   403,    -1,    -1,   402,   403,    -1,   193,
1115 <      -1,    51,    -1,    95,    -1,    76,    -1,    20,    -1,    21,
1116 <      -1,   131,    -1,    69,    -1,   174,    -1,   123,    -1,    95,
1117 <     265,   199,   262,    -1,    76,   265,   199,   262,    -1,    51,
1118 <     265,   199,   262,    -1,    20,   265,   199,   262,    -1,   131,
1119 <     265,   199,   262,    -1,    69,   265,   199,   262,    -1,   192,
1120 <     265,   155,   262,    -1,   159,   265,   155,   262,    -1,   158,
1121 <     265,   133,   262,    -1,   123,   265,   199,   262,    -1,    -1,
1122 <     173,   415,   264,   416,   263,   262,    -1,   416,   417,    -1,
1123 <     417,    -1,   418,    -1,   419,    -1,   420,    -1,     1,   262,
1124 <      -1,   157,   265,   155,   262,    -1,    22,   265,   155,   262,
1125 <      -1,   126,   265,   155,   262,    -1,    -1,   187,   422,   264,
1126 <     423,   263,   262,    -1,   423,   424,    -1,   424,    -1,   425,
1127 <      -1,   426,    -1,   427,    -1,     1,   262,    -1,   122,   265,
1128 <     155,   262,    -1,   250,   265,   155,   262,    -1,    -1,   189,
1129 <     428,   265,   429,   262,    -1,   429,   266,   430,    -1,   430,
1130 <      -1,    94,    -1,   246,    -1,   249,    -1,   259,    -1,   247,
1131 <      -1,   241,    -1,   173,    -1,   248,    -1,   240,    -1,   220,
1132 <      -1,   205,    -1,    -1,   188,   432,   264,   433,   263,   262,
1133 <      -1,   433,   434,    -1,   434,    -1,   435,    -1,   436,    -1,
1134 <       1,   262,    -1,   122,   265,   155,   262,    -1,    -1,   189,
1135 <     437,   265,   438,   262,    -1,   438,   266,   439,    -1,   439,
1136 <      -1,    94,    -1,   246,    -1,   249,    -1,   259,    -1,   247,
1137 <      -1,   241,    -1,   173,    -1,   248,    -1,   240,    -1,   220,
1138 <      -1,   205,    -1,    -1,    29,   441,   442,   264,   443,   263,
1139 <     262,    -1,    -1,   446,    -1,   443,   444,    -1,   444,    -1,
1140 <     445,    -1,   447,    -1,   448,    -1,   449,    -1,   450,    -1,
1141 <     452,    -1,   451,    -1,   453,    -1,   454,    -1,   467,    -1,
1142 <     468,    -1,   469,    -1,   465,    -1,   462,    -1,   464,    -1,
1143 <     463,    -1,   461,    -1,   470,    -1,   466,    -1,     1,   262,
1144 <      -1,   122,   265,   155,   262,    -1,   155,    -1,    85,   265,
1145 <     155,   262,    -1,   257,   265,   155,   262,    -1,   181,   265,
1146 <     155,   262,    -1,     3,   265,   155,   262,    -1,   154,   265,
1147 <     133,   262,    -1,     6,   265,   218,   262,    -1,     6,   265,
1148 <     219,   262,    -1,    54,   265,   155,   262,    -1,    -1,    55,
1149 <     455,   265,   456,   262,    -1,   456,   266,   457,    -1,   457,
1150 <      -1,    -1,   132,   458,   460,    -1,    -1,   459,   460,    -1,
1151 <      27,    -1,    31,    -1,    10,    -1,    12,    -1,   244,    -1,
1152 <     168,   265,   155,   262,    -1,    50,   265,   199,   262,    -1,
1153 <      31,   265,   199,   262,    -1,    27,   265,   199,   262,    -1,
1154 <      10,   265,   199,   262,    -1,   244,   265,   199,   262,    -1,
1155 <      87,   265,   155,   262,    -1,   100,   265,   155,   262,    -1,
1156 <      26,   265,   155,   262,    -1,    25,   265,   155,   262,    -1,
1157 <      -1,    92,   472,   264,   477,   263,   262,    -1,    -1,   189,
1158 <     474,   265,   475,   262,    -1,   475,   266,   476,    -1,   476,
1159 <      -1,   160,    -1,   477,   478,    -1,   478,    -1,   479,    -1,
1160 <     480,    -1,   473,    -1,     1,    -1,   250,   265,   155,   262,
1161 <      -1,   157,   265,   155,   262,    -1,    -1,    36,   482,   264,
1162 <     483,   263,   262,    -1,   483,   484,    -1,   484,    -1,   485,
1163 <      -1,   486,    -1,     1,    -1,    91,   265,   155,   262,    -1,
1164 <     157,   265,   155,   262,    -1,    52,   264,   488,   263,   262,
1165 <      -1,   488,   489,    -1,   489,    -1,   490,    -1,     1,    -1,
1166 <      91,   265,   155,   262,    -1,    -1,    65,   492,   264,   497,
1167 <     263,   262,    -1,    -1,   189,   494,   265,   495,   262,    -1,
1168 <     495,   266,   496,    -1,   496,    -1,   160,    -1,   497,   498,
1169 <      -1,   498,    -1,   499,    -1,   500,    -1,   493,    -1,     1,
1170 <      -1,   122,   265,   155,   262,    -1,   157,   265,   155,   262,
1171 <      -1,    66,   264,   502,   263,   262,    -1,   502,   503,    -1,
1172 <     503,    -1,   512,    -1,   513,    -1,   515,    -1,   516,    -1,
1173 <     517,    -1,   518,    -1,   519,    -1,   520,    -1,   521,    -1,
1174 <     522,    -1,   511,    -1,   524,    -1,   525,    -1,   526,    -1,
1175 <     527,    -1,   543,    -1,   529,    -1,   531,    -1,   533,    -1,
1176 <     532,    -1,   536,    -1,   530,    -1,   537,    -1,   538,    -1,
1177 <     539,    -1,   540,    -1,   542,    -1,   541,    -1,   557,    -1,
1178 <     544,    -1,   548,    -1,   549,    -1,   553,    -1,   534,    -1,
1179 <     535,    -1,   563,    -1,   561,    -1,   562,    -1,   545,    -1,
1180 <     514,    -1,   546,    -1,   547,    -1,   564,    -1,   552,    -1,
1181 <     523,    -1,   565,    -1,   550,    -1,   551,    -1,   507,    -1,
1182 <     510,    -1,   505,    -1,   506,    -1,   508,    -1,   509,    -1,
1183 <     528,    -1,   504,    -1,     1,    -1,   116,   265,   133,   262,
1184 <      -1,    72,   265,   133,   262,    -1,    73,   265,   133,   262,
1185 <      -1,    12,   265,   199,   262,    -1,   256,   265,   199,   262,
1186 <      -1,   162,   265,   271,   262,    -1,   186,   265,   199,   262,
1187 <      -1,    93,   265,   133,   262,    -1,    84,   265,   199,   262,
1188 <      -1,    89,   265,   199,   262,    -1,    43,   265,   199,   262,
1189 <      -1,    53,   265,   199,   262,    -1,     8,   265,   199,   262,
1190 <      -1,   113,   265,   271,   262,    -1,   112,   265,   133,   262,
1191 <      -1,   106,   265,   133,   262,    -1,     9,   265,   271,   262,
1192 <      -1,   203,   265,   271,   262,    -1,   202,   265,   271,   262,
1193 <      -1,    77,   265,   133,   262,    -1,    97,   265,   199,   262,
1194 <      -1,    96,   265,   155,   262,    -1,    90,   265,   199,   262,
1195 <      -1,   261,   265,   199,   262,    -1,   194,   265,   199,   262,
1196 <      -1,   197,   265,   199,   262,    -1,   198,   265,   199,   262,
1197 <      -1,   196,   265,   199,   262,    -1,   196,   265,   200,   262,
1198 <      -1,   195,   265,   199,   262,    -1,   195,   265,   200,   262,
1199 <      -1,   147,   265,   271,   262,    -1,    19,   265,   271,   262,
1200 <      -1,   139,   265,   199,   262,    -1,   148,   265,   271,   262,
1201 <      -1,   190,   265,   199,   262,    -1,   130,   265,   199,   262,
1202 <      -1,   245,   265,   199,   262,    -1,   142,   265,   199,   262,
1203 <      -1,   117,   265,   155,   262,    -1,    88,   265,   271,   262,
1204 <      -1,    45,   265,   133,   262,    -1,   115,   265,   133,   262,
1205 <      -1,   184,   265,   155,   262,    -1,    32,   265,   155,   262,
1206 <      -1,    28,   265,   133,   262,    -1,   251,   265,   199,   262,
1207 <      -1,    47,   265,   155,   262,    -1,   151,   265,   199,   262,
1208 <      -1,    39,   265,   199,   262,    -1,   243,   265,   271,   262,
1209 <      -1,    -1,   144,   554,   265,   555,   262,    -1,   555,   266,
1210 <     556,    -1,   556,    -1,   206,    -1,   209,    -1,   210,    -1,
1323 <     212,    -1,   213,    -1,   216,    -1,   235,    -1,   230,    -1,
1324 <     232,    -1,   239,    -1,   236,    -1,   215,    -1,   231,    -1,
1325 <     234,    -1,   217,    -1,   242,    -1,   207,    -1,   208,    -1,
1326 <     220,    -1,    -1,   141,   558,   265,   559,   262,    -1,   559,
1327 <     266,   560,    -1,   560,    -1,   206,    -1,   209,    -1,   210,
1328 <      -1,   212,    -1,   213,    -1,   216,    -1,   235,    -1,   230,
1329 <      -1,   232,    -1,   239,    -1,   236,    -1,   215,    -1,   231,
1330 <      -1,   234,    -1,   217,    -1,   242,    -1,   207,    -1,   208,
1331 <      -1,   220,    -1,   118,   265,   133,   262,    -1,   119,   265,
1332 <     133,   262,    -1,    33,   265,   133,   262,    -1,   211,   265,
1333 <     273,   262,    -1,    44,   265,   199,   262,    -1,    -1,    68,
1334 <     567,   264,   568,   263,   262,    -1,   568,   569,    -1,   569,
1335 <      -1,   570,    -1,   571,    -1,   572,    -1,   576,    -1,   577,
1336 <      -1,   578,    -1,     1,    -1,    49,   265,   199,   262,    -1,
1337 <      46,   265,   271,   262,    -1,    -1,   104,   573,   265,   574,
1338 <     262,    -1,   574,   266,   575,    -1,   575,    -1,   201,    -1,
1339 <      11,    -1,   250,   265,   155,   262,    -1,   122,   265,   155,
1340 <     262,    -1,    -1,     4,   579,   265,   580,   262,    -1,   580,
1341 <     266,   581,    -1,   581,    -1,   201,    -1,    11,    -1,    22,
1342 <     264,   583,   263,   262,    -1,   583,   584,    -1,   584,    -1,
1343 <     587,    -1,   588,    -1,   589,    -1,   590,    -1,   595,    -1,
1344 <     591,    -1,   592,    -1,   593,    -1,   594,    -1,   596,    -1,
1345 <     597,    -1,   598,    -1,   586,    -1,   599,    -1,   600,    -1,
1346 <     601,    -1,   602,    -1,   585,    -1,     1,    -1,    40,   265,
1347 <     199,   262,    -1,   165,   265,   199,   262,    -1,    42,   265,
1348 <     199,   262,    -1,   252,   265,   199,   262,    -1,   253,   265,
1349 <     199,   262,    -1,   254,   265,   199,   262,    -1,    98,   265,
1350 <     271,   262,    -1,    99,   265,   271,   262,    -1,   108,   265,
1351 <     133,   262,    -1,   156,   265,   199,   262,    -1,   107,   265,
1352 <     133,   262,    -1,    35,   265,   133,   262,    -1,    34,   265,
1353 <     133,   262,    -1,   128,   265,   199,   262,    -1,   129,   265,
1354 <     199,   262,    -1,    13,   265,   199,   262,    -1,   145,   265,
1355 <     133,   262,    -1,   146,   265,   271,   262,    -1,   182,   264,
1356 <     604,   263,   262,    -1,   604,   605,    -1,   605,    -1,   606,
1357 <      -1,   607,    -1,   609,    -1,   611,    -1,   610,    -1,   608,
1358 <      -1,   612,    -1,     1,    -1,    56,   265,   199,   262,    -1,
1359 <      83,   265,   199,   262,    -1,    80,   265,   155,   262,    -1,
1360 <     101,   265,   271,   262,    -1,    78,   265,   199,   262,    -1,
1361 <      41,   265,   199,   262,    -1,    82,   265,   199,   262,    -1
1020 >     221,     0,    -1,    -1,   221,   222,    -1,   254,    -1,   260,
1021 >      -1,   274,    -1,   477,    -1,   292,    -1,   310,    -1,   324,
1022 >      -1,   232,    -1,   494,    -1,   339,    -1,   346,    -1,   350,
1023 >      -1,   360,    -1,   369,    -1,   389,    -1,   399,    -1,   405,
1024 >      -1,   419,    -1,   409,    -1,   227,    -1,     1,   215,    -1,
1025 >       1,   216,    -1,    -1,   224,    -1,    99,   223,    -1,    99,
1026 >     138,   223,    -1,    99,   139,   223,    -1,    99,   140,   223,
1027 >      -1,    99,   141,   223,    -1,    99,   142,   223,    -1,    -1,
1028 >     226,    -1,    99,   225,    -1,    99,     9,   225,    -1,    99,
1029 >      10,   225,    -1,    99,    11,   225,    -1,    88,   217,   228,
1030 >     216,   215,    -1,   228,   229,    -1,   229,    -1,   230,    -1,
1031 >     231,    -1,     1,   215,    -1,    87,   218,   118,   215,    -1,
1032 >     113,   218,   118,   215,    -1,   146,   217,   233,   216,   215,
1033 >      -1,   233,   234,    -1,   234,    -1,   245,    -1,   250,    -1,
1034 >     253,    -1,   247,    -1,   248,    -1,   249,    -1,   252,    -1,
1035 >     243,    -1,   242,    -1,   251,    -1,   246,    -1,   241,    -1,
1036 >     235,    -1,   236,    -1,   244,    -1,     1,   215,    -1,   132,
1037 >     218,   237,   215,    -1,   133,   218,   239,   215,    -1,   237,
1038 >     219,   238,    -1,   238,    -1,   134,    -1,   135,    -1,   239,
1039 >     219,   240,    -1,   240,    -1,   134,    -1,   135,    -1,   130,
1040 >     218,   118,   215,    -1,   128,   218,   118,   215,    -1,   131,
1041 >     218,   118,   215,    -1,   171,   218,   118,   215,    -1,    89,
1042 >     218,   118,   215,    -1,   147,   218,   118,   215,    -1,    24,
1043 >     218,   118,   215,    -1,    92,   218,   118,   215,    -1,    91,
1044 >     218,   118,   215,    -1,   209,   218,   118,   215,    -1,   210,
1045 >     218,   118,   215,    -1,   181,   218,    99,   215,    -1,    57,
1046 >     218,   160,   215,    -1,     4,   217,   255,   216,   215,    -1,
1047 >     255,   256,    -1,   256,    -1,   257,    -1,   259,    -1,   258,
1048 >      -1,     1,   215,    -1,    89,   218,   118,   215,    -1,    31,
1049 >     218,   118,   215,    -1,    24,   218,   118,   215,    -1,    71,
1050 >     217,   261,   216,   215,    -1,   261,   262,    -1,   262,    -1,
1051 >     263,    -1,   264,    -1,     1,   215,    -1,   208,   218,   160,
1052 >     215,    -1,    -1,   265,   214,   217,   266,   216,   215,    -1,
1053 >     266,   267,    -1,   267,    -1,   268,    -1,   270,    -1,   269,
1054 >      -1,     1,   215,    -1,    89,   218,   118,   215,    -1,   213,
1055 >     218,   226,   215,    -1,   213,   218,   195,   215,    -1,    -1,
1056 >     151,   271,   218,   272,   215,    -1,   272,   219,   273,    -1,
1057 >     273,    -1,   206,    -1,   102,    -1,    40,    -1,   174,    -1,
1058 >      64,    -1,    62,    -1,   173,    -1,    -1,   102,   275,   217,
1059 >     276,   216,   215,    -1,   276,   277,    -1,   277,    -1,   278,
1060 >      -1,   279,    -1,   280,    -1,   284,    -1,   283,    -1,   281,
1061 >      -1,   282,    -1,   288,    -1,     1,   215,    -1,    89,   218,
1062 >     118,   215,    -1,   206,   218,   118,   215,    -1,   112,   218,
1063 >     118,   215,    -1,    32,   218,   160,   215,    -1,   129,   218,
1064 >     118,   215,    -1,    17,   218,   118,   215,    -1,    -1,   192,
1065 >     285,   218,   286,   215,    -1,   286,   219,   287,    -1,   287,
1066 >      -1,   166,    -1,   169,    -1,   170,    -1,   172,    -1,   173,
1067 >      -1,   176,    -1,    51,    -1,   189,    -1,   182,    -1,   185,
1068 >      -1,   193,    -1,   190,    -1,   175,    -1,   183,    -1,   187,
1069 >      -1,   177,    -1,   199,    -1,   167,    -1,   168,    -1,   180,
1070 >      -1,    -1,    36,   289,   218,   290,   215,    -1,   290,   219,
1071 >     291,    -1,   291,    -1,    47,    -1,   125,    -1,    64,    -1,
1072 >     205,    -1,   174,    -1,   194,    -1,   211,    -1,    40,    -1,
1073 >      25,    -1,   200,    -1,   124,    -1,     4,    -1,    94,    -1,
1074 >     183,    -1,   198,    -1,   106,    -1,   126,    -1,   188,    -1,
1075 >      87,    -1,    -1,    17,   293,   217,   294,   216,   215,    -1,
1076 >     294,   295,    -1,   295,    -1,   296,    -1,   307,    -1,   308,
1077 >      -1,   297,    -1,   298,    -1,   309,    -1,   299,    -1,   300,
1078 >      -1,   301,    -1,   302,    -1,   303,    -1,   304,    -1,   305,
1079 >      -1,   306,    -1,     1,   215,    -1,    89,   218,   118,   215,
1080 >      -1,   115,   218,   224,   215,    -1,   116,   218,   224,   215,
1081 >      -1,   101,   218,    99,   215,    -1,    19,   218,   224,   215,
1082 >      -1,    81,   218,    99,   215,    -1,    76,   218,    99,   215,
1083 >      -1,    78,   218,    99,   215,    -1,    77,   218,    99,   215,
1084 >      -1,   143,   218,   226,   215,    -1,   184,   218,   226,   215,
1085 >      -1,    15,   218,    99,   215,    -1,    16,   218,    99,   215,
1086 >      -1,   100,   218,    99,   215,    -1,    -1,    70,   311,   217,
1087 >     316,   216,   215,    -1,    -1,    36,   313,   218,   314,   215,
1088 >      -1,   314,   219,   315,    -1,   315,    -1,   191,    -1,    51,
1089 >      -1,   186,    -1,   316,   317,    -1,   317,    -1,   318,    -1,
1090 >     312,    -1,   322,    -1,   323,    -1,     1,   215,    -1,    -1,
1091 >     117,   218,   320,   319,   215,    -1,   320,   219,   321,    -1,
1092 >     321,    -1,    99,    -1,    99,   164,    99,    -1,    61,   218,
1093 >     118,   215,    -1,    56,   218,   118,   215,    -1,    -1,    48,
1094 >     325,   217,   326,   216,   215,    -1,   326,   327,    -1,   327,
1095 >      -1,   328,    -1,   329,    -1,   330,    -1,   332,    -1,   336,
1096 >      -1,   337,    -1,   338,    -1,   331,    -1,     1,   215,    -1,
1097 >     206,   218,   118,   215,    -1,   112,   218,   118,   215,    -1,
1098 >      17,   218,   118,   215,    -1,    32,   218,   160,   215,    -1,
1099 >      -1,    36,   333,   218,   334,   215,    -1,   334,   219,   335,
1100 >      -1,   335,    -1,   154,    -1,    33,    -1,    65,    -1,    49,
1101 >      -1,    13,    -1,    98,    -1,    43,    -1,   137,    -1,    90,
1102 >      -1,   153,   218,   118,   215,    -1,   122,   218,   118,   215,
1103 >      -1,   121,   218,    99,   215,    -1,    -1,   136,   340,   217,
1104 >     341,   216,   215,    -1,   341,   342,    -1,   342,    -1,   343,
1105 >      -1,   344,    -1,   345,    -1,     1,   215,    -1,   120,   218,
1106 >     118,   215,    -1,    14,   218,   118,   215,    -1,    93,   218,
1107 >     118,   215,    -1,   201,   217,   347,   216,   215,    -1,   347,
1108 >     348,    -1,   348,    -1,   349,    -1,     1,    -1,    89,   218,
1109 >     118,   215,    -1,    -1,   149,   351,   217,   352,   216,   215,
1110 >      -1,   352,   353,    -1,   353,    -1,   354,    -1,   355,    -1,
1111 >     356,    -1,     1,   215,    -1,    89,   218,   118,   215,    -1,
1112 >     206,   218,   118,   215,    -1,    -1,   151,   357,   218,   358,
1113 >     215,    -1,   358,   219,   359,    -1,   359,    -1,    64,    -1,
1114 >     205,    -1,   174,    -1,   194,    -1,   211,    -1,   197,    -1,
1115 >     136,    -1,   196,    -1,   180,    -1,   165,    -1,    -1,   150,
1116 >     361,   217,   362,   216,   215,    -1,   362,   363,    -1,   363,
1117 >      -1,   364,    -1,   365,    -1,     1,   215,    -1,    89,   218,
1118 >     118,   215,    -1,    -1,   151,   366,   218,   367,   215,    -1,
1119 >     367,   219,   368,    -1,   368,    -1,    64,    -1,   205,    -1,
1120 >     174,    -1,   194,    -1,   211,    -1,   197,    -1,   136,    -1,
1121 >     196,    -1,   180,    -1,   165,    -1,    -1,    18,   370,   217,
1122 >     371,   216,   215,    -1,   371,   372,    -1,   372,    -1,   373,
1123 >      -1,   374,    -1,   375,    -1,   376,    -1,   377,    -1,   379,
1124 >      -1,   378,    -1,   388,    -1,   380,    -1,   385,    -1,   386,
1125 >      -1,   387,    -1,   384,    -1,     1,   215,    -1,    89,   218,
1126 >     118,   215,    -1,    56,   218,   118,   215,    -1,   209,   218,
1127 >     118,   215,    -1,   144,   218,   118,   215,    -1,     3,   218,
1128 >     118,   215,    -1,   117,   218,    99,   215,    -1,     5,   218,
1129 >     178,   215,    -1,     5,   218,   179,   215,    -1,    -1,    36,
1130 >     381,   218,   382,   215,    -1,   382,   219,   383,    -1,   383,
1131 >      -1,     8,    -1,   191,    -1,    32,   218,   160,   215,    -1,
1132 >      58,   218,   118,   215,    -1,    68,   218,   118,   215,    -1,
1133 >      17,   218,   118,   215,    -1,   171,   218,   118,   215,    -1,
1134 >      -1,    62,   390,   217,   395,   216,   215,    -1,    -1,   151,
1135 >     392,   218,   393,   215,    -1,   393,   219,   394,    -1,   394,
1136 >      -1,   123,    -1,   395,   396,    -1,   396,    -1,   397,    -1,
1137 >     398,    -1,   391,    -1,     1,    -1,   206,   218,   118,   215,
1138 >      -1,   120,   218,   118,   215,    -1,    -1,    23,   400,   217,
1139 >     401,   216,   215,    -1,   401,   402,    -1,   402,    -1,   403,
1140 >      -1,   404,    -1,     1,    -1,    61,   218,   118,   215,    -1,
1141 >     120,   218,   118,   215,    -1,    34,   217,   406,   216,   215,
1142 >      -1,   406,   407,    -1,   407,    -1,   408,    -1,     1,    -1,
1143 >      61,   218,   118,   215,    -1,    -1,    38,   410,   217,   415,
1144 >     216,   215,    -1,    -1,   151,   412,   218,   413,   215,    -1,
1145 >     413,   219,   414,    -1,   414,    -1,   123,    -1,   415,   416,
1146 >      -1,   416,    -1,   417,    -1,   418,    -1,   411,    -1,     1,
1147 >      -1,    89,   218,   118,   215,    -1,   120,   218,   118,   215,
1148 >      -1,    39,   217,   420,   216,   215,    -1,   420,   421,    -1,
1149 >     421,    -1,   430,    -1,   431,    -1,   433,    -1,   434,    -1,
1150 >     435,    -1,   436,    -1,   437,    -1,   438,    -1,   439,    -1,
1151 >     440,    -1,   429,    -1,   442,    -1,   443,    -1,   458,    -1,
1152 >     445,    -1,   447,    -1,   449,    -1,   448,    -1,   452,    -1,
1153 >     446,    -1,   453,    -1,   454,    -1,   455,    -1,   456,    -1,
1154 >     457,    -1,   470,    -1,   459,    -1,   460,    -1,   461,    -1,
1155 >     466,    -1,   450,    -1,   451,    -1,   476,    -1,   474,    -1,
1156 >     475,    -1,   432,    -1,   465,    -1,   441,    -1,   463,    -1,
1157 >     464,    -1,   428,    -1,   423,    -1,   424,    -1,   425,    -1,
1158 >     426,    -1,   427,    -1,   444,    -1,   422,    -1,   462,    -1,
1159 >       1,    -1,    83,   218,    99,   215,    -1,    42,   218,   160,
1160 >     215,    -1,    41,   218,   224,   215,    -1,    44,   218,   224,
1161 >     215,    -1,    45,   218,    99,   215,    -1,    46,   218,    99,
1162 >     215,    -1,   148,   218,   160,   215,    -1,    63,   218,   224,
1163 >     215,    -1,    55,   218,   160,   215,    -1,    59,   218,   160,
1164 >     215,    -1,    28,   218,   160,   215,    -1,    35,   218,   160,
1165 >     215,    -1,     6,   218,   160,   215,    -1,    80,   218,   224,
1166 >     215,    -1,    79,   218,    99,   215,    -1,    72,   218,    99,
1167 >     215,    -1,     7,   218,   224,   215,    -1,   163,   218,   224,
1168 >     215,    -1,   162,   218,   224,   215,    -1,    50,   218,    99,
1169 >     215,    -1,    60,   218,   160,   215,    -1,   212,   218,   160,
1170 >     215,    -1,   155,   218,   160,   215,    -1,   158,   218,   160,
1171 >     215,    -1,   159,   218,   160,   215,    -1,   157,   218,   160,
1172 >     215,    -1,   157,   218,   161,   215,    -1,   156,   218,   160,
1173 >     215,    -1,   156,   218,   161,   215,    -1,   110,   218,   224,
1174 >     215,    -1,    12,   218,   224,   215,    -1,   103,   218,   160,
1175 >     215,    -1,   111,   218,   224,   215,    -1,   152,   218,   160,
1176 >     215,    -1,    97,   218,   160,   215,    -1,   204,   218,   160,
1177 >     215,    -1,   105,   218,   160,   215,    -1,    84,   218,   118,
1178 >     215,    -1,    29,   218,    99,   215,    -1,    82,   218,    99,
1179 >     215,    -1,   207,   218,   160,   215,    -1,    30,   218,   118,
1180 >     215,    -1,   202,   218,   118,   215,    -1,   114,   218,   160,
1181 >     215,    -1,    26,   218,   160,   215,    -1,   203,   218,   224,
1182 >     215,    -1,    -1,   107,   467,   218,   468,   215,    -1,   468,
1183 >     219,   469,    -1,   469,    -1,   166,    -1,   169,    -1,   170,
1184 >      -1,   172,    -1,   173,    -1,   176,    -1,    51,    -1,   189,
1185 >      -1,   182,    -1,   185,    -1,   193,    -1,   190,    -1,   175,
1186 >      -1,   183,    -1,   187,    -1,   177,    -1,   199,    -1,   167,
1187 >      -1,   168,    -1,   180,    -1,    -1,   104,   471,   218,   472,
1188 >     215,    -1,   472,   219,   473,    -1,   473,    -1,   166,    -1,
1189 >     169,    -1,   170,    -1,   172,    -1,   173,    -1,   176,    -1,
1190 >     189,    -1,    51,    -1,   182,    -1,   185,    -1,   193,    -1,
1191 >     190,    -1,   175,    -1,   183,    -1,   187,    -1,   177,    -1,
1192 >     199,    -1,   167,    -1,   168,    -1,   180,    -1,    85,   218,
1193 >      99,   215,    -1,    86,   218,    99,   215,    -1,    20,   218,
1194 >      99,   215,    -1,    14,   217,   478,   216,   215,    -1,   478,
1195 >     479,    -1,   479,    -1,   487,    -1,   482,    -1,   483,    -1,
1196 >     484,    -1,   485,    -1,   486,    -1,   488,    -1,   489,    -1,
1197 >     490,    -1,   481,    -1,   491,    -1,   492,    -1,   493,    -1,
1198 >     480,    -1,     1,    -1,    27,   218,   160,   215,    -1,   127,
1199 >     218,   160,   215,    -1,    66,   218,   224,   215,    -1,    67,
1200 >     218,   224,   215,    -1,    75,   218,    99,   215,    -1,    74,
1201 >     218,    99,   215,    -1,   119,   218,   160,   215,    -1,    73,
1202 >     218,    99,   215,    -1,    22,   218,    99,   215,    -1,    21,
1203 >     218,    99,   215,    -1,    95,   218,   160,   215,    -1,    96,
1204 >     218,   160,   215,    -1,   108,   218,    99,   215,    -1,   109,
1205 >     218,   224,   215,    -1,   145,   217,   495,   216,   215,    -1,
1206 >     495,   496,    -1,   496,    -1,   497,    -1,   498,    -1,   500,
1207 >      -1,   501,    -1,   499,    -1,   502,    -1,     1,    -1,    37,
1208 >     218,   160,   215,    -1,    54,   218,   160,   215,    -1,    52,
1209 >     218,   118,   215,    -1,    69,   218,   224,   215,    -1,    51,
1210 >     218,   160,   215,    -1,    53,   218,   160,   215,    -1
1211   };
1212  
1213   /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
1214   static const yytype_uint16 yyrline[] =
1215   {
1216 <       0,   397,   397,   398,   401,   402,   403,   404,   405,   406,
1217 <     407,   408,   409,   410,   411,   412,   413,   414,   415,   416,
1218 <     417,   418,   419,   420,   421,   422,   426,   426,   427,   431,
1219 <     435,   439,   443,   447,   453,   453,   454,   455,   456,   457,
1220 <     464,   467,   467,   468,   468,   468,   470,   478,   487,   489,
1221 <     489,   490,   490,   491,   491,   492,   492,   493,   494,   494,
1222 <     495,   495,   496,   497,   501,   500,   519,   519,   520,   526,
1223 <     534,   568,   628,   642,   657,   666,   680,   689,   717,   747,
1224 <     770,   792,   794,   794,   795,   795,   796,   796,   798,   807,
1225 <     816,   829,   831,   832,   834,   834,   835,   836,   836,   837,
1226 <     837,   838,   838,   839,   839,   840,   841,   843,   847,   851,
1227 <     858,   865,   872,   879,   886,   893,   900,   907,   911,   915,
1228 <     919,   923,   927,   931,   937,   947,   946,  1040,  1040,  1041,
1229 <    1041,  1042,  1042,  1042,  1042,  1043,  1043,  1044,  1044,  1044,
1230 <    1045,  1045,  1045,  1046,  1046,  1046,  1047,  1047,  1047,  1047,
1231 <    1048,  1048,  1049,  1049,  1051,  1063,  1075,  1109,  1121,  1132,
1232 <    1174,  1184,  1183,  1189,  1189,  1190,  1194,  1198,  1202,  1206,
1233 <    1210,  1214,  1218,  1222,  1226,  1230,  1234,  1238,  1242,  1246,
1234 <    1250,  1254,  1258,  1262,  1268,  1279,  1290,  1301,  1312,  1323,
1235 <    1334,  1345,  1356,  1367,  1378,  1389,  1400,  1411,  1423,  1422,
1236 <    1426,  1426,  1427,  1427,  1428,  1428,  1430,  1437,  1444,  1451,
1237 <    1458,  1465,  1472,  1479,  1486,  1493,  1500,  1507,  1514,  1521,
1238 <    1528,  1535,  1549,  1548,  1598,  1598,  1600,  1600,  1601,  1602,
1239 <    1602,  1603,  1604,  1605,  1606,  1607,  1608,  1609,  1610,  1611,
1240 <    1612,  1613,  1615,  1624,  1633,  1639,  1645,  1651,  1657,  1663,
1241 <    1669,  1675,  1681,  1687,  1693,  1699,  1709,  1708,  1725,  1724,
1242 <    1729,  1729,  1730,  1734,  1738,  1746,  1746,  1747,  1747,  1747,
1243 <    1747,  1747,  1749,  1749,  1751,  1751,  1753,  1767,  1787,  1796,
1244 <    1809,  1808,  1877,  1877,  1878,  1878,  1878,  1878,  1879,  1879,
1245 <    1880,  1880,  1880,  1881,  1881,  1882,  1882,  1882,  1883,  1883,
1246 <    1883,  1885,  1922,  1935,  1946,  1955,  1967,  1966,  1970,  1970,
1247 <    1971,  1971,  1972,  1972,  1974,  1982,  1989,  1996,  2003,  2010,
1248 <    2017,  2024,  2031,  2038,  2047,  2058,  2069,  2080,  2091,  2102,
1249 <    2114,  2133,  2143,  2152,  2168,  2167,  2183,  2183,  2184,  2184,
1250 <    2184,  2184,  2186,  2195,  2210,  2224,  2223,  2239,  2239,  2240,
1251 <    2240,  2240,  2240,  2242,  2251,  2274,  2273,  2279,  2279,  2280,
1252 <    2284,  2288,  2292,  2296,  2300,  2304,  2308,  2312,  2316,  2320,
1253 <    2330,  2329,  2346,  2346,  2347,  2347,  2347,  2349,  2356,  2355,
1254 <    2361,  2361,  2362,  2366,  2370,  2374,  2378,  2382,  2386,  2390,
1255 <    2394,  2398,  2402,  2412,  2411,  2557,  2557,  2558,  2558,  2559,
1256 <    2559,  2559,  2560,  2560,  2561,  2561,  2562,  2562,  2562,  2563,
1257 <    2563,  2563,  2564,  2564,  2564,  2565,  2565,  2566,  2566,  2568,
1258 <    2580,  2592,  2601,  2627,  2645,  2663,  2669,  2673,  2681,  2691,
1259 <    2690,  2694,  2694,  2695,  2695,  2696,  2696,  2698,  2709,  2716,
1260 <    2723,  2730,  2740,  2781,  2792,  2803,  2818,  2829,  2840,  2853,
1261 <    2866,  2875,  2911,  2910,  2974,  2973,  2977,  2977,  2978,  2984,
1262 <    2984,  2985,  2985,  2985,  2985,  2987,  3006,  3016,  3015,  3038,
1263 <    3038,  3039,  3039,  3039,  3041,  3047,  3056,  3058,  3058,  3059,
1264 <    3059,  3061,  3080,  3079,  3127,  3126,  3130,  3130,  3131,  3137,
1265 <    3137,  3138,  3138,  3138,  3138,  3140,  3146,  3155,  3158,  3158,
1266 <    3159,  3159,  3160,  3160,  3161,  3161,  3162,  3162,  3163,  3163,
1267 <    3164,  3164,  3165,  3165,  3166,  3166,  3167,  3167,  3168,  3168,
1268 <    3169,  3169,  3170,  3170,  3171,  3171,  3172,  3172,  3173,  3173,
1269 <    3174,  3174,  3175,  3175,  3176,  3176,  3177,  3177,  3178,  3178,
1270 <    3179,  3180,  3180,  3181,  3181,  3182,  3182,  3183,  3183,  3184,
1271 <    3184,  3185,  3185,  3186,  3186,  3187,  3188,  3191,  3196,  3201,
1272 <    3206,  3211,  3216,  3221,  3226,  3231,  3236,  3241,  3246,  3251,
1273 <    3256,  3261,  3266,  3271,  3276,  3281,  3287,  3298,  3303,  3312,
1274 <    3317,  3322,  3327,  3332,  3337,  3340,  3345,  3348,  3353,  3358,
1275 <    3363,  3368,  3373,  3378,  3383,  3388,  3393,  3404,  3409,  3414,
1276 <    3419,  3428,  3460,  3478,  3483,  3492,  3497,  3502,  3508,  3507,
1277 <    3512,  3512,  3513,  3516,  3519,  3522,  3525,  3528,  3531,  3534,
1278 <    3537,  3540,  3543,  3546,  3549,  3552,  3555,  3558,  3561,  3564,
1430 <    3567,  3573,  3572,  3577,  3577,  3578,  3581,  3584,  3587,  3590,
1431 <    3593,  3596,  3599,  3602,  3605,  3608,  3611,  3614,  3617,  3620,
1432 <    3623,  3626,  3629,  3632,  3637,  3642,  3647,  3652,  3657,  3666,
1433 <    3665,  3689,  3689,  3690,  3691,  3692,  3693,  3694,  3695,  3696,
1434 <    3698,  3704,  3711,  3710,  3715,  3715,  3716,  3720,  3726,  3760,
1435 <    3770,  3769,  3819,  3819,  3820,  3824,  3833,  3836,  3836,  3837,
1436 <    3837,  3838,  3838,  3839,  3839,  3840,  3840,  3841,  3841,  3842,
1437 <    3843,  3843,  3844,  3844,  3845,  3845,  3846,  3846,  3848,  3853,
1438 <    3858,  3863,  3868,  3873,  3878,  3883,  3888,  3893,  3898,  3903,
1439 <    3908,  3913,  3918,  3923,  3928,  3933,  3941,  3944,  3944,  3945,
1440 <    3945,  3946,  3947,  3948,  3948,  3949,  3950,  3952,  3958,  3964,
1441 <    3973,  3987,  3993,  3999
1216 >       0,   330,   330,   331,   334,   335,   336,   337,   338,   339,
1217 >     340,   341,   342,   343,   344,   345,   346,   347,   348,   349,
1218 >     350,   351,   352,   353,   354,   355,   359,   359,   360,   364,
1219 >     368,   372,   376,   380,   386,   386,   387,   388,   389,   390,
1220 >     397,   400,   400,   401,   401,   401,   403,   409,   416,   418,
1221 >     418,   419,   419,   420,   420,   421,   421,   422,   422,   423,
1222 >     423,   424,   424,   425,   425,   426,   427,   430,   431,   433,
1223 >     433,   434,   440,   448,   448,   449,   455,   463,   502,   561,
1224 >     589,   597,   612,   627,   636,   650,   659,   687,   717,   740,
1225 >     749,   751,   751,   752,   752,   753,   753,   755,   764,   773,
1226 >     785,   786,   786,   788,   788,   789,   791,   798,   798,   808,
1227 >     809,   811,   811,   812,   812,   814,   819,   822,   828,   827,
1228 >     833,   833,   834,   838,   842,   846,   850,   854,   858,   869,
1229 >     868,   966,   966,   967,   967,   967,   968,   968,   968,   969,
1230 >     969,   969,   971,   980,  1017,  1029,  1040,  1082,  1092,  1091,
1231 >    1097,  1097,  1098,  1102,  1106,  1110,  1114,  1118,  1122,  1126,
1232 >    1130,  1134,  1138,  1142,  1146,  1150,  1154,  1158,  1162,  1166,
1233 >    1170,  1174,  1181,  1180,  1186,  1186,  1187,  1191,  1195,  1199,
1234 >    1203,  1207,  1211,  1215,  1219,  1223,  1227,  1231,  1235,  1239,
1235 >    1243,  1247,  1251,  1255,  1259,  1270,  1269,  1319,  1319,  1320,
1236 >    1321,  1321,  1322,  1323,  1324,  1325,  1326,  1327,  1328,  1329,
1237 >    1330,  1331,  1331,  1332,  1334,  1343,  1349,  1355,  1361,  1367,
1238 >    1373,  1379,  1385,  1391,  1397,  1404,  1410,  1416,  1426,  1425,
1239 >    1442,  1441,  1446,  1446,  1447,  1451,  1455,  1463,  1463,  1464,
1240 >    1464,  1464,  1464,  1464,  1466,  1466,  1468,  1468,  1470,  1484,
1241 >    1504,  1513,  1526,  1525,  1594,  1594,  1595,  1595,  1595,  1595,
1242 >    1596,  1596,  1596,  1597,  1597,  1599,  1634,  1647,  1656,  1668,
1243 >    1667,  1671,  1671,  1672,  1676,  1680,  1684,  1688,  1692,  1696,
1244 >    1700,  1704,  1710,  1729,  1739,  1753,  1752,  1768,  1768,  1769,
1245 >    1769,  1769,  1769,  1771,  1780,  1795,  1808,  1810,  1810,  1811,
1246 >    1811,  1813,  1829,  1828,  1844,  1844,  1845,  1845,  1845,  1845,
1247 >    1847,  1856,  1879,  1878,  1884,  1884,  1885,  1889,  1893,  1897,
1248 >    1901,  1905,  1909,  1913,  1917,  1921,  1931,  1930,  1947,  1947,
1249 >    1948,  1948,  1948,  1950,  1957,  1956,  1962,  1962,  1963,  1967,
1250 >    1971,  1975,  1979,  1983,  1987,  1991,  1995,  1999,  2009,  2008,
1251 >    2059,  2059,  2060,  2060,  2060,  2061,  2061,  2062,  2062,  2062,
1252 >    2063,  2063,  2063,  2064,  2064,  2065,  2067,  2076,  2085,  2111,
1253 >    2129,  2147,  2153,  2157,  2166,  2165,  2169,  2169,  2170,  2174,
1254 >    2180,  2191,  2202,  2213,  2222,  2241,  2240,  2306,  2305,  2309,
1255 >    2309,  2310,  2316,  2316,  2317,  2317,  2317,  2317,  2319,  2338,
1256 >    2348,  2347,  2372,  2372,  2373,  2373,  2373,  2375,  2381,  2390,
1257 >    2392,  2392,  2393,  2393,  2395,  2414,  2413,  2461,  2460,  2464,
1258 >    2464,  2465,  2471,  2471,  2472,  2472,  2472,  2472,  2474,  2480,
1259 >    2489,  2492,  2492,  2493,  2493,  2494,  2494,  2495,  2495,  2496,
1260 >    2496,  2497,  2497,  2498,  2499,  2500,  2500,  2501,  2501,  2502,
1261 >    2502,  2503,  2503,  2504,  2504,  2505,  2505,  2506,  2507,  2507,
1262 >    2508,  2508,  2509,  2509,  2510,  2510,  2511,  2511,  2512,  2513,
1263 >    2513,  2514,  2515,  2516,  2516,  2517,  2517,  2518,  2519,  2520,
1264 >    2521,  2521,  2522,  2525,  2530,  2536,  2542,  2548,  2553,  2558,
1265 >    2563,  2568,  2573,  2578,  2583,  2588,  2593,  2598,  2603,  2608,
1266 >    2613,  2618,  2624,  2635,  2640,  2645,  2650,  2655,  2660,  2663,
1267 >    2668,  2671,  2676,  2681,  2686,  2691,  2696,  2701,  2706,  2711,
1268 >    2716,  2727,  2732,  2737,  2742,  2751,  2760,  2765,  2770,  2776,
1269 >    2775,  2780,  2780,  2781,  2784,  2787,  2790,  2793,  2796,  2799,
1270 >    2802,  2805,  2808,  2811,  2814,  2817,  2820,  2823,  2826,  2829,
1271 >    2832,  2835,  2838,  2844,  2843,  2848,  2848,  2849,  2852,  2855,
1272 >    2858,  2861,  2864,  2867,  2870,  2873,  2876,  2879,  2882,  2885,
1273 >    2888,  2891,  2894,  2897,  2900,  2903,  2906,  2911,  2916,  2921,
1274 >    2930,  2933,  2933,  2934,  2935,  2935,  2936,  2936,  2937,  2937,
1275 >    2938,  2939,  2939,  2940,  2941,  2941,  2942,  2942,  2944,  2949,
1276 >    2954,  2959,  2964,  2969,  2974,  2979,  2984,  2989,  2994,  2999,
1277 >    3004,  3009,  3017,  3020,  3020,  3021,  3021,  3022,  3023,  3023,
1278 >    3024,  3025,  3027,  3033,  3039,  3048,  3062,  3068
1279   };
1280   #endif
1281  
1282 < #if YYDEBUG || YYERROR_VERBOSE || YYTOKEN_TABLE
1282 > #if YYDEBUG || YYERROR_VERBOSE || 0
1283   /* YYTNAME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM.
1284     First, the terminals, then, starting at YYNTOKENS, nonterminals.  */
1285   static const char *const yytname[] =
1286   {
1287 <  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ACTION", "ADMIN",
1288 <  "AFTYPE", "T_ALLOW", "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME",
1289 <  "AUTOCONN", "T_BLOCK", "BURST_AWAY", "BURST_TOPICWHO", "BYTES", "KBYTES",
1290 <  "MBYTES", "GBYTES", "TBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CAN_IDLE",
1291 <  "CHANNEL", "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CIPHER_PREFERENCE",
1292 <  "CLASS", "COMPRESSED", "COMPRESSION_LEVEL", "CONNECT", "CONNECTFREQ",
1293 <  "CRYPTLINK", "DEFAULT_CIPHER_PREFERENCE", "DEFAULT_FLOODCOUNT",
1294 <  "DEFAULT_SPLIT_SERVER_COUNT", "DEFAULT_SPLIT_USER_COUNT", "DENY",
1295 <  "DESCRIPTION", "DIE", "DISABLE_AUTH", "DISABLE_FAKE_CHANNELS",
1296 <  "DISABLE_HIDDEN", "DISABLE_LOCAL_CHANNELS", "DISABLE_REMOTE_COMMANDS",
1297 <  "DOT_IN_IP6_ADDR", "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL",
1461 <  "ENABLE", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE",
1462 <  "FAKENAME", "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1463 <  "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1464 <  "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1465 <  "GLINE_LOG", "GLINE_TIME", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1287 >  "$end", "error", "$undefined", "ACCEPT_PASSWORD", "ADMIN", "AFTYPE",
1288 >  "ANTI_NICK_FLOOD", "ANTI_SPAM_EXIT_MESSAGE_TIME", "AUTOCONN", "BYTES",
1289 >  "KBYTES", "MBYTES", "CALLER_ID_WAIT", "CAN_FLOOD", "CHANNEL",
1290 >  "CIDR_BITLEN_IPV4", "CIDR_BITLEN_IPV6", "CLASS", "CONNECT",
1291 >  "CONNECTFREQ", "DEFAULT_FLOODCOUNT", "DEFAULT_SPLIT_SERVER_COUNT",
1292 >  "DEFAULT_SPLIT_USER_COUNT", "DENY", "DESCRIPTION", "DIE", "DISABLE_AUTH",
1293 >  "DISABLE_FAKE_CHANNELS", "DISABLE_REMOTE_COMMANDS", "DOTS_IN_IDENT",
1294 >  "EGDPOOL_PATH", "EMAIL", "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT",
1295 >  "FAILED_OPER_NOTICE", "IRCD_FLAGS", "FLATTEN_LINKS", "GECOS", "GENERAL",
1296 >  "GLINE", "GLINE_DURATION", "GLINE_ENABLE", "GLINE_EXEMPT",
1297 >  "GLINE_REQUEST_DURATION", "GLINE_MIN_CIDR", "GLINE_MIN_CIDR6",
1298    "GLOBAL_KILL", "IRCD_AUTH", "NEED_IDENT", "HAVENT_READ_CONF", "HIDDEN",
1299 <  "HIDDEN_ADMIN", "HIDDEN_NAME", "HIDDEN_OPER", "HIDE_SERVER_IPS",
1300 <  "HIDE_SERVERS", "HIDE_SPOOF_IPS", "HOST", "HUB", "HUB_MASK", "IDLETIME",
1301 <  "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT", "IP", "KILL",
1302 <  "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT", "KLINE_REASON",
1303 <  "KLINE_WITH_REASON", "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK",
1304 <  "LINKS_DELAY", "LISTEN", "T_LOG", "LOGGING", "LOG_LEVEL", "MAX_ACCEPT",
1473 <  "MAX_BANS", "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1299 >  "HIDDEN_NAME", "HIDE_SERVER_IPS", "HIDE_SERVERS", "HIDE_SPOOF_IPS",
1300 >  "HOST", "HUB", "HUB_MASK", "IGNORE_BOGUS_TS", "INVISIBLE_ON_CONNECT",
1301 >  "IP", "KILL", "KILL_CHASE_TIME_LIMIT", "KLINE", "KLINE_EXEMPT",
1302 >  "KNOCK_DELAY", "KNOCK_DELAY_CHANNEL", "LEAF_MASK", "LINKS_DELAY",
1303 >  "LISTEN", "T_LOG", "MAX_ACCEPT", "MAX_BANS", "MAX_CHANS_PER_OPER",
1304 >  "MAX_CHANS_PER_USER", "MAX_GLOBAL", "MAX_IDENT", "MAX_LOCAL",
1305    "MAX_NICK_CHANGES", "MAX_NICK_TIME", "MAX_NUMBER", "MAX_TARGETS",
1306    "MAX_WATCH", "MESSAGE_LOCALE", "MIN_NONWILDCARD",
1307    "MIN_NONWILDCARD_SIMPLE", "MODULE", "MODULES", "NAME", "NEED_PASSWORD",
1308    "NETWORK_DESC", "NETWORK_NAME", "NICK", "NICK_CHANGES",
1309    "NO_CREATE_ON_SPLIT", "NO_JOIN_ON_SPLIT", "NO_OPER_FLOOD", "NO_TILDE",
1310 <  "NOT", "NUMBER", "NUMBER_PER_IDENT", "NUMBER_PER_CIDR", "NUMBER_PER_IP",
1311 <  "NUMBER_PER_IP_GLOBAL", "OPERATOR", "OPERS_BYPASS_CALLERID", "OPER_LOG",
1312 <  "OPER_ONLY_UMODES", "OPER_PASS_RESV", "OPER_SPY_T", "OPER_UMODES",
1313 <  "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME", "PACE_WAIT", "PACE_WAIT_SIMPLE",
1314 <  "PASSWORD", "PATH", "PING_COOKIE", "PING_TIME", "PING_WARNING", "PORT",
1315 <  "QSTRING", "QUIET_ON_BAN", "REASON", "REDIRPORT", "REDIRSERV", "REGEX_T",
1316 <  "REHASH", "TREJECT_HOLD_TIME", "REMOTE", "REMOTEBAN",
1317 <  "RESTRICT_CHANNELS", "RESTRICTED", "RSA_PRIVATE_KEY_FILE",
1318 <  "RSA_PUBLIC_KEY_FILE", "SSL_CERTIFICATE_FILE", "T_SSL_CONNECTION_METHOD",
1319 <  "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT", "SECONDS", "MINUTES",
1320 <  "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD", "SERVERHIDE",
1321 <  "SERVERINFO", "SERVLINK_PATH", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1322 <  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SILENT", "SPOOF",
1323 <  "SPOOF_NOTICE", "STATS_E_DISABLED", "STATS_I_OPER_ONLY",
1324 <  "STATS_K_OPER_ONLY", "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL",
1325 <  "TMASKED", "T_REJECT", "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS",
1326 <  "T_ALL", "T_BOTS", "T_SOFTCALLERID", "T_CALLERID", "T_CCONN",
1327 <  "T_CCONN_FULL", "T_CLIENT_FLOOD", "T_DEAF", "T_DEBUG", "T_DRONE",
1328 <  "T_EXTERNAL", "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS",
1329 <  "T_LOGPATH", "T_L_CRIT", "T_L_DEBUG", "T_L_ERROR", "T_L_INFO",
1330 <  "T_L_NOTICE", "T_L_TRACE", "T_L_WARN", "T_MAX_CLIENTS", "T_NCHANGE",
1331 <  "T_OPERWALL", "T_REJ", "T_SERVER", "T_SERVNOTICE", "T_SKILL", "T_SPY",
1332 <  "T_SSL", "T_UMODES", "T_UNAUTH", "T_UNRESV", "T_UNXLINE", "T_WALLOP",
1333 <  "THROTTLE_TIME", "TOPICBURST", "TRUE_NO_OPER_FLOOD", "TKLINE", "TXLINE",
1334 <  "TRESV", "UNKLINE", "USER", "USE_EGD", "USE_EXCEPT", "USE_INVEX",
1335 <  "USE_KNOCK", "USE_LOGGING", "USE_WHOIS_ACTUALLY", "VHOST", "VHOST6",
1336 <  "XLINE", "WARN", "WARN_NO_NLINE", "';'", "'}'", "'{'", "'='", "','",
1337 <  "$accept", "conf", "conf_item", "timespec_", "timespec", "sizespec_",
1338 <  "sizespec", "modules_entry", "modules_items", "modules_item",
1339 <  "modules_module", "modules_path", "serverinfo_entry", "serverinfo_items",
1340 <  "serverinfo_item", "serverinfo_ssl_connection_method", "$@1",
1341 <  "method_types", "method_type_item", "serverinfo_ssl_certificate_file",
1342 <  "serverinfo_rsa_private_key_file", "serverinfo_name", "serverinfo_sid",
1310 >  "NUMBER", "NUMBER_PER_CIDR", "NUMBER_PER_IP", "OPERATOR",
1311 >  "OPERS_BYPASS_CALLERID", "OPER_ONLY_UMODES", "OPER_PASS_RESV",
1312 >  "OPER_SPY_T", "OPER_UMODES", "JOIN_FLOOD_COUNT", "JOIN_FLOOD_TIME",
1313 >  "PACE_WAIT", "PACE_WAIT_SIMPLE", "PASSWORD", "PATH", "PING_COOKIE",
1314 >  "PING_TIME", "PING_WARNING", "PORT", "QSTRING", "QUIET_ON_BAN", "REASON",
1315 >  "REDIRPORT", "REDIRSERV", "REGEX_T", "REHASH", "REMOTE", "REMOTEBAN",
1316 >  "RESTRICT_CHANNELS", "RSA_PRIVATE_KEY_FILE", "RSA_PUBLIC_KEY_FILE",
1317 >  "SSL_CERTIFICATE_FILE", "SSL_DH_PARAM_FILE", "T_SSL_CLIENT_METHOD",
1318 >  "T_SSL_SERVER_METHOD", "T_SSLV3", "T_TLSV1", "RESV", "RESV_EXEMPT",
1319 >  "SECONDS", "MINUTES", "HOURS", "DAYS", "WEEKS", "SENDQ", "SEND_PASSWORD",
1320 >  "SERVERHIDE", "SERVERINFO", "IRCD_SID", "TKLINE_EXPIRE_NOTICES",
1321 >  "T_SHARED", "T_CLUSTER", "TYPE", "SHORT_MOTD", "SPOOF", "SPOOF_NOTICE",
1322 >  "STATS_E_DISABLED", "STATS_I_OPER_ONLY", "STATS_K_OPER_ONLY",
1323 >  "STATS_O_OPER_ONLY", "STATS_P_OPER_ONLY", "TBOOL", "TMASKED",
1324 >  "TS_MAX_DELTA", "TS_WARN_DELTA", "TWODOTS", "T_ALL", "T_BOTS",
1325 >  "T_SOFTCALLERID", "T_CALLERID", "T_CCONN", "T_CCONN_FULL",
1326 >  "T_SSL_CIPHER_LIST", "T_DEAF", "T_DEBUG", "T_DLINE", "T_EXTERNAL",
1327 >  "T_FULL", "T_INVISIBLE", "T_IPV4", "T_IPV6", "T_LOCOPS", "T_MAX_CLIENTS",
1328 >  "T_NCHANGE", "T_OPERWALL", "T_RECVQ", "T_REJ", "T_SERVER",
1329 >  "T_SERVNOTICE", "T_SET", "T_SKILL", "T_SPY", "T_SSL", "T_UMODES",
1330 >  "T_UNAUTH", "T_UNDLINE", "T_UNLIMITED", "T_UNRESV", "T_UNXLINE",
1331 >  "T_GLOBOPS", "T_WALLOP", "T_RESTART", "T_SERVICE", "T_SERVICES_NAME",
1332 >  "THROTTLE_TIME", "TRUE_NO_OPER_FLOOD", "UNKLINE", "USER", "USE_EGD",
1333 >  "USE_LOGGING", "VHOST", "VHOST6", "XLINE", "WARN_NO_NLINE", "T_SIZE",
1334 >  "T_FILE", "';'", "'}'", "'{'", "'='", "','", "$accept", "conf",
1335 >  "conf_item", "timespec_", "timespec", "sizespec_", "sizespec",
1336 >  "modules_entry", "modules_items", "modules_item", "modules_module",
1337 >  "modules_path", "serverinfo_entry", "serverinfo_items",
1338 >  "serverinfo_item", "serverinfo_ssl_client_method",
1339 >  "serverinfo_ssl_server_method", "client_method_types",
1340 >  "client_method_type_item", "server_method_types",
1341 >  "server_method_type_item", "serverinfo_ssl_certificate_file",
1342 >  "serverinfo_rsa_private_key_file", "serverinfo_ssl_dh_param_file",
1343 >  "serverinfo_ssl_cipher_list", "serverinfo_name", "serverinfo_sid",
1344    "serverinfo_description", "serverinfo_network_name",
1345    "serverinfo_network_desc", "serverinfo_vhost", "serverinfo_vhost6",
1346    "serverinfo_max_clients", "serverinfo_hub", "admin_entry", "admin_items",
1347    "admin_item", "admin_name", "admin_email", "admin_description",
1348 <  "logging_entry", "logging_items", "logging_item", "logging_path",
1349 <  "logging_oper_log", "logging_fuserlog", "logging_ffailed_operlog",
1350 <  "logging_foperlog", "logging_foperspylog", "logging_fglinelog",
1351 <  "logging_fklinelog", "logging_ioerrlog", "logging_killlog",
1352 <  "logging_log_level", "logging_use_logging", "oper_entry", "$@2",
1353 <  "oper_name_b", "oper_items", "oper_item", "oper_name", "oper_name_t",
1354 <  "oper_user", "oper_password", "oper_encrypted",
1355 <  "oper_rsa_public_key_file", "oper_class", "oper_umodes", "$@3",
1356 <  "oper_umodes_items", "oper_umodes_item", "oper_global_kill",
1357 <  "oper_remote", "oper_remoteban", "oper_kline", "oper_xline",
1358 <  "oper_unkline", "oper_gline", "oper_nick_changes", "oper_die",
1359 <  "oper_rehash", "oper_admin", "oper_hidden_admin", "oper_hidden_oper",
1528 <  "oper_operwall", "oper_flags", "$@4", "oper_flags_items",
1529 <  "oper_flags_item", "$@5", "$@6", "oper_flags_item_atom", "class_entry",
1530 <  "$@7", "class_name_b", "class_items", "class_item", "class_name",
1531 <  "class_name_t", "class_ping_time", "class_ping_warning",
1532 <  "class_number_per_ip", "class_connectfreq", "class_max_number",
1533 <  "class_max_global", "class_max_local", "class_max_ident", "class_sendq",
1348 >  "logging_entry", "logging_items", "logging_item", "logging_use_logging",
1349 >  "logging_file_entry", "$@1", "logging_file_items", "logging_file_item",
1350 >  "logging_file_name", "logging_file_size", "logging_file_type", "$@2",
1351 >  "logging_file_type_items", "logging_file_type_item", "oper_entry", "$@3",
1352 >  "oper_items", "oper_item", "oper_name", "oper_user", "oper_password",
1353 >  "oper_encrypted", "oper_rsa_public_key_file", "oper_class",
1354 >  "oper_umodes", "$@4", "oper_umodes_items", "oper_umodes_item",
1355 >  "oper_flags", "$@5", "oper_flags_items", "oper_flags_item",
1356 >  "class_entry", "$@6", "class_items", "class_item", "class_name",
1357 >  "class_ping_time", "class_ping_warning", "class_number_per_ip",
1358 >  "class_connectfreq", "class_max_number", "class_max_global",
1359 >  "class_max_local", "class_max_ident", "class_sendq", "class_recvq",
1360    "class_cidr_bitlen_ipv4", "class_cidr_bitlen_ipv6",
1361 <  "class_number_per_cidr", "listen_entry", "$@8", "listen_flags", "$@9",
1361 >  "class_number_per_cidr", "listen_entry", "$@7", "listen_flags", "$@8",
1362    "listen_flags_items", "listen_flags_item", "listen_items", "listen_item",
1363 <  "listen_port", "$@10", "port_items", "port_item", "listen_address",
1364 <  "listen_host", "auth_entry", "$@11", "auth_items", "auth_item",
1365 <  "auth_user", "auth_passwd", "auth_spoof_notice", "auth_class",
1366 <  "auth_encrypted", "auth_flags", "$@12", "auth_flags_items",
1367 <  "auth_flags_item", "$@13", "$@14", "auth_flags_item_atom",
1368 <  "auth_kline_exempt", "auth_need_ident", "auth_exceed_limit",
1369 <  "auth_can_flood", "auth_no_tilde", "auth_gline_exempt", "auth_spoof",
1370 <  "auth_redir_serv", "auth_redir_port", "auth_need_password", "resv_entry",
1371 <  "$@15", "resv_items", "resv_item", "resv_creason", "resv_channel",
1372 <  "resv_nick", "shared_entry", "$@16", "shared_items", "shared_item",
1373 <  "shared_name", "shared_user", "shared_type", "$@17", "shared_types",
1374 <  "shared_type_item", "cluster_entry", "$@18", "cluster_items",
1549 <  "cluster_item", "cluster_name", "cluster_type", "$@19", "cluster_types",
1550 <  "cluster_type_item", "connect_entry", "$@20", "connect_name_b",
1551 <  "connect_items", "connect_item", "connect_name", "connect_name_t",
1363 >  "listen_port", "$@9", "port_items", "port_item", "listen_address",
1364 >  "listen_host", "auth_entry", "$@10", "auth_items", "auth_item",
1365 >  "auth_user", "auth_passwd", "auth_class", "auth_encrypted", "auth_flags",
1366 >  "$@11", "auth_flags_items", "auth_flags_item", "auth_spoof",
1367 >  "auth_redir_serv", "auth_redir_port", "resv_entry", "$@12", "resv_items",
1368 >  "resv_item", "resv_creason", "resv_channel", "resv_nick",
1369 >  "service_entry", "service_items", "service_item", "service_name",
1370 >  "shared_entry", "$@13", "shared_items", "shared_item", "shared_name",
1371 >  "shared_user", "shared_type", "$@14", "shared_types", "shared_type_item",
1372 >  "cluster_entry", "$@15", "cluster_items", "cluster_item", "cluster_name",
1373 >  "cluster_type", "$@16", "cluster_types", "cluster_type_item",
1374 >  "connect_entry", "$@17", "connect_items", "connect_item", "connect_name",
1375    "connect_host", "connect_vhost", "connect_send_password",
1376    "connect_accept_password", "connect_port", "connect_aftype",
1377 <  "connect_fakename", "connect_flags", "$@21", "connect_flags_items",
1378 <  "connect_flags_item", "$@22", "$@23", "connect_flags_item_atom",
1379 <  "connect_rsa_public_key_file", "connect_encrypted", "connect_cryptlink",
1380 <  "connect_compressed", "connect_auto", "connect_topicburst",
1381 <  "connect_hub_mask", "connect_leaf_mask", "connect_class",
1382 <  "connect_cipher_preference", "kill_entry", "$@24", "kill_type", "$@25",
1383 <  "kill_type_items", "kill_type_item", "kill_items", "kill_item",
1384 <  "kill_user", "kill_reason", "deny_entry", "$@26", "deny_items",
1385 <  "deny_item", "deny_ip", "deny_reason", "exempt_entry", "exempt_items",
1386 <  "exempt_item", "exempt_ip", "gecos_entry", "$@27", "gecos_flags", "$@28",
1387 <  "gecos_flags_items", "gecos_flags_item", "gecos_items", "gecos_item",
1388 <  "gecos_name", "gecos_reason", "general_entry", "general_items",
1389 <  "general_item", "general_max_watch", "general_gline_min_cidr",
1390 <  "general_gline_min_cidr6", "general_burst_away",
1391 <  "general_use_whois_actually", "general_reject_hold_time",
1392 <  "general_tkline_expire_notices", "general_kill_chase_time_limit",
1393 <  "general_hide_spoof_ips", "general_ignore_bogus_ts",
1394 <  "general_disable_remote_commands", "general_failed_oper_notice",
1395 <  "general_anti_nick_flood", "general_max_nick_time",
1396 <  "general_max_nick_changes", "general_max_accept",
1397 <  "general_anti_spam_exit_message_time", "general_ts_warn_delta",
1398 <  "general_ts_max_delta", "general_havent_read_conf",
1399 <  "general_kline_with_reason", "general_kline_reason",
1400 <  "general_invisible_on_connect", "general_warn_no_nline",
1401 <  "general_stats_e_disabled", "general_stats_o_oper_only",
1402 <  "general_stats_P_oper_only", "general_stats_k_oper_only",
1403 <  "general_stats_i_oper_only", "general_pace_wait",
1404 <  "general_caller_id_wait", "general_opers_bypass_callerid",
1405 <  "general_pace_wait_simple", "general_short_motd",
1406 <  "general_no_oper_flood", "general_true_no_oper_flood",
1407 <  "general_oper_pass_resv", "general_message_locale", "general_idletime",
1408 <  "general_dots_in_ident", "general_max_targets", "general_servlink_path",
1409 <  "general_default_cipher_preference", "general_compression_level",
1410 <  "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1411 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1412 <  "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1413 <  "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1414 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1592 <  "general_client_flood", "general_dot_in_ip6_addr", "gline_entry", "$@31",
1593 <  "gline_items", "gline_item", "gline_enable", "gline_duration",
1594 <  "gline_logging", "$@32", "gline_logging_types",
1595 <  "gline_logging_type_item", "gline_user", "gline_server", "gline_action",
1596 <  "$@33", "gdeny_types", "gdeny_type_item", "channel_entry",
1597 <  "channel_items", "channel_item", "channel_disable_fake_channels",
1598 <  "channel_restrict_channels", "channel_disable_local_channels",
1599 <  "channel_use_except", "channel_use_invex", "channel_use_knock",
1600 <  "channel_knock_delay", "channel_knock_delay_channel",
1601 <  "channel_max_chans_per_user", "channel_quiet_on_ban", "channel_max_bans",
1377 >  "connect_flags", "$@18", "connect_flags_items", "connect_flags_item",
1378 >  "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1379 >  "connect_class", "connect_ssl_cipher_list", "kill_entry", "$@19",
1380 >  "kill_type", "$@20", "kill_type_items", "kill_type_item", "kill_items",
1381 >  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@21",
1382 >  "deny_items", "deny_item", "deny_ip", "deny_reason", "exempt_entry",
1383 >  "exempt_items", "exempt_item", "exempt_ip", "gecos_entry", "$@22",
1384 >  "gecos_flags", "$@23", "gecos_flags_items", "gecos_flags_item",
1385 >  "gecos_items", "gecos_item", "gecos_name", "gecos_reason",
1386 >  "general_entry", "general_items", "general_item", "general_max_watch",
1387 >  "general_gline_enable", "general_gline_duration",
1388 >  "general_gline_request_duration", "general_gline_min_cidr",
1389 >  "general_gline_min_cidr6", "general_tkline_expire_notices",
1390 >  "general_kill_chase_time_limit", "general_hide_spoof_ips",
1391 >  "general_ignore_bogus_ts", "general_disable_remote_commands",
1392 >  "general_failed_oper_notice", "general_anti_nick_flood",
1393 >  "general_max_nick_time", "general_max_nick_changes",
1394 >  "general_max_accept", "general_anti_spam_exit_message_time",
1395 >  "general_ts_warn_delta", "general_ts_max_delta",
1396 >  "general_havent_read_conf", "general_invisible_on_connect",
1397 >  "general_warn_no_nline", "general_stats_e_disabled",
1398 >  "general_stats_o_oper_only", "general_stats_P_oper_only",
1399 >  "general_stats_k_oper_only", "general_stats_i_oper_only",
1400 >  "general_pace_wait", "general_caller_id_wait",
1401 >  "general_opers_bypass_callerid", "general_pace_wait_simple",
1402 >  "general_short_motd", "general_no_oper_flood",
1403 >  "general_true_no_oper_flood", "general_oper_pass_resv",
1404 >  "general_message_locale", "general_dots_in_ident", "general_max_targets",
1405 >  "general_use_egd", "general_egdpool_path", "general_services_name",
1406 >  "general_ping_cookie", "general_disable_auth", "general_throttle_time",
1407 >  "general_oper_umodes", "$@24", "umode_oitems", "umode_oitem",
1408 >  "general_oper_only_umodes", "$@25", "umode_items", "umode_item",
1409 >  "general_min_nonwildcard", "general_min_nonwildcard_simple",
1410 >  "general_default_floodcount", "channel_entry", "channel_items",
1411 >  "channel_item", "channel_disable_fake_channels",
1412 >  "channel_restrict_channels", "channel_knock_delay",
1413 >  "channel_knock_delay_channel", "channel_max_chans_per_user",
1414 >  "channel_max_chans_per_oper", "channel_quiet_on_ban", "channel_max_bans",
1415    "channel_default_split_user_count", "channel_default_split_server_count",
1416    "channel_no_create_on_split", "channel_no_join_on_split",
1417 <  "channel_burst_topicwho", "channel_jflood_count", "channel_jflood_time",
1418 <  "serverhide_entry", "serverhide_items", "serverhide_item",
1419 <  "serverhide_flatten_links", "serverhide_hide_servers",
1420 <  "serverhide_hidden_name", "serverhide_links_delay", "serverhide_hidden",
1421 <  "serverhide_disable_hidden", "serverhide_hide_server_ips", 0
1417 >  "channel_jflood_count", "channel_jflood_time", "serverhide_entry",
1418 >  "serverhide_items", "serverhide_item", "serverhide_flatten_links",
1419 >  "serverhide_hide_servers", "serverhide_hidden_name",
1420 >  "serverhide_links_delay", "serverhide_hidden",
1421 >  "serverhide_hide_server_ips", YY_NULL
1422   };
1423   #endif
1424  
# Line 1635 | Line 1448 | static const yytype_uint16 yytoknum[] =
1448       435,   436,   437,   438,   439,   440,   441,   442,   443,   444,
1449       445,   446,   447,   448,   449,   450,   451,   452,   453,   454,
1450       455,   456,   457,   458,   459,   460,   461,   462,   463,   464,
1451 <     465,   466,   467,   468,   469,   470,   471,   472,   473,   474,
1639 <     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1640 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1641 <     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1642 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1643 <     515,   516,    59,   125,   123,    61,    44
1451 >     465,   466,   467,   468,   469,    59,   125,   123,    61,    44
1452   };
1453   # endif
1454  
1455   /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */
1456   static const yytype_uint16 yyr1[] =
1457   {
1458 <       0,   267,   268,   268,   269,   269,   269,   269,   269,   269,
1459 <     269,   269,   269,   269,   269,   269,   269,   269,   269,   269,
1460 <     269,   269,   269,   269,   269,   269,   270,   270,   271,   271,
1461 <     271,   271,   271,   271,   272,   272,   273,   273,   273,   273,
1462 <     274,   275,   275,   276,   276,   276,   277,   278,   279,   280,
1463 <     280,   281,   281,   281,   281,   281,   281,   281,   281,   281,
1464 <     281,   281,   281,   281,   283,   282,   284,   284,   285,   285,
1465 <     286,   287,   288,   289,   290,   291,   292,   293,   294,   295,
1466 <     296,   297,   298,   298,   299,   299,   299,   299,   300,   301,
1467 <     302,   303,   304,   304,   305,   305,   305,   305,   305,   305,
1468 <     305,   305,   305,   305,   305,   305,   305,   306,   307,   308,
1469 <     309,   310,   311,   312,   313,   314,   315,   316,   316,   316,
1470 <     316,   316,   316,   316,   317,   319,   318,   320,   320,   321,
1471 <     321,   322,   322,   322,   322,   322,   322,   322,   322,   322,
1472 <     322,   322,   322,   322,   322,   322,   322,   322,   322,   322,
1473 <     322,   322,   322,   322,   323,   324,   325,   326,   327,   328,
1474 <     329,   331,   330,   332,   332,   333,   333,   333,   333,   333,
1475 <     333,   333,   333,   333,   333,   333,   333,   333,   333,   333,
1476 <     333,   333,   333,   333,   334,   335,   336,   337,   338,   339,
1477 <     340,   341,   342,   343,   344,   345,   346,   347,   349,   348,
1478 <     350,   350,   352,   351,   353,   351,   354,   354,   354,   354,
1479 <     354,   354,   354,   354,   354,   354,   354,   354,   354,   354,
1480 <     354,   354,   356,   355,   357,   357,   358,   358,   359,   359,
1481 <     359,   359,   359,   359,   359,   359,   359,   359,   359,   359,
1482 <     359,   359,   360,   361,   362,   363,   364,   365,   366,   367,
1483 <     368,   369,   370,   371,   372,   373,   375,   374,   377,   376,
1484 <     378,   378,   379,   379,   379,   380,   380,   381,   381,   381,
1485 <     381,   381,   383,   382,   384,   384,   385,   385,   386,   387,
1486 <     389,   388,   390,   390,   391,   391,   391,   391,   391,   391,
1487 <     391,   391,   391,   391,   391,   391,   391,   391,   391,   391,
1488 <     391,   392,   393,   394,   395,   396,   398,   397,   399,   399,
1489 <     401,   400,   402,   400,   403,   403,   403,   403,   403,   403,
1490 <     403,   403,   403,   403,   404,   405,   406,   407,   408,   409,
1491 <     410,   411,   412,   413,   415,   414,   416,   416,   417,   417,
1492 <     417,   417,   418,   419,   420,   422,   421,   423,   423,   424,
1493 <     424,   424,   424,   425,   426,   428,   427,   429,   429,   430,
1494 <     430,   430,   430,   430,   430,   430,   430,   430,   430,   430,
1495 <     432,   431,   433,   433,   434,   434,   434,   435,   437,   436,
1496 <     438,   438,   439,   439,   439,   439,   439,   439,   439,   439,
1497 <     439,   439,   439,   441,   440,   442,   442,   443,   443,   444,
1498 <     444,   444,   444,   444,   444,   444,   444,   444,   444,   444,
1499 <     444,   444,   444,   444,   444,   444,   444,   444,   444,   445,
1500 <     446,   447,   448,   449,   450,   451,   452,   452,   453,   455,
1501 <     454,   456,   456,   458,   457,   459,   457,   460,   460,   460,
1502 <     460,   460,   461,   462,   463,   464,   465,   466,   467,   468,
1503 <     469,   470,   472,   471,   474,   473,   475,   475,   476,   477,
1504 <     477,   478,   478,   478,   478,   479,   480,   482,   481,   483,
1505 <     483,   484,   484,   484,   485,   486,   487,   488,   488,   489,
1506 <     489,   490,   492,   491,   494,   493,   495,   495,   496,   497,
1507 <     497,   498,   498,   498,   498,   499,   500,   501,   502,   502,
1508 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1509 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1510 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1511 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1512 <     503,   503,   503,   503,   503,   503,   503,   503,   503,   503,
1513 <     503,   503,   503,   503,   503,   503,   503,   504,   505,   506,
1514 <     507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
1515 <     517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
1516 <     527,   528,   529,   530,   531,   531,   532,   532,   533,   534,
1517 <     535,   536,   537,   538,   539,   540,   541,   542,   543,   544,
1518 <     545,   546,   547,   548,   549,   550,   551,   552,   554,   553,
1519 <     555,   555,   556,   556,   556,   556,   556,   556,   556,   556,
1520 <     556,   556,   556,   556,   556,   556,   556,   556,   556,   556,
1713 <     556,   558,   557,   559,   559,   560,   560,   560,   560,   560,
1714 <     560,   560,   560,   560,   560,   560,   560,   560,   560,   560,
1715 <     560,   560,   560,   560,   561,   562,   563,   564,   565,   567,
1716 <     566,   568,   568,   569,   569,   569,   569,   569,   569,   569,
1717 <     570,   571,   573,   572,   574,   574,   575,   575,   576,   577,
1718 <     579,   578,   580,   580,   581,   581,   582,   583,   583,   584,
1719 <     584,   584,   584,   584,   584,   584,   584,   584,   584,   584,
1720 <     584,   584,   584,   584,   584,   584,   584,   584,   585,   586,
1721 <     587,   588,   589,   590,   591,   592,   593,   594,   595,   596,
1722 <     597,   598,   599,   600,   601,   602,   603,   604,   604,   605,
1723 <     605,   605,   605,   605,   605,   605,   605,   606,   607,   608,
1724 <     609,   610,   611,   612
1458 >       0,   220,   221,   221,   222,   222,   222,   222,   222,   222,
1459 >     222,   222,   222,   222,   222,   222,   222,   222,   222,   222,
1460 >     222,   222,   222,   222,   222,   222,   223,   223,   224,   224,
1461 >     224,   224,   224,   224,   225,   225,   226,   226,   226,   226,
1462 >     227,   228,   228,   229,   229,   229,   230,   231,   232,   233,
1463 >     233,   234,   234,   234,   234,   234,   234,   234,   234,   234,
1464 >     234,   234,   234,   234,   234,   234,   234,   235,   236,   237,
1465 >     237,   238,   238,   239,   239,   240,   240,   241,   242,   243,
1466 >     244,   245,   246,   247,   248,   249,   250,   251,   252,   253,
1467 >     254,   255,   255,   256,   256,   256,   256,   257,   258,   259,
1468 >     260,   261,   261,   262,   262,   262,   263,   265,   264,   266,
1469 >     266,   267,   267,   267,   267,   268,   269,   269,   271,   270,
1470 >     272,   272,   273,   273,   273,   273,   273,   273,   273,   275,
1471 >     274,   276,   276,   277,   277,   277,   277,   277,   277,   277,
1472 >     277,   277,   278,   279,   280,   281,   282,   283,   285,   284,
1473 >     286,   286,   287,   287,   287,   287,   287,   287,   287,   287,
1474 >     287,   287,   287,   287,   287,   287,   287,   287,   287,   287,
1475 >     287,   287,   289,   288,   290,   290,   291,   291,   291,   291,
1476 >     291,   291,   291,   291,   291,   291,   291,   291,   291,   291,
1477 >     291,   291,   291,   291,   291,   293,   292,   294,   294,   295,
1478 >     295,   295,   295,   295,   295,   295,   295,   295,   295,   295,
1479 >     295,   295,   295,   295,   296,   297,   298,   299,   300,   301,
1480 >     302,   303,   304,   305,   306,   307,   308,   309,   311,   310,
1481 >     313,   312,   314,   314,   315,   315,   315,   316,   316,   317,
1482 >     317,   317,   317,   317,   319,   318,   320,   320,   321,   321,
1483 >     322,   323,   325,   324,   326,   326,   327,   327,   327,   327,
1484 >     327,   327,   327,   327,   327,   328,   329,   330,   331,   333,
1485 >     332,   334,   334,   335,   335,   335,   335,   335,   335,   335,
1486 >     335,   335,   336,   337,   338,   340,   339,   341,   341,   342,
1487 >     342,   342,   342,   343,   344,   345,   346,   347,   347,   348,
1488 >     348,   349,   351,   350,   352,   352,   353,   353,   353,   353,
1489 >     354,   355,   357,   356,   358,   358,   359,   359,   359,   359,
1490 >     359,   359,   359,   359,   359,   359,   361,   360,   362,   362,
1491 >     363,   363,   363,   364,   366,   365,   367,   367,   368,   368,
1492 >     368,   368,   368,   368,   368,   368,   368,   368,   370,   369,
1493 >     371,   371,   372,   372,   372,   372,   372,   372,   372,   372,
1494 >     372,   372,   372,   372,   372,   372,   373,   374,   375,   376,
1495 >     377,   378,   379,   379,   381,   380,   382,   382,   383,   383,
1496 >     384,   385,   386,   387,   388,   390,   389,   392,   391,   393,
1497 >     393,   394,   395,   395,   396,   396,   396,   396,   397,   398,
1498 >     400,   399,   401,   401,   402,   402,   402,   403,   404,   405,
1499 >     406,   406,   407,   407,   408,   410,   409,   412,   411,   413,
1500 >     413,   414,   415,   415,   416,   416,   416,   416,   417,   418,
1501 >     419,   420,   420,   421,   421,   421,   421,   421,   421,   421,
1502 >     421,   421,   421,   421,   421,   421,   421,   421,   421,   421,
1503 >     421,   421,   421,   421,   421,   421,   421,   421,   421,   421,
1504 >     421,   421,   421,   421,   421,   421,   421,   421,   421,   421,
1505 >     421,   421,   421,   421,   421,   421,   421,   421,   421,   421,
1506 >     421,   421,   421,   422,   423,   424,   425,   426,   427,   428,
1507 >     429,   430,   431,   432,   433,   434,   435,   436,   437,   438,
1508 >     439,   440,   441,   442,   443,   444,   445,   446,   447,   447,
1509 >     448,   448,   449,   450,   451,   452,   453,   454,   455,   456,
1510 >     457,   458,   459,   460,   461,   462,   463,   464,   465,   467,
1511 >     466,   468,   468,   469,   469,   469,   469,   469,   469,   469,
1512 >     469,   469,   469,   469,   469,   469,   469,   469,   469,   469,
1513 >     469,   469,   469,   471,   470,   472,   472,   473,   473,   473,
1514 >     473,   473,   473,   473,   473,   473,   473,   473,   473,   473,
1515 >     473,   473,   473,   473,   473,   473,   473,   474,   475,   476,
1516 >     477,   478,   478,   479,   479,   479,   479,   479,   479,   479,
1517 >     479,   479,   479,   479,   479,   479,   479,   479,   480,   481,
1518 >     482,   483,   484,   485,   486,   487,   488,   489,   490,   491,
1519 >     492,   493,   494,   495,   495,   496,   496,   496,   496,   496,
1520 >     496,   496,   497,   498,   499,   500,   501,   502
1521   };
1522  
1523   /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */
# Line 1733 | Line 1529 | static const yytype_uint8 yyr2[] =
1529         3,     3,     3,     3,     0,     1,     2,     3,     3,     3,
1530         5,     2,     1,     1,     1,     2,     4,     4,     5,     2,
1531         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1532 <       1,     1,     1,     2,     0,     5,     3,     1,     1,     1,
1532 >       1,     1,     1,     1,     1,     1,     2,     4,     4,     3,
1533 >       1,     1,     1,     3,     1,     1,     1,     4,     4,     4,
1534         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1535 <       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1536 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1537 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
1538 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1539 <       4,     4,     4,     4,     4,     0,     7,     0,     1,     2,
1540 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1744 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1745 <       1,     1,     1,     2,     4,     1,     4,     4,     4,     4,
1746 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1747 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1748 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1749 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1750 <       3,     1,     0,     3,     0,     2,     1,     1,     1,     1,
1751 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1752 <       1,     1,     0,     7,     0,     1,     2,     1,     1,     1,
1753 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1754 <       1,     2,     4,     1,     4,     4,     4,     4,     4,     4,
1755 <       4,     4,     4,     4,     4,     4,     0,     6,     0,     5,
1756 <       3,     1,     1,     1,     1,     2,     1,     1,     1,     1,
1757 <       1,     2,     0,     5,     3,     1,     1,     3,     4,     4,
1758 <       0,     6,     2,     1,     1,     1,     1,     1,     1,     1,
1759 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1760 <       2,     4,     4,     4,     4,     4,     0,     5,     3,     1,
1761 <       0,     3,     0,     2,     1,     1,     1,     1,     1,     1,
1762 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1763 <       4,     4,     4,     4,     0,     6,     2,     1,     1,     1,
1764 <       1,     2,     4,     4,     4,     0,     6,     2,     1,     1,
1765 <       1,     1,     2,     4,     4,     0,     5,     3,     1,     1,
1766 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1767 <       0,     6,     2,     1,     1,     1,     2,     4,     0,     5,
1535 >       5,     2,     1,     1,     1,     1,     2,     4,     4,     4,
1536 >       5,     2,     1,     1,     1,     2,     4,     0,     6,     2,
1537 >       1,     1,     1,     1,     2,     4,     4,     4,     0,     5,
1538 >       3,     1,     1,     1,     1,     1,     1,     1,     1,     0,
1539 >       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1540 >       1,     2,     4,     4,     4,     4,     4,     4,     0,     5,
1541         3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1769       1,     1,     1,     0,     7,     0,     1,     2,     1,     1,
1542         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1543 <       1,     1,     1,     1,     1,     1,     1,     1,     2,     4,
1772 <       1,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1773 <       5,     3,     1,     0,     3,     0,     2,     1,     1,     1,
1774 <       1,     1,     4,     4,     4,     4,     4,     4,     4,     4,
1775 <       4,     4,     0,     6,     0,     5,     3,     1,     1,     2,
1776 <       1,     1,     1,     1,     1,     4,     4,     0,     6,     2,
1777 <       1,     1,     1,     1,     4,     4,     5,     2,     1,     1,
1778 <       1,     4,     0,     6,     0,     5,     3,     1,     1,     2,
1779 <       1,     1,     1,     1,     1,     4,     4,     5,     2,     1,
1543 >       1,     1,     0,     5,     3,     1,     1,     1,     1,     1,
1544         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1545 +       1,     1,     1,     1,     1,     0,     6,     2,     1,     1,
1546         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1547 +       1,     1,     1,     2,     4,     4,     4,     4,     4,     4,
1548 +       4,     4,     4,     4,     4,     4,     4,     4,     0,     6,
1549 +       0,     5,     3,     1,     1,     1,     1,     2,     1,     1,
1550 +       1,     1,     1,     2,     0,     5,     3,     1,     1,     3,
1551 +       4,     4,     0,     6,     2,     1,     1,     1,     1,     1,
1552 +       1,     1,     1,     1,     2,     4,     4,     4,     4,     0,
1553 +       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1554 +       1,     1,     4,     4,     4,     0,     6,     2,     1,     1,
1555 +       1,     1,     2,     4,     4,     4,     5,     2,     1,     1,
1556 +       1,     4,     0,     6,     2,     1,     1,     1,     1,     2,
1557 +       4,     4,     0,     5,     3,     1,     1,     1,     1,     1,
1558 +       1,     1,     1,     1,     1,     1,     0,     6,     2,     1,
1559 +       1,     1,     2,     4,     0,     5,     3,     1,     1,     1,
1560 +       1,     1,     1,     1,     1,     1,     1,     1,     0,     6,
1561 +       2,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1562 +       1,     1,     1,     1,     1,     2,     4,     4,     4,     4,
1563 +       4,     4,     4,     4,     0,     5,     3,     1,     1,     1,
1564 +       4,     4,     4,     4,     4,     0,     6,     0,     5,     3,
1565 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1566 +       0,     6,     2,     1,     1,     1,     1,     4,     4,     5,
1567 +       2,     1,     1,     1,     4,     0,     6,     0,     5,     3,
1568 +       1,     1,     2,     1,     1,     1,     1,     1,     4,     4,
1569 +       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1570         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1571         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1572         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1573 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1574 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1573 >       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1574 >       1,     1,     1,     4,     4,     4,     4,     4,     4,     4,
1575         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1576         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1577         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1578 <       4,     4,     4,     4,     4,     4,     4,     4,     0,     5,
1579 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1578 >       4,     4,     4,     4,     4,     4,     4,     4,     4,     0,
1579 >       5,     3,     1,     1,     1,     1,     1,     1,     1,     1,
1580         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1581 <       1,     0,     5,     3,     1,     1,     1,     1,     1,     1,
1794 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1795 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     0,
1796 <       6,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1797 <       4,     4,     0,     5,     3,     1,     1,     1,     4,     4,
1798 <       0,     5,     3,     1,     1,     1,     5,     2,     1,     1,
1581 >       1,     1,     1,     0,     5,     3,     1,     1,     1,     1,
1582         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1583 +       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1584 +       5,     2,     1,     1,     1,     1,     1,     1,     1,     1,
1585         1,     1,     1,     1,     1,     1,     1,     1,     4,     4,
1586         4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1587 <       4,     4,     4,     4,     4,     4,     5,     2,     1,     1,
1588 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1804 <       4,     4,     4,     4
1587 >       4,     4,     5,     2,     1,     1,     1,     1,     1,     1,
1588 >       1,     1,     4,     4,     4,     4,     4,     4
1589   };
1590  
1591 < /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state
1592 <   STATE-NUM when YYTABLE doesn't specify something else to do.  Zero
1591 > /* YYDEFACT[STATE-NAME] -- Default reduction number in state STATE-NUM.
1592 >   Performed when YYTABLE doesn't specify something else to do.  Zero
1593     means the default is an error.  */
1594   static const yytype_uint16 yydefact[] =
1595   {
1596 <       2,     0,     1,     0,     0,     0,   222,   393,   467,     0,
1597 <     482,     0,   659,   280,   452,   256,     0,     0,   125,   334,
1598 <       0,     0,   345,   370,     3,    23,    11,     4,     5,     6,
1596 >       2,     0,     1,     0,     0,     0,   195,   348,   400,     0,
1597 >     415,     0,   252,   385,   228,     0,     0,   129,   285,     0,
1598 >       0,   302,   326,     0,     3,    23,    11,     4,     5,     6,
1599         8,     9,    10,    13,    14,    15,    16,    17,    18,    19,
1600 <      22,    20,    21,     7,    12,    24,    25,     0,     0,   224,
1817 <     395,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1818 <       0,   127,     0,     0,     0,     0,     0,     0,     0,     0,
1819 <       0,     0,    83,    84,    86,    85,   707,     0,     0,     0,
1820 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1821 <       0,     0,     0,     0,     0,     0,   688,   706,   701,   689,
1822 <     690,   691,   692,   694,   695,   696,   697,   693,   698,   699,
1823 <     700,   702,   703,   704,   705,   243,     0,   225,   420,     0,
1824 <     396,     0,   480,     0,     0,   478,   479,     0,   556,     0,
1825 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1826 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1827 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1828 <       0,     0,   631,     0,   608,     0,     0,     0,     0,     0,
1829 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1830 <       0,     0,     0,     0,     0,     0,   499,   555,   550,   551,
1831 <     548,   552,   553,   549,   510,   500,   501,   539,   502,   503,
1832 <     504,   505,   506,   507,   508,   509,   544,   511,   512,   513,
1833 <     514,   554,   516,   521,   517,   519,   518,   533,   534,   520,
1834 <     522,   523,   524,   525,   527,   526,   515,   529,   538,   540,
1835 <     541,   530,   531,   546,   547,   543,   532,   528,   536,   537,
1836 <     535,   542,   545,     0,     0,     0,     0,     0,     0,     0,
1837 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1838 <       0,    93,    94,    95,    98,   105,    99,   103,   100,   101,
1839 <     104,   102,    96,    97,     0,     0,     0,     0,    42,    43,
1840 <      44,   155,     0,   128,     0,   736,     0,     0,     0,     0,
1841 <       0,     0,     0,     0,   728,   729,   730,   734,   731,   733,
1842 <     732,   735,     0,     0,     0,     0,     0,     0,     0,     0,
1843 <      64,     0,     0,     0,     0,     0,    50,    62,    61,    58,
1844 <      51,    60,    54,    55,    56,    52,    59,    57,    53,     0,
1845 <       0,    87,     0,     0,     0,     0,    82,     0,     0,     0,
1600 >      20,    22,    21,     7,    12,    24,    25,     0,     0,     0,
1601         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1847       0,     0,     0,     0,     0,     0,   687,     0,     0,   473,
1848       0,     0,     0,   470,   471,   472,     0,     0,   477,   494,
1849       0,     0,   484,   493,     0,   490,   491,   492,     0,     0,
1602         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1603 +       0,     0,    92,    93,    95,    94,   597,     0,     0,     0,
1604         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1605 +       0,     0,   582,   596,   592,   584,   585,   586,   587,   588,
1606 +     583,   589,   590,   591,   593,   594,   595,     0,     0,     0,
1607 +     413,     0,     0,   411,   412,     0,   482,     0,     0,     0,
1608         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1609         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1610 +       0,     0,     0,     0,     0,     0,   553,     0,   529,     0,
1611         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1612 <       0,     0,     0,     0,     0,   498,   669,   680,     0,     0,
1613 <     672,     0,     0,     0,   662,   663,   664,   665,   666,   667,
1614 <     668,     0,     0,     0,     0,     0,   306,     0,     0,     0,
1615 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   283,
1616 <     284,   285,   294,   286,   299,   287,   288,   289,   290,   297,
1617 <     291,   292,   293,   295,   296,   298,   464,     0,   454,     0,
1618 <     463,     0,   460,   461,   462,     0,   258,     0,     0,     0,
1619 <     268,     0,   266,   267,   269,   270,   106,     0,     0,     0,
1612 >       0,     0,     0,     0,     0,     0,     0,   432,   480,   474,
1613 >     475,   476,   477,   478,   473,   443,   433,   434,   468,   435,
1614 >     436,   437,   438,   439,   440,   441,   442,   470,   444,   445,
1615 >     479,   447,   452,   448,   450,   449,   463,   464,   451,   453,
1616 >     454,   455,   456,   457,   446,   459,   460,   461,   481,   471,
1617 >     472,   469,   462,   458,   466,   467,   465,     0,     0,     0,
1618 >       0,     0,     0,   102,   103,   104,     0,     0,     0,     0,
1619 >       0,    42,    43,    44,     0,     0,   621,     0,     0,     0,
1620 >       0,     0,     0,     0,   614,   615,   616,   619,   617,   618,
1621 >     620,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1622 >       0,     0,     0,     0,     0,     0,     0,     0,    50,    63,
1623 >      64,    62,    59,    58,    65,    51,    61,    54,    55,    56,
1624 >      52,    60,    57,    53,     0,     0,   300,     0,     0,   298,
1625 >     299,    96,     0,     0,     0,     0,    91,     0,     0,     0,
1626         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1627 <      92,    45,     0,     0,     0,    41,     0,     0,     0,     0,
1628 <       0,     0,   337,   338,   339,   340,     0,     0,     0,     0,
1629 <       0,     0,     0,     0,   727,    63,     0,     0,     0,     0,
1630 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    49,
1631 <       0,     0,   355,     0,     0,   348,   349,   350,   351,     0,
1632 <       0,   378,     0,   373,   374,   375,     0,     0,     0,    81,
1633 <       0,     0,     0,     0,     0,    26,     0,     0,     0,     0,
1634 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   686,
1627 >       0,     0,   581,     0,     0,     0,     0,     0,     0,     0,
1628 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   198,
1629 >     199,   202,   203,   205,   206,   207,   208,   209,   210,   211,
1630 >     212,   200,   201,   204,     0,     0,     0,     0,     0,   374,
1631 >       0,     0,     0,     0,     0,     0,     0,     0,     0,   351,
1632 >     352,   353,   354,   355,   356,   358,   357,   360,   364,   361,
1633 >     362,   363,   359,   406,     0,     0,     0,   403,   404,   405,
1634 >       0,     0,   410,   427,     0,     0,   417,   426,     0,   423,
1635 >     424,   425,     0,     0,     0,     0,     0,     0,     0,     0,
1636         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1873       0,     0,     0,     0,     0,   227,   228,   231,   232,   234,
1874     235,   236,   237,   238,   239,   240,   229,   230,   233,     0,
1875       0,     0,     0,     0,     0,     0,     0,     0,     0,   429,
1637         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1877     398,   399,   400,   401,   402,   403,   405,   404,   406,   407,
1878     415,   412,   414,   413,   411,   417,   408,   409,   410,   416,
1879       0,     0,     0,   469,     0,   476,     0,     0,     0,     0,
1880     489,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1638         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1639         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1640 +       0,     0,   431,     0,     0,     0,   269,     0,     0,     0,
1641 +       0,     0,     0,   255,   256,   257,   258,   263,   259,   260,
1642 +     261,   262,   397,     0,   387,     0,   396,     0,   393,   394,
1643 +     395,     0,   230,     0,     0,     0,   240,     0,   238,   239,
1644 +     241,   242,   105,     0,     0,   101,     0,    45,     0,     0,
1645 +       0,    41,     0,     0,     0,   172,     0,     0,     0,   148,
1646 +       0,     0,   132,   133,   134,   135,   138,   139,   137,   136,
1647 +     140,     0,     0,     0,     0,     0,   288,   289,   290,   291,
1648 +       0,     0,     0,     0,     0,     0,     0,   613,    66,     0,
1649         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1650 +       0,     0,     0,     0,     0,    49,     0,     0,   312,     0,
1651 +       0,   305,   306,   307,   308,     0,     0,   334,     0,   329,
1652 +     330,   331,     0,     0,   297,     0,     0,     0,    90,     0,
1653 +       0,     0,    26,     0,     0,     0,     0,     0,     0,     0,
1654 +       0,     0,     0,     0,   580,   213,     0,     0,     0,     0,
1655         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1656 <       0,     0,     0,    34,     0,     0,     0,     0,     0,     0,
1657 <     497,     0,     0,     0,     0,     0,     0,     0,   661,   300,
1656 >       0,   197,   365,     0,     0,     0,     0,     0,     0,     0,
1657 >       0,     0,     0,     0,     0,     0,     0,   350,     0,     0,
1658 >       0,   402,     0,   409,     0,     0,     0,     0,   422,     0,
1659         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1888       0,     0,     0,     0,     0,     0,     0,   282,     0,     0,
1889       0,     0,   459,   271,     0,     0,     0,     0,     0,   265,
1660         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1891       0,     0,     0,     0,     0,     0,     0,     0,    91,     0,
1892       0,    40,     0,     0,     0,     0,     0,   198,     0,     0,
1661         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1894       0,   161,     0,     0,     0,     0,   130,   131,   132,   133,
1895     150,   151,   137,   136,   138,   139,   145,   140,   141,   142,
1896     143,   144,   146,   147,   148,   134,   135,   149,   152,   341,
1897       0,     0,     0,     0,   336,     0,     0,     0,     0,     0,
1898       0,     0,   726,     0,     0,     0,     0,     0,     0,     0,
1899       0,     0,     0,     0,     0,    48,   352,     0,     0,     0,
1900       0,   347,   376,     0,     0,     0,   372,    90,    89,    88,
1901     723,   720,   719,   708,   710,    26,    26,    26,    26,    26,
1902      28,    27,   714,   715,   718,   716,   721,   722,   724,   725,
1903     717,   709,   711,   712,   713,   241,     0,     0,     0,     0,
1662         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1905     226,   418,     0,     0,     0,     0,     0,     0,     0,     0,
1663         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1664 <       0,     0,   397,     0,     0,   468,   481,     0,     0,     0,
1665 <     483,   569,   573,   560,   589,   602,   601,   656,   606,   567,
1666 <     658,   598,   604,   568,   558,   559,   576,   565,   597,   566,
1667 <     579,   564,   578,   577,   572,   571,   570,   599,   557,   596,
1668 <     654,   655,   593,   590,   635,   651,   652,   636,   637,   638,
1669 <     639,   646,   640,   649,   653,   642,   647,   643,   648,   641,
1670 <     645,   644,   650,     0,   634,   595,   612,   628,   629,   613,
1671 <     614,   615,   616,   623,   617,   626,   630,   619,   624,   620,
1672 <     625,   618,   622,   621,   627,     0,   611,   588,   591,   605,
1673 <     562,   600,   563,   592,   581,   586,   587,   584,   585,   582,
1674 <     583,   575,   574,    34,    34,    34,    36,    35,   657,   607,
1675 <     594,   603,   561,   580,     0,     0,     0,     0,     0,     0,
1676 <     660,     0,     0,     0,     0,   312,     0,     0,     0,     0,
1920 <       0,     0,     0,     0,     0,     0,     0,   281,     0,     0,
1921 <       0,   453,     0,     0,     0,   276,   272,   275,   257,   110,
1922 <     116,   114,   113,   115,   111,   112,   109,   117,   123,   118,
1923 <     122,   120,   121,   119,   108,   107,   124,    46,    47,   153,
1664 >     430,   264,     0,     0,     0,     0,     0,     0,     0,     0,
1665 >       0,   254,     0,     0,     0,     0,   392,   243,     0,     0,
1666 >       0,     0,     0,   237,     0,   100,     0,     0,     0,    40,
1667 >     141,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1668 >     131,   292,     0,     0,     0,     0,   287,     0,     0,     0,
1669 >       0,     0,     0,   612,     0,     0,     0,     0,     0,     0,
1670 >       0,     0,    71,    72,     0,    70,    75,    76,     0,    74,
1671 >       0,     0,     0,     0,     0,    48,   309,     0,     0,     0,
1672 >       0,   304,   332,     0,     0,     0,   328,     0,   296,    99,
1673 >      98,    97,   607,   606,   598,    26,    26,    26,    26,    26,
1674 >      28,    27,   600,   601,   605,   603,   602,   608,   609,   610,
1675 >     611,   604,   599,     0,     0,     0,     0,     0,     0,     0,
1676 >       0,     0,     0,     0,     0,    34,     0,     0,   196,     0,
1677         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1678 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1679 <       0,     0,     0,   129,     0,     0,     0,   335,   742,   737,
1680 <     741,   739,   743,   738,   740,    74,    80,    72,    76,    75,
1681 <      71,    70,    68,    69,     0,    67,    73,    79,    77,    78,
1682 <       0,     0,     0,   346,     0,     0,   371,    29,    30,    31,
1683 <      32,    33,     0,     0,     0,     0,     0,     0,     0,     0,
1684 <       0,     0,     0,     0,     0,   223,     0,     0,     0,     0,
1685 <       0,     0,     0,     0,     0,     0,   435,     0,     0,     0,
1686 <       0,     0,     0,     0,     0,     0,   394,   474,   475,   495,
1687 <     496,   488,     0,   487,   632,     0,   609,     0,    37,    38,
1688 <      39,   685,   684,     0,   683,   671,   670,   677,   676,     0,
1689 <     675,   679,   678,   327,   304,   305,   326,   310,     0,   309,
1690 <       0,   329,   325,   324,   333,   328,   302,   332,   331,   330,
1691 <     303,   301,   466,   458,     0,   457,   465,   263,   264,   262,
1692 <       0,   261,   279,   278,     0,     0,     0,     0,     0,     0,
1693 <       0,   204,     0,     0,     0,     0,     0,     0,     0,     0,
1694 <       0,     0,     0,     0,     0,     0,     0,     0,     0,   126,
1695 <     343,   344,   342,    65,     0,   353,   359,   365,   369,   368,
1696 <     367,   364,   360,   363,   366,   361,   362,     0,   358,   354,
1697 <     377,   382,   388,   392,   391,   390,   387,   383,   386,   389,
1698 <     384,   385,     0,   381,   253,   254,   247,   249,   251,   250,
1699 <     248,   242,   255,   246,   244,   245,   252,   424,   426,   427,
1700 <     446,   451,   450,   445,   444,   443,   428,   433,     0,   432,
1701 <       0,   421,   448,   449,   419,   425,   442,   423,   447,   422,
1702 <     485,     0,   633,   610,   681,     0,   673,     0,     0,   307,
1703 <     312,   318,   319,   315,   321,   317,   316,   323,   320,   322,
1704 <     314,   313,   455,     0,   259,     0,   277,   274,   273,   194,
1705 <     160,   192,   158,   202,     0,   201,     0,   190,   184,   195,
1706 <     196,   187,   154,   191,   157,   193,   185,   186,   159,   197,
1707 <     165,   181,   182,   166,   167,   168,   169,   176,   170,   179,
1708 <     183,   172,   177,   173,   178,   171,   175,   174,   180,     0,
1709 <     164,   189,   156,   188,    66,   356,     0,   379,     0,     0,
1710 <     430,   435,   439,   440,   437,   438,   441,   436,   486,   682,
1711 <     674,   311,   308,   456,   260,     0,   199,   204,   214,   212,
1712 <     221,   211,   206,   215,   219,   208,   216,   218,   213,   207,
1713 <     220,   217,   209,   210,   205,   162,     0,   357,   380,   434,
1714 <     431,   203,   200,   163
1678 >       0,     0,     0,   349,     0,     0,   401,   414,     0,     0,
1679 >       0,   416,   495,   499,   513,   579,   527,   493,   521,   524,
1680 >     494,   485,   484,   486,   487,   488,   502,   491,   492,   503,
1681 >     490,   498,   497,   496,   522,   483,   520,   577,   578,   517,
1682 >     514,   564,   557,   574,   575,   558,   559,   560,   561,   569,
1683 >     562,   572,   576,   565,   570,   566,   571,   563,   568,   567,
1684 >     573,     0,   556,   519,   539,   533,   550,   551,   534,   535,
1685 >     536,   537,   545,   538,   548,   552,   541,   546,   542,   547,
1686 >     540,   544,   543,   549,     0,   532,   512,   515,   526,   489,
1687 >     516,   505,   510,   511,   508,   509,   506,   507,   501,   500,
1688 >     525,   528,   518,   523,   504,     0,     0,     0,     0,     0,
1689 >       0,     0,     0,   253,     0,     0,     0,   386,     0,     0,
1690 >       0,   248,   244,   247,   229,   106,     0,     0,   118,     0,
1691 >       0,   110,   111,   113,   112,    46,    47,     0,     0,     0,
1692 >       0,     0,     0,     0,     0,   130,     0,     0,     0,   286,
1693 >     622,   626,   624,   627,   623,   625,    83,    89,    81,    85,
1694 >      84,    78,    77,    79,    67,     0,    68,     0,    82,    80,
1695 >      88,    86,    87,     0,     0,     0,   303,     0,     0,   327,
1696 >     301,    29,    30,    31,    32,    33,   225,   226,   218,   220,
1697 >     222,   221,   219,   214,   227,   217,   215,   216,    34,    34,
1698 >      34,    36,    35,   223,   224,   370,   372,   373,   383,   380,
1699 >     378,   379,     0,   377,   367,   381,   382,   366,   371,   369,
1700 >     384,   368,   407,   408,   428,   429,   421,     0,   420,   554,
1701 >       0,   530,     0,   267,   268,   277,   274,   279,   276,   275,
1702 >     281,   278,   280,   273,     0,   272,   266,   284,   283,   282,
1703 >     265,   399,   391,     0,   390,   398,   235,   236,   234,     0,
1704 >     233,   251,   250,     0,     0,     0,   114,     0,     0,     0,
1705 >       0,   109,   147,   145,   187,   184,   183,   176,   178,   194,
1706 >     188,   191,   186,   177,   192,   180,   189,   193,   181,   190,
1707 >     185,   179,   182,     0,   175,   142,   144,   146,   158,   152,
1708 >     169,   170,   153,   154,   155,   156,   164,   157,   167,   171,
1709 >     160,   165,   161,   166,   159,   163,   162,   168,     0,   151,
1710 >     143,   294,   295,   293,    69,    73,   310,   316,   322,   325,
1711 >     318,   324,   319,   323,   321,   317,   320,     0,   315,   311,
1712 >     333,   338,   344,   347,   340,   346,   341,   345,   343,   339,
1713 >     342,     0,   337,    37,    38,    39,   375,     0,   418,     0,
1714 >     555,   531,   270,     0,   388,     0,   231,     0,   249,   246,
1715 >     245,     0,     0,     0,     0,   108,   173,     0,   149,     0,
1716 >     313,     0,   335,     0,   376,   419,   271,   389,   232,   115,
1717 >     124,   127,   126,   123,   128,   125,   122,     0,   121,   117,
1718 >     116,   174,   150,   314,   336,   119,     0,   120
1719   };
1720  
1721   /* YYDEFGOTO[NTERM-NUM].  */
1722   static const yytype_int16 yydefgoto[] =
1723   {
1724 <      -1,     1,    24,   900,   901,  1056,  1057,    25,   277,   278,
1725 <     279,   280,    26,   315,   316,   317,   553,  1164,  1165,   318,
1726 <     319,   320,   321,   322,   323,   324,   325,   326,   327,   328,
1727 <      27,    71,    72,    73,    74,    75,    28,   260,   261,   262,
1728 <     263,   264,   265,   266,   267,   268,   269,   270,   271,   272,
1729 <     273,    29,    61,   282,   825,   826,   827,   283,   828,   829,
1730 <     830,   831,   832,   833,  1138,  1439,  1440,   834,   835,   836,
1731 <     837,   838,   839,   840,   841,   842,   843,   844,   845,   846,
1732 <     847,   848,  1124,  1404,  1405,  1465,  1406,  1484,    30,    49,
1733 <     116,   614,   615,   616,   117,   617,   618,   619,   620,   621,
1734 <     622,   623,   624,   625,   626,   627,   628,    31,    58,   500,
1735 <     774,  1270,  1271,   501,   502,   503,  1276,  1096,  1097,   504,
1736 <     505,    32,    56,   468,   469,   470,   471,   472,   473,   474,
1737 <     475,   754,  1248,  1249,  1378,  1250,  1391,   476,   477,   478,
1738 <     479,   480,   481,   482,   483,   484,   485,    33,    62,   531,
1739 <     532,   533,   534,   535,    34,    65,   564,   565,   566,   567,
1740 <     568,   878,  1317,  1318,    35,    66,   572,   573,   574,   575,
1741 <     884,  1332,  1333,    36,    50,   119,   649,   650,   651,   120,
1742 <     652,   653,   654,   655,   656,   657,   658,   659,   941,  1358,
1743 <    1359,  1449,  1360,  1457,   660,   661,   662,   663,   664,   665,
1744 <     666,   667,   668,   669,    37,    57,   490,   769,  1264,  1265,
1745 <     491,   492,   493,   494,    38,    51,   362,   363,   364,   365,
1746 <      39,   124,   125,   126,    40,    53,   373,   678,  1222,  1223,
1747 <     374,   375,   376,   377,    41,   185,   186,   187,   188,   189,
1748 <     190,   191,   192,   193,   194,   195,   196,   197,   198,   199,
1749 <     200,   201,   202,   203,   204,   205,   206,   207,   208,   209,
1750 <     210,   211,   212,   213,   214,   215,   216,   217,   218,   219,
1751 <     220,   221,   222,   223,   224,   225,   226,   227,   228,   229,
1752 <     230,   231,   232,   233,   234,   235,   236,   413,  1035,  1036,
1996 <     237,   411,  1013,  1014,   238,   239,   240,   241,   242,    42,
1997 <      55,   443,   444,   445,   446,   447,   744,  1239,  1240,   448,
1998 <     449,   450,   741,  1233,  1234,    43,    95,    96,    97,    98,
1999 <      99,   100,   101,   102,   103,   104,   105,   106,   107,   108,
2000 <     109,   110,   111,   112,   113,   114,    44,   293,   294,   295,
2001 <     296,   297,   298,   299,   300,   301
1724 >      -1,     1,    24,   780,   781,  1021,  1022,    25,   230,   231,
1725 >     232,   233,    26,   267,   268,   269,   270,   744,   745,   748,
1726 >     749,   271,   272,   273,   274,   275,   276,   277,   278,   279,
1727 >     280,   281,   282,   283,    27,    71,    72,    73,    74,    75,
1728 >      28,   222,   223,   224,   225,   226,   950,   951,   952,   953,
1729 >     954,  1088,  1217,  1218,    29,    60,   501,   502,   503,   504,
1730 >     505,   506,   507,   508,   509,   717,  1138,  1139,   510,   713,
1731 >    1113,  1114,    30,    49,   328,   329,   330,   331,   332,   333,
1732 >     334,   335,   336,   337,   338,   339,   340,   341,   342,   343,
1733 >      31,    57,   476,   698,  1079,  1080,   477,   478,   479,  1085,
1734 >     942,   943,   480,   481,    32,    55,   452,   453,   454,   455,
1735 >     456,   457,   458,   684,  1064,  1065,   459,   460,   461,    33,
1736 >      61,   515,   516,   517,   518,   519,    34,   288,   289,   290,
1737 >      35,    64,   550,   551,   552,   553,   554,   758,  1157,  1158,
1738 >      36,    65,   558,   559,   560,   561,   764,  1171,  1172,    37,
1739 >      50,   358,   359,   360,   361,   362,   363,   364,   365,   366,
1740 >     367,   607,  1032,  1033,   368,   369,   370,   371,   372,    38,
1741 >      56,   466,   693,  1073,  1074,   467,   468,   469,   470,    39,
1742 >      51,   376,   377,   378,   379,    40,   112,   113,   114,    41,
1743 >      53,   387,   626,  1047,  1048,   388,   389,   390,   391,    42,
1744 >     166,   167,   168,   169,   170,   171,   172,   173,   174,   175,
1745 >     176,   177,   178,   179,   180,   181,   182,   183,   184,   185,
1746 >     186,   187,   188,   189,   190,   191,   192,   193,   194,   195,
1747 >     196,   197,   198,   199,   200,   201,   202,   203,   204,   205,
1748 >     206,   207,   208,   209,   210,   211,   212,   423,   904,   905,
1749 >     213,   421,   881,   882,   214,   215,   216,    43,    91,    92,
1750 >      93,    94,    95,    96,    97,    98,    99,   100,   101,   102,
1751 >     103,   104,   105,   106,    44,   243,   244,   245,   246,   247,
1752 >     248,   249,   250
1753   };
1754  
1755   /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing
1756     STATE-NUM.  */
1757 < #define YYPACT_NINF -952
1757 > #define YYPACT_NINF -744
1758   static const yytype_int16 yypact[] =
1759   {
1760 <    -952,   888,  -952,  -233,  -260,  -258,  -952,  -952,  -952,  -255,
1761 <    -952,  -253,  -952,  -952,  -952,  -952,  -250,  -237,  -952,  -952,
1762 <    -228,  -226,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1763 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1764 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,   302,   766,  -136,
1765 <    -112,  -199,    17,  -193,   475,  -190,  -187,  -173,  -167,   702,
1766 <       2,   -46,  -149,   361,   520,  -140,  -134,  -130,  -121,  -102,
1767 <     -84,     4,  -952,  -952,  -952,  -952,  -952,   -82,   -77,   -62,
1768 <     -57,   -51,   -33,   -30,   -25,   -16,    -5,    -4,    20,    24,
1769 <      37,    40,    46,    49,    59,   286,  -952,  -952,  -952,  -952,
1770 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1771 <    -952,  -952,  -952,  -952,  -952,  -952,    36,  -952,  -952,    63,
1772 <    -952,    19,  -952,    70,     7,  -952,  -952,   159,  -952,    71,
1773 <      76,    79,    84,    91,    98,   104,   105,   107,   108,   109,
1774 <     112,   113,   114,   116,   117,   118,   121,   125,   126,   130,
1775 <     132,   136,   140,   142,   144,   146,   148,   153,   155,   157,
1776 <     161,   164,  -952,   165,  -952,   169,   170,   171,   172,   173,
1777 <     181,   184,   185,   194,   196,   198,   199,   200,   201,   204,
1778 <     206,   209,   210,   212,   213,    23,  -952,  -952,  -952,  -952,
1779 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1780 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1781 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1782 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1783 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1784 <    -952,  -952,  -952,   552,   784,    93,    88,   217,   215,   216,
1785 <     220,   224,   225,   226,   227,   231,   232,   234,   235,   239,
1786 <     133,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1787 <    -952,  -952,  -952,  -952,   243,   241,   245,    27,  -952,  -952,
1788 <    -952,  -952,   247,  -952,    25,  -952,   248,   250,   252,   259,
1789 <     260,   261,   266,    45,  -952,  -952,  -952,  -952,  -952,  -952,
1790 <    -952,  -952,   271,   269,   270,   272,   276,   278,   279,   280,
1791 <    -952,   281,   285,   289,   290,   303,  -952,  -952,  -952,  -952,
1792 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    56,
1793 <      62,  -952,   357,   381,   396,   296,  -952,   363,   434,   436,
1794 <     374,   375,   444,   444,   449,   450,   387,   390,   462,   444,
1795 <     397,   400,   403,   404,   405,   318,  -952,   634,   703,  -952,
1796 <     342,   343,    15,  -952,  -952,  -952,   454,   348,  -952,  -952,
1797 <     346,   353,  -952,  -952,   158,  -952,  -952,  -952,   414,   444,
1798 <     421,   444,   494,   476,   497,   433,   435,   437,   500,   483,
1799 <     440,   510,   513,   514,   451,   444,   452,   453,   516,   499,
1800 <     461,   529,   530,   444,   533,   542,   512,   543,   546,   481,
1801 <     482,   417,   484,   419,   444,   444,   486,   444,   536,   489,
1802 <     493,   495,  -150,  -141,   496,   498,   444,   444,   560,   444,
1803 <     501,   503,   509,   511,   455,  -952,  -952,  -952,   446,   456,
1804 <    -952,   457,   459,    44,  -952,  -952,  -952,  -952,  -952,  -952,
1805 <    -952,   463,   467,   468,   485,   487,  -952,   490,   506,   507,
1806 <     508,   519,   524,   526,   527,   531,   532,   544,   160,  -952,
1807 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1808 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,   548,  -952,   550,
1809 <    -952,    12,  -952,  -952,  -952,   465,  -952,   551,   553,   554,
1810 <    -952,    14,  -952,  -952,  -952,  -952,  -952,   557,   559,   561,
1811 <     564,   585,   586,   591,   592,   230,   596,   613,   577,   537,
1812 <    -952,  -952,   640,   643,   549,  -952,   574,   555,   556,   562,
1813 <     563,    32,  -952,  -952,  -952,  -952,   623,   630,   631,   665,
1814 <     632,   633,   444,   575,  -952,  -952,   681,   639,   685,   688,
1815 <     689,   690,   691,   582,   693,   565,   694,   695,   589,  -952,
1816 <     590,   593,  -952,   594,     9,  -952,  -952,  -952,  -952,   601,
1817 <     607,  -952,    33,  -952,  -952,  -952,   604,   614,   615,  -952,
1818 <     616,   619,   620,   624,   625,   189,   628,   629,   635,   636,
1819 <     637,   638,   641,   642,   644,   646,   647,   651,   654,  -952,
1820 <     656,   610,   618,   627,   655,   660,   661,   662,   663,   664,
1821 <     667,   669,   670,   671,   223,  -952,  -952,  -952,  -952,  -952,
1822 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   657,
1823 <     672,   673,   674,   676,   679,   680,   683,   684,   686,  -952,
1824 <     687,   696,   697,   699,   700,   701,   704,   705,   706,   238,
1825 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1826 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1827 <     730,   741,   659,  -952,   668,  -952,   746,   747,   707,   711,
1828 <    -952,   712,   713,   716,   717,   719,   720,   721,   722,   723,
1829 <     724,   725,   726,   727,   729,   731,   732,   733,   734,   735,
1830 <     736,   737,   738,   739,   740,   742,   743,   744,   745,   748,
1831 <     749,   750,   751,   752,   815,   753,   871,   754,   755,   767,
1832 <     771,   774,   775,   776,   777,   778,   779,   780,   781,   782,
1833 <     786,   790,   791,   315,   793,   794,   796,   797,   798,   800,
1834 <    -952,   799,   444,   756,   801,   795,   803,   805,  -952,  -952,
1835 <     760,   812,   769,   804,   807,   809,   864,   866,   869,   870,
1836 <     918,   566,   919,   927,   886,   934,   828,  -952,   937,   829,
1837 <     938,   833,  -952,  -952,   831,   942,   943,   772,   837,  -952,
1838 <     838,   842,   846,   847,   849,   850,   857,   860,   865,   867,
1839 <     868,   872,   873,   874,   875,   879,   883,   884,  -952,   887,
1840 <     889,  -952,   890,   861,   891,   892,   893,  -952,   894,   895,
1841 <     896,   897,   898,   899,   900,   901,   902,   903,   904,   905,
1842 <     906,  -952,   907,   909,   910,   149,  -952,  -952,  -952,  -952,
1843 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1844 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1845 <     976,   977,   978,   911,  -952,   914,   915,   916,   917,   920,
1846 <     921,   922,  -952,   923,   924,   925,   926,   928,   929,   930,
1847 <     -15,   931,   932,   933,   935,  -952,  -952,   993,   936,   998,
1848 <     940,  -952,  -952,   999,   939,   941,  -952,  -952,  -952,  -952,
1849 <    -952,  -952,  -952,  -952,  -952,   444,   444,   444,   444,   444,
1850 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1851 <    -952,  -952,  -952,  -952,  -952,  -952,   813,  1022,   444,  1047,
1852 <    1048,  1056,  1063,  1043,  1066,  1067,   444,   444,   560,   944,
1853 <    -952,  -952,  1050,   -13,  1008,  1053,  1054,  1011,  1012,  1013,
1854 <    1058,   949,  1060,  1061,  1062,  1064,  1085,  1065,  1068,  1023,
1855 <    1069,   959,  -952,   963,   964,  -952,  -952,   965,   966,  1070,
1856 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1857 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1858 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1859 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1860 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1861 <    -952,  -952,  -952,  -245,  -952,  -952,  -952,  -952,  -952,  -952,
1862 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1863 <    -952,  -952,  -952,  -952,  -952,  -202,  -952,  -952,  -952,  -952,
1864 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1865 <    -952,  -952,  -952,   560,   560,   560,  -952,  -952,  -952,  -952,
1866 <    -952,  -952,  -952,  -952,     1,   967,   969,    11,   970,   971,
1867 <    -952,   972,   973,   974,   975,  1106,   979,   980,   981,   982,
1868 <     983,   984,   985,   986,   987,   988,   989,  -952,   990,  1079,
1869 <     991,  -952,     0,   992,   994,   650,   995,  -952,  -952,  -952,
1870 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1871 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1872 <    1041,  1100,  1059,  1071,   997,  1072,  1073,  1074,  1075,  1076,
1873 <    1102,  1077,  1104,  1078,  1080,  1081,  1105,  1082,  1000,  1083,
1874 <    1108,  1084,  1002,  -952,  1004,  1005,  1006,  -952,  -952,  -952,
1875 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1876 <    -952,  -952,  -952,  -952,  -174,  -952,  -952,  -952,  -952,  -952,
1877 <    1007,   534,  1016,  -952,  1024,   621,  -952,  -952,  -952,  -952,
1878 <    -952,  -952,  1025,  1026,  1027,  1028,  1029,  1030,  1031,  1032,
1879 <    1033,  1034,  1035,  1036,  1037,  -952,  1038,  1039,  1040,  1042,
1880 <    1044,  1045,  1046,  1049,  1051,  1052,  1152,  1055,  1057,  1086,
1881 <    1087,  1088,  1089,  1090,  1091,  1092,  -952,  -952,  -952,  -952,
1882 <    -952,  -952,  -148,  -952,  -952,   815,  -952,   871,  -952,  -952,
2132 <    -952,  -952,  -952,  -145,  -952,  -952,  -952,  -952,  -952,  -129,
2133 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -117,  -952,
2134 <     447,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2135 <    -952,  -952,  -952,  -952,   -35,  -952,  -952,  -952,  -952,  -952,
2136 <     -10,  -952,  -952,  -952,  1170,   772,  1093,  1094,  1095,  1096,
2137 <    1097,  1153,  1098,  1099,  1101,  1103,  1107,  1109,  1110,  1111,
2138 <    1112,  1113,  1114,  1115,  1116,   908,  1117,  1118,  1119,  -952,
2139 <    -952,  -952,  -952,  -952,   -15,  -952,  -952,  -952,  -952,  -952,
2140 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,    -8,  -952,  -952,
2141 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2142 <    -952,  -952,    35,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2143 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2144 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    80,  -952,
2145 <      13,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2146 <    -952,  1070,  -952,  -952,  -952,     1,  -952,    11,   447,  -952,
2147 <    1106,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2148 <    -952,  -952,  -952,  1079,  -952,     0,  -952,  -952,  -952,  -952,
2149 <    -952,  -952,  -952,  -952,    89,  -952,   366,  -952,  -952,  -952,
2150 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2151 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2152 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,    95,
2153 <    -952,  -952,  -952,  -952,  -952,  -952,   534,  -952,   621,    13,
2154 <    -952,  1152,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2155 <    -952,  -952,  -952,  -952,  -952,   366,  -952,  1153,  -952,  -952,
2156 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2157 <    -952,  -952,  -952,  -952,  -952,  -952,   908,  -952,  -952,  -952,
2158 <    -952,  -952,  -952,  -952
1760 >    -744,   610,  -744,  -209,  -187,  -179,  -744,  -744,  -744,  -176,
1761 >    -744,  -171,  -744,  -744,  -744,  -166,  -164,  -744,  -744,  -139,
1762 >    -136,  -744,  -744,  -131,  -744,  -744,  -744,  -744,  -744,  -744,
1763 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1764 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,    61,   807,  -126,
1765 >    -104,   -84,    16,   -79,   382,   -77,   -63,   -60,     7,    21,
1766 >     -49,   -40,   638,   381,   -26,    52,    25,  -152,    62,    85,
1767 >      86,    18,  -744,  -744,  -744,  -744,  -744,    88,    89,    93,
1768 >      94,    96,   101,   108,   112,   118,   119,   125,   127,   132,
1769 >     133,   162,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1770 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,   531,   499,   266,
1771 >    -744,   135,    28,  -744,  -744,    11,  -744,   142,   143,   145,
1772 >     147,   148,   150,   153,   163,   166,   167,   169,   173,   174,
1773 >     175,   177,   178,   180,   182,   183,   185,   191,   197,   200,
1774 >     201,   202,   204,   211,   212,   215,  -744,   216,  -744,   217,
1775 >     218,   221,   222,   225,   226,   229,   234,   235,   237,   238,
1776 >     239,   242,   253,   256,   257,   262,    38,  -744,  -744,  -744,
1777 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1778 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1779 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1780 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1781 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,   337,    24,   259,
1782 >      73,   263,     4,  -744,  -744,  -744,   126,   131,   264,   270,
1783 >      59,  -744,  -744,  -744,   389,   209,  -744,   276,   279,   280,
1784 >     281,   285,   287,     3,  -744,  -744,  -744,  -744,  -744,  -744,
1785 >    -744,   149,   288,   289,   290,   292,   299,   301,   302,   303,
1786 >     304,   305,   307,   308,   315,   324,   330,    75,  -744,  -744,
1787 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1788 >    -744,  -744,  -744,  -744,   208,    30,  -744,   331,    15,  -744,
1789 >    -744,  -744,   107,   254,   359,   165,  -744,   385,   396,   367,
1790 >     454,   454,   455,   457,   461,   399,   401,   464,   454,   404,
1791 >     405,   351,  -744,   358,   356,   360,   361,   362,   364,   365,
1792 >     369,   374,   375,   379,   383,   386,   388,   395,   232,  -744,
1793 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1794 >    -744,  -744,  -744,  -744,   384,   397,   400,   403,   408,  -744,
1795 >     411,   412,   420,   423,   424,   427,   433,   434,   260,  -744,
1796 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1797 >    -744,  -744,  -744,  -744,   435,   437,     8,  -744,  -744,  -744,
1798 >     458,   407,  -744,  -744,   441,   442,  -744,  -744,    36,  -744,
1799 >    -744,  -744,   417,   454,   454,   501,   443,   459,   524,   543,
1800 >     502,   454,   503,   454,   565,   567,   568,   508,   509,   513,
1801 >     454,   577,   578,   454,   580,   583,   566,   584,   587,   527,
1802 >     528,   475,   535,   478,   454,   454,   537,   540,   541,   542,
1803 >    -146,  -133,   544,   546,   454,   454,   585,   454,   550,   553,
1804 >     554,   510,  -744,   515,   514,   517,  -744,   519,   521,   525,
1805 >     529,   530,    58,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1806 >    -744,  -744,  -744,   533,  -744,   534,  -744,    10,  -744,  -744,
1807 >    -744,   538,  -744,   536,   539,   545,  -744,   115,  -744,  -744,
1808 >    -744,  -744,  -744,   582,   547,  -744,   532,  -744,   640,   643,
1809 >     549,  -744,   555,   559,   560,  -744,   562,   569,   572,  -744,
1810 >     573,    70,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1811 >    -744,   558,   588,   595,   597,   146,  -744,  -744,  -744,  -744,
1812 >     623,   625,   687,   658,   659,   454,   606,  -744,  -744,   704,
1813 >     663,   706,   707,   709,   713,   714,   715,    79,   159,   717,
1814 >     718,   646,   719,   720,   626,  -744,   628,   622,  -744,   624,
1815 >     128,  -744,  -744,  -744,  -744,   629,   630,  -744,    22,  -744,
1816 >    -744,  -744,   728,   632,  -744,   634,   635,   636,  -744,   637,
1817 >     639,   641,   430,   642,   645,   648,   649,   650,   651,   652,
1818 >     653,   654,   656,   657,  -744,  -744,   754,   756,   454,   759,
1819 >     776,   778,   779,   761,   784,   785,   454,   454,   786,   786,
1820 >     671,  -744,  -744,   769,   122,   770,   729,   672,   773,   774,
1821 >     775,   777,   795,   780,   781,   782,   681,  -744,   783,   787,
1822 >     682,  -744,   689,  -744,   788,   789,   690,   694,  -744,   695,
1823 >     696,   697,   698,   699,   702,   703,   705,   708,   710,   712,
1824 >     716,   721,   722,   723,   724,   725,   726,   727,   730,   731,
1825 >     732,   733,   734,   735,   736,   737,   738,   739,   551,   740,
1826 >     599,   741,   742,   743,   744,   745,   746,   747,   748,   749,
1827 >     750,   751,   752,   753,   755,   757,   758,   760,   762,   763,
1828 >    -744,  -744,   801,   764,   711,   803,   823,   810,   812,   814,
1829 >     765,  -744,   815,   766,   817,   767,  -744,  -744,   768,   825,
1830 >     826,   870,   772,  -744,   790,  -744,   184,   791,   792,  -744,
1831 >    -744,   853,   816,   771,   856,   861,   863,   793,   865,   794,
1832 >    -744,  -744,   867,   872,   873,   797,  -744,   798,   799,   800,
1833 >     802,   804,   805,  -744,   806,   808,   809,   811,   813,   818,
1834 >     819,   820,  -744,  -744,  -195,  -744,  -744,  -744,  -172,  -744,
1835 >     821,   822,   824,   827,   828,  -744,  -744,   874,   829,   875,
1836 >     830,  -744,  -744,   876,   831,   833,  -744,   835,  -744,  -744,
1837 >    -744,  -744,  -744,  -744,  -744,   454,   454,   454,   454,   454,
1838 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1839 >    -744,  -744,  -744,   836,   837,   838,   839,   840,   841,   842,
1840 >     843,   844,   845,   846,   847,   314,   848,   849,  -744,   850,
1841 >     851,   852,   854,   855,    13,   857,   858,   859,   860,   862,
1842 >     864,   866,   868,  -744,   869,   871,  -744,  -744,   877,   878,
1843 >     879,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1844 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1845 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1846 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1847 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1848 >    -744,  -167,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1849 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1850 >    -744,  -744,  -744,  -744,  -154,  -744,  -744,  -744,  -744,  -744,
1851 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1852 >    -744,  -744,  -744,  -744,  -744,   880,   881,   309,   882,   883,
1853 >     884,   885,   886,  -744,   887,   893,   888,  -744,   -33,   889,
1854 >     890,   832,   891,  -744,  -744,  -744,   892,   894,  -744,   895,
1855 >     154,  -744,  -744,  -744,  -744,  -744,  -744,   896,   899,   511,
1856 >     900,   901,   902,   627,   903,  -744,   904,   905,   906,  -744,
1857 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1858 >    -744,  -744,  -744,  -744,  -744,    79,  -744,   159,  -744,  -744,
1859 >    -744,  -744,  -744,   907,   460,   908,  -744,   909,   665,  -744,
1860 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1861 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,   786,   786,
1862 >     786,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1863 >    -744,  -744,  -145,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1864 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,   -50,  -744,  -744,
1865 >     551,  -744,   599,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1866 >    -744,  -744,  -744,  -744,   -41,  -744,  -744,  -744,  -744,  -744,
1867 >    -744,  -744,  -744,   -27,  -744,  -744,  -744,  -744,  -744,   -17,
1868 >    -744,  -744,  -744,   898,   870,   910,  -744,   911,   912,   -86,
1869 >     913,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1870 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1871 >    -744,  -744,  -744,    34,  -744,  -744,  -744,  -744,  -744,  -744,
1872 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1873 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,    40,  -744,
1874 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1875 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,    53,  -744,  -744,
1876 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1877 >    -744,    63,  -744,  -744,  -744,  -744,  -744,    13,  -744,   879,
1878 >    -744,  -744,  -744,   309,  -744,   893,  -744,   -33,  -744,  -744,
1879 >    -744,   914,   277,   916,   917,  -744,  -744,   511,  -744,   627,
1880 >    -744,   460,  -744,   665,  -744,  -744,  -744,  -744,  -744,  -744,
1881 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,    68,  -744,  -744,
1882 >    -744,  -744,  -744,  -744,  -744,  -744,   277,  -744
1883   };
1884  
1885   /* YYPGOTO[NTERM-NUM].  */
1886   static const yytype_int16 yypgoto[] =
1887   {
1888 <    -952,  -952,  -952,  -816,  -342,  -951,  -426,  -952,  -952,   578,
1889 <    -952,  -952,  -952,  -952,   541,  -952,  -952,  -952,     5,  -952,
1890 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1891 <    -952,  -952,  1234,  -952,  -952,  -952,  -952,  -952,  1122,  -952,
1892 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1893 <    -952,  -952,  -952,  -952,  -952,   491,  -952,  -952,  -952,  -952,
1894 <    -952,  -952,  -952,  -952,  -952,  -952,  -176,  -952,  -952,  -952,
1895 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1896 <    -952,  -952,  -952,  -952,  -155,  -952,  -952,  -147,  -952,  -952,
1897 <    -952,  -952,   708,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1898 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1899 <    -952,  -952,   -80,  -952,   819,  -952,  -952,  -952,    48,  -952,
1900 <    -952,  -952,  -952,  -952,   853,  -952,  -952,  -952,  -952,  -952,
1901 <    -952,  -952,  -952,   -56,  -952,  -952,   -53,  -952,  -952,  -952,
1902 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1903 <     802,  -952,  -952,  -952,  -952,  -952,  -952,   762,  -952,  -952,
1904 <    -952,  -952,  -952,  -119,  -952,  -952,  -952,   757,  -952,  -952,
1905 <    -952,  -952,  -120,  -952,  -952,  -952,  -952,   682,  -952,  -952,
1906 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1907 <    -116,  -952,  -952,  -115,  -952,  -952,  -952,  -952,  -952,  -952,
1908 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   -63,
1909 <    -952,   841,  -952,  -952,  -952,  -952,  -952,  1021,  -952,  -952,
1910 <    -952,  -952,  1212,  -952,  -952,  -952,  -952,  -952,  -952,   -34,
1911 <    -952,   968,  -952,  -952,  -952,  -952,  1154,  -952,  -952,  -952,
1912 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1913 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1914 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1915 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
1916 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,   111,
2193 <    -952,  -952,  -952,   115,  -952,  -952,  -952,  -952,  -952,  -952,
2194 <    -952,  -952,   945,  -952,  -952,  -952,  -952,  -952,   -36,  -952,
2195 <    -952,  -952,  -952,  -952,   -32,  -952,  -952,  1249,  -952,  -952,
2196 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,
2197 <    -952,  -952,  -952,  -952,  -952,  -952,  -952,  -952,  1120,  -952,
2198 <    -952,  -952,  -952,  -952,  -952,  -952
1888 >    -744,  -744,  -744,  -743,  -298,  -663,  -598,  -744,  -744,   897,
1889 >    -744,  -744,  -744,  -744,   915,  -744,  -744,  -744,    14,  -744,
1890 >       1,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1891 >    -744,  -744,  -744,  -744,  -744,  -744,   924,  -744,  -744,  -744,
1892 >    -744,  -744,   796,  -744,  -744,  -744,  -744,    48,  -744,  -744,
1893 >    -744,  -744,  -744,  -226,  -744,  -744,  -744,   500,  -744,  -744,
1894 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -196,  -744,  -744,
1895 >    -744,  -193,  -744,  -744,  -744,   680,  -744,  -744,  -744,  -744,
1896 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1897 >    -744,  -744,  -744,  -744,  -744,  -177,  -744,   548,  -744,  -744,
1898 >    -744,   -62,  -744,  -744,  -744,  -744,  -744,   575,  -744,  -744,
1899 >    -744,  -744,  -744,  -744,  -744,  -153,  -744,  -744,  -744,  -744,
1900 >    -744,  -744,   516,  -744,  -744,  -744,  -744,  -744,   918,  -744,
1901 >    -744,  -744,  -744,   482,  -744,  -744,  -744,  -744,  -744,  -163,
1902 >    -744,  -744,  -744,   483,  -744,  -744,  -744,  -744,  -159,  -744,
1903 >    -744,  -744,   688,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1904 >    -744,  -744,  -744,  -137,  -744,  -744,  -744,  -744,  -744,  -744,
1905 >    -744,  -744,  -744,  -744,  -117,  -744,   604,  -744,  -744,  -744,
1906 >    -744,  -744,   700,  -744,  -744,  -744,  -744,   966,  -744,  -744,
1907 >    -744,  -744,  -744,  -744,   -99,  -744,   701,  -744,  -744,  -744,
1908 >    -744,   919,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1909 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1910 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1911 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1912 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,    35,
1913 >    -744,  -744,  -744,    32,  -744,  -744,  -744,  -744,  -744,   997,
1914 >    -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,  -744,
1915 >    -744,  -744,  -744,  -744,  -744,  -744,   920,  -744,  -744,  -744,
1916 >    -744,  -744,  -744
1917   };
1918  
1919   /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If
1920     positive, shift that token.  If negative, reduce the rule which
1921 <   number is the opposite.  If zero, do what YYDEFACT says.
1922 <   If YYTABLE_NINF, syntax error.  */
1923 < #define YYTABLE_NINF -1
2206 < static const yytype_uint16 yytable[] =
1921 >   number is the opposite.  If YYTABLE_NINF, syntax error.  */
1922 > #define YYTABLE_NINF -108
1923 > static const yytype_int16 yytable[] =
1924   {
1925 <     586,   587,   734,   274,    47,    67,    48,   593,   122,    52,
1926 <     560,    54,  1231,   486,    59,   495,   359,  1224,   122,   115,
1927 <     359,  1225,  1237,  1452,   128,  1453,   527,    60,   274,    45,
1928 <      46,   129,   130,   527,   569,   131,    63,   682,    64,   684,
1929 <    1454,    68,   132,   118,  1455,   436,   285,   528,   437,   725,
1930 <     726,   133,    69,   698,   528,   134,   135,   560,   727,   728,
1931 <    1226,   706,   136,   569,  1227,   121,   137,   138,   139,   496,
1932 <     140,   127,   717,   718,   243,   720,   141,   244,  1267,  1177,
1933 <    1178,  1179,  1180,  1181,   731,   732,   286,   735,  1303,   495,
1934 <     438,   245,  1304,   439,   486,   142,   143,   246,   123,   497,
1935 <     144,   287,  1228,  1229,  1230,   498,   360,   145,   123,   281,
1936 <     360,   146,   147,   148,  1370,   284,   149,  1374,  1371,   150,
1937 <     151,  1375,   275,   288,   329,   289,    70,   290,   291,   152,
1938 <     330,   561,   331,  1376,   247,   153,   154,  1377,   155,   156,
1939 <     157,   158,   159,   496,   332,  1379,   292,   275,   440,  1380,
1940 <     802,   529,   276,   160,   803,   570,  1162,  1163,   529,   369,
1941 <     369,   451,   161,   333,   162,   163,   441,   164,   499,   487,
1942 <     165,   166,   361,   497,   167,   804,   361,   276,   561,   498,
1943 <     452,   334,   530,   337,   570,   168,   453,   805,   338,   530,
1944 <     248,   249,   250,   251,   252,   253,   254,   255,   562,   806,
1945 <     861,   488,  1232,   339,   807,  1197,  1198,   169,   340,   170,
1946 <     454,   455,  1238,   171,   341,   456,   808,   172,   173,   174,
1947 <     175,   176,   571,   809,   600,   177,   178,  1392,   810,   457,
1948 <     811,  1393,   342,  1268,   179,   343,   458,  1269,   256,   629,
1949 <     344,   630,   499,   812,   631,   562,   601,   602,   632,   345,
1950 <     487,   571,  1394,   603,  1445,   459,  1395,  1456,  1446,   563,
1951 <     346,   347,   489,   633,   634,   635,   180,   335,   181,   636,
1952 <     367,   813,   880,   257,   182,   771,   814,   778,   672,   183,
1953 <     370,   370,   488,   460,   184,   348,   434,    76,   637,   349,
1954 <     524,   461,   638,   639,   442,   853,   885,  1447,   815,    77,
1955 <     357,  1448,   350,    67,   302,   351,   563,   747,   543,   462,
1956 <     816,   352,   817,   818,   353,   371,   371,   819,   463,   464,
1957 <      78,    79,   585,   640,   354,   641,    80,   358,    81,  1053,
1958 <    1054,  1055,   604,   605,   606,   366,   378,   607,   642,    68,
1959 <     303,   379,  1450,   489,   380,   608,  1451,   372,   372,   381,
1960 <      69,  1466,   465,   466,   258,  1467,   382,  1485,   609,   610,
1961 <     643,  1486,   285,   383,   895,   896,   897,   898,   899,   384,
1962 <     385,  1468,   386,   387,   388,   611,   612,   389,   390,   391,
1963 <     820,   392,   393,   394,    82,    83,   395,   821,   259,   304,
1964 <     396,   397,   644,    84,    85,   398,   519,   399,   822,   823,
1965 <    1065,   400,   286,   613,  1469,   401,   645,   402,   824,   403,
1966 <     467,   404,  1142,   405,    86,    87,  1470,   287,   406,   646,
1967 <     407,   679,   408,   766,    70,   305,   409,   306,   307,   410,
1968 <     412,    88,    89,  1471,   414,   415,   416,   417,   418,   288,
1969 <    1472,   289,    90,   290,   291,  1473,   419,  1474,   733,   420,
1970 <     421,    91,   788,   789,   790,   791,   792,   793,   794,   422,
1971 <    1475,   423,   292,   424,   425,   426,   427,  1381,  1382,   428,
1972 <     308,   429,   309,   310,   430,   431,   128,   432,   433,   506,
1973 <     507,   508,   647,   129,   130,   509,   929,   131,   311,   510,
1974 <     511,   512,   513,  1476,   132,   648,   514,   515,  1383,   516,
1975 <     517,   951,  1194,   133,   518,   521,   522,   134,   135,  1477,
1976 <     523,   526,   576,   536,   136,   537,  1384,   538,   137,   138,
1977 <     139,   302,   140,  1385,   539,   540,   541,  1478,   141,  1479,
1978 <    1480,   542,   312,   545,   546,   547,   577,   548,    92,    93,
1979 <      94,   549,  1386,   550,   551,   552,   554,   142,   143,   355,
1980 <     555,   578,   144,   436,   556,   557,   437,   303,   579,   145,
1981 <     313,   314,   580,   146,   147,   148,   558,   581,   149,   582,
1982 <    1387,   150,   151,   583,   584,   802,  1184,   585,  1388,   803,
1983 <     599,   152,   588,   589,  1192,  1193,   590,   153,   154,   591,
1984 <     155,   156,   157,   158,   159,   592,   594,  1481,   438,   595,
1985 <     804,   439,   596,   597,   598,   160,   304,   670,   671,   674,
1986 <     675,   676,   805,   681,   161,  1482,   162,   163,   677,   164,
1987 <     683,  1389,   165,   166,   806,  1483,   167,   685,  1306,   807,
1988 <     687,   686,   688,   691,   689,   600,   690,   168,   692,   693,
1989 <    1390,   808,   305,   694,   306,   307,   695,   696,   809,   701,
1990 <     697,   699,   700,   810,   702,   811,   440,   601,   602,   169,
1991 <     703,   170,   704,   705,   603,   171,   707,   709,   812,   172,
1992 <     173,   174,   175,   176,   441,   708,   710,   177,   178,   711,
1993 <     712,   713,   714,   715,   716,   719,   179,   308,   722,   309,
1994 <     310,   721,   723,   733,   724,   729,   813,   730,   872,  1082,
1995 <     736,   814,   737,   247,   629,   311,   630,  1307,   738,   631,
1996 <     739,   742,   780,   632,   781,  1321,   782,   740,   180,   783,
1997 <     181,   743,   745,   815,   746,   749,   182,   773,   633,   634,
1998 <     635,   183,   750,   751,   636,   816,   184,   817,   818,  1308,
1999 <     784,   785,   819,   604,   605,   606,   786,   787,   607,   312,
2000 <     752,   795,   753,   637,  1309,   755,   608,   638,   639,   248,
2001 <     249,   250,   251,   252,   253,   254,   255,    76,   796,   609,
2002 <     610,   756,   757,   758,  1310,  1311,   797,   313,   314,    77,
2003 <    1312,  1313,  1314,  1315,   759,   451,   611,   612,   640,   760,
2004 <     641,   761,   762,  1316,  1322,   799,   763,   764,   800,   798,
2005 <      78,    79,   442,   642,   452,   820,    80,   256,    81,   765,
2006 <     453,   801,   821,   768,   613,   770,   775,   849,   776,   777,
2007 <     858,   850,   855,   822,   823,   643,  1323,   851,   852,   856,
2008 <     857,   859,   860,   824,   454,   455,   863,   862,   864,   456,
2009 <     865,  1324,   257,   866,   867,   868,   869,   870,   871,   873,
2010 <     874,   875,   876,   457,  1274,   525,   559,   644,   877,   879,
2011 <     458,  1325,  1326,   882,    82,    83,   887,  1327,  1328,  1329,
2012 <    1330,   645,   883,    84,    85,   916,   888,   889,   890,   459,
2013 <    1331,   891,   892,   917,   646,   953,   893,   894,     2,     3,
2014 <     902,   903,   918,     4,    86,    87,   954,   904,   905,   906,
2015 <     907,   957,   958,   908,   909,  1095,   910,   460,   911,   912,
2016 <       5,    88,    89,   913,     6,   461,   914,     7,   915,   931,
2017 <     919,   955,    90,   258,     8,   920,   921,   922,   923,   924,
2018 <     956,    91,   925,   462,   926,   927,   928,   932,   933,   934,
2019 <       9,   935,   463,   464,   936,   937,  1182,   647,   938,   939,
2020 <    1068,   940,   942,    10,    11,  1066,    12,   259,  1069,  1071,
2021 <     648,   943,   944,    13,   945,   946,   947,  1072,  1073,   948,
2022 <     949,   950,   959,   960,   961,   962,   465,   466,   963,   964,
2023 <      14,   965,   966,   967,   968,   969,   970,   971,   972,   973,
2024 <      15,   974,    16,   975,   976,   977,   978,   979,   980,   981,
2025 <     982,   983,   984,  1074,   985,   986,   987,   988,  1076,    17,
2026 <     989,   990,   991,   992,   993,  1015,  1037,  1038,    92,    93,
2027 <      94,   994,   995,   996,   997,   998,    18,   999,  1000,  1039,
2028 <    1001,  1002,  1003,  1040,   467,  1004,  1041,  1042,  1043,  1044,
2029 <    1045,  1046,  1047,  1048,  1049,  1005,  1006,  1007,  1050,  1008,
2030 <    1009,  1010,  1051,  1052,  1011,  1058,  1059,  1012,  1060,  1061,
2031 <    1062,    19,  1063,  1077,  1064,  1078,  1067,  1070,  1079,  1080,
2032 <      20,    21,  1075,  1081,  1083,    22,    23,  1016,  1017,  1018,
2033 <    1019,  1020,  1084,  1021,  1022,  1085,  1023,  1024,  1025,  1086,
2034 <    1087,  1026,  1088,  1090,  1089,  1091,  1092,  1093,  1094,  1098,
2035 <    1099,  1027,  1028,  1029,  1100,  1030,  1031,  1032,  1101,  1102,
2036 <    1033,  1103,  1104,  1034,  1420,  1421,  1422,  1423,  1424,  1105,
2037 <    1425,  1426,  1106,  1427,  1428,  1429,  1120,  1107,  1430,  1108,
2038 <    1109,  1144,  1145,  1146,  1110,  1111,  1112,  1113,  1431,  1432,
2039 <    1433,  1114,  1434,  1435,  1436,  1115,  1116,  1437,  1170,  1117,
2040 <    1438,  1118,  1119,  1172,  1174,  1183,  1121,  1122,  1123,  1125,
2041 <    1126,  1127,  1128,  1129,  1130,  1131,  1132,  1133,  1134,  1135,
2325 <    1136,  1137,  1139,  1147,  1140,  1141,  1148,  1149,  1150,  1151,
2326 <    1185,  1186,  1152,  1153,  1154,  1155,  1156,  1157,  1158,  1187,
2327 <    1159,  1160,  1161,  1166,  1167,  1168,  1188,  1169,  1189,  1190,
2328 <    1191,  1171,  1173,  1176,  1175,  1196,  1195,  1199,  1200,  1201,
2329 <    1202,  1203,  1204,  1205,  1206,  1207,  1208,  1209,  1211,  1210,
2330 <    1212,  1216,  1214,  1213,  1215,  1217,  1218,  1219,  1220,  1235,
2331 <    1221,  1236,  1241,  1242,  1243,  1244,  1245,  1246,  1247,  1263,
2332 <    1277,  1251,  1252,  1253,  1254,  1255,  1256,  1257,  1258,  1259,
2333 <    1260,  1261,  1262,  1266,  1272,  1278,  1273,  1287,  1279,  1289,
2334 <    1293,  1275,  1281,  1297,  1299,  1295,  1300,  1301,  1302,  1305,
2335 <    1280,  1282,  1283,  1284,  1285,  1286,  1288,  1290,  1319,  1291,
2336 <    1292,  1294,  1296,  1298,  1357,  1403,  1320,  1334,  1335,  1336,
2337 <    1337,  1338,  1339,  1340,  1341,  1342,  1343,  1344,  1345,  1346,
2338 <    1347,  1348,  1349,  1396,  1350,   336,  1351,  1352,  1353,  1444,
2339 <    1493,  1354,  1492,  1355,  1356,  1464,  1143,  1361,  1491,  1362,
2340 <     779,   767,   930,  1397,  1462,  1461,   881,  1487,  1488,   886,
2341 <    1463,   952,   772,   854,  1489,  1490,   368,  1458,  1373,   435,
2342 <    1372,  1460,   680,  1459,   356,     0,     0,     0,  1363,  1364,
2343 <    1365,  1366,  1367,  1368,  1369,  1398,  1399,  1400,  1401,  1402,
2344 <    1407,  1408,     0,  1409,     0,  1410,     0,     0,     0,  1411,
2345 <       0,  1412,  1413,  1414,  1415,  1416,  1417,  1418,  1419,  1441,
2346 <    1442,  1443,   520,   673,     0,     0,     0,     0,   748,     0,
1925 >     806,   807,   573,   574,   236,   220,    45,    46,   220,   373,
1926 >     581,   462,   383,   805,   667,   668,   286,   110,  1076,    67,
1927 >     984,  1030,   227,   555,   985,   462,   286,   669,   670,   110,
1928 >      47,   555,  1001,  1002,  1003,  1004,  1005,   383,    48,   116,
1929 >     237,    52,    68,   986,   117,   118,    54,   987,  1049,    69,
1930 >     119,    58,  1050,    59,   238,   239,   240,   241,   120,   443,
1931 >     227,  1051,    67,   291,   121,  1052,   122,   123,   124,   374,
1932 >    1176,   492,   242,   125,  1177,   444,   251,   111,    62,   126,
1933 >     127,    63,   128,   129,   130,    68,    66,   493,   131,   111,
1934 >     445,   107,    69,   132,   446,   630,   631,   133,   134,   252,
1935 >     384,   135,   494,   638,   287,   640,   495,    70,   228,  1193,
1936 >     136,   556,   647,   108,   287,   650,   471,   137,   138,   556,
1937 >     139,   140,   141,   142,   143,   384,   661,   662,   375,   546,
1938 >     463,   385,   253,   109,   229,   144,   673,   674,   115,   676,
1939 >     217,   145,   146,   147,   463,   148,   228,   511,   149,   150,
1940 >      70,   472,   151,  1077,   218,   946,   385,   219,  1078,   496,
1941 >     512,   464,   386,    76,   254,  1178,   255,   256,   234,  1179,
1942 >     447,   473,   229,   557,  1182,   464,   474,   235,  1183,   448,
1943 >     449,   557,   497,    77,    78,   946,   152,   386,  1184,    79,
1944 >     153,   284,  1185,   154,   155,   156,   157,   158,  1186,   498,
1945 >     159,   160,  1187,   257,  1031,   258,   259,   260,   261,   546,
1946 >     511,   450,   221,   742,   743,   221,   465,   547,  -107,   526,
1947 >     484,  -107,   262,   512,   620,   565,   695,   732,    80,    81,
1948 >     465,   563,   475,   313,   295,    82,    83,    84,   765,   513,
1949 >     161,   162,   163,   947,   381,   164,   263,   314,   315,  1196,
1950 >     165,   316,   627,  1197,   441,  1198,   264,    85,    86,  1199,
1951 >     471,   344,   499,   345,   451,   346,   514,   373,  1200,   285,
1952 >      87,    88,  1201,   947,   690,   490,   500,   347,  1202,   548,
1953 >     292,    89,  1203,  1225,   265,   266,   719,  1226,   482,    90,
1954 >     795,   544,   348,   746,   747,   472,   349,   547,   803,   804,
1955 >     810,   811,   513,   293,   294,   948,   297,   298,   317,   318,
1956 >     319,   299,   300,   320,   301,   473,   350,  1210,   351,   302,
1957 >     474,   321,  1055,  1018,  1019,  1020,   303,   374,   352,   514,
1958 >     304,   702,   322,   323,   549,   948,   305,   306,   443,  1211,
1959 >     486,  1212,  1056,   307,   760,   308,   487,   324,   325,   353,
1960 >     309,   310,  1057,   380,   444,  1173,  1174,  1175,  1058,   548,
1961 >     392,   393,   725,   394,   528,   395,   396,   949,   397,   445,
1962 >    1090,   398,   566,   446,  1059,   326,   475,   354,   311,  1213,
1963 >     568,   399,   251,   116,   400,   401,   375,   402,   117,   118,
1964 >     492,   403,   404,   405,   119,   406,   407,   949,   408,  1060,
1965 >     409,   410,   120,   411,   355,   252,   493,  1061,   121,   412,
1966 >     122,   123,   124,   805,   549,   413,   327,   125,   414,   415,
1967 >     416,   494,   417,   126,   127,   495,   128,   129,   130,   418,
1968 >     419,   356,   131,   420,   422,   424,   425,   132,   253,   426,
1969 >     427,   133,   134,   428,   429,   135,  1062,   430,   600,   447,
1970 >    1214,  1215,   431,   432,   136,   433,   434,   435,   448,   449,
1971 >     436,   137,   138,  1063,   139,   140,   141,   142,   143,   357,
1972 >     254,   437,   255,   256,   438,   439,   616,   567,   496,   144,
1973 >     440,   483,   488,  1216,   569,   145,   146,   147,   489,   148,
1974 >     450,  1194,   149,   150,   520,   570,   151,   521,   522,   523,
1975 >     344,   497,   345,   524,   346,   525,   529,   530,   531,   257,
1976 >     532,   258,   259,   260,   261,  1094,   347,   533,   498,   534,
1977 >     535,   536,   537,   538,  1147,   539,   540,   571,   262,   572,
1978 >     152,   348,   313,   541,   153,   349,  1095,   154,   155,   156,
1979 >     157,   158,   542,   451,   159,   160,   314,   315,   543,   562,
1980 >     316,  1096,   263,   572,   575,   350,   576,   351,  1097,   578,
1981 >     577,   579,   264,   580,   582,   583,   584,   352,   775,   776,
1982 >     777,   778,   779,   585,   586,  1098,   622,   629,   587,   588,
1983 >     589,   499,   590,   591,   161,   162,   163,   592,   353,   164,
1984 >     265,   266,   593,   594,   165,   500,  1148,   595,  1099,   602,
1985 >     632,   596,   861,   633,   597,  1100,   598,   317,   318,   319,
1986 >       2,     3,   320,   599,     4,   603,   354,  1101,   604,   634,
1987 >     321,   605,   623,   635,     5,  1149,   606,     6,     7,   608,
1988 >     609,   322,   323,     8,  1150,  1102,  1103,  1104,   610,   236,
1989 >    1151,   611,   612,   355,     9,   613,   324,   325,    10,    11,
1990 >     884,   614,   615,   618,  1152,   619,  1153,  1154,    12,   624,
1991 >     625,   636,   637,   639,   641,  1155,   642,   643,   644,   645,
1992 >     356,  1156,    13,   646,   326,   237,   648,   649,  1118,   651,
1993 >      14,    15,   652,   654,   653,  1105,   655,   656,   657,   238,
1994 >     239,   240,   241,   658,  1106,   659,   660,   663,    16,  1107,
1995 >     664,   665,   666,   675,   671,  1108,   672,   242,   357,  1109,
1996 >     677,  1110,    17,   678,   679,   327,  1111,   862,   863,   864,
1997 >     865,   866,  1112,   867,   868,   680,   869,   870,   871,  1161,
1998 >     681,   872,   682,   873,   874,   683,   875,   685,   876,   686,
1999 >     877,   878,   704,   687,   879,   752,    18,   688,   689,   706,
2000 >     880,   692,   694,   697,   699,    19,    20,   700,   707,    21,
2001 >      22,   708,   705,   701,   709,   885,   886,   887,   888,   889,
2002 >     710,   890,   891,   721,   892,   893,   894,   711,   712,   895,
2003 >     714,   896,   897,   727,   898,   728,   899,   715,   900,   901,
2004 >     716,   718,   902,  1119,  1120,  1121,  1122,  1123,   903,  1124,
2005 >    1125,  1162,  1126,  1127,  1128,   729,   722,  1129,    76,  1130,
2006 >    1131,    23,  1132,   723,  1133,   724,  1134,  1135,   730,   731,
2007 >    1136,   733,   734,   735,   736,   737,  1137,   738,    77,    78,
2008 >    1163,   739,   740,   741,    79,   750,   751,   753,   754,  1164,
2009 >     757,   755,   759,   756,   762,  1165,   767,   768,   763,   769,
2010 >     770,   771,   772,   793,   773,   794,   774,   782,   796,  1166,
2011 >     783,  1167,  1168,   784,   785,   786,   787,   788,   789,   790,
2012 >    1169,   791,   792,    80,    81,   797,  1170,   798,   799,   800,
2013 >      82,    83,    84,   801,   802,   805,   808,   809,   812,   813,
2014 >     814,   815,   816,   817,   819,   818,   823,   826,   820,   821,
2015 >     822,   824,    85,    86,   827,   825,   828,   829,   830,   831,
2016 >     832,   833,   834,   835,   836,    87,    88,   837,   838,   925,
2017 >     839,   928,   929,   840,   926,   841,    89,   842,   930,   927,
2018 >     931,   843,   932,   934,    90,   936,   844,   845,   846,   847,
2019 >     848,   849,   850,   939,   940,   851,   852,   853,   854,   855,
2020 >     856,   857,   858,   859,   860,   883,   906,   907,   908,   909,
2021 >     910,   911,   912,   913,   914,   915,   916,   917,   918,   941,
2022 >     919,   957,   920,   921,   960,   922,   958,   923,   924,   961,
2023 >     933,   962,   937,   964,   935,   966,   938,   944,  1145,   959,
2024 >     967,   968,   993,   995,   997,   296,  1083,  1188,  1091,  1144,
2025 >    1227,   720,  1046,  1222,  1221,   945,   955,   956,   601,   965,
2026 >    1208,   963,   969,   970,   971,   972,  1072,   973,   485,   974,
2027 >     975,   976,  1189,   977,   978,   703,   979,   691,   980,  1191,
2028 >    1206,   726,   761,   981,   982,   983,   988,   989,  1223,   990,
2029 >    1204,   766,   991,   992,  1224,   996,   617,   994,   999,   998,
2030 >    1000,  1006,  1007,  1008,  1009,  1010,  1011,  1012,  1013,  1014,
2031 >    1015,  1016,  1017,  1023,  1024,  1025,  1026,  1027,  1207,  1028,
2032 >    1029,   696,  1034,  1035,  1036,  1037,   621,  1038,   382,  1039,
2033 >    1205,  1040,  1180,  1041,  1042,   442,  1043,  1181,   312,   628,
2034 >       0,     0,  1044,  1045,     0,  1053,  1054,  1066,  1067,  1068,
2035 >    1069,  1070,  1071,  1075,  1081,  1082,     0,  1086,     0,     0,
2036 >    1084,  1092,  1087,  1089,  1093,  1115,  1116,  1117,  1140,  1141,
2037 >    1142,  1143,  1146,  1159,  1160,  1190,     0,   491,  1195,  1209,
2038 >    1192,  1219,  1220,     0,     0,     0,     0,     0,     0,     0,
2039 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2040 >       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2041 >       0,     0,     0,   527,     0,     0,     0,     0,     0,     0,
2042         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2043 +       0,     0,   545,     0,     0,     0,     0,     0,     0,     0,
2044         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
2045 <       0,     0,     0,   544
2045 >       0,     0,     0,     0,     0,     0,   564
2046   };
2047  
2048 + #define yypact_value_is_default(yystate) \
2049 +  ((yystate) == (-744))
2050 +
2051 + #define yytable_value_is_error(yytable_value) \
2052 +  YYID (0)
2053 +
2054   static const yytype_int16 yycheck[] =
2055   {
2056 <     342,   343,   428,     1,   264,     1,   264,   349,     1,   264,
2057 <       1,   264,    11,     1,   264,     1,     1,   262,     1,   155,
2058 <       1,   266,    11,    10,     1,    12,     1,   264,     1,   262,
2059 <     263,     8,     9,     1,     1,    12,   264,   379,   264,   381,
2060 <      27,    37,    19,   155,    31,     1,     1,    22,     4,   199,
2061 <     200,    28,    48,   395,    22,    32,    33,     1,   199,   200,
2062 <     262,   403,    39,     1,   266,   264,    43,    44,    45,    55,
2063 <      47,   264,   414,   415,   264,   417,    53,   264,    78,   895,
2064 <     896,   897,   898,   899,   426,   427,    41,   429,   262,     1,
2065 <      46,   264,   266,    49,     1,    72,    73,   264,    91,    85,
2066 <      77,    56,  1053,  1054,  1055,    91,    91,    84,    91,   155,
2067 <      91,    88,    89,    90,   262,   264,    93,   262,   266,    96,
2068 <      97,   266,   120,    78,   264,    80,   122,    82,    83,   106,
2069 <     264,   122,   262,   262,     1,   112,   113,   266,   115,   116,
2070 <     117,   118,   119,    55,   265,   262,   101,   120,   104,   266,
2071 <       1,   126,   150,   130,     5,   122,   171,   172,   126,     1,
2072 <       1,     1,   139,   265,   141,   142,   122,   144,   154,   157,
2073 <     147,   148,   157,    85,   151,    26,   157,   150,   122,    91,
2074 <      20,   265,   157,   265,   122,   162,    26,    38,   265,   157,
2075 <      57,    58,    59,    60,    61,    62,    63,    64,   189,    50,
2076 <     542,   189,   201,   265,    55,   218,   219,   184,   265,   186,
2077 <      50,    51,   201,   190,   265,    55,    67,   194,   195,   196,
2078 <     197,   198,   189,    74,     1,   202,   203,   262,    79,    69,
2079 <      81,   266,   265,   233,   211,   265,    76,   237,   105,     1,
2080 <     265,     3,   154,    94,     6,   189,    23,    24,    10,   265,
2081 <     157,   189,   262,    30,   262,    95,   266,   244,   266,   250,
2082 <     265,   265,   250,    25,    26,    27,   243,   263,   245,    31,
2083 <     263,   122,   263,   140,   251,   263,   127,   263,   263,   256,
2084 <     122,   122,   189,   123,   261,   265,   263,     1,    50,   265,
2085 <     263,   131,    54,    55,   250,   263,   263,   262,   149,    13,
2086 <     264,   266,   265,     1,     1,   265,   250,   263,   263,   149,
2087 <     161,   265,   163,   164,   265,   157,   157,   168,   158,   159,
2088 <      34,    35,   133,    85,   265,    87,    40,   264,    42,    14,
2089 <      15,    16,   109,   110,   111,   265,   265,   114,   100,    37,
2090 <      37,   265,   262,   250,   265,   122,   266,   189,   189,   265,
2091 <      48,   262,   192,   193,   221,   266,   265,   262,   135,   136,
2092 <     122,   266,     1,   265,   175,   176,   177,   178,   179,   265,
2093 <     265,     5,   265,   265,   265,   152,   153,   265,   265,   265,
2094 <     231,   265,   265,   265,    98,    99,   265,   238,   255,    86,
2095 <     265,   265,   154,   107,   108,   265,   263,   265,   249,   250,
2096 <     742,   265,    41,   180,    38,   265,   168,   265,   259,   265,
2097 <     250,   265,   263,   265,   128,   129,    50,    56,   265,   181,
2098 <     265,   263,   265,   263,   122,   122,   265,   124,   125,   265,
2099 <     265,   145,   146,    67,   265,   265,   265,   265,   265,    78,
2100 <      74,    80,   156,    82,    83,    79,   265,    81,   133,   265,
2101 <     265,   165,   222,   223,   224,   225,   226,   227,   228,   265,
2102 <      94,   265,   101,   265,   265,   265,   265,    20,    21,   265,
2103 <     167,   265,   169,   170,   265,   265,     1,   265,   265,   262,
2104 <     265,   265,   244,     8,     9,   265,   263,    12,   185,   265,
2105 <     265,   265,   265,   127,    19,   257,   265,   265,    51,   265,
2106 <     265,   263,   928,    28,   265,   262,   265,    32,    33,   143,
2107 <     265,   264,   155,   265,    39,   265,    69,   265,    43,    44,
2108 <      45,     1,    47,    76,   265,   265,   265,   161,    53,   163,
2109 <     164,   265,   229,   262,   265,   265,   155,   265,   252,   253,
2110 <     254,   265,    95,   265,   265,   265,   265,    72,    73,   263,
2111 <     265,   155,    77,     1,   265,   265,     4,    37,   262,    84,
2112 <     257,   258,   199,    88,    89,    90,   263,   133,    93,   133,
2113 <     123,    96,    97,   199,   199,     1,   918,   133,   131,     5,
2114 <     262,   106,   133,   133,   926,   927,   199,   112,   113,   199,
2115 <     115,   116,   117,   118,   119,   133,   199,   231,    46,   199,
2116 <      26,    49,   199,   199,   199,   130,    86,   265,   265,   155,
2117 <     262,   265,    38,   199,   139,   249,   141,   142,   265,   144,
2118 <     199,   174,   147,   148,    50,   259,   151,   133,    94,    55,
2119 <     133,   155,   199,   133,   199,     1,   199,   162,   155,   199,
2120 <     193,    67,   122,   133,   124,   125,   133,   133,    74,   133,
2121 <     199,   199,   199,    79,   155,    81,   104,    23,    24,   184,
2122 <     199,   186,   133,   133,    30,   190,   133,   155,    94,   194,
2123 <     195,   196,   197,   198,   122,   133,   133,   202,   203,   133,
2124 <     199,   199,   265,   199,   265,   199,   211,   167,   199,   169,
2125 <     170,   155,   199,   133,   199,   199,   122,   199,   133,   133,
2126 <     199,   127,   199,     1,     1,   185,     3,   173,   199,     6,
2127 <     199,   265,   155,    10,   155,    94,   155,   262,   243,   155,
2128 <     245,   265,   265,   149,   265,   262,   251,   262,    25,    26,
2129 <      27,   256,   265,   265,    31,   161,   261,   163,   164,   205,
2130 <     155,   155,   168,   109,   110,   111,   155,   155,   114,   229,
2131 <     265,   155,   265,    50,   220,   265,   122,    54,    55,    57,
2132 <      58,    59,    60,    61,    62,    63,    64,     1,   155,   135,
2133 <     136,   265,   265,   265,   240,   241,   199,   257,   258,    13,
2134 <     246,   247,   248,   249,   265,     1,   152,   153,    85,   265,
2135 <      87,   265,   265,   259,   173,   155,   265,   265,   155,   262,
2136 <      34,    35,   250,   100,    20,   231,    40,   105,    42,   265,
2137 <      26,   262,   238,   265,   180,   265,   265,   262,   265,   265,
2138 <     155,   265,   199,   249,   250,   122,   205,   265,   265,   199,
2139 <     199,   199,   199,   259,    50,    51,   155,   262,   199,    55,
2140 <     155,   220,   140,   155,   155,   155,   155,   265,   155,   155,
2141 <     155,   262,   262,    69,   204,   277,   315,   154,   265,   265,
2142 <      76,   240,   241,   262,    98,    99,   262,   246,   247,   248,
2143 <     249,   168,   265,   107,   108,   265,   262,   262,   262,    95,
2144 <     259,   262,   262,   265,   181,   155,   262,   262,     0,     1,
2145 <     262,   262,   265,     5,   128,   129,   155,   262,   262,   262,
2146 <     262,   155,   155,   262,   262,   133,   262,   123,   262,   262,
2147 <      22,   145,   146,   262,    26,   131,   262,    29,   262,   262,
2148 <     265,   262,   156,   221,    36,   265,   265,   265,   265,   265,
2149 <     262,   165,   265,   149,   265,   265,   265,   265,   265,   265,
2150 <      52,   265,   158,   159,   265,   265,   133,   244,   265,   265,
2151 <     155,   265,   265,    65,    66,   199,    68,   255,   155,   199,
2152 <     257,   265,   265,    75,   265,   265,   265,   155,   199,   265,
2153 <     265,   265,   265,   262,   262,   262,   192,   193,   262,   262,
2154 <      92,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2155 <     102,   262,   104,   262,   262,   262,   262,   262,   262,   262,
2156 <     262,   262,   262,   199,   262,   262,   262,   262,   199,   121,
2157 <     262,   262,   262,   262,   262,   262,   262,   262,   252,   253,
2158 <     254,   206,   207,   208,   209,   210,   138,   212,   213,   262,
2159 <     215,   216,   217,   262,   250,   220,   262,   262,   262,   262,
2160 <     262,   262,   262,   262,   262,   230,   231,   232,   262,   234,
2161 <     235,   236,   262,   262,   239,   262,   262,   242,   262,   262,
2162 <     262,   173,   262,   199,   265,   199,   265,   262,   199,   199,
2163 <     182,   183,   265,   155,   155,   187,   188,   206,   207,   208,
2164 <     209,   210,   155,   212,   213,   199,   215,   216,   217,   155,
2165 <     262,   220,   155,   155,   265,   262,   265,   155,   155,   262,
2166 <     262,   230,   231,   232,   262,   234,   235,   236,   262,   262,
2167 <     239,   262,   262,   242,   206,   207,   208,   209,   210,   262,
2168 <     212,   213,   262,   215,   216,   217,   265,   262,   220,   262,
2169 <     262,   155,   155,   155,   262,   262,   262,   262,   230,   231,
2170 <     232,   262,   234,   235,   236,   262,   262,   239,   155,   262,
2469 <     242,   262,   262,   155,   155,   133,   265,   265,   265,   265,
2470 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2471 <     265,   265,   265,   262,   265,   265,   262,   262,   262,   262,
2472 <     133,   133,   262,   262,   262,   262,   262,   262,   262,   133,
2473 <     262,   262,   262,   262,   262,   262,   133,   262,   155,   133,
2474 <     133,   265,   262,   262,   265,   155,   262,   199,   155,   155,
2475 <     199,   199,   199,   155,   265,   155,   155,   155,   133,   155,
2476 <     155,   262,   199,   155,   155,   262,   262,   262,   262,   262,
2477 <     160,   262,   262,   262,   262,   262,   262,   262,   132,   160,
2478 <     199,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2479 <     262,   262,   262,   262,   262,   155,   262,   155,   199,   155,
2480 <     155,   266,   265,   155,   262,   265,   262,   262,   262,   262,
2481 <     199,   199,   199,   199,   199,   199,   199,   199,   262,   199,
2482 <     199,   199,   199,   199,   132,   132,   262,   262,   262,   262,
2483 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2484 <     262,   262,   262,   133,   262,    71,   262,   262,   262,  1304,
2485 <    1486,   262,  1467,   262,   262,  1395,   825,   262,  1465,   262,
2486 <     501,   468,   614,  1275,  1380,  1378,   564,  1446,  1448,   572,
2487 <    1393,   649,   491,   531,  1449,  1451,   124,  1371,  1227,   185,
2488 <    1225,  1377,   374,  1375,    95,    -1,    -1,    -1,   262,   262,
2489 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2490 <     262,   262,    -1,   262,    -1,   262,    -1,    -1,    -1,   262,
2491 <      -1,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2492 <     262,   262,   260,   362,    -1,    -1,    -1,    -1,   443,    -1,
2056 >     598,   599,   300,   301,     1,     1,   215,   216,     1,     1,
2057 >     308,     1,     1,    99,   160,   161,     1,     1,    51,     1,
2058 >     215,     8,     1,     1,   219,     1,     1,   160,   161,     1,
2059 >     217,     1,   775,   776,   777,   778,   779,     1,   217,     1,
2060 >      37,   217,    24,   215,     6,     7,   217,   219,   215,    31,
2061 >      12,   217,   219,   217,    51,    52,    53,    54,    20,     1,
2062 >       1,   215,     1,   215,    26,   219,    28,    29,    30,    61,
2063 >     215,     1,    69,    35,   219,    17,     1,    61,   217,    41,
2064 >      42,   217,    44,    45,    46,    24,   217,    17,    50,    61,
2065 >      32,   217,    31,    55,    36,   393,   394,    59,    60,    24,
2066 >      89,    63,    32,   401,    89,   403,    36,    89,    87,   195,
2067 >      72,    89,   410,   217,    89,   413,     1,    79,    80,    89,
2068 >      82,    83,    84,    85,    86,    89,   424,   425,   120,     1,
2069 >     120,   120,    57,   217,   113,    97,   434,   435,   217,   437,
2070 >     217,   103,   104,   105,   120,   107,    87,     1,   110,   111,
2071 >      89,    36,   114,   186,   217,     1,   120,   217,   191,    89,
2072 >      14,   151,   151,     1,    89,   215,    91,    92,   217,   219,
2073 >     112,    56,   113,   151,   215,   151,    61,   217,   219,   121,
2074 >     122,   151,   112,    21,    22,     1,   148,   151,   215,    27,
2075 >     152,   217,   219,   155,   156,   157,   158,   159,   215,   129,
2076 >     162,   163,   219,   128,   191,   130,   131,   132,   133,     1,
2077 >       1,   153,   208,   134,   135,   208,   206,    89,   214,   216,
2078 >     216,   214,   147,    14,   216,   118,   216,   525,    66,    67,
2079 >     206,   216,   117,     1,   216,    73,    74,    75,   216,    93,
2080 >     202,   203,   204,    89,   216,   207,   171,    15,    16,   215,
2081 >     212,    19,   216,   219,   216,   215,   181,    95,    96,   219,
2082 >       1,     1,   192,     3,   206,     5,   120,     1,   215,   217,
2083 >     108,   109,   219,    89,   216,   216,   206,    17,   215,   151,
2084 >     218,   119,   219,   215,   209,   210,   216,   219,   215,   127,
2085 >     588,   216,    32,   134,   135,    36,    36,    89,   596,   597,
2086 >     178,   179,    93,   218,   218,   151,   218,   218,    76,    77,
2087 >      78,   218,   218,    81,   218,    56,    56,    40,    58,   218,
2088 >      61,    89,    13,     9,    10,    11,   218,    61,    68,   120,
2089 >     218,   216,   100,   101,   206,   151,   218,   218,     1,    62,
2090 >     214,    64,    33,   218,   216,   218,   215,   115,   116,    89,
2091 >     218,   218,    43,   218,    17,  1018,  1019,  1020,    49,   151,
2092 >     218,   218,   216,   218,   215,   218,   218,   213,   218,    32,
2093 >     216,   218,   118,    36,    65,   143,   117,   117,   216,   102,
2094 >     215,   218,     1,     1,   218,   218,   120,   218,     6,     7,
2095 >       1,   218,   218,   218,    12,   218,   218,   213,   218,    90,
2096 >     218,   218,    20,   218,   144,    24,    17,    98,    26,   218,
2097 >      28,    29,    30,    99,   206,   218,   184,    35,   218,   218,
2098 >     218,    32,   218,    41,    42,    36,    44,    45,    46,   218,
2099 >     218,   171,    50,   218,   218,   218,   218,    55,    57,   218,
2100 >     218,    59,    60,   218,   218,    63,   137,   218,   216,   112,
2101 >     173,   174,   218,   218,    72,   218,   218,   218,   121,   122,
2102 >     218,    79,    80,   154,    82,    83,    84,    85,    86,   209,
2103 >      89,   218,    91,    92,   218,   218,   216,   118,    89,    97,
2104 >     218,   218,   218,   206,    99,   103,   104,   105,   218,   107,
2105 >     153,  1089,   110,   111,   218,    99,   114,   218,   218,   218,
2106 >       1,   112,     3,   218,     5,   218,   218,   218,   218,   128,
2107 >     218,   130,   131,   132,   133,     4,    17,   218,   129,   218,
2108 >     218,   218,   218,   218,    64,   218,   218,   160,   147,    99,
2109 >     148,    32,     1,   218,   152,    36,    25,   155,   156,   157,
2110 >     158,   159,   218,   206,   162,   163,    15,    16,   218,   218,
2111 >      19,    40,   171,    99,    99,    56,    99,    58,    47,   160,
2112 >      99,   160,   181,    99,   160,   160,   215,    68,   138,   139,
2113 >     140,   141,   142,   215,   218,    64,   118,   160,   218,   218,
2114 >     218,   192,   218,   218,   202,   203,   204,   218,    89,   207,
2115 >     209,   210,   218,   218,   212,   206,   136,   218,    87,   215,
2116 >      99,   218,    51,   160,   218,    94,   218,    76,    77,    78,
2117 >       0,     1,    81,   218,     4,   218,   117,   106,   218,   160,
2118 >      89,   218,   215,    99,    14,   165,   218,    17,    18,   218,
2119 >     218,   100,   101,    23,   174,   124,   125,   126,   218,     1,
2120 >     180,   218,   218,   144,    34,   218,   115,   116,    38,    39,
2121 >      51,   218,   218,   218,   194,   218,   196,   197,    48,   218,
2122 >     218,   118,   160,   160,    99,   205,    99,    99,   160,   160,
2123 >     171,   211,    62,   160,   143,    37,    99,    99,    51,    99,
2124 >      70,    71,    99,    99,   118,   174,    99,   160,   160,    51,
2125 >      52,    53,    54,   218,   183,   160,   218,   160,    88,   188,
2126 >     160,   160,   160,   118,   160,   194,   160,    69,   209,   198,
2127 >     160,   200,   102,   160,   160,   184,   205,   166,   167,   168,
2128 >     169,   170,   211,   172,   173,   215,   175,   176,   177,    64,
2129 >     215,   180,   218,   182,   183,   218,   185,   218,   187,   218,
2130 >     189,   190,   160,   218,   193,    99,   136,   218,   218,   217,
2131 >     199,   218,   218,   215,   218,   145,   146,   218,   118,   149,
2132 >     150,   118,   215,   218,   215,   166,   167,   168,   169,   170,
2133 >     215,   172,   173,   215,   175,   176,   177,   218,   218,   180,
2134 >     218,   182,   183,   160,   185,   160,   187,   218,   189,   190,
2135 >     218,   218,   193,   166,   167,   168,   169,   170,   199,   172,
2136 >     173,   136,   175,   176,   177,   118,   218,   180,     1,   182,
2137 >     183,   201,   185,   218,   187,   218,   189,   190,   160,   160,
2138 >     193,   215,   118,   160,   118,   118,   199,   118,    21,    22,
2139 >     165,   118,   118,   118,    27,   118,   118,   118,   118,   174,
2140 >     218,   215,   218,   215,   215,   180,   118,   215,   218,   215,
2141 >     215,   215,   215,    99,   215,    99,   215,   215,    99,   194,
2142 >     215,   196,   197,   215,   215,   215,   215,   215,   215,   215,
2143 >     205,   215,   215,    66,    67,    99,   211,    99,    99,   118,
2144 >      73,    74,    75,    99,    99,    99,   215,   118,   118,   160,
2145 >     218,   118,   118,   118,    99,   118,   215,   215,   118,   118,
2146 >     118,   118,    95,    96,   215,   118,   118,   118,   218,   215,
2147 >     215,   215,   215,   215,   215,   108,   109,   215,   215,   118,
2148 >     215,   118,    99,   215,   160,   215,   119,   215,   118,   218,
2149 >     118,   215,   118,   118,   127,   118,   215,   215,   215,   215,
2150 >     215,   215,   215,   118,   118,   215,   215,   215,   215,   215,
2151 >     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2152 >     215,   215,   215,   215,   215,   215,   215,   215,   215,    99,
2153 >     215,   118,   215,   215,   118,   215,   160,   215,   215,   118,
2154 >     215,   118,   215,   118,   218,   118,   218,   215,   987,   218,
2155 >     118,   118,   118,   118,   118,    71,   164,    99,   950,   985,
2156 >    1226,   501,   123,  1199,  1197,   215,   215,   215,   328,   215,
2157 >    1187,   218,   215,   215,   215,   215,   123,   215,   222,   215,
2158 >     215,   215,  1084,   215,   215,   477,   215,   452,   215,   118,
2159 >    1183,   515,   550,   215,   215,   215,   215,   215,  1201,   215,
2160 >    1177,   558,   215,   215,  1203,   215,   358,   218,   215,   218,
2161 >     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2162 >     215,   215,   215,   215,   215,   215,   215,   215,  1185,   215,
2163 >     215,   467,   215,   215,   215,   215,   376,   215,   112,   215,
2164 >    1179,   215,  1050,   215,   215,   166,   215,  1052,    91,   388,
2165 >      -1,    -1,   215,   215,    -1,   215,   215,   215,   215,   215,
2166 >     215,   215,   215,   215,   215,   215,    -1,   215,    -1,    -1,
2167 >     219,   215,   218,   218,   215,   215,   215,   215,   215,   215,
2168 >     215,   215,   215,   215,   215,   215,    -1,   230,   215,   215,
2169 >     218,   215,   215,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2170 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2171        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2172 +      -1,    -1,    -1,   243,    -1,    -1,    -1,    -1,    -1,    -1,
2173        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2174 <      -1,    -1,    -1,   293
2174 >      -1,    -1,   267,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2175 >      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,
2176 >      -1,    -1,    -1,    -1,    -1,    -1,   288
2177   };
2178  
2179   /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing
2180     symbol of state STATE-NUM.  */
2181   static const yytype_uint16 yystos[] =
2182   {
2183 <       0,   268,     0,     1,     5,    22,    26,    29,    36,    52,
2184 <      65,    66,    68,    75,    92,   102,   104,   121,   138,   173,
2185 <     182,   183,   187,   188,   269,   274,   279,   297,   303,   318,
2186 <     355,   374,   388,   414,   421,   431,   440,   471,   481,   487,
2187 <     491,   501,   566,   582,   603,   262,   263,   264,   264,   356,
2188 <     441,   482,   264,   492,   264,   567,   389,   472,   375,   264,
2189 <     264,   319,   415,   264,   264,   422,   432,     1,    37,    48,
2190 <     122,   298,   299,   300,   301,   302,     1,    13,    34,    35,
2191 <      40,    42,    98,    99,   107,   108,   128,   129,   145,   146,
2192 <     156,   165,   252,   253,   254,   583,   584,   585,   586,   587,
2193 <     588,   589,   590,   591,   592,   593,   594,   595,   596,   597,
2194 <     598,   599,   600,   601,   602,   155,   357,   361,   155,   442,
2195 <     446,   264,     1,    91,   488,   489,   490,   264,     1,     8,
2196 <       9,    12,    19,    28,    32,    33,    39,    43,    44,    45,
2197 <      47,    53,    72,    73,    77,    84,    88,    89,    90,    93,
2198 <      96,    97,   106,   112,   113,   115,   116,   117,   118,   119,
2199 <     130,   139,   141,   142,   144,   147,   148,   151,   162,   184,
2200 <     186,   190,   194,   195,   196,   197,   198,   202,   203,   211,
2201 <     243,   245,   251,   256,   261,   502,   503,   504,   505,   506,
2202 <     507,   508,   509,   510,   511,   512,   513,   514,   515,   516,
2203 <     517,   518,   519,   520,   521,   522,   523,   524,   525,   526,
2204 <     527,   528,   529,   530,   531,   532,   533,   534,   535,   536,
2205 <     537,   538,   539,   540,   541,   542,   543,   544,   545,   546,
2206 <     547,   548,   549,   550,   551,   552,   553,   557,   561,   562,
2207 <     563,   564,   565,   264,   264,   264,   264,     1,    57,    58,
2208 <      59,    60,    61,    62,    63,    64,   105,   140,   221,   255,
2209 <     304,   305,   306,   307,   308,   309,   310,   311,   312,   313,
2210 <     314,   315,   316,   317,     1,   120,   150,   275,   276,   277,
2211 <     278,   155,   320,   324,   264,     1,    41,    56,    78,    80,
2212 <      82,    83,   101,   604,   605,   606,   607,   608,   609,   610,
2213 <     611,   612,     1,    37,    86,   122,   124,   125,   167,   169,
2214 <     170,   185,   229,   257,   258,   280,   281,   282,   286,   287,
2215 <     288,   289,   290,   291,   292,   293,   294,   295,   296,   264,
2216 <     264,   262,   265,   265,   265,   263,   299,   265,   265,   265,
2217 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2218 <     265,   265,   265,   265,   265,   263,   584,   264,   264,     1,
2219 <      91,   157,   483,   484,   485,   486,   265,   263,   489,     1,
2220 <     122,   157,   189,   493,   497,   498,   499,   500,   265,   265,
2221 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2222 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2223 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2224 <     265,   558,   265,   554,   265,   265,   265,   265,   265,   265,
2225 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   265,
2226 <     265,   265,   265,   265,   263,   503,     1,     4,    46,    49,
2227 <     104,   122,   250,   568,   569,   570,   571,   572,   576,   577,
2228 <     578,     1,    20,    26,    50,    51,    55,    69,    76,    95,
2229 <     123,   131,   149,   158,   159,   192,   193,   250,   390,   391,
2230 <     392,   393,   394,   395,   396,   397,   404,   405,   406,   407,
2231 <     408,   409,   410,   411,   412,   413,     1,   157,   189,   250,
2232 <     473,   477,   478,   479,   480,     1,    55,    85,    91,   154,
2233 <     376,   380,   381,   382,   386,   387,   262,   265,   265,   265,
2234 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   263,
2235 <     305,   262,   265,   265,   263,   276,   264,     1,    22,   126,
2236 <     157,   416,   417,   418,   419,   420,   265,   265,   265,   265,
2237 <     265,   265,   265,   263,   605,   262,   265,   265,   265,   265,
2238 <     265,   265,   265,   283,   265,   265,   265,   265,   263,   281,
2239 <       1,   122,   189,   250,   423,   424,   425,   426,   427,     1,
2240 <     122,   189,   433,   434,   435,   436,   155,   155,   155,   262,
2241 <     199,   133,   133,   199,   199,   133,   271,   271,   133,   133,
2242 <     199,   199,   133,   271,   199,   199,   199,   199,   199,   262,
2243 <       1,    23,    24,    30,   109,   110,   111,   114,   122,   135,
2244 <     136,   152,   153,   180,   358,   359,   360,   362,   363,   364,
2245 <     365,   366,   367,   368,   369,   370,   371,   372,   373,     1,
2246 <       3,     6,    10,    25,    26,    27,    31,    50,    54,    55,
2247 <      85,    87,   100,   122,   154,   168,   181,   244,   257,   443,
2248 <     444,   445,   447,   448,   449,   450,   451,   452,   453,   454,
2249 <     461,   462,   463,   464,   465,   466,   467,   468,   469,   470,
2250 <     265,   265,   263,   484,   155,   262,   265,   265,   494,   263,
2251 <     498,   199,   271,   199,   271,   133,   155,   133,   199,   199,
2252 <     199,   133,   155,   199,   133,   133,   133,   199,   271,   199,
2253 <     199,   133,   155,   199,   133,   133,   271,   133,   133,   155,
2254 <     133,   133,   199,   199,   265,   199,   265,   271,   271,   199,
2255 <     271,   155,   199,   199,   199,   199,   200,   199,   200,   199,
2256 <     199,   271,   271,   133,   273,   271,   199,   199,   199,   199,
2257 <     262,   579,   265,   265,   573,   265,   265,   263,   569,   262,
2258 <     265,   265,   265,   265,   398,   265,   265,   265,   265,   265,
2259 <     265,   265,   265,   265,   265,   265,   263,   391,   265,   474,
2260 <     265,   263,   478,   262,   377,   265,   265,   265,   263,   381,
2261 <     155,   155,   155,   155,   155,   155,   155,   155,   222,   223,
2262 <     224,   225,   226,   227,   228,   155,   155,   199,   262,   155,
2263 <     155,   262,     1,     5,    26,    38,    50,    55,    67,    74,
2264 <      79,    81,    94,   122,   127,   149,   161,   163,   164,   168,
2265 <     231,   238,   249,   250,   259,   321,   322,   323,   325,   326,
2266 <     327,   328,   329,   330,   334,   335,   336,   337,   338,   339,
2267 <     340,   341,   342,   343,   344,   345,   346,   347,   348,   262,
2268 <     265,   265,   265,   263,   417,   199,   199,   199,   155,   199,
2269 <     199,   271,   262,   155,   199,   155,   155,   155,   155,   155,
2270 <     265,   155,   133,   155,   155,   262,   262,   265,   428,   265,
2271 <     263,   424,   262,   265,   437,   263,   434,   262,   262,   262,
2272 <     262,   262,   262,   262,   262,   175,   176,   177,   178,   179,
2273 <     270,   271,   262,   262,   262,   262,   262,   262,   262,   262,
2274 <     262,   262,   262,   262,   262,   262,   265,   265,   265,   265,
2275 <     265,   265,   265,   265,   265,   265,   265,   265,   265,   263,
2276 <     359,   262,   265,   265,   265,   265,   265,   265,   265,   265,
2277 <     265,   455,   265,   265,   265,   265,   265,   265,   265,   265,
2278 <     265,   263,   444,   155,   155,   262,   262,   155,   155,   265,
2279 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2280 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2281 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2282 <     262,   262,   262,   262,   206,   207,   208,   209,   210,   212,
2283 <     213,   215,   216,   217,   220,   230,   231,   232,   234,   235,
2284 <     236,   239,   242,   559,   560,   262,   206,   207,   208,   209,
2285 <     210,   212,   213,   215,   216,   217,   220,   230,   231,   232,
2286 <     234,   235,   236,   239,   242,   555,   556,   262,   262,   262,
2287 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2288 <     262,   262,   262,    14,    15,    16,   272,   273,   262,   262,
2289 <     262,   262,   262,   262,   265,   271,   199,   265,   155,   155,
2290 <     262,   199,   155,   199,   199,   265,   199,   199,   199,   199,
2291 <     199,   155,   133,   155,   155,   199,   155,   262,   155,   265,
2292 <     155,   262,   265,   155,   155,   133,   384,   385,   262,   262,
2293 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2294 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2295 <     265,   265,   265,   265,   349,   265,   265,   265,   265,   265,
2296 <     265,   265,   265,   265,   265,   265,   265,   265,   331,   265,
2297 <     265,   265,   263,   322,   155,   155,   155,   262,   262,   262,
2298 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2299 <     262,   262,   171,   172,   284,   285,   262,   262,   262,   262,
2300 <     155,   265,   155,   262,   155,   265,   262,   270,   270,   270,
2301 <     270,   270,   133,   133,   271,   133,   133,   133,   133,   155,
2302 <     133,   133,   271,   271,   273,   262,   155,   218,   219,   199,
2303 <     155,   155,   199,   199,   199,   155,   265,   155,   155,   155,
2304 <     155,   133,   155,   155,   199,   155,   262,   262,   262,   262,
2305 <     262,   160,   495,   496,   262,   266,   262,   266,   272,   272,
2625 <     272,    11,   201,   580,   581,   262,   262,    11,   201,   574,
2626 <     575,   262,   262,   262,   262,   262,   262,   132,   399,   400,
2627 <     402,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2628 <     262,   262,   262,   160,   475,   476,   262,    78,   233,   237,
2629 <     378,   379,   262,   262,   204,   266,   383,   199,   155,   199,
2630 <     199,   265,   199,   199,   199,   199,   199,   155,   199,   155,
2631 <     199,   199,   199,   155,   199,   265,   199,   155,   199,   262,
2632 <     262,   262,   262,   262,   266,   262,    94,   173,   205,   220,
2633 <     240,   241,   246,   247,   248,   249,   259,   429,   430,   262,
2634 <     262,    94,   173,   205,   220,   240,   241,   246,   247,   248,
2635 <     249,   259,   438,   439,   262,   262,   262,   262,   262,   262,
2636 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2637 <     262,   262,   262,   262,   262,   262,   262,   132,   456,   457,
2638 <     459,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2639 <     262,   266,   560,   556,   262,   266,   262,   266,   401,   262,
2640 <     266,    20,    21,    51,    69,    76,    95,   123,   131,   174,
2641 <     193,   403,   262,   266,   262,   266,   133,   385,   262,   262,
2642 <     262,   262,   262,   132,   350,   351,   353,   262,   262,   262,
2643 <     262,   262,   262,   262,   262,   262,   262,   262,   262,   262,
2644 <     206,   207,   208,   209,   210,   212,   213,   215,   216,   217,
2645 <     220,   230,   231,   232,   234,   235,   236,   239,   242,   332,
2646 <     333,   262,   262,   262,   285,   262,   266,   262,   266,   458,
2647 <     262,   266,    10,    12,    27,    31,   244,   460,   496,   581,
2648 <     575,   403,   400,   476,   379,   352,   262,   266,     5,    38,
2649 <      50,    67,    74,    79,    81,    94,   127,   143,   161,   163,
2650 <     164,   231,   249,   259,   354,   262,   266,   430,   439,   460,
2651 <     457,   354,   351,   333
2183 >       0,   221,     0,     1,     4,    14,    17,    18,    23,    34,
2184 >      38,    39,    48,    62,    70,    71,    88,   102,   136,   145,
2185 >     146,   149,   150,   201,   222,   227,   232,   254,   260,   274,
2186 >     292,   310,   324,   339,   346,   350,   360,   369,   389,   399,
2187 >     405,   409,   419,   477,   494,   215,   216,   217,   217,   293,
2188 >     370,   400,   217,   410,   217,   325,   390,   311,   217,   217,
2189 >     275,   340,   217,   217,   351,   361,   217,     1,    24,    31,
2190 >      89,   255,   256,   257,   258,   259,     1,    21,    22,    27,
2191 >      66,    67,    73,    74,    75,    95,    96,   108,   109,   119,
2192 >     127,   478,   479,   480,   481,   482,   483,   484,   485,   486,
2193 >     487,   488,   489,   490,   491,   492,   493,   217,   217,   217,
2194 >       1,    61,   406,   407,   408,   217,     1,     6,     7,    12,
2195 >      20,    26,    28,    29,    30,    35,    41,    42,    44,    45,
2196 >      46,    50,    55,    59,    60,    63,    72,    79,    80,    82,
2197 >      83,    84,    85,    86,    97,   103,   104,   105,   107,   110,
2198 >     111,   114,   148,   152,   155,   156,   157,   158,   159,   162,
2199 >     163,   202,   203,   204,   207,   212,   420,   421,   422,   423,
2200 >     424,   425,   426,   427,   428,   429,   430,   431,   432,   433,
2201 >     434,   435,   436,   437,   438,   439,   440,   441,   442,   443,
2202 >     444,   445,   446,   447,   448,   449,   450,   451,   452,   453,
2203 >     454,   455,   456,   457,   458,   459,   460,   461,   462,   463,
2204 >     464,   465,   466,   470,   474,   475,   476,   217,   217,   217,
2205 >       1,   208,   261,   262,   263,   264,   265,     1,    87,   113,
2206 >     228,   229,   230,   231,   217,   217,     1,    37,    51,    52,
2207 >      53,    54,    69,   495,   496,   497,   498,   499,   500,   501,
2208 >     502,     1,    24,    57,    89,    91,    92,   128,   130,   131,
2209 >     132,   133,   147,   171,   181,   209,   210,   233,   234,   235,
2210 >     236,   241,   242,   243,   244,   245,   246,   247,   248,   249,
2211 >     250,   251,   252,   253,   217,   217,     1,    89,   347,   348,
2212 >     349,   215,   218,   218,   218,   216,   256,   218,   218,   218,
2213 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2214 >     218,   216,   479,     1,    15,    16,    19,    76,    77,    78,
2215 >      81,    89,   100,   101,   115,   116,   143,   184,   294,   295,
2216 >     296,   297,   298,   299,   300,   301,   302,   303,   304,   305,
2217 >     306,   307,   308,   309,     1,     3,     5,    17,    32,    36,
2218 >      56,    58,    68,    89,   117,   144,   171,   209,   371,   372,
2219 >     373,   374,   375,   376,   377,   378,   379,   380,   384,   385,
2220 >     386,   387,   388,     1,    61,   120,   401,   402,   403,   404,
2221 >     218,   216,   407,     1,    89,   120,   151,   411,   415,   416,
2222 >     417,   418,   218,   218,   218,   218,   218,   218,   218,   218,
2223 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2224 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2225 >     218,   471,   218,   467,   218,   218,   218,   218,   218,   218,
2226 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2227 >     218,   216,   421,     1,    17,    32,    36,   112,   121,   122,
2228 >     153,   206,   326,   327,   328,   329,   330,   331,   332,   336,
2229 >     337,   338,     1,   120,   151,   206,   391,   395,   396,   397,
2230 >     398,     1,    36,    56,    61,   117,   312,   316,   317,   318,
2231 >     322,   323,   215,   218,   216,   262,   214,   215,   218,   218,
2232 >     216,   229,     1,    17,    32,    36,    89,   112,   129,   192,
2233 >     206,   276,   277,   278,   279,   280,   281,   282,   283,   284,
2234 >     288,     1,    14,    93,   120,   341,   342,   343,   344,   345,
2235 >     218,   218,   218,   218,   218,   218,   216,   496,   215,   218,
2236 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2237 >     218,   218,   218,   218,   216,   234,     1,    89,   151,   206,
2238 >     352,   353,   354,   355,   356,     1,    89,   151,   362,   363,
2239 >     364,   365,   218,   216,   348,   118,   118,   118,   215,    99,
2240 >      99,   160,    99,   224,   224,    99,    99,    99,   160,   160,
2241 >      99,   224,   160,   160,   215,   215,   218,   218,   218,   218,
2242 >     218,   218,   218,   218,   218,   218,   218,   218,   218,   218,
2243 >     216,   295,   215,   218,   218,   218,   218,   381,   218,   218,
2244 >     218,   218,   218,   218,   218,   218,   216,   372,   218,   218,
2245 >     216,   402,   118,   215,   218,   218,   412,   216,   416,   160,
2246 >     224,   224,    99,   160,   160,    99,   118,   160,   224,   160,
2247 >     224,    99,    99,    99,   160,   160,   160,   224,    99,    99,
2248 >     224,    99,    99,   118,    99,    99,   160,   160,   218,   160,
2249 >     218,   224,   224,   160,   160,   160,   160,   160,   161,   160,
2250 >     161,   160,   160,   224,   224,   118,   224,   160,   160,   160,
2251 >     215,   215,   218,   218,   333,   218,   218,   218,   218,   218,
2252 >     216,   327,   218,   392,   218,   216,   396,   215,   313,   218,
2253 >     218,   218,   216,   317,   160,   215,   217,   118,   118,   215,
2254 >     215,   218,   218,   289,   218,   218,   218,   285,   218,   216,
2255 >     277,   215,   218,   218,   218,   216,   342,   160,   160,   118,
2256 >     160,   160,   224,   215,   118,   160,   118,   118,   118,   118,
2257 >     118,   118,   134,   135,   237,   238,   134,   135,   239,   240,
2258 >     118,   118,    99,   118,   118,   215,   215,   218,   357,   218,
2259 >     216,   353,   215,   218,   366,   216,   363,   118,   215,   215,
2260 >     215,   215,   215,   215,   215,   138,   139,   140,   141,   142,
2261 >     223,   224,   215,   215,   215,   215,   215,   215,   215,   215,
2262 >     215,   215,   215,    99,    99,   224,    99,    99,    99,    99,
2263 >     118,    99,    99,   224,   224,    99,   226,   226,   215,   118,
2264 >     178,   179,   118,   160,   218,   118,   118,   118,   118,    99,
2265 >     118,   118,   118,   215,   118,   118,   215,   215,   118,   118,
2266 >     218,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2267 >     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2268 >     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2269 >     215,    51,   166,   167,   168,   169,   170,   172,   173,   175,
2270 >     176,   177,   180,   182,   183,   185,   187,   189,   190,   193,
2271 >     199,   472,   473,   215,    51,   166,   167,   168,   169,   170,
2272 >     172,   173,   175,   176,   177,   180,   182,   183,   185,   187,
2273 >     189,   190,   193,   199,   468,   469,   215,   215,   215,   215,
2274 >     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2275 >     215,   215,   215,   215,   215,   118,   160,   218,   118,    99,
2276 >     118,   118,   118,   215,   118,   218,   118,   215,   218,   118,
2277 >     118,    99,   320,   321,   215,   215,     1,    89,   151,   213,
2278 >     266,   267,   268,   269,   270,   215,   215,   118,   160,   218,
2279 >     118,   118,   118,   218,   118,   215,   118,   118,   118,   215,
2280 >     215,   215,   215,   215,   215,   215,   215,   215,   215,   215,
2281 >     215,   215,   215,   215,   215,   219,   215,   219,   215,   215,
2282 >     215,   215,   215,   118,   218,   118,   215,   118,   218,   215,
2283 >     215,   223,   223,   223,   223,   223,   215,   215,   215,   215,
2284 >     215,   215,   215,   215,   215,   215,   215,   215,     9,    10,
2285 >      11,   225,   226,   215,   215,   215,   215,   215,   215,   215,
2286 >       8,   191,   382,   383,   215,   215,   215,   215,   215,   215,
2287 >     215,   215,   215,   215,   215,   215,   123,   413,   414,   215,
2288 >     219,   215,   219,   215,   215,    13,    33,    43,    49,    65,
2289 >      90,    98,   137,   154,   334,   335,   215,   215,   215,   215,
2290 >     215,   215,   123,   393,   394,   215,    51,   186,   191,   314,
2291 >     315,   215,   215,   164,   219,   319,   215,   218,   271,   218,
2292 >     216,   267,   215,   215,     4,    25,    40,    47,    64,    87,
2293 >      94,   106,   124,   125,   126,   174,   183,   188,   194,   198,
2294 >     200,   205,   211,   290,   291,   215,   215,   215,    51,   166,
2295 >     167,   168,   169,   170,   172,   173,   175,   176,   177,   180,
2296 >     182,   183,   185,   187,   189,   190,   193,   199,   286,   287,
2297 >     215,   215,   215,   215,   238,   240,   215,    64,   136,   165,
2298 >     174,   180,   194,   196,   197,   205,   211,   358,   359,   215,
2299 >     215,    64,   136,   165,   174,   180,   194,   196,   197,   205,
2300 >     211,   367,   368,   225,   225,   225,   215,   219,   215,   219,
2301 >     473,   469,   215,   219,   215,   219,   215,   219,    99,   321,
2302 >     215,   118,   218,   195,   226,   215,   215,   219,   215,   219,
2303 >     215,   219,   215,   219,   383,   414,   335,   394,   315,   215,
2304 >      40,    62,    64,   102,   173,   174,   206,   272,   273,   215,
2305 >     215,   291,   287,   359,   368,   215,   219,   273
2306   };
2307  
2308   #define yyerrok         (yyerrstatus = 0)
# Line 2663 | Line 2317 | static const yytype_uint16 yystos[] =
2317  
2318   /* Like YYERROR except do call yyerror.  This remains here temporarily
2319     to ease the transition to the new meaning of YYERROR, for GCC.
2320 <   Once GCC version 2 has supplanted version 1, this can go.  */
2320 >   Once GCC version 2 has supplanted version 1, this can go.  However,
2321 >   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated
2322 >   in Bison 2.4.2's NEWS entry, where a plan to phase it out is
2323 >   discussed.  */
2324  
2325   #define YYFAIL          goto yyerrlab
2326 + #if defined YYFAIL
2327 +  /* This is here to suppress warnings from the GCC cpp's
2328 +     -Wunused-macros.  Normally we don't worry about that warning, but
2329 +     some users do, and we want to make it easy for users to remove
2330 +     YYFAIL uses, which will produce warnings from Bison 2.5.  */
2331 + #endif
2332  
2333   #define YYRECOVERING()  (!!yyerrstatus)
2334  
2335 < #define YYBACKUP(Token, Value)                                  \
2336 < do                                                              \
2337 <  if (yychar == YYEMPTY && yylen == 1)                          \
2338 <    {                                                           \
2339 <      yychar = (Token);                                         \
2340 <      yylval = (Value);                                         \
2341 <      yytoken = YYTRANSLATE (yychar);                           \
2342 <      YYPOPSTACK (1);                                           \
2343 <      goto yybackup;                                            \
2344 <    }                                                           \
2345 <  else                                                          \
2346 <    {                                                           \
2335 > #define YYBACKUP(Token, Value)                                  \
2336 > do                                                              \
2337 >  if (yychar == YYEMPTY)                                        \
2338 >    {                                                           \
2339 >      yychar = (Token);                                         \
2340 >      yylval = (Value);                                         \
2341 >      YYPOPSTACK (yylen);                                       \
2342 >      yystate = *yyssp;                                         \
2343 >      goto yybackup;                                            \
2344 >    }                                                           \
2345 >  else                                                          \
2346 >    {                                                           \
2347        yyerror (YY_("syntax error: cannot back up")); \
2348        YYERROR;                                                  \
2349      }                                                           \
# Line 2690 | Line 2353 | while (YYID (0))
2353   #define YYTERROR        1
2354   #define YYERRCODE       256
2355  
2693
2356   /* YYLLOC_DEFAULT -- Set CURRENT to span from RHS[1] to RHS[N].
2357     If N is 0, then set CURRENT to the empty location which ends
2358     the previous symbol: RHS[0] (always defined).  */
2359  
2698 #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2360   #ifndef YYLLOC_DEFAULT
2361 < # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2362 <    do                                                                  \
2363 <      if (YYID (N))                                                    \
2364 <        {                                                               \
2365 <          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2366 <          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2367 <          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2368 <          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2369 <        }                                                               \
2370 <      else                                                              \
2371 <        {                                                               \
2372 <          (Current).first_line   = (Current).last_line   =              \
2373 <            YYRHSLOC (Rhs, 0).last_line;                                \
2374 <          (Current).first_column = (Current).last_column =              \
2375 <            YYRHSLOC (Rhs, 0).last_column;                              \
2376 <        }                                                               \
2361 > # define YYLLOC_DEFAULT(Current, Rhs, N)                                \
2362 >    do                                                                  \
2363 >      if (YYID (N))                                                     \
2364 >        {                                                               \
2365 >          (Current).first_line   = YYRHSLOC (Rhs, 1).first_line;        \
2366 >          (Current).first_column = YYRHSLOC (Rhs, 1).first_column;      \
2367 >          (Current).last_line    = YYRHSLOC (Rhs, N).last_line;         \
2368 >          (Current).last_column  = YYRHSLOC (Rhs, N).last_column;       \
2369 >        }                                                               \
2370 >      else                                                              \
2371 >        {                                                               \
2372 >          (Current).first_line   = (Current).last_line   =              \
2373 >            YYRHSLOC (Rhs, 0).last_line;                                \
2374 >          (Current).first_column = (Current).last_column =              \
2375 >            YYRHSLOC (Rhs, 0).last_column;                              \
2376 >        }                                                               \
2377      while (YYID (0))
2378   #endif
2379  
2380 + #define YYRHSLOC(Rhs, K) ((Rhs)[K])
2381 +
2382 +
2383  
2384 < /* YY_LOCATION_PRINT -- Print the location on the stream.
2721 <   This macro was not mandated originally: define only if we know
2722 <   we won't break user code: when these are the locations we know.  */
2384 > /* This macro is provided for backward compatibility. */
2385  
2386   #ifndef YY_LOCATION_PRINT
2387 < # if YYLTYPE_IS_TRIVIAL
2726 < #  define YY_LOCATION_PRINT(File, Loc)                  \
2727 <     fprintf (File, "%d.%d-%d.%d",                      \
2728 <              (Loc).first_line, (Loc).first_column,     \
2729 <              (Loc).last_line,  (Loc).last_column)
2730 < # else
2731 < #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2732 < # endif
2387 > # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2388   #endif
2389  
2390  
# Line 2784 | Line 2439 | yy_symbol_value_print (yyoutput, yytype,
2439      YYSTYPE const * const yyvaluep;
2440   #endif
2441   {
2442 +  FILE *yyo = yyoutput;
2443 +  YYUSE (yyo);
2444    if (!yyvaluep)
2445      return;
2446   # ifdef YYPRINT
# Line 2921 | Line 2578 | int yydebug;
2578   # define YYMAXDEPTH 10000
2579   #endif
2580  
2924
2581  
2582   #if YYERROR_VERBOSE
2583  
# Line 3024 | Line 2680 | yytnamerr (char *yyres, const char *yyst
2680   }
2681   # endif
2682  
2683 < /* Copy into YYRESULT an error message about the unexpected token
2684 <   YYCHAR while in state YYSTATE.  Return the number of bytes copied,
2685 <   including the terminating null byte.  If YYRESULT is null, do not
2686 <   copy anything; just return the number of bytes that would be
2687 <   copied.  As a special case, return 0 if an ordinary "syntax error"
2688 <   message will do.  Return YYSIZE_MAXIMUM if overflow occurs during
2689 <   size calculation.  */
2690 < static YYSIZE_T
2691 < yysyntax_error (char *yyresult, int yystate, int yychar)
2683 > /* Copy into *YYMSG, which is of size *YYMSG_ALLOC, an error message
2684 >   about the unexpected token YYTOKEN for the state stack whose top is
2685 >   YYSSP.
2686 >
2687 >   Return 0 if *YYMSG was successfully written.  Return 1 if *YYMSG is
2688 >   not large enough to hold the message.  In that case, also set
2689 >   *YYMSG_ALLOC to the required number of bytes.  Return 2 if the
2690 >   required number of bytes is too large to store.  */
2691 > static int
2692 > yysyntax_error (YYSIZE_T *yymsg_alloc, char **yymsg,
2693 >                yytype_int16 *yyssp, int yytoken)
2694   {
2695 <  int yyn = yypact[yystate];
2695 >  YYSIZE_T yysize0 = yytnamerr (YY_NULL, yytname[yytoken]);
2696 >  YYSIZE_T yysize = yysize0;
2697 >  YYSIZE_T yysize1;
2698 >  enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2699 >  /* Internationalized format string. */
2700 >  const char *yyformat = YY_NULL;
2701 >  /* Arguments of yyformat. */
2702 >  char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2703 >  /* Number of reported tokens (one for the "unexpected", one per
2704 >     "expected"). */
2705 >  int yycount = 0;
2706 >
2707 >  /* There are many possibilities here to consider:
2708 >     - Assume YYFAIL is not used.  It's too flawed to consider.  See
2709 >       <http://lists.gnu.org/archive/html/bison-patches/2009-12/msg00024.html>
2710 >       for details.  YYERROR is fine as it does not invoke this
2711 >       function.
2712 >     - If this state is a consistent state with a default action, then
2713 >       the only way this function was invoked is if the default action
2714 >       is an error action.  In that case, don't check for expected
2715 >       tokens because there are none.
2716 >     - The only way there can be no lookahead present (in yychar) is if
2717 >       this state is a consistent state with a default action.  Thus,
2718 >       detecting the absence of a lookahead is sufficient to determine
2719 >       that there is no unexpected or expected token to report.  In that
2720 >       case, just report a simple "syntax error".
2721 >     - Don't assume there isn't a lookahead just because this state is a
2722 >       consistent state with a default action.  There might have been a
2723 >       previous inconsistent state, consistent state with a non-default
2724 >       action, or user semantic action that manipulated yychar.
2725 >     - Of course, the expected token list depends on states to have
2726 >       correct lookahead information, and it depends on the parser not
2727 >       to perform extra reductions after fetching a lookahead from the
2728 >       scanner and before detecting a syntax error.  Thus, state merging
2729 >       (from LALR or IELR) and default reductions corrupt the expected
2730 >       token list.  However, the list is correct for canonical LR with
2731 >       one exception: it will still contain any token that will not be
2732 >       accepted due to an error action in a later state.
2733 >  */
2734 >  if (yytoken != YYEMPTY)
2735 >    {
2736 >      int yyn = yypact[*yyssp];
2737 >      yyarg[yycount++] = yytname[yytoken];
2738 >      if (!yypact_value_is_default (yyn))
2739 >        {
2740 >          /* Start YYX at -YYN if negative to avoid negative indexes in
2741 >             YYCHECK.  In other words, skip the first -YYN actions for
2742 >             this state because they are default actions.  */
2743 >          int yyxbegin = yyn < 0 ? -yyn : 0;
2744 >          /* Stay within bounds of both yycheck and yytname.  */
2745 >          int yychecklim = YYLAST - yyn + 1;
2746 >          int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2747 >          int yyx;
2748 >
2749 >          for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2750 >            if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR
2751 >                && !yytable_value_is_error (yytable[yyx + yyn]))
2752 >              {
2753 >                if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2754 >                  {
2755 >                    yycount = 1;
2756 >                    yysize = yysize0;
2757 >                    break;
2758 >                  }
2759 >                yyarg[yycount++] = yytname[yyx];
2760 >                yysize1 = yysize + yytnamerr (YY_NULL, yytname[yyx]);
2761 >                if (! (yysize <= yysize1
2762 >                       && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2763 >                  return 2;
2764 >                yysize = yysize1;
2765 >              }
2766 >        }
2767 >    }
2768  
2769 <  if (! (YYPACT_NINF < yyn && yyn <= YYLAST))
3040 <    return 0;
3041 <  else
2769 >  switch (yycount)
2770      {
2771 <      int yytype = YYTRANSLATE (yychar);
2772 <      YYSIZE_T yysize0 = yytnamerr (0, yytname[yytype]);
2773 <      YYSIZE_T yysize = yysize0;
2774 <      YYSIZE_T yysize1;
2775 <      int yysize_overflow = 0;
2776 <      enum { YYERROR_VERBOSE_ARGS_MAXIMUM = 5 };
2777 <      char const *yyarg[YYERROR_VERBOSE_ARGS_MAXIMUM];
2778 <      int yyx;
2779 <
2780 < # if 0
2781 <      /* This is so xgettext sees the translatable formats that are
2782 <         constructed on the fly.  */
2783 <      YY_("syntax error, unexpected %s");
2784 <      YY_("syntax error, unexpected %s, expecting %s");
2785 <      YY_("syntax error, unexpected %s, expecting %s or %s");
2786 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s");
2787 <      YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s");
2788 < # endif
2789 <      char *yyfmt;
2790 <      char const *yyf;
2791 <      static char const yyunexpected[] = "syntax error, unexpected %s";
2792 <      static char const yyexpecting[] = ", expecting %s";
2793 <      static char const yyor[] = " or %s";
2794 <      char yyformat[sizeof yyunexpected
2795 <                    + sizeof yyexpecting - 1
2796 <                    + ((YYERROR_VERBOSE_ARGS_MAXIMUM - 2)
2797 <                       * (sizeof yyor - 1))];
2798 <      char const *yyprefix = yyexpecting;
2799 <
2800 <      /* Start YYX at -YYN if negative to avoid negative indexes in
2801 <         YYCHECK.  */
2802 <      int yyxbegin = yyn < 0 ? -yyn : 0;
2803 <
2804 <      /* Stay within bounds of both yycheck and yytname.  */
2805 <      int yychecklim = YYLAST - yyn + 1;
2806 <      int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS;
2807 <      int yycount = 1;
2808 <
2809 <      yyarg[0] = yytname[yytype];
2810 <      yyfmt = yystpcpy (yyformat, yyunexpected);
2811 <
2812 <      for (yyx = yyxbegin; yyx < yyxend; ++yyx)
2813 <        if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR)
2814 <          {
2815 <            if (yycount == YYERROR_VERBOSE_ARGS_MAXIMUM)
2816 <              {
3089 <                yycount = 1;
3090 <                yysize = yysize0;
3091 <                yyformat[sizeof yyunexpected - 1] = '\0';
3092 <                break;
3093 <              }
3094 <            yyarg[yycount++] = yytname[yyx];
3095 <            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
3096 <            yysize_overflow |= (yysize1 < yysize);
3097 <            yysize = yysize1;
3098 <            yyfmt = yystpcpy (yyfmt, yyprefix);
3099 <            yyprefix = yyor;
3100 <          }
3101 <
3102 <      yyf = YY_(yyformat);
3103 <      yysize1 = yysize + yystrlen (yyf);
3104 <      yysize_overflow |= (yysize1 < yysize);
3105 <      yysize = yysize1;
3106 <
3107 <      if (yysize_overflow)
3108 <        return YYSIZE_MAXIMUM;
3109 <
3110 <      if (yyresult)
3111 <        {
3112 <          /* Avoid sprintf, as that infringes on the user's name space.
3113 <             Don't have undefined behavior even if the translation
3114 <             produced a string with the wrong number of "%s"s.  */
3115 <          char *yyp = yyresult;
3116 <          int yyi = 0;
3117 <          while ((*yyp = *yyf) != '\0')
3118 <            {
3119 <              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3120 <                {
3121 <                  yyp += yytnamerr (yyp, yyarg[yyi++]);
3122 <                  yyf += 2;
3123 <                }
3124 <              else
3125 <                {
3126 <                  yyp++;
3127 <                  yyf++;
3128 <                }
3129 <            }
3130 <        }
3131 <      return yysize;
3132 <    }
2771 > # define YYCASE_(N, S)                      \
2772 >      case N:                               \
2773 >        yyformat = S;                       \
2774 >      break
2775 >      YYCASE_(0, YY_("syntax error"));
2776 >      YYCASE_(1, YY_("syntax error, unexpected %s"));
2777 >      YYCASE_(2, YY_("syntax error, unexpected %s, expecting %s"));
2778 >      YYCASE_(3, YY_("syntax error, unexpected %s, expecting %s or %s"));
2779 >      YYCASE_(4, YY_("syntax error, unexpected %s, expecting %s or %s or %s"));
2780 >      YYCASE_(5, YY_("syntax error, unexpected %s, expecting %s or %s or %s or %s"));
2781 > # undef YYCASE_
2782 >    }
2783 >
2784 >  yysize1 = yysize + yystrlen (yyformat);
2785 >  if (! (yysize <= yysize1 && yysize1 <= YYSTACK_ALLOC_MAXIMUM))
2786 >    return 2;
2787 >  yysize = yysize1;
2788 >
2789 >  if (*yymsg_alloc < yysize)
2790 >    {
2791 >      *yymsg_alloc = 2 * yysize;
2792 >      if (! (yysize <= *yymsg_alloc
2793 >             && *yymsg_alloc <= YYSTACK_ALLOC_MAXIMUM))
2794 >        *yymsg_alloc = YYSTACK_ALLOC_MAXIMUM;
2795 >      return 1;
2796 >    }
2797 >
2798 >  /* Avoid sprintf, as that infringes on the user's name space.
2799 >     Don't have undefined behavior even if the translation
2800 >     produced a string with the wrong number of "%s"s.  */
2801 >  {
2802 >    char *yyp = *yymsg;
2803 >    int yyi = 0;
2804 >    while ((*yyp = *yyformat) != '\0')
2805 >      if (*yyp == '%' && yyformat[1] == 's' && yyi < yycount)
2806 >        {
2807 >          yyp += yytnamerr (yyp, yyarg[yyi++]);
2808 >          yyformat += 2;
2809 >        }
2810 >      else
2811 >        {
2812 >          yyp++;
2813 >          yyformat++;
2814 >        }
2815 >  }
2816 >  return 0;
2817   }
2818   #endif /* YYERROR_VERBOSE */
3135
2819  
2820   /*-----------------------------------------------.
2821   | Release the memory associated to this symbol.  |
# Line 3165 | Line 2848 | yydestruct (yymsg, yytype, yyvaluep)
2848      }
2849   }
2850  
2851 < /* Prevent warnings from -Wmissing-prototypes.  */
3169 < #ifdef YYPARSE_PARAM
3170 < #if defined __STDC__ || defined __cplusplus
3171 < int yyparse (void *YYPARSE_PARAM);
3172 < #else
3173 < int yyparse ();
3174 < #endif
3175 < #else /* ! YYPARSE_PARAM */
3176 < #if defined __STDC__ || defined __cplusplus
3177 < int yyparse (void);
3178 < #else
3179 < int yyparse ();
3180 < #endif
3181 < #endif /* ! YYPARSE_PARAM */
2851 >
2852  
2853  
2854   /* The lookahead symbol.  */
# Line 3191 | Line 2861 | YYSTYPE yylval;
2861   int yynerrs;
2862  
2863  
2864 <
2865 < /*-------------------------.
2866 < | yyparse or yypush_parse.  |
3197 < `-------------------------*/
2864 > /*----------.
2865 > | yyparse.  |
2866 > `----------*/
2867  
2868   #ifdef YYPARSE_PARAM
2869   #if (defined __STDC__ || defined __C99__FUNC__ \
# Line 3218 | Line 2887 | yyparse ()
2887   #endif
2888   #endif
2889   {
3221
3222
2890      int yystate;
2891      /* Number of tokens to shift before error messages enabled.  */
2892      int yyerrstatus;
# Line 3228 | Line 2895 | yyparse ()
2895         `yyss': related to states.
2896         `yyvs': related to semantic values.
2897  
2898 <       Refer to the stacks thru separate pointers, to allow yyoverflow
2898 >       Refer to the stacks through separate pointers, to allow yyoverflow
2899         to reallocate them elsewhere.  */
2900  
2901      /* The state stack.  */
# Line 3282 | Line 2949 | yyparse ()
2949       The wasted elements are never initialized.  */
2950    yyssp = yyss;
2951    yyvsp = yyvs;
3285
2952    goto yysetstate;
2953  
2954   /*------------------------------------------------------------.
# Line 3374 | Line 3040 | yybackup:
3040  
3041    /* First try to decide what to do without reference to lookahead token.  */
3042    yyn = yypact[yystate];
3043 <  if (yyn == YYPACT_NINF)
3043 >  if (yypact_value_is_default (yyn))
3044      goto yydefault;
3045  
3046    /* Not known => get a lookahead token if don't already have one.  */
# Line 3405 | Line 3071 | yybackup:
3071    yyn = yytable[yyn];
3072    if (yyn <= 0)
3073      {
3074 <      if (yyn == 0 || yyn == YYTABLE_NINF)
3075 <        goto yyerrlab;
3074 >      if (yytable_value_is_error (yyn))
3075 >        goto yyerrlab;
3076        yyn = -yyn;
3077        goto yyreduce;
3078      }
# Line 3460 | Line 3126 | yyreduce:
3126    switch (yyn)
3127      {
3128          case 26:
3129 <
3130 < /* Line 1455 of yacc.c  */
3465 < #line 426 "ircd_parser.y"
3129 > /* Line 1787 of yacc.c  */
3130 > #line 359 "conf_parser.y"
3131      { (yyval.number) = 0; }
3132      break;
3133  
3134    case 28:
3135 <
3136 < /* Line 1455 of yacc.c  */
3472 < #line 428 "ircd_parser.y"
3135 > /* Line 1787 of yacc.c  */
3136 > #line 361 "conf_parser.y"
3137      {
3138                          (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number);
3139                  }
3140      break;
3141  
3142    case 29:
3143 <
3144 < /* Line 1455 of yacc.c  */
3481 < #line 432 "ircd_parser.y"
3143 > /* Line 1787 of yacc.c  */
3144 > #line 365 "conf_parser.y"
3145      {
3146                          (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number);
3147                  }
3148      break;
3149  
3150    case 30:
3151 <
3152 < /* Line 1455 of yacc.c  */
3490 < #line 436 "ircd_parser.y"
3151 > /* Line 1787 of yacc.c  */
3152 > #line 369 "conf_parser.y"
3153      {
3154                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 + (yyvsp[(3) - (3)].number);
3155                  }
3156      break;
3157  
3158    case 31:
3159 <
3160 < /* Line 1455 of yacc.c  */
3499 < #line 440 "ircd_parser.y"
3159 > /* Line 1787 of yacc.c  */
3160 > #line 373 "conf_parser.y"
3161      {
3162                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 + (yyvsp[(3) - (3)].number);
3163                  }
3164      break;
3165  
3166    case 32:
3167 <
3168 < /* Line 1455 of yacc.c  */
3508 < #line 444 "ircd_parser.y"
3167 > /* Line 1787 of yacc.c  */
3168 > #line 377 "conf_parser.y"
3169      {
3170                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 + (yyvsp[(3) - (3)].number);
3171                  }
3172      break;
3173  
3174    case 33:
3175 <
3176 < /* Line 1455 of yacc.c  */
3517 < #line 448 "ircd_parser.y"
3175 > /* Line 1787 of yacc.c  */
3176 > #line 381 "conf_parser.y"
3177      {
3178                          (yyval.number) = (yyvsp[(1) - (3)].number) * 60 * 60 * 24 * 7 + (yyvsp[(3) - (3)].number);
3179                  }
3180      break;
3181  
3182    case 34:
3183 <
3184 < /* Line 1455 of yacc.c  */
3526 < #line 453 "ircd_parser.y"
3183 > /* Line 1787 of yacc.c  */
3184 > #line 386 "conf_parser.y"
3185      { (yyval.number) = 0; }
3186      break;
3187  
3188    case 36:
3189 <
3190 < /* Line 1455 of yacc.c  */
3533 < #line 454 "ircd_parser.y"
3189 > /* Line 1787 of yacc.c  */
3190 > #line 387 "conf_parser.y"
3191      { (yyval.number) = (yyvsp[(1) - (2)].number) + (yyvsp[(2) - (2)].number); }
3192      break;
3193  
3194    case 37:
3195 <
3196 < /* Line 1455 of yacc.c  */
3540 < #line 455 "ircd_parser.y"
3195 > /* Line 1787 of yacc.c  */
3196 > #line 388 "conf_parser.y"
3197      { (yyval.number) = (yyvsp[(1) - (3)].number) + (yyvsp[(3) - (3)].number); }
3198      break;
3199  
3200    case 38:
3201 <
3202 < /* Line 1455 of yacc.c  */
3547 < #line 456 "ircd_parser.y"
3201 > /* Line 1787 of yacc.c  */
3202 > #line 389 "conf_parser.y"
3203      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 + (yyvsp[(3) - (3)].number); }
3204      break;
3205  
3206    case 39:
3207 <
3208 < /* Line 1455 of yacc.c  */
3554 < #line 457 "ircd_parser.y"
3207 > /* Line 1787 of yacc.c  */
3208 > #line 390 "conf_parser.y"
3209      { (yyval.number) = (yyvsp[(1) - (3)].number) * 1024 * 1024 + (yyvsp[(3) - (3)].number); }
3210      break;
3211  
3212    case 46:
3213 <
3214 < /* Line 1455 of yacc.c  */
3561 < #line 471 "ircd_parser.y"
3213 > /* Line 1787 of yacc.c  */
3214 > #line 404 "conf_parser.y"
3215      {
3563 #ifndef STATIC_MODULES /* NOOP in the static case */
3216    if (conf_parser_ctx.pass == 2)
3217      add_conf_module(libio_basename(yylval.string));
3566 #endif
3218   }
3219      break;
3220  
3221    case 47:
3222 <
3223 < /* Line 1455 of yacc.c  */
3573 < #line 479 "ircd_parser.y"
3222 > /* Line 1787 of yacc.c  */
3223 > #line 410 "conf_parser.y"
3224      {
3575 #ifndef STATIC_MODULES
3225    if (conf_parser_ctx.pass == 2)
3226      mod_add_path(yylval.string);
3578 #endif
3227   }
3228      break;
3229  
3230 <  case 64:
3231 <
3232 < /* Line 1455 of yacc.c  */
3585 < #line 501 "ircd_parser.y"
3230 >  case 71:
3231 > /* Line 1787 of yacc.c  */
3232 > #line 435 "conf_parser.y"
3233      {
3234   #ifdef HAVE_LIBCRYPTO
3235 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3236 <    ServerInfo.tls_version = 0;
3235 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3236 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_SSLv3);
3237   #endif
3238   }
3239      break;
3240  
3241 <  case 65:
3242 <
3243 < /* Line 1455 of yacc.c  */
3597 < #line 507 "ircd_parser.y"
3241 >  case 72:
3242 > /* Line 1787 of yacc.c  */
3243 > #line 441 "conf_parser.y"
3244      {
3245   #ifdef HAVE_LIBCRYPTO
3246 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3247 <  {
3602 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3603 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3604 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3605 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3606 <  }
3246 >  if (conf_parser_ctx.pass == 2 && ServerInfo.client_ctx)
3247 >    SSL_CTX_clear_options(ServerInfo.client_ctx, SSL_OP_NO_TLSv1);
3248   #endif
3249   }
3250      break;
3251  
3252 <  case 68:
3253 <
3254 < /* Line 1455 of yacc.c  */
3614 < #line 521 "ircd_parser.y"
3252 >  case 75:
3253 > /* Line 1787 of yacc.c  */
3254 > #line 450 "conf_parser.y"
3255      {
3256   #ifdef HAVE_LIBCRYPTO
3257 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3258 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_SSLV3;
3257 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3258 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3259   #endif
3260   }
3261      break;
3262  
3263 <  case 69:
3264 <
3265 < /* Line 1455 of yacc.c  */
3626 < #line 527 "ircd_parser.y"
3263 >  case 76:
3264 > /* Line 1787 of yacc.c  */
3265 > #line 456 "conf_parser.y"
3266      {
3267   #ifdef HAVE_LIBCRYPTO
3268 <  if (conf_parser_ctx.boot && conf_parser_ctx.pass == 2)
3269 <    ServerInfo.tls_version |= CONF_SERVER_INFO_TLS_VERSION_TLSV1;
3268 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3269 >    SSL_CTX_clear_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3270   #endif
3271   }
3272      break;
3273  
3274 <  case 70:
3275 <
3276 < /* Line 1455 of yacc.c  */
3638 < #line 535 "ircd_parser.y"
3274 >  case 77:
3275 > /* Line 1787 of yacc.c  */
3276 > #line 464 "conf_parser.y"
3277      {
3278   #ifdef HAVE_LIBCRYPTO
3279    if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
# Line 3647 | Line 3285 | yyreduce:
3285      }
3286  
3287      if (SSL_CTX_use_certificate_file(ServerInfo.server_ctx, yylval.string,
3288 +                                     SSL_FILETYPE_PEM) <= 0 ||
3289 +        SSL_CTX_use_certificate_file(ServerInfo.client_ctx, yylval.string,
3290                                       SSL_FILETYPE_PEM) <= 0)
3291      {
3292        yyerror(ERR_lib_error_string(ERR_get_error()));
# Line 3654 | Line 3294 | yyreduce:
3294      }
3295  
3296      if (SSL_CTX_use_PrivateKey_file(ServerInfo.server_ctx, ServerInfo.rsa_private_key_file,
3297 +                                    SSL_FILETYPE_PEM) <= 0 ||
3298 +        SSL_CTX_use_PrivateKey_file(ServerInfo.client_ctx, ServerInfo.rsa_private_key_file,
3299                                      SSL_FILETYPE_PEM) <= 0)
3300      {
3301        yyerror(ERR_lib_error_string(ERR_get_error()));
3302        break;
3303      }
3304  
3305 <    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx))
3305 >    if (!SSL_CTX_check_private_key(ServerInfo.server_ctx) ||
3306 >        !SSL_CTX_check_private_key(ServerInfo.client_ctx))
3307      {
3308        yyerror(ERR_lib_error_string(ERR_get_error()));
3309        break;
# Line 3670 | Line 3313 | yyreduce:
3313   }
3314      break;
3315  
3316 <  case 71:
3317 <
3318 < /* Line 1455 of yacc.c  */
3676 < #line 569 "ircd_parser.y"
3316 >  case 78:
3317 > /* Line 1787 of yacc.c  */
3318 > #line 503 "conf_parser.y"
3319      {
3320   #ifdef HAVE_LIBCRYPTO
3321    if (conf_parser_ctx.pass == 1)
# Line 3700 | Line 3342 | yyreduce:
3342        break;
3343      }
3344  
3345 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3704 <      0, NULL);
3345 >    ServerInfo.rsa_private_key = PEM_read_bio_RSAPrivateKey(file, NULL, 0, NULL);
3346  
3347      BIO_set_close(file, BIO_CLOSE);
3348      BIO_free(file);
# Line 3734 | Line 3375 | yyreduce:
3375   }
3376      break;
3377  
3378 <  case 72:
3378 >  case 79:
3379 > /* Line 1787 of yacc.c  */
3380 > #line 562 "conf_parser.y"
3381 >    {
3382 > /* TBD - XXX: error reporting */
3383 > #ifdef HAVE_LIBCRYPTO
3384 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3385 >  {
3386 >    BIO *file = BIO_new_file(yylval.string, "r");
3387  
3388 < /* Line 1455 of yacc.c  */
3389 < #line 629 "ircd_parser.y"
3388 >    if (file)
3389 >    {
3390 >      DH *dh = PEM_read_bio_DHparams(file, NULL, NULL, NULL);
3391 >
3392 >      BIO_free(file);
3393 >
3394 >      if (dh)
3395 >      {
3396 >        if (DH_size(dh) < 128)
3397 >          ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::ssl_dh_param_file -- need at least a 1024 bit DH prime size");
3398 >        else
3399 >          SSL_CTX_set_tmp_dh(ServerInfo.server_ctx, dh);
3400 >
3401 >        DH_free(dh);
3402 >      }
3403 >    }
3404 >  }
3405 > #endif
3406 > }
3407 >    break;
3408 >
3409 >  case 80:
3410 > /* Line 1787 of yacc.c  */
3411 > #line 590 "conf_parser.y"
3412 >    {
3413 > #ifdef HAVE_LIBCRYPTO
3414 >  if (conf_parser_ctx.pass == 2 && ServerInfo.server_ctx)
3415 >    SSL_CTX_set_cipher_list(ServerInfo.server_ctx, yylval.string);
3416 > #endif
3417 > }
3418 >    break;
3419 >
3420 >  case 81:
3421 > /* Line 1787 of yacc.c  */
3422 > #line 598 "conf_parser.y"
3423      {
3424    /* this isn't rehashable */
3425 <  if (conf_parser_ctx.pass == 2)
3425 >  if (conf_parser_ctx.pass == 2 && !ServerInfo.name)
3426    {
3427 <    if (ServerInfo.name == NULL)
3427 >    if (valid_servname(yylval.string))
3428 >      DupString(ServerInfo.name, yylval.string);
3429 >    else
3430      {
3431 <      /* the ircd will exit() in main() if we dont set one */
3432 <      if (strlen(yylval.string) <= HOSTLEN)
3749 <        DupString(ServerInfo.name, yylval.string);
3431 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::name -- invalid name. Aborting.");
3432 >      exit(0);
3433      }
3434    }
3435   }
3436      break;
3437  
3438 <  case 73:
3439 <
3440 < /* Line 1455 of yacc.c  */
3758 < #line 643 "ircd_parser.y"
3438 >  case 82:
3439 > /* Line 1787 of yacc.c  */
3440 > #line 613 "conf_parser.y"
3441      {
3442    /* this isn't rehashable */
3443    if (conf_parser_ctx.pass == 2 && !ServerInfo.sid)
# Line 3764 | Line 3446 | yyreduce:
3446        DupString(ServerInfo.sid, yylval.string);
3447      else
3448      {
3449 <      ilog(L_ERROR, "Ignoring config file entry SID -- invalid SID. Aborting.");
3449 >      ilog(LOG_TYPE_IRCD, "Ignoring serverinfo::sid -- invalid SID. Aborting.");
3450        exit(0);
3451      }
3452    }
3453   }
3454      break;
3455  
3456 <  case 74:
3457 <
3458 < /* Line 1455 of yacc.c  */
3777 < #line 658 "ircd_parser.y"
3456 >  case 83:
3457 > /* Line 1787 of yacc.c  */
3458 > #line 628 "conf_parser.y"
3459      {
3460    if (conf_parser_ctx.pass == 2)
3461    {
# Line 3784 | Line 3465 | yyreduce:
3465   }
3466      break;
3467  
3468 <  case 75:
3469 <
3470 < /* Line 1455 of yacc.c  */
3790 < #line 667 "ircd_parser.y"
3468 >  case 84:
3469 > /* Line 1787 of yacc.c  */
3470 > #line 637 "conf_parser.y"
3471      {
3472    if (conf_parser_ctx.pass == 2)
3473    {
# Line 3802 | Line 3482 | yyreduce:
3482   }
3483      break;
3484  
3485 <  case 76:
3486 <
3487 < /* Line 1455 of yacc.c  */
3808 < #line 681 "ircd_parser.y"
3485 >  case 85:
3486 > /* Line 1787 of yacc.c  */
3487 > #line 651 "conf_parser.y"
3488      {
3489    if (conf_parser_ctx.pass == 2)
3490    {
# Line 3815 | Line 3494 | yyreduce:
3494   }
3495      break;
3496  
3497 <  case 77:
3498 <
3499 < /* Line 1455 of yacc.c  */
3821 < #line 690 "ircd_parser.y"
3497 >  case 86:
3498 > /* Line 1787 of yacc.c  */
3499 > #line 660 "conf_parser.y"
3500      {
3501    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
3502    {
# Line 3830 | Line 3508 | yyreduce:
3508      hints.ai_socktype = SOCK_STREAM;
3509      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3510  
3511 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3512 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
3511 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3512 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
3513      else
3514      {
3515        assert(res != NULL);
# Line 3839 | Line 3517 | yyreduce:
3517        memcpy(&ServerInfo.ip, res->ai_addr, res->ai_addrlen);
3518        ServerInfo.ip.ss.ss_family = res->ai_family;
3519        ServerInfo.ip.ss_len = res->ai_addrlen;
3520 <      irc_freeaddrinfo(res);
3520 >      freeaddrinfo(res);
3521  
3522        ServerInfo.specific_ipv4_vhost = 1;
3523      }
# Line 3847 | Line 3525 | yyreduce:
3525   }
3526      break;
3527  
3528 <  case 78:
3529 <
3530 < /* Line 1455 of yacc.c  */
3853 < #line 718 "ircd_parser.y"
3528 >  case 87:
3529 > /* Line 1787 of yacc.c  */
3530 > #line 688 "conf_parser.y"
3531      {
3532   #ifdef IPV6
3533    if (conf_parser_ctx.pass == 2 && *yylval.string != '*')
# Line 3863 | Line 3540 | yyreduce:
3540      hints.ai_socktype = SOCK_STREAM;
3541      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
3542  
3543 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
3544 <      ilog(L_ERROR, "Invalid netmask for server vhost6(%s)", yylval.string);
3543 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
3544 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost6(%s)", yylval.string);
3545      else
3546      {
3547        assert(res != NULL);
# Line 3872 | Line 3549 | yyreduce:
3549        memcpy(&ServerInfo.ip6, res->ai_addr, res->ai_addrlen);
3550        ServerInfo.ip6.ss.ss_family = res->ai_family;
3551        ServerInfo.ip6.ss_len = res->ai_addrlen;
3552 <      irc_freeaddrinfo(res);
3552 >      freeaddrinfo(res);
3553  
3554        ServerInfo.specific_ipv6_vhost = 1;
3555      }
# Line 3881 | Line 3558 | yyreduce:
3558   }
3559      break;
3560  
3561 <  case 79:
3562 <
3563 < /* Line 1455 of yacc.c  */
3887 < #line 748 "ircd_parser.y"
3561 >  case 88:
3562 > /* Line 1787 of yacc.c  */
3563 > #line 718 "conf_parser.y"
3564      {
3565    if (conf_parser_ctx.pass == 2)
3566    {
# Line 3908 | Line 3584 | yyreduce:
3584   }
3585      break;
3586  
3587 <  case 80:
3588 <
3589 < /* Line 1455 of yacc.c  */
3914 < #line 771 "ircd_parser.y"
3587 >  case 89:
3588 > /* Line 1787 of yacc.c  */
3589 > #line 741 "conf_parser.y"
3590      {
3591    if (conf_parser_ctx.pass == 2)
3592 <  {
3918 <    if (yylval.number)
3919 <    {
3920 <      ServerInfo.hub = 1;
3921 <      delete_capability("HUB");
3922 <      add_capability("HUB", CAP_HUB, 1);
3923 <    }
3924 <    else if (ServerInfo.hub)
3925 <    {
3926 <
3927 <      ServerInfo.hub = 0;
3928 <      delete_capability("HUB");
3929 <    }
3930 <  }
3592 >    ServerInfo.hub = yylval.number;
3593   }
3594      break;
3595  
3596 <  case 88:
3597 <
3598 < /* Line 1455 of yacc.c  */
3937 < #line 799 "ircd_parser.y"
3596 >  case 97:
3597 > /* Line 1787 of yacc.c  */
3598 > #line 756 "conf_parser.y"
3599      {
3600    if (conf_parser_ctx.pass == 2)
3601    {
# Line 3944 | Line 3605 | yyreduce:
3605   }
3606      break;
3607  
3608 <  case 89:
3609 <
3610 < /* Line 1455 of yacc.c  */
3950 < #line 808 "ircd_parser.y"
3608 >  case 98:
3609 > /* Line 1787 of yacc.c  */
3610 > #line 765 "conf_parser.y"
3611      {
3612    if (conf_parser_ctx.pass == 2)
3613    {
# Line 3957 | Line 3617 | yyreduce:
3617   }
3618      break;
3619  
3620 <  case 90:
3621 <
3622 < /* Line 1455 of yacc.c  */
3963 < #line 817 "ircd_parser.y"
3620 >  case 99:
3621 > /* Line 1787 of yacc.c  */
3622 > #line 774 "conf_parser.y"
3623      {
3624    if (conf_parser_ctx.pass == 2)
3625    {
# Line 3970 | Line 3629 | yyreduce:
3629   }
3630      break;
3631  
3632 <  case 107:
3633 <
3634 < /* Line 1455 of yacc.c  */
3976 < #line 844 "ircd_parser.y"
3977 <    {
3978 <                        }
3979 <    break;
3980 <
3981 <  case 108:
3982 <
3983 < /* Line 1455 of yacc.c  */
3984 < #line 848 "ircd_parser.y"
3985 <    {
3986 <                        }
3987 <    break;
3988 <
3989 <  case 109:
3990 <
3991 < /* Line 1455 of yacc.c  */
3992 < #line 852 "ircd_parser.y"
3993 <    {
3994 <  if (conf_parser_ctx.pass == 2)
3995 <    strlcpy(ConfigLoggingEntry.userlog, yylval.string,
3996 <            sizeof(ConfigLoggingEntry.userlog));
3997 < }
3998 <    break;
3999 <
4000 <  case 110:
4001 <
4002 < /* Line 1455 of yacc.c  */
4003 < #line 859 "ircd_parser.y"
3632 >  case 106:
3633 > /* Line 1787 of yacc.c  */
3634 > #line 792 "conf_parser.y"
3635      {
3636    if (conf_parser_ctx.pass == 2)
3637 <    strlcpy(ConfigLoggingEntry.failed_operlog, yylval.string,
4007 <            sizeof(ConfigLoggingEntry.failed_operlog));
3637 >    ConfigLoggingEntry.use_logging = yylval.number;
3638   }
3639      break;
3640  
3641 <  case 111:
3642 <
3643 < /* Line 1455 of yacc.c  */
4014 < #line 866 "ircd_parser.y"
3641 >  case 107:
3642 > /* Line 1787 of yacc.c  */
3643 > #line 798 "conf_parser.y"
3644      {
3645 <  if (conf_parser_ctx.pass == 2)
3646 <    strlcpy(ConfigLoggingEntry.operlog, yylval.string,
3647 <            sizeof(ConfigLoggingEntry.operlog));
3645 >  lfile[0] = '\0';
3646 >  ltype = 0;
3647 >  lsize = 0;
3648   }
3649      break;
3650  
3651 <  case 112:
3652 <
3653 < /* Line 1455 of yacc.c  */
4025 < #line 873 "ircd_parser.y"
3651 >  case 108:
3652 > /* Line 1787 of yacc.c  */
3653 > #line 803 "conf_parser.y"
3654      {
3655 <  if (conf_parser_ctx.pass == 2)
3656 <    strlcpy(ConfigLoggingEntry.operspylog, yylval.string,
4029 <            sizeof(ConfigLoggingEntry.operspylog));
3655 >  if (conf_parser_ctx.pass == 2 && ltype > 0)
3656 >    log_add_file(ltype, lsize, lfile);
3657   }
3658      break;
3659  
3660 <  case 113:
3661 <
3662 < /* Line 1455 of yacc.c  */
4036 < #line 880 "ircd_parser.y"
3660 >  case 115:
3661 > /* Line 1787 of yacc.c  */
3662 > #line 815 "conf_parser.y"
3663      {
3664 <  if (conf_parser_ctx.pass == 2)
4039 <    strlcpy(ConfigLoggingEntry.glinelog, yylval.string,
4040 <            sizeof(ConfigLoggingEntry.glinelog));
3664 >  strlcpy(lfile, yylval.string, sizeof(lfile));
3665   }
3666      break;
3667  
3668 <  case 114:
3669 <
3670 < /* Line 1455 of yacc.c  */
4047 < #line 887 "ircd_parser.y"
3668 >  case 116:
3669 > /* Line 1787 of yacc.c  */
3670 > #line 820 "conf_parser.y"
3671      {
3672 <  if (conf_parser_ctx.pass == 2)
4050 <    strlcpy(ConfigLoggingEntry.klinelog, yylval.string,
4051 <            sizeof(ConfigLoggingEntry.klinelog));
3672 >  lsize = (yyvsp[(3) - (4)].number);
3673   }
3674      break;
3675  
3676 <  case 115:
3677 <
3678 < /* Line 1455 of yacc.c  */
4058 < #line 894 "ircd_parser.y"
3676 >  case 117:
3677 > /* Line 1787 of yacc.c  */
3678 > #line 823 "conf_parser.y"
3679      {
3680 <  if (conf_parser_ctx.pass == 2)
4061 <    strlcpy(ConfigLoggingEntry.ioerrlog, yylval.string,
4062 <            sizeof(ConfigLoggingEntry.ioerrlog));
3680 >  lsize = 0;
3681   }
3682      break;
3683  
3684 <  case 116:
3685 <
3686 < /* Line 1455 of yacc.c  */
4069 < #line 901 "ircd_parser.y"
3684 >  case 118:
3685 > /* Line 1787 of yacc.c  */
3686 > #line 828 "conf_parser.y"
3687      {
3688    if (conf_parser_ctx.pass == 2)
3689 <    strlcpy(ConfigLoggingEntry.killlog, yylval.string,
4073 <            sizeof(ConfigLoggingEntry.killlog));
3689 >    ltype = 0;
3690   }
3691      break;
3692  
3693 <  case 117:
3694 <
3695 < /* Line 1455 of yacc.c  */
4080 < #line 908 "ircd_parser.y"
4081 <    {
4082 <  if (conf_parser_ctx.pass == 2)
4083 <    set_log_level(L_CRIT);
4084 < }
4085 <    break;
4086 <
4087 <  case 118:
4088 <
4089 < /* Line 1455 of yacc.c  */
4090 < #line 912 "ircd_parser.y"
3693 >  case 122:
3694 > /* Line 1787 of yacc.c  */
3695 > #line 835 "conf_parser.y"
3696      {
3697    if (conf_parser_ctx.pass == 2)
3698 <    set_log_level(L_ERROR);
3698 >    ltype = LOG_TYPE_USER;
3699   }
3700      break;
3701  
3702 <  case 119:
3703 <
3704 < /* Line 1455 of yacc.c  */
4100 < #line 916 "ircd_parser.y"
3702 >  case 123:
3703 > /* Line 1787 of yacc.c  */
3704 > #line 839 "conf_parser.y"
3705      {
3706    if (conf_parser_ctx.pass == 2)
3707 <    set_log_level(L_WARN);
3707 >    ltype = LOG_TYPE_OPER;
3708   }
3709      break;
3710  
3711 <  case 120:
3712 <
3713 < /* Line 1455 of yacc.c  */
4110 < #line 920 "ircd_parser.y"
3711 >  case 124:
3712 > /* Line 1787 of yacc.c  */
3713 > #line 843 "conf_parser.y"
3714      {
3715    if (conf_parser_ctx.pass == 2)
3716 <    set_log_level(L_NOTICE);
3716 >    ltype = LOG_TYPE_GLINE;
3717   }
3718      break;
3719  
3720 <  case 121:
3721 <
3722 < /* Line 1455 of yacc.c  */
4120 < #line 924 "ircd_parser.y"
3720 >  case 125:
3721 > /* Line 1787 of yacc.c  */
3722 > #line 847 "conf_parser.y"
3723      {
3724    if (conf_parser_ctx.pass == 2)
3725 <    set_log_level(L_TRACE);
3725 >    ltype = LOG_TYPE_DLINE;
3726   }
3727      break;
3728  
3729 <  case 122:
3730 <
3731 < /* Line 1455 of yacc.c  */
4130 < #line 928 "ircd_parser.y"
3729 >  case 126:
3730 > /* Line 1787 of yacc.c  */
3731 > #line 851 "conf_parser.y"
3732      {
3733    if (conf_parser_ctx.pass == 2)
3734 <    set_log_level(L_INFO);
3734 >    ltype = LOG_TYPE_KLINE;
3735   }
3736      break;
3737  
3738 <  case 123:
3739 <
3740 < /* Line 1455 of yacc.c  */
4140 < #line 932 "ircd_parser.y"
3738 >  case 127:
3739 > /* Line 1787 of yacc.c  */
3740 > #line 855 "conf_parser.y"
3741      {
3742    if (conf_parser_ctx.pass == 2)
3743 <    set_log_level(L_DEBUG);
3743 >    ltype = LOG_TYPE_KILL;
3744   }
3745      break;
3746  
3747 <  case 124:
3748 <
3749 < /* Line 1455 of yacc.c  */
4150 < #line 938 "ircd_parser.y"
3747 >  case 128:
3748 > /* Line 1787 of yacc.c  */
3749 > #line 859 "conf_parser.y"
3750      {
3751    if (conf_parser_ctx.pass == 2)
3752 <    ConfigLoggingEntry.use_logging = yylval.number;
3752 >    ltype = LOG_TYPE_DEBUG;
3753   }
3754      break;
3755  
3756 <  case 125:
3757 <
3758 < /* Line 1455 of yacc.c  */
4160 < #line 947 "ircd_parser.y"
3756 >  case 129:
3757 > /* Line 1787 of yacc.c  */
3758 > #line 869 "conf_parser.y"
3759      {
3760    if (conf_parser_ctx.pass == 2)
3761    {
# Line 4173 | Line 3771 | yyreduce:
3771   }
3772      break;
3773  
3774 <  case 126:
3775 <
3776 < /* Line 1455 of yacc.c  */
4179 < #line 960 "ircd_parser.y"
3774 >  case 130:
3775 > /* Line 1787 of yacc.c  */
3776 > #line 882 "conf_parser.y"
3777      {
3778    if (conf_parser_ctx.pass == 2)
3779    {
# Line 4211 | Line 3808 | yyreduce:
3808          DupString(new_aconf->host, yy_tmp->host);
3809        else
3810          DupString(new_aconf->host, "*");
3811 +
3812 +      new_aconf->type = parse_netmask(new_aconf->host, &new_aconf->addr,
3813 +                                     &new_aconf->bits);
3814 +
3815        conf_add_class_to_conf(new_conf, class_name);
3816        if (yy_aconf->passwd != NULL)
3817          DupString(new_aconf->passwd, yy_aconf->passwd);
# Line 4225 | Line 3826 | yyreduce:
3826                    yy_aconf->rsa_public_key_file);
3827  
3828          file = BIO_new_file(yy_aconf->rsa_public_key_file, "r");
3829 <        new_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file,
3829 >        new_aconf->rsa_public_key = PEM_read_bio_RSA_PUBKEY(file,
3830                                                             NULL, 0, NULL);
3831          BIO_set_close(file, BIO_CLOSE);
3832          BIO_free(file);
# Line 4258 | Line 3859 | yyreduce:
3859   }
3860      break;
3861  
3862 <  case 154:
3863 <
3864 < /* Line 1455 of yacc.c  */
4264 < #line 1052 "ircd_parser.y"
4265 <    {
4266 <  if (conf_parser_ctx.pass == 2)
4267 <  {
4268 <    if (strlen(yylval.string) > OPERNICKLEN)
4269 <      yylval.string[OPERNICKLEN] = '\0';
4270 <
4271 <    MyFree(yy_conf->name);
4272 <    DupString(yy_conf->name, yylval.string);
4273 <  }
4274 < }
4275 <    break;
4276 <
4277 <  case 155:
4278 <
4279 < /* Line 1455 of yacc.c  */
4280 < #line 1064 "ircd_parser.y"
3862 >  case 142:
3863 > /* Line 1787 of yacc.c  */
3864 > #line 972 "conf_parser.y"
3865      {
3866    if (conf_parser_ctx.pass == 2)
3867    {
4284    if (strlen(yylval.string) > OPERNICKLEN)
4285      yylval.string[OPERNICKLEN] = '\0';
4286
3868      MyFree(yy_conf->name);
3869      DupString(yy_conf->name, yylval.string);
3870    }
3871   }
3872      break;
3873  
3874 <  case 156:
3875 <
3876 < /* Line 1455 of yacc.c  */
4296 < #line 1076 "ircd_parser.y"
3874 >  case 143:
3875 > /* Line 1787 of yacc.c  */
3876 > #line 981 "conf_parser.y"
3877      {
3878    if (conf_parser_ctx.pass == 2)
3879    {
# Line 4314 | Line 3894 | yyreduce:
3894      {
3895        DupString(yy_aconf->user, userbuf);
3896        DupString(yy_aconf->host, hostbuf);
3897 +
3898 +      yy_aconf->type = parse_netmask(yy_aconf->host, &yy_aconf->addr,
3899 +                                    &yy_aconf->bits);
3900      }
3901      else
3902      {
# Line 4328 | Line 3911 | yyreduce:
3911   }
3912      break;
3913  
3914 <  case 157:
3915 <
3916 < /* Line 1455 of yacc.c  */
4334 < #line 1110 "ircd_parser.y"
3914 >  case 144:
3915 > /* Line 1787 of yacc.c  */
3916 > #line 1018 "conf_parser.y"
3917      {
3918    if (conf_parser_ctx.pass == 2)
3919    {
# Line 4344 | Line 3926 | yyreduce:
3926   }
3927      break;
3928  
3929 <  case 158:
3930 <
3931 < /* Line 1455 of yacc.c  */
4350 < #line 1122 "ircd_parser.y"
3929 >  case 145:
3930 > /* Line 1787 of yacc.c  */
3931 > #line 1030 "conf_parser.y"
3932      {
3933    if (conf_parser_ctx.pass == 2)
3934    {
# Line 4359 | Line 3940 | yyreduce:
3940   }
3941      break;
3942  
3943 <  case 159:
3944 <
3945 < /* Line 1455 of yacc.c  */
4365 < #line 1133 "ircd_parser.y"
3943 >  case 146:
3944 > /* Line 1787 of yacc.c  */
3945 > #line 1041 "conf_parser.y"
3946      {
3947   #ifdef HAVE_LIBCRYPTO
3948    if (conf_parser_ctx.pass == 2)
# Line 4390 | Line 3970 | yyreduce:
3970        break;
3971      }
3972  
3973 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
3973 >    yy_aconf->rsa_public_key = PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
3974  
3975      if (yy_aconf->rsa_public_key == NULL)
3976      {
# Line 4405 | Line 3985 | yyreduce:
3985   }
3986      break;
3987  
3988 <  case 160:
3989 <
3990 < /* Line 1455 of yacc.c  */
4411 < #line 1175 "ircd_parser.y"
3988 >  case 147:
3989 > /* Line 1787 of yacc.c  */
3990 > #line 1083 "conf_parser.y"
3991      {
3992    if (conf_parser_ctx.pass == 2)
3993    {
# Line 4418 | Line 3997 | yyreduce:
3997   }
3998      break;
3999  
4000 <  case 161:
4001 <
4002 < /* Line 1455 of yacc.c  */
4424 < #line 1184 "ircd_parser.y"
4000 >  case 148:
4001 > /* Line 1787 of yacc.c  */
4002 > #line 1092 "conf_parser.y"
4003      {
4004    if (conf_parser_ctx.pass == 2)
4005      yy_aconf->modes = 0;
4006   }
4007      break;
4008  
4009 <  case 165:
4010 <
4011 < /* Line 1455 of yacc.c  */
4434 < #line 1191 "ircd_parser.y"
4009 >  case 152:
4010 > /* Line 1787 of yacc.c  */
4011 > #line 1099 "conf_parser.y"
4012      {
4013    if (conf_parser_ctx.pass == 2)
4014      yy_aconf->modes |= UMODE_BOTS;
4015   }
4016      break;
4017  
4018 <  case 166:
4019 <
4020 < /* Line 1455 of yacc.c  */
4444 < #line 1195 "ircd_parser.y"
4018 >  case 153:
4019 > /* Line 1787 of yacc.c  */
4020 > #line 1103 "conf_parser.y"
4021      {
4022    if (conf_parser_ctx.pass == 2)
4023      yy_aconf->modes |= UMODE_CCONN;
4024   }
4025      break;
4026  
4027 <  case 167:
4028 <
4029 < /* Line 1455 of yacc.c  */
4454 < #line 1199 "ircd_parser.y"
4027 >  case 154:
4028 > /* Line 1787 of yacc.c  */
4029 > #line 1107 "conf_parser.y"
4030      {
4031    if (conf_parser_ctx.pass == 2)
4032      yy_aconf->modes |= UMODE_CCONN_FULL;
4033   }
4034      break;
4035  
4036 <  case 168:
4037 <
4038 < /* Line 1455 of yacc.c  */
4464 < #line 1203 "ircd_parser.y"
4036 >  case 155:
4037 > /* Line 1787 of yacc.c  */
4038 > #line 1111 "conf_parser.y"
4039      {
4040    if (conf_parser_ctx.pass == 2)
4041      yy_aconf->modes |= UMODE_DEAF;
4042   }
4043      break;
4044  
4045 <  case 169:
4046 <
4047 < /* Line 1455 of yacc.c  */
4474 < #line 1207 "ircd_parser.y"
4045 >  case 156:
4046 > /* Line 1787 of yacc.c  */
4047 > #line 1115 "conf_parser.y"
4048      {
4049    if (conf_parser_ctx.pass == 2)
4050      yy_aconf->modes |= UMODE_DEBUG;
4051   }
4052      break;
4053  
4054 <  case 170:
4055 <
4056 < /* Line 1455 of yacc.c  */
4484 < #line 1211 "ircd_parser.y"
4054 >  case 157:
4055 > /* Line 1787 of yacc.c  */
4056 > #line 1119 "conf_parser.y"
4057      {
4058    if (conf_parser_ctx.pass == 2)
4059      yy_aconf->modes |= UMODE_FULL;
4060   }
4061      break;
4062  
4063 <  case 171:
4063 >  case 158:
4064 > /* Line 1787 of yacc.c  */
4065 > #line 1123 "conf_parser.y"
4066 >    {
4067 >  if (conf_parser_ctx.pass == 2)
4068 >    yy_aconf->modes |= UMODE_HIDDEN;
4069 > }
4070 >    break;
4071  
4072 < /* Line 1455 of yacc.c  */
4073 < #line 1215 "ircd_parser.y"
4072 >  case 159:
4073 > /* Line 1787 of yacc.c  */
4074 > #line 1127 "conf_parser.y"
4075      {
4076    if (conf_parser_ctx.pass == 2)
4077      yy_aconf->modes |= UMODE_SKILL;
4078   }
4079      break;
4080  
4081 <  case 172:
4082 <
4083 < /* Line 1455 of yacc.c  */
4504 < #line 1219 "ircd_parser.y"
4081 >  case 160:
4082 > /* Line 1787 of yacc.c  */
4083 > #line 1131 "conf_parser.y"
4084      {
4085    if (conf_parser_ctx.pass == 2)
4086      yy_aconf->modes |= UMODE_NCHANGE;
4087   }
4088      break;
4089  
4090 <  case 173:
4091 <
4092 < /* Line 1455 of yacc.c  */
4514 < #line 1223 "ircd_parser.y"
4090 >  case 161:
4091 > /* Line 1787 of yacc.c  */
4092 > #line 1135 "conf_parser.y"
4093      {
4094    if (conf_parser_ctx.pass == 2)
4095      yy_aconf->modes |= UMODE_REJ;
4096   }
4097      break;
4098  
4099 <  case 174:
4100 <
4101 < /* Line 1455 of yacc.c  */
4524 < #line 1227 "ircd_parser.y"
4099 >  case 162:
4100 > /* Line 1787 of yacc.c  */
4101 > #line 1139 "conf_parser.y"
4102      {
4103    if (conf_parser_ctx.pass == 2)
4104      yy_aconf->modes |= UMODE_UNAUTH;
4105   }
4106      break;
4107  
4108 <  case 175:
4109 <
4110 < /* Line 1455 of yacc.c  */
4534 < #line 1231 "ircd_parser.y"
4108 >  case 163:
4109 > /* Line 1787 of yacc.c  */
4110 > #line 1143 "conf_parser.y"
4111      {
4112    if (conf_parser_ctx.pass == 2)
4113      yy_aconf->modes |= UMODE_SPY;
4114   }
4115      break;
4116  
4117 <  case 176:
4118 <
4119 < /* Line 1455 of yacc.c  */
4544 < #line 1235 "ircd_parser.y"
4117 >  case 164:
4118 > /* Line 1787 of yacc.c  */
4119 > #line 1147 "conf_parser.y"
4120      {
4121    if (conf_parser_ctx.pass == 2)
4122      yy_aconf->modes |= UMODE_EXTERNAL;
4123   }
4124      break;
4125  
4126 <  case 177:
4127 <
4128 < /* Line 1455 of yacc.c  */
4554 < #line 1239 "ircd_parser.y"
4126 >  case 165:
4127 > /* Line 1787 of yacc.c  */
4128 > #line 1151 "conf_parser.y"
4129      {
4130    if (conf_parser_ctx.pass == 2)
4131      yy_aconf->modes |= UMODE_OPERWALL;
4132   }
4133      break;
4134  
4135 <  case 178:
4136 <
4137 < /* Line 1455 of yacc.c  */
4564 < #line 1243 "ircd_parser.y"
4135 >  case 166:
4136 > /* Line 1787 of yacc.c  */
4137 > #line 1155 "conf_parser.y"
4138      {
4139    if (conf_parser_ctx.pass == 2)
4140      yy_aconf->modes |= UMODE_SERVNOTICE;
4141   }
4142      break;
4143  
4144 <  case 179:
4145 <
4146 < /* Line 1455 of yacc.c  */
4574 < #line 1247 "ircd_parser.y"
4144 >  case 167:
4145 > /* Line 1787 of yacc.c  */
4146 > #line 1159 "conf_parser.y"
4147      {
4148    if (conf_parser_ctx.pass == 2)
4149      yy_aconf->modes |= UMODE_INVISIBLE;
4150   }
4151      break;
4152  
4153 <  case 180:
4154 <
4155 < /* Line 1455 of yacc.c  */
4584 < #line 1251 "ircd_parser.y"
4153 >  case 168:
4154 > /* Line 1787 of yacc.c  */
4155 > #line 1163 "conf_parser.y"
4156      {
4157    if (conf_parser_ctx.pass == 2)
4158      yy_aconf->modes |= UMODE_WALLOP;
4159   }
4160      break;
4161  
4162 <  case 181:
4163 <
4164 < /* Line 1455 of yacc.c  */
4594 < #line 1255 "ircd_parser.y"
4162 >  case 169:
4163 > /* Line 1787 of yacc.c  */
4164 > #line 1167 "conf_parser.y"
4165      {
4166    if (conf_parser_ctx.pass == 2)
4167      yy_aconf->modes |= UMODE_SOFTCALLERID;
4168   }
4169      break;
4170  
4171 <  case 182:
4172 <
4173 < /* Line 1455 of yacc.c  */
4604 < #line 1259 "ircd_parser.y"
4171 >  case 170:
4172 > /* Line 1787 of yacc.c  */
4173 > #line 1171 "conf_parser.y"
4174      {
4175    if (conf_parser_ctx.pass == 2)
4176      yy_aconf->modes |= UMODE_CALLERID;
4177   }
4178      break;
4179  
4180 <  case 183:
4181 <
4182 < /* Line 1455 of yacc.c  */
4614 < #line 1263 "ircd_parser.y"
4180 >  case 171:
4181 > /* Line 1787 of yacc.c  */
4182 > #line 1175 "conf_parser.y"
4183      {
4184    if (conf_parser_ctx.pass == 2)
4185      yy_aconf->modes |= UMODE_LOCOPS;
4186   }
4187      break;
4188  
4189 <  case 184:
4190 <
4191 < /* Line 1455 of yacc.c  */
4624 < #line 1269 "ircd_parser.y"
4625 <    {
4626 <  if (conf_parser_ctx.pass == 2)
4627 <  {
4628 <    if (yylval.number)
4629 <      yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4630 <    else
4631 <      yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4632 <  }
4633 < }
4634 <    break;
4635 <
4636 <  case 185:
4637 <
4638 < /* Line 1455 of yacc.c  */
4639 < #line 1280 "ircd_parser.y"
4640 <    {
4641 <  if (conf_parser_ctx.pass == 2)
4642 <  {
4643 <    if (yylval.number)
4644 <      yy_aconf->port |= OPER_FLAG_REMOTE;
4645 <    else
4646 <      yy_aconf->port &= ~OPER_FLAG_REMOTE;
4647 <  }
4648 < }
4649 <    break;
4650 <
4651 <  case 186:
4652 <
4653 < /* Line 1455 of yacc.c  */
4654 < #line 1291 "ircd_parser.y"
4655 <    {
4656 <  if (conf_parser_ctx.pass == 2)
4657 <  {
4658 <    if (yylval.number)
4659 <      yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4660 <    else
4661 <      yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
4662 <  }
4663 < }
4664 <    break;
4665 <
4666 <  case 187:
4667 <
4668 < /* Line 1455 of yacc.c  */
4669 < #line 1302 "ircd_parser.y"
4670 <    {
4671 <  if (conf_parser_ctx.pass == 2)
4672 <  {
4673 <    if (yylval.number)
4674 <      yy_aconf->port |= OPER_FLAG_K;
4675 <    else
4676 <      yy_aconf->port &= ~OPER_FLAG_K;
4677 <  }
4678 < }
4679 <    break;
4680 <
4681 <  case 188:
4682 <
4683 < /* Line 1455 of yacc.c  */
4684 < #line 1313 "ircd_parser.y"
4685 <    {
4686 <  if (conf_parser_ctx.pass == 2)
4687 <  {
4688 <    if (yylval.number)
4689 <      yy_aconf->port |= OPER_FLAG_X;
4690 <    else
4691 <      yy_aconf->port &= ~OPER_FLAG_X;
4692 <  }
4693 < }
4694 <    break;
4695 <
4696 <  case 189:
4697 <
4698 < /* Line 1455 of yacc.c  */
4699 < #line 1324 "ircd_parser.y"
4700 <    {
4701 <  if (conf_parser_ctx.pass == 2)
4702 <  {
4703 <    if (yylval.number)
4704 <      yy_aconf->port |= OPER_FLAG_UNKLINE;
4705 <    else
4706 <      yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4707 <  }
4708 < }
4709 <    break;
4710 <
4711 <  case 190:
4712 <
4713 < /* Line 1455 of yacc.c  */
4714 < #line 1335 "ircd_parser.y"
4715 <    {
4716 <  if (conf_parser_ctx.pass == 2)
4717 <  {
4718 <    if (yylval.number)
4719 <      yy_aconf->port |= OPER_FLAG_GLINE;
4720 <    else
4721 <      yy_aconf->port &= ~OPER_FLAG_GLINE;
4722 <  }
4723 < }
4724 <    break;
4725 <
4726 <  case 191:
4727 <
4728 < /* Line 1455 of yacc.c  */
4729 < #line 1346 "ircd_parser.y"
4730 <    {
4731 <  if (conf_parser_ctx.pass == 2)
4732 <  {
4733 <    if (yylval.number)
4734 <      yy_aconf->port |= OPER_FLAG_N;
4735 <    else
4736 <      yy_aconf->port &= ~OPER_FLAG_N;
4737 <  }
4738 < }
4739 <    break;
4740 <
4741 <  case 192:
4742 <
4743 < /* Line 1455 of yacc.c  */
4744 < #line 1357 "ircd_parser.y"
4745 <    {
4746 <  if (conf_parser_ctx.pass == 2)
4747 <  {
4748 <    if (yylval.number)
4749 <      yy_aconf->port |= OPER_FLAG_DIE;
4750 <    else
4751 <      yy_aconf->port &= ~OPER_FLAG_DIE;
4752 <  }
4753 < }
4754 <    break;
4755 <
4756 <  case 193:
4757 <
4758 < /* Line 1455 of yacc.c  */
4759 < #line 1368 "ircd_parser.y"
4760 <    {
4761 <  if (conf_parser_ctx.pass == 2)
4762 <  {
4763 <    if (yylval.number)
4764 <      yy_aconf->port |= OPER_FLAG_REHASH;
4765 <    else
4766 <      yy_aconf->port &= ~OPER_FLAG_REHASH;
4767 <  }
4768 < }
4769 <    break;
4770 <
4771 <  case 194:
4772 <
4773 < /* Line 1455 of yacc.c  */
4774 < #line 1379 "ircd_parser.y"
4189 >  case 172:
4190 > /* Line 1787 of yacc.c  */
4191 > #line 1181 "conf_parser.y"
4192      {
4193    if (conf_parser_ctx.pass == 2)
4194 <  {
4778 <    if (yylval.number)
4779 <      yy_aconf->port |= OPER_FLAG_ADMIN;
4780 <    else
4781 <      yy_aconf->port &= ~OPER_FLAG_ADMIN;
4782 <  }
4194 >    yy_aconf->port = 0;
4195   }
4196      break;
4197  
4198 <  case 195:
4199 <
4200 < /* Line 1455 of yacc.c  */
4789 < #line 1390 "ircd_parser.y"
4198 >  case 176:
4199 > /* Line 1787 of yacc.c  */
4200 > #line 1188 "conf_parser.y"
4201      {
4202    if (conf_parser_ctx.pass == 2)
4203 <  {
4793 <    if (yylval.number)
4794 <      yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4795 <    else
4796 <      yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4797 <  }
4203 >    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4204   }
4205      break;
4206  
4207 <  case 196:
4208 <
4209 < /* Line 1455 of yacc.c  */
4804 < #line 1401 "ircd_parser.y"
4207 >  case 177:
4208 > /* Line 1787 of yacc.c  */
4209 > #line 1192 "conf_parser.y"
4210      {
4211    if (conf_parser_ctx.pass == 2)
4212 <  {
4808 <    if (yylval.number)
4809 <      yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
4810 <    else
4811 <      yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
4812 <  }
4212 >    yy_aconf->port |= OPER_FLAG_REMOTE;
4213   }
4214      break;
4215  
4216 <  case 197:
4217 <
4218 < /* Line 1455 of yacc.c  */
4819 < #line 1412 "ircd_parser.y"
4216 >  case 178:
4217 > /* Line 1787 of yacc.c  */
4218 > #line 1196 "conf_parser.y"
4219      {
4220    if (conf_parser_ctx.pass == 2)
4221 <  {
4823 <    if (yylval.number)
4824 <      yy_aconf->port |= OPER_FLAG_OPERWALL;
4825 <    else
4826 <      yy_aconf->port &= ~OPER_FLAG_OPERWALL;
4827 <  }
4221 >    yy_aconf->port |= OPER_FLAG_K;
4222   }
4223      break;
4224  
4225 <  case 198:
4226 <
4227 < /* Line 1455 of yacc.c  */
4834 < #line 1423 "ircd_parser.y"
4835 <    {
4836 < }
4837 <    break;
4838 <
4839 <  case 202:
4840 <
4841 < /* Line 1455 of yacc.c  */
4842 < #line 1427 "ircd_parser.y"
4843 <    { not_atom = 1; }
4844 <    break;
4845 <
4846 <  case 204:
4847 <
4848 < /* Line 1455 of yacc.c  */
4849 < #line 1428 "ircd_parser.y"
4850 <    { not_atom = 0; }
4851 <    break;
4852 <
4853 <  case 206:
4854 <
4855 < /* Line 1455 of yacc.c  */
4856 < #line 1431 "ircd_parser.y"
4225 >  case 179:
4226 > /* Line 1787 of yacc.c  */
4227 > #line 1200 "conf_parser.y"
4228      {
4229    if (conf_parser_ctx.pass == 2)
4230 <  {
4860 <    if (not_atom)yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4861 <    else yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4862 <  }
4230 >    yy_aconf->port |= OPER_FLAG_UNKLINE;
4231   }
4232      break;
4233  
4234 <  case 207:
4235 <
4236 < /* Line 1455 of yacc.c  */
4869 < #line 1438 "ircd_parser.y"
4234 >  case 180:
4235 > /* Line 1787 of yacc.c  */
4236 > #line 1204 "conf_parser.y"
4237      {
4238    if (conf_parser_ctx.pass == 2)
4239 <  {
4873 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTE;
4874 <    else yy_aconf->port |= OPER_FLAG_REMOTE;
4875 <  }
4239 >    yy_aconf->port |= OPER_FLAG_DLINE;
4240   }
4241      break;
4242  
4243 <  case 208:
4244 <
4245 < /* Line 1455 of yacc.c  */
4882 < #line 1445 "ircd_parser.y"
4243 >  case 181:
4244 > /* Line 1787 of yacc.c  */
4245 > #line 1208 "conf_parser.y"
4246      {
4247    if (conf_parser_ctx.pass == 2)
4248 <  {
4886 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_K;
4887 <    else yy_aconf->port |= OPER_FLAG_K;
4888 <  }
4248 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4249   }
4250      break;
4251  
4252 <  case 209:
4253 <
4254 < /* Line 1455 of yacc.c  */
4895 < #line 1452 "ircd_parser.y"
4252 >  case 182:
4253 > /* Line 1787 of yacc.c  */
4254 > #line 1212 "conf_parser.y"
4255      {
4256    if (conf_parser_ctx.pass == 2)
4257 <  {
4899 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4900 <    else yy_aconf->port |= OPER_FLAG_UNKLINE;
4901 <  }
4257 >    yy_aconf->port |= OPER_FLAG_X;
4258   }
4259      break;
4260  
4261 <  case 210:
4262 <
4263 < /* Line 1455 of yacc.c  */
4908 < #line 1459 "ircd_parser.y"
4261 >  case 183:
4262 > /* Line 1787 of yacc.c  */
4263 > #line 1216 "conf_parser.y"
4264      {
4265    if (conf_parser_ctx.pass == 2)
4266 <  {
4912 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_X;
4913 <    else yy_aconf->port |= OPER_FLAG_X;
4914 <  }
4266 >    yy_aconf->port |= OPER_FLAG_GLINE;
4267   }
4268      break;
4269  
4270 <  case 211:
4271 <
4272 < /* Line 1455 of yacc.c  */
4921 < #line 1466 "ircd_parser.y"
4270 >  case 184:
4271 > /* Line 1787 of yacc.c  */
4272 > #line 1220 "conf_parser.y"
4273      {
4274    if (conf_parser_ctx.pass == 2)
4275 <  {
4925 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_GLINE;
4926 <    else yy_aconf->port |= OPER_FLAG_GLINE;
4927 <  }
4275 >    yy_aconf->port |= OPER_FLAG_DIE;
4276   }
4277      break;
4278  
4279 <  case 212:
4280 <
4281 < /* Line 1455 of yacc.c  */
4934 < #line 1473 "ircd_parser.y"
4279 >  case 185:
4280 > /* Line 1787 of yacc.c  */
4281 > #line 1224 "conf_parser.y"
4282      {
4283    if (conf_parser_ctx.pass == 2)
4284 <  {
4938 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_DIE;
4939 <    else yy_aconf->port |= OPER_FLAG_DIE;
4940 <  }
4284 >    yy_aconf->port |= OPER_FLAG_RESTART;
4285   }
4286      break;
4287  
4288 <  case 213:
4289 <
4290 < /* Line 1455 of yacc.c  */
4947 < #line 1480 "ircd_parser.y"
4288 >  case 186:
4289 > /* Line 1787 of yacc.c  */
4290 > #line 1228 "conf_parser.y"
4291      {
4292    if (conf_parser_ctx.pass == 2)
4293 <  {
4951 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REHASH;
4952 <    else yy_aconf->port |= OPER_FLAG_REHASH;
4953 <  }
4293 >    yy_aconf->port |= OPER_FLAG_REHASH;
4294   }
4295      break;
4296  
4297 <  case 214:
4298 <
4299 < /* Line 1455 of yacc.c  */
4960 < #line 1487 "ircd_parser.y"
4297 >  case 187:
4298 > /* Line 1787 of yacc.c  */
4299 > #line 1232 "conf_parser.y"
4300      {
4301    if (conf_parser_ctx.pass == 2)
4302 <  {
4964 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_ADMIN;
4965 <    else yy_aconf->port |= OPER_FLAG_ADMIN;
4966 <  }
4302 >    yy_aconf->port |= OPER_FLAG_ADMIN;
4303   }
4304      break;
4305  
4306 <  case 215:
4307 <
4308 < /* Line 1455 of yacc.c  */
4973 < #line 1494 "ircd_parser.y"
4306 >  case 188:
4307 > /* Line 1787 of yacc.c  */
4308 > #line 1236 "conf_parser.y"
4309      {
4310    if (conf_parser_ctx.pass == 2)
4311 <  {
4977 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4978 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4979 <  }
4311 >    yy_aconf->port |= OPER_FLAG_N;
4312   }
4313      break;
4314  
4315 <  case 216:
4316 <
4317 < /* Line 1455 of yacc.c  */
4986 < #line 1501 "ircd_parser.y"
4315 >  case 189:
4316 > /* Line 1787 of yacc.c  */
4317 > #line 1240 "conf_parser.y"
4318      {
4319    if (conf_parser_ctx.pass == 2)
4320 <  {
4990 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_N;
4991 <    else yy_aconf->port |= OPER_FLAG_N;
4992 <  }
4320 >    yy_aconf->port |= OPER_FLAG_OPERWALL;
4321   }
4322      break;
4323  
4324 <  case 217:
4325 <
4326 < /* Line 1455 of yacc.c  */
4999 < #line 1508 "ircd_parser.y"
4324 >  case 190:
4325 > /* Line 1787 of yacc.c  */
4326 > #line 1244 "conf_parser.y"
4327      {
4328    if (conf_parser_ctx.pass == 2)
4329 <  {
5003 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPERWALL;
5004 <    else yy_aconf->port |= OPER_FLAG_OPERWALL;
5005 <  }
4329 >    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4330   }
4331      break;
4332  
4333 <  case 218:
4334 <
4335 < /* Line 1455 of yacc.c  */
5012 < #line 1515 "ircd_parser.y"
4333 >  case 191:
4334 > /* Line 1787 of yacc.c  */
4335 > #line 1248 "conf_parser.y"
4336      {
4337    if (conf_parser_ctx.pass == 2)
4338 <  {
5016 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPER_SPY;
5017 <    else yy_aconf->port |= OPER_FLAG_OPER_SPY;
5018 <  }
4338 >    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4339   }
4340      break;
4341  
4342 <  case 219:
4343 <
4344 < /* Line 1455 of yacc.c  */
5025 < #line 1522 "ircd_parser.y"
4342 >  case 192:
4343 > /* Line 1787 of yacc.c  */
4344 > #line 1252 "conf_parser.y"
4345      {
4346    if (conf_parser_ctx.pass == 2)
4347 <  {
5029 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
5030 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
5031 <  }
4347 >    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4348   }
4349      break;
4350  
4351 <  case 220:
4352 <
4353 < /* Line 1455 of yacc.c  */
5038 < #line 1529 "ircd_parser.y"
4351 >  case 193:
4352 > /* Line 1787 of yacc.c  */
4353 > #line 1256 "conf_parser.y"
4354      {
4355    if (conf_parser_ctx.pass == 2)
4356 <  {
5042 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
5043 <    else yy_aconf->port |= OPER_FLAG_REMOTEBAN;
5044 <  }
4356 >    yy_aconf->port |= OPER_FLAG_SET;
4357   }
4358      break;
4359  
4360 <  case 221:
4361 <
4362 < /* Line 1455 of yacc.c  */
5051 < #line 1536 "ircd_parser.y"
4360 >  case 194:
4361 > /* Line 1787 of yacc.c  */
4362 > #line 1260 "conf_parser.y"
4363      {
4364    if (conf_parser_ctx.pass == 2)
4365 <  {
5055 <    if (not_atom) ClearConfEncrypted(yy_aconf);
5056 <    else SetConfEncrypted(yy_aconf);
5057 <  }
4365 >    yy_aconf->port |= OPER_FLAG_MODULE;
4366   }
4367      break;
4368  
4369 <  case 222:
4370 <
4371 < /* Line 1455 of yacc.c  */
5064 < #line 1549 "ircd_parser.y"
4369 >  case 195:
4370 > /* Line 1787 of yacc.c  */
4371 > #line 1270 "conf_parser.y"
4372      {
4373    if (conf_parser_ctx.pass == 1)
4374    {
# Line 5071 | Line 4378 | yyreduce:
4378   }
4379      break;
4380  
4381 <  case 223:
4382 <
4383 < /* Line 1455 of yacc.c  */
5077 < #line 1556 "ircd_parser.y"
4381 >  case 196:
4382 > /* Line 1787 of yacc.c  */
4383 > #line 1277 "conf_parser.y"
4384      {
4385    if (conf_parser_ctx.pass == 1)
4386    {
# Line 5085 | Line 4391 | yyreduce:
4391        delete_conf_item(yy_conf);
4392      else
4393      {
4394 <      cconf = find_exact_name_conf(CLASS_TYPE, yy_class_name, NULL, NULL);
4394 >      cconf = find_exact_name_conf(CLASS_TYPE, NULL, yy_class_name, NULL, NULL);
4395  
4396        if (cconf != NULL)                /* The class existed already */
4397        {
# Line 5118 | Line 4424 | yyreduce:
4424   }
4425      break;
4426  
4427 <  case 242:
4428 <
4429 < /* Line 1455 of yacc.c  */
5124 < #line 1616 "ircd_parser.y"
4427 >  case 214:
4428 > /* Line 1787 of yacc.c  */
4429 > #line 1335 "conf_parser.y"
4430      {
4431    if (conf_parser_ctx.pass == 1)
4432    {
# Line 5131 | Line 4436 | yyreduce:
4436   }
4437      break;
4438  
4439 <  case 243:
4440 <
4441 < /* Line 1455 of yacc.c  */
5137 < #line 1625 "ircd_parser.y"
4439 >  case 215:
4440 > /* Line 1787 of yacc.c  */
4441 > #line 1344 "conf_parser.y"
4442      {
4443    if (conf_parser_ctx.pass == 1)
4444 <  {
5141 <    MyFree(yy_class_name);
5142 <    DupString(yy_class_name, yylval.string);
5143 <  }
4444 >    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4445   }
4446      break;
4447  
4448 <  case 244:
4449 <
4450 < /* Line 1455 of yacc.c  */
5150 < #line 1634 "ircd_parser.y"
4448 >  case 216:
4449 > /* Line 1787 of yacc.c  */
4450 > #line 1350 "conf_parser.y"
4451      {
4452    if (conf_parser_ctx.pass == 1)
4453 <    PingFreq(yy_class) = (yyvsp[(3) - (4)].number);
4453 >    yy_class->ping_warning = (yyvsp[(3) - (4)].number);
4454   }
4455      break;
4456  
4457 <  case 245:
4458 <
4459 < /* Line 1455 of yacc.c  */
5160 < #line 1640 "ircd_parser.y"
4457 >  case 217:
4458 > /* Line 1787 of yacc.c  */
4459 > #line 1356 "conf_parser.y"
4460      {
4461    if (conf_parser_ctx.pass == 1)
4462 <    PingWarning(yy_class) = (yyvsp[(3) - (4)].number);
4462 >    yy_class->max_perip = (yyvsp[(3) - (4)].number);
4463   }
4464      break;
4465  
4466 <  case 246:
4467 <
4468 < /* Line 1455 of yacc.c  */
5170 < #line 1646 "ircd_parser.y"
4466 >  case 218:
4467 > /* Line 1787 of yacc.c  */
4468 > #line 1362 "conf_parser.y"
4469      {
4470    if (conf_parser_ctx.pass == 1)
4471 <    MaxPerIp(yy_class) = (yyvsp[(3) - (4)].number);
4471 >    yy_class->con_freq = (yyvsp[(3) - (4)].number);
4472   }
4473      break;
4474  
4475 <  case 247:
4476 <
4477 < /* Line 1455 of yacc.c  */
5180 < #line 1652 "ircd_parser.y"
4475 >  case 219:
4476 > /* Line 1787 of yacc.c  */
4477 > #line 1368 "conf_parser.y"
4478      {
4479    if (conf_parser_ctx.pass == 1)
4480 <    ConFreq(yy_class) = (yyvsp[(3) - (4)].number);
4480 >    yy_class->max_total = (yyvsp[(3) - (4)].number);
4481   }
4482      break;
4483  
4484 <  case 248:
4485 <
4486 < /* Line 1455 of yacc.c  */
5190 < #line 1658 "ircd_parser.y"
4484 >  case 220:
4485 > /* Line 1787 of yacc.c  */
4486 > #line 1374 "conf_parser.y"
4487      {
4488    if (conf_parser_ctx.pass == 1)
4489 <    MaxTotal(yy_class) = (yyvsp[(3) - (4)].number);
4489 >    yy_class->max_global = (yyvsp[(3) - (4)].number);
4490   }
4491      break;
4492  
4493 <  case 249:
4494 <
4495 < /* Line 1455 of yacc.c  */
5200 < #line 1664 "ircd_parser.y"
4493 >  case 221:
4494 > /* Line 1787 of yacc.c  */
4495 > #line 1380 "conf_parser.y"
4496      {
4497    if (conf_parser_ctx.pass == 1)
4498 <    MaxGlobal(yy_class) = (yyvsp[(3) - (4)].number);
4498 >    yy_class->max_local = (yyvsp[(3) - (4)].number);
4499   }
4500      break;
4501  
4502 <  case 250:
4503 <
4504 < /* Line 1455 of yacc.c  */
5210 < #line 1670 "ircd_parser.y"
4502 >  case 222:
4503 > /* Line 1787 of yacc.c  */
4504 > #line 1386 "conf_parser.y"
4505      {
4506    if (conf_parser_ctx.pass == 1)
4507 <    MaxLocal(yy_class) = (yyvsp[(3) - (4)].number);
4507 >    yy_class->max_ident = (yyvsp[(3) - (4)].number);
4508   }
4509      break;
4510  
4511 <  case 251:
4512 <
4513 < /* Line 1455 of yacc.c  */
5220 < #line 1676 "ircd_parser.y"
4511 >  case 223:
4512 > /* Line 1787 of yacc.c  */
4513 > #line 1392 "conf_parser.y"
4514      {
4515    if (conf_parser_ctx.pass == 1)
4516 <    MaxIdent(yy_class) = (yyvsp[(3) - (4)].number);
4516 >    yy_class->max_sendq = (yyvsp[(3) - (4)].number);
4517   }
4518      break;
4519  
4520 <  case 252:
4521 <
4522 < /* Line 1455 of yacc.c  */
5230 < #line 1682 "ircd_parser.y"
4520 >  case 224:
4521 > /* Line 1787 of yacc.c  */
4522 > #line 1398 "conf_parser.y"
4523      {
4524    if (conf_parser_ctx.pass == 1)
4525 <    MaxSendq(yy_class) = (yyvsp[(3) - (4)].number);
4525 >    if ((yyvsp[(3) - (4)].number) >= CLIENT_FLOOD_MIN && (yyvsp[(3) - (4)].number) <= CLIENT_FLOOD_MAX)
4526 >      yy_class->max_recvq = (yyvsp[(3) - (4)].number);
4527   }
4528      break;
4529  
4530 <  case 253:
4531 <
4532 < /* Line 1455 of yacc.c  */
5240 < #line 1688 "ircd_parser.y"
4530 >  case 225:
4531 > /* Line 1787 of yacc.c  */
4532 > #line 1405 "conf_parser.y"
4533      {
4534    if (conf_parser_ctx.pass == 1)
4535 <    CidrBitlenIPV4(yy_class) = (yyvsp[(3) - (4)].number);
4535 >    yy_class->cidr_bitlen_ipv4 = (yyvsp[(3) - (4)].number) > 32 ? 32 : (yyvsp[(3) - (4)].number);
4536   }
4537      break;
4538  
4539 <  case 254:
4540 <
4541 < /* Line 1455 of yacc.c  */
5250 < #line 1694 "ircd_parser.y"
4539 >  case 226:
4540 > /* Line 1787 of yacc.c  */
4541 > #line 1411 "conf_parser.y"
4542      {
4543    if (conf_parser_ctx.pass == 1)
4544 <    CidrBitlenIPV6(yy_class) = (yyvsp[(3) - (4)].number);
4544 >    yy_class->cidr_bitlen_ipv6 = (yyvsp[(3) - (4)].number) > 128 ? 128 : (yyvsp[(3) - (4)].number);
4545   }
4546      break;
4547  
4548 <  case 255:
4549 <
4550 < /* Line 1455 of yacc.c  */
5260 < #line 1700 "ircd_parser.y"
4548 >  case 227:
4549 > /* Line 1787 of yacc.c  */
4550 > #line 1417 "conf_parser.y"
4551      {
4552    if (conf_parser_ctx.pass == 1)
4553 <    NumberPerCidr(yy_class) = (yyvsp[(3) - (4)].number);
4553 >    yy_class->number_per_cidr = (yyvsp[(3) - (4)].number);
4554   }
4555      break;
4556  
4557 <  case 256:
4558 <
4559 < /* Line 1455 of yacc.c  */
5270 < #line 1709 "ircd_parser.y"
4557 >  case 228:
4558 > /* Line 1787 of yacc.c  */
4559 > #line 1426 "conf_parser.y"
4560      {
4561    if (conf_parser_ctx.pass == 2)
4562    {
# Line 5277 | Line 4566 | yyreduce:
4566   }
4567      break;
4568  
4569 <  case 257:
4570 <
4571 < /* Line 1455 of yacc.c  */
5283 < #line 1716 "ircd_parser.y"
4569 >  case 229:
4570 > /* Line 1787 of yacc.c  */
4571 > #line 1433 "conf_parser.y"
4572      {
4573    if (conf_parser_ctx.pass == 2)
4574    {
# Line 5290 | Line 4578 | yyreduce:
4578   }
4579      break;
4580  
4581 <  case 258:
4582 <
4583 < /* Line 1455 of yacc.c  */
5296 < #line 1725 "ircd_parser.y"
4581 >  case 230:
4582 > /* Line 1787 of yacc.c  */
4583 > #line 1442 "conf_parser.y"
4584      {
4585    listener_flags = 0;
4586   }
4587      break;
4588  
4589 <  case 262:
4590 <
4591 < /* Line 1455 of yacc.c  */
5305 < #line 1731 "ircd_parser.y"
4589 >  case 234:
4590 > /* Line 1787 of yacc.c  */
4591 > #line 1448 "conf_parser.y"
4592      {
4593    if (conf_parser_ctx.pass == 2)
4594      listener_flags |= LISTENER_SSL;
4595   }
4596      break;
4597  
4598 <  case 263:
4599 <
4600 < /* Line 1455 of yacc.c  */
5315 < #line 1735 "ircd_parser.y"
4598 >  case 235:
4599 > /* Line 1787 of yacc.c  */
4600 > #line 1452 "conf_parser.y"
4601      {
4602    if (conf_parser_ctx.pass == 2)
4603      listener_flags |= LISTENER_HIDDEN;
4604   }
4605      break;
4606  
4607 <  case 264:
4608 <
4609 < /* Line 1455 of yacc.c  */
5325 < #line 1739 "ircd_parser.y"
4607 >  case 236:
4608 > /* Line 1787 of yacc.c  */
4609 > #line 1456 "conf_parser.y"
4610      {
4611    if (conf_parser_ctx.pass == 2)
4612      listener_flags |= LISTENER_SERVER;
4613   }
4614      break;
4615  
4616 <  case 272:
4617 <
4618 < /* Line 1455 of yacc.c  */
5335 < #line 1749 "ircd_parser.y"
4616 >  case 244:
4617 > /* Line 1787 of yacc.c  */
4618 > #line 1466 "conf_parser.y"
4619      { listener_flags = 0; }
4620      break;
4621  
4622 <  case 276:
4623 <
4624 < /* Line 1455 of yacc.c  */
5342 < #line 1754 "ircd_parser.y"
4622 >  case 248:
4623 > /* Line 1787 of yacc.c  */
4624 > #line 1471 "conf_parser.y"
4625      {
4626    if (conf_parser_ctx.pass == 2)
4627    {
# Line 5356 | Line 4638 | yyreduce:
4638   }
4639      break;
4640  
4641 <  case 277:
4642 <
4643 < /* Line 1455 of yacc.c  */
5362 < #line 1768 "ircd_parser.y"
4641 >  case 249:
4642 > /* Line 1787 of yacc.c  */
4643 > #line 1485 "conf_parser.y"
4644      {
4645    if (conf_parser_ctx.pass == 2)
4646    {
# Line 5380 | Line 4661 | yyreduce:
4661   }
4662      break;
4663  
4664 <  case 278:
4665 <
4666 < /* Line 1455 of yacc.c  */
5386 < #line 1788 "ircd_parser.y"
4664 >  case 250:
4665 > /* Line 1787 of yacc.c  */
4666 > #line 1505 "conf_parser.y"
4667      {
4668    if (conf_parser_ctx.pass == 2)
4669    {
# Line 5393 | Line 4673 | yyreduce:
4673   }
4674      break;
4675  
4676 <  case 279:
4677 <
4678 < /* Line 1455 of yacc.c  */
5399 < #line 1797 "ircd_parser.y"
4676 >  case 251:
4677 > /* Line 1787 of yacc.c  */
4678 > #line 1514 "conf_parser.y"
4679      {
4680    if (conf_parser_ctx.pass == 2)
4681    {
# Line 5406 | Line 4685 | yyreduce:
4685   }
4686      break;
4687  
4688 <  case 280:
4689 <
4690 < /* Line 1455 of yacc.c  */
5412 < #line 1809 "ircd_parser.y"
4688 >  case 252:
4689 > /* Line 1787 of yacc.c  */
4690 > #line 1526 "conf_parser.y"
4691      {
4692    if (conf_parser_ctx.pass == 2)
4693    {
# Line 5424 | Line 4702 | yyreduce:
4702   }
4703      break;
4704  
4705 <  case 281:
4706 <
4707 < /* Line 1455 of yacc.c  */
5430 < #line 1821 "ircd_parser.y"
4705 >  case 253:
4706 > /* Line 1787 of yacc.c  */
4707 > #line 1538 "conf_parser.y"
4708      {
4709    if (conf_parser_ctx.pass == 2)
4710    {
# Line 5485 | Line 4762 | yyreduce:
4762   }
4763      break;
4764  
4765 <  case 301:
4766 <
4767 < /* Line 1455 of yacc.c  */
5491 < #line 1886 "ircd_parser.y"
4765 >  case 265:
4766 > /* Line 1787 of yacc.c  */
4767 > #line 1600 "conf_parser.y"
4768      {
4769    if (conf_parser_ctx.pass == 2)
4770    {
# Line 5524 | Line 4800 | yyreduce:
4800   }
4801      break;
4802  
4803 <  case 302:
4804 <
4805 < /* Line 1455 of yacc.c  */
5530 < #line 1923 "ircd_parser.y"
4803 >  case 266:
4804 > /* Line 1787 of yacc.c  */
4805 > #line 1635 "conf_parser.y"
4806      {
4807    if (conf_parser_ctx.pass == 2)
4808    {
# Line 5541 | Line 4816 | yyreduce:
4816   }
4817      break;
4818  
4819 <  case 303:
4820 <
4821 < /* Line 1455 of yacc.c  */
5547 < #line 1936 "ircd_parser.y"
5548 <    {
5549 <  if (conf_parser_ctx.pass == 2)
5550 <  {
5551 <    if (yylval.number)
5552 <      yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5553 <    else
5554 <      yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5555 <  }
5556 < }
5557 <    break;
5558 <
5559 <  case 304:
5560 <
5561 < /* Line 1455 of yacc.c  */
5562 < #line 1947 "ircd_parser.y"
4819 >  case 267:
4820 > /* Line 1787 of yacc.c  */
4821 > #line 1648 "conf_parser.y"
4822      {
4823    if (conf_parser_ctx.pass == 2)
4824    {
# Line 5569 | Line 4828 | yyreduce:
4828   }
4829      break;
4830  
4831 <  case 305:
4832 <
4833 < /* Line 1455 of yacc.c  */
5575 < #line 1956 "ircd_parser.y"
4831 >  case 268:
4832 > /* Line 1787 of yacc.c  */
4833 > #line 1657 "conf_parser.y"
4834      {
4835    if (conf_parser_ctx.pass == 2)
4836    {
# Line 5584 | Line 4842 | yyreduce:
4842   }
4843      break;
4844  
4845 <  case 306:
4846 <
4847 < /* Line 1455 of yacc.c  */
5590 < #line 1967 "ircd_parser.y"
4845 >  case 269:
4846 > /* Line 1787 of yacc.c  */
4847 > #line 1668 "conf_parser.y"
4848      {
4849   }
4850      break;
4851  
4852 <  case 310:
4853 <
4854 < /* Line 1455 of yacc.c  */
5598 < #line 1971 "ircd_parser.y"
5599 <    { not_atom = 1; }
5600 <    break;
5601 <
5602 <  case 312:
5603 <
5604 < /* Line 1455 of yacc.c  */
5605 < #line 1972 "ircd_parser.y"
5606 <    { not_atom = 0; }
5607 <    break;
5608 <
5609 <  case 314:
5610 <
5611 < /* Line 1455 of yacc.c  */
5612 < #line 1975 "ircd_parser.y"
4852 >  case 273:
4853 > /* Line 1787 of yacc.c  */
4854 > #line 1673 "conf_parser.y"
4855      {
4856    if (conf_parser_ctx.pass == 2)
4857 <  {
5616 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5617 <    else yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5618 <  }
5619 <
4857 >    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
4858   }
4859      break;
4860  
4861 <  case 315:
4862 <
4863 < /* Line 1455 of yacc.c  */
5626 < #line 1983 "ircd_parser.y"
4861 >  case 274:
4862 > /* Line 1787 of yacc.c  */
4863 > #line 1677 "conf_parser.y"
4864      {
4865    if (conf_parser_ctx.pass == 2)
4866 <  {
5630 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5631 <    else yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5632 <  }
4866 >    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
4867   }
4868      break;
4869  
4870 <  case 316:
4871 <
4872 < /* Line 1455 of yacc.c  */
5639 < #line 1990 "ircd_parser.y"
4870 >  case 275:
4871 > /* Line 1787 of yacc.c  */
4872 > #line 1681 "conf_parser.y"
4873      {
4874    if (conf_parser_ctx.pass == 2)
4875 <  {
5643 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5644 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5645 <  }
4875 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
4876   }
4877      break;
4878  
4879 <  case 317:
4880 <
4881 < /* Line 1455 of yacc.c  */
5652 < #line 1997 "ircd_parser.y"
5653 <    {
5654 <  if (conf_parser_ctx.pass == 2)
5655 <  {
5656 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5657 <    else yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5658 <  }
5659 < }
5660 <    break;
5661 <
5662 <  case 318:
5663 <
5664 < /* Line 1455 of yacc.c  */
5665 < #line 2004 "ircd_parser.y"
5666 <    {
5667 <  if (conf_parser_ctx.pass == 2)
5668 <  {
5669 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5670 <    else yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5671 <  }
5672 < }
5673 <    break;
5674 <
5675 <  case 319:
5676 <
5677 < /* Line 1455 of yacc.c  */
5678 < #line 2011 "ircd_parser.y"
5679 <    {
5680 <  if (conf_parser_ctx.pass == 2)
5681 <  {
5682 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_IDLE_LINED;
5683 <    else yy_aconf->flags |= CONF_FLAGS_IDLE_LINED;
5684 <  }
5685 < }
5686 <    break;
5687 <
5688 <  case 320:
5689 <
5690 < /* Line 1455 of yacc.c  */
5691 < #line 2018 "ircd_parser.y"
5692 <    {
5693 <  if (conf_parser_ctx.pass == 2)
5694 <  {
5695 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5696 <    else yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5697 <  }
5698 < }
5699 <    break;
5700 <
5701 <  case 321:
5702 <
5703 < /* Line 1455 of yacc.c  */
5704 < #line 2025 "ircd_parser.y"
5705 <    {
5706 <  if (conf_parser_ctx.pass == 2)
5707 <  {
5708 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5709 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5710 <  }
5711 < }
5712 <    break;
5713 <
5714 <  case 322:
5715 <
5716 < /* Line 1455 of yacc.c  */
5717 < #line 2032 "ircd_parser.y"
5718 <    {
5719 <  if (conf_parser_ctx.pass == 2)
5720 <  {
5721 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTRESV;
5722 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5723 <  }
5724 < }
5725 <    break;
5726 <
5727 <  case 323:
5728 <
5729 < /* Line 1455 of yacc.c  */
5730 < #line 2039 "ircd_parser.y"
5731 <    {
5732 <  if (conf_parser_ctx.pass == 2)
5733 <  {
5734 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5735 <    else yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5736 <  }
5737 < }
5738 <    break;
5739 <
5740 <  case 324:
5741 <
5742 < /* Line 1455 of yacc.c  */
5743 < #line 2048 "ircd_parser.y"
4879 >  case 276:
4880 > /* Line 1787 of yacc.c  */
4881 > #line 1685 "conf_parser.y"
4882      {
4883    if (conf_parser_ctx.pass == 2)
4884 <  {
5747 <    if (yylval.number)
5748 <      yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5749 <    else
5750 <      yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5751 <  }
4884 >    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
4885   }
4886      break;
4887  
4888 <  case 325:
4889 <
4890 < /* Line 1455 of yacc.c  */
5758 < #line 2059 "ircd_parser.y"
4888 >  case 277:
4889 > /* Line 1787 of yacc.c  */
4890 > #line 1689 "conf_parser.y"
4891      {
4892    if (conf_parser_ctx.pass == 2)
4893 <  {
5762 <    if (yylval.number)
5763 <      yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5764 <    else
5765 <      yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5766 <  }
4893 >    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
4894   }
4895      break;
4896  
4897 <  case 326:
4898 <
4899 < /* Line 1455 of yacc.c  */
5773 < #line 2070 "ircd_parser.y"
4897 >  case 278:
4898 > /* Line 1787 of yacc.c  */
4899 > #line 1693 "conf_parser.y"
4900      {
4901    if (conf_parser_ctx.pass == 2)
4902 <  {
5777 <    if (yylval.number)
5778 <      yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5779 <    else
5780 <      yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5781 <  }
4902 >    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
4903   }
4904      break;
4905  
4906 <  case 327:
4907 <
4908 < /* Line 1455 of yacc.c  */
5788 < #line 2081 "ircd_parser.y"
4906 >  case 279:
4907 > /* Line 1787 of yacc.c  */
4908 > #line 1697 "conf_parser.y"
4909      {
4910    if (conf_parser_ctx.pass == 2)
4911 <  {
5792 <    if (yylval.number)
5793 <      yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5794 <    else
5795 <      yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5796 <  }
4911 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
4912   }
4913      break;
4914  
4915 <  case 328:
4916 <
4917 < /* Line 1455 of yacc.c  */
5803 < #line 2092 "ircd_parser.y"
4915 >  case 280:
4916 > /* Line 1787 of yacc.c  */
4917 > #line 1701 "conf_parser.y"
4918      {
4919    if (conf_parser_ctx.pass == 2)
4920 <  {
5807 <    if (yylval.number)
5808 <      yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5809 <    else
5810 <      yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5811 <  }
4920 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
4921   }
4922      break;
4923  
4924 <  case 329:
4925 <
4926 < /* Line 1455 of yacc.c  */
5818 < #line 2103 "ircd_parser.y"
4924 >  case 281:
4925 > /* Line 1787 of yacc.c  */
4926 > #line 1705 "conf_parser.y"
4927      {
4928    if (conf_parser_ctx.pass == 2)
4929 <  {
5822 <    if (yylval.number)
5823 <      yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5824 <    else
5825 <      yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5826 <  }
4929 >    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
4930   }
4931      break;
4932  
4933 <  case 330:
4934 <
4935 < /* Line 1455 of yacc.c  */
5833 < #line 2115 "ircd_parser.y"
4933 >  case 282:
4934 > /* Line 1787 of yacc.c  */
4935 > #line 1711 "conf_parser.y"
4936      {
4937    if (conf_parser_ctx.pass == 2)
4938    {
4939      MyFree(yy_conf->name);
4940  
4941 <    if (strlen(yylval.string) < HOSTLEN)
4941 >    if (strlen(yylval.string) <= HOSTLEN && valid_hostname(yylval.string))
4942      {    
4943        DupString(yy_conf->name, yylval.string);
4944        yy_aconf->flags |= CONF_FLAGS_SPOOF_IP;
4945      }
4946      else
4947      {
4948 <      ilog(L_ERROR, "Spoofs must be less than %d..ignoring it", HOSTLEN);
4948 >      ilog(LOG_TYPE_IRCD, "Spoof either is too long or contains invalid characters. Ignoring it.");
4949        yy_conf->name = NULL;
4950      }
4951    }
4952   }
4953      break;
4954  
4955 <  case 331:
4956 <
4957 < /* Line 1455 of yacc.c  */
5856 < #line 2134 "ircd_parser.y"
4955 >  case 283:
4956 > /* Line 1787 of yacc.c  */
4957 > #line 1730 "conf_parser.y"
4958      {
4959    if (conf_parser_ctx.pass == 2)
4960    {
# Line 5864 | Line 4965 | yyreduce:
4965   }
4966      break;
4967  
4968 <  case 332:
4969 <
4970 < /* Line 1455 of yacc.c  */
5870 < #line 2144 "ircd_parser.y"
4968 >  case 284:
4969 > /* Line 1787 of yacc.c  */
4970 > #line 1740 "conf_parser.y"
4971      {
4972    if (conf_parser_ctx.pass == 2)
4973    {
# Line 5877 | Line 4977 | yyreduce:
4977   }
4978      break;
4979  
4980 <  case 333:
4981 <
4982 < /* Line 1455 of yacc.c  */
5883 < #line 2153 "ircd_parser.y"
5884 <    {
5885 <  if (conf_parser_ctx.pass == 2)
5886 <  {
5887 <    if (yylval.number)
5888 <      yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5889 <    else
5890 <      yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5891 <  }
5892 < }
5893 <    break;
5894 <
5895 <  case 334:
5896 <
5897 < /* Line 1455 of yacc.c  */
5898 < #line 2168 "ircd_parser.y"
4980 >  case 285:
4981 > /* Line 1787 of yacc.c  */
4982 > #line 1753 "conf_parser.y"
4983      {
4984    if (conf_parser_ctx.pass == 2)
4985    {
# Line 5905 | Line 4989 | yyreduce:
4989   }
4990      break;
4991  
4992 <  case 335:
4993 <
4994 < /* Line 1455 of yacc.c  */
5911 < #line 2175 "ircd_parser.y"
4992 >  case 286:
4993 > /* Line 1787 of yacc.c  */
4994 > #line 1760 "conf_parser.y"
4995      {
4996    if (conf_parser_ctx.pass == 2)
4997    {
# Line 5918 | Line 5001 | yyreduce:
5001   }
5002      break;
5003  
5004 <  case 342:
5005 <
5006 < /* Line 1455 of yacc.c  */
5924 < #line 2187 "ircd_parser.y"
5004 >  case 293:
5005 > /* Line 1787 of yacc.c  */
5006 > #line 1772 "conf_parser.y"
5007      {
5008    if (conf_parser_ctx.pass == 2)
5009    {
# Line 5931 | Line 5013 | yyreduce:
5013   }
5014      break;
5015  
5016 <  case 343:
5017 <
5018 < /* Line 1455 of yacc.c  */
5937 < #line 2196 "ircd_parser.y"
5016 >  case 294:
5017 > /* Line 1787 of yacc.c  */
5018 > #line 1781 "conf_parser.y"
5019      {
5020    if (conf_parser_ctx.pass == 2)
5021    {
# Line 5950 | Line 5031 | yyreduce:
5031   }
5032      break;
5033  
5034 <  case 344:
5035 <
5036 < /* Line 1455 of yacc.c  */
5956 < #line 2211 "ircd_parser.y"
5034 >  case 295:
5035 > /* Line 1787 of yacc.c  */
5036 > #line 1796 "conf_parser.y"
5037      {
5038    if (conf_parser_ctx.pass == 2)
5039    {
# Line 5964 | Line 5044 | yyreduce:
5044   }
5045      break;
5046  
5047 <  case 345:
5047 >  case 301:
5048 > /* Line 1787 of yacc.c  */
5049 > #line 1814 "conf_parser.y"
5050 >    {
5051 >  if (conf_parser_ctx.pass == 2)
5052 >  {
5053 >    if (valid_servname(yylval.string))
5054 >    {
5055 >      yy_conf = make_conf_item(SERVICE_TYPE);
5056 >      DupString(yy_conf->name, yylval.string);
5057 >    }
5058 >  }
5059 > }
5060 >    break;
5061  
5062 < /* Line 1455 of yacc.c  */
5063 < #line 2224 "ircd_parser.y"
5062 >  case 302:
5063 > /* Line 1787 of yacc.c  */
5064 > #line 1829 "conf_parser.y"
5065      {
5066    if (conf_parser_ctx.pass == 2)
5067    {
# Line 5978 | Line 5072 | yyreduce:
5072   }
5073      break;
5074  
5075 <  case 346:
5076 <
5077 < /* Line 1455 of yacc.c  */
5984 < #line 2232 "ircd_parser.y"
5075 >  case 303:
5076 > /* Line 1787 of yacc.c  */
5077 > #line 1837 "conf_parser.y"
5078      {
5079    if (conf_parser_ctx.pass == 2)
5080    {
# Line 5990 | Line 5083 | yyreduce:
5083   }
5084      break;
5085  
5086 <  case 353:
5087 <
5088 < /* Line 1455 of yacc.c  */
5996 < #line 2243 "ircd_parser.y"
5086 >  case 310:
5087 > /* Line 1787 of yacc.c  */
5088 > #line 1848 "conf_parser.y"
5089      {
5090    if (conf_parser_ctx.pass == 2)
5091    {
# Line 6003 | Line 5095 | yyreduce:
5095   }
5096      break;
5097  
5098 <  case 354:
5099 <
5100 < /* Line 1455 of yacc.c  */
6009 < #line 2252 "ircd_parser.y"
5098 >  case 311:
5099 > /* Line 1787 of yacc.c  */
5100 > #line 1857 "conf_parser.y"
5101      {
5102    if (conf_parser_ctx.pass == 2)
5103    {
# Line 6029 | Line 5120 | yyreduce:
5120   }
5121      break;
5122  
5123 <  case 355:
5124 <
5125 < /* Line 1455 of yacc.c  */
6035 < #line 2274 "ircd_parser.y"
5123 >  case 312:
5124 > /* Line 1787 of yacc.c  */
5125 > #line 1879 "conf_parser.y"
5126      {
5127    if (conf_parser_ctx.pass == 2)
5128      yy_match_item->action = 0;
5129   }
5130      break;
5131  
5132 <  case 359:
5133 <
5134 < /* Line 1455 of yacc.c  */
6045 < #line 2281 "ircd_parser.y"
5132 >  case 316:
5133 > /* Line 1787 of yacc.c  */
5134 > #line 1886 "conf_parser.y"
5135      {
5136    if (conf_parser_ctx.pass == 2)
5137      yy_match_item->action |= SHARED_KLINE;
5138   }
5139      break;
5140  
5141 <  case 360:
5142 <
5143 < /* Line 1455 of yacc.c  */
6055 < #line 2285 "ircd_parser.y"
5141 >  case 317:
5142 > /* Line 1787 of yacc.c  */
5143 > #line 1890 "conf_parser.y"
5144      {
5145    if (conf_parser_ctx.pass == 2)
5146 <    yy_match_item->action |= SHARED_TKLINE;
5146 >    yy_match_item->action |= SHARED_UNKLINE;
5147   }
5148      break;
5149  
5150 <  case 361:
5151 <
5152 < /* Line 1455 of yacc.c  */
6065 < #line 2289 "ircd_parser.y"
5150 >  case 318:
5151 > /* Line 1787 of yacc.c  */
5152 > #line 1894 "conf_parser.y"
5153      {
5154    if (conf_parser_ctx.pass == 2)
5155 <    yy_match_item->action |= SHARED_UNKLINE;
5155 >    yy_match_item->action |= SHARED_DLINE;
5156   }
5157      break;
5158  
5159 <  case 362:
5160 <
5161 < /* Line 1455 of yacc.c  */
6075 < #line 2293 "ircd_parser.y"
5159 >  case 319:
5160 > /* Line 1787 of yacc.c  */
5161 > #line 1898 "conf_parser.y"
5162      {
5163    if (conf_parser_ctx.pass == 2)
5164 <    yy_match_item->action |= SHARED_XLINE;
5164 >    yy_match_item->action |= SHARED_UNDLINE;
5165   }
5166      break;
5167  
5168 <  case 363:
5169 <
5170 < /* Line 1455 of yacc.c  */
6085 < #line 2297 "ircd_parser.y"
5168 >  case 320:
5169 > /* Line 1787 of yacc.c  */
5170 > #line 1902 "conf_parser.y"
5171      {
5172    if (conf_parser_ctx.pass == 2)
5173 <    yy_match_item->action |= SHARED_TXLINE;
5173 >    yy_match_item->action |= SHARED_XLINE;
5174   }
5175      break;
5176  
5177 <  case 364:
5178 <
5179 < /* Line 1455 of yacc.c  */
6095 < #line 2301 "ircd_parser.y"
5177 >  case 321:
5178 > /* Line 1787 of yacc.c  */
5179 > #line 1906 "conf_parser.y"
5180      {
5181    if (conf_parser_ctx.pass == 2)
5182      yy_match_item->action |= SHARED_UNXLINE;
5183   }
5184      break;
5185  
5186 <  case 365:
5187 <
5188 < /* Line 1455 of yacc.c  */
6105 < #line 2305 "ircd_parser.y"
5186 >  case 322:
5187 > /* Line 1787 of yacc.c  */
5188 > #line 1910 "conf_parser.y"
5189      {
5190    if (conf_parser_ctx.pass == 2)
5191      yy_match_item->action |= SHARED_RESV;
5192   }
5193      break;
5194  
5195 <  case 366:
5196 <
5197 < /* Line 1455 of yacc.c  */
6115 < #line 2309 "ircd_parser.y"
6116 <    {
6117 <  if (conf_parser_ctx.pass == 2)
6118 <    yy_match_item->action |= SHARED_TRESV;
6119 < }
6120 <    break;
6121 <
6122 <  case 367:
6123 <
6124 < /* Line 1455 of yacc.c  */
6125 < #line 2313 "ircd_parser.y"
5195 >  case 323:
5196 > /* Line 1787 of yacc.c  */
5197 > #line 1914 "conf_parser.y"
5198      {
5199    if (conf_parser_ctx.pass == 2)
5200      yy_match_item->action |= SHARED_UNRESV;
5201   }
5202      break;
5203  
5204 <  case 368:
5205 <
5206 < /* Line 1455 of yacc.c  */
6135 < #line 2317 "ircd_parser.y"
5204 >  case 324:
5205 > /* Line 1787 of yacc.c  */
5206 > #line 1918 "conf_parser.y"
5207      {
5208    if (conf_parser_ctx.pass == 2)
5209      yy_match_item->action |= SHARED_LOCOPS;
5210   }
5211      break;
5212  
5213 <  case 369:
5214 <
5215 < /* Line 1455 of yacc.c  */
6145 < #line 2321 "ircd_parser.y"
5213 >  case 325:
5214 > /* Line 1787 of yacc.c  */
5215 > #line 1922 "conf_parser.y"
5216      {
5217    if (conf_parser_ctx.pass == 2)
5218      yy_match_item->action = SHARED_ALL;
5219   }
5220      break;
5221  
5222 <  case 370:
5223 <
5224 < /* Line 1455 of yacc.c  */
6155 < #line 2330 "ircd_parser.y"
5222 >  case 326:
5223 > /* Line 1787 of yacc.c  */
5224 > #line 1931 "conf_parser.y"
5225      {
5226    if (conf_parser_ctx.pass == 2)
5227    {
# Line 6162 | Line 5231 | yyreduce:
5231   }
5232      break;
5233  
5234 <  case 371:
5235 <
5236 < /* Line 1455 of yacc.c  */
6168 < #line 2337 "ircd_parser.y"
5234 >  case 327:
5235 > /* Line 1787 of yacc.c  */
5236 > #line 1938 "conf_parser.y"
5237      {
5238    if (conf_parser_ctx.pass == 2)
5239    {
# Line 6176 | Line 5244 | yyreduce:
5244   }
5245      break;
5246  
5247 <  case 377:
5248 <
5249 < /* Line 1455 of yacc.c  */
6182 < #line 2350 "ircd_parser.y"
5247 >  case 333:
5248 > /* Line 1787 of yacc.c  */
5249 > #line 1951 "conf_parser.y"
5250      {
5251    if (conf_parser_ctx.pass == 2)
5252      DupString(yy_conf->name, yylval.string);
5253   }
5254      break;
5255  
5256 <  case 378:
5257 <
5258 < /* Line 1455 of yacc.c  */
6192 < #line 2356 "ircd_parser.y"
5256 >  case 334:
5257 > /* Line 1787 of yacc.c  */
5258 > #line 1957 "conf_parser.y"
5259      {
5260    if (conf_parser_ctx.pass == 2)
5261      yy_conf->flags = 0;
5262   }
5263      break;
5264  
5265 <  case 382:
5266 <
5267 < /* Line 1455 of yacc.c  */
6202 < #line 2363 "ircd_parser.y"
5265 >  case 338:
5266 > /* Line 1787 of yacc.c  */
5267 > #line 1964 "conf_parser.y"
5268      {
5269    if (conf_parser_ctx.pass == 2)
5270      yy_conf->flags |= SHARED_KLINE;
5271   }
5272      break;
5273  
5274 <  case 383:
5275 <
5276 < /* Line 1455 of yacc.c  */
6212 < #line 2367 "ircd_parser.y"
5274 >  case 339:
5275 > /* Line 1787 of yacc.c  */
5276 > #line 1968 "conf_parser.y"
5277      {
5278    if (conf_parser_ctx.pass == 2)
5279 <    yy_conf->flags |= SHARED_TKLINE;
5279 >    yy_conf->flags |= SHARED_UNKLINE;
5280   }
5281      break;
5282  
5283 <  case 384:
5284 <
5285 < /* Line 1455 of yacc.c  */
6222 < #line 2371 "ircd_parser.y"
5283 >  case 340:
5284 > /* Line 1787 of yacc.c  */
5285 > #line 1972 "conf_parser.y"
5286      {
5287    if (conf_parser_ctx.pass == 2)
5288 <    yy_conf->flags |= SHARED_UNKLINE;
5288 >    yy_conf->flags |= SHARED_DLINE;
5289   }
5290      break;
5291  
5292 <  case 385:
5293 <
5294 < /* Line 1455 of yacc.c  */
6232 < #line 2375 "ircd_parser.y"
5292 >  case 341:
5293 > /* Line 1787 of yacc.c  */
5294 > #line 1976 "conf_parser.y"
5295      {
5296    if (conf_parser_ctx.pass == 2)
5297 <    yy_conf->flags |= SHARED_XLINE;
5297 >    yy_conf->flags |= SHARED_UNDLINE;
5298   }
5299      break;
5300  
5301 <  case 386:
5302 <
5303 < /* Line 1455 of yacc.c  */
6242 < #line 2379 "ircd_parser.y"
5301 >  case 342:
5302 > /* Line 1787 of yacc.c  */
5303 > #line 1980 "conf_parser.y"
5304      {
5305    if (conf_parser_ctx.pass == 2)
5306 <    yy_conf->flags |= SHARED_TXLINE;
5306 >    yy_conf->flags |= SHARED_XLINE;
5307   }
5308      break;
5309  
5310 <  case 387:
5311 <
5312 < /* Line 1455 of yacc.c  */
6252 < #line 2383 "ircd_parser.y"
5310 >  case 343:
5311 > /* Line 1787 of yacc.c  */
5312 > #line 1984 "conf_parser.y"
5313      {
5314    if (conf_parser_ctx.pass == 2)
5315      yy_conf->flags |= SHARED_UNXLINE;
5316   }
5317      break;
5318  
5319 <  case 388:
5320 <
5321 < /* Line 1455 of yacc.c  */
6262 < #line 2387 "ircd_parser.y"
5319 >  case 344:
5320 > /* Line 1787 of yacc.c  */
5321 > #line 1988 "conf_parser.y"
5322      {
5323    if (conf_parser_ctx.pass == 2)
5324      yy_conf->flags |= SHARED_RESV;
5325   }
5326      break;
5327  
5328 <  case 389:
5329 <
5330 < /* Line 1455 of yacc.c  */
6272 < #line 2391 "ircd_parser.y"
6273 <    {
6274 <  if (conf_parser_ctx.pass == 2)
6275 <    yy_conf->flags |= SHARED_TRESV;
6276 < }
6277 <    break;
6278 <
6279 <  case 390:
6280 <
6281 < /* Line 1455 of yacc.c  */
6282 < #line 2395 "ircd_parser.y"
5328 >  case 345:
5329 > /* Line 1787 of yacc.c  */
5330 > #line 1992 "conf_parser.y"
5331      {
5332    if (conf_parser_ctx.pass == 2)
5333      yy_conf->flags |= SHARED_UNRESV;
5334   }
5335      break;
5336  
5337 <  case 391:
5338 <
5339 < /* Line 1455 of yacc.c  */
6292 < #line 2399 "ircd_parser.y"
5337 >  case 346:
5338 > /* Line 1787 of yacc.c  */
5339 > #line 1996 "conf_parser.y"
5340      {
5341    if (conf_parser_ctx.pass == 2)
5342      yy_conf->flags |= SHARED_LOCOPS;
5343   }
5344      break;
5345  
5346 <  case 392:
5347 <
5348 < /* Line 1455 of yacc.c  */
6302 < #line 2403 "ircd_parser.y"
5346 >  case 347:
5347 > /* Line 1787 of yacc.c  */
5348 > #line 2000 "conf_parser.y"
5349      {
5350    if (conf_parser_ctx.pass == 2)
5351      yy_conf->flags = SHARED_ALL;
5352   }
5353      break;
5354  
5355 <  case 393:
5356 <
5357 < /* Line 1455 of yacc.c  */
6312 < #line 2412 "ircd_parser.y"
5355 >  case 348:
5356 > /* Line 1787 of yacc.c  */
5357 > #line 2009 "conf_parser.y"
5358      {
5359    if (conf_parser_ctx.pass == 2)
5360    {
5361      yy_conf = make_conf_item(SERVER_TYPE);
5362 <    yy_aconf = (struct AccessItem *)map_to_conf(yy_conf);
5363 <    yy_aconf->passwd = NULL;
5362 >    yy_aconf = map_to_conf(yy_conf);
5363 >
5364      /* defaults */
5365      yy_aconf->port = PORTNUM;
6321
6322    if (ConfigFileEntry.burst_away)
6323      yy_aconf->flags = CONF_FLAGS_BURST_AWAY;
5366    }
5367    else
5368    {
# Line 6330 | Line 5372 | yyreduce:
5372   }
5373      break;
5374  
5375 <  case 394:
5376 <
5377 < /* Line 1455 of yacc.c  */
6336 < #line 2430 "ircd_parser.y"
5375 >  case 349:
5376 > /* Line 1787 of yacc.c  */
5377 > #line 2024 "conf_parser.y"
5378      {
5379    if (conf_parser_ctx.pass == 2)
5380    {
5381 <    struct CollectItem *yy_hconf=NULL;
5382 <    struct CollectItem *yy_lconf=NULL;
5383 <    dlink_node *ptr;
5384 <    dlink_node *next_ptr;
5385 < #ifdef HAVE_LIBCRYPTO
5386 <    if (yy_aconf->host &&
5387 <        ((yy_aconf->passwd && yy_aconf->spasswd) ||
5388 <         (yy_aconf->rsa_public_key && IsConfCryptLink(yy_aconf))))
6348 < #else /* !HAVE_LIBCRYPTO */
6349 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
6350 <          yy_aconf->passwd && yy_aconf->spasswd)
6351 < #endif /* !HAVE_LIBCRYPTO */
6352 <        {
6353 <          if (conf_add_server(yy_conf, class_name) == -1)
6354 <          {
6355 <            delete_conf_item(yy_conf);
6356 <            yy_conf = NULL;
6357 <            yy_aconf = NULL;
6358 <          }
6359 <        }
6360 <        else
6361 <        {
6362 <          /* Even if yy_conf ->name is NULL
6363 <           * should still unhook any hub/leaf confs still pending
6364 <           */
6365 <          unhook_hub_leaf_confs();
6366 <
6367 <          if (yy_conf->name != NULL)
6368 <          {
6369 < #ifndef HAVE_LIBCRYPTO
6370 <            if (IsConfCryptLink(yy_aconf))
6371 <              yyerror("Ignoring connect block -- no OpenSSL support");
6372 < #else
6373 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
6374 <              yyerror("Ignoring connect block -- missing key");
6375 < #endif
6376 <            if (yy_aconf->host == NULL)
6377 <              yyerror("Ignoring connect block -- missing host");
6378 <            else if (!IsConfCryptLink(yy_aconf) &&
6379 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
6380 <              yyerror("Ignoring connect block -- missing password");
6381 <          }
6382 <
6383 <
6384 <          /* XXX
6385 <           * This fixes a try_connections() core (caused by invalid class_ptr
6386 <           * pointers) reported by metalrock. That's an ugly fix, but there
6387 <           * is currently no better way. The entire config subsystem needs an
6388 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
6389 <           * a doubly linked list immediately without any sanity checks!  -Michael
6390 <           */
6391 <          delete_conf_item(yy_conf);
6392 <
6393 <          yy_aconf = NULL;
6394 <          yy_conf = NULL;
6395 <        }
6396 <
6397 <      /*
6398 <       * yy_conf is still pointing at the server that is having
6399 <       * a connect block built for it. This means, y_aconf->name
6400 <       * points to the actual irc name this server will be known as.
6401 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
6402 <       * given in the link list at yy_hconf. Fill in the HUB confs
6403 <       * from this link list now.
6404 <       */        
6405 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
6406 <      {
6407 <        struct ConfItem *new_hub_conf;
6408 <        struct MatchItem *match_item;
6409 <
6410 <        yy_hconf = ptr->data;
6411 <
6412 <        /* yy_conf == NULL is a fatal error for this connect block! */
6413 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
6414 <        {
6415 <          new_hub_conf = make_conf_item(HUB_TYPE);
6416 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
6417 <          DupString(new_hub_conf->name, yy_conf->name);
6418 <          if (yy_hconf->user != NULL)
6419 <            DupString(match_item->user, yy_hconf->user);
6420 <          else
6421 <            DupString(match_item->user, "*");
6422 <          if (yy_hconf->host != NULL)
6423 <            DupString(match_item->host, yy_hconf->host);
6424 <          else
6425 <            DupString(match_item->host, "*");
6426 <        }
6427 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
6428 <        free_collect_item(yy_hconf);
6429 <      }
6430 <
6431 <      /* Ditto for the LEAF confs */
6432 <
6433 <      DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
5381 >    if (yy_aconf->host && yy_aconf->passwd && yy_aconf->spasswd)
5382 >    {
5383 >      if (conf_add_server(yy_conf, class_name) == -1)
5384 >        delete_conf_item(yy_conf);
5385 >    }
5386 >    else
5387 >    {
5388 >      if (yy_conf->name != NULL)
5389        {
5390 <        struct ConfItem *new_leaf_conf;
5391 <        struct MatchItem *match_item;
5392 <
5393 <        yy_lconf = ptr->data;
6439 <
6440 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
6441 <        {
6442 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
6443 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
6444 <          DupString(new_leaf_conf->name, yy_conf->name);
6445 <          if (yy_lconf->user != NULL)
6446 <            DupString(match_item->user, yy_lconf->user);
6447 <          else
6448 <            DupString(match_item->user, "*");
6449 <          if (yy_lconf->host != NULL)
6450 <            DupString(match_item->host, yy_lconf->host);
6451 <          else
6452 <            DupString(match_item->host, "*");
6453 <        }
6454 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
6455 <        free_collect_item(yy_lconf);
5390 >        if (yy_aconf->host == NULL)
5391 >          yyerror("Ignoring connect block -- missing host");
5392 >        else if (!yy_aconf->passwd || !yy_aconf->spasswd)
5393 >          yyerror("Ignoring connect block -- missing password");
5394        }
6457      MyFree(class_name);
6458      class_name = NULL;
6459      yy_conf = NULL;
6460      yy_aconf = NULL;
6461  }
6462 }
6463    break;
5395  
5396 <  case 419:
5397 <
5398 < /* Line 1455 of yacc.c  */
5399 < #line 2569 "ircd_parser.y"
5400 <    {
5401 <  if (conf_parser_ctx.pass == 2)
5402 <  {
5403 <    if (yy_conf->name != NULL)
5404 <      yyerror("Multiple connect name entry");
5396 >      /* XXX
5397 >       * This fixes a try_connections() core (caused by invalid class_ptr
5398 >       * pointers) reported by metalrock. That's an ugly fix, but there
5399 >       * is currently no better way. The entire config subsystem needs an
5400 >       * rewrite ASAP. make_conf_item() shouldn't really add things onto
5401 >       * a doubly linked list immediately without any sanity checks!  -Michael
5402 >       */
5403 >      delete_conf_item(yy_conf);
5404 >    }
5405  
5406 <    MyFree(yy_conf->name);
5407 <    DupString(yy_conf->name, yylval.string);
5406 >    MyFree(class_name);
5407 >    class_name = NULL;
5408 >    yy_conf = NULL;
5409 >    yy_aconf = NULL;
5410    }
5411   }
5412      break;
5413  
5414 <  case 420:
5415 <
5416 < /* Line 1455 of yacc.c  */
6484 < #line 2581 "ircd_parser.y"
5414 >  case 366:
5415 > /* Line 1787 of yacc.c  */
5416 > #line 2068 "conf_parser.y"
5417      {
5418    if (conf_parser_ctx.pass == 2)
5419    {
6488    if (yy_conf->name != NULL)
6489      yyerror("Multiple connect name entry");
6490
5420      MyFree(yy_conf->name);
5421      DupString(yy_conf->name, yylval.string);
5422    }
5423   }
5424      break;
5425  
5426 <  case 421:
5427 <
5428 < /* Line 1455 of yacc.c  */
6500 < #line 2593 "ircd_parser.y"
5426 >  case 367:
5427 > /* Line 1787 of yacc.c  */
5428 > #line 2077 "conf_parser.y"
5429      {
5430    if (conf_parser_ctx.pass == 2)
5431    {
# Line 6507 | Line 5435 | yyreduce:
5435   }
5436      break;
5437  
5438 <  case 422:
5439 <
5440 < /* Line 1455 of yacc.c  */
6513 < #line 2602 "ircd_parser.y"
5438 >  case 368:
5439 > /* Line 1787 of yacc.c  */
5440 > #line 2086 "conf_parser.y"
5441      {
5442    if (conf_parser_ctx.pass == 2)
5443    {
# Line 6522 | Line 5449 | yyreduce:
5449      hints.ai_socktype = SOCK_STREAM;
5450      hints.ai_flags    = AI_PASSIVE | AI_NUMERICHOST;
5451  
5452 <    if (irc_getaddrinfo(yylval.string, NULL, &hints, &res))
5453 <      ilog(L_ERROR, "Invalid netmask for server vhost(%s)", yylval.string);
5452 >    if (getaddrinfo(yylval.string, NULL, &hints, &res))
5453 >      ilog(LOG_TYPE_IRCD, "Invalid netmask for server vhost(%s)", yylval.string);
5454      else
5455      {
5456        assert(res != NULL);
5457  
5458 <      memcpy(&yy_aconf->my_ipnum, res->ai_addr, res->ai_addrlen);
5459 <      yy_aconf->my_ipnum.ss.ss_family = res->ai_family;
5460 <      yy_aconf->my_ipnum.ss_len = res->ai_addrlen;
5461 <      irc_freeaddrinfo(res);
5458 >      memcpy(&yy_aconf->bind, res->ai_addr, res->ai_addrlen);
5459 >      yy_aconf->bind.ss.ss_family = res->ai_family;
5460 >      yy_aconf->bind.ss_len = res->ai_addrlen;
5461 >      freeaddrinfo(res);
5462      }
5463    }
5464   }
5465      break;
5466  
5467 <  case 423:
5468 <
5469 < /* Line 1455 of yacc.c  */
6543 < #line 2628 "ircd_parser.y"
5467 >  case 369:
5468 > /* Line 1787 of yacc.c  */
5469 > #line 2112 "conf_parser.y"
5470      {
5471    if (conf_parser_ctx.pass == 2)
5472    {
# Line 6559 | Line 5485 | yyreduce:
5485   }
5486      break;
5487  
5488 <  case 424:
5489 <
5490 < /* Line 1455 of yacc.c  */
6565 < #line 2646 "ircd_parser.y"
5488 >  case 370:
5489 > /* Line 1787 of yacc.c  */
5490 > #line 2130 "conf_parser.y"
5491      {
5492    if (conf_parser_ctx.pass == 2)
5493    {
# Line 6581 | Line 5506 | yyreduce:
5506   }
5507      break;
5508  
5509 <  case 425:
5510 <
5511 < /* Line 1455 of yacc.c  */
6587 < #line 2664 "ircd_parser.y"
5509 >  case 371:
5510 > /* Line 1787 of yacc.c  */
5511 > #line 2148 "conf_parser.y"
5512      {
5513    if (conf_parser_ctx.pass == 2)
5514      yy_aconf->port = (yyvsp[(3) - (4)].number);
5515   }
5516      break;
5517  
5518 <  case 426:
5519 <
5520 < /* Line 1455 of yacc.c  */
6597 < #line 2670 "ircd_parser.y"
5518 >  case 372:
5519 > /* Line 1787 of yacc.c  */
5520 > #line 2154 "conf_parser.y"
5521      {
5522    if (conf_parser_ctx.pass == 2)
5523      yy_aconf->aftype = AF_INET;
5524   }
5525      break;
5526  
5527 <  case 427:
5528 <
5529 < /* Line 1455 of yacc.c  */
6607 < #line 2674 "ircd_parser.y"
5527 >  case 373:
5528 > /* Line 1787 of yacc.c  */
5529 > #line 2158 "conf_parser.y"
5530      {
5531   #ifdef IPV6
5532    if (conf_parser_ctx.pass == 2)
# Line 6613 | Line 5535 | yyreduce:
5535   }
5536      break;
5537  
5538 <  case 428:
5539 <
5540 < /* Line 1455 of yacc.c  */
6619 < #line 2682 "ircd_parser.y"
6620 <    {
6621 <  if (conf_parser_ctx.pass == 2)
6622 <  {
6623 <    MyFree(yy_aconf->fakename);
6624 <    DupString(yy_aconf->fakename, yylval.string);
6625 <  }
6626 < }
6627 <    break;
6628 <
6629 <  case 429:
6630 <
6631 < /* Line 1455 of yacc.c  */
6632 < #line 2691 "ircd_parser.y"
6633 <    {
6634 < }
6635 <    break;
6636 <
6637 <  case 433:
6638 <
6639 < /* Line 1455 of yacc.c  */
6640 < #line 2695 "ircd_parser.y"
6641 <    { not_atom = 1; }
6642 <    break;
6643 <
6644 <  case 435:
6645 <
6646 < /* Line 1455 of yacc.c  */
6647 < #line 2696 "ircd_parser.y"
6648 <    { not_atom = 0; }
6649 <    break;
6650 <
6651 <  case 437:
6652 <
6653 < /* Line 1455 of yacc.c  */
6654 < #line 2699 "ircd_parser.y"
6655 <    {
6656 <  if (conf_parser_ctx.pass == 2)
6657 < #ifndef HAVE_LIBZ
6658 <    yyerror("Ignoring flags = compressed; -- no zlib support");
6659 < #else
6660 < {
6661 <   if (not_atom)ClearConfCompressed(yy_aconf);
6662 <   else SetConfCompressed(yy_aconf);
6663 < }
6664 < #endif
6665 < }
6666 <    break;
6667 <
6668 <  case 438:
6669 <
6670 < /* Line 1455 of yacc.c  */
6671 < #line 2710 "ircd_parser.y"
5538 >  case 374:
5539 > /* Line 1787 of yacc.c  */
5540 > #line 2166 "conf_parser.y"
5541      {
6673  if (conf_parser_ctx.pass == 2)
6674  {
6675    if (not_atom)ClearConfCryptLink(yy_aconf);
6676    else SetConfCryptLink(yy_aconf);
6677  }
5542   }
5543      break;
5544  
5545 <  case 439:
5546 <
5547 < /* Line 1455 of yacc.c  */
6684 < #line 2717 "ircd_parser.y"
6685 <    {
6686 <  if (conf_parser_ctx.pass == 2)
6687 <  {
6688 <    if (not_atom)ClearConfAllowAutoConn(yy_aconf);
6689 <    else SetConfAllowAutoConn(yy_aconf);
6690 <  }
6691 < }
6692 <    break;
6693 <
6694 <  case 440:
6695 <
6696 < /* Line 1455 of yacc.c  */
6697 < #line 2724 "ircd_parser.y"
5545 >  case 378:
5546 > /* Line 1787 of yacc.c  */
5547 > #line 2171 "conf_parser.y"
5548      {
5549    if (conf_parser_ctx.pass == 2)
5550 <  {
6701 <    if (not_atom)ClearConfAwayBurst(yy_aconf);
6702 <    else SetConfAwayBurst(yy_aconf);
6703 <  }
5550 >    SetConfAllowAutoConn(yy_aconf);
5551   }
5552      break;
5553  
5554 <  case 441:
5555 <
5556 < /* Line 1455 of yacc.c  */
6710 < #line 2731 "ircd_parser.y"
5554 >  case 379:
5555 > /* Line 1787 of yacc.c  */
5556 > #line 2175 "conf_parser.y"
5557      {
5558    if (conf_parser_ctx.pass == 2)
5559 <  {
6714 <    if (not_atom)ClearConfTopicBurst(yy_aconf);
6715 <    else SetConfTopicBurst(yy_aconf);
6716 <  }
5559 >    SetConfSSL(yy_aconf);
5560   }
5561      break;
5562  
5563 <  case 442:
5564 <
5565 < /* Line 1455 of yacc.c  */
6723 < #line 2741 "ircd_parser.y"
6724 <    {
6725 < #ifdef HAVE_LIBCRYPTO
6726 <  if (conf_parser_ctx.pass == 2)
6727 <  {
6728 <    BIO *file;
6729 <
6730 <    if (yy_aconf->rsa_public_key != NULL)
6731 <    {
6732 <      RSA_free(yy_aconf->rsa_public_key);
6733 <      yy_aconf->rsa_public_key = NULL;
6734 <    }
6735 <
6736 <    if (yy_aconf->rsa_public_key_file != NULL)
6737 <    {
6738 <      MyFree(yy_aconf->rsa_public_key_file);
6739 <      yy_aconf->rsa_public_key_file = NULL;
6740 <    }
6741 <
6742 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6743 <
6744 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6745 <    {
6746 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6747 <      break;
6748 <    }
6749 <
6750 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6751 <
6752 <    if (yy_aconf->rsa_public_key == NULL)
6753 <    {
6754 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6755 <      break;
6756 <    }
6757 <      
6758 <    BIO_set_close(file, BIO_CLOSE);
6759 <    BIO_free(file);
6760 <  }
6761 < #endif /* HAVE_LIBCRYPTO */
6762 < }
6763 <    break;
6764 <
6765 <  case 443:
6766 <
6767 < /* Line 1455 of yacc.c  */
6768 < #line 2782 "ircd_parser.y"
5563 >  case 380:
5564 > /* Line 1787 of yacc.c  */
5565 > #line 2181 "conf_parser.y"
5566      {
5567    if (conf_parser_ctx.pass == 2)
5568    {
# Line 6777 | Line 5574 | yyreduce:
5574   }
5575      break;
5576  
5577 <  case 444:
5578 <
5579 < /* Line 1455 of yacc.c  */
6783 < #line 2793 "ircd_parser.y"
6784 <    {
6785 <  if (conf_parser_ctx.pass == 2)
6786 <  {
6787 <    if (yylval.number)
6788 <      yy_aconf->flags |= CONF_FLAGS_CRYPTLINK;
6789 <    else
6790 <      yy_aconf->flags &= ~CONF_FLAGS_CRYPTLINK;
6791 <  }
6792 < }
6793 <    break;
6794 <
6795 <  case 445:
6796 <
6797 < /* Line 1455 of yacc.c  */
6798 < #line 2804 "ircd_parser.y"
6799 <    {
6800 <  if (conf_parser_ctx.pass == 2)
6801 <  {
6802 <    if (yylval.number)
6803 < #ifndef HAVE_LIBZ
6804 <      yyerror("Ignoring compressed=yes; -- no zlib support");
6805 < #else
6806 <      yy_aconf->flags |= CONF_FLAGS_COMPRESSED;
6807 < #endif
6808 <    else
6809 <      yy_aconf->flags &= ~CONF_FLAGS_COMPRESSED;
6810 <  }
6811 < }
6812 <    break;
6813 <
6814 <  case 446:
6815 <
6816 < /* Line 1455 of yacc.c  */
6817 < #line 2819 "ircd_parser.y"
6818 <    {
6819 <  if (conf_parser_ctx.pass == 2)
6820 <  {
6821 <    if (yylval.number)
6822 <      yy_aconf->flags |= CONF_FLAGS_ALLOW_AUTO_CONN;
6823 <    else
6824 <      yy_aconf->flags &= ~CONF_FLAGS_ALLOW_AUTO_CONN;
6825 <  }
6826 < }
6827 <    break;
6828 <
6829 <  case 447:
6830 <
6831 < /* Line 1455 of yacc.c  */
6832 < #line 2830 "ircd_parser.y"
6833 <    {
6834 <  if (conf_parser_ctx.pass == 2)
6835 <  {
6836 <    if (yylval.number)
6837 <      SetConfTopicBurst(yy_aconf);
6838 <    else
6839 <      ClearConfTopicBurst(yy_aconf);
6840 <  }
6841 < }
6842 <    break;
6843 <
6844 <  case 448:
6845 <
6846 < /* Line 1455 of yacc.c  */
6847 < #line 2841 "ircd_parser.y"
5577 >  case 381:
5578 > /* Line 1787 of yacc.c  */
5579 > #line 2192 "conf_parser.y"
5580      {
5581    if (conf_parser_ctx.pass == 2)
5582    {
5583 <    struct CollectItem *yy_tmp;
5583 >    char *mask;
5584  
5585 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5586 <    DupString(yy_tmp->host, yylval.string);
6855 <    DupString(yy_tmp->user, "*");
6856 <    dlinkAdd(yy_tmp, &yy_tmp->node, &hub_conf_list);
5585 >    DupString(mask, yylval.string);
5586 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->hub_list);
5587    }
5588   }
5589      break;
5590  
5591 <  case 449:
5592 <
5593 < /* Line 1455 of yacc.c  */
6864 < #line 2854 "ircd_parser.y"
5591 >  case 382:
5592 > /* Line 1787 of yacc.c  */
5593 > #line 2203 "conf_parser.y"
5594      {
5595    if (conf_parser_ctx.pass == 2)
5596    {
5597 <    struct CollectItem *yy_tmp;
5597 >    char *mask;
5598  
5599 <    yy_tmp = (struct CollectItem *)MyMalloc(sizeof(struct CollectItem));
5600 <    DupString(yy_tmp->host, yylval.string);
6872 <    DupString(yy_tmp->user, "*");
6873 <    dlinkAdd(yy_tmp, &yy_tmp->node, &leaf_conf_list);
5599 >    DupString(mask, yylval.string);
5600 >    dlinkAdd(mask, make_dlink_node(), &yy_aconf->leaf_list);
5601    }
5602   }
5603      break;
5604  
5605 <  case 450:
5606 <
5607 < /* Line 1455 of yacc.c  */
6881 < #line 2867 "ircd_parser.y"
5605 >  case 383:
5606 > /* Line 1787 of yacc.c  */
5607 > #line 2214 "conf_parser.y"
5608      {
5609    if (conf_parser_ctx.pass == 2)
5610    {
# Line 6888 | Line 5614 | yyreduce:
5614   }
5615      break;
5616  
5617 <  case 451:
5618 <
5619 < /* Line 1455 of yacc.c  */
6894 < #line 2876 "ircd_parser.y"
5617 >  case 384:
5618 > /* Line 1787 of yacc.c  */
5619 > #line 2223 "conf_parser.y"
5620      {
5621   #ifdef HAVE_LIBCRYPTO
5622    if (conf_parser_ctx.pass == 2)
5623    {
5624 <    struct EncCapability *ecap;
5625 <    const char *cipher_name;
6901 <    int found = 0;
6902 <
6903 <    yy_aconf->cipher_preference = NULL;
6904 <    cipher_name = yylval.string;
6905 <
6906 <    for (ecap = CipherTable; ecap->name; ecap++)
6907 <    {
6908 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6909 <          (ecap->cap & CAP_ENC_MASK))
6910 <      {
6911 <        yy_aconf->cipher_preference = ecap;
6912 <        found = 1;
6913 <        break;
6914 <      }
6915 <    }
6916 <
6917 <    if (!found)
6918 <      yyerror("Invalid cipher");
5624 >    MyFree(yy_aconf->cipher_list);
5625 >    DupString(yy_aconf->cipher_list, yylval.string);
5626    }
5627   #else
5628    if (conf_parser_ctx.pass == 2)
5629 <    yyerror("Ignoring cipher_preference -- no OpenSSL support");
5629 >    yyerror("Ignoring connect::ciphers -- no OpenSSL support");
5630   #endif
5631   }
5632      break;
5633  
5634 <  case 452:
5635 <
5636 < /* Line 1455 of yacc.c  */
6930 < #line 2911 "ircd_parser.y"
5634 >  case 385:
5635 > /* Line 1787 of yacc.c  */
5636 > #line 2241 "conf_parser.y"
5637      {
5638    if (conf_parser_ctx.pass == 2)
5639    {
# Line 6937 | Line 5643 | yyreduce:
5643   }
5644      break;
5645  
5646 <  case 453:
5647 <
5648 < /* Line 1455 of yacc.c  */
6943 < #line 2918 "ircd_parser.y"
5646 >  case 386:
5647 > /* Line 1787 of yacc.c  */
5648 > #line 2248 "conf_parser.y"
5649      {
5650    if (conf_parser_ctx.pass == 2)
5651    {
# Line 6956 | Line 5661 | yyreduce:
5661          if (!(exp_user = ircd_pcre_compile(userbuf, &errptr)) ||
5662              !(exp_host = ircd_pcre_compile(hostbuf, &errptr)))
5663          {
5664 <          ilog(L_ERROR, "Failed to add regular expression based K-Line: %s",
5664 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: %s",
5665                 errptr);
5666            break;
5667          }
# Line 6973 | Line 5678 | yyreduce:
5678          else
5679            DupString(yy_aconf->reason, "No reason");
5680   #else
5681 <        ilog(L_ERROR, "Failed to add regular expression based K-Line: no PCRE support");
5681 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based K-Line: no PCRE support");
5682          break;
5683   #endif
5684        }
5685        else
5686        {
5687 +        find_and_delete_temporary(userbuf, hostbuf, CONF_KLINE);
5688 +
5689          yy_aconf = map_to_conf(make_conf_item(KLINE_TYPE));
5690  
5691          DupString(yy_aconf->user, userbuf);
# Line 6988 | Line 5695 | yyreduce:
5695            DupString(yy_aconf->reason, reasonbuf);
5696          else
5697            DupString(yy_aconf->reason, "No reason");
5698 <        add_conf_by_address(CONF_KILL, yy_aconf);
5698 >        add_conf_by_address(CONF_KLINE, yy_aconf);
5699        }
5700      }
5701  
# Line 6997 | Line 5704 | yyreduce:
5704   }
5705      break;
5706  
5707 <  case 454:
5708 <
5709 < /* Line 1455 of yacc.c  */
7003 < #line 2974 "ircd_parser.y"
5707 >  case 387:
5708 > /* Line 1787 of yacc.c  */
5709 > #line 2306 "conf_parser.y"
5710      {
5711   }
5712      break;
5713  
5714 <  case 458:
5715 <
5716 < /* Line 1455 of yacc.c  */
7011 < #line 2979 "ircd_parser.y"
5714 >  case 391:
5715 > /* Line 1787 of yacc.c  */
5716 > #line 2311 "conf_parser.y"
5717      {
5718    if (conf_parser_ctx.pass == 2)
5719      regex_ban = 1;
5720   }
5721      break;
5722  
5723 <  case 465:
5724 <
5725 < /* Line 1455 of yacc.c  */
7021 < #line 2988 "ircd_parser.y"
5723 >  case 398:
5724 > /* Line 1787 of yacc.c  */
5725 > #line 2320 "conf_parser.y"
5726      {
5727    if (conf_parser_ctx.pass == 2)
5728    {
# Line 7038 | Line 5742 | yyreduce:
5742   }
5743      break;
5744  
5745 <  case 466:
5746 <
5747 < /* Line 1455 of yacc.c  */
7044 < #line 3007 "ircd_parser.y"
5745 >  case 399:
5746 > /* Line 1787 of yacc.c  */
5747 > #line 2339 "conf_parser.y"
5748      {
5749    if (conf_parser_ctx.pass == 2)
5750      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5751   }
5752      break;
5753  
5754 <  case 467:
5755 <
5756 < /* Line 1455 of yacc.c  */
7054 < #line 3016 "ircd_parser.y"
5754 >  case 400:
5755 > /* Line 1787 of yacc.c  */
5756 > #line 2348 "conf_parser.y"
5757      {
5758    if (conf_parser_ctx.pass == 2)
5759      hostbuf[0] = reasonbuf[0] = '\0';
5760   }
5761      break;
5762  
5763 <  case 468:
5764 <
5765 < /* Line 1455 of yacc.c  */
7064 < #line 3020 "ircd_parser.y"
5763 >  case 401:
5764 > /* Line 1787 of yacc.c  */
5765 > #line 2352 "conf_parser.y"
5766      {
5767    if (conf_parser_ctx.pass == 2)
5768    {
5769      if (hostbuf[0] && parse_netmask(hostbuf, NULL, NULL) != HM_HOST)
5770      {
5771 +      find_and_delete_temporary(NULL, hostbuf, CONF_DLINE);
5772 +
5773        yy_aconf = map_to_conf(make_conf_item(DLINE_TYPE));
5774        DupString(yy_aconf->host, hostbuf);
5775  
# Line 7081 | Line 5784 | yyreduce:
5784   }
5785      break;
5786  
5787 <  case 474:
5788 <
5789 < /* Line 1455 of yacc.c  */
7087 < #line 3042 "ircd_parser.y"
5787 >  case 407:
5788 > /* Line 1787 of yacc.c  */
5789 > #line 2376 "conf_parser.y"
5790      {
5791    if (conf_parser_ctx.pass == 2)
5792      strlcpy(hostbuf, yylval.string, sizeof(hostbuf));
5793   }
5794      break;
5795  
5796 <  case 475:
5797 <
5798 < /* Line 1455 of yacc.c  */
7097 < #line 3048 "ircd_parser.y"
5796 >  case 408:
5797 > /* Line 1787 of yacc.c  */
5798 > #line 2382 "conf_parser.y"
5799      {
5800    if (conf_parser_ctx.pass == 2)
5801      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5802   }
5803      break;
5804  
5805 <  case 481:
5806 <
5807 < /* Line 1455 of yacc.c  */
7107 < #line 3062 "ircd_parser.y"
5805 >  case 414:
5806 > /* Line 1787 of yacc.c  */
5807 > #line 2396 "conf_parser.y"
5808      {
5809    if (conf_parser_ctx.pass == 2)
5810    {
# Line 7120 | Line 5820 | yyreduce:
5820   }
5821      break;
5822  
5823 <  case 482:
5824 <
5825 < /* Line 1455 of yacc.c  */
7126 < #line 3080 "ircd_parser.y"
5823 >  case 415:
5824 > /* Line 1787 of yacc.c  */
5825 > #line 2414 "conf_parser.y"
5826      {
5827    if (conf_parser_ctx.pass == 2)
5828    {
# Line 7133 | Line 5832 | yyreduce:
5832   }
5833      break;
5834  
5835 <  case 483:
5836 <
5837 < /* Line 1455 of yacc.c  */
7139 < #line 3087 "ircd_parser.y"
5835 >  case 416:
5836 > /* Line 1787 of yacc.c  */
5837 > #line 2421 "conf_parser.y"
5838      {
5839    if (conf_parser_ctx.pass == 2)
5840    {
# Line 7150 | Line 5848 | yyreduce:
5848  
5849          if (!(exp_p = ircd_pcre_compile(gecos_name, &errptr)))
5850          {
5851 <          ilog(L_ERROR, "Failed to add regular expression based X-Line: %s",
5851 >          ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: %s",
5852                 errptr);
5853            break;
5854          }
# Line 7158 | Line 5856 | yyreduce:
5856          yy_conf = make_conf_item(RXLINE_TYPE);
5857          yy_conf->regexpname = exp_p;
5858   #else
5859 <        ilog(L_ERROR, "Failed to add regular expression based X-Line: no PCRE support");
5859 >        ilog(LOG_TYPE_IRCD, "Failed to add regular expression based X-Line: no PCRE support");
5860          break;
5861   #endif
5862        }
# Line 7177 | Line 5875 | yyreduce:
5875   }
5876      break;
5877  
5878 <  case 484:
5879 <
5880 < /* Line 1455 of yacc.c  */
7183 < #line 3127 "ircd_parser.y"
5878 >  case 417:
5879 > /* Line 1787 of yacc.c  */
5880 > #line 2461 "conf_parser.y"
5881      {
5882   }
5883      break;
5884  
5885 <  case 488:
5886 <
5887 < /* Line 1455 of yacc.c  */
7191 < #line 3132 "ircd_parser.y"
5885 >  case 421:
5886 > /* Line 1787 of yacc.c  */
5887 > #line 2466 "conf_parser.y"
5888      {
5889    if (conf_parser_ctx.pass == 2)
5890      regex_ban = 1;
5891   }
5892      break;
5893  
5894 <  case 495:
5895 <
5896 < /* Line 1455 of yacc.c  */
7201 < #line 3141 "ircd_parser.y"
5894 >  case 428:
5895 > /* Line 1787 of yacc.c  */
5896 > #line 2475 "conf_parser.y"
5897      {
5898    if (conf_parser_ctx.pass == 2)
5899      strlcpy(gecos_name, yylval.string, sizeof(gecos_name));
5900   }
5901      break;
5902  
5903 <  case 496:
5904 <
5905 < /* Line 1455 of yacc.c  */
7211 < #line 3147 "ircd_parser.y"
5903 >  case 429:
5904 > /* Line 1787 of yacc.c  */
5905 > #line 2481 "conf_parser.y"
5906      {
5907    if (conf_parser_ctx.pass == 2)
5908      strlcpy(reasonbuf, yylval.string, sizeof(reasonbuf));
5909   }
5910      break;
5911  
5912 <  case 557:
5913 <
5914 < /* Line 1455 of yacc.c  */
7221 < #line 3192 "ircd_parser.y"
5912 >  case 483:
5913 > /* Line 1787 of yacc.c  */
5914 > #line 2526 "conf_parser.y"
5915      {
5916    ConfigFileEntry.max_watch = (yyvsp[(3) - (4)].number);
5917   }
5918      break;
5919  
5920 <  case 558:
5921 <
5922 < /* Line 1455 of yacc.c  */
7230 < #line 3197 "ircd_parser.y"
5920 >  case 484:
5921 > /* Line 1787 of yacc.c  */
5922 > #line 2531 "conf_parser.y"
5923      {
5924 <  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5924 >  if (conf_parser_ctx.pass == 2)
5925 >    ConfigFileEntry.glines = yylval.number;
5926   }
5927      break;
5928  
5929 <  case 559:
5930 <
5931 < /* Line 1455 of yacc.c  */
7239 < #line 3202 "ircd_parser.y"
5929 >  case 485:
5930 > /* Line 1787 of yacc.c  */
5931 > #line 2537 "conf_parser.y"
5932      {
5933 <  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5933 >  if (conf_parser_ctx.pass == 2)
5934 >    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
5935   }
5936      break;
5937  
5938 <  case 560:
5939 <
5940 < /* Line 1455 of yacc.c  */
7248 < #line 3207 "ircd_parser.y"
5938 >  case 486:
5939 > /* Line 1787 of yacc.c  */
5940 > #line 2543 "conf_parser.y"
5941      {
5942 <  ConfigFileEntry.burst_away = yylval.number;
5942 >  if (conf_parser_ctx.pass == 2)
5943 >    ConfigFileEntry.gline_request_time = (yyvsp[(3) - (4)].number);
5944   }
5945      break;
5946  
5947 <  case 561:
5948 <
5949 < /* Line 1455 of yacc.c  */
7257 < #line 3212 "ircd_parser.y"
5947 >  case 487:
5948 > /* Line 1787 of yacc.c  */
5949 > #line 2549 "conf_parser.y"
5950      {
5951 <  ConfigFileEntry.use_whois_actually = yylval.number;
5951 >  ConfigFileEntry.gline_min_cidr = (yyvsp[(3) - (4)].number);
5952   }
5953      break;
5954  
5955 <  case 562:
5956 <
5957 < /* Line 1455 of yacc.c  */
7266 < #line 3217 "ircd_parser.y"
5955 >  case 488:
5956 > /* Line 1787 of yacc.c  */
5957 > #line 2554 "conf_parser.y"
5958      {
5959 <  GlobalSetOptions.rejecttime = yylval.number;
5959 >  ConfigFileEntry.gline_min_cidr6 = (yyvsp[(3) - (4)].number);
5960   }
5961      break;
5962  
5963 <  case 563:
5964 <
5965 < /* Line 1455 of yacc.c  */
7275 < #line 3222 "ircd_parser.y"
5963 >  case 489:
5964 > /* Line 1787 of yacc.c  */
5965 > #line 2559 "conf_parser.y"
5966      {
5967    ConfigFileEntry.tkline_expire_notices = yylval.number;
5968   }
5969      break;
5970  
5971 <  case 564:
5972 <
5973 < /* Line 1455 of yacc.c  */
7284 < #line 3227 "ircd_parser.y"
5971 >  case 490:
5972 > /* Line 1787 of yacc.c  */
5973 > #line 2564 "conf_parser.y"
5974      {
5975    ConfigFileEntry.kill_chase_time_limit = (yyvsp[(3) - (4)].number);
5976   }
5977      break;
5978  
5979 <  case 565:
5980 <
5981 < /* Line 1455 of yacc.c  */
7293 < #line 3232 "ircd_parser.y"
5979 >  case 491:
5980 > /* Line 1787 of yacc.c  */
5981 > #line 2569 "conf_parser.y"
5982      {
5983    ConfigFileEntry.hide_spoof_ips = yylval.number;
5984   }
5985      break;
5986  
5987 <  case 566:
5988 <
5989 < /* Line 1455 of yacc.c  */
7302 < #line 3237 "ircd_parser.y"
5987 >  case 492:
5988 > /* Line 1787 of yacc.c  */
5989 > #line 2574 "conf_parser.y"
5990      {
5991    ConfigFileEntry.ignore_bogus_ts = yylval.number;
5992   }
5993      break;
5994  
5995 <  case 567:
5996 <
5997 < /* Line 1455 of yacc.c  */
7311 < #line 3242 "ircd_parser.y"
5995 >  case 493:
5996 > /* Line 1787 of yacc.c  */
5997 > #line 2579 "conf_parser.y"
5998      {
5999    ConfigFileEntry.disable_remote = yylval.number;
6000   }
6001      break;
6002  
6003 <  case 568:
6004 <
6005 < /* Line 1455 of yacc.c  */
7320 < #line 3247 "ircd_parser.y"
6003 >  case 494:
6004 > /* Line 1787 of yacc.c  */
6005 > #line 2584 "conf_parser.y"
6006      {
6007    ConfigFileEntry.failed_oper_notice = yylval.number;
6008   }
6009      break;
6010  
6011 <  case 569:
6012 <
6013 < /* Line 1455 of yacc.c  */
7329 < #line 3252 "ircd_parser.y"
6011 >  case 495:
6012 > /* Line 1787 of yacc.c  */
6013 > #line 2589 "conf_parser.y"
6014      {
6015    ConfigFileEntry.anti_nick_flood = yylval.number;
6016   }
6017      break;
6018  
6019 <  case 570:
6020 <
6021 < /* Line 1455 of yacc.c  */
7338 < #line 3257 "ircd_parser.y"
6019 >  case 496:
6020 > /* Line 1787 of yacc.c  */
6021 > #line 2594 "conf_parser.y"
6022      {
6023    ConfigFileEntry.max_nick_time = (yyvsp[(3) - (4)].number);
6024   }
6025      break;
6026  
6027 <  case 571:
6028 <
6029 < /* Line 1455 of yacc.c  */
7347 < #line 3262 "ircd_parser.y"
6027 >  case 497:
6028 > /* Line 1787 of yacc.c  */
6029 > #line 2599 "conf_parser.y"
6030      {
6031    ConfigFileEntry.max_nick_changes = (yyvsp[(3) - (4)].number);
6032   }
6033      break;
6034  
6035 <  case 572:
6036 <
6037 < /* Line 1455 of yacc.c  */
7356 < #line 3267 "ircd_parser.y"
6035 >  case 498:
6036 > /* Line 1787 of yacc.c  */
6037 > #line 2604 "conf_parser.y"
6038      {
6039    ConfigFileEntry.max_accept = (yyvsp[(3) - (4)].number);
6040   }
6041      break;
6042  
6043 <  case 573:
6044 <
6045 < /* Line 1455 of yacc.c  */
7365 < #line 3272 "ircd_parser.y"
6043 >  case 499:
6044 > /* Line 1787 of yacc.c  */
6045 > #line 2609 "conf_parser.y"
6046      {
6047    ConfigFileEntry.anti_spam_exit_message_time = (yyvsp[(3) - (4)].number);
6048   }
6049      break;
6050  
6051 <  case 574:
6052 <
6053 < /* Line 1455 of yacc.c  */
7374 < #line 3277 "ircd_parser.y"
6051 >  case 500:
6052 > /* Line 1787 of yacc.c  */
6053 > #line 2614 "conf_parser.y"
6054      {
6055    ConfigFileEntry.ts_warn_delta = (yyvsp[(3) - (4)].number);
6056   }
6057      break;
6058  
6059 <  case 575:
6060 <
6061 < /* Line 1455 of yacc.c  */
7383 < #line 3282 "ircd_parser.y"
6059 >  case 501:
6060 > /* Line 1787 of yacc.c  */
6061 > #line 2619 "conf_parser.y"
6062      {
6063    if (conf_parser_ctx.pass == 2)
6064      ConfigFileEntry.ts_max_delta = (yyvsp[(3) - (4)].number);
6065   }
6066      break;
6067  
6068 <  case 576:
6069 <
6070 < /* Line 1455 of yacc.c  */
7393 < #line 3288 "ircd_parser.y"
6068 >  case 502:
6069 > /* Line 1787 of yacc.c  */
6070 > #line 2625 "conf_parser.y"
6071      {
6072    if (((yyvsp[(3) - (4)].number) > 0) && conf_parser_ctx.pass == 1)
6073    {
6074 <    ilog(L_CRIT, "You haven't read your config file properly.");
6075 <    ilog(L_CRIT, "There is a line in the example conf that will kill your server if not removed.");
6076 <    ilog(L_CRIT, "Consider actually reading/editing the conf file, and removing this line.");
6074 >    ilog(LOG_TYPE_IRCD, "You haven't read your config file properly.");
6075 >    ilog(LOG_TYPE_IRCD, "There is a line in the example conf that will kill your server if not removed.");
6076 >    ilog(LOG_TYPE_IRCD, "Consider actually reading/editing the conf file, and removing this line.");
6077      exit(0);
6078    }
6079   }
6080      break;
6081  
6082 <  case 577:
6083 <
6084 < /* Line 1455 of yacc.c  */
7408 < #line 3299 "ircd_parser.y"
7409 <    {
7410 <  ConfigFileEntry.kline_with_reason = yylval.number;
7411 < }
7412 <    break;
7413 <
7414 <  case 578:
7415 <
7416 < /* Line 1455 of yacc.c  */
7417 < #line 3304 "ircd_parser.y"
7418 <    {
7419 <  if (conf_parser_ctx.pass == 2)
7420 <  {
7421 <    MyFree(ConfigFileEntry.kline_reason);
7422 <    DupString(ConfigFileEntry.kline_reason, yylval.string);
7423 <  }
7424 < }
7425 <    break;
7426 <
7427 <  case 579:
7428 <
7429 < /* Line 1455 of yacc.c  */
7430 < #line 3313 "ircd_parser.y"
6082 >  case 503:
6083 > /* Line 1787 of yacc.c  */
6084 > #line 2636 "conf_parser.y"
6085      {
6086    ConfigFileEntry.invisible_on_connect = yylval.number;
6087   }
6088      break;
6089  
6090 <  case 580:
6091 <
6092 < /* Line 1455 of yacc.c  */
7439 < #line 3318 "ircd_parser.y"
6090 >  case 504:
6091 > /* Line 1787 of yacc.c  */
6092 > #line 2641 "conf_parser.y"
6093      {
6094    ConfigFileEntry.warn_no_nline = yylval.number;
6095   }
6096      break;
6097  
6098 <  case 581:
6099 <
6100 < /* Line 1455 of yacc.c  */
7448 < #line 3323 "ircd_parser.y"
6098 >  case 505:
6099 > /* Line 1787 of yacc.c  */
6100 > #line 2646 "conf_parser.y"
6101      {
6102    ConfigFileEntry.stats_e_disabled = yylval.number;
6103   }
6104      break;
6105  
6106 <  case 582:
6107 <
6108 < /* Line 1455 of yacc.c  */
7457 < #line 3328 "ircd_parser.y"
6106 >  case 506:
6107 > /* Line 1787 of yacc.c  */
6108 > #line 2651 "conf_parser.y"
6109      {
6110    ConfigFileEntry.stats_o_oper_only = yylval.number;
6111   }
6112      break;
6113  
6114 <  case 583:
6115 <
6116 < /* Line 1455 of yacc.c  */
7466 < #line 3333 "ircd_parser.y"
6114 >  case 507:
6115 > /* Line 1787 of yacc.c  */
6116 > #line 2656 "conf_parser.y"
6117      {
6118    ConfigFileEntry.stats_P_oper_only = yylval.number;
6119   }
6120      break;
6121  
6122 <  case 584:
6123 <
6124 < /* Line 1455 of yacc.c  */
7475 < #line 3338 "ircd_parser.y"
6122 >  case 508:
6123 > /* Line 1787 of yacc.c  */
6124 > #line 2661 "conf_parser.y"
6125      {
6126    ConfigFileEntry.stats_k_oper_only = 2 * yylval.number;
6127   }
6128      break;
6129  
6130 <  case 585:
6131 <
6132 < /* Line 1455 of yacc.c  */
7484 < #line 3341 "ircd_parser.y"
6130 >  case 509:
6131 > /* Line 1787 of yacc.c  */
6132 > #line 2664 "conf_parser.y"
6133      {
6134    ConfigFileEntry.stats_k_oper_only = 1;
6135   }
6136      break;
6137  
6138 <  case 586:
6139 <
6140 < /* Line 1455 of yacc.c  */
7493 < #line 3346 "ircd_parser.y"
6138 >  case 510:
6139 > /* Line 1787 of yacc.c  */
6140 > #line 2669 "conf_parser.y"
6141      {
6142    ConfigFileEntry.stats_i_oper_only = 2 * yylval.number;
6143   }
6144      break;
6145  
6146 <  case 587:
6147 <
6148 < /* Line 1455 of yacc.c  */
7502 < #line 3349 "ircd_parser.y"
6146 >  case 511:
6147 > /* Line 1787 of yacc.c  */
6148 > #line 2672 "conf_parser.y"
6149      {
6150    ConfigFileEntry.stats_i_oper_only = 1;
6151   }
6152      break;
6153  
6154 <  case 588:
6155 <
6156 < /* Line 1455 of yacc.c  */
7511 < #line 3354 "ircd_parser.y"
6154 >  case 512:
6155 > /* Line 1787 of yacc.c  */
6156 > #line 2677 "conf_parser.y"
6157      {
6158    ConfigFileEntry.pace_wait = (yyvsp[(3) - (4)].number);
6159   }
6160      break;
6161  
6162 <  case 589:
6163 <
6164 < /* Line 1455 of yacc.c  */
7520 < #line 3359 "ircd_parser.y"
6162 >  case 513:
6163 > /* Line 1787 of yacc.c  */
6164 > #line 2682 "conf_parser.y"
6165      {
6166    ConfigFileEntry.caller_id_wait = (yyvsp[(3) - (4)].number);
6167   }
6168      break;
6169  
6170 <  case 590:
6171 <
6172 < /* Line 1455 of yacc.c  */
7529 < #line 3364 "ircd_parser.y"
6170 >  case 514:
6171 > /* Line 1787 of yacc.c  */
6172 > #line 2687 "conf_parser.y"
6173      {
6174    ConfigFileEntry.opers_bypass_callerid = yylval.number;
6175   }
6176      break;
6177  
6178 <  case 591:
6179 <
6180 < /* Line 1455 of yacc.c  */
7538 < #line 3369 "ircd_parser.y"
6178 >  case 515:
6179 > /* Line 1787 of yacc.c  */
6180 > #line 2692 "conf_parser.y"
6181      {
6182    ConfigFileEntry.pace_wait_simple = (yyvsp[(3) - (4)].number);
6183   }
6184      break;
6185  
6186 <  case 592:
6187 <
6188 < /* Line 1455 of yacc.c  */
7547 < #line 3374 "ircd_parser.y"
6186 >  case 516:
6187 > /* Line 1787 of yacc.c  */
6188 > #line 2697 "conf_parser.y"
6189      {
6190    ConfigFileEntry.short_motd = yylval.number;
6191   }
6192      break;
6193  
6194 <  case 593:
6195 <
6196 < /* Line 1455 of yacc.c  */
7556 < #line 3379 "ircd_parser.y"
6194 >  case 517:
6195 > /* Line 1787 of yacc.c  */
6196 > #line 2702 "conf_parser.y"
6197      {
6198    ConfigFileEntry.no_oper_flood = yylval.number;
6199   }
6200      break;
6201  
6202 <  case 594:
6203 <
6204 < /* Line 1455 of yacc.c  */
7565 < #line 3384 "ircd_parser.y"
6202 >  case 518:
6203 > /* Line 1787 of yacc.c  */
6204 > #line 2707 "conf_parser.y"
6205      {
6206    ConfigFileEntry.true_no_oper_flood = yylval.number;
6207   }
6208      break;
6209  
6210 <  case 595:
6211 <
6212 < /* Line 1455 of yacc.c  */
7574 < #line 3389 "ircd_parser.y"
6210 >  case 519:
6211 > /* Line 1787 of yacc.c  */
6212 > #line 2712 "conf_parser.y"
6213      {
6214    ConfigFileEntry.oper_pass_resv = yylval.number;
6215   }
6216      break;
6217  
6218 <  case 596:
6219 <
6220 < /* Line 1455 of yacc.c  */
7583 < #line 3394 "ircd_parser.y"
6218 >  case 520:
6219 > /* Line 1787 of yacc.c  */
6220 > #line 2717 "conf_parser.y"
6221      {
6222    if (conf_parser_ctx.pass == 2)
6223    {
# Line 7592 | Line 6229 | yyreduce:
6229   }
6230      break;
6231  
6232 <  case 597:
6233 <
6234 < /* Line 1455 of yacc.c  */
7598 < #line 3405 "ircd_parser.y"
7599 <    {
7600 <  ConfigFileEntry.idletime = (yyvsp[(3) - (4)].number);
7601 < }
7602 <    break;
7603 <
7604 <  case 598:
7605 <
7606 < /* Line 1455 of yacc.c  */
7607 < #line 3410 "ircd_parser.y"
6232 >  case 521:
6233 > /* Line 1787 of yacc.c  */
6234 > #line 2728 "conf_parser.y"
6235      {
6236    ConfigFileEntry.dots_in_ident = (yyvsp[(3) - (4)].number);
6237   }
6238      break;
6239  
6240 <  case 599:
6241 <
6242 < /* Line 1455 of yacc.c  */
7616 < #line 3415 "ircd_parser.y"
6240 >  case 522:
6241 > /* Line 1787 of yacc.c  */
6242 > #line 2733 "conf_parser.y"
6243      {
6244    ConfigFileEntry.max_targets = (yyvsp[(3) - (4)].number);
6245   }
6246      break;
6247  
6248 <  case 600:
6249 <
6250 < /* Line 1455 of yacc.c  */
7625 < #line 3420 "ircd_parser.y"
7626 <    {
7627 <  if (conf_parser_ctx.pass == 2)
7628 <  {
7629 <    MyFree(ConfigFileEntry.servlink_path);
7630 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
7631 <  }
7632 < }
7633 <    break;
7634 <
7635 <  case 601:
7636 <
7637 < /* Line 1455 of yacc.c  */
7638 < #line 3429 "ircd_parser.y"
6248 >  case 523:
6249 > /* Line 1787 of yacc.c  */
6250 > #line 2738 "conf_parser.y"
6251      {
6252 < #ifdef HAVE_LIBCRYPTO
7641 <  if (conf_parser_ctx.pass == 2)
7642 <  {
7643 <    struct EncCapability *ecap;
7644 <    const char *cipher_name;
7645 <    int found = 0;
7646 <
7647 <    ConfigFileEntry.default_cipher_preference = NULL;
7648 <    cipher_name = yylval.string;
7649 <
7650 <    for (ecap = CipherTable; ecap->name; ecap++)
7651 <    {
7652 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
7653 <          (ecap->cap & CAP_ENC_MASK))
7654 <      {
7655 <        ConfigFileEntry.default_cipher_preference = ecap;
7656 <        found = 1;
7657 <        break;
7658 <      }
7659 <    }
7660 <
7661 <    if (!found)
7662 <      yyerror("Invalid cipher");
7663 <  }
7664 < #else
7665 <  if (conf_parser_ctx.pass == 2)
7666 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
7667 < #endif
6252 >  ConfigFileEntry.use_egd = yylval.number;
6253   }
6254      break;
6255  
6256 <  case 602:
6257 <
6258 < /* Line 1455 of yacc.c  */
7674 < #line 3461 "ircd_parser.y"
6256 >  case 524:
6257 > /* Line 1787 of yacc.c  */
6258 > #line 2743 "conf_parser.y"
6259      {
6260    if (conf_parser_ctx.pass == 2)
6261    {
6262 <    ConfigFileEntry.compression_level = (yyvsp[(3) - (4)].number);
6263 < #ifndef HAVE_LIBZ
7680 <    yyerror("Ignoring compression_level -- no zlib support");
7681 < #else
7682 <    if ((ConfigFileEntry.compression_level < 1) ||
7683 <        (ConfigFileEntry.compression_level > 9))
7684 <    {
7685 <      yyerror("Ignoring invalid compression_level, using default");
7686 <      ConfigFileEntry.compression_level = 0;
7687 <    }
7688 < #endif
6262 >    MyFree(ConfigFileEntry.egdpool_path);
6263 >    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6264    }
6265   }
6266      break;
6267  
6268 <  case 603:
6269 <
6270 < /* Line 1455 of yacc.c  */
7696 < #line 3479 "ircd_parser.y"
6268 >  case 525:
6269 > /* Line 1787 of yacc.c  */
6270 > #line 2752 "conf_parser.y"
6271      {
6272 <  ConfigFileEntry.use_egd = yylval.number;
7699 < }
7700 <    break;
7701 <
7702 <  case 604:
7703 <
7704 < /* Line 1455 of yacc.c  */
7705 < #line 3484 "ircd_parser.y"
7706 <    {
7707 <  if (conf_parser_ctx.pass == 2)
6272 >  if (conf_parser_ctx.pass == 2 && valid_servname(yylval.string))
6273    {
6274 <    MyFree(ConfigFileEntry.egdpool_path);
6275 <    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6274 >    MyFree(ConfigFileEntry.service_name);
6275 >    DupString(ConfigFileEntry.service_name, yylval.string);
6276    }
6277   }
6278      break;
6279  
6280 <  case 605:
6281 <
6282 < /* Line 1455 of yacc.c  */
7718 < #line 3493 "ircd_parser.y"
6280 >  case 526:
6281 > /* Line 1787 of yacc.c  */
6282 > #line 2761 "conf_parser.y"
6283      {
6284    ConfigFileEntry.ping_cookie = yylval.number;
6285   }
6286      break;
6287  
6288 <  case 606:
6289 <
6290 < /* Line 1455 of yacc.c  */
7727 < #line 3498 "ircd_parser.y"
6288 >  case 527:
6289 > /* Line 1787 of yacc.c  */
6290 > #line 2766 "conf_parser.y"
6291      {
6292    ConfigFileEntry.disable_auth = yylval.number;
6293   }
6294      break;
6295  
6296 <  case 607:
6297 <
6298 < /* Line 1455 of yacc.c  */
7736 < #line 3503 "ircd_parser.y"
6296 >  case 528:
6297 > /* Line 1787 of yacc.c  */
6298 > #line 2771 "conf_parser.y"
6299      {
6300    ConfigFileEntry.throttle_time = yylval.number;
6301   }
6302      break;
6303  
6304 <  case 608:
6305 <
6306 < /* Line 1455 of yacc.c  */
7745 < #line 3508 "ircd_parser.y"
6304 >  case 529:
6305 > /* Line 1787 of yacc.c  */
6306 > #line 2776 "conf_parser.y"
6307      {
6308    ConfigFileEntry.oper_umodes = 0;
6309   }
6310      break;
6311  
6312 <  case 612:
6313 <
6314 < /* Line 1455 of yacc.c  */
7754 < #line 3514 "ircd_parser.y"
6312 >  case 533:
6313 > /* Line 1787 of yacc.c  */
6314 > #line 2782 "conf_parser.y"
6315      {
6316    ConfigFileEntry.oper_umodes |= UMODE_BOTS;
6317   }
6318      break;
6319  
6320 <  case 613:
6321 <
6322 < /* Line 1455 of yacc.c  */
7763 < #line 3517 "ircd_parser.y"
6320 >  case 534:
6321 > /* Line 1787 of yacc.c  */
6322 > #line 2785 "conf_parser.y"
6323      {
6324    ConfigFileEntry.oper_umodes |= UMODE_CCONN;
6325   }
6326      break;
6327  
6328 <  case 614:
6329 <
6330 < /* Line 1455 of yacc.c  */
7772 < #line 3520 "ircd_parser.y"
6328 >  case 535:
6329 > /* Line 1787 of yacc.c  */
6330 > #line 2788 "conf_parser.y"
6331      {
6332    ConfigFileEntry.oper_umodes |= UMODE_CCONN_FULL;
6333   }
6334      break;
6335  
6336 <  case 615:
6337 <
6338 < /* Line 1455 of yacc.c  */
7781 < #line 3523 "ircd_parser.y"
6336 >  case 536:
6337 > /* Line 1787 of yacc.c  */
6338 > #line 2791 "conf_parser.y"
6339      {
6340    ConfigFileEntry.oper_umodes |= UMODE_DEAF;
6341   }
6342      break;
6343  
6344 <  case 616:
6345 <
6346 < /* Line 1455 of yacc.c  */
7790 < #line 3526 "ircd_parser.y"
6344 >  case 537:
6345 > /* Line 1787 of yacc.c  */
6346 > #line 2794 "conf_parser.y"
6347      {
6348    ConfigFileEntry.oper_umodes |= UMODE_DEBUG;
6349   }
6350      break;
6351  
6352 <  case 617:
6353 <
6354 < /* Line 1455 of yacc.c  */
7799 < #line 3529 "ircd_parser.y"
6352 >  case 538:
6353 > /* Line 1787 of yacc.c  */
6354 > #line 2797 "conf_parser.y"
6355      {
6356    ConfigFileEntry.oper_umodes |= UMODE_FULL;
6357   }
6358      break;
6359  
6360 <  case 618:
6360 >  case 539:
6361 > /* Line 1787 of yacc.c  */
6362 > #line 2800 "conf_parser.y"
6363 >    {
6364 >  ConfigFileEntry.oper_umodes |= UMODE_HIDDEN;
6365 > }
6366 >    break;
6367  
6368 < /* Line 1455 of yacc.c  */
6369 < #line 3532 "ircd_parser.y"
6368 >  case 540:
6369 > /* Line 1787 of yacc.c  */
6370 > #line 2803 "conf_parser.y"
6371      {
6372    ConfigFileEntry.oper_umodes |= UMODE_SKILL;
6373   }
6374      break;
6375  
6376 <  case 619:
6377 <
6378 < /* Line 1455 of yacc.c  */
7817 < #line 3535 "ircd_parser.y"
6376 >  case 541:
6377 > /* Line 1787 of yacc.c  */
6378 > #line 2806 "conf_parser.y"
6379      {
6380    ConfigFileEntry.oper_umodes |= UMODE_NCHANGE;
6381   }
6382      break;
6383  
6384 <  case 620:
6385 <
6386 < /* Line 1455 of yacc.c  */
7826 < #line 3538 "ircd_parser.y"
6384 >  case 542:
6385 > /* Line 1787 of yacc.c  */
6386 > #line 2809 "conf_parser.y"
6387      {
6388    ConfigFileEntry.oper_umodes |= UMODE_REJ;
6389   }
6390      break;
6391  
6392 <  case 621:
6393 <
6394 < /* Line 1455 of yacc.c  */
7835 < #line 3541 "ircd_parser.y"
6392 >  case 543:
6393 > /* Line 1787 of yacc.c  */
6394 > #line 2812 "conf_parser.y"
6395      {
6396    ConfigFileEntry.oper_umodes |= UMODE_UNAUTH;
6397   }
6398      break;
6399  
6400 <  case 622:
6401 <
6402 < /* Line 1455 of yacc.c  */
7844 < #line 3544 "ircd_parser.y"
6400 >  case 544:
6401 > /* Line 1787 of yacc.c  */
6402 > #line 2815 "conf_parser.y"
6403      {
6404    ConfigFileEntry.oper_umodes |= UMODE_SPY;
6405   }
6406      break;
6407  
6408 <  case 623:
6409 <
6410 < /* Line 1455 of yacc.c  */
7853 < #line 3547 "ircd_parser.y"
6408 >  case 545:
6409 > /* Line 1787 of yacc.c  */
6410 > #line 2818 "conf_parser.y"
6411      {
6412    ConfigFileEntry.oper_umodes |= UMODE_EXTERNAL;
6413   }
6414      break;
6415  
6416 <  case 624:
6417 <
6418 < /* Line 1455 of yacc.c  */
7862 < #line 3550 "ircd_parser.y"
6416 >  case 546:
6417 > /* Line 1787 of yacc.c  */
6418 > #line 2821 "conf_parser.y"
6419      {
6420    ConfigFileEntry.oper_umodes |= UMODE_OPERWALL;
6421   }
6422      break;
6423  
6424 <  case 625:
6425 <
6426 < /* Line 1455 of yacc.c  */
7871 < #line 3553 "ircd_parser.y"
6424 >  case 547:
6425 > /* Line 1787 of yacc.c  */
6426 > #line 2824 "conf_parser.y"
6427      {
6428    ConfigFileEntry.oper_umodes |= UMODE_SERVNOTICE;
6429   }
6430      break;
6431  
6432 <  case 626:
6433 <
6434 < /* Line 1455 of yacc.c  */
7880 < #line 3556 "ircd_parser.y"
6432 >  case 548:
6433 > /* Line 1787 of yacc.c  */
6434 > #line 2827 "conf_parser.y"
6435      {
6436    ConfigFileEntry.oper_umodes |= UMODE_INVISIBLE;
6437   }
6438      break;
6439  
6440 <  case 627:
6441 <
6442 < /* Line 1455 of yacc.c  */
7889 < #line 3559 "ircd_parser.y"
6440 >  case 549:
6441 > /* Line 1787 of yacc.c  */
6442 > #line 2830 "conf_parser.y"
6443      {
6444    ConfigFileEntry.oper_umodes |= UMODE_WALLOP;
6445   }
6446      break;
6447  
6448 <  case 628:
6449 <
6450 < /* Line 1455 of yacc.c  */
7898 < #line 3562 "ircd_parser.y"
6448 >  case 550:
6449 > /* Line 1787 of yacc.c  */
6450 > #line 2833 "conf_parser.y"
6451      {
6452    ConfigFileEntry.oper_umodes |= UMODE_SOFTCALLERID;
6453   }
6454      break;
6455  
6456 <  case 629:
6457 <
6458 < /* Line 1455 of yacc.c  */
7907 < #line 3565 "ircd_parser.y"
6456 >  case 551:
6457 > /* Line 1787 of yacc.c  */
6458 > #line 2836 "conf_parser.y"
6459      {
6460    ConfigFileEntry.oper_umodes |= UMODE_CALLERID;
6461   }
6462      break;
6463  
6464 <  case 630:
6465 <
6466 < /* Line 1455 of yacc.c  */
7916 < #line 3568 "ircd_parser.y"
6464 >  case 552:
6465 > /* Line 1787 of yacc.c  */
6466 > #line 2839 "conf_parser.y"
6467      {
6468    ConfigFileEntry.oper_umodes |= UMODE_LOCOPS;
6469   }
6470      break;
6471  
6472 <  case 631:
6473 <
6474 < /* Line 1455 of yacc.c  */
7925 < #line 3573 "ircd_parser.y"
6472 >  case 553:
6473 > /* Line 1787 of yacc.c  */
6474 > #line 2844 "conf_parser.y"
6475      {
6476    ConfigFileEntry.oper_only_umodes = 0;
6477   }
6478      break;
6479  
6480 <  case 635:
6481 <
6482 < /* Line 1455 of yacc.c  */
7934 < #line 3579 "ircd_parser.y"
6480 >  case 557:
6481 > /* Line 1787 of yacc.c  */
6482 > #line 2850 "conf_parser.y"
6483      {
6484    ConfigFileEntry.oper_only_umodes |= UMODE_BOTS;
6485   }
6486      break;
6487  
6488 <  case 636:
6489 <
6490 < /* Line 1455 of yacc.c  */
7943 < #line 3582 "ircd_parser.y"
6488 >  case 558:
6489 > /* Line 1787 of yacc.c  */
6490 > #line 2853 "conf_parser.y"
6491      {
6492    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN;
6493   }
6494      break;
6495  
6496 <  case 637:
6497 <
6498 < /* Line 1455 of yacc.c  */
7952 < #line 3585 "ircd_parser.y"
6496 >  case 559:
6497 > /* Line 1787 of yacc.c  */
6498 > #line 2856 "conf_parser.y"
6499      {
6500    ConfigFileEntry.oper_only_umodes |= UMODE_CCONN_FULL;
6501   }
6502      break;
6503  
6504 <  case 638:
6505 <
6506 < /* Line 1455 of yacc.c  */
7961 < #line 3588 "ircd_parser.y"
6504 >  case 560:
6505 > /* Line 1787 of yacc.c  */
6506 > #line 2859 "conf_parser.y"
6507      {
6508    ConfigFileEntry.oper_only_umodes |= UMODE_DEAF;
6509   }
6510      break;
6511  
6512 <  case 639:
6513 <
6514 < /* Line 1455 of yacc.c  */
7970 < #line 3591 "ircd_parser.y"
6512 >  case 561:
6513 > /* Line 1787 of yacc.c  */
6514 > #line 2862 "conf_parser.y"
6515      {
6516    ConfigFileEntry.oper_only_umodes |= UMODE_DEBUG;
6517   }
6518      break;
6519  
6520 <  case 640:
6521 <
6522 < /* Line 1455 of yacc.c  */
7979 < #line 3594 "ircd_parser.y"
6520 >  case 562:
6521 > /* Line 1787 of yacc.c  */
6522 > #line 2865 "conf_parser.y"
6523      {
6524    ConfigFileEntry.oper_only_umodes |= UMODE_FULL;
6525   }
6526      break;
6527  
6528 <  case 641:
6529 <
6530 < /* Line 1455 of yacc.c  */
7988 < #line 3597 "ircd_parser.y"
6528 >  case 563:
6529 > /* Line 1787 of yacc.c  */
6530 > #line 2868 "conf_parser.y"
6531      {
6532    ConfigFileEntry.oper_only_umodes |= UMODE_SKILL;
6533   }
6534      break;
6535  
6536 <  case 642:
6536 >  case 564:
6537 > /* Line 1787 of yacc.c  */
6538 > #line 2871 "conf_parser.y"
6539 >    {
6540 >  ConfigFileEntry.oper_only_umodes |= UMODE_HIDDEN;
6541 > }
6542 >    break;
6543  
6544 < /* Line 1455 of yacc.c  */
6545 < #line 3600 "ircd_parser.y"
6544 >  case 565:
6545 > /* Line 1787 of yacc.c  */
6546 > #line 2874 "conf_parser.y"
6547      {
6548    ConfigFileEntry.oper_only_umodes |= UMODE_NCHANGE;
6549   }
6550      break;
6551  
6552 <  case 643:
6553 <
6554 < /* Line 1455 of yacc.c  */
8006 < #line 3603 "ircd_parser.y"
6552 >  case 566:
6553 > /* Line 1787 of yacc.c  */
6554 > #line 2877 "conf_parser.y"
6555      {
6556    ConfigFileEntry.oper_only_umodes |= UMODE_REJ;
6557   }
6558      break;
6559  
6560 <  case 644:
6561 <
6562 < /* Line 1455 of yacc.c  */
8015 < #line 3606 "ircd_parser.y"
6560 >  case 567:
6561 > /* Line 1787 of yacc.c  */
6562 > #line 2880 "conf_parser.y"
6563      {
6564    ConfigFileEntry.oper_only_umodes |= UMODE_UNAUTH;
6565   }
6566      break;
6567  
6568 <  case 645:
6569 <
6570 < /* Line 1455 of yacc.c  */
8024 < #line 3609 "ircd_parser.y"
6568 >  case 568:
6569 > /* Line 1787 of yacc.c  */
6570 > #line 2883 "conf_parser.y"
6571      {
6572    ConfigFileEntry.oper_only_umodes |= UMODE_SPY;
6573   }
6574      break;
6575  
6576 <  case 646:
6577 <
6578 < /* Line 1455 of yacc.c  */
8033 < #line 3612 "ircd_parser.y"
6576 >  case 569:
6577 > /* Line 1787 of yacc.c  */
6578 > #line 2886 "conf_parser.y"
6579      {
6580    ConfigFileEntry.oper_only_umodes |= UMODE_EXTERNAL;
6581   }
6582      break;
6583  
6584 <  case 647:
6585 <
6586 < /* Line 1455 of yacc.c  */
8042 < #line 3615 "ircd_parser.y"
6584 >  case 570:
6585 > /* Line 1787 of yacc.c  */
6586 > #line 2889 "conf_parser.y"
6587      {
6588    ConfigFileEntry.oper_only_umodes |= UMODE_OPERWALL;
6589   }
6590      break;
6591  
6592 <  case 648:
6593 <
6594 < /* Line 1455 of yacc.c  */
8051 < #line 3618 "ircd_parser.y"
6592 >  case 571:
6593 > /* Line 1787 of yacc.c  */
6594 > #line 2892 "conf_parser.y"
6595      {
6596    ConfigFileEntry.oper_only_umodes |= UMODE_SERVNOTICE;
6597   }
6598      break;
6599  
6600 <  case 649:
6601 <
6602 < /* Line 1455 of yacc.c  */
8060 < #line 3621 "ircd_parser.y"
6600 >  case 572:
6601 > /* Line 1787 of yacc.c  */
6602 > #line 2895 "conf_parser.y"
6603      {
6604    ConfigFileEntry.oper_only_umodes |= UMODE_INVISIBLE;
6605   }
6606      break;
6607  
6608 <  case 650:
6609 <
6610 < /* Line 1455 of yacc.c  */
8069 < #line 3624 "ircd_parser.y"
6608 >  case 573:
6609 > /* Line 1787 of yacc.c  */
6610 > #line 2898 "conf_parser.y"
6611      {
6612    ConfigFileEntry.oper_only_umodes |= UMODE_WALLOP;
6613   }
6614      break;
6615  
6616 <  case 651:
6617 <
6618 < /* Line 1455 of yacc.c  */
8078 < #line 3627 "ircd_parser.y"
6616 >  case 574:
6617 > /* Line 1787 of yacc.c  */
6618 > #line 2901 "conf_parser.y"
6619      {
6620    ConfigFileEntry.oper_only_umodes |= UMODE_SOFTCALLERID;
6621   }
6622      break;
6623  
6624 <  case 652:
6625 <
6626 < /* Line 1455 of yacc.c  */
8087 < #line 3630 "ircd_parser.y"
6624 >  case 575:
6625 > /* Line 1787 of yacc.c  */
6626 > #line 2904 "conf_parser.y"
6627      {
6628    ConfigFileEntry.oper_only_umodes |= UMODE_CALLERID;
6629   }
6630      break;
6631  
6632 <  case 653:
6633 <
6634 < /* Line 1455 of yacc.c  */
8096 < #line 3633 "ircd_parser.y"
6632 >  case 576:
6633 > /* Line 1787 of yacc.c  */
6634 > #line 2907 "conf_parser.y"
6635      {
6636    ConfigFileEntry.oper_only_umodes |= UMODE_LOCOPS;
6637   }
6638      break;
6639  
6640 <  case 654:
6641 <
6642 < /* Line 1455 of yacc.c  */
8105 < #line 3638 "ircd_parser.y"
6640 >  case 577:
6641 > /* Line 1787 of yacc.c  */
6642 > #line 2912 "conf_parser.y"
6643      {
6644    ConfigFileEntry.min_nonwildcard = (yyvsp[(3) - (4)].number);
6645   }
6646      break;
6647  
6648 <  case 655:
6649 <
6650 < /* Line 1455 of yacc.c  */
8114 < #line 3643 "ircd_parser.y"
6648 >  case 578:
6649 > /* Line 1787 of yacc.c  */
6650 > #line 2917 "conf_parser.y"
6651      {
6652    ConfigFileEntry.min_nonwildcard_simple = (yyvsp[(3) - (4)].number);
6653   }
6654      break;
6655  
6656 <  case 656:
6657 <
6658 < /* Line 1455 of yacc.c  */
8123 < #line 3648 "ircd_parser.y"
6656 >  case 579:
6657 > /* Line 1787 of yacc.c  */
6658 > #line 2922 "conf_parser.y"
6659      {
6660    ConfigFileEntry.default_floodcount = (yyvsp[(3) - (4)].number);
6661   }
6662      break;
6663  
6664 <  case 657:
6665 <
6666 < /* Line 1455 of yacc.c  */
8132 < #line 3653 "ircd_parser.y"
8133 <    {
8134 <  ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
8135 < }
8136 <    break;
8137 <
8138 <  case 658:
8139 <
8140 < /* Line 1455 of yacc.c  */
8141 < #line 3658 "ircd_parser.y"
8142 <    {
8143 <  ConfigFileEntry.dot_in_ip6_addr = yylval.number;
8144 < }
8145 <    break;
8146 <
8147 <  case 659:
8148 <
8149 < /* Line 1455 of yacc.c  */
8150 < #line 3666 "ircd_parser.y"
8151 <    {
8152 <  if (conf_parser_ctx.pass == 2)
8153 <  {
8154 <    yy_conf = make_conf_item(GDENY_TYPE);
8155 <    yy_aconf = map_to_conf(yy_conf);
8156 <  }
8157 < }
8158 <    break;
8159 <
8160 <  case 660:
8161 <
8162 < /* Line 1455 of yacc.c  */
8163 < #line 3673 "ircd_parser.y"
8164 <    {
8165 <  if (conf_parser_ctx.pass == 2)
8166 <  {
8167 <    /*
8168 <     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
8169 <     * end we will have one extra, so we should free it.
8170 <     */
8171 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
8172 <    {
8173 <      delete_conf_item(yy_conf);
8174 <      yy_conf = NULL;
8175 <      yy_aconf = NULL;
8176 <    }
8177 <  }
8178 < }
8179 <    break;
8180 <
8181 <  case 670:
8182 <
8183 < /* Line 1455 of yacc.c  */
8184 < #line 3699 "ircd_parser.y"
8185 <    {
8186 <  if (conf_parser_ctx.pass == 2)
8187 <    ConfigFileEntry.glines = yylval.number;
8188 < }
8189 <    break;
8190 <
8191 <  case 671:
8192 <
8193 < /* Line 1455 of yacc.c  */
8194 < #line 3705 "ircd_parser.y"
8195 <    {
8196 <  if (conf_parser_ctx.pass == 2)
8197 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
8198 < }
8199 <    break;
8200 <
8201 <  case 672:
8202 <
8203 < /* Line 1455 of yacc.c  */
8204 < #line 3711 "ircd_parser.y"
8205 <    {
8206 <  if (conf_parser_ctx.pass == 2)
8207 <    ConfigFileEntry.gline_logging = 0;
8208 < }
8209 <    break;
8210 <
8211 <  case 676:
8212 <
8213 < /* Line 1455 of yacc.c  */
8214 < #line 3717 "ircd_parser.y"
8215 <    {
8216 <  if (conf_parser_ctx.pass == 2)
8217 <    ConfigFileEntry.gline_logging |= GDENY_REJECT;
8218 < }
8219 <    break;
8220 <
8221 <  case 677:
8222 <
8223 < /* Line 1455 of yacc.c  */
8224 < #line 3721 "ircd_parser.y"
8225 <    {
8226 <  if (conf_parser_ctx.pass == 2)
8227 <    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
8228 < }
8229 <    break;
8230 <
8231 <  case 678:
8232 <
8233 < /* Line 1455 of yacc.c  */
8234 < #line 3727 "ircd_parser.y"
8235 <    {
8236 <  if (conf_parser_ctx.pass == 2)
8237 <  {
8238 <    struct split_nuh_item nuh;
8239 <
8240 <    nuh.nuhmask  = yylval.string;
8241 <    nuh.nickptr  = NULL;
8242 <    nuh.userptr  = userbuf;
8243 <    nuh.hostptr  = hostbuf;
8244 <
8245 <    nuh.nicksize = 0;
8246 <    nuh.usersize = sizeof(userbuf);
8247 <    nuh.hostsize = sizeof(hostbuf);
8248 <
8249 <    split_nuh(&nuh);
8250 <
8251 <    if (yy_aconf->user == NULL)
8252 <    {
8253 <      DupString(yy_aconf->user, userbuf);
8254 <      DupString(yy_aconf->host, hostbuf);
8255 <    }
8256 <    else
8257 <    {
8258 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
8259 <
8260 <      DupString(yy_tmp->user, userbuf);
8261 <      DupString(yy_tmp->host, hostbuf);
8262 <
8263 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
8264 <    }
8265 <  }
8266 < }
8267 <    break;
8268 <
8269 <  case 679:
8270 <
8271 < /* Line 1455 of yacc.c  */
8272 < #line 3761 "ircd_parser.y"
8273 <    {
8274 <  if (conf_parser_ctx.pass == 2)  
8275 <  {
8276 <    MyFree(yy_conf->name);
8277 <    DupString(yy_conf->name, yylval.string);
8278 <  }
8279 < }
8280 <    break;
8281 <
8282 <  case 680:
8283 <
8284 < /* Line 1455 of yacc.c  */
8285 < #line 3770 "ircd_parser.y"
8286 <    {
8287 <  if (conf_parser_ctx.pass == 2)
8288 <    yy_aconf->flags = 0;
8289 < }
8290 <    break;
8291 <
8292 <  case 681:
8293 <
8294 < /* Line 1455 of yacc.c  */
8295 < #line 3774 "ircd_parser.y"
8296 <    {
8297 <  if (conf_parser_ctx.pass == 2)
8298 <  {
8299 <    struct CollectItem *yy_tmp = NULL;
8300 <    dlink_node *ptr, *next_ptr;
8301 <
8302 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
8303 <    {
8304 <      struct AccessItem *new_aconf;
8305 <      struct ConfItem *new_conf;
8306 <
8307 <      yy_tmp = ptr->data;
8308 <      new_conf = make_conf_item(GDENY_TYPE);
8309 <      new_aconf = map_to_conf(new_conf);
8310 <
8311 <      new_aconf->flags = yy_aconf->flags;
8312 <
8313 <      if (yy_conf->name != NULL)
8314 <        DupString(new_conf->name, yy_conf->name);
8315 <      else
8316 <        DupString(new_conf->name, "*");
8317 <      if (yy_aconf->user != NULL)
8318 <         DupString(new_aconf->user, yy_tmp->user);
8319 <      else  
8320 <        DupString(new_aconf->user, "*");
8321 <      if (yy_aconf->host != NULL)
8322 <        DupString(new_aconf->host, yy_tmp->host);
8323 <      else
8324 <        DupString(new_aconf->host, "*");
8325 <
8326 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
8327 <    }
8328 <
8329 <    /*
8330 <     * In case someone has fed us with more than one action= after user/name
8331 <     * which would leak memory  -Michael
8332 <     */
8333 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
8334 <      delete_conf_item(yy_conf);
8335 <
8336 <    yy_conf = make_conf_item(GDENY_TYPE);
8337 <    yy_aconf = map_to_conf(yy_conf);
8338 <  }
8339 < }
8340 <    break;
8341 <
8342 <  case 684:
8343 <
8344 < /* Line 1455 of yacc.c  */
8345 < #line 3821 "ircd_parser.y"
8346 <    {
8347 <  if (conf_parser_ctx.pass == 2)
8348 <    yy_aconf->flags |= GDENY_REJECT;
8349 < }
8350 <    break;
8351 <
8352 <  case 685:
8353 <
8354 < /* Line 1455 of yacc.c  */
8355 < #line 3825 "ircd_parser.y"
8356 <    {
8357 <  if (conf_parser_ctx.pass == 2)
8358 <    yy_aconf->flags |= GDENY_BLOCK;
8359 < }
8360 <    break;
8361 <
8362 <  case 708:
8363 <
8364 < /* Line 1455 of yacc.c  */
8365 < #line 3849 "ircd_parser.y"
6664 >  case 598:
6665 > /* Line 1787 of yacc.c  */
6666 > #line 2945 "conf_parser.y"
6667      {
6668    ConfigChannel.disable_fake_channels = yylval.number;
6669   }
6670      break;
6671  
6672 <  case 709:
6673 <
6674 < /* Line 1455 of yacc.c  */
8374 < #line 3854 "ircd_parser.y"
6672 >  case 599:
6673 > /* Line 1787 of yacc.c  */
6674 > #line 2950 "conf_parser.y"
6675      {
6676    ConfigChannel.restrict_channels = yylval.number;
6677   }
6678      break;
6679  
6680 <  case 710:
6681 <
6682 < /* Line 1455 of yacc.c  */
8383 < #line 3859 "ircd_parser.y"
8384 <    {
8385 <  ConfigChannel.disable_local_channels = yylval.number;
8386 < }
8387 <    break;
8388 <
8389 <  case 711:
8390 <
8391 < /* Line 1455 of yacc.c  */
8392 < #line 3864 "ircd_parser.y"
8393 <    {
8394 <  ConfigChannel.use_except = yylval.number;
8395 < }
8396 <    break;
8397 <
8398 <  case 712:
8399 <
8400 < /* Line 1455 of yacc.c  */
8401 < #line 3869 "ircd_parser.y"
8402 <    {
8403 <  ConfigChannel.use_invex = yylval.number;
8404 < }
8405 <    break;
8406 <
8407 <  case 713:
8408 <
8409 < /* Line 1455 of yacc.c  */
8410 < #line 3874 "ircd_parser.y"
8411 <    {
8412 <  ConfigChannel.use_knock = yylval.number;
8413 < }
8414 <    break;
8415 <
8416 <  case 714:
8417 <
8418 < /* Line 1455 of yacc.c  */
8419 < #line 3879 "ircd_parser.y"
6680 >  case 600:
6681 > /* Line 1787 of yacc.c  */
6682 > #line 2955 "conf_parser.y"
6683      {
6684    ConfigChannel.knock_delay = (yyvsp[(3) - (4)].number);
6685   }
6686      break;
6687  
6688 <  case 715:
6689 <
6690 < /* Line 1455 of yacc.c  */
8428 < #line 3884 "ircd_parser.y"
6688 >  case 601:
6689 > /* Line 1787 of yacc.c  */
6690 > #line 2960 "conf_parser.y"
6691      {
6692    ConfigChannel.knock_delay_channel = (yyvsp[(3) - (4)].number);
6693   }
6694      break;
6695  
6696 <  case 716:
6697 <
6698 < /* Line 1455 of yacc.c  */
8437 < #line 3889 "ircd_parser.y"
6696 >  case 602:
6697 > /* Line 1787 of yacc.c  */
6698 > #line 2965 "conf_parser.y"
6699      {
6700    ConfigChannel.max_chans_per_user = (yyvsp[(3) - (4)].number);
6701   }
6702      break;
6703  
6704 <  case 717:
6704 >  case 603:
6705 > /* Line 1787 of yacc.c  */
6706 > #line 2970 "conf_parser.y"
6707 >    {
6708 >  ConfigChannel.max_chans_per_oper = (yyvsp[(3) - (4)].number);
6709 > }
6710 >    break;
6711  
6712 < /* Line 1455 of yacc.c  */
6713 < #line 3894 "ircd_parser.y"
6712 >  case 604:
6713 > /* Line 1787 of yacc.c  */
6714 > #line 2975 "conf_parser.y"
6715      {
6716    ConfigChannel.quiet_on_ban = yylval.number;
6717   }
6718      break;
6719  
6720 <  case 718:
6721 <
6722 < /* Line 1455 of yacc.c  */
8455 < #line 3899 "ircd_parser.y"
6720 >  case 605:
6721 > /* Line 1787 of yacc.c  */
6722 > #line 2980 "conf_parser.y"
6723      {
6724    ConfigChannel.max_bans = (yyvsp[(3) - (4)].number);
6725   }
6726      break;
6727  
6728 <  case 719:
6729 <
6730 < /* Line 1455 of yacc.c  */
8464 < #line 3904 "ircd_parser.y"
6728 >  case 606:
6729 > /* Line 1787 of yacc.c  */
6730 > #line 2985 "conf_parser.y"
6731      {
6732    ConfigChannel.default_split_user_count = (yyvsp[(3) - (4)].number);
6733   }
6734      break;
6735  
6736 <  case 720:
6737 <
6738 < /* Line 1455 of yacc.c  */
8473 < #line 3909 "ircd_parser.y"
6736 >  case 607:
6737 > /* Line 1787 of yacc.c  */
6738 > #line 2990 "conf_parser.y"
6739      {
6740    ConfigChannel.default_split_server_count = (yyvsp[(3) - (4)].number);
6741   }
6742      break;
6743  
6744 <  case 721:
6745 <
6746 < /* Line 1455 of yacc.c  */
8482 < #line 3914 "ircd_parser.y"
6744 >  case 608:
6745 > /* Line 1787 of yacc.c  */
6746 > #line 2995 "conf_parser.y"
6747      {
6748    ConfigChannel.no_create_on_split = yylval.number;
6749   }
6750      break;
6751  
6752 <  case 722:
6753 <
6754 < /* Line 1455 of yacc.c  */
8491 < #line 3919 "ircd_parser.y"
6752 >  case 609:
6753 > /* Line 1787 of yacc.c  */
6754 > #line 3000 "conf_parser.y"
6755      {
6756    ConfigChannel.no_join_on_split = yylval.number;
6757   }
6758      break;
6759  
6760 <  case 723:
6761 <
6762 < /* Line 1455 of yacc.c  */
8500 < #line 3924 "ircd_parser.y"
8501 <    {
8502 <  ConfigChannel.burst_topicwho = yylval.number;
8503 < }
8504 <    break;
8505 <
8506 <  case 724:
8507 <
8508 < /* Line 1455 of yacc.c  */
8509 < #line 3929 "ircd_parser.y"
6760 >  case 610:
6761 > /* Line 1787 of yacc.c  */
6762 > #line 3005 "conf_parser.y"
6763      {
6764    GlobalSetOptions.joinfloodcount = yylval.number;
6765   }
6766      break;
6767  
6768 <  case 725:
6769 <
6770 < /* Line 1455 of yacc.c  */
8518 < #line 3934 "ircd_parser.y"
6768 >  case 611:
6769 > /* Line 1787 of yacc.c  */
6770 > #line 3010 "conf_parser.y"
6771      {
6772    GlobalSetOptions.joinfloodtime = yylval.number;
6773   }
6774      break;
6775  
6776 <  case 737:
6777 <
6778 < /* Line 1455 of yacc.c  */
8527 < #line 3953 "ircd_parser.y"
6776 >  case 622:
6777 > /* Line 1787 of yacc.c  */
6778 > #line 3028 "conf_parser.y"
6779      {
6780    if (conf_parser_ctx.pass == 2)
6781      ConfigServerHide.flatten_links = yylval.number;
6782   }
6783      break;
6784  
6785 <  case 738:
6786 <
6787 < /* Line 1455 of yacc.c  */
8537 < #line 3959 "ircd_parser.y"
6785 >  case 623:
6786 > /* Line 1787 of yacc.c  */
6787 > #line 3034 "conf_parser.y"
6788      {
6789    if (conf_parser_ctx.pass == 2)
6790      ConfigServerHide.hide_servers = yylval.number;
6791   }
6792      break;
6793  
6794 <  case 739:
6795 <
6796 < /* Line 1455 of yacc.c  */
8547 < #line 3965 "ircd_parser.y"
6794 >  case 624:
6795 > /* Line 1787 of yacc.c  */
6796 > #line 3040 "conf_parser.y"
6797      {
6798    if (conf_parser_ctx.pass == 2)
6799    {
# Line 8554 | Line 6803 | yyreduce:
6803   }
6804      break;
6805  
6806 <  case 740:
6807 <
6808 < /* Line 1455 of yacc.c  */
8560 < #line 3974 "ircd_parser.y"
6806 >  case 625:
6807 > /* Line 1787 of yacc.c  */
6808 > #line 3049 "conf_parser.y"
6809      {
6810    if (conf_parser_ctx.pass == 2)
6811    {
# Line 8572 | Line 6820 | yyreduce:
6820   }
6821      break;
6822  
6823 <  case 741:
6824 <
6825 < /* Line 1455 of yacc.c  */
8578 < #line 3988 "ircd_parser.y"
6823 >  case 626:
6824 > /* Line 1787 of yacc.c  */
6825 > #line 3063 "conf_parser.y"
6826      {
6827    if (conf_parser_ctx.pass == 2)
6828      ConfigServerHide.hidden = yylval.number;
6829   }
6830      break;
6831  
6832 <  case 742:
6833 <
6834 < /* Line 1455 of yacc.c  */
8588 < #line 3994 "ircd_parser.y"
8589 <    {
8590 <  if (conf_parser_ctx.pass == 2)
8591 <    ConfigServerHide.disable_hidden = yylval.number;
8592 < }
8593 <    break;
8594 <
8595 <  case 743:
8596 <
8597 < /* Line 1455 of yacc.c  */
8598 < #line 4000 "ircd_parser.y"
6832 >  case 627:
6833 > /* Line 1787 of yacc.c  */
6834 > #line 3069 "conf_parser.y"
6835      {
6836    if (conf_parser_ctx.pass == 2)
6837      ConfigServerHide.hide_server_ips = yylval.number;
# Line 8603 | Line 6839 | yyreduce:
6839      break;
6840  
6841  
6842 <
6843 < /* Line 1455 of yacc.c  */
8608 < #line 8609 "ircd_parser.c"
6842 > /* Line 1787 of yacc.c  */
6843 > #line 6844 "conf_parser.c"
6844        default: break;
6845      }
6846 +  /* User semantic actions sometimes alter yychar, and that requires
6847 +     that yytoken be updated with the new translation.  We take the
6848 +     approach of translating immediately before every use of yytoken.
6849 +     One alternative is translating here after every semantic action,
6850 +     but that translation would be missed if the semantic action invokes
6851 +     YYABORT, YYACCEPT, or YYERROR immediately after altering yychar or
6852 +     if it invokes YYBACKUP.  In the case of YYABORT or YYACCEPT, an
6853 +     incorrect destructor might then be invoked immediately.  In the
6854 +     case of YYERROR or YYBACKUP, subsequent parser actions might lead
6855 +     to an incorrect destructor call or verbose syntax error message
6856 +     before the lookahead is translated.  */
6857    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
6858  
6859    YYPOPSTACK (yylen);
# Line 8635 | Line 6881 | yyreduce:
6881   | yyerrlab -- here on detecting error |
6882   `------------------------------------*/
6883   yyerrlab:
6884 +  /* Make sure we have latest lookahead translation.  See comments at
6885 +     user semantic actions for why this is necessary.  */
6886 +  yytoken = yychar == YYEMPTY ? YYEMPTY : YYTRANSLATE (yychar);
6887 +
6888    /* If not already recovering from an error, report this error.  */
6889    if (!yyerrstatus)
6890      {
# Line 8642 | Line 6892 | yyerrlab:
6892   #if ! YYERROR_VERBOSE
6893        yyerror (YY_("syntax error"));
6894   #else
6895 + # define YYSYNTAX_ERROR yysyntax_error (&yymsg_alloc, &yymsg, \
6896 +                                        yyssp, yytoken)
6897        {
6898 <        YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
6899 <        if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
6900 <          {
6901 <            YYSIZE_T yyalloc = 2 * yysize;
6902 <            if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
6903 <              yyalloc = YYSTACK_ALLOC_MAXIMUM;
6904 <            if (yymsg != yymsgbuf)
6905 <              YYSTACK_FREE (yymsg);
6906 <            yymsg = (char *) YYSTACK_ALLOC (yyalloc);
6907 <            if (yymsg)
6908 <              yymsg_alloc = yyalloc;
6909 <            else
6910 <              {
6911 <                yymsg = yymsgbuf;
6912 <                yymsg_alloc = sizeof yymsgbuf;
6913 <              }
6914 <          }
6915 <
6916 <        if (0 < yysize && yysize <= yymsg_alloc)
6917 <          {
6918 <            (void) yysyntax_error (yymsg, yystate, yychar);
6919 <            yyerror (yymsg);
6920 <          }
6921 <        else
6922 <          {
8671 <            yyerror (YY_("syntax error"));
8672 <            if (yysize != 0)
8673 <              goto yyexhaustedlab;
8674 <          }
6898 >        char const *yymsgp = YY_("syntax error");
6899 >        int yysyntax_error_status;
6900 >        yysyntax_error_status = YYSYNTAX_ERROR;
6901 >        if (yysyntax_error_status == 0)
6902 >          yymsgp = yymsg;
6903 >        else if (yysyntax_error_status == 1)
6904 >          {
6905 >            if (yymsg != yymsgbuf)
6906 >              YYSTACK_FREE (yymsg);
6907 >            yymsg = (char *) YYSTACK_ALLOC (yymsg_alloc);
6908 >            if (!yymsg)
6909 >              {
6910 >                yymsg = yymsgbuf;
6911 >                yymsg_alloc = sizeof yymsgbuf;
6912 >                yysyntax_error_status = 2;
6913 >              }
6914 >            else
6915 >              {
6916 >                yysyntax_error_status = YYSYNTAX_ERROR;
6917 >                yymsgp = yymsg;
6918 >              }
6919 >          }
6920 >        yyerror (yymsgp);
6921 >        if (yysyntax_error_status == 2)
6922 >          goto yyexhaustedlab;
6923        }
6924 + # undef YYSYNTAX_ERROR
6925   #endif
6926      }
6927  
# Line 8731 | Line 6980 | yyerrlab1:
6980    for (;;)
6981      {
6982        yyn = yypact[yystate];
6983 <      if (yyn != YYPACT_NINF)
6983 >      if (!yypact_value_is_default (yyn))
6984          {
6985            yyn += YYTERROR;
6986            if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR)
# Line 8778 | Line 7027 | yyabortlab:
7027    yyresult = 1;
7028    goto yyreturn;
7029  
7030 < #if !defined(yyoverflow) || YYERROR_VERBOSE
7030 > #if !defined yyoverflow || YYERROR_VERBOSE
7031   /*-------------------------------------------------.
7032   | yyexhaustedlab -- memory exhaustion comes here.  |
7033   `-------------------------------------------------*/
# Line 8790 | Line 7039 | yyexhaustedlab:
7039  
7040   yyreturn:
7041    if (yychar != YYEMPTY)
7042 <     yydestruct ("Cleanup: discarding lookahead",
7043 <                 yytoken, &yylval);
7042 >    {
7043 >      /* Make sure we have latest lookahead translation.  See comments at
7044 >         user semantic actions for why this is necessary.  */
7045 >      yytoken = YYTRANSLATE (yychar);
7046 >      yydestruct ("Cleanup: discarding lookahead",
7047 >                  yytoken, &yylval);
7048 >    }
7049    /* Do not reclaim the symbols of the rule which action triggered
7050       this YYABORT or YYACCEPT.  */
7051    YYPOPSTACK (yylen);
# Line 8815 | Line 7069 | yyreturn:
7069   }
7070  
7071  
8818

Diff Legend

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