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

Comparing:
ircd-hybrid-7.3/src/ircd_parser.c (file contents), Revision 1117 by michael, Tue Dec 21 15:01:46 2010 UTC vs.
ircd-hybrid-8/src/conf_parser.c (file contents), Revision 1549 by michael, Mon Oct 1 18:11:11 2012 UTC

# Line 1 | Line 1
1 < /* A Bison parser, made by GNU Bison 2.4.3.  */
1 > /* A Bison parser, made by GNU Bison 2.6.2.  */
2  
3 < /* 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,
6 <   2009, 2010 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 45 | Line 44
44   #define YYBISON 1
45  
46   /* Bison version.  */
47 < #define YYBISON_VERSION "2.4.3"
47 > #define YYBISON_VERSION "2.6.2"
48  
49   /* Skeleton name.  */
50   #define YYSKELETON_NAME "yacc.c"
# Line 59 | Line 58
58   /* Pull parsers.  */
59   #define YYPULL 1
60  
62 /* Using locations.  */
63 #define YYLSP_NEEDED 0
61  
62  
63  
64   /* Copy the first part of user declarations.  */
65 <
66 < /* Line 189 of yacc.c  */
70 < #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 78 | 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"
86 #include "irc_getaddrinfo.h"
82   #include "sprintf_irc.h"
83   #include "memory.h"
84   #include "modules.h"
# Line 99 | 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 109 | 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 };
112 static dlink_list hub_conf_list  = { NULL, NULL, 0 };
113 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;
123 static int not_atom = 0;
121  
122   struct CollectItem
123   {
# Line 150 | Line 147 | free_collect_item(struct CollectItem *it
147    MyFree(item);
148   }
149  
153 static void
154 unhook_hub_leaf_confs(void)
155 {
156  dlink_node *ptr;
157  dlink_node *next_ptr;
158  struct CollectItem *yy_hconf;
159  struct CollectItem *yy_lconf;
160
161  DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
162  {
163    yy_hconf = ptr->data;
164    dlinkDelete(&yy_hconf->node, &hub_conf_list);
165    free_collect_item(yy_hconf);
166  }
167
168  DLINK_FOREACH_SAFE(ptr, next_ptr, leaf_conf_list.head)
169  {
170    yy_lconf = ptr->data;
171    dlinkDelete(&yy_lconf->node, &leaf_conf_list);
172    free_collect_item(yy_lconf);
173  }
174 }
175
176
150  
151 < /* Line 189 of yacc.c  */
152 < #line 180 "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 191 | 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
198
181  
182   /* Tokens.  */
183   #ifndef YYTOKENTYPE
# Line 204 | 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 <     DOTS_IN_IDENT = 299,
230 <     DURATION = 300,
231 <     EGDPOOL_PATH = 301,
232 <     EMAIL = 302,
233 <     ENABLE = 303,
234 <     ENCRYPTED = 304,
235 <     EXCEED_LIMIT = 305,
236 <     EXEMPT = 306,
237 <     FAILED_OPER_NOTICE = 307,
238 <     FAKENAME = 308,
239 <     IRCD_FLAGS = 309,
240 <     FLATTEN_LINKS = 310,
241 <     FFAILED_OPERLOG = 311,
242 <     FKILLLOG = 312,
243 <     FKLINELOG = 313,
244 <     FGLINELOG = 314,
245 <     FIOERRLOG = 315,
246 <     FOPERLOG = 316,
247 <     FOPERSPYLOG = 317,
248 <     FUSERLOG = 318,
249 <     GECOS = 319,
250 <     GENERAL = 320,
251 <     GLINE = 321,
252 <     GLINES = 322,
253 <     GLINE_EXEMPT = 323,
254 <     GLINE_LOG = 324,
255 <     GLINE_TIME = 325,
256 <     GLINE_MIN_CIDR = 326,
257 <     GLINE_MIN_CIDR6 = 327,
258 <     GLOBAL_KILL = 328,
259 <     IRCD_AUTH = 329,
260 <     NEED_IDENT = 330,
261 <     HAVENT_READ_CONF = 331,
262 <     HIDDEN = 332,
263 <     HIDDEN_ADMIN = 333,
264 <     HIDDEN_NAME = 334,
265 <     HIDDEN_OPER = 335,
266 <     HIDE_SERVER_IPS = 336,
267 <     HIDE_SERVERS = 337,
268 <     HIDE_SPOOF_IPS = 338,
269 <     HOST = 339,
270 <     HUB = 340,
271 <     HUB_MASK = 341,
272 <     IDLETIME = 342,
273 <     IGNORE_BOGUS_TS = 343,
274 <     INVISIBLE_ON_CONNECT = 344,
275 <     IP = 345,
276 <     KILL = 346,
277 <     KILL_CHASE_TIME_LIMIT = 347,
278 <     KLINE = 348,
279 <     KLINE_EXEMPT = 349,
280 <     KLINE_REASON = 350,
281 <     KLINE_WITH_REASON = 351,
282 <     KNOCK_DELAY = 352,
283 <     KNOCK_DELAY_CHANNEL = 353,
284 <     LEAF_MASK = 354,
285 <     LINKS_DELAY = 355,
286 <     LISTEN = 356,
287 <     T_LOG = 357,
288 <     LOGGING = 358,
289 <     LOG_LEVEL = 359,
290 <     MAX_ACCEPT = 360,
291 <     MAX_BANS = 361,
292 <     MAX_CHANS_PER_USER = 362,
293 <     MAX_GLOBAL = 363,
294 <     MAX_IDENT = 364,
295 <     MAX_LOCAL = 365,
296 <     MAX_NICK_CHANGES = 366,
297 <     MAX_NICK_TIME = 367,
298 <     MAX_NUMBER = 368,
299 <     MAX_TARGETS = 369,
300 <     MAX_WATCH = 370,
301 <     MESSAGE_LOCALE = 371,
302 <     MIN_NONWILDCARD = 372,
303 <     MIN_NONWILDCARD_SIMPLE = 373,
304 <     MODULE = 374,
305 <     MODULES = 375,
306 <     NAME = 376,
307 <     NEED_PASSWORD = 377,
308 <     NETWORK_DESC = 378,
309 <     NETWORK_NAME = 379,
310 <     NICK = 380,
311 <     NICK_CHANGES = 381,
312 <     NO_CREATE_ON_SPLIT = 382,
313 <     NO_JOIN_ON_SPLIT = 383,
314 <     NO_OPER_FLOOD = 384,
315 <     NO_TILDE = 385,
316 <     NOT = 386,
317 <     NUMBER = 387,
318 <     NUMBER_PER_IDENT = 388,
319 <     NUMBER_PER_CIDR = 389,
320 <     NUMBER_PER_IP = 390,
321 <     NUMBER_PER_IP_GLOBAL = 391,
322 <     OPERATOR = 392,
323 <     OPERS_BYPASS_CALLERID = 393,
324 <     OPER_LOG = 394,
325 <     OPER_ONLY_UMODES = 395,
326 <     OPER_PASS_RESV = 396,
327 <     OPER_SPY_T = 397,
328 <     OPER_UMODES = 398,
329 <     JOIN_FLOOD_COUNT = 399,
330 <     JOIN_FLOOD_TIME = 400,
331 <     PACE_WAIT = 401,
332 <     PACE_WAIT_SIMPLE = 402,
333 <     PASSWORD = 403,
334 <     PATH = 404,
335 <     PING_COOKIE = 405,
336 <     PING_TIME = 406,
337 <     PING_WARNING = 407,
338 <     PORT = 408,
339 <     QSTRING = 409,
340 <     QUIET_ON_BAN = 410,
341 <     REASON = 411,
342 <     REDIRPORT = 412,
343 <     REDIRSERV = 413,
344 <     REGEX_T = 414,
345 <     REHASH = 415,
346 <     TREJECT_HOLD_TIME = 416,
347 <     REMOTE = 417,
348 <     REMOTEBAN = 418,
349 <     RESTRICT_CHANNELS = 419,
350 <     RESTRICTED = 420,
351 <     RSA_PRIVATE_KEY_FILE = 421,
352 <     RSA_PUBLIC_KEY_FILE = 422,
353 <     SSL_CERTIFICATE_FILE = 423,
354 <     T_SSL_CONNECTION_METHOD = 424,
355 <     T_SSLV3 = 425,
356 <     T_TLSV1 = 426,
357 <     RESV = 427,
358 <     RESV_EXEMPT = 428,
359 <     SECONDS = 429,
360 <     MINUTES = 430,
361 <     HOURS = 431,
362 <     DAYS = 432,
363 <     WEEKS = 433,
364 <     SENDQ = 434,
365 <     SEND_PASSWORD = 435,
366 <     SERVERHIDE = 436,
367 <     SERVERINFO = 437,
368 <     SERVLINK_PATH = 438,
369 <     IRCD_SID = 439,
370 <     TKLINE_EXPIRE_NOTICES = 440,
371 <     T_SHARED = 441,
372 <     T_CLUSTER = 442,
373 <     TYPE = 443,
374 <     SHORT_MOTD = 444,
375 <     SILENT = 445,
376 <     SPOOF = 446,
377 <     SPOOF_NOTICE = 447,
378 <     STATS_E_DISABLED = 448,
379 <     STATS_I_OPER_ONLY = 449,
380 <     STATS_K_OPER_ONLY = 450,
381 <     STATS_O_OPER_ONLY = 451,
382 <     STATS_P_OPER_ONLY = 452,
383 <     TBOOL = 453,
384 <     TMASKED = 454,
385 <     T_REJECT = 455,
386 <     TS_MAX_DELTA = 456,
387 <     TS_WARN_DELTA = 457,
388 <     TWODOTS = 458,
389 <     T_ALL = 459,
390 <     T_BOTS = 460,
391 <     T_SOFTCALLERID = 461,
392 <     T_CALLERID = 462,
393 <     T_CCONN = 463,
394 <     T_CCONN_FULL = 464,
395 <     T_CLIENT_FLOOD = 465,
396 <     T_DEAF = 466,
397 <     T_DEBUG = 467,
398 <     T_DRONE = 468,
399 <     T_EXTERNAL = 469,
418 <     T_FULL = 470,
419 <     T_INVISIBLE = 471,
420 <     T_IPV4 = 472,
421 <     T_IPV6 = 473,
422 <     T_LOCOPS = 474,
423 <     T_LOGPATH = 475,
424 <     T_L_CRIT = 476,
425 <     T_L_DEBUG = 477,
426 <     T_L_ERROR = 478,
427 <     T_L_INFO = 479,
428 <     T_L_NOTICE = 480,
429 <     T_L_TRACE = 481,
430 <     T_L_WARN = 482,
431 <     T_MAX_CLIENTS = 483,
432 <     T_NCHANGE = 484,
433 <     T_OPERWALL = 485,
434 <     T_REJ = 486,
435 <     T_SERVER = 487,
436 <     T_SERVNOTICE = 488,
437 <     T_SKILL = 489,
438 <     T_SPY = 490,
439 <     T_SSL = 491,
440 <     T_UMODES = 492,
441 <     T_UNAUTH = 493,
442 <     T_UNRESV = 494,
443 <     T_UNXLINE = 495,
444 <     T_WALLOP = 496,
445 <     THROTTLE_TIME = 497,
446 <     TOPICBURST = 498,
447 <     TRUE_NO_OPER_FLOOD = 499,
448 <     TKLINE = 500,
449 <     TXLINE = 501,
450 <     TRESV = 502,
451 <     UNKLINE = 503,
452 <     USER = 504,
453 <     USE_EGD = 505,
454 <     USE_EXCEPT = 506,
455 <     USE_INVEX = 507,
456 <     USE_KNOCK = 508,
457 <     USE_LOGGING = 509,
458 <     USE_WHOIS_ACTUALLY = 510,
459 <     VHOST = 511,
460 <     VHOST6 = 512,
461 <     XLINE = 513,
462 <     WARN = 514,
463 <     WARN_NO_NLINE = 515
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 DOTS_IN_IDENT 299
445 < #define DURATION 300
446 < #define EGDPOOL_PATH 301
447 < #define EMAIL 302
448 < #define ENABLE 303
449 < #define ENCRYPTED 304
450 < #define EXCEED_LIMIT 305
451 < #define EXEMPT 306
452 < #define FAILED_OPER_NOTICE 307
453 < #define FAKENAME 308
454 < #define IRCD_FLAGS 309
455 < #define FLATTEN_LINKS 310
456 < #define FFAILED_OPERLOG 311
457 < #define FKILLLOG 312
458 < #define FKLINELOG 313
459 < #define FGLINELOG 314
460 < #define FIOERRLOG 315
461 < #define FOPERLOG 316
462 < #define FOPERSPYLOG 317
463 < #define FUSERLOG 318
464 < #define GECOS 319
465 < #define GENERAL 320
466 < #define GLINE 321
467 < #define GLINES 322
468 < #define GLINE_EXEMPT 323
469 < #define GLINE_LOG 324
470 < #define GLINE_TIME 325
471 < #define GLINE_MIN_CIDR 326
472 < #define GLINE_MIN_CIDR6 327
473 < #define GLOBAL_KILL 328
474 < #define IRCD_AUTH 329
475 < #define NEED_IDENT 330
476 < #define HAVENT_READ_CONF 331
477 < #define HIDDEN 332
478 < #define HIDDEN_ADMIN 333
479 < #define HIDDEN_NAME 334
480 < #define HIDDEN_OPER 335
481 < #define HIDE_SERVER_IPS 336
482 < #define HIDE_SERVERS 337
483 < #define HIDE_SPOOF_IPS 338
484 < #define HOST 339
485 < #define HUB 340
486 < #define HUB_MASK 341
487 < #define IDLETIME 342
488 < #define IGNORE_BOGUS_TS 343
489 < #define INVISIBLE_ON_CONNECT 344
490 < #define IP 345
491 < #define KILL 346
492 < #define KILL_CHASE_TIME_LIMIT 347
493 < #define KLINE 348
494 < #define KLINE_EXEMPT 349
495 < #define KLINE_REASON 350
496 < #define KLINE_WITH_REASON 351
497 < #define KNOCK_DELAY 352
498 < #define KNOCK_DELAY_CHANNEL 353
499 < #define LEAF_MASK 354
500 < #define LINKS_DELAY 355
501 < #define LISTEN 356
502 < #define T_LOG 357
503 < #define LOGGING 358
504 < #define LOG_LEVEL 359
505 < #define MAX_ACCEPT 360
506 < #define MAX_BANS 361
507 < #define MAX_CHANS_PER_USER 362
508 < #define MAX_GLOBAL 363
509 < #define MAX_IDENT 364
510 < #define MAX_LOCAL 365
511 < #define MAX_NICK_CHANGES 366
512 < #define MAX_NICK_TIME 367
513 < #define MAX_NUMBER 368
514 < #define MAX_TARGETS 369
515 < #define MAX_WATCH 370
516 < #define MESSAGE_LOCALE 371
517 < #define MIN_NONWILDCARD 372
518 < #define MIN_NONWILDCARD_SIMPLE 373
519 < #define MODULE 374
520 < #define MODULES 375
521 < #define NAME 376
522 < #define NEED_PASSWORD 377
523 < #define NETWORK_DESC 378
524 < #define NETWORK_NAME 379
525 < #define NICK 380
526 < #define NICK_CHANGES 381
527 < #define NO_CREATE_ON_SPLIT 382
528 < #define NO_JOIN_ON_SPLIT 383
529 < #define NO_OPER_FLOOD 384
530 < #define NO_TILDE 385
531 < #define NOT 386
532 < #define NUMBER 387
533 < #define NUMBER_PER_IDENT 388
534 < #define NUMBER_PER_CIDR 389
535 < #define NUMBER_PER_IP 390
536 < #define NUMBER_PER_IP_GLOBAL 391
537 < #define OPERATOR 392
538 < #define OPERS_BYPASS_CALLERID 393
539 < #define OPER_LOG 394
540 < #define OPER_ONLY_UMODES 395
541 < #define OPER_PASS_RESV 396
542 < #define OPER_SPY_T 397
543 < #define OPER_UMODES 398
544 < #define JOIN_FLOOD_COUNT 399
545 < #define JOIN_FLOOD_TIME 400
546 < #define PACE_WAIT 401
547 < #define PACE_WAIT_SIMPLE 402
548 < #define PASSWORD 403
549 < #define PATH 404
550 < #define PING_COOKIE 405
551 < #define PING_TIME 406
552 < #define PING_WARNING 407
553 < #define PORT 408
554 < #define QSTRING 409
555 < #define QUIET_ON_BAN 410
556 < #define REASON 411
557 < #define REDIRPORT 412
558 < #define REDIRSERV 413
559 < #define REGEX_T 414
560 < #define REHASH 415
561 < #define TREJECT_HOLD_TIME 416
562 < #define REMOTE 417
563 < #define REMOTEBAN 418
564 < #define RESTRICT_CHANNELS 419
565 < #define RESTRICTED 420
566 < #define RSA_PRIVATE_KEY_FILE 421
567 < #define RSA_PUBLIC_KEY_FILE 422
568 < #define SSL_CERTIFICATE_FILE 423
569 < #define T_SSL_CONNECTION_METHOD 424
570 < #define T_SSLV3 425
571 < #define T_TLSV1 426
572 < #define RESV 427
573 < #define RESV_EXEMPT 428
574 < #define SECONDS 429
575 < #define MINUTES 430
576 < #define HOURS 431
577 < #define DAYS 432
578 < #define WEEKS 433
579 < #define SENDQ 434
580 < #define SEND_PASSWORD 435
581 < #define SERVERHIDE 436
582 < #define SERVERINFO 437
583 < #define SERVLINK_PATH 438
584 < #define IRCD_SID 439
585 < #define TKLINE_EXPIRE_NOTICES 440
586 < #define T_SHARED 441
587 < #define T_CLUSTER 442
588 < #define TYPE 443
589 < #define SHORT_MOTD 444
590 < #define SILENT 445
591 < #define SPOOF 446
592 < #define SPOOF_NOTICE 447
593 < #define STATS_E_DISABLED 448
594 < #define STATS_I_OPER_ONLY 449
595 < #define STATS_K_OPER_ONLY 450
596 < #define STATS_O_OPER_ONLY 451
597 < #define STATS_P_OPER_ONLY 452
598 < #define TBOOL 453
599 < #define TMASKED 454
600 < #define T_REJECT 455
601 < #define TS_MAX_DELTA 456
602 < #define TS_WARN_DELTA 457
603 < #define TWODOTS 458
604 < #define T_ALL 459
605 < #define T_BOTS 460
606 < #define T_SOFTCALLERID 461
607 < #define T_CALLERID 462
608 < #define T_CCONN 463
609 < #define T_CCONN_FULL 464
610 < #define T_CLIENT_FLOOD 465
611 < #define T_DEAF 466
612 < #define T_DEBUG 467
613 < #define T_DRONE 468
614 < #define T_EXTERNAL 469
679 < #define T_FULL 470
680 < #define T_INVISIBLE 471
681 < #define T_IPV4 472
682 < #define T_IPV6 473
683 < #define T_LOCOPS 474
684 < #define T_LOGPATH 475
685 < #define T_L_CRIT 476
686 < #define T_L_DEBUG 477
687 < #define T_L_ERROR 478
688 < #define T_L_INFO 479
689 < #define T_L_NOTICE 480
690 < #define T_L_TRACE 481
691 < #define T_L_WARN 482
692 < #define T_MAX_CLIENTS 483
693 < #define T_NCHANGE 484
694 < #define T_OPERWALL 485
695 < #define T_REJ 486
696 < #define T_SERVER 487
697 < #define T_SERVNOTICE 488
698 < #define T_SKILL 489
699 < #define T_SPY 490
700 < #define T_SSL 491
701 < #define T_UMODES 492
702 < #define T_UNAUTH 493
703 < #define T_UNRESV 494
704 < #define T_UNXLINE 495
705 < #define T_WALLOP 496
706 < #define THROTTLE_TIME 497
707 < #define TOPICBURST 498
708 < #define TRUE_NO_OPER_FLOOD 499
709 < #define TKLINE 500
710 < #define TXLINE 501
711 < #define TRESV 502
712 < #define UNKLINE 503
713 < #define USER 504
714 < #define USE_EGD 505
715 < #define USE_EXCEPT 506
716 < #define USE_INVEX 507
717 < #define USE_KNOCK 508
718 < #define USE_LOGGING 509
719 < #define USE_WHOIS_ACTUALLY 510
720 < #define VHOST 511
721 < #define VHOST6 512
722 < #define XLINE 513
723 < #define WARN 514
724 < #define WARN_NO_NLINE 515
725 <
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  */
734 < #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  */
742 < #line 743 "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 755 "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 854 | 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 881 | 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 927 | 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
931 <   not overlap.  */
932 < # ifndef YYCOPY
933 < #  if defined __GNUC__ && 1 < __GNUC__
934 < #   define YYCOPY(To, From, Count) \
935 <      __builtin_memcpy (To, From, (Count) * sizeof (*(From)))
936 < #  else
937 < #   define YYCOPY(To, From, Count)              \
938 <      do                                        \
939 <        {                                       \
940 <          YYSIZE_T yyi;                         \
941 <          for (yyi = 0; yyi < (Count); yyi++)   \
942 <            (To)[yyi] = (From)[yyi];            \
943 <        }                                       \
944 <      while (YYID (0))
945 < #  endif
946 < # 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 963 | 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   1263
877 > #define YYLAST   1206
878  
879   /* YYNTOKENS -- Number of terminals.  */
880 < #define YYNTOKENS  266
880 > #define YYNTOKENS  220
881   /* YYNNTS -- Number of nonterminals.  */
882 < #define YYNNTS  319
882 > #define YYNNTS  283
883   /* YYNRULES -- Number of rules.  */
884 < #define YYNRULES  689
884 > #define YYNRULES  627
885   /* YYNRULES -- Number of states.  */
886 < #define YYNSTATES  1359
886 > #define YYNSTATES  1228
887  
888   /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */
889   #define YYUNDEFTOK  2
890 < #define YYMAXUTOK   515
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,   265,     2,     2,     2,     2,     2,
903 <       2,     2,     2,     2,     2,     2,     2,     2,     2,   261,
904 <       2,   264,     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,   263,     2,   262,     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 1033 | 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,
1037 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1038 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1039 <     235,   236,   237,   238,   239,   240,   241,   242,   243,   244,
1040 <     245,   246,   247,   248,   249,   250,   251,   252,   253,   254,
1041 <     255,   256,   257,   258,   259,   260
944 >     205,   206,   207,   208,   209,   210,   211,   212,   213,   214
945   };
946  
947   #if YYDEBUG
# Line 1052 | 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 <     434,   439,   441,   446,   451,   456,   461,   466,   467,   473,
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,   503,   505,   507,   509,   511,   513,   515,
970 <     517,   518,   524,   528,   530,   531,   535,   536,   539,   541,
971 <     543,   545,   547,   549,   551,   553,   555,   557,   559,   561,
972 <     563,   565,   567,   569,   571,   572,   580,   581,   583,   586,
973 <     588,   590,   592,   594,   596,   598,   600,   602,   604,   606,
974 <     608,   610,   612,   614,   617,   622,   624,   629,   634,   639,
975 <     644,   649,   654,   659,   664,   669,   674,   679,   684,   685,
976 <     692,   693,   699,   703,   705,   707,   709,   711,   714,   716,
977 <     718,   720,   722,   724,   727,   728,   734,   738,   740,   742,
978 <     746,   751,   756,   757,   764,   767,   769,   771,   773,   775,
979 <     777,   779,   781,   783,   785,   788,   793,   798,   803,   808,
980 <     809,   815,   819,   821,   822,   826,   827,   830,   832,   834,
981 <     836,   838,   840,   842,   844,   846,   848,   850,   855,   860,
982 <     865,   866,   873,   876,   878,   880,   882,   884,   887,   892,
983 <     897,   902,   903,   910,   913,   915,   917,   919,   921,   924,
984 <     929,   934,   935,   941,   945,   947,   949,   951,   953,   955,
985 <     957,   959,   961,   963,   965,   967,   969,   970,   977,   980,
986 <     982,   984,   986,   989,   994,   995,  1001,  1005,  1007,  1009,
987 <    1011,  1013,  1015,  1017,  1019,  1021,  1023,  1025,  1027,  1029,
988 <    1030,  1038,  1039,  1041,  1044,  1046,  1048,  1050,  1052,  1054,
989 <    1056,  1058,  1060,  1062,  1064,  1066,  1068,  1070,  1072,  1074,
990 <    1076,  1079,  1084,  1086,  1091,  1096,  1101,  1106,  1111,  1116,
991 <    1121,  1126,  1127,  1133,  1137,  1139,  1140,  1144,  1145,  1148,
992 <    1150,  1152,  1154,  1156,  1158,  1163,  1168,  1173,  1178,  1183,
993 <    1188,  1189,  1196,  1197,  1203,  1207,  1209,  1211,  1214,  1216,
994 <    1218,  1220,  1222,  1224,  1229,  1234,  1235,  1242,  1245,  1247,
995 <    1249,  1251,  1253,  1258,  1263,  1269,  1272,  1274,  1276,  1278,
996 <    1283,  1284,  1291,  1292,  1298,  1302,  1304,  1306,  1309,  1311,
997 <    1313,  1315,  1317,  1319,  1324,  1329,  1335,  1338,  1340,  1342,
998 <    1344,  1346,  1348,  1350,  1352,  1354,  1356,  1358,  1360,  1362,
999 <    1364,  1366,  1368,  1370,  1372,  1374,  1376,  1378,  1380,  1382,
1000 <    1384,  1386,  1388,  1390,  1392,  1394,  1396,  1398,  1400,  1402,
1001 <    1404,  1406,  1408,  1410,  1412,  1414,  1416,  1418,  1420,  1422,
1002 <    1424,  1426,  1428,  1430,  1432,  1434,  1436,  1438,  1440,  1442,
1003 <    1444,  1446,  1448,  1450,  1452,  1457,  1462,  1467,  1472,  1477,
1004 <    1482,  1487,  1492,  1497,  1502,  1507,  1512,  1517,  1522,  1527,
1005 <    1532,  1537,  1542,  1547,  1552,  1557,  1562,  1567,  1572,  1577,
1006 <    1582,  1587,  1592,  1597,  1602,  1607,  1612,  1617,  1622,  1627,
1007 <    1632,  1637,  1642,  1647,  1652,  1657,  1662,  1667,  1672,  1677,
1008 <    1682,  1687,  1692,  1697,  1702,  1707,  1708,  1714,  1718,  1720,
1009 <    1722,  1724,  1726,  1728,  1730,  1732,  1734,  1736,  1738,  1740,
1010 <    1742,  1744,  1746,  1748,  1750,  1752,  1754,  1756,  1758,  1759,
1011 <    1765,  1769,  1771,  1773,  1775,  1777,  1779,  1781,  1783,  1785,
1012 <    1787,  1789,  1791,  1793,  1795,  1797,  1799,  1801,  1803,  1805,
1013 <    1807,  1809,  1814,  1819,  1824,  1829,  1830,  1837,  1840,  1842,
1014 <    1844,  1846,  1848,  1850,  1852,  1854,  1856,  1861,  1866,  1867,
1111 <    1873,  1877,  1879,  1881,  1883,  1888,  1893,  1894,  1900,  1904,
1112 <    1906,  1908,  1910,  1916,  1919,  1921,  1923,  1925,  1927,  1929,
1113 <    1931,  1933,  1935,  1937,  1939,  1941,  1943,  1945,  1947,  1949,
1114 <    1951,  1953,  1955,  1957,  1959,  1964,  1969,  1974,  1979,  1984,
1115 <    1989,  1994,  1999,  2004,  2009,  2014,  2019,  2024,  2029,  2034,
1116 <    2039,  2044,  2049,  2055,  2058,  2060,  2062,  2064,  2066,  2068,
1117 <    2070,  2072,  2074,  2076,  2081,  2086,  2091,  2096,  2101,  2106
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 <     267,     0,    -1,    -1,   267,   268,    -1,   296,    -1,   302,
1021 <      -1,   317,    -1,   554,    -1,   340,    -1,   359,    -1,   373,
1022 <      -1,   278,    -1,   575,    -1,   391,    -1,   398,    -1,   408,
1023 <      -1,   417,    -1,   444,    -1,   454,    -1,   460,    -1,   474,
1024 <      -1,   538,    -1,   464,    -1,   273,    -1,     1,   261,    -1,
1025 <       1,   262,    -1,    -1,   270,    -1,   132,   269,    -1,   132,
1026 <     174,   269,    -1,   132,   175,   269,    -1,   132,   176,   269,
1027 <      -1,   132,   177,   269,    -1,   132,   178,   269,    -1,    -1,
1028 <     272,    -1,   132,   271,    -1,   132,    14,   271,    -1,   132,
1029 <      15,   271,    -1,   132,    16,   271,    -1,   120,   263,   274,
1030 <     262,   261,    -1,   274,   275,    -1,   275,    -1,   276,    -1,
1031 <     277,    -1,     1,   261,    -1,   119,   264,   154,   261,    -1,
1032 <     149,   264,   154,   261,    -1,   182,   263,   279,   262,   261,
1033 <      -1,   279,   280,    -1,   280,    -1,   287,    -1,   292,    -1,
1034 <     295,    -1,   289,    -1,   290,    -1,   291,    -1,   294,    -1,
1035 <     286,    -1,   293,    -1,   288,    -1,   285,    -1,   281,    -1,
1036 <       1,   261,    -1,    -1,   169,   282,   264,   283,   261,    -1,
1037 <     283,   265,   284,    -1,   284,    -1,   170,    -1,   171,    -1,
1038 <     168,   264,   154,   261,    -1,   166,   264,   154,   261,    -1,
1039 <     121,   264,   154,   261,    -1,   184,   264,   154,   261,    -1,
1040 <      37,   264,   154,   261,    -1,   124,   264,   154,   261,    -1,
1041 <     123,   264,   154,   261,    -1,   256,   264,   154,   261,    -1,
1042 <     257,   264,   154,   261,    -1,   228,   264,   132,   261,    -1,
1043 <      85,   264,   198,   261,    -1,     5,   263,   297,   262,   261,
1044 <      -1,   297,   298,    -1,   298,    -1,   299,    -1,   301,    -1,
1045 <     300,    -1,     1,   261,    -1,   121,   264,   154,   261,    -1,
1046 <      47,   264,   154,   261,    -1,    37,   264,   154,   261,    -1,
1047 <     103,   263,   303,   262,   261,    -1,   303,   304,    -1,   304,
1048 <      -1,   305,    -1,   306,    -1,   315,    -1,   316,    -1,   307,
1049 <      -1,   309,    -1,   311,    -1,   312,    -1,   314,    -1,   310,
1050 <      -1,   313,    -1,   308,    -1,     1,   261,    -1,   220,   264,
1051 <     154,   261,    -1,   139,   264,   154,   261,    -1,    63,   264,
1052 <     154,   261,    -1,    56,   264,   154,   261,    -1,    61,   264,
1053 <     154,   261,    -1,    62,   264,   154,   261,    -1,    59,   264,
1054 <     154,   261,    -1,    58,   264,   154,   261,    -1,    60,   264,
1055 <     154,   261,    -1,    57,   264,   154,   261,    -1,   104,   264,
1056 <     221,   261,    -1,   104,   264,   223,   261,    -1,   104,   264,
1057 <     227,   261,    -1,   104,   264,   225,   261,    -1,   104,   264,
1058 <     226,   261,    -1,   104,   264,   224,   261,    -1,   104,   264,
1059 <     222,   261,    -1,   254,   264,   198,   261,    -1,    -1,   137,
1060 <     318,   319,   263,   320,   262,   261,    -1,    -1,   323,    -1,
1061 <     320,   321,    -1,   321,    -1,   322,    -1,   324,    -1,   325,
1062 <      -1,   329,    -1,   328,    -1,   326,    -1,   327,    -1,   333,
1063 <      -1,     1,   261,    -1,   121,   264,   154,   261,    -1,   154,
1064 <      -1,   249,   264,   154,   261,    -1,   148,   264,   154,   261,
1065 <      -1,    49,   264,   198,   261,    -1,   167,   264,   154,   261,
1066 <      -1,    26,   264,   154,   261,    -1,    -1,   237,   330,   264,
1067 <     331,   261,    -1,   331,   265,   332,    -1,   332,    -1,   205,
1068 <      -1,   208,    -1,   209,    -1,   211,    -1,   212,    -1,   215,
1069 <      -1,   234,    -1,   229,    -1,   231,    -1,   238,    -1,   235,
1070 <      -1,   214,    -1,   230,    -1,   233,    -1,   216,    -1,   241,
1071 <      -1,   206,    -1,   207,    -1,   219,    -1,    -1,    54,   334,
1072 <     264,   335,   261,    -1,   335,   265,   336,    -1,   336,    -1,
1073 <      -1,   131,   337,   339,    -1,    -1,   338,   339,    -1,    73,
1074 <      -1,   162,    -1,    93,    -1,   248,    -1,   258,    -1,    66,
1075 <      -1,    38,    -1,   160,    -1,     5,    -1,    78,    -1,   126,
1076 <      -1,   230,    -1,   142,    -1,    80,    -1,   163,    -1,    49,
1077 <      -1,    -1,    26,   341,   342,   263,   343,   262,   261,    -1,
1078 <      -1,   346,    -1,   343,   344,    -1,   344,    -1,   345,    -1,
1079 <     356,    -1,   357,    -1,   347,    -1,   348,    -1,   358,    -1,
1080 <     349,    -1,   350,    -1,   351,    -1,   352,    -1,   353,    -1,
1081 <     354,    -1,   355,    -1,     1,   261,    -1,   121,   264,   154,
1082 <     261,    -1,   154,    -1,   151,   264,   270,   261,    -1,   152,
1083 <     264,   270,   261,    -1,   135,   264,   132,   261,    -1,    30,
1084 <     264,   270,   261,    -1,   113,   264,   132,   261,    -1,   108,
1085 <     264,   132,   261,    -1,   110,   264,   132,   261,    -1,   109,
1086 <     264,   132,   261,    -1,   179,   264,   272,   261,    -1,    23,
1087 <     264,   132,   261,    -1,    24,   264,   132,   261,    -1,   134,
1088 <     264,   132,   261,    -1,    -1,   101,   360,   263,   365,   262,
1089 <     261,    -1,    -1,    54,   362,   264,   363,   261,    -1,   363,
1090 <     265,   364,    -1,   364,    -1,   236,    -1,    77,    -1,   232,
1091 <      -1,   365,   366,    -1,   366,    -1,   367,    -1,   361,    -1,
1092 <     371,    -1,   372,    -1,     1,   261,    -1,    -1,   153,   264,
1093 <     369,   368,   261,    -1,   369,   265,   370,    -1,   370,    -1,
1094 <     132,    -1,   132,   203,   132,    -1,    90,   264,   154,   261,
1095 <      -1,    84,   264,   154,   261,    -1,    -1,    74,   374,   263,
1096 <     375,   262,   261,    -1,   375,   376,    -1,   376,    -1,   377,
1097 <      -1,   378,    -1,   379,    -1,   381,    -1,   388,    -1,   389,
1098 <      -1,   390,    -1,   380,    -1,     1,   261,    -1,   249,   264,
1099 <     154,   261,    -1,   148,   264,   154,   261,    -1,    26,   264,
1100 <     154,   261,    -1,    49,   264,   198,   261,    -1,    -1,    54,
1101 <     382,   264,   383,   261,    -1,   383,   265,   384,    -1,   384,
1102 <      -1,    -1,   131,   385,   387,    -1,    -1,   386,   387,    -1,
1103 <     192,    -1,    50,    -1,    94,    -1,    75,    -1,    20,    -1,
1104 <      21,    -1,   130,    -1,    68,    -1,   173,    -1,   122,    -1,
1105 <     191,   264,   154,   261,    -1,   158,   264,   154,   261,    -1,
1106 <     157,   264,   132,   261,    -1,    -1,   172,   392,   263,   393,
1107 <     262,   261,    -1,   393,   394,    -1,   394,    -1,   395,    -1,
1108 <     396,    -1,   397,    -1,     1,   261,    -1,   156,   264,   154,
1109 <     261,    -1,    22,   264,   154,   261,    -1,   125,   264,   154,
1110 <     261,    -1,    -1,   186,   399,   263,   400,   262,   261,    -1,
1111 <     400,   401,    -1,   401,    -1,   402,    -1,   403,    -1,   404,
1112 <      -1,     1,   261,    -1,   121,   264,   154,   261,    -1,   249,
1113 <     264,   154,   261,    -1,    -1,   188,   405,   264,   406,   261,
1114 <      -1,   406,   265,   407,    -1,   407,    -1,    93,    -1,   245,
1115 <      -1,   248,    -1,   258,    -1,   246,    -1,   240,    -1,   172,
1116 <      -1,   247,    -1,   239,    -1,   219,    -1,   204,    -1,    -1,
1117 <     187,   409,   263,   410,   262,   261,    -1,   410,   411,    -1,
1118 <     411,    -1,   412,    -1,   413,    -1,     1,   261,    -1,   121,
1119 <     264,   154,   261,    -1,    -1,   188,   414,   264,   415,   261,
1120 <      -1,   415,   265,   416,    -1,   416,    -1,    93,    -1,   245,
1121 <      -1,   248,    -1,   258,    -1,   246,    -1,   240,    -1,   172,
1122 <      -1,   247,    -1,   239,    -1,   219,    -1,   204,    -1,    -1,
1123 <      29,   418,   419,   263,   420,   262,   261,    -1,    -1,   423,
1124 <      -1,   420,   421,    -1,   421,    -1,   422,    -1,   424,    -1,
1125 <     425,    -1,   426,    -1,   427,    -1,   429,    -1,   428,    -1,
1126 <     430,    -1,   431,    -1,   440,    -1,   441,    -1,   442,    -1,
1127 <     439,    -1,   438,    -1,   443,    -1,     1,   261,    -1,   121,
1128 <     264,   154,   261,    -1,   154,    -1,    84,   264,   154,   261,
1129 <      -1,   256,   264,   154,   261,    -1,   180,   264,   154,   261,
1130 <      -1,     3,   264,   154,   261,    -1,   153,   264,   132,   261,
1131 <      -1,     6,   264,   217,   261,    -1,     6,   264,   218,   261,
1132 <      -1,    53,   264,   154,   261,    -1,    -1,    54,   432,   264,
1133 <     433,   261,    -1,   433,   265,   434,    -1,   434,    -1,    -1,
1134 <     131,   435,   437,    -1,    -1,   436,   437,    -1,    27,    -1,
1135 <      31,    -1,    10,    -1,    12,    -1,   243,    -1,   167,   264,
1136 <     154,   261,    -1,    49,   264,   198,   261,    -1,    86,   264,
1137 <     154,   261,    -1,    99,   264,   154,   261,    -1,    26,   264,
1138 <     154,   261,    -1,    25,   264,   154,   261,    -1,    -1,    91,
1139 <     445,   263,   450,   262,   261,    -1,    -1,   188,   447,   264,
1140 <     448,   261,    -1,   448,   265,   449,    -1,   449,    -1,   159,
1141 <      -1,   450,   451,    -1,   451,    -1,   452,    -1,   453,    -1,
1142 <     446,    -1,     1,    -1,   249,   264,   154,   261,    -1,   156,
1143 <     264,   154,   261,    -1,    -1,    36,   455,   263,   456,   262,
1144 <     261,    -1,   456,   457,    -1,   457,    -1,   458,    -1,   459,
1145 <      -1,     1,    -1,    90,   264,   154,   261,    -1,   156,   264,
1146 <     154,   261,    -1,    51,   263,   461,   262,   261,    -1,   461,
1147 <     462,    -1,   462,    -1,   463,    -1,     1,    -1,    90,   264,
1148 <     154,   261,    -1,    -1,    64,   465,   263,   470,   262,   261,
1149 <      -1,    -1,   188,   467,   264,   468,   261,    -1,   468,   265,
1150 <     469,    -1,   469,    -1,   159,    -1,   470,   471,    -1,   471,
1151 <      -1,   472,    -1,   473,    -1,   466,    -1,     1,    -1,   121,
1152 <     264,   154,   261,    -1,   156,   264,   154,   261,    -1,    65,
1153 <     263,   475,   262,   261,    -1,   475,   476,    -1,   476,    -1,
1154 <     485,    -1,   486,    -1,   488,    -1,   489,    -1,   490,    -1,
1155 <     491,    -1,   492,    -1,   493,    -1,   494,    -1,   495,    -1,
1156 <     484,    -1,   497,    -1,   498,    -1,   499,    -1,   500,    -1,
1157 <     516,    -1,   502,    -1,   504,    -1,   506,    -1,   505,    -1,
1158 <     509,    -1,   503,    -1,   510,    -1,   511,    -1,   512,    -1,
1159 <     513,    -1,   515,    -1,   514,    -1,   530,    -1,   517,    -1,
1160 <     521,    -1,   522,    -1,   526,    -1,   507,    -1,   508,    -1,
1161 <     536,    -1,   534,    -1,   535,    -1,   518,    -1,   487,    -1,
1162 <     519,    -1,   520,    -1,   537,    -1,   525,    -1,   496,    -1,
1163 <     523,    -1,   524,    -1,   480,    -1,   483,    -1,   478,    -1,
1164 <     479,    -1,   481,    -1,   482,    -1,   501,    -1,   477,    -1,
1165 <       1,    -1,   115,   264,   132,   261,    -1,    71,   264,   132,
1166 <     261,    -1,    72,   264,   132,   261,    -1,    12,   264,   198,
1167 <     261,    -1,   255,   264,   198,   261,    -1,   161,   264,   270,
1168 <     261,    -1,   185,   264,   198,   261,    -1,    92,   264,   270,
1169 <     261,    -1,    83,   264,   198,   261,    -1,    88,   264,   198,
1170 <     261,    -1,    43,   264,   198,   261,    -1,    52,   264,   198,
1171 <     261,    -1,     8,   264,   198,   261,    -1,   112,   264,   270,
1172 <     261,    -1,   111,   264,   132,   261,    -1,   105,   264,   132,
1173 <     261,    -1,     9,   264,   270,   261,    -1,   202,   264,   270,
1174 <     261,    -1,   201,   264,   270,   261,    -1,    76,   264,   132,
1175 <     261,    -1,    96,   264,   198,   261,    -1,    95,   264,   154,
1176 <     261,    -1,    89,   264,   198,   261,    -1,   260,   264,   198,
1177 <     261,    -1,   193,   264,   198,   261,    -1,   196,   264,   198,
1178 <     261,    -1,   197,   264,   198,   261,    -1,   195,   264,   198,
1179 <     261,    -1,   195,   264,   199,   261,    -1,   194,   264,   198,
1180 <     261,    -1,   194,   264,   199,   261,    -1,   146,   264,   270,
1181 <     261,    -1,    19,   264,   270,   261,    -1,   138,   264,   198,
1182 <     261,    -1,   147,   264,   270,   261,    -1,   189,   264,   198,
1183 <     261,    -1,   129,   264,   198,   261,    -1,   244,   264,   198,
1184 <     261,    -1,   141,   264,   198,   261,    -1,   116,   264,   154,
1185 <     261,    -1,    87,   264,   270,   261,    -1,    44,   264,   132,
1186 <     261,    -1,   114,   264,   132,   261,    -1,   183,   264,   154,
1187 <     261,    -1,    32,   264,   154,   261,    -1,    28,   264,   132,
1188 <     261,    -1,   250,   264,   198,   261,    -1,    46,   264,   154,
1189 <     261,    -1,   150,   264,   198,   261,    -1,    39,   264,   198,
1190 <     261,    -1,   242,   264,   270,   261,    -1,    -1,   143,   527,
1191 <     264,   528,   261,    -1,   528,   265,   529,    -1,   529,    -1,
1192 <     205,    -1,   208,    -1,   209,    -1,   211,    -1,   212,    -1,
1193 <     215,    -1,   234,    -1,   229,    -1,   231,    -1,   238,    -1,
1194 <     235,    -1,   214,    -1,   230,    -1,   233,    -1,   216,    -1,
1195 <     241,    -1,   206,    -1,   207,    -1,   219,    -1,    -1,   140,
1196 <     531,   264,   532,   261,    -1,   532,   265,   533,    -1,   533,
1197 <      -1,   205,    -1,   208,    -1,   209,    -1,   211,    -1,   212,
1198 <      -1,   215,    -1,   234,    -1,   229,    -1,   231,    -1,   238,
1199 <      -1,   235,    -1,   214,    -1,   230,    -1,   233,    -1,   216,
1200 <      -1,   241,    -1,   206,    -1,   207,    -1,   219,    -1,   117,
1201 <     264,   132,   261,    -1,   118,   264,   132,   261,    -1,    33,
1202 <     264,   132,   261,    -1,   210,   264,   272,   261,    -1,    -1,
1203 <      67,   539,   263,   540,   262,   261,    -1,   540,   541,    -1,
1204 <     541,    -1,   542,    -1,   543,    -1,   544,    -1,   548,    -1,
1205 <     549,    -1,   550,    -1,     1,    -1,    48,   264,   198,   261,
1206 <      -1,    45,   264,   270,   261,    -1,    -1,   103,   545,   264,
1207 <     546,   261,    -1,   546,   265,   547,    -1,   547,    -1,   200,
1208 <      -1,    11,    -1,   249,   264,   154,   261,    -1,   121,   264,
1209 <     154,   261,    -1,    -1,     4,   551,   264,   552,   261,    -1,
1210 <     552,   265,   553,    -1,   553,    -1,   200,    -1,    11,    -1,
1314 <      22,   263,   555,   262,   261,    -1,   555,   556,    -1,   556,
1315 <      -1,   559,    -1,   560,    -1,   561,    -1,   562,    -1,   567,
1316 <      -1,   563,    -1,   564,    -1,   565,    -1,   566,    -1,   568,
1317 <      -1,   569,    -1,   570,    -1,   558,    -1,   571,    -1,   572,
1318 <      -1,   573,    -1,   574,    -1,   557,    -1,     1,    -1,    40,
1319 <     264,   198,   261,    -1,   164,   264,   198,   261,    -1,    42,
1320 <     264,   198,   261,    -1,   251,   264,   198,   261,    -1,   252,
1321 <     264,   198,   261,    -1,   253,   264,   198,   261,    -1,    97,
1322 <     264,   270,   261,    -1,    98,   264,   270,   261,    -1,   107,
1323 <     264,   132,   261,    -1,   155,   264,   198,   261,    -1,   106,
1324 <     264,   132,   261,    -1,    35,   264,   132,   261,    -1,    34,
1325 <     264,   132,   261,    -1,   127,   264,   198,   261,    -1,   128,
1326 <     264,   198,   261,    -1,    13,   264,   198,   261,    -1,   144,
1327 <     264,   132,   261,    -1,   145,   264,   270,   261,    -1,   181,
1328 <     263,   576,   262,   261,    -1,   576,   577,    -1,   577,    -1,
1329 <     578,    -1,   579,    -1,   581,    -1,   583,    -1,   582,    -1,
1330 <     580,    -1,   584,    -1,     1,    -1,    55,   264,   198,   261,
1331 <      -1,    82,   264,   198,   261,    -1,    79,   264,   154,   261,
1332 <      -1,   100,   264,   270,   261,    -1,    77,   264,   198,   261,
1333 <      -1,    41,   264,   198,   261,    -1,    81,   264,   198,   261,
1334 <      -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,   396,   396,   397,   400,   401,   402,   403,   404,   405,
1217 <     406,   407,   408,   409,   410,   411,   412,   413,   414,   415,
1218 <     416,   417,   418,   419,   420,   421,   425,   425,   426,   430,
1219 <     434,   438,   442,   446,   452,   452,   453,   454,   455,   456,
1220 <     463,   466,   466,   467,   467,   467,   469,   477,   486,   488,
1221 <     488,   489,   489,   490,   490,   491,   491,   492,   493,   493,
1222 <     494,   494,   495,   496,   500,   499,   518,   518,   519,   525,
1223 <     533,   567,   627,   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,  1043,  1043,  1043,  1044,  1044,  1044,
1230 <    1046,  1058,  1070,  1104,  1116,  1127,  1169,  1179,  1178,  1184,
1231 <    1184,  1185,  1189,  1193,  1197,  1201,  1205,  1209,  1213,  1217,
1232 <    1221,  1225,  1229,  1233,  1237,  1241,  1245,  1249,  1253,  1257,
1233 <    1264,  1263,  1267,  1267,  1268,  1268,  1269,  1269,  1271,  1278,
1234 <    1285,  1292,  1299,  1306,  1313,  1320,  1327,  1334,  1341,  1348,
1235 <    1355,  1362,  1369,  1376,  1390,  1389,  1439,  1439,  1441,  1441,
1236 <    1442,  1443,  1443,  1444,  1445,  1446,  1447,  1448,  1449,  1450,
1237 <    1451,  1452,  1453,  1454,  1456,  1465,  1474,  1480,  1486,  1492,
1238 <    1498,  1504,  1510,  1516,  1522,  1528,  1534,  1540,  1550,  1549,
1239 <    1566,  1565,  1570,  1570,  1571,  1575,  1579,  1587,  1587,  1588,
1240 <    1588,  1588,  1588,  1588,  1590,  1590,  1592,  1592,  1594,  1608,
1241 <    1628,  1637,  1650,  1649,  1718,  1718,  1719,  1719,  1719,  1719,
1242 <    1720,  1720,  1720,  1721,  1721,  1723,  1760,  1773,  1782,  1794,
1243 <    1793,  1797,  1797,  1798,  1798,  1799,  1799,  1801,  1808,  1815,
1244 <    1822,  1829,  1836,  1843,  1850,  1857,  1864,  1874,  1893,  1903,
1245 <    1917,  1916,  1932,  1932,  1933,  1933,  1933,  1933,  1935,  1944,
1246 <    1959,  1973,  1972,  1988,  1988,  1989,  1989,  1989,  1989,  1991,
1247 <    2000,  2023,  2022,  2028,  2028,  2029,  2033,  2037,  2041,  2045,
1248 <    2049,  2053,  2057,  2061,  2065,  2069,  2079,  2078,  2095,  2095,
1249 <    2096,  2096,  2096,  2098,  2105,  2104,  2110,  2110,  2111,  2115,
1250 <    2119,  2123,  2127,  2131,  2135,  2139,  2143,  2147,  2151,  2161,
1251 <    2160,  2306,  2306,  2307,  2307,  2308,  2308,  2308,  2309,  2309,
1252 <    2310,  2310,  2310,  2311,  2311,  2311,  2312,  2312,  2313,  2313,
1253 <    2314,  2316,  2328,  2340,  2349,  2375,  2393,  2411,  2417,  2421,
1254 <    2429,  2439,  2438,  2442,  2442,  2443,  2443,  2444,  2444,  2446,
1255 <    2457,  2464,  2471,  2478,  2488,  2529,  2540,  2553,  2566,  2575,
1256 <    2611,  2610,  2674,  2673,  2677,  2677,  2678,  2684,  2684,  2685,
1257 <    2685,  2685,  2685,  2687,  2706,  2716,  2715,  2738,  2738,  2739,
1258 <    2739,  2739,  2741,  2747,  2756,  2758,  2758,  2759,  2759,  2761,
1259 <    2780,  2779,  2827,  2826,  2830,  2830,  2831,  2837,  2837,  2838,
1260 <    2838,  2838,  2838,  2840,  2846,  2855,  2858,  2858,  2859,  2859,
1261 <    2860,  2860,  2861,  2861,  2862,  2862,  2863,  2863,  2864,  2864,
1262 <    2865,  2865,  2866,  2866,  2867,  2867,  2868,  2868,  2869,  2869,
1263 <    2870,  2870,  2871,  2871,  2872,  2872,  2873,  2873,  2874,  2874,
1264 <    2875,  2875,  2876,  2876,  2877,  2877,  2878,  2878,  2879,  2880,
1265 <    2880,  2881,  2881,  2882,  2883,  2883,  2884,  2884,  2885,  2885,
1266 <    2886,  2886,  2887,  2888,  2891,  2896,  2901,  2906,  2911,  2916,
1267 <    2921,  2926,  2931,  2936,  2941,  2946,  2951,  2956,  2961,  2966,
1268 <    2971,  2976,  2981,  2987,  2998,  3003,  3012,  3017,  3022,  3027,
1269 <    3032,  3037,  3040,  3045,  3048,  3053,  3058,  3063,  3068,  3073,
1270 <    3078,  3083,  3088,  3093,  3104,  3109,  3114,  3119,  3128,  3160,
1271 <    3178,  3183,  3192,  3197,  3202,  3208,  3207,  3212,  3212,  3213,
1272 <    3216,  3219,  3222,  3225,  3228,  3231,  3234,  3237,  3240,  3243,
1273 <    3246,  3249,  3252,  3255,  3258,  3261,  3264,  3267,  3273,  3272,
1274 <    3277,  3277,  3278,  3281,  3284,  3287,  3290,  3293,  3296,  3299,
1275 <    3302,  3305,  3308,  3311,  3314,  3317,  3320,  3323,  3326,  3329,
1276 <    3332,  3337,  3342,  3347,  3352,  3362,  3361,  3385,  3385,  3386,
1277 <    3387,  3388,  3389,  3390,  3391,  3392,  3394,  3400,  3407,  3406,
1278 <    3411,  3411,  3412,  3416,  3422,  3456,  3466,  3465,  3515,  3515,
1403 <    3516,  3520,  3529,  3532,  3532,  3533,  3533,  3534,  3534,  3535,
1404 <    3535,  3536,  3536,  3537,  3537,  3538,  3539,  3539,  3540,  3540,
1405 <    3541,  3541,  3542,  3542,  3544,  3549,  3554,  3559,  3564,  3569,
1406 <    3574,  3579,  3584,  3589,  3594,  3599,  3604,  3609,  3614,  3619,
1407 <    3624,  3629,  3637,  3640,  3640,  3641,  3641,  3642,  3643,  3644,
1408 <    3644,  3645,  3646,  3648,  3654,  3660,  3669,  3683,  3689,  3695
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 <  "DOTS_IN_IDENT", "DURATION", "EGDPOOL_PATH", "EMAIL", "ENABLE",
1428 <  "ENCRYPTED", "EXCEED_LIMIT", "EXEMPT", "FAILED_OPER_NOTICE", "FAKENAME",
1429 <  "IRCD_FLAGS", "FLATTEN_LINKS", "FFAILED_OPERLOG", "FKILLLOG",
1430 <  "FKLINELOG", "FGLINELOG", "FIOERRLOG", "FOPERLOG", "FOPERSPYLOG",
1431 <  "FUSERLOG", "GECOS", "GENERAL", "GLINE", "GLINES", "GLINE_EXEMPT",
1432 <  "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",
1440 <  "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_flags", "$@4",
1492 <  "oper_flags_items", "oper_flags_item", "$@5", "$@6",
1493 <  "oper_flags_item_atom", "class_entry", "$@7", "class_name_b",
1494 <  "class_items", "class_item", "class_name", "class_name_t",
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",
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",
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 <  "$@12", "auth_flags_items", "auth_flags_item", "$@13", "$@14",
1367 <  "auth_flags_item_atom", "auth_spoof", "auth_redir_serv",
1368 <  "auth_redir_port", "resv_entry", "$@15", "resv_items", "resv_item",
1369 <  "resv_creason", "resv_channel", "resv_nick", "shared_entry", "$@16",
1370 <  "shared_items", "shared_item", "shared_name", "shared_user",
1371 <  "shared_type", "$@17", "shared_types", "shared_type_item",
1372 <  "cluster_entry", "$@18", "cluster_items", "cluster_item", "cluster_name",
1373 <  "cluster_type", "$@19", "cluster_types", "cluster_type_item",
1374 <  "connect_entry", "$@20", "connect_name_b", "connect_items",
1375 <  "connect_item", "connect_name", "connect_name_t", "connect_host",
1376 <  "connect_vhost", "connect_send_password", "connect_accept_password",
1377 <  "connect_port", "connect_aftype", "connect_fakename", "connect_flags",
1516 <  "$@21", "connect_flags_items", "connect_flags_item", "$@22", "$@23",
1517 <  "connect_flags_item_atom", "connect_rsa_public_key_file",
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_flags", "$@18", "connect_flags_items", "connect_flags_item",
1378    "connect_encrypted", "connect_hub_mask", "connect_leaf_mask",
1379 <  "connect_class", "connect_cipher_preference", "kill_entry", "$@24",
1380 <  "kill_type", "$@25", "kill_type_items", "kill_type_item", "kill_items",
1381 <  "kill_item", "kill_user", "kill_reason", "deny_entry", "$@26",
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", "$@27",
1384 <  "gecos_flags", "$@28", "gecos_flags_items", "gecos_flags_item",
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_min_cidr", "general_gline_min_cidr6",
1388 <  "general_burst_away", "general_use_whois_actually",
1389 <  "general_reject_hold_time", "general_tkline_expire_notices",
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_kline_with_reason",
1537 <  "general_kline_reason", "general_invisible_on_connect",
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",
# Line 1542 | Line 1401 | static const char *const yytname[] =
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_idletime", "general_dots_in_ident",
1405 <  "general_max_targets", "general_servlink_path",
1406 <  "general_default_cipher_preference", "general_compression_level",
1407 <  "general_use_egd", "general_egdpool_path", "general_ping_cookie",
1408 <  "general_disable_auth", "general_throttle_time", "general_oper_umodes",
1409 <  "$@29", "umode_oitems", "umode_oitem", "general_oper_only_umodes",
1410 <  "$@30", "umode_items", "umode_item", "general_min_nonwildcard",
1411 <  "general_min_nonwildcard_simple", "general_default_floodcount",
1412 <  "general_client_flood", "gline_entry", "$@31", "gline_items",
1554 <  "gline_item", "gline_enable", "gline_duration", "gline_logging", "$@32",
1555 <  "gline_logging_types", "gline_logging_type_item", "gline_user",
1556 <  "gline_server", "gline_action", "$@33", "gdeny_types", "gdeny_type_item",
1557 <  "channel_entry", "channel_items", "channel_item",
1558 <  "channel_disable_fake_channels", "channel_restrict_channels",
1559 <  "channel_disable_local_channels", "channel_use_except",
1560 <  "channel_use_invex", "channel_use_knock", "channel_knock_delay",
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_quiet_on_ban", "channel_max_bans",
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 1596 | 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,
1600 <     475,   476,   477,   478,   479,   480,   481,   482,   483,   484,
1601 <     485,   486,   487,   488,   489,   490,   491,   492,   493,   494,
1602 <     495,   496,   497,   498,   499,   500,   501,   502,   503,   504,
1603 <     505,   506,   507,   508,   509,   510,   511,   512,   513,   514,
1604 <     515,    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,   266,   267,   267,   268,   268,   268,   268,   268,   268,
1459 <     268,   268,   268,   268,   268,   268,   268,   268,   268,   268,
1460 <     268,   268,   268,   268,   268,   268,   269,   269,   270,   270,
1461 <     270,   270,   270,   270,   271,   271,   272,   272,   272,   272,
1462 <     273,   274,   274,   275,   275,   275,   276,   277,   278,   279,
1463 <     279,   280,   280,   280,   280,   280,   280,   280,   280,   280,
1464 <     280,   280,   280,   280,   282,   281,   283,   283,   284,   284,
1465 <     285,   286,   287,   288,   289,   290,   291,   292,   293,   294,
1466 <     295,   296,   297,   297,   298,   298,   298,   298,   299,   300,
1467 <     301,   302,   303,   303,   304,   304,   304,   304,   304,   304,
1468 <     304,   304,   304,   304,   304,   304,   304,   305,   306,   307,
1469 <     308,   309,   310,   311,   312,   313,   314,   315,   315,   315,
1470 <     315,   315,   315,   315,   316,   318,   317,   319,   319,   320,
1471 <     320,   321,   321,   321,   321,   321,   321,   321,   321,   321,
1472 <     322,   323,   324,   325,   326,   327,   328,   330,   329,   331,
1473 <     331,   332,   332,   332,   332,   332,   332,   332,   332,   332,
1474 <     332,   332,   332,   332,   332,   332,   332,   332,   332,   332,
1475 <     334,   333,   335,   335,   337,   336,   338,   336,   339,   339,
1476 <     339,   339,   339,   339,   339,   339,   339,   339,   339,   339,
1477 <     339,   339,   339,   339,   341,   340,   342,   342,   343,   343,
1478 <     344,   344,   344,   344,   344,   344,   344,   344,   344,   344,
1479 <     344,   344,   344,   344,   345,   346,   347,   348,   349,   350,
1480 <     351,   352,   353,   354,   355,   356,   357,   358,   360,   359,
1481 <     362,   361,   363,   363,   364,   364,   364,   365,   365,   366,
1482 <     366,   366,   366,   366,   368,   367,   369,   369,   370,   370,
1483 <     371,   372,   374,   373,   375,   375,   376,   376,   376,   376,
1484 <     376,   376,   376,   376,   376,   377,   378,   379,   380,   382,
1485 <     381,   383,   383,   385,   384,   386,   384,   387,   387,   387,
1486 <     387,   387,   387,   387,   387,   387,   387,   388,   389,   390,
1487 <     392,   391,   393,   393,   394,   394,   394,   394,   395,   396,
1488 <     397,   399,   398,   400,   400,   401,   401,   401,   401,   402,
1489 <     403,   405,   404,   406,   406,   407,   407,   407,   407,   407,
1490 <     407,   407,   407,   407,   407,   407,   409,   408,   410,   410,
1491 <     411,   411,   411,   412,   414,   413,   415,   415,   416,   416,
1492 <     416,   416,   416,   416,   416,   416,   416,   416,   416,   418,
1493 <     417,   419,   419,   420,   420,   421,   421,   421,   421,   421,
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,   422,   423,   424,   425,   426,   427,   428,   429,   429,
1506 <     430,   432,   431,   433,   433,   435,   434,   436,   434,   437,
1507 <     437,   437,   437,   437,   438,   439,   440,   441,   442,   443,
1508 <     445,   444,   447,   446,   448,   448,   449,   450,   450,   451,
1509 <     451,   451,   451,   452,   453,   455,   454,   456,   456,   457,
1510 <     457,   457,   458,   459,   460,   461,   461,   462,   462,   463,
1511 <     465,   464,   467,   466,   468,   468,   469,   470,   470,   471,
1512 <     471,   471,   471,   472,   473,   474,   475,   475,   476,   476,
1513 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1514 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1515 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1516 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1517 <     476,   476,   476,   476,   476,   476,   476,   476,   476,   476,
1518 <     476,   476,   476,   476,   477,   478,   479,   480,   481,   482,
1519 <     483,   484,   485,   486,   487,   488,   489,   490,   491,   492,
1520 <     493,   494,   495,   496,   497,   498,   499,   500,   501,   502,
1664 <     503,   504,   504,   505,   505,   506,   507,   508,   509,   510,
1665 <     511,   512,   513,   514,   515,   516,   517,   518,   519,   520,
1666 <     521,   522,   523,   524,   525,   527,   526,   528,   528,   529,
1667 <     529,   529,   529,   529,   529,   529,   529,   529,   529,   529,
1668 <     529,   529,   529,   529,   529,   529,   529,   529,   531,   530,
1669 <     532,   532,   533,   533,   533,   533,   533,   533,   533,   533,
1670 <     533,   533,   533,   533,   533,   533,   533,   533,   533,   533,
1671 <     533,   534,   535,   536,   537,   539,   538,   540,   540,   541,
1672 <     541,   541,   541,   541,   541,   541,   542,   543,   545,   544,
1673 <     546,   546,   547,   547,   548,   549,   551,   550,   552,   552,
1674 <     553,   553,   554,   555,   555,   556,   556,   556,   556,   556,
1675 <     556,   556,   556,   556,   556,   556,   556,   556,   556,   556,
1676 <     556,   556,   556,   556,   557,   558,   559,   560,   561,   562,
1677 <     563,   564,   565,   566,   567,   568,   569,   570,   571,   572,
1678 <     573,   574,   575,   576,   576,   577,   577,   577,   577,   577,
1679 <     577,   577,   577,   578,   579,   580,   581,   582,   583,   584
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 1688 | 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,
1533 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
1693 <       4,     5,     2,     1,     1,     1,     1,     2,     4,     4,
1694 <       4,     5,     2,     1,     1,     1,     1,     1,     1,     1,
1695 <       1,     1,     1,     1,     1,     1,     2,     4,     4,     4,
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,     4,     4,     4,     4,     0,     7,     0,     1,     2,
1536 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     2,
1537 <       4,     1,     4,     4,     4,     4,     4,     0,     5,     3,
1538 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
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,
1542         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1543 <       0,     5,     3,     1,     0,     3,     0,     2,     1,     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,     0,     7,     0,     1,     2,     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,     1,     4,     4,     4,     4,
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,     0,     3,     0,     2,     1,     1,     1,
1554 <       1,     1,     1,     1,     1,     1,     1,     4,     4,     4,
1555 <       0,     6,     2,     1,     1,     1,     1,     2,     4,     4,
1556 <       4,     0,     6,     2,     1,     1,     1,     1,     2,     4,
1557 <       4,     0,     5,     3,     1,     1,     1,     1,     1,     1,
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,     1,     0,
1561 <       7,     0,     1,     2,     1,     1,     1,     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,
1722       2,     4,     1,     4,     4,     4,     4,     4,     4,     4,
1723       4,     0,     5,     3,     1,     0,     3,     0,     2,     1,
1724       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1725       0,     6,     0,     5,     3,     1,     1,     2,     1,     1,
1726       1,     1,     1,     4,     4,     0,     6,     2,     1,     1,
1727       1,     1,     4,     4,     5,     2,     1,     1,     1,     4,
1728       0,     6,     0,     5,     3,     1,     1,     2,     1,     1,
1729       1,     1,     1,     4,     4,     5,     2,     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,     1,     1,     1,
1574 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1734 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1735 <       1,     1,     1,     1,     4,     4,     4,     4,     4,     4,
1736 <       4,     4,     4,     4,     4,     4,     4,     4,     4,     4,
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,     0,     5,     3,     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,     1,     1,     1,     1,     1,     1,     1,     0,     5,
1743 <       3,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1744 <       1,     1,     1,     1,     1,     1,     1,     1,     1,     1,
1745 <       1,     4,     4,     4,     4,     0,     6,     2,     1,     1,
1746 <       1,     1,     1,     1,     1,     1,     4,     4,     0,     5,
1747 <       3,     1,     1,     1,     4,     4,     0,     5,     3,     1,
1748 <       1,     1,     5,     2,     1,     1,     1,     1,     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,     4,     4,     4,     4,     4,     4,
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,     5,     2,     1,     1,     1,     1,     1,     1,
1588 <       1,     1,     1,     4,     4,     4,     4,     4,     4,     4
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,   194,   349,   415,     0,
1597 <     430,     0,   605,   252,   400,   228,     0,     0,   125,   290,
1598 <       0,     0,   301,   326,     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,   196,
1766 <     351,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1767 <       0,   127,     0,     0,     0,     0,     0,     0,     0,     0,
1768 <       0,     0,    83,    84,    86,    85,   653,     0,     0,     0,
1769 <       0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1770 <       0,     0,     0,     0,     0,     0,   634,   652,   647,   635,
1771 <     636,   637,   638,   640,   641,   642,   643,   639,   644,   645,
1772 <     646,   648,   649,   650,   651,   215,     0,   197,   372,     0,
1773 <     352,     0,   428,     0,     0,   426,   427,     0,   503,     0,
1774 <       0,     0,     0,     0,     0,     0,     0,     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,
1602         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1603 <       0,   578,     0,   555,     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,     0,     0,     0,   447,   502,   497,   498,   495,
1606 <     499,   500,   496,   458,   448,   449,   487,   450,   451,   452,
1607 <     453,   454,   455,   456,   457,   492,   459,   460,   461,   462,
1782 <     501,   464,   469,   465,   467,   466,   481,   482,   468,   470,
1783 <     471,   472,   473,   475,   474,   463,   477,   486,   488,   489,
1784 <     478,   479,   493,   494,   491,   480,   476,   484,   485,   483,
1785 <     490,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1786 <       0,     0,     0,     0,     0,     0,     0,     0,     0,    93,
1787 <      94,    95,    98,   105,    99,   103,   100,   101,   104,   102,
1788 <      96,    97,     0,     0,     0,     0,    42,    43,    44,   141,
1789 <       0,   128,     0,   682,     0,     0,     0,     0,     0,     0,
1790 <       0,     0,   674,   675,   676,   680,   677,   679,   678,   681,
1791 <       0,     0,     0,     0,     0,     0,     0,     0,    64,     0,
1792 <       0,     0,     0,     0,    50,    62,    61,    58,    51,    60,
1793 <      54,    55,    56,    52,    59,    57,    53,     0,     0,    87,
1794 <       0,     0,     0,     0,    82,     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,
1796       0,     0,     0,     0,   633,     0,     0,   421,     0,     0,
1797       0,   418,   419,   420,     0,     0,   425,   442,     0,     0,
1798     432,   441,     0,   438,   439,   440,     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,     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 +       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,
1637         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1804       0,     0,   446,   615,   626,     0,     0,   618,     0,     0,
1805       0,   608,   609,   610,   611,   612,   613,   614,     0,     0,
1806       0,   269,     0,     0,     0,     0,     0,     0,   255,   256,
1807     257,   258,   263,   259,   260,   261,   262,   412,     0,   402,
1808       0,   411,     0,   408,   409,   410,     0,   230,     0,     0,
1809       0,   240,     0,   238,   239,   241,   242,   106,     0,     0,
1638         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1811       0,    92,    45,     0,     0,     0,    41,     0,     0,     0,
1812       0,     0,     0,   293,   294,   295,   296,     0,     0,     0,
1813       0,     0,     0,     0,     0,   673,    63,     0,     0,     0,
1639         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1640 <      49,     0,     0,   311,     0,     0,   304,   305,   306,   307,
1641 <       0,     0,   334,     0,   329,   330,   331,     0,     0,     0,
1642 <      81,     0,     0,     0,     0,     0,    26,     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 <     632,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1651 <       0,     0,     0,     0,     0,     0,   199,   200,   203,   204,
1652 <     206,   207,   208,   209,   210,   211,   212,   201,   202,   205,
1653 <       0,     0,     0,     0,     0,     0,     0,   381,     0,     0,
1654 <       0,     0,     0,     0,     0,     0,     0,   354,   355,   356,
1824 <     357,   358,   359,   361,   360,   362,   363,   368,   367,   364,
1825 <     365,   366,   369,     0,     0,     0,   417,     0,   424,     0,
1826 <       0,     0,     0,   437,     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,   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,
1660         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1661         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1831       0,     0,     0,     0,     0,    34,     0,     0,     0,     0,
1832       0,     0,   445,     0,     0,     0,     0,     0,     0,     0,
1833     607,   264,     0,     0,     0,     0,     0,     0,     0,     0,
1834       0,   254,     0,     0,     0,     0,   407,   243,     0,     0,
1835       0,     0,     0,   237,     0,     0,     0,     0,     0,     0,
1662         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1837       0,     0,    91,     0,     0,    40,     0,     0,     0,   170,
1838       0,     0,     0,   147,     0,     0,   130,   131,   132,   133,
1839     136,   137,   135,   134,   138,   297,     0,     0,     0,     0,
1840     292,     0,     0,     0,     0,     0,     0,     0,   672,     0,
1663         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1664 <       0,    48,   308,     0,     0,     0,     0,   303,   332,     0,
1665 <       0,     0,   328,    90,    89,    88,   669,   666,   665,   654,
1666 <     656,    26,    26,    26,    26,    26,    28,    27,   660,   661,
1667 <     664,   662,   667,   668,   670,   671,   663,   655,   657,   658,
1668 <     659,   213,     0,     0,     0,     0,     0,     0,     0,     0,
1669 <       0,     0,     0,     0,     0,     0,   198,   370,     0,     0,
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,   353,     0,     0,   416,   429,     0,
1679 <       0,     0,   431,   516,   520,   507,   536,   549,   548,   603,
1680 <     553,   514,   545,   551,   515,   505,   506,   523,   512,   544,
1681 <     513,   526,   511,   525,   524,   519,   518,   517,   546,   504,
1682 <     543,   601,   602,   540,   537,   582,   598,   599,   583,   584,
1683 <     585,   586,   593,   587,   596,   600,   589,   594,   590,   595,
1684 <     588,   592,   591,   597,     0,   581,   542,   559,   575,   576,
1685 <     560,   561,   562,   563,   570,   564,   573,   577,   566,   571,
1686 <     567,   572,   565,   569,   568,   574,     0,   558,   535,   538,
1687 <     552,   509,   547,   510,   539,   528,   533,   534,   531,   532,
1688 <     529,   530,   522,   521,    34,    34,    34,    36,    35,   604,
1689 <     554,   541,   550,   508,   527,     0,     0,     0,     0,     0,
1690 <       0,   606,     0,     0,   275,     0,     0,     0,     0,     0,
1691 <     253,     0,     0,     0,   401,     0,     0,     0,   248,   244,
1692 <     247,   229,   110,   116,   114,   113,   115,   111,   112,   109,
1693 <     117,   123,   118,   122,   120,   121,   119,   108,   107,   124,
1694 <      46,    47,   139,     0,     0,     0,     0,     0,     0,     0,
1695 <       0,     0,   129,     0,     0,     0,   291,   688,   683,   687,
1696 <     685,   689,   684,   686,    74,    80,    72,    76,    75,    71,
1697 <      70,    68,    69,     0,    67,    73,    79,    77,    78,     0,
1698 <       0,     0,   302,     0,     0,   327,    29,    30,    31,    32,
1699 <      33,     0,     0,     0,     0,     0,     0,     0,     0,     0,
1700 <       0,     0,     0,     0,   195,     0,     0,     0,     0,     0,
1701 <       0,     0,   387,     0,     0,     0,     0,     0,     0,     0,
1702 <       0,   350,   422,   423,   443,   444,   436,     0,   435,   579,
1703 <       0,   556,     0,    37,    38,    39,   631,   630,     0,   629,
1704 <     617,   616,   623,   622,     0,   621,   625,   624,   267,   268,
1705 <     273,     0,   272,     0,   266,   289,   288,   287,   265,   414,
1706 <     406,     0,   405,   413,   235,   236,   234,     0,   233,   251,
1707 <     250,     0,     0,     0,     0,     0,   176,     0,     0,     0,
1708 <       0,     0,   126,   299,   300,   298,    65,     0,   309,   315,
1709 <     321,   325,   324,   323,   320,   316,   319,   322,   317,   318,
1710 <       0,   314,   310,   333,   338,   344,   348,   347,   346,   343,
1711 <     339,   342,   345,   340,   341,     0,   337,   225,   226,   219,
1712 <     221,   223,   222,   220,   214,   227,   218,   216,   217,   224,
1713 <     376,   378,   379,   399,   398,   395,   380,   385,     0,   384,
1714 <       0,   373,   396,   397,   371,   377,   394,   375,   374,   433,
1715 <       0,   580,   557,   627,     0,   619,     0,     0,   270,   275,
1716 <     281,   282,   278,   284,   280,   279,   286,   283,   285,   277,
1717 <     276,   403,     0,   231,     0,   249,   246,   245,   146,   144,
1718 <     174,     0,   173,     0,   140,   143,   145,   151,   167,   168,
1890 <     152,   153,   154,   155,   162,   156,   165,   169,   158,   163,
1891 <     159,   164,   157,   161,   160,   166,     0,   150,   142,    66,
1892 <     312,     0,   335,     0,     0,   382,   387,   391,   392,   389,
1893 <     390,   393,   388,   434,   628,   620,   274,   271,   404,   232,
1894 <       0,   171,   176,   186,   184,   193,   183,   178,   187,   191,
1895 <     180,   188,   190,   185,   179,   192,   189,   181,   182,   177,
1896 <     148,     0,   313,   336,   386,   383,   175,   172,   149
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,   836,   837,   987,   988,    25,   275,   276,
1725 <     277,   278,    26,   313,   314,   315,   534,  1073,  1074,   316,
1726 <     317,   318,   319,   320,   321,   322,   323,   324,   325,   326,
1727 <      27,    71,    72,    73,    74,    75,    28,   258,   259,   260,
1728 <     261,   262,   263,   264,   265,   266,   267,   268,   269,   270,
1729 <     271,    29,    61,   280,   775,   776,   777,   281,   778,   779,
1730 <     780,   781,   782,   783,  1049,  1306,  1307,   784,  1045,  1281,
1731 <    1282,  1330,  1283,  1349,    30,    49,   116,   595,   596,   597,
1732 <     117,   598,   599,   600,   601,   602,   603,   604,   605,   606,
1733 <     607,   608,   609,    31,    58,   481,   738,  1167,  1168,   482,
1734 <     483,   484,  1173,  1019,  1020,   485,   486,    32,    56,   457,
1735 <     458,   459,   460,   461,   462,   463,   724,  1151,  1152,  1257,
1736 <    1153,  1270,   464,   465,   466,    33,    62,   512,   513,   514,
1737 <     515,   516,    34,    65,   545,   546,   547,   548,   549,   814,
1738 <    1200,  1201,    35,    66,   553,   554,   555,   556,   820,  1215,
1739 <    1216,    36,    50,   119,   626,   627,   628,   120,   629,   630,
1740 <     631,   632,   633,   634,   635,   636,   874,  1238,  1239,  1314,
1741 <    1240,  1322,   637,   638,   639,   640,   641,   642,    37,    57,
1742 <     471,   733,  1161,  1162,   472,   473,   474,   475,    38,    51,
1743 <     360,   361,   362,   363,    39,   124,   125,   126,    40,    53,
1744 <     371,   651,  1127,  1128,   372,   373,   374,   375,    41,   184,
1745 <     185,   186,   187,   188,   189,   190,   191,   192,   193,   194,
1746 <     195,   196,   197,   198,   199,   200,   201,   202,   203,   204,
1747 <     205,   206,   207,   208,   209,   210,   211,   212,   213,   214,
1748 <     215,   216,   217,   218,   219,   220,   221,   222,   223,   224,
1749 <     225,   226,   227,   228,   229,   230,   231,   232,   233,   234,
1750 <     235,   410,   966,   967,   236,   408,   944,   945,   237,   238,
1751 <     239,   240,    42,    55,   440,   441,   442,   443,   444,   716,
1752 <    1144,  1145,   445,   446,   447,   713,  1138,  1139,    43,    95,
1931 <      96,    97,    98,    99,   100,   101,   102,   103,   104,   105,
1932 <     106,   107,   108,   109,   110,   111,   112,   113,   114,    44,
1933 <     291,   292,   293,   294,   295,   296,   297,   298,   299
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 -944
1757 > #define YYPACT_NINF -744
1758   static const yytype_int16 yypact[] =
1759   {
1760 <    -944,   692,  -944,  -105,  -257,  -249,  -944,  -944,  -944,  -236,
1761 <    -944,  -215,  -944,  -944,  -944,  -944,  -212,  -210,  -944,  -944,
1762 <    -193,  -184,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1763 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1764 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,     7,   605,   -69,
1765 <     -64,  -166,     8,  -151,   420,  -134,  -124,  -101,   -95,   417,
1766 <       4,    27,   -60,   309,   467,   -52,   -39,   -14,    -9,    -6,
1767 <      11,     9,  -944,  -944,  -944,  -944,  -944,    41,    43,    53,
1768 <      63,    72,    74,    85,    94,    95,    96,    97,    99,   102,
1769 <     105,   106,   107,   108,   109,   142,  -944,  -944,  -944,  -944,
1770 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1771 <    -944,  -944,  -944,  -944,  -944,  -944,    22,  -944,  -944,    61,
1772 <    -944,   147,  -944,   111,    20,  -944,  -944,    30,  -944,   112,
1773 <     113,   115,   116,   118,   121,   128,   139,   141,   143,   144,
1774 <     146,   148,   149,   150,   151,   152,   155,   158,   159,   161,
1775 <     162,   167,   170,   173,   176,   178,   179,   180,   182,   187,
1776 <     193,  -944,   194,  -944,   196,   198,   201,   217,   219,   220,
1777 <     221,   222,   223,   224,   225,   226,   230,   231,   236,   237,
1778 <     238,   241,   246,   253,    49,  -944,  -944,  -944,  -944,  -944,
1779 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1780 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1781 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1782 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1783 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1784 <    -944,   333,   519,    24,   172,    80,   254,   255,   260,   263,
1785 <     265,   269,   276,   277,   278,   280,   282,   283,    46,  -944,
1786 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1787 <    -944,  -944,   145,   284,   286,    21,  -944,  -944,  -944,  -944,
1788 <     126,  -944,    77,  -944,   287,   289,   290,   291,   293,   298,
1789 <     305,    34,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1790 <     156,   307,   308,   310,   312,   313,   314,   315,  -944,   316,
1791 <     319,   320,   321,   199,  -944,  -944,  -944,  -944,  -944,  -944,
1792 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,    25,    31,  -944,
1793 <     257,   281,   432,   328,  -944,   396,   163,   466,   401,   402,
1794 <     469,   469,   470,   472,   409,   410,   478,   469,   414,   421,
1795 <     422,   425,   427,   365,  -944,   664,   444,  -944,   363,   364,
1796 <      32,  -944,  -944,  -944,   475,   370,  -944,  -944,   368,   374,
1797 <    -944,  -944,     3,  -944,  -944,  -944,   436,   469,   443,   469,
1798 <     510,   489,   512,   448,   450,   517,   496,   454,   523,   525,
1799 <     526,   462,   469,   463,   468,   469,   514,   471,   540,   541,
1800 <     469,   542,   546,   528,   547,   552,   487,   491,   426,   498,
1801 <     434,   469,   469,   501,   469,   550,   508,   511,   515,    81,
1802 <     153,   518,   521,   469,   469,   583,   469,   522,   524,   527,
1803 <     531,   456,  -944,  -944,  -944,   473,   474,  -944,   476,   477,
1804 <      14,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   465,   480,
1805 <     481,  -944,   482,   483,   484,   488,   490,   171,  -944,  -944,
1806 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   494,  -944,
1807 <     497,  -944,    19,  -944,  -944,  -944,   492,  -944,   500,   506,
1808 <     507,  -944,   125,  -944,  -944,  -944,  -944,  -944,   576,   577,
1809 <     580,   582,   585,   588,   597,   608,   175,   611,   622,   581,
1810 <     520,  -944,  -944,   624,   626,   529,  -944,   538,   530,   532,
1811 <     533,   536,     2,  -944,  -944,  -944,  -944,   586,   590,   591,
1812 <     638,   596,   603,   469,   543,  -944,  -944,   651,   609,   659,
1813 <     660,   663,   665,   666,   558,   669,   694,   670,   673,   567,
1814 <    -944,   569,   568,  -944,   570,    28,  -944,  -944,  -944,  -944,
1815 <     574,   572,  -944,    10,  -944,  -944,  -944,   578,   579,   584,
1816 <    -944,   587,   589,   594,   602,   604,   169,   606,   607,   610,
1817 <     615,   616,   627,   631,   632,   634,   635,   636,   637,   639,
1818 <    -944,   640,   573,   621,   643,   647,   648,   650,   658,   661,
1819 <     668,   671,   672,   674,   676,   205,  -944,  -944,  -944,  -944,
1820 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1821 <     641,   680,   684,   685,   687,   688,   695,  -944,   698,   702,
1822 <     703,   705,   706,   707,   708,   709,   168,  -944,  -944,  -944,
1823 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1824 <    -944,  -944,  -944,   677,   690,   642,  -944,   654,  -944,   693,
1825 <     697,   710,   678,  -944,   714,   715,   716,   720,   724,   725,
1826 <     727,   728,   730,   731,   732,   733,   734,   735,   736,   737,
1827 <     738,   739,   740,   741,   742,   743,   744,   745,   746,   747,
1828 <     748,   750,   751,   752,   753,   754,   675,   755,   712,   756,
1829 <     757,   758,   759,   760,   761,   762,   763,   764,   765,   766,
1830 <     767,   768,   769,   770,   771,   317,   772,   773,   774,   775,
1831 <     776,   777,  -944,   778,   469,   644,   779,   721,   780,   783,
1832 <    -944,  -944,   856,   701,   781,   885,   717,   886,   887,   892,
1833 <     786,  -944,   894,   785,   896,   790,  -944,  -944,   788,   899,
1834 <     900,   797,   794,  -944,   795,   796,   798,   799,   800,   801,
1835 <     802,   803,   804,   805,   806,   807,   808,   809,   810,   811,
1836 <     812,   813,  -944,   814,   815,  -944,   816,   817,   818,  -944,
1837 <     819,   820,   821,  -944,   822,    93,  -944,  -944,  -944,  -944,
1838 <    -944,  -944,  -944,  -944,  -944,  -944,   904,   924,   925,   826,
1839 <    -944,   827,   828,   829,   830,   831,   832,   833,  -944,   834,
1840 <     835,   836,   837,   838,   839,   840,    60,   841,   842,   843,
1841 <     844,  -944,  -944,   926,   845,   952,   846,  -944,  -944,   954,
1842 <     847,   849,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1843 <    -944,   469,   469,   469,   469,   469,  -944,  -944,  -944,  -944,
1844 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1845 <    -944,  -944,   980,   981,   469,   982,   983,   984,   985,   964,
1846 <     987,   988,   469,   469,   583,   860,  -944,  -944,   968,   136,
1847 <     969,   970,   927,   972,   863,   974,   975,   976,   977,  1000,
1848 <     979,   986,   989,   873,  -944,   874,   875,  -944,  -944,   876,
1849 <     877,   679,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1850 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1851 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1852 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1853 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1854 <    -944,  -944,  -944,  -944,  -248,  -944,  -944,  -944,  -944,  -944,
1855 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1856 <    -944,  -944,  -944,  -944,  -944,  -944,  -242,  -944,  -944,  -944,
1857 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1858 <    -944,  -944,  -944,  -944,   583,   583,   583,  -944,  -944,  -944,
1859 <    -944,  -944,  -944,  -944,  -944,     1,   878,   880,     5,   881,
1860 <     883,  -944,   884,   888,  1015,   889,   890,   891,   893,   895,
1861 <    -944,   897,   682,   898,  -944,    56,   901,   902,   649,   601,
1862 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1863 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1864 <    -944,  -944,  -944,   993,   950,   903,   999,  1001,  1003,   905,
1865 <    1006,   907,  -944,   909,   910,   911,  -944,  -944,  -944,  -944,
1866 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1867 <    -944,  -944,  -944,  -227,  -944,  -944,  -944,  -944,  -944,   912,
1868 <     563,   913,  -944,   914,   614,  -944,  -944,  -944,  -944,  -944,
1869 <    -944,   915,   916,   917,   918,   919,   920,   921,   922,   923,
1870 <     928,   929,   930,   931,  -944,   932,   933,   934,   935,   936,
1871 <     937,   938,  1030,   939,   940,   941,   942,   943,   944,   945,
1872 <     946,  -944,  -944,  -944,  -944,  -944,  -944,  -225,  -944,  -944,
1873 <     675,  -944,   712,  -944,  -944,  -944,  -944,  -944,  -192,  -944,
1874 <    -944,  -944,  -944,  -944,  -185,  -944,  -944,  -944,  -944,  -944,
1875 <    -944,  -174,  -944,   633,  -944,  -944,  -944,  -944,  -944,  -944,
1876 <    -944,  -165,  -944,  -944,  -944,  -944,  -944,  -147,  -944,  -944,
1877 <    -944,  1032,   797,   947,   948,   949,  1034,   951,   953,   955,
1878 <     749,   956,  -944,  -944,  -944,  -944,  -944,    60,  -944,  -944,
1879 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1880 <     -57,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1881 <    -944,  -944,  -944,  -944,  -944,   -38,  -944,  -944,  -944,  -944,
1882 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2064 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,    -8,  -944,
2065 <      18,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2066 <     679,  -944,  -944,  -944,     1,  -944,     5,   633,  -944,  1015,
2067 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2068 <    -944,  -944,   682,  -944,    56,  -944,  -944,  -944,  -944,  -944,
2069 <    -944,    37,  -944,   433,  -944,  -944,  -944,  -944,  -944,  -944,
2070 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2071 <    -944,  -944,  -944,  -944,  -944,  -944,    51,  -944,  -944,  -944,
2072 <    -944,   563,  -944,   614,    18,  -944,  1030,  -944,  -944,  -944,
2073 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2074 <     433,  -944,  1034,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2075 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2076 <    -944,   749,  -944,  -944,  -944,  -944,  -944,  -944,  -944
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 <    -944,  -944,  -944,  -768,  -340,  -943,  -423,  -944,  -944,   571,
1889 <    -944,  -944,  -944,  -944,   556,  -944,  -944,  -944,  -317,  -944,
1890 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1891 <    -944,  -944,   859,  -944,  -944,  -944,  -944,  -944,   908,  -944,
1892 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1893 <    -944,  -944,  -944,  -944,  -944,   411,  -944,  -944,  -944,  -944,
1894 <    -944,  -944,  -944,  -944,  -944,  -944,  -418,  -944,  -944,  -944,
1895 <    -395,  -944,  -944,  -145,  -944,  -944,  -944,  -944,   592,  -944,
1896 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1897 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   -86,  -944,
1898 <     729,  -944,  -944,  -944,    47,  -944,  -944,  -944,  -944,  -944,
1899 <     782,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   -46,  -944,
1900 <    -944,   -42,  -944,  -944,  -944,  -944,  -944,  -944,   711,  -944,
1901 <    -944,  -944,  -944,  -944,  -944,   681,  -944,  -944,  -944,  -944,
1902 <    -944,   -93,  -944,  -944,  -944,   667,  -944,  -944,  -944,  -944,
1903 <     -92,  -944,  -944,  -944,  -944,   598,  -944,  -944,  -944,  -944,
1904 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,   -94,  -944,
1905 <    -944,   -89,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1906 <    -944,  -944,  -944,   -45,  -944,   784,  -944,  -944,  -944,  -944,
1907 <    -944,   868,  -944,  -944,  -944,  -944,  1105,  -944,  -944,  -944,
1908 <    -944,  -944,  -944,   -20,  -944,   861,  -944,  -944,  -944,  -944,
1909 <    1047,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1910 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1911 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1912 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1913 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
1914 <    -944,  -944,  -944,   100,  -944,  -944,  -944,   104,  -944,  -944,
1915 <    -944,  -944,  -944,  -944,  -944,   823,  -944,  -944,  -944,  -944,
1916 <    -944,   -21,  -944,  -944,  -944,  -944,  -944,   -18,  -944,  -944,
2111 <    1142,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2112 <    -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,  -944,
2113 <    -944,   957,  -944,  -944,  -944,  -944,  -944,  -944,  -944
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
2121 < 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 <     567,   568,   706,   508,   367,   272,    47,   574,    67,   122,
1926 <      67,   550,  1136,  1129,    48,   433,  1142,  1130,   434,  1131,
1927 <     467,   122,   272,  1132,   509,   467,   541,    52,  1317,   541,
1928 <    1318,   367,   550,   357,  1186,   283,  1249,   655,  1187,   657,
1929 <    1250,  1133,  1134,  1135,    68,  1319,    68,   245,    54,  1320,
1930 <     128,    59,   670,    60,    69,   673,    69,   129,   130,   435,
1931 <     678,   131,   436,  1086,  1087,  1088,  1089,  1090,   132,  1253,
1932 <      63,   689,   690,  1254,   692,   284,  1255,   133,   508,    64,
1933 <    1256,   134,   135,   703,   704,   115,   707,  1258,   136,   285,
1934 <     118,  1259,   137,   138,   766,   139,  1271,   121,   123,   509,
1935 <    1272,   140,   246,   247,   248,   249,   250,   251,   252,   253,
1936 <     123,   286,   127,   287,  1273,   288,   289,   437,  1274,   767,
1937 <     141,   142,   358,   273,   368,   143,   476,   510,    70,   241,
1938 <      70,   551,   144,  1164,   290,   438,   145,   146,   147,   242,
1939 <     273,   148,   768,    76,   149,   150,   542,   769,   357,   542,
1940 <     254,   368,   551,   274,   151,    77,    45,    46,   511,   369,
1941 <     152,   153,   243,   154,   155,   156,   157,   158,   244,   610,
1942 <     274,   611,   448,   476,   612,   468,    78,    79,   159,   477,
1943 <     468,   279,    80,   797,    81,   255,   369,   160,   359,   161,
1944 <     162,   370,   163,   613,   614,   164,   165,   449,   552,   166,
1945 <     300,  1137,   510,   282,  1310,  1143,   581,   469,  1311,   478,
1946 <     167,   327,   469,   543,   770,   479,   543,   615,   370,   552,
1947 <     450,   616,   617,  1312,   328,   451,   477,  1313,   582,   583,
1948 <    1071,  1072,   168,   511,   169,   584,   301,   358,   170,    82,
1949 <      83,   771,   171,   172,   173,   174,   175,   329,    84,    85,
1950 <     176,   177,   618,  1315,   619,   330,   478,  1316,   331,   178,
1951 <     772,  1321,   479,   439,   789,   652,   256,   620,   470,    86,
1952 <      87,   333,   821,   470,   544,   332,   719,   544,   480,   697,
1953 <     698,   735,   365,   505,   302,   355,    88,    89,  1165,   621,
1954 <     816,   179,  1166,   180,   645,   562,   524,    90,  1331,   181,
1955 <     257,   566,  1332,   359,   182,   335,    91,   336,   500,   183,
1956 <     283,   431,  1350,   585,   586,   587,  1351,   337,   588,   452,
1957 <     303,   622,   304,   305,   356,   480,   589,   338,   453,   454,
1958 <     773,   984,   985,   986,   433,   623,   339,   434,   340,   590,
1959 <     591,   487,   774,   831,   832,   833,   834,   835,   624,   341,
1960 <     284,   699,   700,  1106,  1107,  1051,   592,   593,   342,   343,
1961 <     344,   345,   455,   346,   285,   306,   347,   307,   308,   348,
1962 <     349,   350,   351,   352,   996,   364,   376,   377,   435,   378,
1963 <     379,   436,   380,   309,   594,   381,   286,   742,   287,   507,
1964 <     288,   289,   382,    92,    93,    94,   752,   753,   754,   755,
1965 <     756,   757,   758,   383,   353,   384,   502,   385,   386,   290,
1966 <     387,   557,   388,   389,   390,   391,   392,   526,   245,   393,
1967 <     456,   128,   394,   395,   625,   396,   397,   310,   129,   130,
1968 <     883,   398,   131,   730,   399,   558,   437,   400,  1333,   132,
1969 <     401,  1103,   402,   403,   404,   610,   405,   611,   133,   705,
1970 <     612,   406,   134,   135,   438,   311,   312,   407,   409,   136,
1971 <     411,   539,   412,   137,   138,   413,   139,   865,   300,   613,
1972 <     614,  1334,   140,   246,   247,   248,   249,   250,   251,   252,
1973 <     253,   414,  1335,   415,   416,   417,   418,   419,   420,   421,
1974 <     422,   141,   142,   615,   423,   424,   143,   616,   617,  1336,
1975 <     425,   426,   427,   144,   301,   428,  1337,   145,   146,   147,
1976 <     429,  1338,   148,  1339,  1093,   149,   150,   430,   488,   489,
1977 <     448,   254,  1101,  1102,   490,   151,  1340,   491,   618,   492,
1978 <     619,   152,   153,   493,   154,   155,   156,   157,   158,   766,
1979 <     494,   495,   496,   620,   497,   449,   498,   499,   503,   159,
1980 <     504,   517,   302,   518,   519,   520,   255,   521,   160,  1341,
1981 <     161,   162,   522,   163,   767,   621,   164,   165,   450,   523,
1982 <     166,   527,   528,   451,   529,  1342,   530,   531,   532,   533,
1983 <     535,   167,   439,   536,   537,   538,   559,   768,   303,   560,
1984 <     304,   305,   769,  1343,   561,  1344,  1345,   622,   563,   564,
1985 <     565,   566,   569,   168,   570,   169,    76,   571,   572,   170,
1986 <     573,   623,   575,   171,   172,   173,   174,   175,    77,   576,
1987 <     577,   176,   177,   578,   624,   579,   580,   643,   644,   647,
1988 <     178,   648,   649,   306,   654,   307,   308,   256,   650,    78,
1989 <      79,   656,   658,   659,   660,    80,   661,    81,   662,   663,
1990 <     664,   309,   665,  1260,  1261,   666,  1189,   667,   668,   770,
1991 <     669,   671,   179,  1346,   180,   581,   672,   452,   674,   675,
1992 <     181,   257,   676,   677,   679,   182,   453,   454,   680,   682,
1993 <     183,  1347,   681,  1262,   683,   684,   771,   582,   583,   685,
1994 <     686,  1348,     2,     3,   584,   310,   687,     4,   688,   691,
1995 <     625,  1263,    82,    83,   693,   772,   694,  1204,  1264,   695,
1996 <     455,    84,    85,   696,     5,   705,   701,   712,     6,   702,
1997 <     708,     7,   709,   311,   312,   710,   721,  1265,     8,   711,
1998 <     744,   745,    86,    87,   746,  1190,   747,   714,   715,   748,
1999 <     717,   718,   749,     9,   722,   723,   725,   726,   727,    88,
2000 <      89,   750,   728,   737,   729,  1266,    10,    11,   732,    12,
2001 <      90,   734,   751,  1267,   739,   759,    13,  1191,   456,    91,
2002 <     740,   741,   585,   586,   587,   773,   760,   588,   763,   761,
2003 <     764,   762,  1192,    14,   791,   589,  1205,   774,   792,   793,
2004 <     765,   785,   794,    15,   795,    16,   786,   787,   590,   591,
2005 <     788,   796,  1193,  1194,   798,   799,  1268,   800,  1195,  1196,
2006 <    1197,  1198,    17,   801,   802,   592,   593,   803,  1206,   804,
2007 <     805,  1199,   806,   807,   809,  1269,   808,   810,   811,    18,
2008 <     812,   885,   813,  1207,   815,   818,   819,   852,  1126,   823,
2009 <     824,  1160,   997,   594,   886,   825,   506,   889,   826,  1006,
2010 <     827,   890,  1171,  1208,  1209,   828,    92,    93,    94,  1210,
2011 <    1211,  1212,  1213,   829,    19,   830,  1172,   838,   839,   540,
2012 <    1309,   840,  1214,    20,    21,   999,   841,   842,    22,    23,
2013 <     925,   926,   927,   928,   929,   853,   930,   931,   843,   932,
2014 <     933,   934,   844,   845,   935,   846,   847,   848,   849,  1003,
2015 <     850,   851,   867,   887,   936,   937,   938,   854,   939,   940,
2016 <     941,   855,   856,   942,   857,   888,   943,   947,   948,   949,
2017 <     950,   951,   858,   952,   953,   859,   954,   955,   956,  1018,
2018 <     334,   957,   860,  1358,  1000,   861,   862,  1357,   863,   892,
2019 <     864,   958,   959,   960,   868,   961,   962,   963,   869,   870,
2020 <     964,   871,   872,   965,  1287,  1288,  1289,  1290,  1291,   873,
2021 <    1292,  1293,   875,  1294,  1295,  1296,   876,   877,  1297,   878,
2022 <     879,   880,   881,   882,   891,   893,   894,   895,  1298,  1299,
2023 <    1300,   896,  1301,  1302,  1303,   897,   898,  1304,   899,   900,
2024 <    1305,   901,   902,   903,   904,   905,   906,   907,   908,   909,
2025 <     910,   911,   912,   913,   914,   915,   916,   917,   918,   919,
2026 <    1002,   920,   921,   922,   923,   924,   946,   968,   969,   970,
2027 <     971,   972,   973,   974,   975,   976,   977,   978,   979,   980,
2028 <     981,   982,   983,   989,   990,   991,   992,   993,   994,  1005,
2029 <    1007,  1008,   995,   998,  1001,  1004,  1009,  1010,  1011,  1012,
2030 <    1013,  1014,  1015,  1016,  1017,  1021,  1022,  1023,  1053,  1024,
2031 <    1025,  1026,  1027,  1028,  1029,  1030,  1031,  1032,  1033,  1034,
2032 <    1035,  1036,  1037,  1038,  1039,  1040,  1041,  1042,  1054,  1055,
2033 <    1079,  1043,  1044,  1046,  1047,  1048,  1050,  1056,  1057,  1058,
2034 <    1059,  1060,  1061,  1062,  1063,  1064,  1065,  1066,  1067,  1068,
2035 <    1069,  1070,  1075,  1076,  1077,  1078,  1081,  1082,  1083,  1080,
2036 <    1085,  1084,  1091,  1092,  1094,  1095,  1096,  1097,  1098,  1099,
2037 <    1100,  1104,  1105,  1108,  1109,  1110,  1111,  1112,  1113,  1114,
2038 <    1115,  1116,  1117,  1118,  1121,  1122,  1123,  1124,  1125,  1140,
2039 <    1119,  1141,  1146,  1120,  1147,  1148,  1150,  1174,  1175,  1149,
2040 <    1154,  1155,  1156,  1177,  1157,  1178,  1158,  1179,  1159,  1163,
2041 <    1181,  1237,  1169,  1170,  1275,  1280,   501,  1176,  1182,  1180,
2042 <    1183,  1184,  1185,  1188,  1202,  1203,  1217,  1218,  1219,  1220,
2043 <    1221,  1222,  1223,  1224,  1225,  1356,  1052,   866,  1329,  1226,
2044 <    1227,  1228,  1229,  1230,  1231,  1232,  1233,  1234,  1235,  1236,
2045 <    1241,  1242,  1243,  1244,  1245,  1246,  1247,  1248,  1277,  1278,
2244 <    1279,   743,  1284,  1327,  1285,  1326,  1286,  1308,  1352,  1276,
2245 <     822,  1353,  1355,   790,   884,  1354,   817,  1328,   646,   366,
2246 <    1323,   432,  1252,   653,  1251,  1325,  1324,   354,     0,   731,
2247 <       0,     0,     0,     0,     0,     0,     0,     0,   525,     0,
2248 <       0,     0,     0,     0,     0,     0,   736,     0,     0,     0,
2249 <       0,     0,     0,   720
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,     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 <     340,   341,   425,     1,     1,     1,   263,   347,     1,     1,
2057 <       1,     1,    11,   261,   263,     1,    11,   265,     4,   261,
2058 <       1,     1,     1,   265,    22,     1,     1,   263,    10,     1,
2059 <      12,     1,     1,     1,   261,     1,   261,   377,   265,   379,
2060 <     265,   984,   985,   986,    37,    27,    37,     1,   263,    31,
2061 <       1,   263,   392,   263,    47,   395,    47,     8,     9,    45,
2062 <     400,    12,    48,   831,   832,   833,   834,   835,    19,   261,
2063 <     263,   411,   412,   265,   414,    41,   261,    28,     1,   263,
2064 <     265,    32,    33,   423,   424,   154,   426,   261,    39,    55,
2065 <     154,   265,    43,    44,     1,    46,   261,   263,    90,    22,
2066 <     265,    52,    56,    57,    58,    59,    60,    61,    62,    63,
2067 <      90,    77,   263,    79,   261,    81,    82,   103,   265,    26,
2068 <      71,    72,    90,   119,   121,    76,     1,   125,   121,   263,
2069 <     121,   121,    83,    77,   100,   121,    87,    88,    89,   263,
2070 <     119,    92,    49,     1,    95,    96,   121,    54,     1,   121,
2071 <     104,   121,   121,   149,   105,    13,   261,   262,   156,   156,
2072 <     111,   112,   263,   114,   115,   116,   117,   118,   263,     1,
2073 <     149,     3,     1,     1,     6,   156,    34,    35,   129,    54,
2074 <     156,   154,    40,   523,    42,   139,   156,   138,   156,   140,
2075 <     141,   188,   143,    25,    26,   146,   147,    26,   188,   150,
2076 <       1,   200,   125,   263,   261,   200,     1,   188,   265,    84,
2077 <     161,   263,   188,   188,   121,    90,   188,    49,   188,   188,
2078 <      49,    53,    54,   261,   263,    54,    54,   265,    23,    24,
2079 <     170,   171,   183,   156,   185,    30,    37,    90,   189,    97,
2080 <      98,   148,   193,   194,   195,   196,   197,   261,   106,   107,
2081 <     201,   202,    84,   261,    86,   264,    84,   265,   264,   210,
2082 <     167,   243,    90,   249,   262,   262,   220,    99,   249,   127,
2083 <     128,   262,   262,   249,   249,   264,   262,   249,   153,   198,
2084 <     199,   262,   262,   262,    85,   263,   144,   145,   232,   121,
2085 <     262,   242,   236,   244,   262,   132,   262,   155,   261,   250,
2086 <     254,   132,   265,   156,   255,   264,   164,   264,   262,   260,
2087 <       1,   262,   261,   108,   109,   110,   265,   264,   113,   148,
2088 <     121,   153,   123,   124,   263,   153,   121,   264,   157,   158,
2089 <     237,    14,    15,    16,     1,   167,   264,     4,   264,   134,
2090 <     135,   261,   249,   174,   175,   176,   177,   178,   180,   264,
2091 <      41,   198,   199,   217,   218,   262,   151,   152,   264,   264,
2092 <     264,   264,   191,   264,    55,   166,   264,   168,   169,   264,
2093 <     264,   264,   264,   264,   714,   264,   264,   264,    45,   264,
2094 <     264,    48,   264,   184,   179,   264,    77,   262,    79,   263,
2095 <      81,    82,   264,   251,   252,   253,   221,   222,   223,   224,
2096 <     225,   226,   227,   264,   262,   264,   261,   264,   264,   100,
2097 <     264,   154,   264,   264,   264,   264,   264,   261,     1,   264,
2098 <     249,     1,   264,   264,   256,   264,   264,   228,     8,     9,
2099 <     262,   264,    12,   262,   264,   154,   103,   264,     5,    19,
2100 <     264,   864,   264,   264,   264,     1,   264,     3,    28,   132,
2101 <       6,   264,    32,    33,   121,   256,   257,   264,   264,    39,
2102 <     264,   262,   264,    43,    44,   264,    46,   262,     1,    25,
2103 <      26,    38,    52,    56,    57,    58,    59,    60,    61,    62,
2104 <      63,   264,    49,   264,   264,   264,   264,   264,   264,   264,
2105 <     264,    71,    72,    49,   264,   264,    76,    53,    54,    66,
2106 <     264,   264,   264,    83,    37,   264,    73,    87,    88,    89,
2107 <     264,    78,    92,    80,   854,    95,    96,   264,   264,   264,
2108 <       1,   104,   862,   863,   264,   105,    93,   264,    84,   264,
2109 <      86,   111,   112,   264,   114,   115,   116,   117,   118,     1,
2110 <     264,   264,   264,    99,   264,    26,   264,   264,   264,   129,
2111 <     264,   264,    85,   264,   264,   264,   139,   264,   138,   126,
2112 <     140,   141,   264,   143,    26,   121,   146,   147,    49,   264,
2113 <     150,   264,   264,    54,   264,   142,   264,   264,   264,   264,
2114 <     264,   161,   249,   264,   264,   264,   154,    49,   121,   261,
2115 <     123,   124,    54,   160,   198,   162,   163,   153,   132,   198,
2116 <     198,   132,   132,   183,   132,   185,     1,   198,   198,   189,
2117 <     132,   167,   198,   193,   194,   195,   196,   197,    13,   198,
2118 <     198,   201,   202,   198,   180,   198,   261,   264,   264,   154,
2119 <     210,   261,   264,   166,   198,   168,   169,   220,   264,    34,
2120 <      35,   198,   132,   154,   132,    40,   198,    42,   198,   132,
2121 <     154,   184,   198,    20,    21,   132,    93,   132,   132,   121,
2122 <     198,   198,   242,   230,   244,     1,   198,   148,   154,   198,
2123 <     250,   254,   132,   132,   132,   255,   157,   158,   132,   132,
2124 <     260,   248,   154,    50,   132,   198,   148,    23,    24,   198,
2125 <     264,   258,     0,     1,    30,   228,   198,     5,   264,   198,
2126 <     256,    68,    97,    98,   154,   167,   198,    93,    75,   198,
2127 <     191,   106,   107,   198,    22,   132,   198,   261,    26,   198,
2128 <     198,    29,   198,   256,   257,   198,   261,    94,    36,   198,
2129 <     154,   154,   127,   128,   154,   172,   154,   264,   264,   154,
2130 <     264,   264,   154,    51,   264,   264,   264,   264,   264,   144,
2131 <     145,   154,   264,   261,   264,   122,    64,    65,   264,    67,
2132 <     155,   264,   154,   130,   264,   154,    74,   204,   249,   164,
2133 <     264,   264,   108,   109,   110,   237,   154,   113,   154,   198,
2134 <     154,   261,   219,    91,   198,   121,   172,   249,   198,   198,
2135 <     261,   261,   154,   101,   198,   103,   264,   264,   134,   135,
2136 <     264,   198,   239,   240,   261,   154,   173,   198,   245,   246,
2137 <     247,   248,   120,   154,   154,   151,   152,   154,   204,   154,
2138 <     154,   258,   264,   154,   154,   192,   132,   154,   261,   137,
2139 <     261,   154,   264,   219,   264,   261,   264,   264,   159,   261,
2140 <     261,   159,   198,   179,   154,   261,   275,   154,   261,   132,
2141 <     261,   154,   203,   239,   240,   261,   251,   252,   253,   245,
2142 <     246,   247,   248,   261,   172,   261,   265,   261,   261,   313,
2143 <    1187,   261,   258,   181,   182,   154,   261,   261,   186,   187,
2144 <     205,   206,   207,   208,   209,   264,   211,   212,   261,   214,
2145 <     215,   216,   261,   261,   219,   261,   261,   261,   261,   198,
2146 <     261,   261,   261,   261,   229,   230,   231,   264,   233,   234,
2147 <     235,   264,   264,   238,   264,   261,   241,   205,   206,   207,
2148 <     208,   209,   264,   211,   212,   264,   214,   215,   216,   132,
2149 <      71,   219,   264,  1351,   154,   264,   264,  1332,   264,   261,
2150 <     264,   229,   230,   231,   264,   233,   234,   235,   264,   264,
2151 <     238,   264,   264,   241,   205,   206,   207,   208,   209,   264,
2152 <     211,   212,   264,   214,   215,   216,   264,   264,   219,   264,
2153 <     264,   264,   264,   264,   264,   261,   261,   261,   229,   230,
2154 <     231,   261,   233,   234,   235,   261,   261,   238,   261,   261,
2155 <     241,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2156 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2157 <     154,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2158 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2159 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   154,
2160 <     154,   154,   264,   264,   261,   264,   154,   261,   154,   264,
2161 <     154,   261,   264,   154,   154,   261,   261,   261,   154,   261,
2162 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2163 <     261,   261,   261,   261,   261,   261,   261,   261,   154,   154,
2164 <     154,   264,   264,   264,   264,   264,   264,   261,   261,   261,
2165 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2166 <     261,   261,   261,   261,   261,   261,   154,   261,   154,   264,
2167 <     261,   264,   132,   132,   132,   132,   132,   132,   154,   132,
2168 <     132,   261,   154,   154,   154,   198,   154,   264,   154,   154,
2169 <     154,   154,   132,   154,   261,   261,   261,   261,   261,   261,
2170 <     154,   261,   261,   154,   261,   261,   131,   154,   198,   261,
2171 <     261,   261,   261,   154,   261,   154,   261,   154,   261,   261,
2172 <     154,   131,   261,   261,   132,   131,   258,   264,   261,   264,
2173 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2174 <     261,   261,   261,   261,   261,  1330,   775,   595,  1274,   261,
2175 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2176 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2375 <     261,   482,   261,  1259,   261,  1257,   261,   261,  1311,  1172,
2376 <     553,  1313,  1316,   512,   626,  1314,   545,  1272,   360,   124,
2377 <    1250,   184,  1132,   372,  1130,  1256,  1254,    95,    -1,   457,
2378 <      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   291,    -1,
2379 <      -1,    -1,    -1,    -1,    -1,    -1,   472,    -1,    -1,    -1,
2380 <      -1,    -1,    -1,   440
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,   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,   267,     0,     1,     5,    22,    26,    29,    36,    51,
2184 <      64,    65,    67,    74,    91,   101,   103,   120,   137,   172,
2185 <     181,   182,   186,   187,   268,   273,   278,   296,   302,   317,
2186 <     340,   359,   373,   391,   398,   408,   417,   444,   454,   460,
2187 <     464,   474,   538,   554,   575,   261,   262,   263,   263,   341,
2188 <     418,   455,   263,   465,   263,   539,   374,   445,   360,   263,
2189 <     263,   318,   392,   263,   263,   399,   409,     1,    37,    47,
2190 <     121,   297,   298,   299,   300,   301,     1,    13,    34,    35,
2191 <      40,    42,    97,    98,   106,   107,   127,   128,   144,   145,
2192 <     155,   164,   251,   252,   253,   555,   556,   557,   558,   559,
2193 <     560,   561,   562,   563,   564,   565,   566,   567,   568,   569,
2194 <     570,   571,   572,   573,   574,   154,   342,   346,   154,   419,
2195 <     423,   263,     1,    90,   461,   462,   463,   263,     1,     8,
2196 <       9,    12,    19,    28,    32,    33,    39,    43,    44,    46,
2197 <      52,    71,    72,    76,    83,    87,    88,    89,    92,    95,
2198 <      96,   105,   111,   112,   114,   115,   116,   117,   118,   129,
2199 <     138,   140,   141,   143,   146,   147,   150,   161,   183,   185,
2200 <     189,   193,   194,   195,   196,   197,   201,   202,   210,   242,
2201 <     244,   250,   255,   260,   475,   476,   477,   478,   479,   480,
2202 <     481,   482,   483,   484,   485,   486,   487,   488,   489,   490,
2203 <     491,   492,   493,   494,   495,   496,   497,   498,   499,   500,
2204 <     501,   502,   503,   504,   505,   506,   507,   508,   509,   510,
2205 <     511,   512,   513,   514,   515,   516,   517,   518,   519,   520,
2206 <     521,   522,   523,   524,   525,   526,   530,   534,   535,   536,
2207 <     537,   263,   263,   263,   263,     1,    56,    57,    58,    59,
2208 <      60,    61,    62,    63,   104,   139,   220,   254,   303,   304,
2209 <     305,   306,   307,   308,   309,   310,   311,   312,   313,   314,
2210 <     315,   316,     1,   119,   149,   274,   275,   276,   277,   154,
2211 <     319,   323,   263,     1,    41,    55,    77,    79,    81,    82,
2212 <     100,   576,   577,   578,   579,   580,   581,   582,   583,   584,
2213 <       1,    37,    85,   121,   123,   124,   166,   168,   169,   184,
2214 <     228,   256,   257,   279,   280,   281,   285,   286,   287,   288,
2215 <     289,   290,   291,   292,   293,   294,   295,   263,   263,   261,
2216 <     264,   264,   264,   262,   298,   264,   264,   264,   264,   264,
2217 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2218 <     264,   264,   264,   262,   556,   263,   263,     1,    90,   156,
2219 <     456,   457,   458,   459,   264,   262,   462,     1,   121,   156,
2220 <     188,   466,   470,   471,   472,   473,   264,   264,   264,   264,
2221 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2222 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2223 <     264,   264,   264,   264,   264,   264,   264,   264,   531,   264,
2224 <     527,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2225 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2226 <     264,   262,   476,     1,     4,    45,    48,   103,   121,   249,
2227 <     540,   541,   542,   543,   544,   548,   549,   550,     1,    26,
2228 <      49,    54,   148,   157,   158,   191,   249,   375,   376,   377,
2229 <     378,   379,   380,   381,   388,   389,   390,     1,   156,   188,
2230 <     249,   446,   450,   451,   452,   453,     1,    54,    84,    90,
2231 <     153,   361,   365,   366,   367,   371,   372,   261,   264,   264,
2232 <     264,   264,   264,   264,   264,   264,   264,   264,   264,   264,
2233 <     262,   304,   261,   264,   264,   262,   275,   263,     1,    22,
2234 <     125,   156,   393,   394,   395,   396,   397,   264,   264,   264,
2235 <     264,   264,   264,   264,   262,   577,   261,   264,   264,   264,
2236 <     264,   264,   264,   264,   282,   264,   264,   264,   264,   262,
2237 <     280,     1,   121,   188,   249,   400,   401,   402,   403,   404,
2238 <       1,   121,   188,   410,   411,   412,   413,   154,   154,   154,
2239 <     261,   198,   132,   132,   198,   198,   132,   270,   270,   132,
2240 <     132,   198,   198,   132,   270,   198,   198,   198,   198,   198,
2241 <     261,     1,    23,    24,    30,   108,   109,   110,   113,   121,
2242 <     134,   135,   151,   152,   179,   343,   344,   345,   347,   348,
2243 <     349,   350,   351,   352,   353,   354,   355,   356,   357,   358,
2244 <       1,     3,     6,    25,    26,    49,    53,    54,    84,    86,
2245 <      99,   121,   153,   167,   180,   256,   420,   421,   422,   424,
2246 <     425,   426,   427,   428,   429,   430,   431,   438,   439,   440,
2247 <     441,   442,   443,   264,   264,   262,   457,   154,   261,   264,
2248 <     264,   467,   262,   471,   198,   270,   198,   270,   132,   154,
2249 <     132,   198,   198,   132,   154,   198,   132,   132,   132,   198,
2250 <     270,   198,   198,   270,   154,   198,   132,   132,   270,   132,
2251 <     132,   154,   132,   132,   198,   198,   264,   198,   264,   270,
2252 <     270,   198,   270,   154,   198,   198,   198,   198,   199,   198,
2253 <     199,   198,   198,   270,   270,   132,   272,   270,   198,   198,
2254 <     198,   198,   261,   551,   264,   264,   545,   264,   264,   262,
2255 <     541,   261,   264,   264,   382,   264,   264,   264,   264,   264,
2256 <     262,   376,   264,   447,   264,   262,   451,   261,   362,   264,
2257 <     264,   264,   262,   366,   154,   154,   154,   154,   154,   154,
2258 <     154,   154,   221,   222,   223,   224,   225,   226,   227,   154,
2259 <     154,   198,   261,   154,   154,   261,     1,    26,    49,    54,
2260 <     121,   148,   167,   237,   249,   320,   321,   322,   324,   325,
2261 <     326,   327,   328,   329,   333,   261,   264,   264,   264,   262,
2262 <     394,   198,   198,   198,   154,   198,   198,   270,   261,   154,
2263 <     198,   154,   154,   154,   154,   154,   264,   154,   132,   154,
2264 <     154,   261,   261,   264,   405,   264,   262,   401,   261,   264,
2265 <     414,   262,   411,   261,   261,   261,   261,   261,   261,   261,
2266 <     261,   174,   175,   176,   177,   178,   269,   270,   261,   261,
2267 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2268 <     261,   261,   264,   264,   264,   264,   264,   264,   264,   264,
2269 <     264,   264,   264,   264,   264,   262,   344,   261,   264,   264,
2270 <     264,   264,   264,   264,   432,   264,   264,   264,   264,   264,
2271 <     264,   264,   264,   262,   421,   154,   154,   261,   261,   154,
2272 <     154,   264,   261,   261,   261,   261,   261,   261,   261,   261,
2273 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2274 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2275 <     261,   261,   261,   261,   261,   205,   206,   207,   208,   209,
2276 <     211,   212,   214,   215,   216,   219,   229,   230,   231,   233,
2277 <     234,   235,   238,   241,   532,   533,   261,   205,   206,   207,
2278 <     208,   209,   211,   212,   214,   215,   216,   219,   229,   230,
2279 <     231,   233,   234,   235,   238,   241,   528,   529,   261,   261,
2280 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2281 <     261,   261,   261,   261,    14,    15,    16,   271,   272,   261,
2282 <     261,   261,   261,   261,   261,   264,   270,   198,   264,   154,
2283 <     154,   261,   154,   198,   264,   154,   132,   154,   154,   154,
2284 <     261,   154,   264,   154,   261,   264,   154,   154,   132,   369,
2285 <     370,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2286 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2287 <     261,   261,   261,   264,   264,   334,   264,   264,   264,   330,
2288 <     264,   262,   321,   154,   154,   154,   261,   261,   261,   261,
2289 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2290 <     261,   170,   171,   283,   284,   261,   261,   261,   261,   154,
2291 <     264,   154,   261,   154,   264,   261,   269,   269,   269,   269,
2292 <     269,   132,   132,   270,   132,   132,   132,   132,   154,   132,
2293 <     132,   270,   270,   272,   261,   154,   217,   218,   154,   154,
2294 <     198,   154,   264,   154,   154,   154,   154,   132,   154,   154,
2295 <     154,   261,   261,   261,   261,   261,   159,   468,   469,   261,
2296 <     265,   261,   265,   271,   271,   271,    11,   200,   552,   553,
2297 <     261,   261,    11,   200,   546,   547,   261,   261,   261,   261,
2298 <     131,   383,   384,   386,   261,   261,   261,   261,   261,   261,
2299 <     159,   448,   449,   261,    77,   232,   236,   363,   364,   261,
2300 <     261,   203,   265,   368,   154,   198,   264,   154,   154,   154,
2301 <     264,   154,   261,   261,   261,   261,   261,   265,   261,    93,
2302 <     172,   204,   219,   239,   240,   245,   246,   247,   248,   258,
2303 <     406,   407,   261,   261,    93,   172,   204,   219,   239,   240,
2304 <     245,   246,   247,   248,   258,   415,   416,   261,   261,   261,
2305 <     261,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2510 <     261,   261,   261,   261,   261,   261,   261,   131,   433,   434,
2511 <     436,   261,   261,   261,   261,   261,   261,   261,   261,   261,
2512 <     265,   533,   529,   261,   265,   261,   265,   385,   261,   265,
2513 <      20,    21,    50,    68,    75,    94,   122,   130,   173,   192,
2514 <     387,   261,   265,   261,   265,   132,   370,   261,   261,   261,
2515 <     131,   335,   336,   338,   261,   261,   261,   205,   206,   207,
2516 <     208,   209,   211,   212,   214,   215,   216,   219,   229,   230,
2517 <     231,   233,   234,   235,   238,   241,   331,   332,   261,   284,
2518 <     261,   265,   261,   265,   435,   261,   265,    10,    12,    27,
2519 <      31,   243,   437,   469,   553,   547,   387,   384,   449,   364,
2520 <     337,   261,   265,     5,    38,    49,    66,    73,    78,    80,
2521 <      93,   126,   142,   160,   162,   163,   230,   248,   258,   339,
2522 <     261,   265,   407,   416,   437,   434,   339,   336,   332
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 2549 | Line 2332 | static const yytype_uint16 yystos[] =
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 2570 | Line 2353 | while (YYID (0))
2353   #define YYTERROR        1
2354   #define YYERRCODE       256
2355  
2573
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  
2578 #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.
2601 <   This macro was not mandated originally: define only if we know
2602 <   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 defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL
2606 < #  define YY_LOCATION_PRINT(File, Loc)                  \
2607 <     fprintf (File, "%d.%d-%d.%d",                      \
2608 <              (Loc).first_line, (Loc).first_column,     \
2609 <              (Loc).last_line,  (Loc).last_column)
2610 < # else
2611 < #  define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2612 < # endif
2387 > # define YY_LOCATION_PRINT(File, Loc) ((void) 0)
2388   #endif
2389  
2390  
# Line 2664 | 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 2801 | Line 2578 | int yydebug;
2578   # define YYMAXDEPTH 10000
2579   #endif
2580  
2804
2581  
2582   #if YYERROR_VERBOSE
2583  
# Line 2904 | 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))
2920 <    return 0;
2921 <  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 <              {
2969 <                yycount = 1;
2970 <                yysize = yysize0;
2971 <                yyformat[sizeof yyunexpected - 1] = '\0';
2972 <                break;
2973 <              }
2974 <            yyarg[yycount++] = yytname[yyx];
2975 <            yysize1 = yysize + yytnamerr (0, yytname[yyx]);
2976 <            yysize_overflow |= (yysize1 < yysize);
2977 <            yysize = yysize1;
2978 <            yyfmt = yystpcpy (yyfmt, yyprefix);
2979 <            yyprefix = yyor;
2980 <          }
2981 <
2982 <      yyf = YY_(yyformat);
2983 <      yysize1 = yysize + yystrlen (yyf);
2984 <      yysize_overflow |= (yysize1 < yysize);
2985 <      yysize = yysize1;
2986 <
2987 <      if (yysize_overflow)
2988 <        return YYSIZE_MAXIMUM;
2989 <
2990 <      if (yyresult)
2991 <        {
2992 <          /* Avoid sprintf, as that infringes on the user's name space.
2993 <             Don't have undefined behavior even if the translation
2994 <             produced a string with the wrong number of "%s"s.  */
2995 <          char *yyp = yyresult;
2996 <          int yyi = 0;
2997 <          while ((*yyp = *yyf) != '\0')
2998 <            {
2999 <              if (*yyp == '%' && yyf[1] == 's' && yyi < yycount)
3000 <                {
3001 <                  yyp += yytnamerr (yyp, yyarg[yyi++]);
3002 <                  yyf += 2;
3003 <                }
3004 <              else
3005 <                {
3006 <                  yyp++;
3007 <                  yyf++;
3008 <                }
3009 <            }
3010 <        }
3011 <      return yysize;
3012 <    }
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 */
3015
2819  
2820   /*-----------------------------------------------.
2821   | Release the memory associated to this symbol.  |
# Line 3045 | Line 2848 | yydestruct (yymsg, yytype, yyvaluep)
2848      }
2849   }
2850  
2851 < /* Prevent warnings from -Wmissing-prototypes.  */
3049 < #ifdef YYPARSE_PARAM
3050 < #if defined __STDC__ || defined __cplusplus
3051 < int yyparse (void *YYPARSE_PARAM);
3052 < #else
3053 < int yyparse ();
3054 < #endif
3055 < #else /* ! YYPARSE_PARAM */
3056 < #if defined __STDC__ || defined __cplusplus
3057 < int yyparse (void);
3058 < #else
3059 < int yyparse ();
3060 < #endif
3061 < #endif /* ! YYPARSE_PARAM */
2851 >
2852  
2853  
2854   /* The lookahead symbol.  */
# Line 3071 | Line 2861 | YYSTYPE yylval;
2861   int yynerrs;
2862  
2863  
2864 <
2865 < /*-------------------------.
2866 < | yyparse or yypush_parse.  |
3077 < `-------------------------*/
2864 > /*----------.
2865 > | yyparse.  |
2866 > `----------*/
2867  
2868   #ifdef YYPARSE_PARAM
2869   #if (defined __STDC__ || defined __C99__FUNC__ \
# Line 3098 | Line 2887 | yyparse ()
2887   #endif
2888   #endif
2889   {
3101
3102
2890      int yystate;
2891      /* Number of tokens to shift before error messages enabled.  */
2892      int yyerrstatus;
# Line 3108 | 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 3162 | Line 2949 | yyparse ()
2949       The wasted elements are never initialized.  */
2950    yyssp = yyss;
2951    yyvsp = yyvs;
3165
2952    goto yysetstate;
2953  
2954   /*------------------------------------------------------------.
# Line 3254 | 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 3285 | 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 3340 | Line 3126 | yyreduce:
3126    switch (yyn)
3127      {
3128          case 26:
3129 <
3130 < /* Line 1464 of yacc.c  */
3345 < #line 425 "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 1464 of yacc.c  */
3352 < #line 427 "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 1464 of yacc.c  */
3361 < #line 431 "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 1464 of yacc.c  */
3370 < #line 435 "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 1464 of yacc.c  */
3379 < #line 439 "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 1464 of yacc.c  */
3388 < #line 443 "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 1464 of yacc.c  */
3397 < #line 447 "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 1464 of yacc.c  */
3406 < #line 452 "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 1464 of yacc.c  */
3413 < #line 453 "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 1464 of yacc.c  */
3420 < #line 454 "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 1464 of yacc.c  */
3427 < #line 455 "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 1464 of yacc.c  */
3434 < #line 456 "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 1464 of yacc.c  */
3441 < #line 470 "ircd_parser.y"
3213 > /* Line 1787 of yacc.c  */
3214 > #line 404 "conf_parser.y"
3215      {
3443 #ifndef STATIC_MODULES /* NOOP in the static case */
3216    if (conf_parser_ctx.pass == 2)
3217      add_conf_module(libio_basename(yylval.string));
3446 #endif
3218   }
3219      break;
3220  
3221    case 47:
3222 <
3223 < /* Line 1464 of yacc.c  */
3453 < #line 478 "ircd_parser.y"
3222 > /* Line 1787 of yacc.c  */
3223 > #line 410 "conf_parser.y"
3224      {
3455 #ifndef STATIC_MODULES
3225    if (conf_parser_ctx.pass == 2)
3226      mod_add_path(yylval.string);
3458 #endif
3227   }
3228      break;
3229  
3230 <  case 64:
3231 <
3232 < /* Line 1464 of yacc.c  */
3465 < #line 500 "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 1464 of yacc.c  */
3477 < #line 506 "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 <  {
3482 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_SSLV3))
3483 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_SSLv3);
3484 <    if (!(ServerInfo.tls_version & CONF_SERVER_INFO_TLS_VERSION_TLSV1))
3485 <      SSL_CTX_set_options(ServerInfo.server_ctx, SSL_OP_NO_TLSv1);
3486 <  }
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 1464 of yacc.c  */
3494 < #line 520 "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 1464 of yacc.c  */
3506 < #line 526 "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 1464 of yacc.c  */
3518 < #line 534 "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 3527 | 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 3534 | 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 3550 | Line 3313 | yyreduce:
3313   }
3314      break;
3315  
3316 <  case 71:
3317 <
3318 < /* Line 1464 of yacc.c  */
3556 < #line 568 "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 3580 | Line 3342 | yyreduce:
3342        break;
3343      }
3344  
3345 <    ServerInfo.rsa_private_key = (RSA *)PEM_read_bio_RSAPrivateKey(file, NULL,
3584 <      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 3614 | 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 >    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 < /* Line 1464 of yacc.c  */
3421 < #line 628 "ircd_parser.y"
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 && !ServerInfo.name)
# Line 3626 | Line 3428 | yyreduce:
3428        DupString(ServerInfo.name, yylval.string);
3429      else
3430      {
3431 <      ilog(L_ERROR, "Ignoring serverinfo::name -- invalid name. Aborting.");
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 1464 of yacc.c  */
3639 < #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 3645 | Line 3446 | yyreduce:
3446        DupString(ServerInfo.sid, yylval.string);
3447      else
3448      {
3449 <      ilog(L_ERROR, "Ignoring serverinfo::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 1464 of yacc.c  */
3658 < #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 3665 | Line 3465 | yyreduce:
3465   }
3466      break;
3467  
3468 <  case 75:
3469 <
3470 < /* Line 1464 of yacc.c  */
3671 < #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 3683 | Line 3482 | yyreduce:
3482   }
3483      break;
3484  
3485 <  case 76:
3486 <
3487 < /* Line 1464 of yacc.c  */
3689 < #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 3696 | Line 3494 | yyreduce:
3494   }
3495      break;
3496  
3497 <  case 77:
3498 <
3499 < /* Line 1464 of yacc.c  */
3702 < #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 3711 | 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 3720 | 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 3728 | Line 3525 | yyreduce:
3525   }
3526      break;
3527  
3528 <  case 78:
3529 <
3530 < /* Line 1464 of yacc.c  */
3734 < #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 3744 | 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 3753 | 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 3762 | Line 3558 | yyreduce:
3558   }
3559      break;
3560  
3561 <  case 79:
3562 <
3563 < /* Line 1464 of yacc.c  */
3768 < #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 3789 | Line 3584 | yyreduce:
3584   }
3585      break;
3586  
3587 <  case 80:
3588 <
3589 < /* Line 1464 of yacc.c  */
3795 < #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 <  {
3799 <    if (yylval.number)
3800 <    {
3801 <      ServerInfo.hub = 1;
3802 <      delete_capability("HUB");
3803 <      add_capability("HUB", CAP_HUB, 1);
3804 <    }
3805 <    else if (ServerInfo.hub)
3806 <    {
3807 <
3808 <      ServerInfo.hub = 0;
3809 <      delete_capability("HUB");
3810 <    }
3811 <  }
3592 >    ServerInfo.hub = yylval.number;
3593   }
3594      break;
3595  
3596 <  case 88:
3597 <
3598 < /* Line 1464 of yacc.c  */
3818 < #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 3825 | Line 3605 | yyreduce:
3605   }
3606      break;
3607  
3608 <  case 89:
3609 <
3610 < /* Line 1464 of yacc.c  */
3831 < #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 3838 | Line 3617 | yyreduce:
3617   }
3618      break;
3619  
3620 <  case 90:
3621 <
3622 < /* Line 1464 of yacc.c  */
3844 < #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 3851 | Line 3629 | yyreduce:
3629   }
3630      break;
3631  
3632 <  case 107:
3633 <
3634 < /* Line 1464 of yacc.c  */
3857 < #line 844 "ircd_parser.y"
3858 <    {
3859 <                        }
3860 <    break;
3861 <
3862 <  case 108:
3863 <
3864 < /* Line 1464 of yacc.c  */
3865 < #line 848 "ircd_parser.y"
3866 <    {
3867 <                        }
3868 <    break;
3869 <
3870 <  case 109:
3871 <
3872 < /* Line 1464 of yacc.c  */
3873 < #line 852 "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.userlog, yylval.string,
3877 <            sizeof(ConfigLoggingEntry.userlog));
3878 < }
3879 <    break;
3880 <
3881 <  case 110:
3882 <
3883 < /* Line 1464 of yacc.c  */
3884 < #line 859 "ircd_parser.y"
3885 <    {
3886 <  if (conf_parser_ctx.pass == 2)
3887 <    strlcpy(ConfigLoggingEntry.failed_operlog, yylval.string,
3888 <            sizeof(ConfigLoggingEntry.failed_operlog));
3637 >    ConfigLoggingEntry.use_logging = yylval.number;
3638   }
3639      break;
3640  
3641 <  case 111:
3642 <
3643 < /* Line 1464 of yacc.c  */
3895 < #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 1464 of yacc.c  */
3906 < #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,
3910 <            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 1464 of yacc.c  */
3917 < #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)
3920 <    strlcpy(ConfigLoggingEntry.glinelog, yylval.string,
3921 <            sizeof(ConfigLoggingEntry.glinelog));
3664 >  strlcpy(lfile, yylval.string, sizeof(lfile));
3665   }
3666      break;
3667  
3668 <  case 114:
3669 <
3670 < /* Line 1464 of yacc.c  */
3928 < #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)
3931 <    strlcpy(ConfigLoggingEntry.klinelog, yylval.string,
3932 <            sizeof(ConfigLoggingEntry.klinelog));
3672 >  lsize = (yyvsp[(3) - (4)].number);
3673   }
3674      break;
3675  
3676 <  case 115:
3677 <
3678 < /* Line 1464 of yacc.c  */
3939 < #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)
3942 <    strlcpy(ConfigLoggingEntry.ioerrlog, yylval.string,
3943 <            sizeof(ConfigLoggingEntry.ioerrlog));
3680 >  lsize = 0;
3681   }
3682      break;
3683  
3684 <  case 116:
3685 <
3686 < /* Line 1464 of yacc.c  */
3950 < #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,
3954 <            sizeof(ConfigLoggingEntry.killlog));
3689 >    ltype = 0;
3690   }
3691      break;
3692  
3693 <  case 117:
3694 <
3695 < /* Line 1464 of yacc.c  */
3961 < #line 908 "ircd_parser.y"
3962 <    {
3963 <  if (conf_parser_ctx.pass == 2)
3964 <    set_log_level(L_CRIT);
3965 < }
3966 <    break;
3967 <
3968 <  case 118:
3969 <
3970 < /* Line 1464 of yacc.c  */
3971 < #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 1464 of yacc.c  */
3981 < #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 1464 of yacc.c  */
3991 < #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 1464 of yacc.c  */
4001 < #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 1464 of yacc.c  */
4011 < #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 1464 of yacc.c  */
4021 < #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 1464 of yacc.c  */
4031 < #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 1464 of yacc.c  */
4041 < #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 4054 | Line 3771 | yyreduce:
3771   }
3772      break;
3773  
3774 <  case 126:
3775 <
3776 < /* Line 1464 of yacc.c  */
4060 < #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 4092 | 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 4106 | 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 4139 | Line 3859 | yyreduce:
3859   }
3860      break;
3861  
3862 <  case 140:
3863 <
3864 < /* Line 1464 of yacc.c  */
4145 < #line 1047 "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    {
4149    if (strlen(yylval.string) > OPERNICKLEN)
4150      yylval.string[OPERNICKLEN] = '\0';
4151
3868      MyFree(yy_conf->name);
3869      DupString(yy_conf->name, yylval.string);
3870    }
3871   }
3872      break;
3873  
3874 <  case 141:
3875 <
3876 < /* Line 1464 of yacc.c  */
4161 < #line 1059 "ircd_parser.y"
4162 <    {
4163 <  if (conf_parser_ctx.pass == 2)
4164 <  {
4165 <    if (strlen(yylval.string) > OPERNICKLEN)
4166 <      yylval.string[OPERNICKLEN] = '\0';
4167 <
4168 <    MyFree(yy_conf->name);
4169 <    DupString(yy_conf->name, yylval.string);
4170 <  }
4171 < }
4172 <    break;
4173 <
4174 <  case 142:
4175 <
4176 < /* Line 1464 of yacc.c  */
4177 < #line 1071 "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 4195 | 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 4209 | Line 3911 | yyreduce:
3911   }
3912      break;
3913  
3914 <  case 143:
3915 <
3916 < /* Line 1464 of yacc.c  */
4215 < #line 1105 "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 4225 | Line 3926 | yyreduce:
3926   }
3927      break;
3928  
3929 <  case 144:
3930 <
3931 < /* Line 1464 of yacc.c  */
4231 < #line 1117 "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 4240 | Line 3940 | yyreduce:
3940   }
3941      break;
3942  
3943 <  case 145:
3944 <
3945 < /* Line 1464 of yacc.c  */
4246 < #line 1128 "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 4271 | 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 4286 | Line 3985 | yyreduce:
3985   }
3986      break;
3987  
3988 <  case 146:
3989 <
3990 < /* Line 1464 of yacc.c  */
4292 < #line 1170 "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 4299 | Line 3997 | yyreduce:
3997   }
3998      break;
3999  
4000 <  case 147:
4001 <
4002 < /* Line 1464 of yacc.c  */
4305 < #line 1179 "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 151:
4010 <
4011 < /* Line 1464 of yacc.c  */
4315 < #line 1186 "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 152:
4019 <
4020 < /* Line 1464 of yacc.c  */
4325 < #line 1190 "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 153:
4028 <
4029 < /* Line 1464 of yacc.c  */
4335 < #line 1194 "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 154:
4037 <
4038 < /* Line 1464 of yacc.c  */
4345 < #line 1198 "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 155:
4046 <
4047 < /* Line 1464 of yacc.c  */
4355 < #line 1202 "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 156:
4055 <
4056 < /* Line 1464 of yacc.c  */
4365 < #line 1206 "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 157:
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 1464 of yacc.c  */
4073 < #line 1210 "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 158:
4082 <
4083 < /* Line 1464 of yacc.c  */
4385 < #line 1214 "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 159:
4091 <
4092 < /* Line 1464 of yacc.c  */
4395 < #line 1218 "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 160:
4100 <
4101 < /* Line 1464 of yacc.c  */
4405 < #line 1222 "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 161:
4109 <
4110 < /* Line 1464 of yacc.c  */
4415 < #line 1226 "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 162:
4118 <
4119 < /* Line 1464 of yacc.c  */
4425 < #line 1230 "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 163:
4127 <
4128 < /* Line 1464 of yacc.c  */
4435 < #line 1234 "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 164:
4136 <
4137 < /* Line 1464 of yacc.c  */
4445 < #line 1238 "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 165:
4145 <
4146 < /* Line 1464 of yacc.c  */
4455 < #line 1242 "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 166:
4154 <
4155 < /* Line 1464 of yacc.c  */
4465 < #line 1246 "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 167:
4163 <
4164 < /* Line 1464 of yacc.c  */
4475 < #line 1250 "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 168:
4172 <
4173 < /* Line 1464 of yacc.c  */
4485 < #line 1254 "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 169:
4181 <
4182 < /* Line 1464 of yacc.c  */
4495 < #line 1258 "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 170:
4190 <
4191 < /* Line 1464 of yacc.c  */
4505 < #line 1264 "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 +    yy_aconf->port = 0;
4195   }
4196      break;
4197  
4510  case 174:
4511
4512 /* Line 1464 of yacc.c  */
4513 #line 1268 "ircd_parser.y"
4514    { not_atom = 1; }
4515    break;
4516
4198    case 176:
4199 + /* Line 1787 of yacc.c  */
4200 + #line 1188 "conf_parser.y"
4201 +    {
4202 +  if (conf_parser_ctx.pass == 2)
4203 +    yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4204 + }
4205 +    break;
4206  
4207 < /* Line 1464 of yacc.c  */
4208 < #line 1269 "ircd_parser.y"
4209 <    { not_atom = 0; }
4207 >  case 177:
4208 > /* Line 1787 of yacc.c  */
4209 > #line 1192 "conf_parser.y"
4210 >    {
4211 >  if (conf_parser_ctx.pass == 2)
4212 >    yy_aconf->port |= OPER_FLAG_REMOTE;
4213 > }
4214      break;
4215  
4216    case 178:
4217 <
4218 < /* Line 1464 of yacc.c  */
4527 < #line 1272 "ircd_parser.y"
4217 > /* Line 1787 of yacc.c  */
4218 > #line 1196 "conf_parser.y"
4219      {
4220    if (conf_parser_ctx.pass == 2)
4221 <  {
4531 <    if (not_atom)yy_aconf->port &= ~OPER_FLAG_GLOBAL_KILL;
4532 <    else yy_aconf->port |= OPER_FLAG_GLOBAL_KILL;
4533 <  }
4221 >    yy_aconf->port |= OPER_FLAG_K;
4222   }
4223      break;
4224  
4225    case 179:
4226 <
4227 < /* Line 1464 of yacc.c  */
4540 < #line 1279 "ircd_parser.y"
4226 > /* Line 1787 of yacc.c  */
4227 > #line 1200 "conf_parser.y"
4228      {
4229    if (conf_parser_ctx.pass == 2)
4230 <  {
4544 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTE;
4545 <    else yy_aconf->port |= OPER_FLAG_REMOTE;
4546 <  }
4230 >    yy_aconf->port |= OPER_FLAG_UNKLINE;
4231   }
4232      break;
4233  
4234    case 180:
4235 <
4236 < /* Line 1464 of yacc.c  */
4553 < #line 1286 "ircd_parser.y"
4235 > /* Line 1787 of yacc.c  */
4236 > #line 1204 "conf_parser.y"
4237      {
4238    if (conf_parser_ctx.pass == 2)
4239 <  {
4557 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_K;
4558 <    else yy_aconf->port |= OPER_FLAG_K;
4559 <  }
4239 >    yy_aconf->port |= OPER_FLAG_DLINE;
4240   }
4241      break;
4242  
4243    case 181:
4244 <
4245 < /* Line 1464 of yacc.c  */
4566 < #line 1293 "ircd_parser.y"
4244 > /* Line 1787 of yacc.c  */
4245 > #line 1208 "conf_parser.y"
4246      {
4247    if (conf_parser_ctx.pass == 2)
4248 <  {
4570 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_UNKLINE;
4571 <    else yy_aconf->port |= OPER_FLAG_UNKLINE;
4572 <  }
4248 >    yy_aconf->port |= OPER_FLAG_UNDLINE;
4249   }
4250      break;
4251  
4252    case 182:
4253 <
4254 < /* Line 1464 of yacc.c  */
4579 < #line 1300 "ircd_parser.y"
4253 > /* Line 1787 of yacc.c  */
4254 > #line 1212 "conf_parser.y"
4255      {
4256    if (conf_parser_ctx.pass == 2)
4257 <  {
4583 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_X;
4584 <    else yy_aconf->port |= OPER_FLAG_X;
4585 <  }
4257 >    yy_aconf->port |= OPER_FLAG_X;
4258   }
4259      break;
4260  
4261    case 183:
4262 <
4263 < /* Line 1464 of yacc.c  */
4592 < #line 1307 "ircd_parser.y"
4262 > /* Line 1787 of yacc.c  */
4263 > #line 1216 "conf_parser.y"
4264      {
4265    if (conf_parser_ctx.pass == 2)
4266 <  {
4596 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_GLINE;
4597 <    else yy_aconf->port |= OPER_FLAG_GLINE;
4598 <  }
4266 >    yy_aconf->port |= OPER_FLAG_GLINE;
4267   }
4268      break;
4269  
4270    case 184:
4271 <
4272 < /* Line 1464 of yacc.c  */
4605 < #line 1314 "ircd_parser.y"
4271 > /* Line 1787 of yacc.c  */
4272 > #line 1220 "conf_parser.y"
4273      {
4274    if (conf_parser_ctx.pass == 2)
4275 <  {
4609 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_DIE;
4610 <    else yy_aconf->port |= OPER_FLAG_DIE;
4611 <  }
4275 >    yy_aconf->port |= OPER_FLAG_DIE;
4276   }
4277      break;
4278  
4279    case 185:
4280 <
4281 < /* Line 1464 of yacc.c  */
4618 < #line 1321 "ircd_parser.y"
4280 > /* Line 1787 of yacc.c  */
4281 > #line 1224 "conf_parser.y"
4282      {
4283    if (conf_parser_ctx.pass == 2)
4284 <  {
4622 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REHASH;
4623 <    else yy_aconf->port |= OPER_FLAG_REHASH;
4624 <  }
4284 >    yy_aconf->port |= OPER_FLAG_RESTART;
4285   }
4286      break;
4287  
4288    case 186:
4289 <
4290 < /* Line 1464 of yacc.c  */
4631 < #line 1328 "ircd_parser.y"
4289 > /* Line 1787 of yacc.c  */
4290 > #line 1228 "conf_parser.y"
4291      {
4292    if (conf_parser_ctx.pass == 2)
4293 <  {
4635 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_ADMIN;
4636 <    else yy_aconf->port |= OPER_FLAG_ADMIN;
4637 <  }
4293 >    yy_aconf->port |= OPER_FLAG_REHASH;
4294   }
4295      break;
4296  
4297    case 187:
4298 <
4299 < /* Line 1464 of yacc.c  */
4644 < #line 1335 "ircd_parser.y"
4298 > /* Line 1787 of yacc.c  */
4299 > #line 1232 "conf_parser.y"
4300      {
4301    if (conf_parser_ctx.pass == 2)
4302 <  {
4648 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_ADMIN;
4649 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_ADMIN;
4650 <  }
4302 >    yy_aconf->port |= OPER_FLAG_ADMIN;
4303   }
4304      break;
4305  
4306    case 188:
4307 <
4308 < /* Line 1464 of yacc.c  */
4657 < #line 1342 "ircd_parser.y"
4307 > /* Line 1787 of yacc.c  */
4308 > #line 1236 "conf_parser.y"
4309      {
4310    if (conf_parser_ctx.pass == 2)
4311 <  {
4661 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_N;
4662 <    else yy_aconf->port |= OPER_FLAG_N;
4663 <  }
4311 >    yy_aconf->port |= OPER_FLAG_N;
4312   }
4313      break;
4314  
4315    case 189:
4316 <
4317 < /* Line 1464 of yacc.c  */
4670 < #line 1349 "ircd_parser.y"
4316 > /* Line 1787 of yacc.c  */
4317 > #line 1240 "conf_parser.y"
4318      {
4319    if (conf_parser_ctx.pass == 2)
4320 <  {
4674 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPERWALL;
4675 <    else yy_aconf->port |= OPER_FLAG_OPERWALL;
4676 <  }
4320 >    yy_aconf->port |= OPER_FLAG_OPERWALL;
4321   }
4322      break;
4323  
4324    case 190:
4325 <
4326 < /* Line 1464 of yacc.c  */
4683 < #line 1356 "ircd_parser.y"
4325 > /* Line 1787 of yacc.c  */
4326 > #line 1244 "conf_parser.y"
4327      {
4328    if (conf_parser_ctx.pass == 2)
4329 <  {
4687 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_OPER_SPY;
4688 <    else yy_aconf->port |= OPER_FLAG_OPER_SPY;
4689 <  }
4329 >    yy_aconf->port |= OPER_FLAG_GLOBOPS;
4330   }
4331      break;
4332  
4333    case 191:
4334 <
4335 < /* Line 1464 of yacc.c  */
4696 < #line 1363 "ircd_parser.y"
4334 > /* Line 1787 of yacc.c  */
4335 > #line 1248 "conf_parser.y"
4336      {
4337    if (conf_parser_ctx.pass == 2)
4338 <  {
4700 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_HIDDEN_OPER;
4701 <    else yy_aconf->port |= OPER_FLAG_HIDDEN_OPER;
4702 <  }
4338 >    yy_aconf->port |= OPER_FLAG_OPER_SPY;
4339   }
4340      break;
4341  
4342    case 192:
4343 <
4344 < /* Line 1464 of yacc.c  */
4709 < #line 1370 "ircd_parser.y"
4343 > /* Line 1787 of yacc.c  */
4344 > #line 1252 "conf_parser.y"
4345      {
4346    if (conf_parser_ctx.pass == 2)
4347 <  {
4713 <    if (not_atom) yy_aconf->port &= ~OPER_FLAG_REMOTEBAN;
4714 <    else yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4715 <  }
4347 >    yy_aconf->port |= OPER_FLAG_REMOTEBAN;
4348   }
4349      break;
4350  
4351    case 193:
4352 <
4353 < /* Line 1464 of yacc.c  */
4722 < #line 1377 "ircd_parser.y"
4352 > /* Line 1787 of yacc.c  */
4353 > #line 1256 "conf_parser.y"
4354      {
4355    if (conf_parser_ctx.pass == 2)
4356 <  {
4726 <    if (not_atom) ClearConfEncrypted(yy_aconf);
4727 <    else SetConfEncrypted(yy_aconf);
4728 <  }
4356 >    yy_aconf->port |= OPER_FLAG_SET;
4357   }
4358      break;
4359  
4360    case 194:
4361 + /* Line 1787 of yacc.c  */
4362 + #line 1260 "conf_parser.y"
4363 +    {
4364 +  if (conf_parser_ctx.pass == 2)
4365 +    yy_aconf->port |= OPER_FLAG_MODULE;
4366 + }
4367 +    break;
4368  
4369 < /* Line 1464 of yacc.c  */
4370 < #line 1390 "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 4742 | Line 4378 | yyreduce:
4378   }
4379      break;
4380  
4381 <  case 195:
4382 <
4383 < /* Line 1464 of yacc.c  */
4748 < #line 1397 "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 4756 | 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 4790 | Line 4425 | yyreduce:
4425      break;
4426  
4427    case 214:
4428 <
4429 < /* Line 1464 of yacc.c  */
4795 < #line 1457 "ircd_parser.y"
4428 > /* Line 1787 of yacc.c  */
4429 > #line 1335 "conf_parser.y"
4430      {
4431    if (conf_parser_ctx.pass == 1)
4432    {
# Line 4803 | Line 4437 | yyreduce:
4437      break;
4438  
4439    case 215:
4440 <
4441 < /* Line 1464 of yacc.c  */
4808 < #line 1466 "ircd_parser.y"
4440 > /* Line 1787 of yacc.c  */
4441 > #line 1344 "conf_parser.y"
4442      {
4443    if (conf_parser_ctx.pass == 1)
4444 <  {
4812 <    MyFree(yy_class_name);
4813 <    DupString(yy_class_name, yylval.string);
4814 <  }
4444 >    yy_class->ping_freq = (yyvsp[(3) - (4)].number);
4445   }
4446      break;
4447  
4448    case 216:
4449 <
4450 < /* Line 1464 of yacc.c  */
4821 < #line 1475 "ircd_parser.y"
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 217:
4458 <
4459 < /* Line 1464 of yacc.c  */
4831 < #line 1481 "ircd_parser.y"
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 218:
4467 <
4468 < /* Line 1464 of yacc.c  */
4841 < #line 1487 "ircd_parser.y"
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 219:
4476 <
4477 < /* Line 1464 of yacc.c  */
4851 < #line 1493 "ircd_parser.y"
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 220:
4485 <
4486 < /* Line 1464 of yacc.c  */
4861 < #line 1499 "ircd_parser.y"
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 221:
4494 <
4495 < /* Line 1464 of yacc.c  */
4871 < #line 1505 "ircd_parser.y"
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 222:
4503 <
4504 < /* Line 1464 of yacc.c  */
4881 < #line 1511 "ircd_parser.y"
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 223:
4512 <
4513 < /* Line 1464 of yacc.c  */
4891 < #line 1517 "ircd_parser.y"
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 224:
4521 <
4522 < /* Line 1464 of yacc.c  */
4901 < #line 1523 "ircd_parser.y"
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 225:
4531 <
4532 < /* Line 1464 of yacc.c  */
4911 < #line 1529 "ircd_parser.y"
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 226:
4540 <
4541 < /* Line 1464 of yacc.c  */
4921 < #line 1535 "ircd_parser.y"
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 227:
4549 <
4550 < /* Line 1464 of yacc.c  */
4931 < #line 1541 "ircd_parser.y"
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 228:
4558 <
4559 < /* Line 1464 of yacc.c  */
4941 < #line 1550 "ircd_parser.y"
4558 > /* Line 1787 of yacc.c  */
4559 > #line 1426 "conf_parser.y"
4560      {
4561    if (conf_parser_ctx.pass == 2)
4562    {
# Line 4949 | Line 4567 | yyreduce:
4567      break;
4568  
4569    case 229:
4570 <
4571 < /* Line 1464 of yacc.c  */
4954 < #line 1557 "ircd_parser.y"
4570 > /* Line 1787 of yacc.c  */
4571 > #line 1433 "conf_parser.y"
4572      {
4573    if (conf_parser_ctx.pass == 2)
4574    {
# Line 4962 | Line 4579 | yyreduce:
4579      break;
4580  
4581    case 230:
4582 <
4583 < /* Line 1464 of yacc.c  */
4967 < #line 1566 "ircd_parser.y"
4582 > /* Line 1787 of yacc.c  */
4583 > #line 1442 "conf_parser.y"
4584      {
4585    listener_flags = 0;
4586   }
4587      break;
4588  
4589    case 234:
4590 <
4591 < /* Line 1464 of yacc.c  */
4976 < #line 1572 "ircd_parser.y"
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;
# Line 4981 | Line 4596 | yyreduce:
4596      break;
4597  
4598    case 235:
4599 <
4600 < /* Line 1464 of yacc.c  */
4986 < #line 1576 "ircd_parser.y"
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;
# Line 4991 | Line 4605 | yyreduce:
4605      break;
4606  
4607    case 236:
4608 <
4609 < /* Line 1464 of yacc.c  */
4996 < #line 1580 "ircd_parser.y"
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;
# Line 5001 | Line 4614 | yyreduce:
4614      break;
4615  
4616    case 244:
4617 <
4618 < /* Line 1464 of yacc.c  */
5006 < #line 1590 "ircd_parser.y"
4617 > /* Line 1787 of yacc.c  */
4618 > #line 1466 "conf_parser.y"
4619      { listener_flags = 0; }
4620      break;
4621  
4622    case 248:
4623 <
4624 < /* Line 1464 of yacc.c  */
5013 < #line 1595 "ircd_parser.y"
4623 > /* Line 1787 of yacc.c  */
4624 > #line 1471 "conf_parser.y"
4625      {
4626    if (conf_parser_ctx.pass == 2)
4627    {
# Line 5028 | Line 4639 | yyreduce:
4639      break;
4640  
4641    case 249:
4642 <
4643 < /* Line 1464 of yacc.c  */
5033 < #line 1609 "ircd_parser.y"
4642 > /* Line 1787 of yacc.c  */
4643 > #line 1485 "conf_parser.y"
4644      {
4645    if (conf_parser_ctx.pass == 2)
4646    {
# Line 5052 | Line 4662 | yyreduce:
4662      break;
4663  
4664    case 250:
4665 <
4666 < /* Line 1464 of yacc.c  */
5057 < #line 1629 "ircd_parser.y"
4665 > /* Line 1787 of yacc.c  */
4666 > #line 1505 "conf_parser.y"
4667      {
4668    if (conf_parser_ctx.pass == 2)
4669    {
# Line 5065 | Line 4674 | yyreduce:
4674      break;
4675  
4676    case 251:
4677 <
4678 < /* Line 1464 of yacc.c  */
5070 < #line 1638 "ircd_parser.y"
4677 > /* Line 1787 of yacc.c  */
4678 > #line 1514 "conf_parser.y"
4679      {
4680    if (conf_parser_ctx.pass == 2)
4681    {
# Line 5078 | Line 4686 | yyreduce:
4686      break;
4687  
4688    case 252:
4689 <
4690 < /* Line 1464 of yacc.c  */
5083 < #line 1650 "ircd_parser.y"
4689 > /* Line 1787 of yacc.c  */
4690 > #line 1526 "conf_parser.y"
4691      {
4692    if (conf_parser_ctx.pass == 2)
4693    {
# Line 5096 | Line 4703 | yyreduce:
4703      break;
4704  
4705    case 253:
4706 <
4707 < /* Line 1464 of yacc.c  */
5101 < #line 1662 "ircd_parser.y"
4706 > /* Line 1787 of yacc.c  */
4707 > #line 1538 "conf_parser.y"
4708      {
4709    if (conf_parser_ctx.pass == 2)
4710    {
# Line 5157 | Line 4763 | yyreduce:
4763      break;
4764  
4765    case 265:
4766 <
4767 < /* Line 1464 of yacc.c  */
5162 < #line 1724 "ircd_parser.y"
4766 > /* Line 1787 of yacc.c  */
4767 > #line 1600 "conf_parser.y"
4768      {
4769    if (conf_parser_ctx.pass == 2)
4770    {
# Line 5196 | Line 4801 | yyreduce:
4801      break;
4802  
4803    case 266:
4804 <
4805 < /* Line 1464 of yacc.c  */
5201 < #line 1761 "ircd_parser.y"
4804 > /* Line 1787 of yacc.c  */
4805 > #line 1635 "conf_parser.y"
4806      {
4807    if (conf_parser_ctx.pass == 2)
4808    {
# Line 5213 | Line 4817 | yyreduce:
4817      break;
4818  
4819    case 267:
4820 <
4821 < /* Line 1464 of yacc.c  */
5218 < #line 1774 "ircd_parser.y"
4820 > /* Line 1787 of yacc.c  */
4821 > #line 1648 "conf_parser.y"
4822      {
4823    if (conf_parser_ctx.pass == 2)
4824    {
# Line 5226 | Line 4829 | yyreduce:
4829      break;
4830  
4831    case 268:
4832 <
4833 < /* Line 1464 of yacc.c  */
5231 < #line 1783 "ircd_parser.y"
4832 > /* Line 1787 of yacc.c  */
4833 > #line 1657 "conf_parser.y"
4834      {
4835    if (conf_parser_ctx.pass == 2)
4836    {
# Line 5241 | Line 4843 | yyreduce:
4843      break;
4844  
4845    case 269:
4846 <
4847 < /* Line 1464 of yacc.c  */
5246 < #line 1794 "ircd_parser.y"
4846 > /* Line 1787 of yacc.c  */
4847 > #line 1668 "conf_parser.y"
4848      {
4849   }
4850      break;
4851  
4852    case 273:
4853 <
4854 < /* Line 1464 of yacc.c  */
5254 < #line 1798 "ircd_parser.y"
5255 <    { not_atom = 1; }
5256 <    break;
5257 <
5258 <  case 275:
5259 <
5260 < /* Line 1464 of yacc.c  */
5261 < #line 1799 "ircd_parser.y"
5262 <    { not_atom = 0; }
5263 <    break;
5264 <
5265 <  case 277:
5266 <
5267 < /* Line 1464 of yacc.c  */
5268 < #line 1802 "ircd_parser.y"
4853 > /* Line 1787 of yacc.c  */
4854 > #line 1673 "conf_parser.y"
4855      {
4856    if (conf_parser_ctx.pass == 2)
4857 <  {
5272 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_SPOOF_NOTICE;
5273 <    else yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
5274 <  }
4857 >    yy_aconf->flags |= CONF_FLAGS_SPOOF_NOTICE;
4858   }
4859      break;
4860  
4861 <  case 278:
4862 <
4863 < /* Line 1464 of yacc.c  */
5281 < #line 1809 "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 <  {
5285 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NOLIMIT;
5286 <    else yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
5287 <  }
4866 >    yy_aconf->flags |= CONF_FLAGS_NOLIMIT;
4867   }
4868      break;
4869  
4870 <  case 279:
4871 <
4872 < /* Line 1464 of yacc.c  */
5294 < #line 1816 "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 <  {
5298 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTKLINE;
5299 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
5300 <  }
4875 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTKLINE;
4876   }
4877      break;
4878  
4879 <  case 280:
4880 <
4881 < /* Line 1464 of yacc.c  */
5307 < #line 1823 "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 <  {
5311 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_IDENTD;
5312 <    else yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
5313 <  }
4884 >    yy_aconf->flags |= CONF_FLAGS_NEED_IDENTD;
4885   }
4886      break;
4887  
4888 <  case 281:
4889 <
4890 < /* Line 1464 of yacc.c  */
5320 < #line 1830 "ircd_parser.y"
5321 <    {
5322 <  if (conf_parser_ctx.pass == 2)
5323 <  {
5324 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_CAN_FLOOD;
5325 <    else yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
5326 <  }
5327 < }
5328 <    break;
5329 <
5330 <  case 282:
5331 <
5332 < /* Line 1464 of yacc.c  */
5333 < #line 1837 "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 <  {
5337 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_IDLE_LINED;
5338 <    else yy_aconf->flags |= CONF_FLAGS_IDLE_LINED;
5339 <  }
4893 >    yy_aconf->flags |= CONF_FLAGS_CAN_FLOOD;
4894   }
4895      break;
4896  
4897 <  case 283:
4898 <
4899 < /* Line 1464 of yacc.c  */
5346 < #line 1844 "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 <  {
5350 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NO_TILDE;
5351 <    else yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
5352 <  }
4902 >    yy_aconf->flags |= CONF_FLAGS_NO_TILDE;
4903   }
4904      break;
4905  
4906 <  case 284:
4907 <
4908 < /* Line 1464 of yacc.c  */
5359 < #line 1851 "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 <  {
5363 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTGLINE;
5364 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
5365 <  }
4911 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTGLINE;
4912   }
4913      break;
4914  
4915 <  case 285:
4916 <
4917 < /* Line 1464 of yacc.c  */
5372 < #line 1858 "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 <  {
5376 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_EXEMPTRESV;
5377 <    else yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
5378 <  }
4920 >    yy_aconf->flags |= CONF_FLAGS_EXEMPTRESV;
4921   }
4922      break;
4923  
4924 <  case 286:
4925 <
4926 < /* Line 1464 of yacc.c  */
5385 < #line 1865 "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 <  {
5389 <    if (not_atom) yy_aconf->flags &= ~CONF_FLAGS_NEED_PASSWORD;
5390 <    else yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
5391 <  }
4929 >    yy_aconf->flags |= CONF_FLAGS_NEED_PASSWORD;
4930   }
4931      break;
4932  
4933 <  case 287:
4934 <
4935 < /* Line 1464 of yacc.c  */
5398 < #line 1875 "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 288:
4956 <
4957 < /* Line 1464 of yacc.c  */
5421 < #line 1894 "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 5429 | Line 4965 | yyreduce:
4965   }
4966      break;
4967  
4968 <  case 289:
4969 <
4970 < /* Line 1464 of yacc.c  */
5435 < #line 1904 "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 5442 | Line 4977 | yyreduce:
4977   }
4978      break;
4979  
4980 <  case 290:
4981 <
4982 < /* Line 1464 of yacc.c  */
5448 < #line 1917 "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 5455 | Line 4989 | yyreduce:
4989   }
4990      break;
4991  
4992 <  case 291:
4993 <
4994 < /* Line 1464 of yacc.c  */
5461 < #line 1924 "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 5468 | Line 5001 | yyreduce:
5001   }
5002      break;
5003  
5004 <  case 298:
5005 <
5006 < /* Line 1464 of yacc.c  */
5474 < #line 1936 "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 5481 | Line 5013 | yyreduce:
5013   }
5014      break;
5015  
5016 <  case 299:
5017 <
5018 < /* Line 1464 of yacc.c  */
5487 < #line 1945 "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 5500 | Line 5031 | yyreduce:
5031   }
5032      break;
5033  
5034 <  case 300:
5035 <
5036 < /* Line 1464 of yacc.c  */
5506 < #line 1960 "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 5515 | Line 5045 | yyreduce:
5045      break;
5046  
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 1464 of yacc.c  */
5063 < #line 1973 "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 5528 | Line 5072 | yyreduce:
5072   }
5073      break;
5074  
5075 <  case 302:
5076 <
5077 < /* Line 1464 of yacc.c  */
5534 < #line 1981 "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 5540 | Line 5083 | yyreduce:
5083   }
5084      break;
5085  
5086 <  case 309:
5087 <
5088 < /* Line 1464 of yacc.c  */
5546 < #line 1992 "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 5553 | Line 5095 | yyreduce:
5095   }
5096      break;
5097  
5098 <  case 310:
5099 <
5100 < /* Line 1464 of yacc.c  */
5559 < #line 2001 "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 5579 | Line 5120 | yyreduce:
5120   }
5121      break;
5122  
5123 <  case 311:
5124 <
5125 < /* Line 1464 of yacc.c  */
5585 < #line 2023 "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  
5592  case 315:
5593
5594 /* Line 1464 of yacc.c  */
5595 #line 2030 "ircd_parser.y"
5596    {
5597  if (conf_parser_ctx.pass == 2)
5598    yy_match_item->action |= SHARED_KLINE;
5599 }
5600    break;
5601
5132    case 316:
5133 <
5134 < /* Line 1464 of yacc.c  */
5605 < #line 2034 "ircd_parser.y"
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_TKLINE;
5137 >    yy_match_item->action |= SHARED_KLINE;
5138   }
5139      break;
5140  
5141    case 317:
5142 <
5143 < /* Line 1464 of yacc.c  */
5615 < #line 2038 "ircd_parser.y"
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_UNKLINE;
# Line 5620 | Line 5148 | yyreduce:
5148      break;
5149  
5150    case 318:
5151 <
5152 < /* Line 1464 of yacc.c  */
5625 < #line 2042 "ircd_parser.y"
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_XLINE;
5155 >    yy_match_item->action |= SHARED_DLINE;
5156   }
5157      break;
5158  
5159    case 319:
5160 <
5161 < /* Line 1464 of yacc.c  */
5635 < #line 2046 "ircd_parser.y"
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_TXLINE;
5164 >    yy_match_item->action |= SHARED_UNDLINE;
5165   }
5166      break;
5167  
5168    case 320:
5169 <
5170 < /* Line 1464 of yacc.c  */
5645 < #line 2050 "ircd_parser.y"
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_UNXLINE;
5173 >    yy_match_item->action |= SHARED_XLINE;
5174   }
5175      break;
5176  
5177    case 321:
5178 <
5179 < /* Line 1464 of yacc.c  */
5655 < #line 2054 "ircd_parser.y"
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_RESV;
5182 >    yy_match_item->action |= SHARED_UNXLINE;
5183   }
5184      break;
5185  
5186    case 322:
5187 <
5188 < /* Line 1464 of yacc.c  */
5665 < #line 2058 "ircd_parser.y"
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_TRESV;
5191 >    yy_match_item->action |= SHARED_RESV;
5192   }
5193      break;
5194  
5195    case 323:
5196 <
5197 < /* Line 1464 of yacc.c  */
5675 < #line 2062 "ircd_parser.y"
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;
# Line 5680 | Line 5202 | yyreduce:
5202      break;
5203  
5204    case 324:
5205 <
5206 < /* Line 1464 of yacc.c  */
5685 < #line 2066 "ircd_parser.y"
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;
# Line 5690 | Line 5211 | yyreduce:
5211      break;
5212  
5213    case 325:
5214 <
5215 < /* Line 1464 of yacc.c  */
5695 < #line 2070 "ircd_parser.y"
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;
# Line 5700 | Line 5220 | yyreduce:
5220      break;
5221  
5222    case 326:
5223 <
5224 < /* Line 1464 of yacc.c  */
5705 < #line 2079 "ircd_parser.y"
5223 > /* Line 1787 of yacc.c  */
5224 > #line 1931 "conf_parser.y"
5225      {
5226    if (conf_parser_ctx.pass == 2)
5227    {
# Line 5713 | Line 5232 | yyreduce:
5232      break;
5233  
5234    case 327:
5235 <
5236 < /* Line 1464 of yacc.c  */
5718 < #line 2086 "ircd_parser.y"
5235 > /* Line 1787 of yacc.c  */
5236 > #line 1938 "conf_parser.y"
5237      {
5238    if (conf_parser_ctx.pass == 2)
5239    {
# Line 5727 | Line 5245 | yyreduce:
5245      break;
5246  
5247    case 333:
5248 <
5249 < /* Line 1464 of yacc.c  */
5732 < #line 2099 "ircd_parser.y"
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);
# Line 5737 | Line 5254 | yyreduce:
5254      break;
5255  
5256    case 334:
5257 <
5258 < /* Line 1464 of yacc.c  */
5742 < #line 2105 "ircd_parser.y"
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;
# Line 5747 | Line 5263 | yyreduce:
5263      break;
5264  
5265    case 338:
5266 <
5267 < /* Line 1464 of yacc.c  */
5752 < #line 2112 "ircd_parser.y"
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;
# Line 5757 | Line 5272 | yyreduce:
5272      break;
5273  
5274    case 339:
5275 <
5276 < /* Line 1464 of yacc.c  */
5762 < #line 2116 "ircd_parser.y"
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 340:
5284 <
5285 < /* Line 1464 of yacc.c  */
5772 < #line 2120 "ircd_parser.y"
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 341:
5293 <
5294 < /* Line 1464 of yacc.c  */
5782 < #line 2124 "ircd_parser.y"
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 342:
5302 <
5303 < /* Line 1464 of yacc.c  */
5792 < #line 2128 "ircd_parser.y"
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 343:
5311 <
5312 < /* Line 1464 of yacc.c  */
5802 < #line 2132 "ircd_parser.y"
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;
# Line 5807 | Line 5317 | yyreduce:
5317      break;
5318  
5319    case 344:
5320 <
5321 < /* Line 1464 of yacc.c  */
5812 < #line 2136 "ircd_parser.y"
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;
# Line 5817 | Line 5326 | yyreduce:
5326      break;
5327  
5328    case 345:
5329 <
5330 < /* Line 1464 of yacc.c  */
5822 < #line 2140 "ircd_parser.y"
5823 <    {
5824 <  if (conf_parser_ctx.pass == 2)
5825 <    yy_conf->flags |= SHARED_TRESV;
5826 < }
5827 <    break;
5828 <
5829 <  case 346:
5830 <
5831 < /* Line 1464 of yacc.c  */
5832 < #line 2144 "ircd_parser.y"
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 347:
5338 <
5339 < /* Line 1464 of yacc.c  */
5842 < #line 2148 "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 348:
5347 <
5348 < /* Line 1464 of yacc.c  */
5852 < #line 2152 "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 349:
5356 <
5357 < /* Line 1464 of yacc.c  */
5862 < #line 2161 "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;
5871
5872    if (ConfigFileEntry.burst_away)
5873      yy_aconf->flags = CONF_FLAGS_BURST_AWAY;
5366    }
5367    else
5368    {
# Line 5880 | Line 5372 | yyreduce:
5372   }
5373      break;
5374  
5375 <  case 350:
5376 <
5377 < /* Line 1464 of yacc.c  */
5886 < #line 2179 "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))))
5898 < #else /* !HAVE_LIBCRYPTO */
5899 <      if (yy_aconf->host && !IsConfCryptLink(yy_aconf) &&
5900 <          yy_aconf->passwd && yy_aconf->spasswd)
5901 < #endif /* !HAVE_LIBCRYPTO */
5902 <        {
5903 <          if (conf_add_server(yy_conf, class_name) == -1)
5904 <          {
5905 <            delete_conf_item(yy_conf);
5906 <            yy_conf = NULL;
5907 <            yy_aconf = NULL;
5908 <          }
5909 <        }
5910 <        else
5911 <        {
5912 <          /* Even if yy_conf ->name is NULL
5913 <           * should still unhook any hub/leaf confs still pending
5914 <           */
5915 <          unhook_hub_leaf_confs();
5916 <
5917 <          if (yy_conf->name != NULL)
5918 <          {
5919 < #ifndef HAVE_LIBCRYPTO
5920 <            if (IsConfCryptLink(yy_aconf))
5921 <              yyerror("Ignoring connect block -- no OpenSSL support");
5922 < #else
5923 <            if (IsConfCryptLink(yy_aconf) && !yy_aconf->rsa_public_key)
5924 <              yyerror("Ignoring connect block -- missing key");
5925 < #endif
5926 <            if (yy_aconf->host == NULL)
5927 <              yyerror("Ignoring connect block -- missing host");
5928 <            else if (!IsConfCryptLink(yy_aconf) &&
5929 <                    (!yy_aconf->passwd || !yy_aconf->spasswd))
5930 <              yyerror("Ignoring connect block -- missing password");
5931 <          }
5932 <
5933 <
5934 <          /* XXX
5935 <           * This fixes a try_connections() core (caused by invalid class_ptr
5936 <           * pointers) reported by metalrock. That's an ugly fix, but there
5937 <           * is currently no better way. The entire config subsystem needs an
5938 <           * rewrite ASAP. make_conf_item() shouldn't really add things onto
5939 <           * a doubly linked list immediately without any sanity checks!  -Michael
5940 <           */
5941 <          delete_conf_item(yy_conf);
5942 <
5943 <          yy_aconf = NULL;
5944 <          yy_conf = NULL;
5945 <        }
5946 <
5947 <      /*
5948 <       * yy_conf is still pointing at the server that is having
5949 <       * a connect block built for it. This means, y_aconf->name
5950 <       * points to the actual irc name this server will be known as.
5951 <       * Now this new server has a set or even just one hub_mask (or leaf_mask)
5952 <       * given in the link list at yy_hconf. Fill in the HUB confs
5953 <       * from this link list now.
5954 <       */        
5955 <      DLINK_FOREACH_SAFE(ptr, next_ptr, hub_conf_list.head)
5956 <      {
5957 <        struct ConfItem *new_hub_conf;
5958 <        struct MatchItem *match_item;
5959 <
5960 <        yy_hconf = ptr->data;
5961 <
5962 <        /* yy_conf == NULL is a fatal error for this connect block! */
5963 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5964 <        {
5965 <          new_hub_conf = make_conf_item(HUB_TYPE);
5966 <          match_item = (struct MatchItem *)map_to_conf(new_hub_conf);
5967 <          DupString(new_hub_conf->name, yy_conf->name);
5968 <          if (yy_hconf->user != NULL)
5969 <            DupString(match_item->user, yy_hconf->user);
5970 <          else
5971 <            DupString(match_item->user, "*");
5972 <          if (yy_hconf->host != NULL)
5973 <            DupString(match_item->host, yy_hconf->host);
5974 <          else
5975 <            DupString(match_item->host, "*");
5976 <        }
5977 <        dlinkDelete(&yy_hconf->node, &hub_conf_list);
5978 <        free_collect_item(yy_hconf);
5979 <      }
5980 <
5981 <      /* Ditto for the LEAF confs */
5982 <
5983 <      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;
5989 <
5990 <        if ((yy_conf != NULL) && (yy_conf->name != NULL))
5991 <        {
5992 <          new_leaf_conf = make_conf_item(LEAF_TYPE);
5993 <          match_item = (struct MatchItem *)map_to_conf(new_leaf_conf);
5994 <          DupString(new_leaf_conf->name, yy_conf->name);
5995 <          if (yy_lconf->user != NULL)
5996 <            DupString(match_item->user, yy_lconf->user);
5997 <          else
5998 <            DupString(match_item->user, "*");
5999 <          if (yy_lconf->host != NULL)
6000 <            DupString(match_item->host, yy_lconf->host);
6001 <          else
6002 <            DupString(match_item->host, "*");
6003 <        }
6004 <        dlinkDelete(&yy_lconf->node, &leaf_conf_list);
6005 <        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        }
6007      MyFree(class_name);
6008      class_name = NULL;
6009      yy_conf = NULL;
6010      yy_aconf = NULL;
6011  }
6012 }
6013    break;
5395  
5396 <  case 371:
5397 <
5398 < /* Line 1464 of yacc.c  */
5399 < #line 2317 "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 372:
5415 <
5416 < /* Line 1464 of yacc.c  */
6034 < #line 2329 "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    {
6038    if (yy_conf->name != NULL)
6039      yyerror("Multiple connect name entry");
6040
5420      MyFree(yy_conf->name);
5421      DupString(yy_conf->name, yylval.string);
5422    }
5423   }
5424      break;
5425  
5426 <  case 373:
5427 <
5428 < /* Line 1464 of yacc.c  */
6050 < #line 2341 "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 6057 | Line 5435 | yyreduce:
5435   }
5436      break;
5437  
5438 <  case 374:
5439 <
5440 < /* Line 1464 of yacc.c  */
6063 < #line 2350 "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 6072 | 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 375:
5468 <
5469 < /* Line 1464 of yacc.c  */
6093 < #line 2376 "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 6109 | Line 5485 | yyreduce:
5485   }
5486      break;
5487  
5488 <  case 376:
5489 <
5490 < /* Line 1464 of yacc.c  */
6115 < #line 2394 "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 6131 | Line 5506 | yyreduce:
5506   }
5507      break;
5508  
5509 <  case 377:
5510 <
5511 < /* Line 1464 of yacc.c  */
6137 < #line 2412 "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 378:
5519 <
5520 < /* Line 1464 of yacc.c  */
6147 < #line 2418 "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 379:
5528 <
5529 < /* Line 1464 of yacc.c  */
6157 < #line 2422 "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 6163 | Line 5535 | yyreduce:
5535   }
5536      break;
5537  
5538 <  case 380:
5539 <
5540 < /* Line 1464 of yacc.c  */
6169 < #line 2430 "ircd_parser.y"
6170 <    {
6171 <  if (conf_parser_ctx.pass == 2)
6172 <  {
6173 <    MyFree(yy_aconf->fakename);
6174 <    DupString(yy_aconf->fakename, yylval.string);
6175 <  }
6176 < }
6177 <    break;
6178 <
6179 <  case 381:
6180 <
6181 < /* Line 1464 of yacc.c  */
6182 < #line 2439 "ircd_parser.y"
6183 <    {
6184 < }
6185 <    break;
6186 <
6187 <  case 385:
6188 <
6189 < /* Line 1464 of yacc.c  */
6190 < #line 2443 "ircd_parser.y"
6191 <    { not_atom = 1; }
6192 <    break;
6193 <
6194 <  case 387:
6195 <
6196 < /* Line 1464 of yacc.c  */
6197 < #line 2444 "ircd_parser.y"
6198 <    { not_atom = 0; }
6199 <    break;
6200 <
6201 <  case 389:
6202 <
6203 < /* Line 1464 of yacc.c  */
6204 < #line 2447 "ircd_parser.y"
6205 <    {
6206 <  if (conf_parser_ctx.pass == 2)
6207 < #ifndef HAVE_LIBZ
6208 <    yyerror("Ignoring flags = compressed; -- no zlib support");
6209 < #else
6210 < {
6211 <   if (not_atom)ClearConfCompressed(yy_aconf);
6212 <   else SetConfCompressed(yy_aconf);
6213 < }
6214 < #endif
6215 < }
6216 <    break;
6217 <
6218 <  case 390:
6219 <
6220 < /* Line 1464 of yacc.c  */
6221 < #line 2458 "ircd_parser.y"
6222 <    {
6223 <  if (conf_parser_ctx.pass == 2)
6224 <  {
6225 <    if (not_atom)ClearConfCryptLink(yy_aconf);
6226 <    else SetConfCryptLink(yy_aconf);
6227 <  }
6228 < }
6229 <    break;
6230 <
6231 <  case 391:
6232 <
6233 < /* Line 1464 of yacc.c  */
6234 < #line 2465 "ircd_parser.y"
5538 >  case 374:
5539 > /* Line 1787 of yacc.c  */
5540 > #line 2166 "conf_parser.y"
5541      {
6236  if (conf_parser_ctx.pass == 2)
6237  {
6238    if (not_atom)ClearConfAllowAutoConn(yy_aconf);
6239    else SetConfAllowAutoConn(yy_aconf);
6240  }
5542   }
5543      break;
5544  
5545 <  case 392:
5546 <
5547 < /* Line 1464 of yacc.c  */
6247 < #line 2472 "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 <  {
6251 <    if (not_atom)ClearConfAwayBurst(yy_aconf);
6252 <    else SetConfAwayBurst(yy_aconf);
6253 <  }
5550 >    SetConfAllowAutoConn(yy_aconf);
5551   }
5552      break;
5553  
5554 <  case 393:
5555 <
5556 < /* Line 1464 of yacc.c  */
6260 < #line 2479 "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 <  {
6264 <    if (not_atom)ClearConfTopicBurst(yy_aconf);
6265 <    else SetConfTopicBurst(yy_aconf);
6266 <  }
5559 >    SetConfSSL(yy_aconf);
5560   }
5561      break;
5562  
5563 <  case 394:
5564 <
5565 < /* Line 1464 of yacc.c  */
6273 < #line 2489 "ircd_parser.y"
6274 <    {
6275 < #ifdef HAVE_LIBCRYPTO
6276 <  if (conf_parser_ctx.pass == 2)
6277 <  {
6278 <    BIO *file;
6279 <
6280 <    if (yy_aconf->rsa_public_key != NULL)
6281 <    {
6282 <      RSA_free(yy_aconf->rsa_public_key);
6283 <      yy_aconf->rsa_public_key = NULL;
6284 <    }
6285 <
6286 <    if (yy_aconf->rsa_public_key_file != NULL)
6287 <    {
6288 <      MyFree(yy_aconf->rsa_public_key_file);
6289 <      yy_aconf->rsa_public_key_file = NULL;
6290 <    }
6291 <
6292 <    DupString(yy_aconf->rsa_public_key_file, yylval.string);
6293 <
6294 <    if ((file = BIO_new_file(yylval.string, "r")) == NULL)
6295 <    {
6296 <      yyerror("Ignoring rsa_public_key_file -- file doesn't exist");
6297 <      break;
6298 <    }
6299 <
6300 <    yy_aconf->rsa_public_key = (RSA *)PEM_read_bio_RSA_PUBKEY(file, NULL, 0, NULL);
6301 <
6302 <    if (yy_aconf->rsa_public_key == NULL)
6303 <    {
6304 <      yyerror("Ignoring rsa_public_key_file -- Key invalid; check key syntax.");
6305 <      break;
6306 <    }
6307 <      
6308 <    BIO_set_close(file, BIO_CLOSE);
6309 <    BIO_free(file);
6310 <  }
6311 < #endif /* HAVE_LIBCRYPTO */
6312 < }
6313 <    break;
6314 <
6315 <  case 395:
6316 <
6317 < /* Line 1464 of yacc.c  */
6318 < #line 2530 "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 6327 | Line 5574 | yyreduce:
5574   }
5575      break;
5576  
5577 <  case 396:
5578 <
5579 < /* Line 1464 of yacc.c  */
6333 < #line 2541 "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);
6341 <    DupString(yy_tmp->user, "*");
6342 <    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 397:
5592 <
5593 < /* Line 1464 of yacc.c  */
6350 < #line 2554 "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);
6358 <    DupString(yy_tmp->user, "*");
6359 <    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 398:
5606 <
5607 < /* Line 1464 of yacc.c  */
6367 < #line 2567 "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 6374 | Line 5614 | yyreduce:
5614   }
5615      break;
5616  
5617 <  case 399:
5618 <
5619 < /* Line 1464 of yacc.c  */
6380 < #line 2576 "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;
6387 <    int found = 0;
6388 <
6389 <    yy_aconf->cipher_preference = NULL;
6390 <    cipher_name = yylval.string;
6391 <
6392 <    for (ecap = CipherTable; ecap->name; ecap++)
6393 <    {
6394 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
6395 <          (ecap->cap & CAP_ENC_MASK))
6396 <      {
6397 <        yy_aconf->cipher_preference = ecap;
6398 <        found = 1;
6399 <        break;
6400 <      }
6401 <    }
6402 <
6403 <    if (!found)
6404 <      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 400:
5635 <
5636 < /* Line 1464 of yacc.c  */
6416 < #line 2611 "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 6423 | Line 5643 | yyreduce:
5643   }
5644      break;
5645  
5646 <  case 401:
5647 <
5648 < /* Line 1464 of yacc.c  */
6429 < #line 2618 "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 6442 | 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 6459 | 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 6474 | 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 6483 | Line 5704 | yyreduce:
5704   }
5705      break;
5706  
5707 <  case 402:
5708 <
5709 < /* Line 1464 of yacc.c  */
6489 < #line 2674 "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 406:
5715 <
5716 < /* Line 1464 of yacc.c  */
6497 < #line 2679 "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 413:
5724 <
5725 < /* Line 1464 of yacc.c  */
6507 < #line 2688 "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 6524 | Line 5742 | yyreduce:
5742   }
5743      break;
5744  
5745 <  case 414:
5746 <
5747 < /* Line 1464 of yacc.c  */
6530 < #line 2707 "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 415:
5755 <
5756 < /* Line 1464 of yacc.c  */
6540 < #line 2716 "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 416:
5764 <
5765 < /* Line 1464 of yacc.c  */
6550 < #line 2720 "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 6567 | Line 5784 | yyreduce:
5784   }
5785      break;
5786  
5787 <  case 422:
5788 <
5789 < /* Line 1464 of yacc.c  */
6573 < #line 2742 "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 423:
5797 <
5798 < /* Line 1464 of yacc.c  */
6583 < #line 2748 "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 429:
5806 <
5807 < /* Line 1464 of yacc.c  */
6593 < #line 2762 "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 6606 | Line 5820 | yyreduce:
5820   }
5821      break;
5822  
5823 <  case 430:
5824 <
5825 < /* Line 1464 of yacc.c  */
6612 < #line 2780 "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 6619 | Line 5832 | yyreduce:
5832   }
5833      break;
5834  
5835 <  case 431:
5836 <
5837 < /* Line 1464 of yacc.c  */
6625 < #line 2787 "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 6636 | 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 6644 | 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 6663 | Line 5875 | yyreduce:
5875   }
5876      break;
5877  
5878 <  case 432:
5879 <
5880 < /* Line 1464 of yacc.c  */
6669 < #line 2827 "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 436:
5886 <
5887 < /* Line 1464 of yacc.c  */
6677 < #line 2832 "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 443:
5895 <
5896 < /* Line 1464 of yacc.c  */
6687 < #line 2841 "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 444:
5904 <
5905 < /* Line 1464 of yacc.c  */
6697 < #line 2847 "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 504:
5913 <
5914 < /* Line 1464 of yacc.c  */
6707 < #line 2892 "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 505:
5921 <
5922 < /* Line 1464 of yacc.c  */
6716 < #line 2897 "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 506:
5930 <
5931 < /* Line 1464 of yacc.c  */
6725 < #line 2902 "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 507:
5939 <
5940 < /* Line 1464 of yacc.c  */
6734 < #line 2907 "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 508:
5948 <
5949 < /* Line 1464 of yacc.c  */
6743 < #line 2912 "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 509:
5956 <
5957 < /* Line 1464 of yacc.c  */
6752 < #line 2917 "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 510:
5964 <
5965 < /* Line 1464 of yacc.c  */
6761 < #line 2922 "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 511:
5972 <
5973 < /* Line 1464 of yacc.c  */
6770 < #line 2927 "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 512:
5980 <
5981 < /* Line 1464 of yacc.c  */
6779 < #line 2932 "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 513:
5988 <
5989 < /* Line 1464 of yacc.c  */
6788 < #line 2937 "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 514:
5996 <
5997 < /* Line 1464 of yacc.c  */
6797 < #line 2942 "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 515:
6004 <
6005 < /* Line 1464 of yacc.c  */
6806 < #line 2947 "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 516:
6012 <
6013 < /* Line 1464 of yacc.c  */
6815 < #line 2952 "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 517:
6020 <
6021 < /* Line 1464 of yacc.c  */
6824 < #line 2957 "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 518:
6028 <
6029 < /* Line 1464 of yacc.c  */
6833 < #line 2962 "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 519:
6036 <
6037 < /* Line 1464 of yacc.c  */
6842 < #line 2967 "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 520:
6044 <
6045 < /* Line 1464 of yacc.c  */
6851 < #line 2972 "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 521:
6052 <
6053 < /* Line 1464 of yacc.c  */
6860 < #line 2977 "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 522:
6060 <
6061 < /* Line 1464 of yacc.c  */
6869 < #line 2982 "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 523:
6069 <
6070 < /* Line 1464 of yacc.c  */
6879 < #line 2988 "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 524:
6083 <
6084 < /* Line 1464 of yacc.c  */
6894 < #line 2999 "ircd_parser.y"
6895 <    {
6896 <  ConfigFileEntry.kline_with_reason = yylval.number;
6897 < }
6898 <    break;
6899 <
6900 <  case 525:
6901 <
6902 < /* Line 1464 of yacc.c  */
6903 < #line 3004 "ircd_parser.y"
6904 <    {
6905 <  if (conf_parser_ctx.pass == 2)
6906 <  {
6907 <    MyFree(ConfigFileEntry.kline_reason);
6908 <    DupString(ConfigFileEntry.kline_reason, yylval.string);
6909 <  }
6910 < }
6911 <    break;
6912 <
6913 <  case 526:
6914 <
6915 < /* Line 1464 of yacc.c  */
6916 < #line 3013 "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 527:
6091 <
6092 < /* Line 1464 of yacc.c  */
6925 < #line 3018 "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 528:
6099 <
6100 < /* Line 1464 of yacc.c  */
6934 < #line 3023 "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 529:
6107 <
6108 < /* Line 1464 of yacc.c  */
6943 < #line 3028 "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 530:
6115 <
6116 < /* Line 1464 of yacc.c  */
6952 < #line 3033 "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 531:
6123 <
6124 < /* Line 1464 of yacc.c  */
6961 < #line 3038 "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 532:
6131 <
6132 < /* Line 1464 of yacc.c  */
6970 < #line 3041 "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 533:
6139 <
6140 < /* Line 1464 of yacc.c  */
6979 < #line 3046 "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 534:
6147 <
6148 < /* Line 1464 of yacc.c  */
6988 < #line 3049 "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 535:
6155 <
6156 < /* Line 1464 of yacc.c  */
6997 < #line 3054 "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 536:
6163 <
6164 < /* Line 1464 of yacc.c  */
7006 < #line 3059 "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 537:
6171 <
6172 < /* Line 1464 of yacc.c  */
7015 < #line 3064 "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 538:
6179 <
6180 < /* Line 1464 of yacc.c  */
7024 < #line 3069 "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 539:
6187 <
6188 < /* Line 1464 of yacc.c  */
7033 < #line 3074 "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 540:
6195 <
6196 < /* Line 1464 of yacc.c  */
7042 < #line 3079 "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 541:
6203 <
6204 < /* Line 1464 of yacc.c  */
7051 < #line 3084 "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 542:
6211 <
6212 < /* Line 1464 of yacc.c  */
7060 < #line 3089 "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 543:
6219 <
6220 < /* Line 1464 of yacc.c  */
7069 < #line 3094 "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 7078 | Line 6229 | yyreduce:
6229   }
6230      break;
6231  
6232 <  case 544:
6233 <
6234 < /* Line 1464 of yacc.c  */
7084 < #line 3105 "ircd_parser.y"
7085 <    {
7086 <  ConfigFileEntry.idletime = (yyvsp[(3) - (4)].number);
7087 < }
7088 <    break;
7089 <
7090 <  case 545:
7091 <
7092 < /* Line 1464 of yacc.c  */
7093 < #line 3110 "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 546:
6241 <
6242 < /* Line 1464 of yacc.c  */
7102 < #line 3115 "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 547:
6249 <
6250 < /* Line 1464 of yacc.c  */
7111 < #line 3120 "ircd_parser.y"
7112 <    {
7113 <  if (conf_parser_ctx.pass == 2)
7114 <  {
7115 <    MyFree(ConfigFileEntry.servlink_path);
7116 <    DupString(ConfigFileEntry.servlink_path, yylval.string);
7117 <  }
7118 < }
7119 <    break;
7120 <
7121 <  case 548:
7122 <
7123 < /* Line 1464 of yacc.c  */
7124 < #line 3129 "ircd_parser.y"
7125 <    {
7126 < #ifdef HAVE_LIBCRYPTO
7127 <  if (conf_parser_ctx.pass == 2)
7128 <  {
7129 <    struct EncCapability *ecap;
7130 <    const char *cipher_name;
7131 <    int found = 0;
7132 <
7133 <    ConfigFileEntry.default_cipher_preference = NULL;
7134 <    cipher_name = yylval.string;
7135 <
7136 <    for (ecap = CipherTable; ecap->name; ecap++)
6248 >  case 523:
6249 > /* Line 1787 of yacc.c  */
6250 > #line 2738 "conf_parser.y"
6251      {
6252 <      if ((irccmp(ecap->name, cipher_name) == 0) &&
7139 <          (ecap->cap & CAP_ENC_MASK))
7140 <      {
7141 <        ConfigFileEntry.default_cipher_preference = ecap;
7142 <        found = 1;
7143 <        break;
7144 <      }
7145 <    }
7146 <
7147 <    if (!found)
7148 <      yyerror("Invalid cipher");
7149 <  }
7150 < #else
7151 <  if (conf_parser_ctx.pass == 2)
7152 <    yyerror("Ignoring default_cipher_preference -- no OpenSSL support");
7153 < #endif
6252 >  ConfigFileEntry.use_egd = yylval.number;
6253   }
6254      break;
6255  
6256 <  case 549:
6257 <
6258 < /* Line 1464 of yacc.c  */
7160 < #line 3161 "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
7166 <    yyerror("Ignoring compression_level -- no zlib support");
7167 < #else
7168 <    if ((ConfigFileEntry.compression_level < 1) ||
7169 <        (ConfigFileEntry.compression_level > 9))
7170 <    {
7171 <      yyerror("Ignoring invalid compression_level, using default");
7172 <      ConfigFileEntry.compression_level = 0;
7173 <    }
7174 < #endif
6262 >    MyFree(ConfigFileEntry.egdpool_path);
6263 >    DupString(ConfigFileEntry.egdpool_path, yylval.string);
6264    }
6265   }
6266      break;
6267  
6268 <  case 550:
6269 <
6270 < /* Line 1464 of yacc.c  */
7182 < #line 3179 "ircd_parser.y"
7183 <    {
7184 <  ConfigFileEntry.use_egd = yylval.number;
7185 < }
7186 <    break;
7187 <
7188 <  case 551:
7189 <
7190 < /* Line 1464 of yacc.c  */
7191 < #line 3184 "ircd_parser.y"
6268 >  case 525:
6269 > /* Line 1787 of yacc.c  */
6270 > #line 2752 "conf_parser.y"
6271      {
6272 <  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 552:
6281 <
6282 < /* Line 1464 of yacc.c  */
7204 < #line 3193 "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 553:
6289 <
6290 < /* Line 1464 of yacc.c  */
7213 < #line 3198 "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 554:
6297 <
6298 < /* Line 1464 of yacc.c  */
7222 < #line 3203 "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 555:
6305 <
6306 < /* Line 1464 of yacc.c  */
7231 < #line 3208 "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 559:
6313 <
6314 < /* Line 1464 of yacc.c  */
7240 < #line 3214 "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 560:
6321 <
6322 < /* Line 1464 of yacc.c  */
7249 < #line 3217 "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 561:
6329 <
6330 < /* Line 1464 of yacc.c  */
7258 < #line 3220 "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 562:
6337 <
6338 < /* Line 1464 of yacc.c  */
7267 < #line 3223 "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 563:
6345 <
6346 < /* Line 1464 of yacc.c  */
7276 < #line 3226 "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 564:
6353 <
6354 < /* Line 1464 of yacc.c  */
7285 < #line 3229 "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 565:
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 1464 of yacc.c  */
6369 < #line 3232 "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 566:
6377 <
6378 < /* Line 1464 of yacc.c  */
7303 < #line 3235 "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 567:
6385 <
6386 < /* Line 1464 of yacc.c  */
7312 < #line 3238 "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 568:
6393 <
6394 < /* Line 1464 of yacc.c  */
7321 < #line 3241 "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 569:
6401 <
6402 < /* Line 1464 of yacc.c  */
7330 < #line 3244 "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 570:
6409 <
6410 < /* Line 1464 of yacc.c  */
7339 < #line 3247 "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 571:
6417 <
6418 < /* Line 1464 of yacc.c  */
7348 < #line 3250 "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 572:
6425 <
6426 < /* Line 1464 of yacc.c  */
7357 < #line 3253 "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 573:
6433 <
6434 < /* Line 1464 of yacc.c  */
7366 < #line 3256 "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 574:
6441 <
6442 < /* Line 1464 of yacc.c  */
7375 < #line 3259 "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 575:
6449 <
6450 < /* Line 1464 of yacc.c  */
7384 < #line 3262 "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 576:
6457 <
6458 < /* Line 1464 of yacc.c  */
7393 < #line 3265 "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 577:
6465 <
6466 < /* Line 1464 of yacc.c  */
7402 < #line 3268 "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 578:
6473 <
6474 < /* Line 1464 of yacc.c  */
7411 < #line 3273 "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 582:
6481 <
6482 < /* Line 1464 of yacc.c  */
7420 < #line 3279 "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 583:
6489 <
6490 < /* Line 1464 of yacc.c  */
7429 < #line 3282 "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 584:
6497 <
6498 < /* Line 1464 of yacc.c  */
7438 < #line 3285 "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 585:
6505 <
6506 < /* Line 1464 of yacc.c  */
7447 < #line 3288 "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 586:
6513 <
6514 < /* Line 1464 of yacc.c  */
7456 < #line 3291 "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 587:
6521 <
6522 < /* Line 1464 of yacc.c  */
7465 < #line 3294 "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 588:
6529 <
6530 < /* Line 1464 of yacc.c  */
7474 < #line 3297 "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 589:
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 1464 of yacc.c  */
6545 < #line 3300 "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 590:
6553 <
6554 < /* Line 1464 of yacc.c  */
7492 < #line 3303 "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 591:
6561 <
6562 < /* Line 1464 of yacc.c  */
7501 < #line 3306 "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 592:
6569 <
6570 < /* Line 1464 of yacc.c  */
7510 < #line 3309 "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 593:
6577 <
6578 < /* Line 1464 of yacc.c  */
7519 < #line 3312 "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 594:
6585 <
6586 < /* Line 1464 of yacc.c  */
7528 < #line 3315 "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 595:
6593 <
6594 < /* Line 1464 of yacc.c  */
7537 < #line 3318 "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 596:
6601 <
6602 < /* Line 1464 of yacc.c  */
7546 < #line 3321 "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 597:
6609 <
6610 < /* Line 1464 of yacc.c  */
7555 < #line 3324 "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 598:
6617 <
6618 < /* Line 1464 of yacc.c  */
7564 < #line 3327 "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 599:
6625 <
6626 < /* Line 1464 of yacc.c  */
7573 < #line 3330 "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 600:
6633 <
6634 < /* Line 1464 of yacc.c  */
7582 < #line 3333 "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 601:
6641 <
6642 < /* Line 1464 of yacc.c  */
7591 < #line 3338 "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 602:
6649 <
6650 < /* Line 1464 of yacc.c  */
7600 < #line 3343 "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 603:
6657 <
6658 < /* Line 1464 of yacc.c  */
7609 < #line 3348 "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 604:
6665 <
6666 < /* Line 1464 of yacc.c  */
7618 < #line 3353 "ircd_parser.y"
7619 <    {
7620 <  ConfigFileEntry.client_flood = (yyvsp[(3) - (4)].number);
7621 < }
7622 <    break;
7623 <
7624 <  case 605:
7625 <
7626 < /* Line 1464 of yacc.c  */
7627 < #line 3362 "ircd_parser.y"
7628 <    {
7629 <  if (conf_parser_ctx.pass == 2)
7630 <  {
7631 <    yy_conf = make_conf_item(GDENY_TYPE);
7632 <    yy_aconf = map_to_conf(yy_conf);
7633 <  }
7634 < }
7635 <    break;
7636 <
7637 <  case 606:
7638 <
7639 < /* Line 1464 of yacc.c  */
7640 < #line 3369 "ircd_parser.y"
7641 <    {
7642 <  if (conf_parser_ctx.pass == 2)
7643 <  {
7644 <    /*
7645 <     * since we re-allocate yy_conf/yy_aconf after the end of action=, at the
7646 <     * end we will have one extra, so we should free it.
7647 <     */
7648 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7649 <    {
7650 <      delete_conf_item(yy_conf);
7651 <      yy_conf = NULL;
7652 <      yy_aconf = NULL;
7653 <    }
7654 <  }
7655 < }
7656 <    break;
7657 <
7658 <  case 616:
7659 <
7660 < /* Line 1464 of yacc.c  */
7661 < #line 3395 "ircd_parser.y"
7662 <    {
7663 <  if (conf_parser_ctx.pass == 2)
7664 <    ConfigFileEntry.glines = yylval.number;
7665 < }
7666 <    break;
7667 <
7668 <  case 617:
7669 <
7670 < /* Line 1464 of yacc.c  */
7671 < #line 3401 "ircd_parser.y"
7672 <    {
7673 <  if (conf_parser_ctx.pass == 2)
7674 <    ConfigFileEntry.gline_time = (yyvsp[(3) - (4)].number);
7675 < }
7676 <    break;
7677 <
7678 <  case 618:
7679 <
7680 < /* Line 1464 of yacc.c  */
7681 < #line 3407 "ircd_parser.y"
7682 <    {
7683 <  if (conf_parser_ctx.pass == 2)
7684 <    ConfigFileEntry.gline_logging = 0;
7685 < }
7686 <    break;
7687 <
7688 <  case 622:
7689 <
7690 < /* Line 1464 of yacc.c  */
7691 < #line 3413 "ircd_parser.y"
7692 <    {
7693 <  if (conf_parser_ctx.pass == 2)
7694 <    ConfigFileEntry.gline_logging |= GDENY_REJECT;
7695 < }
7696 <    break;
7697 <
7698 <  case 623:
7699 <
7700 < /* Line 1464 of yacc.c  */
7701 < #line 3417 "ircd_parser.y"
7702 <    {
7703 <  if (conf_parser_ctx.pass == 2)
7704 <    ConfigFileEntry.gline_logging |= GDENY_BLOCK;
7705 < }
7706 <    break;
7707 <
7708 <  case 624:
7709 <
7710 < /* Line 1464 of yacc.c  */
7711 < #line 3423 "ircd_parser.y"
7712 <    {
7713 <  if (conf_parser_ctx.pass == 2)
7714 <  {
7715 <    struct split_nuh_item nuh;
7716 <
7717 <    nuh.nuhmask  = yylval.string;
7718 <    nuh.nickptr  = NULL;
7719 <    nuh.userptr  = userbuf;
7720 <    nuh.hostptr  = hostbuf;
7721 <
7722 <    nuh.nicksize = 0;
7723 <    nuh.usersize = sizeof(userbuf);
7724 <    nuh.hostsize = sizeof(hostbuf);
7725 <
7726 <    split_nuh(&nuh);
7727 <
7728 <    if (yy_aconf->user == NULL)
7729 <    {
7730 <      DupString(yy_aconf->user, userbuf);
7731 <      DupString(yy_aconf->host, hostbuf);
7732 <    }
7733 <    else
7734 <    {
7735 <      struct CollectItem *yy_tmp = MyMalloc(sizeof(struct CollectItem));
7736 <
7737 <      DupString(yy_tmp->user, userbuf);
7738 <      DupString(yy_tmp->host, hostbuf);
7739 <
7740 <      dlinkAdd(yy_tmp, &yy_tmp->node, &col_conf_list);
7741 <    }
7742 <  }
7743 < }
7744 <    break;
7745 <
7746 <  case 625:
7747 <
7748 < /* Line 1464 of yacc.c  */
7749 < #line 3457 "ircd_parser.y"
7750 <    {
7751 <  if (conf_parser_ctx.pass == 2)  
7752 <  {
7753 <    MyFree(yy_conf->name);
7754 <    DupString(yy_conf->name, yylval.string);
7755 <  }
7756 < }
7757 <    break;
7758 <
7759 <  case 626:
7760 <
7761 < /* Line 1464 of yacc.c  */
7762 < #line 3466 "ircd_parser.y"
7763 <    {
7764 <  if (conf_parser_ctx.pass == 2)
7765 <    yy_aconf->flags = 0;
7766 < }
7767 <    break;
7768 <
7769 <  case 627:
7770 <
7771 < /* Line 1464 of yacc.c  */
7772 < #line 3470 "ircd_parser.y"
7773 <    {
7774 <  if (conf_parser_ctx.pass == 2)
7775 <  {
7776 <    struct CollectItem *yy_tmp = NULL;
7777 <    dlink_node *ptr, *next_ptr;
7778 <
7779 <    DLINK_FOREACH_SAFE(ptr, next_ptr, col_conf_list.head)
7780 <    {
7781 <      struct AccessItem *new_aconf;
7782 <      struct ConfItem *new_conf;
7783 <
7784 <      yy_tmp = ptr->data;
7785 <      new_conf = make_conf_item(GDENY_TYPE);
7786 <      new_aconf = map_to_conf(new_conf);
7787 <
7788 <      new_aconf->flags = yy_aconf->flags;
7789 <
7790 <      if (yy_conf->name != NULL)
7791 <        DupString(new_conf->name, yy_conf->name);
7792 <      else
7793 <        DupString(new_conf->name, "*");
7794 <      if (yy_aconf->user != NULL)
7795 <         DupString(new_aconf->user, yy_tmp->user);
7796 <      else  
7797 <        DupString(new_aconf->user, "*");
7798 <      if (yy_aconf->host != NULL)
7799 <        DupString(new_aconf->host, yy_tmp->host);
7800 <      else
7801 <        DupString(new_aconf->host, "*");
7802 <
7803 <      dlinkDelete(&yy_tmp->node, &col_conf_list);
7804 <    }
7805 <
7806 <    /*
7807 <     * In case someone has fed us with more than one action= after user/name
7808 <     * which would leak memory  -Michael
7809 <     */
7810 <    if (yy_conf->name == NULL || yy_aconf->user == NULL)
7811 <      delete_conf_item(yy_conf);
7812 <
7813 <    yy_conf = make_conf_item(GDENY_TYPE);
7814 <    yy_aconf = map_to_conf(yy_conf);
7815 <  }
7816 < }
7817 <    break;
7818 <
7819 <  case 630:
7820 <
7821 < /* Line 1464 of yacc.c  */
7822 < #line 3517 "ircd_parser.y"
7823 <    {
7824 <  if (conf_parser_ctx.pass == 2)
7825 <    yy_aconf->flags |= GDENY_REJECT;
7826 < }
7827 <    break;
7828 <
7829 <  case 631:
7830 <
7831 < /* Line 1464 of yacc.c  */
7832 < #line 3521 "ircd_parser.y"
7833 <    {
7834 <  if (conf_parser_ctx.pass == 2)
7835 <    yy_aconf->flags |= GDENY_BLOCK;
7836 < }
7837 <    break;
7838 <
7839 <  case 654:
7840 <
7841 < /* Line 1464 of yacc.c  */
7842 < #line 3545 "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 655:
6673 <
6674 < /* Line 1464 of yacc.c  */
7851 < #line 3550 "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 656:
6681 <
6682 < /* Line 1464 of yacc.c  */
7860 < #line 3555 "ircd_parser.y"
7861 <    {
7862 <  ConfigChannel.disable_local_channels = yylval.number;
7863 < }
7864 <    break;
7865 <
7866 <  case 657:
7867 <
7868 < /* Line 1464 of yacc.c  */
7869 < #line 3560 "ircd_parser.y"
7870 <    {
7871 <  ConfigChannel.use_except = yylval.number;
7872 < }
7873 <    break;
7874 <
7875 <  case 658:
7876 <
7877 < /* Line 1464 of yacc.c  */
7878 < #line 3565 "ircd_parser.y"
7879 <    {
7880 <  ConfigChannel.use_invex = yylval.number;
7881 < }
7882 <    break;
7883 <
7884 <  case 659:
7885 <
7886 < /* Line 1464 of yacc.c  */
7887 < #line 3570 "ircd_parser.y"
7888 <    {
7889 <  ConfigChannel.use_knock = yylval.number;
7890 < }
7891 <    break;
7892 <
7893 <  case 660:
7894 <
7895 < /* Line 1464 of yacc.c  */
7896 < #line 3575 "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 661:
6689 <
6690 < /* Line 1464 of yacc.c  */
7905 < #line 3580 "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 662:
6697 <
6698 < /* Line 1464 of yacc.c  */
7914 < #line 3585 "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 663:
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 1464 of yacc.c  */
6713 < #line 3590 "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 664:
6721 <
6722 < /* Line 1464 of yacc.c  */
7932 < #line 3595 "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 665:
6729 <
6730 < /* Line 1464 of yacc.c  */
7941 < #line 3600 "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 666:
6737 <
6738 < /* Line 1464 of yacc.c  */
7950 < #line 3605 "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 667:
6745 <
6746 < /* Line 1464 of yacc.c  */
7959 < #line 3610 "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 668:
6753 <
6754 < /* Line 1464 of yacc.c  */
7968 < #line 3615 "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 669:
6761 <
6762 < /* Line 1464 of yacc.c  */
7977 < #line 3620 "ircd_parser.y"
7978 <    {
7979 <  ConfigChannel.burst_topicwho = yylval.number;
7980 < }
7981 <    break;
7982 <
7983 <  case 670:
7984 <
7985 < /* Line 1464 of yacc.c  */
7986 < #line 3625 "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 671:
6769 <
6770 < /* Line 1464 of yacc.c  */
7995 < #line 3630 "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 683:
6777 <
6778 < /* Line 1464 of yacc.c  */
8004 < #line 3649 "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 684:
6786 <
6787 < /* Line 1464 of yacc.c  */
8014 < #line 3655 "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 685:
6795 <
6796 < /* Line 1464 of yacc.c  */
8024 < #line 3661 "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 8031 | Line 6803 | yyreduce:
6803   }
6804      break;
6805  
6806 <  case 686:
6807 <
6808 < /* Line 1464 of yacc.c  */
8037 < #line 3670 "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 8049 | Line 6820 | yyreduce:
6820   }
6821      break;
6822  
6823 <  case 687:
6824 <
6825 < /* Line 1464 of yacc.c  */
8055 < #line 3684 "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 688:
6833 <
6834 < /* Line 1464 of yacc.c  */
8065 < #line 3690 "ircd_parser.y"
8066 <    {
8067 <  if (conf_parser_ctx.pass == 2)
8068 <    ConfigServerHide.disable_hidden = yylval.number;
8069 < }
8070 <    break;
8071 <
8072 <  case 689:
8073 <
8074 < /* Line 1464 of yacc.c  */
8075 < #line 3696 "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 8080 | Line 6839 | yyreduce:
6839      break;
6840  
6841  
6842 <
6843 < /* Line 1464 of yacc.c  */
8085 < #line 8086 "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 8112 | 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 8119 | 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 <          {
8148 <            yyerror (YY_("syntax error"));
8149 <            if (yysize != 0)
8150 <              goto yyexhaustedlab;
8151 <          }
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 8208 | 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 8255 | 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 8267 | 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 8292 | Line 7069 | yyreturn:
7069   }
7070  
7071  
8295

Diff Legend

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